多跳网络分组调度方法及节点装置的制作方法

文档序号:7918785阅读:159来源:国知局

专利名称::多跳网络分组调度方法及节点装置的制作方法
技术领域
:本发明涉及通信领域中分组调度技术,尤其涉及多跳网络分组调度方法及节点装置。
背景技术
:无线Mesh网络(无线网状网络)与通过一跳至目的节点的蜂窝网络不同,它本质上是多跳网络,即数据包从源节点经历多跳到达目的节点的网络。每个节点(AccessPoint,简称AP)承载数据流主要分为两类本地用户经历一跳的数据流,来自其它节点的经过多跳的数据流。图1为现有技术中无线Mesh网络拓朴图,如图1所示,节点API既要承载到本地终端的数据流,又要承载由节点主AP至节点AP5的数据流(该数据流的路由为主AP—AP2—API—AP4—AP5)。因此,对于每个节点来讲,无线Mesh网络较蜂窝网络的数据流量更大,尤其是靠近主节点的各个节点。另一方面,为了适应数据业务(如视频、会话业务等)的需要,无线Mesh网络必须保证数据业务的端到端时延。基于上述特征的无线多跳网络,节点一方面需要承载大量的业务,另一方面需要保证经历不同跳数的数据业务的高效调度,尤其是满足实时数据业务的时延需求。上述两类需求互相制约,节点承载的业务越多,数据业务的数据包等待时间越大,调度效率越难以保证。因此,大容量无线多跳网络(如无线Mesh网络)如何满足用户对数据业务的QoS(QualityofService,服务质量)需求,保证用户之间的公平性,是一个亟待解决的问题。目前,无线多跳网络主要从两个方面来保证业务端到端的时延,一是选择最佳路由(如最小跳路由),二是通过分组调度合理安排各数据业务的优先级,降低高优先级业务的等待时延,使它们在最大容忍时限内到达目的节点。图2为现有技术中无线Mesh网络中分组调度的示意图,如图2所示,当大量的数据流汇聚到节点时,分组调度算法依据数据流的QoS需求(如带宽、时延需求),确定各数据流使用无线资源的优先级,调度器将具有高优先级的数据业务传送至既定路由的下一节点或目的终端。现有技术当中,无线Mesh网络中应用较为广泛的是基于EDF-CNS进行时延计算的分组调度方法,该调度方法包括①计算每个数据包在网络中的剩余时延,依据剩余时延确定优先级;②对于相同时延优先级的数据包,再采用最大C/I比,即最大载干比方法,进行无线资源分配。基于EDF-CNS进行时延计算的分组调度方法,以数据包的剩余时延作为调度的依据,剩余时延少的数据包优先级高;对于相同时延优先级的数据包,再采取最大载干比的方法进行无线资源分配。在实现本发明过程中,发明人发现现有技术中无线多跳网络分组调度方法至少存在如下问题1.基于EDF-CNS进行时延计算的分组调度方法主要以数据包的剩余时延作为调度的根据,很可能导致剩余跳数较多的数据包在剩余时延相对较长的情况下,在节点等待时间过长,最终超过最大时延被6丢弃,使得系统丟包率增加。2.现有的分组调度算法,不能满足无线Mesh网络对分组时延、时延抖动的要求,导致对QoS性能要求较高的业务(如VoIP等)难以在维持较高的资源利用率的情况下得到保证,降低了经历不同跳数的数据包在时延方面的公平性和网络资源的利用率。
发明内容本发明的目的是针对现有技术中的分组调度方法不能保证系统丟包率要求的缺陷,提出一种多跳网络分组调度方法及节点装置,以降低剩余跳数较多的数据包的等待时间,降低该数据包被丟弃的概率。本发明的另一目的是针对现有技术中的分组调度方法不能满足多跳网络对公平性和网络资源利用率要求的缺陷,提出一种基于分组时延要求的多跳网络分组调度的方法及节点装置,以避免跳数不同的分组端到端时延抖动差异,保证用户服务的公平性,提高了网络资源的利用率。为实现上述目的,根据本发明的一个方面,提供了一种多跳网络分组调度方法。根据本发明实施例的多跳网络分组调度方法,包括获取各数据包的剩余时延和后续^各径状况;根据剩余时延和后续^各径状况,确定各数据包的优先级;根据各数据包的优先级进行无线资源分配。优选的,上述方法中,还可以包括根据数据包的剩余时延、先前路径状况和后续路径状况,确定各数据包的优先级。优选的,上述方法中,后续路径状况可以包括数据包的后续跳数和/或后续路径负载;先前路径状况可以包括数据包的已完成跳数和/或数据流速率。优选的,在两个或者多个数据包的优先级相同时,还可以包括进一步根据先前路径状况或后续路经状况重新确定两个或多个数据包的优先级。为实现上述目的,根据本发明的另一个方面,提供了一种基于分组时延要求的多跳网络分组调度节点装置。根据本发明实施例的节点装置,包括获取模块,用于获取各数据包的包括后续路径状况的信息;优先级确定模块,用于根据获取的信息及各数据包的剩余时延,确定各数据包的优先级;分组调度模块,用于根据各数据包的优先级进行无线资源分配;参数更新模块,用于更新调度后剩余的各数据包和新到达该节点各数据包的参数。优选的,上述装置中,获取模块可以包括路由信息获取子模块,用于获取各数据包的路由信息;负载检测子模块,用于检测各数据包在后续路由中所要经历节点的负载状况;数据流速率获取子模块,用于获取各数据包的数据流速率和数据流平均速率。优选的,优先级确定模块可以包括剩余时延确定子模块,用于确定各数据包的剩余时延;优先级确定子模块,用于根据各数据包的剩余时延、后续路径状况确定各数据包的优先级。优选的,获取模块获取的信息还可以包括各数据包的先前路径状况。本发明各实施例的多跳网络分组调度的方法及节点装置,不仅考虑数据包在整个网络的剩余时间,而且引入数据包的后续跳数、后续路径的节点负载等后续路径信息,根据上述信息获得剩余每跳平均时8延预测值,并依据上述预测值确定数据包的优先级,进行分组调度。因此,本发明各实施例可以有效保证大容量无线多跳网络的分组调度满足数据业务的时延要求,降低剩余跳数较多的数据包被丢弃的概率,保证经历不同跳数的分组数据业务的公平性,避免网络资源的浪费。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中图1为现有技术中无线Mesh网络拓朴图2为现有技术中无线Mesh网络中分组调度的示意图3为本发明实施例一的多跳网络分组调度方法的流程图4为本发明实施例二的多跳网络分组调度方法的流程图5为本发明实施例三的多跳网络分组调度方法的流程图6为本发明实施例四的多跳网络分组调度方法中分组数据业务在无线Mesh网络中^各由图7为根据本发明实施例的多跳网络分组调度节点装置的示意9图。具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。实施例一图3为本发明实施例一的多跳网络分组调度方法的流程图,如图3所示,本实施例包括步骤S301:获取各数据包的剩余时延和后续路径状况;步骤S303:根据剩余时延和后续路径状况,确定各数据包的优先级;步骤S305:根据各数据包的优先级进行无线资源分配。本实施例提出的方法在进行分组调度时,考虑了数据包的后续路径状况和剩余时延。后续路径状况可以包括数据包的后续跳数和/或后续路径的节点负载等。本实施例提出的方法可有效保证后续路径跳数和/或后续路径负载不同的数据包在时延方面的公平性,避免后续路径状况较为紧急的数据包在节点等待时间过长,减小数据包超过最大时延纟皮丟弃的扭克率。实施例二图4为本发明实施例二的多跳网络分组调度方法的流程图,如图4所示,本实施例包括步骤S401:获取各数据包的剩余时延、先前路径状况和后续路径状况;步骤S403:根据剩余时延、先前路径状况和后续路径状况确定各数据包的优先级;步骤S405:根据各数据包的优先级进行无线资源分配。本次流程中的步骤S405对数据包进行调度之后,重新回到步骤S401,开始下一豸^分组调度。本实施例提出的方法在进行分组调度时,在实施例一的基础上,进一步考虑了数据包的先前路径的状况。先前路径状况可以包括数据包已完成的跳数、数据流速率等。本实施例提出的方法可以降低已完成跳数较多的数据包被丢弃的概率,全面保证了跳数不同的数据包在时延方面的7>平性,4吏无线Mesh这类大容量无线多跳网络的分组调度能够满足对QoS性能要求较高的分组数据业务。实施例三图5为本发明实施例三的多跳网络分组调度方法的流程图。本实施例对图3及图4实施例进一步细化,增加了在两个或多个数据包优先级相同情况下的处理操作。如图5所示,本实施例包括步骤S601:获取各数据包的剩余时延、先前路径状况和后续路径状况;步骤S603:根据剩余时延、先前路径状况和后续路径状况,确定各数据包的优先级;步骤S605:判断是否多个数据包有相同的优先级,如果没有,则进入步骤S617,否则进入步骤S607;步骤S607:对优先级相同的数据包,根据先前路径状况再次确定优先级;步骤S609:判断是否多个数据包有相同的优先级,如果没有,则进入步骤S617,否则进入步骤S611;步骤S611:对优先级相同的数据包,根据后续路径状况再次确定优先级;步骤S613:判断是否多个数据包有相同的优先级,如果没有,则进入步骤S617,否则进入步骤S615;步骤S615:对优先级相同的数据包,按随机选择的方法再次确定优先级;步骤S617:根据各数据包的优先级进行无线资源分配。本次流程中的步骤S617对数据包进行调度之后,重新回到步骤S601,开始下一4仑分组调度。本实施例进一步完善了技术方案。当通过剩余时延、先前路径状况和后续路径状况确定优先级后,多个数据包优先级相同的情况下,依次根据后续路径状况、先前路径状况等重新确定各数据包的优先级。如步骤S603确定后有两个数据包的优先级相同,则判断这两个数据包中哪个已经历的跳数较多,将已经历跳数较多的数据包定为较高优先级;如果已经历的跳数仍相同,可进一步判断哪个数据包的后续跳数较多,并将后续跳数较多的数据包定为优先级较高;如果后续跳数仍旧相同,可进一步根据随机选择的方法确定优先级。本实施例可满足无线多跳网络的分组调度业务的时延要求,保证经历不同跳数到达目的节点的用户服务的公平性,提高了系统的资源利用率。同时,本实施例的可实施性更强,利用本实施例的方法进行分组调度时,网络节点不需要考虑全局时间,即不需要考虑节点间的同步问题,可有效降低系统的开销,节省网络资源。实施例四图6为本发明实施例四的多跳网络分组调度方法中分组数据业务在无线Mesh网络中路由图。如图6所示,假设节点AP1中存在表一所示的4类数据流的4个数据包及对应的参数信息表一节点API中存在的数据包及对应参数信息<table>tableseeoriginaldocumentpage13</column></row><table>现有技术中,根据基于EDF-CNS进行时延计算的分组调度方法,根据剩余时延进行调度,则数据包4因为剩余时延长,而被最后调度。而数据包4还需要经历3跳才能到达目的节点,以图6所示的节点调度时间为依据,数据包4在到达目的节点前因超过最大容忍时延被丢弃,因此,无法满足数据包4的时延要求。下面根据本发明上述各实施例的多跳网络分组调度方法,对调度方法的各步骤进行具体说明。为叙述方便,首先对剩余时延的计算方法和根据剩余时延、先前^各径状况和后续^各径状况确定lt据包优先级的步骤进行说明。1.数据包剩余时延的确定方法数据流/的第^个数据包/f包含下面三个值最大容忍时延7;,网络生存时间/f,网络生存时间的设置时间/f。最大容忍时延依据QoS属性确定,且同一数据流的最大容忍时延是相同的。数据包的/f依据如下才几制实现1数据流Z的第*个数据包if首次存在于网络时(存在于它的第一个节点),《=。^为此刻数据包所属节点的系统时间。在第一个节点中,周期性进行数据包队列优先级计算时,更新/,与《,/,=/,+^-^,《=^,其中《是该数据包当前的节点系统时间与上一次记录/f的系统时间的差值,反映了数据包最近一次计算/,后在队列中的等待时间。此刻,数据包if的剩余时延可计算得当数据包离开第一个节点时,由于数据包传输需要时间,为了下一跳的节点获取该数据包准确的生存时间,需要重新设置if的网络生存时间《+4化、4是该数据包的长度,^是该数据包的速率。当数据包到达下一跳新节点时,被设置为这个新节点的系统时间^,初始生存时间为上一跳的生存时间,在后续的数据包队列管理进行网络生存时间更新时,其计算与第一节点的计算方法一致,剩余时间的计算不变2.确定各数据包的优先级改进的最大加4又延时优先(ModifiedLargestWeightedDelayFirst,简称M-LWDF)算法是传统蜂窝通信系统中比较常用的调度方法,其基本思想是数据包的优先级主要是由网络等待时延与无线信道质量共同决定。但是,无线Mesh网络不同于传统的蜂窝通信系统,其进行分组调度的数据包来自本地终端或其他AP。由于各个数据包已经历的无线路径不同,后续经历的无线路由也不同,优先级不仅仅取决于其在网络中的等待时延和无线信道质量,与数据包的后续路径状况也是密切相关的,因此这种方法不能筒单的适用于多跳无线Mesh网络。本实施例在M-LWDF调度方法的基础上,进行了改进,根据剩余时延、先前路径状况和后续路径状况确定数据包优先级,确定优先级可以采用下述7>式-lg^~^~(2)WG(3)其中/,是数据流i所有数据包中最大的网络存在时间,/,=皿{。^{1,...,《}};《为第i个数据流在该节点的数据包个数;?;是该数据流的最大容忍时延;《为min(《|^{i,等于7;-/,,是数据流i从其所有数据包选取的最小的剩余时延;if,为数据流i的数据包到达目的节点前还必须经历的跳数;^反映了数据流i在后续第h个节点的负载状况,是该节点所有数据业务的最小需求速率之和与节点信道容量的比值。若节点负载重,则值大于1,若节点负载轻,则值小于1;c/,/f;^是数据包在后续节点的平均每跳时延估计值;^为所有数据流中最大的平均每跳时延估计值,M=max{W/fx)l/eU,…,州;W)该数据流的当前速率,^为其平均速率,通常采用滑动窗口(也称滑动时间窗)方法计算^。滑动窗口方法主要是,数据流的平均速率为数据流的当前速率与前段时间速率的加权和,权值的大小根据真实的通信系统而定;《为数据包时延超过最大时延的概率,设置的概率越低,则该数据包的优先级越高。为了说明本发明的技术方案针对多跳网络数据业务在时延方面的有效性,假定节点API每次处理一个数据包。在处理此四类数据流期间,没有其他数据流进入节点API;数据包在API的调度时间间隔为5ms。AP1、AP2、AP3的负载状况分别为1,0.87,0.95。本实施例中,起始调度时,各数据流的服务等级、平均速率、当前速率相等,每个分组调度时刻,各个数据包的无线信道质量近似相同(等价为当前速率相同),且平均速率变化非常緩慢。因此,起始时刻,定义各个数据流的-lg《^=C,C为一个常数。滑动窗口的设置使得数据流的衰减因子为0.9,即若数据流此次未被调度,其平均速率降低为原平均速率的0.9倍。下面以先前路径状况为已经历跳数、后续^^径状况为后续跳数为例,对节点API中4类ft据流的调度过程举例i兌明第一次调度时获取数据包l,2,3和4的剩余时延、先前路径状况和后续路径状况及数据流速率状况;基于上述参数,根据表一中各数据包的参数信息由公式(2)计算各数据包的优先级,四数据包优先级的计算分别结果为'.[1.57,1,57,0.68,1.35]xc;数据包l和数据包2优先级相同;根据已经历跳数判断数据包1和数据包2的优先级,数据包2已经历跳数为4跳,因此,确定数据包2的优先级高。四个数据包的优先级从高到低依次为数据包2、数据包l、数据包4、数据包3,数据包2被调度。第二次调度时获取数据包l,3,4的剩余时延和先前、后续路径状况及数据流速率状况;基于上述参数,由公式(2)计算各数据包的优先级,三个流数据包的优先级计算结果为[1.58,0,69,1.37]xl.lc。三个数据包的优先级从高到低依次为数据包1、数据包4、数据包3,数据包1被调度。第三次调度时从数据流序列中获取数据包3,4的剩余时延和先前、后续路径状况及数据流速率状况;两类数据流数据包的优先级计算结果为xl.22c。两个数据包的优先级从高到低依次为数据包4、数据包3,数据包4被调度。第四次调度时数据包3被调度。上述本发明实施例的调度方法使得数据包4调度优先级被提升,拥有更多的剩余时间参与后续路径的调度,提升其在最大容忍时延内到达目的节点的概率,降低了丟包率。而数据包3虽然优先级被降低,但是由于它属于当前节点,被调度时仍然在最大容忍时限内,没有发生丟包现象。本实施例中,以节点每次处理一个数据包为例。当节点每次可以处理N个数据包时,则每4仑流程中前N个优先级高的数据包纟皮调度,与上述方法类似,此处不再重述。本实施例结合实施例三,对多跳网络分组调度的方法如何确定优先级及调度过程进行了具体说明,具有上述图3-图5实施例的全部有益效果,此处不再重述。实施例五图7为本发明实施例五的多跳网络分组调度节点装置的示意图。本实施例中的节点装置,包括获取模块,在接收到外部的数据流序列后,获取各数据包的包括后续路径状况的信息;优先级确定模块,用于根据获取模块获取的各路由参数信息确定各数据包的优先级;分组调度模块,用于根据各数据包的优先级进行无线资源分配;参数更新模块,用于对调度后各数据包的剩余时延、平均速率等参数信息进行更新。上述获取模块可以进一步包括路由信息获取子模块,用于获取各数据包的路由信息;负载检测子模块,用于检测各数据包在后续路由中所要经历节点的负载状况;数据流速率获取子模块,用于获取各17数据包的数据流当前速率和数据流平均速率。上述优先级确定模块可以进一步包括剩余时延确定子模块,用于确定各数据包的剩余时延;优先级确定子模块,用于根据各数据包的剩余时延、路由参数确定各数据包的优先级。本实施例可以通过获取模块获取数据包的后续路径状况等信息,利用优先级确定模块计算各数据包在后续节点的平均每跳时延估计值,将其作为确定各数据包优先级的依据,通过分组调度模块根据数据包的优先级进行无线资源分配。本实施例提供的方法充分考虑了剩余时延、先前路径状况和后续路径状况等信息,使经历不同跳数的数据包在分组调度中具有公平竟争力,保证了数据业务时延要求,提高了通信系统网络资源的利用率。具体确定优先级的过程可参见图3-图6方法实施例的相关说明,不再进行重复说明。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟、光盘、网络节点、调度器等各种可以存储程序代码的介质。最后应说明的是以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来i兌,其依然可以对前述各实施例所记载的才支术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种多跳网络分组调度方法,其特征在于,包括获取各数据包的剩余时延和后续路径状况;根据所述剩余时延和后续路径状况,确定所述各数据包的优先级;根据所述各数据包的优先级进行无线资源分配。2.根据权利要求1所述的方法,其特征在于,进一步包括获取各数据包的先前路径状况;根据所述数据包的剩余时延、先前路径状况和后续路径状况,确定所述各数据包的优先级。3.根据权利要求1所述的方法,其特征在于,所述后续路径状况包括所述数据包的后续跳数和/或后续路径的节点负载。4.根据权利要求2所述的方法,其特征在于,所述先前路径状况包括所述数据包的已完成跳数和/或数据流速率。5.根据权利要求2或4所述的方法,其特征在于,所述确定数据包的优先级操作具体包括根据数据流i的数据包到达目的节点前还必须经历的后续跳数A,所述数据流i的数据包在后续第h个节点的负载状况M^和所述数据流i中所有数据包的最小剩余时延《,确定所述数据流i的各数据包在后续节点的平均每跳预测时延j,/堂^;根据所有数据包的所述平均每跳预测时延,确定其中的最大值根据所述数据流i的当前速率W)和平均速率5,确定所述数据流i的当前调度状况"o/5;确定所述各数据包最大网络存在时间;与最大容忍时延/,的比值,即/,/t;;确定所述各数据包剩余时延超过最大容忍时延的概率《;根据各数据包对应的-ig《i邀^值,确定所述各数据包的优先级。6.根据权利要求1-4中任一项所述的方法,其特征在于,还包括在两个或者多个数据包的优先级相同时,根据先前路径状况重新确定所述两个或多个数据包的优先级。7.根据权利要求6所述的方法,其特征在于,根据先前路径状况重新确定所述两个或多个数据包的优先级包括按照已完成跳数重新确定所述两个或多个数据包的优先级。8.根据权利要求1-4中任一项所述的方法,其特征在于,还包括在两个或者多个数据包的优先级相同时,根据后续路径状况重新确定所述两个或者多个数据包的优先级。9.根据权利要求8所述的方法,其特征在于,所述根据后续路径状况重新确定所述两个或者多个数据包的优先级包括按照后续跳数重新确定所述两个或者多个数据包的优先级。10.—种多跳网络分组调度节点装置,其特征在于,包括获取模块,用于获取各数据包的包括后续路径状况的信息;优先级确定模块,用于根据所述包括后续路径状况的信息及各数据包的剩余时延,确定所述各数据包的优先级;分组调度模块,用于根据所述各数据包的优先级进行无线资源分配;参数更新模块,用于更新调度后剩余各数据包和新到达该节点各数据包的信息。11.根据权利要求10所述的节点装置,其特征在于,所述的获取模块进一步包括路由信息获取子模块,用于获取所述各数据包的路由信息;负载检测子模块,用于检测所述各数据包在后续路由中所要经历节点的负载状况;数据流速率获取子模块,用于获取所述各数据包的数据流速率和数据流平均速率。12.根据权利要求10或11所述的节点装置,其特征在于,所述包括后续路径状况的信息还包括各数据包的先前路径状况。13.根据权利要求10或11所述的节点装置,其特征在于,所述优先级确定模块进一步包括剩余时延确定子模块,用于确定所述各数据包的剩余时延;优先级确定子模块,用于根据所述各数据包的剩余时延、后续路径状况确定所述各数据包的优先级。全文摘要本发明公开了一种多跳网络分组调度方法及节点装置。其中,该方法包括获取各数据包的剩余时延和后续路径状况;根据剩余时延和后续路径状况,确定各数据包的优先级;根据优先级对各数据包进行无线资源分配。本发明各实施例可以有效保证大容量无线多跳网络的分组调度满足数据业务的时延要求,降低剩余跳数较多的数据包被丢弃的概率,保证经历不同跳数的分组数据业务的公平性,避免网络资源的浪费。文档编号H04L12/56GK101645830SQ20081014733公开日2010年2月10日申请日期2008年8月7日优先权日2008年8月7日发明者洁时,茗李,凯牛,田宝玉,许文俊,芳谢申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1