本发明专利技术公开了一种机载设备网络数据传输通用的数据格式转换方法及其系统,其包括以下步骤:步骤一,根据被转换源数据的类型,定义源数据的数据结构类型描述说明;步骤二,声明源数据类型描述说明的变量,并对该源数据类型描述说明的变量进行初始化赋值;步骤三,定义目标数据存储缓冲区;步骤四,按照数据格式转换规则,对源数据类型描述说明的变量进行解析;步骤五,根据解析的数据类型对源数据进行转换,将转换结果存储到目标数据存储缓冲区中。本发明专利技术实现目前存在的各种不同网络数据格式转换处理方法的统一,简化设计人员在网络接口协议和程序设计期间的工作,提高航空机载设备之间数据传输的效率,降低机载设备之间数据传输错误的风险。
【技术实现步骤摘要】
本专利技术涉及航空领域民用飞机航空电子系统,特别是涉及一种机载设备网络数据传输通用的数据格式转换方法及其系统,该方法和系统适用于飞行管理系统、自动控制系统、综合显示系统等各种航空电子系统之间的数据传输、加载和网络通信。
技术介绍
民用飞机航空电子系统之间离不开相互的数据传输。由于机载电子系统的计算机体系结构存在差异,会导致电子系统之间直接的数据传输错误。为了保证数据传输正确,必须在数据传输中进行相应的数据格式转换。按照不同的计算机体系结构对于数据(比特、字节、字)的存储和传输机制,主要有两种数据传输和存储格式大端存储(Big-Endian)和小端存储(Little-Endian)。在大端存储的计算机体系结构中规定把高位字节排放在内存的低地址端,低位字节排放在内存的高地址端,传输数据时高位数据放在流的开始,低位数据放在流的末尾。相反,在小端存储的计算机体系结构中规定把低位字节排放在内存的低地址端,高位字节排放在内存的高地址端,传输数据时低位数据放在流的开始,高位数据放在流的末尾。由此可见,在小端存储体系计算机和大端存储体系计算机之间,若直接传输数据将得到错误的数值。目前专门论述大端和小端数据格式转换的著作非常少,在解决实际工程问题吋,人们常根据经验采用比较原始的方法进行大端和小端数据格式字节序的转换。对于双字节和四字节的数据,C语言提供了 hton、htonl、ntohs、ntohl四个转换函数,它们可以满足部分数据的字节序格式转换,但是对于八字节的数据或者用户自定义的结构体数据则不能通过这些函数进行转换。因此,程序设计人员在遇到此类数据格式转换时的做法是根据实际情况需要,为特定的数据和结构体编写特定的数据字节序格式转换函数,最常见的方法有定义共用体、位操作等。其中定义共用体的局限性最大,因为程序员必须为每个类型数据或结构体数据定义ー个共用体类型以实现数据字节序格式的转换,因此,这种方法没有灵活性,编程工作量大,已经完成的程序重用性差。位操作的灵活性和程序的可重用性较高,但是位操作只针对单个多字节的数据,不能直接对用户自定义的结构体数据进行字节序格式转换,当需要使用结构体中的某ー个数据时,再把这ー个数据按位操作进行格式转换。由此可见,位操作方法的不足之处在于,当结构体数据定义非常庞大,且需要访问结构体定义中的所有数据时,仍需要挨个完成结构体中包含数据的格式转换,如果要对很多不同的结构体都进行转换,则程序员的工作将没完没了,非常繁琐。
技术实现思路
本专利技术所要解决的技术问题是提供ー种机载设备网络数据传输通用的数据格式转换方法及其系统,其实现目前存在的各种不同网络数据格式转换处理方法的统一,简化设计人员在网络接ロ协议和程序设计期间的工作,提高航空机载设备之间数据传输的效率,降低机载设备之间数据传输错误的风险。本专利技术是通过下述技术方案来解决上述技术问题的ー种机载设备网络数据传输通用的数据格式转换方法,其特征在于,其包括以下步骤步骤一,根据被转换源数据的类型,定义源数据的数据结构类型描述说明;步骤ニ,声明源数据类型描述说明的变量,并对该源数据类型描述说明的变量进行初始化赋值;步骤三,定义目标数据存储缓冲区;步骤四,按照数据格式转换规则,对源数据类型描述说明的变量进行解析;步骤五,根据解析的数据类型对源数据进行转换,将转换结果存储到目标数据存储缓冲区中。优选地,如权利要求1所述的机载设备网络数据传输通用的数据格式转换方法,其特征在于,所述步骤ニ对源数据类型描述说明的变量赋值即将其数据类型赋值为基本类型、数组类型或记录类型中的ー种,元素个数赋值为X个,X表示源数据自身包含的元素个数,以及逐个说明源数据组成元素的类型。优选地,所述步骤三的目标数据存储缓冲区是ー个已知的数据结构体变量或是ー个字节数组。优选地,所述步骤四和步骤五两个步骤在数据转换过程中是同时进行的。优选地,所述步骤五的转换结果存储到目标数据存储缓冲区中是从目标数据存储缓冲区的首地址开始,根据解析源数据类型描述说明的变量元素的循环次数,移动目标数据存储缓冲区的地址指针找到对应的数据存储位置,然后把完成数据格式转换的数据结果存储到数据存储区缓冲区对应位置。本专利技术还提供ー种机载设备网络数据传输通用的数据格式转换系统,其特征在于,其包括依次连接的结构类型描述说明定义模块、初始化赋值模块、缓冲区定义模块、解析模块、转换模块,结构类型描述说明定义模块用于定义源数据的数据结构类型描述说明;初始化赋值模块用于声明源数据类型描述说明的变量并对该源数据类型描述说明的变量进行初始化赋值;缓冲区定义模块用于定义目标数据存储缓冲区;解析模块对源数据类型描述说明的变量进行解析;转换模块根据解析的数据类型对源数据进行转换。本专利技术的积极进步效果在干本专利技术实现目前存在的各种不同网络数据格式转换处理方法的统一,简化设计人员在网络接ロ协议和程序设计期间的工作,提高航空机载设备之间数据传输的效率,降低机载设备之间数据传输错误的风险。另外,本专利技术可以对任意的数据类型,包括自定义的复杂结构体数据进行转换,转换后可以保持数据结构体的完整性,而避免了一次转换只能完成结构体数据包含的某ー个数据的缺点,极大的提高了转换效率、減少了程序设计的难度和工作量,实现了数据格式转换方法的统一,降低了数据传输错误的风险。附图说明图1为大端字节序数据存储示意图。图2为简单数组类型描述说明的示意图。图3为简单记录类型描述说明的示意图。图4为高级记录类型描述说明的示意图。图5为本专利技术机载设备网络数据传输通用的数据格式转换方法的流程图。图6为本专利技术中简单记录数据格式解析、转换的流程图。图7为本专利技术中通用网络数据格式转换的流程图。图8为本专利技术机载设备网络数据传输通用的数据格式转换系统的原理框图。具体实施方式 下面结合附图给出本专利技术较佳实施例,以详细说明本专利技术的技术方案。本专利技术首先对网络数据字节序、定义网络数据的类型描述、定义网络数据类型描述说明层级、设计网络数据格式转换规则等进行说明,具体内容如下(I)网络数据字节序说明网络数据字节序是指数据的位(比持)、字节在计算机体系结构中的存储和传输机制。在ー个bit序列或ー个byte序列中对整个序列取值影响最大的那个bit/byte被称为最重要的位或最重要的字节(MSB),在ー个bit序列或ー个byte序列中对整个序列取值影响最小的那个bit/byte被称为最不重要的位或最不重要的字节(LSB)。大端字节序方式规定数据存储时MSB存放在低地址,LSB存放在高地址;传输数据时MSB放在流的开始,LSB放在流的末尾。小端字节序方式规定数据存储时LSB存放在低地址,MSB存放在高地址;传输数据时LSB放在流的开始,MSB放在流的末尾。大端字节序数据存储示意图如图1所示。(2)定义网络数据的类型描述说明数据的种类可以分为数、数组或结构体,也可以把结构体称作ー个记录,因此网络数据类型描述说明定义可以分为多种不同的情况对单个多字节数据类型进行描述;对元素为若干个多字节数据构成的数组类型进行描述;对元素为若干个多字节数据构成的结构体类型进行描述;对元素为若干个结构体数据,且结构体元素为若干个多字节数据构成的数组类型进行描述;对元素为若干个多字节数据和数组数据,且数组元素为若干个多字节数据构成本文档来自技高网...
【技术保护点】
一种机载设备网络数据传输通用的数据格式转换方法,其特征在于,其包括以下步骤:步骤一,根据被转换源数据的类型,定义源数据的数据结构类型描述说明;步骤二,声明源数据类型描述说明的变量,并对该源数据类型描述说明的变量进行初始化赋值;步骤三,定义目标数据存储缓冲区;步骤四,按照数据格式转换规则,对源数据类型描述说明的变量进行解析;步骤五,根据解析的数据类型对源数据进行转换,将转换结果存储到目标数据存储缓冲区中。
【技术特征摘要】
1.一种机载设备网络数据传输通用的数据格式转换方法,其特征在于,其包括以下步骤步骤一,根据被转换源数据的类型,定义源数据的数据结构类型描述说明;步骤二,声明源数据类型描述说明的变量,并对该源数据类型描述说明的变量进行初始化赋值;步骤三,定义目标数据存储缓冲区;步骤四,按照数据格式转换规则,对源数据类型描述说明的变量进行解析;步骤五,根据解析的数据类型对源数据进行转换,将转换结果存储到目标数据存储缓冲区中。2.如权利要求1所述的机载设备网络数据传输通用的数据格式转换方法,其特征在于,所述步骤二对源数据类型描述说明的变量赋值即将其数据类型赋值为基本类型、数组类型或记录类型中的一种,元素个数赋值为X个,X表示源数据自身包含的元素个数,以及逐个说明源数据组成元素的类型。3.如权利要求1所述的机载设备网络数据传输通用的数据格式转换方法,其特征在于,所述步骤三的目标数据存储缓冲区是一个已知的数据结构体变量或是一个字节数组。4.如权利要求1所述的机载设备网络数据传输...
【专利技术属性】
技术研发人员:尹彦清,马骏,
申请(专利权)人:中国航空无线电电子研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。