JP4477531B2 - データインポート方法およびデータインポート装置 - Google Patents

データインポート方法およびデータインポート装置 Download PDF

Info

Publication number
JP4477531B2
JP4477531B2 JP2005088517A JP2005088517A JP4477531B2 JP 4477531 B2 JP4477531 B2 JP 4477531B2 JP 2005088517 A JP2005088517 A JP 2005088517A JP 2005088517 A JP2005088517 A JP 2005088517A JP 4477531 B2 JP4477531 B2 JP 4477531B2
Authority
JP
Japan
Prior art keywords
import
data
database
object data
column
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
JP2005088517A
Other languages
English (en)
Other versions
JP2006268661A (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.)
Azbil Corp
Original Assignee
Azbil 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 Azbil Corp filed Critical Azbil Corp
Priority to JP2005088517A priority Critical patent/JP4477531B2/ja
Publication of JP2006268661A publication Critical patent/JP2006268661A/ja
Application granted granted Critical
Publication of JP4477531B2 publication Critical patent/JP4477531B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、例えば、会社間のデータベース、部門間のデータベースなど、データベース間のデータインポート方法およびデータインポート装置に関するものである。
従来より、ビルなどの監視システムでは、各種のデータを収集し、収集したデータを編集し、CSV(comma separate value)形式のファイル(CSVファイル)として、データベースに蓄積している。図6にY社のデータベースDYに格納されたCSVファイルFYの一例を示す。
このY社のCSVファイルFYにおいて、そのファイル中の1データ(以下、オブジェクトデータと呼ぶ)のフォーマット(データ構造)は、n個のフィールド(属性の並び)で表される。このフィールドは、カラムとも呼ばれる。この例では、カラム#1にオブジェクト識別子を、カラム#2にオブジェクト名を、カラム#3にオブジェクトタイプを、カラム#4に単位を、カラム#5に最大値を、カラム#6に最小値を、・・・・、カラム#mに重みを割り当て、この割り当てにしたがって個別具体的なオブジェクトデータを構成する個々のデータをデータベースDYに書き込んでいる。
また、CSVファイルFYに対しては、そのオブジェクトデータのフォーマットを示すデータ構造情報が作成される。このデータ構造情報には、そのオブジェクトデータの各カラムに対応して、そのカラムに割り当てられたデータの属性(プロパティ)の名称を示すフィールド名(プロパティ名)が書き込まれる。この例では、英文字表記のフィールド名が用いられている。すなわち、カラム#1に対してはオブジェクト識別子であることを示す「object_identifire 」、カラム#2に対してはオブジェクト名であることを示す「object_name 」、カラム#3に対してはオブジェクトタイプであることを示す「object_type 」というように、英文字表記でそのカラムに割り当てられたデータの属性の名称を示すフィールド名がデータ構造情報に書き込まれている。
図6はY社の例を示したが、他社でも同様にして、データの収集・編集・蓄積が行われる。図7にA社のデータベースDAに格納されたCSVファイルFAの一例を示す。このA社のCSVファイルFAでは、Y社と同様、カラム#1がオブジェクト識別子、カラム#2がオブジェクト名、カラム#3がオブジェクトタイプ、カラム#4が単位、カラム#5が最大値、カラム#6が最小値、・・・・、カラム#mが重みとされている。また、データ構造情報に書き込まれたフィールド名も、Y社と同様、英文字表記のフィールド名とされている。
図8にB社のデータベースDBに格納されたCSVファイルFBの一例を示す。このB社のCSVファイルFBにおいて、データ構造情報に書き込まれたフィールド名はY社と同じ英文字表記とされているが、カラムに割り当てられたデータの属性の並びが異なり、カラム#1がオブジェクト名、カラム#2がオブジェクト識別子とされている。
図9にC社のデータベースDCに格納されたCSVファイルFCの一例を示す。このC社のCSVファイルFCにおいて、カラムに割り当てられたデータの属性の並びはY社と同じであるが、データ構造情報に書き込まれているフィールド名の表記が異なっている。この例では、プロパティIDと呼ばれる数字表記によるフィールド名が用いられている。
〔データのインポート〕
ところで、異なるデータベース間で互いのデータを比較しなければならない場合がある。例えば、会社間では、自社のデータベースに他社のデータベースのデータをインポートし、自社と他社との間での制御状況を比較するなど、各種のデータ解析を行うことがある。この場合、A社のデータベースDAに格納されているデータをY社のデータベースDYにインポートするということが行われる。
一般に、データのインポートは、次のような手順で行われている。先ず、A社のデータベースDAに格納されているCSVファイルFAをフレキシブルディスクなどの記憶媒体にコピーし、この記憶媒体をY社のコンピュータにセットする。Y社のコンピュータは、記憶媒体に格納されているA社のCSVファイルFAのデータ構造情報(インポート元のオブジェクトデータのデータ構造情報)を読み取り、このデータ構造情報が自社のデータベースDYに格納されているCSVファイルFYのデータ構造情報(インポート先のオブジェクトデータのデータ構造情報)と全て一致している場合に、記憶媒体からA社のCSVファイルFAを読み出して、自社のデータベースDYにインポートする。
すなわち、A社のCSVファイルFAのデータ構造情報に書き込まれているカラム毎のフィールド名を読み取り、カラムの個数が等しく、かつ全てのカラムのフィールド名がその表記(英文字表記、数字表記など)を含めて一致した場合に、A社のCSVファイルFAのインポートを行う。カラムの個数が違っていたり、フィールド名が1カラムでも一致しなければ、不完全な状態でのデータの取り込みを避けるため、インポートは行われない。不完全な状態でデータを取り込むと、インポートしてもそのインポートされたデータはインポート先のデータベースで定義された属性のデータとは違う意味を持つことになり、データ処理する際にエラーが頻発してしまう虞れがあるからである。この例では、A社のCSVファイルFAのデータ構造情報とY社のCSVファイルFYのデータ構造情報とは一致するので、A社のCSVファイルFAはY社のデータベースDYにインポートされる。
〔B社のデータのインポート〕
B社のデータベースDBに格納されているデータをY社のデータベースDYにインポートする場合、B社のCSVファイルFBのデータ構造情報に書き込まれたフィールド名は、Y社と同じ英文字表記とされているものの、各カラムに割り当てられたデータの属性の並びが異なり、カラム#1がオブジェクト名、カラム#2がオブジェクト識別子とされている。従って、Y社のコンピュータは、フィールド名が一致しない(この場合は、データの属性の並びが違う)と判断し、B社のCSVファイルFBのY社のデータベースDYへのインポートは行わない。
〔C社のデータのインポート〕
また、C社のデータベースDCに格納されているデータをY社のデータベースDYにインポートする場合、C社のCSVファイルFCのデータ構造情報によれば、カラムに割り当てられたデータの属性の並びはY社と同じであるが、データ構造情報に書き込まれているフィールド名の表記が異なる。従って、Y社のコンピュータは、カラムのフィールド名が一致しない(この場合は、フィールド名の表記が違う)と判断し、C社のCSVファイルFCのY社のデータベースDYへのインポートは行わない。
このように、通常は、自社のデータベースに格納されているCSVファイルのデータ構造情報のフィールド名と他社のデータベースに格納されているCSVファイルのデータ構造情報のフィールド名とが完全に一致しないと、データのインポートは行われない。
なお、上述した従来技術は、出願人が出願時点で知る限りにおいて文献公知ではない。また、出願人は出願時までに本発明に関連する先行技術文献を発見することはできなかった。よって、先行技術文献情報を開示していない。
そこで、従来は、データをインポートする際、インポート先のオブジェクトデータのカラムの個数とインポート元のオブジェクトデータのカラムの個数とが同じとなり、かつ双方のデータ構造情報が全て一致するように、インポート先、インポート元それぞれについて検証したうえで、データをインポートするということが行われている。
すなわち、B社のデータをインポートする場合には、人為的に、CSVファイルFBにおけるカラム#1のデータとカラム#2のデータを入れ替え、またC社のデータをインポートする場合には、人為的に、CSVファイルFCのデータ構造情報のフィールド名を英文字表記のフィールド名に書き替えることが必要となる。この作業はオペレータにとって、かなりの負担となり、ミスも生じやすい。
なお、上述した作業を人為的ではなく、自動的に行わせることも可能である。しかし、自動的に行わせるためには、B社用の自動変換ツール、C社用の自動変換ツールというように、データベース毎に自動変換ツールを作成し準備しておく必要があり、この自動変換ツールの作成や管理に多大な手間と費用がかかる。また、このような自動変換ツールは、データベース間におけるフィールド名の対応が分かっていることを前提としていることから、カラムに割り当てられるデータの属性の並びやフィールド名の表記が途中で変更されたり、カタカナ文字表記、ひらがな文字表記、ハングル文字表記など、それまでに用いられていなかった新種のフィールド名が用いられた場合、即座に対応することができない。
本発明は、このような課題を解決するためになされたもので、その目的とするところは、1つの自動変換ツールでフレキシブルに多種類のオブジェクトデータのインポートを行うことができ、かつ、フィールドに割り当てられるデータの属性の並びやフィールド名の表記が途中で変更されたり、新種のフィールド名が用いられた場合でも、即座に対応することが可能なデータインポート方法およびデータインポート装置を提供することにある。
このような目的を達成するために本発明は、メモリに格納されているプログラムに従うコンピュータの処理動作によってインポート元のデータベースのオブジェクトデータをインポート先のデータベースにインポートするデータインポート方法において、コンピュータに、インポート先のデータベースのオブジェクトデータの各フィールドに対応して、各フィールド毎に同じデータ属性を有するフィールドを表す表記が異なる複数種類のフィールド名をリンクキーとして定義したマルチリンクキーテーブルを記憶する第1ステップと、インポート元のデータベースのオブジェクトデータの各フィールド名を読み取り、読み取ったフィールド名がマルチリンクキーテーブルにリンクキーとして存在するか否かを確認する第2ステップと、読み取ったフィールド名がマルチリンクキーテーブルにリンクキーとして存在する場合に、そのリンクキーに対応するインポート元のデータベースのオブジェクトデータのフィールドと、そのリンクキーによって対応づけられるインポート先のデータベースのオブジェクトデータのフィールドとを対応づける第3ステップと、インポート元のデータベースのオブジェクトデータとインポート先のデータベースのオブジェクトデータとのフィールド間の対応に基づいてインポート元のデータベースのオブジェクトデータをインポート先のデータベースにインポートする第4ステップとを実行させるようにしたものである。
この発明では、事前に、インポート先のデータベースのオブジェクトデータの各フィールドに対応して、各フィールド毎に同じデータ属性を有するフィールドを表す表記が異なる複数種類のフィールド名をリンクキーとして定義したマルチリンクキーテーブルを作成しておく。例えば、インポート先のデータベースのオブジェクトデータのカラム#1に対応してオブジェクト識別子を示す英文字表記のフィールド名「object_identifire 」と数字表記のフィールド名「75」(プロパティID)を、インポート先のデータベースのオブジェクトデータのカラム#2に対応してオブジェクト名を示す英文字表記のフィールド名「object_name 」と数字表記のフィールド名「77」(プロパティID)をリンクキーとして書き込んだマルチリンクキーテーブルを作成しておく。
そして、インポート元のデータベースのオブジェクトデータの各フィールド名を読み取り、この読み取ったフィールド名がマルチリンクキーテーブルにリンクキーとして存在するか否かを確認する。読み取ったフィールド名がマルチリンクキーテーブルにリンクキーとして存在すれば、そのリンクキーに対応するインポート元のデータベースのオブジェクトデータのフィールドと、そのリンクキーによって対応づけられるインポート先のデータベースのオブジェクトデータのフィールドとを対応づける。例えば、読み取ったフィールド名が「object_name 」であり、マルチリンクキーテーブルに「object_name 」というリンクキーがあれば、インポート元のデータベースのオブジェクトデータのフィールド名が「object_name 」とされているフィールドと、「object_name 」をリンクキーとして対応づけられるインポート先のデータベースのオブジェクトデータのフィールド(カラム#1)とを対応づける。
本発明では、このインポート元のデータベースのオブジェクトデータとインポート先のデータベースのオブジェクトデータとのフィールド間の対応づけに基づいて、インポート元のデータベースのオブジェクトデータをインポート先のデータベースにインポートする。
本発明において、マルチリンクキーテーブルにリンクキーとして定義されたフィールド名は、追加、変更、削除などの編集を行うことができる。例えば、新種のフィールド名としてカタカナ文字表記のフィールド名が用いられるような場合、マルチリンクテーブルにカタカナ文字表記のフィールド名を追加する。
また、本発明において、インポート元のデータベースのオブジェクトデータのフィールドの個数とインポート先のデータベースのオブジェクトデータのフィールドの個数とは等しくなくてもよい。すなわち、インポート元のデータベースのオブジェクトデータのフィールドの個数がインポート先のデータベースのオブジェクトデータのフィールドの個数よりも多くてもよく、インポート元のデータベースのオブジェクトデータのフィールドの個数がインポート先のデータベースのオブジェクトデータのフィールドの個数よりも少なくてもよい。
本発明では、マルチリンクキーテーブルを介してインポート元のデータベースのオブジェクトデータのカラムとインポート先のデータベースのオブジェクトデータのカラムとを対応づけるので、インポートされたオブジェクトデータのカラムのデータはインポート先のオブジェクトデータのカラムのデータと同じ意味を持つことになり、インポート元のオブジェクトデータの一部のカラムのデータが切り捨てられた不完全な状態であっても、インポート先のオブジェクトデータの全てのカラムに対応するデータがインポートされない不完全な状態であっても、インポート先でのデータ処理は可能である。
なお、本発明は、上述したデータインポート方法を適用したデータインポート装置としても構成することができる。また、このデータインポート方法による処理を実現させるための制御プログラムとして提供することも可能であり、この制御プログラムを記憶させたフレキシブルディスク、CD−ROM、メモリカードなどの記録媒体としても提供可能である。
本発明によれば、インポート先のデータベースのオブジェクトデータの各フィールドに対応して、各フィールド毎に同じデータ属性を有するフィールドを表す表記が異なる複数種類のフィールド名をリンクキーとして定義したマルチリンクキーテーブルを利用し、インポート先のデータベースのオブジェクトデータのフィールドとインポート元のデータベースのオブジェクトデータのフィールドとを対応づけ、この対応づけに従ってインポート元のデータベースのオブジェクトデータをインポート先のデータベースにインポートするようにしたので、1つの自動変換ツールでフレキシブルに多種類のオブジェクトデータのインポートを行うことができ、かつ、フィールドに割り当てられるデータの属性の並びやフィールド名の表記が途中で変更されたり、新種のフィールド名が用いられた場合でも、即座に対応することが可能となる。
以下、本発明を図面に基づいて詳細に説明する。図1は本発明に係るデータインポート方法の実施に用いるY社のビル監視システムにおける中央監視装置の一例を示すブロック構成図である。
同図において、1−1はCPU、1−2はRAM、1−3はROM、1−4はハードディスクなどの記憶装置、1−5〜1−7はインターフェイス、1−8はディスプレイ、1−9はキーボード、1−10はマウスである。
CPU1−1は、インターフェイス1−5〜1−7を介して与えられる各種入力情報を得て、RAM1−2にアクセスしながら、ROM1−3や記憶装置1−4に格納されたプログラムに従って動作する。
記憶装置1−4には、本実施の形態特有のプログラムとして、データインポートプログラムが格納されている。このデータインポートプログラムは、例えばCD−ROMなどの記録媒体に記録された状態で提供され、この記録媒体から読み出されて記憶装置1−4にインストールされている。また、記憶装置1−4中にデータベースDYが構築され、このデータベースDY中にY社のCSVファイルFYが作成される。このCSVファイルFYにはY社のオブジェクトデータが書き込まれて行く。また、記憶装置1−4中には、本実施の形態特有のテーブルとしてマルチリンクキーテーブルMLTが事前に作成され、格納されている。
図2(a)に記憶装置1−4中に格納されたマルチリンクキーテーブルMLTを例示する。このマルチリンクキーテーブルMLTには、Y社のCSVファイルFYにおけるオブジェクトデータの各カラム(Y社のデータベースDYの各フィールド)に対し、同じ属性を有するカラムを表す複数のフィールド名(リンクキー)が書き込まれている。この例では、英文字表記のリンクキーと、数字表記のリンクキー(プロパティID)の2種類のリンクキーが書き込まれている。
例えば、データの属性としてオブジェクト識別子が割り当てられたカラム#1に対応して、英文字表記のリンクキー「object_identifire 」と、数字表記のリンクキー「75」(プロパティID)が書き込まれ、データの属性としてオブジェクト名が割り当てられたカラム#2に対応して、英文字表記のリンクキー「object_name 」と、数字表記のリンクキー「77」(プロパティID)が書き込まれている。
以下、図3に示すフローチャートを用いて、記憶装置1−4に格納されているデータインポートプログラムに従うCPU1−1の処理動作について説明する。ここでは、具体例として、B社のデータベースDB(図8)に格納されているデータをY社のデータベースDYにインポートする場合と、C社のデータベースDC(図9)に格納されているデータをY社のデータベースDYにインポートする場合について説明する。
なお、B社のデータをインポートする場合には、B社のデータベースDBに格納されているCSVファイルFBをフレキシブルディスクなどの記憶媒体にコピーし、この記憶媒体をY社の中央監視装置1にセットする。同様に、C社のデータをインポートする場合には、C社のデータベースDCに格納されているCSVファイルFCをフレキシブルディスクなどの記憶媒体にコピーし、この記憶媒体をY社の中央監視装置1にセットする。また、この実施の形態において、Y社のCSVファイルFYにおけるオブジェクトデータのカラムの個数と、B社,C社のCSVファイルFB、FCにおけるオブジェクトデータのカラムの個数とは、等しいものとする。
〔B社のデータのインポート〕
CPU1−1は、セットされた記憶媒体に格納されているB社のCSVファイルFBのデータ構造情報を読み込む(ステップ301)。そして、n=1とし(ステップ302)、読み込んだB社のCSVファイルFBのデータ構造情報に書き込まれているn番目のカラム、すなわちカラム#1のフィールド名をキーとして読み取る(ステップ303)。この場合、B社のCSVファイルFBのデータ構造情報にはカラム#1のフィールド名として「object_name 」が書き込まれており、すなわちオブジェクト名を示す英文字表記のフィールド名が書き込まれており、この「object_name 」がカラム#1のキーとして読み取られる(図4(a)参照)。
そして、CPU1−1は、読み取ったキーと一致するリンクキーがマルチリンクキーテーブルMLTに存在するか否かを確認し(ステップ304)、一致するリンクキーがマルチリンクキーテーブルMLTにあれば(ステップ304のYES)、その一致するリンクキーに対応するインポート先のオブジェクトデータのカラムを該当するカラムとし、この該当するカラムとキーの読み取りを行ったインポート元のオブジェクトデータのカラムを対応づける(ステップ305)。すなわち、インポート元のオブジェクトデータのカラムとインポート先のオブジェクトデータのカラムとの間にリンクをはる。ここで、リンクをはるとは、2つのカラム同士の対応関係をメモリ上に記憶することを言う。
この場合、マルチリンクキーテーブルMLTには、カラム#2に対応して「object_name 」がリンクキーとして書き込まれており(図4(b)参照)、B社のCSVファイルFBのデータ構造情報から読み取ったカラム#1のキー「object_name 」はマルチリンクキーテーブルMLTに存在する。したがって、CPU1−1は、「object_name 」に対応するインポート先のオブジェクトデータのカラム#2を該当するカラムとし、この該当するカラム#2とキーの読み取りを行ったインポート元のオブジェクトデータのカラム#1との間にリンクをはる(図4(a),(b),(e)参照:矢印(1),(2))。
そして、インポート先のオブジェクトデータのカラムの個数をNとして読み取り、nがNに達していないことを確認のうえ(ステップ306のNO)、n=n+1=2とし(ステップ307)、ステップ303へ戻る。これにより、CPU1−1は、B社のCSVファイルFBのデータ構造情報に書き込まれているn=2番目のカラム、すなわちカラム#2のフィールド名を次のキーとして読み取る(ステップ303)。この場合、B社のCSVファイルFBのデータ構造情報にはカラム#2のフィールド名として「object_identifire 」が書き込まれており、すなわちオブジェクト識別子を示す英文字表記のフィールド名が書き込まれており、この「object_identifire 」がカラム#2のキーとして読み取られる(図4(a)参照)。
そして、CPU1−1は、読み取ったキーと一致するリンクキーがマルチリンクキーテーブルMLTに存在するか否かを確認し(ステップ304)、一致するリンクキーがマルチリンクキーテーブルMLTにあれば(ステップ304のYES)、その一致するリンクキーに対応するインポート先のオブジェクトデータのカラムを該当するカラムとし、この該当するカラムとキーの読み取りを行ったインポート元のオブジェクトデータのカラムとの間にリンクをはる(ステップ305)。
この場合、マルチリンクキーテーブルMLTには、カラム#1に対応して「object_identifire 」がリンクキーとして書き込まれており(図4(b)参照)、B社のCSVファイルFBのデータ構造情報から読み取ったカラム#2のキー「object_identifire 」はマルチリンクキーテーブルMLTに存在する。したがって、CPU1−1は、「object_identifire 」に対応するインポート先のオブジェクトデータのカラム#1を該当するカラムとし、この該当するカラム#1とキーの読み取りを行ったインポート元のオブジェクトデータのカラム#2との間にリンクをはる(図4(a),(b),(e)参照:矢印(3),(4))。
以下、同様動作を繰り返し、n=Nとなれば(ステップ306のYES)、すなわちB社のCSVファイルFBのデータ構造情報に書き込まれているN番目のカラムまでキーの読み取りを終了し、インポート先のオブジェクトデータのカラムとインポート元のオブジェクトデータのカラムとの間のリンクづけが完了すれば、このリンクに従ってインポート用のB社のCSVファイルを作成する(ステップ308)。この例では、インポート元のオブジェクトデータのカラム#1と#2のデータを入れ替え、カラム#1のデータの属性を「object_identifire 」とし、カラム#2のデータの属性を「object_name 」とし、インポート先のオブジェクトデータとそのデータの属性の並びを一致させたCSVファイルFB’(図4(e))を作成する。
そして、この作成したCSVファイルFB’について、必須情報が入っているか否かを確認する(ステップ309)。この例では、必須情報として、オブジェクト識別子、オブジェクト名、オブジェクトタイプのデータが入っているか否かを確認する。必須情報が入っていれば(ステップ309のYES)、ステップ303でキーの読み取りを行った全てのカラムについてリンクキーがあったことを確認のうえ(ステップ312のYES)、ステップ308で作成したインポート用のB社のCSVファイルFB’をY社のデータベースDYに格納する(ステップ313)。
この例において、Y社のCSVファイルFYのオブジェクトデータのカラムの個数とB社のCSVファイルFBのオブジェクトデータのカラムの個数とは等しく、またカラムに割り当てられたデータの属性はカラム#1とカラム#2とが入れ替わっているのみであるので、ステップ309,312のYESに応じて直ちにステップ313へ進み、B社のCSVファイルFB’がY社のデータベースDYに格納されるものとなる。
〔C社のデータのインポート〕
CPU1−1は、セットされた記憶媒体に格納されているC社のCSVファイルFCのデータ構造情報を読み込む(ステップ301)。そして、n=1とし(ステップ302)、読み込んだC社のCSVファイルFCのデータ構造情報に書き込まれているn番目のカラム、すなわちカラム#1のフィールド名をキーとして読み取る(ステップ303)。この場合、C社のCSVファイルFCのデータ構造情報にはカラム#1のフィールド名として「75」が書き込まれており、すなわちオブジェクト識別子を示す数字表記のフィールド名(プロパティID)が書き込まれており、この「75」がカラム#1のキーとして読み取られる(図4(c)参照)。
そして、CPU1−1は、読み取ったキーと一致するリンクキーがマルチリンクキーテーブルMLTに存在するか否かを確認し(ステップ304)、一致するリンクキーがマルチリンクキーテーブルMLTにあれば(ステップ304のYES)、その一致するリンクキーに対応するインポート先のオブジェクトデータのカラムを該当するカラムとし、この該当するカラムとキーの読み取りを行ったインポート元のオブジェクトデータのカラムとの間にリンクをはる(ステップ305)。
この場合、マルチリンクキーテーブルMLTには、カラム#1に対応して「75」がリンクキーとして書き込まれており(図4(b)参照)、C社のCSVファイルFCのデータ構造情報から読み取ったカラム#1のキー「75」はマルチリンクキーテーブルMLTに存在する。したがって、CPU1−1は、「75」に対応するインポート先のオブジェクトデータのカラム#1を該当するカラムとし、この該当するカラム#1とキーの読み取りを行ったインポート元のオブジェクトデータのカラム#1との間にリンクをはる(図4(c),(b),(f)参照:矢印(5),(6))。
そして、インポート先のオブジェクトデータのカラムの個数をNとして読み取り、nがNに達していないことを確認のうえ(ステップ306のNO)、n=n+1=2とし(ステップ307)、ステップ303へ戻る。これにより、CPU1−1は、C社のCSVファイルFCのデータ構造情報に書き込まれているn=2番目のカラム、すなわちカラム#2のフィールド名を次のキーとして読み取る(ステップ303)。この場合、C社のCSVファイルFCのデータ構造情報にはカラム#2のフィールド名として「77」が書き込まれており、すなわちオブジェクト名を示す数字表記のフィールド名(プロパティID)が書き込まれており、この「77」がカラム#2のキーとして読み取られる(図4(c)参照)。
そして、CPU1−1は、読み取ったキーと一致するリンクキーがマルチリンクキーテーブルMLTに存在するか否かを確認し(ステップ304)、一致するリンクキーがマルチリンクキーテーブルMLTにあれば(ステップ304のYES)、その一致するリンクキーに対応するインポート先のオブジェクトデータのカラムを該当するカラムとし、この該当するカラムとキーの読み取りを行ったインポート元のオブジェクトデータのカラムとの間にリンクをはる(ステップ305)。
この場合、マルチリンクキーテーブルMLTには、カラム#2に対応して「77」がリンクキーとして書き込まれており(図4(b)参照)、C社のCSVファイルFCデータ構造情報から読み取ったカラム#2のキー「77」はマルチリンクキーテーブルMLTに存在する。したがって、CPU1−1は、「77」に対応するインポート先のオブジェクトデータのカラム#2を該当するカラムとし、この該当するカラム#2とキーの読み取りを行ったインポート元のオブジェクトデータのカラム#2との間にリンクをはる(図4(c),(b),(f)参照:矢印(7),(8))。
以下、同様動作を繰り返し、n=Nとなれば(ステップ306のYES)、すなわちC社のCSVファイルFCのデータ構造情報に書き込まれているN番目のカラムまでキーの読み取りを終了し、インポート先のオブジェクトデータのカラムとインポート元のオブジェクトデータのカラムとの間のリンクづけが完了すれば、このリンクに従ってインポート用のC社のCSVファイルを作成する(ステップ308)。この例では、カラム#1のデータの属性を「object_identifire 」とみなし、カラム#2のデータの属性を「object_name 」とみなし、B社の時のようなインポート元のオブジェクトデータのカラム#1と#2のデータの入れ替えは行わず、そのままの並びのCSVファイルFC’(図4(f))を作成する。
そして、この作成したCSVファイルFC’について、必須情報(オブジェクト識別子、オブジェクト名、オブジェクトタイプ)が入っているか否かを確認する(ステップ309)。必須情報が入っていれば(ステップ309のYES)、ステップ303でキーの読み取りを行った全てのカラムについてリンクキーがあったことを確認のうえ(ステップ312のYES)、ステップ308で作成したインポート用のC社のCSVファイルFC’をY社のデータベースDYに格納する(ステップ313)。
この例において、Y社のCSVファイルFYのオブジェクトデータのカラムの個数とC社のCSVファイルFCのオブジェクトデータのカラムの個数とは等しく、またカラムに割り当てられたデータの属性は全て同じであるので、ステップ309,312のYESに応じて直ちにステップ313へ進み、C社のCSVファイルFC’がY社のデータベースDYに格納されるものとなる。
〔データの属性の並びの変更〕
途中で、B社のCSVファイルFBについて、そのオブジェクトデータのカラムに割り当てるデータの属性の並びが変更されたとする。例えば、カラム#1のデータの属性がオブジェクト識別子とされ、カラム#2のデータの属性がオブジェクト名とされたとする。この場合、B社のCSVファイルFBのデータ構造情報は、カラム#1が「object_identifire 」となり、カラム#2が「object_name 」となり、マルチリンクテーブルMLTによって、インポート先のオブジェクトデータのカラム#1とインポート元のオブジェクトデータのカラム#1との間にリンクがはられ、インポート先のオブジェクトデータのカラム#2とインポート元のオブジェクトデータのカラム#2との間にリンクがはられる。これにより、カラムに割り当てるデータの属性の並びが変更される前と同様にして、インポート先のオブジェクトデータとそのデータの属性の並びが一致するCSVファイルFB’が作成され、Y社のデータベースDYにインポートされるものとなる。
〔フィールド名の表記の変更〕
途中で、B社のCSVファイルFBについて、そのデータ構造情報に書き込まれるフィールド名の表記が変更されたとする。例えば、英文字表記のフィールド名から数字表記のフィールド名(プロパティID)に変更されたとする。この場合、B社のCSVファイルFBのデータ構造情報は、カラム#1が「77」となり、カラム#2が「75」となり、マルチリンクテーブルMLTによって、インポート先のオブジェクトデータのカラム#1とインポート元のオブジェクトデータのカラム#2との間にリンクがはられ、インポート先のオブジェクトデータのカラム#2とインポート元のオブジェクトデータのカラム#1との間にリンクがはられる。これにより、データ構造情報に書き込まれるフィールド名の表記が変更される前と同様にして、インポート先のオブジェクトデータとそのデータの属性の並びが一致するCSVファイルFB’が作成され、Y社のデータベースDYにインポートされるものとなる。
〔新種のフィールド名〕
図5にD社のデータベースDDに格納されたCSVファイルFDの一例を示す。このD社のCSVファイルFDにおいて、カラムに割り当てられたデータの属性の並びはY社と同じであるが、データ構造情報に書き込まれているフィールド名の表記が異なり、カタカナ文字表記のフィールド名とされている。このカタカナ文字表記のフィールド名は、図2(a)に示したマルチリンクキーテーブルMLTには登録されていない新種のフィールド名である。この場合、マルチリンクキーテーブルMLTに書き込まれているリンクキーに対し、図2(b)に示すように、カタカナ文字表記のリンクキーを追加する。
これにより、数字表記のフィールド名(プロパティID)であった場合と同様にして、インポート元のオブジェクトデータのカラムとインポート先のオブジェクトデータのカラムとの間にリンクがはられ、このリンクに従ってD社のCSVファイルFDのインポートが行われるものとなる。この場合、マルチリンクキーテーブルMLTにカタカナ文字表記のリンクキーを追加するのみでよいので、素早い対応が可能となる。
〔インポート元のオブジェクトデータのカラムの個数がインポート先のオブジェクトデータのカラムの個数よりも多い場合〕
上述した実施の形態では、インポート元のオブジェクトデータのカラムの個数とインポート先のオブジェクトデータのカラムの個数とが等しいことを前提としたが、インポート元のオブジェクトデータのカラムの個数はインポート先のオブジェクトデータのカラムの個数よりも多くてもよい。この場合も、上述と同様にして、マルチリンクキーテーブルMLTを利用して、インポート元のオブジェクトデータのカラムとインポート先のオブジェクトデータのカラムとの間にリンクがはられる。
但し、この場合、インポート元のオブジェクトデータのカラムの個数がインポート先のオブジェクトデータのカラムの個数よりも多いので、インポート元のCSVファイルのデータ構造情報のキーの読み取り数がn=Nとなった時点で(ステップ306のYES)、データ構造情報からのキーの読み取りが終了し、インポート用のCSVファイルの作成が行われる(ステップ308)。この場合、インポート元のオブジェクトデータのNを超えるカラムに対してはインポート先のオブジェクトデータのカラムとの間にリンクがはられず、破棄されるものとなる。すなわち、リンクがはられないカラムのデータを破棄して、インポート用のCSVファイルが作成される。
そして、この作成されたCSVファイルのオブジェクトデータに必須情報(オブジェクト識別子、オブジェクト名、オブジェクトタイプ)があり(ステップ309のYES)、かつステップ303でキーの読み取りを行った全てのカラムについてリンクキーがあった場合に(ステップ312のYES)、そのインポート用のCSVファイルがY社のデータベースDYに格納される(ステップ313)。この場合、インポートされたカラムのデータはインポート先のカラムのデータと同じ意味を持つので、インポート元の一部のカラムのデータが切り捨てられた不完全な状態であっても、インポート先でのデータ処理は可能である。
なお、作成されたCSVファイルのオブジェクトデータに必須情報がなかった場合(ステップ309のYES)、CPU1−1は、エラー情報の表示を行い(ステップ310)、インポート用のCSVファイルの修正やマルチリンクキーテーブルMLTの編集(変更、追加、削除)をオペレータに促す(ステップ311)。また、ステップ303でキーの読み取りを行ったカラムについて1つでもリンクキーがなかった場合(ステップ312のNO)、インポート用のCSVファイルの修正やマルチリンクキーテーブルMLTの編集(変更、追加、削除)をオペレータに促す(ステップ311)。
〔インポート元のオブジェクトデータのカラムの個数がインポート先のオブジェクトデータのカラムの個数よりも少ない場合〕
インポート元のオブジェクトデータのカラムの個数はインポート先のオブジェクトデータのカラムの個数よりも少なくてもよい。この場合も、上述と同様にして、マルチリンクキーテーブルMLTを利用して、インポート元のオブジェクトデータのカラムとインポート先のオブジェクトデータのカラムとの間にリンクがはられる。
但し、この場合、インポート元のオブジェクトデータのカラムの個数がインポート先のオブジェクトデータのカラムの個数よりも少ないので、n=Nとなる前に、インポート元のCSVファイルのデータ構造情報から読み取るべきキーがなくなる。読み取るべきキーがなくなると、n=Nとなるまでカウント動作が続けられ、n=Nとなった時点で(ステップ306のYES)、インポート用のCSVファイルの作成が行われる(ステップ308)。
そして、この作成されたCSVファイルのオブジェクトデータに必須情報(オブジェクト識別子、オブジェクト名、オブジェクトタイプ)があり(ステップ309のYES)、かつステップ303でキーの読み取りを行った全てのカラムについてリンクキーがあった場合に(ステップ312のYES)、そのインポート用のCSVファイルがY社のデータベースDYに格納される(ステップ313)。この場合、インポートされたカラムのデータはインポート先のカラムのデータと同じ意味を持つので、インポート先の全てのカラムに対応するデータがインポートされない不完全な状態であっても、インポート先でのデータ処理は可能である。
なお、作成されたCSVファイルのオブジェクトデータに必須情報がなかった場合(ステップ309のYES)、CPU1−1は、エラー情報の表示を行い(ステップ310)、インポート用のCSVファイルの修正やマルチリンクキーテーブルMLTの編集(変更、追加、削除)をオペレータに促す(ステップ311)。また、ステップ303でキーの読み取りを行ったカラムについて1つでもリンクキーがなかった場合(ステップ312のNO)、インポート用のCSVファイルの修正やマルチリンクキーテーブルMLTの編集(変更、追加、削除)をオペレータに促す(ステップ311)。
以上のようにして、本実施の形態では、1つの自動変換ツールでフレキシブルに多種類のオブジェクトデータのインポートを行うことができる。また、カラムに割り当てられるデータの属性の並びやフィールド名の表記が途中で変更されたり、新種のフィールド名が用いられた場合でも、動的にマルチリンクキーテーブルMTLを変化させて、すなわちマルチリンクキーテーブルMTL中のリンクキーを編集(追加、変更、削除)して、即座に対応することが可能となる。したがって、会社毎に自動変換ツールを作成し準備しておく必要がなく、自動変換ツールの作成や管理に多大な手間と費用がかかることもない。また、インポート元のオブジェクトデータのカラムの個数が等しい場合に限らず、多い場合や少ない場合でもデータのインポートを行うことが可能であり、データの並び、個数などデータフォーマットに依存せず、効率よくデータをインポートすることができるようになる。
なお、上述した実施の形態では、Y社のデータベースDYへデータをインポートする例で説明したが、A社、B社、C社、D社においても同様にして他社のデータをインポートすることが可能である。また、会社間ではなく、部門間などでも同様にして、データのインポートを行うことが可能である。
また、上述した実施の形態では、CSVファイルをフレキシブルディスクなどの記憶媒体にコピーし、この記憶媒体をY社の中央監視装置1にセットするようにしたが、通信回線を介してダウンロードするようにしてもよい。
また、上述した実施の形態では、新種のフィールド名をカタカナ文字表記のフィールド名としたが、ひらがな文字表記、ハングル文字表記など、多種多様の表記のフィールド名が考えられる。
本発明に係るデータインポート方法の実施に用いるY社のビル監視システムにおける中央監視装置の一例を示すブロック構成図である。 この中央監視装置の記憶装置中に事前に作成され格納されたマルチリンクキーテーブルを例示する図である。 この中央監視装置のCPUが行うデータインポートプログラムに従う処理動作を示すフローチャートである。 マルチリンクキーテーブルを利用したY社のデータベースへのB社のデータのインポート過程およびC社のデータのインポート過程を説明する図である。 D社のデータベースに格納されたCSVファイルの一例を示す図である。 Y社のデータベースに格納されたCSVファイルの一例を示す図である。 A社のデータベースに格納されたCSVファイルの一例を示す図である。 B社のデータベースに格納されたCSVファイルの一例を示す図である。 C社のデータベースに格納されたCSVファイルの一例を示す図である。
符号の説明
1…中央監視装置、1−1…CPU、1−2…RAM、1−3…ROM、1−4…記憶装置、1−5〜1−7…インターフェイス、1−8…ディスプレイ、1−9…キーボード、1−10…マウス、MLT…マルチリンクキーテーブル、FY,FA,FB,FC…CSVファイル、DY,DA,DB,DC,DD…データベース、FB’,FC’…インポート用のCSVファイル。

Claims (8)

  1. メモリに格納されているプログラムに従うコンピュータの処理動作によってインポート元のデータベースのオブジェクトデータをインポート先のデータベースにインポートするデータインポート方法において、
    前記コンピュータは、
    前記インポート先のデータベースのオブジェクトデータの各フィールドに対応して、各フィールド毎に同じデータ属性を有するフィールドを表す表記が異なる複数種類のフィールド名をリンクキーとして定義したマルチリンクキーテーブルを記憶する第1ステップと、
    前記インポート元のデータベースのオブジェクトデータの各フィールド名を読み取り、読み取ったフィールド名が前記マルチリンクキーテーブルにリンクキーとして存在するか否かを確認する第2ステップと、
    前記読み取ったフィールド名が前記マルチリンクキーテーブルにリンクキーとして存在する場合に、そのリンクキーに対応する前記インポート元のデータベースのオブジェクトデータのフィールドと、そのリンクキーによって対応づけられる前記インポート先のデータベースのオブジェクトデータのフィールドとを対応づける第3ステップと、
    前記インポート元のデータベースのオブジェクトデータと前記インポート先のデータベースのオブジェクトデータとのフィールド間の対応に基づいて前記インポート元のデータベースのオブジェクトデータを前記インポート先のデータベースにインポートする第4ステップと
    を実行することを特徴とするデータインポート方法。
  2. 請求項1に記載されたデータインポート方法において、
    前記コンピュータは、
    前記マルチリンクキーテーブルにリンクキーとして定義されたフィールド名に対して編集を行う第5ステップ
    を実行することを特徴とするデータインポート方法。
  3. 請求項1に記載されたデータインポート方法において、
    前記コンピュータは、
    前記第4ステップにおいて
    前記インポート元のデータベースのオブジェクトデータのフィールドの個数が前記インポート先のデータベースのオブジェクトデータのフィールドの個数よりも多い場合でも、前記インポート元のデータベースのオブジェクトデータのインポートを実行する
    ことを特徴とするデータインポート方法。
  4. 請求項1に記載されたデータインポート方法において、
    前記コンピュータは、
    前記第4ステップにおいて、
    前記インポート元のデータベースのオブジェクトデータのフィールドの個数が前記インポート先のデータベースのオブジェクトデータのフィールドの個数よりも少ない場合でも、前記インポート元のデータベースのオブジェクトデータのインポートを実行する
    ことを特徴とするデータインポート方法。
  5. インポート先のデータベースのオブジェクトデータの各フィールドに対応して、各フィールド毎に同じデータ属性を有するフィールドを表す表記が異なる複数種類のフィールド名をリンクキーとして定義したマルチリンクキーテーブルと、
    インポート元のデータベースのオブジェクトデータの各フィールド名を読み取り、読み取ったフィールド名が前記マルチリンクキーテーブルにリンクキーとして存在するか否かを確認する手段と、
    前記読み取ったフィールド名が前記マルチリンクキーテーブルにリンクキーとして存在する場合に、そのリンクキーに対応する前記インポート元のデータベースのオブジェクトデータのフィールドと、そのリンクキーによって対応づけられる前記インポート先のデータベースのオブジェクトデータのフィールドとを対応づける手段と、
    前記インポート元のデータベースのオブジェクトデータと前記インポート先のデータベースのオブジェクトデータとのフィールド間の対応に基づいて前記インポート元のデータベースのオブジェクトデータを前記インポート先のデータベースにインポートする手段と
    を備えることを特徴とするデータインポート装置。
  6. 請求項5に記載されたデータインポート装置において、
    前記マルチリンクキーテーブルにリンクキーとして定義されたフィールド名に対して編集を行う手段
    を備えることを特徴とするデータインポート装置。
  7. 請求項5に記載されたデータインポート装置において、
    前記インポート手段は、前記インポート元のデータベースのオブジェクトデータのフィールドの個数が前記インポート先のデータベースのオブジェクトデータのフィールドの個数よりも多い場合でも、前記インポート元のデータベースのオブジェクトデータのインポートを実行する
    ことを特徴とするデータインポート装置。
  8. 請求項5に記載されたデータインポート装置において、
    前記インポート手段は、前記インポート元のデータベースのオブジェクトデータのフィールドの個数が前記インポート先のデータベースのオブジェクトデータのフィールドの個数よりも少ない場合でも、前記インポート元のデータベースのオブジェクトデータのインポートを実行する
    ことを特徴とするデータインポート装置。
JP2005088517A 2005-03-25 2005-03-25 データインポート方法およびデータインポート装置 Active JP4477531B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005088517A JP4477531B2 (ja) 2005-03-25 2005-03-25 データインポート方法およびデータインポート装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005088517A JP4477531B2 (ja) 2005-03-25 2005-03-25 データインポート方法およびデータインポート装置

Publications (2)

Publication Number Publication Date
JP2006268661A JP2006268661A (ja) 2006-10-05
JP4477531B2 true JP4477531B2 (ja) 2010-06-09

Family

ID=37204530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005088517A Active JP4477531B2 (ja) 2005-03-25 2005-03-25 データインポート方法およびデータインポート装置

Country Status (1)

Country Link
JP (1) JP4477531B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6283190B2 (ja) * 2013-10-09 2018-02-21 前田建設工業株式会社 表形式データ処理プログラム、方法、及び装置
JP6355755B2 (ja) * 2014-12-02 2018-07-11 三菱電機株式会社 画面生成システム及び画面生成方法及び画面生成プログラム
CN109656985A (zh) * 2018-09-27 2019-04-19 深圳壹账通智能科技有限公司 数据导入方法、***、终端及存储介质
CN109740136B (zh) * 2018-12-19 2024-02-09 北京达佳互联信息技术有限公司 网页数据导入方法、装置、电子设备及存储介质
CN110928854A (zh) * 2019-10-17 2020-03-27 北京达佳互联信息技术有限公司 数据导入方法、装置及电子设备
KR102123286B1 (ko) * 2019-12-23 2020-06-16 (주)수소프트 데이터 처리 시스템 및 데이터 처리 방법
JP7510269B2 (ja) 2020-04-09 2024-07-03 株式会社オービックビジネスコンサルタント 表情報処理装置、表情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JP2006268661A (ja) 2006-10-05

Similar Documents

Publication Publication Date Title
JP4477531B2 (ja) データインポート方法およびデータインポート装置
JP2006268299A (ja) ソフトウェア開発支援システム
CN110442371A (zh) 一种发布代码的方法、装置、介质及计算机设备
CN110941629A (zh) 元数据处理方法、装置、设备及计算机可读存储介质
CN111367890A (zh) 一种数据迁移的方法、装置、计算机设备及可读存储介质
CN107402753A (zh) 一种硬盘固件的刷新方法及装置
JP2008123432A (ja) ソフトウエア資産管理システム
CN107766519B (zh) 一种可视化配置数据结构的方法
JP7346332B2 (ja) データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム
CN106156076A (zh) 数据处理的方法和***
JP7131119B2 (ja) ソースアプリケーションからのソースデータをターゲットアプリケーションのターゲットデータへとマージするためのシステムおよび方法
JP4215255B2 (ja) デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム
CN113326063B (zh) 数据处理方法、电子设备及存储介质
JP4146475B2 (ja) 登記簿データ電子化装置
CN107491466A (zh) 客户端设备、信息处理***、以及信息处理方法
JP2018109898A (ja) データマイグレーションシステム
CN112836033A (zh) 业务模型的管理方法、装置、设备及存储介质
CN112712421A (zh) 一种流水账单自动下载的方法、设备及存储介质
CN105095513A (zh) 一种破解Oracle数据库账户密码的方法和装置
JPS6284337A (ja) 仕様書情報解析方式
JP3529301B2 (ja) データファイル自動変換装置
CN110515913B (zh) 日志处理方法及装置
JP2017228035A (ja) 変更意味推測装置、変更意味推測方法、及び、変更意味推測プログラム
JP2013152580A (ja) コード生成装置及びコード生成方法及びプログラム
CN118200402A (zh) 通讯协议的处理方法、装置、存储介质和电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100120

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100311

R150 Certificate of patent or registration of utility model

Ref document number: 4477531

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4