一种组合任务完成复杂任务的方法技术

技术编号:13073968 阅读:74 留言:0更新日期:2016-03-30 09:53
本发明专利技术设计软件开发技术领域,特别是一种组合任务完成复杂任务的方法。本发明专利技术首先把复杂任务需要用到的任务、顺序、触发条件记录到任务组中。然后执行任务组,在任务组中找出第一个任务或多个并行任务执行。执行完成后把输出参数记录到参数池中,并判断是否满足条件执行下一个任务,满足条件则继续要任务组中寻找下一个或多个并发任务,从参数池中获取所需参数,并执行。如此循环,直到任务组的任务都完成或者满足完成条件。本发明专利技术解决了在需要执行复杂任务的时候需修改、侵入原有任务代码,或者需重新开发新的组合任务从而导致过多冗余代码、需要大量工作量的问题。提供了一种把不同任务随意组合来完成复杂任务的方法。

【技术实现步骤摘要】

本专利技术设计软件开发
,特别是。
技术介绍
在云操作系统当中,存在运众多的基础功能任务来操作维护虚拟机。而在许多的 场景中,往往是多个任务组合而成来完成一个复杂的任务,传统的做法往往是在原任务上 进行修改,在任务完成后再执行一个任务。或者直接增加一个组合任务来完成复杂任务,运 样带来W下问题: -是对原任务进行修改后,会对原代码造成侵入,加大了禪合性,不是一个好的设 计; 二是修改原任务后,就必须增加开关,进行判断是否执行后续任务,一旦复杂功能 增多,后续任务就变多,逻辑将变得很复杂,代码难W维护; Ξ是原任务将变得不再通用,侵入了过多的代码,一旦再有新的复杂任务要用到 此任务,则需要做很多的考虑来避免执行了错误的任务; 四是如果不对原任务进行修改,而是新增组合任务来完成复杂任务,运样会导致 越来越多的重复冗余代码,当一个基础任务逻辑需要修改的时候,则运些相关任务都需要 修改,代码难W维护. 为了代码降低代码的禪合性,提高复杂任务的开发速度,增强系统的灵活性和可 扩展性,需要。
技术实现思路
[000引本专利技术解决的技术问题在于提供,解决了由开 发多个简单任务组合而成的复杂任务时导致对原代码的侵入、加大程序的禪合性和代码难 W维护的问题。 本专利技术解决上述技术问题的技术方案是: 所述的方法包括如下步骤: 步骤1:把任务的顺序、触发条件等记录到任务组中; 步骤2:执行任务组; 步骤3:在任务组中找到符合条件的任务或者多个并行任务,从参数池中获取所需 的参数,并执行任务; 步骤4:判断任务是否执行成功,如果成功,则执行步骤5;如果失败则执行步骤6; 步骤5:把任务执行完成的输出参数记录到参数池中; 步骤6:判断是否符合条件执行下一个任务,符合条件,则执行步骤3;否则执行步 骤7; 步骤7:所有任务都执行完成,或者满足任务完成条件,则流程结束。 所述任务组记录的信息包括单一任务对应的类和方法,入参,需要从任务池中获 取的参数,任务层级,上级任务ID,触发条件。 所述参数池将每一步任务执行后的输出参数独立放到任务组,任务组内部公共的 池,为后续任务调用所需要依赖的参数提供一个获取途径;在规划初规范任务出参,或者在 进入参数池的时候增加标识,W防止不同任务之间参数重复。 所述的并行任务,为在任务组的某一层级的时候,多个对象同时执行的多个任务; 运些任务在上一级执行完后,会同时并行执行。 所述的步骤6中,执行完此任务后,判断是否满足此任务的下一个任务的触发条 件;满足则为下一个任务符合执行条件。 所述的步骤7中,找不到下一个符合条件的任务,则结束;是如果层级的是多个并 行任务,则为所有并行任务执行完成后都判断不符合执行下一个任务的条件,则为任务结 束。 本专利技术可W把不同的基础任务随意组合来达到完成复杂任务,而不需要去改动原 来的任务代码,不需要新增其他任务。大大提高了开发速度,同时保持了代码的可维护性和 低禪合。而且即使任务流程发生变化,只需要修改任务组的信息,调整顺序和触发条件,即 可完成相应的修改,简单快捷,为处理复杂任务,组合任务提供了一个很好的解决方案。【附图说明】 下面结合附图对本专利技术进一步说明: 图1为本专利技术方法流程图。【具体实施方式】 见1所示,本专利技术首先把所有设及的任务信息插入到任务组信息中。[002引 用反射机制找到对应任务的类和方法,把保存参数的JSON字符串反序列化,设置 到方法中,执行任务。【主权项】1. ,其特征在于: 所述的方法包括如下步骤: 步骤1:把任务的顺序、触发条件等记录到任务组中; 步骤2:执行任务组; 步骤3:在任务组中找到符合条件的任务或者多个并行任务,从参数池中获取所需的参 数,并执行任务; 步骤4:判断任务是否执行成功,如果成功,则执行步骤5;如果失败则执行步骤6; 步骤5:把任务执行完成的输出参数记录到参数池中; 步骤6:判断是否符合条件执行下一个任务,符合条件,则执行步骤3;否则执行步骤7; 步骤7:所有任务都执行完成,或者满足任务完成条件,则流程结束。2. 根据权利要求1所述的组合任务完成复杂任务的方法,其特征在于:所述任务组记录 的信息包括单一任务对应的类和方法,入参,需要从任务池中获取的参数,任务层级,上级 任务ID,触发条件。3. 根据权利要求1所述的组合任务完成复杂任务的方法,其特征在于:所述参数池将每 一步任务执行后的输出参数独立放到任务组,任务组内部公共的池,为后续任务调用所需 要依赖的参数提供一个获取途径;在规划初规范任务出参,或者在进入参数池的时候增加 标识,以防止不同任务之间参数重复。4. 根据权利要求2所述的组合任务完成复杂任务的方法,其特征在于:所述参数池将每 一步任务执行后的输出参数独立放到任务组,任务组内部公共的池,为后续任务调用所需 要依赖的参数提供一个获取途径;在规划初规范任务出参,或者在进入参数池的时候增加 标识,以防止不同任务之间参数重复。5. 根据权利要求1至4任一项所述的组合任务完成复杂任务的方法,其特征在于:所述 的并行任务,为在任务组的某一层级的时候,多个对象同时执行的多个任务;这些任务在上 一级执行完后,会同时并行执行。6. 根据权利要求1至4任一项所述的组合任务完成复杂任务的方法,其特征在于:所述 的步骤6中,执行完此任务后,判断是否满足此任务的下一个任务的触发条件;满足则为下 一个任务符合执行条件。7. 根据权利要求5所述的组合任务完成复杂任务的方法,其特征在于:所述的步骤6中, 执行完此任务后,判断是否满足此任务的下一个任务的触发条件;满足则为下一个任务符 合执行条件。8. 根据权利要求1至4任一项所述的组合任务完成复杂任务的方法,其特征在于:所述 的步骤7中,找不到下一个符合条件的任务,则结束;是如果层级的是多个并行任务,则为所 有并行任务执行完成后都判断不符合执行下一个任务的条件,则为任务结束。9. 根据权利要求5所述的组合任务完成复杂任务的方法,其特征在于:所述的步骤7中, 找不到下一个符合条件的任务,则结束;是如果层级的是多个并行任务,则为所有并行任务 执行完成后都判断不符合执行下一个任务的条件,则为任务结束。10. 根据权利要求6所述的组合任务完成复杂任务的方法,其特征在于:所述的步骤7 中,找不到下一个符合条件的任务,则结束;是如果层级的是多个并行任务,则为所有并行 任务执行完成后都判断不符合执行下一个任务的条件,则为任务结束。【专利摘要】本专利技术设计软件开发
,特别是。本专利技术首先把复杂任务需要用到的任务、顺序、触发条件记录到任务组中。然后执行任务组,在任务组中找出第一个任务或多个并行任务执行。执行完成后把输出参数记录到参数池中,并判断是否满足条件执行下一个任务,满足条件则继续要任务组中寻找下一个或多个并发任务,从参数池中获取所需参数,并执行。如此循环,直到任务组的任务都完成或者满足完成条件。本专利技术解决了在需要执行复杂任务的时候需修改、侵入原有任务代码,或者需重新开发新的组合任务从而导致过多冗余代码、需要大量工作量的问题。提供了一种把不同任务随意组合来完成复杂任务的方法。【IPC分类】G06F9/48【公开号】CN105446808【申请号】CN201本文档来自技高网
...

【技术保护点】
一种组合任务完成复杂任务的方法,其特征在于:所述的方法包括如下步骤:步骤1:把任务的顺序、触发条件等记录到任务组中;步骤2:执行任务组;步骤3:在任务组中找到符合条件的任务或者多个并行任务,从参数池中获取所需的参数,并执行任务;步骤4:判断任务是否执行成功,如果成功,则执行步骤5;如果失败则执行步骤6;步骤5:把任务执行完成的输出参数记录到参数池中;步骤6:判断是否符合条件执行下一个任务,符合条件,则执行步骤3;否则执行步骤7;步骤7:所有任务都执行完成,或者满足任务完成条件,则流程结束。

【技术特征摘要】

【专利技术属性】
技术研发人员:姚文俊杨松季统凯
申请(专利权)人:国云科技股份有限公司
类型:发明
国别省市:广东;44

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

1