数据处理方法、装置、设备、介质和计算机程序产品与流程-开云(中国)Kaiyun·官方网站 -APP下载

文档序号:34131600发布日期:2023-11-28阅读:547来源:国知局


1.本技术属于数据分析领域,数据设备算机尤其涉及一种数据处理方法、处理程序产品装置、装置设备、介质介质和计算机程序产品。和计


背景技术:

2.随着电子信息技术的流程发展,通信行业中运营商的数据设备算机提供的支撑业务也越来越丰富,不同支撑业务的处理程序产品业务系统之间的交互越来复杂。例如,装置多个业务系统相互交互的介质应用场景,业务流程较长、和计系统间信息有重叠、流程接口对接呈网状网、数据设备算机业务流程存在同步模式和异步模式等等,处理程序产品因此,装置多个业务系统相互交互的应用场景容易形成不同业务端生成的数据不一致的情况。
3.目前,数据比对的解决方案通常是在业务系统中的存量数据进行一致性比对的方式,通过定期将数据汇聚到一个中心化的系统,再按照约定的数据比较规则进行计算,输出结果提供给维护人员和业务人员做处理。由于数量庞大,每次都需要对大量数据的进行比对,消耗过多计算资源和存储资源,比对时间长,数据对比的效率低。


技术实现要素:

4.本技术实施例提供一种数据处理方法、装置、设备、介质和计算机程序产品,能够及时确定不同业务系统中不一致的业务数据,有效提高数据的对比效率。
5.第一方面,本技术实施例提供一种数据处理方法,方法应用于智能合约管理平台,方法包括:
6.获取第一数据集和第二数据集,第一数据集包括和第二数据集包括数据量相同的业务数据,且第一数据集和第二数据集中存在不一致的业务数据,每个业务数据包括预设数据标识;
7.根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,m为正整数;
8.获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值;
9.对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集;
10.当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回步骤根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,对比结果包括不一致的业务数据。
11.在第一方面的一些可实现方式中,获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值,包括:
12.获取第一数据子集中每个业务数据的第一哈希值和第二数据子集中每个业务数
据的第二哈希值;
13.对第一哈希值求和,得到第一总哈希值;
14.对第二哈希值求和,得到第二总哈希值。
15.在第一方面的一些可实现方式中,获取第一数据集和第二数据集,包括:
16.对第一数据集中每个业务数据进行哈希运算,得到多个第一哈希值;
17.对多个第一哈希值求和,得到第三总哈希值;
18.对第二数数据集中每个业务数据进行哈希运算,得到多个第二哈希值;
19.对多个第二哈希值求和,得到第四总哈希值;
20.当第三总哈希值和第四总哈希值不同时,确定第一数据集和第二数据集中存在不一致的业务数据。
21.在第一方面的一些可实现方式中,对第一数据集中每个业务数据进行哈希运算,得到多个第一哈希值,包括:
22.获取第一数据中每个业务数据的第一字符长度信息;
23.根据第一数据中每个业务数据的第一字符长度信息,对第一数据中每个业务数据进行字符填充,并添加第一字符长度信息的第一长度标识字符,得到第五业务数据,第五业务数据的字符长度为目标长度;
24.对第五业务数据进行哈希运算,得到第一哈希值。
25.在第一方面的一些可实现方式中,智能合约管理平台包括数据库;在获取第一数据集和第二数据集之前,方法还包括:
26.分别接收第一业务统实时发送的第一业务数据和第二业务系统实时发送的第二业务数据,第一业务数据包括第一业务信息标识和第一业务信息对应的第一操作信息,第二业务数据包括第二业务信息标识和第二业务信息对应的第二操作信息;
27.根据第一业务信息标识和第一业务信息标识对应的第一操作信息,对数据库中存储第一业务信息执行第一操作,得到第一数据集中包括的业务数据;
28.根据第二业务信息标识和第二业务信息标识对应的第二操作信息,对数据库中存储的第二业务信息执行第二操作,得到第二数据集中包括的业务数据。
29.在第一方面的一些可实现方式中,分别将第一数据集中包括的业务数据和第二数据集中包括的业务数据存储至数据库。
30.第二方面,本技术实施例提供一种数据处理装置,装置应用于智能合约管理平台,装置包括:
31.获取模块,用于获取第一数据集和第二数据集,第一数据集包括和第二数据集包括数据量相同的业务数据,且第一数据集和第二数据集中存在不一致的业务数据,每个业务数据包括预设数据标识;
32.处理模块,用于根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,m为正整数;
33.获取模块,还用于获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值;
34.查找模块,用于对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集;
35.处理模块,还用于当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回步骤根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,对比结果包括不一致的业务数据。
36.第三方面,本技术提供一种数据处理设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现第一方面或者第一方面任一可实现方式中所述的数据处理方法。
37.第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面或者第一方面任一可实现方式中所述的数据处理方法。
38.第五方面,本技术实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面或者第一方面任一可实现方式中所述的数据处理方法。
39.本技术实施例的数据处理方法、装置、设备、介质和计算机程序产品,应用于智能合约服务平台,对于存在不一致的业务数据,通过智能合约服务平台,获取业务数据的数据量相同的第一数据集和第二数据集,并根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,之后,获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值,并对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集;当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回重新确定第一数据子集和第二数据子集,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,其中,对比结果包括不一致的业务数据,通过上述迭代计算,能够直接定位不一致的业务数据,能够有效提高数据对比效率,且能够降低后期业务数据修复的成本和难度。
附图说明
40.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本技术实施例提供的一种数据处理方法的流程示意图;
42.图2是本技术实施例提供的一种数据处理流程的架构示意图;
43.图3是本技术实施例提供的一种数据处理装置的结构示意图;
44.图4是本技术实施例提供的一种数据处理设备的结构示意图。
具体实施方式
45.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目
的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
46.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
47.随着电子信息技术的发展,通信行业中运营商的提供的支撑业务也越来越丰富,不同支撑业务的业务系统之间的交互越来复杂。例如,多个业务系统相互交互的应用场景,业务流程较长、系统间信息有重叠、接口对接呈网状网、业务流程存在同步模式和异步模式等等,因此,多个业务系统相互交互的应用场景容易形成不同业务端生成的数据不一致的情况。
48.若存在不同业务端生成的数据不一致的情况,可能会导致运营商提供的服务与用户所订阅的服务不一致,这不仅影响运营商自身的发展,也会降低用户使用满意度,容易造成用户流失。
49.目前,数据比对的解决方案通常是在业务系统中的存量数据进行一致性比对的方式,通过定期将数据汇聚到一个中心化的系统,再按照约定的数据比较规则进行计算,输出结果提供给维护人员和业务人员做处理。由于数量庞大,每次都需要对大量数据的进行比对,消耗过多计算资源和存储资源,比对时间长,造成业务数据之间的差异发现不及时,业务数据对比的效率低。且,由于差异业务数据发现不够及时,发现差异业务数据的过程中,可能会持续产生新的问题数据,修复工作更加复杂。
50.针对于此,本技术实施例提供一种数据处理方法、装置、设备、介质和计算机程序产品,应用于智能合约服务平台,对于存在不一致的业务数据,通过智能合约服务平台,获取业务数据的数据量相同的第一数据集和第二数据集,并根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,之后,获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值,并对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集;当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回重新确定第一数据子集和第二数据子集,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,其中,对比结果包括不一致的业务数据,通过上述迭代计算,能够直接定位不一致的业务数据,能够有效提高数据对比效率,且能够降低后期业务数据修复的成本和难度。
51.图1是本技术实施例提供的一种数据处理方法的流程示意图,结合图1所示,方法应用于智能合约管理平台,该方法可以包括以下步骤:
52.步骤110,获取第一数据集和第二数据集。
53.具体地,第一数据集包括和第二数据集包括数据量相同的业务数据,且第一数据集和第二数据集中存在不一致的业务数据,每个业务数据包括预设数据标识。
54.步骤120,根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,m为正整数。
55.步骤130,获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值。
56.步骤140,对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集。
57.步骤150,当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回步骤120,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,对比结果包括不一致的业务数据。
58.上述各个步骤的具体实现方式将在下文中进行详细描述。
59.根据本技术实施例,对于存在不一致的业务数据,通过智能合约服务平台,获取业务数据的数据量相同的第一数据集和第二数据集,并根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,之后,获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值,并对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集;当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回重新确定第一数据子集和第二数据子集,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,其中,对比结果包括不一致的业务数据,通过上述迭代计算,能够直接定位不一致的业务数据,能够有效提高数据对比效率,且能够降低后期业务数据修复的成本和难度。
60.下面介绍上述各个步骤的具体实现方式。
61.涉及步骤110,获取第一数据集和第二数据集。
62.具体地,第一数据集中的业务数据和第二数据集中的业务数据分别来自不同的业务系统。示例性的,业务系统可以是业务供应链管理(supply chain management,scm)系统、客户关系管理(customer relationship management,crm)系统、决策支持系统(decision support system,dss)系统等,业务系统还可以是业务支撑系统(business support system,bss)、运营支撑系统(operation support system,oss)、业务运营支撑系统(business&operation support system,boss)等等,在此不对业务系统做具体限定。
63.其中,智能合约服务平台可以包括区块链存储单元,业务系统产生的业务数据可以保存在区块链中,如此可以避免数据被篡改,也便于查找业务数据的数据源头。由于智能合约是数字化的存储在区块链中,而且可以使用加密代码强制执行协议,可以实现为去中心化的区块链平台,让各个参与的业务系统中产生的业务数据实现异步自治。哈希摘要数据上链,使用区块链分布式账本特性,保障链上数据不可篡改。
64.为了提高智能合约服务平台的可靠性,仍需要对不同业务系统之间的业务数据进
行一致性比对,以便于及时发现不一致数据,以降低业务数据的修复成本。
65.在一些实施例中,智能合约管理平台包括数据库,为了减少数据处理量,在获取第一数据集和第二数据集之前,数据处理方法还可以包括以下步骤:分别接收第一业务统实时发送的第一业务数据和第二业务系统实时发送的第二业务数据,第一业务数据包括第一业务信息标识和第一业务信息对应的第一操作信息,第二业务数据包括第二业务信息标识和第二业务信息对应的第二操作信息;根据第一业务信息标识和第一业务信息标识对应的第一操作信息,对数据库中存储第一业务信息执行第一操作,得到第一数据集中包括的业务数据;以及,根据第二业务信息标识和第二业务信息标识对应的第二操作信息,对数据库中存储的第二业务信息执行第二操作,得到第二数据集中包括的业务数据。
66.智能合约管理平台中的区块链单元可作为上述数据库,在数据库中可以存储每个业务系统产生的历史业务数据。
67.为了减少数据处理量,实现获取对每个业务系统中的增量数据。具体地,以第一业务系统为例,智能合约管理平台可以分别接收第一业务统实时发送的第一业务数据第一业务数据包括第一业务信息标识和第一业务信息对应的第一操作信息。如此,智能合约管理平台可以根据第一业务信息标识找到第一业务的历史业务数据,即在第一业务系统中为第一业务信息,根据第一操作信息对第一业务信息执行相应的操作处理,从而可以准确定位到第一业务系统中的增量数据。
68.在本身申请实施例中,对第二业务系统可以执行与上述相同的数据处理流程,在此不做赘述。
69.在一些实施例中,分别将第一数据集中包括的业务数据和第二数据集中包括的业务数据存储至数据库。
70.作为一个具体的示例,以第一业务系统是crm系统,第二业务系统是boss系统为例,图2示出了本技术实施例提供的一种数据处理流程的架构示意图。结合图2所示,crm系统和boss系统中分别可以收到对业务数据的操作信息,由kafka中间件能够获取crm系统和boss系统中数据的操作信息,操作信息中可以包括数据增加、删除或修改等操作,即,数据库模式定义语言(data definition language,ddl)操作。作为一个具体的示例,操作信息可以是创建用户、赋予权限、撤销权限、修改密码或删除用户等等,在此不一一列举。
71.示例性的,crm系统中例如可以包括集团客户的业务、家庭客户的业务。以集团客户(简称集客)为例,例如,在crm系统可以包括集客用户信息,集客属性表等。在boss系统中可以包括cb用户表和cb属性表。
72.由kafka中间件可以创建ddl操作对应主题和消费组,可以提供给flink进行数据解析。其中,flink是一种大数据的实时计算技术引擎,flink可以从kafka中间件ddl操作对应主题和消费组,解析出ddl操作更新的字段信息。
73.示例性的,flink可以从中kafka中间件的ddl操作中可以解析得到的crm系统中都业务数据例如可以如表1和表2所示:
74.表1
[0075][0076]
表2
[0077][0078]
flink可以从中kafka中间件的ddl操作中可以解析得到的boss系统中的业务数据可以如表3和表4所示:
[0079]
表3
[0080][0081]
表4
[0082][0083]
flink在得到ddl操作更新的字段信息后可以与hbae数据库中存量数据关联,即,根据ddl操作更新的字段信息,对历史业务数据进行更新,以得到更新后的业务数据。
[0084]
示例性的,hbae数据库中所存储的更新后的业务数据可以包括集客用户表,如表5所示。
[0085]
表5
[0086][0087]
hbae数据库中所存储的更新后的业务数据可以包括集客用户属性关联表,如表6所示。
[0088]
表6
[0089][0090]
hbae数据库中所存储的更新后的业务数据可以包括cb用户&属性关联表,如表7所示。
[0091]
表7
[0092][0093]
接下来,flink可以对更新后的数据进行整合,示例性的,更新后的业务数据,如果需要关联,则按需要进行多表的关联处理。flink还可以将处理好的数据转换成结构化的消息,写入到kafka消息中间件,以便于接下来对业务数据的对比分析。如此一来,可以准确的得到每个业务系统中的增量数据。从而在对业务数据的对比分析时买可以进度新增的业务数据进行对比分析,从而可以提高数据对比效率。
[0094]
示例性的,flink可以对更新后的数据进行整合,可以建立集客用户属性关联表,例如,建立user_id和province_user_id之间的关联关系,其中,user_id可以关联集合用户表(表5)中的“user_id”字段,province_user_id可以关联cb用户&属性关联表(表7)中的“user_id”字段。flink可以将上述关联关系可以写入到kafka消息中间件,以便于接下来对业务数据的对比分析。
[0095]
根据本技术实施例,可以准确的得到每个业务系统中的增量数据。从而在对业务数据的对比分析时买可以进度新增的业务数据进行对比分析,从而可以提高数据对比效率。
[0096]
在一些实施例中,获取第一数据集和第二数据集,具体可以参考以下步骤:首先,对第一数据集中每个业务数据进行哈希运算,得到多个第一哈希值;对多个第一哈希值求和,得到第三总哈希值;对第二数数据集中每个业务数据进行哈希运算,得到多个第二哈希值;对多个第二哈希值求和,得到第四总哈希值;当第三总哈希值和第四总哈希值不同时,确定第一数据集和第二数据集中存在不一致的业务数据。
[0097]
由于同样的业务数据经过哈希运算后,能够得到相同的哈希值,且第一数据集和第二数据集包括数据量相同的业务数据,若两个数据集合中的业务数据相同,无论两个集合中的业务数据本身是否有序,都可以得到唯一的一个哈希总值,如此一来,可以省去对业务数据的排序处理,节约计算资源。尤其在第三哈希总值和第四哈希总值相同的情况下,可以直接得到第一数据集和第二数据集中业务数据一致,从而快速完成数据对比流程。
[0098]
在本技术实施例中,当第三总哈希值和第四总哈希值不同时,确定第一数据集和第二数据集中存在不一致的业务数据。
[0099]
在一些实施例中,对第一数据集中每个业务数据进行哈希运算,得到多个第一哈希值时,可以先对第一数据中的每个业务数据进行预处理,具体地,可以包括以下步骤:获取第一数据集中每个业务数据的第一字符长度信息;根据第一数据中每个业务数据的第一字符长度信息,对第一数据中每个业务数据进行字符填充,并添加第一字符长度信息的第一长度标识字符,得到第五业务数据,第五业务数据的字符长度为目标长度。在上述预处理完成后,对第五业务数据进行哈希运算,得到第一哈希值。
[0100]
具体地,每条业务数据在预处理后得到的第五业务数据能够满足目标长度。示例性的,设置目标长度满足512取模为0,在目标长度中预留预设长度用于添加业务数据的第一字符长度信息,例如,预留的预设长度可以使64bit。为了使第五业务数据的满足目标长度,可对判断业务数据对512取模以后的余数是448,由于448+64=512,因此,若业务数据不满足对512取模以后的余数是448时,可以先补第一个比特为1,然后都补0,直到长度满足对512取模后余数是448。
[0101]
根据本技术实施例,通过对不同业务系统的中的业务数据执行预处理,使得到的第五业务数据能够满足预设结构,以便于提高不同业务系统中业务数据对比可靠性。
[0102]
作为一个具体的示例,对第五业务数据进行哈希运算,得到第一哈希值,具体地哈希运算,例如:先将将第五业务数据分解成512bit大小的块,假设第五业务数据m可以被分解为n个块,于是整个算法需要做的就是完成n次迭代,n次迭代的结果就是最终的哈希值,即256bit的第一哈希值。一个256-bit的第一哈希值的初始值h0,经过第一迭代运算,得到h1,h1经过第二迭代运算,得到h2,
……
,依次处理,最后得到hn,hn即为最终的256-bit第五业务数据。将每次迭代进行的映射可以用$map(h_{ i-1})=h_{ i}$表示。
[0103]
在一些实例中,由于sha256算法中的最小运算单元为“字”,(word),一个字是32位,因此,256bit的hi可以被描述8个小块。
[0104]
此外,第一次迭代中,映射的初值设置为8个哈希初值,每一次迭代的内容:step1:构造64个字(word);对于每一块,将块分解为16个32-bit的big-endian的字,记为w[0],

,
w[15],也就是说,前16个字直接由第五业务数据的第i个块分解得到,其余的字由迭代公式计算得到。step2:进行64次循环;映射$map(h_{ i-1})=h_{ i}$包含了64次循环计算,即进行64次循环计算即可完成一次迭代。
[0105]
根据本技术实施例,基于同样的发明构思,对第二数据集中每个业务数据进行哈希运算,得到多个第二哈希值时,与对第二数据集中每个业务数据进行哈希运算,得到第一哈希值的计算步骤相同,在此不做赘述。
[0106]
在一些实施例中,对于每个业务系统中业务数据计算得到的哈希值,可以保存,以便于定位不同业务系统中不一致的业务数据时,可以直接使用,避免计算资源浪费。
[0107]
在本技术实施例中,当第三总哈希值和第四总哈希值不同时,确定第一数据集和第二数据集中存在不一致的业务数据。
[0108]
涉及步骤120,根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,m为正整数。
[0109]
示例性的,可以对两个业务系统中的数据集进行缓存,当缓存数据达到目标数量时,例如:1000-100万之间,在此不做具体限定。将两个数据库根据预设数据标识,分别形多个数据子集,每个数据子集的数据量一致。
[0110]
步骤130,获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值。
[0111]
具体地,可以获取第一数据子集中每个业务数据的第一哈希值和第二数据子集中每个业务数据的第二哈希值;对第一哈希值求和,得到第一总哈希值;对第二哈希值求和,得到第二总哈希值。
[0112]
其中,每个业务数据的哈希值可以从数据库中直接获取,也可重新计算,再次不做具体限定。
[0113]
步骤140,对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集。
[0114]
步骤150,当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回步骤120,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,对比结果包括不一致的业务数据。
[0115]
根据本技术实施例,对于存在差异的数据集合进行分堆处理,即划分数据子集,得到若干个数量更少的子集合,再来比对子集合的哈希值,直到集合中只有单条业务数据,那么直接进行比对,最终得出差异结果,基于哈希摘要的数据一致性比对算法提升比对效率,能够快速定位差异数据,便于数据修复。
[0116]
根据本技术实施例,通过智能合约服务平台对于接收到的业务数据自动进行差异比对,数据不一致问题实时发现,解决数据汇聚和历史数据全量比对资源占用问题。
[0117]
可以理解的是,当三个或三个以上的业务系统的业务数据需要进行业务数据的对比时,可以先将所有的业务系统两两组合得到不同的两个业务系统,再结合本技术实施例提供的数据处理方法,将两个业务系统的业务数据进行对比,找到不一致的业务数据,具体地数据处理方法可以参考本技术上述实施例中所描述的数据处理方法,在此不做赘述。
[0118]
基于相同的发明构思,本技术还提供了与上述数据处理方法对应的数据处理装置
300。具体结合图3进行详细说明。
[0119]
图3是本技术实施例提供的一种数据处理装置的结构示意图,装置应用于智能合约管理平台,如图3所示,该数据处理装置300可以包括:
[0120]
获取模块310,用于获取第一数据集和第二数据集,第一数据集包括和第二数据集包括数据量相同的业务数据,且第一数据集和第二数据集中存在不一致的业务数据,每个业务数据包括预设数据标识;
[0121]
处理模块320,用于根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,m为正整数;
[0122]
获取模块310,还用于获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值;
[0123]
查找模块330,用于对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集;
[0124]
处理模块320,还用于当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回步骤根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,对比结果包括不一致的业务数据。
[0125]
在一些实施例中,数据的第一哈希值和第二数据子集中每个业务数据的第二哈希值;
[0126]
处理模块320,还用于对第一哈希值求和,得到第一总哈希值;
[0127]
处理模块320,还用于对第二哈希值求和,得到第二总哈希值。
[0128]
在一些实施例中,处理模块320,还用于对第一数据集中每个业务数据进行哈希运算,得到多个第一哈希值;
[0129]
处理模块320,还用于对多个第一哈希值求和,得到第三总哈希值;
[0130]
处理模块320,还用于对第二数数据集中每个业务数据进行哈希运算,得到多个第二哈希值;
[0131]
处理模块320,还用于对多个第二哈希值求和,得到第四总哈希值;
[0132]
处理模块320,还用于当第三总哈希值和第四总哈希值不同时,确定第一数据集和第二数据集中存在不一致的业务数据。
[0133]
在一些实施例中,获取模块310,还用于获取第一数据中每个业务数据的第一字符长度信息;
[0134]
处理模块320,还用于根据第一数据中每个业务数据的第一字符长度信息,对第一数据中每个业务数据进行字符填充,并添加第一字符长度信息的第一长度标识字符,得到第五业务数据,第五业务数据的字符长度为目标长度;
[0135]
处理模块320,还用于对第五业务数据进行哈希运算,得到第一哈希值。
[0136]
在一些实施例中,装置还包括:
[0137]
接收模块,用于分别接收第一业务统实时发送的第一业务数据和第二业务系统实时发送的第二业务数据,第一业务数据包括第一业务信息标识和第一业务信息对应的第一
操作信息,第二业务数据包括第二业务信息标识和第二业务信息对应的第二操作信息;
[0138]
处理模块320,还用于根据第一业务信息标识和第一业务信息标识对应的第一操作信息,对数据库中存储第一业务信息执行第一操作,得到第一数据集中包括的业务数据;
[0139]
处理模块320,还用于根据第二业务信息标识和第二业务信息标识对应的第二操作信息,对数据库中存储的第二业务信息执行第二操作,得到第二数据集中包括的业务数据。
[0140]
在一些实施例中,处理模块320,还用于分别将第一数据集中包括的业务数据和第二数据集中包括的业务数据存储至数据库。
[0141]
可以理解的是,本技术实施例的数据处理装置200,可以对应于本技术实施例提供的数据处理方法的执行主体,数据处理装置200的各个模块/单元的操作和/或功能的具体细节可以参见上述本技术实施例图1的数据处理方法中的相应部分的描述,为了简洁,在此不再赘述。
[0142]
本技术实施例的数据处理装置,对于存在不一致的业务数据,通过智能合约服务平台,获取业务数据的数据量相同的第一数据集和第二数据集,并根据预设数据标识,将第一数据集和第二数据集分别拆分为m个第一数据子集和m个第二数据子集,之后,获取每个第一数据子集的第一总哈希值和每个第二数据子集的第二总哈希值,并对应每个预设数据标识,查找第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集;当第一数据子集或第二数据子集中包括的业务数据的数据量大于预设数量时,将第一总哈希值和第二总哈希值不同的第一数据子集和第二数据子集分别作为第一数据集和第二数据集,并返回重新确定第一数据子集和第二数据子集,直到第一数据子集或第二数据子集中包括的业务数据的数据量小于或等于预设数量,得到对比结果,其中,对比结果包括不一致的业务数据,通过上述迭代计算,能够直接定位不一致的业务数据,能够有效提高数据对比效率,且能够降低后期业务数据修复的成本和难度。
[0143]
图4示出了本技术一个实施例提供的数据处理设备的结构示意图。如图4所示,该设备可以包括处理器401以及存储有计算机程序指令的存储器402。
[0144]
具体地,上述处理器401可以包括中央处理器(central processing unit,cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0145]
存储器402可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在一个实例中,存储器402可以包括可移除或不可移除(或固定)的介质,或者存储器402是非易失性固态存储器。存储器402可在数据处理设备的内部或外部。
[0146]
存储器可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
[0147]
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现本技术实
施例所描述的方法,并达到本技术实施例执行其方法达到的相应技术效果,为简洁描述在此不再赘述。
[0148]
在一个示例中,该数据处理设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
[0149]
通信接口403,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
[0150]
总线410包括硬件、软件或两者,将在线信息流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(accelerated graphics port,agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,eisa)总线、前端总线(front side bus,fsb)、超传输(hyper transport,ht)互连、工业标准架构(industry standard architecture,isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
[0151]
该数据处理设备可以执行本技术实施例中的数据处理方法,从而实现本技术实施例描述的数据处理方法的相应技术效果。
[0152]
另外,结合上述实施例中的数据处理方法,本技术实施例可提供一种可读存储介质来实现。该可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据处理方法。可读存储介质的示例可以是非暂态机器可读介质,如电子电路、半导体存储器设备、只读存储器(read-only memory,rom)、软盘、只读光盘(compact disc read-only memory,cd-rom)、光盘、硬盘等。
[0153]
需要明确的是,本技术并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本技术的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本技术的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
[0154]
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(application specific integrated circuit,asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本技术的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、只读存储器(read-only memory,rom)、闪存、可擦除只读存储器(erasable read only memory,erom)、软盘、只读光盘(compact disc read-only memory,cd-rom)、光盘、硬盘、光纤介质、射频(radio frequency,rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0155]
还需要说明的是,本技术中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术不局限于上述步骤的顺序,也就是说,可以按照实施例中
提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0156]
另外,结合上述实施例中的数据处理方法、装置,以及可读存储介质,本技术实施例可提供一种计算机程序产品来实现。所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行上述实施例中的任意一种数据处理方法。
[0157]
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
[0158]
以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。
网友询问留言已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
技术分类