特許第5961689号(P5961689)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アリババ・グループ・ホールディング・リミテッドの特許一覧

<>
  • 特許5961689-増分データの抽出 図000004
  • 特許5961689-増分データの抽出 図000005
  • 特許5961689-増分データの抽出 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5961689
(24)【登録日】2016年7月1日
(45)【発行日】2016年8月2日
(54)【発明の名称】増分データの抽出
(51)【国際特許分類】
   G06F 12/00 20060101AFI20160719BHJP
   G06F 17/30 20060101ALI20160719BHJP
【FI】
   G06F12/00 513D
   G06F12/00 531J
   G06F17/30 240A
【請求項の数】20
【全頁数】14
(21)【出願番号】特願2014-517221(P2014-517221)
(86)(22)【出願日】2012年6月22日
(65)【公表番号】特表2014-523024(P2014-523024A)
(43)【公表日】2014年9月8日
(86)【国際出願番号】US2012043830
(87)【国際公開番号】WO2012178072
(87)【国際公開日】20121227
【審査請求日】2015年5月28日
(31)【優先権主張番号】201110170600.9
(32)【優先日】2011年6月23日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ファン シン
【審査官】 漆原 孝治
(56)【参考文献】
【文献】 特表2004−532480(JP,A)
【文献】 特開平10−161916(JP,A)
【文献】 特表2010−509686(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
コンピュータで実行可能な命令で構成される1つ以上のプロセッサによって行われる方法であって、
バックアップ・データベースから増分データの主キー情報を取得するステップと、
メイン・データベースと前記バックアップ・データベースとの間で同期される取得した主キー情報に基づき、増分データを前記メイン・データベースで照会するステップと、
見つかった増分データをターゲットのデータ・ウェアハウスに挿入するステップと、を含む方法。
【請求項2】
前記メイン・データベースと前記バックアップ・データベースとの間で同期される前記データは、前記データのすべての項目を含むことなく、前記データの1つ以上のキー項目を含み、前記1つ以上のキー項目は前記データの主キー情報を含む請求項1に記載の方法。
【請求項3】
前記バックアップ・データベースは、フロントエンドのウェブサイトのバックアップ・データベースであり、前記メイン・データベースは前記フロントエンドのウェブサイトのメイン・データベースである請求項1に記載の方法。
【請求項4】
前記取得するステップは、
構文解析した内容を取得するために前記バックアップ・データベースのログ・ファイルを構文解析するステップと、
前記バックアップ・データベースの前記ログ・ファイルにある前記構文解析された内容に基づき、前記バックアップ・データベースにある変更データを逆構文解析するステップと、
前記バックアップ・データベースから前記変更データの前記主キー情報を取り出すステップと、を含む請求項1に記載の方法。
【請求項5】
前記照会するステップは、前記取得した主キー情報に基づき、1つ以上の増分データ一式を、メイン・データベースから照会するために検索関数または検索命令を使用するステップを含む請求項1に記載の方法。
【請求項6】
前記1つ以上の増分データ一式のそれぞれは、
前記増分データの変更タイプと、
前記増分データの変更時刻と、
前記増分データの前記主キー情報と、を含む請求項5に記載の方法。
【請求項7】
前記増分データの変更タイプを取得するステップをさらに含む請求項1に記載の方法。
【請求項8】
前記変更タイプには、
挿入オペレーションによって生じる挿入、
更新オペレーションによって生じる更新
削除オペレーションによって生じる削除
のうち少なくとも1つを含む請求項7に記載の方法。
【請求項9】
前記挿入するステップは、前記増分データを、前記ターゲットのデータ・ウェアハウスでオリジナルのデータ・テーブルとマージするステップを含む請求項1に記載の方法。
【請求項10】
装置であって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサで以下のアクションを行うために実行可能なコンピュータで実行可能な命令を保存するコンピュータ記憶媒体と、を含む装置であって、
前記アクションは、
バックアップ・データベースから増分データの主キー情報を取得するステップを含み、前記取得するステップは、
前記バックアップ・データベースのログ・ファイルを構文解析するステップと、
前記バックアップ・データベースの前記ログ・ファイルにある前記構文解析された内容に基づき、前記バックアップ・データベースにある変更データを逆構文解析するステップと、
前記バックアップ・データベースから前記変更データの前記主キー情報を取り出すステップと、を含み、
前記アクションは、
前記メイン・データベースと前記バックアップ・データベースとの間で同期される前記取得した主キー情報に基づき、メイン・データベースで増分データを照会するステップと、
見つかった増分データをターゲットのデータ・ウェアハウスに挿入するステップと、を含む装置。
【請求項11】
前記照会するステップは、前記取得した主キー情報に基づき、前記メイン・データベースから1つ以上の増分データ一式を照会するために検索関数または検索命令を使用するステップを含む請求項10に記載の装置。
【請求項12】
前記見つかった1つ以上の増分データ一式には、
前記増分データの変更タイプと、
前記増分データの変更時刻と、
前記増分データの前記主キー情報と、を含む請求項11に記載の装置。
【請求項13】
前記変更タイプには、
挿入オペレーションによって生じる挿入、
更新オペレーションによって生じる更新
削除オペレーションによって生じる削除
のうち少なくとも1つを含む請求項12に記載の装置。
【請求項14】
前記照会するステップは、
見つかった1つ以上の増分データ一式と、前記ターゲットのデータ・ウェアハウスでオリジナルのテーブルと、を比較し、
前記見つかった1つ以上の増分データ一式を、前記比較の結果に基づき、前記オリジナルのテーブルに更新する請求項10に記載の装置。
【請求項15】
前記メイン・データベースと前記バックアップ・データベースとの間で同期する前記データには、前記データの全項目を含むことなく、前記データの1つ以上のキー項目を含み、前記1つ以上のキー項目は前記データの主キー情報を含む請求項10に記載の装置。
【請求項16】
前記バックアップ・データベースはフロントエンドのウェブサイトのバックアップ・データベースであり、前記メイン・データベースは、前記フロントエンドのウェブサイトのメイン・データベースである請求項10に記載の装置。
【請求項17】
システムであって、
メイン・データベースと、
バックアップ・データベースと、
ターゲットのウェアハウスと、
装置と、を含み
前記装置は、
1つ以上のプロセッサと、
前記1つ以上のプロセッサで以下のアクションを行うために実行可能なコンピュータで実行可能な命令を保存するコンピュータ記憶媒体と、を含む装置であって、
前記アクションは、
バックアップ・データベースから増分データの主キー情報を取得するステップを含み、前記取得するステップは、
前記バックアップ・データベースのログ・ファイルを構文解析するステップと、
前記バックアップ・データベースの前記ログ・ファイルにある前記構文解析された内容に基づき、前記バックアップ・データベースにある変更データを逆構文解析するステップと、
前記バックアップ・データベースから前記変更データの前記主キー情報を取り出すステップと、を含み、
前記アクションは、
前記メイン・データベースと前記バックアップ・データベースとの間で同期される前記取得した主キー情報に基づき、メイン・データベースで1つ以上の増分データ一式を照会するステップと、
見つかった増分データ一式をターゲットのデータ・ウェアハウスに挿入するステップと、を含むシステム。
【請求項18】
前記メイン・データベースと前記バックアップ・データベースとの間で同期する前記データには、前記データの全項目を含むことなく、前記データの1つ以上のキー項目を含み、前記1つ以上のキー項目は前記データの主キー情報を含む請求項17に記載のシステム。
【請求項19】
前記1つ以上の増分データ一式には、
前記増分データの変更タイプと、
前記増分データの変更時刻と、
前記増分データの前記主キー情報と、を含む請求項17に記載のシステム。
【請求項20】
前記変更タイプには、
挿入オペレーションによって生じる挿入、
更新オペレーションによって生じる更新
削除オペレーションによって生じる削除
のうち少なくとも1つを含む請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ伝送技術、具体的には増分データを抽出する方法、装置、およびシステムに関する。
【0002】
関連出願の相互参照
本願は2011年6月23日に出願された中国特許番号201110170600.9 “Method, Apparatus, and System for Extracting Incremental Data,”の外国優先権を主張するものであり、その全体を本明細書に援用する。
【背景技術】
【0003】
インターネットの急速な発展に伴い、ウェブサイトが表示するデータ量は急速に増加している。同時に、フロントエンドのウェブサイトとバックエンドのデータ・ウェアハウスとの間で伝送されるデータ量も増加している。バックエンドのデータ・ウェアハウスがデータ計算を行う場合、フロントエンドのウェブサイトからデータを抽出する必要がある。
【0004】
現在、従来の技術では、データ・ウェアハウスは、データ抽出を行うためにハッシュ演算法を使用する。例えば、フロントエンドのウェブサイトは、テーブルaを持ち、データ量は何億にもなる。毎日の増分データは約6百万になる。データ・ウェアハウスはテーブルの増分データを毎日抽出する必要がある。この抽出プロセスを以下に示す。ステップAで、テンポラリ・テーブル1が生成される。ステップBでデータ・ウェアハウスのオリジナルのテーブルaにあるデータを使用してテンポラリ・テーブル2が生成される。ステップCで、テンポラリ・テーブル1にあるデータがデータ・ウェアハウスにコピーされ、増分データのID値を取得するための関係演算を使用して、テンポラリ・テーブル2に関連付けられる。ステップDで、増分データ全体が、ID値に基づき、フロントエンドのウェブサイトから取り出される。
【0005】
明らかに、上記のステップAでは、テーブル1を生成するためにテーブルaにある数億のデータを一度スキャンするのに、2、3時間かかるであろう。データがネットワーク経由でデータ・ウェアハウスに伝送される場合、さらに時間がかかる。さらに、ステップCでの関係演算も非常に時間がかかる。
【0006】
従って、増分データのスケールが絶えず拡大し続けるに従い、上記のフロントエンドのウェブサイトにある大きなテーブルから増分データを抽出するには最長で5時間以上かかる場合もある。これは、多くの時間やコンピューティング資源を無駄にするだけでなく、データ・ウェアハウスにおけるデータ計算の遅延が増えることになる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示では、多くの時間とシステム資源を節約するだけでなく、増分データ抽出の効率も高める増分データを抽出するための方法、装置、およびシステムを提供する。
【課題を解決するための手段】
【0008】
本開示では、増分データを抽出するための方法を提供する。バックアップ・データベースのログ・ファイルは構文解析され、バックアップ・データベースのログ・ファイルの構文解析された内容に基づき、バックアップ・データベースの特定の変更データが逆構文解析される。バックアップ・データベースにあるその変更されたデータから、主キー情報が取り出される。バックアップ・データベースと同期するメイン・データベースから、主キー情報に基づき1つ以上の増分データ一式が照会される。見つかった1つ以上の増分データは、ターゲットのデータ・ウェアハウスに挿入される。
【0009】
本開示では増分データを抽出するための装置も提供する。この装置には、検索ユニット、照会ユニット、および挿入ユニットを含んでもよい。検索ユニットはバックアップ・データベースのログ・ファイルを構文解析し、バックアップ・データベースのログ・ファイルにある構文解析された内容に基づき、バックアップ・データベースにあるその特定の変更データを逆構文解析する。検索ユニットは、バックアップ・データベースにある変更データから主キー情報も取り出す。照会ユニットは、その主キー情報に基づき、メイン・データベースから1つ以上の増分データ一式を照会する。メイン・データベースは、バックアップ・データベースと同期する。挿入ユニットは、見つかった1つ以上の増分データをターゲットのデータ・ウェアハウスに挿入する。
【0010】
本開示では、増分データを抽出するためのシステムも提供する。このシステムには、メイン・データベース、バックアップ・データベース、ターゲットのデータ・ウェアハウス、および増分データを抽出するための上記の装置を含んでもよい。メイン・データベースとバックアップ・データベースは、抽出する必要がある増分データを保存する。保存されたデータは、メイン・データベースとバックアップ・データベースとの間で同期する。この装置は、増分データの主キー情報をバックアップ・データベースから取り出し、主キー情報に基づき、1つ以上の増分データ一式を、メイン・データベースから照会し、その1つ以上の増分データ一式をターゲットのデータ・ウェアハウスに挿入する。ターゲットのデータ・ウェアハウスは、抽出された1つ以上の増分データ一式を保存する。
【0011】
本開示の技術では、増分データの主キー情報に基づく変更データを取り出し、将来の処理のために変更データだけをデータ・ウェアハウスに送信する。本技術は多くの時間とシステム資源を節約し、増分データ抽出の効率を高める。
【0012】
さらに、本技術では、メイン・データベースと同期しているバックアップ・データベースを通して主キー情報を取り出し、その主キー情報に基づきメイン・データベースから1つ以上の増分データ一式に対する照会オペレーションを実行する。その結果、本技術は、増分データを照会する際のメイン・データベースの負荷を減らす。
【0013】
本開示の実施形態をわかりやすく示すために、以下に本実施形態の説明に使用する図を簡単に説明する。以下の図は本開示のいくつかの実施形態のみに関連することは明白である。当業者は、創造的努力なしに、本開示の図に従い他の図を入手できる。
【図面の簡単な説明】
【0014】
図1】本開示の第1の実施形態例に従った増分データを抽出するための方法例を示す流れ図である。
図2】本開示の第3の実施形態例に従った増分データを抽出するための装置例を示す図である。
図3】本開示の第4の実施形態例に従った増分データを抽出するためのシステム例を示す図である。
【発明を実施するための形態】
【0015】
本技術では、増分データの主キー情報に基づき変更データを取り出し、ある例では、将来の処理のために変更データのみをデータ・ウェアハウスに送信する。従って、本技術は多くの時間とシステム資源を節約し、増分データ抽出の効率を高める。
【0016】
当業者は、本開示の増分データは、フロントエンドのウェブサイトで毎日変更されるデータなどの変更データであると理解するであろう。実際には、こうした増分データは他の形式や他のアプリケーションの変更データであってもよい。増分データは、フロントエンドのウェブサイトの変更データおよび毎日変更されるデータに制限されるものではない。
【0017】
以下では、図を参照して説明する。以下の例の実施形態は、本開示のいくつかの実施形態にのみ関連することは明白である。当業者は、創造的努力なしに本開示の他の実施形態を入手可能である。
【0018】
本開示の第1の実施形態例では、増分データを抽出するための方法例を示している。この方法例は、フロントエンドのメイン・データベースとフロントエンドのバックアップ・データベースを含むシステムに適用しうる。図1は、本開示の第1の実施形態例に従い増分データを抽出するための方法例の流れ図である。
【0019】
102で、増分データの主キー情報をフロントエンドのバックアップ・データベースから取得する。主キー情報を取得するための詳細オペレーションは、最新の技術を使用して実施してもよい。さらに、第1の実施形態例では、これに制限されるものではないが、以下の方法を使用してもよい。
【0020】
フロントエンドのバックアップ・データベースのログ・ファイルが構文解析される。フロントエンドのバックアップ・データベースにあるログは通常バイナリ形式で保存されている。フロントエンドのバックアップ・データベースにあるログ・ファイルの構文解析された内容に基づき、フロントエンドのバックアップ・データベースにあるその特定の変更データは逆構文解析される。フロントエンドのバックアップ・データベースにある変更データから主キー情報が取り出される。
【0021】
例えば、フロントエンドのユーザは、「値に挿入(100, ‘xin’, sysdate)」などのデータを追加するオペレーションを行う。この増分データの主キー情報を得るには、フロントエンドのバックアップ・データベースのログ・ファイルを構文解析する。フロントエンドのバックアップ・データベースのログ・ファイルにある構文解析した内容に基づき、変更データが見つけられる。この例では、変更データのテーブルaが取得される。変更タイプは、「挿入」オペレーションである。変更データの主キー情報は100である。つまり、100は、増分データの主キーである。ある例では、フロントエンドのバックアップ・データベースにあるデータは、リアルタイムの同期によってフロントエンドのメイン・データベースから取得される。他の例では、フロントエンドのメイン・データベースにあるすべてのデータの代わりに、主キー情報などの1つ以上のキー・データ項目をバックアップ・データベースに同期させる場合がある。このデータ同期プロセスは、メイン・データベースからバックアップ・データベースに同期させるデータ項目数を減らすことによって加速しうる。さらに、バックアップ・データベースにあるログ・ファイルの構文解析中に、ログ・ファイルにはいくつかのキー・データ項目が含まれるため、ログ・ファイルを構文解析する速度も加速される場合がある。
【0022】
104では、フロントエンドのメイン・データベースで主キー情報に基づき、1つ以上の増分データが照会される。増分のデータベースの照会と抽出によるフロントエンドのメイン・データベースの負荷を減らすために、この実施形態例では、そのデータがフロントエンドのメイン・データベースから同期されるバックアップ・データベースからその主キー情報を抽出し、その主キー情報に基づき、フロントエンドのメイン・データベースで1つ以上の増分データ一式が照会されてもよい。こうした状況では、フロントエンドのメイン・データベースはメイン・データベースと呼ばれ、メイン・データベースからそのデータが同期されるバックアップ・データベースは、バックアップ・データベースと呼ばれる。
【0023】
特定の照会オペレーションでは、選択関数などの照会関数または照会命令を使用してもよい。例えば、増分データの主キー情報は、100、108、および200である。増分データ一式を検索するために照会命令、“select * from a where id in (100, 108, 200)”を使用してもよい。他の詳細な照会方法については、本明細書では詳細に説明しない。
【0024】
実際には、増分データ一式をより正確に検索するには、この実施形態例の方法では主キー情報に加えて増分データの変更タイプの取得を含む場合がある。一般的状況では、変更オペレーションの「挿入(insert)」は、変更のタイプが挿入であることを示し、変更オペレーションの“update”は変更のタイプが更新であることを示し、変更オペレーションの“delete”は変更のタイプが削除であることを示す。他のタイプの変更もありうるが、本開示では詳細には説明しない。
【0025】
106では、見つかった1つ以上の増分データがターゲットのデータ・ウェアハウスに挿入される。例えば、ターゲットのデータ・ウェアハウスに挿入された増分データは、以下に制限されるものではないが、増分データの変更時刻、増分データの変更のタイプ、および増分データの主キー情報を含む場合がある。
【0026】
見つかった1つ以上の増分データ一式のターゲットのデータ・ウェアハウスへの挿入は、マージ技術を使用して行ってもよい。つまり、見つかった1つ以上の増分データの増分データ一式はターゲットのデータ・ウェアハウスにあるオリジナルのデータ・テーブルにマージしてもよい。または、例えば、見つかった1つ以上の増分データ一式は、ターゲットのデータ・ウェアハウスにある増分データに対応するオリジナルのデータを置き換えるために使用してもよい。他の挿入方法を代わりに使用しても良いが、本明細書では説明しない。
【0027】
本開示の第2の実施形態例で示しているように、以下で上記の方法例をフロントエンドのウェブサイトで特定の増分データ抽出に関して詳細に説明する。
【0028】
例えば、フロントエンドのウェブサイトのデータは、テーブルtによって表され、データ・ウェアハウスにプッシュする必要がある増分データを含む。テーブルtの構造とデータを表1に示す。表1では、Idは主キーを表す。
【0029】
【表1】
【0030】
フロントエンドのウェブサイトのデータを、2011年1月1日8:00:00に変更すると、テーブル1のデータは、増分変更がある。例えば、この変更は以下のようになる場合がある。
tに値(4,‘Wang Wu’,30,male)を挿入;
name=‘Li Si’の設定年齢=‘35’を更新
tからname=‘Zhang San’を削除
この増分データ抽出オペレーションには、以下のオペレーションが含まれる場合がある。最初のオペレーションで、変更データの主キーと変更タイプが、フロントエンドのウェブサイトのバックアップ・データベースからキャプチャされる場合がある。例えば、テーブル1の変更から取得されたデータは、(4,I),(2, U),(1,D)であり、この場合、Iは挿入、Uは更新、Dは削除のオペレーションをそれぞれ表し、4、2、1は各オペレーションに対応する主キー情報をそれぞれ表す。
【0031】
第2のオペレーションで、この例では4、2、1の主キー情報に基づき、選択命令などの照会オペレーションが、フロントエンドのウェブサイトのメイン・データベースで行われ、1つ以上の増分データ一式を照会する。バックアップ・データベースにあるデータとメイン・データベースにあるデータは同期されるが、本明細書では詳しく説明しない。
【0032】
第3のオペレーションでは、見つかった1つ以上の増分データ一式が、増分テーブルに挿入される。この増分テーブルの構造とデータを表2に示す。
【0033】
【表2】
【0034】
表2では、log_seqフィールドがリザーブされる。log_timeは、データベースでデータが変更された実際の時刻を表す。log_actionは、(I, U, D)の1つなどのデータに対する変更のタイプを表す値を持つ。log_idは、レコードの主キーを表す。
【0035】
第4のオペレーションで、データ・ウェアハウスは、増分テーブルにある上記の増分データを、すでに保存されている基本テーブルとマージし、基本テーブルにあるオリジナルのデータと置き換える。このように、フロントエンドのウェブサイトでの増分データ抽出が完了し、データ抽出効率が高まる。
【0036】
この方法例では、増分データの主キー情報を使用して、変更データを取得し、いくつかの例では、さらなる計算のために変更データをデータ・ウェアハウスに単に送信する。これにより、多くの時間を、システム資源を節約し、増分データ抽出の効率をはるかに高める。
【0037】
上記の技術に基づき、本開示の第3の実施形態例では、図2に示されている増分データを抽出するための装置例を示す。装置200には、以下に制限されるものではないが、1つ以上のプロセッサ202およびメモリ204を含む。このメモリ204には、ランダム・アクセス・メモリ(RAM)などの揮発性メモリ形式のコンピュータ記憶媒体、およびまたはリード・オンリー・メモリ(ROM)またはフラッシュRAMなどの不揮発性メモリを含んでもよい。メモリ204は、コンピュータ記憶媒体の例である。
【0038】
コンピュータ記憶媒体には、コンピュータで実行可能な命令、データ構造、プログラム・モジュールまたはその他のデータなどの情報を記憶するための方法または技術で実現される揮発性、不揮発性、リムーバブル、ノン・リムーバブルの媒体を含む。コンピュータの記憶媒体の例としては、これに限定されるものではないが、コンピューティング・デバイスによるアクセスのための情報を保存する目的で使用する以下の媒体を含む。すなわち、相変化メモリ(PRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、他のタイプのランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、電気的に消去可能なプログラマブル・リード・オンリー・メモリ(EEPROM)、フラッシュ・メモリまたはその他のメモリ技術、コンパクト・ディスク・リード・オンリー・メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、またはその他の光学的記憶媒体、磁気カセット、磁気テープ、磁気ディスク記憶、またはその他の磁気記憶装置、またはその他の非伝送媒体を含む。ここで定義したように、コンピュータ記憶媒体には、変調されたデータ信号や搬送波などの一過性の媒体は含まない。
【0039】
メモリ204は、その中にプログラム・ユニットまたはモジュールおよびプログラム・データを保存してもよい。ある実施形態では、このユニットには、検索ユニット206、照会ユニット208、および挿入ユニット210を含んでもよい。こうしたユニットは従って、1つ以上のプロセッサ202で実行可能なソフトウェアによって実現されてもよい。他の実施形態では、このユニットはファームウェア、ハードウェア、ソフトウェア、またはこれらを組み合わせたものによって実現されてもよい。
【0040】
検索ユニット206は、フロントエンドのバックアップ・データベースから増分データの主キー情報を取得する。照会ユニット208は、検索ユニット206から取得した主キー情報に基づき、フロントエンドのバックアップ・データベースと同期するフロントエンドのメイン・データベースから1つ以上の増分データ一式を照会する。挿入ユニット210は、見つかった1つ以上の増分データをターゲットのデータ・ウェアハウスに挿入する。
【0041】
増分のデータベースの照会によるフロントエンドのメイン・データベースへの負荷を減らすために、この実施形態例では、主キー情報はフロントエンドのメイン・データベースのデータとデータが同期しているバックアップ・データベースから抽出してもよく、この主キー情報に基づきフロントエンドのメイン・データベースで1つ以上の増分データ一式が照会される。こうした状況では、フロントエンドのメイン・データベースは、メイン・データベースと呼ばれ、そのデータがメイン・データベースと同期しているバックアップ・データベースは、バックアップ・データベースと呼ばれる。この実施形態例では、例としてフロントエンドのデータベースでの増分データ抽出を使用している。本開示の技術は、バックエンドのデータベースまたは他のタイプのデータベースでの増分データ抽出に適用してもよい。本開示は、本明細書で制限を課すものではない。
【0042】
この実施形態例では、検索ユニット206は、以下のモジュールも含んでもよい。こうしたモジュールには、構文解析モジュール212、逆構文解析モジュール214、および読み出しモジュール216を含む。構文解析モジュール212は、フロントエンドのバックアップ・データベースのログ・ファイルを構文解析する。逆構文解析モジュール214は、構文解析モジュール212から構文解析されたログ・ファイルを逆構文解析し、フロントエンドのバックアップ・データベースにある特定の変更データを得る。読み出しモジュール216は、逆構文解析モジュール214によって取得したその特定の変更データから主キー情報を取り出す。
【0043】
照会ユニット208は、呼び出しモジュール218および実行モジュール220を含むモジュールを持ってもよい。呼び出しモジュール218は、照会関数または照会命令を呼び出す。実行モジュール220は、呼び出しモジュール218によって呼び出された照会関数または照会命令を使用して、照会オペレーションを実行する。例えば、検索ユニット206によって取り出された増分データの主キー情報は、100、108、および200である。呼び出しモジュール218は、照会オペレーションが必要な場合に照会関数を呼び出す。実行モジュール220は“select * from a where id in (100、108、200)”などの照会関数を実行し、1つ以上の増分データ一式を検索する。この関数の詳細については、本明細書では説明しない。
【0044】
挿入ユニット210は、比較モジュール222と更新モジュール224を含むモジュールも持ってもよい。比較モジュール222は、増分データ一式とターゲットのデータ・ウェアハウスにあるオリジナルのデータ・テーブルとを比較する。更新モジュール224は、比較モジュール222の比較結果に基づき、増分データ一式をオリジナルのデータ・テーブルで更新する。
【0045】
他の例では、装置200は処理ユニット226も含んでもよい。処理ユニット226は、増分データの変更タイプを取得する。一般的に、処理ユニット226が取得する変更タイプでは、変更タイプが“insert”は挿入、“update”は更新、“delete”は削除であることをそれぞれ表す。他のタイプの変更も存在しうるが、本明細書では詳細には説明しない。
【0046】
装置200が処理ユニット226を含み、挿入ユニット210によってターゲットのデータ・ウェアハウスに挿入される増分データは、以下に制限されるものではないが、増分データの変更時刻、増分データの変更タイプ、および増分データの主キー情報が含まれる場合がある。この実施形態例は制限を課すものではない。
【0047】
上記の技術に基づき、本開示の第4の実施形態例では、増分データの抽出のためにシステム300を提供する。システム300には、以下に制限されるものではないが、フロントエンドのメイン・データベース302、フロントエンドのバックアップ・データベース304、ターゲット・データ・ウェアハウス306、および第3の実施形態例で説明したように増分データを抽出するための装置200を含む。フロントエンドのメイン・データベース302とフロントエンドのバックアップ・データベース304は、抽出する必要がある増分データを保存する。保存されたデータは、フロントエンドのメイン・データベース302とフロントエンドのバックアップ・データベースとの間で同期する。装置200は、増分データの主キー情報をフロントエンドのバックアップ・データベース304から取り出す。装置200は、増分データの主キー情報をフロントエンドのバックアップ・データベース304から取り出し、主キー情報に基づきフロントエンドのメイン・データベース302から1つ以上の増分データ一式を照会し、見つかった1つ以上の増分データ一式をターゲット・データ・ウェアハウス306に挿入する。ターゲット・データ・ウェアハウス306は、抽出された1つ以上の増分データ一式を保存する。例えば、システム300は単独のサーバまたは分散システムの形式で、ユニットがイントラネットやインターネットなどの可能性があるネットワークを介して接続される場合もある。
【0048】
当業者は、本開示の実施形態は、方法、システム、またはコンピュータのプログラム製品であることを理解しうるであろう。従って、本開示は、ハードウェア、ソフトウェア、またはこの2つを組み合わせたもので実装されうる。さらに、本開示は、コンピュータ記憶媒体(CD−ROM、光学ディスクなどのディスクを含むが、これに制限されるものではない)で実装可能なコンピュータで実行可能なコードを含む1つ以上のコンピュータ・プログラムの形式であってもよい。ハードウェアとソフトウェアの互換性をより明確に説明するために、本開示では、機能に基づき、一般的に構成要素とステップを各実施形態例で説明した。ソフトウェアまたはハードウェアが実行に使用されるかに関わらず、機能は特定のアプリケーションと技術計画の設計の制約に依存する。当業者は、上記の機能を異なるアプリケーションに対して実装するために異なる方法を使用してもよい。こうした実装は、なおも本開示の保護範囲になるべきである。
【0049】
本開示は、本開示の実施形態の方法、装置、およびシステムのフローチャートおよび/またはブロック図を参照することによって説明した。フローチャートおよび/またはブロック図の各フローおよび/またはブロック、および各フローおよび/またはブロックを組み合わせたものは、コンピュータ・プログラムの命令によって実装可能であることを理解されたい。こうしたコンピュータ・プログラムの命令は、汎用コンピュータ、特定のコンピュータ、組み込みプロセッサまたはその他のプログラマブル・データ・プロセッサに提供され、マシンを生成し、フローチャートの1つ以上のフローおよび/またはブロック図の1つ以上のブロックが、コンピュータまたはその他のプログラマブル・データ・プロセッサによってオペレーションされる命令を通して生成できるようにする。
【0050】
こうしたコンピュータ・プログラム命令もコンピュータ記憶媒体に保存可能であり、このコンピュータ・プログラム命令は、コンピュータ記憶媒体に保存されているコンピュータで実行可能な命令が、命令を含むプロダクトを生成するように、コンピュータまたはその他のプログラマブル・データ・プロセッサに一定の方法でオペレーションするように命令できる。この場合、命令はフローチャートの1つ以上のフローおよび/またはブロック図の1つ以上のブロックで指定される機能を実装する。
【0051】
こうしたコンピュータ・プログラムの命令は、コンピュータまたはその他のプログラマブル・データ・プロセッサが一連のオペレーション・ステップを実行し、コンピュータによって実装されるプロセスを生成するように、コンピュータまたは他のプログラマブル・データ・プロセッサにロード可能である。従って、コンピュータまたはその他のプログラマブル・データ・プロセッサによってオペレーションする命令は、フローチャートの1つ以上のフローおよび/またはブロック図の1つ以上のブロックで指定される機能を実装するためのステップを提供できる。
【0052】
上記の実施形態例の説明によって、当業者は、実施形態例を実現または使用できる。しかし、本開示は実施形態例に制限されるものではなく、本書で開示されている原理および機能の最大限の範囲に合致するいかなる技術も保護するものとする。
【0053】
本実施形態は、単に本開示を説明するためのものであり、本開示の範囲を制限する意図はない。当業者は一定の修正、置換、改良をすることが可能であることを理解し、また本開示の原理から逸脱することなく本開示の保護のもと考えるべきである。
図1
図2
図3