◆程思勇 袁明清 伍亞光
(重慶市萬州區氣象局 重慶 404000)
多媒體氣象信息發布系統設計與實現
◆程思勇 袁明清 伍亞光
(重慶市萬州區氣象局 重慶 404000)
多媒體氣象信息發布系統(LCD)能夠突破傳統氣象信息傳播方式的不足,提供具有多樣化、豐富性的氣象信息,滿足公眾對氣象服務需求的更高要求。本文介紹了該系統開發的意義、關鍵技術,簡述了系統的結構、功能與推廣應用前景。
氣象;防災減災;多媒體;展示
隨著社會經濟發展,氣象在防災減災工作中的保障作用越來越重要,公眾對氣象服務信息的需求越來越高,氣象服務產品內容越來越豐富,氣象服務產品展示方式越來越多樣化。現有的氣象信息發布方式和傳播手段已不能滿足公眾對氣象服務需求的需要、不能滿足氣象防災減災工作的需要。多媒體氣象信息發布系統通過文字、音頻、視頻等圖文并茂的方式向公眾展示豐富多彩的氣象服務產品,提供充足的、滿足公眾需要的氣象信息,充分發揮氣象服務在防災減災中的保障作用。
1.1 MVC
MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設計創建 Web 應用程序的框架模式,它強制性的使應用程序的輸入、處理和輸出分開。使用 MVC,應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。
M(模型)Model 業務邏輯層,負責在數據庫中存取數據和對業務邏輯的封裝。
V(視圖)View 表示邏輯層,負責處理數據顯示,通常指實現可視化界面。
C(控制器)Controller 控制層,負責協調模式與視圖的工作流程,通常用于接受用戶的輸入并調用模型和視圖去完成用戶的需求。
1.2 AJAX
AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創建交互式網頁應用的網頁開發技術。利用AJAX 可以使網頁實現異步更新,這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
2.1 系統網絡結構設計
根據對公眾的氣象信息服務需求進行分析,該系統需要對外展示的內容有天氣預報、天氣實況、氣象服務材料、視頻等服務。各個服務均需要建設相應的服務器,該系統分為內容管理 WEB服務器、應用服務器、數據抓取服務器、數據庫服務器、流媒體服務器、播放,如圖1所示系統結構。
2.2 系統功能設計
該系統主要分為內容管理模塊和內容展示模塊。
內容展示模塊即播放終端,用于展示氣象信息產品及視頻內容。內容管理模塊供業務人員編輯氣象信息產品、管理視頻節目、播放終端管理監控、氣象站點管理及氣象信息采集控制。如圖2所示。

圖1 系統結構

圖2 功能模塊
(1)視頻管理:可以根據視頻欄目實現節目分類管理,將視頻節目發布到播放任務模塊,可以靈活控制播放。
(2)氣象產品管理:對于氣象要素實現自動采集,在采集后業務人員可進行編輯修改。業務人員也可發布、管理服務材料。
(3)終端管理:實現播放終端的新增、編輯、刪除。查看播放終端的運行狀態及實現遠程控制。
(4)站點管理:管理所需展示的天氣預報站點和實況觀測站點。
(5)采集控制:控制后臺采集程序的啟動、停止和采集項目的開關。
(6)用戶管理模塊:實現登錄用戶的管理,系統采用單一入口,只有登錄成功的用戶才能進行后臺管理。
(7)內容展示模塊:輸出播放終端所需的氣象要素數據、服務材料及視頻播放任務。
3.1 系統功能模塊實現
系統采用php面向對象技術和MVC模式,將數據庫訪問和業務邏輯進行封裝,對不同業務功能模塊分別建立數據模型和訪問接口,通過HTML頁面創建視圖模型,創建Action實現業務的控制,達到模型、視圖、控制分離,方便開發。
系統使用單一入口方式,所有操作必須通過入口文件執行,同時在入口文件進行身份驗證,如果身份驗證失敗,則跳轉到登錄頁面進行登錄,防止未經授權人員進入系統操作,確保系統安全。
用戶提交請求后,由控制器攔截并分配給相應的 Action處理,Action調用相應的模型進行業務邏輯處理,最終跳轉到相應的html頁面作為用戶請求的應答。
3.2 數據庫實現
考慮到該系統應用環境所發生的并發訪問和數據量都相對有限,因此數據庫采用開源的中小型關系型數據庫MySQL。由于其體積小、速度快、總體擁有成本低,目前被廣泛應用于中小型網站。
根據系統功能模塊設計,可以抽象出來的數據模型有用戶模型、終端模型、預報站點模型、觀測站點模型、視頻節目模型、氣象產品模型,如圖3所示終端數據模型。各個模型在系統中有關聯關系,如圖4所示終端模型與預報站點模型、監測站點模型、播放任務模型的關聯關系及播放任務模型與視頻節目的關聯關系。

圖3 終端數據模型

圖4 模型間關聯關系
3.3 流媒體服務實現
流媒體服務采用P2P傳輸,以減輕流媒體服務器的負載和提高視頻質量,降低帶寬要求,達到以更小帶寬傳輸更多數據流的目的。在同等用戶規模情況下,P2P流媒體相比于Flash B/S模式,可節省80~90%的服務器帶寬。
3.4 應用服務實現
應用服務采用PHP編寫Web Service對外提供訪問接口。
class Server {
public function getShikuang() {
//處理實況數據并返回
}
public function getForecast() {
<1),且各件產品是否為不合格品相互獨立.
//處理預報數據并返回
}
}
$server=new SoapServer(null, array('uri'=>'server.php','location'=>'http://localhost/server.php'));
$server->setClass('Server');
$server->handle();
3.5 數據抓取服務
通過市局提供的Web Service接口抓取數據并存入數據庫。
$client=new SoapClient("hmsas.wsdl" ,array('encoding'=>'gb2312'));
$resultdata=$client->getdatatoarray();//調用接口函數,以數組返回
$resultnum=count($resultdata); //計算返回數組的單元數目
//$resultnum==1,說明遇到錯誤或結果為空。echo $resultdata;就可以看到具體錯誤或為空信息。
if ($resultnum==1) echo $resultdata;
else {
//處理返回值
}
?>
3.6 播放器實現
播放器采用C#實現,使用Ajax訪問應用服務器提供的接口更新氣象信息。
3.7 運行測試
考慮該系統用戶規模有限,因此將 Web服務、應用服務和數據抓取服務集成,通過管理界面啟動數據抓取服務,將流媒體視頻播放地址導出并發布到播放任務列表,啟動播放器。如圖5為數據抓取控制頁面,圖6為播放界面。

圖5 數據抓取控制頁面

圖6 播放界面
本文簡要介紹了多媒體氣象信息發布系統的設計與實現。在開發過程中,通過采用MVC框架模式,極大提高開發效率和系統安全性。實踐說明,該系統的使用相比于傳統 LED電子顯示屏能提供更加豐富多彩的氣象服務產品,充分發揮氣象信息在防災減災中的保障作用。
[1]朱濤江.PHP與MYSQL程序設計[M].北京:人民郵電出版社,2009.
[2]蘇金國,陳永志.PHP WEB 2.0開發實戰[M].北京:人民郵電出版社,2008.
[3]孫浩然,張鵬云,宋凱.基于信息安全的旅游管理系統防惡意注入設計與實現[J].網絡安全技術與應用,2015.
[4]陳玉石,王涵波.基于Struts2的企業內部交流平臺設計與開發[J].網絡安全技術與應用,2016.