[發(fā)明專利]一種WEB消息實時推送方法、服務(wù)器、客戶端及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201710864536.1 | 申請日: | 2017-09-22 |
| 公開(公告)號: | CN109547511B | 公開(公告)日: | 2022-02-22 |
| 發(fā)明(設(shè)計)人: | 劉兆祥;郭岳;方煒;李海傳;余兆成;羅瓊;鄭海朋;陳潤泉 | 申請(專利權(quán))人: | 中國移動通信集團浙江有限公司 |
| 主分類號: | H04L67/55 | 分類號: | H04L67/55;H04L67/02;H04L5/14 |
| 代理公司: | 北京路浩知識產(chǎn)權(quán)代理有限公司 11002 | 代理人: | 王瑩;李相雨 |
| 地址: | 310016 *** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 web 消息 實時 推送 方法 服務(wù)器 客戶端 系統(tǒng) | ||
1.一種WEB消息實時推送方法,其特征在于,包括:
消息推送管理模塊從消息隊列模塊中,獲取待向客戶端推送的消息;
所述消息推送管理模塊從連接緩存模塊中,獲取與所述客戶端之間的第一長連接;其中,所述第一長連接是連接管理模塊根據(jù)所述客戶端的服務(wù)器推送事件管理模塊發(fā)送的第一服務(wù)器推送事件建立的;
所述消息推送管理模塊將所述消息通過所述第一長連接發(fā)送到所述客戶端;
所述連接管理模塊包括:
HTTP處理子模塊、定時任務(wù)子模塊、第一連接服務(wù)管理子模塊和第一連接數(shù)據(jù)存儲子模塊,所述HTTP處理子模塊和所述定時任務(wù)子模塊分別與所述第一連接服務(wù)管理子模塊電連接,所述第一連接服務(wù)管理子模塊和所述第一連接數(shù)據(jù)存儲子模塊電連接,所述第一連接數(shù)據(jù)存儲子模塊與所述連接緩存模塊電連接;其中,
所述HTTP處理子模塊根據(jù)所述第一服務(wù)器推送事件與所述客戶端之間建立所述第一長連接,并將所述第一長連接通過所述第一連接服務(wù)管理子模塊提供的第一接口,保存至所述連接緩存模塊中;
所述定時任務(wù)子模塊通過所述第一連接服務(wù)管理子模塊提供的第二接口,每隔第一預(yù)設(shè)時間段將所述連接緩存模塊中的保存時間超過第一預(yù)設(shè)時間閾值的所述第一長連接銷毀;
所述第一連接數(shù)據(jù)存儲子模塊對所述連接緩存模塊進行讀寫操作;
所述每隔第一預(yù)設(shè)時間段將所述連接緩存模塊中的保存時間超過第一預(yù)設(shè)時間閾值的所述第一長連接銷毀,包括:
若所述定時任務(wù)子模塊檢測到所述第一長連接的保存時間超過所述第一預(yù)設(shè)時間閾值,則所述HTTP處理子模塊向所述客戶端發(fā)送第一心跳推送;其中,所述第一心跳推送的消息內(nèi)容為所述第一長連接即將關(guān)閉;
若所述HTTP處理子模塊接收到所述客戶端發(fā)送的第二服務(wù)器推送事件,則根據(jù)所述第二服務(wù)器推送事件與所述客戶端之間建立第二長連接,并將所述第二長連接保存至所述連接緩存模塊中;
所述定時任務(wù)子模塊將所述第一長連接銷毀。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述消息推送管理模塊包括:
消息發(fā)送子模塊、線程池子模塊、調(diào)度器子模塊、第二連接服務(wù)管理子模塊和第二連接數(shù)據(jù)存儲子模塊,所述調(diào)度器子模塊分別與所述消息隊列模塊和所述線程池子模塊電連接;所述線程池子模塊分別與所述第二連接服務(wù)管理子模塊和所述消息發(fā)送子模塊電連接,所述第二連接數(shù)據(jù)存儲子模塊分別與所述第二連接服務(wù)管理子模塊和所述連接緩存模塊電連接;其中,
所述調(diào)度器子模塊從所述消息隊列模塊中,獲取待向所述客戶端推送的消息,并對所述線程池子模塊進行管理;
所述線程池子模塊通過所述第二連接服務(wù)管理子模塊提供的第三接口,從所述連接緩存模塊中獲取所述第一長連接,通過所述消息發(fā)送子模塊提供的第四接口,將所述消息通過所述第一長連接發(fā)送到所述客戶端;
所述第二連接數(shù)據(jù)存儲子模塊對所述連接緩存模塊進行讀寫操作。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對所述線程池子模塊進行管理,包括:
若所述線程池子模塊中的當(dāng)前線程數(shù)小于核心線程數(shù),則創(chuàng)建第一線程,并通過所述第一線程執(zhí)行任務(wù);其中,所述任務(wù)包括從所述消息隊列模塊中獲取待向所述客戶端推送的消息,并將所述消息通過所述第一長連接發(fā)送到所述客戶端;
若所述當(dāng)前線程數(shù)大于或等于所述核心線程數(shù),則判斷所述當(dāng)前線程中,是否存在空閑線程;
若存在空閑線程,則通過所述空閑線程執(zhí)行所述任務(wù);若不存在空閑線程且所述當(dāng)前線程數(shù)小于最大線程數(shù),則創(chuàng)建第二線程,并通過所述第二線程執(zhí)行所述任務(wù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
所述HTTP處理子模塊建立所述第一長連接之后,每隔第二預(yù)設(shè)時間段向所述客戶端發(fā)送第二心跳推送;其中,所述第二心跳推送的消息內(nèi)容為空;
若所述HTTP處理子模塊接收到所述客戶端發(fā)送過來的第三服務(wù)器推送事件,則與所述客戶端之間建立第三長連接,并將所述第三長連接保存至所述連接緩存模塊中;其中,所述第三服務(wù)器推送事件是當(dāng)所述客戶端每隔第三預(yù)設(shè)時間段沒有接收到所述第二心跳推送時,發(fā)送過來的。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國移動通信集團浙江有限公司,未經(jīng)中國移動通信集團浙江有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710864536.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 提供共享Web模塊的系統(tǒng)和方法
- 管理環(huán)球網(wǎng)網(wǎng)頁中的環(huán)球網(wǎng)媒體的系統(tǒng)及其實現(xiàn)方法
- 一種WEB業(yè)務(wù)實現(xiàn)系統(tǒng)、裝置及方法
- 高速緩存廣播信息的方法和裝置
- 基于QoS指標(biāo)和Web服務(wù)輸出參數(shù)的Web服務(wù)組合方法和裝置
- Web托管審查方法、裝置及Web托管系統(tǒng)
- 用于信息處理和Web瀏覽歷史導(dǎo)航的方法和設(shè)備及電子裝置
- 用于將web站點轉(zhuǎn)換為目標(biāo)web app站點的方法和裝置
- 用于防護WEB漏洞的方法和設(shè)備
- 一種Web攻擊報告生成方法、裝置、設(shè)備及計算機介質(zhì)





