CN114237748A - 服务重试配置方法及其装置、设备、介质、产品 - Google Patents

服务重试配置方法及其装置、设备、介质、产品 Download PDF

Info

Publication number
CN114237748A
CN114237748A CN202111554205.0A CN202111554205A CN114237748A CN 114237748 A CN114237748 A CN 114237748A CN 202111554205 A CN202111554205 A CN 202111554205A CN 114237748 A CN114237748 A CN 114237748A
Authority
CN
China
Prior art keywords
retry
target service
calling
configuration information
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111554205.0A
Other languages
English (en)
Inventor
谭本旺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN202111554205.0A priority Critical patent/CN114237748A/zh
Publication of CN114237748A publication Critical patent/CN114237748A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请公开一种服务重试配置方法及其装置、设备、介质、产品,所述方法包括响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据;将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中;响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件。本申请的应用提供一种通用配置的重试配置服务,开发人员可选定预设的重试方法下发至相应的服务中进行配置,且服务中的重试策略与服务的业务相解耦,便于服务的维护及扩展。

Description

服务重试配置方法及其装置、设备、介质、产品
技术领域
本申请涉及微服务领域,尤其涉及一种服务重试配置方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。
背景技术
随着互联网发展,微服务已经逐渐应用至各平台的大型系统中,通过各类型的小型服务的组成一个可服务于平台的大型服务,以便于平台为用户提供各自大型的在线服务;由于各小型服务之间存在各种远程调用,因此各小型服务之间可能因为网络抖动、请求超时等原因导致双方之间的远程调用失败,因此各小型服务通常具有相应的重试机制,以提高小型服务之间调用的成功率,减少因调用失败导致的故障对大型系统的影响,使系统可平稳地运行,为平台提供相应的在线服务。
但传统的重试机制需开发人员为不同的小型服务进行繁杂地编程进行构建,开发成本较高,且重试机制通常与小型服务的业务代码相耦合,导致小型服务中代码的不易于管理,维护也较为困难,且各类型的小型服务的重试机制难以管理,当任意小型服务的重试机制发生故障时,易使其所关联的大型系统发生整体崩溃。
鉴于现有的微服务中的重试机制所存在的问题,本申请人出于解决该问题的考虑做出相应的探索。
发明内容
本申请的目的在于满足用户需求而提供一种服务重试配置方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。
为实现本申请的目的,采用如下技术方案:
适应本申请的目的而提出的一种服务重试配置方法,包括如下步骤:
响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据;
将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中;
响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件。
进一步的实施例中,本方法包括如下平行步骤:
监听所述重试配置平台,响应所述重试配置平台中作用于所述目标服务的重试配置信息的信息更新事件,获取最新更新的重试配置信息;
根据所述重试配置信息,在不停止所述目标服务所提供的服务的情况下,对应更新该目标服务所对应的重试方法池中包含的重试方法或重试时间数据。
进一步的实施例中,所述响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据的步骤中,包括:
响应由服务器推送的重试配置信息获取请求,确定该请求所对应的目标服务;
从配置信息数据库中查询出与所述目标服务相对应的重试方法及其运行所需的重试时间数据,所述配置信息数据库中存储着由所述重试方法及其运行所需的重试时间数据构成的映射关系数据,且各映射关系数据具有相应的服务标识;
将与所述目标服务相对应重试方法及其运行所需的重试时间数据封装为重试配置信息,并将该重试配置信息推送至所述服务器中。
进一步的实施例中,所述将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中的步骤中,包括:
获取所述重试配置信息中包含的多个所述重试方法及其运行所需的重试时间数据;
将该些重试方法存储至所述目标服务所对应的重试方法池中;
将所述重试时间数据对应存储至所述重试方法池的各所述重试方法中。
进一步的实施例中,所述响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件的步骤中,包括:
响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务;
监听重新为所述调用端调用所述目标服务所花费的调用时间,判断该调用时间是否超过预设的暂停重试时间;
当所述调用时间超过所述暂停重试时间时,停止所述调用端与所述目标服务之间调用事件,向所述调用端推送调用失败通知。
进一步的实施例中,所述响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件的步骤中,包括:
响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务;
判断当前时间与接收所述重试请求的时间之间的时间差值是否超过预设的重新调用时间;
当所述时间差值超过所述重新调用时间时,将停止所述调用端与所述目标服务之间当前的调用事件,为该调用端重新调用所述目标服务。
适应本申请的目的而提出的一种服务重试配置装置,其包括:
配置信息获取模块,用于响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据;
重试方法配置模块,用于将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中;
重试方法执行模块,用于响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件。
进一步的实施例中,所述配置信息获取模块包括:
获取请求响应子模块,用于响应由服务器推送的重试配置信息获取请求,确定该请求所对应的目标服务;
配置信息查询子模块,用于从配置信息数据库中查询出与所述目标服务相对应的重试方法及其运行所需的重试时间数据,所述配置信息数据库中存储着由所述重试方法及其运行所需的重试时间数据构成的映射关系数据,且各映射关系数据具有相应的服务标识;
配置信息推送子模块,用于将与所述目标服务相对应重试方法及其运行所需的重试时间数据封装为重试配置信息,并将该重试配置信息推送至所述服务器中。
进一步的实施例中,所述重试方法配置模块包括:
配置信息解析子模块,用于获取所述重试配置信息中包含的多个所述重试方法及其运行所需的重试时间数据;
重试方法存储子模块,用于将该些重试方法存储至所述目标服务所对应的重试方法池中;
重试时间数据存储子模块,用于将所述重试时间数据对应存储至所述重试方法池的各所述重试方法中。
进一步的实施例中,所述重试方法执行模块包括:
重试请求响应子模块,用于响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务;
调用时间监听子模块,用于监听重新为所述调用端调用所述目标服务所花费的调用时间,判断该调用时间是否超过预设的暂停重试时间;
调用暂停子模块,用于当所述调用时间超过所述暂停重试时间时,停止所述调用端与所述目标服务之间调用事件,向所述调用端推送调用失败通知。
较佳的实施例中,所述重试方法执行模块还包括:
重试请求响应子模块,响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务;
超时判断子模块,用于判断当前时间与接收所述重试请求的时间之间的时间差值是否超过预设的重新调用时间;
重新调用子模块,用于当所述时间差值超过所述重新调用时间时,将停止所述调用端与所述目标服务之间当前的调用事件,为该调用端重新调用所述目标服务。
为解决上述技术问题本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述服务重试配置方法的步骤。
为解决上述技术问题本申请实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述服务重试配置方法的步骤。
为解决上述技术问题本申请实施例还提供一种计算机程序产品,包括计算机程序及计算机指令,该计算机程序及计算机指令被处理器执行时,使得所述处理器执行上述所述服务重试配置方法的步骤。
相对于现有技术,本申请的优势如下:
首先,本申请自动化地为启动的服务提供重试配置信息进行重试策略的部署,通过构建重试配置平台,使开发人员可灵活选定各类型预设的重试方法配置各小型服务的重试策略,以通用配置代替传统的编码,节省重复为小型服务开发重试方法所花费的开发成本,同时通过重试配置平台动态调整各小型服务所配置的重试策略,实现热更新小型服务中重试策略,提升了由小型系统组成的大型系统的系统灵活性。
其次,本申请的服务器通过重试方法池集管理服务的重试策略,将服务的重试策略与其业务服务相隔离,防止因对业务服务的代码造成入侵而导致系统发生崩溃,实现重试策略与服务的业务相解耦,便于维护小型服务的重试策略及拓展相应的重试策略,进而提升小型服务的重试机制的完整性,提升重试的整体成功率。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为实施本申请的技术方案相关的一种典型的网络部署架构示意图;
图2为本申请的服务重试配置方法的典型实施例的流程示意图;
图3为本申请关于更新重试方法池的实施方式所形成的流程示意图;
图4为本申请关于重试配置平台生成重试配置信息进行推送的具体实施方式所形成的流程示意图;
图5为本申请关于配置重试配置信息的具体实施方式所形成的流程示意图;
图6为本申请关于服务器运行调用超时处理方法的具体实施方式所形成的流程示意图;
图7为本申请关于服务器运行重试超时处理方法的具体实施方式所形成的流程示意图;
图8为本申请的服务重试配置装置的典型实施例的原理框图;
图9为本申请一个实施例的计算机设备的基本结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;传统膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的传统膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“工作节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
请参阅图1,本申请相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署。本申请所称服务器80部署在云端,作为一个业务服务器,其可以负责进一步连接起相关数据服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备例如图中所示的智能手机81和个人计算机82或者第三方服务器(未图示)提供服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与云端的服务器80建立数据通信链路,以便运行所述服务器所提供的服务相关的终端应用程序。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
所述的应用程序,是指运行于服务器或终端设备上的应用程序,这一应用程序采用编程的方式实现了本申请的相关技术方案,其程序代码可被以计算机可执行指令的形式保存于计算机能识别的非易失性存储介质中,并被中央处理器调入内存中运行,通过该应用程序在计算机的运行而构造出本申请的相关装置。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
请参阅图2,本申请的一种服务重试配置方法,在其典型实施例中,其包括如下步骤:
步骤S11,响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据:
服务器响应作用于所述目标服务的所述启动事件,启动该目标服务,并从所述重试配置平台中获取该目标服务相对应的预设配置的所述重试配置信息。
所述的目标服务一般为服务器中所启动的小型服务,服务器通过启动多个小型服务构建相应的大型服务,实现相应的在线服务供相应的平台或设备所使用。
所述的重试配置信息中包含多个所述重试方法及该些重试方法运行所需的所述重试时间数据,所述重试方法由高级编程语言所构建,用于控制所述目标服务的重试调用事件,例如,当重试方法为重试超时处理方法时,其将判断调用所述目标服务的调用端所推送的重试请求的推送时间与当前时间的超时是否超过预设的重新调用时间,当超过时,则将停止所述调用端与所述目标服务之间当前的调用事件,为该调用端重新调用所述目标服务,相应的,所述重新调用时间为所述超时处理重试方法运行所需的所述重试时间数据。
所述的重试配置平台中包含着各服务所对应的所述重试配置信息,具体的,所述重试配置平台中具有重试配置信息数据库,该数据库中将存储着由各类型的所述重试方法与其所对应的重试时间数据所组成的映射关系数据,且各映射关系数据具有相应的服务标识,具体的,当服务器启动任一服务后,将向所述重试配置平台推送指向该服务的重试配置信息获取请求,以便该重试配置平台响应该请求,从所述重试配置信息数据库中查询获取与该服务的服务标识相对应的所述映射关系数据,并将该映射关系数据中包含的重试方法及重试时间数据封装为所述重试配置信息推送至服务器中。
另外,所述重试配置平台一般部署于启动所述目标服务的服务器以外服务器中,以便该重试配置平台可为多个用于维护目标服务的服务器提供重试配置信息,且便于管理各服务器中维护的各目标服务的重试方法池。
步骤S12,将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中:
服务器从所述重试配置平台中获取当前启动的目标服务所对应的所述重试配置信息后,将该重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于该目标服务的所述重试方法池中,以便后续进行该目标服务的重试事件时,从该重试方法池中调用该些重试方法进行运行。
所述的重试方法池中存储着作用于所述目标服务的所述重试方法及重试时间数据,且各所述重试方法与其运行所需的重试时间数据对应存储,即所述重试方法池作为存储配置于所述目标服务的所有所述重试方法及重试时间数据的存储容器,以便集中管理配置于所述目标服务的各重试方法,便于后续的更新及管理。
具体的,服务器获取所述重试配置信息后,解析获取该重试配置信息中包含的多个所述重试方法及其运行所需的重试时间数据,并将该些重试方法存储至所述目标服务所对应的重试方法池中,且将该些重试方法运行所需的所述重试时间数据对应存储至该重试方法池中。
因服务器中可能同时启动多个小型服务以构建相应的大型服务实现相应的在线服务,为此,服务器中一般具有多个所述重试方法池,该些重试方法池各自具有相应的服务标识,以便服务器通过该些服务标识,识别各所述重试方法池所对应的小型服务。
当服务器将所述重试配置信息中包含的所述重试方法及重试时间数据存储至所述重试方法池后,将监听所述重试配置平台中作用于所述目标服务的该些重试方法及其重试时间数据,当服务器监听到所述重试配置平台中作用于所述目标服务的任一重试方法或重试时间数据发生更新时,将从该重试配置平台中获取发生更新的重试方法或重试时间数据,以对应更新作用于该目标服务的所述重试方法池中的重试方法或重试时间数据。
步骤S13,响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件:
服务器响应作用于所述目标服务的所述调用失败事件,确定该事件所对应的调用端,以根据所述目标服务所调用的重试方法池中包含的各所述重试方法,为该调用端重新尝试开启其与所述目标服务之间的所述调用事件。
作用于所述目标服务的所述的调用失败事件由调用该目标服务的调用端因调用该目标服务失败所触发,所述调用端通过服务器调用所述目标服务失败后,将触发所述调用失败事件并向服务器推送重试请求,以便服务器响应该重试请求,确定该请求所指向的目标服务,进而为所述调用端重试其与该目标服务之间的所述调用事件。
所述的调用端是指调用服务器中启动的目标服务的对象,调用端一般为部署于其他远程服务器的小型服务或客户端,调用端通过向服务器推指向其所需调用的服务的调用请求,以便服务器响应该请求,为该调用端调用请求所指向目标服务。
服务器响应作用于所述目标服务的调用失败事件后,将根据该目标服务所对应的所述重试方法池中多个所述重试方法及其运行所需的重试时间数据,为所述调用失败事件所对应的调用端重新调用所述目标服务。
所述的重试方法池中一般包含调用超时处理方法及重试超时处理方法,具体的,服务器为所述调度端及目标服务执行所述调用超时处理方法的具体实施方式为:服务器响应所述调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务,且监听其重新为所述调用端调用所述目标服务所花费的调用时间,判断该调用时间是否超过预设的暂停重试时间,当所述调用时间超过该暂停重试时间时,服务器将停止所述调用端与所述目标服务之间调用事件,并向所述调用端推送调用失败通知,其中,所述暂停重试时间为该调用超时处理方法运行所需的所述重试时间数据,该暂停重试时间一般设置范围为1-5秒或时间单位更小的范围内;另外,关于服务器为所述调度端及目标服务执行所述重试超时处理方法的具体实施方式为:服务器响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务,在调用过程中,服务器判断当前时间与接收所述重试请求的时间之间的时间差值是否超过预设的重新调用时间,当所述超过所述时间差值超过所述重新调用时间时,将停止所述调用端与所述目标服务之间当前的调用事件,为该调用端重新调用所述目标服务,其中,所述重新调用时间为该重试超时处理方法运行所需的所述重试时间数据,该重新调用时间一般小于所述暂停重试时间,其设置范围为1-3秒或时间单位更小的范围内。
通过本方法的典型实施方式可知,服务器在启动任意服务后将从重试配置平台中获取相应的重试配置信息以将其配置至该服务所对应的重试方法池中,便于从重试方法池中调用重试方法重试该服务;本申请通过所述重试配置平台管理各小型服务的重试方法及对应的重试时间数据,开发人员可通过重试配置平台部署或更新小型服务的重试方法及对应的重试数据,由配置代替传统的编码,灵活配置各小型服务的重试策略,且便于维护各小型服务的重试策略;另外,且通过为各小型服务配置重试方法池,以管理各小型服务的重试策略,且将小型服务的服务业务逻辑与重试策略相互解耦,便于维护小型服务的重试策略及拓展相应的重试策略,进而提升小型服务的重试机制的完整性,提升重试的成功率。
以上的典型实施例及其变化实施例充分揭示了本申请的服务重试配置方法的实施方案,但是,仍可通过对一些技术手段的变换和扩增而演绎出该方法的多种变化实施例,如下概要说明其他实施例:
一种实施例中,请参考图3,本方法包括如下平行步骤:
步骤S14,监听所述重试配置平台,响应所述重试配置平台中作用于所述目标服务的重试配置信息的信息更新事件,获取最新更新的重试配置信息:
服务器在将所述重试配置信息中包含的所述重试方法及重试时间数据存储至目标服务的所述重试方法池后,将监听所述重试配置平台中作用于所述目标服务所对应的重试配置信息,当服务器监听到该重试配置信息发生更新时,将响应作用于该重试配置信息的所述信息更新事件,获取最新更新的重试配置信息。
一种实施例中,所述重试配置平台在完成所述目标服务的重试配置信息的更新后,将向服务器下发最新更新的所述重试配置信息,以便服务器接收该重试配置信息,对应更新所述目标服务的所述重试方法池。
步骤S15,根据所述重试配置信息,在不停止所述目标服务所提供的服务的情况下,对应更新该目标服务所对应的重试方法池中包含的重试方法或重试时间数据:
服务器获取最新更新的重试配置信息后,在不停止所述目标服务所提供的服务的情况下,对该目标服务的所述重试方法池进行热更新,将所述重试配置信息中发生更新的重试方法或重试时间数据对应更新至该目标服务的所述重试方法池中,或将所述重试配置信息中最新添加的重试方法及其运行所需的重试时间数据添加至该目标服务的所述重试方法池中。
本实施例中,服务器实时监听所述重试配置平台,获取重试配置平台最新更新的重试配置信息对应更新服务器启动的服务所属的重试方法池,进而动态调整各服务所对应的重试方法,提高系统的灵活性。
一种实施例中,请参考图4,所述响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据的步骤中,包括如下由重试配置平台执行的步骤:
步骤S111,响应由服务器推送的重试配置信息获取请求,确定该请求所对应的目标服务:
重试配置平台响应由服务器启动任意服务后而推送的所述重试配置信息获取请求,确定该获取请求所对应的目标服务。
步骤S112,从配置信息数据库中查询出与所述目标服务相对应的重试方法及其运行所需的重试时间数据,所述配置信息数据库中存储着由所述重试方法及其运行所需的重试时间数据构成的映射关系数据,且各映射关系数据具有相应的服务标识:
重试配置平台确定所述获取请求所对应的目标服务后,在所述配置信息数据库中重新出与该目标服务相对应的一个或多个重试方法及该些重试方法运行所需的重试时间数据。
所述的配置信息数据库中存储着多个由重试方法及其运行所需的重试时间数据构成的映射关系数据,该些映射关系数据具有各自相对应的一个或多个所述服务标识,以便重试配置平台冲该配置信息数据库中查询出需要进行重试方法配置的服务的所需的重试方法及其运行所需的重试时间数据进行推送。
步骤S113,将与所述目标服务相对应重试方法及其运行所需的重试时间数据封装为重试配置信息,并将该重试配置信息推送至所述服务器中:
重试配置平台从所述配置信息数据库中查询出与所述目标服务对应的一个或多个重试方法及该些重试方法运行所需的重试时间数据后,将该些重试方法及重试时间数据封装为所述重试配置信息,并将该重试配置信息推送至所述服务器中,以便该服务器配置所述目标服务的重试方法池。
本实施例中,重试配置平台集中管理着各类型的重试方法,且负责为运行服务的服务器推送各服务构建重试策略所需的重试配置信息。
一种实施例中,请参考图5,所述将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中的步骤中,包括:
步骤S121,获取所述重试配置信息中包含的多个所述重试方法及其运行所需的重试时间数据:
服务器从所述重试配置平台中获取目标服务的所述重试配置信息后,将解析出该重试配置信息中包含的多个所述重试方法及该些重试方法运行所需的所述重试时间数据。
步骤S122,将该些重试方法存储至所述目标服务所对应的重试方法池中:
服务器将从所述重试配置信息中解析出的多个重试方法存储至所述目标服务所对应的重试方法池中。
步骤S123,将所述重试时间数据对应存储至所述重试方法池的各所述重试方法中:
服务器将从所述重试配置信息中解析出的各所述重试时间数据对应存储至所述重试方法池中存储的各重试方法中,以便该些重试方法根据其所对应的重试时间数据进行运行。
本实施例中,通过将从重试配置平台中获取的重试方法及重试时间数据存储至启动的服务的重试方法池中,以集中管理服务的重试策略,且将重试策略与服务的业务服务相解耦,便于对服务进行维护及拓展。
一种实施例中,请参考图6,所述响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件的步骤中,包括:
步骤S131,响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务:
服务器响应所述调用端推送的所述重试请求,确定该重试请求所对应的目标服务,进而为该调度端重新调用所述目标服务所提供的相关服务。
当调度端调用服务器中启动的服务失败时,一般生成指向调用失败的服务的所述重试请求推送至服务器中,以驱动服务器为其重新调用该重试请求所调用的服务。
步骤S132,监听重新为所述调用端调用所述目标服务所花费的调用时间,判断该调用时间是否超过预设的暂停重试时间:
当所述目标服务的重试方法池中包含的调用超时处理方法时,服务器将监听重新为所述调用端调用该目标服务所花费的调用时间,在未成功调用所述目标服务前,并时刻判断该调用时间是否超过预设的所述暂停重试时间。
步骤S133,当所述调用时间超过所述暂停重试时间时,停止所述调用端与所述目标服务之间调用事件,向所述调用端推送调用失败通知:
当服务器监听到所述调用时间超过所述暂停重试时间后所述调度端仍未成功调用所述目标服务时,服务器将停止所述调用端与所述目标服务之间调用事件,并向所述调用端推送所述调用失败通知。
本实施例中,调用超时处理方法通过实时监听调度端重试调用服务的调用,当时间超过预设的规定时间时,将停止该调用端与服务之间的调用路线,且不再重试该调用端与所述服务之间的调用,进而节省服务器的算力资源,保证其他服务之间的调用流畅性。
另一种实施例中,请参考图7,所述响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件的步骤中,包括:
步骤S131’,响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务:
服务器响应所述调用端推送的所述重试请求,确定该重试请求所对应的目标服务,进而为该调度端重新调用所述目标服务所提供的相关服务。
当调度端调用服务器中启动的服务失败时,一般生成指向调用失败的服务的所述重试请求推送至服务器中,以驱动服务器为其重新调用该重试请求所调用的服务。
步骤S132’,判断当前时间与接收所述重试请求的时间之间的时间差值是否超过预设的重新调用时间:
当所述目标服务的重试方法池中包含的重试超时处理方法时,服务器在所述调度端成功调用所述目标服务前,将实时计算当前时间与接收所述重试请求的时间之间的时间差值,并判断该时间差值是否超过预设的重新调用时间。
步骤S133’,当所述时间差值超过所述重新调用时间时,将停止所述调用端与所述目标服务之间当前的调用事件,为该调用端重新调用所述目标服务:
当服务器计算的所述时间差值超过所述重新调用时间时,服务器将停止所述调用端与所述目标服务之间当前的调用事件,为该调用端重新调用所述目标服务。
本实施例中,重试超时处理方法根据调度端的重试请求推送的时间间隔,判断是否要为该调度端重新调用服务,以刷新调度端的重试事件,提升调度端重新调用的成功率。
进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本申请的一种服务重试配置装置,按照这一思路,请参阅图8,其中的一个典型实施例中,该装置包括:配置信息获取模块11,用于响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据;重试方法配置模块12,用于将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中;重试方法执行模块13,用于响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件。
一种实施例中,所述配置信息获取模块11包括:获取请求响应子模块,用于响应由服务器推送的重试配置信息获取请求,确定该请求所对应的目标服务;配置信息查询子模块,用于从配置信息数据库中查询出与所述目标服务相对应的重试方法及其运行所需的重试时间数据,所述配置信息数据库中存储着由所述重试方法及其运行所需的重试时间数据构成的映射关系数据,且各映射关系数据具有相应的服务标识;配置信息推送子模块,用于将与所述目标服务相对应重试方法及其运行所需的重试时间数据封装为重试配置信息,并将该重试配置信息推送至所述服务器中。
一种实施例中,所述重试方法配置模块12包括:配置信息解析子模块,用于获取所述重试配置信息中包含的多个所述重试方法及其运行所需的重试时间数据;重试方法存储子模块,用于将该些重试方法存储至所述目标服务所对应的重试方法池中;重试时间数据存储子模块,用于将所述重试时间数据对应存储至所述重试方法池的各所述重试方法中。
一种实施例中,所述重试方法执行模块13包括:重试请求响应子模块,用于响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务;调用时间监听子模块,用于监听重新为所述调用端调用所述目标服务所花费的调用时间,判断该调用时间是否超过预设的暂停重试时间;调用暂停子模块,用于当所述调用时间超过所述暂停重试时间时,停止所述调用端与所述目标服务之间调用事件,向所述调用端推送调用失败通知。
另一种实施例中,所述重试方法执行模块13还包括:重试请求响应子模块,响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务;超时判断子模块,用于判断当前时间与接收所述重试请求的时间之间的时间差值是否超过预设的重新调用时间;重新调用子模块,用于当所述时间差值超过所述重新调用时间时,将停止所述调用端与所述目标服务之间当前的调用事件,为该调用端重新调用所述目标服务。
为解决上述技术问题,本申请实施例还提供一种计算机设备,用于运行根据所述服务重试配置方法所实现的计算机程序。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种服务重试配置方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种服务重试配置方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行本申请的服务重试配置装置中的各个模块/子模块的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有服务重试配置装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种非易失性存储介质,所述的服务重试配置方法被编写成计算机程序,以计算机可读指令的形式存储于该存储介质中,计算机可读指令被一个或多个处理器执行时,意味着该程序在计算机中的运行,由此使得一个或多个处理器执行上述任一实施例服务重试配置方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请的应用提供一种通用配置的重试配置服务,开发人员可选定预设的重试方法下发至相应的服务中执行,且重试策略与服务的业务相解耦,便于服务的维护及扩展。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种服务重试配置方法,其特征在于,包括如下步骤:
响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据;
将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中;
响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件。
2.根据权利要求1所述的方法,其特征在于,包括如下平行步骤:
监听所述重试配置平台,响应所述重试配置平台中作用于所述目标服务的重试配置信息的信息更新事件,获取最新更新的重试配置信息;
根据所述重试配置信息,在不停止所述目标服务所提供的服务的情况下,对应更新该目标服务所对应的重试方法池中包含的重试方法或重试时间数据。
3.根据权利要求1所述的方法,其特征在于,所述响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据的步骤中,包括:
响应由服务器推送的重试配置信息获取请求,确定该请求所对应的目标服务;
从配置信息数据库中查询出与所述目标服务相对应的重试方法及其运行所需的重试时间数据,所述配置信息数据库中存储着由所述重试方法及其运行所需的重试时间数据构成的映射关系数据,且各映射关系数据具有相应的服务标识;
将与所述目标服务相对应重试方法及其运行所需的重试时间数据封装为重试配置信息,并将该重试配置信息推送至所述服务器中。
4.根据权利要求1所述的方法,其特征在于,所述将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中的步骤中,包括:
获取所述重试配置信息中包含的多个所述重试方法及其运行所需的重试时间数据;
将该些重试方法存储至所述目标服务所对应的重试方法池中;
将所述重试时间数据对应存储至所述重试方法池的各所述重试方法中。
5.根据权利要求1所述的方法,其特征在于,所述响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件的步骤中,包括:
响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务;
监听重新为所述调用端调用所述目标服务所花费的调用时间,判断该调用时间是否超过预设的暂停重试时间;
当所述调用时间超过所述暂停重试时间时,停止所述调用端与所述目标服务之间调用事件,向所述调用端推送调用失败通知。
6.根据权利要求1所述的方法,其特征在于,所述响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件的步骤中,包括:
响应调用端调用失败所述目标服务所推送的重试请求,重新为该调用端调用所述目标服务;
判断当前时间与接收所述重试请求的时间之间的时间差值是否超过预设的重新调用时间;
当所述时间差值超过所述重新调用时间时,将停止所述调用端与所述目标服务之间当前的调用事件,为该调用端重新调用所述目标服务。
7.一种服务重试配置装置,其特征在于,包括:
配置信息获取模块,用于响应目标服务的启动事件,从重试配置平台中获取预先配置的重试配置信息,所述重试配置信息中包含多个重试方法及其运行所需的重试时间数据;
重试方法配置模块,用于将所述重试配置信息中包含的多个所述重试方法及其对应的重试时间数据对应存储至作用于所述目标服务的重试方法池中;
重试方法执行模块,用于响应所述目标服务的调用失败事件,根据所述重试方法池中包含的重试方法,重新尝试开启该事件所对应的调用端与所述目标服务之间的调用事件。
8.一种电子设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至6中任一项所述的方法的步骤。
9.一种非易失性存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至6中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任意一项所述方法的步骤。
CN202111554205.0A 2021-12-17 2021-12-17 服务重试配置方法及其装置、设备、介质、产品 Pending CN114237748A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111554205.0A CN114237748A (zh) 2021-12-17 2021-12-17 服务重试配置方法及其装置、设备、介质、产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111554205.0A CN114237748A (zh) 2021-12-17 2021-12-17 服务重试配置方法及其装置、设备、介质、产品

Publications (1)

Publication Number Publication Date
CN114237748A true CN114237748A (zh) 2022-03-25

Family

ID=80758333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111554205.0A Pending CN114237748A (zh) 2021-12-17 2021-12-17 服务重试配置方法及其装置、设备、介质、产品

Country Status (1)

Country Link
CN (1) CN114237748A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100323725A1 (en) * 2009-06-18 2010-12-23 Yigang Cai Individualized retry configurations for messages having failed delivery
CN105095022A (zh) * 2015-07-31 2015-11-25 北京金山安全软件有限公司 一种数据备份方法及装置
CN111078442A (zh) * 2018-10-22 2020-04-28 千寻位置网络有限公司 容错重试方法及装置、终端
CN113360815A (zh) * 2020-03-04 2021-09-07 北京沃东天骏信息技术有限公司 一种请求重试方法和装置
CN113434337A (zh) * 2021-06-24 2021-09-24 华云数据控股集团有限公司 重试策略的控制方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100323725A1 (en) * 2009-06-18 2010-12-23 Yigang Cai Individualized retry configurations for messages having failed delivery
CN105095022A (zh) * 2015-07-31 2015-11-25 北京金山安全软件有限公司 一种数据备份方法及装置
CN111078442A (zh) * 2018-10-22 2020-04-28 千寻位置网络有限公司 容错重试方法及装置、终端
CN113360815A (zh) * 2020-03-04 2021-09-07 北京沃东天骏信息技术有限公司 一种请求重试方法和装置
CN113434337A (zh) * 2021-06-24 2021-09-24 华云数据控股集团有限公司 重试策略的控制方法、装置及电子设备

Similar Documents

Publication Publication Date Title
AU2006236838B2 (en) Apparatus and method for managing a network of intelligent devices
US7469405B2 (en) System and method for scheduling execution of cross-platform computer processes
CN102782650A (zh) 用于管理分布式环境中系统管理代理的配置的方法与系统
CN113419750B (zh) 一种模型推理服务调用系统和方法
US20030172046A1 (en) Method and system for managing systems as databases
CN105468500A (zh) 定时任务监控方法和装置
CN112631680B (zh) 微服务容器调度系统、方法、装置和计算机设备
CN112269647B (zh) 节点调度、切换与协调方法及其相应的装置、设备、介质
CN111736809A (zh) 分布式机器人集群网络管理框架及其实现方法
CN112860742A (zh) 集中式规则引擎服务调用、控制方法及装置、设备、介质
CN113419876A (zh) 远程接口代理调用方法、装置以及计算机设备、存储介质
CN115080101A (zh) 应用管理方法、应用订阅方法及相关设备
CN115499447A (zh) 一种集群主节点确认方法、装置、电子设备及存储介质
CN113691511B (zh) 服务请求处理方法及其装置、设备与介质
CN114610509A (zh) 调用参数处理方法、系统、设备、存储介质及产品
CN112565340B (zh) 分布式应用的服务调度方法、装置、计算机系统及介质
CN110730197A (zh) 一种服务发现方法和系统
CN114237748A (zh) 服务重试配置方法及其装置、设备、介质、产品
CN114443098A (zh) 模型部署更新处理方法及其装置、设备、介质、产品
CN116366345A (zh) 图片云存储处理方法及其装置、设备、介质
US20030177214A1 (en) Dynamic SNMP network device
CN113672648B (zh) 规则引擎数据调用控制、执行方法及其装置、设备与介质
CN112966188B (zh) 收藏商品状态更新方法及其装置、设备与介质
CN115695377A (zh) 地址更新控制方法及其装置、设备、介质、产品
CN113590341B (zh) 服务组件调用方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination