CN114138528A - 远程调用容错处理方法、终端设备及存储介质 - Google Patents

远程调用容错处理方法、终端设备及存储介质 Download PDF

Info

Publication number
CN114138528A
CN114138528A CN202111390010.7A CN202111390010A CN114138528A CN 114138528 A CN114138528 A CN 114138528A CN 202111390010 A CN202111390010 A CN 202111390010A CN 114138528 A CN114138528 A CN 114138528A
Authority
CN
China
Prior art keywords
server
request
client
time window
service logic
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
CN202111390010.7A
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.)
Shanghai Shanshu Network Technology Co ltd
Shanshu Science And Technology Suzhou Co ltd
Shanshu Science And Technology Beijing Co ltd
Shenzhen Shanzhi Technology Co Ltd
Original Assignee
Shanghai Shanshu Network Technology Co ltd
Shanshu Science And Technology Suzhou Co ltd
Shanshu Science And Technology Beijing Co ltd
Shenzhen Shanzhi 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 Shanghai Shanshu Network Technology Co ltd, Shanshu Science And Technology Suzhou Co ltd, Shanshu Science And Technology Beijing Co ltd, Shenzhen Shanzhi Technology Co Ltd filed Critical Shanghai Shanshu Network Technology Co ltd
Priority to CN202111390010.7A priority Critical patent/CN114138528A/zh
Publication of CN114138528A publication Critical patent/CN114138528A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种远程调用容错处理方法、终端设备及存储介质,其中所述方法包括:在检测到所述客户端向服务器发送业务请求时,开启第一时间窗口;在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。采用本发明,能解决现有技术中远程调用无法支持异步调用的容错处理的技术问题。

Description

远程调用容错处理方法、终端设备及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种远程调用容错处理方法、终端设备及存储介质。
背景技术
超文本传输协议(Hypertext Transmission Protocol,HTTP)远程调用是一种比较常规的通信技术。市面上也存在一些其他的现存通信技术,例如传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)技术等。但这些技术或多或少存在一定的局限性,例如其关注点在于如何发送请求、接收响应等,导致其应用受限。
在实践中发现,远程调用技术中仅能支持一些简单、特定的异常处理,无法支持对异步调用进行容错处理。
发明内容
本申请实施例通过提供一种远程调用容错处理方法,解决了现有技术中远程调用无法支持异步调用的容错处理的技术问题。
第一方面,本申请通过本申请的一实施例提供一种远程调用容错处理方法,应用于客户端侧,所述方法包括:
在检测到所述客户端向服务器发送业务请求时,开启第一时间窗口;
在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;
在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。
可选地,所述开启第二时间窗口之前,所述方法还包括:
向所述服务器发送心跳检测包,以检测所述服务器是否运行正常;
若是,则继续执行所述开启第二时间窗口的步骤;
若否,则采用预配的间隔周期,重复执行所述向所述服务器发送心跳检测包,以检测所述服务器是否运行正常的步骤,直至重复次数达到预配的检测次数结束。
可选地,所述对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息包括:
在所述客户端处于运行状态时,向所述服务器发送状态查询消息;
接收所述服务器基于所述状态查询消息返回的第一响应消息,并基于所述第一响应消息获得所述异步业务逻辑处理的状态信息;
其中,所述第一响应消息中携带有所述异步业务逻辑处理的状态信息。
可选地,所述方法还包括:
在检测到所述第一时间窗口对应的第一时长内接收到所述服务器返回的回调请求时,响应所述回调请求,根据获取的回调信息进行对应的业务逻辑处理。
可选地,所述根据获取的回调信息进行对应的业务逻辑处理之前,所述方法还包括:
判断是否关闭所述第一时间窗口;
若是,则继续执行所述根据获取的回调信息进行对应的业务逻辑处理的步骤;
若否,则关闭所述第一时间窗口,继续执行所述根据获取的回调信息进行对应的业务逻辑处理的步骤。
第二方面,本申请通过本申请的一实施例提供另一种远程调用容错处理方法,应用于服务器侧,所述方法包括:
接收客户端发送的业务请求;
在检测到所述业务请求被成功请求后,响应所述业务请求,执行所述业务请求所指示的异步业务逻辑处理;
在执行完所述业务请求所指示的异步业务逻辑处理之后,向所述客户端返回对应的回调请求,所述回调请求用于指示所述客户端根据预配的回调信息进行对应的业务逻辑处理。
可选地,所述向所述客户端返回对应的回调请求之后,所述方法还包括:
判断所述服务器是否成功回调所述客户端;
若否,则记录回调所述客户端失败的状态信息。
可选地,所述方法还包括:
在检测到所述业务请求未被成功请求时,向所述客户端返回第二响应消息,所述第二响应消息中携带有用于指示所述业务请求失败的状态信息。
第三方面,本申请通过本申请的一实施例提供一种远程调用容错处理装置,所述装置包括:开启模块和处理模块,其中:
所述开启模块,用于在检测到所述客户端向服务器发送业务请求时,开启第一时间窗口;
所述开启模块,还用于在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;
所述处理模块,用于在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。
关于本申请实施例中未介绍或未描述的内容可对应参考前述第一方面所描述的方法实施例中的相关介绍,这里不再赘述。
第四方面,本申请通过本申请的一实施例提供另一种远程调用容错处理装置,所述装置包括:接收模块、处理模块和发送模块,其中:
所述接收模块,用于接收客户端发送的业务请求;
所述处理模块,用于在检测到所述业务请求被成功请求后,响应所述业务请求,执行所述业务请求所指示的异步业务逻辑处理;
所述发送模块,用于在执行完所述业务请求所指示的异步业务逻辑处理之后,向所述客户端返回对应的回调请求,所述回调请求用于指示所述客户端根据预配的回调信息进行对应的业务逻辑处理。
关于本申请实施例中未介绍或未描述的内容可对应参考前述第二方面所描述的方法实施例中的相关介绍,这里不再赘述。
第五方面,本申请通过本申请的一实施例提供一种终端设备,所述终端设备包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如上第一方面或第二方面所描述的所述远程调用容错处理方法。
另一方面,本申请通过本申请的一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序运行在终端设备时执行如上第一方面或第二方面所描述的所述远程调用容错处理方法。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请在检测到客户端向服务器发送业务请求时,开启第一时间窗口;然后在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;最后在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。上述方案中,本申请基于时间窗口来处理远程异步调用中的容错处理,以获得异步业务逻辑处理的状态信息,既实现了远程异步调用中的容错处理,又提升了容错处理的便捷性和高效性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种远程调用容错处理方法的流程示意图。
图2是本申请实施例提供的另一种远程调用容错处理方法的流程示意图。
图3是本申请实施例提供的一种远程调用容错处理装置的结构示意图。
图4是本申请实施例提供的另一种远程调用容错处理装置的结构示意图。
图5是本申请实施例提供的一种客户端的结构示意图。
图6是本申请实施例提供的另一种服务器的结构示意图。
具体实施方式
本申请实施例通过提供一种远程调用容错处理方法,解决了现有技术中远程调用无法支持异步调用的容错处理的技术问题。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:在检测到所述客户端向服务器发送业务请求时,开启第一时间窗口;在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
请参见图1,是本申请实施例提供的一种远程调用容错处理方法的流程示意图。如图1所示的方法应用于包括客户端和服务器在内的系统中,所述方法包括如下实施步骤:
S101、客户端向服务器发送业务请求,并开启第一时间窗口。相应地,所述服务器接收所述业务请求。所述业务请求用于请求进行异步的业务逻辑处理。
本申请所述业务请求为异步业务请求,用于请求服务器进行相应业务的异步逻辑处理,例如异步读取数据等。所述第一时间窗口为系统自定义设置的时间窗口,其对应的窗口时长为第一时长。
S102、所述服务器检测所述业务请求是否被成功请求。
所述服务器接收所述业务请求后,可检测是否接收到预设的第一验证码(例如200等),所述第一验证码用于指示所述业务请求的请求成功。当所述服务器接收到第一验证码时,可确定所述业务请求被成功请求,继续执行步骤S103;否则,确定所述业务请求未被成功请求,可结束流程或向所述客户端返回响应消息,这里的响应消息可携带有用于指示所述业务请求被请求失败的状态信息。
S103、所述服务器响应所述业务请求,执行所述业务请求所指示的异步业务逻辑处理。
S104、执行完所述异步业务逻辑处理后,所述服务器向所述客户端返回回调请求。
本申请在检测到所述业务请求被成功请求后,所述服务器可响应所述业务请求,执行所述业务请求所指示的异步业务逻辑处理,且在处理完之后,可调用所述客户端,向所述客户端返回对应的回调请求。
S105、所述客户端检测在所述第一时间窗口对应的第一时长内是否接收到所述回调请求。
本申请所述客户端可在所述第一时间窗口对应的第一时长内检测自身是否接收到所述回调请求。如果接收到,则可响应所述回调请求;如果没有接收到,则可继续执行步骤S106。
S106、所述客户端开启第二时间窗口。
本申请所述第二时间窗口为系统自定义设置的时间窗口,其对应的窗口时长可为第二时长。在实际应用中,所述第一时间窗口与所述第二时间窗口各自对应的窗口时长,具体为第一时长和第二时长,它们可以相同,也可不相同,本申请不做限定。
S107、在到达所述第二时间窗口对应的第二时长时,所述客户端对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。
在一具体实施例中,当系统时间到达所述第二时间窗口对应的第二时长时,客户端可检测自身是否处于运行状态,具体地客户端可读取寄存器中预存的状态码,如果所述状态码用于指示所述客户端处于运行状态,则确定所述客户端当前处于运行状态;反之如果所述状态码用于指示所述客户端不处于运行状态,则确定所述客户端不处于运行状态,可结束流程。
在实际应用中,所述状态码可具体用例如数字、字符、字符串等表示。本申请涉及的状态码(或状态信息)可有多种,以数字表示为例。当其为1时,表示处于业务数据预处理中。当其为2时,表示业务数据预处理失败。当其为3时,表示业务运行中。当其为4时,表示业务运行失败。当其为5时,表示业务数据读写入库。当其为6时,表示业务数据读写入库失败。当其为7时,表示业务逻辑处理完成。当其为8时,表示业务回调不通/不成功。
进一步在确定所述客户端处于运行状态时,所述客户端可向所述服务器发送状态查询消息(也可称为状态查询请求),用于查询所述异步业务逻辑处理当前所处的状态信息。相应地所述服务器接收并响应所述状态查询消息,并向所述客户端返回第一响应消息,所述第一响应消息中携带有所述异步业务逻辑处理的状态信息,从而获得所述异步业务逻辑处理的状态信息。
在实际应用中,所述第一响应消息可采用响应码的形式表现,或者所述异步业务逻辑处理的状态信息可采用状态码的形式表现。其中,所述响应码或所述状态码可对应参考前述关于状态码的相关介绍,这里不再赘述。
通过实施本申请,本申请在检测到客户端向服务器发送业务请求时,开启第一时间窗口;然后在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;最后在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。上述方案中,本申请基于时间窗口来处理远程异步调用中的容错处理,以获得异步业务逻辑处理的状态信息,既实现了远程异步调用中的容错处理,又提升了容错处理的便捷性和高效性。
请一并参见图2,是本申请实施例提供的另一种远程调用容错处理方法的流程示意图。如图2所示的方法包括如下实施步骤:
S201、客户端向服务器发送业务请求。相应地,所述服务器接收所述业务请求。
S202、所述客户端开启第一时间窗口。
本申请所述客户端在向服务器发送业务请求后,可开启第一时间窗口。关于第一时间窗口的介绍本申请可对应参考前述方法实施例中的相关介绍,这里不再赘述。
S203、所述服务器判断所述业务请求是否被请求成功。
本申请可判断所述服务器是否检测/接收到第一验证码,如果接收到则可确定所述业务请求的请求成功,继续执行步骤S205;否则,确定所述业务请求的请求失败,继续执行步骤S204。所述第一验证码可为系统自定义设置的,其可用数字、字符等表示。例如所述服务器在检测到验证码200时,可确定所述业务请求被请求成功等。
S204、所述服务器向所述客户端返回响应消息,所述响应消息用于指示所述业务请求失败。具体地所述响应消息中携带有用于指示所述业务请求的请求失败的状态信息,所述状态信息具体可采用状态码的形式体现。关于所述状态码可对应参考前述验证码或状态码的相关介绍,这里不再赘述。
S205、所述服务器响应所述业务请求,执行所述业务请求所指示的异步业务逻辑处理。
S206、所述服务器回调所述客户端,向所述客户端发送回调请求。相应地所述客户端接收所述回调请求。
本申请所述回调请求用于指示所述客户端根据预配的回调信息进行对应的业务逻辑处理。在所述客户端接收所述回调请求后,可继续执行步骤S209。
S207、所述服务器判断是否回调所述客户端成功。
本申请所述服务器可通过检测是否接收到第二验证码,来判定是否回调成功。具体地,所述服务器在检测到第二验证码时,可确定回调成功,结束流程;否则,确定回调不成功,继续执行步骤S208。
S208、所述服务器记录用于指示回调失败的状态信息。
S209、所述客户端判断是否关闭所述第一时间窗口。
本申请在所述客户端判断到已关闭所述第一时间窗口时,可继续执行步骤S211;反之在确定到所述客户端未关闭所述第一时间窗口时,可继续执行步骤S210。
S210、所述客户端关闭所述第一时间窗口。
S211、响应所述回调请求,所述客户端根据获取的回调信息进行对应的业务逻辑处理。
本申请在关闭所述第一时间窗口后,可响应所述回调请求,获取回调信息,根据所述回调信息进行相应的业务逻辑处理。所述回调信息可为系统自定义设置的,例如其可包括但不限于所述异步业务逻辑处理是否完成(即异步业务逻辑是否处理完成)、所述异步逻辑处理是否出错(例如异步逻辑处理的输入数据、处理逻辑等是否出错)等信息。
S212、所述客户端在到达所述第一时间窗口对应的第一时长时,对所述客户端的状态进行检测。
S213、所述客户端判断自身是否处于运行状态。
在可选实施例中,本申请所述客户端在开启第一时间窗口后,可继续执行步骤S212在到达所述第一时间窗口对应的第一时长时可检测所述客户端当前所处的状态,其状态具体可以状态码的形式体现,具体参考前述关于状态码的相关介绍,这里不再赘述。进一步本申请在检测所述客户端当前所处的状态后,可判断自身是否处于运行状态。如果是,则继续执行步骤S214,否则,结束流程。
可选地,在步骤S213之后,本申请进一步还可检测在所述第一时间窗口对应的第一时长内是否接收到所述回调请求。如果未接收到,则继续执行步骤S214。反之如果所述客户端接收到所述回调请求,则可响应所述回调请求,根据获取的回调信息进行对应的业务逻辑处理。
S214、所述客户端向所述服务器发送心跳检测包,以检测所述服务器是否运行正常。
S215、所述客户端判断所述服务器是否运行正常。
本申请所述客户端可周期性地向所述服务器发送心跳检测包,以检测所述服务器是否运行正常。如果运行正常,则继续执行步骤S217;否则,继续执行步骤S216。
S216、所述客户端采用预配的间隔周期,重复执行步骤S214-S215,直至重复次数达到预配的检测次数结束。
本申请所述客户端在检测到所述服务器运行不正常后,可判断当前的检测次数是否大于或等于预配的检测次数,如果是,则继续流程,记录用于指示所述服务器运行不正常的状态信息。反之,则将当前的检测次数增加1,按照预配的间隔周期向客户端重新发送心跳检测包,以检测所述服务器是否运行正常。
S217、所述客户端开启第二时间窗口。
S218、在到达所述第二时间窗口对应的第二时长时,对所述客户端的状态进行检测。关于所述第二时间窗口的介绍可对应参考前述所述第一时间窗口的相关介绍,这里不再赘述。
S219、所述客户端判断自身是否处于运行状态。
本申请在所述客户端处于运行状态时,可继续执行步骤S220,否则结束流程。
S220、对所述异步业务逻辑处理进行状态及容错检测,得到并记录所述异步业务逻辑处理的状态信息。
本申请所述客户端在判断到自身处于运行状态时,可向所述服务器发送状态查询消息,其用于查询所述异步业务逻辑处理的相应状态。相应地,所述服务器接收所述状态查询消息后,可返回对应响应消息,该响应消息中携带有所述异步业务逻辑处理的状态信息。在实际应用中,该响应消息具体可以响应码的形式体现,例如响应码200等,进而本申请解析该响应码200可获得所述异步业务逻辑处理的状态信息等。
由上可以看出,本申请实施例能够在HTTP异步远程调用时实现容错,当客户端给服务器发送业务请求后,服务器异步处理业务逻辑,客户端则通过开启时间窗口的方式到达指定时间检测自身状态,如果此时服务器宕机,客户端会记录其状态。当服务器异步处理完业务逻辑后,回调客户端,如果客户端宕机了,此时服务器会记录其状态。如果回调成功,最终客户端也会根据状态和回调信息进行不同的处理,达到容错的目的。
通过实施本申请实施例,本申请在检测到客户端向服务器发送业务请求时,开启第一时间窗口;然后在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;最后在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。上述方案中,本申请基于时间窗口来处理远程异步调用中的容错处理,以获得异步业务逻辑处理的状态信息,既实现了远程异步调用中的容错处理,又提升了容错处理的便捷性和高效性。
基于同一发明构思,本申请另一实施例提供一种实施本申请实施例中所述远程调用容错处理方法对应的装置和终端设备。
请参见图3,是本申请实施例提供的一种远程调用容错处理装置(也可称为客户端)的结构示意图。如图3所示的装置30包括开启模块301和处理模块302,其中:
所述开启模块301,用于在检测到所述客户端向服务器发送业务请求时,开启第一时间窗口;
所述开启模块302,还用于在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;
所述处理模块302,用于在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。
可选地,所述开启第二时间窗口之前,所述处理模块302还用于:
向所述服务器发送心跳检测包,以检测所述服务器是否运行正常;
若是,则继续执行所述开启第二时间窗口的步骤;
若否,则采用预配的间隔周期,重复执行所述向所述服务器发送心跳检测包,以检测所述服务器是否运行正常的步骤,直至重复次数达到预配的检测次数结束。
可选地,所述处理模块302具体用于:
在所述客户端处于运行状态时,向所述服务器发送状态查询消息;
接收所述服务器基于所述状态查询消息返回的第一响应消息,并基于所述第一响应消息获得所述异步业务逻辑处理的状态信息;
其中,所述第一响应消息中携带有所述异步业务逻辑处理的状态信息。
可选地,所述处理模块302还用于:
在检测到所述第一时间窗口对应的第一时长内接收到所述服务器返回的回调请求时,响应所述回调请求,根据获取的回调信息进行对应的业务逻辑处理。
可选地,所述根据获取的回调信息进行对应的业务逻辑处理之前,所述处理模块302还用于:
判断是否关闭所述第一时间窗口;
若是,则继续执行所述根据获取的回调信息进行对应的业务逻辑处理的步骤;
若否,则关闭所述第一时间窗口,继续执行所述根据获取的回调信息进行对应的业务逻辑处理的步骤。
请一并参见图4,是本申请实施例提供的一种远程调用容错处理装置(也可称为服务器)的结构示意图。如图4所示的装置40包括:接收模块401、处理模块402和发送模块403,其中:
所述接收模块401,用于接收客户端发送的业务请求;
所述处理模块402,用于在检测到所述业务请求被成功请求后,响应所述业务请求,执行所述业务请求所指示的异步业务逻辑处理;
所述发送模块403,用于在执行完所述业务请求所指示的异步业务逻辑处理之后,向所述客户端返回对应的回调请求,所述回调请求用于指示所述客户端根据预配的回调信息进行对应的业务逻辑处理。
可选地,所述向所述客户端返回对应的回调请求之后,所述处理模块402还用于:
判断所述服务器是否成功回调所述客户端;
若否,则记录用于指示回调所述客户端失败的状态信息。
可选地,所述处理模块402还用于:
在检测到所述业务请求未被成功请求时,向所述客户端返回第二响应消息,所述第二响应消息中携带有用于指示所述业务请求失败的状态信息。
通过实施本申请实施例,本申请在检测到客户端向服务器发送业务请求时,开启第一时间窗口;然后在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;最后在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。上述方案中,本申请基于时间窗口来处理远程异步调用中的容错处理,以获得异步业务逻辑处理的状态信息,既实现了远程异步调用中的容错处理,又提升了容错处理的便捷性和高效性。
请参见图5,是本申请实施例提供的一种终端设备(也可称为客户端)的结构示意图。如图5所示的客户端50包括:至少一个处理器501、通信接口502、用户接口503和存储器504,处理器501、通信接口502、用户接口503和存储器504可通过总线或者其它方式连接,本发明实施例以通过总线505连接为例。其中,
处理器501可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)。
通信接口502可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他终端或网站进行通信。本发明实施例中,通信接口502具体用于获取业务请求、或回调请求等。
用户接口503具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口503也可以是物理按键或者鼠标。用户接口503还可以为显示屏,用于输出、显示图像或数据。
存储器504可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器504还可以包括上述种类的存储器的组合。存储器504用于存储一组程序代码,处理器501用于调用存储器504中存储的程序代码,执行如下操作:
在检测到所述客户端向服务器发送业务请求时,开启第一时间窗口;
在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;
在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。
可选地,所述开启第二时间窗口之前,所述处理器501还用于:
向所述服务器发送心跳检测包,以检测所述服务器是否运行正常;
若是,则继续执行所述开启第二时间窗口的步骤;
若否,则采用预配的间隔周期,重复执行所述向所述服务器发送心跳检测包,以检测所述服务器是否运行正常的步骤,直至重复次数达到预配的检测次数结束。
可选地,所述对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息包括:
在所述客户端处于运行状态时,向所述服务器发送状态查询消息;
接收所述服务器基于所述状态查询消息返回的第一响应消息,并基于所述第一响应消息获得所述异步业务逻辑处理的状态信息;
其中,所述第一响应消息中携带有所述异步业务逻辑处理的状态信息。
可选地,所述处理器501还用于:
在检测到所述第一时间窗口对应的第一时长内接收到所述服务器返回的回调请求时,响应所述回调请求,根据获取的回调信息进行对应的业务逻辑处理。
可选地,所述根据获取的回调信息进行对应的业务逻辑处理之前,所述处理器501还用于:
判断是否关闭所述第一时间窗口;
若是,则继续执行所述根据获取的回调信息进行对应的业务逻辑处理的步骤;
若否,则关闭所述第一时间窗口,继续执行所述根据获取的回调信息进行对应的业务逻辑处理的步骤。
请一并参见图6,是本申请实施例提供的另一种终端设备(也可称为服务器)的结构示意图。如图6所示的服务器60包括:至少一个处理器601、通信接口602、用户接口603和存储器604,处理器601、通信接口602、用户接口603和存储器604可通过总线或者其它方式连接,本发明实施例以通过总线605连接为例。关于处理器601、通信接口602、用户接口603、存储器604和总线605的相关介绍,可对应前述图5的相关介绍,这里不再赘述。其中,存储器604用于存储一组程序代码,处理器601用于调用存储器604中存储的程序代码,执行如下操作:
接收客户端发送的业务请求;
在检测到所述业务请求被成功请求后,响应所述业务请求,执行所述业务请求所指示的异步业务逻辑处理;
在执行完所述业务请求所指示的异步业务逻辑处理之后,向所述客户端返回对应的回调请求,所述回调请求用于指示所述客户端根据预配的回调信息进行对应的业务逻辑处理。
可选地,所述向所述客户端返回对应的回调请求之后,所述处理器601还用于:
判断所述服务器是否成功回调所述客户端;
若否,则记录用于指示回调所述客户端失败的状态信息。
可选地,所述处理器601还用于:
在检测到所述业务请求未被成功请求时,向所述客户端返回第二响应消息,所述第二响应消息中携带有用于指示所述业务请求失败的状态信息。
由于本实施例所介绍的终端设备为实施本申请实施例中远程调用容错处理方法所采用的终端设备,故而基于本申请实施例中所介绍的远程调用容错处理方法,本领域所属技术人员能够了解本实施例的终端设备的具体实施方式以及其各种变化形式,所以在此对于该终端设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中远程调用容错处理方法所采用的终端设备,都属于本申请所欲保护的范围。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
本申请在检测到客户端向服务器发送业务请求时,开启第一时间窗口;然后在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;最后在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。上述方案中,本申请基于时间窗口来处理远程异步调用中的容错处理,以获得异步业务逻辑处理的状态信息,既实现了远程异步调用中的容错处理,又提升了容错处理的便捷性和高效性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种远程调用容错处理方法,其特征在于,应用于客户端侧,所述方法包括:
在检测到所述客户端向服务器发送业务请求时,开启第一时间窗口;
在检测到所述第一时间窗口对应的第一时长内未接收到所述服务器返回的回调请求时,开启第二时间窗口,所述回调请求为所述服务器执行完所述业务请求所指示的异步业务逻辑处理后所返回的请求;
在到达所述第二时间窗口对应的第二时长时,对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息。
2.根据权利要求1所述的方法,其特征在于,所述开启第二时间窗口之前,所述方法还包括:
向所述服务器发送心跳检测包,以检测所述服务器是否运行正常;
若是,则继续执行所述开启第二时间窗口的步骤;
若否,则采用预配的间隔周期,重复执行所述向所述服务器发送心跳检测包,以检测所述服务器是否运行正常的步骤,直至重复次数达到预配的检测次数结束。
3.根据权利要求1所述的方法,其特征在于,所述对所述异步业务逻辑处理进行状态及容错检测,得到所述异步业务逻辑处理的状态信息包括:
在所述客户端处于运行状态时,向所述服务器发送状态查询消息;
接收所述服务器基于所述状态查询消息返回的第一响应消息,并基于所述第一响应消息获得所述异步业务逻辑处理的状态信息;
其中,所述第一响应消息中携带有所述异步业务逻辑处理的状态信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到所述第一时间窗口对应的第一时长内接收到所述服务器返回的回调请求时,响应所述回调请求,根据获取的回调信息进行对应的业务逻辑处理。
5.根据权利要求4所述的方法,其特征在于,所述根据获取的回调信息进行对应的业务逻辑处理之前,所述方法还包括:
判断是否关闭所述第一时间窗口;
若是,则继续执行所述根据获取的回调信息进行对应的业务逻辑处理的步骤;
若否,则关闭所述第一时间窗口,继续执行所述根据获取的回调信息进行对应的业务逻辑处理的步骤。
6.一种远程调用容错处理方法,其特征在于,应用于服务器侧,所述方法包括:
接收客户端发送的业务请求;
在检测到所述业务请求被成功请求后,响应所述业务请求,执行所述业务请求所指示的异步业务逻辑处理;
在执行完所述业务请求所指示的异步业务逻辑处理之后,向所述客户端返回对应的回调请求,所述回调请求用于指示所述客户端根据预配的回调信息进行对应的业务逻辑处理。
7.根据权利要求6所述的方法,其特征在于,所述向所述客户端返回对应的回调请求之后,所述方法还包括:
判断所述服务器是否成功回调所述客户端;
若否,则记录用于指示回调所述客户端失败的状态信息。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在检测到所述业务请求未被成功请求时,向所述客户端返回第二响应消息,所述第二响应消息中携带有用于指示所述业务请求失败的状态信息。
9.一种终端设备,其特征在于,所述终端设备包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如上权利要求1-5中任一项所述的远程调用容错处理方法,或者用于执行如上权利要求6-8中任一项所述的远程调用容错处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,当所述程序运行在终端设备时执行如上权利要求1-5中任一项所述的远程调用容错处理方法,或者执行如上权利要求6-8中任一项所述的远程调用容错处理方法。
CN202111390010.7A 2021-11-22 2021-11-22 远程调用容错处理方法、终端设备及存储介质 Pending CN114138528A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111390010.7A CN114138528A (zh) 2021-11-22 2021-11-22 远程调用容错处理方法、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111390010.7A CN114138528A (zh) 2021-11-22 2021-11-22 远程调用容错处理方法、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN114138528A true CN114138528A (zh) 2022-03-04

Family

ID=80391126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111390010.7A Pending CN114138528A (zh) 2021-11-22 2021-11-22 远程调用容错处理方法、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN114138528A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117632443A (zh) * 2024-01-25 2024-03-01 腾讯科技(深圳)有限公司 业务流程的流转控制方法及装置、设备、介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117632443A (zh) * 2024-01-25 2024-03-01 腾讯科技(深圳)有限公司 业务流程的流转控制方法及装置、设备、介质
CN117632443B (zh) * 2024-01-25 2024-04-26 腾讯科技(深圳)有限公司 业务流程的流转控制方法及装置、设备、介质

Similar Documents

Publication Publication Date Title
CN111414334B (zh) 基于云技术的文件分片上传方法、装置、设备及存储介质
US9069737B1 (en) Machine learning based instance remediation
WO2020248658A1 (zh) 一种异常账户的检测方法及装置
CN110222263B (zh) 应用程序维护控制方法、装置、服务器、终端及存储介质
CN109325349A (zh) 一种安全管理方法、终端设备及计算机可读存储介质
WO2019140739A1 (zh) 客户回访的判断方法、电子装置及计算机可读存储介质
US9471349B1 (en) Computing resource provisioning failure mitigation
CN110908837B (zh) 应用程序异常处理方法、装置、电子设备及存储介质
US20230047346A1 (en) System and methods for identifying and troubleshooting customer issues to preempt customer calls
CA2984790C (en) System and method for performing screen capture-based sensitive information protection within a call center environment
CN114138528A (zh) 远程调用容错处理方法、终端设备及存储介质
CN110502399B (zh) 故障检测方法及装置
CN111737055A (zh) 业务处理方法、装置、设备及计算机可读存储介质
CN111445255A (zh) 异常资金转移关系的确定方法及装置
CN113112023B (zh) AIStation推理平台的推理服务管理方法和装置
CN114282940A (zh) 用于意图识别的方法及装置、存储介质及电子设备
CN110019262B (zh) 数据更新方法及装置
CN115242615B (zh) 服务器的运行管理方法、装置、电子设备及存储介质
CN111786934A (zh) 检测客户端正常用户的方法以及装置
CN112769824B (zh) 一种信息传输状态更新方法、终端、装置及存储介质
CN111611520B (zh) 一种流量作弊的监测方法、装置、电子设备及存储介质
CN116643733B (zh) 业务处理系统和方法
CN111325278B (zh) 一种图像处理方法、装置及存储介质
CN115277834B (zh) 任务数据的处理方法、装置和服务器
CN115134328B (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