该设计属于计算机软件-系统应用软件领域,涉及一种机载端航电总线状态交换协议处理方法。
背景技术:
随着民用航空电子系统的发展,飞机内部的航电总线种类越来越多,机载航电数据信息管理系统负责对航电总线上数据进行实时地采集,并且将采集的数据通过某种方式发送给外部应用。当外部应用接收不到航电数据信息管理系统发送的数据时,需要某种远程方式能够获得总线上的历史信息,根据历史信息来分析总线的历史状态和当前所处的状态。如何远程获取机载航电总线的历史信息,这就需要用户自定义一套轻量级的远程获取机载航电总线管理信息的协议,轻量级的机载航电总线管理信息协议占用的机载设备资源少,并且交互方式简单易行,利于在机载设备上实现,并且能够达到很好的使用效果。
技术实现要素:
本发明的目的:
本发明提供一种机载端航电总线状态交换协议处理方法,能够在机载设备上开发机载航电总线管理的服务,进而对航电总线状态信息进行实时监控和管理,从而给远程的外部应用获取机载端航电总线状态信息提供了便利,便于外部管理人员实时了解机载设备的航电总线的状态,便于发现航电总线的故障信息,从而利于对航电设备的维护和维修。
本发明的技术方案:
一种机载端航电总线状态交换协议处理方法,包括:
步骤1、等待接收外部应用请求消息;如果接收到外部应用请求消息,解析所述请求消息;
步骤2、如果解析得到所述请求消息为访问命令A消息,根据访问命令A消息中总线类型和总线ID请求的总线状态信息,获取机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息;
步骤3、组装访问命令A的响应消息并发送给外部应用,返回步骤1;
步骤4、如果解析得到所述请求消息为访问命令R消息,根据访问命令R消息中总线类型和总线ID请求的总线状态信息,获取机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息;
步骤5、组装访问命令R的响应消息并发送给外部应用,返回步骤1;
步骤6、如果解析得到所述请求消息为访问命令S消息,根据访问命令S消息中总线类型和总线ID请求的总线状态信息,获取机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息;
步骤7、组装访问命令S的响应消息并发送给外部应用,返回步骤1;
航电总线管理信息库中机载端航电总线管理信息模型为:
(1)机载端航电总线管理信息模型采用树形结构,模型采用四层树,根节点是管理信息库,一层是总线类型节点,二层是总线号节点,三层是记录的航电总线状态信息;
(2)航电总线管理信息模型的状态信息中包含如下关系:
当正常接收情况:
a.接收总线数据总字节数次数*4294967296+接收总线数据总字节数=(接收数据成功总字节数次数*4294967296+接收总线数据成功总字节数)+(接收数据失败总字节数次数*4294967296+接收总线数据失败总字节数);
b.当接收总线数据总字节数等于4294967296时,接收总线数据总字节数次数加1;
c.当接收总线数据成功总字节数等于4294967296,接收数据成功总字节数次数加1;
d.每当接收一次数据,数据通过完整性校验,则接收总线数据成功总字节数更新为原来的值加上本次接收的数据的字节数,接收总线数据总字节数更新为原来的值加上本次接收的数据的字节数,接收成功次数加1,最近一次接收总线数据成功时间更新为接收数据时时间;当接收数据是第一个数据包时,记录第一次接收数据时间;
e.当接收总线数据失败总字节数等于4294967296,接收数据失败总字节数次数加1;
f.每当接收一次数据,数据未能通过完整性校验,则接收总线数据失败总字节数更新为原来的值加上本次接收的数据的字节数,接收总线数据总字节数更新为原来的值加上本次接收的数据的字节数,接收失败次数加1,最近一次接收总线数据失败时间更新为接收数据时时间;当接收数据是第一个数据包时,记录第一次接收数据时间;
g.当接收失败次数达到设定的阈值后,接收总线状态设置为失效状态,否则接收总线状态设置为正常工作状态;
当正常发送情况:
a.发送总线数据总字节数次数*4294967296+发送总线数据总字节数=(发送数据成功总字节数次数*4294967296+发送总线数据成功总字节数)+(发送数据失败总字节数次数*4294967296+发送总线数据失败总字节数次数);
b.当发送总线数据总字节数等于4294967296时,发送总线数据总字节数次数加1;
c.当发送总线数据成功总字节数等于4294967296时,发送数据成功总字节数次数加1;
d.每当发送一次数据,数据发送成功,则发送总线数据成功总字节数更新为原来的值加上本次发送的数据的字节数,发送总线数据总字节数更新为原来的值加上本次发送的数据的字节数,发送成功次数加1,最近一次发送总线数据成功时间更新为发送数据时时间;当发送数据是第一个数据包时,记录第一次发送数据时间;
e.当发送总线数据失败总字节数等于4294967296,发送数据失败总字节数次数加1;
f.每当发送一次数据,数据发送失败,则发送总线数据失败总字节数更新为原来的值加上本次发送的数据的字节数,发送总线数据总字节数更新为原来的值加上本次发送的数据的字节数,发送失败次数加1,最近一次发送总线数据失败时间更新为发送数据时时间;当发送数据是第一个数据包时,记录第一次发送数据时间;
g.当发送失败次数达到设置的阈值后,发送总线状态设置为失效状态,否则阈值内,发送总线状态设置为正常工作状态。
访问命令A、R、S消息中总线类型和总线ID请求的总线状态信息时,机载航电总线信息管理协议交互流程包括:
一、访问命令A交互过程:应用向机载端发送访问命令A的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应;
二、访问命令R交互过程:应用向机载端发送访问命令R的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应;
三、访问命令S交互过程:应用向机载端发送访问命令S的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应。
访问命令A、R、S消息中总线类型和总线ID请求的总线状态信息时,机载航电总线信息管理协议交互流程的交互协议数据模型具体为:
分为请求消息和响应消息两部分,两个消息的字段定义如下:
(1)总线类型:表示请求总线类型;
(2)总线ID:表示请求的具体的某条总线。
(3)访问命令:表示请求的总线状态信息,访问命令分为:
A:表示获取此总线下面所有状态信息;
R:表示获取此总线下面与接收有关的状态信息;
S:表示获取此总线下面与发送有关的状态信息。
(4)请求消息状态码:表示请求的消息正确与否,状态码分为:
0:表示请求消息中所有字段都正确;
1:表示请求消息的CRC校验错误;
2:表示请求消息中无此总线类型;
3:表示请求消息中无此总线ID;
4:表示请求消息中无此访问命令。
(5)响应命令:表示对请求消息中访问命令的回复,响应命令分为:
AR:表示对访问命令A的响应;
RR:表示对访问命令R的响应;
SR:表示对访问命令S的响应。
(6)数据:当请求消息内容检查正确和通过,则响应消息包含此字段,如果请求消息检查出现错误,则响应消息不包含此字段。
(7)CRC:表示消息的CRC校验码。
本发明具有的优点效果:
本设计在使用过程中可以获取以下有益效果:
(1)提供对机载航电总线的状态监控和管理,通过对每一类航电总线的每一条航电总线的状态信息的统计,便于机载维护人员和管理人员及时地通过远程方式获悉航电总线的历史状态信息,分析机载航电总线是否发生故障,故障发生的时间点和发生的频率,提高了设备的可维护性和维修性。
(2)方法的通用性:本方法是一种轻量级的协议,机载端实现协议时占用的硬件资源少,便于实现和可操作性,不论是采用TCP还是UDP都可实现此协议。
附图说明
图1为机载端航电总线管理信息模型示意图。
图2为机载航电总线信息管理交互协议数据模型示意图。
图3为机载航电总线信息管理协议交互流程示意图。
图4为机载端航电总线交换协议数据处理流程示意图。
具体实施方式
一种机载端航电总线状态交换协议处理方法,包括:
步骤1、等待接收外部应用请求消息;如果接收到外部应用请求消息,解析所述请求消息;
步骤2、如果解析得到所述请求消息为访问命令A消息,根据访问命令A消息中总线类型和总线ID请求的总线状态信息,获取机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息;
步骤3、组装访问命令A的响应消息并发送给外部应用,返回步骤1;
步骤4、如果解析得到所述请求消息为访问命令R消息,根据访问命令R消息中总线类型和总线ID请求的总线状态信息,获取机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息;
步骤5、组装访问命令R的响应消息并发送给外部应用,返回步骤1;
步骤6、如果解析得到所述请求消息为访问命令S消息,根据访问命令S消息中总线类型和总线ID请求的总线状态信息,获取机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息;
步骤7、组装访问命令S的响应消息并发送给外部应用,返回步骤1。
航电总线管理信息库中机载端航电总线管理信息模型为:
(1)机载端航电总线管理信息模型采用树形结构,模型采用四层树,根节点是管理信息库,一层是总线类型节点,二层是总线号节点,三层是记录的航电总线状态信息;
(2)航电总线管理信息模型的状态信息中包含如下关系:
当正常接收情况:
a.接收总线数据总字节数次数*4294967296+接收总线数据总字节数=(接收数据成功总字节数次数*4294967296+接收总线数据成功总字节数)+(接收数据失败总字节数次数*4294967296+接收总线数据失败总字节数);
b.当接收总线数据总字节数等于4294967296时,接收总线数据总字节数次数加1;
c.当接收总线数据成功总字节数等于4294967296,接收数据成功总字节数次数加1;
d.每当接收一次数据,数据通过完整性校验,则接收总线数据成功总字节数更新为原来的值加上本次接收的数据的字节数,接收总线数据总字节数更新为原来的值加上本次接收的数据的字节数,接收成功次数加1,最近一次接收总线数据成功时间更新为接收数据时时间;当接收数据是第一个数据包时,记录第一次接收数据时间;
e.当接收总线数据失败总字节数等于4294967296,接收数据失败总字节数次数加1;
f.每当接收一次数据,数据未能通过完整性校验,则接收总线数据失败总字节数更新为原来的值加上本次接收的数据的字节数,接收总线数据总字节数更新为原来的值加上本次接收的数据的字节数,接收失败次数加1,最近一次接收总线数据失败时间更新为接收数据时时间;当接收数据是第一个数据包时,记录第一次接收数据时间;
g.当接收失败次数达到设定的阈值后,接收总线状态设置为失效状态,否则接收总线状态设置为正常工作状态;
当正常发送情况:
a.发送总线数据总字节数次数*4294967296+发送总线数据总字节数=(发送数据成功总字节数次数*4294967296+发送总线数据成功总字节数)+(发送数据失败总字节数次数*4294967296+发送总线数据失败总字节数次数);
b.当发送总线数据总字节数等于4294967296时,发送总线数据总字节数次数加1;
c.当发送总线数据成功总字节数等于4294967296时,发送数据成功总字节数次数加1;
d.每当发送一次数据,数据发送成功,则发送总线数据成功总字节数更新为原来的值加上本次发送的数据的字节数,发送总线数据总字节数更新为原来的值加上本次发送的数据的字节数,发送成功次数加1,最近一次发送总线数据成功时间更新为发送数据时时间;当发送数据是第一个数据包时,记录第一次发送数据时间;
e.当发送总线数据失败总字节数等于4294967296,发送数据失败总字节数次数加1;
f.每当发送一次数据,数据发送失败,则发送总线数据失败总字节数更新为原来的值加上本次发送的数据的字节数,发送总线数据总字节数更新为原来的值加上本次发送的数据的字节数,发送失败次数加1,最近一次发送总线数据失败时间更新为发送数据时时间;当发送数据是第一个数据包时,记录第一次发送数据时间;
g.当发送失败次数达到设置的阈值后,发送总线状态设置为失效状态,否则阈值内,发送总线状态设置为正常工作状态。
访问命令A、R、S消息中总线类型和总线ID请求的总线状态信息时,机载航电总线信息管理协议交互流程包括:
一、访问命令A交互过程:应用向机载端发送访问命令A的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应;
二、访问命令R交互过程:应用向机载端发送访问命令R的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应;
三、访问命令S交互过程:应用向机载端发送访问命令S的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应。
访问命令A、R、S消息中总线类型和总线ID请求的总线状态信息时,机载航电总线信息管理协议交互流程的交互协议数据模型具体为:
分为请求消息和响应消息两部分,两个消息的字段定义如下:
(1)总线类型:表示请求总线类型;
(2)总线ID:表示请求的具体的某条总线。
(3)访问命令:表示请求的总线状态信息,访问命令分为:
A:表示获取此总线下面所有状态信息;
R:表示获取此总线下面与接收有关的状态信息;
S:表示获取此总线下面与发送有关的状态信息。
(4)请求消息状态码:表示请求的消息正确与否,状态码分为:
0:表示请求消息中所有字段都正确;
1:表示请求消息的CRC校验错误;
2:表示请求消息中无此总线类型;
3:表示请求消息中无此总线ID;
4:表示请求消息中无此访问命令。
(5)响应命令:表示对请求消息中访问命令的回复,响应命令分为:
AR:表示对访问命令A的响应;
RR:表示对访问命令R的响应;
SR:表示对访问命令S的响应。
(6)数据:当请求消息内容检查正确和通过,则响应消息包含此字段,如果请求消息检查出现错误,则响应消息不包含此字段。
(7)CRC:表示消息的CRC校验码。
实施例
机载端航电总线交互协议数据处理流程描述了机载端航电总线交互协议服务处理的过程和流程,如图4所示。
(1)机载端服务等待接收外部应用请求消息,无消息则一直等待,有消息时转到(2);
(2)解析外部应用发送的请求消息,根据请求消息格式(图2请求消息)来解析消息;若请求消息正确,且访问命令是A,则执行图3中的访问命令A过程,转到(3);若访问命令是R,则执行图3中的访问命令R过程,转到(6);若访问命令是S,则执行图3中的访问命令S过程,转到(9);若解析请求消息错误,则转到(1);
(3)根据请求消息中的访问命令A、总线类型和总线ID,获取图1中机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息,获取成功后,转到(4);
(4)按图2中响应消息格式组装访问命令A的响应消息,组装成功后,转到(5);
(5)向外部应用发送请求访问命令A对应的响应消息。发送完成后,转到(1);
(6)根据请求消息中的访问命令R、总线类型和总线ID,获取图1中机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息,获取成功后,转到(7);
(7)按图2中响应消息格式组装访问命令R的响应消息,组装成功后,转到(8);
(8)向外部应用发送请求访问命令R对应的响应消息。发送完成后,转到(1);
(9)根据请求消息中的访问命令S、总线类型和总线ID,获取图1中机载端航电总线管理信息库中对应的总线类型和总线ID上的总线状态信息,获取成功后,转到(10);
(10)按图2中响应消息格式组装访问命令S的响应消息,组装成功后,转到(11);
(11)向外部应用发送访问命令S对应的响应消息。发送完成后,转到(1);
1.机载端航电总线管理信息模型
机载端航电总线管理信息模型如图1所示。
(1)机载端航电总线管理信息模型采用树形结构,模型采用四层树,根节点是管理信息库,一层是总线类型节点,二层是总线号节点,三层是记录的航电总线状态信息。
(2)航电总线管理信息模型的状态信息中包含如下关系:
当正常接收情况:
h.接收总线数据总字节数次数*4294967296+接收总线数据总字节数=(接收数据成功总字节数次数*4294967296+接收总线数据成功总字节数)+(接收数据失败总字节数次数*4294967296+接收总线数据失败总字节数);
i.当接收总线数据总字节数等于4294967296时,接收总线数据总字节数次数加1;
j.当接收总线数据成功总字节数等于4294967296,接收数据成功总字节数次数加1;
k.每当接收一次数据,数据通过完整性校验,则接收总线数据成功总字节数更新为原来的值加上本次接收的数据的字节数,接收总线数据总字节数更新为原来的值加上本次接收的数据的字节数,接收成功次数加1,最近一次接收总线数据成功时间更新为接收数据时时间;当接收数据是第一个数据包时,记录第一次接收数据时间。
l.当接收总线数据失败总字节数等于4294967296,接收数据失败总字节数次数加1;
m.每当接收一次数据,数据未能通过完整性校验,则接收总线数据失败总字节数更新为原来的值加上本次接收的数据的字节数,接收总线数据总字节数更新为原来的值加上本次接收的数据的字节数,接收失败次数加1,最近一次接收总线数据失败时间更新为接收数据时时间;当接收数据是第一个数据包时,记录第一次接收数据时间。
n.当接收失败次数达到设定的阈值后,接收总线状态设置为失效状态,否则接收总线状态设置为正常工作状态。
当正常发送情况:
h.发送总线数据总字节数次数*4294967296+发送总线数据总字节数=(发送数据成功总字节数次数*4294967296+发送总线数据成功总字节数)+(发送数据失败总字节数次数*4294967296+发送总线数据失败总字节数次数)
i.当发送总线数据总字节数等于4294967296时,发送总线数据总字节数次数加1;
j.当发送总线数据成功总字节数等于4294967296时,发送数据成功总字节数次数加1;
k.每当发送一次数据,数据发送成功,则发送总线数据成功总字节数更新为原来的值加上本次发送的数据的字节数,发送总线数据总字节数更新为原来的值加上本次发送的数据的字节数,发送成功次数加1,最近一次发送总线数据成功时间更新为发送数据时时间;当发送数据是第一个数据包时,记录第一次发送数据时间。
l.当发送总线数据失败总字节数等于4294967296,发送数据失败总字节数次数加1;
m.每当发送一次数据,数据发送失败,则发送总线数据失败总字节数更新为原来的值加上本次发送的数据的字节数,发送总线数据总字节数更新为原来的值加上本次发送的数据的字节数,发送失败次数加1,最近一次发送总线数据失败时间更新为发送数据时时间;当发送数据是第一个数据包时,记录第一次发送数据时间。
n.当发送失败次数达到设置的阈值后,发送总线状态设置为失效状态,否则阈值内,发送总线状态设置为正常工作状态。
2.机载航电总线信息管理交互协议数据模型
机载航电总线信息管理交互协议数据模型如图2所示,
交互协议数据模型的分为请求消息和响应消息两部分,两个消息的字段定义如下:
(1)总线类型:表示请求总线类型;
(2)总线ID:表示请求的具体的某条总线。
(3)访问命令:表示请求的总线状态信息,访问命令分为:
A:表示获取此总线下面所有状态信息;
R:表示获取此总线下面与接收有关的状态信息;
S:表示获取此总线下面与发送有关的状态信息。
(4)请求消息状态码:表示请求的消息正确与否,状态码分为:
0:表示请求消息中所有字段都正确;
1:表示请求消息的CRC校验错误;
2:表示请求消息中无此总线类型;
3:表示请求消息中无此总线ID;
4:表示请求消息中无此访问命令。
(5)响应命令:表示对请求消息中访问命令的回复,响应命令分为:
AR:表示对访问命令A的响应;
RR:表示对访问命令R的响应;
SR:表示对访问命令S的响应。
(6)数据:当请求消息内容检查正确和通过,则响应消息包含此字段,如果请求消息检查出现错误,则响应消息不包含此字段。
(7)CRC:表示消息的CRC校验码。
3.机载航电总线信息管理协议交互流程
机载航电总线信息管理协议交互流程如图3所示,用于描述应用与机载端航电总线信息管理协议服务的交互过程。
(1)访问命令A交互过程:应用向机载端发送访问命令A的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应。
(2)访问命令R交互过程:应用向机载端发送访问命令R的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应。
(3)访问命令S交互过程:应用向机载端发送访问命令S的请求消息,机载端收到请求消息后进行处理,当请求消息内容完全正确,回复包含数据字段的响应;当请求消息内容检查出现错误,则回复不包含数据字段的响应。
4.机载端航电总线交互协议数据处理流程
机载端航电总线交互协议数据处理流程描述了机载端航电总线交互协议服务处理的过程和流程,如图4所示。
机载端航电总线交互协议处理流程通过图4所示的过程,对来自应用的请求消息进行解析,并且根据航电总线类型、总线ID和访问命令获取相应的数据,最后将响应发送给应用。
在MA700机载信息管理系统机载航电总线数据采集功能中,采用本方法来管理机载航电总线的状态信息和远程获取机载航电总线的状态信息。