重试执行方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:39313475 阅读:8 留言:0更新日期:2023-11-12 15:58
本申请涉及计算机技术领域,提供了一种重试执行方法、装置、电子设备及计算机可读存储介质。该方法包括:监听各微服务的执行情况,执行情况包括异常情况及正常情况;当微服务出现异常情况,获取异常情况的数据信息;在数据库中基于数据信息进行查询,以确定数据库中包括数据信息对应的重试方式对象;基于重试方式对象调用保存在数据库中对应的重试类,执行重试类,以通过重试注解的方式对异常情况进行重试;重试注解的方式为将重试方式对象作为重试类调用幂等函数对象的接口,基于接口调用对应的幂等函数对象,并确定幂等函数对象的返回值。本申请提供的重试执行方法,将重试类、重试方式对象及返回值保存在数据库中,提升了重试方法的灵活性。方法的灵活性。方法的灵活性。

【技术实现步骤摘要】
重试执行方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及计算机
,尤其涉及一种重试执行方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]现有技术中,应用程序的项目被拆分成多个更小粒度的微服务,在多个微服务之间相互调用的过程中,不可避免的会遇到异常情况,例如网络连接超时或网络请求中断等。在遇到异常情况时,打印异常情况对应的日志并发送告警信息,使得运维人员能够得知出现异常情况并将异常情况通知开发人员,开发人员根据日志确定处理异常的方法以解决异常情况。
[0003]然而,通过上述处理方式处理异常情况时,容易给对应的运维人员及开发人员带来极大的工作量,且针对异常情况的处理速度较慢,无法及时应对突发情况。

技术实现思路

[0004]有鉴于此,本申请实施例提供了一种重试执行方法、装置、电子设备及计算机可读存储介质,以解决现有技术中无法及时应对突发情况的问题。
[0005]本申请实施例的第一方面,提供了一种重试执行方法,包括:
[0006]监听各微服务的执行情况,执行情况包括异常情况及正常情况;
[0007]当微服务出现异常情况,获取异常情况的数据信息;
[0008]在数据库中基于数据信息进行查询,以确定数据库中包括数据信息对应的重试方式对象,重试方式对象包括重试对象名称、重试类名称、重试类参数、重试类参数类型;
[0009]基于重试方式对象调用保存在数据库中对应的重试类,执行重试类,以通过重试注解的方式对异常情况进行重试;/>[0010]重试注解的方式为将重试方式对象作为重试类调用幂等函数对象的接口,基于接口调用对应的幂等函数对象,并确定幂等函数对象的返回值。
[0011]本申请实施例的第二方面,提供了一种重试执行装置,包括:
[0012]监听模块,被配置为监听各微服务的执行情况,执行情况包括异常情况及正常情况;
[0013]获取模块,被配置为当微服务出现异常情况,获取异常情况的数据信息;
[0014]查询模块,被配置为在数据库中基于数据信息进行查询,以确定数据库中包括数据信息对应的重试方式对象,重试方式对象包括重试对象名称、重试类名称、重试类参数、重试类参数类型;
[0015]执行模块,被配置为基于重试方式对象调用保存在数据库中对应的重试类,执行重试类,以通过重试注解的方式对异常情况进行重试;
[0016]重试注解的方式为将重试方式对象作为重试类调用幂等函数对象的接口,基于接口调用对应的幂等函数对象,并确定幂等函数对象的返回值。
[0017]本申请实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
[0018]本申请实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
[0019]本申请实施例与现有技术相比存在的有益效果是:通过本申请提供的实施例,监听到微服务在执行过程中发生异常情况,获取异常情况对应的数据信息,根据数据信息确定数据库中是否存在对应的重试方式对象,若存在,调用该重试方式对象以对异常情况进行重试。其中,根据重试方式对象调用对应的重试类,在遇到幂等函数对象时调用幂等函数对象的返回值,能够根据在监听到异常情况发生时,根据异常情况对应的数据信息调用数据库中存储的重试方式对象及对应的重试类,以对异常情况进行重试处理,能够快速、灵活且自动化的处理异常情况,减轻运维人员的压力。同时,根据本申请提供的实施例,通过重试注解的方式执行重试类,能够根据异常情况的数据信息定位至出现异常情况的位置,针对异常情况执行重试方法,而非对整个微服务执行重试方法,减少执行重试的数据及步骤,提升执行重试方法的速度。同时,能够从数据库中调取重试方式对象的重试类,通过重试注解的方式根据重试类调取数据库中对应的幂等函数对象的返回值,由于重试类、幂等函数对象及返回值等数据保存在数据库中,从而能够多次调取以多次执行重试方法,使得重试方法不受重启、执行失败等因素的影响,提升了重试方法的持久性。
附图说明
[0020]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0021]图1是本申请实施例的一种应用场景的场景示意图;
[0022]图2是本申请实施例提供的一种重试执行方法的流程示意图;
[0023]图3是本申请实施例提供的一种执行重试类的流程示意图;
[0024]图4是本申请实施例提供的一种重试执行装置的示意图;
[0025]图5是本申请实施例提供的电子设备的示意图。
具体实施方式
[0026]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0027]下面将结合附图详细说明根据本申请实施例的一种重试执行方法和装置。
[0028]图1是本申请实施例的一种应用场景的场景示意图。该应用场景可以包括第一终端设备101、第二终端设备102和第三终端设备103、服务器104以及网络105。
[0029]第一终端设备101、第二终端设备102和第三终端设备103可以是硬件,也可以是软
件。当第一终端设备101、第二终端设备102和第三终端设备103为硬件时,其可以是具有显示屏且支持与服务器104通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当第一终端设备101、第二终端设备102和第三终端设备103为软件时,其可以安装在如上所述的电子设备中。第一终端设备101、第二终端设备102和第三终端设备103可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本申请实施例对此不作限制。进一步地,第一终端设备101、第二终端设备102和第三终端设备103上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。
[0030]服务器104可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器104可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本申请实施例对此不作限制。
[0031]需要说明的是,服务器104可以是硬件,也可以是软件。当服务器104为硬件时,其可以是为本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种重试执行方法,其特征在于,包括:监听各微服务的执行情况,所述执行情况包括异常情况及正常情况;当所述微服务出现所述异常情况,获取所述异常情况的数据信息;在数据库中基于所述数据信息进行查询,以确定所述数据库中包括所述数据信息对应的重试方式对象,所述重试方式对象包括重试对象名称、重试类名称、重试类参数、重试类参数类型;基于所述重试方式对象调用保存在所述数据库中对应的重试类,执行所述重试类,以通过重试注解的方式对所述异常情况进行重试;所述重试注解的方式为将所述重试方式对象作为所述重试类调用幂等函数对象的接口,基于所述接口调用对应的所述幂等函数对象,并确定所述幂等函数对象的返回值。2.根据权利要求1所述的方法,其特征在于,所述重试类中存在所述幂等函数对象,基于所述重试方式对象调用保存在所述数据库中对应的重试类,执行所述重试类,包括:判断所述重试类中是否存在所述幂等函数对象,所述幂等函数对象包括对应的所述幂等函数及所述幂等函数的返回值;当所述重试类中存在所述幂等函数对象,判断所述幂等函数的函数类别,所述函数类别包括重试类幂等函数及非重试类幂等函数,所述重试类幂等函数表征非初次调用的所述幂等函数,所述非重试类幂等函数表征初次调用的所述幂等函数;若所述幂等函数的函数类别为所述重试类幂等函数,基于所述幂等函数在所述数据库中获取对应所述幂等函数的所述幂等函数对象的返回值作为当前所述幂等函数对象对应的返回值;当所述返回值为空,执行所述幂等函数以确定当前所述幂等函数对象对应的返回值。3.根据权利要求2所述的方法,其特征在于,所述幂等函数对象还包括幂等函数名称及幂等函数执行顺序,所述执行顺序表征所述幂等函数的调用顺序及位置,当所述返回值为空,执行所述幂等函数以确定当前所述幂等函数对象对应的返回值,包括:执行所述幂等函数,确定所述幂等函数的返回值;在所述数据库中创建所述幂等函数对象,并将所述幂等函数对象存入幂等函数列表对象。4.根据权利要求2所述的方法,其特征在于,还包括:若所述幂等函数为非重试类函数,执行所述幂等函数,确定所述幂等函数对应的返回值;当所述幂等...

【专利技术属性】
技术研发人员:黄鑫
申请(专利权)人:重庆赛力斯新能源汽车设计院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1