通信链路层中通信包的重传方法及装置的制作方法

文档序号:7989979阅读:449来源:国知局
专利名称:通信链路层中通信包的重传方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种通信链路层中通信包的重传方法及装置。
背景技术
在外场环境中,操作维护中心(Operation & Management Center,简称为0MC) —般需要接管大量的演进型基站(evolved Node B,简称为eNodeB)。实际外场的环境比较复杂,网管上可执行的批量操作又比较多,这些都容易造成前后台链路的不稳定,使得网络情况时好时坏,对OMC与eNodeB之间链路的冲击也比较大,可能造成“瞬断”或者“断链”情况的发生。这些情况的发生,都是运营商所不愿意看到的,因此如何保证链路的稳定,减小瞬断或者断链情况的发生就显得尤为重要。目前,一般通过动态调整心跳次数来控制链路负担过大来解决上述问题,这些方法确实可以在一定程度上改善网络状况。但是,对于实际的外场情况而言,真正造成瞬断或者断链情况发生的并不是由于心跳次数过多造成的,而是由于不断的“重传包”造成的。因此,重传机制才是保证网管与网元之间链路稳定的关键。但是目前尚无从重传机制方面考虑维持链路稳定的技术方案。针对相关技术中的上述问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术中,尚无从重传机制方面考虑维持链路稳定等问题,本发明提供了一种通信链路层中通信包的重传方法及装置,以至少解决上述问题。根据本发明的一个方面,提供了一种通信链路层中通信包的重传方法,包括:根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率,其中,所述重传通信的所耗时间为收到所述上一个通信包的回复包的时刻与发送所述上一个通信包的时刻的差值;根据计算得到的所述重传频率传送所述本次需要重传的通信包。上述根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率之前,还包括:确定所述重传通信的所耗时间超过预定阈值。上述方法还包括:判断计算得到的所述重传频率是否高于上一次进行重传通信的重传频率;如果是,则按照上一次进行重传通信的重传频率进行本次重传通信;如果否,则按照计算得到的所述重传频率进行本次重传通信。上述根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率之前,还包括:将发送的通信包记录到重传队列中并标记所述发送的通信包的重传次数。上述方法还包括:将首次发送的通信包的所述重传次数标记为O ;若在预定时间段内未收到所述首次发送的通信包的回复包则将所述首次发送的通信的所述重传次数加
1
上述方法还包括:当所述重传次数达到预设阈值时,则判定通信链路断链。上述根据计算得到的所述重传频率传送所述本次需要重传的通信包之后,还包括:定时检查所述重传队列中的通信包,并依次发送所述重传队列中的通信包。根据本发明的另一方面,提供了一种通信链路层中通信包的重传装置,包括:计算模块,用于根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率,其中,所述重传通信的所耗时间为收到所述上一个通信包的回复包的时刻与发送所述上一个通信包的时刻的差值;重传模块,用于根据计算得到的所述重传频率传送所述本次需要重传的通信包。上述装置还包括:确定模块,用于确定所述重传通信的所耗时间超过预定阈值。上述装置还包括:判断模块,用于判断计算得到的所述重传频率是否高于上一次进行重传通信的重传频率;如果是,则通知所述重传模块按照上一次进行重传通信的重传频率进行本次重传通信;如果否,则通知所述重传模块按照计算得到的所述重传频率进行本次重传通信。通过本发明,采用根据上一个通信包重传通信的所耗时间计算得到的本次需要重传的通信包的重传频率传送本次需要重传的通信包的技术手段,解决了相关技术中,尚无从重传机制方面考虑维持链路稳定等问题,进而达到了根据当前网络的状况动态调整重传频率,避免造成在网络负担较大的情况下由于重传加剧网络的恶化的效果,有效减轻了网络负担。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1为根据本发明实施例的通信链路层中通信包的重传方法的流程图;图2为根据本发明实施例的通信链路层中通信包的重传装置的结构框图;图3为根据本发明实施例的通信链路层中通信包的重传装置的结构示意图;图4为根据本发明实施例的OMC发送队列的通信包发送流程示意图;图5为根据本发明实施例的接收队列的通信包接收流程示意图;图6为根据本发明实施例的OMC重传队列的通信包发送流程示意图;图7为根据本发明实施例的OMC重传频率的调整流程示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1为根据本发明实施例的通信链路层中通信包的重传方法的流程图。如图1所示,该方法包括:步骤S102,根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率,其中,所述重传通信的所耗时间为收到所述上一个通信包的回复包的时刻与发送所述上一个通信包的时刻的差值;步骤S104,根据计算得到的所述重传频率传送所述本次需要重传的通信包。
通过上述处理过程,由于本次需要重传的通信包可以根据上一个通信包进行重传通信所耗时间计算得到的重传频率进行重传,因此可以实现通信包重传频率的动态调整,从而在网络状况变差时,通过降低重传频率有效减小网络中重传通信的通信包的个数,避免了不断地断链重建,保证了链路的稳定性,有效减轻了网络负担。 上述实施例中,上述通信包可以为OMC与eNodeB之间的通信包。在步骤S102之前,即根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率之前,可以设定启动进行重传频率调整的条件,以避免浪费运行资源,例如,可以设定以下条件:确定所述重传通信的所耗时间超过预定阈值。在步骤S104之前,还可以根据以下条件判断是否要按照上一次进行重传通信的重传频率进行本次重传通信:判断计算得到的所述重传频率是否高于上一次进行重传通信的重传频率;如果是,则按照上一次进行重传通信的重传频率进行本次重传通信;如果否,则按照计算得到的所述重传频率进行本次重传通信。为了更加有效地进行重传,在根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率之前,还可以为每个网元的通信包维护一个重传队列,具体可以通过以下方式实现:将发送的通信包记录到重传队列中并标记所述发送的通信包的重传次数。在本发明的一个具体实施方式
中,上述重传次数可以通过以下方式计数:将首次发送的通信包的所述重传次数标记为O ;若在预定时间段内未收到所述首次发送的通信包的回复包则将所述首次发送的通信的所述重传次数加I。为了避免不断地进行建链重发,还可以通过上述重传次数进行设置,具体可以包括以下处理过程:当所述重传次数达到预设阈值时,则判定通信链路断链。在本发明的一个优选实施方式中,根据计算得到的所述重传频率传送所述本次需要重传的通信包之后,还可以包括以下处理过程:定时检查所述重传队列中的通信包,并依次发送所述重传队列中的通信包。在本实施例中还提供了一种通信链路层中通信包的重传装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2为根据本发明实施例的通信链路层中通信包的重传装置的结构框图。如图2所示,该装置包括:计算模块20,连接至重传模块22,用于根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率,其中,所述重传通信的所耗时间为收到所述上一个通信包的回复包的时刻与发送所述上一个通信包的时刻的差值;重传模块22,用于根据计算得到的所述重传频率传送所述本次需要重传的通信包。优选地,如图3所示,上述装置还可以包括:确定模块24,与计算模块20相连,用于确定所述重传通信的所耗时间超过预定阈值。优选地,如图3所示,上述装置还可以包括:判断模块26,与重传模块22相连,用于判断计算得到的所述重传频率是否高于上一次进行重传通信的重传频率;如果是,则通知所述重传模块按照上一次进行重传通信的重传频率进行本次重传通信;如果否,则通知所述重传模块按照计算得到的所述重传频率进行本次重传通信。为了更好地理解上述实施例,以下结合优选实施例及相关附图详细说明。实施例1本实施例以移动通信领域,中OMC与eNodeB之间的通讯链路为例进行说明。本实施例提供一种通过动态调整通讯包保持链路稳定的方法。需要说明的是,相关技术中的重传机制只是定时重传,这样在网络状况较差时,势必会造成恶性循环,导致网络状况越来越差,直到最后断链,这和本实施例中的重传机制是不同的。本实施例中,在OMC与eNodeB之间的通信包中增加设置几个标志值:重传次数、本次通信所耗时间(即通过以下方式计算得到本次通信所耗时间后可以记录到通信包中,以便下一个通信包根据本次通信所耗时间计算下一个通信包进行重传的重传频率)。OMC为每个网元维护一个重传队列与接收队列。OMC每发送一个包给eNodeB,重传队列中即记录此发送包,并将重传次数设置为O。若在规定的时间内OMC收到此包的回复包,则从重传队列中将此包删除。若在规定的时间内未收到此包的回复包,则将此包的重传次数加1,并记录本次通信所耗的时间。其中,本次通信所耗时间=“发送包”的时刻-收到“回复包”的时刻。OMC以此判断后续重传包的频率需要调整到多少。此后OMC启用定时扫描,以计算得到的重传频率发送重传队列中的包。OMC通过上述技术方案,在网络通信质量下降的情况下,可以动态调整通信包的数量(即根据调整后的重传频率动态调整相同时间内传送通信包的数量),在保持链路稳定的情况下,合理判断前后台的链路状态。为了实现上述目的,本实施例采用了以下技术方案第一步,OMC与eNodeB正常建链;重传队列的发送频率为初始设定值。第二步,OMC依照心跳间隔频率发送心跳包,每发送一包后,记录发送的时刻,并将此包加入到此网元对应的重传队列中。第三步,OMC定时检查重传队列,依次发送队列中的通信包,并将重传次数加I。若某包的重传次数为0,表明此包为正常通讯包;若大于0,表明此包为重传包,并且表明是第几次的重传包。第四步,设正常通信的回复包时间段为[ΜΙΝ,ΜΑΧ],则重传包的发送频率(即重传频率)为A = MAX。OMC以原有的心跳检测包频率继续发送心跳检测包,以重传包的发送频率A发送重传包。第五步,若OMC —直收不到此包的通信回复包,则按照原有频率固定重传。当重传超时,OMC提示断链。第六步,若OMC收到某一包的通信回复包,即收到发送包的ACK包,则查看重传队列。若重传队列中显示此包的重传次数为0,则从重传队列中删除此包。若重传队列中显示此包为重传包,则将重传队列中此包的重传次数减I。同时OMC检测本次通讯所耗时间,将本次通信所耗时间与原有区间段进行对比。查看落在原有区间段的几倍值区间。则后续通信包的重传包以此线性递减。举例说明:若正常通信回复包的时间段为[1.0,2.0],通信包的回复时间为4.5S,说明最短通信需要耗时为1,最长需要为2,可浮动范围为2-1 = I。若实际为4.5S,则1+3*1 < 4.5 < 2+3*1,超过正常值的3倍区间,为正常值的4倍。则将重传队列中的重传包的重传频率改为1/4。若本次通讯所耗时间在正常区间,保持已有的重传频率。第七步,OMC收到下一包的通信回复包,查看所耗费时间,并计算新的重传频率。若新的重传频率比上一次的频率高,说明网络情况转好,但不更改重传频率。若新的重传频率比上一次的低,说明网络情况仍然较差,则替换新的重传频率。第九步,直到OMC收到的通信回复包的时间落在正常区间范围时,表明此时网络通信质量良好,则将重传频率替换为原有的正常频率。本实施例的上述技术方案:由于物理或者硬件或者人为大批量操作从而造成网络质量下降的情况下,OMC与基站之间的链路在一段时间内通信质量较差,为了避免在此段时间内不断地断链重建,动态调整了重传包的个数以及重传频率,保证链路的稳定性。OMC发送一包给网元后,将此包加入重传队列中,开始等待此包的回复包。重传队列采用一定的频率定时重传。若在规定时间内OMC能够收到回复包表明网络状况良好,若收到回复包的时间超过正常范围,则依照超过的时间调整下次重传的频率。本实施例主要思想是控制定时重传的频率,依据当前网络的状况动态调整重传频率,避免造成在网络负担较大的情况下由于重传加剧网络的恶化。相对于传统的通过减小心跳包个数来降低网络负担,重传频率的降低可以有效减小网络中重传包的个数,对于网络负担的减轻更为有效。实施例2本实例的前提条件:0MC与eNodeB处于已经建链状态。建链之后,OMC与eNodeB之间依靠心跳检测保证链路的存活。OMC定时开始发送心跳包,eNodeB对此心跳包进行回应。其中,OMC为每一个eNodeB分别维护重传队列与接收队列。OMC的发送模式:图4为根据本发明实施例的OMC发送队列的通信包发送流程示意图。如图4所示,该流程包括:步骤S402,OMC以设定的心跳频率构造要发送的心跳请求包。步骤S404,OMC构造成功上述心跳请求包之后,进行发送。步骤S406,同时OMC需要将上述心跳请求包加入重传队列中,并记录发送时刻,以及将重传次数置为O。OMC的接收模式:图5为根据本发明实施例的接收队列的通信包接收流程示意图。如图5所示,该流程包括:步骤S502,OMC收到了前台(即上述eNodeB)的通信包(回复包)。步骤S504,OMC对此包进行处理,判断所收到的包是哪个网元的包,并将其加入此网元对应的接收队列中。OMC重传队列的发送模式:图6为根据本发明实施例的OMC重传队列的通信包发送流程示意图。如图6所示,该流程包括:步骤S602,OMC以设定的重传频率扫描重传队列。
步骤S604,首先判断队列中是否有通信包,如果没有不发送通信包。步骤S606,若重传队列不为空,则按顺序依次发送重传队列中的通信包,若为空,则转步骤S610。步骤S608,将重传队列中每包的重传次数加1,表明此包已经进行过重传。步骤S610,退出。OMC重传频率的调整方式:在大多数的情况下,OMC与eNodeB之间依靠固定频率的心跳包保持链路的正常。参见图7步骤S702,OMC定时从接收队列中获取新的接收数据包。步骤S704,OMC需判断此包是否为通信回复包。OMC需要以通信回复包来判断需要调整的重传频率。若是通信回复包则转步骤S706,否则转步骤S722。步骤S706,从重传队列中查找此包所对应的原通信包。步骤S708,需要对重传次数进行判断。判断此包的重传次数是否为0,即判断此包是正常的通信包还是重传包。若为正常通信包(重传次数为O),此时网络状况为良好的几率比较大,但仍需根据通信时间进行判定。而若为重传包(重传次数不为O),此时网络状况较差的几率更大,需根据重传次数以及重传所需时间判定此时网络状况是否良好。步骤S710,若此包所对应的重传次数为0,表明为此包的正常通信回复包,将此包从重传队列中删除,若不为O则重传次数减I。步骤S712,查看此包通信所耗费的时间,后续将以此进行判定。步骤S714,将通信所耗时间与正常区间值进行比较,查看是否落在正常取值范围。若落在正常区间,则可确认此次通信正常,OMC与eNodeB之间网络状况良好,并不需进行任何调整。转步骤S422。步骤S722,退出。实施例3当OMC与eNodeB之间网络状况不好,需要根据通信包实时动态调整心跳间隔。若心跳所耗时间表明网络状况正在好转,此种情况下,不需调整心跳频率,待网络完全恢复后再调整为原值。参见图7。步骤S702,OMC定时从接受队列中取出数据包。步骤S704,OMC与eNodeB之间除了数据通信包,还存在协议规定的其它类型包结构,需判断是否为通信数据包。步骤S706,首先OMC需查看重传队列,找到此ACK包(通信回复包)所对对应的原
通信包。步骤S708,查看重传次数是否为O。步骤S710,若重传次数为0,表明是正常通信包,删除原有通信包;若重传次数大于0,表明此包为重传包,将重传次数减1,需要再根据重传间隔查看网络状况。步骤S712,查看此通信回复包所耗时间。步骤S714,判断此次通信所耗时间是否落在正常取值范围区间。如果是,则转步骤S722,否则转步骤S716。在大部分的情况下,所耗费时间落在正常区间范围。当网络状况较差时,会出现大于正常取值范围区间的情况。
步骤S716,计算重传频率:若正常的通信时间范围为:[A, B],则允许的偏差范围值为C = B-A。假设此次通信回复所用时间为D。若A+N*C <= D <= B+N*C,则表明此次通信所用时间为正常值的N+1倍。则重新频率调整为原有频率的I/(N+1)。依据此次通信所耗时间已经重传频率的计算公式,得出调整后的重传频率。步骤S718,将此时的重传频率与原有的频率相比较,若取值仍大于当前所采用的重传频率,说明网络状况正在好转,但是仍未回复正常情况。在此种情况下,不需要调整重传频率,仍然采用当前的重传频率即可。步骤S722,退出。实施例4在网络负载较大的情况下,OMC动态调整重传频率会显著减小网络负载,使网络尽快恢复到正常情况。参见图7。步骤S702,当接收队列中收到通信包时,OMC从接收队列中依次取出每一包进行分析。步骤S704,OMC首先判断此包是否为通讯回复包还是其他类型的数据包。其他类型的数据包交由各自的处理程序进行处理。如果不是通信回复包,则转步骤S722,否则转步骤 706。步骤S706,查看重传队列,查找此包所对应的重传包。步骤S708,若此包为通信的回复包,查找重传队列中所对应的重传包,首先查看所对应的重传次数是否为O。步骤S710,若重传次数不为0,表明为此重传包的通信回复包,需将此包的重传次数减I。步骤S712,计算当前时刻与此包的发送时刻的时间差,得到此包的通信所耗时间。步骤S714,将此时间与正常取值范围进行对别,查看是否在正常取值范围区间。若落在正常取值范围区间,表明当前OMC与eNodeB之间通信状况良好,不需做发送频率的调整,转步骤S722,否则转步骤S716。步骤S716,若此时间大于正常取值范围的最大值,则表明当前OMC与eNodeB之间通信状况较差,需要对通信包的频率进行调整,恢复网络状况。重传频率的计算:若正常的通信时间范围为:[A, B],则允许的偏差范围值为C =B-A。假设此次通信回复所用时间为D。若A+N*C <= D <= B+N*C,则表明此次通信所用时间为正常值的N+1倍。则重新频率调整为原有频率的1/(N+1)。步骤S718,将新得到的重传频率与当前所使用的重传频率进行对比,是否大于当前所采用的重传频率。如果是,则转步骤S722,否则转步骤S720。步骤S720,若计算得到的重传频率小于当前所使用的重传频率,说明当前的网络状况仍在恶化,需要继续降低通信包的重传频率。因此将新的重传频率替代现有的重传频率,持续降低网络通信包的拥塞。步骤S722,退出。在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种通信链路层中通信包的重传方法,其特征在于,包括: 根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率,其中,所述重传通信的所耗时间为收到所述上一个通信包的回复包的时刻与发送所述上一个通信包的时刻的差值; 根据计算得到的所述重传频率传送所述本次需要重传的通信包。
2.根据权利要求1所述的方法,其特征在于,根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率之前,还包括: 确定所述重传通信的所耗时间超过预定阈值。
3.根据权利要求1所述的方法,其特征在于,还包括: 判断计算得到的所述重传频率是否高于上一次进行重传通信的重传频率;如果是, 则按照上一次进行重传通信的重传频率进行本次重传通信;如果否,则按照计算得到的所述重传频率进行本次重传通信。
4.根据权利要求1所述的方法,其特征在于,根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率之前,还包括: 将发送的通信包记录到重传队列中并标记所述发送的通信包的重传次数。
5.根据权利要求4所述的方法,其特征在于,还包括: 将首次发送的通信包的所述重传次数标记为O ; 若在预定时间段内未收到所述首次发送的通信包的回复包则将所述首次发送的通信的所述重传次数加I。
6.根据权利要求4所述的方法,其特征在于,还包括:当所述重传次数达到预设阈值时,则判定通信链路断链。
7.根据权利要求4所述的方法,其特征在于,根据计算得到的所述重传频率传送所述本次需要重传的通信包之后,还包括: 定时检查所述重传队列中的通信包,并依次发送所述重传队列中的通信包。
8.一种通信链路层中通信包的重传装置,其特征在于,包括: 计算模块,用于根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率,其中,所述重传通信的所耗时间为收到所述上一个通信包的回复包的时刻与发送所述上一个通信包的时刻的差值; 重传模块,用于根据计算得到的所述重传频率传送所述本次需要重传的通信包。
9.根据权利要求8所述的装置,其特征在于,还包括: 确定模块,用于确定所述重传通信的所耗时间超过预定阈值。
10.根据权利要求8所述的装置,其特征在于,还包括: 判断模块,用于判断计算得到的所述重传频率是否高于上一次进行重传通信的重传频率;如果是,则通知所述重传模块按照上一次进行重传通信的重传频率进行本次重传通信;如果否,则通知所述重传模块按照计算得到的所述重传频率进行本次重传通信。
全文摘要
本发明提供了一种通信链路层中通信包的重传方法及装置,其中上述方法包括根据上一个通信包重传通信的所耗时间计算本次需要重传的通信包的重传频率,其中,所述重传通信的所耗时间为收到所述上一个通信包的回复包的时刻与发送所述上一个通信包的时刻的差值;根据计算得到的所述重传频率传送所述本次需要重传的通信包。采用本发明提供的上述技术方案,解决了相关技术中,尚无从重传机制方面考虑维持链路稳定等问题,进而达到了根据当前网络的状况动态调整重传频率,避免造成在网络负担较大的情况下由于重传加剧网络的恶化的效果,有效减轻了网络负担。
文档编号H04L1/16GK103138899SQ201110384908
公开日2013年6月5日 申请日期2011年11月28日 优先权日2011年11月28日
发明者谢美娟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1