CN110019158A - 一种监控数据质量的方法和装置 - Google Patents

一种监控数据质量的方法和装置 Download PDF

Info

Publication number
CN110019158A
CN110019158A CN201711114545.5A CN201711114545A CN110019158A CN 110019158 A CN110019158 A CN 110019158A CN 201711114545 A CN201711114545 A CN 201711114545A CN 110019158 A CN110019158 A CN 110019158A
Authority
CN
China
Prior art keywords
data
verified
task
verification
rule
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.)
Pending
Application number
CN201711114545.5A
Other languages
English (en)
Inventor
李立威
罗翔
游正朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201711114545.5A priority Critical patent/CN110019158A/zh
Publication of CN110019158A publication Critical patent/CN110019158A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Abstract

本发明公开了一种监控数据质量的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:以数据计算任务的源数据和/或输出数据作为待校验数据;从预设的数据校验规则集中获取所述待校验数据的校验规则;基于所述校验规则对待校验数据执行数据校验任务;其中,数据校验任务与数据计算任务异步进行。本发明实施例能够保证数据质量,大大降低数据计算任务出错的可能性;减少数据计算和校验的工作量和复杂性;便于修改数据校验规则,支持个性化定制数据校验策略。

Description

一种监控数据质量的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种监控数据质量的方法和装置。
背景技术
不同数据集市之间需要共享数据,不同的数据计算任务(包括数据模型计算、数据分析计算等)通过对旧数据加工产生新数据。数据库节点丢失(不可用)、节点崩溃、上游数据错误等等,都可能造成数据错误。如果不能提前感知数据发生了错误,继续让错误数据流向下游,将会对下游相关业务造成影响,对部分关键业务甚至可能会造成致命的影响。如果等数据造成了影响后,才发现数据有错误,就可能会造成巨大的损失,补救错误数据也会更加困难。
为了避免上述情况的发生,现有技术中在执行数据计算任务的工作时对数据进行校验,即数据计算任务包含对数据的校验。那么在开发数据计算任务时,工作量会很大,另外,直接修改任务源代码,容易对任务的主要逻辑造成破坏,增加任务出错的风险
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1)由于数据计算任务中包含对数据的校验,因此任务源代码复杂,数据开发量大;
2)不方便修改数据校验策略:校验数据的程序写好后,修改数据的校验策略非常不方便;由于需要直接修改数据计算任务的源代码,因此还会增加源代码出错的风险;
3)数据错误信息反馈不及时:执行数据计算任务时才能对源数据进行校验,无法在数据计算任务执行之前发现数据错误;
4)存在重复校验:每次进行数据计算任务时,都需要对数据进行校验,浪费数据库资源和时间。
发明内容
有鉴于此,本发明实施例提供一种监控数据质量的方法和装置,能够保证数据质量,大大降低数据计算任务出错的可能性;减少数据计算和校验的工作量和复杂性;便于修改数据校验规则,支持个性化定制数据校验策略。
为实现上述目的,根据本发明实施例的一个方面,提供了一种监控数据质量的方法,包括:
以数据计算任务的源数据和/或输出数据作为待校验数据;
对所述待校验数据执行数据校验任务;其中,
所述数据校验任务与所述数据计算任务异步进行。
可选地,从预设的数据校验规则集中获取所述待校验数据的校验规则;基于所述校验规则对所述待校验数据执行数据校验任务。
可选地,通过用户自定义函数UDF,从数据校验规则集中获取待校验数据的校验规则。
可选地,从预设的数据校验规则集中获取所述待校验数据的校验规则之后还包括:将所述待校验数据的校验规则缓存至全局变量中。
可选地,从数据校验规则集中获取待校验数据的校验规则之前还包括:确认所述全局变量中不存在所述待校验数据的校验规则;
若所述全局变量中存在所述待校验数据的校验规则,则从所述全局变量中调用所述待检验数据的校验规则。
可选地,本发明实施例的方法还包括:对所述数据校验规则集中的校验规则进行如下至少一种操作:增加、删除、修改。
可选地,对所述待校验数据执行数据校验任务之后还包括:
判断所述待校验数据是否校验通过;
若所述待校验数据校验失败,则进行报警。
根据本发明实施例的再一个方面,提供了一种监控数据质量的装置,包括:
数据校验模块,用于以数据计算任务的源数据和/或输出数据作为待校验数据,对所述待校验数据执行数据校验任务;
数据计算模块,用于执行所述数据计算任务;
其中,所述数据校验任务与基于所述数据计算任务异步进行。
可选地,所述数据校验模块还用于:从预设的数据校验规则集中获取待校验数据的校验规则;基于所述校验规则对所述待校验数据执行数据校验任务。
可选地,所述数据校验模块通过用户自定义函数UDF,从所述数据校验规则集中获取待校验数据的校验规则。
可选地,所述数据校验模块还用于:将所述待校验数据的校验规则缓存至全局变量中。
可选地,所述数据校验模块还用于:
从数据校验规则集中获取待校验数据的校验规则之前,确认所述全局变量中不存在所述待校验数据的校验规则;
若所述全局变量中存在所述待校验数据的校验规则,则从所述全局变量中调用所述待检验数据的校验规则。
可选地,本发明实施例的装置还包括:规则编辑模块,用于对所述数据校验规则集中的校验规则进行如下至少一种操作:增加、删除、修改。
可选地,本发明实施例的装置还包括:规则配置模块,用于配置所述预设的数据校验规则集。
可选地,所述数据校验模块还用于:对所述待校验数据执行数据校验任务之后,判断所述待校验数据是否校验通过;
所述装置还包括:报警模块;若所述待校验数据校验失败,则所述报警模块进行报警。
根据本发明实施例的另一个方面,提供了一种监控数据质量的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的监控数据质量的方法。
根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现本发明实施例的监控数据质量的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过以数据计算任务的源数据和/或输出数据作为待校验数据、并使数据校验任务与数据计算任务异步进行,能保证数据质量,降低数据计算任务出错的可能性;通过预设数据校验规则集,能够简化数据校验的工作量和复杂重复;通过UDF能够从预设的数据校验规则集中获取待校验数据的校验规则;通过将待校验数据的校验规则缓存至全局变量,能够避免重复获取校验规则;通过对数据校验规则集进行编辑,能够支持定制个性化的数据校验策略。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的监控数据质量的方法的主要流程示意图;
图2是根据本发明可选实施例的数据校验任务的主要流程示意图;
图3是根据本发明可选实施例的监控数据质量的方法的主要流程示意图;
图4是根据本发明实施例的监控数据质量的装置的主要模块的示意图;
图5是根据本发明可选实施例的监控数据质量的装置的结构示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的监控数据质量的方法的主要流程示意图,如图1所示,监控数据质量的方法包括:
步骤S101、以数据计算任务的源数据和/或输出数据作为待校验数据;
步骤S102、从预设的数据校验规则集中获取所述待校验数据的校验规则;
步骤S103、基于所述校验规则对待校验数据执行数据校验任务;其中,
数据校验任务与数据计算任务异步进行。
以数据计算任务的源数据作为待校验数据,能够监控源数据的质量,便于及时拦截和恢复错误的源数据,避免由于源数据错误而导致的数据计算任务的输出结果错误、或者由于执行数据计算任务而导致的计算资源浪费。
以数据计算任务的输出数据作为待校验数据,能够监控数据计算任务的输出数据的质量,便于及时拦截和恢复错误的输出数据,避免由于输出数据错误而导致的对以该输出数据作为源数据的下游任务的产生威胁、或者由于执行以该输出数据作为源数据的数据计算下游任务而导致的资源浪费。
异步进行是指:一方面,数据校验任务的源代码与数据计算任务的源代码相互分离;另一方面,针对同一个数据的数据校验任务与数据计算任务不同时执行。本发明实施例中,数据计算任务仅指完成一定业务计算功能的一般任务,例如查询数据、写入数据、使用数据进行特殊处理(例如数据模型计算任务、数据分析任务等)等,不包含数据校验任务。对于任意一个数据,对该数据执行数据校验任务时,不同时执行以该数据作为源数据的数据计算任务;对于任意一个数据计算任务,执行该数据计算任务时,不同时执行以该数据计算任务的输出数据作为源数据的数据校验任务。
如果数据计算任务的工作还包含对源数据和输出数据的校验,那么在开发数据计算任务时,工作量会很大;并且,直接修改任务源代码容易对任务的主要逻辑造成破坏,增加任务出错的风险。本发明实施例通过使数据校验任务与数据计算任务异步进行,一方面能够大大简化开发数据校验任务和数据计算任务的工作量,另一方面能够便于分别对数据校验任务或者数据计算任务进行修改。此外,由于数据校验任务的修改与数据计算任务的修改互不影响,因此能够大大降低由于修改其中一个任务而导致的其中另一个任务出错的可能性。
如果数据计算任务的工作还包含对源数据和输出数据的校验,当下游任务以多个上游业务的输出数据作为源数据、且各个上游业务的完成时间不相同时,若较早完成的上游业务的输出数据错误,则只有执行该下游业务时才能发现该上游业务的输出数据错误,导致数据错误信息反馈不及时,不能及时发现数据错误。例如,假设数据计算任务A、B、C每天执行一次,数据计算任务A需要执行8个小时,它在某天10:00执行完成,但由于数据维护人员误操作,导致数据计算任务A的输出数据丢失了一个分区,数据计算任务B在当天23:00成功完成,输出数据正确。数据计算任务C需要同时使用数据计算任务A和数据计算任务B的输出数据,那么只有当数据计算任务C执行的时候,才能发现数据计算任务A的输出数据有误。如果此时再通过重新执行数据计算任务A的方式来纠正上述错误,则必须在数据计算任务A执行结束后才能执行数据计算任务C,导致数据计算任务C不能按时完成。本发明实施例中,通过使数据校验任务与数据计算任务异步进行,能够及时发现数据错误,保证数据质量,提高各项任务的执行效率。
在实际应用过程中,可以将某些数据校验任务设置为数据计算任务的父任务,只有当数据校验通过后,才执行计算任务。例如,可以将对数据计算任务的源数据进行的数据校验任务作为该数据计算任务的父任务,当源数据校验通过后再进行该数据计算任务,以监控数据计算任务的输入数据,保证输出数据的质量;
也可以将某些数据计算任务设置为数据校验任务的父任务,当数据计算任务完成后,再执行数据校验任务。例如,可以将数据计算任务作为基于该数据计算任务的输出数据进行的数据校验任务的父任务,当数据计算任务完成后,对该数据计算任务的输出结果执行数据校验任务,以监控数据计算任务的输出数据,保证输入数据的质量。
图2是根据本发明可选实施例的数据校验任务的主要流程示意图,如图2所示,数据校验任务的主要流程包括:
获取待校验数据;
从数据校验规则集中获取待校验数据的校验规则;
判断是否成功获取待校验数据的校验规则:
若成功获取待校验数据的校验规则,对待校验数据进行数据校验任务,保存数据校验结果;
若未成功获取待校验数据的校验规则,则进行报警,以便于及时发现数据错误。
需要指出的是,校验规则可以根据具体数据来确定,比如数据格式是否正确、数据有没有乱码等。对于数字型的数据,校验规则可以有数字平均值、最大值、最小值、方差等的范围;对于字符串类型的数据,校验规则可以有总记录数、空行数的范围等。每种数据如何配置校验规则,由具体的业务和数据类型决定,本发明对如何配置校验规则以及校验规则的具体内容不做限制。
在一些实施例中,可以根据待校验数据的唯一标识获取该数据对应的校验规则。比如:数据Data_1的唯一标识为:data_id_1,校验规则以该数据的唯一标识作为Id(Identity,身份标识号码),在执行数据校验任务时,只需要获取id=data_id_1的校验规则。唯一标识可以是一个唯一区别一个数据或一类数据的字符串,当唯一标识是一个唯一区别一个数据的字符串时,任意两个数据的唯一标识互不相同;当唯一标识是一个唯一区别一类数据的字符串时,任意两类数据的唯一标识互不相同。
图3是根据本发明可选实施例的监控数据质量的方法的主要流程示意图监控数据质量的方法包括:
读取数据计算任务B的源数据,即数据A;
从数据校验规则集中请求数据A的校验规则,基于该校验规则对数据A进行校验;
若数据A校验失败,则进行报警;若数据A校验通过,则执行数据计算任务B;
读取数据计算任务B的输出数据,即数据B;
从数据校验规则集中请求数据B的校验规则,基于该校验规则对数据B进行校验;
若数据B校验失败,则进行报警;若数据B校验通过,则结束。校验通过的数据B可以作为下游任务的源数据。
当多个数据计算任务存在相同的源数据时,可以不针对每个数据计算任务分别校验该相同的源数据。若该源数据已校验且校验通过,可以直接基于该源数据执行数据计算任务;若该源数据未校验,可以在首次执行基于该源数据的数据计算任务之前对该源数据进行校验,之后再次执行任何基于该源数据的数据计算任务时,无需再次校验,保证每个源数据校验一次即可。例如:数据计算任务Task_A和数据计算任务Task_B的源数据都包含数据Data_1、且仅有Task_A和Task_B的源数据包含数据Data_1;在执行Task_A和Task_B之前,若数据Data_1已校验且校验通过,可以直接执行Task_A和Task_B(除数据Data_1之外,若Task_A和Task_B还包含其他源数据,则在执行Task_A和Task_B之前还需要校验其他源数据);若数据Data_1未校验,可以在首次执行以该数据作为源数据的任务(即Task_A或Task_B)之前对数据Data_1进行数据校验时,之后再次执行Task_A或Task_B时,无需再次校验数据Data_1。
当多个数据计算任务存在数据依赖关系需要串行执行时,可以不在所有串行任务前后都执行数据校验任务,保证每个数据校验一次即可。例如:某个数据计算任务Task_A的源数据为数据Data_1,在执行Task_A前,先校验数据Data_1,数据校验通过则执行Task_A;当Task_A执行完成后输出数据Data_2,对Data_2进行数据校验。若数据计算任务Task_B需要使用Data_2,由于在Task_A执行结束时已经校验了Data_2,所以在执行Task_B时不需要再校验数据Data_2。
应当理解的是,数据校验任务与数据计算任务可以顺次执行,即执行结束一个其中一个任务后立即执行其中另一个任务,例如,源数据校验通过后立即执行基于该源数据的数据计算任务、或者数据计算任务结束后立即对该数据计算任务的输出数据执行数据校验任务。数据校验任务与数据计算任务也可以根据需求间隔一定的时间,例如,某数据校验通过后不立即执行以该数据作为源数据的数据计算任务,而是在服务器空闲时段再执行基于该数据的数据计算任务;再例如,数据计算任务结束后,不立即对该数据计算任务的输出数据执行数据校验任务,而是在服务器空闲时段执行对该输出数据的数据校验任务。只要基于同一数据的数据校验任务与数据计算任务异步执行即可,本发明对数据计算任务与数据校验任务的执行时间以及先后顺序不做具体限定。
从预设的数据校验规则集中获取待校验数据的校验规则;基于校验规则对待校验数据执行数据校验任务。通过预设数据校验规则集,能够简化数据校验的工作量和复杂重复,提高数据校验效率。
预设的数据校验规则集可以与数据计算任务或者数据校验任务设置在同一个服务器,也可以设置在不同的服务器。可选地,可以将数据校验任务和数据计算任务在一个服务器(例如Hive服务器,Hive是一种存储、查询大型数据的数据库)中,为了便于表述,将其记为任务服务器;将预设的数据校验规则集设置在另一个服务器(例如数据校验规则管理服务器)中,为了便于表述,将其记为规则服务器。数据计算任务和数据校验任务可以在任何存储离线数据的系统中执行,校验规可以存储在数据可以实时变化(数据实时修改、实时获取)的系统中。
实际使用过程中,任务服务器一般不止一台,而是由几十到几万台服务器组成的服务器集群。当任务服务器多于一台时,多台任务服务器可以共用一个规则服务器,以节约服务器资源。当然,当业务特别庞大时,也可以使用由多台服务器组成的服务器集群作为规则服务器。
进一步地,可以通过用户自定义函数(User Defined Function,UDF)从数据校验规则集中获取待校验数据的校验规则。UDF是指由用户自行开发的函数,本领域技术人员可以根据应用场景和实际需求设计UDF的具体形式,本发明对此不做具体限定。
可选地,数据计算任务和数据校验任务运行在Hive服务器中,从WEB服务器中获取待校验数据的校验规则。Hive服务器中的数据和任务都是离线、分布式的,没有提供直接访问Web服务器上的应用程序接口(API,Application Programing Interface),为了达到数据校验任务可以访问Web服务器的目的,可以采用UDF方式实现,在UDF中完成与Web服务器通信:发起请求和获取校验规则。在UDF中可以使用多种通信方式,比如HTTP或其他支持RPC(RPC,Remote Procedure Call Protocol,远程过程调用协议)的通信方式。
从预设的数据校验规则集中获取待校验数据的校验规则之后,还可以包括:将待校验数据的校验规则缓存至全局变量中,以便于从全局变量中获取校验规则。
从数据校验规则集中获取待校验数据的校验规则之前,还可以包括:确认全局变量中不存在待校验数据的校验规则;若全局变量中存在所述待校验数据的校验规则,则从全局变量中调用所述待检验数据的校验规则。通过设置全局变量、并从全局变量中获取校验规则,能够避免重复向数据校验规则集请求校验规则,降低数据校验规则集所在数据库或服务器的运行压力,防止由于请求量过大导致数据校验规则集所在数据库或服务器崩溃。
以前述的实施例为例,数据计算任务和数据校验任务运行在Hive服务器中,从WEB服务器中获取待校验数据的校验规则。Hive服务器任务可能一次查询上亿条数据,在短时间内发送上亿次请求到WEB服务器上,可能会直接导致WEB服务器崩溃。通过使同一个校验任务只发起1次请求,可以避免这种情况的发生。但是由于Hive任务是分布式的,不能做到只请求1次,因此可以将当前的校验规则保存到全局变量中,每个分布式节点只在第1次发起请求,之后不再发起请求,直接使用全局变量中保存的数据。
在可选的实施例中,还可以对数据校验规则集中的校验规则进行编辑,此处的编辑可以包括如下至少一种操作:增加、删除、修改。通过对数据校验规则集进行编辑,能够支持定制个性化的数据校验策略。
对待校验数据执行数据校验任务之后,还可以包括:判断待校验数据是否校验通过;若待校验数据校验失败,则进行报警。通过报警能够及时发现数据错误,防止数据错误对下游业务的影响。本领域技术人员可以通过短信或者邮件的方式进行报警,也可以通过发出特定的声音或者灯光等方式进行报警,本发明报警方式不做具体限定。
本发明还提供了实现本发明监控数据质量的方法装置,如图4所示监控数据质量的装置400,包括:
数据校验模块401,用于以数据计算任务的源数据和/或输出数据作为待校验数据,对待校验数据执行数据校验任务;
数据计算模块402,用于执行数据计算任务;
其中,数据校验任务与基于数据计算任务异步进行。
数据校验模块401还可以用于:从预设的数据校验规则集中获取待校验数据的校验规则;基于校验规则对待校验数据执行数据校验任务。
数据校验模块401可以通过用户自定义函数UDF,从数据校验规则集中获取待校验数据的校验规则。
数据校验模块401还可以用于:将待校验数据的校验规则缓存至全局变量中。
数据校验模块401还可以用于:
从数据校验规则集中获取待校验数据的校验规则之前,确认全局变量中不存在待校验数据的校验规则;
若全局变量中存在待校验数据的校验规则,则从全局变量中调用待检验数据的校验规则。
需要说明的是,本实施例中监控数据质量的装置可以不包含数据校验规则集,只要数据校验模块401能够获取待校验数据的校验规则即可。例如,数据校验规则集是由第三方提供的配套服务或者模块,本发明实施例的监控数据质量的装置只要能够从该第三方提供的配套服务或者模块中获取校验规则即可。在一些实施例中,可以将数据校验模块401和数据计算模块402设置在Hive服务器中,从WEB服务器中获取待校验数据的校验规则。Hive服务器中的数据和任务都是离线、分布式的,没有提供直接访问Web服务器上的应用程序接口(API,Application Programing Interface),为了达到数据校验任务可以访问Web服务器的目的,可以采用UDF方式实现,在UDF中完成与Web服务器通信:发起请求和获取校验规则。在UDF中可以使用多种通信方式,比如HTTP或其他支持RPC(RPC,Remote ProcedureCall Protocol,远程过程调用协议)的通信方式。
本发明实施例的装置可以包括:规则编辑模块403,用于对数据校验规则集进行编辑,此处的编辑可以包括如下至少一种操作:增加、删除、修改。通过对数据校验规则集进行编辑,能够支持定制个性化的数据校验策略。本发明对如何编辑数据校验规则集没有特殊限制,只要符合具体数据和业务要求即可。例如,可以通过图形化的网页页面、客户端、命令行界面、远程接口调用等编辑数据校验规则集。图形化界面将数据校验规则可视化,方便修改。本发明实施例中,由于数据校验任务与数据计算任务异步进行,因此可以在不修改数据计算模块上的任务源代码的基础上修改校验规则,便于灵活配置校验规则,由于没有直接接触和修改数据计算模块中数据计算任务的源代码,也大大降低了代码出错的风险。
本实施例中监控数据质量的装置可以包含数据校验规则集,例如本发明实施例的装置包括:规则配置模块404,用于配置预设的数据校验规则集。规则配置模块404可以设置在数据校验模块401所在的服务器,也可以设置在其他服务器上。例如,数据校验模块401和数据计算模块402设置在Hive服务器中,规则配置模块404设置在WEB服务器中。规则配置模块404还可以按照预设规则对数据校验规则集进行编辑,例如增加、删除、修改数据校验规则集中的校验规则。通过对数据校验规则集进行编辑,能够支持定制个性化的数据校验策略。
图5是根据本发明可选实施例的监控数据质量的装置的结构示意图。如图5所示,监控数据质量的装置400包括:数据校验模块401,用于以数据计算任务的源数据和/或输出数据作为待校验数据,对待校验数据执行数据校验任务;数据计算模块402,用于执行数据计算任务;规则配置模块404,用于配置预设的数据校验规则集、并按照预设规则对数据校验规则集进行编辑;其中,数据校验任务与基于数据计算任务异步进行。在图5示出的可选实施例中,数据校验模块401和数据计算模块402设置在在第一服务器501中,即数据计算任务和数据校验任务运行在第一服务器501中,规则配置模块404设置在第二服务器502中。在进行数据校验时,第一服务器501向第二服务器502请求待校验数据的校验规则,第二服务器502将待校验数据的校验规则发送给第一服务器501,第一服务器501基于该校验规则对待校验数据进行数据校验。
可选地,数据校验模块401还用于:对待校验数据执行数据校验任务之后,判断待校验数据是否校验通过;
装置还包括:报警模块405;若待校验数据校验失败,则报警模块进行报警。
图6示出了可以应用本发明实施例的监控数据质量的方法或监控数据质量的装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的监控数据质量的方法一般由服务器605执行,相应地,监控数据质量的装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
根据本发明实施例的另一个方面,提供了一种监控数据质量的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的监控数据质量的方法。
根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现本发明实施例的监控数据质量的方法。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:以数据计算任务的源数据和/或输出数据作为待校验数据;对待校验数据执行数据校验任务;其中,数据校验任务与所述数据计算任务异步进行。
根据本发明实施例的技术方案,具有如下有益效果:
1)通过以数据计算任务的源数据和/或输出数据作为待校验数据、并使数据校验任务与数据计算任务异步进行,能保证数据质量,降低数据计算任务出错的可能性;
2)通过预设数据校验规则集,能够简化数据校验的工作量和复杂重复;
3)通过UDF能够从预设的数据校验规则集中获取待校验数据的校验规则;
4)通过将待校验数据的校验规则缓存至全局变量,能够避免重复获取校验规则;
5)通过对数据校验规则集进行编辑,能够支持定制个性化的数据校验策略;
6)通过报警能够及时发现数据错误,防止数据错误对下游业务的影响。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (13)

1.一种监控数据质量的方法,其特征在于,包括:
以数据计算任务的源数据和/或输出数据作为待校验数据;
从预设的数据校验规则集中获取所述待校验数据的校验规则;
基于所述校验规则对所述待校验数据执行数据校验任务;其中,
所述数据校验任务与所述数据计算任务异步进行。
2.如权利要求1所述的方法,其特征在于,从预设的数据校验规则集中获取所述待校验数据的校验规则之后还包括:将所述待校验数据的校验规则缓存至全局变量中。
3.如权利要求2所述的方法,其特征在于,从数据校验规则集中获取待校验数据的校验规则之前还包括:确认所述全局变量中不存在所述待校验数据的校验规则;
若所述全局变量中存在所述待校验数据的校验规则,则从所述全局变量中调用所述待检验数据的校验规则。
4.如权利要求1所述的方法,其特征在于,还包括:对所述数据校验规则集中的校验规则进行如下至少一种操作:增加、删除、修改。
5.如权利要求1所述的方法,其特征在于,对所述待校验数据执行数据校验任务之后还包括:
判断所述待校验数据是否校验通过;
若所述待校验数据校验失败,则进行报警。
6.一种监控数据质量的装置,其特征在于,包括:
数据校验模块,用于以数据计算任务的源数据和/或输出数据作为待校验数据,从预设的数据校验规则集中获取待校验数据的校验规则,基于所述校验规则对所述待校验数据执行数据校验任务;
数据计算模块,用于执行所述数据计算任务;
其中,所述数据校验任务与基于所述数据计算任务异步进行。
7.如权利要求6所述的装置,其特征在于,所述数据校验模块还用于:将所述待校验数据的校验规则缓存至全局变量中。
8.如权利要求7所述的装置,其特征在于,所述数据校验模块还用于:
从数据校验规则集中获取待校验数据的校验规则之前,确认所述全局变量中不存在所述待校验数据的校验规则;
若所述全局变量中存在所述待校验数据的校验规则,则从所述全局变量中调用所述待检验数据的校验规则。
9.如权利要求6所述的装置,其特征在于,还包括:规则编辑模块,用于对所述数据校验规则集中的校验规则进行编辑进行如下至少一种操作:增加、删除、修改。
10.如权利要求6所述的装置,其特征在于,还包括:规则配置模块,用于配置所述预设的数据校验规则集。
11.如权利要求6所述的装置,其特征在于,所述数据校验模块还用于:对所述待校验数据执行数据校验任务之后,判断所述待校验数据是否校验通过;
所述装置还包括:报警模块;若所述待校验数据校验失败,则所述报警模块进行报警。
12.一种监控数据质量的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN201711114545.5A 2017-11-13 2017-11-13 一种监控数据质量的方法和装置 Pending CN110019158A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711114545.5A CN110019158A (zh) 2017-11-13 2017-11-13 一种监控数据质量的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711114545.5A CN110019158A (zh) 2017-11-13 2017-11-13 一种监控数据质量的方法和装置

Publications (1)

Publication Number Publication Date
CN110019158A true CN110019158A (zh) 2019-07-16

Family

ID=67186781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711114545.5A Pending CN110019158A (zh) 2017-11-13 2017-11-13 一种监控数据质量的方法和装置

Country Status (1)

Country Link
CN (1) CN110019158A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427571A (zh) * 2020-03-16 2020-07-17 北京明略软件系统有限公司 一种数据校验方法和装置
CN111475275A (zh) * 2020-05-19 2020-07-31 北京爱笔科技有限公司 一种调度方法及调度服务器
CN112231312A (zh) * 2020-10-29 2021-01-15 山东超越数控电子股份有限公司 一种基于流程的数据质量校验方法
CN112713964A (zh) * 2020-12-22 2021-04-27 潍柴动力股份有限公司 数据校验加速方法、装置、计算机设备及存储介质
CN113050949A (zh) * 2021-03-23 2021-06-29 上海万向区块链股份公司 基于java的防止父子依赖job执行后数据错乱的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090248641A1 (en) * 2008-03-25 2009-10-01 Ning Duan Method and apparatus for detecting anomalistic data record
CN102394732A (zh) * 2011-09-06 2012-03-28 中国人民解放军国防科学技术大学 一种多微包并行处理结构
CN102932332A (zh) * 2012-09-28 2013-02-13 用友软件股份有限公司 数据校验系统和数据校验方法
CN104766151A (zh) * 2014-12-29 2015-07-08 国家电网公司 一种用于电力交易数据仓库的质量管控方法及其管控系统
CN106484590A (zh) * 2015-09-02 2017-03-08 阿里巴巴集团控股有限公司 数据校验方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090248641A1 (en) * 2008-03-25 2009-10-01 Ning Duan Method and apparatus for detecting anomalistic data record
CN102394732A (zh) * 2011-09-06 2012-03-28 中国人民解放军国防科学技术大学 一种多微包并行处理结构
CN102932332A (zh) * 2012-09-28 2013-02-13 用友软件股份有限公司 数据校验系统和数据校验方法
CN104766151A (zh) * 2014-12-29 2015-07-08 国家电网公司 一种用于电力交易数据仓库的质量管控方法及其管控系统
CN106484590A (zh) * 2015-09-02 2017-03-08 阿里巴巴集团控股有限公司 数据校验方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张志亮 等: ""基于Hadoop的电网数据质量校验方法与验证系统"", 《计算机研究与发展》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427571A (zh) * 2020-03-16 2020-07-17 北京明略软件系统有限公司 一种数据校验方法和装置
CN111475275A (zh) * 2020-05-19 2020-07-31 北京爱笔科技有限公司 一种调度方法及调度服务器
CN112231312A (zh) * 2020-10-29 2021-01-15 山东超越数控电子股份有限公司 一种基于流程的数据质量校验方法
CN112713964A (zh) * 2020-12-22 2021-04-27 潍柴动力股份有限公司 数据校验加速方法、装置、计算机设备及存储介质
CN112713964B (zh) * 2020-12-22 2022-08-05 潍柴动力股份有限公司 数据校验加速方法、装置、计算机设备及存储介质
CN113050949A (zh) * 2021-03-23 2021-06-29 上海万向区块链股份公司 基于java的防止父子依赖job执行后数据错乱的方法及系统

Similar Documents

Publication Publication Date Title
US10970069B2 (en) Meta-indexing, search, compliance, and test framework for software development
CN110019158A (zh) 一种监控数据质量的方法和装置
KR102317535B1 (ko) 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템
CN111831269A (zh) 一种应用开发系统、运行方法、设备及存储介质
CN110310034A (zh) 一种应用于SaaS的服务编排、业务流程处理方法和装置
US11531539B2 (en) Automated compliance and testing framework for software development
CN110096424A (zh) 测试的处理方法、装置、电子设备及存储介质
CN111190892B (zh) 一种数据回填中处理异常数据的方法和装置
CN109981322A (zh) 基于标签的云资源管理的方法和装置
CN109241033A (zh) 创建实时数据仓库的方法和装置
CN109783197A (zh) 用于程序运行时环境的调度方法和装置
CN109245908A (zh) 一种主从集群切换的方法和装置
CN110011875A (zh) 拨测方法、装置、设备及计算机可读存储介质
CN113361838A (zh) 业务风控方法、装置、电子设备和存储介质
CN110019346A (zh) 一种基于双主数据库的数据处理方法和装置
CN111444077A (zh) 一种生成流程节点测试数据的方法和装置
CN113760722A (zh) 测试系统和测试方法
CN109960212A (zh) 任务发送方法和装置
CN109992496A (zh) 一种用于自动化测试的数据处理方法和装置
CN109144843A (zh) 测试环境部署的方法和装置
CN111159207B (zh) 一种信息处理方法和装置
CN113076186A (zh) 任务处理的方法、装置、电子设备和存储介质
CN110083457A (zh) 一种数据获取方法、装置以及数据分析方法、装置
CN109213743A (zh) 一种数据查询方法和装置
CN111429127A (zh) 一种应用于缴费的业务管理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190716