JP6221305B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP6221305B2
JP6221305B2 JP2013074442A JP2013074442A JP6221305B2 JP 6221305 B2 JP6221305 B2 JP 6221305B2 JP 2013074442 A JP2013074442 A JP 2013074442A JP 2013074442 A JP2013074442 A JP 2013074442A JP 6221305 B2 JP6221305 B2 JP 6221305B2
Authority
JP
Japan
Prior art keywords
processing
message
data
unit
identification information
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.)
Active
Application number
JP2013074442A
Other languages
English (en)
Other versions
JP2014199544A (ja
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 JP2013074442A priority Critical patent/JP6221305B2/ja
Priority to US14/221,336 priority patent/US9613051B2/en
Publication of JP2014199544A publication Critical patent/JP2014199544A/ja
Application granted granted Critical
Publication of JP6221305B2 publication Critical patent/JP6221305B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数のデータに同じ処理を施す情報処理装置、データ処理方法、およびプログラムに関する。
様々なサービスを利用した処理の実行を容易にする技術として、例えばESB(Enterprise Service Bus)がある。ESBは、サービス間で受け渡されるメッセージのデータ形式を変換する機能、適切な送信先にメッセージを転送する機能(ルーティング)、サービスの呼出機能などを備えている。これらの機能は、メディエーション機能と呼ばれる。ESBでは、転送するメッセージに応じたメディエーション機能が実行される。
ESBにおけるメディエーション機能の実行制御は、リアルタイム制御を基本としている。そのため、ESBでは、メッセージが1件ずつ処理される。ESBに処理対象の複数のデータがひとかたまりで入力された場合、例えばESBの入口において、データごとのメッセージに分けられる。そしてESBは、個々のメッセージに対して、メディエーション機能をシーケンシャルに実行する。
なおESBに関する技術としては、例えば、同じ処理内容のサービスが複数ある場合にも、それぞれのサービスを意識することなく、最適なサービスを利用することができるようにする技術がある。
特開2009−169793号公報
従来のESBはリアルタイム制御を基本としているため、複数のデータに対して同じ処理を実行する場合の処理効率が良くない。例えば、リアルタイム制御では、複数のデータそれぞれに対応するメッセージごとに処理を実行する。そのため複数のデータに対して実行する処理が同じであっても、データごとに処理の起動・停止が行われ、処理が非効率的である。
ここで、複数のデータをひとかたまりにして一括処理することも考えられる。しかし、複数のデータをひとかたまりにして一括で処理してしまうと、その処理結果もひとかたまりとなり、全体の処理結果から任意のデータの処理結果を識別することが困難となる。この問題は、ESBに限らず、複数のデータを纏めて一括で処理する際に、同様に発生する。
1つの側面では、本発明は、複数のデータを一括で処理した結果から任意のデータの処理結果を識別できるようにすることを目的とする。
1つの案では、付与手段と処理手段とを有する情報処理装置が提供される。付与手段は、実行すべき一連の複数処理が同一である複数のデータそれぞれに識別情報を付与する。処理手段は、識別情報が付与された複数のデータの一括処理を行う。そして処理手段は、識別情報に基づいて、一括処理の結果に含まれる特定のデータを識別する。
1側面によれば、複数のデータを一括で処理した結果から任意のデータの処理結果を識別できる。
第1の実施の形態に係る情報処理装置の機能の一例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 第2の実施の形態に用いるサーバのハードウェアの一構成例を示す図である。 ESBによる処理の実行例を示す図である。 第2の実施の形態の機能の一例を示すブロック図である。 シーケンス定義の一例を示す図である。 メディエーション機能定義の一例を示す図である。 メッセージ格納処理の手順の一例を示す図である。 メッセージ記憶部に格納されたメッセージの一例を示す図である。 メッセージ仲介処理の一例を示す図である。 メッセージ仲介処理の手順の一例を示すフローチャートである。 ESBにおける処理の一例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態は、同じ処理を実行する複数のデータそれぞれに識別情報を付与し、その後、複数のデータを一括で処理することで、一括処理の処理結果から任意のデータを識別できるようにするものである。
図1は、第1の実施の形態に係る情報処理装置の機能の一例を示す図である。情報処理装置10は、定義情報に基づいて処理を実行するために、記憶手段11、付与手段12、および処理手段13を有する。
記憶手段11は、定義情報11aを格納する。定義情報11aには、第1〜第4の処理13a〜13dの実行手順と、第1〜第4の処理13a〜13dにおいて複数のデータの一括処理が可能かどうかが定義されている。
付与手段12は、実行すべき一連の複数処理が同一である複数のデータ1a〜1dそれぞれに識別情報を付与する。例えば付与手段12は、1つのファイルに含まれる複数のデータを、実行すべき一連の複数の処理が同一の複数のデータに決定する。そして付与手段12は、ファイル内の複数のデータそれぞれに識別情報を付与する。付与手段12は、識別情報が付与された複数のデータ2a〜2dを処理手段13に送信する。なお付与手段12は、識別情報が付与された複数のデータ2a〜2dを、一時的に記憶手段11に格納してもよい。
処理手段13は、識別情報が付与された複数のデータ2a〜2dの一括処理を行い、識別情報に基づいて、一括処理の結果に含まれる特定のデータを識別する。例えば処理手段13は、識別情報が付与された複数のデータ2a〜2dを結合し、データ列3を生成する。そして処理手段13は、生成したデータ列3を処理対象として、一括で処理を実行する。
なお処理手段13は、一括処理を行うとき、識別情報については処理対象から除外することができる。識別情報については処理対象から除外する手法として、処理手段13は、例えば、識別情報が付与された複数のデータ2a〜2dを結合する際に、識別情報を設定したヘッダとデータを設定したペイロードとの組を生成する。そして処理手段13は、ペイロードの内容を処理対象として一括処理を実行する。
一括処理の結果に含まれる特定のデータの識別は、例えば、複数のデータを一括処理できない場合に行われる。例えば処理手段13は、定義情報11aを参照し、第1〜第4の処理13a〜13dで一括処理が可能か否かを判断する。そして処理手段13は、一括処理が可能な第1・第2・第4の処理13a,13b,13dの実行前に、識別情報が付与された複数のデータが結合されていなければ、識別情報が付与された複数のデータを結合する。そして処理手段13は、結合されたデータ列3の一括処理を行う。また処理手段13は、一括処理ができない第3の処理13cの実行前に、識別情報が付与された複数のデータが結合されていれば、識別情報に基づいて、複数のデータそれぞれを識別し、結合されたデータ列3をデータ別に分離する。そして処理手段13は、データごとに処理を行う。
このような情報処理装置10によれば、同じ処理を実行する複数のデータ1a,1b,1c,1dが入力されると、付与手段12により、各データに識別情報が付与される。そして識別情報付きの複数のデータ2a〜2dが、処理手段13に渡される。
処理手段13では、例えば定義情報11aに示される処理手順に沿って、複数のデータ2a〜2dに対して処理が実行される。図1に示す定義情報11aによると、最初に実行する第1の処理13aは、複数のデータの一括処理が可能である。そこで処理手段13は、識別情報が付与された複数のデータ2a〜2dを結合し、データ列3を生成する。データ列3では、例えば識別情報とデータとが交互に並べられている。そして処理手段13は、データ列3に対して第1の処理13aを実行する。すると第1の処理13aの処理結果を示すデータ列4が得られる。
定義情報11aによれば、次に実行する第2の処理13bは、複数のデータの一括処理が可能である。そこで処理手段13は、第1の処理13aの処理結果のデータ列4をそのまま処理対象とし、データ列4に対して、第2の処理13bを実行する。すると第2の処理13bの処理結果を示すデータ列5が得られる。
定義情報11aによれば、次に実行する第3の処理13cは、複数のデータを一括処理することができない。そこで処理手段13は、第2の処理13bの処理結果のデータ列5を、データ6a〜6d別に分離する。そして処理手段13は、識別情報が付与されたデータ6a〜6dそれぞれを処理対象として、個別に第3の処理13cを行う。するとデータ6a〜6dごとに、第3の処理13cの処理結果のデータ7a〜7dが得られる。
定義情報11aによれば、最後に実行する第4の処理13dは、複数のデータの一括処理が可能である。そこで処理手段13は、第3の処理13cの処理結果として得られた、識別情報が付与された複数のデータ7a,7b,7c,7dを結合し、再度データ列8を生成する。そして処理手段13は、結合により得られたデータ列8に対して第4の処理13dを実行する。すると、第4の処理13dの処理結果を示すデータ列9が得られる。
ここで、第1〜第4の処理13a〜13dでは、識別情報は処理対象から除外され、データのみが処理される。その結果、第1〜第4の処理13a〜13dの処理結果では、データの内容のみが更新されている。例えば識別情報(ID)が「1」のデータは、「A0」、「A1」、「A2」、「A3」、「A4」と、処理が行われるごとに更新されている。データの内容が更新されても、そのデータに付与された識別情報は維持されている。そのため、識別情報に基づいて、処理結果から特定のデータを識別することができる。各データの識別により、例えばデータ列をデータ別に分離することが可能となっている。
また、一括処理の結果に含まれる特定のデータの識別を、例えば、エラーが発生した場合に行うこともできる。この場合、例えば処理手段13は、結合により得られたデータ列に対する一括処理の結果から、エラーが発生したデータの識別情報を取得する。そして処理手段13は、取得した識別情報に対応するデータについて、処理を再実行する。この場合、例えば付与手段12は、処理前の複数のデータ2a〜2dを記憶手段11に格納しておく。そして処理手段13は、エラーが発生したデータを記憶手段11から取得して、処理の再実行(リトライ)を行う。
このように、第1の実施の形態によれば、複数のデータを一括で処理しても、識別情報に基づいて、処理結果から特定のデータの処理結果を識別できる。その結果、例えば、実行する複数の処理のうち、一部の処理で一括処理ができない場合、その処理を実行する場合にのみ、データ別に分離して処理を行うことができる。これにより、一部の処理で一括処理ができない場合であっても、一括処理が可能な処理については、複数のデータの一括処理を行うことができ、効率的な処理が可能となる。その結果、情報処理装置10の資源の有効活用ができ、単位時間当たりの処理件数も増加する。
さらに、一括処理によりエラーが発生した場合にも、識別情報に基づいてエラーとなったデータを特定し、そのデータのみ処理を再実行することができる。その結果、エラー発生時のリトライ処理を効率的に行うことができる。
なお、付与手段12および処理手段13は、例えば情報処理装置10が有するプロセッサにより実現することができる。記憶手段11は、例えば情報処理装置10が有するメモリまたはストレージ装置により実現することができる。また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、ESBにより、入力されたメッセージを処理するものである。
近年、リアルタイムの業務連携に加えて、バッチ処理型の既存業務をESBで繋げる形態が増加してきている。バッチ処理型ではファイルを入出力としたデータ受け渡しが混在することが多くなり、従来のリアルタイム制御方式における以下の課題が顕著化してきている。
バッチ処理で入出力されるファイルには、複数のレコードが含まれる。複数レコードの処理において、リアルタイム処理のように、レコードのごとのメッセージを1件ずつ処理したのでは、メディエーション機能による処理を効率的に行うことができない。ここで、複数のメッセージを結合し、複数のレコードを1つのかたまりとして処理を行うことも考えられる。複数のレコードを1つのかたまりで処理すれば、メディエーション機能の前処理や後処理でのオーバーヘッドを減らすことができる。例えば、1レコードごとに処理した場合、前処理や後処理のプロセスをレコードごとに起動・停止させることになるのに対し、複数のレコードを1つのかたまりで処理すれば、前処理や後処理のプロセスの起動・停止が1回ずつで済む。
しかし、複数のレコードを1つのかたまりとして処理を行うと、元のメッセージ間の区切りがわからなくなってしまう。すると、例えば処理がエラーとなった場合に、エラーとなったレコードが特定できず、複数のレコード全体を再度処理することとなり、かえって処理効率が悪くなってしまう。
そこで第2の実施の形態では、ESBにおいて同じ処理を実行するレコードを一括して処理する際に、事前に、各レコードに識別情報を付与するようにする。これにより、一括処理の処理結果から、各レコードが識別可能となる。
図2は、第2の実施の形態のシステム構成例を示す図である。複数のサーバ100,200,・・・がネットワーク20を介して接続されている。例えばサーバ100は、ESBにより、複数のサービスを統合した処理を実行することができる。また、例えばサーバ200は、サーバ100のESBからの呼出に応じて、サービスを提供することができる。
図3は、第2の実施の形態に用いるサーバのハードウェアの一構成例を示す図である。サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101の機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、サーバ100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なおマウス23はポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した装置も、図3に示したサーバ100と同様のハードウェアにより実現することができる。
サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、サーバ100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またサーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
図4は、ESBによる処理の実行例を示す図である。サーバ100は、入力されたメッセージ31に対してESB110により処理を実行し、処理結果のメッセージ32を出力する。ESB110では、例えば処理の手順(シーケンス)が予め定義されており、メッセージ31を、そのシーケンスに沿って実行する。シーケンスには、メディエーション機能(メディエータファンクション)として、ESB110内部で実行する処理や、他のサービスの呼出処理がある。他のサービスの呼出処理には、サーバ100内のサービス提供部120で提供される、ローカルのサービスを呼び出す処理や、外部のサーバ200内のサービス提供部210で提供される、リモートのサービスを呼び出す処理がある。
なおサーバ100,200のサービス提供部120,210は、例えばアプリケーションソフトウェアをサーバ100,200が実行することで実現される処理機能である。
図4の例では、シーケンスの最初のステップ(ステップ#1)には、ESB110内で実行する処理が定義されている。そのため、メッセージ31が入力されると、そのメッセージ31は、まずESB110が有する機能で処理が実行される。
次のステップ(ステップ#2)は、サーバ100で提供されているサービス提供部120を用いた処理(ローカルサービス呼出)である。そこでESB110は、サービス提供部120を呼び出し、最初のステップ(ステップ#1)の処理の実行結果を処理対象として渡す。するとサーバ100でサービス提供部120の処理が実行され、処理結果がESB110に返される。
次のステップ(ステップ#3)は、サーバ200で提供されているサービス提供部210を用いた処理(リモートサービス呼出)である。そこでESB110は、サーバ200内のサービス提供部210を呼び出し、2番目のステップ(ステップ#2)の処理の実行結果を処理対象として渡す。するとサーバ200でサービス提供部210の処理が実行され、処理結果がESB110に返される。
ESB110は、シーケンスに定義されたすべてを処理した結果を、メッセージ32として出力する。
第2の実施の形態では、このようなESB110において、複数のレコードを一括処理できる。しかも一括処理した結果から、任意のレコードの処理結果を、容易に抽出可能とする。これにより、例えばシーケンスの中に、複数のレコードを一括処理できないサービス提供部を利用した処理が含まれていた場合、そのサービス提供部の利用時のみ、1レコードずつの複数のメッセージを、そのサービス提供部に実行させることができる。
図5は、第2の実施の形態の機能の一例を示すブロック図である。サーバ100は、ESB110、複数のサービス提供部120,121,・・・、およびサービス利用部130を有している。またサーバ200は、複数のサービス提供部210,211,・・・を有している。
サーバ100のサービス提供部120,121,・・・は、ESB110からの呼出に応じてメッセージに対する処理を実行し、処理結果をESB110に応答する。同様にサーバ200のサービス提供部210,211,・・・は、ESB110からの呼出に応じてメッセージに対する処理を実行し、処理結果をESB110に応答する。これらのサービス提供部には、複数のレコードを一括で処理できるものと、1レコードずつしか処理できないものとがある。例えばサーバ100内のサービス提供部120,121,・・・であれば、サーバ100の管理者が、複数のレコードを一括で処理できるように改良しておくことができる。ところが、ネットワーク20を介して接続されているサーバ200が、サーバ100の管理者の管理下にないことがある。この場合、サーバ200内のサービス提供部210,211,・・・が、1レコードずつしか処理できない場合、サーバ100から、1レコードずつを処理対象とした呼出を行うこととなる。
サービス利用部130は、ESB110に処理させるメッセージを、ESB110に対して出力する。メッセージは、例えば、処理対象として例えば1つのレコードのみを含む。サービス利用部130は、ESB110に、複数のレコードを含むファイルを出力し、そのファイル内のレコードに対する処理をESB110に要求することもできる。なおサービス利用部130は、メッセージをESB110に出力する際に、そのメッセージに対して実行する処理のシーケンスを指定する。例えばサービス利用部130は、実行するシーケンスのシーケンス定義を特定する情報をESB110に通知することで、メッセージに対して実行する処理のシーケンスを指定する。
ESB110は、サービス利用部130からのメッセージの入力を受け付ける。そしてESB110は、予め設定されたシーケンスに沿って入力されたメッセージに対して処理を実行し、処理結果のメッセージをサービス利用部130に出力する。このような処理を実行するためにESB110は、定義情報記憶部111、メッセージ取得部112、メッセージ記憶部113、およびメッセージ仲介部114を有する。
定義情報記憶部111は、複数のシーケンス定義41,42,・・・とメディエーション機能定義51とを有する。シーケンス定義41,42,・・・は、一連の複数の処理の手順を示す情報である。メディエーション機能定義51は、ESB110において呼出可能なメディエーション機能に関する情報を示している。
メッセージ取得部112は、サービス利用部130からメッセージを取得する。そしてメッセージ取得部112は、取得したメッセージに識別情報(メッセージID)を付与する。そしてメッセージ取得部112は、メッセージIDを付与したメッセージを、メッセージ記憶部113に格納する。なおメッセージ取得部112は、処理対象として、複数のレコードを含むファイルを指定したメッセージを取得した場合、そのファイル内の個々のレコードを、個別のメッセージに分割する。そしてメッセージ取得部112は、ファイル内のレコードごとのメッセージにメッセージIDを付与し、メッセージ記憶部113に格納する。
メッセージ記憶部113は、メッセージIDが付与されたメッセージを記憶する。メッセージ記憶部113に記憶されたメッセージは、例えば、そのメッセージに対する処理が終了すると消去される。
メッセージ仲介部114は、サービス利用部130とサービス提供部120,121,210,211,・・・との間、サービス提供部120,121,210,211,・・・間で受け渡されるメッセージを仲介する。例えばメッセージ仲介部114は、所定のシーケンスに従って、メッセージを仲介する。メッセージ仲介部114は、メッセージを仲介する際に、仲介するメッセージ内のデータに対して様々な処理を施すことができる。メッセージ仲介部114は、例えばシーケンスエンジン114aと、複数のメディエータファンクション114b,114c,・・・とを有している。シーケンスエンジン114aは、シーケンス定義を解釈し、シーケンス定義に示された手順でメディエータファンクションを呼び出す。メディエータファンクション114b,114c,・・・は、サービスの呼出、データの変換、データの編集、メッセージのルーティングなどを行う。例えばメッセージ仲介部114は、サービス利用部130から指定されたシーケンスに対応するシーケンス定義を、定義情報記憶部111から取得する。次にメッセージ仲介部114は、取得したシーケンス定義に基づいて、シーケンス内で実行するメディエータファンクションを認識する。
さらにメッセージ仲介部114は、定義情報記憶部111内の、実行するメディエータファンクションに対応するメディエータファンクション定義を参照し、各メディエータファンクションが、複数のレコードを一括して処理できるかどうかを判断する。そしてメッセージ仲介部114は、指定されたシーケンスに沿った処理の実行を制御する。その際、メッセージ仲介部114は、複数のレコードの一括処理が可能なメディエータファンクションには、複数のレコードの一括処理を実行させる。他方、メッセージ仲介部114は、複数のレコードの一括処理ができないメディエータファンクションには、1レコードを有するメッセージごとの処理を実行させる。以下、複数のレコードの一括処理が可能であることを、マルチレコードに対応していると呼び、複数のレコードの一括処理ができないことを、マルチレコードに対応していないと呼ぶこととする。メッセージ仲介部114は、シーケンスに沿った処理が終了すると、処理後のメッセージをサービス利用部130に送信する。
またメッセージ仲介部114は、複数のレコードの一括処理を実行した結果、エラーが発生した場合、複数のレコードのうち、エラーの発生原因となったレコードを特定する。そしてメッセージ仲介部114は、エラーの発生原因となったレコードについてのみ、シーケンスの処理を再度実行する。
このような構成のシステムにより、複数のレコードの一括処理を交えながら、所定のシーケンスに沿った効率的な処理を行うことができる。シーケンスの内容は、シーケンス定義に示される。なお、図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、メッセージ記憶部113と定義情報記憶部111とは、図1に示した第1の実施の形態の記憶手段11の一例である。メッセージ取得部112は、図1に示した第1の実施の形態の付与手段12の一例である。メッセージ仲介部114は、図1に示した第1の実施の形態の処理手段13の一例である。
図6は、シーケンス定義の一例を示す図である。シーケンス定義41には、例えば、複数のメディエータファンクション41a〜41dの処理順が定義されている。図6に示したシーケンス定義41には、データ変換、コマンド実行、サービス呼出、データ変化の順で、メディエータファンクションを実行することが示されている。
メッセージ仲介部114が、メディエータファンクションの呼出を行う場合、呼出対象のメディエータファンクションが、複数のレコードを一括して処理できるか否かによって、メディエータファンクションの呼出方法が異なる。メディエータファンクションが、複数のレコードを一括して処理できるか否かは、メディエータファンクション定義に示されている。
図7は、メディエーション機能定義の一例を示す図である。メディエーション機能定義51は、XML(Extensible Markup Language)タグを用いた構造化文書形式となっている。図7の例では、「MFリスト」タグの下に、「MF」タグによって、各メディエータファンクションの特性などに関する情報が設定されている。例えば「MF」タグには、名称や、複数のレコードの一括処理の可否が示される。例えば、メディエータファンクションの変数「マルチレコード」の値が「true」であれば、そのメディエータファンクションはマルチレコードに対応している。またメディエータファンクションの変数「マルチレコード」の値が「false」であれば、そのメディエータファンクションは、マルチレコードに対応していない。このようなメディエーション機能定義51を参照することで、メディエータファンクションが、マルチレコードに対応しているか否かについて判断できる。
なおシーケンス定義41,42,・・・やメディエーション機能定義51は、サーバ100の管理者によって、予め作成され、定義情報記憶部111に格納される。シーケンス定義41,42,・・・やメディエーション機能定義51が定義情報記憶部111に格納されている状況で、ESB110は、サービス利用部130からのメッセージの入力を受け付ける。またESB110は、処理対象として、複数のレコードを含むファイルの入力を受け付けることもできる。
ESB110が、メッセージを受信するか、ファイルを読み込んだときは、メッセージ取得部112が、メッセージまたはファイル内の1レコードが1メッセージとなるようにして、メッセージをメッセージ記憶部113に格納する。その際、メッセージ取得部112は、各メッセージにメッセージIDを付与する。以下、メッセージ格納処理の手順について説明する。
図8は、メッセージ格納処理の手順の一例を示す図である。
[ステップS101]メッセージ取得部112は、入力されたメッセージ、または処理対象として指定されたファイルを取得する。
[ステップS102]メッセージ取得部112は、取得したのがファイルか否かを判断する。取得したのがファイルであれば、処理がステップS103に進められる。取得したのがメッセージであれば、処理がステップS104に進められる。
[ステップS103]メッセージ取得部112は、取得したファイル内のレコードを、1レコードずつの複数のメッセージに分割する。例えば、予めレコードの境界の記号が定義されている場合、メッセージ取得部112は、ファイル内の情報を、境界の記号を境に分割し、分割して得られた個々の情報を、レコードと認識する。そして、メッセージ取得部112は、ファイルから抽出したレコードそれぞれを、メッセージとする。レコードの境界の記号としては、例えば改行コードがある。また予め1つのレコードのデータフォーマット(データ長など)が決まっている場合もある。その場合、メッセージ取得部112は、例えば、ファイル内の情報の先頭から、データフォーマットに合致する情報を抽出する。これにより、ファイル内に含まれるレコードが抽出できる。
[ステップS104]メッセージ取得部112は、各メッセージに、メッセージIDを付与する。
[ステップS105]メッセージ取得部112は、メッセージID付きのメッセージを、メッセージ記憶部113に格納する。この際、メッセージ取得部112は、例えば各メッセージに、メッセージの処理状態を示すフラグを設定する。
このようにして、メッセージが格納される。
図9は、メッセージ記憶部に格納されたメッセージの一例を示す図である。メッセージ記憶部113内には、メッセージ管理テーブル113aが設けられている。メッセージ管理テーブル113aは、メッセージID、メッセージ、および処理状態の欄が設けられている。
メッセージIDの欄には、各メッセージに付与されたメッセージIDが設定される。メッセージの欄には、メッセージIDに対応するメッセージが設定される。処理状態の欄には、登録されているメッセージの処理状態が設定される。処理状態は、例えば「未処理」と「処理中」である。処理状態の初期値は「未処理」である。処理の実行が開始されたメッセージの処理状態は「処理中」に更新される。なお、処理が完了したメッセージは、メッセージ管理テーブル113aから消去される。
メッセージ記憶部113にメッセージが格納されると、メッセージ仲介部114によって、処理状態が「未処理」のメッセージに対する処理が実行される。このとき、メッセージ記憶部113は、同じシーケンスを適用する「未処理」のメッセージが複数あれば、それらのメッセージを一括して処理する。例えば、同じファイルから抽出された複数のレコードそれぞれに対応するメッセージは、同じシーケンスを適用するメッセージである。
メッセージ仲介部114は、メッセージを処理する場合、まず、適用するシーケンスのシーケンス定義と、そのシーケンス内で実行するメディエータファンクションのメディエーション機能定義とに基づいて、シーケンスの処理内容を判断する。そしてメッセージ仲介部114は、実行するメディエータファンクションがマルチレコードに対応しているか否かに応じて、メッセージの結合処理または分離処理を挿入する。
図10は、メッセージ仲介処理の一例を示す図である。図10には、図6に示したシーケンス定義41に沿ったメッセージ仲介処理を実行する場合の例を示している。シーケンス定義41に示されているメディエータファンクション41a〜41dのうち、データ変換とコマンド実行とのメディエータファンクション41a,41b,41dは、マルチレコードに対応しているものとする。またサービス呼出のメディエータファンクション41cは、マルチレコードに非対応であるものとする。
メッセージ仲介部114は、メッセージ記憶部113から、処理状態「未処理」のメッセージを取得し、そのメッセージの処理状態を「処理中」に変更する。そしてメッセージ仲介部114は、最初に実行するデータ変換処理がマルチレコード対応であるため、まず処理対象の複数のメッセージを結合する(ステップS1)。メッセージを結合する際には、メッセージ仲介部114は、メッセージとメッセージIDとの組を結合する。例えばメッセージIDの次に、そのメッセージIDに対応するメッセージを設定する。
次にメッセージ仲介部114は、結合した複数のメッセージ内のレコードに対して一括してデータ変換処理を行う(ステップS2)。なおデータ変換処理では、入力されたメッセージに対して前処理が行われる。複数のメッセージを一括して処理する場合、メッセージ仲介部114は、前処理を実行するプロセスを1つ起動して、そのプロセスを用いて複数のメッセージに対する前処理を行う。データ変換後の複数のメッセージは、結合された状態で出力される。
データ変換が終了すると、メッセージ仲介部114は、データ変換後のメッセージに対して、所定のコマンドを実行する(ステップS3)。コマンド実行のメディエータファンクション41bもマルチレコード対応であるため、メッセージ仲介部114は、複数のメッセージを結合したまま、それらのメッセージにコマンド実行処理を施す。そしてコマンド実行後の複数のメッセージが、結合された状態で出力される。なおコマンド実行では、前処理と後処理とが行われる。コマンド実行はマルチレコード対応であり、結合された複数のメッセージが入力されるため、前処理と後処理とは、それぞれ1つずつのプロセスによって纏めて実行することができる。
メッセージ仲介部114は、次に実行するメディエータファンクションがマルチレコード非対応であることから結合された複数のメッセージを、個別のメッセージに分離する(ステップS4)。メッセージの分離は、各メッセージのメッセージIDに基づいて行う。例えば結合されたメッセージ群において、メッセージIDの次にそのメッセージIDに対応するメッセージが設定されていれば、メッセージ仲介部114は、メッセージIDの直前を境界として、メッセージ群を複数のメッセージに分離する。
メッセージ仲介部114は、分離されたメッセージごとにサービス呼出を行う(ステップS5)。サービス呼出では、例えばサーバ200内のサービス提供部210に対して、サービスの呼出が行われる。サービス提供部210は、メッセージごとにサービスを実行し、実行結果をメッセージ仲介部114に応答する。そしてサービス呼出実行後の複数のメッセージが、メッセージごとに出力される。なおサービス呼出では、前処理と後処理とが行われる。サービス呼出はマルチレコード非対応であり、複数のメッセージが個別に入力される。このとき、サービス呼出の前処理と後処理とは、入力されたメッセージごとのプロセスによって実行される。そのため、プロセスの起動や停止が頻繁に発生する。
最後に実行するデータ変換処理は、マルチレコード対応である。そこでメッセージ仲介部114は、サービス呼出の処理結果として出力された複数のレコードを結合する(ステップS6)。そしてメッセージ仲介部114は、結合した複数のレコードに対して、一括してデータ変換処理を実行する(ステップS7)。なおデータ変換処理の際には、複数のレコードに対する前処理が一括で行われる。
データ変換処理が終了すると、メッセージ仲介部114は、シーケンス処理の結果を出力する。この際、メッセージ仲介部114は、処理を実行したメッセージを、メッセージ記憶部113から削除する。
次に、メッセージ仲介部114におけるメッセージ仲介処理の手順について説明する。
図11は、メッセージ仲介処理の手順の一例を示すフローチャートである。
[ステップS111]メッセージ仲介部114は、メッセージ記憶部113から未処理のメッセージを取得し、そのメッセージで指定されているシーケンスのシーケンス定義をメモリ102に展開する。
[ステップS112]メッセージ仲介部114は、未処理のメッセージのヘッダ付きメッセージを生成する。例えばメッセージ仲介部114は、メッセージIDを含むヘッダに、メッセージを含むペイロードを結合し、ヘッダ付きメッセージとする。
[ステップS113]メッセージ仲介部114は、未処理のメッセージに含まれるレコードが1つのレコードか、複数のレコードかを判断する。レコードが1つであれば、処理がステップS114に進められる。レコードが複数であれば、処理がステップS115に進められる。
[ステップS114]レコードが1つだけであれば、メッセージ仲介部114は、そのレコードを含むメッセージに対して、シーケンス定義に沿ってメディエータファンクションを順次実行する。その後、処理がステップS126に進められる。
[ステップS115]レコードが複数あれば、メッセージ仲介部114は、次に実行するメディエータファンクションのメディエーション機能定義から、「マルチレコード」の属性を取得する。
[ステップS116]メッセージ仲介部114は、次に実行するメディエータファンクションがマルチレコード対応か否かを判断する。例えば「マルチレコード」の属性に「true」と設定されていれば、マルチレコードに対応している。また「マルチレコード」の属性に「false」と設定されていれば、マルチレコード非対応である。マルチレコードに対応していれば、処理がステップS117に進められる。マルチレコードに対応していなければ、処理がステップS119に進められる。
[ステップS117]メッセージ仲介部114は、複数のメッセージが結合されているか否かを判断する。結合されていれば、処理がステップS121に進められる。結合されていなければ、処理がステップS118に進められる。
[ステップS118]メッセージ仲介部114は、次に実行するメディエータファンクションがマルチレコード対応でありながら、複数のメッセージが結合されていない場合、それらのメッセージを結合する。その後、処理がステップS121に進められる。
[ステップS119]メッセージ仲介部114は、複数のメッセージが結合されているか否かを判断する。結合されていれば、処理がステップS120に進められる。結合されていなければ、処理がステップS121に進められる。
[ステップS120]メッセージ仲介部114は、次に実行するメディエータファンクションがマルチレコード非対応でありながら、複数のメッセージが結合されている場合、それらのメッセージを個別に分離する。
[ステップS121]メッセージ仲介部114は、複数のメッセージ内のレコードに対して、シーケンス定義の処理順で次のメディエータファンクションを実行する。このとき、メッセージ仲介部114は、複数のメッセージが結合されていれば、それらのメッセージ内の複数のレコードを一括で処理する。またメッセージ仲介部114は、複数のメッセージが結合されていなければ、個々のメッセージ内の1つずつのレコードを、個別に処理する。
なおメッセージ仲介部114は、複数のメッセージが結合されている場合、ヘッダ付きメッセージのヘッダとペイロードとを判別する。例えばメッセージ仲介部114は、ヘッダを示すタグで囲まれた部分をヘッダと認識し、ペイロードを示すタグによって囲まれた部分をペイロードと認識する。そしてメッセージ仲介部114は、ヘッダ内の情報を処理の対象外として、ペイロード内の情報に対して処理を実行する。
[ステップS122]メッセージ仲介部114は、実行すべきすべてのメディエータファンクションの実行が終了したか否かを判断する。すべてのメディエータファンクションの実行が終了した場合、処理がステップS123に進められる。未実行のメディエータファンクションがあれば、処理がステップS115に進められる。
[ステップS123]メッセージ仲介部114は、すべてのメディエータファンクションの実行によりエラーが発生したか否かを判断する。エラーが発生した場合、処理がステップS124に進められる。エラーが発生していなければ、処理がステップS126に進められる。
[ステップS124]エラーが発生した場合、メッセージ仲介部114は、エラーとなったメッセージのメッセージIDを取得する。例えばメッセージ仲介部114のメディエータファンクションは、レコードの処理がエラーとなったときに、そのレコードが格納されているペイロードにエラーコードを挿入して、処理結果とする。そしてシーケンスエンジン114aが、エラーコードが設定されているペイロードのヘッダからメッセージIDを取得する。エラーとなったメッセージのメッセージIDを取得したメッセージ仲介部114は、モニタ21に表示されている運用管理画面に、エラーが発生したメッセージのメッセージIDを表示する。そして管理者からリトライの指示が入力されると、メッセージ仲介部114は、処理をステップS125に進める。
[ステップS125]メッセージ仲介部114は、エラーとなったメッセージに対して、図11に示す通りのシーケンス処理を実行する。
[ステップS126]メッセージ仲介部114は、シーケンスに沿って実行した処理結果を出力する。この際、メッセージ仲介部114は、メッセージ記憶部113から、処理を施したメッセージを削除する。
このようにして、ESB110における効率的な処理が行われる。例えば複数のレコードを含むファイルが入力された場合、レコードごとのメッセージを生成し、そのメッセージの結合や分離を適宜実行することで、メディエータファンクションが効率的に実行される。
図12は、ESBにおける処理の一例を示す図である。図12の例では、複数のレコードを含むファイル61が、ESB110に用意されたエンドポイント115に入力される。エンドポイント115は、サービス利用部130からESB110へメッセージまたはファイルを入力するための情報受け渡しのインタフェースである。エンドポイント115に入力されたファイル61はメッセージ取得部112で取得される。そしてメッセージ取得部112により、入力されたファイル61内のレコードが抽出され、レコードごとのメッセージが生成される。さらにメッセージ取得部112により、各メッセージにメッセージIDが付与される。そしてメッセージ取得部112により、メッセージIDとメッセージとの組が、メッセージ記憶部113に格納される。格納された時点では、そのメッセージの処理状態は「未処理」である。図12の例では、4つのメッセージが格納されている。
メッセージ仲介部114は、1つのファイル61から抽出された複数のレコードそれぞれに対応するメッセージが格納されたことを確認すると、各メッセージをメッセージ記憶部113から抽出する。その際、メッセージ仲介部114は、メッセージIDを含むヘッダ62とメッセージを含むペイロード63とを結合して、メッセージID付きのメッセージとする。そしてメッセージ仲介部114は、メッセージID付きの複数のメッセージを結合し、シーケンス定義41に示される順番に、メディエータファンクションを実行する。メディエータファンクションでは、ペイロード63の内容に対して処理が施され、ヘッダ62は変更されない。
メッセージ仲介部114は、シーケンス定義41に示されるすべてのメディエータファンクションの実行が完了したとき、メッセージごとの処理結果をログ64に出力する。ログ64には、例えばメッセージIDに対応付けて、処理の結果が成功(OK)か、失敗(NG)かが設定される。例えばログ64の内容を運用管理画面に表示すれば、管理者はレコード単位で処理結果を確認できる。メッセージ仲介部114は、処理に失敗したメッセージがある場合、そのメッセージのみをメッセージ記憶部113から再取得する。そしてメッセージ仲介部114は、再取得したメッセージに対して、メディエータファンクションを再実行する。図12の例では、メッセージID「msg002」のメッセージに対する処理でエラーが発生したため、そのメッセージに対してメディエータファンクションが再実行されている。
すべてのメディエータファンクションを実行後のメッセージは、メッセージ仲介部114により、出力側のエンドポイント116を介して出力される。
このように、第2の実施の形態によれば、マルチレコード対応のメディエータファンクションを実行する際には、複数のメッセージを結合することで、効率的に処理を実行することができる。例えば、複数のメッセージを個別に処理する場合、前処理や後処理のプロセスを、メッセージごとに起動しなければならない。その結果、プロセスの起動・終了の回数が多くなり、処理効率が悪い。第2の実施の形態のように、複数のメッセージを結合して、1つの処理対象として扱えば、前処理や後処理のプロセスの起動・終了も1回ずつで済み、処理効率が向上する。
しかも第2の実施の形態では、結合されたメッセージそれぞれにメッセージIDが付与されている。そしてそのメッセージIDをキーとして、結合されたメッセージ群内の個々のメッセージを識別可能となっている。これにより、例えば複数のメディエータファンクションの一部にマルチレコード非対応のものがあっても、マルチレコード非対応のメディエータファンクションを実行する場合にのみメッセージを分離することができる。その結果、可能な限り、複数のメッセージを一括で処理することができ、処理効率が向上する。
さらに第2の実施の形態では、メッセージIDによって、結合された複数のメッセージの中から、任意のメッセージのみを抽出できる。例えばメディエータファンクションの実行時に、一部のメッセージの処理でエラーが発生する場合がある。このような場合、結合された複数のメッセージの中から、エラーが発生したメッセージを抽出し、そのメッセージのみ、再度シーケンスの処理を実行することができる。これにより、エラー発生時の再実行処理を効率的に行うことができる。
なお、ESB110で処理するレコードが、例えばネットワーク上でアクセス可能なデータベースから抽出したレコードの場合がある。ネットワークに接続されたデータベースに格納されているレコードは、多数の装置からのアクセスを受ける。そのため、データベースに格納されている段階でレコードにヘッダを付与することは、データ構造を変えることとなる。データ構造が変わると検索が行えなくなるため、データベース内でヘッダを付与することはできない。第2の実施の形態では、ESB110に入力された後に各レコードに自動で、メッセージIDを含むヘッダが付与される。これにより、データベース内のレコードに処理を施す場合であっても、レコードのデータ形式が変化して検索が行えなくなることを防ぐことができる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1a〜1d,2a〜2d,6a〜6d,7a〜7d データ
3,4,5,8,9 データ列
10 情報処理装置
11 記憶手段
11a 定義情報
12 付与手段
13 処理手段
13a 第1の処理
13b 第2の処理
13c 第3の処理
13d 第4の処理

Claims (4)

  1. 実行すべき一連の複数処理が同一である複数のデータそれぞれに識別情報を付与する付与手段と、
    識別情報が付与された前記複数のデータに対して実行すべき前記複数の処理それぞれについて一括処理が可能か否かが定義された定義情報を参照し、前記複数の処理のうちの一括処理が可能な処理の実行前に、識別情報が付与された前記複数のデータが結合されていなければ、識別情報が付与された前記複数のデータを結合して、結合されたデータ列に対する1プロセスでの一括処理を行い、前記複数の処理のうちの一括処理ができない処理の実行前に、識別情報が付与された前記複数のデータが一括処理のために結合されていれば、識別情報に基づいて、一括処理の結果に含まれる前記複数のデータそれぞれを識別し、前記複数のデータが結合されたデータ列をデータ別に分離して、データごとに処理を行う処理手段と、
    を有する情報処理装置。
  2. 前記付与手段は、識別情報が付与された前記複数のデータを記憶手段に格納し、
    前記処理手段は、前記複数のデータの一括処理の結果から、エラーが発生したデータの識別情報を取得し、該識別情報に対応するデータを前記記憶手段から抽出し、抽出した該データについて、処理を再実行することを特徴とする請求項1記載の情報処理装置。
  3. 前記処理手段は、識別情報については処理対象から除外することを特徴する請求項1または2記載の情報処理装置。
  4. 前記処理手段は、識別情報が付与された前記複数のデータを一括処理する場合、識別情報を設定したヘッダとデータを設定したペイロードとの組を生成し、ペイロードの内容を処理対象として一括処理を実行することを特徴とする請求項記載の情報処理装置。
JP2013074442A 2013-03-29 2013-03-29 情報処理装置 Active JP6221305B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013074442A JP6221305B2 (ja) 2013-03-29 2013-03-29 情報処理装置
US14/221,336 US9613051B2 (en) 2013-03-29 2014-03-21 Data processing method, information processing apparatus, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013074442A JP6221305B2 (ja) 2013-03-29 2013-03-29 情報処理装置

Publications (2)

Publication Number Publication Date
JP2014199544A JP2014199544A (ja) 2014-10-23
JP6221305B2 true JP6221305B2 (ja) 2017-11-01

Family

ID=51621892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013074442A Active JP6221305B2 (ja) 2013-03-29 2013-03-29 情報処理装置

Country Status (2)

Country Link
US (1) US9613051B2 (ja)
JP (1) JP6221305B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022099634A (ja) * 2020-12-23 2022-07-05 富士フイルムビジネスイノベーション株式会社 情報処理システムおよびプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0973432A (ja) * 1995-09-08 1997-03-18 Hitachi Ltd オンライントランザクション高速処理方式
US5857205A (en) * 1996-08-12 1999-01-05 Roth; Michael Method for determining if data item characteristics in periodically updated and replaced files have unexpectedly changed
JP4911552B2 (ja) 2004-04-12 2012-04-04 富士通株式会社 伝票多重処理方法、プログラム及び装置
US7721288B2 (en) * 2004-08-31 2010-05-18 Sap Ag Organizing transmission of repository data
US8977385B2 (en) * 2004-11-22 2015-03-10 Bell And Howell, Llc System and method for tracking a mail item through a document processing system
US20060156313A1 (en) * 2005-01-07 2006-07-13 Hambrick Geoffrey M Method and apparatus for implementing container managed batch jobs in an enterprise java bean environment
JP4540495B2 (ja) * 2005-02-07 2010-09-08 富士通株式会社 データ処理装置、データ処理方法、データ処理プログラム、および記録媒体
EP1804217B1 (de) * 2005-12-05 2015-04-29 Deutsche Post AG Verfahren und Vorrichtung zum Verarbeiten von für die Sortierung von Postsendungen relevanten Daten
JP4663525B2 (ja) * 2006-01-06 2011-04-06 株式会社日立製作所 情報処理方法、情報処理装置、及びプログラム
US7894918B2 (en) * 2006-07-27 2011-02-22 Abb Research Ltd. System for analyzing batch processes
JP4787791B2 (ja) * 2007-06-13 2011-10-05 株式会社リコー 画像処理装置、画像処理方法、画像処理プログラム
JP4521678B2 (ja) * 2007-11-19 2010-08-11 フェリカネットワークス株式会社 通信システム、情報処理方法、プログラム、及び情報処理装置
JP5086820B2 (ja) 2008-01-18 2012-11-28 株式会社日立システムズ サービス管理方法とシステムおよびプログラム
EP2342677A2 (en) * 2008-08-18 2011-07-13 Mario W. Cardullo Rfid based distributed computing system
US8254391B2 (en) * 2009-04-04 2012-08-28 Oracle International Corporation Method and system for performing blocking of messages on errors in message stream
JP2011082807A (ja) 2009-10-07 2011-04-21 Nec Corp データストリーム複合制御システム、制御装置、データストリーム複合制御方法およびプログラム
JP5408442B2 (ja) * 2010-01-21 2014-02-05 株式会社日立製作所 並列分散処理方法、及び、計算機システム
JP5556380B2 (ja) * 2010-05-28 2014-07-23 富士通株式会社 管理装置,管理方法,および管理プログラム
JP5333508B2 (ja) * 2011-04-22 2013-11-06 コニカミノルタ株式会社 画像処理システム、ジョブ実行方法およびジョブ実行プログラム
US20130073586A1 (en) * 2011-05-02 2013-03-21 Amadeus S.A.S. Database system using batch-oriented computation
US8861804B1 (en) * 2012-06-15 2014-10-14 Shutterfly, Inc. Assisted photo-tagging with facial recognition models
US9191432B2 (en) * 2013-02-11 2015-11-17 Dell Products L.P. SAAS network-based backup system

Also Published As

Publication number Publication date
US9613051B2 (en) 2017-04-04
JP2014199544A (ja) 2014-10-23
US20140297698A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
CN107122355B (zh) 数据迁移系统和方法
CN107122360B (zh) 数据迁移系统和方法
US10089313B2 (en) Conversion of data integration system files
CN107122361B (zh) 数据迁移系统和方法
US10095699B2 (en) Computer-readable recording medium, execution control method, and information processing apparatus
US10523754B2 (en) Methods for integrating applications with a data storage network and devices thereof
US11321350B2 (en) Managing identifiers for multinodal master systems of unknown or changing size
US9461884B2 (en) Information management device and computer-readable medium recorded therein information management program
CN110781159B (zh) Ceph目录文件信息读取方法、装置、服务器及存储介质
US10334028B2 (en) Apparatus and method for processing data
US20180183690A1 (en) Information processing apparatus for acquiring log and method of controlling information processing apparatus therefor
US20190196880A1 (en) Method for sharing processing modules between pipelines
JP6221305B2 (ja) 情報処理装置
US20140344756A1 (en) Information processing apparatus, and control method therefor
US20200236244A1 (en) Information processing system and apparatus and non-transitory computer readable medium
JP5086820B2 (ja) サービス管理方法とシステムおよびプログラム
US8938715B2 (en) Using the z/OS load module system status index to distinguish product tag files
JP6372350B2 (ja) 定義ファイル生成プログラム、定義ファイル生成方法、および情報処理装置
US9250981B2 (en) Automatically deriving a command for starting a program in an operating system of a computer
JP2004362343A (ja) ソースコード変換装置、ソースコード変換方法、およびプログラム
CN107967549B (zh) 多流程任务处理装置与方法
JP5818264B2 (ja) 計算機システム及びジョブネット実行方法
US20240143405A1 (en) Apparatus for executing workflow to perform distributed processing analysis tasks in container environment and method for same
JP2019087877A (ja) 情報処理装置、情報処理方法及びプログラム
JP5718256B2 (ja) システム性能解析装置、システム性能解析方法、およびシステム性能解析プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170731

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: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170918

R150 Certificate of patent or registration of utility model

Ref document number: 6221305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150