一种基于联盟链的自适应网络的构建方法及装置制造方法及图纸

技术编号:21917177 阅读:31 留言:0更新日期:2019-08-21 13:25
本发明专利技术公开了一种基于联盟链的自适应网络的构建方法及装置,包括:根据联盟链中当前节点的节点列表计算当前节点与联盟链中其他节点的逻辑距离,根据逻辑距离对节点列表中节点进行按序排序,生成排序后节点列表;在排序后节点列表中选取前n个节点作为与当前节点建立连接的候选节点,其中,

An Approach and Device for Constructing an Adaptive Network Based on Alliance Chain

【技术实现步骤摘要】
一种基于联盟链的自适应网络的构建方法及装置
本专利技术涉及区块链
,特别涉及一种基于联盟链的自适应网络的构建方法及装置。
技术介绍
区块链(blockchain)是借由密码学串接并保护内容的串连交易记录(又称区块)。每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易数据(通常用默克尔树算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链所串接的分布式账本能让两方有效纪录交易,且可永久查验此交易。区块链根据访问权限,通常可以分为公有链、联盟链和私有链。公有链是指任何人都可以根据协议接入并参共识的区块链;联盟链是指共识过程受到预选节点控制的区块链;私有链是指权限在一个组织中,并受该组织完全控制的区块链。区块链在技术层面,通常分为共识算法、密码学、P2P网络等关键技术点。其中P2P网络技术维护整个区块链的网络拓扑,同时实现消息在整个区块链网络中的传播。在共识算法和密码学选定的情况下,P2P网络的效率,成为制约区块链系统性能的主要瓶颈。尤其是在联盟链的场景中,当区块链系统的负载较高时,在区块链中传播的消息量较大,此时消息的传播效率在很大程度上决定了区块链系统的整体性能。在现有区块链系统中,较多使用Gossip算法进行消息传播。Gossip算法又被称为反熵(Anti-Entropy),Gossip的特点为:在一个有界网络中,每个节点都随机地与其他节点通信,经过一番杂乱无章的通信,最终所有节点的状态都会达成一致。每个节点可能知道所有其他节点,也可能仅知道几个邻居节点,只要这些节点可以通过网络连通,最终他们的状态都是一致的。在现有区块链系统中,P2P网络的构建,通常是固定的:节点倾向于连接尽可能多或者固定个数的邻居节点。对于公有链系统,由于其性能较低,对P2P网络的要求相对较低,固定的网络结构可以满足消息传播的需求。但在联盟链的环境下,通常需要较高的系统性能,对消息传播效率的要求也较高,固定的网络结构往往成为阻碍区块链网络性能提升的瓶颈。一方面,适用于联盟链的固定的网络结构需要在区块链系统构建之初进行设定,且设定之后,如果区块链系统节点规模发生变化时无法进行调整或调整难度极大。另一方面,当联盟链系统节点规模未发生变化,但是系统吞吐量较高时,现有的基于固定网络结构的联盟链系统会由于消息传播量过大,而使网络带宽成为整个区块链系统的性能瓶颈。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于联盟链的自适应网络的构建方法及装置,以克服现有技术中适用于联盟链的固定的网络结构需要在区块链系统构建之初进行设定,且设定之后,如果区块链系统节点规模发生变化时无法进行调整或调整难度极大,以及固定的网络结构不能满足联盟链对系统的性能需求,阻碍联盟链网络性能的提升等问题。为解决上述一个或多个技术问题,本专利技术采用的技术方案是:一方面,提供了一种基于联盟链的自适应网络的构建方法,该方法包括如下步骤:S1:根据联盟链中当前节点的节点列表,计算所述当前节点与所述联盟链中其他节点的逻辑距离,根据所述逻辑距离对所述节点列表中节点进行按序排序,生成排序后节点列表;S2:在所述排序后节点列表中选取前n个节点作为与所述当前节点建立连接的候选节点,其中,N为所述排序后节点列表中节点的总数;S3:将所述当前节点与所述候选节点依次建立连接,若连接失败,则在所述排序后节点列表中按序选择新的候选节点建立连接,直至所述当前节点连接n个节点或所述排序后节点列表中再无节点;S4:为所述联盟链中的节点设置定时器,定时重复执行步骤S1至S3,更新所述联盟链的网络结构。进一步的,所述步骤S1还包括:S1.1:所述当前节点与所述联盟链中的邻居节点建立连接后,获取所述邻居节点拥有的节点列表;S1.2:将所述邻居节点拥有的节点列表加入所述当前节点自己的列表中,生成所述当前节点的初始节点列表;S1.3:在所述初始节点列表中选取符合预设要求的节点与所述当前节点建立连接,获取新的邻居节点拥有的节点列表加入所述初始节点列表中,生成所述当前节点的节点列表;S1.4:重复步骤S1.1至S1.3,更新所述当前节点的节点列表。进一步的,所述在所述初始节点列表中选取符合预设要求的节点具体包括:计算所述当前节点与所述初始节点列表中节点的逻辑距离;选取若干个与所述当前节点的逻辑距离最近或最远的节点作为符合预设要求的节点。进一步的,所述步骤S2还包括:根据所述联盟链网络的规模,设置所述候选节点的最小值,当计算获取的所述候选节点数n小于所述候选节点的最小值时,令n等于所述候选节点的最小值。进一步的,所述步骤S2还包括:获取所述当前节点的网络带宽使用率,当所述网络带宽使用率大于预设的阈值时,令所述候选节点数n递减1,其中,n不小于所述候选节点的最小值。另一方面,提供了一种基于联盟链的自适应网络的构建装置,所述装置包括:列表维护模块,用于根据联盟链中当前节点的节点列表,计算所述当前节点与所述联盟链中其他节点的逻辑距离,根据所述逻辑距离对所述节点列表中节点进行按序排序,生成排序后节点列表;节点选取模块,用于在所述排序后节点列表中选取前n个节点作为与所述当前节点建立连接的候选节点,其中,N为所述排序后节点列表中节点的总数;节点连接模块,用于将所述当前节点与所述候选节点依次建立连接,若连接失败,则在所述排序后节点列表中按序选择新的候选节点建立连接,直至所述当前节点连接n个节点或所述排序后节点列表中再无节点;基础设置模块,用于为所述联盟链中的节点设置定时器,定时更新所述联盟链的网络结构。进一步的,所述列表维护模块包括:列表获取单元,用于所述当前节点与所述联盟链中的邻居节点建立连接后,获取所述邻居节点拥有的节点列表;第一生成单元,用于将所述邻居节点拥有的节点列表加入所述当前节点自己的列表中,生成所述当前节点的初始节点列表;节点连接单元,用于在所述初始节点列表中选取符合预设要求的节点与所述当前节点建立连接;第二生成单元,用于获取新的邻居节点拥有的节点列表加入所述初始节点列表中,生成所述当前节点的节点列表。进一步的,所述列表维护模块还包括:距离计算单元,用于计算所述当前节点与所述初始节点列表中节点的逻辑距离;节点选取单元,用于选取若干个与所述当前节点的逻辑距离最近或最远的节点作为符合预设要求的节点。进一步的,所述基础设置模块还用于根据所述联盟链网络的规模,设置所述候选节点的最小值;所述节点选取模块包括:比较单元,用于比较计算获取的所述候选节点数n与所述候选节点的最小值的大小。进一步的,所述节点选取模块还包括:带宽获取单元,用于获取所述当前节点的网络带宽使用率所述比较单元还用于比较所述网络带宽使用率与预设的阈值的大小。本专利技术实施例提供的技术方案带来的有益效果是:1、本专利技术实施例提供的基于联盟链的自适应网络的构建方法及装置,网络结构可以随时根据当前的节点规模进行调整,随时保持最高效率;2、本专利技术实施例提供的基于联盟链的自适应网络的构建方法及装置,网络结构可以根据当前的网络带宽使用率进行调整,从而避免网络带宽成为整个区块链系统的性能瓶颈,使得区块链系统的性能得到进一步提升。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而本文档来自技高网
...

【技术保护点】
1.一种基于联盟链的自适应网络的构建方法,其特征在于,所述方法包括如下步骤:S1:根据联盟链中当前节点的节点列表,计算所述当前节点与所述联盟链中其他节点的逻辑距离,根据所述逻辑距离对所述节点列表中节点进行按序排序,生成排序后节点列表;S2:在所述排序后节点列表中选取前n个节点作为与所述当前节点建立连接的候选节点,其中,

【技术特征摘要】
1.一种基于联盟链的自适应网络的构建方法,其特征在于,所述方法包括如下步骤:S1:根据联盟链中当前节点的节点列表,计算所述当前节点与所述联盟链中其他节点的逻辑距离,根据所述逻辑距离对所述节点列表中节点进行按序排序,生成排序后节点列表;S2:在所述排序后节点列表中选取前n个节点作为与所述当前节点建立连接的候选节点,其中,N为所述排序后节点列表中节点的总数;S3:将所述当前节点与所述候选节点依次建立连接,若连接失败,则在所述排序后节点列表中按序选择新的候选节点建立连接,直至所述当前节点连接n个节点或所述排序后节点列表中再无节点;S4:为所述联盟链中的节点设置定时器,定时重复执行步骤S1至S3,更新所述联盟链的网络结构。2.根据权利要求1所述的基于联盟链的自适应网络的构建方法,其特征在于,所述步骤S1还包括:S1.1:所述当前节点与所述联盟链中的邻居节点建立连接后,获取所述邻居节点拥有的节点列表;S1.2:将所述邻居节点拥有的节点列表加入所述当前节点自己的列表中,生成所述当前节点的初始节点列表;S1.3:在所述初始节点列表中选取符合预设要求的节点与所述当前节点建立连接,获取新的邻居节点拥有的节点列表加入所述初始节点列表中,生成所述当前节点的节点列表;S1.4:重复步骤S1.1至S1.3,更新所述当前节点的节点列表。3.根据权利要求2所述的基于联盟链的自适应网络的构建方法,其特征在于,所述在所述初始节点列表中选取符合预设要求的节点具体包括:计算所述当前节点与所述初始节点列表中节点的逻辑距离;选取若干个与所述当前节点的逻辑距离最近或最远的节点作为符合预设要求的节点。4.根据权利要求1至3任一项所述的基于联盟链的自适应网络的构建方法,其特征在于,所述步骤S2还包括:根据所述联盟链网络的规模,设置所述候选节点的最小值,当计算获取的所述候选节点数n小于所述候选节点的最小值时,令n等于所述候选节点的最小值。5.根据权利要求4所述的基于联盟链的自适应网络的构建方法,其特征在于,所述步骤S2还包括:获取所述当前节点的网络带宽使用率,当所述网络带宽使用率大于预设的阈值时,令所述候选节点数n递减1,其中,n不小于所述候选节点的最小...

【专利技术属性】
技术研发人员:曹京奇瞿争
申请(专利权)人:众安信息技术服务有限公司
类型:发明
国别省市:广东,44

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

1