一種基于WEB的實(shí)時(shí)消息推送方法,該方法通過將Java?script腳本嵌入WEB應(yīng)用頁面,用戶使用瀏覽器打開WEB應(yīng)用時(shí)下載并執(zhí)行Java?script腳本,基于Comet技術(shù)在瀏覽器端與后臺服務(wù)器端之間建立雙向數(shù)據(jù)傳輸通道,從而實(shí)現(xiàn)從服務(wù)器端向?yàn)g覽器端的主動(dòng)消息推送。通過本發(fā)明專利技術(shù)的實(shí)施,解決了WEB數(shù)據(jù)更新不及時(shí)或需要手動(dòng)操作易用性差的問題,進(jìn)一步提升系統(tǒng)的易用性及用戶感知,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)性傳輸。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及互聯(lián)網(wǎng)應(yīng)用技術(shù),具體涉及一種基于WEB的實(shí)時(shí)消息推送方法。
技術(shù)介紹
隨著WEB2.0時(shí)代的到來,越來越多的應(yīng)用從原有C/S (客戶端/服務(wù)器端)模式轉(zhuǎn)變?yōu)锽/S (瀏覽器端/服務(wù)器端)模式,享受著WEB技術(shù)帶來的各種優(yōu)勢(例如,免客戶端維護(hù)、跨平臺、擴(kuò)展性好等)。但是傳統(tǒng)的WEB應(yīng)用瀏覽器端請求,服務(wù)器端響應(yīng)的工作方式,無法滿足一些實(shí)時(shí)性高的應(yīng)用需求。譬如:運(yùn)行監(jiān)控、即時(shí)通訊、即時(shí)報(bào)價(jià)系統(tǒng)等。這些應(yīng)用中,都需要從服務(wù)器端主動(dòng)向客戶端發(fā)送消息,而基于Http協(xié)議的WEB應(yīng)用無法解決這一問題。于是,便催生了基于WEB的實(shí)時(shí)消息推送技術(shù)。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)提供一種基于Comet技術(shù)的高性能消息推送方法,改變“請求/響應(yīng)”傳統(tǒng)的WEB應(yīng)用程序交互模式,實(shí)現(xiàn)從服務(wù)器端主動(dòng)向?yàn)g覽器端推送消息,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)性傳輸。為此,本專利技術(shù)所采用的技術(shù)方案為: 一種基于WEB的實(shí)時(shí)消息推送方法,該方法通過將Java script腳本嵌入WEB應(yīng)用頁面,用戶使用瀏覽器打開WEB應(yīng)用時(shí)下載并執(zhí)行Java script腳本,基于Comet技術(shù)在瀏覽器端與后臺服務(wù)器端之間建立雙向數(shù)據(jù)傳輸通道,從而實(shí)現(xiàn)從服務(wù)器端向?yàn)g覽器端的主動(dòng)消息推送。所述Comet技術(shù)是基于觀察者模式設(shè)計(jì)消息訂閱/分發(fā)的方法,用于監(jiān)控?cái)?shù)據(jù)變化并實(shí)時(shí)推到給瀏覽器端;其具體步驟如下: O瀏覽器端訂閱消息,支持一個(gè)瀏覽器端同時(shí)訂閱多個(gè)不同類型的消息; 2)服務(wù)器端開始數(shù)據(jù)監(jiān)控,基于開放的API或服務(wù)器端的數(shù)據(jù)庫,數(shù)據(jù)發(fā)生變化立即觸發(fā)分發(fā)事件; 3 )服務(wù)器端向指定瀏覽器端分發(fā)其訂閱的最新消息。本專利技術(shù)中,當(dāng)用戶用瀏覽器瀏覽WEB系統(tǒng)頁面時(shí),執(zhí)行嵌入頁面的Java script腳本語言代碼建立與服務(wù)器端的通訊通道,而服務(wù)器端監(jiān)聽到用戶數(shù)據(jù)發(fā)送變化時(shí),將數(shù)據(jù)變化情況實(shí)時(shí)推送給瀏覽器端。通過本專利技術(shù)的實(shí)施,解決了 WEB數(shù)據(jù)更新不及時(shí)或需要手動(dòng)操作易用性差的問題,進(jìn)一步提升系統(tǒng)的易用性及用戶感知,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)性傳輸。 本專利技術(shù)的應(yīng)用空間比較廣泛,可以應(yīng)用于多種類型的網(wǎng)絡(luò)應(yīng)用。如:信息實(shí)時(shí)發(fā)布領(lǐng)域、在線游戲領(lǐng)域、實(shí)時(shí)檢測領(lǐng)域、WEB即時(shí)通信領(lǐng)域、RAI (富客戶端)的WEB應(yīng)用程序等。【附圖說明】圖1為傳統(tǒng)ajax機(jī)制示意圖; 圖2為本專利技術(shù)機(jī)制不意圖; 圖3為本專利技術(shù)的整體架構(gòu)示意圖; 圖4為本專利技術(shù)瀏覽器端訂閱事件順序圖; 圖5為本專利技術(shù)服務(wù)器端分發(fā)事件順序圖。【具體實(shí)施方式】以下結(jié)合附圖對本專利技術(shù)進(jìn)一步詳細(xì)說明。下面所涉及瀏覽器均為兼容市場主流的瀏覽器。參照圖1、圖2,兩者為傳統(tǒng)a jax機(jī)制與本專利技術(shù)機(jī)制的區(qū)別示意圖。從圖中可看出,傳統(tǒng)ajax機(jī)制是由客戶端主動(dòng)發(fā)起去服務(wù)器端取數(shù)據(jù),而本專利技術(shù)使用的comet機(jī)制則是由服務(wù)器端主動(dòng)發(fā)起將數(shù)據(jù)推到客戶端。當(dāng)服務(wù)器端數(shù)據(jù)發(fā)生變化時(shí),傳統(tǒng)ajax機(jī)制主要有以下兩種方式通知客戶端: 定時(shí)刷新,就是隔一個(gè)時(shí)間段瀏覽器刷新一次。(造成服務(wù)器端和瀏覽器端的數(shù)據(jù)傳輸壓力過大) 長輪詢,ajax機(jī)制是隔一段時(shí)間就去服務(wù)器端查詢是否有更新,但是時(shí)間長短的定義就成了問題,這會(huì)造成服務(wù)器端的性能、即時(shí)性的大幅降低。而本專利技術(shù)則有效規(guī)避了以上問題,具有實(shí)時(shí)性好(消息延時(shí)小)、性能好(能支持大量用戶)的優(yōu)點(diǎn)。圖3為本專利技術(shù)的整體架構(gòu),包括前端嵌入Java script腳本和后端控制服務(wù)兩個(gè)部分。其中,控制服務(wù)包括:消息訂閱、數(shù)據(jù)源監(jiān)控及消息分發(fā)三部分。所述消息訂閱的運(yùn)行過程如下(參照圖4): 用戶打開WEB應(yīng)用頁面,執(zhí)行嵌入javascript語言腳本,向服務(wù)器端發(fā)送HTTP連接請求。與服務(wù)器端握手成功后,發(fā)送用戶消息訂閱請求。服務(wù)器端收到請求后,進(jìn)行瀏覽器端訂閱注冊,并加入監(jiān)聽隊(duì)列。所述消息分發(fā)的流程如下(參照圖5): 數(shù)據(jù)發(fā)送變化時(shí)觸發(fā)消息分發(fā)事件,根據(jù)已經(jīng)存在的消息訂閱類型進(jìn)行事件匹配。若匹配不成功,即沒有瀏覽器端訂閱此類數(shù)據(jù)變化,則忽略該數(shù)據(jù)變化。若匹配成功,即存在瀏覽器端訂閱了此類數(shù)據(jù)變化,則觸發(fā)消息分發(fā)事件。按照約定的格式(一般為JS0N)向所有訂閱了此類消息的客戶端推送消息。本專利技術(shù)已應(yīng)用于綜合辦公全國平臺,實(shí)現(xiàn)了用戶日常待辦信息的實(shí)時(shí)提醒功能。目前該平臺用戶規(guī)模60W,PV (頁面訪問量)20W/日,消息推送量5W/每日。從上線I年來的情況來看,推送及時(shí)穩(wěn)定,效果較好。【主權(quán)項(xiàng)】1.一種基于WEB的實(shí)時(shí)消息推送方法,其特征在于:該方法通過將Java script腳本嵌入WEB應(yīng)用頁面,用戶使用瀏覽器打開WEB應(yīng)用時(shí)下載并執(zhí)行Java script腳本,基于Comet技術(shù)在瀏覽器端與后臺服務(wù)器端之間建立雙向數(shù)據(jù)傳輸通道,從而實(shí)現(xiàn)從服務(wù)器端向?yàn)g覽器端的主動(dòng)消息推送。2.根據(jù)權(quán)利要求1所述的一種基于WEB的實(shí)時(shí)消息推送方法,其特征在于:所述Comet技術(shù)是基于觀察者模式設(shè)計(jì)消息訂閱/分發(fā)的方法,用于監(jiān)控?cái)?shù)據(jù)變化并實(shí)時(shí)推到給瀏覽器端;其具體步驟如下: 1瀏覽器端訂閱消息,支持一個(gè)瀏覽器端同時(shí)訂閱多個(gè)不同類型的消息; 2)服務(wù)器端開始數(shù)據(jù)監(jiān)控,基于開放的API或服務(wù)器端的數(shù)據(jù)庫,數(shù)據(jù)發(fā)生變化立即觸發(fā)消息分發(fā)事件; .3 )服務(wù)器端向指定瀏覽器端分發(fā)其訂閱的最新消息?!緦@?lt;b>一種基于</b><b>WEB</b><b>的實(shí)時(shí)消息推送方法,該方法通過將</b><b>Java?script</b><b>腳本嵌入</b><b>WEB</b><b>應(yīng)用頁面,用戶使用瀏覽器打開</b><b>WEB</b><b>應(yīng)用時(shí)下載并執(zhí)行</b><b>Java?script</b><b>腳本,基于</b><b>Comet</b><b>技術(shù)在瀏覽器端與后臺服務(wù)器端之間建立雙向數(shù)據(jù)傳輸通道,從而實(shí)現(xiàn)從服務(wù)器端向?yàn)g覽器端的主動(dòng)消息推送。</b>通過本專利技術(shù)的實(shí)施,解決了WEB數(shù)據(jù)更新不及時(shí)或需要手動(dòng)操作易用性差的問題,進(jìn)一步提升系統(tǒng)的易用性及用戶感知,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)性傳輸?!綢PC分類】H04L12/58, H04L29/08【公開號】CN105162687【申請?zhí)枴緾N201510488661【專利技術(shù)人】黃濤, 魏鑫 【申請人】甘肅萬維信息技術(shù)有限責(zé)任公司【公開日】2015年12月16日【申請日】2015年8月11日本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種基于WEB的實(shí)時(shí)消息推送方法,其特征在于:該方法通過將Java?script腳本嵌入WEB應(yīng)用頁面,用戶使用瀏覽器打開WEB應(yīng)用時(shí)下載并執(zhí)行Java?script腳本,基于Comet技術(shù)在瀏覽器端與后臺服務(wù)器端之間建立雙向數(shù)據(jù)傳輸通道,從而實(shí)現(xiàn)從服務(wù)器端向?yàn)g覽器端的主動(dòng)消息推送。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:黃濤,魏鑫,
申請(專利權(quán))人:甘肅萬維信息技術(shù)有限責(zé)任公司,
類型:發(fā)明
國別省市:甘肅;62
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會(huì)獲得科技券。