一种报文传输方法及装置的制作方法

文档序号:7698006阅读:69来源:国知局
专利名称:一种报文传输方法及装置的制作方法
技术领域
本发明涉及数据通传输术领域,尤其涉及一种报文传输方法及装置。
背景技术
在报文的传输过程中,系统根据报文的重要程度,为报文设置不同的优先级,当网络系统拥塞时,大量的报文汇聚到一个网络设备的出端口,此时在端口容量允许的情况下, 需要尽量保证优先级高的报文优先发送。另外,在网络设备上每个端口一般有8个输出队列,每个队列均有固定的优先级, 用数字的方式表示,依次为7、6、5、4、3、2、1、0队列,每个队列的优先级预先注册在系统内。 其中,序号最高的队列7具有最高的优先级,队列的优先级依据队列的序列号依次减小,队列0具有最低的优先级。并且,优先级高的报文放入优先级高的队列。在队列调度时,严格按照优先级从高至低的次序,优先发送较高优先级队列中的报文,最高优先级当然具有最高的发送权。即,首先发送优先级最高的队列7中的报文,当优先级最高的队列7为空时,再发送优先级较低的队列6中的报文,以此类推。因此,将关键业务的报文放入较高优先级的队列中,而将非关键业务的报文放入较低优先级的队列中, 可以保证关键业务的报文能及时发送,只有当网络系统空闲,没有高优先级的报文发送时, 低优先级的报文才能被发送。在网络设备中,最基本的优先级队列调度方式是采用固定优先级和时间片结合的方式进行。在第一个时间片中,系统根据待发送报文所在队列的优先级,选择所在队列优先级最高的待发送报文进行发送,当该时间片结束时,即使该队列中仍有报文,系统仍然需要回收该队列的发送权,重新进行仲裁,当下一个时间片该队列的优先级仍然为最高时,才可以继续发送该队列的报文,否则,系统选择优先级更高的队列中的报文进行发送。因为每个时间片的时间长度是一定的,并且端口的最大速率是由系统确定的,所以,每个时间片最多能够发送的报文长度也是确定的。例如某系统的端口速率为mbps,时间片长度为10US,则每个时间片内能够发送的报文长度为l(ibps*10us = 1250bytes。当队列中的待发送报文长度小于系统一个时间片内支持的最大长度时,即使该队列中的报文已经发送完成,系统仍需要等待至这个时间片结束才能重新分配下一个时间片。目前,优先级较高队列中发送的报文一般为协议报文,由于协议报文通常不会连续发送,并且每个协议报文包含的字节数比较少,因此,当系统分配时间片用于协议报文进行发送时,可能仅有小部分时间在发送报文,而大部分时间都浪费掉了。在一种极端情况下,当协议报文的发送周期与时间片重合时,就会出现每个时间片只能发送一个协议报文, 同时,低优先级队列中的报文往往因为时间片一直被占用,而无法进行发送。因此,在现有技术中,采用固定优先级和时间片结合的方式进行报文传输的过程中,由于时间片分配不合理,会导致时间片利用率偏低,造成系统资源的极大浪费,也严重影响了网络系统的性能。

发明内容
有鉴于此,本发明提供了一种报文传输方法及装置,用以解决现有技术中由于时间片分配不合理,而导致系统资源浪费的问题。本发明提供了一种报文传输方法,该方法包括以下步骤 根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值;当确定发送队列中包含的待发送报文包含的字节数大于设置的报文发送长度阈值时,将时间片分配给该发送队列,进行报文传输;否则,确定时间片空转。本发明提供了一种报文传输装置,所述装置包括判断模块,用于根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值;传输空转模块,用于当确定发送队列中包含的待发送报文包含的字节数大于设置的报文发送长度阈值时,将时间片分配给该发送队列,进行报文传输;否则,确定时间片空转。本发明提供了一种报文传输方法及装置,在该方法中设置的报文发送长度阈值, 根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值;确定是否将时间片分配给该发送队列,进行报文传输;当确定所有发送队列中待发送报文包含的字节数都小于设置的报文发送长度阈值时,确定时间片空转。由于在本发明中通过对每个发送队列中包含的待发送报文包含的字节数,设置报文发送长度阈值,只有当发送队列中待发送报文包含的字节数,大于设定的报文发送长度阈值时,才将时间片分配给该发送队列,进行报文传输,因此,提高了时间片的利用率,从而有效的减少了系统资源的浪费。


此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1为本发明提供的一种报文传输的过程示意图;图2为本发明提供的一种报文传输过程的详细示意图;图3为本发明提供的另一种报文传输的详细过程示意图;图4为本发明提供的一种报文发送装置的结构示意图。
具体实施例方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明为了提高时间片的利用率,减少系统资源的浪费,提供了一种报文传输方法及装置,由于在本发明中通过对每个发送队列设置报文发送长度阈值,只有当发送队列中待发送报文包含的字节数,大于设定的报文发送长度阈值时,才将时间片分配给该发送
5队列,进行报文传输,因此,提高了时间片的利用率,从而有效的减少了系统资源的浪费。图1为本发明提高的一种报文传输的过程示意图,该传输过程包括以下几个步骤SlOl 根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值,当判定结果为是时, 进行步骤S102,否则,进行步骤S103。其中,报文发送长度阈值可以为任意值,是根据端口的最大速率及时间片的时间长度确定的。具体的,系统根据端口的最大速率及时间片的时间长度,设置发送队列的报文发送长度阈值,由于每个时间片的时间长度是一定的,端口的最大速率由系统的配置确定,因此,每个时间片的时间长度内,端口能够传输的最大报文字节数,为端口的最大速率与时间片的时间长度乘积而确定的固定值。S102 将时间片分配给该发送队列,进行报文传输。具体的,在本发明中系统将当前的一个时间片分配给查找到的发送队列,其中,该查找到的发送队列为,包含的待发送报文的字节数大于设置的报文发送长度阈值的队列中,且优先级最高的发送队列。S103 确定时间片空转。其中,当系统在端口中未查找到,包含待发送报文的字节数大于设置的报文发送长度阈值的发送队列时,系统将当前的时间片空转,并开始下一个时间片的分配过程。在本发明中通过对每个发送队列设置报文发送长度阈值,只有当发送队列中包含的待发送报文包含的字节数,大于设定的报文发送长度阈值时,才将时间片分配给该发送队列,进行报文传输,因此,提高了时间片的利用率,从而有效的减少了系统资源的浪费。而当每个发送队列中包含的待发送报文包含的字节数都不大于设置的报文长度阈值时,该时间片可以空转,或者,为了保证优先级较高的发送队列中报文的发送,该时间片可以发送优先级最高的发送队列中包含的待发送报文,或者也可以在所有的发送队列中查找包含的字节数最多的发送队列,发送该发送队列中的待发送报文,再或者可以任意选择一个发送队列,发送该发送队列包含的待发送报文。另外,在本发明中为了在提高时间片利用率的同时,保证优先级高的报文优先进行传输,根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文的字节数,是否大于设置的报文发送长度阈值,包括查找当前发送队列中优先级最高的发送队列;针对该发送队列,确定当前该发送队列中待发送报文包含的字节数;判断该待发送报文包含的字节数,是否大于设置的报文发送长度阈值;当确定该待发送报文包含的字节数大于设置的报文发送长度阈值时,将时间片分配给该发送队列,进行报文传输,否则,查找较该优先级最高的发送队列优先级低的发送队列,直至将时间片分配给该发送队列,进行报文传输。即在本发明中,按照发送队列的优先级从高到底的顺序,依次查找每个发送队列, 并确定该发送队列中待发送报文包含的字节数,当按照次序查找到某一发送队列中包含的待发送报文包含的字节数大于设定的报文发送长度阈值时,则可以认为该发送队列为所有
6发送队列中,包含的待发送报文的字节数大于设定的报文发送长度阈值,且优先级最高的发送队列,此时将该时间片分配给发送队列,发送该发送队列中包含的待发送报文。图2为本发明提供的一种报文传输过程的详细示意图,该传输过程包括以下几个步骤S201 根据端口中每个发送队列的优先级,查找当前发送队列中优先级最高的发送队列。具体的,当系统的时间片机制开始运转,进行时间片的分配时,系统根据端口中每个发送队列的优先级,查找当前发送队列中优先级最高的发送队列。S202:针对该优先级最高的发送队列,确定当前该发送队列中待发送报文包含的
字节数。S203:判断该发送队列中待发送报文包含的字节数,是否大于设置的报文发送长度阈值,当判定结果为是时,进行步骤S204,否则,进行步骤S205。S204 将时间片分配给该发送队列,进行报文传输。S205 判断该发送队列是否为该端口的优先级最低的发送队列,当判断结果为是时,进行步骤S206,否则,进行步骤S207。S206 确定该时间片空转。S207:在该发送队列中除该优先级最高的发送队列之外的发送队列中,查找优先级最高的发送队列,将该发送队列作为当前优先级最高的队列,进行步骤S202。在本发明中确定时间片空转包括确定当前发送队列中优先级最低的发送队列中包含的待发送报文包含的字节数,小于设置的报文发送长度阈值时,当前时间片空转。另外,在本发明中为了便于查找到包含的待发送报文包含的字节数,大于设置的报文发送长度阈值的发送队列,针对端口中的每个发送队列,在确定该发送队列中待发送报文包含的字节数之前,还包括确定该发送队列包含待发送报文。这是因为有的发送队列中可能不包含待发送报文,如果该发送队列中不包含待发送报文,则该发送队列中包含的字节数为零,一定小于设置的报文发送长度阈值,因此, 在本发明中为了提高报文发送的效率,在针对每个发送队列中待发送报文包含的字节数之前,先判断该待发送队列中是否包含待发送报文,当该发送队列中包含待发送报文时,再确定该发送队列中待发送报文包含的字节数,当该待发送队列中不包含待发送报文时,则确定该发送队列包含的字节数小于设定的报文发送长度阈值,直接进行下一优先级的发送队列的判断。图3为本发明提供的另一种报文传输的详细过程示意图,该传输过程包括以下几个步骤S301 系统的时间片机制开始运转,对当前的时间片进行分配。S302:根据端口中每个发送队列的优先级,查找当前发送队列中优先级最高的发送队列,将该优先级最高的发送队列作为当前发送队列。S303:判断当前发送队列中是否包含待发送报文,当判定结果为是时,进行步骤 S304,否则,进行步骤S307。S304:针对该当前发送队列,确定该当前发送队列中待发送报文包含的字节数。
S305:判断该当前发送队列中待发送报文包含的字节数,是否大于设置的报文发送长度阈值,当判定结果为是时,进行步骤S306,否则,进行步骤S307。S306 将时间片分配给该发送队列,进行报文传输。S307 判断该当前发送队列是否为该端口的优先级最低的发送队列,当判断结果为是时,进行步骤S308,否则,进行步骤S309。S308 确定该时间片空转,并立刻开始下一个时间片的分配。S309:在该发送队列中除优先级较该当前发送队列高的发送队列,及该当前发送队列之外的发送队列中,查找优先级最高的发送队列,将该优先级最高的发送队列作为当前发送队列,进行步骤S303。具体的,当查找至端口中优先级最低的发送队列时,确定该优先级最低的发送队列中包含的待发送报文包含的字节数,小于设置的报文发送长度阈值时,当前时间片分配结束,并立刻开始下一个时间片的分配。另外,在本发明中为了在提高时间片利用率的同时,进一步保证优先级高的报文优先进行传输,系统可以统一设置端口中每个发送队列的报文发送长度阈值,也可以根据端口中每种优先级的发送队列,分别设置该发送队列对应的报文发送长度阈值。在本发明中当高优先级的报文包含的字节数较少时,为了保证低优先级流量较大的报文能够进行传输,系统为端口中的发送队列统一设置报文发送长度阈值,例如,统一设置成端口能够传输的最大报文字节数。这样,当端口中优先级高的发送队列中包含的报文较少时,由于该优先级高的发送队列中包含的报文字节数未达到设定的报文发送长度阈值,因此,系统将当前的时间片分配给优先级较低的,包含的报文字节数大于设定的报文发送长度阈值的发送队列,进行报文的传输。或者,为了提高时间片利用率的同时,保证高优先级报文能及时的进行传输,系统根据端口中发送队列的优先级分别设定报文发送长度阈值,例如,设置优先级较高的发送队列的报文发送长度阈值为端口能够传输的最大报文字节数的60%,设置优先级较低的发送队列的报文发送长度阈值为端口能够传输的最大报文字节数。这样,当端口中优先级高的发送队列中包含的报文较少时,将时间片分配给优先级较低的,包含的报文字节数大于端口能够传输的最大报文字节数的发送队列,进行报文的传输,而当优先级高的队列中积累的待发送报文包含的字节数,大于端口能够传输的最大报文字节数的60%时,将时间片分配给该优先级高的发送队列,进行报文传输。图4为本发明提供的一种报文发送装置的结构示意图,该装置包括判断模块41,用于根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值;传输空转模块42,用于当确定发送队列中包含的待发送报文包含的字节数大于设置的报文发送长度阈值时,将时间片分配给该发送队列,进行报文传输;否则,确定时间片空转。所述传输空转模块42,具体用于查找当前发送队列中优先级最高的发送队列;针对该发送队列,确定当前该发送队列中待发送报文包含的字节数;判断该待发送报文包含的字节数,是否大于设置的报文发送长度阈值;当确定该待发送报文包含的字节数大于设置的报文发送长度阈值时,将时间片分配给该发送队列,进行报文传输,否则,查找较该优先级最高的发送队列优先级低的发送队列,直至将时间片分配给该发送队列,进行报文传输。所述判断模块41,还用于确定该发送队列是否包含待发送报文。所述传输空转模块42,具体用于确定当前发送队列中优先级最低的发送队列中包含的待发送报文包含的字节数,小于设置的报文发送长度阈值时,时间片空转。所述装置还包括设置模块43,用于根据端口的最大速率及时间片的时间长度,设置报文发送长度阈值,其中,报文发送长度阈值为不大于端口最大速率与时间片的时间长度乘积的任意值。本发明提供了一种报文传输方法及装置,在该方法中设置的报文发送长度阈值, 根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值;确定是否将时间片分配给该发送队列,进行报文传输;当确定所有发送队列中待发送报文包含的字节数都小于设置的报文发送长度阈值时,确定时间片空转。由于在本发明中通过对每个发送队列中包含的待发送报文包含的字节数,设置报文发送长度阈值,只有当发送队列中待发送报文包含的字节数,大于设定的报文发送长度阈值时,才将时间片分配给该发送队列,进行报文传输,因此,提高了时间片的利用率,从而有效的减少了系统资源的浪费。上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、 修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
9
权利要求
1.一种报文传输方法,其特征在于,所述方法包括根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值;当确定发送队列中包含的待发送报文包含的字节数大于设置的报文发送长度阈值时, 将时间片分配给该发送队列,进行报文传输; 否则,确定时间片空转。
2.如权利要求1所述的方法,其特征在于,所述将时间片分配给该发送队列,进行报文传输,包括查找当前发送队列中优先级最高的发送队列; 针对该发送队列,确定当前该发送队列中待发送报文包含的字节数; 判断该待发送报文包含的字节数,是否大于设置的报文发送长度阈值; 当确定该待发送报文包含的字节数大于设置的报文发送长度阈值时,将时间片分配给该发送队列,进行报文传输,否则,查找较该优先级最高的发送队列优先级低的发送队列, 直至将时间片分配给该发送队列,进行报文传输。
3.如权利要求2所述的方法,其特征在于,针对该发送队列,确定当前该发送队列中待发送报文包含的字节数之前,所述方法还包括确定该发送队列包含待发送报文。
4.如权利要求1所述的方法,其特征在于,所述确定时间片空转,包括确定当前发送队列中优先级最低的发送队列中包含的待发送报文包含的字节数,小于设置的报文发送长度阈值时,当前时间片空转。
5.如权利要求1或2所述的方法,其特征在于,所述设置的报文发送长度阈值,包括 根据端口的最大速率及时间片的时间长度,设置报文发送长度阈值,其中,报文发送长度阈值为不大于端口最大速率与时间片的时间长度乘积的任意值。
6.一种报文传输装置,其特征在于,所述装置包括判断模块,用于根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值;传输空转模块,用于当确定发送队列中包含的待发送报文包含的字节数大于设置的报文发送长度阈值时,将时间片分配给该发送队列,进行报文传输;否则,确定时间片空转。
7.如权利要求6所述的装置,其特征在于,所述传输空转模块,具体用于查找当前发送队列中优先级最高的发送队列;针对该发送队列,确定当前该发送队列中待发送报文包含的字节数;判断该待发送报文包含的字节数,是否大于设置的报文发送长度阈值;当确定该待发送报文包含的字节数大于设置的报文发送长度阈值时,将时间片分配给该发送队列,进行报文传输,否则,查找较该优先级最高的发送队列优先级低的发送队列,直至将时间片分配给该发送队列,进行报文传输。
8.如权利要求7所述的装置,其特征在于,所述判断模块,还用于确定该发送队列是否包含待发送报文。
9.如权利要求6所述的装置,其特征在于,所述传输空转模块,具体用于确定当前发送队列中优先级最低的发送队列中包含的待发送报文包含的字节数,小于设置的报文发送长度阈值时,时间片空转。
10.如权利要求6所述的装置,其特征在于,所述装置还包括 设置模块,用于根据端口的最大速率及时间片的时间长度,设置报文发送长度阈值,其中,报文发送长度阈值为不大于端口最大速率与时间片的时间长度乘积的任意值。
全文摘要
本发明公开了一种报文传输方法及装置,在该方法中设置的报文发送长度阈值,根据端口中每个发送队列的优先级,按照优先级依次判断每个发送队列中包含的待发送报文包含的字节数,是否大于设置的报文发送长度阈值;确定是否将时间片分配给该发送队列,进行报文传输;当确定所有发送队列中待发送报文包含的字节数都小于设置的报文发送长度阈值时,确定时间片空转。由于在本发明中通过对每个发送队列中包含的待发送报文包含的字节数,设置报文发送长度阈值,只有当发送队列中待发送报文包含的字节数,大于设定的报文发送长度阈值时,才将时间片分配给该发送队列,进行报文传输,因此,提高了时间片的利用率,从而有效的减少了系统资源的浪费。
文档编号H04L12/56GK102223306SQ20111016440
公开日2011年10月19日 申请日期2011年6月17日 优先权日2011年6月17日
发明者唐建娟, 陈晓 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1