CN111026413B - 以需求为导向的复杂系统“拉取”模式部署系统及其方法 - Google Patents

以需求为导向的复杂系统“拉取”模式部署系统及其方法 Download PDF

Info

Publication number
CN111026413B
CN111026413B CN201911246257.4A CN201911246257A CN111026413B CN 111026413 B CN111026413 B CN 111026413B CN 201911246257 A CN201911246257 A CN 201911246257A CN 111026413 B CN111026413 B CN 111026413B
Authority
CN
China
Prior art keywords
deployment
service
application
software
user
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
CN201911246257.4A
Other languages
English (en)
Other versions
CN111026413A (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.)
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
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 CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN201911246257.4A priority Critical patent/CN111026413B/zh
Publication of CN111026413A publication Critical patent/CN111026413A/zh
Application granted granted Critical
Publication of CN111026413B publication Critical patent/CN111026413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

以需求为导向的复杂系统“拉取”模式部署系统及其方法,其特征在于,包括入库工具、软件在线管理、应用门户、本地软件库管理、部署依赖关系分析、服务部署引擎、可靠指令分发和在线代理。与现有技术相比,本发明的有益效果是:本发明打破传统由部署保障人员预先规划准备每台机器安装的软件的部署模式,针对业务角色来进行软件部署,本发明通过将根据业务角色将所需要用到的软件进行打包成主题包,当用户选择主题包,本系统能够将主题包中的应用及其依赖的后台服务一并拉取下来,提高了软件部署效率。

Description

以需求为导向的复杂系统“拉取”模式部署系统及其方法
本发明属于计算机软件部署技术领域,具体涉及以需求为导向的复杂系统“拉取”模式部署系统及其方法。
背景技术
软件自动化部署系统,是指系统能够根据部署需求自主地选择硬件主机,并能根据应用软件的需求,自动地在被选择的主机上配置和启动虚拟机,然后在虚拟机上自动地安装应用软件,整个过程无需人工干预。
目前常用“推送”部署模式,从以往发表论文来看,《Hadoop分布式集群的自动化容器部署研究》(计算机应用研究,2016,(11),3404-3407),提出一种结合Docker容器技术部署集群的解决方法;《一种自动化远程统一部署软件平台》(兵工自动化, 2017,(02),66-69),该软件自动化部署平台能够自动检测和解决软件部署冲突,并通过多Agent通信机制对软件部署过程进行协同决策,实现软件自动化统一和智能化部署。这些都是传统“推送”模式的软件部署模式。传统的“推送”部署模式,由保障人员预先规划每台机器安装的软件,这造成业务人员使用的软件相对固化,当涉及任务调整或自身角色发生改变时,很难灵活进行软件的调整,必须一一准备需要安装的安装包进行软件部署,增加软件部署时间,且调整需要经过提出申请,经过较长的审批过程后,才能由保障人员重新规划安装软件,这使得按业务人员实际需求部署的周期较长,相比业务的调整时间滞后,给工作带来很大的不便。
发明内容
本发明所解决的问题是提供了以需求为导向的复杂系统“拉取”模式部署系统及其方法,本发明所述系统能够支持用户根据使用需求,自主选择某个应用下载使用或选择多个应用批量下载,软件在线管理以主动“推送”应用包的模式单个或批量部署各类系统,这种以用户业务需求为出发点的针对性的部署,提高了软件部署的适用性、灵活性,极大缩短了软件定制部署的时间。
以需求为导向的复杂系统“拉取”模式部署系统及其方法,包括入库工具、软件在线管理、应用门户、本地软件库管理、部署依赖关系分析、服务部署引擎、可靠指令分发和在线代理;
所述入库工具用于将业务系统进行打包,并配置封装描述文件,输出为部署安装包并上处置所述软件在线管理;
所述软件在线管理用于接收、保存和分类所述入库工具上传的部署安装包,形成软件主题包;还用于向所述本地软件库管理发送用户所选应用或应用依赖的后台服务;还用于查询用户所选应用依赖的后台服务和所述后台服务所以来的服务,并发送至所述服务部署引擎;
所述应用门户用于作为业务用户实用软件的入口,并将应用分类展示供业务用户选择下载;
所述本地软件库管理用于接收所述软件在线管理发送的用户所选应用或应用依赖的后台服务,还用于向所述在线代理提供所述用户所选应用或应用依赖的后台服务;
所述部署依赖关系分析用于解析用户所选择应用所依赖的后台服务或后台服务所依赖的服务;
所述服务部署引擎用于根据所述本地软件库管理接收的用户所选应用或应用依赖的后台服务设置部署策略、生成部署方案,解析后生成部署指令发送至所述可靠指令分发;
所述可靠指令分发用于向所述在线代理发出部署用户所选应用和应用所依赖的后台服务;
所述在线代理用于接收所述部署指令,并作出向所述服务部署引擎做出反馈,在部署服务正常的情况下安装用户所选应用和应用所依赖的后台服务。
一种如所述的部署系统的方法,包括以下几个步骤:
软件研发阶段:
A.开发人员将通过测试验证的应用或后台服务通过所述入库工具封装打包后形成部署安装包,提交至所述软件在线管理;
B.所述软件在线管理审核提交的部署安装包,并将符合规则的安装包分类形成若干个软件主题包;
C.所述应用门户将用户使用的应用按不同主题进行分类展示;
触发部署阶段:
D.用户浏览并选择需要部署的应用;
E.所述软件在线管理将用户所选应用主动推送给所述本地软件库;
部署方案生成阶段:
F.所述本地软件库管理通过所述部署依赖关系分析查询得到用户所选应用与后台服务的完整调用关系;
G.所述本地软件库管理从所述软件在线管理获得缺失的服务;
H.所述软件在线管理通知所述在线代理下载用户所选应用;
I.所述本地软件库管理通过所述服务部署引擎获得应用运行依赖的后台服务的部署状态;
J.所述本地软件库管理请求所述服务部署引擎部署未部署的后台服务;
K.所述服务部署引擎通过所述部署依赖关系分析从所述软件在线管理获得这些未部署的后台服务自身所依赖的服务;
L.所述服务部署引擎结合所述后台服务及其依赖的服务关系,形成部署方案;
M. 所述可靠指令分发服务将部署指令集分发给所述在线代理;
部署阶段:
N.所述在线代理部署后台服务及后台服务所依赖的服务;
O.在后台服务运行正常的前提下,所述在线代理部署用户所选应用;
P.所述在线代理通知用户所选应用部署完成。
上述技术方案中,更进一步的是,在步骤O中,还包括确认后台服务是否正常的步骤过程。
上述技术方案中,更进一步的是,在步骤A中,所述入库工具将运行在不同基础运行环境、不同操作系统、不同商用自主环境下的各类系统,包括Web应用/RPC、gRPC、Webservice、Restful类型服务/Java应用/C应用/C++应用/火狐浏览器插件/达梦、金仓国产数据库数据文件/容器镜像/虚拟机镜像,按照统一的封装标准进行封装打包;所述入库工具封装打包时前端应用和后台服务独立封装,并配置封装描述文件,所述描述文件包括业务描述、组成描述、部署依赖关系描述、应用分类标签。
上述技术方案中,更进一步的是,在步骤B中,所述符合规则是指组成结构和文件列表。
上述技术方案中,更进一步的是,在步骤E中,所述本地软件库管理仅接受本地缺失的应用。防止内存浪费。
上述技术方案中,更进一步的是,在步骤F中,所述部署依赖关系分析是指根据步骤A中的封装描述文件中的部署依赖关系描述,解析该应用与后台服务的调用依赖、应用在运行时对其他服务的依赖关系。
上述技术方案中,更进一步的是,在步骤L中,所述部署引擎,结合步骤J所述的部署请求,和步骤K所述未部署的后台服务自身依赖的服务,综合分析得出本次应部署哪些服务,在此基础上形成所述部署方案。
上述技术方案中,更进一步的是,在步骤M中,所述可靠指令分发包括同步、异步消息收发机制,还包括发送失败后的重发机制。
上述技术方案中,更进一步的是,在步骤M中,所述在线代理的不同的基础运行平台包括物理机、商用云平台、商用容器云、自主云平台、自主容器云;不同的硬件环境包括自主飞腾系列、自主龙芯系列、自主申威系列、商用X86系列;不同的操作系统包括Windows系列、Linux系列、国产银河麒麟、国产中标麒麟。
与现有技术相比,本发明的有益效果是:本发明打破传统由部署保障人员预先规划准备每台机器安装的软件的部署模式,针对业务角色来进行软件部署,很好解决了传统模式造成的针对所有业务人员部署同样的系统,使得业务人员使用的软件相对固定,当涉及任务调整或自身角色发生改变时,需要一一准备安装包进行软件部署的问题;本发明通过将根据业务角色将所需要用到的软件进行打包成主题包,当用户选择主题包,本系统能够将主题包中的应用及其依赖的后台服务一并拉取下来,提高了软件部署效率;
a)支持业务用户选择单个应用自主部署安装;
b)支持业务用户选择多个应用批量自主部署安装;
c)支持多种技术形态应用软件的部署安装;
d)支持跨物理服务器/云平台/容器多种运行支撑环境的部署安装;
e)支持本地安装依赖、运行期间调用依赖两种部署依赖关系的设置和验证;
f)支持根据部署节点和待部署应用的映射自动编配部署指令集。
附图说明
图1是本发明部署系统功能组成结构图。
图2是本发明部署系统内部关系与调用逻辑图。
图3是本发明部署系统实现流程图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图1--3所示,以需求为导向的复杂系统“拉取”模式部署系统及其方法,包括入库工具、软件在线管理、应用门户、本地软件库管理、部署依赖关系分析、服务部署引擎、可靠指令分发和在线代理;
所述入库工具用于将业务系统进行打包,并配置封装描述文件,输出为部署安装包并上处置所述软件在线管理;
所述软件在线管理用于接收、保存和分类所述入库工具上传的部署安装包,形成软件主题包;还用于向所述本地软件库管理发送用户所选应用或应用依赖的后台服务;还用于查询用户所选应用依赖的后台服务和所述后台服务所以来的服务,并发送至所述服务部署引擎;
所述应用门户用于作为业务用户实用软件的入口,并将应用分类展示供业务用户选择下载;
所述本地软件库管理用于接收所述软件在线管理发送的用户所选应用或应用依赖的后台服务,还用于向所述在线代理提供所述用户所选应用或应用依赖的后台服务;
所述部署依赖关系分析用于解析用户所选择应用所依赖的后台服务或后台服务所依赖的服务;
所述服务部署引擎用于根据所述本地软件库管理接收的用户所选应用或应用依赖的后台服务设置部署策略、生成部署方案,解析后生成部署指令发送至所述可靠指令分发;
所述可靠指令分发用于向所述在线代理发出部署用户所选应用和应用所依赖的后台服务;
所述在线代理用于接收所述部署指令,并作出向所述服务部署引擎做出反馈,在部署服务正常的情况下安装用户所选应用和应用所依赖的后台服务。
具体地说,本发明所述部署系统的所述入库工具用于将运行在不同基础运行环境、不同操作系统、不同商用自主环境下的各类前端应用和后台服务按照统一的封装标准进行打包,并配置封装描述文件,用以说明业务描述、组成描述、部署依赖关系描述、应用分类标签等,最终输出为可执行统一安装部署的部署安装包上传到所述软件在线管理;
所述软件在线管理用于保存、分类管理部署安装包。所有封装的部署安装包在经过封装完整性校验、部署描述正确性校验、编目与归类、人工审核过程后最终形成主题包入库,例如:按照业务角色来分,有财务主题包、行政主题包、人事主题包等,每个所述主题包内包括若干个角色需要用到的应用。所述软件在线管理支持可适应复杂部署场景,支持分级部署、定期备份、离散存储、多版本管理、入库审查、编目设置、分类标签设置,并对外提供条件查询功能;
所述应用门户是业务用户使用软件的入口,其将用户使用的应用按此前划分的主题(本实施例中是以业务角色进行分类)进行分类展示,用户可浏览下载主题包中的某一个应用或选择多个应用批量下载;
所述本地软件库管理为所述在线代理部署应用提供安装包。
所述部署依赖关系分析为所述本地软件库管理、所述在线代理和所述服务部署引擎提供查询依赖关系服务。其根据打包封装时的部署依赖描述信息,解析该应用与后台服务的调用依赖、应用在运行时对其他服务的依赖关系以及服务自身部署时的服务依赖关系。完整的依赖关系是一个扩散的树状结构。
所述服务部署引擎是设置部署策略、生成部署方案的地方。所述服务部署引擎收到所述在线代理发出的部署请求后,首先,从所述部署依赖关系分析查询这些服务自身部署依赖的服务有哪些,然后通过监控系统查询这些服务的部署状态,结合获取的服务部署依赖关系,综合分析得出本次应部署哪些服务,在此基础上形成部署方案,解析后生成面向各类部署节点的部署指令。
所述可靠指令分发为所述服务部署引擎和所述在线代理提供消息收发信道,其提供同步、异步两种消息收发机制,以及发送失败后的重发机制,确保消息收发的高可靠性;
所述在线代理是具体负责部署安装工作的,能够运行在不同的基础运行平台、运行在不同的硬件环境、运行在不同的操作系统。所述在线代理从所述本地软件库中下载所有服务并部署后将结果反馈给所述服务部署引擎。所述服务部署引擎综合验证是否所有需要的服务都部署完毕,如果部署完毕,则通知所述在线代理。所述在线代理收到全部服务部署完毕的通知后,向服务运行监控询问部署的服务是否正常运行。如果正常,所述在线代理开始安装应用,并将安装结果告知软件用户。
如图3所示,本实施例中,所述在线代理包括两个在线代理,一个部署在客户机,一个部署在服务器,部署在服务器的需要从本地软件库下载安装实体,使用传统部署方式部署环境;部署在客户机的使用拉取模式部署,因此不需要和本地软件库管理连线。
一种如所述的部署系统的方法,包括以下几个步骤:
软件研发阶段:
开发人员将通过测试验证的应用或后台服务通过所述入库工具封装打包后形成部署安装包,提交至所述软件在线管理;
所述软件在线管理审核提交的部署安装包,并将符合规则的安装包分类形成若干个软件主题包;
所述应用门户将用户使用的应用按不同主题进行分类展示;
触发部署阶段:
用户浏览并选择需要部署的应用;
所述软件在线管理将用户所选应用主动推送给所述本地软件库;
部署方案生成阶段:
所述本地软件库管理通过所述部署依赖关系分析查询得到用户所选应用与后台服务的完整调用关系;
所述本地软件库管理从所述软件在线管理获得缺失的服务;
所述软件在线管理通知所述在线代理下载用户所选应用;
所述本地软件库管理通过所述服务部署引擎获得应用运行依赖的后台服务的部署状态;
所述本地软件库管理请求所述服务部署引擎部署未部署的后台服务;
所述服务部署引擎通过所述部署依赖关系分析从所述软件在线管理获得这些未部署的后台服务自身所依赖的服务;
所述服务部署引擎结合所述后台服务及其依赖的服务关系,形成部署方案;
所述可靠指令分发服务将部署指令集分发给所述在线代理;
部署阶段:
所述在线代理部署后台服务及后台服务所依赖的服务;
在后台服务运行正常的前提下,所述在线代理部署用户所选应用;
所述在线代理通知用户所选应用部署完成。
在步骤O中,还包括确认后台服务是否正常的步骤过程。本发明所述系统还包括有一个服务运行监控,所述服务运行监控用于确认后台服务是否正常运行;
所述服务部署引擎在部署用户所选应用前,要首先考虑后台服务是否部署,只有后台服务完成部署且正常运行,才会通知部署用户所选应用。
在步骤A中,所述入库工具将运行在不同基础运行环境、不同操作系统、不同商用自主环境下的各类系统,包括Web应用/RPC、gRPC、Webservice、Restful类型服务/Java应用/C应用/C++应用/火狐浏览器插件/达梦、金仓国产数据库数据文件/容器镜像/虚拟机镜像,按照统一的封装标准进行封装打包;所述入库工具封装打包时前端应用和后台服务独立封装,并配置封装描述文件,所述部署依赖关系分析的依据是所述入库工具制作安装包时写入的使用契约,所述描述文件包括业务描述、组成描述、部署依赖关系描述、应用分类标签,并最终输出为统一的安装包。
所述在线软件管理支持软件跨域管理安装,在总部、区域(云端)对应用进行集中管理,从而减少网络压力通过统一的入口进行分类管理,方便后续统一部署管理。
所述应用门户将所述在线软件管理的应用开放给所有用户浏览。用户可根据自身业务需求,选择下载、使用后评价并推荐,从而与软件开发人员形成互动,利于形成良好的软件生态。
在步骤B中,所述符合规则是指组成结构和文件列表。
在步骤E中,所述本地软件库管理仅接受本地缺失的应用。所述本地软件库管理将用户所选应用和应用所依赖的服务进行缓存。
在步骤F中,所述部署依赖关系分析是指根据步骤A中的封装描述文件中的部署依赖关系描述,解析该应用与后台服务的调用依赖、应用在运行时对其他服务的依赖关系。所述部署依赖关系分析确保在部署安装过程中各应用或服务的本地依赖、网络访问依赖关系的正确建立。
在步骤L中,所述部署引擎,结合步骤J所述的部署请求,和步骤K所述未部署的后台服务自身依赖的服务,综合分析得出本次应部署哪些服务,在此基础上形成所述部署方案。
在步骤M中,所述可靠指令分发包括同步、异步消息收发机制,还包括发送失败后的重发机制。提升后台服务部署过程的稳定性和可靠性。
在步骤M中,所述在线代理从开发语言上可划分为C++或Java版本,从技术体制上可划分为自主环境适配或商用环境适配版本,在部署时能兼容自主或商用环境、虚拟机或容器多类基础运行平台、商用或国产操作系统;
所述在线代理的不同的基础运行平台包括物理机、商用云平台、商用容器云、自主云平台、自主容器云;不同的硬件环境包括自主飞腾系列、自主龙芯系列、自主申威系列、商用X86系列;不同的操作系统包括Windows系列、Linux系列、国产银河麒麟、国产中标麒麟。
(1)组成结构
本专利的系统组成结构如图1所示,具体包括入库工具、软件在线管理、应用门户、本地软件库管理、部署依赖关系分析、服务部署引擎、可靠指令分发和在线代理八部分组成。
(2)实现流程
本专利的实现流程如图3所示。整个系统部署安装过程如下:
a)在软件研制阶段,通过测试验证的应用或服务通过所述入库工具按统一标准封装打包后形成部署安装包,提交至所述软件在线管理;所述软件在线管理审核提交的部署安装包,并将符合规则的安装包分类形成若干个软件主题包;应用门户将应用按不同主题进行分类展示。
b)在触发部署阶段,用户在应用门户浏览,并根据自身业务需求,选择一个应用单独下载,也可选择多个应用批量下载。
c)部署方案生成阶段,所述软件在线管理通过获取用户下载应用接口将用户所选应用主动推送给所述本地软件库管理。所述本地软件库管理接收到所述软件在线管理服务主动推送的用户所选应用后,首先搜索本地软件库中是否已经存在该应用。如果存在,则拒绝接收;如果不存在,则接收该应用。然后,通过部署依赖关系分析服务查询用户所选应用运行时需依赖的后台服务,所述部署依赖关系分析根据应用打包封装时的部署依赖描述信息,解析该应用与后台服务的调用依赖,以及后台服务在运行时对其他服务的依赖关系。在得到完整的服务调用依赖关系后,所述本地软件库管理在本地查找这些依赖的服务是否都在本地,如果有缺失的服务,则通过应用接口从所述软件在线管理中获取这些不在本地库但有依赖关系的后台服务。同时,所述软件在线代理通过用户下载应用消息订阅接口通知所述在线代理服务用户下载应用。所述在线代理服务向所述部署依赖关系分析服务询问用户所选应用运行需要直接依赖调用哪些后台服务,所述部署依赖关系分析返回完整的服务调用依赖关系给所述在线代理。所述在线代理向所述服务部署引擎询问用户所选应用运行直接依赖调用的后台服务是否已经全部部署,服务部署引擎返回结果。如果有未部署的服务,所述在线代理请求所述服务部署引擎部署未部署的服务。所述服务部署引擎收到部署请求后,首先,从所述部署依赖关系分析查询这些服务自身部署依赖的服务有哪些,从所述监控系统查询这些服务是否已经部署。结合获取的服务部署依赖关系,综合分析得出本次应部署哪些服务,在此基础上形成部署方案,解析后生成面向各类部署节点的部署指令。由于服务可能部署在多台机器上,因此服务部署引擎需要将部署指令集通过所述可靠指令分发分发给多个所述在线代理。
d)部署阶段,所述在线代理从本地下载所有后台服务并部署后将结果反馈给所述服务部署引擎。所述服务部署引擎综合验证是否所有需要的服务都部署完毕,如果部署完毕,则通知所述在线代理。所述在线代理收到全部服务部署完毕的通知后,向所述服务运行监控询问部署的服务是否正常运行。如果正常,所述在线代理开始安装用户所选应用(部署客户端),并将安装结果告知用户。
在本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (10)

1.以需求为导向的复杂系统“拉取”模式部署系统及其方法,其特征在于,包括入库工具、软件在线管理、应用门户、本地软件库管理、部署依赖关系分析、服务部署引擎、可靠指令分发和在线代理;
所述入库工具用于将业务系统进行打包,并配置封装描述文件,输出为部署安装包并上处置所述软件在线管理;
所述软件在线管理用于接收、保存和分类所述入库工具上传的部署安装包,形成软件主题包;还用于向所述本地软件库管理发送用户所选应用或应用依赖的后台服务;还用于查询用户所选应用依赖的后台服务和所述后台服务所以来的服务,并发送至所述服务部署引擎;
所述应用门户用于作为业务用户实用软件的入口,并将应用分类展示供业务用户选择下载;
所述本地软件库管理用于接收所述软件在线管理发送的用户所选应用或应用依赖的后台服务,还用于向所述在线代理提供所述用户所选应用或应用依赖的后台服务;
所述部署依赖关系分析用于解析用户所选择应用所依赖的后台服务或后台服务所依赖的服务;
所述服务部署引擎用于根据所述本地软件库管理接收的用户所选应用或应用依赖的后台服务设置部署策略、生成部署方案,解析后生成部署指令发送至所述可靠指令分发;
所述可靠指令分发用于向所述在线代理发出部署用户所选应用和应用所依赖的后台服务;
所述在线代理用于接收所述部署指令,并作出向所述服务部署引擎做出反馈,在部署服务正常的情况下安装用户所选应用和应用所依赖的后台服务。
2.一种如权利要求1所述的部署系统的方法,其特征在于,包括以下几个步骤:
软件研发阶段:
A.开发人员将通过测试验证的应用或后台服务通过所述入库工具封装打包后形成部署安装包,提交至所述软件在线管理;
B.所述软件在线管理审核提交的部署安装包,并将符合规则的安装包分类形成若干个软件主题包;
C.所述应用门户将用户使用的应用按不同主题进行分类展示;
触发部署阶段:
D.用户浏览并选择需要部署的应用;
E.所述软件在线管理将用户所选应用主动推送给所述本地软件库;
部署方案生成阶段:
F.所述本地软件库管理通过所述部署依赖关系分析查询得到用户所选应用与后台服务的完整调用关系;
G.所述本地软件库管理从所述软件在线管理获得缺失的服务;
H.所述软件在线管理通知所述在线代理下载用户所选应用;
I.所述本地软件库管理通过所述服务部署引擎获得应用运行依赖的后台服务的部署状态;
J.所述本地软件库管理请求所述服务部署引擎部署未部署的后台服务;
K.所述服务部署引擎通过所述部署依赖关系分析从所述软件在线管理获得这些未部署的后台服务自身所依赖的服务;
L.所述服务部署引擎结合所述后台服务及其依赖的服务关系,形成部署方案;
M.所述可靠指令分发服务将部署指令集分发给所述在线代理;
部署阶段:
N.所述在线代理部署后台服务及后台服务所依赖的服务;
O.在后台服务运行正常的前提下,所述在线代理部署用户所选应用;
P.所述在线代理通知用户所选应用部署完成。
3.根据权利要求2中所述的部署系统的方法,其特征在于,在步骤O中,还包括确认后台服务是否正常的步骤过程。
4.根据权利要求2中所述的部署系统的方法,其特征在于,在步骤A中,所述入库工具将运行在不同基础运行环境、不同操作系统、不同商用自主环境下的各类系统,包括Web应用/RPC、gRPC、Webservice、Restful类型服务/Java应用/C应用/C++应用/火狐浏览器插件/达梦、金仓国产数据库数据文件/容器镜像/虚拟机镜像,按照统一的封装标准进行封装打包;所述入库工具封装打包时前端应用和后台服务独立封装,并配置封装描述文件,所述描述文件包括业务描述、组成描述、部署依赖关系描述、应用分类标签。
5.根据权利要求2中所述的部署系统的方法,其特征在于,在步骤B中,所述符合规则是指组成结构和文件列表。
6.根据权利要求2中所述的部署系统的方法,其特征在于,在步骤E中,所述本地软件库管理仅接受本地缺失的应用。
7.根据权利要求2中所述的部署系统的方法,其特征在于,在步骤F中,所述部署依赖关系分析是指根据步骤A中的封装描述文件中的部署依赖关系描述,解析该应用与后台服务的调用依赖、应用在运行时对其他服务的依赖关系。
8.根据权利要求2中所述的部署系统的方法,其特征在于,在步骤L中,所述部署引擎,结合步骤J所述的部署请求,和步骤K所述未部署的后台服务自身依赖的服务,综合分析得出本次应部署哪些服务,在此基础上形成所述部署方案。
9.根据权利要求2中所述的部署系统的方法,其特征在于,在步骤M中,所述可靠指令分发包括同步、异步消息收发机制,还包括发送失败后的重发机制。
10.根据权利要求2中所述的部署系统的方法,其特征在于,在步骤M中,所述在线代理的不同的基础运行平台包括物理机、商用云平台、商用容器云、自主云平台、自主容器云;不同的硬件环境包括自主飞腾系列、自主龙芯系列、自主申威系列、商用X86系列;不同的操作系统包括Windows系列、Linux系列、国产银河麒麟、国产中标麒麟。
CN201911246257.4A 2019-12-08 2019-12-08 以需求为导向的复杂系统“拉取”模式部署系统及其方法 Active CN111026413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911246257.4A CN111026413B (zh) 2019-12-08 2019-12-08 以需求为导向的复杂系统“拉取”模式部署系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911246257.4A CN111026413B (zh) 2019-12-08 2019-12-08 以需求为导向的复杂系统“拉取”模式部署系统及其方法

Publications (2)

Publication Number Publication Date
CN111026413A CN111026413A (zh) 2020-04-17
CN111026413B true CN111026413B (zh) 2023-01-31

Family

ID=70207547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911246257.4A Active CN111026413B (zh) 2019-12-08 2019-12-08 以需求为导向的复杂系统“拉取”模式部署系统及其方法

Country Status (1)

Country Link
CN (1) CN111026413B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897539B (zh) * 2020-07-20 2024-03-29 国云科技股份有限公司 一种根据服务角色的进行应用部署的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN109814878A (zh) * 2018-12-20 2019-05-28 中国电子科技集团公司第十五研究所 跨平台跨商用自主环境复杂巨型信息系统混合部署系统
CN109871213A (zh) * 2018-12-25 2019-06-11 武汉烽火信息集成技术有限公司 基于国产平台的OpenStack容器化系统及方法

Also Published As

Publication number Publication date
CN111026413A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN111866191B (zh) 消息事件的分发方法、分发平台、系统及服务器
CN108829409B (zh) 一种分布式系统快速部署方法及系统
CN102782650B (zh) 用于管理分布式环境中系统管理代理的配置的方法与系统
CN102413022B (zh) 一种应用调试方法和系统
US8880678B1 (en) System and method for managing and monitoring a web application using multiple cloud providers
CN111897541B (zh) 一种云环境下自动化部署资源的软件交互平台及方法
US7188163B2 (en) Dynamic reconfiguration of applications on a server
US8645837B2 (en) Graphical user interface for managing services in a distributed computing system
CN104021078B (zh) 软件监控装置及方法
CN110752947A (zh) 一种k8s集群部署方法及装置,一种部署平台
CN110196731A (zh) 一种运维系统、方法及存储介质
CN112394947B (zh) 一种基于微服务架构的信息系统
CN111597014B (zh) 免二次镜像的容器化JavaEE应用服务器的发布方法
CN111064626B (zh) 配置更新方法、装置、服务器及可读存储介质
US20100235493A1 (en) Extendable distributed network management system and method
CN115941739A (zh) 一种物联网设备的巡检系统及巡检方法
CN111026413B (zh) 以需求为导向的复杂系统“拉取”模式部署系统及其方法
CN114020572A (zh) 分布式告警方法及装置
CN202077062U (zh) 一种应用服务平台系统
WO2002039257A2 (en) Automated provisioning framework for internet site servers
CN109167826B (zh) Web应用的上架方法、装置及系统
CN112667205A (zh) 停电编排微服务的开发方法、装置和计算机设备
CN118093704B (zh) 一种数据传输服务的轻量化部署实现方法及装置
US11860752B2 (en) Agentless system and method for discovering and inspecting applications and services in compute environments
CN114363143B (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