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

?

基于 Java調用WebService的應用實例

2010-09-07 09:13
中低緯山地氣象 2010年2期
關鍵詞:調用校驗語句

左 斌

(重慶市彭水縣氣象局,重慶 彭水 409600)

基于 Java調用WebService的應用實例

左 斌

(重慶市彭水縣氣象局,重慶 彭水 409600)

簡要介紹了基于 Java就省、市氣象局WebService實時數據庫接口應用于本地數據庫的程序設計??芍苯荧@取適時雨量、溫度等氣象要素數據,并持久化到本地數據庫。該技術現(xiàn)已在彭水縣氣象信息系統(tǒng) (互聯(lián)網 http:// 219.153.254.73/qx和 http://219.153.254.73/qx/psqxj.jsp)上成功實現(xiàn)。

Java;數據庫;接口;多線程

1 引言

省、市氣象局實時和歷史數據庫檢索接口的建立,為各區(qū)(縣)局通過實時數據庫檢索接口獲取本區(qū)(縣)自動站和區(qū)域自動站實時數據,實現(xiàn)實時數據本地化,構建區(qū) (縣)級氣象信息平臺,更好地為地方各級政府、部門、鄉(xiāng)鎮(zhèn)提供實時的氣象數據服務(圖 1),是深化決策、安全氣象服務的重要內容之一。本文就基于 Java平臺如何通過實時數據庫檢索接口定時獲取實時數據,實現(xiàn)數據的存儲校驗作出了詳細闡述。

圖 1 氣象數據服務網絡拓撲圖

2 實時數據庫接口應用程序的特點

實時數據庫檢索應用程序既要能夠定時通過省、市數據庫接口把存儲在數據庫中有關本地的自動站數據檢索出來,定時插入到本地數據庫,實現(xiàn)本地數據庫與省、市數據庫的同步和一致,又要考慮到可能出現(xiàn)的數據傳輸等故障,出現(xiàn)數據漏傳的情況,具備定時校驗本地數據庫數據完整性功能,定時將漏傳的數據檢驗出來,補傳到本地數據庫。實時數據庫接口應用程序存取的數據應具有可用性 (Availability)、完整性 (Integrity)、真實性 (Authenticity)特點。

3 數據庫設計

以獲取重慶自動站實時地面氣象要素資料 (Z_ O_AWS_ST_C5_CQ)〔1〕中彭水站點的數據為例,可設計出與之相對應的本地數據庫中的站表“pengshui”(表 1)。

以MySQL數據庫為例,創(chuàng)建數據庫和表的順序為:首先,進入MySQL Command Line Client命令行,創(chuàng)建好本地庫“info”;然后,按站點建表,創(chuàng)建各自動站的表(具體代碼略)。

4 數據庫連接

4.1 數據庫連接技術

數據庫連接技術—JDBC(Java Database Connectivity)是用于執(zhí)行語句的應用程序編程接口 API。JDBC能為開發(fā)者提供標準的數據庫訪問類和接口,能夠方便地向任何異構數據庫發(fā)送 SQL語句,同時JDBC是一個支持基本 SQL查詢功能的低層應用程序接口,能在不同的數據庫功能的層次上提供一個統(tǒng)一的用戶界面,同時支持高層的數據庫訪問工具及API。

第一步是裝載 JDBC驅動程序。通常采用的是調用方法 Class.for Name顯式地加載驅動程序類,格式為:

Class.for Name

(“companyName.databaseName.DriverName”);

第二步是與數據庫建立連接,采用的標準方式是調用 Drive rManager.getConnection方法,下列代碼是一般的做法:

Connection conn=Drive rManager.getConnection (url,“Login”,“Pass word");

式中 url為統(tǒng)一資源定位器,代表要進行連接的數據庫?!癓ogin”和“Password”替換為實際登錄的DBMS的用戶名和口令。若連接成功,則返回一個 Connection類的對象 conn。

連接一旦建立,下一步就可向所涉及的數據庫傳送 SQL語句。JDBC提供了 Statement、Prepared-Statement、CallableStatement三個類,用于向數據庫發(fā)送 SQL語句。其中 Statement對象用于發(fā)送不帶參數的簡單的 SQL語句;PreparedStatement對象用于發(fā)送帶或不帶輸入參數的 SQL語句;CallableS-tatement對象用于執(zhí)行 SQL儲存程序的調用。由方法 createStatement建立名為 stmt的 Statement對象的格式為:

Statement stmt=conn.createStatement();

需要指出的是,stmt不包含傳送給 DBMS的 SQL語句,需要提供執(zhí)行 stmt的方法。Statement接口提供了三種執(zhí)行 SQL語句的方法:executeQuery、executeUpdate和 execute。方法 executeQuery用于產生單個結果集;方法 executeUpdate用于執(zhí)行 INSERT、UPDATE或DELETE語句;方法 execute用于執(zhí)行返回多個結果集。下面給出采用 execQuery方法的語句格式:

ResultSet rs= stmt.executeQuery("SQL語句");

executeQuery的參數是一個查詢語句,它的返回值保存在 ResultSet類對象 rs中〔2〕。

表 1 pengshui自動站表

4.2 數據庫連接類的設計

為了方便主程序調用數據庫連接等操作,通常把對數據庫的各種操作,采用請求轉發(fā)的原理設計封裝成一個數據庫連接基類 (DB.java),由數據庫連接基類來封裝基于 JDBC的連接數據庫 (代碼略)。

5 多線程實現(xiàn)定時檢索和存儲校驗

多線程是 Java的一個重要特點,這使得在一個Java程序內部可同時進行多種運算,從而充分利用系統(tǒng)資源,提高程序運行效率。多線程程序可提高系統(tǒng)的輸入/輸出速度、有效利用系統(tǒng)資源、改善計算機通訊功能等優(yōu)點。

程序運用 Java多線程實現(xiàn)縣局自動站數據、區(qū)域自動站數據的定時獲取和數據存儲校驗及其定時補傳功能。實現(xiàn)數據從市局數據庫接口每小時定時讀取的思路是,啟用一個線程,用 Calendar類(日歷類)的 getInstance()方法得到一個時間點,判斷它是否為指定的上傳時間。true,則執(zhí)行 getdatatoarray方法獲得本站現(xiàn)在的氣象要素數據并添加到本地數據庫,執(zhí)行完畢后,讓線程休眠較長時間段(58min);false,則讓線程休眠較短的時間段 (58s),再執(zhí)行以上判斷,并把這個 if語句置于一個 while (true)語句內反復運行來實現(xiàn)不間斷的自動獲取每小時實時數據。實現(xiàn)數據補傳的思路是,啟用第二個線程,編寫一個從 0到 23的循環(huán),用 dataCheck ()檢索本地數據庫中是否正確插入昨日逐小時的數據,如果沒有數據,則補傳。

6 實體類的設計

構建好數據庫,寫好數據庫連接基類后,接著應設計站點實體類,就站點對象抽象出來的 rainfallhour、airtemp、relhumidity等屬性,分別寫出 set和 get方法,并在這個類中封裝數據存儲和數據校驗等方法。部份核心代碼如下:

7 主程序的設計

主程序采用 MySQL作為數據庫服務器,Net-Beans作為編程工具和設計工具,在程序編寫前,需要建立一個 Web Service Client,并對 WSDL URL、Client Style等參數進行配置[3]。

圖 2 主程序控制流程圖

7.1 主程序控制流程圖(圖 2)

7.2 主程序代碼

根據多線程的設計方案和從市局數據庫接口每小時定時讀取的思路,可設計出本數據庫接口應用實例的主程序 (main.java)。部份核心代碼如下:

8 結束語

該實時數據庫接口應用實例在設計時從整體考慮,建立了嚴格的完整性規(guī)則和科學數據庫結構,將定時檢索省(市)級數據庫接口、存儲過程、數據完整性校驗應用到程序設計中,加大了后臺的功能和效率,對數據庫的安全、自動化定時存取做了充分的考慮,提高了氣象數據本地化應用水平。該實時數據庫接口應用程序設計為本地氣象信息系統(tǒng)的開發(fā)打下了良好的基礎,只要結合前臺開發(fā)工具和平臺,就能實現(xiàn)系統(tǒng)的強大功能。

[1] 實時和歷史數據庫檢索接口應用方法—應用文檔說明 .

[2] 趙景林 .利用 JDBC訪問面向 Internet的數據庫[J].微機發(fā)展,2001,11(5):33-35.

TP311

B

2010-09-10

左斌(1973-),男,工程師,主要從事信息網絡管理工作。

1003-6598(2010)增刊 -0183-04

猜你喜歡
調用校驗語句
使用Excel朗讀功能校驗工作表中的數據
重點:語句銜接
核電項目物項調用管理的應用研究
系統(tǒng)虛擬化環(huán)境下客戶機系統(tǒng)調用信息捕獲與分析①
爐溫均勻性校驗在鑄鍛企業(yè)的應用
電子式互感器校驗方式研究
淺談微電子故障校驗
我喜歡
利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
作文語句實錄