CN107294911B - 一种数据包监听方法及装置、远程过程调用***、设备 - Google Patents

一种数据包监听方法及装置、远程过程调用***、设备 Download PDF

Info

Publication number
CN107294911B
CN107294911B CN201610200296.0A CN201610200296A CN107294911B CN 107294911 B CN107294911 B CN 107294911B CN 201610200296 A CN201610200296 A CN 201610200296A CN 107294911 B CN107294911 B CN 107294911B
Authority
CN
China
Prior art keywords
data packet
task
rpc
unit
delay time
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.)
Active
Application number
CN201610200296.0A
Other languages
English (en)
Other versions
CN107294911A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610200296.0A priority Critical patent/CN107294911B/zh
Publication of CN107294911A publication Critical patent/CN107294911A/zh
Application granted granted Critical
Publication of CN107294911B publication Critical patent/CN107294911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开一种数据包监听方法及装置、远程过程调用***、设备,其中方法包括如下步骤:数据包监听装置接收处理器发送的任务的访问消息,访问消息用于访问数据包监听装置中是否有与任务对应的数据包到达;若数据包监听装置中没有与任务对应的数据包,启动机会延时时间,机会延时时间用以指示处理器在机会延时时间结束前不再向数据包监听装置发送任务的访问消息;当在机会延时时间内数据包监听装置中有与任务对应的数据包到达,将与任务对应的数据包反馈给处理器,并结束机会延时时间。采用本发明,能够在客户端接收到的数据包的数量稀疏的情况下,减小处理器资源的占用比,并能降低通信延迟。

Description

一种数据包监听方法及装置、远程过程调用***、设备
技术领域
本发明涉及数据传输技术领域,尤其涉及一种数据包监听方法及装置、远程过程调用***、设备。
背景技术
远程过程调用(Remote Procedure Call,RPC)是一种常用的分布式网络通信协议,它允许运行于一台计算机的程序调用另一台计算机的子程序,同时将网络的通信细节隐藏起来,使得用户无须额外地为这个交互作用编程。由于RPC大大简化了分布式程序开发,因此备受欢迎。通常,RPC采用客户端/服务端模式,请求程序就是一个客户端,而服务提供程序就是一个服务端。在进行RPC时,首先,客户端调用进程发送调用请求到服务进程,然后等待响应数据包;在服务端端,当一个调用请求到达时,服务端通过对调用请求进行处理获得答复消息并发送向客户端答复信息;最后,客户端调用进程接收答复信息,然后调用执行继续进行后续任务。
客户端通过RPC执行任务时,处理器通过轮询访问网卡的方式获取与任务相对应的响应数据包。具体的,如图1所示,客户端采用多线程模型,包括轮询线程、等待线程和任务线程,轮询线程是指处理器不断轮询访问网卡是否有接收到与任务相对应的响应数据包,等待线程是指网卡忙等待新数据包,在接收到与任务相对应的响应数据包之后,且接收到轮询线程的轮询访问后将响应数据包反馈给处理器,处理器将反馈的响应数据包派发给相应的任务线程以进行任务执行。
然而,在响应数据包稀疏的情况下,当客户端等待响应数据包的过程中,客户端需要不断轮询以查看是否检测到响应数据包,这样会占用一定的处理器资源,增加了处理器资源的占用比。在处理器的轮询操作下,由于处理器仅能够在每次轮询周期完成后才有机会获得响应数据包,因此当数据包在轮询周期中到达时,处理器获取响应数据包会存在一定延迟。
发明内容
本发明实施例提供一种数据包监听方法及装置、远程过程调用***、设备,能够在客户端接收到的数据包的数量稀疏的情况下,减小处理器资源的占用比,并能降低通信延迟。
本发明实施例第一方面提供了一种数据包监听方法,包括:数据包监听装置接收处理器发送的任务的访问消息,所述访问消息用于访问指示所述数据包监听装置确定所述数据包监听装置中是否有与所述任务对应的数据包到达,若没有与所述任务对应的数据包,启动机会延时时间,当在所述机会延时时间内有与所述任务对应的数据包到达,将所述数据包反馈给所述处理器,并结束所述机会延时时间。其中,所述机会延时时间用以指示所述处理器在所述机会延时时间结束前不再向所述数据包监听装置发送所述任务的访问消息。
对于在发送至数据包监听装置的数据包数量稀疏的情况下,通过增加启动机会延时时间的方案,由于在机会延时时间内,处理器无需在延时时间内再通过访问消息对数据包监听装置进行轮询,从而降低了处理器占用率,节省了处理器资源;由于如果在延时时间内的任意一个时刻检测到数据包,所述数据包监听装置能够及时将所述数据包发送给处理器,降低了通信延迟。
结合第一方面,在第一方面的第一种实现方式中,若所述数据包监听装置中有与所述任务对应的数据包,所述数据包监听装置将所述与所述任务对应的数据包反馈给所述处理器。因此,所述数据包监听装置在接收到处理器发送的任务的访问消息之后,若有与所述任务对应的数据包,可以直接向处理器反馈。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,在所述数据包处理装置启动机会延时时间之后,当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,所述数据包监听装置向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。由于在机会延时时间内,处理器无需在延时时间内再通过访问消息对数据包监听装置进行轮询,从而降低了处理器占用率,节省了处理器资源。
结合第一方面、第一方面的第一种实现方式或第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述数据包为远程过程调用RPC数据包。可以理解的是,所述RPC数据包是基于RPC的数据包。
结合第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述数据包监听装置接收处理器发送的任务的访问消息之前,所述数据包监听装置接收处理器发送的任务的RPC数据包调用请求,将接收到的RPC数据包调用请求发送至所述目标数据包监听装置,所述RPC数据包调用请求用于指示所述目标数据包监听装置返回响应所述RPC数据包调用请求的RPC数据包,其中,该RPC数据包调用请求携带接收所述RPC数据包调用请求的目标数据包监听装置对应的目标标识。在所述数据包监听装置等待目标数据包监听装置返回响应的RPC数据包的过程中,可通过执行第一方面中所包括的以上实现方式中的步骤,以降低通信延迟。
本发明实施例第二方面提供了另一种数据包监听方法,应用于客户端,所述客户端包括监听单元和处理单元,所述处理单元向所述监听单元发送任务的访问消息,所述访问消息用于访问所述监听单元中是否有与所述任务对应的数据包到达,所述监听单元接收访问消息,若所述监听单元中没有与所述任务对应的数据包,所述监听单元启动机会延时时间,当在机会延时时间内所述监听单元中有与所述任务对应的数据包到达,所述监听单元将所述与所述任务对应的数据包反馈给所述处理单元,并结束所述机会延时时间,所述处理单元接收所述监听单元反馈的所述数据包,并根据所述数据包执行对应的所述任务,所述机会延时时间用以指示所述处理单元在所述机会延时时间结束前不再向所述监听单元发送所述任务的访问消息。
对于在发送至监听单元的数据包数量稀疏的情况下,通过增加启动机会延时时间的方案,由于在机会延时时间内,处理单元无需在延时时间内再通过访问消息对监听单元进行轮询,从而降低了处理单元占用率,节省了处理单元资源;由于如果在延时时间内的任意一个时刻检测到数据包,所述监听单元能够及时将所述数据包发送给处理单元,降低了通信延迟。
结合第二方面,在第二方面的第一种实现方式中,若所述监听单元中有与所述任务对应的数据包,所述监听单元将所述与所述任务对应的数据包反馈给所述处理单元,所述处理单元接收所述监听单元反馈的所述数据包,并根据所述数据包执行对应的所述任务。因此,所述监听单元在接收到处理单元发送的任务的访问消息之后,若有与所述任务对应的数据包,可以直接向处理单元反馈。
结合第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,当在所述机会延时时间内所述监听单元中没有与所述任务对应的数据包到达,所述监听单元向所述处理单元反馈没有与所述任务对应的数据包到达的返回消息;所述处理单元接收所述监听单元反馈的所述返回消息。由于在机会延时时间内,处理单元无需在延时时间内再通过访问消息对监听单元进行轮询,从而降低了处理单元占用率,节省了处理单元资源。
结合第二方面、第二方面的第一种实现方式或第二方面的第二种实现方式,在第二方面的第三种实现方式中,所述数据包为远程过程调用RPC数据包。可以理解的是,所述RPC数据包是基于RPC的数据包。
结合第二方面的第三种实现方式,在第二方面的第四种实现方式中,所述处理单元向所述监听单元发送任务的访问消息之前,向所述监听单元发送任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标服务端对应的目标标识;所述监听单元接收所述处理单元发送的RPC数据包调用请求;所述监听单元将所述RPC数据包调用请求发送至所述目标服务端,所述RPC数据包调用请求用于指示所述目标服务端返回响应所述RPC数据包调用请求的RPC数据包。在所述监听单元等待目标服务端返回响应的RPC数据包的过程中,可通过执行第二方面中所包括的以上实现方式中的步骤,以降低通信延迟。
可选的,所述客户端可以通过启动一个线程完成所执行的步骤。相比于现有技术中采用多线程的方案,减少了线程数量。
本发明实施例第三方面提供了一种远程过程调用***,所述远程过程调用***包括客户端和服务端,所述客户端包括第一监听单元和第一处理单元,所述服务端包括第二监听单元和第二处理单元,所述第一监听单元用于获取从所述第二监听单元发送的远程过程调用RPC数据包,所述第二监听单元用于接收从所述第一监听单元发送的RPC数据包调用请求,其中,
在服务端中:第二处理单元向第二监听单元发送是否有RPC数据包调用请求到达的访问消息,若第二监听单元中没有RPC数据包调用请求,第二监听单元向第二处理单元发送未有RPC数据包调用请求到达的返回消息。
在客户端中:第一处理单元通过第一监听单元向第二监听单元转发任务的RPC数据包调用请求,第一处理单元向第一监听单元发送任务的访问消息,访问消息用于访问第一监听单元中是否有与任务对应的RPC数据包到达,第一监听单元接收访问消息,若第一监听单元中没有与任务对应的RPC数据包,第一监听单元启动机会延时时间,机会延时时间用以指示第一处理单元在机会延时时间结束前不再向第一监听单元发送任务的访问消息,当在机会延时时间内第一监听单元中有与任务对应的RPC数据包到达,第一监听单元将与任务对应的RPC数据包反馈给第一处理单元,并结束机会延时时间,第一处理单元接收第一监听单元反馈的RPC数据包,并根据RPC数据包执行对应的任务。
对于在发送至第一监听单元的RPC数据包数量稀疏的情况下,通过增加启动机会延时时间的方案,由于在机会延时时间内,第一处理单元无需在延时时间内再通过访问消息对第一监听单元进行轮询,从而降低了第一处理单元占用率,节省了第一处理单元资源,由于如果在延时时间内的任意一个时刻检测到RPC数据包,第一监听单元能够及时将RPC数据包发送给第一处理单元,降低了通信延迟。
可选的,客户端可通过单线程完成所执行的全部步骤或者部分步骤,这样对于即使是单处理器的客户端也可以较好的利用CPU资源;而所述服务端可通过多线程完成所执行的全部步骤或部分步骤,这样满足了服务端高并发和低延迟的需求,因此可以通过服务端采用多线程模型和客户端采用单线程模型的不对等方式实现远程过程调用。
结合第三方面,在第三方面的第一种实现方式中,在服务端中:若第二监听单元中有RPC数据包调用请求,第二监听单元向第二处理单元发送RPC数据包调用请求,第二处理单元接收由第二监听单元发送的RPC数据包调用请求,并根据RPC数据包调用请求生成相应的RPC数据包,通过第二监听单元向第一监听单元转发RPC数据包。
在客户端中:若第一监听单元中有与任务对应的RPC数据包,第一监听单元将RPC数据包反馈给第一处理单元,以使第一处理单元根据RPC数据包执行对应的任务。因此,所述第一监听单元在接收到第一处理单元发送的任务的访问消息之后,若有与所述任务对应的数据包,可以直接向第一处理单元反馈。
结合第三方面或第三方面的第一种实现方式,在第三方面的第二种实现方式中,当在机会延时时间内第一监听单元中没有与任务对应的RPC数据包到达,第一监听单元向第一处理单元反馈没有与任务对应的RPC数据包到达的返回消息。
本发明实施例第四方面提供了一种数据包监听装置,包括:接收模块,用于接收处理器发送的任务的访问消息,所述访问消息用于访问指示所述数据包监听装置确定所述数据包监听装置中是否有与所述任务对应的数据包到达;启动模块,用于若所述数据包监听装置中没有与所述任务对应的数据包,启动机会延时时间,所述机会延时时间用以指示所述处理器在所述机会延时时间结束前不再向所述数据包监听装置发送所述任务的访问消息;反馈模块,用于当在所述机会延时时间内所述数据包监听装置中有与所述任务对应的数据包到达,将所述与所述任务对应的数据包反馈给所述处理器,并结束所述机会延时时间。
对于在发送至数据包监听装置的数据包数量稀疏的情况下,通过增加启动机会延时时间的方案,由于在机会延时时间内,处理器无需在延时时间内再通过访问消息对数据包监听装置进行轮询,从而降低了处理器占用率,节省了处理器资源;由于如果在延时时间内的任意一个时刻检测到数据包,所述数据包监听装置能够及时将所述数据包发送给处理器,降低了通信延迟。
结合第四方面,在第四方面的第一种实现方式中,所述反馈模块,还用于若所述数据包监听装置中有与所述任务对应的数据包,将所述与所述任务对应的数据包反馈给所述处理器。因此,所述数据包监听装置在接收到处理器发送的任务的访问消息之后,若有与所述任务对应的数据包,可以直接向处理器反馈。
结合第四方面或第四方面的第一种实现方式,在第四方面的第二种实现方式中,所述反馈模块,还用于当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
结合第四方面、第四方面的第一种实现方式或第四方面的第二种实现方式,在第四方面的第三种实现方式中,所述数据包为远程过程调用RPC数据包。可以理解的是,所述RPC数据包是基于RPC的数据包。
结合第四方面的第三种实现方式,在第四方面的第四种实现方式中,所述数据包监听装置还包括发送模块:所述接收模块,还用于接收处理器发送的任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标数据包监听装置对应的目标标识;发送模块,用于将所述RPC数据包调用请求发送至所述目标数据包监听装置,所述RPC数据包调用请求用于指示所述目标数据包监听装置返回响应所述RPC数据包调用请求的RPC数据包。
本发明实施例第五方面提供了一种远程过程调用设备,所述远程过程调用设备包括监听单元和处理单元,其中,所述处理单元用于向所述监听单元发送是否有与所述任务对应的数据包到达的访问消息;所述监听单元用于接收所述访问消息,若所述监听单元中没有与所述任务对应的数据包,所述监听单元用于启动机会延时时间,当在所述机会延时时间内所述监听单元中有与所述任务对应的数据包到达,所述监听单元用于将所述与所述任务对应的数据包反馈给所述处理单元,并结束所述机会延时时间;所述处理单元用于接收所述监听单元反馈的所述数据包,并根据所述数据包执行对应的所述任务。所述机会延时时间用以指示所述处理单元在所述机会延时时间结束前不再向所述监听单元发送所述任务的访问消息。
对于在发送至监听单元的数据包数量稀疏的情况下,通过增加启动机会延时时间的方案,由于在机会延时时间内,处理单元无需在延时时间内再通过访问消息对监听单元进行轮询,从而降低了处理单元占用率,节省了处理单元资源;由于如果在延时时间内的任意一个时刻检测到数据包,所述监听单元能够及时将所述数据包发送给处理单元,降低了通信延迟。
结合第五方面,在第五方面的第一种实现方式中,若所述监听单元中有与所述任务对应的数据包,所述监听单元用于将所述与所述任务对应的数据包反馈给所述处理单元;所述处理单元用于接收所述监听单元反馈的所述数据包,并根据所述数据包执行对应的所述任务。因此,所述监听单元在接收到处理单元发送的任务的访问消息之后,若有与所述任务对应的数据包,可以直接向处理单元反馈。
结合第五方面或第五方面的第一种实现方式,在第五方面的第二种实现方式中,当在所述机会延时时间内所述监听单元中没有与所述任务对应的数据包到达,所述监听单元用于向所述处理单元反馈没有与所述任务对应的数据包到达的返回消息;所述处理单元用于接收所述监听单元反馈的所述返回消息。由于在机会延时时间内,处理单元无需在延时时间内再通过访问消息对监听单元进行轮询,从而降低了处理单元占用率,节省了处理单元资源。
结合第五方面、第五方面的第一种实现方式或第五方面的第二种实现方式,在第五方面的第三种实现方式中,所述数据包为远程过程调用RPC数据包。
结合第五方面的第三种实现方式,在第五方面的第四种实现方式中,所述处理单元用于向所述监听单元发送任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标服务设备对应的目标标识;所述监听单元用于接收所述处理单元发送的RPC数据包调用请求;所述监听单元用于将所述RPC数据包调用请求发送至所述目标服务设备,所述RPC数据包调用请求用于指示所述目标服务设备返回响应所述RPC数据包调用请求的RPC数据包。
本发明实施例第六方面提供了一种远程过程调用设备,所述远程过程调用设备具有实现上述方法实际中监听单元和处理单元的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,远程过程调用设备的结构中包括处理器、数据包监听装置、存储器,所述存储器用于存储支持管理设备执行上述方法的应用程序代码,所述数据包监听装置被配置为用于执行所述存储器中存储的与监听单元相关的应用程序,所述处理器被配置为用于执行所述存储器中存储的与处理单元相关的应用程序。所述远程过程调用设备还可以包括通信接口,用于远程过程调用设备与其他设备或通信网络通信。
本发明实施例第七方面提供了一种计算机存储介质,用于储存为上述远程过程调用设备中监听单元和处理单元所用的计算机软件指令,其包含用于执行上述方面为远程过程调用设备中监听单元和处理单元所设计的程序。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种多线程模型;
图2是本发明实施例提供的一种可能的***网络示意图;
图3是本发明实施例提供的一种数据包监听方法的流程示意图;
图4是本发明实施例提供的另一种数据包监听方法的流程示意图;
图5是本发明实施例提供的另一种数据包监听方法的流程示意图;
图6是本发明实施例提供的一种数据包监听装置的结构示意图;
图7是本发明实施例提供的另一种数据包监听装置的结构示意图;
图8是本发明实施例提供的一种远程过程调用设备的结构示意图
图9是本发明实施例提供的另一种远程过程调用设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例描述的网络架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参见图2,是本发明实施例的一种可能的***网络示意图。如图2所示,该***网络示意图包括:客户端(Client)和服务端(Server),该***架构简称C/S结构,该网络架构中可以包括一个或者多个客户端,以及一个或者多个服务端。客户端可以向服务端发出请求,服务端在接收到请求之后进行处理以响应客户端。举例来说,该C/S结构可以应用在分布式数据库***中,其中,服务端为数据库服务器,分布式数据库***可以包括多个数据库服务器,一个或者多个客户端可通过通信接口访问该分布式数据库***中的数据库服务器,其中,客户端和数据库服务器之间可通过RPC通信,具体进行RPC时,客户端调用进程发送调用请求到服务进程,然后等待响应数据包;在数据库服务器,当一个调用请求到达时,数据库服务器通过对调用请求进行处理获得答复消息并发送向客户端答复信息;最后,客户端调用进程接收答复信息,然后调用执行继续进行后续任务。
请参见图3,为本发明实施例提供了一种数据包监听方法的流程示意图。如图3所示,本发明实施例的所述方法可以包括以下步骤S301-步骤S305。可选的,图3所示的数据包监听方法可以应用于客户端中。
S301,数据包监听装置接收处理器发送的任务的访问消息。
具体的,所述数据包监听装置接收处理器发送的任务的访问消息,其中,所述访问消息用于访问指示所述数据包监听装置确定所述数据包监听装置中是否有与所述任务对应的数据包到达。可选的,所述任务的访问消息和与所述任务对应的数据包,可以通过增加任务标识进行区分。
S302,若所述数据包监听装置中没有与所述任务对应的数据包,启动机会延时时间。
具体的,在接收到处理器发送任务的访问消息之后,若所述数据包监听装置中没有与所述任务对应的数据包,启动机会延时时间。所述机会延时时间用以指示所述处理器在所述机会延时时间结束前不再向所述数据包监听装置发送所述任务的访问消息。所述机会延时时间是预设的。可选的,所述机会延时时间可根据所述数据包监听装置将所述数据包发送至处理器的传播时延也设定,举例来说,若将所述数据包发送至处理器的传播时延为T1,则可以将所述机会延时时间T2设定为传播时延T1的整数倍(比如,50倍或100倍),本发明实施例对延时时间的设定不做限定。
S303,若所述数据包监听装置中有与所述任务对应的数据包,所述数据包监听装置将所述与所述任务对应的数据包反馈给所述处理器。
具体的,若所述数据包监听装置中有与所述任务对应的数据包,所述数据包监听装置将所述与所述任务对应的数据包反馈给所述处理器,以使所述处理器根据所述数据包执行对应的所述任务。
S304,当在所述机会延时时间内所述数据包监听装置中有与所述任务对应的数据包到达,所述数据包监听装置将所述与所述任务对应的数据包反馈给所述处理器,以使所述处理器根据所述数据包执行对应的所述任务,并结束所述机会延时时间。
具体的,在所述数据包监听装置启动机会延时时间之后,当在所述机会延时时间内所述数据包监听装置中有与所述任务对应的数据包到达,所述数据包监听装置将所述与所述任务对应的数据包反馈给所述处理器,以使所述处理器根据所述数据包执行对应的所述任务,并结束所述机会延时时间。其中,所述数据包监听装置是在所述机会延时间内的任意一个时刻检测到数据包,就将所述数据包反馈至处理器,并结束所述机会延时时间。
举例来说,假设所述机会延时时间为1s,在启动机会延时时间之后,若在0.3s有与所述任务对应的数据包到达所述数据包监听装置,所述数据包监听装置及时将与所述任务对应的数据包反馈给所述处理器,并结束所述机会延时时间,在所述数据包监听装置结束所述机会延时时间之后,表示所述数据包监听装置可再次接收处理器发送的关于其他任务的访问消息。
S305,当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,所述数据包监听装置向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
具体的,在所述数据包监听装置启动机会延时时间之后,当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,所述数据包监听装置向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
需要说明的是,对于到达数据包监听装置的数据包的数量较多的情况,由于数据包的数量较多,所述数据包监听装置会将接收到的数据包直接反馈至处理器,有可能不会启动机会延时时间,与现有的处理器不断轮询访问的技术方案相比,两种方案的数据包的通信延迟是一样的;而对于到达数据包监听装置的数据包的数量稀疏的情况下,一旦所述数据包监听装置中没有与任务相对应的数据包,必然会执行启动机会延时时间的过程,并且在启动机会延时时间的过程中,一旦检测到数据包,所述数据包监听装置就将数据包反馈至处理器并结束机会延时时间,而现有的技术方案仅能够在每次轮询周期完成后才有机会获得响应数据包,是因为处理器轮询是否有数据包的通信过程中也存在通信延迟,即包括处理器询问和向处理器反馈的往返通信延迟,假如数据包在向处理器反馈的过程中收到数据包,现有技术只有等到处理器下一次轮询的时候,才能将数据包向处理器反馈,而本发明实施例的技术方案,通过启动机会延时时间,只要在机会延时时间内到达的数据包就能及时反馈给处理器,并不存在现有的技术方案中所增加的一次处理器的轮询过程,进而也减少了通信延迟,因此,对于在客户端接收到的数据包的数量稀疏的情况下,本发明实施例中的技术方案能够减少数据包反馈过程中的通信延迟。另外,对于数据包稀疏的情况下,在数据包监听装置启动机会延时时间后,处理器在所述机会延时时间结束前不再向所述数据包监听装置发送所述任务的访问消息,减少了现有技术方案中,由于处理器不断轮询所占用的资源,进而本发明实施例能够降低了处理器资源的占用比。
请参见图4,为本发明实施例提供了另一种数据包监听方法的流程示意图。如图4所示,本发明实施例的所述方法可以包括以下步骤S401-步骤S406。其中,图4所示的数据包监听方法应用于客户端中,所述客户端1包括监听单元12和处理单元11。
S401,所述处理单元11向所述监听单元12发送任务的访问消息,所述访问消息用于访问所述监听单元12中是否有与所述任务对应的数据包到达。
具体的,所述处理单元11向所述监听单元12发送任务的访问消息,所述访问消息用于访问所述监听单元12中是否有与所述任务对应的数据包到达。
相应地,所述监听单元12接收所述访问消息。
S402,若所述监听单元12中有与所述任务对应的数据包,所述监听单元12将所述与所述任务对应的数据包反馈给所述处理单元11。
具体的,若所述监听单元12中有与所述任务对应的数据包,所述监听单元12将所述与所述任务对应的数据包反馈给所述处理单元11,以使所述处理单元11根据所述数据包执行对应的所述任务。
相应地,所述处理单元11接收所述监听单元12反馈的所述数据包,并执行步骤S406。
S403,若所述监听单元12中没有与所述任务对应的数据包,所述监听单元12启动机会延时时间。
具体的,在接收到处理单元11发送任务的访问消息之后,若所述监听单元12中没有与所述任务对应的数据包,所述监听单元12启动机会延时时间。所述机会延时时间用以指示所述处理单元11在所述机会延时时间结束前不再向所述监听单元12发送所述任务的访问消息。所述机会延时时间是预设的。可选的,所述机会延时时间可根据所述监听单元12将所述数据包发送至处理单元11的传播时延也设定,举例来说,若将所述数据包发送至处理单元11的传播时延为T1,则可以将所述机会延时时间T2设定为传播时延T1的整数倍(比如,50倍或100倍),本发明实施例对延时时间的设定不做限定。
S404,当在所述机会延时时间内所述监听单元12中没有与所述任务对应的数据包到达,所述监听单元12向所述处理单元11反馈没有与所述任务对应的数据包到达的返回消息。
具体的,在所述监听单元12启动机会延时时间之后,当在所述机会延时时间内所述监听单元12中没有与所述任务对应的数据包到达,所述监听单元12向所述处理单元11反馈没有与所述任务对应的数据包到达的返回消息。
相应地,所述处理单元11接收所述监听单元12反馈的所述返回消息。可选的,所述处理单元11在接收到返回消息之后,可以继续向所述监听单元12发送是否有关于任一任务的数据包达到的访问消息。
S405,当在所述机会延时时间内所述监听单元12中有与所述任务对应的数据包到达,所述监听单元12将所述与所述任务对应的数据包反馈给所述处理单元11,并结束所述机会延时时间。
具体的,在所述监听单元12启动机会延时时间之后,当在所述机会延时时间内所述监听单元12中有与所述任务对应的数据包到达,所述监听单元12将所述与所述任务对应的数据包反馈给所述处理单元11,以使所述处理单元11根据所述数据包执行对应的所述任务,并结束所述机会延时时间。其中,所述监听单元12是在所述机会延时间内的任意一个时刻检测到数据包,就将所述数据包反馈至处理单元11,并结束所述机会延时时间。
举例来说,假设所述机会延时时间为1s,在启动机会延时时间之后,若在0.3s有与所述任务对应的数据包到达所述监听单元12,所述监听单元12及时将与所述任务对应的数据包反馈给所述处理单元11,并结束所述机会延时时间,在所述监听单元12结束所述机会延时时间之后,表示所述监听单元12可再次接收处理单元11发送的关于其他任务的访问消息。
相应地,所述处理单元11接收所述监听单元12反馈的所述数据包,并执行步骤S406。
S406,所述处理单元11根据所述数据包执行对应的所述任务。
具体的,所述处理单元11根据所述数据包执行对应的任务。
需要说明的是,对于到达监听单元12的数据包的数量较多的情况,由于数据包的数量较多,所述监听单元12会将接收到的数据包直接反馈至处理单元11,有可能不会启动机会延时时间,与现有的处理单元11不断轮询访问的技术方案相比,两种方案的数据包的通信延迟是一样的;而对于到达监听单元12的数据包的数量稀疏的情况下,一旦所述监听单元12中没有与任务相对应的数据包,必然会执行启动机会延时时间的过程,并且在启动机会延时时间的过程中,一旦检测到数据包,所述监听单元12就将数据包反馈至处理单元11并结束机会延时时间,而现有的技术方案仅能够在每次轮询周期完成后才有机会获得响应数据包,是因为处理单元11轮询是否有数据包的通信过程中也存在通信延迟,即包括处理单元11询问和向处理单元11反馈的往返通信延迟,假如数据包在向处理单元11反馈的过程中收到数据包,现有技术只有等到处理单元11下一次轮询的时候,才能将数据包向处理单元11反馈,而本发明实施例的技术方案,通过启动机会延时时间,只要在机会延时时间内到达的数据包就能及时反馈给处理单元11,并不存在现有的技术方案中所增加的一次处理单元11的轮询过程,进而也减少了通信延迟,因此,对于在客户端接收到的数据包的数量稀疏的情况下,本发明实施例中的技术方案能够减少数据包反馈过程中的通信延迟。另外,对于数据包稀疏的情况下,在监听单元12启动机会延时时间后,处理单元11在所述机会延时时间结束前不再向所述监听单元12发送所述任务的访问消息,减少了现有技术方案中,由于处理单元11不断轮询所占用的资源,进而本发明实施例能够降低了资源的占用比。
请参见图5,为本发明实施例提供了另一种数据包监听方法的流程示意图。如图5所示,本发明实施例的所述方法可以包括以下步骤S501-步骤S514。其中,图5所示的数据包监听方法应用于远程过程调用***,所述远程过程调用***包括客户端1和服务端2,其特征在于,所述客户端1包括第一监听单元12和第一处理单元11,所述服务端2包括第二监听单元21和第二处理单元22,所述第一监听单元12用于获取从所述第二监听单元21发送的远程过程调用RPC数据包,所述第二监听单元21用于接收从所述第一监听单元12发送的RPC数据包调用请求。
S501,所述第二处理单元22向所述第二监听单元21发送是否有RPC数据包调用请求到达的访问消息。
具体的,所述第二处理单元22向所述第二监听单元21发送是否有RPC数据包调用请求到达的访问消息,可选的,所述第二处理单元22可通过轮询访问的方式向所述第二监听单元21发送是否有RPC数据包调用请求到达的访问消息,例如,启动轮询线程执行步骤S501。
相应地,所述第二监听单元21接收所述处理器发送的是否有RPC数据包调用请求到达的访问消息。
S502,若所述第二监听单元21中没有RPC数据包调用请求,所述第二监听单元21向所述第二处理单元22发送未有RPC数据包调用请求到达的返回消息。
具体的,所述第二监听单元21接收到所述处理器发送的是否有RPC数据包调用请求到达的访问消息之后,若所述第二监听单元21中没有RPC数据包调用请求,所述第二监听单元21向所述第二处理单元22发送未有RPC数据包调用请求到达的返回消息。
相应地,所述第二处理单元22接收未有RPC数据包调用请求到达的返回消息。可选的,所述第二处理单元22可按照预设周期继续执行步骤S501。
S503,所述第一处理单元11向所述第一监听单元12发送任务的RPC数据包调用请求。
具体的,所述第一处理单元11向所述第一监听单元12发送任务的RPC数据包调用请求。可选的,所述RPC数据包调用请求携带向第二监听单元21发送的指示消息,例如,对于所述客户端1的所述第一监听单元12可以向多个服务端发送RPC数据包调用请求的情况下,可通过在RPC数据包调用请求中携带目标服务端标识,以使所述第一监听单元12可根据RPC数据包调用请求获知是向目标服务端中的目标监听单元发送RPC数据包调用请求,在本发明实施例中,所述目标监听单元为第二监听单元21。
相应地,所述第一监听单元12接收任务的RPC数据包调用请求。
S504,所述第一监听单元12向所述第二监听单元21发送任务的RPC数据包调用请求。
具体的,所述第一监听单元12将接收的任务的RPC数据包调用请求向所述第二监听单元21发送。可选的,所述客户端1和所述服务端2具备RPC所需的通信要求,例如,远程通信接口、数据传输通道等等。
相应地,所述第二监听单元21接收所述任务的RPC数据包调用请求。在所述第二监听单元21接收到任务的RPC数据包调用请求之后,执行步骤S511至S513。
在所述第一监听单元12向第二监听单元21发送RPC数据包调用请求之后,等待所述第二监听单元21反馈的与所述RPC数据包调用请求对应的RPC数据包,在等待过程中,所述客户端执行步骤S505-步骤S510之间的全部步骤或者部分步骤,具体根据是否接收到所述第二监听单元21反馈的RPC数据包确定流程走向。另外,在所述第一监听单元12向第二监听单元21发送RPC数据包调用请求之后,所述服务端2中可执行步骤S511-步骤S514的全部步骤或部分步骤。步骤S505-步骤S510之间的全部步骤对应于客户端1,步骤S511-步骤S514的全部步骤对应于服务器2,可以理解的是,所述客户端1和所述服务端2分别执行的步骤并无先后顺序之分。
S505,所述第一处理单元11向所述第一监听单元12发送任务的访问消息。
具体的,所述第一处理单元11向所述第一监听单元12发送任务的访问消息,所述访问消息用于访问所述第一监听单元12中是否有与所述任务对应的数据包到达。
相应地,所述第一监听单元12接收所述访问消息。
S506,若所述第一监听单元12中有与所述任务对应的数据包,所述第一监听单元12将所述与所述任务对应的数据包反馈给所述第一处理单元11。
具体的,在所述第一监听单元12接收到所述访问消息之后,若所述第一监听单元12中有与所述任务对应的数据包,所述第一监听单元12将所述与所述任务对应的数据包反馈给所述第一处理单元11,以使所述第一处理单元11根据所述数据包执行对应的所述任务。
相应地,所述第一处理单元11接收所述第一监听单元12反馈的所述数据包,并执行步骤S510。
S507,若所述第一监听单元12中没有与所述任务对应的数据包,所述第一监听单元12启动机会延时时间。
具体的,在接收到第一处理单元11发送任务的访问消息之后,若所述第一监听单元12中没有与所述任务对应的数据包,所述第一监听单元12启动机会延时时间。所述机会延时时间用以指示所述第一处理单元11在所述机会延时时间结束前不再向所述第一监听单元12发送所述任务的访问消息。所述机会延时时间是预设的。可选的,所述机会延时时间可根据所述第一监听单元12将所述数据包发送至第一处理单元11的传播时延也设定,举例来说,若将所述数据包发送至第一处理单元11的传播时延为T1,则可以将所述机会延时时间T2设定为传播时延T1的整数倍(比如,50倍或100倍),本发明实施例对延时时间的设定不做限定。
S508,当在所述机会延时时间内所述第一监听单元12中没有与所述任务对应的数据包到达,所述第一监听单元12向所述第一处理单元11反馈没有与所述任务对应的数据包到达的返回消息。
具体的,在所述第一监听单元12启动机会延时时间之后,当在所述机会延时时间内所述第一监听单元12中没有与所述任务对应的数据包到达,所述第一监听单元12向所述第一处理单元11反馈没有与所述任务对应的数据包到达的返回消息。
相应地,所述第一处理单元11接收所述第一监听单元12反馈的所述返回消息。可选的,所述第一处理单元11在接收到返回消息之后,可以继续向所述第一监听单元12发送是否有关于任一任务的数据包达到的访问消息。
S509,当在所述机会延时时间内所述第一监听单元12中有与所述任务对应的数据包到达,所述第一监听单元12将所述与所述任务对应的数据包反馈给所述第一处理单元11,并结束所述机会延时时间。
具体的,在所述第一监听单元12启动机会延时时间之后,当在所述机会延时时间内所述第一监听单元12中有与所述任务对应的数据包到达,所述第一监听单元12将所述与所述任务对应的数据包反馈给所述第一处理单元11,以使所述第一处理单元11根据所述数据包执行对应的所述任务,并结束所述机会延时时间。其中,所述第一监听单元12是在所述机会延时间内的任意一个时刻检测到数据包,就将所述数据包反馈至第一处理单元11,并结束所述机会延时时间。
举例来说,假设所述机会延时时间为1s,在启动机会延时时间之后,若在0.3s有与所述任务对应的数据包到达所述第一监听单元12,所述第一监听单元12及时将与所述任务对应的数据包反馈给所述第一处理单元11,并结束所述机会延时时间,在所述第一监听单元12结束所述机会延时时间之后,表示所述第一监听单元12可再次接收第一处理单元11发送的关于其他任务的访问消息。
相应地,所述第一处理单元11接收所述第一监听单元12反馈的所述数据包,并执行步骤S510。
S510,所述第一处理单元11根据所述数据包执行对应的所述任务。
具体的,所述第一处理单元11根据所述数据包执行对应的任务。
S511,所述第二监听单元21向所述第二处理单元22发送RPC数据包调用请求。
具体的,在所述第二监听单元21接收到任务的RPC数据包调用请求之后,所述第二监听单元21向所述第二处理单元22发送RPC数据包调用请求,以使所述第二处理单元22根据请求做出相应地处理,并确定与所述RPC数据包调用请求所对应的RPC数据包。
相应地,所述第二处理单元22接收所述第二监听单元21发送的RPC数据包调用请求。
S512,所述第二处理单元22根据所述RPC数据包调用请求确定相应的RPC数据包。
具体的,所述第二处理单元22根据所述RPC数据包调用请求确定相应的RPC数据包。可选的,所述第二处理单元22根据所述RPC数据包调用请求中所请求的数据打包为RPC数据包。
S513,所述第二处理单元22向所述第二监听单元21发送所确定的RPC数据包。
具体的,所述第二处理单元22向所述第二监听单元21发送所确定的RPC数据包。
相应地,所述第二监听单元21接收所述第二处理单元22发送的RPC数据包。
S514,所述第二监听单元21向所述数据包监听装置发送所述RPC数据包。
具体的,所述第二监听单元21向所述数据包监听装置发送所述RPC数据包。其中,所述第一监听单元12和所述第二监听单元21是通过远程过程调用协议RPC通信的。
相应地,所述第一监听单元12接收所述第二监听单元21发送的RPC数据包,并在接收到RPC数据包之后,执行步骤S506或者步骤S509。
可行的方案中,客户端1可通过单线程完成所执行的全部步骤或者部分步骤,这样对于即使是单处理器的客户端1也可以较好的利用CPU资源;而所述服务端2可通过多线程完成所执行的全部步骤或部分步骤,这样满足了服务端高并发和低延迟的需求,因此可以通过服务端采用多线程模型和客户端采用单线程模型的不对等方式实现远程过程调用。
需要说明的是,对于到达第一监听单元12的数据包的数量较多的情况,由于数据包的数量较多,所述第一监听单元12会将接收到的数据包直接反馈至第一处理单元11,有可能不会启动机会延时时间,与现有的第一处理单元11不断轮询访问的技术方案相比,两种方案的数据包的通信延迟是一样的;而对于到达第一监听单元12的数据包的数量稀疏的情况下,一旦所述第一监听单元12中没有与任务相对应的数据包,必然会执行启动机会延时时间的过程,并且在启动机会延时时间的过程中,一旦检测到数据包,所述第一监听单元12就将数据包反馈至第一处理单元11并结束机会延时时间,而现有的技术方案仅能够在每次轮询周期完成后才有机会获得响应数据包,是因为第一处理单元11轮询是否有数据包的通信过程中也存在通信延迟,即包括第一处理单元11询问和向第一处理单元11反馈的往返通信延迟,假如数据包在向第一处理单元11反馈的过程中收到数据包,现有技术只有等到第一处理单元11下一次轮询的时候,才能将数据包向第一处理单元11反馈,而本发明实施例的技术方案,通过启动机会延时时间,只要在机会延时时间内到达的数据包就能及时反馈给第一处理单元11,并不存在现有的技术方案中所增加的一次第一处理单元11的轮询过程,进而也减少了通信延迟,因此,对于在客户端接收到的数据包的数量稀疏的情况下,本发明实施例中的技术方案能够减少数据包反馈过程中的通信延迟。另外,对于数据包稀疏的情况下,在第一监听单元12启动机会延时时间后,第一处理单元11在所述机会延时时间结束前不再向所述第一监听单元12发送所述任务的访问消息,减少了现有技术方案中,由于第一处理单元11不断轮询所占用的资源,进而本发明实施例能够降低了资源的占用比。
请参见图6,为本发明实施例提供了一种数据包监听装置的结构示意图。如图6所示,本发明实施例的所述数据包监听装置6可以包括:接收模块601、启动模块602和反馈模块603。可选的,所述数据包监听装置6还可以包括发送模块604。
接收模块601,用于接收处理器发送的任务的访问消息,所述访问消息用于访问指示所述数据包监听装置确定所述数据包监听装置中是否有与所述任务对应的数据包到达;
启动模块602,用于在所述接收模块601接收到处理器发送的任务的访问消息之后,若所述数据包监听装置中没有与所述任务对应的数据包,启动机会延时时间,所述机会延时时间用以指示所述处理器在所述机会延时时间结束前不再向所述数据包监听装置发送所述任务的访问消息;
反馈模块603,用于在所述启动模块602启动机会延时时间之后,当在所述机会延时时间内所述数据包监听装置中有与所述任务对应的数据包到达,将所述与所述任务对应的数据包反馈给所述处理器,以使所述处理器根据所述数据包执行对应的所述任务,并结束所述机会延时时间。
在一种实现方式中,所述反馈模块603,还用于在所述接收模块601接收到处理器发送的任务的访问消息之后,若所述数据包监听装置中有与所述任务对应的数据包,将所述与所述任务对应的数据包反馈给所述处理器,以使所述处理器根据所述数据包执行对应的所述任务。
在一种实现方式中,所述反馈模块603,还用于在所述启动模块602启动机会延时时间之后,当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
在一种实现方式中,所述数据包为远程过程调用RPC数据包。
在一种实现方式中,所述数据包监听装置6还包括发送模块604:
所述接收模块601,还用于接收处理器发送的任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标数据包监听装置对应的目标标识;
所述发送模块604,用于在接收模块601接收到处理器发送的任务的RPC数据包调用请求之后,将所述RPC数据包调用请求发送至所述目标数据包监听装置,所述RPC数据包调用请求用于指示所述目标数据包监听装置返回响应所述RPC数据包调用请求的RPC数据包。
需要说明的是,本发明实施例所描述的数据包监听装置6中各功能模块的功能可根据上述图3至图5所示方法实施例中的方法具体实现,此处不再赘述。
请参见图7,为本发明实施例提供了另一种数据包监听装置的结构示意图。如图7所示,所述数据包监听装置700包括存储单元701、控制单元702、输入单元703和输出单元704。在本发明实施例中,所述数据包监听装置700为具备通信功能的装置,例如,网络适配器或者虚拟网络适配器,虚拟网络适配器在具体操作过程中可以通过调用对应计算机的网络适配器完成通信。其中,所述数据包监听装置700和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而所述数据包监听装置700和计算机之间的通信则是通过计算机主板上的总线705以并行传输方式进行。因此,所述数据包监听装置700的一个重要功能就是要进行串行/并行转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在所述数据包监听装置700中有对数据进行缓存的存储芯片。其中,上述存储单元701可以是高速RAM存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。上述存储单元701用于存储一组程序代码,控制单元702和存储单元701通过总线705连接。
其中,所述存储单元701用于存储程序代码,所述控制单元702用于调用所述存储单元701存储的程序代码执行如下步骤:
通过总线705接收处理器发送的任务的访问消息,所述访问消息用于访问指示所述数据包监听装置确定所述数据包监听装置中是否有与所述任务对应的数据包到达;
若所述数据包监听装置中没有与所述任务对应的数据包,所述控制单元702启动机会延时时间,所述机会延时时间用以指示所述处理器在所述机会延时时间结束前不再向所述数据包监听装置发送所述任务的访问消息;
当在所述机会延时时间内所述数据包监听装置中有与所述任务对应的数据包到达,所述控制单元702将所述与所述任务对应的数据包通过总线705反馈给所述处理器,以使所述处理器根据所述数据包执行对应的所述任务,并结束所述机会延时时间。
在一种实现方式中,所述控制单元702还包括:若所述数据包监听装置中有与所述任务对应的数据包,所述数据包监听装置将所述与所述任务对应的数据包通过总线705反馈给所述处理器,以使所述处理器根据所述数据包执行对应的所述任务。
在一种实现方式中,所述控制单元702还包括:当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,通过总线705向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
在一种实现方式中,所述数据包为远程过程调用RPC数据包。
在一种实现方式中,所述控制单元702在接收处理器发送的任务的访问消息之前,还包括:接收处理器发送的任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标数据包监听装置对应的目标标识;
所述控制单元702将所述RPC数据包调用请求通过输出单元703发送至所述目标数据包监听装置,所述RPC数据包调用请求用于指示所述目标数据包监听装置返回响应所述RPC数据包调用请求的RPC数据包。
需要说明的是,本发明实施例所描述的数据包监听装置700中可根据上述图3至图5所示方法实施例中的方法具体实现,此处不再赘述。
请参见图8,为本发明实施例提供了一种远程过程调用设备的结构示意图。如图8所示,所述远程过程调用设备800包括监听单元801和处理单元802。可选的,在本发明实施例中,所述监听单元801为具备通信功能的装置,例如,网络适配器或者虚拟网络适配器,虚拟网络适配器在具体操作过程中可以通过调用对应计算机的网络适配器完成通信,本发明实施例对此不做限定。可选的,所述监听单元用于获取从为所述远程过程调用设备提供数据服务的服务设备发送的数据包。
所述处理单元802用于向所述监听单元801发送任务的访问消息,所述访问消息用于访问所述监听单元801中是否有与所述任务对应的数据包到达;
所述监听单元801用于接收所述访问消息;
若所述监听单元801中没有与所述任务对应的数据包,所述监听单元801用于启动机会延时时间,所述机会延时时间用以指示所述处理单元802在所述机会延时时间结束前不再向所述监听单元801发送所述任务的访问消息;
当在所述机会延时时间内所述监听单元801中有与所述任务对应的数据包到达,所述监听单元801用于将所述与所述任务对应的数据包反馈给所述处理单元802,并结束所述机会延时时间;
所述处理单元802用于接收所述监听单元801反馈的所述数据包,并根据所述数据包执行对应的所述任务。
在一种实现方式中,若所述监听单元801中有与所述任务对应的数据包,所述监听单元801用于将所述与所述任务对应的数据包反馈给所述处理单元802;所述处理单元802用于接收所述监听单元801反馈的所述数据包,并根据所述数据包执行对应的所述任务。
在一种实现方式中,当在所述机会延时时间内所述监听单元801中没有与所述任务对应的数据包到达,所述监听单元801用于向所述处理单元802反馈没有与所述任务对应的数据包到达的返回消息;所述处理单元802用于接收所述监听单元801反馈的所述返回消息。
在一种实现方式中,所述数据包为远程过程调用RPC数据包。
在一种实现方式中,所述处理单元802用于向所述监听单元801发送任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标服务设备对应的目标标识;所述监听单元801用于接收所述处理单元802发送的RPC数据包调用请求;所述监听单元801用于将所述RPC数据包调用请求发送至所述目标服务设备,所述RPC数据包调用请求用于指示所述目标服务设备返回响应所述RPC数据包调用请求的RPC数据包。
需要说明的是,本发明实施例所描述的远程过程调用设备中可根据上述图3至图5所示方法实施例中的方法具体实现,此处不再赘述。
请参见图9,为本发明实施例提供了另一种远程过程调用设备的结构示意图。如图9所示,所述远程过程调用设备900包括至少一个处理器901,通信总线902,存储器903、数据包监听装置907。
处理器901可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线902可包括一通路,在上述组件之间传送信息。
存储器903可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,例如图9中的CPU0和CPU1。
在具体实现中,作为一种实施例,远程过程调用设备900可以包括多个处理器,例如图9中的处理器901和处理器906。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,远程过程调用设备900还可以包括输出设备904和输入设备905。输出设备904和处理器901通信,可以以多种方式来显示信息。例如,输出设备904可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emittingdiode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备905和处理器901通信,可以以多种方式接收用户的输入。例如,输入设备905可以是鼠标、键盘、触摸屏设备或传感设备等。
所述数据包监听装置907为具备通信功能的装置,例如,网络适配器或者虚拟网络适配器,所述远程过程调用设备包括一个或这个多个网络适配器,可选的,还可以包括一个或者多个虚拟网络适配器,而虚拟网络适配器在具体操作过程中可以通过调用远程过程调用设备中的网络适配器完成通信。其中,所述数据包监听装置907和局域网之间的通信是通过电缆或双绞线进行的,而所述数据包监听装置907和远程过程调用设备900所包含的组件之间的通信则是通过总线902进行的。
上述的远程过程调用设备900可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,远程过程调用设备900可以是台式机、便携式电脑、网络远程过程调用设备、无线终端设备、通信设备、嵌入式设备或有图9中类似结构的设备。本发明实施例不限定远程过程调用设备900的类型。
其中,所述处理器901和所述数据包监听装置907可执行所述存储器603存储本发明方案的应用程序代码,具体包括:
所述处理器901向所述数据包监听装置907发送任务的访问消息,所述访问消息用于访问所述数据包监听装置907中是否有与所述任务对应的数据包到达;
所述数据包监听装置907接收所述访问消息;
若所述数据包监听装置907中没有与所述任务对应的数据包,所述数据包监听装置907启动机会延时时间,所述机会延时时间用以指示所述处理器901在所述机会延时时间结束前不再向所述数据包监听装置907发送所述任务的访问消息;
当在所述机会延时时间内所述数据包监听装置907中有与所述任务对应的数据包到达,所述数据包监听装置907将所述与所述任务对应的数据包反馈给所述处理器901,并结束所述机会延时时间;
所述处理器901接收所述数据包监听装置907反馈的所述数据包,并根据所述数据包执行对应的所述任务。
在一种实现方式中,若所述数据包监听装置907中有与所述任务对应的数据包,所述数据包监听装置907将所述与所述任务对应的数据包反馈给所述处理器901;
所述处理器901接收所述数据包监听装置907反馈的所述数据包,并根据所述数据包执行对应的所述任务。
在一种实现方式中,当在所述机会延时时间内所述数据包监听装置907中没有与所述任务对应的数据包到达,所述数据包监听装置907向所述处理器901反馈没有与所述任务对应的数据包到达的返回消息;
所述处理器901接收所述数据包监听装置907反馈的所述返回消息。
在一种实现方式中,所述数据包为远程过程调用RPC数据包。
在一种实现方式中,所述处理器901向所述数据包监听装置907发送任务的访问消息之前,还包括:所述处理器901向所述数据包监听装置907发送任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标服务端对应的目标标识;
所述数据包监听装置907接收所述处理器901发送的RPC数据包调用请求;所述数据包监听装置907将所述RPC数据包调用请求发送至所述目标服务端,所述RPC数据包调用请求用于指示所述目标服务端返回响应所述RPC数据包调用请求的RPC数据包。
需要说明的是,本发明实施例所描述的远程过程调用设备900中可根据上述图3至图5所示方法实施例中的方法具体实现,此处不再赘述。
本发明实施例还提供了一种计算机存储介质,用于储存为上述远程过程调用设备中处理器和数据包监听装置所用的计算机软件指令,其包含用于执行上述方面为远程过程调用设备中处理器和数据包监听装置所设计的程序。其包含用于执行上述方面为远程过程调用设备所设计的程序,对于在发送至数据包监听装置的数据包数量稀疏的情况下,通过增加启动机会延时时间的方案,由于在机会延时时间内,处理器无需在延时时间内再通过访问消息对数据包监听装置进行轮询,从而降低了处理器占用率,节省了处理器资源;由于如果在延时时间内的任意一个时刻检测到数据包,所述数据包监听装置能够及时将所述数据包发送给处理器,降低了通信延迟。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信***。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (21)

1.一种数据包监听方法,其特征在于,包括:
数据包监听装置接收处理器发送的任务的访问消息,所述访问消息用于访问指示所述数据包监听装置确定所述数据包监听装置中是否有与所述任务对应的数据包到达;
若所述数据包监听装置中没有与所述任务对应的数据包,启动机会延时时间,所述机会延时时间用以指示所述处理器在所述机会延时时间结束前不再向所述数据包监听装置发送所述任务的访问消息;
当在所述机会延时时间内所述数据包监听装置中有与所述任务对应的数据包到达,所述数据包监听装置将所述与所述任务对应的数据包反馈给所述处理器,并结束所述机会延时时间。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述数据包监听装置中有与所述任务对应的数据包,所述数据包监听装置将所述与所述任务对应的数据包反馈给所述处理器。
3.根据权利要求1所述的方法,其特征在于,还包括:
当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,所述数据包监听装置向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
4.根据权利要求2所述的方法,其特征在于,还包括:
当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,所述数据包监听装置向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述数据包为远程过程调用RPC数据包。
6.根据权利要求5所述的方法,其特征在于,所述数据包监听装置接收处理器发送的任务的访问消息之前,还包括:
所述数据包监听装置接收处理器发送的任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标数据包监听装置对应的目标标识;
所述数据包监听装置将所述RPC数据包调用请求发送至所述目标数据包监听装置,所述RPC数据包调用请求用于指示所述目标数据包监听装置返回响应所述RPC数据包调用请求的RPC数据包。
7.一种远程过程调用***,所述远程过程调用***包括客户端和服务端,其特征在于,所述客户端包括第一监听单元和第一处理单元,所述服务端包括第二监听单元和第二处理单元,所述第一监听单元用于获取从所述第二监听单元发送的远程过程调用RPC数据包,所述第二监听单元用于接收从所述第一监听单元发送的RPC数据包调用请求,其中,
在所述服务端中:
所述第二处理单元用于向所述第二监听单元发送是否有RPC数据包调用请求到达的访问消息;所述第二监听单元向若所述第二监听单元中没有RPC数据包调用请求,所述第二处理单元发送未有RPC数据包调用请求到达的返回消息;
在所述客户端中:
所述第一处理单元用于通过所述第一监听单元向所述第二监听单元转发任务的RPC数据包调用请求;
所述第一处理单元用于向所述第一监听单元发送任务的访问消息,所述访问消息用于访问所述第一监听单元中是否有与所述任务对应的RPC数据包到达;
所述第一监听单元用于接收所述访问消息,若所述第一监听单元中没有与所述任务对应的RPC数据包,所述第一监听单元启动机会延时时间,所述机会延时时间用以指示所述第一处理单元在所述机会延时时间结束前不再向所述第一监听单元发送所述任务的访问消息;
当在所述机会延时时间内所述第一监听单元中有与所述任务对应的RPC数据包到达,所述第一监听单元用于将所述与所述任务对应的RPC数据包反馈给所述第一处理单元,并结束所述机会延时时间;
所述第一处理单元用于接收所述第一监听单元反馈的所述RPC数据包,并根据所述RPC数据包执行对应的所述任务。
8.根据权利要求7所述的***,其特征在于,还包括:
在所述服务端中:
若所述第二监听单元中有RPC数据包调用请求,所述第二监听单元用于向所述第二处理单元发送所述RPC数据包调用请求;所述第二处理单元用于接收由所述第二监听单元发送的所述RPC数据包调用请求,并根据所述RPC数据包调用请求生成相应的RPC数据包,通过所述第二监听单元向所述第一监听单元转发所述RPC数据包;
在所述客户端中:
若所述第一监听单元中有与所述任务对应的RPC数据包,所述第一监听单元用于将所述RPC数据包反馈给所述第一处理单元,以使所述第一处理单元根据所述RPC数据包执行对应的所述任务。
9.根据权利要求7或8所述的***,其特征在于,还包括:
当在所述机会延时时间内所述第一监听单元中没有与所述任务对应的RPC数据包到达,所述第一监听单元向所述第一处理单元反馈没有与所述任务对应的RPC数据包到达的返回消息。
10.一种数据包监听装置,其特征在于,包括:
接收模块,用于接收处理器发送的任务的访问消息,所述访问消息用于访问指示所述数据包监听装置确定所述数据包监听装置中是否有与所述任务对应的数据包到达;
启动模块,用于若所述数据包监听装置中没有与所述任务对应的数据包,启动机会延时时间,所述机会延时时间用以指示所述处理器在所述机会延时时间结束前不再向所述数据包监听装置发送所述任务的访问消息;
反馈模块,用于当在所述机会延时时间内所述数据包监听装置中有与所述任务对应的数据包到达,将所述与所述任务对应的数据包反馈给所述处理器,并结束所述机会延时时间。
11.根据权利要求10所述的装置,其特征在于,所述反馈模块,还用于若所述数据包监听装置中有与所述任务对应的数据包,将所述与所述任务对应的数据包反馈给所述处理器。
12.根据权利要求10所述的装置,其特征在于,还包括:
所述反馈模块,还用于当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
13.根据权利要求11所述的装置,其特征在于,还包括:
所述反馈模块,还用于当在所述机会延时时间内所述数据包监听装置中没有与所述任务对应的数据包到达,向所述处理器反馈没有与所述任务对应的数据包到达的返回消息。
14.根据权利要求10-13任一项所述的装置,其特征在于,所述数据包为远程过程调用RPC数据包。
15.根据权利要求14所述的装置,其特征在于,所述数据包监听装置还包括发送模块:
所述接收模块,还用于接收处理器发送的任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标数据包监听装置对应的目标标识;
所述发送模块,用于将所述RPC数据包调用请求发送至所述目标数据包监听装置,所述RPC数据包调用请求用于指示所述目标数据包监听装置返回响应所述RPC数据包调用请求的RPC数据包。
16.一种远程过程调用设备,其特征在于,所述远程过程调用设备包括监听单元和处理单元,其中,
所述处理单元用于向所述监听单元发送任务的访问消息,所述访问消息用于访问所述监听单元中是否有与所述任务对应的数据包到达;
所述监听单元用于接收所述访问消息;
若所述监听单元中没有与所述任务对应的数据包,所述监听单元用于启动机会延时时间,所述机会延时时间用以指示所述处理单元在所述机会延时时间结束前不再向所述监听单元发送所述任务的访问消息;
当在所述机会延时时间内所述监听单元中有与所述任务对应的数据包到达,所述监听单元用于将所述与所述任务对应的数据包反馈给所述处理单元,并结束所述机会延时时间;
所述处理单元用于接收所述监听单元反馈的所述数据包,并根据所述数据包执行对应的所述任务。
17.根据权利要求16所述的设备,其特征在于,还包括:
若所述监听单元中有与所述任务对应的数据包,所述监听单元用于将所述与所述任务对应的数据包反馈给所述处理单元;
所述处理单元用于接收所述监听单元反馈的所述数据包,并根据所述数据包执行对应的所述任务。
18.根据权利要求16所述的设备,其特征在于,还包括:当在所述机会延时时间内所述监听单元中没有与所述任务对应的数据包到达,所述监听单元用于向所述处理单元反馈没有与所述任务对应的数据包到达的返回消息;
所述处理单元用于接收所述监听单元反馈的所述返回消息。
19.根据权利要求17所述的设备,其特征在于,还包括:当在所述机会延时时间内所述监听单元中没有与所述任务对应的数据包到达,所述监听单元用于向所述处理单元反馈没有与所述任务对应的数据包到达的返回消息;
所述处理单元用于接收所述监听单元反馈的所述返回消息。
20.根据权利要求16-19任一项所述的设备,其特征在于,所述数据包为远程过程调用RPC数据包。
21.根据权利要求20所述的设备,其特征在于,还包括:
所述处理单元用于向所述监听单元发送任务的RPC数据包调用请求,所述RPC数据包调用请求携带接收所述RPC数据包调用请求的目标服务设备对应的目标标识;
所述监听单元用于接收所述处理单元发送的RPC数据包调用请求;
所述监听单元用于将所述RPC数据包调用请求发送至所述目标服务设备,所述RPC数据包调用请求用于指示所述目标服务设备返回响应所述RPC数据包调用请求的RPC数据包。
CN201610200296.0A 2016-03-31 2016-03-31 一种数据包监听方法及装置、远程过程调用***、设备 Active CN107294911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610200296.0A CN107294911B (zh) 2016-03-31 2016-03-31 一种数据包监听方法及装置、远程过程调用***、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610200296.0A CN107294911B (zh) 2016-03-31 2016-03-31 一种数据包监听方法及装置、远程过程调用***、设备

Publications (2)

Publication Number Publication Date
CN107294911A CN107294911A (zh) 2017-10-24
CN107294911B true CN107294911B (zh) 2020-09-08

Family

ID=60087243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610200296.0A Active CN107294911B (zh) 2016-03-31 2016-03-31 一种数据包监听方法及装置、远程过程调用***、设备

Country Status (1)

Country Link
CN (1) CN107294911B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111355983B (zh) * 2018-12-21 2022-03-18 北京字节跳动网络技术有限公司 业务数据处理方法、装置、服务器及存储介质
CN112565286A (zh) * 2020-12-17 2021-03-26 金蝶软件(中国)有限公司 一种基于rpc访问的任务响应方法、装置、设备和存储介质
CN112865926B (zh) * 2021-02-04 2022-09-06 中汽创智科技有限公司 端到端的安全通信容错方法及***
CN113590356B (zh) * 2021-07-29 2023-08-11 网易(杭州)网络有限公司 数据通信方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859183A (zh) * 2005-12-30 2006-11-08 华为技术有限公司 一种实现设备状态轮询的方法及装置
CN103116520A (zh) * 2012-11-02 2013-05-22 深圳键桥通讯技术股份有限公司 基于tcp/ udp的远程过程调用rpc的方法
CN104917817A (zh) * 2015-04-23 2015-09-16 四川师范大学 客户端以及数据通信方法
CN105208125A (zh) * 2015-09-30 2015-12-30 百度在线网络技术(北京)有限公司 消息传输方法、装置及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189156A1 (en) * 2012-12-27 2014-07-03 Deep River Ventures, Llc Methods, Systems, and Computer Program Products for Routing Based on a Path-Based Protocol Address

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859183A (zh) * 2005-12-30 2006-11-08 华为技术有限公司 一种实现设备状态轮询的方法及装置
CN103116520A (zh) * 2012-11-02 2013-05-22 深圳键桥通讯技术股份有限公司 基于tcp/ udp的远程过程调用rpc的方法
CN104917817A (zh) * 2015-04-23 2015-09-16 四川师范大学 客户端以及数据通信方法
CN105208125A (zh) * 2015-09-30 2015-12-30 百度在线网络技术(北京)有限公司 消息传输方法、装置及***

Also Published As

Publication number Publication date
CN107294911A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
CN107294911B (zh) 一种数据包监听方法及装置、远程过程调用***、设备
WO2017041398A1 (zh) 数据传输方法和装置
EP3255553B1 (en) Transmission control method and device for direct memory access
CN113132489A (zh) 下载文件的方法、装置、计算设备和介质
TWI672027B (zh) 網頁中的資料處理方法、裝置及系統
JP2009251708A (ja) I/oノード制御方式及び方法
CN109960575B (zh) 一种计算能力共享方法、***及相关设备
US9104486B2 (en) Apparatuses, systems, and methods for distributed workload serialization
CN113162848B (zh) 一种区块链网关的实现方法、装置、网关和介质
CN109254854A (zh) 异步调用方法、计算机装置及存储介质
WO2017036373A1 (zh) 一种组呼业务处理方法、终端及核心网网元
CN113849312A (zh) 数据处理任务的分配方法、装置、电子设备及存储介质
CN110673959A (zh) 用于处理任务的***、方法和装置
CN112559173A (zh) 资源调节方法、装置、电子设备和可读存储介质
CN112104679B (zh) 处理超文本传输协议请求的方法、装置、设备和介质
CN114116149A (zh) 一种任务调度方法、装置、设备及介质
CN109818977B (zh) 一种接入服务器通信优化方法、接入服务器以及通信***
CN110336888B (zh) 一种服务器分配方法、装置、***及介质
CN110995817A (zh) 请求回调方法、装置及客户端设备
CN110750365A (zh) 一种远程过程调用方法、***、终端及存储介质
CN107634978B (zh) 一种资源调度方法及装置
KR20200045639A (ko) 큐 관리 장치 및 방법
CN111835809B (zh) 工单消息分配方法、装置、服务器及存储介质
CN111738721A (zh) 一种区块链交易监听方法以及相关装置
CN112448977A (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
GR01 Patent grant
GR01 Patent grant