[发明专利]异常处理的方法、装置及电子设备在审
申请号: | 202210853697.1 | 申请日: | 2022-07-20 |
公开(公告)号: | CN115113939A | 公开(公告)日: | 2022-09-27 |
发明(设计)人: | 练刚;欧阳张鹏;赵彦晖;耿心伟;曾源 | 申请(专利权)人: | 深圳微众信用科技股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 邱群 |
地址: | 518000 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异常 处理 方法 装置 电子设备 | ||
本申请公开了一种异常处理的方法、装置及电子设备。该方法可以包括如下步骤:接收处理任务的请求并提交所述任务至线程池;更新任务的状态为处理中,并更新服务实例至任务表,其中,服务实例为与所述任务对应的具体的服务;在服务重启后,获取任务表中服务实例对应的状态为处理中的任务,重新提交任务至线程池。通过实施本申请可以使得未被执行完成的任务得以再次被执行,从而解决了因服务异常而带来的任务丢失的问题。
技术领域
本申请涉及计算机技术领域,尤其涉及一种异常处理的方法、装置及电子设备。
背景技术
在软件产品的实际生产环境,也就是用户使用的环境中,可能会因为服务故障或者其他异常使得软件产品崩溃或者重启,导致正在执行的或者在线程池队列中等待执行的任务丢失,使得任务对应的流程中断而未被成功执行。因此,如何在实际生产环境中,处理可能发生的异常是需要解决的问题。
发明内容
本申请实施例提供了一种异常处理的方法、装置及电子设备,可以在实际生产环境中,处理可能发生的服务异常。
第一方面,本申请实施例提供了一种异常处理的方法,包括以下步骤:
接收处理任务的请求并提交所述任务至线程池;
更新所述任务的状态为处理中,并更新服务实例至任务表,所述服务实例为与所述任务对应的具体的服务;
在服务重启后,获取所述任务表中所述服务实例对应的状态为处理中的所述任务,重新提交所述任务至线程池。
可选的,在所述获取所述任务表中所述服务实例对应的状态为处理中的所述任务,重新提交所述任务至线程池之前,还包括以下步骤:
获取所述服务重启之前的历史数据;
根据所述历史数据判断与所述历史数据对应的任务是否已经完成;
在所述与所述历史数据对应的任务未完成的情况下,将所述与所述历史数据对应的任务的状态在所述任务表中更新为处理中。
可选的,在所述获取所述任务表中所述服务实例对应的状态为处理中的所述任务,重新提交所述任务至线程池之后,还包括以下步骤:
根据所述任务的任务类型得到与所述任务相匹配的线程,所述线程用于执行所述任务。
可选的,所述任务的数量为多个,在所述接收处理任务的请求并提交所述任务至线程池之后,还包括以下步骤:
根据多个任务的关联关系将所述多个任务进行分组得到多个任务组;
在当前空闲的线程数目大于或等于预设数目的情况下,并行执行所述多个任务组中的任务。
可选的,还包括以下步骤:
在当前空闲的线程数目小于所述预设数目的情况下,根据所述多个任务组的优先级确定所述多个任务的执行顺序。
第二方面,本申请实施例提供了一种异常处理的装置,装置包括:
处理模块,用于接收处理任务的请求并提交所述任务至线程池;
更新模块,用于更新所述任务的状态为处理中,并更新服务实例至任务表,所述服务实例为与所述任务对应的具体的服务;
获取模块,用于在服务重启后,获取所述任务表中所述服务实例对应的状态为处理中的所述任务;
所述处理模块,还用于重新提交所述任务至线程池。
可选的,所述获取模块,还用于获取所述服务重启之前的历史数据;
所述处理模块,还用于根据所述历史数据判断与所述历史数据对应的任务是否已经完成;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳微众信用科技股份有限公司,未经深圳微众信用科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210853697.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:上电复位电路
- 下一篇:基于声波的快速配网方法、移动端及待配网设备