以下、本発明の実施の形態について説明する。
図1は本発明の一実施形態が適用された交通ダイヤデータ編集管理システムの概略図である。図示するように、本実施形態の交通ダイヤデータ編集管理システムは、交通ダイヤ管理サーバ1と、少なくとも1つの交通ダイヤ編集端末2とが、インターネットなどのネットワーク3を介して互いに接続されて構成されている。
交通ダイヤ管理サーバ1は、列車の交通ダイヤデータを保持する。また、交通ダイヤ編集端末2から交通ダイヤデータの編集を受付けて、自身が保持する交通ダイヤデータに編集内容を反映させる。この際、編集対象の交通ダイヤデータに対する排他を獲得した交通ダイヤ編集端末2以外の交通ダイヤ編集端末2から、当該編集対象の交通ダイヤデータに対する編集を受付けないようにすることで、交通ダイヤデータの排他制御を行なう。
図示するように、交通ダイヤ管理サーバ1は、ネットワーク3に接続するためのネットワークIF部11と、排他制御部12と、交通ダイヤDB(データベース)13と、排他フラグ管理DB14と、更新情報管理TL(テーブル)15と、を有する。
交通ダイヤDB13には、列車の交通ダイヤデータが記憶されている。図2は交通ダイヤDB13の登録内容例を示す図である。図示するように、交通ダイヤDB13には、列車毎に交通ダイヤのレコード130が登録されている。レコード130は、列車にユニーク割り当てられた列車番号を登録するフィールド131と、施行日(列車の運行日)を登録するフィールド132と、列車が運行する路線の区間を示す線区を登録するフィールド133と、列車の運行目的(営業、回送等)を登録するフィールド134と、列車の交通ダイヤデータを登録するフィールド135と、を有する。
フィールド135に登録される列車の交通ダイヤデータは、線区を構成する各駅(始発駅から終着駅までの各駅)の情報と、各駅における出発及び/又は到着時刻とを有する。また、フィールド131〜134に登録されている各データは、列車の交通ダイヤデータを階層的に分類するための管理項目である。交通ダイヤデータは、フィールド132の施行日により大分類され、フィールド132、133の施行日、線区により中分類され、フィールド132、133、134の施行日、線区、種別により小分類され、そして、フィールド132、133、134、131の施行日、線区、種別、列車番号により個々の列車ダイヤデータが特定される。
排他フラグ管理DB14には、複数の管理項目により階層管理される列車の交通ダイヤデータの階層毎に、交通ダイヤデータの排他制御を管理するための排他フラグ管理TLが記憶されている。上述したように、交通ダイヤデータは、大分類、中分類、小分類、および、交通ダイヤデータ毎の4階層により階層管理されている。このため、排他フラグ管理TLも、分類、中分類、小分類および交通ダイヤデータ毎の4階層のそれぞれの階層毎に設けられている。
図3は排他フラグ管理DB14の登録内容例を示す図であり、図3(A)は階層「大分類」に対応する排他フラグ管理TL141の登録内容例を、図3(B)は階層「中分類」に対応する排他フラグ管理TL142の登録内容例を、図3(C)は階層「小分類」に対応する排他フラグ管理TL143の登録内容例を、そして、図3(D)は階層「交通ダイヤデータ毎」に対応する排他フラグ管理TL144の登録内容例を示している。
排他フラグ管理TL141には、図3(A)に示すように、施行日を単位とする排他フラグのレコード1410が登録される。レコード1410は、施行日を登録するフィールド1411と、当該施行日に運行する全ての列車の交通ダイヤデータに対する排他フラグを獲得しているユーザのユーザIDを登録するフィールド1415と、を有する。
排他フラグ管理TL142には、図3(B)に示すように、施行日および線区の組合せを単位とする排他フラグのレコード1420が登録される。レコード1420は、施行日を登録するフィールド1421と、線区を登録するフィールド1422と、当該施行日に当該線区を運行する全ての列車の交通ダイヤデータに対する排他フラグを獲得しているユーザのユーザIDを登録するフィールド1425と、を有する。
排他フラグ管理TL143には、図3(C)に示すように、施行日、線区および種別の組合せを単位とする排他フラグのレコード1430が登録される。レコード1430は、施行日を登録するフィールド1431と、線区を登録するフィールド1432と、種別を登録するフィールド1433と、当該施行日に当該線区を当該種別の目的で運行する全ての列車の交通ダイヤデータに対する排他フラグを獲得しているユーザのユーザIDを登録するフィールド1435と、を有する。
そして、排他フラグ管理TL144には、図3(D)に示すように、施行日、線区、種別および列車番号の組合せを単位とする排他フラグのレコード1440が登録される。レコード1440は、施行日を登録するフィールド1441と、線区を登録するフィールド1442と、種別を登録するフィールド1443と、列車番号を登録するフィールド1444と、当該施行日に当該線区を当該種別の目的で運行する当該列車番号を持つ列車の交通ダイヤデータに対する排他フラグを獲得しているユーザのユーザIDを登録するフィールド1445と、を有する。
更新情報管理TL15には、交通ダイヤ編集端末2から受信した後述する更新情報登録要求が登録される。図4は更新情報管理TL15の登録内容例を示す図である。図示するように、更新情報管理TL15には、交通ダイヤ編集端末2から受信した後述する更新情報登録要求のレコード150が登録される。レコード150は、ユーザのユーザIDを登録するフィールド151と、更新情報登録要求を識別するための要求IDを登録するフィールド152と、更新を要求する交通ダイヤデータを特定するための施行日、線区、種別および列車番号をそれぞれ登録するフィールド153〜156と、交通ダイヤデータの更新内容(編集データ)を登録するフィールド157と、該更新内容が交通ダイヤDB13に反映済みであるか否かを示す反映状況を登録するフィールド158と、を有する。
排他制御部12は、排他フラグ登録部121と、DB更新部122と、DB転送部123と、を有する。排他フラグ登録部121は、ネットワークIF部11を介して交通ダイヤ編集端末2より受け取った後述する排他フラグ登録要求に従い排他フラグ管理DB14を更新する。DB更新部122は、ネットワークIF部11を介して交通ダイヤ編集端末2から受け取った後述する更新情報登録要求を更新情報管理TL15に登録する。また、更新情報管理TL15に登録されている更新情報登録要求に従い交通ダイヤDB13を更新する。DB転送部123は、更新ダイヤDB13から交通ダイヤデータを読み出し、ネットワークIF部11を介して交通ダイヤ編集端末2に送信する。
交通ダイヤ編集端末2は、ユーザからの指示に従い交通ダイヤ管理サーバ1が保持する交通ダイヤデータを編集する。図示するように、交通ダイヤ編集端末2は、ネットワーク3に接続するためのネットワークIF部21と、交通ダイヤ編集部22と、更新情報管理TL23と、作業用記憶部24と、排他フラグ管理TL25と、情報を表示してユーザより操作や指示などを受付けるためのGUI(Graphical User Interface)部26と、を有する。
更新情報管理TL23には、交通ダイヤ編集部22がGUI部26を介してユーザより受付けた交通ダイヤデータの編集内容を特定するための情報である更新情報が登録される。図5は更新情報管理TL23の登録内容例を示す図である。図示するように、更新情報管理TL23には、交通ダイヤ編集部22がGUI部26を介してユーザより交通ダイヤデータの編集を受付ける毎にレコード230が登録される。レコード230は、更新情報登録要求の要求IDを登録するフィールド231と、編集された交通ダイヤデータを特定するための施行日、線区、種別および列車番号をそれぞれ登録するフィールド232〜235と、交通ダイヤデータの変更内容(編集データ)を登録するフィールド236と、フィールド231〜236の情報を含む更新情報登録要求が送信済みであるか否かを示す送信状況を登録するフィールド237と、を有する。
作業用記憶部24には、交通ダイヤ編集部22がネットワークIF部21を介して交通ダイヤ管理サーバ1から取得した交通ダイヤデータが記憶される。
排他フラグ管理TL25には、交通ダイヤ編集端末2のユーザが獲得した排他フラグが登録される。図6は排他フラグ管理TL25の登録内容例を示す図である。図示するように、排他フラグ管理TL25には、交通ダイヤ編集端末2のユーザが獲得した排他フラグ毎にレコード250が登録される。レコード250は、獲得した排他フラグが適用される交通ダイヤデータの施行日を登録するフィールド251と、当該交通ダイヤデータの線区を登録するフィールド252と、当該交通ダイヤデータの種別(運行目的)を登録するフィールド253と、当該交通ダイヤデータの列車番号を登録するフィールド254と、を有する。ここで、ある施行日に運行する全ての列車の交通ダイヤデータに対する排他フラグを獲得している場合、当該排他フラグのレコード250のフィールド251に当該施行日が登録され、その他のフィールド252〜254にヌルデータが登録される。また、ある施行日にある線区を運行する全ての列車の交通ダイヤデータに対する排他フラグを獲得している場合、当該排他フラグのレコード250のフィールド251、252に当該施行日および当該線区が登録され、その他のフィールド253、254にヌルデータが登録される。また、ある施行日にある線区をある種別の目的で運行する全ての列車の交通ダイヤデータに対する排他フラグを獲得している場合、当該排他フラグのレコード250のフィールド251〜253に、当該施行日、当該線区および当該種別が登録され、その他のフィールド254にヌルデータが登録される。そして、ある施行日にある線区をある種別の目的で運行するある列車番号を持つ列車の交通ダイヤデータに対する排他フラグを獲得している場合、当該排他フラグのレコード250のフィールド251〜254に、それぞれ、当該施行日、当該線区、当該種別および当該列車番号が登録される。
交通ダイヤ編集部22は、排他フラグ登録要求部221と、更新情報登録要求部222と、編集受付部223と、交通ダイヤ読込部224と、を有する。
排他フラグ登録要求部221は、GUI部26を介してユーザより、排他フラグを獲得する交通ダイヤデータ(編集対象の交通ダイヤデータ)を特定する情報(交通ダイヤデータを管理するいずれかの階層の管理項目の情報)を受付けて排他フラグ登録要求を作成し、ネットワークIF部21を介して交通管理サーバ1に送信する。図7は排他フラグ登録要求を模式的に表した図である。図示するように、排他フラグ登録要求2210は、ユーザIDを登録するエリア2211、排他フラグを獲得する交通ダイヤデータの施行日を登録するエリア2212、排他フラグを獲得する交通ダイヤデータの線区を登録するエリア2213、排他フラグを獲得する交通ダイヤデータの種別(運行目的)を登録するエリア2214、および、排他フラグを獲得する交通ダイヤデータの列車番号を登録するエリア2215を有する。排他フラグ管理TL25のレコード250と同様、エリア2213〜2215は、獲得しようとしている交通ダイヤデータの階層によってヌルデータとなる場合がある。また、排他フラグ登録要求部221は、交通ダイヤ管理サーバ1に送信した排他フラグ登録要求2210のレコード250を排他フラグ管理TL25に登録する。
更新情報登録要求部222は、定期的もしくは更新情報管理TL23に新たなレコード250が追加される毎に、更新情報管理TL23に登録されているフィールド237の送信状況が「未」のレコード230に基づいて更新情報登録要求を作成し、これをネットワークIF部21を介して交通ダイヤ管理サーバ1に送信する。図8は更新情報登録要求を模式的に表した図である。図示するように、更新情報登録要求2220は、ユーザIDを登録するエリア2221、更新情報登録要求の要求IDを登録するエリア2222、更新する交通ダイヤデータの施行日を登録するエリア2223、更新する交通ダイヤデータの線区を登録するエリア2224、更新する交通ダイヤデータの種別(運行目的)を登録するエリア2225、更新する交通ダイヤデータの列車番号を登録するエリア2226、および、交通ダイヤデータの更新内容を登録するエリア2227を有する。
編集受付部223は、作業用記憶部24に記憶されている交通ダイヤデータをGUI部26に表示し、ユーザから交通ダイヤデータの編集を受付ける。そして、受付けた編集内容を更新情報管理TL23に登録する。この際、排他フラグ管理TL25を参照し、排他フラグを獲得している交通ダイヤデータ以外の交通ダイヤデータをマスクしてGUI部26に表示することで、排他フラグを獲得している交通ダイヤデータについてのみユーザから編集を受付けるようにする。
そして、交通ダイヤ読込部224は、ネットワークIF部21を介して交通ダイヤ管理サーバ1から交通ダイヤデータをダウンロードし、作業用記憶部24に記憶する。
上述した交通ダイヤ管理サーバ1および交通ダイヤ編集端末2は、例えば図9に示すような、CPU901と、メモリ902と、HDD等の外部記憶装置903と、CD-ROMやDVD-ROMやICカードなどの記憶媒体からデータを読み取る読取装置904と、キーボードやマウスなどの入力装置906と、モニタやプリンタなどの出力装置907と、ネットワーク3に接続するための通信装置908と、これらの各装置を接続するバス909と、を備えた一般的なコンピュータシステムにおいて、CPU901がメモリ902上にロードされたプログラムを実行することで実現できる。このプログラムは、読取装置904を介して記憶媒体から、あるいは、通信装置908を介してネットワーク3から、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。あるいは、外部記憶装置903を経由せずに、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。なお、この場合において、各記憶部13〜15、23〜25にはメモリ902や外部記憶装置903や読取装置904に搭載された記憶媒体が利用される。また、ネットワークIF部11、21には通信装置908が利用される。
次に、上記構成の交通ダイヤデータ編集管理システムの動作を説明する。
先ず、交通ダイヤ管理サーバ1の操作を説明する。図10は交通ダイヤ管理サーバ1の動作フローを説明するための図である。
排他制御部12は、ネットワークIF部11を介して交通ダイヤ編集端末2からアクセスされると(S11でYES)、当該交通ダイヤ編集端末2から要求を受信してその内容を解析する(S12)。解析の結果、当該要求が所定の管理項目の指定値を含むダイヤデータDL(ダウンロード)要求であるならば、DB転送部123が処理を行う。すわなち、DB転送部123は、交通ダイヤデータDL要求に含まれている管理項目の指定値が当該管理項目のフィールド131〜134に登録されているレコード130を、交通ダイヤDB13から全て読み出す(S13)。本実施形態では、所定の管理項目として施行日を用いている。しかし、所定の管理項目は、施行日および線区の組合せでもよいし、あるいは、施行日、線区および種別の組合せでもよい。次に、DB転送部123は、読み出した交通ダイヤデータのレコード130を、ネットワークIF部11を介してダイヤデータDL要求の送信元に送信する(S14)。
また、S12での解析の結果、当該要求が排他フラグ登録要求であるならば、排他フラグ登録部121が後述する排他フラグ登録処理を行い(S15)、当該要求が更新情報登録要求であるならば、DB更新部122が後述する更新情報登録処理を行う(S16)。
図11および図12は排他フラグ登録処理(図10のS15)を説明するためのフロー図である。
まず、排他フラグ登録部121は、ネットワークIF部11を介して交通ダイヤ編集端末2から受信した排他フラグ登録要求2210(図7参照)のエリア2212に登録されている施行日を特定し、当該施行日がフィールド1411に登録されているレコード1410を階層「大分類」に対応する排他フラグ管理TL141(図4(A)参照)から検索する(S1501)。
S1501において排他フラグ管理TL141から該当するレコードを検索できた場合(S1502でYES)、特定した施行日に運行する全ての列車の交通ダイヤデータを対象とする排他フラグが既に設定されていることになる。この場合、排他フラグ登録部121は、排他フラグ登録要求2210の拒否メッセージをネットワークIF部11を介して、当該要求の送信元である交通ダイヤ編集端末2に送信するなどの所定のエラー処理を行う(S1541)。
一方、S1501において排他フラグ管理TL41から該当するレコードを検索できなかった場合(S1502でNO)は、特定した施行日に運行する全ての列車の交通ダイヤデータを対象とする排他フラグは未だ設定されていないことになる。この場合、排他フラグ登録要求2210の線区を登録するエリア2213がヌルか否かを調べる(S1503)。そして、ヌルでない場合(S1503でNO)、排他フラグは階層「中分類」以下のいずれかの階層に対応する排他フラグ管理TL142〜144(図4(B)〜(C)参照)で管理されるべきである。この場合はS1511に進む。一方、ヌルの場合(S1503でYES)、排他フラグは階層「大分類」に対応する排他フラグ管理TL141で管理されるべきである。そこで、階層「大分類」に対応する排他フラグ管理TL141にレコード1410を新たに追加し、該レコード1410のフィールド1411、1415に、排他フラグ登録要求2210のエリア2212、2211に登録されている施行日、ユーザIDを登録する(S1506)。その後、処理を終了する。
また、S1511において、排他フラグ登録部121は、排他フラグ登録要求2210のエリア2212、2213に登録されている施行日、線区を特定し、当該施行日、線区がフィールド1421、1422に登録されているレコード1420を階層「中分類」に対応する排他フラグ管理テーブル142から検索する。
S1511において排他フラグ管理テーブル142から該当するレコードを検索できた場合(S1512でYES)、特定した施行日に特定した線区を運行する全ての列車の交通ダイヤデータを対象とする排他フラグが既に設定されていることになる。この場合、排他フラグ登録部121は、排他フラグ登録要求2210の拒否メッセージをネットワークIF部11を介して、当該要求の送信元である交通ダイヤ編集端末2に送信するなどの所定のエラー処理を行う(S1541)。
一方、S1511において排他フラグ管理TL142から該当するレコードを検索できなかった場合(S1512でNO)は、特定した施行日に特定した線区を運行する全ての列車の交通ダイヤデータを対象とする排他フラグは未だ設定されていないことになる。この場合、排他フラグ登録要求2210の種別を登録するエリア2214がヌルか否かを調べる(S1513)。そして、ヌルでない場合(S1513でNO)、排他フラグは階層「小分類」以下のいずれかの階層に対応する排他フラグ管理TL143、144で管理されるべきである。この場合はS1521に進む。一方、ヌルの場合(S1513でYES)、排他フラグは階層「中分類」に対応する排他フラグ管理TL142で管理されるべきである。そこで、階層「中分類」に対応する排他フラグ管理TL142にレコード1420を新たに追加し、該レコード1420のフィールド1421、1422、1425に、排他フラグ登録要求2210のエリア2212、2213、2211に登録されている施行日、線区、ユーザIDを登録する(S1516)。その後、処理を終了する。
また、S1521において、排他フラグ登録部121は、排他フラグ登録要求2210のエリア2212、2213、2214に登録されている施行日、線区、種別を特定し、当該施行日、線区、種別がフィールド1431、1432、1433に登録されているレコード1430を、階層「小分類」に対応する排他フラグ管理TL143から検索する。
S1521において排他フラグ管理TL143から該当するレコードを検索できた場合(S1522でYES)、特定した施行日に特定した線区を特定した種別のために運行する全ての列車の交通ダイヤデータを対象とする排他フラグが既に設定されていることになる。この場合、排他フラグ登録部121は、排他フラグ登録要求2210の拒否メッセージをネットワークIF部11を介して、当該要求の送信元である交通ダイヤ編集端末2に送信するなどの所定のエラー処理を行う(S1541)。
一方、S1521において排他フラグ管理TL143から該当するレコードを検索できなかった場合(S1522でNO)は、特定した施行日に特定した線区を特定した種別のために運行する全ての列車の交通ダイヤデータを対象とする排他フラグは未だ設定されていないことになる。この場合、排他フラグ登録要求2210の列車番号を登録するエリア2215がヌルか否かを調べる(S1523)。そして、ヌルでない場合(S1523でNO)、排他フラグは階層「交通ダイヤデータ毎」に対応する排他フラグ管理TL144で管理されるべきである。この場合はS1531に進む。一方、ヌルの場合(S1523でYES)、排他フラグは階層「小分類」に対応する排他フラグ管理TL143で管理されるべきである。そこで、階層「小分類」に対応する排他フラグ管理TL143にレコード1430を新たに追加し、該レコード1430のフィールド1431、1432、1433、1435に、排他フラグ登録要求2210のエリア2212、2213、2214、2211に登録されている施行日、線区、種別、ユーザIDを登録する(S1526)。その後、処理を終了する。
また、S1531において、排他フラグ登録部121は、排他フラグ登録要求2210のエリア2212、2213、2214、2215に登録されている施行日、線区、種別、列車番号を特定し、当該施行日、線区、種別、列車番号がフィールド1441、1442、1443、1444に登録されているレコード1440を、階層「交通ダイヤデータ毎」に対応する排他フラグ管理TL144から検索する。
S1531において排他フラグ管理TL144から該当するレコードを検索できた場合(S1532でYES)、特定した施行日に特定した線区を特定した種別のために運行する、特定した列車番号を持つ列車の交通ダイヤデータを対象とする排他フラグが既に設定されていることになる。この場合、排他フラグ登録部121は、排他フラグ登録要求2210の拒否メッセージをネットワークIF部11を介して、当該要求の送信元である交通ダイヤ編集端末2に送信するなどの所定のエラー処理を行う(S1541)。
一方、S1531において排他フラグ管理TL144から該当するレコードを検索できなかった場合(S1532でNO)は、特定した施行日に特定した線区を特定した種別のために運行する、特定した列車番号を持つ列車の交通ダイヤデータを対象とする排他フラグは未だ設定されていないことになる。この場合、排他フラグ管理TL144にレコード1440を新たに追加し、該レコード1440のフィールド1441、1442、1443、1444、1445に、排他フラグ登録要求2210のエリア2212、2213、2214、2215、2211に登録されている施行日、線区、種別、列車番号、ユーザIDを登録する(S1533)。その後、処理を終了する。
図13および図14は更新内容反映処理(図10のS16)を説明するためのフロー図である。
まず、DB更新部122は、ネットワークIF部11を介して交通ダイヤ編集端末2から受信した更新情報登録要求2220(図8参照)のエリア2223〜2226に登録されている施行日、線区、種別、列車番号を特定し、当該施行日、線区、種別、列車番号がフィールド1441〜1444に登録されているレコード1440を階層「交通データ毎」に対応する排他フラグ管理テーブル144から検索する(S1601)。
S1601において排他フラグ管理テーブル144から該当するレコード1440を検索できた場合(S1602でYES)、特定した施行日に特定した線区を特定した種別のために運行する、特定した列車番号を持つ列車の交通ダイヤデータを対象とする排他フラグが既に設定されていることになる。この場合、DB更新部122は、検索したレコード1440のフィールド1445に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致するか否かを調べる(S1603)。
S1601で検索したレコード1440のフィールド1445に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致する場合(S1603でYES)、更新情報登録要求2220を送信した交通ダイヤ編集端末2のユーザは、当該要求で更新を要求する交通ダイヤデータに対する排他フラグを獲得している。この場合、DB更新部122は、更新情報管理TL15にレコード150を新たに追加し、更新情報登録要求2220のエリア2221〜2227に登録されている内容をこのレコード150のフィールド151〜157に登録する。また、このレコード150のフィールド158に反映状況「未」を登録する(S1604)。それから、DB更新部122は、反映状況「未」のフィールド158を持つレコード150を更新情報管理TL15から抽出する。次に、抽出したレコード150のフィールド153〜156に登録されている施行日、線区、種別、列車番号が、フィールド132〜134、131に登録されているレコード130を交通ダイヤDB13から検索する。そして、検索したレコード130のフィールド135に登録されている交通ダイヤデータを、抽出したレコード150のフィールド157に登録されている変更内容に従って更新する。また、抽出したレコード150のフィールド158に登録されている反映状況を「未」から「済」に変更する(S1605)。
一方、S1601で検索したレコード1440のフィールド1445に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致しない場合(S1603でNO)、更新情報登録要求2220を送信した交通ダイヤ編集端末2のユーザは、当該要求で更新を要求する交通ダイヤデータに対する排他フラグを獲得していない。該排他フラグは別のユーザが獲得している。この場合、DB更新部122は、更新情報登録要求2220の拒否メッセージをネットワークIF部11を介して、当該要求の送信元である交通ダイヤ編集端末2に送信するなどの所定のエラー処理を行う(S1641)。
また、S1601において排他フラグ管理TL144から該当するレコード1440を検索できなかった場合(S1602でNO)、特定した施行日に特定した線区を特定した種別のために運行する、特定した列車番号を持つ列車の交通ダイヤデータを対象とする排他フラグは設定されていないことになる。この場合、DB更新部122は、更新情報登録要求2220のエリア2223〜2225に登録されている施行日、線区、種別を特定し、当該施行日、線区、種別がフィールド1431〜1433に登録されているレコード1430を階層「小分類」に対応する排他フラグ管理TL143から検索する(S1611)。
S1611において排他フラグ管理TL143から該当するレコード1430を検索できた場合(S1612でYES)、特定した施行日に特定した線区を特定した種別のために運行する全ての列車の交通ダイヤデータを対象とする排他フラグが既に設定されていることになる。この場合、DB更新部122は、検索したレコード1430のフィールド1435に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致するか否かを調べる(S1613)。
S1611で検索したレコード1430のフィールド1435に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致する場合(S1613でYES)、更新情報登録要求2220を送信した交通ダイヤ編集端末2のユーザは、当該要求で更新を要求する交通ダイヤデータに対する排他フラグを獲得している。この場合、DB更新部122は、更新情報管理TL15にレコード150を新たに追加し、更新情報登録要求2220のエリア2221〜2227に登録されている内容をこのレコード150のフィールド151〜157に登録する。また、このレコード150のフィールド158に反映状況「未」を登録する(S1614)。それから、DB更新部122は、反映状況「未」のフィールド158を持つレコード150を更新情報管理TL15から抽出する。次に、抽出したレコード150のフィールド153〜156に登録されている施行日、線区、種別、列車番号が、フィールド132〜134、131に登録されているレコード130を交通ダイヤDB13から検索する。そして、検索したレコード130のフィールド135に登録されている交通ダイヤデータを、抽出したレコード150のフィールド157に登録されている変更内容に従って更新する。また、抽出したレコード150のフィールド158に登録されている反映状況を「未」から「済」に変更する(S1605)。
一方、S1611で検索したレコード1430のフィールド1435に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致しない場合(S1613でNO)、更新情報登録要求2220を送信した交通ダイヤ編集端末2のユーザは、当該要求で更新を要求する交通ダイヤデータに対する排他フラグを獲得していない。該排他フラグは別のユーザが獲得している。この場合、DB更新部122は、更新情報登録要求2220の拒否メッセージをネットワークIF部11を介して、当該要求の送信元である交通ダイヤ編集端末2に送信するなどの所定のエラー処理を行う(S1641)。
また、S1611において排他フラグ管理テーブル143から該当するレコード1430を検索できなかった場合(S1612でNO)、特定した施行日に特定した線区で特定した種別のために運行される全ての列車の交通ダイヤデータを対象とする排他フラグは設定されていないことになる。この場合、DB更新部122は、更新情報登録要求2220のエリア2223、2224に登録されている施行日、線区を特定し、当該施行日、線区がフィールド1421、1422に登録されているレコード1420を階層「中分類」に対応する排他フラグ管理TL142から検索する(S1621)。
S1621において排他フラグ管理TL142から該当するレコード1420を検索できた場合(S1622でYES)、特定した施行日に特定した線区で運行される全ての列車の交通ダイヤデータを対象とする排他フラグが既に設定されていることになる。この場合、DB更新部122は、検索したレコード1420のフィールド1425に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致するか否かを調べる(S1623)。
S1621で検索したレコード1420のフィールド1425に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致する場合(S1623でYES)、更新情報登録要求2220を送信した交通ダイヤ編集端末2のユーザは、当該要求で更新を要求する交通ダイヤデータに対する排他フラグを獲得している。この場合、DB更新部122は、更新情報管理TL15にレコード150を新たに追加し、更新情報登録要求2220のエリア2221〜2227に登録されている内容をこのレコード150のフィールド151〜157に登録する。また、このレコード150のフィールド158に反映状況「未」を登録する(S1624)。それから、DB更新部122は、反映状況「未」のフィールド158を持つレコード150を更新情報管理TL15から抽出する。次に、抽出したレコード150のフィールド153〜156に登録されている施行日、線区、種別、列車番号が、フィールド132〜134、131に登録されているレコード130を交通ダイヤDB13から検索する。そして、検索したレコード130のフィールド135に登録されている交通ダイヤデータを、抽出したレコード150のフィールド157に登録されている変更内容に従って更新する。また、抽出したレコード150のフィールド158に登録されている反映状況を「未」から「済」に変更する(S1625)。
一方、S1621で検索したレコード1420のフィールド1425に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致しない場合(S1623でNO)、更新情報登録要求2220を送信した交通ダイヤ編集端末2のユーザは、当該要求で更新を要求する交通ダイヤデータに対する排他フラグを獲得していない。該排他フラグは別のユーザが獲得している。この場合、DB更新部122は、更新情報登録要求2220の拒否メッセージをネットワークIF部11を介して、当該要求の送信元である交通ダイヤ編集端末2に送信するなどの所定のエラー処理を行う(S1641)。
また、S1621において排他フラグ管理TL142から該当するレコード1420を検索できなかった場合(S1622でNO)、特定した施行日に特定した線区を運行する全ての列車の交通ダイヤデータを対象とする排他フラグは設定されていないことになる。この場合、DB更新部122は、更新情報登録要求2220のエリア2223に登録されている施行日を特定し、当該施行日がフィールド1411に登録されているレコード1410を、階層「大分類」に対応する排他フラグ管理TL141から検索する(S1631)。
S1631において排他フラグ管理TL141から該当するレコード1410を検索できた場合(S1632でYES)、特定した施行日に運行する全ての列車の交通ダイヤデータを対象とする排他フラグが既に設定されていることになる。この場合、DB更新部122は、検索したレコード1410のフィールド1415に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致するか否かを調べる(S1633)。
S1631で検索したレコード1410のフィールド1415に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致する場合(S1633でYES)、更新情報登録要求2220を送信した交通ダイヤ編集端末2のユーザは、当該要求で更新を要求する交通ダイヤデータに対する排他フラグを獲得している。この場合、DB更新部122は、更新情報管理TL15にレコード150を新たに追加し、更新情報登録要求2220のエリア2221〜2227に登録されている内容をこのレコード150のフィールド151〜157に登録する。また、このレコード150のフィールド158に反映状況「未」を登録する(S1634)。それから、DB更新部122は、反映状況「未」のフィールド158を持つレコード150を更新情報管理TL15から抽出する。次に、抽出したレコード150のフィールド153〜156に登録されている施行日、線区、種別、列車番号が、フィールド132〜134、131に登録されているレコード130を交通ダイヤDB13から検索する。そして、検索したレコード130のフィールド135に登録されている交通ダイヤデータを、抽出したレコード150のフィールド157に登録されている変更内容に従って更新する。また、抽出したレコード150のフィールド158に登録されている反映状況を「未」から「済」に変更する(S1625)。
一方、S1631で検索したレコード1410のフィールド1415に登録されているユーザIDと、更新情報登録要求2220のエリア2221に登録されているユーザIDとが一致しない場合(S1633でNO)、更新情報登録要求2220を送信した交通ダイヤ編集端末2のユーザは、当該要求で更新を要求する交通ダイヤデータに対する排他フラグを獲得していない。該排他フラグは別のユーザが獲得している。この場合、DB更新部122は、更新情報登録要求2220の拒否メッセージをネットワークIF部11を介して、当該要求の送信元である交通ダイヤ編集端末2に送信するなどの所定のエラー処理を行う(S1641)。
次に、交通ダイヤ編集端末2の操作を説明する。図15は交通ダイヤ編集端末2の動作フローを説明するための図である。
まず、排他フラグ登録要求部221は、GUI部26を介してユーザより排他フラグの登録指示を受付けると(S201でYES)、図16に示すような管理項目受付画面をGUI部26に表示し、排他フラグを獲得する交通ダイヤデータを特定するための管理項目およびその情報の入力を受付ける。図16において、符号2601は、獲得しようとしている排他フラグが適用される交通ダイヤデータの階層を選択するための選択欄であり、ユーザはプルダウンメニューに示された階層(図3に示す階層「大分類」、「中分類」、「小分類」および「交通ダイヤデータ毎」)の中から所望の階層を選択できる。符号2602〜2605は、選択欄2601で選択された階層で交通ダイヤデータに対する排他フラグを設定するための管理項目の情報を入力、選択するための入力・選択欄である。符号2602は管理項目「施行日」の入力欄、符号2603はプルダウンメニューの中から所望の管理項目「線区」を選択するための選択欄、符号2604はプルダウンメニューの中から所望の管理項目「種別」を選択するための選択欄、そして、符号2605は管理項目「列車番号」の入力欄である。選択欄2601で階層「大分類」が選択されている場合、入力・選択欄2603〜2605が例えばグレー表示され、情報を入力、選択できない。入力欄2602にのみ施行日を入力することができる。選択欄2601で階層「中分類」が選択されている場合、入力・選択欄2604、2605が例えばグレー表示され、情報を入力、選択できない。入力欄2602、選択欄2603に施行日、線区を入力、選択することができる。選択欄2601で階層「小分類」が選択されている場合、入力・選択欄2605が例えばグレー表示され、情報を入力、選択できない。入力欄2602〜2604に施行日、線区、種別を入力、選択することができる。そして、選択欄2601で階層「交通ダイヤデータ毎」が選択されている場合に、全ての入力・選択欄2602〜2605に情報を入力、選択できる。なお、選択欄2601、2603、2604にプルダウンメニュー表示する情報はメモリ等に予め記憶されているものとする。まや、符号2606は、入力・選択欄2601〜2605に入力、選択された情報を確定する確定ボタン、そして、符号2607は、入力・選択欄2601〜2605に入力、選択された情報をキャンセルする取消しボタンである。
さて、排他フラグ登録要求部221は、GUI部26を介してユーザより管理項目およびその情報の入力を受付けると、排他フラグ管理TL25にレコード250を新たに追加し、このレコード250に、受付けた管理項目の情報を登録する。また、受付けた管理項目の情報と、予め登録されているユーザIDとを含む排他フラグ登録要求2210を生成し、これをネットワークIF部21を介して交通ダイヤ管理サーバ1に送信する(S203)。なお、排他フラグ登録要求拒否メッセージ等のエラー通知を所定期間内に交通ダイヤ管理サーバ1から受領したならば(S204でYES)、S203で排他フラグ管理TL25に追加したレコード250を削除する(S205)。
また、交通ダイヤ読込部224は、GUI部26を介してユーザより交通ダイヤデータのDL指示を受付けると(S230でYES)、DL範囲指定受付画面をGUI部26に表示し、ダウンロードする交通ダイヤデータの範囲の指定を受付ける(S231)。本実施形態では、施行日の指定を受付けるようにしている。
さて、交通ダイヤ読込部224は、GUI部26を介してユーザよりDL範囲の指定を受付けると、指定されたDL範囲と、予め登録されているユーザIDとを含む交通ダイヤデータDL要求を生成し、これをネットワークIF部21を介して交通ダイヤ管理サーバ1に送信する(S222)。そして、交通ダイヤ管理サーバ1から交通ダイヤデータを受信し、作業用記憶部24に記憶する(S223)。これを受けて、編集受付部223は、作業用記憶部24に記憶された交通ダイヤデータをグラフ表示する(S224)。
図17は交通ダイヤデータの表示画面の一例である。この例では、縦軸2611を線区を構成する各駅とし、横軸2612を時刻として、指定された施行日(2004/11/16、2004/11/27)に運行される全ての交通ダイヤデータがグラフ表示されている。グラフに付されたアルファベット(符号2615)は列車番号である。グラフの線種は、種別を表している。ここでは実線が種別「営業」を、そして、一点鎖線が種別「貨物」を表している。ユーザは、GUI部26を介して、交通ダイヤデータ表示画面上にグラフ表示されている交通ダイヤデータの一部26をカーソル(不図示)で選択し、ドラッグ等の操作を行うことにより、該操作内容を編集受付部223が受付けて、後述する交通ダイヤデータの編集を行う。符号2613が該操作内容の確定ボタン、符号2614はその取消ボタンである。なお、GUI部26を用いた交通ダイヤデータの編集受付には、既存のグラフィックソフトの技術を利用することができる。
また、交通ダイヤ読込部224は、例えば所定時間経過といった、作業用記憶部24に記憶されている交通ダイヤデータの更新タイミングになった場合(S220、S221で共にYES)、作業用記憶部24に記憶されている交通ダイヤデータのDL範囲(施行日)と、予め登録されているユーザIDとを含む交通ダイヤデータDL要求を生成し、これをネットワークIF部21を介して交通ダイヤ管理サーバ1に送信する(S222)。そして、交通ダイヤ管理サーバ1から交通ダイヤデータを受信し、作業用記憶部24の記憶内容を更新する(S223)。これを受けて、編集受付部223は、作業用記憶部24内の更新された交通ダイヤデータをグラフ表示する(S224)。
また、編集受付部24は、GUI部26に表示されている交通ダイヤデータ表示画面(図17参照)を介して、交通ダイヤデータの編集操作を受付けると(S211でYES)、編集操作を受付けた対象の交通ダイヤデータを対象とする排他フラグのレコード250が排他フラグ管理TL25に登録されているか否かを調べる(S212)。具体的には、編集操作を受付けた対象の交通ダイヤデータと同じ施行日がフィールド251に登録されており、且つ、線区、種別および列車番号のフィールド252、253、254がヌルのレコード250、該交通ダイヤデータと同じ施行日、線区がフィールド251、252に登録されており、且つ、種別および列車番号のフィールド253、254がヌルのレコード250、編集操作を受付けた対象の交通ダイヤデータと同じ施行日、線区、種別がフィールド251、252、253に登録されており、且つ、列車番号のフィールド252、253、254がヌルのレコード250、および、編集操作を受付けた対象の交通ダイヤデータと同じ施行日、線区、種別、列車番号がフィールド251〜254に登録されているレコード250の、いずれかのレコードが登録されている否を調べる。
いずれのレコードも登録されていない場合(S212でNO)、編集受付部24は、該編集操作を交通ダイヤデータ表示画面に反映させない。つまり、作業用記憶部24に記憶されている該編集操作を受付けた交通ダイヤデータに、当該編集操作による変更内容を反映させない。また、編集受付部24は、編集操作を受付けた交通ダイヤデータを示すグラフの色を変えるなどして、編集操作が拒否されたことをユーザに知らせる(S218)。
一方、編集操作を受付けた対象の交通ダイヤデータを対象とする排他フラグのレコード250が排他フラグ管理TL25に登録されている場合(S212でYES)、編集受付部24は、例えば該編集操作による変更内容を仮受付し、例えば図18に示すように、作業用記憶部24に記憶されている交通ダイヤデータを表すグラフに、仮受付した変更内容を色や線種を変えて重ね合わせて表示するなどして、ユーザが該編集内容を識別できるように交通ダイヤデータ表示画面を変更する(S213)。なお、図18では、符号2621が付された交通ダイヤデータ、つまり、施行日「2004/11/26」、線区「α区」、種別「営業」、列車番号「C」により特定される交通ダイヤデータが編集操作された交通ダイヤデータであり、符号2622に示すように、該編集操作による変更内容が元の交通ダイヤデータ2621と表示形態(例えば色、線種)を変えて共に表示されている。このようにすることで、ユーザは自身が行った編集操作を確認できる。
さて、編集受付部223は、該編集操作による変更内容(時刻が変更された各駅の駅名および当該駅での変更後の時刻)と、該編集操作により編集された交通ダイヤデータの施行日、線区、種別および列車番号とを更新情報要求部222に通知する。これを受けて、更新情報要求部222は、更新情報管理TL23に新たなレコード230を追加する。そして、このレコードのフィールド232〜236に、編集受付部223から追加した施行日、線区、種別、列車番号および変更内容を登録する。また、フィールド231にはユニークな要求IDを生成して登録する。さらに、更新情報要求部222は、フィールド237に送信状況「未」を登録する。それから、更新情報要求部222は、予め登録されているユーザIDと、このレコード230のフィールド231〜236の登録内容とを含む更新情報登録要求2220を生成し、ネットワークIF部21を介して交通ダイヤ管理サーバ1に送信する(S214)。
次に、更新情報要求部222は、更新情報登録拒否メッセージ等のエラー通知を所定期間内に交通ダイヤ管理サーバ1から受領しなかった場合、あるいは、更新情報登録許可メッセージ等の正常応答を所定期間内に交通ダイヤ管理サーバ1から受領した場合(S215でNO)、作業用記憶部24の更新指示を編集受付部223に通知する。これを受けて、編集受付部24は、仮受付した編集操作による変更内容を、作業用記憶部24に記憶されている交通データに反映させて更新すると共に、作業用記憶部24内の更新された交通ダイヤデータをグラフ表示する(S216)。それから、編集受付部24は、ユーザが更新された部分を識別できるようにするために、図19に示すように、編集操作により変更された交通ダイヤデータ2622を、例えば所定時間の間、色や線種を変えて表示する。
一方、更新情報要求部222は、更新情報登録拒否メッセージ等のエラー通知を所定期間内に交通ダイヤ管理サーバ1から受領した場合(S215でYES)、その旨を編集受付部223に通知する。この場合、編集受付部223は、仮受付した編集操作による変更内容を作業用記憶部24に記憶されている交通データに反映させるない。また、該編集操作による変更内容の交通ダイヤデータ表示画面へ表示を中止する。また、編集受付部24は、ユーザが編集拒否された部分を識別できるようするために、図20に示すように、編集操作が拒否された交通ダイヤデータ2621を、例えば所定時間の間、色や線種を変えて表示する。
次に、本実施形態の交通ダイヤデータ編集管理システム全体の動作例を説明する。
図21は交通ダイヤ管理サーバ1および交通ダイヤ編集端末2間の情報のやり取りを説明するための図である。
交通ダイヤ編集端末2は、GUI部26を介してユーザより排他フラグの登録指示を受付けると、図15のS202、S203を実行する。これにより、排他フラグ登録部121は、ユーザから排他フラグを獲得する交通ダイヤデータを特定するための管理項目およびその情報を受付け(S401)、受付けた情報を基に排他フラグ登録要求2210を生成し、これをネットワークIF部21を介して交通ダイヤ管理サーバ1に送信する(S402)。
交通ダイヤ管理サーバ1において、排他フラグ登録部121は、ネットワークIF部11を介して交通ダイヤ編集端末2より排他フラグ登録要求2210を受信すると、図10のS15(図11および図12に示すフロー)を実行する。これにより、排他フラグ登録要求2210が排他の獲得を要求する交通ダイヤデータについて、他のユーザによって既に排他を獲得されていない場合は、排他フラグ登録要求2210を排他フラグ管理DB14に登録する(S411)。
また、交通ダイヤ編集端末2は、GUI部26を介してユーザより交通ダイヤデータのDL指示を受付けると、図15のS231、S222を実行する。これにより、交通ダイヤ読込部224は、ユーザから交通ダイヤデータのDL範囲(施行日)を受付け(S403)、受付けた情報を基に交通ダイヤデータDL要求を生成し、これをネットワークIF部21を介して交通ダイヤ管理サーバ1に送信する(S404)。
交通ダイヤ管理サーバ1において、DB転送部123は、ネットワークIF部11を介して交通ダイヤ編集端末2より交通ダイヤデータDL要求を受信すると、図10のS13S14を実行する。これにより、交通ダイヤデータDL要求にて指定されているDL範囲の交通ダイヤデータを交通ダイヤDB13から読み出して、ネットワークIF部11を介して交通ダイヤ編集端末2に送信する(S412)。
交通ダイヤ編集端末2は、ネットワークIF部21を介して交通ダイヤ管理サーバ1より交通ダイヤデータを受信すると、図15のS223、S224を実行する。これにより、交通ダイヤ読込部224は、受信した交通ダイヤデータを作業用記憶部24に記憶する。また、編集受付部223が、作業用記憶部24に記憶された交通ダイヤデータをGUI部26にグラフ表示する(S405)。
また、交通ダイヤ編集端末2は、GUI部26を介してユーザより、GUI部26に表示中の交通ダイヤデータの編集操作を受付けると、図15のS212〜S214を実行する。これにより、編集受付部223は、排他フラグ管理TL25を参照し、交通ダイヤ編集端末2のユーザが編集操作された交通ダイヤデータに対する排他を獲得しているならば、編集操作による変更内容を仮受付する。また、更新情報登録要求部222は、該変更内容を基に更新情報登録要求2220を生成し、これをネットワークIF部21を介して交通ダイヤ管理サーバ1に送信する(S407)。そして、所定時間内にエラー通知等がない場合、編集受付部223は、作業記憶部24の交通ダイヤデータを更新し、更新後の交通ダイヤデータを表示する(S408)。
交通ダイヤ管理サーバ1において、DB更新部122は、ネットワークIF部11を介して交通ダイヤ編集端末2より更新情報登録要求2220を受信すると、図10のS16(図13および図14に示すフロー)を実行する。これにより、更新情報登録要求2220が更新を要求する交通ダイヤデータについて、当該要求の送信元のユーザが当該交通ダイヤデータに対する排他を獲得しているならば、当該要求に含まれている変更内容を交通ダイヤDB13に反映させる(S413)。
以上、本発明の一実施形態について説明した。
本実施形態によれば、交通ダイヤデータを複数の階層で管理すると共に、各階層毎に排他フラグ管理TL141〜144を用意し、ある交通ダイヤデータに対する排他フラグをいずれかの排他フラグ管理TLで管理している。例えば、ある施行日に運行する全ての列車の交通ダイヤデータに対する排他フラグが階層「大分類」の排他フラグ管理TL141に登録された場合、それ以降、階層「大分類」以下の各排他フラグ管理TL141〜144に、当該施行日に運行する交通ダイヤデータに対する排他フラグが登録されることはない。また、ある施行日に線区を運行する全ての列車の交通ダイヤデータに対する排他フラグが階層「中分類」の排他フラグ管理TL142に登録された場合、それ以降、階層「中分類」以下の各排他フラグ管理TL142〜144には、当該施行日に当該線区を運行する交通ダイヤデータに対する排他フラグが登録されることはない。また、ある施行日に線区をある種別の目的で運行する全ての列車の交通ダイヤデータに対する排他フラグが階層「小分類」の排他フラグ管理TL143に登録された場合、それ以降、階層「小分類」以下の各排他フラグ管理TL143、144には、当該施行日に当該線区を当該種別の目的で運行する交通ダイヤデータに対する排他フラグが登録されることはない。このようにすることで、図面データをメッシュ分割して、各メッシュ毎に排他フラグを管理する特許文献1の技術に比べ、排他フラグの数を低減することができ、これにより、交通ダイヤデータの排他制御に係る処理の負荷を低減させることができる。
また、本実施形態では、図11および図12に示すように、排他フラグ登録部121による排他フラグ管理DB14への排他フラグ登録処理を次の要領で行っている。先ず、排他フラグ登録要求2210と同じ施行日を持つレコード1410が階層「大分類」の排他フラグ管理TL141に登録されているか否かを調べ、登録されている場合は該要求2210を拒否する。次に、同じ施行日を持つレコード1410が登録されていない場合であって、排他フラグ登録要求2210に線区が含まれている場合は、当該要求2210と同じ施行日および線区を持つレコード1420が階層「中分類」の排他フラグ管理TL142に登録されているか否かを調べ、登録されている場合は該要求2210を拒否する。さらに、同じ施行日および線区を持つレコード1420が登録されていない場合であって、排他フラグ登録要求2210に種別が含まれている場合は、当該要求2210と同じ施行日、線区および種別を持つレコード1430が階層「小分類」の排他フラグ管理TL142に登録されているか否かを調べ、登録されている場合は該要求2210を拒否する。さらにまた、同じ施行日、線区および種別を持つレコード1430が登録されていない場合であって、排他フラグ登録要求2210に列車番号が含まれている場合は、当該要求2210と同じ施行日、線区、種別および列車番号を持つレコード1440が階層「交通ダイヤデータ毎」の排他フラグ管理TL144に登録されているか否かを調べ、登録されている場合は該要求2210を拒否する。このように、排他フラグ登録要求の可否判断を上位階層の排他フラグ管理TLから下位階層の排他フラグ管理TLへ向けて行うことで、該判断処理を迅速に行うことができる。
また、本実施形態では、図13および図14に示すように、DB更新部122による交通ダイヤDB13への更新情報反映処理を次の要領で行っている。先ず、更新情報登録要求2220と同じ施行日、線区、線種および列車番号を持つレコード1440が階層「交通ダイヤデータ毎」の排他フラグ管理TL144に登録されているか否かを調べ、登録されている場合は該要求2220を拒否する。次に、同じ施行日、線区、線種および列車番号を持つレコード1440が登録されていない場合は、該要求2220と同じ施行日、線区および線種を持つレコード1430が階層「小分類」の排他フラグ管理TL143に登録されているか否かを調べ、登録されている場合は該要求2210を拒否する。さらに、同じ施行日、線区および線種を持つレコード1430が登録されていない場合は、該要求2220と同じ施行日および線区を持つレコード1420が階層「中分類」の排他フラグ管理TL142に登録されているか否かを調べ、登録されている場合は該要求2210を拒否する。さらにまた、同じ施行日および線区を持つレコード1420が登録されていない場合は、該要求2220と同じ施行日を持つレコード1410が階層「大分類」の排他フラグ管理TL141に登録されているか否かを調べ、登録されている場合は該要求2210を拒否する。このように、更新情報登録要求の可否判断を下位階層の排他フラグ管理TLから上位階層の排他フラグ管理TLへ向けて行うことで、該判断処理を迅速に行うことができる。
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
例えば、上記の実施形態では、施行日、線区、種別および列車番号を用いて、大分類、中分類、小分類および交通ダイヤデータ毎の4つの階層で交通管理データを管理する場合を例にとり説明した。しかし、本発明はこれに限定されない。本発明は第1の管理項目をを用いて交通ダイヤデータを第1の階層で管理し、第1および第2の管理項目を用いて交通ダイヤデータを第2の階層で管理し、第1、第2および第3の管理項目を用いて交通ダイヤデータを第3の階層で管理するといったように、複数の管理項目を用いて交通ダイヤデータを複数の階層で管理するものに広く適用できる。
なお、複数の管理項目の組み合わせを1つのデータとして取り扱うようにしてもよい。例えば、図3(B)において、施行日および線区を繋ぎ合わせたデータを1つのフィールドに登録し、図3(C)において、施行日、線区および種別を繋ぎ合わせたデータを1つのフィールドに登録し、そして、図3(D)において、施行日、線区、種別および列車番号を繋ぎ合わせたデータを1つのフィールドに登録してもよい。
また、上記の実施形態では、交通ダイヤデータの編集における排他制御を例にとり説明した。しかし、本発明はこれに限定されない。交通ダイヤデータ以外の図形データであっても、複数の管理項目を用いて階層管理できるものであれば、本発明を適用できる。
1…交通ダイヤ管理サーバ、2…交通ダイヤ編集端末、3…ネットワーク、11…ネットワークIF部、12…排他制御部、13…交通ダイヤDB、14…排他フラグ管理DB、15…更新情報管理TL、21…ネットワークIF部、22…交通ダイヤ編集部、23…更新情報管理TL、24…作業用記憶部、25…排他フラグ管理TL、26…GUI部、121…排他フラグ登録部、122…DB更新部、123…DB転送部、221…排他フラグ登録要求部、222…更新情報登録要求部、223…編集受付部、224…交通ダイヤ読込部