数据稽核方法、装置、电子设备、存储介质及程序产品与流程

文档序号:33051067发布日期:2023-01-24 23:19阅读:113来源:国知局
数据稽核方法、装置、电子设备、存储介质及程序产品与流程

1.本技术涉及数据处理技术领域,具体而言,本技术涉及一种数据稽核方法、装置、电子设备、存储介质及计算机程序产品。


背景技术:

2.近几年来,信息化、数字化建设不断深入,大数据业务场景不断丰富,实时业务需求与日俱增。在很多大数据业务场景下,为保证业务运行的平稳可靠,对数据的质量要求逐渐增高,数据稽核也变得越来越重要。
3.现有技术中,数据传输到消息缓存系统例如kafka(分布式发布订阅消息系统)时,容易出现数据丢失等异常情况,所以我们需要对传输过程中的数据进行数据稽核,但是在进行数据稽核时,现有的稽核技术难以保证数据稽核的实时性,会导致数据的稽核效率较低。


技术实现要素:

4.本技术实施例旨在解决的问题是现有的稽核技术难以保证数据稽核的实时性,会导致数据的稽核效率较低。所述技术方案如下:
5.第一方面,本技术提供了一种数据稽核方法,包括:
6.获取待稽核的多个原始数据,基于每一所述原始数据,生成针对所述原始数据的唯一识别码;
7.将每一所述原始数据与对应的所述唯一识别码结合生成对应的第一数据,将所述第一数据推送到消息系统的第一数据组;
8.将所述针对所述原始数据的唯一识别码推送到所述消息系统的第二数据组;
9.将所述第一数据组中的第一数据与所述第二数据组中的所述唯一识别码进行匹配,确定第一稽核结果。
10.在第一方面的可选实施例中,所述将每一所述原始数据与对应的所述唯一识别码结合生成对应的第一数据,包括:
11.将所述唯一识别码直接插入对应每一所述原始数据的指定位置,生成对应的第一数据;
12.或,将所述唯一识别码与对应的所述每一原始数据打包生成对应的第一数据。
13.在第一方面的可选实施例中,所述第一稽核结果包括第一异常数据;
14.所述将所述第一数据组中的第一数据与所述第二数据组中的所述唯一识别码进行匹配,确定第一稽核结果,包括:
15.若所述第二数据组中存在任一所述唯一识别码未匹配到所述第一数据组中的所述唯一识别码,则将所述未匹配到的唯一识别码对应的所述原始数据作为第一异常数据。
16.在第一方面的可选实施例中,所述方法还包括:
17.确定所述唯一识别码的生成时间;
18.所述将所述第一数据组中的第一数据与所述第二数据组中的所述唯一识别码进行匹配,包括:
19.若当前时间与所述生成时间之间的时间间隔小于或等于预设阈值,则对所述第一数据组中的所述第一数据与所述第二数据组中的所述唯一识别码进行匹配。
20.在第一方面的可选实施例中,所述方法还包括:
21.将所述第一数据推送到本地文件系统中;
22.将所述第一数据组中的所述第一数据推送到第一离线存储介质;
23.将所述本地文件系统中的所述第一数据推送到第二离线存储介质;
24.将所述第一离线存储介质中的所述第一数据的唯一识别码和所述第二离线存储介质中的所述第一数据的唯一识别码进行匹配,获取第二稽核结果。
25.在第一方面的可选实施例中,所述第二稽核结果包括第二异常数据;
26.所述将所述第一离线存储介质中的所述第一数据的唯一识别码和所述第二离线存储介质中的所述第一数据的唯一识别码进行匹配,获取第二稽核结果,包括:
27.若所述第二离线存储介质中存在任一所述唯一识别码未匹配到所述第一离线存储介质中的所述唯一识别码,则将所述未匹配到的唯一识别码对应的所述原始数据作为第二异常数据。
28.第二方面,提供了一种数据稽核装置,该装置包括:
29.获取模块,用于获取待稽核的多个原始数据,基于每一所述原始数据,生成针对所述原始数据的唯一识别码;
30.第一推送模块,用于将每一所述原始数据与对应的所述唯一识别码结合生成对应的第一数据,将所述第一数据推送到消息系统的第一数据组;
31.第二推送模块,用于将所述针对所述原始数据的唯一识别码推送到所述消息系统的第二数据组;
32.稽核模块,用于将所述第一数据组中的第一数据与所述第二数据组中的所述唯一识别码进行匹配,确定第一稽核结果。
33.第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现上述的数据稽核方法。
34.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的数据稽核方法。
35.第五方面,提供了一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的数据稽核方法。
36.本技术实施例提供的技术方案带来的有益效果是:
37.本技术提供的数据稽核方法,获取待稽核的多个原始数据,基于每一原始数据生成对应的唯一识别码;将每一原始数据与对应的唯一识别码结合生成对应的第一数据,将第一数据推送到消息系统的第一数据组;将针对原始数据的唯一识别码推送到消息系统的第二数据组;将第一数据组中的第一数据与第二数据组中的唯一识别码进行匹配,得到稽核结果,确定异常数据。本技术所述稽核方法可以根据唯一识别码对数据进行实时稽核,能够较为准确地确定异常数据,提高稽核的效率和准确性。
附图说明
38.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
39.图1为本技术实施例提供的一种数据稽核方法的流程示意图;
40.图2为本技术实施例提供的一种数据稽核方法中第二次稽核的流程示意图;
41.图3为本技术实施例提供的一种数据稽核方法的一种示例的流程示意图;
42.图4为本技术实施例提供的一种数据稽核装置的结构示意图;
43.图5为本技术实施例提供的一种数据稽核方法适用的电子设备的结构示意图。
具体实施方式
44.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
45.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作和组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”可以实现为“a”,或者实现为“b”,或者实现为“a和b”。
46.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
47.首先对本技术涉及的几个名词进行介绍和解释。
48.唯一识别码可以是通用唯一识别码(universally unique identifier,uuid),目的是让系统中的所有元素都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个元素都可以创建不与其它元素冲突的uuid。
49.数据稽核一般是指实现数据的完整性和一致性检查,提升数据质量;数据稽核是一个从数据采集,预处理,比对,分析,预警,通知,问题修复的完整数据质量管控链条。
50.针对相关技术中所存在的至少一个技术问题或需要改善的地方,本技术提出一种数据稽核方法、装置、电子设备、存储介质及计算机程序产品,该方案通过获取待稽核的多个原始数据,基于每一原始数据以及原始数据的唯一识别码;将每一原始数据与对应的唯一识别码结合生成对应的第一数据,将第一数据推送到消息系统的第一数据组;将针对原始数据的唯一识别码推送到消息系统的第二数据组;将第一数据组中的第一数据与第二数据组中的唯一识别码进行匹配,得到稽核结果,确定异常数据,能够较为准确地确定异常数据,提高稽核的效率和准确性。
51.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借
鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
52.在一些可能的实施方式中,本技术实施例提供了一种数据稽核方法,如图1所示,可以包括如下步骤:
53.s101,获取待稽核的多个原始数据,基于每一所述原始数据,生成针对所述原始数据的唯一识别码。
54.具体的,获取需要稽核的原始数据后,可以对原始消息进行标识化处理,即为每一条原始消息都生成专属的唯一的识别码,为之后的数据稽核做准备。
55.在具体实施过程中,上述唯一的识别码可以为uuid,uuid的目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要透过中央控制端来做辨识信息的指定,每个人都可以建立不与其它人冲突的uuid。
56.s102,将每一所述原始数据与对应的所述唯一识别码结合生成对应的第一数据,将所述第一数据推送到消息系统的第一数据组。
57.其中,上述唯一识别码和每一对应的原始数据结合在一起,是一一对应的关系。
58.具体的,上述将每一原始数据与对应的唯一识别码结合可以包括:将对应生成的唯一识别码插入对应的每一原始数据指定的位置,得到含有唯一识别码的第一数据;也可以包括:将上述唯一识别码和对应的原始数据对应打包生成第一数据。
59.在实施过程中,上述消息系统可以是kafka(一种分布式发布订阅消息系统),上述第一数据组可以为kafka中的一个类别(topic)。上述将第一数据推送到第一数据组的步骤可以是:通过异步io(输入输出)接口将第一数据推送到kafka中的数据topic中。
60.s103,将所述针对所述原始数据的唯一识别码推送到所述消息系统的第二数据组。
61.其中,上述唯一识别码是分别对应于每一原始数据的所有唯一识别码,可以理解为对应于原始数据的唯一识别码列表。
62.在实施过程中,上述第二数据组可以包括kafka中的稽核topic,上述推送过程可以是通过同步topic接口将唯一识别码推送到kafka的稽核topic中。推送唯一识别码到kafka能够有效减轻推送的数据大小,在数据传输过程中更不易丢失,有利于使稽核结果的准确性提高。
63.s104,将所述第一数据组中的第一数据与所述第二数据组中的所述唯一识别码进行匹配,确定第一稽核结果。
64.其中,上述第一数据组中的第一数据包含每一原始数据以及对应的唯一识别码。
65.其中,第一稽核结果可以包括丢失的数据和错误的数据等异常数据。
66.具体的,将第一数据组中的第一数据与第二数据组中的唯一识别码进行比较实质上是将第一数据中的唯一识别码和第二数据组中的唯一识别码进行比较,寻找第二数据组中存在的任一唯一识别码未匹配到第一数据组中的唯一识别码的数据,确定其为异常数据。
67.上述实施例中,获取待稽核的多个原始数据,基于每一原始数据生成对应的唯一识别码;将每一原始数据与对应的唯一识别码结合生成对应的第一数据,将第一数据推送到消息系统的第一数据组;将针对原始数据的唯一识别码推送到消息系统的第二数据组;
将第一数据组中的第一数据与第二数据组中的唯一识别码进行匹配,得到稽核结果,确定异常数据。本技术所述稽核方法可以根据唯一识别码对数据进行实时稽核,能够较为准确地确定异常数据,提高数据的稽核效率。
68.在一些可能的实施方式中,将每一原始数据与对应的唯一识别码结合生成对应的第一数据,包括:
69.(1)将所述唯一识别码直接插入对应每一所述原始数据的指定位置,生成对应的第一数据;
70.或,
71.(2)将所述唯一识别码与对应的所述每一原始数据打包生成对应的第一数据。
72.其中,上述指定位置,可以包括:数据的开头、数据的结尾和数据的中间。
73.具体的,生成与每一原始数据对应的唯一识别码后,要将唯一识别码与原始数据一一对应,能够实现通过对比唯一识别码确定异常丢失的数据。
74.在具体实施过程中,上述唯一识别码可以直接写入对应的原始数据中的指定位置,也可以将唯一识别码和对应的原始数据进行打包生成数据包,多个数据包组成上述第一数据。
75.在一些可能的实施方式中,第一稽核结果包括第一异常数据;将所述第一数据组中的第一数据与所述第二数据组中的所述唯一识别码进行匹配,确定第一稽核结果的步骤,包括:
76.(1)若所述第二数据组中存在任一所述唯一识别码未匹配到所述第一数据组中的所述唯一识别码,则将所述未匹配到的唯一识别码对应的所述原始数据作为第一异常数据。
77.具体的,上述匹配方法是使用第二数据组中的唯一识别码去匹配第一数据组的第一数据中的唯一识别码,若是第二数据组中存在任意一个唯一识别码在第一数据组中没有匹配到,那么未匹配到的这个唯一识别码对应的数据就为第一异常数据。
78.在具体实施过程中,通过上述匹配判断方式可以判断数据传输到消息系统的完整性。在进行匹配时,已经匹配过的数据可以生成一个已完成标记,在稽核结束后可以根据此已完成标记确定第一数据是否全部稽核完毕,能够判断是否完整地稽核数据,尽量避免重复稽核数据浪费系统资源。
79.在一些可能的实施方式中,数据稽核方法还可以包括:
80.(1)确定所述唯一识别码的生成时间;
81.所述将所述第一数据组中的第一数据与所述第二数据组中的所述唯一识别码进行匹配的步骤,包括:
82.(2)若当前时间与所述生成时间之间的时间间隔小于或等于预设阈值,则对所述第一数据组中的所述第一数据与所述第二数据组中的所述唯一识别码进行匹配。
83.具体的,在生成原始数据的唯一识别码时,可以生成唯一识别码的生成时间。
84.在具体实施过程中,该生成时间可以直接插入原始数据的指定位置,也可以随着对应的唯一识别码和对应原始数据打包到一起。
85.具体的,在第一数据组的第一数据与第二数据组中的唯一识别码进行匹配前,可以获取当前时间和所匹配的唯一识别码的生成时间,将生成时间与当前时间进行比较,当
时间差小于或等于预设的阈值时,就开始进行匹配。
86.其中,阈值的设置与数据稽核的实时性要求有关,例如,设置阈值为一分钟,则数据稽核要在一分钟之内进行,这样才能实时地对数据进行稽核。
87.在一些可能的实施方式中,本技术实施例提供的一种数据稽核方法,还可以包括如下步骤:
88.s201,将所述第一数据推送到本地文件系统中。
89.其中,推送的步骤可以是根据预设时间间隔将第一数据推送到本地文件系统中。
90.具体的,将第一数据推送到本地文件系统中,可以使用本地文件系统里存储的第一数据对消息系统里的第一数据组中的第一数据进行稽核,本地文件系统里的数据较为不容易丢失,将本地文件系统与第一数据组中的第一数据进行比较,能够提高稽核的准确性。
91.s202,将所述第一数据组中的所述第一数据推送到第一离线存储介质。
92.其中,第一离线存储介质可以为任何离线存储介质,例如hdfs或hbase等。
93.s203,将所述本地文件系统中的所述第一数据推送到第二离线存储介质。
94.其中,第一离线存储介质可以为任何离线存储介质,例如hdfs或hbase等。
95.具体的,上述第一离线存储介质和第二离线存储介质可以为同一个离线存储介质,即第一数据组中的第一数据和本地文件系统中的第一数据可以推送到同一个离线存储介质以进行匹配。
96.s204,将所述第一离线存储介质中的所述第一数据的唯一识别码和所述第二离线存储介质中的所述第一数据的唯一识别码进行匹配,获取第二稽核结果。
97.其中,第二稽核结果可以包括:丢失的数据或错误的数据等异常数据。上述匹配过程可以是:寻找第二离线存储介质中是否存在任意一个唯一识别码在第一离线存储介质中未匹配到,若是没有匹配到,则该未匹配到的唯一识别码对应的数据为异常数据。
98.在具体实施过程中,在获取第二稽核结果之后,可以根据第二离线存储介质中的第一数据对第二稽核结果中的异常数据进行处理,例如,对丢失数据进行补全或对错误数据进行修改等。
99.在一些可能的实施方式中,本技术实施例提供的一种数据稽核方法中:
100.(1)所述第二稽核结果包括第二异常数据;
101.所述将所述第一离线存储介质中的所述第一数据的唯一识别码和所述第二离线存储介质中的所述第一数据的唯一识别码进行匹配,获取第二稽核结果,包括:
102.(2)若所述第二离线存储介质中存在任一所述唯一识别码未匹配到所述第一离线存储介质中的所述唯一识别码,则将所述未匹配到的唯一识别码对应的所述原始数据作为第二异常数据。
103.其中,所述匹配过程可以是:在第二离线存储介质中找到任意一个唯一识别码在第一离线存储介质中未匹配到,则认为该唯一识别码对应的第一数据为第二异常数据。
104.具体的,根据本地文件系统推送到第二离线存储介质的第一数据和第一离线存储介质中的第一数据进行比较的过程可以是根据预设的时间间隔进行的,例如,预设时间间隔为十分钟,那么每十分钟就会进行一次稽核。
105.上述实施例中,获取待稽核的多个原始数据,基于每一原始数据生成对应的唯一识别码;将每一原始数据与对应的唯一识别码结合生成对应的第一数据,将第一数据推送
到消息系统的第一数据组和本地文件系统;将针对原始数据的唯一识别码推送到消息系统的第二数据组;将第一数据组中的第一数据与第二数据组中的唯一识别码进行匹配,得到第一稽核结果;再将本地文件系统中的第一数据和第一数据组中的第一数据进行离线的稽核,得到第二稽核结果。本技术所述稽核方法可以根据唯一识别码对数据进行实时稽核和二次稽核,能够较为准确的确定异常数据,提高数据的稽核效率,也能够提高数据稽核的完整性、不重复性和准确性。
106.为更清楚地理解本技术实施例描述的数据稽核方法,以下将结合示例进行进一步详细阐述。
107.在一个示例中,本技术的数据稽核方法,如图3所示,包括:
108.获取待稽核的多个原始数据,基于每一原始数据生成对应的唯一识别码(即图中所示的:生成唯一消息id);将每一原始数据与对应的唯一识别码结合生成对应的第一数据(即图中所示的:数据+uuid),将第一数据推送到消息系统的第一数据组(即图中所示的kafka中的数据topic)和本地文件系统;将针对原始数据的唯一识别码(即图中所示的uuid)推送到消息系统的第二数据组(即图中所示的稽核topic);将第一数据组中的第一数据与第二数据组中的唯一识别码进行匹配,得到第一稽核结果(即图中所示的实时稽核);将本地文件系统中的第一数据推送至第二离线存储介质(即图中所示的hbase),将第一数据组推送到第一离线存储介质(即图中所示的hdfs);将第一离线存储介质和第二离线存储介质中的第一数据进行稽核(即图中所示的离线稽核),得到第二稽核结果;根据第一稽核结果和第二稽核结果确定异常数据,再根据本地文件系统推送到第一离线存储介质中的第一数据对异常数据进行数据处理(即图中所示的数据补全)。
109.上述数据稽核方法,根据唯一识别码对数据进行实时稽核和二次稽核,能够较为准确的找到异常数据,有效提高稽核效率和准确性。
110.本技术实施例提供了一种数据稽核装置,如图4所示,该装置40可以包括:获取模块401、第一推送模块402、第二推送模块403以及稽核模块404,其中,
111.获取模块401,用于获取待稽核的多个原始数据,基于每一所述原始数据,生成针对所述原始数据的唯一识别码;
112.第一推送模块402,用于将每一所述原始数据与对应的所述唯一识别码结合生成对应的第一数据,将所述第一数据推送到消息系统的第一数据组;
113.第二推送模块403,用于将所述针对所述原始数据的唯一识别码推送到所述消息系统的第二数据组;
114.稽核模块404,用于将所述第一数据组中的第一数据与所述第二数据组中的所述唯一识别码进行匹配,确定第一稽核结果。
115.在一些可能的实施方式中,第一推送模块402中,将每一所述原始数据与对应的所述唯一识别码结合生成对应的第一数据,包括:
116.将所述唯一识别码直接插入对应每一所述原始数据的指定位置,生成对应的第一数据;
117.或,将所述唯一识别码与对应的所述每一原始数据打包生成对应的第一数据。
118.在一些可能的实施方式中,稽核模块404中,所述第一稽核结果包括第一异常数据;
integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器5001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
137.总线5002可包括一通路,在上述组件之间传送信息。总线5002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线5002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
138.存储器5003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
139.存储器5003用于存储执行本技术实施例的计算机程序,并由处理器5001来控制执行。处理器5001用于执行存储器5003中存储的计算机程序,以实现前述方法实施例所示的步骤。
140.其中,电子设备包括但不限于:电脑、服务器。
141.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
142.本技术实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
143.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
144.应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
145.以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1