[发明专利]一种基于反射机制的自动重试装置及方法在审
申请号: | 202010155681.4 | 申请日: | 2020-03-09 |
公开(公告)号: | CN111367723A | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 魏金雷;陈初兴;徐士强;杨继伟 | 申请(专利权)人: | 山东汇贸电子口岸有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 刘淑风 |
地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 反射 机制 自动 重试 装置 方法 | ||
1.一种基于反射机制的自动重试装置,其特征在于,包括:
任务信息存储模块,用于在任务失败后,将失败的任务信息存入数据库;
任务自动重试模块,当达到时间条件后,应用从数据库中取出任务信息,通过反射机制开始重试;
任务处理策略模块,当任务重试失败后,重试次数加1,在时间条件再次到达时继续进行重试,当重试次数达到阈值后,采取相应的处理策略。
2.根据权利要求1所述的一种基于反射机制的自动重试装置,其特征在于,所述任务信息包括任务所在类、执行任务的方法、任务参数、重试次数。
3.根据权利要求2所述的一种基于反射机制的自动重试装置,其特征在于,所述任务信息按照重试次数划分为不同的队列,或按照任务类型进行划分,方便对不同的任务进行相应的处理。
4.根据权利要求1所述的一种基于反射机制的自动重试装置,其特征在于,所述数据库为Redis、Mysql数据库。
5.根据权利要求1所述的一种基于反射机制的自动重试装置,其特征在于,应用从数据库中取出任务信息,通过反射机制开始重试是指:通过反射机制,调用对应类的方法,并传入任务参数,执行任务,具体包括如下:
获取数据库中存储的失败任务的相关信息,包括处理该任务的对应处理类名、对应处理主方法名及处理该任务的方法参数信息;
通过反射机制和处理类的类名,构造出处理类的对象,通过处理主方法名,生成处理类对象的对应处理主方法对象;
然后调用该方法并传入处理该任务的参数,再执行一次处理任务的程序流程,实现任务的重试。
6.根据权利要求1所述的一种基于反射机制的自动重试装置,其特征在于,任务自动重试模块中,应用采用FIFO的方式从数据库中取出任务信息。
7.根据权利要求1所述的一种基于反射机制的自动重试装置,其特征在于,任务处理策略模块中,相应的处理策略包括:
A、丢弃:将任务丢弃,不再做重试操作;
B、继续重试:任务继续保存,在设定的时间条件后,继续重试;
C、通知运维:任务不再重试,通过消息系统等通知相应运维人员;
D、抛出异常:抛出异常,记录日志,发送告警。
8.一种基于反射机制的自动重试方法,其特征在于,基于权利要求1的装置,其实现方法如下:
步骤S1、应用接收任务请求,执行相应的业务处理;
步骤S2、当应用处理任务失败时,将失败的信息存入数据库;
步骤S3、当达到时间条件后,应用从数据库中取出任务信息,通过反射机制开始重试;
步骤S4、当任务重试失败后,重试次数加1,在时间条件再次到达时继续进行重试,当重试次数达到阈值后,采取相应的处理策略:
A、丢弃:将任务丢弃,不再做重试操作;
B、继续重试:任务继续保存,在设定的时间条件后,继续重试;
C、通知运维:任务不再重试,通过消息系统等通知相应运维人员;
D、抛出异常:抛出异常,记录日志,发送告警。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东汇贸电子口岸有限公司,未经山东汇贸电子口岸有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010155681.4/1.html,转载请声明来源钻瓜专利网。