CN111585825B - 分簇Ad hoc网络的网络拓扑动态布局的方法及装置 - Google Patents
分簇Ad hoc网络的网络拓扑动态布局的方法及装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004364 calculation method Methods 0.000 claims abstract description 63
- 238000010586 diagram Methods 0.000 claims abstract description 16
- 230000005484 gravity Effects 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 claims description 30
- 230000008859 change Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000006073 displacement reaction Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 11
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims 4
- 230000003993 interaction Effects 0.000 claims 1
- AUZONCFQVSMFAP-UHFFFAOYSA-N disulfiram Chemical compound CCN(CC)C(=S)SSC(=S)N(CC)CC AUZONCFQVSMFAP-UHFFFAOYSA-N 0.000 description 9
- 101150057833 THEG gene Proteins 0.000 description 8
- 101100391180 Dictyostelium discoideum forG gene Proteins 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- BULVZWIRKLYCBC-UHFFFAOYSA-N phorate Chemical compound CCOP(=S)(OCC)SCSCC BULVZWIRKLYCBC-UHFFFAOYSA-N 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/20—Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing 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网络的网络拓扑动态布局的方法,所述方法包括以下步骤:
步骤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网络中各节点对传输效率的平均值,即
如果节点v i 、v j 之间不存在路径,则d ij =+∞,Ɛ ij =0;
边e ij 的信息中心度Ce ij 的为将边e ij 从G 0 中移除后,网络传输效率变化的相对量,即
其中,G'表示G 0 移除边e ij 后的图;
节点关联度与节点间传递信息的路径相关;
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i 、v j 为相邻节点,则v i 、v j 的关联度为
对于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 表示连接两个不同族中节点的边数占网络中总边数的比例;
步骤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)的计算方式:
其中,E为图G 0 边的集合,pos(u)、pos(v)表示节点u、v的布局位置,k cluster 为调节子图内节点间布局距离的常数,k cluster =k global /2;k global 为用于调节全图节点间布局距离的常数,
k global =(布局空间的像素面积/图中的节点数)1/2,
pos(u)、pos(v)表示节点u、v的布局位置;
u 、v均∈C i ,表示节点u 、v均属于同一个簇C i ,对于同一个簇中的节点,计算内力;
步骤S1023:定义计算节点 v所受外力的斥力F Ext r (v)、引力F Ext a (v)的计算方式:
u∈C j 、v∈C i ,表示节点u 、v属于不同的簇;对于属于不同簇中的节点,计算外力;
步骤S1024:定义计算元布局中元节点C i 所受的斥力F Meta r (C i )、引力F Meta a (C i )的计算方式:
其中,C为元节点集合,E meta 为元边集合,CG(C i )表示元节点C i 的位置,为其所表示的子图的中心,计算方式如下:
其中,|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的坐标:
以此得到网络拓扑快照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)为:
其中,α∈[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网络中各节点对传输效率的平均值,即
如果节点v i 、v j 之间不存在路径,则d ij =+∞,Ɛ ij =0;
边e ij 的信息中心度Ce ij 的为将边e ij 从G 0 中移除后,网络传输效率变化的相对量,即
其中,G'表示G 0 移除边e ij 后的图;
节点关联度与节点间传递信息的路径相关;
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i 、v j 为相邻节点,则v i 、v j 的关联度为:
对于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 表示连接两个不同族中节点的边数占网络中总边数的比例;
第一分簇子模块:用于对初始时刻的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)的计算方式:
其中,E为图G 0 边的集合,pos(u)、pos(v)表示节点u、v的布局位置,k cluster 为调节子图内节点间布局距离的常数,k cluster =k global /2;k global 为用于调节全图节点间布局距离的常数,k global =(布局空间的像素面积/图中的节点数)1/2,pos(u)、pos(v)表示节点u、v的布局位置;
u 、v均∈C i ,表示节点u 、v均属于同一个簇C i ,对于同一个簇中的节点,计算内力;
第三定义子模块:定义计算节点 v所受外力的斥力F Ext r (v)、引力F Ext a (v)的计算方式:
u∈C j 、v∈C i ,表示节点u 、v属于不同的簇;对于属于不同簇中的节点,计算外力;
第四定义子模块:定义计算元布局中元节点C i 所受的斥力F Meta r (C i )、引力F Meta a (C i )的计算方式:
其中,C为元节点集合,E meta 为元边集合,CG(C i )表示元节点的位置,为其所表示的子图的中心,计算方式如下:
其中,|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的坐标:
以此得到网络拓扑快照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)为:
其中,α∈[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网络中各节点对传输效率的平均值,即
如果节点v i 、v j 之间不存在路径,则d ij =+∞,Ɛ ij =0;
边e ij 的信息中心度Ce ij 的为将边e ij 从G 0 中移除后,网络传输效率变化的相对量,即
其中,G'表示G 0 移除边e ij 后的图;
节点关联度与节点间传递信息的路径相关。
对于G 0 中两个节点间存在路径的节点对(v i ,v j ),若v i 、v j 为相邻节点,则v i 、v j 的关联度为
对于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 表示连接两个不同族中节点的边数占网络中总边数的比例;
步骤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)的计算方式:
其中,E为图G 0 边的集合,pos(u)、pos(v)表示节点u、v的布局位置,k cluster 为调节子图内节点间布局距离的常数,k cluster =k global /2;k global 为用于调节全图节点间布局距离的常数,k global =(布局空间的像素面积/图中的节点数)1/2,pos(u)、pos(v)表示节点u、v的布局位置;
u 、v均∈C i ,表示节点u 、v均属于同一个簇C i ,对于同一个簇中的节点,计算内力;
步骤S1023:定义计算节点 v所受外力的斥力F Ext r (v)、引力F Ext a (v)的计算方式:
u∈C j 、v∈C i ,表示节点u 、v属于不同的簇;对于属于不同簇中的节点,计算外力;
步骤S1024:定义计算元布局中元节点C i 所受的斥力F Meta r (C i )、引力F Meta a (C i )的计算方式:
其中,C为元节点集合,E meta 为元边集合,CG(C i )表示元节点C i 的位置,为其所表示的子图的中心,计算方式如下:
其中,|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上的综合合力为,这时不考虑元力对布局的影响;[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的坐标:
以此得到网络拓扑快照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)为:
其中,α∈[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网络中各节点对传输效率的平均值,即
如果节点vi、vj之间不存在路径,则dij=+∞,εij=0;
边eij的信息中心度Ceij为将边eij从G0中移除后,网络传输效率变化的相对量,即
其中,G'表示G0移除边eij后的图;
节点关联度与节点间传递信息的路径相关;
对于G0中两个节点间存在路径的节点对(vi,vj),若vi、vj为相邻节点,则vi、vj的关联度为
对于G0中两个节点间存在路径的节点对(vi,vj),若vi、vj为非相邻节点,则vi、vj的关联度为节点vi到节点vj的最短路径上相邻节点关联度的乘积;如果节点vi、vj之间有多条最短路径,则选择乘积最大的值作为其关联度;
步骤S1012:确定分簇质量的度量标准,定义一个k*k的对称矩阵R=[rij],其中rij表示连接两个不同族中节点的边数占网络中总边数的比例;
步骤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中各节点的平均关联度,
其中,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)的计算方式:
其中,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)的计算方式:
u∈Cj、v∈Ci,表示节点u、v属于不同的簇;对于属于不同簇中的节点,计算外力;
步骤S1024:定义计算元布局中元节点Ci所受的斥力FMeta r(Ci)、引力FMeta a(Ci)的计算方式:
其中,C为元节点集合,Emeta为元边集合,CG(Ci)表示元节点Ci的位置,为其所表示的子图的中心,计算方式如下:
其中,|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的坐标:
以此得到网络拓扑快照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)为:
其中,α∈[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网络中各节点对传输效率的平均值,即
如果节点vi、vj之间不存在路径,则dij=+∞,εij=0;
边eij的信息中心度Ceij的为将边eij从G0中移除后,网络传输效率变化的相对量,即
其中,G'表示G0移除边eij后的图;
节点关联度与节点间传递信息的路径相关;
对于G0中两个节点间存在路径的节点对(vi,vj),若vi、vj为相邻节点,则vi、vj的关联度为
对于G0中两个节点间存在路径的节点对(vi,vj),若vi、vj为非相邻节点,则vi、vj的关联度为节点vi到节点vj的最短路径上相邻节点关联度的乘积;如果节点vi、vj之间有多条最短路径,则选择乘积最大的值作为其关联度;
第一确定子模块:确定分簇质量的度量标准,定义一个k*k的对称矩阵R=[rij],其中rij表示连接两个不同族中节点的边数占网络中总边数的比例;
第一分簇子模块:用于对初始时刻的Ad hoc网络拓扑快照G0分簇,包括:
初始化子模块:初始化聚类中心集Core为空,将G0的节点关联度写入节点关联度矩阵,设置待分簇的节点集Vnode={v1,v2,…,vn},设置分簇数k,令k=2;
选择子模块:在Vnode中选取一连接边最多的节点作为第一个聚类中心节点c1;将聚类中心节点c1放入聚类中心集Core,令Vnode=Vnode-c1;
关联子模块:根据节点关联度矩阵,计算Vnode中各节点vi与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)的计算方式:
其中,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)的计算方式:
u∈Cj、v∈Ci,表示节点u、v属于不同的簇;对于属于不同簇中的节点,计算外力;
第四定义子模块:定义计算元布局中元节点Ci所受的斥力FMeta r(Ci)、引力FMeta a(Ci)的计算方式:
其中,C为元节点集合,Emeta为元边集合,CG(Ci)表示元节点的位置,为其所表示的子图的中心,计算方式如下:
其中,|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的坐标:
以此得到网络拓扑快照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)为:
其中,α∈[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网络的网络拓扑动态布局的方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632196B (zh) * | 2021-01-06 | 2024-05-28 | 中国工商银行股份有限公司 | 一种数据可视化方法、装置及存储介质 |
Citations (6)
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 |
-
2020
- 2020-05-22 CN CN202010438449.1A patent/CN111585825B/zh active Active
Patent Citations (6)
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)
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 |