JP7255183B2 - データ処理装置、データ処理方法、プログラム - Google Patents

データ処理装置、データ処理方法、プログラム Download PDF

Info

Publication number
JP7255183B2
JP7255183B2 JP2019001889A JP2019001889A JP7255183B2 JP 7255183 B2 JP7255183 B2 JP 7255183B2 JP 2019001889 A JP2019001889 A JP 2019001889A JP 2019001889 A JP2019001889 A JP 2019001889A JP 7255183 B2 JP7255183 B2 JP 7255183B2
Authority
JP
Japan
Prior art keywords
data
line
processing
time
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019001889A
Other languages
English (en)
Other versions
JP2020113841A (ja
Inventor
哲 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2019001889A priority Critical patent/JP7255183B2/ja
Publication of JP2020113841A publication Critical patent/JP2020113841A/ja
Application granted granted Critical
Publication of JP7255183B2 publication Critical patent/JP7255183B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

本発明は、データ処理装置、データ処理方法、プログラムに関する。
航空管制システムを代表とするような大規模なミッションクリティカルシステムでは、1つのシステムが複数のサブシステムから構成される。各サブシステムは他のサブシステムと接続され、それぞれのシステムと専用の通信プロトコルを用いて、他のサブシステムとの間の論理的な回線状態(オープン、クローズ、障害、閉塞等)を検知する。
このようなシステムでは、接続先のシステム毎(回線毎)に優先度を持ち、高優先度の回線から受信した要求(メッセージ)を優先的に処理しなければならない場合がある。また、回線の優先度に関わらず、メッセージの送信元に対して処理応答の返信が必要なケースが存在する。この場合、メッセージの送信元システムは送信先システムからの処理応答の返信を監視し、一定時間応答が返信されない場合は障害発生と判定し、回線状態を障害と判定する。
特許文献1には、通信回線の使用に際し、通信回線の優先度の高い通信回線の確保と通信制御装置の性能の有効活用とが可能な通信制御装置が記載されている。
特開平09-162947号公報
しかしながら、特許文献1に記載の技術では、優先度の高い回線からのメッセージが連続した場合、優先度の低い回線を使用するメッセージの処理が行われず、送信元システム側でタイムアウトを検出し回線状態が障害になることがあるという問題がある。回線に障害が発生した場合、オペレータが障害の原因を調査して回線を復帰(再オープン)させなければならず、人的なコストが大きい。
そこでこの発明は、上述の課題を解決することのできるデータ処理装置、データ処理方法、プログラムを提供することを目的としている。
本発明の第1の態様によれば、データ処理装置は、処理の対象となるデータを受信する受信部と、前記データが使用する回線の優先度と処理期限とに応じて、前記データの処理の順序を決定する処理順管理部と、前記決定した順序で前記データを処理する処理実行部と、前記データが使用する回線の状態を検出する回線状態検出部と、前記回線の状態が障害になった場合に、当該回線を使用する前記データの処理期限を補正する回線状態管理部と、を備えることを特徴とする。
本発明の第2の態様によれば、データ処理方法は、処理の対象となるデータを受信し、前記データが使用する回線の優先度と処理期限とに応じて、前記データの処理の順序を決定し、前記決定した順序で前記データを処理し、前記データが使用する回線の状態を検出し、前記回線の状態が障害になった場合に、当該回線を使用する前記データの処理期限を補正することを特徴とする。
本発明の第3の態様によれば、プログラムは、データ処理装置のコンピュータを、処理の対象となるデータを受信する受信手段、前記データが使用する回線の優先度と処理期限とに応じて、前記データの処理の順序を決定する処理順管理手段、前記決定した順序で前記データを処理する処理実行手段、前記データが使用する回線の状態を検出する回線状態検出手段、前記回線の状態が障害になった場合に、当該回線を使用する前記データの処理期限を補正する回線状態管理手段、として機能させることを特徴とする。
本発明によれば、優先度の高い回線を使用するデータを優先的に処理するとともに、優先度の低い回線を使用するデータを処理期限前に処理することができる。
本発明の実施形態による通信システムの構成を示す図である。 本発明の実施形態による回線情報のデータ構造及びデータ例を示す概略図である。 本発明の実施形態によるメッセージレコードのデータ構成及びデータ例を示す概略図である。 本発明の実施形態による最優先テーブルのデータ構造及びデータ例を示す概略図である。 本発明の実施形態によるレコードテーブルのデータ構造及びデータ例を示す概略図である。 本発明の実施形態による回線障害情報のデータ構造及びデータ例を示す概略図である。 本発明の実施形態によるデータ処理装置のハードウェア構成を示す図である。 本発明の実施形態によるメッセージ受信処理の流れを示すフローチャートである。 本発明の実施形態によるテーブル移動処理の流れを示すフローチャートである。 本発明の実施形態によるメッセージ処理実行処理の流れを示すフローチャートである。 本発明の実施形態による障害検出処理の流れを示すフローチャートである。 本発明の実施形態による回線障害情報のデータ構造及びデータ例を示す概略図である。 本発明の実施形態による回線状態変更通知のデータ構造及びデータ例を示す概略図である。 本発明の実施形態によるオープン検出処理の流れを示すフローチャートである。 本発明の実施形態による回線状態変更通知のデータ構造及びデータ例を示す概略図である。 本発明の実施形態による回線状態変更通知のデータ構造及びデータ例を示す概略図である。 本発明の実施形態による時刻補正通知のデータ構造及びデータ例を示す概略図である。 本発明のデータ処理装置の最小構成を示す図である。
以下、本発明の一実施形態によるデータ処理装置、データ処理方法、プログラムを、図面を参照して説明する。
図1は本実施形態による通信システムの構成を示す図である。
本図に示すように、通信システム1は、データ処理装置100と、複数のサブシステム200とを備える。
サブシステム200は、通信システム1に含まれるシステムの1つである。サブシステム200は、回線を使用して、他のサブシステム200との間で、様々なデータ(本実施形態ではメッセージ)を送受信する。回線は、データの経路である。メッセージの送信元のサブシステム200は、メッセージの宛先を示す情報とともに、メッセージ本体のデータと、使用する回線を特定する情報とを、データ処理装置100に送信する。メッセージ本体は、メッセージのタイトルおよび本文(コンテンツ)を含む。使用する回線とは、メッセージの通信のために使用されるデータの経路を意味する。
データ処理装置100は、回線を介して複数のサブシステム200の間で送受信されるメッセージを処理する。より詳細には、データ処理装置100は、あるサブシステム200から、他のサブシステム200宛てのメッセージを受信し、受信したメッセージを処理した後、宛先である他のサブシステム200へ処理した結果を示す応答メッセージを送信する。
図1に図示するように、データ処理装置100は、回線情報記憶部110と、受信部120と、処理順管理部130と、処理実行部150と、送信部160と、回線状態管理部170と、回線障害情報記憶部180と、回線状態検出部190とを備える。
回線情報記憶部110は、各回線に関する回線情報を記憶する。
図2は本実施形態による回線情報のデータ構造及びデータ例を示す概略図である。
本図に示すように、回線情報は、回線ID(IDentification)と、回線状態と、優先度と、タイムアウト時間と、メッセージ処理時間と、滞留メッセージ数と、回線閉塞閾値と、回線閉塞解除閾値との各項目を対応付けて記憶するテーブルである。
回線IDは、各回線を一意に識別する識別情報である。回線IDは、任意の記号、符号、番号、またはその組み合わせで表されてよい。
回線状態は、対応する回線の状態を示す。回線状態には、オープン、クローズ、障害、および閉塞の4つの状態がある。オープンは、サブシステム200間で回線が繋がっており、かつ、回線を使用できる状態である。クローズは、サブシステム200間で回線がつながっていない状態である。障害は、回線に異常が発生している状態である。閉塞は、データ処理装置100がサブシステム200からメッセージを受信することを一時的に拒否している状態である。回線状態がオープン以外の状態である場合、サブシステム200間でメッセージを送受信することはできない。
優先度は、データ処理装置100において、ある回線を使用するメッセージの処理が、他の回線を使用するメッセージの処理に対して、相対的にどれだけ優先されるかを表す。つまり、優先度が高い回線を使用するメッセージほど先に処理される。本実施形態では、回線の優先度を番号1、2、3、・・・で表す。優先度1は、優先度2よりも高く、優先度2は、優先度3よりも高い。優先度は、回線ごとに予め設定されている。
タイムアウト時間は、データ処理装置100が、メッセージの宛先のサブシステム200へメッセージを送信した時点から、サブシステム200から応答のメッセージを受信せずに、タイムアウトを判定する時点までの時間である。
メッセージ処理時間は、データ処理装置100がメッセージを処理することに要する見込みの時間である。
滞留メッセージ数は、同一の回線を使用する未処理のメッセージの数である。
回線閉塞閾値は、回線が閉塞されていないときに、データ処理装置100が回線を閉塞するか否かを判定するための基準となる、未処理のメッセージの数である。
回線閉塞解除閾値は、回線が閉塞されているときに、データ処理装置100が回線の閉塞を解除するか否かを判定するための基準となる、未処理のメッセージの数である。
受信部120は、サブシステム200からメッセージを受信する。メッセージには、メッセージの宛先を示す情報と、メッセージ本体のデータと、使用する回線を特定する回線IDとが含まれる。受信部120は、サブシステム200からメッセージを受信すると、回線情報記憶部110が記憶する回線情報に基づいて、使用する回線の回線状態を特定する。受信部120は、回線状態がクローズである場合、サブシステム200から受信したメッセージを破棄する。また、受信部120は、回線状態が閉塞または障害である場合、メッセージの送信元であるサブシステム200に対してエラーメッセージを送信するように、送信部160に指示する。また、受信部120は、使用する回線状態がオープンである場合、回線情報記憶部110から読み出した回線情報を用いて、処理期限を含むメッセージレコードを生成する。
図3は本実施形態によるメッセージレコードのデータ構成及びデータ例を示す概略図である。
図示するように、メッセージレコードは、メッセージID、処理期限、回線ID、およびメッセージ本体のデータを含む。
メッセージIDは、メッセージを一意に識別する識別情報である。受信部120は、サブシステム200から受信した各メッセージに対して、メッセージIDを付与する。本実施形態では、メッセージIDは、文字「m」および番号「1、2、・・・」で構成される。
処理期限は、データ処理装置100がメッセージの処理を完了しているべき時刻である。受信部120は、以下の式(1)にしたがって、処理期限を算出する。
処理期限 = 現在時刻 + タイムアウト時間 - メッセージ処理時間
・・・(1)
ここで、受信部120は、回線情報記憶部110が記憶する回線情報から、受信したメッセージの回線IDに対応するタイムアウト時間およびメッセージ処理時間を読み出す。そして、受信部120は、読み出したタイムアウト時間を現在時刻に加算し、読みだしたメッセージ処理時間を減算して処理期限を算出する。そして、受信部120は、算出した処理期限を含むメッセージレコードを処理順管理部130へ出力する。
処理順管理部130は、メッセージが使用する回線の優先度と処理期限とに応じて、メッセージの処理の順序を決定する。処理順管理部130は、メモリ領域131を備える。メモリ領域131は、最優先テーブルと、回線の各優先度それぞれに対応する複数のレコードテーブルとを記憶する。最優先テーブルは、データ処理装置100が最優先で処理するメッセージレコードを格納するテーブルである。
図4は本実施形態による最優先テーブルのデータ構造及びデータ例を示す概略図である。
本図に示すように、最優先テーブルは、メッセージIDと、処理期限と、回線IDとの各項目を対応付けて記憶するテーブルである。
レコードテーブルは、対応する優先度のメッセージレコードを格納するテーブルである。以下、説明の便宜を図るため、3つのレコードテーブルのそれぞれに対しAからCの符号を割り当て、レコードテーブルA、B、Cと記す。なお、各レコードテーブルA~Cに共通する事項については、A~Cの符号を省略し、単に「レコードテーブル」又は「各レコードテーブル」と記す。例えば、レコードテーブルAの優先度は1であり、レコードテーブルBの優先度は2であり、レコードテーブルCの優先度は3である。すなわち、レコードテーブルAが最優先テーブルの次に処理の優先度が高く、レコードテーブルBがレコードテーブルAの次に処理の優先度が高く、レコードテーブルCがレコードテーブルBの次に処理の優先度が高い。
図5は本実施形態によるレコードテーブルのデータ構造及びデータ例を示す概略図である。
本図に示すように、レコードテーブルは、メッセージIDと、処理期限と、回線IDと、最優先テーブル移動時刻と、テーブル移動時刻との各項目を対応付けて記憶するテーブルである。最優先テーブル移動時刻は、メッセージレコードを最優先テーブルに移動させる時刻である。テーブル移動時刻は、メッセージレコードを優先度の1つ高いレコードテーブルに移動させる時刻である。
処理順管理部130は、受信部120からメッセージレコードが入力されると、当該メッセージレコードに含まれる処理期限を用いて、以下の式(2)にしたがって、最優先テーブル移動時刻を算出する。
最優先テーブル移動時刻 = 処理期限 - 最優先テーブル移動余裕値
・・・(2)
最優先テーブル移動余裕値は、メッセージレコードを最優先テーブルへ移動させることに対して、時間的な余裕を与えるための値である。最優先テーブル移動余裕値は予め設定されている。
また、処理順管理部130は、以下の式(3)にしたがって、テーブル移動時刻を算出する。
テーブル移動時刻 = 現在時刻 + テーブル滞在時間
・・・(3)
テーブル滞在時間は、メッセージレコードが最優先テーブル以外の1つのレコードテーブル上にある時間である。テーブル滞在時間は予め設定されている。最優先テーブル移動余裕値およびテーブル滞在時間は、ユーザまたはオペレータによって設定入力可能であってもよい。
処理順管理部130は、算出した最優先テーブル移動時刻およびテーブル移動時刻を、受信部120から入力されたメッセージレコードに追加する。そして、処理順管理部130は、最優先テーブル移動時刻およびテーブル移動時刻を追加したメッセージレコードを、その回線IDに対応する優先度に応じたレコードテーブルに書き込んで格納する。例えば、処理順管理部130は、回線IDの優先度が1である場合には、メッセージレコードをレコードテーブルAに格納する。また、処理順管理部130は、回線IDの優先度が2である場合には、メッセージレコードをレコードテーブルBに格納する。また、処理順管理部130は、回線IDの優先度が3である場合には、メッセージレコードをレコードテーブルCに格納する。このように、処理順管理部130は、メッセージが使用する回線の優先度に応じたレコードテーブルにメッセージレコードを格納することにより、回線の優先度が高いメッセージほど処理の順序を上げる。
また、処理順管理部130は、所定時間毎に、最優先テーブル以外の各レコードテーブルに格納されたメッセージレコードを、最優先テーブル移動時刻が早い順に並び替える。そして、処理順管理部130は、使用する回線の回線状態が「障害」でないメッセージレコードであって、現在時刻が最優先テーブル移動時刻になったメッセージレコードを最優先テーブルに移動させる。メッセージレコードを移動させるとは、移動元のテーブルからメッセージレコードを読み出して移動先のテーブルに書き込み、当該メッセージレコードを移動元のテーブルから削除することである。このとき、処理順管理部130は、最優先テーブル移動時刻になったメッセージレコードが複数ある場合、当該複数のメッセージレコードを同時に移動させる。このように、処理順管理部130は、現在時刻が最優先テーブル移動時刻になったメッセージレコードを最優先テーブルに移動させることにより、回線の優先度にかかわらず、処理期限から所定の時間前になったメッセージの処理を最優先にする。
また、処理順管理部130は、使用する回線の回線状態が「障害」でないメッセージレコードであって、現在時刻がテーブル移動時刻になったメッセージレコードを1つ優先度の高いレコードテーブルに移動させる。このとき、処理順管理部130は、当該メッセージレコードのテーブル移動時刻を、現在時刻にテーブル滞在時間を加算した時刻に書き換えてもよい。これにより、処理順管理部130は、処理期限から所定の時間前になるまでメッセージの処理の順序を段階的に上げる。
なお、最優先テーブル及びレコードテーブルは、メッセージレコードを並べ替えて管理しやすいデータ構造であることが望ましい。例えば、レコードテーブルは、二分探索木(binary search tree)のデータ構造を有していてもよい。
また、処理順管理部130は、処理実行部150からメッセージの取得要求が入力されると、メモリ領域131からメッセージレコードを読み出す。このとき、処理順管理部130は、最優先テーブルにメッセージレコードが格納されている場合には、最優先テーブルに格納されているメッセージレコードを読み出す。一方、処理順管理部130は、最優先テーブルにメッセージレコードが格納されていない場合には、優先度の一番高いレコードテーブルの一番上にある(最優先テーブル移動時刻が最も早い)メッセージレコードを読み出す。このようにして、処理順管理部130は、優先度の高いレコードテーブルから順番にメッセージレコードを読み出す。ただし、処理順管理部130は、メッセージレコードの回線IDに対応する回線状態が「障害」である場合には、当該メッセージレコードをスキップして次のメッセージレコードを読み出す。そして、処理順管理部130は、読み出したメッセージレコードが示すメッセージを処理実行部150に出力する。
処理実行部150は、処理順管理部130が決定した順序でメッセージを処理する。処理実行部150は、1または複数のスレッド151を備える。スレッド151は、データ処理装置100におけるプログラムの実行単位を表す。処理実行部150は、処理を実行していない空きスレッド151がある場合、メッセージの取得要求を処理順管理部130に出力して、メッセージを取得する。そして、処理実行部150は、取得したメッセージの処理を空きスレッド151に割り当てる。
各スレッド151は、割り当てられたメッセージに対応する処理を実行する。そして、スレッド151は、処理結果に応じた応答メッセージを生成する。また、スレッド151は、生成した応答メッセージを送信部160に出力する。
送信部160は、受信部120から入力されたエラーメッセージ、または、スレッド151から入力された応答メッセージを、宛先のサブシステム200へ送信する。
回線障害情報記憶部180は、回線に障害が発生した時刻を回線毎に示す回線障害情報を記憶する。
図6は本実施形態による回線障害情報のデータ構造及びデータ例を示す概略図である。
本図に示すように、回線障害情報は、回線IDと回線障害発生時刻との各項目を対応付けて記憶するテーブルである。回線障害発生時刻は、対応する回線に障害が発生した時刻である。回線障害発生時刻「なし」は、回線に障害が発生してないことを示す。
回線状態検出部190は、各サブシステム200との専用の通信プロトコルに基づいて回線毎の通信状況を監視し、障害やオープン等の回線状態を検出する。例えば、回線状態検出部190は、受信部120が一定時間(タイムアウト時間)サブシステム200から応答のメッセージを受信しなかった場合、回線に異常が発生していると判定し、障害を検出する。回線状態検出部190は、回線状態が変更したことを検出した場合、回線状態の変更を通知する回線状態変更通知を回線状態管理部170に出力する。回線状態変更通知には、回線状態が変更した回線IDと、変更後の回線状態を示す通知種別とが含まれる。
回線状態管理部170は、回線状態検出部190から回線状態変更通知が入力されると、回線情報記憶部110が記憶する回線情報において、入力された回線状態変更通知に含まれる回線IDに対応する回線状態を、入力された回線状態変更通知に含まれる通知種別に書き換える。
また、回線状態管理部170は、メッセージが使用する回線が障害になった場合に、当該回線が障害から復帰したときに当該回線を使用するメッセージの処理期限を補正する。障害から復帰とは、回線状態が障害から再度オープンになることである。例えば、回線状態管理部170は、回線が障害になってから復帰するまでの補正時間に基づいて、当該回線を使用するメッセージの処理期限を補正する。より具体的には、回線状態管理部170は、メモリ領域131が記憶するメッセージレコードのうち、復帰した回線を使用するメッセージレコードの最優先テーブル移動時刻、テーブル移動時刻、及び処理期限それぞれに補正時間を加算する。
また、回線状態管理部170は、処理順管理部130がメッセージレコードをメモリ領域131に追加したとき、または、メッセージを処理実行部150へ出力したときに、回線情報記憶部110が記憶する回線情報に含まれる滞留メッセージ数を読み出す。回線状態管理部170は、滞留メッセージ数が閉塞閾値以上であり、かつ、回線が閉塞されていない場合、回線を閉塞する。一方、回線状態管理部170は、滞留メッセージ数が閉塞解除閾値以下であり、かつ、回線が閉塞されている場合、回線の閉塞を解除する。回線状態管理部170が回線を閉塞状態にしている間、受信部120は、その回線を使用するメッセージを受信することを拒否する。これにより、滞留メッセージ数を一定数以下に抑制することができる。
図7は本実施形態によるデータ処理装置のハードウェア構成を示す図である。
この図が示すようにデータ処理装置100はCPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、大容量記憶装置104、通信モジュール105等の各ハードウェアを備えたコンピュータである。
図8は本実施形態によるメッセージ受信処理の流れを示すフローチャートである。
データ処理装置100は、サブシステム200からメッセージを受信したときに、本図に示すメッセージ受信処理を実行する。
受信部120は、サブシステム200からメッセージを受信する(ステップS101)。このとき、受信部120は、当該メッセージに付与されている回線IDを特定する。
続いて、受信部120は、回線情報記憶部110から回線情報を読み出す(ステップS102)。
受信部120は、読み出した回線情報に基づいて、使用する回線(特定した回線ID)に対応する回線状態がオープンであるか否かを判定する(ステップS103)。
受信部120は、回線状態が障害または閉塞である場合(ステップS103;NO)、送信部160に対して、エラーメッセージをメッセージの送信元へ送信するように指示する。送信部160は、メッセージの送信元のサブシステム200に対してエラーメッセージを送信する(ステップS104)。なお、受信部120は、回線状態がクローズである場合、メッセージを破棄する。その後、処理を終了する。
一方、受信部120は、回線状態がオープンである場合(ステップS103;YES)、特定した回線IDに対応するタイムアウト時間およびメッセージ処理時間に基づいて、処理期限を算出する(ステップS105)。
続いて、受信部120は、算出した処理期限を含むメッセージレコードを生成し、生成したメッセージレコードを処理順管理部130に出力する。処理順管理部130は、受信部120から入力されたメッセージレコードに最優先テーブル移動時刻およびテーブル移動時刻を追加して、当該メッセージレコードをその回線IDに対応する優先度に応じたレコードテーブルに格納する(ステップS106)。その後、処理を終了する。
図9は本実施形態によるテーブル移動処理の流れを示すフローチャートである。
データ処理装置100は、所定時間毎に本図に示すテーブル移動処理を、最優先テーブルを除く全てのレコードテーブルに対して実行する。また、データ処理装置100は、サブシステム200からメッセージを受信したときに、上述したデータ受信処理に続いて本図に示すテーブル移動処理を実行してもよい。或いは、データ処理装置100は、メッセージを処理したときに本図に示すテーブル移動処理を実行してもよい。
処理順管理部130は、レコードテーブルに格納されたメッセージレコードを、最優先テーブル移動時刻が早いほど上になるよう最優先テーブル移動時刻の順にソートする(ステップS201)。続いて、処理順管理部130はは、最優先テーブル移動時刻が最も早いメッセージレコードをレコードテーブルから読み出す(ステップS202)。
処理順管理部130は、読み出したメッセージレコードの回線IDに対応する回線状態を回線情報記憶部110が記憶する回線情報から読み出し、読み出した回線状態が障害であるか否かを判定する(ステップS203)。
処理順管理部130は、回線状態が障害である場合(ステップS203;YES)、次に最優先テーブル移動時刻が早いメッセージレコードを読み出し(ステップS204)、ステップS203の処理に戻る。
一方、処理順管理部130は、回線状態が障害でない場合(ステップS203;NO)、現在時刻が、読み出したメッセージレコードの最優先テーブル移動時刻になったか否かを判定する(ステップS205)。
処理順管理部130は、現在時刻が最優先テーブル移動時刻になった場合(ステップS205;YES)、当該メッセージレコードを最優先テーブルに移動させる(ステップS206)。その後、処理を終了する。
処理順管理部130は、現在時刻が最優先テーブル移動時刻になっていない場合(ステップS205;NO)、現在時刻が、読み出したメッセージレコードのテーブル移動時刻になったか否かを判定する(ステップS207)。
処理順管理部130は、現在時刻がテーブル移動時刻になった場合(ステップS207;YES)、メモリ領域131内において優先度が1つ上のレコードテーブルへ当該メッセージレコードを移動させる(ステップS208)。その後、処理を終了する。一方、現在時刻がテーブル移動時刻になっていない場合(ステップS207;NO)、処理を終了する。
処理順管理部130は、最優先テーブルを除く全てのレコードテーブルについて、上述したテーブル移動処理を実行する。例えば、処理順管理部130は、優先度が最も高いレコードテーブルから順番に、上述したテーブル移動処理を実行してもよい。この場合、処理順管理部130は、優先度が最も低いレコードテーブルのテーブル移動処理が終了した後、優先度が最も高いレコードテーブルについて、再度テーブル移動処理を実行する。
図10は本実施形態によるメッセージ処理実行処理の流れを示すフローチャートである。
データ処理装置100は、処理実行部150に空きスレッド151ができた場合に、本図に示すメッセージ処理実行処理を実行する。
処理実行部150は、スレッド151に空きができると、メッセージの取得要求を処理順管理部130に出力する。処理順管理部130は、取得要求が入力されると、メモリ領域131に記憶されている最優先テーブルにメッセージレコードが格納されているか否かを判定する(ステップS301)。
処理順管理部130は、最優先テーブルにメッセージレコードが格納されている場合(ステップS301;YES)、最優先テーブルからメッセージレコードを読み出す(ステップS302)。
一方、処理順管理部130は、最優先テーブルにメッセージレコードが格納されていない場合(ステップS301;NO)、メッセージレコードが格納されているレコードテーブルのうち最も優先度の高いレコードテーブルから一番上に格納されているメッセージレコードを読み出す(ステップS303)。
処理順管理部130は、回線情報記憶部110が記憶する回線情報に基づいて、読み出したメッセージレコードの回線IDに対応する回線状態が障害であるか否かを判定する(ステップS304)。処理順管理部130は、回線状態が障害である場合(ステップS304;YES)、当該メッセージレコードの処理をスキップして、ステップS301の処理に戻る。
一方、処理順管理部130は、回線状態が障害でない場合(ステップS304;NO)、読み出したメッセージレコードが示すメッセージを処理実行部150に出力する。このとき、処理順管理部130は、読み出したメッセージレコードを読み出し元のレコードテーブルから削除する。処理実行部150は入力されたメッセージをスレッド151に割り当てて処理を実行する(ステップS305)。そして、処理実行部150は、処理結果に応じた応答メッセージを生成し、生成した応答メッセージを送信部160に出力する。送信部160は、入力された応答メッセージを、処理したメッセージの宛先のサブシステム200に送信する(ステップS306)。その後、処理を終了する。
図11は本実施形態による障害検出処理の流れを示すフローチャートである。
データ処理装置100は、回線状態が障害に変更になったときに、本図に示す障害検出処理を実行する。以下、時刻「13:31:00」に回線ID「LINE1」の回線状態が障害に変更した場合を例に説明する。
回線状態検出部190は、回線ID「LINE1」の回線状態が「障害」に変更になったことを検出する(ステップS401)。回線状態検出部190は、図12に示すように、回線障害情報記憶部180が記憶する回線障害情報において、障害になった回線ID「LINE1」に対応する障害発生時刻に現在時刻「13:31:00」を書き込んで設定する(ステップS402)。
続いて、回線状態検出部190は、図13に示す、障害になった回線の回線ID「LINE1」と、回線状態が障害に変更したことを示す通知種別「障害」と、補正時間「なし」とを含む回線状態変更通知を回線状態管理部170に出力する。回線状態変更通知における通知種別は、変更後の回線状態である。また、回線状態変更通知における補正時間は、処理期限、最優先テーブル移動時刻及びテーブル移動時刻を補正する時間である。補正時間「なし」は、補正をしないことを示す。
回線状態管理部170は、回線状態検出部190から入力された回線状態変更通知に基づいて、回線情報記憶部110が記憶する回線情報における回線ID「LINE1」に対応する回線状態を「障害」に書き換えて更新する(ステップS403)。
図14は本実施形態によるオープン検出処理の流れを示すフローチャートである。
データ処理装置100は、回線状態がオープンに変更になったときに、本図に示すオープン検出処理を実行する。以下、回線ID「LINE1」の回線状態がオープンに変更した場合を例に説明する。
回線状態検出部190は、回線ID「LINE1」の回線状態がオープンに変更になったことを検出する(ステップS501)。回線状態検出部190は、回線障害情報記憶部180が記憶する回線障害情報において、オープンになった回線ID「LINE1」に対応する障害発生時刻に時刻が設定されている(「なし」でない)か否かを判定する(ステップS502)。
回線状態検出部190は、障害発生時刻が設定されていない場合(ステップS502;NO)、図15に示す、オープンになった回線の回線ID「LINE1」と通知種別「オープン」と補正時間「なし」とを含む回線状態変更通知を回線状態管理部170に出力して、ステップS505の処理に進む。
一方、回線状態検出部190は、障害発生時刻が設定されている場合(ステップS502;Yes)、現在時刻から障害発生時刻を減算して補正時間を算出する。すなわち、補正時間は、障害発生時刻から現在時刻までの時間である。続いて、回線状態検出部190は、図16に示す、オープンになった回線の回線ID「LINE1」と通知種別「オープン」と算出した補正時間「00:01:00」とを含む回線状態変更通知を回線状態管理部170に出力する。
回線状態管理部170は、入力された回線状態変更通知に補正時間が設定されている(補正時間が「なし」以外である)場合、図17に示す、時刻補正通知を処理順管理部130に出力する。当該補正時刻通知には、入力された回線状態変更通知に含まれる回線ID「LINE1」と補正時間「00:01:00」とが含まれる。回線状態管理部170は、時刻補正通知を処理順管理部130に出力することにより、当該時刻補正通知に含まれる回線IDのメッセージの処理期限、最優先テーブル移動時刻、及びテーブル移動時刻を、当該時刻補正通知に含まれる補正時間に基づいて補正する。
処理順管理部130は、回線状態管理部170から時刻補正通知が入力されると、入力された時刻補正通知に含まれる回線IDのメッセージレコードの最優先テーブル移動時刻、テーブル移動時刻、及び処理期限にそれぞれ、時刻補正通知に含まれる補正時間を加算して補正する(ステップS503)。
続いて、回線状態検出部190は、回線障害情報記憶部180が記憶する回線障害情報において、当該回線ID「LINE1」に対応する障害発生時刻を「なし」に書き換えてクリアする(ステップS504)。
回線状態管理部170は、回線状態検出部190から入力された回線状態変更通知に基づいて、回線情報記憶部110が記憶する回線情報における回線ID「LINE1」に対応する回線状態をオープンに書き換えて更新する(ステップS505)。
上述の処理によれば、回線に障害が発生した場合に、当該回線が障害から復帰したときに、障害が発生していた時間(現在時刻-障害発生時刻)を、処理期限、最優先テーブル移動時刻、及びテーブル移動時刻それぞれに加算する。これにより、障害が発生していた時間だけメッセージレコードの処理期限、最優先テーブル移動時刻、及びテーブル移動時刻が伸びる。よって、回線が障害から復帰したときに、優先度の低い回線を使用するメッセージが一斉に処理の最優先になることを防ぐことができる。よって、優先度の低い回線を使用するメッセージが、優先度の高い回線を使用するメッセージの処理を妨げることを防ぐことができる。
このように、本実施形態に係るデータ処理装置100は、処理の対象となるデータを受信する受信部120と、データが使用する回線の優先度と処理期限とに応じて、データの処理の順序を決定する処理順管理部130と、決定した順序でデータを処理する処理実行部150と、を備える。
このような構成により、優先度の高い回線を使用するデータを優先的に処理しつつ、優先度の低い回線を使用するデータを処理期限内に処理することができる。よって、優先度の低い回線を使用するデータの処理期限が過ぎて回線に障害が発生することを抑制することができる。すなわち、優先度の低い回線を使用するデータであっても確実に処理することができる。
ところで、障害中の回線に対してデータの送信は行えないが、障害が発生する前に受信済みのデータは通常通り処理を行い、障害から復帰後に応答を返信する必要がある。ここで、優先度の低い回線が障害になった場合、優先度の低いデータが大量にデータ処理装置100に滞留することがある。そして、回線が障害から復帰するまでに時間がかかった場合には、滞留中の優先度の低いデータが一斉に処理の最優先になり、優先度の高い回線を使用するデータの処理を妨げる可能性がある。これを防ぐために、回線閉塞閾値や回線閉塞解除閾値を小さくすることが考えられるが、回線閉塞閾値や回線閉塞解除閾値を小さくするとすぐに閉塞が発生してしまい、データ処理装置100のスループットが悪化する問題がある。また、障害の発生前に受信済みのデータについて、障害中に処理を行い回線の復帰後に応答を返信する方法も考えられるが、その場合、回線の復帰まで応答を溜めておき回線の復帰を検出して応答を送信する仕組みが必要になり、システム構成が複雑になる。一方、回線の障害発生時は、データの送信元は送信済みのデータについて、タイムアウトの監視を一時的に中断することが一般的である。すなわち、回線に障害が発生する前に当該回線から受信済みのデータについて、回線の復帰後に即座に応答を返信する必要はない。
そこで、本実施形態に係るデータ処理装置100は、データが使用する回線の状態を検出する回線状態検出部190と、回線が障害になった場合に、当該回線を使用するデータの処理期限を補正する回線状態管理部170と、を更に備える。このような構成により、回線が障害から復帰したときに優先度の低いデータが一斉に処理の最優先になることを防ぐことができる。よって、優先度の低い回線を使用するメッセージが、優先度の高いメッセージの処理を妨げることを防ぐことができる。また、システム構成を複雑にすることなく、回線閉塞閾値や回線閉塞解除閾値を大きくしてデータ処理装置のスループットを向上させることが可能である。
また、回線状態管理部170は、回線が障害になってから復帰するまでの時間に基づいて、当該回線を使用するデータの処理期限を補正する。このような構成により、障害が続いた時間に応じて処理期限を延ばすことができる。
また、処理順管理部130は、使用する回線が障害でないデータであって、処理期限から所定の時間前になったデータの処理を最優先にする。このような構成により、使用する回線が障害でないデータであって処理期限の近づいたデータを最優先で処理することができる。また、障害が発生している回線を使用するデータの処理を最優先にすることを防ぐことができる。
また、処理順管理部130は、使用する回線が障害でない場合に、処理期限から所定の時間前になるまでデータの処理の順序を段階的に上げる。このような構成により、使用する回線が障害でないデータの処理の優先度を処理期限が近づくにつれて上げることができる。また、障害が発生している回線を使用するデータの処理の優先度を上げることを防ぐことができる。
また、処理実行部150は、1または複数のスレッドを備え、スレッドに空きが生じるごとに、決定した順序にしたがって、使用する回線が障害でないデータを処理する。このような構成により、障害が発生している回線を使用するデータを処理することを防ぐことができる。
以上本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
例えば、上述した実施形態では、回線状態検出部190が回線状態の変更を検出しているが、これに限らず、例えば送信部160が定期的にヘルスチェックメッセージを送信し、受信部120でその応答を監視する等、受信部120及び送信部160が回線状態検出部190の機能を実現してもよい。
また、本発明の実施形態は、航空管制システムなど、複数のサブシステムが相互に接続され、各接続相手サブシステムそれぞれに処理の優先度を付けることが有効であるシステム等に適用可能である。
図18はデータ処理装置の最小構成を示す図である。
データ処理装置100は少なくとも受信部120、処理順管理部130、処理実行部150、回線状態管理部170、及び回線状態検出部190の機能を備えればよい。
受信部120は、処理の対象となるデータを受信する。
処理順管理部130は、データが使用する回線の優先度と処理期限とに応じて、データの処理の順序を決定する。
処理実行部150は、決定した順序でデータを処理する。
回線状態検出部190は、データが使用する回線の状態を検出する。
回線状態管理部170は、回線の状態が障害になった場合に、当該回線を使用するデータの処理期限を補正する。
上述の各装置は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1・・・通信システム
100・・・データ処理装置
110・・・回線情報記憶部
120・・・受信部
130・・・処理順管理部
150・・・処理実行部
160・・・送信部
170・・・回線状態管理部
180・・・回線障害情報記憶部
190・・・回線状態検出部
200・・・サブシステム

Claims (6)

  1. 処理の対象となるデータを受信する受信部と、
    前記データが使用する回線の優先度と、当該優先度が高いほど短いタイムアウト時間に基づいて算出した処理期限と、前記データを処理するために当該データの情報を一時記憶するデータテーブルにおけるテーブル滞在時間と、に応じて、前記処理期限が早いほど、また前記テーブル滞在時間が長いほど、前記データの処理の順序の優先度を高く当該データの処理の順序を決定する処理順管理部と、
    前記決定した順序で前記データを処理する処理実行部と、
    前記データが使用する回線の状態を検出する回線状態検出部と、
    前記回線の状態が障害になった場合に、当該回線を使用する前記データの処理期限に前記回線の状態が障害になってから復帰するまでの時間を加算して当該処理期限を伸ばすよう補正する回線状態管理部と、
    を備えるデータ処理装置。
  2. 前記処理順管理部は、使用する回線の状態が障害でない前記データであって、処理期限から所定の時間前になった前記データの処理を最優先にする
    請求項1に記載のデータ処理装置。
  3. 前記処理順管理部は、使用する回線の状態が障害でない場合に、処理期限から所定の時間前になるまで前記データの処理の順序を段階的に上げる
    請求項1または請求項2に記載のデータ処理装置。
  4. 前記処理実行部は、前記決定した順序にしたがって、使用する回線の状態が障害でない前記データを処理する
    請求項1から請求項の何れか一項に記載のデータ処理装置。
  5. 処理の対象となるデータを受信し、
    前記データが使用する回線の優先度と、当該優先度が高いほど短いタイムアウト時間に基づいて算出した処理期限と、前記データを処理するために当該データの情報を一時記憶するデータテーブルにおけるテーブル滞在時間と、に応じて、前記処理期限が早いほど、また前記テーブル滞在時間が長いほど、前記データの処理の順序の優先度を高く当該データの処理の順序を決定し、
    前記決定した順序で前記データを処理し、
    前記データが使用する回線の状態を検出し、
    前記回線の状態が障害になった場合に、当該回線を使用する前記データの処理期限に前記回線の状態が障害になってから復帰するまでの時間を加算して当該処理期限を伸ばすよう補正する
    データ処理方法。
  6. データ処理装置のコンピュータを、
    処理の対象となるデータを受信する受信手段、
    前記データが使用する回線の優先度と、当該優先度が高いほど短いタイムアウト時間に基づいて算出した処理期限と、前記データを処理するために当該データの情報を一時記憶するデータテーブルにおけるテーブル滞在時間と、に応じて、前記処理期限が早いほど、また前記テーブル滞在時間が長いほど、前記データの処理の順序の優先度を高く当該データの処理の順序を決定する処理順管理手段、
    前記決定した順序で前記データを処理する処理実行手段、
    前記データが使用する回線の状態を検出する回線状態検出手段、
    前記回線の状態が障害になった場合に、当該回線を使用する前記データの処理期限に前記回線の状態が障害になってから復帰するまでの時間を加算して当該処理期限を伸ばすよう補正する回線状態管理手段、
    として機能させるプログラム。
JP2019001889A 2019-01-09 2019-01-09 データ処理装置、データ処理方法、プログラム Active JP7255183B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019001889A JP7255183B2 (ja) 2019-01-09 2019-01-09 データ処理装置、データ処理方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019001889A JP7255183B2 (ja) 2019-01-09 2019-01-09 データ処理装置、データ処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2020113841A JP2020113841A (ja) 2020-07-27
JP7255183B2 true JP7255183B2 (ja) 2023-04-11

Family

ID=71665984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019001889A Active JP7255183B2 (ja) 2019-01-09 2019-01-09 データ処理装置、データ処理方法、プログラム

Country Status (1)

Country Link
JP (1) JP7255183B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006304349A (ja) 2006-06-19 2006-11-02 Hitachi Ltd 通信システムおよび通信方法
JP2012015667A (ja) 2010-06-30 2012-01-19 Alaxala Networks Corp パケット中継装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3151103B2 (ja) * 1994-03-30 2001-04-03 株式会社日立製作所 通信システムおよび通信方法
JPH09162947A (ja) * 1995-12-04 1997-06-20 Nec Eng Ltd 通信制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006304349A (ja) 2006-06-19 2006-11-02 Hitachi Ltd 通信システムおよび通信方法
JP2012015667A (ja) 2010-06-30 2012-01-19 Alaxala Networks Corp パケット中継装置

Also Published As

Publication number Publication date
JP2020113841A (ja) 2020-07-27

Similar Documents

Publication Publication Date Title
KR101054994B1 (ko) 영속성 관리 방법, 장치 및 컴퓨터 판독 가능 매체
US8260956B2 (en) Data transmission queuing using fault prediction
CA2058022C (en) Queue manager for an electronic mail system having improved reliability and improved adaptability to resource constraints
CN108900379B (zh) 分布式网络业务调度方法、装置、计算设备和存储介质
US20100299553A1 (en) Cache data processing using cache cluster with configurable modes
US10243855B2 (en) Efficient reliable distributed flow-controlled event propagation
JPWO2008139521A1 (ja) リモートファイルシステム、端末装置およびサーバ装置
KR20130048594A (ko) 지연 요소를 고려한 분산 스토리지 시스템, 분산 스토리지 관리 장치 및 방법
US10558547B2 (en) Methods for proactive prediction of disk failure in a RAID group and devices thereof
CN114063883A (zh) 存储数据方法、电子设备和计算机程序产品
KR20160042933A (ko) 데이터 피드 관리
US20180018237A1 (en) Information processing apparatus and information processing system
JP7255183B2 (ja) データ処理装置、データ処理方法、プログラム
CN103297264B (zh) 一种云平台故障恢复方法和***
JP5408620B2 (ja) データ分散管理システム及びデータ分散管理方法
US20160352832A1 (en) Enhancing data consistency in cloud storage system by entrance data buffering
US9720796B2 (en) Information processing apparatus, information processing system, control method for information processing system, and medium
JPH0341522A (ja) メッセージ紛失検出処理方式
JPWO2004046926A1 (ja) イベント通知方法、デバイス及びプロセッサシステム
US11726888B2 (en) Memory fault handling system, information processing device, and memory fault handling method
JP2007206912A (ja) トレースメモリの有効利用方式
JP5509272B2 (ja) 計算機システム、データ一致化方法およびデータ一致化処理プログラム
US8289838B2 (en) Data transfer in a messaging system
JP5920318B2 (ja) ストレージシステム、ストレージ制御装置、情報処理装置、ストレージ制御プログラムおよびストレージ制御方法
JP2019145909A (ja) データ処理装置、データ処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221110

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230313

R151 Written notification of patent or utility model registration

Ref document number: 7255183

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151