新四季網

機載設備網絡數據傳輸通用的數據格式轉換方法及其系統的製作方法

2023-09-22 10:29:10

專利名稱:機載設備網絡數據傳輸通用的數據格式轉換方法及其系統的製作方法
技術領域:
本發明涉及航空領域民用飛機航空電子系統,特別是涉及一種機載設備網絡數據傳輸通用的數據格式轉換方法及其系統,該方法和系統適用於飛行管理系統、自動控制系統、綜合顯示系統等各種航空電子系統之間的數據傳輸、加載和網絡通信。
背景技術:
民用飛機航空電子系統之間離不開相互的數據傳輸。由於機載電子系統的計算機體系結構存在差異,會導致電子系統之間直接的數據傳輸錯誤。為了保證數據傳輸正確,必須在數據傳輸中進行相應的數據格式轉換。按照不同的計算機體系結構對於數據(比特、字節、字)的存儲和傳輸機制,主要有兩種數據傳輸和存儲格式大端存儲(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)定義網絡數據的類型描述說明數據的種類可以分為數、數組或結構體,也可以把結構體稱作ー個記錄,因此網絡數據類型描述說明定義可以分為多種不同的情況對單個多字節數據類型進行描述;對元素為若干個多字節數據構成的數組類型進行描述;對元素為若干個多字節數據構成的結構體類型進行描述;對元素為若干個結構體數據,且結構體元素為若干個多字節數據構成的數組類型進行描述;對元素為若干個多字節數據和數組數據,且數組元素為若干個多字節數據構成的結構體類型進行描述;對元素為若干個結構體數據,且結構體元素包含其它數組數據或結構體數據構成的數組類型,或者元素包括若干數組數據或結構體數據,且數組或結構體元素又包括其它數組數據或結構體數據構成的結構體數據進行描述。a)定義單個多字節數據的類型描述說明需要進行數據格式轉換的多字節數據類型為基本類型,包括unsigned shout、化しれ此し如油丨⑴它們分別為16位、32為或64位的基本數據類型,在存儲空間中分別佔據2個字節、4個字節或8個字節,它們對應的大端和小端字節序格式都不相同。此外,還有ー個基本數據類型char為8位佔I個字節,其對應的大端和小端字節序格式相同。對於這些基本數據的類型描述說明分別定義為8位數據、16位數據、32位數據或64位數據。b)定義元素為若干個多字節數據構成的數組的類型描述說明
元素為若干個基本數據構成的數組,其類型描述說明比較容易,可以稱這種數組類型為簡單數組類型。定義簡単數組的類型描述說明可分為三個步驟,首先應該明確其數據類型為數組類型,然後確定數組包含的元素個數,最後確定數組元素的數據類型描述說明。綜合以上三個部分就完成了簡單數組的類型描述說明定義,其類型描述說明定義如圖2所示。c)定義元素為若干個多字節數據構成的結構體的類型描述說明元素為若干個基本數據構成的結構體,其類型描述說明比較容易,可以稱這種結構體類型為簡單結構體類型。定義簡單結構體的類型描述說明與簡單數組ー樣分為三個步驟,首先應該明確其數據類型為記錄類型,然後確定結構體包含的元素個數,最後確定結構體元素的數據類型描述說明。綜合以上三個部分就完成了簡單結構體的類型描述說明定義,其類型描述說明定義如圖3所示。d)定義其他數據的類型描述說明元素為若干個結構體數據,且結構體元素為若干個基本數據構成的數組類型可以稱為高級數組類型;元素為若干個基本數據和數組數據,且數組元素為若干個基本數據構成的結構體類型可以稱為高級記錄類型。高級數組類型和高級記錄類型的類型描述說明定義也分為三個步驟,它們的類型描述說明定義與簡單數組和簡單記錄類型一祥,仍然是先明確其數據類型為數組或記錄,然後再確定該數組或記錄的元素個數,最後確定元素的數據類型描述說明。與簡單數組或簡單記錄不同的是,對高級數組或高級記錄的元素進行數據類型描述時應該注意其元素為簡單數組或簡單記錄,對這些元素進行類型描述時應該按照簡單數組或記錄的方法。當所有元素的類型描述完成以後才最終完成高級數組或高級記錄的類型描述說明定義。高級記錄類型的數據類型描述說明定義如圖4所示。元素為若干個結構體數據,且結構體元素包含其它數組數據或結構體數據構成的數組類型,以及元素包括若干數組數據或結構體數據,且數組或結構體元素又包括其它數組數據或結構體數據構成的結構體數據統ー稱為複雜數據類型。定義複雜數據類型的類型描述說明也與高級數組或記錄一祥,先明確其數據類型為數組或記錄,然後再確定該數組或記錄的元素個數,最後確定元素的數據類型描述說明,並且每ー個是數組或記錄的元素都應該按照相同的方法繼續定義類型描述說明。(3)定義網絡數據類型描述說明層級網絡數據類型描述說明層級的意思是判斷被轉換數據的類型描述說明時需要深入到其它數據類型描述說明的次數。對於ー個32位的基本數據類型而言,進行字節序轉換時直接判斷其類型描述說明為32位數據,需要深入到其它數據類型描述說明的次數為零次,因此,基本數據類型進行字節序轉換的類型描述說明層級為第零層。對於簡単數組或簡單記錄類型而言,進行字節序轉換時,首先需要判斷數組或結構體的類型描述說明為數組類型或記錄類型,此時需要深入到其它數據類型描述說明的次數為零次,則稱當前字節序轉換的類型描述說明層級為第零層;當對數組元素或結構體元素進行字節序轉換時,判斷被轉換數據的類型描述說明需要深入到簡單數組或記錄的類型描述說明中,即深入到其它類型描述說明的次數為一次,則稱簡單數組或記錄當前元素進行字節序轉換的類型描述說明層級為第一層,其層級描述示意圖如圖2或圖3所示。對於高級數組或高級記錄類型而言,進行字節序轉換時,首先需要判斷數組或記錄的類型描述說明為數組類型或記錄類型,此時需要深入到其它數據類型描述說明的次數為零次,則稱當前字節序轉換的類型描述說明層級為第零層;然後,對高級數組或記錄的元素進行字節序轉換時,判斷被轉換數據的類型描述說明需要深入到高級數組或記錄的類型描述說明中,即深入到其它類型描述說明的次數為一次,則稱高級數組或記錄當前元素進行字節序轉換的類型描述說明層級為第一層;最後,對高級數組而言,其元素類型為簡單記錄,需要再判斷簡單記錄子元素的類型描述說明,則再深入到其它數據類型描述說明的次數為兩次,則稱高級數組元素——簡單記錄的子元素進行字節序轉換的類型描述說明層級為第二層。對於高級記錄而言,其元素類型或為簡單數組,或為基本數據類型。若轉換的元素為基本數據類型,則稱高級記錄元素——基本數據類型進行字節序轉換的類型描述說明層級為第一層;若轉換的元素為簡單數組類型,則需要再判斷簡單數組子元素的類型描述說明,則再深入到其它數據類型描述說明的次數為兩次,則稱高級記錄元素——簡單數組的子元素進行字節序轉換的類型描述說明層級為第二層。高級記錄類型的數據類型層級描述如圖4所示。(4)設計網絡數據格式轉換規則數據格式轉換規則與數據的類型描述說明密切相關。無論是單個多字節的基本類型數據還是簡單數組、簡單記錄或者更複雜的結構體數據,每ー類數據的轉換都是從其類型描述說明開始,一層ー層地往下深入,直到最內層的基本數據為止,然後把所有的基本數據按字節序進行轉換。對於位序列也不相同的計算機體系結構,則在進行字節序轉換前先轉換數據的位序列。深入到最內層的基本數據後,數據的字節序或位序列轉換都類似,即根據大端存儲與小端存儲的區別交換相應的字節或位,得到與計算機體系結構對應的序列排列,進而得到正確的數值。高級數組或結構體數據的類型描述說明定義比較複雜,這些數據通常需要深入若干層才能達到最內層的基本類型數據,因此,字節序轉換時需要運用遞歸的方法,一層ー層地解析高級數據的類型描述說明定義,獲取每個子元素的數據類型、字節大小等信息,然後針對各元素進行字節序或位序列轉換。開始轉換時解析數據的類型描述說明為第0層,在第0層轉換的數據個數始終只有ー個。如果被轉換數據的原始數據類型為基本的8位、16位或32位數據,則直接進行一次字節序或位序列交換即可完成;如果被轉換數據的原始數據類型為數組或結構體數據,則首先在第0層獲得數組或結構體包含的元素個數,然後再進行遞歸循環轉換其包含元素的字節序或位序列,此時需要進入到下ー層數據類型描述說明,即在第I層開始數據轉換。若在第I層中被轉換的數據為基本的8位、16位或32位數據,此時進行一次字節序或位序列交換即可完成轉換;若被轉換的數據也是數組或結構體,同樣首先在該層獲得數組或結構體包含的元素個數,然後再進行遞歸循環轉換其包含元素的字節序或位序列。若數組或結構體的所有元素都轉換完成,則回到上ー層數據類型描述說明,繼續解析數組或結構體同層的後面數據的類型,依據相同的方法不斷進行遞歸轉換,直到所有元素都轉換完成,並回到第0層即源數據所在為止,到此表示源數據完全轉換完畢,轉換得到的數據字節序或位序列與期望的計算機體系結構一致,保證在進行數值運算和數據訪問時提供正確的數值。如圖5所示,本發明機載設備網絡數據傳輸通用的數據格式轉換方法包括以下步驟步驟一,根據被轉換源數據的類型,定義源數據的數據結構類型描述說明;步驟ニ,聲明源數據類型描述說明的變量,並對該變量進行初始化賦值;步驟三,定義目標數據存儲緩衝區;步驟四,按照數據格式轉換規則,對源數據類型描述說明的變量進行解析;步驟五,根據解析的數據類型對源數據進行轉換,將轉換結果存儲到目標數據存儲緩衝區中。本發明機載設備網絡數據傳輸通用的數據格式轉換方法的具體描述如下步驟一,根據被轉換源數據的類型,定義源數據的數據結構類型描述說明,步驟ー的具體內容如下當目標計算機接收到網絡發出的源數據時,可以認為接收到的源數據的數據結構是已知的,因此首先根據源數據的結構定義源數據的數據結構類型描述說明。正如前面所述,源數據的數據結構類型描述說明分為很多種情況,不同的數據結構需要定義不同的數據類型描述說明。仍然以源數據為簡單結構體記錄類型進行說明,如圖3所示,可以定義源數據的數據結構描述說明定義,定義中包括數據類型、元素個數,以及源數據中組成元素的類型。由此可見,源數據的數據結構類型描述說明組成元素的個數比源數據自身組成元素的個數多兩個。但是,基本數據類型是ー個例外。對於源數據是基本數據類型的情況,其數據類型描述說明組成元素仍然只有ー個。步驟ニ,聲明源數據類型描述說明的變量,並對該變量進行初始化賦值,步驟ニ的具體內容如下定義了源數據的數據類型描述說明後,接下來聲明一個該源數據類型描述說明的變量,並對該變量進行初始化賦值。如圖3所示,對源數據類型描述說明的變量賦值即為其數據類型賦值為記錄類型、元素個數為X個,X表示源數據自身包含的元素個數,以及逐個說明源數據組成元素的類型,例如第一個為32位數據,第二個為8位數據,最後ー個為16位數據等。步驟三,定義目標數據存儲緩衝區,步驟三的具體內容如下定義目標數據存儲緩衝區是為了存儲源數據轉換的結果,可以開闢ー塊足夠大的內存空間。目標數據存儲緩衝區可以是ー個已知的數據結構體變量,也可以是ー個維數足夠大的字節數組。如果是對源數據自身進行轉換,目標數據緩衝區也可以是源數據本身。如圖3所示的記錄類型,若源數據的轉換結果需要另行存儲,可以定義一個很大的字節數組作為目標數據存儲緩衝區。步驟四,按照數據格式轉換規則,對源數據類型描述說明的變量進行解析。步驟五,根據解析的數據類型對源數據進行轉換,轉換結果存儲到目標數據存儲緩衝區中,步驟五的具體內容如下上述步驟四和步驟五兩個步驟在數據轉換過程中是同時進行的,即對源數據類型描述說明的變量解析的過程中完成對源數據包含的元素的格式轉換。對於圖3所示的簡單記錄類型的數據,根據轉換規則,源數據的具體數據格式解析、轉換過程如下,解析、轉換示意圖如圖6所示(a)獲取目標數據存儲地址和源數據地址根據定義的目標數據存儲緩衝區,如定義的字節數組,獲得目標數據存儲地址為字節數組的首地址;源數據地址即為接收到的網絡源數據的首地址。獲取目標數據存儲地址和源數據地址的用途是為了在轉換源數據和存儲轉換結果時,準確地對應源數據的元素和目標數據存儲緩衝區的存儲位置。(b)解析源數據類型描述說明的變量源數據類型描述說明的變量包括X+2個元素,因此從第一個元素開始解析。由第一個元素可知,源數據為一個記錄類型的數據;由第二個元素可知,源數據包括X個元素,因此數據格式轉換需要深入到類型描述說明的下一層級。此時,從第三個元素開始,需要對後續元素進行循環解析,循環次數從I開始,直到X次時結束。(c)對源數據的元素進行數據格式轉換每次循環解析一個源數據類型描述說明的變量的元素,根據該元素的類型對源數據的對應元素進行數據格式轉換,源數據的對應元素通過把源數據地址指針按照循環次數進行移動獲得。如圖3所示,令當前為第η次循環(η大於等於1,並小於等於X),則判斷類型描述說明變量的第η+2個元 素的類型,根據該類型的數據格式轉換原則,移動源數據地址指針到第η個元素的位置,交換第η個數據相應的字節順序。例如,η為3時,得知類型描述說明變量的元素為32位的數據,因此,移動源數據地址指針到第3個元素的位置,按照32位數據的轉換原則交換相應的字節順序。根據數據格式轉換規則,不同的數據類型對應不同的數據格式轉換方法,因此數據格式轉換規則的偽代碼設計如下Begin數據格式轉換 {
讀取數據元素的個數
for (I = I· I <=數據元素的個數;I++)
{
讀取被轉換數據當前的類型描述說明;
如果數據類型描述說明是數組 {
讀取數組元素的個數;
類型描述層級增加一層;
for (J = I J <=數組元素的個數;J++)
{
開始對數組元素進行轉換;
}
數組所有元素轉換完成,類型描述層級減少一層;
}如果數據類型描述說明是記錄
{類型描述層級增加一層;
開始對記錄進行轉換;
記錄轉換完成,類型描述層級減少一層;}
如果數據類型描述說明是8位數據{
進行8位數據轉換;
}
如果數據類型描述說明是16位數據
I
進行16位數據轉換;
}
如果數據類型描述說明是32位數據{
進行32位數據轉換;
}
如果數據類型描述說明是64位數據{
進行64位數據轉換;
}
如果數據類型描述說明是其他
}
設置轉換狀態失敗;
}
}
}

End數據格式轉換
(d)把轉換結果存儲到目標數據存儲緩衝區從目標數據存儲緩衝區的首地址開始,根據解析源數據類型描述說明的變量元素的循環次數,移動目標數據存儲緩衝區的地址指針找到對應的數據存儲位置,然後把上一步完成數據格式轉換的數據結果存儲到數據存儲區緩衝區對應位置。循環次數增加一次,重複(b)、(C)和(d)的過程,直到循環X次時結束。為了使網絡數據格式轉換規則具有通用性,下面再以一個實例說明數據轉換規則的通用實施流程。通用實施流程的初始兩個步驟與前面所述相同,但是,在源數據格式轉換時根據網絡計算機和目標接收計算機體系結構的區別,以及源數據地址與目標數據存儲緩衝區地址的不同,需要進行更加全面的判斷。網絡數據格式轉換規則的通用實施流程如圖7所示。(I)根據被轉換源數據的類型,定義源數據的數據結構類型描述說明如圖4所示,以組成元素包括簡單數組的高級記錄類型為例,定義源數據的數據結構類型描述說明。類型描述說明包括數據類型、元素個數,以及源數據中組成元素的類型。同樣,源數據的數據結構類型描述說明組成元素的個數應該比源數據自身組成元素的個數多兩個,為η+2個,其中η表示源數據自身包含的元素個數。(2)聲明源數據類型描述說明的變量,並對該變量進行初始化賦值定義了源數據的數據類型描述說明後,接下來聲明一個該源數據類型描述說明的變量,並對該變量進行初始化賦值。如圖4所示,對源數據類型描述說明的變量賦值即為其數據類型賦值為記錄類型、元素個數為η個,η表示源數據自身包含的元素個數,以及逐個說明源數據組成元素的類型。例如第一個為32位數據,第二個為8位數據,最後一個為16位數據等。對於源數據的組成元素為簡單數組的,應該按照簡單數組的描述方法繼續展開描述。例如源數據第三個元素為簡單數組,因此該元素賦值為數組類型,且包括X個子元素,每個子元素類型為8位數據。(3)定義目標數據存儲緩衝區定義目標數據存儲緩衝區是為了存儲源數據轉換的結果,可以開闢一塊足夠大的內存空間。目標數據存儲緩衝區可以是一個已知的數據結構體變量,也可以是一個維數足夠大字節數組。如果是對源數據自身進行轉換,目標數據緩衝區也可以是源數據本身。如圖5所示的記錄類型,若源數據的轉換結果需要另行存儲,可以定義一個很大的字節數組作為目標數據存儲緩衝區。(4)對源數據類型描述說明的變量進行解析首先,獲取目標數據存儲地址和源數據地址,判斷網絡計算機和目標接收計算機的體系結構是否一致,判斷計算機的體系結構是為源數據的轉換做準備,因為,只有當網絡計算機和目標接收計算機的體系結構不相同時,才需要對源數據進行數據格式轉換,否則不需要對源數據的數據格式進行轉換。如果判斷網絡計算機和目標接收計算機的體系結構相同,則判斷目標數據存儲地址和源數據地址是否指向相同的地址。如果兩者地址相同,則不需要進行任何操作;如果兩者地址不同,則需要把源數據複製到目標數據存儲緩衝區中,到此源數據格式轉換全部結束。 如果判斷網絡計算機和目標接收計算機的體系結構不相同,則繼續進行本步驟的操作。源數據類型描述說明的變量包括η+2個元素,因此從第一個元素開始解析。由第一個元素可知,源數據為一個記錄類型的數據;由第二個元素可知,源數據包括η個元素,因此數據格式轉換需要深入到類型描述說明的下一層級。此時,從第三個元素開始,需要對後續元素進行循環解析,循環次數從I開始,直到η次時結束。如圖4所示,當解析的元素為數組類型時,必須按照數組類型的解析方法深入到下一層級。例如,循環3次時元素為數組類型,因此深入到類型描述說明變量的第2層級,得知數組包括X個子元素,因此在第2層級對數組進行新的循環解析,循環次數從I開始,直到X次時結束。等到第2層級的循環結束後,在回到上一層級繼續後面的循環解析。(5)對源數據的元素進行數據格式轉換每次循環解析一個類型描述說明變量的元素,根據該元素的類型對源數據的對應元素進行數據格式轉換,源數據的對應元素通過把源數據地址指針按照循環次數進行移動獲得。如圖4所示,在第一層級的循環中,令當前為第i次循環(i大於等於1,並小於等於n),則判斷類型描述說明變量的第i+2個元素的類型,根據該類型的數據格式轉換原則,移動源數據地址指針到第i個元素的位置,交換第i個數據相應的字節順序。例如,i為I時,得知類型描述說明變量的元素為32位的數據,因此,移動源數據地址指針到第3個元素的位置,按照32位數據的轉換原則交換相應的字節順序。如果進入到第二層級循環,則移動源數據地址指針時應該加上第二層級循環的次數,例如把源數據地址指針移動到i+k的位置,其中j為第二層級的循環次數。(6)把轉換結果存儲到目標數據存儲緩衝區從目標數據存儲緩衝區的首地址開始,根據解析源數據類型描述說明的變量元素的循環次數,移動目標數據存儲緩衝區的地址指針找到對應的數據存儲位置,然後把上一步完成數據格式轉換的數據結果存儲到數據存儲區緩衝區對應位置。移動目標數據存儲緩衝區地址指針的原則與上一步移動源數據地址指針的相同。循環次數增加一次,重複(4)、(5)和(6)的過程,直到循環η次時結束。如圖8所示,本發明機載設備網絡數據傳輸通用的數據格式轉換系統包括依次連接的結構類型描述說明定義模塊、初始化賦值模塊、緩衝區定義模塊、解析模塊、轉換模塊,結構類型描述說明定義模塊用於定義源數據的數據結構類型描述說明;初始化賦值模塊用於聲明源數據類型描述說明的變量並對該源數據類型描述說明的變量進行初始化賦值;緩衝區定義模塊用於定義目標數據存儲緩衝區;解析模塊對源數據類型描述說明的變量進行解析;轉換模塊根據解析的數據類型對源數據進行轉換。本發明實現目前存在的各種不同網絡數據格式轉換處理方法的統一,簡化設計人員在網絡接口協議和程序設計期間的工作,提高航空機載設備之間數據傳輸的效率,降低機載設備之間數據傳輸錯誤的風險。根據本發明機載設備網絡數據傳輸通用的數據格式轉換方法,工程設計人員可以不必再刻意地考慮航空機載設備計算機系統結構之間的區別。進行網絡數據傳輸時,不同設備之間都採用相同的數據發送和接收方法。按照本方法進行適當的計算機系統結構配置,即可保證不同機載設備之間網絡數據傳輸的正確性。另外,本發明可以對任意的數據類型,包括自定義的複雜結構體數據進行轉換,轉換後可以保持數據結構體的完整性,而避免了一次轉換隻能完成結構體數據包含的某一個數據的缺點,極大的提高了轉換效率、減少了程序設計 的難度和工作量,實現了數據格式轉換方法的統一,降低了數據傳輸錯誤的風險。本領域的技術人員可以對本發明進行各種改型和改變。因此,本發明覆蓋了落入所附的權利要求書及其等同物的範圍內的各種改型和改變。
權利要求
1.一種機載設備網絡數據傳輸通用的數據格式轉換方法,其特徵在於,其包括以下步驟步驟一,根據被轉換源數據的類型,定義源數據的數據結構類型描述說明;步驟二,聲明源數據類型描述說明的變量,並對該源數據類型描述說明的變量進行初始化賦值;步驟三,定義目標數據存儲緩衝區;步驟四,按照數據格式轉換規則,對源數據類型描述說明的變量進行解析;步驟五,根據解析的數據類型對源數據進行轉換,將轉換結果存儲到目標數據存儲緩衝區中。
2.如權利要求1所述的機載設備網絡數據傳輸通用的數據格式轉換方法,其特徵在於,所述步驟二對源數據類型描述說明的變量賦值即將其數據類型賦值為基本類型、數組類型或記錄類型中的一種,元素個數賦值為X個,X表示源數據自身包含的元素個數,以及逐個說明源數據組成元素的類型。
3.如權利要求1所述的機載設備網絡數據傳輸通用的數據格式轉換方法,其特徵在於,所述步驟三的目標數據存儲緩衝區是一個已知的數據結構體變量或是一個字節數組。
4.如權利要求1所述的機載設備網絡數據傳輸通用的數據格式轉換方法,其特徵在於,所述步驟四和步驟五兩個步驟在數據轉換過程中是同時進行的。
5.如權利要求1所述的機載設備網絡數據傳輸通用的數據格式轉換方法,其特徵在於,所述步驟五的轉換結果存儲到目標數據存儲緩衝區中是從目標數據存儲緩衝區的首地址開始,根據解析源數據類型描述說明的變量元素的循環次數,移動目標數據存儲緩衝區的地址指針找到對應的數據存儲位置,然後把完成數據格式轉換的數據結果存儲到數據存儲區緩衝區對應位置。
6.一種機載設備網絡數據傳輸通用的數據格式轉換系統,其特徵在於,其包括依次連接的結構類型描述說明定義模塊、初始化賦值模塊、緩衝區定義模塊、解析模塊、轉換模塊, 結構類型描述說明定義模塊用於定義源數據的數據結構類型描述說明;初始化賦值模塊用於聲明源數據類型描述說明的變量並對該源數據類型描述說明的變量進行初始化賦值;緩衝區定義模塊用於定義目標數據存儲緩衝區;解析模塊對源數據類型描述說明的變量進行解析;轉換模塊根據解析的數據類型對源數據進行轉換。
全文摘要
本發明公開了一種機載設備網絡數據傳輸通用的數據格式轉換方法及其系統,其包括以下步驟步驟一,根據被轉換源數據的類型,定義源數據的數據結構類型描述說明;步驟二,聲明源數據類型描述說明的變量,並對該源數據類型描述說明的變量進行初始化賦值;步驟三,定義目標數據存儲緩衝區;步驟四,按照數據格式轉換規則,對源數據類型描述說明的變量進行解析;步驟五,根據解析的數據類型對源數據進行轉換,將轉換結果存儲到目標數據存儲緩衝區中。本發明實現目前存在的各種不同網絡數據格式轉換處理方法的統一,簡化設計人員在網絡接口協議和程序設計期間的工作,提高航空機載設備之間數據傳輸的效率,降低機載設備之間數據傳輸錯誤的風險。
文檔編號G06F9/44GK103034499SQ201210541430
公開日2013年4月10日 申請日期2012年12月13日 優先權日2012年12月13日
發明者尹彥清, 馬駿 申請人:中國航空無線電電子研究所

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀