大数跨境
0
0

可动态扩展的机载网络服务数据通信方法

可动态扩展的机载网络服务数据通信方法 航电科技圈
2025-10-17
3
导读:机载网络;飞机参数;航空数据广播协议;数据通信;数据服务

摘要:航空电子工程委员会(AEEC)所颁布的ARINC834-3标准虽然支持基于订阅的数据交换机制,然而该标准在数据源的扩展性方面存在局限,这在一定程度上制约了多数据源间的交互能力,使得在实际应用中难以满足日益增长的数据需求。针对此问题,文章提出了一种创新的、可动态扩展的机载网络服务数据通信方法。该方法基于航空数据广播协议(ADBP),采用订阅-发布机制,并通过引入中间节点,实现了多数据源与多客户端之间动态可扩展的通信。该方法有效解决了在机载环境下,不同网络域以及不同网络协议之间动态可扩展的数据订阅与发布所面临的挑战。


关键词:机载网络;飞机参数;航空数据广播协议;数据通信;数据服务


0

引言


2012年,航空电子工程委员会(AirlinesElectronicEngineeringCommittee,简称AEEC)正式颁布了ARINC834-3标准,这一标准详细规定了一整套协议体系。这些协议包括通用航空参数服务(GAPS)、简单文本航空电子协议(STAP)以及航空数据广播协议(ADBP)。特别是ADBP协议中规定了一种基于订阅的服务模式,通过这种模式,数据源(服务器)与客户端之间能够以XML对象的形式高效地交换飞机参数数据。这种机制确保了机载系统内部应用能够顺利访问特定的航空电子网络数据。


美国航空运输协会(AirTransportAssociationofAmerica,简称ATA)在其《ATA需求100—制造商技术数据需求》的ATA46章节中,对机载信息系统进行了明确的定义。机载信息系统在航空电子领域扮演着至关重要的角色,在国产大飞机C919和空客A350等先进机型上均有装备[1],它负责信息的转换和传输等关键任务[2]。因此现有机载信息系统中,存在机载网络服务系统航电接口应用软件通过采用ARINC834-3标准实现对飞机参数的高效获取[3]。在这种架构中,数据源应用充当服务器角色,而航空电子应用则作为客户端。这种服务器与客户端的模型使得机载系统内部的飞机参数获取成为可能。


然而,ARINC834-3标准在实际应用中也暴露出一些问题。首先,该标准并不支持数据源(服务器)的扩展性,这限制了多个客户端与多个数据源进行交互的灵活性。因为在这种架构下,服务器与客户端之间是一对多的关系,导致了数据交互的局限性。此外,机载信息系统肩负着网络安保的职责[4],因此数据交换还要有能力处理不同网络域与不同网络协议之间的应用场景。


为了解决上述技术背景中存在的问题,本文针对航空设备间网络化通信的应用场景,提出了一种新的解决方案。该方案能够实现多数据源(服务器)与多客户端之间的数据通信,基于不同的航空电子网络协议。该方案有效地解决了机载环境下不同网络域之间、不同网络协议之间的动态可扩展的数据订阅与发布问题。通过这种方式,可以确保机载系统内部应用能够更加灵活地访问和交换数据,从而提高整个航空电子系统的效率和安全性。


01

可动态扩展的机载网络服务数据通信方法


1

方法概述


本文提出了一种动态可扩展的机载网络服务数据通信方法,该方法涵盖3个核心步骤:构建通信系统、服务器(Server)至中间节点(Proxy)的数据发布流程以及客户端(Client)至中间节点的数据订阅流程。


该方法基于ADBP协议,采纳了“基于订阅的服务提供”和“利用XML进行数据传输”的策略,并结合订阅发布(Pub-Sub)机制,通过引入中间节点进行数据分发,从而实现了从一对一(1:1)到多对多(N:M)的通信系统的可扩展性。本方法采用了服务器、中间节点和客户端的通信系统模型,其架构示意如图1所示。服务器负责接收航电系统数据,解析并生成飞机参数消息,随后评估消息的可信度。对于确认为可信的飞机参数消息,服务器将主动向中间节点发布,并由后者进行消息合规性验证后,转发至订阅的客户端。客户端则请求订阅飞机参数,并对接收到的消息进行合规性验证。动态扩展性体现在客户端对飞机参数消息的动态订阅能力,以及对来自不同服务器的飞机参数消息的动态订阅能力。中间节点遵循先到先发的原则,发布飞机参数消息。飞机参数消息中包含来源总线、发布者、编号、长度、值、校验码和时间戳等关键信息。



2

具体实现


本文提出的方法实现了机载信息系统与航电网络间服务器与接收端的动态可扩展性,以及飞机参数信息的订阅与发布机制。在该订阅发布机制中,服务器与客户端之间采用异步通信模式,服务器持续向已知的中间节点发布飞机参数信息,而无需确认客户端是否已开始接收信息。客户端在中间节点处注册所需接收的飞机参数信息,当中间节点接收到服务器的飞机参数信息后,将向订阅了该信息的客户端进行发布。因此,服务器与客户端在不关注对方工作状态及连接状态的情况下,即可完成信息的发布与订阅工作。


本文提出的机制与传统服务器与客户端1:1对应关系不同,中间节点的存在使得服务器与客户端的动态扩展性得以实现。这意味着单一客户端能够动态地接收来自多个服务器的飞机参数信息,同时单一服务器亦能向多个客户端动态发布飞机参数信息。此外,不同的服务器可以以不同的启动顺序运行,而不同的客户端亦可在不同的时间向不同的服务器请求飞机参数信息。


3

数据通信模型


该方法通过基于中间节点的网络隔离机制,有效实现了服务器与客户端之间的网络隔离。


在该机制中,服务器独立运行,并在接收到航电总线传输的航电数据后,主动将数据转发至中间节点。对于特定的机载设备,中间节点与服务器可共存于同一模块,亦可分别部署于不同的模块。客户端在启动后,通过与中间节点的通信发起对飞机参数的请求,并进入监听状态以接收中间节点发布的飞机参数。客户端能够多次向中间节点请求飞机参数,从而动态地获取飞机参数消息。


该数据通信模型及其通信机制如图2所示。客户端在启动后向中间节点注册其所需订阅的飞机参数,而无需关注服务器是否已启动。服务器启动并开始正常传输飞机参数消息,中间节点将依次向客户端发布这些消息。



当客户端需要额外的飞机参数消息时,可以动态地向中间节点提出请求,而不会干扰到之前已订阅的其他飞机参数消息(如图2中的飞机参数1、2、3)。客户端既可请求来自当前服务器的飞机参数消息,也可请求来自其他服务器的消息,从而实现了服务器的动态扩展性。具体通信方法和模型如图3所示。



如图3所示,首先客户端订阅了来自于服务器(Server2)的飞机参数1、2、3之后,中间节点依照请求向客户端发送飞机参数1、2、3。若客户端在某一时刻向中间节点请求订阅来自另一个服务器(Server1)的飞机参数4、5、6,中间节点将在确认服务器(Server1和Server2)正常运行的情况下,向客户端发送飞机参数1、2、3、4、5、6,实现飞机参数的动态请求。这一过程旨在提高客户端程序的运行速度和传输效率。


中间节点在发布飞机参数消息时遵循先进先出(FIFO)的原则。即在客户端订阅周期内,先到达中间节点的飞机参数消息将优先发布给订阅了该飞机参数的客户端。每次发布包含一个飞机参数消息,客户端在接收到中间节点发布的飞机参数消息后,重新进入监听状态,等待下一个飞机参数的发布。


在该过程中若服务器发生故障,如服务器应用未能正常启动或航电总线出现故障,客户端将无法接收到订阅的飞机参数消息,这种情况下客户端可以将该飞机参数消息的接收时间视为无限大。一旦服务器恢复正常工作,飞机参数消息的发布也将恢复正常,即数据服务器的故障不会影响客户端的工作状态,如订阅时机或启动顺序等,从而简化了开发人员的工作量。


4

消息格式定义


针对飞机参数信息的传递,服务端与客户端必须遵循统一的消息格式规范。本方法采纳分层结构化的方法对飞机参数信息进行了定义,涵盖飞机参数信息的来源总线、发布者身份、参数编号、参数长度、参数值等关键要素,以及CRC32校验码和消息的时间戳。飞机参数信息的具体结构详如表1所示。



对于飞机参数订阅消息,客户端将所需飞机参数打包成一条消息,其中飞机参数长度置为0,飞机参数值置为空,仅告知之间节点其所需的飞机参数来源、发布者和编号,中间节点在接收到订阅消息后即可获得其所需订阅的飞机参数信息。


对于取消飞机参数订阅消息,客户端将所需取消的飞机参数打包成一条消息,其中飞机参数长度置为-1,飞机参数值置为空,仅告知中间节点其所需取消的飞机参数来源、发布者和编号,中间节点接收到取消订阅消息后即可获得其所需取消订阅飞机参数信息。


基于上述定义的飞机参数消息格式,通过单一的消息格式即可达成服务端与客户端间的双向通信,并实现对飞机参数的订阅与取消订阅机制。


02

运行流程


如上所述,本文提出的方法首先需要建立通信系统,所述通信系统包括服务器(Server)、客户端(Client),还包括设置在服务器和客户端之间的中间节点(Proxy),且所述的服务器和客户端均至少一个。在此之后的具体操作主要分为两个过程:分别为服务器在接收到航电数据后向中间节点的主动发布过程与客户端向中间节点的飞机参数订阅及获取过程。具体步骤如下:


(1)服务器至中间节点的数据发布流程


①服务器在正常启动后,开始接收来自飞机航电系统的各种数据。不同的服务器可以接收并处理不同类型的航电总线消息,包括但不限于ARINC664、ARINC429、ARINC717、RS422以及离散量数据。


②服务器对各自接收的航电总线消息进行解析,并据此生成飞机参数消息。飞机参数消息包含飞机参数的来源总线、发布者、参数编号、参数长度、参数值、CRC32校验码以及时间戳。


③服务器依据相应的航电总线数据解析规则,判断飞机参数值的可信度。


④若飞机参数值可信,则执行步骤⑤,否则执行步骤⑨。


⑤服务器将经过验证确认为可信的飞机参数消息主动发布至中间节点。


⑥中间节点在接收到飞机参数消息后,通过解析消息中的CRC32校验码和时间戳,验证消息的合规性。合规性包括消息的实时性和完整性。


⑦若飞机参数消息合规,则执行步骤⑧,否则执行步骤⑨。


⑧中间节点将接收到的飞机参数消息转发给订阅的客户端。


⑨如果飞机参数消息被判定为不可信或不合规,则该消息会被丢弃,并且会通过日志记录模块记录下相关日志信息。


⑩结束本次数据传输过程。


(2)客户端至中间节点的数据订阅流程


①客户端在正常启动后,向中间节点发送飞机参数订阅请求。客户端在运行过程中,通过采用可动态扩展的方式请求飞机参数。动态扩展体现在两个方面:一个或多个飞机参数消息能够被不同客户端动态订阅;一个或多个客户端能够动态订阅来自于不同服务器的飞机参数消息。动态订阅包括增加订阅或取消订阅。


②客户端等待接收来自中间节点的飞机参数消息。若收到消息,则执行步骤③,否则客户端持续处于等待接收飞机参数消息的状态。


③客户端接收到中间节点发布的飞机参数消息,并通过解析消息中的CRC32校验码和时间戳来验证消息的合规性;


④若飞机参数消息合规,则执行步骤⑤,否则执行步骤⑥。


⑤客户端获取所有飞机参数值,并返回步骤②循环接收飞机参数消息,直至取消订阅该参数。


⑥ 若飞机参数消息被判定为不合规,则该消息会被丢弃,并通知日志记录模块记录相关日志,随后返回步骤②继续等待接收消息。


03

结语


本文基于 ARINC 834-3 标准的背景,结合民用客机机载信息系统的实际应用,提出了一种可动态扩展的机载网络服务数据通信方法,成功地实现了效率的显著提升。本方法的主要优势体现在:通过引入中间节点(Proxy)技术,实现了服务器(Server)与客户端(Client)间的通信隔离。具体而言,通过该方法,服务器与客户端不再需要关注对方的工作状态,亦不必维护彼此之间的网络连接,从而极大地简化了系统的复杂性,并提高了系统的稳定性和可靠性。此外,本研究方法进一步融合了发布订阅机制,有效弥补了 ARINC 834-3 协议中服务器动态可扩展性方面的缺失。通过增加中间节点,服务器能够在运行过程中实现动态扩展,同时保证客户端的工作不受影响。对于客户端而言,即便服务器发生变更,也无须进行任何调整。客户端仅需与中间节点进行通信,即可获取所需要的飞机参数消息,而这些数据可能源自于多个服务器。中间节点在接收到服务器消息后,将根据客户端的订阅要求,及时分发相应的消息,从而相较于ARINC 834-3协议,这种方法显著提升了数据发布的效率,并有效地减少了数据订阅的冗余性,从而进一步优化了整个系统的性能。


章选自《计算机应用》,作者:加达宇,张杨阳,孙豪杰,转载此文章仅以传播知识为目的,如有任何版权问题请及时联系我们!

第三届中国民用航空机载与软件大会

图片


参会、预定展位

请扫描上方二维码


更多咨询请联系我们

AIMME | 杨女士

T : 021-62201806

M : 189 6441 7669



图片

【声明】内容源于网络
0
0
航电科技圈
1234
内容 1193
粉丝 0
航电科技圈 1234
总阅读9.1k
粉丝0
内容1.2k