CN108647174B - 一种基于软件总线的无人机快自愈系统 - Google Patents

一种基于软件总线的无人机快自愈系统 Download PDF

Info

Publication number
CN108647174B
CN108647174B CN201810383670.4A CN201810383670A CN108647174B CN 108647174 B CN108647174 B CN 108647174B CN 201810383670 A CN201810383670 A CN 201810383670A CN 108647174 B CN108647174 B CN 108647174B
Authority
CN
China
Prior art keywords
module
software bus
self
healing
functional
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
CN201810383670.4A
Other languages
English (en)
Other versions
CN108647174A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201810383670.4A priority Critical patent/CN108647174B/zh
Publication of CN108647174A publication Critical patent/CN108647174A/zh
Application granted granted Critical
Publication of CN108647174B publication Critical patent/CN108647174B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于软件总线的无人机快自愈系统,通过软件总线和模块化的系统设计,保证了系统轻量化、可扩展性和功能模块的互操作性;系统通过基于配置文件的双软件总线互相评估,避免了单节点故障问题,实现体系核心组件软件总线的自愈;软件总线采用功能和核心数据分离的方法,有效提升了软件总线的自愈性能;功能模块自愈分级的机制,既保证了模块自愈要求,又合理使用了无人机运算和存储资源。

Description

一种基于软件总线的无人机快自愈系统
技术领域
本发明涉及无人机技术领域,特别涉及一种基于软件总线的无人机快自愈系统。
背景技术
无人机行业的发展趋势取决于市场需求。技术的进步使得无人机的应用领域逐渐扩大。凭借着安全、便携、易部署等优势,无人机愈发受到行业用户和普通消费者群体的青睐。目前,民用无人机的用途已达到600多种,我国的民用无人机企业近400家。
研究机构EVTank此前在《2015年度民用无人机市场研究报告》发布的数据显示,2014年全球无人机销量约为39万架,其中军用无人机占4%,民用无人机占96%;2014年中国无人机销量约2万架,其中军用无人机约占1.4%,民用无人机占98.6%;2014年中国民用无人机销售规模达到40亿元;2015年,全球民用无人机销量可能达到57万架。易观智库预计,2018年中国民用无人机产品销售市场规模将达110.9亿元。在民用领域,无人机被广泛的应用于农林(农药喷洒、森林救火、辅助授粉)、物流(物流配送)、航拍(体育赛事、新闻拍摄、电影拍摄等)、电力(电力巡检)和地图测绘(城市规划、资源探测、水利监测、地图测绘、管道巡查等)。
国家电网公司的无人机电力巡检应用发明专利“无人机高压电缆自动巡线系统”(专利号:ZL201610941209.7),实现了无人机硬件软件一体化的专用于电力巡检的无人机;北京宙心科技有限公司的无人机故障诊断和容错发明专利“无人机故障诊断方法及系统”(专利号:ZL201610865711.4),采用无人机和地面站的形式对无人机的故障进行诊断;发明专利“一种小型无人机的机载计算机软件系统”(专利号:ZL201610234670.9)利用分层的软件体系结构,实现应用层的航迹规划和编队控制;广东威恒电力技术开发有限公司的发明专利“无人机平台电力巡线系统及工作方式”(专利号:ZL201310560122.1)采用无人机、中继无人机和地面监控平台的形式,实现从地面监控平台到无人机的遥控电力巡检;北京京东世纪贸易有限公司的发明专利“无人机的控制方法及控制系统和无人机系统”(专利号:ZL201610173715.6)实现了一种基于任务信息的加密控制方法;华南理工大学的发明专利“基于LSOA构架的开放式控制方法”(专利号:ZL201611040456.6)提出一种用于工业机器人控制系统的基于软件总线和面向服务的方法。以上发明专利虽然证明软件总线在机器人领域的广泛前景,然而要么缺乏容错自愈能力、要么互操作性不足。
无人机被广泛的应用于民用领域,其控制系统可扩展性和互操作性、功能模块的易开发和快速应用成为制约无人机快速应用的瓶颈,因而提供一个轻量化、可扩展和易开发的无人机控制系统成为急需解决的技术问题。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于软件总线的无人机快自愈系统,采用功能和数据分离的双软件总线结构,通过功能模块自愈分级机制,实现了软件总线和功能模块的快自愈。
本发明的目的通过以下的技术方案实现:一种基于软件总线的无人机快自愈系统,包括:双软件总线和功能模块,软件总线作为系统的基础,是协调操作系统和挂载在软件总线之上的功能模块的中间软件;双软件总线,其中一个为主软件总线,运行全功能模块;另一个为备用软件总线,仅运行部分功能模块,有需要时对主软件总线和备用软件总线进行主备切换,实现系统核心组件软件总线的自愈。
优选的,主软件总线进行自我评估,备用软件总线进行主软件总线的评估,依据模块评估体系,根据主软件总线的模块评估的自评结果和备用软件总线的模块评估的他评结果,当自评和他评结果满足模块评估体系中的切换条件时,则对主软件总线和备用软件总线进行主备切换,实现系统核心组件软件总线的自愈。
优选的,软件总线采用功能和数据分离的结构,其中功能部分包括消息调度、模块管理、模块评估、数据同步和时间维护;消息调度进行模块间的消息转发调度;模块管理进行挂载在软件总线的功能模块的注册、注销和故障恢复;模块评估根据软件总线的运行状态,依据模块评估体系分别进行所有功能模块的评估和软件总线功能模块的评估,并通知模块管理进行对应的操作;数据同步根据软件总线的运行状态,分为主动同步和被动同步,在主软件总线上,数据同步更新主软件总线的数据部分,并向备用软件总线数据同步发出数据同步要求,在备用软件总线上,根据主软件总线的数据同步消息进行数据的同步;时间维护负责维护无人机的时间更新;
数据部分为模块信息和模块评估体系;模块信息包含挂载在软件总线上的各功能模块的运行信息和管理信息,为软件总线和各功能模块的自愈提供数据记录;模块评估体系是判断软件总线和各功能模块是否正常运行和故障时如何处理的依据。
优选的,备用软件总线仅运行模块评估和数据同步模块,以功能模块的形式挂载在主软件总线之上,且模块评估仅对主软件总线进行功能评估,其它的功能模块处于已注册但未对外提供服务状态。
优选的,对主软件总线和备用软件总线进行主备切换,实现系统核心组件软件总线的自愈时,采用功能模块自愈分级的机制:功能模块自愈分级机制采用用户自指定和系统判定相结合的判定形式,不同的自愈级别对应不同的自愈策略。
进一步的,系统判定的功能模块自愈分级采用面向任务的消息被动评估算法,并将模块的自愈级别写入到模块评估体系中。
具体的,具体评估过程如下:
初始条件:
①功能模块类型权重因子:系统模块包括软件总线、硬件抽象封装模块、通信封装模块和数据库模块为μs,用户定义功能模块为μu
②系统功能模块列表LISTms:{Ms1,Ms2,Ms3,…,Msp-1,Msp};
③用户定义功能列表LISTmu:{Mu1,Mu2,Mu3,…,Muq-1,Muq};
④功能模块自愈分级阈值列表LISTl:{L1,L2,…,Ln},其中L1<L2<…<Ln
⑤功能模块服务响应平均时间列表LISTt:{T1,T2,T3,…,Tp,…,Tp+q};
⑥各功能模块的初始自愈级别
Figure BDA0001641644170000031
其中
Figure BDA0001641644170000032
(i∈{1,2,3,…,n},j∈{1,2,3,…,p+q}),任意功能模块的自愈级别在功能模块自愈分级阈值列表LISTl的邻近区间[Li,Li+1];
算法执行流程:
①无人机执行任务的功能模块序列为LISTtask:{M1,M2,M3,…,Mi,…,Mx},任务功能序列LISTtask对应的运行时间列表为
Figure BDA0001641644170000041
Figure BDA0001641644170000042
其中i∈{1,2,3,…,p+q},x为完成任务需要执行的功能模块数,
Figure BDA0001641644170000043
为功能模块M1对应的时间段数目;
②依据LISTtask和LISTtime,按下公式(1),以各模块的执行时间除以所有模块执行的总时间来生成任务执行过程中功能模块权重因子的序列为LISTμ:{μ123,…,μi,…,μx},μi为功能模块Mi的任务执行权重因子,x为LISTtask中模块的总数目;
Figure BDA0001641644170000044
③根据各模块消息调度实际情况更新LISTt,令H′=μiμjTk′,其中Tk′为LISTt的更新值,μi∈{μsu},μj∈LISTμ
④对比H′和LISTl,若H′的值由Li<H′≦Li+1,改变为H′<Li或H′>Li+1,变更至下个区间值,则更新LISThi中模块对应的自愈级别,否则保持不变;
⑤重复步骤③、④,直至此次任务结束。
优选的,软件总线功能包括:
①规范模块间通讯协议和模块的接口,保证系统的可扩展性和功能模块的互操作性;
②为挂载在软件总线上的各功能模块提供全生命周期管理;
③对挂载在软件总线上的各模块依据模块评估体系进行运行时评估;
④对软件总线上的运行数据进行备份;
⑤维护无人机系统内部的时间,对外提供接口,实现与其它系统的时间同步。
优选的,功能模块包括系统功能模块和用户自定义功能模块;
系统功能模块包括硬件抽象封装模块、通信封装模块和数据库模块,其中硬件抽象封装模块和通信封装模块在操作系统之上,对功能终端包括传感器和执行器的原始接口进行抽象封装;数据库模块封装了数据库接口,为功能模块的数据增、删、查、改提供支持;
用户自定义模块为用户个性化需求提供可扩展支持,用户根据自己的实际需求对系统功能模块进行功能重构。
本发明与现有技术相比,具有如下优点和有益效果:
(1)通过软件总线和模块化的系统设计,保证了系统轻量化、可扩展性和功能模块的互操作性。
(2)系统通过基于配置文件的双软件总线互相评估,避免了单节点故障问题,实现体系核心组件软件总线的自愈,大大提升了应用本控制系统无人机作业的成功率。
(3)软件总线采用功能和核心数据分离的方法,有效提升了软件总线的自愈性能。
(4)功能模块自愈分级的机制,既保证了模块自愈要求,又合理使用了无人机运算和存储资源。
附图说明
图1是实施例系统应用示意图。
图2是实施例基于软件总线的无人机快自愈系统结构示意图。
图3是实施例双软件总线互评评估示意图。
图4是实施例双软件总线互评流程图。
图5是实施例软件总线结构。
图6是实施例软件总线功能模块和数据交互流程图。
图7是实施例功能模块自愈分级流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
1、软件总线和模块化功能
基于软件总线的无人机快自愈系统,以软件总线和模块化功能为核心思想,实现了功能模块间的松耦合,保证了系统的可扩展性和模块间的互操作性,为系统的快速应用开发提供技术支撑。下面将对软件总线和模块化功能进行说明:
1)软件总线
软件总线是一种轻量化、易维护的软件技术,以“即插即用”为指导思想,是构建无人机系统的基础,也是协调操作系统和挂载在软件总线之上的功能模块的中间软件,在为功能模块化提供运行环境和必要功能支持的基础上,保证了各功能模块的灵活性,其功能支持主要包含五个方面:
①规范了模块间通讯协议和模块的接口,保证了系统的可扩展性和功能模块的互操作性,为已存储模块信息的功能模块提供即插机制,并对模块消息进行调度转发;
②为挂载在软件总线上的各功能模块提供全生命周期管理;
③对挂载在软件总线上的各模块依据模块评估体系进行运行时评估;
④对软件总线上的运行数据进行备份;
⑤维护无人机系统内部的时间,对外提供接口,实现与其它系统的时间同步。
2)模块化功能
模块化功能组件在遵循软件总线定义的通讯协议和接口规范下具备极大的灵活性。在该系统中,功能模块分为系统功能模块和用户自定义功能模块。系统功能模块包含硬件抽象封装模块、通信封装模块和数据库模块,系统功能模块说明如下:
①硬件抽象封装模块:对功能终端原始接口进行抽象封装,对无人机的功能终端资源进行集中管理,并对其它功能模块提供统一的资源访问和操作接口,大大削弱了无人机的异构性,为多无人机作业提供底层支持;
②通信封装模块:对无人机的不同无线通信方式进行封装,对通信资源进行集中管理,为各功能模块提供与其它具备相同通信方式的无人机或系统的上层通信接口;
③数据库模块:对数据库接口进行封装,为功能模块的数据增、删、查、改提供支持。
用户自定义模块为用户个性化需求提供可扩展支持,用户也根据自己的实际需求,对系统功能模块进行功能重构。
2、双软件总线的互相评估结构
为了实现功能模块自愈能力,避免单节点系统故障,保证无人机系统的轻量化,采用主/备两种运行状态的双软件总线互评结构:软件总线(主)启用所有组成功能模块,且各组成功能模块以全功能运行;而软件总线(备)仅运行模块评估和数据同步模块,以功能模块的形式挂载在主运行状态的软件总线之上,且模块评估仅对软件总线(主)进行功能评估,其它的功能模块处于已注册但未对外提供服务状态。双软件总线的模块评估以同样的模块评估体系对双软件总线进行自评和他评,当两者评估结果满足模块评估体系的自愈条件时,则对双软件总线进行主/备状态的瞬时切换。
3、功能和数据分离的软件总线
软件总线采用功能和数据分离的结构,将软件总线的组成功能模块和运行时数据部分分离,为功能模块的自愈提供支持。功能部分包含消息调度、模块管理、模块评估、数据同步和时间维护五个组成模块,数据部分由模块信息和模块评估体系构成。下面将对各组成模块和数据部分进行说明:
功能部分模块说明如下:
①消息调度:在软件总线规范的通讯协议上,对挂载在软件总线上的功能模块所发送的消息进行调度转发,消息调度根据消息的类型和消息时间戳对消息进行转发。
②模块管理:对挂载在软件总线上的功能模块进行注册和注销,载入模块信息数据部分,当功能模块发生信息变更时,向数据同步模块发送更新模块信息请求,响应执行模块评估依据模块评估体系发出的自愈策略。
③模块评估:模块评估分为主/备两个状态,两种状态均以同样的模块评估体系为基础,模块评估(主)执行全功能评估,对所有的功能模块进行功能和性能的评估,依据功能模块的调用关系和调用频率动态调整模块评估体系,并向模块管理发送执行功能模块的自愈策略的请求;模块评估(备)执行部分功能,仅对软件总线(主)进行评估,软件总线的自愈由模块评估(主/备)共同决定。
④数据同步:数据同步分为主/备两个状态,数据同步(主)响应模块管理和模块评估(主)的数据更新请求,对数据部分进行更新,并对数据同步(备)发送数据更新请求;数据同步(备)响应数据同步(主)请求,对数据部分进行数据更新。
⑤时间维护:维护无人机的系统时间,为消息调度提供时间依据;对外提供接口,可在分布式结构下实现时间同步。
数据部分说明如下:
①模块信息:记录挂载在软件总线之上的功能模块信息,是模块管理的运行时数据基础。
②模块评估体系:记录各功能模块评估规则、自愈级别,为模块评估提供评估标准,为功能模块的自愈提供保障。
4、功能模块自愈分级机制
功能模块自愈分级机制采用用户指定和系统判定相结合的形式:用户既可以强制指定功能模块的自愈级别,也可由软件总线中的软件评估模块根据功能模块间的调用关系和模块的调度频率来制定模块的自愈级别,并将模块的自愈级别写入到模块评估体系中,依据自愈分级对故障模块执行主备切换的快自愈或者重新启动该模块的冷恢复的自愈。系统判定的功能模块自愈分级采用面向任务的消息被动评估算法,具体评估过程如下:
初始条件:
①功能模块类型权重因子:系统模块(软件总线、硬件抽象封装模块、通信封装模块和数据库模块)为μs,用户定义功能模块为μu
②系统功能模块列表LISTms:{Ms1,Ms2,Ms3,…,Msp-1,Msp};
③用户定义功能列表LISTmu:{Mu1,Mu2,Mu3,…,Muq-1,Muq};
④功能模块自愈分级阈值列表LISTl:{L1,L2,…,Ln},其中L1<L2<…<Ln
⑤功能模块服务响应平均时间列表LISTt:{T1,T2,T3,…,Tp,…,Tp+q};
⑥各功能模块的初始自愈级别
Figure BDA0001641644170000081
其中
Figure BDA0001641644170000082
(i∈{1,2,3,…,n},j∈{1,2,3,…,p+q}),任意功能模块的自愈级别在功能模块自愈分级阈值列表LISTl的邻近区间[Li,Li+1];
算法执行流程:
①无人机执行任务的功能模块序列为LISTtask:{M1,M2,M3,…,Mi,…,Mx},任务功能序列LISTtask对应的运行时间列表为
Figure BDA0001641644170000091
Figure BDA0001641644170000092
其中i∈{1,2,3,…,p+q},x为完成任务需要执行的功能模块数,
Figure BDA0001641644170000093
为功能模块M1对应的时间段数目;
②依据LISTtask和LISTtime,按下公式(1),以各模块的执行时间除以所有模块执行的总时间来生成任务执行过程中功能模块权重因子的序列为LISTμ:{μ123,…,μi,…,μx},μi为功能模块Mi的任务执行权重因子,x为LISTtask中模块的总数目;
Figure BDA0001641644170000094
③根据各模块消息调度实际情况更新LISTt,令H′=μiμjTk′,其中Tk′为LISTt的更新值,μi∈{μsu},μj∈LISTμ
也即:功能模块服务响应平均时间列表LISTt:{T1,T2,T3,…,Tp,…,Tp+q};任务执行过程中功能模块权重因子的序列为LISTμ:{μ123,…,μi,…,μx};执行任务过程中不是所有功能模块都有运行,所以针对执行任务运行的x个模块进行更新,不执行任务的模块不更新;μi是初始定义的权重因子,μj是根据任务更新的权重因子,针对执行任务运行的x个模块,其中每一个模块的Tk′值乘以这个模块对应的两个μiμj,然后得到H′;
④对比H′和LISTl,若H′的值由Li<H′≦Li+1,改变为H′<Li或H′>Li+1,变更至下个区间值,则更新LISThi中模块对应的自愈级别,否则保持不变;
⑤重复步骤③、④,直至此次任务结束。
采用功能模块自愈分级机制,用户指定的方式强化了用户先验知识的决策性;系统判定的方式既保证了模块自愈要求,又合理使用了无人机运算和存储资源。
实施例2
设计一种通用的基于软件总线的无人机快自愈系统,应用于对外提供飞行控制接口的无人机,实施例应用如图1所示。基于软件总线的无人机快自愈系统以软件总线和模块化为核心;采用双软件总线互评结构,有效的避免了核心组件单节点问题,也为其它功能模块自愈提供保障;软件总线采用功能和数据分离方式,在双软件总线的基础上,实现了无人机系统的功能模块自愈;功能模块自愈分级机制,运用人为指定和系统判定的自愈分类分级方法,在对人为先验知识给予重视的前提下,保证功能模块的自愈要求,且合理使用有限的运算和存储资源。
1)基于软件总线的无人机快自愈系统。
基于软件总线的无人机快自愈系统如图2所示,系统构建在Linux操作系统之上,操作系统为底层硬件(传感器、执行器和通讯设备)接口层提供访问/控制接口。无人机系统包括两个部分:软件总线和功能模块,各功能模块均挂载在软件总线之上,软件总线为功能模块提供运行环境,对功能模块的运行进行全生命周期管理,约定了功能模块间的通讯协议,实现了功能模块间的松耦合,保证了系统的可扩展性和模块间的互操作性,为系统的快速应用开发提供技术支撑。
软件总线是一种轻量化、易维护的软件技术,以“即插即用”为指导思想,是构建无人机系统的基础,也是协调操作系统和挂载在软件总线之上的功能模块的中间软件,其功能支持主要包含五个方面:
①采用标准化模块间通讯协议和规范化模块接口,保证了系统的可扩展性和功能模块的互操作性,实现了功能模块间的松耦合;依据软件总线模块管理功能已存储的模块信息,对符合模块信息记录的功能模块提供即插即用支持,不符合模块信息记录的功能模块,需在模块注册完成后才能具备该功能;无人机系统运行时,软件总线消息调度模块依据功能模块的消息内容对消息进行转发调度;
②软件总线启动运行后,响应随后启动的功能模块的注册要求,功能模块运行时进行响应模块评估对功能模块执行的评估策略;
③对挂载在软件总线上的各模块依据模块评估体系进行运行时评估;
④软件总线组成模块运行时导致依赖数据发生变更时,对软件总线上的运行数据进行备份;
⑤维护无人机系统内部的时间,对外提供接口,实现与其它系统的时间同步。
模块化功能组件在遵循软件总线定义的通讯协议和接口规范下具备极大的灵活性。在系统中,功能模块分为系统功能模块和用户自定义功能模块。系统功能模块包含硬件抽象封装模块、通信封装模块和数据库模块,系统功能模块说明如下:
①硬件抽象封装模块:以Linux操作系统为基础,对功能终端(传感器和执行器)原始硬件接口进行抽象封装,以配置文件为媒介,实现功能终端的增加、删除和修改,对无人机的功能终端资源进行集中管理,并对其它功能模块提供统一的资源访问和控制接口,大大削弱了无人机的异构性,为多无人机作业提供底层支持,访问/控制接口如下所示:
int read(device_id,read_buffer);//返回值:读取状态的长度
//device_id:设备ID,read_buffer:缓存
//访问功能终端的状态
int write(device_id,write_buffer)//返回值:写入控制指令的长度
//device_id:设备ID,write_buffer:缓存
//控制功能终端执行命令
②通信封装模块:以Linux操作系统为基础,对无人机的不同无线通信方式(支持Wifi、ZigBee和Mavlink)进行封装,对通信资源进行集中管理,采用自适配的方式,为各功能模块提供与其它具备相同通信方式的无人机或系统的上层通信接口,用户自定义功能模块进行数据通信时仅需关注通信内容,而不必在通信方式上投入时间;
③数据库模块:在Linux操作系统环境下,以SQlite数据库为基础,对SQlite的磁盘数据库和内存数据库接口进行封装,为功能模块的数据增、删、查、改提供支持,并定时进行内存数据库和磁盘数据库之间的数据同步。
2)双软件总线的互相评估结构
双软件总线互相评估结构如图3所示,为了轻量化无人机系统的基础核心,双软件总线采用主/备运行:处于主状态的软件总线(如图3所示绿色部分)启用所有组成功能模块,且各组成功能模块以全功能运行;而处于备状态的软件总线(如图3所示灰色部分)仅运行模块评估和数据同步模块,以功能模块的形式挂载在主状态的软件总线之上,且模块评估仅对主状态的软件总线进行功能评估,其它的功能模块(如图3所示软件总线(备)中所示的灰色功能模块)处于已注册但未对外提供服务状态。双软件总线的模块评估以同样的模块评估体系对双软件总线进行自评和他评,当两者评估结果满足模块评估体系的自愈条件时,则对双软件总线进行主/备状态的瞬时切换。双软件总线的互评流程图如图4所示。
无人机系统以双软件总线为基础,双软件总线以同样的模块评估体系对软件总线的组成功能模块进行自评和他评,双软件总线分别采用全功能和非全功能运行。双软件总线的互评结构从软件层面有效避免了单节点故障问题,保证了无人机系统基础核心自愈能力。
3)功能和数据分离的软件总线
软件总线采用功能和数据分离的结构,如图5所示的数据部分和功能部分虚线框所示,功能部分包含消息调度、模块管理、模块评估、数据同步和时间维护五个组成模块,数据部分由模块信息和模块评估体系构成。下面将对各组成模块和数据部分进行说明:
功能部分模块说明如下:
①消息调度:在软件总线规范的通讯协议上,对挂载在软件总线上的功能模块所发送的消息进行调度转发,消息调度根据消息的类型(控制命令和感知信息)和消息时间戳对消息进行转发。
②模块管理:对挂载在软件总线上的功能模块进行注册和注销,载入模块信息数据部分,当功能模块发生信息变更时,向数据同步模块发送更新模块信息请求,响应执行模块评估依据模块评估体系发出的自愈策略。
③模块评估:模块评估分为主/备两个状态,两个状态均以同样的模块评估体系为基础,模块评估(主)执行全功能评估,对所有的功能模块进行功能和性能的评估,依据功能模块的调用关系和调用频率动态调整模块评估体系,并向模块管理发送执行功能模块的自愈策略的请求;模块评估(备)执行部分功能,仅对软件总线(主)进行评估,软件总线的自愈由模块评估(主/备)共同决定。
④数据同步:数据同步分为主/备两个状态,数据同步(主)响应模块管理和模块评估(主)的数据更新请求,对数据部分进行更新,并对数据同步(备)发送数据更新请求;数据同步(备)响应数据同步(主)请求,对数据部分进行数据更新。
⑤时间维护:维护无人机的系统时间,为消息调度提供时间依据;对外提供接口,可在分布式结构下与其它的系统间实现时间同步。
数据部分说明如下:
①模块信息:记录挂载在软件总线之上的功能模块信息(模块名称、模块状态、接口类型、接口消息类型),是模块管理的运行时数据基础。
②模块评估体系:记录各功能模块评估规则、自愈级别,为模块评估提供评估标准,为功能模块的自愈提供保障。
软件总线中的功能部分和数据部分是密切关系,不断动态交互的两个部分,如图6所示,为功能模块和数据的交互流程,软件总线启动首先运行各组成功能模块,各组成功能模块载入其数据部分,功能模块在运行时如发生数据部分变更情况,则对数据进行更新。
4)功能模块自愈分级机制
功能模块自愈分级机制采用用户指定和系统判定相结合的形式:用户既可以强制指定功能模块的自愈级别,也可由软件总线中的软件评估模块根据功能模块间的调用关系和模块的调度频率来制定模块的自愈级别,并将模块的自愈级别写入到模块评估体系中。
如图7所示,为功能模块自愈分级流程图,功能模块运行后,模块评估依据载入的模块评估体系中的模块自愈类型,分为用户指定和系统判定两个类型,对于用户指定自愈类型,模块评估根据模块评估体系对功能模块进行评估,不做任何变更;对于系统判定类型的功能模块,模块评估动态的收集该功能模块的调用关系和模块的调用频率,依据模块评估体系的判定策略来决定是否变更该功能模块的自愈级别。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (5)

1.一种基于软件总线的无人机快自愈系统,其特征在于,包括:双软件总线和功能模块,软件总线作为系统的基础,是协调操作系统和挂载在软件总线之上的功能模块的中间软件,软件总线采用功能和数据分离的结构;双软件总线,其中一个为主软件总线,运行全功能模块;另一个为备用软件总线,仅运行部分功能模块,有需要时对主软件总线和备用软件总线进行主备切换,实现系统核心组件软件总线的自愈;
所述双软件总线采用采用主备两种运行状态的双软件总线互评结构,所述备用软件总线仅运行模块评估和数据同步模块,以功能模块的形式挂载在主软件总线之上,且模块评估仅对主软件总线进行功能评估,其它的功能模块处于已注册但未对外提供服务状态;
所述主软件总线进行自我评估,备用软件总线进行主软件总线的评估,根据主软件总线的自评结果和备用软件总线的他评结果,当自评和他评结果满足切换条件时,则对主软件总线和备用软件总线进行主备切换,实现系统核心组件软件总线的自愈;
对主软件总线和备用软件总线进行主备切换,实现系统核心组件软件总线的自愈时,采用功能模块自愈分级的机制:功能模块自愈分级机制采用用户自指定和系统判定相结合的判定形式,不同的自愈级别对应不同的自愈策略;
系统判定的功能模块自愈分级采用面向任务的消息被动评估算法,并将模块的自愈级别写入到模块评估体系中。
2.根据权利要求1所述的基于软件总线的无人机快自愈系统,其特征在于,软件总线采用功能和数据分离的结构;
其中功能部分包括消息调度、模块管理、模块评估、数据同步和时间维护;消息调度进行模块间的消息转发调度;模块管理进行挂载在软件总线的功能模块的注册、注销和故障恢复;模块评估根据软件总线的运行状态,依据模块评估体系分别进行所有功能模块的评估和软件总线功能模块的评估,并通知模块管理进行对应的操作;数据同步根据软件总线的运行状态,分为主动同步和被动同步,在主软件总线上,数据同步更新主软件总线的数据部分,并向备用软件总线数据同步发出数据同步要求,在备用软件总线上,根据主软件总线的数据同步消息进行数据的同步;时间维护负责维护无人机的时间更新;
数据部分包括模块信息和模块评估体系;模块信息包含挂载在软件总线上的各功能模块的运行信息和管理信息,为软件总线和各功能模块的自愈提供数据记录;模块评估体系是判断软件总线和各功能模块是否正常运行和故障时如何处理的依据。
3.根据权利要求1所述的基于软件总线的无人机快自愈系统,其特征在于,软件总线功能包括:
①规范模块间通讯协议和模块的接口,保证系统的可扩展性和功能模块的互操作性;
②为挂载在软件总线上的各功能模块提供全生命周期管理;
③对挂载在软件总线上的各模块依据模块评估体系进行运行时评估;
④对软件总线上的运行数据进行备份;
⑤维护无人机系统内部的时间,对外提供接口,实现与其它系统的时间同步。
4.根据权利要求1所述的基于软件总线的无人机快自愈系统,其特征在于,功能模块包括系统功能模块和用户自定义功能模块;
系统功能模块包括硬件抽象封装模块、通信封装模块和数据库模块,其中硬件抽象封装模块和通信封装模块在操作系统之上,对功能终端包括传感器和执行器的原始接口进行抽象封装;数据库模块封装了数据库接口,为功能模块的数据增、删、查、改提供支持;
用户自定义模块为用户个性化需求提供可扩展支持,用户根据自己的实际需求对系统功能模块进行功能重构。
5.根据权利要求1或4所述的基于软件总线的无人机快自愈系统,其特征在于,系统判定的功能模块自愈分级具体评估过程如下:
初始条件:
①功能模块类型权重因子:系统模块包括软件总线、硬件抽象封装模块、通信封装模块和数据库模块为μs,用户定义功能模块为μu
②系统功能模块列表LISTms:{Ms1,Ms2,Ms3,...,Msp-1,Msp};
③用户定义功能列表LISTmu:{Mu1,Mu2,Mu3,...,Muq-1,Muq};
④功能模块自愈分级阈值列表LISTl:{L1,L2,...,Ln},其中L1<L2<…<Ln
⑤功能模块服务响应平均时间列表LISTt:{T1,T2,T3,...,Tp,...,Tp+q};
⑥各功能模块的初始自愈级别LISThi
Figure FDA0002703614550000031
其中
Figure FDA0002703614550000032
Figure FDA0002703614550000033
任意功能模块的自愈级别在功能模块自愈分级阈值列表LISTl的邻近区间[Li,Li+1];
算法执行流程:
①无人机执行任务的功能模块序列为LISTtask:{M1,M2,M3,...,Mi,...,Mx},任务功能序列LISTtask对应的运行时间列表为LISTtime
Figure FDA0002703614550000034
Figure FDA0002703614550000035
其中i∈{1,2,3,...,p+q},x为完成任务需要执行的功能模块数,
Figure FDA0002703614550000036
为功能模块M1对应的时间段数目;
②依据LISTtask和LISTtime,按下公式(1),以各模块的执行时间除以所有模块执行的总时间来生成任务执行过程中功能模块权重因子的序列为LISTμ:{μ1,μ2,μ3,...,μi,...,μx},μi为功能模块Mi的任务执行权重因子,x为LISTtask中模块的总数目;
Figure FDA0002703614550000037
③根据各模块消息调度实际情况更新LISTt,令H′=μiμjT′k,其中T′k为LISTt的更新值,μi∈{μs,μu},μj∈LISTμ
④对比H′和LISTl,若H′的值由Li<H′≤Li+1,改变为H′<Li或H′>Li+1,变更至下个区间值,则更新LISThi中模块对应的自愈级别,否则保持不变;
⑤重复步骤③、④,直至此次任务结束。
CN201810383670.4A 2018-04-26 2018-04-26 一种基于软件总线的无人机快自愈系统 Active CN108647174B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810383670.4A CN108647174B (zh) 2018-04-26 2018-04-26 一种基于软件总线的无人机快自愈系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810383670.4A CN108647174B (zh) 2018-04-26 2018-04-26 一种基于软件总线的无人机快自愈系统

Publications (2)

Publication Number Publication Date
CN108647174A CN108647174A (zh) 2018-10-12
CN108647174B true CN108647174B (zh) 2021-01-19

Family

ID=63747409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810383670.4A Active CN108647174B (zh) 2018-04-26 2018-04-26 一种基于软件总线的无人机快自愈系统

Country Status (1)

Country Link
CN (1) CN108647174B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726047A (zh) * 2018-11-28 2019-05-07 国云科技股份有限公司 一种基于模板实现组件自愈的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799776A (zh) * 2010-02-25 2010-08-11 上海华为技术有限公司 多核处理器故障处理方法、多核处理器及通信设备
CN101807950A (zh) * 2010-02-25 2010-08-18 福建三元达通讯股份有限公司 一种直放站系统实现环路自愈功能的方法
CN107733730A (zh) * 2017-12-01 2018-02-23 湖南智领通信科技有限公司 基于动态优先级的网络拓扑自愈方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2490645A1 (en) * 2004-12-16 2006-06-16 Ibm Canada Limited - Ibm Canada Limitee Data-centric distributed computing
CN105301955A (zh) * 2015-10-19 2016-02-03 中国航空无线电电子研究所 一种系统级重构管理应用软件主从切换方法
CN205427623U (zh) * 2015-11-23 2016-08-03 杨珊珊 一种多控制端的无人机及其控制台和系统
CN105867412A (zh) * 2016-04-15 2016-08-17 平玉兰 一种小型无人机的机载计算机软件系统
CN106405491B (zh) * 2016-08-29 2018-11-30 成都川美新技术股份有限公司 基于软件无线电的无人机监测系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799776A (zh) * 2010-02-25 2010-08-11 上海华为技术有限公司 多核处理器故障处理方法、多核处理器及通信设备
CN101807950A (zh) * 2010-02-25 2010-08-18 福建三元达通讯股份有限公司 一种直放站系统实现环路自愈功能的方法
CN107733730A (zh) * 2017-12-01 2018-02-23 湖南智领通信科技有限公司 基于动态优先级的网络拓扑自愈方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"考虑电动机负荷的微网电压稳定性分析";张向伍;《中国优秀硕士学位论文全文数据库(电子期刊)工程科技Ⅱ辑》;20141215;C042-92 *

Also Published As

Publication number Publication date
CN108647174A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN111614785B (zh) 一种基于微容器云的边缘ai计算集群
CN110231976B (zh) 一种基于负载预测的边缘计算平台容器部署方法及系统
CN112214280B (zh) 一种电力系统仿真的云化方法及系统
CN106357426A (zh) 一种基于工业云的大规模分布式智能数据采集系统及方法
CN102088490B (zh) 数据存储方法、设备和系统
CN109936622A (zh) 一种基于分布式资源共享的无人机集群控制方法及系统
CN109522002A (zh) 一种基于模型驱动的无人机地面站开放式架构
CN103778031A (zh) 一种云环境下的分布式系统多级故障容错方法
CN110191148A (zh) 一种面向边缘计算的统计函数分布式执行方法及系统
CN104966330A (zh) 基于云计算机的远程机房智能巡检系统
CN105554123A (zh) 大容量感知云计算平台系统
CN108449383A (zh) 分布式实时移动微云计算系统
CN108647174B (zh) 一种基于软件总线的无人机快自愈系统
CN114666682A (zh) 多传感器物联网资源自适应部署管控中间件
CN115225675A (zh) 一种基于边缘计算的充电场站智能运维的系统
CN115334098A (zh) 一种基于工业PaaS技术的企业数字化系统
CN101753359A (zh) 动态组件分布的方法和系统
CN117726153A (zh) 一种适用于无人机集群作业任务的实时重归划方法
CN106961700B (zh) 集群航电系统计算资源动态远程容错重构的无线通信方法
CN115037600A (zh) 一种支持长连接的低功耗物联网平台及其设备和管理方法
CN112039985B (zh) 一种异构云管理方法及系统
CN110263371A (zh) 基于aadl的ima动态重构过程配置路径生成方法
CN107300909A (zh) 一种基于mvc框架的无人机地面维护系统及方法
CN113255163B (zh) 基于分布式仿真技术的关联基础设施系统建模方法及装置
CN113872673A (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