一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据核查方法、装置、设备及可读存储介质与流程

2022-06-05 19:03:40 来源:中国专利 TAG:


1.本技术涉及数据核查技术,尤其涉及一种数据核查方法、装置、设备及计算机可读存储介质。


背景技术:

2.相关技术中,提升数据质量的方法主要包括:基于数据仓库技术(extract-transform-load,etl)的流程,其主要在etl流程中的节点对数据进行核查。但是,由于该方法只考虑到etl流程中的数据质量,可能会导致核查结果不准确。


技术实现要素:

3.本技术实施例期望提供一种数据核查方法、装置、数据核查设备和计算机存储介质。
4.第一方面,本技术实施例提供了一种数据核查方法,所述方法包括:在数据流转的核查过程中,从第一数据处理端获取第一待核查数据和对应的第一核查规则;按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果;在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,按照所述数据核查方向获取第二数据处理端的第二待核查数据和对应的第二核查规则;所述数据核查方向与数据流转的方向相反;所述第二数据处理端为所述第一数据处理端的下一数据处理端;按照所述第二核查规则对所述第二待核查数据进行核查,得到第二核查结果。
5.第二方面,本技术实施例提供了一种数据核查装置,所述装置包括:第一获取模块,用于在数据流转的核查过程中,从第一数据处理端获取第一待核查数据和对应的第一核查规则;第一核查模块,用于按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果;第二获取模块,用于在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,按照所述数据核查方向获取第二数据处理端的第二待核查数据和对应的第二核查规则;所述数据核查方向与数据流转的方向相反;所述第二数据处理端为所述第一数据处理端的下一数据处理端;第二核查模块,用于按照所述第二核查规则对所述第二待核查数据进行核查,得到第二核查结果。
6.第三方面,本技术公开实施例还提供了一种数据核查设备,包括:存储器和处理器,所述存储器,用于存储可执行指令;所述处理器,用于执行所述存储器中存储的可执行指令时,实现上述任一项所述的数据核查方法。
7.第四方面,本技术实施例还提供了一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现上述任一项所述的数据核查方法。
8.在本技术实施例中,数据核查是按照数据流转的反方向进行的,只有在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,才进行第二数据处理端的待核查数据的核查,因此,可以准确且全面地确定出
待核查数据中的质量问题;同时,由于所述数据的流转方向上的数据处理端依次可以包括源数据端、数据库端、数据接口端和前端页面端,所述数据核查方向上的数据处理端依次包括前端页面端、数据接口端、数据库端和源数据端,因此,可以实现从前端页面端到数据源端的端到端的数据质量提升,相对于现有技术所核查的数据更加全面,避免了由于某些数据遗漏核查而导致核查结果不准确。
附图说明
9.图1为本技术实施例的数据流转方向示意图;
10.图2为本技术实施例的一种数据核查方法的流程示意图;
11.图3为本技术实施例的又一种数据核查方法的流程示意图;
12.图4为本技术实施例的另一种数据核查方法的流程示意图;
13.图5为本技术实施例的再一种数据核查方法的流程示意图;
14.图6为本技术实施例的还一种数据核查方法的流程示意图;
15.图7为本技术实施例的其它一种数据核查方法的流程示意图;
16.图8为本技术实施例的一种对于应用a在t时刻的数据核查方法的流程示意图;
17.图9为本技术实施例的数据核查装置的组成结构示意图;
18.图10为本技术实施例的一种数据核查设备的结构示意图。
具体实施方式
19.以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本技术,并不用于限定本技术。另外,以下所提供的实施例是用于实施本技术的部分实施例,而非提供实施本技术的全部实施例,在不冲突的情况下,本技术实施例记载的技术方案可以任意组合的方式实施。
20.由于互联网时代和大数据时代的到来,人们通过网络进行通信交流,产生了海量的无线、经分、故障等数据,运营商通过对这些数据进行采集、处理、分析,形成关键业务指标(key performance indicators,kqi),并通过前端页面对kpi进行展示,从而,可以对网络和端到端业务的关键指标进行监控,及时发现并呈现质差问题。
21.因数据采集方式多样、数据来源不一致,同时也因存在不同时间粒度的数据,存在实时与非实时的数据,数据库内采用不同的方法对入库数据进行处理。因此,前端页面出现缺数、指标范围不符合业务逻辑、展示数据延迟、不同页面相同含义数据不一致等数据质量问题。同时,这些问题也无法得到快速定位与及时解决。因此,为了提高前端页面的数据的及时性、完整性、合法性、准确性和一致性,并对前端页面产生的数据质量问题进行快速定位并及时解决,对前端页面的端到端数据质量进行提升势在必行。
22.图1为本技术实施例的数据流转方向示意图,如图1所示,按照数据流转方向进行数据流转的过程中依次所经历的数据处理端包括:源数据端101、数据库端102、数据接口端103和前端页面端104,其中,源数据端101获取通信数据,并将获取的通信数据发送给数据库端102,数据库端102将所述通信数据进行数据处理,并将处理后的数据发送给数据接口端103,数据接口端103接收数据库端发送的数据,并将接收的数据发送给前端页面端104,前端页面端104对接收的数据进行展示。
23.相关技术中,提升数据质量的方法,主要有以下两种:方法1:基于etl的流程,在每个核查节点进行相应的规则核查并生成核查结果,核查结果满足阈值范围则生成告警详单,告警详单在数据库中进行汇总和呈现。方法2:对相关数据先进行数据清洗,对数据清洗中发现的问题派发到相关数据提交人处进行问题解决,实现数据质量的可持续化管理。
24.可以看出,方法1是主要针对etl流程进行数据质量提升,etl仅是数据库对数据进行处理的其中一个工具,只考虑到etl流程的数据质量,针对数据库对数据进行处理的其它工具,会包括其它处理过程,例如,汇总过程,因此,没有考虑到数据库对数据进行其他处理过程的数据质量。方法2,仅对数据库无法通过数据清洗的数据进行核查,没有考虑到数据转换、数据汇总等情况,更没有对数据接口和前端页面的数据进行核查。
25.针对上述技术问题,在本技术的一些实施例中,提出了一种数据核查方法。
26.图2为本技术实施例的一种数据核查方法的流程图,如图2所示,该流程可以包括:
27.步骤s201:在数据流转的核查过程中,从第一数据处理端获取第一待核查数据和对应的第一核查规则。
28.在一种可能的实施方式中,第一数据端可以是以下其中之一:前端页面端、数据接口端、数据库端和源数据端;第一待核查数据可以是第一数据端上的所有数据中,根据用户需求所确定的需要核查的数据,例如,用户需要核查应用a中的数据c和数据d的数据质量,则第一待核查数据是前端页面端的数据中,与应用a相关的数据中所确定的数据c和数据d;第一核查规则可以是针对第一核查数据的核查规则,核查规则包含但不限于数据的及时性、完整性、合法性、准确性和一致性的要求。这里,及时性可以是指在预期时段内数据对特定应用的及时程度和可用程度的测量标准;完整性可以是指数据是否不完整存在数据缺漏的标准,例如,关于人的属性中是否缺少性别、籍贯、年龄等;合法性可以是指获取的数据是否有效的标准,例如,获取的数据是否与常识不符,如年龄大于150岁;准确性可以是指对数据内容正确性进行测量的标准;一致性是前端页面端、数据接口端、数据库端、源数据端中所存储或使用的数据等价程度的测量,以及使数据等价处理流程的测量标准。
29.在一种可能的实施方式中,第一核查规则可以是及时性、完整性、合法性、准确性的要求。例如,针对应用a,第一核查规则可以包括人名是否能在5秒内进行展示、人的属性中是否缺少性别、籍贯、年龄等、人的年龄是否小于130岁、人的年龄是否为整数、前端页面端、数据接口端、数据库端、源数据端中所存储或使用的人名是否完全一致。
30.在一个示例中,从第一数据处理端获取第一待核查数据和对应的第一核查规则,可以是先确定第一数据处理端对应的数据获取方式,然后通过所确定的数据获取方式获取第一数据端上的所有数据,再对所获取的第一数据端上的所有数据进行过滤处理,得到满足用户需求或用户关心的数据,将满足用户需求或用户关心的数据确定为第一核查数据,以及根据用户需求确定第一待核查数据对应的核查标准,获取所确定的第一待核查数据对应的核查标准。这里,用户需求可以是在待核查的应用中的用户需要核查的某些待数据,并不是待核查应用中的所有数据。
31.步骤s202:按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果。
32.在一种实施方式中,第一核查结果可以是第一待核查数据中的所有数据不符合第一核查规则,也可以是第一核查数据中的部分数据不符合第一核查规则,但只要第一核查
processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、fpga、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。
42.在本技术实施例中,可以看出,数据核查是按照数据流转的反方向进行的,只有在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,才进行第二数据处理端的待核查数据的核查,因此,可以准确且全面地确定出待核查数据中的质量问题。
43.图3为本技术实施例的又一种数据核查方法的流程示意图,如图3所示,该流程可以包括:
44.步骤s301:在数据流转的核查过程中,从第一数据处理端上获取对应的第一核查规则;所述数据的流转方向上的数据处理端依次包括源数据端、数据库端、数据接口端和前端页面端,所述数据核查方向上的数据处理端依次包括前端页面端、数据接口端、数据库端和源数据端。
45.步骤s302:根据待核查应用的标识,从所述第一数据处理端上获取需要核查的数据作为所述第一待核查数据。
46.这里,待核查应用的标识,可以是待核查应用的名称。根据待核查应用的标识,从所述第一数据处理端上获取需要核查的数据作为所述第一待核查数据的实现方式,示例性地,可以是根据待核查应用的名称,从第一数据处理端上获取待核查应用的名称对应的数据,根据用户需求对获取的名称对应的数据进行过滤处理,过滤出需要进行核查的数据,作为第一待核查数据。这里的用户需求可以是对待核查应用对应的数据中的具体哪些数据进行核查,第一待核查数据可以是待核查应用对应的数据中的部分数据。
47.步骤s303:按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果。
48.步骤s304:在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,按照所述数据核查方向获取第二数据处理端的第二待核查数据和对应的第二核查规则;所述数据核查方向与数据流转的方向相反;所述第二数据处理端为所述第一数据处理端的下一数据处理端。
49.步骤s305:按照所述第二核查规则对所述第二待核查数据进行核查,得到第二核查结果。
50.本技术实施例中,根据待核查应用的标识,从所述第一数据处理端上获取需要核查的数据作为所述第一待核查数据,并对第一待核查数据进行核查,可以实现对第一数据处理端上待核查应用对应的待核查数据进行核查。
51.图4为本技术实施例的另一种数据核查方法的流程示意图,如图4所示,该流程可以包括:
52.步骤s401:在数据流转的核查过程中,从第一数据处理端上获取对应的第一核查规则;所述数据的流转方向上的数据处理端依次包括源数据端、数据库端、数据接口端和前端页面端,所述数据核查方向上的数据处理端依次包括前端页面端、数据接口端、数据库端和源数据端。
53.步骤s402:在所述第一数据处理端为前端页面端的情况下,通过网页爬虫,从所述第一数据处理端获取所述待核查应用对应的元素属性和所述元素属性的赋值。
54.这里,通过网页爬虫,从所述第一数据处理端获取所述待核查应用对应的元素属性和所述元素属性的赋值的实现方式,可以是利用应用程序测试包如selenium包模拟浏览器使用用户名、密码登录账号进行登陆,打开第一数据处理端上的核查大屏/报表页面,在多个id、keys、class、name等元素属性中查找到待核查应用对应的元素属性和属性元素的具体赋值。
55.步骤s403:根据所述待核查应用对应的元素属性和所述元素属性的赋值,从所述第一数据处理端获取所述第一待核查数据。
56.这里,根据所述待核查应用对应的元素属性和所述元素属性的赋值,从所述第一数据处理端获取所述第一待核查数据的实现方式,可以是根据属性元素的具体赋值,获取到javascript渲染后页面的相关数据;根据用户需求从获取的javascript渲染后页面的相关数据中提出出第一待核查数据。
57.步骤s404:按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果。
58.步骤s405:在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,按照所述数据核查方向获取第二数据处理端的第二待核查数据和对应的第二核查规则;所述数据核查方向与数据流转的方向相反;所述第二数据处理端为所述第一数据处理端的下一数据处理端。
59.步骤s406:按照所述第二核查规则对所述第二待核查数据进行核查,得到第二核查结果。
60.本技术实施例中,在所述第一数据处理端为前端页面端的情况下,通过网页爬虫可以从第一数据处理端获取待核查应用对应的元素属性和所述元素属性的赋值,从而从第一数据处理端获取第一待核查数据,并对第一待核查数据进行核查,可以实现对第一数据处理端上待核查应用对应的待核查数据进行核查。
61.图5为本技术实施例的再一种数据核查方法的流程示意图,如图5所示,该流程可以包括:
62.步骤s501:在数据流转的核查过程中,从第一数据处理端上获取对应的第一核查规则;所述数据的流转方向上的数据处理端依次包括源数据端、数据库端、数据接口端和前端页面端,所述数据核查方向上的数据处理端依次包括前端页面端、数据接口端、数据库端和源数据端。
63.步骤s502:在所述第一数据处理端为数据接口端的情况下,确定所述待核查应用对应的多个数据接口。
64.这里,待核查应用可以是应用a,应用a可以对应多个数据接口,例如,数据接口1、数据接口2、数据接口3和数据接口4。
65.步骤s503:通过网页爬虫,从所述第一数据处理端获取每一数据接口的位置信息和验证信息。
66.这里,待核查应用可以是应用a,数据接口的位置信息可以是数据接口中的同一资源定位器(uniform resource locator,url)信息,数据接口的验证信息可以包括数据接口的登陆(cookies)、第三方授权(authorization)等信息。
67.在一种可能的实施方式中,通过网页爬虫,从所述第一数据处理端获取每一数据
接口的位置信息和验证信息,可以是获取待核查应用对应的多个数据接口的每一数据接口的多个url、cookies和authorization等信息。这里,requests包用于编写爬虫和测试服务器响应数据。
68.步骤s504:根据每一所述数据接口的位置信息和验证信息,从所述第一数据处理端获取第一待核查数据。
69.这里,步骤s504的实现方式可以是通过使用requests包的get和post方法,获取待核查应用对应的每个数据接口位置上的数据集合;根据用户需求从每个所述数据接口上的数据集合中抽取出第一待核查数据。
70.步骤s505:按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果。
71.步骤s506:在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,按照所述数据核查方向获取第二数据处理端的第二待核查数据和对应的第二核查规则;所述数据核查方向与数据流转的方向相反;所述第二数据处理端为所述第一数据处理端的下一数据处理端。
72.步骤s507:按照所述第二核查规则对所述第二待核查数据进行核查,得到第二核查结果。
73.本技术实施例中,在所述第一数据处理端为数据接口端的情况下,确定所述待核查应用对应的多个数据接口,通过网页爬虫,从所述第一数据处理端获取每一数据接口的位置信息和验证信息,根据每一所述数据接口的位置信息和验证信息,从所述第一数据处理端获取第一待核查数据,从而从第一数据处理端获取第一待核查数据,并对第一待核查数据进行核查,可以实现对第一数据处理端上待核查应用对应的待核查数据进行核查。
74.图6为本技术实施例的还一种数据核查方法的流程示意图,如图6所示,该流程可以包括:
75.步骤s601:在数据流转的核查过程中,从第一数据处理端上获取对应的第一核查规则;所述数据的流转方向上的数据处理端依次包括源数据端、数据库端、数据接口端和前端页面端,所述数据核查方向上的数据处理端依次包括前端页面端、数据接口端、数据库端和源数据端。
76.步骤s602:在所述第一数据处理端为数据库端的情况下,通过结构化查询语言查询,从所述第一数据处理端上的每个数据处理节点上,获取第一待核查数据。
77.这里,第一数据处理端上的数据处理节点包括:数据清洗节点、数据计算节点、数据汇总节点等节点。
78.在一种可能的实施方式中,步骤s602可以包括:在第一数据处理端为数据库端的情况下,通过结构化查询语言(structured query language,sql)依次查询数据库端上的数据清洗节点、数据计算节点、数据汇总节点等节点,获取各节点上待核查应用对应的数据集合,并根据需求从各节点上待核查应用对应的数据集合确定出第一待核查数据。
79.步骤s603:按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果。
80.步骤s604:在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,按照所述数据核查方向获取第二数据处理端
的第二待核查数据和对应的第二核查规则;所述数据核查方向与数据流转的方向相反;所述第二数据处理端为所述第一数据处理端的下一数据处理端。
81.步骤s605:按照所述第二核查规则对所述第二待核查数据进行核查,得到第二核查结果。
82.本技术实施例中,在所述第一数据处理端为数据库端的情况下,通过结构化查询语言查询,从所述第一数据处理端上的每个数据处理节点上,获取第一待核查数据,从而从第一数据处理端获取第一待核查数据,并对第一待核查数据进行核查,可以实现对第一数据处理端上待核查应用对应的待核查数据进行核查。
83.图7为本技术实施例的其它一种数据核查方法的流程示意图,如图7所示,该流程可以包括:
84.步骤s701:在数据流转的核查过程中,从第一数据处理端获取第一待核查数据和对应的第一核查规则。
85.步骤s702:按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果。
86.步骤s703:在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,按照所述数据核查方向获取第二数据处理端的第二待核查数据和对应的第二核查规则;所述数据核查方向与数据流转的方向相反;所述第二数据处理端为所述第一数据处理端的下一数据处理端。
87.步骤s704:按照所述第二核查规则对所述第二待核查数据进行核查,得到第二核查结果。
88.步骤s705:在所述第一核查结果为通过的情况下,确定所述第一数据处理端是否为所述数据核查方向上的首个数据处理端。
89.这里,所述数据核查方向上的首个数据处理端可以是前端页面端。在所述第一核查结果为通过的情况下,确定所述第一数据处理端是否为所述数据核查方向上的首个数据处理端的实现方式,可以是在第一核查结果为第一待核查数据符合第一核查规则的情况下,确定第一数据处理端是否为前端页面端。
90.步骤s706:在确定所述第一数据处理端为所述数据核查方向上的首个数据处理端的情况下,确定整个所述数据流转过程中的数据无质量问题。
91.在一种可能的实施方式中,步骤s706包括:在确定第一数据处理端为前端页面端的情况下,确定整个数据流转过正中的数据无质量问题。
92.步骤s707:在所述第一核查结果为通过,且确定所述第一数据处理端不为所述数据核查方向上的首个数据处理端的情况下,确定所述第一待核查数据无质量问题,并输出告警信息;其中,所述告警信息用于表征所述第一数据处理端未向第三数据处理端提供符合第一核查规则的数据,以使得所述第三数据处理端重新从所述第一数据处理端获取数据以重新进行数据流转;所述第三数据处理端为数据核查方向上所述第一数据处理端的上一数据处理端。
93.这里,第一数据处理端可以为数据接口端、数据库端和源数据端中的任意一个数据处理端,在第一数据处理端为数据接口端的情况下,第三数据处理端为前端页面端;在在第一数据处理端为数据库端的情况下,第三数据处理端为数据接口端;在在第一数据处理
端为源数据端的情况下,第三数据处理端为数据库端。
94.在一种可能的实施方式中,在所述第一核查结果为通过,且确定所述第一数据处理端不为所述数据核查方向上的首个数据处理端的情况下,确定所述第一待核查数据无质量问题,并输出告警信息,可以是在第一待核查数据满足第一核查规则,且第一数据处理端不为前端页面端的情况下,确定第一待核查数据无质量问题,并输出第一数据端未向第三数据处理端提供符合第一核查规则的数据的告警信息,以使得所述第三数据处理端重新从所述第一数据处理端获取数据以重新进行数据流转。
95.步骤s708:获取所述首个数据处理端上的首个待核查数据和对应的首个核查规则;其中,所述首个待核查数据是数据重新流转到所述首个数据处理端上的待核查数据。
96.这里,首个数据处理端可以是前端页面端;所述首个待核查数据可以是第三数据处理端重新从第一数据处理端获取数据,并重新进行数据流转,流转到首个数据处理端上的待核查数据。
97.在一些可能的实施方式中,步骤s708可以包括:获取前端页面端上的进行流转更新后的待核查数据和对应的核查规则。
98.步骤s709:按照所述首个核查规则对所述首个待核查数据进行核查,得到首个核查结果。
99.步骤s710:在所述第一核查结果为不通过,且确定所述第一数据处理端为数据核查方向上的最后一个数据处理端的情况下,将所述第一核查结果确定为所述第一待核查数据存在质量问题。在一种实施方式中,步骤s710包括:在第一数据处理端为源数据端且,源数据端上的待核查数据不满足源数据端的核查规则的情况下,确定第一核查结果为数据源端上的待核查数据存在质量问题。
100.步骤s711:将所述第一待核查数据存在质量问题的第一核查结果反馈给源数据方。
101.这里,源数据方是指提供源数据的数据提供方,并不是数据源端。
102.在一个可能的实施方式中,步骤s711包括:将数据源端上的待核查数据存在的质量问题反馈给源数据方。
103.在一个实施例中,源数据可以包含由部省接口上报的信令数据、故障数据,前置机的xdr数据、中国移动互联网(china mobile network,cmnet)深度报文检测(dpi,deep packet inspection)数据和直采的无线数据、经分数据。数据库采集源数据后,经过对采集的数据进行数据处理,包括数据计算、数据汇总等,将处理后的数据提供给接口。前端页面通过获取接口数据来进行重点场景大屏、相关报表的展示。这里,部省接口为中国移动通信话务网总部网管与省级网管系统之间的接口,是话务网网管的重要组成部分,主要用于实现总部网管系统和省级网管系统之间的数据请求、应答消息的传递,并实现省级网管系统向总部网管系统大数据量的数据文件传送。
104.在本实施例中,基于整个数据流转的过程,进行从前端页面开始的反向数据核查,实现端到端的数据质量的提升包括:首先,建立从前端页面端、接口端、数据库端、源数据端进行数据提取、数据核查、数据告警、数据处理的流程,实现数据质量的端到端的闭环管理;其次,将数据核查的结果汇总,聚焦产生数据质量的位置、频率,分析产生数据质量的根本原因,明确在数据全生命周期管理各环节的数据质量提升关键。
105.在一种可能的实施方式中,前端页面的反向数据核查流程主要包括以下3个步骤,各步骤的功能如下:
106.步骤1:数据获取。
107.在一个示例中,数据获取可以是从前端页面、接口、数据库和源数据提取数据并按照用户需求来数据过滤处理,过滤出需要进行核查的数据。
108.获取的方法包括但不限于网页爬虫、sql查询、linux查询等。其中,网页爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本网页爬虫,又称为网页蜘蛛,网络机器人,能从前端页面上获取到我们所需要的数据,因其技术难度较低,效果又非常明显,能获取到较大的数据量;网页爬虫主要使用selenium包和requests包进行相关数据的爬取工作。
109.步骤2:规则判定。
110.在一个示例中,规则判定可以是判定需要进行核查的数据是否符合对应的判定规则。在一种可能的实施方式中,规则判定可以是依次分别判断前端页面端、接口端、数据库端、源数据端是否满足各个数据处理端对应的判定规则,这里,不同的数据处理端可以对应不同的判定规则。其中,判定规则包含但不限于数据的及时性、完整性、合法性、准确性和一致性的要求。
111.步骤3:告警处理。
112.在一个示例中,告警处理可以是在需要进行核查的数据不符合判定规则的情况下,对不符合规则的数据视情况进行告警,并对不符合判定规则的数据进行处理,重新获取符合规则的数据,并重新进行核查,实现闭环。
113.在本技术的一些实施例中,提出了一种对于应用a在t时刻的数据核查方法,其中,应用a为用于需要核查的应用,对于应用a,前端页面端对应的核查规则为核查规则1,接口端对应的核查规则为核查规则2,数据库端对应的核查规则为核查规则3,源数据端对应的核查规则为核查规则4。
114.图8为本技术实施例的一种对于应用a在t时刻的数据核查方法的流程示意图,如图8所示,该流程可以包括以下步骤:
115.步骤s801:获取前面页面端80上的待核查数据。
116.本实施例中,可以通过网页爬虫获取前面页面端80上待核查数据,使用selenium包模拟浏览器使用用户名、密码登录账号进行登陆,模拟登陆后,通过在元素属性中输入具体的赋值(代码中输入),可以获取javascript渲染后页面中与应用a相关的数据,即,爬取前端大屏/报表涉及到应用a的相关数据。从爬取到的与应用a相关的数据中根据用户需求提取出待核查数据。这里,具体的赋值是通过chrome浏览器的开发者工具,进行手工获取的,例如,可以开发者工具下的多个id、keys、class、name等元素属性中查找到应用a对应的元素属性和属性元素的具体赋值。
117.步骤s802:判断前面页面端80上的待核查数据是否能够通过核查规则1的核查;若通过,进入步骤s803;若不通过,进入步骤s804。
118.步骤s803:结束核查流程。
119.步骤s804:获取数据接口端81上的待核查数据。
120.在一个示例中,步骤s804包括:通过网页爬虫,获取应用a对应的多个数据接口,并
确定每一数据接口对应的多个url的cookies、authorization等验证信息,通过使用requests包的get和post方法,获取应用a对应的多个输入接口的每个url位置的数据。通过对爬取的数据接口中应用a对应的相关数据后,对爬取的数据根据用户需求进行抽取,抽取出数据接口端81上的待核查数据。
121.步骤s805:判断前面页面端81上的待核查数据是否能够通过核查规则2的核查;若通过,进入步骤s806;若不通过,进入步骤s808。
122.步骤s806:输出第一告警信息。
123.这里,第一告警信息用于表征数据接口端未向前端页面端提供符合核查规则2的数据或前端页面端未从数据接口端获取符合核查规则2的数据。
124.步骤s807:对前端页面端的待核查数据进行处理。
125.在一个示例中,对前端页面端的待核查数据进行处理可以包括:前端页面端重新获取数据接口端的数据;前端页面端得到更新后的待核查数据;从前端页面端,开始重新核查前端页面端的更新后的待核查数据。
126.步骤s808:获取数据库端82上的待核查数据。
127.在一个示例中,步骤s808包括:使用sql查询数据库中每个数据处理后的节点中涉及到应用a的数据,并从数据库端82上应用a对应的数据中,根据用户需求进行数据抽取,抽取出数据库端82上的待核查数据。
128.步骤s809:判断所述数据库端82上的待核查数据是否能够通过核查规则3的核查;若通过,进入步骤s810;若不通过,进入步骤s812。
129.步骤s810:输出第二告警信息。
130.这里,第二告警信息用于表征数据库端未向数据接口端提供符合核查规则3的数据或数据接口端未从数据库端获取符合核查规则3的数据。
131.步骤s811:对数据接口端的待核查数据进行处理。
132.在一个示例中,对数据接口端的待核查数据进行处理可以包括:数据接口端重新获取数据库端的数据;数据接口端得到更新后的数据;进而前端页面端获取到数据接口端更新后的数据前端页面端上的数据,进而,从前端页面端开始重新核查前端页面端的更新后的待核查数据。
133.步骤s812:获取源数据端83上的待核查数据。
134.在一个示例中,步骤s812包括:使用linux的shell脚本或通过python关联ftp的方式获取与源数据对应的实时流数据等,并从实时流数据中查询出应用a的相关数据,根据用户需求在应用a的相关数据中抽取出待核查的数据。
135.步骤s813:判断所述源数据端83上的待核查数据是否能够通过核查规则4的核查;若通过,进入步骤s814;若不通过,进入步骤s816。
136.步骤s814:输出第三告警信息。
137.这里,第三告警信息用于表征源数据端未向数据库端提供符合核查规则4的数据或数据库端未从源数据端获取符合核查规则4的数据。
138.步骤s815:对数据库端的待核查数据进行处理。
139.在一个示例中,步骤s815可以包括:数据库端重新获取源数据端的数据;数据库端得到更新后的数据;数据接口端和前端页面端获取到更新后的数据,前端页面端获取到数
据接口端更新后的数据前端页面端上的数据,进而,从前端页面端开始重新核查前端页面端的更新后的待核查数据。
140.步骤s816:将源数据端上的待核查数据中存在质量问题反馈给源数据方。
141.在一种实施方式中,可以根据不同应用、不同时间粒度、不同判定规则,将前端页面反向数据核查流程中的核查结果进行汇总。根据汇总结果对核查结果中问题的发生次数、频率、位置等进行分析,逐步分析数据质量问题产生的根本原因,明确数据质量的提升关键。
142.图9为本技术实施例的数据核查装置的组成结构示意图,如图9所示,该装置可以包括:第一获取模块901,用于在数据流转的核查过程中,从第一数据处理端获取第一待核查数据和对应的第一核查规则;第一核查模块902,用于按照所述第一核查规则对所述第一待核查数据进行核查,得到第一核查结果;第二获取模块903,用于在所述第一核查结果为不通过,且确定所述第一数据处理端不为数据核查方向上的最后一个数据处理端的情况下,按照所述数据核查方向获取第二数据处理端的第二待核查数据和对应的第二核查规则;所述数据核查方向与数据流转的方向相反;所述第二数据处理端为所述第一数据处理端的下一数据处理端;第二核查模块904,用于按照所述第二核查规则对所述第二待核查数据进行核查,得到第二核查结果。
143.在一个实施例中,所述装置还包括:确定装置905,用于在所述第一核查结果为通过的情况下,确定所述第一数据处理端是否为所述数据核查方向上的首个数据处理端;在确定所述第一数据处理端为所述数据核查方向上的首个数据处理端的情况下,确定整个所述数据流转过程中的数据无质量问题。
144.在一个实施例中,所述装置还包括:告警装置906,用于在所述第一核查结果为通过,且确定所述第一数据处理端不为所述数据核查方向上的首个数据处理端的情况下,确定所述第一待核查数据无质量问题,并输出告警信息;其中,所述告警信息用于表征所述第一数据处理端未向第三数据处理端提供符合第一核查规则的数据,以使得所述第三数据处理端重新从所述第一数据处理端获取数据以重新进行数据流转;所述第三数据处理端为数据核查方向上所述第一数据处理端的上一数据处理端。
145.在一个实施例中,所述装置还包括:第一处理装置907,用于获取所述首个数据处理端上的首个待核查数据和对应的首个核查规则;其中,所述首个待核查数据是数据重新流转到所述首个数据处理端上的待核查数据;按照所述首个核查规则对所述首个待核查数据进行核查,得到首个核查结果。
146.在一个实施例中,所述装置还包括:第三核查装置908,在所述第一核查结果为不通过,且确定所述第一数据处理端为数据核查方向上的最后一个数据处理端的情况下,将所述第一核查结果确定为所述第一待核查数据存在质量问题;将所述第一待核查数据存在质量问题的第一核查结果反馈给源数据方。
147.在一个实施例中,所述数据的流转方向上的数据处理端依次包括源数据端、数据库端、数据接口端和前端页面端,所述数据核查方向上的数据处理端依次包括前端页面端、数据接口端、数据库端和源数据端。
148.在一个实施例中,所述装置还包括:第一获取模块909,用于根据待核查应用的标识,从所述第一数据处理端上获取需要核查的数据作为所述第一待核查数据;通过网页爬
虫,从所述第一数据处理端获取所述待核查应用对应的元素属性和所述元素属性的赋值;根据所述待核查应用对应的元素属性和所述元素属性的赋值,从所述第一数据处理端获取所述第一待核查数据;第二获取模块910,用于根据待核查应用的标识,从所述第一数据处理端上获取需要核查的数据作为所述第一待核查数据;确定所述待核查应用对应的多个数据接口;通过网页爬虫,从所述第一数据处理端获取每一数据接口的位置信息和验证信息;根据每一所述数据接口的位置信息和验证信息,从所述第一数据处理端获取第一待核查数据;第三获取模块911,用于根据待核查应用的标识,从所述第一数据处理端上获取需要核查的数据作为所述第一待核查数据;通过结构化查询语言查询,从所述第一数据处理端上的每个数据处理节点上,获取第一待核查数据;第四获取模块912,用于根据待核查应用的标识,从所述第一数据处理端上获取需要核查的数据作为所述第一待核查数据;通过linux的脚本语言或通过python连接ftp,从所述第一数据处理端获取第一待核查数据。
149.实际应用中,第一获取模块901、第一核查模块902、第二获取模块903、第二核查模块904、确定装置905、告警装置906、第一处理装置907、第三核查装置908、第一获取模块909、第二获取模块910、第三获取模块911和第四获取模块912可以利用数据核查设备中的处理器实现,上述处理器可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。
150.另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
151.所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
152.一般来讲,本实施例中的一种数据核查方法对应的计算机程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种数据核查方法对应的计算机程序指令被一数据核查设备读取或被执行时,实现前述实施例的任意一种数据核查是被方法。
153.基于前述实施例相同的技术构思,参见图10,其示出了本技术实施例提供的一种数据核查设备的结构示意图,可以包括:存储器1001和处理器1002;其中,
154.所述存储器1001,用于存储计算机程序和数据;
155.所述处理器1002,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种数据核查方法。
156.在实际应用中,上述存储器1001可以是易失性存储器(volatile memory),例如ram;或者非易失性存储器(non-volatile memory),例如rom,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者上述种类的存储器的组合,并向处理器1002提供指令和数据。
157.上述处理器1002可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的增强现实云平台,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作限定。
158.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献