一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种报文传输方法及发送端设备与流程

2022-06-18 04:18:32 来源:中国专利 TAG:


1.本技术涉及通信领域,尤其涉及一种报文传输方法及发送端设备。


背景技术:

2.网络设备通常会将需要发送的报文通过负载分担方式分摊到多条通道上,进而,通过多条通道将报文发送至其他网络设备。
3.现有技术中的负载分担是将不同优先级的报文随机分配到不同的通道,并在各通道内进行严格优先级(strict priority,sp)调度。然而,考虑到每条通道的带宽不同,采用这种通道内的sp调度仍有可能出现一条通道内的低优先级报文发出,但另一条通道内的高优先级报文丢弃的情况,sp调度效果较差。


技术实现要素:

4.本技术实施例提供了一种报文传输方法及发送端设备,避免了低优先级报文可以正常发送而有高优先级报文需要丢弃的情况,实现了通道间的sp调度,sp调度效果更好。
5.第一方面,本技术实施例提供了一种报文传输方法。首先,发送端设备获取第一报文集合和第二报文集合,其中,第一报文集合中报文的优先级高于第二报文集合中报文的优先级。之后,发送端设备将第一报文集合中的第一报文子集分配至第一队列,并将第二报文集合中的第二报文子集分配至第二队列,其中,第一队列的优先级高于第二队列的优先级。若第一队列对应的第一通道的剩余带宽不能承载第一报文集合中的第三报文子集,则发送端设备将第三报文子集分配至第二队列。进而,发送端设备通过第一通道依次发送第一队列中的报文,并通过第二队列对应的第二通道优先发送第三报文子集。
6.在该实施方式中,发送端设备会根据报文的优先级将不同的报文分配至不同的队列中。其中,高优先级报文会优先分配至高优先级队列中,低优先级报文分配至低优先级队列中。若高优先级队列所对应通道的剩余带宽无法再承载后续的高优先级报文了,可以将后续的高优先级报文分配至低优先级队列中。并且,发送端设备会优先发送低优先级队列中的高优先级报文。通过上述方式,避免了低优先级报文可以正常发送而有高优先级报文需要丢弃的情况,实现了通道间的sp调度,sp调度效果更好。
7.在一些可能的实施方式中,第一队列包括多个优先级不同的第一子队列,发送端设备通过第一通道依次发送第一队列中的报文之前,方法还包括:
8.发送端设备将第一队列中的报文分配至多个第一子队列,其中,优先级相对较高的报文会分配至优先级相对较高的第一子队列中。通过上述方式,在实现通道间sp调度的基础上,也可以进一步实现每个通道内的sp调度,进一步保证了可以优先发送每个队列中优先级相对较高的报文。
9.在一些可能的实施方式中,第二队列包括多个优先级不同的第二子队列,发送端设备通过第二队列对应的第二通道优先发送第三报文子集之前,方法还包括:
10.发送端设备将第二队列中的报文分配至多个第二子队列,其中,优先级相对较高
的报文会分配至优先级相对较高的第二子队列中。
11.在一些可能的实施方式中,方法还包括:若第二通道的剩余带宽不能承载第二报文集合中的第四报文子集,则发送端设备将第四报文子集分配至第一队列。
12.发送端设备通过第一通道依次发送第一队列中的报文包括:发送端设备通过第一通道优先发送第一报文集合中的报文,再发送第四报文子集。
13.在该实施方式中,在低优先级队列所对应的通道带宽不够时,还可以将低优先级报文分配至高优先级队列,从而提高整体的带宽利用率。
14.在一些可能的实施方式中,方法还包括:
15.发送端设备获取第三报文集合,第二报文集合中报文的优先级高于第三报文集合中报文的优先级。发送端设备将第三报文集合中的第五报文子集分配至第三队列,第二队列的优先级高于第三队列的优先级。若第二通道的剩余带宽不能承载第二报文集合中的第四报文子集,则发送端设备将第四报文子集分配至第三队列。发送端设备通过第三队列对应的第三通道优先发送第四报文子集。通过上述方式,在多于两个通道的应用场景中,仍然可以按照上述方式在相邻两个优先级的通道之间进行sp调度,提高了本方案的扩展性。
16.在一些可能的实施方式中,方法还包括:若第三通道的剩余带宽不能承载第三报文集合中的第六报文子集,则发送端设备将第六报文子集分配至第二队列。
17.发送端设备通过第二通道优先发送第三报文子集之后,方法还包括:发送端设备通过第二通道优先发送第二报文集合中的报文,再发送第六报文子集。
18.在一些可能的实施方式中,发送端设备将第一报文子集分配至第一队列之后,方法还包括:发送端设备建立第一报文子集与第一队列之间的第一索引,第一报文子集包括多个报文,第一报文子集中至少两个报文的五元组不同。
19.发送端设备将第二报文子集分配至第二队列之后,方法还包括:发送端设备建立第二报文子集与第二队列之间的第二索引,第二报文子集包括多个报文,第二报文子集中至少两个报文的五元组不同。
20.发送端设备将第三报文子集分配至第二队列之后,方法还包括:发送端设备建立第三报文子集与第二队列之间的第三索引,第三报文子集包括多个报文,第三报文子集中至少两个报文的五元组不同。
21.在该实施方式中,由于五元组不同的报文通常很多,发送端设备可能没有足够的管理资源为每一个五元组的报文都建立与队列之间的索引。因此,发送端设备可以根据哈希算法或者折半加算法将多个五元组不同的报文映射到同一个索引上。通过这种方式可以合理的利用本地的管理资源,从而便于为更多数量的报文进行队列分配。
22.在一些可能的实施方式中,发送端设备建立第一报文子集与第一队列之间的第一索引之后,方法还包括:若第一报文集合中的第一报文的五元组与第一报文子集中至少一个报文的五元组相同,则发送端设备根据第一索引将第一报文分配至第一队列。
23.发送端设备建立第二报文子集与第二队列之间的第二索引之后,方法还包括:若第二报文集合中的第二报文的五元组与第二报文子集中至少一个报文的五元组相同,则发送端设备根据第二索引将第二报文分配至第二队列。
24.发送端设备建立第三报文子集与第二队列之间的第三索引之后,方法还包括:若第二报文集合中的第二报文的五元组与第二报文子集中至少一个报文的五元组相同,则发
送端设备根据第二索引将第二报文分配至第二队列。
25.在该实施方式中,可以基于已经建立的索引为后续与该索引对应的五元组报文分配队列,从而使得五元组相同的报文可以分配至相同队列,保证了数据传输的稳定性。
26.在一些可能的实施方式中,发送端设备建立第一报文子集与第一队列之间的第一索引之后,方法还包括:若第一报文子集的传输速率小于第一速率阈值,则发送端设备删除第一索引。
27.发送端设备建立第二报文子集与第二队列之间的第二索引之后,方法还包括:若第二报文子集的传输速率小于第二速率阈值,则发送端设备删除第二索引。
28.发送端设备建立第三报文子集与第二队列之间的第三索引之后,方法还包括:若第三报文子集的传输速率小于第三速率阈值,则发送端设备删除第三索引。
29.在该实施方式中,需要发送的报文类型随着时间的推移会不断发生变化,那么为了更合理地利用管理资源,需要周期性的进行检测以判断当前已建立的索引是否需要解除,从而释放出管理资源用于建立新的索引。
30.第二方面,本技术实施例提供了一种发送端设备,包括:处理器、存储器以及收发器,处理器、存储器以及收发器通过线路互相连接,存储器中存储有指令。
31.处理器用于:获取第一报文集合和第二报文集合,第一报文集合中报文的优先级高于第二报文集合中报文的优先级。将第一报文集合中的第一报文子集分配至第一队列,并将第二报文集合中的第二报文子集分配至第二队列,第一队列的优先级高于第二队列的优先级。若第一队列对应的第一通道的剩余带宽不能承载第一报文集合中的第三报文子集,则将第三报文子集分配至第二队列。
32.收发器用于:通过第一通道依次发送第一队列中的报文,并通过第二队列对应的第二通道优先发送第三报文子集。
33.在一些可能的实施方式中,第一队列包括多个优先级不同的第一子队列,通过第一通道依次发送第一队列中的报文之前,处理器还用于:将第一队列中的报文分配至多个第一子队列,其中,优先级高的第一子队列中报文的优先级高于优先级低的第一子队列中报文的优先级。
34.在一些可能的实施方式中,第二队列包括多个优先级不同的第二子队列,通过第二队列对应的第二通道优先发送第三报文子集之前,处理器还用于:将第二队列中的报文分配至多个第二子队列,其中,优先级高的第二子队列中报文的优先级高于优先级低的第二子队列中报文的优先级。
35.在一些可能的实施方式中,处理器还用于:若第二通道的剩余带宽不能承载第二报文集合中的第四报文子集,则将第四报文子集分配至第一队列。
36.收发器具体用于:通过第一通道优先发送第一报文集合中的报文,再发送第四报文子集。
37.在一些可能的实施方式中,处理器还用于:获取第三报文集合,第二报文集合中报文的优先级高于第三报文集合中报文的优先级。将第三报文集合中的第五报文子集分配至第三队列,第二队列的优先级高于第三队列的优先级。若第二通道的剩余带宽不能承载第二报文集合中的第四报文子集,则将第四报文子集分配至第三队列。
38.收发器还用于:通过第三队列对应的第三通道优先发送第四报文子集。
39.在一些可能的实施方式中,处理器还用于:若第三通道的剩余带宽不能承载第三报文集合中的第六报文子集,则将第六报文子集分配至第二队列。
40.通过第二通道优先发送第三报文子集之后,收发器还用于:通过第二通道优先发送第二报文集合中的报文,再发送第六报文子集。
41.在一些可能的实施方式中,将第一报文子集分配至第一队列之后,处理器还用于:建立第一报文子集与第一队列之间的第一索引,第一报文子集包括多个报文,第一报文子集中至少两个报文的五元组不同。
42.将第二报文子集分配至第二队列之后,处理器还用于:建立第二报文子集与第二队列之间的第二索引,第二报文子集包括多个报文,第二报文子集中至少两个报文的五元组不同。
43.将第三报文子集分配至第二队列之后,处理器还用于:建立第三报文子集与第二队列之间的第三索引,第三报文子集包括多个报文,第三报文子集中至少两个报文的五元组不同。
44.在一些可能的实施方式中,建立第一报文子集与第一队列之间的第一索引之后,处理器还用于:若第一报文集合中的第一报文的五元组与第一报文子集中至少一个报文的五元组相同,则根据第一索引将第一报文分配至第一队列。
45.建立第二报文子集与第二队列之间的第二索引之后,处理器还用于:若第二报文集合中的第二报文的五元组与第二报文子集中至少一个报文的五元组相同,则根据第二索引将第二报文分配至第二队列。
46.建立第三报文子集与第二队列之间的第三索引之后,处理器还用于:若第二报文集合中的第二报文的五元组与第二报文子集中至少一个报文的五元组相同,则根据第二索引将第二报文分配至第二队列。
47.在一些可能的实施方式中,建立第一报文子集与第一队列之间的第一索引之后,处理器还用于:若第一报文子集的传输速率小于第一速率阈值,则删除第一索引。
48.建立第二报文子集与第二队列之间的第二索引之后,处理器还用于:若第二报文子集的传输速率小于第二速率阈值,则删除第二索引。
49.建立第三报文子集与第二队列之间的第三索引之后,处理器还用于:若第三报文子集的传输速率小于第三速率阈值,则删除第三索引。
50.第三方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机指令,当计算机指令被执行时,以实现第一方面至中任一可能实现方式中提供的报文传输方法。
51.本技术实施例中,发送端设备会根据报文的优先级将不同的报文分配至不同的队列中。其中,高优先级报文会优先分配至高优先级队列中,低优先级报文分配至低优先级队列中。若高优先级队列所对应通道的剩余带宽无法再承载后续的高优先级报文了,可以将后续的高优先级报文分配至低优先级队列中。并且,发送端设备会优先发送低优先级队列中的高优先级报文。通过上述方式,避免了低优先级报文可以正常发送而有高优先级报文需要丢弃的情况,实现了通道间的sp调度,sp调度效果更好。
附图说明
52.图1为本技术实施例所应用的一种网络架构示意图;
53.图2为本技术实施例中报文传输方法的一个实施例示意图;
54.图3为本技术实施例中五元组与队列之间建立索引的一种示意图;
55.图4为一种通道间sp调度的流程示意图;
56.图5为一种可能的发送端设备的结构示意图。
具体实施方式
57.本技术提供了一种报文传输方法及发送端设备,实现了报文通道之间的sp调度,sp调度效果更好。需要说明的是,本技术说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等用于区别类似的对象,而非限定特定的顺序或先后次序。应该理解,上述术语在适当情况下可以互换,以便在本技术描述的实施例能够以除了在本技术描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
58.图1为本技术实施例所应用的一种网络架构示意图。如图1所示,设备1通常会将需要发送的报文通过负载分担方式分摊到多条通道上,进而,通过多条通道将报文发送至设备2。例如,设备1将图1中所示用户1-用户3的报文先聚合在一起,再将这些报文分配到通道1和通道2,进而将这些报文通过通道1和通道2发送至设备2。应理解,不同类型报文的优先级是不同的,例如,语音业务的报文优先级高于其他普通数据业务的报文优先级。
59.为了使优先级高的报文可以优先发送出去,目前的一种方式是先将不同优先级的报文随机分配到通道1和通道2,进而分别在通道1和通道2内进行严格优先级(strict priority,sp)调度,使通道1和通道2内优先级相对较高的报文可以优先发送出去。然而,这种方式只能做到通道内的sp调度,没法实现通道之间的sp调度。在实际发送的过程中,就有可能出现低优先级报文可以正常发送而有高优先级报文需要丢弃的情况,例如,图1中h1-hn表示高优先级报文,l1-ln表示低优先级报文,如果通道1有足够的带宽来承载h1报文,而通道2没有足够的带宽来承载h2报文和hn报文,那就可能会出现l1报文有流量发送出去,而h2报文或hn报文有流量丢弃的情况。所以,要想避免这种情况的发生,应该考虑将h2报文或hn报文分配到带宽充足的通道1中。
60.为此,本技术提供了一种报文传输方法实现了通道之间的sp调度,sp调度效果更好。需要说明的是,本技术不限定报文发送端的发送端设备的具体类型,只要是具有多个端口且多个端口之间有优先级区分的设备都可以是本技术中的发送端设备。例如,该发送端的发送端设备可以是无源光网络(passive optical network,pon)中的光网络单元(optical network unit,onu)。需要说明的是,上述的发送端设备只是相对于接收端设备从信号收发的层面定义的,发送端设备也可以具有信号接收的能力。为了便于描述,下面统一用发送端设备作为本方案的执行主体进行描述。
61.图2为本技术实施例中报文传输方法的一个实施例示意图。在示例中,报文传输方法包括如下步骤。
62.201、发送端设备获取第一报文集合和第二报文集合。
63.发送端设备根据本地各报文的优先级将所有报文分为多个报文集合,如第一报文
集合和第二报文集合。其中,第一报文集合中的报文为高优先级报文,第二报文集合中的报文为低优先级报文。应理解,在实际应用中,报文的优先级划分可以有多种方式,例如,可以只划分为高优先级和低优先级。又例如,也可以划分为第一级别、第二级别和第三级别等更多级别,相应的,也可以分类出第三报文集合等更多报文集合。还应理解,在同一优先级的报文集合中还可以为该报文集合中的每个报文再进一步划分优先级,例如,将同为高优先级的n个报文进一步按优先级从低到高的顺序分为h1报文-hn报文。
64.202、发送端设备将第一报文集合中的第一报文子集分配至第一队列,并将第二报文集合中的第二报文子集分配至第二队列。
65.本实施例中,每个队列都有与之对应的通道,例如,第一队列对应第一通道,第二队列对应第二通道。应理解,通道即为用于传输报文的物理链路,可以是电缆和光纤等有形介质,也可以是诸如无线传输信道的无形介质,具体此处不做限定。为了在报文进入通道传输之前,还可以对报文的发送顺序进行调整,需要先将不同的报文集合分配至不同的队列。具体地,队列可以理解为一种存储单元,发送端设备会对每个队列中的报文进行排序后再通过每个队列对应的通道发送出去。基于上述描述,本技术不仅需要区分报文的优先级,还需要区分队列的优先级,其中,第一队列的优先级高于第二队列的优先级。因此,发送端设备会将第一报文集合中的报文优先分配至第一队列,将第二报文集合中的报文优先分配至第二队列。
66.发送端设备在为各报文分配队列之前,首先需要判断该队列所对应的通道的剩余带宽是否还能承载该报文。也就是说,第一队列对应的第一通道可以承载第一报文集合中的第一报文子集,第二队列对应的第二通道可以承载第二报文集合中的第二报文子集。应理解,本技术不限定第一报文子集和第二报文子集中具体的报文数量。
67.需要说明的是,发送端设备需要保证五元组相同的报文分配到相同的队列中,因此发送端设备会记录已分配过队列的报文的五元组,并建立该五元组与队列之间的索引。具体地,发送端设备在为目标报文分配队列之前,还需要判断目标报文的五元组是否与之前已分配过队列的报文的五元组相同。如果相同且该队列对应的通道的剩余带宽足够就可以根据已经建立的索引将目标报文分配至相应的队列。如果不同则说明还没有记录过目标报文的五元组,那么发送端设备为目标报文分配队列后还将建立目标报文与该队列之间的索引,便于为后续为与目标报文五元组相同的其他报文分配队列。
68.图3为本技术实施例中五元组与队列之间建立索引的一种示意图。在一些可能的实施方式中,由于五元组不同的报文通常很多,发送端设备可能没有足够的管理资源为每一个五元组的报文都建立与队列之间的索引。因此,发送端设备可以根据哈希算法或者折半加算法将多个五元组不同的报文映射到同一个索引上,即如图3所示,多个不同五元组的报文可以对应同一个索引,只要是属于五元组1-五元组5的报文都可以通过索引1或索引2分配至队列1。也就是说,上述分配至第一队列的第一报文子集可以包括多个报文。该多个报文的五元组可以相同,或者,其中至少有两个报文的五元组不同。进而可以将第一报文子集中五元组不同的报文映射到同一管理资源上。发送端设备为后续的第一报文分组时,若第一报文的五元组与第一报文子集中至少一个报文的五元组相同,就可以通过已经建立的索引将第一报文分配至第一队列。通过这种方式可以合理的利用本地的管理资源,从而便于为更多数量的报文进行队列分配。当然,在管理资源充足的情况下,也可以将不同五元组
的报文都映射到不同的索引上,具体此处不做限定。
69.需要说明的是,发送端设备需要发送的报文类型随着时间的推移会不断发生变化,那么为了更合理地利用管理资源,需要周期性的进行检测以判断当前已建立的索引是否需要解除并建立新的索引。例如,发送端设备已经建立了第一报文子集与第一队列之间的第一索引,如果一个周期内发送端设备检测到第一报文子集的传输速率小于第一速率阈值,即说明当前第一报文子集中的报文流量较少,那么就可以先解除该第一索引,从而释放出管理资源用于建立新的索引。又例如,发送端设备已经建立了第二报文子集与第二队列之间的第二索引,如果一个周期内发送端设备检测到第二报文子集的传输速率小于第二速率阈值,那么就可以先解除该第二索引。再例如,发送端设备已经建立了第三报文子集与第二队列之间的第三索引,如果一个周期内发送端设备检测到第三报文子集的传输速率小于第三速率阈值,那么也可以先解除该第三索引。应理解,本技术不对上述的第一速率阈值、第二速率阈值以及第三速率阈值做具体地限定。在一种可能的实现中,相对于第一报文子集来说,第三报文子集分配到了低优先级队列,第三索引相对于第一索引的稳定性较差,所以第三索引的解除条件应当比第一索引的解除条件更严苛,例如,第一速率阈值可以小于第三速率阈值。
70.203、若第一队列对应的第一通道的剩余带宽不能承载第一报文集合中的第三报文子集,则发送端设备将第三报文子集分配至第二队列。
71.在第一报文子集已经占用了第一通道部分带宽的基础上,如果第一通道的剩余带宽不能承载第一报文集合中的第三报文子集,那么就需要将第三报文子集分配至第二队列。需要说明的是,由于第三报文子集的优先级高于第二报文子集,因此需要优先发送第二队列中第三报文子集,从而保证高优先级报文可以在低优先级报文之前发送出去。应理解,如果第一通道的带宽足够承载第一报文集合中的所有报文,那么第一报文集合中的所有报文都将分配至第一队列。只有当第一通道的带宽不够承载第一报文集合中的所有报文时,才会将第一报文集合中的部分报文分配至第二队列。
72.204、若第二队列对应的第二通道的剩余带宽不能承载第二报文集合中的第四报文子集,则发送端设备将第四报文子集分配至第一队列。
73.如果第二通道的剩余带宽不能承载第二报文集合中的第四报文子集,那么发送端设备也可以将第四报文子集分配至第一队列,从而提高整体的带宽利用率。应理解,低优先级报文分配至高优先级队列时低优先级报文的优先级仍低于高优先级队列的其他报文,故仍要优先发送原高优先级队列的报文。
74.需要说明的是,上述步骤203和步骤204的一个区别点在于,步骤203中第三报文子集分配至第二队列后会计算到第二通道的带宽中。而步骤204中第四报文子集分配至第一队里后并不会计算到第一通道的带宽中,高优先级的报文仍将根据第一通道原有的剩余带宽进行分配。
75.205、发送端设备将第一队列中的多个报文分配至多个子队列,并将第二队列中的多个报文分配至多个子队列。
76.本实施例中,第一队列和第二队列都可以由多个子队列组成,并且每个子队列在相应队列中的优先级是不同的。例如,第一队列中既有第一报文集合还有第二报文集合中的部分报文,那么需要将第一报文集合中的报文分配至较高优先级的子队列中,将第二报
文集合中的部分报文分配至较低优先级的子队列中。又例如,第二队列中既有第二报文集合还有第一报文集合中的部分报文,那么同样需要将第一报文集合中的部分报文分配至较高优先级的子队列中,将第二报文集合中的报文分配至较低优先级的子队列中。进而,如果第一报文集合和第二报文集合中每个报文的优先级还可以进一步细分,那么发送端设备会将第一报文集合中优先级较高的报文分配至第一队列中优先级较高的子队列中,将第二报文集合中优先级较高的报文分配至第二队列中优先级较高的子队里中。也就是说,本技术在实现通道间sp调度的基础上,也可以进一步实现每个通道内的sp调度。
77.206、发送端设备通过第一通道依次发送第一队列中的报文,并通过第二通道依次发送第二队列中的报文。
78.在完成上述通道间的sp调度以及各通道内的sp调度之后,发送端设备就可以将第一队列中的报文依次通过第一通道发送出去,并将第二队列中的报文依次通过第二通道发送出去。具体地,发送端设备按照第一队列中各子队列的优先级顺序将较高优先级的子队里中的报文优先通过第一通道发送出去,并按照第二队列中各子队列的优先级顺序将较高优先级的子队里中的报文优先通过第二通道发送出去。应理解,第一通道上报文的发送和第二通道上报文的发送是同时进行的。
79.上面主要介绍了两个通道之间进行sp调度的实施方式,但是本技术并不限定通道的数量,在多于两个通道的场景中依然可以采用上述方式进行sp调度,下面以三个通道为例进行进一步介绍。
80.发送端设备还可以获取第三报文集合,按照优先级从高到低排序依次为第一报文集合、第二报文集合和第三报文集合。相应的,第三报文集合中的报文应当优先分配至第三队列,例如,第三报文集合中的第五报文子集分配至第三队列。在此基础上,第二队列和第三队列之间也可以按照上述第一队列和第二队列之间的sp调度方式进行sp调度。
81.具体地,若第二队列对应的第二通道的剩余带宽不能承载第二报文集合中的第四报文子集,还可以将第四报文子集分配至第三队列,并且需要优先发送第三队列中第四报文子集,从而保证高优先级报文可以在低优先级报文之前发送出去。若第三通道的剩余带宽不能承载第三报文集合中的第六报文子集,且第二通道能够承载第二报文集合和第六报文子集,则可以将第六报文子集分配至第二队列,在第二队列中第二报文集合的排序在第六报文子集的排序之前。需要说明的是,无论实际应用中具体有几条通道,都可以按照上述实施例介绍的方式在相邻两个优先级的通道之间进行sp调度。在一些可能的实施方式中,也可以跨通道进行sp调度,例如,发送端设备在第一队列和第三队列之间也可以执行上述的调度方式,具体此处不再赘述。
82.下面通过一个具体的示例对多通道间sp调度的流程进行说明。图4为一种通道间sp调度的流程示意图。
83.401、根据优先级对报文进行区分。
84.发送端设备首先将报文划分为高优先级报文和低优先级报文。
85.402、根据索引为高优先级报文分配队列。
86.具体地,如果该报文还没有对应的索引,则该报文称之为新报文。如果该报文有对应的索引且该索引指向队列1,则该报文称之为非变向报文。如果该报文有对应的索引且该索引指向队列2,则该报文称之为变向报文。其中,变向报文将直接分配至队列2,并且需要
优先发送队列2中的变向报文。新报文和非变向报文还将进一步根据通道1的剩余带宽进行调度。
87.403、根据通道1的剩余带宽为高优先级报文分配队列。
88.具体地,如果通道1的剩余带宽能够承载新报文,则将新报文分配至队列1,并建立新报文与队列1之间的索引。如果通道1的剩余带宽不能承载新报文,则将新报文分配至队列2,并且需要优先发送该新报文,再建立新报文与队列2之间的索引。如果通道1的剩余带宽能够承载非变向报文,则将非变向报文分配至队列1。如果通道1的剩余带宽不能承载非变向报文,则将非变向报文分配至队列2。
89.404、对队列1中的报文进行sp调度。
90.具体地,根据队列1中每个报文的优先级将队列1中的报文分配至对应优先级的子队列中,使得优先级相对较高的报文可以率先通过通道1发送出去。
91.405、根据索引为低优先级报文分配队列。
92.具体地,如果该报文还没有对应的索引,则该报文称之为新报文。如果该报文有对应的索引且该索引指向队列2,则该报文称之为非变向报文。如果该报文有对应的索引且该索引指向队列1,则该报文称之为变向报文。其中,变向报文将直接分配至队列1,但仍然会优先发送队列1中的高优先级报文。新报文和非变向报文还将进一步根据通道2的剩余带宽进行调度。
93.406、根据通道2的剩余带宽为低优先级报文分配队列。
94.具体地,如果通道2的剩余带宽能够承载新报文,则将新报文分配至队列2,并建立新报文与队列2之间的索引。如果通道2的剩余带宽不能承载新报文,则可以将新报文分配至队列1,再建立新报文与队列1之间的索引,但仍然会优先发送队列1中的高优先级报文。如果通道2的剩余带宽能够承载非变向报文,则将非变向报文分配至队列2。如果通道2的剩余带宽不能承载非变向报文,则将非变向报文分配至队列1。
95.407、对队列2中的报文进行sp调度。
96.具体地,根据队列2中每个报文的优先级将队列2中的报文分配至对应优先级的子队列中,使得优先级相对较高的报文可以率先通过通道2发送出去。
97.本技术实施例中,发送端设备会根据报文的优先级将不同的报文分配至不同的队列中。其中,高优先级报文会优先分配至高优先级队列中,低优先级报文分配至低优先级队列中。若高优先级队列所对应通道的剩余带宽无法再承载后续的高优先级报文了,可以将后续的高优先级报文分配至低优先级队列中。并且,发送端设备会优先发送低优先级队列中的高优先级报文。通过上述方式,避免了低优先级报文可以正常发送而有高优先级报文需要丢弃的情况,实现了通道间的sp调度,sp调度效果更好。
98.上面对本技术实施例中的报文传输方法进行了描述,下面对本技术实施例中的发送端设备进行描述。
99.图5为一种可能的发送端设备的结构示意图。该发送端设备包括处理器501、存储器502以及收发器503。该处理器501、存储器502以及收发器503通过线路互相连接,其中,存储器502用于存储程序指令和数据。收发器503包含发射机和接收机。需要说明的是,该发送端设备可以是实现上述图2或图4所示实施例中报文传输方法的发送端设备。
100.在一种可能的实现方式中,存储器502存储了支持图2或图4所示实施例中步骤的
程序指令和数据,处理器501和收发器503用于执行图2或图4所示实施例中的方法步骤。具体地,收发器503用于执行数据收发的操作,处理器501用于执行除数据收发之外的其他操作。
101.需要说明的是,上述图5中所示的处理器可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路asic,或者至少一个集成电路,用于执行相关程序,以实现本技术实施例所提供的技术方案。上述图5中所示的存储器可以存储操作系统和其他应用程序。在通过软件或者固件来实现本技术实施例提供的技术方案时,用于实现本技术实施例提供的技术方案的程序代码保存在存储器中,并由处理器来执行。在一实施例中,处理器内部可以包括存储器。在另一实施例中,处理器和存储器是两个独立的结构。
102.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
103.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,随机接入存储器等。具体地,例如:上述处理单元或处理器可以是中央处理器,通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。上述的这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
104.当使用软件实现时,上述实施例描述的方法步骤可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献