数据同步方法及系统技术方案

技术编号:15299715 阅读:138 留言:0更新日期:2017-05-12 01:54
本发明专利技术提供一种数据同步方法及系统,该方法包括:向目标节点请求包括目标数据的账本数据;其中,目标数据对应于一数据单元,包括用于通过校验将各目标数据连接成数据链的数据链校验信息;接收所请求的账本数据并进行校验;根据数据链校验信息将各通过校验的账本数据中的目标数据按序连接成数据链,并依次根据数据链中的各目标数据对数据单元进行数据同步。本发明专利技术在通过交易存储在区块链的各账本数据中、对应于同一数据单元(例如数据表)的目标数据中配置用于通过校验将各目标数据连接成数据链的数据链校验信息,实现对获取的各目标数据进行有序验证,同时还对接收的账本数据进行验证,为数据同步提供了多重安全保障。

Data synchronization method and system

The present invention provides a method and system for data synchronization, the method includes: a request to the target node includes books data object data; the target data corresponding to a data unit, including by checking the data for each target data chain verification letter connected to data link information; receiving the requested data and check the books according to the data link; the parity information through books data check in the target data into a data connection chain according to the order, and in turn according to the target data in the chain of data unit data synchronization. The present invention in the transaction is stored in each data block in the books chain, corresponding to the same data unit (e.g. data table) the target data by checking the data chain configuration for each target data connection check information into data chain, to achieve the goal of data acquisition in order to verify, but also on the books the received data is verified, data synchronization provides multiple security.

【技术实现步骤摘要】

本申请涉及区块链
,具体涉及一种数据同步方法及系统
技术介绍
区块链网络是一个基于分布式原理的网络系统,理论上来讲各网络节点上的内容是一致的,想获取区块链中的数据,只要从其中任意一个节点,或者本地节点获取即可。但是在实际的应用当中,本地节点可以自由配置当前本地节点的类型。例如,可以选择性地将本地节点配置为包含完整区块链数据的全记录节点(full-node),或包含部分区块链数据的非全记录节点(n-full-node)。本地存储哪些数据可以由当前本地节点类型及具体配置所决定,因此本地节点的区块链中不一定存有当前网络中完整区块链的所有数据。在本地节点配置为非全记录节点时,在进行数据同步时需要向所在区块链网络的其它节点获取所需的数据,当前现有的数据同步方法难以实现在上述场景中进行安全且高效的数据同步。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种适用于区块链网络中非全记录节点进行安全且高效的数据同步的数据同步方法及系统。第一方面,本专利技术提供一种数据同步方法,该方法包括:向目标节点请求包括目标数据的账本数据;其中,目标数据对应于一数据单元,包括用于通过校验将各目标数据连接成数据链的数据链校验信息;接收所请求的账本数据并进行校验;根据数据链校验信息将各通过校验的账本数据中的目标数据按序连接成数据链,并依次根据数据链中的各目标数据对数据单元进行数据同步。第二方面,本专利技术提供另一种数据同步方法,该方法包括:接收请求包括目标数据的账本数据的请求信息;其中,目标数据对应于一数据单元,包括用于通过校验将各目标数据连接成数据链的数据链校验信息;根据请求信息在本地区块链中查找包括目标数据的账本数据,返回查找到的账本数据以供根据目标数据对对应的数据单元进行数据同步。第三方面,本专利技术提供一种数据同步系统,该系统包括:数据获取单元,配置用于向目标节点请求包括目标数据的账本数据;其中,目标数据对应于一数据单元,包括用于通过校验将各目标数据连接成数据链的数据链校验信息;数据校验单元,配置用于接收所请求的账本数据并进行校验;数据同步单元,配置用于根据数据链校验信息将各通过校验的账本数据中的目标数据按序连接成数据链,并依次根据数据链中的各目标数据对数据单元进行数据同步;数据查询单元,配置用于接收请求包括目标数据的账本数据的请求信息,根据请求信息在本地区块链中查找包括目标数据的账本数据,返回查找到的账本数据以供根据目标数据对对应的数据单元进行数据同步。第四方面,本专利技术提供一种分布式数据同步网络,包括若干节点,各节点上分别配置有上述数据同步系统。第五方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的数据同步方法。第六方面,本专利技术还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的数据同步方法。本专利技术诸多实施例提供的数据同步方法及系统在通过交易存储在区块链的各账本数据中、对应于同一数据单元(例如数据表)的目标数据中配置用于通过校验将各目标数据连接成数据链的数据链校验信息,实现对获取的各目标数据进行有序验证,同时还对接收的账本数据进行验证,为数据同步提供了多重安全保障;本专利技术一些实施例提供的数据同步方法及系统进一步通过将数据同步配置为分段同步,并在请求信息中配置相关信息以供校验当前同步段和数据链的下一项目标数据,以避免在分段同步中进行重复遍历,保障数据同步的高效性;本专利技术一些实施例提供的数据同步方法及系统进一步通过将数据链校验信息配置为队列号和校验码(例如哈希值等)的组合,提高了校验的安全性的同时丰富了请求端和查询端两端的校验方式,并使得进一步提高数据同步的效率具备可行性;本专利技术一些实施例提供的数据同步方法及系统进一步通过接收超时时重新生成包括实时的同步段信息的请求信息,并更换目标节点发送,进一步提高了数据同步的效率;本专利技术一些实施例提供的数据同步方法及系统进一步通过将无法与当前数据链连接的目标数据存入临时队列,保障了数据同步的准确性和高效性;本专利技术一些实施例提供的数据同步方法及系统进一步通过在每个同步段查询完时发送能与数据链连接成链的结束信息,保障了分段同步的准确性和高效性;本专利技术一些实施例提供的数据同步方法及系统进一步通过对目标数据进行验证,以避免进行不必要的同步操作,进一步提高了数据同步的准确性和高效性;本专利技术一些实施例提供的数据同步方法及系统进一步通过将目标数据配置为数据库操作日志,减少了存储在区块链中的数据量,减少了数据通讯的时间成本,进一步提高了数据同步的高效性;本专利技术一些实施例提供的数据同步方法及系统进一步通过在查询当前同步段之前利用区块链的特性校验当前同步段的最后一项账本数据(结束点),从而无需对部分同步段进行遍历查询,大幅提升了数据同步的效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例中一种数据同步方法的流程图。图2为图1所示方法的一种优选实施方式的流程图。图3为图2所示方法的一种优选实施方式的流程图。图4为图3所示方法的一种优选实施方式的流程图。图5为图1所示方法中步骤S14的一种优选实施方式的流程图。图6为图1所示方法中步骤S16的一种优选实施方式的流程图。图7为图6所示步骤S16的一种优选实施方式的流程图。图8为图1所示方法的一种优选实施方式的流程图。图9为本专利技术一实施例中另一种数据同步方法的流程图。图10为图9所示方法的一种优选实施方式的流程图。图11为图9所示步骤S25的一种优选实施方式的流程图。图12为图11所示步骤S25的一种优选实施方式的流程图。图13为本专利技术一实施例中数据同步系统的结构示意图。图14为本专利技术一实施例中分布式数据同步网络的结构示意图。图15为本专利技术一实施例中一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1为本专利技术一实施例中一种数据同步方法的流程图。如图1所示,在本实施例中,本专利技术提供的一种适用于数据同步端的数据同步方法包括:S12:向目标节点请求包括目标数据的账本数据。其中,目标数据对应于一数据单元,包括用于通过校验将各目标数据连接成数据链的数据链校验信息。S14:接收所请求的账本数据并进行校验。S16:根据数据链校验信息将各通过校验的账本数据中的目标数据按序连接成数据链,并依次根据数据链中的各目标数据对数据单元进行数据同步。具体地,在本实施例中,数据单元为数据表,目标数据为数据库操作日志,数据链校验信息包括以下一组信息:前一目标数据所在账本数据的第一队列号sfPreviousTxnLgrSeq,当前目标数据所在账本数据的第二队列号sfTxnLgrSeq,前一目标数据所在账本数据的第一校验码sfPrevTxnLedgerHash,当本文档来自技高网...
数据同步方法及系统

【技术保护点】
一种数据同步方法,其特征在于,所述方法包括:向目标节点请求包括目标数据的账本数据;其中,所述目标数据对应于一数据单元,包括用于通过校验将各目标数据连接成数据链的数据链校验信息;接收所请求的账本数据并进行校验;根据所述数据链校验信息将各通过校验的账本数据中的目标数据按序连接成数据链,并依次根据所述数据链中的各目标数据对所述数据单元进行数据同步。

【技术特征摘要】
1.一种数据同步方法,其特征在于,所述方法包括:向目标节点请求包括目标数据的账本数据;其中,所述目标数据对应于一数据单元,包括用于通过校验将各目标数据连接成数据链的数据链校验信息;接收所请求的账本数据并进行校验;根据所述数据链校验信息将各通过校验的账本数据中的目标数据按序连接成数据链,并依次根据所述数据链中的各目标数据对所述数据单元进行数据同步。2.根据权利要求1所述的数据同步方法,其特征在于,所述向目标节点请求包括目标数据的账本数据包括:将当前网络中的区块链划分为若干同步段;依次向目标节点发送请求信息以分别获取各同步段内包括目标数据的账本数据;其中,所述请求信息包括用于校验当前同步段中第一项账本数据的账本数据校验信息,以及,当前数据链中最后一项目标数据的校验信息。3.根据权利要求2所述的数据同步方法,其特征在于,在向目标节点发送请求信息以获取当前同步段内包括目标数据的账本数据之前还包括:判断本地区块链是否存有当前同步段:若存有,则直接从本地获取当前同步段内包括目标数据的账本数据。4.根据权利要求1-3任一项所述的数据同步方法,其特征在于,所述向目标节点请求包括目标数据的账本数据之前还包括:获取所述数据单元的名称,并查询当前网络的区块链中是否存在所述数据单元:若不存在,则结束同步。5.根据权利要求1-3任一项所述的数据同步方法,其特征在于,所述数据链校验信息包括以下至少一组信息:前一目标数据所在账本数据的第一队列号,当前目标数据所在账本数据的第二队列号,前一目标数据所在账本数据的第一校验码,当前目标数据所在账本数据的第二校验码;当前目标数据所在账本数据的第二队列号,后一目标数据所在账本数据的第三队列号,当前目标数据所在账本数据的第二校验码,后一目标数据所在账本数据的第三校验码。6.根据权利要求5所述的数据同步方法,其特征在于,所述接收所请求的账本数据并进行校验包括:接收所请求的账本数据;从本地或当前网络的区块链获取所接收的账本数据的校验码;根据所获取的校验码和所接收的账本数据中的第二校验码进行校验:若校验失败,则返回所述接收所请求的账本数据。7.根据权利要求6所述的数据同步方法,其特征在于,所述接收所请求的账本数据还包括:若接收超时,则重新生成请求信息,向目标节点发送,或,更换目标节点发送。8.根据权利要求7所述的数据同步方法,其特征在于,所述请求信息还包括根据当前已接收并通过校验的各账本数据确定的同步段信息。9.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述数据链校验信息将各通过校验的账本数据中的目标数据按序连接成数据链,并依次根据所述数据链中的各目标数据对所述数据单元进行数据同步包括:根据所述数据链校验信息判断当前通过校验的账本数据中的第一目标数据是否能与当前数据链中最后一项目标数据连接成链:否,则将第一目标数据存入临时队列;是,则将第一目标数据存入当前数据链,并根据第一目标数据对所述数据单元进行数据同步;以及,将所述临时队列中能与当前数据链中最后一项目标数据连接成链的第二目标数据存入当前数据链,并根据第二目标数据对所述数据单元进行数据同步。10.根据权利要求9所述的数据同步方法,其特征在于,所述根据所述数据链校验信息判断当前通过校验的账本数据中的第一目标数据是否能与当前数据链中最后一项目标数据连接成链之前还包括:判断当前通过校验的账本数据中存在第一目标数据或当前同步段的结束信息:若存在结束信息,则判断所述结束信息是否能与当前数据链中最后一项目标数据连接成链:是,则结束当前同步段的数据同步,返回所述向目标节点请求包括目标数据的账本数据;否,则将所述结束信息存入临时队列,返回所述接收所请求的账本数据并进行校验。11.根据权利要求5所述的数据同步方法,其特征在于,所述根据所述数据链校验信息将各通过校验的账本数据中的目标数据按序连接成数据链,并依次根据所述数据链中的各目标数据对所述数据单元进行数据同步之前还包括:对通过校验的账本数据中的第一目标数据进行以下至少一项检验:检验数据同步的目标数据库中是否还存在所述数据单元:否,则终止数据同步;根据当前数据链中最后一项目标数据的第二队列号检验第一目标数据的第二队列号是否正常:否,则返回所述接收所请求的账本数据并进行校验。12.根据权利要求1-11任一项所述的数据同步方法,其特征在于,所述目标数据为数据库操作日志。13.一种数据同步方法,其特征在于,所述方法包括:接收请求包括目标数据的账本数据的请求信息;其中,所述目标数据对应于一数据单元,包括用于通过校验将各目标数据连接成数据链的数据链校验信息;根据所述请求信息在本地区块链中查找所述包括目标数据的账本数据,返回查找到的账本数据以供根据所述目标数据对对应的数据单元进行数据同步。14.根据权利要求13所述的数据同步方法,其特征在于,当前网络中的区块链划分为若干同步段,所述请求信息包括用于校验当前同步段中第一项账本数据的账本数据校验信息,以及,当前数据链中最后一项目标数据的校验信息;所述根据所述请求信息在本地区块链中查找所述包括目标数据的账本数据,返回查找到的账本数据以供根据所述目标数据对对应的数据单元进行数据同步之前还包括:根据所述账本数据校验信息校验本地区块链中是否存在当前同步段中第一项账本数据:否,则结束查找。15.根据权利要求14所述的数据同步方法,其特征在于,所述数据链校验信息包括以下至少一组信息:前一目标数据所在账本数据的第一队列号,当前目标数据所在账本数据的第二队列号,前一目标数据所在账本数据的第一校验码,当前目标数据所在账本数据的第二校验码;当前目标数据所在账本数据的第二队列号,后一目标数据所在账本数据的第三队列号,当前目标数据所在账本数据的第二校验码,后一目标数据所在账本数据的第三校验码;所述根据所述请求信息在本地区块链中查找所述包括目标数据的账本数据,返回查找到的账本数据以供根据所述目标数据对对应的数据单元进行数据同步包括:判断本地区块链是否包括完整的当前同步段:否,则根据所述请求信息在本地区块链中查找所述包括目标数据的账本数据,返回查找到的账本数据;是,则判断当前同步段中最后一项账本数据的队列号是否不小于所述请求信息中当前数据链中最后一项目标数据的第二队列号:否,则生成能与请求信息所包括的数据链校验信息连接的结束信息并返回;是,则根据所述请求...

【专利技术属性】
技术研发人员:陈姝吴飞鹏卢小明
申请(专利权)人:北京众享比特科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1