1.一种用于云计算系统的作业调度方法,方法中采用的系统包括全局作业队列、子作业队列、作业调度器和与子作业队列对应的虚拟机,所述全局作业队列接收到达系统的作业,所述作业调度器将全局作业队列中的作业调度至合适的子作业队列中排队,等待虚拟机执行,所述作业调度方法基于先进先出工作方式,其特征在于,调度规则为:当作业到达全局作业队列时,只有当子作业队列剩余缓存空间容量大于0,或作业最大等待分配时延小于虚拟机正在执行作业的最小剩余执行时间,作业才会等待被调度到子作业队列,否则,该作业将被丢弃。
2.根据权利要求1所述的一种用于云计算系统的作业调度方法,其特征在于,所述最大等待分配时延不大于作业与该作业相邻下一个作业到达全局作业队列的时间之差。
3.根据权利要求1或2所述的一种用于云计算系统的作业调度方法,其特征在于,进一步包括,当作业到达全局作业队列时,读取该作业端到端时延要求,当端到端时延要求能被满足时,该作业才会等待被调度到子作业队列,否则,该作业将被丢弃。
4.根据权利要求3所述的一种用于云计算系统的作业调度方法, 其特征在于,进一步包括,根据作业被丢弃的不同情况向用户返回作业被丢弃的原因,具体为:当子作业队列剩余缓存空间容量为0,且作业最大等待分配时延小于虚拟机中正在执行作业的最小剩余执行时间时,向用户返回“队列满”信息;当作业的端到端时延要求不能被满足时,向用户返回“超时”信息。
5.根据权利要求4所述的一种用于云计算系统的作业调度方法,其特征在于,进一步包括,计算每个子作业队列的前置作业执行时间之和,将全局作业队列中的作业调度到,前置作业执行时间之和最短的子作业队列中排队。
6.根据权利要求5所述的一种用于云计算系统的作业调度方法,其特征在于,包括以下步骤:S1. 作业到达全局作业队列;
S2. 读取该作业的端到端时延要求,分配作业编号,设置该作业能容忍的最大等待时延,估算该作业的执行时间;
S3. 判断是否有子作业队列剩余缓存空间容量大于0,若是,则执行S4,若否,则执行S8;
S4. 计算各子作业队列的前置作业执行时间之和;
S5. 判断该作业是否满足端到端时延要求,若是,则执行S6,若否,则执行S7;
S6. 该作业进入前置作业执行时间之和最短的子作业队列,结束本次调度;
S7. 丢弃该作业并发送“超时”信息给作业请求者,结束本次调度;
S8. 判断最大等待分配时延是否大于虚拟机正在执行作业的最小剩余执行时间:若是,则执行步骤S9,若否,则执行步骤S10;
S9. 该作业等待最小剩余执行时间后,执行步骤S4;
S10.丢弃该作业并发送“队列满”信息给作业请求者,结束本次调度。
7.根据权利要求6所述的一种用于云计算系统的作业调度方法,其特征在于,所述步骤S2中的作业编号在该作业完成之前是唯一不变的。
8.根据权利要求6所述的一种用于云计算系统的作业调度方法,其特征在于,所述子作业队列剩余缓存空间容量、各虚拟机中当前执行作业剩余执行时间以及各子作业队列的前置作业执行时间之和是通过作业调度器监控计算的。
9.根据权利要求6所述的一种用于云计算系统的作业调度方法,其特征在于,所述全局作业队列长度满足:所述作业调度器完成全局作业队列所需时间不大于作业与该作业相邻下一个作业到达全局作业队列的时间之差。
10.根据权利要求8或9所述的一种用于云计算系统的作业调度方法,其特征在于,所述子作业队列为一个或以上,其队列长度满足:虚拟机完成子作业队列所需时间不大于作业与该作业相邻下一个作业到达子作业队列的时间之差。