区块链数据同步的方法和计算机可读存储介质技术

技术编号:32344318 阅读:26 留言:0更新日期:2022-02-16 18:59
一种区块链数据同步的方法和计算机可读存储介质,当第一节点上有待同步数据以后,第一节点基于目标过滤器,根据第一节点上的目标区块链数据的标识信息,生成第一状态向量,目标区块链数据为待同步数据或者所述第一节点的所有区块链数据,第一节点向区块链网络发送第一同步消息,第一同步消息中携带第一可路由的标识前缀信息和第一状态向量,区块链网络根据第一可路由的标识前缀信息,确定第二节点,第二节点接收到区块链网络发送的第一同步消息以后,根据第一状态向量和第二状态向量,确定第二节点的缺失数据,并获取第二节点的缺失数据。解耦同步双方的连接性,提高异步并行能力;降低带宽消耗;提高数据同步可扩展性和适应性。应性。应性。

【技术实现步骤摘要】
区块链数据同步的方法和计算机可读存储介质


[0001]本申请涉及区块链
,具体涉及一种区块链数据同步的方法和计算机可读存储介质。

技术介绍

[0002]在区块链网络中,随着区块链技术的发展,数据共享与协同利用的应用日益增强。多方节点之间需要同步数据,例如,需要同步数据账本等数据。
[0003]通常在区块链网络中,当节点上存在待同步数据时,该节点将待同步数据发送给区块链网络中的其他节点,完成此次数据同步。
[0004]在多种领域,例如车联网、卫星网络等,其区块链网络多为无线动态网络,即节点之间的连接是临时的、动态变化的,数据同步可能造成数据丢失。

技术实现思路

[0005]本申请主要解决的技术问题是区块链数据同步中可能造成数据丢失。
[0006]根据第一方面,一种实施例中提供一种区块链数据同步的方法,包括:当第一节点上有待同步数据以后,所述第一节点基于目标过滤器,根据所述第一节点上的所有区块链数据,生成第一状态向量,所述第一状态向量的数据长度小于所述第一节点上的所有区块链数据的数据长度;所述第一节点向区块链网络发送第一同步消息,所述第一同步消息中携带第一可路由的标识前缀信息和所述第一状态向量,所述第一可路由的标识前缀用于指示所述第二节点,所述第二节点为所述区块链网络需要发送所述第一同步消息的节点;所述第二节点接收区块链网络发送的第一同步消息;所述第二节点根据所述第一状态向量和第二状态向量,确定所述第二节点的缺失数据,其中,所述第二状态向量是所述第二节点基于所述目标过滤器,根据所述第二节点上的所有区块链数据生成的;所述第二节点获取所述第二节点的缺失数据。
[0007]根据第二方面,一种实施例中提供一种区块链数据同步的方法,包括:当第一节点上有待同步数据以后,所述第一节点基于目标过滤器,根据所述第一节点上的所有区块链数据,生成第一状态向量,所述第一状态向量的数据长度小于所述第一节点上的所有区块链数据的数据长度;所述第一节点向区块链网络发送第一同步消息,所述第一同步消息中携带第一可路由的标识前缀信息和所述第一状态向量,以使所述区块链网络向第二节点发送所述第一同步消息;所述第一同步消息用于使所述第二节点根据所述第一状态向量和第二状态向量,确定所述第二节点的缺失数据,并获取所述第二节点的缺失数据,其中,所述第二状态向量是所述第二节点基于所述目标过滤器,根据所述第二节点上的所有区块链数据生成的;其中,所述第二节点为所述第一可路由的标识前缀信息指示的区块链网络中的节点。
[0008]可选的,所述第一同步消息中还携带所述第一节点的地址信息,以使所述第二节点基于所述第一节点的地址信息,与所述第一节点建立连接;所述第一节点与所述第二节点建立连接后,接收所述第二节点发送的第一数据获取请求,所述第一数据获取请求中携带所述第二节点的缺失数据的标识信息;所述第一节点根据所述第二节点的缺失数据的标识信息,确定所述第二节点的缺失数据;所述第一节点向所述第二节点发送所述第二节点的缺失数据。
[0009]可选的,所述方法还包括:所述第一节点接收所述区块链网络发送的同步响应消息,所述同步响应消息中携带所述第一同步消息和所述第一节点的缺失数据的标识信息,所述第一节点的缺失数据的标识信息为所述第二节点根据所述第一状态向量和第二状态向量确定的;所述第一节点向所述区块链网络发送第二数据获取请求,所述第二数据获取请求中携带所述第一节点的缺失数据的标识信息;接收所述区块链网络发送的所述第一节点的缺失数据。
[0010]可选的,所述方法还包括:所述第一节点接收所述区块链网络发送的第二同步消息,所述第二同步消息中携带第二可路由的标识前缀信息和第三状态向量,其中,所述第三状态向量是第三节点基于所述目标过滤器,根据所述第三节点上的所有区块链数据生成的;所述第一节点根据所述第三状态向量和第一状态向量,确定所述第一节点的缺失数据的标识信息;所述第一节点从所述区块链网络中获取所述第一节点的缺失数据。
[0011]根据第三方面,一种实施例中提供一种区块链数据同步的方法,包括:所述第二节点接收区块链网络发送的第一同步消息,所述第一同步消息中携带第一可路由的标识前缀信息和第一状态向量,所述第一状态向量是第一节点基于目标过滤器,根据所述第一节点上的所有区块链数据生成的,所述第一状态向量的数据长度小于所述第一节点上的所有区块链数据的数据长度,所述第一可路由的标识前缀用于指示第二节点,所述第二节点为所述区块链网络需要发送所述第一同步消息的节点;所述第二节点根据所述第一状态向量和第二状态向量,确定所述第二节点的缺失数据,其中,所述第二状态向量是所述第二节点基于所述目标过滤器,根据所述第二节点上的所有区块链数据生成的;所述第二节点获取所述第二节点的缺失数据。
[0012]可选的,所述第一同步消息中还携带所述第一节点的地址信息;所述第二节点获取所述第二节点的缺失数据,包括:所述第二节点基于所述第一节点的地址信息,与所述第一节点建立连接;所述第二节点向所述第一节点发送第一数据获取请求,所述第一数据获取请求中携带所述第二节点的缺失数据的标识信息;所述第二节点接收所述第一节点发送的所述第二节点的缺失数据。
[0013]可选的,所述第二节点获取所述第二节点的缺失数据,包括:所述第二节点向区块链网络发送第二数据获取请求,所述第二数据获取请求中携
带所述第二节点的缺失数据的标识信息,所述第二数据获取请求用于指示所述区块链网络中的第三节点向所述第二节点发送所述缺失数据,所述第三节点为距离所述第二节点最近的且存储所述第二节点的缺失数据的节点;所述第二节点接收所述第三节点发送的所述缺失数据。
[0014]可选的,所述第二节点根据所述第一状态向量和第二状态向量,确定所述第二节点的缺失数据,包括:所述第二节点比较所述第一状态向量和第二状态向量,判断是否存在所述第二节点的缺失数据;若存在所述第二节点的缺失数据,所述第二节点确定所述第二节点的缺失数据的标识信息。
[0015]根据第四方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现如上述第一方面、第二方面或者第三方面中任一项所述的方法。
[0016]依据上述实施例的区块链数据同步的方法和计算机可读存储介质,第一节点产生待同步数据以后,第一节点基于语义化命名标识,向区块链网络发送表示自身存储的目标区块链数据的第一状态向量和第一可路由的标识前缀信息,其中,目标区块链数据可以为待同步数据或者第一节点上的所有区块链数据,区块链网络根据第一可路由的标识前缀信息指示的第二节点,将第一同步信息发送给第二节点,第二节点上线后接收到第一同步消息,从而同步消息通过基于语义的命名寻址方式送达第二节点,不需要第一节点与第二节点之间建立连接,因此,减少了同步交互过程中的数据包大小,从而解脱发送方或者接收方维护数据同步状态的负担,使得节点的规模扩大的时候,不因为节点数目增加直接提高同步的负载。每个第二节点将第一状态向量和自身的第二状态向量进行比较,确定缺本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链数据同步的方法,其特征在于,包括:当第一节点上有待同步数据以后,所述第一节点基于目标过滤器,根据所述第一节点上的目标区块链数据的标识信息,生成第一状态向量,所述目标区块链数据为待同步数据或者所述第一节点的所有区块链数据,所述第一状态向量的数据长度小于所述目标区块链数据的标识信息的数据长度;所述第一节点向区块链网络发送第一同步消息,所述第一同步消息中携带第一可路由的标识前缀信息和所述第一状态向量,所述第一可路由的标识前缀用于指示第二节点,所述第二节点为所述区块链网络需要发送所述第一同步消息的节点;所述第二节点接收区块链网络发送的第一同步消息;所述第二节点根据所述第一状态向量和第二状态向量,确定所述第二节点的缺失数据,其中,所述第二状态向量是所述第二节点基于所述目标过滤器,根据所述第二节点上的所有区块链数据生成的;所述第二节点获取所述第二节点的缺失数据。2.一种区块链数据同步的方法,其特征在于,包括:当第一节点上有待同步数据以后,所述第一节点基于目标过滤器,根据所述第一节点上的目标区块链数据的标识信息,生成第一状态向量,所述目标区块链数据为待同步数据或者所述第一节点的所有区块链数据,所述第一状态向量的数据长度小于所述目标区块链数据的标识信息的数据长度;所述第一节点向区块链网络发送第一同步消息,所述第一同步消息中携带第一可路由的标识前缀信息和所述第一状态向量,以使所述区块链网络向第二节点发送所述第一同步消息;所述第一同步消息用于使所述第二节点根据所述第一状态向量和第二状态向量,确定所述第二节点的缺失数据,并获取所述第二节点的缺失数据,其中,所述第二状态向量是所述第二节点基于所述目标过滤器,根据所述第二节点上的所有区块链数据生成的;其中,所述第二节点为所述第一可路由的标识前缀信息指示的区块链网络中的节点。3.如权利要求2所述的方法,其特征在于,所述第一同步消息中还携带所述第一节点的地址信息,以使所述第二节点基于所述第一节点的地址信息,与所述第一节点建立连接;所述第一节点与所述第二节点建立连接后,接收所述第二节点发送的第一数据获取请求,所述第一数据获取请求中携带所述第二节点的缺失数据的标识信息;所述第一节点根据所述第二节点的缺失数据的标识信息,确定所述第二节点的缺失数据;所述第一节点向所述第二节点发送所述第二节点的缺失数据。4.如权利要求2所述的方法,其特征在于,所述目标区块链数据为所述第一节点的所有区块链数据,所述方法还包括:所述第一节点接收所述区块链网络发送的同步响应消息,所述同步响应消息中携带所述第一同步消息和所述第一节点的缺失数据的标识信息,所述第一节点的缺失数据的标识信息为所述第二节点根据所述第一状态向量和第二状态向量确定的;所述第一节点向所述区块链网络发送第二数据获取请求,所述第二数据获取请求中携带所述第一节点的缺失数据的标识信息;所述第一节点接收所述区块链网络发送的所述第一节点的缺失数据。
...

【专利技术属性】
技术研发人员:雷凯景晓军余锡权徐婷张良杰张亚朋郭晨李琦山进孝陈佩淑
申请(专利权)人:任子行网络技术股份有限公司深圳市智慧城市科技发展集团有限公司金蝶软件中国有限公司招商新智科技有限公司
类型:发明
国别省市:

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

1