(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態の注文処理装置を示す図である。第1の実施形態の注文処理装置は、記憶部1と、注文処理部2と、通信制御部3と、を有する。注文処理装置は、例えば、コンピュータである。
【0012】
記憶部1は、例えば、メモリあるいはディスク装置であり、注文情報1aを記憶する。注文情報1aには、顧客などから受け付けた注文データが登録されている。例えば、1件の注文に対し、1つの注文データが設定されている。
【0013】
注文処理部2は、注文情報1aから注文データを1件ずつ取り出し、通信制御部3に対して送信を要求する。注文データは、例えば、注文情報1aに先に登録されたものから順に取り出す。また、予め決められた優先順にしたがって取り出すとしてもよい。注文処理部2は、注文情報1aに含まれる注文データの件数が閾値以下のときは、通信制御部3による先に送信要求を行った第1の注文データの送信処理が完了してから次の第2の注文データの送信要求を行う第1の方式を選択する。また、注文処理部2は、注文情報1aに含まれる注文データの件数が閾値を超えるときは、通信制御部3による第1の注文データの受け付けが完了した時点で、第2の注文データの送信要求を行う第2の方式を選択する。
【0014】
通信制御部3は、注文処理部2から入力する注文データの送信要求5a,6aを受け付け、受け付けた注文データの送信処理を選択された方式に応じて実行する。通信制御部3は、選択が第1の方式の場合、注文データの送信要求5aを受け付け、送信処理が終了した後、送信完了通知5bを注文処理部2に発行する。通信制御部3は、選択が第2の方式の場合、注文データの送信要求6aを受け付け、受付処理が終了した後、受付完了通知6bを注文処理部2に発行する。なお、通信制御部3は、受付完了通知6bを発行後に注文データの送信処理を行い、終了した後、送信完了通知を発行する。
【0015】
注文処理部2が実行する注文処理手順について説明する。注文処理部2による注文処理は、コンピュータが注文処理プログラムを実行することによって、その機能を実現する。以下の説明では、先に送信される注文データを第1の注文データ、第1の注文データの後に送信される注文データを第2の注文データとする。
図1に示す処理をステップ番号に沿って説明する。
【0016】
[ステップS01]注文処理部2は、注文情報1aに含まれる注文データの件数に基づいて、送信処理の要求方式を決定する。注文処理部2は、注文情報1aに登録される注文データの件数が所定の閾値以下のときは第1の方式を選択し、注文データの件数が閾値よりも多いときは第2の方式を選択する。また、注文情報1aから第1の注文データを取り出す。第1の注文データは、例えば、注文情報1aに含まれる注文データのうち、最も早くに登録された注文データである。
【0017】
[ステップS02]注文処理部2は、ステップS01において第1の方式を選択したか否かを判定する。第1の方式を選択したときは処理をステップS03に進め、第2の方式を選択したときは処理をステップS04に進める。
【0018】
[ステップS03]注文処理部2は、第1の方式を選択したときは、第1の方式を指定して第1の注文データの送信要求5aを通信制御部3へ出力する第1の方式による要求処理を行う。通信制御部3では、送信要求5aを受け付け、送信処理を終了した後、注文処理部2に対して送信完了通知5bを発行する。注文処理部2は、送信完了通知5bを取得したときに、第2の注文データの送信要求を可とし、処理をステップS01に進める。第2の注文データは、例えば、注文情報1aに含まれる注文データのうち、第1の注文データの次に登録された注文データである。
【0019】
[ステップS04]注文処理部2は、第2の方式を選択したときは、第2の方式を指定して第1の注文データの送信要求6aを通信制御部3へ出力する第2の方式による要求処理を行う。通信制御部3では、送信要求6aを受け付けた後、注文処理部2に対して受付完了通知6bを発行する。注文処理部2は、受付完了通知6bを取得したときに、第2の注文データの送信要求を可とし、処理をステップS01に進める。
【0020】
注文処理部2は、第2の注文データについてステップS01からの手順を繰り返す。
以上の手順にしたがって、注文処理部2は、通信制御部3に対して注文データの送信要求を行う際、注文情報1aに登録されている注文データの件数を閾値と比較し、比較の結果に応じて第1の方式または第2の方式を選択する。注文処理部2は、注文情報1aに登録される注文データの件数が閾値以下で、注文の滞留が発生しにくいときは、第1の方式を選択する。第1の方式では、通信制御部3が注文データの送信を完了してから次の注文データの送信要求を可とするため、注文データを確実に処理することができる。一方、注文処理部2は、注文情報1aに登録される注文データの件数が閾値を超えており、注文データの滞留が発生しやすいときは、第2の方式を選択する。第2の方式では、通信制御部3が注文データの受付を完了した時点で次の注文データの送信要求を可とするため、同じ時間で第1の方式より多くの注文データを処理することができる。これにより、注文の滞留を防ぐことができる。
【0021】
このように、第1の実施形態の注文処理装置では、注文データの件数が少ないときは第1の方法を選択して注文処理を1件ずつ確実に履行し、注文データの件数が多いときは第2の方法を選択して注文の滞留を防ぐ。
【0022】
[第2の実施形態]
次に、第2の実施形態として、第1の実施形態の注文処理装置を金融取引処理に適用した場合について説明する。
【0023】
図2は、第2の実施形態のシステム構成例を示す図である。注文処理装置100は、ネットワーク200を介して、利用者装置301,302,303と、取引装置401,402と、に接続する。利用者装置301,302,303は、注文処理装置100に対して注文データの送信を依頼する顧客が利用するコンピュータである。取引装置401,402は、注文データを送信する取引先のコンピュータである。
【0024】
注文処理装置100は、ネットワーク200を介して利用者装置301,302,303から送られてきた注文データを取引装置401,402に送信する。なお、注文処理装置100は、利用者装置301,302,303から入力した注文データを入力順に順次送信するとしてもよい。また、注文処理装置100は、注文データを一旦記憶部に格納しておき、注文データごとに設定されている送信の指定日時などにしたがって、注文データを取引装置401,402に送信するとしてもよい。
【0025】
図3は、第2の実施形態の注文処理装置のハードウェア構成例を示す図である。注文処理装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
【0026】
RAM102は、注文処理装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0027】
バス108に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、及び通信インタフェース107がある。
【0028】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD103は、注文処理装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0029】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令にしたがって、画像をモニタ11の画面に表示させる。モニタ11としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0030】
入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号をCPU101に送信する。なお、マウス13は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0031】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク14に記録されたデータの読み取りを行う。光ディスク14は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク14には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0032】
通信インタフェース107は、ネットワーク200に接続されている。通信インタフェース107は、ネットワーク200を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0033】
以上のようなハードウェア構成によって、本実施形態の処理機能を実現することができる。なお、
図3には注文処理装置100のハードウェア構成を示したが、利用者装置301,302,303及び取引装置401,402も同様のハードウェア構成を有する。
【0034】
図4は、第2の実施形態の注文処理装置の機能構成例を示す図である。注文処理装置100は、注文処理部110と、入力部120と、表示部130と、通信制御部140と、要求パス150と、通知パス160と、を有する。
【0035】
注文処理部110は、記憶部111と、要求処理部112と、状態管理部113と、要求制御部114と、通知制御部115と、を有する。注文処理部110では、記憶部111に格納された注文データを、通信制御部140を利用して取引装置401に送信する処理を行う。注文処理部110は、CPU101が注文処理プログラムを実行することによりその処理機能が実現される。
【0036】
記憶部111は、注文キュー111aと、注文管理情報111bと、を記憶する。記憶部111には、例えば、RAM102の一部の記憶領域が割り当てられる。注文キュー111aは、顧客から取得した注文データを一時的に保持するFIFO(First In First Out)型のキューである。注文データは、入力部120を介して順次登録され、要求処理部112から順次取り出される。なお、注文キュー111aでは、登録によって注文データが記憶領域に書き込まれ、取り出しによって記憶領域から削除されるとする。入力部120を介して登録される注文データの登録間隔が注文データの1件当たりの処理時間より短くなると、注文キュー111aには注文データが滞留していく。注文管理情報111bには、注文処理の進行状態を示す情報が、注文データごとに登録される。
【0037】
要求処理部112は、注文キュー111aから1件ずつ注文データを取り出し、要求制御部114に対して送信要求を行う。このとき、注文キュー111aに含まれる注文データの件数を算出し、取り出した注文データとともに要求制御部114へ通知する。注文データの件数は、記憶部111の記憶領域の注文データを数えるとしてもよいが、対象の注文データの数が多い場合にはCPU101に負荷がかかる。例えば、注文データの計数用のカウンタを設けるとともに、入力部120が注文キュー111aに注文データを登録するごとに要求処理部112に通知が入力されるように構成する。要求処理部112は、入力部120から通知を受けるごとにカウンタをインクリメントし、要求制御部114から復帰の指示を受けるごとにカウンタをディクリメントするとしてもよい。この場合、カウンタの値が注文データの登録件数になる。また、要求処理部112は、要求制御部114に対して送信要求を行う際に、状態管理部113に対し、取り出した注文データを注文管理情報111bに新規登録するように依頼する。なお、要求処理部112は、上記の処理が終了した時点で処理を停止し、要求制御部114からの復帰指示を待つ。要求処理部112では、要求制御部114に対する送信要求は1件ずつ行われ、仕掛中の送信要求が復帰しない限り次の注文データの送信要求は出力されない。
【0038】
状態管理部113は、注文データの送信処理の進行状態に応じて、注文管理情報111bを更新する。状態管理部113は、注文キュー111aから取り出した注文データの新規登録依頼を要求処理部112から取得し、注文データを注文管理情報111bに新規登録する。状態管理部113は、要求を受けた注文データの識別情報に対応付けて注文処理の進行状態(新規)を含むレコードを作成し、注文管理情報111bに登録する。また、状態管理部113は、要求制御部114から送信処理の進行状態を受付に更新する更新依頼を受けて注文管理情報111bの対応する注文データの情報を更新する。また、状態管理部113は、通知制御部115から送信処理の進行状態を完了に更新する更新依頼を受けて注文管理情報111bの対応する注文データの情報を更新する。
【0039】
要求制御部114は、要求処理部112からの要求を受け、送信要求の方式を判定する。第1の方式は、通信制御部140による先の注文データの送信が完了した後、次の注文データの送信要求を行うというものである。注文を1件ずつ確実に処理することができるため、注文データの件数が少ないときの送信処理に適している。第1の方式では、注文処理部110は通信制御部140の送信処理と同期して動作することから、以下の説明では同期型と表記する。第2の方式は、通信制御部140による先の注文データの受け付けが終了したら、送信完了を待たずに次の注文データの送信要求を行うというものである。第1の方式より次の注文データの送信要求を行うまでの期間が短くなるため、注文の滞留を抑制することができる。第2の方式では、注文処理部110は通信制御部140の送信処理と同期して動作しないことから、非同期型と表記する。要求制御部114は、要求処理部112から注文データとともに取得した注文キュー111aに登録される注文データの登録件数を所定の閾値と比較し、登録件数が閾値以下のときは同期型を選択し、多いときは非同期型を選択する。要求制御部114は、同期型を選択したときは、同期型を指定して通信制御部140に対して送信要求を行う。そして、要求制御部114は、通知制御部115を介して通信制御部140から送信完了通知を受けたことを検出したときは、要求処理部112に処理の復帰を通知する。また、要求制御部114は、非同期型を選択したときは、非同期型を指定して通信制御部140に対して送信要求を行う。そして、要求制御部114は、通信制御部140からの受付完了通知を取得し、要求処理部112に処理の復帰を通知する。さらに、状態管理部113に対し、注文管理情報111bの対応する注文データの注文処理の進行状態を、受付完了に更新するように依頼する。
【0040】
通知制御部115は、通信制御部140から送信完了通知を取得し、同期型を選択しているときは、要求制御部114に対し連携完了を通知する。連携完了通知は、連携して注文データの送信処理を行う要求制御部114に送信の完了を通知するものである。また、通知制御部115は、状態管理部113に対し、注文管理情報111bの対応する注文データの注文処理の状態を、送信の完了に更新するように依頼する。
【0041】
入力部120は、利用者装置301、キーボード12などに接続し、注文データを入力する。利用者装置301からは、顧客の新規注文データが適宜入力する。新規注文データは、例えば、寄り付きや引けの時間帯には大量に入力し、寄り付きと引けの間のザラ場では少なくなる傾向がある。キーボード12からは、例えば、オペレータがキーボード12を操作して入力した新規注文データが入力する。入力部120は、利用者装置301及びキーボード12などから入力した新規注文データを記憶部111の注文キュー111aに受け付けた順に登録する。このとき、登録したことを要求処理部112に通知するとしてもよい。なお、注文データに送信日時の指定があるような場合には、一旦入力部120が管理する記憶領域に注文データを記憶しておき、指定日時に到達したときに注文キュー111aに登録するようにしてもよい。また、入力部120は、キーボード12を操作してオペレータが入力した指示を表示部130などに通知する。
【0042】
表示部130は、入力部120を介して注文処理の進行状態の表示要求を受けたときは、注文管理情報111bに基づいて注文処理の進行状態をモニタ11に表示する。例えば、注文処理部110が受け付けた注文データと、その注文データの注文処理の進行状態とを対応付けた一覧情報を表示する。
【0043】
通信制御部140は、要求制御部114から要求された注文データを電文に変換し、取引装置401に対して送信する処理を行う。同期型処理と非同期型処理を実装し、要求制御部114からの指定により切り替えて動作する。同期型処理では、通信制御部140は、要求制御部114から注文データの送信要求を入力し、送信要求を受け付けた後、取引装置401に向けて送信する。送信完了後、通信制御部140は、通知制御部115に対し、送信完了を通知する。非同期型処理では、通信制御部140は、要求制御部114から注文データの送信要求を入力し、送信要求を受け付けた後、受付完了通知を要求制御部114へ通知する。その後、通信制御部140は、注文データを取引装置401に向けて送信し、送信終了後に通知制御部115に対し、送信完了を通知する。通信制御部140は、CPU101が通信制御プログラムを実行することによりその処理機能が実現される。
【0044】
要求パス150は、注文処理部110と、通信制御部140とを繋ぐ通信経路であり、主として要求制御部114が通信制御部140に出力する送信要求を伝達する。また、非同期型の場合に通信制御部140が要求制御部114に通知する受付完了通知も伝達する。
【0045】
通知パス160は、注文処理部110と、通信制御部140とを繋ぐ通信経路であり、主として通知制御部115に通知する送信完了通知を伝達する。
図5は、注文管理情報の一例を示す図である。注文管理情報1111は、注文ID、状態、要求ID及び注文詳細の情報項目を含む。
【0046】
注文IDの項目には、注文データを識別するための識別情報が登録される。
状態の項目には、注文データの注文処理の進行状態を示す情報が登録される。「新規」は、要求処理部112が取り出した注文データを注文管理情報1111に新たに登録したことを示す。「受付」は、通信制御部140が、要求制御部114から受けた注文データの送信要求を受け付けたことを示す。「完了」は、通信制御部140による送信処理が終了したことを示す。同期型が選択された注文データは、登録時に状態の項目が「新規」になり、通信制御部140の送信完了通知を受けて「完了」となる。非同期型が選択された注文データは、状態の項目は、登録時に「新規」になり、通信制御部140の受付完了通知で「受付」の状態になり、通信制御部140の送信完了通知を受けて「完了」となる。
【0047】
要求IDの項目は、非同期型処理の場合に、要求制御部114が送信要求を行った注文データと、通信制御部140が受付完了及び送信完了の通知を発行した注文データとを紐付けする情報である。要求制御部114は、送信要求時に付与した要求IDを注文管理情報1111に記憶しておく。要求制御部114及び通知制御部115は、通信制御部140からの通知に含まれる要求IDと、注文管理情報1111の要求IDとを照合し、通知を受けた注文データを特定する。なお、要求IDは、要求制御部114による非同期型の送信要求を受け付けた通信制御部140が付与し、受付完了の通知と共に要求制御部114へ通知するとしてもよい。
【0048】
注文詳細の情報項目は、注文データの詳しい内容を示す情報である。注文管理情報1111の例では、「注文種別」と「注文数量」などが登録されている。
なお、注文管理情報1111を構成する項目は一例であり、項目は必要に応じて適宜設定される。
【0049】
次に、要求処理部112、要求制御部114及び通知制御部115の各処理部が行う処理についてフローチャートを用いて説明する。
図6は、要求処理部の要求発行処理の手順を示すフローチャートである。以下、
図6に示す処理をステップ番号に沿って説明する。
【0050】
[ステップS10]要求処理部112は、注文キュー111aに登録される注文データの登録件数を算出する。また、注文キュー111aから注文データを1件取り出す。
[ステップS11]要求処理部112は、送信処理の進行状態を示す状態の項目を「新規」として、取り出した注文データを注文管理情報111bに登録するように状態管理部113に依頼する。
【0051】
状態管理部113は、依頼を受け、その注文データのレコードを新たに生成し、注文管理情報111bに登録する。注文管理情報111bの対応する注文データの状態の項目には、「新規」を登録する。
【0052】
[ステップS12]要求処理部112は、注文データと、登録件数と、を要求制御部114に引き渡し、送信要求を発行する。
[ステップS13]要求処理部112は、送信要求を発行した仕掛中の要求処理を停止し、要求制御部114からの復帰指示を待つ。要求処理部112は、要求制御部114から復帰指示を取得したか否かを判定し、復帰指示を取得していなければ、仕掛中の要求処理の停止を継続する。復帰指示を取得していれば、処理をステップS10に進め、次の注文データの処理を行う。
【0053】
以上の処理手順が実行されることにより、要求処理部112は、注文キュー111aに登録される注文データを1件ずつ取り出し、要求制御部114に対して送信要求を行い、復帰が指示されるまで処理を停止する。要求処理部112は、復帰が指示されたときは、この注文データの処理を終了し、次の注文データの処理を開始する。
【0054】
図7は、要求制御部の要求制御処理の手順を示すフローチャートである。以下、
図7に示す処理をステップ番号に沿って説明する。
[ステップS21]要求制御部114は、要求処理部112から発行された送信要求を受け付ける。送信要求には、送信する注文データと、注文キュー111aに登録されている注文データの登録件数が含まれている。
【0055】
[ステップS22]要求制御部114は、注文データの登録件数と閾値とを比較し、注文データの登録件数が閾値以下であるか否かを判定する。注文データの登録件数が閾値以下である時は、処理をステップS23に進める。登録件数が閾値を超えているときは、処理をステップS25に進める。
【0056】
[ステップS23]要求制御部114は、注文データの登録件数が閾値以下であるので、注文データは滞留していないと判断し、同期型を指定して通信制御部140に送信要求を出力する。具体的には、要求制御部114は、通信制御部140の同期型処理を呼び出す。
【0057】
[ステップS24]要求制御部114は、通知制御部115から連携完了通知を取得するまで待つ。連携完了通知は、通知制御部115が通信制御部140から送信完了通知を受け取ったときに、要求制御部114に対して発行する通知である。連携完了通知を取得したときは、処理をステップS28に進める。
【0058】
[ステップS25]要求制御部114は、注文データの登録件数が閾値より多いので、注文の滞留が発生するおそれがあると判断し、非同期型を指定して通信制御部140に送信要求を出力する。具体的には、要求制御部114は、通信制御部140の非同期型処理を呼び出す。非同期型処理を呼び出す場合には、1件の注文データの送信処理が終了する前に次の注文データを送信することができるので、注文データを識別するため、送信要求ごとに要求IDを付与する。通信制御部140は、非同期型処理を呼び出されたときは、完了通知に要求IDを付与する。要求制御部114は、通信制御部140から取得した完了通知がどの注文データに対応するものであるかを要求IDで識別する。
【0059】
[ステップS26]要求制御部114は、通信制御部140から受付完了通知を取得するまで待つ。受付完了通知は、通信制御部140が要求制御部114の送信要求の受付処理を完了したときに、要求制御部114に対して発行する通知である。受付完了通知を取得したときは、処理をステップS27に進める。
【0060】
[ステップS27]要求制御部114は、対応する注文データに関する注文管理情報111bの状態の項目を「受付」に更新するように状態管理部113に対して依頼する。状態管理部113は、依頼に応じて、対応する注文データに関する注文管理情報111bの状態の項目を「受付」に更新する。
【0061】
[ステップS28]要求制御部114は、要求処理部112より受け付けた送信要求の仕掛けを復帰するように復帰指示を要求処理部112に出力する。
以上の処理手順が実行されることにより、要求制御部114は、注文キュー111aの登録件数が閾値以下であれば、同期型処理を呼び出し、送信処理の完了後に要求処理部112を復帰させる。注文キュー111aの登録件数が閾値を超えていれば、非同期型処理を呼び出し、注文データの送信要求の受付完了後に要求処理部112を復帰させる。
【0062】
図8は、通知制御部の通知制御処理の手順を示すフローチャートである。以下、
図8に示す処理をステップ番号に沿って説明する。
[ステップS31]通知制御部115は、通信制御部140が発行する送信完了通知を取得するのを待つ。通信制御部140は、送信完了通知を取得したときは、処理をステップS32に進める。
【0063】
[ステップS32]通知制御部115は、送信完了通知を取得した注文データに対応する注文データを特定し、注文管理情報111bの該当する注文データの状態の項目を「完了」に更新するように状態管理部113に依頼する。状態管理部113は、注文管理情報111bの該当する注文データの状態の項目を「完了」に更新する。同期型処理が行われているときは、送信処理を行っている注文データは1件であるので、通知制御部115は、対応する注文データを容易に特定できる。非同期型処理が行われているときは、通知制御部115は、要求IDに基づいて対応する注文データを特定する。
【0064】
[ステップS33]通知制御部115は、送信処理が同期型で行われたか否かを判定する。同期型処理であるか、非同期型処理であるかは、通信制御部140から通知されるとする。また、例えば、要求IDの有無で判定するとしてもよい。通知制御部115は、同期型であれば処理をステップS34に進め、非同期型であれば、処理をステップS31に進める。
【0065】
[ステップS34]通知制御部115は、同期型で行われているときは、要求制御部114に対し、連携完了通知を送り、処理をステップS31に進める。
このように、通知制御部115は、通信制御部140の送信完了通知を検出し、該当する注文データの注文管理情報111bの状態を更新する。また、同期型であれば、連携完了通知を要求制御部114へ通知する。
【0066】
次に、同期型で要求制御処理が行われる場合の処理の流れについて説明する。
図9は、同期型の要求制御処理の例を示すシーケンス図である。以下、
図9に示す処理をステップ番号に沿って説明する。
【0067】
[ステップST01]要求処理部112は、注文キュー111aから注文データを1件取り出す。このとき、注文キュー111aに登録される注文データの登録件数も算出する。
【0068】
[ステップST02]要求処理部112は、状態管理部113に対し、取り出した注文データを注文管理情報111bに新たに登録するように、新規登録の依頼を行う。
[ステップST03]状態管理部113は、新規登録の依頼を受けた注文データのレコードを新たに作成し、注文管理情報111bに登録する。
【0069】
[ステップST04]要求処理部112は、取り出した注文データの送信要求を要求制御部114に対して発行する。要求処理部112は、送信要求とともに登録件数と注文データとを要求制御部114に出力する。要求処理部112は、その後、待機601の状態に移行する。
【0070】
[ステップST05]要求制御部114は、要求処理部112から送信要求の注文データと、注文キュー111aの注文データの登録件数とを取得し、注文データの登録件数と閾値とを比較する。
図9に示す要求制御部114の場合は、注文データの登録件数が閾値以下であるので、通信制御部140に対して同期型処理の呼び出しを行う。
【0071】
[ステップST06]通信制御部140は、同期型処理の呼び出しを受け、注文データの送信要求の受付処理を行う。同期型処理であるので、受付完了時に通知は行わない。通信制御部140は、受け付けた注文データを電文に変換し、取引装置401に送信する。
【0072】
[ステップST07]通信制御部140は、送信が完了したので、送信完了通知を通知制御部115に対して発行する。
[ステップST08]通知制御部115は、通信制御部140の発行した送信完了通知を取得し、連携完了通知を要求制御部114に対して発行する。
【0073】
[ステップST09]要求制御部114は、連携完了通知を取得したことによって送信が完了したことを検出し、要求処理部112に対して復帰指示を行う。要求処理部112は、待機601の状態から復帰し、次の注文データの取り出しが可能な状態になる。
【0074】
[ステップST10]通知制御部115は、注文管理情報111bの送信完了通知を受けた注文データに該当する状態の項目を「完了」に更新するように、状態管理部113に対して依頼する。
【0075】
[ステップST11]状態管理部113は、注文管理情報111bの該当する注文データの状態の項目を更新する。
このように同期型の処理手順が行われる。
【0076】
次に、非同期型で要求制御処理が行われる場合の処理の流れについて説明する。
図10は、非同期型の要求制御処理の例を示すシーケンス図である。以下、
図10に示す処理をステップ番号に沿って説明する。
【0077】
[ステップST21]要求処理部112は、注文キュー111aから注文データを1件取り出す。このとき、注文キュー111aに登録される注文データの登録件数も算出する。
【0078】
[ステップST22]要求処理部112は、状態管理部113に対し、取り出した注文データを注文管理情報111bに新たに登録するように、新規登録の依頼を行う。
[ステップST23]状態管理部113は、新規登録の依頼を受けた注文データを新たに注文管理情報111bに登録する。
【0079】
[ステップST24]要求処理部112は、取り出した注文データの送信要求を要求制御部114に対して発行する。要求処理部112は、送信要求とともに注文データの登録件数と注文データとを要求制御部114に出力する。要求処理部112は、その後、待機602の状態に移行する。
【0080】
[ステップST25]要求制御部114は、注文キュー111aに登録される注文データの登録件数と閾値とを比較し、注文データの登録件数が閾値を超えているので、通信制御部140に対して非同期型処理の呼び出しを行う。非同期型処理の呼び出しの際、要求IDも付加する。
【0081】
[ステップST26]通信制御部140は、非同期型処理の呼び出しを受け、注文データの送信要求の受付処理を行う。通信制御部140は、受付処理終了後、受付完了通知を要求制御部114に対して発行する。
【0082】
[ステップST27]通信制御部140は、受け付けが完了した注文データを電文に変換し、取引装置401に送信する。
[ステップST28]要求制御部114は、受付完了通知を取得し、状態管理部113に対し、受付完了通知を受けた注文データに対応する注文管理情報111bの状態の項目を、受付完了を示す「受付」に更新するように依頼を行う。
【0083】
[ステップST29]状態管理部113は、要求制御部114の依頼を受け、受付完了通知に対応する注文データの状態の項目を「受付」に更新する。
[ステップST30]要求制御部114は、受付完了通知を取得したので、要求処理部112に対して復帰指示を発行する。要求処理部112は、待機602の状態から復帰し、次の注文データの取り出しが可能な状態になる。
【0084】
[ステップST31]要求処理部112は、復帰指示に応じて待機602の状態から復帰したので、次の注文データの処理を開始する。要求処理部112は、注文キュー111aから注文データを1件取り出す。このとき、注文キュー111aに登録される注文データの登録件数も算出する。また、
図10では省略しているが、状態管理部113に対し、取り出した注文データを注文管理情報111bに新規登録するように依頼する。
【0085】
[ステップST32]要求処理部112は、取り出した注文データの送信要求を要求制御部114に対して発行する。要求処理部112は、送信要求とともに登録件数と注文データとを要求制御部114に出力する。図示はしていないが、要求処理部112は、その後、待機状態に移行する。
【0086】
[ステップST33]要求制御部114は、注文キュー111aに登録される注文データの登録件数と閾値とを比較し、注文データの登録件数が閾値を超えているので、通信制御部140に対して非同期型処理の呼び出しを行う。非同期型処理の呼び出しの際、要求IDも付加する。なお、このとき、注文データの登録件数が閾値を超えていないときは、同期型処理の呼び出しを行う。
【0087】
[ステップST34]通信制御部140は、ステップST27で送信処理を行った注文データの送信が完了したので、送信完了通知を通知制御部115に対し発行する。通信制御部140は、送信完了通知に送信した注文データの要求IDを付加する。
【0088】
[ステップST35]通知制御部115は、通信制御部140の発行した送信完了通知を取得し、要求IDに基づいて対応する注文データを特定する。通知制御部115は、送信完了通知を受けた注文データに対応する注文管理情報111bの状態の項目を「完了」に更新するように、状態管理部113に対して依頼する。
【0089】
[ステップST36]状態管理部113は、注文管理情報111bの該当する注文データの状態の項目を更新する。
このように非同期型の処理手順が行われる。
【0090】
注文処理装置100によれば、送信要求を受けた注文データの登録件数に応じて自動的に同期型または非同期型を選択して送信処理を行うので、注文の滞留を抑制することができる。なお、注文処理装置100では、注文データの登録件数を算出し、同期型と非同期型の選択を行っている。これによれば、正確に注文の滞留の可能性を予測することができるが、注文の滞留の可能性を推測できる指標であれば他の指標を用いるとしてもよい。例えば、一定時間に入力する注文データの頻度を算出し、基準値以上の頻度で注文データが入力することを検出した場合に送信処理を同期型から非同期型に切り替えるとしてもよい。また、予め、注文が殺到する時間帯が予測できれば、時間で送信処理を同期型から非同期型に切り替えるとしてもよい。また、これらの指標を組み合わせるとしてもよい。
【0091】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、注文処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0092】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0093】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0094】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
【0095】
本発明は上記の実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせてもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能である。