(57)【要約】【課題】プラントの監視用計算機システムの計算機の交換の際にデータベースを正確に移行する。【解決手段】実施形態によれば、バイナリデータ移行システム１０は、既設バイナリデータの構成を定義してその変形を含めて複数のテンプレートを作成するテンプレート生成部１１０と、テンプレートを保存するテンプレートデータベース２１０と、テンプレートデータベース２１０からテンプレートを順次読み出して対象とする既設バイナリデータと照合し当該既設バイナリデータに最も類似した類似テンプレートを選択するテンプレート照合選択部１２０と、類似テンプレートを既設バイナリデータに対応するように補正して対応テンプレートを生成するテンプレート補正部１３０、１４０と、対応テンプレートを用いて既設バイナリデータをテキストファイルに変換するバイナリデータテキスト変換部１５０を有する。【選択図】図１
2017054262.tif 000002
【特許請求の範囲】
【請求項１】
プラントの監視用計算機システムにおける計算機の交換の際の計算機用のバイナリデータの移行のためのバイナリデータ移行システムであって、
既設バイナリデータとの照合のために、バイナリデータの構成を定義してその変形を含めて複数のテンプレートを作成するテンプレート生成部と、
前記複数のテンプレートを保存するテンプレートデータベースと、
前記テンプレートデータベースに保存された前記複数のテンプレートを順次読み出して、対象とする既設バイナリデータと照合し当該既設バイナリデータに最も類似した類似テンプレートを選択するテンプレート照合選択部と、
前記照合の結果に基づいて、前記類似テンプレートを前記既設バイナリデータに対応するように補正して対応テンプレートを生成するテンプレート補正部と、
前記対応テンプレートを用いて前記既設バイナリデータをテキストファイルに変換するバイナリデータテキスト変換部と、
を備えることを特徴とするバイナリデータ移行システム。
【請求項２】
前記テンプレート生成部は、
標準とする既設バイナリデータに関する情報に基づいて前記標準とするバイナリデータの構成を抽出する構造抽出部と、
前記構造抽出部の抽出結果に基づいて前記複数のテンプレートを作成するテンプレート作成部と、
を有することを特徴とする請求項１に記載のバイナリデータ移行システム。
【請求項３】
前記テンプレート照合選択部は、前記対象とする既設バイナリデータと前記複数のテンプレートのそれぞれとの類似度を算出し、前記類似度が最大の前記テンプレートを類似テンプレートとして選択することを特徴とする請求項１または請求項２に記載のバイナリデータ移行システム。
【請求項４】
前記類似度は、前記対象とする既設バイナリデータと前記テンプレートとの間の、データ項目のズレ、レコード数、文字エンコーディングのそれぞれの比較結果に基づいて決定されることを特徴とする請求項３に記載のバイナリデータ移行システム。
【請求項５】
プラントの監視用計算機システムにおける計算機の交換の際の計算機用のバイナリデータの移行のためのバイナリデータ移行方法であって、
テンプレート生成部が、既設バイナリデータとの照合のために、複数のテンプレートを作成し、テンプレートデータベースが保存するテンプレート作成ステップと、
テンプレート照合選択部が、前記テンプレートデータベースに保存された前記複数のテンプレートを順次読み出して、対象とする既設バイナリデータと照合し当該既設バイナリデータに最も類似した類似テンプレートを選択するテンプレート照合選択ステップと、
テンプレート補正部が、前記照合の結果に基づいて、前記類似テンプレートを前記既設バイナリデータに対応するように補正して対応テンプレートを生成するテンプレート補正ステップと、
バイナリデータテキスト変換部が、前記対応テンプレートを用いて前記既設バイナリデータをテキストファイルに変換するバイナリデータテキスト変換ステップと、
を有することを特徴とするバイナリデータ移行方法。
【請求項６】
前記テンプレート照合選択ステップは、
前記対象とする既設バイナリデータと前記テンプレートとの間のデータ項目のズレをチェックするズレチェックステップと、
前記対象とする既設バイナリデータと前記テンプレートとの間のレコード数の違いをチェックするレコード数チェックステップと、
前記対象とする既設バイナリデータと前記テンプレートとの間の文字エンコーディングの違いをチェックする文字エンコーディングチェックステップと、
を有することを特徴とする請求項５に記載のバイナリデータ移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プラントの監視用計算機システムにおける計算機の交換の際の計算機用のバイナリデータの移行のためのバイナリデータの移行システムおよびバイナリデータ移行方法に関する。
【背景技術】
【０００２】
発電プラントの寿命は４０〜６０年と長く、この間、発電プラントの状態を監視する発電プラント監視システムは、稼働し続ける必要がある。発電プラント監視システムを構成する監視用計算機システムは、交換部品の供給終了などの時期に合わせて１５〜２０年で更新を行っている。監視用計算機システムで使用されるデータベースもまた新しい監視用計算機システムへ移植される。
【０００３】
既設の監視用計算機システムのデータベースは、それぞれに固有の形式のバイナリファイルを使用している。監視用計算機システムのアーキテクチャの相違などもあるため、データベースをそのまま他機種の監視用計算機システムに移行することはできない。バイナリデータをテキストファイルへ変換し移行データとすれば移行の容易性は高くなる。
【０００４】
機能毎に使用するデータベースの種類が異なる場合がある。また、機能が同一であっても、出荷時期により大小の仕様変更に伴いデータベースの構造も変更され、標準となる構造から派生した実装になっている場合がある。このため、既存の数万点に及ぶバイナリデータを解析するのには、まず移行元のデータ構造を把握するための調査にまで作業が及ぶことになり、大変な時間を費やしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１９０４７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したデータベース移行では、１レコードの構造が単一であるものに対しデータベースを移行する提案であり、他方、監視用計算機システムのバイナリデータベースはデータベース中のデータ項目の値によって、データベース構造が途中から変化するようなケースがあるため、正しく変換することが困難である。このため、バイナリデータを解析し、そのバイナリデータ構造を正しく解析し正確なデータベース移行を実現する手段が必要であった。
【０００７】
本発明の実施形態は、上述した課題を解決するためになされたものであり、プラントの監視用計算機システムにおける計算機の交換の際にデータベースを正確に移行することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するため、本実施形態は、プラントの監視用計算機システムにおける計算機の交換の際の計算機用のバイナリデータの移行のためのバイナリデータ移行システムであって、既設バイナリデータとの照合のために、バイナリデータの構成を定義してその変形を含めて複数のテンプレートを作成するテンプレート生成部と、前記複数のテンプレートを保存するテンプレートデータベースと、前記テンプレートデータベースに保存された前記複数のテンプレートを順次読み出して、対象とする既設バイナリデータと照合し当該既設バイナリデータに最も類似した類似テンプレートを選択するテンプレート照合選択部と、前記照合の結果に基づいて、前記類似テンプレートを前記既設バイナリデータに対応するように補正して対応テンプレートを生成するテンプレート補正部と、前記対応テンプレートを用いて前記既設バイナリデータをテキストファイルに変換するバイナリデータテキスト変換部と、を備えることを特徴とする。
【０００９】
また、本実施形態は、プラントの監視用計算機システムにおける計算機の交換の際の計算機用のバイナリデータの移行のためのバイナリデータ移行方法であって、テンプレート生成部が、既設バイナリデータとの照合のために、複数のテンプレートを作成し、テンプレートデータベースが保存するテンプレート作成ステップと、テンプレート照合選択部が、前記テンプレートデータベースに保存された前記複数のテンプレートを順次読み出して、対象とする既設バイナリデータと照合し当該既設バイナリデータに最も類似した類似テンプレートを選択するテンプレート照合選択ステップと、テンプレート補正部が、前記照合の結果に基づいて、前記類似テンプレートを前記既設バイナリデータに対応するように補正して対応テンプレートを生成するテンプレート補正ステップと、バイナリデータテキスト変換部が、前記対応テンプレートを用いて前記既設バイナリデータをテキストファイルに変換するバイナリデータテキスト変換ステップと、を有することを特徴とする。
【発明の効果】
【００１０】
本発明の実施形態によれば、プラントの監視用計算機システムにおける計算機の交換の際にデータベースを正確に移行することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るバイナリデータ移行システムの構成を示すブロック図である。
【図２】実施形態に係るバイナリデータ移行システムのデータベースのテンプレートの構造の例を示す説明図である。
【図３】実施形態に係るバイナリデータ移行システムにおけるテンプレートの設定項目例を示す表である。
【図４】実施形態に係るバイナリデータ移行システムの固定長レコード固定レコード数タイプの場合を示す表である。
【図５】実施形態に係るバイナリデータ移行システムの固定長レコード可変レコード数タイプの場合を示す表である。
【図６】実施形態に係るバイナリデータ移行システムの可変フォーマットタイプの場合を示す表である。
【図７】実施形態に係るバイナリデータ移行方法の手順を示すフロー図である。
【図８】実施形態に係るバイナリデータ移行システムでのテンプレートの生成の流れを示すフロー図である。
【図９】構造抽出部が既設バイナリデータから構造に関するデータのみを抽出したデータ例である。
【図１０】構造抽出部が既設データベースをアクセスするインクルードから構造に関するデータのみを抽出したデータ例である。
【図１１】テンプレート照合選択部の作用を説明するフロー図である。
【図１２】データベース構造の類似度の決定の流れを示すフロー図である。
【図１３】テンプレートデータベースに保存されているテンプレートの例を示す構成表である。
【図１４】対象とする既設バイナリデータの構成であり、かつ補正後のテンプレートの例を示す構成表である。
【図１５】テンプレートデータ自動補正部による補正の例を示すブロック図である。
【図１６】テンプレートデータ手動補正部による補正の例を示すブロック図である。
【図１７】テキスト化のステップを示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態に係るバイナリデータ移行システムおよびバイナリデータ移行方法について説明する。
【００１３】
図１は、実施形態に係るバイナリデータ移行システムの構成を示すブロック図である。バイナリデータ移行システム１０は、プラントの監視用計算機システムにおける計算機の交換の際の計算機用のバイナリデータの移行のためのバイナリデータ移行システムである。ここで、バイナリデータの移行とは、従来使用していた計算機に使用されてきたソフトウェアを、従来の計算機に替わって新しく導入される計算機のソフトウェアとして、新しく導入される計算機に使用可能な形で使用することである。
【００１４】
バイナリデータ移行システム１０は、テンプレート生成部１１０、テンプレート照合選択部１２０、テンプレート照合記憶部１２２、テンプレート自動補正部１３０、テンプレートデータ手動補正部１４０、バイナリデータテキスト変換部１５０、テンプレートデータベース２１０、既設バイナリデータベース２２０、および、外部からの入力および外部への出力を可能とする入出力部３００を有する。
【００１５】
テンプレート生成部１１０は、対象とするバイナリデータとの照合のために、バイナリデータの構成を定義してその変形を含めて複数のテンプレートを作成する。テンプレート生成部１１０は、構造抽出部１１１およびテンプレート作成部１１２を有する。
【００１６】
ここで、対象とするバイナリデータとは、プラントの監視用計算機システムにおいて交換する計算機に使用されているバイナリデータであり、一つとは限らず、また、複数でも同一とは限らず、たとえば、互いに、バージョンが異なるなどが想定される。
【００１７】
構造抽出部１１１は、対象とするバイナリデータに関しての標準とする既設バイナリデータに関する情報に基づいて、標準とするバイナリデータの構成を抽出する。そのためには、構造抽出部１１１は、標準データベースを定義した図書に基づいて、標準的な既設バイナリデータのデータベース構造に関する情報、構造のみを抽出したデータとして、データベースのデータを出力する。ここで、標準的とは、既設バイナリデータについて当初計画された内容に対応するとの意味である。
【００１８】
テンプレート作成部１１２は、この標準的な既設バイナリデータについての構造情報を受けて、標準的な既設バイナリデータに対応すると想定した標準的テンプレートを作成する。
【００１９】
図２は、テンプレートの構造の例を示す説明図である。テンプレートは、１．種別、２．型、３．フィールド名、４．サイズ、および５．チェックポイントフラグで構成される。各列は、ステートメントの実行順である。
【００２０】
図３は、実施形態に係るバイナリデータ移行システムにおけるテンプレートの設定項目例を示す表である。
【００２１】
出力する要素の開始／終了を表す情報として、種別として「ＢＬＯＣＫ」、型およびその説明としては、「ＳＴＡＲＴ…テキスト書出しブロック開始」や「ＥＮＤ…テキスト書出しブロック終了」などがある。
【００２２】
データベースの制御構造を表す情報としては、種別として「ＦＯＲＭ」、型およびその説明としては、「ＩＦ…条件分岐」、「ＬＯＯＰ…繰り返し」、あるいは「ＪＵＭＰ…ジャンプ（指定アドレスへの移動）」などがある。
【００２３】
データ項目の切り出しと変換を実施するために必要な情報（データタイプとサイズ）としては、種別として「ＥＬＥＭＥＮＴ」、型およびその説明としては、「ＩＮＴ…数値」、「ＣＨＡＲ…文字」、「ＦＬＯＡＴ…実数」、あるいは「ＢＩＴ…ビット」などがある。
【００２４】
以上のように、テンプレートは、決まった様式で定義された設定項目により管理される。以下に、代表的な様式を例にとって説明する。
【００２５】
設定項目は、データベース内のデータ項目毎に定義する必要がある。データ項目は、データベース構造における最小要素であり、テンプレート設定項目ではＥＬＥＭＥＮＴとして定義される。そのため、データの項目の切り出し（テキストへの出力）をおこなうために必要な情報（データタイプとサイズ）をデータ項目毎に定義する。
【００２６】
またデータベースファイルは、構造体の配列に相当する基本的な構造以外に、構造体の中に配列構造をもつものがある。さらに、構造体や配列構造が深い入れ子になっているものもある。
【００２７】
配列の要素数も、固定でなく別のデータ項目に定義されるといった可変長配列構造も存在し、データ項目の値により以降の構造が変換する場合もあり、データベースの構造を定義する構造要素は、構造化プログラミングの制御構造と同じく、順次構造（構造体つまりデータ項目の並び順）、反復構造（配列）、選択構造（値による構造変換）の３種類であり、これらの入れ子構造として表現可能とする。
【００２８】
図４は、固定長レコード固定レコード数タイプの場合を示す表である。図４の例では、Ｎｏ２からＮｏ６までの１００レコード分処理をループし実施するという内容である。固定長レコード固定レコード数タイプはレコード数が一定で、表形式とみなすことができるデータベース構造のタイプである。レコード数、レコード内のデータ項目についてデータの型とサイズがテンプレート中に定義されており、たとえば、データの第１行目で指定しているように表のサイズが固定となるものである。
【００２９】
図５は、固定長レコード可変レコード数タイプの場合を示す表である。Ｎｏ１でＬＯＯＰＣＮＴに値を保持し、０〜ＬＯＯＰＣＮＴまで、Ｎｏ２からＮｏ７までの処理をループし行うという内容である。固定長レコード可変レコード数タイプはレコード数が可変で、表形式とみなすことができるデータベース構造のタイプであり、レコード内のデータ項目についてデータの型とサイズの定義に加え、たとえば、データの２行目でサイズを変数としているように、レコード数をヘッダ部など別の部分として参照して取得する必要があるものである。
【００３０】
図６は、可変フォーマットタイプの例を示す場合である。Ｎｏ１でＬＯＯＰＣＮＴに値を保持する。Ｎｏ２でＤＡＴＡ１に値を保持する。Ｎｏ３〜Ｎｏ１８までの処理をループし実施する。Ｎｏ４でＤＡＴＡ１の値が１のとき、Ｎｏ６〜Ｎｏ９を処理する。Ｎｏ４でＤＡＴＡ１の値が２のとき、Ｎｏ１２〜Ｎｏ１６を処理する。以上のような内容である。
【００３１】
この可変フォーマットタイプはレコード内のデータ項目や長さが変化するタイプである。レコード内の特定位置の値により、レコード内の構造が変化する。レコード内の構造が特定されるデータ項目の定義と、その内容ごとのフォーマット定義を必要とするものである。
【００３２】
テンプレート作成部１１２は、標準的な既設バイナリデータに対応するテンプレートおよび標準的な既設バイナリデータその典型的な変形によるテンプレートを作成する。作成されたテンプレートは、テンプレートデータベース２１０に保存される。
【００３３】
テンプレート照合選択部１２０は、既設バイナリデータベース２２０に保存されている既設バイナリデータのそれぞれについて、テンプレートデータベース２１０に保存されているテンプレートと照合して、最も類似度の高いテンプレートを選択する。選択されたテンプレートは、テンプレート照合記憶部１２２に保存される。
【００３４】
テンプレート自動補正部１３０は、既設バイナリデータと最も類似度の高いテンプレートとの差異分を、最も類似度の高いテンプレートに反映し、差異分を修正したテンプレートを作成し、テンプレートデータベース２１０が、これを保存する。また、差異分が修正されたテンプレートは、バイナリデータテキスト変換部１５０に出力される。
【００３５】
テンプレートデータ手動補正部１４０は、任意の内容を外部から補正可能である。この結果、作成されたテンプレートもテンプレートデータベース２１０に保存される。
【００３６】
バイナリデータテキスト変換部１５０は、差異分が修正されたテンプレートを受け入れて、テキストファイルに変換し、テキストデータを出力する。
【００３７】
図７は、実施形態に係るバイナリデータ移行方法の手順を示すフロー図である。
【００３８】
まず、テンプレート生成部１１０が、テンプレートデータを作成する（ステップＳ０１）。図８は、バイナリデータ移行システムでのテンプレートの生成の流れを示すフロー図である。
【００３９】
構造抽出部１１１は、標準データベースを定義した図書に基づいて、標準的な既設バイナリデータのデータベース構造に関する情報、構造のみを抽出したデータとして、データベースＡのデータを出力する。
【００４０】
図９は、構造抽出部が既設バイナリデータから構造に関するデータのみを抽出したデータ例、すなわち、データベースＡのデータ例である。データベースＡは、フィールド名、型およびサイズ、備考の順に、（ＮＡＭＥ１、ＩＮＴ、説明１）、（ＮＡＭＥ２、ＣＨＡＲ［１０］、説明２）、および（ＮＡＭＥ３、ＣＨＡＲ［１００］、説明３）のような３つのデータ要素により構成されている。
【００４１】
また、構造抽出部１１１は、標準データベースをアクセスするインクルードに基づいて、既設バイナリデータのデータベース構造に関する情報、構造のみを抽出したデータとして、データベースＡインクルードのデータを出力する。
【００４２】
図１０は、構造抽出部が既設データベースをアクセスするインクルードから構造に関するデータのみを抽出したデータ例である。図１０に示すように、データベースＡのインクルードでは、フィールド名で、ＮＡＭＥ１、ＮＡＭＥ２、ＮＡＭＥ４、およびＮＡＭＥ３の構造が定義されている。
【００４３】
図８において、データベースＲｅｖ１テンプレートと例示されているが、テンプレート作成部１１２は、さらに、標準的テンプレートに基づいて定型的な修正を加えたテンプレートを作成する。これらのテンプレートは、テンプレートデータベース２１０に保存される。
【００４４】
図７に示すように、ステップＳ０１の次に、テンプレート照合選択部１２０は、既設バイナリデータベース２２０から、対象とする既設バイナリデータを順次、読み込む（ステップＳ０２）。
【００４５】
次に、テンプレート照合選択部１２０は、読み込んだ既設バイナリデータを、テンプレートデータベース２１０に保存されているテンプレートの一つずつと順番に照合、比較する（ステップＳ０３）。また、テンプレート照合記憶部１２２は、テンプレート照合選択部１２０で行った算出等の途中の結果を保存して、テンプレート照合選択部１２０での選択機能をサポートする。図１１は、テンプレート照合選択部１２０の作用を説明するフロー図である。
【００４６】
テンプレート照合選択部１２０は、テンプレートデータベース２１０に複数登録されているテンプレートを順番に読み込む。テンプレート照合選択部１２０は、ステップＳ０２で既設バイナリデータベース２２０から読み込んだ既設バイナリデータが、テンプレートデータベース２１０から読み込んだ各テンプレートに記載されているデータベース構造であるとして、読み込んだ既設バイナリデータをこれに当てはめて読んでみる。
【００４７】
このように、対象とする既設バイナリデータが、各テンプレートに記載されたデータベース構造でどの程度正しく読み込めるかを検査し、対象とする既設バイナリデータとテンプレートとがどの程度共通し、どの部分が異なるのかを比較し、それぞれの場合の類似度を決定し、類似度が最も大きなテンプレート（類似テンプレート）を選択する。
【００４８】
次に、テンプレート自動補正部１３０は、テンプレート照合選択部１２０の結果により、類似テンプレートを補正し、対象とする既設バイナリデータに対応するテンプレート（対応テンプレート）を作成する（ステップＳ０４）。
【００４９】
次に、ステップＳ０４で作成した対応テンプレートを用いて、既設バイナリデータのテキスト化を行う（ステップＳ０５）。既設バイナリデータの全てについてテキスト化を完了したか否かを確認（ステップＳ０６）し、完了していないと判定された場合（ステップＳ０６  ＮＯ）には、ステップＳ０２以降を繰り返す。完了していると判定された場合（ステップＳ０６  ＹＥＳ）には、終了とする。
【００５０】
図１２は、データベース構造の類似度の決定の流れを示すフロー図である。データベース構造の類似度の決定は以下に示す方法による。
【００５１】
まず、テンプレート照合選択部１２０は、テンプレートデータベース２１０に保存されているテンプレートを順次読み出す（ステップＳ１１）。以下、読み出したテンプレートに基づいて、対象とする既設バイナリデータを読み込み、類似度を算出、決定する。類似度の算出に先立ち、まず、類似度の初期値を０％に設定する（ステップＳ１２）。この結果は、テンプレート照合記憶部１２２に保存される。
【００５２】
次に、テンプレートに記載されたキー情報またはチェック対象となるデータ項目の値が取りうる範囲内に、バイナリデータの値が入っているかを検査し、読み込んだデータとデータ項目に明らかなズレが有るか否かを判定する（ステップＳ１３）。明らかなズレがない場合（ステップＳ１３  ＮＯ）は、Ｘ１％を類似度の値に加算する（ステップＳ１４）。明らかなズレが有る場合（ステップＳ１３  ＹＥＳ）は、類似度への加算はしない。なお、Ｘ１％の値は、ズレの程度に応じて変化させてもよい。たとえば、ズレがある程度以上、たとえば、Ｎ行以上なら０％とし、ズレの程度がこれ以下なら、たとえば、ｎ行なら、Ｘ１・（Ｎ−ｎ）／Ｎパーセントとすることでもよい。これらの結果は、テンプレート照合記憶部１２２に保存される。
【００５３】
次に、データベース全体のサイズを、データベースのレコード数と１レコードのサイズから計算し、レコード数が明確か否かを判定する（ステップＳ１５）。明確な場合（ステップＳ１５  ＹＥＳ）は、類似度にＸ２％を加算する（ステップ  Ｓ１６）。レコード数が明確でない場合（ステップＳ１５  ＮＯ）は、バイナリデータのサイズが整数個のレコード数から構成されることについて矛盾が有るか否かをチェックする（ステップＳ１７）。バイナリデータのサイズが整数個のレコード数から構成されることについて矛盾がない場合（ステップＳ１７  ＮＯ）は、Ｘ３％（＜Ｘ２％）を類似度に加算する（ステップＳ１８）。矛盾がある場合（ステップＳ１７  ＹＥＳ）は、類似度への加算はしない。これらの結果は、テンプレート照合記憶部１２２に保存される。
【００５４】
さらに、浮動小数点データ／アスキー文字／漢字データなど、データ型や文字エンコーディングが、テンプレートで定義されたデータ項目内に指定される形式に、バイナリデータ中の全てのデータが合致する事をチェックする（ステップＳ１９）。合致する場合（ステップＳ１９  ＹＥＳ）は、類似度にＸ４％を加算する（ステップＳ２０）。合致しない場合（ステップＳ１９  ＮＯ）は、類似度への加算はしない。これらの結果は、テンプレート照合記憶部１２２に保存される。
【００５５】
次に、当該テンプレートについて算定した類似度をテンプレート照合記憶部１２２が保存する（ステップＳ２１）。こののち、すべてのテンプレートについて類似度を算定したか否かを判定する（ステップＳ２２）。テンプレートデータベース２１０にまだチェックすべきテンプレートが残っている場合（ステップＳ２２  ＮＯ）は、ステップＳ１１のテンプレートの読み出しステップに戻る。
【００５６】
すべてのテンプレートについて類似度を算定したと判定された場合（ステップＳ２２  ＹＥＳ）は、テンプレート照合選択部１２０は、テンプレート照合記憶部１２２に保存されている対象とする既設バイナリデータと各テンプレートについての類似度から、類似テンプレートを選択する（ステップＳ２３）。
【００５７】
図１３は、テンプレートデータベース２１０に保存されているテンプレート（保存テンプレートＸＸ）の例を示す構成表である。ＢＬＯＣＫとＢＬＯＣＫとの間に４つのＥＬＥＭＥＮＴが存在している。
【００５８】
図１４は、対象とする既設バイナリデータの構成であり、かつ、これに合わせて補正した補正後のテンプレート（補正後テンプレートＹＹ）の例を示す構成表である。
【００５９】
この場合、保存テンプレートの構成は、既設バイナリデータの構成に比べて、ＥＬＥＭＥＮＴが１つ多い点が異なっている。このような例の場合の類似度は、図１２のステップに基づいて以下のように算出される。
【００６０】
まず、ステップＳ１３でズレを判定する。ズレの程度に応じた場合、類似度は、Ｘ１（Ｎ−１）／Ｎパーセントとなる。次にステップＳ１５の判定では、レコード数が明確と判定され、類似度は、Ｘ１（Ｎ−１）／Ｎ＋Ｘ２となる。
【００６１】
次に、ステップＳ１７では、整数個のレコードであると判定され、類似度は、Ｘ１（Ｎ−１）／Ｎ＋Ｘ２＋Ｘ３となる。さらに、ステップＳ１９では、図１３および図１４に示すように、対応する各ＥＬＥＭＥＮＴの型が一致していることから、類似度は、Ｘ１（Ｎ−１）／Ｎ＋Ｘ２＋Ｘ３＋Ｘ４となる。
【００６２】
この値が、すべてのテンプレートの中で最大であれば、テンプレート照合選択部１２０は、このテンプレートが対象とする既設バイナリデータの構成に最も近い類似テンプレートとして選択する。この結果、この類似テンプレートが、テンプレート自動補正部１３０によって、対象とする既設バイナリデータの構成に合わせて補正され対応テンプレートとなる。
【００６３】
具体的には、対象とする既設バイナリデータに対し、構造が一番近い保存テンプレートＸＸを類似テンプレートとして既設バイナリデータとの比較を行う。すなわち、既設バイナリデータの最初のデータから、保存テンプレートＸＸの定義と比較し、不一致の個所は、テンプレートの定義をずらして、１バイト先のデータと比較する。不一致が続く間は、このようにテンプレートの定義と比較するデータを１バイト（データ最小単位）ずつずらしながら当てはめ、合致するまで比較するデータの位置を変更する。合致する場所を発見したら、バイト数分をダミーデータ項目としてテンプレートの該当箇所に挿入する。このようにして、互いに合致する部分を確認していく。
【００６４】
図１５は、テンプレートデータ自動補正部１３０による補正の例を説明するブロック図である。データベースを読み込むデータ項目の最小単位は、ＩＮＴ（数値）／ＣＨＡＲ（文字）／ＦＬＯＡＴ（実数）などのアトミックなデータ型で定義されている。この定義が自動補正用のデータ挿入候補となる。
【００６５】
類似テンプレートよりデータ構造の不足分を自動判定し、類似テンプレートを補正し、対応テンプレートとする。図１５の例では、ダミーを付加する補正を行っている。補正後のテンプレートにて再度自動判定を行い、フィットした場合に、対応テンプレートとしてテンプレートデータベース２１０へ登録する。
【００６６】
補正の方法、たとえば、ダミー付加は、既設バイナリデータに対し、類似テンプレートを用いて、既設バイナリデータの最初のデータから、順次、テンプレートの定義と比較し、不一致の個所は、テンプレートの定義をずらして、１バイト先のデータと比較する。不一致が続く間は、このようにテンプレートの定義と比較するデータを１バイト（データ最小単位）ずつずらしながら当てはめ、合致するまで比較するデータの位置を変更する。合致する場所を発見したら、バイト数分をダミーデータ項目としてテンプレートの該当箇所に挿入する方法により行う。
【００６７】
以上のように、バイナリデータを人手により解析しテンプレートを再作成する必要がなく、この結果作業効率を大幅に向上できる。
【００６８】
図１６は、テンプレートデータ手動補正部１４０による補正の例を説明するブロック図である。テンプレートデータ手動補正部１４０は、テンプレートデータベース２１０に保管されたテンプレートの修正や、まだ定義していないバイナリデータベースのテンプレート作成を可能とする。
【００６９】
まず、テンプレートデータ手動補正部１４０は、テンプレートデータベース２１０に保管されているテンプレートを読み出して、構成データを一覧表形式にし、入出力部３００に出力する。入出力部３００は、この一覧表を、データベースの選択のために表示する。
【００７０】
データベースの選択が行われ、入出力部３００を介して入力されたら、テンプレート照合選択部１２０は、既設バイナリデータを読み込んで、類似テンプレートに相当する選択されたテンプレート候補に当てはめて比較、チェックする。
【００７１】
解析対象である既設バイナリデータのレコードの情報がずれていた場合、テンプレートデータ手動補正部１４０により、テンプレート候補を編集し、フィールドとして挿入するデータ型の候補を表示して選択し、選択したフィールドをテンプレートに挿入した上で、再度解析データを生成する。
【００７２】
以上の手順を繰り返し、解析データを確認しながらテンプレートを修正し正しく解析できるテンプレートを作成する。作成したテンプレートは新しい改訂番号を付した上で、テンプレートデータ手動補正部１４０からテンプレートデータベース２１０に出力され、テンプレートデータベース２１０に登録、保管される。
【００７３】
以上のように、データベース構造を定義している仕様書がない場合でも新規テンプレート作成が可能であり、またバイナリデータ解析スキルが無くても作業できるため、作業者による別のデータベース構造への移行作業を容易にする。
【００７４】
図１７は、ステップＳ０５（図７）のテキスト化のステップを示すブロック図である。バイナリデータテキスト変換部１５０は、ステップＳ０５で作成された対応テンプレートを用いて、既設バイナリデータのテキスト化を行う。既設バイナリデータのテキスト化は、具体的には、対象とする既設バイナリデータに対応する対応テンプレートを用いたテキスト化により行う。
【００７５】
以上のように、本実施形態により、プラントの監視用計算機システムにおける計算機の交換の際に、データベース構造の相違や、既設のバイナリデータの解析スキルの有無に依拠せずに、バイナリデータを正確に移行することが可能となる。
【００７６】
［その他の実施形態］
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。
【００７７】
また、実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７８】
１０…バイナリデータ移行システム、１１０…テンプレート生成部、１１１…構造抽出部、１１２…テンプレート作成部、１２０…テンプレート照合選択部、１２２…テンプレート照合記憶部、１３０…テンプレート自動補正部（テンプレート補正部）、１４０…テンプレートデータ手動補正部（テンプレート補正部）、１５０…バイナリデータテキスト変換部、２１０…テンプレートデータベース、２２０…既設バイナリデータベース、３００…入出力部
【図１】
2017054262.tif 000003
【図２】
2017054262.tif 000004
【図３】
2017054262.tif 000005
【図４】
2017054262.tif 000006
【図５】
2017054262.tif 000007
【図６】
2017054262.tif 000008
【図７】
2017054262.tif 000009
【図８】
2017054262.tif 000010
【図９】
2017054262.tif 000011
【図１０】
2017054262.tif 000012
【図１１】
2017054262.tif 000013
【図１２】
2017054262.tif 000014
【図１３】
2017054262.tif 000015
【図１４】
2017054262.tif 000016
【図１５】
2017054262.tif 000017
【図１６】
2017054262.tif 000018
【図１７】
2017054262.tif 000019