(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-09
(45)【発行日】2023-11-17
(54)【発明の名称】情報処理システム、処理サーバ、情報処理方法およびプログラム
(51)【国際特許分類】
G06F 16/18 20190101AFI20231110BHJP
G06Q 50/06 20120101ALI20231110BHJP
【FI】
G06F16/18
G06Q50/06
(21)【出願番号】P 2019019473
(22)【出願日】2019-02-06
【審査請求日】2022-01-07
(73)【特許権者】
【識別番号】000003687
【氏名又は名称】東京電力ホールディングス株式会社
(73)【特許権者】
【識別番号】501464255
【氏名又は名称】株式会社テプコシステムズ
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100175824
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100140774
【氏名又は名称】大浪 一徳
(74)【代理人】
【識別番号】100179833
【氏名又は名称】松本 将尚
(74)【代理人】
【識別番号】100114937
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】草野 大介
(72)【発明者】
【氏名】諸田 洋一
(72)【発明者】
【氏名】中山 敦司
(72)【発明者】
【氏名】藤原 一路
(72)【発明者】
【氏名】島野 和彦
(72)【発明者】
【氏名】今井 良介
(72)【発明者】
【氏名】佐々木 竜之助
(72)【発明者】
【氏名】金子 和弘
(72)【発明者】
【氏名】柏木 一之
(72)【発明者】
【氏名】国分 雅史
(72)【発明者】
【氏名】菅原 秀幸
【審査官】酒井 恭信
(56)【参考文献】
【文献】特開2006-134201(JP,A)
【文献】特開2007-299180(JP,A)
【文献】特開2005-168144(JP,A)
【文献】特開2010-238101(JP,A)
【文献】特開2006-285377(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
G06Q 50/06
(57)【特許請求の範囲】
【請求項1】
複数の処理サーバと、管理サーバとを備える情報処理システムであって、
複数の前記処理サーバの各々は、
前記管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得する取得部と、
前記取得部が取得した複数の前記第1データを記憶する記憶部と、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成する作成部と、
前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成する処理部と、
前記作成部が作成した前記チェック情報を出力した後、前記処理部が作成した前記出力データを出力する出力部
と
を備え、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値
を含み、
前記管理サーバは、
複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する判定部と、
複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定部が正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分ける振分部
と
を備え、
前記判定部は、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定し、
複数の前記処理サーバのうち、前記管理サーバの前記振分部によって前記入力データを振り分けられた処理サーバの前記処理部が、前記入力データを受け付け、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、情報処理システム。
【請求項2】
前記処理部が出力した前記出力データを受け付け、受け付けた前記出力データで、前記データベースサーバを更新する更新部
を備える更新サーバを備える、請求項1に記載の情報処理システム。
【請求項3】
複数の処理サーバにおける各々の前記処理サーバであって、
管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の
前記処理サーバの各々が処理を行う場合に不変である第1データを取得する取得部と、
前記取得部が取得した複数の前記第1データを記憶する記憶部と、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成する作成部と、
前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成する処理部と、
前記作成部が作成した前記チェック情報を出力した後、前記処理部が作成した前記出力データを出力する出力部
と
を備え、
前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバの前記処理部が、前記入力データを受け付け、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値
を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、処理サーバ。
【請求項4】
複数の処理サーバと、管理サーバとを備える情報処理システムが実行する情報処理方法であって、
複数の前記処理サーバの各々が、前記管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、
複数の前記処理サーバの各々が、前記取得するステップで取得した複数の前記第1データを、記憶部に記憶するステップと、
複数の前記処理サーバの各々が、前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、
複数の前記処理サーバの各々が、
前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、
前記管理サーバが、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得するステップと、
前記管理サーバが、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定するステップと、
前記管理サーバが、複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定するステップで正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分けるステップと、
複数の前記処理サーバのうち、前記管理サーバが振り分けた処理サーバが、
前記記憶部に複数の前記第1データを記憶して、前記チェック情報を出力した後に、前記入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記管理サーバが振り分けた前記処理サーバが、
前記出力データを作成するステップで作成した前記出力データを出力するステップと
を有し、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値
を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、情報処理方法。
【請求項5】
複数の処理サーバ
の各々が実行する情報処理方法であって、
管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、
前記取得するステップで取得した複数の前記第1データを記憶部に記憶するステップと、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、
前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、
前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記
出力データを作成するステップで作成した前記出力データを出力するステップ
と
を有し、
前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバが、前記出力データを作成するステップにおいて、前記入力データを受け付け、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値
を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む情報処理方法。
【請求項6】
複数の処理サーバの各々のコンピュータに、
管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、
前記取得するステップで取得した複数の前記第1データを、記憶部に記憶するステップと、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、
前記
チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、
前記記憶部に複数の前記第1データを記憶して、前記チェック情報を出力した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記
出力データを作成するステップで作成した前記出力データを出力するステップと
を実行させ、
管理サーバ
のコンピュータに、
前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得するステップと、
取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定するステップと、
複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定するステップで正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分けるステップと
を実行させ
るプログラムであって、
複数の前記処理サーバの各々のコンピュータうち、前記管理サーバのコンピュータによって前記入力データを振り分けられた処理サーバのコンピュータが、前記出力データを作成するステップにおいて、前記入力データを受け付け、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値
を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、プログラム。
【請求項7】
複数の処理サーバの各々のコンピュータに、
管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、
前記取得するステップで取得した複数の前記第1データを記憶部に記憶するステップと、
前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、
前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、
前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記
出力データを作成するステップで作成した前記出力データを出力するステップ
と
を実行させ
るプログラムであって、
前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバのコンピュータが、前記出力データを作成するステップにおいて、前記入力データを受け付け、
前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値
を含み、
前記入力データは、ユーザの識別情報と、検針値とを含み、
前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理システム、処理サーバ、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
電力自由化によって、卸電力取引所が開設され、送配電事業者、発電事業者、小売電気事業者の間で電力取引が、中立機関の監視の下で、実施されている。また、電力の小売市場についても自由化され、島嶼を除く全ての需要家が開放されている。このため、供給したいエリアに自らの送電ネットワークを有していなくとも、また他の地域の既存発電会社(他電力会社)のように自らの送電ネットワークにて直接電力供給できない需要家に対しても、送配電事業者の送電サービス(託送)を用いて、需要家に対して電力供給が行われている。小売電気事業者が需要家に供給する電力量、および発電事業者が発電する発電電力量は、30分単位に計画値として提出される。小売電気事業者、発電事業者は、この計画値に30分単位の実績を近づける義務があり、送配電事業者はその支援として小売電気事業者毎の顧客の30分単位の検針データを速やかに算出・集約し公開することがルール化されている。
【0003】
送配電事業者が実行する電力託送業務に関して、電力託送業務を実施するシステムが知られている(例えば、特許文献1参照)。このシステムは、電力託送を利用する小売電気事業者についての検針データ及び当該小売電気事業者の顧客の検針データを取得し、検針データ格納部に格納する手段と、検針データ格納部に格納されたデータを用いて、小売電気事業者の発電量データと顧客の需要量データとを生成し、データベースに登録する手段と、データベースに登録されたデータのうち需要量データを小売電気事業者に配信する手段と、 データベースに登録されたデータを用いて、発電量と需要量のインバランスを特定すると共に、さらに停電管理システムから取得した送電状態データを用いて、小売電気事業者に対する託送料金を算出し、料金データ格納部に格納する手段と、小売電気事業者のコンピュータから発電計画データを受信し、発電計画データの妥当性が確認された場合には、電力託送事業を実施する送配電事業者の給電制御部門に当該発電計画データを送信する手段とを有する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
小売電気事業者数、および当該小売電気事業者の顧客の検針データなどの入力データの数が増加した場合について考える。
入力データの受け付けの度に、データベースに記憶されている複数のデータを用いて速やかに算出および集約し、その処理結果を小売電気事業者に配信するため、入力データの数が増加した場合に処理の遅延が懸念される。
この懸念は、電力託送業務を実施するシステムに限らず、情報処理システムで、入力データが多くなった場合についても当てはまる。
本発明は、前述した点に鑑みてなされたものであり、その目的は、入力データの数が多くなった場合でも、処理の遅延を短縮できる情報処理システム、処理サーバ、情報処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様は、複数の処理サーバと、管理サーバとを備える情報処理システムであって、複数の前記処理サーバの各々は、前記管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得する取得部と、前記取得部が取得した複数の前記第1データを記憶する記憶部と、前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成する作成部と、前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成する処理部と、前記作成部が作成した前記チェック情報を出力した後、前記処理部が作成した前記出力データを出力する出力部とを備え、前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、前記管理サーバは、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する判定部と、複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定部が正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分ける振分部とを備え、前記判定部は、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定し、複数の前記処理サーバのうち、前記管理サーバの前記振分部によって前記入力データを振り分けられた処理サーバの前記処理部が、前記入力データを受け付け、前記入力データは、ユーザの識別情報と、検針値とを含み、前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、情報処理システムである。
本発明の一態様の情報処理システムにおいて、前記処理部が出力した前記出力データを受け付け、受け付けた前記出力データで、前記データベースサーバを更新する更新部を備える更新サーバを備える。
【0007】
本発明の一態様は、複数の処理サーバにおける各々の前記処理サーバであって、管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得する取得部と、前記取得部が取得した複数の前記第1データを記憶する記憶部と、前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成する作成部と、前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成する処理部と、前記作成部が作成した前記チェック情報を出力した後、前記処理部が作成した前記出力データを出力する出力部とを備え、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバの前記処理部が、前記入力データを受け付け、前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、前記入力データは、ユーザの識別情報と、検針値とを含み、前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、処理サーバである。
【0008】
本発明の一態様は、複数の処理サーバと、管理サーバとを備える情報処理システムが実行する情報処理方法であって、複数の前記処理サーバの各々が、前記管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、複数の前記処理サーバの各々が、前記取得するステップで取得した複数の前記第1データを、記憶部に記憶するステップと、複数の前記処理サーバの各々が、前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、複数の前記処理サーバの各々が、前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、前記管理サーバが、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得するステップと、前記管理サーバが、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定するステップと、前記管理サーバが、複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定するステップで正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分けるステップと、複数の前記処理サーバのうち、前記管理サーバが振り分けた処理サーバが、前記記憶部に複数の前記第1データを記憶して、前記チェック情報を出力した後に、前記入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、
前記管理サーバが振り分けた前記処理サーバが、前記出力データを作成するステップで作成した前記出力データを出力するステップとを有し、前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、前記入力データは、ユーザの識別情報と、検針値とを含み、前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、情報処理方法である。
【0009】
本発明の一態様は、複数の処理サーバの各々が実行する情報処理方法であって、管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、前記取得するステップで取得した複数の前記第1データを記憶部に記憶するステップと、前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、前記出力データを作成するステップで作成した前記出力データを出力するステップとを有し、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバが、前記出力データを作成するステップにおいて、前記入力データを受け付け、前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、前記入力データは、ユーザの識別情報と、検針値とを含み、前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む情報処理方法である。
【0010】
本発明の一態様は、複数の処理サーバの各々のコンピュータに、管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、前記取得するステップで取得した複数の前記第1データを、記憶部に記憶するステップと、前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、前記記憶部に複数の前記第1データを記憶して、前記チェック情報を出力した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、前記出力データを作成するステップで作成した前記出力データを出力するステップとを実行させ、管理サーバのコンピュータに、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得するステップと、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定するステップと、複数の入力データを受け付け、受け付けた複数の前記入力データを、複数の前記処理サーバのうち、前記判定するステップで正しいと判定した複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ振り分けるステップとを実行させるプログラムであって、複数の前記処理サーバの各々のコンピュータうち、前記管理サーバのコンピュータによって前記入力データを振り分けられた処理サーバのコンピュータが、前記出力データを作成するステップにおいて、前記入力データを受け付け、前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、前記入力データは、ユーザの識別情報と、検針値とを含み、前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、プログラムである。
【0011】
本発明の一態様は、複数の処理サーバの各々のコンピュータに、管理サーバとの間で、セッションが構築された後に、データベースサーバに記憶されている複数のユーザの各々のユーザデータのうち、複数の前記処理サーバの各々が処理を行う場合に不変である第1データを取得するステップと、前記取得するステップで取得した複数の前記第1データを記憶部に記憶するステップと、前記記憶部に記憶されている複数の前記第1データの状況を示す情報を含むチェック情報を作成するステップと、前記チェック情報を作成するステップで作成した前記チェック情報を出力するステップと、前記記憶部に複数の前記第1データを記憶した後に、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに含まれるユーザの識別情報に該当する第1データに基づいて処理することによって、出力データを作成するステップと、前記出力データを作成するステップで作成した前記出力データを出力するステップとを実行させるプログラムであって、前記データベースサーバから複数の前記第1データと同様のデータであるチェックデータを取得し、複数の前記処理サーバから前記チェック情報を取得し、取得した前記チェックデータと、複数の前記チェック情報とに基づいて、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の前記第1データが正しいか否かを判定する前記管理サーバによって、複数の前記処理サーバのうち、正しいと判定された複数の前記第1データを記憶している記憶部を備える処理サーバのいずれかへ、前記入力データが振り分けられ、前記管理サーバによって前記入力データを振り分けられた処理サーバのコンピュータが、前記出力データを作成するステップにおいて、前記入力データを受け付け、前記チェック情報は、複数の前記第1データの件数、サイズ、ハッシュ値を含み、前記入力データは、ユーザの識別情報と、検針値とを含み、前記出力データは、電力使用量及び電力単価のいずれか一方又は両方を含む、プログラムである。
【発明の効果】
【0012】
本発明の実施形態によれば、入力データの数が多くなった場合でも、処理の遅延を短縮できる情報処理システム、処理サーバ、情報処理方法およびプログラムを提供できる。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態の託送業務処理システムの一例を示す図である。
【
図2】第1の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとのハードウェア構成の一例を示す図である。
【
図3】第1の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとを示すブロック図である。
【
図4】第1の実施形態の託送業務処理システムの動作の一例を示すシーケンス図である。
【
図5】第1の実施形態の変形例の託送業務処理システムの一例を示す図である。
【
図6】第1の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。
【
図7】第1の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとを示すブロック図である。
【
図8】第1の実施形態の変形例の託送業務処理システムの動作の一例を示すシーケンス図である。
【
図9】第2の実施形態の託送業務処理システムの一例を示す図である。
【
図10】第2の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。
【
図11】第2の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバとを示すブロック図である。
【
図12】第2の実施形態の託送業務処理システムの動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【0014】
次に、本実施形態の情報処理システム、処理サーバ、情報処理方法およびプログラムを、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0015】
(実施形態)
(託送業務処理システム)
図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に記憶されている複数のユーザの各々のユーザデータと、インメモリ領域に記憶した情報との間に差異が生じることによって、リカバリが複雑になること、処理自体の有効性が失われることがなくなる。
【0016】
管理サーバ100は、外部システム50と接続され、外部システム50が送信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ200-1~処理サーバ200-nのいずれかへ送信する。入力ファイルに含まれる情報の一例は、検針値と、ユーザの識別情報とである。
処理サーバ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へ送信する。
【0017】
更新サーバ400-1~更新サーバ400-nは、管理サーバ100と、データベースサーバ300と接続される。更新サーバ400-1~更新サーバ400-nのうち、更新サーバ400-mは、処理サーバ200-mが送信した出力情報を受信し、受信した出力情報に含まれるユーザの識別情報と、出力ファイルとを取得する。更新サーバ400-mは、取得したユーザの識別情報と、出力ファイルとを含む更新情報を、データベースサーバ300へ送信することによって、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータを更新する。更新サーバ400-mは、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータの更新が終了した場合に、ユーザの識別情報を含む更新が終了したことを示す情報(以下「更新完了連絡」という)を、管理サーバ100へ送信する。
管理サーバ100は、更新サーバ400-mが送信した更新完了連絡を受信し、受信した更新完了連絡に含まれるユーザの識別情報に基づいて、データベースサーバ300に記憶されている複数のユーザの各々のユーザデータの更新状況を管理する。
以下、託送業務処理システム10を構成する管理サーバ100と、処理サーバ200と、データベースサーバ300と、更新サーバ400とのうち、管理サーバ100と、処理サーバ200と、更新サーバ400とについて、
図2と
図3とを参照して、詳細に説明する。
【0018】
(本実施形態の託送業務処理システムのハードウェア構成)
図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は、例えば、オペレーティングシステムであり、ユーザやアプリケーションプログラムとハードウェアの中間に位置し、ユーザやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。
【0019】
アプリ1563は、管理サーバ100に、処理サーバ200-1~処理サーバ200-nの各々にデータベースサーバ300から不変データを読み込ませる命令である不変データ読込命令を作成させ、作成させた不変データ読込命令を、処理サーバ200-1~処理サーバ200-nの各々へ送信させる。
アプリ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を介して互いにデータのやり取りを行うことができるようにされている。
【0020】
(処理サーバ200)
処理サーバ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を介して互いにデータのやり取りを行うことができるようにされている。
【0021】
(更新サーバ400)
更新サーバ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を介して互いにデータのやり取りを行うことができるようにされている。
【0022】
(本実施形態の託送業務システムの機能構成)
図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へ送信する。
【0023】
管理部104は、CPU152からの命令、及び通信部166によって実現される。通信部166は、処理サーバ200が送信した公開完了連絡を受信する。管理部104は、通信部166が受信した公開完了連絡を取得し、取得した公開完了連絡に含まれるユーザの識別情報に基づいて、処理サーバ200が、出力ファイルを公開したことを管理する。
通信部166は、更新サーバ400が送信した更新完了連絡を受信する。管理部104は、通信部166が受信した更新完了連絡を取得し、取得した更新完了連絡に基づいて、記憶部156に記憶されている処理管理情報1565を更新する。具体的には、管理部104は、受信した更新完了連絡に基づいて、記憶部156の処理管理情報1565に含まれる複数のユーザの識別情報の各々と、ユーザデータの更新状況を示す情報とを関連付けた情報のうち、更新完了連絡に含まれるユーザの識別情報に該当するユーザのユーザデータの更新状況を更新する。また、管理部104は、受信した更新完了連絡に基づいて、記憶部156の処理管理情報1565に含まれる複数のユーザの識別情報の各々と、ユーザデータの更新状況を示す情報とを関連付けた情報のうち、更新完了連絡に含まれるユーザの識別情報に該当するユーザのユーザデータの更新状況を登録することで、ログを取るようにしてもよい。
【0024】
(処理サーバ200)
処理サーバ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から送信することによって公開してもよい。
【0025】
処理部204は、複数の処理を行うようにしてもよい。具体的には、処理部204が二種類の処理を行う場合には、処理部204は、第1処理を行う第1処理部2042と、第2処理を行う第2処理部2044とを有する。第1処理部2042は、通信部266が受信した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、メモリ254のインメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。第1処理部2042は、取得した不変データと、入力ファイルとに基づいて、第1処理を行うことによって、出力ファイルを作成する。第1処理の一例は、電力使用量を導出する処理である。電力使用量を導出する処理には、様々な手法を適用できる。第1処理部2042は、作成した出力ファイルを公開する。
第2処理部2044は、通信部266が受信した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。第2処理部2044は、取得した不変データと、入力ファイルとに基づいて、第2処理を行うことによって、出力ファイルを作成する。第2処理の一例は、電力単価を導出する処理である。電力単価を導出する処理には、様々な手法を適用できる。第2処理部2044は、作成した出力ファイルを公開する。処理部204は、出力ファイルを公開した後に、公開完了連絡を作成し、作成した公開完了連絡を、通信部266へ出力する。通信部266は、処理部204が出力した公開完了連絡を取得し、取得した公開完了連絡を、管理サーバ100へ送信する。
処理部204は、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、通信部266に出力する。通信部266は、処理部204が出力した出力情報を取得し、更新サーバ400との間でセッションが構築された後に、取得した出力情報を、更新サーバ400へ送信する。
【0026】
(更新サーバ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が出力した更新完了連絡を送信する。
【0027】
(託送業務処理システム10の動作)
図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に記憶する。
【0028】
(ステップS6)
処理サーバ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へ送信する。
【0029】
(ステップS11)
管理サーバ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へ送信する。
【0030】
(ステップS17)
処理サーバ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から、出力情報を受信したタイミングで行ってもよい。
【0031】
前述した実施形態では、託送業務処理システムが、管理サーバ100を一台備える場合について説明したがこの限りでない。例えば、託送業務処理システムが、複数の管理サーバを備えていてもよい。
前述した実施形態では、託送業務処理システムに含まれる管理サーバ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の各々から、不変データ要求を受信することなく、複数のユーザの各々の不変データを送信するようにしてもよい。
【0032】
実施形態の託送業務処理システムによれば、処理サーバ200-1から処理サーバ200-nの各々は、管理サーバ100から入力ファイルを取得する前に、データベースサーバ300から複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、インメモリ領域258に記憶する。処理サーバ200-1から処理サーバ200-nの各々は、入力ファイルを受信した場合に、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得し、取得した不変データと、入力ファイルとに基づいて、処理を行う。
このように構成することによって、処理サーバ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の振分処理を単純にできる。
【0033】
(変形例)
(託送業務処理システム)
図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の各々が取得した複数のユーザの各々の不変データと同様のデータであるチェックデータを取得し、取得したチェックデータを記憶する。
【0034】
処理サーバ200a-1~処理サーバ200a-nの各々は、インメモリ領域258に記憶されているデータの状況を示す情報を含み、管理サーバ100aを宛先とするチェック情報を作成し、作成したチェック情報を、管理サーバ100aへ送信する。ここで、データの状況を示す情報の一例は、インメモリ領域258に記憶されているユーザデータの件数、インメモリ領域に記憶されているデータのサイズ、ハッシュ値である。
管理サーバ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を参照して、詳細に説明する。
【0035】
(本実施形態の変形例の託送業務処理システムのハードウェア構成)
図6は、第1の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。以下、管理サーバ100aと、処理サーバ200aとの順に、ハードウェア構成について説明する。
(管理サーバ100a)
管理サーバ100aは、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
管理サーバ100aは、CPU152と、メモリ154と、記憶部156aと、通信部166と、内部バス150とを備えている。
CPU152は、例えば記憶部156aに格納されるプログラム1562とアプリ1563aとを実行し、メモリ154をワークメモリとして使用して、管理サーバ100aの各部を制御する。
【0036】
記憶部156aには、CPU152によって実行されるプログラム1562と、アプリ1563aと、処理管理情報1565とが格納される。
アプリ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に記憶されている複数のユーザの各々のユーザデータの更新状況を管理させる。
【0037】
(処理サーバ200a)
処理サーバ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へ送信させる。
【0038】
(本実施形態の変形例の託送業務システムの機能構成)
図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送信する。
【0039】
(処理サーバ200a)
処理サーバ200aは、取得部202と、処理部204と、作成部206とを有している。これらの各部は、
図6に示されている各構成要素のいずれかが、記憶部256aからメモリ254上に展開されたプログラム2562と、アプリ2563aとを実行するCPU252からの命令によって動作することで実現される機能である。
図6及び
図7を用いて、処理サーバ200aの各機能構成について詳細に説明する。
処理サーバ200aの作成部206は、CPU252からの命令、及び通信部266によって実現される。作成部206は、インメモリ領域258に記憶されているデータの状況を示す情報を含み、管理サーバ100aを宛先とするチェック情報を作成し、作成したチェック情報を、通信部266へ出力する。
【0040】
(託送業務処理システム10aの動作)
図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に送信する。
【0041】
(ステップS39)
管理サーバ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を適用できる。
【0042】
前述した変形例では、託送業務処理システムが、管理サーバ100aを一台備える場合について説明したがこの限りでない。例えば、託送業務処理システムが、複数の管理サーバを備えていてもよい。
前述した変形例では、託送業務処理システムに含まれる管理サーバ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が送信したチェック情報要求を受信し、受信したチェック情報要求に基づいて、チェック情報を作成し、送信する。
【0043】
変形例の託送業務処理システムによれば、処理サーバ200a-1~処理サーバ200a-nの各々は、管理サーバ100aから入力ファイルを取得する前に、データベースサーバ300から複数のユーザの各々のチェックデータを取得し、取得した複数のユーザの各々のチェックデータを、インメモリ領域258に記憶する。また、管理サーバ100aは、データベースサーバ300から複数のユーザの各々のチェックデータを取得し、取得した複数のユーザの各々のチェックデータを記憶する。さらに、処理サーバ200a-1~処理サーバ200a-nの各々は、管理サーバ100aから入力ファイルを取得する前に、チェック情報を作成し、作成したチェック情報を、管理サーバ100aに送信する。管理サーバ100aは、処理サーバ200a-1~処理サーバ200a-nの各々が送信したチェック情報と、記憶した複数のユーザの各々のチェックデータとに基づいて、処理サーバ200a-1~処理サーバ200a-nの各々のインメモリ領域258に記憶されている不変データが正しいか否かを判定する。
管理サーバ100aは、外部システム50が送信した入力ファイルを受信し、受信した入力ファイルを、処理サーバ200-1~処理サーバ200-nのうち、インメモリ領域258に記憶されているデータが正しい処理サーバ200aへ送信する。
処理サーバ200-1~処理サーバ200-nの各々は、入力ファイルを受信した場合に、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、入力ファイルに該当する不変データを取得し、取得した不変データと、入力ファイルとに基づいて、処理を行う。このように構成することによって、管理サーバ100aは、インメモリ領域に記憶されているデータが正しくない処理サーバ200aには、入力ファイルを送信しないため、出力ファイルの信頼性を向上できる。
【0044】
(第2の実施形態)
(託送業務処理システム)
図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の各々が取得した複数のユーザの各々の不変データと同様のデータであるチェックデータを取得し、取得したチェックデータを記憶する。
【0045】
処理サーバ200b-1~処理サーバ200b-nの各々は、インメモリ領域258に記憶されているデータの状況を示す情報を含み、管理サーバ100aを宛先とするチェック情報を作成し、作成したチェック情報を、管理サーバ100aへ送信する。ここで、データの状況を示す情報の一例は、インメモリ領域258に記憶されているユーザデータの件数、インメモリ領域に記憶されているデータのサイズ、ハッシュ値である。
管理サーバ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とを参照して、詳細に説明する。
【0046】
(第2の実施形態の託送業務処理システムのハードウェア構成)
図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へ送信させる。
【0047】
(第2の実施形態の託送業務システムの機能構成)
図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へ送信する。
【0048】
(託送業務処理システム10bの動作)
図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との順序を入れ替えてもよい。
【0049】
前述した第2の実施形態では、託送業務処理システムが、管理サーバ100aを一台備える場合について説明したがこの限りでない。例えば、託送業務処理システムが、複数の管理サーバを備えていてもよい。
前述した第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の各々が記憶した不変データの整合性をチェックする処理を省略してもよい。
【0050】
第2の実施形態の託送業務処理システムによれば、処理サーバ200b-1から処理サーバ200b-nの各々は、管理サーバ100aから入力ファイルを取得する前に、データベースサーバ300から複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、インメモリ領域258に記憶する。処理サーバ200b-1から処理サーバ200b-nの各々は、入力ファイルを受信した場合に、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域258に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得し、取得した不変データと、入力ファイルとに基づいて、処理を行う。
このように構成することによって、処理サーバ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の振分処理を単純にできる。
【0051】
<構成例>
一構成例として、複数の処理サーバと、管理サーバとを備える情報処理システム(実施形態では、託送業務システム)であって、複数の処理サーバの各々は、データベースサーバ(実施形態では、データベースサーバ300)に記憶されている複数の第1データ(実施形態では、不変データ)を取得する取得部と、取得部が取得した複数の第1データを記憶する記憶部(実施形態では、インメモリ領域258)と、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第1データのうち、前記入力データに関連付けられる第1データに基づいて処理することによって、出力データを作成する処理部と、処理部が作成した出力データを出力する出力部とを備え、管理サーバは、入力データを受け付け、受け付けた入力データを、複数の処理サーバのいずれかへ振り分ける振分部を備える、情報処理システムである。
一構成例として、管理サーバは、複数の処理サーバの各々が備える記憶部に記憶されている複数の第1データが正しいか否かを判定する判定部をさらに備える。
一構成例として、振分部は、複数の処理サーバのうち、判定部が正しいと判定した複数の第1データを記憶している記憶部を備える処理サーバへ、入力データを振り分ける。
一構成例として、処理部が出力した出力データを受け付け、受け付けた出力データで、データベースサーバを更新する更新部を備える更新サーバを備える。
一構成例として、データベースサーバに記憶されている複数の第1データを取得する取得部と、取得部が取得した複数の第1データを記憶する記憶部と、入力データを受け付け、受け付けた入力データを、記憶部に記憶されている複数の第1データのうち、入力データに関連付けられる第1データに基づいて処理することによって、出力データを作成する処理部と、処理部が作成した出力データを出力する出力部とを備える、処理サーバである。
【0052】
以上、実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合せを行うことができる。これら実施形態は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、上述した管理サーバ100と、管理サーバ100aと、処理サーバ200と、処理サーバ200aと、データベースサーバ300と、更新サーバ400とは、コンピュータで実現するようにしてもよい。その場合、各機能ブロックの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録する。この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、CPUが実行することで実現してもよい。ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器などのハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROMなどの可搬媒体のことをいう。また、「コンピュータ読み取り可能な記録媒体」は、コンピュータシステムに内蔵されるハードディスクなどの記憶装置を含む。
【0053】
さらに「コンピュータ読み取り可能な記録媒体」とは、短時間の間、動的にプログラムを保持するものを含んでいてもよい。短時間の間、動的にプログラムを保持するものは、例えば、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムを送信する場合の通信線である。
また、「コンピュータ読み取り可能な記録媒体」には、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよい。また、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。また、上記プログラムは、プログラマブルロジックデバイスを用いて実現されるものであってもよい。プログラマブルロジックデバイスは、例えば、FPGA(Field Programmable Gate Array)である。
【0054】
なお、上述の管理サーバ100と、管理サーバ100aと、処理サーバ200と、処理サーバ200aと、データベースサーバ300と、更新サーバ400とは内部にコンピュータを有している。そして、上述した管理サーバ100と、管理サーバ100aと、処理サーバ200と、処理サーバ200aと、データベースサーバ300と、更新サーバ400との各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリなどをいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0055】
10、10a、10b…託送業務処理システム、50…外部システム、100、100a…管理サーバ、200-1~200-n、200、200a-1~200a-n、200a、200b-1~200b-n、200b…処理サーバ、300…データベースサーバ、400-1~400-n、400…更新サーバ、101…判定部、102、102a…振分部、104…管理部、202…取得部、204…処理部、206…作成部、152、252、452…CPU、154、254、454…メモリ、156、156a、256、256a、256b、456…記憶部、166、266、466…通信部、258…インメモリ領域、1562、2562、4562…プログラム、2042…第1処理部、2044…第2処理部、1563、1563a、2563、2563a、2563b、4563…アプリ、1565…処理管理情報、2582…不変データ