[发明专利]一种支持回滚的任务流框架实现方法在审
申请号: | 201711425165.3 | 申请日: | 2017-12-25 |
公开(公告)号: | CN108205440A | 公开(公告)日: | 2018-06-26 |
发明(设计)人: | 邓玉芳;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | G06F8/36 | 分类号: | G06F8/36;G06F8/30;G06F9/448;G06F11/14 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 523808 广东省东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务流 回滚 任务步骤 云平台 回收站 任务流引擎 步骤关系 步骤类型 参数模板 接口代码 任务操作 组件交互 多组件 虚拟机 复用 清空 制定 返回 创建 应用 | ||
本发明涉及云平台技术领域,特别是一种支持回滚的任务流框架实现方法。本发明首先要制定模板:(1)任务流模板,模板里包括任务流的所有步骤、步骤的前后步骤关系、步骤执行command、回滚command、步骤类型等信息;(2)任务步骤请求和返回的参数模板;(3)任务步骤请求参数值来源模板。然后,制定任务流引擎。本发明解决了云平台中需要多个组件交互处理的接口代码复杂、难于复用、定位和异常回滚处理等问题;本发明可应用于多种需要多组件交互的长任务操作中,如创建虚拟机、清空回收站等。
技术领域
本发明涉及云平台技术领域,特别是一种支持回滚的任务流框架实现方法。
背景技术
云平台主要由计算、存储、网络、监控、认证等多个组件组成,有许多操作(如创建虚拟机、清空回收站等)需要多个组件交互合作来完成,而且很多组件操作是异步的,需要定时获取异步操作的执行状态才能往下执行其他操作,而且会带来以下问题:
一是功能代码中夹杂着太多非功能性功能使得代码逻辑结构复杂不易维护;
二是代码耦合性太高,难于分工与复用;
三是操作出现异常不容易定位;
四异常后回滚处理需要写一大堆代码来实现,容易出错和遗漏。
发明内容
本发明解决的技术问题在于提供一种支持回滚的任务流框架实现方法,解决云平台中需要多个组件交互处理的接口代码复杂、难于复用、定位和异常回滚处理等问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:制定任务流模板,模板里包括任务流的所有步骤、前后步骤关系、步骤执行command类、回滚command类、步骤类型信息;
步骤2:制定任务步骤请求和返回的参数模板;
步骤3:制定任务步骤请求参数值来源模板;
步骤4:制定任务流引擎;
所述的任务流引擎的执行步骤为:
(1)将要执行的任务流类型、开始时间、请求参数、操作用户信息保存进任务流实例表中,将任务流模板中要执行的任务的所有步骤信息保存进任务流实例步骤表中,并更改流程状态改为执行中;
(2)根据流程状态获取下一步要执行的步骤;
(3)判断是否有下一步,有则进入(4),没有则结束流程;
(4)根据任务步骤请求参数值来源模板,获取流程实例对应步骤的返回数据中对应字段的值作为该任务步骤的请求数据,并执行步骤;
(5)步骤执行结果成功则返回至(2),否则执行(6);
(6)判断是否为必要步骤,必要步骤进入(7),非必要进入(2);
(7)将流程状态改为回滚中,并进入(2)。
所述步骤类型包括COMMAND、JUDGE,COMMAND代表该步骤是一个功能执行步骤,JUDGE代表该步骤是一个判断流程分叉步骤;
所述前后步骤关系包括fromId、yToIds、nToIds;
fromId为当前步骤的前一步的步骤id;
yToIds为空代表没有下一步,流程将结束;
一般步骤的走向都是走yToIds,除非步骤类型stepType为JUDGE的步骤,将会根据该command的返回值Y or N来动态判断走向;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711425165.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:通用型支付平台及其实现方法
- 下一篇:列表样式的调整方法、系统及终端