区块数据同步系统和方法、电子设备和存储介质技术方案

技术编号:39311186 阅读:8 留言:0更新日期:2023-11-12 15:56
本公开实施例公开了一种区块数据同步系统和方法、电子设备和存储介质,其中,区块数据同步系统包括:服务端和客户端;服务端用于在满足预设数据快照条件,对服务端中的区块链网络的区块数据进行快照处理,得到目标快照数据,并根据目标快照数据生成数据同步进程,并在接收到客户端发送的数据同步请求时,向客户端分配数据同步进程,以使客户端从分配的数据同步进程中获取同步请求对应的同步快照数据;客户端用于响应于根据目标快照数据和客户端的本地区块数据,确定客户端符合预设数据同步条件,向服务端发送数据同步请求;并从分配的数据同步进程中获取同步快照数据,根据同步快照数据对本地区块数据进行更新。照数据对本地区块数据进行更新。照数据对本地区块数据进行更新。

【技术实现步骤摘要】
区块数据同步系统和方法、电子设备和存储介质


[0001]本公开涉及区块链网络
和数据同步
,尤其是一种区块数据同步系统和方法、电子设备和存储介质。

技术介绍

[0002]区块链技术是构建在区块链网络之上,通过区块链网络中各节点实现对数据传输、处理和存储。在对区块链网络中的新增节点同步区块链网络的区块数据时,通常是直接将区块链网络中的区块数据同步给新增节点,然而在向新节点同步区块数据时,往往需要新节点访问区块链网络中存储有区块数据的全节点,这就导致该全节点上的区块数据存在被篡改的风险,影响区块链网络的数据安全。

技术实现思路

[0003]为了解决上述问题,本公开实施例提供了一种区块数据同步系统和方法、电子设备和存储介质。
[0004]本公开实施例的一个方面,提供一种区块数据同步系统,包括:服务端和客户端,所述服务端和所述客户端分别为位于同一区块链网络中的节点,且所述服务端为全节点;所述服务端,用于响应于满足预设数据快照条件,对所述服务端中的区块链网络的区块数据进行快照处理,得到目标快照数据,并根据所述目标快照数据生成数据同步进程,在接收到所述客户端发送的数据同步请求时,向所述客户端分配所述数据同步进程,以使所述客户端从分配的所述数据同步进程中获取所述同步请求对应的同步快照数据;所述客户端,用于从所述服务端获取所述目标快照数据的区块高度,响应于根据所述目标快照数据的区块高度和所述客户端的本地区块数据的区块高度,确定所述客户端符合预设数据同步条件,向所述服务端发送所述数据同步请求;并从所述分配的数据同步进程中获取所述同步快照数据,根据所述同步快照数据对所述本地区块数据进行更新。
[0005]本公开实施例的另一个方面,提供了一种区块数据同步方法,应用于服务端,所述服务端为区块链网络中的全节点,所述方法包括:响应于所述服务端满足预设数据快照条件,对所述服务端中的区块链网络的区块数据进行快照处理,得到目标快照数据;根据所述目标快照数据生成数据同步进程;响应于接收到所述客户端发送的数据同步请求,向所述客户端分配所述数据同步进程,以使所述客户端从分配的所述数据同步进程中获取所述同步请求对应的同步快照数据。
[0006]本公开实施例的又一个方面,提供了一种区块数据同步方法,应用于客户端,所述客户端为区块链网络中的节点,所述方法包括:从服务端获取目标快照数据的区块高度;响应于根据所述目标快照数据的区块高度和所述客户端的本地区块数据的区块高度,确定所述客户端符合预设数据同步条件,向所述服务端发送所述数据同步请求;从所述服务端分配的数据同步进程中获取同步快照数据;根据所述同步快照数据对所述本地区块数据进行更新。
[0007]本公开实施例的再一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述的区块数据同步方法。
[0008]本公开实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述的区块数据同步方法。
[0009]在本公开实施例中,通过服务端对其上的区块数据进行快照处理,生成目标快照数据,之后利用服务端的目标快照数据对客户端进行数据同步,由此在服务端实现了“区块数据”与“节点区块链处理逻辑”的分离,使服务端的数据同步服务,从服务端的区块数据对外服务中独立出来,由此使在同步数据时,客户端不直接访问服务端的区块数据,而是通过使用目标快照数据,实现对客户端的数据同步,解决了由于对服务端中区块数据的直接访问导致的区块数据被篡改的问题,提高了服务端的数据安全。并且在本公开实施例中还实时监测服务端是否满足预设数据快照条件,并在服务端满足预设数据快照条件时,及时获取最新的区块数据对应的目标快照数据,有效保障了生成目标快照数据的及时性,进而保证了客户端同步的数据的及时性。
[0010]另外,在本公开实施例中,客户端通过监测本地区块数据与目标快照数据之间的差异,及时发现客户端是否需要进行数据同步,由此提高了客户端数据同步的效率,以及获得的同步快照数据的及时性。
[0011]下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
[0012]构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
[0013]参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:图1是本公开一示例性实施例提供的区块数据同步系统的结构示意图;图2是本公开一示例性实施例提供的服务端的结构示意图;图3是本公开一示例性实施例提供的服务端生成目标快照数据的方法的流程示意图;图4是本公开一示例性实施例提供的客户端的结构示意图;图5是本公开一应用实例提供的区块数据同步系统的结构示意图;图6是本公开一示例性实施例提供的区块数据同步方法的流程示意图;图7是本公开另一示例性实施例提供的区块数据同步方法的流程示意图;图8为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
[0014]现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0015]本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺
序。
[0016]还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
[0017]还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
[0018]另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0019]还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
[0020]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0021]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
[0022]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0023]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0024]本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块数据同步系统,其特征在于,包括:服务端和客户端,所述服务端和所述客户端分别为位于同一区块链网络中的节点,且所述服务端为全节点;所述服务端,用于响应于满足预设数据快照条件,对所述服务端中的区块链网络的区块数据进行快照处理,得到目标快照数据,并根据所述目标快照数据生成数据同步进程,在接收到所述客户端发送的数据同步请求时,向所述客户端分配所述数据同步进程,以使所述客户端从分配的所述数据同步进程中获取所述同步请求对应的同步快照数据;所述客户端,用于从所述服务端获取所述目标快照数据的区块高度,响应于根据所述目标快照数据的区块高度和所述客户端的本地区块数据的区块高度,确定所述客户端符合预设数据同步条件,向所述服务端发送所述数据同步请求;并从所述分配的数据同步进程中获取所述同步快照数据,根据所述同步快照数据对所述本地区块数据进行更新。2.根据权利要求1所述的系统,其特征在于,所述服务端包括:第一配置管理模块,用于存储预设快照频率,其中,所述预设快照频率表示所述服务端中每增加预设区块高度时,对所述服务端中的区块数据进行一次快照处理;数据快照模块,用于根据所述预设快照频率,确定是否满足所述预设数据快照条件,并在所述服务端满足所述预设数据快照条件时,对所述服务端的区块数据进行快照处理,得到所述目标快照数据;进程管理模块,用于根据所述目标快照数据生成所述数据同步进程,并在接收到所述客户端发送的数据同步请求时,向所述客户端分配数据同步进程;第一存储模块,用于存储所述服务端中的区块数据和所述目标快照数据。3.根据权利要求2所述的系统,其特征在于,所述数据快照模块用于:响应于所述服务端的区块数据的区块高度和所述服务端的区块数据的新增区块高度均大于或等于所述预设快照频率,确定所述服务端满足预设数据快照条件;或者,响应于所述服务端的区块数据的区块高度大于或等于所述预设快照频率,且所述服务端的区块数据的新增区块高度小于所述预设快照频率,根据所述服务端中的当前快照数据的区块高度,确定所述服务端是否符合预设快照停止条件;并在确定所述服务端不符合所述预设快照停止条件时,确定所述服务端满足预设数据快照条件,其中,所述当前快照数据为位于所述目标快照数据之前最近一次对所述服务端的区块数据进行快照得到的快照数据。4.根据权利要求3所述的系统,其特征在于,所述根据所述目标快照数据生成所述数据同步进程,包括:根据所述目标快照数据中的账本数据和所述当前快照数据中的账本数据,确定新增账本数据;根据所述新增账本数据和所述目标快照数据,生成至少一个子同步进程,其中,所述至少一个子同步进程中的各子同步进程均包括:所述新增账本数据、所述目标快照数据中的账户数据和所述目标快照数据中的账户数据中的至少两项;由所述至少一个子同步进程构成所述数据同步进程;所述向所述客户端分配所述数据同步进程,包括:向所述客户端分配所述数据同步请求对应的子同步进程,以使所述客户端从分配的子...

【专利技术属性】
技术研发人员:李志平马旭锋刘远超张波郭健
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:

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

1