Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4004329B2 - XSLT load assignment apparatus, XSLT load assignment method, and program for causing computer to execute the method - Google Patents
[go: Go Back, main page]

JP4004329B2 - XSLT load assignment apparatus, XSLT load assignment method, and program for causing computer to execute the method - Google Patents

XSLT load assignment apparatus, XSLT load assignment method, and program for causing computer to execute the method Download PDF

Info

Publication number
JP4004329B2
JP4004329B2 JP2002139134A JP2002139134A JP4004329B2 JP 4004329 B2 JP4004329 B2 JP 4004329B2 JP 2002139134 A JP2002139134 A JP 2002139134A JP 2002139134 A JP2002139134 A JP 2002139134A JP 4004329 B2 JP4004329 B2 JP 4004329B2
Authority
JP
Japan
Prior art keywords
xslt
load
conversion
xsl
processing time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002139134A
Other languages
Japanese (ja)
Other versions
JP2003330903A (en
Inventor
隆夫 大久保
泰之 藤川
哲 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002139134A priority Critical patent/JP4004329B2/en
Publication of JP2003330903A publication Critical patent/JP2003330903A/en
Application granted granted Critical
Publication of JP4004329B2 publication Critical patent/JP4004329B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Document Processing Apparatus (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当装置、XSLT負荷割当方法およびその方法をコンピュータに実行させるプログラムに関し、特に、各XSLT装置の負荷を平坦化し、効率的なXSLT分散処理を実現するXSLT負荷割当装置、XSLT負荷割当方法およびその方法をコンピュータに実行させるプログラムに関する。
【0002】
【従来の技術】
近年、インターネットを使った電子文書の交換が普及するとともに、交換する電子文書にXML(eXtensible Markup Language)を利用する動きが広がっている。XMLは、電子文書を作成するための言語を定義するメタ言語であり、電子文書を作成する分野毎に適した言語を定義することを可能としている。たとえば、Webコンテンツの作成に用いられるHTML(Hyper Text Markup Language)の後継言語であるXHTML(eXtensible HTML)はXMLを用いて定義されている。
【0003】
また、XMLを用いて定義された言語を使って作成された文書(以下「XML文書」と言う)には、XSLT(eXtensible Stylesheet Language Transformations)によって別の形式の文書に容易に変換することができるという利点がある。
【0004】
たとえば、あるXML文書を特定のキーに基づいてソーティングして別のXML文書を作成したり、あるいは、あるXML文書から別のフォーマットのXML文書を作成したりすることが容易におこなえる。このXSLTは、XSL(eXtensible Stylesheet Language)で記述したXSLスタイルシートに基づいておこなわれ、XSLスタイルシートを替えることによって、一つのXML文書を様々な文書に変換することができる。
【0005】
【発明が解決しようとする課題】
しかしながら、XSLTは、XML文書を大量に処理する場合について考慮されていないため、処理速度が遅いという問題がある。この問題の解決策として、複数のXSLT装置を用いた分散処理が考えられるが、単に負荷を分散するだけでは、個々の負荷の処理時間にバラツキがあるため、各XSLT装置の負荷の平坦化が不可能であり、効率的な負荷分散をおこなうことができない。
【0006】
また、XSLT処理は、処理に用いるXSLスタイルシートに対応するための起動準備に時間がかかるため、起動準備に費やされる時間を少なくすることも分散処理の効率向上にとって重要となる。
【0007】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、各XSLT装置の負荷を平坦化し、効率的なXSLT分散処理を実現するXSLT負荷割当装置、XSLT負荷割当方法およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、本発明は、XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当装置であって、前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出手段と、前記予測処理時間算出手段により算出された予測処理時間に基づいてXSLT装置を各XSLT装置の負荷を平坦化するように割り当てるXSLT装置割当手段と、を備えたことを特徴とする。
【0009】
また、本発明は、XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当方法であって、前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出工程と、前記予測処理時間算出工程により算出された予測処理時間に基づいてXSLT装置を各XSLT装置の負荷を平坦化するように割り当てるXSLT装置割当工程と、を含んだことを特徴とする。
【0010】
また、本発明は、XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当方法をコンピュータに実行させるプログラムであって、前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出工程と、前記予測処理時間算出工程により算出された予測処理時間に基づいてXSLT装置を各XSLT装置の負荷を平坦化するように割り当てるXSLT装置割当工程と、をコンピュータに実行させることを特徴とする。
【0011】
かかる発明によれば、XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて変換の予測処理時間を算出し、算出した予測処理時間に基づいてXSLT装置を各XSLT装置の負荷を平坦化するように割り当てることとしたので、各XSLT装置の負荷を平坦化し、効率的なXSLT分散処理を実現することができる。
【0012】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るXSLT負荷割当装置、XSLT負荷割当方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【0013】
(実施の形態1)
まず、本実施の形態1に係るXSLT装置について説明する。図1は、本実施の形態1に係るXSLT装置を説明するための説明図である。同図に示すように、このXSLT装置10は、XSLスタイルシート20に基づいてあるXML文書Aを別のXML文書Bに変換する装置である。
【0014】
XSLスタイルシート20は、XML文書を変換するためのデータであり、XSLを用いて記述される。このXSLスタイルシート20を替えることによって、同じXML文書から異なるXML文書を得ることができる。
【0015】
また、XSLT装置10は、XML文書を別のXML文書へ変換するだけでなく、XML文書をHTML文書へ変換することや、XML文書をテキストへ変換することもできる。
【0016】
次に、本実施の形態1に係るXSLT分散処理システムのシステム構成について説明する。図2は、本実施の形態1に係るXSLT分散処理システムのシステム構成を示すブロック図である。同図に示すように、このXSLT分散処理システムは、XSLT負荷割当装置210と複数のXSLT装置10から構成され、XSLT負荷割当装置210は各XSLT装置10と通信することができる。
【0017】
まず、XSLT負荷割当装置210について説明する。XSLT負荷割当装置210は、XSLT分散処理システムが受け付けたXSLT処理を各XSLT装置10に割り当てる装置である。また、このXSLT負荷割当装置210は、XSLT装置10としても機能することができ、XSLT処理を自分自身に割り当てることができる。
【0018】
このXSLT負荷割当装置210は、XSL先読み部211と、XML先読み部212と、処理時間予測部213と、負荷分散管理部214と、通信部215と、XSLTプロセッサ制御部216と、複数のXSLTプロセッサ217と、XSLデータベース218と、分散ログ219とを有する。
【0019】
XSL先読み部211は、XSLスタイルシート20を読み込んで変換対象となるタグを抽出し、抽出したタグとXSLスタイルシート20から読み込んだデータをXSLデータとしてXSLデータベース218に登録する処理部である。また、このXSL先読み部211は、通信部215を介して新たに登録したXSLデータを全てのXSLT装置10に送信する。
【0020】
XML先読み部212は、変換対象であるXML文書を先読みし、このXML文書からXSLデータベース218に登録された変換対象タグを探し、変換対象タグの出現回数を数える処理部である。
【0021】
処理時間予測部213は、XML先読み部212が算出した変換対象タグの出現回数と各変換対象タグの処理時間に基づいて、先読みしたXML文書の変換処理時間を予測する処理部である。
【0022】
負荷分散管理部214は、処理時間予測部213が予測したXML文書の変換処理時間と分散ログ219に格納された各XSLT装置10の負荷状況に基づいて、先読みしたXML文書を処理するXSLT装置10を決定する処理部である。処理装置の決定に際しては、割り当てられた負荷が最少なXSLT装置10を処理装置として選択する、あるいはXSLT装置10の負荷が一定の上限値までは一つのXSLT装置10を選択するなど、様々な決定戦略を用いることができる。
【0023】
この負荷分散管理部214が先読みしたXML文書の予測変換処理時間と各XSLT装置10の負荷状況に基づいて、XSLT処理を実行するXSLT装置10を決定することにより、各XSLT装置10の負荷を平坦化し、効率的なXSLT分散処理システムを実現することができる。
【0024】
また、この負荷分散管理部214は、他のXSLT装置10にXSLT処理を依頼する場合には、通信部215を介してXSLデータ名およびXML文書を送信する。一方、XSLT負荷割当装置210自身がXSLT処理を実行する場合には、XSLTプロセッサ制御部216にXSLデータ名およびXML文書を渡して処理を依頼する。
【0025】
通信部215は、負荷分散管理部214からの依頼を受けて、他のXSLT装置10に対してXSLデータ名とXML文書を送信する処理部である。また、この通信部215は、XSLT処理を依頼したXSLT装置10からXSLT処理結果を受け取り、負荷分散管理部214に返す。その他、この通信部215は、XSLデータベース218に新たに登録されたXSLデータを他のXSLT装置10に送信することもおこなう。
【0026】
XSLTプロセッサ制御部216は、負荷分散管理部214からXSLデータ名およびXML文書を受け取り、XSLデータ名で指定されたXSLデータを用いるXSLTプロセッサ217が起動されている場合には、そのXSLTプロセッサ217にXSLT処理を依頼する。一方、XSLデータ名で指定されたXSLデータを用いるXSLTプロセッサ217が起動されていない場合には、XSLデータベース218から変換対象タグなどのXSLデータを取得し、このXSLデータを用いるXSLTプロセッサ217を起動し、起動したXSLTプロセッサ217にXSLT処理を依頼する。
【0027】
XSLTプロセッサ217は、XSLデータを用いてXSLT処理を実行する処理部であり、異なるXSLデータに対しては、異なるXSLTプロセッサ217が対応する。
【0028】
XSLデータベース218は、XSL先読み部211によってXSLスタイルシート20から抽出された変換対象タグおよびXSLスタイルシート20から読み込まれたデータをXSLデータとして格納するデータベースであり、XSLTプロセッサ制御部216によって使用される。
【0029】
分散ログ219は、各XSLT処理について、XSLT処理を依頼したXSLT装置10、使用したXSLデータ名、XSLT処理時間予測値、XSLT処理の実行状態などを記録した記録部であり、負荷分散管理部214によって管理される。
【0030】
次に、XSLT装置10について説明する。XSLT装置10は、XSLT負荷割当装置210によって割り当てられたXSLT処理を実行する装置であり、通信部221と、XSLTプロセッサ制御部222と、XSLTプロセッサ223と、XSLデータベース224とを有する。
【0031】
通信部221は、XSLT負荷割当装置210から送られたXSLデータ名、XML文書を受け取り、XSLTプロセッサ制御部222にXSLT処理を依頼する処理部である。また、この通信部221は、XSLT処理の結果をXSLT負荷割当装置210に送信する。その他、この通信部221は、XSLT負荷割当装置210から送られる新規XSLデータをXSLデータベース224に登録することもおこなう。
【0032】
XSLTプロセッサ制御部222は、通信部221からXSLデータ名およびXML文書を受け取り、XSLデータ名で指定されたXSLデータを用いるXSLTプロセッサ223が起動されている場合には、そのXSLTプロセッサ223にXSLT処理を依頼する。一方、XSLデータ名で指定されたXSLデータを用いるXSLTプロセッサ223が起動されていない場合には、XSLデータベース224から変換対象タグなどのXSLデータを取得し、このXSLデータを用いるXSLTプロセッサ223を起動し、起動したXSLTプロセッサ223にXSLT処理を依頼する。
【0033】
XSLTプロセッサ223は、XSLデータを用いてXSLT処理を実行する処理部であり、異なるXSLデータに対しては、異なるXSLTプロセッサ223が対応する。
【0034】
XSLデータベース224は、XSLT負荷割当装置210から送られた変換対象タグなどのXSLデータを格納するデータベースであり、XSLTプロセッサ制御部222によって使用される。
【0035】
次に、XSLスタイルシート20とXML文書の一例について説明する。図3は、XSLスタイルシート20とXML文書の一例を示す図である。同図(a)は、XSLスタイルシート20の一例を示し、同図(b)は、XML文書の一例を示している。
【0036】
同図(a)の<xsl:template match="a">は、タグaが変換対象であることを示し、同様に<xsl:template match="b">および<xsl:template match="c">は、タグbおよびタグcが変換対象であることを示している。
【0037】
また、同図(b)のXML文書には、タグaは2回、タグbは3回、タグcは1回出現するので、タグa、タグb、タグcの各変換処理時間を全て5m秒とすると、処理時間予測値は5m秒×6=30m秒となる。
【0038】
次に、図2に示したXSLT負荷割当装置210の処理手順について説明する。図4は、図2に示したXSLT負荷割当装置210の処理手順を示すフローチャートである。同図に示すように、このXSLT負荷割当装置210は、まずXSLデータ名を取得し(ステップS401)、取得したXSLデータ名が登録済みか否かを調べる(ステップS402)。
【0039】
もし、XSLデータ名が登録済みである場合には、XSLデータベース218からXSLデータ名に対応する変換対象タグを取得する(ステップS403)。一方、XSLデータ名が登録済みでない場合には、XSL先読み部211がXSL登録処理を実行し(ステップS404)、変換対象タグを取得する。なお、このXSL登録処理の詳細については後述する。
【0040】
そして、XML先読み部212がXML文書を読み込み、読み込んだXML文書に含まれる変換対象タグの出現回数を勘定し(ステップS405)、処理時間予測部213が変換対象タグの出現回数と各変換対象タグの処理時間に基づいてXML文書の変換処理時間を予測する(ステップS406)。
【0041】
そして、負荷分散管理部214がこの予測処理時間と分散ログ219に記録された各XSLT装置10の負荷状況に基づいて先読みしたXML文書を変換するXSLT装置10を決定するとともに(ステップS407)、決定結果を分散ログ219に反映する。
【0042】
そして、決定したXSLT装置10が自分である場合には(ステップS408の肯定)、XSLTプロセッサ制御部216にXSLT処理を依頼し、依頼を受けたXSLTプロセッサ制御部216が対応するXSLTプロセッサ217を使ってXSLT処理を実行する(ステップS409)。一方、決定したXSLT装置200が他のXSLT装置10である場合には(ステップS408の否定)、通信部215を介してそのXSLT処理装置220にXSLT処理を依頼し、また、そのXSLT装置10からXSLT処理結果を通信部215を介して受け取る(ステップS410の肯定)。
【0043】
最後に、XSLTプロセッサ制御部216または通信部215から受け取ったXSLT処理結果に基づいて分散ログ219を更新し(ステップS411)、処理を終了する。
【0044】
次に、図4に示したXSL登録処理について説明する。図5は、図4に示したXSL登録処理の処理手順を示すフロ−チャートである。同図に示すように、このXSL登録処理は、まずXSLスタイルシート20を読み込んで変換対象タグを抽出する(ステップS501)。
【0045】
そして、XSLスタイルシート20から抽出した変換対象タグとXSLスタイルシート20から読み込んだデータをXSLデータとしてXSLデータ名とともにXSLデータベース218に登録し(ステップS502)、通信部215を介して他のXSLT装置10に登録したデータを送信し、他のXSLT装置10のXSLデータベース224に登録したデータを複製する(ステップS503)。このように、全てのXSLT装置10に同じXSLデータを格納することによって、全てのXSLT装置10があらゆるXSLT処理を実行することを可能としている。
【0046】
上述してきたように、本実施の形態1では、XSL先読み部211がXSLスタイルシート20を読み込んで変換対象タグを抽出し、XML先読み部212がXSLT処理の対象であるXML文書を先読みして変換対象タグの出現回数を数え、処理時間予測部213が変換対象タグの出現回数と各変換対象タグの処理時間に基づいて先読みしたXML文書の変換処理時間を予測し、負荷分散管理部214が予測変換処理時間および分散ログ219に基づいて先読みしたXML文書の変換をおこなうXSLT装置10を決定することとしたので、各XSLT装置10の負荷を平坦化し、もって効率的なXSLT分散処理システムを実現することができる。
【0047】
(実施の形態2)
ところで、上記実施の形態1では、XSLT処理の予測処理時間と各XSLT装置10の負荷状況に基づいてXSLT処理を実行するXSLT装置10を決定することとした。しかしながら、XSLT処理は、起動準備に多くの時間を要することから、できるだけ起動準備済みのXSLT装置10を使うことによって、XSLT分散処理システムの効率をさらに向上することができる。
【0048】
そこで、本実施の形態2では、各XSLT装置10の起動準備状況に基づいてXSLT装置10を決定するXSLT負荷割当装置210について説明する。なお、本実施の形態2では、主に、XSLT負荷割当装置210がXSLT装置10を決定する処理が上記実施の形態1と異なるので、このXSLT装置決定処理を中心に説明する。
【0049】
図6は、本実施の形態2に係るXSLT負荷割当装置210のXSLT装置決定処理の処理手順を示すフローチャートである。同図に示すように、このXSLT負荷割当装置210は、使用するXSLデータに対して起動準備済みのXSLT装置10があるか否かを調べる(ステップS601)。
【0050】
もし、使用するXSLデータに対して起動準備済みのXSLT装置10がある場合には、それらのXSLT装置10の負荷が所定の上限値以下であるか否かを調べる(ステップS602)。
【0051】
もし、負荷が所定の上限値以下であるXSLT装置10があれば、それらのXSLT装置10のうちで負荷が最少なXSLT装置10を選択する(ステップS603)。一方、負荷が所定の上限値以下のXSLT装置10がない場合および使用するXSLデータに対して起動準備済みのXSLT装置10がない場合には、予測処理時間と各XSLT装置10の負荷状況に基づいてXSLT装置10を選択する(ステップS604)。
【0052】
また、XSLTプロセッサ制御部216および222は、XSLTプロセッサ217および223の処理が終了した場合に、一定時間XSLTプロセッサ217および223の削除はおこなわない。このように、処理を終了したXSLTプロセッサ217および223を一定時間起動準備済みの状態に保つことによって、あるXSLデータに対して起動準備済みのXSLT装置10にそのXSLデータを使用するXSLT処理が割り当てられる可能性を高くすることができる。
【0053】
上述してきたように、本実施の形態2では、XSLT処理を実行するXSLT装置10を決定する場合に、XSLT処理に用いるXSLデータに対して起動準備済みのXSLT装置10があれば、そのXSLT装置10を優先的に使用することとしたので、XSLT処理の起動に要する時間を不要とすることができ、もってXSLT分散処理システムの効率をさらに向上することができる。
【0054】
なお、上記の実施の形態1および2では、XSLT負荷割当装置210は、XSLT処理機能を有する装置として説明したが、XSLT負荷割当装置は、XSLT負荷割当機能だけを有し、XSLT処理機能は有しない装置としても構成することができる。
【0055】
また、上記の実施の形態1および2では、XSLT負荷割当装置およびXSLT装置について説明したが、これらのXSLT負荷割当装置およびXSLT装置が有する構成をソフトウェアによって実現することで、同様の機能を有するXSLT負荷割当プログラムおよびXSLTプログラムを得ることができる。そこで、これらのXSLT負荷割当プログラムおよびXSLTプログラムを実行するコンピュータについて説明する。
【0056】
図7に示すコンピュータシステム100は、本体部101、本体部101からの指示により表示画面102aに画像等の情報を表示するディスプレイ102、このコンピュータシステム100に種々の情報を入力するためのキーボード103、ディスプレイ102の表示画面102a上の任意の位置を指定するマウス104、ローカルエリアネットワーク(LAN)106または広域エリアネットワーク(WAN)に接続するLANインターフェース、インターネットなどの公衆回線107に接続するモデム105が備えられている。ここで、LAN106は、ほかのコンピュータシステム(PC)111、サーバ112、プリンタ113等とコンピュータシステム100とを接続している。また、図8に示すように、本体部101は、CPU121、RAM122、ROM123、ハードディスクドライブ(HDD)124、CD−ROMドライブ125、FDドライブ126、I/Oインターフェース127およびLANインターフェース128を備えている。
【0057】
このコンピュータシステム100においてXSLT負荷割当プログラムまたはXSLTプログラムを実行する場合、フロッピィディスク(FD)108、CD−ROM109、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体、モデム105およびLANインターフェースを利用し回線を介して接続されたサーバ112のデータベース、あるいは、ほかのコンピュータシステム(PC)111のデータベースに格納等の記憶媒体に記憶されたXSLT負荷割当プログラムまたはXSLTプログラムをコンピュータシステム100にインストールする。インストールされたXSLT負荷割当プログラムまたはXSLTプログラムは、HDD124に記憶され、RAM122、ROM123などを利用してCPU121により実行される。ここで、記憶媒体とは、CD−ROM109、フロッピィディスク108、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体やコンピュータシステム100の内外に備えられたハードディスク124等の記憶装置のほか、LAN106を介して接続されたインストール元のXSLT負荷割当プログラムまたはXSLTプログラムを保持するサーバ112のデータベース、あるいは、ほかのコンピュータシステム111並びにそのデータベースや、さらに公衆回線107上の伝送媒体をも含むものである。
【0058】
(付記1)XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当装置であって、
前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出手段と、
前記予測処理時間算出手段により算出された予測処理時間に基づいてXSLT装置を割り当てるXSLT装置割当手段と、
を備えたことを特徴とするXSLT負荷割当装置。
(付記2)前記予測処理時間算出手段は、前記XSLスタイルシートから前記変換対象要素を抽出する変換対象要素抽出手段と、前記変換対象要素抽出手段により抽出された前記変換対象要素の変換前XML文書に含まれる個数を勘定する変換対象要素勘定手段と、前記変換対象要素勘定手段により勘定された前記個数および各変換対象要素の変換に必要な時間の予測値に基づいて前記予測処理時間を算出する変換処理時間算出手段と、を備えたことを特徴とする付記1に記載のXSLT負荷割当装置。
(付記3)前記XSL装置割当手段は、前記XSLスタイルシートに対して起動準備済みのXSLT装置がある場合には、該XSLスタイルシートを用いる前記変換を該起動準備済みのXSLT装置に優先的に割り当てることを特徴とする付記1または2に記載のXSLT負荷割当装置。
(付記4)前記XSLT装置割当手段は、前記予測処理時間算出手段により算出された予測処理時間を用いて管理される各XSLT装置の負荷状況に基づいてXSLT装置を決定するXSLT装置決定手段と、前記XSLT装置決定手段により決定されたXSLT装置の前記負荷状況を更新する負荷状況更新手段と、を備えたことを特徴とする付記1、2または3に記載のXSLT負荷割当装置。
(付記5)XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当方法であって、
前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出工程と、
前記予測処理時間算出工程により算出された予測処理時間に基づいてXSLT装置を割り当てるXSLT装置割当工程と、
を含んだことを特徴とするXSLT負荷割当方法。
(付記6)前記予測処理時間算出工程は、前記XSLスタイルシートから前記変換対象要素を抽出する変換対象要素抽出工程と、前記変換対象要素抽出工程により抽出された前記変換対象要素の変換前XML文書に含まれる個数を勘定する変換対象要素勘定工程と、前記変換対象要素勘定工程により勘定された前記個数および各変換対象要素の変換に必要な時間の予測値に基づいて前記予測処理時間を算出する変換処理時間算出工程と、を含んだことを特徴とする付記5に記載のXSLT負荷割当方法。
(付記7)前記XSL装置割当方法は、前記XSLスタイルシートに対して起動準備済みのXSLT装置がある場合には、該XSLスタイルシートを用いる前記変換を該起動準備済みのXSLT装置に優先的に割り当てることを特徴とする付記5または6に記載のXSLT負荷割当方法。
(付記8)前記XSLT装置割当工程は、前記予測処理時間算出工程により算出された予測処理時間を用いて管理される各XSLT装置の負荷状況に基づいてXSLT装置を決定するXSLT装置決定工程と、前記XSLT装置決定工程により決定されたXSLT装置の前記負荷状況を更新する負荷状況更新工程と、を含んだことを特徴とする付記5、6または7に記載のXSLT負荷割当方法。
(付記9)XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当方法をコンピュータに実行させるプログラムであって、
前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出工程と、
前記予測処理時間算出工程により算出された予測処理時間に基づいてXSLT装置を割り当てるXSLT装置割当工程と、
をコンピュータに実行させるプログラム。
【0059】
【発明の効果】
以上説明したように、本発明によれば、XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて変換の予測処理時間を算出し、算出した予測処理時間に基づいてXSLT装置を各XSLT装置の負荷を平坦化するように割り当てるよう構成したので、各XSLT装置の負荷を平坦化し、効率的なXSLT分散処理を実現することができるという効果を奏する。
【図面の簡単な説明】
【図1】本実施の形態1に係るXSLT装置を説明するための説明図である。
【図2】本実施の形態1に係るXSLT分散処理システムのシステム構成を示すブロック図である。
【図3】XSLスタイルシートとXML文書の一例を示す図である。
【図4】図2に示したXSLT負荷割当装置の処理手順を示すフローチャートである。
【図5】図4に示したXSL登録処理の処理手順を示すフロ−チャートである。
【図6】本実施の形態2に係るXSLT負荷割当装置のXSLT装置決定処理の処理手順を示すフローチャートである。
【図7】本実施の形態1および2に係るXSLT負荷割当プログラムまたはXSLTプログラムを実行するコンピュータシステムを示す図である。
【図8】図7に示した本体部の機能構成を示す機能ブロック図である。
【符号の説明】
10 XSLT装置
20 XSLスタイルシート
100,111 コンピュータシステム
101 本体部
102 ディスプレイ
102a 表示画面
103 キーボード
104 マウス
105 モデム
106 LAN
107 公衆回線
108 フロッピィディスク
109 CD−ROM
112 サーバ
113 プリンタ
121 CPU
122 RAM
123 ROM
124 ハードディスクドライブ
125 CD−ROMドライブ
126 フロッピィディスクドライブ
127 I/Oインターフェース
128 LANインターフェース
210 XSLT負荷割当装置
211 XSL先読み部
212 XML先読み部
213 処理時間予測部
214 負荷分散管理部
215 通信部
216 XSLTプロセッサ制御部
217 XSLTプロセッサ
218 XSLデータベース
219 分散ログ
221 通信部
222 XSLTプロセッサ制御部
223 XSLTプロセッサ
224 XSLデータベース
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an XSLT load allocation for allocating a load of an XSLT distributed processing system using a plurality of XSLT apparatuses that perform conversion from an XML document to another XML document or a document of another format using an XSL style sheet. Apparatus, XSLT load allocation method and program for causing computer to execute the method, and more particularly, XSLT load allocation apparatus, XSLT load allocation method and method for leveling load of each XSLT apparatus and realizing efficient XSLT distributed processing The present invention relates to a program to be executed by a computer.
[0002]
[Prior art]
In recent years, the exchange of electronic documents using the Internet has become widespread, and the movement to use XML (eXtensible Markup Language) for electronic documents to be exchanged has spread. XML is a meta language that defines a language for creating an electronic document, and it is possible to define a language suitable for each field in which an electronic document is created. For example, XHTML (eXtensible HTML), which is a successor language of HTML (Hyper Text Markup Language) used for creating Web contents, is defined using XML.
[0003]
In addition, a document created using a language defined using XML (hereinafter referred to as “XML document”) can be easily converted into a document of another format by XSLT (eXtensible Stylesheet Language Transformations). There is an advantage.
[0004]
For example, it is possible to easily sort another XML document based on a specific key to create another XML document, or to easily create an XML document of another format from a certain XML document. This XSLT is performed based on an XSL style sheet described in XSL (eXtensible Stylesheet Language). By changing the XSL style sheet, one XML document can be converted into various documents.
[0005]
[Problems to be solved by the invention]
However, since XSLT is not considered when processing a large amount of XML documents, there is a problem that the processing speed is slow. As a solution to this problem, distributed processing using a plurality of XSLT devices is conceivable. However, simply distributing the load causes variations in the processing time of the individual loads, so that the load of each XSLT device can be flattened. It is impossible and efficient load distribution cannot be performed.
[0006]
In addition, since the XSLT processing takes time to prepare for activation in order to cope with the XSL style sheet used for the processing, it is important to improve the efficiency of the distributed processing to reduce the time spent for activation preparation.
[0007]
The present invention has been made in order to solve the above-described problems caused by the prior art, flattening the load of each XSLT device, and realizing an efficient XSLT distributed processing, an XSLT load assignment method, and An object is to provide a program for causing a computer to execute the method.
[0008]
[Means for Solving the Problems]
In order to solve the above-described problems and achieve the object, the present invention is an XSLT distribution using a plurality of XSLT apparatuses that perform conversion from an XML document into another XML document or another type of document using an XSL style sheet. An XSLT load allocating apparatus that allocates a load of a processing system to each XSLT apparatus, and calculates a predicted processing time of the conversion based on the number of elements to be converted specified by the XSL style sheet included in the pre-conversion XML document. An XSLT device based on the predicted processing time calculating means and the predicted processing time calculated by the predicted processing time calculating means; To flatten the load on each XSLT device An XSLT apparatus allocating unit for allocating.
[0009]
The present invention also relates to an XSLT that assigns each XSLT apparatus the load of an XSLT distributed processing system that uses a plurality of XSLT apparatuses that perform conversion from an XML document into another XML document or another type of document using an XSL style sheet. A load allocation method, a prediction processing time calculation step of calculating a prediction processing time of the conversion based on the number of elements to be converted specified by the XSL style sheet included in the pre-conversion XML document, and the prediction processing time Based on the predicted processing time calculated by the calculation process, the XSLT device is To flatten the load on each XSLT device An XSLT device allocation step for allocation.
[0010]
The present invention also relates to an XSLT that assigns each XSLT apparatus the load of an XSLT distributed processing system that uses a plurality of XSLT apparatuses that perform conversion from an XML document into another XML document or another type of document using an XSL style sheet. A program for causing a computer to execute a load allocation method, wherein a prediction processing time calculation step of calculating a prediction processing time of the conversion based on the number of elements to be converted specified by the XSL stylesheet included in an XML document before conversion And the XSLT device based on the predicted processing time calculated by the predicted processing time calculating step. To flatten the load on each XSLT device An XSLT apparatus assigning step for assigning is executed by a computer.
[0011]
According to this invention, the conversion prediction processing time is calculated based on the number of elements to be converted specified by the XSL style sheet included in the pre-conversion XML document, and the XSLT apparatus is installed based on the calculated prediction processing time. To flatten the load on each XSLT device Since the assignment is made, the load on each XSLT apparatus can be flattened and efficient XSLT distributed processing can be realized.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of an XSLT load allocating apparatus, an XSLT load allocating method, and a program for causing a computer to execute the method will be described below in detail with reference to the accompanying drawings.
[0013]
(Embodiment 1)
First, the XSLT apparatus according to the first embodiment will be described. FIG. 1 is an explanatory diagram for explaining the XSLT apparatus according to the first embodiment. As shown in the figure, the XSLT apparatus 10 is an apparatus that converts an XML document A based on an XSL style sheet 20 into another XML document B.
[0014]
The XSL style sheet 20 is data for converting an XML document, and is described using XSL. By changing the XSL style sheet 20, different XML documents can be obtained from the same XML document.
[0015]
The XSLT apparatus 10 can not only convert an XML document into another XML document, but also convert an XML document into an HTML document, and convert an XML document into text.
[0016]
Next, the system configuration of the XSLT distributed processing system according to the first embodiment will be described. FIG. 2 is a block diagram showing a system configuration of the XSLT distributed processing system according to the first embodiment. As shown in the figure, this XSLT distributed processing system includes an XSLT load assignment device 210 and a plurality of XSLT devices 10, and the XSLT load assignment device 210 can communicate with each XSLT device 10.
[0017]
First, the XSLT load allocation device 210 will be described. The XSLT load allocation device 210 is a device that allocates the XSLT processing received by the XSLT distributed processing system to each XSLT device 10. The XSLT load assignment device 210 can also function as the XSLT device 10 and can assign the XSLT process to itself.
[0018]
The XSLT load allocation apparatus 210 includes an XSL prefetch unit 211, an XML prefetch unit 212, a processing time prediction unit 213, a load distribution management unit 214, a communication unit 215, an XSLT processor control unit 216, and a plurality of XSLT processors. 217, XSL database 218, and distributed log 219.
[0019]
The XSL prefetch unit 211 is a processing unit that reads the XSL style sheet 20 and extracts tags to be converted, and registers the extracted tag and data read from the XSL style sheet 20 in the XSL database 218 as XSL data. The XSL prefetch unit 211 transmits the newly registered XSL data to all the XSLT devices 10 via the communication unit 215.
[0020]
The XML prefetch unit 212 is a processing unit that prefetches an XML document to be converted, searches for a conversion target tag registered in the XSL database 218 from the XML document, and counts the number of appearances of the conversion target tag.
[0021]
The processing time prediction unit 213 is a processing unit that predicts the conversion processing time of the prefetched XML document based on the number of appearances of the conversion target tag calculated by the XML prefetching unit 212 and the processing time of each conversion target tag.
[0022]
The load distribution management unit 214 processes the pre-read XML document based on the conversion processing time of the XML document predicted by the processing time prediction unit 213 and the load status of each XSLT device 10 stored in the distribution log 219. It is a processing part which determines. When determining the processing device, various determinations such as selecting the XSLT device 10 with the smallest assigned load as the processing device, or selecting one XSLT device 10 until the load of the XSLT device 10 reaches a certain upper limit value, etc. Strategies can be used.
[0023]
The load distribution management unit 214 determines the XSLT device 10 to execute the XSLT process based on the predicted conversion processing time of the XML document prefetched by the load distribution management unit 214 and the load status of each XSLT device 10, thereby flattening the load on each XSLT device 10. And an efficient XSLT distributed processing system can be realized.
[0024]
The load distribution management unit 214 transmits the XSL data name and the XML document via the communication unit 215 when requesting another XSLT apparatus 10 to perform XSLT processing. On the other hand, when the XSLT load allocating apparatus 210 itself executes the XSLT process, it passes the XSL data name and the XML document to the XSLT processor control unit 216 to request the process.
[0025]
The communication unit 215 is a processing unit that receives a request from the load distribution management unit 214 and transmits an XSL data name and an XML document to another XSLT apparatus 10. Further, the communication unit 215 receives the XSLT processing result from the XSLT apparatus 10 that has requested the XSLT processing, and returns it to the load distribution management unit 214. In addition, the communication unit 215 also transmits XSL data newly registered in the XSL database 218 to another XSLT apparatus 10.
[0026]
The XSLT processor control unit 216 receives the XSL data name and the XML document from the load distribution management unit 214, and when the XSLT processor 217 using the XSL data specified by the XSL data name is activated, the XSLT processor control unit 216 Request XSLT processing. On the other hand, when the XSLT processor 217 using the XSL data specified by the XSL data name is not started, the XSL data such as the conversion target tag is acquired from the XSL database 218, and the XSLT processor 217 using the XSL data is started. Then, the activated XSLT processor 217 is requested to perform XSLT processing.
[0027]
The XSLT processor 217 is a processing unit that executes XSLT processing using XSL data, and different XSLT processors 217 correspond to different XSL data.
[0028]
The XSL database 218 is a database that stores the conversion target tag extracted from the XSL style sheet 20 by the XSL prefetch unit 211 and the data read from the XSL style sheet 20 as XSL data, and is used by the XSLT processor control unit 216. .
[0029]
The distribution log 219 is a recording unit that records, for each XSLT process, the XSLT apparatus 10 that requested the XSLT process, the name of the XSL data used, the XSLT process time prediction value, the execution state of the XSLT process, and the like. Managed by.
[0030]
Next, the XSLT apparatus 10 will be described. The XSLT apparatus 10 is an apparatus that executes the XSLT process assigned by the XSLT load assignment apparatus 210, and includes a communication unit 221, an XSLT processor control unit 222, an XSLT processor 223, and an XSL database 224.
[0031]
The communication unit 221 is a processing unit that receives the XSL data name and the XML document transmitted from the XSLT load assignment apparatus 210 and requests the XSLT processor control unit 222 to perform the XSLT process. In addition, the communication unit 221 transmits the result of the XSLT process to the XSLT load assignment apparatus 210. In addition, the communication unit 221 also registers new XSL data sent from the XSLT load assignment apparatus 210 in the XSL database 224.
[0032]
The XSLT processor control unit 222 receives the XSL data name and the XML document from the communication unit 221. When the XSLT processor 223 that uses the XSL data specified by the XSL data name is activated, the XSLT processor 223 performs the XSLT processing on the XSLT processor 223. Request. On the other hand, when the XSLT processor 223 using the XSL data specified by the XSL data name is not started, the XSL data such as the conversion target tag is acquired from the XSL database 224, and the XSLT processor 223 using the XSL data is started. Then, the activated XSLT processor 223 is requested to perform XSLT processing.
[0033]
The XSLT processor 223 is a processing unit that executes XSLT processing using XSL data. Different XSLT processors 223 correspond to different XSL data.
[0034]
The XSL database 224 is a database that stores XSL data such as a conversion target tag sent from the XSLT load allocation apparatus 210, and is used by the XSLT processor control unit 222.
[0035]
Next, an example of the XSL style sheet 20 and the XML document will be described. FIG. 3 is a diagram illustrating an example of the XSL style sheet 20 and the XML document. FIG. 4A shows an example of the XSL style sheet 20, and FIG. 4B shows an example of an XML document.
[0036]
(A) <xsl: template match = "a"> indicates that tag a is a conversion target, and <xsl: template match = "b"> and <xsl: template match = "c"> indicates that tag b and tag c are to be converted.
[0037]
Also, in the XML document of FIG. 6B, tag a appears twice, tag b appears three times, and tag c appears once. Therefore, the conversion processing time for tag a, tag b, and tag c is all 5 m. Assuming seconds, the estimated processing time is 5 milliseconds × 6 = 30 milliseconds.
[0038]
Next, the processing procedure of the XSLT load allocation apparatus 210 shown in FIG. 2 will be described. FIG. 4 is a flowchart showing a processing procedure of the XSLT load allocation apparatus 210 shown in FIG. As shown in the figure, the XSLT load allocation apparatus 210 first acquires an XSL data name (step S401), and checks whether or not the acquired XSL data name has been registered (step S402).
[0039]
If the XSL data name has already been registered, the conversion target tag corresponding to the XSL data name is acquired from the XSL database 218 (step S403). On the other hand, if the XSL data name has not been registered, the XSL prefetch unit 211 executes an XSL registration process (step S404), and acquires a conversion target tag. Details of the XSL registration process will be described later.
[0040]
Then, the XML prefetch unit 212 reads the XML document, counts the number of appearances of the conversion target tag included in the read XML document (step S405), and the processing time prediction unit 213 displays the number of appearances of the conversion target tag and each conversion target tag. The conversion processing time of the XML document is predicted based on the processing time (step S406).
[0041]
Then, the load distribution management unit 214 determines the XSLT apparatus 10 that converts the prefetched XML document based on the predicted processing time and the load status of each XSLT apparatus 10 recorded in the distribution log 219 (step S407). The result is reflected in the distributed log 219.
[0042]
When the determined XSLT device 10 is itself (Yes in step S408), the XSLT processor control unit 216 is requested to perform XSLT processing, and the XSLT processor control unit 216 that has received the request uses the corresponding XSLT processor 217. Then, the XSLT process is executed (step S409). On the other hand, when the determined XSLT apparatus 200 is another XSLT apparatus 10 (No in step S408), the XSLT processing apparatus 220 is requested to perform XSLT processing via the communication unit 215, and the XSLT apparatus 10 The XSLT processing result is received via the communication unit 215 (Yes in step S410).
[0043]
Finally, the distribution log 219 is updated based on the XSLT processing result received from the XSLT processor control unit 216 or the communication unit 215 (step S411), and the process ends.
[0044]
Next, the XSL registration process shown in FIG. 4 will be described. FIG. 5 is a flowchart showing a processing procedure of the XSL registration processing shown in FIG. As shown in the figure, in the XSL registration process, first, the XSL style sheet 20 is read and a conversion target tag is extracted (step S501).
[0045]
Then, the conversion target tag extracted from the XSL style sheet 20 and the data read from the XSL style sheet 20 are registered as XSL data in the XSL database 218 together with the XSL data name (step S502), and another XSLT device is transmitted via the communication unit 215. The data registered in 10 is transmitted, and the data registered in the XSL database 224 of the other XSLT apparatus 10 is duplicated (step S503). In this way, by storing the same XSL data in all the XSLT devices 10, it is possible for all the XSLT devices 10 to execute any XSLT process.
[0046]
As described above, in the first embodiment, the XSL prefetch unit 211 reads the XSL style sheet 20 and extracts a conversion target tag, and the XML prefetch unit 212 prefetches and converts the XML document that is the target of the XSLT processing. The number of appearances of the target tag is counted, the processing time prediction unit 213 predicts the conversion processing time of the pre-read XML document based on the number of appearances of the conversion target tag and the processing time of each conversion target tag, and the load distribution management unit 214 predicts Since the XSLT apparatus 10 that performs conversion of the prefetched XML document is determined based on the conversion processing time and the distribution log 219, the load of each XSLT apparatus 10 is flattened, thereby realizing an efficient XSLT distributed processing system. be able to.
[0047]
(Embodiment 2)
In the first embodiment, the XSLT apparatus 10 that executes the XSLT process is determined based on the predicted processing time of the XSLT process and the load status of each XSLT apparatus 10. However, since the XSLT processing requires a lot of time for start-up preparation, the efficiency of the XSLT distributed processing system can be further improved by using the XSLT apparatus 10 ready for start-up as much as possible.
[0048]
Therefore, in the second embodiment, the XSLT load allocation device 210 that determines the XSLT device 10 based on the activation preparation status of each XSLT device 10 will be described. In the second embodiment, since the process in which the XSLT load allocation apparatus 210 determines the XSLT apparatus 10 is different from that in the first embodiment, the XSLT apparatus determination process will be mainly described.
[0049]
FIG. 6 is a flowchart showing the processing procedure of the XSLT apparatus determination process of the XSLT load allocation apparatus 210 according to the second embodiment. As shown in the figure, the XSLT load allocation apparatus 210 checks whether there is an XSLT apparatus 10 that has been prepared for activation for the XSL data to be used (step S601).
[0050]
If there is an XSLT apparatus 10 that has been prepared for activation with respect to the XSL data to be used, it is checked whether or not the load on those XSLT apparatuses 10 is equal to or less than a predetermined upper limit value (step S602).
[0051]
If there is an XSLT apparatus 10 having a load equal to or lower than a predetermined upper limit value, the XSLT apparatus 10 having the smallest load is selected from those XSLT apparatuses 10 (step S603). On the other hand, when there is no XSLT device 10 whose load is equal to or lower than the predetermined upper limit value and when there is no XSLT device 10 that is ready for activation for the XSL data to be used, it is based on the predicted processing time and the load status of each XSLT device 10. Then, the XSLT apparatus 10 is selected (step S604).
[0052]
Further, the XSLT processor control units 216 and 222 do not delete the XSLT processors 217 and 223 for a certain period of time when the processing of the XSLT processors 217 and 223 is completed. In this way, by keeping the XSLT processors 217 and 223 that have finished processing in a ready state for a certain period of time, an XSLT process that uses the XSL data is allocated to the XSLT device 10 that has been prepared for starting a certain XSL data. It is possible to increase the possibility of being
[0053]
As described above, in the second embodiment, when the XSLT apparatus 10 that executes the XSLT process is determined, if there is an XSLT apparatus 10 that is ready for activation with respect to the XSL data used for the XSLT process, the XSLT apparatus 10 Since 10 is preferentially used, the time required to start the XSLT process can be eliminated, and the efficiency of the XSLT distributed processing system can be further improved.
[0054]
In the first and second embodiments, the XSLT load allocation apparatus 210 has been described as an apparatus having an XSLT processing function. However, the XSLT load allocation apparatus has only an XSLT load allocation function, and has an XSLT processing function. It can also be configured as a device that does not.
[0055]
In the first and second embodiments, the XSLT load assignment device and the XSLT device have been described. However, the XSLT having the same function can be realized by realizing the configuration of the XSLT load assignment device and the XSLT device by software. A load allocation program and an XSLT program can be obtained. A computer that executes these XSLT load assignment programs and XSLT programs will be described.
[0056]
A computer system 100 shown in FIG. 7 includes a main body 101, a display 102 for displaying information such as an image on a display screen 102a according to an instruction from the main body 101, a keyboard 103 for inputting various information to the computer system 100, A mouse 104 for designating an arbitrary position on the display screen 102a of the display 102, a LAN interface connected to a local area network (LAN) 106 or a wide area network (WAN), and a modem 105 connected to a public line 107 such as the Internet are provided. It has been. Here, the LAN 106 connects the computer system 100 to another computer system (PC) 111, a server 112, a printer 113, and the like. As shown in FIG. 8, the main unit 101 includes a CPU 121, a RAM 122, a ROM 123, a hard disk drive (HDD) 124, a CD-ROM drive 125, an FD drive 126, an I / O interface 127, and a LAN interface 128. .
[0057]
When executing the XSLT load allocation program or the XSLT program in the computer system 100, a portable storage medium such as a floppy disk (FD) 108, a CD-ROM 109, a DVD disk, a magneto-optical disk, an IC card, a modem 105, and a LAN interface are used. An XSLT load allocation program or XSLT program stored in a storage medium such as a database of the server 112 that is used and connected via a line or a database of another computer system (PC) 111 is installed in the computer system 100. . The installed XSLT load allocation program or XSLT program is stored in the HDD 124 and executed by the CPU 121 using the RAM 122, the ROM 123, and the like. Here, the storage medium is a portable storage medium such as a CD-ROM 109, a floppy disk 108, a DVD disk, a magneto-optical disk, an IC card, or a storage device such as a hard disk 124 provided inside or outside the computer system 100, The database of the server 112 holding the installation source XSLT load allocation program or the XSLT program connected via the LAN 106, or another computer system 111 and the database thereof, and also the transmission medium on the public line 107 are included.
[0058]
(Supplementary note 1) XSLT load allocation that allocates the load of the XSLT distributed processing system using a plurality of XSLT devices that perform conversion from an XML document to another XML document or a document of another format using an XSL style sheet to each XSLT device A device,
Prediction processing time calculation means for calculating a prediction processing time of the conversion based on the number of elements to be converted designated by the XSL stylesheet included in the pre-conversion XML document;
An XSLT apparatus assigning means for assigning an XSLT apparatus based on the predicted processing time calculated by the predicted processing time calculating means;
An XSLT load allocating apparatus comprising:
(Supplementary Note 2) The prediction processing time calculation unit includes a conversion target element extraction unit that extracts the conversion target element from the XSL style sheet, and a pre-conversion XML document of the conversion target element extracted by the conversion target element extraction unit. Conversion target element accounting means that counts the number of elements included in the conversion target element, and the prediction processing time is calculated based on the number counted by the conversion target element accounting means and the predicted value of the time required for conversion of each conversion target element The XSLT load allocating device according to appendix 1, further comprising: a conversion processing time calculating unit.
(Supplementary Note 3) When there is an XSLT device that is ready for activation for the XSL style sheet, the XSL device allocating unit preferentially performs the conversion using the XSL style sheet on the XSLT device that is ready for activation. The XSLT load allocating device according to appendix 1 or 2, wherein the XSLT load allocating device is allocated.
(Supplementary note 4) The XSLT apparatus allocating means determines an XSLT apparatus based on a load status of each XSLT apparatus managed using the predicted processing time calculated by the predicted processing time calculating means, The XSLT load allocating device according to appendix 1, 2, or 3, further comprising: a load status update unit that updates the load status of the XSLT device determined by the XSLT device determination unit.
(Supplementary note 5) XSLT load assignment for assigning each XSLT device the load of the XSLT distributed processing system using a plurality of XSLT devices that perform conversion from an XML document into another XML document or another type of document using an XSL style sheet A method,
A prediction processing time calculation step of calculating a prediction processing time of the conversion based on the number of elements to be converted designated by the XSL stylesheet included in the pre-conversion XML document;
An XSLT device assignment step for assigning an XSLT device based on the predicted processing time calculated by the predicted processing time calculation step;
An XSLT load allocating method comprising:
(Supplementary Note 6) The prediction processing time calculation step includes a conversion target element extraction step for extracting the conversion target element from the XSL style sheet, and an XML document before conversion of the conversion target element extracted by the conversion target element extraction step. The prediction processing time is calculated based on a conversion target element accounting process that counts the number of elements included in the conversion target element, a predicted value of a time required for conversion of each conversion target element and the number counted by the conversion target element accounting process The XSLT load allocating method according to appendix 5, including a conversion processing time calculating step.
(Supplementary note 7) In the XSL device allocation method, when there is an XSLT device that is ready for activation for the XSL style sheet, the conversion using the XSL style sheet is preferentially performed to the XSLT device that is ready for activation. The XSLT load allocation method according to appendix 5 or 6, wherein the allocation is performed.
(Supplementary Note 8) The XSLT device allocation step includes: an XSLT device determination step of determining an XSLT device based on a load status of each XSLT device managed using the prediction processing time calculated by the prediction processing time calculation step; The XSLT load allocating method according to appendix 5, 6 or 7, further comprising a load status update step of updating the load status of the XSLT device determined by the XSLT device determination step.
(Supplementary note 9) XSLT load assignment for assigning each XSLT device the load of the XSLT distributed processing system using a plurality of XSLT devices that perform conversion from an XML document into another XML document or another type of document using an XSL style sheet A program for causing a computer to execute a method,
A prediction processing time calculation step of calculating a prediction processing time of the conversion based on the number of elements to be converted designated by the XSL stylesheet included in the pre-conversion XML document;
An XSLT device assignment step for assigning an XSLT device based on the predicted processing time calculated by the predicted processing time calculation step;
A program that causes a computer to execute.
[0059]
【The invention's effect】
As described above, according to the present invention, the conversion prediction processing time is calculated based on the number included in the pre-conversion XML document of the conversion target element specified by the XSL style sheet, and based on the calculated prediction processing time. XSLT device To flatten the load on each XSLT device Since it is configured to allocate, the load of each XSLT device is flattened, and an effect is achieved that efficient XSLT distributed processing can be realized.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram for explaining an XSLT apparatus according to a first embodiment;
FIG. 2 is a block diagram showing a system configuration of the XSLT distributed processing system according to the first embodiment.
FIG. 3 is a diagram illustrating an example of an XSL style sheet and an XML document.
4 is a flowchart showing a processing procedure of the XSLT load assignment apparatus shown in FIG. 2;
FIG. 5 is a flowchart showing a processing procedure of an XSL registration process shown in FIG. 4;
FIG. 6 is a flowchart showing a processing procedure of XSLT device determination processing of the XSLT load assignment device according to the second embodiment.
FIG. 7 is a diagram showing a computer system that executes an XSLT load assignment program or an XSLT program according to the first and second embodiments.
8 is a functional block diagram showing a functional configuration of the main body shown in FIG.
[Explanation of symbols]
10 XSLT equipment
20 XSL style sheet
100,111 computer system
101 Main body
102 display
102a Display screen
103 keyboard
104 mouse
105 modem
106 LAN
107 Public line
108 floppy disk
109 CD-ROM
112 server
113 Printer
121 CPU
122 RAM
123 ROM
124 hard disk drive
125 CD-ROM drive
126 floppy disk drive
127 I / O interface
128 LAN interface
210 XSLT load allocation device
211 XSL look-ahead
212 XML prefetching part
213 Processing time prediction unit
214 Load balancing management unit
215 Communication Department
216 XSLT processor controller
217 XSLT processor
218 XSL database
219 Distributed log
221 Communication Department
222 XSLT processor controller
223 XSLT processor
224 XSL database

Claims (5)

XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当装置であって、
前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出手段と、
前記予測処理時間算出手段により算出された予測処理時間に基づいてXSLT装置を各XSLT装置の負荷を平坦化するように割り当てるXSLT装置割当手段と、
を備えたことを特徴とするXSLT負荷割当装置。
An XSLT load allocating apparatus that allocates a load of an XSLT distributed processing system using a plurality of XSLT apparatuses that perform conversion from an XML document into another XML document or another type of document using an XSL style sheet. ,
Prediction processing time calculation means for calculating a prediction processing time of the conversion based on the number of elements to be converted designated by the XSL stylesheet included in the pre-conversion XML document;
XSLT device allocating means for allocating the XSLT device so as to flatten the load of each XSLT device based on the predicted processing time calculated by the predicted processing time calculating unit;
An XSLT load allocating apparatus comprising:
前記予測処理時間算出手段は、前記XSLスタイルシートから前記変換対象要素を抽出する変換対象要素抽出手段と、前記変換対象要素抽出手段により抽出された前記変換対象要素の変換前XML文書に含まれる個数を勘定する変換対象要素勘定手段と、前記変換対象要素勘定手段により勘定された前記個数および各変換対象要素の変換に必要な時間の予測値に基づいて前記予測処理時間を算出する変換処理時間算出手段と、を備えたことを特徴とする請求項1に記載のXSLT負荷割当装置。  The prediction processing time calculation unit includes a conversion target element extraction unit that extracts the conversion target element from the XSL style sheet, and the number of the conversion target elements extracted by the conversion target element extraction unit included in the pre-conversion XML document. Conversion target time accounting means for calculating the prediction processing time based on the number counted by the conversion target element billing means and the predicted value of the time required for conversion of each conversion target element The XSLT load allocating apparatus according to claim 1, further comprising: means. 前記XSL装置割当手段は、前記XSLスタイルシートに対して起動準備済みのXSLT装置がある場合には、該XSLスタイルシートを用いる前記変換を該起動準備済みのXSLT装置に優先的に割り当てることを特徴とする請求項1または2に記載のXSLT負荷割当装置。  When there is an XSLT apparatus that has been prepared for activation with respect to the XSL style sheet, the XSL apparatus assigning unit preferentially assigns the conversion using the XSL style sheet to the XSLT apparatus that has been prepared for activation. The XSLT load allocating device according to claim 1 or 2. XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当方法であって、
前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出工程と、
前記予測処理時間算出工程により算出された予測処理時間に基づいてXSLT装置を各XSLT装置の負荷を平坦化するように割り当てるXSLT装置割当工程と、
を含んだことを特徴とするXSLT負荷割当方法。
An XSLT load allocating method for allocating a load of an XSLT distributed processing system using a plurality of XSLT devices that perform conversion from an XML document to another XML document or a document of another format using an XSL style sheet to each XSLT device. ,
A prediction processing time calculation step of calculating a prediction processing time of the conversion based on the number of elements to be converted designated by the XSL stylesheet included in the pre-conversion XML document;
An XSLT device allocation step of allocating XSLT devices so as to flatten the load of each XSLT device based on the predicted processing time calculated by the predicted processing time calculation step;
An XSLT load allocating method comprising:
XSLスタイルシートを用いてXML文書から別のXML文書または別の形式の文書への変換をおこなうXSLT装置を複数台使用したXSLT分散処理システムの負荷を各XSLT装置に割り当てるXSLT負荷割当方法をコンピュータに実行させるプログラムであって、
前記XSLスタイルシートにより指定された変換対象要素の変換前XML文書に含まれる個数に基づいて前記変換の予測処理時間を算出する予測処理時間算出工程と、
前記予測処理時間算出工程により算出された予測処理時間に基づいてXSLT装置を各XSLT装置の負荷を平坦化するように割り当てるXSLT装置割当工程と、
をコンピュータに実行させるプログラム。
An XSLT load allocation method for assigning the load of an XSLT distributed processing system using a plurality of XSLT devices that perform conversion from an XML document to another XML document or another type of document using an XSL style sheet to each XSLT device. A program to be executed,
A prediction processing time calculation step of calculating a prediction processing time of the conversion based on the number of elements to be converted designated by the XSL stylesheet included in the pre-conversion XML document;
An XSLT device allocation step of allocating XSLT devices so as to flatten the load of each XSLT device based on the predicted processing time calculated by the predicted processing time calculation step;
A program that causes a computer to execute.
JP2002139134A 2002-05-14 2002-05-14 XSLT load assignment apparatus, XSLT load assignment method, and program for causing computer to execute the method Expired - Fee Related JP4004329B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002139134A JP4004329B2 (en) 2002-05-14 2002-05-14 XSLT load assignment apparatus, XSLT load assignment method, and program for causing computer to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002139134A JP4004329B2 (en) 2002-05-14 2002-05-14 XSLT load assignment apparatus, XSLT load assignment method, and program for causing computer to execute the method

Publications (2)

Publication Number Publication Date
JP2003330903A JP2003330903A (en) 2003-11-21
JP4004329B2 true JP4004329B2 (en) 2007-11-07

Family

ID=29700390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002139134A Expired - Fee Related JP4004329B2 (en) 2002-05-14 2002-05-14 XSLT load assignment apparatus, XSLT load assignment method, and program for causing computer to execute the method

Country Status (1)

Country Link
JP (1) JP4004329B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060265712A1 (en) * 2005-05-18 2006-11-23 Docomo Communications Laboratories Usa, Inc. Methods for supporting intra-document parallelism in XSLT processing on devices with multiple processors
JP7421165B2 (en) * 2020-03-25 2024-01-24 京セラドキュメントソリューションズ株式会社 Data linkage system and API platform
CN113407782A (en) * 2021-07-23 2021-09-17 重庆交通大学 MapReduce-based distributed XSLT processing method and system

Also Published As

Publication number Publication date
JP2003330903A (en) 2003-11-21

Similar Documents

Publication Publication Date Title
JP2025506392A5 (en)
KR101238364B1 (en) System and method to customize for a image forming apparatus
RU2466450C2 (en) Method and system to develop it-oriented server network applications
CN104572293B (en) The implementation method of medical image diagosis system based on BS structures
US20070245338A1 (en) Virtual machine management program and virtual machine management method
JP4941034B2 (en) Access control apparatus and access control method
KR101882383B1 (en) A container resource allocation device and method in virtual desktop infrastructure
JPH11194983A (en) Method and system for providing customized internet content to requesting client devices
JP2003296223A (en) Method and device, and program for providing web page information
JP2007241661A (en) Image forming apparatus and control method thereof
JP2006099307A (en) How to install application sets on distributed servers
JP2008203929A (en) Server device, client device, driver processing method, storage medium, program
JP4004329B2 (en) XSLT load assignment apparatus, XSLT load assignment method, and program for causing computer to execute the method
JP2013058150A (en) Information processing apparatus and program
CN115086321B (en) Multi-cluster traffic forwarding method and device and electronic equipment
JP4110154B2 (en) Information processing apparatus, information processing apparatus control method, computer program, and storage medium
US6983262B1 (en) Server having an automatic management mechanism
JPH11194911A (en) Optimal distributed printing method and system, and recording medium on which the method is programmed and recorded
JP2008225997A (en) Metadata management method, metadata management system, and metadata management program
JP2005173823A (en) Web application, data sharing method, and program
JP4944434B2 (en) Layout method and program
JP2001243033A (en) Data distribution control device and program recording medium thereof
KR102465953B1 (en) Hypervisor system and operating method of hypervisor
JP2005182342A (en) Document processing apparatus with script, document acquisition apparatus, document processing system with script, document processing method with script, and program for causing computer to execute the method
JPH0275052A (en) Control system for application program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070821

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees