羅廣,陽許軍(.武漢郵電科學研究院 湖北 武漢 430074;.武漢虹信服務有限公司 湖北 武漢 430074)
基于web的推送技術在風險預警系統中的應用
羅廣1,陽許軍2
(1.武漢郵電科學研究院 湖北 武漢 430074;2.武漢虹信服務有限公司 湖北 武漢 430074)
為解決風險預警系統因傳統web系統請求/響應模式而造成信息延遲的問題,本文提出了一種基于web服務器主動推送技術的風險預警系統的的方案,并闡述了此方案的關鍵技術以及具體實現。本風險預警方案通過使用基于HTTP長鏈接的Comet技術,具備了在web頁面不重新刷新的情況下預警風險風險的能力。該系統一旦檢測到風險,能夠及時預警,因此,該系統滿足設計需求,該方案是可行的。
服務器推送;風險預警;數據庫技術;Comet;web
隨著IT技術的發展,越來越多的應用開始使用B/S架構。在傳統的請求/響應模型中,服務器監聽來自于客戶端瀏覽器端的HTTP請求,一旦接收到請求,web服務器立即作出相應,向客戶端瀏覽器發送HTTP響應報文。對于客戶端瀏覽器而言,B/S模型是一種被動的模型,除非瀏覽器發送請求,否則客戶端瀏覽器接收不到來自服務器的任何響應。
對于大部分web應用程序,傳統模式可以滿足需求,但是,隨著IT技術的應用領域日益廣泛,越來越多的新業務需求出現在web應用程序中,傳統模式開始出現弊端,無法完成業務需求。
風險預警是一個web技術新的應用領域。風險預警是一種需要高實時性的web應用程序,在風險預警系統中,一旦服務器檢測到風險產生,為保證風險預警的實時性,需要立即推送預警,而不是等待客戶端瀏覽器頁面刷新時發送請求,重新加載數據。
近些年興起的服務端主動推送技術為為風險預警系統提供了很好的解決方案。在風險預警系統中,使用的服務端主動推送技術是Comet技術。Comet技術是一種基于HTTP長鏈接的技術,與AJAX更新數據模式不同,Comet技術只有在服務器有數據更新時才向客戶端瀏覽器發送數據,當客戶端瀏覽器接收完數據是并不和web服務器斷開連接,而是繼續等待下一次服務器的數據更新。直到其中一方發送斷開連接報文,或者有超時或網絡錯誤發生,鏈接才會打開。因此,較其他主動推送技術Ajax輪循技術而言,Comet技術更加節省網絡資源。
本風險預警系統是一個典型的web應用程序,主要分為web服務器、web頁面、底層數據持久層3個部分,系統結構圖如圖1所示。在本系統中,web服務器起到了重要的作用。一方面,web服務器可以從底層數據接入層讀寫數據,為web頁面提供用戶登陸、配置風險預警參數、用戶權限控制等功能;另一方面,web服務器也在收到web頁面請求之后,與web頁面建立預警推送通道,一旦接收到預警信息,主動發起風險預警。

圖1 系統結構圖
Web頁面提供了用戶操作界面。系統所涉及人員分為兩種,一種是用戶,即系統操作人員;另一種則是客戶,即操作對象。本系統主要面向操作人員提供風險預警功能,預警客戶業務數據的風險。
2.1個性化預警參數的配置
本風險預警系統通過配置客戶風險預警參數,來提供個性化的風險預警功能。客戶風險預警參數為系統每一位客戶在每一個可能存在風險的業務項下提供個性化的參數配置,風險信息抓取程序能夠根據風險預警參數提供個性化風險預警服務。
風險獲取程序在獲取預警信息時,將會在底層數據持久層獲取風險預警參數,以此參數為不同客戶、不同業務配置個性化風險預警標準。風險捕獲程序在捕獲風險信息時,將會查詢底層數據接入層是否保存有對應客戶風險預警參數,若存在,則以客戶風險預警參數作為缺省風險預警參數;否則,則以默認風險預警參數作為缺省風險預警參數,抓取風險數據。

圖2 風險預警參數的獲取
2.2預警信息獲取
預警信息的獲取主要有兩種方式。一種方式是頁面加載時,使用AJAX技術,通過頁面向web服務器發起請求,web服務器通過查詢底層數據持久層查詢風險預警信息,獲取風險預警數據,通過HTTP響應將數據發送給web頁面。第二種方式是通過風險獲取程序獲取通過定時高頻檢索數據持久層,及時獲取預警信息,通過web服務器風險預警接口向web服務器發送預警通知,web服務器風險預警接口一旦接收到風險通知,立即向web頁面推送風險預警信息。文中主要描述的是第二種預警信息的推送方式。
2.3服務器主動推送
服務器主動推送技術是本風險預警系統最關鍵的技術,此技術為web服務器及時預警風險提供了保證。目前常用的服務器推送技術是AJAX輪詢技術以及基于HTTP長連接的Comet技術。
作為一種被廣泛使用的web應用程序開發技術,AJAX技術在web應用程序開發中日益流行。AJAX輪詢技術是一種以AJAX技術為核心的服務器推送技術。在AJAX引擎中的XMLHttpRequest對象通過周期請求的方式定時訪問服務器來獲取新的數據,服務器程序通過向與AJAX通信建立的臨時通道中寫入數據,其后,客戶端接收新數據,解析并獲得數據內容,然后Javascript腳本修改頁面 DOM對象實現用戶界面的更新。
Comet技術與AJAX輪詢技術類似,主要不同之處是Comet技術通過建立一個和服務器端的長連接,當服務器端有新的數據需要發送給客戶端時,才向長連接持久管道中寫入數據,客戶端瀏覽器通過接收并解析獲得新的數據,并將新的數據寫入到DOM中,通過頁面進行風險預警。
Comet技術很好的解決了在風險預警系統中遇到的問題。一方面,Comet技術通過建立HTTP長連接,減少客戶端和服務器端的通信量,只有在新數據到來時才產生服務器和客戶端的通信。另一方面,消息將不會延遲。在瀏覽器/服務器通信過程中,web服務器/客戶端瀏覽器之間HTTP連接一直打開,服務器端傳輸數據的方式是以主動傳輸的方式進行,不用等待客戶端請求后再傳輸,通信的雙方消息將是實時同步的。
在風險預警系統中,一旦頁面完成加載,客戶端瀏覽器發起長連接請求,web服務器響應請求,建立HTTP長連接,供web服務器發起主動推送功能。此時,若服務器接口捕獲風險預警,web服務器發起響應,更新風險信息,發起預警。

圖3 主動推送流程
2.4風險預警信息的清除
本風險預警系統使用的風險預警信息來自于底層數據接入層,有風險捕獲程序產生,產生后本系統在底層數據接入層查詢數據,向web頁面預警風險。系統風險預警詳情頁面提供進入業務系統接口,可以處理風險信息,一旦處理完成,風險預警自動清除。風險預警信息清除后,頁面重新加載,更新風險預警信息。
2.5風險預警推送測試
通過向web服務器風險預警接口發送模擬數據實現風險預警推送測試。在測試過程中,web服務器向web頁面推送預警信息,在此過程中,頁面沒有重新進行加載,web頁面接收到推送信息,JavaScript腳本程序將風險數量寫入一級菜單風險管理處,以數字向用戶預警風險。同時,進入風險預警功能模塊已經風險詳情頁面,可查詢風險預警列表和風險預警相信信息。

圖4 風險預警信息列表

圖5 風險管理
本文介紹了一種基于服務器主動推送的風險預警方案,重點闡述了基于HTTP長連接的Comet技術在本風險預警技術中的應用。通過使用Comet技術,一旦服務器接收到風險預警,能立即向web頁面推送預警信息,不用再等待頁面刷新才更新數據。本風險預警方案在web應用程序中起到重要作用,能及時查找出危險、敏感的業務數據,為web應用程序穩定性、安全性提供了保障。
[1]陳航,趙方.基于服務器推送技術和XMPP的Web IM系統實現[J].計算機工程與設計,2010,31(5):925-928,994.
[2]孫君曼,方華京.基于推送技術的網絡化監控報警系統[J].計算機工程,2008(4):269-271.
[3]曾維紅,陳鐵軍,孟麗,等.基于技術的主動信息服務系統設計與實現[J].計算機工程與設計,2005,11(11):2893-2894.
[4]孫清國,朱瑋,劉華軍,等.Web應用中的服務器推送技術研究綜述[J].計算機系統應用,2008(11):116-120.
[5]景慎艷.基于PUSHLET的服務器推送技術的研究與應用[J].現代計算機,2009(10):132-134.
[6]李明,陳蘇,張雨,等.計算機網絡中的Push技術[J].計算機工程,2000,26(6):29-31.
[7]王茜,謝萍,王穎.基于Hadoop的同步相量數據處理平臺性能分析[J].電力信息與通信技術,2014(9):1-5.
[8]王峰,劉蓓莉,馮玉森.基于Hi3516的Web視頻監控系統的設計與實現[J].電子科技,2013(10):62-63.
[9]徐淑萍,李軍,張軍,等.嵌入式Web服務器軟件的設計與實現[J].西安工業大學學報,2014(3):193-198.
Web-based push service applications in risk early warning system
LUO Guang1,YANG Xu-jun2
(1.Wuhan Research Institute of Postal and Telecommunications,Wuhan 430074,China;2.Wuhan Hongxin Technology Service Co.,Ltd.,Wuhan 430074,China)
In order to solve the risk early warning system for the request/response mode of traditional web system caused by the information delay problem,this paper proposes a risk warning system based on active web server push technology,and expounds the key technology of the scheme and implementation.The risk early warning scheme is based on the HTTP long link Comet technology,with the ability of risking early warning without refreshing the web page.Once the system detected the risk,can timely warning,so the system satisfies the design need,this plan is feasible.
server push;risk early warning;database technology;comet;Web
TN02
A
1674-6236(2016)11-0046-03
2015-06-15稿件編號:201506160
羅 廣(1989—),男,湖北武漢人,碩士研究生。研究方向:計算機軟件與技術,互聯網,軟件開發。