任务调度装置和任务调度方法制造方法及图纸

技术编号:9519332 阅读:93 留言:0更新日期:2014-01-01 16:59
本发明专利技术提供了一种任务调度装置和一种任务调度方法,其中任务调度装置包括:判断单元,连接至计算单元,用于在当前任务准备完成时,判断数据库中是否有当前任务的执行历史数据;计算单元,用于在确定有执行历史数据时,根据执行历史数据预算当前任务的预估执行时间;任务调度单元,连接至计算单元,用于根据预估执行时间将当前任务追加到当前各任务队列中的指定任务队列中,等待当前任务执行。通过本发明专利技术的技术方案,能够根据所处的设备环境及执行的历史数据不断的优化和调整任务调度,从而提高任务处理效率。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种任务调度装置和一种任务调度方法,其中任务调度装置包括:判断单元,连接至计算单元,用于在当前任务准备完成时,判断数据库中是否有当前任务的执行历史数据;计算单元,用于在确定有执行历史数据时,根据执行历史数据预算当前任务的预估执行时间;任务调度单元,连接至计算单元,用于根据预估执行时间将当前任务追加到当前各任务队列中的指定任务队列中,等待当前任务执行。通过本专利技术的技术方案,能够根据所处的设备环境及执行的历史数据不断的优化和调整任务调度,从而提高任务处理效率。【专利说明】
本专利技术涉及计算机
,具体而言,涉及一种任务调度装置和一种任务调度方法。
技术介绍
在ERP系统中,存在各种各样的任务(例如审批任务、定时任务等)需要进入队列,通过任务调度来完成,实现任务的统一执行与管理。ERP系统中经常使用任务调度装置来实现任务的统一执行与管理。传统的任务调度引擎一般是根据任务的先来后到执行或按特定优先级执行,往往忽视了任务的执行上下文以及执行的特定环境、历史执行时间等数据,更不会去记录每个任务的属性及历史执行时间等数据。这样就会导致某些任务,如审批任务,其实只需要很短的时间就能完成,但它却有可能排队在很多需要长时间执行的任务之后,导致其需要不断的等待。另一方面,使用者往往不知道某些任务什么时候才能得到执行并完成,给用户的体验也不好。传统的任务调度引擎一般是根据任务的先来后到顺序执行或按特定优先级执行。t匕如,总共有三条任务队列用于执行任务调度,此时新来一个任务,会被直接分配到任务数较少的那条任务队列中。相关任务调度方案建立流程的过程如图1所示。在相关技术方案中,任务调度存在下面几个问题:(1)任务调度算法按照特定的优先顺序来执行任务,往往会导致本来只需要很短时间就能执行完成的任务,因为排在了许多需要长时间完成的任务后面,而进入无休止的等待中;(2)任务管理人员无法知道某个任务大概何时能够完成,用户体验不好。
技术实现思路
本专利技术正是基于上述技术问题,提出了一种新的任务调度技术,可提高任务调度效率。有鉴于此,根据本专利技术的一个方面,提供了一种任务调度装置,包括:判断单元,连接至计算单元,用于在当前任务准备完成时,判断数据库中是否有所述当前任务的执行历史数据;所述计算单元,用于在确定有所述执行历史数据时,根据所述执行历史数据预算所述当前任务的预估执行时间;任务调度单元,连接至所述计算单元,用于根据所述预估执行时间将所述当前任务追加到当前各任务队列中的指定任务队列中,等待所述当前任务执行。在有新任务时,会根据该新任务的执行历史数据来估算可能需要的时间,然后根据各任务队列的情况将该新任务追加到合适的队列中,最后等待该新任务的执行。因此,该技术方案与相关技术方案相比,不是按照固定的优先级顺序来执行任务,也不是直接将新任务安排在任务较少的队列中,而是结合了新任务的执行时间来确定合适的任务队列,从而能够统筹安排各任务,优化任务调度,提高了任务的执行效率。在上述技术方案中,优选的,所述计算单元还可以包括获取单元和比较单元,所述获取单元用于获取所述当前各任务队列的前置任务执行时间之和,所述比较单元用于将所述当前任务的预估执行时间与所述执行时间之和进行比较;所述任务调度单元所述根据比较结果确定所述指定任务队列。除了考虑新的任务的预估执行时间之外,还需要考虑当前各任务队列的执行总时间,从而确定最合适的任务队列。在上述任一技术方案中,优选的,所述任务调度单元还用于在所述预估执行时间小于第一时间阈值时,将所述当前任务追加至前置任务执行时间之和最小的任务队列中,以及在所述预估执行时间大于等于所述第一时间阈值小于等于第二时间阈值时,将所述当前任务追加至前置任务执行时间之和处于第二小的任务队列中,以及在所述预估执行时间大于所述第二时间阈值时,将所述当前任务追加至其他任务队列中,其中所述第一时间阈值小于所述第二时间阈值。如果计算出新任务的执行时间很短,则可以将该新任务追加到执行时间最少的任务队列中,这样可以保证该新任务能够被快速完成,如果该新任务的执行时间很长,就可以将该新任务追加到执行时间稍长的队列中,以保证其他任务能够被优先执行。在上述任一技术方案中,优选的,还可以包括:反馈单元,用于在将所述当前任务追加至所述指定任务队列中后,反馈所述当前任务的预估执行时间和等待执行总时间。本方案能够实时地反馈当前任务预计执行时间和需等待的时间,能够然该用户清楚任务的执行情况,既实现了 ERP系统中任务调度的统一管理,又能够改善用户体验。在上述任一技术方案中,优选的,还可以包括:记录单元,用于在所述当前任务开始被执行时,记录所述当前任务的执行数据。根据任务的执行情况可以不断更新任务执行历史数据,当下次有类似的新任务时,能够依据执行历史数据来估算任务的执行时间。根据本专利技术的另一方面,还提供了一种任务调度方法,包括:在当前任务准备完成时,判断数据库中是否有所述当前任务的执行历史数据;在确定有所述执行历史数据时,根据所述执行历史数据预算所述当前任务的预估执行时间;根据所述预估执行时间将所述当前任务追加到当前各任务队列中的指定任务队列中,等待所述当前任务执行。在有新任务时,会根据该新任务的执行历史数据来估算可能需要的时间,然后根据各任务队列的情况将该新任务追加到合适的队列中,最后等待该新任务的执行。因此,该技术方案与相关技术方案相比,不是按照固定的优先级顺序来执行任务,也不是直接将新任务安排在任务较少的队列中,而是结合了新任务的执行时间来确定合适的任务队列,从而能够统筹安排各任务,优化任务调度,提高了任务的执行效率。在上述技术方案中,优选的,还可以包括以下步骤:获取所述当前各任务队列的前置任务执行时间之和;将所述当前任务的预估执行时间与所述执行时间之和进行比较;根据比较结果确定所述指定任务队列。除了考虑新的任务的预估执行时间之外,还需要考虑当前各任务队列的执行总时间,从而确定最合适的任务队列。在上述任一技术方案中,优选的,在所述预估执行时间小于第一时间阈值时,将所述当前任务追加至前置任务执行时间之和最小的任务队列中;在所述预估执行时间大于等于所述第一时间阈值小于等于第二时间阈值时,将所述当前任务追加至前置任务执行时间之和处于第二小的任务队列中;在所述预估执行时间大于所述第二时间阈值时,将所述当前任务追加至其他任务队列中,其中所述第一时间阈值小于所述第二时间阈值。如果计算出新任务的执行时间很短,则可以将该新任务追加到执行时间最少的任务队列中,这样可以保证该新任务能够被快速完成,如果该新任务的执行时间很长,就可以将该新任务追加到执行时间稍长的队列中,以保证其他任务能够被优先执行。在上述任一技术方案中,优选的,还可以包括以下步骤:在将所述当前任务追加至所述指定任务队列中后,反馈所述当前任务的预估执行时间和等待执行总时间。本方案能够实时地反馈当前任务预计执行时间和需等待的时间,能够然该用户清楚任务的执行情况,既实现了 ERP系统中任务调度的统一管理,又能够改善用户体验。在上述任一技术方案中,优选的,还可以包括:在所述当前任务开始被执行时,记录所述当前任务的执行数据。根据任务的执行情况可以不断更新任务执行历史数据,当下次有类似本文档来自技高网
...

【技术保护点】
一种任务调度装置,其特征在于,包括:判断单元,连接至计算单元,用于在当前任务准备完成时,判断数据库中是否有所述当前任务的执行历史数据;所述计算单元,用于在确定有所述执行历史数据时,根据所述执行历史数据预算所述当前任务的预估执行时间;任务调度单元,连接至所述计算单元,用于根据所述预估执行时间将所述当前任务追加到当前各任务队列中的指定任务队列中,等待所述当前任务执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:范金福方奇功
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1