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