会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 截止时间 / 基于多资源的任务调度方法

基于多资源的任务调度方法

申请号 CN201410196890.8 申请日 2014-05-09 公开(公告)号 CN103973594A 公开(公告)日 2014-08-06
申请人 清华大学; 发明人 徐恪; 张宇超;
摘要 本发明提出一种基于多资源的任务调度方法,包括以下步骤:对并行的多个数据包进行分类,得到具有截止时间的数据包和没有截止时间的数据包;通过最早截止时间算法对具有截止时间的数据包进行排序、通过短任务优先算法对没有截止时间的数据包进行排序;根据排序结果估计多个数据包的虚拟开始处理时间和虚拟处理完成时间;判断具有截止时间的数据包是否均可成功调度;如果是,则进一步判断在没有截止时间的数据包中是否存在可安排在具有截止时间的数据包之前进行调度且能够缩短平均完成时间的数据包;如果是,则将该数据包进行优先调度以缩减多个数据包的平均调度时间。本发明的方法能够在多资源的情况下大大缩短所有任务的平均完成时间。
权利要求

1.一种基于多资源的任务调度方法,其特征在于,包括以下步骤:对并行的多个数据包进行分类,以得到具有截止时间的数据包和没有截止时间的数据包;

通过最早截止时间算法对所述具有截止时间的数据包进行排序、通过短任务优先算法对所述没有截止时间的数据包进行排序;

根据排序结果估计所述多个数据包的虚拟开始处理时间和虚拟处理完成时间;

根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断所述具有截止时间的数据包是否均可成功调度;

如果是,则进一步根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断在所述没有截止时间的数据包中是否存在可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包;

如果是,则将所述可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度以缩减所述多个数据包的平均调度时间。

2.根据权利要求1所述的基于多资源的任务调度方法,其特征在于,所述根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断所述具有截止时间的数据包是否均可成功调度,进一步包括:如果所述具有截止时间的数据包不能成功完成调度,则丢弃所述具有截止时间的数据包。

3.根据权利要求2所述的基于多资源的任务调度方法,其特征在于,所述根据排序结果估计所述多个数据包的虚拟开始处理时间和虚拟处理完成时间,通过如下公式实现:S(pi)=F(pi-1),

其中,S(pi)是数据包pi的虚拟开始处理时间,F(pi)是数据包pi的虚拟处理完成时间,是数据包pi在资源j上的虚拟处理时间,i表示第i个数据包。

4.根据权利要求3所述的基于多资源的任务调度方法,其特征在于,所述如果所述具有截止时间的数据包不能成功完成调度,则丢弃所述具有截止时间的数据包,具体包括:判断所述具有截止时间的数据包中是否存在截止时间小于F(pi)的数据包;

如果是,则判断所述数据包不能成功调度,并丢弃所述数据包。

5.根据权利要求1所述的基于多资源的任务调度方法,其特征在于,所述将所述可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度,进一步包括:设所述具有截止时间的数据包的数量为m,所述没有截止时间的数据包的数量为n;

判断m和n是否在任意资源j下均满足如下公式:

其中,px是第x个具有截止时间的数据包,py是第y个数据包,即第(y-m)个没有截止时间的数据包,S(py)-S(px)表示将py提到px之前所节省的完成时间, 是py在资源j上的处理时间,(y-x)表示提前py而影响的数据包的个数, 是表示将py提到px之前对其他数据包造成的总延迟;

如果满足,则将所述没有截止时间的数据包提到所述具有截止时间的数据包之前进行优先调度。

6.根据权利要求1所述的基于多资源的任务调度方法,其特征在于,还包括:对于新到达的数据包,判断所述新到达的数据包是否具有截止时间;

如果所述新到达的数据包具有截止时间,则判断所述新到达的数据包是否影响所述其他具有截止时间的数据包;

如果所述新到达的数据包影响其他具有截止时间的数据包,则丢弃所述新到达的数据包。

7.根据权利要求6所述的基于多资源的任务调度方法,其特征在于,还包括:如果所述新到达的数据包没有截止时间,则将所述新到达的数据包按照先到先服务的顺序排在队尾。

8.根据权利要求6所述的基于多资源的任务调度方法,其特征在于,还包括:判断所述新到达的数据包在预设时间段内的所有任务是否同时满足如下公式:其中,pnew为所述新到达的数据包,D(pnew)为pnew的截止时间,为预设时间段, 为所述新到达数据包在资源j上的处理时间;

如果所述新到达的数据包在预设时间段内的所有任务同时满足上述公式,则将所述新到达的数据包插入到其他具有截止时间的数据包之前进行优先调度。

9.根据权利要求8所述的基于多资源任务调度方法,其特征在于,还包括:如果所述新达到的数据包不能同时满足所述公式,则将所述新到达的数据包丢弃。

说明书全文

基于多资源的任务调度方法

技术领域

[0001] 本发明涉及计算机网络技术领域,特别涉及一种基于多资源的任务调度方法。

背景技术

[0002] 针对计算机网络衍生而出的各种新型概念方法,都对各种硬件资源产生了不同程度的需求。不同的任务消耗的CPU、链路带宽、磁盘等资源数量也各不相同。虽然路由器内
带宽的包调度分配环节已经被广泛研究,但由于各任务对不同资源的需求不尽相同,因此
对于多资源的调度问题显然更加困难。例如,入侵检测功能通常是CPU受限的、软件路由器
的瓶颈则存在于内存,而转发大数据包的受限资源是链路带宽。因此,一个中间盒需要能够
对多种资源的调度做出正确的决策。
[0003] 已有的较为经典的单资源调度算法有最早截止时间算法(Early DeadlineFirst,EDF)和短任务优先算法(Short Job First,SJF)等。最早截止时间算法是根据任
务的开始截止时间来确定任务的优先级,截止时间愈早,其优先级愈高。最短任务优先算
法的核心就是所有的程序都有一个优先级,短任务的优先级比长任务的高,而操作系统总
是安排优先级高的进程优先运行。此外,还有先到先服务算法(First come first serve,
FCFS)、时间片轮询算法等等。
[0004] 目前,相关技术提出了一种多资源的调度算法,基于占优资源公平的思想,针对每一个任务,选出它的占优资源,即使用量最多的资源类型,进而针对不同任务各自的占优资
源进行公平分配。然而这种方法虽然在一定程度上保证了公平性,但是对于整体系统来说,
任务流平均完成时间过长,在用户方面体现为等待时间长,造成用户体验差。

发明内容

[0005] 本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
[0006] 为此,本发明的目的在于提出一种基于多资源的任务调度方法,该方法能够在多资源的情况下大大缩短所有任务的平均完成时间。
[0007] 为了实现上述目的,本发明的实施例提出了一种基于多资源的任务调度方法,包括以下步骤:对并行的多个数据包进行分类,以得到具有截止时间的数据包和没有截止时
间的数据包;通过最早截止时间算法对所述具有截止时间的数据包进行排序、通过短任务
优先算法对所述没有截止时间的数据包进行排序;根据排序结果估计所述多个数据包的虚
拟开始处理时间和虚拟处理完成时间;根据所述多个数据的虚拟开始处理时间和虚拟处理
完成时间判断所述具有截止时间的数据包是否均可成功调度;如果是,则进一步根据所述
多个数据的虚拟开始处理时间和虚拟处理完成时间判断在所述没有截止时间的数据包中
是否存在可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的
没有截止时间的数据包;如果是,则将所述可安排在所述具有截止时间的数据包之前进行
调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度以缩减所述多个数
据包的平均调度时间。
[0008] 根据本发明实施例的基于多资源的任务调度方法,将并行的多个数据包分为具有截止时间的数据包和没有截止时间的数据包,并通过EDF算法对具有截止时间的数据包进
行排序以减少丢包数量,通过SJF算法对没有截止时间的数据包进行排序以缩短平均完成
时间,并通过定义系统虚拟时间和计算预计开始、完成时间,进一步判断是否可以调度成
功,对不能调度成功的数据包进行丢包处理,对可以调度成功的数据包再次通过顺序调整
缩短平均完成时间。因此,该方法在各数据包对不同资源需求各异的情况下,结合EDF和
SJF算法,在保证丢包数量最小的前提下,大大缩减了所有任务的平均完成时间,进而可为
多种多样的网络操作提供更好的服务质量。
[0009] 另外,根据本发明上述实施例的基于多资源的任务调度方法还可以具有如下附加的技术特征:
[0010] 在一些示例中,所述根据所述多个数据的虚拟开始处理时间和虚拟处理完成时间判断所述具有截止时间的数据包是否均可成功调度,进一步包括:如果所述具有截止时间
的数据包不能成功完成调度,则丢弃所述具有截止时间的数据包。
[0011] 在一些示例中,所述根据排序结果估计所述多个数据包的虚拟开始处理时间和虚拟处理完成时间,通过如下公式实现:
[0012] S(pi)=F(pi-1),
[0013]
[0014] 其中,S(pi)是数据包pi的虚拟开始处理时间,F(pi)是数据包pi的虚拟处理完成时间, 是数据包pi在资源j上的虚拟处理时间,i表示第i个数据包。
[0015] 在一些示例中,所述如果所述具有截止时间的数据包不能成功完成调度,则丢弃所述具有截止时间的数据包,具体包括:判断所述具有截止日期的数据包中是否存在截止
期限小于F(pi)的数据包;如果是,则判断所述数据包不能成功调度,并丢弃所述数据包。
[0016] 在一些示例中,所述将所述可安排在所述具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度,进一步包括:设所述具有
截止时间的数据包的数量为m,所述没有截止时间的数据包的数量为n;判断m和n是否在
任意资源j下均满足如下公式:
[0017]
[0018]
[0019] 其中,px是第x个具有截止时间的数据包,py是第(y-m)个没有截止时间的数据包,S(py)-S(px)表示将py提到px之前所节省的完成时间, 是py在资源j上的处理时
间,(y-x)表示提前py而影响的数据包的个数, 表示将py提到px之前对其他
数据包造成的总延迟,二者之差(即 )大于零时,则证明将py
提到px之前对系统整体性能可以产生优化;
[0020] 如果满足,则将所述没有截止时间的数据包提升到所述具有截止时间的数据包之前进行优先调度。
[0021] 在一些示例中,还包括:对于新到达的数据包,判断所述新到达的数据包是具有截止时间;如果所述新到达的数据包具有截止时间,则判断所述新到达的数据包是否影响所
述其他具有截止时间的数据包;如果所述新到达的数据包影响其他具有截止时间的数据
包,则丢弃所述新到达的数据包。
[0022] 在一些示例中,还包括:如果所述新到达的数据包没有截止时间,则将所述新到达的数据包按照先到先服务的顺序排在队尾。
[0023] 在一些示例中,还包括:判断所述新到达的数据包在预设时间段内的所有任务是否同时满足如下公式:
[0024]
[0025]
[0026] 其中,pnew为所述新到达的数据包,D(pnew)为pnew的截止时间,为预设时间段, 为所述新到达数据包在资源j上的处理时间;
[0027] 如果所述新到达的数据包在预设时间段内的所有任务同时满足上述公式,则将所述新到达的数据包插入到其他具有截止时间的数据包之前进行优先调度。
[0028] 在一些示例中,还包括:如果所述新达到的数据包不能同时满足所述公式,则将所述新到达的数据包丢弃。
[0029] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0030] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0031] 图1是根据本发明一个实施例的基于多资源的任务调度方法的流程图;
[0032] 图2是根据本发明另一个实施例的基于多资源的任务调度方法的流程图;
[0033] 图3是根据本发明一个实施例的预计调度顺序示意图;
[0034] 图4是根据本发明一个实施例的调整后的调度顺序示意图。

具体实施方式

[0035] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0036] 以下结合附图描述根据本发明实施例的基于多资源的任务调度方法。
[0037] 图1是根据本发明一个实施例基于多资源的任务调度方法的流程图。如图1所示,根据本发明一个实施例的基于多资源的任务调度方法,包括以下步骤:
[0038] 步骤S101,对并行的多个数据包进行分类,以得到具有截止时间的数据包和没有截止时间的数据包。换言之,即将并行的多个数据包分为两类,分别是具有截止时间
deadline的数据包和没有截止时间deadline的数据包,并分别用D(px)和U(px)表示。
[0039] 步骤S102,通过最早截止时间算法对具有截止时间的数据包进行排序、通过短任务优先算法对没有截止时间的数据包进行排序。具体而言,最早截止时间算法即EDF(Early
Deadline First)算法,由于具有截止时间的数据包均具有严格的deadline(截止时间),
因此采用EDF算法对其进行排序,能够使由于未在规定时间内处理完毕而丢包的数量降低
至最少。另一方面,短任务优先算法即SJF(Short Job First)算法,由于没有deadline的
数据包没有严格的时间限制,因此采用SJF算法能够使得数据包的平均完成时间最短。对
于多资源的请求,数据包长度按照多种资源请求数量之和计算,若对资源的需求总数相同,
则以对瓶颈资源的需求数量为准,按照短数据包优先的调度顺序。
[0040] 作为一个具体例子,例如某时间点达到7个数据包,分别对CPU和带宽有不同的需求,详细信息如表1所示:
[0041]数据包 P1 P2 P3 P4 P5 P6 P7
CPUC(Pi) 2 3 1 2 2 1 4
带宽B(Pi) 3 1 2 3 3 1 2
Deadline 7 4 8 11 无 无 无
[0042] 表1
[0043] 如表1所示,首先,P1至P4属于有deadline的数据包,P5至P7是没有deadline的数据包。按照EDF对P1至P4进行排序后的结果为:P2-P1-P3-P4,按照SJF对P5至P7
排序后的结果为:P6-P5-P7。
[0044] 步骤S103,根据排序结果估计多个数据包的虚拟开始处理时间和虚拟处理完成时间。换言之,即根据上述步骤S102中对多个数据包的排序结果估算多个数据包的虚拟开始
处理时间和虚拟处理完成时间。
[0045] 作为一个具体的实施例,首先初始化系统虚拟时间为0,并定义一个虚拟单位时间,该虚拟单位时间为权重为1的数据包1微秒的处理时间。更为具体地,数据包的处理时
间为CPU吞吐量的倒数,因此,该虚拟单位时间不受资源类型的影响,也不取决于数据包的
积压程度。进一步地,通过如下公式估算多个数据包的虚拟开始处理时间和虚拟处理完成
时间:
[0046] S(pi)=F(pi-1),
[0047]
[0048] 其中,S(pi)是数据包pi的虚拟开始处理时间,F(pi)是数据包pi的虚拟处理完成时间,是数据包pi在资源j上的虚拟处理时间,i表示第i个数据包。
[0049] 作为一个具体的例子,结合图3所示,在初始化系统虚拟时间为0后,按照预计调度顺序(如图3所示)计算各个数据包的虚拟处理完成时间F(pi),具体如表2所示:
[0050]
[0051] 表2
[0052] 如表2所示,此时,7个数据包的平均完成时间为
[0053] 步骤S104,根据多个数据包的虚拟开始处理时间和虚拟处理完成时间判断具有截止时间的数据包是否均可成功调度。进一步地,如果上述具有截止时间的数据包不能成功
完成调度,则丢弃该具有截止时间的数据包。具体的步骤为:判断具有截止时间的数据包中
是否存在截止时间小于F(pi)的数据包,如果存在,则判断该具有截止时间的数据包不能成
功调度,则丢弃该数据包。
[0054] 换言之,首先根据检查具有deadline的数据包是否可以成功调度,即比较deadline与F(pi)。若存在D(pi)<F(pi)的数据包,则证明对此数据包的调度不成功,不
能在deadline之前完成处理,则丢弃此数据包,并通知发送窗口减半。并进一步重新估算
虚拟开始、完成时间。
[0055] 作为一个具体的例子,如上述表2所示,此时,检测具有deadline的数据包,均满足D(pi)>F(pi),则可以成功调度。
[0056] 步骤S105,如果是,则进一步根据多个数据的虚拟开始处理时间和虚拟处理完成时间判断在没有截止时间的数据包中是否存在可安排在具有截止时间的数据包之前进行
调度且能够缩短平均完成时间的没有截止时间的数据包。换言之,即在步骤S104中,如果
判断具有截止时间的数据包均可成功调度,则检查没有deadline的数据包,并判断是否存
在可以提前调度以缩短整体的平均完成时间的没有deadline的数据包。
[0057] 步骤S106,如果是,则将可安排在具有截止时间的数据包之前进行调度且能够缩短平均完成时间的没有截止时间的数据包进行优先调度以缩减多个数据包的平均调度时
间。换言之,即在上述步骤S105中,如果在没有截止时间的数据包中存在可以提前调度以
缩短整体的平均完成时间的数据包,则将该数据包提到具有截止时间的数据包之前进行优
先调度以提升其优先级,进而缩短整体的平均完成时间。
[0058] 作为一个具体的实施例,该步骤可具体包括:首先设具有截止时间的数据包的数量为m(例如为p1至pm),没有截止时间的数据包的数量为n(例如为pm+1至pm+n),并判断m
和n是否在任意资源j下均满足如下公式:
[0059]
[0060]
[0061] 其中,px是第x个具有截止时间的数据包,py是第(y-m)个没有截止时间的数据包,S(py)-S(px)表示将py提到px之前所节省的完成时间, 是py在资源j上的处理时
间,(y-x)表示提前py而影响的数据包的个数, 表示将py提到px之前对其他
数据包造成的总延迟。
[0062] 如果满足,则将没有截止时间的数据包(例如表示为py)提到具有截止时间的数据包(例如表示为px)之前进行调度,由于优先调度py会使得整体完成时间缩短
S(py)-S(px),同时对于py-px这(y-x)个数据包来说,各自延长了 时间,因此整体缩短时间
为二者之差(即 如果该差值大于0,则证明将py提到px之
前对系统整体性能产生了优化,缩短了整体平均完成时间。
[0063] 作为一个具体的例子,表3为调整后的平均完成时间,此时,7个数据包的平均成时间为 表3如下所示:
[0064]
[0065] 表3
[0066] 进一步地,在本发明的一个实施例中,对于新到达的数据包,采用插队检测方法。首先判断该新到达的数据包是否具有截止时间,如果该新到达的数据包具有截止时间,则
进一步判断该新到达的数据包是否影响其他具有截止时间的数据包,如果影响,则丢弃该
新达到的数据包。
[0067] 另一方面,如果判断该新大道的包没有截止时间,则将该新达到的数据包按照先到先服务的顺序排在队尾。
[0068] 作为一个具体的实施例,上述过程具体包括:若新到达的数据包具有截止时间,则首先判断所述新到达的数据包在预设时间段内的所有任务是否同时满足如下公式:
[0069]
[0070]
[0071] 其中,pnew为新到达的数据包,D(pnew)为pnew的截止时间,为预设时间段, 为所述新到达数据包在资源j上的处理时间。
[0072] 如果新到达的数据包在预设时间段内的所有任务同时满足上述公式,则将该新到达的数据包插入到其他具有截止时间的数据包之前进行优先调度。另一方面,如果该新到
达的数据包不能同时满足上述公式,则将该新到达的数据包丢弃。
[0073] 进一步地,检测无deadline的数据包,对数据包P6来说,存在x=1,使得
[0074] F(p4)-S(p1)-(CP6)×(4-1+1)=8-0-1×4=4>0
[0075] 同时,
[0076] F(p4)-S(p1)-(MP6)×(4-1+1)=9-0-1×4=5>0
[0077] 因此,P6能够提到P1之前优先调度,在不影响各数据包deadline的基础之上,缩短平均完成时间,具体如图4所示。
[0078] 作为一个具体例子,如表4所示,若此时新到达一个数据包为P8(1,1),其deadline为5,则检测出在虚拟时间4时正在调度的数据包为P2,那么检测P2-P1-P3-P4是
否可以接受P8的插队,即在两种资源队列中分别计算延迟时间1是否不影响当前任务。表
4如下:
[0079]
[0080] 表4
[0081] 如表4所示,显然,若插入P8,则P2、P1、P3均不能按时完成,则P8不能成功调度,均采取丢包处理。
[0082] 作为一个具体示例,以下结合图2对本发明上述实施例的基于多资源的任务调度方法作进一步地概述。如图2所示,根据本发明另一个实施例的基于多资源的任务调度方
法,包括以下步骤:
[0083] 步骤S201,开始。
[0084] 步骤S202,区分D(px)和U(px)。换言之,即将多个并行数据包进行分类,以区分具有截止时间(deadline)的数据包D(px)和没有截止时间的数据包U(px)。
[0085] 步骤S203,判断当前数据包是否为具有截止时间的数据包D(px),如果是,则执行步骤S204,否则执行步骤S205。
[0086] 步骤S204,采用EDF算法对该具有截止时间的数据包进行排序,并进一步执行步骤S206。
[0087] 步骤S205,即当前数据包为没有截止时间的数据包U(px),通过SJF算法对该没有截止时间的数据包进行排序,并进一步执行步骤S206。
[0088] 步骤S206,定义系统虚拟时间。换言之,即初始化系统虚拟时间为0,首先定义一个虚拟单位时间,该虚拟单位时间指的是对于权重为1的数据包,1微秒的处理时间。
[0089] 步骤S207,估算虚拟开始处理时间和虚拟处理完成时间。具体而言,在资源j上第i个包的虚拟开始处理、处理完成时间为:
[0090] S(pi)=F(pi-1),
[0091]
[0092] 其中,S(pi)是数据包pi的虚拟开始处理时间,F(pi)是数据包pi的虚拟处理完成时间, 是数据包pi在资源j上的虚拟处理时间。
[0093] 步骤S208,判断具有截止时间的数据包D(px)是否均可被成功调度,如果是,则执行步骤S209,否则执行步骤S210。
[0094] 步骤S209,对当前各数据包的带宽使用情况进行监测并反馈监测结果,并进一步执行步骤S211。
[0095] 步骤S210,即当具有截止时间的数据包D(px)不能成功调度时,则对该数据包采取丢包处理。
[0096] 步骤S211,判断没有截止时间的数据包U(px)中是否存在可以通过提前调度缩短整体平均完成时间的没有截止时间的数据包,如果是,则执行步骤S212,否则执行步骤
S213。
[0097] 步骤S212,将可提前调度的没有截止时间的数据包调整至具有截止时间的数据包之前进行优先调度,以缩短整体平均完成时间。
[0098] 步骤S213,即有新数据包到达。
[0099] 步骤S214,判断该新数据包是否可插队,如果是,则执行步骤S215,否则执行步骤S216。换言之,即首先判断该新数据包是否为有deadline的数据包,如果是,则判断该新
数据包是否影响其他具有deadline的数据包,若不影响,则将该新数据包插入现有队列之
前,若影响,则不可插入。另外,当该新数据包为没有deadline的数据包时,则按照先到先
服务的顺序排在队尾。
[0100] 步骤S215,即当新数据包不可插队时,调整虚拟处理时间,并进一步执行步骤S217。
[0101] 步骤S216,即当判断新数据包可插队时,则将新数据包插入当前队列之前,并执行步骤S217。
[0102] 步骤S217,结束。
[0103] 根据本发明实施例的基于多资源的任务调度方法,将并行的多个数据包分为具有截止时间的数据包和没有截止时间的数据包,并通过EDF算法对具有截止时间的数据包进
行排序以减少丢包数量,通过SJF算法对没有截止时间的数据包进行排序以缩短平均完成
时间,并通过定义系统虚拟时间和计算预计开始、完成时间,进一步判断是否可以调度成
功,对不能调度成功的数据包进行丢包处理,对可以调度成功的数据包再次通过顺序调整
缩短平均完成时间。因此,该方法在各数据包对不同资源需求各异的情况下,结合EDF和
SJF算法,在保证丢包数量最小的前提下,大大缩减了所有任务的平均完成时间,进而可为
多种多样的网络操作提供更好的服务质量。
[0104] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0105] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或
者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,
三个等,除非另有明确具体的限定。
[0106] 在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内
部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员
而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0107] 在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在
第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示
第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是
第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0108] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任
一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技
术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结
合和组合。
[0109] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述
实施例进行变化、修改、替换和变型。