(57)【要約】【課題】  複数の異なる性質を持つ業務アプリケーションが同一のデータベースへとアクセスを行う交通システムにおけるダイヤ管理方式において、各業務が処理効率を維持しながら共存する事を可能とする。【解決手段】  業務端末１２００は排他要求に緊急要求設定を行い、データベースサーバ装置１１００では受信した排他要求に対し、緊急の要求であるかを判別し、緊急でない場合には排他待ちとして排他要求に優先度を付与して排他要求プール２１３０へと蓄積し、排他解除後に優先順に実行に移し、緊急である場合には特急業務実行手段１１３６にて、排他ロック中のアクセスを解除して、同排他要求を実行に移す。【選択図】    図２
2005138679.tif 000002
【特許請求の範囲】
【請求項１】
二以上の異なる業務アプリケーションからアクセス可能なデータベースを備え、前記データベースには運行ダイヤデータが格納されており、当該各運行ダイヤデータに対して前記業務アプリケーションから排他制御が可能とされている交通ダイヤ管理装置において、
排他ロックの実行を要求する業務アプリケーションの種別を示す情報と、排他ロック対象の運行ダイヤデータを示す情報と、当該業務アプリケーションの処理が緊急を要するものであるか否かを示す情報とを少なくとも備える排他ロックの実行を要求するためのデータを作成する手段と、
前記データベースに格納されている運行ダイヤデータについて、いずれの運行ダイヤデータが排他ロック中であるか、または排他ロックを待機する状態にあるかを示す情報と、それぞれの排他ロック要求の要求元とそれら要求の優先度を示す情報とを格納する手段と、
所定の運行ダイヤに対する運行実績に応じて運行状況の乱れ度合を算出し、その乱れ度合いに応じて適用されるべき業務モードを選択する手段と、
システム稼動時間帯に応じて規定される前記業務アプリケーションの優先度と、運行ダイヤデータの所定の重み付けによって規定されたデータ優先度とに基づいて排他ロック実行要求の優先度を算出する手段と、
前記排他ロックの実行要求データを蓄積し、排他ロックの実行要求による排他ロックの予約を実行する排他要求蓄積手段と、
前記蓄積された排他ロックの実行要求を前記優先度順に取得し、排他ロックの実行要求の実行可否を、前記格納手段に格納されている運行ダイヤデータを示す情報と、排他ロックの実行要求の持つ排他ロック対象の運行ダイヤデータを示す情報とに基づいて判定する手段と、
前記実行可と判定された排他ロックを実行し、排他ロックの実行要求の要求元に排他ロック実行許可を通知し、要求元からの排他ロック実行終了通知に基づいて、前記格納手段から当該データを解除し、排他ロックを解除する手段と、
前記業務アプリケーションの処理が緊急を要するものであるか否かを示す情報が緊急に実行することが必要であることを示している場合に、実行中の排他ロックを解除するとともに当該緊急の排他ロックの実行要求に排他実行許可を与える手段と
を有することを特徴とする交通ダイヤ管理装置。
【請求項２】
前記格納手段は、運行ダイヤデータのＩＤと、当該ダイヤデータが排他ロック実行中にあることを示す排他フラグと、当該運行ダイヤデータが排他ロック待ち状態にある排他ロックの実行要求により次の排他ロックが予約されているダイヤデータである事を示す仮想排他フラグと、排他ロックを実行している排他ロックの実行要求番号と、排他ロックの予約を実行している排他ロックの実行要求番号と、排他ロックの予約を実行している排他ロックの実行要求の優先度から構成される排他リソース管理テーブルを備えている請求項１に記載の交通ダイヤ管理装置。
【請求項３】
運行ダイヤに規定されている予定着発時刻と、実際に取得される運行結果の着発時刻とを照合することにより、管理対象である交通ダイヤの乱れを算出する請求項１に記載の交通ダイヤ管理装置。
【請求項４】
業務アプリケーションの優先度をシステム時間毎に定義する業務優先度テーブルと、排他ロック対象データの優先度をデータ量とシステム時間により定義するデータ優先度テーブルと、業務モードに応じて業務優先度テーブルに定義されている優先度への変更割合を定義する優先度変更割合テーブルにより、排他ロックの実行要求の業務優先度、データ優先度を算出し、２つの優先度を用いて排他ロックの実行要求の優先度を算出する請求項１に記載の交通ダイヤ管理装置。
【請求項５】
あらかじめ設定されているシステム時間毎の業務アプリケーション優先度に、現時点における鉄道運行状況に応じた変更率を適用して優先度を算出することを特徴とする請求項１に記載の交通ダイヤ管理装置。
【請求項６】
排他ロックの実行要求の処理状況を、業務アプリケーションへ伝えるメッセージを作成するメッセージ作成手段を備える請求項１に記載の交通ダイヤ管理装置。
【請求項７】
排他ロックの実行要求の要求するデータの区分が当日、翌日以降、前日以前であるかをシステム時間により判定し、判定結果日付区分と排他要求のデータ量によりデータ優先度を算出することを特徴とする請求項１に記載の交通ダイヤ管理装置。
【請求項８】
前記排他ロックの実行を要求するためのデータを作成する手段において、排他ロックの実行を要求するためのデータに備えられた排他ロック対象の運行ダイヤデータを示す情報は、当該運行ダイヤデータの日付及びダイヤ番号の両方、日付のみ、又はダイヤ番号のみのいずれかによって特定される請求項１に記載の交通ダイヤ管理装置。
【請求項９】
二以上の異なる業務アプリケーションからアクセス可能なデータベースを備え、前記データベースには運行ダイヤデータが格納されており、当該各運行ダイヤデータに対して前記業務アプリケーションから排他制御が可能とされている交通ダイヤ管理装置の制御方法であって、
排他ロックの実行を要求する業務アプリケーションの種別を示す情報と、排他ロック対象の運行ダイヤデータを示す情報と、当該業務アプリケーションの処理が緊急を要するものであるか否かを示す情報とを少なくとも備える排他ロックの実行を要求するステップと、
前記データベースに格納されている運行ダイヤデータについて、いずれの運行ダイヤデータが排他ロック中であるか、または排他ロックを待機する状態にあるかを示す情報と、それぞれの排他ロック要求の要求元とそれら要求の優先度を示す情報とを格納するステップと、
所定の運行ダイヤに対する運行実績に応じて運行状況の乱れ度合を算出し、その乱れ度合いに応じて適用されるべき業務モードを選択するステップと、
システム稼動時間帯に応じて規定される前記業務アプリケーションの優先度と、運行ダイヤデータの所定の重み付けによって規定されたデータ優先度とに基づいて排他ロック実行要求の優先度を算出するステップと、
前記排他ロックの実行要求データを蓄積し、排他ロックの実行要求による排他ロックの予約を実行するステップと、
前記蓄積された排他ロックの実行要求を前記優先度順に取得し、排他ロックの実行要求の実行可否を、前記格納手段に格納されている運行ダイヤデータを示す情報と、排他ロックの実行要求の持つ排他ロック対象の運行ダイヤデータを示す情報とに基づいて判定するステップと、
前記実行可と判定された排他ロックを実行し、排他ロックの実行要求の要求元に排他ロック実行許可を通知し、要求元からの排他ロック実行終了通知に基づいて、前記格納手段から当該データを解除し、排他ロックを解除するステップと、
前記業務アプリケーションの処理が緊急を要するものであるか否かを示す情報が緊急に実行することが必要であることを示している場合に、実行中の排他ロックを解除するとともに当該緊急の排他ロックの実行要求に排他実行許可を与えるステップとを有する。
【請求項１０】
前記格納ステップは、運行ダイヤデータのＩＤと、当該ダイヤデータが排他ロック実行中にあることを示す排他フラグと、当該運行ダイヤデータが排他ロック待ち状態にある排他ロックの実行要求により次の排他ロックが予約されているダイヤデータである事を示す仮想排他フラグと、排他ロックを実行している排他ロックの実行要求番号と、排他ロックの予約を実行している排他ロックの実行要求番号と、排他ロックの予約を実行している排他ロックの実行要求の優先度から構成される排他リソース管理テーブルを備えて実行される請求項９に記載の交通ダイヤ管理装置の制御方法。
【請求項１１】
運行ダイヤに規定されている予定着発時刻と、実際に取得される運行結果の着発時刻とを照合することにより、管理対象である交通ダイヤの乱れを算出する請求項９に記載の交通ダイヤ管理装置の制御方法。
【請求項１２】
業務アプリケーションの優先度をシステム時間毎に定義する業務優先度テーブルと、排他ロック対象データの優先度をデータ量とシステム時間により定義するデータ優先度テーブルと、業務モードに応じて業務優先度テーブルに定義されている優先度への変更割合を定義する優先度変更割合テーブルにより、排他ロックの実行要求の業務優先度、データ優先度を算出し、２つの優先度を用いて排他ロックの実行要求の優先度を算出する請求項９に記載の交通ダイヤ管理装置の制御方法。
【請求項１３】
あらかじめ設定されているシステム時間毎の業務アプリケーション優先度に、現時点における鉄道運行状況に応じた変更率を適用して優先度を算出する請求項９に記載の交通ダイヤ管理装置の制御方法。
【請求項１４】
排他ロックの実行要求の処理状況を、業務アプリケーションへ伝えるメッセージを作成するステップをさらに備える請求項９に記載の交通ダイヤ管理装置の制御方法。
【請求項１５】
排他ロックの実行要求の要求するデータの区分が当日、翌日以降、前日以前であるかをシステム時間により判定し、判定結果日付区分と排他要求のデータ量によりデータ優先度を算出する請求項９に記載の交通ダイヤ管理装置の制御方法。
【請求項１６】
前記排他ロックの実行を要求するステップにおいて、排他ロックの実行を要求するためのデータに備えられた排他ロック対象の運行ダイヤデータを示す情報は、当該運行ダイヤデータの日付及びダイヤ番号の両方、日付のみ、又はダイヤ番号のみのいずれかによって特定される請求項９に記載の交通ダイヤ管理装置の制御方法。
【請求項１７】
二以上の異なる業務アプリケーションからアクセス可能なデータベースを備え、前記データベースには運行ダイヤデータが格納されており、当該各運行ダイヤデータに対して前記業務アプリケーションから排他制御が可能とされている交通ダイヤ管理装置のためのコンピュータソフトウェアプログラムであって、コンピュータに読み込まれることにより、
排他ロックの実行を要求する業務アプリケーションの種別を示す情報と、排他ロック対象の運行ダイヤデータを示す情報と、当該業務アプリケーションの処理が緊急を要するものであるか否かを示す情報とを少なくとも備える排他ロックの実行を要求するステップと、
前記データベースに格納されている運行ダイヤデータについて、いずれの運行ダイヤデータが排他ロック中であるか、または排他ロックを待機する状態にあるかを示す情報と、それぞれの排他ロック要求の要求元とそれら要求の優先度を示す情報とを格納するステップと、
所定の運行ダイヤに対する運行実績に応じて運行状況の乱れ度合を算出し、その乱れ度合いに応じて適用されるべき業務モードを選択するステップと、
システム稼動時間帯に応じて規定される前記業務アプリケーションの優先度と、運行ダイヤデータの所定の重み付けによって規定されたデータ優先度とに基づいて排他ロック実行要求の優先度を算出するステップと、
前記排他ロックの実行要求データを蓄積し、排他ロックの実行要求による排他ロックの予約を実行するステップと、
前記蓄積された排他ロックの実行要求を前記優先度順に取得し、排他ロックの実行要求の実行可否を、前記格納手段に格納されている運行ダイヤデータを示す情報と、排他ロックの実行要求の持つ排他ロック対象の運行ダイヤデータを示す情報とに基づいて判定するステップと、
前記実行可と判定された排他ロックを実行し、排他ロックの実行要求の要求元に排他ロック実行許可を通知し、要求元からの排他ロック実行終了通知に基づいて、前記格納手段から当該データを解除し、排他ロックを解除するステップと、
前記業務アプリケーションの処理が緊急を要するものであるか否かを示す情報が緊急に実行することが必要であることを示している場合に、実行中の排他ロックを解除するとともに当該緊急の排他ロックの実行要求に排他実行許可を与えるステップとを実行させる。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計画作成や運行制御、情報伝達など、異なる性質を持つ業務アプリケーションより同一データベースへのアクセスが行われる交通システムにおけるダイヤ管理装置に関する。
【背景技術】
【０００２】
交通システムに限らず、データベースに格納されたデータに対する排他制御方式においては、データベースを管理するデータベース管理システム（以下「ＤＢＭＳ」と略称する。）にて排他を行う排他制御方式と、ＤＢＭＳの上位層にアプリケーションを構築して排他を行う方式が存在する。ＯＲＡＣＬＥ（商標）社等から供給される商用ＤＢＭＳにおいて広く用いられるＤＢＭＳによる排他制御方式について、非特許文献１によって説明する。
【０００３】
処理αにてデータＡに対する排他ロックを伴うトランザクションを実行すると、ＤＢＭＳにて該当データに対する排他ロックを行う。その後、処理βにてデータＡに対し、排他ロックを伴うトランザクションを実行すると、処理βは排他待ち状態となる。さらに、処理γにてデータＡに対し、排他ロックを伴うトランザクションを実行すると、処理γも処理β同様に排他待ち状態となる。処理αにて排他ロックを解除すると、待ち状態となった時間が早かった処理βが排他ロックを実行し、処理γは処理βに対する排他解除待ち状態となる。そして、処理βにて排他解除がなされると処理γは排他ロックを実行することが可能となる。しかし、上記方式では排他ロックの設定（実行／解除）がトランザクション単位に行われるため、複数のトランザクションから構成される処理を実行する際には、処理の途中で排他待ち状態に陥る恐れがある。例えば、トランザクション実行後、結果によってはトランザクションにロールバックを施し、再度トランザクションを実行する処理において、ロールバックを行った時点で排他ロックが解除されるため、排他解除待ち中にある他のトランザクションによって排他ロックが実行され、処理が排他待ち状態になる恐れがある。従って、排他ロックの設定をトランザクション単位でなく、業務処理など任意の単位で設定可能な方式が必要となる。
【０００４】
ＤＢＭＳの上位層にて排他を管理する方式においては、データベース内のデータに対応する仮想資源を設定し、仮想資源が排他登録されているか否かにより各処理の実行判定を行う。仮想資源に対する排他の登録／解除はトランザクションに依存しないため、処理終了後まで排他登録を維持することが可能となるので、上記方式の問題点であった処理途中での排他待ち状態を防ぐ事ができる。この方式の一例が、特許文献１に記載されている。この公報に記載された排他制御方式では、排他対象データを登録する手段（排他データ登録手段）と、排他対象データを獲得する手段（排他データ獲得手段）と排他対象データを登録している資源管理テーブルと、待ち状態となった排他要求を管理する待ち合わせ管理テーブルから構成されている。
【０００５】
この排他制御方式では、以下に示すような処理が行われる。すなわち、クライアントでは排他ロック対象のデータへの排他ロック登録要求を作成し、制御装置へと送信する。制御装置では要求された排他対象のデータを、該当データが排他登録されていない場合には資源管理テーブルへと登録する。もし、該当データが既に登録中であり、排他登録を実行できない場合には、排他要求を待ち合わせ管理テーブルへと登録し、データの登録が解除されるまで待ち合わせる。排他要求獲得手段では、排他対象データの登録を判定し、登録済みであれば、排他要求の要求元へと排他実行許可を通知し、要求元にて実際の排他ロックを実行する。
【０００６】
また、特許文献２には、排他制御監視テーブルを用いてデータベースと異なる単位で排他制御を行う技術が開示されている。
【特許文献１】特開平９−３３０２４０号公報
【特許文献２】特開２００２−２１５４４３号公報
【非特許文献１】「排他制御の理解とアプリケーションへの適用」日本オラクル株式会社、１９９８年１１月２４日
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような従来の排他制御方式では、特に交通システム管理に適用した場合、以下に示す２つの問題点がある。  
（１）実行順位を優先させる必要のある運行制御に関わる業務からの排他要求や、実行を後に回しても業務に影響の少ない計画作成に関わる業務からの排他要求が混在するが、実行順序を制御することができないため、優先して実行する必要のある排他要求の実行待ち時間が長期化することがある。  
（２）列車の事故や信号機等の制御装置の故障、ダイヤの乱れにより、緊急状況が生じた場合に、緊急処理に属する排他要求は即座に実行させる必要が生じるが、上記要求を迅速に実行させる手段を有しないため、緊急業務が滞ってしまうおそれがある。
【０００８】
本発明の一の目的は、交通システムにおけるダイヤデータ管理についての上記問題点を解決し、計画作成や、運行制御などの各業務が処理効率を維持しつつ、同一データベースシステム内に共存することを可能とする交通ダイヤ管理装置を提供することである。
【課題を解決するための手段】
【０００９】
上記のそして他の課題を解決するために、本発明の一の態様は、二以上の異なる業務アプリケーションからアクセス可能なデータベースを備え、前記データベースには運行ダイヤデータが格納されており、当該各運行ダイヤデータに対して前記業務アプリケーションから排他制御が可能とされている交通ダイヤ管理装置において、排他ロックの実行を要求する業務アプリケーションの種別を示す情報と、排他ロック対象の運行ダイヤデータを示す情報と、当該業務アプリケーションの処理が緊急を要するものであるか否かを示す情報とを少なくとも備える排他ロックの実行を要求するためのデータを作成する手段と、前記データベースに格納されている運行ダイヤデータについて、いずれの運行ダイヤデータが排他ロック中であるか、または排他ロックを待機する状態にあるかを示す情報と、それぞれの排他ロック要求の要求元とそれら要求の優先度を示す情報とを格納する手段と、所定の運行ダイヤに対する運行実績に応じて運行状況の乱れ度合を算出し、その乱れ度合いに応じて適用されるべき業務モードを選択する手段と、システム稼動時間帯に応じて規定される前記業務アプリケーションの優先度と、運行ダイヤデータの所定の重み付けによって規定されたデータ優先度とに基づいて排他ロック実行要求の優先度を算出する手段と、前記排他ロックの実行要求データを蓄積し、排他ロックの実行要求による排他ロックの予約を実行する排他要求蓄積手段と、前記蓄積された排他ロックの実行要求を前記優先度順に取得し、排他ロックの実行要求の実行可否を、前記格納手段に格納されている運行ダイヤデータを示す情報と、排他ロックの実行要求の持つ排他ロック対象の運行ダイヤデータを示す情報とに基づいて判定する手段と、前記実行可と判定された排他ロックを実行し、排他ロックの実行要求の要求元に排他ロック実行許可を通知し、要求元からの排他ロック実行終了通知に基づいて、前記格納手段から当該データを解除し、排他ロックを解除する手段と、前記業務アプリケーションの処理が緊急を要するものであるか否かを示す情報が緊急に実行することが必要であることを示している場合に、実行中の排他ロックを解除するとともに当該緊急の排他ロックの実行要求に排他実行許可を与える手段とを有する。
【００１０】
また本発明の他の態様は、二以上の異なる業務アプリケーションからアクセス可能なデータベースを備え、前記データベースには運行ダイヤデータが格納されており、当該各運行ダイヤデータに対して前記業務アプリケーションから排他制御が可能とされている交通ダイヤ管理装置の制御方法であって、排他ロックの実行を要求する業務アプリケーションの種別を示す情報と、排他ロック対象の運行ダイヤデータを示す情報と、当該業務アプリケーションの処理が緊急を要するものであるか否かを示す情報とを少なくとも備える排他ロックの実行を要求するステップと、前記データベースに格納されている運行ダイヤデータについて、いずれの運行ダイヤデータが排他ロック中であるか、または排他ロックを待機する状態にあるかを示す情報と、それぞれの排他ロック要求の要求元とそれら要求の優先度を示す情報とを格納するステップと、所定の運行ダイヤに対する運行実績に応じて運行状況の乱れ度合を算出し、その乱れ度合いに応じて適用されるべき業務モードを選択するステップと、システム稼動時間帯に応じて規定される前記業務アプリケーションの優先度と、運行ダイヤデータの所定の重み付けによって規定されたデータ優先度とに基づいて排他ロック実行要求の優先度を算出するステップと、前記排他ロックの実行要求データを蓄積し、排他ロックの実行要求による排他ロックの予約を実行するステップと、前記蓄積された排他ロックの実行要求を前記優先度順に取得し、排他ロックの実行要求の実行可否を、前記格納手段に格納されている運行ダイヤデータを示す情報と、排他ロックの実行要求の持つ排他ロック対象の運行ダイヤデータを示す情報とに基づいて判定するステップと、前記実行可と判定された排他ロックを実行し、排他ロックの実行要求の要求元に排他ロック実行許可を通知し、要求元からの排他ロック実行終了通知に基づいて、前記格納手段から当該データを解除し、排他ロックを解除するステップと、前記業務アプリケーションの処理が緊急を要するものであるか否かを示す情報が緊急に実行することが必要であることを示している場合に、実行中の排他ロックを解除するとともに当該緊急の排他ロックの実行要求に排他実行許可を与えるステップとを有する。
【００１１】
また本発明のさらなる態様は、コンピュータに読み込まれることによって上記制御方法を実行させるコンピュータソフトウェアプログラムである。
【発明を実施するための最良の形態】
【００１２】
以下では、鉄道運行システムにおけるダイヤ管理システムを適用対象として、本発明の一つの実施の形態である交通ダイヤ管理装置について図１から図１９を用いて説明する。
【００１３】
図１は本発明の交通ダイヤ管理装置のハードウェア構成図である。本例において、交通ダイヤ管理装置は、データベース管理を行うデータベースサーバ装置１１００と、データベースサーバ装置１１００に備え付けられた外部記憶装置１１５０中に実装されたデータベース１１５１と、専用回線１６００を介してデータベースサーバ装置１１００に接続され、データベースサーバ装置１１００とのメッセージの送受信や、データベース１１５１に対するアクセスを実行する運行管理、計画作成、情報伝達等の業務種別毎に複数台備わっている業務端末装置１２００と、専用回線１６００を介して後出の業務モード管理装置１３００へ運行結果を送信する運行結果取得装置１４００と、運行結果と当日のダイヤデータの照合により現時点における鉄道運行の乱れ度を算出し、乱れ度に応じた業務モードをデータベースサーバ装置１１００へ送信する業務モード管理装置１３００とを備えて構成される。
【００１４】
業務端末装置１２００は、本実施例においては計画業務や運行制御を行う指令員が使用する装置である。一般的には、入力装置である１２１０キーボード及びポインティングデバイスを装備する。また、表示装置１２２０であるディスプレイを装備する。計算機内部には処理装置１２３０、処理装置に接続される記憶装置１２４０を備えており、ソフトウェアによるプログラムの実行やネットワークを介したデータの送受信が可能である。業務端末装置１２００では、後出のダイヤデータ１１５２への排他ロックの実行要求（以下、「排他要求」という。）を作成する排他要求作成手段１２３１と、データベースサーバ装置１１００から送られてくる排他要求の処理状況を表示装置１２２０へ出力するメッセージ表示手段１２３２と、作成した排他要求に対する実行許可をデータベースサーバ装置１１００より受信してデータベース１１５１へのアクセスを行うデータベースアクセス手段（以下「ＤＢアクセス手段」と略称する。）１２３３をプログラムとして実行する。
【００１５】
業務モード管理装置１３００の構成は、業務端末装置１２００と同様で、入力装置１３１０、表示装置１３２０を備え、計算機内部には処理装置１３３０、処理装置に接続される記憶装置１３４０を備えている。記憶装置１３４０は、鉄道運行の乱れ度に応じて、通常運転中、運転整理中などの業務モードを定義する業務モード管理テーブル１３４１と、運行結果取得装置１４００より送信されてくる当日分の運行結果を格納する運行結果テーブル１３４２と、データベース内のダイヤデータ１１５２の当日分を格納する当日ダイヤテーブル１３４３を保有する。処理装置１３３０では、現時点における鉄道運行の乱れ度を算出し、業務モード管理テーブル１３４１より、乱れ度に応じた業務モードを取得する業務モード選択手段１３３１と、ＤＢアクセス手段１３３２をプログラムとして実行する。
【００１６】
運行結果取得装置１４００は、鉄道運行の運行結果を自動的に取得し、専用回線１６００を介して業務モード管理装置１３００へと送信する装置である。本例では駅構内における鉄道の着発時刻を取得する装置や、鉄道が信号を通過した際の通過時間を取得する装置を想定している。取得した運行結果は業務モード管理装置１３００内の運行結果テーブル１３４２に格納される。
【００１７】
データベースサーバ装置１１００は、業務端末１２００から受信した排他要求の実行順序を優先度に応じて制御する装置である。データベースサーバ装置１１００は入力装置１１１０、表示装置１１２０を備えており、計算機内部には、処理装置１１３０と処理装置に接続される記憶装置１１４０、外部記憶装置１１５０を備えており、ソフトウェアによるプログラム実行やネットワークを介した送受信が可能である。記憶装置１１４０は、各業務の優先度を時間毎に定義する業務優先度テーブル１１４１と、排他ロック対象データの優先度をデータ量と現在時刻により定義するデータ優先度テーブル１１４２と、業務優先度テーブル１１４１に定義されている優先度への変更割合を定義する優先度変更割合テーブル１１４３と、ダイヤデータ１１５２の排他ロック実行状態を格納する排他リソース管理テーブル１１４４から構成される。入力装置１１１０は、担当者によるデータベースサーバ装置１１００の操作やテーブルに定義されている値の変更に用いる装置である。表示装置１１２０は、データベースサーバ操作やテーブル定義処理のためのＧＵＩ装置である。処理装置１１３０では、排他要求の優先度を算出する優先度算出手段１１３１と、排他要求の蓄積と、後述の仮想排他ロックを行う排他要求蓄積手段１３３２と、排他要求が実行可能か否かを判定する実行判定手段１１３３と、排他要求の実行許可を要求元の業務端末へと伝えるとともに、排他ロック対象ダイヤデータの排他ロック登録／解除を行う排他実行手段１１３４と、排他要求の処理状況を伝えるためのメッセージを作成するメッセージ作成手段１１３５と、緊急に実行することが必要な特急業務からの排他要求を即座に実行に移す特急業務実行手段１１３６と、排他要求が緊急か否かを判定する特急判定手段１１３７をプログラムとして実行する。また、データベース１１５１に対するアクセスや、格納しているデータの管理を行うデータベース管理手段１１３８を有している。外部記憶装置１１５０にはデータベース１１５１が実装され、ダイヤデータ１１５２を主として鉄道運行に関わる様々なデータを格納している。なお、以後の説明は、データベース１１５１へのアクセスはダイヤデータ１１５２を対象としたものとして進める。
【００１８】
ここで図３を用いて、図１のダイヤデータ１１５２について説明する。ダイヤデータは１つのダイヤを１レコードとして、各レコードについて一意に付けられたレコード番号．３０１、ダイヤが実際に運行される運行日３０２、ダイヤ番号３０３、ダイヤの発時刻３０４、着時刻３０５、ダイヤの始発駅３０６、終着駅３０７を少なくとも備える構成である。図１のデータベース１１５１は当日（本実施例では７月１日を当日とする）のダイヤデータだけでなく、データ３１１のような前日のデータや、データ３１８のような翌日データなど複数日数分のダイヤデータを格納している。
【００１９】
図２は本発明の交通ダイヤ管理システムにおける処理フローを表す図である。業務端末装置１２００では、ユーザーからの入力を受けて排他要求作成手段１２３１により排他要求を作成する。図４は排他要求例を示す図である。排他要求は、排他要求に一意に付けられた要求番号４０１、要求が作成された日付４０２、及び時刻４０３、特急業務に属する要求であるか否かを示す特急フラグ４０４、要求元の業務種別４０５、排他ロック対象のダイヤデータのＩＤ４１０を格納する「排他リソース」４０６より構成される。特急フラグ４０４は、データがＯＮである場合には、特急業務に属する要求であることを示し、ＯＦＦである場合には、通常業務に属する要求である事を示す。ＩＤ４１０は、排他ロック対象のダイヤデータを６桁の整数値で表したものである。上２桁はダイヤデータの運行日を表しており、当日を００とし、翌日を０１、前日を−１とし、当日から離れるごとに＋−１を増減して表す。下４桁はダイヤデータのダイヤ番号を表す。なお、下４桁が００００の場合には、上２桁で表された運行日のダイヤデータ１日分が排他ロック対象である事を表す。図４の排他要求は要求番号が１、要求の作成された日付時刻が７月１日、９時４５分、通常業務、運行管理の業務処理に属し、００１１００、００１１０１、００１１０２、０１１１０３のＩＤのダイヤデータを排他ロック対象とした要求である。以後の説明においては、同排他要求を処理対象の排他要求とし、現在時刻を７月１日９時４５分として進める。
【００２０】
図２に戻り説明を続ける。排他要求作成手段１２３１では、まず、図４の排他要求の日付４０２、時刻４０３、業務種別４０５を、現在日付時刻と図１の業務端末装置１２００が属する業務種別により決定する。次に特急フラグ４０４とＩＤ４１０をユーザー入力により決定する。ユーザーが排他ロック対象となるダイヤデータを運行日とダイヤ番号の入力により指定すると、排他要求作成手段１２３１は入力値に応じてＩＤ４１０を決定する。ユーザーによる入力が運行日のみの場合には、入力された運行日のダイヤデータ１日分を排他ロック対象とし、ダイヤ番号のみの入力に対しては、運行日が当日で、入力されたダイヤ番号のダイヤデータ１レコードを排他ロック対象とし、運行日とダイヤ番号の入力に対しては、入力された運行日とダイヤ番号のダイヤデータ１レコードを排他ロック対象として決定する。
【００２１】
図２に戻り処理フローの説明を続ける。業務端末装置１２００は作成した排他要求をデータベースサーバ装置１１００へと送信する。データベースサーバ装置１１００では排他要求を受信すると、特急判定手段１１３７により排他要求が特急業務に属するか通常業務に属するかを、図３に示す排他要求の特急フラグ３０４より判定する。排他要求が特急業務に属する場合には特急業務実行手段１１３６へ処理を移し、通常業務に属する場合には、優先度算出手段１１３１へと処理を移す。なお、本実施例の説明を行うにあたっては、最初に通常業務における処理について説明し、その後に特急業務における説明を行うこととする。  
優先度算出手段１１３１は業務モード管理装置１３００より送られる業務モードと、業務優先度作成２１２１、データ優先度作成２１２２の２つの処理を経て排他要求に対する優先度を自動的に算出する。
【００２２】
図５は、優先度算出手段１１３１の処理の概要を示す処理フロー図である。まず、ステップ５０１において業務モードを取得する。業務モードは図１の業務管理装置１３００の業務モード選択手段１３３１により決定される値である。
【００２３】
図６は、業務モード選択手段１３３１の処理の概要を示す処理フロー図である。  
まず、ステップ６０１にて現時点の日付時刻を取得する。次にステップ６０２にて、図１の当日ダイヤテーブル１３４３より、事前にＸに指定した時間前から現在までの時間帯に運行を行ったこと示すダイヤデータを取得する。図７は当日ダイヤテーブル１３４３を示す図である。当日ダイヤテーブル１３４３に格納されているデータは、図１のデータベース１１５１に格納されているダイヤデータの当日分をコピーしたものであるので、データ形式はダイヤデータと同様である。ダイヤデータの取得は、各ダイヤデータの発時刻７０１と着時刻７０２を参照し、該当時間帯にどちらかの時刻が含まれていれば取得対象とする。例として、現在時刻から３時間前まで時間帯（６時４５分〜９時４５分）に運行を行ったデータを取得対象データとすると７１２、７１３、７１４が対象となる。
【００２４】
図６に戻り説明を続ける。ステップ６０３ではステップ６０２で取得したダイヤデータと同じレコード番号を持つダイヤデータを図１の運行管理テーブル１３４２より取得する。図８は運行結果テーブル１３４２を示す図である。運行結果テーブル１３４２のデータ形式はダイヤデータや当日ダイヤテーブル１３４３と同様であるが、発時刻８０１と着時刻８０２には運行結果取得装置１４００より送信された運行結果を格納している。図６のステップ６０２にて取得したダイヤデータのレコード番号はＢ、Ｃ、Ｄであるので、８０４、８０５、８０６のダイヤデータが取得対象となる。
【００２５】
図６に戻り説明を続ける。ステップ６０４では取得したダイヤデータより運行の乱れ度を算出する。乱れ度は運行結果テーブル１３４２より取得したダイヤデータ（以下、運行結果ダイヤ）の着発時刻と、当日ダイヤテーブル１３４３より取得したダイヤデータ（以下、運行ダイヤ）の着発時刻の差より算出する。図９は乱れ度算出方法の説明図で、縦軸に始発、終着の対象となる駅、横軸に時間軸をとったグラフ平面図上に、取得したダイヤデータを（始発駅，発時刻：プロットポイント○）、（終着駅，着時刻：プロットポイント△）プロットし、直線で結んだものである。例えば、９０１であれば、５時００分仙台発−６時３０分上野着のダイヤを表している。また、細線が運行ダイヤを、太線が運行結果ダイヤを表している。乱れ度算出の対象となるデータは現在時刻より前３時間以内に運行中であったダイヤデータであるので、データＩＤがＢ（９１１、９１２）、Ｃ（９２１、９２２）、Ｄ（９３１、９３２）のダイヤデータが対象となる。乱れ度の算出方法については、一通りには定まらず様々な方法が考えられる。本発明ではその算出法を特に規定しないが、本実施例ではその一つの例として、運行ダイヤと運行結果データとの発時刻の差（絶対値）と着時刻の差（絶対値）を対象ダイヤデータ全てについて加算した値として算出する。なお、９３２のように着時刻の運行結果が存在しないデータについては発時刻のみを対象とする。本例ではデータＩＤがＢのデータ（発時刻差１５、着時刻差２０）とデータＩＤがＣのデータ（発時刻差２０、着時刻差５）とデータＩＤがＤのデータ（発時刻差０）の加算となるので乱れ度は６０として算出される。
【００２６】
図６に戻り説明を続ける。ステップ６０５にて、ステップ６０４にて算出した乱れ度に対応する業務モードを、図１の業務モード管理テーブル１３４１に定義された値より選択する。図１０は業務モード管理テーブル１３４１のデータ例を示す図である。業務モード管理テーブル１３４１には、業務モード１００１と、業務モードの乱れ度上限値１００２をデータとして格納している。本例で算出した乱れ度６０であれば、通常運転の乱れ度上限２０以上、運転整理１の上限１００未満であるので、業務モードは運転整理１と選択される。図６に戻り処理の説明を続ける。ステップ６０６では選択した業務モードを図１のデータベースサーバ装置１１００へと送信し、全体の処理を終了する。
【００２７】
図５に戻り優先度算出手段１１３１の処理の説明を続ける。業務モード取得後、ステップ５０２にて排他要求の業務種別、排他リソースを取得する。ステップ５０３では現在時刻、排他要求の業務種別、業務モードを基に、図１の業務優先度テーブル１１４１、優先度変更割合テーブル１１４３を参照し、業務優先度を取得する。まず、現在時刻と排他要求の業務種別を基に、業務優先度テーブル１１４２を参照し、業務優先度を取得する。
【００２８】
図１１は業務優先度テーブル１１４１のデータ例を示す図である。業務優先度テーブル１１４１は１つの業務を１行として、業務種別１１０１、通常運転時の業務優先度１１０２を時間毎に格納している。図１１の例では、運行管理業務、計画作成業務、情報伝達業務を上げている。時間帯が５時前、もしくは２４時以降は、本実施例において対象とする鉄道路線では営業運転をしないものとするため、営業列車の制御を行う運行管理業務の優先度は比較的小さく設定できる。しかし、営業時間帯、特にラッシュ時間帯においては最優先して業務を進行させる必要があるため、ラッシュ時間帯の優先度は最大値に設定している。計画作成業務にはオンラインにて行う業務の他に、営業時間外でのバッチ処理に振り替えて行う事が可能な業務が存在するため、営業時間帯の優先度を小さく設定し、代わりに営業時間外には大きな値を設定しても業務効率を維持する事が可能である。情報伝達業務はダイヤ変更結果などの各種情報を、区所や駅に伝達する業務である。営業時間帯にて行われる業務であるが、運行管理業務ほど、緊急性が求められる業務ではないため、営業時間帯の優先度を運行管理業務以上、計画作成業務未満の優先値を設定している。本例では現在時刻が９時４５分、排他要求の業務種別が運行管理であるので、業務優先度の値は９となる。次に、図１の優先度変更割合テーブル１１４３を参照し、業務モードに応じた業務優先度を算出する。
【００２９】
図１２は優先度変更割合テーブル１１４３のデータ例を示す図である。業務モード１２０１、各種業務の優先度変更率１２０２より構成される。本例における排他要求の業務種別は運行管理、図２の業務モード選択手段１３３１にて取得した業務モードが運転整理１であるので、変更割合は＋１０％となる。取得した変更割合を業務優先度９に反映させて（９×１．１）、業務優先度１０が取得される。図５に戻り説明を続ける。業務優先度を取得した後、ステップ５０４にて現在日付時刻と排他要求の排他リソースを基に、図１のデータ優先度テーブル１１４２を参照し、データ優先度を取得する。
【００３０】
図１３にデータ優先度テーブル１１４２のデータ例を示す。データ優先度テーブル１１４２は、排他リソースを排他ロック対象としたダイヤデータの運行日とレコード数によって区分する排他リソース区分１３０１と、各区分に応じた優先度を定義する優先度ポイント１３０２より構成される。排他要求の排他リソースが区分を跨る場合には、各区分の優先度ポイント１３０２の中で最小となる値を用いてデータ優先度とする。ダイヤデータは運行日が当日か、過去か未来かによって扱われ方が異なるデータである。運行日が未来であれば、ダイヤデータは主に計画作成に用いられるが、同運行日が当日になれば、運行制御をはじめとした当日業務処理にて用いられ、運行日が過去となれば、実績収集に用いられるデータとなる。従って運行日が当日のダイヤデータに対する処理は当日業務処理に関する可能性が高いため優先度を大きく設定し、運行日が過去、未来に相当するダイヤデータに対する処理は計画作成、実績収集に関するものである可能性が高いため、当日に比べ優先度を低く設定する。また、排他リソースのデータ量が大きいほど、処理時間も長くなると想定されるので、データ量が大きいほど優先度を低く設定している。図４に示す排他要求では、当日ダイヤ３レコードが当日以下１００ｒｅｃ区分１３１１に属し、翌日ダイヤ１レコードが翌日以降１００ｒｅｃ以下区分１３１２に属するので、データ優先度としては翌日ダイヤ１レコードが翌日以降１００ｒｅｃ以下１３１２区分の優先度ポイント４がデータ優先度として取得される。
【００３１】
業務優先度、データ優先度の二つを取得した後、ステップ５０５にて排他要求優先度を算出する。２つの優先度を基にした排他要求優先度の算出法については、様々な方法が考えられるが、本例においては、業務優先度Ｘに対して、データ優先度Ｙを最小１倍、最大２倍の係数として反映させる事を意味している数式Ｆ（Ｘ，Ｙ）＝Ｘ×（１＋Ｙ／ＭＡＸ（Ｙ））に２つの優先度を当てはめて排他要求優先度を算出する。従って、本例の排他要求の優先度は１４として算出される。
【００３２】
図２に戻り処理フローの説明を続ける。排他要求蓄積手段１１３２では、仮想排他ロックを実行し、排他要求を排他要求プール２１３０へ蓄積する。仮想排他ロックとは、実行待ちにある排他要求のロック対象ダイヤデータに対し、優先度の下回る排他要求による排他ロックを実行させないように設定する事である。例えば、優先度の高い排他要求Ａ（排他リソースとしてα、β、γを持ち、αが排他ロック実行中のため実行不可）の後から優先度の低い排他要求Ｂ（排他リソースとしてβ、γを持つ。）が排他要求プール２１３０へと蓄積された場合、仮想排他ロックを後述の実行判定手段１１３４の判定要素に組み込むことで、排他要求Ａの仮想排他ロック（排他リソースα、β、γへの仮想排他ロック）を行うことにより排他要求Ｂを実行不可とし、排他リソースαの排他ロック解除後まで排他要求Ａの排他リソースを排他ロック実行させずにおくことができる。
【００３３】
図１４は排他要求蓄積手段１１３２の処理の概要を示す処理フロー図である。まず、ステップ１４０１にて、排他要求の排他ロック対象ダイヤデータに対し、仮想排他ロックを行う。仮想排他ロックは図２に示す排他リソース管理テーブル１１４４に対象ダイヤデータを登録することにより行う。
【００３４】
図１５は排他リソース管理テーブル１１４４のデータ例を示す図である。排他リソース管理テーブル１１４４は、図２の排他実行手段１１３４により登録／解除される排他ロック中のダイヤデータと、排他要求蓄積手段１１３２及び、実行判定手段１１３３によって登録／解除される仮想排他ロック中のダイヤデータを管理するテーブルである。排他ロック／仮想排他ロック対象のダイヤデータを１行として、排他ロック中、仮想排他ロック中、もしくは両ロックが実行中のダイヤデータのＩＤ１５０１と、排他ロック中であることを示す「排他フラグ」１５０２と、仮想排他ロック中であることを示す「仮想排他フラグ」１５０３と、排他を実行している排他要求番号を格納している「排他要求番号」１５０４と、仮想排他ロックを実行している排他要求の番号を格納している「仮想排他要求番号」１５０５と、仮想排他ロック実行中の排他要求の優先度１５０６より構成される。排他フラグ１５０２、仮想排他フラグ１５０３はＯＮがロック実行中、ＯＦＦが実行されていないことを示す。  
図１５のデータ例においては、ＩＤ００１１００のダイヤデータは排他ロック中、ＩＤ００１１０１のダイヤデータは排他ロック／仮想排他ロック中、ＩＤ００１１０２のダイヤデータは仮想排他ロック中であることを示す。排他ロック対象ダイヤデータを示すＩＤ、排他要求の要求番号、優先度をＩＤ１５０１、仮想排他要求番号１５０５、優先度１５０６へと登録することにより、ダイヤデータへの仮想排他ロックを実行する。排他ロック対象ダイヤデータが既に仮想排他ロック中である場合、同ダイヤデータのＩＤ１５０１行の優先度１５０６と排他要求の優先度を比較し、優先度が大きい場合にはダイヤデータに対する仮想排他ロックを実行するため該当ＩＤ行のデータを更新する。優先度が小さい場合にはダイヤデータに対する仮想排他ロックは実行しない。図４に示す排他要求例では、仮想排他ロックを、ＩＤ１５０１が００１１００、００１１０１、００１１０２、０１１１０３で示されるダイヤデータに対して実行する。ＩＤ１５０１が００１１００のダイヤデータは仮想排他ロックが実行されていないため、優先度に関わらず仮想排他ロックを実行することができる。ＩＤ１５０１が００１１０１、００１１０２のデータは、同排他要求の優先度１４より大きい優先度２２を持つ排他要求によって既に仮想排他ロックされているため、仮想排他ロックは実行しない。ＩＤ１５０１が０１１１０３のデータは、仮想排他ロック中の排他要求の優先度は、本例の排他要求の優先度１４より小さいため、仮想排他要求番号１５０５、優先度１５０６の値を更新し、仮想排他ロックを実行する。図１４に戻り説明を続ける。ステップ１４０２では排他要求を図２の排他要求プール２１３０へと蓄積する。図１７は排他要求プール２１３０の例を示す図である。排他要求を排他要求プール２１３０へと蓄積する際には、新たに優先度１７０１を格納する項目を排他要求に作成し、図２の優先度算出手段１１３１によって算出した優先度を格納する。
【００３５】
図２に戻り処理の説明を続ける。メッセージ作成手段１１３５では、排他要求の処理状態を要求元の業務端末装置１２００へと伝えるためにメッセージを作成する。メッセージは図１６に示すように、現在の業務モード１６０１と、排他要求の処理状態１６０２と、待機時間１６０３、排他ロックの対象のダイヤデータのうち、他の排他要求によって排他ロックが実行されているダイヤデータのデータのＩＤを示す「排他ロック不可データ」１６０４から構成されている。排他要求プール２１３０内の排他要求に対しては、処理状態１６０２を「排他待機中」としてメッセージを作成し、一定の時間間隔にて作成したメッセージを要求元の業務端末１２００へと送信する。図１６の例では業務モードが運転整理１、処理状態が排他待機中、待機時間が１０分、排他要求したデータのうち、００１１０１と００１１０２への排他ロック実行が不可であることを示している。なお、待機時間１６０３は、メッセージ作成時刻と排他要求の要求時刻０３０３の差としている。図２に戻り処理の説明を続ける。業務端末装置１２００ではメッセージを受信すると図１の表示装置１２２０を用いてメッセージの表示を行う。
【００３６】
実行判定手段１１３３は、排他要求蓄積手段１１３２により新たに排他要求が蓄積された場合や、排他ロックの実行状態が変化する排他実行手段１１３４終了時に起動する。実行判定手段１１３３では、排他要求プール２１３０より排他要求を優先度順に取得し、排他ロック、仮想排他ロックの実行状態に基づき実行判定を行い、実行可能と判定した排他要求を排他実行手段１１３４へと伝達し、実行不可と判定した排他要求を再び排他要求プール２１３０へと蓄積する。  
図１８は実行判定手段１１３３の処理の概要を示す処理フロー図である。ステップ１８０１では排他要求プール２１３０より優先度が最大の排他要求を取得する。ステップ１８０２では排他要求の排他ロック対象ダイヤデータが排他ロック実行中であるかの判定を行う。図２の排他リソース管理テーブル１１４４に登録されているダイヤデータのうち、排他フラグ１５０２がＯＮであるＩＤ１５０１と排他ロック対象のダイヤデータのＩＤに重複が存在しない場合には排他ロックがされていないと判定し、ステップ１８０３へ処理を進める。対象ダイヤデータへの排他ロックが実行中と判定した場合には、ステップ１８０４へと処理を進める。ステップ１８０４では、現時点における排他ロックの実行状態を仮想排他ロックの実行状態に反映させるために、同排他要求による仮想排他ロックを再び実行する。その後、ステップ１８０５にて排他要求を排他要求プール２１３０へと戻す。なお、同ステップにて排他要求プール２１３０へと蓄積された排他要求は処理が終了したものとする。ステップ１８０３では、排他ロック対象ダイヤデータに対し、同排他要求による仮想排他ロックが実行済であるかの判定を行う。仮想排他ロックが実行済であれば、ステップ１８０６へと処理を進め、排他要求を実行に移す。仮想排他ロックが実行されていない場合、つまり、優先度の上回る他の排他要求により対象ダイヤデータが仮想排他ロックされている場合には、ステップ１８０５にて排他要求を排他要求プール２１３０へ戻す。ステップ１８０６では図２の排他実行手段１１３４へ排他要求を伝達し、排他要求を実行する。なお、実行判定手段１１３３は、排他要求が実行されている間も処理を継続する。ステップ１８０７では排他要求プール２１３０に蓄積されている排他要求全てに対し同処理が実行されたかを判定する。未処理の排他要求が存在する場合にはステップ１８０１へと処理を戻す。全ての排他要求が処理終了であれば、実行判定手段１１３３の処理を終了する。以上のように排他要求プール２１３０に蓄積された排他要求の実行順序を制御することで、優先度の高い排他要求から順に実行に移すことができる。また、仮想排他ロックを実行判定要素に組み込むことにより、排他要求のロック対象ダイヤデータに実行されている排他ロックが全て解除されるまで、つまり排他要求が実行可能となるまで、同ダイヤデータに対する他の排他要求からの排他ロックを実行不可とすることができるので、後から蓄積された優先度の下回る排他要求による排他ロックによって、排他要求が実行待ちとなるのを防ぐことができる。
【００３７】
図２に戻り処理フローの説明を続ける。排他実行手段１１３４は、実行判定手段１１３３より、排他要求の伝達を受ける度に起動する。排他実行手段１１３４では、排他要求の実行許可を要求元の業務端末装置１２００へと伝えるとともに、排他ロック対象ダイヤデータの排他ロック登録／解除を行う。まず、排他ロック対象ダイヤデータに対し、排他ロック登録２１４１を行う。排他リソース管理テーブル１１４４にて同要求により仮想排他ロックの登録が行われているダイヤデータに対し、仮想排他フラグをＯＦＦとし、排他フラグをＯＮとし、仮想排他要求番号を排他要求番号に複写し、仮想排他要求番号を削除することにより排他ロック登録２１４１を行う。次に、排他要求の要求元の業務端末装置１２００へ排他実行許可を送信する。業務端末装置１２００は実行許可を受信すると、ＤＢアクセス手段１２３３を用いて図１のデータベース１１５０へのデータ操作を実行する。処理を終了すると、業務端末装置１２００は終了通知をデータベースサーバ装置１１００へと送信する。データベースサーバ装置１１００では終了通知を受けると、排他ロック対象ダイヤデータの排他ロック解除２１４２を行う。排他ロック解除２１４２は、排他リソース管理テーブル１１４４にて排他ロック登録が行われているダイヤデータに対し、排他フラグをＯＦＦ、排他要求番号を削除することにより行う。排他ロック解除後に排他実行手段１１３４は処理を終了とし、実行判定手段１１３３へ起動通知を送る。
【００３８】
以上が通常業務に属する排他要求の処理フローの説明である。次に、特急業務に属する排他要求に対する処理フローを説明する。
【００３９】
特急業務実行手段１１３６では、特急判定手段１１３７にて特急業務と判定された排他要求（以下、「特急排他要求」という。）に対する処理を行う。図１９は特急業務実行手段１１３６の処理の概要を示す処理フロー図である。まず、ステップ１９０１にて特急排他要求の排他ロック対象のダイヤデータが排他ロック中であるかの判定を行う。判定は図１８に示す実行判定手段１３３３のステップ１８０１と同様に行う。排他ロック実行中と判定した場合にはステップ１９０２へと処理を進める。ステップ１９０２では特急排他要求のロック対象ダイヤデータに対して排他ロックを実行している業務端末装置１２００の処理を、図１のデータベース管理手段１１３８により強制終了し、同装置によってデータ操作が行われたダイヤデータを操作前の状態に戻す。ステップ１９０３では処理を中止された業務端末装置１２００による排他ロックを解除し、ステップ１９０４にて、同業務端末装置１２００による排他要求を排他要求プール２１５１へと再び蓄積する。ステップ１９０５では排他要求を排他実行手段１１３３へと伝達し、特急業務実行手段を終了する。
【００４０】
図２に戻り処理の説明を続ける。メッセージ作成手段１１３５では差し戻しを受けた排他要求の要求元に対するメッセージを作成する。この際、図１６の処理状態１６０２は「差し戻し」とする。
【００４１】
以上説明したように、本発明によれば、複数の排他要求が排他解除待ちになった場合には、排他要求を蓄積しておき、取得順に実行に移すだけでなく、排他要求の実行制御を以下の２フェーズ、
（１）排他要求に優先度を設定し、排他ロック状態と仮想排他ロック状態により実行判定を行い、実行可能と判定した排他要求を、優先度の高い順に実行する。  
（２）特急の排他要求が要求するデータを排他ロックしているアクセスを強制終了させ、同アクセスの排他要求を差し戻し、特急の排他要求を実行する。  
を併せて行う事が可能である。  
例えば、鉄道運行システムのようなリアルタイム業務、バッチ業務、事故対応業務が同一のデータベースにて処理を行うシステムにおいて、リアルタイム業務の優先度を高く設定することで、バッチ業務に優先して業務を実行する事ができる。また、優先度は高いがロック範囲の広い処理においては、仮想排他ロックによりロック範囲のデータを排他ロックなしの状態で必要なリソースを確保しておくことができるので、待ち時間を短縮することができる。また、列車事故などにより緊急アクセスが発生した場合には、他の業務処理を差し止めて事故対応業務を実行する事ができるため、各業務が必要な処理効率を維持しつつ、同一データベースシステム内に共存する事が可能となる。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態の全体のネットワーク構成である。
【図２】本発明の一実施形態の実施形態の全体の処理フローである。
【図３】本発明の一実施形態の実施形態のダイヤデータのデータ例を示す図である。
【図４】本発明の一実施形態の実施形態の排他要求データ例を示す図である。
【図５】本発明の一実施形態の実施形態の優先度算出手段の概略処理手順を示す図である。
【図６】本発明の一実施形態の実施形態の業務モード選択手段の概略処理手段を示す図である。
【図７】本発明の一実施形態の実施形態の当日ダイヤテーブルのデータ例を示す図である。
【図８】本発明の一実施形態の実施形態の運行結果テーブルのデータ例を示す図である。
【図９】本発明の一実施形態の実施形態の運行結果に基づく乱れ度算出法の説明図である。
【図１０】本発明の一実施形態の実施形態の業務モード管理テーブルのデータ例を示す図である。
【図１１】本発明の一実施形態の実施形態のデータ優先度テーブルのデータ例を示す図である。
【図１２】本発明の一実施形態の実施形態の業務優先度変更テーブルのデータ例を示す図である。
【図１３】本発明の一実施形態の実施形態のデータ優先度テーブルのデータ例を示す図である。
【図１４】本発明の一実施形態の実施形態の排他要求蓄積手段の概略処理手順を示す図である。
【図１５】本発明の一実施形態の実施形態の排他リソース管理テーブルのデータ例を示す図である。
【図１６】本発明の一実施形態の実施形態のメッセージ作成手段にて作成したメッセージの例を示す図である。
【図１７】本発明の一実施形態の実施形態の排他要求プール内の排他要求の例である。
【図１８】本発明の一実施形態の実施形態の実行判定手段の概略処理手順を示す図である。
【図１９】本発明の一実施形態の実施形態の特急業務実行手段の処理概要図である。
【符号の説明】
【００４３】
１１００  データベースサーバ装置        １１３１  優先度算出手段
１１３２  排他要求蓄積手段              １１３３  実行判定手段
１１３４  排他実行手段                  １１３５  メッセージ作成手段
１１３６  特急業務実行手段              １１３７  特急判定手段
１２００  業務端末装置                  １２３１  排他要求作成手段
１２３２  メッセージ表示手段            １２３３  ＤＢアクセス手段
１３００  業務モード管理装置            １３３１  業務モード選択手段
１４００  運行結果取得装置              ２１１０  特急判定
２１２１  業務優先度作成                ２１２２  データ優先度作成
２１３０  排他要求プール                ２１４１  排他ロック登録
２１４２  排他ロック解除
【図１】
2005138679.tif 000003
【図２】
2005138679.tif 000004
【図３】
2005138679.tif 000005
【図４】
2005138679.tif 000006
【図５】
2005138679.tif 000007
【図６】
2005138679.tif 000008
【図７】
2005138679.tif 000009
【図８】
2005138679.tif 000010
【図９】
2005138679.tif 000011
【図１０】
2005138679.tif 000012
【図１１】
2005138679.tif 000013
【図１２】
2005138679.tif 000014
【図１３】
2005138679.tif 000015
【図１４】
2005138679.tif 000016
【図１５】
2005138679.tif 000017
【図１６】
2005138679.tif 000018
【図１７】
2005138679.tif 000019
【図１８】
2005138679.tif 000020
【図１９】
2005138679.tif 000021