CN108228192A - 一种面向服务的机载软件的动态管理的实现方法 - Google Patents
一种面向服务的机载软件的动态管理的实现方法 Download PDFInfo
- Publication number
- CN108228192A CN108228192A CN201611154107.7A CN201611154107A CN108228192A CN 108228192 A CN108228192 A CN 108228192A CN 201611154107 A CN201611154107 A CN 201611154107A CN 108228192 A CN108228192 A CN 108228192A
- Authority
- CN
- China
- Prior art keywords
- software
- software module
- service
- module
- management
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Abstract
本发明属于计算机系统软件专业技术领域,提供一种面向服务的机载软件的动态管理的实现方法。该方法基于模块化的思想,采用面向服务的软件管理框架,支持系统对软件模块的按需加、卸载,更好地解决了软件模块的动态使用、软件复用和软件服务依赖等多个问题。本发明具有模块化、服务化、可动态配置的特征。支持系统的动态部署:根据安装部署文件进行初始化安装,减少了系统部署时间,提高系统软件部署的灵活性;支持对软件模块的动态管理:系统可根据需要动态安装、卸载软件模块,提高了系统资源的利用率和系统的管理效率;支持软件模块的复用:软件模块的开发基于一定的标准和规范,它可以被快速复用和扩展。
Description
技术领域
本发明属于计算机系统软件专业技术领域,涉及一种面向服务的机载软件的动态管理的实现方法。
背景技术
随着航电系统综合化、模块化技术的飞速发展,机载计算机也从封闭的系统逐步成为和外部世界密切相关的开放式系统,它将充分利用海陆空三方资源执行任务,达到作战一体化的目标。因而它对机载软件的要求也越来越严格,越来越亟需一种有效的软件管理方法,使软件能根据任务需要进行动态的安装、运行和卸载。而现有的机载软件因与硬件耦合紧密,专用性强、可扩展性差、复用性差,不能有效的进行软件的动态管理;并且随着软件功能的不断增多,其部署的目标码也越来越大。而实际上,可以将软件分成若干个独立功能的软件模块,以服务的形式为所有使用该功能的软件提供能力,减少系统资源的占用,提高系统性能。为了更加有效的管理机载系统软件,解耦应用软件与平台、平台与硬件之间的依赖,亟需一种方法能打破目前机载软件管理的现状,能够模块化、服务化的动态管理机载软件。
发明内容
本发明的目的
本文提出了一种面向服务的机载软件的动态管理的实现方法。该方法基于模块化的思想,采用面向服务的软件管理框架,支持系统对软件模块的按需加、卸载,较好地解决了软件模块的动态使用、软件复用和软件服务依赖等多个问题,具有模块化、服务化、可动态配置的特征。
本发明的技术方案
本文提出一种面向服务的机载软件的动态管理的实现方法,采用面向服务集成的软件管理框架,实现对软件模块的全生命周期的动态管理,解析封装的软件模块、安装软件模块,并对软件模块的启动、停止、更新、卸载等行为进行控制。该方法所采用的架构如图1所示,其系统初始化流程如图2所示,软件模块的管理及服务调用流程如图3所示。
一种面向服务的机载软件的动态管理的实现方法,主要包括软件模块、软件管理中心、软件管理框架三个部分。
所述软件模块是进行软件动态管理的实体,承载所提供的服务,可独立加、卸载。其主要包括可安装运行的二进制文件及该软件模块的属性配置文件;所述属性配置文件为一个文本格式的描述文件,包括软件模块名称、开发商、版本、功能描述、所依赖服务、所提供服务等信息,主要为软件模块的安装、更新等功能所用;
所述软件管理中心负责存储软件模块并且提供软件模块的下载服务;
所述软件管理框架是实现该方法的重要部分,它为所有软件模块的动态管理提供了一个操作环境,负责软件注册、监听服务的集中管理,同时也负责对系统资源的合理分配及整理回收。
一种面向服务的机载软件的动态管理的实现方法步骤如下:
1.根据需要开发出能提供特定服务的软件模块,并编写相应的配置文件;然后,将所开发的软件模块上传至软件管理中心,软件管理中心根据其配置文件进行登记存储,以供系统进行查询下载;在机载系统中,具体实现步骤如下;
步骤A:启动机载系统,即统运行所需的底层环境,诸如操作系统和网络驱动,然后启动软件管理框架;
步骤B:系统根据安装部署文件进行软件模块的加载运行,分析软件模块之间的服务依赖关系,建立服务管理器;系统先识别软件模块是否在本地,如果不在本地,则从软件管理中心下载;系统获取软件模块信息,安装解析该软件模块,创建软件实例,并将该实例添加到软件管理框架中进行管理;当全部软件模块启动成功,系统将进入正常运行状态;
步骤C:软件模块的全生命周期管理主要管理软件模块在启动、运行、停止、更新和卸载时的生命状态之间的转换;系统首先定义生命状态事件,为每种事件定义处理器,建立事件-处理器的通用处理框架,系统通过事件完成对软件模块状态变更的通知;当软件模块启动时,首先将其生产的服务及需要消费的服务的监听器注册到服务管理器中,然后服务管理器通知相关的软件模块进行服务的使用;当软件模块需要更新时,需先停止其他模块对服务的使用,再停止其所注册的服务,更新完毕后,重新启动软件模块,注册服务并通知其他软件模块,软件模块的更新不影响系统及其它非相关软件模块的正常运行;当系统不再使用某个软件模块时,可以将其停止或卸载,释放系统资源,在卸载软件模块时,首先判断是否有其他软件模块强制依赖于此软件模块,如果有,则不能进行卸载,如果没有,则修改此软件模块的安装记录,并将其安装时所产生的文件夹及内容依次删除。
2.所述软件模块是进行软件动态管理的实体,承载所提供的服务,可独立加、卸载;其主要包括可安装运行的二进制文件及该软件模块的属性配置文件;所述属性配置文件为一个文本格式的描述文件,包括软件模块名称、开发商、版本、功能描述、所依赖服务、所提供服务等信息,主要为软件模块的安装、更新等功能所用。
3.所述软件管理中心负责存储软件模块并且提供软件模块的下载服务。
4.所述软件管理框架为所有软件模块的动态管理提供了一个操作环境,负责软件注册、监听服务的集中管理,同时也负责对系统资源的合理分配及整理回收。5.所述步骤B中,软件模块的解析过程是根据模块属性配置文件中的依赖关系进行的,在软件模块安装时,系统建立软件模块依赖链接,只有满足所必须的依赖关系才可进行安装,否则安装将失败;软件模块的安装基于文件系统实现,软件安装将会在相应文件夹下加入关于此软件模块的相关信息;所述文件夹包括目标码、默认配置数据、软件模块数据库、图标、文档。
6.所述步骤C中,系统首先定义生命状态事件,为每种事件定义处理器,建立事件-处理器的通用处理框架,系统通过事件完成对软件模块状态变更的通知。
7.所述步骤C中,所述事件包括软件模块状态变更事件、软件模块服务监听事件、系统状态变更事件,前两者用于完成软件模块的生命周期管理,后者用于系统的启动和结束的管理。
本发明具有的优点效果
(1)支持系统的动态部署:根据安装部署文件进行初始化安装,减少了系统部署时间,提高系统软件部署的灵活性;
(2)支持对软件模块的动态管理:系统可根据需要动态安装、卸载软件模块,提高了系统资源的利用率和系统的管理效率;
(3)支持软件模块的复用:软件模块的开发基于一定的标准和规范,它可以被快速复用和扩展。
附图说明
图1本发明的系统架构图;
图2本发明的系统初始化流程图;
图3本发明的生命周期管理及服务调用流程图;
具体实施方式
下面结合附图对本技术方案做进一步详细说明,如图2、图3所示。
1.系统初始化
说明:安装部署文件中有两条命令,要求在初始化时启动软件模块E和软件模块F,而这两个模块不在本地,需要从软件管理中心下载。
a)加载安装部署文件;
b)获取系统的全部配置部署数据;
c)下载软件模块E,并安装、解析和启动软件模块E;
d)下载软件模块F,并安装、解析和启动软件模块F;
e)系统初始化完成,进入运行状态。
2.软件模块的生命周期管理及服务之间的调用
说明:软件模块B提供了位置查询服务、软件模块A使用此服务。
a)启动软件模块A,注册服务监听器A,用于监听位置查询服务的状态改变,供自己使用;
b)软件模块A欲从服务管理器中获取位置查询服务的信息,以便查询当前位置,被告知该服务不可用;
c)启动软件模块B,注册位置查询服务功能,供其他软件模块使用;系统产生服务注册事件,软件模块A通过服务监听器A监听到了位置查询服务已处于可用状态;
d)软件模块A从服务管理器中获取位置查询服务的信息,查询当前位置;位置查询服务进行了位置查询,返回查询结果,服务调用完毕;
如果系统欲停止或卸载软件模块B,那么需先将位置查询服务注销。软件模块A通过服务监听器A监听到位置查询服务不可用,则根据预先策略进行处理。
Claims (7)
1.一种面向服务的机载软件的动态管理的实现方法,其特征在于:
根据需要开发出能提供特定服务的软件模块,并编写相应的配置文件;然后,将所开发的软件模块上传至软件管理中心,软件管理中心根据其配置文件进行登记存储,以供系统进行查询下载;在机载系统中,具体实现步骤如下;
步骤A:启动机载系统,即统运行所需的底层环境,诸如操作系统和网络驱动,然后启动软件管理框架;
步骤B:系统根据安装部署文件进行软件模块的加载运行,分析软件模块之间的服务依赖关系,建立服务管理器;系统先识别软件模块是否在本地,如果不在本地,则从软件管理中心下载;系统获取软件模块信息,安装解析该软件模块,创建软件实例,并将该实例添加到软件管理框架中进行管理;当全部软件模块启动成功,系统将进入正常运行状态;
步骤C:软件模块的全生命周期管理主要管理软件模块在启动、运行、停止、更新和卸载时的生命状态之间的转换;系统首先定义生命状态事件,为每种事件定义处理器,建立事件-处理器的通用处理框架,系统通过事件完成对软件模块状态变更的通知;当软件模块启动时,首先将其生产的服务及需要消费的服务的监听器注册到服务管理器中,然后服务管理器通知相关的软件模块进行服务的使用;当软件模块需要更新时,需先停止其他模块对服务的使用,再停止其所注册的服务,更新完毕后,重新启动软件模块,注册服务并通知其他软件模块,软件模块的更新不影响系统及其它非相关软件模块的正常运行;当系统不再使用某个软件模块时,可以将其停止或卸载,释放系统资源,在卸载软件模块时,首先判断是否有其他软件模块强制依赖于此软件模块,如果有,则不能进行卸载,如果没有,则修改此软件模块的安装记录,并将其安装时所产生的文件夹及内容依次删除。
2.根据权利要求1所述的一种面向服务的机载软件的动态管理的实现方法,其特征在于:所述软件模块是进行软件动态管理的实体,承载所提供的服务,可独立加、卸载;其主要包括可安装运行的二进制文件及该软件模块的属性配置文件;所述属性配置文件为一个文本格式的描述文件,包括信息如软件模块名称、开发商、版本、功能描述、所依赖服务及所提供服务,主要为软件模块的安装、解析、更新功能所用。
3.根据权利要求1所述的一种面向服务的机载软件的动态管理的实现方法,其特征在于:所述软件管理中心负责存储软件模块并且提供软件模块的下载服务。
4.根据权利要求1所述的一种面向服务的机载软件的动态管理的实现方法,其特征在于:所述软件管理框架为所有软件模块的动态管理提供了一个操作环境,负责软件注册、监听服务的集中管理,同时也负责对系统资源的合理分配及整理回收。
5.根据权利要求1所述的一种面向服务的机载软件的动态管理的实现方法,其特征在于:所述步骤B中,软件模块的解析过程是根据模块属性配置文件中的依赖关系进行的,在软件模块安装时,系统建立软件模块依赖链接,只有满足所必须的依赖关系才可进行安装,否则安装将失败;软件模块的安装基于文件系统实现,软件安装将会在相应文件夹下加入关于此软件模块的相关信息;所述文件夹包括目标码、默认配置数据、软件模块数据库、图标、文档。
6.根据权利要求1所述的一种面向服务的机载软件的动态管理的实现方法,其特征在于:所述步骤C中,系统首先定义生命状态事件,为每种事件定义处理器,建立事件-处理器的通用处理框架,系统通过事件完成对软件模块状态变更的通知。
7.根据权利要求1所述的方法,其特征在于:所述步骤C中,所述事件包括软件模块状态变更事件、软件模块服务监听事件、系统状态变更事件,前两者用于完成软件模块的生命周期管理,后者用于系统的启动和结束的管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611154107.7A CN108228192B (zh) | 2016-12-14 | 2016-12-14 | 一种面向服务的机载软件的动态管理的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611154107.7A CN108228192B (zh) | 2016-12-14 | 2016-12-14 | 一种面向服务的机载软件的动态管理的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228192A true CN108228192A (zh) | 2018-06-29 |
CN108228192B CN108228192B (zh) | 2020-12-29 |
Family
ID=62638427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611154107.7A Active CN108228192B (zh) | 2016-12-14 | 2016-12-14 | 一种面向服务的机载软件的动态管理的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228192B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110381026A (zh) * | 2019-06-14 | 2019-10-25 | 北京数立得科技有限公司 | 一种富客户端的业务服务封装和访问系统、方法和装置 |
CN115080101A (zh) * | 2022-06-30 | 2022-09-20 | 北京亚控科技发展有限公司 | 应用管理方法、应用订阅方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005026915A2 (en) * | 2003-09-11 | 2005-03-24 | Akonix Systems, Inc. | Systems and methods for dynamically updating software in a protocol gateway |
CN103336194A (zh) * | 2013-06-09 | 2013-10-02 | 广州飞机维修工程有限公司 | 一种民航客机机载计算机的通用综合自动测试系统 |
-
2016
- 2016-12-14 CN CN201611154107.7A patent/CN108228192B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005026915A2 (en) * | 2003-09-11 | 2005-03-24 | Akonix Systems, Inc. | Systems and methods for dynamically updating software in a protocol gateway |
CN103336194A (zh) * | 2013-06-09 | 2013-10-02 | 广州飞机维修工程有限公司 | 一种民航客机机载计算机的通用综合自动测试系统 |
Non-Patent Citations (1)
Title |
---|
林旭新等: ""一种面向服务的跨平台实时信息发布及交流软件架构"", 《现代计算机(普及版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110381026A (zh) * | 2019-06-14 | 2019-10-25 | 北京数立得科技有限公司 | 一种富客户端的业务服务封装和访问系统、方法和装置 |
CN110381026B (zh) * | 2019-06-14 | 2021-12-10 | 北京数立得科技有限公司 | 一种富客户端的业务服务封装和访问系统、方法和装置 |
CN115080101A (zh) * | 2022-06-30 | 2022-09-20 | 北京亚控科技发展有限公司 | 应用管理方法、应用订阅方法及相关设备 |
CN115080101B (zh) * | 2022-06-30 | 2023-08-18 | 北京亚控科技发展有限公司 | 应用管理方法、应用订阅方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108228192B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8082414B2 (en) | Method and system for centralized memory management in wireless terminal devices | |
JP5367074B2 (ja) | 仮想マシンとアプリケーション・ライフ・サイクルの同期 | |
CN110196731B (zh) | 一种运维系统、方法及存储介质 | |
CN102609281B (zh) | 分布式软件补丁更新方法及系统 | |
CN112269640B (zh) | 一种实现容器云组件的生命周期管理的方法 | |
CN105577475A (zh) | 自动化性能测试系统及方法 | |
CN107239313A (zh) | Spring应用服务的升级方法和存储介质 | |
CN105591778A (zh) | 一种分布式系统更新配置文件的方法及系统 | |
CN111352653A (zh) | 基于PaaS云平台服务器的系统开发方法及服务器 | |
CN112486938A (zh) | 一种应用于kubernetes集群的日志收集方法以及系统 | |
JP7161560B2 (ja) | 人工知能開発プラットフォームの管理方法及び装置、媒体 | |
CN112000353A (zh) | 应用运行方法、装置及存储介质 | |
JP2023504469A (ja) | ノード管理方法、装置、機器、記憶媒体及びシステム | |
CN101877655A (zh) | 网络管理系统、网管服务器和方法 | |
US20220182851A1 (en) | Communication Method and Apparatus for Plurality of Administrative Domains | |
CN108228192A (zh) | 一种面向服务的机载软件的动态管理的实现方法 | |
CN113204368B (zh) | 应用程序处理方法、服务器及存储介质 | |
CN109783132B (zh) | 一种可适应系统单体化及分布式化的实现方法及装置 | |
CN110825452A (zh) | 一种多云管理的云服务适配模块管理方法 | |
CN101827069B (zh) | 通用即插即用设备的信息获取方法、系统、设备及控制点 | |
CN110389791B (zh) | 组件调度方法、装置、设备及存储介质 | |
CN102469118B (zh) | 一种实现信息拉取的方法及装置 | |
CN110968335A (zh) | 一种用于电力业务系统资源统筹管理的组件系统 | |
CN111083719A (zh) | 一种网元容量弹性调整的方法、装置和存储介质 | |
CN104657168A (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 |