一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

交易广播方法、计算机设备和存储介质与流程

2021-10-16 02:55:00 来源:中国专利 TAG:区块 广播 计算机 方法 设备


1.本技术涉及区块链技术领域,具体涉及一种交易广播方法、计算机设备和存储介质。


背景技术:

2.区块链中通过p2p网络进行消息的传播,使得各个区块链节点都能接收到相同的消息。广播方案通常采用gossip算法,即每个节点随机地向若干邻近节点广播消息,经过一段时间后,广播的消息可以传递到区块链网络中的每个节点。
3.p2p广播的一个缺陷在于,广播过程中存在海量的冗余通信,需要消耗大量的网络带宽,非常容易造成网络拥堵。
4.针对上述问题,gossip算法采用不向全部邻近节点进行广播、而只向部分(例如8个以内)邻近节点进行广播的方式以减少网络的负担。
5.本领域解决上述问题的另一种常用手段在于,通过配置ttl参数来限制一个消息的广播轮次。
6.然而即便区块链网络既采用了gossip算法,也配置了ttl参数,仍然可能存在在业务高峰期因广播海量交易而导致消耗过多的网络带宽、造成网络拥堵的问题。


技术实现要素:

7.鉴于现有技术中的上述缺陷或不足,期望提供一种减少交易广播过程中的冗余通信以减少网络带宽的消耗、降低网络拥堵概率的交易广播方法、计算机设备和存储介质。
8.第一方面,本发明提供一种适用于区块链节点的交易广播方法,包括:
9.在当前节点启动时,提示当前用户选择将当前节点配置为第一类节点或第二类节点:
10.响应于当前节点配置为第一类节点,根据原有配置的交易广播机制进行广播交易;
11.响应于当前节点配置为第二类节点:
12.查找并连接第一数量个第一类节点;以及,
13.响应于接收第一交易,将第一交易转发给当前节点所连接的、未向当前节点广播第一交易的各第一类节点。
14.第二方面,本发明提供另一种适用于区块链节点的交易广播方法,包括:
15.在当前节点启动时,扫描当前区块链网络中配置为第一类节点的第一节点数量,以及,配置为第二类节点的第二节点数量;
16.判断第一节点数量与第二节点数量的比值是否小于第一阈值:
17.是,则将当前节点配置为第一类节点,根据原有配置的交易广播机制进行广播交易;
18.否,则将当前节点配置为第二类节点;以及,
19.查找并连接第一数量个第一类节点;
20.响应于接收第一交易,将第一交易转发给当前节点所连接的、未向当前节点广播第一交易的各第一类节点。
21.第三方面,本发明还提供一种计算机设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的交易广播方法。
22.第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的交易广播方法。
23.本发明诸多实施例提供的交易广播方法、计算机设备和存储介质通过将区块链网络中的节点分类为正常广播交易的第一类节点和不参与广播交易、只为广播交易进行必要转发的第二类节点,大幅减少了交易广播过程中的冗余通信,实现了减少交易广播过程中的网络带宽消耗,降低了网络拥堵的概率;
24.本发明一些实施例提供的交易广播方法、计算机设备和存储介质进一步通过配置第二类节点对第一类节点的连接策略,均衡各第一类节点所连接的第二类节点的数量,进一步降低了网络拥堵概率;
25.本发明一些实施例提供的交易广播方法、计算机设备和存储介质进一步通过在节点启动时扫描当前区块链网络中两类节点的数量,并根据两类节点的比例选择将当前节点配置为哪一类节点,从而保障了避免因两类节点的比例失衡而导致减少带宽消耗和降低网络拥堵概率的效果不佳,或,交易的正常广播受到影响及其它风险等问题。
附图说明
26.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
27.图1为本发明一实施例提供的一种交易广播方法的流程图。
28.图2为本发明一实施例提供的另一种交易广播方法的流程图。
29.图3为本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
30.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
31.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
32.图1为本发明一实施例提供的一种交易广播方法的流程图。
33.如图1所示,在本实施例中,本发明提供一种适用于区块链节点的交易广播方法,包括:
34.s11:在当前节点启动时,提示当前用户选择将当前节点配置为第一类节点或第二类节点:
35.s13:响应于当前节点配置为第一类节点,根据原有配置的交易广播机制进行广播
交易;
36.响应于当前节点配置为第二类节点:
37.s15:查找并连接第一数量个第一类节点;以及,
38.s17:响应于接收第一交易,将第一交易转发给当前节点所连接的、未向当前节点广播第一交易的各第一类节点。
39.具体地,以下以某区块链网络包括500个节点,在某个时间点,其中450个节点在线,其中300个节点配置为第一类节点、150个节点配置为第二类节点,此时甲控制的节点a、乙控制的节点b分别启动上线为例,对上述方法进行示例性的阐述。
40.节点a启动时,执行步骤s11,提示用户甲选择将节点a配置为正常广播交易的第一类节点,或,不参与广播交易、只为广播交易进行必要转发的第二类节点;
41.用户甲考虑到运行节点a的设备网络带宽条件不佳,选择将节点a配置为第二类节点,触发节点a执行步骤s15;
42.在步骤s15中,节点a在区块链网络中查找到5个第一类节点:节点c

g,并分别连接节点c

g;
43.在步骤s17中,当节点a接收节点d广播的交易tx1时,节点a判断节点c、e、f、g是否已经向当前节点广播tx1:
44.否,则向节点c、e、f、g转发tx1。
45.节点b启动时,同样执行步骤s11,提示用户乙选择将节点b配置为第一类节点或第二类节点;
46.用户乙选择将节点b配置为第一类节点,触发节点b执行步骤s13;
47.在步骤s13中,节点b根据原有配置的交易广播机制进行广播交易。具体地,该交易广播机制可以配置为本领域常用的任意一种交易广播机制。
48.上述实施例以第一数量配置为5、上述方法应用于包括500个节点的区块链网络为例,对上述方法进行了示例性的阐述,在更多实施例中,本领域技术人员可以根据实际需求将第一数量配置为大于1(且通常不大于10)的任意整数,并可将上述方法应用于任何不同规模、不同类型的区块链网络,可实现相同的技术效果。
49.上述实施例通过将区块链网络中的节点分类为正常广播交易的第一类节点和不参与广播交易、只为广播交易进行必要转发的第二类节点,大幅减少了交易广播过程中的冗余通信,实现了减少交易广播过程中的网络带宽消耗,降低了网络拥堵的概率。
50.在一优选实施例中,上述步骤s15包括:
51.查找第二数量个第一类节点,并分别获取各所查找到的节点所连接的第二类节点的数量;其中,第二数量大于第一数量;
52.连接各所查找到的节点中所连接的第二类节点的数量最少的节点,循环当前步骤直至已连接第一数量个节点或需要继续查找第一类节点。
53.具体地,同样以节点a查找并连接第一类节点,其中,第一数量为5、第二数量为10为例:
54.节点a查找到10个第一类节点h1

h10,并分别获取h1

h10各自连接的第二类节点的数量:节点h1当前连接3个第二类节点、节点h2当前连接7个第二类节点、
……
节点h10当前连接5个第二类节点;
55.节点a请求连接所查找到的节点h1

h10中连接第二类节点数量最少的节点h1:
56.连接成功,继续连接剩余的节点h2

h10中连接第二类节点数量最少的节点h5:
57.连接失败,继续
……

58.直至节点a成功连接5个第一类节点;或,
59.节点a在节点h1

h10中只连接到4个节点,则需要继续查找第一类节点,并重复上述过程。
60.上述实施例进一步通过配置第二类节点对第一类节点的连接策略,均衡各第一类节点所连接的第二类节点的数量,进一步降低了网络拥堵概率。
61.在上述图1所示的各方法中,由于节点配置为第一类节点或第二类节点是由用户主观选择的,可能会导致:
62.太多用户选择将节点配置为第一类节点、第二类节点太少,导致减少带宽消耗和降低网络拥堵概率的效果不佳;或,
63.太多用户选择将节点配置为第二类节点,导致正常参与广播交易的节点太少,进而导致交易的正常广播受到影响,或,为仅存的少数第一类节点提供作弊环境等风险。
64.针对上述问题,本发明进一步提供了如图2所示的方案。
65.图2为本发明一实施例提供的另一种交易广播方法的流程图。如图2所示,在本实施例中,本发明还提供另一种适用于区块链节点的交易广播方法,包括:
66.s21:在当前节点启动时,扫描当前区块链网络中配置为第一类节点的第一节点数量,以及,配置为第二类节点的第二节点数量;
67.s22:判断第一节点数量与第二节点数量的比值是否小于第一阈值:
68.是,则执行步骤s23:将当前节点配置为第一类节点,根据原有配置的交易广播机制进行广播交易;
69.否,则执行步骤s25:将当前节点配置为第二类节点;以及,
70.s26:查找并连接第一数量个第一类节点;
71.s27:响应于接收第一交易,将第一交易转发给当前节点所连接的、未向当前节点广播第一交易的各第一类节点。
72.优选地,上述查找并连接第一数量个第一类节点包括:
73.查找第二数量个第一类节点,并分别获取各所查找到的节点所连接的第二类节点的数量;其中,第二数量大于第一数量;
74.连接各所查找到的节点中所连接的第二类节点的数量最少的节点,循环当前步骤直至已连接第一数量个节点或需要继续查找第一类节点。
75.具体地,图2所示方法与图1所示方法的区别在于:
76.在图1所示的方法中,在节点启动时,由节点提示控制节点的用户来选择将当前节点配置为第一类节点或第二类节点;
77.而在图2所示的方法中,在节点启动时,节点自动扫描当前区块链网络第一类节点与第二类节点的数量,并根据两类节点的数量比例自动确定将当前节点配置为第一类节点或第二类节点。
78.以第一阈值配置为1为例:
79.当节点c启动时扫描到当前区块链网络中,第一类节点的数量为280、第二类节点
的数量为220时,判断出280:220大于第一阈值(1),则将节点c配置为第二类节点;
80.当节点d启动时扫描到当前区块链网络中,第一类节点的数量为240、第二类节点的数量为260时,判断出240:260小于第一阈值(1),则将节点d配置为第一类节点。
81.在将节点配置为第一类节点后,步骤s23的原理与步骤s13相同,不再赘述;
82.在将节点配置为第二类节点后,步骤s26

s27的原理与步骤s15

s17相同,同样不再赘述。
83.上述实施例进一步保障了避免因两类节点的比例失衡而导致减少带宽消耗和降低网络拥堵概率的效果不佳,或,交易的正常广播受到影响及其它风险等问题。
84.图3为本发明一实施例提供的一种计算机设备的结构示意图。
85.如图3所示,作为另一方面,本技术还提供了一种计算机设备300,包括一个或多个中央处理单元(cpu)301,其可以根据存储在只读存储器(rom)302中的程序或者从存储部分308加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。在ram303中,还存储有设备300操作所需的各种程序和数据。cpu301、rom302以及ram303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
86.以下部件连接至i/o接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至i/o接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
87.特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。
88.作为又一方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本技术提供的方法。
89.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
90.描述于本技术实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以
通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
91.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本技术构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜