一种基于最短通信时间的网络结点通信模拟方法

文档序号:8006369阅读:177来源:国知局
一种基于最短通信时间的网络结点通信模拟方法
【专利摘要】本发明提供的是一种基于最短通信时间的网络结点通信模拟方法。该方法在拓扑网络中使用随机数生成模拟网络结点通信,突出模拟网络的随机性,同时以最快完成任务为原则将随机生成的通信任务安排给通信结点的通信端口,提高通信仿真的效率。
【专利说明】一种基于最短通信时间的网络结点通信模拟方法
(-)【技术领域】
[0001]本发明涉及的是一种基于最短通信时间的网络结点通信模拟方法。
(二)【背景技术】
[0002]现代社会中通信网络系统是一典型的复杂网络系统,不仅其本身具有系统复杂性、自组织性、临界性等特点,而且与其它关键基础设施系统之间以及用户人群之间存在着复杂的依赖关系。通信系统的模拟仿真技术是借助计算机对通信系统的模型来进行实验,可以使用户在很短的时间内建立整个通信系统模型,具有经济、安全、周期短的特点。
[0003]在所有的通信系统中,信道噪声、干扰和衰落等随机影响会对信息的传输造成损失。要想精确地仿真通信系统,首先要对这些影响建立准确的模型,通信信号是通信系统的基础,所以开发一个高效的通信信号模拟仿真环境在现代通信技术中意义重大。
[0004]针对以上情况,我们提出了一种基于最短通信时间的网络结点通信模拟方法来实现网络通信仿真:首先生成随机数M、N表示未来表示结点M将与其他N个网络结点进行通信,最后生成N个二元数组分别表示通信结点,通信信息长度。根据所生成的二元数组,将通信任务以最快完成任务为原则安排给结点M的通信端口来模拟单一结点的流量并发;
(三)
【发明内容】

[0005]本发明的目的在于提供一种基于最短通信时间的网络结点通信模拟方法。该方法在拓扑网络中使用随机数生成模拟网络结点通信,突出模拟网络通信的随机性,同时以最快完成任务为原则安排给结点M的通信端口,提高通信仿真的效率。
[0006]本发明的目的是这.样实现的:
[0007]设网络中结点A将与其他网络结点进行通信,通信次数为N ;设结点A共有P个通信端口,并且只能通过这些通信端口向网络其他结点发送信息;使用数据格式Pi: [Di, Mi]表示结点A通过通信端口 Pi向网络结点Di的发送信息长度为Mi的通信任务;
[0008]生成N个不同的二元随机正整数组的集合M=HD1, MJ,..., {Dn, Mn} },从M集合中取出最大的P个元素,按照从大到小的顺序放入集合T1= {{Dn, M1J,..., {D,pl) MpJ},依次分配给P个通信端口形成通信队列MLi st= (P1: {Dn, M1J,P2: {D21, M2J ,...,Pp: {Dpl, Mpl}};如果M集合不为空,则从M中再取出最大的P个元素,按照从大到小顺序放入集合T2= {{D12, M1J,...,{Dp2, MpJ },按照上次分配的反序依次分配给P个通信端口,将分配结果加入到通信队列 MList=IP1: {Dn,Mn} {Dp2, MpJ , P2: {D21, M2J {D(p_1)2, M(p_1)2},...,Pp: {DN1, MnJ{D12,M12}}中;如果M集合不为空,重复上述步骤直至集合M为空为止,这样在MList中保存了结点A发送N个信息的最短通信模拟序列;
[0009]具体步骤为:
[0010](I)用户输入通信总数N ;初始化数据链表MList、TempList为空;
[0011](2)生成随机数A,P,表示网络结点A有P个通信端口,端口编号为Pnum,num=l,2…P ;[0012](3)设置 i=0;
[0013](4)生成三元随机数(Di, MJ ;
[0014](5)初始化 j=l;
[0015](6)如果i=0,执行步骤7,否则执行步骤;
[0016](7)取 MList 的第 j 个元素{D」,MjI ;
[0017](8)如果Di=Dj,执行步骤9,否则执行步骤10 ;
[0018](9)如果Mi=Mj,执行步骤,否则执行步骤10 ;
[0019](10) j的值加1,如果j>i,执行步骤11,否则执行步骤7 ;
[0020](11)将(Di, MJ 加入 TempList, i 的值加 I ;
[0021](12)如果i>N·,执行步骤13,否则执行步骤4 ;
[0022](13)将TempList中的元素根据M的大小降序排序;
[0023](14)初始化 k= I;
[0024](15)如果k*p〈N,执行步骤16,否则执行步骤20 ;
[0025](16)如果k mod2=l ;执行步骤17,否则执行步骤18 ;
[0026](17)顺序取出TempList中的第(k_l)p+l到k*p个元素,依次分配给P个通信端口,形成通信队列 MList= {P1:...{Dlk, M1J,..., Pp:...{Dpk, MpJ };执行步骤 19 ;
[0027](18)倒序取出TempList中的第(k_l)p+l到k*p个元素,依次分配给P个通信端口,形成通信队列 MLi st= {P1:...{Dlk, M1J,..., Pp:...{Dpk, MpJ };
[0028](19)k+l,执行步骤 15 ;
[0029](20)g=(k_l)*p+l ;
[0030](21)如果k mod2=l ;执行步骤22,否则执行步骤23 ;
[0031](22)顺序取出TempList中的第g到N个元素,依次分配给第I到第g个通信端口,形成通信队列 MList= (P1:...{Dlk,Mlk},Pg: {...Dgk,U, ..,Pp.{...Dp(k—I),Mp(k—i)}},执
行步骤24 ;
[0032](23)倒序取出TempList中的第g到N个元素,依次分配给P个通信端口,形成通信队列 MList= {P1:...{Dlk,Mlk},Pg: {...Dgk,U,...,Pp.{...Dp(k—I),Mp(k—i)}};
[0033](24)这样结点的各端口只需要根据列表PortList完成发送任务。
[0034]本发明的关键在于在模拟网络通信随机性和并发性的基础上提高仿真效率。为此,以最快完成任务为原则安排给网络结点的通信端口,在保证网络结点随机并发通信的基础上,还使模拟通信环境的效率得到提高。
[0035]其主要特点如下:
[0036]1、使用随机数生成方法来确定网络中的通信结点和通信时间,使每次产生的通信结点和通信信息长度段都不尽相同,使生成的网络通信环境更具有普遍性;
[0037]2、以最快完成任务为原则将通信任务安排给网络结点的通信端口,使用简单的列表完成随机通信环境的记录,提高了模拟通信环境的效率。
(四)【专利附图】

【附图说明】
[0038]图1:一种基于最短通信时间的网络结点通信模拟方法(五)具体的实施方式
[0039]下面结合附图距离对本发明作更详细的描述:
[0040]本发明所述方法的特征在于:
[0041]设网络中结点A将与其他网络结点进行通信,通信次数为N ;设结点A共有P个通信端口,并且只能通过这些通信端口向网络其他结点发送信息;使用数据格式Pi: [Di, Mi]表示结点A通过通信端口 Pi向网络结点Di的发送信息长度为Mi的通信任务;
[0042]生成N个不同的二元随机正整数组的集合M=HD1, MJ,..., {DN, Mj },从M集合中取出最大的P个元素,按照从大到小的顺序放入集合T1= {{Dn, M1J,..., {D,pl) MpJ},依次分配给P个通信端口形成通信队列MLi st= (P1: {Dn, M1J,P2: {D21, M2J ,...,Pp: {Dpl, Mpl}};如果M集合不为空,则从M中再取出最大的P个元素,按照从大到小顺序放入集合T2= {{D12, M1J,...,{Dp2, MpJ },按照上次分配的反序依次分配给P个通信端口,将分配结果加入到通信队列 MList=IP1: {Dn,Mn} {Dp2, MpJ , P2: {D21, M2J {D(p_1)2, M(p_1)2},...,Pp: {DN1, MnJ{D12,M12}}中;如果M集合不为空,重复上述步骤直至集合M为空为止,这样在MList中保存了结点A发送N个信息的最短通信模拟序列;
[0043]具体步骤为:
[0044](I)用户输入通信总数N ;初始化数据链表MList、TempList为空;
[0045](2)生成随机数A,P,表示网络结点A有P个通信端口,端口编号为Pnum,num=l,2…P ;
[0046](3)设置 i=0 ;
[0047](4)生成三元随机数他,MJ ;
[0048](5)初始化 j=l ;
[0049](6)如果i=0,执行步骤7,否则执行步骤;
[0050](7)取 MList 的第 j 个元素{D」,MjI ;
[0051](8)如果Di=Dj,执行步骤9,否则执行步骤10 ;
[0052](9)如果Mi=Mj,执行步骤,否则执行步骤10 ;
[0053](10) j的值加I,如果j>i,执行步骤11,否则执行步骤7 ;
[0054](11)将(Di, MJ 加入 TempList,i 的值加 I ;
[0055](12)如果i>N,执行步骤13,否则执行步骤4 ;
[0056](13)将TempList中的元素根据M的大小降序排序;
[0057](14)初始化 k= I;
[0058](15)如果k*p〈N,执行步骤16,否则执行步骤20 ;
[0059](16)如果k mod2=l ;执行步骤17,否则执行步骤18 ;
[0060](17)顺序取出TempList中的第(k_l)p+l到k*p个元素,依次分配给P个通信端口,形成通信队列 MList= {P1:...{Dlk, Mlk},...,Pp:...{Dpk, Mpk}};执行步骤 19 ;
[0061](18)倒序取出TempList中的第(k_l)p+l到k*p个元素,依次分配给P个通信端P,形成通信队列 MList= {P1:...{Dlk, Mlk},..., Pp:...{Dpk, Mpk}};
[0062](19)k+l,执行步骤 15 ;
[0063](20)g=(k_l)*p+l ;
[0064](21)如果k mod2=l ;执行步骤22,否则执行步骤23 ;[0065](22)顺序取出TempList中的第g到N个元素,依次分配给第I到第g个通信端P,形成通信队列 MList= {Pl:...{Dlk, Mlk}, Pg: {...Dgk, Mgk},..., Pp:..Dp (k_l), Mp (k-1)}};执行步骤24 ;
[0066](23)倒序取出TempList中的第g到N个元素,依次分配给P个通信端口,形成通信队列 MList= {P1:...{Dlk, Mlk}, Pg: {...Dgk, Mgk},..., Pp:..Dp (k-1), Mp (k-1)}};
[0067](24)这样结点的各端口只需要根据列表PortList完成发送任务。
[0068]其具体实施模式是这样的:
[0069]首先生成将要通信的结点和通信数量,根据通信数量,生成每次通信的结点和通信信息长度,并将随机生成的通信任务根据通信信息长度降序排列;然后将通信任务根据通信结点的端口数分成多个组,最后将通信组以正序、反序交替的方式依次分配给通信结点的各个通信端口。经过上述步骤,每个端口的任务便形成了一个由数组记录的任务列表,各个端口只需要根据列表记录的通信结点和通信信息长度进行通信,这样便模拟了一种基于最短通信时间的网络结点通信模拟方法。
【权利要求】
1.一种基于最短通信时间的网络结点通信模拟方法,其特征在于:本发明的目的是这样实现的:设网络中结点A将与其他网络结点进行通信,通信次数为N ;设结点A共有P个通信端口,并且只能通过这些通信端口向网络其他结点发送信息;使用数据格式Pi: [Di, Mi]表示结点A通过通信端口 Pi向网络结点Di的发送信息长度为Mi的通信任务;生成N个不同的二元随机正整数组的集合M=HDpMJ,..., {DN,MN}},从M集合中取出最大的P个元素,按照从大到小的顺序放入集合T1= {(D111M1J,..., {D,pl, MpJ },依次分配给 P 个通信端口形成通信队列 MList={P1: (D111M1J1P2: {D21,M21},...,Pp: {Dpl, Mpl}};如果M集合不为空,则从M中再取出最大的P个元素,按照从大到小顺序放入集合T2= {{D12, M1J,...,{Dp2, MpJ },按照上次分配的反序依次分配给P个通信端口,将分配结果加入到通信队列 MList=IP1: {Dn,Mn} {Dp2, MpJ , P2: {D21, M2J {D(p_1)2, M(p_1)2},...,Pp: {DN1, MnJ{D12,M12}}中;如果M集合不为空,重复上述步骤直至集合M为空为止,这样在MList中保存了结点A发送N个信息的最短通信模拟序列;具体步骤为:(1)用户输入通信总数N;初始化数据链表MList、TempList为空;(2)生成随机数A,P,表示网络结点A有P个通信端口,端口编号为Pnum,num=l,2...P ;(3)设置i=0 ;(4)生成三元随机数(DilMJ;(5)初始化j=l;(6)如果i=0,执行步骤7,否则执行步骤;(7)取MList的第j个元素{D」,MjI;(8)如果Di=Dp执行步骤9,否则执行步骤10;(9)如果Mi=Mj,执行步骤,否则执行步骤10;(10)j的值加1,如果j>i,执行步骤11,否则执行步骤7;(11)将{DdMJ加入 TempList,i 的值加 I ;(12)如果i>N,执行步骤13,否则执行步骤4;(13)将TempList中的元素根据M的大小降序排序;(14)初始化k=l;(15)如果k*p〈N,执行步骤16,否则执行步骤20;(16)如果kmod2=l;执行步骤17,否则执行步骤18 ;(17)顺序取出TempList中的第(k_l)p+1到k*p个元素,依次分配给P个通信端口,形成通信队列 MList= {P1:...{Dlk, M1J ,...,Pp:...{Dpk, MpJ };执行步骤 19 ;(18)倒序取出TempList中的第(k_l)p+l到k*p个元素,依次分配给P个通信端口,形成通信队列 MList 1:...{Dlk, M1J,...,Pp:...{Dpk, MpJ};(19)k+l,执行步骤15;(20)g=(k-l)*p+l;(21)如果kmod2=l ;执行步骤22,否则执行步骤23 ;(22)顺序取出TempList中的第g到N个元素,依次分配给第I到第g个通信端口,形成通信队列 MList= (P1:...{Dlk,Mlk},Pg: {...Dgk,Mgk},...,Pp.{...Dp(k—I),Mp(k—i) }};执行步骤24;(23)倒序取出TempList中的第g到N个元素,依次分配给P个通信端口,形成通信队列
【文档编号】H04L12/26GK103441903SQ201310395218
【公开日】2013年12月11日 申请日期:2013年9月3日 优先权日:2013年9月3日
【发明者】姚文斌, 韩司, 李祥书 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1