CN108228274B - 一种机载分布式任务动态分配及动态构建技术的实现方法 - Google Patents
一种机载分布式任务动态分配及动态构建技术的实现方法 Download PDFInfo
- Publication number
- CN108228274B CN108228274B CN201711306307.4A CN201711306307A CN108228274B CN 108228274 B CN108228274 B CN 108228274B CN 201711306307 A CN201711306307 A CN 201711306307A CN 108228274 B CN108228274 B CN 108228274B
- Authority
- CN
- China
- Prior art keywords
- service
- component
- platform
- task
- dynamic
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明属于计算机系统软件专业技术领域,提出了一种机载分布式任务动态分配及动态构建技术的实现方法。该方法基于面向服务及组件化思想,服务以组件为载体,通过对组件进行动态管理、组件间使用服务建立关联,实现任务的动态构建,具有组件化、服务化、可动态重组的特征。支持任务的动态分配:主机平台动态接收任务部署配置后分发给各从机平台,各从机平台根据配置信息动态切换组件,提高了机载软件的复用性,降低了机载软件与运行平台的耦合性;支持任务的动态构建:组件切换完成后执行服务的注册、请求操作,各飞机平台的组件之间基于服务进行自动匹配,动态建立依赖关系,协同执行任务。
Description
技术领域
本发明属于计算机系统软件专业技术领域,涉及一种机载分布式任务动态分配及动态构建技术的实现方法。
背景技术
随着航电系统综合化、模块化技术的飞速发展,机载软件规模的不断扩大,传统的机载软件专机专用、不可变更的特性已无法满足当前应用环境的需求。从航电系统和机载软件架构的发展趋势可以看出,未来的发展趋势是向多机协同、联合作战、动态重组的方向发展,这种趋势提出了两种新的需求:1.机载系统运行的不同阶段需要执行不同任务,提出了机载系统功能可动态重构的需求;2.机群需要进行统一调度实现协同作战,提出了对当前任务进行动态分配及动态构建的需求。在此背景下,本文提出了一种机载分布式任务动态分配及动态构建技术的实现方法,满足当前应用环境的需求。
发明内容
面向机载系统功能可动态重构、多机协同作战的需求,本文提出了一种机载分布式任务动态分配及动态构建技术的实现方法。该方法基于面向服务及组件化思想,服务以组件为载体,通过对组件进行动态管理、组件间使用服务建立关联,实现任务的动态构建,具有组件化、服务化、可动态重组的特征。
本发明的目的:
1.为各机功能动态重构、机群任务动态分配提供一种解决方案;
2.为各机间提供基于服务的动态构建方式,对传统机载网络机间的紧密关系进行解耦。
本发明的技术方案:
1.一种机载分布式任务动态分配及动态构建技术的平台环境:
机载分布式环境由一个主机平台和多个从机平台组成,其中,主机平台包括任务部署模块和服务管理模块,任务部署模块接收任务部署配置文件,生成各从机平台的组件部署配置文件并分发;服务管理模块对服务、监听器的注册与绑定进行管理;从机平台接收组件部署配置文件,通过组件动态管理框架对组件进行动态管理,完成从机平台的功能动态重构;各机载平台之间通过在主机平台的服务管理模块对服务与监听进行注册与检索,建立交互关系。
所述组件是指遵循组件开发规范,可被组件动态管理框架动态加载、管理,同时实现了自身逻辑功能的软件单元。组件通过描述文件描述其基本信息,包括组件名称、开发商、版本、提供的服务、依赖的服务、依赖的硬件环境,描述文件的结构如图2所示。
所述服务是指以组件为载体,实现了可被其他组件远程调用的逻辑功能的软件单元;监听器是指用来检索、匹配、调用特定服务的软件单元,由服务的使用者创建并注册。
2.机载分布式任务动态分配的实现步骤:
a)外界或机上向主机平台发布任务部署配置文件,包含任务执行所需的飞机平台信息及组件信息;
b)主机平台的任务部署模块接收到文件后,通过对各从机平台资源状况的评估、以及对组件所需硬件环境的分析,将任务部署配置文件中的组件对各从机平台进行分配,生成相应的组件部署配置文件,包含各从机平台执行任务所需的组件信息;
c)主机平台的任务部署模块将组件部署配置文件发送给各从机平台;
d)从机平台的组件动态管理框架接收到组件部署配置文件,从中获取新任务的组件列表,并与当前运行的组件列表进行对比分析,卸载不再需要的组件,并在处理依赖关系后依次加载并启动需要的新组件。
3.机载分布式任务动态构建的实现方法:
任务的动态构建是指为执行某一任务,各从机平台的组件之间通过监听器、服务建立交互关系的过程。
从服务的使用者角度来看,主动建立关系存在四种情况,如图3所示,具体描述如下:
①预先处理:对于实时性要求高的服务,服务的使用者需要在描述文件中依赖的服务中使用preLoad属性进行标记,从机平台接收到组件部署配置后,会根据各组件的描述文件分析所有需要预先加载的组件,并将其先于服务的使用者执行加载操作,确保当服务的使用者需要使用服务时,服务一定存在;
②请求服务时存在匹配的服务:监听器立即发现并可以使用服务;
③请求服务时不存在匹配的服务,但监听器指定了服务的提供者:将该请求信息发送给主机平台,主机平台根据请求的组件依赖的运行环境将其分配至某一从机平台,监听器等待该服务的创建;
④请求服务时不存在匹配的服务,且监听器未指定服务的提供者:监听器进入等待状态,当有匹配的服务出现时,服务注册管理模块会通知监听器发现服务。
从服务的提供者角度来看,主动建立关系只有一种情况:当服务注册完成后,会遍历当前监听器列表,若满足某一监听器的要求,则将服务与该监听器建立关联。
本发明具有的优点效果:
(1)支持任务的动态分配:主机平台动态接收任务部署配置后将其拆分成组件部署配置分发给各从机平台,各从机平台根据配置信息动态切换组件,实现了飞机平台的功能动态重构,提高了机载软件开发的复用性,降低了机载软件与运行平台的耦合性;
(2)支持任务的动态构建:组件切换完成后执行服务的注册、请求操作,各飞机平台的组件之间根据服务的注册、请求进行自动匹配,动态建立依赖关系,协同执行任务,对飞机平台之间的固定依赖关系进行了解耦。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。
图1为本发明公开的一种机载分布式任务动态分配及动态构建技术的实现方法的整体架构示例图;
图2为本发明公开的一种组件描述文件结构示例图;
图3为本发明公开的一种服务依赖关系分类的示例图;
图4为本发明公开的一种预先处理依赖关系流程图;
图5为本发明公开的一种请求服务时存在匹配服务的情况下建立依赖关系的流程图;
图6为本发明公开的一种请求服务时不存在匹配服务,但监听器指定了服务的提供者的情况下建立依赖关系的流程图;
图7为本发明公开的一种请求服务时不存在匹配服务,且监听器未指定服务的提供者的情况下建立依赖关系的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一是接收新任务时组件动态管理框架执行组件动态切换的流程;实施例二是预先处理依赖关系的流程;实施例三是请求服务时存在匹配服务的情况下建立依赖关系的流程;实施例四是请求服务时不存在匹配服务,但监听器指定了服务的提供者的情况下建立依赖关系的流程;实施例五是请求服务时不存在匹配服务,且监听器未指定服务的提供者的情况下建立依赖关系的流程。
实施例一预先处理依赖关系的流程如图4所示,包括以下步骤:
说明:C2的描述文件中声明通过预先加载的方式处理对C1的服务S1的依赖。
1.解析C2的描述文件,得知其声明通过预先加载的方式处理对C1的服务S1的依赖;
2.将对C1的请求发送给主机平台;
3.主机平台将C1分配至某从机平台并安装;
4.当前从机平台等待C1安装完成后再次安装C2,并加载、运行。
实施例二请求服务时存在匹配服务的情况下建立依赖关系的流程如图5所示,包括以下步骤:
说明:C1注册服务S1,之后C2注册监听器L2请求C1的服务S1。
1.C1启动,注册服务S1;
2.服务管理模块检测到当前不存在属性匹配的监听器;
3.在之后的某一时刻,C2启动,注册监听器L2请求服务S1;
4.服务管理模块检测到当前存在属性匹配的服务,使用该监听器通知C2发现服务,之后C2即可使用服务S1。
实施例三请求服务时不存在匹配服务,但监听器指定了服务的提供者的情况下建立依赖关系的流程如图6所示,包括以下步骤:
说明:C1未运行时,C2注册监听器L2请求C1的服务S1。
1.C2启动,注册监听器L2;
2.服务管理模块检测到当前不存在属性匹配的服务;
3.服务管理模块调用组件管理模块启动L2指定的服务提供者C1;
4.C1启动,注册服务S1;
5.服务管理模块检测到当前存在属性匹配的监听器,使用该监听器通知C2发现服务,之后C2即可使用服务S1。
实施例四请求服务时不存在匹配服务,且监听器未指定服务的提供者的情况下建立依赖关系的流程如图7所示,包括以下步骤:
说明:C1未运行时,C2注册监听器L2请求服务S1。
1.C2启动,注册监听器L2;
2.服务管理模块检测到当前不存在属性匹配的服务;
3.在之后的某一时刻,C1启动,注册服务S1;
4.服务管理模块检测到当前存在属性匹配的监听器,使用该监听器通知C2发现服务,之后C2即可使用服务S1。
Claims (1)
1.一种机载分布式任务动态分配及动态构建技术的实现方法,其特征在于:机载分布式环境由一个主机平台和多个从机平台组成,其中,主机平台包括任务部署模块和服务管理模块,任务部署模块接收任务部署配置文件,生成各从机平台的组件部署配置文件并分发;服务管理模块对服务、监听器的注册与绑定进行管理;从机平台接收组件部署配置文件,通过组件动态管理框架对组件进行动态管理,完成从机平台的功能动态重构;各机载平台之间通过在主机平台的服务管理模块对服务与监听进行注册与检索,建立交互关系;
所述组件是指遵循组件开发规范,可被组件动态管理框架动态加载、管理,同时实现了自身逻辑功能的软件单元;组件通过描述文件描述其基本信息,包括组件名称、开发商、版本、提供的服务、依赖的服务、依赖的硬件环境;
所述服务是指以组件为载体,实现了可被其他组件远程调用的逻辑功能的软件单元;监听器是指用来检索、匹配、调用特定服务的软件单元,由服务的使用者创建并注册;
1)机载分布式任务动态分配的实现步骤:
a)外界或机上向主机平台发布任务部署配置文件,包含任务执行所需的飞机平台信息及组件信息;
b)主机平台的任务部署模块接收到文件后,通过对各从机平台资源状况的评估、以及对组件所需硬件环境的分析,将任务部署配置文件中的组件对各从机平台进行分配,生成相应的组件部署配置文件,包含各从机平台执行任务所需的组件信息;
c)主机平台的任务部署模块将组件部署配置文件发送给各从机平台;
d)从机平台的组件动态管理框架接收到组件部署配置文件,从中获取新任务的组件列表,并与当前运行的组件列表进行对比分析,卸载不再需要的组件,并在处理依赖关系后依次加载并启动需要的新组件;
2)机载分布式任务动态构建的实现方法:
任务的动态构建是指为执行某一任务,各从机平台的组件之间通过监听器、服务建立交互关系的过程;
从服务的使用者角度来看,主动建立关系存在四种情况,具体描述如下:
①预先处理:对于实时性要求高的服务,服务的使用者需要在描述文件中依赖的服务中使用preLoad属性进行标记,从机平台接收到组件部署配置后,会根据各组件的描述文件分析所有需要预先加载的组件,并将其先于服务的使用者执行加载操作,确保当服务的使用者需要使用服务时,服务一定存在;
②请求服务时存在匹配的服务:监听器立即发现并可以使用服务;
③请求服务时不存在匹配的服务,但监听器指定了服务的提供者:将该请求信息发送给主机平台,主机平台根据请求的组件依赖的运行环境将其分配至某一从机平台,监听器等待该服务的创建;
④请求服务时不存在匹配的服务,且监听器未指定服务的提供者:监听器进入等待状态,当有匹配的服务出现时,服务注册管理模块会通知监听器发现服务;
从服务的提供者角度来看,主动建立关系只有一种情况:当服务注册完成后,会遍历当前监听器列表,若满足某一监听器的要求,则将服务与该监听器建立关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711306307.4A CN108228274B (zh) | 2017-12-07 | 2017-12-07 | 一种机载分布式任务动态分配及动态构建技术的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711306307.4A CN108228274B (zh) | 2017-12-07 | 2017-12-07 | 一种机载分布式任务动态分配及动态构建技术的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228274A CN108228274A (zh) | 2018-06-29 |
CN108228274B true CN108228274B (zh) | 2020-11-13 |
Family
ID=62653446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711306307.4A Active CN108228274B (zh) | 2017-12-07 | 2017-12-07 | 一种机载分布式任务动态分配及动态构建技术的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228274B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489174A (zh) * | 2019-08-20 | 2019-11-22 | 上海航空工业(集团)有限公司 | 一种用于机载软硬件匹配性加载系统实现的方法 |
CN110572283B (zh) * | 2019-08-30 | 2022-05-17 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 机载平台服务交互接力控制系统 |
CN112863250B (zh) * | 2020-08-13 | 2022-08-09 | 上海交通大学 | 多平台航空电子控制系统及方法 |
CN114860349B (zh) * | 2022-07-06 | 2022-11-08 | 深圳华锐分布式技术股份有限公司 | 数据加载方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959631A (zh) * | 2005-11-04 | 2007-05-09 | 上海启明软件股份有限公司 | 一种基于itron的应用软件自主装配技术 |
US20110283705A1 (en) * | 2006-07-24 | 2011-11-24 | Troy Oliver | EXPLO-DYNAMICS™: a method, system, and apparatus for the containment and conversion of explosive force into a usable energy resource |
CN103684917A (zh) * | 2013-12-14 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种多目标机系统监视系统及方法 |
CN104133734A (zh) * | 2014-07-29 | 2014-11-05 | 中国航空无线电电子研究所 | 分布式综合模块化航空电子系统混合式动态重构系统与方法 |
CN105786620A (zh) * | 2016-02-25 | 2016-07-20 | 电子科技大学 | 一体化可重构综合信息处理载荷系统 |
CN106775857A (zh) * | 2016-12-07 | 2017-05-31 | 珠海格力电器股份有限公司 | 一种服务器的组件热删除、热增加和热替换方法及装置 |
-
2017
- 2017-12-07 CN CN201711306307.4A patent/CN108228274B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959631A (zh) * | 2005-11-04 | 2007-05-09 | 上海启明软件股份有限公司 | 一种基于itron的应用软件自主装配技术 |
US20110283705A1 (en) * | 2006-07-24 | 2011-11-24 | Troy Oliver | EXPLO-DYNAMICS™: a method, system, and apparatus for the containment and conversion of explosive force into a usable energy resource |
CN103684917A (zh) * | 2013-12-14 | 2014-03-26 | 中国航空工业集团公司第六三一研究所 | 一种多目标机系统监视系统及方法 |
CN104133734A (zh) * | 2014-07-29 | 2014-11-05 | 中国航空无线电电子研究所 | 分布式综合模块化航空电子系统混合式动态重构系统与方法 |
CN105786620A (zh) * | 2016-02-25 | 2016-07-20 | 电子科技大学 | 一体化可重构综合信息处理载荷系统 |
CN106775857A (zh) * | 2016-12-07 | 2017-05-31 | 珠海格力电器股份有限公司 | 一种服务器的组件热删除、热增加和热替换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108228274A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228274B (zh) | 一种机载分布式任务动态分配及动态构建技术的实现方法 | |
US11159411B2 (en) | Distributed testing service | |
WO2013165459A1 (en) | Control flow graph operating system configuration | |
CN107807815B (zh) | 分布式处理任务的方法和装置 | |
CN113971095A (zh) | 扩展进程中的kubernetes应用程序接口 | |
CN103873534A (zh) | 一种应用集群迁移方法及装置 | |
US20230342191A1 (en) | Task Scheduling Method and System | |
US20130067454A1 (en) | Modular Architecture for Distributed System Management | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
CN112395736A (zh) | 一种分布交互仿真系统的并行仿真作业调度方法 | |
CN116450355A (zh) | 一种多集群模型训练方法、装置、设备及介质 | |
El Haj Ahmed et al. | KubCG: A dynamic Kubernetes scheduler for heterogeneous clusters | |
WO2019117767A1 (en) | Method, function manager and arrangement for handling function calls | |
WO2020108337A1 (zh) | 一种cpu资源调度方法及电子设备 | |
CN111736809A (zh) | 分布式机器人集群网络管理框架及其实现方法 | |
CN115794355B (zh) | 任务处理方法、装置、终端设备及存储介质 | |
JP2010218151A (ja) | 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法 | |
CN109032674B (zh) | 一种多进程管理方法、系统及网络设备 | |
CN112583929B (zh) | 基于机载嵌入式实时操作系统的服务管理方法 | |
CN108228192B (zh) | 一种面向服务的机载软件的动态管理的实现方法 | |
CN112583927B (zh) | 基于机载嵌入式实时操作系统的服务管理系统 | |
CN109634749B (zh) | 一种分布式统一调度方法及设备 | |
US20100122254A1 (en) | Batch and application scheduler interface layer in a multiprocessor computing environment | |
US8402465B2 (en) | System tool placement in a multiprocessor computer |
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 |