一种多任务调度方法及服务器技术

技术编号:14287232 阅读:100 留言:0更新日期:2016-12-25 17:49
本发明专利技术公开了一种多任务调度方法和服务器;其中,所述方法包括:获取N个任务中的一个当前任务,所述N为大于1的自然数;检测所述当前任务所处的当前状态,得到检测结果;根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果;所述判断结果用于表征所述当前任务为满足预设条件的目标任务时,获取为所述当前任务配置的配置参数,根据所述配置参数运行所述当前任务,获得运行结果,根据所述运行结果更新所述当前任务的所述当前状态。

【技术实现步骤摘要】

本专利技术涉及调度技术,尤其涉及一种多任务调度方法及服务器
技术介绍
目前,传统的多任务调度方法通常采用基于轮询时间片的方式来实现多任务调度。传统的多任务调度方法包括:首先,针对每一项任务定义一个轮循时间片,并初始化各项任务的运行时间表;之后,等待最小的任务时间片后,检测当前任务的轮循时间片是否到达;当所述当前任务的轮询时间片到达时,开始运行所述任务,并重置该任务的运行时间表。但是,传统的多任务调度方法存在如下缺陷:1)在轮询过程中,无法灵活控制每一项任务的启动时间;2)无法控制任务之间的运行方式,是并行或者串行;3)无法准确控制任务的当前状态;4)无法控制任务的类型,是单次任务,还是多次任务。综上所述,传统的多任务调度方法只能以轮询时间片的方式依次执行到达轮询时间片的每一项任务,无法实现多任务间的灵活调度。
技术实现思路
为解决现有技术中存在的问题,本专利技术实施例提供一种多任务调度方法及服务器,能够在执行多任务的轮询过程中,实现任务间的灵活调度。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供一种多任务调度方法,所述方法包括:获取N个任务中的一个当前任务,所述N为大于1的自然数;检测所述当前任务所处的当前状态,得到检测结果;根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得
到判断结果;所述判断结果用于表征所述当前任务为满足预设条件的目标任务时,获取为所述当前任务配置的配置参数,根据所述配置参数运行所述当前任务,获得运行结果,根据所述运行结果更新所述当前任务的所述当前状态。上述方案中,在所述检测所述当前任务所处的当前状态之前,所述方法还包括:初始化所述N个任务的运行时间表;达到第一预设时间阈值后,触发执行检测所述当前任务所处的当前状态的操作。上述方案中,所述根据所述运行结果更新所述当前任务的所述当前状态,还包括:结合所述初始化的所述N个任务的运行时间表,根据所述运行结果更新所述当前任务的运行时间表,将所述运行时间表作为用于执行任务调度的调度时间表。上述方案中,所述方法还包括:设置对应于所述N个任务的任务结构体,所述任务结构体中的结构体实例与所述N个任务一一对应。上述方案中,根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为可运行,且所述当前任务的等待时间片已到达,则所述当前任务为满足预设条件的目标任务,否则,所述当前任务为不满足预设条件的目标任务。上述方案中,根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为等待或运行,且所述当前任务的轮询时间片已到达,则所述当前任务为满足预设条件的目标任务;否则,所述当前任务为不满足预设条件的目标任务。上述方案中,根据所述检测结果判断所述当前任务是否为满足预设条件的
目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为禁用或结束,则所述当前任务为不满足预设条件的目标任务。上述方案中,根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为失败,则所述当前任务为满足预设条件的目标任务。本专利技术实施例还提供一种服务器,所述服务器包括获取模块、检测模块、判断模块和执行模块;其中,所述获取模块,用于获取N个任务中的一个当前任务,所述N为大于1的自然数;所述检测模块,用于检测所述当前任务所处的当前状态,得到检测结果;所述判断模块,用于根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果;所述执行模块,用于当所述判断结果用于表征所述当前任务为满足预设条件的目标任务时,获取为所述当前任务配置的配置参数,根据所述配置参数运行所述当前任务,获得运行结果,根据所述运行结果更新所述当前任务的所述当前状态。上述方案中,所述服务器还包括初始化模块和计时模块;其中,所述初始化模块,用于初始化所述N个任务的运行时间表;所述计时模块,用于达到第一预设时间阈值后,触发执行检测所述当前任务所处的当前状态的操作。上述方案中,所述执行模块,还用于结合所述初始化的所述N个任务的运行时间表,根据所述运行结果更新所述当前任务的运行时间表,将所述运行时间表作为用于执行任务调度的调度时间表。上述方案中,所述服务器还包括设置模块;其中,所述设置模块,用于设置对应于所述N个任务的任务结构体,所述任务结
构体中的结构体实例与所述N个任务一一对应。上述方案中,所述判断模块用于根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为可运行,且所述当前任务的等待时间片已到达,则所述当前任务为满足预设条件的目标任务,否则,所述当前任务为不满足预设条件的目标任务。上述方案中,所述判断模块用于根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为等待或运行,且所述当前任务的轮询时间片已到达,则所述当前任务为满足预设条件的目标任务;否则,所述当前任务为不满足预设条件的目标任务。上述方案中,所述判断模块用于根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为禁用或结束,则所述当前任务为不满足预设条件的目标任务。上述方案中,所述判断模块用于根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为失败,则所述当前任务为满足预设条件的目标任务。本专利技术实施例提供一种多任务调度方法,服务器获取N个任务中的一个当前任务,所述N为大于1的自然数;检测所述当前任务所处的当前状态,得到检测结果;根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果;所述判断结果用于表征所述当前任务为满足预设条件的目标任务时,获取为所述当前任务配置的配置参数,根据所述配置参数运行所述当前任务,获得运行结果,根据所述运行结果更新所述当前任务的所述当前状态。如此,能够在执行多任务的轮询过程中,实现任务间的灵活调度。附图说明图1为本专利技术实施例一多任务调度方法的实现流程示意图;图2为本专利技术实施例二多任务调度方法的实现流程示意图;图3为本专利技术实施例三多任务调度方法的实现流程示意图;图4为本专利技术实施例服务器的组成结构示意图一;图5为本专利技术实施例服务器的组成结构示意图二;图6为本专利技术实施例服务器的组成结构示意图三;图7为传统的多任务调度方法的具体实现流程示意图;图8为基于传统的多任务调度方法的任务运行情况示意图;图9为本专利技术实施例多任务调度方法的具体实现流程示意图;图10为基于本专利技术实施例多任务调度方法的任务运行情况示意图;图11为本专利技术实施例服务器作为硬件实体的一个示例图。具体实施方式下面结合附图和具体实施例对本专利技术的技术方案进一步详细阐述。方法实施例一:图1为本专利技术实施例一多任务调度方法的实现流程示意图,如图1所示,所本文档来自技高网
...
一种多任务调度方法及服务器

【技术保护点】
一种多任务调度方法,其特征在于,所述方法包括:获取N个任务中的一个当前任务,所述N为大于1的自然数;检测所述当前任务所处的当前状态,得到检测结果;根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果;所述判断结果用于表征所述当前任务为满足预设条件的目标任务时,获取为所述当前任务配置的配置参数,根据所述配置参数运行所述当前任务,获得运行结果,根据所述运行结果更新所述当前任务的所述当前状态。

【技术特征摘要】
1.一种多任务调度方法,其特征在于,所述方法包括:获取N个任务中的一个当前任务,所述N为大于1的自然数;检测所述当前任务所处的当前状态,得到检测结果;根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果;所述判断结果用于表征所述当前任务为满足预设条件的目标任务时,获取为所述当前任务配置的配置参数,根据所述配置参数运行所述当前任务,获得运行结果,根据所述运行结果更新所述当前任务的所述当前状态。2.根据权利要求1所述的方法,其特征在于,在所述检测所述当前任务所处的当前状态之前,所述方法还包括:初始化所述N个任务的运行时间表;达到第一预设时间阈值后,触发执行检测所述当前任务所处的当前状态的操作。3.根据权利要求2所述的方法,其特征在于,所述根据所述运行结果更新所述当前任务的所述当前状态,还包括:结合所述初始化的所述N个任务的运行时间表,根据所述运行结果更新所述当前任务的运行时间表,将所述运行时间表作为用于执行任务调度的调度时间表。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:设置对应于所述N个任务的任务结构体,所述任务结构体中的结构体实例与所述N个任务一一对应。5.根据权利要求1所述的方法,其特征在于,根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为可运行,且所述当前任务的等待时间片已到达,则所述当前任务为满足预设条件的目标任务,
\t否则,所述当前任务为不满足预设条件的目标任务。6.根据权利要求1所述的方法,其特征在于,根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为等待或运行,且所述当前任务的轮询时间片已到达,则所述当前任务为满足预设条件的目标任务;否则,所述当前任务为不满足预设条件的目标任务。7.根据权利要求1所述的方法,其特征在于,根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为禁用或结束,则所述当前任务为不满足预设条件的目标任务。8.根据权利要求1所述的方法,其特征在于,根据所述检测结果判断所述当前任务是否为满足预设条件的目标任务,得到判断结果,包括:当所述检测结果用于表征所述当前任务所处的当前状态为失败,则所述当前任务为满足预设条件的目标任务。9.一种服务器,其特征在于,所述服务器包括获取模块、检测模块、判断模块和执行模块;其中,所述获取模块,用于获取N...

【专利技术属性】
技术研发人员:尤辉
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1