[发明专利]微服务无感知发布系统、方法、电子设备及存储介质有效
| 申请号: | 202210250067.5 | 申请日: | 2022-03-15 |
| 公开(公告)号: | CN114356533B | 公开(公告)日: | 2022-06-14 |
| 发明(设计)人: | 宋拓;马梓钧;候广新;田英朝 | 申请(专利权)人: | 北京仁科互动网络技术有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F11/14 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 肖艳 |
| 地址: | 100022 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 微服 感知 发布 系统 方法 电子设备 存储 介质 | ||
本发明公开了微服务无感知发布系统、方法、电子设备及存储介质,包括:任务管理器、任务执行器、任务推动器以及任务修复器;任务管理器用于获取用户请求,根据用户请求将用户请求对应的任务暂停、继续、终止或查看;任务执行器用于提供执行接口或回滚接口给任务推动器调用;任务推动器包含拦截表,用于调度任务管理器、任务执行器以及任务修复器;任务修复器用于在检测到异常中断的任务后对异常中断的任务进行动态修复。本发明通过采用任务管理器、任务执行器、任务推动器以及任务修复器使得在服务宕机或硬件环境异常导致的任务中断时仍能处理完被中断的任务,从而实现数据量大或处理流程耗时长类微服务的无感知发布。
技术领域
本发明涉及计算机技术领域,具体涉及微服务无感知发布系统、方法、电子设备及存储介质。
背景技术
软件因为功能更新或漏洞修复需要不定时发布,如何保证软件服务发布过程中不影响到用户的正常使用是个难点。
目前微服务软件项目中使用到的微服务无感知发布方式多数为多节点逐个替换,每个节点停机不影响客户使用,每个节点停机之前需要如下几个步骤:
1、要确保不会再有新的请求进来,所以需要设置一个流量挡板,将流量路由到其他正常的节点。
2、保证正常处理已进来的请求线程,设置一个延迟时间来延迟关闭服务进程。
3、如果涉及到注册中心,则需要在第一步结束后注销注册中心。
4、停止项目中的定时任务,停止线程池,关闭其他需要关闭的资源。
上述方案适用场景有局限性,只能适用于同步请求且业务执行时间比较短的服务场景,但是针对于一些异步请求并且执行周期比较长的服务场景,仍不能解决。
综上,目前亟需一种微服务无感知发布系统,用于解决上述现有技术存在的问题。
发明内容
由于现有方法存在上述问题,本发明提出微服务无感知发布系统、方法、电子设备及存储介质。
第一方面,本发明提供了微服务无感知发布系统,包括:任务管理器、任务执行器、任务推动器以及任务修复器;
所述任务管理器用于获取用户请求,根据所述用户请求将所述用户请求对应的任务暂停、继续、终止或查看;
所述任务执行器用于提供执行接口或回滚接口给所述任务推动器调用;
所述任务推动器包含拦截表,用于调度所述任务管理器、所述任务执行器以及所述任务修复器;
所述任务修复器用于在检测到异常中断的任务后对所述异常中断的任务进行动态修复。
进一步地,所述任务管理器具体用于将所述用户请求发送至所述任务推动器以使所述任务推动器根据所述用户请求修改所述用户请求对应的任务的任务状态以及所述拦截表。
进一步地,所述任务执行器包括:任务块、回滚块以及任务执行上下文;
所述任务块由任务切割后得到;所述任务块与所述回滚块一一对应;
所述回滚块用于在所述任务块异常中断时,处理所述任务块对应的回滚内容;
所述任务执行上下文用于连接任意两个相邻的任务块,在任务中断时通过所述任务修复器自动拉起。
进一步地,所述任务推动器具体用于获取当前任务块,根据所述拦截表判断当前任务块对应的任务是否继续执行,若是,则更新任务状态,缓存当前任务块对应的任务执行上下文并推动当前任务块执行,在执行完当前任务块后获取下一个任务块。
进一步地,所述任务修复器具体用于获取当前任务的任务创建时间以及任务活跃时间,根据所述任务创建时间以及所述任务活跃时间判断当前任务对否异常,若异常,则将当前任务推送到异常队列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京仁科互动网络技术有限公司,未经北京仁科互动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210250067.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:深部矿井冲击地压控制方法
- 下一篇:双面导向单流阀





