一种应用程序部署管理系统技术方案

技术编号:11471432 阅读:76 留言:0更新日期:2015-05-20 01:08
本发明专利技术属于互联网大规模应用程序管理技术领域,具体为一种应用程序部署管理系统。该管理系统包括客户端、服务端和数据库;客户端部署在应用系统的主机操作系统上,实现对主机资源的管理,包括部署模块、日志模块、接口模块、监控模块;服务端按照功能划分有六个模块:操作员管理模块、部署定义模块、接口模块、任务模块、消息模块、监测模块;数据库用于存储整个系统的数据。本发明专利技术的应用程序部署管理系统对应用程序部署进行管理,包括应用程序部署更新、应用程序回滚和应用程序状态监控等;使应用程序部署能够可控、高效、稳定的按照计划执行,减少因部署过程复杂而给提供服务带来的影响。

【技术实现步骤摘要】
一种应用程序部署管理系统
本专利技术属于互联网大规模应用程序管理
,具体涉及对各应用程序部署进行管理的系统。
技术介绍
应用部署是指将应用按照设计的架构来进行部署,满足应用设计的功能需求。在互联网应用领域中,应用部署是非常重要的技术,是整个发布流程中重要的一个环节。通常的部署方式是将新的应用程序包替换来完成应用的更新替换,这种更新方式能够快速替换程序,非常适合小规模的程序管理。当整个系统达到一定规模,各个子系统的程序可能存在关联时,通常的部署方式不能满足服务延续性的需求,同时对实际操作人员的要求也非常高,很容易出现错误的处理方式。在应用程序部署过程中,在部署失败的情况下,需要将部署失败的应用包替换为上一个正常版本来完成应用版本的回滚。如果按照一般的替换方式,无法快速完成这一要求。
技术实现思路
本专利技术的目的在于提供一种能够简化应用程序部署管理过程的应用程序部署管理系统,使应用程序部署能够可控、高效、稳定的按照计划执行,减少因部署过程复杂而给提供服务带来的影响,使应用程序部署能够平稳进行,从而保证系统稳定性。本专利技术提供的应用程序部署管理系统,包括客户端、服务端和数据库;其中:所述客户端部署在应用系统的主机操作系统上,实现对主机资源的管理;包括部署模块、日志模块、接口模块、监控模块;其中:部署模块用于对主机资源的定制化管理,实现对主机资源的开启、关闭、监控操作;日志模块用于记录对主机资源操作过程的日志记录,分为两部分:一部分记录在本地,另外一部分推送到服务端接口;接口模块用于验证和接收外部服务请求;监控模块用于检查主机资源服务的状态,并将状态提交到服务端;所述服务端至少包括操作员管理模块、部署定义模块、接口模块、监控模块、任务模块、消息模块和监测模块中的任意一种;其中:操作员管理模块至少用于编辑操作员身份验证、新增、查询、冻结和删除操作中的任意一种;部署定义模块至少用于定义主机、主机资源、资源类型、资源之间的依赖关系、集群、集群节点、所属环境和服务名称操作中的任意一种;接口模块用于提供对外服务,包括客户端访问和操作员访问两部分;监控模块用于对应用程序部署过程的监控以及主机资源的监控,通过对客户端监控模块发出消息实现对主机资源的监控;任务模块用于调用客户端接口模块功能,实现对主机资源的调度;通过部署定义的资源之间的依赖关系和提交的应用程序内容生成更新的顺序,按照更新的顺序对个主机资源实现调度管理;消息模块用于完成邮件通知和短信通知的功能,在系统需要完成外部通知时,可以通过消息模块发出;监测模块用于对客户端性能数据进行分析,以及特殊监控数据的处理;在出现特殊情况时,通过消息模块发出消息通知相关人员;所述数据库用于存储整个系统的数据。本专利技术的有益效果1、提高操作人员的工作效率。原有部署操作需要操作人员手工输入命令逐条执行,现在操作人员按照要求输入参数后,系统自动完成应用程序的部署,操作人员不需要实时跟踪操作过程,部署结果通过邮件自动告知。2、提高应用程序部署过程的可靠性。原有手工操作方式,可能由于操作人员不熟练、对环境不熟悉等各种原因造成操作失误,引发系统故障。通过使用应用程序部署管理系统屏蔽了内部操作过程,降低了操作实现难度,减少了出错的几率,提高了部署过程的可靠性和成功率。3、部署过程的可控性。通过日志模块完整记录部署过程,通过操作界面可以看到整个的操作过程。遇到异常时,通过消息通知手段,比如邮件和短信通知操作人员进行干预。4、扩充了原有应用程序部署仅能更新部署的操作方式,提供了应用程序版本回滚的功能,且同部署过程一样,在制定版本后自动后续操作;提供了应用程序状态监控功能,定时采集应用程序状态数据并存储到数据库进行分析操作。附图说明图1为本专利技术的应用程序部署系统结构图示。图2为部署模块操作流程时序图示。图3为部署定义模块用途图示。图4为应用程序部署流程图示。图5为应用程序回滚流程图示。图6为应用程序监控数据流向图示。图7为实施部署图示。具体实施方式本专利技术提出的应用程序部署系统,其结构组成如图1所示,包括客户端、服务端和数据库;解决应用程序部署管理中应用版本部署和应用版本回滚的问题。本专利技术系统部署如图7所示,具体实施部署方式如下:可选择部署PostgreSQL9.0.18作为系统数据库。部署客户端到至少一个主机节点,作为客户端。部署服务端到一个主机节点,作为服务端。所述数据库,可基于开源数据库系统PostgreSQL9.0.18,主要用于存储系统的主机资源、应用信息、操作员信息以及系统运行过程中产生的日志和监测数据,可通过PostgreSQL数据库的主从机制配置数据库并在服务端部署从节点,以保证数据库的可用性。所述客户端,可基于PythonTornado开源的网络服务器框架设计用于对客户端主机资源和应用进行控制的程序。Tornado有效利用了非阻塞式服务器的特性,可以在很快接收处理服务请求,满足一定并发需求的同时,客户端总体代码量也能够控制在一定范围内。客户端按照用途划分,共有四个模块:部署模块、接口模块、日志模块、监控模块。其中:部署模块,操作流程如图3所示,具体流程如下:服务端向客户端接口模块发出请求,根据请求操作的不同,请求分为查询状态,启动服务,关闭服务等。客户端接收到请求后,调用部署模块分别完成对应于服务的查询,启动,关闭的功能,对于特殊服务会提供特殊的功能,例如中间件提供查询当前服务部署的应用列表和状态。部署模块完成功能后通知服务端部署结果。日志模块,用于记录对主机资源操作过程的日志记录,分为两部分:一部分记录在本地日志文件,另外一部分异步推送到服务端接口。服务端日志模块接收到日志后存储到数据库中。日志主要用来在应用程序部署过程中的诊断、跟踪和排错。接口模块,用于验证、接收外部服务请求;验证服务主要区别非管理端节点通过接口模块发出服务调用请求,通过拒绝非管理端节点Ip的请求的方式来实现验证;接口模块在接收服务请求后,调用部署模块完成功能,一般情况下,接口模块实时响应前端的请求,当操作非常消耗时间,而HTTP请求具有超时机制,为了避免出现服务端因为超时发生调用失败的问题,真对短时间不能返回的操作,例如更新操作,接口模块首先返回接收的服务请求,再通过后台新建新进程的方式在后台运行任务,后台运行的任务定期将运行情况通过日志系统发送到服务器,使服务端能够了解客户端当前的运行状态,同时使客户端系统具有一定的并发能力,同时接收多个服务请求。监控模块,用于检查主机资源服务的状态,并将状态提交到服务端。一般情况下,监控模块每5分钟通过客户端接口模块检查一次客户端所部署应用的状态,并将搜集到的信息通过日志模块分别存储到本地和服务端数据库中。所述服务端按照功能划分,有六个模块:操作员管理模块、部署定义模块、接口模块、任务模块、消息模块、监测模块;其中:操作员管理模块,用于操作员身份验证、新增、查询、冻结、删除;基于安全性考虑,在操作员登录时采用双层口令验证,第一层是基于HTTPBasicAuthentication,每个使用用户颁发唯一的用户和口令,第二层是基于存储于数据库的用户口令进行验证,两种验证方式独立,保证操作员的安全性。部署定义模块,用于物理主机和应用资源的定义。通常的情况下,部署的应用和具体部本文档来自技高网...
一种应用程序部署管理系统

【技术保护点】
一种应用程序部署管理系统,其特征在于包括客户端、服务端和数据库;其中:所述客户端部署在应用系统的主机操作系统上,实现对主机资源的管理;包括部署模块、日志模块、接口模块、监控模块;其中:部署模块用于对主机资源的定制化管理,实现对主机资源的开启、关闭、监控操作;日志模块用于记录对主机资源操作过程的日志记录,分为两部分:一部分记录在本地,另外一部分推送到服务端接口;接口模块用于验证和接收外部服务请求;监控模块用于检查主机资源服务的状态,并将状态信息提交到服务端;所述服务端至少包括操作员管理模块、部署定义模块、接口模块、监控模块、任务模块、消息模块和监测模块中的一种;其中:操作员管理模块至少用于编辑操作员身份验证、新增、查询、冻结和删除操作中的任意一种;部署定义模块至少用于定义主机、主机资源、资源类型、资源之间的依赖关系、集群、集群节点、所属环境和服务名称操作中的任意一种;接口模块用于提供对外服务,包括客户端访问和操作员访问两部分;监控模块用于对应用程序部署过程的监控以及主机资源的监控,通过对客户端监控模块发出消息实现对主机资源的监控;任务模块用于调用客户端接口模块功能,实现对主机资源的调度;通过部署定义的资源之间的依赖关系和提交的应用程序内容生成更新的顺序,按照更新的顺序对个主机资源实现调度管理;消息模块用于完成邮件通知和短信通知的功能,在系统需要完成外部通知时,可以通过消息模块发出;监测模块用于对客户端性能数据进行分析,以及特殊监控数据的处理;在出现特殊情况时,通过消息模块发出消息通知相关人员;所述数据库用于存储整个系统的数据。...

【技术特征摘要】
1.一种应用程序部署管理系统,其特征在于包括客户端、服务端和数据库;其中:所述客户端部署在应用系统的主机操作系统上,实现对主机资源的管理;包括部署模块、日志模块、接口模块、监控模块;其中:部署模块用于对主机资源的定制化管理,实现对主机资源的开启、关闭、监控操作;日志模块用于记录对主机资源操作过程的日志记录,分为两部分:一部分记录在本地,另外一部分推送到服务端接口;接口模块用于验证和接收外部服务请求;监控模块用于检查主机资源服务的状态,并将状态信息提交到服务端;所述服务端包括操作员管理模块、部署定义模块、接口模块、监控模块、任务模块、消息模块和监测模块;其中:操作员管理模块用于编辑操作员身份验证、新增、查询、冻结和删除操作;部署定义模块用于定义主机、主机资源、资源类型、资源之间的依赖关系、集群、集群节点、所属环境和服务名称操作;接口模块用于提供对外服务,包括客户端访问和操作员访问两部分;监控模块用于对应用程序部署过程的监控以及主机资源的监控,通过对客户端监控模块发出消息实现对主机资源的监控;任务模块用于调用客户端接口模块功能,实现对主机资源的调度;通过部署定义的资源之间的依赖关系和提交的应用程序内容生成更新的顺序,按照更新的顺序对个主机资源实现调度管理;消息模块用于完成邮件通知和短信通知的功能,在系统需要完成外部通知时,可以通过消息模块发出;监测模块用于对客户端性能数据进行分析,以及特殊监控数据的处理;在出现特殊情况时,通过消息模块发出消息通知相关人员;所述数据库用于存储整个系统的数据;所述应用程序部署管理系统还包括对应用程序部署的环境、部署过程、部署结果进行管理;其中,环境管理通过部署定义模块完成;部署过程管理主要包括应用程序部署更新、应用程序版本回滚和应用程序状态监控;其中:应用程序部署更新,包括检测更新内容,根据应用程序部署内容生成部署队列任务、部署执行;应用程序版本回滚,是在确认回滚内容后,自动生成部署队列任务,自动进行应用程序的更新;应用程序状态监控,是定期获取应用状态数据,并形成图表提供给操作员。2.根据权利要求1所述的应用程序部署管理系统,其特征在于,应用程序部署具体流程如下:(1)操作员通过本系统提交应用程序到指定内部的版本控制系统;(2)服务端对提交的内容进行检测:提交内容是否存在为没有部署定义的资源,如果存在没有定义部署定义的资源,则部署流程终止结束;(3)...

【专利技术属性】
技术研发人员:何宏生王霖勇郭军伟刘纯招郭伟
申请(专利权)人:上海瀚银信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1