黃 擎
(貴州省興仁縣氣象局,貴州 興義 562300)
隨著氣象業(yè)務(wù)服務(wù)逐漸朝著信息化方向發(fā)展。諸多相關(guān)專家研制了國家級農(nóng)業(yè)氣象預(yù)報服務(wù)系統(tǒng)軟件,以模型的方式實現(xiàn)了對農(nóng)業(yè)氣象預(yù)測和預(yù)報產(chǎn)品輸出等功能。基于SQL Server 數(shù)據(jù)庫設(shè)計了氣象觀測記錄電子報表信息管理系統(tǒng),進一步實現(xiàn)了數(shù)據(jù)網(wǎng)絡(luò)共享,并有效確保了數(shù)據(jù)的唯一性和完整性。
數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS),是指將眾多具有相關(guān)性的數(shù)據(jù)以一定的組織形式進行存儲的數(shù)據(jù)集合模式,此軟件系統(tǒng)可支持檢索、存儲、建立、使用及維護等功能,其中主要包含數(shù)據(jù)模型、數(shù)據(jù)庫建立及數(shù)據(jù)庫與應(yīng)用的接口語言。高性能數(shù)據(jù)庫是保障大量氣象數(shù)據(jù)收集、分發(fā)、存檔和檢索的必然途徑,同時還需具備高效的數(shù)據(jù)管理和實時訪問能力,通常若要滿足系統(tǒng)需求則必須建立分布式數(shù)據(jù)庫系統(tǒng)。Microsoft 公司的SQL Server 具有可伸縮性強、與相關(guān)軟件集成度高及應(yīng)用方便等優(yōu)點,且對于大型多處理器的服務(wù)器均可使用此系統(tǒng)。另外,SQL Server 相比其他數(shù)據(jù)庫管理系統(tǒng)還具有,如OLAP、復(fù)制及標準的SQL 語言等功能。其還擁有大型數(shù)據(jù)庫中像存儲過程、觸發(fā)器等特性,且其的結(jié)構(gòu)較為簡單,數(shù)據(jù)存儲形式以二維表為主,通過一個表碼與另外一個表碼相連接從而實現(xiàn)表之間的數(shù)據(jù)聯(lián)系。同時,此數(shù)據(jù)系統(tǒng)還提供了以應(yīng)用操作為主的SQL-DMO 強大管理模型,如便于用戶接口、重復(fù)性任務(wù)作業(yè)調(diào)度等。而關(guān)系系統(tǒng)為方便用戶更有效地管理數(shù)據(jù)系統(tǒng),還提供了應(yīng)急恢復(fù)、并發(fā)控制等功能,更關(guān)鍵是可通過OLEBD、ADO 等技術(shù)對數(shù)據(jù)庫進行訪問。
以農(nóng)業(yè)氣象觀測為例,將氣象業(yè)務(wù)服務(wù)系統(tǒng)作為基礎(chǔ),并以數(shù)據(jù)庫管理為核心。建立農(nóng)業(yè)氣象數(shù)據(jù)庫管理系統(tǒng),需有數(shù)據(jù)采集、質(zhì)量控制、加工處理、數(shù)據(jù)庫維護等模塊。根據(jù)業(yè)務(wù)、科研、服務(wù)的實際需求原則,設(shè)計管理系統(tǒng)的目標主要有:(1)通過計算機網(wǎng)絡(luò)傳輸信息化后的“報表”資料。(2)將信息化后的資料報表等歷史資料存入磁盤文件中。(3)提供報表資料的初步審核、瀏覽、多種查詢輸出等功能。(4)將基本氣象資料與“報表”資料相連接,從而滿足相關(guān)科研及業(yè)務(wù)統(tǒng)計的需求。(5)建立農(nóng)業(yè)氣象文件庫,運用統(tǒng)一文件代碼格式,其中包括農(nóng)業(yè)氣象產(chǎn)品文件庫、農(nóng)業(yè)氣象指標文件庫等。
通常氣象觀測記錄的數(shù)據(jù)庫會存儲大量信息,如用戶信息、臺站信息、檔案類型信息和電子報表存儲信息等。而農(nóng)業(yè)氣象信息觀測記錄資料中有英文字母、阿拉伯數(shù)字、漢字或符號等,數(shù)據(jù)結(jié)構(gòu)較為復(fù)雜。根據(jù)不同資料的具體特點可將報表資料分為兩種類型,一種為備注型字段,此種類型還分為文本和備注字段數(shù)組;另一種則為字符型字段,用來表示原始值為未知標準的計算機數(shù)據(jù)庫字段類型。若為整段描述性文字內(nèi)容,則可將其劃分至文本當中,具體數(shù)據(jù)文件設(shè)計如表1所示。
表1 管理系統(tǒng)主要數(shù)據(jù)文件
農(nóng)業(yè)氣象數(shù)據(jù)庫會涉及如民政部門災(zāi)情信息、農(nóng)作物信息、統(tǒng)計部門的產(chǎn)量信息等,這些非氣象信息數(shù)據(jù)類型多樣,結(jié)構(gòu)復(fù)雜。除傳統(tǒng)的數(shù)值型數(shù)據(jù)以外,其存在形式還有文字、圖形、表格等。系統(tǒng)會將農(nóng)業(yè)氣象觀測記錄數(shù)據(jù)分為數(shù)據(jù)庫和文件庫兩部分,前者建立SQL Server 數(shù)據(jù)庫存儲基本氣象資料和農(nóng)業(yè)氣象觀測資料等,后者則以doc、dbf、jpg 等文件格式存放農(nóng)業(yè)氣象情報預(yù)報指標和模型。
農(nóng)業(yè)氣象數(shù)據(jù)庫共分為8 類:常規(guī)氣象資料、農(nóng)業(yè)氣象災(zāi)情、農(nóng)業(yè)氣象觀測資料、農(nóng)業(yè)經(jīng)濟統(tǒng)計信息、農(nóng)業(yè)氣象方法模型、QBS 災(zāi)情資料、系統(tǒng)產(chǎn)品以及輔助數(shù)據(jù)。針對上述數(shù)據(jù)庫可設(shè)計各字庫的書庫模型和數(shù)據(jù)庫對象,并基于SQL Server 下建立邏輯字庫、數(shù)據(jù)庫表結(jié)構(gòu)及數(shù)據(jù)管理等功能。文件庫由農(nóng)業(yè)氣象圖形圖像庫、農(nóng)業(yè)氣象產(chǎn)品庫、農(nóng)業(yè)氣象指標庫、地理信息背景庫和農(nóng)業(yè)氣象知識庫5 部分組成。
數(shù)據(jù)表的結(jié)構(gòu)包含區(qū)站號和時間兩個字段,表2為農(nóng)業(yè)氣象觀測記錄電子資料數(shù)據(jù)庫表結(jié)構(gòu)。在設(shè)計該結(jié)構(gòu)表時,為將此數(shù)據(jù)與地理信息系統(tǒng)共享,可將索引鍵定義為“區(qū)站號”并作為空間數(shù)據(jù)連接的關(guān)鍵詞,其屬性數(shù)據(jù)會在瀏覽空間數(shù)據(jù)時自動顯示。
表2 農(nóng)業(yè)氣象觀測記錄電子資料數(shù)據(jù)庫表結(jié)構(gòu)
采用Java 設(shè)計并開發(fā)氣象觀測記錄電子報表信息管理發(fā)布系統(tǒng),整合了SQL Server、Hibernate、Spring框架,其在一定程度上簡化了編程模型,減少了應(yīng)用程序代碼對框架的依賴性。具體實現(xiàn)步驟如下:
步驟1 用戶注冊。系統(tǒng)運行過程中會默認顯示登陸界面,單擊“注冊”便能轉(zhuǎn)到注冊頁面,按照步驟填寫相關(guān)注冊信息,若出現(xiàn)用戶名重復(fù),則需重新填寫信息,一旦注冊成功,數(shù)據(jù)庫便會添加用戶信息。
步驟2 用戶登錄。用戶在系統(tǒng)頁面輸入注冊名稱并單擊“登錄”按鈕,系統(tǒng)會自動檢測登錄信息與注冊信息是否相符,若正確則表示登錄成功,反之則自動轉(zhuǎn)回登錄界面。
步驟3 電子報表查詢。通過選擇不同的臺站和檔案類型信息,在電子報表查詢頁面中可以查看所需的報表,通常獲得臺站和檔案類型的詳細信息可通過查詢其所對應(yīng)的資料來實現(xiàn)。
步驟4 用戶信息管理。主要是針對用戶信息的修改及查看詳情,如真實姓名、用戶名、密碼、權(quán)限角色、所屬部門和聯(lián)系方式等。
建立氣象觀測電子報表數(shù)據(jù)庫系統(tǒng)主要采用SQL Server,根據(jù)地面氣象觀測報表不同屬性來建立用戶信息、觀測站屬性、報表頁次信息等,從而實現(xiàn)數(shù)據(jù)庫邏輯設(shè)計、物理設(shè)計及運行維護設(shè)計[3-4]。
數(shù)據(jù)采集分人工錄入和自動采集兩種,如圖1 所示。前者主要針對無法自動聯(lián)機取得的非信息化資料,如農(nóng)業(yè)氣象指標、地理背景信息、農(nóng)業(yè)經(jīng)濟統(tǒng)計信息或農(nóng)業(yè)知識模型等,其通過人工錄入后期加工成數(shù)據(jù)庫所需格式并存入庫中。此外,還可采用不同的方式采集不同種類的資料和數(shù)據(jù)源,并通過格式檢查及質(zhì)量控制處理后,確認合格方可入庫。而自動采集主要是針對氣象觀測電子記錄中的地面觀測資料、氣象產(chǎn)品資料、部分農(nóng)業(yè)氣象觀測資料,經(jīng)加工后形成可被數(shù)據(jù)庫納入的格式存入庫中。目前,已將信息化數(shù)據(jù)文件通過設(shè)計標準中間格式等方式達到了掛歷智能化和規(guī)范化,其目的是為了更好地與其他系統(tǒng)數(shù)據(jù)兼容。此外,SQL 數(shù)據(jù)庫入庫功能還提供與現(xiàn)行全國通用天氣整編資料W 文件、氣候環(huán)流數(shù)據(jù)的相同格式[5-6]。
圖1 數(shù)據(jù)庫服務(wù)界面及組成框圖
將SQL Server 數(shù)據(jù)庫連接Java Servlet、JDBC 技術(shù)并集合Hibernate、Spring、與JSP 技術(shù)[7]實現(xiàn)B/S 架構(gòu)的電子報表信息發(fā)布平臺。各類報表信息客戶均能通過系統(tǒng)進行集中管理,還可導(dǎo)出報表,實現(xiàn)對用戶權(quán)限的管理。而管理人員在基于Web 瀏覽器設(shè)計的平臺上可增強平臺的可移植性、可維護性和可擴展性,且能將數(shù)據(jù)庫中用戶所需的數(shù)據(jù)迅速提煉到網(wǎng)頁中進行發(fā)布。
綜上所述,基于SQL Server 的氣象觀測記錄電子報表信息管理系統(tǒng)實現(xiàn)了電子報表錄入功能、后臺重命名、頁面查詢及檔案類型信息修改等功能,且在一定程度上提高了氣象數(shù)據(jù)服務(wù)質(zhì)量,節(jié)省了工作人員查閱資料的時間。同時,該系統(tǒng)還充分實現(xiàn)了數(shù)據(jù)網(wǎng)絡(luò)共享,并具有良好的數(shù)據(jù)兼容性。
[1] 姜娜娜,岳勇,卓鳳艷,等.寧夏地面氣象觀測記錄電子報表管理系統(tǒng)的設(shè)計[J].電腦開發(fā)與應(yīng)用,2014(4):46-49.
[2] 叢根滋,蘇中濱,沈維政,等.基于SQL Server+Hibernate+JSF 的信息門戶網(wǎng)站開發(fā)平臺的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2011,28(12):217-219,242.
[3] 王衛(wèi)民,葉秋菊,賀文麗,等.基于GIS 的氣象時空數(shù)據(jù)挖掘和融合技術(shù)[J].電子科技,2014,27(2):130-133.
[4] 劉小東,楊承睿.基于ArcGIS 的氣象電子顯示屏管理系統(tǒng)研發(fā)[J].電子科技,2011,24(3):6-8.
[5] 封鍇,張中平,秦明,等.小型綜合氣象系統(tǒng)的研究與開發(fā)[J].儀表技術(shù)與傳感器,2009(S1):350-352.
[6] 高峰,王國復(fù),喻雯,等.基于策略配置的氣象數(shù)據(jù)庫業(yè)務(wù)監(jiān)視系統(tǒng)[J].計算機工程,2010,36(16):249-250.
[7] 叢根滋.基于SQL Server+Hibernate+JSF 的信息門戶網(wǎng)站開發(fā)平臺的設(shè)計與實現(xiàn)[D].哈爾濱:東北農(nóng)業(yè)大學(xué),2011.