CN110855761B - 一种基于区块链***的数据处理方法及装置 - Google Patents
一种基于区块链***的数据处理方法及装置 Download PDFInfo
- Publication number
- CN110855761B CN110855761B CN201911039082.XA CN201911039082A CN110855761B CN 110855761 B CN110855761 B CN 110855761B CN 201911039082 A CN201911039082 A CN 201911039082A CN 110855761 B CN110855761 B CN 110855761B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- backed
- slicing
- node
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及金融科技(Fintech)领域,公开了一种基于区块链***的数据处理方法及装置,远端服务器获取各共识节点对各自存储的待备份区块的切片结果,并根据各共识节点对待备份区块的切片结果对待备份区块进行备份,每个共识节点对待备份区块的切片结果包括多个切片的校验值和多个切片在数据文件中的位置。本发明实施例中,各个共识节点与远端服务器通过传输待备份区块的切片结果实现对待备份区块的备份,而每个共识节点对待备份区块的切片结果包括切片的校验值和切片在数据文件中的位置,因此待备份区块的切片结果相对于待备份区块的全量数据来说数据量较小,从而该种方式可以有效降低网络通信的开销,提高区块备份的效率。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种基于区块链***的数据处理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,区块链技术也不例外,但由于金融行业的安全性、实时性要求,金融科技也对区块链技术提出了更高的要求。由于区块链***中共识节点的存储空间有限,因此共识节点在存储大量数据时会存在一定的瓶颈,为了解决该问题,当区块链***上产生海量交易时,常用的技术方案是对共识节点执行海量交易所产生的区块数据进行裁剪,以使共识节点存储海量交易中较为重要的区块数据。然而,经过裁剪的区块通常是不完整的,因此,为了保证区块链***中区块的完整和可信,区块链***中的各个共识节点通常可以将区块备份至远端服务器,如此,即使区块在后续交易时发生了裁剪,共识节点也可以通过访问远端服务器来获取区块的全量数据,从而保证区块链***中数据的完整性和安全性。
在一种现有的实现方式中,远端服务器可以先从每个共识节点中获取区块的全量数据,然后针对于各个共识节点中区块的各部分全量数据进行对比,并根据各部分全量数据对比结果完成对区块的备份。显然地,区块的全量数据通常具有较大的数据量,而该种方式需要远端服务器从各个共识节点中拉取区块的全量数据,因此导致网络通信的开销较大;且,解析区块的全量数据以及对比不同共识节点的区块的每部分全量数据的过程较为费时,从而导致区块备份的效率较低。
综上,目前亟需一种基于区块链***的数据处理方法,用以解决现有技术基于共识节点中区块的全量数据进行区块备份所导致的网络通信的开销大、区块备份的效率低的技术问题。
发明内容
本发明实施例提供一种基于区块链***的数据处理方法及装置,用以解决现有技术基于共识节点中区块的全量数据进行区块备份所导致的网络通信的开销大、区块备份的效率低的技术问题。
第一方面,本发明实施例提供的一种基于区块链***的数据处理方法,所述方法包括:
远端服务器获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,并根据各共识节点对所述待备份区块的切片结果,确定是否对所述待备份区块进行备份;其中,每个共识节点对所述待备份区块的切片结果为对所述共识节点中所述待备份区块的数据文件进行切片得到的,所述数据文件包括区块数据和签名数据;所述切片结果包括多个切片的校验值和所述多个切片在所述数据文件中的位置,所述区块数据使用第一切片长度进行切片;所述签名数据使用第二切片长度进行切片。
在上述设计中,各个共识节点与远端服务器通过传输待备份区块的切片结果来实现对待备份区块的备份,而每个共识节点对待备份区块的切片结果包括切片的校验值和切片在数据文件中的位置,由此可知,待备份区块的切片结果相对于待备份区块的全量数据来说数据量较小,因此该种方式可以极大地减少网络通信的数据传输量,有效降低网络通信的开销,并可以提高区块备份的效率。
可选地,所述远端服务器获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,包括:所述远端服务器获取第一共识节点对所述待备份区块的切片结果,并将所述第一共识节点对所述待备份区块的切片结果发送给所述区块链***中的其它共识节点;所述第一共识节点对所述待备份区块的切片结果用于所述其它共识节点确定所述其它共识节点对所述待备份区块的切片结果,所述其它共识节点对所述待备份区块的切片结果中的多个切片为对应的第一共识节点对所述待备份区块的切片结果中的多个切片,所述其它共识节点对所述待备份区块的切片结果还包括不存在对应关系的切片对应的区块数据或签名数据;如此,所述远端服务器接收所述其它共识节点发送的所述其它共识节点对所述待备份区块的切片结果。
在上述设计中,其它共识节点对待备份区块的切片结果实际为其它共识节点相对于第一共识节点来说对待备份区块的对比切片结果,即其它共识节点对待备份区块的切片结果中包括存在对应关系的切片所对应的第一共识节点的切片信息(即切片的校验值和位置)、不存在对应关系的切片对应的全量数据(即区块数据或签名数据),如此,远端服务器可以直接基于第一共识节点对待备份区块的切片结果和其它共识节点相对于第一共识节点来说对待备份区块的对比切片结果确定出各个共识节点中待备份区块的一致性;也就是说,采用该种方式,其它共识节点可以无需传输与第一共识节点相同的切片的全量数据,从而可以降低数据的传输量,且远端服务器还可以基于这种简洁明确的对应关系快速地确定是否对待备份区块进行备份,从而可以提高区块备份的效率。
可选地,所述远端服务器获取第一共识节点对待备份区块的切片结果,包括:从第一共识节点获取所述待备份区块的数据文件后,使用所述第一切片长度对所述区块数据进行切片,得到所述第一共识节点对所述区块数据的多个切片,并计算每个切片的校验值,使用所述第二切片长度对所述签名数据进行切片,得到所述第一共识节点对所述签名数据的多个切片,并计算每个切片的校验值;进一步地,所述远端服务器根据所述第一共识节点对所述区块数据的多个切片的校验值、所述区块数据的多个切片在所述数据文件中的位置、所述第一共识节点对所述签名数据的多个切片的校验值和所述签名数据的多个切片在所述数据文件中的位置生成所述第一共识节点对所述待备份区块的切片结果。
在上述设计中,通过第一共识节点上报待共识区块的全量数据、其它共识节点上报与第一共识节点不同的全量数据,即可实现对第一共识节点和其它共识节点中的待备份区块进行备份,从而可以极大地降低数据传输量,相比于远端服务器获取各个共识节点的全量数据并进行对比的方式来说,还可以降低远端服务器的压力,提高区块备份的效率。
可选地,所述远端服务器根据各共识节点对所述待备份区块的切片结果,确定是否对所述待备份区块进行备份,包括:所述远端服务器根据各共识节点对所述区块数据的切片结果,确定对所述区块数据的切片结果一致的共识节点的数量,若所述数量大于或等于预设阈值,则根据所述各共识节点对所述签名数据的切片结果统计得到签名数据集,并根据所述第一共识节点中所述待备份区块的数据文件和所述签名数据集对所述区块的数据文件进行备份;若确定所述数量小于所述预设阈值,则确定不对所述待备份区块进行备份。
在上述设计中,通过第一共识节点上报全量的签名数据,其它共识节点上报与第一共识节点不同的签名数据,可以在降低数据传输量的同时获取到所有共识节点中的签名数据,从而保证数据备份的准确性;且,通过判断各个共识节点对区块数据的切片结果是否一致,可以直接确定待备份区块是否被篡改,如此,在确定待备份区块被篡改的情况下可以无需执行区块备份,从而可以保证备份结果的可信性和准确性。
可选地,所述远端服务器获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,包括:所述远端服务器向各个共识节点发送切片规则;所述切片规则用于各个共识节点对各个共识节点中所述待备份区块的数据文件进行切片得到各个共识节点对所述待备份区块的切片结果,所述切片规则包括第一切片长度和第二切片长度,所述第二切片长度用于标识各共识节点的数字签名的长度。
在上述设计中,通过远端服务器向各个共识节点发送切片规则,可以使得切片操作由各个共识节点执行,从而可以降低远端服务器的压力,提高远端服务器的备份效率;且,通过使用各共识节点的数字签名的长度对签名数据进行切片,可以使得签名数据的每个分片对应一个数字签名,如此,可以便于签名数据的切片对比过程,提高对比效率。
可选地,所述远端服务器根据各共识节点对所述待备份区块的切片结果,确定是否对所述待备份区块进行备份,包括:所述远端服务器根据各共识节点对所述区块数据的切片结果,确定对所述区块数据的切片结果一致的共识节点的数量,若所述数量大于或等于预设阈值,则向任一共识节点发送第一数据请求;所述第一数据请求用于获取所述共识节点的区块数据;进一步地。所述远端服务器根据各共识节点对所述签名数据的切片结果,将各共识节点划分为多个共识节点集合,并向每个共识节点集合中的任一共识节点发送第二数据请求;所述每个共识节点集合中的共识节点存在公共签名数据,所述第二数据请求用于获取所述共识节点集合中的公共签名数据;如此,所述远端服务器根据所述共识节点的区块数据和所述多个共识节点集合中的公共签名数据对所述区块的数据文件进行备份。
在上述设计中,远端服务器先根据各共识节点对区块数据的切片结果确定各共识节点的区块数据是否一致,若不一致,则说明待备份区块被篡改,如此,远端服务器无需执行签名数据的切片结果的对比过程即可确定不再备份,从而可以降低无必要的操作步骤;相应地,若一致,则说明待备份区块可以被备份,如此,远端服务器通过从任一未被篡改的共识节点获取区块数据,并采用最少的数据传输方式从各个共识节点获取全量的签名数据,可以以最少的数据传输量获取全量的区块数据和签名数据,从而可以有效地降低网络通信的压力。
第二方面,本发明实施例提供的一种基于区块链***的数据处理装置,所述装置包括:
获取模块,用于获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,每个共识节点对所述待备份区块的切片结果为对所述共识节点中所述待备份区块的数据文件进行切片得到的,所述数据文件包括区块数据和签名数据;所述切片结果包括多个切片的校验值和所述多个切片在所述数据文件中的位置;其中,所述区块数据使用第一切片长度进行切片;所述签名数据使用第二切片长度进行切片;
备份模块,用于根据各共识节点对所述待备份区块的切片结果,确定是否对所述待备份区块进行备份。
可选地,所述获取模块具体用于:
获取第一共识节点对所述待备份区块的切片结果;
将所述第一共识节点对所述待备份区块的切片结果发送给所述区块链***中的其它共识节点;所述第一共识节点对所述待备份区块的切片结果用于所述其它共识节点确定所述其它共识节点对所述待备份区块的切片结果,所述其它共识节点对所述待备份区块的切片结果中的多个切片为对应的第一共识节点对所述待备份区块的切片结果中的多个切片,所述其它共识节点对所述待备份区块的切片结果还包括不存在对应关系的切片对应的区块数据或签名数据;
接收所述其它共识节点发送的所述其它共识节点对所述待备份区块的切片结果。
可选地,所述获取模块具体用于:
从第一共识节点获取所述待备份区块的数据文件;
使用所述第一切片长度对所述区块数据进行切片,得到所述第一共识节点对所述区块数据的多个切片,并计算每个切片的校验值;
使用所述第二切片长度对所述签名数据进行切片,得到所述第一共识节点对所述签名数据的多个切片,并计算每个切片的校验值;
根据所述第一共识节点对所述区块数据的多个切片的校验值、所述区块数据的多个切片在所述数据文件中的位置、所述第一共识节点对所述签名数据的多个切片的校验值和所述签名数据的多个切片在所述数据文件中的位置生成所述第一共识节点对所述待备份区块的切片结果。
可选地,所述备份模块具体用于:
根据各共识节点对所述区块数据的切片结果,确定对所述区块数据的切片结果一致的共识节点的数量,若所述数量大于或等于预设阈值,则根据所述各共识节点对所述签名数据的切片结果统计得到签名数据集,并根据所述第一共识节点中所述待备份区块的数据文件和所述签名数据集对所述区块的数据文件进行备份;若确定所述数量小于所述预设阈值,则确定不对所述待备份区块进行备份。
可选地,所述获取模块具体用于:
向各个共识节点发送切片规则;所述切片规则用于各个共识节点对各个共识节点中所述待备份区块的数据文件进行切片得到各个共识节点对所述待备份区块的切片结果,所述切片规则包括第一切片长度和第二切片长度,所述第二切片长度用于标识各共识节点的数字签名的长度。
可选地,所述备份模块具体用于:
根据各共识节点对所述区块数据的切片结果,确定对所述区块数据的切片结果一致的共识节点的数量,若所述数量大于或等于预设阈值,则向任一共识节点发送第一数据请求;所述第一数据请求用于获取所述共识节点的区块数据;
根据各共识节点对所述签名数据的切片结果,将各共识节点划分为多个共识节点集合,并向每个共识节点集合中的任一共识节点发送第二数据请求;所述每个共识节点集合中的共识节点存在公共签名数据,所述第二数据请求用于获取所述共识节点集合中的公共签名数据;
根据所述共识节点的区块数据和所述多个共识节点集合中的公共签名数据对所述区块的数据文件进行备份。
第三方面,本发明实施例提供的一种计算设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面任意所述的基于区块链***的数据处理方法。
第四方面,本发明实施例提供的一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述第一方面任意所述的基于区块链***的数据处理方法。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例适用的一种区块链***的架构示意图;
图2为本发明实施例适用的一种基于区块链***的数据处理方法的流程示意图;
图3为本发明实施例适用的一种基于区块链***的数据处理方法的交互流程示意图;
图4为本发明实施例适用的另一种基于区块链***的数据处理方法的交互流程示意图;
图5为本发明实施例提供的一种基于区块链***的数据处理装置的结构示意图;
图6为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
金融科技(Fintech)技术领域通常涉及到多种交易,比如,银行的交易可以包括售卡交易、存款交易、贷款交易、保险交易、理财交易等,银行每天的交易量可以达到数千笔甚至数万笔。随着区块链技术的逐步发展,金融科技领域也可以使用区块链技术来处理交易,举例来说,若多家银行之间涉及到相关交易,则可以通过设置联盟链来同步处理相关交易,或者还可以将法院、客户等同时上链,共同维护联盟链的安全和稳定。
区块链***可以是由多个节点组成的点对点(Peer To Peer,P2P)网络。P2P是一种运行在传输控制协议(Transmission Control Protocol,TCP)协议之上的应用层协议,在区块链***中的节点可以彼此对等,***中不存在中心节点,因此每个节点都可以随机地连接其它节点。在区块链***中,每个节点内部都可以设置有预设数据库,各个节点通过预设数据库共同维护区块链***中的公共账本,节点内部的预设数据库可以存储区块链***中的区块数据;其中,区块数据包括区块头和区块体,区块头可以包括上一区块的哈希值、本区块的哈希值、本区块的块高、时间戳、交易的哈希值、回执的哈希值和状态数据的哈希值等信息,区块体可以包括交易数据、回执、状态数据、签名数据等信息。
图1为本发明实施例适用的一种区块链***的架构示意图,如图1所示,区块链***中可以包括一个或多个共识节点,比如共识节点101、共识节点102、共识节点103与共识节点104;其中,区块链***中的任意两个共识节点可以通信连接,比如可以通过有线方式连接,或者也可以通过无线方式连接,具体不作限定。
本发明实施例中,区块链***中的共识节点可以具有多种功能,比如,路由功能、交易功能、区块链功能和共识功能等。举例来说,任一共识节点可以把客户端上报的交易发送给其它共识节点,以实现该共识节点与任一其它共识节点之间的通信功能;或者,任一共识节点可以用于记录区块链***的全部历史交易或全部历史区块;或者,任一共识节点可以与其它共识节点进行共识,从而根据共识成功的交易生成新的区块。
需要说明的是,路由功能是区块链***中的每个共识节点必须具有的功能,而其它功能可由本领域技术人员根据实际需要进行设置。
本发明实施例中,区块链***中的共识节点可以是指物理机(服务器),或者也可以是指物理机中运行的一个进程或者一系列进程;比如,共识节点101可以为共识服务器,或者也可以为共识服务器上运行的一个进程,具体不作限定。
如图1所示,该***架构还可以包括远端服务器110,远端服务器110可以是指客户端设备,也可以为设置在区块链***外部的其它设备,比如备份服务器。本发明实施例中,远端服务器110可以通过接入区块链***的网络而与区块链***中的任一共识节点进行通信,连接的方式可以为有线连接,或者也可以为无线连接,具体不作限定。
基于图1所示意的区块链***,图2为本发明实施例提供的一种数据处理方法的流程示意图,如图2所示,该方法包括:
步骤201,远端服务器获取区块链***中的各共识节点对各自存储的待备份区块的切片结果。
本发明实施例中,针对于任一共识节点,该共识节点对待备份区块的切片结果是指对该共识节点存储的待备份区块的数据文件进行切片得到的,待备份区块的数据文件可以包括区块数据和签名数据,区块数据可以使用第一切片长度进行切片,签名数据可以使用第二切片长度进行切片;因此,共识节点对待备份区块的切片结果可以包括多个切片的校验值和多个切片在数据文件中的位置。
步骤202,远端服务器根据各共识节点对各自存储的待备份区块的切片结果,确定是否对待备份区块进行备份。
具体实施中,远端服务器110可以先根据各共识节点对各自存储的待备份区块的切片结果确定各共识节点中待备份区块的区块数据是否一致,若区块数据一致的共识节点的数量大于或等于预设数量,则说明区块链***的大部分共识节点中的待备份区块相同,因此可以对待备份区块进行备份;若区块数据一致的共识节点的数量小于预设数量,则说明区块链***的大部分共识节点中的待备份区块不同,大部分共识节点中的待备份区块可能均被篡改,因此可以不对待备份区块进行备份。
本发明实施例中,各个共识节点与远端服务器通过传输待备份区块的切片结果来实现对待备份区块的备份,而每个共识节点对待备份区块的切片结果包括切片的校验值和切片在数据文件中的位置,由此可知,待备份区块的切片结果相对于待备份区块的全量数据来说数据量较小,因此该种方式可以极大地减少网络通信的数据传输量,有效降低网络通信的开销,并可以提高区块备份的效率。
本发明实施例中,采用切片方式对待备份区块进行备份的数据处理方法可以有多种实现方式,下面主要描述两种可能的实现方式。
图3为本发明实施例提供的一种基于区块链***的数据处理方法的交互流程示意图,如图3所示,该方法包括:
步骤301,远端服务器从第一共识节点获取第一共识节点中待备份区块的数据文件。
其中,第一共识节点可以为区块链***中的任一共识节点,比如共识节点101、共识节点102、共识节点103或共识节点104。
本发明实施例中,待备份区块的数据文件可以包括待备份区块的区块数据和签名数据,待备份区块可以为一个区块,或者也可以为多个区块,因此待备份区块的数据文件可以包括待备份区块中每个区块的区块数据和每个区块的签名数据。其中,每个区块的区块数据可以包括该区块的交易数据、交易回执、状态数据、该区块的哈希值、父区块的哈希值、交易数据的哈希值、交易回执的哈希值、状态数据的哈希值等,每个区块的签名数据可以包括共识节点在共识该区块时所收集到的区块链***中的其它共识节点的数字签名,或者也可以包括该共识节点的数字签名,不作限定。
在一种可能的实现方式中,针对于任一区块,第一共识节点在联合区块链***中的其它共识节点完成对该区块的共识后,若共识成功,则第一共识节点可以将该区块存储至第一共识节点的数据库,且还可以生成该区块的数据文件。其中,区块的数据文件所包括的内容可以由本领域技术人员根据经验进行设置,比如可以仅包括区块数据和签名数据,或者也可以包括区块数据和签名数据,以及区块高度、区块数据的长度、数据文件的校验值、签名数据的切片长度(即第二切片长度)中的任意一项或任意多项,具体不作限定。
在一个示例中,表1为本发明实施例提供的一种数据文件的格式示意表。
表1:一种数据文件的格式示意
区块数据长度 | 区块高度 | 区块数据 | 校验值 | 签名数据长度 | 签名数据 | 分隔符 |
如表1所示,在该示例中,数据文件中可以存储一个或多个区块的全量数据,每个区块的全量数据可以包括第1至第7部分,第1部分占据8个字节码的存储空间,用于存储该区块的全量数据中区块数据的长度;第2部分占据32个字节码的存储空间,用于存储该区块的区块高度;第3部分用于存储该区块的区块数据;第4部分占据32个字节码的存储空间,用于存储数据文件的校验值,比如数据文件的哈希值;第5部分占据8个字节码的存储空间,用于存储该区块的全量数据中签名数据的长度;第6部分用于存储该区块的签名数据;第7部分占据2个字节码的存储空间,用于存储分隔符,分隔符用于分隔数据文件中的多个区块的全量数据。
其中,分隔符可以由本领域技术人员根据经验进行设置,比如可以为数字、字母和字符中的任意一种或任意组合。
为了便于理解,本发明的下列实施例以数据文件为表1所示的格式进行描述。
具体实施中,远端服务器110从第一共识节点获取待备份区块的数据文件的方式可以有多种,下面描述几种可能的获取方式:
获取方式一
远端服务器110确定待备份区块后,根据待备份区块的块高或者待备份区块的数据文件的标识生成获取指令,并将获取指令发送给第一共识节点;相应地,第一共识节点接收到远端服务器110发送的获取指令后,若获取指令包括待备份区块的块高,则先根据待备份区块的块高确定待备份区块的数据文件的标识,然后再根据待备份区块的数据文件的标识获取待备份区块的数据文件,若获取指令包括待备份区块的数据文件的标识,则直接根据待备份区块的数据文件的标识获取待备份区块的数据文件;如此,第一共识节点根据待备份区块的数据文件生成响应报文,并将响应报文发送给远端服务器110。
其中,数据文件的标识可以是指数据文件的文件名,数据文件的文件名为唯一性标识,其可以基于数据文件所存储的区块进行设置,比如可以设置为所存储的区块的块高组合、所存储的区块的哈希值组合等,也可以由数字、字母和字符的任意一种或任意组合构成,不作限定。
本发明实施例中,第一共识节点在设置数据文件的标识后,可以将设置规则同步给区块链***中的其它共识节点,以使区块链***中的全部共识节点采用相同的设置规则设置数字文件的标识;或者,第一共识节点也可以将设置规则发送给远端服务器,以使远端服务器建立第一共识节点中区块与数据文件的对应关系,如此,远端服务器确定待备份区块后,可以直接查询区块与数据文件的对应关系确定第一共识节点中待备份区块的数据文件的标识。
获取方式二
针对于任一区块,若确定该区块共识成功,则第一共识节点可以直接将该区块所在的数据文件上报给远端服务器110,以使远端服务器110能够实时地对区块链***中新生成的区块进行备份;或者,第一共识节点可以按照预设周期向远端服务器110上报新生成的区块,以使远端服务器110能够周期性地对区块链***中新生成的区块进行备份。
获取方式三
第一共识节点上可以预先部署有数据文件传输服务,并配置有与数据文件传输服务相关的文件协议,比如文件传输协议(File Transfer Protocol,ftp)、安全文件传送协议(SSH File Transfer Protocol,sftp)、(Hyper Text Transfer Protocol,http)、以安全为目标的超文本传输协议(Hyper Text Transfer Protocol over Secure SocketLayer,https)等。其中,远端服务器110可以为第一共识节点配置对应的文件地址或http访问地址,并将该文件地址或http访问地址发送给第一共识节点;相应地,若第一共识节点启动文件传输服务以支持该文件地址或http访问地址,则远端服务器110可以从该文件地址或http访问地址中下载第一共识节点提供的文件。
具体实施中,当远端服务器110确定待备份区块后,可以根据待备份区块的块高或者待备份区块的数据文件的标识(比如数据文件1.binlog)生成数据请求,并将数据请求发送给第一共识节点;相应地,第一共识节点接收到远端服务器110发送的数据请求后,可以先根据数据请求中待备份区块的块高或者待备份区块的数据文件的标识获取待备份区块的数据文件,然后基于文件传输服务对待备份区块的数据文件进行压缩和/或加密,进而可以将压缩和/或加密后的待备份区块的数据文件放置在远端服务器110为第一共识节点配置的文件地址或http访问地址;如此,远端服务器110可以通过其为第一共识节点配置的文件地址或http访问地址获取到压缩和/或加密的待备份区块的数据文件。
进一步地,远端服务器110获取压缩或加密的待备份区块的数据文件后,若确定该数据文件为压缩和/或加密的数据文件,则可以使用对应的解压缩和/或解密方法对压缩和/或加密的数据文件进行解压缩和/或解密,得到待备份区块的数据文件。
需要说明的是,上述仅是一种示例性的简单说明,其所列举的并不构成对方案的限定,在具体实施中,第一共识节点也可以将待共识区块的数据文件直接放置在对应的文件地址或http访问地址,而不作压缩和/或加密处理,或者也可以先对待共识区块的数据文件进行其它处理,再放置在对应的文件地址或http访问地址,不作限定。
步骤302,远端服务器对第一共识节点中待备份区块的数据文件进行切片,得到第一共识节点对待备份区块的切片结果。
具体实施中,远端服务器110从第一共识节点中获取到待备份区块的数据文件后,可以根据分隔符来解析待备份区块的数据文件,从待备份区块的数据文件中分离出每个区块的数据文件;其中,每个区块的数据文件包括第1至第7部分,第1部分为区块数据的长度,第2部分为区块高度,第3部分为区块数据,第4部分为数据文件的校验值,第5部分为第二切片长度,第6部分为签名数据,第7部分为该区块与下一区块的分隔符。
进一步地,针对于任一区块的数据文件,远端服务器110可以使用第一切片长度对该数据文件中的区块数据(即第3部分)进行切片,得到区块数据对应的多个切片,并可以使用预设校验算法计算得到每个切片的校验值;相应地,远端服务器110可以使用第二切片长度对该数据文件中的签名数据(即第6部分)进行切片,得到签名数据对应的多个切片,并可以使用预设校验算法计算得到每个切片的校验值。
其中,预设校验算法可以由本领域技术人员根据经验进行设置,比如可以为哈希算法,或者也可以为其它算法,校验区块数据对应的切片的预设校验算法与校验签名数据对应的切片的预设校验算法可以相同,或者也可以不同,具体不作限定。
在一个示例中,由于签名数据中包括多个共识节点的数字签名,而每个共识节点的数字签名的长度固定为128字节码,因此可以将第二切片长度设置为128字节码的整数倍,从而使得签名数据对应的每个切片均对应一个或多个共识节点的数字签名。相应地,由于不同区块是由不同的交易数据构成的,而不同交易数据的长度大都不同,因此不同区块的区块数据的长度存在不确定性,如此,第一切片长度可以设置为任一固定值;通过分析交易数据的长度发现,当将第一切片长度设置为500字节码至1200字节码之间的固定值时,区块数据的切片结果较好。
举例来说,若某一区块的数字文件中区块数据的长度为22000字节码,签名数据的长度为1280字节码,则当设置第一切片长度为1100字节码,第二切片长度为128字节码时,可以将该区块数据切分为区块数据切片1、区块数据切片2、区块数据切片3、……、区块数据切片20,同时可以将签名数据切分为签名数据切片1、签名数据切片2、签名数据切片3、……、签名数据切片10。再举个例子,当设置第一切片长度为1200字节码时,远端服务器110可以先根据第一切片长度对区块数据进行补齐操作,由于区块数据的长度为22000字节码,第一切片长度为1200字节码,因此可以先在区块数据的后方补上长度为2000字节码的设定字符(比如0),然后再对补0后的24000字节码的区块数据进行切分,得到区块数据切片1、区块数据切片2、区块数据切片3、……、区块数据切片20;或者,也可以直接对22000字节码的区块数据进行切分,得到区块数据切片1、区块数据切片2、区块数据切片3、……、区块数据切片20,其中区块数据切片20的长度为1000字节码。
在上述示例中,通过使用各共识节点的数字签名的长度对签名数据进行切片,可以使得签名数据的每个分片对应一个数字签名,如此,可以便于签名数据的切片对比过程,提高对比效率。
基于此,通过对每个区块的数据文件中的区块数据和签名数据进行切片,远端服务器110可以得到第一共识节点对待备份区块的切片结果。
在一个示例中,第一共识节点对待备份区块的切片结果可以如表2所示:
表2:一种切片结果的示意
如表2所示,待备份区块的数据文件中包括区块1的数据文件和区块2的数据文件,对区块1的数据文件中的区块数据进行切片,得到4个区块数据切片,对区块1的数据文件中的签名数据进行切片,得到6个签名数据切片;相应地,对区块2的数据文件中的区块数据进行切片,得到8个区块数据切片,对区块2的数据文件中的签名数据进行切片,得到3个签名数据切片。
需要说明的是,步骤301和步骤302仅是一种示例性的说明,本发明实施例中也可以由第一共识节点对待备份区块的数据文件进行切片,得到第一共识节点对待备份区块的切片结果后,由远端服务器110从第一共识节点中直接获取第一共识节点对待备份区块的切片结果,具体不作限定。
步骤303,远端服务器将第一共识节点对待备份区块的切片结果发送给区块链***中的其它共识节点。
本发明实施例中,远端服务器110可以采用串行的方式获取其它共识节点对待备份区块的对比切片结果,也可以采用并行的方式获取其它共识节点对待备份区块的对比切片结果;比如远端服务器110可以每次仅将第一共识节点对待备份区块的切片结果发送给某一个其它共识节点,并在接收到该其它共识节点发送的该其它共识节点对待备份区块的对比切片结果后,再将第一共识节点对待备份区块的切片结果发送给下一个其它共识节点,直至获取到所有的其它共识节点对待备份区块的对比切片结果后结束获取操作,或者,远端服务器110也可以将第一共识节点对待备份区块的切片结果直接发送给所有的其它共识节点,并在接收所有的其它共识节点对待备份区块的对比切片结果后结束获取操作。
步骤304,针对于任一其它共识节点,该其它共识节点根据第一共识节点对待备份区块的切片结果确定该其它共识节点对待备份区块的对比切片结果。
为了便于描述,假设第二共识节点为任一其它共识节点,以第二共识节点为例描述得到第二共识节点对待备份区块的对比切片结果的具体实现过程。
具体实施中,第二共识节点接收到远端服务器110发送的第一共识节点对待备份区块的切片结果后,可以先根据该切片结果中数据文件的校验值从第二共识节点中获取第二共识节点中待共识区块的数据文件,再根据每个区块的切片结果中的区块高度从第二共识节点中待共识区块的数据文件中获取对应的每个区块的数据文件。如此,第二共识节点可以获取到第二共识节点中每个区块的数据文件与第一共识节点中每个区块的切片结果的对应关系。
进一步地,针对于第二共识节点对应的每个区块的数据文件,第二共识节点每次可以使用第一切片长度从该区块的数据文件的区块数据中切分出一个区块数据切片(比如区块数据切片A1),然后计算区块数据切片A1的校验值,并基于区块数据切片A1的校验值从第一共识节点对应的该区块的多个区块数据切片中确定是否存在校验值相同的切片,若第一共识节点中的区块数据切片A2的校验值与第二共识节点中的区块数据切片A1的校验值相同,则可以记录区块数据切片A2的位置、区块数据切片A1的校验值和位置的对应关系;相应地,若第一共识节点中的多个区块数据切片的校验值均与第二共识节点中的区块数据切片A1的校验值不同,则可以记录区块数据切片A2的全量区块数据和区块数据切片A2的位置。相应地,当区块数据切片A1对比完成后,第二共识节点可以沿着该区块的区块数据向前滑动第一切片长度的距离,并以此为新的起点,使用第一切片长度从区块数据中切分出另一个区块数据切片,并执行上述对比过程,直至对比至该区块的区块数据的末端。
相应地,第二共识节点对区块数据执行完上述过程后,还可以采用相同的方式对签名数据进行对比,或者也可以对区块数据和签名数据执行并行的对比过程,每次均取出一个或多个区块数据切片和一个或多个签名数据切片进行并行对比,不作限定;且,签名数据的对比过程可以参照上述的区块数据进行执行,不再赘述。
如此,通过执行上述对比过程,针对于任一区块,第二共识节点可以得到多个具有对应关系的区块数据切片,具有对应关系的区块数据切片是指该区块数据切片与第一共识节点中的某一区块数据切片的校验值相同,且第二共识节点记录了具有对应关系的每个区块数据切片的位置、所对应的第一共识节点中的区块数据切片的校验值和位置,第二共识节点还可以得到多个不具有对应关系的区块数据切片,且第二共识节点记录了不具有对应关系的每个区块数据的全量区块数据和位置;相应地,第二共识节点还可以得到多个具有对应关系的签名数据切片,具有对应关系的签名数据切片是指该签名数据切片与第一共识节点中的某一签名数据切片的校验值相同,且第二共识节点记录了具有对应关系的每个签名数据切片的位置、所对应的第一共识节点中的签名数据切片的校验值和位置,第二共识节点还可以得到多个不具有对应关系的签名数据切片,且第二共识节点记录了不具有对应关系的每个签名数据的全量区块数据和位置。
基于此,针对于每个区块,第二共识节点根据具有对应关系的每个区块数据切片的位置、所对应的第一共识节点中的区块数据切片的校验值和位置、不具有对应关系的每个区块数据的全量区块数据和位置、具有对应关系的每个签名数据切片的位置、所对应的第一共识节点中的签名数据切片的校验值和位置、不具有对应关系的每个签名数据的全量区块数据和位置,可以生成第二共识节点对每个区块的对比切片结果;如此,第二共识节点根据第二共识节点对待备份区块中多个区块的对比切片结果可以生成第二共识节点对待备份区块的对比切片结果。
综上,若第二共识节点对待备份区块的切片结果可以如表3所示:
表3:一种对比切片结果的示意
如表3所示,第二共识节点中待备份区块的数据文件包括区块1的数据文件和区块2的数据文件,第二共识节点对区块1的数据文件中的区块数据进行切片,得到4个区块数据切片,第二共识节点对区块1的第1个区块数据切片与第一共识节点对区块1的第1个区块数据切片相同,因此对比切片结果中第1个区块数据切片的位置放置第一共识节点对区块1的第1个区块数据切片的校验值和位置;相应地,第二共识节点对区块1的第2个区块数据切片不存在相同的第一共识节点的区块数据切片,因此对比切片结果中第2个区块数据切片的位置放置第二共识节点中第2个区块数据切片的全量数据和位置,等等。
在一个示例中,由于待备份区块为经过区块链***中的共识节点共识成功的区块,因此各个共识节点中待备份区块的区块数据在很大概率上是相同的(除非共识节点对待备份区块的区块数据进行篡改),且由于每个共识节点在接收到预设数量(比如全部共识节点的3/4)的共识节点的数字签名时即可确定区块共识成功,因此各个共识节点中待备份区块的签名数据在很大概率上是不同的;基于此,若第二共识节点的每个区块数据切片均与第一共识节点的对应区块数据切片相同,则第二共识节点还可以仅根据具有对应关系的每个签名数据切片的位置、所对应的第一共识节点中的签名数据切片的校验值和位置、不具有对应关系的每个签名数据的全量区块数据和位置生成第二共识节点对每个区块的对比切片结果,进而根据第二共识节点对待备份区块中多个区块的对比切片结果可以生成第二共识节点对待备份区块的对比切片结果。
由此可知,在上述示例中,若第二共识节点的每个区块数据切片均与第一共识节点的对应区块数据切片相同,则第二共识节点对待备份区块的切片结果可以如表4所示:
表4:一种对比切片结果的示意
如表4所示,第二共识节点中待备份区块的数据文件包括区块1的数据文件和区块2的数据文件,第二共识节点对区块1的数据文件中的区块数据进行切片的切片结果与第一共识节点对区块1的区块数据进行切片的切片结果完全相同,第二共识节点对区块2的数据文件中的区块数据进行切片的切片结果与第一共识节点对区块2的区块数据进行切片的切片结果完全相同;如此,当远端服务器110接收到第二共识节点对每个区块的区块数据的切片结果后,发现在区块1的高度之后解析到数据文件的校验值,则可以确定第二共识节点对每个区块的区块数据的切片结果与第一共识节点对每个区块的区块数据的切片结果相同。
本发明实施例中,其它共识节点对待备份区块的切片结果实际为其它共识节点相对于第一共识节点来说对待备份区块的对比切片结果,即其它共识节点对待备份区块的切片结果中包括存在对应关系的切片所对应的第一共识节点的切片信息(即切片的校验值和位置)、不存在对应关系的切片对应的全量数据(即区块数据或签名数据),如此,远端服务器可以直接基于第一共识节点对待备份区块的切片结果和其它共识节点相对于第一共识节点来说对待备份区块的对比切片结果确定出各个共识节点中待备份区块的一致性;也就是说,采用该种方式,其它共识节点可以无需传输与第一共识节点相同的切片的全量数据,从而可以降低数据的传输量,且远端服务器还可以基于这种简洁明确的对应关系快速地确定是否对待备份区块进行备份,从而可以提高区块备份的效率。
步骤305,任一其它共识节点将该其它共识节点对待备份区块的对比切片结果发送给远端服务器。
步骤306,远端服务器根据第一共识节点对区块数据的切片结果和其它共识节点对区块数据的对比切片结果,确定区块数据相同的共识节点的数量。
步骤307,远端服务器确定区块数据相同的共识节点的数量是否大于或等于预设阈值,若是,执行步骤308,若否,执行步骤309。
具体实施中,针对于任一其它共识节点,远端服务器110可以先解析该其它共识节点对待备份区块的切片结果得到该其它共识节点对待备份区块中每个区块的切片结果,然后解析该其它共识节点对每个区块的切片结果得到该其它共识节点对每个区块的区块数据的切片结果和对每个区块的签名数据的切片结果。
在一个示例中,远端服务器110可以先获取每个共识节点中每个区块的区块数据的长度,并基于区块数据的长度从各个共识节点中选取长度一致的共识节点,若长度一致的共识节点的数量小于预设阈值,说明区块数据相同的共识节点的数量较少,待备份区块已被篡改,因此远端服务器110可以直接确定不对待备份区块进行备份;若长度一致的共识节点的数量大于或等于预设阈值,则远端服务器110可以根据第一共识节点中待备份区块的区块数据和长度一致的每个其它共识节点对区块数据的对比切片结果,对长度一致的每个其它共识节点中待备份区块的全量区块数据进行还原,并从还原后的长度一致的各个共识节点中确定出待备份区块的区块数据相同的共识节点,统计待备份区块的区块数据相同的共识节点的数量,若数量大于预设阈值,则可以确定对待备份区块进行备份,若数量小于预设阈值,则可以确定不待备份区块进行备份。
步骤308,远端服务器根据第一共识节点中待备份区块的数据文件和其它共识节点对待备份区块的对比切片结果,对待备份区块进行备份。
具体实施中,若远端服务器110确定对待备份区块进行备份,则可以从待备份区块的区块数据相同的共识节点中选取任一共识节点,将该共识节点中待备份区块的数据文件中的区块数据作为目标区块数据,并可以基于第一共识节点中待备份区块的数据文件中的全量签名数据和每个其它共识节点对签名数据的对比切片结果,统计得到各个共识节点中待备份区块的数据文件中的签名数据集;如此,远端服务器110可以根据目标区块数据和签名数据集对待备份区块进行备份。
步骤309,远端服务器确定不对待备份区块进行备份。
在一个示例中,远端服务器110若确定不对待备份区块进行备份,则可以生成告警消息,并可以将告警消息推送给运维人员,比如可以通过钉钉、微信、邮件等方式推送给运维人员;其中,告警消息用于指示区块链***的各个共识节点中的待备份区块不同。
在上述实现方式中,通过第一共识节点上报待共识区块的全量数据、其它共识节点上报与第一共识节点不同的全量数据,即可实现对第一共识节点和其它共识节点中的待备份区块进行备份,从而可以极大地降低数据传输量,相比于远端服务器获取各个共识节点的全量数据并进行对比的方式来说,还可以降低远端服务器的压力,提高区块备份的效率。
图4为本发明实施例提供的又一种基于区块链***的数据处理方法的交互流程示意图,如图4所示,该方法包括:
步骤401,远端服务器将切片规则发送给区块链***中的各个共识节点。
其中,切片规则可以包括待备份区块中每个区块的块高或待备份区块的数据文件的标识。
本发明实施例中,若各个共识节点中待备份区块的数据文件包括区块数据和签名数据,还包括区块数据的长度、区块高度、数据文件的校验值、分隔符中的任意一项或任意多项,则切片规则还可以包括第一切片长度和第二切片长度;相应地,若各个共识节点中待备份区块的数据文件包括第二切片长度,比如数据文件按照表1所示的第1至第7部分进行存储,由于第5部分为签名数据的切片长度(即第二切片长度),因此切片规则还可以仅包括第一切片长度。
在一个示例中,第二切片长度可以为共识节点的数字签名长度的整数倍。
步骤402,区块链***中的每个共识节点根据切片规则对其存储的待备份区块的数据文件进行切片,得到每个共识节点对待备份区块的切片结果。
具体实施中,每个共识节点在接收到远端服务器110发送的切片规则后,可以先根据切片规则中待备份区块中每个区块的块高或待备份区块的数据文件的标识获取每个共识节点中待备份区块的数据文件,然后使用第一切片长度对待备份区块中每个区块的数据文件中的区块数据进行切片,得到该共识节点对待备份区块的多个区块数据切片,并计算每个区块数据切片的校验值;相应地,每个共识节点还可以使用第二切片长度对待备份区块中每个区块的数据文件中的签名数据进行切片,得到该共识节点对待备份区块的多个签名数据切片,并计算每个签名数据切片的校验值。
进一步地,每个共识节点根据该共识节点对待备份区块的多个区块数据切片的校验值、多个区块数据切片在数据文件中的位置、该共识节点对待备份区块的多个签名数据切片的校验值、多个签名数据切片在数据文件中的位置,可以生成每个共识节点对待备份区块的切片结果。
本发明实施例中,通过远端服务器向各个共识节点发送切片规则,可以使得切片操作由各个共识节点执行,从而可以降低远端服务器的压力,提高远端服务器的备份效率。
步骤403,每个共识节点将每个共识节点对待备份区块的切片结果发送给远端服务器。
步骤404,远端服务器根据各共识节点对区块数据的切片结果,确定区块数据相同的共识节点的数量。
具体实施中,远端服务器110获取各共识节点对待备份区块的切片结果后,可以先从每个共识节点对待备份区块的切片结果中获取每个共识节点对待备份区块中的每个区块的区块数据的切片结果,然后确定多个区块的切片结果中区块数据的长度均一致的共识节点的数量,若该数量小于预设阈值,则说明区块数据相同的共识节点的数量小于预设阈值,从而可以执行步骤409;相应地,若该数量大于或等于预设阈值,则可以对比多个共识节点对每个区块的区块数据切片结果,针对于任意两个共识节点,若这两个共识节点对每个区块的区块数据的切片校验值和位置均相同,则可以确定这两个共识节点中待备份区块的区块数据相同,如此,通过对比任意两个共识节点对每个区块的区块数据切片结果,可以确定出待备份区块的区块数据相同的各个共识节点,统计待备份区块的区块数据相同的各个共识节点的数量。
步骤405,远端服务器确定区块数据相同的共识节点的数量是否大于或等于预设阈值,若是,执行步骤406,若否,执行步骤409。
步骤406,远端服务器向区块数据相同的任一共识节点发送区块数据获取指令,并向签名数据相同的任一共识节点发送签名数据获取指令。
具体实施中,若待备份区块的区块数据相同的各个共识节点的数量大于或等于预设阈值,则确定区块链***中大部分共识节点中待备份区块的区块数据一致,如此,远端服务器110可以从待备份区块的区块数据相同的各个共识节点中选取任意一个共识节点,向该共识节点发送区块数据获取指令;其中,区块数据获取指令中包括待备份区块中每个区块的块高或待备份区块的数据文件的标识,区块数据获取指令用于该共识节点将该共识节点中待备份区块的数据文件中的区块数据发送给远端服务器110。
相应地,远端服务器110可以对比任意两个共识节点对签名数据的切片结果,将存在任一相同签名数据切片的共识节点统计为一个共识节点集合,每个共识节点集合包括存在公共签名数据的至少两个共识节点;其中,不同共识节点集合中可以存在相同的共识节点,比如共识节点1的签名数据切片1的校验值与共识节点3的签名数据切片5的校验值相同,且共识节点1的签名数据切片3的校验值与共识节点3的签名数据切片2的校验值相同,共识节点2的签名数据切片1的校验值、共识节点3的签名数据切片3的校验值和共识节点4的签名数据切片1的校验值相同,则共识节点1和共识节点3构成一个共识节点集合,共识节点2、共识节点3和共识节点4构成一个共识节点集合。
进一步地,针对于任一共识节点集合,远端服务器110可以从该共识节点集合中选取任意一个共识节点,向该共识节点发送签名数据获取指令;其中,签名数据获取指令中包括待备份区块中每个区块的块高或待备份区块的数据文件的标识,还包括该共识节点在该共识节点集合中与其它共识节点相同的签名数据切片的位置,签名数据获取指令用于该共识节点将该共识节点所属的共识节点集合中的公共签名数据发送给远端服务器110。
步骤407,接收到区块数据获取指令的共识节点将该共识节点中待备份区块的区块数据发送给远端服务器,接收到签名数据获取指令的共识节点将该共识节点中与签名数据的位置对应的签名数据发送给远端服务器。
本发明实施例中,针对于任一共识节点,若该共识节点接收到区块数据获取指令,则可以先根据区块数据获取指令中待备份区块中每个区块的块高或待备份区块的数据文件的标识获取该共识节点中待备份区块的数据文件,然后将该共识节点中待备份区块的数据文件中的区块数据发送给远端服务器110;或者,若该共识节点接收到签名数据获取指令,则可以先根据签名数据获取指令中待备份区块中每个区块的块高或待备份区块的数据文件的标识获取该共识节点中待备份区块的数据文件,然后根据签名数据获取指令中签名数据切片的位置从该共识节点中待备份区块的数据文件中获取该共识节点所属的共识节点集合中的公共签名数据,然后将公共签名数据发送给远端服务器110。
步骤408,远端服务器根据接收到的区块数据和各个共识节点的签名数据,对待备份区块进行备份。
本发明实施例中,远端服务器110可以根据接收到的各个共识节点发送的签名数据构建签名数据集,并可以根据接收到的待备份区块的区块数据和签名数据集对待备份区块进行备份。
在一个示例中,远端服务器110可以从根据待备份区块的区块数据和签名数据集得到每个区块的区块数据和签名数据集,然后针对于任一区块,从该区块的区块数据中提取得到该区块的区块头,并可以将该区块的区块数据中除区块头之外的数据和该区块的签名数据集作为该区块的区块体;其中,区块的区块头包括区块高度、区块的哈希值、父区块的哈希值、交易数据的哈希值、交易回执的哈希值和状态数据的哈希值等,区块的区块体包括交易数据、交易回执、状态数据、签名数据等。
进一步地,远端服务器110可以组装每个区块的区块头和区块体,得到每个区块的区块信息,然后将每个区块的区块信息存储在远端服务器110的磁盘或内存中,以完成对待备份区块的备份。
步骤409,远端服务器确定不对待备份区块进行备份。
在上述实现方式中,远端服务器先根据各共识节点对区块数据的切片结果确定各共识节点的区块数据是否一致,若不一致,则说明待备份区块被篡改,如此,远端服务器无需执行签名数据的切片结果的对比过程即可确定不再备份,从而可以降低无必要的操作步骤;相应地,若一致,则说明待备份区块可以被备份,如此,远端服务器通过从任一未被篡改的共识节点获取区块数据,并采用最少的数据传输方式从各个共识节点获取全量的签名数据,可以以最少的数据传输量获取全量的区块数据和签名数据,从而可以有效地降低网络通信的压力。
本发明的上述实施例中,远端服务器获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,并根据各共识节点对所述待备份区块的切片结果,确定是否对所述待备份区块进行备份;其中,每个共识节点对所述待备份区块的切片结果为对所述共识节点中所述待备份区块的数据文件进行切片得到的,所述数据文件包括区块数据和签名数据;所述切片结果包括多个切片的校验值和所述多个切片在所述数据文件中的位置,所述区块数据使用第一切片长度进行切片;所述签名数据使用第二切片长度进行切片。本发明实施例中,各个共识节点与远端服务器通过传输待备份区块的切片结果来实现对待备份区块的备份,而每个共识节点对待备份区块的切片结果包括切片的校验值和切片在数据文件中的位置,由此可知,待备份区块的切片结果相对于待备份区块的全量数据来说数据量较小,因此该种方式可以极大地减少网络通信的数据传输量,有效降低网络通信的开销,并可以提高区块备份的效率。
针对上述方法流程,本发明实施例还提供一种基于区块链***的数据处理装置,该装置的具体内容可以参照上述方法实施。
图5为本发明实施例提供的一种基于区块链***的数据处理装置的结构示意图,包括:
获取模块501,用于获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,每个共识节点对所述待备份区块的切片结果为对所述共识节点中所述待备份区块的数据文件进行切片得到的,所述数据文件包括区块数据和签名数据;所述切片结果包括多个切片的校验值和所述多个切片在所述数据文件中的位置;其中,所述区块数据使用第一切片长度进行切片;所述签名数据使用第二切片长度进行切片;
备份模块502,用于根据各共识节点对所述待备份区块的切片结果,确定是否对所述待备份区块进行备份。
可选地,所述获取模块501具体用于:
获取第一共识节点对所述待备份区块的切片结果;
将所述第一共识节点对所述待备份区块的切片结果发送给所述区块链***中的其它共识节点;所述第一共识节点对所述待备份区块的切片结果用于所述其它共识节点确定所述其它共识节点对所述待备份区块的切片结果,所述其它共识节点对所述待备份区块的切片结果中的多个切片为对应的第一共识节点对所述待备份区块的切片结果中的多个切片,所述其它共识节点对所述待备份区块的切片结果还包括不存在对应关系的切片对应的区块数据或签名数据;
接收所述其它共识节点发送的所述其它共识节点对所述待备份区块的切片结果。
可选地,所述获取模块501具体用于:
从第一共识节点获取所述待备份区块的数据文件;
使用所述第一切片长度对所述区块数据进行切片,得到所述第一共识节点对所述区块数据的多个切片,并计算每个切片的校验值;
使用所述第二切片长度对所述签名数据进行切片,得到所述第一共识节点对所述签名数据的多个切片,并计算每个切片的校验值;
根据所述第一共识节点对所述区块数据的多个切片的校验值、所述区块数据的多个切片在所述数据文件中的位置、所述第一共识节点对所述签名数据的多个切片的校验值和所述签名数据的多个切片在所述数据文件中的位置生成所述第一共识节点对所述待备份区块的切片结果。
可选地,所述备份模块502具体用于:
根据各共识节点对所述区块数据的切片结果,确定对所述区块数据的切片结果一致的共识节点的数量,若所述数量大于或等于预设阈值,则根据所述各共识节点对所述签名数据的切片结果统计得到签名数据集,并根据所述第一共识节点中所述待备份区块的数据文件和所述签名数据集对所述区块的数据文件进行备份;若确定所述数量小于所述预设阈值,则确定不对所述待备份区块进行备份。
可选地,所述获取模块501具体用于:
向各个共识节点发送切片规则;所述切片规则用于各个共识节点对各个共识节点中所述待备份区块的数据文件进行切片得到各个共识节点对所述待备份区块的切片结果,所述切片规则包括第一切片长度和第二切片长度,所述第二切片长度用于标识各共识节点的数字签名的长度。
可选地,所述备份模块502具体用于:
根据各共识节点对所述区块数据的切片结果,确定对所述区块数据的切片结果一致的共识节点的数量,若所述数量大于或等于预设阈值,则向任一共识节点发送第一数据请求;所述第一数据请求用于获取所述共识节点的区块数据;
根据各共识节点对所述签名数据的切片结果,将各共识节点划分为多个共识节点集合,并向每个共识节点集合中的任一共识节点发送第二数据请求;所述每个共识节点集合中的共识节点存在公共签名数据,所述第二数据请求用于获取所述共识节点集合中的公共签名数据;
根据所述共识节点的区块数据和所述多个共识节点集合中的公共签名数据对所述区块的数据文件进行备份。
从上述内容可以看出:本发明的上述实施例中,远端服务器获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,并根据各共识节点对所述待备份区块的切片结果,确定是否对所述待备份区块进行备份;其中,每个共识节点对所述待备份区块的切片结果为对所述共识节点中所述待备份区块的数据文件进行切片得到的,所述数据文件包括区块数据和签名数据;所述切片结果包括多个切片的校验值和所述多个切片在所述数据文件中的位置,所述区块数据使用第一切片长度进行切片;所述签名数据使用第二切片长度进行切片。本发明实施例中,各个共识节点与远端服务器通过传输待备份区块的切片结果来实现对待备份区块的备份,而每个共识节点对待备份区块的切片结果包括切片的校验值和切片在数据文件中的位置,由此可知,待备份区块的切片结果相对于待备份区块的全量数据来说数据量较小,因此该种方式可以极大地减少网络通信的数据传输量,有效降低网络通信的开销,并可以提高区块备份的效率。
基于同一发明构思,本发明实施例提供了一种计算设备,如图6所示,包括至少一个处理器601,以及与至少一个处理器连接的存储器602,本发明实施例中不限定处理器601与存储器602之间的具体连接介质,图6中处理器601和存储器602之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以执行前述的基于区块链***饿的数据处理方法中所包括的步骤。
其中,处理器601是计算设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据,从而实现数据处理。可选的,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器601可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于区块链***饿的数据处理实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述图2至图4任一项所述的基于区块链***的数据处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种基于区块链***的数据处理方法,其特征在于,所述方法包括:
远端服务器获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,每个共识节点对所述待备份区块的切片结果为对所述共识节点中所述待备份区块的数据文件进行切片得到的,所述数据文件包括区块数据和签名数据;所述切片结果包括多个切片的校验值和所述多个切片在所述数据文件中的位置;其中,所述区块数据使用第一切片长度进行切片;所述签名数据使用第二切片长度进行切片;
所述远端服务器根据各共识节点对所述待备份区块的切片结果,确定对所述待备份区块中的所述区块数据的切片结果一致的共识节点的数量,若确定所述数量大于或等于预设阈值,则对所述待备份区块进行备份,若确定所述数量小于所述预设阈值,则不对所述待备份区块进行备份。
2.根据权利要求1所述的方法,其特征在于,所述远端服务器获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,包括:
所述远端服务器获取第一共识节点对所述待备份区块的切片结果;
所述远端服务器将所述第一共识节点对所述待备份区块的切片结果发送给所述区块链***中的其它共识节点;所述第一共识节点对所述待备份区块的切片结果用于所述其它共识节点确定所述其它共识节点对所述待备份区块的切片结果,所述其它共识节点对所述待备份区块的切片结果中的多个切片为对应的第一共识节点对所述待备份区块的切片结果中的多个切片,所述其它共识节点对所述待备份区块的切片结果还包括不存在对应关系的切片对应的区块数据或签名数据;
所述远端服务器接收所述其它共识节点发送的所述其它共识节点对所述待备份区块的切片结果。
3.根据权利要求2所述的方法,其特征在于,所述远端服务器获取第一共识节点对待备份区块的切片结果,包括:
从第一共识节点获取所述待备份区块的数据文件;
所述远端服务器使用所述第一切片长度对所述区块数据进行切片,得到所述第一共识节点对所述区块数据的多个切片,并计算每个切片的校验值;
所述远端服务器使用所述第二切片长度对所述签名数据进行切片,得到所述第一共识节点对所述签名数据的多个切片,并计算每个切片的校验值;
所述远端服务器根据所述第一共识节点对所述区块数据的多个切片的校验值、所述区块数据的多个切片在所述数据文件中的位置、所述第一共识节点对所述签名数据的多个切片的校验值和所述签名数据的多个切片在所述数据文件中的位置生成所述第一共识节点对所述待备份区块的切片结果。
4.根据权利要求3所述的方法,其特征在于,所述远端服务器根据各共识节点对所述待备份区块的切片结果,确定是否对所述待备份区块进行备份,包括:
所述远端服务器根据各共识节点对所述区块数据的切片结果,确定对所述区块数据的切片结果一致的共识节点的数量,若所述数量大于或等于预设阈值,则根据所述各共识节点对所述签名数据的切片结果统计得到签名数据集,并根据所述第一共识节点中所述待备份区块的数据文件和所述签名数据集对所述区块的数据文件进行备份;若确定所述数量小于所述预设阈值,则确定不对所述待备份区块进行备份。
5.根据权利要求1所述的方法,其特征在于,所述远端服务器获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,包括:
所述远端服务器向各个共识节点发送切片规则;所述切片规则用于各个共识节点对各个共识节点中所述待备份区块的数据文件进行切片得到各个共识节点对所述待备份区块的切片结果,所述切片规则包括第一切片长度和第二切片长度,所述第二切片长度用于标识各共识节点的数字签名的长度。
6.根据权利要求5所述的方法,其特征在于,所述远端服务器若确定所述数量大于或等于预设阈值,则对所述待备份区块进行备份,包括:
所述远端服务器若确定所述数量大于或等于预设阈值,则向任一共识节点发送第一数据请求;所述第一数据请求用于获取所述共识节点的区块数据;
所述远端服务器根据各共识节点对所述签名数据的切片结果,将各共识节点划分为多个共识节点集合,并向每个共识节点集合中的任一共识节点发送第二数据请求;所述每个共识节点集合中的共识节点存在公共签名数据,所述第二数据请求用于获取所述共识节点集合中的公共签名数据;
所述远端服务器根据所述共识节点的区块数据和所述多个共识节点集合中的公共签名数据对所述区块的数据文件进行备份。
7.一种基于区块链***的数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取所述区块链***中的各共识节点对各自存储的待备份区块的切片结果,每个共识节点对所述待备份区块的切片结果为对所述共识节点中所述待备份区块的数据文件进行切片得到的,所述数据文件包括区块数据和签名数据;所述切片结果包括多个切片的校验值和所述多个切片在所述数据文件中的位置;其中,所述区块数据使用第一切片长度进行切片;所述签名数据使用第二切片长度进行切片;
备份模块,用于根据各共识节点对所述待备份区块的切片结果,确定对所述待备份区块中的所述区块数据的切片结果一致的共识节点的数量,若确定所述数量大于或等于预设阈值,则对所述待备份区块进行备份,若确定所述数量小于所述预设阈值,则不对所述待备份区块进行备份。
8.根据权利要求7所述的装置,其特征在于,所述获取模块具体用于:
获取第一共识节点对所述待备份区块的切片结果;
将所述第一共识节点对所述待备份区块的切片结果发送给所述区块链***中的其它共识节点;所述第一共识节点对所述待备份区块的切片结果用于所述其它共识节点确定所述其它共识节点对所述待备份区块的切片结果,所述其它共识节点对所述待备份区块的切片结果中的多个切片为对应的第一共识节点对所述待备份区块的切片结果中的多个切片,所述其它共识节点对所述待备份区块的切片结果还包括不存在对应关系的切片对应的区块数据或签名数据;
接收所述其它共识节点发送的所述其它共识节点对所述待备份区块的切片结果。
9.根据权利要求7所述的装置,其特征在于,所述获取模块具体用于:
从第一共识节点获取所述待备份区块的数据文件;
使用所述第一切片长度对所述区块数据进行切片,得到所述第一共识节点对所述区块数据的多个切片,并计算每个切片的校验值;
使用所述第二切片长度对所述签名数据进行切片,得到所述第一共识节点对所述签名数据的多个切片,并计算每个切片的校验值;
根据所述第一共识节点对所述区块数据的多个切片的校验值、所述区块数据的多个切片在所述数据文件中的位置、所述第一共识节点对所述签名数据的多个切片的校验值和所述签名数据的多个切片在所述数据文件中的位置生成所述第一共识节点对所述待备份区块的切片结果。
10.根据权利要求9所述的装置,其特征在于,所述备份模块具体用于:
根据各共识节点对所述区块数据的切片结果,确定对所述区块数据的切片结果一致的共识节点的数量,若所述数量大于或等于预设阈值,则根据所述各共识节点对所述签名数据的切片结果统计得到签名数据集,并根据所述第一共识节点中所述待备份区块的数据文件和所述签名数据集对所述区块的数据文件进行备份;若确定所述数量小于所述预设阈值,则确定不对所述待备份区块进行备份。
11.根据权利要求7所述的装置,其特征在于,所述获取模块具体用于:
向各个共识节点发送切片规则;所述切片规则用于各个共识节点对各个共识节点中所述待备份区块的数据文件进行切片得到各个共识节点对所述待备份区块的切片结果,所述切片规则包括第一切片长度和第二切片长度,所述第二切片长度用于标识各共识节点的数字签名的长度。
12.根据权利要求11所述的装置,其特征在于,所述备份模块具体用于:
若确定所述数量大于或等于预设阈值,则向任一共识节点发送第一数据请求;所述第一数据请求用于获取所述共识节点的区块数据;
根据各共识节点对所述签名数据的切片结果,将各共识节点划分为多个共识节点集合,并向每个共识节点集合中的任一共识节点发送第二数据请求;所述每个共识节点集合中的共识节点存在公共签名数据,所述第二数据请求用于获取所述共识节点集合中的公共签名数据;
根据所述共识节点的区块数据和所述多个共识节点集合中的公共签名数据对所述区块的数据文件进行备份。
13.一种计算设备,其特征在于,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1~6任一权利要求所述的方法。
14.一种计算机可读存储介质,其特征在于,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行权利要求1~6任一权利要求所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911039082.XA CN110855761B (zh) | 2019-10-29 | 2019-10-29 | 一种基于区块链***的数据处理方法及装置 |
PCT/CN2020/114568 WO2021082757A1 (zh) | 2019-10-29 | 2020-09-10 | 一种基于区块链***的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911039082.XA CN110855761B (zh) | 2019-10-29 | 2019-10-29 | 一种基于区块链***的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855761A CN110855761A (zh) | 2020-02-28 |
CN110855761B true CN110855761B (zh) | 2021-09-21 |
Family
ID=69598378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911039082.XA Active CN110855761B (zh) | 2019-10-29 | 2019-10-29 | 一种基于区块链***的数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110855761B (zh) |
WO (1) | WO2021082757A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855761B (zh) * | 2019-10-29 | 2021-09-21 | 深圳前海微众银行股份有限公司 | 一种基于区块链***的数据处理方法及装置 |
CN111612466B (zh) * | 2020-01-17 | 2022-02-18 | 厦门潭宏信息科技有限公司 | 一种共识和资源传输方法、设备及存储介质 |
CN111768181A (zh) * | 2020-07-01 | 2020-10-13 | 厦门力含信息技术服务有限公司 | 一种结合大数据和信用区块链的数据清算*** |
CN113628047B (zh) * | 2021-07-15 | 2024-02-02 | 金陵科技学院 | 一种交易事件的辅助处理*** |
CN113411191B (zh) * | 2021-08-20 | 2021-11-23 | 深圳前海微众银行股份有限公司 | 数据审计方法及装置 |
CN113742296B (zh) * | 2021-09-09 | 2024-04-30 | 诺优信息技术(上海)有限公司 | 一种路测数据切片处理的方法、装置及电子设备 |
CN114385761B (zh) * | 2022-03-23 | 2022-07-12 | 支付宝(杭州)信息技术有限公司 | 一种基于共识***的共识数据存储、获取方法及装置 |
CN114881760B (zh) * | 2022-04-29 | 2023-04-07 | 深圳市智策科技有限公司 | 基于区块链的数据管理方法及*** |
CN114884977B (zh) * | 2022-05-09 | 2023-07-04 | 深圳嘉业产业发展有限公司 | 一种基于区块链的数据共享方法及*** |
CN115544170B (zh) * | 2022-11-22 | 2023-03-14 | 中国信息通信研究院 | 基于区块链的数据托管方法和装置、电子设备、介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064906A (zh) * | 2009-11-18 | 2011-05-18 | 突触计算机***(上海)有限公司 | 一种对数据块进行校验的方法和装置 |
WO2018028777A1 (en) * | 2016-08-10 | 2018-02-15 | Rwe International Se | Peer-to-peer communication system and peer-to-peer processing apparatus |
FR3074322B1 (fr) * | 2017-11-30 | 2021-04-16 | Worldline | Plate-forme de tracabilite securisee de donnees |
CN108063774A (zh) * | 2018-02-13 | 2018-05-22 | 苏州汉辰数字科技有限公司 | 一种量子流媒体云盘***及服务架构 |
US10554412B2 (en) * | 2018-03-06 | 2020-02-04 | Robust Analytics, Inc. | Method and network to implement decentralized validation and authentication mechanisms to prevent ADS-B cyber-attacks |
CN108647361B (zh) * | 2018-05-21 | 2021-12-03 | 中国工商银行股份有限公司 | 一种基于区块链的数据存储方法、装置及*** |
CN109284625A (zh) * | 2018-09-03 | 2019-01-29 | 佛山科学技术学院 | 一种基于区块链的数据安全访问方法及装置 |
CN109271283A (zh) * | 2018-09-06 | 2019-01-25 | 北京云测信息技术有限公司 | 一种基于区块链的数据备份方法 |
CN109271115B (zh) * | 2018-10-11 | 2021-07-30 | 重庆晨鲸科技有限公司 | 存储共享方法、装置、区块链分布式网络拓扑 |
CN109508968B (zh) * | 2018-10-25 | 2020-12-18 | 常州唯康信息科技有限公司 | 区块链***以及其控制方法 |
CN109885256B (zh) * | 2019-01-23 | 2022-07-08 | 平安科技(深圳)有限公司 | 一种基于数据分片的数据存储方法、设备及介质 |
CN110855761B (zh) * | 2019-10-29 | 2021-09-21 | 深圳前海微众银行股份有限公司 | 一种基于区块链***的数据处理方法及装置 |
-
2019
- 2019-10-29 CN CN201911039082.XA patent/CN110855761B/zh active Active
-
2020
- 2020-09-10 WO PCT/CN2020/114568 patent/WO2021082757A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN110855761A (zh) | 2020-02-28 |
WO2021082757A1 (zh) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855761B (zh) | 一种基于区块链***的数据处理方法及装置 | |
CN106406896B (zh) | 一种并行PipeLine技术的区块链建块方法 | |
US10552640B2 (en) | In-situ data verification for the cloud | |
CN108681572B (zh) | 区块链的数据存储方法、装置及电子设备 | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
CN111090645B (zh) | 基于云存储的数据传输方法、装置及计算机设备 | |
CN112699081A (zh) | 基于区块链的文件自证方法及装置 | |
CN107194794B (zh) | 一种企业纳税申报管理***及方法 | |
CN112163412A (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN111010284B (zh) | 一种待共识区块的处理方法、相关装置及区块链*** | |
US20220239668A1 (en) | Blockchain-based message processing method and apparatus, device, and storage medium | |
CN111580965A (zh) | 数据请求的处理方法及*** | |
CN110879687B (zh) | 一种基于磁盘存储的数据读取方法、装置及设备 | |
CN111897790A (zh) | 风控日志采集方法、装置、电子设备及存储介质 | |
CN111339551B (zh) | 数据的验证方法及相关装置、设备 | |
JP2022553130A (ja) | 温度データを格納及び収集するための方法、システム、電子機器及び記憶媒体 | |
CN111898036A (zh) | 一种行为数据收集处理***及方法 | |
CN110753080A (zh) | 区块传输方法、装置、设备及可读存储介质 | |
KR20220086677A (ko) | 블록체인 기반 백업 및 복구를 위한 시스템 및 방법 | |
CN111866106A (zh) | 共识方法、装置、电子设备和可读存储介质 | |
CN116319815A (zh) | 引入SaaS特征的云数据放置策略管理*** | |
CN107748705B (zh) | ***evt日志碎片恢复的方法、终端设备及存储介质 | |
CN110851758A (zh) | 一种网页访客数量统计方法及装置 | |
CN113779075B (zh) | 基于差分隐私的数据查询方法、装置、设备及存储介质 | |
CN112328641B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |