WO2019000791A1 - 一种以异步方式进行远程过程调用的方法及装置 - Google Patents

一种以异步方式进行远程过程调用的方法及装置 Download PDF

Info

Publication number
WO2019000791A1
WO2019000791A1 PCT/CN2017/111002 CN2017111002W WO2019000791A1 WO 2019000791 A1 WO2019000791 A1 WO 2019000791A1 CN 2017111002 W CN2017111002 W CN 2017111002W WO 2019000791 A1 WO2019000791 A1 WO 2019000791A1
Authority
WO
WIPO (PCT)
Prior art keywords
response result
callback function
remote procedure
remote
calling
Prior art date
Application number
PCT/CN2017/111002
Other languages
English (en)
French (fr)
Inventor
杨亮
陈少杰
张文明
Original Assignee
武汉斗鱼网络科技有限公司
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 武汉斗鱼网络科技有限公司 filed Critical 武汉斗鱼网络科技有限公司
Publication of WO2019000791A1 publication Critical patent/WO2019000791A1/zh

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Definitions

  • the present invention relates to the field of network live broadcast technologies, and in particular, to a method and apparatus for performing remote procedure calls in an asynchronous manner.
  • the so-called remote procedure call is a process that calls a method provided by another process, but the caller's perspective is still consistent with the function that calls the process.
  • a remote procedure call all parameters to be supplied to the callee's process are serialized into a network message and then sent over the network to the callee's process. After the callee finishes processing the corresponding service, the result is also serialized into a network message and sent to the caller process.
  • the caller calls a remote procedure until it receives the result, it is usually blocked; that is, before the caller calls a remote procedure before receiving the response from the callee, it is blocked. Will not wake up until a response is received.
  • the embodiment of the present application provides a method and an apparatus for performing a remote procedure call in an asynchronous manner, which solves the problem that in the prior art, when a remote procedure call is made, the interface of the program will be suspended in a suspended state before the response result is received.
  • the technical problem is that when the remote procedure call is made, the interface of the program does not have a suspended animation state before the response result is received, and the technical effect of the user experience is improved.
  • the present application provides the following technical solutions by using an embodiment of the present application:
  • a method of making remote procedure calls asynchronously including:
  • the real response result is returned to the calling end by the callback function.
  • the method further includes:
  • the callback function and the unique identifier are stored in a dictionary Dict, the unique identifier corresponding to the callback function.
  • the sending the call request required to invoke the remote process to the called end of the remote process including:
  • the unique identifier is sent to the called end along with the call request.
  • the real response result returned by the called end is received, the real response result is returned to the calling end by using the callback function, including:
  • the real response result is returned to the calling end by the callback function.
  • the determining, based on the unique identifier, whether the time when the real response result is received is timed out includes:
  • callback function If the callback function is found, it indicates that the time when the true response result is received does not time out;
  • callback function If the callback function is not found, it indicates that the time when the real response result is received has timed out.
  • the method further includes:
  • the detecting whether the network connection is disconnected comprises:
  • the present application provides the following technical solutions by using an embodiment of the present application:
  • a device for performing remote procedure calls in an asynchronous manner comprising:
  • a creating unit configured to create a callback function corresponding to the remote process when the remote process is invoked
  • a sending unit configured to send a call request required to invoke the remote process to a called end of the remote process
  • a first returning unit configured to return a virtual response result to the calling end of the remote process, so that the thread corresponding to the calling end is in an awake state
  • a second returning unit configured to return the real response result to the calling end by using the callback function when receiving the real response result returned by the called end.
  • the present application provides the following technical solutions by using an embodiment of the present application:
  • An apparatus for performing remote procedure calls in an asynchronous manner comprising a memory, a processor, and a computer program stored on the memory and operable on the processor, wherein the processor performs the following steps when executing the program:
  • the real response result is returned to the calling end by the callback function.
  • the present application provides the following technical solutions by using an embodiment of the present application:
  • a computer readable storage medium having stored thereon a computer program that, when executed by a processor, implements the following steps:
  • the real response result is returned to the calling end by the callback function.
  • a method for performing a remote procedure call in an asynchronous manner includes: creating a callback function corresponding to the remote process when calling a remote process; calling the remote procedure required Sending a request to the called end of the remote process; returning a virtual response result to the calling end of the remote process, so that the thread corresponding to the calling end is in an awake state; receiving the true returned by the called end When the result is answered, the true response result is returned to the calling end by the callback function. Since the virtual response result is returned to the calling end of the remote process before receiving the real response result returned by the called end, so that the thread corresponding to the calling end is in the awake state, the prior art is solved.
  • the interface of the program When making a remote procedure call, the interface of the program will have a technical problem of suspended animation before the response result is received. When the remote procedure call is made, the interface of the program will not appear until the response result is received.
  • the suspended animation state improves the technical effect of the user experience.
  • FIG. 1 is a flowchart of a method for performing a remote procedure call in an asynchronous manner according to an embodiment of the present application
  • FIG. 2 is a structural diagram of an apparatus for performing a remote procedure call in an asynchronous manner according to an embodiment of the present application
  • FIG. 3 is a structural diagram of an apparatus for performing a remote procedure call in an asynchronous manner according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of a computer readable storage medium in an embodiment of the present application.
  • the embodiment of the present application provides a method and an apparatus for performing a remote procedure call in an asynchronous manner, which solves the problem that in the prior art, when a remote procedure call is made, the interface of the program will be suspended in a suspended state before the response result is received.
  • the technical problem is that when the remote procedure call is made, the interface of the program does not have a suspended animation state before the response result is received, and the technical effect of the user experience is improved.
  • a method for performing a remote procedure call in an asynchronous manner comprising: when calling a remote procedure, creating a callback function corresponding to the remote procedure; and transmitting a call request required to invoke the remote procedure to the remote process Calling end; returning a virtual response result to the calling end of the remote process, so that the thread corresponding to the calling end is in an awake state; and receiving the callback function when receiving the true response result returned by the called end Returning the true response result to the calling end.
  • This embodiment provides a method for performing a remote procedure call in an asynchronous manner, as shown in FIG. include:
  • Step S101 When calling the remote procedure, create a callback function corresponding to the remote procedure.
  • a callback function RpcCompleteRoutine may be created for the remote procedure, and the callback function corresponds to the remote procedure.
  • the callback function needs to be set. Specifically, when calling the RpcCallProcedure function, a function of type RpcCompleteRoutine is set to the parameters of the RpcCallProcedure function, thereby instructing the RpcCallProcedure function to call the remote procedure asynchronously.
  • step S101 the method further includes:
  • a unique identifier is assigned to the callback function; the callback function and the unique identifier are stored in the dictionary Dict, and the unique identifier corresponds to the callback function.
  • the calling end may call multiple remote procedures at the same time.
  • a callback function can be set for each remote procedure, and each callback function is assigned a unique identifier gid.
  • the last unique identifier gid can be incremented by 1 each time the RpcCallProcedure function is called, so that each unique identifier gid is different.
  • a callback function RpcCompleteRoutine_1 can be created for the remote procedure_1, and the unique identifier gid_1 is assigned;
  • a callback function RpcCompleteRoutine_2 can be created for the remote procedure_2, and a unique identifier gid_2 can be assigned, which can be the remote procedure_3 callback function RpcCompleteRoutine_3, and assigned the unique identifier gid_3; and so on.
  • timeout timer Timer_1 for the callback function RpcCompleteRoutine_1, the timeout timer Timer_2 for the callback function RpcCompleteRoutine_2, and the timeout timer Timer_3 for the callback function RpcCompleteRoutine_3; and so on.
  • each callback function, a unique identifier gid corresponding to each callback function, and a timeout timer corresponding to each callback function may be stored in the global dictionary Dict for later query.
  • an onTimeOut processing function is set in the timeout timer, and if the response result from the called end (ie, the true response result) is not received within the specified timeout period, the timeout timer is triggered.
  • the onTimeOut handler, the onTimeOut handler is used to remove the timeout RpcCompleteRoutine callback function and its timeout timer from the global dictionary Dict.
  • the remote procedure_1 corresponds to a unique identifier of gid_1, a callback function of RpcCompleteRoutine_1, and a timeout timer Timer_1.
  • the timeout timer Timer_1 is used for timing.
  • the onTimeOut processing function in the timeout timer Timer_1 is triggered, thereby deleting the callback function RpcCompleteRoutine_1 and the timeout timer Timer_1 from the global dictionary Dict.
  • Step S102 Send the call request required to invoke the remote process to the called end of the remote process.
  • step S102 includes:
  • the RpcCallProcedure function can be called to send the unique identifier gid together with the call request to the called end.
  • the unique identifier gid can also be carried in the invocation request.
  • Step S103 Return a virtual response result to the calling end of the remote process, so that the thread corresponding to the calling end is in an awake state.
  • a virtual response result may be created, and the virtual response result is returned to the calling end, so that The thread corresponding to the calling end is in the awake state.
  • the virtual response result is independent of the remote procedure call, and will not affect the remote procedure call, but will cause the RpcCallProcedure function to return immediately, thereby waking up the thread corresponding to the calling end, so that the program interface will not have a suspended animation state;
  • the result of the response is that the called end of the remote process returns a response result to the calling end after receiving the call request sent by the calling end, and the calling end can implement the remote procedure call based on the response result.
  • Step S104 When receiving the real response result returned by the called end, return the true response result to the calling end through the callback function.
  • step S104 includes:
  • a callback function corresponding to the unique identifier may be searched in the dictionary Dict based on the unique identifier, wherein the callback function is deleted when timeout; if the callback function is found, it indicates that the true response result is received. The time has not timed out; if the callback function is not found, it indicates that the time to receive the true response result times out.
  • the global dictionary Dict may be used to find whether there is a message callback function RpcCompleteRoutine_1 corresponding to the unique identifier gid_1 according to the unique identifier gid_1 carried in the response result, and if so, If it is not timed out, the callback function RpcCompleteRoutine_1 is called to return the response result to the calling end.
  • the timeout timer Timer_1 corresponding to the unique identifier gid_1 needs to be deleted from the global dictionary Dict, and the timeout timer can be deleted by the DeleteTimer function.
  • the callback function RpcCompleteRoutine_1 corresponding to the identifier gid_1 means that the timeout of this asynchronous call has occurred, and the callback function RpcCompleteRoutine_1 has been deleted.
  • step S102 the method further includes:
  • a method for performing a remote procedure call in an asynchronous manner includes: creating a callback function corresponding to the remote process when calling a remote process; calling the remote procedure required Sending a request to the called end of the remote process; returning a virtual response result to the calling end of the remote process, so that the thread corresponding to the calling end is in an awake state; receiving the true returned by the called end When the result is answered, the true response result is returned to the calling end by the callback function. Since the virtual response result is returned to the calling end of the remote process before receiving the real response result returned by the called end, so that the thread corresponding to the calling end is in the awake state, the prior art is solved.
  • the interface of the program When making a remote procedure call, the interface of the program will have a technical problem of suspended animation before the response result is received. When the remote procedure call is made, the interface of the program will not appear until the response result is received.
  • the suspended animation state improves the technical effect of the user experience.
  • the embodiment provides an apparatus 200 for performing a remote procedure call in an asynchronous manner, including:
  • a creating unit 201 configured to create a callback function corresponding to the remote process when the remote process is invoked;
  • the sending unit 202 is configured to send a call request required to invoke the remote process to the called end of the remote process;
  • a first returning unit 203 configured to return a virtual response result to the calling end of the remote process, so that the thread corresponding to the calling end is in an awake state
  • the second returning unit 204 is configured to return the true response result to the calling end by using the callback function when receiving the real response result returned by the called end.
  • the apparatus for performing a remote procedure call in an asynchronous manner further includes:
  • An allocating unit configured to assign a unique identifier to the callback function after the creating a callback function corresponding to the remote process
  • a storage unit configured to store the callback function and the unique identifier in a dictionary Dict, the unique identifier corresponding to the callback function.
  • the sending unit 202 is specifically configured to:
  • the second returning unit 204 is specifically configured to:
  • the second returning unit 204 is specifically configured to:
  • the apparatus for performing a remote procedure call in an asynchronous manner further includes:
  • a detecting unit configured to detect, after the calling request required to invoke the remote process is sent to the called end of the remote process, whether the network connection between the calling end and the called end is disconnected ;
  • the unit is cleared, and if it is disconnected, the data in the dictionary Dict is cleared.
  • the detecting unit is specifically configured to:
  • the apparatus for performing the remote procedure call in the asynchronous manner is the device used in the method for performing the remote procedure call in the asynchronous manner in the embodiment of the present application. Therefore, the method is as described in the embodiment of the present application.
  • a method of performing a remote procedure call those skilled in the art can understand the specific implementation manner of the apparatus for performing remote procedure call in an asynchronous manner in the embodiment and various changes thereof, so that the remote procedure call is performed asynchronously. How the device in the embodiment of the present application is implemented will not be described in detail.
  • the apparatus used in the method for performing the remote procedure call in an asynchronous manner in the embodiment of the present application is applicable to the scope of the present application.
  • a method for performing a remote procedure call in an asynchronous manner including: a creating unit, configured to create a callback function corresponding to the remote process when the remote process is invoked; and a sending unit, configured to: Sending a call request required to invoke the remote process to the called end of the remote process; a first returning unit, configured to return a virtual response result to the calling end of the remote process, so that the calling end corresponds to Thread is awake; second return unit is used to receive the When the true response result returned by the calling end is described, the real response result is returned to the calling end by the callback function.
  • the prior art is solved.
  • the interface of the program When making a remote procedure call, the interface of the program will have a technical problem of suspended animation before the response result is received.
  • the interface of the program When the remote procedure call is made, the interface of the program will not appear until the response result is received.
  • the suspended animation state improves the technical effect of the user experience.
  • the present embodiment provides an apparatus 300 for performing remote procedure calls in an asynchronous manner, including a memory 310, a processor 320, and being stored on the memory 310 and operable on the processor 320.
  • the computer program 311 when the processor 320 executes the computer program 320, implements the following steps:
  • a callback function corresponding to the remote procedure is created; an invocation request required to invoke the remote procedure is sent to the called end of the remote procedure; and a virtual end is returned to the calling end of the remote procedure
  • the result of the response is such that the thread corresponding to the calling end is in the awake state; when the real response result returned by the called end is received, the true response result is returned to the calling end by the callback function.
  • any of the embodiments of the embodiment may be implemented.
  • the embodiment provides a computer readable storage medium 400 on which a computer program 411 is stored.
  • a computer program 411 is stored.
  • a callback function corresponding to the remote procedure is created; the far The calling request required by the process is sent to the called end of the remote process; a virtual response result is returned to the calling end of the remote process, so that the thread corresponding to the calling end is in an awake state; When the result of the real response returned by the calling end, the real response result is returned to the calling end by the callback function.
  • any one of the embodiments may be implemented.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Telephone Function (AREA)

Abstract

一种以异步方式进行远程过程调用的方法,包括:在调用远程过程时,创建与远程过程对应的回调函数(S101);将调用远程过程所需的调用请求发送给远程过程的被调用端(S102);向远程过程的调用端返回一虚拟应答结果,以使得调用端对应的线程处于唤醒状态(S103);在接收到被调用端返回的真实应答结果时,通过回调函数将真实应答结果返回给调用端(S104)。实现了在进行远程过程调用时,在没有收到应答结果之前,程序的界面不会出现假死状态,提高了用户体验的技术效果。同时,还公开了一种以异步方式进行远程过程调用的装置。

Description

一种以异步方式进行远程过程调用的方法及装置 技术领域
本发明涉及网络直播技术领域,尤其涉及一种以异步方式进行远程过程调用的方法及装置。
背景技术
随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用。在网络直播过程中,经常会进行远程过程调用。
所谓远程过程调用,就是一个进程调用另外一个进程所提供的方法,但是在调用者的角度仍然跟调用本进程的函数是一致的。在远程过程调用中,将要提供给被调用者进程的所有参数序列化为一个网络消息,然后通过网络传输发送到被调用者进程中。被调用者处理完成相应的服务后,将产生的结果也序列化成一个网络消息,发送到调用者进程。而在这个过程中,当调用者调用一个远程过程到收到结果之前,通常都是阻塞的;也就是在收到来自被调用者的应答结果之前,调用者调用一个远程过程之后,一直阻塞住,直到收到应答结果才会被唤醒。
但是,在程序的主线程中调用远程过程时,在没有收到应答结果之前,程序的界面将会出现假死状态,用户的任何鼠标点击操作都不会被响应,极大的影响用户体验。
发明内容
本申请实施例通过提供一种以异步方式进行远程过程调用的方法及装置,解决了现有技术中在进行远程过程调用时,在没有收到应答结果之前,程序的界面将会出现假死状态的技术问题,实现了在进行远程过程调用时,在没有收到应答结果之前,程序的界面不会出现假死状态,提高了用户体验的技术效果。
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种以异步方式进行远程过程调用的方法,包括:
在调用远程过程时,创建与所述远程过程对应的回调函数;
将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;
在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
优选地,所述创建与所述远程过程对应的回调函数之后,还包括:
对所述回调函数分配唯一标识符;
将所述回调函数和所述唯一标识符存储在字典Dict中,所述唯一标识符与所述回调函数对应。
优选地,所述将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端,包括:
建立所述调用端和所述被调用端之间的网络连接;
将所述唯一标识符连同所述调用请求一起发给所述被调用端。
优选地,所述在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端,包括:
在接收到所述真实应答结果时,从所述真实应答结果中提取所述唯一标识符;
基于所述唯一标识符,判断接收到所述真实应答结果的时间是否超时;
若没超时,则基于所述唯一标识符,在所述字典Dict中提取所述回调函数;
通过所述回调函数将所述真实应答结果返回给所述调用端。
优选地,所述基于所述唯一标识符,判断接收到所述真实应答结果的时间是否超时,包括:
基于所述唯一标识符,在所述字典Dict中查找与所述唯一标识符对应的所 述回调函数,其中,所述回调函数会在超时时被删除;
若找到所述回调函数,则表明接收到所述真实应答结果的时间没超时;
若没找到所述回调函数,则表明接收到所述真实应答结果的时间超时。
优选地,所述将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端之后,还包括:
检测所述调用端和所述被调用端之间的网络连接是否断开;
若断开,则清空所述字典Dict中的数据。
优选地,所述检测所述网络连接是否断开,包括:
检测所述网络连接对应的线程是否进入OnError函数中;
若是,则表明所述网络连接断开。
第二方面,本申请通过本申请的一实施例,提供如下技术方案:
一种以异步方式进行远程过程调用的装置,包括:
创建单元,用于在调用远程过程时,创建与所述远程过程对应的回调函数;
发送单元,用于将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
第一返回单元,用于向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;
第二返回单元,用于在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
第三方面,本申请通过本申请的一实施例,提供如下技术方案:
一种以异步方式进行远程过程调用的装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
在调用远程过程时,创建与所述远程过程对应的回调函数;
将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的 线程处于唤醒状态;
在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
第四方面,本申请通过本申请的一实施例,提供如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
在调用远程过程时,创建与所述远程过程对应的回调函数;
将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;
在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在本申请实施例中,公开了一种以异步方式进行远程过程调用的方法,包括:在调用远程过程时,创建与所述远程过程对应的回调函数;将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。由于在接收到所述被调用端返回的真实应答结果之前,向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态,所以解决了现有技术中在进行远程过程调用时,在没有收到应答结果之前,程序的界面将会出现假死状态的技术问题,实现了在进行远程过程调用时,在没有收到应答结果之前,程序的界面不会出现假死状态,提高了用户体验的技术效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种以异步方式进行远程过程调用的方法的流程图;
图2为本申请实施例中一种以异步方式进行远程过程调用的装置的结构图;
图3为本申请实施例中一种以异步方式进行远程过程调用的装置的结构图;
图4为本申请实施例中一种计算机可读存储介质的示意图。
具体实施方式
本申请实施例通过提供一种以异步方式进行远程过程调用的方法及装置,解决了现有技术中在进行远程过程调用时,在没有收到应答结果之前,程序的界面将会出现假死状态的技术问题,实现了在进行远程过程调用时,在没有收到应答结果之前,程序的界面不会出现假死状态,提高了用户体验的技术效果。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
一种以异步方式进行远程过程调用的方法,包括:在调用远程过程时,创建与所述远程过程对应的回调函数;将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
本实施例提供了一种以异步方式进行远程过程调用的方法,如图1所示, 包括:
步骤S101:在调用远程过程时,创建与远程过程对应的回调函数。
在具体实施过程中,在调用端需要调用远程过程时,可以为该远程过程创建一个回调函数RpcCompleteRoutine,该回调函数与该远程过程对应。
在具体实施过程中,在创建完成回调函数后,还需要对该回调函数进行设置。具体来讲,就是在调用RpcCallProcedure函数时,将一个类型为RpcCompleteRoutine的函数,设置到RpcCallProcedure函数的参数中,从而指示RpcCallProcedure函数以异步的方式去调用远程过程。
作为一种可选的实施方式,在步骤S101之后,还包括:
对回调函数分配唯一标识符;将回调函数和唯一标识符存储在字典Dict中,唯一标识符与回调函数对应。
在具体实施过程中,调用端可能会同时调用多个远程过程,此时,可以对每个远程过程都设置一个回调函数,并对每个回调函数都分配一个唯一标识符gid。其中,可以在每次调用RpcCallProcedure函数时,将上次的唯一标识符gid加1,使得每个唯一标识符gid均不相同。
举例来讲,若调用端同时调用3个远程过程,分别为远程过程_1、远程过程_2、远程过程_3,则可以为远程过程_1创建回调函数RpcCompleteRoutine_1,并分配唯一标识符gid_1;可以为远程过程_2创建回调函数RpcCompleteRoutine_2,并分配唯一标识符gid_2,可以为远程过程_3回调函数RpcCompleteRoutine_3,并分配唯一标识符gid_3;以此类推。
在具体实施过程中,还可以为回调函数设置超时定时器。
具体来讲,在为回调函数设置超时定时器时,可以通过调用系统的SetTimer函数设定一个定时器,并将定时器超时时的回调过程onTimeOut函数、以及超时的时间设置到SetTimer函数的参数中。
在具体实施过程中,在对每个回调函数都分配一个唯一标识符gid后,还需要对每个回调函数设置超时定时器。
举例来讲,为回调函数RpcCompleteRoutine_1设置超时定时器Timer_1,为回调函数RpcCompleteRoutine_2设置超时定时器Timer_2,为回调函数RpcCompleteRoutine_3设置超时定时器Timer_3;以此类推。
在具体实施过程中,可以将每个回调函数、每个回调函数对应的唯一标识符gid、以及每个回调函数对应的超时定时器,都存储在全局字典Dict中,以方便以后查询。
在具体实施过程中,在超时定时器中设置有一onTimeOut处理函数,当在规定的超时时间内,若没有收到来自被调用端的应答结果(即:真实应答结果),则会触发超时定时器中的onTimeOut处理函数,onTimeOut处理函数用于将超时的RpcCompleteRoutine回调函数、及其超时定时器从全局字典Dict中删除。
举例来讲,远程过程_1对应有唯一标识符为gid_1、回调函数为RpcCompleteRoutine_1、超时定时器Timer_1。超时定时器Timer_1用于计时,在规定的超时时间到来时,则会触发则超时定时器Timer_1中的onTimeOut处理函数,从而将回调函数为RpcCompleteRoutine_1和超时定时器Timer_1从全局字典Dict中删除。
步骤S102:将调用远程过程所需的调用请求发送给远程过程的被调用端。
作为一种可选的实施方式,步骤S102,包括:
建立调用端和被调用端之间的网络连接;将唯一标识符连同调用请求一起发给被调用端。
在具体实施过程中,可以调用RpcCallProcedure函数,将唯一标识符gid连同调用请求一起发给被调用端。或者,也可以在调用请求中携带唯一标识符gid。
步骤S103:向远程过程的调用端返回一虚拟应答结果,以使得调用端对应的线程处于唤醒状态。
在具体实施过程中,在收到被调用端返回的应答结果(即:真实应答结果)之前,可以创建一个虚拟应答结果,并将该虚拟应答结果返回给调用端,以使 得调用端对应的线程处于唤醒状态。这样,就解决了现有技术中在进行远程过程调用时,在没有收到应答结果之前,程序的界面将会出现假死状态的技术问题,实现了在进行远程过程调用时,在没有收到应答结果之前,程序的界面不会出现假死状态,提高了用户体验的技术效果。
其中,虚拟应答结果与远程过程调用无关,不会对远程过程调用造成影响,但是会使RpcCallProcedure函数立即返回,从而唤醒调用端对应的线程,这样,程序的界面就不会出现假死状态;而真实应答结果是远程过程的被调用端在接收到调用端发来的调用请求后返回给调用端的应答结果,调用端可以基于该应答结果实现远程过程的调用。
步骤S104:在接收到被调用端返回的真实应答结果时,通过回调函数将真实应答结果返回给调用端。
作为一种可选的实施方式,步骤S104,包括:
在接收到真实应答结果时,从真实应答结果中提取唯一标识符;基于唯一标识符,判断接收到真实应答结果的时间是否超时;若没超时,则基于唯一标识符,在字典Dict中提取回调函数;通过回调函数将真实应答结果返回给调用端。
在具体实施过程中,可以基于唯一标识符,在字典Dict中查找与唯一标识符对应的回调函数,其中,回调函数会在超时时被删除;若找到回调函数,则表明接收到真实应答结果的时间没超时;若没找到回调函数,则表明接收到真实应答结果的时间超时。
举例来讲,在接收到来自被调用端的应答结果时,可以根据该应答结果中携带的唯一标识符gid_1,在全局字典Dict中查找是否有唯一标识符gid_1对应的消息回调函数RpcCompleteRoutine_1,如果有,则表示未超时,则调用回调函数RpcCompleteRoutine_1将应答结果返回给调用端,同时,还需要将唯一标识符gid_1对应的超时定时器Timer_1从全局字典Dict中删除,具体可以通过DeleteTimer函数删除该超时定时器;如果在全局字典Dict中没有找到唯一 标识符gid_1对应的回调函数RpcCompleteRoutine_1,那么就意味着本次异步调用发生了超时,该回调函数RpcCompleteRoutine_1已被删除。
最后需要注意的是,如果某种原因,被调用端发生了崩溃或者被关闭,那么异步调用远程过程时,同样也永远接收不到来自被调用端的应答结果。
为了解决上述问题,作为一种可选的实施方式,在步骤S102之后,还包括:
检测调用端和被调用端之间的网络连接是否断开;若断开,则清空字典Dict中的数据。
在具体实施过程中,可以检测所述网络连接对应的线程是否进入OnError函数中;若是,则表明所述网络连接断开。
在具体实施过程中,若检测到调用端和被调用端之间的网络连接断开时,则将Dict字典中全部回调函数和超时定时器删除,以防止资源浪费。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
在本申请实施例中,公开了一种以异步方式进行远程过程调用的方法,包括:在调用远程过程时,创建与所述远程过程对应的回调函数;将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。由于在接收到所述被调用端返回的真实应答结果之前,向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态,所以解决了现有技术中在进行远程过程调用时,在没有收到应答结果之前,程序的界面将会出现假死状态的技术问题,实现了在进行远程过程调用时,在没有收到应答结果之前,程序的界面不会出现假死状态,提高了用户体验的技术效果。
实施例二
基于同一发明构思,如图2所示,本实施例提供了一种以异步方式进行远程过程调用的装置200,包括:
创建单元201,用于在调用远程过程时,创建与所述远程过程对应的回调函数;
发送单元202,用于将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
第一返回单元203,用于向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;
第二返回单元204,用于在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
作为一种可选的实施方式,所述以异步方式进行远程过程调用的装置,还包括:
分配单元,用于在所述创建与所述远程过程对应的回调函数之后,对所述回调函数分配唯一标识符;
存储单元,用于将所述回调函数和所述唯一标识符存储在字典Dict中,所述唯一标识符与所述回调函数对应。
作为一种可选的实施方式,发送单元202,具体用于:
建立所述调用端和所述被调用端之间的网络连接;将所述唯一标识符连同所述调用请求一起发给所述被调用端。
作为一种可选的实施方式,第二返回单元204,具体用于:
在接收到所述真实应答结果时,从所述真实应答结果中提取所述唯一标识符;基于所述唯一标识符,判断接收到所述真实应答结果的时间是否超时;若没超时,则基于所述唯一标识符,在所述字典Dict中提取所述回调函数;通过所述回调函数将所述真实应答结果返回给所述调用端。
作为一种可选的实施方式,第二返回单元204,具体用于:
基于所述唯一标识符,在所述字典Dict中查找与所述唯一标识符对应的所 述回调函数,其中,所述回调函数会在超时时被删除;若找到所述回调函数,则表明接收到所述真实应答结果的时间没超时;若没找到所述回调函数,则表明接收到所述真实应答结果的时间超时。
作为一种可选的实施方式,所述以异步方式进行远程过程调用的装置,还包括:
检测单元,用于在所述将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端之后,检测所述调用端和所述被调用端之间的网络连接是否断开;
清空单元,用于若断开,则清空所述字典Dict中的数据。
作为一种可选的实施方式,所述检测单元,具体用于:
检测所述网络连接对应的线程是否进入OnError函数中;若是,则表明所述网络连接断开。
由于本实施例所介绍的以异步方式进行远程过程调用的装置为实施本申请实施例中以异步方式进行远程过程调用的方法所采用的装置,故而基于本申请实施例中所介绍的以异步方式进行远程过程调用的方法,本领域所属技术人员能够了解本实施例的以异步方式进行远程过程调用的装置的具体实施方式以及其各种变化形式,所以在此对于该以异步方式进行远程过程调用的装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中以异步方式进行远程过程调用的方法所采用的装置,都属于本申请所欲保护的范围。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
在本申请实施例中,公开了一种以异步方式进行远程过程调用的方法,包括:创建单元,用于在调用远程过程时,创建与所述远程过程对应的回调函数;发送单元,用于将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;第一返回单元,用于向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;第二返回单元,用于在接收到所 述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。由于在接收到所述被调用端返回的真实应答结果之前,向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态,所以解决了现有技术中在进行远程过程调用时,在没有收到应答结果之前,程序的界面将会出现假死状态的技术问题,实现了在进行远程过程调用时,在没有收到应答结果之前,程序的界面不会出现假死状态,提高了用户体验的技术效果。
实施例三
基于同一发明构思,如图3所示,本实施例提供了一种以异步方式进行远程过程调用的装置300,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,所述处理器320执行所述计算机程序320时实现以下步骤:
在调用远程过程时,创建与所述远程过程对应的回调函数;将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
在具体实施过程中,处理器320执行计算机程序311时,可以实现实施例一种的任一实施方式。
实施例四
基于同一发明构思,如图4所示,本实施例提供了一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序被处理器执行时实现以下步骤:
在调用远程过程时,创建与所述远程过程对应的回调函数;将调用所述远 程过程所需的调用请求发送给所述远程过程的被调用端;向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
在具体实施过程中,该计算机程序411被处理器执行时,可以实现实施例一种的任一实施方式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个 流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

  1. 一种以异步方式进行远程过程调用的方法,其特征在于,包括:
    在调用远程过程时,创建与所述远程过程对应的回调函数;
    将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
    向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;
    在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
  2. 如权利要求1所述的以异步方式进行远程过程调用的方法,其特征在于,所述创建与所述远程过程对应的回调函数之后,还包括:
    对所述回调函数分配唯一标识符;
    将所述回调函数和所述唯一标识符存储在字典Dict中,所述唯一标识符与所述回调函数对应。
  3. 如权利要求2所述的以异步方式进行远程过程调用的方法,其特征在于,所述将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端,包括:
    建立所述调用端和所述被调用端之间的网络连接;
    将所述唯一标识符连同所述调用请求一起发给所述被调用端。
  4. 如权利要求3所述的以异步方式进行远程过程调用的方法,其特征在于,所述在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端,包括:
    在接收到所述真实应答结果时,从所述真实应答结果中提取所述唯一标识符;
    基于所述唯一标识符,判断接收到所述真实应答结果的时间是否超时;
    若没超时,则基于所述唯一标识符,在所述字典Dict中提取所述回调函数;
    通过所述回调函数将所述真实应答结果返回给所述调用端。
  5. 如权利要求4所述的以异步方式进行远程过程调用的方法,其特征在于,所述基于所述唯一标识符,判断接收到所述真实应答结果的时间是否超时,包括:
    基于所述唯一标识符,在所述字典Dict中查找与所述唯一标识符对应的所述回调函数,其中,所述回调函数会在超时时被删除;
    若找到所述回调函数,则表明接收到所述真实应答结果的时间没超时;
    若没找到所述回调函数,则表明接收到所述真实应答结果的时间超时。
  6. 如权利要求3所述的以异步方式进行远程过程调用的方法,其特征在于,所述将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端之后,还包括:
    检测所述调用端和所述被调用端之间的网络连接是否断开;
    若断开,则清空所述字典Dict中的数据。
  7. 如权利要求6所述的以异步方式进行远程过程调用的方法,其特征在于,所述检测所述网络连接是否断开,包括:
    检测所述网络连接对应的线程是否进入OnError函数中;
    若是,则表明所述网络连接断开。
  8. 一种以异步方式进行远程过程调用的装置,其特征在于,包括:
    创建单元,用于在调用远程过程时,创建与所述远程过程对应的回调函数;
    发送单元,用于将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
    第一返回单元,用于向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;
    第二返回单元,用于在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
  9. 一种以异步方式进行远程过程调用的装置,包括存储器、处理器及存 储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
    在调用远程过程时,创建与所述远程过程对应的回调函数;
    将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
    向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;
    在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
  10. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
    在调用远程过程时,创建与所述远程过程对应的回调函数;
    将调用所述远程过程所需的调用请求发送给所述远程过程的被调用端;
    向所述远程过程的调用端返回一虚拟应答结果,以使得所述调用端对应的线程处于唤醒状态;
    在接收到所述被调用端返回的真实应答结果时,通过所述回调函数将所述真实应答结果返回给所述调用端。
PCT/CN2017/111002 2017-06-30 2017-11-15 一种以异步方式进行远程过程调用的方法及装置 WO2019000791A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710524036.3 2017-06-30
CN201710524036.3A CN107402826B (zh) 2017-06-30 2017-06-30 一种以异步方式进行远程过程调用的方法及装置

Publications (1)

Publication Number Publication Date
WO2019000791A1 true WO2019000791A1 (zh) 2019-01-03

Family

ID=60404778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/111002 WO2019000791A1 (zh) 2017-06-30 2017-11-15 一种以异步方式进行远程过程调用的方法及装置

Country Status (2)

Country Link
CN (1) CN107402826B (zh)
WO (1) WO2019000791A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659140B (zh) * 2018-06-30 2022-01-04 武汉斗鱼网络科技有限公司 一种指令执行的方法以及相关设备
CN112631701A (zh) * 2020-12-22 2021-04-09 平安普惠企业管理有限公司 页面请求方法、装置、计算机设备和存储介质
CN112788104B (zh) * 2020-12-25 2023-05-12 珠海金山数字网络科技有限公司 一种远程过程调用方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262498A (zh) * 2008-04-22 2008-09-10 华为技术有限公司 一种分布式调用消息的方法和装置
CN102567111A (zh) * 2011-12-23 2012-07-11 深圳市融创天下科技股份有限公司 一种异步过程调用的方法、系统和终端设备
CN103051728A (zh) * 2013-01-10 2013-04-17 太仓市同维电子有限公司 一种远程过程调用方法
US20140281449A1 (en) * 2013-03-14 2014-09-18 American Megatrends, Inc. Method of installing virtual service processor (vsp) to computing device and application of the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662778A (zh) * 2012-04-28 2012-09-12 杭州格畅科技有限公司 在线应用平台上应用间通信的回调应答方法、应用及在线应用平台
CN103885973B (zh) * 2012-12-21 2017-07-07 中国科学院声学研究所 一种基于Web引擎的远程过程调用系统及实现方法
CN106161537B (zh) * 2015-04-10 2019-12-13 阿里巴巴集团控股有限公司 远程过程调用的处理方法、装置、系统及电子设备
CN105357273B (zh) * 2015-09-30 2018-06-19 山东乾云启创信息科技股份有限公司 异步通信模式下socket通信与进程管理通用平台及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262498A (zh) * 2008-04-22 2008-09-10 华为技术有限公司 一种分布式调用消息的方法和装置
CN102567111A (zh) * 2011-12-23 2012-07-11 深圳市融创天下科技股份有限公司 一种异步过程调用的方法、系统和终端设备
CN103051728A (zh) * 2013-01-10 2013-04-17 太仓市同维电子有限公司 一种远程过程调用方法
US20140281449A1 (en) * 2013-03-14 2014-09-18 American Megatrends, Inc. Method of installing virtual service processor (vsp) to computing device and application of the same

Also Published As

Publication number Publication date
CN107402826A (zh) 2017-11-28
CN107402826B (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
US20220179682A1 (en) Task processing method, apparatus, and system based on distributed system
WO2019184164A1 (zh) 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质
CN112380093A (zh) 运维处理方法、装置及计算机设备
WO2019000790A1 (zh) 一种以同步方式进行远程过程调用的方法及装置
CN105354108B (zh) 一种数据备份方法及节点
WO2019000791A1 (zh) 一种以异步方式进行远程过程调用的方法及装置
CN108833578B (zh) 基于fifo命名管道进行双工通信的方法及相关设备
CN113220431B (zh) 跨云的分布式数据任务调度方法、设备及存储介质
CN107656705B (zh) 一种计算机存储介质和一种数据迁移方法、装置及系统
CN107967207B (zh) 用户界面交互功能的测试方法和装置
CN104850491A (zh) 一种软件测试方法、设备及系统
CN105373563B (zh) 数据库切换方法及装置
CN114201458B (zh) 一种信息更新方法、微服务系统及计算机可读存储介质
CN111200651A (zh) 定时调用微服务的方法、系统、设备和介质
CN113220480B (zh) 分布式的数据任务跨云调度系统及方法
CN106557522B (zh) 一种用于提供定时功能的方法与设备
CN106453213B (zh) 一种系统间调用方法及装置
US10693731B2 (en) Flow entry management method and device
WO2020063769A1 (zh) 一种用户请求的处理方法、装置及服务器
CN109086115B (zh) Android动画执行方法、装置、终端及可读介质
CN116909746A (zh) 一种请求处理方法、服务端及介质
CN108228880B (zh) 数据库管理系统调用外部函数的方法、装置、设备及介质
CN108154343B (zh) 一种企业级信息系统的应急处理方法及系统
US11693739B2 (en) Hang detection and remediation in a multi-threaded application process
CN110691002B (zh) 一种中断检测方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17915704

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17915704

Country of ref document: EP

Kind code of ref document: A1