消息推送、獲取方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種消息推送方法、消息獲取方法、消息推送裝置以及消息獲取裝置。
【背景技術(shù)】
[0002]當(dāng)前一些常用的數(shù)據(jù)類終端產(chǎn)品采用Web客戶端實(shí)時(shí)更新數(shù)據(jù)時(shí),數(shù)據(jù)傳輸量較大,存在對Web服務(wù)器所屬終端CPU (Central Processing Unit,中央處理器)資源占用高、網(wǎng)絡(luò)帶寬占用大以及因能量消耗較大導(dǎo)致的待機(jī)時(shí)間不足的問題。當(dāng)前手機(jī)數(shù)據(jù)卡/移動(dòng)熱點(diǎn)設(shè)備UFi等數(shù)據(jù)類終端產(chǎn)品的人機(jī)界面大量采用BS結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),極大的提高了系統(tǒng)的兼容性。但是BS結(jié)構(gòu)要求數(shù)據(jù)類終端作為Web服務(wù)器。隨著JavaScript技術(shù)的廣泛應(yīng)用,頁面面臨越來越多的實(shí)時(shí)數(shù)據(jù)更新需求,這就給Web服務(wù)器帶來較大的負(fù)載,不僅增加了硬件成本,同時(shí)耗電量與電池容量的矛盾愈加突出。傳統(tǒng)的Web Server基本都是被動(dòng)訪問式的,即數(shù)據(jù)請求是由客戶端主動(dòng)發(fā)起,客戶端不發(fā)起數(shù)據(jù)更新則Web頁面的數(shù)據(jù)無法更新。隨著Ajax技術(shù)的應(yīng)用,Web頁面可以僅實(shí)現(xiàn)部分?jǐn)?shù)據(jù)的準(zhǔn)實(shí)時(shí)更新,但是仍然需要通過不斷向服務(wù)器發(fā)出查詢請求的方式來更新對應(yīng)的頁面顯示數(shù)據(jù)。對于界面需要實(shí)時(shí)更新數(shù)據(jù)的需求,當(dāng)前主要采用的是輪詢方式,但該方式會導(dǎo)致大量的請求到達(dá)服務(wù)器,服務(wù)器的性能容易出現(xiàn)瓶頸,對于嵌入式Web服務(wù)器更是如此。近期出現(xiàn)了反向Ajax技術(shù)或服務(wù)器端推送技術(shù),其思想是將數(shù)據(jù)直接從服務(wù)器推送到瀏覽器,而不必等到瀏覽器請求數(shù)據(jù)。這種直接的數(shù)據(jù)推送能夠在一定程度上減少服務(wù)器壓力,但推送數(shù)據(jù)量仍然較多,服務(wù)器壓力較大。尤其在嵌入式系統(tǒng)上,除了 CPU負(fù)載加大的問題以外,還會導(dǎo)致終端向用戶端傳輸?shù)臄?shù)量據(jù)較大、用戶端實(shí)時(shí)顯示頁面數(shù)據(jù)時(shí)服務(wù)器負(fù)荷較高、網(wǎng)絡(luò)資源占用較多以及能量消耗較高的不足的問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題是在服務(wù)端有數(shù)據(jù)更新時(shí),目前服務(wù)端器向客戶端推送數(shù)據(jù)量較大的問題,提供一種消息推送方法、消息獲取方法、消息推送裝置以及消息獲取裝置。
[0004]根據(jù)本發(fā)明的一個(gè)方面,提供了一種消息推送方法,包括:向客戶端發(fā)送對應(yīng)數(shù)據(jù)元標(biāo)簽,數(shù)據(jù)元標(biāo)簽用于標(biāo)識數(shù)據(jù)元,數(shù)據(jù)元為具有相同特征的數(shù)據(jù)項(xiàng)的組合;當(dāng)接收到來自客戶端的數(shù)據(jù)請求時(shí),根據(jù)數(shù)據(jù)請求中攜帶的數(shù)據(jù)元標(biāo)簽查找與數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)項(xiàng);將查找到的數(shù)據(jù)項(xiàng)推送至客戶端。
[0005]其中,向客戶端發(fā)送對應(yīng)數(shù)據(jù)元標(biāo)簽包括:當(dāng)檢測到有數(shù)據(jù)項(xiàng)更新時(shí),將與更新的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽發(fā)送至客戶端;當(dāng)客戶端啟動(dòng)時(shí),將數(shù)據(jù)元標(biāo)簽列表發(fā)送至客戶端,數(shù)據(jù)元標(biāo)簽列表包含服務(wù)端的所有數(shù)據(jù)元標(biāo)簽。
[0006]其中,當(dāng)接收到來自客戶端的數(shù)據(jù)請求時(shí),根據(jù)數(shù)據(jù)請求中攜帶的數(shù)據(jù)元標(biāo)簽查找與數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)項(xiàng),具體包括:以數(shù)據(jù)請求中攜帶的數(shù)據(jù)元標(biāo)簽作為索引,查找與數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)項(xiàng)。
[0007]進(jìn)一步的,消息推送方法還包括:將查找到的數(shù)據(jù)項(xiàng)推送給客戶端之后,如果服務(wù)端不包含查找到的數(shù)據(jù)項(xiàng)與數(shù)據(jù)元的映射關(guān)系,則建立并保存查找到的數(shù)據(jù)項(xiàng)與數(shù)據(jù)元標(biāo)簽的映射關(guān)系。
[0008]進(jìn)一步的,消息推送方法還包括:在將與更新的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽發(fā)送至客戶端之后,如果客戶端當(dāng)前顯示的數(shù)據(jù)項(xiàng)為需更新的數(shù)據(jù)項(xiàng),則從服務(wù)端獲取更新的數(shù)據(jù)項(xiàng),并顯示更新的數(shù)據(jù)項(xiàng)。
[0009]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種消息獲取方法,包括:接收來自服務(wù)端的數(shù)據(jù)元標(biāo)簽;當(dāng)需從服務(wù)端獲取數(shù)據(jù)項(xiàng)時(shí),向服務(wù)端發(fā)送數(shù)據(jù)請求,數(shù)據(jù)請求中攜帶有與所需獲取的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽;接收服務(wù)端返回的數(shù)據(jù)項(xiàng)。
[0010]進(jìn)一步的,消息獲取方法還包括:在接收來自服務(wù)端的數(shù)據(jù)元標(biāo)簽之后,如果接收到的是來自服務(wù)端的數(shù)據(jù)元標(biāo)簽列表,則根據(jù)數(shù)據(jù)元標(biāo)簽列表中的數(shù)據(jù)元標(biāo)簽將自身的數(shù)據(jù)項(xiàng)劃分為多個(gè)數(shù)據(jù)元,劃分后的數(shù)據(jù)元與數(shù)據(jù)元標(biāo)簽一一對應(yīng)。
[0011]其中,當(dāng)需從服務(wù)端獲取數(shù)據(jù)項(xiàng)時(shí),根據(jù)與所需獲取的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽向服務(wù)端發(fā)送數(shù)據(jù)請求,具體包括:將數(shù)據(jù)請求以及與請求獲取的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽發(fā)送至服務(wù)端,接收服務(wù)端返回的數(shù)據(jù)項(xiàng)。
[0012]根據(jù)本發(fā)明的又一方面,提供了一種消息推送裝置,包括:第一發(fā)送模塊,用于向客戶端發(fā)送對應(yīng)數(shù)據(jù)元標(biāo)簽,數(shù)據(jù)元標(biāo)簽用于標(biāo)識數(shù)據(jù)元,數(shù)據(jù)元為具有相同特征的數(shù)據(jù)項(xiàng)的組合;查找模塊,用于當(dāng)接收到來自客戶端的數(shù)據(jù)請求時(shí),根據(jù)數(shù)據(jù)請求中攜帶的數(shù)據(jù)元標(biāo)簽查找與數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)項(xiàng);推送模塊,用于將查找到的數(shù)據(jù)項(xiàng)推送至客戶端。
[0013]其中,第一發(fā)送模塊包括:第一發(fā)送單元,用于當(dāng)檢測到有數(shù)據(jù)項(xiàng)更新時(shí),將與更新的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽發(fā)送至客戶端;第二發(fā)送單元,用于當(dāng)客戶端啟動(dòng)時(shí),將數(shù)據(jù)元標(biāo)簽列表發(fā)送至客戶端,數(shù)據(jù)元標(biāo)簽列表包含服務(wù)端的所有數(shù)據(jù)元標(biāo)簽。
[0014]其中,查找模塊具體用于,以數(shù)據(jù)請求中攜帶的數(shù)據(jù)元標(biāo)簽作為索引,查找與數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)項(xiàng)。
[0015]進(jìn)一步的,消息推送裝置還包括:建立模塊,用于將查找到的數(shù)據(jù)項(xiàng)推送給客戶端之后,如果服務(wù)端不包含查找到的數(shù)據(jù)項(xiàng)與數(shù)據(jù)元的映射關(guān)系,則建立并保存查找到的數(shù)據(jù)項(xiàng)與數(shù)據(jù)元標(biāo)簽的映射關(guān)系。
[0016]進(jìn)一步的,消息推送裝置還包括:顯示模塊,用于在將與更新的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽發(fā)送至客戶端之后,如果客戶端當(dāng)前顯示的數(shù)據(jù)項(xiàng)為需更新的數(shù)據(jù)項(xiàng),則從服務(wù)端獲取更新的數(shù)據(jù)項(xiàng),并顯示更新的數(shù)據(jù)項(xiàng)。
[0017]根據(jù)本發(fā)明的又一個(gè)方面,提供了一種消息獲取裝置,包括:第一接收模塊,用于接收來自服務(wù)端的數(shù)據(jù)元標(biāo)簽;第二發(fā)送模塊,用于當(dāng)需從服務(wù)端獲取數(shù)據(jù)項(xiàng)時(shí),向服務(wù)端發(fā)送數(shù)據(jù)請求,數(shù)據(jù)請求中攜帶有與所需獲取的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽;第二接收模塊,用于接收服務(wù)端返回的數(shù)據(jù)項(xiàng)。
[0018]進(jìn)一步的,消息獲取裝置還包括:劃分模塊,用于在接收來自服務(wù)端的數(shù)據(jù)元標(biāo)簽之后,如果接收到的是來自服務(wù)端的數(shù)據(jù)元標(biāo)簽列表,則根據(jù)數(shù)據(jù)元標(biāo)簽列表中的數(shù)據(jù)元標(biāo)簽將自身的數(shù)據(jù)項(xiàng)劃分為多個(gè)數(shù)據(jù)元,劃分后的數(shù)據(jù)元與數(shù)據(jù)元標(biāo)簽一一對應(yīng)。
[0019]其中,所述第二發(fā)送模塊具體用于,將所述數(shù)據(jù)請求以及與請求獲取的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽發(fā)送至所述服務(wù)端,接收所述服務(wù)端返回的數(shù)據(jù)項(xiàng)。
[0020]采用上述技術(shù)方案,當(dāng)服務(wù)端有更新的數(shù)據(jù)項(xiàng)時(shí),將與更新的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽發(fā)送至客戶端,當(dāng)客戶端具有數(shù)據(jù)請求時(shí),根據(jù)與請求獲取的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽從服務(wù)端獲取所需數(shù)據(jù)項(xiàng),減少了服務(wù)端向客戶端發(fā)送的數(shù)據(jù)量,從而降低了數(shù)據(jù)傳輸時(shí)對網(wǎng)絡(luò)資源的占用。
【附圖說明】
[0021]圖1是本發(fā)明實(shí)施例的消息推送方法的流程圖;
[0022]圖2a以及2b是本發(fā)明實(shí)施例的數(shù)據(jù)元數(shù)據(jù)項(xiàng)與數(shù)據(jù)元標(biāo)簽關(guān)系示意圖;
[0023]圖3是本發(fā)明實(shí)施例的消息獲取方法的流程圖;
[0024]圖4是本發(fā)明實(shí)施例的應(yīng)用于嵌入式Web Server的消息推送方法的流程圖;
[0025]圖5是本發(fā)明實(shí)施例的基于嵌入式Web Sever與架構(gòu)的關(guān)系示意圖;
[0026]圖6為本發(fā)明實(shí)施例的消息推送方法的信令流程圖;
[0027]圖7是本發(fā)明實(shí)施例的消息推送裝置的結(jié)構(gòu)框圖;
[0028]圖8是本發(fā)明實(shí)施例的消息獲取裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0029]為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對本發(fā)明進(jìn)行詳細(xì)說明如后。
[0030]圖1是本發(fā)明實(shí)施例的消息推送方法的流程圖,該消息推送方法可以在服務(wù)器端來實(shí)現(xiàn),如圖1所示,該方法包括以下具體步驟:
[0031]步驟101:向客戶端發(fā)送對應(yīng)數(shù)據(jù)元標(biāo)簽,數(shù)據(jù)元標(biāo)簽用于標(biāo)識數(shù)據(jù)元,數(shù)據(jù)元為具有相同特征的數(shù)據(jù)項(xiàng)的組合;
[0032]具體地,相同特征的數(shù)據(jù)項(xiàng)可以為業(yè)務(wù)種類相同的數(shù)據(jù)項(xiàng)。
[0033]步驟102:當(dāng)接收到來自客戶端的數(shù)據(jù)請求時(shí),根據(jù)數(shù)據(jù)請求中攜帶的數(shù)據(jù)元標(biāo)簽查找與數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)項(xiàng);
[0034]步驟103:將查找到的數(shù)據(jù)項(xiàng)推送至客戶端。
[0035]圖2a以及圖2b是本發(fā)明實(shí)施例的數(shù)據(jù)元數(shù)據(jù)項(xiàng)與數(shù)據(jù)元標(biāo)簽關(guān)系示意圖,其中,以上步驟101至103中數(shù)據(jù)項(xiàng)為用戶請求的某一數(shù)據(jù),不可再分;數(shù)據(jù)元標(biāo)簽為根據(jù)數(shù)據(jù)元的特征的類別標(biāo)識,數(shù)據(jù)元與數(shù)據(jù)元標(biāo)簽一一對應(yīng),如圖2a以及圖2b所示,數(shù)據(jù)元標(biāo)簽I與數(shù)據(jù)元標(biāo)簽2分別用于標(biāo)識不同的數(shù)據(jù)元A以及數(shù)據(jù)元B,其中數(shù)據(jù)元A包括數(shù)據(jù)項(xiàng)a、數(shù)據(jù)項(xiàng)b以及數(shù)據(jù)項(xiàng)C,數(shù)據(jù)元B包括數(shù)據(jù)項(xiàng)e、數(shù)據(jù)項(xiàng)f以及數(shù)據(jù)項(xiàng)g。
[0036]在上述步驟101中,服務(wù)端在以下兩種情況下需向其管理的客戶端下發(fā)數(shù)據(jù)元標(biāo)簽:
[0037]當(dāng)檢測到有數(shù)據(jù)項(xiàng)更新時(shí),將與更新的數(shù)據(jù)項(xiàng)對應(yīng)的數(shù)據(jù)元標(biāo)簽發(fā)送至客戶端;當(dāng)客戶端啟動(dòng)時(shí),將數(shù)據(jù)元標(biāo)簽列表發(fā)送至客戶端,該數(shù)據(jù)元標(biāo)簽列表包含服務(wù)端的所有數(shù)據(jù)元標(biāo)簽。
[0038]當(dāng)接收到來自客戶端的數(shù)據(jù)請求時(shí),根據(jù)數(shù)據(jù)請求中攜帶