CN113872887B - 调度方法、装置、介质及电子设备 - Google Patents
调度方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN113872887B CN113872887B CN202111070148.9A CN202111070148A CN113872887B CN 113872887 B CN113872887 B CN 113872887B CN 202111070148 A CN202111070148 A CN 202111070148A CN 113872887 B CN113872887 B CN 113872887B
- Authority
- CN
- China
- Prior art keywords
- data packet
- scheduling
- time
- queue
- preprocessing module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/564—Attaching a deadline to packets, e.g. earliest due date first
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种调度方法、装置、介质及电子设备。所述方法包括:所述预处理模块获取时间敏感型网络中的数据包;所述预处理模块根据当前时间、队列数量以及每个队列的调度时长,获取当前可调度时间段;所述预处理模块根据所述数据包的截止时间以及发送时长,判断所述当前可调度时间段内是否允许所述数据包插入队列;当所述当前可调度时间段内允许所述数据包插入队列时,所述预处理模块将所述数据包发送至所述入队决策模块,所述入队决策模块将所述数据包插入相应的队列;所述出队决策模块根据所述调度时长周期性地调度各所述队列。所述调度方法能够将尽可能多地数据包在其截止时间到达之前发送出去,有利于提升网络性能和用户体验。
Description
技术领域
本发明涉及一种调度方法,特别是涉及一种应用于时间敏感型网络的调度方法、装置、介质及电子设备。
背景技术
随着信息技术、智能制造、工业物联网、大数据的发展,时间敏感型网络(timesensitive network,TSN)已成为目前国际产业界正在积极推动的全新工业通信技术。时间敏感型网络允许周期性的要求确定性的数据与非周期性的尽力而为的数据在同一网络中传输,使得标准以太网具有确定性传输的优势,同时不损失其可扩展性与灵活性。
在实际部署以及学术研究中,时间敏感型网络的队列管理算法主要有以下三类:TAS(Time Aware Shaper,时间感知整形器)、ATS(Asynchronous Traffic Shaper,异步数据流整形器)、以及CBS(Credit Based Shaper,基于信用的整形器)。然而,这些算法在进行队列管理时均未考虑数据包的截止时间,而在某些场景中,例如车载网络,能否在截止时间到达之前完成数据包的发送直接关系着网络性能和用户体验,因此,如何提供一种基于截止时间的调度方法已成为相关技术人员亟需解决的技术问题之一。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种调度方法、装置、介质及电子设备,用于解决现有技术中存在的上述相关问题。
为实现上述目的及其他相关目的,本发明的第一方面提供一种应用于时间敏感型网络的调度方法,通过一调度装置实现,所述调度装置包括预处理模块、入队决策模块和出队决策模块,所述方法包括:所述预处理模块获取时间敏感型网络中的数据包;所述预处理模块根据当前时间、队列数量以及每个队列的调度时长,获取当前可调度时间段;所述预处理模块根据所述数据包的截止时间以及发送时长,判断所述当前可调度时间段内是否允许所述数据包插入队列;当所述当前可调度时间段内允许所述数据包插入队列时,所述预处理模块将所述数据包发送至所述入队决策模块,所述入队决策模块将所述数据包插入相应的队列;所述出队决策模块根据所述调度时长周期性地调度各所述队列,其中,各所述队列在调度时依次输出其中截止时间最小的数据包。
于所述第一方面的一实施例中,所述预处理模块根据当前时间、队列数量以及每个队列的调度时长获取当前可调度时间段的实现方法包括:所述当前可调度时间段为[C×floor(T/C),C×(floor(T/C)+m)),其中,T为当前时间,m为队列数量,C为每个队列的调度时长,floor为取整函数。
于所述第一方面的一实施例中,判断所述当前可调度时间段内是否允许所述数据包插入队列的实现方法包括:所述预处理模块根据所述数据包的截止时间和发送时长,获取一时间参数,其中,所述时间参数与所述数据包的截止时间正相关,与所述数据包的发送时长负相关;若所述时间参数包含于所述当前可调度时间段内,则所述预处理模块判断所述当前可调度时间段内允许所述数据包插入队列,否则,判断所述当前时间段内不允许所述数据包插入队列。
于所述第一方面的一实施例中,在所述预处理模块获取到所述当前可调度时间段以后,所述方法还包括:若所述时间参数小于所述当前可调度时间段内的最小值,则所述预处理模块丢弃所述数据包;若所述时间参数大于所述当前可调度时间段内的最大值,则所述预处理模块将所述数据包存入缓存,或者丢弃所述数据包。
于所述第一方面的一实施例中,在所述预处理模块将所述数据包存入所述缓存以后,所述方法还包括:所述预处理模块根据所述时间参数对所述缓存中的数据包进行排序;所述预处理模块根据所述时间参数判断所述缓存中是否包含所述当前可调度时间段内允许插入队列的数据包;当所述缓存中包含所述当前可调度时间段内允许插入队列的数据包时,所述预处理模块将该数据包从所述缓存中移出并发送至所述入队决策模块,所述入队决策模块将该数据包插入相应的队列。
于所述第一方面的一实施例中,所述预处理模块在获取所述数据包以后,所述方法还包括:所述数据包的包头中包含截止时间字段,所述预处理模块根据所述截止时间字段获取所述数据包的截止时间;所述预处理模块根据所述数据包的大小以及所述时间敏感型网络中的端口带宽,获取所述数据包的发送时长。
于所述第一方面的一实施例中,所述入队决策模块将所述数据包插入相应的队列的实现方法包括:所述出队决策模块在每次调度完所述队列以后,将调度结果发送至所述入队决策模块;所述入队决策模块根据所述调度结果将所述数据包插入相应的队列。
本发明的第二方面提供一种应用于时间敏感型网络的调度装置,所述调度装置包括预处理模块、入队决策模块和出队决策模块,且所述调度装置采用本发明第一方面任一项所述应用于时间敏感型网络的调度方法对数据包进行调度。
本发明的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面任一项所述应用于时间敏感型网络的调度方法。
本发明的第四方面提供一种电子设备,所述电子设备包括:存储器,其上存储有计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本发明第一方面任一项所述应用于时间敏感型网络的调度方法。
如上所述,本发明一个或多个实施例中所述的调度方法具有以下有益效果:
在入队决策时,所述调度方法会根据数据包的截止时间以及发送时长来判断是否允许数据包插入队列;在出队决策时,所述调度方法依次选取截止时间最小的数据包进行输出。因此,所述调度方法在对数据包进行调度时充分考虑了数据包的截止时间,并能够将尽可能多地数据包在其截止时间到达之前发送出去,有利于提升网络性能和用户体验。
附图说明
图1显示为本发明所述调度方法于一具体实施例中的关键步骤流程图。
图2显示为本发明所述调度方法于一具体实施例中步骤S13的详细流程图。
图3显示为本发明所述调度方法于一具体实施例中的关键步骤流程图。
图4显示为本发明所述调度方法于一具体实施例中的关键步骤流程图。
图5显示为本发明所述调度方法于一具体实施例中步骤S14的详细流程图。
图6显示为本发明所述调度方法于一具体实施例中的关键步骤流程图。
图7显示为本发明所述调度装置于一具体实施例中的结构示意图。
图8显示为本发明所述电子设备于一具体实施例中的结构示意图。
元件标号说明
700 调度装置
710 预处理模块
720 入队决策模块
730 出队决策模块
800 电子设备
810 存储器
820 处理器
830 显示器
S11~S14 步骤
S131~S132 步骤
S31~S33 步骤
S41~S42 步骤
S141~S142 步骤
S61~S68 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。此外,在本文中,诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
现有时间敏感型网络的队列管理算法在进行队列管理时均未考虑数据包的截止时间,而在某些场景中,例如车载网络,能否在截止时间到达之前完成数据包的发送直接关系着网络性能和用户体验。基于此,于本发明的一实施例中提供一种应用于时间敏感型网络的调度方法,所述调度方法通过一调度装置实现,所述调度装置包括通信相连的预处理模块、入队决策模块和出队决策模块,且所述调度装置可以设置于各种TSN交换机中,包括但不限于车联网TSN交换机、音视频处理TSN交换机等。具体地,请参阅图1,本实施例中所述调度方法包括:
S11,所述预处理模块获取时间敏感型网络中的数据包。
S12,所述预处理模块根据当前时间、队列数量以及每个队列的调度时长,获取当前可调度时间段。其中,所述当前可调度时间段的起点由当前时间以及每个队列的调度时长所决定,所述当前可调度时间段的终点由所述当前时间、所述队列数量以及每个队列的调度时长所决定。此外,所述当前可调度时间段可以为开区间、闭区间或半开半闭区间,本发明对此不做限制。
S13,所述预处理模块根据所述数据包的截止时间以及发送时长,判断所述当前可调度时间段内是否允许所述数据包插入队列。
S14,当所述当前可调度时间段内允许所述数据包插入队列时,所述预处理模块将所述数据包发送至所述入队决策模块,所述入队决策模块将所述数据包插入相应的队列。
此外,所述调度方法还包括:S15,所述出队决策模块根据所述调度时长周期性地调度各所述队列,也即,所述出队决策模块以所述调度时长为粒度循环对各所述队列进行调度,且在同一个调度时长内只对一个队列中的数据包进行调度。例如,若所述调度时长为10ms,所述队列的数量为3,则所述出队决策模块在0~10ms内调度第一个队列,在10~20ms内调度第二个队列,在20~30ms内调度第三个队列,此为一个完整的循环;在30~40ms内调度第一个队列,在40~50ms内调度第二个队列,在50~60ms内调度第三个队列,此为另一个完整的循环,重复上述过程以实现对所述数据包的出队调度。
并且,在步骤S15中,各所述队列在调度时依次输出其中截止时间最小的数据包。具体地,在对任一队列进行调度时,所述出队决策模块会根据该队列中数据包的截止时间确定其出队顺序:首先选择距离截止时间最近的第一数据包进行出队,然后从该队列的剩余数据包中选取距离截止时间最近的第二数据包进行出队,以此类推,直到该队列的调度时间达到所述调度时长。
需要说明的是,上述标号S11~S15仅用于标识不同的步骤,而非用于限制这些步骤之间的执行顺序。实际应用中,所述时间敏感型网络中数据包的到达是随机且持续的,所述调度装置只要接收到数据包就会执行上述步骤S11~S13,并在条件满足时执行步骤S14,以实现对数据包的持续入队调度。并且,所述调度装置会以周期循环的方式通过上述步骤S15对队列进行调度,以实现对数据包的持续出队调度。总之,步骤S15可以与步骤S11~S14并列执行,二者之间并没有严格的先后顺序。
根据以上描述可知,本实施例所述调度方法在入队决策时,所述调度方法会根据数据包的截止时间以及发送时长来判断是否允许数据包插入队列;在出队决策时,所述调度方法依次选取截止时间最小的数据包进行输出(出队)。因此,所述调度方法在对数据包进行调度时充分考虑了数据包的截止时间,并能够将尽可能多地数据包在其截止时间到达之前发送出去,有利于提升网络性能和用户体验。
于本发明的一实施例中,所述预处理模块获取当前可调度时间段的一种实现方法包括:所述当前可调度时间段为[C×floor(T/C),C×(floor(T/C)+m)),其中,T为当前时间,m为队列数量,C为每个队列的调度时长,floor为取整函数,包括但不限于向上取整函数、向下取整函数、四舍五入型取整函数等。
需要说明的是,本实施例中提供的获取所述当前可调度时间段的方式仅为一种优选方式,实际应用中可以根据具体需求采用其他方式确定所述当前可调度时间段,本发明对此不做限制。
请参阅图2,于本发明的一实施例中,判断所述当前可调度时间段内是否允许所述数据包插入队列的实现方法包括:
S131,所述预处理模块根据所述数据包的截止时间和发送时长,获取一时间参数,其中,所述时间参数与所述数据包的截止时间正相关,与所述数据包的发送时长负相关。
S132,若所述时间参数包含于所述当前可调度时间段内,则所述预处理模块判断所述当前可调度时间段内允许所述数据包插入队列,否则,判断所述当前时间段内不允许所述数据包插入队列。
具体地,当所述数据包的发送时长一定时,若所述数据包的截止时间越小,也即,所述数据包的截止时间距离当前时间越近,则说明所述数据包应当尽快调度,以保证所述数据包在其截止时间之前完成调度,从而保证尽可能多的数据包在截止时间之前完成调度,反之,则说明所述数据包可以延后调度。
当所述数据包的截止时间相同时,若所述数据包的发送时长越短,也即,需要更少的时间来发送所述数据包,则说明所述数据包应当尽快调度,以保证尽可能多的数据包在截止时间之前完成调度,反之,则说明所述数据包应当延后调度。例如,若t时刻某一队列中的三个数据包A、B和C的发送时长分别为10ms、50ms和80ms,且三者的截止时间均t+100ms,假设三个数据包在队列中的等待时长均为5ms,则:先调度A,再调度B能够保证该队列中2/3的数据包在其截止时间到达之前完成调度;先调度C,则只能保证该队列中1/3的数据包在其截止时间到达之前完成调度。对比可知,在截止时间相同时,优先调度发送时长短的数据包能够保证尽可能多的数据包在截止时间之前完成调度。
根据以上描述可知,本实施例中步骤S131获取一与所述数据包的截止时间正相关、与所述数据包的发送时长负相关的时间参数,步骤S132选取所述时间参数位于所述当前可调度时间段内的数据包进行入队调度,能够保证尽可能多的数据包在截止时间之前完成调度,从而提升网络性能以及用户体验。
优选地,对于第n个数据包,其对应的所述时间参数为其中,dn为该第n个数据包的截止时间,tn为该第n个数据包的发送时长,α和β均为系数,二者的取值取决于所述时间敏感型网络的应用场景,实际应用中,可以根据经验或者统计方法来获取α和β。特别地,α=0,此时,完全不考虑发送时长的影响;或者,α=-∞,此时,完全不考虑截止时间的影响。
可选地,所述方法还包括:若所述时间参数小于所述当前可调度时间段内的最小值,则说明已经不可能在截止时间之前完成所述数据包的发送,此时,所述预处理模块丢弃所述数据包。
若所述时间参数大于所述当前可调度时间段内的最大值,则说明所述数据包可以在所述当前可调度时间段以后再处理,所述当前可调度时间段内应当处理时间参数更小的数据包,以保证尽可能多的数据包在截止时间之前完成调度。此时,若系统中存在缓存,则所述预处理模块将所述数据包存入缓存,若系统中不存在缓存,则所述预处理模块丢弃所述数据包。
可选地,请参阅图3,在所述预处理模块将所述数据包存入所述缓存以后,所述方法还包括:
S31,所述预处理模块根据所述时间参数对所述缓存中的数据包进行排序。对所述数据包进行排序的目的在于:便于判断所述缓存中是否包含所述当前可调度时间段内允许插入队列的数据。例如,所述预处理模块可以根据所述时间参数按照由小到大的顺序对所述缓存中的数据包进行排序,但本发明并不以此为限。
S32,所述预处理模块根据所述时间参数判断所述缓存中是否包含所述当前可调度时间段内允许插入队列的数据包。其中,判断方法与步骤S132类似,此处不做过多赘述。
S33,当所述缓存中包含所述当前可调度时间段内允许插入队列的数据包时,所述预处理模块将该数据包从所述缓存中移出并发送至所述入队决策模块,所述入队决策模块将该数据包插入相应的队列。具体地,所述预处理模块可以选取时间参数位于所述当前可调度时间段内的所有数据包作为所述当前可调度时间段内允许插入队列的数据包。
需要说明的是,所述方法中包含步骤S31为一优选方式,实际应用中,所述方法也可以不包括步骤S31而只包含S32和S33。
根据以上描述可知,本实施例允许缓存中的数据包在满足条件时插入队列,能够在保证尽可能多的数据包在截止时间之前完成调度的前提下降低网络中的丢包率,有利于进一步提升网络性能和用户体验。
请参阅图4,于本发明的一实施例中,本实施例中所述预处理模块在获取所述数据包以后,所述方法还包括:
S41,所述预处理模块根据所述截止时间字段获取所述数据包的截止时间,其中,所述数据包的包头中包含截止时间字段。
具体地,在时间敏感型网络中,不同数据包的截止时间是由其应用类型所决定的。例如,在车联网场景中,车辆控制信号(如刹车等)可能需要在1ms甚至更短的时间内到达接收端,而一些摄像头采集的画面信号可能需要在2~3ms内到达接收端即可。基于此,本实施例可以预先在数据包的包头中预留16bit(2字节)的微秒时间戳字段,以使得数据包在发送时便可携带当前数据包所要求的网络送到的最晚截止时间,基于此,步骤S41可以从所述截止时间字段直接获取所述数据包的截止时间。
S42,所述预处理模块根据所述数据包的大小以及所述时间敏感型网络中的端口带宽,获取所述数据包的发送时长。具体地,对于第n个数据包,其发送时长为其中,sn为该第n个数据包的大小,其具体数值可以从所述数据包的包头中获取,B为所述时间敏感型网络中的端口带宽。
可选地,所述方法还包括:利用所述时间敏感型网络所支持的时间同步协议在不同设备间进行时间同步,并获取全系统同步的时间作为当前时间。其中,所述时间同步协议例如为gPTP、802.1AS、IEEE 1588等。
于本发明的一实施例中,所述队列的数量为m个,且序号为0~m-1,则在当前时间为T时,所述出队决策模块选取第个队列进行调度,其中,C为每个队列的调度时长,floor为取整函数,mod为正实数的取模运算。
请参阅图5,于本发明的一实施例中,所述入队决策模块将所述数据包插入相应的队列的实现方法包括:
S141,所述出队决策模块在每次调度完一个所述队列以后,将调度结果发送至所述入队决策模块。
具体地,在所述出队决策模块中,使用硬件实现对同一队列中L(队列深度)个位置上的数据包的截止时间进行比较,并总是输出截止时间最小的一个数据包作为调度结果,然后使用该数据包的指针获取其真实位置并发送至所述入队决策模块。由于每个调度时长内只会调度一个队列,因此,当需要更换所调度的队列时,该硬件实现的比较器可以复用。
S142,所述入队决策模块根据所述调度结果获取待插入队列的序号及其中的空闲位置,进而将所述数据包插入所述待插入队列中。
具体地,所述入队决策模块根据所述出队决策模块传回的决策信息对所述队列进行管理,记录并维护每个队列中的空闲位置。在接收到第n个数据包以后,所述入队决策模块将该第n个数据包插入第i个队列的第j个位置中,其中,j为该第i个队列中序号最小或最大的一个空闲位置,其中,j可以根据所述入队决策模块记录并维护的每个队列中的空闲位置获取。
于本发明的一实施例中,所述调度方法的目的在于寻找一种优化的数据包调度顺序,以使得其中,N为当前时刻所有待调度的数据包数量,tpk为第k个数据包的发送时长,dN为当前时刻所有待调度的数据包的总截止时间。为实现这一目的,本实施例中所述调度方法包括入队调度子方法和出队调度子方法,具体地,请参阅图6,本实施例中所述入队调度子方法包括:
S61,所述预处理模块获取时间敏感型网络中的数据包,所述数据包的包头中包括截止时间字段和数据包大小字段。
S62,所述预处理模块获取当前时间、所述数据包的截止时间以及发送时长。其中,获取所述当前时间的方法包括:利用所述时间敏感型网络所支持的时间同步协议在不同设备间进行时间同步,并获取全系统同步的时间作为当前时间。获取所述数据包的截止时间以及所述发送时长的方法包括:根据所述数据包的包头获取所述数据包的截止时间以及所述数据包的大小,根据所述数据包的大小以及所述时间敏感型网络当前端口的出口带宽获取所述数据包的发送时长。
S63,所述预处理模块根据当前时间、队列数量以及每个队列的调度时长,获取当前可调度时间段。其中,所述当前可调度时间段为:[C×floor(T/C),C×(floor(T/C)+m)),其中,T为当前时间,m为队列数量,C为每个队列的调度时长,floor为取整函数。
S64,所述预处理模块根据所述数据包的截止时间以及发送时长,获取一时间参数,其中,所述时间参数与所述数据包的截止时间正相关,与所述数据包的发送时长负相关。优选地,所述时间参数为其中,dn为该第n个数据包的截止时间,tn为该第n个数据包的发送时长,α和β均为系数,二者的取值取决于所述时间敏感型网络的应用场景,实际应用中,可以根据经验或者统计方法来获取α和β。
S65,所述预处理模块根据所述时间参数,判断所述当前可调度时间段内是否允许所述数据包插入队列。具体地,当所述时间参数位于所述当前可调度时间段内时,所述预处理模块判断所述当前可调度时间段内允许所述数据包插入队列,否则,判断所述当前可调度时间段内不允许所述数据包插入队列。
S66,当所述当前可调度时间段内允许所述数据包插入队列时,所述预处理模块将所述数据包发送至所述入队决策模块,所述入队决策模块将所述数据包插入相应的队列。
具体地,在接收到第n个数据包以后,所述入队决策模块将该第n个数据包插入第i个队列的第j个位置中,其中,j为该第i个队列中序号最小或最大的一个空闲位置,其中,j可以根据所述入队决策模块记录并维护的每个队列中的空闲位置获取,该空闲位置可以根据所述出队决策模块传回的调度结果获得。
S67,当所述时间参数小于所述当前可调度时间段内的最小值时,所述预处理模块丢弃所述数据包。
S68,当所述时间参数大于所述当前可调度时间段内的最大值时,所述预处理模块将所述数据包存入缓存,或者丢弃所述数据包。
此外,在所述预处理模块将所述数据包存入所述缓存以后,所述调度方法还包括:所述预处理模块根据所述时间参数对所述缓存中的数据包进行排序;所述预处理模块根据所述时间参数判断所述缓存中是否包含所述当前可调度时间段内允许插入队列的数据包;当所述缓存中包含所述当前可调度时间段内允许插入队列的数据包时,所述预处理模块将该数据包从所述缓存中移出并发送至所述入队决策模块,所述入队决策模块将该数据包插入相应的队列。
本实施例中,所述出队调度子方法包括:所述出队决策模块以所述调度时长为粒度,周期性地调度各所述队列。具体地,在调度任一所述队列时,所述出队决策模块使用硬件实现对该队列中L(队列深度)个位置上的数据包的截止时间进行比较,并总是输出截止时间最小的一个数据包作为调度结果,然后使用该数据包的指针获取其真实位置并发送至所述入队决策模块。
根据以上描述可知,本实施例中的算法部分以数据包的截止时间、大小以及当前时间为输入,通过对总截止时间进行建模优化,并结合交换机计算能力有限的现实条件,能够降低数据包违反截止时间要求的比例。本实施例有助于进一步提升时间敏感型网络中针对截止时间的应用的性能,有助于加速时间敏感型网络技术在车载网络中等新应用场景的落地。
基于以上对所述调度方法的描述,本发明还提供一种应用于时间敏感型网络的调度装置。具体地,请参阅图7,所述调度装置700包括预处理模块710、入队决策模块720和出队决策模块730,所述调度装置700用于采用图1或图6所示的调度方法对时间敏感型网络中的数据包进行调度。
基于以上对所述调度方法的描述,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现图1或图6所示应用于时间敏感型网络的调度方法。
基于以上对所述调度方法的描述,本发明还提供一种电子设备。具体地,请参阅图8,于本发明的一实施例中,所述电子设备800包括存储器810和处理器820,所述存储器810存储有计算机程序,所述处理器820与所述存储器810通信相连,调用所述计算机程序是实现图1或图6所示应用于时间敏感型网络的调度方法。
可选地,所述电子设备800还可以包括显示器830,所述显示器830与所述处理器820和所述存储器810通信相连,用于显示所述调度方法的相关GUI交互界面。
本实施例中,所述电子设备可以为各种TSN交换机,包括但不限于车联网TSN交换机、音视频处理TSN交换机等。
本发明所述的调度方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
本发明还提供一种调度装置,所述调度装置可以实现本发明所述的调度方法,但本发明所述的调度方法的实现装置包括但不限于本实施例列举的调度装置的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
综上所述,于本发明一个或多个实施例所述的调度方法中,在入队决策时,所述调度方法会根据数据包的截止时间以及发送时长来判断是否允许数据包插入队列;在出队决策时,所述调度方法依次选取截止时间最小的数据包进行输出。因此,所述调度方法在对数据包进行调度时充分考虑了数据包的截止时间,并能够将尽可能多地数据包在其截止时间到达之前发送出去,有利于提升网络性能和用户体验。因此,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (9)
1.一种应用于时间敏感型网络的调度方法,其特征在于,通过一调度装置实现,所述调度装置包括预处理模块、入队决策模块和出队决策模块,所述方法包括:
所述预处理模块获取时间敏感型网络中的数据包;
所述预处理模块根据当前时间、队列数量以及每个队列的调度时长,获取当前可调度时间段;
所述预处理模块根据所述数据包的截止时间以及发送时长,判断所述当前可调度时间段内是否允许所述数据包插入队列;判断所述当前可调度时间段内是否允许所述数据包插入队列的实现方法包括:根据所述数据包的截止时间和发送时长获取一时间参数,若所述时间参数包含于所述当前可调度时间段内,则判断所述当前可调度时间段内允许所述数据包插入队列,否则判断所述当前时间段内不允许所述数据包插入队列,其中,对于第n个数据包,其对应的所述时间参数为dn为该第n个数据包的截止时间,tn为该第n个数据包的发送时长,α和β均为系数,二者的数值取决于所述时间敏感型网络的应用场景;
当所述当前可调度时间段内允许所述数据包插入队列时,所述预处理模块将所述数据包发送至所述入队决策模块,所述入队决策模块将所述数据包插入相应的队列;
所述出队决策模块根据所述调度时长周期性地调度各所述队列,其中,各所述队列在调度时依次输出其中截止时间最小的数据包。
2.根据权利要求1所述的方法,其特征在于,所述预处理模块根据当前时间、队列数量以及每个队列的调度时长获取当前可调度时间段的实现方法包括:
所述当前可调度时间段为[C×floor(T/C),C×(floor(T/C)+m)),其中,T为当前时间,m为队列数量,C为每个队列的调度时长,floor为取整函数。
3.根据权利要求1所述的方法,其特征在于,在所述预处理模块获取到所述当前可调度时间段以后,所述方法还包括:
若所述时间参数小于所述当前可调度时间段内的最小值,则所述预处理模块丢弃所述数据包;
若所述时间参数大于所述当前可调度时间段内的最大值,则所述预处理模块将所述数据包存入缓存,或者丢弃所述数据包。
4.根据权利要求3所述的方法,其特征在于,在所述预处理模块将所述数据包存入所述缓存以后,所述方法还包括:
所述预处理模块根据所述时间参数对所述缓存中的数据包进行排序;
所述预处理模块根据所述时间参数判断所述缓存中是否包含所述当前可调度时间段内允许插入队列的数据包;
当所述缓存中包含所述当前可调度时间段内允许插入队列的数据包时,所述预处理模块将该数据包从所述缓存中移出并发送至所述入队决策模块,所述入队决策模块将该数据包插入相应的队列。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述预处理模块在获取所述数据包以后,所述方法还包括:
所述数据包的包头中包含截止时间字段,所述预处理模块根据所述截止时间字段获取所述数据包的截止时间;
所述预处理模块根据所述数据包的大小以及所述时间敏感型网络中的端口带宽,获取所述数据包的发送时长。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述入队决策模块将所述数据包插入相应的队列的实现方法包括:
所述出队决策模块在每次调度完所述队列以后,将调度结果发送至所述入队决策模块;
所述入队决策模块根据所述调度结果将所述数据包插入相应的队列。
7.一种应用于时间敏感型网络的调度装置,其特征在于:所述调度装置包括预处理模块、入队决策模块和出队决策模块,且所述调度装置采用权利要求1-6任一项所述应用于时间敏感型网络的调度方法对数据包进行调度。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-6任一项所述应用于时间敏感型网络的调度方法。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,其上存储有计算机程序;
处理器,与所述存储器通信相连,调用所述计算机程序时执行权利要求1-6任一项所述应用于时间敏感型网络的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070148.9A CN113872887B (zh) | 2021-09-13 | 2021-09-13 | 调度方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070148.9A CN113872887B (zh) | 2021-09-13 | 2021-09-13 | 调度方法、装置、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113872887A CN113872887A (zh) | 2021-12-31 |
CN113872887B true CN113872887B (zh) | 2022-08-16 |
Family
ID=78995565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111070148.9A Active CN113872887B (zh) | 2021-09-13 | 2021-09-13 | 调度方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113872887B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122233A (zh) * | 2017-03-27 | 2017-09-01 | 西安电子科技大学 | 一种面向tsn业务的多vcpu自适应实时调度方法 |
CN107431668A (zh) * | 2015-03-23 | 2017-12-01 | 阿尔卡特朗讯公司 | 用于分组的排队和处理的方法、排队系统、网络元件及网络系统 |
CN110798860A (zh) * | 2018-08-01 | 2020-02-14 | 华为技术有限公司 | 数据处理方法、设备及系统 |
CN111327540A (zh) * | 2020-02-25 | 2020-06-23 | 重庆邮电大学 | 一种工业时间敏感网络数据确定性调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7489690B2 (en) * | 2005-08-12 | 2009-02-10 | Cellco Partnership | Integrated packet latency aware QoS scheduling algorithm using proportional fairness and weighted fair queuing for wireless integrated multimedia packet services |
US10938734B1 (en) * | 2017-06-05 | 2021-03-02 | Rockwell Collins, Inc. | Scheduling mechanisms for end system SUBVLs |
-
2021
- 2021-09-13 CN CN202111070148.9A patent/CN113872887B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107431668A (zh) * | 2015-03-23 | 2017-12-01 | 阿尔卡特朗讯公司 | 用于分组的排队和处理的方法、排队系统、网络元件及网络系统 |
CN107122233A (zh) * | 2017-03-27 | 2017-09-01 | 西安电子科技大学 | 一种面向tsn业务的多vcpu自适应实时调度方法 |
CN110798860A (zh) * | 2018-08-01 | 2020-02-14 | 华为技术有限公司 | 数据处理方法、设备及系统 |
CN111327540A (zh) * | 2020-02-25 | 2020-06-23 | 重庆邮电大学 | 一种工业时间敏感网络数据确定性调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113872887A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Thiele et al. | Formal worst-case performance analysis of time-sensitive ethernet with frame preemption | |
EP3057273B1 (en) | Method for a traffic shaping in a network | |
Zhou et al. | Simulating TSN traffic scheduling and shaping for future automotive Ethernet | |
Thiele et al. | Formal worst-case timing analysis of Ethernet TSN's burst-limiting shaper | |
Kemayo et al. | Optimistic problems in the trajectory approach in fifo context | |
CN103354528B (zh) | 多流同步方法及装置 | |
CN113678414A (zh) | 用于tsn网络上的增强可调度性和吞吐量的交换设备、控制设备和对应方法 | |
CN110086728B (zh) | 发送报文的方法、第一网络设备及计算机可读存储介质 | |
Herber et al. | Real-time capable can to avb ethernet gateway using frame aggregation and scheduling | |
Thiele et al. | Improved formal worst-case timing analysis of weighted round robin scheduling for ethernet | |
EP3734919A1 (en) | In-band signalling for dynamic transmission time window control | |
CN113872887B (zh) | 调度方法、装置、介质及电子设备 | |
CN109905331B (zh) | 队列调度方法及装置、通信设备、存储介质 | |
CN106899514B (zh) | 保障多媒体业务服务质量的队列调度方法 | |
Khedun et al. | Analysis of priority queueing with multichannel in cognitive radio network | |
Nie et al. | Hybrid traffic scheduling in time‐sensitive networking for the support of automotive applications | |
Chen et al. | Study of Fixed Point Message Scheduling Algorithm for In-Vehicle Ethernet | |
Sathaye et al. | Conventional and early token release scheduling models for the IEEE 802.5 token ring | |
CN114338545A (zh) | 流量整形方法及装置 | |
KR101037929B1 (ko) | 패킷 스케줄링 방법 및 장치 | |
İnce et al. | Real-time Video Data Traffic Management for Publish-Subscribe based Messaging System | |
Zhao et al. | Design and implementation of a frame preemption model without guard bands for time-sensitive networking | |
Guo et al. | Short cycle conversion scheduling model for flexilink architecture | |
Upender et al. | Variability of CAN network performance | |
CN111245744A (zh) | 一种报文传输控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |