CN106790092B - 远程过程调用服务端控制系统及方法 - Google Patents

远程过程调用服务端控制系统及方法 Download PDF

Info

Publication number
CN106790092B
CN106790092B CN201611207926.3A CN201611207926A CN106790092B CN 106790092 B CN106790092 B CN 106790092B CN 201611207926 A CN201611207926 A CN 201611207926A CN 106790092 B CN106790092 B CN 106790092B
Authority
CN
China
Prior art keywords
service
computing
computing node
client
service parameters
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
CN201611207926.3A
Other languages
English (en)
Other versions
CN106790092A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201611207926.3A priority Critical patent/CN106790092B/zh
Publication of CN106790092A publication Critical patent/CN106790092A/zh
Application granted granted Critical
Publication of CN106790092B publication Critical patent/CN106790092B/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]
    • 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
    • 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/10Protocols 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是用于获知(感知)各个计算节点的运行状态,并在客户端30向计算节点请求服务时将各个计算节点的运行状态共享给客户端30,从而使得客户端30实时获知各个计算节点的状态,从而可避免访问故障或不可用的计算节点而影响正常业务。
分布式协同服务模块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,用于根据各个计算节点的运行信息进行系统行为分析,从而预测服务状态和负载变化,并根据预测结果向任务控制器201发送预测操作请求。
具体的,对各个组成部分详细介绍如下。
(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是用于获知(感知)各个计算节点的运行状态,并在客户端30向计算节点请求服务时将各个计算节点的运行状态共享给客户端30,从而使得客户端30实时获知各个计算节点的状态,从而可避免访问故障或不可用的计算节点而影响正常业务。当用户发起服务变更请求或预测模块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根据各个计算节点的运行信息,通过机器学习等方式进行系统行为分析,从而预测服务状态和负载变化,并根据预测结果向任务控制器201发送预测操作请求。例如,当预测模块206预测到服务状态和负载在不久的将来会发生较大程度提升,预测模块206会向任务控制器201发送预测操作请求,请求资源管理器202控制从资源池203为服务增加新的计算节点。
可见,与现有的远程过程调用服务装置大多使用静态部署模式,不能快速处理服务失败的情况、没有弹性伸缩能力、更没有智能预测服务能力的特性相比,本发明将传统的远程过程调用服务和资源管理技术、分布式协同服务、以及预测系统等进行有机结合,具有弹性伸缩、可容错、智能预测的优点,具体的,通过使用资源池,把远程调用服务部署到资源池中,实现了服务资源的灵活部署,提高了系统的可伸缩性;并通过分布式协同服务模块负责监管服务的运转与调度,及时发现故障计算节点,从而实现系统的可容错性;另外,通过预测模块,当服务的负载可能大幅提升时,提前实现扩容完成智能调度。
参见图3,为本发明实施例提供的一种远程过程调用服务端控制方法流程图,其中的服务端被客户端远程调用,该方法包括:
S301:从用户接收服务创建请求。
其中,服务参数包括服务业务逻辑地址、配置信息、初始资源使用量,和/或,计算节点个数等信息。
S302:根据服务创建请求中的服务参数,创建并启动满足服务参数的若干个计算节点,其中,为满足服务参数的若干个计算节点分配计算资源。
S303:获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端。
优选的,是在客户端发起远程调用某个计算节点时,将各个计算节点的运行状态发送给客户端的。
优选的,上述方法还包括:从用户接收服务变更请求;根据服务变更请求中的服务参数,新增或删除满足服务参数的若干个计算节点,其中,为满足服务参数而新增的若干个计算节点分配计算资源,或将满足服务参数而删除的若干个计算节点的计算资源进行回收;获知最新的计算节点的运行状态,并将最新的计算节点的运行状态共享给客户端。
上述方法方案对应的控制系统示意图请参见图1,其中:任务控制器201面向用户提供操作界面,可接收用户的服务创建请求、服务变更请求,并将服务创建请求或服务变更请求转发给资源管理器202。资源管理器202从任务控制器201接收用户发起的服务创建请求或服务变更请求,根据服务创建请求的要求,对资源池203进行资源分配控制,在资源池为所需个数的计算节点分配计算资源之后,将服务业务员逻辑和配置信息部署到这些计算节点中并启动它们,从而完成创建并启动或者变更满足服务参数的若干个计算节点的任务。资源池203在资源管理器202的控制下,分配或回收满足服务创建请求或服务变更请求所要求的若干数量计算节点的计算资源。分布式协同服务模块204用于获知各个计算节点的运行状态,并在客户端30向计算节点请求服务时将各个计算节点的运行状态共享给客户端30,从而使得客户端30实时获知各个计算节点的状态,从而可避免访问故障或不可用的计算节点而影响正常业务。
在优选的方法方案中,该方法还包括:从各个计算节点接收运行信息并向用户进行展示;根据各个计算节点的运行信息进行系统行为分析,从而预测服务状态和负载变化,并根据预测结果进行服务变更。其中,计算节点的运行信息包括计算节点的资源使用率和/或负载数据。相应的,上述方法还包括:接收预测操作请求;根据预测操作请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点,其中,为满足服务参数而新增的若干个计算节点分配计算资源,或将满足服务参数而删除的若干个计算节点的计算资源进行回收;获知最新的计算节点的运行状态,并将最新的计算节点的运行状态共享给客户端。
上述优选的方法方案对应的控制系统示意图请参见图2,其中:任务控制器201面向用户提供操作界面,可接收用户的服务创建请求或服务变更请求,并将服务创建请求或服务变更请求转发给资源管理器202。此外,任务控制器201还用于从预测模块206接收预测操作请求,并将预测操作请求转发给资源管理器202。资源管理器202是针对服务进行资源管理和控制和核心模块,负责计算节点的创建、启动、停止、回收等操作。资源管理器202从任务控制器201接收服务创建请求、服务变更请求、预测操作请求,并根据请求中的服务参数,创建、新增或删除满足服务参数的若干个计算节点。资源池203在资源管理器202的控制下,分配或回收满足服务创建请求、服务变更请求、预测操作请求所要求的若干数量计算节点的计算资源。分布式协同服务模块204是用于获知各个计算节点的运行状态,并在客户端30向计算节点请求服务时将各个计算节点的运行状态共享给客户端30,从而使得客户端30实时获知各个计算节点的状态,从而可避免访问故障或不可用的计算节点而影响正常业务。当用户发起服务变更请求或预测模块206发起预测操作请求时,分布式协同服务模块204可获知最新的计算节点的运行状态,并将最新的计算节点的运行状态共享给客户端30。监控模块205用于从各个计算节点接收运行信息并向用户进行展示,以及将运行信息发送给预测模块206。其中的计算节点的运行信息包括但不限于计算节点的资源使用率和负载数据等。预测模块206根据监控模块205提供的原始数据进行分析计算,然后预测未来的负载并做出决策。具体的,预测模块206根据各个计算节点的运行信息,通过机器学习等方式进行系统行为分析,从而预测服务状态和负载变化,并根据预测结果向任务控制器201发送预测操作请求。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
对于方法实施例而言,由于其与系统实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种远程过程调用服务端控制系统及方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种远程过程调用服务端控制系统,所述服务端被客户端远程调用,其特征在于,所述服务端控制系统包括:任务控制器、资源管理器、资源池以及分布式协同服务模块,其中:
所述任务控制器,用于从用户接收服务创建请求;
所述资源管理器,用于从所述任务控制器接收服务创建请求,并根据所述服务创建请求中的服务参数,创建并启动满足所述服务参数的若干个计算节点;
所述资源池,用于分配满足所述服务参数的若干个计算节点的计算资源;
所述分布式协同服务模块,用于获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端;
所述任务控制器,还用于从用户接收服务变更请求;
所述资源管理器,还用于从所述任务控制器接收服务变更请求,并根据所述服务变更请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点;
所述资源池,用于分配满足所述服务参数而新增的若干个计算节点的计算资源,或回收满足所述服务参数而删除的若干个计算节点的计算资源;
所述分布式协同服务模块,用于获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端;
其中,在所述客户端需要实现远程过程调用时,所述客户端根据由所述分布式协同服务模块共享的各个计算节点的运行状态,获取可用的计算节点的地址信息,并在所述客户端与计算节点建立通信信道之后,发起具体的远程过程调用。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括监控模块和预测模块,其中:
所述监控模块,用于从各个计算节点接收运行信息并向用户进行展示,以及将所述运行信息发送给所述预测模块;
所述预测模块,用于根据各个计算节点的运行信息进行系统行为分析,从而预测服务状态和负载变化,并根据预测结果向所述任务控制器发送预测操作请求。
3.根据权利要求2所述的系统,其特征在于,所述计算节点的运行信息包括计算节点的资源使用率和/或负载数据。
4.根据权利要求2所述的系统,其特征在于,
所述任务控制器,还用于从所述预测模块接收所述预测操作请求;
所述资源管理器,还用于从所述任务控制器接收所述预测操作请求,并根据所述预测操作请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点;
所述资源池,用于分配满足所述服务参数而新增的若干个计算节点的计算资源,或回收满足所述服务参数而删除的若干个计算节点的计算资源;
所述分布式协同服务模块,用于获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
5.根据权利要求1-4任一项所述的系统,其特征在于,所述分布式协同服务模块,在所述客户端发起远程调用某个计算节点时,将各个计算节点的运行状态发送给所述客户端。
6.根据权利要求1-4任一项所述的系统,其特征在于,所述服务参数包括服务业务逻辑地址、配置信息、初始资源使用量,和/或,计算节点个数。
7.一种远程过程调用服务端控制方法,所述服务端被客户端远程调用,其特征在于,所述方法包括:
从用户接收服务创建请求;
根据所述服务创建请求中的服务参数,创建并启动满足所述服务参数的若干个计算节点,其中,为满足所述服务参数的若干个计算节点分配计算资源;
获知各个计算节点的运行状态,并将各个计算节点的运行状态共享给客户端;
所述方法还包括:
从用户接收服务变更请求;
根据所述服务变更请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点,其中,为满足所述服务参数而新增的若干个计算节点分配计算资源,或将满足所述服务参数而删除的若干个计算节点的计算资源进行回收;
获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端;
其中,在所述客户端需要实现远程过程调用时,所述客户端根据由分布式协同服务模块共享的各个计算节点的运行状态,获取可用的计算节点的地址信息,并在所述客户端与计算节点建立通信信道之后,发起具体的远程过程调用。
8.根据权利要求7所述的方法,其特征在于,还包括:
从各个计算节点接收运行信息并向用户进行展示;
根据各个计算节点的运行信息进行系统行为分析,从而预测服务状态和负载变化,并根据预测结果进行服务变更。
9.根据权利要求8所述的方法,其特征在于,所述计算节点的运行信息包括计算节点的资源使用率和/或负载数据。
10.根据权利要求8所述的方法,其特征在于,还包括:
接收预测操作请求;
根据所述预测操作请求中的服务参数,新增或删除满足所述服务参数的若干个计算节点,其中,为满足所述服务参数而新增的若干个计算节点分配计算资源,或将满足所述服务参数而删除的若干个计算节点的计算资源进行回收;
获知最新的计算节点的运行状态,并将所述最新的计算节点的运行状态共享给所述客户端。
11.根据权利要求7-10任一项所述的方法,其特征在于,所述将各个计算节点的运行状态共享给客户端包括:
在所述客户端发起远程调用某个计算节点时,将各个计算节点的运行状态发送给所述客户端。
12.根据权利要求7-10任一项所述的方法,其特征在于,所述服务参数包括服务业务逻辑地址、配置信息、初始资源使用量,和/或,计算节点个数。
CN201611207926.3A 2016-12-23 2016-12-23 远程过程调用服务端控制系统及方法 Active CN106790092B (zh)

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 CN106790092A (zh) 2017-05-31
CN106790092B true 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)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465717B (zh) * 2017-06-16 2020-06-05 广州天宁信息技术有限公司 一种密码按需服务的方法、装置与设备
CN108513318B (zh) * 2018-02-09 2021-04-06 南京邮电大学 一种基于边缘计算的用户业务排队优化方法
CN110324423A (zh) * 2019-07-08 2019-10-11 深圳市网心科技有限公司 一种服务注册发现方法、系统、设备及介质
CN111083213B (zh) * 2019-12-09 2022-09-02 苏宁云计算有限公司 一种通信方法及系统
CN113821351A (zh) * 2020-11-05 2021-12-21 北京京东乾石科技有限公司 远程过程调用方法及装置、可读存储介质及电子设备
CN112463408A (zh) * 2020-11-26 2021-03-09 北京达佳互联信息技术有限公司 远程过程调用服务的启动方法和装置、服务器、存储介质
CN113568766B (zh) * 2021-09-26 2022-01-07 云和恩墨(北京)信息技术有限公司 基于sqm的数据处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
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平台健康状态管理方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243405B (zh) * 2013-06-08 2017-09-29 华为技术有限公司 一种请求处理方法、装置及系统
CN103944769B (zh) * 2014-05-05 2017-04-05 江苏物联网研究发展中心 基于rpc协议的集群资源统一管理系统
CN105005500A (zh) * 2015-05-29 2015-10-28 青岛海尔智能家电科技有限公司 一种远程过程调用方法、服务端、客户端
CN105553993B (zh) * 2015-12-18 2019-09-27 广州华多网络科技有限公司 一种远程服务调用方法、装置及服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
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平台健康状态管理方法和装置

Also Published As

Publication number Publication date
CN106790092A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106790092B (zh) 远程过程调用服务端控制系统及方法
CN110752947B (zh) 一种k8s集群部署方法及装置,一种部署平台
US10944621B2 (en) Orchestrator for a virtual network platform as a service (VNPAAS)
EP3200393B1 (en) Method and device for virtual network function management
US10153941B2 (en) Distributed operational control in computing systems
CN105207798B (zh) 软件定义网络中的业务编排方法及装置
CN103414712B (zh) 一种分布式虚拟桌面管理系统和方法
EP3447965B1 (en) Network function instance management method and relevant device
CN110661647A (zh) 一种生命周期管理方法及装置
JP2015011716A (ja) グリッドコンピューティングシステムの遊休リソースによるタスク実行
CN108347343B (zh) 一种策略管理方法、装置和系统
CN106817432B (zh) 云计算环境下虚拟资源弹性伸展的方法,系统和设备
US20180219793A1 (en) Network functions virtualization resource processing method and virtualized network function manager
CN109688191B (zh) 流量调度方法及通信装置
CN111274033B (zh) 一种资源部署方法、装置、服务器以及存储介质
CN113382077A (zh) 微服务调度方法、装置、计算机设备和存储介质
CN109257396A (zh) 一种分布式锁调度方法及装置
CN106550002B (zh) 一种paas云托管系统及方法
CN109032674B (zh) 一种多进程管理方法、系统及网络设备
CN109936462B (zh) 容灾方法及装置
CN114629958B (zh) 资源分配方法、装置、电子设备及存储介质
CN111221620A (zh) 存储方法、装置及存储介质
US11290318B2 (en) Disaster recovery of cloud resources
CN115686813A (zh) 一种资源调度方法、装置、电子设备和存储介质
CN110347473B (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