[发明专利]一种基于智能集群的软件部署及其维护方法有效
| 申请号: | 201510027097.X | 申请日: | 2015-01-20 |
| 公开(公告)号: | CN104536899B | 公开(公告)日: | 2017-11-24 |
| 发明(设计)人: | 谢国锦;王鑫;艾力 | 申请(专利权)人: | 成都益联科创科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L29/08 |
| 代理公司: | 北京天奇智新知识产权代理有限公司11340 | 代理人: | 郭霞 |
| 地址: | 610000 四*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 智能 集群 软件 部署 及其 维护 方法 | ||
1.一种基于智能集群的软件部署及其维护方法,用于在智能集群中构建和部署测试环境,其特征在于,包括:
智能集群的测试平台将应用编译通过后生成可执行程序包,将应用可执行程序包的FTP地址发送到FTP服务器上,用户在自身的计算机上通过浏览器访问测试平台并发送部署命令,测试平台收到命令后发出请求消息,申请测试协同服务器,并登录测试协同服务器,获取所述可执行程序包和最新的配置文件,该配置文件存储了测试协同服务器所需的配置项,将配置项注入所述可执行程序包,请求执行测试脚本;
所述测试协同服务器以SQL语句来完成更新可执行程序包地址操作,自动化测试环境由监控程序根据智能集群测试平台发布情况来部署;监控程序定时更新测试环境部署脚本;该可执行程序包中包含可执行的二进制程序,还包括程序运行时所需要的文件,所述请求消息包括应用名称、生成的可执行程序包地址;
所述用户在自身的计算机上通过浏览器访问测试平台并发送部署命令后,还包括:
测试协同服务器中的监控程序通过HTTP请求来完成自动化测试协同服务器的监控和管理,向测试平台返回监控信息,用户通过浏览器监控和查看测试协同服务器的状态图;
所述测试平台申请测试协同服务器,进一步包括:
测试平台的部署控制器在相应的测试协同服务器传送和安装代理,代理收到部署环境的信号后,调用测试环境部署脚本进行测试环境部署,该测试环境部署脚本在每个执行过程运行到最后时,返回部署状态,部署状态包括成功、失败或超时,通过代理的状态提取器将部署状态存储在缓存中;测试平台的环境监控程序获取部署状态,传达给调度中心,如果部署失败,监控程序通知部署控制器进行重置,其中该部署控制器包括一个应用部署信息查询列表,周期性进行刷新;部署测试环境时,首先按序对每一个测试环境生成部署线程,其次通过部署计划列表查询依赖顺序,监听前置依赖的就绪状态,然后线程给所述代理下达部署命令,代理将部署状态反馈到调度中心,更新部署计划列表中的测试环境部署状态,所述测试环境部署包括分发部署计划、生成临时部署计划、管理应用依赖关系、设置部署计划列表和配置部署计划;
调度中心的部署管理模块利用自动化部署工具对测试环境进行部署,通过建立多层级的拓扑,在部署控制器端的文件及部署配置文件向下转移到测试协同服务器,当需要由单个测试协同服务器或包含多个测试协同服务器的某个组执行命令时,部署控制器向代理下发管理信息,当有部署任务时,部署控制器向代理发出部署命令,代理将状态模板转发给测试协同服务器,每个测试协同服务器接受后,根据自身的状态信息对模板进行渲染和解析,生成描述文件;
部署控制器通过基于Web的图形化界面接收客户端输入的与部署相关的参数,并将参数传送到测试任务部署层,由测试任务部署层实现测试环境上业务的自动化部署,部署控制器展示Web页面,向用户提供自动化部署的可视化选项,接收并处理来自前端页面的HTTP请求,获取相应的配置数据,然后将数据提供给测试任务部署层;
测试任务部署层负责从部署控制器获取任务信息以及测试资源信息,启动测试环境,部署控制器将测试资源信息传给测试任务部署层,测试任务部署层通过部署控制器验证和确保参数的正确性,将参数格式化,并将其封装在部署请求内,发送该部署请求,该部署请求通过消息队列传递给控制节点;
控制节点向集群数据库插入测试环境的信息,通过测试环境的信息获取一系列可用的测试协同服务器列表,根据可用服务器列表随机选择测试协同服务器并将测试环境的信息通过远程过程调用传递给所选服务器,最终根据系统镜像创建测试环境,并将创建成功信息返回;
测试环境启动后,守护程序自动运行,向部署控制器发送请求,部署控制器自动将所述测试环境加入信任列表,控制节点发送消息获取测试环境IP地址和mac地址,然后,测试任务部署层轮询新启动的测试环境状态,当获取到的状态信息为“成功”,并且可以获取测试环境IP时,将不同的组件与测试环境IP一一对应,测试任务部署层调用自动化部署工具的API,根据与组件相对应的配置文件来部署测试环境;
监控程序包含查看测试环境监控信息、设置环境监控参数、监控调度和监控查询远程服务4个部分;监控调度是测试环境监控程序在获取部署状态后传达给调度中心,如果部署失败,监控程序通知部署控制器进行重置的过程;在所述监控调度中,新建或修改环境的测试成功检查配置并确认保存时,监听服务立即被触发;
部署状态是指测试环境部署计划中的部署状态正处于“安装进行中”之后,“启动失败”、“启动成功”或“启动超时”之前的中间状态;触发以后,监听器给代理发送测试成功命令;代理首先解析JSON,解析检查内容,逐个执行检查内容;然后,如果是进程检查,直接组装检查结果;如果是URL检查,请求URL并对返回内容进行校验;如果是服务检查,则直接执行检查命令启动服务检查程序,但要将监控系统中心发送过来的JSON参数追加在命令后面,由服务检查程序组装检查结果。
2.根据权利要求1所述的方法,其特征在于,当部署测试环境中需要构建多个应用时,该方法进一步包括:
首先根据多应用的依赖关系建立有向图,检测该有向图中是否存在环,若不存在,则对该有向图进行拓扑排序,输出排序后的序列,将该序列转换为队列,然后将队列自动转换为层级,最后根据层级关系构建应用,每个应用构建完成后发送触发信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都益联科创科技有限公司,未经成都益联科创科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510027097.X/1.html,转载请声明来源钻瓜专利网。





