CN106550002B - 一种paas云托管系统及方法 - Google Patents
一种paas云托管系统及方法 Download PDFInfo
- Publication number
- CN106550002B CN106550002B CN201510613402.3A CN201510613402A CN106550002B CN 106550002 B CN106550002 B CN 106550002B CN 201510613402 A CN201510613402 A CN 201510613402A CN 106550002 B CN106550002 B CN 106550002B
- Authority
- CN
- China
- Prior art keywords
- application
- instruction
- node
- hosting
- management
- 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
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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种paas云托管系统及方法,该系统包括应用集群管理设备、多个应用托管节点和代码管理服务器,通过应用集群管理设备对应用托管节点的控制和管理,可以根据应用运行的需要给应用分配资源,有效节约资源,管理应用的安装、部署和维护工作,无需用户管理应用,使得用户将注意力集中在应用开发上,有助于用户降低应用开发成本。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种paas云托管系统及方法。
背景技术
现有的应用托管技术主要包括服务器托管、云主机托管。服务器托管需要企业自行购买产品然后托管到机房,企业只需要支付带宽托管费用。托管的优势在于,服务器是企业自行配置,可以根据自身的发展需要,选择合适自己的配置,更好的匹配企业所选购的软件。一般情况下,托管企业都以中大型企业较多,品牌服务器是这类企业选择的重点,该类客户更侧重于服务器的稳定性和数据安全性。云主机配置灵活,客户可以按需购买,价格优势也比较明显,已经成为很多中小企业主力热捧的产品。
但是,现有的应用托管方案运维成本较大,服务器托管需要购买服务器,增加了网站的成本,同时还要对网站进行运维,来确保应用的正常运行。云托管虽然减少了购买服务器的成本,按需租用云主机,但同样存在网站运维的问题,需要人工检查网站运行情况并进行维护,增加了人力成本。并且只支持手工上传部署,上传速度受到网速的限制。
发明内容
本发明实施例提供一种paas云托管系统及方法,用以解决的现有技术中应用只支持手工上传应用部署的问题。
本发明实施例提供的一种paas云托管系统,包括:
所述应用集群管理设备,分别与每个所述应用托管节点连接,用于向所述应用托管节点发送应用管理指令,控制所述应用托管节点执行与所述应用管理指令相对应的操作,所述应用管理指令中包括待部署的应用的名称;
所述应用托管节点,用于接收所述应用集群管理设备发送的应用管理指令,执行与所述应用管理指令相对应的操作;
所述代码管理服务器,与所述应用托管节点连接,用于存储待部署的应用的代码,以供所述应用托管节点根据所述应用集群管理设备的应用管理指令调取与所述应用管理指令中待部署的应用的名称相对应的应用的代码。
较佳地,所述应用集群管理设备包括:应用集群管理器、应用集群监控器和消息队列;
所述应用集群管理器,用于向所述应用托管节点发送应用管理指令,对所述应用托管节点进行控制和管理;
所述应用集群监控器,用于监控所述应用托管节点上的应用的运行情况;
所述消息队列,用于接收和发送消息。
较佳地,还包括:智能应用路由设备;
所述应用集群管理设备还用于向所述智能应用路由设备发送所述应用托管节点上的应用的运行情况;
所述智能应用路由设备,分别与所述应用集群管理设备和所述应用托管节点连接,用于获取所述应用集群管理设备发送的所述应用托管节点上的应用的运行情况,根据所述应用托管节点上的应用的运行情况更新路由信息,根据更新的路由信息,将应用访问请求发送至与所述应用访问请求中请求访问的应用相对应的应用托管节点上。
较佳地,还包括:应用开发服务器;
所述应用开发服务器,与所述代码管理服务器连接,用于开发应用并将开发完成的应用上传至所述代码管理服务器进行存储。
较佳地,还包括:操作维护管理OAM门户;
所述OAM门户,与所述应用集群管理设备连接,用于向所述应用集群管理设备发送维护指令,以使所述应用集群管理设备根据所述维护指令执行与所述维护指令相对应的操作。
较佳地,所述应用管理指令包括下列指令之一或任意组合:
节点代理注册指令,应用部署指令、应用去部署指令、监控应用运行状态指令、监控本机运行状态指令、应用日志收集指令和节点代理退出指令。
相应地,本发明实施例还提供了一种paas云托管方法,该方法包括:
应用集群管理设备获取用户的请求指令,所述用户的请求指令用于请求所述应用集群管理设备执行与所述用户的请求指令相对应的操作;
所述应用集群管理设备根据所述用户的请求指令,生成应用管理指令,所述应用管理指令用于指示应用托管节点根据所述应用管理指令对应用进行与所述应用管理指令相对应的操作;
所述应用集群管理设备向所述应用托管节点发送所述应用管理指令。
较佳地,若所述用户的请求指令为请求应用部署指令,则所述应用集群管理设备获取多个已注册的所述应用托管节点的负载信息和应用的运行状况;
所述应用集群管理设备根据所述多个已注册的所述应用托管节点的负载信息和应用的运行状况,确定待部署应用的应用托管节点;
所述应用集群管理设备向所述待部署应用的应用托管节点发送应用部署指令,所述应用部署指令用于指示所述待部署应用的应用托管节点根据所述应用部署指令进行相应的应用部署。
较佳地,还包括:
所述应用集群管理设备接收未注册的应用托管节点发送节点管理注册请求;
根据所述节点管理注册请求,为所述未注册的应用托管节点进行节点注册;
所述未注册的应用托管节点注册成功后,获取已注册的应用托管节点的心跳信息,所述心跳信息包括所述已注册的应用托管节点的负载信息和应用的运行状况。
较佳地,还包括:
所述应用集群管理设备向智能应用路由设备发送所述获取的应用托管节点的应用的运行状况以使所述智能应用路由设备根据所述应用托管节点的应用的运行状况更新路由信息。
较佳地,所述应用管理指令包括下列指令之一或任意组合:
节点代理注册指令,应用部署指令、应用去部署指令、监控应用运行状态指令、监控本机运行状态指令、应用日志收集指令和节点代理退出指令。
本发明实施例包括应用集群管理设备、多个应用托管节点和代码管理服务器,通过应用集群管理设备对应用托管节点的控制和管理,可以根据应用运行的需要给应用分配资源,有效节约资源,管理应用的安装、部署和维护工作,无需用户管理应用,使得用户将注意力集中在应用开发上,有助于用户降低应用开发成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种paas云托管系统的总体结构示意图;
图2为本发明实施例中一种paas云托管方法的流程示意图;
图3为本发明实施例中一种管理应用生命周期的流程示意图;
图4为本发明实施例中一种创建新部署的流程示意图;
图5为本发明实施例中一种删除已有部署的流程示意图;
图6为本发明实施例中一种更新部署的流程示意图;
图7为本发明实施例中一种应用代码更新的流程示意图;
图8为本发明实施例中一种暂停运行中的部署的流程示意图;
图9为本发明实施例中一种激活已暂停的流程示意图;
图10为本发明实施例中一种重启实例的流程示意图;
图11为本发明实施例中一种扩展实例的流程示意图;
图12为本发明实施例中一种删除实例的流程示意图;
图13为本发明实施例中一种监控应用托管节点的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本发明实施例中,paas(Platform-as-a-Service,平台即服务)是指将软件开发平台作为一种服务提供给企业,能够为企业进行定制化研发的中间平台,能够提高Web平台上利用的资源数量。
图1示出了本发明实施例中一种paas云托管系统的总体结构,该系统可以运行paas云托管方法,如图1所示,该系统具体包括:
应用集群管理设备101、多个应用托管节点103和代码管理服务器105;
其中,应用集群管理设备101,分别与每个应用托管节点103连接,用于向应用托管节点103发送应用管理指令,控制应用托管节点103执行与应用管理指令相对应的操作,应用管理指令中包括待部署的应用的名称。
应用托管节点103,用于接收应用集群管理设备101发送的应用管理指令,执行与应用管理指令相对应的操作。
代码管理服务器105,与应用托管节点103连接,用于存储待部署的应用的代码,以供应用托管节点103根据应用集群管理设备101的应用管理指令调取与应用管理指令中待部署的应用的名称相对应的应用的代码。
如图1所示,该系统还包括:智能应用路由设备102、应用开发服务器104和OAM(Operation Administration and Maintenance,操作维护管理)门户106。
应用集群管理设备101还用于向智能应用路由设备102发送所述应用托管节点103上的应用的运行情况。智能应用路由设备102,分别与应用集群管理设备101和应用托管节点103连接,用于获取应用集群管理设备101发送的应用托管节点103上的应用的运行情况,根据应用托管节点103上的应用的运行情况更新路由信息,根据更新的路由信息,将应用访问请求发送至与应用访问请求中请求访问的应用相对应的应用托管节点103上。
应用开发服务器104,与代码管理服务器105连接,用于开发应用并将开发完成的应用上传至代码管理服务器105进行存储。
OAM门户106,与应用集群管理设备101连接,用于向应用集群管理设备101发送维护指令,以使应用集群管理设备101根据维护指令执行与维护指令相对应的操作。该门户是面向运维管理人员的后台运维操作管理门户,提供应用管理,节点管理,开发者信息管理,以及系统监控告警,系统运行统计等功能。
该系统还包括:日志服务器和镜像服务器,该日志服务器与所述应用托管节点103连接,用于收集系统的日志和托管应用产生的日志。
相应地,本发明实施例中的paas云托管系统还包括下述实体装置:
开发者门户:开放给应用开发者的WEB门户,用于应用开发者进行应用创建,管理应用,并查看应用运行情况和使用日志。
代码客户端:标准的代码客户端可直接连接到应用存储服务器。开发者可用代码客户端提交脚本类应用(例如PHP)代码。
镜像服务器:用来存放服务器镜像。
在本发明实施例中,应用集群管理设备101为整个运行引擎的核心,主要是处理来自外部各个方面的消息并根据消息执行相应的逻辑,处理的消息来源包括应用本身、应用部署的节点、外部门户、公共服务等。为了保证系统运行的性能,应用集群管理设备101需要以极高的效率收发消息和执行相应的逻辑。包括:应用集群管理器、应用集群监控器和消息队列。
应用集群管理器,用于向应用托管节点103发送管理指令,对应用托管节点103进行控制和管理。
应用集群监控器,用于监控应用托管节点103上的应用的运行情况。
消息队列,用于接收和发送消息。
该应用集群管理设备101通过消息中间件与其他实体装置进行消息的交互,如通过消息中间件与应用托管节点103进行消息的交互。
具体地,本发明实施例中应用集群管理设备101还可以包括下述实体结构:
消息队列客户端:负责从消息队列中间件接收消息,并将剥离消息队列的格式转化为内部消息格式,将消息发送应用集群逻辑节点。
应用集群管理逻辑:负责执行所有应用集群管理设备101涉及的业务逻辑,包括应用的管理,部署、调度等工作。管理逻辑从外部接收消息,进行处理并将后继指令或结果发送到相应的实体。
消息收发:负责通过消息队列传递消息的收发。接收从消息队列传递来的信息,并转发给响应的处理模块,接收从控制模块而来的发送请求,将消息从消息队列传递出去。
数据管理:接收节点计算机发送的节点负载,健康状况,应用的运行情况,告警信息和应用的资源使用信息等。
节点控制:负责处理用户的应用处理请求,处理开发环境的应用部署和创建请求;从掌握的节点信息中选择相对空闲的节点部署应用;发送节点的控制信息,包括应用的部署,应用的去部署,激活应用等。调整应用部署,并向应用路由同步应用的部署变化信息。
Web服务器:负责面向用户和开发环境
应用部署模块:应用部署模块,负责和应用开发环境交互,接收部署请求,将应用部署到OMAE环境中。
Web门户:面向用户提供web网页方式的管理门户。
数据库:负责存储应用开发者上传应用的信息,包括应用的名称,所属应用开发者,应用的介绍等等。
应用仓库:负责存储应用开发者的应用文件,供部署时由部署节点读取下载。Warehouse带有一个前置的Web Server提供应用文件包的FTP下载。
在本发明实施例中,应用集群管理设备101通过消息队列和其他实体进行交互,消息队列可以可靠的支持大规模消息的异步和同步收发。应用集群管理设备101的本地通过内置的消息队列客户端和系统中的其他实体进行交互。
本发明实施例中,应用托管节点103为paas云托管系统提供物理资源虚拟化服务。应用托管节点103运行在物理机或虚拟机上,应用托管节点103与应用集群管理设备101之间通过消息中间件进行消息交换,负责接收/执行应用部署/去部署管理功能的指令。通过应用托管节点103监测应用运行情况,并向应用集群管理设备101报告计算机负载情况和应用运行的资源占用情况,并和应用集群管理设备101通信进行应用部署和配置管理功能。
应用集群管理设备101向应用托管节点103发送的应用管理指令可以包括下列指令之一或任意组合:
节点代理注册指令,应用部署指令、应用去部署指令、监控应用运行状态指令、监控本机运行状态指令、应用日志收集指令和节点代理退出指令。
应用托管节点103根据应用管理指令执行与该应用管理指令相应的操作,如果该应用管理指令是节点代理注册指令,则应用托管节点103执行节点注册;如果该应用管理指令是应用部署指令,则应用托管节点103执行应用部署指令。
相应地,应用托管节点103的功能包括节点代理注册、心跳检测、部署应用、去部署应用、监控应用运行状态、监控本机运行状态、应用日志收集、节点代理退出等。
举例来说:
应用托管节点103随系统启动而自动运行,首先收集系统配置信息,包括CPU,内存,硬盘,IP地址,当前结点的ID,操作系统,结点类型(共享/独占),估算的可部署应用实例数,当前节点上的应用信息等,并将信息发送到应用集群管理设备101进行注册,实现资源虚拟化,应用集群管理设备101收到注册成功消息后方可进行后继操作。如果应用托管节点103向应用集群管理设备101发送的注册请求没有响应,系统会自动等待5秒的结束时间,如果超过结束时间则重新发送注册请求,并自动将结束时间的时间加1秒,依此循环直到注册成功。
应用托管节点103在节点注册成功后,每隔一分种主动向应用集群管理设备101发送一次心跳信息,报告节点当前状态,CPU,内存,硬盘等资源的使用率,可部署的应用实例数,已部署应用实例数等信息以及当前节点上应用的状态信息。主要目的是应用集群管理设备101获取心跳信息,可以知道节点是否可用,为应用部署,应用扩展,应用收缩等策略工作提供数据。监测应用运行情况,并向应用部署管理报告计算机负载情况和应用运行的资源占用情况。心跳检测前提是节点注册成功,心跳信息不需要应用集群管理设备101确认收到信息。
在本发明实施例中,智能应用路由设备102负责对应用访问请求进行分发,在多个应用实例间进行负载均衡。智能应用路由设备102采用apache的worker模式运行,即多进程+多线程模式,充分利用多核CPU利用率,以达到提高访问并发量的目的。功能上增加了动态路由管理,当后台应用部署变化时,可以及时更新动态路由表。
该智能应用路由设备102可以启动接收消息队列数据线程,给应用集群管理设备101发送加入申请,等待接收加入成功的回复,如果接收数据失败或超时则继续发送加入请求,直到收到加入成功回复为止,其中超时时间以递增方式增加时长,以防止消息队列中数据过多。加入成功后,会得到全量的路由表信息,组建路由表,然后循环等待应用集群管理设备101通过消息队列传来的路由表信息,解析数据后,根据协议内容,增加、删除、更新路由表信息。当进程自动退出时,同时会给应用集群管理设备101发送退出请求。前端服务器会定时给应用集群管理设备101发送心跳信息,以告知存在的状态信息。
在本发明实施例中,日志服务器可以启动SARD程序,读取配置文件,根据配置文件每隔几分钟轮询执行一次程序,程序段是首先读取记录日志行数的文件。如果行数为正整数,则读取当前日志,否则执行squid的日志回滚程序,将当前时间段的日志进行备份,新的日志记录新的文件,逐条读取日志,解析日志,获取相关信息,首先判断URL中的一级域名是否与配置文件中设置的域名匹配,如果匹配,则判断是否自带了应用ID和版本号,如果自带则直接记录数据库,如果不带,则根据应用ID查找默认版本号,然后记录数据库;如果一级域名不匹配则根据域名到数据库中查找是否有匹配的一级域名,如果有则把应用ID和版本号查出,然后记录数据库,如果没有符合条件的,该条数据则被抛弃,记录完数据库后记录行号到硬盘文件,如果此回滚日志已经全部读取完,则写入-1,程序段执行完毕。
基于上述paas云托管系统,图2示出了本发明实施例中的一种paas云托管方法的流程,该流程具体包括:
步骤201,应用集群管理设备获取用户的请求指令。
步骤202,所述应用集群管理设备根据所述用户的请求指令,生成应用管理指令。
步骤203,所述应用集群管理设备向所述应用托管节点发送所述应用管理指令。
在步骤201中,用户的请求指令用于请求该应用集群管理设备执行与该用户的请求指令相对应的操作,如果用户的请求指令是应用部署指令,则应用集群管理设备需要对用户的请求指令中的应用的名称所对应的应用进行应用部署。
在步骤202中,应用集群管理设备根据步骤201中的用户的请求指令生成与该用户的请求指令相对应的应用管理指令,该应用管理指令用于指示应用托管节点根据应用管理指令对应用进行与应用管理指令相对应的操作。该应用管理指令可以包括下述下列指令之一或任意组合:
节点代理注册指令,应用部署指令、应用去部署指令、监控应用运行状态指令、监控本机运行状态指令、应用日志收集指令和节点代理退出指令。该应用管理指令可以用于控制应用托管节点执行与该应用管理指令相对应的操作。
若上述用户的请求指令为请求应用部署指令,则应用集群管理设备获取多个已注册的应用托管节点的负载信息和应用的运行状况;
应用集群管理设备根据多个已注册的应用托管节点的负载信息和应用的运行状况,确定待部署应用的应用托管节点;
应用集群管理设备向待部署应用的应用托管节点发送应用部署指令,应用部署指令用于指示待部署应用的应用托管节点根据应用部署指令进行相应的应用部署。
进一步地,上述流程还包括:
应用集群管理设备接收未注册的应用托管节点发送节点管理注册请求,根据节点管理注册请求,为未注册的应用托管节点进行节点注册,未注册的应用托管节点注册成功后,获取已注册的应用托管节点的心跳信息,该心跳信息包括已注册的应用托管节点的负载信息和应用的运行状况。
应用集群管理设备还可以向智能应用路由设备发送所述获取的应用托管节点的应用的运行状况以使所述智能应用路由设备根据所述应用托管节点的应用的运行状况更新路由信息。
在步骤203中,应用集群管理设备向所述应用托管节点发送所述应用管理指令,以使应用托管节点根据该应用管理指令执行相应的操作,该应用管理指令对应的操作可以包括下述之一:
图3示出了一种管理应用生命周期的流程,如图3所示,具体包括:
步骤301,创建:开发者通过管理门户创建应用,应用被成功指定了AppId后,系统创建该应用的信息,记录AppId。此时开发者可以在门户中看到此应用。AppID作为访问该应用的二级域名关键字,全局唯一。
步骤302,上传:开发者通过开发环境客户端上传应用,上传时,需要指定应用的具体版本。某版本的应用上传状态在该应用的所有文件全部上传后完成。上传完成后,系统将该版本设置为该应用的当前默认版本。
步骤303,部署:该应用版本实际部署至运行环境中,开发者可以通过该版本的URL访问该版本的应用,部署完成后,门户可显示该版本的状态为“已部署”。
步骤304,默认版本:应用部署后,开发者可以通过门户将已部署的某个版本的应用设置为应用的默认版本。应用的默认版本可以通过应用的URL进行访问。
步骤305,非默认版本:应用可以被设置为默认版本,也可去除为非默认版本。
步骤306,停止:开发者和管理员可以对已部署的应用停止。
当指定应用停止后,系统对停止应用的所有版本进行停止操作,由前台或后台门户向Logic发送停止指令,Logic首先通知智能应用路由设备停止路由解析此应用,然后在运行环境中对所有已部署应用实例进行去部署操作,停止应用的所有版本和信息均应在系统数据库中保留。
开发者和管理员可以通过前台和后台门户恢复停止的应用,当某个停止的应用恢复时,前台或后台应该向Logic发送部署指令对该应用进行恢复。Logic应对该应用的所有版本逐条进行恢复,然后通知智能应用路由设备恢复对应用URL的解析。
步骤307,删除:当用户选择删除操作时,门户应该向Logic发送删除指令消息,由Logic进行应用的删除操作。Logic进行应用删除操作时,Logic首先通知智能应用路由设备停止路由解析此应用,然后对该应用的所有版本的所有实例依次进行去部署操作,并删除该应用在数据库中的所有信息。
本发明实施例中的应用的生命周期指的是开发者创建的每个应用版本的生命周期。
图4示出了本发明实施例中一种创建新部署的流程,如图4所示,该流程具体包括:
步骤S401,门户在接收到用户请求创建部署的请求后,向应用集群管理设备发送创建部署请求。
步骤S402,应用集群管理设备通知代码管理服务器开始创建代码仓库并上传默认代码。
步骤S403,向应用集群管理设备返回代码更新。
步骤S404,应用集群管理设备通知应用托管节点开始创建部署。
步骤S405,应用托管节点从代码管理服务器下载默认代码,开始准备部署。
步骤S406,应用托管节点完成应用部署。
步骤S407,应用托管节点通知应用集群管理设备应用部署成功。
步骤S408,应用集群管理设备通知智能应用路由设备更新应用状态及路由信息。
步骤S409,应用集群管理设备进行数据库和缓存更新。
图5示出了本发明实施例中一种删除已有部署的流程,如图5所示,该流程具体包括:
步骤S501,门户在接收到用户需要删除已有部署的请求后,向应用集群管理设备删除部署请求。
步骤S502,应用集群管理设备选择目标节点。
步骤S503,应用集群管理设备通知应用托管节点删除部署。
步骤S504,应用托管节点完成部署删除。
步骤S505,应用托管节点通知部署删除成功。
步骤S506,应用集群管理设备通知代码管理服务器删除代码仓库。
步骤S507,应用集群管理设备通知智能应用路由设备更新应用状态及路由信息。
步骤S508,应用集群管理设备进行数据库和缓存更新。
图6示出了本发明实施例中一种更新部署的流程,如图6所示,该流程具体包括:
步骤S601,代码管理服务器接收应用内容更新的请求。
步骤S602,代码管理服务器通知应用集群管理设备需要进行应用内容更新。
步骤S603,应用集群管理设备进行数据库和缓存更新,并增加一条代码版本记录。
图7示出了本发明实施例中一种应用代码更新的流程,如图7所示,该流程具体包括:
步骤S701,门户在接收到应用代码更新的请求后,向应用集群管理设备发送代码更新请求。
步骤S702,应用集群管理设备选择指定节点。
步骤S703,应用集群管理设备向应用托管节点发送更新代码指令。
步骤S704,应用托管节点从代码管理服务器进行代码文件下载。
步骤S705,应用托管节点完成代码更新。
步骤S706,应用托管节点通知应用集群管理设备代码更新成功。
步骤S707,应用集群管理设备进行数据库和缓存更新。
图8示出了本发明实施例中一种暂停运行中的部署的流程,如图8所示,该流程具体包括:
步骤S801,门户在接收到用户需要暂停正在运行中的部署的请求之后,向应用集群管理设备发暂停部署的请求。
步骤S802,应用集群管理设备选择目标节点。
步骤S803,应用集群管理设备通知应用托管节点删除部署。
步骤S804,应用托管节点完成部署的删除。
步骤S805,应用托管节点通知应用集群管理设备部署删除成功。
步骤S806,应用集群管理设备通知智能应用路由设备更新应用状态及路由信息。
图9示出了本发明实施例中一种激活已暂停的部署的流程,如图9所示,该流程具体包括:
步骤S901,门户在收到用户需要激活已经暂停的部署请求后,向应用集群管理设备发送激活已暂停的部署请求。
步骤S902,应用集群管理设备选择部署节点。
步骤S903,应用集群管理设备通知应用托管节点恢复已暂停的部署。
步骤S904,应用托管节点从代码管理服务器下载默认代码。
步骤S905,应用托管节点完成部署。
步骤S906,应用托管节点向应用集群管理设备通知部署成功。
步骤S907,应用集群管理设备通知智能应用路由设备更新应用状态及路由信息。
步骤S908,应用集群管理设备进行数据库和缓存更新。
图10示出了本发明实施例中一种重启实例的流程,如图10所示,该流程具体包括:
步骤S1001,门户在接收到用户需要重启实例的请求后,向应用集群管理设备发送重启实例的请求。
步骤S1002,应用集群管理设备选择需要重启的节点。
步骤S1003,应用集群管理设备通知该应用托管节点重启指定实例。
步骤S1004,应用托管节点完成部署。
步骤S1005,应用托管节点通知应用集群管理设备实例重启成功。
步骤S1006,应用集群管理设备进行数据库和缓存更新。
图11示出了本发明实施例中一种扩展实例的流程,如图11所示,该流程具体包括:
步骤S1101,门户在接收到用户需要扩展实例的请求之后,向应用集群管理设备发送实例扩展请求。
步骤S1102,应用集群管理设备选择目标节点。
步骤S1103,应用集群管理设备通知应用托管节点部署实例。
步骤S1104,应用托管节点从代码管理服务器下载默认代码。
步骤S1105,应用托管节点完成部署。
步骤S1106,应用托管节点通知应用集群管理设备部署成功。
步骤S1107,应用集群管理设备通知智能应用路由设备更新应用状态及路由。
步骤S1108,应用集群管理设备进行数据库和缓存进行更新。
图12示出了本发明实施例中一种删除实例的流程,如图12所示,该流程具体包括:
步骤S1201,门户在接收到用户需要删除实例请求之后,向应用集群管理设备发送删除实例请求。
步骤S1202,应用集群管理设备选择指定节点。
步骤S1203,应用集群管理设备通知应用托管节点删除实例。
步骤S1204,应用托管节点完成实例删除。
步骤S1205,应用托管节点通知应用集群管理设备实例删除成功。
步骤S1206,应用集群管理设备进行数据库和缓存更新。
步骤S1207,应用集群管理设备通知智能应用路由设备更新应用状态及路由信息。
图13示出了本发明实施例中一种监控应用托管节点的流程,如图13所示,该流程具体包括:
步骤S1301,应用托管节点向应用集群管理设备发送心跳信息。
步骤S1302,应用集群管理设备对心跳信息进行处理。
步骤S1303,应用集群管理设备将心跳信息处理结果进行持久化存储。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (5)
1.一种平台即服务paas云托管系统,其特征在于,包括:应用集群管理设备、多个应用托管节点和代码管理服务器;
所述应用集群管理设备,分别与每个所述应用托管节点连接,用于向所述应用托管节点发送应用管理指令,控制所述应用托管节点执行与所述应用管理指令相对应的操作,所述应用管理指令中包括待部署的应用的名称;
所述应用托管节点,用于接收所述应用集群管理设备发送的应用管理指令,执行与所述应用管理指令相对应的操作;
所述代码管理服务器,与所述应用托管节点连接,用于存储待部署的应用的代码,以供所述应用托管节点根据所述应用集群管理设备的应用管理指令调取与所述应用管理指令中待部署的应用的名称相对应的应用的代码;
所述应用集群管理设备包括:应用集群管理器、应用集群监控器和消息队列;
所述应用集群管理器,用于向所述应用托管节点发送应用管理指令,对所述应用托管节点进行控制和管理;
所述应用集群监控器,用于监控所述应用托管节点上的应用的运行情况;
所述消息队列,用于接收和发送消息;
还包括:智能应用路由设备;
所述应用集群管理设备还用于向所述智能应用路由设备发送所述应用托管节点上的应用的运行情况;
所述智能应用路由设备,分别与所述应用集群管理设备和所述应用托管节点连接,用于获取所述应用集群管理设备发送的所述应用托管节点上的应用的运行情况,根据所述应用托管节点上的应用的运行情况更新路由信息,根据更新的路由信息,将应用访问请求发送至与所述应用访问请求中请求访问的应用相对应的应用托管节点上;
还包括:应用开发服务器;
所述应用开发服务器,与所述代码管理服务器连接,用于开发应用并将开发完成的应用上传至所述代码管理服务器进行存储。
2.如权利要求1所述的系统,其特征在于,还包括:操作维护管理OAM门户;
所述OAM门户,与所述应用集群管理设备连接,用于向所述应用集群管理设备发送维护指令,以使所述应用集群管理设备根据所述维护指令执行与所述维护指令相对应的操作。
3.如权利要求1所述的系统,其特征在于,所述应用管理指令包括下列指令之一或任意组合:
节点代理注册指令,应用部署指令、应用去部署指令、监控应用运行状态指令、监控本机运行状态指令、应用日志收集指令和节点代理退出指令。
4.一种paas云托管方法,其特征在于,该方法包括:
应用集群管理设备获取用户的请求指令,所述用户的请求指令用于请求所述应用集群管理设备执行与所述用户的请求指令相对应的操作;
所述应用集群管理设备根据所述用户的请求指令,生成应用管理指令,所述应用管理指令用于指示应用托管节点根据所述应用管理指令对应用进行与所述应用管理指令相对应的操作;
所述应用集群管理设备向所述应用托管节点发送所述应用管理指令;
若所述用户的请求指令为请求应用部署指令,则所述应用集群管理设备获取多个已注册的所述应用托管节点的负载信息和应用的运行状况;
所述应用集群管理设备根据所述多个已注册的所述应用托管节点的负载信息和应用的运行状况,确定待部署应用的应用托管节点;
所述应用集群管理设备向所述待部署应用的应用托管节点发送应用部署指令,所述应用部署指令用于指示所述待部署应用的应用托管节点根据所述应用部署指令进行相应的应用部署;
还包括:
所述应用集群管理设备接收未注册的应用托管节点发送节点管理注册请求;
根据所述节点管理注册请求,为所述未注册的应用托管节点进行节点注册;
所述未注册的应用托管节点注册成功后,获取已注册的应用托管节点的心跳信息,所述心跳信息包括所述已注册的应用托管节点的负载信息和应用的运行状况;
还包括:
所述应用集群管理设备向智能应用路由设备发送所述获取的应用托管节点的应用的运行状况以使所述智能应用路由设备根据所述应用托管节点的应用的运行状况更新路由信息。
5.如权利要求4所述的方法,其特征在于,所述应用管理指令包括下列指令之一或任意组合:
节点代理注册指令,应用部署指令、应用去部署指令、监控应用运行状态指令、监控本机运行状态指令、应用日志收集指令和节点代理退出指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510613402.3A CN106550002B (zh) | 2015-09-23 | 2015-09-23 | 一种paas云托管系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510613402.3A CN106550002B (zh) | 2015-09-23 | 2015-09-23 | 一种paas云托管系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106550002A CN106550002A (zh) | 2017-03-29 |
CN106550002B true CN106550002B (zh) | 2019-12-13 |
Family
ID=58364594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510613402.3A Active CN106550002B (zh) | 2015-09-23 | 2015-09-23 | 一种paas云托管系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106550002B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229520B (zh) * | 2017-04-27 | 2019-10-18 | 北京数人科技有限公司 | 一种数据中心操作系统 |
CN108170510A (zh) * | 2017-12-22 | 2018-06-15 | 天津津航计算技术研究所 | 一种基于虚拟化技术的计算资源管理系统 |
CN112115016B (zh) * | 2020-08-06 | 2024-07-23 | 北京水滴科技集团有限公司 | 应用性能监控系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377598A (zh) * | 2010-08-26 | 2012-03-14 | 中国移动通信集团公司 | 一种互联网应用托管系统、设备和方法 |
CN102469126A (zh) * | 2010-11-10 | 2012-05-23 | 中国移动通信集团公司 | 一种应用调度系统、方法和相关装置 |
CN102498483A (zh) * | 2009-08-13 | 2012-06-13 | 谷歌公司 | 事件触发的服务器端宏 |
CN103401917A (zh) * | 2013-07-29 | 2013-11-20 | 华南理工大学 | 一种基于云总线的混合云计算系统及其实现方法 |
CN103475677A (zh) * | 2012-06-07 | 2013-12-25 | 中兴通讯股份有限公司 | 一种PaaS云平台中管理虚拟节点的方法、装置及系统 |
CN104572255A (zh) * | 2013-10-09 | 2015-04-29 | 中国移动通信集团公司 | 一种多层应用托管方法、装置及系统 |
-
2015
- 2015-09-23 CN CN201510613402.3A patent/CN106550002B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102498483A (zh) * | 2009-08-13 | 2012-06-13 | 谷歌公司 | 事件触发的服务器端宏 |
CN102377598A (zh) * | 2010-08-26 | 2012-03-14 | 中国移动通信集团公司 | 一种互联网应用托管系统、设备和方法 |
CN102469126A (zh) * | 2010-11-10 | 2012-05-23 | 中国移动通信集团公司 | 一种应用调度系统、方法和相关装置 |
CN103475677A (zh) * | 2012-06-07 | 2013-12-25 | 中兴通讯股份有限公司 | 一种PaaS云平台中管理虚拟节点的方法、装置及系统 |
CN103401917A (zh) * | 2013-07-29 | 2013-11-20 | 华南理工大学 | 一种基于云总线的混合云计算系统及其实现方法 |
CN104572255A (zh) * | 2013-10-09 | 2015-04-29 | 中国移动通信集团公司 | 一种多层应用托管方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106550002A (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10255110B2 (en) | Node selection for a new application in a multi-tenant cloud hosting environment | |
US20220043693A1 (en) | Methods, systems and apparatus for client extensibility during provisioning of a composite blueprint | |
US9317325B2 (en) | Application idling in a multi-tenant cloud-based application hosting environment | |
US11533317B2 (en) | Serverless application center for multi-cloud deployment of serverless applications | |
US10884787B1 (en) | Execution guarantees in an on-demand network code execution system | |
JP6352535B2 (ja) | プログラム・コードを実行するための要求に対するプログラム的イベント検出及びメッセージ生成 | |
US10013267B1 (en) | Pre-triggers for code execution environments | |
US9329909B1 (en) | Dynamically modifying a cluster of computing nodes used for distributed execution of a program | |
US20170116051A1 (en) | Processing event messages for user requests to execute program code | |
US11010215B2 (en) | Recommending applications based on call requests between applications | |
US20130297672A1 (en) | Mechanism for tracking and utilizing facts about a node of a multi-tenant cloud hosting environment | |
US10430172B2 (en) | Re-configuration in cloud computing environments | |
US11099909B2 (en) | Methods and apparatus for adaptive workflow adjustment during resource provisioning using meta-topics | |
JP2018537776A (ja) | コード実行要請ルーティング | |
KR102499219B1 (ko) | 동적 네트워크 인터페이스를 사용하는 상호운용가능 클라우드 기반 미디어 처리 | |
CN112860382A (zh) | 线程化作为服务 | |
CN109688191B (zh) | 流量调度方法及通信装置 | |
US10721260B1 (en) | Distributed execution of a network vulnerability scan | |
JP2011186637A (ja) | リソース連携システム及びリソース連携方法 | |
CN108011931B (zh) | Web数据采集方法和Web数据采集系统 | |
CN106550002B (zh) | 一种paas云托管系统及方法 | |
CN112114939A (zh) | 一种分布式系统部署设备和方法 | |
CN110737510A (zh) | 块设备管理系统 | |
CN109840094B (zh) | 一种数据库的部署方法、装置及存储设备 | |
US9612927B1 (en) | Managing server processes with proxy files |
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 |