(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-28
(54)【発明の名称】データセットにおけるデータ品質問題を訂正するための処理ワークフローの生成及び実行
(51)【国際特許分類】
G06F 11/36 20060101AFI20240220BHJP
G06F 11/07 20060101ALI20240220BHJP
G06Q 10/10 20230101ALI20240220BHJP
【FI】
G06F11/36 192
G06F11/07 193
G06Q10/10 310
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023547187
(86)(22)【出願日】2022-03-01
(85)【翻訳文提出日】2023-08-23
(86)【国際出願番号】 US2022018310
(87)【国際公開番号】W WO2022187224
(87)【国際公開日】2022-09-09
(32)【優先日】2021-03-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】509123208
【氏名又は名称】アビニシオ テクノロジー エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】マーティン,ジョナサン
(72)【発明者】
【氏名】ウェイス,アダム
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042HH49
5B042KK17
(57)【要約】
システム及び方法は、データ処理システムによって、ワークフローであって、データ記録に対するデータ品質テストの出力を示す結果データを、結果データ及び結果データを記述するメタデータを受信することに応答して、ワークフローの状態及び1つ以上の処理ステップと関連付けられたデータ品質問題を生成することによって処理して、データ品質テストと関連付けられたデータ品質エラーを解決するための、ワークフローを実行するためのものである。動作は、データ品質問題によって指定された状態に基づいて結果データを処理するためのワークフローを生成することを含む。ワークフローを生成することは、結果データとデータ品質問題の状態とに基づいて、データ品質エラーを解決する責任を負うエンティティを割り当てることと、メタデータに基づいて、データ品質テストにおいて指定されたデータ品質条件を満たすための1つ以上のアクションを判定することと、データ品質問題と関連付けられた状態を更新することと、を含む。
【特許請求の範囲】
【請求項1】
データ処理システムによって、ワークフローであって、データ記録に対するデータ品質テストの出力を示す結果データを、前記結果データ及び前記結果データを記述するメタデータを受信することに応答して、前記ワークフローの状態と関連付けられたデータ品質問題を生成するように処理して、前記データ品質テストと関連付けられたデータ品質エラーを解決するための、ワークフローを実行するための方法であって、前記方法は、
前記データ記録に対する前記データ品質テストの前記出力を指定する前記結果データを受信することと、
前記データ品質テストを指定する、前記結果データと関連付けられた前記メタデータを受信することと、
前記結果データ及び前記メタデータに基づいて、データ品質問題であって、前記結果データを処理して前記データ品質問題を解決するための前記ワークフローの状態を指定する、データ品質問題を提供することと、
前記データ品質問題によって指定された前記状態に基づいて前記結果データを処理するための前記ワークフローを生成することであって、前記ワークフローを生成することが、
前記結果データと前記データ品質問題によって指定された前記状態とに基づいて、前記データ品質エラーを解決する責任を負うエンティティを割り当てることと、
前記メタデータに基づいて、前記データ品質問題を解決するための前記ワークフローの1つ以上の処理アクションを判定することと、
前記データ品質問題によって指定された前記状態を更新することと、を含む、生成することと、
前記ワークフローを表すデータをワークフロー実行システムに送信することと、を含み、送信された前記データが、前記ワークフローの前記実行のために使用される、方法。
【請求項2】
前記データ品質問題が、前記データ品質問題を識別するキー値と関連付けられており、プロセスは、
前記メタデータを受信することに応答して、前記キー値を評価することによって、前記データ品質問題が前記データ品質テストのための前記データソースに対して既に以前に生成されたと判定することと、
前記データ品質テストの受信された前記結果データ及び受信された前記メタデータに基づいて、前記既に以前に生成されたデータの品質問題を更新することと、を含み、前記データ品質問題を更新することが、前記データ品質問題によって指定された前記状態を変更することを含む、請求項1に記載の方法。
【請求項3】
前記データ品質問題を更新することが、前記データ品質問題によって指定された現在の状態に基づいて、前記結果データを異なるエンティティに再割り当てすることを含む、請求項2に記載の方法。
【請求項4】
前記データ品質問題を更新することが、前記データ品質問題によって指定された前記現在の状態に基づいて、前記データ品質問題と関連付けられたデータ処理アクションのタイムラインを追加することを含む、請求項2に記載の方法。
【請求項5】
前記メタデータが、前記データ品質テストのデータ品質条件を指定し、前記方法が、
前記データ品質問題を更新することに応答して、前記データ品質条件が満たされていると判定することを更に含み、前記データ品質問題と関連付けられた前記状態を変更することは、前記データ品質問題が、解決されたデータ品質エラーと関連付けられていることを示すことを含む、請求項2に記載の方法。
【請求項6】
前記データ品質問題と関連付けるためのスケジューリングデータであって、前記スケジューリングデータが、前記データ品質テストを所定の時間間隔で実行させる、スケジューリングデータを受信することと、
前記データ品質テストと関連付けられた前記時間間隔を識別することと、
前記時間間隔を表すデータを、割り当てられた前記エンティティに送信することと、を更に含む、請求項1に記載の方法。
【請求項7】
前記エンティティを割り当てることが、
前記データソースから、前記データ品質エラーを解決する責任を負う、前記データソースと関連付けられた適格なエンティティのセットを判定することと、
前記適格なエンティティのセットから前記エンティティを割り当てるための選択基準を前記データソースから受信することと、
前記選択基準に基づいて前記エンティティを割り当てることと、を含む、請求項1に記載の方法。
【請求項8】
前記選択基準が、データ品質エラーのタイプを指定し、前記結果データと関連付けられた前記メタデータは、前記データ品質問題が前記データ品質エラーのタイプと関連付けられていることを指定し、前記エンティティが、前記データ品質エラーのタイプを解決するのに適格である、請求項7に記載の方法。
【請求項9】
前記選択基準が、前記適格なエンティティのセットのうちの各エンティティに対して前記データ品質問題の特定の状態を指定し、前記データ品質問題の前記状態が、割り当てられた前記エンティティに対する前記特定の状態である、請求項7に記載の方法。
【請求項10】
前記エンティティが、前記データ処理システムの特定のデバイスである、請求項1に記載の方法。
【請求項11】
前記エンティティが、前記データ処理システムのユーザである、請求項1に記載の方法。
【請求項12】
前記ワークフローを実行することが、
前記結果データを処理するために取られたアクションのタイムラインを生成することと、
前記取られたアクションのタイムラインを表すデータを前記エンティティに送信することと、を更に含む、請求項1に記載の方法。
【請求項13】
前記データ品質問題の各状態が、前記結果データを処理するための1つ以上の候補アクションと関連付けられている、請求項1に記載の方法。
【請求項14】
前記結果データ及び前記メタデータに基づいて、データエラー、ルールエラー、又は参照データエラーのうちの1つから選択される、前記データ品質エラーのカテゴリを判定することを更に含む、請求項1に記載の方法。
【請求項15】
前記データ品質問題は、受信された前記結果データを取得するために前記データ品質テストによってテストされている前記特定のデータ記録の識別と、前記データ品質テストにおいて前記特定のデータ記録にどの1つ以上のデータ品質ルールが適用されているかを指定するデータと、前記特定のデータ記録への前記データ品質ルールの各々の適用に対する結果と、を含む、請求項1に記載の方法。
【請求項16】
前記キー値が、前記データ品質問題を追加データと関連付けており、前記追加データが、前記データ品質問題と関連付けられたクライアントデバイスの識別子、前記データ品質問題を有する前記データセットの所有者、前記データ品質問題を解決する責任を負うエンティティ、前記データ品質問題を訂正するための前記ワークフロー、及び前記ワークフローの前記状態を含む、請求項2に記載の方法。
【請求項17】
前記データ品質問題が、前記結果データを処理して前記データ品質問題を解決するための前記ワークフローの1つ以上のデータ処理アクションを指定する、請求項1に記載の方法。
【請求項18】
前記結果データは、前記データ記録の一部分について、前記部分が、前記データ品質テスト中に前記データ記録に適用される1つ以上のデータ品質ルールにおいて指定された条件を満たすかどうかを指定し、前記結果データは、前記テスト中に満たされない前記データ品質ルールの1つ以上の条件、及び前記データ記録のどの部分が前記条件を満たさなかったかを識別する、請求項1に記載の方法。
【請求項19】
前記結果データは、前記テストのデータ品質ルールのデータ品質条件に見合わなかったことを含め、前記データ品質テストがどのように不合格になったかを指定する、請求項1に記載の方法。
【請求項20】
前記データ処理アクションは、前記データ品質テストのデータ品質ルール定義に欠陥があるかどうかを判定するための前記データ記録の値の分析を含む、請求項1に記載の方法。
【請求項21】
前記メタデータが、前記データ品質テストのデータ品質条件と、前記データ品質テストを構成したオブジェクトとを指定し、前記アクションが、前記データ品質テストにおいて指定された前記データ品質条件を満たすためのものである、請求項1に記載の方法。
【請求項22】
どのデータ品質テストが不合格になったか、及び前記テストがどのように不合格になったかに基づいて、異なるワークフローが生成されるように、受信された前記メタデータに基づいて、前記ワークフローの構成可能なデータ処理ルールを使用して前記ワークフローを構成することを更に含む、請求項1に記載の方法。
【請求項23】
前記データ品質問題の前記更新が、新規のデータ品質問題を生成することなく実行される、請求項2に記載の方法。
【請求項24】
データ処理システムによって、ワークフローであって、データ記録に対するデータ品質テストの出力を示す結果データを、前記結果データ及び前記結果データを記述するメタデータを受信することに応答して、前記ワークフローの状態及び1つ以上の処理ステップと関連付けられたデータ品質問題を生成することによって処理して、前記データ品質テストと関連付けられたデータ品質エラーを解決するための、ワークフローを実行するためのシステムであって、前記システムが、
少なくとも1つのプロセッサと、
命令を記憶するメモリと、を含み、前記命令が、前記少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、
データ記録に対するデータ品質テストの出力を指定する結果データを受信することと、
前記データ品質テストのデータ品質条件と、前記データ品質テストを構成したオブジェクトとを指定する、前記結果データと関連付けられたメタデータを受信することと、
前記結果データ及び前記メタデータに基づいて、前記結果データを処理するためのワークフローの状態を指定するデータ品質問題を生成することと、
前記データ品質問題によって指定された前記状態に基づいて前記結果データを処理するための前記ワークフローを生成することであって、前記ワークフローを生成することが、
前記結果データと前記データ品質問題の前記状態とに基づいて、前記データ品質エラーを解決する責任を負うエンティティを割り当てることと、
前記メタデータに基づいて、前記データ品質テストにおいて指定された前記データ品質条件を満たすための1つ以上のアクションを判定することと、
前記データ品質問題と関連付けられた前記状態を更新することと、を含む、生成することと、
前記ワークフローを表すデータをワークフロー実行システムに送信することと、を含む動作を実行させる、システム。
【請求項25】
前記データ品質問題が、前記データ品質問題を識別するキー値と関連付けられており、プロセスは、
前記メタデータを受信することに応答して、前記キー値を評価することによって、前記データ品質問題が前記データ品質テストのための前記データソースに対して既に生成されていると判定することと、
前記データ品質テストの前記結果データに基づいて前記データ品質問題を更新することと、を含み、前記データ品質問題を更新することが、前記データ品質問題と関連付けられた前記状態を変更することを含む、請求項24に記載のシステム。
【請求項26】
前記データ品質問題を更新することが、前記結果データを異なるエンティティに再割り当てすることを含む、請求項25に記載のシステム。
【請求項27】
前記データ品質問題を更新することが、前記データ品質問題と関連付けられたデータ処理アクションのタイムラインを追加することを含む、請求項25に記載のシステム。
【請求項28】
データ処理システムによって、ワークフローであって、データ記録に対するデータ品質テストの出力を示す結果データを、前記結果データ及び前記結果データを記述するメタデータを受信することに応答して、前記ワークフローの状態及び1つ以上の処理ステップと関連付けられたデータ品質問題を生成することによって処理して、前記データ品質テストと関連付けられたデータ品質エラーを解決するための、ワークフローを実行するための命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサによって前記命令を実行することにより、前記少なくとも1つのプロセッサに、
データ記録に対するデータ品質テストの出力を指定する結果データを受信することと、
前記データ品質テストのデータ品質条件と、前記データ品質テストを構成したオブジェクトとを指定する、前記結果データと関連付けられたメタデータを受信することと、
前記結果データ及び前記メタデータに基づいて、前記結果データを処理するためのワークフローの状態を指定するデータ品質問題を生成することと、
前記データ品質問題によって指定された前記状態に基づいて前記結果データを処理するための前記ワークフローを生成することであって、前記ワークフローを生成することが、
前記結果データと前記データ品質問題の前記状態とに基づいて、前記データ品質エラーを解決する責任を負うエンティティを割り当てることと、
前記メタデータに基づいて、前記データ品質テストにおいて指定された前記データ品質条件を満たすための1つ以上のアクションを判定することと、
前記データ品質問題と関連付けられた前記状態を更新することと、を含む、生成することと、
前記ワークフローを表すデータをワークフロー実行システムに送信することと、を含む動作を実行させる、1つ以上の非一時的コンピュータ可読媒体。
【請求項29】
前記データ品質問題が、前記データ品質問題を識別するキー値と関連付けられており、プロセスは、
前記メタデータを受信することに応答して、前記キー値を評価することによって、前記データ品質問題が前記データ品質テストのための前記データソースに対して既に生成されていると判定することと、
前記データ品質テストの前記結果データに基づいて前記データ品質問題を更新することと、を含み、前記データ品質問題を更新することが、前記データ品質問題と関連付けられた前記状態を変更することを含む、請求項28に記載の1つ以上の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本出願は、2021年3月1日に出願された米国特許出願第63/155,148号に対する優先権を主張し、その全容は、参照により本明細書に組み込まれる。
【0002】
(発明の分野)
本開示は、データセットにおけるデータ品質問題を自動的に訂正するためのワークフローを生成することに関する。より具体的には、本開示は、データセットにおけるデータ品質問題を識別し、データ品質問題が新規であるか又は再発生しているかに基づいてデータ品質問題を訂正するためのデータ処理ワークフローを生成することに関する。
【背景技術】
【0003】
コンピュータシステムは、データを送信、受信、及び/又は処理するために使用され得る。例えば、サーバコンピュータシステムは、リソース(例えば、ウェブページなどのウェブコンテンツ)を受信及び記憶し、コンテンツを1つ以上のクライアントコンピュータシステムで利用可能にするために使用され得る。クライアントコンピュータシステムからコンテンツの要求を受信すると、サーバコンピュータシステムは、要求されたコンテンツを取り出し、コンテンツをクライアントコンピュータシステムに送信して要求を満たし得る。
【0004】
データのセットは、データフィールドに記憶されたデータ値を含み得る。データフィールドは、データ値のうちの1つ以上を含み得る。データフィールドの多くのインスタンスが、データセット内に(例えば、異なるフィールド内に)存在し得る。
【0005】
データフィールドは、データフィールドの値がそのデータフィールドの値に関する1つ以上の基準を満たさないデータ品質エラーを有する可能性がある。データ品質エラーが識別されると、データ品質エラーのコンテキストの分析なしにデータ品質エラーを訂正する方法を判定することは困難である可能性がある。
【発明の概要】
【0006】
本明細書に記載されるデータ処理システムは、データセットにおけるデータ品質問題を識別し、データ品質問題を自動的に訂正するためのデータ処理ワークフローを生成するように構成される。データ処理システムは、1つ以上のデータセットのデータ品質分析から結果を受信する。データ品質分析は、データセット内の値が、それらのデータセットに関する1つ以上のデータ品質テストに合格しているか不合格であるかを判定する。データ処理システムは、データ品質分析の結果データを受信する。
【0007】
データ処理システムは、結果データに含まれるデータに基づいて、データ品質テストを表す新規のデータ品質問題を生成するかどうか、又は結果データが既存のデータ品質問題を表すかどうかを判定するように構成される。データ品質問題は、特定のデータセットに対するデータ品質テストと関連付けられたデータを含む。データ品質問題は、どのルールがデータ品質テストに適用されるかを指定するデータ、各データ品質ルールをテストするための結果、及びテストされている特定のデータセットの識別を含む。したがって、データ品質問題は、データ品質テストの結果データと、データ品質テストを一意に識別するメタデータとを含む。
【0008】
データ処理システムによって生成されたデータ品質問題は、データ品質問題を一意に識別する識別子と、データ品質問題に対応するデータ処理ワークフロー内の位置を表す状態と関連付けられる。識別子は、データ品質問題を追加データと関連付けるために使用されるキー値を含むことができる。例えば、追加データは、データ品質問題と関連付けられたクライアントデバイスの識別子、データ品質問題を有するデータセットの所有者、データ品質問題を解決する責任を負うエンティティ、データ品質問題を訂正するためのワークフロー、及びワークフローの状態を含むことができる。データ処理システムは、結果データ内で識別された新規のデータ品質問題について新規のデータ品質問題データを生成するように、又は結果データ内の再発生しているデータ品質問題について既存のデータ品質問題データを更新するように構成される。
【0009】
データ品質問題が生成又は更新されると、データ処理システムは、データ品質問題を解決するためのデータ処理ワークフローを構成する。データ処理ワークフローは、データ品質問題内のデータ又はデータ品質問題と関連付けられたデータに基づいて選択される一連のデータ処理ステップを含む。例えば、データ処理ワークフローは、データ品質問題を解決する責任を割り当てること、データ品質問題に関して取られるアクションのタイムラインを生成することを含むアクション又はステップを含むことができる、
【0010】
実施形態は、以下の特徴のうちの1つ以上を含むことができる。
【0011】
一態様では、プロセスは、データ処理システムによって、ワークフローであって、データ記録に対するデータ品質テストの出力を示す結果データを、結果データ及び結果データを記述するメタデータを受信することに応答して、ワークフローの状態及び1つ以上の処理ステップと関連付けられたデータ品質問題を生成することによって処理して、データ品質テストと関連付けられたデータ品質エラーを解決するための、ワークフローを実行するためのものであり、含む。プロセスは、データ記録に対するデータ品質テストの出力を指定する結果データを受信することを含む。プロセスは、データ品質テストのデータ品質条件と、データ品質テストを構成したオブジェクトとを指定する、結果データと関連付けられたメタデータを受信することを含む。プロセスは、結果データ及びメタデータに基づいて、結果データを処理するためのワークフローの状態を指定するデータ品質問題を生成することを含む。プロセスは、データ品質問題によって指定された状態に基づいて結果データを処理するためのワークフローを生成することを含む。ワークフローを生成することは、結果データとデータ品質問題の状態とに基づいて、データ品質エラーを解決する責任を負うエンティティを割り当てることと、メタデータに基づいて、データ品質テストにおいて指定されたデータ品質条件を満たすための1つ以上のアクションを判定することと、データ品質問題と関連付けられた状態を更新することと、を含む。プロセスは、ワークフローを表すデータをワークフロー実行システムに送信することを含む。
【0012】
いくつかの実装形態では、データ品質問題は、データ品質問題を識別するキー値と関連付けられている。プロセスは、メタデータを受信することに応答して、キー値を評価することによって、データ品質問題がデータ品質テストのためのデータソースに対して既に生成されていると判定することを含む。プロセスは、データ品質テストの結果データに基づいてデータ品質問題を更新することを含み、データ品質問題を更新することは、データ品質問題と関連付けられた状態を変更することを含む。いくつかの実装形態では、データ品質問題を更新することは、結果データを異なるエンティティに再割り当てすることを含む。いくつかの実装形態では、データ品質問題を更新することは、データ品質問題と関連付けられたデータ処理アクションのタイムラインを追加することを含む。いくつかの実装形態では、プロセスは、データ品質問題を更新することに応答して、データ品質条件が満たされていると判定することを含む。データ品質問題と関連付けられた状態を変更することは、データ品質問題が、解決されたデータ品質エラーと関連付けられていることを示すことを含む。
【0013】
いくつかの実装形態では、プロセスは、データ品質問題と関連付けるためのスケジューリングデータであって、スケジューリングデータが、データ品質テストを所定の時間間隔で実行させる、スケジューリングデータを受信することを含む。プロセスは、データ品質テストと関連付けられた時間間隔を識別することを含む。プロセスは、時間間隔を表すデータを、割り当てられたエンティティに送信することを含む。
【0014】
いくつかの実装形態では、エンティティを割り当てることは、データソースから、データ品質エラーを解決する責任を負う、データソースと関連付けられた適格なエンティティのセットを判定することと、適格なエンティティのセットからエンティティを割り当てるための選択基準をデータソースから受信することと、選択基準に基づいてエンティティを割り当てることと、を含む。いくつかの実装形態では、選択基準は、データ品質エラーのタイプを指定し、結果データと関連付けられたメタデータは、データ品質問題がデータ品質エラーのタイプと関連付けられていることを指定し、エンティティは、データ品質エラーのタイプを解決するのに適格である。いくつかの実装形態では、選択基準は、適格なエンティティのセットのうちの各エンティティに対してデータ品質問題の特定の状態を指定し、データ品質問題の状態は、割り当てられたエンティティに対する特定の状態である。
【0015】
いくつかの実装形態では、エンティティは、データ処理システムの特定のデバイスである。
【0016】
いくつかの実装形態では、エンティティは、データ処理システムのユーザである。
【0017】
いくつかの実装形態では、ワークフローを実行することは、結果データを処理するために取られたアクションのタイムラインを生成することと、取られたアクションのタイムラインを表すデータをエンティティに送信することとを更に含む。
【0018】
いくつかの実装形態では、データ品質問題の各状態は、結果データを処理するための1つ以上の候補アクションと関連付けられている。
【0019】
いくつかの実装形態では、プロセスは、結果データ及びメタデータに基づいて、データエラー、ルールエラー、又は参照データエラーのうちの1つから選択される、データ品質エラーのカテゴリを判定することを含む。
【0020】
これらのプロセスのいずれも、1つ以上の処理デバイスと、命令を記憶するメモリとを含むシステムとして実装され得、この命令は、1つ以上の処理デバイスによって実行されるときに、1つ以上の処理デバイスにプロセスの動作を実行させるように構成されている。いくつかの実装形態では、1つ以上の非一時的コンピュータ可読媒体は、命令を記憶するように構成され得、命令は、1つ以上の処理デバイスによって実行されるときに、1つ以上の処理デバイスにプロセスの動作を実行させるように構成される。
【0021】
DQ結果データにおけるデータ品質(data quality、DQ)問題のためのフィードバックループがあってもよく、再発生する問題は、新規の結果データ及び新規のメタデータで更新される。どのDQテストが不合格になったか、及びそれらがどのように不合格になったか(例えば、どの閾値条件が満たされなかったか)に基づいて、異なるDQ項目を生成/更新することができる。
【0022】
(DQ問題を表す)データ項目は、新規のDQ結果が受信されると、新規のメタデータで繰り返し更新することができる。対応するワークフローは自動的に更新される。システムは、再発生するDQ問題のために新規のDQ項目を生成することを回避することができ、その場合、代わりに既存のDQ項目が更新される。
【0023】
各データ品質問題に使用されるカスタマイズ可能なワークフローがあってもよく、ワークフローは、DQ問題と関連付けられたメタデータに基づいて自動的に構成される。メタデータを使用して、DQ項目と関連付けられたワークフローを構成することができ、異なるDQ問題に対して異なる挙動が存在し得る。
【0024】
ワークフローは、DQ問題を処理する責任の割り当て、DQ問題を処理するために実行する処理アクション(例えば、DQルール定義に欠陥があるかどうかを判定するためのデータ記録の値の更なる分析)を含んでもよい。責任の割り当ては、DQ項目と関連付けられた現在の状態に基づいて変化することができる(ワークフローの状態が変化すると、エスカレーションが発生する可能性がある)。
【0025】
システムは、DQ項目のワークフロー実行の状態が何であるかに基づいて、DQ項目と関連付けられた責任のタイムラインを生成することができる。
【0026】
システムは、DQ項目のワークフロー実行の状態が何であるかに基づいて、DQ項目と関連付けられた責任のタイムラインを生成する。
【0027】
態様は、1つ以上の利点を含み得る。再発生するデータ品質問題を認識し、異なるエンティティに割り当てることができる(エスカレーション)。問題が経時的にどのように変化し、誰がそれを解決しようとしているかを示すタイムラインを生成することができる。各データ項目と関連付けられたメタデータは、満たされなかった正確なデータ品質閾値を識別する。これは、問題が、データが低いデータ品質を有することではなく、ルールが不適切に定義されていることであり得ることを示すことができる。各ワークフローは、各状態が、データ品質エラーを解決するために利用可能なアクションの異なるセットを指定することができるので、構成可能である。
【0028】
加えて、データ品質問題をポピュレートし、ワークフローを生成するためのルールの構成にはかなりの柔軟性がある。同様のデータ品質問題に対して異なるワークフローを生成する柔軟性は、広範囲のユーザが、自身の特定のニーズに見合うようにシステムを調整し、問題の自動生成から最大の利益を得ることを可能にする。
【0029】
DQ結果データにおけるデータ品質(DQ)問題を処理するためのフィードバックループが存在する。再発生する問題は、新規の結果データ及び新規のメタデータで更新される。各データ品質問題に対するカスタマイズ可能なワークフローは、DQ問題と関連付けられたメタデータに基づいて自動的に構成される。各DQ問題に対して状態が維持される。状態は、ワークフローの一部分に対応する。データ品質問題が再発生している場合、ワークフローの現在の状態に基づいて、異なるワークフローアクションを生成することができる。これにより、(例えば、再発生しているデータ品質問題のために)割り当てられた責任エンティティの自動的なエスカレーションが可能になる。
【0030】
データ処理システムは、大規模で複雑なデータネットワーク上のデータ品質問題を管理するように構成される。規模において、データは、多くのソフトウェア環境、異なるデータセット、異なる国などにおいて、複雑な方法で生成され、転送される。人々は絶えず変化し移動しているので、データ処理システムは、データ品質問題の解決に対する責任を確実に委任し、必要に応じて別のエンティティに自動的にエスカレートすることができる。いくつかの実装形態では、データ処理システムは、深刻なデータ品質問題を有するデータを、ネットワーク化されたシステムの他の部分における元のデータが汚染されるのを防止するために隔離するように構成されたワークフローを生成することができる。例えば、データ品質問題は、新規のデータ品質テスト結果が受信されると、新規のメタデータで繰り返し更新される。対応するワークフローは自動的に更新される。
【0031】
データ品質問題を処理する責任の割り当て、及び/又はデータ品質問題を処理するために実行する処理アクション(例えば、データ品質ルール定義に欠陥があるかどうかを判定するためのデータ記録の値の更なる分析)を含むワークフローが自動的に生成される。データ品質テストからのメタデータは、構成可能なルールを使用してデータ品質問題と関連付けられたワークフローを構成するために使用される。その結果、どのデータ品質テストが不合格になり、それらがどのように不合格になったか(例えば、どのデータ品質閾値条件が満たされなかったか)に基づいて、異なるワークフローがデータ処理システムによって提案される。
【0032】
システムは、再発生するデータ品質問題に対する新規のデータ品質問題の生成を回避する。そうではなく、代わりに既存のデータ品質問題が更新される。責任の割り当ては、データ品質問題と関連付けられた現在の状態に基づいて変化することができる。例えば、ワークフローの状態が変化すると、エスカレーションを行うことができる。いくつかの実装形態では、データ処理システムは、データ品質問題のワークフロー実行の状態が何であるかに基づいて、データ品質問題と関連付けられた責任のタイムラインを生成することができる。データ処理システムは、各データ品質問題について明示的に指定又は定義されるのではなく、データ品質問題と関連付けられたメタデータから自動的に所有権を割り当てることを可能にする。加えて、関連属性(例えば、メタデータ)が、生成されたデータ品質問題と共に記憶される。属性値は、新規のデータ品質結果がデータ品質テストプロセスから受信されたときに自動的に更新される。したがって、データ処理システムは、再発生するデータ品質問題を自動的に認識し、ユーザへの包括的な提示のために既存のDQ項目を新規のメタデータで更新するように構成される。データ処理システムは、データ品質問題がいつ解決されたかを自動的に判定し、問題を潜在的に解決されたものとしてタグ付けするように構成される。例えば、責任エンティティにフォローアップが提供されることを指定するワークフローを構成することができる。次いで、エンティティ(例えば、ユーザ)は、データ品質問題を解決済みとしてマークするときを決定する。
【0033】
1つ以上の実施形態の詳細を、添付の図面及び以下の説明に記載する。他の特徴及び利点は、明細書及び図面、並びに特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【0034】
【
図1A】自動的なデータ品質問題生成及びワークフロー実行のためのデータ処理システムのブロック図である。
【
図1B】自動的なデータ品質問題生成及びワークフロー実行のためのデータ処理システムのブロック図である。
【
図2A】自動的なデータ品質問題生成及びワークフロー実行のためのデータ処理システムのブロック図である。
【
図2B】自動的なデータ品質問題生成及びワークフロー実行のためのデータ処理システムのブロック図である。
【
図2C】自動的なデータ品質問題生成及びワークフロー実行のためのデータ処理システムのブロック図である。
【
図2D】自動的なデータ品質問題生成及びワークフロー実行のためのデータ処理システムのブロック図である。
【
図3】自動的なデータ品質問題生成及びワークフロー実行のための
図1A~
図1Bのデータ処理システムのユーザインターフェースの例示的な画面である。
【
図4】自動的なデータ品質問題生成及びワークフロー実行のための
図1A~
図1Bのデータ処理システムのユーザインターフェースの例示的な画面である。
【
図5】自動的なデータ品質問題生成及びワークフロー実行のための
図1A~
図1Bのデータ処理システムのユーザインターフェースの例示的な画面である。
【
図6A】自動的なデータ品質問題生成及びワークフロー実行のための
図1A~
図1Bのデータ処理システムのユーザインターフェースの例示的な画面である。
【
図6B】自動的なデータ品質問題生成及びワークフロー実行のための
図1A~
図1Bのデータ処理システムのユーザインターフェースの例示的な画面である。
【
図7】自動的なデータ品質問題生成及びワークフロー実行のための
図1A~
図1Bのデータ処理システムのユーザインターフェースの例示的な画面である。
【発明を実施するための形態】
【0035】
図1Aは、データ処理システム102を含む環境100aのブロック図を示す。データ処理システム102は、データ品質テスト結果データ105(結果データ又はデータ品質結果データとも呼ばれる)を処理するように構成される。結果データは、データ記録のデータ品質テストからの出力を含む。結果データ105は、データ記録の部分(例えば、フィールドの値)が、データ品質テストシステム104によって適用されるデータ品質テスト中にデータ記録に適用されるデータ品質ルールにおいて指定された条件を満たすかどうかを指定する。結果データ105は、テスト中に満たされていないデータ品質ルール、及びどの記録がデータ品質ルールを満たさなかったかを識別する報告を含む。結果データは以下に詳細に説明される。
【0036】
データ処理システム102は、データ品質問題識別モジュール112によって、結果データ105からのデータ記録内のデータ品質問題を識別するように構成される。データ品質問題は、データ品質テストからの特定のデータ品質エラー、問題、又は障害を指定するデータ130と、場合によっては、その特定のデータ品質エラー、問題、又は障害と関連付けられた他のデータとを含む。他のデータは、テストされるデータ記録の名前、テストされるデータ記録の所有者、データドメイン、データタイプ、ルール識別子、データ記録が以前にテストされているかどうかを示すデータ、データ品質問題のカテゴリ又はタイプ、データ品質問題の処理の責任を負うエンティティ、期間、タイムスタンプ、及びデータ品質テストを記述する他のメタデータのうちの1つ以上を指定する属性(例えば、メタデータ)を含む。データ品質問題データ130は、データ品質テスト報告データなどの結果データ105の部分を含むことができる。データ品質問題に含まれるデータについては、
図6A~
図6Bに関連して更に詳細に後述する。他のデータは、ワークフロー132と関連付けられた1つ以上のデータオブジェクトを含むことができる。後述されるように、ワークフローは、データ品質問題を解決するために実行するための一連のデータ処理アクション又はステップを含む。
【0037】
各データ品質テストは、制御ポイント136を使用して構成される。制御ポイント136は、ワークフロー132と関連付けられた1つ以上の属性値の構成を可能にするデータ構造を含む。制御ポイントは、どのデータ品質テストがどのデータに対して実行されるかを指定する。例えば、制御ポイント136は、特定のデータセットの特定のフィールド又は記録をテストするための特定のデータ品質ルール(又はルールのセット)を指定することができる。制御ポイント136は、テストするデータセット、適用するルール、テストされたデータ及びテスト結果の所有者、テストを実行するスケジュールなどを指定する。データ品質テストの結果からデータ品質問題が見つかった場合、制御ポイントはデータ品質問題と関連付けられる。制御ポイントは、その制御ポイントによって構成されたデータ品質テストの以前の反復から以前に生成されている任意の既存のデータ品質問題を識別するために使用される識別子を含む。制御ポイントは、後述されるように、関連付けられたデータ品質問題に1つ以上の継承ルールによる属性をポピュレートするために使用される。制御ポイントは、データ品質問題を、生成されたワークフロー132と関連付ける。
【0038】
データ品質問題識別モジュール112は、データ品質問題を生成した制御ポイントを参照することなどによって、既存のデータ品質問題と、結果データ105において指定された新規のデータ品質問題とを区別することができる。既存のデータ品質問題は、以前に識別されたデータ記録に関する結果データからそのデータ記録におけるデータ品質障害又は問題を参照するデータ品質問題である。したがって、データ品質問題は、データにおける新規の問題ではなく、(例えば、システム管理者によって、又は自動的にデータ処理システム102によって)既に処理されているデータ品質問題の継続又は持続である。新規のデータ品質問題は、結果データ105内のデータ品質テストによって初めて識別されるデータ記録内のデータ品質問題又は障害を表す。
【0039】
データ品質問題データ130は、既存のデータ品質問題122a~nとしてデータストアに記憶される。データ品質問題122a~nは、追加データ品質テスト結果105がデータ品質テストシステム104から受信されるときに、データ品質問題識別モジュール112によって(それらの関連付けられた制御ポイント136によって)参照される。したがって、データ処理システム102は、再発生するデータ品質問題が、データ及び以前に生成されたワークフロー内の以前に識別された(例えば、構成された)データ品質問題にマッピングされ、かつ新規のデータ品質が、それらの新規のデータ品質問題を処理するためのワークフローと新しく関連付けられる、フィードバックループを含む。例えば、構成されたデータ品質問題122は、結果データ105がデータ品質テストシステム104から受信されるときに、データ品質問題識別モジュール112によってデータストア120から取り出される。既存のデータ品質問題122は、属性124と関連付けられる。属性124は、ワークフローをポピュレートするための値を有する。属性の値は、システム管理者によって構成され得るか、又は1つ以上のデータオブジェクトから自動的にポピュレートされ得る。例えば、属性124の値は、それぞれの制御ポイント136から取り出すことができる。既存のデータ品質問題122及びそれらの属性124は、データ品質問題識別モジュール112によって取り出される。モジュール112は、既存のデータ品質問題122及びそれらの属性124を使用して、結果データ105の受信に応答して、新規のデータ品質問題が生成されるべきかどうか、又は既存のデータ品質問題が更新されるべきかどうかを判定する。
【0040】
データ処理システム102は、ワークフロー生成モジュール118によって、データ品質問題を解決するためのワークフロー132を生成する。ワークフロー132は、データ品質問題を処理するための(例えば、データ記録におけるデータ品質問題を解決するための)一連のデータ処理ステップを含む。ワークフロー132は、部分的に自動化されてもよく、又は完全に自動化されてもよい。ワークフロー132は、データ処理システム102によって自動的に構成される。ワークフロー132は、データ品質問題のコンテキストに応じて、データ品質問題を処理する責任の割り当てを含むことができる。例えば、データ品質問題は、特定のデータ品質問題がデータ記録内に持続していることをデータ品質テストが繰り返し示しているときに、繰り返し識別される。これは、データ記録の生成、データ記録の更新、データ品質ルール定義に関する問題、又は何らかの他の問題における系統的エラーに起因する可能性がある。持続的なデータ品質問題は、データ品質エラーがデータ記録内で経時的に(例えば、いくつかのデータ品質テストにわたって)持続する場合、新規のエンティティにエスカレートされ得る。このコンテキストにおけるエンティティは、ユーザ(例えば、システム管理者、従業員など)又はデバイス(例えば、クライアントデバイス)を含む。新規の結果データ105がデータ処理システム102によって受信されると、ワークフロー生成モジュール118によって生成されたワークフローは、(例えば、データ品質問題がある期間にわたって持続している場合)データ品質問題が解決されている方法を変更するように更新又は再構成され得る。
【0041】
ワークフロー132は、データ品質問題を処理するために実行する処理アクションを含む。例えば、データ記録の値の更なる分析をスケジュールして、データ品質ルール定義に欠陥があるかどうかを判定することができる。別の例では、閾値数のデータ品質問題を引き起こすソースからのデータ記録は、他のシステムへの低品質データの拡散を防止するために、コンピューティングネットワーク内の他のデバイス又はシステムから隔離されることが可能である。例えば、動的なネットワーク化されたシステムの場合、新しいシステム及びデバイスが絶えず追加及び除去され得る。新しいデバイスは、コンピューティングシステム(例えば、グローバルリポジトリ)に記憶されたデータ記録に低品質データをアップロードしている可能性がある。低品質データが他のリポジトリに伝搬するのを防止するために、又は低品質データの更なるアップロードを防止するために、データ処理システム102は、アップロード前にデータに対してデータ品質チェックを実行することなしに、新しいデバイスがデータをアップロードすることを一時的かつ自動的に制限することができる。これにより、システム内のデータ品質エラーが低減又は排除される。規模において、これは、データ品質問題に関してシステム上の全てのデバイスを常にモニタリングすることができない可能性があるシステム管理者を大いに支援することができる。
【0042】
データ品質問題は、状態と関連付けられる。状態は、データ品質問題を解決するために生成される関連付けられたワークフロー132内の位置を示す。概して、データ品質問題が未解決である場合、状態は維持され、データ品質問題を解決する責任を割り当てられたエンティティによる更なる分析又は処理が必要とされることを示す。新規の結果データ105が受信されるときに、データ品質問題識別モジュール112は、データ品質問題について解決がまだ達成されていないことを示した状態を有するそのデータ品質問題の識別子を参照することによって、データ品質問題が以前に生成されていることを識別することができる。
【0043】
生成されたワークフロー132は、データ処理システム102からワークフロー実行システム128に送信される。ワークフロー実行システム128は、ワークフロー132のロジックを実行するように構成された任意のデバイスを含むことができる。例えば、ワークフロー実行システム128は、システム管理者デバイスなどのクライアントデバイスを含むことができる。いくつかの実装形態では、ワークフロー実行デバイス128は、サーバ又は他のバックエンドデバイスを含む。概して、ワークフロー実行デバイス128は、ワークフロー132に従って、データ品質問題と、データ品質問題と関連付けられた1つ以上の制御ポイントと関連するデータとを示す、後述するユーザインターフェースデータを提示するように構成される。
【0044】
データ処理システム102は、属性継承ルールのセットに基づいて、データ品質問題及び/又はデータ品質ワークフロー132に(責任エンティティなどの)属性を自動的にポピュレートするように構成される。ここで、属性は、データ品質問題及び/又はデータ品質テスト結果105と関連付けられたメタデータの一部分である。属性継承ルールは、モジュール112によってデータ品質問題を生成するために構成可能である(例えば、予め定義することができる)。後述されるように、属性継承ルールは、データ品質問題のどの属性が自動的にポピュレートされ、どのデータソースがそれらの属性の値に使用されるかを判定する。例えば、ソース属性は、ソース属性指定子によって判定されるように、データ品質制御ポイントから受信されるか、あるいはデータ品質制御ポイントと直接又は間接的に関連付けられる別のオブジェクトから受信されるかのいずれかである。ソース属性指定子は、データソースのドメイン名又は所有者識別子を含む。データソースは、システム管理者、事業主などによって操作されるデバイスを含むことができる。
【0045】
ワークフロー生成モジュール118は、属性を使用して、データ品質問題と関連付けられたワークフロー132を構成する。前述されたように、ワークフローのアクションは、データ品質問題と関連付けられた属性(例えば、メタデータ)の値に依存し得る。属性値は、新規のデータ品質結果105がバッチテストプロセスから受信されたときにリフレッシュ又は更新され得る。
【0046】
図1Bは、データ品質結果105を処理するための追加の詳細を含む、
図1Aのデータ処理システム102の環境100bのブロック図を示す。前述されたように、データ処理システム102は、データ品質テストシステム104からデータ品質結果105を受信するように構成される。データ処理システム102は、テストされたデータによって不合格になったデータ品質テストを表すデータ品質問題を生成又は更新する。データ品質問題130は、関連付けられた属性124と共にデータストア120に記憶される。ワークフロー生成モジュール118は、属性及び構成されたデータ品質問題122を使用して、ワークフロー132を生成する。ワークフロー132は、ワークフロー実行システム128(例えば、クライアントデバイス)などのリモートデバイスに送信され得る実行可能ロジックを含む。ワークフロー実行システム128は、実行モジュール134を使用してワークフロー132のロジックを実行する。実行モジュール134は、ユーザが(例えば、ユーザインターフェースを通して)ワークフロー132、データ品質問題122、又は属性124を操作することを可能にするアプリケーション層を含むことができる。
【0047】
データ品質テストシステム104は、データセット(図示せず)を受信し、それらのデータセットにデータ品質テストを適用するように構成されたデバイス又はシステムを含む。データセットは、データ品質基準を有する任意のデータを含むことができる。データ品質テストシステム104は、概して、1つ以上のデータ品質ルールをデータセットに適用することによって、データセットをテストする。概して、データ品質テストは、制御ポイントのメタデータ108(例えば、属性)に基づいて構成される。制御ポイントは、データ品質テストを構成するために使用される。制御ポイントの属性は、後述されるように、データ品質テストがどのように実行されるべきか(例えば、どのルールか)、データ品質がいつスケジューリングされるか、データ品質のターゲットデータが何であるかなどを指定する。
【0048】
データ品質ルールは、記録の値の基準を示すロジックを含む。概して、データセットに適用される特定のデータ品質ルールは、データセットの所望のデータ品質の指示に依存する。いくつかの実装形態では、指示は、データセットのソースに基づくことができる。例えば、データセットのソースは、どのデータ品質ルールがそのソースからのデータに適用されるべきかを指定するデータ品質メタデータ108と関連付けられ得る。メタデータ108は、データ品質テストをスケジュールしたデータ品質制御ポイント136と関連付けられ得る。別の例では、適用されるデータ品質ルールは、分析されるデータの特定のセマンティックタイプに依存することができる。セマンティックタイプは、データの意味である。例えば、セマンティックタイプは、住所、出生日(単に任意の日付だけではない)、運転免許証識別子、又はデータの他の特定の意味とすることができる。例えば、データ品質ルールの特定のセットは、クレジットカード有効期限には適用されない出生日に適用され得る。セマンティックタイプはまた、データに対して異なるフォーマット要件を課し得る、データの言語タイプ(例えば、フランス語、イギリス英語、米国英語など)を指すことができる。例えば、日付フォーマットは、米国英語(例えば、月、日、年)と比較して、イギリス英語データ(例えば、日/月/年)用に変化し得る。これらの属性は、どのデータ品質ルールがデータに適用されるかを選択するために使用され得る。いくつかの実装形態では、後述されるように、データ品質問題は、誤ったルールが所与のデータセットに適用され、データ品質テストを不合格にしたことを示し得る。
【0049】
データ品質テストメタデータ108は、データセットに対して1つ以上のデータ品質ルールを選択するためにどの属性が使用されたかを示すことができる。データ品質テストメタデータ108は、特定のデータ品質テストと関連付けられた制御ポイント136から取得することができる。制御ポイント136は、データ品質テストがどのように実行されるべきかを指定する属性の値を含む。例えば、特定の属性は、データセットの選択されたフィールド又はデータ記録に適用され得る1つ以上のルールを示し得る。このコンテキストでは、属性は、許容される値のセット又は範囲、フィールドの値と1つ以上の他のフィールドの値との関係(例えば、常により大きい、常により小さい、等しい、の関数など)、データタイプ、予想される値の長さ、又はフィールドの値の他の特性を示し得る。例えば、後述されるように、属性は、フィールド又はデータ記録内でどのような値が許可されるか、及びフィールド内でどのような値が許可されないかを示し得る。例えば、フィールドのラベルと関連付けられた属性に示される所与の範囲はまた、そのフィールドに対するデータ品質ルールであり得る。しかしながら、フィールドと関連付けられた属性及びフィールドに対して生成されているルールは、必ずしも一致しない。例えば、フィールドに対するデータ品質ルールは、複製値がないか、又は空の値がないことを要求し得るが、属性はこのルールを示す必要はない。逆に、属性は、選択されたフィールドが特定の要件に適合することを示し得るが、生成されているデータ品質ルールは、この要件を強制する必要はない。
【0050】
属性の任意の組み合わせを使用して、任意の数のデータ品質ルールを選択することができる。ルールは、データセットの任意の他のフィールド又は値とは独立して、フィールドの各値に対する要件を強制し得る。例えば、データ品質ルールは、社会保障番号フィールドと関連付けられたフィールドの値のフォーマットがフォーマット「XXX-XX-XXXX」を有することを要求し得、式中、Xは、0~9の任意の数字であり得る。この要件は、各個々の値に基づくものであり、強制するために更なる分析を必要としない。別の例では、データ品質ルールは、値の各文字のタイプをチェックし、全てのX値が他の文字ではなく、実際に0~9の数字であることを確実にし得る。別の例では、データ品質ルールは、選択されたフィールド全体に対するチェックを要求し得る。例えば、データ品質ルールは、選択されたフィールド内の各値が一意であることを要求する。これは、現在処理されている値に加えて、選択されたフィールド内の値をチェックして、各値が一意であるかどうかを判定することが要求される。
【0051】
データ品質ルールの他の例が可能である。いくつかの例では、データのセットの品質を特徴付けるために使用されるルールは、データセット内のデータ記録に対する許容値又は禁止値を示し得る。許容値は、単一の値又は値の範囲とすることができる。許容値を示すルールは、プロファイルが許容値を含むときに満たされる。フィールドの許容値の例は、そのフィールドの許容可能な最大値及び最小値であり得、フィールドの平均値が許容可能な最大値と最小値との間に入る場合、ルールは満たされる。データセットの禁止値を示すルールは、データセットが禁止値を含まない限り満たされる。フィールドに対する禁止属性の例は、そのフィールドに対して禁止される値のリストであり得、フィールドが禁止値のいずれかを含む場合、ルールは満たされない。
【0052】
データ品質ルールは、フィールドの値(単数又は複数)とフィールドに対する指定された値との間の許容偏差を示し得る。対応するルールによって示される許容偏差より大きい、指定された値とフィールドの値との間の偏差は、データセットにおけるデータ品質問題の指示であり得、したがって、データセットが、データの下流セットにおける既存のデータ品質問題又は潜在的なデータ品質問題の考えられる根本原因であるという指示であり得る。いくつかの例では、許容偏差は、最大許容値及び最小許容値などの値の範囲として指定され得る。いくつかの例では、許容偏差は、平均値(例えば、過去のデータセットにおける値の平均又は中央値)であり得る単一の値から標準偏差として指定され得る。
【0053】
いくつかの例では、データのセットの品質を特徴付けるために使用されるルールは、フィールド内の値の有効性に基づくなど、データ記録の1つ以上のフィールドの各々における値の許容された特性又は禁止された特性を示し得る。フィールドの許容された特性を示すルールは、フィールド内の値が許容された特性に見合う場合に満たされる。フィールドの禁止された特性を示すルールは、フィールド内の値が禁止された特性に見合わない限り満たされる。ルールを満たす値は、有効値と称されることがあり、ルールを満たさない値は、無効値と称されることがある。フィールド内の値の様々な特性は、ルールによって許容された特性又は禁止された特性として示され得る。例示的なルールは、許容された値の範囲又は禁止された値の範囲、許容可能な最大値、許容可能な最小値、又は許容された若しくは禁止された1つ以上の特定の値のリストなど、フィールドのコンテンツの許容された特性又は禁止された特性を示し得る。例えば、1900未満の又は現在の年より大きい値を有する出生年フィールドは、無効とみなされ得る。例示的なルールは、フィールドのデータタイプの許容された特性又は禁止された特性を示し得る。例示的なルールは、ある特定のフィールドに値がないこと(又はNULLがあること)が許容されているか又は禁止されているかどうかを示し得る。例えば、文字列値(例えば、「Smith」)を含むラストネームフィールドは、有効とみなされ得るが、ブランクであるか又は数値を含むラストネームフィールドは、無効とみなされ得る。例示的なルールは、同じデータ記録内の2つ以上のフィールド間に許容された関係又は禁止された関係を示し得る。例えば、ルールは、州フィールドの各可能な値に対応する郵便番号フィールドの値のリストを指定してもよく、リストによってサポートされない郵便番号フィールド及び州フィールドの値のいずれの組み合わせも無効であることを指定してもよい。
【0054】
いくつかの例では、ルールは、履歴データの分析に基づいて選択することができる。例えば、ルールは、特定のデータセットのフィールドのプロファイルとそのデータセットのフィールドの判定された履歴プロファイルとの間の許容偏差を示し得る。データセットの履歴プロファイルは、履歴データに基づき得、例えば、履歴プロファイルは、前日からの同じデータセットのプロファイル、数日前からの(例えば、過去の週又は月にわたる)同じデータセットの平均プロファイル、同じデータセットの寿命平均プロファイルであり得る。より一般的には、プロファイルは、様々な種類の統計分析を利用するために、多種多様な参照情報を保持し得る。例えば、プロファイルは、標準偏差又は値の分布の他の指示に関する情報を含み得る。以下の例の目的で、本出願の一般性を限定することなく、プロファイルは、従来のデータセットの数値平均、及び場合によっては標準偏差も含み得る。
【0055】
いくつかの例では、機械学習技法が、データ品質ルールを選択するために用いられる。例えば、データは、ユーザ設定又はアプリケーションのために、どの特性がそのアプリケーションのデータ品質に影響を与え、ゆえにその特性を強制するためのデータ品質ルールを必要とするかについて学習期間にわたって分析され得る。例えば、アプリケーションが、フィールドの値が誤ったフォーマットであるために失敗することが多い場合、ルール生成モジュールは、特定のフォーマットを強制するためのルールを生成する。アプリケーションが、数値が許容可能範囲外であるために失敗する場合、ルール生成モジュール206は、フィールドの特定の値範囲を強制するためのデータ品質ルールを生成する。他のそのような例が可能である。学習期間は、特定の期間であり得るか、又は平均値若しくは予想される値が安定した値に収束するまでの時間量であり得る。機械学習ロジックは、制御ポイント136によって構成することができる。
【0056】
データ品質テストシステム104は、システムによって処理されるデータ記録の予想される特徴に基づいて、1つ以上のデータ品質ルールを適用することができる。特定の例では、ソースデータは、米国で発生する取引に関するクレジットカード取引記録である。ソースデータは、1時間の増分で処理されるストリーミングデータである。フィールドに対して識別された属性、及びクレジットカード取引記録を処理するときに実行される動作を示すアプリケーションからのデータに基づいて、ユーザは、取引識別子フィールド、カード識別子フィールド、状態フィールド、日付フィールド、及び総額フィールドを、プロファイルされる重要なデータ要素として識別し得る。
【0057】
ソースデータがクレジットカード取引記録である特定の例では、データ品質テストシステム104は、状態フィールドの50個の許容値のみが存在することを示す属性を受信する。データ品質テストシステム104は、ソースデータのセットのプロファイルが、基準に対するソースデータのセットのプロファイルの標準偏差に関係なく、状態フィールド内の50個を超える値を識別する場合に、警告フラグが使用されるようにするルールを選択し得る。データ品質テストシステム104は、処理がソースデータのセットに存在すべきである日と同日に完了した取引に関するクレジットカード取引記録のみを示す属性を受信し得る。データ品質テストシステム104は、任意のソースデータ記録が、処理の日付と一致しない日付を有する場合、警告メッセージが送信されるようにするルールを作成し得る。
【0058】
いくつかの例では、データ品質テストシステム104は、ユーザインターフェースを通して生成されている1つ以上のルールを指定し得る。ユーザインターフェースを通じて、ユーザは、1つ以上のフィールドに対するルールのフィードバックを提供することができ、又はフィールドについて事前にポピュレートされたデフォルトルールを承認することができる。ユーザインターフェースの更なる説明は、2012年10月17日に出願された米国特許出願第13/653,995号に見出すことができ、その内容は、参照によりそれらの全体が本明細書に組み込まれる。ユーザインターフェースの他の実装形態も可能である。
【0059】
いくつかの例では、考えられるデータ品質問題が、参照データのセットの新規バージョン内又はソースデータのセット内などのデータセット内で検出される場合、考えられるデータ品質問題を有するデータセットの識別子が、データベースに記憶された根本原因のデータセットのリストに配置される。出力データのセットに関するデータ品質問題が後に検出されると、その出力データのセットの上流データ系統要素を識別し、存在する場合は、それらの上流データ系統要素のうちのどれが根本原因データセットのリストに含まれるかを判定するために、データベースが照会され得る。
【0060】
いくつかの例では、考えられるデータ品質問題が、参照データのセットの新規バージョン又はソースデータのセットなどのデータセット内で検出される場合、ユーザ通知が有効にされ得る。いくつかの例では、警告フラグは、データ品質問題を示すために記憶され得る。例えば、考えられるデータ品質問題が、参照データのセットの新規バージョン内で検出された場合、警告フラグは、参照データの新規バージョンのプロファイルデータと併せて記憶され得る。考えられるデータ品質問題が、ソースデータのセット内で検出された場合、警告フラグは、そのソースデータのセットのプロファイルデータと併せて記憶され得る。いくつかの例では、警告メッセージは、考えられるデータ品質問題の存在を示すためにユーザに伝達され得る。警告メッセージは、例えば、メッセージ、アイコン、若しくはユーザインターフェース上のポップアップウィンドウとして、電子メール若しくはショートメッセージサービス(short message service、SMS)メッセージとして、又は別の形態であり得る。これらのデータは、データストア120に記憶されたデータ品質問題属性124の一部であり得る。
【0061】
いくつかの例では、ルールは、データ品質ルールがどのように満たされないかに応じて実行されるデータ処理ワークフロー132のためのアクションを指定し得る。例えば、データ品質プロファイルからの1つ以上の閾値偏差は、データ品質テストメタデータ108において指定され得る。閾値偏差は、警告フラグ又は警告メッセージがワークフロー132において使用されるとき、データ品質問題122が割り当てられるエンティティ、データ隔離手順などを示し得る。例えば、現在のデータセットのプロファイルとそのデータセットのプロファイルとの間の偏差が、1及び2の標準偏差などのように小さい場合、警告フラグは記憶され得、偏差が2を超える場合、警告メッセージは伝達され、データは隔離され得る。閾値偏差は、ソースデータ及び参照データの各セットに特有であり得る。
【0062】
いくつかの例では、偏差が重度、例えば、プロファイルから3を超える標準偏差である場合などは、データを使用して関連する処理システムによる更なる処理は、ユーザが介入するまで停止され得る。例えば、重度の偏差を有するソースデータ又は参照データによって影響を受ける任意の更なる処理は停止される。停止される変換は、影響を受けるソースデータ又は参照データの下流にあるデータ系統要素を参照するデータによって識別され得る。
【0063】
いくつかの例では、プロファイルデータは自動的に判定される。例えば、所与のデータセットのプロファイルデータは、例えば、そのデータセットの新規のプロファイルデータが判定される場合は、常にプロファイルデータを再計算することによって、そのデータセットの過去のプロファイルデータの実行中の履歴平均として自動的に更新され得る。いくつかの例では、ユーザは、例えば、所望の特性を有するデータセットをプロファイルすることによって、初期プロファイルデータを供給し得る。
【0064】
データ品質テストシステム104は、選択されたデータ品質ルールを適用し、データ品質結果データ105を生成する。データ品質結果データ105は、分析されたデータセットの値が、適用されたデータ品質ルールを満たしたかどうかを示す。結果データ105と関連付けられたデータ品質テストメタデータ108は、データセット、実行されたデータ品質テストを記述するデータを含む。例えば、テストメタデータ108は、どのルールがデータセットのどの部分に適用されたか、データ品質テストがいつ実行されたか、データセットの所有者などの識別を含むことができる。
【0065】
いくつかの実装形態では、データ品質テストシステム104は、データ品質テストを実行し、結果データ105をデータストリームではなくバルク分析においてデータ処理システム102に送信するように構成される。例えば、データ品質テストシステム104は、データ品質問題生成及びワークフロー生成のためにデータ処理システム102に送信する前に、データセット全体の結果データ105を生成することができる。概して、結果データ105は、データ品質テストがデータセットの1つ以上の部分について不合格になったかどうかを示す。
【0066】
データ処理システム102は、データ品質テストシステム104から結果データ105及びテストメタデータ108を受信し、結果データ105がデータ品質問題を生成すべきものであるかどうかを判定する。前述されたように、データ処理システム102は、不合格がデータ品質問題の生成のための条件を満たすように十分に深刻である場合、不合格になったテストを識別するデータ品質問題を生成することができる。例えば、データ品質問題は、データセットのデータの閾値割合が、適用された1つ以上のデータ品質ルールを満たさない場合に、データ処理システム102によって生成される。いくつかの実装形態では、データセットは、全てのデータ品質要件を完全に満たすように要求され得る。いくつかの実装形態では、データセットの1つ以上の部分は、任意の大きさのデータ品質障害が、データ処理システム102による対応するデータ品質問題の生成をもたらさないように無視され得る。
【0067】
データ処理システム100のデータ品質問題識別モジュール112は、所与のデータ品質テストについて、データ品質テストのための生成のために潜在的なデータ品質問題を識別するように構成される。データ品質問題は、データ品質テストの結果データと、テストされたデータのソースと、データセットの特定のフィールド又は記録に対するテスト中に満たされなかった1つ以上のデータ品質閾値など、データ品質テストがどのように満たされなかったかについての詳細とを指定する。データ品質問題識別モジュール112は、データ品質テスト結果105と関連付けられたテストメタデータ108の値を分析する。テストメタデータ108の値は、
図2Aに関して更に詳細に後述されるように、1つ以上の既存のデータ品質問題122と関連付けられた属性124と比較される。テストメタデータ108と属性124値との比較が、検出されたデータ品質問題が既存のデータ品質問題122と一致することを示すとき、既存のデータ品質問題122は、
図2Cに関連して説明されるように、データ品質更新モジュール116によって、新規の結果データ105及びテストメタデータを使用して更新される。既存のデータ品質問題が見つからない場合、データ品質問題生成モジュール114は、
図2Bに関連して説明されるように、テストメタデータ108及び結果データ105を使用して新規のデータ品質問題を生成する。生成又は更新されたデータ品質問題データ130は、データ品質問題122a~nとしてデータストア120に記憶される。
【0068】
ワークフローを生成するために、ワークフロー生成モジュール118は、データストア120からのデータ品質問題データ130と、それぞれの属性124も含むデータ品質問題制御ポイント136などの任意の関連付けられたデータオブジェクトとを受信する。ワークフロー生成モジュール118は、構成されたルールのセットをデータ品質問題122に適用する。ルールは、概して、処理に先立って構成される。ルールは、データ品質問題122を、その属性及びその関連付けられたデータオブジェクト(例えば、制御ポイント136)の値に基づいて、どのように処理するかを指定する。例えば、特定のユーザは、データ品質問題の特定の深刻度に対して、又は特定のソースからのデータに対するデータ品質問題に対して、責任エンティティとして割り当てるために選択されてもよい。いくつかの実装形態では、ルールは、データ品質問題122に基づいて、ワークフロー132において自動的に取られるべきアクションを指定することができる。例えば、データ品質問題が再発生している場合、責任エンティティは、現在の又は以前に割り当てられたエンティティとは異なるエンティティに変更又は昇格され得る。別の例では、データ品質問題と関連付けられた状態は、どのアクションがデータ処理ワークフロー132に含まれるかを判定するために参照される。
【0069】
生成されたワークフロー132は、ワークフローの1つ以上のアクションを実行するように構成されたワークフロー実行システム128に送信される。いくつかの実装形態では、ワークフロー実行モジュール134は、ワークフローのためのロジックを実行する。ロジックは、所定の基準に基づいてデータ品質ルールを再定義すること、ネットワーク化されたシステム内の他のデバイス及びシステム(例えば、データセットのソース以外のデバイス)からデータセットを隔離すること、データセットの部分を削除すること、1つ以上の責任エンティティ又は関連エンティティに警告を送信すること、1つ以上のコンピューティングアプリケーション(例えば、データマスキングアプリケーション)をアクティブ化すること、又は他のデータ処理アクションを発生させることなど、データ品質問題を自動的に処理することを含むことができる。
【0070】
いくつかの実装形態では、ワークフロー132の実行は、データセットに対するアクションの実行又はルール定義の変更に対する承認の要求、変更されるべき1つ以上のルールの提案、報告の表示、データ品質問題122の解決に関連するタイムラインの表示、データ品質問題の状態の表示又は更新、責任エンティティの提示の表示、責任エンティティへの警告の生成及び提示、又はデータ品質問題の解決のための1つ以上の他のアクションの提案など、責任エンティティ(例えば、ユーザ又は管理者)に入力を要求する1つ以上のアクションを含む。
【0071】
ワークフロー132が実行されると、データ品質問題122が解決されたかどうかを判定するためのチェックが実行される。チェックは、後続の結果データ105が、データ品質問題がそのデータセットに対してもはや存在しないことを示すまで、データ品質問題122を未解決状態に保持することを含み得る。いくつかの実装形態では、ユーザは、データ品質問題122が解決されたことを肯定的に示すことができる。いくつかの実装形態では、ワークフローの完了は、データ品質問題122が解決されたという指示である。データ品質問題122が解決されていると(例えば、自動的に、又は人間による検証が要求された後にかのいずれか)判定することができない場合、データ品質問題は、アクティブに保たれ、データストア120に記憶される。データ品質問題122は、(例えば、設定された期間にわたって更新されない場合)満了し得る。データ品質問題122が満了すると、それはデータ品質データストア120から削除される。
【0072】
図2A~
図2Dは、それぞれ、
図1A~
図1Bのデータ処理システム100のモジュール112、114、166、及び118のデータ処理アクションの例を示す。
図2Aは、データ処理システム100がデータ品質結果データ105及びデータ品質テストメタデータ108からデータ品質問題を識別するためのプロセス200aを含む。
【0073】
データ品質問題識別モジュール112は、新規のデータ品質問題がテスト結果データ105内に表されているかどうか、又は1つ以上の既存のデータ品質問題がテスト結果データ内に表されているかどうかを判定するように構成される。概して、実行されたデータ品質テストと関連付けられた制御ポイント136は、その特定のデータ品質テスト(例えば、データ品質テストの特定のフィールドに対してテストされた1つ以上のルール)についてデータ品質問題が存在するかどうかを指定する。新規のデータ品質問題が識別されるときに、データ品質テストメタデータ108及びデータ品質結果データは、テストメタデータからの値を使用してポピュレートされた属性値を有する新規のデータ品質問題の生成のために、データ品質問題生成モジュール114に送信される。新規のデータ品質問題を生成するプロセスは
図2Bに示されている。既存のデータ品質問題122が識別されるときに、データ品質問題識別モジュール112は、既存のデータ品質問題122のデータ品質問題属性124、既存のデータ品質問題データ、データ品質テスト結果データ105、及びデータ品質テスト結果メタデータ108をデータ品質問題更新モジュール116に送信する。データ品質問題更新モジュールは、テストメタデータ108の値と、既存のデータ品質問題122のために既にポピュレートされている属性124のコンテキストにおけるテスト結果とを使用して、既存のデータ品質問題を更新する。既存のデータ品質問題122を更新するためのプロセスについては、
図2Cに関連して説明される。
【0074】
データ品質問題識別モジュールは、データ品質テストと関連付けられたデータ品質制御ポイント136から属性を受信する(202)。データ品質制御ポイント136は、前述されたように、データ品質テストを構成する属性を含むデータオブジェクトを含む。データ品質問題識別モジュール112は、データ品質制御ポイント136の属性を分析して(204)、データストア120において既存のデータ品質問題122があるかどうかを判定する。制御ポイント136は、(後述される)識別子を含む。識別子は、既存のデータ品質問題が存在する場合、制御ポイント136を既存のデータ品質問題と関連付ける。データ品質問題が既に存在する場合、データ品質識別モジュールは、既存のデータ品質問題の属性値をデータ品質テストからのメタデータ108で更新する(210)プロセスを開始するように構成される。データ品質問題が既に存在しない場合、データ品質問題識別モジュール112は、新規のデータ品質問題を生成し、生成されたデータ品質問題の属性にデータ品質テストのメタデータ108からの値をポピュレートする(208)プロセスを開始するように構成される。
【0075】
既存のデータ品質問題122a~cの各々は、以前の結果データ及び関連付けられたワークフローにおける処理に基づいてポピュレートされた値を有するそれぞれの属性124と各々関連付けられる。例えば、既存のデータ品質問題122は、関連するワークフローがそのデータ品質問題に対してどのように実行されているかを示す状態値と関連付けられ得る。例えば、状態は、既存のデータ品質問題122が新規であること、トリアージ分析中であること、(例えば、データストア120に対して)公開済みであること、責任エンティティによって解決されている最中であること、解決済みであること、又は未解決であることを示すことができる。状態は、概して、そのデータ品質問題に対するワークフローのステータスを示す。既存のデータ品質問題122は、前述されたように、データ品質問題で表されるデータセットの所有者、データ品質問題を解決する責任エンティティ、データ品質問題の解決のためのイベントのタイムライン、タイムスタンプデータ、問題で表されるデータのデータ品質スコアなどを含む他の属性と関連付けられる。
【0076】
一実施形態では、データ品質テストからのデータ品質問題は、データストア120内の記憶されたデータ品質問題と照合され得る。この例では、データ品質問題識別モジュール112は、既存のデータ品質問題122a~nの属性値を、テストメタデータ108及びテスト結果データ105内の値で分析するように構成される。この比較は、キー値、フィールド名、データソース名、又はデータ品質問題を識別する他の同様の属性など、属性値のうちの1つ以上についての値を照合することを含む。いくつかの実装形態では、データ品質結果105は、属性値としてデータ品質問題と共に記憶され得る識別子を含む。後続のデータ品質テストが実行されるときに、同じ識別子を参照することができる。属性124の値がテストメタデータ108と一致するか、又は閾値類似性内で同様である場合、データ品質問題識別モジュール112は、結果データ105が既存のデータ品質問題に対応すると判定する。既存のデータ品質問題122は、既存のデータ品質問題の属性値124に基づいて、またテストメタデータ108及びテスト結果105に基づいて更新される。属性124の値がデータ品質テストのメタデータ108と一致しない場合、データ品質識別エンジン112は、メタデータ108及びテスト結果105に基づいて、新規のデータ品質問題が生成され、属性値がポピュレートされるべきであると判定する。
【0077】
図2Bは、データ品質問題生成モジュール114によって新規のデータ品質問題を生成するためのプロセス200bを示す。データ品質問題生成モジュール114は、データ品質問題がデータ品質識別モジュール112によって識別されない場合、データ品質問題にメタデータ108からの属性値及びデータ品質テストの結果105をポピュレートするように構成される。前述されたように、データ品質問題122は、値がポピュレートされた属性を記憶するデータオブジェクト又はデータ構造を含む。属性値は、属性継承ルールの構成可能なセットを使用して自動的にポピュレートされる。属性継承ルールは、予め設定されたルールである。属性継承ルールは、データ品質問題のどの属性が自動的にポピュレートされるか、及びそれらの属性の値のソースを指定する。ソース属性は、データ品質問題と関連付けられるデータ品質制御ポイント136において指定するか、又はデータ品質制御ポイントと直接若しくは間接的に関連付けられる別のオブジェクト上で指定することができる。ソースは、ルールセット内のソース属性指定子フィールドによって指定される。ソース属性指定子の例を以下の表1に示す。
【0078】
【0079】
例えば、表1の第1のルールは、生成されているデータ品質問題のデータ品質所有者の値が、データ品質制御ポイント136によって制御される被制御アセットと関連付けられた事業年度のリスクデータドメイン内のビジネス所有者属性からおかしくなることを示す。このルールは、属性の値を見つけるために、データ品質問題と関連付けられた4つのデータオブジェクトを参照する。属性の値は、データ品質問題の属性をポピュレートするために使用される。表1において、優先順位は、属性ソースに対する優先度値である。より高い優先度のソースは、より低い優先度のソースの前に属性値をポピュレートするために使用される。属性継承ルールは、
図6A及び
図6Bに関連して後述されるように、データ品質問題の所有者、テストされているデータ品質ルールの識別、記述又はコメントデータ、データ及び時間メタデータ、タイムラインデータなどを含むデータ品質問題の属性をポピュレートする。
【0080】
引き続き
図2Bを参照すると、データ品質問題生成モジュール114は、データ品質問題220を含むデータオブジェクトを生成する。データ品質問題220は、データ品質テスト結果データ105及びデータ品質テストメタデータ108からポピュレートされた値を有する属性を含む。データ品質問題220は、メタデータ108及びデータ品質テスト結果データ105から、以下の値のうちの1つ以上を指定する値を受信する。データ品質ルールによってテストされているデータのソースを指定する識別子210を受信することができる。この識別子は、ソース名をデータ品質問題220にポピュレートさせることができる。生成されたデータ品質問題220は、テスト結果データ212の少なくとも一部分を含むことができる。テスト結果データ212は、テストされている所与のフィールドに対する実際の結果(特定のフィールド内の各値に対する合格又は不合格の指示など)、あるいはデータ品質テスト結果の要約(例えば、合格又は不合格したフィールド内の値の割合など)のいずれかを含む。
【0081】
生成されたデータ品質問題220は、データ品質ルールデータ214を含むことができる。データ品質ルールデータは、データ品質テストのために選択された記録又はフィールドに適用される特定のデータ品質ルール又はロジックの定義を含む。データ品質ルールデータ214は、データ品質テストのために単一のルール又はルールのセットを指定することができる。これらのルールは、一緒にデータ品質テストを構成する。例えば、データ品質テストは、フィールド値が正確に7文字でポピュレートされ、文字が全て数字であるという要件を含むことができる。いずれかのルールが不合格になる場合、データ品質テストは不合格になる。いくつかの実装形態では、結果データ212は、データ品質テストがどのように不合格になったか(例えば、どのデータ品質条件に見合わなかったか)を指定する。いくつかの実装形態では、データ品質結果データ212は、少なくとも1つのデータ品質条件が満たされなかったことを指定する。
【0082】
生成されたデータ品質問題220は、データ品質エラーを解決するのに適格なエンティティのリストを継承することができる。エンティティは、データ品質問題を引き起こすテストされたデータ内のエラーを解決する責任を割り当てられるシステム、デバイス、又はユーザを含むことができる。適格なエンティティは、予め構成されたロジックに基づくことができる。例えば、エンティティの特定のグループは、新たに生成されたデータ品質問題220に適格であり得る。エンティティの特定のグループは、特定の所有者又は所有者のセットによって所有されるデータに関するデータ品質問題を解決するのに適格であり得る。適格なエンティティは、テストされる第1のタイプのデータ品質ルールのために自動化されたシステム及びデバイスのみを含むことができるが、テストされる他のタイプのデータ品質ルールの手動レビューのためにシステムユーザ又は管理者のみを含むことができる。他の同様の例が可能である。1つ以上のエンティティが、データ品質問題220を処理するのに適格なエンティティ216から選択される。この選択は、生成されたワークフロー132の一部とすることができ、そのワークフローのロジックに基づくことができる。
【0083】
生成されたデータ品質問題220は、制御ポイント識別子218などの関連するデータオブジェクトから属性値を受信することができる。関連するデータオブジェクトは、それらのデータオブジェクトによって記憶された属性の1つ以上の値を提供することができる。
【0084】
生成されたデータ品質問題220は、少なくとも上述のソースからのデータに基づいてポピュレートされる。データ品質問題生成モジュール114は、データ品質問題220に状態値222を割り当てる。状態データ222は、データ品質問題220を処理するための(例えば、関連付けられたワークフロー132による)ワークフロー実行の状態を示す。例えば、データ品質問題には、「新規の問題」状態、「トリアージ中」状態、「公開済み」状態、「完了」状態、又は1つ以上の他の状態が割り当てられ得る。一例では、データ品質問題は、再発生した場合にエスカレートされ得る。データ品質問題220は新たに生成されたものであるため、「新規のデータ品質問題」の初期状態がデータ品質問題に割り当てられる。
【0085】
新規のデータ品質問題220が生成されると、データ品質問題データはワークフロー実行モジュール118に送信される。いくつかの実装形態では、データ品質問題データはデータストア120に記憶される。ワークフロー実行モジュール118は、データ品質問題の属性値に基づいて、実行のためのワークフロー132を生成する。ワークフロー132は、データ品質問題220のワークフローロジック224に基づいて生成される。ワークフローロジック224は、データ品質問題220を解決するための処理ロジック又はアクションを示す。例えば、ワークフローロジックは、データ品質問題220を解決するために割り当てられたエンティティを示す。ワークフローロジック224は、データ隔離のためのステップ又はオプションを示す。ワークフローロジックは、データ品質ルールをデバッグするための、又は低品質データのソースを識別するためのガイダンスを含む。
【0086】
図2Cは、データ品質テストからの結果データに基づいて既存のデータ品質問題240を更新するためのプロセス200cを示す。データ品質問題240を更新するためのプロセスは、既存のデータ品質問題の全ての属性が制御ポイント又は他のデータオブジェクトからポピュレートされるわけではないことを除いて、新規のデータ品質問題の生成と同様である。そうではなく、最近のデータ品質テストを反映する属性のみが、そのデータ品質テストの結果データ105及びそのメタデータ108に基づいて更新される。
【0087】
データ品質問題がデータ品質問題識別モジュール112によって識別されると、既存のデータ品質問題240は、そのデータ品質問題を指定する制御ポイントによって構成された直近のデータ品質テストからのデータで更新される。既存のデータ品質問題の状態230が識別される。いくつかの実装形態では、状態は、第2のデータ品質テストが、再発生するデータ品質問題を識別したことを示すように更新される。更新された状態は、どのアクションがワークフロー132によって実行されるか、又はワークフロー132が新規のテストに応答して更新されるかどうかを変更する。
【0088】
既存のデータ品質問題240は、タイムラインデータ232で更新される。タイムラインデータ232は、データ品質問題240と関連して実行される一連の1つ以上のアクション又は動作を含む。例えば、アクションは、スケジュール又は実行されるデータ品質テストを含む。実行された各データ品質テストは、データ品質問題240のタイムラインにおけるそれぞれの結果データと関連付けられる。これにより、ユーザ又はエンティティは、再発生するデータ品質問題の傾向を迅速にレビューして、データ品質テスト又はテストされたデータに加えられた何らかの変更が結果を改善したかどうかを判定することができる。例えば、データ品質テストに合格したフィールドの記録又はエントリの数が時間と共に増加する場合、ユーザは、データ品質問題を解消するためにデータが改善されていると判定する。タイムラインは、(例えば、割り当てられたエンティティによって)1つ以上のデータ品質ルールに対して、又はテストされたデータに対して変更が行われるときを示す。変更又は更新の指示は、ルール又はテストされたデータのそれぞれのバージョンにリンクされてもよい。いくつかの実装形態では、変更の指示は、エンティティが、テストされたデータ又はデータ品質ルールに対して加えられている変更が、データ品質結果を改善しているか、又はデータ品質問題を悪化させているかを判定するのを支援する。
【0089】
既存のデータ品質問題240は、更新されたデータ品質テスト結果データ234で更新される。更新されたデータ品質テスト結果データ234は、直近のデータ品質テストに対してテストされたデータがどのように機能したかを示す。更新されたテスト結果データ234は、更新されたデータ品質問題240のタイムラインに含まれるか、さもなければデータ品質問題において示される。データ品質問題240を解決する責任を負うエンティティは、更新された結果データ234をレビューし、再発生するデータ品質問題240が以前のデータ品質テストに対して改善されているか又は悪化しているかを判定する。
【0090】
更新されたデータ品質問題240は、データ品質問題を引き起こすデータ品質エラーを解決するのに適格なエンティティの更新されたリストを含む。適格なエンティティは、データ品質問題240の状態に基づくか、データ品質テスト結果データ234に示されるデータ品質エラーのタイプに基づくか、又は1つ若しくは他のメトリックに基づく。例えば、適格なエンティティのリストは、テストされたデータの所有者又はソースに基づく。適格なエンティティのリストは、適格なエンティティがデータ品質問題240を解決する責任を割り当てられる(又は再割り当てされる)ことを確実にするために、各データ品質テストについて更新される。
【0091】
更新されたデータ品質問題240は、データ品質テストを構成した制御ポイントからなど、データ品質テストと関連付けられた1つ以上の他のオブジェクトからメタデータ又は属性値を受信する。したがって、更新されたデータ品質問題240は、データ品質問題の再発生を引き起こした直近のデータ品質テストを記述するデータと、また、データ品質問題を発生させた以前のデータ品質テストからのデータとを含む。結果は、以前の発生からの傾向データを含むデータ品質問題240であり、これは、割り当てられたエンティティが、データ品質ルールをデバッグし、関連付けられたシステムから低品質を有するデータを削除し、又は低品質データのソースを識別するのを支援する。低品質データのソースは、特定のデータソース(例えば、低品質データを生成するアプリケーション、データベースなど)を含むが、不十分に定義されたデータ品質テストを含むこともできる。再発生するデータ品質問題の各発生からのデータは、エンティティが低品質データのソースがどのように低品質データを引き起こしているかを判定するように関連付けられる。データ品質問題240に関する以前及び現在のデータは、低品質データソースからのデータを制限すること、データ品質ルールの定義を変更すること、低品質データを隔離すること、アプリケーション又はデータ処理ワークフローのロジックを調整すること、又は何らかの他の是正アクションを取ることなどによって、エンティティが問題を是正するのを支援する。
【0092】
データ品質問題240は、状態データ242と関連付けられる。状態データ242は、データ品質問題240を処理するワークフローの状態を示す。データ品質問題240の状態は、前述されたデータ品質問題220の状態222と同様である。
【0093】
データ品質問題240は、更新されたワークフローロジック244と関連付けられる。ワークフローロジック244は、データ品質問題240を解決するための処理ロジック又はアクションを示す。例えば、ワークフローロジックは、データ品質問題240を解決するために割り当てられたエンティティを示す。ワークフローロジック244は、データ隔離のためのステップ又はオプションを示す。ワークフローロジックは、データ品質ルールをデバッグするための、又は低品質データのソースを識別するためのガイダンスを含む。いくつかの実装形態では、ワークフローアクションの一部又は全部は自動的に実行される。いくつかの実装形態では、ワークフローのアクションは、割り当てられると、責任エンティティに提示される提案である。いくつかの実装形態では、ワークフローロジックは、割り当てられたエンティティなどのユーザにデータ品質問題240を提示するためのユーザインターフェースの構成を指定する。
【0094】
更新されたデータ品質問題240を含むデータは、ワークフロー132の生成のためにワークフロー実行モジュール118に送信される。いくつかの実装形態では、更新されたデータ品質問題240データは、データストア120に送信される。
【0095】
図2Dは、新規のデータ品質問題220又は更新されたデータ品質問題240からワークフロー132を(例えば、ワークフローデータ132aとして)生成するためのプロセス200dを示す。プロセス200dは一例であり、データ品質問題220、240の属性の値に応じて、追加のアクション又は異なるアクションを含むことができる。プロセス200dを実行するために、ワークフロー生成モジュール118は、データ品質問題生成モジュール114(新規のデータ品質問題が生成される場合)又はデータ品質問題更新モジュール(既存のデータ品質問題が更新される場合)のいずれかから、データ品質問題データを受信する。ワークフロー生成モジュール118は、受信されたデータ品質問題220、240の状態、及びそれぞれのデータ品質問題の属性の値に基づいて、ワークフロー132を生成するように構成される。前述されたように、ワークフロー132は、データ品質問題を解決するためのロジックを含む。ロジックは、ワークフロー実行システム128によって実行される1つ以上のアクションを指定する。ワークフローのロジックは、1つ以上の異なるユーザインターフェースを表示すること、警告を生成すること、データを隔離すること、データ品質問題を解決する責任を負うエンティティを割り当てること、1つ以上のサードパーティサービスを呼び出すこと、又は他の同様のアクションを含む。ワークフローのロジックは、ユーザ(例えば、システム管理者)によって生成された予め構成されたロジックに基づくことができる。このようにして、ワークフロー132はアプリケーション固有とすることができる。
【0096】
ワークフロー生成モジュール118は、データ品質問題220、240の状態をチェックする(260)ように構成される。状態が新規のデータ品質問題を指定する場合、ワークフロー生成モジュール118は、データ品質問題を処理してデータ品質問題を解決するための新規のワークフローを生成する。状態が既存のデータ品質問題を指定する場合、ワークフロー生成モジュール118は、データ品質問題240と関連付けられたワークフローがデータ品質問題の属性値に応じて更新されるべきかどうかを判定する。
【0097】
ワークフロー生成モジュール118は、データ品質問題の識別された状態に基づいて、ワークフローロジックを取り出す(262)ように構成される。ワークフローロジックは、システムの要件に基づいて構成される。一例では、ワークフローロジックは、制御ポイントを介して構成される。この例では、制御ポイントの属性値がデータ品質問題をポピュレートする。データ品質問題の属性の値は、データ品質問題を解決するためのワークフローのロジックが何であるかを判定するために分析される。例えば、既存のワークフローは、データ品質問題が再発生又は悪化している場合、データ品質問題を解決する責任を負うエンティティを割り当てるための新規のロジックで更新され得る。別の例では、ワークフロー(又はその一部分)を実行するターゲット実行システム128が変更された場合、所有者が変更された場合、データソースが変更された場合などに、ワークフロー132ロジックを変更することができる。例えば、ターゲット実行システム128がクライアントデバイスである場合、割り当てられたエンティティによってデータ品質問題の属性値を閲覧するためなどに生成される特定のユーザインターフェースは、デバイスタイプに基づいて調整される。
【0098】
ワークフロー生成モジュール118は、データ品質問題を解決するためにエンティティを割り当てる(264)ように構成される。エンティティは、データ品質問題220、240の属性値に基づいて割り当てられる。いくつかの実装形態では、エンティティは実際に割り当てられないが、エンティティを割り当てるためのロジックが取り出され、ワークフローに含まれる。いくつかの実装形態では、エンティティは、ターゲットワークフロー実行システム128がワークフローデータ132aを送信するために識別されるように割り当てられる。例えば、エンティティは、ワークフロー実行システム128自体又はそのユーザとすることができる。
【0099】
ワークフロー生成モジュール118は、データ品質問題220、240と関連付けられたデータ品質問題タイムラインを更新する(266)ように構成される。データ品質問題タイムラインは、そのデータ品質問題に関してどのようなアクションが取られているか、及びそれらのアクションがいつ取られるかを表す。
【0100】
ワークフロー生成モジュール118は、データ品質問題が処理されていることを示すように、データ品質問題220、240の状態を更新する(268)ように構成される。いくつかの実装形態では、データ品質問題の状態は、ワークフロー132の実行後に更新される。この例では、ワークフロー生成モジュール118は、ワークフローを生成し、ワークフローデータ132aを実行システム128に送信し、生成ワークフロー132の1つ以上のアクションが実行されたことを示す応答を実行システムから受信する。実行システム128からのこのデータに応答して、ワークフロー生成モジュール118は、データ品質状態を更新する。
【0101】
生成されたワークフロー132は、ワークフローデータ132aとして実行システム128に送信される。ワークフローは、自動的に又はユーザ入力に応答して、実行システム128によって実行される。ワークフロー128は、データ品質問題の属性に基づいて選択されたロジックを実行する。前述されたように、実際のロジックは、所与のアプリケーションに固有であり、システム管理者によって事前に構成される。
【0102】
図3は、データ品質制御ポイントと対話するためのユーザインターフェースを表す例示的なユーザインターフェース画面300を示す。制御ポイント302a~dのリストが示されている。例示的な代表的制御ポイント302aは、識別子304と、タイプ306(ここでは、全てがデータ品質制御オブジェクトである)と、説明308と、任意の制御されたアセットの指示310を含む。識別子304は、データ品質制御ポイントを識別する一意のコードである。オブジェクトタイプ306は、制御ポイントを、データ品質テストにおいてテストされているデータと関連付けられる1つ以上の他のデータオブジェクトから区別する。被制御アセット308は、テストされているアプリケーションを指定する。
【0103】
画面300は、検索パラメータウィンドウ312を含む。ウィンドウ312のパラメータは、データ品質制御ポイントを通して検索を精錬するために使用される。いくつかの実装形態では、パラメータはフィルタ基準を含む。
【0104】
図4は、システムのデータ品質問題402a~hのリストを表すユーザインターフェースを含む画面400を示す。各データ品質問題402a~hは、識別子406と、状態値408と、そのオブジェクト識別子によって指定される関連オブジェクト410(例えば、制御ポイント)と、1つ以上の割り当てられたエンティティのリスト414と、作成時間又は他のタイムラインデータなどのワークフローデータ416とを含む。新規のデータ品質問題を手動で生成するための制御418が示されている。
【0105】
画面400は、検索パラメータウィンドウ404を含む。ウィンドウ404のパラメータは、データ品質問題を通して検索を精錬するために使用される。いくつかの実装形態では、パラメータはフィルタ基準を含む。
【0106】
図5は、データ品質問題の概要を表す画面500を示す。画面500は、データ品質問題の識別子502を示す。画面500は、データ品質問題に関する要約データ504を示す。画面500は、データ品質問題を報告したエンティティ506を示す(適用可能な場合)。画面500は、データ品質問題を解決するための割り当てられたエンティティ508を示す。画面500は、データ品質問題に関するタイムラインデータ510の一部分を示す。画面500は、概して、より大きいユーザインターフェースに挿入されるが、その属性値のいくつかを示すことによって、データ品質問題の素早い要約を提供する。
【0107】
図6Aは、データ品質問題#2(データ品質問題DQI-2と呼ばれる)のデータを表す画面600aを示す。画面600aは、
図5のデータ品質問題などのデータ品質のより完全なビューを示している。画面600aは、データ品質問題に関する属性値、データ品質問題の以前のバージョン(適用可能な場合)、及びデータ品質問題と関連付けられた許可を含むデータにユーザがアクセスすることを可能にするナビゲーションウィンドウ602を含む。
【0108】
画面600aは、データ品質問題に関するより基本的な属性値を示す一般情報ウィンドウ604を含む。ウィンドウ604は、オブジェクト、この場合は自動データ品質問題の名前を記述する概要604aを示す。ウィンドウ604は、データ品質問題のタイプ604bを示す。ウィンドウ604は、データ品質問題のカテゴリ604cを示す。ウィンドウ604は、データ品質問題と関連付けられた制御ポイント識別子604d(例えば、データ品質問題を構成した制御)を示す。この例では、制御ポイントはDQCP-2010、すなわちデータ品質制御ポイント#2010である。ウィンドウ604は、データ品質問題の報告者604eを示す(データ品質問題が手動で生成又は報告される場合)。ウィンドウ604は、データ品質問題を解決するための割り当てられたエンティティ604fを示す。この場合、エンティティは、Abbey A.Williamsと呼ばれる人である。他の例では、エンティティは、デバイス名又はシステム名であり得る。ウィンドウ604は、データ品質問題を観察することができるか、又はデータ品質問題と関連付けられたワークフローに基づいて警告若しくは他のメッセージを受信することができる、1人以上の聴取者604gのリストを示す。ここでは、聴取者は、Melodie M.Pickettと呼ばれる人である。いくつかの実装形態では、聴取者は、デバイス又はシステムであり得る。
【0109】
ウィンドウ606は、データ品質問題に対して推奨されるアクションのリストを示す。一例では、データ品質問題のワークフローは、ウィンドウ606に示されるアクションを規定することができる。ここでは、データ品質問題の状態616が「トリアージ中」であるので、「完全トリアージ」アクション項目が示されている。
【0110】
ウィンドウ608は、データ品質問題に関するデータ品質測定を記述するデータを示す。タイムラインデータ610は、ウィンドウ608に含まれる。データ品質測定データは、データ品質テスト(測定とも呼ばれる)がいつ実行されるかを指定する。ウィンドウ608は、結果データが受信されたときを示す。ウィンドウ608は、適用可能な場合、1つ以上の以前のデータ品質テストの結果データの一部分を示す。データ品質問題が再発生している場合、ウィンドウ608内のデータから、ユーザは、経時的なデータ品質問題の傾向を素早く見ることができる。
【0111】
ウィンドウ612は、(例えば、割り当てられたエンティティによって)提供される追加のコメントのためのスペースを提供する。コメントは、データ品質問題に継承される属性値を補足することができる。
【0112】
画面600aに示されるデータ品質問題は、状態616と関連付けられる。この例では、データ品質問題は、責任エンティティがデータ品質問題をトリアージすることを要求される「トリアージ中」と呼ばれる初期段階にある。データ品質問題が重大であると判定された場合、データ品質をエスカレートさせることができ、又はデータ品質問題を解決するために1つ以上の他のアクションを実行することができる。
【0113】
図6Bは、
図6AのDCI-2と関連付けられた制御ポイント#2010(DQCP-2010と呼ばれる)を表す画面600bを示す。この制御ポイントは、
図6Aのデータ品質問題を引き起こすデータ品質テストを構成する。
【0114】
画面600bは、
図6Aのウィンドウ604と同様の一般情報ウィンドウ624を含む。ウィンドウ624は、制御ポイント名624aを含む。この例では、制御ポイント名624aはDQCP-2010、すなわちデータ品質制御ポイント#2010である。ウィンドウ624は、データ品質制御ポイントである、表現されたオブジェクトのタイプ624bを示す。ウィンドウ624は、データ品質制御ポイントの説明624cを示す。ここでは、説明は、データ品質制御ポイントによって構成されたデータ品質テストについて説明する。この制御ポイントのためのデータ品質テストの目標は、「製品タイプは、自動車ローンにおいて有効値であるべきである」ということである。これは、データ品質テストが、(例えば、別のフィールド中の)製品タイプをチェックするために自動車ローンと呼ばれるフィールドにおいて有効値をチェックするように構成されることを示す。説明624dは、「製品タイプは自動車ローンではNULL又は空であり得ない」ことを指定する更なる情報を提供する。この説明624dは、どのデータ品質ルールが適用されているかを示す。例えば、自動車ローンフィールド内の値は、NULL又は空であり得ない。いずれかのルール条件が満たされない場合、フィールドのその値はデータ品質テストに不合格となる。いくつかの実装形態では、結果データは、データ品質テストのためのどのルール又は条件が満たされなかったかを正確に指定する。いくつかの実装形態では、結果データは、どの条件が満たされなかったかを指定することなく、データ品質テストの少なくとも1つの条件が特定のフィールドについて満たされなかったことを示す。ウィンドウ624は、どのデータ品質メトリック624eがテストされているかを指定する。図示の例では、メトリック624fは、各記録のフィールドに含まれる値の完全性である。ウィンドウ624は、どれだけのデータがテストされているかを示すテストユニット624fを指定する。
【0115】
画面600bは、テストされているデータのソースを指定するウィンドウ626を含む。例えば、ウィンドウ626は、テストされている製品を含むビジネスデータ要素626aを指定する。データのパス626bは、データレイク>リテールバンキング>自動車ローンのデータセットからである。
【0116】
データ管理ウィンドウ628は、データ品質テストの態様を指定する。ウィンドウ628は、データ品質ビジネス要件628aを指定する。これは、特定のデータ品質テストの目標である。ここでは、目標は、データセットの完全性であり、より具体的には、データセットの各記録が有効値でポピュレートされることである。データ品質テストのカテゴリ628bは、モニタリングである。データ品質テストの頻度628cはウィンドウ628に示されている。ここでは、頻度628cは、毎週のデータ品質テストである。
【0117】
制御所有権ウィンドウ630は、データ品質問題を解決する1つ以上の責任エンティティを指定する。データ品質制御ポイント#2010の所有者は、その関連付けられたデータ品質問題DCI-2と同じである。割り当てられたエンティティは、Abbey A.Williamsである。聴取のために割り当てられたデータ品質分析者は、Melodie M.Pickettである。
【0118】
仕様ウィンドウ632は、仕様(例えば、ワークフロー)識別子を含む。この例では、ワークフローは識別されない。仕様は、グラフ又は他のロジックであり得る。
【0119】
実装ウィンドウ634は、データ品質テストがいつ実行されているかを指定するデータを含む。ここでは、最初のデータ品質テストタイムスタンプ634a及び直近のデータ品質テストタイムスタンプ634bが示されている。
【0120】
ウィンドウ620は、データ品質テストの結果データ638を示す。結果データ638aは、全ての記録のうちの合格した記録の割合、又は不合格若しくは合格した記録の絶対数など、データ品質テスト結果の表現を含む。結果データ638は、傾向データ638bの表現を含む。傾向データ638bは、データ品質テストの結果が、データ品質の改善又は劣化のいずれかとして、以前の1つ以上のテストから直近のテストへとどのように変化したかを示す。
【0121】
データ品質制御ポイントは、ステータス値636と関連付けられる。これは、データ品質制御ポイントと関連付けられたデータ品質問題638の状態とは異なる。ここでは、ステータス636は「公開済み」である。
【0122】
データ品質制御ポイント画面600bは、制御ポイントと関連付けられたデータ品質問題638の各々を示す。ここでは、データ品質問題DQI-2が(例えば、
図5に示される要約データとして)、データ品質管理データに挿入されて示されている。
【0123】
図7は、データ品質問題のタイムライン702を表すユーザインターフェース画面700の一部分を示す。ここでは、データ品質問題状態704は「進行中」である。タイムライン702は、1つ以上のエンティティと、データ品質問題に関して各々いつ取られたかの任意のアクションとを示す。ここでは、ユーザWade L.Registerが、データ品質問題に対する被割り当て人の変更をコメントし、編集し、受け入れた。管理エンティティは、トリアージを完了することによって、データ品質問題の状態を変更した。一例では、これは自動化されたプロセスを含み得る。
【0124】
図8は、自動化されたデータ品質問題生成及びワークフロー生成のためのプロセス800を示す。プロセス800は、前述のようなデータ処理システムによって実装され得る。プロセス800は、データ記録に対するデータ品質テストの出力を指定する結果データを受信すること(802)と、データ品質テストのデータ品質条件と、データ品質テストを構成したオブジェクトとを指定する、結果データと関連付けられたメタデータを受信すること(804)と、結果データ及びメタデータに基づいて、結果データを処理するためのワークフローの状態を指定するデータ品質問題を生成すること(806)と、データ品質問題によって指定された状態に基づいて、結果データを処理するためのワークフローを生成すること(808)と、を含む。ワークフローを生成することは、結果データとデータ品質問題の状態とに基づいて、データ品質エラーを解決する責任を負うエンティティを割り当てること(810)と、メタデータに基づいて、データ品質テストにおいて指定されたデータ品質条件を満たすための1つ以上のアクションを判定すること(812)と、データ品質問題と関連付けられた状態を更新すること(814)と、を含む。プロセスは、ワークフローを表すデータをワークフロー実行システムに送信すること(816)を含む。
【0125】
本明細書に記載された主題及び動作のいくつかの実装形態は、本明細書に開示された構造及びそれらの構造的均等物を含むデジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェア、又はそれらの1つ以上の組み合わせに実装することができる。例えば、いくつかの実装形態では、データ処理デバイス102のモジュールは、デジタル電子回路を使用して、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェア、又はそれらのうちの1つ以上の組み合わせに実装することができる。別の例では、プロセス900、1000、1100、及び1200は、デジタル電子回路を使用して、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェア、又はそれらのうちの1つ以上の組み合わせに実装することができる。
【0126】
本明細書に記載されるいくつかの実装形態は、デジタル電子回路、コンピュータソフトウェア、ファームウェア、若しくはハードウェアの1つ以上のグループ若しくはモジュールとして、又はそれらのうちの1つ以上の組み合わせで実装することができる。異なるモジュールを使用することができるが、各モジュールは別個である必要はなく、複数のモジュールを同じデジタル電子回路、コンピュータソフトウェア、ファームウェア、若しくはハードウェア、又はそれらの組み合わせに実装することができる。
【0127】
本明細書に記載のいくつかの実装形態は、1つ以上のコンピュータプログラム、すなわち、データ処理装置によって実行するために、又はデータ処理装置の動作を制御するためにコンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実装することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムアクセス若しくはシリアルアクセスメモリアレイ若しくはデバイス、又はそれらの1つ以上の組み合わせであり得るか、又はそれらに含まれ得る。更に、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令のソース又は対象とすることができる。コンピュータ記憶媒体はまた、1つ以上の別個の物理的コンポーネント又は媒体(例えば、複数のCD、ディスク、又は他の記憶デバイス)であってもよく、又はそれらに含まれてもよい。
【0128】
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、又は上記の複数のもの、又は組み合わせを含む、データを処理するためのあらゆる種類のデバイス、デバイス、及び機械を包含する。いくつかの実装形態では、データ処理システム100は、本明細書に説明されるようなデータ処理装置を備える。装置は、例えばFPGA(field programmable gate array、フィールドプログラマブルゲートアレイ)又はASIC(application specific integrated circuit、特定用途向け集積回路)などの専用ロジック回路を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。装置及び実行環境は、ウェブサービス、分散コンピューティング、及びグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0129】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている)は、コンパイル型言語又はインタプリタ型言語、宣言型言語又は手続き型言語を含む、任意の形式のプログラミング言語で記述することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、対応する必要はない。プログラムは、他のプログラム又はデータ(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)を保持するファイルの一部分、問題のプログラム専用の単一のファイル、又は複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を記憶するファイル)に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイトに配置される、又は複数のサイトに分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行するために展開することができる。
【0130】
本明細書に説明されるプロセス及びロジックフローのいくつかは、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行され、入力データを操作して出力を生成することによってアクションを実行することができる。プロセス及びロジックフローはまた、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの専用ロジック回路によって実行することができ、装置は専用ロジック回路として実装することができる。
【0131】
コンピュータプログラムの実行に好適なプロセッサとしては、例えば、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータのプロセッサが挙げられる。概して、プロセッサは、リードオンリーメモリ若しくはランダムアクセスメモリ又はその両方から命令及びデータを受信するであろう。コンピュータは、命令に従ってアクションを実行するためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリデバイスとを含む。コンピュータはまた、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、又は光ディスクを含むか、それらからデータを受信するか、それらにデータを転送するか、それらの両方を行うように動作可能に結合することができる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを記憶するのに好適なデバイスは、例として、半導体メモリデバイス(例えば、EPROM、EEPROM、フラッシュメモリデバイスなど)、磁気ディスク(例えば、内蔵ハードディスク、リムーバブルディスクなど)、光磁気ディスク、並びにCD-ROM及びDVD-ROMディスクを含む、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用ロジック回路によって補完され得るか、又は専用ロジック回路に組み込まれ得る。
【0132】
ユーザとの対話を提供するために、ユーザに情報を表示するためのディスプレイデバイス(例えば、モニタ、又は別の種類のディスプレイデバイス)と、ユーザがコンピュータに入力を提供することができるキーボード及びポインティングデバイス(例えば、マウス、トラックボール、タブレット、タッチセンシティブスクリーン、又は別のタイプのポインティングデバイス)とを有するコンピュータ上でアクションを実施することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもできる。例えば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなどの任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形態で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、デバイスから文書を受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0133】
コンピュータシステムは、単一のコンピューティングデバイス、又は互いに近接して又は一般に遠隔で動作し、通常は通信ネットワークを介して対話する複数のコンピュータを含むことができる。通信ネットワークの例には、ローカルエリアネットワーク(「local area network、LAN」)及びワイドエリアネットワーク(「wide area network、WAN」)、インターネットワーク(例えば、インターネット)、衛星リンクを含むネットワーク、及びピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)が含まれる。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じ得る。
【0134】
例示的なコンピュータシステムは、プロセッサ、メモリ、記憶デバイス、及び入出力デバイスを含む。コンポーネントの各々は、例えば、システムバスによって相互接続され得る。プロセッサは、システム内で実行するための命令を処理することができる。いくつかの実装形態では、プロセッサは、シングルスレッドプロセッサ、マルチフィールドスレッドプロセッサ、又は別のタイプのプロセッサである。プロセッサは、メモリ又は記憶デバイスに記憶された命令を処理することができる。メモリ及び記憶デバイスは、システム内に情報を記憶し得る。
【0135】
入出力デバイスは、システムに入出力動作を提供する。いくつかの実装形態では、入出力デバイスは、ネットワークインターフェースデバイス、例えばイーサネットカード、シリアル通信デバイス、例えばRS-232ポート、及び/又は無線インターフェースデバイス、例えば802.11カード、3G無線モデム、4G無線モデム、5G無線モデムなどのうちの1つ以上を含み得る。いくつかの実装形態では、入出力デバイスは、入力データを受信し、他の入出力デバイス、例えばキーボード、プリンタ及びディスプレイデバイスに出力データを送信するように構成されたドライバデバイスを含み得る。いくつかの実装形態では、モバイルコンピューティングデバイス、モバイル通信デバイス、及び他のデバイスを使用することができる。
【0136】
本明細書は多くの詳細を含むが、これらは特許請求され得るものの範囲に対する限定として解釈されるべきではなく、特定の例に特有の特徴の説明として解釈されるべきである。別個の実装形態の文脈で本明細書に記載されている特定の特徴を組み合わせることもできる。逆に、単一の実装形態の文脈で説明されている様々な特徴は、複数の実施形態において別々に、又は任意の好適な副組み合わせで実施することもできる。
【0137】
いくつかの実施形態が説明されている。それにもかかわらず、本明細書に記載のデータ処理システムの範囲から逸脱することなく、様々な修正を行うことができることが理解されよう。したがって、他の実施形態も、以下の特許請求の範囲の範囲内にある。
【国際調査報告】