JP2018514886A - 多数の重複するソースからの大量の時間データの集計 - Google Patents

多数の重複するソースからの大量の時間データの集計 Download PDF

Info

Publication number
JP2018514886A
JP2018514886A JP2017567560A JP2017567560A JP2018514886A JP 2018514886 A JP2018514886 A JP 2018514886A JP 2017567560 A JP2017567560 A JP 2017567560A JP 2017567560 A JP2017567560 A JP 2017567560A JP 2018514886 A JP2018514886 A JP 2018514886A
Authority
JP
Japan
Prior art keywords
data element
data
repository
source
sources
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.)
Granted
Application number
JP2017567560A
Other languages
English (en)
Other versions
JP6450865B2 (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.)
D&B Business Information Solutions Ltd
Original Assignee
D&B Business Information Solutions Ltd
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 D&B Business Information Solutions Ltd filed Critical D&B Business Information Solutions Ltd
Publication of JP2018514886A publication Critical patent/JP2018514886A/ja
Application granted granted Critical
Publication of JP6450865B2 publication Critical patent/JP6450865B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

(1)データ要素を受信することと、(2)データ要素を、時間経過にともなってデータ要素に生じた変更を包含する保留更新履歴リポジトリ内の対応するデータ要素と比較し、それによって比較をもたらすことと、(3)比較に基づいて、データ要素を変更したことを判定することと、(4)データ要素のためのより最新のデータを包含しているかもしれない、動作中の更新プロセスがないことを確認することと、(5)データ要素を、特定の時間範囲に関連付けられたカットオフ番号と関係付けることと、(6)(a)データ要素の現在の値と、データ要素の以前の値とを格納する全領域データリポジトリと、(b)(i)データ要素が更新されていること及び(ii)カットオフ番号とを示すレコードを格納するデルタデータリポジトリと、における対応するデータ要素を更新することと、を含む技術が提供される。

Description

関連出願の相互参照
本出願は、2015年3月20日出願の米国特許仮出願番号第62/135,982号の優先権を主張し、その内容は、参照により本明細書に組み入れられる。
本開示は、データストレージシステムに関し、より具体的には、多数の重複するソースからの大量の時間データを集計するためのシステムに関する。
本項で説明される手法は、遂行されることができた手法であるが、必ずしも以前に想到されたかまたは遂行された手法ではない。したがって、本項で説明された手法は、本出願の請求項に対する従来技術ではない場合があり、本項に含まれることによって従来技術であると認められるものではない。
データベース管理システム及びデータウェアハウスは、多数のシステムからのデータを統合するために、抽出、変換、ロード(ETL)のさまざまな実行を利用する。バッチ及び並列実行といった技術が利用可能であり、本分野にフォーカスした学術的及び産業的な出版物及びシステムが、幅広く存在する。しかしながら、これらのシステムは、データが多数の異なるソースからインポートされることを必要とする場合、これらのソースが重複する可能性がある、例えば多数のソース内の同じ要素に対する同じフィールドがあり、利用可能なソースから最善のソースを選択する必要性が生じる場合、すべてのソースがあらゆる動作処理ウィンドウの間中に利用可能であることが保証されず、更新の順番が前もって決められることができない場合、難しい動作シナリオを解読しない。さらに、集計された更新へのアクセスは、更新データ量または全領域データ量に関わらず、高速かつ水平拡張可能であるべきである。このデータ量に関与するサービス水準合意を達成することは、最低限の、もしあれば人手による介在がある、十分に自動化されたストレートスループロセッシングシステムを必然的に必要とする。
問題を例証するために、事業環境では、クライアントに対して、すべての更新されたデータを毎日利用可能にすることが必要とされる。これは、例えば24時間の、動作処理ウィンドウである。技術的課題が存在するのは、(a)これらの更新は、多数の多様なソースシステムから得られることができ、いくつかのデータは、数個のソースと重複する、例えばcompany_aのsales_dataは、source_1及びsource_3に、そして場合によってはsource_4に含まれる可能性があること、及び(b)動作ウィンドウ(マルチ)の間中、数個のソースからの更新が、処理のために異なる時間で到着するかもしれず、加えて、すべてのソースが、各動作ウィンドウの間中に利用可能ではないかもしれないことに起因する。解決には、すべてのソース(1、3及び4)が利用可能であり得るか否かに関わらず、かつこれらのソースが利用可能にされる順序に関わらず、いずれのバージョンのデータ、例えばcompany_aのsales_dataが用いられるべきかを選択する方法を提供する必要がある。さらに、これらの更新を照会するシステムは、処理されているデータ容量に関わらず、クエリの性能低下を経験するべきではない。クエリの性能低下は、データ量が増大するに従ってクエリ速度が低下することに関連する。
多数の重複するソースからの大量の時間データを集計し、更新の順番が前もって決められることができない場合に、動作処理ウィンドウ内のすべての利用可能なソースから最善のソースが用いられることを保証し、すべての集計された更新に対する高速なアクセスを提供するための方法及びシステムが提供される。
本方法は、(1)データ要素を受信することと、(2)データ要素を、時間経過にともなってデータ要素に生じた変更を包含する保留更新履歴リポジトリ内の対応するデータ要素と比較し、それによって比較をもたらすことと、(3)比較に基づいて、データ要素を変更したことを判定することと、(4)データ要素のためのより最新のデータを包含しているかもしれない、動作中の更新プロセスがないことを確認することと、(5)データ要素を、カットオフログにおける特定の時間範囲に関連付けられたカットオフ番号と関係付けることと、(6)(a)データ要素の現在の値と、データ要素の以前の値とを格納する全領域データリポジトリと、(b)(i)データ要素が更新されていることと、(ii)カットオフ番号とを示すレコードを格納するデルタデータリポジトリと、における対応するデータ要素を更新することと、を含む。
多数の重複するソースからの大量の時間データを集計するためのシステムのブロック図である。
図1のシステムによって利用されるファイル内の、いくつかのデータの例を提供する。
図1のシステム内のカットオフログ内の情報のストレージのための、代表的な構造の表の図である。
図1のシステムのリポジトリのデータモデルの構造の図である。
図1のシステムのリポジトリ内に格納され得る、いくつかのデータの例である。
図1のシステム内のプロセッサによって行われる方法の機能ブロック図である。
図2の方法によって利用される代表的な変換規則の表の図である。
図2の方法における、更新検出ステージの機能ブロック図である。
図2の方法によって用いられる状態機械論理の例を示す表である。
図2の方法のための更新されたデータの例を提供する表の図である。
図2の方法における、デルタ作成プロセスの機能ブロック図である。
1以上の図面に共通する構成又は特徴は、各図面において同じ参照番号で示されている。
本書は、多数の重複するソースからの大量の時間データを集計し、更新の順番が前もって決められることができない場合に、動作処理ウィンドウ内のすべての利用可能なソースから最善のソースが用いられることを保証し、すべての集計された更新に対する高速なアクセスを提供するための方法及びシステムを開示する。
図1は、多数の重複するソースから大量の時間データを集計するためのシステム100のブロック図である。システム100は、コンピュータ115、及び、ネットワーク150に通信可能に結合されたデータソース、すなわちソース145を含む。
ソース145は、複数のソース145a〜145nの総称であり、ソース145が任意の数のソースを含むことができることを示す。
ネットワーク150は、データ通信ネットワークである。ネットワーク150は、私的ネットワークまたは公衆ネットワークであってもよく、(a)例えば一室をカバーするパーソナルエリアネットワーク、(b)例えば建物をカバーするローカルエリアネットワーク、(c)例えばキャンパスをカバーするキャンパスエリアネットワーク、(d)例えば都市をカバーするメトロポリタンエリアネットワーク、(e)、例えば都市境界、地域境界、または国境を渡ってつながる領域をカバーする広域ネットワーク、または(f)インターネットのうちのいずれかまたはすべてを含んでもよい。通信は、電子信号及び光信号によって、ネットワーク150を介して行われる。
コンピュータ115は、プロセッサ120と、プロセッサ120に結合されたメモリ125とを含む。本明細書では、コンピュータ115は、スタンドアロン装置として表されているが、それに限定されず、代わりに分散型処理システム内の他の装置(図示せず)に結合されることができる。
プロセッサ120は、命令に応答しそれを実行する論理回路構成で構成される電子装置である。
メモリ125は、コンピュータプログラムでエンコードされた、有形の非一時的コンピュータ可読記憶装置である。この点において、メモリ125は、プロセッサ120の動作を制御するために、プロセッサ120によって読み取り及び実行可能であるデータ及び命令、すなわちプログラムコードを格納する。メモリ125は、ランダムアクセスメモリ(RAM)、ハードドライブ、リードオンリーメモリ(ROM)、またはそれらの組み合わせに組み入れられ得る。メモリ125のコンポーネントのうち1つは、プログラムモジュール130である。
プログラムモジュール130は、プロセッサ120を、本明細書で説明された方法を実行するように制御するための命令を包含する。用語「モジュール」は、本明細書においては、スタンドアロンのコンポーネントとして、または複数の下位コンポーネントの一体型の構成としてのいずれかで具現化され得る機能的動作を意味するために用いられる。このように、プログラムモジュール130は、単一のモジュールとして、または互いに協働する複数のモジュールとして、組み入れられ得る。本書においては、プログラムモジュール130またはその下位モジュールによって行われている動作を説明する場合、当該動作は、実際にはプロセッサ120によって行われている。プログラムモジュール130は、本明細書においては、メモリ125にインストールされ、そのためソフトウェアに組み入れられているとして説明されているが、ハードウェア(例えば、電子回路構成)、ファームウェア、ソフトウェア、またはそれらの組み合わせのうちのいずれかに組み入れられることができる。
プログラムモジュール130は、メモリ125内にすでにロードされているとして示されているが、記憶装置127上において、メモリ125に後にロードされるように構成されてもよい。記憶装置127は、プログラムモジュール130を格納する、有形の非一時的コンピュータ可読記憶装置である。記憶装置127の例は、コンパクトディスク、磁気テープ、リードオンリーメモリ、光記憶媒体、ハードドライブ、または多数の並列ハードドライブで構成されるメモリユニット、及びユニバーサルシリアルバス(USB)フラッシュドライブを含む。代替的に、記憶装置127は、ランダムアクセスメモリ、または、リモートストレージシステム上に位置し、ネットワーク150を介してコンピュータ115に結合された他のタイプの電子記憶装置であることができる。
フィールド要素ファイル105、更新用要素ファイル135、及び変更済み要素ファイル140は、システム100内の中間データストアとして用いられるデータ項目であり、メモリ125に格納される。フィールド要素ファイル105は、複数のフィールド要素ファイル105a〜105nの総称であり、フィールド要素ファイル105が任意の数のフィールド要素ファイルを含むことができることを示す。更新用要素ファイル135は、複数の更新用要素ファイル135a〜135nの総称であり、更新用要素ファイル135が任意の数の更新用要素ファイルを含むことができることを示す。変更済み要素ファイル140は、複数の変更済み要素ファイル140a〜140nの総称であり、変更済み要素ファイル140が任意の数の変更済み要素ファイルを含むことができることを示す。フィールド要素ファイル105、更新用要素ファイル135、及び変更済み要素ファイル140は、互いに同じ構造を有する。
図1Aは、フィールド要素ファイル105内のファイル内の何らかのデータの一例を提供する。当該例は、事業体に対する汎用データ番号付けシステム(DUNS)の番号、及びそれに関連付けられたいくつかの事業体連絡先情報を示す。格納されることができるデータのタイプに制限はない。
システム100は、いくつかのデータベース、すなわちカットオフログ152、全領域データリポジトリ155、デルタデータリポジトリ160、及び保留更新履歴リポジトリ165を含む。
カットオフログ152は、カットオフ番号及び関連情報のためのストレージである。処理パイプラインが実行され、基礎となるデータに抗した変更が記録されるたびに、その処理パイプラインからの新しいデータセットのすべてが、カットオフ番号と呼ばれる新しい連番で刻印される。この番号は、特定の時になされるすべての変更に関連する。カットオフ番号は、カットオフログ152に順次格納される。
図1Bは、カットオフログ152内の情報のストレージのための、代表的な構造内のデータの表、すなわち表190の図である。この例は、カットオフ番号3、4、5及び6によって特定される4つの更新期間を示す。更新範囲開始及び更新範囲終了は、yyyy−mm−dd_hh:mm:ss(すなわち、年月日_時分秒)の形式の日付である。
全領域データリポジトリ155は、すべての要素の完全なマスターリストと、それらの現在の値及び以前の値とを保存するために用いられる。デルタデータリポジトリ160は、更新ごとに、特定の時間に更新された要素のみを包含するデルタ表を包含する。保留更新履歴リポジトリ165は、各要素に対して時間経過にともなって生じたすべての変更を包含する。
図1Cは、全領域データリポジトリ155、デルタデータリポジトリ160、及び保留更新履歴リポジトリ165のデータモデルの構造の図である。図1Cに示された特徴は、以下の通りである。
(a)要素ベースは、ヘッダ及びペイロードを包含する。
(b)ヘッダは、以下を含む多くのフィールドを包含する。
entity Id:固有の実体を参照するid、例えばDUNS番号
element Name:この要素固有の名称
timestamp:最終更新の日付及び時間
hash:データベース検索を加速させるために、この特定のレコードを参照する固有の値
(b)ペイロードは、アトミックまたは集計タイプの要素を包含する。
(d)アトミック要素は、精密なかつ単一の意味を有し、以下を包含する。
id:この特定の要素を参照する固有のid
value:当該要素の実際値
hash:データベース検索を加速させるために、この特定のレコードを参照する固有の値
attrs:この要素に関連付けられた多数の属性、例えばデータのソース、カットオフ番号
(e)集計要素は、多数のアトミック要素を組み合わせた結果、または算出された/導き出された値を包含し、以下で構成される。
id:この特定の要素を参照する固有のid
hash:データベース検索を加速させるために、この特定のレコードを参照する固有の値
element:この集計要素を作り上げる要素のリスト
図1Dは、どのようにして全領域データリポジトリ155、デルタデータリポジトリ160、及び保留更新履歴リポジトリ165においてデータが表されるかの一例の図である。この例は、実体についての2つの部分的レコード(123456789及び987654321)を示す。実体ごとに、図1Dの左右に図示された4つの要素があり、組織、都市、標準産業分類(SIC)、及び従業員数をカバーしている。中央の表は、どのようにしてこれらの要素が、実体の完全レコードに組み合わせられるかを示す。
図2は、プロセッサ120によってプログラムモジュール130内の命令に従って行われる方法200の機能ブロック図である。方法200では、プロセッサ120は、ソース145からの大量の時間データを集計して、全領域データリポジトリ155及びデルタデータリポジトリ160内のデータセットにする。ソース145は、ソース145a、ソース145b、及びソース145c乃至ソース145nを含む。方法200は、準備及び要素化ステージ205、更新検出ステージ220、及びフォールドオーバステージ235を含む。
準備及び要素化ステージ205では、要素化プロセス215は、ソース145からファイルを受信する。要素化プロセス215は、ファイル/フィールド(ソース145からの)を、データ要素(図1A参照)に変換する。ファイルは、ソース145から、予め定められることができない順番で到着し、各ファイルは、フィールドを包含し得、全領域データリポジトリ155及びデルタデータリポジトリ160内のデータセットのために必要とされる重複するフィールド、すなわち多数のファイルにおいて同じフィールドを含む。
要素化プロセス215は、ソース145からファイル/フィールドを受信し、変換指定(spec)210を用いて、フィールド要素ファイル105に格納されたフィールド要素を作成する。要素化プロセス215は、ソース145の各々に対して、フィールド要素ファイル105のうち対応するものを作成する。例えば、要素化プロセス215は、ソース145aに対してはフィールド要素ファイル105a、ソース145bに対してはフィールド要素ファイル105b等を作成する。要素化プロセス215は、ソース145a、145b、及び145c乃至145nからのファイルを、順次または並行して処理することができる。
ソース145内のフィールドと、フィールド要素ファイル105内の要素との間で1対1の関係、1対多の関係、または多対1の関係があることができる。
1対1の関係では、ソース145に含まれるデータフィールドが、フィールド要素ファイル105内のフィールド要素に直接マッピングされる。例えば、ソース145aからのフィールドAは、フィールド要素ファイル105a内のフィールドAに直接マッピングされる。
1対多の関係では、ソース145内の単一のデータフィールドが、フィールド要素ファイル105内の多数のフィールド要素にマージされることができる。例えば、ソース145aからのフィールドBは、フィールド要素ファイル105a内のフィールドC、フィールドD、及びフィールドEにマージされるかまたはそれらによって用いられる。
多対1の関係では、ソース145内の多数のフィールドが、フィールド要素ファイル105内の1つのフィールドにマージされることができる。例えば、ソース145aからのフィールドF、フィールドG、フィールドHは、フィールド要素ファイル105a内のフィールドJにマージされる。
これらの関係は、変換指定210において、行われる変換を記述する規則及びプロセスに同調して定義される。
図2Aは、変換規則の例の表、すなわち表290の図である。この例では、「IndustryCode[D&BIndustryCode][1]」は、1対多の関係であり、「マッピング」欄に記載されているような値及び属性を用いて、フィールド
GBWR_US_1987_SICS1、
GBWR_US_1987_SICS1_DNB_IND_TYPE_CODE_NORMALIZED、
GBWR_US_1987_SICS1_DNB_IND_TYPE_TEXT_NORMALIZED、
GBWR_US_1987_SICS1_DNB_IND_CODE_DESC_NORMALIZED、及び
EDGED&BSTANDARD
にマッピングしている。
図2を再度参照すると、更新検出ステージ220は、変更検出プロセス225及び適用事業体規則プロセス230を含む。更新検出ステージ220は、通常の動作サイクルの一部として、通例は毎日稼働するが、より頻繁であることができる。
変更検出プロセス225は、ダウンストリームマッピング及び比較のために、フィールド要素ファイル105を用いる。変更検出プロセス225は、全フィールド要素ファイル105にわたるすべての変更された要素を検出する。これらの変更は集計され、変更検出プロセス225は、フィールド要素ファイル105内のフィールド要素を、保留更新履歴リポジトリ165内のこれらの要素の現在の値と比較する。
適用事業体規則プロセス230は、全領域データリポジトリ155及びデルタデータリポジトリ160内のいずれのフィールド要素値を実際に更新するかを決定する事業体規則論理を適用する。上述のように、要素化プロセス215は、ソース145a、145b及び145c乃至145nからのファイルを、順次または並行して処理することができる。このように、要素化プロセス215によってソース145a、145b、145c乃至145nからのファイルを処理することは、すべて同時に始めることができる。適用事業体規則プロセス230は、時間的な完全性を管理し、要素化プロセス215がソース145を並行処理したとしても、更新を順番にのみリリースする。また、各ファイルのコンテンツ及びサイズに依存して、いくつかが他よりも早く処理されてもよく、そして、適用事業体規則プロセス230は、時間的な完全性の確認を行い、更新が正しい順序で適用されることを保証する。
フォールドオーバステージ235は、デルタ作成プロセス240を含む。
デルタ作成プロセス240は、大容量の集計データの高速な検索を可能にする。デルタ表、例えばデルタ表245は、デルタデータリポジトリ160内の更新ごとに作成され、これは、特定の時間に更新された実体のみを包含する。システム100では、個々の事業実体が、固有の識別子、例えばDUNS番号によって固有に特定可能である。デルタ表245は、実体のすべての要素を包含し、これは、例えばDUNS番号によって特定可能であり、全領域データリポジトリ155のフルスキャンを強いるのではなく、特定の更新時間での要素変更の高速な検索を可能にする。
図3は、更新検出ステージ220の機能ブロック図である。図3では、吹き出し3−1、3−2、3−3、3−4及び3−5を接続することによって、いくつかのラインが表される。例えば、吹き出し3−1の接続は、フィールド要素ファイル105から変更を検出するプロセス320までのライン、すなわちデータの流れを表す。上述のように、更新検出ステージ220は、変更検出プロセス225及び適用事業体規則プロセス230を含む。上記でさらに述べられるように、変更検出プロセス225は、すべての変更された要素を、すべてのフィールド要素ファイル105全体にわたって検出し、変更を集計し、フィールド要素ファイル105内のフィールド要素を、保留更新履歴リポジトリ165内のこれらの要素の現在の値と比較する。これらの動作を行うために、変更検出プロセス225は、変更を検出するプロセス320を含む。
変更を検出するプロセス320は、フィールド要素ファイル105を受信し、データカタログ305にアクセスする。
データカタログ305は、要素id、要素記述、及び要素固有の名称を包含する。例えば、値「007」の要素idは、要素記述「Unique Entity Identifier」及び要素固有の名称「EntityId」を備える。
上述のように、保留更新履歴リポジトリ165は、各要素に対して時間経過にともなって生じたすべての変更を包含する。したがって、変更を検出するプロセス320は、フィールド要素ファイル105a〜105n内の要素が、保留更新履歴リポジトリ165内のそれらの要素に対する現在の値とは異なるかを判定する。実際に変更されたすべての要素は、変更済み要素ファイル140a〜140nに格納される。変更されたフィールド要素のみが、適用事業体規則プロセス230に進められる。
上述のように、適用事業体規則プロセス230は、全領域データリポジトリ155及びデルタデータリポジトリ160内のいずれのフィールド要素値を実際に更新するかを決定する事業体規則論理を適用する。保留更新履歴リポジトリ165が更新される必要があるかを判定するために、適用事業体規則プロセス230は、更新が、順番が予め決められることができない多数のソースから得られることができることを考慮した論理を適用する。これらの動作を行うために、適用事業体規則プロセス230は、規則を適用するプロセス330及び更新をリリースするプロセス335を含む。
規則を適用するプロセス330は、状態機械論理を使用して、更新が受信される順序とは無関係に、どのようにして更新が適用されるかを判定する。この点において、規則を適用するプロセス330は、最善の品質規則325を利用して、更新を評価し、状態遷移を判定し、そしてどのようにして更新が適用されるかを判定する。
図3Aは、どのようにして3つの異なるソースから得られたデータに状態機械論理が適用されるかの一例を示す表、すなわち表390の図である。グループAは、ソース:S1(145a)から得られた要素のための規則を示し、グループBは、ソース:S2(145b)のための規則を示し、グループCは、ソース:S3(145c)のための規則を示す。これらは、単なる説明のための例である。
最善の品質は、ソース145a〜145nのいずれが、要素に対して最善の、そして次に最善のデータ等を包含するかの定義である。要素は、関連付けられたタイムスタンプを有する。各最善の品質規則は、もしあれば、要素のソースに基づいて、要素に何の変更がなされるか、タイムスタンプがより新しいか、及び要素の現在の値のソースがより良い品質のソースからであるか否かを記述する。
最善の品質規則325は、更新決定をすることができる前に、2つ以上のソース145からの値が存在することを必要としない。用いるための値は、成し遂げた更新のみならず、保留更新履歴リポジトリ165及びソース145a〜145nにおける更新の現在値にも依存する。例えば、保留更新履歴リポジトリ165内の直近の要素の値は、ソース145a(すなわち、前のソース)から得られたかもしれず、同じ要素に対するソース145b(すなわち、現在のソース)からの別の更新は、その後検出される。規則を適用するプロセス330は、最善の品質規則325を利用して、保留更新履歴リポジトリ165が更新されるべきか否かを判定する。
時間的な完全性が維持されることを保証するために、更新は、要素化プロセス215及び/または変更を検出するプロセス320によって、順番にまたは並行して処理され得るが、これらは更新をリリースするプロセス335によって順番にリリースされる。
更新をリリースするプロセス335は、より古い更新プロセスの前により新しい更新プロセスが終了したかを監視し、そうであれば、更新されたデータは、より古いプロセスが終了するまでリリースされないが、これは、両方のプロセスが同じ要素に変更を適用し得るためである。更新をリリースするプロセス335は、保留更新履歴リポジトリ165内に更新を格納し、更新されたカットオフ番号が各更新に適用される。上述のように、カットオフ番号は、各更新に適用され、その特定の時間でなされたすべての変更に関連する。よって、更新をリリースするプロセス335は、カットオフログ152にカットオフ番号を順次格納する。
図3Bは、更新されたデータの例を提供する表、すなわち表395の図である。表395は、要素StreetAddressLine1に対する2つの更新の例を示す。この更新の値は、「value」属性にタイムスタンプ「2015−01−06T134454Z」で生じた「560BROADWAY RM 510」として示される。各更新には、カットオフ番号も与えられ、すべての変更ポイントを追跡することが可能になる。この場合、「cutoff」は、この更新に対して「7」と設定される。更新のソースは、「ソース」属性に示され、この例では、ソースは「worldbase4370」である。この要素に対する第2の更新は、タイムスタンプ「2015−01−13T115914Z」で生じたとして示され、要素値を「560BROADWAY RM 530」に変更する。「cutoff」値は、「9」と設定される。カットオフログ152は、関連付けられた日付及び時間範囲を各カットオフ番号に関連付けて格納し、これによって、すべての更新ポイントを容易に追跡することが可能になる。
図4は、デルタ作成プロセス240の機能ブロック図であり、これは、上述のように、大容量の集計されたデータの高速な検索を可能にする。デルタ作成プロセス240は、全実体をアセンブルするプロセス405と、デルタ表を作成するプロセス410とを含む。全実体をアセンブルするプロセス405及びデルタ表を作成するプロセス410は、周期的な動作更新サイクル中にインスタンス化される。
上述のように、全領域データリポジトリ155は、すべての要素の完全なマスターリストと、それらの現在の値及び以前の値とを保存するために用いられる。よって、全実体をアセンブルするプロセス405は、更新用要素ファイル135a〜135nを読み取り、全領域データリポジトリ155に対する最新の更新を書き込み、全領域データリポジトリ155から最も古い更新を取り除く。このように、全実体をアセンブルするプロセス405は、全領域データリポジトリ155内の直近の更新及び以前の更新のみを保存する。
デルタ表を作成するプロセス410は、更新用要素ファイル135a〜135nを読み取り、これらをデルタデータリポジトリ160に書き込む。変更ごとに、デルタ表を作成するプロセス410は、デルタデータリポジトリ160において、その更新時間で更新された要素のみを包含するデルタ表を作成する。デルタ表は、実体(DUNS)のすべての要素を包含する。変更された値は、デルタ表と同じ名称を有するカットオフ番号を有する。このことは、実体及びその特定の更新時間での変更の高速な検索を可能にし、それによって、変更を判定するために、全領域データリポジトリ155の全表のスキャンが必要ではないことを保証する。
デルタ表がない場合、システム100の出力を用いるシステムは、全領域データリポジトリ155をスキャンして、何らかの変更がなされたかを判定する必要がある。大容量のデータを備えるシステムには、このスキャンは、非常に時間がかかり、さらなるデータを付加するためにさらなる時間がかかる。デルタデータリポジトリ160内のデルタ表は、特定の更新時間でなされた更新を格納する。各デルタ表は、対応するカットオフ番号でマークされる。カットオフログ152は、固有のカットオフ番号によってマークされた全更新期間のリストを保管する。特定の時間範囲内になされた更新を判定するために、カットオフログ152をスキャンして、関連するカットオフ番号のリストを取得することができる。これらのカットオフ番号を用いて、デルタデータリポジトリ160内の対応するデルタ表は、要求された期間におけるすべての更新についてスキャンされることができる。
全領域データリポジトリ155及びデルタデータリポジトリ160は、デルタ作成プロセス240によって更新された後、発行準備される。
実施例
1)ソース145aがフィールドAを包含し、ソース145bがフィールドAを包含すると仮定する。
2)要素化プロセス215は、変換spec210を用いて、フィールドAを要素に変換する方法を判定する。この場合、要素Aへの1対1の変換である。要素化プロセス215は、フィールド要素ファイル105a及び105bを作成し、各々が要素Aを包含する。
3)変更を検出するプロセス320は、フィールド要素ファイル105a及び105bを読み取り、保留更新履歴リポジトリ165内の要素Aの現在の値を読み取り、データカタログ305を用いて、要素Aが変更されたかを判定する。この場合、要素Aは変更されており、変更済み要素ファイル140a及び140bは、要素Aを包含して作成される。
4)規則を適用するプロセス330は、最善の品質規則325を用いて、(変更済み要素ファイル140aから、または変更済み要素ファイル140bからの)いずれの要素Aを用いるかを判定する。この場合、変更済み要素ファイル140bからの要素Aが用いられる。更新用要素ファイル135bは、変更済み要素ファイル140bからの要素Aの値で書き込まれる。
5)更新をリリースするプロセス335は、時間的な完全性を確認して、より最新のデータを包含するかもしれない関連する更新プロセスが、依然として稼動中ではないことを確かめる。本実施例では、稼動中のプロセスがなく、そのため更新用要素ファイル135bからの要素Aに対する更新がリリースされて、保留更新履歴リポジトリ165に書き込まれる。現在の更新時期の間の新しいカットオフレコードは、順次割り当てられたカットオフ番号で、カットオフログ152に付加される。
6)全実体をアセンブルするプロセス405は、更新用要素ファイル135bから全領域データリポジトリ155までの要素Aに対する更新を適用し、要素Aの以前の値を保持する。デルタ表を作成するプロセス410は、要素Aに対する更新を、デルタデータリポジトリ160内の新しいデルタ表(新しいカットオフ番号が付される)に適用し、新しいカットオフ番号を、要素Aの更新された詳細に適用する(図3B参照)。
システム100は、更新の順番を前もって決められることができない場合に、動作処理ウィンドウ内のすべての利用可能なソースから最善のソースが用いられることを保証し、すべての集計された更新に対する高速なアクセスを提供する。システム100は、動作処理ウィンドウ内で更新を、例えば24時間適用することによって、このことを達成する。動作処理ウィンドウは、システム100がいずれかのソース145からの更新を待っているかに関わらず、更新を生じさせる。これらの更新は、多数の多様なソース145から得ることができ、いくつかのデータは、数個のソース145で重複する、例えばcompany_aのsales_dataがソース145a及びソース145b、ならびに場合によってはソース145cに含まれる可能性がある。動作ウィンドウ(マルチ)の間中、数個のソース145からの更新が、処理のために異なる時間で到着するかもしれず、加えて、すべてのソース145が、各動作ウィンドウの間中利用可能ではないかもしれない。システム100は、更新検出ステージ220を利用して、すべてのソース145a、145b及び145cが利用可能であり得るか否かに関わらず、かつソース145a、145b及び145cが利用可能にされる順序に関わらず、いずれのバージョン、例えばcompany_aのsales_dataが用いられるべきかを選択する。さらに、システム100の出力を照会するシステムは、処理されているデータ容量に関わらず、クエリの性能低下を経験しない。システム100は、各更新ポイントでの更新のみを包含しているデルタデータリポジトリ160内のデルタ表を利用し、それによって、更新のリストを探すときに、全領域データリポジトリ155がスキャンされることを必要としないことを保証する。
本明細書で説明された技術は、代表例であり、本開示において何らかの特定の限定を含意するとして解釈されるべきではない。当業者によって、さまざまな代替、組み合わせ、及び改変が考え出され得ることが理解されるべきである。例えば、本明細書で説明されたプロセスに関連付けられたステップは、任意の順序で行われるか、さもなければステップ自体によって特定され、または決定づけられることができる。本開示は、添付の請求項の範囲内に入るすべてのそのような代替、改変及び変形を包含することが意図される。
用語「含む(comprises)」または「含む(comprising)」は、述べられた特徴、整数、ステップまたはコンポーネントの存在を特定するとして解釈されるべきであるが、1つ以上の他の特徴、整数、ステップまたはコンポーネント、もしくはそれらの群の存在を排除しない。用語「1つの(a)」及び「1つの(an)」は、不定冠詞であり、それら自体は、複数の冠詞を有する実施形態を排除しない。

Claims (12)

  1. データ要素を受信することと、
    前記データ要素を、時間経過にともなって前記データ要素に生じた変更を包含する保留更新履歴リポジトリ内の対応するデータ要素と比較し、それによって比較をもたらすことと、
    前記比較に基づいて、前記データ要素を変更したことを判定することと、
    前記データ要素のためのより最新のデータを包含しているかもしれない、動作中の更新プロセスがないことを確認することと、
    前記データ要素を、カットオフログにおける特定の時間範囲に関連付けられたカットオフ番号と関係付けることと、
    (a)前記データ要素の現在の値及び前記データ要素の以前の値を格納する全領域データリポジトリと、(b)(i)前記データ要素が更新されていること、及び(ii)前記カットオフ番号、を示すレコードを格納するデルタデータリポジトリと、における対応するデータ要素を更新することと、
    を含む、方法。
  2. 前記データ要素が、ソースからのものであり、
    前記方法が、
    前記ソースを考慮した規則に従って、前記データ要素を更新するかを判定すること、
    をさらに含む、請求項1に記載の方法。
  3. 前記保留更新履歴リポジトリが、前のソースからの前記データ要素の現在の値を保持し、
    前記規則が、前記前のソースも考慮する、
    請求項2に記載の方法。
  4. 前記データ要素の値が、複数のソースから入手可能であり、
    前記規則が、前記複数のソースを考慮する、
    請求項3に記載の方法。
  5. 時間経過にともなってデータ要素に生じた変更を包含する保留更新履歴リポジトリと、
    カットオフ番号を、特定の時間範囲と関連付けるカットオフログと、
    前記データ要素の現在の値及び前記データ要素の以前の値を格納する全領域データリポジトリと、
    (i)前記データ要素が更新されていること、及び(ii)前記カットオフ番号を示すレコードを格納するデルタデータリポジトリと、
    プロセッサと、
    前記プロセッサによって読み取り可能であり、前記プロセッサに、
    データ要素を受信することと、
    前記データ要素を、前記保留更新履歴リポジトリ内の対応するデータ要素と比較し、それによって比較をもたらすことと、
    前記比較に基づいて、前記データ要素を変更したことを判定することと、
    前記データ要素のためのより最新のデータを包含しているかもしれない、動作中の更新プロセスがないことを確認することと、
    前記データ要素を、カットオフログにおける前記カットオフ番号と関係付けることと、
    (a)前記全領域データリポジトリ及び(b)前記デルタデータリポジトリ内の対応するデータ要素を更新することと、
    を行わせる命令を包含するメモリと、
    を備える、システム。
  6. 前記データ要素が、ソースからのものであり、
    前記命令が、前記プロセッサに、
    前記ソースを考慮した規則に従って、前記データ要素を更新するかを判定すること、
    をさらに行わせる、
    請求項5に記載のシステム。
  7. 前記保留更新履歴リポジトリが、前のソースからの前記データ要素の現在の値を保持し、
    前記規則が、前記前のソースも考慮する、
    請求項6に記載のシステム。
  8. 前記データ要素の値が、複数のソースから入手可能であり、
    前記規則が、前記複数のソースを考慮する、
    請求項7に記載のシステム。
  9. 非一時的である記憶装置であって、プロセッサによって読み取り可能な命令を含み、前記プロセッサに、
    データ要素を受信することと、
    前記データ要素を、時間経過にともなって前記データ要素に生じた変更を包含する保留更新履歴リポジトリ内の対応するデータ要素と比較し、それによって比較をもたらすことと、
    前記比較に基づいて、前記データ要素を変更したことを判定することと、
    前記データ要素のためのより最新のデータを包含しているかもしれない、動作中の更新プロセスがないことを確認することと、
    前記データ要素を、カットオフログにおける特定の時間範囲に関連付けられたカットオフ番号と関係付けることと、
    (a)前記データ要素の現在の値及び前記データ要素の以前の値を格納する全領域データリポジトリと、(b)(i)前記データ要素が更新されていること、及び(ii)前記カットオフ番号とを示すレコードを格納するデルタデータリポジトリと、における対応するデータ要素を更新することと、
    を行わせる記憶装置。
  10. 前記データ要素が、ソースからのものであり、
    前記命令が、前記プロセッサに、
    前記ソースを考慮した規則に従って、前記データ要素を更新するかを判定すること、
    をさらに行わせる、
    請求項9に記載の記憶装置。
  11. 前記保留更新履歴リポジトリが、前のソースからの前記データ要素の現在の値を保持し、
    前記規則が、前記以前のソースも考慮する、
    請求項10に記載の記憶装置。
  12. 前記データ要素の値が、複数のソースから入手可能であり、
    前記規則が、前記複数のソースを考慮する、
    請求項11に記載の記憶装置。
JP2017567560A 2015-03-20 2016-03-17 多数の重複するソースからの大量の時間データの集計 Active JP6450865B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562135982P 2015-03-20 2015-03-20
US62/135,982 2015-03-20
PCT/IB2016/000413 WO2016151397A1 (en) 2015-03-20 2016-03-17 Aggregating high volumes of temporal data from multiple overlapping sources

Publications (2)

Publication Number Publication Date
JP2018514886A true JP2018514886A (ja) 2018-06-07
JP6450865B2 JP6450865B2 (ja) 2019-01-09

Family

ID=55910999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017567560A Active JP6450865B2 (ja) 2015-03-20 2016-03-17 多数の重複するソースからの大量の時間データの集計

Country Status (12)

Country Link
US (1) US10942911B2 (ja)
EP (1) EP3271834B1 (ja)
JP (1) JP6450865B2 (ja)
KR (1) KR102011354B1 (ja)
CN (1) CN107624185B (ja)
AU (1) AU2016238517B2 (ja)
CA (1) CA2980271C (ja)
DK (1) DK3271834T3 (ja)
HK (1) HK1250181A1 (ja)
MX (1) MX2017012158A (ja)
NZ (1) NZ735617A (ja)
WO (1) WO2016151397A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209764B (zh) 2014-10-20 2020-12-15 起元科技有限公司 指定和应用数据的规则
US10209983B2 (en) * 2017-04-19 2019-02-19 Servicenow, Inc. Distributed incremental updating of trays using a source control system
CN112307017A (zh) * 2020-09-16 2021-02-02 北京沃东天骏信息技术有限公司 数据存储方法、查询方法及相关设备、存储介质
CN113007966B (zh) * 2021-03-19 2022-05-06 合肥美菱物联科技有限公司 一种冰箱功能升级的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215984A (ja) * 2010-04-01 2011-10-27 Mitsubishi Electric Corp データ処理装置及びデータ処理方法及びプログラム
US20120089580A1 (en) * 2010-10-06 2012-04-12 Fujitsu Limited Update management apparatus, update management method, and computer-readable medium storing update management program

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2296167A (en) * 1994-12-16 1996-06-19 Ibm Serialising updates in a data conferencing network
US5826253A (en) * 1995-07-26 1998-10-20 Borland International, Inc. Database system with methodology for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in local memory buffers of clients
US6389429B1 (en) * 1999-07-30 2002-05-14 Aprimo, Inc. System and method for generating a target database from one or more source databases
US20040230571A1 (en) * 2003-04-22 2004-11-18 Gavin Robertson Index and query processor for data and information retrieval, integration and sharing from multiple disparate data sources
US7496910B2 (en) * 2004-05-21 2009-02-24 Desktopstandard Corporation System for policy-based management of software updates
KR100786261B1 (ko) 2006-04-03 2007-12-17 (주)위세아이텍 메타데이터 저장소에의 메타데이터 자동적재 방법
US7418453B2 (en) 2006-06-15 2008-08-26 International Business Machines Corporation Updating a data warehouse schema based on changes in an observation model
CN101127034B (zh) 2006-08-18 2012-05-23 国际商业机器公司 数据组织、查询、呈现、存档、恢复、删除、提炼方法及装置和系统
US10152504B2 (en) * 2009-03-11 2018-12-11 Actian Netherlands B.V. Column-store database architecture utilizing positional delta tree update system and methods
CN103136308A (zh) * 2011-11-23 2013-06-05 英业达股份有限公司 应用系统数据库更新的方法和系统
US8751525B2 (en) * 2011-12-23 2014-06-10 Sap Ag Time slider operator for temporal data aggregation
US10860557B2 (en) 2013-03-13 2020-12-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing change value indication and historical value comparison

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215984A (ja) * 2010-04-01 2011-10-27 Mitsubishi Electric Corp データ処理装置及びデータ処理方法及びプログラム
US20120089580A1 (en) * 2010-10-06 2012-04-12 Fujitsu Limited Update management apparatus, update management method, and computer-readable medium storing update management program
JP2012079259A (ja) * 2010-10-06 2012-04-19 Fujitsu Ltd 更新管理装置、更新管理方法および更新管理プログラム

Also Published As

Publication number Publication date
WO2016151397A1 (en) 2016-09-29
US20160275130A1 (en) 2016-09-22
CN107624185B (zh) 2021-01-15
CA2980271C (en) 2021-02-02
EP3271834A1 (en) 2018-01-24
KR102011354B1 (ko) 2019-08-16
EP3271834B1 (en) 2019-10-23
NZ735617A (en) 2019-05-31
AU2016238517A1 (en) 2017-10-12
CN107624185A (zh) 2018-01-23
MX2017012158A (es) 2018-07-06
JP6450865B2 (ja) 2019-01-09
KR20170137756A (ko) 2017-12-13
CA2980271A1 (en) 2016-09-29
AU2016238517B2 (en) 2020-05-14
US10942911B2 (en) 2021-03-09
DK3271834T3 (da) 2020-01-27
HK1250181A1 (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
US20230401187A1 (en) Method and system for migrating content between enterprise content management systems
US8938430B2 (en) Intelligent data archiving
JP6450865B2 (ja) 多数の重複するソースからの大量の時間データの集計
US10346381B2 (en) Atomic update operations in a data storage system
US11977532B2 (en) Log record identification using aggregated log indexes
US20130275369A1 (en) Data record collapse and split functionality
WO2016138859A1 (zh) 数据同步方法和集群节点
US20140095549A1 (en) Method and Apparatus for Generating Schema of Non-Relational Database
US11853279B2 (en) Data storage using vectors of vectors
US20120197849A1 (en) Retrieving information from a relational database using user defined facets in a faceted query
US11175993B2 (en) Managing data storage system
CN112416957A (zh) 基于数据模型层的数据增量更新方法、装置及计算机设备
WO2016082559A1 (zh) 一种数据写入方法及存储设备
CN109542860B (zh) 基于hdfs的业务数据管理方法、终端设备
CN116150236A (zh) 数据同步方法及装置、电子设备、计算机可读存储介质
US11556519B2 (en) Ensuring integrity of records in a not only structured query language database
JP2018028776A (ja) ソフトウェア資産管理装置、ソフトウェア資産管理方法、および、ソフトウェア資産管理プログラム
JP2018085042A (ja) データベース管理装置、情報処理システム、データベース管理方法及びデータベース管理プログラム
US20080155352A1 (en) Method and system for carrying out an operation based on a log record of a computer program
US20240070134A1 (en) Determining references to predefined types of records
JP6280006B2 (ja) データベースシステム、データベースシステムの動作方法およびコンピュータプログラム
CN115617570A (zh) 增量数据的备份方法、装置、电子设备及存储介质
CN116150198A (zh) 数据处理方法及装置、电子设备、存储介质
JP2013196086A (ja) 構成情報管理装置,構成情報管理プログラム
CN115129717A (zh) 实现自动分区的数据写入方法、设备以及计算机可读介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181023

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181210

R150 Certificate of patent or registration of utility model

Ref document number: 6450865

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250