CN110096511B - 基于私有链的数据一致性验证方法、装置、设备及介质 - Google Patents
基于私有链的数据一致性验证方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110096511B CN110096511B CN201910365927.8A CN201910365927A CN110096511B CN 110096511 B CN110096511 B CN 110096511B CN 201910365927 A CN201910365927 A CN 201910365927A CN 110096511 B CN110096511 B CN 110096511B
- Authority
- CN
- China
- Prior art keywords
- data
- identifier
- subscription
- subscription table
- consistency verification
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 168
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012423 maintenance Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013496 data integrity verification Methods 0.000 description 1
- 238000011981 development test Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于私有链的数据一致性验证方法、装置、设备及存储介质,该方法包括以下步骤:按照预设完整性校验规则验证订阅表中的数据是否完整,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;若订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致,所述发布表中存储有发布方发布在私有链上的原始数据;根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表。本发明通过对订阅表进行完整性验证和对订阅表与发布表的一致性进行验证,实现了发布数据和订阅数据的线上验证,进而提高了发布方数据和订阅方数据对账的效率。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于私有链的数据一致性验证方法、装置、设备及介质。
背景技术
随着金融科技(Fintech),尤其是互联网科技金融的不断发展,区块链(Blockchain)技术被逐渐引入银行等金融机构的业务交易中。
银行与合作方的对账一般采用T+1日FTP(File Transfer Protocol,文件传输协议)数据文件到双方中间站点来核对的方式,时效不高且数据存在丢失和被篡改的风险。为了满足对账实时性、交易数据不可篡改、不可丢失的要求,现有一种基于事件驱动的区块链方案,但是在该方案中不同业务项目私有链相互独立、各自维护,私有链下的数据相互隔离,没有形成完整的链上数据一致性校验,联调时依赖合作方主动发起发布或者订阅获取数据后再共同进行线下发布数据和订阅数据的人工核对校验,校验效率低下,因此项目进度缓慢,不满足敏捷开发测试需求。
发明内容
本发明的主要目的在于提供一种基于私有链的数据一致性验证方法、装置、设备及介质,旨在解决现有技术发布数据与订阅数据的一致性校验效率低下的技术问题。
为实现上述目的,本发明提供一种基于私有链的数据一致性验证方法,所述基于私有链的数据一致性验证方法包括以下步骤:
按照预设完整性校验规则验证订阅表中的数据是否完整,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;
若订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致,所述发布表中存储有发布方发布在私有链上的原始数据;
根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表。
可选地,所述按照预设完整性校验规则验证订阅表中的数据是否完整的步骤包括:
按照预设频率获取汇总表中的第一数据标识和订阅表中最新数据的第二数据标识,验证所述第二数据标识与所述第一数据标识是否相同,所述第一数据标识为上一次获取到的订阅表中最新数据的数据标识;
若所述第二数据标识与所述第一数据标识不相同,则计算所述订阅表中大于第一数据标识且小于或者等于第二数据标识的所有数据标识对应的第一数据总量,和发布表中大于第一数据标识且小于或者等于第二数据标识的所有数据标识对应的第二数据总量;
根据所述第一数据总量与所述第二数据总量是否相等判断所述订阅表中的数据是否完整。
可选地,所述根据所述第一数据总量与所述第二数据总量是否相等判断所述订阅表中的数据是否完整的步骤包括:
若所述第一数据总量与所述第二数据总量相等,则判定所述订阅表中的数据完整;
若所述第一数据总量与所述第二数据总量不相等,则判定所述订阅表中的数据不完整。
可选地,所述若所述第一数据总量与所述第二数据总量相等,则判定所述订阅表中的数据完整的步骤之后,还包括:
将所述汇总表中的第一数据标识更新为所述第二数据标识,以供下次数据一致性验证使用。
可选地,所述若所述第一数据总量与所述第二数据总量不相等,则判定所述订阅表中的数据不完整的步骤之后,还包括:
向预设告警终端发送告警信息,以提示运维人员进行人工干预。
可选地,所述根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致的步骤包括:
基于预设字段将所述订阅表中的数据与发布表中的数据进行匹配;
若所述订阅表中的数据与发布表中的数据完全匹配,则判定所述订阅表中的数据与发布表中的数据一致;
若所述订阅表中的数据与发布表中的数据不完全匹配,则判定所述订阅表中的数据与发布表中的数据不一致。
可选地,所述根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表的步骤包括:
在接收到用户终端发送的报表查询请求时,获取所述报表查询请求携带的查询权限标识和/或目标业务标识;
根据所述查询权限标识和/或目标业务标识判断所述用户终端是否具有查询权限;
若所述用户终端具有查询权限,则根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表,并将所述数据一致性验证报表发送至所述用户终端。
进一步地,为实现上述目的,本发明还提供一种基于私有链的数据一致性验证装置,所述基于私有链的数据一致性验证装置包括:
第一验证模块,用于按照预设完整性校验规则验证订阅表中的数据是否完整,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;
第二验证模块,用于若订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致,所述发布表中存储有发布方发布在私有链上的原始数据;
报表生成模块,用于根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表。
进一步地,为实现上述目的,本发明还提供一种基于私有链的数据一致性验证设备,所述基于私有链的数据一致性验证设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于私有链的数据一致性验证程序,所述基于私有链的数据一致性验证程序被所述处理器执行时实现如上述所述的基于私有链的数据一致性验证方法的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于私有链的数据一致性验证程序,所述基于私有链的数据一致性验证程序被处理器执行时实现如上所述的基于私有链的数据一致性验证方法的步骤。
本发明通过按照预设完整性校验规则验证订阅表中的数据是否完整,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;若订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致,所述发布表中存储有发布方发布在私有链上的原始数据;根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表。本发明通过对订阅表进行完整性验证和对订阅表与发布表的一致性进行验证,实现了发布数据和订阅数据的线上验证,进而提高了发布方数据和订阅方数据对账的效率。
附图说明
图1为本发明基于私有链的数据一致性验证设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明基于私有链的数据一致性验证方法第一实施例的流程示意图;
图3为本发明基于私有链的数据一致性验证装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,在面对传统银行与合作方的对账一般采用T+1日FTP数据文件进行对账而存在时效不高、数据易丢失和被篡改的缺陷的情况下,提出一种基于事件驱动的区块链方案,但该方案在实际测试过程中,发现不同业务项目私有链相互独立、各自维护,私有链下的数据相互隔离,没有形成完整的链上数据一致性校验,联调时依赖合作方主动发起发布或者订阅获取数据后再共同进行线下发布数据和订阅数据的人工核对校验,校验效率低下,因此项目进度缓慢,不满足敏捷开发测试需求。
基于上述缺陷,本发明提供一种基于私有链的数据一致性验证设备,参照图1,图1为本发明基于私有链的数据一致性验证设备实施例方案涉及的设备硬件运行环境的结构示意图。
如图1所示,该基于私有链的数据一致性验证设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的基于私有链的数据一致性验证设备的硬件结构并不构成对基于私有链的数据一致性验证设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于私有链的数据一致性验证程序。其中,操作系统是管理和控制基于私有链的数据一致性验证设备与软件资源的程序,支持网络通信模块、用户接口模块、基于私有链的数据一致性验证程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的基于私有链的数据一致性验证设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的基于私有链的数据一致性验证程序,并执行以下操作:
按照预设完整性校验规则验证订阅表中的数据是否完整,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;
若订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致,所述发布表中存储有发布方发布在私有链上的原始数据;
根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表。
进一步地,所述按照预设完整性校验规则验证订阅表中的数据是否完整的步骤包括:
按照预设频率获取汇总表中的第一数据标识和订阅表中最新数据的第二数据标识,验证所述第二数据标识与所述第一数据标识是否相同,所述第一数据标识为上一次获取到的订阅表中最新数据的数据标识;
若所述第二数据标识与所述第一数据标识不相同,则计算所述订阅表中大于第一数据标识且小于或者等于第二数据标识的所有数据标识对应的第一数据总量,和发布表中大于第一数据标识且小于或者等于第二数据标识的所有数据标识对应的第二数据总量;
根据所述第一数据总量与所述第二数据总量是否相等判断所述订阅表中的数据是否完整。
进一步地,所述根据所述第一数据总量与所述第二数据总量是否相等判断所述订阅表中的数据是否完整的步骤包括:
若所述第一数据总量与所述第二数据总量相等,则判定所述订阅表中的数据完整;
若所述第一数据总量与所述第二数据总量不相等,则判定所述订阅表中的数据不完整。
进一步地,所述若所述第一数据总量与所述第二数据总量相等,则判定所述订阅表中的数据完整的步骤之后,处理器1001还用于调用存储器1005中存储的基于私有链的数据一致性验证程序,并执行以下操作:
将所述汇总表中的第一数据标识更新为所述第二数据标识,以供下次数据一致性验证使用。
进一步地,所述若所述第一数据总量与所述第二数据总量不相等,则判定所述订阅表中的数据不完整的步骤之后,处理器1001还用于调用存储器1005中存储的基于私有链的数据一致性验证程序,并执行以下操作:
向预设告警终端发送告警信息,以提示运维人员进行人工干预。
进一步地,所述根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致的步骤包括:
基于预设字段将所述订阅表中的数据与发布表中的数据进行匹配;
若所述订阅表中的数据与发布表中的数据完全匹配,则判定所述订阅表中的数据与发布表中的数据一致;
若所述订阅表中的数据与发布表中的数据不完全匹配,则判定所述订阅表中的数据与发布表中的数据不一致。
进一步地,所述根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表的步骤包括:
在接收到用户终端发送的报表查询请求时,获取所述报表查询请求携带的查询权限标识和/或目标业务标识;
根据所述查询权限标识和/或目标业务标识判断所述用户终端是否具有查询权限;
若所述用户终端具有查询权限,则根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表,并将所述数据一致性验证报表发送至所述用户终端。
本发明基于私有链的数据一致性验证设备的具体实施方式与下述基于私有链的数据一致性验证方法各实施例基本相同,在此不再赘述。
本发明还提供一种基于私有链的数据一致性验证方法。
参照图2,图2为本发明基于私有链的数据一致性验证方法第一实施例的流程示意图。
本发明实施例提供了基于私有链的数据一致性验证方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于私有链的数据一致性验证方法应用于区块链对应的私有链中。区块链是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的Hash(哈希)值,通过这种方式组成一条链。区块链的核心理念有两个,一个是密码学技术,另一个是去中心化思想,基于这两个理念做到区块链上的历史信息无法被篡改。一个区块由块头和块体组成,其中块头定义包括该区块高度,上一个区块的哈希值等重要字段,而块体主要存储交易数据。节点特指参与到区块链网络里,进行交易和数据交换的网络节点,每个独立机构成员可以拥有一个到多个交易节点,每个交易节点是一组物理网络、计算机、区块链应用软件以及数据库的组合。节点和节点之间,通过TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)协议互相连接。
公有链,是指全世界任何人都可以读取、发送交易且能够有效确认的、也可以参与其中共识过程的区块链,公有链面向公众提供服务。
私有链,是指网络中的所有节点都掌握在一家机构手中的区块链,私有链面向特定的组织内部提供服务。
在基于私有链的数据一致性验证方法的各个实施例中,为了便于描述,省略执行主体进行阐述各个实施例。基于私有链的数据一致性验证方法包括:
步骤S10,按照预设完整性校验规则验证订阅表中的数据是否完整,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;
在本发明实施例中,发布方系统对应的发布节点和订阅方系统对应的订阅节点都接入私有链中,成为私有链中的节点。私有链的各个节点之间采用PBFT(PracticalByzantine Fault Tolerance,实用拜占庭容错算法)共识算法或RAFT算法(一种分布式一致性算法)达成共识,而共识达成条件由具体采用的共识算法决定,本实施例对此不作赘述。私有链的各个节点共同确认私有链中的交易。
在本发明实施例中,发布节点和订阅节点采用相同的API(ApplicationProgramming Interface,应用程序编程接口)连接到私有链中,避免了现有技术中不同商户(发布方和订阅方)之间存在不同的API接口,在不同商户对接进行数据交互过程中,需要兼容不同的接口标准,不同商户数据交互成本高的问题,提高了发布节点和订阅节点接入私有链中的接入效率,降低了发布节点和订阅节点接入区块链的接入成本。在接入私有链过程中,私有链的开放平台可提供开放平台接口,发布方系统和订阅方系统可通过该开放平台接口接入到私有链中,成为私有链中的一个节点;或者将与发布方系统和订阅方系统对接的平台接入到私有链的开发平台中;或者将发布方系统和订阅方系统作为私有链的一个节点接入到私有链的交易平台中。
在本发明实施例中,在私有链业务网络中,每个业务都有一条与之对应的基于事件驱动的私有链,每个业务对应有唯一对应的业务标识,每个具体业务下有不同的业务场景,每个业务场景有唯一对应的业务场景标识。在发布方将当前业务的原始数据上传至对应的业务私有链时,以将当前业务的原始数据存储至私有链中,同时会将该当前业务的原始数据存储至用于存储发布方原始数据的发布表中。而当向订阅方发送业务私有链上的链上数据,或者当发布方需要对链上数据进行自检时,会将发送给订阅方的订阅数据存储至订阅表中,以供确认订阅表与发布表中数据的一致性。若无数据丢失或者其他数据损害,订阅表中的数据与发布表中的数据应该是完全一致的。
私有链的数据一致性验证可以是在接收到一致性验证指令时发起的,也可以是按照预设的一致性验证频率自行发起的,运维人员可根据需要进行设置,本实施例不做具体限制。
此外,基于私有链的数据一致性验证可以是对私有链网络中的所有业务数据进行验证,也可以是针对其中的一种业务或者多种业务进行验证,运维人员可根据需要进行设置,本实施例不做具体限制。
要对私有链的订阅表数据和发布表数据进行一致性验证,首先要对订阅表中的数据进行完整性验证,即按照预设完整性验证规则验证订阅表中的数据是否完整。具体地,按照预设频率获取汇总表中的第一数据标识和订阅表中最新数据的第二数据标识,验证第二数据标识与第一数据标识是否相同,所述第一数据标识为上一次获取到的订阅表中最新数据的数据标识;若第二数据标识与第一数据标识不相同,则计算订阅表中大于第一数据标识且小于或者等于第二数据标识的所有数据标识的第一数据总量,和发布表中大于第一数据标识且小于或者等于第二数据标识的所有数据标识的第二数据总量;根据第一数据总量与第二数据总量是否相等判断订阅表中的数据是否完整。若第二数据标识与第一数据标识相同,则说明在上一次完整性验证后的预设时长内订阅表内数据没有更新,则无需执行后续步骤。
步骤S20,若订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致,所述发布表中存储有发布方发布在私有链上的原始数据;
若经过完整性验证确认订阅表中的数据完整,则需对订阅表中的数据和发布表中的数据进行一致性验证。具体地,基于预设字段将所述订阅表中的数据与发布表中的数据进行匹配;若所述订阅表中的数据与发布表中的数据完全匹配,则判定所述订阅表中的数据与发布表中的数据一致;若所述订阅表中的数据与发布表中的数据不完全匹配,则判定所述订阅表中的数据与发布表中的数据不一致。其中,订阅表与发布表采用的预设字段相同,该预设字段由运维人员根据需要进行设置,本实施例不做具体限制。
步骤S30,根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表。
将经过完整性验证和一致性验证的订阅表的验证结果生成基于业务标识的数据一致性验证报表,并将所述数据一致性验证报表发送至与发起该验证的用户终端。具体地,将业务标识、业务场景标识(具体业务下的业务场景,即业务标识的子单元)、数据一致性标记位等作为数据一致性验证报表的表字段,根据一致性验证结果将各字段的取值写入报表,即得到基于业务标识的数据一致性验证报表。其中,数据一致性验证报表中包括但不限于业务标识、业务场景标识(具体业务下的业务场景,即业务标识的子单元)、数据一致性标记位或其他与数据一致性验证有关的更多或者更少的数据,本实施例不做限制。
进一步地,本方案可用于区块链业务的测试人员对区块链功能和数据的测试验证场景,在该场景下,由测试人员通过私有链管理平台作为发布方发布数据,还作为订阅方订阅数据,基于私有链的数据一致性验证也由测试人员发起,并接收数据一致性验证报表,以实现测试人员可以同时实现私有链的发布和订阅功能,提高数据自测和联调效率,同时实现私有链上测试数据的统一管理。其中,测试人员可以是第三方人员,也可以是发布方和订阅方中的任一方。
本实施例通过按照预设完整性校验规则验证订阅表中的数据是否完整,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;若订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致,所述发布表中存储有发布方发布在私有链上的原始数据;根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表。通过对存储有订阅方的订阅数据的订阅表进行完整性验证,和,对订阅表与存储有发布方原始数据的发布表的进行一致性验证,实现了发布数据和订阅数据的线上验证,进而提高了发布方数据和订阅方数据对账的效率。
进一步地,提出本发明基于私有链的数据一致性验证方法第二实施例,上述步骤S10包括:
步骤S11,按照预设频率获取汇总表中的第一数据标识和订阅表中最新数据的第二数据标识,验证所述第二数据标识与所述第一数据标识是否相同,所述第一数据标识为上一次获取到的订阅表中最新数据的数据标识;
在本实施例中,数据标识指的是上链到私有链上的每一条交易数据都有一个与之对应的数据标识(EVENT ID),在基于事件驱动的私有链中,随着事件的发展,交易数据的数据标识的大小是不断增大的,例如,若当前获取到的订阅表中最新一条数据的EVENT ID为1,则之后的一条数据的EVENT ID为2,再之后的EVENT ID依次为3,4,5,……,EVENT ID的大小逐条递增。
对订阅表数据进行完整性验证可以是按照预设频率进行的,其中,预设频率可根据具体需要而设置,本实施例不做限制。例如若预设频率为每1小时进行一次完整性验证,汇总表中存储有上一次完整性验证时按照预设频率获取到的订阅表中最新数据的EVENTID,即第一数据标识,按照预设频率获取汇总表中的第一数据标识MAX B,和订阅表中最新数据的EVENT ID,即第二数据标识MAX A,判断MAX A与MAX B是否相等。
此外,由于汇总表中存储的是上一次完整性验证时按照预设频率获取到的订阅表中最新数据的EVENT ID,所以MAX A≥MAX B。
步骤S12,若所述第二数据标识与所述第一数据标识不相同,则计算所述订阅表中大于第一数据标识且小于或者等于第二数据标识的所有数据标识对应的第一数据总量,和发布表中大于第一数据标识且小于或者等于第二数据标识的所有数据标识对应的第二数据总量;
若MAX A与MAX B相等,说明在上一次完整性验证后的预设时长内数据没有更新,则无需执行后续步骤。若MAX A与MAX B不相等,则说明在上一次完整性验证后的预设时长订阅表内的数据有更新,则需要验证在这段时间中订阅表内更新的数据总量与发布表内更新的数据总量是否相等,首先需要计算所述订阅表中大于MAX B且小于或者等于MAX A的所有EVENT ID的数据总量,即第一数据总量,和发布表中大于MAX B且小于或者等于MAX A的所有EVENT ID的数据总量,即第二数据总量。
步骤S13,根据所述第一数据总量与所述第二数据总量是否相等判断所述订阅表中的数据是否完整。
根据第一数据总量与第二数据总量是否相等判断订阅表中的数据是否完整。
具体地,a,若所述第一数据总量与所述第二数据总量相等,则判定所述订阅表中的数据完整;
进一步地,若判定订阅表中的数据完整,则将所述汇总表中的第一数据标识MAX B更新为所述第二数据标识MAX A,以供下次数据一致性验证使用,以此循环实现数据追踪。
b,若所述第一数据总量与所述第二数据总量不相等,则判定所述订阅表中的数据不完整。
进一步地,若判定订阅表中的数据不完整,向预设告警终端发送告警信息,以提示运维人员进行人工干预。
若判定订阅表中的数据不完整,说明订阅方收到的订阅消息与发布方的原始数据不一致,可能是数据在上链或者其他数据传输的过程中发生了数据损害,则向预设告警终端发送告警信息,以提示运维人员进行人工介入排查问题。
进一步地,为了提高私有链的数据一致性验证的灵活性,上述步骤S10还包括:
按照预设频率获取订阅表和发布表各自的数据总量,根据订阅表的数据总量和发布表的数据总量是否相等判断订阅表中的数据是否完整;若订阅表的数据总量和发布表的数据总量相等,则判定订阅表中的数据完整;若订阅表的数据总量和发布表的数据总量不相等,则判定订阅表中的数据不完整。
本实施例通过在对订阅表中数据的进行完整性验证后,将本次订阅表中最新数据的数据标识更新存储至汇总表,以供下次数据一致性验证时使用,以此循环了实现数据追踪,且由于每次验证只需对预设时长内更新的数据进行验证,无需扫描所有数据,大大提高了数据完整性验证的效率。
进一步地,提出本发明基于私有链的数据一致性验证方法第三实施例,上述步骤S20包括:
步骤S21,基于预设字段将所述订阅表中的数据与发布表中的数据进行匹配;
在本实施例中,在对订阅表中的数据完成完整性验证之后,对订阅表数据和发布表数据进行一致性验证。具体地,基于预设字段将订阅表中的数据与发布表中的数据进行一一匹配。其中,订阅表与发布表采用的预设字段相同,该预设字段由运维人员根据需要进行设置,本实施例不做具体限制。
步骤S22,若所述订阅表中的数据与发布表中的数据完全匹配,则判定所述订阅表中的数据与发布表中的数据一致;
步骤S23,若所述订阅表中的数据与发布表中的数据不完全匹配,则判定所述订阅表中的数据与发布表中的数据不一致。
若订阅表中的数据与发布表中的数据每个字段中的数据都一一匹配,即完全匹配,则判定订阅表中的数据与发布表中的数据一致;若订阅表中的数据与发布表中的数据预设字段中的数据有一个不匹配或者多个不匹配,即不完全匹配,则判定订阅表中的数据与发布表中的数据不一致。
进一步地,通过业务标识和数据标识对齐订阅表与发布表的数据内容,并基于预设字段进行数据匹配,若订阅表与发布表完全一致,则设置数据一致性标记位为1,若订阅表与发布表不完全一致,则设置数据一致性标记位为0。
进一步地,若订阅表与发布表不完全一致,则将验证结果生成基于业务标识的数据一致性验证报表。具体地,将业务标识、业务场景标识(具体业务下的业务场景,即业务标识的子单元)、数据一致性标记位等作为数据一致性验证报表的表字段,根据一致性验证结果将各字段的取值写入报表,即得到基于业务标识的数据一致性验证报表。其中,数据一致性验证报表中包括但不限于业务标识、业务场景标识(具体业务下的业务场景,即业务标识的子单元)、数据一致性标记位或其他与数据一致性验证有关的更多或者更少的数据,本实施例不做限制。
进一步地,为了提高私有链的数据一致性验证的灵活性,上述步骤S20还包括:
基于发布表的所有字段生成随机验证字段;基于随机验证字段将订阅表中的数据与发布表中的数据进行匹配;若订阅表中的数据与发布表中的数据完全匹配,则判定订阅表中的数据与发布表中的数据一致;若订阅表中的数据与发布表中的数据不完全匹配,则判定订阅表中的数据与发布表中的数据不一致。
进一步地,上述步骤S30包括:
在接收到用户终端发送的报表查询请求时,获取所述报表查询请求携带的查询权限标识和/或目标业务标识;根据所述查询权限标识和/或目标业务标识判断所述用户终端是否具有查询权限;若所述用户终端具有查询权限,则根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表,并将所述数据一致性验证报表发送至所述用户终端。
在本实施例中,由于私有链数据中包括了用户的大量数据,这些数据可能会涉及到用户的隐私。为了保护用户的隐私,需要对数据一致性验证报表的数据调用进行权限控制。具体的,在接收到用户终端发送的报表查询请求时,获取该报表查询请求携带的查询权限标识和/或目标业务标识,将根据查询权限标识和/或目标业务标识判断该用户终端对于目标业务标识对应的业务是否具有查询权限;若该用户终端具有查询权限,则根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表,并将数据一致性验证报表发送至该用户终端;若该用户终端不具有查询权限,则向该用户终端返回对应的无权限提示。
进一步地,为了保证数据传输的安全性,在获取到数据一致性验证报表时,先根据预先约定的数据加密协议将其进行加密,再将加密后的数据返回至用户终端。
本实施例通过基于预设字段将订阅表中的数据与发布表中的数据进行匹配得到验证结果,并将验证结果发送给验证请求方,不需要发布方和订阅方从对应系统中导出账单数据后再进行对账,提高了发布数据与订阅数据的一致性校验效率,实现了基于私有链的数据一致性智能验证。
本发明还提供一种基于私有链的数据一致性验证装置。
参照图3,图3为本发明基于私有链的数据一致性验证装置第一实施例的功能模块示意图。所述基于私有链的数据一致性验证装置包括:
第一验证模块10,用于按照预设完整性校验规则验证订阅表中的数据是否完整,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;
第二验证模块20,用于若订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与发布表中的数据是否一致,所述发布表中存储有发布方发布在私有链上的原始数据;
报表生成模块30,用于根据所述订阅表中的数据与发布表中的数据是否一致的验证结果生成数据一致性验证报表。
本发明基于私有链的数据一致性验证装置具体实施方式与上述基于私有链的数据一致性验证方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质。
计算机可读存储介质上存储有基于私有链的数据一致性验证程序,基于私有链的数据一致性验证程序被处理器执行时实现如上所述的基于私有链的数据一致性验证方法的步骤。
本发明计算机可读存储介质具体实施方式与上述基于私有链的数据一致性验证方法各实施例基本相同,在此不再赘述。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
Claims (9)
1.一种基于私有链的数据一致性验证方法,其特征在于,所述基于私有链的数据一致性验证方法包括以下步骤:
按照预设频率获取汇总表中的第一数据标识和订阅表中最新数据的第二数据标识,验证所述第二数据标识与所述第一数据标识是否相同,所述第一数据标识为上一次获取到的所述订阅表中最新数据的数据标识,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;
若所述第二数据标识与所述第一数据标识不相同,则计算所述订阅表中大于所述第一数据标识且小于或者等于所述第二数据标识的所有数据标识对应的第一数据总量,和发布表中大于所述第一数据标识且小于或者等于所述第二数据标识的所有数据标识对应的第二数据总量,所述发布表中存储有发布方发布在私有链上的原始数据;
根据所述第一数据总量与所述第二数据总量是否相等判断所述订阅表中的数据是否完整;
若所述订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与所述发布表中的数据是否一致;
根据所述订阅表中的数据与所述发布表中的数据是否一致的验证结果生成数据一致性验证报表。
2.如权利要求1所述的基于私有链的数据一致性验证方法,其特征在于,所述根据所述第一数据总量与所述第二数据总量是否相等判断所述订阅表中的数据是否完整的步骤包括:
若所述第一数据总量与所述第二数据总量相等,则判定所述订阅表中的数据完整;
若所述第一数据总量与所述第二数据总量不相等,则判定所述订阅表中的数据不完整。
3.如权利要求2所述的基于私有链的数据一致性验证方法,其特征在于,所述若所述第一数据总量与所述第二数据总量相等,则判定所述订阅表中的数据完整的步骤之后,还包括:
将所述汇总表中的所述第一数据标识更新为所述第二数据标识,以供下次数据一致性验证使用。
4.如权利要求2所述的基于私有链的数据一致性验证方法,其特征在于,所述若所述第一数据总量与所述第二数据总量不相等,则判定所述订阅表中的数据不完整的步骤之后,还包括:
向预设告警终端发送告警信息,以提示运维人员进行人工干预。
5.如权利要求1所述的基于私有链的数据一致性验证方法,其特征在于,所述根据预设匹配规则验证所述订阅表中的数据与所述发布表中的数据是否一致的步骤包括:
基于预设字段将所述订阅表中的数据与所述发布表中的数据进行匹配;
若所述订阅表中的数据与所述发布表中的数据完全匹配,则判定所述订阅表中的数据与所述发布表中的数据一致;
若所述订阅表中的数据与所述发布表中的数据不完全匹配,则判定所述订阅表中的数据与所述发布表中的数据不一致。
6.如权利要求1-5任一项所述的基于私有链的数据一致性验证方法,其特征在于,所述根据所述订阅表中的数据与所述发布表中的数据是否一致的验证结果生成数据一致性验证报表的步骤包括:
在接收到用户终端发送的报表查询请求时,获取所述报表查询请求携带的查询权限标识和/或目标业务标识;
根据所述查询权限标识和/或目标业务标识判断所述用户终端是否具有查询权限;
若所述用户终端具有查询权限,则根据与所述目标业务标识对应的验证结果生成数据一致性验证报表,并将所述数据一致性验证报表发送至所述用户终端。
7.一种基于私有链的数据一致性验证装置,其特征在于,所述基于私有链的数据一致性验证装置包括:
第一验证模块,用于按照预设频率获取汇总表中的第一数据标识和订阅表中最新数据的第二数据标识,验证所述第二数据标识与所述第一数据标识是否相同,所述第一数据标识为上一次获取到的所述订阅表中最新数据的数据标识,所述订阅表中存储有发送给订阅方的私有链上的订阅数据;若所述第二数据标识与所述第一数据标识不相同,则计算所述订阅表中大于所述第一数据标识且小于或者等于所述第二数据标识的所有数据标识对应的第一数据总量,和发布表中大于所述第一数据标识且小于或者等于所述第二数据标识的所有数据标识对应的第二数据总量,所述发布表中存储有发布方发布在私有链上的原始数据;根据所述第一数据总量与所述第二数据总量是否相等判断所述订阅表中的数据是否完整;
第二验证模块,用于若所述订阅表中的数据完整,则根据预设匹配规则验证所述订阅表中的数据与所述发布表中的数据是否一致;
报表生成模块,用于根据所述订阅表中的数据与所述发布表中的数据是否一致的验证结果生成数据一致性验证报表。
8.一种基于私有链的数据一致性验证设备,其特征在于,所述基于私有链的数据一致性验证设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于私有链的数据一致性验证程序,所述基于私有链的数据一致性验证程序被所述处理器执行时实现如权利要求1-6中任一项所述的基于私有链的数据一致性验证方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于私有链的数据一致性验证程序,所述基于私有链的数据一致性验证程序被处理器执行时实现如权利要求1-6中任一项所述的基于私有链的数据一致性验证方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910365927.8A CN110096511B (zh) | 2019-04-30 | 2019-04-30 | 基于私有链的数据一致性验证方法、装置、设备及介质 |
PCT/CN2020/076398 WO2020220806A1 (zh) | 2019-04-30 | 2020-02-24 | 基于私有链的数据一致性验证方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910365927.8A CN110096511B (zh) | 2019-04-30 | 2019-04-30 | 基于私有链的数据一致性验证方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096511A CN110096511A (zh) | 2019-08-06 |
CN110096511B true CN110096511B (zh) | 2024-02-20 |
Family
ID=67446718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910365927.8A Active CN110096511B (zh) | 2019-04-30 | 2019-04-30 | 基于私有链的数据一致性验证方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110096511B (zh) |
WO (1) | WO2020220806A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096511B (zh) * | 2019-04-30 | 2024-02-20 | 深圳前海微众银行股份有限公司 | 基于私有链的数据一致性验证方法、装置、设备及介质 |
CN111552981B (zh) * | 2020-04-26 | 2023-08-22 | 深圳前海壹互联科技投资有限公司 | 基于区块链技术的保险业务归属方法及系统 |
CN113098978B (zh) * | 2021-04-21 | 2023-04-07 | 上海微盟企业发展有限公司 | 一种数据传输方法、装置及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817689A (zh) * | 2017-01-22 | 2017-06-09 | 兴唐通信科技有限公司 | 一种高可靠性的数据订阅及发布方法及系统 |
CN107844976A (zh) * | 2017-10-25 | 2018-03-27 | 武汉天喻信息产业股份有限公司 | 一种基于区块链的存证应用交易系统及方法 |
CN108683630A (zh) * | 2018-04-03 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 跨区块链的认证方法及装置、电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10452824B2 (en) * | 2017-07-24 | 2019-10-22 | Dell Products, Lp | Method and apparatus for optimized access of security credentials via mobile edge-computing systems |
CN110096511B (zh) * | 2019-04-30 | 2024-02-20 | 深圳前海微众银行股份有限公司 | 基于私有链的数据一致性验证方法、装置、设备及介质 |
-
2019
- 2019-04-30 CN CN201910365927.8A patent/CN110096511B/zh active Active
-
2020
- 2020-02-24 WO PCT/CN2020/076398 patent/WO2020220806A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817689A (zh) * | 2017-01-22 | 2017-06-09 | 兴唐通信科技有限公司 | 一种高可靠性的数据订阅及发布方法及系统 |
CN107844976A (zh) * | 2017-10-25 | 2018-03-27 | 武汉天喻信息产业股份有限公司 | 一种基于区块链的存证应用交易系统及方法 |
CN108683630A (zh) * | 2018-04-03 | 2018-10-19 | 阿里巴巴集团控股有限公司 | 跨区块链的认证方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020220806A1 (zh) | 2020-11-05 |
CN110096511A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220318907A1 (en) | Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
US11962681B2 (en) | Symmetric encryption for private smart contracts among multiple parties in a private peer-to-peer network | |
US20220209948A1 (en) | Blockchain notification board storing blockchain resources | |
KR20200108231A (ko) | 서비스 프로세스 시스템,서비스 데이터 처리 방법 및 장치 | |
WO2019001139A1 (zh) | 运行智能合约的方法和装置 | |
CN110096511B (zh) | 基于私有链的数据一致性验证方法、装置、设备及介质 | |
US11270388B2 (en) | Blockchain-based data processing method and apparatus | |
US11520773B2 (en) | Blockchain notification board storing blockchain resources | |
US20200110824A1 (en) | Blockchain notification board storing blockchain resources | |
US11528340B2 (en) | Providing financial events using a push framework | |
WO2021082340A1 (zh) | 数据处理方法、装置、系统和存储介质 | |
WO2021004058A1 (zh) | 基于区块链的数据处理方法和装置 | |
WO2023207146A1 (zh) | Esop系统的服务模拟方法、装置、设备及存储介质 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN115374175A (zh) | 基于微服务架构的任务执行进度的跟踪方法及装置 | |
CN110807209B (zh) | 一种数据处理方法、设备及存储介质 | |
CN109918867B (zh) | 基于区块链的对等系统文件溯源方法 | |
CN115619395A (zh) | 基于区块链的数据处理方法及相关设备 | |
WO2023207529A1 (zh) | 数据处理方法、装置及设备、介质、产品 | |
WO2023045532A1 (zh) | 基于区块链的交易处理 | |
KR102095046B1 (ko) | 블록체인 기반의 사용자 정보 공유를 위한 분산 원장 장치 및 분산 원장 방법 | |
CN111162970B (zh) | 在区块链系统中测试去中心化应用服务器的方法及装置 | |
CN112019350B (zh) | 区块链的区块验证方法及装置 | |
US20230224162A1 (en) | Managing standard operating procedures using distributed ledger networks |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |