一种控制任务执行的方法技术

技术编号:15436901 阅读:98 留言:0更新日期:2017-05-25 19:08
本发明专利技术提出了一种控制任务执行的方法,包括:遍历任务列表,判断是否存在未执行任务;根据预定的多个任务类型,为每一个未执行任务划分任务类型,并根据划分的任务类型查询运行参数列表,以获取包括对应于划分的任务类型的多个针对类型的运行参数的记录,其中,运行参数列表包括指定给每一个任务类型的多个针对类型的运行参数;遍历运行参数列表,判断是否已经完成对记录中的多个针对类型的运行参数的遍历,其中若未完成,则判断实际的运行参数与对应的针对类型的运行参数是否符合,若不符合,则返回遍历任务列表的步骤,若符合,继续执行遍历运行参数列表的步骤,以及其中若已经完成,则执行未执行任务并将任务状态更新为已执行。

A method of controlling task execution

The invention provides a method of control tasks include: traversing the list of tasks, to determine whether there is failure to perform a task; according to a plurality of predetermined types of tasks, not for every task division and task type, according to the division of the task type run parameter list to obtain includes a plurality of operation parameters for the type of record, task types corresponding to the division of the operating parameters including a list of assigned to each task type multiple parameters according to the operation type; traversal operation parameters list, decide whether you have performed on multiple parameters according to the operation type traversal record, which if not complete, judging the operation parameters and operation parameters for the corresponding actual type is met, if not met, then return to the task list traversal steps, if the line, continue to hold The steps to traverse the list of running parameters, and, if completed, perform an outstanding task and update the task state to execution.

【技术实现步骤摘要】
一种控制任务执行的方法
本专利技术涉及计算机
,特别地涉及一种控制任务执行的方法。
技术介绍
在计算机
中,随着网络的蓬勃发展,大型应用系统在开发过程中,不可避免的需要采用异步方式来完成某些功能,而异步方式的具体实现就是系统任务,即将希望异步进行的操作,封装成任务记录,采用定时线程执行任务记录。这样可以实现任务的多次重试,保证任务执行的百分百完成。现有技术中,任务系统都是定时执行的,任务执行定时线程查询待执行的任务列表,遍历该任务列表,执行每一条任务记录,如果执行成功,将该任务状态修改为完成状态;如果执行未成功,则下次再执行。具体流程图如图1所示。但是现有技术存在以下缺点:任务执行系统都是定时执行任务,不会关注其他应用的存在,同时,也不会关注应用的运行环境等,例如,内存、CPU以及load等信息,所以任务在执行过程中,如果任务太多,执行业务复杂,会对服务器造成严重压力,影响部署在相同服务器上其他应用的服务。
技术实现思路
有鉴于此,本专利技术提供一种控制任务执行的方法,通过采用划分任务类型、设置任务类型运行参数的方法来动态规划任务的执行,即在本技术方案中任务执行系统先查询待执行的任务列表,遍历任务列表,根据每条任务记录的类型查询对应的运行环境记录,判断该任务是否可以执行,如果不可以,跳过该任务记录,如果可以,执行该条记录,通过上述方式不仅可以有效控制、调节任务的执行,还可以高效、有序的执行任务,且进一步地,还可以有效的利用系统、服务器的资源,对其他应用不会造成影响。为实现上述目的,根据本专利技术的一个方面,提供了一种控制任务执行的方法,包括:遍历任务列表,判断是否存在未执行任务;根据预定的多个任务类型,为每一个所述未执行任务划分任务类型,并根据划分的任务类型查询运行参数列表,以获取包括对应于所述划分的任务类型的多个针对类型的运行参数的记录,其中,所述运行参数列表包括指定给每一个任务类型的多个针对类型的运行参数;遍历所述运行参数列表,判断是否已经完成对所述记录中的多个针对类型的运行参数的遍历,其中若未完成,则判断实际的运行参数与对应的针对类型的运行参数是否符合,若不符合,则返回遍历任务列表的步骤,若符合,继续执行遍历所述运行参数列表的步骤,以及其中若已经完成,则执行所述未执行任务并将任务状态更新为已执行。可选地,还包括:在遍历任务列表的步骤之前,定时地执行任务执行线程,并查询数据库中的待执行的所述任务列表。可选地,所述多个任务类型包括:紧急任务类型、高耗时任务类型、高耗内存任务类型、高耗CPU任务类型、执行时间范围类型、高耗内存与CPU任务类型和/或紧急任务与零点前完成类型。可选地,所述多个针对类型的运行参数包括:紧急级别、耗时时长、耗内存大小、CPU范围和/或执行时间。根据本专利技术的技术方案,本专利技术提出了一种控制任务执行的方法,通过采用划分任务类型、设置任务类型运行参数的方法来动态规划任务的执行,即在本技术方案中任务执行系统先查询待执行的任务列表,遍历任务列表,根据每条任务记录的类型查询对应的运行环境记录,判断该任务是否可以执行,如果不可以,跳过该任务记录,如果可以,执行该条记录,通过上述方式不仅可以有效控制、调节任务的执行,还可以高效、有序的执行任务,且进一步地,还可以有效的利用系统、服务器的资源,对其他应用不会造成影响。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是现有技术中任务系统执行任务流程图;图2是本专利技术实施例的一种控制任务执行的方法的步骤流程图;图3是本专利技术中的任务类型图;图4是本专利技术中指定任务类型的运行参数组合图;图5是本专利技术中任务执行实例图;以及图6是本专利技术中基于任务执行实例的流程图。具体实施方式以下结合附图对本专利技术的示范性实施方式做出说明,其中包括本专利技术实施方式的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施方式做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。如图2所示,本专利技术实施例的一种控制任务执行的方法的步骤流程图。具体步骤如下:步骤S1:遍历任务列表,判断是否存在未执行任务。其中,在遍历任务列表的步骤之前,定时地执行任务执行线程,并查询数据库中的待执行的任务列表。步骤S2:根据预定的多个任务类型,如图3所示,为每一个未执行任务划分任务类型,并根据划分的任务类型查询运行参数列表,以获取包括对应于划分的任务类型的多个针对类型的运行参数的记录,其中,运行参数列表包括指定给每一个任务类型的多个针对类型的运行参数。具体地,任务类型包括:紧急任务类型、高耗时任务类型、高耗内存任务类型、高耗CPU任务类型、执行时间范围类型、高耗内存与CPU任务类型和/或紧急任务与零点前完成类型。由此,提高了任务类型的可选择性与多样性。进一步地,紧急任务类型,即此种任务类型为优先级最好的任务类型,优先被执行;高耗时任务类型,即此种任务类型的任务在执行的过程中非常耗时,执行时间较长;高耗内存任务类型,即此种任务类型的任务在执行过程中比较耗内存,如文件读写、报表导出等任务;高耗CPU任务类型,即此种任务类型的任务在执行过程中较耗CPU,需要大量的计算、IO等操作;执行时间范围类型,即此种任务类型的任务规定了任务必须在那个时间段执行、或在那个时间点前执行完成即可;高耗内存与CPU类型,即此种类型在执行时,既耗内存、又耗CPU;紧急任务与零点前完成类型,即此种类型任务较为紧急,必须在每天凌晨前执行完成。综上所述,我们可知,任务类型是由开发人员创建的,可以创建各种不同的任务类型,并对任务类型相应规定多个任务运行参数,其中,任务运行参数可包括:运行环境信息以及根据系统或服务器的运行环境信息人为规定的规则信息。任务在执行的过程中,动态的获取该种任务的任务类型,以及相应的多个任务运行参数,以此来判断任务是否应该立刻执行或者稍后执行等操作。由此,实现任务分阶段、分时段执行的灵活性与易用性。步骤S3:遍历运行参数列表,判断是否已经完成对记录中的多个针对类型的运行参数的遍历。其中,多个针对类型的运行参数如图4所示,包括:紧急级别、耗时时长、耗内存大小、CPU范围和/或执行时间。由此,提高了运行参数的可选择性与多样性。具体地,紧急级别为任务的执行级别,越小优先级越高,例如,可将紧急级别划分为1-10,10个级别,其中,1为紧急级别最高,10为紧急级别最低;耗时时长为任务执行的预估耗时时间,例如,通常可将耗时时长划分为三个区间:耗时时长<3s、3s<耗时时长<5s、以及耗时时长>5s;耗内存大小为任务执行时预计使用的内存大小,例如,通常可将耗内存大小划分为三个区间:耗内存大小<1M、1M<耗内存大小<10M、以及耗内存大小>10M;CPU范围为任务在那种CPU范围内可以执行该任务,例如,通常可将CPU范围划分为三个区间:CPU范围<20%、CPU范围<50%、以及CPU范围<70%;执行时间为任务允许执行的时间区间,例如,通常可将执行时间划分为两个区间:21:00<执行时间&本文档来自技高网...
一种控制任务执行的方法

【技术保护点】
一种控制任务执行的方法,其特征在于,包括步骤:遍历任务列表,判断是否存在未执行任务;根据预定的多个任务类型,为每一个所述未执行任务划分任务类型,并根据划分的任务类型查询运行参数列表,以获取包括对应于所述划分的任务类型的多个针对类型的运行参数的记录,其中,所述运行参数列表包括指定给每一个任务类型的多个针对类型的运行参数;遍历所述运行参数列表,判断是否已经完成对所述记录中的多个针对类型的运行参数的遍历,其中若未完成,则判断实际的运行参数与对应的针对类型的运行参数是否符合,若不符合,则返回遍历任务列表的步骤,若符合,继续执行遍历所述运行参数列表的步骤,以及其中若已经完成,则执行所述未执行任务并将任务状态更新为已执行。

【技术特征摘要】
1.一种控制任务执行的方法,其特征在于,包括步骤:遍历任务列表,判断是否存在未执行任务;根据预定的多个任务类型,为每一个所述未执行任务划分任务类型,并根据划分的任务类型查询运行参数列表,以获取包括对应于所述划分的任务类型的多个针对类型的运行参数的记录,其中,所述运行参数列表包括指定给每一个任务类型的多个针对类型的运行参数;遍历所述运行参数列表,判断是否已经完成对所述记录中的多个针对类型的运行参数的遍历,其中若未完成,则判断实际的运行参数与对应的针对类型的运行参数是否符合,若不符合,则返回遍历任务列表的步骤,若符合,继续执行遍历所述运行参数列表的步...

【专利技术属性】
技术研发人员:韩松
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1