CN115237909A - 一种多系统的批量数据差异发现方法和系统 - Google Patents
一种多系统的批量数据差异发现方法和系统 Download PDFInfo
- Publication number
- CN115237909A CN115237909A CN202210778587.3A CN202210778587A CN115237909A CN 115237909 A CN115237909 A CN 115237909A CN 202210778587 A CN202210778587 A CN 202210778587A CN 115237909 A CN115237909 A CN 115237909A
- Authority
- CN
- China
- Prior art keywords
- data
- batch
- batch data
- hash
- block chain
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Probability & Statistics with Applications (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,尤其涉及一种多系统的批量数据差异发现方法和系统,方法中,每个业务系统将各自的批量数据对应的哈希摘要值汇聚到区块链平台,区块链平台对多个哈希摘要值进行对比,从而判断批量数据是否相同,若不相同,则对数据集合循环分解并重新对比,直至得到记录级差异数据结果,在保障了数据传输的安全可信的基础上,也极大地降低了对网络带宽和存储资源的需求。而且,去中心化的区块链平台可以实现多个业务系统之间的异步自治,不需要指定谁去管理汇聚的目标平台,各自维护自己的区块链节点即可。多个业务系统之间需要进行数据比对时,只需各自上传需要比对的批量数据即可,最终可以确保记录级差异数据结果是完全可信的。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种多系统的批量数据差异发现方法和系统。
背景技术
在企业实际业务流程中,内部业务运营方面,往往存在多个系统交互大量数据的应用场景,这些场景业务流程较长、系统间信息有重叠、接口对接呈网状网、业务流程存在同步和异步两种模式,目前针对这些接口、数据的保障机制依赖于接口自身建设水平以及事后的稽核检查,容易形成数据不一致;数据质量问题会对客户服务提供和客户满意度造成影响。对外合作运营方面,合作方与合作业务快速增加,数据的信任问题和一致性问题已成为焦点问题。
目前,一般都是利用数据中心汇聚多个系统的原始数据来进行比对,从而得到数据的差异结果。定期将数据汇聚到一个中心化的系统,再按照约定的数据比较规则进行计算,输出结果提供给维护人员和业务人员做处理。具体地:
1)利用hadoop集群实现大批量数据差异发现:
首先通过sqoop工具将多个系统的数据采集汇聚到hadoop集群中,hadoop集群再对汇聚的数据进行批量比对,并得到大批量数据比对的差异结果。
2)利用关系型数据库实现大批量数据差异发现:
通过数据库导入工具,将采集到的多个系统的数据汇聚到作为数据中心的关系型数据库中,利用关系型数据库的批量比对功能对汇聚的数据进行比对,并得到大批量数据比对的差异结果。
3)利用脚本实现大批量数据差异发现:
将多个系统的数据采集到作为数据中心的单个主机,利用shell脚本或者python脚本对汇聚的数据进行批量比对,并得到大批量数据比对的差异结果。
以上现有技术具有如下技术缺陷:
1)数据采集过程需要传输大量的数据,对网络带宽的占用大,同时会造成较长的传输时延;
2)数据传输过程中传输数据可能被篡改或窃取,使得差异结果不可信并存在敏感数据泄漏的风险;
3)多个系统的原始数据汇聚到数据中心之后需要进行备份,又需要占用数据中心大量的存储资源;
4)数据比对过程中,需要对大批量数据进行排序,需要耗费数据中心大量内存和cpu资源。
5)中心化的数据比对平台,比对的过程和比对结果的管理完全由第三方的中心系统负责,无法从技术上保证比对结果的可信。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供了一种多系统的批量数据差异发现方法和系统。
本发明的一种多系统的批量数据差异发现方法的技术方案如下:
S1、每个业务系统对各自的批量数据进行哈希计算,得到每个业务系统的批量数据所对应的哈希摘要值;
S2、每个业务系统将各自的哈希摘要值构造为交易数据,并发送至区块链平台;
S3、所述区块链平台解析每个业务系统对应的交易数据,得到每个业务系统对应的哈希摘要值;
S4、所述区块链平台判断所有的哈希摘要值是否全部相同,得到判断结果,当所述判断结果为否时,对每个业务系统发送分解请求;
S5、每个业务系统接收到分解请求后,按照统一规则对各自的批量数据进行分解,分别得到多个子批量数据;
S6、每个业务系统将各自的子批量数据作为各自的批量数据,返回执行S1,直至达到预设终止条件,每个业务系统得到当前的子批量数据并发送至所述区块链平台;
S7、所述区块链平台判断每个业务系统的当前的子批量数据是否相同,得到记录级差异数据结果,记录级差异数据结果包括:任意两个业务系统的当前的子批量数据中的所有存在差异的数据。
本发明的一种多系统的批量数据差异发现方法的有益效果如下:
每个业务系统将各自的批量数据对应的哈希摘要值汇聚到区块链平台,区块链平台对多个哈希摘要值进行对比,从而判断批量数据是否相同,若不相同,则对数据集合循环分解并重新对比,直至得到记录级差异数据结果,由于只有批量数据的哈希摘要需要汇聚到区块链平台上,在保障了数据传输的安全可信的基础上,也极大地降低了对网络带宽和存储资源的需求。而且,去中心化的区块链平台,可以实现多个业务系统之间的异步自治,也就是不需要指定谁去管理汇聚的目标平台,各自维护自己的区块链节点即可。多个业务系统之间需要进行数据比对时,只需各自上传需要比对的批量数据即可。最终可以确保记录级差异数据结果是完全可信的。
在上述方案的基础上,本发明的一种多系统的批量数据差异发现方法还可以做如下改进。
进一步,所述S2包括:
每个业务系统用各自的私钥对各自的交易数据进行签名,并将各自的签名后的交易数据发送到区块链平台;
则S3包括:
所述区块链平台解析每个签名后的交易数据,得到每个业务系统对应的哈希摘要值。
采用上述进一步方案的有益效果是:防止交易数据被篡改,进一步提高数据的安全性,以及记录级差异数据结果是可信度。
进一步,所述S1包括:
任一业务系统对所述任一业务系统的批量数据中每条数据进行哈希计算,并将所有哈希值之和,确定为所述任一业务系统的批量数据所对应的哈希摘要值,直至得到每个业务系统的批量数据所对应的哈希摘要值。
进一步,还包括:
基准业务系统之外的每个业务系统根据记录级差异数据结果以及基准业务系统的当前的子批量数据,对各自的当前的子批量数据进行修正,其中,从所有业务系统中确定所述基准业务系统。
采用上述进一步方案的有益效果是:能够实现每个业务系统的批量数据的自动修正。
进一步,所述预设终止条件为:子批量数据中的数据的条数阈值。
本发明的一种多系统的批量数据差异发现系统的技术方案如下:
包括多个业务系统和区块链平台;
每个业务系统用于:对各自的批量数据进行哈希计算,得到每个业务系统的批量数据所对应的哈希摘要值,并将各自的哈希摘要值构造为交易数据,并发送至区块链平台;
所述区块链平台用于:解析每个业务系统对应的交易数据,得到每个业务系统对应的哈希摘要值,并判断所有的哈希摘要值是否全部相同,得到判断结果,当所述判断结果为否时,对每个业务系统发送分解请求;
每个业务系统还用于:接收到分解请求后,按照统一规则对各自的批量数据进行分解,分别得到多个子批量数据,并将各自的子批量数据作为各自的批量数据并进行处理,直至达到预设终止条件,每个业务系统得到当前的子批量数据并发送至所述区块链平台;
所述区块链平台还用于:判断每个业务系统的当前的子批量数据是否相同,得到记录级差异数据结果,记录级差异数据结果包括:任意两个业务系统的当前的子批量数据中的所有存在差异的数据。
本发明的一种多系统的批量数据差异发现系统的有益效果如下:
每个业务系统将各自的批量数据对应的哈希摘要值汇聚到区块链平台,区块链平台对多个哈希摘要值进行对比,从而判断批量数据是否相同,若不相同,则对数据集合循环分解并重新对比,直至得到记录级差异数据结果,由于只有批量数据的哈希摘要需要汇聚到区块链平台上,在保障了数据传输的安全可信的基础上,也极大地降低了对网络带宽和存储资源的需求。而且,去中心化的区块链平台,可以实现多个业务系统之间的异步自治,也就是不需要指定谁去管理汇聚的目标平台,各自维护自己的区块链节点即可。多个业务系统之间需要进行数据比对时,只需各自上传需要比对的批量数据即可。最终可以确保记录级差异数据结果是完全可信的。
在上述方案的基础上,本发明的一种多系统的批量数据差异发现系统还可以做如下改进。
进一步,每个业务系统还具体用于:利用各自的私钥对各自的交易数据进行签名,并将各自的签名后的交易数据发送到区块链平台;
所述区块链平台具体用于:所述区块链平台解析每个签名后的交易数据,得到每个业务系统对应的哈希摘要值。
进一步,任一业务系统对所述任一业务系统的批量数据中每条数据进行哈希计算,并将所有哈希值之和,确定为所述任一业务系统的批量数据所对应的哈希摘要值,直至得到每个业务系统的批量数据所对应的哈希摘要值。
进一步,基准业务系统之外的每个业务系统用于:
根据记录级差异数据结果以及基准业务系统的当前的子批量数据,对各自的当前的子批量数据进行修正,其中,从所有业务系统中确定所述基准业务系统。
进一步,所述预设终止条件为:子批量数据中的数据的条数阈值。
附图说明
图1为本发明实施例的一种多系统的批量数据差异发现方法的流程示意图;
图2为本发明实施例的一种多系统的批量数据差异发现系统的结构示意图。
具体实施方式
如图1所示,本发明实施例的一种多系统的批量数据差异发现方法,包括如下步骤:
S1、每个业务系统对各自的批量数据进行哈希计算,得到每个业务系统的批量数据所对应的哈希摘要值;结合图2进行阐述,业务系统的数量f可根据实际情况进行设置,具体地:
任一业务系统对任一业务系统的批量数据中每条数据进行哈希计算,并将所有哈希值之和,确定为任一业务系统的批量数据所对应的哈希摘要值,直至得到每个业务系统的批量数据所对应的哈希摘要值。
对于任意长度的输入数据,经过哈希函数计算后都可以得到定长的输出数据,输出数据的大小一般为16字节。一个好的哈希算法满足以下特性:1)确定性:相同的输入数据,产生相同的输出数据;2)不可逆性:无法通过输出数据反推出输入数据;3)混淆特性:即使输入数据之间只有细微的差别,对应的输出数据也完全不同。
但是对于一个数据集合即批量数据来说,直接进行哈希计算的方法是不行的,因为对于每个系统的批量数据来说,即使包含的所有元素即所有数据是一样的,元素即数据之间的次序不一致也会导致计算出的哈希摘要不相同。所以这里规定,对于一个数据集合即批量数据,数据集合即批量数据的哈希摘要值等于各个元素的哈希值之和,即批量数据的哈希摘要值为每条数据的哈希值之和,如下式所示:
Hash(Φ)=Hash(e1)+Hash(e2)+…+Hash(en)
其中,Hash(Φ)表示任一批量数据的哈希摘要值,Hash(e1)表示该批量数据的第一条数据的哈希值,Hash(e2)表示该批量数据的第二条数据的哈希值,Hash(en)表示该批量数据的第n条数据的哈希值,其中,n表示该批量数据中的数据的总条数。
可以证明,对于两个相同的数据集合即批量数据来说,这样计算得到的哈希摘要值也是相同的,也就是说,哈希摘要值的计算结果不受数据集合即批量数量中元素即数据的排列次序的影响。
S2、每个业务系统将各自的哈希摘要值构造为交易数据,并发送至区块链平台;具体地:
任一业务系统如第一个业务系统得到批量数据的哈希摘要之后,还需要将其构造为区块链平台的一笔交易,在区块链网络中,一笔交易是对智能合约代码的一次调用,具体地,每个业务系统将各自哈希摘要值构造为交易数据,并发送至区块链平台;
S3、区块链平台解析每个业务系统对应的交易数据,得到每个业务系统对应的哈希摘要值;
在另外一个实施例中,S2中,每个业务系统用各自的私钥对各自的交易数据进行签名,并将各自的签名后的交易数据发送到区块链平台;则S3包括:
区块链平台解析每个签名后的交易数据,得到每个业务系统对应的哈希摘要值。防止交易数据被篡改,进一步提高数据的安全性,以及记录级差异数据结果是可信度。即交易中的数据会经过加密之后用用户的私钥进行数字签名,这样可以保证数据不被篡改和窃取。
S4、区块链平台判断所有的哈希摘要值是否全部相同,得到判断结果,当判断结果为否时,对每个业务系统发送分解请求;
S5、每个业务系统接收到分解请求后,按照统一规则对各自的批量数据进行分解,分别得到多个子批量数据;
S6、每个业务系统将各自的子批量数据作为各自的批量数据,返回执行S1,直至达到预设终止条件,每个业务系统得到当前的子批量数据并发送至区块链平台。具体地:
例如,每个业务系统中的批量数据共有100000条数据,按照统一规则对各自的批量数据进行分解,例如,平均分成10组,即每个子批量数据中包括10000条数据,此时,每个业务系统分别有10个子批量数据,也就是说,每个业务系统对应10个子批量数据的哈希摘要值,然后返回执行S1,直至达到预设终止条件,每个业务系统得到当前的子批量数据并发送至区块链平台预设终止条件为:子批量数据中的数据的条数阈值。例如,子批量数据中的数据的条数阈值为100条,则将每个业务系统中的批量数据分出的子批量数据中的总条数达到100条,即停止,此时,每个业务系统得到当前的子批量数据均为100条;
区块链平台判断每个业务系统的当前的子批量数据是否相同,得到记录级差异数据结果,记录级差异数据结果为:任意两个业务系统的当前的子批量数据中的所有存在差异的数据。
每个业务系统将各自的批量数据对应的哈希摘要值汇聚到区块链平台,区块链平台对多个哈希摘要值进行对比,从而判断批量数据是否相同,若不相同,则对数据集合循环分解并重新对比,直至得到记录级差异数据结果,由于只有批量数据的哈希摘要需要汇聚到区块链平台上,在保障了数据传输的安全可信的基础上,也极大地降低了对网络带宽和存储资源的需求。而且,去中心化的区块链平台,可以实现多个业务系统之间的异步自治,也就是不需要指定谁去管理汇聚的目标平台,各自维护自己的区块链节点即可。多个业务系统之间需要进行数据比对时,只需各自上传需要比对的批量数据即可。最终可以确保记录级差异数据结果是完全可信的。
可选地,在上述技术方案中,还包括:
S8、基准业务系统之外的每个业务系统根据记录级差异数据结果以及基准业务系统的当前的子批量数据,对各自的当前的子批量数据进行修正,其中,从所有业务系统中确定基准业务系统,能够实现每个业务系统的批量数据的自动修正;
例如,从所有业务系统中确定的基准业务系统为中国移动,则将中国移动的批量数量作为预设基准数据,那么:
由于记录级差异数据结果为任意两个业务系统的当前的子批量数据中的所有存在差异的数据,记录级差异数据结果包括:中国移动与其它每个业务系统之间的当前的子批量数据的所有存在差异的数据,因此,可以从中国移动提供的预设基准数据中查询中国移动的当前的子批量数据,以对其它业务系统的差异数据进行修正。
下面通过另外一个实施例,对本发明的一种多系统的批量数据差异发现方法进行说明,具体包括:
S10、基于智能合约的哈希摘要比对任务配置,该步骤最终交付多个业务系统之间的大批量数据比对任务配置实例,具体包括:
S100、在区块链平台部署基于哈希摘要值比对实现大批量数据差异发现的智能合约,并将部署地址告知各业务系统,同时将部署地址记录在区块链即区块链平台上,以便各业务系统进行查询;
S101、确定比对任务的场景ID,同时确定该比对场景下所包含的业务系统对应的数据源ID,并指定哪一个数据源ID的批量数据作为自动差异修复的基准,以便在得到比对结果后区块链平台通知各业务系统进行差异结果的自动修复;完成这些步骤之后将配置信息构造为交易向S100所得到的合约地址进行发送;
S102、在S101中对比对任务的基本配置完成后,还需要对比对任务的算法流程进行配置,包括比对过程中分解子集合的规则的协定,哈希摘要算法的协定,并将这些配置构造为交易向S100得到的合约地址进行发送。
至此,基于智能合约的哈希摘要比对任务配置完成,交付一个链上的基于哈希摘要比对实现大批量数据差异发现的智能合约的比对任务配置实例。
其中,智能合约比对任务模板配置的流程具体为,在多业务系统进行数据比对前,需要先配置好比对任务的数据源ID,参与这次比对任务的数据源的ID列表,以及若批量数据出现不一致,以哪个数据源ID作为预设基准数据对应的数据源ID,以及具体的分解数据集合即批量数据的规则,和具体选择哪个哈希算法等信息。
S20、基于区块链平台通过哈希摘要比对实现大批量数据差异发现,该步骤交付基于哈希摘要比对进行大批量数据差异发现的过程记录数据,以及最终的差异结果,这些信息都会通知到各个业务系统并且永久保存在区块链平台上,以便各个业务系统进行查询。具体包括:
S200、业务系统计算将要进行比对的批量数据的哈希摘要值,并将大批量数据中的每一条(key,value)记录中的value值都进行哈希计算,将原本的key值和哈希值hash(value)保存到临时文件中,以便后续进行子集合的划分,这些计算和存储步骤都是在各个业务系统的本地完成的。
S201、将S200计算得到的哈希摘要值构造为交易,得到交易数据,并用本地的私钥对交易数据进行数字签名,发送到区块链平台上,触发智能合约进行哈希摘要的比对。
S202、区块链平台在收到各业务系统发送的数据摘要值后,对数据摘要进行比对,若一致,则告知各业务系统比对一致的结果,若不一致,则对各业务系统发送继续进行数据集合分解的请求,即对每个业务系统发送分解请求。
S203、各业务系统在收到S202发送的继续分解数据集合的请求后,会对当前不一致的数据集合按照统一的规则进行子集合分解,即每个业务系统接收到分解请求后,按照统一规则对各自的批量数据进行分解,分别得到多个子批量数据,具体根据key值的哈希值散列到N个子数据集合即子批量数据中,并对分解出的子集合即子批量数据分别进行哈希摘要值的计算,N为正整数;
S204、将S203中计算出的各个子集合即子批量数据的哈希摘要值构造为交易,得到交易数据,并用本地私钥对交易数据进行数字签名,发送到区块链平台上,触发智能合约进行哈希摘要的比对,并重复进入S202,直到找出最终的差异结果即。
上述哈希摘要比对递归流程具体为:数据源A如第一个业务系统和数据源B如第二个业务系统分别将自己的数据集合即批量数据的哈希摘要H(A)和H(B)上传到区块链上并触发智能合约进行比较,若相等,则说明数据源A的批量数据和数据源B的批量数据是相等的,没有差异数据;若不等那么需要递归,将当前不相等的数据源分解为规定数量的子数据集合,分别计算子数据集合的哈希摘要,上传到区块链平台,触发智能合约进行比对,直到得到最终的差异数据即得到记录级差异数据结果。
至此,基于区块链平台通过哈希摘要比对实现大批量数据差异发现完成,交付基于哈希摘要比对进行大批量数据差异发现的过程记录数据,以及最终的差异结果即记录级差异数据结果。
S30、基于区块链平台实现对大批量数据的差异结果进行自动修复,该步骤根据配置的预设基准数据作为基准,在得到最终的差异结果后,对各业务系统发送的数据修复请求消息。在各业务系统对数据修复请求消息进行正确处理后,可以保证各个系统之间的数据是一致的,从而完成了基于区块链平台实现对大批量数据的差异结果的自动修复。
上述“根据配置的基准源ID及即预设基准数据对应的数据源ID,将差异数据修复请求推送到各业务系统,触发自动修复流程”具体为:在得到最终的差异结果(k1,v1)和(k2,v2)之后,区块链平台会根据配置的基准源ID,将差异结果推送到需要进行修复的业务系统,业务系统收到差异结果修复请求后触发数据的自动修复流程,完成差异结果的自动修复。
本发明针对大批量数据中存在少量差异的场景,采用计算批量数据的哈希摘要,通过比较哈希摘要的方式来寻找大批量数据中的差异,是本提案的重要创新,该方法创新性地解决传统模式下对原始的大批量数据进行中心汇聚来进行比对的方式所造成的网络带宽和存储资源的大量占用,应当予以保护。
本发明通过累加数据集合中每条记录的哈希值,最终得到的和作为数据集合的哈希摘要,并且在分解数据集合时,根据key值的哈希值散列到N个子数据集合中,可以确保相同key的数据划分到相同的数据集合中,是本提案的重要创新,该方案创新性地引入数据集合的哈希摘要计算方式,不需要要求数据集合中元素的次序,从而避免对大批量数据进行排序,从而节省大量的内存资源,应当予以保护。
本发明基于区块链平台作为哈希摘要数据的汇聚中心,是本提案的重要创新,该设计方案创新性地引入区块链技术,利用区块链技术中去中心化,加密通信,数字签名等技术特点,天然保障了传输数据与比对结果的安全可信,应当予以保护。
本发明具有如下有益效果:
1)能够将大批量数据的哈希摘要数据上链,可以极大降低对网络带宽的需求,以及长传输时延的问题。
2)利用区块链中加密通信和数字签名技术,可以保证数据传输过程中不被篡改以及数据泄漏,同时由于上传的只是哈希摘要数据,也不会造成敏感信息的泄漏。
3)只有大批量数据的哈希摘要数据需要上链,可以极大降低对数据汇聚的目标平台的存储资源的占用。
4)计算大批量数据的哈希摘要的过程不需要对数据进行排序,可以极大降低对数据汇聚目标平台内存资源的占用。
5)基于区块链平台作为数据比对平台,由于区块链区中心化的技术特性,可以确保比对的规则和比对的结果都是透明可信的。
本方法主要解决大批量数据差异发现过程中数据采集过程中占用大量网络带宽资源的问题,以及传输过程中数据被篡改,敏感数据泄漏的问题;解决数据汇聚过程中占用数据中心大量的存储资源的问题;解决数据比对过程中耗费数据中心大量内存和cpu资源的问题;解决中心化的数据比对平台导致的比对结果不可信的问题。具体地:
本方法基于将多个系统的大批量数据的哈希摘要汇聚到区块链平台,通过触发智能合约对哈希摘要进行比对,从而判断对应的数据集合是否相等,若不相同,则对数据集合循环分解,根据key值的哈希值散列到N个子数据集合中,对子数据集合进行比对,最终得到差异结果。由于只有数据的哈希摘要需要汇聚到链上,在保障了数据传输的安全可信的基础上也极大地降低了对网络带宽和存储资源的需求。
同时,汇聚的目标平台由中心化的数据平台变为去中心化的区块链平台,可以实现多个系统之间的异步自治,也就是不需要指定谁去管理汇聚的目标平台,各自维护自己的区块链节点即可。多个系统之间需要进行数据比对时,可以通过区块链自行协商好比对的配置,达成共识之后只需各自上传需要比对的数据即可。最终可以确保比对的结果是完全可信的。
在上述各实施例中,虽然对步骤进行了编号S1、S2等,但只是本申请给出的具体实施例,本领域的技术人员可根据实际情况调整S1、S2等的执行顺序,此也在本发明的保护范围内,可以理解,在一些实施例中,可以包含如上述各实施方式中的部分或全部。
如图2所示,本发明实施例的一种多系统的批量数据差异发现系统,包括多个业务系统和区块链平台;
每个业务系统用于:对各自的批量数据进行哈希计算,得到每个业务系统的批量数据所对应的哈希摘要值,并将各自的哈希摘要值构造为交易数据,并发送至区块链平台;
区块链平台用于:解析每个业务系统对应的交易数据,得到每个业务系统对应的哈希摘要值,并判断所有的哈希摘要值是否全部相同,得到判断结果,当判断结果为否时,对每个业务系统发送分解请求;
每个业务系统还用于:接收到分解请求后,按照统一规则对各自的批量数据进行分解,分别得到多个子批量数据,并将各自的子批量数据作为各自的批量数据并进行处理,直至达到预设终止条件,每个业务系统得到当前的子批量数据并发送至区块链平台;
区块链平台还用于:判断每个业务系统的当前的子批量数据是否相同,得到记录级差异数据结果,记录级差异数据结果包括:任意两个业务系统的当前的子批量数据中的所有存在差异的数据。
每个业务系统将各自的批量数据对应的哈希摘要值汇聚到区块链平台,区块链平台对多个哈希摘要值进行对比,从而判断批量数据是否相同,若不相同,则对数据集合循环分解并重新对比,直至得到记录级差异数据结果,由于只有批量数据的哈希摘要需要汇聚到区块链平台上,在保障了数据传输的安全可信的基础上,也极大地降低了对网络带宽和存储资源的需求。而且,去中心化的区块链平台,可以实现多个业务系统之间的异步自治,也就是不需要指定谁去管理汇聚的目标平台,各自维护自己的区块链节点即可。多个业务系统之间需要进行数据比对时,只需各自上传需要比对的批量数据即可。最终可以确保记录级差异数据结果是完全可信的。
可选地,在上述技术方案中,每个业务系统还具体用于:利用各自的私钥对各自的交易数据进行签名,并将各自的签名后的交易数据发送到区块链平台;
区块链平台具体用于:区块链平台解析每个签名后的交易数据,得到每个业务系统对应的哈希摘要值。
可选地,在上述技术方案中,任一业务系统对任一业务系统的批量数据中每条数据进行哈希计算,并将所有哈希值之和,确定为任一业务系统的批量数据所对应的哈希摘要值,直至得到每个业务系统的批量数据所对应的哈希摘要值。
可选地,在上述技术方案中,基准业务系统之外的每个业务系统用于:
根据记录级差异数据结果以及基准业务系统的当前的子批量数据,对各自的当前的子批量数据进行修正,其中,从所有业务系统中确定基准业务系统。
可选地,在上述技术方案中,预设终止条件为:子批量数据中的数据的条数阈值。
上述关于本发明的一种多系统的批量数据差异发现系统中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种多系统的批量数据差异发现方法的实施例中的各参数和步骤,在此不做赘述。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。
因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM),只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种多系统的批量数据差异发现方法,其特征在于,包括:
S1、每个业务系统对各自的批量数据进行哈希计算,得到每个业务系统的批量数据所对应的哈希摘要值;
S2、每个业务系统将各自的哈希摘要值构造为交易数据,并发送至区块链平台;
S3、所述区块链平台解析每个业务系统对应的交易数据,得到每个业务系统对应的哈希摘要值;
S4、所述区块链平台判断所有的哈希摘要值是否全部相同,得到判断结果,当所述判断结果为否时,对每个业务系统发送分解请求;
S5、每个业务系统接收到分解请求后,按照统一规则对各自的批量数据进行分解,分别得到多个子批量数据;
S6、每个业务系统将各自的子批量数据作为各自的批量数据,返回执行S1,直至达到预设终止条件,每个业务系统得到当前的子批量数据并发送至所述区块链平台;
S7、所述区块链平台判断每个业务系统的当前的子批量数据是否相同,得到记录级差异数据结果,记录级差异数据结果包括:任意两个业务系统的当前的子批量数据中的所有存在差异的数据。
2.根据权利要求1所述的一种多系统的批量数据差异发现方法,其特征在于,所述S2包括:
每个业务系统用各自的私钥对各自的交易数据进行签名,并将各自的签名后的交易数据发送到区块链平台;
则S3包括:
所述区块链平台解析每个签名后的交易数据,得到每个业务系统对应的哈希摘要值。
3.根据权利要求1或2所述的一种多系统的批量数据差异发现方法,其特征在于,所述S1包括:
任一业务系统对所述任一业务系统的批量数据中每条数据进行哈希计算,并将所有哈希值之和,确定为所述任一业务系统的批量数据所对应的哈希摘要值,直至得到每个业务系统的批量数据所对应的哈希摘要值。
4.根据权利要求1或2所述的一种多系统的批量数据差异发现方法,其特征在于,还包括:
基准业务系统之外的每个业务系统根据记录级差异数据结果以及基准业务系统的当前的子批量数据,对各自的当前的子批量数据进行修正,其中,从所有业务系统中确定所述基准业务系统。
5.根据权利要求1或2所述的一种多系统的批量数据差异发现方法,其特征在于,所述预设终止条件为:子批量数据中的数据的条数阈值。
6.一种多系统的批量数据差异发现系统,其特征在于,包括多个业务系统和区块链平台;
每个业务系统用于:对各自的批量数据进行哈希计算,得到每个业务系统的批量数据所对应的哈希摘要值,并将各自的哈希摘要值构造为交易数据,并发送至区块链平台;
所述区块链平台用于:解析每个业务系统对应的交易数据,得到每个业务系统对应的哈希摘要值,并判断所有的哈希摘要值是否全部相同,得到判断结果,当所述判断结果为否时,对每个业务系统发送分解请求;
每个业务系统还用于:接收到分解请求后,按照统一规则对各自的批量数据进行分解,分别得到多个子批量数据,并将各自的子批量数据作为各自的批量数据并进行处理,直至达到预设终止条件,每个业务系统得到当前的子批量数据并发送至所述区块链平台;
所述区块链平台还用于:判断每个业务系统的当前的子批量数据是否相同,得到记录级差异数据结果,记录级差异数据结果包括:任意两个业务系统的当前的子批量数据中的所有存在差异的数据。
7.根据权利要求6所述的一种多系统的批量数据差异发现系统,其特征在于,每个业务系统还具体用于:利用各自的私钥对各自的交易数据进行签名,并将各自的签名后的交易数据发送到区块链平台;
所述区块链平台具体用于:所述区块链平台解析每个签名后的交易数据,得到每个业务系统对应的哈希摘要值。
8.根据权利要求6或7所述的一种多系统的批量数据差异发现系统,其特征在于,任一业务系统对所述任一业务系统的批量数据中每条数据进行哈希计算,并将所有哈希值之和,确定为所述任一业务系统的批量数据所对应的哈希摘要值,直至得到每个业务系统的批量数据所对应的哈希摘要值。
9.根据权利要求6或7所述的一种多系统的批量数据差异发现系统,其特征在于,基准业务系统之外的每个业务系统用于:
根据记录级差异数据结果以及基准业务系统的当前的子批量数据,对各自的当前的子批量数据进行修正,其中,从所有业务系统中确定所述基准业务系统。
10.根据权利要求6或7所述的一种多系统的批量数据差异发现系统,其特征在于,所述预设终止条件为:子批量数据中的数据的条数阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210778587.3A CN115237909A (zh) | 2022-06-30 | 2022-06-30 | 一种多系统的批量数据差异发现方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210778587.3A CN115237909A (zh) | 2022-06-30 | 2022-06-30 | 一种多系统的批量数据差异发现方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115237909A true CN115237909A (zh) | 2022-10-25 |
Family
ID=83670708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210778587.3A Pending CN115237909A (zh) | 2022-06-30 | 2022-06-30 | 一种多系统的批量数据差异发现方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115237909A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116366678A (zh) * | 2023-06-02 | 2023-06-30 | 杭州端点网络科技有限公司 | 一种数据运营智能平台动态数据分布式存储系统 |
-
2022
- 2022-06-30 CN CN202210778587.3A patent/CN115237909A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116366678A (zh) * | 2023-06-02 | 2023-06-30 | 杭州端点网络科技有限公司 | 一种数据运营智能平台动态数据分布式存储系统 |
CN116366678B (zh) * | 2023-06-02 | 2023-08-01 | 杭州端点网络科技有限公司 | 一种数据运营智能平台动态数据分布式存储系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110958118B (zh) | 证书认证管理方法、装置、设备及计算机可读存储介质 | |
US20210083882A1 (en) | Distributed certificate authority | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
US20210258375A1 (en) | Sharding block chain generation method based on tree structure | |
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN111427957A (zh) | 区块链投票信息校验方法、装置、设备以及存储介质 | |
CN103595802A (zh) | 家庭网关软件远程自动升级的方法 | |
CN112152778B (zh) | 一种节点管理方法、装置、及电子设备 | |
CN113806699B (zh) | 一种云际计算环境中跨区块链身份验证方法及系统 | |
US11245709B2 (en) | Multi-verifier approach for attestation of nodes in a network | |
CN110149202B (zh) | 基于区块链的参数配置、重构方法、装置、设备及介质 | |
CN112671881B (zh) | 节点组织管理方法、装置、电子设备及可读存储介质 | |
CN112446039A (zh) | 区块链交易处理方法、装置、设备和存储介质 | |
CN112188247B (zh) | 一种数据传输方法、装置、设备及计算机可读存储介质 | |
CN111340483A (zh) | 一种基于区块链的数据管理方法及相关设备 | |
CN115237909A (zh) | 一种多系统的批量数据差异发现方法和系统 | |
US20080028224A1 (en) | Methods and Systems for Providing Integrity and Trust in Data Management and Data Distribution Processes | |
CN114239072A (zh) | 区块链节点管理方法及区块链网络 | |
CN112235290B (zh) | 基于区块链的物联网设备管理方法及第一物联网设备 | |
CN111222989B (zh) | 多通道区块链的交易方法、电子设备和存储介质 | |
CN102299927A (zh) | 内容安全监管系统及方法 | |
CN116614519A (zh) | 基于优化共识算法的视频及相关信息轻量级可信上链方法 | |
CN110618989A (zh) | 信息处理方法、信息处理装置及相关产品 | |
CN111782615B (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 |