CN116880897B - 面向航天测运控信息系统的集装箱式软件包管理方法 - Google Patents
面向航天测运控信息系统的集装箱式软件包管理方法 Download PDFInfo
- Publication number
- CN116880897B CN116880897B CN202311144063.XA CN202311144063A CN116880897B CN 116880897 B CN116880897 B CN 116880897B CN 202311144063 A CN202311144063 A CN 202311144063A CN 116880897 B CN116880897 B CN 116880897B
- Authority
- CN
- China
- Prior art keywords
- management
- software package
- container type
- type software
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 99
- 238000012360 testing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 54
- 230000006978 adaptation Effects 0.000 claims abstract description 23
- 238000012795 verification Methods 0.000 claims abstract description 21
- 238000012423 maintenance Methods 0.000 claims abstract description 15
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000007689 inspection Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000010606 normalization Methods 0.000 claims 2
- 238000005259 measurement Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 14
- 238000011161 development Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供面向航天测运控信息系统的集装箱式软件包管理方法,属于航天测运控信息系统技术领域,方法包括:S1、准备集装箱式软件包并完成适配过程;S2、将集装箱式软件包上传至航天测运控信息系统的管控平台中;S3、管控平台对上传的集装箱式软件包进行统一管理和控制,依据集装箱式软件包中的核心动作,下发任务指令至驱动引擎;S4、驱动引擎接收任务指令,调取管控平台中的集装箱式软件包,校验合格后,执行任务指令,完成集装箱式软件包中对应的核心动作;本发明针对航天测运控信息系统中各类软件特点,通过集装箱式理念管控,具有管理统一、稳定、可靠的优点,在信息技术的帮助下解决了各类软件的管控运维难题。
Description
技术领域
本发明属于航天测运控信息系统技术领域,应用于系统中各类软件的管理过程中,具体为面向航天测运控信息系统的集装箱式软件包管理方法。
背景技术
传统的航天测运控信息系统,整体规模较小;系统中硬件部分通常由一台或多台服务器组成,软件部分则采用客户端、服务端架构设计;对于软件在系统中的安装、部署和更新等,多采用人工手动的方式实现。
近年来,随着航天技术及业务能力的飞速发展,航天测运控信息系统的整体规模有了显著增长。为了满足系统的业务需求和业务能力,现有技术在系统的硬件部分上采用了基于云计算的硬件平台或大规模的服务器集群,在软件部分上采用了微服务框架或大型分布式架构的体系,具有数量众多的管理软件、中间软件和各类异构业务软件等。
然而,正因为软件的数量和种类有了极大提升,目前的航天测运控信息系统已显露出对软件管理工作的能力缺陷;由于各软件的信息不同,没有统一的方式方法和自动化智能化的手段加持,软件管理工作很大程度上仍由传统的人工手动方式实现;这导致系统中各类软件的部署、运行、管理、升级维护过程繁琐复杂,耗时耗力,给整体系统的可靠运行带来了极大的挑战,使系统难以面临日益增长的航天业务需求。
因此,如何设计能针对多类软件的统一管控方法,提升航天测运控信息系统的软件运维管控能力,保障系统核心业务功能的可靠运行并达到发展需求,便成为了本领域技术人员进行研究的核心要点。
发明内容
本发明的目的是为了解决航天测运控信息系统中各类软件在部署、运行、管理和升级等方面的困境,以使系统适应日益增长的航天业务需求;本发明针对航天测运控信息系统中软件管理平台及各类软件的特点,通过集装箱式的管理理念,对软件包进行管理,具有管理过程统一、稳定、可靠的优点,能在智能化、信息化技术的帮助下着重解决各类软件的管控运维难题。
本发明采用了以下技术方案来实现目的:
一种面向航天测运控信息系统的集装箱式软件包管理方法,所述方法包括如下步骤:
S1、准备集装箱式软件包,完成集装箱式软件包的适配过程;
S2、将适配完成后的集装箱式软件包上传至航天测运控信息系统的管控平台中;
S3、管控平台对上传的集装箱式软件包进行统一管理和控制,依据集装箱式软件包中的核心动作,下发任务指令至驱动引擎;
S4、驱动引擎接收任务指令,调取管控平台中的集装箱式软件包,校验合格后,执行任务指令,完成集装箱式软件包中对应的核心动作。
航天测运控信息系统中的各类软件包括系统软件、中间软件和业务软件,系统软件实现了对系统的运维管控,中间软件实现了对业务软件的支撑,业务软件实现了系统的具体业务功能。由于系统中的各类软件在部署、运行、维护上存在较大差异,因此,在本发明中通过集装箱式软件包对各类软件进行统一封装,供管控平台集中管理。
进一步的,步骤S1中,集装箱式软件包的准备及适配过程为:提取航天测运控信息系统中各类软件的原始信息,整合原始信息后,以统一封装形式进行打包,形成集装箱式软件包;集装箱式软件包由内核适配包和平台驱动包组成。
具体的,各类软件的原始信息包括管控特征、运维特征、运行环境和运行模式;运行环境用于描述软件在不同内核、不同操作系统中的适应性,由软件本体信息和依赖库组成;运行模式用于描述软件的核心动作,核心动作包括启动、停止、部署、卸载和状态监测。
进一步的,步骤S2中,集装箱式软件包的上传过程具体为:用户通过管控平台的镜像管理界面,选择需上传的集装箱式软件包,执行上传操作;在上传前,依据管控平台的命名规范,为集装箱式软件包命名;上传过程中,管控平台对集装箱式软件包进行规范性检查,将满足规范要求的集装箱式软件包,按照软件类型、操作系统及内核、软件名、版本号的格式,存储至管控平台中服务器的镜像仓库。
进一步的,步骤S3中,管控平台对集装箱式软件包的管控过程具体为:依据用户对软件的功能需求和镜像仓库中的集装箱式软件包,管控平台创建任务配置清单,任务配置清单包括镜像名称、镜像版本、运行端口、待动作硬件主机、自定义配置和核心动作类别;随后,依据任务配置清单的内容,管控平台实时创建任务指令,将任务指令与任务配置清单绑定后,再将任务指令下发至驱动引擎,并等待驱动引擎上报动作执行结果。
进一步的,步骤S4中,驱动引擎完成集装箱式软件包中核心动作的过程具体为:驱动引擎接收任务指令后,读取与任务指令绑定的任务配置清单,依据任务配置清单的内容,从镜像仓库中调取对应镜像名称、对应镜像版本的集装箱式软件包;接着,驱动引擎进行校验及前置条件检查操作,校验任务配置清单的合法性、集装箱式软件包的完整性、集装箱式软件包与待动作硬件主机操作系统及内核的适配性;对于校验后不满足前置条件检查的任务指令,驱动引擎将校验结果上报至管控平台;对于校验后满足前置条件检查的任务指令,驱动引擎依据任务配置清单中不同的核心动作类别,采用不同的驱动模式完成对应的核心动作。
综上所述,由于采用了本技术方案,本发明的有益效果如下:
本发明通过统一有效的集装箱式管理方法,将航天测运控信息系统中,诸如管理软件、中间软件和异构业务软件等各类软件进行了统一管控,使得软件的运维过程不再采用传统的人工手动方式,因此极大的提升了系统对各类软件的运维管控能力,也就增强了系统的业务效率。
通过本发明方法,针对各类软件在部署、运行、管理和升级等方面的困境进行解决,保障了航天测运控信息系统的核心业务功能始终得到可靠运行,满足了系统的内在要求,适应了不断发展的航天业务。
附图说明
图1为本发明方法的整体执行过程的流程示意图;
图2为本发明中集装箱式软件包的组成及适配关系示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以按各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
一种面向航天测运控信息系统的集装箱式软件包管理方法,该方法的流程示意可参看图1,以下为主要步骤:
S1、准备集装箱式软件包,完成集装箱式软件包的适配过程;
S2、将适配完成后的集装箱式软件包上传至航天测运控信息系统的管控平台中;
S3、管控平台对上传的集装箱式软件包进行统一管理和控制,依据集装箱式软件包中的核心动作,下发任务指令至驱动引擎;
S4、驱动引擎接收任务指令,调取管控平台中的集装箱式软件包,校验合格后,执行任务指令,完成集装箱式软件包中对应的核心动作。
本实施例将对该方法中各步骤的具体细节做详细说明。
在航天测运控信息系统中,主要包括三类软件,分别为:系统软件、中间软件和业务软件;系统软件实现了对系统的运维管控,中间软件实现了对业务软件的支撑,业务软件实现了系统的具体业务功能。由于系统中的各类软件在部署、运行、维护上存在较大差异,因此,在本实施例中通过集装箱式软件包对各类软件进行统一封装,供管控平台集中管理。
步骤S1中,集装箱式软件包的准备与适配过程,是指将某个软件转换为集装箱式软件包的过程;其主要解决两个问题,第一个问题是适配问题,集装箱式软件包需要支持在不同的硬件平台、不同的操作系统上部署运行;第二个问题是管控问题,集装箱式软件包需要能够被航天测运控信息系统的管控平台统一管理,从而便于部署运维。
因此,本实施例中,首先提取航天测运控信息系统中各类软件的原始信息,整合原始信息后,以统一封装形式进行打包,形成集装箱式软件包。各类软件的原始信息包括管控特征、运维特征、运行环境和运行模式;运行环境用于描述软件在不同内核、不同操作系统中的适应性,由软件本体信息和依赖库组成;运行模式用于描述软件的核心动作,核心动作包括启动、停止、部署、卸载和状态监测。
集装箱式软件包的具体组成及适配关系,可参看图2的示意;作为一种最优的设置方式,集装箱式软件包由内核适配包和平台驱动包组成;内核适配包由适配硬件内核平台的原生软件包与对应的依赖包组成,原生软件包和依赖包的类型均包括RPM包、DEB包和源码形式;平台驱动包由任务执行脚本和标准接口脚本组成,通过任务执行脚本解析管控平台下发的任务指令,通过标准接口脚本完成对应软件的核心动作。
集装箱式软件包的准备与适配完成后,就可以进行上传过程;在步骤S2中,用户通过管控平台的镜像管理界面,选择需上传的集装箱式软件包,执行上传操作;在上传前,依据管控平台的命名规范,为集装箱式软件包命名;上传过程中,管控平台对集装箱式软件包进行规范性检查,将满足规范要求的集装箱式软件包,按照软件类型、操作系统及内核、软件名、版本号的格式,存储至管控平台中服务器的镜像仓库。
作为优选方式,当需要对镜像仓库中的集装箱式软件包进行操作时,用户通过管控平台的镜像管理界面,查看并选择对应的集装箱式软件包,执行编辑、更新或删除操作;管控平台对各类操作进行规范性检查,满足规范要求后执行相关操作;在统一的集装箱式软件包理念下,用户对于系统中所需软件的运维和升级过程,能通过管控平台清晰明了的查阅和编辑,而且能避开各硬件体系结构的复杂管理过程,使得软件管控效率提升。
可见,本实施例中航天测运控信息系统的管控平台,作为软件管理中心,除具有服务器级的镜像仓库外,还具有相应的镜像管理界面,负责为用户实时展示各类软件的信息状态,支持用户对各类软件进行远程操作,保障了系统核心业务功能的可靠效率。
以下内容具体介绍本实施例中管控平台对集装箱式软件包的具体管理和控制过程,即步骤S3;管控平台总体的管理架构为任务管理体系,通过任务的方式实现部署、卸载、启动和停止集装箱式软件包的过程,并支持实时监测集装箱式软件包的运行状态,最终满足各类软件的管控需求。
步骤S3中,依据用户对软件的功能需求和镜像仓库中的集装箱式软件包,管控平台创建任务配置清单,任务配置清单包括镜像名称、镜像版本、运行端口、待动作硬件主机、自定义配置和核心动作类别;随后,依据任务配置清单的内容,管控平台实时创建任务指令,将任务指令与任务配置清单绑定后,再将任务指令下发至驱动引擎,并等待驱动引擎上报动作执行结果。
下表1给出了任务配置清单的主要字段及定义样例,可作为最优的清单内容模板进行设置,实际的任务配置清单中内容字段及定义可按需调整。
表1 任务配置清单的主要字段及定义示例表
紧接着,步骤S4中,驱动引擎接收任务指令后,读取与任务指令绑定的任务配置清单,依据任务配置清单的内容,从镜像仓库中调取对应镜像名称、对应镜像版本的集装箱式软件包;接着,驱动引擎进行校验及前置条件检查操作,校验任务配置清单的合法性、集装箱式软件包的完整性、集装箱式软件包与待动作硬件主机操作系统及内核的适配性;对于校验后不满足前置条件检查的任务指令,驱动引擎将校验结果上报至管控平台,管控平台在收到校验不通过的结果后,会调整配置内容,创建一份新的任务配置清单,形成新的任务指令后再次下发,直至驱动引擎的校验通过。
对于校验后满足前置条件检查的任务指令,驱动引擎依据任务配置清单中不同的核心动作类别,采用不同的驱动模式完成对应的核心动作;对于启动和停止操作,驱动引擎采用同步调度模式,结果返回后同步上报至管控平台;对于部署和卸载操作,驱动引擎采用异步调度模式,结果返回后异步上报至管控平台;对于状态监测操作,驱动引擎通过定时方式,以特定的时间间隔,访问并监测对应软件的运行状态,并在每次访问监测后将当次结果上报至管控平台。
本实施例中,驱动引擎会依据核心动作类别,调用具体的驱动,完成对集装箱式软件包的操作;也就是说,在下发任务指令后,驱动引擎负责执行,而具体的驱动负责完成对应动作;本实施例采用的驱动类型包括Java和脚本两种,驱动引擎将依据驱动类型,调用不同的驱动接口完成对应操作,操作结果上报至管控平台。
综上,本实施例的方法着重解决了航天测运控信息系统中运行的各类软件的管控运维问题,有效提升了航天测运控信息系统的可靠性和稳定性。
实施例2
在实施例1的基础上,本实施例给出方法实现过程中的关键程序代码,以更好的说明本发明方法的运用情况,并提供方法实现的理论编程思路。
本实施例中,被管控的软件对象为MySQL软件,需适配的硬件主机操作系统为麒麟V10,芯片为ARM芯片;各个过程的具体实现如下:
一、集装箱式软件包的打包。
依据本发明的方法原理,打包过程主要为系统适配和驱动开发两个部分;系统适配工作主要是:将软件本体信息和依赖库在指定的硬件主机平台及操作系统上适配,实现对MySQL软件的正常操作;驱动开发工作主要是:实现管控平台用于下发过程的任务接口和集装箱式软件包的标准操作接口。
本实施例中,采用基于Shell脚本的实现模式,对应于集装箱式软件包中描述软件的核心动作,具体的实现逻辑中关键程序代码作如下展示:
(1)部署方法如下:
function install() {
judgeMem 1024000
checkDepend
getShellOptions $PARAMS
getConfig "install"
downloadPkg "mysql"
createInstallDir
checkProcess
checkPort
cleanMysql
setLinux
addUser
installMysql
setCurrShellConfig "${INSTALL_HOME}/${SH_HOME}"}
(2)启动方法如下:
function start() {
if serviceIsAlive; then
logInfo "${serviceName}已经启动!"
return
fi
if echo $(SysV) | grep kylinv4&>/dev/null; then
service mysqld start&>/dev/null&
else
su - mysql -c "service mysqld start"&>/dev/null&
fi
if [[ ${INSTALL_TYPE} = "cluster" ]]; then
systemctl start keepalived.service&>/dev/null&
logInfo " keepalived服务启动完成!"
fi
local step=5
local res=1
local bool=1
for ((i = 0; i<40; i = (i + step))); do
serviceIsAlive
res=$?
if [ ${res} = 1 ]; then
logInfo "mysql服务启动中..."
elif [ ${res} = 2 ]; then
logInfo "msyql服务启动中..."
else
logInfo "msyql服务已正常启动!"
bool=0
print
return
fi
sleep $step
done
if [ ${bool} -eq 1 ]; then
local pid=""
pid=$(ps -el | grep "\bmysqld\b" | grep -v grep | awk '{print $4}')
[[ ${pid} != "" ]]&&kill -9 "${pid}"
logError "$(oneMarkReplace "$EXAMPLE_START_FAILED" "${serviceName}")"
fi }
(3)停止方法如下:
function stop() {
serviceIsAlive
if [ $? -eq 1 ]; then
logInfo "${serviceName}已经停止!"
return
fi
if [[ ${INSTALL_TYPE} = "cluster" ]]; then
systemctl stop keepalived.service&>/dev/null&
logInfo " keepalived服务停止完成!"
fi
if echo $(SysV) | grep kylinv4&>/dev/null;then
service mysqld stop&>/dev/null&
else
su - mysql -c "service mysqld stop"&>/dev/null&
fi
local step=5
for ((i = 0; i<40; i = (i + step))); do
serviceIsAlive
if [ $? = 1 ]; then
logInfo "mysql服务已停止!"
return
else
logInfo "msyql服务停止中..."
fi
sleep $step
done
local mysqldSafePid=$(ps -el | grep "\bmysqld_safe\b" | awk '{print $
4}')
local mysqldPid=$(ps -el | grep "\bmysqld\b" | awk '{print $4}')
[[ $mysqldSafePid != "" ]]&&kill -9 $mysqldSafePid
[[ $mysqldPid != "" ]]&&kill -9 $mysqldPid
logInfo "mysql服务已停止!" }
(4)卸载方法如下:
function uninstall() {
stop
sed -i '/###MYSQL_PATH_ENV_S/,/###MYSQL_PATH_ENV_E/d' /etc/profile
sed -i '/###MYSQL_CONFIG_S###/,/###MYSQL_CONFIG_E###/d' /etc/
sysctl.conf /etc/security/limits.conf /etc/pam.d/login /etc/profile
# shellcheck disable=SC1091
source /etc/profile
sysctl -p>/dev/null 2>&1
if id mysql&>/dev/null; then
userdel mysql
if [ -e /home/mysql ]; then rm -rf /home/mysql; fi
fi
if [ -e "/opt/${serviceName}" ]; then
rm -rf "/opt/${serviceName}/"
if [ -e "/opt/${serviceName}" ]; then rm -rf "/opt/${serviceName}";
fi
fi
if [[ ${INSTALL_TYPE} = "cluster" ]]; then
rm -rf /etc/keepalived
rm -rf /etc/sysconfig/keepalived
rm -rf /lib/systemd/system/keepalived.service
systemctl daemon-reload
fi
if [ -e /opt/${serviceName} ]; then rm -rf /opt/${serviceName}; fi
rm -rf /etc/init.d/mysqld
rm -rf /etc/my.cnf
if [[ -L /tmp/mysql.sock ]]; then
rm -rf /tmp/mysql.sock
fi
if [[ ${DATA_DIR} != "" ]]&&[ -e ${DATA_DIR} ]; then
rm -rf ${DATA_DIR}/*
rm -rf ${DATA_DIR}
fi
rm -rf "${taskBaseDir}"/"${serviceName}"*
if [ -e ${PACKAGE_FULL_WAY}/mysql ]; then rm -rf ${PACKAGE_FULL_WAY}/
mysql; fi
logInfo "MySQL卸载完成!" }
(5)状态监测方法如下:
function checkStatus() { serviceIsAlive }
function serviceIsAlive() {
setLocalIp
getShellOptions $PARAMS
getConfig ""
if [[ ${serviceName} = "" ]]; then
logError "$SHELL_PARAMS_NOT_NULL"
fi
INSTALL_HOME=/opt/${serviceName}
cd "${INSTALL_HOME}" || logError "$(oneMarkReplace "$DIR_NOT_EXIST" "
${INSTALL_HOME}")"
local pid=""
pid=$(ps -el | grep "\bmysqld\b" | grep -v grep | awk '{print $4}')
if [ -z "${pid}" ]; then
return 1
else
local mysqldPort=""
mysqldPort=$(netstat -tlnp | grep "\b${pid}\b" | wc -l)
if [[ "${mysqldPort}" != "" ]]; then
return 0
else
return 2
fi
fi }
以上关键程序代码即为集装箱式软件包在准备和适配的打包过程中,软件核心动作的程序实现展示,可参考实施。
经过上述封装打包后,MySQL软件的集装箱式软件包的目录结构如下:
# 最终压缩的集装箱式软件包
-- mysql_8.0.24_kylinv10_arm.tgz
## 原来的软件
----primary
------ mysql-8.0.24-linux-arm64.tar.gz
## 依赖库
----lib
------ keepalived-2.2.0-bin.tar.gz
------ libaio-0.3.111-5.ky10.aarch64.rpm
## 驱动
----driver
------ task.sh
------ execute.sh
打包过程就此完成。
二、集装箱式软件包的上传。
集装箱式软件包打包完成后,用户在管控平台的镜像管理界面,点击上传按钮,进行上传操作;可选择软件类型,从而上传对应的集装箱式软件包。
三、管控平台操作集装箱式软件包
本实施例以核心动作中的部署为例,用户输入虚拟机、操作系统、版本等软件配置信息,下达对集装箱式软件包的部署操作。管控平台接收用户输入后,可先在自身数据库中创建一份任务表,如下表2所示。
表2 部署操作任务表
管控平台在任务表的设定时间执行此项任务,将表中信息组装为任务配置清单,创建任务指令后下发至驱动引擎。
四、驱动引擎解析校验并执行。
驱动引擎接收管控平台下发的任务指令,解析任务配置清单后,进行校验及执行过程。本实施例中对于MySQL软件部署动作的任务配置清单如下:
{ "pkg_name": "mysql_8.0.24_kylinv10_arm.tgz",
"pkg_url": "http://192.168.196.151:9206/file/download?id=2c36c3b9891
04ac3a8ade5f743b71207",
"port": "3306",
"platform_vm_type": "kylinv10_arm",
"root_password": "123456",
"serve_type": 1,
"agentDbVo": {
"action": 1,
"instanceNickName": "mysql单机",
"model": 0,
"runStat": 1,
"serviceId": "304e3a39d3ca4d3bb35594729b3024e9",
"serviceName": "MySQLStandalone_global",
"shName": "mysqlctl.sh",
"taskId": MySQLStandalone_global_magic_1655897280564_magic_1"
},
"vm_info": "192.168.196.126_magic_root_magic_Huawei01",
"data_dir": "",
"install_type": "standalone" }
任务配置清单解析及校验完成后,驱动引擎采用异步调度模式,创建异步任务,执行部署操作,完成MySQL软件在航天测运控信息系统中的部署。
Claims (5)
1.一种面向航天测运控信息系统的集装箱式软件包管理方法,其特征在于,所述方法包括如下步骤:
S1、准备集装箱式软件包,完成集装箱式软件包的适配过程;
S2、将适配完成后的集装箱式软件包上传至航天测运控信息系统的管控平台中;
S3、管控平台对上传的集装箱式软件包进行统一管理和控制,依据集装箱式软件包中的核心动作,下发任务指令至驱动引擎;
S4、驱动引擎接收任务指令,调取管控平台中的集装箱式软件包,校验合格后,执行任务指令,完成集装箱式软件包中对应的核心动作;
步骤S1中,集装箱式软件包的准备及适配过程为:提取航天测运控信息系统中各类软件的原始信息,整合原始信息后,以统一封装形式进行打包,形成集装箱式软件包;集装箱式软件包由内核适配包和平台驱动包组成;
内核适配包由适配硬件内核平台的原生软件包与对应的依赖包组成,原生软件包和依赖包的类型均包括RPM包、DEB包和源码形式;平台驱动包由任务执行脚本和标准接口脚本组成,通过任务执行脚本解析管控平台下发的任务指令,通过标准接口脚本完成对应软件的核心动作;
步骤S2中,集装箱式软件包的上传过程具体为:用户通过管控平台的镜像管理界面,选择需上传的集装箱式软件包,执行上传操作;在上传前,依据管控平台的命名规范,为集装箱式软件包命名;上传过程中,管控平台对集装箱式软件包进行规范性检查,将满足规范要求的集装箱式软件包,按照软件类型、操作系统及内核、软件名、版本号的格式,存储至管控平台中服务器的镜像仓库;
步骤S3中,管控平台对集装箱式软件包的管控过程具体为:依据用户对软件的功能需求和镜像仓库中的集装箱式软件包,管控平台创建任务配置清单,任务配置清单包括镜像名称、镜像版本、运行端口、待动作硬件主机、自定义配置和核心动作类别;随后,依据任务配置清单的内容,管控平台实时创建任务指令,将任务指令与任务配置清单绑定后,再将任务指令下发至驱动引擎,并等待驱动引擎上报动作执行结果;
步骤S4中,驱动引擎完成集装箱式软件包中核心动作的过程具体为:驱动引擎接收任务指令后,读取与任务指令绑定的任务配置清单,依据任务配置清单的内容,从镜像仓库中调取对应镜像名称、对应镜像版本的集装箱式软件包;接着,驱动引擎进行校验及前置条件检查操作,校验任务配置清单的合法性、集装箱式软件包的完整性、集装箱式软件包与待动作硬件主机操作系统及内核的适配性;对于校验后不满足前置条件检查的任务指令,驱动引擎将校验结果上报至管控平台。
2.根据权利要求1所述的面向航天测运控信息系统的集装箱式软件包管理方法,其特征在于:航天测运控信息系统中的各类软件包括系统软件、中间软件和业务软件,各类软件的原始信息包括管控特征、运维特征、运行环境和运行模式;运行环境用于描述软件在不同内核、不同操作系统中的适应性,由软件本体信息和依赖库组成;运行模式用于描述软件的核心动作,核心动作包括启动、停止、部署、卸载和状态监测。
3.根据权利要求1所述的面向航天测运控信息系统的集装箱式软件包管理方法,其特征在于:当需要对镜像仓库中的集装箱式软件包进行操作时,用户通过管控平台的镜像管理界面,查看并选择对应的集装箱式软件包,执行编辑、更新或删除操作;管控平台对各类操作进行规范性检查,满足规范要求后执行相关操作。
4.根据权利要求1所述的面向航天测运控信息系统的集装箱式软件包管理方法,其特征在于:对于校验后满足前置条件检查的任务指令,驱动引擎依据任务配置清单中不同的核心动作类别,采用不同的驱动模式完成对应的核心动作;对于启动和停止操作,驱动引擎采用同步调度模式,结果返回后同步上报至管控平台;对于部署和卸载操作,驱动引擎采用异步调度模式,结果返回后异步上报至管控平台;对于状态监测操作,驱动引擎通过定时方式,以预设的时间间隔,访问并监测对应软件的运行状态,并在每次访问监测后将当次结果上报至管控平台。
5.根据权利要求4所述的面向航天测运控信息系统的集装箱式软件包管理方法,其特征在于:驱动引擎完成对应核心动作的过程中,依据核心动作类别,调用具体的驱动,驱动完成具体的动作后,实现对集装箱式软件包的具体操作;驱动类型包括Java和脚本,驱动引擎依据驱动类型,调用不同的驱动接口完成对应操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311144063.XA CN116880897B (zh) | 2023-09-06 | 2023-09-06 | 面向航天测运控信息系统的集装箱式软件包管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311144063.XA CN116880897B (zh) | 2023-09-06 | 2023-09-06 | 面向航天测运控信息系统的集装箱式软件包管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116880897A CN116880897A (zh) | 2023-10-13 |
CN116880897B true CN116880897B (zh) | 2023-12-08 |
Family
ID=88262488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311144063.XA Active CN116880897B (zh) | 2023-09-06 | 2023-09-06 | 面向航天测运控信息系统的集装箱式软件包管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116880897B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499027A (zh) * | 2009-03-06 | 2009-08-05 | 赵晓宇 | 一种基于独立内核和分布式构架的智能存储系统 |
CN105955737A (zh) * | 2016-04-29 | 2016-09-21 | 株洲和丰动力电器有限公司 | 基于flash图形界面的虚拟仪表 |
CN109033816A (zh) * | 2018-06-15 | 2018-12-18 | 中国人民解放军国防科技大学 | 麒麟操作系统平台上的国产办公外设驱动管理方法及系统 |
CN110825392A (zh) * | 2019-10-31 | 2020-02-21 | 北京深之度科技有限公司 | 操作系统的定制方法、批量部署方法以及批量部署系统 |
CN113204410A (zh) * | 2021-05-31 | 2021-08-03 | 平安科技(深圳)有限公司 | 集装箱式本地化部署方法、系统、设备及存储介质 |
CN114064190A (zh) * | 2020-07-30 | 2022-02-18 | 华为技术有限公司 | 一种容器启动方法及装置 |
CN114253562A (zh) * | 2021-12-06 | 2022-03-29 | 广东佳米科技有限公司 | 一种服务器软件包的管理及部署方法及其系统 |
CN115437644A (zh) * | 2021-05-17 | 2022-12-06 | 京东数字科技控股股份有限公司 | 多运行环境下的应用程序管理方法、设备、介质及产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220359057A1 (en) * | 2021-05-06 | 2022-11-10 | Noah Myers | Vitamin and Supplement System |
-
2023
- 2023-09-06 CN CN202311144063.XA patent/CN116880897B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499027A (zh) * | 2009-03-06 | 2009-08-05 | 赵晓宇 | 一种基于独立内核和分布式构架的智能存储系统 |
CN105955737A (zh) * | 2016-04-29 | 2016-09-21 | 株洲和丰动力电器有限公司 | 基于flash图形界面的虚拟仪表 |
CN109033816A (zh) * | 2018-06-15 | 2018-12-18 | 中国人民解放军国防科技大学 | 麒麟操作系统平台上的国产办公外设驱动管理方法及系统 |
CN110825392A (zh) * | 2019-10-31 | 2020-02-21 | 北京深之度科技有限公司 | 操作系统的定制方法、批量部署方法以及批量部署系统 |
CN114064190A (zh) * | 2020-07-30 | 2022-02-18 | 华为技术有限公司 | 一种容器启动方法及装置 |
CN115437644A (zh) * | 2021-05-17 | 2022-12-06 | 京东数字科技控股股份有限公司 | 多运行环境下的应用程序管理方法、设备、介质及产品 |
CN113204410A (zh) * | 2021-05-31 | 2021-08-03 | 平安科技(深圳)有限公司 | 集装箱式本地化部署方法、系统、设备及存储介质 |
CN114253562A (zh) * | 2021-12-06 | 2022-03-29 | 广东佳米科技有限公司 | 一种服务器软件包的管理及部署方法及其系统 |
Non-Patent Citations (2)
Title |
---|
An agile accelerated aging, characterization and scenario simulation system for gate controlled power transistors;G. Sonnenfeld 等;《2008 IEEE AUTOTESTCON》;208-215 * |
面向航天领域的模型驱动软件设计开发方法;张涛 等;《航天控制》;第35卷(第05期);4-79, 97 * |
Also Published As
Publication number | Publication date |
---|---|
CN116880897A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017092672A1 (zh) | 一种Docker容器运行方法和装置 | |
US8151277B2 (en) | Method and system for dynamic remote injection of in-process agents into virtual machine based applications | |
Jayasinghe et al. | Expertus: A generator approach to automate performance testing in iaas clouds | |
CN111399865A (zh) | 一种基于容器技术自动构建目标文件的方法 | |
CN108616384B (zh) | 一种集中式的服务管理部署工具及方法 | |
CN109983411B (zh) | 程序模块的流程控制 | |
CN111752581B (zh) | 一种分布式系统的升级方法、装置和计算机系统 | |
CN113986395B (zh) | 一种linux系统下应用依赖自包含技术的打包方法 | |
CN111324599B (zh) | 一种区块链实验系统及管理方法 | |
US8875156B2 (en) | Remote object data property replication method and system | |
CN110795108A (zh) | 一种基于Ansible编排部署Weblogic应用的方法 | |
CN113779477A (zh) | 一种基于PaaS云平台的流水线发布方法及系统 | |
CN116880897B (zh) | 面向航天测运控信息系统的集装箱式软件包管理方法 | |
CN112558930B (zh) | 一种面向容器服务的软件生成系统及方法 | |
Talwar et al. | Comparison of approaches to service deployment | |
CN112565416B (zh) | 基于云原生的大规模边缘安卓设备纳管系统及其纳管方法 | |
Schwab et al. | Web based methodology for engineering and maintenance of distributed control systems: the TORERO approach | |
CN115712793A (zh) | 全景前端文档站点生成方法及系统 | |
CN115454572A (zh) | 基于Docker工具构建虚拟机磁盘镜像的方法及系统 | |
CN115421847A (zh) | 支持多引擎的研发运维平台和cicd流水线的管理方法及设备 | |
CN114443287A (zh) | 一种图像分析方法、装置、设备及存储介质 | |
CN111190693B (zh) | 一种基于鲲鹏平台搭建云平台的方法及装置 | |
Zhang et al. | A Scheme and Implementation of Automatic Deployment of Multilingual Industrial Mechanism Model Based on OpenStack | |
CN114443069B (zh) | 一种动态扩展的集群构建操作系统镜像的方法、系统 | |
CN117170738B (zh) | Python与Fortran互调用的方法、系统、设备及存储介质 |
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 |