本發(fā)明涉及通信領(lǐng)域的能耗管理技術(shù),具體涉及到一種實現(xiàn)能耗優(yōu)化的應(yīng)用數(shù)據(jù)消息處理方法、移動終端及系統(tǒng)。
背景技術(shù):
隨著移動互聯(lián)網(wǎng)的快速發(fā)展,目前制約移動終端發(fā)展最大的因素是能耗,經(jīng)常存在電量不足無法接入的問題。現(xiàn)有技術(shù)中對于移動終端節(jié)能的方案需對移動終端的軟硬件結(jié)構(gòu)和應(yīng)用進行改動,在一定程度上能夠減小移動終端的能耗,由于應(yīng)用多樣,對每個應(yīng)用專門進行能耗的優(yōu)化處理難以實現(xiàn),應(yīng)用成本較高,推廣門檻高。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種應(yīng)用數(shù)據(jù)消息處理方法、移動終端及系統(tǒng),能夠高效對移動終端的能耗進行優(yōu)化管理。
本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
第一方面,本發(fā)明實施例提供一種應(yīng)用數(shù)據(jù)消息處理方法,所述方法包括:
移動終端和代理服務(wù)器之間建立延時小于延時閾值的復(fù)用的連接;
當(dāng)應(yīng)用的應(yīng)用數(shù)據(jù)消息到達時,根據(jù)應(yīng)用數(shù)據(jù)消息的類型將所述應(yīng)用數(shù)據(jù)消息存入隊列;
對所述隊列進行調(diào)度;
所述隊列處于可發(fā)送狀態(tài)時,發(fā)送所述隊列中的應(yīng)用數(shù)據(jù)消息至所述代理服務(wù)器;
所述應(yīng)用數(shù)據(jù)消息用于供所述代理服務(wù)器將接收的所述應(yīng)用數(shù)據(jù)消息存入所述代理服務(wù)器維護的隊列中,發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息至目標(biāo)應(yīng) 用服務(wù)器。
優(yōu)選地,所述移動終端和代理服務(wù)器之間建立延時小于延時閾值的復(fù)用的連接,包括:
所述移動終端向多個備選代理服務(wù)器發(fā)送連接請求,計算所述移動終端與每個所述備選代理服務(wù)器的連接響應(yīng)時間tcon_n;
所述連接請求用于供每個所述備選代理服務(wù)器向應(yīng)用服務(wù)器發(fā)送連接請求,計算所述備選代理服務(wù)器與所述應(yīng)用服務(wù)器的連接響應(yīng)時間t’con_n;
所述移動終端計算所有的連接復(fù)用的鏈路的延時tcon_n+t’con_n,將延時tcon_n+t’con_n最小的鏈路作為所述移動終端建立的復(fù)用的連接,將延時最小的鏈路對應(yīng)的備選代理服務(wù)器作為所述移動終端建立復(fù)用的連接的代理服務(wù)器。
優(yōu)選地,所述根據(jù)應(yīng)用數(shù)據(jù)消息的類型將所述應(yīng)用數(shù)據(jù)消息存入隊列中,包括:
當(dāng)所述應(yīng)用數(shù)據(jù)消息的類型為連接消息時,判斷所述應(yīng)用數(shù)據(jù)消息對應(yīng)的應(yīng)用標(biāo)識是否存在于連接復(fù)用表中,若存在則將應(yīng)用數(shù)據(jù)消息存入所述連接復(fù)用表中所述應(yīng)用標(biāo)識對應(yīng)的隊列中;否則,以所述應(yīng)用標(biāo)識為索引在所述連接復(fù)用表增加一條新隊列記錄,將所述應(yīng)用數(shù)據(jù)消息存入所述新隊列記錄中所述應(yīng)用標(biāo)識對應(yīng)的隊列;
當(dāng)所述應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,根據(jù)所述應(yīng)用標(biāo)識從所述連接復(fù)用表中查找應(yīng)用標(biāo)識對應(yīng)的隊列記錄,并根據(jù)查找到的隊列記錄將所述應(yīng)用數(shù)據(jù)消息存儲到所述應(yīng)用標(biāo)識對應(yīng)的隊列中。
優(yōu)選地,所述對隊列進行調(diào)度,包括:
等待所述隊列的延遲時間到達;
隊列的延遲時間到達時,檢查信號強度是否符合預(yù)設(shè)條件,如果符合發(fā)送所述隊列中的應(yīng)用數(shù)據(jù)消息,否則,基于所述隊列中數(shù)據(jù)量和信號強度重新確定所述延遲時間。
優(yōu)選地,所述發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息至目標(biāo)應(yīng)用服務(wù)器,包 括:
所述應(yīng)用數(shù)據(jù)消息還用于供所述代理服務(wù)器確定收到所述移動終端通過連接發(fā)送的應(yīng)用數(shù)據(jù)消息、且確定所述應(yīng)用數(shù)據(jù)消息的類型為連接消息時,基于所述應(yīng)用數(shù)據(jù)消息的應(yīng)用標(biāo)識與目標(biāo)應(yīng)用服務(wù)器建立連接并基于所建立的連接發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息;
所述應(yīng)用數(shù)據(jù)消息還用于供所述代理服務(wù)器確定收到所述移動終端通過連接發(fā)送的應(yīng)用數(shù)據(jù)消息、且確定所接收的所述應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,基于所述應(yīng)用數(shù)據(jù)消息的應(yīng)用標(biāo)識將應(yīng)用的應(yīng)用數(shù)據(jù)消息轉(zhuǎn)發(fā)給目標(biāo)應(yīng)用服務(wù)器;
其中,所述應(yīng)用數(shù)據(jù)消息為所述代理服務(wù)器在所維護的隊列以及延遲時間達到特定要求時,向所述移動終端發(fā)送。
第二方面,本發(fā)明實施例提供一種移動終端,所述移動終端包括:
連接單元,用于代理服務(wù)器之間建立延時小于延時閾值的復(fù)用的連接;
隊列單元,用于當(dāng)應(yīng)用的應(yīng)用數(shù)據(jù)消息到達時,根據(jù)應(yīng)用數(shù)據(jù)消息的類型將所述應(yīng)用數(shù)據(jù)消息存入隊列;
調(diào)度單元,用于對所述隊列進行調(diào)度;
發(fā)送單元,用于當(dāng)所述隊列處于可發(fā)送狀態(tài)時,發(fā)送所述隊列中的應(yīng)用數(shù)據(jù)消息至所述代理服務(wù)器;所述應(yīng)用數(shù)據(jù)消息用于供所述代理服務(wù)器將所接收的所述應(yīng)用數(shù)據(jù)消息存入所述代理服務(wù)器維護的隊列中,并發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息至目標(biāo)應(yīng)用服務(wù)器。
優(yōu)選地,所述連接單元還用于向多個備選代理服務(wù)器發(fā)送連接請求,計算所述移動終端與每個所述備選代理服務(wù)器的連接響應(yīng)時間tcon_n;
所述連接請求用于供每個所述備選代理服務(wù)器向應(yīng)用服務(wù)器發(fā)送連接請求,計算所述備選代理服務(wù)器與所述應(yīng)用服務(wù)器的連接響應(yīng)時間t’con_n;
所述連接單元還用于計算所有的連接復(fù)用的鏈路的延時tcon_n+t’con_n,將延時tcon_n+t’con_n最小的鏈路作為所述移動終端建立的復(fù)用的連接,將延時最小的 鏈路對應(yīng)的備選代理服務(wù)器作為所述移動終端建立復(fù)用的連接的代理服務(wù)器。
優(yōu)選地,所述隊列單元,還用于當(dāng)所述應(yīng)用數(shù)據(jù)消息的類型為連接消息時,判斷所述應(yīng)用數(shù)據(jù)消息對應(yīng)的應(yīng)用標(biāo)識是否存在于連接復(fù)用表中,若存在則將應(yīng)用數(shù)據(jù)消息存入所述連接復(fù)用表中所述應(yīng)用標(biāo)識對應(yīng)的隊列中;否則,以所述應(yīng)用標(biāo)識為索引在所述連接復(fù)用表增加一條新隊列記錄,將所述應(yīng)用數(shù)據(jù)消息存入所述新隊列記錄中所述應(yīng)用標(biāo)識對應(yīng)的隊列;
所述隊列單元,還用于當(dāng)所述應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,根據(jù)所述應(yīng)用標(biāo)識從所述連接復(fù)用表中查找應(yīng)用標(biāo)識對應(yīng)的隊列記錄,并根據(jù)查找到的隊列記錄將所述應(yīng)用數(shù)據(jù)消息存儲到所述應(yīng)用標(biāo)識對應(yīng)的隊列中。
優(yōu)選地,所述調(diào)度單元,還用于等待所述隊列的延遲時間到達;
所述調(diào)度單元,還用于隊列的延遲時間到達時,檢查信號強度是否符合預(yù)設(shè)條件,如果符合發(fā)送所述隊列中的應(yīng)用數(shù)據(jù)消息,否則,基于所述隊列中數(shù)據(jù)量和信號強度重新確定所述延遲時間。
第三方面,本發(fā)明實施例提供一種應(yīng)用數(shù)據(jù)消息處理系統(tǒng),所述系統(tǒng)包括:
移動終端,用于和代理服務(wù)器之間建立延時小于延時閾值的復(fù)用的連接;當(dāng)應(yīng)用的應(yīng)用數(shù)據(jù)消息到達時,根據(jù)應(yīng)用數(shù)據(jù)消息的類型將所述應(yīng)用數(shù)據(jù)消息存入隊列;對所述隊列進行調(diào)度;所述隊列處于可發(fā)送狀態(tài)時,發(fā)送所述隊列中的應(yīng)用數(shù)據(jù)消息至所述代理服務(wù)器;
所述代理服務(wù)器,用于將接收的所述應(yīng)用數(shù)據(jù)消息存入所述代理服務(wù)器維護的隊列中,發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息至目標(biāo)應(yīng)用服務(wù)器。
本發(fā)明實施例具有以下有益效果:
1、從應(yīng)用數(shù)據(jù)消息的層面對應(yīng)用的通信進行管理,從而能夠屏蔽應(yīng)用之間的差異,也就是,無論何種應(yīng)用,應(yīng)用本發(fā)明實施例的方案都可以來自應(yīng)用的應(yīng)用數(shù)據(jù)消息進行管理;并且,對上層應(yīng)用的應(yīng)用數(shù)據(jù)消息的管理是透明的,因而無需對應(yīng)用進行修改;
2、利用智能管道特性:智能管道從底層實現(xiàn)了流量的管控和再調(diào)度,通過對底層流量的整形可以降低通信模塊的調(diào)用次數(shù),從而降低移動終端的整體能 耗;
3、計算能耗和通信能耗的折中:利用智能管道進行應(yīng)用數(shù)據(jù)消息的流量整形,減少了通信模塊調(diào)用次數(shù)和通信開銷,利用隊列的方式進行流量壓縮和流量合并等操作,減少計算開銷,實現(xiàn)了計算能耗和通信能耗的折中處理,兼顧了通信開銷和計算開銷,從整體上降低了移動終端的能耗。
附圖說明
圖1為本發(fā)明實施例中應(yīng)用數(shù)據(jù)消息處理方法的流程示意圖一;
圖2為本發(fā)明實施例中應(yīng)用數(shù)據(jù)消息處理方法的流程示意圖二;
圖3為本發(fā)明實施例中應(yīng)用數(shù)據(jù)消息處理方法的流程示意圖三;
圖4為本發(fā)明實施例中應(yīng)用數(shù)據(jù)消息處理方法的流程示意圖四;
圖5為本發(fā)明實施例中應(yīng)用數(shù)據(jù)消息處理方法的流程示意圖五;
圖6為本發(fā)明實施例中移動終端的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實施例中應(yīng)用數(shù)據(jù)消息處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
以下結(jié)合附圖及具體實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實施例針對移動終端的能耗中通信模塊占有相當(dāng)大的比重的情況,如果能夠?qū)σ苿咏K端的底層網(wǎng)絡(luò)流量特征和資源分配進行測量,能夠基于測量結(jié)果輔助通信模塊的調(diào)度,為此,本發(fā)明實施例提出基于智能管道調(diào)度移動終端的調(diào)度通信模塊來實現(xiàn)能耗優(yōu)化的目標(biāo),參見圖1示出的應(yīng)用數(shù)據(jù)消息處理方法,包括以下步驟:
步驟101,移動終端和代理服務(wù)器之間建立延時小于延時閾值的復(fù)用的連接。
移動終端向多個備選代理服務(wù)器發(fā)送連接請求,計算移動終端與每個備選代理服務(wù)器的連接響應(yīng)時間tcon_n;
連接請求用于供每個備選代理服務(wù)器向應(yīng)用服務(wù)器發(fā)送連接請求,計算備選代理服務(wù)器與應(yīng)用服務(wù)器的連接響應(yīng)時間t’con_n;
移動終端計算所有的連接復(fù)用的鏈路的延時tcon_n+t’con_n,將延時tcon_n+t’con_n最小的鏈路作為移動終端建立的復(fù)用的連接,將延時最小的鏈路對應(yīng)的代理服務(wù)器作為移動終端建立復(fù)用的連接的服務(wù)器。
步驟102,當(dāng)應(yīng)用的應(yīng)用數(shù)據(jù)消息到達時,根據(jù)應(yīng)用數(shù)據(jù)消息的類型將應(yīng)用數(shù)據(jù)消息存入隊列。
當(dāng)應(yīng)用數(shù)據(jù)消息的類型為連接消息時,判斷應(yīng)用數(shù)據(jù)消息對應(yīng)的應(yīng)用標(biāo)識是否存在于連接復(fù)用表中,若存在則將應(yīng)用數(shù)據(jù)消息存入連接復(fù)用表中應(yīng)用標(biāo)識對應(yīng)的隊列中;否則,以應(yīng)用標(biāo)識為索引在連接復(fù)用表增加一條新隊列記錄,將應(yīng)用數(shù)據(jù)消息存入新隊列記錄中應(yīng)用標(biāo)識對應(yīng)的隊列;
當(dāng)應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,根據(jù)應(yīng)用標(biāo)識從連接復(fù)用表中查找應(yīng)用標(biāo)識對應(yīng)的隊列記錄,并根據(jù)查找到的隊列記錄將應(yīng)用數(shù)據(jù)消息存儲到應(yīng)用標(biāo)識對應(yīng)的隊列中。
步驟103,對隊列進行調(diào)度。
等待隊列的延遲時間到達;
隊列的延遲時間到達時,檢查信號強度是否符合預(yù)設(shè)條件,如果符合發(fā)送隊列中的應(yīng)用數(shù)據(jù)消息,否則,基于隊列中數(shù)據(jù)量和信號強度重新確定延遲時間。
步驟104,隊列處于可發(fā)送狀態(tài)時,發(fā)送隊列中的應(yīng)用數(shù)據(jù)消息至代理服務(wù)器。
應(yīng)用數(shù)據(jù)消息用于供代理服務(wù)器將接收的應(yīng)用數(shù)據(jù)消息存入代理服務(wù)器維護的隊列中,發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息至目標(biāo)應(yīng)用服務(wù)器。代理服務(wù)器接確定收到移動終端通過連接發(fā)送的應(yīng)用數(shù)據(jù)消息、且確定應(yīng)用數(shù)據(jù)消息的類型為連接消息時,基于應(yīng)用數(shù)據(jù)消息的應(yīng)用標(biāo)識與目標(biāo)應(yīng)用服務(wù)器建立連接并基于所建立的連接發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息;代理服務(wù)器接確 定收到移動終端通過連接發(fā)送的應(yīng)用數(shù)據(jù)消息、且確定所接收的應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,基于應(yīng)用數(shù)據(jù)消息的應(yīng)用標(biāo)識將應(yīng)用的應(yīng)用數(shù)據(jù)消息轉(zhuǎn)發(fā)給目標(biāo)應(yīng)用服務(wù)器;其中,應(yīng)用數(shù)據(jù)消息為代理服務(wù)器在所維護的隊列以及延遲時間達到特定要求時,向移動終端發(fā)送。
圖2是本發(fā)明實施例提供的一種實現(xiàn)能耗優(yōu)化的應(yīng)用數(shù)據(jù)消息的流程示意圖,包括以下步驟:
步驟201,移動終端啟動后,通過中間件的方式和代理服務(wù)器之間建立低延時(延時小于延時閾值)的復(fù)用的連接。
后續(xù)的應(yīng)用數(shù)據(jù)消息(應(yīng)用的數(shù)據(jù))將通過連接進行傳遞(參見針對圖2的說明),連接可以為多個應(yīng)用所復(fù)用以傳輸應(yīng)用數(shù)據(jù)消息。
步驟202,上層應(yīng)用的應(yīng)用數(shù)據(jù)消息到達。
步驟203,移動終端獲取與應(yīng)用數(shù)據(jù)消息相關(guān)的應(yīng)用(也就是應(yīng)用數(shù)據(jù)消息的來源應(yīng)用)標(biāo)識和應(yīng)用數(shù)據(jù)消息的類型。
步驟204,判斷應(yīng)用數(shù)據(jù)消息的類型是連接消息還是協(xié)議消息,若為連接消息則執(zhí)行步驟205,若是協(xié)議消息則執(zhí)行步驟206。
應(yīng)用數(shù)據(jù)消息的類型表征是終端和代理服務(wù)器之間定義的協(xié)議的類型,應(yīng)用數(shù)據(jù)消息的類型包括連接消息、協(xié)議消息兩大類。
步驟205,應(yīng)用數(shù)據(jù)消息的類型為連接消息(代表新建連接),判斷應(yīng)用數(shù)據(jù)消息對應(yīng)的應(yīng)用標(biāo)識(也就是應(yīng)用數(shù)據(jù)消息的來源應(yīng)用的標(biāo)識)是否存在于連接復(fù)用表中,也就是判斷連接復(fù)用表中是否存在與應(yīng)用標(biāo)識對應(yīng)的隊列記錄;若存在則執(zhí)行步驟209并轉(zhuǎn)入步驟210;否則執(zhí)行步驟207和步驟208,并轉(zhuǎn)入步驟210。
連接復(fù)用表中存儲與應(yīng)用標(biāo)識對應(yīng)的隊列記錄,當(dāng)一個應(yīng)用的應(yīng)用數(shù)據(jù)消息存入一個隊列后,連接復(fù)用表中添加有應(yīng)用標(biāo)識對應(yīng)的隊列的記錄(簡稱隊列記錄)。
步驟206,將應(yīng)用數(shù)據(jù)消息存入隊列記錄中應(yīng)用標(biāo)識對應(yīng)的隊列。
步驟207,以應(yīng)用標(biāo)識為索引在連接復(fù)用表增加一條新隊列記錄。
步驟208,將應(yīng)用數(shù)據(jù)消息存入新隊列記錄(新隊列記錄中存儲有應(yīng)用標(biāo)識對應(yīng)隊列的隊列標(biāo)識)中應(yīng)用標(biāo)識對應(yīng)的隊列。
如前所述,連接可以復(fù)用:多個應(yīng)用可共用一個連接,當(dāng)然,多個應(yīng)用也可以對應(yīng)使用多個不同的連接。
一個應(yīng)用的應(yīng)用數(shù)據(jù)消息在一條隊列中存儲,一條隊列可存儲多個應(yīng)用的待傳遞的應(yīng)用數(shù)據(jù)消息,隊列的記錄(簡稱隊列記錄)中包括傳輸隊列中應(yīng)用數(shù)據(jù)消息的必要信息,隊列記錄中包括:應(yīng)用標(biāo)識、連接通道號(也就是連接的標(biāo)識)、轉(zhuǎn)發(fā)服務(wù)器(也就是轉(zhuǎn)發(fā)隊列中的應(yīng)用數(shù)據(jù)消息的服務(wù)器)地址、轉(zhuǎn)發(fā)服務(wù)器端口。
隊列記錄的一個示例為:應(yīng)用標(biāo)識、連接通道號、轉(zhuǎn)發(fā)服務(wù)器網(wǎng)際協(xié)議(ip)地址、轉(zhuǎn)發(fā)服務(wù)器端口;連接通道號的一個示例為:隊列(標(biāo)識)+傳輸控制協(xié)議(tcp)+連接的套接字(socket號);在一個隊列記錄中,連接通道號是用于傳輸應(yīng)用標(biāo)識對應(yīng)隊列中的應(yīng)用數(shù)據(jù)消息的連接的編號。
可選地,移動終端在緩存中維護的隊列的數(shù)量可以有多個,維護多個隊列是為了調(diào)度的優(yōu)先級和系統(tǒng)性能,避免維護單個隊列溢出的情況。
步驟209,若應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息,則根據(jù)應(yīng)用標(biāo)識從連接復(fù)用表中查找應(yīng)用標(biāo)識對應(yīng)的隊列記錄,并根據(jù)查找到的隊列記錄(隊列記錄中存儲有應(yīng)用標(biāo)識對應(yīng)隊列的隊列標(biāo)識)將應(yīng)用數(shù)據(jù)消息存儲到應(yīng)用標(biāo)識對應(yīng)的隊列中。
步驟210,隊列調(diào)度。
應(yīng)用的應(yīng)用數(shù)據(jù)消息進行對應(yīng)的隊列(根據(jù)連接復(fù)用表中應(yīng)用的應(yīng)用標(biāo)識所對應(yīng)的隊列標(biāo)識確定)后不是處于應(yīng)用而是進入調(diào)度狀態(tài),在調(diào)度狀態(tài)中,根據(jù)移動終端的信號強度和隊列的數(shù)據(jù)量的大小決定隊列中的應(yīng)用數(shù)據(jù)消息發(fā)送的延遲時間tdelay,在延遲時間tdelay到達后進行發(fā)送隊列中的應(yīng)用數(shù)據(jù)消息。
以下以一個隊列的調(diào)度為例進行說明,對于維護有多個隊列的情況可以參照以下一個隊列的調(diào)度而實施,參見圖3,隊列調(diào)度包括以下步驟:
步驟301,隊列進入調(diào)度狀態(tài)。
根據(jù)移動終端的信號強度和隊列的數(shù)據(jù)量的大小決定隊列中的應(yīng)用數(shù)據(jù)消息發(fā)送的延遲時間tdelay。
步驟302,等待隊列的延遲時間到達。
隊列的延遲時間到達時,隊列中的應(yīng)用數(shù)據(jù)消息處于可發(fā)送狀態(tài),移動終端中的無線通信模塊將從睡眠態(tài)切換到活躍態(tài),準(zhǔn)備對隊列中的應(yīng)用數(shù)據(jù)消息進行發(fā)送。
步驟304,檢查信號強度是否符合預(yù)設(shè)條件,如果符合,執(zhí)行步驟305;否則,執(zhí)行步驟306和步驟307。
步驟305,發(fā)送隊列中的應(yīng)用數(shù)據(jù)消息。
隊列中的應(yīng)用數(shù)據(jù)消息的延遲時間tdelay到達之前的一個時間段tsig中,移動終端開啟對信號強度的檢測,當(dāng)信號強度符合預(yù)設(shè)條件時,如小于-80dbm,立即對隊列中的應(yīng)用數(shù)據(jù)消息進行發(fā)送至代理服務(wù)器。
步驟306,計算隊列中應(yīng)用數(shù)據(jù)的數(shù)據(jù)包數(shù)量。
步驟307,基于數(shù)據(jù)包數(shù)據(jù)量和信號強度重新確定延遲時間。
若信號強度未達到預(yù)設(shè)條件,則檢測信號強度大小和信道當(dāng)前的擁塞程度,對移動終端信號強度進行多次分時間段采樣,可以得出信號強度經(jīng)驗分布模型。
設(shè)移動終端信號強度處于該合適范圍的概率為psig,那么
步驟211,應(yīng)用休眠。
當(dāng)應(yīng)用標(biāo)識對應(yīng)的隊列為空,且延遲時間tdelay小于應(yīng)用超時定時器t0的一半時,執(zhí)行步驟211,應(yīng)用標(biāo)識對應(yīng)的應(yīng)用處于休眠狀態(tài);當(dāng)應(yīng)用標(biāo)識對應(yīng)的隊列的長度超過總長度的一半,或延遲時間tdelay時間超過應(yīng)用定時器t0的2/3時,應(yīng)用標(biāo)識對應(yīng)的隊列處于可發(fā)送狀態(tài),移動終端發(fā)送隊列中的應(yīng)用數(shù)據(jù)消 息至代理服務(wù)器。
步驟212,代理服務(wù)器中轉(zhuǎn)。
代理服務(wù)器接收到移動終端通過連接發(fā)送的應(yīng)用數(shù)據(jù)消息(使用合并的數(shù)據(jù)包承載)后,當(dāng)應(yīng)用數(shù)據(jù)消息的類型為連接消息時,基于應(yīng)用標(biāo)識與目標(biāo)應(yīng)用服務(wù)器建立連接(對應(yīng)新建連接)并向目標(biāo)應(yīng)用服務(wù)器發(fā)送對應(yīng)應(yīng)用標(biāo)識的應(yīng)用數(shù)據(jù)消息(使用合并的數(shù)據(jù)包承載);當(dāng)應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,基于應(yīng)用標(biāo)識將應(yīng)用的應(yīng)用數(shù)據(jù)消息(使用合并的數(shù)據(jù)包承載)轉(zhuǎn)發(fā)給目標(biāo)應(yīng)用服務(wù)器。
當(dāng)代理服務(wù)器收到目標(biāo)應(yīng)用服務(wù)器的應(yīng)用數(shù)據(jù)消息后,將應(yīng)用數(shù)據(jù)消息存儲在隊列中,當(dāng)隊列和延遲時間達到特定要求時(滿足服務(wù)不中斷的延時要求,隊列可容納數(shù)據(jù)未引起丟包),向移動終端發(fā)送應(yīng)用數(shù)據(jù)消息。
通過上述應(yīng)用流量整形后,移動終端的業(yè)務(wù)流特征發(fā)生了變化,原有基于應(yīng)用類型的智能管道策略將不再適用,為此在移動終端與代理服務(wù)器之間將在同一連接上,根據(jù)不同隊列類型,對相關(guān)的流量采用基于實時等級的智能管道策略,優(yōu)先保證高實時性業(yè)務(wù)和即將超時業(yè)務(wù)的需求。
參見圖4,在上述步驟201中,建立低延時的復(fù)用的連接過程包括以下步驟:
步驟401:移動終端向多個備選的代理服務(wù)器發(fā)送連接請求,計算移動終端與每個備選代理服務(wù)器的連接響應(yīng)時間tcon_n。
步驟402:多個備選代理服務(wù)器向應(yīng)用服務(wù)器發(fā)送連接請求,計算備選代理服務(wù)器與應(yīng)用服務(wù)器的連接響應(yīng)時間t’con_n。
步驟403:計算所有可能的連接復(fù)用的鏈路的延時tcon_n+t’con_n,將延時最小的鏈路作為移動終端建立的復(fù)用的連接,將延時最小的鏈路對應(yīng)的代理服務(wù)器作為移動終端建立復(fù)用的連接的服務(wù)器。
在上述步驟203中,對于應(yīng)用數(shù)據(jù)消息的不同類型的處理方法如圖5所示,包括以下步驟:
步驟501:應(yīng)用數(shù)據(jù)消息到達。
步驟502,判斷應(yīng)用數(shù)據(jù)消息的類型,如為連接消息,執(zhí)行步驟503和步驟504,如果為協(xié)議消息執(zhí)行步驟505。
步驟503,若為連接消息,則針對應(yīng)用的應(yīng)用標(biāo)識新分配一個連接通道號,同時建立虛擬的連接通道,并在連接復(fù)用映射表添加新隊列記錄。
隊列記錄的示例為:應(yīng)用標(biāo)識;連接通道號;轉(zhuǎn)發(fā)服務(wù)器(也就是轉(zhuǎn)發(fā)隊列中的應(yīng)用數(shù)據(jù)消息的服務(wù)器)地址;轉(zhuǎn)發(fā)服務(wù)器端口。
步驟504,將應(yīng)用數(shù)據(jù)消息存入新隊列記錄(新隊列記錄中存儲有應(yīng)用標(biāo)識對應(yīng)隊列的隊列標(biāo)識)中應(yīng)用標(biāo)識對應(yīng)的隊列。
步驟505,若為協(xié)議消息,則查找該應(yīng)用標(biāo)識對應(yīng)的虛擬的連接通道號,并將應(yīng)用數(shù)據(jù)消息轉(zhuǎn)發(fā)到連接通道號對應(yīng)的隊列中進行排隊。
與前述實施例的記載對應(yīng),本發(fā)明實施例還記載一種移動終端100用實施前述的應(yīng)用數(shù)據(jù)消息處理方法以實現(xiàn)能耗優(yōu)化管理,參見圖6,移動終端100包括:
連接單元101,用于代理服務(wù)器之間建立延時小于延時閾值的復(fù)用的連接;
隊列單元102,用于當(dāng)應(yīng)用的應(yīng)用數(shù)據(jù)消息到達時,根據(jù)應(yīng)用數(shù)據(jù)消息的類型將所述應(yīng)用數(shù)據(jù)消息存入隊列;
調(diào)度單元103,用于對所述隊列進行調(diào)度;
發(fā)送單元104,用于當(dāng)所述隊列處于可發(fā)送狀態(tài)時,發(fā)送所述隊列中的應(yīng)用數(shù)據(jù)消息至所述代理服務(wù)器;所述應(yīng)用數(shù)據(jù)消息用于供所述代理服務(wù)器將所接收的所述應(yīng)用數(shù)據(jù)消息存入所述代理服務(wù)器維護的隊列中,并發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息至目標(biāo)應(yīng)用服務(wù)器。
所述連接單元101還用于向多個備選代理服務(wù)器發(fā)送連接請求,計算所述移動終端100與每個所述備選代理服務(wù)器的連接響應(yīng)時間tcon_n;
所述連接請求用于供每個所述備選代理服務(wù)器向應(yīng)用服務(wù)器發(fā)送連接請求,計算所述備選代理服務(wù)器與所述應(yīng)用服務(wù)器的連接響應(yīng)時間t’con_n;
所述連接單元101還用于計算所有的連接復(fù)用的鏈路的延時tcon_n+t’con_n,將延時tcon_n+t’con_n最小的鏈路作為所述移動終端100建立的復(fù)用的連接,將延時最小的鏈路對應(yīng)的代理服務(wù)器作為所述移動終端100建立復(fù)用的連接的服務(wù)器。
所述隊列單元102,還用于當(dāng)所述應(yīng)用數(shù)據(jù)消息的類型為連接消息時,判斷所述應(yīng)用數(shù)據(jù)消息對應(yīng)的應(yīng)用標(biāo)識是否存在于連接復(fù)用表中,若存在則將應(yīng)用數(shù)據(jù)消息存入所述連接復(fù)用表中所述應(yīng)用標(biāo)識對應(yīng)的隊列中;否則,以所述應(yīng)用標(biāo)識為索引在所述連接復(fù)用表增加一條新隊列記錄,將所述應(yīng)用數(shù)據(jù)消息存入所述新隊列記錄中所述應(yīng)用標(biāo)識對應(yīng)的隊列;
所述隊列單元102,還用于當(dāng)所述應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,根據(jù)所述應(yīng)用標(biāo)識從所述連接復(fù)用表中查找應(yīng)用標(biāo)識對應(yīng)的隊列記錄,并根據(jù)查找到的隊列記錄將所述應(yīng)用數(shù)據(jù)消息存儲到所述應(yīng)用標(biāo)識對應(yīng)的隊列中。
所述調(diào)度單元103,還用于等待所述隊列的延遲時間到達;
所述調(diào)度單元103,還用于隊列的延遲時間到達時,檢查信號強度是否符合預(yù)設(shè)條件,如果符合發(fā)送所述隊列中的應(yīng)用數(shù)據(jù)消息,否則,基于所述隊列中數(shù)據(jù)量和信號強度重新確定所述延遲時間。
圖6示出的移動終端100中的各功能單元是對移動終端100功能模塊層面的一個可選的架構(gòu)示意,實際應(yīng)用中可以劃分為兩個功能模塊或者劃分為四個以上的功能模塊,對于圖6示出的功能模塊可由處理器、微處理器(mcu)通過執(zhí)行存儲于計算機存儲介質(zhì)中的可執(zhí)行指令實現(xiàn),或者通過專用集成電路(asic)或邏輯可編程門陣列(fpga)實現(xiàn)。
本發(fā)明實施例還記載一種用于實現(xiàn)能耗優(yōu)化的應(yīng)用數(shù)據(jù)消息處理系統(tǒng),參見圖7,所述系統(tǒng)包括:移動終端100和至少一個代理服務(wù)器200。
移動終端100,用于和代理服務(wù)器200之間建立延時小于延時閾值的復(fù)用的連接;當(dāng)應(yīng)用的應(yīng)用數(shù)據(jù)消息到達時,根據(jù)應(yīng)用數(shù)據(jù)消息的類型將所述應(yīng)用數(shù)據(jù)消息存入隊列;對所述隊列進行調(diào)度;所述隊列處于可發(fā)送狀態(tài)時,發(fā)送 所述隊列中的應(yīng)用數(shù)據(jù)消息至所述代理服務(wù)器200;
所述代理服務(wù)器200,用于將接收的所述應(yīng)用數(shù)據(jù)消息存入所述代理服務(wù)器200維護的隊列中,發(fā)送所維護的隊列中的應(yīng)用數(shù)據(jù)消息至目標(biāo)應(yīng)用服務(wù)器。
所述移動終端100還用于向多個備選代理服務(wù)器200發(fā)送連接請求,計算所述移動終端100與每個所述備選代理服務(wù)器200的連接響應(yīng)時間tcon_n;
所述備選代理服務(wù)器200,還用于向應(yīng)用服務(wù)器發(fā)送連接請求,計算所述備選代理服務(wù)器200與所述應(yīng)用服務(wù)器的連接響應(yīng)時間t’con_n;
所述移動終端100,還用于計算所有的連接復(fù)用的鏈路的延時tcon_n+t’con_n,將延時tcon_n+t’con_n最小的鏈路作為所述移動終端100建立的復(fù)用的連接,將延時最小的鏈路對應(yīng)的備選的代理服務(wù)器200作為所述移動終端100建立復(fù)用的連接的服務(wù)器。
所述移動終端100還用于當(dāng)所述應(yīng)用數(shù)據(jù)消息的類型為連接消息時,判斷所述應(yīng)用數(shù)據(jù)消息對應(yīng)的應(yīng)用標(biāo)識是否存在于連接復(fù)用表中,若存在則將應(yīng)用數(shù)據(jù)消息存入所述連接復(fù)用表中所述應(yīng)用標(biāo)識對應(yīng)的隊列中;否則,以所述應(yīng)用標(biāo)識為索引在所述連接復(fù)用表增加一條新隊列記錄,將所述應(yīng)用數(shù)據(jù)消息存入所述新隊列記錄中所述應(yīng)用標(biāo)識對應(yīng)的隊列;
所述移動終端100還用于當(dāng)所述應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,根據(jù)所述應(yīng)用標(biāo)識從所述連接復(fù)用表中查找應(yīng)用標(biāo)識對應(yīng)的隊列記錄,并根據(jù)查找到的隊列記錄將所述應(yīng)用數(shù)據(jù)消息存儲到所述應(yīng)用標(biāo)識對應(yīng)的隊列中。
所述移動終端100還用于等待所述隊列的延遲時間到達;
隊列的延遲時間到達時,檢查信號強度是否符合預(yù)設(shè)條件,如果符合發(fā)送所述隊列中的應(yīng)用數(shù)據(jù)消息,否則,基于所述隊列中數(shù)據(jù)量和信號強度重新確定所述延遲時間。
所述代理服務(wù)器200還用于確定收到所述移動終端100通過連接發(fā)送的應(yīng)用數(shù)據(jù)消息、且確定所述應(yīng)用數(shù)據(jù)消息的類型為連接消息時,基于所述應(yīng)用數(shù)據(jù)消息的應(yīng)用標(biāo)識與目標(biāo)應(yīng)用服務(wù)器建立連接并基于所建立的連接發(fā)送所維護 的隊列中的應(yīng)用數(shù)據(jù)消息;所述代理服務(wù)器200還用于確定收到所述移動終端100通過連接發(fā)送的應(yīng)用數(shù)據(jù)消息、且確定所接收的所述應(yīng)用數(shù)據(jù)消息的類型為協(xié)議消息時,基于所述應(yīng)用數(shù)據(jù)消息的應(yīng)用標(biāo)識將應(yīng)用的應(yīng)用數(shù)據(jù)消息轉(zhuǎn)發(fā)給目標(biāo)應(yīng)用服務(wù)器;其中,所述應(yīng)用數(shù)據(jù)消息為所述代理服務(wù)器200在所維護的隊列以及延遲時間達到特定要求時,向所述移動終端100發(fā)送。
綜上所述,本發(fā)明實施例具有以下有益效果:
1、從應(yīng)用數(shù)據(jù)消息的層面對應(yīng)用的通信進行管理,從而能夠屏蔽應(yīng)用之間的差異,也就是,無論何種應(yīng)用,應(yīng)用本發(fā)明實施例的方案都可以來自應(yīng)用的應(yīng)用數(shù)據(jù)消息進行管理;并且,對上層應(yīng)用的應(yīng)用數(shù)據(jù)消息的管理是透明的,因而無需對應(yīng)用進行修改;
2、利用智能管道特性:智能管道從底層實現(xiàn)了流量的管控和再調(diào)度,通過對底層流量的整形可以降低通信模塊的調(diào)用次數(shù),從而降低移動終端的整體能耗;
3、計算能耗和通信能耗的折中:利用智能管道進行應(yīng)用數(shù)據(jù)消息的流量整形,減少了通信模塊調(diào)用次數(shù)和通信開銷,利用隊列的方式進行流量壓縮和流量合并等操作,減少計算開銷,實現(xiàn)了計算能耗和通信能耗的折中處理,兼顧了通信開銷和計算開銷,從整體上降低了移動終端的能耗。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:移動存儲設(shè)備、隨機存取存儲器(ram,randomaccessmemory)、只讀存儲器(rom,read-onlymemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對相關(guān)技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包 括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:移動存儲設(shè)備、ram、rom、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準(zhǔn)。