Trinity的路由算法概述

2018-12-14 23:31 栏目:经验之谈 来源: 查看()
在网络上传输数据时需要解决几个问题:

·如何快速找到目标节点的路径
·如何确保节点之间的网络拓扑一致?
·如何快速更改节点的状态?

交织路由算法是Trinity针对上述问题提出的寻路算法。该算法的优点是无论网络环境如何变化,连接到信道网络的节点都可以获得整个网络的网络拓扑,从而使信道网络到达对等分散网络。这是避免由于不同网络的拓扑引起的路径偏差的偏好的好方法,这使得A-> n和n-> A之间的路径不同,大大降低了用户体验。

可靠性证明

交错寻路算法的可靠性证明:
在两个节点的情况下,很容易证明两个节点之间的网络拓扑是相同的。

在三个节点(a,b,c)的情况下,来自a侧的路径是a-b,a-c。类似地,b也具有b-a,b-c。 c-a,c-b。由于a-b和b-a实际上是相同的路径,即a-> b总是等于b-> a。因此,三个节点a,b和c的网络拓扑是相同的。

Trinity的路由算法概述

继续在a,b,c环上添加节点a,b,c节点已经是相同的网络拓扑。

Trinity的路由算法概述

接下来,您只需要将a-> d的路径添加到环中,然后将a,b,c的拓扑同步到d。这确保了a,b,c和d之间的一致网络拓扑。
当节点增加到n时,

Trinity的路由算法概述

当节点增加到n(a,b,c ... n)时,每个节点至少有n-1个路径,我们表示Ω(n-1),即隔行网络Abc的任意两个节点辐射的路径...-然后必须有一条反向路径到达一个节点(n-> n-1-> ......-> a),因为反向路径可以等同于原始路径也就是说,任何两个都可以证明节点之间的网络拓扑图是相同的。

现在已经证明任何两个节点之间的交织网络完全相同,这解决了在任意两个节点之间来回传递数据的可靠路径的选择。 Trinity交织网络增加了路径查找可靠性,及时性和最优成本的综合考虑因素,并且可以快速找到往返交易的最佳路径。

交错寻路算法

搜索(N,p,s)
初始化 - 单一来源(N,s)
S=Ф
Q=N,V
而Q≠Φ
u=extract-min(Q)
S=S∪{u}
对于每个顶点v∈G.Adj[u]
放松(你,v,p)

每个隔行扫描网络的节点表示为V,路径表示为P

在算法结束时,对于所有节点v∈V,该算法可以加权,我们有v.d=δ(s,v)

然后,找到节点所需的时间是:Θ(V),使用聚合分析,对于每个节点v∈V,每次搜索恰好为1的次数。会有多条路径。从a-> gt点,搜索路径是Σ(v + 2v + ... +(n-1)v)=O(n2)。路径寻找计算公式为:=Θ(P)。所有总搜索时间是Θ(V2 + P)。

为了更好地解决寻路算法,Trinity使用路径标记算法,使路径可以在恒定时间内运行,也就是说,算法进一步优化为Θ(V2)
如果进一步使用稀疏矩阵加权,则每次搜索的摊销时间为O(lgV)。然后将时间优化为O((V + P)lgV)。

节点同步算法

Delta_add(你,s)
Initialize-change_node(N,v)
v∈V
p∈N
Add_delta(v,p,s)
搜索(N,p,s)
发送(p)

由于增量加权计算模型,Trinity隔行扫描网络可以非常快速地添加和删除节点。可以在隔行网络中快速实现节点更改。并证明该模型也非常简单可靠。

该模型的主要思想是每个同步不需要携带整个拓扑信息,因为之前已经证明任何节点之间的拓扑是相同的。然后只发送增量和减量。对等节点可以非常快速地更新其自己节点的信息。

Dealdeltanode(S,Delta)
Search_node(S)
如果Detla∈S
为此Delta节点添加或删除。
在Node列表中删除self。

此外,增量加权模型可以很容易地解决交织网络中数据消息的丢失和循环。它还可以大大减少消息的长度,避免网络拥塞和拥塞。由于节点可以视为常量,当携带增量信息时,发起节点将携带网络上其他节点的链。当其他节点完成处理时,它们将从节点链中删除它们自己。当消息循环回来时,它将不再被处理。随着节点处理的深入,信息量也会减少。


微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发