CN104756113A - 用于检测数据源中的偏差的方法、设备和计算机程序 - Google Patents
用于检测数据源中的偏差的方法、设备和计算机程序 Download PDFInfo
- Publication number
- CN104756113A CN104756113A CN201380057211.2A CN201380057211A CN104756113A CN 104756113 A CN104756113 A CN 104756113A CN 201380057211 A CN201380057211 A CN 201380057211A CN 104756113 A CN104756113 A CN 104756113A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- algorithm
- announce
- attribute
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开描述了用于检测数据源中的偏差的方法和设备,每一个数据源包括多个数据公布,每一个数据公布包括多个数据值。该方法包括:标识(102)数据公布对,每一对包括第一数据源中的第一数据公布和第二数据源中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等。该方法还包括:确定(104)多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法,以及确定(106)针对多个数据公布对所确定的关系模式算法的满足的符合性水平。该方法还包括:基于所确定的符合性水平,从多个关系模式算法中选择(108)关系模式算法,以及关于所选择的关系模式算法分析(110)个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示(114)个体数据公布对的数据的可能偏差。
Description
技术领域
本公开大体上涉及用于检测数据源中的偏差的方法、设备和计算机程序。
背景技术
在大多数企业(例如,移动通信运营商)中,信息遍布于很多不同的数据源。存储在不同源中的数据是重复的或者至少具有相同含义的情况不在少数。当预期为相同的数据由于某种原因而不同时,可能出现不期望的问题,例如,在移动通信网络中,移动电话的用户不能打电话、或者运营商不能对顾客进行计费等。因此,不一致的数据可能引起很多麻烦。根据申请人的调查,平均移动通信运营商的收入流失约为2%,并且该收入流失的很大一部分是不一致数据(其导致通信使用的含糊不清的登记,因此不能对通信使用进行计费)的直接或间接结果。
如今,市场上存在对数据源进行扫描以寻找数据不一致或数据偏差的工具。此类工具的一个常见问题是必须向工具指示在数据源中寻找什么。因为每一个数据系统包括这样的数据源,即,其中存储的数据具有其自己的数据结构,因此,必须针对要扫描的每一个数据源组合向工具指示。即,工具需要关于数据源的数据模型以及数据模型如何相互相关的指示。然而,不同的系统或源可能来自不同的供应商,并且可能难以有权访问描述数据模型的文件。另一个问题是数据模型通常很复杂,使得即使某人已知或有权访问一个数据模型的描述,也难以分辨它如何与另一数据模型相关。另一个问题是,为了寻找数据偏差,可能还必须理解什么被认为是偏差以及什么不被认为是偏差。
此外,数据源中的数据可以随着时间改变。在这些情况下,被认为是数据偏差的内容可能实时改变。
因此,需要用于有效地检测不同数据源的数据之间的数据偏差的工具。
发明内容
本发明的目的是解决上文列出的问题中的至少一些。可以通过使用所附独立权利要求中定义的方法和设备来实现这些和其他目的。
根据第一方面,提供了一种用于检测数据源中的偏差的方法,每一个数据源包括多个数据公布,每一个数据公布包括多个数据值。所述方法包括:标识数据公布对,每一对包括第一数据源中的第一数据公布和第二数据源中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等。此外,所述方法还包括:确定所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法。此外,所述方法还包括:确定针对所述多个数据公布对所确定的关系模式算法的满足的符合性水平;以及基于所确定的符合性水平,从所述多个关系模式算法中选择关系模式算法。所述方法还包括:关于所选择的关系模式算法,分析个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示个体数据公布对的数据的可能偏差。
通过这种方法,可以自动地检测具有可比较的数据公布的两个数据源的数据之间的可能偏差。例如,可以自动地检测两个可比较数据源中的任意一个的数据的错误。如果检测到这种数据错误或数据值错误,则可以容易地减轻这些错误,并且可以避免由于这些错误引起的问题。可能的使用情况是针对移动通信运营商的相当大的数据库。在该使用情况下,可以避免的问题的示例是如果在两个相当大的数据库中存在偏差,则可能不清楚向谁收取拨打的电话的费用,这导致运营商收入流失。此外,该方法使得可以从多个关系模式算法中选择适合于个体数据值组合的关系的关系模式算法,这导致寻找偏差的准确度提高。
根据第二方面,提供了一种用于检测数据源中的偏差的设备,每一个数据源包括多个数据公布,每一个数据公布包括多个数据值。所述设备包括:标识单元,用于标识数据公布对,每一对包括第一数据源中的第一数据公布和第二数据源中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等。此外,所述设备包括:确定单元,用于确定所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法,以及用于确定针对所述多个数据公布对所确定的关系模式算法的满足的符合性水平。所述设备还包括:选择单元,用于基于所确定的符合性水平,从所述多个关系模式算法中选择关系模式算法;以及分析单元,用于关于所选择的关系模式算法,分析个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示个体数据公布对的数据的可能偏差。
根据第三方面,提供了一种计算机程序,包括计算机可读代码装置,当在被配置用于检测数据源中的偏差的设备中运行所述计算机可读代码装置时,所述计算机可读代码装置使所述设备执行以下步骤:标识数据公布对,每一对包括第一数据源中的第一数据公布和第二数据源中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等;确定所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法;确定针对所述多个数据公布对所确定的关系模式算法的满足的符合性水平;基于所确定的符合性水平,从所述多个关系模式算法中选择关系模式算法;以及关于所选择的关系模式算法,分析个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示个体数据公布对的数据的可能偏差。
附图说明
现在参照附图通过举例说明的方式描述本发明,在附图中:
图1至图6示出了描述根据本发明的实施例的方法的流程图。
图7是关于7个关系模式算法对数据公布对的个体数据值进行比较的比较矩阵的示例。
图8是图7中的比较矩阵的一个单元n32的特写。
图9示出了描述根据一个实施例的方法的流程图。
图10是根据本发明的实施例的设备的示意性框图,该设备连接到第一数据源和第二数据源。
图11是根据本发明的实施例的装置的示意性框图。
具体实施方式
简言之,提供了用于检测数据源(更具体地,至少两个不同数据源的数据)的偏差。该解决方案至少部分地以以下思想为基础:通过标识两个数据源的数据之间的关系的模式,还可以标识与这些模式的偏差。
在本公开中,“数据源”可以是存储数据的任意类型的地方(临时的或长期的)。数据源是保存数据的任何实体,例如,数据库或文档等。数据源的示例是经由结构化查询语言(SQL)访问的关系数据库或经由轻量级目录访问协议(LDAP)访问的目录服务。其他示例是Excel文件、逗号分隔值(CSV)文件、或扩展标记语言(XML)文件。
在本公开中,数据公布可以是数据源中的行,例如,SQO数据库表中的行、Excel文件/工作表中的行、CSV文件中的行、或LDAP条目。数据属性可以是数据源中的列,例如SQL数据库表、Excel文件/工作表中的列、CSV文件中的列、或LDAP树中的属性。当然,可以是另一方式,即,数据公布可以是数据源中的列,并且数据属性可以是数据源中的行。一个数据属性可以包括一个数据属性类别的数据值。数据属性类别可以是例如,个人标识号、或移动电话号码(例如,MSISDN号、移动站综合服务数字网络号)。数据公布包括多个数据值,每一个数据值针对该数据公布有效,例如,与该数据公布有联系的特定用户的个人标识号和移动电话号码、以及用户的名字可以是该数据公布的一个数据值。例如,数据公布的数据值可以是个人标识号341001、MSISDN号010-2222222、以及名字JohnSmith。数据属性可以包括关于相同数据属性类别的数据值。
在图1中,描述了根据实施例用于检测数据源中的偏差的方法。每一个数据源包括多个数据公布;每一个数据公布包括多个数据值。该方法包括:标识102数据公布对,每一对包括第一数据源中的第一数据公布和第二数据源中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等。该方法还包括:确定104多个数据公布对中的每一个数据公布对中的第一数据公布的数据值与第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法。该方法还包括:确定106针对多个数据公布对所确定的关系模式算法的满足的符合性水平,以及基于所确定的符合性水平从多个关系模式算法中选择108关系模式算法。该方法还包括:关于所选择的关系模式算法,分析110个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示114个体数据公布对的数据的可能偏差。
唯一匹配数据属性是值全不同的数据属性,即,数据源的唯一匹配数据属性的数据值仅出现一次。第一数据源的唯一匹配数据属性与第二数据源的唯一匹配数据属性相匹配在于:相同的数据值存在于第一数据源中的第一数据公布和第二数据源中的第二数据公布中;已经发现所谓数据公布对。在数据源上下文中,它还可以被称作“接合点”。例如可以通过对每一个数据源在唯一属性/列上的数据进行排序来实现唯一数据公布配对。也可以经由提供JOIN(接合)功能(例如,将关系数据库中的两个表接合)的内部或外部系统服务来实现唯一数据公布配对。子集是数据值的一部分。数据值的子集相等表示第一数据公布的数据值的子集等于第二数据公布的数据值的子集。子集的大小可以根据特定规则来决定,并且针对多个数据公布可以包括相同数据量(即,例如,相同数量的数位)的数据值。子集也可以是整个数据值。关系模式算法是确定第一数据公布中的值“a”是否与第二数据公布中的值“b”有关系的算法,该关系满足算法设置的要求。简单的关系模式算法的示例是“a=b”。
通过这种方法,可以自动检测具有公共唯一标识符的两个数据源之间的偏差。通过能够在针对一个数据公布对检查第一数据值和第二数据值是否符合关系模式算法时选择针对其他数据公布对的适于来自第一源的第一数据值和来自第二源的第二数据值的正常关系的关系模式算法,可以实现高水平的正确指示的偏差,该偏差与源中的任意一个的错误有关。
根据一个实施例,符合性水平是针对与多个数据公布对的相同数据属性组合有关的数据值的组合来确定106的。“与相同数据属性组合有关的数据值的组合”表示针对所有多个数据公布对,第一数据公布对中的第一数据属性与第二数据公布对中的第二数据属性的数据值的组合。换言之,所确定的针对个体关系模式算法的满足的符合性是针对关系矩阵中的个体点确定的,作为针对所有关系矩阵的个体点的总符合性。
根据一个实施例,确定104满足包括:针对所述多个数据公布对中的每一个数据公布对,在比较矩阵Hxy中将所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值与第二数据公布的数据值进行组合,其中,x指示所述第一数据公布的数据属性的数量并且同时指示所述矩阵的列的数量,并且y指示所述第二数据公布的数据属性的数量并且同时指示所述矩阵的行的数量。比较矩阵Axy是这样的矩阵,即,其中第一数据公布的数据值与第二数据公布的数据值进行组合(可能所有组合),第一数据公布的一个数据值与第二数据公布的一个数据值进行组合,使得创建具有x*y个点的矩阵。
根据一个实施例,针对所述多个数据公布对,所述相同数据属性组合涉及所述比较矩阵Hxy中的相同位置nab,其中,a=整数1至x中的任意一个,b=整数1至y中的任意一个。数据属性组合包括针对个体数据公布对的比较矩阵中的位置nab的所有个体数据值组合。一个个体数据值组合nab指示针对一个数据公布对的“a”中的数据值与“b”中的数据值的组合。
根据一个实施例,选择108包括:基于所确定的符合性水平,针对与所述多个数据公布对的相同数据属性组合有关的数据值组合分别选择关系模式算法。
根据一个实施例(还如图2中所示),所述方法还包括:检测202所述第一数据源中数据值唯一的至少一个数据属性;以及检测204所述第二数据源中数据值唯一的至少一个数据属性。所述方法还可以包括:从所检测的所述第一数据源中的至少一个数据属性和所检测的所述第二数据源中的至少一个数据属性中选择206所述第一数据源中具有最多共同数据值的数据属性和所述第二数据源中具有最多共同数据值的数据属性,作为所述第一数据源的唯一匹配数据属性和所述第二数据源的唯一匹配数据属性。数据属性具有唯一数据值表示针对数据源中的数据属性,相等的数据值或数据值的子集仅使用一次。通过该实施例,可以自动地选择针对第一数据源和第二数据源的唯一匹配数据属性,可以在关于图1所述的方法中使用唯一匹配数据属性。
根据一个实施例,所述方法还包括:按所述唯一匹配数据属性的数据值的递增或递减数据值顺序对所述第一数据源和/或所述第二数据源中的数据公布进行排序。如果还未对数据源中的数据公布进行排序,则可能需要按递增或递减数据值顺序对它们进行排序。基于每一个公布的唯一匹配数据属性的数据值对数据公布进行排序。由此,与未对数据公布进行排序相比,更容易且更快速地标识数据公布对。
元数据分析。元数据分析可以是例如评估数据类型、或数据属性的特性、或数据属性的元数据。根据图3中所述的实施例,该方法还包括:针对第一数据源,通过针对确定第一数据源的数据属性的数据值的特性的值类型算法集暴露数据值来检测302数据属性的元数据;以及针对第二数据源,通过针对确定第二数据源的数据属性的数据值的特性的值类型算法集暴露数据值来检测304数据属性的元数据。元数据可以是例如数据类型“数值”、数据类型“布尔值”(真/假、1/0)、“具有唯一数据值的数据属性”、“具有排序值的数据属性”(即,对数据属性中的值进行排序)、文本串等。值类型算法是如果对数据值进行测试则显示值是否具有特定类型(例如,布尔值类型算法显示值类型是否是布尔型的)或者针对数据属性的值是否具有特定的特性或元数据的算法。针对值类型算法集暴露数据值表示对数据值测试多个算法以确定数据值是否与算法中的任一个相匹配。通过针对个体数据源检测数据属性的元数据,可以通过检测针对该数据属性的数据公布的数据值偏离其他数据公布的其他数据值来检测源内的偏差。此外,诸如“具有唯一数据值的数据属性”等的元数据的信息可以用作用于在根据实施例的方法中确定数据源的唯一匹配数据属性的输入。这也通过以下实施例来实现。检测302第一数据源中的元数据包括:检测202第一数据源中数据值唯一的至少一个数据属性;以及检测304第二数据源中的元数据包括:检测204第二数据源中数据值唯一的至少一个数据属性。
根据一个实施例,基于所确定的符合性水平从多个关系模式算法中选择108关系模式算法仅当多个关系模式算法中存在所确定的符合性水平高于定义阈值的关系模式算法时才执行。例如,特定关系模式算法与针对所有(或至少很多)数据公布对的个体数据属性组合的符合性水平针对可能选择用于寻找该个体数据属性组合的偏差的关系模式算法必须高于阈值(例如,70%)。如果不存在满足准则的关系模式算法,则将不对该个体数据属性组合进行检查以寻找偏差。换言之,在该个体数据属性组合的值之间没有发现可靠的关系。可以针对不同算法区别地和/或针对不同的数据属性组合区别地设置阈值。
根据一个实施例,当多个关系模式算法中存在所确定的符合性水平高于定义阈值的多于一个关系模式算法时,选择108关系模式算法包括:使用优先级算法来决定要选择多于一个关系模式算法中的哪一个。如果根据一个示例,特定数据值组合在95%的情况下满足“x在y中”算法并且在90%的情况下满足“x=y”算法,则“x=y”算法将仍然被选择,这是因为它是优先的。应当观察到,该示例仅是优先级算法的示例;存在可能很多其他优先级算法。例如,“x在y中”与“x=y”被划分在相同的优先级,即,选择具有最高符合性水平的算法。
下面的示例示出了当对两个示例性数据库(DB)(第一数据库DB1和第二数据库DB2)使用时的本发明。注意,所示的示例仅用于使用示例性值来解释本发明以及本发明中的术语。所示的示例不应当被解释为限制本发明。在表1中,示出了DB1,在表2中,示出了DB2。DB1具有四个数据公布和三个数据属性。DB2具有四个数据公布和四个数据属性。
A1 | B1 | C1 |
001 | Mary Shelley | +44 1234567 |
002 | Mary Poppins | +44 654322 |
003 | Donald Duck | +1 4444455 |
005 | Johnny Puma | +46 333222 |
表1
A2 | B2 | C2 | D2 |
001 | Mary | Shelley | 1234567 |
002 | Mary | Poppins | 654321 |
003 | Donild | Duck | 4444455 |
004 | Benny | Guldfot | +46 666677 |
表2
来自DB1的列A1和来自DB2的列A2被选择为唯一匹配数据属性,这是因为在每一个数据库中,A1和A2的数据值分别是唯一的。此外,A1和A2的数据值部分相同。A1和A2的数据值001、002、003是可比较的,这是因为它们存在于两个数据库中。因此,D1中包含001的数据公布与D2中包含001的数据公布一起被标识为数据公布对,D1中包含002的数据公布与D2中包含002的数据公布一起被标识为数据公布对,并且D1中包含003的数据公布与D2中包含003的数据公布一起被标识为数据公布对。数据值004仅存在于A1中,并且数据值005仅存在于A2中,由于这个原因,在标识数据公布对的步骤中未标识这些数据公布。
此后,创建三个数据公布对组合矩阵H1、H2、H3,针对每一个数据公布对一个矩阵:H1针对包含001的数据公布对,H2针对包含002的数据公布对,并且H3针对包含003的数据公布对。下面在表格3至5中示出了组合矩阵。在组合矩阵中的每一个位置,已经写出了两个数据值,这两个数据值要被组合在一起以确定它们是否满足关系模式算法。来自DB2的数据值用斜体书写,并且来自DB1的数据值用普通文字书写,以更好地示出其相应的源。例如,在矩阵H1中的位置n22(意味着第2行第2列),写出了Mary Shelley和Mary,在矩阵H2的位置n22,写出了Mary Poppins和Mary,并且在矩阵H3中的位置n22,写出了Donald Duck和Donild。
表3:数据公布对组合矩阵H1
表4:数据公布对组合矩阵H2
表5:数据公布对组合矩阵H3
在该示例中,存在两个不同的关系模式算法:第一个算法被定义为x=y(x是来自DB1的值、y是来自DB2的值)是否成立。第二个算法被定义为“y在x中”(即,y是x的一部分)。然后,确定上述数据值组合中的每一个是否满足这些算法中的每一个。对于H1中的数据值组合n22,Mary Shelley和Mary满足关系模式算法“y在x中”。对于H2中的数据值组合n22,Mary Poppins和Mary满足关系模式算法“y在x中”,但是针对H3中的数据值组合n22,Donald Duck和Donild不满足关系模式算法“y是x的一部分”。数据值组合n22均不满足模式x=y。针对数据值组合n22,选择使用模式“y在x中”,这是因为该模式比“x=y”模式具有更高的符合性水平。与矩阵中的相同位置相关的数据公布对的数据值组合nab是数据公布对的相同数据属性的组合。
针对可以选择关系模式算法的所有数据值组合nab执行对关系模式算法的这种确定和选择。下面的表6示出了针对每一个数据值组合对关系模式算法的选择。在什么都没有写的位置nab,未确定符合性。在备选方式中,针对要选择的关系模式算法,符合性水平必须高于某种程度。此外,在针对多于一个关系模式算法存在符合性的情况下,一些算法可能比其他算法具有更高的优先级,例如,在“x=y”和“y在x中”均满足的位置1,1。因为与“y在x中”相比,“x=y”是更强的关系,因此针对该位置选择“x=y”。
A1 | B1 | C1 | |
A2 | x=y | ||
B2 | y在x中 | ||
C2 | y在x中 | ||
D2 | y在x中 |
表6
此后,对个体数据公布对的个体数据值组合进行分析,以确定它们是否满足针对每一个位置nab所选择的已选关系模式算法。这导致可以设想的所发现的可能数据偏差集,如表7所示。
A1 | B1 | C1 | |
A2 | |||
B2 | 1 | ||
C2 | 0 | ||
D2 | 1 |
表7
当检查组合时,在位置22发现一个偏差并且在位置33发现一个偏差。当查看位置22时,可以看出组合Mary Shelley,Mary满足所选择的算法“y在x中”,Mary Poppins,Mary满足所选择的算法“y在x中”,但是Donald Duck,Donild不满足所选择的算法“y在x中”。因此,这里已经发现了数据的可能偏差。在系统中发信号通知该偏差,并且运营商可以例如手动地进入数据库到达该点,并且将Donild校正为Donald。通过相同的方式,在数据值组合n34,检测到+44 654322与654321之间的偏差(参见数据公布对组合矩阵2),发信号通知该偏差。
应当注意的是,这是示出主要原则的非常简化的示例。将使用解决方案的典型场景包含远远更大的数据集,其中,发现的偏差的数量与总数据集相比非常小。
根据另一实施例,本发明涉及使用计算机软件以通过扫描两个数据源来获知两个数据源或数据源之间的数据关系模式。通过针对关系模式算法集暴露每一个数据值组合来完成对这些模式的发现。如果数据值组合符合算法集中的一个算法,则增加该算法的符合性水平。例如,可以通过计数器来测量符合性水平。当对所有数据公布进行扫描时,针对每一个数据值组合具有最高符合性水平的算法成为针对该数据值组合用于寻找个体数据公布的可能偏差的关系模式,或数据值组合矩阵(也称作数据公布对组合矩阵,例如参见表3-5)中的交叉点。
针对两个数据源(SQL表、CSV文件、LDAP条目、Excel工作表等)之间的所有数据属性/列进行该操作给出了模式矩阵,该模式矩阵示出了针对矩阵中的每一个交叉点所选择的算法,参见例如表6。此后,执行第二扫描,其中,将个体数据公布对的值与所选择的算法进行比较。由此,可以检测到偏离所选择的关系模式算法中的任一个算法的公布。
根据另一实施例,如图4所示,解决方案基于四个阶段,其中,前两个阶段400、500具有初始属性(建立后两个阶段600、700的先决条件)。前两个阶段400、500可以是可选的。四个阶段400、500、600、700不必处于相同的处理或过程中。可以通过外部执行者个体地触发这四个阶段,但是可能必须按时间顺序对它们触发至少一次。可以在一个序列中执行四个阶段,或者可以周期性地执行过程的各个部分。可以通过步骤720中的两个备选选择来决定这一点。
元数据分析400
在该阶段,方法用于通过扫描整个数据源,即,实质上数据源的所有数据公布,来分析元数据以检测数据源中的数据类型模式。
可以通过逐个公布进行读取并且针对确定类型的类型算法集暴露每一个数据值(换言之,数据源中的列中的数据值的特性,即,一个数据属性的数据值的特性或数据属性类型)来完成这一点。
典型的特性是例如数值、布尔值(例如,真/假、1/0、是/否等)、具有唯一值的列、排序的列等。默认地,例如,如果在类型模式检测中没有找到特性,则可以将值视为文本。所使用的类型算法集取决于应用上下文。该方法可以用于将在后续阶段中使用的每一个数据源。该方法的备选方式是手动地定义数据源中的数据的特性。
标识符匹配500
当已经决定将进一步分析哪两个数据源时,可以进行的第一件事是确定每一个数据源中的哪一列将用作标识符,在本文中,该列也可以被称作唯一匹配数据属性。
其原因在于,仅于彼此相关的数据公布(例如,具有相同标识符)用于后续的关系模式检测600和关系模式偏差检测700。
如果在标识符匹配阶段之前使用类型模式检测阶段400,则可以在阶段400中针对每一个数据源定义数据类型特性具有唯一值的列。然后,标识为具有唯一值的列的列将是仅有的可能的候选标识符。如果不存在被标识为的具有唯一值的列的列,则不能执行该阶段500的进一步分析。还可以使用具有排序值的列特性。该特性可以以多种方式来实现,例如,经由按特定顺序如在基于SQL的数据库(ORDER BY)中查询数据的可能性。另一示例是针对具有特性具有唯一值的列的每一列显式地对数据进行排序。
如果一个或两个数据源包含具有具有唯一值的列特性的多列,则将存在几个候选标识符组合,即,来自第一源的列和来自第二源的列。为了确定哪个列组合将用作标识符或者任何组合是否有效,使用针对数据的每一个候选标识符组合的匹配计数器。
在图5的流程图中描述了标识符匹配500的过程的实施例。执行标识符匹配,以从候选标识符中寻找源A和源B的标识符组合。当过程开始时,从数据源A读取501a第一数据公布,并且从数据源B读取501b第二数据公布。此后,检查502第一数据公布的候选标识符的值A是否等于第二数据公布的候选标识符的值B。如果相等,则继续步骤504。如果值A小于值B,则回到步骤501a并且从数据源A读取下一个公布(在该示例中,优选地基于候选标识符的值来对数据公布进行排序)。如果值A在值B之后(按词典编纂或数值顺序),则回到步骤501b并且从源B读取下一个公布。如果在步骤502中未找到标识符组合,则针对该候选组合的过程结束(未示出)。在步骤504,执行以下过程:将每一个候选标识符组合与标识符关系算法集进行匹配。如果来自其候选标识符组合的值与标识符算法之一相匹配,则增加针对列交叉点的匹配计数器。
如果匹配计数器高于505可以配置的阈值,则找到匹配标识符组合,并且该候选标识符组合将更进一步被视为标识符列。如果否并且如果还留有其他公布,则将从步骤501a和501b重复该过程。如果在源中不再有公布,则过程结束。该过程的备选方式是针对两个数据源手动地定义或覆盖匹配标识符。
关系模式检测600
针对该阶段的先决条件可以是已经在阶段500中针对该数据源组合将每一个数据源中的一列定义为标识符(不同的列可以是不同的数据源组合中的标识符)。
根据本实施例的数据模式检测过程基于对两个数据源的所有列组合之间关于关系模式算法集的符合性进行计数。在个体数据公布对中,针对第一数据公布和第二数据公布的所有列组合创建矩阵。每一个关系模式算法针对每一个列矩阵交叉点具有符合性计数器。当检查所有数据公布对时,当针对矩阵交叉点针对算法发现符合性时,针对该矩阵交叉点增加针对该算法的符合性计数器。
存在两种关系模式算法:静态关系模式算法和动态关系模式算法。静态关系模式算法是固定的,并且行为是相同的,而与先前的扫描数据无关,这种类型的算法的示例是精确匹配:x=y。动态关系模式算法将采用关系模式,并且将其用作进一步符合性评估的基础。这些算法的示例是Levenshtein编辑距离以及LongestCommonSubstring,其中关系必须符合特定相似度水平。动态关系模式算法还包含标准差水平,其指示算法所表示的模式的同质水平。由于动态关系模式算法的属性,因此每一个矩阵交叉点针对这些算法具有附加变量,例如,针对基于相似性的算法的均值和标准差。
根据本实施例的数据模式检测过程是通过逐个公布地从每一个数据源进行挑选来执行的。如果来自在过程500中定义的(或以任何其他方式定义的)标识符列的值与所定义的标识符算法相匹配,则数据将用于进一步关系模式检测。该标识符列与所定义的标识符算法相匹配可以意味着来自第一数据源的公布的标识符列的数据与来自第二数据源的公布的标识符列的数据相匹配。匹配可以是相等值;部分相等,或来自第一数据源的标识符值包含来自第二数据源的标识符值,或者反之。如果否,则标识符值在另一标识符值之前(按顺序)的公布按照以下描述的序列流被来自其数据源的下一个公布替换。
在图6的流程图中描述了关系模式检测匹配600的过程的实施例。当过程开始时,从数据源A读取601a第一数据公布,并且从数据源B读取601b第二数据公布。此后,检查602第一数据公布的标识符的值A是否等于第二数据公布的标识符的值B。如果相等,则继续步骤604。如果值A小于值B,则回到步骤601a,并且从源A读取下一个公布(在该示例中,优选地,基于标识符的值对数据公布进行排序)。如果值A在值B之后(按词典编纂或数值顺序),则回到步骤601b,并且从源B读取下一个公布。如果在步骤602中没有发现标识符值A=标识符值B,则针对该候选组合的过程结束(未示出)。
另一方面,针对找到的数据公布对,(标识符值A=标识符值B),确定603数据值组合与关系模式算法的符合性。这是通过对(来自源A的)第一数据公布的每一个列值和(来自源B)的第二数据公布的每一列值进行分析来确定的。通过评估这些值是否符合关系模式算法中的一个或多个来进行该分析。如果值组合符合算法,则增加针对该符合算法针对值组合的矩阵交叉点的计数器。动态关系模式算法将符合性基于针对相应矩阵交叉点的值的先前采用值。采用用于检查符合性的新值,并且在矩阵交叉点中更新附加算法变量。值组合可以符合多个算法。针对总计数量的比较公布的计数器也增加,以便稍后确定算法符合性水平与所分析的公布的总数之间的关系。
针对每一个矩阵交叉点针对每一个算法的符合性水平是选择要用于阶段700(关系模式偏移检测)的关系算法的基础。
在步骤604,检查是否存在任何更多数据公布,如果否,则过程结束。如果存在更多数据公布,则从601a和601b重复该过程。来自所有所分析的公布的结果被总结并且给出要用于(如果有的话)个体矩阵交叉点的关系模式算法。
下面描述步骤603的示例。该示例包含3个关系模式算法:
1.基于串匹配(静态)
2.基于Boyer-Moore(X包含Y)(静态)
3.最长公共子串(动态)
表8
上面的表8示出了针对两个数据公布(来自数据源(甚至称作源)A的第一数据公布和来自数据源B的第二数据公布)的比较矩阵,第一数据公布和第二数据公布构成数据公布对,因为它们针对其标识符A0和B0具有相同的值。通过关系模式算法来评估第一和第二数据公布对之间的每一个值组合。值组合A1001/A1001(列A0/B0)符合所有三个算法,而John/john.smithmail.com(列A1/B4)仅符合Boyer-Moore(来自列B1的值包含来自A1的值)。如果针对先前分析的公布,动态最长公共子串的大小高于配置的相似性阈值并且处于标准差内,则它还可以符合动态最长公共子串。具有值“male”(列B3)的非值组合不符合任何算法。
图7示出了将来自源A和B的数据公布对的值进行组合的数据值比较矩阵的示例。在该示例中,源A具有五列A1至A5,即,源A中的数据公布均具有五个数据值,并且源B具有四列B1至B4,即,源B中的数据公布均具有四个数据值。在每一个矩阵交叉点,即,针对每一个数据值组合,针对关系模式算法中的每一个存在符合性计数器。在该具体示例中,存在七个可选的关系模式算法。符合性计数器针对所有数据公布对针对不同的关系模式算法对个体数据值组合的符合性进行计数。每一个矩阵交叉点中的图中的柱越高,针对该矩阵交叉点针对关系模式算法的符合性越高。可以看出,不同关系模式算法可以在不同矩阵交叉点中具有最高符合性。图8是个体数据值组合n32(列A3与列B2交叉)的特写。从图8可以看出,算法4具有最高符合性。实际上,它为100%或约100%。这也是高于阈值X-X的唯一算法。因此,算法4将被选择作为用于在数据值组合n32中对个体数据公布对的偏差进行检测的关系模式算法。
关系模式偏差检测700
来自过程600的最高符合性计数器值确定在每一个矩阵交叉点中要使用哪一个关系模式算法。如果最高符合性计数器值表示动态关系模式算法,则还使用附加算法变量值。如果针对特定矩阵交叉点的最高符合性计数器值低于可配置阈值,则将不会对表示该矩阵交叉点的数据值组合执行偏差检测。如果几个算法计数器高于阈值,则定义的优先级算法决定针对偏差检测使用哪个算法。例如,如果精确匹配算法计数器和“x在y中”算法计数器高于阈值,则精确匹配算法可以比“x在y中”算法更优先。此外,不同的算法可能具有不同的阈值。
对于相应数据源中的每一个数据公布,根据图9的流程图对数据值进行分析,图9描述了用于关系模式偏差检测的过程的实施例。当过程开始时,从数据源A读取701a第一数据公布,并且从数据源B读取701b第二数据公布。可选地,可以针对在阶段400中检测的类型模式算法检查711a第一数据公布(来自数据源A的公布)的数据值。如果第一数据公布的数据值中的任何数据值不符合该算法,则将其作为偏差发信号通知。可选地,可以针对在阶段400中检测的类型模式算法检查711b第二数据公布(来自数据源B的公布)的数据值。如果第二数据公布的数据值中的任何数据值不符合该算法,则将其作为偏差发信号通知。此后,检查702第一数据公布的标识符的值A是否等于第二数据公布的标识符的值B。如果相等,则继续步骤703。如果值A小于值B,则可选地,信号通知712a第一数据公布是唯一的,然后回到步骤701a并且从源A读取下一个公布(在该示例中,优选地,基于标识符的值来对数据公布进行排序)。如果值A在值B之后(按词典编纂或数值顺序),则可选地,信号通知712b第二数据公布是唯一的,然后回到步骤701b并且从源B读取下一个公布。如果第一数据公布A的标识符值A与第二数据公布B的标识符值B相匹配,则检查这两个数据公布的数据值组合中的个体数据值组合是否符合在阶段600中针对每一个个体数据值组合所选择的关系模式算法。如果针对数据公布对的个体数据值组合存在符合性,则过程前进至步骤705,在步骤705,检查是否存在任何更多要评估的数据公布。如果是,则从步骤701a和701b重复过程,如果否,则过程结束。另一方面,在符合性步骤703中,如果针对个体数据值组合中的任一个发现非符合性,则信号通知704公布A和公布B失配。当在该过程中接收到所提到的信号中的任一个时,运营商可以对发现的失配进行分析并且校正失配。
在已经执行关系模式偏差检测阶段700之后,返回图4;决定720图4的整个过程是应当在单个序列中执行还是应当反复执行。如果在单个序列中,则图4的过程结束,如果按反复方式,则在步骤730决定反复分析的范围,即,使用旧的关系模式还是使用更新的关系模式来执行反复分析。根据本实施例,反复分析的范围可以包括不同的备选方式。在第一备选方式中,基于新检测到的关系模式执行新的关系模式偏差检测700。在第二备选方式(其是第一备选方式的变形)中,针对先前检测到的模式算法采用新检测到的关系模式,使得模式改变依赖于历史,即,统计产生的模式。在第三备选方式中,对固定关系模式(即,不随时间改变的关系模式)执行反复分析。
图10描述了用于检测数据源中的偏差的设备800的实施例,每一个数据源包括多个数据公布,每一个数据公布包括多个数据值。在图10中,第一数据源830和第二数据源840连接到设备。设备800包括标识单元802,用于标识数据公布对,每一对包括第一数据源830中的第一数据公布和第二数据源840中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等。所述设备还包括:确定单元804,用于确定所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法,以及用于确定针对所述多个数据公布对所确定的关系模式算法的满足的符合性水平,选择单元806,用于基于所确定的符合性水平,从所述多个关系模式算法中选择关系模式算法;以及分析单元808,用于关于所选择的关系模式算法分析个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示个体数据公布对的数据的可能偏差。所述设备800还包括通信单元812,通信单元812可以被认为包括用于去往和/或来自数据源830的通信的传统设备。所述设备800还可以包括一个或多个存储单元或存储器810。
根据一个实施例,所述确定单元804被配置为针对与所述多个数据公布对的相同数据属性组合有关的数据值的组合来确定所述符合性水平。
根据另一个实施例,所述确定单元804被配置为确定满足包括:所述确定单元被配置为针对所述多个数据公布对中的每一个数据公布对,在比较矩阵Hxy中将所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值与第二数据公布的数据值进行组合,其中,x指示所述第一数据公布的数据属性的数量并且同时指示所述矩阵的列的数量,并且y指示所述第二数据公布的数据属性的数量并且同时指示所述矩阵的行的数量。
根据另一个实施例,针对所述多个数据公布对,所述相同数据属性组合涉及所述比较矩阵Hxy中的相同位置nab,其中,a=整数1至x中的任意一个,b=整数1至y中的任意一个。
根据另一个实施例,所述选择单元806被配置为通过基于所确定的符合性水平,针对与所述多个数据公布对的相同数据属性组合有关的数据值组合分别选择关系模式算法,来选择关系模式算法。
根据另一个实施例,所述设备还包括:确定单元809,用于检测所述第一数据源中数据值唯一的至少一个数据属性以及检测所述第二数据源中数据值唯一的至少一个数据属性。所述选择单元806可以被进一步配置用于从所检测的所述第一数据源中的至少一个数据属性和所检测的所述第二数据源中的至少一个数据属性中选择所述第一数据源中具有最多共同数据值的数据属性和所述第二数据源中具有最多共同数据值的数据属性,作为所述第一数据源的唯一匹配数据属性和所述第二数据源的唯一匹配数据属性。
根据另一个实施例,所述设备还包括:排序单元,用于按所述唯一匹配数据属性的数据值的递增或递减数据值顺序对所述第一数据源830和/或所述第二数据源840中的数据公布进行排序。
根据另一个实施例,所述检测单元809被进一步配置为针对所述第一数据源830,通过针对确定所述第一数据源的数据属性的数据值的特性的值类型算法集暴露数据值来检测所述数据属性的元数据,并且针对所述第二数据源840,通过针对确定所述第二数据源的数据属性的数据值的特性的值类型算法集暴露数据值来检测所述数据属性的元数据。
根据另一个实施例,所述检测单元809被配置为通过检测所述第一数据源中数据值唯一的至少一个数据属性来检测所述第一数据源的元数据,并且所述检测单元809被配置为通过检测所述第二数据源中数据值唯一的至少一个数据属性,来检测所述第二数据源的元数据。
根据另一个实施例,所述选择单元806被配置为仅当所述多个关系模式算法中存在所确定的符合性水平高于定义阈值的关系模式算法时才执行基于所确定的符合性水平从所述多个关系模式算法中选择关系模式算法。
根据另一个实施例,当所述多个关系模式算法中存在多于一个所确定的符合性水平高于所述定义阈值的关系模式算法时,所述选择单元806被配置为使用优先级算法来决定选择所述多于一个关系模式算法中的哪一个。
图11示意性地示出了被配置用于检测数据源中的偏差的设备900的实施例,设备还可以是实现图10中所示的设备800的实施例的备选方式。装置900中包括处理单元906(例如,具有DSP(数字信号处理器)或微处理器)。处理单元906可以是用于执行这里所述的过程的不同动作的单个单元或多个单元。装置900还可以包括输入单元902,用于从其他实体接收信号,以及输出单元904,用于向其他实体提供信号。输入单元902和输出单元904可以被装置为集成实体。
此外,装置900包括至少一个计算机程序产品908,该至少一个计算机程序产品908具有以下形式:非易失性或易失性存储器,例如,EEPROM(电可擦除可编程只读存储器)、闪存存储器、磁盘驱动器、或RAM(随机存取存储器)。计算机程序产品908包括计算机程序910,计算机程序910包括代码装置,当在装置900中的处理单元906中执行代码装置时,代码装置使装置执行先前结合图1至图6中的任意一个或图9所述的过程中的任意一个的动作。
计算机程序910可以被配置为用计算机程序模块构造的计算机程序代码。因此,在示例性实施例中,装置800的计算机程序810中的代码装置包括标识模块910a,用于标识数据公布对,每一对包括第一数据源中的第一数据公布和第二数据源中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等。所述代码设备还包括:第一确定模块910b,用于确定所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法。所述代码装置还包括:第二确定模块910c,用于确定针对所述多个数据公布对所确定的关系模式算法的满足的符合性水平。所述代码装置还包括:选择模块910d,用于基于所确定的符合性水平,从所述多个关系模式算法中选择关系模式算法。所述代码装置还包括:分析模块910d,用于关于所选择的关系模式算法分析个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示个体数据公布对的数据的可能偏差。
处理单元906可以是单个中央处理单元CPU,但是它也可以包括两个或更多个处理单元。例如,处理单元可以包括通用微处理器;指令集处理器和/或相关芯片集和/或专用微处理器(例如,ASIC(专用集成电路))。处理器还可以包括用于缓存目的的在板存储器。计算机程序可以由连接到处理器的计算机程序产品承载。计算机程序产品可以包括其上存储有计算机程序的计算机可读介质。例如,计算机程序产品可以是闪存存储器、RAM(随机存取存储器)、ROM(只读存储器)、或EEPROM(电可擦除可编程ROM),并且在备选实施例中,上述计算机程序模块可以以设备中的存储器的形式分布在不同的计算机程序产品上。
虽然上文结合图11所公开的实施例中的代码装置被实现为计算机程序模块(其中,当在处理单元中执行计算机程序模块时,计算机程序模块使得设备执行上文结合上述图所述的动作),但是在备选实施例中,代码装置中的至少一个可以至少部分地实现为硬件电路。
根据本发明的已经描述的实施例的方法和设备可以具有以下优点中的任意一个或多个:可以自动地找到具有可比较的数据公布的两个较大数据源之间的可能偏差,其中,两个较大数据源中的每一个可以在移动通信运营商的数据库中包括无数数据公布。如果可以减轻这种偏差,则可以避免由于数据库的内容的错误引起的很多问题。例如,可能由于数据库的失配(从而导致不清楚实际上哪一个人拨打电话)而不能对在移动通信网络中拨打的电话进行计费。此外,所述实施例支持多个关系模式算法。可以选择多个关系模式算法中最适合个体数据值组合的关系模式算法。此外,可以检测数据属性类型并且针对列种的某一数据值根据检测到的数据属性类型检测偏差。
虽然上文的描述包含多个特殊性,但是它们不应当被理解为限制这里所述的构思的范围,而是仅提供所述构思的一些示例性实施例的说明。将理解的是,当前所述的构思的范围完全涵盖对于本领域技术人员可以变得显而易见的其他实施例,并且当前所述的构思的范围因此不受限制。除非明确声明,否则以单数形式提及元素并不旨在意味着“一个且仅一个”,而是“一个或多个”。本领域普通技术人员已知的上述实施例的元素的所有结构和功能等同物通过引用的方式明确地并入本文,并且旨在由此被涵盖。此外,设备或方法不必解决当前所述的构思试图解决的每一个问题,这是因为它将由此被涵盖。
Claims (24)
1.一种用于检测数据源中的偏差的方法,每一个数据源包括多个数据公布,每一个数据公布包括多个数据值,所述方法包括:
标识(102)数据公布对,每一对包括第一数据源中的第一数据公布和第二数据源中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等;
确定(104)所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法;
确定(106)针对所述多个数据公布对所确定的关系模式算法的满足的符合性水平;
基于所确定的符合性水平,从所述多个关系模式算法中选择(108)关系模式算法;
关于所选择的关系模式算法,分析(110)个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示(114)个体数据公布对的数据的可能偏差。
2.根据权利要求1所述的方法,其中,所述符合性水平是针对与所述多个数据公布对的相同数据属性组合有关的数据值的组合来确定(106)的。
3.根据权利要求1或2所述的方法,其中,确定(104)满足包括:针对所述多个数据公布对中的每一个数据公布对,在比较矩阵Hxy中将所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值与第二数据公布的数据值进行组合,其中,x指示所述第一数据公布的数据属性的数量并且同时指示所述矩阵的列的数量,y指示所述第二数据公布的数据属性的数量并且同时指示所述矩阵的行的数量。
4.根据权利要求2或3所述的方法,其中,针对所述多个数据公布对,所述相同数据属性组合涉及所述比较矩阵Hxy中的相同位置nab,其中,a=整数1至x中的任意一个,b=整数1至y中的任意一个。
5.根据前述权利要求中任一项所述的方法,其中,选择(108)包括:基于所确定的符合性水平,针对与所述多个数据公布对的相同数据属性组合有关的数据值的组合分别选择关系模式算法。
6.根据前述权利要求中任一项所述的方法,还包括:
检测(202)所述第一数据源中数据值唯一的至少一个数据属性;以及
检测(204)所述第二数据源中数据值唯一的至少一个数据属性,以及
从所检测的所述第一数据源中的至少一个数据属性和所检测的所述第二数据源中的至少一个数据属性中选择(206)所述第一数据源中具有最多共同数据值的数据属性和所述第二数据源中具有最多共同数据值的数据属性,作为所述第一数据源的唯一匹配数据属性和所述第二数据源的唯一匹配数据属性。
7.根据前述权利要求中任一项所述的方法,还包括:
按所述唯一匹配数据属性的数据值的递增或递减数据值顺序对所述第一数据源和/或所述第二数据源中的数据公布进行排序。
8.根据前述权利要求中任一项所述的方法,还包括:
针对所述第一数据源,通过针对确定所述第一数据源的数据属性的数据值的特性的值类型算法集暴露数据值来检测(302)所述数据属性的元数据,
在所述第二数据源中,通过针对确定数据属性的数据值的特性的值类型算法集暴露数据值来检测(304)所述数据属性的元数据。
9.根据权利要求6、或7以及权利要求8所述的方法,其中,检测(302)所述第一数据源中的元数据包括:检测(202)所述第一数据源中数据值唯一的至少一个数据属性,以及检测(304)所述第二数据源中的元数据包括:检测(204)所述第二数据源中数据值唯一的至少一个数据属性。
10.根据前述权利要求中任一项所述的方法,其中,基于所确定的符合性水平从所述多个关系模式算法中选择(108)关系模式算法仅当所述多个关系模式算法中存在所确定的符合性水平高于定义阈值的关系模式算法时才执行。
11.根据权利要求10所述的方法,其中,当所述多个关系模式算法中存在多于一个所确定的符合性水平高于所述定义阈值的关系模式算法时,选择(108)关系模式算法包括:使用优先级算法来决定选择所述多于一个关系模式算法中的哪一个。
12.一种用于检测数据源中的偏差的设备(800),每一个数据源包括多个数据公布,每一个数据公布包括多个数据值,所述设备包括:
标识单元(802),用于标识数据公布对,每一对包括第一数据源(830)中的第一数据公布和第二数据源(840)中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等;
确定单元(804),用于确定所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法,以及用于确定针对所述多个数据公布对所确定的关系模式算法的满足的符合性水平,
选择单元(806),用于基于所确定的符合性水平,从所述多个关系模式算法中选择关系模式算法;以及
分析单元(808),用于关于所选择的关系模式算法分析个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示个体数据公布对的数据的可能偏差。
13.根据权利要求12所述的设备,其中,所述确定单元(804)被配置为针对与所述多个数据公布对的相同数据属性组合有关的数据值的组合来确定所述符合性水平。
14.根据权利要求12或13所述的设备,其中,所述确定单元(804)被配置为确定满足包括:所述确定单元被配置为针对所述多个数据公布对中的每一个数据公布对,在比较矩阵Hxy中将所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值与第二数据公布的数据值进行组合,其中,x指示所述第一数据公布的数据属性的数量并且同时指示所述矩阵的列的数量,y指示所述第二数据公布的数据属性的数量并且同时指示所述矩阵的行的数量。
15.根据权利要求12至14中任一项所述的设备,其中,针对所述多个数据公布对,所述相同数据属性组合涉及所述比较矩阵Hxy中的相同位置nab,其中,a=整数1至x中的任意一个,b=整数1至y中的任意一个。
16.根据权利要求12至15中任一项所述的设备,其中,所述选择单元(806)被配置为通过基于所确定的符合性水平,针对与所述多个数据公布对的相同数据属性组合有关的数据值的组合分别选择关系模式算法,来选择关系模式算法。
17.根据权利要求12至16中任一项所述的设备,还包括:
确定单元(809),用于检测所述第一数据源中数据值唯一的至少一个数据属性以及检测所述第二数据源中数据值唯一的至少一个数据属性,以及
所述选择单元(806)被进一步配置用于从所检测的所述第一数据源中的至少一个数据属性和所检测的所述第二数据源中的至少一个数据属性中选择所述第一数据源中具有最多共同数据值的数据属性和所述第二数据源中具有最多共同数据值的数据属性,作为所述第一数据源的唯一匹配数据属性和所述第二数据源的唯一匹配数据属性。
18.根据权利要求12至17中任一项所述的设备,还包括:
排序单元,用于按所述唯一匹配数据属性的数据值的递增或递减数据值顺序对所述第一数据源(830)和/或所述第二数据源(840)中的数据公布进行排序。
19.根据权利要求12至18中任一项所述的设备,其中,所述检测单元(809)被进一步配置为针对所述第一数据源(830),通过针对确定所述第一数据源的数据属性的数据值的特性的值类型算法集暴露数据值来检测所述数据属性的元数据,并且针对所述第二数据源(840),通过针对确定所述第二数据源的数据属性的数据值的特性的值类型算法集暴露数据值来检测所述数据属性的元数据。
20.根据权利要求17或18以及权利要求19所述的设备,其中,所述检测单元(809)被配置为通过检测所述第一数据源中数据值唯一的至少一个数据属性来检测所述第一数据源的元数据,并且所述检测单元(809)被配置为通过检测所述第二数据源中数据值唯一的至少一个数据属性来检测所述第二数据源的元数据。
21.根据权利要求12至20中任一项所述的设备,其中,所述选择单元(806)被配置为仅当所述多个关系模式算法中存在所确定的符合性水平高于定义阈值的关系模式算法时才执行基于所确定的符合性水平从所述多个关系模式算法中选择关系模式算法。
22.根据权利要求21所述的设备,其中,当所述多个关系模式算法中存在多于一个所确定的符合性水平高于所述定义阈值的关系模式算法时,所述选择单元(806)被配置为使用优先级算法来决定选择所述多于一个关系模式算法中的哪一个。
23.一种计算机程序(910),包括计算机可读代码装置,当在被配置用于检测数据源中的偏差的设备(800)中运行所述计算机可读代码装置时,所述计算机可读代码装置使所述设备执行以下步骤:
标识数据公布对,每一对包括第一数据源中的第一数据公布和第二数据源中的第二数据公布,其中,针对数据公布对中的第一数据公布和第二数据公布的唯一匹配数据属性,数据值的子集相等;
确定所述多个数据公布对中的每一个数据公布对中的第一数据公布的数据值和第二数据公布的数据值的多个组合中的个体组合是否满足多个关系模式算法中的个体关系模式算法;
确定针对所述多个数据公布对所确定的关系模式算法的满足的符合性水平;
基于所确定的符合性水平,从所述多个关系模式算法中选择关系模式算法;
关于所选择的关系模式算法分析个体数据公布对的数据值组合,以检测个体数据公布对中不符合所选择的关系模式算法的数据值组合,不符合指示(114)个体数据公布对的数据的可能偏差。
24.一种计算机程序产品(808),包括计算机可读介质和存储在所述计算机可读介质上的根据权利要求23所述的计算机程序(810)。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12190962.6A EP2728493A1 (en) | 2012-11-01 | 2012-11-01 | Method, apparatus and computer program for detecting deviations in data repositories |
EP12190962.6 | 2012-11-01 | ||
US201361829381P | 2013-05-31 | 2013-05-31 | |
US61/829,381 | 2013-05-31 | ||
PCT/SE2013/051034 WO2014070070A1 (en) | 2012-11-01 | 2013-09-05 | Method, apparatus and computer program for detecting deviations in data sources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104756113A true CN104756113A (zh) | 2015-07-01 |
CN104756113B CN104756113B (zh) | 2018-04-20 |
Family
ID=47148632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380057211.2A Active CN104756113B (zh) | 2012-11-01 | 2013-09-05 | 用于检测数据源中的偏差的方法、设备和计算机程序 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9367580B2 (zh) |
EP (2) | EP2728493A1 (zh) |
CN (1) | CN104756113B (zh) |
WO (1) | WO2014070070A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201409214D0 (en) * | 2014-05-23 | 2014-07-09 | Ibm | A method and system for processing a data set |
RU2671047C2 (ru) * | 2014-06-30 | 2018-10-29 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Понимание таблиц для поиска |
US9773328B2 (en) * | 2014-08-18 | 2017-09-26 | Wells Fargo Bank, N.A. | Density gradient analysis tool |
GB201417129D0 (en) * | 2014-09-29 | 2014-11-12 | Ibm | A method of processing data errors for a data processing system |
US9928284B2 (en) * | 2014-12-31 | 2018-03-27 | Zephyr Health, Inc. | File recognition system and method |
JP6547577B2 (ja) * | 2015-10-15 | 2019-07-24 | 富士通株式会社 | 検査装置、検査プログラムおよび検査方法 |
US11182269B2 (en) * | 2019-10-01 | 2021-11-23 | International Business Machines Corporation | Proactive change verification |
US11520786B2 (en) * | 2020-07-16 | 2022-12-06 | International Business Machines Corporation | System and method for optimizing execution of rules modifying search results |
US12026274B2 (en) * | 2021-04-30 | 2024-07-02 | Capital One Services, Llc | Computer-based systems configured for managing permission messages in a database and methods of use thereof |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5813002A (en) * | 1996-07-31 | 1998-09-22 | International Business Machines Corporation | Method and system for linearly detecting data deviations in a large database |
CN1374606A (zh) * | 2001-03-06 | 2002-10-16 | 时睿软件公司 | 通过计算机网络从数据库获取和集成数据的方法及系统 |
US20040034699A1 (en) * | 2002-08-16 | 2004-02-19 | Martina Gotz | Managing data integrity using a filter condition |
US20040181512A1 (en) * | 2003-03-11 | 2004-09-16 | Lockheed Martin Corporation | System for dynamically building extended dictionaries for a data cleansing application |
US20100257149A1 (en) * | 2009-04-03 | 2010-10-07 | International Business Machines Corporation | Data synchronization and consistency across distributed repositories |
US7908249B1 (en) * | 2005-04-13 | 2011-03-15 | Yahoo! Inc. | Closed-loop feedback control system for online services |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716068B2 (en) * | 2002-09-25 | 2010-05-11 | Mckesson Financial Holdings Limited | Systems and methods for look-alike sound-alike medication error messaging |
US8918677B1 (en) * | 2004-09-30 | 2014-12-23 | Emc Corporation | Methods and apparatus for performing data validation in a network management application |
US20070067278A1 (en) * | 2005-09-22 | 2007-03-22 | Gtess Corporation | Data file correlation system and method |
US7849030B2 (en) * | 2006-05-31 | 2010-12-07 | Hartford Fire Insurance Company | Method and system for classifying documents |
US8566891B2 (en) * | 2008-03-31 | 2013-10-22 | Verizon Patent And Licensing Inc. | Systems and methods for monitoring, troubleshooting and/or controlling a digital television |
US8700577B2 (en) * | 2009-12-07 | 2014-04-15 | Accenture Global Services Limited GmbH | Method and system for accelerated data quality enhancement |
US20140074731A1 (en) * | 2012-09-13 | 2014-03-13 | Fannie Mae | System and method for automated data discrepancy analysis |
US20140089310A1 (en) * | 2012-09-25 | 2014-03-27 | Bby Solutions, Inc. | Product cluster repository and interface: method and apparatus |
-
2012
- 2012-11-01 EP EP12190962.6A patent/EP2728493A1/en not_active Withdrawn
-
2013
- 2013-09-05 CN CN201380057211.2A patent/CN104756113B/zh active Active
- 2013-09-05 US US14/438,736 patent/US9367580B2/en active Active
- 2013-09-05 EP EP13851799.0A patent/EP2915075A1/en not_active Ceased
- 2013-09-05 WO PCT/SE2013/051034 patent/WO2014070070A1/en active Application Filing
- 2013-10-29 US US14/065,562 patent/US9514177B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5813002A (en) * | 1996-07-31 | 1998-09-22 | International Business Machines Corporation | Method and system for linearly detecting data deviations in a large database |
CN1374606A (zh) * | 2001-03-06 | 2002-10-16 | 时睿软件公司 | 通过计算机网络从数据库获取和集成数据的方法及系统 |
US20040034699A1 (en) * | 2002-08-16 | 2004-02-19 | Martina Gotz | Managing data integrity using a filter condition |
US20040181512A1 (en) * | 2003-03-11 | 2004-09-16 | Lockheed Martin Corporation | System for dynamically building extended dictionaries for a data cleansing application |
US7908249B1 (en) * | 2005-04-13 | 2011-03-15 | Yahoo! Inc. | Closed-loop feedback control system for online services |
US20100257149A1 (en) * | 2009-04-03 | 2010-10-07 | International Business Machines Corporation | Data synchronization and consistency across distributed repositories |
Also Published As
Publication number | Publication date |
---|---|
US9514177B2 (en) | 2016-12-06 |
EP2728493A1 (en) | 2014-05-07 |
US9367580B2 (en) | 2016-06-14 |
US20150293965A1 (en) | 2015-10-15 |
EP2915075A4 (en) | 2015-09-09 |
US20140122443A1 (en) | 2014-05-01 |
WO2014070070A1 (en) | 2014-05-08 |
EP2915075A1 (en) | 2015-09-09 |
CN104756113B (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104756113A (zh) | 用于检测数据源中的偏差的方法、设备和计算机程序 | |
WO2021017679A1 (zh) | 地址信息解析方法、装置、系统及数据获取方法 | |
WO2020147488A1 (zh) | 异常群体识别方法及装置 | |
CN112181767B (zh) | 软件系统异常的确定方法、装置和存储介质 | |
CN110427375B (zh) | 字段类别的识别方法及装置 | |
US9454561B2 (en) | Method and a consistency checker for finding data inconsistencies in a data repository | |
CN111209538A (zh) | 一种表数据质量探查方法及装置 | |
WO2004023342A1 (en) | Method and system for registering goods information | |
CN111460315B (zh) | 社群画像构建方法、装置、设备及存储介质 | |
CN114049016A (zh) | 指标相似性判断方法、系统、终端设备及计算机存储介质 | |
CN113886373A (zh) | 一种数据处理方法、装置及电子设备 | |
CN110019762B (zh) | 一种问题定位方法、存储介质和服务器 | |
CN113391256A (zh) | 一种现场作业终端的电能表计量故障分析方法及系统 | |
CN111831286B (zh) | 一种用户投诉处理方法和设备 | |
CN107818419B (zh) | 一种功能测试范围的确定方法及装置 | |
CN115658731A (zh) | 一种数据查询方法、装置、设备和存储介质 | |
CN114020769A (zh) | 一种数据血缘分析方法、装置和存储介质 | |
CN113138936B (zh) | 数据处理方法、装置、存储介质及处理器 | |
CN115187153B (zh) | 应用于业务风险溯源的数据处理方法及系统 | |
CN112765174B (zh) | 基于哈希连接的探测方法、装置、设备及存储介质 | |
CN115438036B (zh) | 电网统一指标库数据冗余处理系统及方法 | |
CN113723522B (zh) | 异常用户的识别方法、装置、电子设备以及存储介质 | |
CN115099922B (zh) | 财务数据查询方法、系统、可读存储介质及计算机设备 | |
CN115470149A (zh) | 数据库预处理功能测试方法、装置、设备及存储介质 | |
CN115794862A (zh) | 数据库数据的校验方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |