业务重试方法、设备、计算机可读存储介质及程序产品与流程

文档序号:35351517发布日期:2023-09-07 22:17阅读:23来源:国知局
业务重试方法、设备、计算机可读存储介质及程序产品与流程

本申请涉及数据处理领域,具体涉及一种业务重试方法、设备、计算机可读存储介质及程序产品。


背景技术:

1、在目前的业务处理过程中,通常会调用多个服务以实现业务功能。在调用过程中,可能会由于网络波动、应用假死等因素影响出现服务无响应的情况,造成业务功能无法正常实现。


技术实现思路

1、本申请实施例提供一种业务重试方法、设备、计算机可读存储介质及程序产品,用于解决在调用业务服务过程中,可能会由于网络波动、应用假死等因素影响出现服务无响应的情况,造成业务功能无法正常实现的问题。

2、第一方面,本申请实施例提供一种业务重试方法。所述方法包括:

3、调用并执行目标业务服务对应的目标业务逻辑;

4、确定所述目标业务服务响应异常时,获取预先对所述目标业务服务对应的方法设置的重试注解;

5、根据所述重试注解对所述方法生成上下文数据,其中所述上下文数据包括执行时间和所述方法的配置信息;

6、将所述上下文数据存储到重试队列中;

7、对任一所述重试队列中的目标上下文数据,确定到达所述目标上下文数据对应的目标执行时间时,生成与所述目标上下文数据对应的目标业务服务方法类,通过目标业务服务方法类进行至少一次的重试执行所述目标业务逻辑。

8、在一种可能的实施例中,所述根据所述重试注解对所述方法生成上下文数据,具体包括:

9、根据所述重试注解对所述方法进行面向切面编程aop切面拦截,生成上下文数据。

10、在一种可能的实施例中,所述上下文数据还包括降级策略信息;

11、所述方法还包括:

12、若通过目标业务服务方法类进行预设次数的重试执行目标业务逻辑均失败,则根据所述降级策略信息降级调用所述目标业务服务。

13、在一种可能的实施例中,所述根据所述降级策略信息降级调用所述目标业务服务,具体包括:

14、调用所述目标业务服务的过程中,根据所述降级策略信息取消执行至少部分所述目标业务逻辑并返回错误信息。

15、在一种可能的实施例中,所述根据所述降级策略信息降级调用所述目标业务服务,具体包括:

16、调用所述目标业务服务的过程中,根据所述降级策略信息执行降级业务逻辑;

17、其中,所述降级业务逻辑为所述目标业务服务中预先定义的业务逻辑,且与所述目标业务逻辑为不同的业务逻辑。

18、在一种可能的实施例中,所述生成与所述目标上下文数据对应的目标业务服务方法类,通过目标业务服务方法类进行至少一次的重试执行所述目标业务逻辑,具体包括:

19、确定所述目标上下文数据对应的目标方法所对应的目标重试注解;

20、拦截所述目标重试注解对应的所述目标方法;

21、利用反射机制获取所述目标上下文数据中的配置信息,根据代理机制利用所述配置信息生成目标业务服务方法代理类,调用目标业务服务方法代理类进行至少一次的重试执行所述目标业务逻辑。

22、在一种可能的实施例中,所述将所述上下文数据存储到重试队列中,具体包括:

23、将所述上下文数据作为系统事件抛出,存储到重试队列中。

24、在一种可能的实施例中,所述重试队列为redis队列。

25、第二方面,本申请提供一种电子设备,包括:

26、业务执行模块,用于调用并执行目标业务服务对应的目标业务逻辑;

27、重试模块,用于确定所述目标业务服务响应异常时,获取预先对所述目标业务服务对应的方法设置的重试注解;根据所述重试注解对所述方法生成上下文数据,其中所述上下文数据包括执行时间和所述方法的配置信息;将所述上下文数据存储到重试队列中;对任一所述重试队列中的目标上下文数据,确定到达所述目标上下文数据对应的目标执行时间时,生成与所述目标上下文数据对应的目标业务服务方法类,通过目标业务服务方法类进行至少一次的重试执行所述目标业务逻辑。

28、第三方面,本申请提供一种电子设备,包括:

29、存储器,用于存储程序指令;

30、处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中任一项所述的方法包括的步骤。

31、第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任一项所述的方法。

32、第五方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行第一方面中任一项所述的方法。

33、本申请有益效果如下:

34、本申请实施例提供的业务重试方法、设备、计算机可读存储介质及程序产品,从程序逻辑设计层面通过预先在程序代码中设置重试注解以进行逻辑补偿。从而在程序执行过程中,利用重试注解对业务服务对应的方法生成上下文数据以对业务逻辑进行重试,使得业务程序系统能够排除能够自行恢复的业务服务响应异常的不良影响,尽可能保证业务程序系统的功能正确实现。此外,本申请实施例提供的业务重试方法通过使用重试注解来实现重试机制,不需要对业务服务的程序代码进行直接的修改,实现了重试机制与业务服务的逻辑的解耦,能够减少程序的重复代码,降低模块间的耦合度,提高程序的可扩展性,提升程序的可维护性。



技术特征:

1.一种业务重试方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述根据所述重试注解对所述方法生成上下文数据,具体包括:

3.如权利要求1所述的方法,其特征在于,所述上下文数据还包括降级策略信息;

4.如权利要求3所述的方法,其特征在于,所述根据所述降级策略信息降级调用所述目标业务服务,具体包括:

5.如权利要求3所述的方法,其特征在于,所述根据所述降级策略信息降级调用所述目标业务服务,具体包括:

6.如权利要求1所述的方法,其特征在于,所述生成与所述目标上下文数据对应的目标业务服务方法类,通过目标业务服务方法类进行至少一次的重试执行所述目标业务逻辑,具体包括:

7.如权利要求1所述的方法,其特征在于,所述将所述上下文数据存储到重试队列中,具体包括:

8.如权利要求1或7所述的方法,其特征在于,所述重试队列为redis队列。

9.一种电子设备,其特征在于,包括:

10.一种电子设备,其特征在于,包括:

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-8中任一项所述的方法。

12.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如权利要求1-8中任一项所述的方法。


技术总结
本申请涉及数据处理领域,具体涉及一种业务重试方法、设备、计算机可读存储介质及程序产品,用于解决在调用业务服务过程中,可能会因网络波动、应用假死等因素影响出现服务无响应的情况,造成业务功能无法正常实现的问题。该方法包括:调用并执行目标业务服务对应的目标业务逻辑;确定目标业务服务响应异常时,获取对目标业务服务对应的方法设置的重试注解;根据重试注解对方法生成上下文数据(包括执行时间和方法的配置信息),并存储到重试队列中;对任一重试队列中的目标上下文数据,确定到达目标上下文数据对应的目标执行时间时,生成与目标上下文数据对应的目标业务服务方法类,通过目标业务服务方法类进行至少一次的重试执行目标业务逻辑。

技术研发人员:梁飞
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1