国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

觀測數(shù)據(jù)整合與共享的實現(xiàn)

2015-06-09 14:24王國君
陜西氣象 2015年2期
關(guān)鍵詞:庫中觸發(fā)器數(shù)據(jù)表

王國君,蔡 英

(寶雞市氣象局,陜西寶雞 721006)

觀測數(shù)據(jù)整合與共享的實現(xiàn)

王國君,蔡 英

(寶雞市氣象局,陜西寶雞 721006)

為了有效解決不同廠家區(qū)域站數(shù)據(jù)存儲結(jié)構(gòu)不統(tǒng)一的問題,實現(xiàn)各類自動氣象站觀測數(shù)據(jù)的集約化使用,以整合區(qū)域站、自動站數(shù)據(jù)建立統(tǒng)一的應用數(shù)據(jù)源,建立標準的訪問接口和數(shù)據(jù)共享系統(tǒng)為目標,設(shè)計了觀測數(shù)據(jù)整合與共享系統(tǒng),使用數(shù)據(jù)庫觸發(fā)器、存儲過程以及.net平臺編程技術(shù)實現(xiàn)。

區(qū)域站;數(shù)據(jù)庫;觸發(fā)器;存儲過程;整合

2012年以后,寶雞市氣象局逐步使用華云、無錫設(shè)備新建或替換原有華創(chuàng)區(qū)域自動氣象站,因此在全市形成三個區(qū)域站中心站系統(tǒng),且各廠家所使用的數(shù)據(jù)庫結(jié)構(gòu)不一致,數(shù)據(jù)存儲字段、類型也存在差異,增加了數(shù)據(jù)使用的難度,降低了使用效率。自動站與區(qū)域站數(shù)據(jù)融合使用也存上述問題,需要對全市觀測數(shù)據(jù)進行整合,建立統(tǒng)一的應用數(shù)據(jù)源,數(shù)據(jù)訪問接口和數(shù)據(jù)共享系統(tǒng)。

1 方案設(shè)計

1.1 觀測數(shù)據(jù)整合與共享系統(tǒng)功能設(shè)計

觀測數(shù)據(jù)整合與共享主要是實現(xiàn)區(qū)域站、自動站數(shù)據(jù)集約化數(shù)據(jù)存儲,建立統(tǒng)一的觀測數(shù)據(jù)應用源,建立標準的數(shù)據(jù)應用訪問接口。如圖1所示,原有的CAWS600B(華創(chuàng))、CAWSDB (華云)、AWS(無錫)三個區(qū)域站數(shù)據(jù)庫部署在業(yè)務數(shù)據(jù)庫服務器上,與各自的中心站軟件關(guān)聯(lián)。新建AWSData庫用于存儲區(qū)域站及自動站數(shù)據(jù),該庫部署在應用數(shù)據(jù)庫服務器上,業(yè)務和應用分離,避免數(shù)據(jù)應用訪問量異常增加影響區(qū)域站業(yè)務質(zhì)量。通過使用數(shù)據(jù)庫觸發(fā)器機制實現(xiàn)三個廠家區(qū)域站數(shù)據(jù)主動推送到AWSData庫,完成數(shù)據(jù)整合。自動站數(shù)據(jù)使用輔助程序收集報文,解析存入AWSData庫?;贏WSData庫整合和收集的觀測數(shù)據(jù)進行實時分析和處理,將大風、強降水等數(shù)據(jù)存入Alarm庫,作為災害性天氣實時提示報警信息在共享系統(tǒng)上顯示。數(shù)據(jù)共享是基于WCF服務技術(shù)為應用庫設(shè)計標準的訪問接口,通過訪問接口的標準化實現(xiàn)應用數(shù)據(jù)的開放,以WebApp站點實現(xiàn)數(shù)據(jù)展示、查詢統(tǒng)計等。

圖1 觀測數(shù)據(jù)整合與共享系統(tǒng)結(jié)構(gòu)圖

1.2 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計

數(shù)據(jù)庫設(shè)計遵循關(guān)系型數(shù)據(jù)庫設(shè)計原則[1], AWSData庫用于存儲區(qū)域站、自動站的觀測數(shù)據(jù),并作為統(tǒng)一開放數(shù)據(jù)源。分析區(qū)域站、自動站數(shù)據(jù)特點發(fā)現(xiàn),自動站觀測要素多,區(qū)域站觀測要素少,區(qū)域站觀測項目為自動站觀測項目的子集。為提高數(shù)據(jù)存儲空間利用效率,將兩類數(shù)據(jù)分開存儲,使用時合并。分別設(shè)計區(qū)域站和自動站數(shù)據(jù)表,相同屬性采用相同字段名和存儲類型,設(shè)置站號和時間為主鍵。

2 重要技術(shù)研究與實現(xiàn)

2.1 數(shù)據(jù)推送機制

區(qū)域站數(shù)據(jù)主動推送是由數(shù)據(jù)庫引擎完成。區(qū)域站中心站軟件將數(shù)據(jù)入庫后,數(shù)據(jù)庫引擎觸發(fā)和響應Insert事件,執(zhí)行AFTERINSERT觸發(fā)器 (觸發(fā)器是一種響應特定事件的特殊類型的存儲過程。AFTERINSERT觸發(fā)器,只要向表中插入新行,就會執(zhí)行觸發(fā)器的代碼,對于每一個插入的行,SQLServer會將行的內(nèi)容存儲到一個特殊的表中,表名稱為INSERTED,在觸發(fā)器的代碼內(nèi)可以訪問該表。)代碼。該觸發(fā)器調(diào)用執(zhí)行預先編寫的數(shù)據(jù)推送存儲過程,將區(qū)域站數(shù)據(jù)寫入到AWSData庫中,區(qū)域站數(shù)據(jù)第一時間被從源表推送到目標表。同理,使用CLR存儲過程 (為提高數(shù)據(jù)分析和篩選的效率)分析處理被寫入AwsData庫的數(shù)據(jù),并篩選出強降水、大風等報警信息,將其推送至Alarm庫。

圖2 區(qū)域站數(shù)據(jù)推送序列圖

2.2 數(shù)據(jù)推送存儲過程的實現(xiàn)細節(jié)

2.2.1 使用鏈接服務器實現(xiàn)跨服務器數(shù)據(jù)推送分別為三個數(shù)據(jù)庫創(chuàng)建相應的數(shù)據(jù)推送存儲過程來實現(xiàn)數(shù)據(jù)推送存儲功能,在存儲過程中使用SQL語句從源表中檢索出數(shù)據(jù),再將數(shù)據(jù)寫入AWSData庫中的區(qū)域站數(shù)據(jù)表。由于AWSData庫與源庫不在同一數(shù)據(jù)庫服務器上,引用AWSData庫中的區(qū)域站數(shù)據(jù)表時須以 “鏈接服務器名.庫名.表名”的方式使用,實現(xiàn)數(shù)據(jù)跨越服務器推送。

2.2.2 解決數(shù)據(jù)存儲類型和內(nèi)容格式不一致的問題 三個廠家數(shù)據(jù)庫中關(guān)于 “最大風速出現(xiàn)時間”,“最高溫度出現(xiàn)時間”等字段分別采用不同的數(shù)據(jù)類型,華創(chuàng)庫中采用char(10)、華云庫中采用char(5)、無錫庫中采用char(4)。AWSData庫中區(qū)域站數(shù)據(jù)表中采用char(4)類型存儲,該類數(shù)據(jù)需要在數(shù)據(jù)推送存儲過程中進預處理[3],統(tǒng)一數(shù)據(jù)格式。如表示“12:03”,無錫庫存為“1203”,華創(chuàng)、華云兩庫存入格式為“12:03”,由于華創(chuàng)庫該字段采用char (10),存入時數(shù)據(jù)庫會自動在其后補五個空字符。因此需要使用字符串函數(shù)去掉其中的 “:”或多余的空字符,使數(shù)據(jù)格式一致。

2.2.3 使用動態(tài)SQL語句解決表名與站號相關(guān)的問題 由于華云庫的設(shè)計沒有遵循關(guān)系型數(shù)據(jù)庫設(shè)計原則,以站號信息作為表名。例如整點和分鐘加密數(shù)據(jù)分別存儲于 HXXXXX, MXXXXX兩個表中,造成對華云庫的數(shù)據(jù)檢索比較困難,推送存儲過程里不能直接執(zhí)行 “INSERTINTOSELECT”這樣的SQL語句實現(xiàn)數(shù)據(jù)推送,必須通過字符串運算,根據(jù)站號動態(tài)擬合出相應的SQL語句字符串,使用Sp_Executesql方法執(zhí)行動態(tài)SQL語句[2]。

2.3 歷史數(shù)據(jù)與數(shù)據(jù)完整性說明

數(shù)據(jù)的推送是充分利用SQLServer數(shù)據(jù)庫的事件機制實現(xiàn)的。實際使用中,區(qū)域站中心站軟件向數(shù)據(jù)庫成功寫入數(shù)據(jù),數(shù)據(jù)庫引擎就會啟動和確保數(shù)據(jù)推送存儲過程得到有效執(zhí)行。實踐證明該方式是可以保證區(qū)域站數(shù)據(jù)完整推送到應用庫中,不會出現(xiàn)遺漏。歷史數(shù)據(jù)的導入需要手動完成,在數(shù)據(jù)推送功能的代碼基礎(chǔ)上稍做修改即可實現(xiàn),手動執(zhí)行一次可一次性完成歷史數(shù)據(jù)的導入和整合。

3 結(jié)語

觀測數(shù)據(jù)整合和共享系統(tǒng)實現(xiàn)了區(qū)域站、自動站數(shù)據(jù)標準化存儲,建立了統(tǒng)一觀測數(shù)據(jù)應用源,面向服務架構(gòu)開發(fā)了數(shù)據(jù)訪問接口,并實現(xiàn)觀測數(shù)據(jù)共享,為氣象服務工作提供數(shù)據(jù)支持,提高了數(shù)據(jù)提取和使用效率。該系統(tǒng)主要涉及了一些數(shù)據(jù)共享和應用功能,相對于業(yè)務服務工作的需求,還需要后續(xù)不斷開發(fā)更多的數(shù)據(jù)展示和應用功能。

[1] 薩師煊.數(shù)據(jù)庫系統(tǒng)概論[M].3版.北京:高等教育出版社,2002:173-175.

[2] 鄒建.深入淺出SQLServer2005開發(fā)、管理與應用實例[M].北京:人民郵電出版社,2008:108-112.

[3] 何林,范濤,曹波.區(qū)域自動氣象站數(shù)據(jù)庫整合設(shè)計與實現(xiàn)[J].陜西氣象,2014(4):44-46.

P409

B

王國君,蔡英.觀測數(shù)據(jù)整合與共享的實現(xiàn)[J].陜西氣象,2015(2):38-40.

1006-4354(2015)02-0038-03

2014-08-25

王國君(1981—),男,漢族,陜西藍田人,工程師,從事氣象信息技術(shù)保障工作。

猜你喜歡
庫中觸發(fā)器數(shù)據(jù)表
街頭的人
湖北省新冠肺炎疫情數(shù)據(jù)表
基于列控工程數(shù)據(jù)表建立線路拓撲關(guān)系的研究
從今天開始
智能盤庫在自動化立體庫中的探索和應用
使用觸發(fā)器,強化安全性
圖表
基于VSL的動態(tài)數(shù)據(jù)表應用研究
ID3算法在構(gòu)件庫中的應用
幾種常見觸發(fā)器工作方式的討論
五指山市| 宜阳县| 晋中市| 清镇市| 南皮县| 方山县| 疏勒县| 顺平县| 洛隆县| 天台县| 宝坻区| 蒙自县| 航空| 彭水| 松溪县| 英山县| 临海市| 遂昌县| 巨野县| 阜新市| 务川| 灵山县| 烟台市| 伊通| 琼结县| 北安市| 岳普湖县| 张家界市| 开鲁县| 辉县市| 哈巴河县| 进贤县| 始兴县| 罗平县| 玉屏| 连南| 南宫市| 汾阳市| 萨嘎县| 渑池县| 绥棱县|