CN107438060B - 一种网络设备中的远程过程调用方法及网络设备 - Google Patents
一种网络设备中的远程过程调用方法及网络设备 Download PDFInfo
- Publication number
- CN107438060B CN107438060B CN201610370774.2A CN201610370774A CN107438060B CN 107438060 B CN107438060 B CN 107438060B CN 201610370774 A CN201610370774 A CN 201610370774A CN 107438060 B CN107438060 B CN 107438060B
- Authority
- CN
- China
- Prior art keywords
- rpc
- server
- registration information
- kernel
- service registry
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供一种网络设备中的远程过程调用方法及网络设备,涉及通信技术领域,能够解决现有RPC内核嵌入式部署场景中,由于频繁调用操作***内核导致的通信时延长、资源开销大的问题。具体方案为:客户端向RPC内核发送RPC请求,RPC请求用于请求调用服务器上部署的服务,RPC内核接收客户端发送的RPC请求,若RPC内核确定动态服务注册表中保存有服务器的有效注册信息,则RPC内核根据有效注册信息将RPC请求转发给服务器,服务器接收RPC内核发送的RPC请求,并根据RPC请求向客户端提供对应的服务。本发明实施例用于远程过程调用。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种网络设备中的远程过程调用方法及网络设备。
背景技术
在分布式内存数据库中,主要包括两种远程过程调用(英文:Remote ProcedureCall,简称:RPC)内核部署场景,即独立部署场景和嵌入式部署场景。其中,嵌入式部署场景是指,客户端和服务器部署在网络设备中的同一虚拟机(英文:Virtual Machine,简称:VM)内,RPC内核用于负责数据节点之间、进程之间以及进程内部各线程之间的通信。
在现有RPC内核嵌入式部署场景中,参见图1,当客户端需要调用部署在服务器上的服务时,客户端需要经过RPC内核调用操作***内核中的消息传递功能,从而将调用请求发送至网卡(英文:Network Interface Card,简称:NIC)的一个端口上,并查询服务器在NIC上对应的端口,从而将客户端发送的调用请求经过RPC内核发送给服务器对应的接口。
由于客户端每次调用服务器端的服务时均需要调用操作***内核,而频繁调用操作***内核会增大通信时延,增大操作***内核的资源开销。
发明内容
本发明实施例提供一种网络设备中的远程过程调用方法及网络设备,能够解决现有远程过程调用RPC内核嵌入式部署场景中,由于频繁调用操作***内核导致的通信时延长、资源开销大的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种网络设备中的远程过程调用方法,网络设备中包括至少一个虚拟机VM,VM上运行有远程过程调用RPC内核、服务器和客户端,该方法包括:客户端向RPC内核发送RPC请求,RPC请求用于请求调用服务器上部署的服务;RPC内核接收客户端发送的RPC请求,并在确定动态服务注册表中保存有服务器的有效注册信息时,根据有效注册信息将RPC请求转发给服务器;服务器接收RPC内核发送的RPC请求,并根据RPC请求向客户端提供对应的服务。
第二方面,提供一种网络设备,该网络设备中包括硬件层,运行在硬件层之上的虚拟机监视器VMM,以及运行在VMM之上的至少一个虚拟机VM,其中,硬件层包括处理器和存储器,VM上运行有远程过程调用RPC内核、服务器和客户端,客户端用于,向RPC内核发送RPC请求,RPC请求用于请求调用服务器上部署的服务;RPC内核用于,接收客户端发送的RPC请求,并在确定动态服务注册表中保存有服务器的有效注册信息时,根据有效注册信息将RPC请求转发给服务器;服务器用于,接收RPC内核发送的RPC请求,并根据RPC请求向客户端提供对应的服务。
这样,在网络设备中,VM中的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内核发送的响应消息。
这样,服务器可以将服务执行结果通过RPC内核转发给客户端,而不需要经过操作***内核。
第三方面,提供一种网络设备,包括处理器和存储器,其中,存储器用于存储数据和指令,处理器用于执行指令实现上述第一方面及第一方面的任一种可能的实现方式对应的方法。
第四方面,提供一种数据中心,包括上述第二方面或上述第三方面所描述的网络设备。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中提供的一种RPC内核嵌入式部署场景中的远程过程调用示意图;
图2为本发明实施例提供的一种用户空间范围限定示意图;
图3为本发明实施例提供的一种数据中心的结构示意图;
图4为本发明实施例提供的一种RPC内核的基本架构图;
图5为本发明实施例提供的一种RPC内核嵌入式部署场景示意图;
图6为本发明实施例提供的一种RPC内核独立部署场景示意图;
图7为本发明实施例提供的一种调用方法流程图;
图8a为本发明实施例提供的另一种调用方法流程图;
图8b为本发明实施例提供的另一种调用方法流程图;
图9为本发明实施例提供的一种服务器执行方法流程图;
图10为本发明实施例提供的另一种调用方法流程图;
图11为本发明实施例提供的一种网络设备的结构示意图;
图12为本发明实施例提供的另一种网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,示例的给出了部分与本发明相关概念的说明以供参考。如下所示:
远程过程调用:本地***上的进程激活远程***上的进程。
虚拟机:指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。
网络设备:通信网络中,虚拟机的物理承载设备。
客户端:指请求调用其它程序提供的服务的程序。
服务器:指为其它程序提供服务的程序。
句柄:指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等,应用程序能够通过句柄访问相应的对象的信息。
用户空间:包括服务器、客户端和RPC内核,不包括操作***内核和网卡(英文:Network Interface Card,简称:NIC),用户空间的示意图具体可以参见图2。
动态服务注册表:用于保存服务器的注册信息,其中,该注册信息是有效注册信息还是无效注册信息是动态变化的。
在当前分布式内存数据库中,如图3所示,一个数据中心可以由多个VM组成,VM可以位于网络设备上。其中,这里的网络设备为物理机,网络设备之间可以采用高速网络进行连接。在数据中心内部运行操作***(比如Linux)的虚拟机上可以部署数据节点、协调节点、结构化查询语言(英文:Structured Query Language,简称:SQL)查询节点等,还可以部署客户端。
一个VM内部可以共享一个RPC内核,RPC内核是主要用于负责VM内部与外部、或内部之间进行通信的组件。具体的,RPC内核的基本架构图可以参见图4,其中,客户RPC操作层(英文:Customable RPC Operation Layer):主要用于解决用户灵活实现客户定制基于RPC操作的封装;RPC封装层(英文:RPC Encapsulation Layer):包括RPC封装模块(英文:RPCWrapper)和派发组件(英文:Dispatcher);RPC封装模块:主要完成对通信内核通信模型的基础封装,方便客户定制层的使用;派发组件:完成对数据通信的监听和派发RPC服务的功能;传输层(英文:Transport Layer):完成对***传输层的抽象,可以帮助***灵活绑定不同的通信协议,例如,无限带宽(英文:InfiniBand)协议,传输控制协议(英文:Transmission Control Protocol,简称:TCP),用户数据报协议(英文:User DatagramProtocol,简称:UDP)等;网络模块(英文:Network):操作***内核及其下层的网络传输的抽象描述;服务管理层(英文:Service Management Layer)完成动态服务注册与管理,以及和内部持有的调度(英文:Dispatcher)组件和工作队列(英文:Worker Queue)组件;客户服务层(英文:Customable Services Layer):完成灵活描述和实现客户定制服务的组件。
RPC内核在VM中的部署情况具体可以包括如图5所示的分嵌入式部署场景(英文:Embedded),和如图6所示的独立部署场景(英文:Standalone):
在如图5所示的嵌入式部署场景中,客户端和服务器部署在同一VM内部,或者同一个进程内部,RPC内核具有数据节点之间、进程之间以及进程内部各线程之间的通信能力。其中,网络操作***(英文:Network OS):网络IP层和IP能力的平台,包括IP的控制和IP的转发,支撑转发和控制分离和网络流量的调度;客户端(英文:Application,简称:APP):描述使用分布式数据集群的客户端;驱动(英文:Driver):分布式内存数据中心的驱动接口组件;RPC内核(英文:RPC core):负责客户端与内存数据集群通信和集群内部通信的组件;数据节点(英文:Data Node):分布式数据集群内部的数据节点,通常为用于提供服务的服务器。
在如图6所示的独立部署场景中,VM内部未同时包括客户端和服务器,RPC内核具有数据节点之间和进程之间的通信能力。其中,云端(英文:Cloud Edge):虚拟化节点部署业务的云化,是网络功能虚拟化(英文:Network Function Virtualization,简称:NFV)最重要的战场和未来接入网的锚点,其中无线分组核心网云化是最急迫的;APP描述使用分布式数据集群的客户端;Driver:嵌入式场景下,分布式内存数据中心的驱动接口组件;RPCcore:嵌入式场景下,完成负责客户端与内存数据集群通信和集群内部通信的组件;DataNode:嵌入式场景下,分布式数据集群内部的数据节点,通常为用于提供服务的服务器。
在实际应用中,由于分布式数据集群具有容错性、故障恢复机制以及动态注册机制,因而嵌入式场景由于故障的发生可以自动转换为独立部署,独立部署也可以由于业务的需要在某个时刻形成嵌入式部署的形态。即,嵌入式部署和独立部署之间可以进行动态转化。
在现有嵌入式部署场景中,由于客户端每次调用服务器端对应的服务时均需要调用操作***内核,而频繁调用操作***内核会增大通信时延和资源开销。针对该问题,本发明实施例提供一种RPC内核嵌入式部署场景中的调用方法,能够使得客户端对同一VM中的服务器的调用不经过操作***内核,而可以通过RPC内核直接调用同一VM中服务器上部署的服务,从而可以降低通信时延,减少操作***内核的资源开销。
值得注意的是,由于客户端是指请求调用其它程序提供的服务的程序,服务器是指为其它程序提供服务的程序,而一个程序可以调用其它程序提供的服务,也可以为其它程序提供服务,因而,在本发明实施例中,对于某个确定的程序来说,在某种情况下可能是客户端,在另一种情况下则可能是服务器。
以下将通过具体实施例,对RPC内核嵌入式部署场景的网络设备中,客户端通过RPC内核直接调用同一VM中服务器上部署的服务的过程进行详细说明。
参见图7,本发明实施例提供一种网络设备中的远程过程调用方法,网络设备中包括至少一个虚拟机VM,VM上运行有远程过程调用RPC内核、服务器和客户端,该方法可以包括:
101、客户端向RPC内核发送RPC请求,RPC请求用于请求调用服务器上部署的服务。
客户端在需要调用服务器上部署的服务时,向RPC内核发送RPC请求,以请求通过RPC内核调用服务器上部署的服务。其中,RPC请求中可以携带有服务器的身份标识,以表明被调用端的身份。此外,RPC请求还可以携带有客户端的身份标识,以表明调用端的身份,还可以携带一些其它的相关信息。
102、RPC内核接收客户端发送的RPC请求。
103、若RPC内核确定动态服务注册表中保存有服务器的有效注册信息,则RPC内核根据有效注册信息将RPC请求转发给服务器。
在接收到客户端发送的RPC请求后,RPC内核可以确定动态服务注册表中是否保存有服务器的有效注册信息。
由于同一个VM内部各组件共享一个RPC内核,因而只有当前VM内部的服务器才可能在当前VM的动态服务注册表中保存有有效注册信息,其它VM中的服务器不可能在当前VM的动态服务注册表中保存有有效注册信息。
因此,当动态服务注册标识保存有服务器的有效注册信息时,可以确定当前服务器与客户端在同一VM中,该场景属于RPC内核嵌入式部署场景,且当前时刻处于服务器的生存周期内,服务器可以提供对应的服务。因而,RPC内核可以根据动态服务注册表中服务器的有效注册信息将RPC请求转发给服务器,以调用服务器上部署的服务,从而可以将调用过程限定在如图2所示的用户空间内,而不需要像现有技术那样调用操作***内核,从而可以加速调用过程,降低通信延迟,减少操作***内核的资源开销。
104、服务器接收RPC内核发送的RPC请求,并根据RPC请求向客户端提供对应的服务。
在RPC内核根据动态服务注册表中服务器的有效注册信息将RPC请求转发给服务器时,服务器接收该RPC请求,并根据该RPC请求向客户端提供所请求的服务。
可见,本发明实施例提供的网络设备中的远程过程调用方法,利用动态注册机制在动态服务注册表保存当前VM中的服务器的有效注册信息,通过动态服务注册表向当前VM中的客户端提供有效注册信息,并根据有效注册信息,通过重定向机制,将客户端发送的RPC请求重定向至服务器,从而调用服务器及对应的服务。
本发明上述实施例提供的一种网络设备中的远程过程调用方法,网络设备中包括至少一个虚拟机VM,VM中的RPC内核在接收到接收客户端发送的RPC请求,并确定动态服务注册表中保存有服务器的有效注册信息后,根据动态服务注册表中服务器的注册信息将RPC请求直接转发至服务器,以直接调用服务器上部署的服务,从而将调用过程限定在用户空间范围内,而在该调用过程中并不需要调用操作***内核,因而能够解决现有远程过程调用RPC内核嵌入式部署场景中,由于频繁调用操作***内核导致的通信时延长、资源开销大的问题。
其中,服务器的注册信息可以包括服务器的身份标识和服务句柄的对应关系。其中,服务器的注册信息可以包括服务器的身份标识和服务句柄的对应关系,身份标识用于唯一标识一个服务器,例如可以为一串字符编号,对于其具体形式不作限定;服务句柄用于在服务器提供的服务被调用时使用。
可选地,RPC请求中可以携带有服务器的身份标识,在上述步骤103中,RPC内核确定动态服务注册表中保存有服务器的有效注册信息可以包括:
若动态服务注册表中保存有与RPC请求中携带的服务器的身份标识相对应的有效注册信息,则RPC内核确定动态服务注册表中保存有服务器的有效注册信息。其中,与RPC请求中携带的服务器的身份标识相对应的有效注册信息是指,包括RPC请求中携带的服务器的身份标识的有效注册信息。
RPC内核根据注册信息将RPC请求转发给服务器可以包括:
RPC内核确定有效注册信息中,与RPC请求中携带的服务器的身份标识相对应的服务句柄,并根据服务句柄将RPC请求转发给服务器。
具体的,客户端可以将被调用服务器的身份标识例如身份标识一携带于RPC请求中,从而使得RPC内核可以根据身份标识一确定动态服务注册表中是否存在包括身份标识一的有效注册信息。当存在包括身份标识一的有效注册信息时,动态服务注册表中同时存在与身份标识一对应的服务句柄,该服务句柄即为服务器上部署的服务句柄,进而,RPC内核可以根据该服务句柄,将RPC请求重定向至服务器,从而直接通过服务句柄调用服务器上部署的服务。
这样,RPC内核可以根据身份标识简单、快速地确定动态服务注册表中保存有服务器的有效注册信息,并可以根据服务句柄直接、高效地将RPC请求重定向至服务器。
参见图8a,在步骤101-104的基础上,该方法还可以包括:
105a、服务器向RPC内核发送第一指示消息,第一指示消息用于指示在动态服务注册表中设置服务器的有效注册信息。
106a、RPC内核根据第一指示消息,在动态服务注册表中设置服务器的有效注册信息。
需要说明的是,图8a所示的步骤105a-106a在步骤101之前仅是示例性说明,步骤105a-106a与步骤101-104之间没有明确的先后关系。
进一步地,图7或图8a所示的方法步骤的基础上,该方法还可以包括以下步骤105b和106b:
105b、服务器向RPC内核发送第二指示消息,第二指示消息用于指示将动态服务注册表中保存的服务器的有效注册信息设置为无效注册信息。
106b、RPC内核根据第二指示消息,将动态服务注册表中保存的服务器的有效注册信息设置为无效注册信息。
示例性的,图8b是在图4的基础上附加的步骤105b-106b,步骤105b-106b在步骤101之前仅是举例说明,步骤105b-106b与步骤101-104之间没有明确的先后关系。
此外,步骤105b-106b还可以附加于图8a所示的步骤105a-106a之后。
通常情况下,服务器在初始化时可以向RPC内核发送第一指示消息,该第一指示消息可以为动态注册请求,以指示RPC内核在动态服务注册表中设置服务器的有效注册信息,从而在RPC内核中进行动态注册。若动态注册失败,则服务器可以重新发送第一指示消息,继续进行动态注册;若动态注册成功,则可以监听是否接收到RPC请求,从而可以在接收到RPC请求后,提供对应的服务。具体的,服务器对应的上述实施流程可以参见图9。
当服务器出现故障或由于其它原因需要退出时,可以向RPC内核发送第二指示消息,以指示RPC内核将动态服务注册表中保存的服务器的有效注册信息设置为无效注册信息,从而在RPC内核中进行动态反注册。服务器向RPC内核发送第一指示消息和第二指示消息之间的时间段,对应于服务器的生存周期,在生存周期内,服务器可以提供对应的服务。
具体的,RPC内核可以从服务器接收第一指示消息;也可以从服务器接收第二指示消息;也可以在从服务器接收第一指示消息后,再从服务器接收第二指示消息,这里不做具体限定。
可选地,RPC内核在动态服务注册表中设置服务器的有效注册信息可以包括:
情况1:若动态服务注册表中未保存有服务器的注册信息,则RPC内核将服务器的注册信息写入动态服务注册表中,该注册信息即为有效注册信息。
情况2:若动态服务注册表中保存有服务器的注册信息,且注册信息为无效注册信息,则RPC内核更新注册信息,更新后的注册信息即为有效注册信息。
其中,注册信息中可以包括标识符,当标识符为第一状态值时,注册信息为有效注册信息;当标识符为第二状态值时,注册信息为无效注册信息。因而,在情况1中,RPC内核将服务器的注册信息写入动态服务注册表中之后,可以将注册信息中的标识符置为第一状态值;在情况2中,若动态服务注册表中保存有服务器的注册信息,且注册信息为无效注册信息,则注册信息中的标识符为第二状态值,在RPC内核更新注册信息后,可以将注册信息中的标识符由第二状态值切换为第一状态值。
可选地,RPC内核将动态服务注册表中保存的服务器的有效注册信息设置为无效注册信息可以包括:
RPC内核删除服务器的有效注册信息。
此外,当注册信息中包括标识符时,RPC内核将动态服务注册表中保存的服务器的有效注册信息设置为无效注册信息可以包括:
RPC内核将标识符从第一状态值切换为第二状态值。
可见,若RPC内核最近一次从服务器接收到的指示消息为第一指示消息,则动态服务注册表中保存有服务器的有效注册信息,服务器在生存周期内;若RPC内核最近一次从服务器接收到的指示消息为第二指示消息,则动态服务注册表中未保存有服务器的有效注册信息,服务器不在生存周期内。
此外,参见图10,在步骤104中服务器提供对应的服务之后,当需要返回执行结果时,该方法还可以包括:
107、服务器向RPC内核发送响应消息,响应消息中携带有服务执行结果,以便于RPC内核将响应消息转发给客户端。
108、RPC内核接收服务器发送的响应消息,并将响应消息转发给客户端。
109、客户端接收RPC内核发送的响应消息。
这样,服务器可以将服务执行结果通过RPC内核转发给客户端,而不需要经过操作***内核。
另外,在上述步骤103之后,若RPC内核确定动态服务注册表中未保存有服务器的有效注册信息,则服务器可能并不在当前VM中,当前场景可能并不属于RPC内核嵌入式部署场景。此时,RPC内核可以采用现有技术中的调用方法调用操作***内核,通过内核传输层确定服务器的通信端口,并通过网卡和确定的通信端口调用服务器上部署的服务,这与现有技术中的调用过程一致,这里不再进行详细描述。
此外,在RPC内核嵌入式部署场景中,还存在另一种调用方式,即服务器预先对服务与客户端之间的接口进行一一定义,客户端根据服务器提供的预定义的接口调用服务器上部署的服务。虽然该方法也可以不调用操作***内核,加速调用过程,降低通信时延,但该方法对于客户端和服务器来说,需要通过预定义的接口相互感知,因而提高了耦合度,并且该方法仅适用于静态情况下,并不能适用于动态变化场景中。当客户端或服务器的位置发生变化时,或者,当服务器进行服务升级时,客户端与服务之间的接口已发生了变化,根据原先的预定义接口将无法准确执行调用过程。
需要强调的是,本发明实施例提供的网络设备中的远程过程调用方法,利用动态注册机制在动态服务注册表保存服务器的有效注册信息,通过动态服务注册表向客户端动态提供有效注册信息,并通过重定向机制重定向客户端发送的RPC请求,从而根据服务器的服务句柄直接调用服务器及对应的服务,因而在整个加速过程中,客户端和服务器相互之间是无感知的,满足了客户端和服务器通信层之间的解耦合。并且,客户端或服务器的位置是否发生变化,服务器是否进行了服务升级,并不会影响本方法的使用。服务器在服务升级或位置发生变化后,可以在当前所在VM的动态服务注册表中进行动态注册,动态服务注册表中的注册信息与服务器上部署的服务信息是实时对应的,客户端在位置发生变化后可以在当前VM的动态服务注册表中确定是否存在服务器的有效注册信息,从而确定与服务器是否在同一VM中,且服务器是否在生存周期内,若是,则可以通过有效注册信息中的服务句柄调用服务器上部署的服务。
而通常情况下,独立部署场景和嵌入式部署场景常常会进行动态转化的,即客户端或服务器所在的VM经常会随着时间的变化而动态变化,并且,随着业务扩展和需求的提升,服务器也需要频繁地升级的。可见,本发明实施例提供的调用方法,更符合实际的动态变化场景,能够提供灵活的服务变更,降低部署成本,提高可靠性,因而适用性更强。
另外,在本发明实施例中,服务器用于提供对应的服务,在本发明实施例的基础上,本领域技术人员在不付出创造性劳动的前提下,很容易想到,将服务器替换为缓存器,用于存储共享的数据,客户端通过上述调用方法调用缓存器,从而获取或访问缓存器存储的数据,此时,本发明实施例提供的上述调用方法同样可以得到加速调用过程,降低通信时延,减少资源开销的效果。
本发明另一实施例提供一种网络设备200,参见图11,网络设备200中可以包括硬件层210,运行在硬件层210之上的虚拟机监视器(英文:Virtual Machine Monitor,简称:VM230M)220,以及运行在VMM220之上的至少一个虚拟机VM230,其中,硬件层210包括处理器211、存储器212等硬件,VM230上运行有远程过程调用RPC内核232、服务器233和客户端231。可以理解的是,RPC内核232、服务器233和客户端231可以运行在同一个虚拟机上,也可以运行在二个或三个不同的虚拟机上,本发明实施例不做特别限定。其中,VMM220用于屏蔽计算平台的硬件差异,为用户提供抽象的、统一的、模拟的多个计算环境也即多台VM230。VMM220为每一台VM230模拟出一套独立于真实物理硬件的虚拟硬件环境。VM230通过VMM220调用硬件层210的处理器211、存储器212等硬件资源。
其中,存储器212可以包括易失性存储器(英文:Volatile Memory),例如随机存取存储器(英文:Random-access Memory,简称:RAM);存储器212也可以包括非易失性存储器(英文:Non-volatile Memory),例如快闪存储器(英文:Flash Memory),硬盘(英文:HardDisk Drive,简称:HDD)或固态硬盘(英文:Solid-state Drive,简称:SSD);存储器212还可以包括上述种类的存储器的组合。
处理器211可以是中央处理器(英文:Central Processing Unit,简称CPU),网络处理器(英文:Network Processor,简称:NP)或者CPU和NP的组合。
处理器211还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:Application-specific Integrated Circuit,简称:ASIC),可编程逻辑器件(英文:Programmable Logic Device,简称:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:Complex Programmable Logic Device,简称:CPLD),现场可编程逻辑门阵列(英文:Field-programmable Gate Array,简称:FPGA),通用阵列逻辑(英文:Generic ArrayLogic,简称:GAL)或其任意组合。
具体的,在网络设备200的VM230中,客户端231可以用于,向RPC内核232发送RPC请求,RPC请求用于请求调用服务器233上部署的服务。
RPC内核232可以用于,接收客户端231发送的RPC请求,并在确定动态服务注册表中保存有服务器233的有效注册信息时,根据有效注册信息将RPC请求转发给服务器233。
服务器233可以用于,接收RPC内核232发送的RPC请求,并根据RPC请求向客户端231提供对应的服务。
此外,服务器233还可以用于,向RPC内核232发送第一指示消息,第一指示消息用于指示在动态服务注册表中设置服务器233的有效注册信息;RPC内核232还用于,根据第一指示消息,在动态服务注册表中设置服务器233的有效注册信息。
可选地,RPC内核232用于在动态服务注册表中设置服务器233的有效注册信息具体可以包括:
若动态服务注册表中未保存有服务器233的注册信息,则将服务器233的注册信息写入动态服务注册表中,注册信息即为有效注册信息;若动态服务注册表中保存有服务器233的注册信息,且注册信息为无效注册信息,则更新注册信息,更新后的注册信息即为有效注册信息。
或者,服务器233还可以用于,向RPC内核232发送第二指示消息,第二指示消息用于指示将动态服务注册表中保存的服务器233的有效注册信息设置为无效注册信息;RPC内核232还用于,根据第二指示消息,将动态服务注册表中保存的服务器233的有效注册信息设置为无效注册信息。
可选地,RPC内核232用于将动态服务注册表中保存的服务器233的有效注册信息设置为无效注册信息具体可以包括:
删除服务器233的有效注册信息。
或者,可选地,注册信息中可以包括标识符,当标识符为第一状态值时,注册信息为有效注册信息;当标识符为第二状态值时,注册信息为无效注册信息;RPC内核232用于将动态服务注册表中保存的服务器233的有效注册信息设置为无效注册信息具体可以包括:
将标识符从第一状态值切换为第二状态值。
进一步地,服务器233的注册信息可以包括服务器233的身份标识和服务句柄的对应关系,RPC请求中携带有服务器233的身份标识。
RPC内核232用于确定动态服务注册表中保存有服务器233的有效注册信息具体可以包括:
若动态服务注册表中保存有与RPC请求中携带的服务器233的身份标识相对应的有效注册信息,则确定动态服务注册表中保存有服务器233的有效注册信息。
RPC内核232用于根据有效注册信息将RPC请求转发给服务器233具体可以包括:
确定有效注册信息中,与RPC请求中携带的服务器233的身份标识相对应的服务句柄,并根据服务句柄将RPC请求转发给服务器233。
更进一步地,服务器233还可以用于,向RPC内核232发送响应消息,响应消息中携带有服务执行结果,以便于RPC内核232将响应消息转发给客户端231。
RPC内核232还可以用于,接收服务器233发送的响应消息,并将响应消息转发给客户端231。
客户端231还可以用于,接收RPC内核232发送的响应消息。
需要说明的是,RPC内核、客户端231以及服务器233的具体工作过程请参见图3至图10所示实施例中的相关描述,不再赘述。本发明上述实施例提供的网络设备,VM中的RPC内核在接收到接收客户端发送的RPC请求,并确定动态服务注册表中保存有服务器的有效注册信息后,根据动态服务注册表中服务器的注册信息将RPC请求直接转发至服务器,以直接调用服务器上部署的服务,从而将调用过程限定在用户空间范围内,而在该调用过程中并不需要调用操作***内核,因而能够解决现有远程过程调用RPC内核嵌入式部署场景中,由于频繁调用操作***内核导致的通信时延长、资源开销大的问题。
进一步地,在本发明实施例的基础上,本领域技术人员在不付出创造性劳动的前提下,很容易想到,将应用于VM中远程过程调用方法应用到具有图1所示远程过程调用的任意网络设备中,例如智能手表、智能眼镜、游戏服务器以及Wi-Fi节点等。
因此,本发明另一实施例还提供一种网络设备300,该网络设备300具体可以为不包括VM的智能手表、智能眼镜、游戏服务器以及Wi-Fi节点等网络设备。参见图12,该网络设备300具体可以包括处理器301和存储器302,处理器301和存储器302通过总线303连接。其中,存储器302用于存储数据和指令,处理器301用于执行存储器302中的指令执行图7、图8a、图8b或图10所示的方法流程中,客户端模块、RPC内核模块以及服务器模块的功能,从而实现远程过程调用。
其中,处理器301执行上述指令执行的操作具体可以为:
控制客户端模块向RPC内核模块发送RPC请求,RPC请求用于请求调用服务器上部署的服务。
控制RPC内核模块接收客户端发送的RPC请求,并在RPC内核确定动态服务注册表中保存有服务器的有效注册信息时,处理器301控制RPC内核根据有效注册信息将RPC请求转发给服务器。
控制服务器接收RPC内核发送的RPC请求,并根据RPC请求向客户端提供对应的服务。
本发明上述实施例提供的一种网络设备,处理器执行指令用于控制RPC内核在接收到接收客户端发送的RPC请求,并确定动态服务注册表中保存有服务器的有效注册信息后,根据动态服务注册表中服务器的注册信息将RPC请求直接转发至服务器,以直接调用服务器上部署的服务,从而将调用过程限定在用户空间范围内,而在该调用过程中并不需要调用操作***内核,因而能够解决现有远程过程调用RPC内核嵌入式部署场景中,由于频繁调用操作***内核导致的通信时延长、资源开销大的问题。
本发明另一实施例提供一种数据中心,可以包括图11或图12所示的包括虚拟机VM的网络设备。该数据中心的具体结构可以参见图3所示的结构示意图。
在本申请所提供的几个实施例中,应该理解到,所揭露的网络设备、数据中心和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种网络设备中的远程过程调用方法,所述网络设备中包括至少一个虚拟机VM,所述VM上运行有远程过程调用RPC内核、服务器和客户端,其特征在于,所述方法包括:
所述客户端向所述RPC内核发送RPC请求,所述RPC请求用于请求调用服务器上部署的服务;
所述RPC内核接收所述客户端发送的RPC请求;
若所述RPC内核确定动态服务注册表中保存有所述服务器的有效注册信息,则所述RPC内核根据所述有效注册信息将所述RPC请求直接转发给所述服务器;
所述服务器接收所述RPC内核发送的RPC请求,并根据所述RPC请求向所述客户端提供对应的服务;
所述服务器向所述RPC内核发送第二指示消息,所述第二指示消息用于指示将所述动态服务注册表中保存的所述服务器的有效注册信息设置为无效注册信息;
所述RPC内核根据所述第二指示消息,将所述动态服务注册表中保存的所述服务器的有效注册信息设置为无效注册信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述服务器向所述RPC内核发送第一指示消息,所述第一指示消息用于指示在动态服务注册表中设置所述服务器的有效注册信息;
所述RPC内核根据所述第一指示消息,在动态服务注册表中设置所述服务器的有效注册信息。
3.根据权利要求2所述的方法,其特征在于,所述RPC内核在动态服务注册表中设置所述服务器的有效注册信息包括:
若所述动态服务注册表中未保存有所述服务器的注册信息,则所述RPC内核将所述服务器的注册信息写入所述动态服务注册表中,所述注册信息即为有效注册信息;
若所述动态服务注册表中保存有所述服务器的注册信息,且所述注册信息为无效注册信息,则所述RPC内核更新所述注册信息,更新后的注册信息即为有效注册信息。
4.根据权利要求1所述的方法,其特征在于,所述RPC内核将所述动态服务注册表中保存的所述服务器的有效注册信息设置为无效注册信息包括:
所述RPC内核删除所述服务器的有效注册信息。
5.根据权利要求1所述的方法,其特征在于,所述注册信息中包括标识符,当所述标识符为第一状态值时,所述注册信息为有效注册信息;当所述标识符为第二状态值时,所述注册信息为无效注册信息;所述RPC内核将所述动态服务注册表中保存的所述服务器的有效注册信息设置为无效注册信息包括:
所述RPC内核将所述标识符从第一状态值切换为第二状态值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述服务器的注册信息包括所述服务器的身份标识和服务句柄的对应关系,所述RPC请求中携带有所述服务器的身份标识;
所述RPC内核确定所述动态服务注册表中保存有所述服务器的有效注册信息包括:
若所述动态服务注册表中保存有与所述RPC请求中携带的服务器的身份标识相对应的有效注册信息,则所述RPC内核确定所述动态服务注册表中保存有所述服务器的有效注册信息;
所述RPC内核根据所述有效注册信息将所述RPC请求转发给所述服务器包括:
所述RPC内核确定所述有效注册信息中,与所述RPC请求中携带的服务器的身份标识相对应的服务句柄;
所述RPC内核根据所述服务句柄将所述RPC请求转发给所述服务器。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
所述服务器向所述RPC内核发送响应消息,所述响应消息中携带有服务执行结果,以便于所述RPC内核将所述响应消息转发给所述客户端;
所述RPC内核接收所述服务器发送的响应消息,并将所述响应消息转发给所述客户端;
所述客户端接收所述RPC内核发送的响应消息。
8.一种网络设备,所述网络设备中包括硬件层,运行在所述硬件层之上的虚拟机监视器VMM,以及运行在所述VMM之上的至少一个虚拟机VM,其中,所述硬件层包括处理器和存储器,所述VM上运行有远程过程调用RPC内核、服务器和客户端,其特征在于,
所述客户端用于,向所述RPC内核发送RPC请求,所述RPC请求用于请求调用服务器上部署的服务;
所述RPC内核用于,接收所述客户端发送的RPC请求,并在确定动态服务注册表中保存有所述服务器的有效注册信息时,根据所述有效注册信息将所述RPC请求转发给所述服务器;
所述服务器用于,接收所述RPC内核发送的RPC请求,并根据所述RPC请求向所述客户端提供对应的服务;
所述服务器还用于,向所述RPC内核发送第二指示消息,所述第二指示消息用于指示将所述动态服务注册表中保存的所述服务器的有效注册信息设置为无效注册信息;
所述RPC内核还用于,根据所述第二指示消息,将所述动态服务注册表中保存的所述服务器的有效注册信息设置为无效注册信息。
9.根据权利要求8所述的网络设备,其特征在于,所述服务器还用于,向所述RPC内核发送第一指示消息,所述第一指示消息用于指示在动态服务注册表中设置所述服务器的有效注册信息;
所述RPC内核还用于,根据所述第一指示消息,在动态服务注册表中设置所述服务器的有效注册信息。
10.根据权利要求9所述的网络设备,其特征在于,所述RPC内核用于在动态服务注册表中设置所述服务器的有效注册信息具体包括:
若所述动态服务注册表中未保存有所述服务器的注册信息,则将所述服务器的注册信息写入所述动态服务注册表中,所述注册信息即为有效注册信息;
若所述动态服务注册表中保存有所述服务器的注册信息,且所述注册信息为无效注册信息,则更新所述注册信息,更新后的注册信息即为有效注册信息。
11.根据权利要求8所述的网络设备,其特征在于,所述RPC内核用于将所述动态服务注册表中保存的所述服务器的有效注册信息设置为无效注册信息具体包括:
删除所述服务器的有效注册信息。
12.根据权利要求8所述的网络设备,其特征在于,所述注册信息中包括标识符,当所述标识符为第一状态值时,所述注册信息为有效注册信息;当所述标识符为第二状态值时,所述注册信息为无效注册信息;所述RPC内核用于将所述动态服务注册表中保存的所述服务器的有效注册信息设置为无效注册信息具体包括:
将所述标识符从第一状态值切换为第二状态值。
13.根据权利要求8-12任一项所述的网络设备,其特征在于,所述服务器的注册信息包括所述服务器的身份标识和服务句柄的对应关系,所述RPC请求中携带有所述服务器的身份标识;
所述RPC内核用于确定所述动态服务注册表中保存有所述服务器的有效注册信息具体包括:
若所述动态服务注册表中保存有与所述RPC请求中携带的服务器的身份标识相对应的有效注册信息,则确定所述动态服务注册表中保存有所述服务器的有效注册信息;
所述RPC内核用于根据所述有效注册信息将所述RPC请求转发给所述服务器具体包括:
确定所述有效注册信息中,与所述RPC请求中携带的服务器的身份标识相对应的服务句柄;
根据所述服务句柄将所述RPC请求转发给所述服务器。
14.根据权利要求8-12任一项所述的网络设备,其特征在于,所述服务器还用于,向所述RPC内核发送响应消息,所述响应消息中携带有服务执行结果,以便于所述RPC内核将所述响应消息转发给所述客户端;
所述RPC内核还用于,接收所述服务器发送的响应消息,并将所述响应消息转发给所述客户端;
所述客户端还用于,接收所述RPC内核发送的响应消息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610370774.2A CN107438060B (zh) | 2016-05-28 | 2016-05-28 | 一种网络设备中的远程过程调用方法及网络设备 |
PCT/CN2016/102622 WO2017206422A1 (zh) | 2016-05-28 | 2016-10-19 | 一种网络设备中的远程过程调用方法及网络设备 |
EP16903804.9A EP3454215A4 (en) | 2016-05-28 | 2016-10-19 | METHOD FOR ACCESSING A REMOTE PROCESS IN A NETWORK DEVICE AND NETWORK DEVICE |
US16/202,790 US10831574B2 (en) | 2016-05-28 | 2018-11-28 | Remote procedure call method for network device and network device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610370774.2A CN107438060B (zh) | 2016-05-28 | 2016-05-28 | 一种网络设备中的远程过程调用方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107438060A CN107438060A (zh) | 2017-12-05 |
CN107438060B true CN107438060B (zh) | 2020-12-15 |
Family
ID=60458223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610370774.2A Active CN107438060B (zh) | 2016-05-28 | 2016-05-28 | 一种网络设备中的远程过程调用方法及网络设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10831574B2 (zh) |
EP (1) | EP3454215A4 (zh) |
CN (1) | CN107438060B (zh) |
WO (1) | WO2017206422A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977316B (zh) * | 2017-12-21 | 2021-08-31 | 创新先进技术有限公司 | 一种模拟远程过程调用的方法、客户端及*** |
CN110120961B (zh) * | 2018-02-06 | 2022-04-26 | 北京京东尚科信息技术有限公司 | 一种分布式服务集群及其路由同步的方法 |
CN108810087B (zh) * | 2018-04-28 | 2020-06-26 | 北京青云科技股份有限公司 | 一种存储服务器的连接方法、***及设备 |
CN108874567B (zh) * | 2018-07-19 | 2021-08-17 | 广州市创乐信息技术有限公司 | 一种服务处理方法及*** |
US10880388B1 (en) * | 2018-09-17 | 2020-12-29 | EMC IP Holding Company LLC | Automatic redirection in scale-out cluster environments that perform distributed deduplication |
US10768900B2 (en) * | 2018-12-05 | 2020-09-08 | Sap Se | Model-based service registry for software systems |
CN109818959B (zh) * | 2019-01-28 | 2021-05-28 | 心动网络股份有限公司 | 一种远程服务通信方法、服务器和*** |
CN110333957B (zh) * | 2019-05-30 | 2024-02-02 | 深圳创芯在线科技有限公司 | 远程过程调用rpc服务调用方法、装置和计算机设备 |
CN110532106B (zh) * | 2019-07-16 | 2023-01-13 | 华为技术有限公司 | 进程间的通讯方法、装置、设备和存储介质 |
CN110391945B (zh) * | 2019-08-06 | 2022-04-26 | 新华三技术有限公司合肥分公司 | 一种拓扑信息收集方法及装置 |
CN113326159B (zh) * | 2020-02-29 | 2023-02-03 | 华为技术有限公司 | 用于故障注入的方法、装置、***及计算机可读存储介质 |
CN113342540B (zh) * | 2020-03-02 | 2023-04-28 | ***通信集团山东有限公司 | 终端用户缴费开机方法、***、计算机设备和存储介质 |
CN113765774B (zh) * | 2020-11-16 | 2023-05-02 | 西安京迅递供应链科技有限公司 | 消息实时同步方法、装置、电子设备及介质 |
CN112671913B (zh) * | 2020-12-25 | 2022-11-08 | 珠海金山数字网络科技有限公司 | 服务注册方法及装置 |
CN112714180A (zh) * | 2020-12-25 | 2021-04-27 | 北京北信源软件股份有限公司 | 服务调用方法、装置、电子设备及存储介质 |
CN114095576B (zh) * | 2021-11-22 | 2024-03-08 | 北京爱奇艺科技有限公司 | 一种调用请求发送方法及装置 |
CN115102999B (zh) * | 2022-06-09 | 2024-02-09 | 光大科技有限公司 | DevOps***、服务提供方法、存储介质和电子装置 |
CN115225687A (zh) * | 2022-07-18 | 2022-10-21 | 上海睿赛德电子科技有限公司 | 一种嵌入式设备rpc组件通讯***、方法 |
WO2024036463A1 (en) * | 2022-08-16 | 2024-02-22 | Qualcomm Incorporated | Remote procedure call virtualization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604140B1 (en) * | 1999-03-31 | 2003-08-05 | International Business Machines Corporation | Service framework for computing devices |
US7496637B2 (en) * | 2000-05-31 | 2009-02-24 | Oracle International Corp. | Web service syndication system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682534A (en) * | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
US6728788B1 (en) * | 1999-12-16 | 2004-04-27 | International Business Machines Corporation | Method and system for converting a remote procedure call to a local procedure call when the service is on the same device as the calling client |
US8065690B2 (en) * | 2005-12-01 | 2011-11-22 | Cisco Technology, Inc. | Method and system for event-based remote procedure call implementation in a distributed computing system |
US20080201736A1 (en) | 2007-01-12 | 2008-08-21 | Ictv, Inc. | Using Triggers with Video for Interactive Content Identification |
US7971209B2 (en) | 2007-05-18 | 2011-06-28 | Sap Ag | Shortcut in reliable communication |
CN102103526A (zh) * | 2011-02-14 | 2011-06-22 | 博视联(苏州)信息科技有限公司 | 服务端和客户端间通过服务管理进行进程间通信的方法及*** |
CN104598257B (zh) | 2013-10-30 | 2019-01-18 | 华为技术有限公司 | 远程应用程序运行的方法和装置 |
CN103810031B (zh) * | 2014-02-26 | 2017-05-10 | 珠海市君天电子科技有限公司 | 一种管理无线网共享软件的方法和装置 |
-
2016
- 2016-05-28 CN CN201610370774.2A patent/CN107438060B/zh active Active
- 2016-10-19 WO PCT/CN2016/102622 patent/WO2017206422A1/zh unknown
- 2016-10-19 EP EP16903804.9A patent/EP3454215A4/en not_active Ceased
-
2018
- 2018-11-28 US US16/202,790 patent/US10831574B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604140B1 (en) * | 1999-03-31 | 2003-08-05 | International Business Machines Corporation | Service framework for computing devices |
US7496637B2 (en) * | 2000-05-31 | 2009-02-24 | Oracle International Corp. | Web service syndication system |
Also Published As
Publication number | Publication date |
---|---|
US20190108079A1 (en) | 2019-04-11 |
US10831574B2 (en) | 2020-11-10 |
EP3454215A4 (en) | 2019-05-15 |
CN107438060A (zh) | 2017-12-05 |
WO2017206422A1 (zh) | 2017-12-07 |
EP3454215A1 (en) | 2019-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438060B (zh) | 一种网络设备中的远程过程调用方法及网络设备 | |
US10700979B2 (en) | Load balancing for a virtual networking system | |
US9628290B2 (en) | Traffic migration acceleration for overlay virtual environments | |
US9300592B2 (en) | Physical port sharing in a link aggregation group | |
US20190073387A1 (en) | System and method for connection concentration in a database environment | |
US10972549B2 (en) | Software-defined networking proxy gateway | |
US9559940B2 (en) | Take-over of network frame handling in a computing environment | |
US10230795B2 (en) | Data replication for a virtual networking system | |
CN111542064A (zh) | 一种用于无线接入网的容器编排管理***及编排方法 | |
CN111949364A (zh) | 容器化vnf的部署方法和相关设备 | |
WO2016121834A1 (ja) | ネットワーク機能仮想化管理方法とシステムと装置とプログラム | |
CN111345008B (zh) | 移动边缘主机服务通知方法和装置 | |
CN115269184A (zh) | 函数即服务(faas)执行分配器 | |
US20160253198A1 (en) | System and method for nested hypervisors and layer 2 interconnection | |
US20200382371A1 (en) | Disruption minimization for guests when applying changes to a data plane of a packet handler in a host | |
CN109905258B (zh) | PaaS的管理方法、装置及存储介质 | |
CN116800616B (zh) | 虚拟化网络设备的管理方法及相关装置 | |
US11750475B1 (en) | Monitoring customer application status in a provider network | |
US20230019037A1 (en) | Reactive non-blocking input and output for target device communication | |
CN114726657A (zh) | 中断管理和数据收发管理的方法、装置及智能网卡 | |
US9304841B2 (en) | Dispatcher framework to provide inter-application communication |
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 |