一种区块链节点的区块数据同步方法及装置制造方法及图纸

技术编号:32922350 阅读:13 留言:0更新日期:2022-04-07 12:13
本发明专利技术公开了一种区块链节点的区块数据同步方法及装置,包括:待同步节点在区块数据同步前,通过熟知节点向各区块链节点发送探测请求;探测请求用于获取区块链节点的状态信息;待同步节点基于各区块链节点反馈的响应请求,确定首轮同步节点和节点轮换次数N;其中,首轮同步节点数量越多,节点轮换次数越少;待同步节点基于第i轮节点轮换中各第i轮同步节点的区块同步情况,确定第i+1轮同步节点,直至N轮区块同步结束;i大于等于0。以此提升区块数据同步的效率,避免长时间增加同步节点负载,降低同步节点对区块共识的影响,同时可以多次选择负载较低的区块链节点,增加确定各区块链节点负载情况的实时性,提升区块数据同步的效率。率。率。

【技术实现步骤摘要】
一种区块链节点的区块数据同步方法及装置


[0001]本专利技术涉及金融科技(Fintech)领域,尤其涉及一种区块链节点的区块数据同步方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术(例如:区块链、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术中区块数据同步提出了更高的要求。
[0003]在区块链系统中,不同区块链节点对应的区块高度应该一致,但在某一些场景中会存在区块高度不一致的区块链节点(如区块链系统中加入新增区块链节点、区块链节点延迟等)。
[0004]为了使区块高度不一致的区块链节点的区块高度一致,现有技术中一般是由区块高度不一致的区块链节点向同步节点(即区块高度一致的区块链节点)获取区块数据,进行区块数据同步,从而实现各区块链节点的区块高度一致。
[0005]但现有技术中对于同步节点的选择,一般是通过随机选取的方式,无法确定同步节点的负载情况,存在选择的同步节点负载较高的情况,影响区块数据同步的效率;且在区块数据同步的过程中,不进行区块链节点更换,因为区块数据同步时,会增加同步节点负载,导致长时间增加同步节点负载,影响同步节点的共识,影响区块链系统的共识效率。

技术实现思路

[0006]本专利技术实施例提供一种区块链节点的区块数据同步方法及装置,用于实现。
[0007]第一方面,本专利技术实施例提供一种区块链节点的区块数据同步方法,包括:/>[0008]待同步节点在区块数据同步前,通过熟知节点向各区块链节点发送探测请求;所述探测请求用于获取区块链节点的状态信息;
[0009]所述待同步节点基于各区块链节点反馈的响应请求,确定首轮同步节点和节点轮换次数N;其中,首轮同步节点数量越多,节点轮换次数越少;
[0010]所述待同步节点基于第i轮节点轮换中各第i轮同步节点的区块同步情况,确定第i+1轮同步节点,直至N轮区块同步结束;i大于等于0。
[0011]上述技术方案中,通过各区块链节点反馈的响应请求确定同步节点,以防止选择的同步节点负载较高,即选择负载较低的区块链节点作为同步节点,进而提升区块数据同步的效率;通过节点轮换实现更换进行区块数据同步的同步节点,以此避免长时间增加同步节点负载,降低同步节点对区块共识的影响,同时可以多次选择负载较低的区块链节点,增加确定各区块链节点负载情况的实时性,提升区块数据同步的效率。
[0012]可选的,通过熟知节点向各区块链节点发送探测请求,包括:
[0013]所述待同步节点构建探测请求,并将所述探测请求发送至所述待同步节点的熟知节点;
[0014]针对任一熟知节点,所述熟知节点确定第一记录中未记录所述探测请求;所述第一记录用于记录已处理的探测请求;所述熟知节点基于第二记录,向尚未传播所述探测请求的所述熟知节点的熟知节点发送所述探测请求;所述第二记录用于记录已传播探测请求的区块链节点;所述熟知节点更新所述第一记录和所述第二记录并确定响应请求。
[0015]上述技术方案中,第一记录用于记录已处理的探测请求,第二记录用于记录已传播探测请求的区块链节点,针对待同步节点的任一熟知节点,该熟知节点在得到探测请求之后,访问第一记录和第二记录,以此避免重复处理相同的探测请求,避免向已传播探测请求的区块链节点重复传播探测请求,降低各区块链节点的传播重复性,避免浪费计算资源。
[0016]可选的,所述待同步节点构建探测请求,包括:
[0017]所述待同步节点根据探测序号、传播列表和所述待同步节点的通信地址生成探测请求;所述探测序号用于指示节点轮换的次序;所述传播列表用于记录已发送所述探测请求的区块链节点。
[0018]上述技术方案中,探测序号用于指示节点轮换的次序,以此实现每次节点轮换再次获取区块链节点反馈的响应请求,重新确定同步节点,以此避免长时间增加同步节点负载,降低同步节点对区块共识的影响,提升区块数据同步的效率;传播列表用于记录已发送所述探测请求的区块链节点,避免重复向已传播的区块链节点重复传播探测请求,避免浪费计算资源;通过待同步节点的通信地址可以使区块链节点可以直接向待同步节点进行反馈,提升反馈响应请求的效率,提升待同步节点确定同步节点的效率,进而增加数据同步的效率。
[0019]可选的,所述响应请求包括:区块链节点的通信地址、负载指数、响应请求的构造时间、最大区块高以及所述探测请求的探测序号;
[0020]所述待同步节点基于各区块链节点反馈的响应请求,确定首轮同步节点,包括:
[0021]所述待同步节点从各区块链节点反馈的响应请求中,确定出负载指数满足第一设定条件且请求传播时长满足第二设定条件的响应请求;请求传播时长是根据请求的构造时间和请求的接收时间确定的;
[0022]所述待同步节点将满足所述第一设定条件和满足第二设定条件的响应请求对应的区块链节点确定为首轮同步节点。
[0023]上述技术方案中,通过负载指数选择负载较小的区块链节点作为同步节点;通过请求传播时长选择数据传输速度较快的区块链节点作为同步节点,以此提升区块数据同步效率。
[0024]可选的,所述待同步节点基于第i轮节点轮换中各第i轮同步节点的区块同步情况,确定第i+1轮同步节点,包括:
[0025]所述待同步节点向未作为第i轮同步节点的区块链节点发送询问请求;
[0026]针对任一第i轮同步节点,所述待同步节点确定所述第i轮同步节点进行同步的第i轮区块数据,并接收所述第i轮同步节点发送的第i轮区块数据及所述第i轮同步节点在第i轮区块数据同步结束时发送的携带状态信息的反馈请求;
[0027]所述待同步节点根据各询问请求和各反馈请求,确定第i+1轮同步节点。
[0028]上述技术方案中,通过向未作为第i轮同步节点的区块链节点发送询问请求以及区块数据同步结束时第i轮同步节点发送的状态信息确定第i+1轮同步节点,以此实现重新
确定同步节点,以此避免长时间增加同步节点负载,降低同步节点对区块共识的影响,提升区块数据同步的效率;
[0029]可选的,所述待同步节点确定所述第i轮同步节点进行同步的第i轮区块数据,包括:
[0030]所述待同步节点根据响应请求中最大区块高和节点轮换次数确定每次节点轮换的待同步区块数据的个数;所述节点轮换次数与首轮同步节点的数量成反比;
[0031]所述待同步节点根据每次节点轮换的待同步区块数据的个数和所述第i轮同步节点的数量确定第i轮同步节点进行同步的第i轮区块数据。
[0032]上述技术方案中,节点轮换次数与首轮同步节点的数量成反比,也就是说,若首轮同步节点的数量较少,则表征区块链系统的整体资源较紧张,符合第一设定条件和第二设定条件的区块链节点较少,此时适应性的增大节点轮换次数,以此保证区块链系统中各区块链节点的负载均衡,避免长时间增加同步节点负载,降低同步节点对区块共识的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种区块链节点的区块数据同步方法,其特征在于,包括:待同步节点在区块数据同步前,通过熟知节点向各区块链节点发送探测请求;所述探测请求用于获取区块链节点的状态信息;所述待同步节点基于各区块链节点反馈的响应请求,确定首轮同步节点和节点轮换次数N;其中,首轮同步节点数量越多,节点轮换次数越少;所述待同步节点基于第i轮节点轮换中各第i轮同步节点的区块同步情况,确定第i+1轮同步节点,直至N轮区块同步结束;i大于等于0。2.如权利要求1所述的方法,其特征在于,如权利要求1所述的方法,其特征在于,通过熟知节点向各区块链节点发送探测请求,包括:所述待同步节点构建探测请求,并将所述探测请求发送至所述待同步节点的熟知节点;针对任一熟知节点,所述熟知节点确定第一记录中未记录所述探测请求;所述第一记录用于记录已处理的探测请求;所述熟知节点基于第二记录,向尚未传播所述探测请求的所述熟知节点的熟知节点发送所述探测请求;所述第二记录用于记录已传播探测请求的区块链节点;所述熟知节点更新所述第一记录和所述第二记录并确定响应请求。3.如权利要求2所述的方法,其特征在于,所述待同步节点构建探测请求,包括:所述待同步节点根据探测序号、传播列表和所述待同步节点的通信地址生成探测请求;所述探测序号用于指示节点轮换的次序;所述传播列表用于记录已发送所述探测请求的区块链节点。4.如权利要求1所述的方法,其特征在于,所述响应请求包括:区块链节点的通信地址、负载指数、响应请求的构造时间、最大区块高以及所述探测请求的探测序号;所述待同步节点基于各区块链节点反馈的响应请求,确定首轮同步节点,包括:所述待同步节点从各区块链节点反馈的响应请求中,确定出负载指数满足第一设定条件且请求传播时长满足第二设定条件的响应请求;请求传播时长是根据请求的构造时间和请求的接收时间确定的;所述待同步节点将满足所述第一设定条件和满足第二设定条件的响应请求对应的区块链节点确定为首轮同步节点。5.如权利要求1至4任一项所述的方法,其特征在于,所述待同步节点基于第i轮节点轮换中各第i轮同步节点的区块同步情况,确定第i+1轮同步节点,包括:所述待同步节点向未作为第i轮同步节点的区块...

【专利技术属性】
技术研发人员:余勇范瑞彬张开翔
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1