CN111585825B - 分簇Ad hoc网络的网络拓扑动态布局的方法及装置 - Google Patents

分簇Ad hoc网络的网络拓扑动态布局的方法及装置 Download PDF

Info

Publication number
CN111585825B
CN111585825B CN202010438449.1A CN202010438449A CN111585825B CN 111585825 B CN111585825 B CN 111585825B CN 202010438449 A CN202010438449 A CN 202010438449A CN 111585825 B CN111585825 B CN 111585825B
Authority
CN
China
Prior art keywords
node
nodes
layout
network topology
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010438449.1A
Other languages
English (en)
Other versions
CN111585825A (zh
Inventor
李强
黄郡
马涛
马春来
王怀习
束妮娜
常超
刘俊
吴一尘
杨静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010438449.1A priority Critical patent/CN111585825B/zh
Publication of CN111585825A publication Critical patent/CN111585825A/zh
Application granted granted Critical
Publication of CN111585825B publication Critical patent/CN111585825B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种分簇Ad hoc网络的网络拓扑动态布局方法及装置,所述方法包括:获取初始时刻的Ad hoc网络拓扑快照G 0 ,根据G 0 中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,基于初始时刻的Ad hoc网络拓扑快照G 0 及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L 0 ;基于当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i‑1 的布局L i‑1 ,更新节点布局位置,获得当前时刻网络拓扑快照G i 的布局L i ,本方法可以大幅减少相邻布局间节点调整的数量,布局序列有较好的动态稳定性;采用增量的方式实现图序列布局,需要的计算数据量少,可以实现在线动态布局。

Description

分簇Ad hoc网络的网络拓扑动态布局的方法及装置
技术领域
本发明涉及计算机网络领域,尤其涉及一种分簇Ad hoc网络的网络拓扑动态布局的方法及装置。
背景技术
Ad hoc网络是时变网络,为了对Ad hoc网络进行监控和管理,需要获得Ad hoc网络的网络结构及变化特征,因此,需要获得Ad hoc网络的网络拓扑结构,进而,将Ad hoc网络的网络拓扑及变化特征以图形的方式进行展示,为用户的使用提供支持。
时变网络的拓扑结构随时间动态变化,为了便于用户认识和理解其网络拓扑结构,需要保持动态网络拓扑布局的稳定性。但目前对于保持动态网络拓扑布局的稳定性缺少有效的方法,现有技术中对动态网络的拓扑布局,有基于节点相对位置的布局方法、基于增量的布局方法和基于聚类的布局方法。
基于节点相对位置的布局方法通过约束节点间相对的位置变化,实现动态网络拓扑布局的相对稳定。该方法的特点是布局效果清晰,适用于规模较小的网络平面结构的网络,无法展示分簇或分层的网络结构。基于增量的布局方法通过处理新增的网络节点来减少节点的剧烈,实现动态网络拓扑布局的相对稳定。该方法使得用户易于感知网络中节点的变化过程,适用于中等规模的平面结构的网络,但无法展示分簇或分层的网络结构。基于聚类的布局方法通过减少相邻布局序列间节点的剧烈,以保持聚类特征的动态稳定性,实现动态网络拓扑布局的相对稳定。该方法的网络拓扑结构以组的形式展示,适用于较大规模的网络,但无法展示组内节点的情况。
发明内容
为解决上述技术问题,本发明提出了一种分簇Ad hoc网络的网络拓扑动态布局的方法及装置,所述方法及装置,用以解决现有技术中没有有效针对分簇Ad hoc网络的网络拓扑进行动态布局、不能展示分簇的网络的网络拓扑及簇内节点变化过程的技术问题。
根据本发明的第一方面,提供一种分簇Ad hoc网络的网络拓扑动态布局的方法,所述方法包括以下步骤:
步骤S101:基于初始时刻Ad hoc网络节点的位置和节点的通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G 0 ;根据G 0 中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分;
步骤S102:基于初始时刻的Ad hoc网络拓扑快照G 0 及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L 0
步骤S103:获取当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,更新节点布局位置,获得当前时刻网络拓扑快照的布局L i
进一步地,所述步骤S101:基于初始时刻Ad hoc网络节点的位置和节点的有效通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G 0 ;根据G 0 中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分,包括:
步骤S1011:计算Ad hoc网络传输效率、边信息中心度;对于G 0 中两个节点间存在路径的节点对,依据所述Ad hoc网络传输效率、边信息中心度,计算节点对的节点关联度,所述节点对的节点关联度表示该节点对的两个节点间连接的紧密程度;
G 0 中节点v i v j 之间的传输效率Ɛ ij 定义为节点v i v j 间最短路径长度d ij 的倒数,所述路径长度即节点v i v j 间的跳数;Ad hoc网络的网络传输效率为Ad hoc网络中各节点对传输效率的平均值,即
Figure DEST_PATH_IMAGE001
如果节点v i v j 之间不存在路径,则d ij =+∞,Ɛ ij =0;
e ij 的信息中心度Ce ij 的为将边e ij G 0 中移除后,网络传输效率变化的相对量,即
Figure 803066DEST_PATH_IMAGE002
其中,G'表示G 0 移除边e ij 后的图;
节点关联度与节点间传递信息的路径相关;
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i v j 为相邻节点,则v i v j 的关联度为
Figure DEST_PATH_IMAGE003
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i v j 为非相邻节点,则v i v j 的关联度为节点v i 到节点v j 的最短路径上相邻节点关联度的乘积;如果节点v i v j 之间有多条最短路径,则选择乘积最大的值作为其关联度;
步骤S1012:确定分簇质量的度量标准,定义一个k*k的对称矩阵R=[r ij ],其中r ij 表示连接两个不同族中节点的边数占网络中总边数的比例;
模块度
Figure 332268DEST_PATH_IMAGE004
其中r ii 为矩阵R=[r ij ]对角线上的元素,表示连接簇内部节点边数占总边数的比 例;
Figure DEST_PATH_IMAGE005
,表示簇i中节点与其他所有簇的节点相连的边数占总边数的比例,Q 值越大说明分簇结构越明显;
步骤S1013:对初始时刻的Ad hoc网络拓扑快照G 0 分簇,包括:
步骤S10131:初始化聚类中心集Core为空,将G 0 的节点关联度写入节点关联度矩阵,设置待分簇的节点集V node ={v 1 ,v 2, …,v n },设置分簇数k,令k=2;
步骤S10132:在V node 中选取一连接边最多的节点作为第一个聚类中心节点c 1 ;将聚类中心节点c 1 放入聚类中心集Core,令V node =V node - c 1
步骤S10133:根据节点关联度矩阵,计算V node 中各节点v i Core中各节点的平均关联度,
L avg (v i )=( Σ|Core|j=1NL(v i ,c j ))/|Core|,其中,v i ∈V node c j ∈Core
其中,NL(v i ,c j )为节点v i 到聚类中c j 的关联度,|Core|为聚类中心的个数;
确定平均关联度的最小值,将平均关联度最小值对应的节点v min 放入聚类中心集Core,令V node =V node - v min
步骤S10134:根据当前聚类中心集Core,应用K-means算法对V node 中的节点进行聚类;根据聚类结果确定与聚类中心点处于同一分簇的节点;
步骤S10135:根据当前分簇情况,计算模块度Q k ,若Q k Q k-1 ,则将k赋值为k+1,进入步骤S10133;否则,输出G 0 的分簇结果,分簇结束,将分簇结果作为子图划分结果。
进一步地,所述步骤S102:基于初始时刻的Ad hoc网络拓扑快照G 0 及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L 0 ,包括:
步骤S1021:定义力导向布局模型:将初始时刻的Ad hoc网络拓扑快照G 0 划分后,得到k个互不相交的子图,此时Ad hoc网络拓扑快照G 0 中的边分为内边和外边;内边指连接同一子图中两个节点的边,外边指连接两个位于不同子图中节点的边;Ad hoc网络拓扑快照G 0 中同一子图中节点间的力为内力F Int ;拓扑快照G 0 中不同子图中节点间的力为外力F Ext
拓扑快照G 0 的子图用一称为元节点的矩形区域表示,连接元节点的边称为元边;元节点和元边构成的图为拓扑快照G 0 的元图G Meta ,元图G Meta 的布局称为元布局,元节点的位置为其所表示的子图的中心;作用在元节点上的力称为元力F Meta ,元力作用于元节点所表示的子图包含的所有节点上;
步骤S1022:定义计算节点 v所受内力的斥力F Int r (v)、引力F Int a (v)的计算方式:
Figure 901920DEST_PATH_IMAGE006
其中,E为图G 0 边的集合,pos(u)pos(v)表示节点uv的布局位置,k cluster 为调节子图内节点间布局距离的常数,k cluster =k global /2;k global 为用于调节全图节点间布局距离的常数,
k global =(布局空间的像素面积/图中的节点数)1/2
pos(u)pos(v)表示节点uv的布局位置;
u 、v∈C i ,表示节点u 、v均属于同一个簇C i ,对于同一个簇中的节点,计算内力;
步骤S1023:定义计算节点 v所受外力的斥力F Ext r (v)、引力F Ext a (v)的计算方式:
Figure DEST_PATH_IMAGE007
u∈C j 、v∈C i ,表示节点u 、v属于不同的簇;对于属于不同簇中的节点,计算外力;
步骤S1024:定义计算元布局中元节点C i 所受的斥力F Meta r (C i )、引力F Meta a (C i )的计算方式:
Figure 163269DEST_PATH_IMAGE008
其中,C为元节点集合,E meta 为元边集合,CG(C i )表示元节点C i 的位置,为其所表示的子图的中心,计算方式如下:
Figure DEST_PATH_IMAGE009
其中,|C i |表示簇C i 中节点的个数;
步骤S1025:定义计算节点v的综合合力的计算方式:
F Comp (v) = F Int (v) + S(Count) F Ext (v) +(1-S(Count)) F Meta (v)
其中,F Comp (v) 为作用在节点v上的综合合力, F Int (v)F Ext (v)F Meta (v)分别表示节点v受到的内力、外力、元力,F Int (v) = F Int r (v)+F Int a (v)F Ext (v)= F Ext r (v)+F Ext a (v)F Meta (v)= F Meta r (v)+F Meta a (v)S(Count) 为一随迭代次数Count变化的函数,S(Count)∈[0,1];
步骤S1026:对初始时刻的Ad hoc网络拓扑快照G 0 进行布局,包括:
步骤S10261:初始化迭代次数Count=1,对G 0 中的所有节点,根据其所在簇,设置初始布局位置,同一簇内的节点布局位置相邻;
步骤S10262:计算G 0 中所有节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
步骤S10263:计算G 0 中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
步骤S10264:根据划分的子图,计算所有元节点的元斥力,如果元节点之间具有连接关系,则计算元引力;
步骤S10265:对网络拓扑快照G 0 中的所有节点计算节点综合合力F comp (v)
步骤S10266:对网络拓扑快照G 0 中的所有节点依照其综合合力F comp (v)大小和方向调整节点的布局位置,pos(v)=pos(v)+F comp (v)/节点v的度数
步骤S10267:判断节点布局的位移是否小于设定的位移,若是,输出布局结果L 0 ,对初始时刻的Ad hoc网络拓扑快照G 0 布局结束;若否,设置Count的值为Count+1。
进一步地,所述步骤S103:获取当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,更新节点布局位置,获得当前时刻网络拓扑快照的布局L i ,包括:
步骤S1031:获取当前时刻t i 的网络拓扑快照G i 以及前一时刻t i-1 的网络拓扑快照G i-1 、布局L i-1
步骤S1032:通过广度优先搜索的方式遍历G i 中的节点,设置其在L i 布局中的初始位置坐标;
对于同时存在于G i G i-1 中的节点,其在L i 中的位置坐标直接采用布局L i-1 中的位置坐标;
对于存在于G i 中但不存在于G i-1 的节点v,获取节点v的邻居节点集PN(v),若邻居节点集只有一个邻居节点u,获取节点v、u所在子图在L i-1 布局的中心点,将节点v放置在节点u与该中心点连线的中点位置;若邻居节点集有多于1个的邻居节点,则利用如下公式计算节点v的坐标:
Figure 880689DEST_PATH_IMAGE010
以此得到网络拓扑快照G i 的初始布局;
步骤S1033:为G i 中所有节点在L i 中的初始布局位置设置可信度值,包括:
设置节点v的可信度度量函数Γ(v) ,具有四档可信度值,分别为1、0.25、0.1、0,节点的初始布局位置越可信,则可信度值越大;对于在G i G i-1 中没有变化的节点v,该节点v的可信度值为1;如果节点v的位置是由节点v的两个以上的邻居节点确定的,该节点v的可信度值为0.25;如果节点v的位置是由节点v的一个邻居节点确定的,该节点v的可信度值为0.1;对于无法通过有效信息确定位置的节点v,该节点v的可信度值为0;
步骤S1034:设置稳定度计算策略,即设置基于节点的初始布局位置可信度计算G i 中所有节点位置的稳定度w pin (v)策略,包括:
节点的稳定度w pin (v) 用于表征对当前时刻的网络拓扑中各节点是否需要重新布局,如果节点的稳定度w pin (v) =1,表示节点v的位置在接下来的布局过程中保持不变;如果节点的稳定度w pin (v) =0,表示节点v的位置在接下来的布局过程中可以自由;节点v的位置的稳定度由该节点的初始位置的可信度Γ(v)及其邻居节点位置的可信度Γ(u)确定,u∈ PN(v),节点v的稳定度w pin (v)为:
Figure DEST_PATH_IMAGE011
其中,α∈[0,1]
步骤S1035:设置Ad hoc网络分簇结果的调整策略:
在每个簇中设置一预设数量的占位节点;占位节点在布局时与其他节点同等对待;每个簇中设置的占位节点个数为[0,3];
设置占位空节点的操作规则:当一个节点从某一簇中移出时,该簇中的空节点数加1,新增空节点占据移出节点在该簇中原来所在的位置;当一个簇中移入一个新节点时,该簇中的空节点数减1,新节点占据该簇中原空节点的位置;
对同一个簇中节点的移出和移入操作进行配对,新移入的节点占据移出节点的位置;对于无法配对处理的节点,按所述占位空节点的操作规则进行处理;
步骤S1036:根据当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,生成当前时刻网络拓扑快照的布局L i
步骤S10361:初始化,设置迭代次数Count=1,基于节点的稳定度控制参与合力计算和位置调整节点数的稳定度控制变量fr done =0,;
步骤S10362:获取L i 的初始布局;
步骤S10363:根据所述稳定度计算策略获取当前时刻的网络拓扑快照G i 中所有节点的稳定度w pin (v)
步骤S10364:对网络拓扑快照G i 分簇,运用分簇结构的力导向布局模型调整节点的位置,生成布局L i ,包括:
步骤S103641:计算网络拓扑快照G i 中所有fr done w pin (v) 的节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
步骤S103642:计算网络拓扑快照G i 中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
步骤S103643:根据网络拓扑快照G i 当前簇结构的子图的划分,计算所有元节点的元斥力;如果元节点之间有连接关系,则计算元引力;
步骤S103644:对网络拓扑快照G i 中所有fr done w pin (v) 的节点,计算节点v的综合合力F comp (v)并根据综合合力F comp (v)调整节点v的布局位置pos(v)=pos(v)+F comp (v)/节 点v的度数
步骤S103645:fr done =fr done +Count -1 Count -1 为迭代次数Count的倒数;
步骤S103646:判断节点布局的位移是否小于设定的阈值,若是,输出布局结果L i ;否是,迭代次数Count赋值为Count+1,进入步骤S103641。
根据本发明第二方面,提供一种分簇Ad hoc网络的网络拓扑动态布局的装置,所述装置包括:
分簇模块:基于初始时刻Ad hoc网络节点的位置和节点的有效通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G 0 ;根据G 0 中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分;
初始布局模块:基于初始时刻的Ad hoc网络拓扑快照G 0 及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L 0
图序列布局模块:获取当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,更新节点布局位置,获得当前时刻网络拓扑快照的布局L i
进一步地,所述分簇模块,包括:
第一计算子模块:计算Ad hoc网络传输效率、边信息中心度;对于G 0 中两个节点间存在路径的节点对,依据所述Ad hoc网络传输效率、边信息中心度,计算节点对的节点关联度,所述节点对的节点关联度表示该节点对的两个节点间连接的紧密程度;
G 0 中节点v i v j 之间的传输效率Ɛ ij 定义为节点v i v j 间最短路径长度d ij 的倒数,所述路径长度即节点v i v j 间的跳数;Ad hoc网络的网络传输效率为Ad hoc网络中各节点对传输效率的平均值,即
Figure 897404DEST_PATH_IMAGE012
如果节点v i v j 之间不存在路径,则d ij =+∞,Ɛ ij =0;
e ij 的信息中心度Ce ij 的为将边e ij G 0 中移除后,网络传输效率变化的相对量,即
Figure 259246DEST_PATH_IMAGE002
其中,G'表示G 0 移除边e ij 后的图;
节点关联度与节点间传递信息的路径相关;
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i v j 为相邻节点,则v i v j 的关联度为:
Figure 206343DEST_PATH_IMAGE003
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i v j 为非相邻节点,则v i v j 的关联度为节点v i 到节点v j 的最短路径上相邻节点关联度的乘积;如果节点v i v j 之间有多条最短路径,则选择乘积最大的值作为其关联度;
第一确定子模块:确定分簇质量的度量标准,定义一个k*k的对称矩阵R=[r ij ],其中r ij 表示连接两个不同族中节点的边数占网络中总边数的比例;
模块度
Figure 286425DEST_PATH_IMAGE004
其中r ii 为矩阵R=[r ij ]对角线上的元素,表示连接簇内部节点边数占总边数的比 例;
Figure 282063DEST_PATH_IMAGE005
,表示簇i中节点与其他所有簇的节点相连的边数占总边数的比例, Q值越大说明分簇结构越明显;
第一分簇子模块:用于对初始时刻的Ad hoc网络拓扑快照G 0 分簇,包括:
初始化子模块:初始化聚类中心集Core为空,将G 0 的节点关联度写入节点关联度矩阵,设置待分簇的节点集V node ={v 1 ,v 2, …,v n },设置分簇数k,令k=2
选择子模块:在V node 中选取一连接边最多的节点作为第一个聚类中心节点c 1 ;将聚类中心节点c 1 放入聚类中心集Core,令V node =V node - c 1
关联子模块:根据节点关联度矩阵,计算V node 中各节点v i Core中各节点的平均关联度,
L avg (v i )=( Σ|Core|j=1NL(v i ,c j ))/|Core|,其中,v i ∈V node c j ∈Core
其中,NL(v i ,c j )为节点v i 到聚类中c j 的关联度,|Core|为聚类中心的个数;
确定平均关联度的最小值,将平均关联度最小值对应的节点v min 放入聚类中心集Core,令V node =V node - v min
确定中心点子模块:根据当前聚类中心集Core,应用K-means算法对V node 中的节点进行聚类;根据聚类结果确定与聚类中心点处于同一分簇的节点;
第一输出子模块:根据当前分簇情况,计算模块度Q k
进一步地,所述初始布局模块,包括:
第一定义子模块:定义力导向布局模型,用于将初始时刻的Ad hoc网络拓扑快照G 0 划分后,得到k个互不相交的子图,此时Ad hoc网络拓扑快照G 0 中的边分为内边和外边;内边指连接同一子图中两个节点的边,外边指连接两个位于不同子图中节点的边;Ad hoc网络拓扑快照G 0 中同一子图中节点间的力为内力F Int ;拓扑快照G 0 中不同子图中节点间的力为外力F Ext
拓扑快照G 0 的子图用一称为元节点的矩形区域表示,连接元节点的边称为元边;元节点和元边构成的图为拓扑快照G 0 的元图G Meta ,元图G Meta 的布局称为元布局,元节点的位置为其所表示的子图的中心;作用在元节点上的力称为元力F Meta ,元力作用于元节点所表示的子图包含的所有节点上;
第二定义子模块:定义计算节点 v所受内力的斥力F Int r (v)、引力F Int a (v)的计算方式:
Figure DEST_PATH_IMAGE013
其中,E为图G 0 边的集合,pos(u)pos(v)表示节点uv的布局位置,k cluster 为调节子图内节点间布局距离的常数,k cluster =k global /2;k global 为用于调节全图节点间布局距离的常数,k global =(布局空间的像素面积/图中的节点数)1/2pos(u)pos(v)表示节点uv的布局位置;
u 、v∈C i ,表示节点u 、v均属于同一个簇C i ,对于同一个簇中的节点,计算内力;
第三定义子模块:定义计算节点 v所受外力的斥力F Ext r (v)、引力F Ext a (v)的计算方式:
Figure 560729DEST_PATH_IMAGE014
u∈C j 、v∈C i ,表示节点u 、v属于不同的簇;对于属于不同簇中的节点,计算外力;
第四定义子模块:定义计算元布局中元节点C i 所受的斥力F Meta r (C i )、引力F Meta a (C i )的计算方式:
Figure DEST_PATH_IMAGE015
其中,C为元节点集合,E meta 为元边集合,CG(C i )表示元节点的位置,为其所表示的子图的中心,计算方式如下:
Figure 242508DEST_PATH_IMAGE009
其中,|C i |表示簇C i 中节点的个数;
第五定义子模块:定义计算节点的综合合力的计算方式,
F Comp (v) = F Int (v) + S(Count) F Ext (v) +(1-S(Count)) F Meta (v)
其中,F Comp (v) 为作用在节点v上的综合合力, F Int (v)F Ext (v)F Meta (v)分别表示节点v受到的内力、外力、元力,F Int (v) = F Int r (v)+F Int a (v)F Ext (v)= F Ext r (v)+F Ext a (v)F Meta (v)= F Meta r (v)+F Meta a (v)S(Count) 为一随迭代次数Count变化的函数,S(Count)∈[0,1];
第一布局子模块:对初始时刻的Ad hoc网络拓扑快照G 0 进行布局,包括:
第二初始化模块:初始化迭代次数Count=1,对G 0 中的所有节点,根据其所在簇,设置初始布局位置,同一簇内的节点布局位置相邻;
第二计算子模块:计算G 0 中所有节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
第三计算子模块:计算G 0 中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
第四计算子模块:根据划分的子图,计算所有元节点的元斥力,如果元节点之间具有连接关系,则计算元引力;
第五计算子模块:对网络拓扑快照G 0 中的所有节点计算节点综合合力F comp (v)
第一调整子模块:对网络拓扑快照G 0 中的所有节点依照其综合合力F comp (v)大小和方向调整节点的布局位置,pos(v)=pos(v)+F comp (v)/节点v的度数
第二判断子模块:判断节点布局的位移是否小于设定的位移。
进一步地,所述图序列布局模块,包括:
第三获取子模块:获取当前时刻t i 的网络拓扑快照G i 以及前一时刻t i-1 的网络拓扑快照G i-1 、布局L i-1
坐标获取子模块:通过广度优先搜索的方式遍历G i 中的节点,设置其在L i 布局中的初始位置坐标;
对于同时存在于G i G i-1 中的节点,其在L i 中的位置坐标直接采用布局L i-1 中的位置坐标;
对于存在于G i 中但不存在于G i-1 的节点v,获取节点v的邻居节点集PN(v),若邻居节点集只有一个邻居节点u,获取节点v、u所在子图在L i-1 布局的中心点,将节点v放置在节点u与该中心点连线的中点位置;若邻居节点集有多于1个的邻居节点,则利用如下公式计算节点v的坐标:
Figure 527996DEST_PATH_IMAGE010
以此得到网络拓扑快照G i 的初始布局;
可信度值确定子模块:为G i 中所有节点在L i 中的初始布局位置设置可信度值,包括:
设置节点v的可信度度量函数Γ(v) ,具有四档可信度值,分别为1、0.25、0.1、0,节点的初始布局位置越可信,则可信度值越大;对于在G i G i-1 中没有变化的节点v,该节点v的可信度值为1;如果节点v的位置是由节点v的两个以上的邻居节点确定的,该节点v的可信度值为0.25;如果节点v的位置是由节点v的一个邻居节点确定的,该节点v的可信度值为0.1;对于无法通过有效信息确定位置的节点v,该节点v的可信度值为0;
稳定度确定子模块:设置稳定度计算策略,即设置基于节点的初始布局位置可信度计算G i 中所有节点位置的稳定度w pin (v)策略,包括:
节点的稳定度w pin (v) 用于表征对当前时刻的网络拓扑中各节点是否需要重新布局,如果节点的稳定度w pin (v) =1,表示节点v的位置在接下来的布局过程中保持不变;如果节点的稳定度w pin (v) =0,表示节点v的位置在接下来的布局过程中可以自由;节点v的位置的稳定度由该节点的初始位置的可信度Γ(v)及其邻居节点位置的可信度Γ(u)确定,u∈ PN(v),节点v的稳定度w pin (v)为:
Figure 343636DEST_PATH_IMAGE016
其中,α∈[0,1]
调整策略子模块:设置Ad hoc网络分簇结果的调整策略:
在每个簇中设置一预设数量的占位节点;占位节点在布局时与其他节点同等对待;每个簇中设置的占位节点个数为[0,3];
设置占位空节点的操作规则:当一个节点从某一簇中移出时,该簇中的空节点数加1,新增空节点占据移出节点在该簇中原来所在的位置;当一个簇中移入一个新节点时,该簇中的空节点数减1,新节点占据该簇中原空节点的位置;
对同一个簇中节点的移出和移入操作进行配对,新移入的节点占据移出节点的位置;对于无法配对处理的节点,按所述占位空节点的操作规则进行处理;
布局生成子模块:根据当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,生成当前时刻网络拓扑快照的布局L i
第三初始化模块:初始化,设置迭代次数Count=1,基于节点的稳定度控制参与合力计算和位置调整节点数的稳定度控制变量fr done =0,;
初始布局获取子模块:获取L i 的初始布局;
第二稳定度获取子模块:根据所述稳定度计算策略获取当前时刻的网络拓扑快照G i 中所有节点的稳定度w pin (v)
调整位置子模块:对网络拓扑快照G i 分簇,运用分簇结构的力导向布局模型调整节点的位置,生成布局L i ,包括:
第一快照子模块:计算网络拓扑快照G i 中所有fr done w pin (v) 的节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
第一引力计算子模块:计算网络拓扑快照G i 中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
第二引力计算子模块:根据网络拓扑快照G i 当前簇结构的子图的划分,计算所有元节点的元斥力;如果元节点之间有连接关系,则计算元引力;
调整位置计算子模块:对网络拓扑快照G i 中所有fr done w pin (v) 的节点,计算节点v的综合合力F comp (v)并根据综合合力F comp (v)调整节点v的布局位置pos(v)=pos(v)+F comp (v)/节点v的度数
赋值子模块:fr done =fr done +Count -1 Count -1 为迭代次数Count的倒数;
第三判断子模块:判断节点布局的位移是否小于设定的阈值。
根据本发明第三方面,提供一种分簇Ad hoc网络的网络拓扑动态布局的系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的分簇Ad hoc网络的网络拓扑动态布局的方法。
根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的分簇Ad hoc网络的网络拓扑动态布局的方法。
根据本发明的上述方案,将普通力导向布局模型改进为分簇结构力导向布局模型,生成的布局序列可以很好地展示网络的分簇结构特点以及簇内节点的变化情况;具有稳定性控制机制,可以大幅减少相邻布局间节点调整的数量,布局序列有较好的动态稳定性;采用增量的方式实现图序列布局,需要的计算数据量少,可以实现在线动态布局;也适用于中等规模分簇结构时变网络拓扑动态布局的场合。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:
图1为本发明一个实施方式的分簇Ad hoc网络的网络拓扑动态布局的方法流程图;
图2为本发明一个实施方式的分簇结构图的布局模型;
图3为本发明一个实施方式的S(Count)随迭代次数Count变化的示意图;
图4为本发明一个实施方式的分簇Ad hoc网络的网络拓扑动态布局的装置结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先结合图1说明为本发明一个实施方式的分簇Ad hoc网络的网络拓扑动态布局的方法流程图。如图1所示,所述方法包括以下步骤:
步骤S101:基于初始时刻Ad hoc网络节点的位置和节点的有效通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G 0 ;根据G 0 中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分;
步骤S102:基于初始时刻的Ad hoc网络拓扑快照G 0 及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L 0
步骤S103:获取当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,更新节点布局位置,获得当前时刻网络拓扑快照的布局L i
本实施例中,可以从服务器中获取Ad hoc网络的各项数据,包括但不限于获取Ad hoc网络拓扑快照G 0 G 0 中节点的位置和连接关系等。
所述步骤S101:基于初始时刻Ad hoc网络节点的位置和节点的有效通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G 0 ;根据G 0 中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分,包括:
步骤S1011:计算Ad hoc网络传输效率、边信息中心度;对于G 0 中两个节点间存在路径的节点对,依据所述Ad hoc网络传输效率、边信息中心度,计算节点对的节点关联度,所述节点对的节点关联度表示该节点对的两个节点间连接的紧密程度;
G 0 中节点v i v j 之间的传输效率Ɛ ij 定义为节点v i v j 间最短路径长度d ij 的倒数,本实施例中所述路径长度即节点v i v j 间的跳数;Ad hoc网络的网络传输效率为Ad hoc网络中各节点对传输效率的平均值,即
Figure 726076DEST_PATH_IMAGE001
如果节点v i 、v j 之间不存在路径,则d ij =+∞,Ɛ ij =0;
e ij 的信息中心度Ce ij 的为将边e ij G 0 中移除后,网络传输效率变化的相对量,即
Figure 703390DEST_PATH_IMAGE002
其中,G'表示G 0 移除边e ij 后的图;
节点关联度与节点间传递信息的路径相关。
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i v j 为相邻节点,则v i v j 的关联度为
Figure 7333DEST_PATH_IMAGE003
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i v j 为非相邻节点,则v i v j 的关联度为节点v i 到节点v j 的最短路径上相邻节点关联度的乘积;如果节点v i v j 之间有多条最短路径,则选择乘积最大的值作为其关联度;
步骤S1012:确定分簇质量的度量标准,定义一个k*k的对称矩阵R=[r ij ],其中r ij 表示连接两个不同族中节点的边数占网络中总边数的比例;
模块度
Figure 95506DEST_PATH_IMAGE004
其中r ii 为矩阵R=[r ij ]对角线上的元素,表示连接簇内部节点边数占总边数的比 例;
Figure 535714DEST_PATH_IMAGE005
,表示簇i中节点与其他所有簇的节点相连的边数占总边数的比例,Q 值越大说明分簇结构越明显;
步骤S1013:对初始时刻的Ad hoc网络拓扑快照G 0 分簇,包括:
步骤S10131:初始化聚类中心集Core为空,将G 0 的节点关联度写入节点关联度矩阵,设置待分簇的节点集V node ={v 1 ,v 2, …,v n },设置分簇数k,令k=2
步骤S10132:在V node 中选取一连接边最多的节点作为第一个聚类中心节点c 1 ;将聚类中心节点c 1 放入聚类中心集Core,令V node =V node - c 1
步骤S10133:根据节点关联度矩阵,计算V node 中各节点v i Core中各节点的平均关联度,
L avg (v i )=( Σ|Core|j=1NL(v i ,c j ))/|Core|,其中,v i ∈V node c j ∈Core
其中,NL(v i ,c j )为节点v i 到聚类中c j 的关联度,|Core|为聚类中心的个数;
确定平均关联度的最小值,将平均关联度最小值对应的节点v min 放入聚类中心集Core,令V node =V node - v min
步骤S10134:根据当前聚类中心集Core,应用K-means算法对V node 中的节点进行聚类;根据聚类结果确定与聚类中心点处于同一分簇的节点;
步骤S10135:根据当前分簇情况,计算模块度Q k ,若Q k Q k-1 ,则将k赋值为k+1,进入步骤S10133;否则,输出G 0 的分簇结果,分簇结束,将分簇结果作为子图划分结果。
所述步骤S102:基于初始时刻的Ad hoc网络拓扑快照G 0 及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L 0 ,包括:
步骤S1021:定义力导向布局模型,如图2所示:将初始时刻的Ad hoc网络拓扑快照G 0 划分后,得到k个互不相交的子图,此时Ad hoc网络拓扑快照G 0 中的边分为内边和外边;内边指连接同一子图中两个节点的边,外边指连接两个位于不同子图中节点的边;Ad hoc网络拓扑快照G 0 中同一子图中节点间的力为内力F Int ;拓扑快照G 0 中不同子图中节点间的力为外力F Ext
拓扑快照G 0 的子图用一称为元节点的矩形区域表示,连接元节点的边称为元边;元节点和元边构成的图为拓扑快照G 0 的元图G Meta ,元图G Meta 的布局称为元布局,元节点的位置为其所表示的子图的中心;作用在元节点上的力称为元力F Meta ,元力作用于元节点所表示的子图包含的所有节点上;
步骤S1022:定义计算节点v所受内力的斥力F Int r (v)、引力F Int a (v)的计算方式:
Figure DEST_PATH_IMAGE017
其中,E为图G 0 边的集合,pos(u)pos(v)表示节点uv的布局位置,k cluster 为调节子图内节点间布局距离的常数,k cluster =k global /2;k global 为用于调节全图节点间布局距离的常数,k global =(布局空间的像素面积/图中的节点数)1/2pos(u)pos(v)表示节点uv的布局位置;
u 、v∈C i ,表示节点u 、v均属于同一个簇C i ,对于同一个簇中的节点,计算内力;
步骤S1023:定义计算节点 v所受外力的斥力F Ext r (v)、引力F Ext a (v)的计算方式:
Figure 559296DEST_PATH_IMAGE018
u∈C j 、v∈C i ,表示节点u 、v属于不同的簇;对于属于不同簇中的节点,计算外力;
步骤S1024:定义计算元布局中元节点C i 所受的斥力F Meta r (C i )、引力F Meta a (C i )的计算方式:
Figure DEST_PATH_IMAGE019
其中,C为元节点集合,E meta 为元边集合,CG(C i )表示元节点C i 的位置,为其所表示的子图的中心,计算方式如下:
Figure 632426DEST_PATH_IMAGE009
其中,|C i |表示簇C i 中节点的个数;
步骤S1025:定义计算节点v的综合合力的计算方式:
F Comp (v) = F Int (v) + S(Count) F Ext (v) +(1-S(Count)) F Meta (v)
其中,F Comp (v) 为作用在节点v上的综合合力, F Int (v)F Ext (v)F Meta (v)分别表示节点v受到的内力、外力、元力,F Int (v) = F Int r (v)+F Int a (v)F Ext (v)= F Ext r (v)+F Ext a (v)F Meta (v)= F Meta r (v)+F Meta a (v)S(Count) 为一随迭代次数Count变化的函数,S(Count)∈[0,1];
整个布局过程可以看成是一个从子图布局逐步向元布局过渡的过程,本实施例采用基于迭代次数的控制方法控制过渡过程。S(Count) 为一随迭代次数Count变化的函数,S (Count)∈[0,1] ,S(Count)随着迭代次数Count的变化如图3所示。
S(Count)的控制下整个布局分为三个阶段。[0, Count 1]阶段,S(Count)=1,作用在节点v上的综合合力为
Figure DEST_PATH_IMAGE021
,这时不考虑元力对布局的影响;[Count 1, Count 2]阶段,作用在节点v上的综合合力由式F Comp (v) = F Int (v) + S(Count) F Ext (v) +(1-S(Count)) F Meta (v)计算所得。S(Count)的逐渐减小,导致外力F Ext 对布局影响逐渐减小,元力F Meta 对布局影响逐渐增加;[Count 2, Count end]阶段,S(Count)=0,作用在节点v上的综合合力为F Comp (v) = F Int (v) +F Meta (v),这时主要通过元力的影响调整子图的位置,消除元节点的重叠。
Count 1 Count 2 Count end 的取值与节点初始布局位置相关,根据用户使用需求设定,通常Count 1 :Count 2 :Count end =1:2:3
如果节点初始布局位置设置比较合理,则迭代较少次数就可以满足布局质量。
步骤S1026:对初始时刻的Ad hoc网络拓扑快照G 0 进行布局,包括:
步骤S10261:初始化迭代次数Count=1,对G 0 中的所有节点,根据其所在簇,设置初始布局位置,同一簇内的节点布局位置相邻;
步骤S10262:计算G 0 中所有节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
步骤S10263:计算G 0 中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
步骤S10264:根据划分的子图,计算所有元节点的元斥力,如果元节点之间具有连接关系,则计算元引力;
步骤S10265:对网络拓扑快照G 0 中的所有节点计算节点综合合力F comp (v)
步骤S10266:对网络拓扑快照G 0 中的所有节点依照其综合合力F comp (v)大小和方向调整节点的布局位置,pos(v)=pos(v)+F comp (v)/节点v的度数
步骤S10267:判断节点布局的位移是否小于设定的位移,若是,输出布局结果L 0 ,对初始时刻的Ad hoc网络拓扑快照G 0 布局结束;若否,设置Count的值为Count+1。
所述步骤S103:获取当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,更新节点布局位置,获得当前时刻网络拓扑快照的布局L i ,包括:
步骤S1031:获取当前时刻t i 的网络拓扑快照G i 以及前一时刻t i-1 的网络拓扑快照G i-1 、布局L i-1
步骤S1032:通过广度优先搜索的方式遍历G i 中的节点,设置其在L i 布局中的初始位置坐标;
对于同时存在于G i G i-1 中的节点,其在L i 中的位置坐标直接采用布局L i-1 中的位置坐标;
对于存在于G i 中但不存在于G i-1 的节点v,获取节点v的邻居节点集PN(v),若邻居节点集只有一个邻居节点u,获取节点v、u所在子图在L i-1 布局的中心点,将节点v放置在节点u与该中心点连线的中点位置;若邻居节点集有多于1个的邻居节点,则利用如下公式计算节点v的坐标:
Figure 852185DEST_PATH_IMAGE022
以此得到网络拓扑快照G i 的初始布局;
步骤S1033:为G i 中所有节点在L i 中的初始布局位置设置可信度值,包括:
设置节点v的可信度度量函数Γ(v) ,具有四档可信度值,分别为1、0.25、0.1、0,节点的初始布局位置越可信,则可信度值越大;对于在G i G i-1 中没有变化的节点v,该节点v的可信度值为1;如果节点v的位置是由节点v的两个以上的邻居节点确定的,该节点v的可信度值为0.25;如果节点v的位置是由节点v的一个邻居节点确定的,该节点v的可信度值为0.1;对于无法通过有效信息确定位置的节点v,该节点v的可信度值为0;
步骤S1034:设置稳定度计算策略,即设置基于节点的初始布局位置可信度计算G i 中所有节点位置的稳定度w pin (v)策略,包括:
节点的稳定度w pin (v) 用于表征对当前时刻的网络拓扑中各节点是否需要重新布局,如果节点的稳定度w pin (v) =1,表示节点v的位置在接下来的布局过程中保持不变;如果节点的稳定度w pin (v) =0,表示节点v的位置在接下来的布局过程中可以自由;节点v的位置的稳定度由该节点的初始位置的可信度Γ(v)及其邻居节点位置的可信度Γ(u)确定,u∈ PN(v),节点v的稳定度w pin (v)为:
Figure 209217DEST_PATH_IMAGE023
其中,α∈[0,1],α取较大的值,则可以减小邻居节点对节点v在布局过程中的影响。本实施例中,α=0.6
步骤S1035:设置Ad hoc网络分簇结果的调整策略:
在每个簇中设置一预设数量的占位节点;占位节点在布局时与其他节点同等对待;每个簇中设置的占位节点个数为[0,3]
设置占位空节点的操作规则:当一个节点从某一簇中移出时,该簇中的空节点数加1,新增空节点占据移出节点在该簇中原来所在的位置;当一个簇中移入一个新节点时,该簇中的空节点数减1,新节点占据该簇中原空节点的位置;
对同一个簇中节点的移出和移入操作进行配对,新移入的节点占据移出节点的位置;对于无法配对处理的节点,按所述占位空节点的操作规则进行处理;
所述占位节点用于减少相邻布局中由于节点在不同簇中的,而引发的簇大小和簇位置的变化。
步骤S1036:根据当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,生成当前时刻网络拓扑快照的布局L i
步骤S10361:初始化,设置迭代次数Count=1,基于节点的稳定度控制参与合力计算和位置调整节点数的稳定度控制变量fr done =0,;
步骤S10362:获取L i 的初始布局;
步骤S10363:根据所述稳定度计算策略获取当前时刻的网络拓扑快照G i 中所有节点的稳定度w pin (v)
步骤S10364:对网络拓扑快照G i 分簇,运用分簇结构的力导向布局模型调整节点的位置,生成布局L i ,包括:
步骤S103641:计算网络拓扑快照G i 中所有fr done w pin (v) 的节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
步骤S103642:计算网络拓扑快照G i 中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
步骤S103643:根据网络拓扑快照G i 当前簇结构的子图的划分,计算所有元节点的元斥力;如果元节点之间有连接关系,则计算元引力;
步骤S103644:对网络拓扑快照G i 中所有fr done w pin (v) 的节点,计算节点v的综合合力F comp (v)并根据综合合力F comp (v)调整节点v的布局位置pos(v)=pos(v)+F comp (v)/节 点v的度数
步骤S103645:fr done =fr done +Count -1 Count -1 为迭代次数Count的倒数;
步骤S103646:判断节点布局的位移是否小于设定的阈值,若是,输出布局结果L i ;否是,迭代次数Count赋值为Count+1,进入步骤S103641。
本发明实施例进一步给出一种Ad hoc网络的网络拓扑动态布局的装置,如图4所示,所述装置包括:
分簇模块:基于初始时刻Ad hoc网络节点的位置和节点的通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G 0 ;根据G 0 中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分;
初始布局模块:基于初始时刻的Ad hoc网络拓扑快照G 0 及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L 0
图序列布局模块:获取当前时刻的网络拓扑快照G i 和前一时刻网络拓扑快照G i-1 的布局L i-1 ,更新节点布局位置,获得当前时刻网络拓扑快照的布局L i
本发明实施例进一步给出一种Ad hoc网络的网络拓扑动态布局的系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的Ad hoc网络的网络拓扑动态布局的方法。
本发明实施例进一步给出一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的Ad hoc网络的网络拓扑动态布局的方法。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Windows或者Windows Server操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (8)

1.一种Ad hoc网络的网络拓扑动态布局方法,其特征在于,包括以下步骤:
步骤S101:基于初始时刻Ad hoc网络节点的位置和节点的通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G0;根据G0中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分;
步骤S102:基于初始时刻的Ad hoc网络拓扑快照G0及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L0
步骤S103:获取当前时刻的网络拓扑快照Gi和前一时刻网络拓扑快照
Gi-1的布局Li-1,更新节点布局位置,获得当前时刻网络拓扑快照的布局Li
所述步骤S101:基于初始时刻Ad hoc网络节点的位置和节点的有效通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G0;根据G0中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分,具体包括:
步骤S1011:计算Ad hoc网络传输效率、边信息中心度;对于G0中两个节点间存在路径的节点对,依据所述Ad hoc网络传输效率、边信息中心度,计算节点对的节点关联度,所述节点对的节点关联度表示该节点对的两个节点间连接的紧密程度,具体包括:
G0中节点vi、vj之间的传输效率εij定义为节点vi、vj间最短路径长度dij的倒数,所述路径长度即节点vi、vj间的跳数;Ad hoc网络的网络传输效率为Ad hoc网络中各节点对传输效率的平均值,即
Figure FDA0003648999740000021
如果节点vi、vj之间不存在路径,则dij=+∞,εij=0;
边eij的信息中心度Ceij为将边eij从G0中移除后,网络传输效率变化的相对量,即
Figure FDA0003648999740000022
其中,G'表示G0移除边eij后的图;
节点关联度与节点间传递信息的路径相关;
对于G0中两个节点间存在路径的节点对(vi,vj),若vi、vj为相邻节点,则vi、vj的关联度为
Figure FDA0003648999740000023
对于G0中两个节点间存在路径的节点对(vi,vj),若vi、vj为非相邻节点,则vi、vj的关联度为节点vi到节点vj的最短路径上相邻节点关联度的乘积;如果节点vi、vj之间有多条最短路径,则选择乘积最大的值作为其关联度;
步骤S1012:确定分簇质量的度量标准,定义一个k*k的对称矩阵R=[rij],其中rij表示连接两个不同族中节点的边数占网络中总边数的比例;
模块度
Figure FDA0003648999740000024
其中rii为矩阵R=[rij]对角线上的元素,表示连接簇内部节点边数占总边数的比例;
Figure FDA0003648999740000031
表示簇i中节点与其他所有簇的节点相连的边数占总边数的比例,Q值越大说明分簇结构越明显;
步骤S1013:对初始时刻的Ad hoc网络拓扑快照G0分簇,具体包括:
步骤S10131:初始化聚类中心集Core为空,将G0的节点关联度写入节点关联度矩阵,设置待分簇的节点集Vnode={v1,v2,…,vn},设置分簇数k,令k=2;
步骤S10132:在Vnode中选取一连接边最多的节点作为第一个聚类中心节点c1;将聚类中心节点c1放入聚类中心集Core,令Vnode=Vnode-c1
步骤S10133:根据节点关联度矩阵,计算Vnode中各节点vi与Core中各节点的平均关联度,
Figure FDA0003648999740000032
其中,vi∈Vnode,cj∈Core
其中,NL(vi,cj)为节点vi到聚类中心节点cj的关联度,|Core|为聚类中心的个数;
确定平均关联度的最小值,将平均关联度最小值对应的节点vmin放入聚类中心集Core,令Vnode=Vnode-vmin
步骤S10134:根据当前聚类中心集Core,应用K-means算法对Vnode中的节点进行聚类;根据聚类结果确定与聚类中心点处于同一分簇的节点;
步骤S10135:根据当前分簇情况,计算模块度Qk,若Qk≥Qk-1,则将k赋值为k+1,进入步骤S10133;否则,输出G0的分簇结果,分簇结束,将分簇结果作为子图划分结果。
2.如权利要求1所述的Ad hoc网络的网络拓扑动态布局方法,其特征在于,所述步骤S102:基于初始时刻的Ad hoc网络拓扑快照G0及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L0,包括:
步骤S1021:定义力导向布局模型:将初始时刻的Ad hoc网络拓扑快照G0划分后,得到k个互不相交的子图,此时Ad hoc网络拓扑快照G0中的边分为内边和外边;内边指连接同一子图中两个节点的边,外边指连接两个位于不同子图中节点的边;Ad hoc网络拓扑快照G0中同一子图中节点间的力为内力FInt;拓扑快照G0中不同子图中节点间的力为外力FExt
拓扑快照G0的子图用一称为元节点的矩形区域表示,连接元节点的边称为元边;元节点和元边构成的图为拓扑快照G0的元图GMeta,元图GMeta的布局称为元布局,元节点的位置为其所表示的子图的中心;作用在元节点上的力称为元力FMeta,元力作用于元节点所表示的子图包含的所有节点上;
步骤S1022:定义计算节点v所受内力的斥力FInt r(v)、引力FInt a(v)的计算方式:
Figure FDA0003648999740000041
Figure FDA0003648999740000042
其中,E为图G0边的集合,pos(u)、pos(v)表示节点u、v的布局位置,kcluster为调节子图内节点间布局距离的常数,kcluster=kglobal/2;kglobal为用于调节全图节点间布局距离的常数,kglobal=(布局空间的像素面积/图中的节点数)1/2,pos(u)、pos(v)表示节点u、v的布局位置;
u、v均∈Ci,表示节点u、v均属于同一个簇Ci,对于同一个簇中的节点,计算内力;
步骤S1023:定义计算节点v所受外力的斥力FExt r(v)、引力FExt a(v)的计算方式:
Figure FDA0003648999740000051
Figure FDA0003648999740000052
u∈Cj、v∈Ci,表示节点u、v属于不同的簇;对于属于不同簇中的节点,计算外力;
步骤S1024:定义计算元布局中元节点Ci所受的斥力FMeta r(Ci)、引力FMeta a(Ci)的计算方式:
Figure FDA0003648999740000053
Figure FDA0003648999740000054
其中,C为元节点集合,Emeta为元边集合,CG(Ci)表示元节点Ci的位置,为其所表示的子图的中心,计算方式如下:
Figure FDA0003648999740000055
其中,|Ci|表示簇Ci中节点的个数;
步骤S1025:定义计算节点v的综合合力的计算方式:
FComp(v)=FInt(v)+S(Count)FExt(v)+(1-S(Count))FMeta(v)
其中,FComp(v)为作用在节点v上的综合合力,FInt(v)、FExt(v)、FMeta(v)分别表示节点v受到的内力、外力、元力,FInt(v)=FInt r(v)+FInt a(v)、FExt(v)=FExt r(v)+FExt a(v)、FMeta(v)=FMeta r(v)+FMeta a(v);S(Count)为一随迭代次数Count变化的函数,S(Count)∈[0,1];
步骤S1026:对初始时刻的Ad hoc网络拓扑快照G0进行布局,包括:
步骤S10261:初始化迭代次数Count=1,对G0中的所有节点,根据其所在簇,设置初始布局位置,同一簇内的节点布局位置相邻;
步骤S10262:计算G0中所有节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
步骤S10263:计算G0中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
步骤S10264:根据划分的子图,计算所有元节点的元斥力,如果元节点之间具有连接关系,则计算元引力;
步骤S10265:对网络拓扑快照G0中的所有节点计算节点综合合力Fcomp(v);
步骤S10266:对网络拓扑快照G0中的所有节点依照其综合合力Fcomp(v)大小和方向调整节点的布局位置,pos(v)=pos(v)+Fcomp(v)/节点v的度数;
步骤S10267:判断节点布局的位移是否小于设定的位移,若是,输出布局结果L0,对初始时刻的Ad hoc网络拓扑快照G0布局结束;若否,设置Count的值为Count+1。
3.如权利要求1所述的Ad hoc网络的网络拓扑动态布局方法,其特征在于,所述步骤S103:获取当前时刻的网络拓扑快照Gi和前一时刻网络拓扑快照Gi-1的布局Li-1,更新节点布局位置,获得当前时刻网络拓扑快照的布局Li,包括:
步骤S1031:获取当前时刻ti的网络拓扑快照Gi以及前一时刻ti-1的网络拓扑快照Gi-1、布局Li-1
步骤S1032:通过广度优先搜索的方式遍历Gi中的节点,设置其在Li布局中的初始位置坐标;
对于同时存在于Gi及Gi-1中的节点,其在Li中的位置坐标直接采用布局Li-1中的位置坐标;
对于存在于Gi中但不存在于Gi-1的节点v,获取节点v的邻居节点集PN(v),若邻居节点集只有一个邻居节点u,获取节点v、u所在子图在Li-1布局的中心点,将节点v放置在节点u与该中心点连线的中点位置;若邻居节点集有多于1个的邻居节点,则利用如下公式计算节点v的坐标:
Figure FDA0003648999740000071
以此得到网络拓扑快照Gi的初始布局;
步骤S1033:为Gi中所有节点在Li中的初始布局位置设置可信度值,包括:
设置节点v的可信度度量函数Γ(v),具有四档可信度值,分别为1、0.25、0.1、0,节点的初始布局位置越可信,则可信度值越大;对于在Gi与Gi-1中没有变化的节点v,该节点v的可信度值为1;如果节点v的位置是由节点v的两个以上的邻居节点确定的,该节点v的可信度值为0.25;如果节点v的位置是由节点v的一个邻居节点确定的,该节点v的可信度值为0.1;对于无法通过有效信息确定位置的节点v,该节点v的可信度值为0;
步骤S1034:设置稳定度计算策略,即设置基于节点的初始布局位置可信度计算Gi中所有节点位置的稳定度wpin(v)策略,包括:
节点的稳定度wpin(v)用于表征对当前时刻的网络拓扑中各节点是否需要重新布局,如果节点的稳定度wpin(v)=1,表示节点v的位置在接下来的布局过程中保持不变;如果节点的稳定度wpin(v)=0,表示节点v的位置在接下来的布局过程中可以自由;节点v的位置的稳定度由该节点的初始位置的可信度Γ(v)及其邻居节点位置的可信度Γ(u)确定,u∈PN(v),节点v的稳定度wpin(v)为:
Figure FDA0003648999740000072
其中,α∈[0,1];
步骤S1035:设置Ad hoc网络分簇结果的调整策略:
在每个簇中设置一预设数量的占位节点;占位节点在布局时与其他节点同等对待;每个簇中设置的占位节点个数为[0,3];
设置占位空节点的操作规则:当一个节点从某一簇中移出时,该簇中的空节点数加1,新增空节点占据移出节点在该簇中原来所在的位置;当一个簇中移入一个新节点时,该簇中的空节点数减1,新节点占据该簇中原空节点的位置;
对同一个簇中节点的移出和移入操作进行配对,新移入的节点占据移出节点的位置;对于无法配对处理的节点,按所述占位空节点的操作规则进行处理;
步骤S1036:根据当前时刻的网络拓扑快照Gi和前一时刻网络拓扑快照Gi-1的布局Li-1,生成当前时刻网络拓扑快照的布局Li
步骤S10361:初始化,设置迭代次数Count=1,基于节点的稳定度控制参与合力计算和位置调整节点数的稳定度控制变量frdone=0;
步骤S10362:获取Li的初始布局;
步骤S10363:根据所述稳定度计算策略获取当前时刻的网络拓扑快照Gi中所有节点的稳定度wpin(v);
步骤S10364:对网络拓扑快照Gi分簇,运用分簇结构的力导向布局模型调整节点的位置,生成布局Li,包括:
步骤S103641:计算网络拓扑快照Gi中所有frdone≥wpin(v)的节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
步骤S103642:计算网络拓扑快照Gi中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
步骤S103643:根据网络拓扑快照Gi当前簇结构的子图的划分,计算所有元节点的元斥力;如果元节点之间有连接关系,则计算元引力;
步骤S103644:对网络拓扑快照Gi中所有frdone≥wpin(v)的节点,计算节点v的综合合力Fcomp(v)并根据综合合力Fcomp(v)调整节点v的布局位置pos(v)=pos(v)+Fcomp(v)/节点v的度数;
步骤S103645:frdone=frdone+Count-1,Count-1为迭代次数Count的倒数;
步骤S103646:判断节点布局的位移是否小于设定的阈值,若是,输出布局结果Li;否是,迭代次数Count赋值为Count+1,进入步骤S103641。
4.一种Ad hoc网络的网络拓扑动态布局装置,其特征在于,所述装置包括:
分簇模块:基于初始时刻Ad hoc网络节点的位置和节点的通信距离信息,获取Ad hoc网络节点的物理连接关系,获取初始时刻的Ad hoc网络的网络拓扑快照G0;根据G0中节点的位置和连接关系,将初始时刻的Ad hoc网络节点划分到k个簇中,使得节点的划分结果达到分簇质量标准,且任意两个簇的节点集相交为空;得到初始时刻Ad hoc网络拓扑快照的子图划分;
初始布局模块:基于初始时刻的Ad hoc网络拓扑快照G0及划分的子图,进行初始布局,得到初始时刻网络拓扑快照的布局L0
图序列布局模块:获取当前时刻的网络拓扑快照Gi和前一时刻网络拓扑快照Gi-1的布局Li-1,更新节点布局位置,获得当前时刻网络拓扑快照的布局Li
所述分簇模块,包括:
第一计算子模块:计算Ad hoc网络传输效率、边信息中心度;对于G0中两个节点间存在路径的节点对,依据所述Ad hoc网络传输效率、边信息中心度,计算节点对的节点关联度,所述节点对的节点关联度表示该节点对的两个节点间连接的紧密程度;
G0中节点vi、vj之间的传输效率εij定义为节点vi、vj间最短路径长度dij的倒数,所述路径长度即节点vi、vj间的跳数;Ad hoc网络的网络传输效率为Ad hoc网络中各节点对传输效率的平均值,即
Figure FDA0003648999740000101
如果节点vi、vj之间不存在路径,则dij=+∞,εij=0;
边eij的信息中心度Ceij的为将边eij从G0中移除后,网络传输效率变化的相对量,即
Figure FDA0003648999740000102
其中,G'表示G0移除边eij后的图;
节点关联度与节点间传递信息的路径相关;
对于G0中两个节点间存在路径的节点对(vi,vj),若vi、vj为相邻节点,则vi、vj的关联度为
Figure FDA0003648999740000103
对于G0中两个节点间存在路径的节点对(vi,vj),若vi、vj为非相邻节点,则vi、vj的关联度为节点vi到节点vj的最短路径上相邻节点关联度的乘积;如果节点vi、vj之间有多条最短路径,则选择乘积最大的值作为其关联度;
第一确定子模块:确定分簇质量的度量标准,定义一个k*k的对称矩阵R=[rij],其中rij表示连接两个不同族中节点的边数占网络中总边数的比例;
模块度
Figure FDA0003648999740000104
其中rii为矩阵R=[rij]对角线上的元素,表示连接簇内部节点边数占总边数的比例;
Figure FDA0003648999740000111
表示簇i中节点与其他所有簇的节点相连的边数占总边数的比例,Q值越大说明分簇结构越明显;
第一分簇子模块:用于对初始时刻的Ad hoc网络拓扑快照G0分簇,包括:
初始化子模块:初始化聚类中心集Core为空,将G0的节点关联度写入节点关联度矩阵,设置待分簇的节点集Vnode={v1,v2,…,vn},设置分簇数k,令k=2;
选择子模块:在Vnode中选取一连接边最多的节点作为第一个聚类中心节点c1;将聚类中心节点c1放入聚类中心集Core,令Vnode=Vnode-c1
关联子模块:根据节点关联度矩阵,计算Vnode中各节点vi与Core中各节点的平均关联度,
Figure FDA0003648999740000112
其中,vi∈Vnode,cj∈Core
其中,NL(vi,cj)为节点vi到聚类中cj的关联度,|Core|为聚类中心的个数;
确定平均关联度的最小值,将平均关联度最小值对应的节点vmin放入聚类中心集Core,令Vnode=Vnode-vmin
确定中心点子模块:根据当前聚类中心集Core,应用K-means算法对Vnode中的节点进行聚类;根据聚类结果确定与聚类中心点处于同一分簇的节点;
第一输出子模块:根据当前分簇情况,计算模块度Qk
5.如权利要求4所述的Ad hoc网络的网络拓扑动态布局装置,其特征在于,所述初始布局模块,包括:
第一定义子模块:定义力导向布局模型,用于将初始时刻的Ad hoc网络拓扑快照G0划分后,得到k个互不相交的子图,此时Ad hoc网络拓扑快照G0中的边分为内边和外边;内边指连接同一子图中两个节点的边,外边指连接两个位于不同子图中节点的边;Ad hoc网络拓扑快照G0中同一子图中节点间的力为内力FInt;拓扑快照G0中不同子图中节点间的力为外力FExt
拓扑快照G0的子图用一称为元节点的矩形区域表示,连接元节点的边称为元边;元节点和元边构成的图为拓扑快照G0的元图GMeta,元图GMeta的布局称为元布局,元节点的位置为其所表示的子图的中心;作用在元节点上的力称为元力FMeta,元力作用于元节点所表示的子图包含的所有节点上;
第二定义子模块:定义计算节点v所受内力的斥力FInt r(v)、引力FInt a(v)的计算方式:
Figure FDA0003648999740000121
Figure FDA0003648999740000122
其中,E为图G0边的集合,pos(u)、pos(v)表示节点u、v的布局位置,kcluster为调节子图内节点间布局距离的常数,kcluster=kglobal/2;kglobal为用于调节全图节点间布局距离的常数,kglobal=(布局空间的像素面积/图中的节点数)1/2,pos(u)、pos(v)表示节点u、v的布局位置;
u、v均∈Ci,表示节点u、v均属于同一个簇Ci,对于同一个簇中的节点,计算内力;
第三定义子模块:定义计算节点v所受外力的斥力FExt r(v)、引力FExt a(v)的计算方式:
Figure FDA0003648999740000131
Figure FDA0003648999740000132
u∈Cj、v∈Ci,表示节点u、v属于不同的簇;对于属于不同簇中的节点,计算外力;
第四定义子模块:定义计算元布局中元节点Ci所受的斥力FMeta r(Ci)、引力FMeta a(Ci)的计算方式:
Figure FDA0003648999740000133
Figure FDA0003648999740000134
其中,C为元节点集合,Emeta为元边集合,CG(Ci)表示元节点的位置,为其所表示的子图的中心,计算方式如下:
Figure FDA0003648999740000135
其中,|Ci|表示簇Ci中节点的个数;
第五定义子模块:定义计算节点的综合合力的计算方式,
FComp(v)=FInt(v)+S(Count)FExt(v)+(1-S(Count))FMeta(v)
其中,FComp(v)为作用在节点v上的综合合力,FInt(v)、FExt(v)、FMeta(v)分别表示节点v受到的内力、外力、元力,FInt(v)=FInt r(v)+FInt a(v)、FExt(v)=FExt r(v)+FExt a(v)、FMeta(v)=FMeta r(v)+FMeta a(v);S(Count)为一随迭代次数Count变化的函数,S(Count)∈[0,1];
第一布局子模块:对初始时刻的Ad hoc网络拓扑快照G0进行布局,包括:
第二初始化模块:初始化迭代次数Count=1,对G0中的所有节点,根据其所在簇,设置初始布局位置,同一簇内的节点布局位置相邻;
第二计算子模块:计算G0中所有节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
第三计算子模块:计算G0中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
第四计算子模块:根据划分的子图,计算所有元节点的元斥力,如果元节点之间具有连接关系,则计算元引力;
第五计算子模块:对网络拓扑快照G0中的所有节点计算节点综合合力Fcomp(v);
第一调整子模块:对网络拓扑快照G0中的所有节点依照其综合合力Fcomp(v)大小和方向调整节点的布局位置,pos(v)=pos(v)+Fcomp(v)/节点v的度数;
第二判断子模块:判断节点布局的位移是否小于设定的位移。
6.如权利要求4所述的Ad hoc网络的网络拓扑动态布局装置,其特征在于,所述图序列布局模块,包括:
第三获取子模块:获取当前时刻ti的网络拓扑快照Gi以及前一时刻ti-1的网络拓扑快照Gi-1、布局Li-1
坐标获取子模块:通过广度优先搜索的方式遍历Gi中的节点,设置其在Li布局中的初始位置坐标;
对于同时存在于Gi及Gi-1中的节点,其在Li中的位置坐标直接采用布局Li-1中的位置坐标;
对于存在于Gi中但不存在于Gi-1的节点v,获取节点v的邻居节点集PN(v),若邻居节点集只有一个邻居节点u,获取节点v、u所在子图在Li-1布局的中心点,将节点v放置在节点u与该中心点连线的中点位置;若邻居节点集有多于1个的邻居节点,则利用如下公式计算节点v的坐标:
Figure FDA0003648999740000151
以此得到网络拓扑快照Gi的初始布局;
可信度值确定子模块:为Gi中所有节点在Li中的初始布局位置设置可信度值,包括:
设置节点v的可信度度量函数Γ(v),具有四档可信度值,分别为1、0.25、0.1、0,节点的初始布局位置越可信,则可信度值越大;对于在Gi与Gi-1中没有变化的节点v,该节点v的可信度值为1;如果节点v的位置是由节点v的两个以上的邻居节点确定的,该节点v的可信度值为0.25;如果节点v的位置是由节点v的一个邻居节点确定的,该节点v的可信度值为0.1;对于无法通过有效信息确定位置的节点v,该节点v的可信度值为0;
稳定度确定子模块:设置稳定度计算策略,即设置基于节点的初始布局位置可信度计算Gi中所有节点位置的稳定度wpin(v)策略,包括:
节点的稳定度wpin(v)用于表征对当前时刻的网络拓扑中各节点是否需要重新布局,如果节点的稳定度wpin(v)=1,表示节点v的位置在接下来的布局过程中保持不变;如果节点的稳定度wpin(v)=0,表示节点v的位置在接下来的布局过程中可以自由;节点v的位置的稳定度由该节点的初始位置的可信度Γ(v)及其邻居节点位置的可信度Γ(u)确定,u∈PN(v),节点v的稳定度wpin(v)为:
Figure FDA0003648999740000152
其中,α∈[0,1];
调整策略子模块:设置Ad hoc网络分簇结果的调整策略:
在每个簇中设置一预设数量的占位节点;占位节点在布局时与其他节点同等对待;每个簇中设置的占位节点个数为[0,3];
设置占位空节点的操作规则:当一个节点从某一簇中移出时,该簇中的空节点数加1,新增空节点占据移出节点在该簇中原来所在的位置;当一个簇中移入一个新节点时,该簇中的空节点数减1,新节点占据该簇中原空节点的位置;
对同一个簇中节点的移出和移入操作进行配对,新移入的节点占据移出节点的位置;对于无法配对处理的节点,按所述占位空节点的操作规则进行处理;
布局生成子模块:根据当前时刻的网络拓扑快照Gi和前一时刻网络拓扑快照Gi-1的布局Li-1,生成当前时刻网络拓扑快照的布局Li
第三初始化模块:初始化,设置迭代次数Count=1,基于节点的稳定度控制参与合力计算和位置调整节点数的稳定度控制变量frdone=0;
初始布局获取子模块:获取Li的初始布局;
第二稳定度获取子模块:根据所述稳定度计算策略获取当前时刻的网络拓扑快照Gi中所有节点的稳定度wpin(v);
调整位置子模块:对网络拓扑快照Gi分簇,运用分簇结构的力导向布局模型调整节点的位置,生成布局Li,包括:
第一快照子模块:计算网络拓扑快照Gi中所有frdone≥wpin(v)的节点的斥力,如果两个节点属于同一子图则计算内斥力,否则计算外斥力;
第一引力计算子模块:计算网络拓扑快照Gi中所有有连接关系的节点间的引力,如果两个节点属于同一个子图则计算内引力,否则计算外引力;
第二引力计算子模块:根据网络拓扑快照Gi当前簇结构的子图的划分,计算所有元节点的元斥力;如果元节点之间有连接关系,则计算元引力;
调整位置计算子模块:对网络拓扑快照Gi中所有frdone≥wpin(v)的节点,计算节点v的综合合力Fcomp(v)并根据综合合力Fcomp(v)调整节点v的布局位置pos(v)=pos(v)+Fcomp(v)/节点v的度数;
赋值子模块:frdone=frdone+Count-1,Count-1为迭代次数Count的倒数;
第三判断子模块:判断节点布局的位移是否小于设定的阈值。
7.一种分簇Ad hoc网络的网络拓扑动态布局的系统,其特征在于,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求1-3之任一项所述的Ad hoc网络的网络拓扑动态布局的方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1-3之任一项所述的Ad hoc网络的网络拓扑动态布局的方法。
CN202010438449.1A 2020-05-22 2020-05-22 分簇Ad hoc网络的网络拓扑动态布局的方法及装置 Active CN111585825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010438449.1A CN111585825B (zh) 2020-05-22 2020-05-22 分簇Ad hoc网络的网络拓扑动态布局的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010438449.1A CN111585825B (zh) 2020-05-22 2020-05-22 分簇Ad hoc网络的网络拓扑动态布局的方法及装置

Publications (2)

Publication Number Publication Date
CN111585825A CN111585825A (zh) 2020-08-25
CN111585825B true CN111585825B (zh) 2022-07-08

Family

ID=72117666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010438449.1A Active CN111585825B (zh) 2020-05-22 2020-05-22 分簇Ad hoc网络的网络拓扑动态布局的方法及装置

Country Status (1)

Country Link
CN (1) CN111585825B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632196B (zh) * 2021-01-06 2024-05-28 中国工商银行股份有限公司 一种数据可视化方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104284388A (zh) * 2014-10-20 2015-01-14 上海电机学院 一种移动Ad Hoc网络自主分簇及路由方法
CN106358243A (zh) * 2016-10-10 2017-01-25 石家庄铁道大学 一种海空广域自组织网络分簇方法
CN106792976A (zh) * 2017-01-25 2017-05-31 北京邮电大学 一种无线自组织网络中节点的定位方法及装置
CN108600022A (zh) * 2018-04-28 2018-09-28 中国人民解放军国防科技大学 一种动态网络布局加速方法
CN109962811A (zh) * 2019-01-07 2019-07-02 西南科技大学 一种针对时变网络数据的增量式稳态布局方法
WO2019220447A1 (en) * 2018-05-17 2019-11-21 Neragon Networks Ltd Mobile ad-hoc wireless networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104284388A (zh) * 2014-10-20 2015-01-14 上海电机学院 一种移动Ad Hoc网络自主分簇及路由方法
CN106358243A (zh) * 2016-10-10 2017-01-25 石家庄铁道大学 一种海空广域自组织网络分簇方法
CN106792976A (zh) * 2017-01-25 2017-05-31 北京邮电大学 一种无线自组织网络中节点的定位方法及装置
CN108600022A (zh) * 2018-04-28 2018-09-28 中国人民解放军国防科技大学 一种动态网络布局加速方法
WO2019220447A1 (en) * 2018-05-17 2019-11-21 Neragon Networks Ltd Mobile ad-hoc wireless networks
CN109962811A (zh) * 2019-01-07 2019-07-02 西南科技大学 一种针对时变网络数据的增量式稳态布局方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A weighted clustering algorithm based on node stability for Ad Hoc Networks;Jianmin Du等;《IEEE》;20171201;全文 *
一种基于分簇的分布式无线传感器网络拓扑控制算法研究;李方敏等;《传感技术学报》;20080615(第06期);全文 *
无线传感器网络启发式分簇拓扑控制方法;陈军;《科学技术与工程》;20180708(第19期);全文 *

Also Published As

Publication number Publication date
CN111585825A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
US11144828B2 (en) Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same
Hoefler et al. Generic topology mapping strategies for large-scale parallel architectures
Sariyüce et al. Betweenness centrality on GPUs and heterogeneous architectures
JP2021517295A (ja) レコメンダシステムのための高効率畳み込みネットワーク
CN105512242B (zh) 一种基于社会网络结构的并行推荐方法
WO2014080304A2 (en) Multi-objective server placement determination
CN111400555A (zh) 图数据查询任务处理方法、装置、计算机设备和存储介质
CN108804383B (zh) 基于度量空间的支撑点并行枚举方法及装置
JP2022020070A (ja) 情報処理、情報推薦の方法および装置、電子デバイス及び記憶媒体
Iverson et al. Evaluation of connected-component labeling algorithms for distributed-memory systems
CN111585825B (zh) 分簇Ad hoc网络的网络拓扑动态布局的方法及装置
CN108737491B (zh) 信息推送方法和装置以及存储介质、电子装置
Li et al. GAP: Genetic algorithm based large-scale graph partition in heterogeneous cluster
WO2020124488A1 (zh) 应用进程映射方法、电子装置及计算机可读存储介质
WO2021027745A1 (zh) 一种图重构方法及装置
CN104050189B (zh) 页面共享处理方法及装置
CN104778088A (zh) 一种基于减少进程间通信开销的并行i/o优化方法与系统
Mirsadeghi et al. PTRAM: A parallel topology-and routing-aware mapping framework for large-scale HPC systems
CN111028092A (zh) 基于Louvain算法的社区发现方法、计算机设备及其可读存储介质
CN116521782A (zh) 一种数据资产地图获取方法、装置、设备、介质及产品
CN116094941A (zh) 基于共识合作超网络模型的共识方法、系统、介质、电子设备
Yuan et al. Research on the fusion method of spatial data and multimedia information of multimedia sensor networks in cloud computing environment
Toeda et al. On edge bundling and node layout for mutually connected directed graphs
CN108011735A (zh) 社区发现方法及装置
CN112579831A (zh) 基于SimRank全局矩阵平滑收敛的网络社区发现方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant