任务调度的方法和装置的制造方法_4

文档序号:8512495阅读:来源:国知局
步骤执行,和/或将一个步骤分解为多个步骤执行。
[0084]进一步参考图5,其示出了本申请的任务调度的方法的一个实施例的流程500。该任务调度的方法500,包括以下步骤:
[0085]步骤501,根据调度周期周期性地触发调度处理操作。
[0086]在本实施例中,电子设备(例如任务调度应用运行于其上的便携计算机)可以根据调度周期计算调度时间,并在每个调度时间到达的时刻周期性地触发任务的调度处理操作(例如任务调度应用的一个调度处理进程)。在一些实施例中,当首次触发调度处理操作时,电子设备可以将当前时间作为所触发的调度处理操作的调度时间;当不是首次触发调度处理操作时,电子设备可以将前一个调度时间加上一个调度周期的时间作为所触发的调度处理操作的调度时间。
[0087]步骤502,通过执行调度处理操作输出符合预设条件的待调度任务至任务池。
[0088]在本实施例中,电子设备通过执行调度处理操作可以输出符合预设条件的待调度任务至任务池作为待执行任务以供分配及执行。其中,本实施例中的调度处理操作包括:获取当前调度处理操作的调度时间;获取每个待调度任务的时间参数;输出时间参数与调度时间满足预设条件的待调度任务至任务池。
[0089]其中,当前调度处理操作的调度时间可以是直接获取的由步骤501中根据调度周期计算得到的调度时间,也可以是在本步骤中计算得到的调度时间。每个待调度任务的时间参数可以包括待调度任务的最近启用时间和任务执行周期。可选地,任务执行周期与调度周期满足以下关系:所有待调度任务的任务执行周期是调度周期的整数倍。
[0090]在本实施例中,预设条件可以是预设的用于判断任务是否为待执行任务的条件。电子设备可以通过判断任务执行周期、最近启用时间与调度时间是否满足预设条件,确保任务在一个调度周期内被实时地调度。在一些实现中,预设条件可以包括:调度时间与最近启用时间的差除以任务执行周期得到的余数小于调度周期。在另一些实现中,预设条件可以包括:待调度任务的拟调度时间迟于上一次调度处理操作的调度时间且早于或等于当前调度处理操作的调度时间。其中,上述拟调度时间由任务的最近启用时间加上整数个任务执行周期获得。以上预设条件可以达到的效果是:任务在其启用后的每一个任务执行周期中的一个调度周期的时间内被调度,而且在其同一个任务执行周期内不会被重复调度。
[0091]步骤503,分配并执行任务池中的任务。
[0092]在本实施例中,电子设备可以将任务池中的任务分配给其上的执行进程来执行,也可以将任务池中的任务分配给与其连接的执行设备来执行。
[0093]步骤504,判断任务池中的任务是否全部被分配或执行。
[0094]在本实施例中,电子设备可以对任务池中的任务进行判断,以确定任务池中的任务全部被分配或执行。其中,电子设备可以通过任务池中任务的数量进行判断,当任务池中的任务数量为O时,判断任务池中的任务全部被分配或执行,否则判断任务池中的任务没有全部被分配或执行。
[0095]步骤505,结束任务调度。
[0096]在本实施例中,如果步骤504中判断任务池中的任务全部被分配或执行,则表示暂时没有待执行的任务,电子设备可以结束任务调度以暂停调度处理操作的执行。
[0097]另一方面,如果步骤504中判断任务池中的任务没有全部被分配或执行,则继续执行步骤501,周期性地触发调度处理操作的执行。
[0098]在本实施例中,上述实现流程中的步骤501、步骤502、步骤503分别与图1所示实施例中的步骤101、步骤102、步骤103基本相同,在此不再赘述。
[0099]进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种任务调度装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于电子设备中。
[0100]如图6所示,本实施例所述的任务调度装置600包括:调度触发模块601,配置用于根据调度周期周期性地触发调度处理模块602执行调度处理操作;调度处理模块602配置用于执行调度处理操作,包括:调度时间获取单元6021,配置用于获取调度触发模块601触发当前调度处理操作的调度时间;任务参数获取单元6022,配置用于获取每个待调度任务的时间参数;判断及输出单元6023,配置用于输出任务执行周期、最近启用时间与调度时间满足预设条件的待调度任务至任务池;任务分配及执行模块603,配置用于分配并执行任务池中的任务。
[0101]在本实施例中,调度触发模块601可以根据调度周期计算对调度处理操作进行触发的时间,即调度时间,并在每个调度时间到达的时刻周期性地触发调度处理模块602执行调度处理操作。在一些实施例中,调度触发模块601首次触发调度处理模块602执行调度处理操作时,可以将当前时间作为所触发的调度处理操作的调度时间;之后调度触发模块601触发调度处理模块602执行调度处理操作时,可以将前一个调度时间加上一个调度周期的时间作为所触发的调度处理操作的调度时间。
[0102]在本实施例中,调度处理模块602可以通过执行调度处理操作输出符合预设条件的待调度任务至任务池。调度处理模块602可以首先通过调度时间获取单元6021获取调度触发模块601触发当前调度处理操作的调度时间,或者通过调度时间获取单元6021计算当前调度处理操作的调度时间;然后通过任务参数获取单元6022获取每个待调度任务的时间参数;之后通过判断及输出单元6023输出任务执行周期、最近启用时间与调度时间满足预设条件的待调度任务至任务池。其中,上述时间参数包括待调度任务的最近启用时间和任务执行周期,任务执行周期为待调度任务相邻两次执行开始时间之间的间隔。判断及输出单元6023可以通过判断任务执行周期、最近启用时间与调度时间是否满足预设条件,确保任务在一个调度周期内被实时地调度。在一些实现中,预设条件可以包括:调度时间与最近启用时间的差除以任务执行周期得到的余数小于调度周期。在另一些实现中,预设条件可以包括:待调度任务的拟调度时间迟于上一次调度处理操作的调度时间且早于或等于当前调度处理操作的调度时间。其中,上述拟调度时间由任务的最近启用时间加上整数个任务执行周期获得。
[0103]在本实施例中,任务分配及执行模块603可以将调度处理模块602输出至任务池中的任务分配给任务调度装置600上的执行进程来执行,也可以将任务池中的任务分配给与任务调度装置600连接的执行设备来执行。
[0104]在本实施例的一些实现方式中,任务调度装置600还可以包括任务检测模块(未示出),配置用于判断任务池中的任务是否全部被分配或执行;并且,在任务池中的任务全部被分配或执行时,结束任务调度。
[0105]在本实施例的一些实现方式中,调度周期满足以下条件:所有待调度任务的任务执行周期是调度周期的整数倍。
[0106]本领域技术人员可以理解,上述任务调度装置600还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图6中未示出。
[0107]值得说明的是,虽然任务调度装置600作为一个整体描述如上,但并非对其进行的限定。本申请的任务调度装置600中的模块还可以根据需要分别设在不同的电子设备上。例如,调度触发模块601和调度处理模块602可以设于同一电子设备上,任务分配及执行模块603可以设于另一电子设备上。本申请的任务调度装置600中的模块还可以包括不同的单元,同一模块的不同单元根据需要分别设在不同的电子设备上。例如,任务分配及执行模块603可以包括任务分配单元和任务执行单元,其中,任务分配单元可以设在与调度触发模块601和调度处理模块602相同的电子设备中,而任务执行单元设在另一电子设备中。此时,任务调度装置600可以包括在图7示出的任务调度服务器系统700中。其中,任务调度服务器701可以包括任务分配及执行模块603的任务分配单元,而执行服务器702可以包括任务分配及执行模块603的任务执行单元。
[0108]如图7所示,任务调度服务器系统700包括任务调度服务器701和至少一台任务执行服务器702。其中,调度服务器701和任务执行服
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1