孔令旺,張 瑾,薛萬孝
(甘肅省氣象信息與技術裝備保障中心,甘肅 蘭州 730020)
云計算[1]是一種資源的使用模式,這種模式是對可配置的計算資源共享池(資源包括網絡、服務器、存儲、應用軟件和服務)提供可用的、便捷的、按需的網絡訪問,只需要投入很少的管理工作,或與服務供應商進行很少的交互,這些資源即可被快速提供。
隨著氣象現代化的逐步推進,甘肅省氣象信息中心已經建成了以NAS(網絡接入存儲Network-Attached Storage)為平臺的在線存儲系統,實現了高空、地面、農氣、輻射、酸雨、雷達、報表等多種非結構化類型氣象觀測資料的在線云存儲,滿足了氣象數字檔案資料海量增長的存儲需求,同時,海量的虛擬化資源池建設構建了云計算必要的軟硬件環境,本研究旨在云計算環境下設計一套氣象資料管理平臺,優化氣象資料的收集、整理、加工、檢索和服務流程,保證甘肅省氣象資料的集約化、標準化以及氣象資料的安全性、正確性和完整性。
如圖1 所示,云計算環境下的氣象檔案資料管理平臺分為4 個層次,由數據源、數據采集層、服務層和用戶層組成。

圖1 云計算環境下的氣象檔案資料管理平臺架構
數據源由在線存儲在大容量存儲NAS 或SAN等設備的高空、地面、農氣、輻射、酸雨、雷達、圖像報表、區域站資料、多普勒雷達等多種非結構化氣象標準文件、天擎數據資源服務器、MDOS 數據庫服務器、MODI 標識符數據庫服務器和數字化資料索引數據庫組成,為數據采集層提供歷史及實時氣象資料。
數據采集層由實時數據采集軟件、資料管理軟件、資料服務采集軟件、SaaS 服務軟件組成。
數據采集軟件自動定時采集區域站、雷達、沙塵暴、閃電定位、土壤水分、大氣成分等實時數據。
資料管理軟件接收高空、地面、農氣、輻射、酸雨等人工審核后的歷史數據,并建立索引數據庫。
資料服務采集軟件接收來自服務層的數據請求,根據被服務用戶的需求,采集相應的結構化或非結構化數據形成服務文件傳遞到服務層。
SaaS 服務軟件是部署在其服務器上以云服務的方式直接運行的氣象業務軟件。
管理和服務層由WEB 服務器、SaaS 服務器、Ftp 文件服務器、郵件服務器組成。
管理用戶通過WEB 服務器上傳和管理審核后的資料。當被服務用戶的氣象資料請求審批通過以后,由WEB 服務器或SaaS 服務器向數據采集層發出數據請求消息,并在數據生成層生成用戶所需數據之后,按照用戶的需求由WEB 服務器或SaaS 服務器將數據發送給FTP 文件服務器或郵件服務器,完成整個服務流程。
用戶層由管理用戶、資料服務用戶和SaaS 用戶組成,該層通過互聯網發布氣象資料云服務安全接口。管理用戶通過WEB 頁面管理和上傳資料。資料服務用戶在線定制個性化的氣象資料,發出氣象資料服務申請,由管理用戶進行在線審批,如果資料請求符合規定,管理用戶審批通過,氣象資料服務任務交由服務層處理。SaaS 用戶通過WEB 頁面登錄遠程桌面訪問相關業務軟件,提取相關氣象資料。
本管理平臺由專門的數據采集軟件自動定時采集存儲實時數據,根據氣象資料的類別、生成時間、文件命名格式等資料特征制定數據采集規則表,數據采集軟件根據數據采集規則表定時從實時氣象數據資料庫中提取相應數據文件,建立相關索引,并保存到云存儲設備中。
經過人工審核的常規氣象資料,由氣象資料審核人員登錄WEB 網頁,在線上傳本人審核后的氣象資料。資料上傳后生成資料索引記錄,并記錄相關日志。同時,氣象資料審核人員也可用根據相應權限下載相關資料。
一方面,平臺設計了自動完整性檢查功能,定時啟動完整性檢查流程,并生成相關信息推送給管理員,由管理員審核資料完整性檢查軟件推送的資料完整性信息,通過管理平臺對缺失的文件進行補錄,同時生成資料索引記錄,并形成相關記錄日志。另一方面,管理員可以通過人工方式手動運行資料完整性檢查軟件,檢查數據文件的完整性。
文件的管理功能包括為數字化文件自動建立文件索引、刪除和移動、資料檢索和查找、創建目錄、記錄操作日志等功能。資料上傳后,服務器應用程序會自動根據上傳文件的類型和文件名自動匹配文件名的格式,自動提取出資料類型、觀測日期、觀測時間,記錄上傳時間等索引信息。資料審核人員和資料管理人員按照自己的權限管理資料,可以刪除、移動資料文件,刪除移動的同時系統會自動記錄日志,修改檢索信息。管理人員也可以按照資料的種類、觀測時間等信息檢索需要的資料,并可以按照自己的權限下載到本地。操作人員可以根據需求,通過WEB 服務器在云存儲上新建立目錄。操作人員對資料的上傳、刪除、移動、修改都會在操作日志表中留有記錄。
平臺用戶的角色分為管理員、資料審核員、資料服務審批員、資料服務用戶四大類。每一個平臺用戶都可以同時擁有一個或多個角色,每一個角色對應了平臺上一個或多個應用模塊的功能,系統管理員給用戶授予不同的角色,用戶就可以使用相應角色擁有的平臺功能模塊。
(1)審核人員。審核業務為高空、地面、農氣、輻射、酸雨等常規資料的審核工作。管理平臺按照審核人員的業務賦予審核人員不同的存取權限,審核人員登錄之后,可以提交、下載和管理自身業務范圍的資料,之后平臺會執行一系列的自動化操作,包括將資料保存到云存儲平臺,將提交的資料進行索引,將管理后的資料索引進行修改,在日志表中記錄操作過程,向資料管理員發送消息,等待管理員的確定。
(2)管理人員。管理人員與審核人員一樣,具有提交、下載和管理維護資料的權限,做出相應操作之后,也會執行一系列自動化的操作,保存資料到云存儲平臺,對資料進行索引,修改資料對應的索引,記錄日志等。不同的是,管理人員登錄系統后,平臺會發送給管理員資料變化的相關消息,由管理人員作出相應的確認操作。
(3)資料服務用戶。資料服務用戶是被服務用戶,用戶通過管理平臺提交資料申請,然后平臺會創建一個資料審批服務流程,平臺將用戶提交的資料申請通過消息發送給資料服務審批員,待審批人員確認后,由資料管理人員提供服務。
(4)資料服務審批員。資料服務審批員是資料業務主管單位,審批來自資料服務服務用戶發來的資料申請,并將審批結果發送給資料管理人員處理。
如圖2 所示,操作人員登錄后,管理平臺會按照操作人員的角色和業務權限為其劃分不同的資源模塊,之后操作人員會按照自己的崗位職責及平臺賦予其個人的角色進行數據提交、數據維護、資料管理、資料審查等操作。

圖2 平臺的工作流程
審核人員登錄之后,提交、下載和管理自身業務范圍的資料,隨后平臺會執行一系列的自動化操作,將資料保存到云存儲平臺,對提交的資料進行索引,修改管理后的資料索引,在日志表中記錄操作過程,向資料管理員發送消息,等待管理員的確定,管理人員收到平臺發送給管理員資料變化的相關消息后,由管理人員作出相應的確認操作。平臺每天會喚醒一個數據檢查進程,按照各類業務提交資料的時間,檢查數據是否完整,如果數據超過設定的期限沒有提交到平臺,平臺會給管理員和相應業務的審核員發送一個提醒提交資料的消息。數據檢查進程也可檢查數據源是否正常,并對不正常的數據源進行故障排除。資料的服務流程是被服務用戶通過甘肅省氣象數據標識符系統(MOID)提交資料服務申請,然后MOID 標識符系統會創建一個資料審批服務流程,將用戶提交的資料申請通過MOID系統發送給資料服務審批員,待審批人員審批確認后,由資料管理人員提供數據服務。
氣象資料管理平臺在ASP.net 環境下開發,平臺的主體程序部署在WEB 服務器上,數據的索引和檢索結構部署在數據庫服務器上,在線收集和匯交的歷史數據存放在NAS 服務器上。
平臺的主體程序包括索引模塊、數據管理模塊、用戶權限管理模塊、資料收集模塊、日志管理模塊,各個模塊相互獨立,通過數據庫服務器進行相關的數據和消息傳遞,以此來控制整個數據的操作流程。
文件的索引信息包括:資料類型、文件名、修改日期、備份日期、備份方式、備份次數、文件存儲路徑、文件大小、觀測時間、上傳時間等。
索引模塊包括對歷史數據文件建立索引和對在線提交的數據建立索引兩個部分。歷史數據由管理員或者審核員直接批量上傳到NAS 文件服務器上,然后通過WEB 服務器上管理平臺的文件列表功能將無文件索引的文件進行在線網頁列表,通過網頁界面,操作人員調用建立索引的軟件模塊為歷史文件建立索引。由管理員和審核員在線提交的數據文件通過網頁界面在線提交本地數據文件,在線上傳后,平臺為提交的數據建立索引,并記錄上傳日志。
索引模塊能夠根據上傳數據的文件名自動匹配氣象資料的類型、觀測日期、觀測時間等信息,并將這些信息自動記錄到文件索引數據庫中。其工作原理是在索引數據庫服務器中定義了氣象文件命名規范信息表,表中記錄了各類氣象數據文件名的資料類型標志信息、標志信息的位置和長度、觀測時間的位置和長度、時制等信息,當要為文件建立索引時,索引模塊提取出上傳到管理平臺的文件的文件名,搜索氣象文件命名規范信息表,查找該文件是何種類型的氣象資料,確定了資料的類型后,根據氣象文件命名規范信息表中記錄的該類資料的文件名中觀測時間的位置和長度在文件名中提取觀測時間信息。
數據的管理模塊是對已經保存到管理平臺的數據文件進行日常維護,包括數據文件維護和文件索引維護兩個方面。
首先,數據管理模塊可以對數據文件及其索引進行一致性檢查,查找出有文件索引但丟失數據文件的索引記錄,也能查找到有數據文件但沒有索引記錄的文件,管理平臺檢索到數據文件和索引的不一致后,可以刪除多余文件的索引,也可以為沒有建立索引的文件建立新的索引。
其次,數據管理模塊可以檢查管理平臺上數據的完整性。按照氣象文件命名規范信息表中定義的資料類型及該資料的周期,以時間順序在索引表上依次查找數據文件是否齊全,并輸出缺失的數據文件列表,提醒管理員及時收集和補錄。
另外,數據管理模塊也實現了數據文件的網頁在線管理功能,如生成數據文件的列表,刪除、復制及上傳文件等功能。
用戶管理權限模塊以用戶角色列表和用戶表作為數據支撐,對平臺上的用戶及其操作權限進行管理。其中,用戶角色列表中定義了各種角色及其在平臺上所擁有的權限,用戶表中定義了用戶是哪一類角色。用戶登錄時,用戶權限模塊先查找該用戶是哪一個角色,然后根據這個角色賦予該用戶相應的權限來訪問管理平臺。
數據采集模塊的設計是基于數據文件周期列表的檢索與拷貝,該列表中定義了數據文件的類型、數據文件的生產周期、數據文件的原始目錄、數據的目標存儲目錄、文件名的格式等信息。數據采集模塊根據數據文件周期列表定時對源數據目錄進行檢索,查找沒有收集到的文件,并將這些文件拷貝到文件周期列表中定義的該類數據文件的目標目錄中,同時記錄被采集數據文件的相關日志信息和索引信息。
日志管理模塊記錄了用戶對數據文件的操作記錄,在平臺的數據庫中建立了操作日志信息表,信息表中定義了文件的名稱、文件所在目錄、用戶信息、用戶操作類型、操作時間等信息,當用戶對文件進行操作時,日志管理模塊就對當前用戶進行的操作記錄到操作日志中。管理員可以對所有用戶的操作記錄進行檢索,監督用戶的操作數據記錄是否規范。
本平臺的建設,為提高氣象檔案數字化服務能力,提升氣象數據檔案的利用率,促進氣象檔案事業的發展,帶動氣象數字檔案館建設打下了堅實基礎。但是云計算環境的發展是一個動態創新的過程,隨著中國氣象局天擎系統在全國各省的部署和應用,為氣象大數據業務創造出了新的云計算環境,將來必須結合天擎系統改造完善氣象資料業務的管理和服務模式,進一步提高氣象資料管理和服務的質量。