获取通信网络中级数最小节点的方法与流程

文档序号:19604436发布日期:2020-01-03 13:23阅读:471来源:国知局
获取通信网络中级数最小节点的方法与流程

本发明属于通信技术领域,更进一步涉及一种获取级数最小节点的方法,可用于通信网络时间同步时的基准节点选择。



背景技术:

现有通信网络的时间同步实现方式是基于两点间双向比对时间同步的基础,根据网络拓扑邻接关系,以时间基准节点作为起始节点,以宽度优先遍历原则按照层级型结构逐级向外围节点同步,直至网络所有节点达到同步目标。

在上述时间同步中,通信网络时间同步是逐级进行的,而每一级时间同步均存在误差与时延。随着网络逐级同步过程的层数增加,完成同步的节点与最初时间基准的绝对误差和时延也随之被放大。可以看出,尽量减少同步的总层数可以获得更好的同步性能,因此需要选取使得网络同步级数最小节点作为时间基准节点。

丁鹏在其发表的论文“卫星网络的时间同步技术研究”(硕士学位论文,西安电子科技大学,2019.04)中公开了一种以某一节点到达同步网络中其他节点最小跳数中的最大值作为该节点级数,并对网络内所有节点遍历求级数,然后以级数最小节点作为时间基准节点的方法。

这种确定时间基准节点方法存在的不足之处在于,需要遍历网络中所有节点计算它们的级数,整体计算量过大,占用较多的计算资源,计算过程耗费的时间较长。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,提供一种基于趋势行走获取通信网络中级数最小节点的方法,以降低计算量,减小计算时间,实现获取通信网络时间同步基准节点过程的优化。

本发明的技术思路是,选择任意节点作为初始落足节点并计算其级数,设置趋势行走过程是从落足节点出发,重复选择当前落足节点的相邻候选节点中级数最小且不大于当前落足节点级数的节点作为下一步落足节点,直至没有新的落足节点为止,并以最终落足节点作为时间基准节点,其实现步骤包括如下:

s1:从通信网络中任选取一个节点nodei,将其作为初始落足节点,计算该节点的对应级数leveli,设置已查集合将nodei并入已查集合c中,即c=c∪{nodei},其中i为网络中某个节点的id号,i=1,2,3…n,n是网络中的节点数;

s2:将当前落足节点nodei的所有不在已查集合中的邻居节点作为候选邻居节点集合ai,将ai并入已查集合c,即c=c∪{nodei};

s3:计算候选邻居节点集合ai中所有节点的级数,选取ai中级数最小的节点nodej,若级数最小节点不唯一,则选取级数最小节点中节点号最小的节点,其中j为网络中某个节点的id号,j=1,2,3…n,j≠i;

s4:将s3中选取的级数最小节点级数levelj与当前落足节点的级数leveli进行比较:若levelj>leveli,则执行s5;否则,以nodej作为落足节点,返回到s2;

s5:输出当前落足节点为级数最小节点,即最终选择的时间基准中心节点。

本发明由于通过趋势行走,只计算行走路径上节点的级数,因而具有如下优点:

1.避免了求网络中所有节点的级数,从而降低计算量,减小计算时间,克服了现有技术中求级数最小节点时计算量大,计算时间长的缺点。

2.优化了确定通信网络时间同步基准节点的过程。

附图说明

图1为本发明的实现流程图;

图2为本发明实例中所用的卫星通信网络示例图;

图3为分别用本发明和现有方法获取级数最小节点的仿真对比图。

具体实施方式

下面结合附图对本发明做进一步描述。

参照图1,对本发明的具体步骤如下:

步骤1,获取初始落足节点,设置已查集合

1a)从通信网络中随机选取一个节点nodei作为初始落足节点,

1b)计算该节点的对应级数leveli:

1b1)设置总集合当前集合和邻居节点集合将所求节点nodei并入该total和now中,设置计数变量n=1;

1b2)将当前集合now中所有节点的邻居节点并入邻居节点集合neighbor中;

1b3)判断是否成立:

如果不成立,令n=n+1,则total=total∪neighbor,now=neighbor-neighbor∩total,返回1b2);否则,输出级数n;

1c)设置已查集合将节点nodei并入已查集合c中,即c=c∪{nodei},其中i为网络中某个节点的id号,i=1,2,3…n,n是网络中的节点数。

本实例采用的网络为卫星通信网络,如图2所示,网络中共有10个节点,即n=10。

步骤2,获取候选邻居节点集合。

每个落足节点nodei都有其很多的邻居节点,这些邻居节点有一部分可能在已查集合c中,有一部分不在已查集合c中,本步骤的具体实现是:

先找到当前落足节点nodei的所有不在已查集合c中的邻居节点;

再将这些邻居节点作为候选邻居节点集合ai,并将ai并入已查集合c,即c=c∪ai。

步骤3,获取下一步落足节点。

3a)按照与上述1b)相同的方法计算候选邻居节点集合ai中所有节点的级数,选取ai中级数最小的节点nodej,并将该级数最小节点nodej的级数记作levelj;若级数最小节点不唯一,则选取级数最小节点中节点号最小的节点,其中j为网络中某个节点的id号,j=1,2,3…n,j≠i;

3b)将级数最小的节点nodej的级数levelj与当前落足节点的级数leveli进行比较:若levelj>leveli,则执行步骤4;否则,以nodej作为落足节点,返回步骤2。

步骤4,获得级数最小节点。

输出当前落足节点为级数最小的节点,即为最终选择时间基准中心的节点。

本发明的效果可通过下面仿真实验进一步说明:

1.仿真实验条件:

本发明的仿真实验的硬件平台:处理器为intel(r)xeon(r)cpu,主频为3.1ghz,内存8gb。

本发明的仿真实验的软件平台为:windows7操作系统和matlabr2017a。

2.仿真实验采用的现有技术为:丁鹏在其发表的论文“卫星网络的时间同步技术研究”(硕士学位论文,西安电子科技大学,2019.04)中公开了一种针对通信网络内所有节点遍历求级数最小节点来完成时间同步的方法。该方法通过求网络内所有节点的级数并比较来获得级数最小节点。当网络中节点数目为n时,需要求级数的节点个数为n。将这种方法需要计算级数的节点个数与本发明需要计算级数的节点个数进行比较,形成仿真图。

3.仿真内容及其结果分析:

仿真1,采用本发明和上述现有技术,分别对输入的多个通信网络拓扑结构求级数最小节点,将求级数最小节点过程中需要计算级数的节点个数进行比较,结果如图3所示。

图3中的横坐标表示通信网络中的节点个数,纵坐标表示平均需计算级数的节点数,菱形标示的曲线代表现有技术需要计算级数的节点数变化曲线,星星标示的曲线代表本发明需要计算级数的节点数变化曲线。

由图3可以看出,针对通信网络中节点数为10个,20个,30个,40个,50个,60个时在相同的通信网络拓扑结构内,相比于现有技术,本发明采用的趋势行走法求级数最小节点需要计算级数的节点个数依次为6.2,12.3,18.5,25.0,30.5,41.1,均小于现有技术的10,20,30,40,50,60个。由此可见,本发明可以解决现有技术求级数最小节点时计算量大,计算时间长的问题。通过趋势行走搜索级数最小节点降低了计算量,减小了计算时间,实现了确定通信网络时间同步基准节点过程的优化,且随着通信网络节点数目的增加,这种优势也变得更明显。

仿真2.分别用本发明和现有方法对图2所示卫星通信网络求其级数最小节点,图2中1到10号节点的级数分别为:6,4,5,4,3,4,6,4,5,5。当采用现有技术求级数最小节点时,需要把1到10号节点的级数都求出来,然后进行比较,得到5号节点为级数最小节点。采用本发明的趋势行走法求级数最小节点,假设初始落足节点是6号节点,首先计算6号节点和其邻居节点5号节点的级数,下一步落足节点更新为5号节点,再计算5号节点的邻居节点2,4,8的级数,发现此时满足算法的终止条件,输出5号节点为级数最小节点,整个过程只需要计算5个节点的级数。

仿真2结果表明,在获取通信网络的级数最小节点时,采用本发明趋势行走法比现有技术减少了需计算级数的节点数量,降低了计算量。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1