本發(fā)明涉及數(shù)字通信領域,特別是涉及一種心跳報文的發(fā)送方法和裝置。
背景技術:
在移動通信網(wǎng)絡中,移動終端的無線資源控制(英文:radioresourcecontrol,縮寫:rrc)模塊主要負責處理移動終端與陸地無線接入網(wǎng)(英文:umtsterrestrialradioaccessnetwork,縮寫:utran)之間控制平面的第三層信息。
為了較好地管理移動網(wǎng)絡資源,rrc連接狀態(tài)會維護至少三種主要的連接狀態(tài),包括專用通道(英文:dedicatedchannel,縮寫:dch)狀態(tài)、前向接入通道(英文:forwardaccesschannel,縮寫:fach)狀態(tài)和空閑狀態(tài)(英文:idle)。當移動終端的rrc連接狀態(tài)處于dch狀態(tài)時,所述移動終端占用dch,可以進行話音或大量的數(shù)據(jù)業(yè)務的處理,需要較大的電量維護dch狀態(tài)。當移動終端的rrc連接狀態(tài)處于fach狀態(tài)時,所述移動終端占用fach,所述移動終端可以進行少量的數(shù)據(jù)業(yè)務處理,需要比較少的電量開銷維護fach狀態(tài)。當移動終端的rrc連接狀態(tài)處于idle狀態(tài)時,所述移動終端無法進行網(wǎng)絡交互,電量消耗很小。
當移動終端的rrc連接狀態(tài)為dch狀態(tài)時,若一段空閑時間內沒有數(shù)據(jù)傳輸,所述移動終端的rrc連接狀態(tài)會從dch狀態(tài)改變?yōu)閒ach狀態(tài),這段沒有數(shù)據(jù)傳輸?shù)目臻e時間可以稱為dch狀態(tài)空閑時的?;顣r間(英文:dchtail)。當移動終端的rrc連接狀態(tài)為fach狀態(tài)時,若一段空閑時間內沒有數(shù)據(jù)傳輸,所述移動終端的rrc連接狀態(tài)會從fach狀態(tài)改變?yōu)閕dle狀態(tài),這段沒有數(shù)據(jù)傳輸?shù)目臻e時間可以稱為fach狀態(tài)空閑時的保活時間(英文:fachtail)。在fach狀態(tài)或idle狀態(tài)下,若移動終端發(fā)生了數(shù)據(jù)傳輸,所述移動終端的rrc連接狀態(tài)將改變?yōu)閐ch狀態(tài)。所述移動終端的rrc連接狀態(tài)從fach狀態(tài)改變?yōu)閐ch狀態(tài)或從idle狀態(tài)改變?yōu)閐ch狀態(tài)時,會對所述移動終端產(chǎn)生一定的延遲。
可以看出,不同的rrc連接狀態(tài)耗電量不同。以移動終端中安裝的新聞閱讀型的應用(英文:application,縮寫:app)為例,用戶在移動終端上使用這類app時不會頻繁地對移動終端進行操作(即移動終端不會有持續(xù)的網(wǎng)絡數(shù)據(jù)交互),而rrc各個連接狀態(tài)的tailtime(空閑時的狀態(tài)?;顣r間)又較為短暫。上述這類場景意味著用戶移動終端的rrc連接狀態(tài)需要頻繁地在dch狀態(tài)、fach狀態(tài)、idle狀態(tài)三種連接狀態(tài)間進行遷移。狀態(tài)遷移引入的系統(tǒng)延時將大幅地增大app網(wǎng)絡交互延遲,影響用戶的真實體驗。
技術實現(xiàn)要素:
為了解決上述技術問題,本發(fā)明提供了一種心跳報文的發(fā)送方法和裝置,在所述app處于活躍狀態(tài)下,通過心跳報文?;顁rc連接狀態(tài),使得不會在用戶操作時出現(xiàn)能量狀態(tài)切換的情況,從而不會給用戶體現(xiàn)出因切換能量狀態(tài)所帶來的系統(tǒng)延遲,提高了用戶體驗。
本發(fā)明實施例公開了如下技術方案:
一種心跳報文的發(fā)送方法,應用于移動終端,所述方法包括:
從存儲單元中調取app所對應的設定心跳間隔,所述app安裝在所述移動終端中;
根據(jù)預設最小間隔,對所述設定心跳間隔進行評估,以便根據(jù)評估結果調整所述設定心跳間隔,并將調整結果作為對應所述app的設定心跳間隔更新到所述存儲單元中,所述預設最小間隔為保持所述移動終端處于完整能量狀態(tài)的心跳報文發(fā)送間隔;
若識別所述app處于活躍狀態(tài),以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,使得所述移動終端在所述app處于活躍狀態(tài)的過程中不會觸發(fā)所述移動終端能量狀態(tài)的切換條件,從而所述移動終端的能量狀態(tài)保持在所述完整能量狀態(tài)不變。
可選的,所述根據(jù)預設最小間隔,對所述設定心跳間隔進行評估,具體包括:
根據(jù)所述設定心跳間隔發(fā)送心跳報文;
根據(jù)對應心跳報文返回的響應報文,確定出第一響應時間;
依據(jù)所述預設最小間隔發(fā)送心跳報文;
根據(jù)對應心跳報文返回的響應報文,確定出第二響應時間;
比對所述第一響應時間和第二響應時間之間的差值是否大于預設閾值;
若所述差值大于所述預設閾值,確定評估結果為不好,若所述差值小于所述預設閾值,確定評估結果為好。
可選的,所述根據(jù)評估結果調整所述設定心跳間隔,包括:
若相鄰的兩次評估過程的評估結果均為不好,對所述設定心跳間隔進行調整,將所述設定心跳間隔調小第一時長;將調整后的設定心跳間隔作為所述設定心跳間隔,重新執(zhí)行對所述設定心跳間隔進行評估;
若相鄰的兩次評估過程的評估結果均為好,對所述設定心跳間隔進行調整,將所述設定心跳間隔調大第二時長;將調整后的設定心跳間隔作為所述設定心跳間隔,重新執(zhí)行對所述設定心跳間隔進行評估;
若相鄰的兩次評估過程的評估結果從好變?yōu)椴缓?,將這兩次評估過程中評估結果為好的評估過程確定為目標評估過程,將所述目標評估過程中所評估的設定心跳間隔作為目標間隔,并暫停對所述設定心跳間隔進行評估;
將所述目標間隔更新到所述存儲單元中,作為所述app對應的設定心跳間隔。
可選的,所述根據(jù)所述設定心跳間隔發(fā)送心跳報文,包括:
根據(jù)所述設定心跳間隔連續(xù)發(fā)送多次心跳報文;
根據(jù)對應心跳報文返回的響應報文,確定出第一響應時間,包括:
根據(jù)對應心跳報文返回的每一次響應報文,確定出一個響應時間;計算多個響應時間的均值,得到所述第一響應時間;
依據(jù)預設最小間隔發(fā)送心跳報文,包括:
依據(jù)預設最小間隔連續(xù)發(fā)送多次心跳報文;
根據(jù)對應心跳報文返回的響應報文,確定出第二響應時間,包括:
根據(jù)對應心跳報文返回的每一次響應報文,確定出一個響應時間;計算多個響應時間的均值,得到所述第二響應時間。
可選的,若識別所述app處于活躍狀態(tài),所述以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,包括:
在發(fā)送一次心跳報文后,在所述設定心跳間隔指示的時間長度內檢測所 述移動終端是否發(fā)送業(yè)務數(shù)據(jù);
若是,停止發(fā)送心跳報文;
從所述移動終端發(fā)送業(yè)務數(shù)據(jù)的時間點開始,在所述設定心跳間隔指示的時間長度內繼續(xù)檢測所述移動終端是否發(fā)送業(yè)務數(shù)據(jù),直到在所述設定心跳間隔指示的時間長度內未檢測到所述移動終端發(fā)送業(yè)務數(shù)據(jù);
繼續(xù)以所述設定心跳間隔發(fā)送心跳報文。
可選的,在所述從存儲單元中調取app所對應的設定心跳間隔之前,還包括:
檢測所述app的狀態(tài),若所述app處于后臺狀態(tài),執(zhí)行所述從存儲單元中調取app所對應的設定心跳間隔。
可選的,所述識別所述app處于活躍狀態(tài),包括:
當所述app處于前臺狀態(tài)時,判斷預設時間內所述app是否發(fā)生業(yè)務數(shù)據(jù)交互,若是,識別所述app處于活躍狀態(tài)。
一種心跳報文的發(fā)送裝置,應用于移動終端,所述裝置包括:
調取單元,用于從存儲單元中調取app所對應的設定心跳間隔,所述app安裝在所述移動終端中;
評估單元,用于根據(jù)預設最小間隔,對所述設定心跳間隔進行評估,以便根據(jù)評估結果調整所述設定心跳間隔,并將調整結果作為對應所述app的設定心跳間隔更新到所述存儲單元中,所述預設最小間隔為保持所述移動終端處于完整能量狀態(tài)的心跳報文發(fā)送間隔;若識別所述app處于活躍狀態(tài),觸發(fā)心跳發(fā)送單元;
心跳發(fā)送單元,用于以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,使得所述移動終端在所述app處于活躍狀態(tài)的過程中不會觸發(fā)所述移動終端能量狀態(tài)的切換條件,從而所述移動終端的能量狀態(tài)保持在所述完整能量狀態(tài)不變。
可選的,所述評估單元包括:
第一發(fā)送子單元,用于根據(jù)所述設定心跳間隔發(fā)送心跳報文;
第一確定子單元,用于根據(jù)對應心跳報文返回的響應報文,確定出第一響應時間;
第二發(fā)送子單元,用于依據(jù)所述預設最小間隔發(fā)送心跳報文;
第二確定子單元,用于根據(jù)對應心跳報文返回的響應報文,確定出第二響應時間;
比對子單元,用于比對所述第一響應時間和第二響應時間之間的差值是否大于預設閾值;
評估子單元,用于若所述差值大于所述預設閾值,確定評估結果為不好,若所述差值小于所述預設閾值,確定評估結果為好。
可選的,還包括調整單元:
若相鄰的兩次評估過程的評估結果均為不好,所述調整單元,用于對所述設定心跳間隔進行調整,將所述設定心跳間隔調小第一時長;將調整后的設定心跳間隔作為所述設定心跳間隔,重新執(zhí)行對所述設定心跳間隔進行評估;
若相鄰的兩次評估過程的評估結果均為好,所述調整單元還用于對所述設定心跳間隔進行調整,將所述設定心跳間隔調大第二時長;將調整后的設定心跳間隔作為所述設定心跳間隔,重新執(zhí)行對所述設定心跳間隔進行評估;
若相鄰的兩次評估過程的評估結果從好變?yōu)椴缓?,所述調整單元還用于將這兩次評估過程中評估結果為好的評估過程確定為目標評估過程,將所述目標評估過程中所評估的設定心跳間隔作為目標間隔,并暫停對所述設定心跳間隔進行評估;
所述調整單元還用于將所述目標間隔更新到所述存儲單元中,作為所述app對應的設定心跳間隔。
可選的,
所述第一發(fā)送子單元還用于根據(jù)所述設定心跳間隔連續(xù)發(fā)送多次心跳報文;
所述第一確定子單元還用于根據(jù)對應心跳報文返回的每一次響應報文,確定出一個響應時間;計算多個響應時間的均值,得到所述第一響應時間;
所述第二發(fā)送子單元還用于依據(jù)預設最小間隔連續(xù)發(fā)送多次心跳報文;
所述第二確定子單元還用于根據(jù)對應心跳報文返回的每一次響應報文,確定出一個響應時間;計算多個響應時間的均值,得到所述第二響應時間。
可選的,還包括檢測單元:
所述檢測單元,用于在所述心跳發(fā)送單元發(fā)送一次心跳報文后,在所述設定心跳間隔指示的時間長度內檢測所述移動終端是否發(fā)送業(yè)務數(shù)據(jù);
若是,觸發(fā)所述心跳發(fā)送單元停止發(fā)送心跳報文;
所述檢測單元還用于從所述移動終端發(fā)送業(yè)務數(shù)據(jù)的時間點開始,在所述設定心跳間隔指示的時間長度內繼續(xù)檢測所述移動終端是否發(fā)送業(yè)務數(shù)據(jù),直到在所述設定心跳間隔指示的時間長度內未檢測到所述移動終端發(fā)送業(yè)務數(shù)據(jù)時,觸發(fā)所述心跳發(fā)送單元繼續(xù)以所述設定心跳間隔發(fā)送心跳報文。
可選的,還包括狀態(tài)判斷單元:
所述狀態(tài)判斷單元,用于在觸發(fā)所述調取單元之前檢測所述app的狀態(tài),若所述app處于后臺狀態(tài),觸發(fā)所述調取單元。
可選的,所述評估單元還用于當所述app處于前臺狀態(tài)時,判斷預設時間內所述app是否發(fā)生業(yè)務數(shù)據(jù)交互,若是,識別所述app處于活躍狀態(tài)。
由上述技術方案可以看出,根據(jù)保持所述移動終端處于完整能量狀態(tài)的預設最小間隔,對所述設定心跳間隔進行評估,從而根據(jù)評估結果調整所述設定心跳間隔,并將調整結果作為對應app的設定心跳間隔更新到所述存儲單元中,若識別所述app處于活躍狀態(tài),以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,使得所述移動終端在所述app處于活躍狀態(tài)的過程中,將傳統(tǒng)的發(fā)送心跳報文作為一種形成數(shù)據(jù)傳輸?shù)男问?,按照?jīng)過調整后的設定心跳間隔發(fā)送的心跳報文,以確保所述移動終端在滿足切換能量狀態(tài)的時間條件之前,會出現(xiàn)一定的數(shù)據(jù)傳輸,從而在所述app處于活躍狀態(tài)下,所述移動終端的能量狀態(tài)可以一直保持在所述完整能量狀態(tài)不變,不會在用戶操作時出現(xiàn)能量狀態(tài)切換的情況,從而不會給用戶體現(xiàn)出因切換能量狀態(tài)所帶來的系統(tǒng)延遲,提高了用戶體驗。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種心跳報文的發(fā)送方法的方法流程圖;
圖2為本發(fā)明實施例提供的一種判斷是否發(fā)送心跳報文方法的方法流程圖;
圖3為本發(fā)明實施例提供的一種心跳間隔評估方法的方法流程圖;
圖4為本發(fā)明實施例提供的一種心跳報文的發(fā)送裝置的裝置結構圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
鑒于移動終端的rrc連接狀態(tài)的耗電特點和tailtime較為短暫的特點,為了簡化rrc連接狀態(tài)變遷對移動終端能耗與網(wǎng)絡通訊效率造成的影響,發(fā)明人建立一個移動終端的能量模型來描述這種rrc連接狀態(tài)的變化,即:發(fā)明人將移動終端的能量狀態(tài)分為空閑狀態(tài)(idle)、半能量狀態(tài)(fach)、完整能量狀態(tài)(dch)三種能量狀態(tài),分別對應相應的rrc連接狀態(tài)。rrc連接狀態(tài)處于idle狀態(tài)時,移動終端可以認為處于能量狀態(tài)中的空閑狀態(tài),此時由于移動終端無網(wǎng)絡交互,移動終端僅需少量的電能即可維持該空閑狀態(tài);當rrc連接狀態(tài)處于fach狀態(tài)時,移動終端可以認為處于半能量狀態(tài)下。在半能量狀態(tài)下,由于移動終端僅能夠使用共享信道,且數(shù)據(jù)傳輸速率很低,移動終端維持這個狀態(tài)所消耗的電量大約是維持完整能量狀態(tài)時的一半;當rrc連接狀態(tài)處于dch狀態(tài)時,移動終端可以認為處于完整能量狀態(tài)下,由于移動終端此時占用專有信道,可以獲取最大的帶寬傳輸能力,同時也會消耗更多的電量。
能量狀態(tài)的切換條件一般是移動終端沒有數(shù)據(jù)傳輸?shù)臅r間長度,可以和rrc連接狀態(tài)改變的tailtime相同。能量狀態(tài)的切換可以起到高效的電量使用,有效降低了移動終端的充電頻率。然而能量狀態(tài)切換時,尤其是從低耗電量的能量狀態(tài)切換到高耗電量的能量狀態(tài)時,同樣會造成通信鏈路的額外延遲(這種延遲來源于rrc狀態(tài)切換帶來的系統(tǒng)延遲)。而且,從越低耗電 量的能量狀態(tài)切換到高耗電量的能量狀態(tài)的過程所造成的系統(tǒng)延遲就越長。例如,從半能量狀態(tài)切換到完整能量狀態(tài)會對系統(tǒng)造成1.5秒左右的延遲,從空閑狀態(tài)切換到完整能量狀態(tài)會對系統(tǒng)造成2秒左右的延遲。這些延遲會對用戶帶來不好的體驗。
而且,能量狀態(tài)的切換條件中,持續(xù)無數(shù)據(jù)傳輸?shù)臅r間是比較短的,很有可能造成用戶正在使用移動終端時,例如進行看新聞、看小說等長時間不需要移動終端進行數(shù)據(jù)交互的功能時,移動終端就已經(jīng)根據(jù)切換條件將能量狀態(tài)切換到耗電量低的能量狀態(tài)。切換后,若用戶開始操作移動終端,例如翻頁、評論等需要移動終端出現(xiàn)數(shù)據(jù)交互的操作時,會導致所述移動終端將能量狀態(tài)切換回耗電量高的能量狀態(tài)。能量狀態(tài)的切換會直接導致明顯的系統(tǒng)延遲,并直接將系統(tǒng)延遲體現(xiàn)給正在對所述移動終端進行操作的用戶,例如對操作反應的遲鈍等,對用戶帶來不好的體驗。
為了解決這個問題,發(fā)明人對傳統(tǒng)的心跳報文進行研究。心跳報文主要是用于數(shù)據(jù)鏈路的?;睿?,移動終端與通訊基站建立數(shù)據(jù)連接后,可以實現(xiàn)與其他通信設備之間的遠程數(shù)據(jù)傳輸、通話等。移動終端在建立了與其他設備的數(shù)據(jù)連接后,連接鏈路上并不一定保持時刻都有數(shù)據(jù)的傳輸,當長時間沒有數(shù)據(jù)傳輸時,這條連接鏈路將處于空閑鏈路。為了保證空閑鏈路的有效性、可用性,一般通過持續(xù)發(fā)送心跳報文進行鏈路?;?。發(fā)明人發(fā)現(xiàn),心跳報文對系統(tǒng)資源消耗很少,而且可以形成一定的數(shù)據(jù)傳輸,具有將所述心跳報文應用于移動終端,使用心跳報文保活rrc連接狀態(tài),也就是相當于使用心跳報文?;钜苿咏K端的能量狀態(tài)。尤其是適用于當移動終端有app處于活躍狀態(tài)時,對移動終端的能量狀態(tài)的保活。
但是,傳統(tǒng)的心跳報文的發(fā)送間隔一般較長,并不適合用于?;钅芰繝顟B(tài),需要有針對心跳報文保活能量狀態(tài)的策略。為此,本發(fā)明實施例提供了一種心跳報文的發(fā)送方法和裝置,根據(jù)保持所述移動終端處于完整能量狀態(tài)的預設最小間隔,對所述設定心跳間隔進行評估,從而根據(jù)評估結果調整所述設定心跳間隔,并將調整結果作為對應app的設定心跳間隔更新到所述存儲單元中,若識別所述app處于活躍狀態(tài),以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,使得所述移動終端在所述app處于活躍狀態(tài)的 過程中,將傳統(tǒng)的發(fā)送心跳報文作為一種形成數(shù)據(jù)傳輸?shù)男问剑凑战?jīng)過調整后的設定心跳間隔發(fā)送的心跳報文,以確保所述移動終端在滿足切換能量狀態(tài)的時間條件之前,會出現(xiàn)一定的數(shù)據(jù)傳輸,從而在所述app處于活躍狀態(tài)下,所述移動終端的能量狀態(tài)可以一直保持在所述完整能量狀態(tài)不變,不會在用戶操作時出現(xiàn)能量狀態(tài)切換的情況,從而不會給用戶體現(xiàn)出因切換能量狀態(tài)所帶來的系統(tǒng)延遲,提高了用戶體驗。
需要注意的是,由于按照所述設定心跳間隔發(fā)送心跳報文是在所述app處于活躍狀態(tài)時,故發(fā)送心跳報文的過程中應該時常會出現(xiàn)其他數(shù)據(jù)傳輸,例如移動終端發(fā)送業(yè)務數(shù)據(jù)。為了節(jié)約移動終端的系統(tǒng)資源,在發(fā)送心跳報文的過程中,當檢測到出現(xiàn)一次發(fā)送業(yè)務數(shù)據(jù)的行為時,由于發(fā)生業(yè)務數(shù)據(jù)相當于重置了記錄無數(shù)據(jù)傳輸時間的定時器所記錄的時間,和發(fā)送心跳報文的功能一樣,都起到了對所述移動終端?;钅芰繝顟B(tài)的作用。故可以認為這次業(yè)務數(shù)據(jù)的發(fā)送相當于發(fā)送了一次心跳報文。從這次業(yè)務數(shù)據(jù)的發(fā)送時間開始重新以所述預設發(fā)送間隔發(fā)送心跳報文,從而減少了所述app處于活躍狀態(tài)時心跳報文的發(fā)送次數(shù),節(jié)約了系統(tǒng)資源,降低了發(fā)送心跳報文的耗電量。
實施例一
圖1本發(fā)明實施例提供的一種心跳報文的發(fā)送方法的方法流程圖,應用于移動終端,所述方法包括:
s101:從存儲單元中調取應用app所對應的設定心跳間隔,所述app安裝在所述移動終端中。
舉例說明,所述存儲單元可以為所述移動終端自身的持久存儲器中劃分出來專用于存儲設定心跳間隔的存儲區(qū)域,也可以是移動終端緩存中用于存儲所述設定心跳間隔的專門存儲區(qū)域。
實施本發(fā)明實施例提供的心跳報文?;钅芰繝顟B(tài)策略的執(zhí)行主體可以是所述移動終端的操作系統(tǒng)或者是所述移動終端中運行的一個應用程序,具體的,所述策略可以由軟件承載,或者錄入在一段代碼或程序中。通過在后臺運行該軟件、代碼或程序來實施所述策略。所述app為與所述策略相關聯(lián)的app。本發(fā)明并不限定這個app的具體類型,例如,可以是用戶常用的app 之一。在實施本發(fā)明實施例提供的所述策略的過程中,可以根據(jù)需求更改與所述策略相關聯(lián)的app,或者,當與所述策略相關聯(lián)的app不能運行或從移動終端中移除時,也可以更換其他app與所述策略相關聯(lián)。但是,一般情況下,在同一時間窗內,所述策略同時只與一個app建立關聯(lián)關系。在所述策略與不同app關聯(lián)時,所對應的設定心跳間隔有可能不同,也有可能相同。
需要注意的是,由于所述app在處于前臺狀態(tài)時,可能會有較多的數(shù)據(jù)交互,若在所述app處于前臺狀態(tài)對所述設定心跳間隔進行評估,可能會受到來自數(shù)據(jù)傳輸?shù)母蓴_,影響到評估的準確性。故在從存儲單元中調取app所對應的設定心跳間隔進行評估之前,可以先確定出所述app的狀態(tài)。
可選的,在s101之前,還包括:
檢測所述app的狀態(tài),若所述app處于后臺狀態(tài),執(zhí)行s101。
這里所述的后臺狀態(tài)可以理解為至少包括兩種情況。
第一種情況,所述app處于所述移動終端的后臺,且前臺沒有處于活躍狀態(tài)的其他app。第二種情況,所述移動終端處于鎖屏狀態(tài)。在所述移動終端進入鎖屏狀態(tài)之前,不論所述app具體是處于前臺狀態(tài)還是后臺狀態(tài),當所述移動終端進入鎖屏狀態(tài)后,所述app都會進入后臺狀態(tài)。
當所述app處于后臺狀態(tài)時,所述移動終端基本上不會出現(xiàn)什么數(shù)據(jù)傳輸,對評估所帶來的干擾相對較少,可以得到更為準確的評估結果,從而獲取更為準確的調整結果。
需要注意的是,本發(fā)明實施例中所述的后臺狀態(tài),不論是上述的第一種情況還是第二種情況,都需要滿足在所述app處于后臺狀態(tài)時,所述app不會保持持續(xù)的數(shù)據(jù)下載?;蛘哒f,所述后臺狀態(tài)可以理解為所述移動終端沒有數(shù)據(jù)交互的一種狀態(tài)。
s102:根據(jù)預設最小間隔,對所述設定心跳間隔進行評估,以便根據(jù)評估結果調整所述設定心跳間隔,并將調整結果作為對應所述app的設定心跳間隔更新到所述存儲單元中,所述預設最小間隔為保持所述移動終端處于完整能量狀態(tài)的心跳報文發(fā)送間隔。
舉例說明,所述完整能量狀態(tài)可以理解為所述移動終端可以穩(wěn)定保持的一種能量狀態(tài),不會因為出現(xiàn)了數(shù)據(jù)傳輸?shù)惹闆r而發(fā)生能量狀態(tài)切換的能量 狀態(tài)。所述完整能量狀態(tài)可以為本發(fā)明實施例中,希望在所述app處于活躍狀態(tài)時,通過心跳報文?;畹哪芰繝顟B(tài)。一般來說,所述完整能量狀態(tài)是所述移動終端占用dch時所對應的能量狀態(tài),即耗電量較大的能量狀態(tài)。在完整能量狀態(tài)下,所述移動終端的rrc連接狀態(tài)處于dch狀態(tài)。需要注意的是,由于針對不同的運行商或者不同的服務提供商,移動終端的rrc連接狀態(tài)從dch狀態(tài)改變到下一級狀態(tài)(例如fach狀態(tài))的時間條件可能有所不同,故所述預設最小間隔可以設置的相對較小(一般小于導致改變rrc連接狀態(tài)的無數(shù)據(jù)傳輸持續(xù)時間,或者說tailtime),以使得可以保證在現(xiàn)有所了解的rrc連接狀態(tài)從dch狀態(tài)改變到fach狀態(tài)的各種時間條件下,以所述預設最小間隔發(fā)送心跳報文時,所述移動終端可以保持占用dch,所述移動終端的rrc連接狀態(tài)可以保持dch狀態(tài),所述移動終端可以保持所述完整能量狀態(tài)。
例如,若觸發(fā)所述移動終端的rrc連接狀態(tài)從dch狀態(tài)改變?yōu)閒ach狀態(tài)的無數(shù)據(jù)傳輸持續(xù)時間具體為沒有數(shù)據(jù)傳輸持續(xù)5秒,所述預設最小間隔可小于5秒的時間間隔。
通過評估,可以對所述設定心跳間隔進行調整,調整后的設定心跳間隔小于觸發(fā)所述移動終端的rrc連接狀態(tài)從dch狀態(tài)改變?yōu)閒ach狀態(tài)的無數(shù)據(jù)傳輸持續(xù)時間。而且通過評估的調整,使得調整后的設定心跳間隔既可以保證以此間隔發(fā)送心跳報文不會觸發(fā)所述rrc連接狀態(tài)的改變,從而導致移動終端的能量狀態(tài)發(fā)生改變,也可以不過于頻繁的發(fā)送心態(tài)報文,盡量少的消耗系統(tǒng)資源,避免在發(fā)送心跳報文上造成額外的耗電。在評估過程中,還可以根據(jù)不同的網(wǎng)絡質量、通信效果等進行調整,從而達到智能調整設定心跳間隔的能力。將評估完成后的調整結果,或者說對原設定心跳間隔的調整結果更新到所述存儲單元中,這樣當需要進行心跳報文?;钅芰繝顟B(tài)(或者說?;顁rc連接狀態(tài))時,可以使用s102得到的評估后的調整結果作為發(fā)送心跳報文的間隔。
s103:若識別所述app處于活躍狀態(tài),以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,使得所述移動終端在所述app處于活躍狀態(tài)的過程中不會觸發(fā)所述移動終端能量狀態(tài)的切換條件,從而所述移動終端的能 量狀態(tài)保持在所述完整能量狀態(tài)不變。
舉例說明,本發(fā)明實施例中所述的心跳報文,可以理解為用于在所述app處于活躍狀態(tài)時,對所述移動終端能量狀態(tài)進行?;畹男奶鴪笪?。
所述活躍狀態(tài)可以理解為所述app處于前臺狀態(tài),或者,所述活躍狀態(tài)也可以理解為所述app處于前臺時的一種子狀態(tài)。在所述活躍狀態(tài)為所述app處于前臺時的一種子狀態(tài)的情況下,本發(fā)明實施例提供一種識別app狀態(tài)的方式,可選的,所述識別所述app處于活躍狀態(tài),包括:
當所述app處于前臺狀態(tài)時,判斷預設時間內所述app是否發(fā)生業(yè)務數(shù)據(jù)交互,若是,識別所述app處于活躍狀態(tài)。
也就是說,所述app處于后臺,可以明確為處于非活躍狀態(tài),所述app處于前臺時,若預設時間內所述app未發(fā)生業(yè)務數(shù)據(jù)交互,也可以認為所述app處于非活躍狀態(tài)。若所述app處于前臺,且預設時間內所述app發(fā)生了業(yè)務數(shù)據(jù)交互,可以認為所述app處于活躍狀態(tài)。
通過圖1所對應實施例可以看出,根據(jù)所述保持所述移動終端處于完整能量狀態(tài)的預設最小間隔對所述設定心跳間隔進行評估,從而根據(jù)評估結果調整所述設定心跳間隔,并將調整結果作為對應app的設定心跳間隔更新到所述存儲單元中,若識別所述app處于活躍狀態(tài),以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,使得所述移動終端在所述app處于活躍狀態(tài)的過程中,將傳統(tǒng)的發(fā)送心跳報文作為一種形成數(shù)據(jù)傳輸?shù)男问?,按照?jīng)過調整后的設定心跳間隔發(fā)送的心跳報文,以確保所述移動終端在滿足切換能量狀態(tài)的時間條件之前,會出現(xiàn)一定的數(shù)據(jù)傳輸,從而在所述app處于活躍狀態(tài)下,所述移動終端的能量狀態(tài)可以一直保持在所述完整能量狀態(tài)不變,不會在用戶操作時出現(xiàn)能量狀態(tài)切換的情況,也就是說不會給用戶體現(xiàn)出因切換能量狀態(tài)所帶來的系統(tǒng)延遲,提高了用戶體驗。
需要注意的是,由于按照所述設定心跳間隔發(fā)送心跳報文是在所述app處于活躍狀態(tài)時,故發(fā)送心跳報文的過程中應該時常會出現(xiàn)其他數(shù)據(jù)傳輸,例如移動終端發(fā)送業(yè)務數(shù)據(jù)。為了節(jié)約移動終端的系統(tǒng)資源,在發(fā)送心跳報文的過程中,當檢測到出現(xiàn)一次發(fā)送業(yè)務數(shù)據(jù)的行為時,由于發(fā)生業(yè)務數(shù)據(jù)相當于重置了能量狀態(tài)切換的時間,和發(fā)送心跳報文的功能一樣,都對所述 移動終端起到了?;钅芰繝顟B(tài)的作用。
在圖1所對應實施例的基礎上,可選的,若識別所述app處于活躍狀態(tài),所述以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,如圖2所示,包括:
s201:在發(fā)送一次心跳報文后,在所述設定心跳間隔指示的時間長度內檢測所述移動終端是否發(fā)送業(yè)務數(shù)據(jù);若是,執(zhí)行s202,若否,執(zhí)行s203。
s202:停止發(fā)送心跳報文;從所述移動終端發(fā)送業(yè)務數(shù)據(jù)的時間點開始,在所述設定心跳間隔指示的時間長度內繼續(xù)檢測所述移動終端是否發(fā)送業(yè)務數(shù)據(jù),直到在所述設定心跳間隔指示的時間長度內未檢測到所述移動終端發(fā)送業(yè)務數(shù)據(jù)。
s203:繼續(xù)以所述設定心跳間隔發(fā)送心跳報文。
舉例說明,若所述設定心跳間隔為4秒,發(fā)送一次心跳報文后,檢測在4秒之內是否有發(fā)送業(yè)務報文,如果其間出現(xiàn)了一次業(yè)務數(shù)據(jù)的發(fā)送,那么從這次發(fā)送的時間點開始,繼續(xù)檢測4秒內是否有發(fā)送業(yè)務報文。例如,在第10秒時發(fā)送一次心跳報文1,開始檢測4秒內是否有發(fā)送業(yè)務報文。發(fā)現(xiàn)在第12秒時發(fā)送了一次業(yè)務報文1,發(fā)送心跳報文1和業(yè)務報文1之間間隔為12-10=2秒,未超過所述設定心跳間隔(4秒),繼續(xù)從第12秒開始檢測4秒。若直到第16秒都未出現(xiàn)發(fā)送業(yè)務數(shù)據(jù),則在第16秒發(fā)送一次心跳報文2。若在第15秒又發(fā)送了一次業(yè)務報文2,發(fā)送業(yè)務數(shù)據(jù)1和業(yè)務數(shù)據(jù)2之間間隔為15-12=3秒,未超過所述設定心跳間隔,繼續(xù)從第15秒開始檢測4秒。若直到第19秒都未出現(xiàn)發(fā)送業(yè)務數(shù)據(jù),則在第19秒發(fā)送一次心跳報文2。然后,繼續(xù)從第19秒開始檢測4秒內是否有發(fā)送業(yè)務報文。以此類推。
可見,由于業(yè)務數(shù)據(jù)的發(fā)送這一動作,在對移動終端能量狀態(tài)的保活上的效果,和發(fā)送了一次心跳報文相似,故可以將發(fā)送業(yè)務數(shù)據(jù)的動作相當于發(fā)送心跳報文的動作??梢詮倪@次業(yè)務數(shù)據(jù)的發(fā)送時間開始重新以所述預設發(fā)送間隔發(fā)送心跳報文,從而減少了所述app處于活躍狀態(tài)時心跳報文的發(fā)送次數(shù),節(jié)約了系統(tǒng)資源,降低了發(fā)送心跳報文的耗電量。
實施例二
在圖1所對應實施例的基礎上,為了達到如s102中所描述的評估效果,可選的,針對s102的對所述設定心跳間隔的評估,本發(fā)明實施例提供了一種評估方式。圖3為本發(fā)明實施例提供的一種心跳間隔評估方法的方法流程圖,如圖3所示,包括:
s301:根據(jù)所述設定心跳間隔發(fā)送心跳報文。
舉例說明,這里的所述設定心跳間隔為從所述存儲單元中調取的設定心跳間隔。
s302:根據(jù)對應心跳報文返回的響應報文,確定出第一響應時間。
舉例說明,這里可以只發(fā)送一次心跳報文,根據(jù)發(fā)送心跳報文的時間以及接收到響應報文的時間,確定出第一響應時間。不過考慮到網(wǎng)絡質量的波動,為了盡可能確定出能夠真實反映網(wǎng)絡質量的響應時間,還可以通過以所述設定心跳間隔發(fā)送多次心跳報文。
故可選的,s301還可以為:根據(jù)所述設定心跳間隔連續(xù)發(fā)送多次心跳報文。
相應的,s302還可以為:根據(jù)對應心跳報文返回的每一次響應報文,確定出一個響應時間;計算多個響應時間的均值,得到所述第一響應時間。
s303:依據(jù)所述預設最小間隔發(fā)送心跳報文。
s304:根據(jù)對應心跳報文返回的響應報文,確定出第二響應時間。
舉例說明,通過所述預設最小間隔發(fā)送心跳報文,可以使得所述移動終端的rrc連接狀態(tài)的連接狀態(tài)改變?yōu)閐ch狀態(tài),在這個連接狀態(tài)下,網(wǎng)絡質量、數(shù)據(jù)傳輸速度等相對較好,故從發(fā)送心跳報文到接收到返回的響應報文的時間應該相對較短。也就是說,所述第二響應時間可以為所述移動終端占用dch時,發(fā)送心跳報文到接收響應報文應該達到的時間。
依據(jù)預設最小間隔發(fā)送心跳報文s303,可以在執(zhí)行s301之前執(zhí)行完成,也可以在執(zhí)行完s301后再執(zhí)行。不過,在本發(fā)明提供的一種可選的實施例中,在執(zhí)行根據(jù)所述設定心跳間隔發(fā)送心跳報文之前,執(zhí)行依據(jù)預設最小間隔發(fā)送心跳報文。
需要注意的是,考慮到網(wǎng)絡質量的波動,為了盡可能確定出能夠真實反映網(wǎng)絡質量的響應時間,還可以通過以所述預設最小間隔發(fā)送多次心跳報文。
故可選的,所述依據(jù)預設最小間隔發(fā)送心跳報文,包括:
依據(jù)預設最小間隔連續(xù)發(fā)送多次心跳報文;
根據(jù)對應心跳報文返回的響應報文,確定出第二響應時間,包括:
根據(jù)對應心跳報文返回的每一次響應報文,確定出一個響應時間;計算多個響應時間的均值,得到所述第二響應時間。
s305:比對所述第一響應時間和第二響應時間之間的差值是否大于預設閾值,所述預設閾值根據(jù)所述切換條件確定。
若所述差值大于所述預設閾值,確定評估結果為不好。
若所述差值小于所述預設閾值,確定評估結果為好。
舉例說明,當所述第一響應時間與所述第二響應時間差距較大時(一般情況下是所述第一響應時間大于或遠大于所述第二響應時間),可以確定在使用所述設定心跳間隔發(fā)送心跳報文時,所述設定心跳間隔較大,未能將所述移動終端的rrc連接狀態(tài)保持在dch狀態(tài),而有可能使得所述rrc連接狀態(tài)改變?yōu)閒ach狀態(tài)等。也就是說,在用所述設定心跳間隔發(fā)送心跳報文時,所述移動終端未能占用dch,而是占用其他低級別的通道,例如fach,這類低級別的通道的網(wǎng)絡質量或網(wǎng)絡響應速度相對較慢,另一方面所述心跳報文有可能觸發(fā)所述移動終端的rrc連接狀態(tài)由fach升級為dch狀態(tài),從而引入額外的系統(tǒng)延遲,導致發(fā)送心跳報文到接收到返回的響應報文的時間(即所述第一響應時間)較大。故,當所述第一響應時間越接近所述第二響應時間,可以認為,以所述設定心跳間隔發(fā)送心跳報文越可能將所述移動終端的rrc連接狀態(tài)?;钤赿ch狀態(tài),也就是說越有可能?;钏鲆苿咏K端的完整能量狀態(tài)。
通過s305,可以準確的根據(jù)所述第二響應時間,確定出針對所述設定心跳間隔的評估結果。由此可以準確的根據(jù)評估結果調整所述設定心跳間隔。
可選的,本發(fā)明實施例還給出了一種詳細的根據(jù)評估結果調整所述設定心跳間隔的過程,如圖3所示:
s306:根據(jù)所述切換條件,評估所述第一響應時間。若相鄰的兩次評估過程的評估結果均為不好,執(zhí)行s307;若相鄰的兩次評估過程的評估結果均為好,執(zhí)行s308;若相鄰的兩次評估過程的評估結果從好變?yōu)椴缓?,?zhí)行s309。
如s305中所描述的,所述預設閾值根據(jù)所述移動終端占用dch發(fā)送心跳報文的響應時間和占用非dch發(fā)送心跳報文的響應時間之差確定,若第一響應時間和第二響應時間的所述差值超過了這個預設閾值,可以認為使用所述設定心跳間隔發(fā)送心跳報文時,無法保持完整能量狀態(tài)不改變,難以起到?;钜苿咏K端能量狀態(tài)的功能,故需要調小發(fā)送心跳報文的發(fā)送間隔。若所述差值未超過這個預設閾值,可以認為使用所述設定心跳間隔發(fā)送心跳報文時,能夠保持完整能量狀態(tài)不改變,可以有效起到?;钜苿咏K端能量狀態(tài)的功能,這時可以考慮到節(jié)能的需求,嘗試增大發(fā)送心跳報文的間隔。
s307:對所述設定心跳間隔進行調整,將所述設定心跳間隔調小第一時長;將調整后的設定心跳間隔作為所述設定心跳間隔,重新執(zhí)行對所述設定心跳間隔進行評估。
s308:對所述設定心跳間隔進行調整,將所述設定心跳間隔調大第二時長;將調整后的設定心跳間隔作為所述設定心跳間隔,重新執(zhí)行對所述設定心跳間隔進行評估。
舉例說明,s307和s308屬于并列的調整步驟,不限定執(zhí)行的先后關系,僅根據(jù)相鄰的兩次評估過程的評估結果作為觸發(fā)執(zhí)行的條件。
若相鄰的兩次評估過程的評估結果均為不好,可以確定在目前的網(wǎng)絡質量下,設定心跳間隔將很難實現(xiàn)對移動終端能量狀態(tài)的?;?,需要縮短發(fā)送心跳報文的間隔,以確保實現(xiàn)?;钜苿咏K端能量狀態(tài)的能力。
若相鄰的兩次評估過程的評估結果均為好,證明這時的設定心跳間隔可以有效的滿足?;钜苿咏K端能量狀態(tài)的需求,可以考慮發(fā)送間隔是否可以再大一點,進一步節(jié)約發(fā)送心跳報文帶來的耗電量。
其中,所述第一時長和第二時長可以相同,也可以依據(jù)不同的具體精度要求,將所述第一時長和第二時長設置為不同。
s309:將這兩次評估過程中評估結果為好的評估過程確定為目標評估過程,將所述目標評估過程中所評估的設定心跳間隔作為目標間隔,并暫停對所述設定心跳間隔進行評估。
舉例說明,通過評估結果調整設定心跳間隔,可以根據(jù)評估結果確定出設定心跳間隔的邊界,這里所述的設定心跳間隔的邊界可以理解為既可以實 現(xiàn)保活移動終端能量狀態(tài)的功能,又能最大程度上的減少發(fā)送心跳報文耗電的心跳發(fā)送間隔。
例如,未評估前的設定心跳間隔為4秒。第一次、第二次的評估,評估結果均為好。將設定心跳間隔調大第二時長,假設是0.4秒,調整后的設定心跳間隔為4.4秒。對調整為4.4秒的設定系統(tǒng)間隔進行第三次評估,結果第三次評估過程的評估結果依然為好,由于相鄰的兩次評估過程(第二次和第三次)的評估結果相同且均為好,再一次將設定心跳間隔調大第二時長,從4.4秒調整到4.8秒。對調整為4.8秒的設定系統(tǒng)間隔進行第四次評估,結果第四次評估過程的評估結果為不好,且相鄰的兩次評估過程(第三次和第四次)的評估結果是從好變?yōu)椴缓?,故將第三次評估過程確定為目標評估過程,將第三次評估過程中所評估的設定心跳間隔(4.4秒)作為目標間隔。
s310:將所述目標間隔更新到所述存儲單元中,作為所述app對應的設定心跳間隔。
確定出目標間隔后,可以更新原來保存在所述存儲單元中的設定心跳間隔(對應于所述app的)。以上述的例子,原先在所述存儲單元中存儲的對應于所述app的設定心跳間隔為4秒,更新后,所述存儲單元中存儲的對應于所述app的設定心跳間隔為4.4秒。
由上述實施例可以看出,通過對設定心跳間隔進行評估,可以根據(jù)評估結果將設定心跳間隔調整到相對于網(wǎng)絡狀態(tài)為最優(yōu)的目標間隔,將所述目標間隔作為設定心跳間隔發(fā)送心跳報文時,既可以實現(xiàn)在所述app處于活躍狀態(tài)時?;钜苿咏K端能量狀態(tài)的功能,又能最大程度上的減少發(fā)送心跳報文耗電,提高了用戶體驗。
實施例三
圖4為本發(fā)明實施例提供的一種心跳報文的發(fā)送裝置的裝置結構圖,應用于移動終端,所述裝置包括:
調取單元401,用于從存儲單元中調取app所對應的設定心跳間隔,所述app安裝在所述移動終端中;
評估單元402,用于根據(jù)預設最小間隔,對所述設定心跳間隔進行評估, 以便根據(jù)評估結果調整所述設定心跳間隔,并將調整結果作為對應所述app的設定心跳間隔更新到所述存儲單元中,所述預設最小間隔為保持所述移動終端處于完整能量狀態(tài)的心跳報文發(fā)送間隔;若識別所述app處于活躍狀態(tài),觸發(fā)心跳發(fā)送單元403;
心跳發(fā)送單元403,用于以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,使得所述移動終端在所述app處于活躍狀態(tài)的過程中不會觸發(fā)所述移動終端能量狀態(tài)的切換條件,從而所述移動終端的能量狀態(tài)保持在所述完整能量狀態(tài)不變。
可見,根據(jù)保持所述移動終端處于完整能量狀態(tài)的預設最小間隔,對所述設定心跳間隔進行評估,從而根據(jù)評估結果調整所述設定心跳間隔,并將調整結果作為對應app的設定心跳間隔更新到所述存儲單元中,若識別所述app處于活躍狀態(tài),以從所述存儲單元中獲取的所述設定心跳間隔發(fā)送心跳報文,使得所述移動終端在所述app處于活躍狀態(tài)的過程中,將傳統(tǒng)的發(fā)送心跳報文作為一種形成數(shù)據(jù)傳輸?shù)男问剑凑战?jīng)過調整后的設定心跳間隔發(fā)送的心跳報文,以確保所述移動終端在滿足切換能量狀態(tài)的時間條件之前,會出現(xiàn)一定的數(shù)據(jù)傳輸,從而在所述app處于活躍狀態(tài)下,所述移動終端的能量狀態(tài)可以一直保持在所述完整能量狀態(tài)不變,不會在用戶操作時出現(xiàn)能量狀態(tài)切換的情況,從而不會給用戶體現(xiàn)出因切換能量狀態(tài)所帶來的系統(tǒng)延遲,提高了用戶體驗。
可選的,所述評估單元包括:
第一發(fā)送子單元,用于根據(jù)所述設定心跳間隔發(fā)送心跳報文;
第一確定子單元,用于根據(jù)對應心跳報文返回的響應報文,確定出第一響應時間;
第二發(fā)送子單元,用于依據(jù)所述預設最小間隔發(fā)送心跳報文;
第二確定子單元,用于根據(jù)對應心跳報文返回的響應報文,確定出第二響應時間;
比對子單元,用于比對所述第一響應時間和第二響應時間之間的差值是否大于預設閾值;
評估子單元,用于若所述差值大于所述預設閾值,確定評估結果為不好, 若所述差值小于所述預設閾值,確定評估結果為好。
可選的,還包括調整單元:
若相鄰的兩次評估過程的評估結果均為不好,所述調整單元,用于對所述設定心跳間隔進行調整,將所述設定心跳間隔調小第一時長;將調整后的設定心跳間隔作為所述設定心跳間隔,重新執(zhí)行對所述設定心跳間隔進行評估;
若相鄰的兩次評估過程的評估結果均為好,所述調整單元還用于對所述設定心跳間隔進行調整,將所述設定心跳間隔調大第二時長;將調整后的設定心跳間隔作為所述設定心跳間隔,重新執(zhí)行對所述設定心跳間隔進行評估;
若相鄰的兩次評估過程的評估結果從好變?yōu)椴缓茫稣{整單元還用于將這兩次評估過程中評估結果為好的評估過程確定為目標評估過程,將所述目標評估過程中所評估的設定心跳間隔作為目標間隔,并暫停對所述設定心跳間隔進行評估;
所述調整單元還用于將所述目標間隔更新到所述存儲單元中,作為所述app對應的設定心跳間隔。
可選的,
所述第一發(fā)送子單元還用于根據(jù)所述設定心跳間隔連續(xù)發(fā)送多次心跳報文;
所述第一確定子單元還用于根據(jù)對應心跳報文返回的每一次響應報文,確定出一個響應時間;計算多個響應時間的均值,得到所述第一響應時間;
所述第二發(fā)送子單元還用于依據(jù)預設最小間隔連續(xù)發(fā)送多次心跳報文;
所述第二確定子單元還用于根據(jù)對應心跳報文返回的每一次響應報文,確定出一個響應時間;計算多個響應時間的均值,得到所述第二響應時間。
可選的,還包括檢測單元:
所述檢測單元,用于在所述心跳發(fā)送單元發(fā)送一次心跳報文后,在所述設定心跳間隔指示的時間長度內檢測所述移動終端是否發(fā)送業(yè)務數(shù)據(jù);
若是,觸發(fā)所述心跳發(fā)送單元停止發(fā)送心跳報文;
所述檢測單元還用于從所述移動終端發(fā)送業(yè)務數(shù)據(jù)的時間點開始,在所述設定心跳間隔指示的時間長度內繼續(xù)檢測所述移動終端是否發(fā)送業(yè)務數(shù) 據(jù),直到在所述設定心跳間隔指示的時間長度內未檢測到所述移動終端發(fā)送業(yè)務數(shù)據(jù)時,觸發(fā)所述心跳發(fā)送單元繼續(xù)以所述設定心跳間隔發(fā)送心跳報文。
可選的,還包括狀態(tài)判斷單元:
所述狀態(tài)判斷單元,用于在觸發(fā)所述調取單元之前檢測所述app的狀態(tài),若所述app處于后臺狀態(tài),觸發(fā)所述調取單元。
可選的,所述評估單元還用于當所述app處于前臺狀態(tài)時,判斷預設時間內所述app是否發(fā)生業(yè)務數(shù)據(jù)交互,若是,識別所述app處于活躍狀態(tài)。
由上述實施例可以看出,通過對設定心跳間隔進行評估,可以根據(jù)評估結果將設定心跳間隔調整到相對于網(wǎng)絡狀態(tài)為最優(yōu)的目標間隔,將所述目標間隔作為設定心跳間隔發(fā)送心跳報文時,既可以實現(xiàn)在所述app處于活躍狀態(tài)時保活移動終端能量狀態(tài)的功能,又能最大程度上的減少發(fā)送心跳報文耗電,提高了用戶體驗。
本領域普通技術人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質可以是下述介質中的至少一種:只讀存儲器(英文:read-onlymemory,縮寫:rom)、ram、磁碟或者光盤等各種可以存儲程序代碼的介質。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于設備及系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的設備及系統(tǒng)實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不 局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。