基于聚类算法的社区划分DTN路由算法制造技术

技术编号:38764761 阅读:10 留言:0更新日期:2023-09-10 10:38
基于聚类算法的社区划分DTN路由算法,涉及延迟容忍网络卫星通信领域,本发明专利技术利用Circle

【技术实现步骤摘要】
基于聚类算法的社区划分DTN路由算法


[0001]本专利技术属于延迟容忍网络卫星通信
,具体涉及一种基于聚类算法的社区划分DTN路由算法。

技术介绍

[0002]随着空间信息技术的迅速发展,卫星网络在全球通信、导航定位、气象预测、环境与灾害监测、资源探测和军事应用等方面将发挥越来越重要的作用,以卫星网络为核心的空间网络平台日益成为各国持续研究与发展的战略性工程。而不同于地面网络的是,由于卫星运动轨道、卫星所具备的星间链路数量等因素限制,在由多颗卫星组成的空间自组织网络中,卫星与卫星之间、卫星与地面站之间并不能保证是长连通的,星间链路可能呈现出大时延、间断可用和双向带宽不对称延迟容忍网络等特点。这一系列特点使得空间自组织网络中任意两个节点之间不一定时刻存在端到端连接,不能满足TCP/IP协议要求的通信基本条件,但是却满足时延容忍网络(delay tolerant network,DTN)的典型网络特征。为了使卫星网络具有更高的消息投递率、更低的平均传输时延和更小的网络开销,良好的卫星DTN路由策略帮助选择合适的下一跳节点是实现上述目标的基础与关键。
[0003]时延容忍网络(delay tolerant network,DTN)的延迟容忍性主要体现在对消息的“存储-携带-转发”过程,将原本建立端到端连接并传输数据的方式,转化为由多个中间节点转发的“跳到跳”的方式传输。目前已有许多经典的路由算法。例如,采用洪泛机制的Epidemic算法;通过比较历史概率信息而确定路由的Prophet算法;控制网络中消息的副本数量,以避免过度洪泛造成的网络拥塞的Sprayandwait算法;另外还有FirstContact、Earliest

Delivery等算法。对于空间卫星延迟容忍网络,卫星节点往往并不是漫无目的随机运动的,每颗卫星都有它们相对固定的运动轨迹,甚至经常存在几颗卫星运动于同一轨道的不同位置且相互间相对位置固定的情况。这一行为特征造成了空间卫星延迟容忍网络与传统时延容忍网络具有明显差异:由于运动轨道的限制,网络中任意两个节点可能长期连通,也可能永无接触机会。传统的DTN路由协议虽能兼容这一差异,但在路由设计和选择上并没有利用这一特点进行增强设计。因此,现有空间卫星延迟容忍网络存在数据包交付率低、端到端平均时延长、网络开销大等问题。
[0004]综上,如何根据卫星节点属性设计出能够选择出最优的路径的路由算法,对提高空间卫星网络消息传递性能有重大的研究意义。

技术实现思路

[0005]本专利技术的目的在于针对现有的空间卫星延迟容忍网络中数据包交付率低、端到端平均时延长、网络开销大的问题,提供一种基于聚类算法的社区划分DTN路由算法。
[0006]本专利技术为解决技术问题所采用的技术方案如下:
[0007]本专利技术的基于聚类算法的社区划分DTN路由算法,包括以下步骤:
[0008]步骤一、获取卫星节点相遇矩阵,设定聚类个数和卫星节点总数,计算初始活跃度
区间;
[0009]步骤二、计算每个卫星节点在当前时间窗口内的活跃度;将当前时间窗口活跃度处于初始活跃度区间的卫星节点加入到待选中心卫星节点列表;
[0010]步骤三、在待选中心卫星节点列表中随机选取k个卫星节点作为初始中心卫星节点;
[0011]步骤四、根据轨迹相似度划分k个社区,并都标记为不稳定社区;
[0012]步骤五、更新所有不稳定社区的中心卫星节点和社区半径;
[0013]步骤六、选取查询社区;
[0014]步骤七、搜索当前查询社区的邻居社区;
[0015]步骤八、划分查询社区的稳定区和活跃区;
[0016]步骤九、判断当前查询社区卫星节点是否有变化,若没有变化,标记为稳定社区,不参与下一次迭代;若当前查询社区卫星节点有变化,标记为不稳定社区;
[0017]步骤十、判断当前迭代中所有不稳定社区是否都已完成重新划分,若都完成重新划分,则执行步骤十一;若还有不稳定社区未重新划分,则执行步骤六;
[0018]步骤十一、判断所有社区是否都标记为稳定社区,若所有社区都标记为稳定社区,则执行步骤十二;若仍然存在不稳定社区,则执行步骤五;
[0019]步骤十二、输出社区划分最终结果;
[0020]步骤十三、当携带消息的卫星节点是社区中心卫星节点时,检查当前社区中心卫星节点的索引表,执行步骤十四;当携带消息的卫星节点不是社区中心卫星节点时,执行步骤十六;
[0021]步骤十四、通过检查步骤十三所说的索引表发现,当目的卫星节点在携带消息的中心卫星节点所在社区内时,此中心卫星节点与目的卫星节点相遇时转发消息;
[0022]步骤十五、当目的卫星节点不在携带消息的中心卫星节点所在社区内时,则需要向其他社区的中心卫星节点转发消息,其他社区中心卫星节点成功接收消息后,执行步骤十三;
[0023]步骤十六、当携带消息的卫星节点是社区内的普通卫星节点时,则向此社区的中心卫星节点转发消息,社区中心卫星节点成功接收消息后,执行步骤十四;
[0024]步骤十七、若消息没有传送到目的卫星节点,则执行步骤十三继续转发消息,直到消息传送到目的卫星节点结束转发。
[0025]进一步的,步骤一中,在STK软件上设置多个卫星节点,模拟卫星场景,使用Matlab软件获取卫星节点相遇矩阵;所述初始活跃度区间的计算公式如下:
[0026][0027]式中,EV
section
为初始活跃度区间,N为卫星节点总数,k为聚类个数。
[0028]进一步的,步骤二中,每个卫星节点在当前时间窗口内的活跃度的计算公式如下:
[0029][0030]式中,EV
ik+1
为预估卫星节点v
i
在第k+1个时间窗口内的活跃度;为预估卫星节点v
i
在第k个时间窗口内遇到不同卫星节点的相遇卫星节点数量,每当1个时间窗口到
期,就清零并开始重新统计新的时间窗口内的相遇卫星节点数量。
[0031]进一步的,步骤四的具体操作步骤如下:
[0032]根据公式(3)分别计算每个卫星节点与k个初始中心卫星节点的轨迹相似度,将轨迹相似度最大时的卫星节点和对应的初始中心卫星节点划分为同一个社区,并初始化所有社区的标签flag
i
=False(i=i,...,k),flag=False表示社区不稳定,决定是否更新社区中心卫星节点和社区半径;若存在卫星节点数目小于2的社区,则返回步骤三,重新在待选中心卫星节点列表中随机选取k个卫星节点作为初始中心卫星节点;至此初始聚类结束;
[0033][0034]式中,E
c
表示卫星节点c的历史相遇卫星节点集,E
x
表示卫星节点x的历史相遇卫星节点集;SD(c,x)表示卫星节点x与卫星节点c的轨迹相似度,轨迹相似度是不对称的;SD(c,x)等于卫星节点x的历史相遇卫星节点集与卫星本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于聚类算法的社区划分DTN路由算法,其特征在于,包括以下步骤:步骤一、获取卫星节点相遇矩阵,设定聚类个数和卫星节点总数,计算初始活跃度区间;步骤二、计算每个卫星节点在当前时间窗口内的活跃度;将当前时间窗口活跃度处于初始活跃度区间的卫星节点加入到待选中心卫星节点列表;步骤三、在待选中心卫星节点列表中随机选取k个卫星节点作为初始中心卫星节点;步骤四、根据轨迹相似度划分k个社区,并都标记为不稳定社区;步骤五、更新所有不稳定社区的中心卫星节点和社区半径;步骤六、选取查询社区;步骤七、搜索当前查询社区的邻居社区;步骤八、划分查询社区的稳定区和活跃区;步骤九、判断当前查询社区卫星节点是否有变化,若没有变化,标记为稳定社区,不参与下一次迭代;若当前查询社区卫星节点有变化,标记为不稳定社区;步骤十、判断当前迭代中所有不稳定社区是否都已完成重新划分,若都完成重新划分,则执行步骤十一;若还有不稳定社区未重新划分,则执行步骤六;步骤十一、判断所有社区是否都标记为稳定社区,若所有社区都标记为稳定社区,则执行步骤十二;若仍然存在不稳定社区,则执行步骤五;步骤十二、输出社区划分最终结果;步骤十三、当携带消息的卫星节点是社区中心卫星节点时,检查当前社区中心卫星节点的索引表,执行步骤十四;当携带消息的卫星节点不是社区中心卫星节点时,执行步骤十六;步骤十四、通过检查步骤十三所说的索引表发现,当目的卫星节点在携带消息的中心卫星节点所在社区内时,此中心卫星节点与目的卫星节点相遇时转发消息;步骤十五、当目的卫星节点不在携带消息的中心卫星节点所在社区内时,则需要向其他社区的中心卫星节点转发消息,其他社区中心卫星节点成功接收消息后,执行步骤十三;步骤十六、当携带消息的卫星节点是社区内的普通卫星节点时,则向此社区的中心卫星节点转发消息,社区中心卫星节点成功接收消息后,执行步骤十四;步骤十七、若消息没有传送到目的卫星节点,则执行步骤十三继续转发消息,直到消息传送到目的卫星节点结束转发。2.根据权利要求1所述的基于聚类算法的社区划分DTN路由算法,其特征在于,步骤一中,在STK软件上设置多个卫星节点,模拟卫星场景,使用Matlab软件获取卫星节点相遇矩阵;所述初始活跃度区间的计算公式如下:式中,EV
section
为初始活跃度区间,N为卫星节点总数,k为聚类个数。3.根据权利要求1所述的基于聚类算法的社区划分DTN路由算法,其特征在于,步骤二中,每个卫星节点在当前时间窗口内的活跃度的计算公式如下:
式中,EV
ik+1
为预估卫星节点v
i
在第k+1个时间窗口内的活跃度;为预估卫星节点v
i
在第k个时间窗口内遇到不同卫星节点的相遇卫星节点数量,每当1个时间窗口到期,就清零并开始重新统计新的时间窗口内的相遇卫星节点数量。4.根据权利要求3所述的基于聚类算法的社区划分DTN路由算法,其特征在于,步骤四的具体操作步骤如下:根据公式(3)分别计算每个卫星节点与k个初始中心卫星节点的轨迹相似度,将轨迹相似度最大时的卫星节点和对应的初始中心卫星节点划分为同一个社区,并初始化所有社区的标签flag
i
=False(i=i,...,k),flag=False表示社区不稳定,决定是否更新社区中心卫星节点和社区半径;若存在卫星节点数目小于2的社区,则返回步骤三,重新在待选中心卫星节点列表中随机选取k个卫星节点作为初始中心卫星节点;至此初始聚类结束;式中,E
c
表示卫星节点c的历史相遇卫星节点集,E
x
表示卫星节点x的历史相遇卫星节点集;SD(c,x)表示卫星节点x与卫星节点c的轨迹相似度,轨迹相似度是不对称的;SD(c,x)等于卫星节点x的历史相遇卫星节点集与卫星节点c的历史相遇卫星节点集的交集(E
...

【专利技术属性】
技术研发人员:从立钢丁慧颖解男男底晓强李锦青任维武毕琳刘旭
申请(专利权)人:长春理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1