(57)【特許請求の範囲】
【請求項１】
運転ファイルよりバックアップファイルへのファイル書替方式において、
前記運転ファイルの書替処理は、データ書替が発生した場合、書き替えたデータのアドレス、書き替え前の旧データ、及び書き替え後の新データを含む書替データをロギングデータに登録した後、メインメモリの前記運転ファイルのデータを書き替え、
前記バックアップファイルの照合は、前記書替データに含まれるアドレスが前記運転ファイルにあった場合、前記運転ファイルと前記バックアップファイルと前記ロギングデータのデータ比較チェックを行い、前記運転ファイルのデータが前記新データに一致し前記バックアップファイルのデータが前記旧データに一致する場合は正常とし、それ以外は異常とし、前記書替データに含まれるアドレスが前記運転ファイルに無い場合は、前記運転ファイルと前記バックアップファイルとのデータを比較し、データが一致していれば正常とし、データが不一致であれば異常とし、
前記バックアップファイルの更新は、上記照合結果が全アドレスで正常であればメインメモリ上の前記運転ファイルを２次記憶装置の前記バックアップファイルへ蓄積する、
ことを特徴とするファイル書替方式。
【請求項２】
請求項１に記載のファイル書替方式において、
局データ、加入者データ、システムデータの各々のデータについてファイル書替処理を行うことを特徴とするファイル書替方式。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は運転ファイルよりバックアップファイルへのファイル書替方式に関する。近年のソフトウェアプログラムは大規模化してきており、非常に高い信頼性を持つことが要求されてきている。一般的なソフトウェアプログラムはシステム上に２種類存在している。
【０００２】
１つはメインメモリ（ＭＭ）上に展開され動作しているプログラムで、運転ファイルと呼んでいる。もう１つは２次記憶装置（ＯＤ）に蓄えられ万が一のときに使用するプログラムで、バックアップファイルと呼んでいる。これらのファイルの信頼性向上対策として従来より様々な手段が実施されている。
【０００３】
即ち、２次記憶装置（ＯＤ）の２重化（ファイルのミラー化）とか、ファイルの２重置き（供給時のファイルと最新ファイル）とかの手段がある。このような手段をとってきた背景には、ファイルを書き替える必要性があるからである。
【０００４】
ファイルを書き替える必要がなければ、バックアップファイルをリードオンリーファイルにしておくことにより、ファイルの信頼性は非常に高いものとなる。しかしソフトウェアプログラムはシステムデータ等が書き替えられていくものであり、ファイルの書替作業をいかに信頼性の高いものにするかが重要である。
【０００５】
【従来の技術】
このようなファイルの書替作業の信頼性向上対策として、従来では図２のバックアップファイル更新処理手順によりファイルを書替えていた。バックアップファイルへの更新方法は、運転ファイルを書き替え後、ファイルの安定性確認のために一定の監視時間をおいて行うものである。
【０００６】
図において、ＭＭはメインメモリで運転中のファイルを有し、ＯＤは磁気ディスク等の２次記憶装置でバックアップファイルを有する。以下の▲１▼〜▲５▼の手順によりバックアップファイルの更新処理を行う。
▲１▼通常運転状態時、
▲２▼運転ファイルを書き替える。
▲３▼運転監視（２４時間）を行う。
▲４▼運転監視後、運転ファイルとバックアップファイルの照合を行い、照合正常時のみ、運転ファイルをバックアップファイルに書き込む。（バックアップファイルの書き替え）
▲５▼照合異常時（システム異常として）、バックアップファイルの引上げ処理を行い、運転ファイルを書き替え前の状態に戻す。
【０００７】
【発明が解決しようとする課題】
しかし、この方式では以下の問題が生じる。
（１）  複数の書替データのうち書替処理が漏れた場合、照合処理で正常となりバックアップファイルに不完全なファイルを書き込んでしまう可能性がある。
（２）  ファイル監視中に書替データが破壊され、もし破壊されたデータをアクセス／実行されなかったならば、監視正常とみなされる可能性があり、破壊されたデータをバックアップファイルに書き込むことになる。その後、破壊されたデータをアクセス／実行した場合、運転ファイル・バックアップファイル共に正常なファイルが無い為、システムダウンが発生する可能性がある。
【０００８】
このような問題点を解決するためには、書き替えるデータが正常に書き替えられているかチェックする必要があった。本発明は、書替処理の高信頼性がこれまで以上に要求されてきているため、データロギング（履歴）方式によるファイル書替方式を提案することを目的とする。
【０００９】
【課題を解決するための手段】
本発明のデータロギング方式によるファイル書替方式の原理構成図を図１に示す。図において、１はメインメモリ（ＭＭ）上の運転ファイル、２は２次記憶装置（ＯＤ）上のバックアップファイル、３はロギングデータ、４は運転ファイルの書替処理フロー、５はバックアップファイルの照合フロー、６はバックアップファイルの更新フローを示す。
【００１０】
バックアップファイルの更新は、運転ファイル１とバックアップファイル２を照合し、次の条件を満たしたときのみバックアップファイル２の書き替えを行う手段を構成する。ロギングデータ３には書替データとしてアドレス、旧データ、新データが登録される。データロギング方式によるファイル書替方式は、次の条件をチェックする。
（１）  書き替えたデータがある。
（２）  書き替えたデータが正常に書き替わっているかどうか？
（３）  書き替える前のデータ値は正常値であったかどうか？
（４）  書き替えていないエリアのデータ値の破壊はないか？
（５）  書き替えるべきデータが全て書き替わっているかどうか？
【００１１】
【作用】
運転ファイル１の書替処理フロー４は、データ書替が発生した場合、必ず書替データ（アドレス、旧データ、新データ）をロギングデータ３に登録を行った後、メインメモリの運転ファイル１のデータを書き替える。
【００１２】
バックアップファイル２の照合フロー５は、書替アドレスが運転ファイル１にあった場合、運転ファイル１とバックアップファイル２とロギングデータ３のデータ比較チェックを行い、運転ファイル１が新データでバックアップファイル２が旧データの場合は正常とし、それ以外は異常とする。
【００１３】
書替アドレスが無い場合は、運転ファイル１とバックアップファイル２とのデータを比較し、データが一致していれば正常とし、データが不一致であれば異常とする。
【００１４】
バックアップファイル更新フロー６は、上記５の照合結果が全アドレスで正常であればメインメモリ上の運転ファイル１を２次記憶装置のバックアップファイル２へ蓄積する（バックアップファイルの作成）。
【００１５】
異常アドレスが一つでも有れば保守者通知（メッセージ出力による）し、異常原因の解析を行う。
【００１６】
【実施例】
以上のデータロギング方式によるファイル書替方式の実施例をフローチャートで示す。メインメモリには、局データ（回線のハード上のデータ）と加入者データ（加入者毎のデータ）とシステムデータ（実行、処理プログラム）とから構成されているので、各データに分けてデータ変更時の書替方式のフローとバックアップファイル収集時のフローを以下に示す。
【００１７】
図３は局データ変更時のフロー実施例、図４は加入者データ変更時のフロー実施例、図５はシステムデータ変更時のフロー実施例、図６と図７は局データ収集時のフロー実例、図８と図９は加入者データ収集時のフロー実施例、図１０と図１１はシステムデータ収集時のフロー実施例を示す。
【００１８】
図３の局データ変更時のフロー実施例において、
（１）  ユーザからの書き替え開始を受けて、局データを書き替える。
（２）  局データの変更通知を行い、ロギングデータに書替データ（アドレス、旧データ、新データ）を登録する。
（３）  局データ変更ロギング情報を検索し、該当アドレスが存在するか否かを判定する。
（４）  該当アドレスが存在すれば、局データ変更ロギング情報の新データ部のみ更新する。
（５）  該当アドレスが存在しなければ、局データ変更ロギング情報に▲１▼アドレス、▲２▼旧データ、▲３▼新データを蓄積する。
【００１９】
図４の加入者データ変更時のフロー実施例において、
（１１）ユーザからの書き替え開始を受けて、加入者データを書き替える。
（１２）加入者データの変更通知を行い、ロギングデータに書替データ（アドレス、旧データ、新データ）を登録する。
（１３）加入者データ変更ロギング情報を検索し、該当アドレスが存在するか否かを判定する。
（１４）該当アドレスが存在すれば、加入者データ変更ロギング情報の新データ部のみ更新する。
（１５）該当アドレスが存在しなければ、加入者データ変更ロギング情報に▲１▼アドレス、▲２▼旧データ、▲３▼新データを蓄積する。
【００２０】
図５のシステムデータ変更時のフロー実施例において、
（２１）システムデータの書き替え開始を受けて、ＭＭデータを書き替える。
（２２）ＭＭデータの変更通知を行い、ロギングデータにＭＭデータ（アドレス、旧データ、新データ）変更を登録する。
（２３）アドレスにより、局データエリアか、加入者データエリアか、その他のエリアかを判定する。
（２４）判定エリアが局データエリアであれば、局データ変更ロギング情報を検索し、該当アドレスが存在するか否かを判定する。
（２５）該当アドレスが存在すれば、局データ変更ロギング情報の新データ部のみ更新する。
（３０）該当アドレスが存在しなければ、その他データ変更ロギング情報に▲１▼アドレス、▲２▼旧データ、▲３▼新データを蓄積する。
（２６）判定エリアが加入者データエリアであれば、加入者データ変更ロギング情報を検索し、該当アドレスが存在するか否かを判定する。
（２７）該当アドレスが存在すれば、加入者データ変更ロギング情報の新データ部のみ更新する。
（３０）該当アドレスが存在しなければ、その他データ変更ロギング情報に▲１▼アドレス、▲２▼旧データ、▲３▼新データを蓄積する。
（２８）判定エリアがその他のエリアであれば、その他データ変更ロギング情報を検索し、該当アドレスが存在するか否かを判定する。
（２９）該当アドレスが存在すれば、加入者データ変更ロギング情報の新データ部のみ更新する。
（３０）該当アドレスが存在しなければ、その他データ変更ロギング情報に▲１▼アドレス、▲２▼旧データ、▲３▼新データを蓄積する。
【００２１】
図６の局データ収集時のフロー実施例（その１）において、
（３１）局データ収集開始を受けて局データバックアップエリアを照合し、局データバックアップエリア更新フラグがＯＫであり、
（３２）加入者データバックアップエリア更新フラグがＯＫであれば、
（３３）ＭＭとＯＤの局データ部と加入者データ部の内容を照合し、照合終了すれば（その２）の更新に移る。
（３４）照合の結果が一致すればループ処理により（３３）に移るが、不一致であればアドレスにより、局データ変更ロギング情報か、加入者データ変更ロギング情報を検索し、該当アドレスが変更対象であったか否かを判定する。
（３５）該当アドレスが変更対象であれば、新データ＝ＭＭ上の内容か、旧データ＝ＯＤ上の内容か否かを判定し、一致すればループ処理により（３３）に移るが、
（３６）不一致であれば保守者通知し、アドレスにより局データか、加入者データのバックアップエリア更新フラグにＮＧを設定する。
（３７）該当アドレスが変更対象でなければ、保守者通知し、アドレスにより局データか、加入者データのバックアップエリア更新フラグにＮＧを設定する。
【００２２】
図７の局データ収集時のフロー実施例（その２）において、
（４１）局データ変更ロギング情報が有るか否かを判定し、
（４２）有れば検索されなかった局データ変更ロギング情報が有るか否かを判定し、
（４３）検索されなかった局データ変更ロギング情報が有れば保守者通知し、局データバックアップエリア更新フラグＮＧを設定する。
（４４）局データ変更ロギング情報が無ければ、保守者通知し、局データバックアップエリア更新フラグＮＧを設定する。
（４５）検索されなかった局データ変更ロギング情報が無ければ、また局データバックアップエリア更新フラグＮＧが設定されれば、加入者データ変更ロギング情報が有るか否かを判定し、
（４６）加入者データ変更ロギング情報が有れば、検索されなかった加入者データ変更ロギング情報が有るか否かを判定し、
（４７）有れば保守者通知し、局データバックアップエリア更新フラグＮＧ設定し、
（４８）無ければ、加入者データバックアップエリア更新フラグＯＫ／ＮＧ判定し、
（４９）ＯＫであれば、局データバックアップエリア更新フラグＯＫ／ＮＧ判定し、
（５０）上記（４８）と（４９）の判定においてＮＧであれば、エラー返送する。
（５１）局データバックアップエリア更新フラグＯＫであれば、ＯＤ局データ及び加入者データエリア更新＆照合を行う。
（５２）局データ及び加入者データ変更ロギング情報をクリアし、
（５３）ＯＫ返送して終了する。
（５４）上記（４５）の加入者データ変更ロギング情報の判定において、情報が無ければ加入者データバックアップエリア更新フラグＯＫ／ＮＧ判定し、
（５５）ＯＫであれば、局データバックアップエリア更新フラグＯＫ／ＮＧ判定し、
（５０）上記（５４）と（５５）との判定でＮＧであれば、エラー返送を行う。
（５６）上記（５５）の判定でＯＫであれば、ＯＤ局データエリア更新＆照合を行い、
（５７）局データ変更ロギング情報をクリアし、
（５８）ＯＫ返送する。
【００２３】
図８の加入者データ収集時のフロー実施例（その１）において、
（６１）局データ変更中か否かを判定し、
（６２）非変更中であれば、サービスオーダ（ＳＯＤ）投入中か否かを判定し、
（６３）非投入中であれば、サービスオーダ投入待ち合わせ指示を行い、
（６４）加入者データ変更チェックフラグＯＫとする。上記（６１）の判定で変更中の場合、（６２）の判定で投入中の場合は、（その２）の（７９）の処理に移る。
（６５）フラグＯＫにより、ＭＭ−ＯＤの加入者データ部の内容を照合し、照合終了すれば（その２）の更新処理に移る。
（６６）照合の結果が一致すれば、ループ処理により（６５）に戻り、不一致であれば、加入者データ変更ロギング情報を検索し、該当アドレスが加入者データ変更対象であったか否かを判定し、
（６７）対象であれば、新データ＝ＭＭ上の内容＆旧データ＝ＯＤ上の内容か否かを判定し、
（６８）一致すればループ処理により（６５）に戻り、不一致であれば保守者通知し、加入者データ変更チェックフラグＮＧ設定を行う。
（６９）上記（６６）の判定で非対象であれば、保守者通知し、加入者データ変更チェックフラグＮＧ設定を行う。
【００２４】
図９の加入者データ収集時のフロー実施例（その２）において、
（７１）加入者データ変更ロギング情報が有るか否かを判定し、
（７２）有れば、検索されなかった加入者データ変更ロギング情報が有るか否かを判定し、
（７３）有れば保守者通知し、加入者データ変更チェックフラグＮＧ設定し、
（７４）上記（７２）の判定結果が無しであれば、加入者データ変更チェックフラグＯＫ／ＮＧ判定し、
（７５）ＯＫであれば、ＯＤ加入者データエリア更新＆照合を行い、
（７６）加入者データ変更ロギング情報をクリアし、
（７７）サービスオーダ投入待ち合わせ解除指示を行い、終了する。
（７８）上記（７１）の判定結果が無しであれば、加入者データ変更チェックフラグＯＫ／ＮＧ判定を行い、
（７９）ＯＫであれば、ＯＤ加入者データエリア更新処理スキップ（正常）し、上記（７７）の処理に移る。前記（６１）の判定結果が変更中の場合、前記（６２）の判定結果が投入中の場合も（正常）と見なす。
（８０）上記（７８）の判定でＮＧであれば、ＯＤ加入者データエリア更新処理スキップ（異常）し、前記（７４）の判定結果がＮＧの場合も異常と見なす。
【００２５】
図１０のシステムデータ収集時のフロー実施例（その１）において、
（８１）局データ変更中か否かを判定し、
（８２）非変更中の場合はサービスオーダ（ＳＯＤ）投入中か否かを判定し、投入中であれば、また（８１）の判定で局データ変更中の場合は（その２）の（９８）に記載されているＯＤ更新スキップ（正常）と見なして終了する。
（８３）サービスオーダ非投入中であれば、サービスオーダ投入待ち合わせ指示を行い、
（８４）局データバックアップエリア更新フラグＯＫを確認し、
（８５）加入者データバックアップエリア更新フラグＯＫを確認し、
（８６）その他データバックアップエリア更新フラグＯＫを確認し、
（８７）ＭＭとＯＤの内容を照合し、一致していればループ照合をアドレス０からｎまで繰り返す。照合終了すれば（その２）の（９２）に移る。
（８８）ＭＭとＯＤの内容が不一致であれば、アドレスにより局データ変更ロギング情報か、加入者データ変更ロギング情報か、その他データ変更ロギング情報を検索し、該当アドレス変更対象であったか否かを判定する。
（８９）判定の結果変更対象であれば、新データ＝ＭＭ上の内容＆旧データ＝ＯＤ上の内容か否かを判定し、一致していれば（８７）の照合に戻る。
（９０）不一致であれば、保守者通知し、アドレスにより局データか、加入者データか、その他データのバックアップエリア更新フラグにＮＧ設定。
（９１）上記（８８）の判定において非対象であれば、保守者通知し、アドレスにより局データか、加入者データか、その他データのバックアップエリア更新フラグにＮＧ設定。
【００２６】
図１１のシステムデータ収集時のフロー実施例（その２）において、
（９２）前記（８７）におけるＭＭとＯＤの内容照合終了後、検索されなかったロギング情報が有るか否かを判定し、有る場合は保守者通知し、対応する更新フラグにＮＧ設定をする。
（９３）全てのバックアップエリア更新フラグがＯＫか否かを判定し、
（９４）ＯＫであれば、ロギング情報の存在するデータエリアのみＯＤ更新実施＆照合を行い、
（９５）その後ロギング情報をクリアし、
（９６）サービスオーダ投入待ち合わせ解除を指示して終了する。
（９７）上記（９３）の判定結果ＯＫでなければ、ＯＤ更新スキップ（異常）と見なす。
（９８）前記（８１）及び（８２）の判定の結果、変更中であり投入中であれば、ＯＤ更新スキップ（正常）と見なす。
【００２７】
【発明の効果】
本発明のデータロギング方式の採用により、従来データに不良があっても動いてしまえば、原因不明のまま処理ができないが、今回はファイルチェック毎に判明が可能となる。したがって、不良なバックアップファイルの作成を防止することができる。
【図面の簡単な説明】
【図１】本発明の原理構成図
【図２】従来のバックアップファイル更新処理手順
【図３】局データ変更時のフロー実施例
【図４】加入者データ変更時のフロー実施例
【図５】システムデータ変更時のフロー実施例
【図６】局データ収集時のフロー実施例（その１）
【図７】局データ収集時のフロー実施例（その２）
【図８】加入者データ収集時のフロー実施例（その１）
【図９】加入者データ収集時のフロー実施例（その２）
【図１０】システムデータ収集時のフロー実施例（その１）
【図１１】システムデータ収集時のフロー実施例（その２）
【符号の説明】
１  運転ファイル
２  バックアップファイル
３  ロギングデータ
４  運転ファイルの書替処理フロー
５  バックアップファイルの照合フロー
６  バックアップファイルの更新フロー
【図１】
0003563802.tif 000002
【図２】
0003563802.tif 000003
【図３】
0003563802.tif 000004
【図４】
0003563802.tif 000005
【図５】
0003563802.tif 000006
【図６】
0003563802.tif 000007
【図７】
0003563802.tif 000008
【図８】
0003563802.tif 000009
【図９】
0003563802.tif 000010
【図１０】
0003563802.tif 000011
【図１１】
0003563802.tif 000012