房云龍 趙鐵成 潘江勇
【摘 要】為高效集成存儲航空氣象結構化數據,提出一種基于XML文件的“存儲任務模型”。根據氣象數據的特點,“存儲任務”分為“數據收集”、“格式轉換”和“集成存儲”三個子任務,提取子任務處理過程中所有的參數作為XML文件的元素標簽,以一定的方式集中整合。“存儲任務”與XML文件一一對應,便于增加、改變、刪除不同類型的數據存儲。利用基于XML文件的“存儲任務模型”,可以方便的設計程序完成不同類型結構化數據的存儲,提高了存儲程序的可移植性和可擴展性。
【關鍵詞】XML文件;存儲過程模型;民航氣象;結構化數據;集成存儲
中圖分類號: TP316 文獻標識碼: A 文章編號: 2095-2457(2018)11-0104-003
DOI:10.19694/j.cnki.issn2095-2457.2018.11.044
0 引言
民航氣象數據是開展航空氣候統計評估及進行航空科學研究的基礎,是推動航空氣象科學發展的原動力。存儲民航氣象數據對提升航空預報的準確率、開展典型歷史個例全面分析、建立數值天氣預報產品的統計釋用、建立多源氣象探測數據融合系統等工作具有十分重要的意義。
民航氣象數據具有數據量大、時效性高、種類豐富的特點。目前,部分機場民航氣象部門存儲數據還處于手動存儲階段,計算機存儲數據也多為“單獨程序負責單獨數據”的狀態,擴展性和移植型較差,還沒有一套系統、完善、同時便于預報員操作的自動化存儲過程。因此,有必要開展民航氣象數據存儲技術方面的工作,為氣象科學研究及業務建設提供數據基礎。
民航氣象數據可分為結構化數據和非結構化數據[1]。結構化數據也稱作行數據,由二維表結構來表達和實現數據邏輯,嚴格地遵循數據格式與長度規范,可以通過關系型數據庫進行存儲和管理[2]。很多民航氣象數據是標準的結構化數據。本文以青島機場民航氣象數據為例,介紹了一種簡易的基于XML文件的“存儲過程模型”,以系統集成的存儲民航氣象結構化數據。
1 青島機場結構化氣象數據
目前青島機場可以獲得的結構化氣象數據包括民航數據和中國氣象局數據兩大類。其中民航數據有機場自動觀測系統數據(AWOS)、自動氣象站數據(AWS)、航空器氣象數據下傳(AMDAR)、機場風廓線雷達數據、民航飛行氣象情報等。中國氣象局數據包括:常規地面、高空探測數據、青島市自動站數據、青島市氣象局風廓線雷達數據、山東省自動站數據、山東省閃電定位數據等,具體見表1。
2 基于XML文件的“存儲過程模型”的建立
XML(EXtensible Markup Language,可擴展標記語言),是一種用于標記電子文件使其具有結構性的標記語言。XML主要用來傳輸和存儲數據,通過XML技術,數據能夠存儲在獨立的XML文件中,以純文本格式進行存儲,提供了一種獨立于軟件和硬件的數據存儲方法,可以在不兼容的系統之間輕松地交換數據[3-4]。
鑒于XML文件的優勢和特點,本文以XML文件為基礎建立數據“存儲任務模型”。存儲任務是指在計算機進行存儲數據過程中,按照一定的順序、方式、邏輯、自動完成某種類型數據收集、格式轉換、集成存儲的過程。每種類型數據的存儲都唯一對應一個存儲任務,每個存儲任務又唯一對應一個XML類型的屬性文件。
所有“存儲任務”對應的XML文件根元素統一命名為
2.1 數據收集
數據收集是指按照指定時間間隔、次序和遴選邏輯從原始數據源獲取數據的過程。青島機場原始結構化氣象數據為位于不同服務器的文本文件,可采用ftp方式實現數據收集工作。這樣在
2.2 格式轉換
結構化資料的原始數據是大量結構固定的文本文件,不同類數據具有不同的文件格式和更新頻率。原始文件缺測數據各不相同,轉換后統一定義為-99999;不同行數據之間統一以“回車換行符”分隔。為便于集中處理,定義基于csv格式的dbcsv格式文件。csv是一種通用的文本文件格式,通過逗號分隔存儲表格數據,但csv不是單一的、定義明確的格式[4-5]。為方便處理, dbcsv的統一格式為:所有文件均為ASCII文本文件,后綴名為dbcsv;文件內容第一行為數據列名,對應將來數據入庫的表的字段名,第二行之后為數據;所有列和數據之間以tab分隔。dbcsv本質也是csv文件,但規范更加嚴格,是集成存儲方案中重要的臨時數據格式。經格式轉換后的dbcsv文件嚴格地遵循數據格式與長度規范,便于解析文件內容并將數據存儲到關系型數據庫保存。
在格式轉換過程中,一級標簽
2.3 集成存儲
集成存儲子任務主要進行數據入庫管理。青島機場氣象臺以MySQL作為存儲數據庫,因此集成存儲子任務中各參數設計以符合MySQL規則為依據,具體標簽結構見表3。
數據庫地址、庫名、表名等即為入庫存儲的數據庫對應的信息,“新建表頻率< createTableFrq>”提供兩種選擇,即按月建表或按年建表。如果氣象數據每年的記錄數在500萬以下,選擇按年建表,否則選擇按月建表。例如amdar數據每年的記錄數超過2000萬,為保證查詢效率,選擇按月建表。“增加表主鍵
3 存儲任務模型的應用
基于XML文件的“存儲任務”模型是一個XML類型的單獨文件,其內容包含了數據收集、格式轉換及集成存儲全過程的所有信息。XML文件是w3c(萬維網聯盟)推薦的存儲和傳輸數據的標準格式,與程序及數據庫無關,主流的編程語言如Java、C、VS、python等都支持XML機制,可以方便的加載XML內部信息。由于“存儲任務”和XML一一對應,且XML是單獨的文件,因此可以通過增加、改變或刪除XML文件實現增加、改變或刪除數據的存儲,提高了數據存儲程序的可移植性和可擴展性。
需要指出的是,本文介紹的“存儲任務模型”,是數據存儲的創建模型,并非物理實現數據存儲。用戶可以根據實際需求,按照模型的流程進行編程實現數據存儲,也可以整合既有的數據存儲工具,實現任務的集約化。
4 結束語
本文介紹了一種簡單方便的基于XML文件的“存儲任務模型”,用于集中存儲民航氣象領域中大量的結構化數據。根據氣象數據的特點,“存儲任務”分為“數據收集”、“格式轉換”和“集成存儲”三個子任務。三個子任務在模型中分別對應著實現其功能的各項參數,以XML標簽方式體現。利用基于XML文件的“存儲任務”模型,可以方便的設計程序完成不同類型結構化數據的存儲,提高了存儲程序的可移植性和可擴展性。
【參考文獻】
[1]王若曈,黃向東,張博.羅兵海量氣象數據實時解析與存儲系統的設計與實現[J].計算機工程與科學.2015,37(11):245-2054.
[2]潘順,金遠平,歐陽曄.結構化數據到XML數據的語義映射[J].東南大學學報(自然科學版).2002,32(3):331-334.
[3]孫永麗,劉成新.XML技術及其應用[J].中國電化教育,2002,19(3):115-117.
[4]趙艷妮,郭華磊.基于XML異構數據庫遷移技術研究[J].計算機與數字工程.2018(1):129-133.
[5]李金,利用CSV格式將新生數據錄入ILASII的快捷方法[J].圖書情報導刊.2015(12):148-149.
[6]吳慶晨,周偉,孫江艷.基于條件選擇的CSV文件數據挖掘算法研究[J].電腦編程技巧與維護.2017(11):54-56.