CN109857514B - Cross-platform, cross-commercial autonomous environment, complex and giant information system hybrid deployment system - Google Patents
Cross-platform, cross-commercial autonomous environment, complex and giant information system hybrid deployment system Download PDFInfo
- Publication number
- CN109857514B CN109857514B CN201811564353.9A CN201811564353A CN109857514B CN 109857514 B CN109857514 B CN 109857514B CN 201811564353 A CN201811564353 A CN 201811564353A CN 109857514 B CN109857514 B CN 109857514B
- Authority
- CN
- China
- Prior art keywords
- deployment
- installation
- agent
- commercial
- package
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及计算机软件领域,针对由众多功能/服务/子系统构成、且相互存在复杂安装和运行期调用依赖关系的复杂巨系统,提出一种部署系统,能够在跨物理服务器/虚拟机/容器等不同基础运行平台、跨基于X86指令集的商用硬件环境/基于ARM指令集的飞腾自主硬件环境/基于RISC指令集的龙芯自主硬件环境/基于自主指令集的申威自主硬件环境、跨windows/Linux/银河麒麟、中标麒麟国产操作系统的部署环境中,对包含有Web应用/RPC、gRPC、Webservice、Restful类型服务/Java应用/C应用/C++应用/火狐浏览器插件/达梦、金仓国产数据库数据文件/容器镜像/虚拟机镜像软件形态的复杂巨型信息系统的部署过程进行统一管理。
The invention relates to the field of computer software, and aims at a complex giant system composed of numerous functions/services/subsystems with complex installation and runtime invocation dependencies, and proposes a deployment system, which can be deployed across physical servers/virtual machines/containers and other different basic operating platforms, across commercial hardware environment based on X86 instruction set / Feiteng independent hardware environment based on ARM instruction set / Loongson independent hardware environment based on RISC instruction set / Shenwei independent hardware environment based on independent instruction set, cross windows/ In the deployment environment of Linux/Galaxy Kylin and the domestic operating system that won the bid for Kylin, there are web applications/RPC, gRPC, Webservice, Restful type services/Java applications/C applications/C++ applications/Firefox browser plug-ins/Dameng, Jincang Unified management of the deployment process of complex giant information systems in the form of domestic database data files/container images/virtual machine image software.
Description
技术领域technical field
本发明属于计算机软件领域,具体涉及一种跨平台跨商用自主环境复杂巨型信息系统混合部署系统。The invention belongs to the field of computer software, and in particular relates to a hybrid deployment system of a complex giant information system that is cross-platform and cross-commercial autonomous environment.
背景技术Background technique
复杂巨型信息系统,特指构成复杂(一般包括数百个子系统/服务/功能域)、部署关联复杂(各子系统子系统/服务/功能域间在部署时存在一对多、多对多、强先后次序的本地安装依赖关系,以及运行期多级调用链关系)、体积巨大(系统所有内合计超过10G以上)、部署环境复杂(跨物理服务器/虚拟机/容器等不同基础运行平台、跨基于X86指令集的商用硬件环境/基于ARM指令集的飞腾自主硬件环境/基于RISC指令集的龙芯自主硬件环境/基于自主指令集的申威自主硬件环境、跨windows/Linux/银河麒麟、中标麒麟国产操作系统)、组成形态复杂(各子系统/服务的软件形态覆盖Web应用、RPC/Grpc/Webservice/Restful类型服务、Java应用、C应用、C++应用、火狐浏览器插件、达梦/金仓国产数据库数据文件、容器镜像、虚拟机镜像)。随着我国核心技术自主可控战略的稳步推进,目前复杂巨型信息系统在军事、科研等领域处理复杂业务(例如指挥控制)有着广泛的应用。Complex giant information system, especially refers to complex composition (generally including hundreds of subsystems/services/functional domains) and complex deployment associations (there are one-to-many, many-to-many, one-to-many, many-to-many, and Strongly ordered local installation dependencies, and multi-level call chain relationships during runtime), huge size (over 10G in total in the system), complex deployment environment (cross physical servers/virtual machines/containers and other basic operating platforms, cross Commercial hardware environment based on X86 instruction set/Feiteng independent hardware environment based on ARM instruction set/Godson independent hardware environment based on RISC instruction set/Shenwei independent hardware environment based on independent instruction set, cross windows/Linux/Galaxy Kirin, won the bid for Kirin Domestic operating system), complex composition (the software form of each subsystem/service covers Web application, RPC/Grpc/Webservice/Restful type service, Java application, C application, C++ application, Firefox browser plug-in, Dameng/Jincang Domestic database data files, container images, virtual machine images). With the steady advancement of my country's core technology independent and controllable strategy, complex giant information systems are currently widely used in the military, scientific research and other fields to handle complex business (such as command and control).
但复杂巨型信息系统在部署安装时往往面临内部组成形态繁多难以统一部署、部署环境复杂难以规划调整、系统内部依赖关系繁冗难以编配方案、大规模并发部署过程难以高效调度、安装部署过程状态难以同步获取等问题。However, when a complex giant information system is deployed and installed, it often faces a variety of internal components, which are difficult to deploy uniformly, the deployment environment is complex and difficult to plan and adjust, the internal dependencies of the system are cumbersome and difficult to arrange solutions, the large-scale concurrent deployment process is difficult to schedule efficiently, and the status of the installation and deployment process is difficult. Synchronous acquisition and other issues.
从以往发表论文来看,有基于跨X86/SPARC多种服务器架构提出的部署方案(《自动化部署服务器系统》网络安全和信息化2018,(06),98-100),有基于特定领域复杂环境提出的部署方案(《商业银行多系统复杂环境版本发布自动化实践》中国金融电脑2018,(04),51-54)、《自动化批量部署管理的实践》(中国传媒科技2017,(10),119-121),有基于云平台环境的自动化部署方案(《云平台自动化部署设计与实现》电子设计工程2018,26(03),60-64+68),有基于Docker容器环境的自动化部署方案(《基于Docker的应用部署管理平台研究》电子设计工程2017,25(12),41-44-48),有面向虚拟化环境的自动部署方案(《虚拟化自动部署关键技术应用》实验技术与管理2016,33(08),126-128+136),这些针对复杂巨型信息系统的部署管理还有一定的差距,具备表现在:一是多数方案聚焦于某一特定问题域或某一特定系统,例如《自动化批量部署管理的实践》(中国传媒科技2017,(10),119-121)聚焦于新华社“媒体融合发展项目”、;二是对部署环境中的基础运行平台覆盖不完整,只能面向某一类或某几类基础运行平台,例如《基于Docker的应用部署管理平台研究》仅针对容器环境、《云平台自动化部署设计与实现》仅针对云平台虚拟机环境;三是对部署的软件形态覆盖不完整,无法针对不同形态的软件按照统一标准封装并执行安装部署过程;四是普遍缺乏对自主硬件环境的支持,无法在目前主流基于飞腾1500A的自主硬件平台上部署安装;五是无法在主流的Windows、Linux操作系统上统一同时管理安装部署过程,更不用说支持在银河麒麟等国产自主操作系统上的安装部署。From the perspective of previous published papers, there are deployment solutions based on multiple server architectures across X86/SPARC ("Automated Deployment Server System" Network Security and Informatization 2018, (06), 98-100), and some are based on complex environments in specific fields. The proposed deployment scheme ("Commercial Bank Multi-system Complex Environment Version Release Automation Practice" China Financial Computer 2018, (04), 51-54), "The Practice of Automated Batch Deployment Management" (China Media Technology 2017, (10), 119 -121), there is an automated deployment scheme based on the cloud platform environment ("Design and Implementation of Cloud Platform Automated Deployment" Electronic Design Engineering 2018, 26(03), 60-64+68), there is an automated deployment scheme based on the Docker container environment ( "Research on Application Deployment Management Platform Based on Docker" Electronic Design Engineering 2017, 25(12), 41-44-48), there is an automatic deployment scheme for virtualized environment ("Application of Virtualization Automatic Deployment Key Technology" Experimental Technology and Management 2016, 33(08), 126-128+136), there is still a certain gap in the deployment management of complex and huge information systems, which is manifested in: first, most solutions focus on a specific problem domain or a specific system, For example, "The Practice of Automated Batch Deployment Management" (China Media Technology 2017, (10), 119-121) focuses on Xinhua News Agency's "Media Convergence Development Project"; second, the coverage of the basic operating platform in the deployment environment is incomplete, only It can be oriented to one or several types of basic operating platforms. For example, "Docker-based Application Deployment Management Platform Research" is only for container environments, and "Cloud Platform Automated Deployment Design and Implementation" is only for cloud platform virtual machine environments; the third is the deployment of The coverage of software forms is incomplete, and it is impossible to package and implement the installation and deployment process for different forms of software according to unified standards; Fourth, there is a general lack of support for independent hardware environments, and it is impossible to deploy and install on the current mainstream independent hardware platforms based on Feiteng 1500A; It is impossible to manage the installation and deployment process in a unified and simultaneous manner on the mainstream Windows and Linux operating systems, let alone support the installation and deployment on domestic independent operating systems such as Galaxy Kirin.
发明内容SUMMARY OF THE INVENTION
针对现有技术的不足,本发明提供了一种跨平台跨商用自主环境复杂巨型信息系统混合部署系统,能够支持跨物理服务器/虚拟机/容器等不同基础运行平台、跨基于X86指令集的商用硬件环境/基于ARM指令集的飞腾自主硬件环境/基于RISC指令集的龙芯自主硬件环境/基于自主指令集的申威自主硬件环境、跨windows/Linux/银河麒麟、中标麒麟国产操作系统、包容Web应用、RPC/Grpc/Webservice/Restful类型服务、Java应用、C应用、C++应用、火狐浏览器插件、达梦/金仓国产数据库数据文件、容器镜像、虚拟机镜像软件形态,能够实现在基础运行平台、硬件环境、操作系统、软件形态四个维度的环境中部署复杂巨型信息系统的统一管理。Aiming at the deficiencies of the prior art, the present invention provides a hybrid deployment system of complex and giant information systems across platforms and commercial autonomous environments, which can support different basic operating platforms such as physical servers/virtual machines/containers, and commercial applications based on X86 instruction sets. Hardware environment / Feiteng independent hardware environment based on ARM instruction set / Loongson independent hardware environment based on RISC instruction set / Shenwei independent hardware environment based on independent instruction set, cross-windows/Linux/Galaxy Kirin, won the bid for Kirin domestic operating system, inclusive Web Application, RPC/Grpc/Webservice/Restful type service, Java application, C application, C++ application, Firefox browser plug-in, Dameng/Jincang domestic database data file, container image, virtual machine image software form, which can be run on the basis of Unified management of complex and giant information systems deployed in the four-dimensional environment of platform, hardware environment, operating system, and software form.
为了解决上述技术问题,本发明通过下述技术方案来实现:In order to solve the above-mentioned technical problems, the present invention realizes through the following technical solutions:
跨平台跨商用自主环境复杂巨型信息系统混合部署系统,其特征在于,包括软件封装验证工具、软件仓库、部署控制台、部署任务调度、部署接口、统一消息框架、部署代理、注册中心,所述软件封装验证工具将运行在不同基础运行环境、不同操作系统、不同商用自主环境下的Web应用、RPC/Grpc/Webservice/Restful类型服务、Java应用、C应用、C++应用、火狐浏览器插件、达梦/金仓国产数据库数据文件、容器镜像、虚拟机镜像,按照统一的封装标准进行打包,并配置封装描述文件用以说明部署环境基本要求、软件运行环境基本要求、部署时与其他应用或服务的依赖关系、运行期间与其他服务的调用关系,最终输出为可执行统一安装部署的部署封装包上传到所述软件仓库;所述软件仓库是放置部署封装包的地方,所有封装的部署封装包在经过封装完整性校验、部署描述正确性校验、编目与归类、人工审核过程后最终入库,所述软件仓库可适应复杂部署场景,支持分级部署、定期备份、离散存储、多版本管理、上传前审查、编目设置、标签设置,并对外提供条件查询功能;所述部署控制台是设置部署策略、生成部署方案的地方,所述部署控制台通过与部署节点感知交互,列出当前所有的部署节点及相关信息,用户可根据实际需求将所述软件仓库中的部署封装包与部署节点建立映射关系,在建设映射关系过程中会自动将依赖的应用或服务自动关联,在部署过程中,接收部署任务调度推送的部署状态反馈并统一展示;所述注册中心感知所有所述部署代理的活性状态,接收各版本所述部署代理的注册,形成部署节点列表,同时定期与所述部署代理进行心跳连接以进行活性检测,所述注册中心可知道当前每个所述部署代理的运行状态,一旦所述部署代理异常退出或其他原因损毁,所述注册中心就能立即感知到所述部署代理下线失去活性,并及时通知所述部署任务调度;所述部署任务调度是整个部署系统的控制中枢,负责解析用户在所述部署控制台中设置的部署封装包与部署节点的映射关系,并生成对应的部署安装指令集,在开始部署时负责通过统一消息框架向所有部署节点上的所述部署代理分发部署指令,确保在部署安装过程中各应用或服务的本地依赖、网络访问依赖关系的正确建立,此外还从所述注册中心获取当前所述部署代理活性状态,从所述部署代理获取当前部署过程状态,一旦发现某个所述部署代理下线将立即告警提示,并临时挂起部署安装过程,直至所述部署代理恢复活性状态后才会继续执行部署安装;所述部署接口在部署过程中为所述部署代理提供查询服务,提供从软件仓库中获取的部署封装包基本信息、本地安装、网络运行访问依赖关系信息,同时也接收部署过程相关信息,并将接受的信息传送至所述部署任务调度;所述统一消息框架为部署系统各组成部分提供了消息收发机制,为所述部署控制台、所述部署任务调度、所述部署接口、所述部署代理间提供消息收发信道,同时统一消息框架提供同步、异步两种消息收发机制,以及发送失败后的重发机制;所述部署代理是具体负责部署安装工作的,分为多个版本,能够运行在不同的基础运行平台、运行在不同的硬件环境、运行在不同的操作系统上,所述部署代理自动连接注册中心,接收所述注册中心发起的心跳检测并及时响应,通过所述统一消息框架接收所述部署任务调度发送的指令,对其进行解包并执行,在执行过程中调用所述部署接口获取封装包的基本信息、本地安装、网络运行访问依赖关系,同时在部署过程中将当前部署情况又通过所述统一消息框架回馈给所述部署任务调度。A hybrid deployment system for complex giant information systems across platforms and commercial autonomous environments is characterized in that it includes a software package verification tool, a software repository, a deployment console, a deployment task scheduling, a deployment interface, a unified message framework, a deployment agent, and a registration center. The software package verification tool will run in different basic operating environments, different operating systems, and different commercial autonomous environments. Dream/Jincang domestic database data files, container images, and virtual machine images are packaged in accordance with unified packaging standards, and a packaging description file is configured to describe the basic requirements of the deployment environment, the basic requirements of the software operating environment, and other applications or services during deployment. Dependency relationship, calling relationship with other services during operation, the final output is a deployment package that can perform unified installation and deployment and upload it to the software warehouse; the software warehouse is the place where the deployment package is placed, and all packaged deployment packages After going through the process of package integrity verification, deployment description correctness verification, cataloging and classification, and manual review, the software repository can be adapted to complex deployment scenarios and supports hierarchical deployment, regular backup, discrete storage, and multiple versions. Management, pre-upload review, cataloging settings, label settings, and externally provide conditional query functions; the deployment console is where deployment strategies are set and deployment plans are generated. For all deployment nodes and related information, the user can establish a mapping relationship between the deployment package in the software warehouse and the deployment node according to actual needs. During the process of building the mapping relationship, the dependent applications or services will be automatically associated. , receive the deployment status feedback pushed by the deployment task scheduling and display it uniformly; the registration center perceives the active status of all the deployment agents, receives the registrations of the deployment agents of each version, forms a deployment node list, and periodically communicates with the deployment agents. The agent performs heartbeat connection for liveness detection, and the registration center can know the current running status of each deployment agent. Once the deployment agent exits abnormally or is damaged for other reasons, the registration center can immediately perceive the deployment The agent goes offline and becomes inactive, and timely informs the deployment task scheduling; the deployment task scheduling is the control center of the entire deployment system, responsible for parsing the mapping relationship between the deployment package and the deployment node set by the user in the deployment console, and Generates the corresponding deployment and installation instruction set, and is responsible for distributing deployment instructions to the deployment agents on all deployment nodes through the unified messaging framework at the beginning of deployment, to ensure that the local dependencies and network access dependencies of each application or service during the deployment and installation process are not. Correctly established, in addition, the current deployment agent activity status is obtained from the registration center, and the current deployment process status is obtained from the deployment agent. Once a deployment agent is found to be offline, an alarm prompt will be issued immediately, and the deployment will be temporarily suspended The installation process will not occur until the deployment agent is brought back to an active state Continue to perform deployment and installation; the deployment interface provides query services for the deployment agent during the deployment process, provides basic information of the deployment package package, local installation, and network operation access dependency information obtained from the software warehouse, and also receives the deployment process. related information, and transmit the received information to the deployment task scheduler; the unified messaging framework provides a message sending and receiving mechanism for each component of the deployment system, and provides the deployment console, the deployment task scheduler, the deployment interface , The deployment agent provides a message sending and receiving channel, and the unified message framework provides two message sending and receiving mechanisms, synchronous and asynchronous, as well as a retransmission mechanism after sending failure; the deployment agent is specifically responsible for the deployment and installation work, which is divided into multiple version, which can run on different basic operating platforms, different hardware environments, and different operating systems. The deployment agent automatically connects to the registration center, receives the heartbeat detection initiated by the registration center, and responds in time. The unified messaging framework receives the instructions sent by the deployment task scheduling, unpacks and executes them, and calls the deployment interface during the execution process to obtain the basic information, local installation, and network operation access dependencies of the encapsulated package. During the process, the current deployment situation is fed back to the deployment task scheduling through the unified messaging framework.
上述技术方案中,优选的,所述软件封装验证工具能够将不同技术形态的应用或服务,按照统一的标准进行封装和描述。In the above technical solution, preferably, the software encapsulation verification tool can encapsulate and describe applications or services of different technical forms according to a unified standard.
上述技术方案中,优选的,所述软件仓库可分级在多个地点部署,保存在所述软件仓库中的各类数据都是离散存储。In the above technical solution, preferably, the software warehouse can be deployed at multiple locations in a hierarchical manner, and various types of data stored in the software warehouse are discretely stored.
上述技术方案中,优选的,所述任务调度能够确保在部署安装过程中各应用或服务的本地依赖、网络访问依赖关系的正确建立。In the above technical solution, preferably, the task scheduling can ensure the correct establishment of the local dependencies and network access dependencies of each application or service during the deployment and installation process.
上述技术方案中,优选的,所述任务调度在部署安装过程中一旦发现某个所述部署代理下线将立即告警提示,并临时挂起部署安装过程,直至所述部署代理恢复活性状态后才会继续执行部署安装。In the above technical solution, preferably, the task scheduler will give an alarm prompt once it finds that a certain deployment agent is offline during the deployment and installation process, and temporarily suspend the deployment and installation process until the deployment agent is restored to the active state. The deployment installation will continue.
上述技术方案中,优选的,所述部署代理从开发语言上可划分为C++或Java版本,从技术体制上可划分为自主环境适配或商用环境适配版本,在部署时能兼容自主或商用环境、虚拟机或容器多类基础运行平台、商用或国产操作系统。In the above technical solution, preferably, the deployment agent can be divided into C++ or Java version from the development language, and can be divided into independent environment adaptation or commercial environment adaptation version from the technical system, which can be compatible with independent or commercial environment during deployment. Environment, virtual machine or container and various basic operating platforms, commercial or domestic operating systems.
上述技术方案中,优选的,所述部署代理启动后自动向注册中心注册。In the above technical solution, preferably, the deployment agent is automatically registered with the registration center after being started.
上述技术方案中,优选的,所述部署接口接收部署过程的相关信息包括当前客户端应用或服务的安装进度、安装位置、是否安装完毕、安装过程是否错误的日志。In the above technical solution, preferably, the deployment interface receives the relevant information of the deployment process including a log of the current client application or service installation progress, installation location, whether the installation is completed, and whether the installation process is wrong.
上述技术方案中,优选的,所述部署代理中不同的基础运行平台包括物理机、商用云平台、商用容器云、自主云平台、自主容器云;不同的硬件环境包括自主飞腾系列、自主龙芯系列、自主申威系列、商用X86系列;不同的操作系统包括Windows系列、Linux系列、国产银河麒麟、国产中标麒麟。In the above technical solution, preferably, different basic operating platforms in the deployment agent include physical machines, commercial cloud platforms, commercial container clouds, autonomous cloud platforms, and autonomous container clouds; different hardware environments include autonomous Feiteng series, autonomous Loongson series , Independent Shenwei series, commercial X86 series; different operating systems include Windows series, Linux series, domestic Galaxy Kirin, domestic winning Kirin.
本发明针对由众多功能/服务/子系统构成、且相互存在复杂安装和运行期调用依赖关系的复杂巨系统,提出一种部署系统,能够支持跨物理服务器/虚拟机/容器等不同基础运行平台、跨基于X86指令集的商用硬件环境/基于ARM指令集的飞腾自主硬件环境/基于RISC指令集的龙芯自主硬件环境/基于自主指令集的申威自主硬件环境、跨windows/Linux/银河麒麟、中标麒麟国产操作系统、包容Web应用、RPC/Grpc/Webservice/Restful类型服务、Java应用、C应用、C++应用、火狐浏览器插件、达梦/金仓国产数据库数据文件、容器镜像、虚拟机镜像软件形态,能够实现在基础运行平台、硬件环境、操作系统、软件形态四个维度的环境中部署复杂巨型信息系统的统一管理。The present invention proposes a deployment system for a complex giant system composed of numerous functions/services/subsystems with complex installation and runtime calling dependencies, which can support different basic operating platforms such as physical servers/virtual machines/containers. , Cross-commercial hardware environment based on X86 instruction set / Feiteng independent hardware environment based on ARM instruction set / Loongson independent hardware environment based on RISC instruction set / Shenwei independent hardware environment based on independent instruction set, cross windows/Linux/Galaxy Kirin, Winning the bid for Kylin domestic operating system, inclusive web application, RPC/Grpc/Webservice/Restful type service, Java application, C application, C++ application, Firefox browser plug-in, Dameng/Jincang domestic database data file, container image, virtual machine image The software form can realize the unified management of the deployment of complex and huge information systems in the four-dimensional environment of the basic operating platform, hardware environment, operating system, and software form.
本发明面向巨型信息系统在复杂环境的部署过程,体现出的有益效果如下:The present invention is oriented to the deployment process of a giant information system in a complex environment, and the beneficial effects embodied are as follows:
a)支持跨商用和自主硬件平台的部署安装;a) Support deployment and installation across commercial and autonomous hardware platforms;
b)支持跨商用和自主操作系统的部署安装;b) support deployment and installation across commercial and autonomous operating systems;
c)支持多种技术形态应用软件的部署安装;c) Support the deployment and installation of application software in various technical forms;
d)支持跨物理服务器/云平台/容器多种运行支撑环境的部署安装;d) Support the deployment and installation of multiple operating support environments across physical servers/cloud platforms/containers;
e)支持本地安装依赖、运行期间调用依赖两种部署依赖关系的设置和验证;e) Support the setting and verification of the two deployment dependencies of local installation dependencies and runtime invocation dependencies;
f)支持根据部署节点和待部署应用的映射自动编配部署指令集;f) Supports automatic arrangement of deployment instruction sets according to the mapping of deployment nodes and applications to be deployed;
g)支持部署过程进度的统一展示和异常错误的报警提示;g) Support the unified display of the progress of the deployment process and the alarm prompt of abnormal errors;
h)支持部署方案的导出和导入,便于快速复制异地部署。h) Supports the export and import of deployment schemes, which facilitates rapid replication of off-site deployments.
附图说明Description of drawings
图1是本发明部署过程模型设计图。FIG. 1 is a design diagram of a deployment process model of the present invention.
图2是本发明部署系统功能组成结构图。FIG. 2 is a functional structure diagram of the deployment system of the present invention.
图3是本发明部署系统内部关系与调用逻辑图。FIG. 3 is a logical diagram of the internal relationship and invocation of the deployment system of the present invention.
图4是本发明部署系统实现流程图。FIG. 4 is a flow chart of the implementation of the deployment system of the present invention.
具体实施方式Detailed ways
下面对本发明的技术方案从模型设计、组成结构两个方面结合附图作进一步详细描述说明。The technical solution of the present invention will be described in further detail below from the two aspects of model design and composition structure with reference to the accompanying drawings.
本发明的模型设计如图1所示,包括软件应用封装模型、封装完整性验证、部署描述正确性验证、软件应用仓库模型、可执行部署序列、部署环境情况、待安装应用软件依赖约束、远程自动部署安装八部分内容。The model design of the present invention is shown in Figure 1, including software application packaging model, packaging integrity verification, deployment description correctness verification, software application warehouse model, executable deployment sequence, deployment environment conditions, application software dependency constraints to be installed, remote Automatic deployment and installation of eight parts.
软件应用封装模型用于描述软件部署环境基本要求(例如:运行于操作系统/版本、运行于X86/飞腾1500A架构硬件平台)、软件自身信息(例如:开发语言、版本、研制单位)、软件组成信息(例如:都有哪些程序文件、配置文件、目录)、软件运行环境基本要求(例如:是否需要java运行环境/版本、是否需要C++运行环境/版本)、客户端应用或服务部署安装时依赖的其他应用及服务信息(例如:标识、名称、版本、商用/自主)、服务运行期间需调用的其他服务信息(例如:标识、名称、版本、商用/自主)。The software application packaging model is used to describe the basic requirements of the software deployment environment (for example: running on the operating system/version, running on the X86/Feiteng 1500A architecture hardware platform), software itself information (for example: development language, version, research unit), software composition Information (for example: what program files, configuration files, directories are there), basic requirements of the software operating environment (for example: whether the Java operating environment/version is required, whether the C++ operating environment/version is required), the client application or service deployment and installation dependencies Other application and service information (for example: identification, name, version, commercial/autonomous), other service information to be called during service operation (for example: identification, name, version, commercial/autonomous).
封装完整性验证是依据软件封装模型,对封装好的客户端或服务进行验证,判断内容是否完整;部署描述正确性验证是依据封装模型,对封装好的客户端或服务所需的部署环境进行验证,确保内容填写完整且符合要求。Encapsulation integrity verification is to verify the encapsulated client or service based on the software encapsulation model to determine whether the content is complete; the deployment description correctness verification is based on the encapsulation model, to the deployment environment required by the encapsulated client or service. Verify that the content is complete and compliant.
软件应用仓库模型是对封装好的应用或服务存储结构的定义,定义了分布存储(以离散的形式存储文件)、分级存储(类似与总库和分库的概念,可以按封装文件的某些属性指定存储位置)、定时备份(仓库有主站点和备份站点的区分,定时定期进行同步备份)、分类规则(对于存储在仓库中的封装文件,可以通过标签、编目的方式进行归类和区分,便于赋予业务含义)。The software application warehouse model is the definition of the encapsulated application or service storage structure, which defines distributed storage (storage files in discrete form), hierarchical storage (similar to the concepts of general library and sub-library, which can be based on some of the encapsulated files. The attribute specifies the storage location), regular backup (the warehouse is divided into the main site and the backup site, and synchronous backup is performed regularly and regularly), classification rules (for the package files stored in the warehouse, they can be classified and distinguished by labels and catalogs. , easy to give business meaning).
部署环境情况描述了具体部署场景,例如:部署节点的数量、X86商用机数量、飞腾1500A自主机数量、龙芯3A自主机数量、申威自主机数量、各部署节点上都安装了什么操作系统、各部署节点的计算/存储/网络配置情况。The deployment environment describes the specific deployment scenarios, such as: the number of deployment nodes, the number of X86 commercial machines, the number of Feiteng 1500A self-hosts, the number of Loongson 3A self-hosts, the number of Shenwei self-hosts, what operating system is installed on each deployment node, The computing/storage/network configuration of each deployment node.
可执行部署序列是根据实际部署需求,结合当前部署环境中的点位生成的部署执行方案,指明了在哪些部署点位上安装哪些客户端应用或服务,安装顺序是什么、安装完成后需要执行什么初始化操作。The executable deployment sequence is a deployment execution plan generated based on actual deployment requirements and points in the current deployment environment, indicating which client applications or services are installed on which deployment points, what the installation sequence is, and what needs to be executed after the installation is complete. What initialization operation.
待安装应用软件依赖约束是在部署前对当前部署节点中待安装的客户端应用或服务的安装依赖关系的再次校验,确定本机待安装内容已全部准备就绪。The software dependency constraint of the application to be installed is to re-check the installation dependencies of the client application or service to be installed in the current deployment node before deployment, so as to determine that the content to be installed on the local machine is all ready.
远程自动部署安装是部署节点上的部署工具接收到可执行部署序列,解析指令并执行具体部署的过程,支持在跨物理服务器/虚拟机/容器等不同基础运行平台、跨基于X86指令集的商用硬件环境/基于ARM指令集的飞腾自主硬件环境/基于RISC指令集的龙芯自主硬件环境/基于自主指令集的申威自主硬件环境、跨windows/Linux/银河麒麟、中标麒麟国产操作系统进行部署。Remote automatic deployment and installation is a process in which the deployment tool on the deployment node receives the executable deployment sequence, parses the instructions, and executes the specific deployment process. Hardware environment / Feiteng independent hardware environment based on ARM instruction set / Loongson independent hardware environment based on RISC instruction set / Shenwei independent hardware environment based on independent instruction set, deploy across windows/Linux/Galaxy Kirin, and won the bid for Kirin's domestic operating system.
(2)组成结构(2) Composition structure
本专利的系统组成结构如图2所示,具体包括软件封装验证工具、软件仓库、部署控制台、部署任务调度、统一消息框架、注册中心、部署接口、部署代理八部分组成。The system structure of this patent is shown in Figure 2, which specifically includes eight parts: software packaging verification tool, software warehouse, deployment console, deployment task scheduling, unified message framework, registration center, deployment interface, and deployment agent.
软件封装验证工具将运行在不同基础运行环境、不同操作系统、不同商用自主环境下的Web应用、RPC/Grpc/Webservice/Restful类型服务、Java应用、C应用、C++应用、火狐浏览器插件、达梦/金仓国产数据库数据文件、容器镜像、虚拟机镜像,按照统一的封装标准进行打包,并配置封装描述文件用以说明部署环境基本要求、软件运行环境基本要求、部署时与其他应用或服务的依赖关系、运行期间与其他服务的调用关系等,最终输出为可执行统一安装部署的部署封装包。The software package verification tool will run in different basic operating environments, different operating systems, and different commercial autonomous environments. Dream/Jincang domestic database data files, container images, and virtual machine images are packaged in accordance with unified packaging standards, and a packaging description file is configured to describe the basic requirements of the deployment environment, the basic requirements of the software operating environment, and other applications or services during deployment. Dependencies, calling relationships with other services during runtime, etc., and the final output is a deployment package that can perform unified installation and deployment.
软件仓库是放置部署封装包的地方,所有封装的部署封装包在经过封装完整性校验、部署描述正确性校验、编目与归类、人工审核等过程后最终入库,软件仓库可适应复杂部署场景,支持分级部署、定期备份、离散存储、多版本管理,并对外提供条件查询功能。The software warehouse is the place where the deployment packages are placed. All packaged deployment packages are finally put into the warehouse after the process of package integrity check, deployment description correctness check, cataloging and classification, and manual review. The software warehouse can adapt to complex Deployment scenarios, support hierarchical deployment, regular backup, discrete storage, multi-version management, and provide external conditional query functions.
注册中心感知所有部署代理的活性状态,是通过在部署节点上预先放置的部署代理自动注册实现的,当部署代理启动后,会自动向注册中心进行注册,并定时进行心跳连接,这样注册中心就可知道当前每个部署节点的运行状态,一旦部署节点关闭或其他原因损毁,注册中心就能立即感知到下线状态,及时通知部署任务调度。The registration center perceives the active status of all deployment agents, which is achieved through the automatic registration of the deployment agents pre-placed on the deployment nodes. When the deployment agents are started, they will automatically register with the registration center and make regular heartbeat connections, so that the registration center can You can know the current running status of each deployment node. Once the deployment node is shut down or damaged for other reasons, the registry can immediately sense the offline status and notify the deployment task scheduling in time.
部署控制台是设置部署策略、生成部署方案的地方,控制台通过与部署节点感知交互,列出当前所有的部署节点及相关信息(ip、开放的端口等),用户可根据实际需求将软件仓库中的部署封装包与部署节点建立映射关系,在建设映射关系过程中会自动将依赖的应用或服务自动关联;在部署过程中,接收部署任务调度推送的部署状态反馈并展示。The deployment console is the place to set the deployment strategy and generate the deployment scheme. The console lists all the current deployment nodes and related information (ip, open ports, etc.) through perception and interaction with the deployment nodes. A mapping relationship is established between the deployment package and the deployment node, and the dependent applications or services are automatically associated during the process of building the mapping relationship; during the deployment process, the deployment status feedback pushed by the deployment task scheduling is received and displayed.
部署任务调度是整个部署系统的控制中枢,负责解析用户在部署控制台中设置的部署封装包与部署节点的映射关系,并生成对应的部署安装指令集,在开始部署时负责向所有部署节点上的部署代理分发部署指令,确保在部署安装过程中各应用或服务的本地依赖、网络访问依赖关系的正确建立,此外还从所述注册中心获取当前所述部署代理活性状态,从所述部署代理获取当前部署过程状态,一旦发现某个部署代理下线将立即告警提示,并临时挂起部署安装过程,直至部署代理恢复活性状态后才会继续执行部署安装。Deployment task scheduling is the control center of the entire deployment system. It is responsible for parsing the mapping relationship between the deployment package and deployment nodes set by the user in the deployment console, and generates the corresponding deployment and installation instruction set. The deployment agent distributes deployment instructions to ensure the correct establishment of local dependencies and network access dependencies of each application or service during the deployment and installation process, and also obtains the current deployment agent activity status from the registration center, and obtains from the deployment agent In the current state of the deployment process, once a deployment agent is found to be offline, an alarm prompt will be issued immediately, and the deployment and installation process will be temporarily suspended until the deployment agent is restored to the active state, and the deployment and installation will not continue.
统一消息框架为部署系统各组成部分提供了消息收发机制,为部署控制台、部署任务调度、部署接口、部署代理间提供消息收发信道,实现功能上的解耦,同时统一消息框架提供同步、异步两种消息收发机制,以及发送失败后的重发机制,确保消息收发的高可靠性。The unified messaging framework provides a message sending and receiving mechanism for each component of the deployment system, and provides a message sending and receiving channel for the deployment console, deployment task scheduling, deployment interface, and deployment agents to achieve functional decoupling. At the same time, the unified messaging framework provides synchronous and asynchronous. Two message sending and receiving mechanisms, as well as a retransmission mechanism after sending failure, ensure high reliability of message sending and receiving.
部署接口在部署过程中为部署代理提供查询服务,提供部署封装包基本信息、本地安装、网络运行访问依赖关系等信息;同时也接收部署过程相关信息,例如当前客户端应用或服务的安装进度、安装位置、是否安装完毕、安装过程是的错误日志等,并将接受的信息传送至部署任务调度。The deployment interface provides query services for the deployment agent during the deployment process, and provides basic information about the deployment package, local installation, and network operation access dependencies. It also receives information related to the deployment process, such as the current client application or service installation progress, The installation location, whether the installation is complete, the error log of the installation process, etc., and transmit the received information to the deployment task scheduler.
部署代理是具体负责部署安装工作的,分为多个版本,能够运行在在物理服务器/虚拟机/容器等不同基础运行平台、运行在X86指令集的商用硬件环境/基于ARM的飞腾自主硬件环境、运行在windows/Linux/国产操作系统等不同操作系统上,部署代理通过统一消息框架接收部署任务调度发送的指令,对其进行解包并执行,在执行过程中调用部署接口获取封装包的基本信息、本地安装、网络运行访问依赖关系,同时在部署过程中将当前部署情况又通过统一消息框架回馈给部署任务调度。The deployment agent is specifically responsible for the deployment and installation work. It is divided into multiple versions, which can run on different basic operating platforms such as physical servers/virtual machines/containers, and run on the commercial hardware environment of the X86 instruction set/the ARM-based Feiteng independent hardware environment. 、Running on different operating systems such as windows/Linux/domestic operating systems, the deployment agent receives the instructions sent by the deployment task scheduling through the unified messaging framework, unpacks and executes them, and calls the deployment interface during the execution process to obtain the basic information of the package. Information, local installation, and network operation access dependencies, and during the deployment process, the current deployment situation is fed back to the deployment task scheduling through the unified messaging framework.
(3)实现流程(3) Implementation process
本专利的实现流程如图4所示。整个系统部署安装过程如下:The realization flow of this patent is shown in Figure 4. The entire system deployment and installation process is as follows:
a)在软件研制阶段,开发人员将通过测试验证的客户端应用或服务按统一标准封装打包后形成部署封装包,经审核后提交软件仓库,在提交前可设置标签、编目、分类、所属专题等便于检索和查询;a) In the software development stage, developers will package and package the client applications or services that have passed the test and verification according to the unified standard to form a deployment package. After review, submit the software repository. Before submission, you can set labels, catalogs, classifications, and special topics. etc. to facilitate retrieval and query;
b)在部署准备阶段,保障人员首先通过部署控制台将部署代理统一推送到所有的部署节点上(环境包括物理服务器虚拟机/容器,商用/自主硬件环境、Windows/Linux/国产银河麒麟/国产中标麒麟),并执行自动安装脚本执行安装过程并启动;b) In the deployment preparation stage, security personnel first push the deployment agent to all deployment nodes through the deployment console (environments include physical server virtual machines/containers, commercial/independent hardware environments, Windows/Linux/domestic Galaxy Kylin/domestic Win the bid for Kylin), and execute the automatic installation script to execute the installation process and start;
c)部署代理启动后自动向注册中心注册,提供自身所在部署节点的ip地址、端口开放情况等;注册中心收到部署代理注册信息后,会定期进行心跳检测以判断部署代理的活性;c) After the deployment agent is started, it automatically registers with the registration center, and provides the IP address of its own deployment node, port opening, etc.; after the registration center receives the registration information of the deployment agent, it will periodically perform heartbeat detection to determine the activity of the deployment agent;
d)部署控制台通过部署任务调度获取当前所有部署代理活动状态,当映射部署安装包的部署节点的部署代理状态都为活动时,即认为当前部署环境完整的前提成立;通过调用软件仓库接口查看所有部署安装包以及其本地安装依赖、运行期访问依赖的部署安装包是否存在,如都存在即认为当前部署安装包完整的前提成立;如上述之一的前提条件不成立,则会报警提示;d) The deployment console obtains the active status of all current deployment agents through deployment task scheduling. When the deployment agent statuses of the deployment nodes that map the deployment installation package are all active, the premise that the current deployment environment is complete is considered to be established; by calling the software repository interface to view Whether all deployment installation packages and their local installation dependencies and runtime access dependencies exist, if they exist, the premise that the current deployment installation package is complete is considered to be true; if one of the above preconditions is not true, an alarm will be prompted;
e)如上述前提条件都成立,则在部署控制台列出当前所有的部署节点,以及封装的客户端应用及服务,用户可设置两者间的映射;e) If the above preconditions are all established, all current deployment nodes, as well as packaged client applications and services are listed in the deployment console, and the user can set the mapping between the two;
f)在进行部署工作时,由用户在部署控制端发起部署任务,此时部署任务调度再次对部署环境进行验证,当部署节点上的部署代理都保持活性状态、所有部署安装包及其本地依赖和运行期访问依赖都存在这两个条件都成立时,部署任务调度获得用户设置的映射关系,解析后形成多路可执行的部署安装指令集序列;f) During the deployment work, the user initiates the deployment task at the deployment control end. At this time, the deployment task scheduling verifies the deployment environment again. When the deployment agent on the deployment node remains active, all deployment installation packages and their local dependencies When both conditions are met, the deployment task scheduling obtains the mapping relationship set by the user, and after analysis, a multi-channel executable deployment and installation instruction set sequence is formed;
g)部署任务调度通过统一消息框架向部署节点分发生成的部署指令,部署代理接收指令后,首先连接到软件仓库下载部署封装包,并按照指令中设置的安装时序依次验证封装包的完整性、本地依赖是否以下载安装准备就绪,如条件都符合则开始部署安装,并在安装过程中将每一个应用的部署状态、错误信息等通过统一消息框架反馈给部署任务反馈;g) Deployment task scheduling distributes the generated deployment instructions to the deployment nodes through the unified messaging framework. After the deployment agent receives the instructions, it first connects to the software repository to download the deployment package, and verifies the integrity of the package in turn according to the installation sequence set in the instruction. , Whether the local dependencies are ready for download and installation, if all conditions are met, start the deployment and installation, and during the installation process, the deployment status and error information of each application are fed back to the deployment task feedback through the unified messaging framework;
h)部署任务反馈汇总各部署节点的部署状态后,再推送至部署控制端统一展示部署进度;同时如遇到本地安装失败、运气期调用依赖安装失败的情况,会及时告警提示保障人员,并临时挂起部署安装过程,直至部署代理恢复活性状态后才会继续执行部署安装。h) After the deployment task feedback summarizes the deployment status of each deployment node, it is pushed to the deployment control terminal to display the deployment progress uniformly; at the same time, if the local installation fails or the invocation of the dependent installation fails during the luck period, the security personnel will be alerted in time, and Temporarily suspends the deployment installation process until the deployment agent returns to an active state.
本发明的保护范围包括但不限于以上实施方式,任何对本技术做出的本领域的技术人员容易想到的替换、变形、改进均落入本发明的保护范围。The protection scope of the present invention includes, but is not limited to, the above embodiments, and any substitutions, deformations, and improvements made to the present technology that are easily conceived by those skilled in the art all fall into the protection scope of the present invention.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811564353.9A CN109857514B (en) | 2018-12-20 | 2018-12-20 | Cross-platform, cross-commercial autonomous environment, complex and giant information system hybrid deployment system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811564353.9A CN109857514B (en) | 2018-12-20 | 2018-12-20 | Cross-platform, cross-commercial autonomous environment, complex and giant information system hybrid deployment system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857514A CN109857514A (en) | 2019-06-07 |
CN109857514B true CN109857514B (en) | 2020-11-27 |
Family
ID=66891669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811564353.9A Active CN109857514B (en) | 2018-12-20 | 2018-12-20 | Cross-platform, cross-commercial autonomous environment, complex and giant information system hybrid deployment system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857514B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855739B (en) * | 2019-09-25 | 2022-11-08 | 烽火通信科技股份有限公司 | Container technology-based remote and heterogeneous resource unified management method and system |
CN111158859B (en) * | 2019-12-30 | 2023-09-26 | 中电工业互联网有限公司 | Application management system based on kylin operating system and implementation and use method thereof |
CN112015438B (en) * | 2020-07-29 | 2023-04-18 | 烽火通信科技股份有限公司 | Lightweight containerized distributed system based on infrastructure and deployment method |
CN115437644A (en) * | 2021-05-17 | 2022-12-06 | 京东数字科技控股股份有限公司 | Application program management method, device, medium and product under multi-operation environment |
CN114327748B (en) * | 2021-11-29 | 2022-10-18 | 北京志凌海纳科技有限公司 | Virtual machine interaction method and device, nonvolatile storage medium and processor |
CN115080601A (en) * | 2022-05-27 | 2022-09-20 | 浪潮软件集团有限公司 | Domestic CPU and OS based heterogeneous terminal unified platform management method and system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008027922A2 (en) * | 2006-08-29 | 2008-03-06 | Adobe Systems Incorporated | Software installation using template executables |
CN102609744A (en) * | 2012-02-14 | 2012-07-25 | 南京三宝科技股份有限公司 | UHF(ultra-high frequency) electronic label read/write device based on BLS architecture |
CN102841966A (en) * | 2012-08-28 | 2012-12-26 | 曾安里 | Vpp-STK satellite simulation development and operation platform system |
CN103109271A (en) * | 2012-08-30 | 2013-05-15 | 华为技术有限公司 | Inter-platform application migration realization method and system |
CN106656719A (en) * | 2016-09-26 | 2017-05-10 | 华为技术有限公司 | Inter-cloud communication method and related device, and inter-cloud communication configuration method and related device |
CN108563455A (en) * | 2018-04-13 | 2018-09-21 | 郑州云海信息技术有限公司 | Middleware portion arranging method, system and equipment in a kind of K-UX operating systems |
CN108829425A (en) * | 2018-07-26 | 2018-11-16 | 中国电子科技网络信息安全有限公司 | A kind of application software online upgrading management-control method in domestic operating system |
-
2018
- 2018-12-20 CN CN201811564353.9A patent/CN109857514B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008027922A2 (en) * | 2006-08-29 | 2008-03-06 | Adobe Systems Incorporated | Software installation using template executables |
CN102609744A (en) * | 2012-02-14 | 2012-07-25 | 南京三宝科技股份有限公司 | UHF(ultra-high frequency) electronic label read/write device based on BLS architecture |
CN102841966A (en) * | 2012-08-28 | 2012-12-26 | 曾安里 | Vpp-STK satellite simulation development and operation platform system |
CN103109271A (en) * | 2012-08-30 | 2013-05-15 | 华为技术有限公司 | Inter-platform application migration realization method and system |
CN106656719A (en) * | 2016-09-26 | 2017-05-10 | 华为技术有限公司 | Inter-cloud communication method and related device, and inter-cloud communication configuration method and related device |
CN108563455A (en) * | 2018-04-13 | 2018-09-21 | 郑州云海信息技术有限公司 | Middleware portion arranging method, system and equipment in a kind of K-UX operating systems |
CN108829425A (en) * | 2018-07-26 | 2018-11-16 | 中国电子科技网络信息安全有限公司 | A kind of application software online upgrading management-control method in domestic operating system |
Also Published As
Publication number | Publication date |
---|---|
CN109857514A (en) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857514B (en) | Cross-platform, cross-commercial autonomous environment, complex and giant information system hybrid deployment system | |
US11232015B2 (en) | Automated software verification service | |
CN109814878A (en) | Cross-platform, cross-commercial autonomous environment, complex and giant information system hybrid deployment system | |
US8166458B2 (en) | Method and system for automated distributed software testing | |
US7694181B2 (en) | Automated software testing framework | |
US9442813B2 (en) | Replaying jobs at a secondary location of a service | |
US8762929B2 (en) | System and method for exclusion of inconsistent objects from lifecycle management processes | |
US8095823B2 (en) | Server computer component | |
US20100162227A1 (en) | Automation of Mainframe Software Deployment | |
US20080288622A1 (en) | Managing Server Farms | |
US9983988B1 (en) | Resuming testing after a destructive event | |
CN110494849B (en) | System and method for determining success of cross-platform application migration | |
US20190340057A1 (en) | Methods and systems to compound alerts in a distributed computing system | |
WO2021022191A1 (en) | System and method for the remote execution of one or more arbitrarily defined workflows | |
US7945808B2 (en) | Fanout connectivity structure for use in facilitating processing within a parallel computing environment | |
CN119597840A (en) | Cross-database data real-time synchronization method based on CDC technology | |
US10592277B2 (en) | System and method for determining the success of a cross-platform application migration | |
Batista et al. | Managing asynchronous workloads in a multi‐tenant microservice enterprise environment | |
Chen et al. | MORE: A model-driven operation service for cloud-based IT systems | |
Tardieu et al. | Reliable actors with retry orchestration | |
Pratap Yadav et al. | A formal approach for Docker container deployment | |
US7243137B2 (en) | Remote system controller and data center and methods for implementing the same | |
US7853956B2 (en) | Message system and method | |
CN115373886A (en) | Service group container shutdown method, device, computer equipment and storage medium | |
Correia Jr et al. | Practical database replication |
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 |