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

?

基于Silverlight的大風監(jiān)測系統(tǒng)研究

2018-07-06 08:51楊明陳晴劉永生曾悠韓頌雨肖云
現(xiàn)代計算機 2018年16期
關鍵詞:數(shù)據(jù)服務大風瀏覽器

楊明,陳晴,劉永生,曾悠,韓頌雨,肖云

(浙江省氣象信息網(wǎng)絡中心,杭州 310017)

0 引言

大風是我國沿海的重大災害性天氣之一,它給海上航運、漁業(yè)生產(chǎn)、近海養(yǎng)殖等帶來了嚴重影響和危害,甚至對人民群眾的生命帶來了威脅[1]。由于我國東南沿海毗鄰太平洋,海區(qū)遼闊跨越東亞季風區(qū),而海洋氣象監(jiān)測相對稀少[2],沿海自北向南分布的島嶼上建了許多海洋氣象站和海洋浮標站,這些氣象站的大風資料的監(jiān)測,對防臺、抗災等方面的作用非常重大。

這些氣象站的大風資料的監(jiān)測顯示,大多數(shù)是在沒有地理信息的單機桌面平臺上使用,存在操作不便、移值難、維護難等問題,而采用傳統(tǒng)的B/S架構的Web系統(tǒng),存在響應速度慢,交互性差等缺點。這些必影響決策服務和資料時空分析的準確性。在Silverlight上實現(xiàn)大風資料的監(jiān)測,具有分布性、共享性強、維護簡單方便、業(yè)務擴展簡單特點,通過Web瀏覽器可以隨時隨地對大風進行監(jiān)測、查詢?yōu)g覽等操作,可以通過地理信息數(shù)據(jù)的支撐,直觀地監(jiān)測大風信息,能更好地為各級政府及氣象部門組織防災減災,防臺抗臺等決策提供重要的依據(jù),是氣象部門加強為防災抗災服務的重要手段。

本文旨在建立一個基于Silverlight的大風監(jiān)測系統(tǒng),為防臺抗臺及各防災減災成員單位及相關防汛人員提供決策依據(jù)和專業(yè)服務。

1 系統(tǒng)總體設計

1.1 整體框架結構

為了保證大風監(jiān)測系統(tǒng)的低耦合性、高擴展性,系統(tǒng)的整體框架結構采用層次化的設計,整體框架結構由數(shù)據(jù)支撐層、業(yè)務邏輯層、應用服務層和大風監(jiān)測表示層組成,整體框架結構如圖1所示。

數(shù)據(jù)支撐層:用于存儲數(shù)據(jù)的基礎數(shù)據(jù)庫。其中,地理信息相關的數(shù)據(jù)存儲于空間數(shù)據(jù)庫,大風數(shù)據(jù)存儲于大風數(shù)據(jù)庫,應用服務層通過數(shù)據(jù)庫引擎實現(xiàn)對數(shù)據(jù)的調用。

應用服務層:實現(xiàn)系統(tǒng)架構平臺的主要功能,主要功能分為三類,分別是地理信息服務功能,系統(tǒng)集成接口,應用領域的管理信息系統(tǒng)服務。地理信息服務功能主要包括地圖瀏覽服務、空間數(shù)據(jù)查詢服務、圖層編輯服務、與地理信息想關的數(shù)據(jù)處理算法庫、空間數(shù)據(jù)維護服務等;系統(tǒng)集成接口根據(jù)業(yè)務領域的需求,構建不同的系統(tǒng)集成接口組件,主要提供對業(yè)務邏輯層的集成、數(shù)據(jù)集成等功能;應用領域的管理系統(tǒng)服務是將現(xiàn)在應用領域的功能封裝為服務,并通過服務層被應用系統(tǒng)調用。

圖1 整體框架結構

業(yè)務邏輯層:是平臺對表現(xiàn)層的支撐,平臺的所有功能都以業(yè)務邏輯的形式進行封閉和發(fā)布。實現(xiàn)表現(xiàn)層請求,根據(jù)業(yè)務邏輯設計,完成對系統(tǒng)功能的請求,不同的服務之間也可以實現(xiàn)相互調用,共同完成業(yè)務流程。業(yè)務邏輯層還包括了與地理信息相關的服務,也包括了與管理相關的服務。

表現(xiàn)層:是架構平臺與用戶的接口層,實現(xiàn)的主要功能包括接收用戶的輸入信息,并將請求發(fā)送給服務端,服務器端接收請求并進行處理后,表現(xiàn)層將返回的信息以文字、圖片、表格等多種方式展現(xiàn)給用戶,完成系統(tǒng)功能。

1.2 系統(tǒng)功能

為了滿足大風監(jiān)測的需求,對系統(tǒng)的整體功能進行了設計,系統(tǒng)功能主要包括五大類:實況展示、查詢統(tǒng)計、觀測站信息可視化、曲線圖表和基礎地理信息服務等5個功能。系統(tǒng)功能結構如圖2所示。

(1)大風實況:主要通過讀取大風數(shù)據(jù)庫,在地理信息上顯示各站點的實時大風數(shù)據(jù)庫信息及等級信息。

(2)查詢統(tǒng)計:通過不同的大風統(tǒng)計類別,在地理信息上顯示各站點的實時大風數(shù)據(jù)庫信息及等級信息。

圖2 系統(tǒng)功能結構

(3)觀測站可視化:主要通過讀取大風數(shù)據(jù)庫中的觀測站表,在地理信息上顯示各站點的站名、經(jīng)緯度信息。

(4)曲線圖表功能:主要通過讀取大風數(shù)據(jù)庫中的近24小時數(shù)據(jù),以曲線圖的方式顯示各站點的近24小時大風的數(shù)據(jù)變化。

(5)地理信息操作:主要通過讀取地理信息數(shù)據(jù)庫中地理信息,以切片的方式顯示地圖。地理信息的操作功能包括了放大、縮小、漫游、地圖的選擇、測距、清屏、圖層選擇。

2 基于Silverlight的系統(tǒng)功能實現(xiàn)

Silverlight是由微軟公司開發(fā)的跨平臺、跨瀏覽器的RIA(Rich Internet Applications,富互聯(lián)網(wǎng)應用程序)實現(xiàn)技術[3-4],是基于.NET的交互式Web應用程序。它具有以下幾個方面特性:

(1)基于瀏覽器插件,支持RIA,具有跨瀏覽器、跨平臺特性。Silverlight可以在通用的瀏覽器上創(chuàng)建和運行RIA,其方式類似于Flash動畫。另外,不僅可以運行Web平臺,也可以應用到Windows桌面版和移動設備上(如Windows Phone7),開發(fā)和設計不需要考慮用戶所使用的瀏覽器或平臺。

(2)客戶端數(shù)據(jù)處理與緩存功能。Silverlight在客戶端具有一定的計算能力,同時緩存大量的數(shù)據(jù),減松服務端與客戶端交互的壓力。

(3)提供豐富的交互式的用戶體驗。Silverlight包含WPF技術的一個子集,不僅擴展了瀏覽器中用于創(chuàng)建UI的元素,還使Silverlight應用程序在瀏覽器中展示效果遠超單獨使用HTML提供的效果。Silverlight允許創(chuàng)建動畫、媒體、沉浸式圖形和其他豐富的客戶端功能效果??蓴U展應用程序標記語言(XAML)是Sil?verlight對UI界面設計使用的語言,XAML提供用于創(chuàng)建元素的聲明性標記語法。

(4)Silverlight提供對JavaScript等通用腳本語言的擴展,并可以控制瀏覽器的UI,包括使用WPF元素;Silverlight可以集成在ASP.NET頁面中,還可以與Ja?vaScript和ASP.NET AJAX代碼無縫集成,增加頁面體驗效果并增強頁面功能。

(5)Silverlight擁有TCP上的HTTP網(wǎng)絡支持。應用程序可以連接SOAP、WCP、ASP.NET AJAX等服務,接收XML、RSS、JSON等格式的數(shù)據(jù)。

利用這些特性,構建了基于B/S結構的大風監(jiān)測系統(tǒng),即可以有效地解決桌面版大風監(jiān)測系統(tǒng)的操作不便、移值難、維護難問題,也可以提高傳統(tǒng)的B/S的計算能力和響應速度,提升用戶體驗。

整個系統(tǒng)的核心模塊主要由數(shù)據(jù)服務實現(xiàn)和Sil?verlight層次結構實現(xiàn)。

2.1 大風監(jiān)測數(shù)據(jù)服務實現(xiàn)

數(shù)據(jù)服務層主要采用Web Service實現(xiàn)數(shù)據(jù)服務的部署、注冊和發(fā)布。它負責接收業(yè)務邏輯層的數(shù)據(jù)和計算的請求,訪問數(shù)據(jù)庫里的大風監(jiān)測數(shù)據(jù),轉換數(shù)據(jù)格式,通過數(shù)據(jù)接口,返回給業(yè)務邏輯層。.NET平臺為Web Service提供了集成開發(fā)環(huán)境,本文采用.NET平臺開發(fā),并部署在IIS應用服務器。它分為兩個步驟:

(1)創(chuàng)建創(chuàng)建Web Service的Web數(shù)據(jù)服務

Web Service向外部程序提供了可調用的Web服務接口及其描述,創(chuàng)建Web Service的Web數(shù)據(jù)服務應用程序的關鍵是實現(xiàn)數(shù)據(jù)操作接口,使其滿足數(shù)據(jù)服務的需求。利用.NET平臺開發(fā),創(chuàng)建asmx文件,打開asmx.cs文件創(chuàng)建數(shù)據(jù)操作接口。偽代碼示例如下:

創(chuàng)建某時次所有站點的大風數(shù)據(jù)接口[WebMethod]

public List<Wind> GetWindItems(string datetime){

//根據(jù)時次,讀取所有站點的大風數(shù)據(jù)庫;

//數(shù)據(jù)格式化并封裝;

//返回大風對象;}

創(chuàng)建某大風站點的大風時序數(shù)據(jù)接口[WebMethod]

public WindSeries GetWindSeries(string stationed,string date?time,int hours=24){

//根據(jù)時次和時序,讀取某個站點的大風數(shù)據(jù)庫;

//數(shù)據(jù)格式化并封裝;

//返回大風對象;

}

(2)部署發(fā)布Web Service的Web數(shù)據(jù)服務

Web數(shù)據(jù)服務部署到應用服務器,通過IIS發(fā)布提供對外服務,采用URL或Silverlight引用Service程序訪問發(fā)布的服務接口,獲取數(shù)據(jù)。本文在應用中過程,Web Service的Web數(shù)據(jù)服務和大風監(jiān)測系統(tǒng)Silver?light端部署在相同的域中,以解決由Silverlight安全性帶來的跨域問題。

2.2 大風監(jiān)測Silverlight層次結構實現(xiàn)

大風監(jiān)測Silverlight端由整體結構的表示層和業(yè)務邏輯層組成。

(1)表示層主要采用XAML定義了系統(tǒng)的界面布局和控件,包括在地圖的調用、大風實時在線顯示、大風站點顯示、站點時序圖表等,并將這些布局和控件,顯示在Web瀏覽器上。同時,還定義了控件與用戶實時交互的事件,將用戶的操作,通過事件,提交給業(yè)務邏輯層處理,最后業(yè)務邏輯層將結果反饋給表示層。

如地圖的調用采用ArcGIS API for Silverlight控件開發(fā),代碼如下:

<esri:Map x:Name="windmap">

<esri:Map.Layers><!—添加圖層-->

<esri:ArcGISDynamicMapServiceLayer ID="BaseMap"/>

<esri:GraphicsLayer ID="windLayer"/>

</esri:Map.Layers>

</esri:Map>

(2)業(yè)務邏輯層是系統(tǒng)的核心,這部分的代碼主要采用C#語言實現(xiàn)。從功能上來看,業(yè)務邏輯層主要響應表示層的交互事件,如大風信息、地圖操作和站點時序等。業(yè)務邏輯在獲取到表示層的請求事件后,根據(jù)相關的參數(shù)和業(yè)務設計,通過業(yè)務邏輯封裝,采用WebService異步調用方式,向數(shù)據(jù)服務層請求大風數(shù)據(jù),站點單擊大風時序示例偽代碼如下:

//站點單擊事件

private void StationOnClick(object sender,RoutedEventArgs routedEventArgs){

//獲取站號;

//通過windSeriesData函數(shù),請求該站大風時序數(shù)據(jù)

}

//采用WebService異步調用方式,請求大風數(shù)據(jù)

private void windSeriesData(string stationid,string datetime,int hours=24)

{

WindServiceSoapClient client=new WindService SoapCli?ent();

client.GetWindSeriesCompleted+=new EventHandler<Ge?tWindSeriesCompletedEventArgs>(client_GetWi-ndSeriesCom?pleted);

client.GetWindSeriesAsync(stationid,datetime,hours);client=null;

}

//獲取數(shù)據(jù)結果

void client_GetWindSeriesCompleted(object sender,GetWind?SeriesCompletedEventArgs e)

{//在圖表控件上,顯示圖表}

(3)Silverlight應用程序部署在服務端,在瀏覽器客戶端,會自動下載xap包,它是Silverlight應用程序編譯好的文件,表示層的界面元素和業(yè)務邏輯時實現(xiàn)的事件和功能,通過客戶端瀏覽器內(nèi)嵌的silverlight來執(zhí)行。

3 應用實例效果

利用本文介紹的基于Silverlight技術及方案,實現(xiàn)了大風監(jiān)測系統(tǒng)。目前該系統(tǒng)已經(jīng)在業(yè)務中得到實際的應用,應用結果顯示,系統(tǒng)能夠實時獲取大風數(shù)據(jù)及站點數(shù)據(jù),并能在地圖上正確展示。同時,站點時序曲線,也能正確的在圖表控件上顯示。整個系統(tǒng)運行流暢、穩(wěn)定、方便直觀,實現(xiàn)了的業(yè)務需求目標。實現(xiàn)了桌面版和傳統(tǒng)Web的難以實現(xiàn)的一些界面操作和功能,使得系統(tǒng)響應更快,更加生動,操作方便和用戶友好的體驗效果。系統(tǒng)還具有良好的異構性,提供了跨平臺、跨系統(tǒng)、高可用的大風監(jiān)測服務,具有較好的效果。應用效果如圖3所示。

圖3 單站近24小時時序效果圖

4 結語

本文設計實現(xiàn)了基于Silverlight的大風監(jiān)測系統(tǒng),在業(yè)務應用結果表明,系統(tǒng)不僅實現(xiàn)了大風實時監(jiān)測可視化,還提供了高可用的大風監(jiān)測數(shù)據(jù)和豐富的功能。Silverlight技術的運用使得大風監(jiān)測系統(tǒng)響應更快、表現(xiàn)元素更加生動,操作和用戶體驗更加友好。但是隨著大氣監(jiān)測業(yè)務不斷更新和功能需求增加,該系統(tǒng)仍有不完善之處,待未來不斷完善和提高,以滿足大風監(jiān)測業(yè)務應用的更高需求。

[1]孫燕,吳海英,沈樹勤,等.冬春季江蘇沿海大風的特征[J].南京氣象學院學報,2007,30(5):699-704.

[2]盧美,朱業(yè).浙江沿海大風的天氣氣候特征[J].杭州師范大學學報(自然科學版),2011,10(5):474-480.

[3]程國雄,胡世清.基于Silverlight的RIA系統(tǒng)架構與設計模式研究[J].計算機工程與設計,2010,31(8):1706-1709.

[4]李愛民,劉晶.Silverlight相關技術研究[J].計算機技術與發(fā)展,2009,19(6):117-120.

猜你喜歡
數(shù)據(jù)服務大風瀏覽器
大數(shù)據(jù)時代高校圖書館數(shù)據(jù)服務的困境及優(yōu)化路徑
地理空間大數(shù)據(jù)服務自然資源調查監(jiān)測的方向分析
大風之夜(組詩)
基于數(shù)據(jù)中臺的數(shù)據(jù)服務建設規(guī)范研究
NetApp將提供無縫混合多云體驗
微軟發(fā)布新Edge瀏覽器預覽版下載換裝Chrome內(nèi)核
反瀏覽器指紋追蹤
看不見的大風(外一首)
大風
人小鬼大狄仁杰