亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        WebSocket服務(wù)器推送技術(shù)的研究

        2014-07-09 02:31:36張翠肖
        河北省科學(xué)院學(xué)報 2014年2期
        關(guān)鍵詞:服務(wù)器端插件瀏覽器

        張 玲,張翠肖

        (石家莊鐵道大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 石家莊 050043)

        隨著Internet技術(shù)的不斷發(fā)展,基于HTTP協(xié)議的Web應(yīng)用成為人們從互聯(lián)網(wǎng)上獲取大量信息的主要途徑。傳統(tǒng)基于HTTP協(xié)議的Web應(yīng)用采用的是“請求—應(yīng)答”模式,以客戶端發(fā)出請求,服務(wù)器端響應(yīng)請求的方式工作。而HTTP協(xié)議是無狀態(tài)的,客戶端向服務(wù)器端發(fā)送一次請求就建立一次TCP連接,即客戶端向服務(wù)器端發(fā)送請求,服務(wù)器端處理客戶端發(fā)送的請求并做出響應(yīng),此時TCP連接斷開。當(dāng)用戶需要獲取新的數(shù)據(jù)時,必須重新建立TCP連接,因此無法將最新的消息及時的傳送給客戶端[1]?,F(xiàn)如今對Web應(yīng)用中數(shù)據(jù)的實時性要求越來越高,能夠及時的獲取最新消息的服務(wù)器推送技術(shù)就顯得越來越重要。傳統(tǒng)的基于HTTP協(xié)議的Web應(yīng)用不能滿足客戶的需求,HTML5標(biāo)準(zhǔn)中提出的WebSocket通信協(xié)議提供了一條客戶端與服務(wù)器端的基于TCP的雙向通道,可同時在客戶端與服務(wù)器端傳送數(shù)據(jù),使建立的實時Web應(yīng)用更高效[2]。

        1 服務(wù)器推送技術(shù)

        1.1 服務(wù)器推送技術(shù)概述

        服務(wù)器推送技術(shù)的基本思想是在客戶端與服務(wù)器端建立長連接,服務(wù)器端主動將更新的數(shù)據(jù)及時的發(fā)送到客戶端,而不需要客戶端發(fā)送請求。

        1.2 現(xiàn)有服務(wù)器推送技術(shù)

        1.2.1 HTML refresh

        最簡單的方法就是HTML refresh,即刷新。原理是不管服務(wù)器端的數(shù)據(jù)是否有更新,客戶端都不停的向服務(wù)端發(fā)送請求,當(dāng)服務(wù)器端數(shù)據(jù)發(fā)生變化時就可以及時的傳送到客戶端。該方法利用HTML中的<meta>標(biāo)簽,設(shè)置文件的自動刷新頻率[1]。例如<META HTTP-EQUIV=“Refresh”CONTENT=“3;URL=http://www.baidu.com”>,意思是每隔3s刷新一次百度頁面。

        1.2.2 基于插件的服務(wù)器推送技術(shù)

        基于插件的服務(wù)器推送技術(shù)可利用的瀏覽器插件有ActiveX、Applet和Flash[1]。推送原理是在客戶端瀏覽器安裝插件,插件在瀏覽器頁面打開的同時被初始化,并與服務(wù)器端建立TCP連接,使用套接口傳送數(shù)據(jù)信息或是使用MRI、CORBA進行遠(yuǎn)程調(diào)用,來實現(xiàn)服務(wù)器端向客戶端主動的發(fā)送數(shù)據(jù)。

        1.2.3 無插件的服務(wù)器推送技術(shù)

        無插件服務(wù)器推送技術(shù)的原理是在HTTP的頭信息中添加Connection屬性,設(shè)置Connection的屬性值為Keep-Alive,建立客戶端與服務(wù)器端的長連接,服務(wù)器會主動的將最新的數(shù)據(jù)及時發(fā)送給客戶端而不需要客戶端向服務(wù)器端發(fā)送請求[3,4]。例如輪詢、長輪詢、Comet。

        由上述可知,刷新雖然可以自動發(fā)送請求但刷新的是整個頁面,而我們需要的只是部分?jǐn)?shù)據(jù),重復(fù)的刷新整個頁面會造成資源的浪費;使用有插件的服務(wù)器推送技術(shù),瀏覽器必須先安裝插件,這樣操作系統(tǒng)和插件的兼容性不同會給用戶帶來很大麻煩;無插件的服務(wù)器推送技術(shù),需要服務(wù)器與瀏覽器建立長連接,當(dāng)有大量的用戶與服務(wù)器建立長連接,服務(wù)器就喪失了高并發(fā)性[1,3,4]。現(xiàn)在出現(xiàn)一種基于 WebSocket協(xié)議的服務(wù)器推送技術(shù)可以使服務(wù)器端與客戶端建立雙向通信,解決上述問題。

        2 HTML5中的WebSocket協(xié)議

        WebSocket是HTML5定義的一個非常重要的新特性,目的是解決客戶與服務(wù)器間的實時通信,有Web TCP之稱[5]。它通過單一的Socket套接字在客戶端瀏覽器和服務(wù)器端建立全雙工的通信連接,該連接可以及時的將最新數(shù)據(jù)推送到客戶端,并且直到明確關(guān)閉之前一直保持打開狀態(tài)。使用戶能夠僅僅通過網(wǎng)頁就可以實現(xiàn)很多以前必須安裝客戶端才能實現(xiàn)的功能,例如在線聊天應(yīng)用。

        WebSocket連接是通過將客戶端與服務(wù)器端之間第一次握手時的HTTP協(xié)議升級到WebSocket協(xié)議,但是其底層使用的還是TCP/IP連接。連接建立后使用標(biāo)準(zhǔn)HTTP的80或443端口進行通信,其參數(shù)格式是“ws://localhost:80/zza/Chat”,ws使用80端口是普通的WebSocket通信協(xié)議,還有這一種wss是安全的 WebSocket通信協(xié)議使用443端口[2,5]。其本質(zhì)是通過HTTP協(xié)議進行握手升級到WebSocket協(xié)議后創(chuàng)建TCP連接,此后服務(wù)器端與客戶端通過此TCP連接進行實時數(shù)據(jù)傳輸。因此,不需要安裝新的硬件或者要求開放新的端口,只要服務(wù)器端和客戶端都能解析 WebSocket協(xié)議,就可以順利地建立WebSocket連接。

        3 服務(wù)器推送模型設(shè)計

        3.1 實時Web應(yīng)用架構(gòu)設(shè)計

        如今HTML5得到了很多瀏覽器的支持,例如Firefox、Chrome、Maxthon以及基于IE推出的360瀏覽器、搜狗瀏覽器等。為提高實時 Web系統(tǒng)的實時數(shù)據(jù)處理能力和實時響應(yīng)能力,在實時 Web系統(tǒng)架構(gòu)設(shè)計中使用了 WebSocket協(xié)議的服務(wù)器推送技術(shù),利用了復(fù)雜事件處理技術(shù)對數(shù)據(jù)進行快速處理[6,7]?;赪ebSocket協(xié)議系統(tǒng)架構(gòu)模型如圖1所示。

        圖1 基于WebSocket協(xié)議系統(tǒng)架構(gòu)模型

        3.2 用戶代理模塊

        用戶代理有兩種形式,一種是當(dāng)用戶瀏覽網(wǎng)頁時,用戶代理獲取用戶的瀏覽信息,根據(jù)用戶瀏覽信息發(fā)現(xiàn)用戶感興趣的信息,建立用戶興趣模型;另一種是根據(jù)用戶提交的訂閱信息,建立用戶興趣。

        3.3 數(shù)據(jù)轉(zhuǎn)換模塊

        當(dāng)Internet網(wǎng)絡(luò)中各種信息以數(shù)據(jù)流的形式傳輸?shù)椒?wù)器端時,數(shù)據(jù)流首先經(jīng)過數(shù)據(jù)轉(zhuǎn)換模塊轉(zhuǎn)換為事件處理模塊能夠識別的事件流,然后數(shù)據(jù)以事件流的形式輸出到事件處理模塊。

        3.4 事件處理模塊

        對事件的處理采用了復(fù)雜事件處理技術(shù)。其基本原理是首先從事件流中提取原子事件;然后根據(jù)已經(jīng)設(shè)置的規(guī)則,去除不需要的事件,其次將低層次的事件聚合成高層次的事件,并將局部事件組合成整體事件;然后對原子事件或整體事件進行匹配、判斷和推理,從而獲取事件之間的時間關(guān)系、因果關(guān)系、邏輯關(guān)系等;最后與已存儲的用戶興趣數(shù)據(jù)進行對比,進而進行判斷,查找,決策和預(yù)測等功能[8,9,10]。復(fù)雜事件處理過程如圖2所示。

        圖2 復(fù)雜事件處理過程圖

        首先復(fù)雜事件建模根據(jù)事件類型、邏輯關(guān)系、時序關(guān)系等,將接收的事件流進行整合,其次通過復(fù)雜事件語言描述生成復(fù)雜事件模型庫,然后根據(jù)用戶代理生成的用戶興趣模型與復(fù)雜事件模型庫進行復(fù)雜事件檢測,若不符合用戶需求,則直接忽略;若符合用戶需求,則形成復(fù)雜事件庫,同時生成事件消息并觸發(fā)數(shù)據(jù)推送模塊。

        3.5 數(shù)據(jù)推送模塊

        數(shù)據(jù)推送采用基于WebSocket協(xié)議的服務(wù)器推送技術(shù),建立WebSocket建立,連接建立的過程與TCP建立連接的過程是類似的,都基于TCP協(xié)議[4,11]?;?WebSocket協(xié)議的通信圖如圖3所示。

        圖3 基于WebSocket協(xié)議的通信圖

        WebSocket協(xié)議是服務(wù)器端和客戶端瀏覽器之間建立一條可以進行雙向通信的基于TCP連接的雙向連接通道??蛻舳藶g覽器通過80或433端口向服務(wù)器端發(fā)出建立連接請求,服務(wù)器端根據(jù)HTTP header解析客戶端瀏覽器發(fā)送來的請求,若是WebSocket請求,則升級請求建立WebSocket連接。連接成功后,客戶端瀏覽器和服務(wù)器端就可以通過 Web-Socket連接直接進行數(shù)據(jù)交換。服務(wù)器在接收消息的同時觸發(fā)推送機制將消息推送到客戶端瀏覽器,呈現(xiàn)在客戶面前。

        4 結(jié)束語

        本文通過對服務(wù)器推送技術(shù)工作原理及其各自優(yōu)缺點的介紹,了解到基于WebSocket協(xié)議的服務(wù)器推送技術(shù)具有高實時性和資源占用小等優(yōu)點。通過對實時Web應(yīng)用架構(gòu)的設(shè)計,了解到利用WebSocket協(xié)議可以設(shè)計出多種實時性強、效率高的 Web應(yīng)用。Websocket作為一個正在演變中的web規(guī)范,Websocket規(guī)范和API存在變動的可能,雖然目前websocket構(gòu)建應(yīng)用程序可能存在一定的風(fēng)險,但websocket將會成為未來開發(fā)實時Web應(yīng)用的主力軍。

        [1]孫清國,朱瑋,劉華軍,張鵬.Web應(yīng)用中的服務(wù)器推送技術(shù)研究綜述[J].計算機系統(tǒng)應(yīng)用,2008,11:116-120.

        [2]李代立,陳榕.WebSocket在 Web實時通信領(lǐng)域的研究[J].電腦知識與技術(shù),2010,28:7923-7925+7935.

        [3]鄭強.web服務(wù)器推送技術(shù)的設(shè)計與實現(xiàn)[D].北京郵電大學(xué),2013.

        [4]費日東,李定主.服務(wù)器推送技術(shù)研究[J].電腦知識與技術(shù),2012,07:1516-1517.

        [5]溫照松,易仁偉,姚寒冰.基于 WebSocket的實時 Web應(yīng)用解決方案[J].電腦知識與技術(shù),2012,16:3826-3828.

        [6]廖清平.基于 Web的服務(wù)器的Push技術(shù)研究和應(yīng)用[D].中山大學(xué),2013.

        [7]湯玲麗.復(fù)雜事件處理引擎關(guān)鍵技術(shù)研究[D].哈爾濱工程大學(xué),2012.

        [8]江連峰,趙佳寶.復(fù)雜事件處理技術(shù)及其應(yīng)用綜述[J].軟件,2014,02:188-192.

        [9]方金燦.面向港口物流的物聯(lián)網(wǎng)中間件復(fù)雜事件處理[D].大連理工大學(xué),2013.

        [10]湯新.Ceper:一個高性能復(fù)雜事件處理引擎[J].電腦與信息技術(shù),2013,04:32-37.

        [11]鄢金端,夏吉廣,張愛玉.服務(wù)器推送技術(shù)在智能倉儲物聯(lián)網(wǎng)中的應(yīng)用[J].警察技術(shù),2013,02:19-22.

        猜你喜歡
        服務(wù)器端插件瀏覽器
        自編插件完善App Inventor與樂高機器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        環(huán)球瀏覽器
        再見,那些年我們嘲笑過的IE瀏覽器
        MapWindowGIS插件機制及應(yīng)用
        在Windows中安裝OpenVPN
        基于Revit MEP的插件制作探討
        網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
        瀏覽器
        九九热线有精品视频86| 亚洲国产不卡免费视频| 中文字幕在线乱码日本| 亚洲a∨无码精品色午夜| 精品无码中文字幕在线| 久久精品—区二区三区无码伊人色 | 曰本无码人妻丰满熟妇啪啪| 亚洲国产精品自拍一区| 喷潮出白浆视频在线观看| 久久精品久99精品免费| 在线看片免费人成视频电影| 久久精品夜夜夜夜夜久久| 国产美女a做受大片免费| 日韩精品一区二区亚洲观看av| 无码av中文一区二区三区| 国内精品久久久久久中文字幕 | 日本精品一区二区三区在线观看| 性色欲情网站| 五十路熟女一区二区三区| 国产人成视频免费在线观看| 嫩呦国产一区二区三区av| 中文字幕aⅴ人妻一区二区| 日日人人爽人人爽人人片av| 61精品人妻一区二区三区蜜桃| 黄片视频免费观看蜜桃| 在线看片免费人成视频久网下载| 精品免费福利视频| 亚洲av午夜福利一区二区国产| 国产人妖乱国产精品人妖| 亚洲国产成人久久综合电影 | 欧洲日本一线二线三线区本庄铃| 欧美日韩国产高清| 少妇又骚又多水的视频| 蜜桃日本免费看mv免费版| 亚洲无码专区无码| 午夜亚洲精品视频网站| 九九九免费观看视频| 国产大学生粉嫩无套流白浆 | 国产精品美女久久久久久2018| 亚洲人av毛片一区二区| 日韩乱码中文字幕在线|