网络DDS总线数据事后处理方法研究

(整期优先)网络出版时间:2023-02-24
/ 4

网络DDS总线数据事后处理方法研究

吴瑀

中国飞行试验研究院,测试所

随着航空机电技术迅速发展,新型飞机装备了大量传感器和电子控制装置,为满足航电系统的数据量提升数倍的数据传输需求,Data Distribution Service(DDS)协议已逐步成为分布式实时系统中数据发布/订阅的标准解决方案,面对使用DDS协议新型总线数据处理需求,本文从Ethernet-DDS数据记录特点及记录格式出发,给出了处理软件的总体架构及核心处理方法分析了Ethernet-DDS数据处理的关键问题,提出了DDS总线ICD扁平式结构化、数据处理多级并联算法、数据检测与过滤的解决办法。对该方法进行了验证,能够正确处理Ethernet-DDS数据。

关键词Ethernet-DDS;扁平式结构化;多级并联;数据检测与过滤

Keywords:Ethernet-DDS,flat structured,multistage parallel connection,data detection and filtering


1

0  引言

某飞机任务系统采用了DDS协议进行数据交换(后文中对使用该DDS协议产生的数据简称为DDS数据),针对DDS数据的采集和记录,测试系统使用了如下的解决方案:使用专用采集设备作为任务系统的终端接入到原机任务系统中,接收DDS数据,并以网络形式发送给记录器,因此在记录器中形成了Ethernet-DDS数据。该DDS数据测试网络拓扑如下:

图1 某飞机DDS数据采集记录网络拓扑

Ethernet-DDS数据在我院是首次采集和记录,尚无相应的处理软件,急需尽快完成软件开发。

1 DDS简介

DDS(Data Distribution Service)技术最早应用于美国海军,用于解决舰船复杂网络环境中大量软件升级的兼容性问题,目前已经成为美国国防部的强制标准。2003年,DDS被OMG组织接受,并发布了专门为实时系统设计的数据分发/订阅标准。DDS目前已经广泛应用于国防、民航、工业控制等领域,成为分布式实时系统中数据发布/订阅的标准解决方案。

DDS技术是基于以数据为核心的设计思想提出的,定义了描述网络环境下数据内容、交互行为和服务质量要求的标准。DDS以数据为核心的设计思想非常贴合如传感器网络、指挥信息网等应用场景,其提供的数据传输模型能够很好地适应应用系统的开发需要。

DDS标准为OMG组织发布的《Data Distribution Service for Real-time Systems》,该规范标准化了分布式实时系统中数据发布、传递和接收的接口和行为,定义了以数据为中心的发布-订阅(Data-Centric Publish-Subscribe)机制,提供了一个与平台无关的数据模型。

DDS将分布式网络中传输的数据定义为主题(Topic),将数据的产生和接收对象分别定义为发布者(Publisher)和订阅者(Subscriber),从而构成数据的发布/订阅传输模型。各个节点在逻辑上无主从关系,点与点之间都是对等关系,通信方式可以是点对点、点对多、多对多等,在QoS的控制下建立连接,自动发现和配置网络参数[1],如图2所示。

图2 DDS数据传输模型

2  Ethernet-DDS数据处理算法

2.1  Ethernet-DDS数据处理架构

数据处理软件的作用为,按照协议解析文件,提取其中的有效负载数据,并按照ICD文件,对提取的有效负载数据进行工程量转换,最终输出为结果文件。因此,一个完整的Ethernet-DDS应当包括以下几个功能模块:

1)数据处理配置文件(简称带头)准备模块,实现将ICD信息转换为数据处理软件可读的结构化信息;

2)数据结构解析模块,实现数据的提取、工程量转换和结果输出;

3)其他辅助功能模块,如数据丢帧检测、数据分析、批处理、参数组准备、总线消息检测等。

Ethernet-DDS数据处理软件总体功能架构如图3所示:

图3 Ethernet-DDS数据处理软件功能架构

其中,快速处理模块是整个软件的核心模块,实现数据结构解析,本节将重点介绍快速处理模块设计。

2.2  快速处理模块

如图1、图2所示,我院记录的DDS数据是已经通过采集器再次转发所形成的数据,记录的Ethernet-DDS数据格式如图4所示:

图4 Ethernet-DDS数据格式

Ethernet-DDS数据文件整体上是一个“以太网数据帧-UDP数据-DDS消息块数据”的三级结构:

1)整体的数据文件由若干个以太网数据帧组成;

2)每一个以太网数据帧中UDP的PAYLOAD区存放了DDS消息块数据;

3)每一个DDS消息块由时间戳、Topic名称、数据区长度、数据区组成。

需要注意的是,由于以太网数据帧对PAYLOAD数据长度有限制(不超过1500字节),针对DDS的数据如何进入网络包、超出长度的数据如何进行分帧等并无相关标准,目前采用的方式仅将其作为载体,并不考虑DDS如何组合或分包等策略。因此,当DDS数据进入网络包时,会出现如图5所示的情况:

图5 DDS进入以太网数据帧

如上图所示,一个DDS消息块可能被拆分到多个以太网数据帧中,一个以太网数据帧中也可能包含多个DDS消息块。

因此,Ethernet-DDS的数据处理流程应为:

1)提取以太网数据帧;

2)提取以太网数据帧中的UDP PAYLOAD数据;

3)将各以太网数据帧中的DDS数据拼接到一起;

4)按照DDS消息块格式进行处理。

3 Ethernet-DDS数据处理关键技术

ICD信息是数据处理的依据,目前我院各类总线处理软件,如FC、1553B、AFDX等,均是采用了数据库对结构化的ICD信息进行存储。这种方式的优势是:

1)多层级数据表结构,能够基本保持与ICD设计单位一致的ICD数据结构;

2)数据库自身具备多层级数据表的关联以及对表中字段的约束,安全性较高、稳定性较强。

但在长期的数据处理工作中,也发现这种方式的一些弊端。目前各类ICD文件形态不一,普遍以PDF、WORD、EXCEL、XML文件形式存在,其中对于XML、EXCEL形式存在的ICD,可以通过程序自动读取的方式进行结构化并存储于数据库中,而对于PDF、WORD等方式,目前主要还是采用手工录入的方式,针对这种形式的ICD采用数据库的方式存在以下问题:

1)出于数据安全角度考虑,不允许对数据库表进行改动,因此,数据库的增、删、查、改等操作必须在软件中实现,数据修改、录入效率完全取决于软件对数据库操纵功能的设计情况,这在新机准备的情况,急剧影响效率。

2)通用性、可移植性不够,部分总线处理软件对数据库的类型、版本都有强依赖性,一旦出现数据库配置错误、安装不成功等问题,软件也无法使用。

因此,从提高效率的角度出发,基于以下两点原因,选择使用EXCEL文件替代数据库作为ICD结构化的载体。

1)与数据库相似,EXCEL本身就是一种包含多张表的结构化文件;

2)EXCEL开放性极高,本身具有强大的功能,如下拉递增、批量复制、筛选、各种功能函数等。新机准备下,尤其是ICD文件本身就是EXCEL形式的场景下,使用EXCEL极大的提高了录入效率。

但是EXCEL过于开放,缺少对录入过程中相关约束,容易导致录入错误,因此,在软件的设计中增加了“带头检查”功能模块,对带头中各字段的约束进行检查和错误提示,如图3所示。

对DDS、FC、1553B等总线ICD结构进行分析,均为多层级的结构,不同总线的层级可能不同,目前主要为3层结构“消息层”、“信号层”、“元素层”,但是对于数据处理而言,最重要的是知道以下信息:

1)待处理参数所在消息块的唯一标识?

2)待处理参数在消息块中数据区的位置?

3)待处理参数要进行何种计算?

因此,不论总线ICD信息有几层表结构,都可以统一归集到1至2张表内,只需要在这两张表中描述清楚上述内容即可。基于EXCEL文件设计了DDS的ICD扁平式结构,分为两张表:

1)工作表1为总表,描述飞机信息以及消息块的总体信息;

2)工作表2为分表,描述每一个消息块内所有参数的处理信息,如偏移量等。

同时在软件中增加了“导出模板”功能,确保能够使用正确模板工作,如图3所示。

如上所述,基于EXCEL文件的ICD扁平式结构化模板,可以完成DDS总线数据处理,且适配目前主流的多种ICD结构。基于EXCEL的带头,实现了层级式向扁平式的转变,提高可读性和可维护性以及带头的通用性和可移植性。

由于Ethernet-DDS数据的特殊性,以UDP数据包为载体,采用UDP协议进行数据传输时,本身无法保证数据不丢包。根据以太网传输协议,当PAYLOAD数据长度超过1500字节时,UDP数据会分进行数据分片,由多个UDP数据包进行发送,通过IP头部信息中的标志、偏移量字可以确定是否发生丢帧;但若数据长度未超过1500字节,若此UDP包丢失,将无法检测到,那么按照前述的数据处理方法进行时,将导致数据处理错误。同时Ethernet-DDS中记录了各类数据,若未进行数据过滤,如在提取UDP PAYLOAD数据时,混入了ARP帧、其他网络设备数据等,也会导致数据处理错误。IENA、INET-X、1553B、1394B、PCM等数据因其数据格式以及协议标准的约束,其发生丢帧行为或未过滤干净时,只影响数据完整性,不影响数据正确性。但Ethernet-DDS数据处理必须考虑丢帧、过滤等情况,否则无法保证数据处理正确性。

1)数据丢帧检测

鉴于Ethernet-DDS数据格式的特殊性,抛弃从以太网数据帧上进行丢帧检测的思路,选择从DDS数据特点上进行丢帧检测:

如图4所示,DDS消息块中包含Topic名称和数据长度,其中Topic名称有固定标识,总共占用32字节,前6个字节为“Topic_”,因此基于此特征以及数据长度n可以判断是否发生丢帧:假设第一个“Topic_”偏移量为offset1,那么在偏移量offset1+32+n处之后的6个字节也应当是“Topic_”,若不是,则说明出现了丢帧行为。

2)以太网数据过滤

在图10所示的线程1中,首先提取完整的以太网数据帧,进行首次过滤,按照FCS校验丢弃校验未通过的数据;然后按照MAC地址、设备IP和端口号、数据类型,进行二次过滤,仅提取其中负载DDS的UDP数据,从而确保进入udpDatas队列中的只有DDS数据。

4  总结

本文首先介绍了DDS协议的特点,以及Ethernet-DDS的记录格式,针对其特殊性对数据处理的各环节进行了分析,给出了软件总体架构以及核心处理模块的设计。并对Ethernet-DDS数据处理中的关键技术进行了介绍,最后基于.net环境使用文中所述方法实现了Ethernet-DDS数据处理,通过实际飞行验证了处理的正确性。

由于此次是我院首次将采集的DDS总线数据使用网络包作为载体进行传输和记录,还存在一些问题,例如文中所述的数据丢帧检测方法具有局限性,一是严谨性不够,二是无法准确判断丢了多少帧。针对这些问题,以下是本人的一些思考:在记录时遵循iNET标准协议,或者参照该协议,增加数据帧序号、数据传输状态等的指示或许可以解决。

参考文献:

[1] Zhu P . Bayesian Linear Seismic Inversion Integrating Uncertainty of Noise Level Estimation and Wavelet Extraction[J]. Minerals, 2022, 13.

[2] Zhong J ,  Xiong X . Data Security Storage Method for Power Distribution Internet of Things in Cyber-Physical Energy Systems[J]. Wireless Communications and Mobile Computing, 2021.

[3] Hamidi-Sepehr F ,  Sajadieh M ,  Panteleev S , et al. 5G URLLC: Evolution of High-Performance Wireless Networking for Industrial Automation[J]. IEEE Communications Standards Magazine, 2021(5-2).

[4] Bu B . Network coding data distribution technology between streams of emergency system based-wireless multi-hop network[J]. Computer Communications, 2022, 186:22-32.

[5] Krawczyk R D , ∗,  Pisani F , et al. ethemet eva1uation in data distribution traffic for the 1hcb fi1tering fann at cem[J]. The European Physical Journal Conferences, 2021, 251:04001.

[6] Kannamma R ,  Umadevi K S . Neuro-Fuzzy-Based Frame Pre-Emption Using Time-Sensitive Networking for Industrial Ethernet[J]. Journal of Information & Knowledge Management, 2021:2140008.

[7] Deshpande U ,  Linck N ,  Seshadri S . Self-service data protection for stateful containers[C]// HotStorage '21: 13th ACM Workshop on Hot Topics in Storage and File Systems. ACM, 2021.

[8] Li M ,  Tu C ,  Wang P . Machine identification method of subway service quality based on smart card data[J]. Transportation Safety and Environment, 2022(2):2.

[9] Cai Y ,  Llorca J ,  Tulino A M , et al. Joint Compute-Caching-Communication Control for Online Data-Intensive Service Delivery[J].  2022.

[10] Pan H . Telxius Delivers 400Gb/s Ethernet Service Powered By Ciena and Infinera[J]. Submarine Fiber Optic Communications Systems, 2021(Oct.).

[11] Im J . Performance Evaluation of Discovery and Message Transmission of DDS (Data Distribution Service) Security[J]. The Korea Institute of Information and Commucation Engineering, 2021(5).

[12] Zhang G ,  Wang Y ,  Ren J , et al. Distributed Simulation System Based on Data Distribution Service Standard[C]// 2021 International Wireless Communications and Mobile Computing (IWCMC). 2021.

[13] Sim W ,  Song B K ,  Shin J , et al. Data Distribution Service Converter Based on the Open Platform Communications Unified Architecture Publish–Subscribe Protocol[J]. Electronics, 2021, 10(20):2524-.

[14] Saxena S ,  Farag H ,  El-Taweel N . A distributed communication framework for smart Grid control applications based on data distribution service[J]. Electric Power Systems Research, 2021, 201:107547-.

[15] Manel T ,  Rim B ,  Salem H . Simulink Implementation of the Data Distribution Service for Vehicular Controllers on Top of GBE and AFDX[J]. The Computer Journal, 2021(6):6.

作者简介:吴瑀(1989.9-),男,工程师,主要从事飞行试验数据处理与软件技术研究。