CN106790092A - 远程过程调用服务端控制***及方法 - Google Patents
远程过程调用服务端控制***及方法 Download PDFInfo
- Publication number
- CN106790092A CN106790092A CN201611207926.3A CN201611207926A CN106790092A CN 106790092 A CN106790092 A CN 106790092A CN 201611207926 A CN201611207926 A CN 201611207926A CN 106790092 A CN106790092 A CN 106790092A
- Authority
- CN
- China
- Prior art keywords
- service
- calculate node
- calculate
- running status
- parameter
- 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.)
- Granted
Links
Classifications
-
- 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]
-
- 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
-
- 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/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种远程过程调用服务端控制***及方法,所述服务端被客户端远程调用,所述服务端控制***包括:任务控制器、资源管理器、资源池以及分布式协同服务模块,其中:所述任务控制器,用于从用户接收服务创建请求;所述资源管理器,用于从所述任务控制器接收服务创建请求,并根据所述服务创建请求中的服务参数,创建并启动满足所述服务参数的若干个计算节点;所述资源池,用于分配满足所述服务参数的若干个计算节点的计算资源;所述分布式协同服务模块,用于获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端。本发明可提高远程过程调用服务的可伸缩性和可容错性。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种远程过程调用服务端控制***及方法。
背景技术
远程过程调用(Remote Procedure Call Protocol,RPC),是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的方式。基于远程过程调用的服务是现代各种分布式***的基石,它的稳定可靠高效直接关系到整个***的可用性和经济性。因此,各大互联网公司一般都会研发适合自身的远程过程调用***。
通常,远程过程调用***的服务端被部署安装在事先确定好的静态资源上。例如,机器(物理的或者虚拟的)的数目是确定,机器的计算能力是确定的,机器的地址也是确定的。服务的提供方会将这些信息显式地告知服务的使用方。
上述将服务端部署在静态资源上的方式存在一些弊端。例如,如果服务提供方的机器出现问题,服务使用方无法自动排除出问题的机器,会造成相关调用无法成功完成。再如,服务提供方的机器集群拓扑结构发生变化,包括但不限于增加机器、删除机器、变更机器地址等,服务使用方无法自动感知。另外,不能及时预测资源模式的变化,例如,待到服务负载升高时再执行预案措施时可能为时已晚。
发明内容
为了提高远程过程调用服务的灵活性和可容错性,本发明实施例提供一种远程过程调用服务端控制***及方法。
根据本发明实施例的一个方面,提供一种远程过程调用服务端控制***,所述服务端被客户端远程调用,所述服务端控制***包括:任务控制器、资源管理器、资源池以及分布式协同服务模块,其中:所述任务控制器,用于从用户接收服务创建请求;所述资源管理器,用于从所述任务控制器接收服务创建请求,并根据所述服务创建请求中的服务参数,创建并启动满足所述服务参数的若干个计算节点;所述资源池,用于分配满足所述服务参数的若干个计算节点的计算资源;所述分布式协同服务模块,用于获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端。
优选的,所述***还包括监控模块和预测模块,其中:所述监控模块,用于从各个计算节点接收运行信息并向用户进行展示,以及将所述运行信息发送给所述预测模块;所述预测模块,用于根据各个计算节点的运行信息进行***行为分析,从而预测服务状态和负载变化,并根据预测结果向所述任务管理器发送服务预测变更请求。
优选的,所述计算节点的运行信息包括计算节点的资源使用率和/或负载数据。
优选的,所述任务控制器,还用于从所述预测模块接收所述预测操作请求;所述资源管理器,还用于从所述任务控制器接收预测操作请求,并根据所述预测操作请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点;所述资源池,用于分配满足所述服务参数而新增的若干个计算节点的计算资源,或回收满足所述服务参数而删除的若干个计算节点的计算资源;所述分布式协同服务模块,用于获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
优选的,所述任务控制器,还用于从用户接收服务变更请求;所述资源管理器,还用于从所述任务控制器接收服务变更请求,并根据所述服务变更请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点;所述资源池,用于分配满足所述服务参数而新增的若干个计算节点的计算资源,或回收满足所述服务参数而删除的若干个计算节点的计算资源;所述分布式协同服务模块,用于获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
优选的,所述分布式协同服务模块,在所述客户端发起远程调用某个计算节点时,将各个计算节点的运行状态发送给所述客户端。
优选的,所述服务参数包括服务业务逻辑地址、配置信息、初始资源使用量,和/或,计算节点个数。
根据本发明实施例的另一个方面,提供一种远程过程调用服务端控制方法,所述服务端被客户端远程调用,所述方法包括:从用户接收服务创建请求;根据所述服务创建请求中的服务参数,创建并启动满足所述服务参数的若干个计算节点,其中,为满足所述服务参数的若干个计算节点分配计算资源;获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端。
优选的,还包括:从各个计算节点接收运行信息并向用户进行展示;根据各个计算节点的运行信息进行***行为分析,从而预测服务状态和负载变化,并根据预测结果进行服务变更。
优选的,所述计算节点的运行信息包括计算节点的资源使用率和/或负载数据。
优选的,还包括:接收预测操作请求;根据所述预测操作请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点,其中,为满足所述服务参数而新增的若干个计算节点分配计算资源,或将满足所述服务参数而删除的若干个计算节点的计算资源进行回收;获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
优选的,还包括:从用户接收服务变更请求;根据所述服务变更请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点,其中,为满足所述服务参数而新增的若干个计算节点分配计算资源,或将满足所述服务参数而删除的若干个计算节点的计算资源进行回收;获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
优选的,所述将各个计算节点的运行状态共享给客户端包括:在所述客户端发起远程调用某个计算节点时,将各个计算节点的运行状态发送给所述客户端。
优选的,所述服务参数包括服务业务逻辑地址、配置信息、初始资源使用量,和/或,计算节点个数。
可见,与现有的远程过程调用服务装置大多使用静态部署模式,不能快速处理服务失败的情况、没有弹性伸缩能力、更没有智能预测服务能力的特性相比,本发明将传统的远程过程调用服务和资源管理技术、分布式协同服务、以及预测***等进行有机结合,具有弹性伸缩、可容错、智能预测的优点,具体的,通过使用资源池,把远程调用服务部署到资源池中,实现了服务资源的灵活部署,提高了***的可伸缩性;并通过分布式协同服务模块负责监管服务的运转与调度,及时发现故障计算节点,从而实现***的可容错性;另外,通过预测模块,当服务的负载可能大幅提升时,提前实现扩容完成智能调度。
附图说明
图1是本发明一个实施例提供的一种远程过程调用服务端控制***结构示意图;
图2是本发明另一个实施例提供的一种远程过程调用服务端控制***结构示意图;
图3是本发明一个实施例提供的一种远程过程调用服务端控制方法流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
过程调用,是将控制从一个过程A传递到另一个过程B,返回时过程B将控制进程交给过程A。目前大多数***中,调用者和被调用者都在给定主机***中的一个进程中,它们是在生成可执行文件时由链接器连接起来的,这类过程调用称为本地过程调用。远程过程调用指的是由本地***上的进程激活远程***上的进程,但是它对程序员来说表现为常规过程调用。处理远程过程调用的进程有两个,一个是本地客户端进程,一个是远程服务端进程。对本地进程来说,远程过程调用表现为对客户端进程的控制,然后由客户端进程生成一个消息,通过网络***调用发往远程服务端。网络信息中包括过程调用所需要的参数,远程服务端接到消息后调用相应过程,然后将结果通过网络发回客户端进程,再由客户端进程将结果返回给调用进程。因此,远程过程调用对调用者表现为本地过程调用,但实际上是调用了远程***上的过程。
在现有远程过程调用方案中,服务端一般部署在静态资源的机器上,如前分析的,这种部署方式存在由于机器故障而无法调用、拓扑结构变化不易被感知等问题。因此,本发明实施例提供一种可支持可容错、弹性伸缩、智能调度的远程过程调用服务端控制***。简言之,本发明提供的远程过程调用服务端控制***,基于分布式协同服务和资源池,实现服务端的可容错性以及弹性伸缩;在优选方式中,通过对***状态和负载进行监控和预测,可实现对资源的智能调度。
参见图1,为本发明一个实施例提供的一种远程过程调用服务端控制***结构示意图。
如图1所示,远程过程调用服务端控制***是指服务端20,通过本发明实施例所述的远程过程调用服务端控制***对服务端的控制,可实现服务端20被客户端30远程调用。
在该实施例中,服务端20包括:任务控制器201、资源管理器202、资源池203以及分布式协同服务模块204。其中,任务控制器201,用于从用户接收服务创建请求;资源管理器202,用于从任务控制器201接收服务创建请求,并根据服务创建请求中的服务参数,创建并启动满足服务参数的若干个计算节点;资源池203,用于分配满足服务参数的若干个计算节点的计算资源;分布式协同服务模块204,用于获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端。
具体的,对各个组成部分详细介绍如下。
1、任务控制器201
任务控制器201面向用户提供操作界面,可接收用户的服务创建请求(该服务创建请求用于请求资源管理器202从资源池203中分配计算节点),并将服务创建请求转发给资源管理器202。服务创建请求中包括服务参数,用于表明服务所需资源的信息,例如,服务参数包括服务业务逻辑地址、配置信息、初始资源使用量和计算节点个数等。
类似的,除了从用户接收服务创建请求之外,任务控制器201还可以从用户接收服务变更请求(该服务变更请求用于请求资源管理器202从资源池203中变更计算节点,包括新增或删除计算节点),并将服务变更请求转发给资源管理器202。服务变更请求中包括服务参数,用于表明服务变更所涉及资源的信息,例如,服务参数包括变更资源使用量和计算节点变更个数等。
2、资源管理器202
资源管理器202是针对服务进行资源管理和控制和核心模块,负责计算节点的创建、启动、停止、回收等操作。资源管理器202从任务控制器201接收服务创建请求,根据服务创建请求的要求,对资源池203进行资源分配控制,在资源池为所需个数的计算节点分配计算资源之后,将服务业务员逻辑和配置信息控制到这些计算节点中并启动它们,从而完成创建并启动满足服务参数的若干个计算节点的任务。
同理,资源管理器202还用于从任务控制器201接收服务变更请求,并根据服务变更请求中的服务参数,新增或删除满足服务参数的若干个计算节点。
3、资源池203
资源池203是由若干计算节点组成的集群。资源池是一种配置机制,用于对资源进行分区,其原理是,当某一个资源被使用完后,资源池把相关的资源的“忙”标示清除掉,以示该资源可以再被下一个请求使用。
资源池203在资源管理器202的控制下,分配满足服务创建请求所要求的若干数量计算节点的计算资源。同理,也用于分配满足服务变更请求所要求新增的若干个计算节点的计算资源,或用于回收满足服务变更请求所要求删除的若干个计算节点的计算资源。
资源池203中的各个计算节点是实际的计算模块(客户端30从计算节点请求服务),用于执行服务的业务逻辑,需要说明的是,各个计算节点可以是独立的物理设备,也可以是通过虚拟机或Docker等技术实现的逻辑模块。计算节点位于资源池203中,由资源管理器202完成创建、启动、停止、回收等操作的控制。
4、分布式协同服务模块204
分布式协同服务模块204是用于获知(感知)各个计算节点2031的运行状态,并在客户端30向计算节点2013请求服务时将各个计算节点2031的运行状态共享给客户端30,从而使得客户端30实时获知各个计算节点2031的状态,从而可避免访问故障或不可用的计算节点而影响正常业务。
分布式协同服务模块204用于服务注册和服务发现,如果某个计算节点不可用,可及时感知到。具体感知计算节点的过程可以是,例如,分布式协同服务模块204向各个计算节点定期发送“握手信息”,所谓握手信息是用于获知计算节点是否正常运行的信息,如果收到计算节点对于握手信息的正常反馈,则确认计算节点正常运行,否则,则认为计算节点不可用(出现故障或被删除)。上述分布式协同服务模块204获知各个计算节点是否正常运行的过程,可以理解为是分布式协同服务模块204感知计算节点“心跳”的过程。
分布式协同服务模块204获知计算节点运行状态之后,可以通过一个计算节点状态表记录各个计算节点的运行状态及相关信息(例如地址信息等),当新增某个/些计算节点,或者某个/些计算节点故障或被删除时,分布式协同服务模块204对该计算节点状态表进行更新。在客户端30欲访问计算节点实现远程过程调用时,客户端30首先与分布式协同服务模块204通信,从而获知哪些计算节点可用以及这些计算节点的地址等信息,获取到可用的计算节点的地址信息后,客户端30与计算节点建立通信信道,然后发起具体的远程过程调用。
在具体应用中,例如,分布式协同服务模块204可通过ZooKeeper实现,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的一个开源的实现,它是一个为分布式应用提供一致***的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
参见图2,为本发明另一个实施例提供的一种远程过程调用服务端控制***结构示意图。
如图2所示,远程过程调用服务端控制***是指服务端20,通过本发明实施例所述的远程过程调用服务端控制***对服务端的控制,可实现服务端20被客户端30远程调用。
在该实施例中,服务端20包括:任务控制器201、资源管理器202、资源池203、分布式协同服务模块204、监控模块205以及预测模块206。可见,与图1所示***相比,图2所示***增加了监控模块205和预测模块206。其中,任务控制器201,用于从用户接收服务创建请求;资源管理器202,用于从任务控制器201接收服务创建请求,并根据服务创建请求中的服务参数,创建并启动满足服务参数的若干个计算节点;资源池203,用于分配满足服务参数的若干个计算节点的计算资源;分布式协同服务模块204,用于获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端;监控模块205,用于从各个计算节点接收运行信息并向用户进行展示,以及将运行信息发送给预测模块206;预测模块206,用于根据各个计算节点的运行信息进行***行为分析,从而预测服务状态和负载变化,并根据预测结果向任务管理器202发送预测操作请求。
具体的,对各个组成部分详细介绍如下。
(1)任务控制器201
任务控制器201面向用户提供操作界面,可接收用户的服务创建请求(该服务创建请求用于请求资源管理器202从资源池203中分配计算节点),并将服务创建请求转发给资源管理器202。服务创建请求中包括服务参数,用于表明服务所需资源的信息,例如,服务参数包括服务业务逻辑地址、配置信息、初始资源使用量和计算节点个数等。
类似的,除了从用户接收服务创建请求之外,任务控制器201还可以从用户接收服务变更请求(该服务变更请求用于请求资源管理器202从资源池203中变更计算节点,包括新增或删除计算节点),并将服务变更请求转发给资源管理器202。服务变更请求中包括服务参数,用于表明服务变更所涉及资源的信息,例如,服务参数包括变更资源使用量和计算节点变更个数等。
此外,任务控制器201还用于从预测模块206接收预测操作请求(该预测操作请求是预测模块206根据预测结果用于请求资源管理器202从资源池203中变更计算节点,包括新增或删除计算节点),并将预测操作请求转发给资源管理器202。预测操作请求中包括服务参数,用于表明服务变更所涉及资源的信息,例如,服务参数包括变更资源使用量和计算节点变更个数等。
(2)资源管理器202
资源管理器202是针对服务进行资源管理和控制和核心模块,负责计算节点的创建、启动、停止、回收等操作。资源管理器202从任务控制器201接收服务创建请求,根据服务创建请求的要求,对资源池203进行资源分配控制,在资源池为所需个数的计算节点分配计算资源之后,将服务业务员逻辑和配置信息部署到这些计算节点中并启动它们,从而完成创建并启动满足服务参数的若干个计算节点的任务。同理,资源管理器202还用于从任务控制器201接收服务变更请求,并根据服务变更请求中的服务参数,新增或删除满足服务参数的若干个计算节点。
此外,资源管理器202还用于从任务控制器接收由预测模块206发起的预测操作请求,并根据预测操作请求中的服务参数,新增或删除满足服务参数的若干个计算节点。
(3)资源池203
资源池203是由若干计算节点组成的集群。资源池是一种配置机制,用于对资源进行分区,其原理是,当某一个资源被使用完后,资源池把相关的资源的“忙”标示清除掉,以示该资源可以再被下一个请求使用。
资源池203在资源管理器202的控制下,分配满足服务创建请求所要求的若干数量计算节点的计算资源。同理,也用于分配满足服务变更请求以及预测操作请求所要求新增的若干个计算节点的计算资源,或用于回收满足服务变更请求或预测操作请求所要求删除的若干个计算节点的计算资源。
资源池203中的各个计算节点是实际的计算模块(客户端30从计算节点请求服务),用于执行服务的业务逻辑,需要说明的是,各个计算节点可以是独立的物理设备,也可以是通过虚拟机或Docker等技术实现的逻辑模块。计算节点位于资源池203中,由资源管理器202完成创建、启动、停止、回收等操作的控制。
(4)分布式协同服务模块204
分布式协同服务模块204是用于获知(感知)各个计算节点2031的运行状态,并在客户端30向计算节点2013请求服务时将各个计算节点2031的运行状态共享给客户端30,从而使得客户端30实时获知各个计算节点2031的状态,从而可避免访问故障或不可用的计算节点而影响正常业务。当用户发起服务变更请求或预测模块206发起预测操作请求时,分布式协同服务模块204可获知最新的计算节点的运行状态,并将最新的计算节点的运行状态共享给客户端30。
分布式协同服务模块204用于服务注册和服务发现,如果某个计算节点不可用,可及时感知到。具体感知计算节点的过程可以是,例如,分布式协同服务模块204向各个计算节点定期发送“握手信息”,所谓握手信息是用于获知计算节点是否正常运行的信息,如果收到计算节点对于握手信息的正常反馈,则确认计算节点正常运行,否则,则认为计算节点不可用(出现故障或被删除)。上述分布式协同服务模块204获知各个计算节点是否正常运行的过程,可以理解为是分布式协同服务模块204感知计算节点“心跳”的过程。
分布式协同服务模块204获知计算节点运行状态之后,可以通过一个计算节点状态表记录各个计算节点的运行状态及相关信息(例如地址信息等),当新增某个/些计算节点,或者某个/些计算节点故障或被删除时,分布式协同服务模块204对该计算节点状态表进行更新。在客户端30欲访问计算节点实现远程过程调用时,客户端30首先与分布式协同服务模块204通信,从而获知哪些计算节点可用以及这些计算节点的地址等信息,获取到可用的计算节点的地址信息后,客户端30与计算节点建立通信信道,然后发起具体的远程过程调用。
在具体应用中,例如,分布式协同服务模块204可通过ZooKeeper实现,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的一个开源的实现,它是一个为分布式应用提供一致***的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
(5)监控模块205
监控模块205用于从各个计算节点接收运行信息并向用户进行展示,以及将运行信息发送给预测模块206。其中的计算节点的运行信息包括但不限于计算节点的资源使用率和负载数据等。可以理解,一方面,监控模块205向用户提供显示界面,将各个计算节点的运行信息展示给用户,另一方面,监控模块205向预测模块206提供预测所基于的原始数据,以便预测模块206对未来一段时间服务所需资源进行预测。
(6)预测模块206
预测模块206根据监控模块205提供的原始数据进行分析计算,然后预测未来的负载并做出决策。具体的,预测模块206根据各个计算节点的运行信息,通过机器学习等方式进行***行为分析,从而预测服务状态和负载变化,并根据预测结果向任务管理器202发送预测操作请求。例如,当预测模块206预测到服务状态和负载在不久的将来会发生较大程度提升,预测模块206会向任务控制器201发送预测操作请求,请求资源管理器202控制从资源池203为服务增加新的计算节点。
可见,与现有的远程过程调用服务装置大多使用静态部署模式,不能快速处理服务失败的情况、没有弹性伸缩能力、更没有智能预测服务能力的特性相比,本发明将传统的远程过程调用服务和资源管理技术、分布式协同服务、以及预测***等进行有机结合,具有弹性伸缩、可容错、智能预测的优点,具体的,通过使用资源池,把远程调用服务部署到资源池中,实现了服务资源的灵活部署,提高了***的可伸缩性;并通过分布式协同服务模块负责监管服务的运转与调度,及时发现故障计算节点,从而实现***的可容错性;另外,通过预测模块,当服务的负载可能大幅提升时,提前实现扩容完成智能调度。
参见图3,为本发明实施例提供的一种远程过程调用服务端控制方法流程图,其中的服务端被客户端远程调用,该方法包括:
S301:从用户接收服务创建请求。
其中,服务参数包括服务业务逻辑地址、配置信息、初始资源使用量,和/或,计算节点个数等信息。
S302:根据服务创建请求中的服务参数,创建并启动满足服务参数的若干个计算节点,其中,为满足服务参数的若干个计算节点分配计算资源。
S303:获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端。
优选的,是在客户端发起远程调用某个计算节点时,将各个计算节点的运行状态发送给客户端的。
优选的,上述方法还包括:从用户接收服务变更请求;根据服务变更请求中的服务参数,新增或删除满足服务参数的若干个计算节点,其中,为满足服务参数而新增的若干个计算节点分配计算资源,或将满足服务参数而删除的若干个计算节点的计算资源进行回收;获知最新的计算节点的运行状态,并将最新的计算节点的运行状态共享给客户端。
上述方法方案对应的控制***示意图请参见图1,其中:任务控制器201面向用户提供操作界面,可接收用户的服务创建请求、服务变更请求,并将服务创建请求或服务变更请求转发给资源管理器202。资源管理器202从任务控制器201接收用户发起的服务创建请求或服务变更请求,根据服务创建请求的要求,对资源池203进行资源分配控制,在资源池为所需个数的计算节点分配计算资源之后,将服务业务员逻辑和配置信息部署到这些计算节点中并启动它们,从而完成创建并启动或者变更满足服务参数的若干个计算节点的任务。资源池203在资源管理器202的控制下,分配或回收满足服务创建请求或服务变更请求所要求的若干数量计算节点的计算资源。分布式协同服务模块204用于获知各个计算节点2031的运行状态,并在客户端30向计算节点2013请求服务时将各个计算节点2031的运行状态共享给客户端30,从而使得客户端30实时获知各个计算节点2031的状态,从而可避免访问故障或不可用的计算节点而影响正常业务。
在优选的方法方案中,该方法还包括:从各个计算节点接收运行信息并向用户进行展示;根据各个计算节点的运行信息进行***行为分析,从而预测服务状态和负载变化,并根据预测结果进行服务变更。其中,计算节点的运行信息包括计算节点的资源使用率和/或负载数据。相应的,上述方法还包括:接收预测操作请求;根据预测操作请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点,其中,为满足服务参数而新增的若干个计算节点分配计算资源,或将满足服务参数而删除的若干个计算节点的计算资源进行回收;获知最新的计算节点的运行状态,并将最新的计算节点的运行状态共享给客户端。
上述优选的方法方案对应的控制***示意图请参见图2,其中:任务控制器201面向用户提供操作界面,可接收用户的服务创建请求或服务变更请求,并将服务创建请求或服务变更请求转发给资源管理器202。此外,任务控制器201还用于从预测模块206接收预测操作请求,并将预测操作请求转发给资源管理器202。资源管理器202是针对服务进行资源管理和控制和核心模块,负责计算节点的创建、启动、停止、回收等操作。资源管理器202从任务控制器201接收服务创建请求、服务变更请求、预测操作请求,并根据请求中的服务参数,创建、新增或删除满足服务参数的若干个计算节点。资源池203在资源管理器202的控制下,分配或回收满足服务创建请求、服务变更请求、预测操作请求所要求的若干数量计算节点的计算资源。分布式协同服务模块204是用于获知各个计算节点2031的运行状态,并在客户端30向计算节点2013请求服务时将各个计算节点2031的运行状态共享给客户端30,从而使得客户端30实时获知各个计算节点2031的状态,从而可避免访问故障或不可用的计算节点而影响正常业务。当用户发起服务变更请求或预测模块206发起预测操作请求时,分布式协同服务模块204可获知最新的计算节点的运行状态,并将最新的计算节点的运行状态共享给客户端30。监控模块205用于从各个计算节点接收运行信息并向用户进行展示,以及将运行信息发送给预测模块206。其中的计算节点的运行信息包括但不限于计算节点的资源使用率和负载数据等。预测模块206根据监控模块205提供的原始数据进行分析计算,然后预测未来的负载并做出决策。具体的,预测模块206根据各个计算节点的运行信息,通过机器学习等方式进行***行为分析,从而预测服务状态和负载变化,并根据预测结果向任务管理器202发送预测操作请求。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
对于方法实施例而言,由于其与***实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种远程过程调用服务端控制***及方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种远程过程调用服务端控制***,所述服务端被客户端远程调用,其特征在于,所述服务端控制***包括:任务控制器、资源管理器、资源池以及分布式协同服务模块,其中:
所述任务控制器,用于从用户接收服务创建请求;
所述资源管理器,用于从所述任务控制器接收服务创建请求,并根据所述服务创建请求中的服务参数,创建并启动满足所述服务参数的若干个计算节点;
所述资源池,用于分配满足所述服务参数的若干个计算节点的计算资源;
所述分布式协同服务模块,用于获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端。
2.根据权利要求1所述的***,其特征在于,所述***还包括监控模块和预测模块,其中:
所述监控模块,用于从各个计算节点接收运行信息并向用户进行展示,以及将所述运行信息发送给所述预测模块;
所述预测模块,用于根据各个计算节点的运行信息进行***行为分析,从而预测服务状态和负载变化,并根据预测结果向所述任务管理器发送服务预测变更请求。
3.根据权利要求2所述的***,其特征在于,所述计算节点的运行信息包括计算节点的资源使用率和/或负载数据。
4.根据权利要求2所述的***,其特征在于,
所述任务控制器,还用于从所述预测模块接收所述预测操作请求;
所述资源管理器,还用于从所述任务控制器接收预测操作请求,并根据所述预测操作请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点;
所述资源池,用于分配满足所述服务参数而新增的若干个计算节点的计算资源,或回收满足所述服务参数而删除的若干个计算节点的计算资源;
所述分布式协同服务模块,用于获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
5.根据权利要求1所述的***,其特征在于,
所述任务控制器,还用于从用户接收服务变更请求;
所述资源管理器,还用于从所述任务控制器接收服务变更请求,并根据所述服务变更请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点;
所述资源池,用于分配满足所述服务参数而新增的若干个计算节点的计算资源,或回收满足所述服务参数而删除的若干个计算节点的计算资源;
所述分布式协同服务模块,用于获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
6.根据权利要求1-5任一项所述的***,其特征在于,所述分布式协同服务模块,在所述客户端发起远程调用某个计算节点时,将各个计算节点的运行状态发送给所述客户端。
7.根据权利要求1-5任一项所述的***,其特征在于,所述服务参数包括服务业务逻辑地址、配置信息、初始资源使用量,和/或,计算节点个数。
8.一种远程过程调用服务端控制方法,所述服务端被客户端远程调用,其特征在于,所述方法包括:
从用户接收服务创建请求;
根据所述服务创建请求中的服务参数,创建并启动满足所述服务参数的若干个计算节点,其中,为满足所述服务参数的若干个计算节点分配计算资源;
获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端。
9.根据权利要求8所述的方法,其特征在于,还包括:
从各个计算节点接收运行信息并向用户进行展示;
根据各个计算节点的运行信息进行***行为分析,从而预测服务状态和负载变化,并根据预测结果进行服务变更。
10.根据权利要求9所述的方法,其特征在于,所述计算节点的运行信息包括计算节点的资源使用率和/或负载数据。
11.根据权利要求9所述的方法,其特征在于,还包括:
接收预测操作请求;
根据所述预测操作请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点,其中,为满足所述服务参数而新增的若干个计算节点分配计算资源,或将满足所述服务参数而删除的若干个计算节点的计算资源进行回收;
获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
12.根据权利要求8所述的方法,其特征在于,还包括:
从用户接收服务变更请求;
根据所述服务变更请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点,其中,为满足所述服务参数而新增的若干个计算节点分配计算资源,或将满足所述服务参数而删除的若干个计算节点的计算资源进行回收;
获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
13.根据权利要求8-12任一项所述的方法,其特征在于,所述将各个计算节点的运行状态共享给客户端包括:
在所述客户端发起远程调用某个计算节点时,将各个计算节点的运行状态发送给所述客户端。
14.根据权利要求8-12任一项所述的方法,其特征在于,所述服务参数包括服务业务逻辑地址、配置信息、初始资源使用量,和/或,计算节点个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611207926.3A CN106790092B (zh) | 2016-12-23 | 2016-12-23 | 远程过程调用服务端控制***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611207926.3A CN106790092B (zh) | 2016-12-23 | 2016-12-23 | 远程过程调用服务端控制***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106790092A true CN106790092A (zh) | 2017-05-31 |
CN106790092B CN106790092B (zh) | 2020-06-19 |
Family
ID=58920037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611207926.3A Active CN106790092B (zh) | 2016-12-23 | 2016-12-23 | 远程过程调用服务端控制***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106790092B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465717A (zh) * | 2017-06-16 | 2017-12-12 | 广州天宁信息技术有限公司 | 一种密码按需服务的方法、装置与设备 |
CN108513318A (zh) * | 2018-02-09 | 2018-09-07 | 南京邮电大学 | 一种基于边缘计算的用户业务排队优化方法 |
CN110324423A (zh) * | 2019-07-08 | 2019-10-11 | 深圳市网心科技有限公司 | 一种服务注册发现方法、***、设备及介质 |
CN111083213A (zh) * | 2019-12-09 | 2020-04-28 | 苏宁云计算有限公司 | 一种通信方法及*** |
CN112463408A (zh) * | 2020-11-26 | 2021-03-09 | 北京达佳互联信息技术有限公司 | 远程过程调用服务的启动方法和装置、服务器、存储介质 |
CN113051025A (zh) * | 2019-12-27 | 2021-06-29 | 阿里巴巴集团控股有限公司 | 容器集群资源管理方法、装置与设备 |
CN113568766A (zh) * | 2021-09-26 | 2021-10-29 | 云和恩墨(北京)信息技术有限公司 | 基于sqm的数据处理方法、装置、设备及存储介质 |
CN113821351A (zh) * | 2020-11-05 | 2021-12-21 | 北京京东乾石科技有限公司 | 远程过程调用方法及装置、可读存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360314A (zh) * | 2011-10-28 | 2012-02-22 | 中国科学院计算技术研究所 | 一种数据中心资源管理***和方法 |
CN102984267A (zh) * | 2012-12-07 | 2013-03-20 | 北京搜狐新媒体信息技术有限公司 | 一种实现分布式缓存节点动态更新到客户端的方法及*** |
CN103870904A (zh) * | 2012-12-12 | 2014-06-18 | ***通信集团公司 | 一种PaaS平台健康状态管理方法和装置 |
CN103944769A (zh) * | 2014-05-05 | 2014-07-23 | 江苏物联网研究发展中心 | 基于rpc协议的集群资源统一管理*** |
WO2014194869A1 (zh) * | 2013-06-08 | 2014-12-11 | 华为技术有限公司 | 一种请求处理方法、装置及*** |
CN105005500A (zh) * | 2015-05-29 | 2015-10-28 | 青岛海尔智能家电科技有限公司 | 一种远程过程调用方法、服务端、客户端 |
CN105553993A (zh) * | 2015-12-18 | 2016-05-04 | 广州华多网络科技有限公司 | 一种远程服务调用方法、装置及服务器 |
-
2016
- 2016-12-23 CN CN201611207926.3A patent/CN106790092B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360314A (zh) * | 2011-10-28 | 2012-02-22 | 中国科学院计算技术研究所 | 一种数据中心资源管理***和方法 |
CN102984267A (zh) * | 2012-12-07 | 2013-03-20 | 北京搜狐新媒体信息技术有限公司 | 一种实现分布式缓存节点动态更新到客户端的方法及*** |
CN103870904A (zh) * | 2012-12-12 | 2014-06-18 | ***通信集团公司 | 一种PaaS平台健康状态管理方法和装置 |
WO2014194869A1 (zh) * | 2013-06-08 | 2014-12-11 | 华为技术有限公司 | 一种请求处理方法、装置及*** |
CN103944769A (zh) * | 2014-05-05 | 2014-07-23 | 江苏物联网研究发展中心 | 基于rpc协议的集群资源统一管理*** |
CN105005500A (zh) * | 2015-05-29 | 2015-10-28 | 青岛海尔智能家电科技有限公司 | 一种远程过程调用方法、服务端、客户端 |
CN105553993A (zh) * | 2015-12-18 | 2016-05-04 | 广州华多网络科技有限公司 | 一种远程服务调用方法、装置及服务器 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465717A (zh) * | 2017-06-16 | 2017-12-12 | 广州天宁信息技术有限公司 | 一种密码按需服务的方法、装置与设备 |
CN107465717B (zh) * | 2017-06-16 | 2020-06-05 | 广州天宁信息技术有限公司 | 一种密码按需服务的方法、装置与设备 |
CN108513318B (zh) * | 2018-02-09 | 2021-04-06 | 南京邮电大学 | 一种基于边缘计算的用户业务排队优化方法 |
CN108513318A (zh) * | 2018-02-09 | 2018-09-07 | 南京邮电大学 | 一种基于边缘计算的用户业务排队优化方法 |
CN110324423A (zh) * | 2019-07-08 | 2019-10-11 | 深圳市网心科技有限公司 | 一种服务注册发现方法、***、设备及介质 |
CN111083213A (zh) * | 2019-12-09 | 2020-04-28 | 苏宁云计算有限公司 | 一种通信方法及*** |
CN111083213B (zh) * | 2019-12-09 | 2022-09-02 | 苏宁云计算有限公司 | 一种通信方法及*** |
CN113051025A (zh) * | 2019-12-27 | 2021-06-29 | 阿里巴巴集团控股有限公司 | 容器集群资源管理方法、装置与设备 |
CN113051025B (zh) * | 2019-12-27 | 2024-05-31 | 阿里巴巴集团控股有限公司 | 容器集群资源管理方法、装置与设备 |
CN113821351A (zh) * | 2020-11-05 | 2021-12-21 | 北京京东乾石科技有限公司 | 远程过程调用方法及装置、可读存储介质及电子设备 |
CN113821351B (zh) * | 2020-11-05 | 2024-07-16 | 北京京东乾石科技有限公司 | 远程过程调用方法及装置、可读存储介质及电子设备 |
CN112463408A (zh) * | 2020-11-26 | 2021-03-09 | 北京达佳互联信息技术有限公司 | 远程过程调用服务的启动方法和装置、服务器、存储介质 |
CN113568766A (zh) * | 2021-09-26 | 2021-10-29 | 云和恩墨(北京)信息技术有限公司 | 基于sqm的数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106790092B (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790092A (zh) | 远程过程调用服务端控制***及方法 | |
CN109120426B (zh) | 一种网络切片管理方法、装置及计算机可读存储介质 | |
CN105207798B (zh) | 软件定义网络中的业务编排方法及装置 | |
WO2020135799A1 (zh) | Vnf服务实例化方法及装置 | |
CN107026802B (zh) | 一种资源管理方法及设备 | |
CN106462450A (zh) | 向vnf管理器的关于虚拟机实时迁移的通知 | |
JP5845571B2 (ja) | 計算システムおよび計算システム管理方法 | |
JP2015011716A (ja) | グリッドコンピューティングシステムの遊休リソースによるタスク実行 | |
US20180199239A1 (en) | Management of resource allocation in a mobile telecommunication network | |
CN111800285B (zh) | 实例迁移方法和装置以及电子设备 | |
JPWO2007072544A1 (ja) | 情報処理装置、計算機、リソース割り当て方法及びリソース割り当てプログラム | |
US10374970B2 (en) | Deploying a cloud service with capacity reservation followed by activation | |
CN111427675B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN106201661A (zh) | 用于弹性伸缩虚拟机集群的方法和装置 | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN109358967A (zh) | 一种me平台app实例化迁移方法及服务器 | |
CN113064744A (zh) | 任务处理方法、装置、计算机可读介质及电子设备 | |
WO2016095524A1 (zh) | 资源分配方法及装置 | |
CN109800261A (zh) | 双数据库连接池的动态控制方法、装置及相关设备 | |
CN108958933B (zh) | 任务执行器的配置参数更新方法、装置及设备 | |
CN109587068A (zh) | 流量切换方法、装置、设备及计算机可读存储介质 | |
CN112306640A (zh) | 容器分配方法及其装置、设备、介质 | |
CN112333034A (zh) | 一种实现自动运维的网络架构及方法 | |
CN108829516A (zh) | 一种图形处理器资源虚拟化调度方法 | |
CN111045778B (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 |