999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JAVA的氣象日均數(shù)據(jù)處理系統(tǒng)的設(shè)計與實現(xiàn)

2018-01-19 09:59:36唐紅昇李玉濤牛靄琛
安徽農(nóng)業(yè)科學(xué) 2018年3期
關(guān)鍵詞:嵌入式數(shù)據(jù)庫系統(tǒng)

馬 彬,唐紅昇,肖 晨,李玉濤,牛靄琛

(1.江蘇省氣象信息中心,江蘇南京 210008;2.江蘇省淮安市氣象局,江蘇淮安 223001)

我國是世界上漬澇災(zāi)害頻繁發(fā)生的國家之一,每年不同程度的漬澇危害給農(nóng)業(yè)生產(chǎn)造成了巨大的損失。對農(nóng)業(yè)漬澇的監(jiān)測預(yù)警服務(wù)一直是農(nóng)業(yè)氣象業(yè)務(wù)工作的重點內(nèi)容之一[1]。多年來,江蘇省在農(nóng)田旱澇監(jiān)測與評估方面也在不斷研究之中,由于研究所采用的指標大多是以旬為時間尺度,實時氣象防災(zāi)減災(zāi)的應(yīng)用意義較小[2]。隨著信息化技術(shù)的飛速發(fā)展,自動氣象觀測站已廣泛應(yīng)用于數(shù)據(jù)采集的日常工作中,實時氣象觀測數(shù)據(jù)的獲取也將更加方便,減少研究所采用指標的時間尺度需求也變得更加緊迫。為更好地向全省農(nóng)業(yè)氣象平臺及農(nóng)田旱澇監(jiān)測預(yù)警提供實時、準確的基礎(chǔ)數(shù)據(jù)環(huán)境,筆者設(shè)計了江蘇氣象日均數(shù)據(jù)處理系統(tǒng),該系統(tǒng)利用JAVA語言的簡單、可靠和安全等特性,同時充分結(jié)合綠色可移植的嵌入式數(shù)據(jù)庫SQLite[3-4],實現(xiàn)了江蘇省70個國家基本站的降水、溫度、日照百分率等13種氣象要素日均數(shù)據(jù)的實時處理、標準化存儲和系統(tǒng)應(yīng)用的簡易性部署功能。

1 系統(tǒng)架構(gòu)

江蘇氣象日均數(shù)據(jù)處理系統(tǒng)主要由數(shù)據(jù)讀取、數(shù)據(jù)處理和數(shù)據(jù)存儲模塊構(gòu)成,其總體架構(gòu)分為多源數(shù)據(jù)層、數(shù)據(jù)處理層和數(shù)據(jù)應(yīng)用層(圖1)。

在數(shù)據(jù)讀取模塊中,針對不同需求的要素數(shù)據(jù),考慮到源數(shù)據(jù)獲取方式的差異性,同時要保證系統(tǒng)源數(shù)據(jù)的完整性與準確性,在設(shè)計開發(fā)中采用江蘇氣象一體化數(shù)據(jù)庫,輔以嵌入式數(shù)據(jù)庫SQLite作為源數(shù)據(jù)的支撐庫。數(shù)據(jù)處理模塊主要對讀取的數(shù)據(jù)進行統(tǒng)計對比、質(zhì)量控制和數(shù)值計算等處理操作,生成系統(tǒng)所需的每日平均值和24個時次總量等數(shù)據(jù)(圖2a)。數(shù)據(jù)存儲模塊則對結(jié)果數(shù)據(jù)按照數(shù)據(jù)應(yīng)用層中服務(wù)平臺的數(shù)據(jù)接口標準進行數(shù)據(jù)的格式化處理,形成本地文本式存儲(圖2b)。

由于系統(tǒng)每日4個時次的均值需要當(dāng)天20:00的數(shù)據(jù),因此該系統(tǒng)默認設(shè)置的定時執(zhí)行時間為每日的21:00。此外,用戶可以在SystemConfig.properties配置文件中修改定時執(zhí)行時間、文件保存路徑等參數(shù),就可以動態(tài)、靈活地調(diào)整系統(tǒng)相應(yīng)的基礎(chǔ)配置信息(圖2c~e)。

2 功能模塊設(shè)計

2.1數(shù)據(jù)讀取模塊設(shè)計

2.1.1常規(guī)數(shù)據(jù)JDBC讀取。數(shù)據(jù)的獲取是氣象日均數(shù)據(jù)處理系統(tǒng)的基礎(chǔ),數(shù)據(jù)讀取模塊執(zhí)行獲取氣象源數(shù)據(jù)的操作,并將所有獲取的數(shù)據(jù)資料統(tǒng)一推送至數(shù)據(jù)處理模塊進行計算。根據(jù)系統(tǒng)開發(fā)應(yīng)用的數(shù)據(jù)需求,對Oracle數(shù)據(jù)庫中已有的原始數(shù)據(jù),如站名、站號、平均氣溫、最高氣溫、最低氣溫、氣壓、風(fēng)速等12類要素,采用JDBC(Java DataBase Connectivity,JAVA數(shù)據(jù)庫連接)[5-7]可直接從江蘇一體化Oracle數(shù)據(jù)庫中獲取,主要代碼如下:

//加載Oracle驅(qū)動

Class.forName("oracle.jdbc.driver.OracvleDriver");

//獲取數(shù)據(jù)庫連接

Connection con = DriverManager.getConnection

("jdbc:odbc:wombat","login","password");

//創(chuàng)建Statement對象

Statement stmt = con.createStatement();

//獲取數(shù)據(jù)集

ResultSet rs = stmt.executeQuery(sql);

//釋放資源

rs.close();

stmt.close();

con.close();

2.1.2嵌入式數(shù)據(jù)庫應(yīng)用。可照時數(shù)是太陽中心自出地平線至入地平線,其直射光線在無地障及云霧煙塵遮掩情況下照耀地面的時間[8]。目前,可照時數(shù)無法從現(xiàn)有自動站觀測采集儀器直接獲取,因此在本地一體化數(shù)據(jù)庫中沒有此類數(shù)據(jù)為該系統(tǒng)提供源數(shù)據(jù)支撐,也就無法計算出系統(tǒng)所需的日照百分率。

圖1 系統(tǒng)架構(gòu)Fig.1 The architecture of the system

圖2 氣象日均數(shù)據(jù)處理系統(tǒng)實現(xiàn)展示Fig.2 The implementation display of meteorological daily average data processing system

經(jīng)研究分析,對于上述較小數(shù)據(jù)量和低消耗量類型的數(shù)據(jù),該系統(tǒng)采用SQLite嵌入式數(shù)據(jù)庫建立業(yè)務(wù)所需的江蘇省70個國家基本站可照時數(shù)基礎(chǔ)數(shù)據(jù),并將此數(shù)據(jù)庫嵌入到程序中作為可照時數(shù)的源數(shù)據(jù),通過應(yīng)用程序中的JDBC API來獲取數(shù)據(jù)。SQLite整體架構(gòu)如圖3所示。

圖3 SQLite整體架構(gòu)Fig.3 The overall architecture of SQLite

考慮到除去外界環(huán)境因素,每個地點的可照時數(shù)的變化比較微小,可根據(jù)經(jīng)驗統(tǒng)計近似確定各站點在每日的可照時數(shù)[9]。該系統(tǒng)在開發(fā)中采用站號、日期以及可照時數(shù)的關(guān)系對應(yīng)方式來解決可照時數(shù)的源數(shù)據(jù)獲取問題[10-12],其數(shù)據(jù)庫表設(shè)計如圖4所示。

通過上述設(shè)計,氣象日均數(shù)據(jù)處理系統(tǒng)可以有效、快速、

靈活地獲取可照時數(shù)和常規(guī)氣象數(shù)據(jù),滿足了科研和農(nóng)業(yè)氣象等不同應(yīng)用場合對其源數(shù)據(jù)獲取的基本需求。

2.1.3配置文件數(shù)據(jù)處理。為了體現(xiàn)系統(tǒng)的靈活性,便于用戶根據(jù)需求進行相關(guān)參數(shù)的更改和設(shè)置,該系統(tǒng)設(shè)計了對配置文件的處理。JAVA中的配置文件為properties文本文件,與系統(tǒng)相關(guān)的配置信息主要以“鍵=值”的形式保存在其中,其文件后綴一般為properties格式,通常在properties文件中,用“#”將與配置信息相關(guān)的標注進行注釋。JAVA中對配置文件的讀取主要依靠Properties類,其方法如表1所示。

該系統(tǒng)對配置文件的操作主要代碼如下:

//創(chuàng)建Properties對象

properties = new Properties();

//要讀取的配置文件的路徑和名稱

String FilePath = System.getProperty("user.dir")+"/SystemConfig.Properties";

//讀取配置路徑下的配置文件

InputStream in = new BufferedInputStream(new FileInputStream(FilePath));

//加載配置文件

properties.load(in);

圖4 SQLite可照時數(shù)數(shù)據(jù)庫表設(shè)計Fig.4 The database table design of SQLite possible sunshine duration

方法Method參數(shù)類型Typesofparameters參數(shù)Parameters描述DescriptiongetProperty()Stringkey用指定的鍵在此屬性列表中搜索屬性,通過參數(shù)key,得到key所對應(yīng)的valueLoad()InputStreaminStream從輸入流中讀取屬性列表(鍵和元素對),通過對指定的文件進行裝載來獲取該文件中的所有鍵-值對SetProperty()StringKey,value調(diào)用Hashtable的方法put來設(shè)置鍵-值對Store()OutputStream,StringOut,comments將此Properties表中的屬性列表(鍵和元素對)寫入輸出流,即將鍵-值對寫入到指定的文件中去,與load方法相反Clear()清除所有裝載的鍵-值對

2.2數(shù)據(jù)處理模塊設(shè)計

2.2.1數(shù)據(jù)質(zhì)量控制。數(shù)據(jù)質(zhì)量控制是氣象日均數(shù)據(jù)處理系統(tǒng)的核心。數(shù)據(jù)質(zhì)量控制的對象主要是業(yè)務(wù)開發(fā)所需的氣溫、降水量、日照時數(shù)、水汽壓、氣壓、風(fēng)速以及相對濕度等重要數(shù)據(jù)資料。

該模塊首先對獲取的源數(shù)據(jù)進行時間和空間上一致性檢查以及初級質(zhì)控處理,即對異常、缺測的源數(shù)據(jù)采用數(shù)據(jù)閥值和字符串長度解析進行判斷過濾,并根據(jù)應(yīng)用接口標準,將其設(shè)定為“-888”字符值,便于后續(xù)業(yè)務(wù)人員對存儲文件數(shù)據(jù)的使用。質(zhì)量控制模塊數(shù)據(jù)流程如圖5所示。

圖5 質(zhì)量控制模塊數(shù)據(jù)流程Fig.5 Data flow of quality control module

2.2.2數(shù)值計算處理。針對不同需求的平均值數(shù)據(jù),采用對應(yīng)的計算方法實行數(shù)據(jù)計算處理,主要分為每日4個時次的平均值、每日24個時次的總量以及日照百分率。

2.2.2.1每日4個時次數(shù)值平均值及24個時次統(tǒng)計總量。每日4個時次的平均值為每日02:00、08:00、14:00、20:00 4個時次的平均值,其計算表達公式如下:

(1)

在該數(shù)據(jù)計算中,需要處理的數(shù)據(jù)要素為日平均氣溫、日平均水汽壓、日平均氣壓、日平均相對濕度以及日平均風(fēng)速。

每日24個時次的總量為前一天20:00至當(dāng)日20:00的數(shù)值總和,降水量數(shù)據(jù)就采用該種處理方法。

2.2.2.2日照百分率。每日的日照百分率為日照時數(shù)占可照時數(shù)的百分比,其計算公式如下:

日照百分率=日照時數(shù)/可照時數(shù)×100%

(2)

其中,日照時數(shù)可通過Oracle中的小時日照表獲取,可照時數(shù)可通過SQLlite數(shù)據(jù)庫中可照時數(shù)表的可照時數(shù)字段獲取。

2.2.2.3每日最小相對濕度。每日的最小相對濕度則取02:00、08:00、14:00、20:00 4個時次的相對濕度最小值,其計算表達公式如下:

Umin=MIN{Ui}(i=02,08,14,20)

(3)

式中,Ui表示下標時刻的數(shù)值,Umin表示相對濕度最小值。

通過上述計算處理方法,從數(shù)據(jù)讀取模塊獲取的所有源數(shù)據(jù),在該模塊中可得到經(jīng)過質(zhì)控及計算處理流程后的結(jié)果數(shù)據(jù)。

2.3數(shù)據(jù)存儲模塊設(shè)計氣象資料數(shù)據(jù)的存儲方式通常分為數(shù)據(jù)庫表和文件2種存儲方式,以數(shù)據(jù)庫表形式存儲的數(shù)據(jù)為結(jié)構(gòu)化數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)則通常采用文件方式存儲。根據(jù)系統(tǒng)開發(fā)需求,同時考慮到該數(shù)據(jù)為日常業(yè)務(wù)工作中使用次數(shù)較多,但每日數(shù)據(jù)量較少的數(shù)據(jù),采用非結(jié)構(gòu)化的文本方式存儲既可避免對江蘇本地數(shù)據(jù)庫增加鏈接訪問的壓力,又能實時地為業(yè)務(wù)、科研人員提供其所需的文本數(shù)據(jù)。

按照應(yīng)用層業(yè)務(wù)需求,每一行只存儲一個站號的數(shù)據(jù),依次按照站名、站號、日平均氣溫、日最高氣溫、日最低氣溫、日降水總量(前一天20:00至當(dāng)天20:00)、日照時數(shù)、日照百分率、日平均水汽壓、日平均氣壓、日平均風(fēng)速、日平均相對濕度以及日最小相對濕度排序,并以半角字符 “,”作為數(shù)據(jù)分隔符進行數(shù)據(jù)存儲。采用上述特定分隔符和要素排列順序整理數(shù)據(jù)存儲結(jié)構(gòu)并寫入文件,可為前端使用的業(yè)務(wù)平臺和科研人員解析文件中的數(shù)據(jù)提供便利,滿足業(yè)務(wù)應(yīng)用的實際需求。

3 結(jié)語

該研究介紹了基于JAVA的氣象日均數(shù)據(jù)處理系統(tǒng)功能模塊設(shè)計、數(shù)據(jù)處理流程以及氣象數(shù)據(jù)標準化處理、嵌入式數(shù)據(jù)庫等關(guān)鍵技術(shù)。該系統(tǒng)從業(yè)務(wù)應(yīng)用和研究需求的實際情況出發(fā),基于JAVA Eclipse集成開發(fā)環(huán)境,利用JDBC、SQLite嵌入式等技術(shù),實現(xiàn)農(nóng)業(yè)氣象業(yè)務(wù)平臺基礎(chǔ)數(shù)據(jù)的實時處理功能。

(1)氣象日均數(shù)據(jù)系統(tǒng)依托江蘇氣象統(tǒng)一數(shù)據(jù)環(huán)境,采用JAVA語言開發(fā)、氣象數(shù)據(jù)標準化處理、嵌入式數(shù)據(jù)庫等關(guān)鍵技術(shù),實現(xiàn)江蘇省70個國家基本站的降水、溫度、日照百分率等13種氣象要素日均數(shù)據(jù)的實時處理與標準化存儲等功能。該系統(tǒng)具有資源占用少、管理成本低、部署靈活性高、數(shù)據(jù)實用性、穩(wěn)定性強等特點,在農(nóng)業(yè)氣象基礎(chǔ)數(shù)據(jù)服務(wù)中取得了較好的應(yīng)用效果。

(2)該系統(tǒng)的數(shù)據(jù)讀取模塊采用嵌入式數(shù)據(jù)庫技術(shù),一方面有效地解決了系統(tǒng)所需源數(shù)據(jù)在統(tǒng)一數(shù)據(jù)環(huán)境中獲取的局限性問題,另一方面也減輕了對現(xiàn)有實時業(yè)務(wù)數(shù)據(jù)庫的訪問請求壓力,進一步提升了氣象為農(nóng)業(yè)定制化數(shù)據(jù)的服務(wù)能力,同時也有助于提升氣象信息集約化應(yīng)用效率的水平。

(3)該系統(tǒng)自2015年5月以來通過江蘇省農(nóng)業(yè)氣象業(yè)務(wù)平臺為農(nóng)業(yè)防災(zāi)抗?jié)程峁崟r決策的基礎(chǔ)數(shù)據(jù)環(huán)境服務(wù),現(xiàn)已穩(wěn)定運行2年,在江蘇省旱澇監(jiān)測工作中發(fā)揮了重要作用,取得了良好的農(nóng)業(yè)氣象服務(wù)效果。筆者將根據(jù)業(yè)務(wù)和科研應(yīng)用的精細化需求,對其進行進一步的優(yōu)化設(shè)計。

[1] 廖永豐,聶承靜,楊林生,等.洪澇災(zāi)害風(fēng)險監(jiān)測預(yù)警評估綜述[J].地理科學(xué)進展,2012,31(3):361-367.

[2] 張旭暉,楊洪建,葛淑芬,等.江蘇漬澇災(zāi)害氣象監(jiān)測預(yù)警[J].中國農(nóng)學(xué)通報,2015,31(35):187-192.

[3] ECKEL B.Java 編程思想[M].陳昊鵬,譯.北京:機械工業(yè)出版社,2002.

[4] 王冠宇,關(guān)永,趙冬生.JAVA在SQLite嵌入式數(shù)據(jù)庫中的應(yīng)用[J].微計算機信息, 2006,22(1/2): 94-95.

[5] 劉麗玨.JDBC與Java 數(shù)據(jù)庫程序設(shè)計[M].北京:人民郵電出版社,2001.

[6] REESE G. Database Programming with JDBC and JAVA[M].Sebastopol: O′Reilly Media Inc., 2000.

[7] 李興華.Java 開發(fā)實戰(zhàn)經(jīng)典[M].北京:清華大學(xué)出版社,2009.

[8] 李金城.可照時數(shù)的微機計算程序[J].氣象,1986,12(10):33-34.

[9] 王昌明.可照時數(shù)和太陽高度角計算公式的簡化證明[J].山東氣象,1989(2):46-48.

[10] 高艷云.氣象資料數(shù)據(jù)庫管理系統(tǒng)的設(shè)計及其實現(xiàn)[J].電子技術(shù)與軟件工程,2014(21): 206.

[11] GUAN X M,LIU Y,XU L X,et al.The research to the application of embedded database SQLite [J].Journal of Yangzhou College of Education, 2008(3):7.

[12] XUE B.The application of embedded database SQLite in Java [J].Journal of Tianjin Vocational Institutes,2008(4):40.

猜你喜歡
嵌入式數(shù)據(jù)庫系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
搭建基于Qt的嵌入式開發(fā)平臺
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 国产精品女在线观看| 再看日本中文字幕在线观看| 国产超碰一区二区三区| 色视频国产| 亚洲不卡网| 在线免费观看a视频| 欧美无遮挡国产欧美另类| 精品国产女同疯狂摩擦2| 四虎免费视频网站| 伊人色婷婷| 欧美激情福利| 激情乱人伦| 国产男人的天堂| 自拍偷拍欧美日韩| 久久久久无码精品| 在线99视频| 国产白浆一区二区三区视频在线| 91香蕉国产亚洲一二三区| 久久综合九九亚洲一区| 亚洲日韩精品无码专区97| 日韩麻豆小视频| 国产自在线播放| 国产精品免费露脸视频| 九九九久久国产精品| 色综合久久无码网| 亚洲欧美另类日本| 精品国产网| 国产欧美视频在线| 在线观看免费国产| 亚洲swag精品自拍一区| 欧美精品v欧洲精品| 青青极品在线| 亚洲精品人成网线在线| 久久网综合| 亚洲福利视频网址| 青草国产在线视频| 无码免费视频| 99草精品视频| 国产成人盗摄精品| 特级毛片免费视频| 久久精品66| 真实国产精品vr专区| 国产电话自拍伊人| 在线免费观看a视频| 福利视频久久| 欧美a级在线| 伊人天堂网| 亚洲无码高清免费视频亚洲| 在线看免费无码av天堂的| 国产成人久久综合777777麻豆| 国产剧情无码视频在线观看| 国产精品美女网站| 日韩高清欧美| 国产正在播放| 欧美成a人片在线观看| 日韩成人在线视频| 国产伦精品一区二区三区视频优播| 中文字幕首页系列人妻| 成年女人a毛片免费视频| 国产精品欧美激情| 欧美亚洲综合免费精品高清在线观看| 狠狠色婷婷丁香综合久久韩国| 欧美三级视频网站| 久久精品人妻中文视频| 午夜欧美在线| 成人在线欧美| 亚洲一区二区日韩欧美gif| 色综合五月婷婷| 精久久久久无码区中文字幕| 国产高颜值露脸在线观看| 天天躁夜夜躁狠狠躁图片| 尤物成AV人片在线观看| 午夜免费视频网站| 国产精品吹潮在线观看中文| 91亚洲国产视频| 亚洲第一成年网| 国产高清在线丝袜精品一区| 青青草国产一区二区三区| 欧美日韩第二页| 国产产在线精品亚洲aavv| 国产精品lululu在线观看| av一区二区人妻无码|