技术摘要:
本发明属于区块链技术领域,具体涉及区块链网络中的节点路径选择方法、系统及装置,所述方法执行以下步骤:步骤1:确定区块链网络中的信息传输的起始节点和信息传输的终节点;步骤2:在区块链网络中随机选取N个节点,选取的节点至少包含起始节点、终节点以及其他若干个 全部
背景技术:
在计算机网络中,路径计算节点(英语:Path Computation Element,PCE)是能够 在来源和目的之间,发现并选择可用路径的组件、应用或网络节点。 路由的选择会受到一些因素的影响,如服务质量(QoS)、策略或价格。在MPLS和 GMPLS网络中,考虑这些限制因素的条件下计算路径是流量工程的重要内容。这是用来确定 流量应遵循的路径,并为每个标签交换路径(LSP)提供路由。 路径计算的以前是在一个网管系统或者每个标签交换路径的首尾。但是,在大型 及多域网络中进行路径计算可能非常复杂的,以至于超出了典型的网络节点的所拥有的计 算能力和网络信息。 PCE是一种能够为单个或者一些服务计算路径的设备。PCE可能是网络节点、网管 节点,或者的有能力了解网络全局拓扑的平台。PCE的应用可以为MPLS和GMPLS网络的流量 工程计算标签。IETF's PCE工作组正在为PCE的各部分结构进行标准化。 PCE表示愿景的网络分开路线计算从该信的端对端连接和实际的分组交换的。有 一个基本教程上的PCE作为提交ISOCORE的MPLS2008会议和教程,在先进的PCE作为提交 ISOCORE SDN/协2014年会议。 PCE的架构已发生了很大的变化,以此涵盖更复杂的网络场景。比如分层PCE(H- PCE)和有状态主动模式的PCE的出现[1]。 部署PCE的一个动力在于PCE把路径计算和需要路径记录的客户端(PCC)分离。PCE 和PCC之间使用路径计算节点通信协议(PCEP)进行通信。PCEP运行与传输控制协议(TCP)之 上。 该项目的步伐已经开发出一个引那些有兴趣在PCE的。从PACE的网站可以免费下 载。 Dijkstra算法是一个优秀的最短路径求解算法,同时也产生一棵最短路径树SPT (shortest path tree);该算法在网络计算与优化中得到了广泛的应用。 Dijkstra最短路径算法是图灵奖获得者Dijkstra提出的一个优秀的求解最短路 径的算法。该算法广泛应用于求解两点间的最短路径,比如Internet网络通信路由协议等; 同时,在路径规划、运输优化等运筹学众多领域也具有广泛的应用。由于该算法在计算最短 路径的同时也求解一棵最短路径树,因此,它也是计算最短路径树的一个重要算法。典型应 用如组播路由协议中组播树的计算;在网络管理中,各代理(agent)相对于控制中心 (manger)的优化分布;图论中特定节点集的覆盖问题;无线传感器网络中,会聚节点(sink node)对传感器节点数据的收集、融合;在路由器EIGRP协议中还用生成树来进行拓扑更新 数据包的传送,很多情况下都是构建以特点参数为度量的最短路径树。 4 CN 111614567 A 说 明 书 2/8 页
技术实现要素:
本发明的主要目的在于提供区块链网络中的节点路径选择方法、系统及装置,提 升了区块链网络的数据传输效率、提升了系统的鲁棒性;同时本发明在完全符合区块链网 络通信特征的前提下,没有涉及有线链路、移动节点的条件,因此使得本发明可在不提高网 络构建、维护、通信成本的前提下提高网络的性能。 为达到上述目的,本发明的技术方案是这样实现的: 区块链网络中的节点路径选择方法,所述方法执行以下步骤:步骤1:确定区块链 网络中的信息传输的起始节点和信息传输的终节点;步骤2:在区块链网络中随机选取N个 节点,选取的节点至少包含起始节点、终节点以及其他若干个中间节点;步骤3:在选取的N 个节点中进行节点信息传输的路径规划,同时,判断路径规划制定的信息传输路径中,是否 出现了节点死亡;步骤4:判断节点死亡的比例是否超过设定的阈值,若超过设定的阈值,则 抛弃该制定的信息传输路径,并重新跳转至步骤2;若判断节点死亡的比例没有超过设定的 阈值,则将该制定的信息传输路径作为最终的信息传输路径;所述步骤3:在选取的N个节点 中进行节点信息传输的路径规划,同时,判断路径规划制定的信息传输路径中,是否出现了 节点死亡的方法包括:步骤3.1:在选取的N个节点中,确定一个中心节点,其坐标为(0,0); 步骤3.2:定义节点传输最小树,节点传输最小树包括:节点传输最小树根节点和节点传输 最小树中子节点;所述节点传输最小树中子节点可以连接的其他节点;步骤3.3:对区块链 网络中的恶意攻击节点进行检测;步骤3.4:结合步骤3.2和步骤3.3,并考虑资源Sij、传输距 离Pij、信道安全Bij和k值更新路径规划的算法公式,其中,k值为邻居节点数量:i和j表示节 点;步骤3.5:按照步骤3.3和3.4建立好路径之后进行数据传输,节点传输最小树中子节点 将其收集到的数据传送给父节点,父节点对其收集到的数据以及子节点发送到的数据进行 聚合操作,然后将聚合得到的数据传送给自己父节点直至中心节点;步骤3.6:运行设定的 时间周期后,按照步骤3.3至步骤3.5进行树的自适应维护更新,继续进行数据的传送;步骤 3.7:重复步骤3.3至步骤3.5,实时判断路径规划制定的信息传输路径中是否出现了节点死 亡。 进一步的,所述节点传输最小树满足以下性质:任意两条相邻边形成的夹角至少 为90°;每个顶点的度数小于等于4;节点传输最小树根节点的度数为3,而且两条相邻边之 间的夹角恰为90°。 进一步的,所述步骤3.2:定义节点传输最小树的方法使用减小k值方法,减小算法 计算量;步骤3.3:对区块链网络中的恶意攻击节点进行检测的方法执行以下步骤:计算节 点的攻击选择值和本身的攻击预测值;计算节点的攻击选择值和本身的攻击预测值之间的 差值;若差值超过设定的阈值,则判断该节点为恶意攻击节点;若差值没有超过设定的阈 值,则判断该节点非恶意攻击节点。 进一步的,所述步骤3.4:结合步骤3.2和步骤3.3,并考虑资源Sij、传输距离Pij、信 道安全Bij和k值更新路径规划的算法公式,其中,k值为邻居节点数量:i和j表示节点的方法 执行以下步骤:将原始的路径规划公式: 中 的ηij使用新的算子进行更新,更新后的公式为: 5 CN 111614567 A 说 明 书 3/8 页 其中:t表示为时刻,τij表示信 息素浓度,ηij表示i节点和节点j之间的隔离算子,α与β分别表示信息素浓度与隔离算子的 权重,即在路径选择过程中所起的因素,Radius和BA表示将Sij、Pij和Bij量化到同一量纲上 的参数。 进一步的,步骤3.5将收集到的数据与自己感知的数据进行数据聚合,是父节点将 自己感知的数据和子节点发送来的数据合并成一个数据包。 一种区块链网络中的节点路径选择系统,所述系统包括:节点确认单元,用于确定 区块链网络中的信息传输的起始节点和信息传输的终节点;节点选取单元,用于在区块链 网络中随机选取N个节点,选取的节点至少包含起始节点、终节点以及其他若干个中间节 点;路径规划单元,用于在选取的N个节点中进行节点信息传输的路径规划,同时,判断路径 规划制定的信息传输路径中,是否出现了节点死亡;节点死亡判断单元,用于判断节点死亡 的比例是否超过设定的阈值,若超过设定的阈值,则抛弃该制定的信息传输路径,并发送信 息至节点选取单元,告知结果;若判断节点死亡的比例没有超过设定的阈值,则将该制定的 信息传输路径作为最终的信息传输路径。 进一步的,所述路径规划单元,在选取的N个节点中进行节点信息传输的路径规 划,同时,判断路径规划制定的信息传输路径中,是否出现了节点死亡的方法执行以下步 骤:步骤3.1:在选取的N个节点中,确定一个中心节点,其坐标为(0,0);步骤3.2:定义节点 传输最小树,节点传输最小树包括:节点传输最小树根节点和节点传输最小树中子节点;所 述节点传输最小树中子节点可以连接的其他节点;步骤3.3:对区块链网络中的恶意攻击节 点进行检测;步骤3.4:结合步骤3.2和步骤3.3,并考虑资源Sij、传输距离Pij、信道安全Bij和 k值更新路径规划的算法公式,其中,k值为邻居节点数量:i和j表示节点;步骤3.5:按照步 骤3.3和3.4建立好路径之后进行数据传输,节点传输最小树中子节点将其收集到的数据传 送给父节点,父节点对其收集到的数据以及子节点发送到的数据进行聚合操作,然后将聚 合得到的数据传送给自己父节点直至中心节点;步骤3.6:运行设定的时间周期后,按照步 骤3.3至步骤3.5进行树的自适应维护更新,继续进行数据的传送;步骤3.7:重复步骤3.3至 步骤3.5,实时判断路径规划制定的信息传输路径中是否出现了节点死亡。 进一步的,所述节点传输最小树满足以下性质:任意两条相邻边形成的夹角至少 为90°;每个顶点的度数小于等于4;节点传输最小树根节点的度数为3,而且两条相邻边之 间的夹角恰为90°。 进一步的,所述步骤3.2:定义节点传输最小树的方法使用减小k值方法,减小算法 计算量;步骤3.3:对区块链网络中的恶意攻击节点进行检测的方法执行以下步骤:计算节 点的攻击选择值和本身的攻击预测值;计算节点的攻击选择值和本身的攻击预测值之间的 差值;若差值超过设定的阈值,则判断该节点为恶意攻击节点;若差值没有超过设定的阈 值,则判断该节点非恶意攻击节点。 一种区块链网络中的节点路径选择装置,所述装置为非暂时性的计算机可读存储 介质,该存储介质存储了计算指令,其包括:确定区块链网络中的信息传输的起始节点和信 6 CN 111614567 A 说 明 书 4/8 页 息传输的终节点的代码段;在区块链网络中随机选取N个节点,选取的节点至少包含起始节 点、终节点以及其他若干个中间节点的代码段;在选取的N个节点中进行节点信息传输的路 径规划,同时,判断路径规划制定的信息传输路径中,是否出现了节点死亡的代码段;判断 节点死亡的比例是否超过设定的阈值,若超过设定的阈值,则抛弃该制定的信息传输路径; 若判断节点死亡的比例没有超过设定的阈值,则将该制定的信息传输路径作为最终的信息 传输路径的代码段。 本发明的区块链网络中的节点路径选择方法、系统及装置,具有如下有益效果:本 发明的区块链节点路径选择算法考虑了距离因素、剩余资源因素以及网络安全等因素,因 此在均衡网络能耗的同时拥有更强的鲁棒性,更重要的是具有很好的可扩展性。同时,本发 明动态的维护了树的结构,并且对最优维护轮数进行了实验,能更好的均衡资源的消耗。并 且在维护树的过程中以每个节点的负载作为更新的依据,这样就可以更好的提尚网络的性 能。本发明在完全符合区块链网络通信特征的前提下,没有涉及有线链路、移动节点的条 件,因此使得本发明可在不提高网络构建、维护、通信成本的前提下提高网络的性能。 附图说明 图1为本发明的实施例提供的区块链网络中的节点路径选择方法的方法流程示意 图; 图2为本发明的实施例提供的区块链网络中的节点路径选择系统的系统结构示意 图; 图3为本发明的实施例提供的区块链网络中的节点路径选择方法、系统及装置的 剩余资源量的实验效果示意图与现有技术的对比实验效果示意图; 图4为本发明的实施例提供的区块链网络中的节点路径选择方法、系统及装置的 数据传输对应的节点死亡曲线示意图和现有技术的对比实验效果示意图。 1-区块链节点,2-中心节点,3-贝叶斯算子节点路径选择实验曲线示意图,4-拉斯 算子节点路径选择实验曲线示意图,5-本发明实验曲线示意图,6-贝叶斯-拉斯算子节点路 径选择实验曲线示意图,7-现有技术的实验曲线。
本发明属于区块链技术领域,具体涉及区块链网络中的节点路径选择方法、系统及装置,所述方法执行以下步骤:步骤1:确定区块链网络中的信息传输的起始节点和信息传输的终节点;步骤2:在区块链网络中随机选取N个节点,选取的节点至少包含起始节点、终节点以及其他若干个 全部
背景技术:
在计算机网络中,路径计算节点(英语:Path Computation Element,PCE)是能够 在来源和目的之间,发现并选择可用路径的组件、应用或网络节点。 路由的选择会受到一些因素的影响,如服务质量(QoS)、策略或价格。在MPLS和 GMPLS网络中,考虑这些限制因素的条件下计算路径是流量工程的重要内容。这是用来确定 流量应遵循的路径,并为每个标签交换路径(LSP)提供路由。 路径计算的以前是在一个网管系统或者每个标签交换路径的首尾。但是,在大型 及多域网络中进行路径计算可能非常复杂的,以至于超出了典型的网络节点的所拥有的计 算能力和网络信息。 PCE是一种能够为单个或者一些服务计算路径的设备。PCE可能是网络节点、网管 节点,或者的有能力了解网络全局拓扑的平台。PCE的应用可以为MPLS和GMPLS网络的流量 工程计算标签。IETF's PCE工作组正在为PCE的各部分结构进行标准化。 PCE表示愿景的网络分开路线计算从该信的端对端连接和实际的分组交换的。有 一个基本教程上的PCE作为提交ISOCORE的MPLS2008会议和教程,在先进的PCE作为提交 ISOCORE SDN/协2014年会议。 PCE的架构已发生了很大的变化,以此涵盖更复杂的网络场景。比如分层PCE(H- PCE)和有状态主动模式的PCE的出现[1]。 部署PCE的一个动力在于PCE把路径计算和需要路径记录的客户端(PCC)分离。PCE 和PCC之间使用路径计算节点通信协议(PCEP)进行通信。PCEP运行与传输控制协议(TCP)之 上。 该项目的步伐已经开发出一个引那些有兴趣在PCE的。从PACE的网站可以免费下 载。 Dijkstra算法是一个优秀的最短路径求解算法,同时也产生一棵最短路径树SPT (shortest path tree);该算法在网络计算与优化中得到了广泛的应用。 Dijkstra最短路径算法是图灵奖获得者Dijkstra提出的一个优秀的求解最短路 径的算法。该算法广泛应用于求解两点间的最短路径,比如Internet网络通信路由协议等; 同时,在路径规划、运输优化等运筹学众多领域也具有广泛的应用。由于该算法在计算最短 路径的同时也求解一棵最短路径树,因此,它也是计算最短路径树的一个重要算法。典型应 用如组播路由协议中组播树的计算;在网络管理中,各代理(agent)相对于控制中心 (manger)的优化分布;图论中特定节点集的覆盖问题;无线传感器网络中,会聚节点(sink node)对传感器节点数据的收集、融合;在路由器EIGRP协议中还用生成树来进行拓扑更新 数据包的传送,很多情况下都是构建以特点参数为度量的最短路径树。 4 CN 111614567 A 说 明 书 2/8 页
技术实现要素:
本发明的主要目的在于提供区块链网络中的节点路径选择方法、系统及装置,提 升了区块链网络的数据传输效率、提升了系统的鲁棒性;同时本发明在完全符合区块链网 络通信特征的前提下,没有涉及有线链路、移动节点的条件,因此使得本发明可在不提高网 络构建、维护、通信成本的前提下提高网络的性能。 为达到上述目的,本发明的技术方案是这样实现的: 区块链网络中的节点路径选择方法,所述方法执行以下步骤:步骤1:确定区块链 网络中的信息传输的起始节点和信息传输的终节点;步骤2:在区块链网络中随机选取N个 节点,选取的节点至少包含起始节点、终节点以及其他若干个中间节点;步骤3:在选取的N 个节点中进行节点信息传输的路径规划,同时,判断路径规划制定的信息传输路径中,是否 出现了节点死亡;步骤4:判断节点死亡的比例是否超过设定的阈值,若超过设定的阈值,则 抛弃该制定的信息传输路径,并重新跳转至步骤2;若判断节点死亡的比例没有超过设定的 阈值,则将该制定的信息传输路径作为最终的信息传输路径;所述步骤3:在选取的N个节点 中进行节点信息传输的路径规划,同时,判断路径规划制定的信息传输路径中,是否出现了 节点死亡的方法包括:步骤3.1:在选取的N个节点中,确定一个中心节点,其坐标为(0,0); 步骤3.2:定义节点传输最小树,节点传输最小树包括:节点传输最小树根节点和节点传输 最小树中子节点;所述节点传输最小树中子节点可以连接的其他节点;步骤3.3:对区块链 网络中的恶意攻击节点进行检测;步骤3.4:结合步骤3.2和步骤3.3,并考虑资源Sij、传输距 离Pij、信道安全Bij和k值更新路径规划的算法公式,其中,k值为邻居节点数量:i和j表示节 点;步骤3.5:按照步骤3.3和3.4建立好路径之后进行数据传输,节点传输最小树中子节点 将其收集到的数据传送给父节点,父节点对其收集到的数据以及子节点发送到的数据进行 聚合操作,然后将聚合得到的数据传送给自己父节点直至中心节点;步骤3.6:运行设定的 时间周期后,按照步骤3.3至步骤3.5进行树的自适应维护更新,继续进行数据的传送;步骤 3.7:重复步骤3.3至步骤3.5,实时判断路径规划制定的信息传输路径中是否出现了节点死 亡。 进一步的,所述节点传输最小树满足以下性质:任意两条相邻边形成的夹角至少 为90°;每个顶点的度数小于等于4;节点传输最小树根节点的度数为3,而且两条相邻边之 间的夹角恰为90°。 进一步的,所述步骤3.2:定义节点传输最小树的方法使用减小k值方法,减小算法 计算量;步骤3.3:对区块链网络中的恶意攻击节点进行检测的方法执行以下步骤:计算节 点的攻击选择值和本身的攻击预测值;计算节点的攻击选择值和本身的攻击预测值之间的 差值;若差值超过设定的阈值,则判断该节点为恶意攻击节点;若差值没有超过设定的阈 值,则判断该节点非恶意攻击节点。 进一步的,所述步骤3.4:结合步骤3.2和步骤3.3,并考虑资源Sij、传输距离Pij、信 道安全Bij和k值更新路径规划的算法公式,其中,k值为邻居节点数量:i和j表示节点的方法 执行以下步骤:将原始的路径规划公式: 中 的ηij使用新的算子进行更新,更新后的公式为: 5 CN 111614567 A 说 明 书 3/8 页 其中:t表示为时刻,τij表示信 息素浓度,ηij表示i节点和节点j之间的隔离算子,α与β分别表示信息素浓度与隔离算子的 权重,即在路径选择过程中所起的因素,Radius和BA表示将Sij、Pij和Bij量化到同一量纲上 的参数。 进一步的,步骤3.5将收集到的数据与自己感知的数据进行数据聚合,是父节点将 自己感知的数据和子节点发送来的数据合并成一个数据包。 一种区块链网络中的节点路径选择系统,所述系统包括:节点确认单元,用于确定 区块链网络中的信息传输的起始节点和信息传输的终节点;节点选取单元,用于在区块链 网络中随机选取N个节点,选取的节点至少包含起始节点、终节点以及其他若干个中间节 点;路径规划单元,用于在选取的N个节点中进行节点信息传输的路径规划,同时,判断路径 规划制定的信息传输路径中,是否出现了节点死亡;节点死亡判断单元,用于判断节点死亡 的比例是否超过设定的阈值,若超过设定的阈值,则抛弃该制定的信息传输路径,并发送信 息至节点选取单元,告知结果;若判断节点死亡的比例没有超过设定的阈值,则将该制定的 信息传输路径作为最终的信息传输路径。 进一步的,所述路径规划单元,在选取的N个节点中进行节点信息传输的路径规 划,同时,判断路径规划制定的信息传输路径中,是否出现了节点死亡的方法执行以下步 骤:步骤3.1:在选取的N个节点中,确定一个中心节点,其坐标为(0,0);步骤3.2:定义节点 传输最小树,节点传输最小树包括:节点传输最小树根节点和节点传输最小树中子节点;所 述节点传输最小树中子节点可以连接的其他节点;步骤3.3:对区块链网络中的恶意攻击节 点进行检测;步骤3.4:结合步骤3.2和步骤3.3,并考虑资源Sij、传输距离Pij、信道安全Bij和 k值更新路径规划的算法公式,其中,k值为邻居节点数量:i和j表示节点;步骤3.5:按照步 骤3.3和3.4建立好路径之后进行数据传输,节点传输最小树中子节点将其收集到的数据传 送给父节点,父节点对其收集到的数据以及子节点发送到的数据进行聚合操作,然后将聚 合得到的数据传送给自己父节点直至中心节点;步骤3.6:运行设定的时间周期后,按照步 骤3.3至步骤3.5进行树的自适应维护更新,继续进行数据的传送;步骤3.7:重复步骤3.3至 步骤3.5,实时判断路径规划制定的信息传输路径中是否出现了节点死亡。 进一步的,所述节点传输最小树满足以下性质:任意两条相邻边形成的夹角至少 为90°;每个顶点的度数小于等于4;节点传输最小树根节点的度数为3,而且两条相邻边之 间的夹角恰为90°。 进一步的,所述步骤3.2:定义节点传输最小树的方法使用减小k值方法,减小算法 计算量;步骤3.3:对区块链网络中的恶意攻击节点进行检测的方法执行以下步骤:计算节 点的攻击选择值和本身的攻击预测值;计算节点的攻击选择值和本身的攻击预测值之间的 差值;若差值超过设定的阈值,则判断该节点为恶意攻击节点;若差值没有超过设定的阈 值,则判断该节点非恶意攻击节点。 一种区块链网络中的节点路径选择装置,所述装置为非暂时性的计算机可读存储 介质,该存储介质存储了计算指令,其包括:确定区块链网络中的信息传输的起始节点和信 6 CN 111614567 A 说 明 书 4/8 页 息传输的终节点的代码段;在区块链网络中随机选取N个节点,选取的节点至少包含起始节 点、终节点以及其他若干个中间节点的代码段;在选取的N个节点中进行节点信息传输的路 径规划,同时,判断路径规划制定的信息传输路径中,是否出现了节点死亡的代码段;判断 节点死亡的比例是否超过设定的阈值,若超过设定的阈值,则抛弃该制定的信息传输路径; 若判断节点死亡的比例没有超过设定的阈值,则将该制定的信息传输路径作为最终的信息 传输路径的代码段。 本发明的区块链网络中的节点路径选择方法、系统及装置,具有如下有益效果:本 发明的区块链节点路径选择算法考虑了距离因素、剩余资源因素以及网络安全等因素,因 此在均衡网络能耗的同时拥有更强的鲁棒性,更重要的是具有很好的可扩展性。同时,本发 明动态的维护了树的结构,并且对最优维护轮数进行了实验,能更好的均衡资源的消耗。并 且在维护树的过程中以每个节点的负载作为更新的依据,这样就可以更好的提尚网络的性 能。本发明在完全符合区块链网络通信特征的前提下,没有涉及有线链路、移动节点的条 件,因此使得本发明可在不提高网络构建、维护、通信成本的前提下提高网络的性能。 附图说明 图1为本发明的实施例提供的区块链网络中的节点路径选择方法的方法流程示意 图; 图2为本发明的实施例提供的区块链网络中的节点路径选择系统的系统结构示意 图; 图3为本发明的实施例提供的区块链网络中的节点路径选择方法、系统及装置的 剩余资源量的实验效果示意图与现有技术的对比实验效果示意图; 图4为本发明的实施例提供的区块链网络中的节点路径选择方法、系统及装置的 数据传输对应的节点死亡曲线示意图和现有技术的对比实验效果示意图。 1-区块链节点,2-中心节点,3-贝叶斯算子节点路径选择实验曲线示意图,4-拉斯 算子节点路径选择实验曲线示意图,5-本发明实验曲线示意图,6-贝叶斯-拉斯算子节点路 径选择实验曲线示意图,7-现有技术的实验曲线。