臺風業(yè)務應用和預警系統(tǒng)簡介論文
無論是在學習還是在工作中,大家或多或少都會接觸過論文吧,論文是進行各個學術領域研究和描述學術研究成果的一種說理文章。你所見過的論文是什么樣的呢?下面是小編整理的臺風業(yè)務應用和預警系統(tǒng)簡介論文,希望能夠幫助到大家。
摘 要:在上海市防汛部門現(xiàn)有的多個信息系統(tǒng)的基礎上,基于 RESTful 架構(gòu),運用 JSON,WCF,ArcGISServer 10.1 等技術構(gòu)建臺風路徑發(fā)布系統(tǒng),為防汛指揮決策、氣象水情分析及社會公共服務提供多層次和全方位的信息服務,并整合相關信息資源并有效降低建設運維成本。目前該研究成果已在上海防汛信息系統(tǒng)中得到使用和推廣。
關鍵詞:臺風;RESTful ;WCF;ArcGIS10.1.
0 引言。
上海市水務局現(xiàn)有各單位的信息系統(tǒng)由于建設時間、設計理念和施工單位不同,技術路線、系統(tǒng)架構(gòu)、數(shù)據(jù)庫結(jié)構(gòu)等各不相同:存在 C/S 與 B/S 多種系統(tǒng)架構(gòu),Java,.Net 與其他工業(yè)組態(tài)軟件多種技術路線,SQL Server,Oracle,SyBase,DB2,Foxpro 多類數(shù)據(jù)庫等,數(shù)據(jù)多源異構(gòu)、技術路線差異極大[1],許多通用功能尤其是獲取臺風數(shù)據(jù)和 GIS平臺部分都各自開發(fā),造成無法重用,甚至是資源爭用,使得后續(xù)維護更新的工作量加大,更容易產(chǎn)生數(shù)據(jù)發(fā)布不統(tǒng)一的問題。
在上海市防汛部門積累的大量數(shù)據(jù)基礎上,主要對臺風路徑發(fā)布、數(shù)據(jù)分析及基礎底圖等進行整合研究,采用基于 RESTful 架構(gòu)的面向服務的方式實現(xiàn)功能模塊的重用,以達到數(shù)據(jù)發(fā)布的統(tǒng)一及系統(tǒng)運維的簡化,為防汛指揮決策、氣象水情分析及社會公共服務提供多層次及全方位的信息服務和決策支持,并整合資源降低建設運維成本。
1 RESTful 架構(gòu)。
REST 是 Representational State Transfer 的簡稱,是 Roy Fielding 博士于 2000 年提出來的一種軟件架構(gòu)風格。REST 從資源的角度觀察整個網(wǎng)絡,分布在各處的資源由 URI(Uniform Resource Identifier)確定,而客戶端的應用通過 URI 獲取資源的表征,獲得這些表征致使這些應用程序轉(zhuǎn)變了狀態(tài)。隨著不斷獲取資源的表征,客戶端應用不斷地在轉(zhuǎn)變著狀態(tài),所謂表征狀態(tài)轉(zhuǎn)移(Representational StateTransfer)。設計良好的網(wǎng)絡應用表現(xiàn)為一系列的網(wǎng)頁,這些網(wǎng)頁可以看作虛擬的狀態(tài)機,用戶選擇這些鏈接導致下一網(wǎng)頁傳輸?shù)接脩舳苏宫F(xiàn)給使用的人,而這正代表了狀態(tài)的轉(zhuǎn)變[2].
RESTful Web 服務是一個使用 HTTP 并遵循REST 原則的 Web 服務,對比目前主流的 Web 服務實現(xiàn)方案,RESTful 的 Web 服務比復雜的 SOAP 和XML-RPC 簡潔。具體實現(xiàn)應該遵循 4 個基本設計原則:顯式地使用 HTTP 方法;無狀態(tài);公開目錄結(jié)構(gòu)式的 URI;傳輸 XML,JavaScript Object Notation(JSON),或同時傳輸這兩者。
J S O N 是一種輕量級的數(shù)據(jù)交換格式,采用完全獨立于語言的文本格式,但是也使用了類似于 C 語言家族的習慣,包括C, C++,C#, Java,JavaScript,Perl,Python 等, 這些特性使 JSON 成為理想的數(shù)據(jù)交換語言。JSON 建構(gòu)于 2 種結(jié)構(gòu):1)“名稱/值”對的集合,在不同的語言中,它被理解為對象、紀錄、結(jié)構(gòu)、字典、哈希表、有鍵列表或者關聯(lián)數(shù)組;2)值的有序列表,在大部分語言中,它被理解為數(shù)組。這些都是常見的數(shù)據(jù)結(jié)構(gòu)。事實上大部分現(xiàn)代計算機語言都以某種形式支持它們。這使得一種數(shù)據(jù)格式在同樣基于這些結(jié)構(gòu)的編程語言之間交換成為可能[3].相對于傳統(tǒng)的 XML 數(shù)據(jù)格式,JSON 由于省略了冗余標簽,使得編碼更為簡單清晰,極大地縮減了數(shù)據(jù)量。并且 JSON 數(shù)據(jù)格式作為 JavaScript 程序語言規(guī)范的一個子集,能為客戶端瀏覽器直接解析,極大地簡化了開發(fā)步驟,提高了系統(tǒng)運行效率。通過對比可以發(fā)現(xiàn),總體來說JSON 能夠?qū)?XML 數(shù)據(jù)進行進一步的壓縮,壓縮率由 XML 數(shù)據(jù)的內(nèi)容而定,有一定的浮動?紤]到對于 XML 編碼的數(shù)據(jù)在客戶端需要進行進一步的解碼處理,而對于 JSON 編碼的數(shù)據(jù)則可以直接被客戶端識別為 JavaScript 對象,因此 JSON 在提高服務方面有較高的利用價值[4].
2 基于 WCF 技術的. RESTful 架構(gòu)數(shù)據(jù)服務構(gòu)建。
2.1 WCF 技術。
WCF 技術是由微軟發(fā)展的一組數(shù)據(jù)通信的應用程序開發(fā)接口,是 .Net 框架的一部分,由 .NetFramework 3.0 開始引入,為適應面向服務架構(gòu)而設計的一套統(tǒng)一的程序開發(fā)模型。借助 WCF,可以將數(shù)據(jù)作為異步消息從一個服務終結(jié)點發(fā)送至另一個服務終結(jié)點。服務終結(jié)點可以是由 IIS 承載的持續(xù)可用的服務的一部分,也可以是應用程序中承載的服務[5]. 終結(jié)點可以是從服務終結(jié)點請求數(shù)據(jù)的服務客戶端。簡單消息可以是作為 XML 發(fā)送的單個字符或單詞,復雜消息可以是二進制數(shù)據(jù)流。WCF 的體系結(jié)構(gòu)如圖 1 所示。WCF 的功能包括:1)面向服務的體系結(jié)構(gòu),使得在任何平臺上創(chuàng)建的任何客戶端均可連接到所有服務;2)WCF 實現(xiàn)了Web 服務互操作性的現(xiàn)代行業(yè)標準;3)多種消息模式如單工、雙工模式交換信息;4)發(fā)布服務元數(shù)據(jù),可用于自動生成并配置客戶端,以便訪問 WCF 服務;5)數(shù)據(jù)協(xié)定的代碼友好方法;6)可對消息進行加密以保護隱私,而且可以要求用戶對其自身進行身份驗證,然后才允許接收消息;7)支持多種傳輸和編碼方式如超文本傳輸協(xié)議 (HTTP) 發(fā)送文本編碼的SOAP 消息;8)支持 REST 及 AJAX.
2.2 WCF 技術與 RESTful 架構(gòu)。
WCF 技術很好地支持了 RESTful 架構(gòu)服務的開發(fā),首先通過數(shù)據(jù)契約(DataContract)標記創(chuàng)建一個類來定義服務返回的對象結(jié)構(gòu)。然后通過服務契約(ServiceContract)標記創(chuàng)建一個表示服務契約的接口,其中通過 WebGetAttribute 屬性定義獲取數(shù)據(jù)的 GET 方法,UriTemplate 定義調(diào)用 RESTful 服務的調(diào)用方式 URI,并且可以通過占位符實現(xiàn)路徑中的動態(tài)部分與參數(shù)之間的映射,通過 WebMessageFormat 屬性(Xml/Json)定義消息傳遞的格式。最后通過在 svc 的標記中加上 Factory = “System. ServiceModel. Activation.WebServiceHostFactory” 屬性將該 RESTful 發(fā)布到寄宿程序中。
2.3 數(shù)據(jù)服務。
基于 WCF 技術開發(fā)并對外發(fā)布基于 RESTful架構(gòu)的臺風路徑,以及全市氣象、水情、雨情、工情、災情等實時數(shù)據(jù)服務。
數(shù)據(jù)服務采用簡單、直觀、可預測且易于理解的 URI 命名,例如 http://域名或 IP/dataservice/jsonservice.svc/gettaifenglujing/{taifengname},開發(fā)人員無需解釋或者參考資料,一看便能了解此服務是用于獲得臺風路徑資源的。
數(shù)據(jù)服務提供了 JSON 數(shù)據(jù)格式,使得服務可由運行在不同平臺和設備上的采用不同語言編寫的各種各樣的客戶端所使用,最小化與使用服務的應用程序之間的數(shù)據(jù)耦合。臺風路徑服務提供的臺風路徑數(shù)據(jù)如表 1 所示。
除了臺風、水位等基礎信息的數(shù)據(jù)服務之外,數(shù)據(jù)服務還提供臺風相似路徑計算、雨量時段統(tǒng)計及最大小時雨量計算等服務。臺風相似路徑計算服務應用 Hausdorff 距離匹配法計算出路徑相似的臺風,并提供 Hausdorff 距離(DMHD)和路徑相似度(SAB)2 個量化指標。以 2012 年 11 號臺風“?睘槔,系統(tǒng)自動查找出與其路徑相似的臺風,192208,194906,195411,0008 杰拉華,193309,195612,0216 森拉克,相似度依次為 89.8%,89.3%,88.2%,87%,85.9%,85.7%,85.7%.
基于 WCF 技術 RESTful 架構(gòu)的數(shù)據(jù)服務在不改變原有數(shù)據(jù)結(jié)構(gòu)的基礎上,優(yōu)化了對多源異構(gòu)數(shù)據(jù)的跨庫表訪問方式,簡化了數(shù)據(jù)共享與交換的難度,提高了數(shù)據(jù)庫的安全程度,實現(xiàn)了對原有系統(tǒng)的零改造;同時考慮了跨部門、行業(yè)數(shù)據(jù)共享的訪問權(quán)限控制,用戶須經(jīng)過系統(tǒng)身份驗證、具有訪問權(quán)限才可獲得相應的數(shù)據(jù)資源。
3 基于 ArcGIS Server 10.1 平臺的 Restful架構(gòu)地圖服務構(gòu)建。
3.1 ArcGIS Server 10.1 平臺及部署。
本系統(tǒng)采用 ArcGIS Server 10.1 平臺軟件提供GIS 資源服務。ArcGIS Server 10.1 是基于 SOA 架構(gòu)的 GIS 服務器,通過它可以以服務形式共享二三維地圖、地址定位器、空間數(shù)據(jù)庫和地理處理工具等 GIS 資源,并允許多種客戶端(如 Web 端、移動端、桌面端等)使用這些資源創(chuàng)建 GIS 應用[6].
ArcGIS Server 10.1 架構(gòu)模型的邏輯關系簡單概括為以站點(Site)為架構(gòu)單位,集群(Cluster)為GIS 服務的邏輯單位,GIS 服務器(Server)為實際處理單位。
ArcGIS Server 站點的用途是接收對服務的請求、執(zhí)行請求,然后將結(jié)果發(fā)回到需要這些服務的客戶端應用程序。以下組件構(gòu)成了 ArcGIS Server站點:
1)GIS 服務器。GIS 服務器用于執(zhí)行對 Web 服務的請求,可繪制地圖、運行工具、查詢數(shù)據(jù),以及執(zhí)行能夠通過服務執(zhí)行的任何其他操作。GIS 服務器可由 1 臺或多臺一起工作的計算機構(gòu)成。這些計算機都具有訪問相同數(shù)據(jù)和配置信息的權(quán)限,因此,整個 ArcGIS Server 10.1 平臺是個具有彈性的、可伸縮的平臺。GIS 服務器通過 Web 協(xié)議 HTTP 公開服務。安裝 GIS 服務器后,即會獲得 1 組可以在應用程序中使用的 Web 服務。GIS 服務器可按組組織成集群。按照服務器管理員的配置,每個集群都運行 1 個專門的服務子集。例如,可以創(chuàng)建一個集群運行所有地圖服務,然后創(chuàng)建服務器的另一個集群運行地理處理服務。
2)Web 適配器。負責將 ArcGIS Server 站點與IIS,WebSphere,WebLogic 等 Web 服務器相集成,通過 Web 服務器地址及普通 URL 接收 GIS 服務請求,并將這些請求發(fā)送到站點上的各個 GIS 服務器計算機。
本系統(tǒng)在 VMWare 虛擬化平臺上分 3 個部分安裝部署 ArcGIS Server 10.1 平臺。底層為數(shù)據(jù)服務器,包含 1 臺部署了 MSSQLServer 和 ArcSDE 的地理數(shù)據(jù)庫服務器及 1 臺通過網(wǎng)絡共享文件夾提供雷達及衛(wèi)星云圖數(shù)據(jù)的服務器,對核心層統(tǒng)一提供地理數(shù)據(jù)。核心層為在 6 臺服務器中安裝 ArcGISServer 作為 GIS 服務器,并將這 6 臺 GIS 服務器組織成 1 個 ArcGIS Server 站點統(tǒng)一管理,并根據(jù)業(yè)務需求創(chuàng)建 2 個計算集群(Cluster)分別處理已有緩存的瓦片和動態(tài)地圖服務;同時將 SDE 地理數(shù)據(jù)庫服務器及雷達、衛(wèi)星云圖共享文件夾成功注冊。頂層洪敏慎等:基于 RESTful 架構(gòu)的臺風路徑發(fā)布系統(tǒng)研究為在對外提供服務的 3 臺 Web 服務器的 IIS 中安裝部署 Web 適配器并注冊 ArcGIS Server 站點,對外統(tǒng)一提供基于 RESTful 架構(gòu)的地理服務。
在本系統(tǒng)中,還結(jié)合使用 F5 應用負載均衡器對公開服務進行負載均衡設置。配置步驟如下:首先創(chuàng)建 GIS 應用池并設置虛擬 IP,然后設置該 GIS 應用池映射的 GIS 服務器 IP 地址,最后在映射的 GIS服務器中部署 F5 監(jiān)測程序,同時應用 TCP 連接復用、內(nèi)容緩存、TCP 緩沖、HTTP 壓縮、SSL 加速等設置;創(chuàng)建 Web 服務應用池,設置虛擬 IP.后臺由多臺虛擬 Web 服務器構(gòu)成,同時應用了 TCP 連接復用、內(nèi)容緩存、TCP 緩沖、HTTP 壓縮、SSL 加速等設置。
3.2 地圖服務的發(fā)布。
ArcGIS Server 從 9.3 版本就開始原生地支持RESTful 架構(gòu),通過 ArcGIS 的 REST 服務目錄可以看到當前所有的服務及這些服務支持的操作。
結(jié)合本系統(tǒng)的業(yè)務需求及空間數(shù)據(jù)的類型,創(chuàng)建和發(fā)布的地圖服務主要包括瓦片和動態(tài)地圖服務2 類。對于數(shù)據(jù)量巨大、更新不頻繁,以系統(tǒng)背景底圖為主要應用,不涉及屬性查詢的基礎地圖數(shù)據(jù),預先制作瓦片緩存,并在相應的 ArcGIS Server 集群中創(chuàng)建靜態(tài)的緩存服務。創(chuàng)建地圖緩存時,配置不同的參數(shù)將影響地圖服務的顯示效果,這些參數(shù)包括起始點坐標、比例尺分級、切片格式(png,png24,jpg 等)、壓縮比、圖片高、圖片寬、DPI、緩存類型、區(qū)域范圍、比例尺和更新方式等。結(jié)合本系統(tǒng)的需要,為了使創(chuàng)建后的地圖服務能夠與其它信息系統(tǒng)實現(xiàn)數(shù)據(jù)熔享,本系統(tǒng)中提供了上海地方、Web Mercator 等坐標系統(tǒng)的地圖服務;A地形圖瓦片,參數(shù)設置為格式 png8,圖片大小為 256 px×256 px,96 DPI,采用緊縮方式;影像圖則采用 Jpg格式,壓縮質(zhì)量為 85%.對于數(shù)據(jù)更新頻繁,有查詢統(tǒng)計、地圖定位需求的工程設施和監(jiān)測監(jiān)控數(shù)據(jù)等制作為動態(tài)地圖服務。
4 應用系統(tǒng)構(gòu)建。
在基于 RESTful 的數(shù)據(jù)和地圖服務的支持下,利用 ArcGIS 提供的各種客戶端 API 及各種客戶端的編程接口開發(fā)了適用于各個平臺的臺風路徑圖系統(tǒng)。
4.1 網(wǎng)頁版臺風路徑圖系統(tǒng)。
采用 HTML+CSS+javascript 的傳統(tǒng)網(wǎng)頁技術開發(fā)臺風路徑圖系統(tǒng),用戶只需要瀏覽器,即可訪問系統(tǒng),無需另外安裝諸如flash等插件,使系統(tǒng)能獲得最大的兼容性。GIS 接口使用了最新的ArcGISAPIfor JavaScript,通過 ArcGISTiledMapServiceLayer 對象調(diào)用 ArcGIS Server 10.1 發(fā)布的瓦片地形圖、地圖及衛(wèi)星遙感圖;通過 Graphic 對象動態(tài)繪制臺風實況路徑和 7 家機構(gòu)的預報路徑,并按照 6 個等級(熱帶低壓、熱帶風暴、強熱帶風暴、臺風、強臺風、超強臺風),通過不同顏色和大小的符號直觀表達臺風發(fā)生、發(fā)展和消亡的變化過程。鼠標懸停在各節(jié)點可以查看臺風位置、中心氣壓、最大風速、移動速度、移動方向、風圈半徑等信息。同時由于該套API 構(gòu)建在 Dojo 框架的基礎之上,因此該網(wǎng)頁版臺風路徑圖系統(tǒng)也使用了 Dojo 框架及 Dijit 小部件庫。通過 Dojo 中的 request.get 方法實現(xiàn)異步獲取 WCF發(fā)布的各種數(shù)據(jù)服務,使用 dGrid 表格控件展示臺風表格及雨量、水位等信息。此外為了豐富系統(tǒng)的顯示效果,還運用 ArcGIS JavaScript Viewer 框架,開發(fā)了地圖切換、衛(wèi)星云圖等小部件。
4.2 安卓版臺風路徑圖系統(tǒng)。
基于當前較為流行的安卓系統(tǒng),采用 ArcGISAPI for Android 技術開發(fā)了安卓版本的臺風路徑圖系統(tǒng),將臺風的運行軌跡描繪在電子地圖上;對臺風的未來運行軌跡進行顯示;臺風運行的每個點通過觸摸設備屏幕可以調(diào)出該位置的時間、氣壓、風力、風速和風圈半徑等信息。安卓版臺風路徑圖系統(tǒng)。
5 結(jié)語。
研制的基于 RESTful 架構(gòu)的臺風路徑發(fā)布系統(tǒng),綜合應用 JSON,WCF,ArcGIS 等技術,實現(xiàn)了一種靈活可復用的信息系統(tǒng)架構(gòu),有效支撐了防汛保安工作。目前研究成果已在上海水務信息化中得到推廣應用,在快速構(gòu)建水資源管理系統(tǒng)中發(fā)揮作用。2012 年“?焙 2013年“菲特”期間,研究成果分別經(jīng)受了 17 萬次和 5萬次的訪問量,較好地證明了技術路線的可行性,強化了社會公共服務功能,而且降低了信息化建設和運維成本。研究成果中使用的架構(gòu)風格、技術路線具有較強的可操作性,對推進資源整合、信息共享、集約化建設信息系統(tǒng)具有一定的借鑒意義。
參考文獻:
[1] 龔岳松,李靜芳,呂文斌,等。 上海水務數(shù)據(jù)中心建設規(guī)范的設計與研究[J]. 水利信息化,2012 (6): 54-60.
[2] Roy Thomas Fielding, Architectural Styles and the Designof Network-based Software Architectures[D]. UNIVERSITYOF CALIFORNIA, IRVINE, 2000: 41-57.
[3] Introducing JSON[EB/OL]. [2013-12-05]. http://www.json.org.
[4] 陳瑋,賈宗璞。 利用 JSON 降低 XML 數(shù)據(jù)冗余的研究[J].計算機應用與軟件,2012 (9): 188-190.
[5] 什么是 Windows Communication Foundation[EB/OL].[2013-12-05]. http://msdn.microsoft.com/zh-cn/library/ms731082 (v = vs.110)。 aspx.
[6] Derek Law. ArcGIS for Server 101[J]. ArcUser (Spring),2013:42.
【臺風業(yè)務應用和預警系統(tǒng)簡介論文】相關文章:
應用化學和材料化學的區(qū)別簡介07-19
數(shù)學與應用數(shù)學和統(tǒng)計學的區(qū)別簡介07-19
芻探財務預警系統(tǒng)01-20
邊坡工程的風險管理和應用論文04-09
寫論文,常用工具簡介 -論文01-01
寫論文,常用工具簡介05-09
語文分層閱讀教學的理論應用和價值探討論文06-15