亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于 Java調(diào)用WebService的應(yīng)用實例

        2010-09-07 09:13:26
        中低緯山地氣象 2010年2期
        關(guān)鍵詞:調(diào)用校驗語句

        左 斌

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

        基于 Java調(diào)用WebService的應(yīng)用實例

        左 斌

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

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

        Java;數(shù)據(jù)庫;接口;多線程

        1 引言

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

        圖 1 氣象數(shù)據(jù)服務(wù)網(wǎng)絡(luò)拓撲圖

        2 實時數(shù)據(jù)庫接口應(yīng)用程序的特點

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

        3 數(shù)據(jù)庫設(shè)計

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

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

        4 數(shù)據(jù)庫連接

        4.1 數(shù)據(jù)庫連接技術(shù)

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

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

        Class.for Name

        (“companyName.databaseName.DriverName”);

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

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

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

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

        Statement stmt=conn.createStatement();

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

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

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

        表 1 pengshui自動站表

        4.2 數(shù)據(jù)庫連接類的設(shè)計

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

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

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

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

        6 實體類的設(shè)計

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

        7 主程序的設(shè)計

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

        圖 2 主程序控制流程圖

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

        7.2 主程序代碼

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

        8 結(jié)束語

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

        [1] 實時和歷史數(shù)據(jù)庫檢索接口應(yīng)用方法—應(yīng)用文檔說明 .

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

        TP311

        B

        2010-09-10

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

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

        猜你喜歡
        調(diào)用校驗語句
        重點:語句銜接
        核電項目物項調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
        精彩語句
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        大型電動機高阻抗差動保護穩(wěn)定校驗研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗方法
        鍋爐安全閥在線校驗不確定度評定
        如何搞定語句銜接題
        語文知識(2014年4期)2014-02-28 21:59:52
        日产一区一区三区区别| 亚洲av之男人的天堂| 日韩欧美第一区二区三区| 亚洲综合天堂av网站在线观看| 一区二区国产av网站| 亚洲妇女无套内射精| 欧美丰满熟妇bbbbbb百度| 久天啪天天久久99久孕妇| 日本一区二区三区高清视| 成人在线免费电影| 人妻av一区二区三区精品| 久久精品国产精品亚洲艾| 日本一区二区三级在线| 又爽又黄又无遮挡网站| 伊伊人成亚洲综合人网7777| 北岛玲精品一区二区三区| 美女视频在线观看网址大全| 国产肉体xxxx裸体784大胆| 精品久久久久久久久午夜福利| 国产粉嫩美女一区二区三| 久久96日本精品久久久| 大又大粗又爽又黄少妇毛片| 国产精品23p| 中文字幕人成乱码中文| 亚洲av福利天堂一区二区三| 无码国产午夜福利片在线观看| 久久中文字幕亚洲精品最新| 中文文精品字幕一区二区| 国产精品特级毛片一区二区三区| 93精91精品国产综合久久香蕉| 国产一区二区黑丝美女| 日韩乱码中文字幕在线| 女人下面毛多水多视频| 亚洲国产精品中文字幕日韩| 日本一区二区三区综合视频| 台湾佬中文娱乐网22| 亚洲国产精品一区二区久| av福利资源在线观看| 免费午夜爽爽爽www视频十八禁 | 亚洲午夜无码久久yy6080 | 黄射视频在线观看免费|