一種動態消息推送方法及其系統、服務端、客戶端的製作方法
2023-06-01 06:36:01 1
一種動態消息推送方法及其系統、服務端、客戶端的製作方法
【專利摘要】本發明公開了一種動態信息推送方法及其系統、客戶端和服務端。其中,動態消息推送方法包括步驟:通過flash插件與服務端建立通信聯接;通過該flash插件接收服務端發送來的Push消息,該Push消息是由服務端根據存儲的最新消息生成的;解析該Push消息並控制頁面顯示。本發明利用flash做socket的功能,建立起客戶端與服務端之間的實時連接,避免埠配置的問題,也無需客戶端安裝任何額外插件使得最大限度的方便用戶使用;並且在閒暇期間,該聯接只是一個靜默的心跳聯接,不會浪費帶寬。另外,通過對Push消息進行加密,避免應用程式提供自己的加密工具,使得應用程式簡單化。
【專利說明】一種動態消息推送方法及其系統、服務端、客戶端
【技術領域】
[0001]本發明涉及網絡通信領域,尤其涉及一種動態消息推送方法及其系統、服務端、客戶端。
【背景技術】
[0002]在傳統的客戶/瀏覽器模式中,客戶端向服務端請求服務或信息,服務端通過向客戶端傳送信息做響應。這種稱為「Pull」技術:客戶端從服務端「拉」信息。瀏覽器Web網頁就是拉技術的一個典型實例,用戶輸入一個URL地址給服務端作為請求,服務端通過給客戶端發送Web頁面作為響應。與之相對,還有一種被稱為「Push」的「推」技術,也基於客戶端/服務端模型,但是在服務端給客戶端傳送消息前沒有客戶端明確的請求。也即是說,「拉」的消息傳送總是由客戶端發起,而「推」則由服務端發起。
[0003]目前,通常採用的更新來自服務端的消息方式,主要包括以下幾種:
[0004]一、短輪詢,也稱高頻輪詢。這種方式具體是指由客戶端以固定(或可配置)的時間間隔與服務端聯繫,查找是否有新更新可用。
[0005]二、長輪詢。這種方式也是由客戶端建立聯接,但由服務端阻塞聯接,有數據可用時,服務端將通過阻塞的聯接發送數據,隨後關閉聯接。客戶端接收到數據後,重新建立聯接,服務端重複此過程。
[0006]三、流通道。這種方式與第二種長輪詢大致相同,不同的是服務端不會關閉響應流,而是特意保持其處於打開狀態,使瀏覽器認為還有更多數據即將到來。
[0007]四、signal。Signal是微軟支持的一個運行在Dot NET平臺上的html websocket框架,其主要目的是實現服務端主動推送(Push)消息到客戶端頁面,這樣客戶端就不必重新發送請求或者使用輪詢技術來獲取消息。
[0008]上述的這四種方式雖然都得到應用,但都缺乏可伸縮性。典型情況下,要阻塞一個請求,您需要阻塞處理請求的線程,因為如今幾乎所有應用伺服器都會執行阻塞I/o。即便不是這樣,Java?2Platform, Enterprise Edit1n (J2EE)也未提供為HTTP請求和響應執行非阻塞I/O的標準。因此,需要具備非阻塞I/O (N1)服務端,客戶端應用程式通過它進行聯接。由於此類套接字是純TCP 二進位套接字,因而將實現以下目標:
[0009].由於服務端具有ΝΙ0,因而可實現更高的可伸縮性。
[0010].響應緩存的問題不復存在,因為這個套接字直接受應用程式的控制。
[0011]雖然上述方式滿足了可伸縮性,也解決了緩存的問題,但通常情況下,服務端套接字將在80以外的埠上運行,但若客戶端的防火牆僅允許來自埠 80的流量時,就必須要進行埠配置,從而使得使用不方便。另一方面,由於上述方法採用的是二進位TCP套接字,使得應用程式無法真正地利用HTTPS層提供的SSL安全性,因此,要求數據安全性的應用程式可能需要提供自己的加密工具對數據進行加密,從而增加數據流量,也使得數據處理過程複雜化。
【發明內容】
[0012]有鑑於此,本發明提供了一種動態消息推送方法及其系統、客戶端和服務端,利用flash做socket的功能,建立起客戶端與服務端之間的實時連接,避免埠配置的問題,也無需客戶端安裝任何額外插件使得最大限度的方便用戶使用;並且在閒暇期間,該聯接只是一個靜默的心跳聯接,不會浪費帶寬。
[0013]本發明通過以下技術手段解決上述技術問題:
[0014]本發明提供了一種動態信息推送方法,包括步驟:
[0015]通過flash插件與服務端建立通信聯接;
[0016]通過該flash插件接收服務端發送來的Push消息;所述Push消息是服務端根據所存儲的最新的數據信息所生成的;
[0017]解析所述Push消息並控制頁面顯示;其中,
[0018]所述通過flash插件與服務端建立通信聯接的步驟,具體包括步驟:
[0019]客戶端頁面預先加載flash插件;
[0020]由flash插件自動向服務端發送通信聯接請求;
[0021]由flash插件接收服務端返回的聯接請求應答,並建立通信聯接,該聯接請求應答包括套接字策略文件和信道標識。
[0022]其中,所述Push消息是由服務端產生的,且經過加密的,所述解析所述Push消息並控制頁面顯示的步驟之前,還包括步驟:所述該Flash插件調用js方法解密經過加密的所述Push消息。
[0023]本發明還提供了一種動態消息推送方法,其特徵在於,包括步驟:
[0024]通過客戶端的flash插件與客戶端建立通信聯接;
[0025]根據存儲的最新的數據信息生成Push消息;
[0026]通過與客戶端建立的通信聯接將該Push消息發送至客戶端;其中,所述根據存儲的最新的數據信息生成Push消息的步驟,具體包括步驟:
[0027]接收客戶端或者第三方發送來的新的數據信息,並更新所存儲的數據信息,得到最新的數據信息;
[0028]實時查詢所存儲的數據信息的變更狀態;
[0029]根據查詢結果獲取所存儲的最新的數據信息及其對應的信道標識;
[0030]根據獲取的最新的數據信息生成Push消息。
[0031]進一步地,所述根據存儲的的最新的數據信息生成Push消息的步驟之後,還包括步驟:對生成的Push消息進行加密。
[0032]相應地,本發明還提供了一種客戶端,其包括:
[0033]第一通信模塊,用於預先加載flash插件,並通過該flash插件與服務端建立通信聯接,以及通過該flash插件接收服務端發送來的Push消息;該Push消息是由服務端根據存儲的最新的數據信息生成的;
[0034]控制模塊,用於解析該第一通信模塊所接收的Push消息,並控制頁面顯示。
[0035]進一步地,所述Push消息是由服務端生成的,且經過加密的,所述控制模塊還用於在解析該Push消息之前,控制所述flash插件調用js方法對該加密的Push消息進行解
LU O
[0036]相應地,本發明還提供了一種服務端,其包括:
[0037]資料庫伺服器,用於存儲數據信息;
[0038]推送伺服器,與該資料庫伺服器相連,該推送伺服器包括:
[0039]第二通信模塊,用於通過客戶端的flash插件與客戶端建立通信聯接;
[0040]消息推送模塊,用於根據資料庫伺服器存儲的最新的數據信息生成Push消息,以及通過所建立的與客戶端之間的通信聯接,向客戶端發送Push消息;其中,所述第二通信模塊包括:
[0041]請求接收子模塊,用於接收客戶端通過flash插件自動發送來通信聯接請求;
[0042]請求應答子模塊,根據該通信聯接請求,生成聯接請求應答,該聯接請求應答包括套接字策略文件和信道標識。
[0043]其中,所述消息推送模塊具體包括:
[0044]查詢子模塊,用於實時查詢資料庫伺服器中的數據的更新狀態;
[0045]獲取子模塊,用於根據查詢結果獲取資料庫伺服器中最新的數據信息及存儲的對應的信道標識;
[0046]消息生成子模塊,用於根據數據獲取子模塊所獲取的數據信息生成Push消息,並根據所獲取的對應的信道標識,將生成的該Push消息通過第二通信模塊發送至客戶端;和/或
[0047]加密子模塊,用於在所述消息生成子模塊將生成的Push消息發送至客戶端之前,對該Push消息進行加密。
[0048]相應地,本發明還提供了一種動態消息推送系統,包括上述的客戶端以及上述的服務端,其中,
[0049]所述客戶端通過預先加載的Flash插件自動與服務端建立通信聯接,並接收服務端通過該通信連接發送來的經過加密的Push消息,再解析該Push消息並控制頁面顯示;
[0050]所述服務端通過客戶端的flash插件與客戶端建立通信聯接,並通過該通信聯接向客戶端發送Push消息。
[0051 ] 實施本發明的有益效果:
[0052]本發明通過客戶端的flash插件自動與服務端建立通信連接,並由該flash插件來接收服務端發送來的push消息,即通過利用flash做socket的功能,建立起客戶端與服務端之間的實時連接,避免埠配置的問題,也無需客戶端安裝任何額外插件使得最大限度的方便用戶使用;並且在閒暇期間,該聯接只是一個靜默的心跳聯接,不會浪費帶寬。另夕卜,通過對Push消息進行加密,避免應用程式提供自己的加密工具,使得應用程式簡單化。
【專利附圖】
【附圖說明】
[0053]圖1為本發明的一種動態消息推送方法的實施例一的流程圖;
[0054]圖2為本發明的一種動態消息推送方法中步驟S201的一實施例的流程圖;
[0055]圖3為本發明的一種動態消息推送方法的實施例二的流程圖;
[0056]圖4為本發明的一種動態消息推送方法的實施例三的流程圖;
[0057]圖5為本發明的一種動態消息推送方法的步驟S301的一實施例的流程圖;
[0058]圖6為本發明的一種動態消息推送方法的一具體實施例的流程示意圖;
[0059]圖7為本發明的一種客戶端的一實施例的功能模塊圖;
[0060]圖8為本發明的一種服務端的一實施例的功能模塊圖。
【具體實施方式】
[0061]下面詳細描述本發明的實施例,各個實施例的示例在附圖中示出,其中相同或者類似的附圖標記表示相同或類似的元件或者具有相同或者類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用於解釋本發明,而不能理解為對本發明的限制。
[0062]實施例一
[0063]參見圖1,為本發明的一種動態消息推送方法的一實施例的流程圖,具體實施時,該動態消息推送方法具體包括步驟:
[0064]S201,通過flash插件與服務端建立通信聯接。本實施例中,當用戶通過客戶端打開某一網站後,需要預先加載flash插件,然後通過該flash插件與服務端建立網絡通信聯接,具體實施時,參見圖2,該步驟S201具體包括步驟:
[0065]S2011,客戶端頁面預先加載flash插件。
[0066]S2013,由flash插件自動向服務端發送通信聯接請求。本實施例中是由該flash插件自動向服務端發送套接字聯接請求,且該套接字聯接請求中包括了唯一標識該客戶端的ID標識,以請求服務端返回套接字策略文件等,從而便於根據該套接字策略文件等信息建立起客戶端與服務端之間的通信聯接。
[0067]S2015,由該flash插件接收服務端根據該通信聯接請求返回的聯接請求應答,並建立通信聯接。本實施例中該聯接請求應答包括套接字策略文件,以及信道標識。具體實施時,當服務端接收到客戶端的通信聯接請求後,會生成相應的聯接請求應答並返回至客戶端,由客戶端的該flash插件來接收,從而根據該聯接請求應答中的套接字策略和信道標識(該信道標識唯一對應於該客戶端發送的通信聯接請求中的ID標識)與服務端建立套接字聯接,從而建立起客戶端與服務端之間的通信聯接,以便於後續接收由服務端發送來的Push消息等。
[0068]S203,通過該flash插件接收服務端發送來的Push消息。本實施例中,該Push消息是由服務端根據存儲的最新數據信息生成的,並通過步驟S201中建立的通信聯接,將生成的Push消息主動發送來的。具體實施時,當客戶端或者第三方對服務端內所存儲的數據信息有任何操作時,都會產生相應的新的數據信息,並返回至服務端,服務端則根據該新的數據信息對所存儲的數據信息進行更新,並根據最新的數據信息來生成Push消息,並主動發送至客戶端。
[0069]S205,解析該Push消息並控制頁面顯示。具體實施時,當客戶端的flash插件接收到Push消息後,客戶端頁面中的頁面腳本語言(即js)將其轉換成html標籤語言,並顯示在網頁中。
[0070]本實施例的動態消息推送方法通過客戶端的flash插件自動與服務端建立通信連接,並由該flash插件來接收服務端發送來的push消息,即通過利用flash做socket的功能,建立起客戶端與服務端之間的實時連接,避免埠配置的問題,也無需客戶端安裝任何額外插件使得最大限度的方便用戶使用;並且在閒暇期間,該聯接只是一個靜默的心跳聯接,不會浪費帶寬。
[0071]實施例二
[0072]進一步地,為了保證數據安全性,服務端自動發送來的Push消息需要經過加密,而當客戶端flash插件接收到加密的服務端發送來的Push消息後,則需要對該加密的Push消息進行解密,以得到消息內容。因此,參見圖3,本實施例中該動態消息推送方法除了包括上述實施例一的步驟S201至S205之外,在接收到服務端發送來的Push消息之後,即執行步驟S203之後,執行步驟S205之前,還包括步驟:
[0073]S207,解密服務端發送來的,經過加密的Push消息。具體實施時,該客戶端的flash插件調用js方法來解密該加密的Push消息。
[0074]實施例三
[0075]參見圖4,為本發明的一種動態消息推送方法的又一實施例的流程圖,具體實施時,本實施例的該動態消息推送方法具體包括步驟:
[0076]S301,通過客戶端的flash插件與客戶端建立通信聯接。本實施例中,是由客戶端頁面預先加載flash插件,並由該flash插件自動發起通信聯接請求的。具體實施時,參見圖5,該步驟S301具體包括步驟:
[0077]S3011,接收客戶端的flash插件自動發送來的通信聯接請求。本實施例中,客戶端的flash插件自動發送該通信聯接請求以請求服務端返回套接字策略和信道標識,從而建立客戶端與服務端之間的通信聯接,進而便於後續的Push消息的發送和接收等。
[0078]S3013,根據該通信聯接請求,向客戶端的flash插件返回聯接請求應答,以響應客戶端並建立通信聯接,該聯接請求應答包括套接字策略文件和信道標識。具體實施時,該服務端響應客戶端的套接字聯接請求以建立聯接,由於該套接字聯接請求中包括了唯一標識該客戶端的ID標識,當服務端接收到客戶端發送來的套接字聯接請求後,根據該套接字聯接請求向flash插件返回相應的聯接請求應答,其包括了生成的套接字策略文件和唯一對應與該ID標識的信道標識。
[0079]S303,根據存儲的最新的數據信息生成Push消息。本實施例中該步驟具體包括步驟:
[0080]接收客戶端頁面或者第三方發送來的新的數據信息,並更新所存儲的數據信息,具體實施時,當客戶端或者第三方對服務端內所存儲的數據信息有任何操作時,都會產生相應的新的數據信息,並返回至服務端,服務端則根據該新的數據信息對所存儲的數據信息進行更新得到最新的數據信息;實時查詢所存儲的數據信息的更新狀態,本實施例中,服務端不僅可存儲數據信息,還可存儲其對應的變更狀態,即當數據信息發生更新時,相應地,其變更狀態發生變化,從而只需要根據其變更狀態就可得到對應的數據信息是否發生了更新或者變化等;根據查詢結果獲取所存儲的最新的數據信息以及其對應的信道標識;根據獲取的最新的數據信息生成Push消息。
[0081]在一具體實施例中,當客戶端或第三方對服務端所存儲的數據信息進行相應的操作時,將會產生新的數據信息,其包括了數據內容和唯一標識該客戶端或者該發送數據的第三方的ID標識。新的數據信息產生後將返回給服務端,則服務端根據該新進行更新得到最新的數據信息,更新後,則根據該ID標識找到對應的信道標識,將最新的數據信息發送對應的給客戶端。
[0082]S305,通過步驟S301中建立的與客戶端的通信聯接將該Push消息發送給客戶端。
[0083]本實施例的動態消息推送方法通過客戶端的flash插件自動與服務端建立通信連接,由服務端提供即時消息的查詢,以及套接字對像的管理,消息推送功能並消息推送至客戶端,由客戶端的flash插件來接收,即通過利用flash做socket的功能,建立起客戶端與服務端之間的實時連接,避免埠配置的問題,也無需客戶端安裝任何額外插件使得最大限度的方便用戶使用;並且在閒暇期間,該聯接只是一個靜默的心跳聯接,不會浪費帶寬。
[0084]實施例四
[0085]進一步地,為了保證數據的安全性,服務端自動發送來的Push消息需要經過加密,而當客戶端flash插件接收到加密的服務端發送來的Push消息後,則需要對該加密的Push消息進行解密,以得到消息內容。因此,本實施例中該動態消息推送方法除了包括上述實施例一的步驟S301至S305之外,本實施例的該消息推送方法還在生成Push消息時對其進行加密,即在執行步驟S305之前,需要對步驟S303中生成的Push消息進行加密。
[0086]實施例五
[0087]下面將結合具體實施例和附圖對本發明的動態消息推送方法進行詳細說。
[0088]參見圖6,為本發明的一種動態消息推送的一具體實施例的流程圖。本實施例中的該方法具體包括步驟:
[0089]S601,用戶在客戶端打開網站。
[0090]S602,網站伺服器響應該客戶端請求顯示網頁並加載數據。
[0091]S603,客戶端網頁加載flash插件。
[0092]S604,客戶端flash插件自動發送套接字聯接請求到服務端的推送伺服器,以請求服務端的推送伺服器返回策略文件和信道標識。
[0093]S605,服務端的推送伺服器接收到該套接字聯接請求,返回聯接請求應答以建立通信聯接,該聯接請求應答包括生成的套接字策略文件及信道標識。
[0094]S606,同時還將聯接請求應答中的套接字策略文件和信道標識保存到服務端的資料庫伺服器中。
[0095]S607,用戶把商品放入購物車中。
[0096]S608,客戶端網頁調用ajax把商品信息傳入服務端的資料庫伺服器並保存更新。
[0097]S609,服務端的推送伺服器實時查詢資料庫伺服器中數據的變更狀態;
[0098]S610,推送伺服器獲取資料庫伺服器中更新後的數據信息及其對應的信道標識。
[0099]S611,推送伺服器根據一定業務規則進行邏輯處理,並把更新後的數據信息生成Push消息並加密。
[0100]S612,推送伺服器根據獲取的信道標識找到相應聯接寫入消息流以發送至客戶端flash插件。
[0101]S613,客戶端的Flash插件接收到服務端發送來Push消息,並調用前臺用戶網頁中的js (即頁面腳本語言)方法解密該Push消息,並將結果返回給前端頁面。
[0102]S613,客戶端網頁中的腳本語言(js)解析該Push消息,即將解密後的Push信息轉換成相應的html標籤語言顯示到網頁中。
[0103]實施例六
[0104]參見圖7,為本發明的一種客戶端的一實施例的功能模塊,具體實施時,本實施例中該客戶端包括:
[0105]第一通信模塊61,用於預先加載flash插件,並通過該flash插件與服務端建立通信聯接,以及通過該flash插件接收服務端發送來的Push消息;該Push消息是由服務端根據所存儲的最新的數據信息產生的;
[0106]第一通信模塊61具體可以包括:
[0107]加載子模塊,用於在客戶端頁面預先加載flash插件;
[0108]收發子模塊,用於發送由flash插件自動向服務端發送的通信聯接請求,以及接收服務端向flash插件返回的聯接請求應答,以使flash插件建立與服務端之間的通信聯接,該聯接請求應答包括套接字策略文件和信道標識。
[0109]控制模塊62,與該第一通信模塊61相連,用於解析該第一通信模塊所接收的Push消息,並控制頁面顯示。
[0110]在另一具體實施例中,為了保證數據的安全性,由服務端發送來的Push消息是經過加密的,因此,對應地,該控制模塊62還用於在解析該Push消息之前,控制flash插件調用js方法對加密的Push消息進行解密。
[0111]實施例七
[0112]參見圖8,為本發明的一種服務端的一實施例的功能模塊圖,具體實施時,本實施例中該服務端具體包括:
[0113]資料庫伺服器71,用於存儲數據信息;具體實施時,該數據服務武器71包括存儲模塊,用於存儲數據信息及其更新狀態;更新模塊,與該存儲模塊相連,用於接收客戶端或者第三方發送來的數據信息,並根據該客戶端和第三方發送來的數據信息對存儲模塊存儲的數據信息進行更新;
[0114]推送伺服器72,與該資料庫伺服器71相連,用於與客戶端的flash插件建立通信聯接,並根據資料庫伺服器所存儲的最新的數據生成Push消息,以及通過所建立的通信聯接向客戶端發送生成的Push消息。
[0115]參見圖8,本實施例中該推送伺服器72具體包括:
[0116]第二通信模塊721,用於與客戶端的flash插件建立通信聯接;具體實施時,該第二通信模塊721具體包括:請求接收子模塊,用於接收客戶端的flash插件自動發送來的通信聯接請求;應答子模塊,用於根據請求接收子模塊所接收的通信聯接請求,向客戶端的flash插件返回聯接請求應答以建立通信聯接,其中,該聯接請求應答包括了套接字策略文件和信道標識,該應答子模塊同時還將通信連接請求應答中的該套接字策略文件和信道標識存儲到資料庫伺服器71中;
[0117]消息推送模塊722,用於根據資料庫伺服器內的最新數據信息生成Push消息,以及將生成的該Push消息通過第二通信模塊721發送至客戶端。具體實施時,該消息推送模塊722包括:查詢子模塊,用於實時查詢資料庫伺服器71內的數據信息的變更狀態;獲取子模塊,與查詢子模塊相連,用於根據查詢的結果獲取最新的數據信息及其對應的信道標識;消息生成子模塊,與獲取子模塊相連,用於根據獲取的最新的數據信息生成Push消息;推送子模塊,用於將生成的該Push消息通過第二通信模塊721建立的通信聯接發送至客戶端。
[0118]在另一具體實施例中,為了保證消息的安全性,除了包括上述實施例中服務端的各個功能模塊外,該服務端的消息推送模塊722還可包括加密子模塊,與消息生成子模塊相連,用於對消息生成子模塊所生成的Push消息進行加密。
[0119]實施例八
[0120]相應地,本發明還提供了一種動態消息推送系統,具體實施時,本實施例中該動態消息推送系統包括上述實施例留中的客戶端以及實施例七中的服務端,其中,
[0121]該客戶端通過預先加載的Flash插件自動與服務端建立通信聯接,並接收服務端通過該通信連接發送來的Push消息,再解析該Push消息並控制頁面顯示;
[0122]該服務端通過客戶端的flash插件與客戶端建立通信聯接,並通過該通信聯接向客戶端發送Push消息。
[0123]在另一具體實施例中,為了保證數據安全性,該服務端在生成Push消息後還將對其進行加密,而相應地,客戶端接收到服務端發送來的經過加密的Push消息之後,在解析該Push消息之前,需要先對其進行解密。
[0124]最後說明的是,以上實施例僅用以說明本發明的技術方案而非限制,儘管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的宗旨和範圍,其均應涵蓋在本發明的權利要求範圍當中。
【權利要求】
1.一種動態信息推送方法,其特徵在於,包括步驟: 通過flash插件與服務端建立通信聯接; 通過該flash插件接收服務端發送來的Push消息;所述Push消息是服務端根據所存儲的最新的數據信息所生成的; 解析所述Push消息並控制頁面顯示;其中, 所述通過flash插件與服務端建立通信聯接的步驟,具體包括步驟: 客戶端頁面預先加載flash插件; 由flash插件自動向服務端發送通信聯接請求; 由flash插件接收服務端返回的聯接請求應答,並建立通信聯接,該聯接請求應答包括套接字策略文件和信道標識。
2.如權利要求1所述的動態消息推送方法,其特徵在於,所述Push消息是由服務端產生的,且經過加密的,所述解析所述Push消息並控制頁面顯示的步驟之前,還包括步驟: 所述該Flash插件調用js方法解密經過加密的所述Push消息。
3.一種動態消息推送方法,其特徵在於,包括步驟: 通過客戶端的flash插件與客戶端建立通信聯接; 根據存儲的最新的數據信息生成Push消息; 通過與客戶端建立的通信聯接將該Push消息發送至客戶端;其中, 所述通過客戶端的flash插件與客戶端建立通信聯接的步驟,具體包括步驟: 接收客戶端的flash插件自動發送來的通信聯接請求; 根據所述通信聯接請求,向客戶端的flash插件返回聯接請求應答以建立通信聯接,該聯接請求應答包括套接字策略文件和信道標識。
4.如權利要求3所述的動態消息推送方法,其特徵在於,所述根據存儲的最新的數據信息生成Push消息的步驟,具體包括步驟: 接收客戶端或者第三方發送來的新的數據信息,並更新所存儲的數據信息,得到最新的數據信息; 實時查詢所存儲的數據信息的變更狀態; 根據查詢結果獲取所存儲的最新的數據信息及其對應的信道標識; 根據獲取的最新的數據信息生成Push消息。
5.如權利要求3或4所述的動態消息推送方法,其特徵在於,所述根據存儲的最新的數據信息生成Push消息的步驟之後,還包括步驟: 對生成的Push消息進行加密。
6.一種客戶端,其特徵在於,包括: 第一通信模塊,用於預先加載flash插件,並通過該flash插件與服務端建立通信聯接,以及通過該flash插件接收服務端發送來的Push消息;該Push消息是由服務端根據存儲的最新的數據信息生成的; 控制模塊,用於解析該第一通信模塊所接收的Push消息,並控制頁面顯示; 第一通信模塊具體包括: 加載子模塊,用於在所述客戶端頁面預先加載所述flash插件; 收發子模塊,用於發送由該flash插件自動向服務端發送的通信聯接請求,以及接收服務端向該flash插件返回的聯接請求應答,以使該flash插件建立與服務端之間的通信聯接,該聯接請求應答包括套接字策略文件和信道標識。
7.如權利要求8所述的客戶端,其特徵在於,所述Push消息是由服務端生成的,且經過加密的,所述控制模塊還用於在解析該Push消息之前,控制所述flash插件調用js方法對該加密的Push消息進行解密。
8.一種服務端,其特徵在於,包括: 資料庫伺服器,用於存儲數據信息; 推送伺服器,與該資料庫伺服器相連,該推送伺服器包括: 第二通信模塊,用於通過客戶端的flash插件與客戶端建立通信聯接; 消息推送模塊,用於根據資料庫伺服器存儲的最新的數據信息生成Push消息,以及通過所建立的與客戶端之間的通信聯接,向客戶端發送Push消息;其中, 所述第二通信模塊包括: 請求接收子模塊,用於接收客戶端通過flash插件自動發送來通信聯接請求; 請求應答子模塊,根據該通信聯接請求,生成聯接請求應答,該聯接請求應答包括套接字策略文件和信道標識。
9.如權利要求8所述的服務端,其特徵在於,所述消息推送模塊具體包括: 查詢子模塊,用於實時查詢資料庫伺服器中的數據的更新狀態; 獲取子模塊,用於根據查詢結果獲取資料庫伺服器中最新的數據信息及存儲的對應的信道標識; 消息生成子模塊,用於根據數據獲取子模塊所獲取的數據信息生成Push消息,並根據所獲取的對應的信道標識,將生成的該Push消息通過第二通信模塊發送至客戶端;和/或加密子模塊,用於在所述消息生成子模塊將生成的Push消息發送至客戶端之前,對該Push消息進行加密。
10.一種動態消息推送系統,其特徵在於,包括如權利要求7所述的客戶端以及如權利要求8或9所述的服務端,其中, 所述客戶端通過預先加載的Flash插件自動與服務端建立通信聯接,並接收服務端通過該通信聯接發送來的經過加密的Push消息,再解析該Push消息並控制頁面顯示; 所述服務端通過客戶端的flash插件與客戶端建立通信聯接,並通過該通信聯接向客戶端發送Push消息。
【文檔編號】H04L29/06GK104519095SQ201310454040
【公開日】2015年4月15日 申請日期:2013年9月29日 優先權日:2013年9月29日
【發明者】夏德鵬 申請人:重慶新媒農信科技有限公司