CN115883577B - 一种区块链网络分簇及数据传输方法 - Google Patents
一种区块链网络分簇及数据传输方法 Download PDFInfo
- Publication number
- CN115883577B CN115883577B CN202211480870.4A CN202211480870A CN115883577B CN 115883577 B CN115883577 B CN 115883577B CN 202211480870 A CN202211480870 A CN 202211480870A CN 115883577 B CN115883577 B CN 115883577B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- neighbor
- spanning tree
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000010276 construction Methods 0.000 claims abstract description 24
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 2
- 238000010187 selection method Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 abstract description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
一种区块链网络分簇及数据传输方法对区块链网络层的网络拓扑结构和数据传输机制进行优化。该方法首先依据区块链节点之间的数据传输时间,通过使用改进的加权标签传播算法对网络节点进行分簇。改进的加权标签传播算法简单高效,不需要提供网络规模和分簇个数等先验知识。之后设计了节点和簇的可信值计算公式,对分簇后的节点利用提出的生成树拓扑构建方法建立簇内生成树和簇间生成树,简化了区块链网络的拓扑结构。最后提出了一种数据传输策略,节点采用广播方式进行数据传输,通过路由节点实现簇内和簇间并行广播数据,有效减少区块链全网的数据传输时间以及网络中冗余数据的传输,从而提高了区块链的传输效率。
Description
技术领域
本发明属于区块链技术领域。
背景技术
随着区块链技术的不断发展和优化,区块链的应用领域正在逐步扩大。目前区块链被广泛应用于物联网、医疗、金融和教育等行业。区块链凭借去中心化的信任机制、可追溯性和不可篡改性等优势,并且借助5G/6G网络、人工智能和边缘计算等前沿技术,使其适配多元化的场景。虽然区块链作为一种去中心化的分布式账本技术具有众多的优势,但是区块链本身也存在一些局限性,例如吞吐量低、数据传输时间长等。随着区块链应用到诸多领域,其存储的数据量逐渐增加,从而造成区块链规模的快速扩大。然而,大规模区块链受吞吐量的限制,并且其数据传输时延较高,面临数据传输效率低的性能问题,进而制约了区块链的进一步发展。区块链架构由数据层、网络层、共识层、激励层、合约层和应用层构成。网络层作为区块链架构的底层网络,是区块链信息以及数据交互的基础,负责区块链节点之间的数据传输。区块链网络层采用P2P(Peer-to-Peer)网络的组网结构,P2P网络中的节点是平等的,每个节点负责将接收到的数据转发给其他节点。因此,区块链网络层在节点之间的数据传输过程中发挥重要的作用。通过优化区块链网络层能够从底层加快数据传输,可以进一步提升区块链的性能,对于减小数据传输时延和提高区块链的数据传输效率具有较大的意义。
在减小数据传输时延方面,已有一些方案对区块链网络层进行优化。已有的一种方案综合考虑区块链网络的传输速度和可靠性,设计了一个信任加强的区块链P2P拓扑。该方案首先利用K-Means算法将在地理位置上相邻的节点聚为一类,实现对网络节点的分簇。然后考虑信任值构建了信任加强的网络拓扑,确保拓扑具有较小的网络直径以及较好的安全性。最后采用基于中心的方法设计了并行生成树广播方法,使得簇内和簇间的节点能够快速广播数据,加快区块链数据的传输。
上述已有的提高区块链的数据传输性能方案在以下两个方面还存在不足:
(1)在网络节点分簇上,该方案是根据区块链节点的地理位置将相近的节点划分为同一个簇中,但是地理位置相近的节点可能在区块链网络中的数据传输时间较大。所以依据地理位置进行节点聚类没有充分发挥聚类效果,不能很好地缩短网络整体的数据传输时间。此外,该方案利用K-Means算法聚类时需要指定簇内的节点数量,簇内节点数量的不同会影响分簇的效果。
(2)在数据传输方法上,该方案的并行生成树广播方法的数据传输过程是源节点首先将数据转发到本簇的路由节点,然后由路由节点在簇内广播数据并且向其他簇的路由节点转发数据。源节点向本簇的路由节点转发数据这一过程会增加网络整体的数据传输时间,没有很好地利用广播的优势。
发明内容
针对上述问题,本发明对区块链网络层的网络拓扑结构和数据传输机制进行优化,提出了一种区块链网络分簇及数据传输方法。该方法首先依据区块链节点之间的数据传输时间,通过使用改进的加权标签传播算法对网络节点进行分簇。改进的加权标签传播算法简单高效,不需要提供网络规模和分簇个数等先验知识。之后设计了节点和簇的可信值计算公式,对分簇后的节点利用提出的生成树拓扑构建方法建立簇内生成树和簇间生成树,简化了区块链网络的拓扑结构。最后提出了一种数据传输策略,节点采用广播方式进行数据传输,通过路由节点实现簇内和簇间并行广播数据,有效减少区块链全网的数据传输时间以及网络中冗余数据的传输,从而提高了区块链的传输效率。
本发明对提出的区块链网络分簇及数据传输方法进行了详细说明。该方法首先利用改进的加权标签传播算法实现对区块链网络节点的分簇;然后提出了一种生成树拓扑构建方法,以建立簇内生成树和簇间生成树;最后基于分簇节点和生成树拓扑提出一种数据传输策略,以达到簇内和簇间并行广播数据,有效缩短区块链网络整体的数据传输时间。区块链网络拓扑抽象为图,区块链节点之间的拓扑抽象为边,节点之间的数据传输时间为边的权重,节点之间的相似性为节点之间边的权重的倒数。
1.一种区块链网络分簇及数据传输方法,其特征在于:
1)改进的加权标签传播算法
(1)标签初始化;
在标签初始化时,网络中每个节点的标签为节点的序号,每个节点为单独的一个簇;
(2)节点重要性计算;
在计算节点重要性时,综合考虑了节点以及邻居节点的度和相似性;节点的强度是指节点与其所有邻居节点的相似性之和;节点的某一邻居节点的贡献值为节点与某一邻居节点的相似性乘以这一邻居节点的度数除以这一邻居节点的强度;对节点的所有邻居节点的贡献值求和,将该和与节点的度相乘得到节点重要性的值;
(3)标签更新规则
针对标签待更新节点的标签更新规则为首先计算在该节点的所有邻居节点中,与该节点的某一邻居节点的所有邻居节点的共有邻居节点个数与这两个节点的所有邻居节点总数之和的比值;之后计算该节点与它的这一邻居节点之间的相似性与这两个节点强度的比值;其中,节点的强度是指节点与其所有邻居节点的相似性之和;将这两个比值相加得到这两个节点的相似程度值;该节点与它的一个相邻标签内所有邻居节点的相似程度值之和是该节点与这个标签的相似性值;然后对于该节点的每个相邻标签分别计算该节点与当前标签的相似性值与除了当前标签中的节点之外的其他邻居节点与该节点的相似性之和的比值,比值乘以当前标签中的所有邻居节点与该节点的相似性之和;从该节点的所有相邻标签中,选取乘积最大值的标签,将该节点的标签更新为这个标签;
2).生成树拓扑构建方法
设计了节点和簇的可信值公式用于计算节点和簇的可信值;截止到构建生成树时,节点的可信值公式是节点的历史交易成功次数和失败次数的差与节点的历史交易成功次数和失败次数的和的比值;当节点的历史交易成功次数大于失败次数时,可信值不为0;当节点的历史交易成功次数小于等于失败次数时,可信值为0;簇的可信值公式为簇内节点的可信值之和与簇内节点个数的比值;
生成树拓扑构建方法的详细步骤如下:
(1)选取生成树的根节点;从可信值不为0的节点中选取度数最大的节点;如果存在多个度数最大的节点,那么比较这些节点的相连边中的最大权值,从中选取最大权值边的权值最小的节点作为根节点;如果存在多个具有相同最大权值边的节点,那么选取可信值最大的节点作为根节点;将根节点的所有邻居节点加入生成树;同时根节点的邻居节点记录将数据传输到根节点的时间,也就是边的权值;
(2)选取其他节点加入生成树;如果新加入生成树的节点的可信值为0,那么不进行调整;如果新加入生成树的节点的可信值不为0,那么遍历该节点的所有邻居节点;并且根据新加入生成树的节点的邻居节点的以下三种情况调整生成树;
情况1:该节点的邻居节点不在生成树中;将邻居节点作为该节点的子节点加入生成树;同时邻居节点记录将数据传输到根节点的时间;
情况2:该节点的邻居节点在生成树中,并且邻居节点是该节点在生成树中的父节点,那么不调整生成树;
情况3:该节点的邻居节点在生成树中,并且邻居节点不是该节点在生成树中的父节点;计算当邻居节点作为该节点的子节点时,经过该节点传输数据到根节点的时间;如果这个时间小于邻居节点从现在生成树中的位置传输数据到根节点的时间,那么在生成树中修改邻居节点的父节点为该节点;同时邻居节点记录将数据传输到根节点的时间;
(3)重复上述步骤,直到所有节点都加入生成树中,从而完成生成树的构建;
当构建簇间生成树时,将簇抽象为节点,簇间的拓扑连接抽象为边;由于两个簇间可能存在多条边,选取权值最小边作为两个簇间的相连边;基于抽象出的簇间拓扑结构,利用生成树拓扑构建方法构建簇间生成树;
在建立簇间生成树之后,确定每个簇与哪一些簇进行数据传输,避免出现簇间数据的重复传输问题;然后从簇间的若干条边中选取路由边以及路由节点;路由节点主要负责与其他簇进行数据传输;路由边的选取方法为先计算簇间所有相连边两端的节点的度数之和,并且按照从大到小的顺序排序;如果存在多条簇间边的两端节点的度数之和相同,那么按照两端节点可信值之和从大到小排序;然后对簇间所有相连边进行检查,将存在可信值为0的节点所对应的边移到序列末尾;选择序列中的第一条边作为路由边,路由边的两端节点为路由节点;
当构建簇内生成树时,先对与簇外节点相连的簇内节点的度进行处理;除了路由节点之外,不考虑簇内其他节点与簇外的相连边作为这些节点的度;路由节点考虑当前路由边作为构成该节点的度;然后利用生成树拓扑构建方法构建簇内生成树;
3).数据传输策略
将区块链节点划分为数据发起节点、转发节点和路由节点三种类型;其中,数据发起节点是指区块链网络中的数据传输的源节点;转发节点是指将接收到的数据转发给其他节点的这类节点;路由节点是转发节点的特殊情况,路由节点不仅将接收到的数据转发给簇内节点,而且也将数据传输给其他簇的路由节点;
针对这三种节点的数据传输策略的具体描述如下;
(1)针对数据发起节点,该节点按照建立的生成树将数据广播给它的邻居节点;
(2)针对转发节点,该节点不再向已接收到数据的邻居节点传输数据,按照建立的生成树将数据广播给其他的邻居节点;
(3)针对路由节点,路由节点不再向已接收到数据的邻居节点传输数据,按照建立的生成树将数据广播给簇内节点和簇间的路由节点;
除路由节点外,簇内节点无法与其他簇传输数据,则限制簇内节点的广播只能在本簇内进行传播。
1.本发明提出了一种区块链网络分簇及数据传输方法,该方法由改进的加权标签传播算法、生成树拓扑构建方法和数据传输策略构成,实现区块链网络节点的分簇,简化了区块链网络拓扑,减小了数据传输时延,从而提高区块链的数据传输效率。
2.本发明提出了一个改进的加权标签传播算法,该算法先计算区块链节点重要性,然后每个节点按照节点重要性由大到小的顺序,根据设计的标签更新规则更新自身的标签,具有相同标签的节点是同一簇,从而实现区块链网络节点的分簇。
3.本发明提出了一种生成树拓扑构建方法,按照树中每条支路传输时间尽可能小的原则,综合考虑度、权重和可信值,对分簇节点构建簇内生成树和簇间生成树,简化区块链网络拓扑。
4.本发明提出了一个数据传输策略,将区块链节点分为数据发起节点、转发节点和路由节点。这些节点采用广播方式向它的邻居节点传输数据,并且通过路由节点在簇内和簇间并行传输数据,大大缩短区块链全网的数据传输时间。
附图说明
图1区块链网络分簇及数据传输方法模块示意图图2改进的加权标签传播算法流程图
图3生成树建立示意图
图4数据传输过程图
具体实施方式
区块链网络分簇及数据传输方法中各模块如图1所示:
本发明提出了一个改进的加权标签传播算法,该算法首先初始化节点的标签。之后考虑节点的度和相似性来计算节点的重要性,节点按照节点重要性从大到小的顺序更新自身的标签,从而避免随机性。然后设计了标签更新规则,节点根据标签更新规则更新节点自身的标签。最后经过不断迭代使所有节点的标签不再发生变化,将相同标签的节点划分为同一个簇,从而实现网络节点的分簇。改进的加权标签传播算法的流程图如图2所示。
(1)标签初始化。
在标签初始化时,网络中每个节点的标签为节点的序号,每个节点为单独的一个簇。例如节点n2的初始标签为2,节点n2自己单独构成簇2。
(2)节点重要性计算。
节点重要性是用来衡量节点在网络中的所处位置以及影响力的指标。在标签传播算法中,重要节点越早更新自身的标签就会加快收敛过程。因此,本发明设计了节点重要性的计算公式。
在计算节点重要性时,综合考虑了节点以及邻居节点的度和相似性。节点的强度是指节点与其所有邻居节点的相似性之和。节点的某一邻居节点的贡献值为节点与某一邻居节点的相似性乘以这一邻居节点的度数除以这一邻居节点的强度。对节点的所有邻居节点的贡献值求和,将该和与节点的度相乘可以得到节点重要性的值。
(3)标签更新规则
在传统标签传播算法中,当节点更新自身的标签时,节点从它的邻居节点的标签中选取出现次数最多的标签作为当前节点的标签。若节点的邻居节点中出现多个数量相同的不同标签,则从中随机选择一个标签作为该节点的标签。这种随机选择的方法增加了分簇结果的不稳定性。因此,本发明设计了一种标签更新规则,能够产生较好的分簇结果,同时减少分簇结果的不稳定性。
针对标签待更新节点的标签更新规则为首先计算在该节点的所有邻居节点中,与该节点的某一邻居节点的所有邻居节点的共有邻居节点个数与这两个节点的所有邻居节点总数之和的比值。之后计算该节点与它的这一邻居节点之间的相似性与这两个节点强度的比值。其中,节点的强度是指节点与其所有邻居节点的相似性之和。将这两个比值相加得到这两个节点的相似程度值。该节点与它的一个相邻标签内所有邻居节点的相似程度值之和是该节点与这个标签的相似性值。然后对于该节点的每个相邻标签分别计算该节点与当前标签的相似性值与除了当前标签中的节点之外的其他邻居节点与该节点的相似性之和的比值,比值乘以当前标签中的所有邻居节点与该节点的相似性之和。从该节点的所有相邻标签中,选取乘积最大值的标签,将该节点的标签更新为这个标签。
2.生成树拓扑构建方法
本发明设计了节点和簇的可信值公式用于计算节点和簇的可信值。截止到构建生成树时,节点的可信值公式是节点的历史交易成功次数和失败次数的差与节点的历史交易成功次数和失败次数的和的比值。当节点的历史交易成功次数大于失败次数时,可信值不为0。当节点的历史交易成功次数小于等于失败次数时,可信值为0。簇的可信值公式为簇内节点的可信值之和与簇内节点个数的比值。
当构建簇内生成树和簇间生成树时,生成树拓扑构建方法先选取生成树的根节点,然后按照使生成树中每条支路传输时间尽可能小的原则选取生成树的其他节点。生成树拓扑构建方法的详细步骤如下:
(1)选取生成树的根节点。从可信值不为0的节点中选取度数最大的节点。如果存在多个度数最大的节点,那么比较这些节点的相连边中的最大权值,从中选取最大权值边的权值最小的节点作为根节点。如果存在多个具有相同最大权值边的节点,那么选取可信值最大的节点作为根节点。将根节点的所有邻居节点加入生成树。同时根节点的邻居节点记录将数据传输到根节点的时间,也就是边的权值。
(2)选取其他节点加入生成树。如果新加入生成树的节点的可信值为0,那么不进行调整。如果新加入生成树的节点的可信值不为0,那么遍历该节点的所有邻居节点。并且根据新加入生成树的节点的邻居节点的以下三种情况调整生成树。
情况1:该节点的邻居节点不在生成树中。将邻居节点作为该节点的子节点加入生成树。同时邻居节点记录将数据传输到根节点的时间。
情况2:该节点的邻居节点在生成树中,并且邻居节点是该节点在生成树中的父节点,那么不调整生成树。
情况3:该节点的邻居节点在生成树中,并且邻居节点不是该节点在生成树中的父节点。计算当邻居节点作为该节点的子节点时,经过该节点传输数据到根节点的时间。如果这个时间小于邻居节点从现在生成树中的位置传输数据到根节点的时间,那么在生成树中修改邻居节点的父节点为该节点。同时邻居节点记录将数据传输到根节点的时间。
(3)重复上述步骤,直到所有节点都加入生成树中,从而完成生成树的构建。
当构建簇间生成树时,将簇抽象为节点,簇间的拓扑连接抽象为边。由于两个簇间可能存在多条边,选取权值最小边作为两个簇间的相连边。基于抽象出的簇间拓扑结构,利用生成树拓扑构建方法构建簇间生成树。在图3中,将簇1、簇2和簇3抽象为三个节点,选取权值最小边作为两个簇间的相连边,选出的边为e4,6、e4,12和e7,11。按照生成树拓扑构建方法建立簇间生成树的过程为首先选取根节点,由于三个簇抽象后的节点的度数相同都为2,所以按照选取这些节点的最大权值边的权值最小的节点作为根节点。簇1和簇3抽象后的节点的最大权值边为e4,12,e4,12的权值为5。簇2抽象后的节点的最大权值边为e7,11,e7,11的权值为4。依据选取节点的最大权值边中的权值最小的节点作为根节点,所以选取簇2抽象后的节点为根节点。将根节点的所有邻居节点加入生成树,它的邻居节点是簇1和簇3抽象后的节点。由于三个节点都加入生成树,所以簇间生出树构建完成。
在建立簇间生成树之后,确定每个簇与哪一些簇进行数据传输,避免出现簇间数据的重复传输问题。然后从簇间的若干条边中选取路由边以及路由节点。路由节点主要负责与其他簇进行数据传输。路由边的选取方法为先计算簇间所有相连边两端的节点的度数之和,并且按照从大到小的顺序排序。如果存在多条簇间边的两端节点的度数之和相同,那么按照两端节点可信值之和从大到小排序。然后对簇间所有相连边进行检查,将存在可信值为0的节点所对应的边移到序列末尾。选择序列中的第一条边作为路由边,路由边的两端节点为路由节点。在图3中,通过构建的簇间生成树可知,簇2与簇1和簇3进行数据传输,那么选取簇2与簇1之间的路由节点和路由边以及簇2与簇3之间的路由节点和路由边。在簇2与簇1之间存在e5,6和e4,6连接两个簇的边,先计算边e5,6和e4,6两端的节点的度数之和,分别为9和10。由于10大于9,所以选择边e4,6作为簇2与簇1之间的路由边,节点n6和n4为簇2和簇1的路由节点。在簇2与簇3之间只存在e7,11这一条边,所以选择e7,11作为路由边,节点n7和n11作为路由节点。
当构建簇内生成树时,先对与簇外节点相连的簇内节点的度进行处理。除了路由节点之外,不考虑簇内其他节点与簇外的相连边作为这些节点的度。路由节点考虑当前路由边作为构成该节点的度。然后利用生成树拓扑构建方法构建簇内生成树。在图3中,以簇2为例介绍簇内生成树的构建。簇2中节点n6和n7度数最大为4。它们的最大权值边的权值为5和6,从中选取权值最小的节点n6作为根节点。然后将节点n6的所有邻居节点n7、n9和n10加入簇内生成树。之后根据节点n7、n9和n10的邻居节点的情况调整簇内生成树。n7的邻居节点是n6、n8和n9。节点n6符合情况2,所以不调整簇内生成树。节点n8符合情况1,将节点n8作为n7的子节点加入簇内生成树。节点n9符合情况3,计算当节点n9作为n7的子节点时,经过n7的传输数据到根节点n6的时间为7。这个时间大于从节点n9传输数据到根节点n6的时间5,所以不调整簇内生成树。对n9和n10的邻居节点按照上述三种情况进行调整之后,得到簇内生成树,如图3中的簇2节点的实线边所示。
3.数据传输策略
本发明中将区块链节点划分为数据发起节点、转发节点和路由节点三种类型。其中,数据发起节点是指区块链网络中的数据传输的源节点。转发节点是指将接收到的数据转发给其他节点的这类节点。路由节点是转发节点的特殊情况,路由节点不仅将接收到的数据转发给簇内节点,而且也将数据传输给其他簇的路由节点。针对这三种节点的数据传输策略的具体描述如下。
(1)针对数据发起节点,该节点按照建立的生成树将数据广播给它的邻居节点。
(2)针对转发节点,该节点不再向已接收到数据的邻居节点传输数据,按照建立的生成树将数据广播给其他的邻居节点。
(3)针对路由节点,路由节点不再向已接收到数据的邻居节点传输数据,按照建立的生成树将数据广播给簇内节点和簇间的路由节点。
在建立的簇内生成树和簇间生成树的基础上,节点采用广播方式能够加快数据传输,同时减少重复数据的传输,提高数据的传输效率。除路由节点外,簇内节点无法与其他簇传输数据,则限制簇内节点的广播只能在本簇内进行传播,避免出现全局广播而导致过多的冗余数据的问题。
图4中的节点n5作为数据发起节点,该节点按照已建立的生成树路径广播给节点n0和节点n4。节点n0作为转发节点,在接收到数据后将数据广播给节点n1,不再向节点n0转发数据。节点n4是簇1的路由节点,将接收到的数据广播给簇内的节点n3和簇2的路由节点n6。其他节点按照数据传输策略相应地转发数据,直到网络中地所有节点接收到数据为止。节点之间的数据传输过程如图4所示。
Claims (1)
1.一种区块链网络分簇及数据传输方法,其特征在于:
1)改进的加权标签传播算法
(1)标签初始化;
在标签初始化时,网络中每个节点的标签为节点的序号,每个节点为单独的一个簇;
(2)节点重要性计算;
在计算节点重要性时,综合考虑了节点以及邻居节点的度和相似性;节点的强度是指节点与其所有邻居节点的相似性之和;节点的某一邻居节点的贡献值为节点与某一邻居节点的相似性乘以这一邻居节点的度数除以这一邻居节点的强度;对节点的所有邻居节点的贡献值求和,将该和与节点的度相乘得到节点重要性的值;
(3)标签更新规则
针对标签待更新节点的标签更新规则为首先计算在该节点的所有邻居节点中,与该节点的某一邻居节点的所有邻居节点的共有邻居节点个数与这两个节点的所有邻居节点总数之和的比值;之后计算该节点与它的这一邻居节点之间的相似性与这两个节点强度的比值;其中,节点的强度是指节点与其所有邻居节点的相似性之和;将这两个比值相加得到这两个节点的相似程度值;该节点与它的一个相邻标签内所有邻居节点的相似程度值之和是该节点与这个标签的相似性值;然后对于该节点的每个相邻标签分别计算该节点与当前标签的相似性值与除了当前标签中的节点之外的其他邻居节点与该节点的相似性之和的比值,比值乘以当前标签中的所有邻居节点与该节点的相似性之和;从该节点的所有相邻标签中,选取乘积最大值的标签,将该节点的标签更新为这个标签;
2).生成树拓扑构建方法
设计了节点和簇的可信值公式用于计算节点和簇的可信值;截止到构建生成树时,节点的可信值公式是节点的历史交易成功次数和失败次数的差与节点的历史交易成功次数和失败次数的和的比值;当节点的历史交易成功次数大于失败次数时,可信值不为0;当节点的历史交易成功次数小于等于失败次数时,可信值为0;簇的可信值公式为簇内节点的可信值之和与簇内节点个数的比值;
生成树拓扑构建方法的详细步骤如下:
(1)选取生成树的根节点;从可信值不为0的节点中选取度数最大的节点;如果存在多个度数最大的节点,那么比较这些节点的相连边中的最大权值,从中选取最大权值边的权值最小的节点作为根节点;如果存在多个具有相同最大权值边的节点,那么选取可信值最大的节点作为根节点;将根节点的所有邻居节点加入生成树;同时根节点的邻居节点记录将数据传输到根节点的时间,也就是边的权值;
(2)选取其他节点加入生成树;如果新加入生成树的节点的可信值为0,那么不进行调整;如果新加入生成树的节点的可信值不为0,那么遍历该节点的所有邻居节点;并且根据新加入生成树的节点的邻居节点的以下三种情况调整生成树;
情况1:该节点的邻居节点不在生成树中;将邻居节点作为该节点的子节点加入生成树;同时邻居节点记录将数据传输到根节点的时间;
情况2:该节点的邻居节点在生成树中,并且邻居节点是该节点在生成树中的父节点,那么不调整生成树;
情况3:该节点的邻居节点在生成树中,并且邻居节点不是该节点在生成树中的父节点;计算当邻居节点作为该节点的子节点时,经过该节点传输数据到根节点的时间;如果这个时间小于邻居节点从现在生成树中的位置传输数据到根节点的时间,那么在生成树中修改邻居节点的父节点为该节点;同时邻居节点记录将数据传输到根节点的时间;
(3)重复上述步骤,直到所有节点都加入生成树中,从而完成生成树的构建;
当构建簇间生成树时,将簇抽象为节点,簇间的拓扑连接抽象为边;由于两个簇间可能存在多条边,选取权值最小边作为两个簇间的相连边;基于抽象出的簇间拓扑结构,利用生成树拓扑构建方法构建簇间生成树;
在建立簇间生成树之后,确定每个簇与哪一些簇进行数据传输,避免出现簇间数据的重复传输问题;然后从簇间的若干条边中选取路由边以及路由节点;路由节点主要负责与其他簇进行数据传输;路由边的选取方法为先计算簇间所有相连边两端的节点的度数之和,并且按照从大到小的顺序排序;如果存在多条簇间边的两端节点的度数之和相同,那么按照两端节点可信值之和从大到小排序;然后对簇间所有相连边进行检查,将存在可信值为0的节点所对应的边移到序列末尾;选择序列中的第一条边作为路由边,路由边的两端节点为路由节点;
当构建簇内生成树时,先对与簇外节点相连的簇内节点的度进行处理;除了路由节点之外,不考虑簇内其他节点与簇外的相连边作为这些节点的度;路由节点考虑当前路由边作为构成该节点的度;然后利用生成树拓扑构建方法构建簇内生成树;
3).数据传输策略
将区块链节点划分为数据发起节点、转发节点和路由节点三种类型;其中,数据发起节点是指区块链网络中的数据传输的源节点;转发节点是指将接收到的数据转发给其他节点的这类节点;路由节点是转发节点的特殊情况,路由节点不仅将接收到的数据转发给簇内节点,而且也将数据传输给其他簇的路由节点;
针对这三种节点的数据传输策略的具体描述如下;
(1)针对数据发起节点,该节点按照建立的生成树将数据广播给它的邻居节点;
(2)针对转发节点,该节点不再向已接收到数据的邻居节点传输数据,按照建立的生成树将数据广播给其他的邻居节点;
(3)针对路由节点,路由节点不再向已接收到数据的邻居节点传输数据,按照建立的生成树将数据广播给簇内节点和簇间的路由节点;
除路由节点外,簇内节点无法与其他簇传输数据,则限制簇内节点的广播只能在本簇内进行传播。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211480870.4A CN115883577B (zh) | 2022-11-24 | 2022-11-24 | 一种区块链网络分簇及数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211480870.4A CN115883577B (zh) | 2022-11-24 | 2022-11-24 | 一种区块链网络分簇及数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115883577A CN115883577A (zh) | 2023-03-31 |
CN115883577B true CN115883577B (zh) | 2024-04-19 |
Family
ID=85763758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211480870.4A Active CN115883577B (zh) | 2022-11-24 | 2022-11-24 | 一种区块链网络分簇及数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883577B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117675669B (zh) * | 2024-01-29 | 2024-05-14 | 南京信息工程大学 | 一种簇间区块传输方法、存储介质及计算设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090097608A (ko) * | 2008-03-12 | 2009-09-16 | 울산대학교 산학협력단 | 무선 이동 애드혹 네트워크를 위한 동적 그룹 소스 라우팅방법 |
WO2018098755A1 (zh) * | 2016-11-30 | 2018-06-07 | 深圳天珑无线科技有限公司 | 分布式网络的簇首选取方法、节点及系统 |
CN112600699A (zh) * | 2020-12-07 | 2021-04-02 | 华中科技大学 | 基于区块链跨链交互的动态覆盖网络拓扑构建方法及装置 |
CN115314391A (zh) * | 2022-08-06 | 2022-11-08 | 北京工业大学 | 一种区块链网络拓扑动态建立和数据传输优化方法 |
-
2022
- 2022-11-24 CN CN202211480870.4A patent/CN115883577B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090097608A (ko) * | 2008-03-12 | 2009-09-16 | 울산대학교 산학협력단 | 무선 이동 애드혹 네트워크를 위한 동적 그룹 소스 라우팅방법 |
WO2018098755A1 (zh) * | 2016-11-30 | 2018-06-07 | 深圳天珑无线科技有限公司 | 分布式网络的簇首选取方法、节点及系统 |
CN112600699A (zh) * | 2020-12-07 | 2021-04-02 | 华中科技大学 | 基于区块链跨链交互的动态覆盖网络拓扑构建方法及装置 |
CN115314391A (zh) * | 2022-08-06 | 2022-11-08 | 北京工业大学 | 一种区块链网络拓扑动态建立和数据传输优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115883577A (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shaker et al. | Self-stabilizing structured ring topology p2p systems | |
Asghari et al. | Resource discovery in the peer to peer networks using an inverted ant colony optimization algorithm | |
Adhikari et al. | The folded crossed cube: A new interconnection network for parallel systems | |
CN115883577B (zh) | 一种区块链网络分簇及数据传输方法 | |
Li et al. | Churn-resilient protocol for massive data dissemination in p2p networks | |
Guo et al. | Moore: An extendable peer-to-peer network based on incomplete Kautz digraph with constant degree | |
CN109921939A (zh) | 一种通信网络中关键节点的选取方法及系统 | |
CN115314391B (zh) | 一种区块链网络拓扑动态建立和数据传输优化方法 | |
CN117176736A (zh) | 基于近邻节点分簇的区块传输方法 | |
Fu et al. | Node‐disjoint paths and related problems on hierarchical cubic networks | |
Adhikari et al. | Star-crossed cube: an alternative to star graph | |
Gudla et al. | A reliable routing mechanism with energy-efficient node selection for data transmission using a genetic algorithm in wireless sensor network | |
CN117579635A (zh) | 一种区块链架构的动态状态分片方法 | |
Guo et al. | BAKE: A balanced Kautz tree structure for peer-to-peer networks | |
Szlachcic | Fault tolerant topological design for computer networks | |
Han et al. | A hybrid P2P overlay network for high efficient search | |
Wepiwe et al. | A concentric multi-ring overlay for highly reliable p2p networks | |
CN116319517A (zh) | 一种最短路径确定方法及装置 | |
CN101741749A (zh) | 基于免疫克隆的多目标组播路由优化方法 | |
Banno et al. | An efficient routing method for range queries in skip graph | |
Saha et al. | Design of hierarchical communication networks under node/link failure constraints | |
CN113285985A (zh) | 一种多数据中心背景下基于遗传算法的rs码节点修复方法 | |
CN113708963B (zh) | 一种满足联盟链分区容忍性的优化拓扑递归方法及系统 | |
Sharifkhani et al. | A review of new advances in resource discovery approaches in unstructured P2P networks | |
CN111131028A (zh) | 基于度约束最小生成树的域间路由恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |