本申请涉及航空电子技术领域,更具体地说,涉及一种基于AFDX总线的发布订阅方法和系统。
背景技术:
航空电子全双工通信以太网交换(AFDX总线)是一个基于标准定义的电子和协议规范(IEEE802.3和ARINC 664Part7),其应用于航空电子系统,用于供飞机上航空子系统之间进行数据交换。它提供一个高达24个终端系统的星形拓扑结构,其允许连接冗余来保证带宽和服务质量。AFDX还允许连接到其它的标准总线如ARINC429或者MIL-STD-1553等到网络,并且允许通过网关和路由与其他的适应ARINC-664但非确定的网络进行通信。AFDX地址没有采用IEEE802.3以太网标准,而是采用电信标准的异步传输模式的概念,这种对以太网标准的扩展使得在确定的网络中保证带宽和服务质量成为可能。
AFDX总线给航空电子系统带来了高带宽、高可靠性的同时,也带来了高复杂度的应用及系统设计。在大飞机航电网络中存在数十个AFDX端系统(ES)、数个AFDX交换机,系统拓扑复杂,给应用设计带来了更高的要求。设计者在按照系统方案进行应用逻辑设计的同时,还需要熟悉并设计AFDX总线相关配置。由于AFDX总线复杂的配置特性,造成设计者的工作量极大,从而使设计周期延长。
技术实现要素:
有鉴于此,本申请提供一种基于AFDX总线的发布订阅方法和系统,用于降低设计者的工作量,以避免出现设计周期延长的问题。
为了实现上述目的,现提出的方案如下:
一种基于AFDX总线的发布订阅方法,包括如下步骤:
通过描述的方法对AFDX端系统和所述AFDX总线上相应的总线资源进行配置;
配置多个用于面向应用数据的发布订阅端口,所述发布订阅端口为数据发布端口或数据接收端口;
配置全局数据区,所述全局数据区用于存储所述数据接收端口所接收的数据,并根据接收到的请求向所述数据发布端口转发与所述请求相对应的数据。
可选的,所述通过描述的方法,对AFDX端系统和所述AFDX总线上相应的总线资源进行配置,包括:
发布以XML文件为载体的配置表,所述配置表描述有配置参数和关联关系;
根据所述配置参数对所述AFDX端系统进行配置;
根据所述关联关系对所述总线资源的关系进行配置。
可选的,所述总线资源包括所述AFDX总线的虚拟链路和数据端口。
可选的,所述配置全局数据区,包括:
发布以XML文件为载体的路由配置表,所述路由配置表包括数据之间的路由关系。
一种基于AFDX总线的发布订阅系统,包括:
发布订阅配置模块,用于通过描述的方法,对AFDX端系统和所述AFDX总线上相应的总线资源进行配置;
端口配置模块,用于配置多个用于面向应用数据的发布订阅端口,所述发布订阅端口为数据发布端口或数据接收端口;
发布订阅中间模块,用于配置全局数据区,所述全局数据区用于存储所述数据接收端口所接收的数据,并根据接收到的请求向所述数据发布端口转发与所述请求相对应的数据。
可选的,所述发布订阅配置模块包括:
配置表发布单元,用于发布以XML文件为载体的配置表,所述配置表描述有配置参数和关联关系;
第一配置单元,用于根据所述配置参数对所述AFDX端系统进行配置;
第二配置单元,用于根据所述关联关系对所述总线资源的关系进行配置。
可选的,所述总线资源包括所述AFDX总线的虚拟链路和数据端口。
可选的,所述发布订阅中间模块具体用于发布以XML文件为载体的路由配置表,所述路由配置表包括数据之间的路由关系。
从上述的技术方案可以看出,本申请公开了一种基于AFDX总线的发布订阅方法和系统,具体方法和系统为通过描述的方法对AFDX端系统和AFDX总线上相应的总线资源进行配置;配置多个订阅端口,多个订阅端口包括多个数据发布端口和多个数据接收端口;配置全局数据区,全局数据区用于存储数据接收端口所接收的数据,并根据接收到的请求向数据发布端口转发与请求相对应的数据。通过以上的方法和系统,设计者在按照系统方案进行应用逻辑设计的同时,无需面对AFDX总线复杂的配置特性,而是在按照系统方案进行应用逻辑设计的同时,只需面对发布订阅端口进行数据收发即可,降低了设计者的工作量,从而使设计周期得到有效控制。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种基于AFDX总线的发布订阅方法实施例的流程图;
图2为本申请提供的一种基于AFDX总线的发布订阅系统实施例的结构框图;
图3为本申请提供的另一种基于AFDX总线的发布订阅系统的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请提供的一种基于AFDX总线的发布订阅方法实施例的流程图。
如图1所示,本实施例提供的设计方法用于简化航空应用系统的设计,具体步骤包括:
S101:对AFDX端系统和AFDX总线的总线资源进行配置。
具体来说,基于XML文件的描述方法,利用相应的XML文件描述发布订阅主题topic和AFDX总线上总线资源的对应关系,总线资源包括虚拟链路、数据端口等。具体情况如下:
首先发布以XML文件为载体的配置表,该配置表内包含多种内容,其中至少包括配置参数和关联关系;
然后,根据上述配置参数对AFDX端系统进行配置,具体为配置AFDX端系统的设备ID、端系统状态、端系统名称。
最后,利用上述XML文件描述的关联关系对AFDX总线的总线资源进行配置,包括:
配置VL(Virtual link,虚拟链路);
配置VL号、VL方向,配置VL最大帧长度,配置VL实际通信物理通道(A网/B网/A B网冗余);
配置接收端口和发送端口等数据端口:
配置接收端口ID、接收端口类型(Sampling_or_Queuing)、接收端口目的分区,接收端口目的UDP(User Datagram Protocol,用户数据报协议)端口;
配置发送端口ID、目的设备ID、发送端口目的分区、发送端口目的UDP端口、发送端口是否使能分帧、目的IP地址类型(组播、单播)、发送端口类型(周期或者非周期)、发送端口消息周期、源分区、源端口。
另外,还包括对发布订阅消息进行配置,例如,利用相应的程序语言定义发送端口、发布端口、发布数据区、接收端口、订阅端口、订阅数据区、AFDX端系统1、AFDX端系统2、AFDX端系统3、AFDX端口0、AFDX端口1等。
其中,配置发送端口为发布端口,及其关联的发布数据区(PTOPIC);配置接收端口为订阅端口,及其关联的订阅数据区(STOPIC);AFDX端系统1作为系统订阅节点,在AFDX端口0上订阅了燃油油量消息、在AFDX端口1上订阅了发动机温度消息,当应用层进行燃油量数据或者发动机温度读取时,不必关心此数据底层通信原理,在上层使用相应API即可完成数据获取;
AFDX端系统2作为系统发布节点,在AFDX端口2上发布了液压压力消息、在AFDX端口3上发布了刹车角度。对于液压压力传感器或者刹车角度传感器设计者来说只需要使用相应的发布端口进行相关数据发布即可。
AFDX发布订阅配置工具用于保证上层数据端口与底层AFDX数据的关联,保证了应用与底层通信的一致性。
S102:配置多个面向具体应用数据的发布订阅端口。
通过对总线进行配置,提供多个标准的用于发布或订阅的发布订阅端口,上述发布订阅端口面向具体应用数据,分别包括多个数据发布端口和多个数据接收端口。
应用的设计者只需要面对发布订阅端口。对于传感器终端或者AFDX远程数据集中器,只需要面向具体应用的数据发布端口,发布功能应用数据。对于航电核心处理机只需要面向具体应用数据订阅端口,订阅感兴趣的应用数据,从而降低了设计复杂度。
例如,可以提供的以下的发布订阅端口:
①SubScribeFuelOil端口:订阅燃油油量端口,直接调用此端口即可完成燃油油量数据的获取;
②SubScribeEngineTemperature端口:订阅发动机温度端口,直接调用此端口即可完成发动机温度数据的获取;
③PublishHydraulicPressure端口:液压压力发布数据端口,设计者调用此端口即可将液压压力发布到航空电子AFDX数据网络上;
④PublishBrakeAngle端口:刹车角度发布数据端口,设计者调用此端口即可将刹车角度发布到航空电子AFDX数据网络上。
S103:配置全局数据区。
该全局数据区面向上述的发布订阅端口,即用于接收并存储数据接收端口所接收的数据;还用于根据收到的请求和前述关联关系将与该请求对应的数据转发到数据发布端口。
数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS信息分发中间件是一种轻便的、能够提供实时信息传送的中间件技术。
这里,基于数据分发服务DDS,完成上层发布订阅主题TOPIC数据的管理以及在AFDX总线上的分发,首先从全局数据区读取相应发布订阅TOPIC数据,然后根据预先生成的XML文件,将指定发布订阅主题TOPIC数据发布到AFDX总线之上,或在AFDX总线上订阅相应的发布订阅TOPIC数据。
根据上述XML文件配置,将应用发布到全局数据区的FuelOil数据区的数据,通过AFDX总线端口0发送到AFDX网络当中。将AFDX网络当中端口2所接收的数据进行解析,解析完成之后放入到HydraulicPressure数据区,等待应用层进行数据订阅。
在数据发布具体应用中,当相应的航空应用系统调用数据发布端口,数据写入全局数据区。全局数据区保留着所有数据的实例,通过内部服务质量的设定,来完成所有数据的同步。同时发查询XML文件,通过该配置文件中的主题TOPIC与AFDX总线的总线资源的关联关系,完成发布数据到AFDX总线的数据转发。
在数据订阅过程中,实时接收AFDX总线数据,通过查询XML文件,将AFDX总线数据放入对应主题TOPIC的全局数据区。当航空应用系统进行数据订阅时,直接从发布订阅中间件的全局数据区进行数据订阅,无需关心底层AFDX总线。
从上述技术方案可以看出,本实施例提供了一种基于AFDX总线的发布订阅方法,具体方法为通过描述的方法对AFDX端系统和AFDX总线上相应的总线资源进行配置;配置多个订阅端口,多个订阅端口包括多个数据发布端口和多个数据接收端口;配置全局数据区,全局数据区用于存储数据接收端口所接收的数据,并根据接收到的请求向数据发布端口转发与请求相对应的数据。通过以上的方法,设计者在按照系统方案进行应用逻辑设计的同时,无需面对AFDX总线复杂的配置特性,而是在按照系统方案进行应用逻辑设计的同时,只需面对发布订阅端口进行数据收发即可,降低了设计者的工作量,从而使设计周期得到有效控制。
实施例二
图2为本申请提供的一种基于AFDX总线的发布订阅系统实施例的结构框图。
如图2所示,本实施例提供的设计系统用于简化航空应用系统的设计,具体包括发布订阅配置模块10、端口配置模块20和发布订阅中间模块30。
发布订阅配置模块10用于对AFDX端系统和AFDX总线的总线资源进行配置。
具体来说,基于XML文件的描述方法,利用相应的XML文件描述发布订阅主题topic和AFDX总线上总线资源的对应关系,总线资源包括虚拟链路、数据端口等。具体包括配置表发布单元11、第一配置单元12和第二配置单元13,如图3所示。
配置表发布单元11用于发布以XML文件为载体的配置表,该配置表内包含多种内容,其中至少包括配置参数和关联关系;
第一配置单元12用于根据上述配置参数对AFDX端系统进行配置,具体为配置AFDX端系统的设备ID、端系统状态、端系统名称。
第二配置单元13用于利用上述XML文件描述的关联关系对AFDX总线的总线资源进行配置,包括:
配置VL(Virtual link,虚拟链路);
配置VL号、VL方向,配置VL最大帧长度,配置VL实际通信物理通道(A网/B网/A B网冗余);
配置接收端口和发送端口等数据端口:
配置接收端口ID、接收端口类型(Sampling_or_Queuing)、接收端口目的分区,接收端口目的UDP(User Datagram Protocol,用户数据报协议)端口;
配置发送端口ID、目的设备ID、发送端口目的分区、发送端口目的UDP端口、发送端口是否使能分帧、目的IP地址类型(组播、单播)、发送端口类型(周期或者非周期)、发送端口消息周期、源分区、源端口。
另外,还包括对发布订阅消息进行配置,例如,利用相应的程序语言定义发送端口、发布端口、发布数据区、接收端口、订阅端口、订阅数据区、AFDX端系统1、AFDX端系统2、AFDX端系统3、AFDX端口0、AFDX端口1等。
其中,配置发送端口为发布端口,及其关联的发布数据区(PTOPIC);配置接收端口为订阅端口,及其关联的订阅数据区(STOPIC);AFDX端系统1作为系统订阅节点,在AFDX端口0上订阅了燃油油量消息、在AFDX端口1上订阅了发动机温度消息,当应用层进行燃油量数据或者发动机温度读取时,不必关心此数据底层通信原理,在上层使用相应API即可完成数据获取;
AFDX端系统2作为系统发布节点,在AFDX端口2上发布了液压压力消息、在AFDX端口3上发布了刹车角度。对于液压压力传感器或者刹车角度传感器设计者来说只需要使用相应的发布端口进行相关数据发布即可。
AFDX发布订阅配置工具用于保证上层数据端口与底层AFDX数据的关联,保证了应用与底层通信的一致性。
端口配置模块20用于配置多个面向具体应用数据的发布订阅端口。
通过对总线进行配置,提供多个标准的用于发布或订阅的发布订阅端口,上述发布订阅端口面向具体应用数据,分别包括多个数据发布端口和多个数据接收端口。
应用的设计者只需要面对发布订阅端口。对于传感器终端或者AFDX远程数据集中器,只需要面向具体应用的数据发布端口,发布功能应用数据。对于航电核心处理机只需要面向具体应用数据订阅端口,订阅感兴趣的应用数据,从而降低了设计复杂度。
例如,可以提供的以下的发布订阅端口:
①SubScribeFuelOil端口:订阅燃油油量端口,直接调用此端口即可完成燃油油量数据的获取;
②SubScribeEngineTemperature端口:订阅发动机温度端口,直接调用此端口即可完成发动机温度数据的获取;
③PublishHydraulicPressure端口:液压压力发布数据端口,设计者调用此端口即可将液压压力发布到航空电子AFDX数据网络上;
④PublishBrakeAngle端口:刹车角度发布数据端口,设计者调用此端口即可将刹车角度发布到航空电子AFDX数据网络上。
发布订阅中间模块30用于配置全局数据区。
该全局数据区面向上述的发布订阅端口,即用于接收并存储数据接收端口所接收的数据;还用于根据收到的请求和前述关联关系将与该请求对应的数据转发到数据发布端口。
数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS信息分发中间件是一种轻便的、能够提供实时信息传送的中间件技术。
这里,基于数据分发服务DDS,完成上层发布订阅主题TOPIC数据的管理以及在AFDX总线上的分发,首先从全局数据区读取相应发布订阅TOPIC数据,然后根据预先生成的XML文件,将指定发布订阅主题TOPIC数据发布到AFDX总线之上,或在AFDX总线上订阅相应的发布订阅TOPIC数据。
根据上述XML文件配置,将应用发布到全局数据区的FuelOil数据区的数据,通过AFDX总线端口0发送到AFDX网络当中。将AFDX网络当中的端口2所接收的数据进行解析,解析完成之后放入到HydraulicPressure数据区,等待应用层进行数据订阅。
在数据发布具体应用中,当相应的航空应用系统调用数据发布端口,数据写入全局数据区。全局数据区保留着所有数据的实例,通过内部服务质量的设定,来完成所有数据的同步。同时发查询XML文件,通过该配置文件中的主题TOPIC与AFDX总线的总线资源的关联关系,完成发布数据到AFDX总线的数据转发。
在数据订阅过程中,实时接收AFDX总线数据,通过查询XML文件,将AFDX总线数据放入对应主题TOPIC的全局数据区。当航空应用系统进行数据订阅时,直接从发布订阅中间件的全局数据区进行数据订阅,无需关心底层AFDX总线。
从上述技术方案可以看出,本实施例提供了一种基于AFDX总线的发布订阅系统,具体为通过描述的方法对AFDX端系统和AFDX总线上相应的总线资源进行配置;配置多个订阅端口,多个订阅端口包括多个数据发布端口和多个数据接收端口;配置全局数据区,全局数据区用于存储数据接收端口所接收的数据,并根据接收到的请求向数据发布端口转发与请求相对应的数据。通过以上的系统,设计者在按照系统方案进行应用逻辑设计的同时,无需面对AFDX总线复杂的配置特性,而是在按照系统方案进行应用逻辑设计的同时,只需面对发布订阅端口进行数据收发即可,降低了设计者的工作量,从而使设计周期得到有效控制。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。