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

基于类最远采样的区块链网络传输方法及存储介质与流程

2023-01-02 19:45:50 来源:中国专利 TAG:


1.本发明涉及区块链网络传输技术领域,具体涉及一种基于类最远采样的区块链网络传输方法。


背景技术:

2.区块链技术因其去中心化、防篡改、可追溯等特性,已被应用于一些行业领域的信息化系统中,与物联网、大数据、人工智能等信息技术的融合,能够解决社会信用、成本、效率等方面的问题,保障数据真实可信,提升信息化系统应用价值,在各行业领域有着巨大的应用前景。然而区块链技术的发展与应用正处于挑战与机遇并存的关键阶段,在节点存储区块数据压力、数据在区块链网络中传输时长、共识效率等方面都面临着一些挑战;在区块链系统中,所有节点组建为一个p2p网络,节点间的网络传输效率、传输的可靠性、安全性、网络利用率等因素直接影响着区块链运行的稳定性、性能等。随着应用需求不断提升,交易数量不断增多,区块链p2p网络中节点之间需要更加快速、高效的网络传输方式。
3.kademlia 协议是一种结构化的 p2p 网络协议,通过构建分布式哈希表作为节点列表并进行周期性的维护,实现了高效的资源发现。每个节点在加入网络时都会拥有一个 id,kademlia 协议规定使用两个节点的 id 的异或结果作为节点间的逻辑距离,节点所维护的节点列表的每一层称为一个桶,每个节点维护等同于id 位数的桶的数量。通过计算节点间的距离,每个节点将其他节点放在不同的桶中,k桶中的所有节点组成了传输节点的邻节点列表。
4.现有技术存着以下技术问题:1)、数据从一个节点发送,传输到整个p2p网络中的每个节点,需要经过多次转发,增加了数据传输到整个网络的时长,数据传输存在一定的网络时延,网络传输效率不高。
5.2)、p2p网络中的每个节点接收到数据之后,将数据转发给其它节点,每个节点可能会多次接收到不同节点发送的相同数据,冗余的数据传输造成网络资源的浪费,网络利用率低下。
6.3)、现有区块链kademlia协议的数据传输是基于区块链节点id之间的异或逻辑距离,并不能真实反应区块链网络中节点的实际分布状态。


技术实现要素:

7.本发明提出的一种基于类最远采样的区块链网络传输方法,可至少解决上述技术问题之一。
8.为实现上述目的,本发明采用了以下技术方案:一种基于类最远采样的区块链网络传输方法,包括以下步骤:s1、构建最远采样簇;依照整个区块链网络总规模设定最远采样簇规模n’,即一个采样簇中包含n’个最远采样点,以本地节点p0为起始簇,选取距离本簇集合物理最远距离的节点依次纳入簇集合中,直至簇集合中节点个数达到n’,从而形成节点p0的最远采样簇,
不同节点的最远采样簇不同;s2、节点加入/更新采样簇;当一个新节点pi加入网络时,根据其邻节点附带ip信息,计算pi与各邻节点之间的物理距离,选取其中物理距离值最小的节点pj,向pj发出加入其最远采样簇的请求;若在之后的通信过程中发现物理距离更小的节点pk,则申请加入pk对应的最远采样簇,从而完成采样簇的更新;s3、更新采样点;在通信过程中,当节点pm发现了新节点pn,则计算节点pn到当前pm的最远采样集合的距离,若结果大于设定阈值,则将节点pn更新至pm的最远采样集合n中,并剔除一个通信质量最差的节点,完成最远采样簇中采样点的更新;s4、数据接收转发;构建并维护一份由最远采样点构成的路由表,并与邻节点路由表相结合,完成数据的接受与转发。
9.另一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
10.由上述技术方案可知,传统dht算法衡量节点间的关系主要基于随机链接或虚拟的异或逻辑距离,无法对实际物理世界中的节点关系进行具象化的描述,不能真实反应区块链网络中节点的实际分布状态。本发明设计了一种基于类最远采样的区块链网络传输方法,用节点的地理位置之间的物理距离值描述区块链网络中节点间的关系,并采用类似最远采样的方法设计出一套适用于区块链网络的传输规则,以改善区块链网络中的交易传播延迟,提升网络利用率。
11.总得来说,在区块链系统的p2p网络中,由于在数据转发时存在着重复传输,因此节点经常会收到多个邻节点转发的数据。在节点间带宽,以及传输的数据量一定的条件下,本方案使用基于类最远采样的传输方式,可以将节点待广播的交易或区块信息快速的散布至网络的边缘,使得交易或区块信息更平均的分布,可提升网络利用率,降低传输冗余度;同时,本方案是根据节点与节点之间的物理距离值来进行采样,可得到网络的拓扑结构及节点实际物理分布情况,相比传统的异或逻辑距离值来说,可以更直观的描绘网络状态。
附图说明
12.图1 是本发明基于类最远采样的传输结构流程;图2 是本发明采样集合构建示意图。
具体实施方式
13.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
14.如图1所示,本实施例所述的基于类最远采样的区块链网络传输方法,包括:s1、构建最远采样簇;依照整个区块链网络总规模设定最远采样簇规模n’,即一个采样簇中包含n’个最远采样点,以本地节点p0为起始簇,选取距离本簇集合物理最远距离的节点依次纳入簇集合中,直至簇集合中节点个数达到n’,从而形成节点p0的最远采样簇。不同节点的最远采样簇不同。
15.s2、节点加入/更新采样簇;当一个新节点pi加入网络时,根据其邻节点附带ip信
息,计算pi与各邻节点之间的物理距离,选取其中物理距离值最小的节点pj,向pj发出加入其最远采样簇的请求。若在之后的通信过程中发现物理距离更小的节点pk,则申请加入pk对应的最远采样簇,从而完成采样簇的更新。
16.s3、更新采样点;在通信过程中,当节点pm发现了新节点pn,则计算节点pn到当前pm的最远采样集合的距离,若结果大于设定阈值,则将节点pn更新至pm的最远采样集合n中,并剔除一个通信质量最差的节点,完成最远采样簇中采样点的更新。
17.s4、数据接收转发;构建并维护一份由最远采样点构成的路由表,并与邻节点路由表相结合,完成数据的接受与转发。
18.以下分别具体说明:节点管理模型功能主要分为4个主要部分,结构如图1。分别为:构建采样点集合、节点加入采样簇、更新采样点、以及数据接收与转发。
19.构建最远采样簇:如图2所示,为传输节点的最远采样点构建示意图。通过构建传输节点的最远采样簇,可以直观的描述出整个区块链网络的分布状态,可使得消息快速的触及网络的边缘。最远采样簇的构建步骤如下:(1)节点p0试图加入区块链网络,初始化采样集合s={p0},拉取seednode种子节点及其邻居节点,组成节点集合n={p1, p2, p3,
ꢀ…
, pn},并获取p[i]的节点ip;(2)通过maxmind geolite city 公网数据库获得节点p0、pi的ip地址对应经纬度(θ0, λ0)、(θi, λi);(3)依据半正矢公式(haversine equation)分别计算集合n中的节点与节点p0间的球面最短距离,组成n元数组l,从中选取最大值对应的节点p1,并更新采样集合s={p0, p1};(4)计算集合n中所有节点到p1的距离,对于每一个节点pi,其距离p1的距离如果小于l[i],则更新l[i] = d(pi, p1),因此,数组l中存储的一直是每一个节点到采样节点集合s的最近距离;(5)选取l中最大值对应的节点作为p2,更新采样点集合s={p0,p1,p2};(6)重复4-5,直至找到n’个采样点,形成最远采样簇。
[0020]
节点加入/更新采样簇:考虑到算法复杂度问题,对于成熟区块链网络中新上线的节点,无需重复构建最远采样集合,可在网络中寻找与此传输节点物理距离值较近的节点,直接请求加入其采样簇以降低计算时长。具体步骤如下:(1)节点p0试图加入区块链网络,拉取seednode种子节点及其邻居节点,组成节点集合n,并获取p[i]的节点ip;(2)计算集合n中的节点与节点p0间的球面最短距离li;(3)设置距离阈值l
t
,当li<l
t
时,选取对应的节点pi,发送加入其采样簇的请求。
[0021]
更新采样点:当节点pi收到一个来自于节点pj的rpc消息时,会根据其附带的ip信息,计算pj到pi的现有采样集合s的距离值lj,设定阈值lk(lk的选定依据未被采样的剩余节点到采样集合s的平均距离),若lj>lk,则将节点pj更新至采样集合s。
[0022]
数据接收与转发:本传输方法中,节点需要维护两张列表,分别是邻节点列表与最远采样列表。本传输方法为传统传输的补充,支持可插拔设计。当传输节点需要广播区块或交易时,首先在最远采样列表中选取m个节点作为优先传输,使数据可尽快抵达整个区块链
网络的边缘。同时在邻节点列表中选取n个节点进行传统方式的传输。
[0023]
本发明实施例提出一种基于类最远采样的区块链网络传输方法,通过构建传输节点的最远采样点集合,可以直观的描述出整个区块链网络的分布状态,可使得消息快速的触及网络的边缘,降低网络传输延时,增加网络利用率。节点维护自身唯一的最远采样点列表,并以可插拔的形式对现有协议进行补充,降低网络传输冗余度。
[0024]
又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述任一方法的步骤。
[0025]
再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述任一方法的步骤。
[0026]
在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一方法的步骤。
[0027]
可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
[0028]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0029]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0030]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献