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.根据权利要求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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。