JP7382720B2 - 情報処理システム、処理サーバ、情報処理方法およびプログラム - Google Patents
情報処理システム、処理サーバ、情報処理方法およびプログラム Download PDFInfo
- Publication number
- JP7382720B2 JP7382720B2 JP2019019473A JP2019019473A JP7382720B2 JP 7382720 B2 JP7382720 B2 JP 7382720B2 JP 2019019473 A JP2019019473 A JP 2019019473A JP 2019019473 A JP2019019473 A JP 2019019473A JP 7382720 B2 JP7382720 B2 JP 7382720B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- server
- unit
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 626
- 230000010365 information processing Effects 0.000 title claims description 29
- 238000003672 processing method Methods 0.000 title claims description 12
- 238000000034 method Methods 0.000 claims description 28
- 238000007726 management method Methods 0.000 description 245
- 238000004891 communication Methods 0.000 description 168
- 230000004044 response Effects 0.000 description 33
- 230000002085 persistent effect Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 19
- 230000005611 electricity Effects 0.000 description 16
- 230000004048 modification Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 10
- 238000010248 power generation Methods 0.000 description 10
- 230000001934 delay Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
入力データの受け付けの度に、データベースに記憶されている複数のデータを用いて速やかに算出および集約し、その処理結果を小売電気事業者に配信するため、入力データの数が増加した場合に処理の遅延が懸念される。
この懸念は、電力託送業務を実施するシステムに限らず、情報処理システムで、入力データが多くなった場合についても当てはまる。
本発明は、前述した点に鑑みてなされたものであり、その目的は、入力データの数が多くなった場合でも、処理の遅延を短縮できる情報処理システム、処理サーバ、情報処理方法およびプログラムを提供することである。
本発明の一態様の情報処理システムにおいて、前記処理部が出力した前記出力データを受け付け、受け付けた前記出力データで、前記データベースサーバを更新する更新部を備える更新サーバを備える。
前記管理サーバが振り分けた前記処理サーバが、前記出力データを作成するステップで作成した前記出力データを出力するステップとを有し、前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、前記入力データは、ユーザの識別情報と、検針値とを含み、前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、情報処理方法である。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
(託送業務処理システム)
図1は、第1の実施形態の託送業務処理システムの一例を示す図である。
本実施形態の託送業務処理システム10は、管理サーバ100と、処理サーバ200-1~処理サーバ200-n(nは、n>0の整数)と、データベースサーバ300と、更新サーバ400-1~更新サーバ400-nとを含む。さらに、図1には、外部システム50も示されている。
以下、処理サーバ200-1~処理サーバ200-nのうち、任意の処理サーバを、処理サーバ200と記載する。更新サーバ400-1~更新サーバ400-nのうち、任意の処理サーバを、更新サーバ400と記載する。
データベースサーバ300は、処理サーバ200-1~処理サーバ200-nの各々と接続され、複数のユーザの各々のユーザデータを、ユーザの識別情報と関連付けて記憶している。ここで、ユーザデータの一例は、顧客の契約情報である。
処理サーバ200-1~処理サーバ200-nの各々は、管理サーバ100と、更新サーバ400-1~更新サーバ400-nの各々と接続される。処理サーバ200-1~処理サーバ200-nの各々は、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、処理サーバ200-1~処理サーバ200-nの各々が処理を行っているときに不変であるデータ(以下「不変データ」という)を取得し、取得した複数のユーザの各々の不変データを、処理サーバ200-1~処理サーバ200-nの各々が備えるインメモリ領域に記憶する。
複数のユーザの各々の不変データを、処理サーバ200-1~処理サーバ200-nの各々が備えるインメモリ領域に記憶することによって、仮に、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータを、インメモリ領域に記憶した場合に、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータと、インメモリ領域に記憶した情報との間に差異が生じることによって、リカバリが複雑になること、処理自体の有効性が失われることがなくなる。
処理サーバ200-1~処理サーバ200-nのうち、管理サーバ100が送信した入力ファイルの宛先である処理サーバ200(以下、「処理サーバ200-m(mは、n≧m>0の整数)」という)は、管理サーバ100が送信した入力ファイルを受信する。処理サーバ200-mは、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得する。処理サーバ200-mは、取得した不変データと入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。処理の一例は、電力使用量の導出、電力単価の導出である。処理サーバ200-mは、作成した出力ファイルを公開し、出力ファイルを公開したことを示す情報(以下「公開完了連絡」という)を作成し、作成した公開完了連絡を、管理サーバ100へ送信する。公開完了連絡には、ユーザの識別情報が含まれる。処理サーバ200-mは、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、更新サーバ400-1~更新サーバ400-nのうち、処理サーバ200-mと関連付けられている更新サーバ400-mへ送信する。
管理サーバ100は、更新サーバ400-mが送信した更新完了連絡を受信し、受信した更新完了連絡に含まれるユーザの識別情報に基づいて、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータの更新状況を管理する。
以下、託送業務処理システム10を構成する管理サーバ100と、処理サーバ200と、データベースサーバ300と、更新サーバ400とのうち、管理サーバ100と、処理サーバ200と、更新サーバ400とについて、図2と図3とを参照して、詳細に説明する。
図2は、第1の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとのハードウェア構成の一例を示す図である。以下、管理サーバ100と、処理サーバ200と、更新サーバ400の順に、ハードウェア構成について説明する。
(管理サーバ100)
管理サーバ100は、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
管理サーバ100は、CPU152と、メモリ154と、記憶部156と、通信部166と、内部バス150とを備えている。
CPU152は、例えば記憶部156に格納されるプログラム1562とアプリ1563とを実行し、メモリ154をワークメモリとして使用して、管理サーバ100の各部を制御する。
メモリ154は、半導体素子を利用した揮発性のメモリなどのRAMによって構成され、CPU152のワークメモリとして使用される。
記憶部156は、例えばフラッシュメモリ等によって構成される。
記憶部156には、CPU152によって実行されるプログラム1562と、アプリ1563と、処理管理情報1565とが格納される。
プログラム1562は、例えば、オペレーティングシステムであり、ユーザやアプリケーションプログラムとハードウェアの中間に位置し、ユーザやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。
アプリ1563は、管理サーバ100に、外部システム50が送信した入力ファイルを取得させ、取得させた入力ファイルを、処理サーバ200-1~処理サーバ200-nのいずれかへ振り分けさせる。
アプリ1563は、管理サーバ100に、処理サーバ200-1~処理サーバ200-nのうち、振り分けの対象である処理サーバ200-mへ、入力ファイルを送信させる。
アプリ1563は、管理サーバ100に、処理サーバ200-mが送信した公開完了連絡を受信させ、受信させた公開完了連絡に基づいて、処理サーバ200-mにおいて、出力ファイルの公開が完了したことを管理させる。
アプリ1563は、管理サーバ100に、更新サーバ400-mが送信した更新完了連絡を取得させ、取得させた更新完了連絡に基づいて、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータの更新状況を管理させる。
処理管理情報1565は、複数のユーザの識別情報の各々と、ユーザデータの更新状況を示す情報とを関連付けた情報である。
通信部166は、ネットワークに接続された外部システム50、処理サーバ200、更新サーバ400などと通信して、データの送受信を行うためのインターフェースである。具体的には、通信部166は、ワイファイ(登録商標)等の無線通信技術で無線通信を行う無線デバイスによって構成される。また、通信部166は、有線LAN等の通信技術で通信を行うデバイスによって構成されてもよい。 内部バス150は、CPU152、メモリ154、記憶部156、及び通信部166を互いに接続する。内部バス150に接続される各部は、内部バス150を介して互いにデータのやり取りを行うことができるようにされている。
処理サーバ200は、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
処理サーバ200は、CPU252と、メモリ254と、記憶部256と、通信部266と、内部バス250とを備えている。
CPU252は、例えば記憶部256に格納されるプログラム2562とアプリ2563とを実行し、メモリ254をワークメモリとして使用して、処理サーバ200の各部を制御する。
メモリ254は、半導体素子を利用した揮発性のメモリなどのRAMによって構成され、CPU252のワークメモリとして使用される。メモリ254は、インメモリ領域258を有し、インメモリ領域258には、不変データ2582が記憶される。不変データ2582には、複数のユーザの各々の不変データが含まれる。
記憶部256は、例えばフラッシュメモリ等によって構成される。記憶部256には、CPU252によって実行されるプログラム2562と、アプリ2563とが格納される。
プログラム2562は、例えば、オペレーティングシステムであり、ユーザやアプリケーションプログラムとハードウェアの中間に位置し、ユーザやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。
アプリ2563は、処理サーバ200に、管理サーバ100が送信した不変データ読込命令を受信させる。アプリ2563は、処理サーバ200に、受信させた不変データ読込命令に基づいて、複数のユーザの各々の不変データを要求する情報を含み、データベースサーバ300を宛先とする不変データ要求を作成させ、作成させた不変データ要求を送信させる。アプリ2563は、処理サーバ200に、送信させた不変データ要求に対して、データベースサーバ300が送信した不変データ応答を受信させる。ここで、不変データ応答には、複数のユーザの各々の不変データが含まれる。
アプリ2563は、処理サーバ200に、不変データ応答に含まれる複数のユーザの各々の不変データを、メモリ254のインメモリ領域258に記憶させる。アプリ2563は、処理サーバ200に、管理サーバ100が送信した入力ファイルを受信させる。アプリ2563は、処理サーバ200に、受信させた入力ファイルに含まれるユーザの識別情報に基づいて、メモリ254のインメモリ領域258に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得させる。
アプリ2563は、処理サーバ200に、取得させた不変データと入力ファイルとに基づいて、処理を行わせることによって、出力ファイルを作成させる。アプリ2563は、処理サーバ200に、作成させた出力ファイルを公開させる。アプリ2563は、処理サーバ200に、公開完了連絡を作成させ、作成させた公開完了連絡を、管理サーバ100へ送信させる。アプリ2563は、処理サーバ200に、公開させた出力ファイルと、ユーザの識別情報とを含む出力情報を作成させ、作成させた出力情報を、更新サーバ400へ送信させる。
通信部266は、ネットワークに接続された管理サーバ100、データベースサーバ300、更新サーバ400などと通信して、データの送受信を行うためのインターフェースである。具体的には、通信部266は、ワイファイ(登録商標)等の無線通信技術で無線通信を行う無線デバイスによって構成される。また、通信部266は、有線LAN等の通信技術で通信を行うデバイスによって構成されてもよい。
内部バス250は、CPU252、メモリ254、記憶部256、及び通信部266を互いに接続する。内部バス250に接続される各部は、内部バス250を介して互いにデータのやり取りを行うことができるようにされている。
更新サーバ400は、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
更新サーバ400は、CPU452と、メモリ454と、記憶部456と、通信部466と、内部バス450とを備えている。
CPU452は、例えば記憶部456に格納されるプログラム4562とアプリ4563とを実行し、メモリ454をワークメモリとして使用して、更新サーバ400の各部を制御する。
メモリ454は、半導体素子を利用した揮発性のメモリなどのRAMによって構成され、CPU452のワークメモリとして使用される。
記憶部456は、例えばフラッシュメモリ等によって構成される。記憶部456には、CPU452によって実行されるプログラム4562と、アプリ4563とが格納される。
プログラム4562は、例えば、オペレーティングシステムであり、ユーザやアプリケーションプログラムとハードウェアの中間に位置し、ユーザやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。
アプリ4563は、更新サーバ400に、処理サーバ200-1~処理サーバ200-nのいずれかが送信した出力情報を受信させる。アプリ4563は、更新サーバ400に、受信させた出力情報に基づいて、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、出力ファイルに該当するユーザのユーザデータを更新させるための更新情報を作成させる。アプリ4563は、作成させた更新情報を、データベースサーバ300へ送信させる。
アプリ4563は、更新サーバ400に、データベースサーバ300へ更新情報を送信させることによって、データベースサーバ300の更新を終了させた場合に、更新完了連絡を作成させ、作成させた更新完了連絡を、管理サーバ100へ送信させる。
通信部466は、ネットワークに接続された管理サーバ100、処理サーバ200、データベースサーバ300などと通信して、データの送受信を行うためのインターフェースである。具体的には、通信部466は、ワイファイ(登録商標)等の無線通信技術で無線通信を行う無線デバイスによって構成される。また、通信部466は、有線LAN等の通信技術で通信を行うデバイスによって構成されてもよい。
内部バス450は、CPU452、メモリ454、記憶部456、及び通信部466を互いに接続する。内部バス450に接続される各部は、内部バス450を介して互いにデータのやり取りを行うことができるようにされている。
図3は、第1の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとを示すブロック図である。以下、管理サーバ100と、処理サーバ200と、データベースサーバ300と、更新サーバ400とのうち、管理サーバ100と、処理サーバ200と、更新サーバ400とについて順次説明する。
(管理サーバ)
管理サーバ100は、振分部102と、管理部104とを有している。これらの各部は、図2に示されている各構成要素のいずれかが、記憶部156からメモリ154上に展開されたプログラム1562と、アプリ1563とを実行するCPU152からの命令によって動作することで実現される機能である。
図2及び図3を用いて、管理サーバ100の各機能構成について詳細に説明する。
外部システム50は、30分などの所定の周期で、管理サーバ100に、入力ファイルを送信する。
管理サーバ100の振分部102は、CPU152からの命令、及び通信部166によって実現される。振分部102は、通信部166と処理サーバ200の通信部266との間でセッションが構築された後に、不変データ読込命令を作成し、作成した不変データ読込命令を、処理サーバ200-1~処理サーバ200-nの各々へ送信する。
振分部102は、通信部166と外部システム50との間でセッションが構築された後に、外部システム50が送信した入力ファイルを、通信部166から取得し、取得した入力ファイルを、処理サーバ200-1~処理サーバ200-nのいずれかへ振り分ける。例えば、処理サーバ200-1~処理サーバ200-nの各々と、乱数とを予め関連付ける。振分部102は、入力ファイルを取得した場合に、乱数を発生し、発生した乱数に関連付けられている処理サーバ200-mに、入力ファイルを振り分けるようにしてもよい。振分部102は、振り分け先である処理サーバ200-mを宛先とする入力ファイルを、通信部166へ出力する。通信部166は、振分部102が出力した入力ファイルを取得し、取得した入力ファイルを、処理サーバ200-mへ送信する。
通信部166は、更新サーバ400が送信した更新完了連絡を受信する。管理部104は、通信部166が受信した更新完了連絡を取得し、取得した更新完了連絡に基づいて、記憶部156に記憶されている処理管理情報1565を更新する。具体的には、管理部104は、受信した更新完了連絡に基づいて、記憶部156の処理管理情報1565に含まれる複数のユーザの識別情報の各々と、ユーザデータの更新状況を示す情報とを関連付けた情報のうち、更新完了連絡に含まれるユーザの識別情報に該当するユーザのユーザデータの更新状況を更新する。また、管理部104は、受信した更新完了連絡に基づいて、記憶部156の処理管理情報1565に含まれる複数のユーザの識別情報の各々と、ユーザデータの更新状況を示す情報とを関連付けた情報のうち、更新完了連絡に含まれるユーザの識別情報に該当するユーザのユーザデータの更新状況を登録することで、ログを取るようにしてもよい。
処理サーバ200は、取得部202と、処理部204とを有している。これらの各部は、図2に示されている各構成要素のいずれかが、記憶部256からメモリ254上に展開されたプログラム2562と、アプリ2563とを実行するCPU252からの命令によって動作することで実現される機能である。
図2及び図3を用いて、処理サーバ200の各機能構成について詳細に説明する。
処理サーバ200の取得部202は、CPU252からの命令、及び通信部266によって実現される。取得部202は、処理サーバ200が起動し、通信部266と管理サーバ100との間でセッションが構築された後に、管理サーバ100が送信した不変データ読込要求を、通信部266から取得する。取得部202は、取得した不変データ読込要求に基づいて、複数のユーザの各々の不変データを要求する情報を含み、データベースサーバ300を宛先とする不変データ要求を作成し、作成した不変データ要求を、通信部266へ出力する。
通信部266は、通信部266とデータベースサーバ300との間でセッションが構築された後に、取得部202が出力した不変データ要求を、送信する。通信部266は、不変データ要求に対して、データベースサーバ300が送信した複数のユーザの各々の不変データを含む不変データ応答を受信する。取得部202は、通信部266が受信した不変データ応答を取得し、取得した不変データ応答に含まれる複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、メモリ254のインメモリ領域258に記憶する。
処理部204は、CPU252からの命令、及び通信部266によって実現される。通信部266は、管理サーバ100との間でセッションが構築された後に、管理サーバ100が送信した入力ファイルを受信する。処理部204は、通信部266が受信した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、メモリ254のインメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。処理部204は、取得した不変データと、入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。処理部204は、作成した出力ファイルを出力することによって公開する。例えば、処理部204は、出力ファイルを、一般送配電事業者へ、通信部266から送信することによって公開してもよい。
第2処理部2044は、通信部266が受信した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。第2処理部2044は、取得した不変データと、入力ファイルとに基づいて、第2処理を行うことによって、出力ファイルを作成する。第2処理の一例は、電力単価を導出する処理である。電力単価を導出する処理には、様々な手法を適用できる。第2処理部2044は、作成した出力ファイルを公開する。処理部204は、出力ファイルを公開した後に、公開完了連絡を作成し、作成した公開完了連絡を、通信部266へ出力する。通信部266は、処理部204が出力した公開完了連絡を取得し、取得した公開完了連絡を、管理サーバ100へ送信する。
処理部204は、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、通信部266に出力する。通信部266は、処理部204が出力した出力情報を取得し、更新サーバ400との間でセッションが構築された後に、取得した出力情報を、更新サーバ400へ送信する。
更新サーバ400は、更新部402を有している。これらの各部は、図2に示されている各構成要素のいずれかが、記憶部456からメモリ454上に展開されたプログラム4562と、アプリ4563とを実行するCPU452からの命令によって動作することで実現される機能である。
図2及び図3を用いて、更新サーバ400の各機能構成について詳細に説明する。
更新サーバ400の更新部402は、CPU452からの命令、及び通信部466によって実現される。通信部466は、処理サーバ200との間でセッションが構築された後に、処理サーバ200が送信した出力情報を受信する。
更新部402は、通信部466が受信した出力情報を取得し、取得した出力情報に含まれるユーザの識別情報と、出力ファイルとを取得する。更新部402は、取得したユーザの識別情報と、出力ファイルとに基づいて、更新サーバ400を宛先とし、ユーザの識別情報と、出力ファイルとを含む更新情報を作成し、作成した更新情報を、通信部466に出力する。
通信部466は、データベースサーバ300との間でセッションが構築された後に、更新部402が出力した更新情報を送信する。
また、更新部402は、通信部466に更新情報を出力した後に、出力ファイルを出力したことを示す情報と、ユーザの識別情報とを含み、管理サーバ100を宛先とする更新完了連絡を作成し、作成した更新完了連絡を、通信部466に出力する。通信部466は、管理サーバ100との間でセッションが構築された後に、更新部402が出力した更新完了連絡を送信する。
図4は、第1の実施形態の託送業務処理システムの動作の一例を示すシーケンス図である。
図4を参照して、実施形態の託送業務処理システム10の動作について説明する。
(ステップS1)
管理サーバ100の振分部102は、通信部166と処理サーバ200-1の通信部266との間でセッションが構築された後に、不変データ読込命令を作成し、作成した不変データ読込命令を、通信部266へ出力する。通信部266は、振分部102が出力した不変データ読込命令を取得し、取得した不変データ読込命令を、処理サーバ200-1へ送信する。
管理サーバ100の振分部102は、通信部166と処理サーバ200-2~処理サーバ200-n-1の各々の通信部266との間でセッションが構築された後に、不変データ読込命令を作成し、作成した不変データ読込命令を、通信部266へ出力する。通信部266は、振分部102が出力した不変データ読込命令を取得し、取得した不変データ読込命令を、処理サーバ200-2~処理サーバ200-n-1へ送信する。
(ステップS2)
管理サーバ100の振分部102は、通信部166と処理サーバ200-nの通信部266との間でセッションが構築された後に、不変データ読込命令を作成し、作成した不変データ読込命令を、通信部266へ出力する。通信部266は、振分部102が出力した不変データ読込命令を取得し、取得した不変データ読込命令を送信する。
(ステップS3)
処理サーバ200-1において、通信部266は、管理サーバ100が送信した不変データ読込命令を受信し、受信した不変データ読込命令を、CPU252に出力する。CPU252は、通信部266が出力した不変データ読込命令を取得し、取得した不変データ読込命令に基づいて、取得部202として機能することによって、複数のユーザの各々の不変データを要求する情報を含み、データベースサーバ300を宛先とする不変データ要求を作成し、作成した不変データ要求を、通信部266へ出力する。通信部266は、取得部202が出力した不変データ要求を取得し、取得した不変データ要求を、データベースサーバ300へ送信する。
(ステップS4)
データベースサーバ300は、処理サーバ200-1が送信した不変データ要求を受信し、受信した不変データ要求に基づいて、複数のユーザの各々の不変データを含む不変データ応答を作成し、作成した不変データ応答を、処理サーバ200-1へ送信する。例えば、データベースサーバ300は、受信した不変データ要求に基づいて、スナップショットなどのファイルを複製する技術を使用してデータベースの複製を作成し、作成したデータベースの複製を含む不変データ応答を作成する。
(ステップS5)
処理サーバ200-1において、通信部166は、データベースサーバ300が送信した不変データ応答を受信し、受信した不変データ応答を、取得部202へ出力する。取得部202は、通信部166が出力した不変データ応答を取得し、取得した不変データ応答に含まれる複数のユーザの各々の不変データを、メモリ254のインメモリ領域258に記憶する。
処理サーバ200-1において、取得部202は、不変データを、インメモリ領域258に記憶したことを通知するための情報である記憶完了連絡を作成し、作成した記憶完了連絡を、通信部266に出力する。通信部266は、取得部202が出力した記憶完了連絡を取得し、取得した記憶完了連絡を、管理サーバ100へ送信する。
管理サーバ100と、処理サーバ200-2~処理サーバ200-n-1と、データベースサーバ300との間でも、ステップS3~ステップS6と同様の処理が行われる。
(ステップS7)
処理サーバ200-nにおいて、通信部266は、管理サーバ100が送信した不変データ読込命令を受信し、受信した不変データ読込命令を、CPU252に出力する。CPU252は、通信部266が出力した不変データ読込命令を取得し、取得した不変データ読込命令に基づいて、取得部202として機能することによって、複数のユーザの各々の不変データを要求する情報を含み、データベースサーバ300を宛先とする不変データ要求を作成し、作成した不変データ要求を、通信部266へ出力する。通信部266は、取得部202が出力した不変データ要求を取得し、取得した不変データ要求を、データベースサーバ300へ送信する。
(ステップS8)
データベースサーバ300は、処理サーバ200-nが送信した不変データ要求を受信し、受信した不変データ要求に基づいて、複数のユーザの各々の不変データを含む不変データ応答を作成し、作成した不変データ応答を、処理サーバ200-nへ送信する。例えば、データベースサーバ300は、受信した不変データ要求に基づいて、スナップショットなどのファイルを複製する技術を使用してデータベースの複製を作成し、作成したデータベースの複製を含む不変データ応答を作成する。
(ステップS9)
処理サーバ200-nにおいて、通信部266は、データベースサーバ300が送信した不変データ応答を受信し、受信した不変データ応答を、取得部202へ出力する。取得部202は、通信部266が出力した不変データ応答を取得し、取得した不変データ応答に含まれる複数のユーザの各々の不変データを、メモリ254のインメモリ領域258に記憶する。
(ステップS10)
処理サーバ200-nにおいて、取得部202は、不変データを、インメモリ領域258に記憶したことを通知するための情報である記憶完了連絡を作成し、作成した記憶完了連絡を、通信部266に出力する。通信部266は、取得部202が出力した記憶完了連絡を取得し、取得した記憶完了連絡を、管理サーバ100へ送信する。
管理サーバ100において、通信部166は、外部システム50が、所定の周期で送信した入力ファイルを受信し、受信した入力ファイルを、CPU152へ出力する。CPU152は、振分部102として機能する。振分部102は、通信部166が受信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ200-1~処理サーバ200-nのいずれかへ振り分ける。振分部102は、振り分け先を宛先とする入力ファイルを、通信部166へ出力する。通信部166は、振分部102が出力した入力ファイルを取得し、取得した入力ファイルを、送信する。ここでは、管理サーバ100が、処理サーバ200-1へ、入力ファイルを送信した場合について説明を続ける。
(ステップS12)
管理サーバ100において、通信部166は、外部システム50が、所定の周期で送信した入力ファイルを受信し、受信した入力ファイルを、CPU152へ出力する。CPU152は、振分部102として機能する。振分部102は、通信部166が受信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ200-1~処理サーバ200-nのいずれかへ振り分ける。振分部102は、振り分け先を宛先とする入力ファイルを、通信部166へ出力する。通信部166は、振分部102が出力した入力ファイルを取得し、取得した入力ファイルを、送信する。ここでは、管理サーバ100が、処理サーバ200-nへ、入力ファイルを送信した場合について説明を続ける。
(ステップS13)
処理サーバ200-1において、通信部266は、管理サーバ100が送信した入力ファイルを受信し、受信した入力ファイルを、処理部204に出力する。処理部204は、通信部266が出力した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。処理部204は、取得した不変データと、入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。
(ステップS14)
処理サーバ200-1において、処理部204は、作成した出力ファイルを公開する。
(ステップS15)
処理サーバ200-1において、処理部204は、ユーザの識別情報と、作成した出力ファイルとを含み、更新サーバ400-1を宛先とする出力情報を作成し、作成した出力情報を、通信部266に出力する。通信部266は、処理部204が出力した出力情報を取得し、取得した出力情報を、更新サーバ400-1へ送信する。更新サーバ400-1の通信部466は、処理サーバ200-1が送信した出力情報を受信し、受信した出力情報を、CPU452へ出力する。
(ステップS16)
処理サーバ200-1において、処理部204は、公開完了連絡を作成し、作成した公開完了連絡を、通信部266へ出力する。通信部266は、処理部204が出力した公開完了連絡を取得し、取得した公開完了連絡を、管理サーバ100へ送信する。
処理サーバ200-nにおいて、通信部266は、ステップS12で管理サーバ100が送信した入力ファイルを受信し、受信した入力ファイルを、処理部204に出力する。処理部204は、通信部266が出力した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。処理部204は、取得した不変データと、入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。
(ステップS18)
処理サーバ200-nにおいて、処理部204は、作成した出力ファイルを公開する。
(ステップS19)
処理サーバ200-nにおいて、処理部204は、ユーザの識別情報と、作成した出力ファイルとを含み、更新サーバ400-nを宛先とする出力情報を作成し、作成した出力情報を、通信部266に出力する。通信部266は、処理部204が出力した出力情報を取得し、取得した出力情報を、更新サーバ400-nへ送信する。更新サーバ400-nの通信部466は、処理サーバ200-nが送信した出力情報を受信し、受信した出力情報を、CPU452へ出力する。
(ステップS20)
処理サーバ200-nにおいて、処理部204は、公開完了連絡を作成し、作成した公開完了連絡を、通信部266へ出力する。通信部266は、処理部204が出力した公開完了連絡を取得し、取得した公開完了連絡を、管理サーバ100へ送信する。
(ステップS21)
更新サーバ400-1と、更新サーバ400-nとにおいて、CPU452は、更新部402として機能することによって、通信部466が出力した出力情報を取得する。ここでは、更新サーバ400-1の更新部402は、処理サーバ200-1が送信した出力情報を取得し、更新サーバ400-nの更新部402は、処理サーバ200-nが送信した出力情報を取得する。
更新部402は、取得した出力情報に含まれるユーザの識別情報と、出力ファイルとを含み、データベースサーバ300を宛先とする更新情報を作成し、作成した更新情報を、通信部466へ出力する。ここでは、更新サーバ400-1において、更新部402は、処理サーバ200-1が送信した出力情報に含まれるユーザの識別情報と、出力ファイルとを含み、データベースサーバ300を宛先とする更新情報を作成し、作成した更新情報を、通信部466へ出力する。更新サーバ400-nにおいて、更新部402は、処理サーバ200-nが送信した出力情報に含まれるユーザの識別情報と、出力ファイルとを含み、データベースサーバ300を宛先とする更新情報を作成し、作成した更新情報を、通信部466へ出力する。
更新サーバ400-1と、更新サーバ400-nとにおいて、通信部466は、更新部402が出力した更新情報を、データベースサーバ300へ送信する。
(ステップS22)
データベースサーバ300は、更新サーバ400-1と、更新サーバ400-nとが送信した更新情報を受信し、受信した更新情報に含まれるユーザの識別情報と、出力ファイルとに基づいて、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータを更新する。
(ステップS23)
更新サーバ400-1と、更新サーバ400-nとにおいて、更新部402は、更新が完了したことを通知する情報である更新完了連絡を作成し、作成した更新完了連絡を、通信部466へ出力する。通信部466は、更新部402が出力した更新完了連絡を取得し、取得した更新完了連絡を、管理サーバ100へ送信する。
その後、管理サーバ100の通信部166は、更新サーバ400-1と、更新サーバ400-nとが送信した更新完了連絡を受信し、受信した更新完了連絡を、CPU152へ出力する。CPU152は、管理部104として機能する。管理部104は、通信部166が受信した更新完了連絡を取得し、取得した更新完了連絡に含まれるユーザの識別情報に基づいて、記憶部156に記憶されている処理管理情報1565を更新する。
図4に示されるシーケンスチャートにおいて、更新サーバ400-1は、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータの更新を、ステップS15とステップS20との間に行ってもよい。つまり、更新サーバ400-1は、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータの更新を、処理サーバ200-1から、出力情報を受信したタイミングで行ってもよい。
前述した実施形態では、託送業務処理システムに含まれる管理サーバ100と、処理サーバ200-1~処理サーバ200-nと、データベースサーバ300と、更新サーバ400-1~更新サーバ400-nとが別々の装置で構成される場合について説明したが、この限りでない。例えば、処理サーバ200-1~処理サーバ200-nの各々が、管理サーバ100を備えるようにしてもよいし、処理サーバ200-1~処理サーバ200-nの各々が、更新サーバ400-1~更新サーバ400-nの各々を備えてもよい。
前述した実施形態では、管理サーバ100が、外部システム50が、30分などの所定の周期で送信した入力ファイルを処理する場合について説明したが、この限りでない。例えば、管理サーバ100は、外部システム50が任意のタイミングで送信した入力ファイルを処理するようにしてもよいし、外部システム50が送信した入力ファイルの一部の入力ファイルを処理してもよい。また、管理サーバ100が、データベースサーバ300からファイルを取得し、取得したファイルを処理してもよい。
前述した実施形態では、更新サーバ400-1から更新サーバ400-nの各々が、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータの更新が終了した場合に、更新完了連絡を、管理サーバ100へ送信する場合について説明したが、この限りでない。例えば、更新サーバ400-1から更新サーバ400-nの各々は、処理サーバ200-1から処理サーバ200-nの各々が送信した出力情報を受信したタイミングで、受信した出力情報に含まれる出力ファイルの更新が終了したことを示す更新完了連絡を、管理サーバ100へ送信するようにしてもよい。この場合、更新サーバ400-1から更新サーバ400-nの各々は、更新が終了したことを示す更新完了連絡を、管理サーバ100に送信した後に、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータを更新する。つまり、出力ファイルの公開と、管理サーバ100で管理されるユーザデータの更新状況と、データベースサーバ300の更新状況とが非同期となる。
また、更新サーバ400-1から更新サーバ400-nの各々が、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータのうち、即時反映が必要なデータの更新が終了した場合に、更新完了連絡を、管理サーバ100へ送信してもよい。この場合、更新サーバ400は、更新完了連絡を、管理サーバ100に送信した後に、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、出力ファイルに該当するユーザのユーザデータのうち即時反映が必要でないデータを更新する。つまり、出力ファイルの公開と、管理サーバ100で管理されるユーザデータの更新状況と、データベースサーバ300の更新状況とが非同期となる。
前述した実施形態では、処理サーバ200-1から処理サーバ200-nの各々が、不変データ要求を送信することで、データベースサーバ300から複数のユーザの各々の不変データを取得する場合について説明したがこの限りでない。例えば、データベースサーバ300が、処理サーバ200-1~処理サーバ200-nの各々から、不変データ要求を受信することなく、複数のユーザの各々の不変データを送信するようにしてもよい。
このように構成することによって、処理サーバ200-1から処理サーバ200-nの各々は、入力ファイルを取得する度に、データベースサーバ300からユーザの識別情報に該当するユーザの不変データを取得しなくても処理を行うことができる。このため、処理サーバ200-1から処理サーバ200-nの各々が、データベースサーバ300へアクセスする回数を減らすことができるため、処理の遅延を短縮できる。
さらに、データベースサーバ300から複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、インメモリ領域258に記憶することによって、インメモリ領域258に記憶される不変データの多重度を向上できるため、データベースサーバ300へアクセスする回数を減らすことができる。このため、処理の遅延を短縮できる。
また、実施形態の託送業務処理システムによれば、更新サーバ400-1から更新サーバ400-nの各々は、処理サーバ200-1~処理サーバ200-nの各々が送信した出力情報に含まれる出力ファイルに基づいて、出力ファイルの公開とは非同期に、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータを更新する。このように構成することによって、処理サーバ200-1から処理サーバ200-nの各々は、最優先に、出力ファイルを公開できる。
また、実施形態の託送業務処理システムによれば、処理サーバ200-1から処理サーバ200-nの各々は、インメモリ領域258に同じ不変データを記憶する。このように構成することによって、管理サーバ100が、処理サーバ200-1から処理サーバ200-nのいずれに入力ファイルを振り分けても、入力ファイルに対して、同じ処理を行わせることができるため、管理サーバ100の振分処理を単純にできる。
(託送業務処理システム)
図5は、第1の実施形態の変形例の託送業務処理システムの一例を示す図である。変形例の託送業務処理システム10aは、本実施形態の託送業務処理システム10と比較して、管理サーバ100の代わりに管理サーバ100aを備え、処理サーバ200の代わりに処理サーバ200aを備える。さらに、管理サーバ100aと、データベースサーバ300とが接続される。
託送業務処理システム10aでは、管理サーバ100aは、処理サーバ200a-1~処理サーバ200a-nの各々が記憶した不変データの整合性をチェックする。
託送業務処理システム10aは、管理サーバ100aと、処理サーバ200a-1~処理サーバ200a-n(nは、n>0の整数)と、データベースサーバ300と、更新サーバ400-1~更新サーバ400-nとを含む。さらに、図5には、外部システム50も示されている。
処理サーバ200a-1~処理サーバ200a-nの各々は、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、不変データを取得し、取得した複数のユーザの各々の不変データを、処理サーバ200a-1~処理サーバ200a-nの各々が備えるインメモリ領域に記憶する。
管理サーバ100aは、処理サーバ200a-1~処理サーバ200a-nの各々が取得した複数のユーザの各々の不変データと同様のデータであるチェックデータを取得し、取得したチェックデータを記憶する。
管理サーバ100aは、処理サーバ200a-1~処理サーバ200a-nの各々が送信したチェック情報を受信し、受信したチェック情報に基づいて、処理サーバ200a-1~処理サーバ200a-nの各々のインメモリ領域258に記憶されている複数のユーザの各々の不変データが正しいか否かを判定する。
管理サーバ100aは、外部システム50が送信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ200a-1~処理サーバ200a-nのうち、インメモリ領域258に記憶されている複数のユーザの各々の不変データが正しい処理サーバへ送信する。
処理サーバ200a-1~処理サーバ200a-nのうち、管理サーバ100aが送信した入力ファイルの宛先である処理サーバ200a(以下、「処理サーバ200a-m(mは、n≧m>0の整数)」という)は、管理サーバ100aが送信した入力ファイルを受信する。処理サーバ200a-mは、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得する。処理サーバ200a-mは、取得した不変データと入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。処理サーバ200a-mは、作成した出力ファイルを公開し、公開完了連絡を作成し、作成した公開完了連絡を、管理サーバ100aへ送信する。処理サーバ200a-mは、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、更新サーバ400-1~更新サーバ400-nのうち、処理サーバ200a-mと関連付けられている更新サーバ400-mへ送信する。
以下、処理サーバ200a-1~処理サーバ200a-nのうち、任意の処理サーバを、処理サーバ200aと記載する。
託送業務処理システム10aを構成する管理サーバ100aと、処理サーバ200aと、データベースサーバ300と、更新サーバ400とのうち、前述した実施形態と異なる管理サーバ100aと、処理サーバ200aとについて、図5~図7を参照して、詳細に説明する。
図6は、第1の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。以下、管理サーバ100aと、処理サーバ200aとの順に、ハードウェア構成について説明する。
(管理サーバ100a)
管理サーバ100aは、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
管理サーバ100aは、CPU152と、メモリ154と、記憶部156aと、通信部166と、内部バス150とを備えている。
CPU152は、例えば記憶部156aに格納されるプログラム1562とアプリ1563aとを実行し、メモリ154をワークメモリとして使用して、管理サーバ100aの各部を制御する。
アプリ1563aは、管理サーバ100aに、データベースサーバ300が送信したチェックデータを受信させ、受信させたチェックデータを記憶させる。アプリ1563aは、管理サーバ100aに、処理サーバ200a-1~処理サーバ200a―nの各々が送信したチェック情報を受信させ、受信させたチェック情報と、記憶したチェックデータとに基づいて、処理サーバ200a-1~処理サーバ200a-nの各々のインメモリ領域に記憶されている複数のユーザの各々の不変データが正しいか否かを判定させる。アプリ1563aは、管理サーバ100aに、外部システム50が送信した入力ファイルを取得させ、取得させた入力ファイルを、処理サーバ200a-1~処理サーバ200a-nのうち、インメモリ領域に記憶されている複数のユーザの各々の不変データが正しい処理サーバ200aのいずれかへ振り分けさせる。
アプリ1563aは、管理サーバ100aに、インメモリ領域258に記憶されている複数のユーザの各々の不変データが正しい処理サーバ200aのうち、振り分けさせた処理サーバ200-mに、入力ファイルを送信させる。アプリ1563aは、管理サーバ100aに、処理サーバ200a-mが送信した公開完了連絡を受信させ、受信させた公開完了連絡に含まれるユーザの識別情報に基づいて、処理サーバ200a-mにおいて、出力ファイルの公開が完了したことを管理させる。アプリ1563aは、管理サーバ100aに、更新サーバ400-mが送信した更新完了連絡を取得させ、取得させた更新完了連絡に基づいて、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータの更新状況を管理させる。
処理サーバ200aは、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
処理サーバ200aは、CPU252と、メモリ254と、記憶部256aと、通信部266と、内部バス250とを備えている。
CPU252は、例えば記憶部256aに格納されるプログラム2562とアプリ2563aとを実行し、メモリ254をワークメモリとして使用して、処理サーバ200aの各部を制御する。
記憶部256aは、例えばフラッシュメモリ等によって構成される。記憶部256aには、CPU252によって実行されるプログラム2562と、アプリ2563aとが格納される。
アプリ2563aは、処理サーバ200aに、管理サーバ100aが送信した不変データ読込命令を受信させる。アプリ2563aは、処理サーバ200aに、受信させた不変データ読込命令に基づいて、不変データ要求を作成させ、作成させた不変データ要求を送信させる。アプリ2563aは、処理サーバ200aに、送信させた不変データ要求に対して、データベースサーバ300が送信した不変データ応答を受信させる。アプリ2563aは、処理サーバ200aに、不変データ応答に含まれる複数のユーザの各々の不変データを、メモリ254のインメモリ領域258に記憶させる。
アプリ2563aは、処理サーバ200aに、インメモリ領域258に記憶されているデータの状況を示す情報を含み、管理サーバ100aを宛先とするチェック情報を作成させ、作成させたチェック情報を、管理サーバ100aへ送信させる。アプリ2563aは、処理サーバ200aに、管理サーバ100aが送信した入力ファイルを受信させる。アプリ2563aは、処理サーバ200aに、受信させた入力ファイルに含まれるユーザの識別情報に基づいて、メモリ254のインメモリ領域258に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得させる。
アプリ2563aは、処理サーバ200aに、取得させた不変データと入力ファイルとに基づいて、処理を行わせることによって、出力ファイルを作成させる。アプリ2563aは、処理サーバ200aに、作成させた出力ファイルを公開させる。アプリ2563aは、処理サーバ200aに、公開完了連絡を作成させ、作成させた公開完了連絡を、管理サーバ100aへ送信させる。アプリ2563aは、処理サーバ200aに、公開させた出力ファイルと、ユーザの識別情報とを含む出力情報を作成させ、作成させた出力情報を、更新サーバ400へ送信させる。
図7は、第1の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとを示すブロック図である。以下、管理サーバ100aと、処理サーバ200aと、データベースサーバ300と、更新サーバ400とのうち、前述した実施形態と異なる管理サーバ100aと、処理サーバ200aとについて順次説明する。
(管理サーバ100a)
管理サーバ100aは、判定部101と、振分部102aと、管理部104とを有している。これらの各部は、図6に示されている各構成要素のいずれかが、記憶部156aからメモリ154上に展開されたプログラム1562と、アプリ1563aとを実行するCPU152からの命令によって動作することで実現される機能である。
図6及び図7を用いて、管理サーバ100aの各機能構成について詳細に説明する。
管理サーバ100aの判定部101は、CPU152からの命令、及び通信部166によって実現される。通信部166は、データベースサーバ300が送信したチェックデータを受信する。判定部101は、通信部166が受信したチェックデータを取得し、取得したチェックデータを、記憶部156aに記憶する。
通信部166は、処理サーバ200a-1~処理サーバ200a―nの各々が送信したチェック情報を受信し、受信したチェック情報を、判定部101へ出力する。
判定部101は、CPU152からの命令によって実現される。判定部101は、通信部166が出力した、チェック情報を取得し、取得したチェック情報に含まれるインメモリ領域に記憶されているデータの状況を示す情報を取得する。判定部101は、取得したインメモリ領域258に記憶されているデータの状況を示す情報と、記憶部156aに記憶したチェックデータとに基づいて、データの状況を示す情報と、チェックデータとが整合するか否かを判定することによって、処理サーバ200a-1~処理サーバ200a-nの各々のインメモリ領域258に記憶されている複数のユーザの各々の不変データが正しいか否かを判定する。
具体的には、判定部101は、インメモリ領域258に記憶されているデータの状況を示す情報に含まれるインメモリ領域258に記憶されている不変データの件数、サイズ、ハッシュ値が、記憶部156aに記憶したチェックデータに含まれる複数のユーザの各々の不変データの件数、サイズ、ハッシュ値と一致するか否かを判定し、一致する場合には整合するため、インメモリ領域258に記憶されている不変データが正しいと判定し、一致しない場合には整合しないため、インメモリ領域258に記憶されている不変データが正しくないと判定する。判定部101は、処理サーバ200a-1~処理サーバ200a-nの各々のインメモリ領域258に記憶されているデータが正しいか否かの判定結果を、振分部102aに出力する。
振分部102aは、CPU152からの命令、及び通信部166によって実現される。振分部102aは、判定部101が出力した処理サーバ200a-1~処理サーバ200a-nの各々のインメモリ領域258に記憶されているデータが正しいか否かの判定結果を取得する。振分部102aは、通信部166と外部システム50との間でセッションが構築された後に、外部システム50が送信した入力ファイルを、通信部166から取得し、取得した入力ファイルを、処理サーバ200a-1~処理サーバ200a-nのうち、判定部101が、インメモリ領域258に記憶されている複数のユーザの各々の不変データが正しいと判定した処理サーバ200aのいずれかへ振り分ける。例えば、インメモリ領域258に記憶されている複数のユーザの各々の不変データが正しいと判定した処理サーバ200aの各々と、乱数とを予め関連付ける。振分部102aは、入力ファイルを取得した場合に、乱数を発生し、発生した乱数に関連付けられている処理サーバ200a-mに、入力ファイルを振り分けるようにしてもよい。振分部102aは、振り分け先である処理サーバ200-mを宛先とする入力ファイルを、通信部166へ出力する。通信部166は、振分部102aが出力した入力ファイルを取得し、取得した入力ファイルを、処理サーバ200-m送信する。
処理サーバ200aは、取得部202と、処理部204と、作成部206とを有している。これらの各部は、図6に示されている各構成要素のいずれかが、記憶部256aからメモリ254上に展開されたプログラム2562と、アプリ2563aとを実行するCPU252からの命令によって動作することで実現される機能である。
図6及び図7を用いて、処理サーバ200aの各機能構成について詳細に説明する。
処理サーバ200aの作成部206は、CPU252からの命令、及び通信部266によって実現される。作成部206は、インメモリ領域258に記憶されているデータの状況を示す情報を含み、管理サーバ100aを宛先とするチェック情報を作成し、作成したチェック情報を、通信部266へ出力する。
図8は、第1の実施形態の変形例の託送業務処理システムの動作の一例を示すシーケンス図である。
図8を参照して、実施形態の変形例の託送業務処理システム10aの動作について説明する。
(ステップS31)
データベースサーバ300は、チェックデータを、管理サーバ100aへ送信する。
(ステップS32)
管理サーバ100aの通信部166は、データベースサーバ300が送信したチェックデータを受信し、受信したチェックデータを、CPU152へ出力する。CPU152は、判定部101として機能することによって、通信部166が出力したチェックデータを取得し、取得し卓チェックデータを、記憶部156aに記憶する。
ステップS33~ステップS37は、前述したステップS1~ステップS5を適用できる。
(ステップS38)
処理サーバ200a-1の作成部206は、インメモリ領域258に記憶されているデータの状況を示す情報を含み、管理サーバ100aを宛先とするチェック情報を作成し、作成したチェック情報を、通信部266へ出力する。通信部266は、作成部206が出力したチェック情報を取得し、取得したチェック情報を、管理サーバ100aに送信する。
管理サーバ100aにおいて、通信部166は、処理サーバ200a-1が送信したチェック情報を受信し、受信したチェック情報を、CPU152へ出力する。
CPU152は、判定部101として機能することによって、通信部166が出力したチェック情報を取得する。判定部101は、取得したチェック情報に含まれるインメモリ領域258に記憶されているデータの状況を示す情報を取得する。
判定部101は、取得した処理サーバ200a-1のインメモリ領域258に記憶されているデータの状況を示す情報と、記憶部156aに記憶したチェックデータとに基づいて、処理サーバ200a-1のインメモリ領域258に記憶されている複数のユーザの各々の不変データが正しいか否かを判定する。判定部101は、処理サーバ200a-1のインメモリ領域258に記憶されている不変データの判定結果を、振分部102aに出力する。
ここでは、判定部101が、処理サーバ200a-1のインメモリ領域258に記憶されている複数のユーザの各々の不変データが正しいと判定した場合について説明を続ける。
(ステップS30)
管理サーバ100aにおいて、振分部102aは、判定部101が出力した不変データの判定結果を取得する。振分部102aは、通信部166と外部システム50との間でセッションが構築された後に、外部システム50が送信した入力ファイルを、通信部166から取得し、取得した入力ファイルを、処理サーバ200a-1から処理サーバ200a-nのうち、インメモリ領域258に記憶されている複数のユーザの各々の不変データが正しいと判定した処理サーバ200a-1へ振り分ける。
振分部102aは、振り分け先である処理サーバ200a-1を宛先とする入力ファイルを、通信部166へ出力する。通信部166は、振分部102aが出力した入力ファイルを取得し、取得した入力ファイルを、処理サーバ200a-1へ送信する。
ステップS41~ステップS46は、ステップS35~ステップS40を適用できる。
ステップS40より後の処理は、前述したステップS13からS23を適用できる。
前述した変形例では、託送業務処理システムに含まれる管理サーバ100aと、処理サーバ200a-1~処理サーバ200a-nと、データベースサーバ300と、更新サーバ400-1~更新サーバ400-nとが別々の装置で構成される場合について説明したが、この限りでない。例えば、処理サーバ200a-1~処理サーバ200a-nの各々が、管理サーバ100aを備えるようにしてもよいし、処理サーバ200a-1~処理サーバ200a-nの各々が、更新サーバ400-1~更新サーバ400-nの各々を備えてもよい。
前述した変形例では、処理サーバ200a-1~処理サーバ200a-nの各々が、チェック情報を送信する場合について説明したが、この例に限られない。例えば、管理サーバ100aが、処理サーバ200a-1~処理サーバ200a-nの各々を宛先とし、チェック情報を要求する情報を含むチェック情報要求を作成し、作成したチェック情報要求を送信してもよい。この場合、処理サーバ200a-1~処理サーバ200a-nの各々は、管理サーバ100aが送信したチェック情報要求を受信し、受信したチェック情報要求に基づいて、チェック情報を作成し、送信する。
管理サーバ100aは、外部システム50が送信した入力ファイルを受信し、受信した入力ファイルを、処理サーバ200-1~処理サーバ200-nのうち、インメモリ領域258に記憶されているデータが正しい処理サーバ200aへ送信する。
処理サーバ200-1~処理サーバ200-nの各々は、入力ファイルを受信した場合に、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、入力ファイルに該当する不変データを取得し、取得した不変データと、入力ファイルとに基づいて、処理を行う。このように構成することによって、管理サーバ100aは、インメモリ領域に記憶されているデータが正しくない処理サーバ200aには、入力ファイルを送信しないため、出力ファイルの信頼性を向上できる。
(託送業務処理システム)
図9は、第2の実施形態の託送業務処理システムの一例を示す図である。第2の実施形態の託送業務処理システム10bは、第1の実施形態の変形例の託送業務処理システム10aと比較して、処理サーバ200a-1~処理サーバ200a-nの代わりに処理サーバ200b-1~処理サーバ200b-nを備える。さらに、更新サーバ400-1~更新サーバ400-nが省略される。
託送業務処理システム10bでは、処理サーバ200b-1から処理サーバ200b-nの各々は、出力ファイルを公開した場合に、出力情報を、データベースサーバ300に直接送信する。データベースサーバ300は、処理サーバ200b-1から処理サーバ200b-nの各々が送信した出力情報を受信し、受信した出力情報に基づいて、記憶している複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータを更新する。
託送業務処理システム10bは、管理サーバ100aと、処理サーバ200b-1~処理サーバ200b-nと、データベースサーバ300とを含む。さらに、図9には、外部システム50も示されている。
処理サーバ200b-1~処理サーバ200b-nの各々は、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、不変データを取得し、取得した複数のユーザの各々の不変データを、処理サーバ200b-1~処理サーバ200b-nの各々が備えるインメモリ領域に記憶する。
管理サーバ100aは、処理サーバ200b-1~処理サーバ200b-nの各々が取得した複数のユーザの各々の不変データと同様のデータであるチェックデータを取得し、取得したチェックデータを記憶する。
管理サーバ100aは、処理サーバ200b-1~処理サーバ200b-nの各々が送信したチェック情報を受信し、受信したチェック情報に基づいて、処理サーバ200b-1~処理サーバ200b-nの各々のインメモリ領域258に記憶されている複数のユーザの各々の不変データが正しいか否かを判定する。
管理サーバ100aは、外部システム50が送信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ200b-1~処理サーバ200b-nのうち、インメモリ領域258に記憶されている複数のユーザの各々の不変データが正しい処理サーバへ送信する。
処理サーバ200b-1~処理サーバ200b-nのうち、管理サーバ100aが送信した入力ファイルの宛先である処理サーバ200b(以下、「処理サーバ200b-m(mは、n≧m>0の整数)」という)は、管理サーバ100aが送信した入力ファイルを受信する。処理サーバ200b-mは、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得する。処理サーバ200b-mは、取得した不変データと入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。処理サーバ200a-mは、作成した出力ファイルを公開し、公開完了連絡を作成し、作成した公開完了連絡を、管理サーバ100aへ送信する。処理サーバ200a-mは、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、データベースサーバ300へ送信する。
データベースサーバ300は、処理サーバ200b-mが送信した出力情報を受信し、受信した出力情報に基づいて、複数のユーザの各々のユーザデータを更新する。
以下、処理サーバ200b-1~処理サーバ200b-nのうち、任意の処理サーバを、処理サーバ200bと記載する。
託送業務処理システム10bを構成する管理サーバ100aと、処理サーバ200bと、データベースサーバ300とのうち、主に処理サーバ200bについて、図9~図11とを参照して、詳細に説明する。
図10は、第2の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。以下、管理サーバ100aと、処理サーバ200bとのうち、主に処理サーバ200bのハードウェア構成について説明する。
(処理サーバ200b)
処理サーバ200bは、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
処理サーバ200bは、CPU252と、メモリ254と、記憶部256bと、通信部266と、内部バス250とを備えている。
CPU252は、例えば記憶部256bに格納されるプログラム2562とアプリ2563bとを実行し、メモリ254をワークメモリとして使用して、処理サーバ200bの各部を制御する。
記憶部256bは、例えばフラッシュメモリ等によって構成される。記憶部256bには、CPU252によって実行されるプログラム2562と、アプリ2563bとが格納される。
アプリ2563bは、処理サーバ200bに、管理サーバ100aが送信した不変データ読込命令を受信させる。アプリ2563bは、処理サーバ200bに、受信させた不変データ読込命令に基づいて、不変データ要求を作成させ、作成させた不変データ要求を送信させる。アプリ2563bは、処理サーバ200bに、送信させた不変データ要求に対して、データベースサーバ300が送信した不変データ応答を受信させる。アプリ2563bは、処理サーバ200bに、不変データ応答に含まれる複数のユーザの各々の不変データを、インメモリ領域258に記憶させる。
アプリ2563bは、処理サーバ200bに、インメモリ領域258に記憶されているデータの状況を示す情報を含み、管理サーバ100aを宛先とするチェック情報を作成させ、作成させたチェック情報を、管理サーバ100aへ送信させる。アプリ2563bは、処理サーバ200bに、管理サーバ100aが送信した入力ファイルを受信させる。アプリ2563bは、処理サーバ200bに、受信させた入力ファイルに含まれるユーザの識別情報に基づいて、メモリ254のインメモリ領域258に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得させる。
アプリ2563bは、処理サーバ200bに、取得させた不変データと入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成させる。アプリ2563bは、処理サーバ200bに、作成させた出力ファイルを公開させる。アプリ2563bは、処理サーバ200bに、公開完了連絡を作成させ、作成させた公開完了連絡を、管理サーバ100aへ送信させる。アプリ2563bは、処理サーバ200bに、公開させた出力ファイルと、ユーザの識別情報とを含む出力情報を作成させ、作成させた出力情報を、データベースサーバ300へ送信させる。
図11は、第2の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバとを示すブロック図である。以下、管理サーバ100aと、処理サーバ200bとについて説明する。
(管理サーバ100a)
管理サーバ100aの通信部166は、処理サーバ200bが送信した公開・更新完了連絡を受信し、受信した公開・更新完了連絡を、CPU152へ出力する。CPU152は、管理部104として機能する。管理部104は、通信部166が出力した公開・更新完了連絡を取得し、取得した公開・更新完了連絡に基づいて、処理サーバ200bが、出力ファイルを公開したことと、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータの更新が終了したこととを管理する。
(処理サーバ200b)
処理サーバ200bは、取得部202と、処理部204と、作成部206と、インメモリ領域258とを有している。これらの各部は、図10に示されている各構成要素のいずれかが、記憶部256aからメモリ254上に展開されたプログラム2562と、アプリ2563bとを実行するCPU252からの命令によって動作することで実現される機能である。
図9~図11を用いて、処理サーバ200bの各機能構成について詳細に説明する。
処理サーバ200bの作成部206は、CPU252からの命令、及び通信部266によって実現される。作成部206は、インメモリ領域258に記憶されているデータの状況を示す情報を含み、管理サーバ100aを宛先とするチェック情報を作成し、作成したチェック情報を、通信部266へ出力する。
処理部204は、公開した出力ファイルと、ユーザの識別情報とを含み、データベースサーバ300を宛先とする出力情報を作成し、作成した出力情報を、通信部266に出力する。通信部266は、処理部204が出力した出力情報を取得し、データベースサーバ300との間でセッションが構築された後に、取得した出力情報を、データベースサーバ300へ送信する。
処理部204は、管理サーバ100に出力ファイルを公開したことと、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータの更新が終了したこととを通知するための情報である公開・更新完了連絡を作成し、作成した公開・更新完了連絡を、通信部266に出力する。通信部266は、処理部204が出力した公開・更新完了連絡を取得し、取得した公開・更新完了連絡を、管理サーバ100aへ送信する。
図12は、第2の実施形態の託送業務処理システムの動作の一例を示すシーケンス図である。
図12を参照して、第2の実施形態の託送業務処理システム10bの動作について説明する。ステップS51~ステップS59は、前述したステップS31~ステップS39を適用できる。ステップS60~ステップS64は、前述したステップS41~ステップS45を適用できる。ステップS65~ステップS68は、前述したステップS11~ステップS14を適用できる。
(ステップS69)
処理サーバ200b-1において、処理部204は、ユーザの識別情報と、作成した出力ファイルとを含み、データベースサーバ300を宛先とする出力情報を作成し、作成した出力情報を、通信部266に出力する。通信部266は、処理部204が出力した出力情報を取得し、取得した出力情報を、データベースサーバ300へ送信する。データベースサーバ300は、処理サーバ200b-1が送信した出力情報を受信する。
(ステップS70)
処理サーバ200b-1において、処理部204は、公開・更新完了連絡を作成し、作成した公開・更新完了連絡を、通信部266へ出力する。通信部266は、処理部204が出力した公開・更新完了連絡を取得し、取得した公開・更新完了連絡を、管理サーバ100aへ送信する。
(ステップS71)
データベースサーバ300は、処理サーバ200b-1が送信した出力情報を受信し、受信した出力情報に含まれるユーザの識別情報と、出力ファイルとに基づいて、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータを更新する。
ステップS72~ステップS73は、前述したステップS17~ステップS18を適用できる。
(ステップS74)
処理サーバ200b-nにおいて、処理部204は、ユーザの識別情報と、作成した出力ファイルとを含み、データベースサーバ300を宛先とする出力情報を作成し、作成した出力情報を、通信部266に出力する。通信部266は、処理部204が出力した出力情報を取得し、取得した出力情報を、データベースサーバ300へ送信する。データベースサーバ300は、処理サーバ200b-nが送信した出力情報を受信する。
(ステップS75)
処理サーバ200b-nにおいて、処理部204は、公開・更新完了連絡を作成し、作成した公開・更新完了連絡を、通信部266へ出力する。通信部266は、処理部204が出力した公開・更新完了連絡を取得し、取得した公開・更新完了連絡を、管理サーバ100aへ送信する。
(ステップS76)
データベースサーバ300は、処理サーバ200b-nが送信した出力情報を受信し、受信した出力情報に含まれるユーザの識別情報と、出力ファイルとに基づいて、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータを更新する。
図12に示されるシーケンスチャートにおいて、ステップS69とステップS70との順序を入れ替えてもよいし、ステップS74とステップS75との順序を入れ替えてもよい。
前述した第2の実施形態では、託送業務処理システムに含まれる管理サーバ100aと、処理サーバ200b-1~処理サーバ200b-nとが別々の装置で構成される場合について説明したが、この限りでない。例えば、処理サーバ200b-1~処理サーバ200b-nの各々が、管理サーバ100aを備えるようにしてもよい。
前述した第2の実施形態では、管理サーバ100aが、外部システム50が、30分などの所定の周期で送信した入力ファイルを処理する場合について説明したが、この限りでない。例えば、管理サーバ100aは、外部システム50が任意のタイミングで送信した入力ファイルを処理するようにしてもよいし、外部システム50が送信した入力ファイルの一部の入力ファイルを処理してもよい。また、管理サーバ100aが、データベースサーバ300からファイルを取得し、取得したファイルを処理してもよい。
前述した第2の実施形態では、処理サーバ200b-1から処理サーバ200b-nの各々が、データベースサーバ300へ、出力情報を送信したタイミングで、公開・更新完了連絡を、管理サーバ100aへ送信する場合について説明したが、この例に限られない。例えば、処理サーバ200b-1から処理サーバ200b-nの各々が、出力ファイルを公開したタイミングで、公開・更新完了連絡を、管理サーバ100aへ送信し、公開・更新完了連絡を送信した後に、出力情報を送信してもよい。つまり、管理サーバ100aで管理されるユーザデータの更新状況と、データベースサーバ300の更新状況とが非同期となる。
また、処理サーバ200b-1から処理サーバ200b-nの各々が、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータのうち、即時反映が必要なデータの更新が終了した場合に、公開・更新完了連絡を、管理サーバ100aへ送信してもよい。この場合、処理サーバ200b-1から処理サーバ200b-nの各々は、公開・更新完了連絡を、管理サーバ100aに送信した後に、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、出力ファイルに該当するユーザのユーザデータのうち即時反映が必要でないデータを更新する。つまり、出力ファイルの公開と、管理サーバ100aで管理されるユーザデータの更新状況と、データベースサーバ300の更新状況とが非同期となる。
前述した第2の実施形態では、処理サーバ200b-1から処理サーバ200b-nの各々が、不変データ要求を送信することで、データベースサーバ300から複数のユーザの各々の不変データを取得する場合について説明したがこの限りでない。例えば、データベースサーバ300が、処理サーバ200b-1~処理サーバ200b-nの各々から、不変データ要求を受信することなく、複数のユーザの各々の不変データを送信するようにしてもよい。
前述した第2の実施形態では、管理サーバ100aが、処理サーバ200b-1~処理サーバ200b-nの各々が記憶した不変データの整合性をチェックする場合について説明したが、この例に限られない。例えば、管理サーバ100aが、処理サーバ200b-1~処理サーバ200b-nの各々が記憶した不変データの整合性をチェックする処理を省略してもよい。
このように構成することによって、処理サーバ200b-1から処理サーバ200b-nの各々は、入力ファイルを取得する度に、データベースサーバ300からユーザの識別情報に該当するユーザの不変データを取得しなくても処理を行うことができる。このため、処理サーバ200b-1から処理サーバ200b-nの各々が、データベースサーバ300へアクセスする回数を減らすことができるため、処理の遅延を短縮できる。さらに、データベースサーバ300から複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、インメモリ領域258に記憶することによって、インメモリ領域258に記憶される不変データの多重度を向上できるため、データベースサーバ300へアクセスする回数を減らすことができる。このため、処理の遅延を短縮できる。
また、第2の実施形態の託送業務処理システムによれば、データベースサーバ300は、処理サーバ200b-1~処理サーバ200b-nの各々が送信した出力情報に含まれる出力ファイルに基づいて、出力ファイルの公開とは非同期に、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータを更新する。このように構成することによって、処理サーバ200b-1から処理サーバ200b-nの各々は、最優先に、出力ファイルを公開できる。
また、第2の実施形態の託送業務処理システムによれば、処理サーバ200b-1から処理サーバ200b-nの各々は、インメモリ領域258に同じ不変データを記憶する。このように構成することによって、管理サーバ100aが、処理サーバ200b-1から処理サーバ200b-nのいずれに入力ファイルを振り分けても、入力ファイルに対して、同じ処理を行わせることができるため、管理サーバ100aの振分処理を単純にできる。
一構成例として、複数の処理サーバと、管理サーバとを備える情報処理システム(実施形態では、託送業務システム)であって、複数の処理サーバの各々は、データベースサーバ(実施形態では、データベースサーバ300)に記憶されている複数の第1データ(実施形態では、不変データ)を取得する取得部と、取得部が取得した複数の第1データを記憶する記憶部(実施形態では、インメモリ領域258)と、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに関連付けられる第1データに基づいて処理することによって、出力データを作成する処理部と、処理部が作成した出力データを出力する出力部とを備え、管理サーバは、入力データを受け付け、受け付けた入力データを、複数の処理サーバのいずれかへ振り分ける振分部を備える、情報処理システムである。
一構成例として、管理サーバは、複数の処理サーバの各々が備える記憶部に記憶されている複数の第1データが正しいか否かを判定する判定部をさらに備える。
一構成例として、振分部は、複数の処理サーバのうち、判定部が正しいと判定した複数の第1データを記憶している記憶部を備える処理サーバへ、入力データを振り分ける。
一構成例として、処理部が出力した出力データを受け付け、受け付けた出力データで、データベースサーバを更新する更新部を備える更新サーバを備える。
一構成例として、データベースサーバに記憶されている複数の第1データを取得する取得部と、取得部が取得した複数の第1データを記憶する記憶部と、入力データを受け付け、受け付けた入力データを、記憶部に記憶されている複数の第1データのうち、入力データに関連付けられる第1データに基づいて処理することによって、出力データを作成する処理部と、処理部が作成した出力データを出力する出力部とを備える、処理サーバである。
なお、上述した管理サーバ100と、管理サーバ100aと、処理サーバ200と、処理サーバ200aと、データベースサーバ300と、更新サーバ400とは、コンピュータで実現するようにしてもよい。その場合、各機能ブロックの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録する。この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、CPUが実行することで実現してもよい。ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器などのハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROMなどの可搬媒体のことをいう。また、「コンピュータ読み取り可能な記録媒体」は、コンピュータシステムに内蔵されるハードディスクなどの記憶装置を含む。
また、「コンピュータ読み取り可能な記録媒体」には、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよい。また、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。また、上記プログラムは、プログラマブルロジックデバイスを用いて実現されるものであってもよい。プログラマブルロジックデバイスは、例えば、FPGA(Field Programmable Gate Array)である。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリなどをいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
Claims (7)
- 複数の処理サーバと、管理サーバとを備える情報処理システムであって、
複数の前記処理サーバの各々は、
前記管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得する取得部と、
前記取得部が取得した複数の前記第1データを記憶する記憶部と、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成する作成部と、
前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成する処理部と、
前記作成部が作成した前記チェック情報を出力した後、前記処理部が作成した前記出力データを出力する出力部と
を備え、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、
前記管理サーバは、
複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する判定部と、
複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定部が正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分ける振分部と
を備え、
前記判定部は、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定し、
複数の前記処理サーバのうち、前記管理サーバの前記振分部によって前記入力データを振り分けられた処理サーバの前記処理部が、前記入力データを受け付け、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、情報処理システム。 - 前記処理部が出力した前記出力データを受け付け、受け付けた前記出力データで、前記データベースサーバを更新する更新部
を備える更新サーバを備える、請求項1に記載の情報処理システム。 - 複数の処理サーバにおける各々の前記処理サーバであって、
管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得する取得部と、
前記取得部が取得した複数の前記第1データを記憶する記憶部と、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成する作成部と、
前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成する処理部と、
前記作成部が作成した前記チェック情報を出力した後、前記処理部が作成した前記出力データを出力する出力部と
を備え、
前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバの前記処理部が、前記入力データを受け付け、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、処理サーバ。 - 複数の処理サーバと、管理サーバとを備える情報処理システムが実行する情報処理方法であって、
複数の前記処理サーバの各々が、前記管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、
複数の前記処理サーバの各々が、前記取得するステップで取得した複数の前記第1データを、記憶部に記憶するステップと、
複数の前記処理サーバの各々が、前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、
複数の前記処理サーバの各々が、前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、
前記管理サーバが、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得するステップと、
前記管理サーバが、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定するステップと、
前記管理サーバが、複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定するステップで正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分けるステップと、
複数の前記処理サーバのうち、前記管理サーバが振り分けた処理サーバが、前記記憶部に複数の前記第1データを記憶して、前記チェック情報を出力した後に、前記入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記管理サーバが振り分けた前記処理サーバが、前記出力データを作成するステップで作成した前記出力データを出力するステップと
を有し、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、情報処理方法。 - 複数の処理サーバの各々が実行する情報処理方法であって、
管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、
前記取得するステップで取得した複数の前記第1データを記憶部に記憶するステップと、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、
前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、
前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記出力データを作成するステップで作成した前記出力データを出力するステップと
を有し、
前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバが、前記出力データを作成するステップにおいて、前記入力データを受け付け、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む情報処理方法。 - 複数の処理サーバの各々のコンピュータに、
管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、
前記取得するステップで取得した複数の前記第1データを、記憶部に記憶するステップと、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、
前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、
前記記憶部に複数の前記第1データを記憶して、前記チェック情報を出力した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記出力データを作成するステップで作成した前記出力データを出力するステップと
を実行させ、
管理サーバのコンピュータに、
前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得するステップと、
取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定するステップと、
複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定するステップで正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分けるステップと
を実行させるプログラムであって、
複数の前記処理サーバの各々のコンピュータうち、前記管理サーバのコンピュータによって前記入力データを振り分けられた処理サーバのコンピュータが、前記出力データを作成するステップにおいて、前記入力データを受け付け、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、プログラム。 - 複数の処理サーバの各々のコンピュータに、
管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、
前記取得するステップで取得した複数の前記第1データを記憶部に記憶するステップと、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、
前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、
前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記出力データを作成するステップで作成した前記出力データを出力するステップと
を実行させるプログラムであって、
前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバのコンピュータが、前記出力データを作成するステップにおいて、前記入力データを受け付け、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019019473A JP7382720B2 (ja) | 2019-02-06 | 2019-02-06 | 情報処理システム、処理サーバ、情報処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019019473A JP7382720B2 (ja) | 2019-02-06 | 2019-02-06 | 情報処理システム、処理サーバ、情報処理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020126515A JP2020126515A (ja) | 2020-08-20 |
JP7382720B2 true JP7382720B2 (ja) | 2023-11-17 |
Family
ID=72084099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019019473A Active JP7382720B2 (ja) | 2019-02-06 | 2019-02-06 | 情報処理システム、処理サーバ、情報処理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7382720B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005168144A (ja) | 2003-12-01 | 2005-06-23 | Tm T & D Kk | 分散監視制御装置 |
JP2006134201A (ja) | 2004-11-09 | 2006-05-25 | Tokyo Electric Power Co Inc:The | 電力託送事業のためのコンピュータ・システム |
JP2006285377A (ja) | 2005-03-31 | 2006-10-19 | Fujitsu Ltd | 故障監視プログラム及び負荷分散装置 |
JP2007299180A (ja) | 2006-04-28 | 2007-11-15 | Mitsubishi Electric Corp | 託送料金計算装置 |
JP2010238101A (ja) | 2009-03-31 | 2010-10-21 | Fujitsu Ltd | 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム |
-
2019
- 2019-02-06 JP JP2019019473A patent/JP7382720B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005168144A (ja) | 2003-12-01 | 2005-06-23 | Tm T & D Kk | 分散監視制御装置 |
JP2006134201A (ja) | 2004-11-09 | 2006-05-25 | Tokyo Electric Power Co Inc:The | 電力託送事業のためのコンピュータ・システム |
JP2006285377A (ja) | 2005-03-31 | 2006-10-19 | Fujitsu Ltd | 故障監視プログラム及び負荷分散装置 |
JP2007299180A (ja) | 2006-04-28 | 2007-11-15 | Mitsubishi Electric Corp | 託送料金計算装置 |
JP2010238101A (ja) | 2009-03-31 | 2010-10-21 | Fujitsu Ltd | 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム |
Also Published As
Publication number | Publication date |
---|---|
JP2020126515A (ja) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022001418A1 (zh) | 数据处理方法、装置、计算机程序及存储介质 | |
US20180165348A1 (en) | Distributed storage of aggregated data | |
US20200241929A1 (en) | Distributed ledger for monitoring quality of services provided by cloud service providers | |
US12058195B1 (en) | Systems and methods for IT management of distributed computing resources on a peer-to-peer network | |
AU2014209611B2 (en) | Instance host configuration | |
US8117611B2 (en) | Method, system, and program product for deploying a platform dependent application in a grid environment | |
KR20140142745A (ko) | 네트워크 리소스의 정책 기반 스케일링 | |
US11151122B2 (en) | Distributed ledger data linkage management | |
CN111600957A (zh) | 文件传输方法、装置、系统和电子设备 | |
CN109462508A (zh) | 节点部署方法、装置和存储介质 | |
KR20200140094A (ko) | 블록체인 기반 배송 시스템 및 이의 운용 방법 | |
Henze et al. | Practical data compliance for cloud storage | |
CN114780982A (zh) | 一种流程业务流转方法、装置和系统 | |
Odun-Ayo et al. | Cloud ownership and reliability–issues and developments | |
CN106940712A (zh) | 序列生成方法与设备 | |
JP7382720B2 (ja) | 情報処理システム、処理サーバ、情報処理方法およびプログラム | |
CN112669160A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US8024153B2 (en) | Method for managing wireless devices using lifecycle analysis | |
US10481963B1 (en) | Load-balancing for achieving transaction fault tolerance | |
JP6797450B1 (ja) | 電力取引支援システム、電力取引支援方法及びプログラム | |
CN113506095A (zh) | 订单动态规则校验及分发的方法 | |
Hwang et al. | Blockchain-based automatic indemnification mechanism based on proof of violation for cloud storage services | |
CN113095824A (zh) | 基于区块链的资产管理方法、装置及电子设备 | |
CN105471948B (zh) | 系统间同步业务数据的方法及装置 | |
WO2017145899A1 (ja) | 管理システム、テスト方法及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190301 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221122 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230721 |
|
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: 20231010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231107 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7382720 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |