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

有向无环图生成方法、网络编码方法及网络传输方法与流程

2022-03-02 00:43:06 来源:中国专利 TAG:


1.本发明属于网络通信领域,具体涉及一种有向无环图生成方法、网络编码方法及网络传输方法。


背景技术:

[0002][0003]
网络编码理论提出以编码器取代路由器,发送有关信息的证据(evidenceabout the messages),而非整个信息的本身。接收器(receiver)收到证据便进行重组还原信息。换句话说,属于同一信息的位元无须再像现时般处于同一数据包。网络编码理论会自动把不同的信息进行编码,并在到达目的地时再重新组合,这样便大大提高了网络的容量和效率。
[0004]
网络编码概念的提出为提高通信网络吞吐量指出了一个新的研究方向。同时,网络编码概念使得原先分别用于物理层的“编码”与网络层的“路由”得到了有机的统一。通过允许网络中间结点对不同数据流数据进行编码,网络编码可以实现网络最大流传输理论的上界,改变了传统网络中结点仅充当数据存储转发的角色,这从本质上打破了网络中传统的数据处理方式,推翻了网络中独立比特不能再被压缩的经典结论。
[0005]
网络编码所采用的多径传输方式给网络安全研究带来了新的启发,通过将数据分散到多条路径传播,可以有效地防止网络窃听攻击,一些基于网络编码的安全传输方案也应运而生。
[0006]
上述的基于网络编码的安全传输方案,其在应用时都需要事先构建一个有向无环网络,从而运行网络编码策略。但是,目前尚没有一种分布式地构建有向无环网络的有效方法;毫无疑问,这明显阻碍了网络编码在安全传输方向的应用。


技术实现要素:

[0007]
本发明的目的之一在于提供一种能够实现分布式构建,而且可靠性高,实用性好的有向无环图生成方法。
[0008]
本发明的目的之二在于提供一种包括了所述有向无环图生成方法的网络编码方法。
[0009]
本发明的目的之三在于提供一种包括了所述有向无环图生成方法和网络编码方法的网络传输方法。
[0010]
本发明提供的这种有向无环图生成方法,包括如下步骤:
[0011]
s1.获取目标网络的数据信息;
[0012]
s2.各个网络节点将自身的邻居关系告知网络中的其他节点;
[0013]
s3.根据所有节点的邻居关系,构造初始图;
[0014]
s4.删除步骤s3构建的初始图中只能单向传输的边,得到第一初始图;
[0015]
s5.对步骤s4得到的第一初始图中的每个节点进行检查,删除不合格节点后得到
第二初始图;
[0016]
s6.根据步骤s5得到的第二初始图所对应的邻接矩阵,进行节点拓扑顺序的列举;
[0017]
s7.根据步骤s6列举得到的节点拓扑顺序,确认各个节点的上下游关系;
[0018]
s8.确认完成后,输出最终构建的目标网络的有向无环图。
[0019]
步骤s5所述的对步骤s4得到的第一初始图中的每个节点进行检查,删除不合格节点后得到第二初始图,具体包括如下步骤:
[0020]
对步骤s4得到的第一初始图中的每个节点进行检查,对于中间节点v,若无法同时找到一条到达信源节点的路径和一条到达信宿节点的路径,且到达信源节点的路径和到达信宿节点的路径不相交,则删去中间节点v及中间节点v 所有的边,从而得到第二初始图。
[0021]
步骤s6所述的根据步骤s5得到的第二初始图所对应的邻接矩阵,进行节点拓扑顺序的列举,具体包括如下步骤:
[0022]
(1)对邻接矩阵所对应的图,从信源节点s开始,以广度优先原则进行遍历;遍历时,优先遍历编号较小的节点,并将所有的遍历结果用队列list保存;
[0023]
(2)对步骤(1)中所保存的遍历结果进行检测:
[0024]
在队列list中所保存的遍历结果,若遍历结果的最后一个节点不是信宿节点,则删去该遍历结果;从而完成遍历结果的检测;
[0025]
(3)检测完毕后,将队列list所保存的遍历结果作为节点拓扑顺序的列举结果。
[0026]
步骤s7所述的根据步骤s6列举得到的节点拓扑顺序,确认各个节点的上下游关系,具体包括如下步骤:
[0027]
a.设置循环次数i为1;
[0028]
b.在步骤s6得到的拓扑顺序中,选择第i个拓扑顺序;
[0029]
c.在步骤b选定的拓扑顺序,排列网络的所有节点,并得到对应的邻接矩阵a';
[0030]
d.将步骤c得到的邻接矩阵a'的下三角部分置零,从而得到辅助矩阵a”;
[0031]
e.针对步骤d得到的辅助矩阵a”进行检测:
[0032]
辅助矩阵a”所对应的有向图,若图中所有的中间节点都存在至少一条输出链路和至少一条输入链路,则根据选定的第i个拓扑顺序,确定各个中间节点的上下游关系;定义与上游节点连接的链路为输入链路,与下游节点连接的链路为输出链路;
[0033]
否则,令循环次数i的取值增加1,并返回步骤b重新进行循环,直至确认了各个节点的上下游关系。
[0034]
本发明还公开了一种包括了上述有向无环图生成方法的网络编码方法,还包括如下步骤:
[0035]
s9.采用步骤s8得到的目标网络的有向无环图,进行网络编码。
[0036]
本发明还公开了一种包括了上述有向无环图生成方法和网络编码方法的网络传输方法,还包括如下步骤:
[0037]
s10.根据步骤s9的网络编码结果,进行网络传输。
[0038]
本发明提供的这种有向无环图生成方法、网络编码方法及网络传输方法,通过分布式生成的方式,在节点个数有限的网络中,通过可控洪泛,让所有节点得到相同的全局网络拓扑,再让每个节点按照相同的运算规则,选取出相同的有向无环图,并根据自身所在位置,确定自己的上下游节点,最终生成了有向无环图;因此本发明方法能够实现有向无环图
的分布式构建,而且可靠性高,实用性好。
附图说明
[0039]
图1为本发明的有向无环图生成方法的方法流程示意图。
[0040]
图2为本发明的有向无环图生成方法的实施例的初始网络拓扑示意图。
[0041]
图3为本发明的有向无环图生成方法的实施例的辅助矩阵所对应的有向图拓扑示意图。
[0042]
图4为本发明的有向无环图生成方法的实施例的辅助矩阵所对应的有向图拓扑示意图。
[0043]
图5为本发明的网络编码方法的方法流程示意图。
[0044]
图6为本发明的网络传输方法的方法流程示意图。
具体实施方式
[0045]
如图1所示为本发明的有向无环图生成方法的方法流程示意图:本发明提供的这种有向无环图生成方法,包括如下步骤:
[0046]
s1.获取目标网络的数据信息;
[0047]
s2.各个网络节点将自身的邻居关系告知网络中的其他节点;
[0048]
s3.根据所有节点的邻居关系,构造初始图;
[0049]
s4.删除步骤s3构建的初始图中只能单向传输的边,得到第一初始图;
[0050]
s5.对步骤s4得到的第一初始图中的每个节点进行检查,删除不合格节点后得到第二初始图;具体包括如下步骤:
[0051]
对步骤s4得到的第一初始图中的每个节点进行检查,对于中间节点v,若无法同时找到一条到达信源节点的路径和一条到达信宿节点的路径,且到达信源节点的路径和到达信宿节点的路径不相交,则删去中间节点v及中间节点v 所有的边,从而得到第二初始图;
[0052]
s6.根据步骤s5得到的第二初始图所对应的邻接矩阵,进行节点拓扑顺序的列举;具体包括如下步骤:
[0053]
(1)对邻接矩阵所对应的图,从信源节点s开始,以广度优先原则进行遍历;遍历时,优先遍历编号较小的节点,并将所有的遍历结果用队列list保存;
[0054]
(2)对步骤(1)中所保存的遍历结果进行检测:
[0055]
在队列list中所保存的遍历结果,若遍历结果的最后一个节点不是信宿节点,则删去该遍历结果;从而完成遍历结果的检测;
[0056]
(3)检测完毕后,将队列list所保存的遍历结果作为节点拓扑顺序的列举结果;
[0057]
具体实施时,上述方法的一种伪代码如下:
[0058]
输入:邻接矩阵a,节点个数n,信源节点s的标号vs,信宿节点d的标号 vd,所有中间节点的标号按照从小到大顺序组成的列表v;
[0059]
定义子函数function(list)://输入是一个列表
[0060]
[0061][0062]
主函数:
[0063]
初始化一个空列表order;
[0064]
function([vs]);//[vs]为仅含标号vs的列表
[0065]
输出:所有可能的拓扑顺序order;
[0066]
s7.根据步骤s6列举得到的节点拓扑顺序,确认各个节点的上下游关系;具体包括如下步骤:
[0067]
a.设置循环次数i为1;
[0068]
b.在步骤s6得到的拓扑顺序中,选择第i个拓扑顺序;
[0069]
c.在步骤b选定的拓扑顺序,排列网络的所有节点,并得到对应的邻接矩阵a';
[0070]
d.将步骤c得到的邻接矩阵a'的下三角部分置零,从而得到辅助矩阵a”;
[0071]
e.针对步骤d得到的辅助矩阵a”进行检测:
[0072]
辅助矩阵a”所对应的有向图,若图中所有的中间节点都存在至少一条输出链路和至少一条输入链路,则根据选定的第i个拓扑顺序,确定各个中间节点的上下游关系;定义与上游节点连接的链路为输入链路,与下游节点连接的链路为输出链路;
[0073]
否则,令循环次数i的取值增加1,并返回步骤b重新进行循环,直至确认了各个节点的上下游关系;
[0074]
s8.确认完成后,输出最终构建的目标网络的有向无环图。
[0075]
以下结合一个实施例,对本发明方法进行进一步说明:
[0076]
初始网络如图2所示;网络由6个节点组成,为方便起见信源节点与信宿节点的标号分别设为s和d,其他四个中间节点的标号如图。其中虚线箭头表示该条链路仅能按箭头方向传输数据,其余链路均为双向链路。以节点3为例,来具体阐述本发明提供的分布式有向无环网络生成方法。
[0077]
首先,节点3将自己的邻居关系发送给网络中所有节点,即可节点3可到节点1、节点2、节点4、节点d;同时收到其他节点的邻居关系,例如从节点d 收到:节点d可到节点1、节点2;
[0078]
节点3根据所有节点的邻居关系构造图g如图3所示;
[0079]
删去只能单向传输的边,即图中虚线边(v3,d);
[0080]
检查图g中节点5,发现无论如何选择路径,从节点5到节点s以及到节点d都一定会经过边(v5,v1),因此删去节点5和边(v5,v1);删减后的网络邻接矩阵为(节点拓扑顺序为{s,1,2,3,4,d}):
[0081][0082]
按照节点拓扑顺序的列举算法,列举出几个可能的节点拓扑顺序 {s,2,3,1,4,d}、{s,2,3,4,1,d}和{s,4,1,3,2,d};
[0083]
令i取值为1;
[0084]
选择第1个拓扑顺序,按节点拓扑顺序{s,2,3,1,4,d}排列节点得到的邻接矩阵a',以及将矩阵a'的下三角部分置零后得到的矩阵a”分别为:
[0085]
[0086][0087]
a”所对应有向图如图3所示,检查发现节点4只有输入链路没有输出链路,因此令i=2,重新进行循环;
[0088]
选择第2个拓扑顺序,按节点拓扑顺序{s,2,3,4,1,d}排列节点得到的邻接矩阵a',以及将矩阵a'的下三角部分置零后得到的矩阵a”分别为:
[0089][0090][0091]
a”所对应有向图如图4所示,检查发现每个中间节点均有至少一条输入链路和一条输出链路,因此转到后续步骤;
[0092]
根据第2个拓扑顺序确定节点3的上下游关系,与上游节点2连接的链路 (v2,v3)是输入链路,与下游节点4、节点1连接的链路(v3,v4)、(v3,v1) 是输出链路;
[0093]
最后,根据确认的链路,得到最终的有向无环图。
[0094]
如图5所示为本发明的网络编码方法的方法流程示意图:本发明提供的这种包括了上述有向无环图生成方法的网络编码方法,具体包括如下步骤:
[0095]
s1.获取目标网络的数据信息;
[0096]
s2.各个网络节点将自身的邻居关系告知网络中的其他节点;
[0097]
s3.根据所有节点的邻居关系,构造初始图;
[0098]
s4.删除步骤s3构建的初始图中只能单向传输的边,得到第一初始图;
[0099]
s5.对步骤s4得到的第一初始图中的每个节点进行检查,删除不合格节点后得到第二初始图;
[0100]
s6.根据步骤s5得到的第二初始图所对应的邻接矩阵,进行节点拓扑顺序的列举;
[0101]
s7.根据步骤s6列举得到的节点拓扑顺序,确认各个节点的上下游关系;
[0102]
s8.确认完成后,输出最终构建的目标网络的有向无环图
[0103]
s9.采用步骤s8得到的目标网络的有向无环图,进行网络编码。
[0104]
如图6所示为本发明的网络传输方法的方法流程示意图:本发明提供的这种包括了上述有向无环图生成方法和网络编码方法的网络传输方法,具体包括如下步骤:
[0105]
s1.获取目标网络的数据信息;
[0106]
s2.各个网络节点将自身的邻居关系告知网络中的其他节点;
[0107]
s3.根据所有节点的邻居关系,构造初始图;
[0108]
s4.删除步骤s3构建的初始图中只能单向传输的边,得到第一初始图;
[0109]
s5.对步骤s4得到的第一初始图中的每个节点进行检查,删除不合格节点后得到第二初始图;
[0110]
s6.根据步骤s5得到的第二初始图所对应的邻接矩阵,进行节点拓扑顺序的列举;
[0111]
s7.根据步骤s6列举得到的节点拓扑顺序,确认各个节点的上下游关系;
[0112]
s8.确认完成后,输出最终构建的目标网络的有向无环图;
[0113]
s9.采用步骤s8得到的目标网络的有向无环图,进行网络编码;
[0114]
s10.根据步骤s9的网络编码结果,进行网络传输。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献