CN102377598B - 一种互联网应用托管系统、设备和方法 - Google Patents
一种互联网应用托管系统、设备和方法 Download PDFInfo
- Publication number
- CN102377598B CN102377598B CN201010263727.0A CN201010263727A CN102377598B CN 102377598 B CN102377598 B CN 102377598B CN 201010263727 A CN201010263727 A CN 201010263727A CN 102377598 B CN102377598 B CN 102377598B
- Authority
- CN
- China
- Prior art keywords
- application
- equipment
- computer equipment
- cluster management
- management equipment
- 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.)
- Expired - Fee Related
Links
Landscapes
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种互联网应用托管系统、设备和方法,通过应用本发明实施例所提出的技术方案,应用集群管理设备可以实时的收集计算机设备中的资源状态信息和应用部署信息,据此进行应用的弹性部署和调度,并将当前的资源状态信息和应用部署信息通知智能应用路由设备,使智能应用路由设备可以据此进行路由的记录,并以及据负载均衡策略将应用请求在各计算机设备中进行负载均衡,从而,使系统实现对应用的弹性部署,实现了软硬件资源的最大限度的利用,有效的节约了资源。
Description
技术领域
本发明实施例涉及通信技术领域,特别涉及一种互联网应用托管系统、设备和方法。
背景技术
现有互联网应用托管的相关技术主要有Amazon EC2和应用集群两种,下面分别介绍。
(1)Amazon EC2
Amazon EC2是一个让使用者可以租用网络侧运行所需应用的系统。EC2使用虚拟机技术,在物理机器上搭建虚拟机,并将其分配给申请应用的用户。每个虚拟机器,又称作实例,能够运行小、大、极大三种能力的虚拟私有服务器。EC2借由提供web服务的方式让使用者可以弹性地运行自己的Amazon机器,使用者可以随时创建、执行、终止自己的虚拟服务器,因此这个系统是″弹性″使用的。但这种弹性是由用户来实现的,并非EC2本身,因此在提供较高灵活性的同时,也对系统使用者提出了较高的要求,同时这也给系统本身带来一些问题,比如资源不能尽用的问题。
(2)应用集群
集群技术是使用特定的连接方式,将比超级计算机便宜许多的硬件设备结合起来,提供与超级计算机性能相当的任务处理能力。目前最为流行的方式是用高速网络传输设备将几台服务器相连,实现并行处理,屏蔽单点失效
与单一服务器相比较,集群提供了以下两个关键特性:
可扩展性:集群的性能不限于单一的服务器或单一的机器。新的服务器可以动态地加入到集群,从而增强集群的性能。如果需要更多的硬件,可以在新的一台机器上发布一个新服务器。如果一个服务器不能充分利用已有机器的性能,那么可以在那台机器上再新增服务器。
高可用性:集群通过服务器冗余使客户端免于失败。在集群中,同样的服务可以由多个服务器提供。如果一个服务器失败了,那么另一台服务器会接管这台失败的服务器。集群提供的从一台服务器错误回复到另一服务器的功能增强了应用的可用性。
在实现本发明实施例的过程中,发明人发现现有技术至少存在以下问题:
从上面对两种相关技术的介绍可以看出,无论是Amazon EC2还是应用集群都面临着软硬资源的不能充分利用的问题。对于EC2来说,用户租用了一系列的软硬件资源,一旦用户租用下来,即使这些资源没有被使用,它们依然不能被其他用户使用。对应用集群也有同样的问题,为了实现高可用性,应用服务器集群中的多台机器安装相同的应用,这些冗余带来了软硬件资源的不能充分利用。
用户在使用资源租用时,需要自行维护租用的服务器,进行系统的维护和保障。当用户租用多台服务器时,需要自行维护服务器之间的关系。
发明内容
本发明实施例提供一种互联网应用托管系统、设备和方法,根据当前的资源状态和应用访问情况在各计算机设备中进行应用的部署和调整,实现互联网应用托管。
为达到上述目的,本发明实施例一方面提供了一种互联网应用托管系统,具体包括应用集群管理设备、智能应用路由设备和部署于不同的计算机设备上的多个节点代理单元:
所述应用集群管理设备,分别与所述智能应用路由设备和所述节点代理单元相连接,用于通过所述节点代理单元管理相对应的计算机设备中资源,以及通过所述节点代理单元在相对应的计算机设备中部署和调度相对应的应用,并通知所述智能应用路由设备当前的应用部署情况和各计算机设备中的负载情况;
所述智能应用路由设备,用于根据所述应用集群管理设备所通知的当前的应用部署情况记录各应用所对应的路由信息,并根据各计算机设备中的负 载情况,按照负载均衡策略,将接收到的应用请求消息发送给相对应的计算机设备,以使所述计算机设备上部署的相应的应用对所述应用请求消息进行处理;
所述节点代理单元,用于根据所述应用集群管理设备的指令,在所对应的计算机设备上进行资源调度和应用的调度,并向所述应用集群管理设备上报所对应的计算机设备当前的资源状态和应用部署情况。
另一方面,本发明实施例还提供了一种应用集群管理设备,包括:
信息获取模块,用于通过节点代理单元获取相对应的计算机设备当前的资源状态和应用部署信息;
管理模块,与所述信息获取模块相连接,用于根据所述信息获取模块所获取的资源状态和应用部署信息,生成相应的应用管理指示;
指示模块,与所述管理模块相连接,用于向所述节点代理单元发送所述管理模块所生成的应用管理指示,在所述节点代理单元所对应的计算机设备中进行应用部署和调度;
通知模块,与所述信息获取模块相连接,用于将所述信息获取模块所获取的各计算机设备当前的资源状态和应用部署信息通知所述智能应用路由设备。
另一方面,本发明实施例还提供了一种节点代理单元,分别部署于应用集群中的不同的计算机设备上,所述节点代理单元,具体包括:
信息获取模块,用于获取所述节点代理单元所对应的计算机设备中当前的资源状态和应用部署情况;
发送模块,用于将所述信息获取模块所获取的所述计算机设备中当前的资源状态和应用部署情况,上报给应用集群管理设备;
指示接收模块,用于接收所述应用集群管理设备所发送的指令,在所述节点代理单元所对应的计算机设备上进行资源和应用的调度。
另一方面,本发明实施例还提供了一种智能应用路由设备,包括:
接收模块,用于接收应用请求消息,以及应用集群管理设备所通知的当前的应用部署情况和资源状态信息;
存储模块,用于根据所述接收模块所接收的所述应用集群管理设备所通知的当前的应用部署情况记录各应用所对应的路由信息,
路由模块,用于所述存储模块所存储的路由信息,并根据所述资源状态信息,按照负载均衡策略,将所述接收模块所接收到的应用请求消息发送给相对应的计算机设备,以使所述计算机设备上部署的相应的应用对所述应用请求消息进行处理。
另一方面,本发明实施例还提供了一种互联网应用托管的方法,包括:
应用集群管理设备获取各计算机设备当前的资源状态和应用部署信息;
所述应用集群管理设备根据所述资源状态和应用部署信息,生成应用管理指示;
所述应用集群管理设备向相应的计算机设备发送所述应用管理指示,所述应用管理指示对所述计算机设备中的应用进行应用部署和调度。
与现有技术相比,本发明实施例具有以下优点:
通过应用本发明实施例所提出的技术方案,应用集群管理设备可以实时的收集计算机设备中的资源状态信息和应用部署信息,据此进行应用的弹性部署和调度,并将当前的资源状态信息和应用部署信息通知智能应用路由设备,使智能应用路由设备可以据此进行路由的记录,并以及据负载均衡策略将应用请求在各计算机设备中进行负载均衡,从而,使系统实现对应用的弹性部署,实现了软硬件资源的最大限度的利用,有效的节约了资源。
附图说明
图1为本发明实施例所提出的一种互联网应用托管的方法的流程示意图;
图2为本发明实施例所提出的一种实现互联网应用托管环境的系统的总体结构示意图;
图3为本发明实施例所提出的一种资源加入和维持的方法的流程示意图
图4为本发明实施例提出的一种应用实例部署的流程示意图;
图5为本发明实施例提出的一种应用部署取消的流程示意图;
图6为本发明实施例提出的一种应用部署信息同步的流程示意图;
图7为本发明实施例提出的一种应用路由分发的流程示意图;
图8为本发明实施例所提出的一种具体应用场景下的互联网应用托管的方法的流程示意图;
图8为本发明实施例提出的一种互联网应用托管系统的结构示意图;
图9为本发明实施例提出的一种应用集群管理设备的结构示意图;
图10为本发明实施例提出的一种计算机设备的结构示意图;
图11为本发明实施例提出的一种智能应用路由设备的结构示意图。
图12为本发明实施例提出的一种智能应用路由设备的结构示意图。
具体实施方式
如背景技术所述,现有的互联网应用的托管技术存在着资源相对固定,不能根据当前的应用部署和资源占用情况进行动态调整的缺陷,从而,可能会造成资源的浪费。
本发明实施例所提出的技术方案的核心思想在于,应用集群管理设备根据获取到的各计算机设备当前的资源状态和应用部署信息,进行应用调度和部署,并将相应的应用部署情况通知智能应用路由设备,以使智能应用路由设备对相应的应用请求进行路由处理,从而,实现根据当前的应用部署和资源占用情况进行资源的动态调整,有效的利用各计算机设备中的资源进行应用托管。
如图1所示,为本发明实施例所提出的一种互联网应用托管的方法的流程示意图,该方法具体包括以下步骤:
步骤S101、应用集群管理设备获取各计算机设备当前的资源状态和应用部署信息。
在实际应用中,本步骤完成之后,还包括将资源状态和应用部署信息通知智能应用路由设备的通知过程。
基于上述的通知过程,智能应用路由设备可以根据资源状态和应用部署信息确定各应用相应的路由转发信息,并在智能应用路由设备接收到应用请求时,根据资源状态和应用部署信息,按照负载均衡策略,选择相应的应用,并将应用请求发送给应用。
步骤S102、应用集群管理设备根据资源状态和应用部署信息,生成应用管理指示。
步骤S103、应用集群管理设备向相应的计算机设备发送应用管理指示,该应用管理指示对计算机设备中的应用进行应用部署和调度。
需要进一步指出的是,上述的部署和调度一方面包括应用的建立和调整,另一方面,也包括应用的取消,具体说明如下。
首先,能够触发应用取消处理的情况包括以下几种:
(1)应用集群管理设备接收到应用停止指示。
(2)应用集群管理设备根据资源状态和应用部署信息,判断存在当前负载量超过预设负载阈值的计算机设备。
(3)应用集群管理设备根据资源状态和应用部署信息,判断存在业务量低于业务量阈值的应用。
当出现以上的一种或多种情况时,应用集群管理设备确定需要停止的应用,并通过以下方式进行应用取消:
(1)应用集群管理设备向需要停止的应用所对应的计算机设备发送应用停止指示,以停止该应用。
(2)应用集群管理设备向其他计算机设备发送应用部署指示,以将该需要停止的应用部署在其他计算机设备中。
不仅如此,为了记录当前系统中各计算机设备自身,以及部署在该计算机设备上的应用的运行状态,本发明实施例所提出的技术方案中还需要应用集群管理设备建立相应的日志记录和反馈机制,具体如下:
应用集群管理设备根据获取到的各计算机设备当前的资源状态和应用部署信息,生成相应的运行日志。
当应用集群管理设备接收到应用管理设备所发送的日志请求时,将生成 的相应的运行日志反馈给应用管理设备。
在实际应用中,应用集群的资源是动态变化的,会存在计算机设备的加入或退出,现对其说明如下:
(1)当应用集群管理设备接收到当前没有加入互联网应用托管系统的计算机设备发送的节点加入请求时,获取该计算机设备当前的资源状态信息,将该计算机设备的资源加入互联网应用托管系统。
(2)为了保持应用集群管理设备对应用集群中的各应用运行状态的监控,本发明实施例所提出的技术方案还包括应用集群管理设备与各计算机设备保持心跳检测,以验证应用集群管理设备与计算机设备之间的通信是否正常。
如果应用集群管理设备和一台计算机设备之间已经建立了心跳检测机制,那么,如果出现以下情况:
(1)在预设的心跳检测周期中,应用集群管理设备没有收到该计算机设备上报的心跳检测,或在预设的响应周期中,应用集群管理设备没有收到节点代理单元上报的资源状态和应用部署信息,或应用集群管理设备接收到节点代理单元发送的退出请求时,应用集群管理设备将节点代理单元所对应的计算机设备中当前部署的应用调整到其他计算机设备中,并将更新后的各计算机设备的资源状态和应用部署信息通知智能应用路由设备。
通过上述方式,可以动态的调整应用集群中的计算机设备的资源,实现资源和应用部署的灵活调整。
与现有技术相比,本发明实施例具有以下优点:
通过应用本发明实施例所提出的技术方案,应用集群管理设备可以通过节点代理单元实时的收集计算机设备中的资源状态信息和应用部署信息,据此进行应用的弹性部署和调度,并将当前的资源状态信息和应用部署信息通知智能应用路由设备,使智能应用路由设备可以据此进行路由的记录,并以及据负载均衡策略将应用请求在各计算机设备中进行负载均衡,从而,使系统实现对应用的弹性部署,实现了软硬件资源的最大限度的利用,有效的节约了资源。
下面,结合具体的应用场景,对本发明实施例所提出的技术方案进行说明。
本发明提供了一种互联网应用托管环境的实现方法。该方法是基于云计算思想的网络侧应用托管环境,该系统能够提供应用的托管能力、应用部署配置和管理能力,并能够实现对不同用户按照资源使用量进行计费和结算的能力。这些能力使得应用开发者无需考虑任何与服务器相关的安装,部署和维护工作,只需要将注意力集中在应用的创意和开发上。同时,该方法可以做到对应用的弹性部署,达到最大限度的利用和节省资源的目的。该方法对托管的应用根据访问量和全局资源的使用情况,将应用动态的部署到运行环境的一台或多台计算机上,并根据访问量决定需要运行的应用实例的个数,当应用的访问量增加时,可以动态增加资源分配提高应用的部署实例,进行负载均衡;当应用的访问量降低时,可以动态降低分配的资源减少应用的实例部署。
下面从技术体系结构和技术流程两方面对本发明实施例所提出的互联网应用托管环境的实现方法的实现过程进行详细说明。
首先,如图2所示,为本发明实施例所提出的一种实现互联网应用托管环境的系统的总体结构示意图,具体包括应用集群管理设备21、智能应用路由设备22、部署于不同的计算机设备上的多个节点代理单元23、应用管理设备24和应用集群其他管理25:
应用集群管理设备21,负责控制节点代理单元23进行应用的部署,应用的启动和停止,应用部署的自动伸缩等;负责存储应用代码,收集应用和其所部署的计算机设备的运行信息、形成日志;负责和运行支撑环境交互完成登录鉴权等操作;负责和应用管理设备24(包括用户自管理门户以及运营商管理门户)交互完成应用的上传部署、应用状态统计和日志的记录。
智能应用路由设备22,位于应用访问的前端,作为反向代理负责屏蔽后台服务器拓扑;负责缓存用户请求的静态文件;负责对用户请求的分发;负责在多个应用实例间进行负载均衡;
节点代理单元23,运行在计算机设备上,负责执行应用集群管理设备21的指令,并向应用集群管理设备21报告计算机负载情况和应用运行的资源占用情况。
应用管理设备24,在具体的应用场景中,可以是开放给应用开发者的WEB门户,用于应用开发者上传自己的应用;
应用集群其他管理25,管理员对应用服务器集群进行配置和管理的接口,管理员通过此接口对服务器集群进行管理和配置,如服务器的初始化等。
其中,所包含的接口说明如下:
A1接口,应用集群管理设备21和节点代理单元23之间的接口。
该接口用于应用集群管理设备21从节点代理单元23获取部署计算机的负载信息等状态信息,以及节点代理单元23接收应用集群管理设备21的部署和调整指令,进行部署的调整等工作。
A2接口,应用集群管理设备21和智能应用路由设备22之间的接口。
该接口用于应用集群管理设备21向智能应用路由设备22通报应用最新的部署信息和负载信息,供智能应用路由设备22进行负载均衡的参考。
A3接口,应用集群管理设备21和应用管理设备24之间的接口。
该接口使用HTTP/SOAP协议,用于应用管理设备24与应用集群管理设备21交互完成应用部署调整,新建应用,门户请求应用状态信息和日志信息等操作。
B1接口,智能应用路由设备22和应用实例之间的接口。
该接口使用HTTP协议,是请求分发接口,由智能应用路由设备22通过负载均衡策略将请求分发至合适的应用实例。
基于上述的系统设置,上述的各实体以及实体间交互的执行过程,主要包括两部分:应用部署和调度流程、应用路由流程,下面分别对其介绍:
(一)应用部署和调度流程
应用部署和调度流程主要涉及到应用集群管理设备21、节点代理单元23和智能应用路由设备22间的信息交互。
节点代理单元23实时地向应用集群管理设备21提交计算机设备负载情 况和应用运行的资源占用情况信息;应用集群管理设备21通过将应用部署指令(或取消部署指令)发送给节点代理单元23,通过节点代理单元23实现应用实例在计算机设备上的部署(或取消部署)。
每次应用部署和调度结束前,应用集群管理设备21都要将应用部署的变更信息发送给智能应用路由设备22,促使智能应用路由设备22中应用路由信息的更新。
具体的部署和调度流程主要包括以下几种情况:
情况一、计算机设备加入和维持流程
当决定将一个计算机设备的资源加入互联网应用托管系统时,可以向应用集群管理设备进行资源登记并请求加入系统。如图3所示,具体过程如下:
步骤S301、待加入的计算机设备上部署的节点代理单元收集本地资源信息。
具体的本地资源信息包括内存和CPU的信息,虚拟运行环境的类型等。
步骤S302、节点代理单元向应用集群管理设备上报节点加入请求。
其中,节点加入请求中带有本地资源信息。
步骤S303、应用集群管理设备对新增资源进行登记。
步骤S304、应用集群管理设备向节点代理单元返回节点加入的响应,该计算机位于就绪状态。
为了保证应用集群管理设备了解计算机的活动状态,计算机设备上的节点代理单元定期向应用集群管理设备发送状态报告,应用集群管理设备也可以主动向计算机设备发送资源状态请求报告。
情况二、计算机设备退出流程
当应用集群管理设备长时间没有接收到心跳消息或无法收到某个计算机设备的资源状态报告时,应用集群管理设备认为该计算机设备退出互联网应用托管服务,应用集群管理设备将已经部署到该计算机上的应用调整部署到其他计算机,并通知智能应用路由设备。
当节点代理单元发送主动退出消息时,应用集群管理设备也会执行节点退出流程。
情况三、应用实例部署流程
当应用集群管理设备接收到应用部署指令进行初始部署,或根据系统运行情况进行应用的弹性调度时,执行应用部署流程,初始部署流程如图4所示,包括以下步骤:
步骤S401、应用集群管理设备接收应用部署指令。
步骤S402、查找合适的可用资源,确定合适的部署节点。
具体的,根据应用集群管理设备中记录的系统当前负载情况,找出负载低的计算机设备作为目标部署节点。
步骤S403、向部署在计算机设备上的节点代理单元发送应用部署请求,携带应用的信息。
步骤S404、节点代理单元请求获取应用文件。
步骤S405、节点代理单元获取应用文件。
步骤S406、节点代理单元在本地进行应用部署操作。
步骤S407、节点代理单元向应用集群管理设备返回应用部署结果。
步骤S408、应用集群管理设备更新应用部署和负载信息,以及向智能应用路由设备通报这些信息,促使智能应用路由设备更新应用的路由信息。
调度触发的应用部署流程和初始部署流程的区别在步骤S401中,后者是部署指令触发应用部署,而前者是应用集群管理设备根据搜集到的系统运行信息,自动、实时地进行应用调度触发应用部署。系统运行信息包括计算机节点负载、应用负载(指应用实例占有的计算资源)等信息,主要来自于节点代理单元的实时报告。
情况四、应用部署取消流程
当用户或管理员发起应用停止请求,或应用集群管理设备发现某个应用的业务量降低或某个计算机设备的负载过高需要减少部署的应用数量时,应用集群管理设备将通知某个计算机设备对某个应用的部署实例的部署进行取消,流程如图5所示,包括以下步骤:
步骤S501、应用集群管理设备确定取消部署请求。
步骤S502、应用集群管理设备向节点代理单元发送取消部署请求。
步骤S503、节点代理单元进行取消部署操作。
步骤S504、节点代理单元向应用集群管理设备返回取消应用部署响应。
步骤S505、应用集群管理设备更新应用部署信息。
(二)应用路由流程
对于应用路由流程,主要包括应用部署信息同步流程、应用路由分发流程两部分。
情况一、应用部署信息同步流程
应用集群管理设备根据应用的当前部署实例的数量、应用的动态负载情况和计算机设备的健康情况周期性的调整应用实例的部署数量,当应用实例的部署数量发生变化时,应用集群管理设备应该将新的应用实例部署信息同步给智能应用路由设备,具体流程如图6所示,包括以下步骤:
步骤S601、应用集群管理设备进行应用实例的部署信息调整;
步骤S602、应用集群管理设备将应用实例的部署信息同步给智能应用路由设备;
步骤S603、智能应用路由设备向应用集群管理设备反馈应用部署信息同步的响应;
步骤S604、智能应用路由设备更新本地的应用部署信息。
情况二、应用路由分发流程
智能应用路由设备会根据应用实例的部署情况,将应用的请求通过负载均衡策略分发到不同的应用实例上去,如图7所示,包括以下步骤:
步骤S701、智能应用路由设备接收应用请求;
步骤S702、智能应用路由设备根据策略选择相应的应用实例;
步骤S703、智能应用路由设备转发应用请求至相应的应用实例。
综合以上的各实施例,本发明实施例结合具体的应用场景,以一个计算机设备从加入互联网应用托管系统,到部署应用,最后退出互联网应用托管系统的全过程,给出应用本发明技术方案的完整技术流程,其流程示意图如图8所示,具体包括以下步骤:
在初始状态下,一个计算机设备没有加入互联网应用托管系统,但该计算机设备当前决定加入该系统。
步骤S801、计算机设备A上部署的节点代理单元收集本地资源信息。
步骤S802、节点代理单元向应用集群管理设备上报节点加入请求。
其中,节点加入请求中带有本地资源信息。
步骤S803、应用集群管理设备对新增资源进行登记。
步骤S804、应用集群管理设备向节点代理单元返回节点加入响应,该计算机设备A的资源位于就绪状态。
步骤S805、应用集群管理设备接收到应用管理设备发送的应用部署指令。
步骤S806、应用集群管理设备查找当前的可用资源,确定计算机设备A中的资源为当前合适的应用部署资源,从而,确定该计算机设备A为目标部署节点。
步骤S807、应用集群管理设备向部署在该计算机设备A上的节点代理单元发送应用部署请求,携带应用的信息。
步骤S808、节点代理单元在本地进行应用部署操作。
具体的还可以包括应用的信息获取流程,参见步骤S404和步骤S405,在此不再赘述。
步骤S809、节点代理单元向应用集群管理设备返回应用部署结果。
步骤S810、应用集群管理设备更新应用部署和负载信息。
步骤S811、应用集群管理设备向智能应用路由设备发送更新后的应用部署和负载信息。
步骤S812、智能应用路由设备更新本地的应用部署信息。
步骤S813、智能应用路由设备接收应用请求。
步骤S814、智能应用路由设备根据策略在各计算机设备上所部署的应用中选择相应的应用实例。
步骤S815、智能应用路由设备转发应用请求至该应用实例所部署的计算机设备A,实现该应用。
步骤S816、节点代理单元向应用集群管理设备发送主动退出请求。
步骤S817、应用集群管理设备将已经部署到计算机设备A上的应用调整部署到其他计算机设备,并更新本地资源。
步骤S818、应用集群管理设备向智能应用路由设备发送更新后的应用部署和负载信息。
步骤S819、智能应用路由设备更新本地的应用部署信息。
需要指出的是,上述流程指示本发明实施例提出的一种优选示例,在实际应用中,可以根据部署的应用的数量,以及相应策略的变化进行处理流程上的调整,这样的变化并不影响本发明的保护范围。
与现有技术相比,本发明实施例具有以下优点:
通过应用本发明实施例所提出的技术方案,应用集群管理设备可以通过节点代理单元实时的收集计算机设备中的资源状态信息和应用部署信息,据此进行应用的弹性部署和调度,并将当前的资源状态信息和应用部署信息通知智能应用路由设备,使智能应用路由设备可以据此进行路由的记录,并以及据负载均衡策略将应用请求在各计算机设备中进行负载均衡,从而,使系统实现对应用的弹性部署,实现了软硬件资源的最大限度的利用,有效的节约了资源。
为了实现本发明实施例所提出的技术方案,本发明实施例还提供了一种互联网应用托管系统,如图9所示,具体包括应用集群管理设备91、智能应用路由设备92和多个部署有节点代理单元93的计算机设备,其中,多台不同的计算机设备组成应用集群94:
应用集群管理设备91,分别与智能应用路由设备92和各计算机设备上的节点代理单元93相连接,用于通过各节点代理单元93管理相对应的计算机设备中资源,以及通过节点代理单元93在相对应的计算机设备中部署和调度相对应的应用,并通知智能应用路由设备92当前的应用部署情况和各计算机设备中的负载情况。
智能应用路由设备92,用于根据应用集群管理设备91所通知的当前的应用部署情况记录各应用所对应的路由信息,并根据各计算机设备中的负载情 况,按照负载均衡策略,将接收到的应用请求消息发送给相对应的计算机设备,以使计算机设备上部署的相应的应用对应用请求消息进行处理。
各计算机设备上部署的节点代理单元93,用于根据应用集群管理设备91的指令,在所对应的计算机设备上进行资源调度和应用的调度,并向应用集群管理设备91上报所对应的计算机设备当前的资源状态和应用部署情况。
进一步的,上述的系统中,还包括:
应用管理设备95,与应用集群管理设备91相连接,用于接收上传的应用,并向应用集群管理设备91进行上传,以及向应用集群管理设备91发送管理消息,指示应用集群管理设备91进行相应的处理。
在具体的应用场景中,应用集群管理设备91,还用于根据接收到的各节点代理单元93反馈的相对应的计算机设备的运行信息,以及计算机设备上的应用的运行信息,生成运行日志,并在接收到应用管理设备95发送的日志请求时,向应用管理设备95反馈运行日志。
进一步的,上述的系统中,还包括:
应用集群其他管理设备96,与各计算机设备所组成的应用集群94相连接,用于对应用集群94进行除应用外的其他管理和配置。
进一步的,如图10所示,为本发明实施例提出的一种应用集群管理设备的结构示意图,包括:
信息获取模块911,用于通过各节点代理单元93获取相对应的计算机设备当前的资源状态和应用部署信息;
管理模块912,与信息获取模块911相连接,用于根据信息获取模块911所获取的资源状态和应用部署信息,生成相应的应用管理指示;
指示模块913,与管理模块912相连接,用于向各节点代理单元93发送管理模块912所生成的应用管理指示,对节点代理单元93所对应的计算机设备进行应用部署和调度;
通知模块914,与信息获取模块911相连接,用于将信息获取模块911所获取的各计算机设备当前的资源状态和应用部署信息通知智能应用路由设备 92。
具体的,应用集群管理设备还包括:
指示接收模块915,用于接收应用管理设备95所发送的指示消息和/或上传的应用。
其中,管理模块912,还用于根据信息获取模块911所获取的资源状态和应用部署信息,生成运行日志。
具体的,应用集群管理设备还包括:
反馈模块916,与指示接收模块915和管理模块912相连接,当指示接收模块915接收到应用管理设备所发送的日志请求时,将管理模块912所生成的运行日志反馈给应用管理设备。
具体的,应用集群管理设备还包括:
心跳检测模块917,用于与各节点代理单元93保持心跳检测,验证节点代理单元93所对应的计算机设备中的资源的通信正常。
进一步的,如图11所示,为本发明实施例提出的一种计算机设备的结构示意图。
该计算机设备上部署有节点代理单元93,该节点代理单元93,具体包括:
信息获取模块931,用于获取该计算机设备中当前的资源状态和应用部署情况;
发送模块932,用于将信息获取模块931所获取的计算机设备中当前的资源状态和应用部署情况,上报给应用集群管理设备91;
指示接收模块933,用于接收应用集群管理设备91所发送的指令,在该计算机设备上进行资源和应用的调度。
在具体的应用场景中,当该计算机设备当前没有加入互联网应用托管系统时,如果该计算机设备需要将自身的资源加入互联网应用托管系统,
发送模块932,还用于向该互联网应用托管系统中的应用集群管理设备91发送节点加入请求。
进一步的,如图12所示,为本发明实施例提出的一种智能应用路由设备的结构示意图,包括:
接收模块921,用于接收应用请求消息,以及应用集群管理设备所通知的当前的应用部署情况和资源状态信息;
存储模块922,用于根据接收模块921所接收的应用集群管理设备所通知的当前的应用部署情况记录各应用所对应的路由信息,
路由模块923,用于存储模块922所存储的路由信息,并根据资源状态信息,按照负载均衡策略,将接收模块921所接收到的应用请求消息发送给相对应的计算机设备,以使计算机设备上部署的相应的应用对应用请求消息进行处理。
与现有技术相比,本发明实施例具有以下优点:
通过应用本发明实施例所提出的技术方案,应用集群管理设备可以通过节点代理单元实时的收集计算机设备中的资源状态信息和应用部署信息,据此进行应用的弹性部署和调度,并将当前的资源状态信息和应用部署信息通知智能应用路由设备,使智能应用路由设备可以据此进行路由的记录,并以及据负载均衡策略将应用请求在各计算机设备中进行负载均衡,从而,使系统实现对应用的弹性部署,实现了软硬件资源的最大限度的利用,有效的节约了资源。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明实施例的几个具体实施场景,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明实施例的保护范围。
Claims (16)
1.一种互联网应用托管系统,其特征在于,具体包括应用集群管理设备、智能应用路由设备和多个部署有节点代理单元的计算机设备:
所述应用集群管理设备,分别与所述智能应用路由设备和各计算机设备上的节点代理单元相连接,用于通过各节点代理单元管理相对应的计算机设备中资源,以及通过各节点代理单元在相对应的计算机设备中部署和调度相对应的应用,并通知所述智能应用路由设备当前的应用部署情况和各计算机设备中的负载情况;
所述智能应用路由设备,用于根据所述应用集群管理设备所通知的当前的应用部署情况记录各应用所对应的路由信息,并根据各计算机设备中的负载情况,按照负载均衡策略,将接收到的应用请求消息发送给相对应的计算机设备,以使所述计算机设备上部署的相应的应用对所述应用请求消息进行处理;
各所述计算机设备上部署的节点代理单元,用于根据所述应用集群管理设备的指令,在所对应的计算机设备上进行资源和应用的调度,并向所述应用集群管理设备上报所对应的计算机设备当前的资源状态和应用部署情况。
2.如权利要求1所述的系统,其特征在于,还包括:
应用管理设备,与所述应用集群管理设备相连接,用于接收上传的应用,并向所述应用集群管理设备进行上传,以及向所述应用集群管理设备发送管理消息,指示所述应用集群管理设备进行相应的处理。
3.如权利要求2所述的系统,其特征在于,所述应用集群管理设备,还用于根据接收到的各所述节点代理单元反馈的相对应的计算机设备的运行信息,以及所述计算机设备上的应用的运行信息,生成运行日志,并在接收到所述应用管理设备发送的日志请求时,向所述应用管理设备反馈所述运行日志。
4.如权利要求1所述的系统,其特征在于,还包括:
应用集群其他管理设备,与所述各计算机设备所组成的应用集群相连接,用于对所述应用集群进行除应用外的其他管理和配置。
5.一种应用集群管理设备,其特征在于,包括:
信息获取模块,用于通过各节点代理单元获取相对应的计算机设备当前的资源状态和应用部署信息;
管理模块,与所述信息获取模块相连接,用于根据所述信息获取模块所获取的资源状态和应用部署信息,生成相应的应用管理指示;
指示模块,与所述管理模块相连接,用于向各所述节点代理单元发送所述管理模块所生成的应用管理指示,对所述节点代理单元所对应的计算机设备进行应用部署和调度;
通知模块,与所述信息获取模块相连接,用于将所述信息获取模块所获取的各计算机设备当前的资源状态和应用部署信息通知智能应用路由设备。
6.如权利要求5所述的应用集群管理设备,其特征在于,还包括:
指示接收模块,用于接收应用管理设备所发送的指示消息和/或上传的应用。
7.如权利要求5所述的应用集群管理设备,其特征在于,所述管理模块,还用于根据所述信息获取模块所获取的资源状态和应用部署信息,生成运行日志。
8.如权利要求6或7所述的应用集群管理设备,其特征在于,还包括:
反馈模块,与所述指示接收模块和所述管理模块相连接,当所述指示接收模块接收到所述应用管理设备所发送的日志请求时,将所述管理模块所生成的运行日志反馈给所述应用管理设备。
9.如权利要求5所述的应用集群管理设备,还包括:
心跳检测模块,用于与各所述节点代理单元保持心跳检测,以验证所述节点代理单元所对应的计算机设备中的资源的通信正常。
10.一种互联网应用托管的方法,其特征在于,包括:
应用集群管理设备获取各计算机设备当前的资源状态和应用部署信息;
所述应用集群管理设备根据所述资源状态和应用部署信息,生成应用管理指示;
所述应用集群管理设备向相应的计算机设备发送所述应用管理指示,所述应用管理指示对所述计算机设备中的应用进行应用部署和调度;
其中,所述应用集群管理设备获取各计算机设备当前的资源状态和应用部署信息之后,还包括:
所述应用集群管理设备将所述资源状态和应用部署信息通知智能应用路由设备;
所述资源状态和应用部署信息用于使所述智能应用路由设备按照负载均衡策略,选择相应的应用,并将应用请求发送给所述应用。
11.如权利要求10所述的方法,其特征在于,当所述应用集群管理设备接收到应用停止指示,或根据所述资源状态和应用部署信息判断存在当前负载量超过预设负载阈值的计算机设备或存在业务量低于业务量阈值的应用时,还包括:
所述应用集群管理设备确定需要停止的应用;
所述应用集群管理设备向所述应用所对应的计算机设备发送应用停止指示,以停止所述应用,和/或向其他计算机设备发送应用部署指示,以将所述需要停止的应用部署在所述其他计算机设备中。
12.如权利要求10所述的方法,其特征在于,还包括:
所述应用集群管理设备根据获取到的各计算机设备当前的资源状态和应用部署信息,生成相应的运行日志;
当所述应用集群管理设备接收到应用管理设备所发送的日志请求时,将生成的相应的运行日志反馈给所述应用管理设备。
13.如权利要求10所述的方法,其特征在于,还包括:
当所述应用集群管理设备接收到当前没有加入到互联网应用托管系统的计算机设备发送的节点加入请求时,获取所述计算机设备当前的资源状态信息,将所述资源状态信息加入所述互联网应用托管系统的资源列表。
14.如权利要求10所述的方法,其特征在于,还包括:
所述应用集群管理设备与所述计算机设备保持心跳检测,以验证所述应用集群管理设备与所述计算机设备之间的通信是否正常;
当在预设的心跳检测周期中没有收到所述计算机设备上报的所述心跳检测,或在预设的响应周期中没有收到所述计算机设备上报的资源状态和应用部署信息,或接收到所述计算机设备发送的退出请求时,将所述计算机设备中当前部署的应用调整到其他计算机设备中,并将更新后的各计算机设备的资源状态和应用部署信息通知所述智能应用路由设备。
15.如权利要求10所述的方法,其特征在于,所述各计算机设备上分别部署节点代理单元,
所述应用集群管理设备获取各计算机设备当前的资源状态和应用部署信息,具体为:
所述应用集群管理设备通过各计算机设备上的节点代理单元获取所述各计算机设备当前的资源状态和应用部署信息;
所述应用集群管理设备向计算机设备发送所述应用管理指示,具体为:
所述应用集群管理设备向所述计算机设备上部署的节点代理单元发送所述应用管理指示。
16.如权利要求11、13或14中任意一项所述的方法,其特征在于,
所述应用集群管理设备向所述应用所对应的计算机设备发送应用停止指示,和/或向其他计算机设备发送应用部署指示,具体为所述应用集群管理设备向所述应用所对应的计算机设备上部署的节点代理单元发送应用停止指示,以停止所述应用,和/或向其他计算机设备上部署的节点代理单元发送应用部署指示;
所述当前没有加入互联网应用托管系统的计算机设备发送的节点加入请求,具体为当前没有加入互联网应用托管系统的计算机设备上部署的节点代理单元发送的节点加入请求;
所述应用集群管理设备与所述计算机设备保持心跳检测,具体为所述应用集群管理设备与所述计算机设备上部署的节点代理单元保持心跳检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010263727.0A CN102377598B (zh) | 2010-08-26 | 2010-08-26 | 一种互联网应用托管系统、设备和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010263727.0A CN102377598B (zh) | 2010-08-26 | 2010-08-26 | 一种互联网应用托管系统、设备和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102377598A CN102377598A (zh) | 2012-03-14 |
CN102377598B true CN102377598B (zh) | 2015-07-01 |
Family
ID=45795617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010263727.0A Expired - Fee Related CN102377598B (zh) | 2010-08-26 | 2010-08-26 | 一种互联网应用托管系统、设备和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102377598B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475677B (zh) * | 2012-06-07 | 2018-08-28 | 南京中兴软件有限责任公司 | 一种PaaS云平台中管理虚拟节点的方法、装置及系统 |
CN102710554B (zh) * | 2012-06-25 | 2015-09-02 | 深圳中兴网信科技有限公司 | 分布式消息系统和分布式消息系统的服务状态检测方法 |
CN102843354B (zh) * | 2012-07-03 | 2015-10-07 | 广东电网公司信息中心 | 一种电费计算方法、控制服务器、计算服务器及系统 |
CN103905226B (zh) * | 2012-12-26 | 2018-07-06 | 中兴通讯股份有限公司 | 一种业务平台的自动部署方法和装置 |
EP2988211A4 (en) * | 2013-05-31 | 2016-06-01 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR APPLICATION DEPLOYMENT |
CN103905337B (zh) * | 2014-03-31 | 2018-01-23 | 华为技术有限公司 | 一种网络资源的处理装置、方法和系统 |
CN105095317B (zh) * | 2014-05-23 | 2018-09-21 | 中国银联股份有限公司 | 分布式数据库服务管理系统 |
CN104158732B (zh) * | 2014-08-22 | 2017-11-28 | 成都致云科技有限公司 | 一种智能的云服务动态路由策略 |
CN104410712B (zh) * | 2014-12-16 | 2018-09-11 | 国家电网公司 | 应用实例管理方法、用户访问请求处理方法及系统 |
CN106533713B (zh) * | 2015-09-09 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 一种应用部署方法及设备 |
CN106550002B (zh) * | 2015-09-23 | 2019-12-13 | 中移(杭州)信息技术有限公司 | 一种paas云托管系统及方法 |
CN105749551B (zh) * | 2016-02-26 | 2019-04-30 | 网易(杭州)网络有限公司 | 一种游戏托管方法、系统及终端 |
CN105978950A (zh) * | 2016-04-27 | 2016-09-28 | 努比亚技术有限公司 | 一种服务器资源分配方法、装置及系统 |
WO2017197572A1 (zh) * | 2016-05-17 | 2017-11-23 | 华为技术有限公司 | 应用管理方法及管理单元 |
US10387679B2 (en) * | 2017-01-06 | 2019-08-20 | Capitalogix Ip Owner, Llc | Secure intelligent networked architecture with dynamic feedback |
CN109815001A (zh) * | 2017-11-20 | 2019-05-28 | 阿里巴巴集团控股有限公司 | 应用处理方法、装置及托管系统 |
CN107920117B (zh) * | 2017-11-20 | 2021-03-19 | 苏州浪潮智能科技有限公司 | 一种资源管理方法、控制设备和资源管理系统 |
CN108600025B (zh) * | 2018-05-07 | 2021-11-02 | 北京京东尚科信息技术有限公司 | 一种系统自动容灾的方法和装置 |
CN109302483B (zh) * | 2018-10-17 | 2021-02-02 | 网宿科技股份有限公司 | 一种应用程序的管理方法及系统 |
JP2021144571A (ja) * | 2020-03-13 | 2021-09-24 | 富士通株式会社 | 情報処理装置、送信制御方法、および通信プログラム |
CN113810443A (zh) * | 2020-06-16 | 2021-12-17 | 中兴通讯股份有限公司 | 资源管理方法、系统、代理服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509369B1 (en) * | 2001-07-11 | 2009-03-24 | Swsoft Holdings, Ltd. | Balancing shared servers in virtual environments |
CN101753478A (zh) * | 2008-12-05 | 2010-06-23 | 中国移动通信集团公司 | 一种分布式电子邮件系统及其服务方法 |
CN101753359A (zh) * | 2009-12-25 | 2010-06-23 | 用友软件股份有限公司 | 动态组件分布的方法和系统 |
CN101971164A (zh) * | 2008-03-15 | 2011-02-09 | 微软公司 | 用户解决方案的可伸缩托管 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533333B2 (en) * | 2008-09-03 | 2013-09-10 | Microsoft Corporation | Shared hosting using host name affinity |
CN101719081B (zh) * | 2009-12-01 | 2012-10-10 | 北京大学 | 一种虚拟机调度方法 |
-
2010
- 2010-08-26 CN CN201010263727.0A patent/CN102377598B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509369B1 (en) * | 2001-07-11 | 2009-03-24 | Swsoft Holdings, Ltd. | Balancing shared servers in virtual environments |
CN101971164A (zh) * | 2008-03-15 | 2011-02-09 | 微软公司 | 用户解决方案的可伸缩托管 |
CN101753478A (zh) * | 2008-12-05 | 2010-06-23 | 中国移动通信集团公司 | 一种分布式电子邮件系统及其服务方法 |
CN101753359A (zh) * | 2009-12-25 | 2010-06-23 | 用友软件股份有限公司 | 动态组件分布的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102377598A (zh) | 2012-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102377598B (zh) | 一种互联网应用托管系统、设备和方法 | |
Toczé et al. | A taxonomy for management and optimization of multiple resources in edge computing | |
Tordera et al. | What is a fog node a tutorial on current concepts towards a common definition | |
US20200137151A1 (en) | Load balancing engine, client, distributed computing system, and load balancing method | |
Balasangameshwara et al. | A hybrid policy for fault tolerant load balancing in grid computing environments | |
Kim et al. | User-participatory fog computing architecture and its management schemes for improving feasibility | |
US20100077250A1 (en) | Virtualization based high availability cluster system and method for managing failure in virtualization based high availability cluster system | |
JP2018537036A (ja) | 仮想ネットワーク機能及びネットワークアプリケーションを管理し調整する方法及びネットワーク | |
CN102591921A (zh) | 个人数据中心内的调度和管理 | |
Jararweh et al. | Delay-aware power optimization model for mobile edge computing systems | |
Kang et al. | A cluster-based decentralized job dispatching for the large-scale cloud | |
CN103179182A (zh) | 用于支持云之间的基础结构共享的设备和方法 | |
KR101028298B1 (ko) | 통신 네트워크에서 데이터 처리 장치를 분배하는 방법 및 시스템 | |
KR101256918B1 (ko) | 클라우드 서비스의 확장성과 가용성을 향상시키는 방법 및 그 시스템 | |
Khalifa et al. | Resilient hybrid mobile ad-hoc cloud over collaborating heterogeneous nodes | |
Li et al. | Federated orchestration for network slicing of bandwidth and computational resource | |
Liu et al. | Correlation-based virtual machine migration in dynamic cloud environments | |
Do et al. | Usage-aware protection plan for state management functions in service-based 5G core network | |
US9952647B2 (en) | Managed collaborative charging | |
CN114244714B (zh) | 域名配置管理方法、装置及系统、计算机可读存储介质 | |
WO2023209414A1 (en) | Methods and apparatus for computing resource allocation | |
de Melo | Network virtualisation from an operator perspective | |
Jijin et al. | Blockchain enabled opportunistic fog-based radio access network: A position paper | |
Burakowski et al. | Traffic Management for Cloud Federation. | |
Anastasopoulos et al. | Optical wireless network convergence in support of energy-efficient mobile cloud services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150701 |
|
CF01 | Termination of patent right due to non-payment of annual fee |