閆蕎蕎,劉 瑩,劉 雯,嚴 婧
(湖北省氣象信息與技術保障中心,湖北 武漢 430074)
?
地面氣象資料數據訪問接口設計與實現
閆蕎蕎,劉 瑩,劉 雯,嚴 婧
(湖北省氣象信息與技術保障中心,湖北 武漢 430074)
針對用戶對高質量、高時效氣象數據服務的需求,在對氣象資料服務現狀剖析的基礎上,基于MDOS數據庫設計實現了地面氣象資料數據訪問接口。在提高數據服務效率的同時可屏蔽底層數據結構變化對用戶應用的影響,保證數據服務的規范性、穩定性和安全性。
數據訪問接口;地面氣象資料;數據同步;MDOS
資料服務是氣象資料業務的落腳點,為用戶提供高時效、高質量的數據服務是其核心。傳統的數據服務方式主要有:(1)經資料主管部門批準,資料服務單位將報文數據直接通過FTP定時推送至使用單位,數據質量較低;(2)資料使用者向資料主管部門提出申請,獲批后資料服務單位制作數據集后再提供給用戶,質量有保證但時效較差。這種粗放式和點對點的數據服務模式,一方面不利于資源的高效利用和集約化管理,增加用戶管理數據負擔的同時資料管理部門在數據服務上存在重復勞動;另一方面,時間上的滯后越來越不能滿足用戶對數據時效的需求,數據被訂正后也很難保證不同數據副本間的一致性。
為解決傳統數據服務存在的問題,提高氣象資料業務對其他氣象業務的支撐能力,本文基于氣象資料業務系統(Meteorological Data Operational System, MDOS)設計實現了地面氣象資料數據訪問接口,旨在基于MDOS質控和處理后的數據,為部門內用戶提供高質量的數據服務。為避免數據服務對MDOS實時業務產生影響,利用SQL Server數據復制技術建立專門用于數據服務的共享數據庫,基于共享數據庫建立數據訪問接口;為便于監控用戶的數據訪問行為,保證數據訪問安全,設計了基于角色和審計信息的數據訪問控制策略。最后,介紹了數據訪問接口的使用方式。
地面觀測是氣象觀測的重要組成部分,是對地球表面一定范圍內的氣象狀況及其變化進行系統、連續的觀察和測定,為天氣預報、氣象情報、氣候分析、科學研究和氣象服務提供重要的依據[1]。地面氣象資料按時間尺度可分為分鐘、小時、日、旬、候、月、年值等資料;按測站類別可分為國家站、區站站、輻射站等資料;按產生方式可分為觀測資料和統計值等;按資料所代表的狀態可分為瞬時值、平均值、極端值、總量值及頻率值等。數據訪問接口在綜合考慮各種分類方式的基礎上結合業務需求確定。
MDOS數據庫管理系統使用Microsoft SQL Server 2008 R2[2]數據庫管理軟件,由原始庫、應用庫和元數據庫組成。其中,原始庫用于存儲臺站上傳的地面觀測數據及其他子系統運行所需的信息;應用庫用于存儲各類面向應用的質控后數據和統計值,各統計值實時滾動更新;元數據庫存儲臺站基本參數、歷史沿革等信息。為保障實時業務運行效率,原始庫僅存儲資料業務需求時間域內的觀測資料及系統運行產生的中間過程信息,而應用庫中的數據長期在線保存。因此,為保證數據服務的持續性,將MDOS應用庫作為數據訪問接口設計的底層數據源。
地面氣象資料數據訪問接口設計的目的是為用戶提供高時效、高質量數據服務的同時降低底層數據結構變化對用戶應用的影響。MDOS作為省級數據處理人員的核心工作平臺,為保證服務數據的質量,接口基于MDOS實現是最優選擇,但MDOS作為實時業務系統,其運行效率至關重要。為避免數據服務對MDOS的系統性能產生影響,采用圖1所示體系結構,雖將MDOS應用庫當作基礎數據源,但又不讓其直接參與數據服務。

圖1 數據訪問接口體系結構
(1)物理層:保障系統運行的資源池,包含地面氣象觀測設備、通信網絡、應用服務器和數據服務器等硬件設備。
(2)數據層:分兩層實現,底層為MDOS應用庫,上層為共享數據庫,共享數據庫基于MDOS應用庫建立,將數據服務與MDOS業務系統隔離,避免對實時業務造成影響。
(3)接口層:數據訪問接口的集合,包括觀測數據接口和數據變更信息接口兩大類,基于共享數據庫建立。
(4)應用層:數據訪問接口的應用模式集合,用戶可通過數據庫管理系統客戶端、應用程序及共享門戶網站等使用接口。
(5)訪問控制層:數據安全策略集合,基于用戶角色實現數據訪問權限控制,并建立審計信息對用戶訪問記錄進行監控。
4.1 利用數據復制技術建立共享數據庫
SQL Server數據復制技術[3]可在數據庫間對數據表、存儲過程等數據庫對象進行復制并保證其一致性,采用發布-分發-訂閱模式實現。為降低數據共享服務對MDOS實時業務運行效率的影響,保證系統運行的穩定性,利用數據復制技術建立專門的共享數據庫,將數據服務與實時業務隔離,同時為業務服務器配置備份服務器,防止系統故障時產生數據丟失影響業務運行。實現過程及其物理布局如圖2所示,業務服務器即為部署MDOS系統的服務器,備份服務器主要用于MDOS數據庫備份,共享數據庫部署在共享服務器,是數據服務的直接數據源,數據訪問接口建立在共享數據庫之上。

圖2 共享數據庫建立過程及物理布局
在數據同步流程中,MDOS應用庫作為要復制的數據源而充當發布數據庫,共享數據庫因需要從MDOS應用庫接收數據即為訂閱服務庫。為節省資源,未設置獨立的分發數據庫,而是讓MDOS應用庫作為發布數據庫的同時擔任分發數據庫的角色。同步過程主要分為2個步驟:(1)創建數據快照,快照代理進程建立包含MDOS應用庫架構、數據庫對象和數據的快照文件,存儲于業務服務器;(2)使用數據快照:分發代理進程將數據快照文件從業務服務器移動到共享服務器,并應用復制所需的腳本、架構和數據。同步流程建立后,MDOS應用庫數據發生變更時共享數據庫會同步更新。
4.2 利用存儲過程實現數據訪問接口
數據訪問接口使用存儲過程[4-5]實現,存儲過程具有執行效率高、可重用、可維護、高安全等優點,且可通過調用系統存儲過程對可用戶數據訪問行為進行記載。
(1)接口定義:由接口名稱、參數列表、接口主體、返回值等部分構成,如圖3所示。接口名稱以pro開頭,由可表述接口功能的英文單詞或其縮寫組成;接口參數間以逗號分隔,參數個數可根據需求動態確定;接口主體實現用戶數據訪問權限判識、請求數據獲取和訪問行為登記等功能;接口返回值為TABLE定義的數據集。

圖3 數據訪問接口框架定義
(2)接口實現:根據業務需求共設計實現了23個接口,各接口的參數列表設置基本一致,由站點信息、開始時間、結束時間及要素信息等組成。站點信息和要素信息均提供完整的碼表供用戶使用,用戶可結合具體需求及權限從碼表中找到參數的可賦值范圍,獲取對應數據。
4.3 基于角色和審計的數據訪問控制
訪問控制[6]是保證數據安全的基本手段,基于角色的訪問控制模型通過角色的概念來簡化授權和訪問控制過程并提升訪問控制的靈活性,能適應業務策略和人員的變化。根據用戶的申請,對用戶資格認證后,設定用戶的訪問級別,并為其分配諸如“用戶名-密碼”等的身份驗證信息。有訪問需求時,用戶提供身份驗證信息,通過驗證后即可訪問其權限范圍內的數據資源。
根據氣象資料管理辦法規定,部門內用戶按部門取得數據的基本訪問權限,即部門對所轄范圍內氣象臺站的觀測數據自帶訪問權,故基于角色的數據訪問權限控制的實現用部門界定用戶角色,分為省級和地市兩大類。先設置用戶角色表,根據用戶的數據訪問申請對其進行動態維護,再關聯臺站信息表確定用戶對臺站的數據訪問權限。同時為避免異常數據訪問行為對數據服務造成沖擊,設置用戶訪問審計表,記錄用戶名、訪問時間、IP地址、訪問數據等信息,實現數據服務的實時監控。
4.4 數據訪問接口的應用模型
申請數據訪問權限后,用戶可根據實際情況通過多種方式調用數據訪問接口,常用的有:
(1)通過數據庫軟件調用:該方式可快速獲取數據,但需要用戶安裝數據庫客戶端訪問工具,手動進行數據轉儲,適用于臨時或短期數據訪問。
(2)通過程序調用:利用Fortran/C/JAVA/C++等高級程序設計語言進行二次開發,用戶可根據具體需求對獲取數據的時間、頻次、輸出格式等進行靈活設定,適用于流程化或長期的數據訪問。
本文基于MDOS應用庫設計了一套地面氣象資料數據訪問接口,借助該接口可屏蔽底層數據結構變化對用戶應用的影響,降低數據環境和外部業務應用之間的耦合度,保證了數據使用的規范性、穩定性和安全性。后期須根據MDOS業務的擴充不斷完善和豐富接口種類,保證數據服務的持續性發展。在接口應用方面,可借助業務內網提供數據下載服務。
[1] 中國氣象局.地面氣象觀測規范[M].北京:氣象出版社,2003.
[2] 徐照興.SQL Server數據庫中DML觸發器的教學探討[J]. 微型機與應用, 2014,33(23):29-31.
[3] 閆波,韓秀卓.數據復制技術在災備系統中的研究與應用[J].計算機技術與發展,2007,19(9):123-132.
[4] 孫娜,曹君.存儲過程的數據庫安全性應用研究[J].計算機與數字工程, 2009, 37(3):154-156.
[5] 丁革媛,宋揚,袁中臣,等.利用SQL Server存儲過程提高在線考試系統的性能[J].微型機與應用,2011,30(22):7-9.
[6] 鄧莉,王伯民,李慶祥,等.數據訪問控制在氣象信息服務平臺中的應用[J].計算機工程, 2011(s1):139-141.
Design and implementation of data access interfaces for surface meteorological data
Yan Qiaoqiao, Liu Ying, Liu Wen, Yan Jing
(Hubei Meteorological Information and Technology Support Center, Wuhan 430074, China)
According to the user requirements of high quality, high efficiency of meteorological data services, data access interfaces for surface meteorological data are designed and implemented based on Meteorological Data Operational System (MDOS) by analyzing the present situation of meteorological data service. The interfaces can improve the efficiency of data services and shield the influence of the change of the underlying data structure to the user application, and ensure the standardization, stability and security of data services.
data access interfaces; surface meteorological data; data synchronization; MDOS
TP391
A
10.19358/j.issn.1674- 7720.2017.14.007
閆蕎蕎,劉瑩,劉雯,等.地面氣象資料數據訪問接口設計與實現[J].微型機與應用,2017,36(14):20-22.
2016-12-26)
閆蕎蕎(1986-),女,碩士,工程師,主要研究方向:氣象資料加工處理。
劉瑩(1982-),女,碩士,高級工程師,主要研究方向:氣象資料加工處理。
劉雯(1986-),女,碩士,工程師,主要研究方向:氣象資料加工處理。