用于校正数据集中的数据质量问题的处理工作流的生成和执行的制作方法

用于校正数据集中的数据质量问题的处理工作流的生成和执行
1.优先权声明
2.本技术要求于2021年3月1日提交的美国临时专利申请63/155,148号的优先权,该临时专利申请的全部内容以引用方式并入本文。
技术领域
3.本公开涉及生成用于自动校正数据集中的数据质量问题的工作流。更具体地,本公开涉及识别数据集中的数据质量问题以及生成用于基于数据质量问题是新出现还是重复出现来校正数据质量问题的数据处理工作流。
背景技术:
4.计算机系统可用于发送、接收和/或处理数据。例如,服务器计算机系统可用于接收和存储资源(例如,网站内容,诸如网页),并且使内容可用于一个或多个客户端计算机系统。在接收到对来自客户端计算机系统的内容的请求时,服务器计算机系统可以检索所请求的内容,并且将该内容发送到客户端计算机系统以满足请求。
5.一组数据可以包括存储在数据字段中的数据值。数据字段可以包括一个或多个数据值。数据字段的许多实例可以存在于数据集中(例如,在不同的字段中)。
6.数据字段可能存在数据质量错误,即数据字段的值不符合该数据字段值的一个或多个标准。一旦识别出数据质量错误,如果不分析数据质量错误的来龙去脉,就很难确定如何校正数据质量错误。
技术实现要素:
7.本文档中描述的数据处理系统被配置用于识别数据集中的数据质量问题以及生成用于以自动方式校正数据质量问题的数据处理工作流。数据处理系统接收来自一个或多个数据集的数据质量分析的结果。数据质量分析确定数据集中的值是通过还是未通过对那些数据集的一个或多个数据质量测试。数据处理系统接收数据质量分析的结果数据。
8.数据处理系统被配置为基于结果数据中所包括的数据来确定是否生成表示数据质量测试的新的数据质量问题,或者结果数据是否表示现有的数据质量问题。数据质量问题包括与对特定数据集的数据质量测试相关联的数据。数据质量问题包括指定在数据质量测试中应用哪些规则的数据、用于测试每个数据质量规则的结果以及正被测试的特定数据集的标识。因此,数据质量问题包括数据质量测试的结果数据和唯一地标识数据质量测试的元数据。
9.由数据处理系统生成的数据质量问题与唯一地标识数据质量问题的标识符和表示对应于数据质量问题的数据处理工作流中的位置的状态相关联。该标识符可包括用于将数据质量问题与附加数据相关联的键值。例如,附加数据可包括与数据质量问题相关联的客户端设备的标识符、具有数据质量问题的数据集的所有者、负责解决数据质量问题的实
体、用于校正数据质量问题的工作流以及工作流的状态。数据处理系统被配置为针对在结果数据中识别的新的数据质量问题生成新数据质量问题数据,或者针对在结果数据中重复出现的数据质量问题更新现有的数据质量问题数据。
10.一旦生成或更新了数据质量问题,数据处理系统就配置用于解决数据质量问题的数据处理工作流。数据处理工作流包括基于数据质量问题中的数据或与数据质量问题相关联的数据选择的一系列数据处理步骤。例如,数据处理工作流可包括多个动作或步骤,包括分配解决数据质量问题的责任,生成针对关于数据质量问题采取的动作的时间线。
11.实施方案可包括以下特征中的一者或多者。
12.在一方面,一种方法用于由数据处理系统执行工作流,该工作流用于通过响应于接收到指示对数据记录的数据质量测试的输出的结果数据和描述该结果数据的元数据而生成与状态相关联的数据质量问题和该工作流的一个或多个处理步骤来处理该结果数据,从而解决与该数据质量测试相关联的数据质量错误,包括。该方法包括接收指定对数据记录的数据质量测试的输出的结果数据。该方法包括接收与结果数据相关联的元数据,该元数据指定数据质量测试的数据质量条件和配置数据质量测试的对象。该方法包括基于结果数据和元数据生成数据质量问题,该数据质量问题指定用于处理结果数据的工作流的状态。该方法包括基于由数据质量问题指定的状态来生成用于处理结果数据的工作流。生成工作流包括:基于结果数据和数据质量问题的状态,分配负责解决数据质量错误的实体;基于元数据确定用于满足在数据质量测试中指定的数据质量条件的一个或多个动作;以及更新与数据质量问题相关联的状态。该方法包括向工作流执行系统发送表示工作流的数据。
13.在一些具体实施中,数据质量问题与标识数据质量问题的键值相关联。该方法包括响应于接收到元数据,通过评估键值来确定已经针对数据质量测试的数据源生成了数据质量问题。该方法包括基于数据质量测试的结果数据来更新数据质量问题,其中更新数据质量问题包括改变与数据质量问题相关联的状态。在一些具体实施中,更新数据质量问题包括将结果数据重新分配给不同的实体。在一些具体实施中,更新数据质量问题包括附加与数据质量问题相关联的数据处理动作的时间线。在一些具体实施中,该方法包括响应于更新数据质量问题,确定满足数据质量条件。改变与数据质量问题相关联的状态包括指示数据质量问题与解决的数据质量错误相关联。
14.在一些具体实施中,该方法包括接收用于与数据质量问题相关联的计划数据,该计划数据使得数据质量测试以预定义时间间隔执行。该方法包括识别与数据质量测试相关联的时间间隔。该方法包括向所分配的实体发送表示时间间隔的数据。
15.在一些具体实施中,分配实体包括根据数据源确定与该数据源相关联的一组符合条件的实体以负责解决数据质量错误;从该数据源接收用于从该组符合条件的实体中分配实体的选择标准;以及基于该选择标准来分配实体。在一些具体实施中,选择标准指定数据质量错误的类型,其中与结果数据相关联的元数据指定数据质量问题与该类型的数据质量错误相关联,并且其中实体有资格解决该类型的数据质量错误。在一些具体实施中,选择标准为该组符合条件的实体中的每个实体指定数据质量问题的特定状态,并且其中数据质量问题的状态是所分配的实体的特定状态。
16.在一些具体实施中,实体是数据处理系统的特定设备。
17.在一些具体实施中,实体是数据处理系统的用户。
18.在一些具体实施中,执行工作流还包括生成为处理结果数据而采取的动作的时间线,以及向实体发送表示所采取动作的时间线的数据。
19.在一些具体实施中,数据质量问题的每个状态与用于处理结果数据的一个或多个候选动作相关联。
20.在一些具体实施中,该方法包括基于结果数据和元数据确定数据质量错误的类别,该类别选自数据错误、规则错误或参考数据错误中的一者。
21.这些过程中的任一种过程可以被实现为包括一个或多个处理设备和存储指令的存储器的系统,这些指令在由一个或多个处理设备执行时被配置为使该一个或多个处理设备执行这些过程的操作。在一些具体实施中,一种或多种非暂态计算机可读介质可被配置为存储指令,这些指令在由一个或多个处理设备执行时被配置为使该一个或多个处理设备执行这些方法的操作。
22.数据质量(dq)结果数据中可能存在dq问题的反馈循环;重复出现的问题将使用新的结果数据和新的元数据进行更新。可以基于哪些dq测试未通过以及它们未通过的原因(例如,不满足哪个阈值条件)来生成/更新不同的dq项。
23.当接收到新的dq结果时,可以用新的元数据重复地更新数据项(表示dq问题);对应的工作流被自动更新。系统可以避免为重复出现的dq问题生成新的dq项;然后更新现有的dq项。
24.可以存在针对每个数据质量问题的可定制工作流;工作流基于与dq问题相关联的元数据来自动配置。元数据可用于配置与dq项相关联的工作流;对于不同的dq问题可存在不同的行为。
25.工作流可包括处理dq问题的责任分配、为处理dq问题而执行的处理动作(例如,进一步分析数据记录的值以确定dq规则定义是否有缺陷)。责任分配可基于与dq项相关联的当前状态而改变(升级可在工作流状态改变时发生)。
26.系统可基于dq项的工作流执行处于什么状态来生成与dq项相关联的责任时间线。
27.系统基于dq项的工作流执行处于什么状态来生成与dq项相关联的责任时间线。
28.这些方面可以包括一个或多个优点。可识别重复出现的数据质量问题并将其分配给不同的实体(升级)。可生成时间线,显示问题随着时间的推移发生了怎样的变化,以及谁一直在努力解决这个问题。与每个数据项相关联的元数据标识未被满足的确切数据质量阈值。这可指示问题可能是规则定义不当,而不是数据质量低。每个工作流都是可配置的,因为每个状态都可指定一组不同的可用操作来解决数据质量错误。
29.另外,在用于填充数据质量问题和生成工作流的规则的配置中存在相当大的灵活性。为类似的数据质量问题生成不同工作流的灵活性使得广大用户能够根据自己的具体需求定制系统,并且从问题的自动生成获得最大益处。
30.存在用于处理数据质量(dq)结果数据中的dq问题的反馈循环。重复出现的问题将使用新的结果数据和新的元数据进行更新。每个数据质量问题的可定制工作流都基于与dq问题相关联的元数据来自动配置。为每个dq问题维持状态。该状态对应于工作流的一部分。当数据质量问题重复出现时,可基于工作流的当前状态生成不同的工作流动作。这使得能够自动升级分配的责任实体(例如,针对重复出现的数据质量问题)。
31.数据处理系统被配置为管理针对大型复杂数据网络的数据质量问题。在大规模情
况下,数据以复杂的方式生成和传输,诸如在许多软件环境、不同数据集、不同国家等中。由于人们不断变化和移动,所以数据处理系统可以可靠地委派解决数据质量问题的责任,并在需要时自动升级到另一实体。在一些具体实施中,数据处理系统可生成被配置为隔离具有严重数据质量问题的数据以防止联网系统的其他部分中的原始数据被污染的工作流。例如,当接收到新的数据质量测试结果时,用新的元数据重复地更新数据质量问题。对应的工作流被自动更新。
32.自动生成工作流,包括处理数据质量问题的责任分配和/或为处理数据质量问题而执行的处理动作(例如,进一步分析数据记录的值以确定数据质量规则定义是否有缺陷)。来自数据质量测试的元数据用于使用可配置的规则来配置与数据质量问题相关联的工作流。因此,数据处理系统基于哪些数据质量测试未通过以及它们未通过的原因(例如,哪个数据质量阈值条件未被满足)来提出不同的工作流。
33.该系统避免了为重复出现的数据质量问题生成新的数据质量问题。相反,现有的数据质量问题被更新。责任分配可基于与数据质量问题相关联的当前状态而改变。例如,升级可在工作流状态改变时发生。在一些具体实施中,数据处理系统可基于数据质量问题的工作流执行处于什么状态来生成与数据质量问题相关联的责任时间线。数据处理系统使得能够根据与数据质量问题相关联的元数据自动分配所有权,而不是针对每个数据质量问题明确地指定或定义所有权。另外,相关属性(例如,元数据)与所生成的数据质量问题一起存储。当从数据质量测试过程接收到新的数据质量结果时,自动更新属性值。数据处理系统因此被配置为自动识别重复出现的数据质量问题并且用新的元数据更新现有的dq项以向用户全面呈现。数据处理系统被配置为自动确定数据质量问题何时被解决并且将问题标记为潜在地被解决。例如,可以配置指定向责任实体提供后续行动的工作流。然后,实体(例如,用户)决定何时将数据质量问题标记为已解决。
34.附图和以下描述中阐述了一个或多个实施方案的细节。其他特征和优点将从描述和附图以及从权利要求书显而易见。
附图说明
35.图1a至图2d是用于自动数据质量问题生成和工作流执行的数据处理系统的框图。
36.图3至图7是用于自动数据质量问题生成和工作流执行的图1a至图1b的数据处理系统的用户界面的示例性屏幕。
37.图8示出了包括示例性方法的流程图。
38.图9是数据处理系统的框图。
具体实施方式
39.图1a示出了包括数据处理系统102的环境100a的框图。数据处理系统102被配置为处理数据质量测试结果数据105(也称为结果数据或数据质量结果数据)。结果数据包括来自数据记录的数据质量测试的输出。结果数据105指定了数据记录的部分(例如,字段的值)是否满足在由数据质量测试系统104应用的数据质量测试期间应用于数据记录的数据质量规则中指定的条件。结果数据105包括标识在测试期间不满足的数据质量规则以及不满足该数据质量规则的记录的报告。结果数据随后将详细描述。
40.数据处理系统102被数据质量问题识别模块112配置为从结果数据105识别数据记录中的数据质量问题。数据质量问题包括指定来自数据质量测试的特定数据质量错误、问题或故障的数据130,以及与该特定数据质量错误、问题或故障相关联的可能的其他数据。其他数据包括指定所测试的数据记录的名称、所测试的数据记录的所有者、数据域、数据类型、规则标识符、指示数据记录先前是否已经被测试的数据、数据质量问题的类别或类型、负责处理数据质量问题的实体、时间段、时间戳中的一者或多者的属性(例如,元数据)以及描述数据质量测试的其他元数据。数据质量问题数据130可包括结果数据105的部分,诸如数据质量测试报告数据。随后将关于图6a至图6b进一步详细描述数据质量问题中所包括的数据。其他数据可包括与工作流132相关联的一个或多个数据对象。如随后描述的,工作流包括执行以解决数据质量问题的一系列数据处理动作或步骤。
41.使用控制点136来配置每个数据质量测试。控制点136包括使得能够配置与工作流132相关联的一个或多个属性值的数据结构。控制点指定了对哪些数据执行哪些数据质量测试。例如,控制点136可指定用于测试特定数据集的特定字段或记录的特定数据质量规则(或规则集)。控制点136指定要测试的数据集、要应用的规则、被测试数据和测试结果的所有者、用于执行测试的计划表等。如果从数据质量测试的结果中发现数据质量问题,则控制点与数据质量问题相关联。控制点包括标识符,该标识符用于标识先前已经从由该控制点配置的数据质量测试的先前迭代生成的任何现有数据质量问题。控制点用于通过一个或多个继承规则用属性填充相关联的数据质量问题,如随后描述的。控制点将数据质量问题与所生成的工作流132相关联。
42.数据质量问题识别模块112可诸如通过参考产生数据质量问题的控制点来区分现有的数据质量问题与结果数据105中指定的新的数据质量问题。现有的数据质量问题是指先前已经从数据记录的结果数据中识别出的该数据记录中的数据质量故障或问题的数据质量问题。因此,数据质量问题不是数据中的新问题,而是已经(例如,由系统管理员或由数据处理系统102自动地)处理的数据质量问题的继续或持续。新的数据质量问题表示由数据质量测试在结果数据105中首次识别的数据记录中的数据质量问题或故障。
43.数据质量问题数据130作为现有数据质量问题122a-n被存储在数据存储库中。当从数据质量测试系统104接收到附加的数据质量测试结果105时,数据质量问题识别模块112(由其相关联的控制点136)引用数据质量问题122a-n。数据处理系统102因此包括反馈循环,在该反馈循环中,重复出现的数据质量问题被映射到数据和先前生成的工作流中的先前识别的(例如,配置的)数据质量问题,并且新的数据质量与用于处理那些新的数据质量问题的工作流新关联。例如,当从数据质量测试系统104接收到结果数据105时,由数据质量问题识别模块112从数据存储库120检索配置的数据质量问题122。现有的数据质量问题122与属性124相关联。属性124具有用于填充工作流的值。属性的值可由系统管理员配置或根据一个或多个数据对象自动填充。例如,可以从相应控制点136检索属性124的值。现有数据质量问题122和它们的属性124由数据质量问题识别模块112检索。响应于接收到结果数据105,模块112使用现有的数据质量问题122和它们的属性124来确定是否应当生成新的数据质量问题或者是否应当更新现有的数据质量问题。
44.数据处理系统102通过工作流生成模块118生成用于解决数据质量问题的工作流132。工作流132包括用于处理数据质量问题(例如,解决数据记录中的数据质量问题)的一
系列或一连串数据处理步骤。工作流132可以是部分自动的或完全自动的。工作流132由数据处理系统102自动配置。工作流132可包括根据数据质量问题的上下文来进行处理数据质量问题的责任分配。例如,当数据质量测试重复地指示特定数据质量问题持续存在于数据记录中时,重复地识别数据质量问题。这可能是由于生成数据记录、更新数据记录时的系统错误、数据质量规则定义的问题或一些其他问题。如果数据质量错误随时间(例如,在若干数据质量测试中)持续存在于数据记录中,则可将持续的数据质量问题升级到新的实体。在该上下文中的实体包括用户(例如,系统管理员、雇员等)或设备(例如,客户端设备)。当数据处理系统102接收到新的结果数据105时,由工作流生成模块118生成的工作流可被更新或重新配置以改变数据质量问题正被如何解决(例如,如果数据质量问题持续一段时间)。
45.工作流132包括为处理数据质量问题而执行的处理动作。例如,可以计划对数据记录的值的进一步分析以确定数据质量规则定义是否有缺陷。又如,来自引起阈值数量的数据质量问题的源的数据记录可与计算网络中的其他设备或系统隔离,以防止低质量数据扩散到其他系统。例如,对于动态联网的系统,可以不断地添加和移除新的系统和设备。新的设备可以将低质量数据上传到存储在计算系统(例如,全局储存库)中的数据记录。为了防止低质量数据传播到其他储存库,或者为了防止低质量数据的进一步上传,数据处理系统102可以临时并且自动地限制新的设备上传数据,而不在上传之前对数据执行数据质量检查。这减少或消除了系统中的数据质量错误。在大规模情况下,这可以极大地帮助可能无法一直监视系统上的所有设备的数据质量问题的系统管理员。
46.数据质量问题与状态相关联。该状态指示为解决数据质量问题而生成的相关联的工作流132中的位置。一般来讲,如果数据质量问题未解决,则维持该状态并且指示被分配负责解决数据质量问题的实体需要进一步分析或处理。当接收到新的结果数据105时,数据质量问题识别模块112可以通过参考数据质量问题的标识符来识别数据质量问题是否已经生成,这些标识符的状态指示该数据质量问题尚未得到解决。
47.所生成的工作流132从数据处理系统102发送到工作流执行系统128。工作流执行系统128可包括被配置为执行工作流132的逻辑的任何设备。例如,工作流执行系统128可包括客户端设备,诸如系统管理员设备。在一些具体实施中,工作流执行设备128包括服务器或其他后端设备。一般来讲,工作流执行设备128被配置为根据工作流132呈现随后描述的用户界面数据,该用户界面数据示出数据质量问题以及与同该数据质量问题相关联的一个或多个控制点有关的数据。
48.数据处理系统102被配置为基于一组属性继承规则来用属性(诸如负责实体)自动填充数据质量问题和/或数据质量工作流132。此处,属性是与数据质量问题和/或数据质量测试结果105相关联的元数据的一部分。属性继承规则是可配置的(例如,可被预定义),以用于由模块112生成数据质量问题。如随后描述的,属性继承规则确定了数据质量问题的哪些属性被自动填充以及哪些数据源被用于这些属性的值。例如,从数据质量控制点或者从直接或间接与数据质量控制点相关联的另一对象接收源属性,如由源属性说明符所确定的。源属性说明符包括用于数据源的域名或所有者标识符。数据源可包括由系统管理员、企业所有者等操作的设备。
49.工作流生成模块118使用这些属性来配置与数据质量问题相关联的工作流132。如前所述,工作流的动作可以取决于与数据质量问题相关联的属性(例如,元数据)的值。当从
批量测试过程接收到新的数据质量结果105时,可以刷新或更新属性值。
50.图1b示出了图1a的数据处理系统102的环境100b的框图,包括用于处理数据质量结果105的附加细节。如前所述,数据处理系统102被配置为从数据质量测试系统104接收数据质量结果105。数据处理系统102生成或更新数据质量问题,这些数据质量问题表示被测试数据未通过的数据质量测试。数据质量问题130与相关联的属性124一起被存储在数据存储库120中。工作流生成模块118使用属性和配置的数据质量问题122来生成工作流132。工作流132包括可被发送到远程设备诸如工作流执行系统128(例如,客户端设备)的可执行逻辑。工作流执行系统128使用执行模块134执行工作流132的逻辑。执行模块134可包括使得用户能够操纵工作流132、数据质量问题122或属性124(例如,通过用户界面)的应用层。
51.数据质量测试系统104包括被配置为接收数据集(未示出)并将数据质量测试应用于那些数据集的设备或系统。数据集可包括具有数据质量标准的任何数据。数据质量测试系统104通常通过将一个或多个数据质量规则应用于数据集来测试这些数据集。一般来讲,基于控制点的元数据108(例如,属性)来配置数据质量测试。该控制点用于配置数据质量测试。控制点的属性指定了如何执行数据质量测试(例如,哪些规则)、数据质量的计划时间、数据质量的目标数据是什么等,如随后描述的。
52.数据质量规则包括指示记录的值的标准的逻辑。一般来讲,应用于数据集的特定数据质量规则取决于数据集的期望数据质量的指示。在一些具体实施中,该指示可基于数据集的源。例如,数据集的源可与指定对来自该源的数据应用什么数据质量规则的数据质量元数据108相关联。元数据108可与计划数据质量测试的数据质量控制点136相关联。又如,所应用的数据质量规则可取决于被分析的数据的特定语义类型。语义类型是数据的含义。例如,语义类型可以是地址、出生日期(不仅仅是任何日期)、汽车驾驶执照标识符或其他特定含义。例如,一组特定的数据质量规则可应用于出生日期,而不能应用于信用卡到期日期。语义类型还可以指能够对数据施加不同格式要求的数据的语言类型(例如,法语、英式英语、美式英语等)。例如,当与美式英语(例如,月、日、年)相比时,英式英语数据(例如,日/月/年)的日期格式可能改变。这些属性可用于选择将哪些数据质量规则应用于数据。在一些具体实施中,如随后描述的,数据质量问题可指示错误的规则被应用于给定数据集,从而导致数据质量测试不通过。
53.数据质量测试元数据108可指示哪些属性被用于为数据集选择一个或多个数据质量规则。数据质量测试元数据108可从与特定数据质量测试相关联的控制点136获得。控制点136包括指定如何执行数据质量测试的属性值。例如,特定属性可指示能够应用于数据集的所选择的字段或数据记录的一个或多个规则。在该上下文中,属性可指示允许值的集合或范围、字段的值与一个或多个其他字段的值的关系(例如,始终大于、始终小于、等于、呈函数关系等)、数据类型、预期值长度或字段的值的其他特性。例如,如随后描述的,属性可指示字段中允许的值,以及字段或数据记录中不允许的值。例如,在与字段的标签相关联的属性中指示的给定范围也可以是用于该字段的数据质量规则。然而,与字段相关联的属性和针对该字段生成的规则不一定匹配。例如,用于字段的数据质量规则可能要求不存在重复值或不存在空值,而属性不需要指示该规则。相反,属性可以指示所选择的字段符合特定要求,但是所生成的数据质量规则不需要执行该要求。
54.可使用这些属性的任何组合来选择任何数量的数据质量规则。这些规则可独立于
数据集的任何其他字段或值而执行对该字段的每个值的要求。例如,数据质量规则可能要求与社会保障号字段相关联的字段值的格式具有格式“xxx-xx-xxxx”,其中x可以是0至9范围的任何数字。该要求是基于每个单独的值的,并且不要求执行进一步分析。又如,数据质量规则可以检查值中每个字符的类型,确保所有x值确实为0至9范围的数字,而不是其他字符。在另一示例中,数据质量规则可能要求对整个所选择的字段进行检查。例如,数据质量规则要求所选择的字段中的每个值是唯一的。这要求除了当前处理的值之外,还要检查所选择的字段中的值以确定每个值是否唯一。
55.数据质量规则的其他示例是可能的。在一些示例中,要用于表征一组数据的质量的规则可以指示数据集中的数据记录的允许值或禁止值。允许值可以是单个值或值的范围。当简档包括允许值时,满足指示允许值的规则。字段的允许值的示例可以是该字段的最大允许值和最小允许值;如果该字段的平均值落在最大允许值与最小允许值之间,则满足该规则。只要数据集不包括禁止值,就满足指示该数据集的禁止值的规则。字段的禁止属性的示例可以是该字段禁止的值的列表;如果该字段包括这些禁止值中的任一个禁止值,则不满足该规则。
56.数据质量规则可以指示字段的一个值或多个值与该字段的指定值之间的允许偏差。大于由对应规则指示的允许偏差的指定值与字段的值之间的偏差可以是对数据集中的数据质量问题的指示,并且因此指示该数据集可能是下游数据集中的现有或潜在数据质量问题的根本原因。在一些示例中,可以将允许偏差指定为值(诸如最大允许值和最小允许值)的范围。在一些示例中,可以将允许偏差指定为与单个值的标准偏差,该单个值可以是平均值(例如,过去数据集中的值的平均值或中值)。
57.在一些示例中,要用于表征一组数据的质量的规则可以诸如基于字段中的值的有效性指示数据记录的一个或多个字段中的每个字段中的值的允许特性或禁止特性。当字段中的值满足允许特性时,满足指示该字段的允许特性的规则。只要字段中的值不满足禁止的特性,就满足指示该字段的禁止的特性的规则。满足规则的值有时被称为有效值;不满足规则的值有时被称为无效值。字段中的值的各种特性可以被规则指示为允许特性或禁止特性。示例性规则可以指示字段内容的允许特性或禁止特性,诸如允许值范围或禁止值范围、最大允许值、最小允许值,或者允许的一个或多个特定值的列表或禁止的一个或多个特定值的列表。例如,具有小于1900或大于当前年份的值的birth_year字段可能被认为是无效的。示例性规则可以指示字段的数据类型的允许特性或禁止特性。示例性规则可以指示是否允许或禁止在某个字段中不存在值(或存在空值)。例如,包括字符串值(例如,“smith”)的姓氏字段可能被认为是有效的,而为空白或包括数值的姓氏字段可能被认为是无效的。示例性规则可以指示同一数据记录中的两个或更多个字段之中的允许或禁止关系。例如,规则可以指定对应于姓氏字段的每个可能值的邮政编码字段的值的列表,并且可以指定不被该列表支持的邮政编码字段和国家字段的值的任何组合都是无效的。
58.在一些示例中,可以基于对历史数据的分析来选择规则。例如,规则可以指示特定数据集的字段的简档与该数据集的字段的确定的历史简档之间的允许偏差。数据集的历史简档可以基于历史数据;例如,历史简档可以是来自前一天的同一数据集的简档、来自多个先前天(例如,过去的一周或月内)的同一数据集的平均简档、同一数据集的寿命平均简档。更一般地,该简档可以保留各种参考信息以利用各种统计分析。例如,该简档可以包括关于
值分布的标准偏差或其他指示的信息。出于以下示例的目的,并且在不限制本技术的一般性的情况下,该简档可以包括先前数据集的数值平均值,并且可能还包括标准偏差。
59.在一些示例中,采用机器学习技术来选择数据质量规则。例如,可以在学习时间段内分析数据以便用户偏好或应用程序了解哪些特性会影响该应用的数据质量,并且因此要求数据质量规则来执行那些特性。例如,如果应用程序通常由于字段的值呈不正确的格式而失败,则规则生成模块生成执行特定格式的规则。如果应用程序由于数值超出可接受的范围而失败,则规则生成模块206生成执行针对该字段的特定值范围的数据质量规则。其他此类示例是可能的。学习时间段可以是指定的时间段,或者可以是直到平均值或预期值收敛到稳定值的时间量。机器学习逻辑可由控制点136配置。
60.数据质量测试系统104可以基于要由系统处理的数据记录的预期特性来应用一个或多个数据质量规则。在特定示例中,源数据是发生在美国的交易的信用卡交易记录。源数据是以一小时增量处理的流式数据。基于针对该字段识别出的属性和来自应用程序的数据(其指示在处理信用卡交易记录时要执行的操作),用户可以将交易标识符字段、卡标识符字段、国家字段、日期字段和金额字段识别为待建档的关键数据元素。
61.在源数据是信用卡交易记录的特定示例中,数据质量测试系统104接收指示国家字段仅存在五十个允许值的属性。如果该组源数据的简档识别到国家字段中多于五十个值,则数据质量测试系统104可以选择导致使用警报标记的规则,而不管该组源数据的简档相对于参考的标准偏差如何。数据质量测试系统104可以接收指示仅在同一天完成的交易的信用卡交易记录的属性,因为该处理应该存在于该组源数据中。如果任何源数据记录具有与该处理日期不匹配的日期,则数据质量测试系统104可以创建导致发送警报消息的规则。
62.在一些示例中,数据质量测试系统104可以指定通过用户界面生成的一个或多个规则。通过用户界面,用户可以提供对用于一个或多个字段的规则的反馈,或者可以批准用于字段的预先填充的默认规则。对用户界面的进一步描述可以见于2012年10月17日提交的美国专利申请序列号13/653,995,该专利申请的内容整体以引用方式并入本文。用户界面的其他具体实施也是可能的。
63.在一些示例中,如果在一组数据中(诸如在一组参考数据的新版本中或在一组源数据中)检测到可能的数据质量问题,则将具有该可能的数据质量问题的该组数据的标识符放置在存储在数据库中的根本原因数据集的列表上。如果稍后检测到具有一组输出数据的数据质量问题,则可以查询数据库以识别该组输出数据的上游数据沿袭元素,并且确定那些上游数据沿袭元素中的哪些元素(如果有的话)被包括在根本原因数据集列表上。
64.在一些示例中,如果在一组数据中(诸如在一组参考数据的新版本中或在一组源数据中)检测到可能的数据质量问题,则可以启用用户通知。在一些示例中,可以存储警报标记以指示数据质量问题。例如,如果在一组参考数据的新版本中检测到可能的数据质量问题,则可以将警报标记连同该参考数据的新版本的简档数据存储在一起。如果在一组源数据中检测到可能的数据质量问题,则可以将警报标记连同该组源数据的简档数据存储在一起。在一些示例中,可以向用户传送警报消息以指示存在可能的数据质量问题。该警报消息可以例如作为用户界面上的消息、图标或弹出窗口;作为电子邮件或短消息服务(sms)消息;或另一种形式。这些数据可以是存储在数据存储库120中的数据质量问题属性124的一
部分。
65.在一些示例中,规则可以指定数据处理工作流132响应于如何不满足数据质量规则而执行的动作。例如,可以在数据质量测试元数据108中指定与数据质量简档的一个或多个阈值偏差。阈值偏差可以指示何时在工作流132中使用警报标志或警报消息、数据质量问题122被分配给的实体、数据隔离过程等等。例如,如果当前一组数据的简档与该组数据的简档之间的偏差很小(诸如在一个标准偏差和两个标准偏差之间),则可以存储警报标记;并且如果该偏差大于两个标准偏差,则可以传达警报消息并隔离数据。阈值偏差可以对每组源数据和参考数据具有特异性。
66.在一些示例中,诸如如果偏差是严重的(例如与简档相比多于三个标准偏差),则可以停止相关处理系统使用该数据的进一步处理,直到用户干预。例如,停止将受到具有严重偏差的源数据或参考数据影响的任何进一步处理。可以通过引用受影响的源数据或参考数据的下游的数据沿袭元素的数据来识别要停止的转换。
67.在一些示例中,自动确定简档数据。例如,可以(例如通过每当确定了一组数据的新简档数据时就重新计算简档数据来)将给定的一组数据的简档数据自动更新为该组数据的过去简档数据的运行历史平均值。在一些示例中,用户可以例如通过对具有期望特性的一组数据进行建档来供应初始简档数据。
68.数据质量测试系统104应用所选择的数据质量规则并生成数据质量结果数据105。数据质量结果数据105指示所分析的数据集的值是否满足所应用的数据质量规则。与结果数据105相关联的数据质量测试元数据108包括描述数据集、所执行的数据质量测试的数据。例如,测试元数据108可包括哪些规则被应用于数据集的哪些部分、何时执行数据质量测试、数据集的所有者等的标识。
69.在一些具体实施中,数据质量测试系统104被配置为执行数据质量测试并且以批量分析而不是数据流的形式将结果数据105发送到数据处理系统102。例如,数据质量测试系统104可以在发送到数据处理系统102用于数据质量问题生成和工作流生成之前生成整个数据集的结果数据105。一般来讲,结果数据105指示对于数据集的一个或多个部分数据质量测试是否未通过。
70.数据处理系统102从数据质量测试系统104接收结果数据105和测试元数据108,并且确定结果数据105是否使得应当生成数据质量问题。如前所述,如果测试未通过的严重程度足以满足生成数据质量问题的条件,则数据处理系统102可以生成标识未通过测试的数据质量问题。例如,如果数据集的数据的阈值百分比不满足应用的一个或多个数据质量规则,则由数据处理系统102生成数据质量问题。在一些具体实施中,可能要求数据集完美地满足所有数据质量要求。在一些具体实施中,数据集的一个或多个部分可能被忽略,使得任何量级的数据质量故障都不会导致由数据处理系统102生成对应的数据质量问题。
71.数据处理系统100的数据质量问题识别模块112被配置为针对给定的数据质量测试识别用于生成数据质量测试的潜在数据质量问题。数据质量问题指定了数据质量测试的结果数据、被测试数据的源以及数据质量测试未达标的细节,诸如在数据集的特定字段或记录的测试期间不满足的一个或多个数据质量阈值。数据质量问题识别模块112分析与数据质量测试结果105相关联的测试元数据108的值。将测试元数据108的值与同一个或多个现有的数据质量问题122相关联的属性124进行比较,如随后关于图2a进一步详细描述的。
当测试元数据108与属性124值的比较指示检测到的数据质量问题与现有的数据质量问题122的匹配时,由数据质量更新模块116使用新的结果数据105和测试元数据来更新现有的数据质量问题122,如关于图2c所描述的。如果没有发现现有的数据质量问题,则数据质量问题生成模块114使用测试元数据108和结果数据105来生成新的数据质量问题,如关于图2b所描述的。所生成或更新的数据质量问题数据130被存储在数据存储库120中作为数据质量问题122a-n。
72.为了生成工作流,工作流生成模块118从数据存储库120接收数据质量问题数据130以及任何相关联的数据对象,诸如数据质量问题控制点136,还包括它们相应的属性124。工作流生成模块118将一组配置的规则应用于数据质量问题122。通常在处理之前配置规则。规则指定了如何基于数据质量问题122的属性和它相关联的数据对象(例如,控制点136)的值来处理数据质量问题。例如,对于数据质量问题的特定严重性或对于来自特定源的数据的数据质量问题,可选择分配特定用户为负责实体。在一些具体实施中,规则可以基于数据质量问题122指定要在工作流132中自动采取的动作。例如,如果数据质量问题正在重复出现,则可将负责实体改变或提升到与当前或先前分配实体不同的实体。又如,参考与数据质量问题相关联的状态以确定数据处理工作流132中包括哪些动作。
73.向工作流执行系统128发送所生成的工作流132,该工作流执行系统被配置为执行工作流的一个或多个动作。在一些具体实施中,工作流执行模块134执行工作流的逻辑。该逻辑可包括自动处理数据质量问题,诸如基于预先确定的标准重新定义数据质量规则、将数据集与联网系统中的其他设备和系统(例如,除了数据集的源之外的其他设备)隔离、删除数据集的各部分、向一个或多个负责实体或相关实体发送警报、激活一个或多个计算应用(例如,数据屏蔽应用)或使其他数据处理动作发生。
74.在一些具体实施中,工作流132的执行包括请求来自负责实体(例如,用户或管理员)的输入的一个或多个动作,诸如请求批准对数据集执行动作或改变规则定义、建议应当改变的一个或多个规则、显示报告、示出与解决数据质量问题122有关的时间线、显示或更新数据质量问题的状态、显示负责实体的呈现、生成并向负责实体呈现警报、或建议用于解决数据质量问题的一个或多个其他动作。
75.一旦工作流132被执行,则执行检查以确定数据质量问题122是否被解决。该检查可包括将数据质量问题122保持在未解决状态,直到后续结果数据105指示该数据质量问题对于该数据集不再存在。在一些具体实施中,用户可以肯定地指示数据质量问题122被解决。在一些具体实施中,工作流的完成是数据质量问题122被解决的指示。如果不能确定(例如,自动地或者在请求人工验证之后)数据质量问题122已经被解决,则数据质量问题保持活动并且存储在数据存储库120中。数据质量问题122可最终过期(例如,如果它在设定时间段内未被更新)。当数据质量问题122到期时,将它从数据质量数据存储库120中移除。
76.图2a至图2d分别示出了图1a至图1b的数据处理系统100的模块112、114、166和118的数据处理动作的示例。图2a包括用于数据处理系统100从数据质量结果数据105和数据质量测试元数据108识别数据质量问题的方法200a。
77.数据质量问题识别模块112被配置为确定测试结果数据105中是否表示新的数据质量问题或者测试结果数据中是否表示一个或多个现有的数据质量问题。一般来讲,与所执行的数据质量测试相关联的控制点136指定了对于该特定数据质量测试(例如,对数据质
量测试的特定字段测试的一个或多个规则)是否存在数据质量问题。当识别了新的数据质量问题时,数据质量测试元数据108和数据质量结果数据被发送到数据质量问题生成模块114,以用于生成具有使用来自测试元数据的值填充的属性值的新的数据质量问题。用于生成新的数据质量问题的方法在图2b中示出。当识别了现有的数据质量问题122时,数据质量问题识别模块112将现有的数据质量问题122的数据质量问题属性124、现有的数据质量问题数据、数据质量测试结果数据105和数据质量测试结果元数据108发送到数据质量问题更新模块116。数据质量问题更新模块使用测试元数据108的值和在已经为现有的数据质量问题122填充的属性124的上下文中的测试结果来更新现有的数据质量问题。关于图2c描述了用于更新现有的数据质量问题122的方法。
78.数据质量问题识别模块从与数据质量测试相关联的数据质量控制点136接收(202)属性。数据质量控制点136包括数据对象,该数据对象包括配置数据质量测试的属性,如前所述。数据质量问题标识模块112分析(204)数据质量控制点136的属性以确定在数据存储库120中是否存在现有的数据质量问题122。控制点136包括标识符(如随后描述的)。标识符将控制点136与现有的数据质量问题相关联(如果存在的话)。如果数据质量问题已经存在,则数据质量识别模块被配置为发起用来自数据质量测试的元数据108更新(210)现有的数据质量问题的属性值的方法。如果不存在数据质量问题,则数据质量问题识别模块112被配置为发起生成(208)新的数据质量问题的方法,并且用来自数据质量测试的元数据108的值填充所生成的数据质量问题的属性。
79.现有的数据质量问题122a-c中的每个数据质量问题各自与具有基于先前结果数据和相关联的工作流中的处理来填充的值的相应属性124相关联。例如,现有的数据质量问题122可以与状态值相关联,该状态值指示如何针对该数据质量问题执行有关工作流。例如,该状态可指示现有的数据质量问题122是新的、在分类分析中、已发布(例如,发布到数据存储库120)、正在由负责实体解决、已解决、或未解决。该状态通常指示该数据质量问题的工作流的状态。现有的数据质量问题122与其他属性相关联,包括数据质量问题中表示的数据集的所有者、用于解决数据质量问题的负责实体、用于解决数据质量问题的事件的时间线、时间戳数据、在问题中表示的数据的数据质量得分等,如先前所描述的。
80.在一个实施方案中,来自数据质量测试的数据质量问题可与数据存储库120中所存储的数据质量问题匹配。在该示例中,数据质量问题识别模块112被配置为利用测试元数据108和测试结果数据105中的值来分析现有的数据质量问题122a-n的属性值。该比较包括匹配这些属性值中的一者或多者的值,诸如键值、字段名称、数据源名称或标识数据质量问题的其他类似属性。在一些具体实施中,数据质量结果105包括能够与数据质量问题一起存储为属性值的标识符。当执行随后的数据质量测试时,可以引用相同的标识符。如果属性124的值匹配测试元数据108或在阈值相似性内相似,则数据质量问题识别模块112确定结果数据105对应于现有的数据质量问题。基于现有的数据质量问题的属性值124并且还基于测试元数据108和测试结果105来更新现有的数据质量问题122。如果属性124的值与数据质量测试的元数据108不匹配,则数据质量识别引擎112基于元数据108和测试结果105确定应该生成新的数据质量问题并且用属性值填充该新的数据质量问题。
81.图2b示出了用于由数据质量问题生成模块114生成新的数据质量问题的方法200b。数据质量问题生成模块114被配置为:如果数据质量识别模块112没有识别出数据质
量问题,则用来自数据质量测试的元数据108和结果105的属性值来填充数据质量问题。如先前讨论的,数据质量问题122包括存储用值填充的属性的数据对象或数据结构。使用可配置的一组属性继承规则来自动填充属性值。属性继承规则是预先配置的规则。属性继承规则指定了数据质量问题的哪些属性被自动填充以及这些属性的值的来源。源属性可以在与数据质量问题相关联的数据质量控制点136中指定,或者在与数据质量控制点直接或间接相关联的另一对象上指定。源由规则集中的源属性说明符字段来指定。源属性说明符的示例在下面的表1中示出:
82.表1:示例性属性继承规则
[0083][0084]
例如,表1中的第一规则指示正在生成的数据质量问题的数据质量所有者的值是从与由数据质量控制点136控制的受控资产相关联的biz项的风险数据域中的商业所有者属性得到的。该规则引用了与数据质量问题相关联的四个数据对象以找到属性的值。该属性的值用于填充数据质量问题的属性。在表1中,优先级是属性源的优先级值。较高优先级源用于在较低优先级源之前填充属性值。属性继承规则填充数据质量问题的属性,包括数据质量问题的所有者、正被测试的数据质量规则的标识、描述或评论数据、数据和时间元数据、时间线数据等,如随后关于图6a和图6b所描述的。
[0085]
继续图2b,数据质量问题生成模块114生成包括数据质量问题220的数据对象。数据质量问题220包括具有从数据质量测试结果数据105和数据质量测试元数据108填充的值的属性。数据质量问题220从元数据108和数据质量测试结果数据105接收指定以下值中的一者或多者的值。可以接收指定正由数据质量规则测试的数据的源的标识符210。该标识符可使得源名称被填充在数据质量问题220中。所生成的数据质量问题220可包括测试结果数据212的至少一部分。测试结果数据212包括正被测试的给定字段的实际结果(诸如对于特定字段中的每个值的通过或未通过的指示)或数据质量测试结果的概要(例如,字段中通过或未通过的值的百分比等)。
[0086]
所生成的数据质量问题220可包括数据质量规则数据214。数据质量规则数据包括特定数据质量规则或逻辑的定义,该特定数据质量规则或逻辑被应用于数据质量测试的所选择的记录或字段。数据质量规则数据214可以为数据质量测试指定单个规则或一组规则。这些规则一起构成数据质量测试。例如,数据质量测试可包括字段值正好填充有7个字符并且这些字符都是数字的要求。如果任一规则不满足,则数据质量测试不通过。在一些具体实施中,结果数据212指定数据质量测试未通过的原因(例如,不满足哪个数据质量条件)。在
一些具体实施中,数据质量结果数据212指定不满足至少一个数据质量条件。
[0087]
所生成的数据质量问题220可继承用于解决数据质量错误的符合条件的实体的列表。这些实体可包括被分配负责解决被测试数据中引起数据质量问题的错误的系统、设备或用户。符合条件的实体可以基于预先配置的逻辑。例如,特定的一组实体可能有资格解决新生成的数据质量问题220。特定的一组实体可能有资格解决特定所有者或一组所有者拥有的数据的数据质量问题。符合条件的实体可以仅包括用于正被测试的第一类型的数据质量规则的自动化系统和设备,但是可以仅包括手动审查正被测试的其他类型的数据质量规则的系统用户或管理员。其他类似示例也是可能的。从符合条件的实体216中选择一个或多个实体用于处理数据质量问题220。该选择可以是所生成的工作流132的一部分,并且可以基于该工作流的逻辑。
[0088]
所生成的数据质量问题220可以从有关数据对象诸如控制点标识符218接收属性值。这些有关数据对象可以提供由那些数据对象存储的属性的一个或多个值。
[0089]
基于来自至少上述源的数据来填充所生成的数据质量问题220。数据质量问题生成模块114向数据质量问题220分配状态值222。状态数据222指示用于处理数据质量问题220的工作流执行(例如,由相关联的工作流132执行)的状态。例如,数据质量问题可以被分配“新的问题”状态、“分类中”状态、“已发布”状态、“已完成”状态或一个或多个其他状态。在一个示例中,如果数据质量问题重复出现,则可以被升级。因为数据质量问题220是新生成的,所以将“新数据质量问题”的初始状态分配给该数据质量问题。
[0090]
一旦生成了新的数据质量问题220,就向工作流执行模块118发送数据质量问题数据。在一些具体实施中,数据质量问题数据被存储在数据存储库120中。工作流执行模块118基于数据质量问题的属性值生成用于执行的工作流132。基于数据质量问题220的工作流逻辑224生成工作流132。工作流逻辑224指示用于解决数据质量问题220的处理逻辑或动作。例如,工作流逻辑指示被分配以解决数据质量问题220的实体。工作流逻辑224指示用于数据隔离的步骤或选项。工作流逻辑包括用于调试数据质量规则或识别低质量数据的源的指导。
[0091]
图2c示出了用于基于来自数据质量测试的结果数据来更新现有的数据质量问题240的方法200c。除了并非现有的数据质量问题的所有属性都是从控制点或其他数据对象填充的之外,用于更新数据质量问题240的方法类似于生成新的数据质量问题。相反,仅基于该数据质量测试的结果数据105及其元数据108来更新反映最近数据质量测试的属性。
[0092]
一旦数据质量问题识别模块112识别出数据质量问题,就用来自由指定该数据质量问题的控制点配置的最近数据质量测试的数据更新现有的数据质量问题240。识别现有的数据质量问题的状态230。在一些具体实施中,状态被更新以指示第二数据质量测试已经识别出重复出现的数据质量问题。更新的状态会改变工作流132执行的操作,或改变工作流132是否根据新的测试进行更新。
[0093]
用时间线数据232来更新现有的数据质量问题240。时间线数据232包括与数据质量问题240相关联地执行的一系列一个或多个动作或操作。例如,这些动作包括计划的或执行的数据质量测试。已经执行的每一数据质量测试都与数据质量问题240的时间线中的相应结果数据相关联。这允许用户或实体快速地审查重复出现数据质量问题的趋势,以确定对数据质量测试或对被测试数据作出的任何改变是否已经改善了结果。例如,如果已经通
过数据质量测试的字段的记录或条目的数量随时间增加,则用户确定数据正在被改善以消除数据质量问题。时间线指示何时对一个或多个数据质量规则(例如,由分配的实体)或对被测试数据作出改变。改变或更新的指示可以链接到规则或被测试数据的相应版本。在一些具体实施中,改变的指示帮助实体确定对被测试数据或数据质量规则作出的改变是改善数据质量结果还是恶化数据质量问题。
[0094]
用更新的数据质量测试结果数据234来更新现有的数据质量问题240。更新的数据质量测试结果数据234指示最近的数据质量测试的被测试数据执行情况。更新的测试结果数据234被包括在更新的数据质量问题240的时间线中或以其他方式在数据质量问题中指示。负责解决数据质量问题240的实体审查更新的结果数据234,并且确定重复出现的数据质量问题240相对于之前的数据质量测试是改善还是恶化。
[0095]
更新的数据质量问题240包括用于解决引起数据质量问题的数据质量错误的符合条件的实体的更新列表。符合条件的实体基于数据质量问题240的状态、基于数据质量测试结果数据234中示出的数据质量错误的类型或者基于一个或其他度量。例如,符合条件的实体的列表基于被测试数据的所有者或源。对于每个数据质量测试更新符合条件的实体的列表,以确保为符合条件的实体分配(或重新分配)解决数据质量问题240的责任。
[0096]
更新的数据质量问题240从与数据质量测试相关联的一个或多个其他对象(诸如从配置数据质量测试的控制点)接收元数据或属性值。因此,更新的数据质量问题240包括描述导致数据质量问题重复出现的最近数据质量测试的数据以及来自导致数据质量问题出现的先前数据质量测试的数据。结果是包括来自先前事件的趋势数据的数据质量问题240,其帮助分配的实体调试数据质量规则、从相关联的系统中消除低质量数据或者识别低质量数据的源。低质量数据的源包括特定数据源(例如,产生低质量数据的应用、数据库等),但也可包括较差定义的数据质量测试。将重复出现的数据质量问题的每次事件的数据关联起来,以便实体确定低质量数据源导致低质量数据的原因。数据质量问题240的先前和当前数据帮助实体补救该问题,诸如通过限制来自低质量数据源的数据、更改数据质量规则的定义、隔离低质量数据、调整应用或数据处理工作流的逻辑或者采取某种其他补救动作。
[0097]
数据质量问题240与状态数据242相关联。状态数据242指示用于处理数据质量问题240的工作流的状态。数据质量问题240的状态类似于如前所述的数据质量问题220的状态222。
[0098]
数据质量问题240与更新的工作流逻辑244相关联。工作流逻辑244指示用于解决数据质量问题240的处理逻辑或动作。例如,工作流逻辑指示被分配以解决数据质量问题240的实体。工作流逻辑244指示用于数据隔离的步骤或选项。工作流逻辑包括用于调试数据质量规则或识别低质量数据的源的指导。在一些具体实施中,自动执行工作流动作中的一些或全部。在一些具体实施中,工作流的动作是一旦被分配就呈现给负责实体的建议。在一些具体实施中,工作流逻辑指定了用于将数据质量问题240呈现给用户(诸如分配的实体)的用户界面的配置。
[0099]
向工作流执行模块118发送包括更新的数据质量问题240的数据以生成工作流132。在一些具体实施中,向数据存储库120发送更新数据质量问题240数据。
[0100]
图2d示出了用于根据新数据质量问题220或更新的数据质量问题240生成工作流
132(例如,作为工作流数据132a)的方法200d。方法200d是示例,并且取决于数据质量问题220、240的属性的值,可以包括附加动作或不同动作。为了执行方法200d,工作流生成模块118从数据质量问题生成模块114(如果生成了新的数据质量问题)或者从数据质量问题更新模块(如果更新了现有的数据质量问题)接收数据质量问题数据。工作流生成模块118被配置为基于所接收的数据质量问题220、240的状态以及相应数据质量问题的属性值来生成工作流132。如前所述,工作流132包括用于解决数据质量问题的逻辑。该逻辑指定要由工作流执行系统128执行的一个或多个动作。工作流的逻辑包括显示一个或多个不同的用户界面、生成警报、隔离数据、分配负责解决数据质量问题的实体、调用一个或多个第三方服务或者其他类似动作。工作流的逻辑可以基于由用户(例如,系统管理员)生成的预先配置逻辑。以此方式,工作流132可以是特定于应用的。
[0101]
工作流生成模块118被配置为检查(260)数据质量问题220、240的状态。如果该状态指定新的数据质量问题,则工作流生成模块118生成用于处理该数据质量问题以解决该数据质量问题的新的工作流。如果状态指定现有的数据质量问题,则工作流生成模块118根据数据质量问题240的属性值来确定是否应当更新与该数据质量问题相关联的工作流。
[0102]
工作流生成模块118被配置为基于所识别的数据质量问题的状态来检索(262)工作流逻辑。基于系统的要求来配置工作流逻辑。在一个示例中,通过控制点来配置工作流逻辑。在该示例中,控制点的属性值填充数据质量问题。分析数据质量问题的属性的值以确定用于解决数据质量问题的工作流的逻辑。例如,如果数据质量问题正在重复出现或恶化,则可利用用于分配负责解决数据质量问题的实体的新的逻辑来更新现有的工作流。在另一个示例中,如果执行工作流(或其一部分)的目标执行系统128被改变,如果所有者改变,如果数据源改变等,则工作流132逻辑可被改变。例如,如果目标执行系统128是客户端设备,则基于设备类型来调整生成的特定用户界面,诸如用于查看分配的实体的数据质量问题的属性值。
[0103]
工作流生成模块118被配置为分配(264)实体以解决数据质量问题。基于数据质量问题220、240中的属性值来分配实体。在一些具体实施中,实体实际上未被分配,而是检索用于分配实体的逻辑并将其包括在工作流中。在一些具体实施中,实体被分配以使得目标工作流执行系统128被识别用于发送工作流数据132a。例如,该实体可以是工作流执行系统128本身或它的用户。
[0104]
工作流生成模块118被配置为更新(266)与数据质量问题220、240相关联的数据质量问题时间线。数据质量问题时间线表示关于该数据质量问题采取了什么动作,以及何时采取这些动作。
[0105]
工作流生成模块118被配置为更新(268)数据质量问题220、240的状态以指示数据质量问题正在被处理。在一些具体实施中,在执行工作流132之后更新数据质量问题的状态。在该示例中,工作流生成模块118生成工作流,向执行系统128发送工作流数据132a,并且从执行系统接收指示生成工作流132的一个或多个动作已经被执行的响应。响应于来自执行系统128的该数据,工作流生成模块118更新数据质量状态。
[0106]
向执行系统128发送生成的工作流132作为工作流数据132a。工作流由执行系统128自动地或响应于用户输入来执行。工作流128执行基于数据质量问题的属性所选择的逻辑。如前所述,实际逻辑专用于给定的应用,并且由系统管理员预先配置。
[0107]
图3示出了表示用于与数据质量控制点交互的用户界面的示例性用户界面屏幕300。示出了控制点302a-d的列表。示例性代表性控制点302a包括标识符304、类型306(此处全为数据质量控制对象)、描述308以及任何受控资产310的指示。标识符304是标识数据质量控制点的唯一代码。对象类型306将控制点与同数据质量测试中正被测试的数据相关联的一个或多个其他数据对象区分开。受控资产308指定了正被测试的应用。
[0108]
屏幕300包括搜索参数窗口312。窗口312的参数用于通过数据质量控制点来细化搜索。在一些具体实施中,这些参数包括过滤准则。
[0109]
图4示出了包括表示系统的数据质量问题402a-h的列表的用户界面的屏幕400。每个数据质量问题402a-h包括标识符406、状态值408、由其对象标识符指定的相关对象410(例如,控制点)、一个或多个分配的实体414的列表以及工作流数据416,诸如创建时间或其他时间线数据。示出了用于手动生成新的数据质量问题的控件418。
[0110]
屏幕400包括搜索参数窗口404。窗口404的参数用于通过数据质量问题来细化搜索。在一些具体实施中,这些参数包括过滤准则。
[0111]
图5示出了表示数据质量问题的概要的屏幕500。屏幕500示出了数据质量问题的标识符502。屏幕500示出了数据质量问题的概要数据504。屏幕500示出了报告数据质量问题的实体506(如果适用)。屏幕500示出了用于解决数据质量问题的分配的实体508。屏幕500示出了用于数据质量问题的时间线数据510的一部分。屏幕500通常嵌入在较大的用户界面中,但通过示出数据质量问题的某些属性值提供了该数据质量问题的快速概要。
[0112]
图6a示出了表示数据质量问题#2(称为数据质量问题dqi-2)的数据的屏幕600a。屏幕600a示出了数据质量的更完整视图,诸如图5的数据质量问题。屏幕600a包括允许用户访问数据的导航窗口602,该数据包括数据质量问题的属性值、数据质量问题的先前版本(如果适用)以及与数据质量问题相关联的许可。
[0113]
屏幕600a包括示出数据质量问题的更基本属性值的一般信息窗口604。窗口604示出了描述对象名称的概要604a,在这种情况下,描述自动数据质量问题。窗口604示出了数据质量问题的类型604b。窗口604示出了数据质量问题的类别604c。窗口604示出了与数据质量问题相关联的控制点标识符604d(例如,配置数据质量问题的控件)。在这个示例中,控制点是dqcp-2010,或者是数据质量控制点#2010。窗口604示出了数据质量问题的报告人604e(如果数据质量问题是手动生成或报告的)。窗口604示出了用于解决数据质量问题的分配的实体604f。在这种情况下,该实体是名叫abbey a.williams的人。在其他示例中,该实体可以是设备或系统名称。窗口604示出了一个或多个收听者604g的列表,这些收听者可以观察数据质量问题或接收警报或基于与数据质量问题相关联的工作流的其他消息。此处,收听者是名叫melodie m.pickett的人。在一些具体实施中,收听者可以是设备或系统。
[0114]
窗口606示出了为数据质量问题推荐的动作的列表。在一个示例中,数据质量问题的工作流可以规定窗口606中所示的动作。此处,示出了“完成分类”动作项,因为数据质量问题的状态616是“分类中”。
[0115]
窗口608示出了描述用于数据质量问题的数据质量测量的数据。窗口608中包括时间线数据610。数据质量测量数据指定了何时执行数据质量测试(也称为测量)。窗口608显示何时接收到结果数据。窗口608示出了用于一个或多个先前数据质量测试的结果数据的一部分(如果适用)。根据窗口608中的数据,如果数据质量问题正在重复出现,则用户可以
快速地看到数据质量问题随时间的趋势。
[0116]
窗口612为要提供的附加评论(例如,由分配的实体)提供空间。评论可以补充继承到数据质量问题中的属性值。
[0117]
屏幕600a中所示的数据质量问题与状态616相关联。在该示例中,数据质量问题处于被称为“分类中”的早期阶段,其中要求负责实体对该数据质量问题进行分类。如果数据质量问题被确定为显著的,则可以提升数据质量或者可以执行一个或多个其他动作来解决数据质量问题。
[0118]
图6b示出了表示与图6a的dci-2相关联的控制点#2010(称为dqcp-2010)的屏幕600b。控制点配置引起图6a的数据质量问题的数据质量测试。
[0119]
屏幕600b包括与图6a的窗口604类似的一般信息窗口624。窗口624包括控制点名称624a。在此示例中,控制点名称624a是dqcp-2010,或数据质量控制点#2010。窗口624示出了所表示的对象的类型624b,该类型为数据质量控制点。窗口624示出了数据质量控制点的描述624c。此处,该描述描述了由数据质量控制点配置的数据质量测试。该控制点的数据质量测试的目标是“产品类型应当是汽车贷款中的有效值”。这指示数据质量测试被配置为检查名为“汽车贷款”的字段中的有效值,以检查产品类型(例如,在另一个字段中)。描述624d提供了另外的信息,指定“汽车贷款中的产品类型不能为空或无效”。该描述624d指示正在应用什么数据质量规则。例如,“汽车贷款”字段中的任何值都不能为空或无效。如果任一规则条件不满足,则该字段的值不能通过数据质量测试。在一些具体实施中,结果数据会确切地指定未满足数据质量测试的哪个规则或条件。在一些具体实施中,结果数据指示特定字段不满足数据质量测试的至少一个条件,而没有指定不满足哪个条件。窗口624指定正在测试哪个数据质量度量624e。在所示的示例中,度量624f是包括在每个记录的字段中的值的完整性。窗口624指定测试单元624f,指示有多少数据正被测试。
[0120]
屏幕600b包括指定正被测试的数据源的窗口626。例如,窗口626指定包括正被测试的产品的业务数据元素626a。数据的路径626b来自数据湖》零售银行业务》汽车贷款数据集。
[0121]
数据管理窗口628指定数据质量测试的各方面。窗口628指定数据质量业务要求628a。这是特定数据质量测试的目标。此处,目标是数据集的完整性,并且更具体地,是数据集的每个记录都填充了有效值。数据质量测试的类别628b是监测。在窗口628中示出了数据质量测试的频率628c。此处,频率628c是每周一次数据质量测试。
[0122]
控制所有权窗口630指定了负责解决数据质量问题的一个或多个实体。数据质量控制点#2010的所有者与其相关联的数据质量问题dci-2相同。分配的实体是abbey a.williams。被分配进行收听的数据质量分析人员是melodie m.pickett。
[0123]
规范窗口632包括规范(例如,工作流)标识符。在该示例中,没有识别出工作流。该规范可以是图表或其他逻辑。
[0124]
执行窗口634包括指定何时执行了数据质量测试的数据。此处,示出了第一数据质量测试时间戳634a和最近数据质量测试时间戳634b。
[0125]
窗口620示出了数据质量测试的结果数据638。结果数据638a包括数据质量测试结果的表示,诸如所有记录的通过记录的百分比或者未通过或通过记录的绝对数量。结果数据638包括趋势数据638b的表示。趋势数据638b示出了数据质量测试的结果与之前的一次
或多次测试到最近一次测试的变化情况,可能是数据质量的改善,也可能是数据质量的恶化。
[0126]
数据质量控制点与状态值636相关联。这不同于与数据质量控制点相关联的数据质量问题638的状态。此处,状态636为“已发布”。
[0127]
数据质量控制点屏幕600b示出了与控制点相关联的数据质量问题638中的每个数据质量问题。此处,数据质量问题dqi-2(例如,作为图5中所示的概要数据)被示为嵌入在数据质量控制数据中。
[0128]
图7示出了表示数据质量问题的时间线702的用户界面屏幕700的一部分。此处,数据质量问题状态704为“进行中”。时间线702示出了一个或多个实体以及每个实体针对数据质量问题采取的任何行动和时间。此处,用户wade l.register对数据质量问题的受让人变更进行了评论、编辑和接受。管理实体通过完成分类来改变数据质量问题的状态。在一个示例中,这可以包括自动化方法。
[0129]
图8示出了用于自动数据质量问题生成和工作流生成的方法800。方法800可以由诸如先前所描述的数据处理系统实现。方法800包括接收(802)指定对数据记录的数据质量测试的输出的结果数据;接收(804)与结果数据相关联的元数据,该元数据指定数据质量测试的数据质量条件和配置数据质量测试的对象;基于结果数据和元数据生成(806)数据质量问题,该数据质量问题指定用于处理结果数据的工作流的状态;以及基于由数据质量问题指定的状态来生成(808)用于处理结果数据的工作流。生成工作流包括:基于结果数据和数据质量问题的状态,分配(810)负责解决数据质量错误的实体;基于元数据确定(812)用于满足在数据质量测试中指定的数据质量条件的一个或多个动作;以及更新(814)与数据质量问题相关联的状态。该方法包括向工作流执行系统发送(816)表示工作流的数据。
[0130]
本说明书中所描述的主题和操作的一些具体实施可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,这些具体实施包括本说明书中公开的结构及它们的结构等同物或在它们中的一者或多者的组合。例如,在一些具体实施中,可以使用数字电子电路或者在计算机软件、固件或硬件或它们中的一者或多者的组合中实现数据处理设备102的模块。在另一示例中,过程900、1000、1100和1200可以使用数字电子电路来实现,或者在计算机软件、固件或硬件或它们中的一者或多者的组合中实现。
[0131]
本说明书中描述的一些具体实施可以被具体实施为数字电子电路、计算机软件、固件或硬件的一个或多个组或模块,或者它们中的一者或多者的组合。尽管可使用不同模块,但是每个模块不必不同,并且多个模块可在同一数字电子电路、计算机软件、固件或硬件或它们的组合上实现。
[0132]
本说明书中描述的一些具体实施可实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,该一个或多个计算机程序指令编码在计算机存储介质上以供数据处理装置执行或控制该数据处理装置的操作。计算机存储介质可以是或可被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一者或多者的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也可以是或被包括在一个或多个单独的物理部件或介质(例如,多个cd、盘或其他存储设备)中。
[0133]
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,包括例
如可编程处理器、计算机、片上系统或前述项中的多个项或前述项的组合。在一些具体实施中,数据处理系统100包括如本文所述的数据处理装置。装置可包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可包括为相关计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一者或多者的组合的代码。装置和执行环境可实现各种不同计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。
[0134]
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以任何形式的编程语言编写,包括编译或解释语言、声明或程序语言。计算机程序可但不必需对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可部署为在一台计算机上或在多台计算机上执行,这些计算机位于一个站点或跨多个站点分布并通过通信网络互连。
[0135]
本说明书中描述的过程和逻辑流程中的一些过程和逻辑流程可由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。该过程和逻辑流程也可由专用逻辑电路例如fpga(现场可编程门阵列)或asic(专用集成电路)执行,并且装置也可被实现为该专用逻辑电路。
[0136]
适合于执行计算机程序的处理器包括例如通用微处理器和专用微处理器两者,以及任何种类的数字计算机的处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机包括用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。计算机还可包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传送到一个或多个大容量存储设备或两者。然而,计算机不需要具有此类设备。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备(例如,eprom、eeprom、闪存设备等)、磁盘(例如,内部硬盘、可移动磁盘等)、磁盘(例如,内部硬盘、可移除磁盘等)、磁光盘和cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入其中。
[0137]
为了提供与用户的交互,可在具有用于向用户显示信息的显示设备(例如,监视器或另一类型的显示设备)和用户可用来向计算机提供输入的键盘和指向设备(例如,鼠标、轨迹球、平板电脑、触敏屏幕或另一类型的指向设备)的计算机上实现操作。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可通过向用户所使用的设备发送文档和从该设备接收文档来与用户交互;例如通过响应于从web浏览器接收的请求而向用户的客户端设备上的web浏览器发送网页。
[0138]
计算机系统可包括单个计算设备或在接近或大体上远离彼此操作并通常通过通信网络交互的多个计算机。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、网间网络(例如,互联网)、包括卫星链路的网络和对等网络(例如,自主对等网络)。客户端和服务器的关系可因运行在相应计算机上的计算机程序而产生,并且彼此具有客户端-服务器关
系。
[0139]
示例性计算机系统包括处理器、存储器、存储设备和输入/输出设备。这些部件中的每个部件可以例如通过系统总线互相连接。处理器能够处理用于在系统内执行的指令。在一些具体实施中,该处理器是单线程处理器、多线程处理器或另一类型的处理器。处理器能够处理存储在存储器中或存储设备上的指令。存储器和存储设备可以存储系统内的信息。
[0140]
输入/输出设备提供针对系统的输入/输出操作。在一些具体实施中,输入/输出设备可以包括网络接口设备(例如,以太网卡)、串行通信设备(例如,rs-232端口)和/或无线接口设备(例如,802.11卡、3g无线调制解调器、4g无线调制解调器、5g无线调制解调器等)中的一者或多者。在一些具体实施中,输入/输出设备可以包括被配置为接收输入数据并将输出数据发送到其他输入/输出设备(例如,键盘、打印机和显示设备)的驱动器设备。在一些具体实施中,可使用移动计算设备、移动通信设备和其他设备。
[0141]
尽管本说明书包含许多细节,但是这些细节不应当被视为可要求保护的内容的范围的限制,而是应当被视为特定于特定示例的特征的描述。在单独的具体实施的上下文中,本说明书中描述的某些特征也可进行组合。相反地,在单个具体实施的上下文中描述的各种特征也可单独地或以任何合适的组合在多个实施方案中实现。
[0142]
已经描述了多个实施方案。然而,应当理解,在不脱离本文描述的数据处理系统的实质和范围的情况下,可作出各种修改。因此,其他实施方案也在以下权利要求书的范围内。
技术特征:
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所述的方法,其中所述数据质量问题的每个状态与用于处理所述结果数据的一个或多个候选动作相关联。14.根据权利要求1所述的方法,还包括:基于所述结果数据和所述元数据确定所述数据质量错误的类别,所述类别选自数据错误、规则错误或参考数据错误中的一者。15.根据权利要求1所述的方法,其中所述数据质量问题包括特定数据记录正由所述数据质量测试进行测试以获得所接收的结果数据、指定哪个或哪些数据质量规则已经在所述数据质量测试中被应用于所述特定数据记录的数据以及将所述数据质量规则中的每个数据质量规则应用于所述特定数据记录的结果的标识。16.根据权利要求2所述的方法,其中所述键值将所述数据质量问题与附加数据相关联,所述附加数据包括与所述数据质量问题相关联的客户端设备的标识符、具有所述数据质量问题的数据集的所有者、负责解决所述数据质量问题的实体、用于校正所述数据质量问题的所述工作流以及所述工作流的所述状态。17.根据权利要求1所述的方法,其中所述数据质量问题指定用于处理所述结果数据以解决所述数据质量问题的所述工作流的所述一个或多个数据处理动作。18.根据权利要求1所述的方法,其中所述结果数据为所述数据记录的部分指定所述部分是否满足在所述数据质量测试期间应用于所述数据记录的一个或多个数据质量规则中指定的条件,并且所述结果数据标识在所述测试期间不满足的所述数据质量规则的一个或多个条件,以及所述数据记录的哪些部分不满足所述条件。19.根据权利要求1所述的方法,其中所述结果数据指定所述数据质量测试未通过的原因,包括所述测试中不满足的数据质量规则的数据质量条件。20.根据权利要求1所述的方法,其中所述数据处理动作包括分析所述数据记录的值以确定所述数据质量测试的数据质量规则定义是否有缺陷。21.根据权利要求1所述的方法,其中所述元数据指定所述数据质量测试的数据质量条件和配置所述数据质量测试的对象,其中所述动作用于满足在所述数据质量测试中指定的
所述数据质量条件。22.根据权利要求1所述的方法,还包括:基于所接收的元数据使用所述工作流的可配置数据处理规则来配置所述工作流,使得基于哪个数据质量测试未通过以及所述测试未通过的原因来生成不同的工作流。23.根据权利要求2所述的方法,其中在不生成新的数据质量问题的情况下执行所述数据质量问题的所述更新。24.一种用于由数据处理系统执行工作流的系统,所述工作流用于通过响应于接收到指示对数据记录的数据质量测试的输出的结果数据和描述所述结果数据的元数据而生成与状态相关联的数据质量问题和所述工作流的一个或多个处理步骤来处理所述结果数据,从而解决与所述数据质量测试相关联的数据质量错误,所述系统包括:至少一个处理器;和存储器,所述存储器存储指令,所述指令在由所述至少一个处理器执行时使得所述至少一个处理器执行操作,所述操作包括:接收指定对数据记录的数据质量测试的输出的结果数据;接收与所述结果数据相关联的元数据,所述元数据指定所述数据质量测试的数据质量条件和配置所述数据质量测试的对象;基于所述结果数据和所述元数据生成数据质量问题,所述数据质量问题指定用于处理所述结果数据的工作流的状态;基于由所述数据质量问题指定的所述状态来生成用于处理所述结果数据的所述工作流,其中生成所述工作流包括:基于所述结果数据和所述数据质量问题的所述状态,分配负责解决所述数据质量错误的实体;基于所述元数据确定用于满足在所述数据质量测试中指定的所述数据质量条件的一个或多个动作;以及更新与所述数据质量问题相关联的所述状态;以及向工作流执行系统发送表示所述工作流的数据。25.根据权利要求24所述的系统,其中所述数据质量问题与标识所述数据质量问题的键值相关联,并且其中所述方法包括:响应于接收到所述元数据,通过评估所述键值来确定已经针对用于所述数据质量测试的数据源生成了所述数据质量问题;以及基于所述数据质量测试的所述结果数据来更新所述数据质量问题,其中更新所述数据质量问题包括改变与所述数据质量问题相关联的所述状态。26.根据权利要求25所述的系统,其中更新所述数据质量问题包括将所述结果数据重新分配给不同的实体。27.根据权利要求25所述的系统,其中更新所述数据质量问题包括附加与所述数据质量问题相关联的数据处理动作的时间线。28.一种或多种非暂态计算机可读介质,所述非暂态计算机可读介质存储用于由数据处理系统执行工作流的指令,所述工作流用于通过响应于接收到指示对数据记录的数据质量测试的输出的结果数据和描述所述结果数据的元数据而生成与状态相关联的数据质量
问题和所述工作流的一个或多个处理步骤来处理所述结果数据,从而解决与所述数据质量测试相关联的数据质量错误,其中由至少一个处理器执行所述指令使得所述至少一个处理器执行操作,所述操作包括:接收指定对数据记录的数据质量测试的输出的结果数据;接收与所述结果数据相关联的元数据,所述元数据指定所述数据质量测试的数据质量条件和配置所述数据质量测试的对象;基于所述结果数据和所述元数据生成数据质量问题,所述数据质量问题指定用于处理所述结果数据的工作流的状态;基于由所述数据质量问题指定的所述状态来生成用于处理所述结果数据的所述工作流,其中生成所述工作流包括:基于所述结果数据和所述数据质量问题的所述状态,分配负责解决所述数据质量错误的实体;基于所述元数据确定用于满足在所述数据质量测试中指定的所述数据质量条件的一个或多个动作;以及更新与所述数据质量问题相关联的所述状态;以及向工作流执行系统发送表示所述工作流的数据。29.根据权利要求28所述的一种或多种非暂态计算机可读介质,其中所述数据质量问题与标识所述数据质量问题的键值相关联,并且其中所述方法包括:响应于接收到所述元数据,通过评估所述键值来确定已经针对用于所述数据质量测试的数据源生成了所述数据质量问题;以及基于所述数据质量测试的所述结果数据来更新所述数据质量问题,其中更新所述数据质量问题包括改变与所述数据质量问题相关联的所述状态。
技术总结
本发明公开了用于由数据处理系统执行工作流的系统和方法,该工作流用于通过响应于接收到指示对数据记录的数据质量测试的输出的结果数据和描述该结果数据的元数据而生成与状态相关联的数据质量问题和该工作流的一个或多个处理步骤来处理该结果数据,从而解决与该数据质量测试相关联的数据质量错误。操作包括基于由数据质量问题指定的状态来生成用于处理结果数据的工作流。生成该工作流包括:基于该结果数据和该数据质量问题的该状态,分配负责解决该数据质量错误的实体;基于该元数据确定用于满足在该数据质量测试中指定的该数据质量条件的一个或多个动作;以及更新与该数据质量问题相关联的该状态。据质量问题相关联的该状态。据质量问题相关联的该状态。
技术研发人员:乔纳森
受保护的技术使用者:起元技术有限责任公司
技术研发日:2022.03.01
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/