一种基于总体布局的随机网络拓扑结构生成方法
【专利摘要】本发明提供的是一种基于总体布局的随机网络拓扑结构生成方法。该方法使用随机数生成模拟随机网络,突出模拟网络的随机性,并对所生成的随机数进行控制,保证每次产生的模型网络从顶点分布到连接方式都不尽相同。本发明克服了随机网络拓扑很难贴近真实网络的缺点,生成一种更加贴近真实网络结构特性的网络拓扑。
【专利说明】一种基于总体布局的随机网络拓扑结构生成方法
(-)【技术领域】
[0001]本发明涉及的是一种基于总体布局的随机网络拓扑结构生成方法。
(二)【背景技术】
[0002]在计算机网络研究中,经常需要对新的应用程序、体系结构或者协议等进行评估,因此基于真实网络的网络模拟就成了计算机网络研究的一种重要方法。由于网络存在多样性和复杂性,如何抽象并模拟真实的网络环境就成为信息系统仿真当前研究的重要问题。
[0003]当前对于信息系统仿真主要采用的是网络拓扑模型。在网络拓扑模型中,用尽量能反映真实网络的模型作为对真实网络环境的一种抽象,使之作为网络模拟的基本输入,是取得正确结果的必要条件。
[0004]目前对于网络拓扑的生成主要有三种方法:人为指定拓扑结构,从网络拓扑库中选择典型拓扑结构;以一定的模型和算法为基础由计算机辅助生成;简单随机建模方法,即在平面内随机选择顶点并将其连接。其中,前两种方法基本是以传统的网络拓扑(例如星形、环形、树形、总线型、网状等结构)和一些著名的拓扑模型(ARPAnet、NSFnet)为基础的,生成的网络结构仅能反映过去和现在网络的特性,却不能反映将来可能出现的、并且与过去和现在均不同的网络结构,前两种方法对生成的网络拓扑结构对于网络的研究而言,不具有普遍性;第三种方法随机产生顶点并使之相联通,虽然具有一定的随机性,但是这种随机效果在实际应用过程中受随机算法的影响较大,缺乏使用价值。
[0005]为此,我们提出了一种基于总体布局的随机网络拓扑生成方法,通过多次随机过程分别产生网络结点数量、网络边的数量,使得生成的网络的随机性较强,然后,通过删除多余结点来优化网络结构,并由此生成随机网络拓扑。在实现上,一种随机网络拓扑的生成方法包括:生成两个随机数,第一个用于确定网络结点的数目N,第二个用于确定网络具有的连接边的数量M,然后生成M对随机数,每一对表示这两个结点具有一个连接,这样就生成了随机网络图,然后遍历网络结点,将所有的孤儿结点(该结点与其他任何结点都没有连接)删除,同时,如果任意两个结点之间多于I条边时则删除多余的边,生成最终的优化的网络拓扑。我们所提出的随机网络拓扑结构的生成方法为网络路由算法的研究提供了基础。
(三)
【发明内容】
[0006]本发明的目的在于一种基于总体布局的随机网络拓扑结构生成方法。该方法使用随机数生成方法来模拟生成随机网络,突出模拟网络的随机性,每次产生的模型网络从顶点分布到连接方式都不尽相同。并且克服随机网络拓扑很难贴近真实网络的缺点,生成一种更加贴近真实网络结构特性的网络拓扑。
[0007]本发明的目的是这样实现的:设生成随机整数N,N>1为网络结点的数目,生成随机整数M为需要网络中边的数目,满足0〈M≤(NX (N-1)) 2,否则重新生成M ;使用N*N维矩阵G记录网络结点连接关系的拓扑图,矩阵中元素Gu (l<i, j≤N)的值为O或者1,0表示网络结点i和结点j不存在连接通路,I表示网络结点i和结点j之间存在连接通路,任意两个结点间只保留一条直接连接通路;初始化矩阵G,使得矩阵G中所有元素的值为O ;生成 M 对随机数(A1, BJ...(Ai, BJ...{Am, B1J,其中 Ai, Bi e {1,2,...,N}且 Ai 关 Bi ; (Ai, Bj 表示结点Ai和结点Bi间存在一条连接通路,填充矩阵G中的元素Gmm=I ;这样生成了一个随机网络拓扑图G,由于随机数中可能存在两对随机数队上},(Aj, BjI有Ai=Bj,Bi=Ad情况,这说明在生成的拓扑图中出现了两结点存在一条以上连通链路的情况,为此,将矩阵G中满足j小于等于i的所有元素Gij置为O,然后计算矩阵G中I的个数NUM,此时NUM是已经生成的随机网络中连接边数;如果NUM〈M,则生成M-NUM对随机数,填充矩阵G,并将矩阵G中满足j小于等于i的所有元素Gij置为O,再次计算矩阵G中I的个数NUM,如果NUM〈M则重复本步骤直至NUM的值等于M ;如果矩阵G中存在一行或一列的值均为O,即存在Gi j=0(j=l, 2…η)或者Gij=O (i=l, 2....η),表明结点i或者结点j不与其它结点连通,则将该结点删除,最终用矩阵G表示优化的网络拓扑结构,这样就生成了一种基于总体布局的网络拓扑结构;
[0008]具体步骤为:
[0009](I)生成随机数N,用于表示网络结点数;
[0010](2)生成随机数M,用于表示网络中连接边数;
[0011](3)如果0〈M≤(NX (N-1)) 2,则执行步骤4 ;否则执行步骤2 ;
[0012](4)初始化生成N*N维矩阵G,G中元素均为O ;
[0013](5)初始化NUM=O,用于表示矩阵G中元素I的个数;
[0014](6)生成随机数IBJ ;
[0015](7)如果满足条件Ai Φ Bi,则执行步骤8 ;否则执行步骤6 ;
[0016](8)如果满足条件I≤Ai≤N,则执行步骤9 ;否则执行步骤6 ;
[0017](9)如果满足条件I≤Bi≤N,则执行步骤10 ;否则执行步骤6 ;
[0018](10)填充矩阵G中元素Gmm=I ;
[0019](11)将矩阵G中所有j小于等于i的元素Gij置为O ;
[0020](12)计算矩阵G中I的个数并保存在NUM中,如果NUM〈M执行步骤6 ;否则执行步骤13 ;
[0021](13)如果矩阵G中存在Gij=O,对于V』’ e [I, λ],j=l, 2...η,则删除矩阵中第i行;
[0022](14)如果矩阵G中存在Gij=O,对于Vt/ € [1,d,i=l,2....η则删除矩阵中第j列;
[0023](15)矩阵G中保存了基于总体布局的随机网络拓扑结构信息,生成程序结束。
[0024]本发明的关键在于如何保证网络结点和网络连接的随机性。为此,通过随机数确定网络结点和连接来生成整个拓扑网络,并将不满足现实连接的数值重新生成调整,在保证网络拓扑随机的基础上,使得生成的网络更加贴近真实的网络。
[0025]其主要特点如下:
[0026]1、使用随机数生成方法来确定网络拓扑的结点和连接,使每次产生的模型网络从顶点分布到连接方式都不尽相同,使生成的网络拓扑具有普遍性;
[0027]2、使用矩阵存储网络拓扑结构,去除拓扑结构中的自连接和双向连接,使生成的随机网络拓扑简洁、更贴近真实网络。(四)【专利附图】
【附图说明】
[0028]图1:一种基于总体布局的随机网络拓扑结构生成方法
(五)具体的实施方式
[0029]下面结合附图距离对本发明作更详细的描述:
[0030]本发明所述方法的特征在于:
[0031]设生成随机整数N (N) I)为网络结点的数目,生成随机整数M为需要网络中边的数目,满足0〈M≤(NX (N-1)) 2,否则重新生成M ;使用N*N维矩阵G记录网络结点连接关系的拓扑图,矩阵中元素Gu (l<i, j ≤N)的值为O或者1,O表示网络结点i和结点j不存在连接通路,I表示网络结点i和结点j之间存在连接通路,任意两个结点间只保留一条直接连接通路;初始化矩阵G,使得矩阵G中所有元素的值为O ;生成M对随机数(A1, BJ…队,8}"认?1成},其中六1上e {I, 2,..., N} J.Ai ^Bi ^AilBJ表示结点Ai和结点Bi间存在一条连接通路,填充矩阵G中的元素6_^1 ;这样生成了一个随机网络拓扑图G,由于随机数中可能存在两对随机数队上},(Aj, BjI有Ai=BpBi=Ad勺情况,这说明在生成的拓扑图中出现了两结点存在一条以上连通链路的情况,为此,将矩阵G中满足j小于等于i的所有元素Gij置为0,然后计算矩阵G中I的个数NUM,此时NUM是已经生成的随机网络中连接边数;如果NUM〈M,则生成M-NUM对随机数,填充矩阵G,并将矩阵G中满足j小于等于i的所有元素Gij置为0,再次计算矩阵G中I的个数NUM,如果NUM〈M则重复本步骤直至NUM的值等于M ;如果矩阵G中存在一行或一列的值均为0,即存在Gij=O (j=l, 2…η)或者Gij=O(i=l, 2....η),表明结点i或者结点j不与其它结点连通,则将该结点删除,最终用矩阵G表示优化的网络拓扑结构,这样就生成了一种基于总体布局的网络拓扑结构;
[0032]具体步骤为:
[0033](I)生成随机数N,用于表示网络结点数;
[0034](2)生成随机数M,用于表示网络中连接边数;
[0035](3)如果0〈M≤(NX (N-1)) 2,则执行步骤4 ;否则执行步骤2 ;
[0036](4)初始化生成N*N维矩阵G,G中元素均为O ;
[0037](5)初始化NUM=O,用于表示矩阵G中元素I的个数;
[0038](6)生成随机数(Ai, BJ ;
[0039](7)如果满足条件Ai古Bi,则执行步骤8 ;否则执行步骤6 ;
[0040](8)如果满足条件I≤Ai≤N,则执行步骤9 ;否则执行步骤6 ;
[0041](9)如果满足条件I≤Bi≤N,则执行步骤10 ;否则执行步骤6 ;
[0042](10)填充矩阵G中元素Gmm=I ;
[0043](11)将矩阵G中所有j小于等于i的元素Gij置为O ;
[0044](12)计算矩阵G中I的个数并保存在NUM中,如果NUM〈M执行步骤6 ;否则执行步骤13 ;
[0045](13)如果矩阵G中存在Gij=O,对于Vi E [1,Λ],j=l,2...n,则删除矩阵中第i行;
[0046](14)如果矩阵G中存在Gij=O,对于VJ e [I, λ] ; i=l,2....η则删除矩阵中第j列;[0047](15)矩阵G中保存了基于总体布局的随机网络拓扑结构信息,生成程序结束。
[0048]其具体实施模式是这样的:
[0049]首先生成网络结点和连接数,然后根据连接数生成随机连接数对,将连接数对映射到记录网络拓扑的矩阵中,设置矩阵中有连接的两个结点元素值为I。生成后,去掉自连接和双向连接的结点连接,重新生成随机数对作为连接,保证最后生成的网络拓扑中不存在自连接和双向连接;并去除不与其它结点连接的单个网络结点,这样使用矩阵记录了一个完整的最优化的网络拓扑结构。
【权利要求】
1.一种基于总体布局的随机网络拓扑结构生成方法,其特征在于:本发明的目的是这样实现的:设生成随机整数N,N>1为网络结点的数目,生成随机整数M为需要网络中边的数目,满足0〈M≤(NX (N-1)) 2,否则重新生成M ;使用N*N维矩阵G记录网络结点连接关系的拓扑图,矩阵中元素Gu (l<i, j ≤ N)的值为O或者1,O表示网络结点i和结点j不存在连接通路,I表示网络结点i和结点j之间存在连接通路,任意两个结点间只保留一条直接连接通路;初始化矩阵G,使得矩阵G中所有元素的值为O ;生成M对随机数(A1, BJ…队,8}"认?1成},其中六1上e {I, 2,..., N} J.Ai 、Bi 、AilBJ表示结点Ai和结点Bi间存在一条连接通路,填充矩阵G中的元素GAiBi=1 ;这样生成了一个随机网络拓扑图G,由于随机数中可能存在两对随机数队上},(Aj, BjI有Ai=BpBi=Ad勺情况,这说明在生成的拓扑图中出现了两结点存在一条以上连通链路的情况,为此,将矩阵G中满足j小于等于i的所有元素Gij置为O,然后计算矩阵G中I的个数NUM,此时NUM是已经生成的随机网络中连接边数;如果NUM〈M,则生成M-NUM对随机数,填充矩阵G,并将矩阵G中满足j小于等于i的所有元素Gij置为O,再次计算矩阵G中I的个数NUM,如果NUM〈M则重复本步骤直至NUM的值等于M ;如果矩阵G中存在一行或一列的值均为O,即存在Gij=O (j=l,2…η)或者Gij=O(i=l,2….η),表明结点i或者结点j不与其它结点连通,则将该结点删除,最终用矩阵G表示优化的网络拓扑结构,这样就生成了一种基于总体布局的网络拓扑结构; 具体步骤为: .(1)生成随机数N,用于表示网络结点数;. (2)生成随机数M,用于表示网络中连接边数; . (3)如果0〈M≤(NX(N-1)) 2,则执行步骤4 ;否则执行步骤2 ;. (4)初始化生成N*N维矩阵G,G中元素均为O; . (5)初始化NUM=O,用于表示矩阵G中元素I的个数; . (6)生成随机数(Ai,BJ ; .(7)如果满足条件Ai古Bi,则执行步骤8;否则执行步骤6 ; . (8)如果满足条件I< Ai < N,则执行步骤9 ;否则执行步骤6 ; . (9)如果满足条件I< Bi < N,则执行步骤10 ;否则执行步骤6 ; . (10)填充矩阵G中元素Gmm=I; . (11)将矩阵G中所有j小于等于i的元素Gu置为O; . (12)计算矩阵G中I的个数并保存在NUM中,如果NUM〈M执行步骤6;否则执行步骤13 ; . (13)如果矩阵G中存在Gij=O,对于Vie [I, n\,j=l, 2…n,则删除矩阵中第i行; . (14)如果矩阵G中存在Gij=O,对于Vje [I, n],i=l, 2....η则删除矩阵中第j列; . (15)矩阵G中保存了基于总体布局的随机网络拓扑结构信息,生成程序结束。
【文档编号】H04L12/751GK103457860SQ201310395219
【公开日】2013年12月18日 申请日期:2013年9月3日 优先权日:2013年9月3日
【发明者】姚文斌, 韩司, 姚翔 申请人:北京邮电大学