中國空空導彈研究院軟件部 馬龍暉 劉海紅 王 磊
基于常用格式數據解析軟件設計
中國空空導彈研究院軟件部 馬龍暉 劉海紅 王 磊
本文提出了一種對常用格式數據進行解析的軟件設計方案,并對方案的原理及實現方式進行了介紹,說明了軟件的需求和實現考慮。經過實際測試,驗證了方案的可行性。
數據解析;XML;數據格式
數據解析是將收集的數據通過加工、整理,它是數據分析的前提,是將數據轉換為對用戶有用信息的基礎。數據解析軟件的應用十分廣泛,同時,隨著信息時代的發展,對數據的解析分析野越來越引起人們的重視。
當前,市面上有非常多的數據解析軟件,但大多是針對某些特定領域方面或者數據具體明確的解析軟件。本文提出了一種對常用格式數據進行解析的設計方案,可以達到對不同定義的數據格式進行解析的目的[1]。
本文提出的方案將解析過程分為了兩部分,數據定義和程序解析。當需要對一種新的數據解析時,只需要針對這種新的格式進行定義即可,不需要重新開發軟件,極大的減少了程序的開發和維護成本。
數據的定義可以有多種方式,可以用特定語言定義,也可以用字母標志定義。選擇一種合適的數據定義方式十分重要,即需要考慮數據的擴展性和多變性,也應該簡單易用。這里選擇可擴展標記語言(XML,Extensible Markup Language)作為數據定義的方式。它是一種可以用來標記數據、定義數據類型的源語言。能夠獨立于應用程序和平臺[2-5]。
程序解析過程如圖1所示,它需要具備以下功能:(1)根據數據定義將原始數據分類;(2)可以將分類后的數據解析為能夠理解的內容;(3)能夠將解析后的數據進行適當的信息展示(如圖形、表格、曲線等)。

圖1 數據解析過程

圖2 數據格式定義
3.1 數據定義
數據格式的定義通常跟數據本身的物理含義密切相關。比如,溫度數據的格式定義和IP地址的格式定義一定是不同的。數據格式的定義需要具備以下幾個元素:
(1)物理含義,這一項的定義可以使用戶理解解析出來的數據表示什么意義;(2)位元組順序,它指的是數據的組織方式,例如(10 00)和(00 01)是兩個不同的數據,但是如果分別按照大端順序解析和小端順序解析的話,它們就是同樣的數據。尤其在通信數據的獲取中,這種定義是必須的;(3)數據長度,即代表每個物理含義的數據所具有的長度,這個定義用來使軟件確定每一項物理信息在原始數據中的位置并截取出來;(4)數據類型,解析程序需要將截取的數據按照定義的數據類型解釋,不同的類型定義會導致同一個數據被轉換成不同的內容。
一個簡單的數據格式定義如圖2所示,定義了一個數據包,位元組順序是大端順序,包含了4種類型的信息。比如SourceIP數據類型是IP,長度12位;Temperature數據類型是Float,長度32位。
3.2 數據解析
數據解析軟件從數據源(可以是網絡、數據庫、文件等)那里獲取原始數據,按照用戶定義的XML文件中的數據格式,對原始數據進行定位(通過格式定義確定數據的位置)、截取(根據位置信息和長度取得數據)和解析(按照數據類型定義轉換)獲得用戶可以理解的數據信息,最終通過適當的方式(表格、圖形、曲線等)展示給用戶,如圖3所示。數據的解析過程如圖4所示。

圖3 信息展示圖例

圖4 數據解析過程
在實際使用中,對具有不同格式的數據內容進行實際測試,可以獲得有效的獲取所需要的信息,可以根據需要選擇適當的信息展示方式。
本文針對常用格式數據的解析提出了一種軟件設計方案,并介紹了原理和實現考慮。同時,在實際測試的結果中證明了設計的可行性,對于有數據解析分析需求的研究設計人員具有較大的參考價值。
[1]薛琳,夏小玲.基于配置文件映射的數據解析方案[J].計算機與現代化,2014-06-26.
[2]瞿裕忠,張劍鋒,陳崢,王叢剛.XML語言及相關技術綜述[J].計算機工程,2000-12-20.
[3]雷映喜,習淑婷,彭俊峰,周應光.XML與JSON在WEB中對數據封裝解析的對比[J].價值工程,2013-03-28.
[4]王仲,陳曉鷗.基于XML的數據交換與存取技術研究[J].計算機工程與應用,2001-12-15.
[5]孔令波,唐世渭,楊冬青,王騰蛟,高軍.XML數據索引技術[J].軟件學,2005-12-30.
[6]楊彥波,劉濱,祁明月.信息可視化研究綜述[J].河北科技大學學報,2014-01-20.
Design of Analysis Software Based on Common Format Data
MA Longhui,LIU Haihong,WANG Lei
(Software Division,Chinese Academy of Air-To-Air Missile,Luoyang 471000,China)
This paper presents a software design scheme for analyzing commonly used format data,and introduces the principle and implementation of the scheme,and explains the requirements and implementation of the software. After the actual test,verify the feasibility of the program.
Data analysis;XML;Data format