一種數據包處理方法及移動終端與流程
2023-11-06 05:33:47 2
本發明涉及通信
技術領域:
:,尤其涉及一種數據包處理方法及移動終端。
背景技術:
::隨著移動通訊技術的發展,移動終端的功能越來越豐富,為用戶提供了良好的體驗。然而,日漸增多的功能也帶來一系列問題,如,導致移動終端的功耗不斷上升。現有的移動終端,在安裝應用程式並授予該應用程式的運行權限後,若網絡側向該應用程式推送消息,即使移動終端處於休眠狀態下,該應用程式也會被喚醒,以實現與網絡側的即時通信。由此,移動終端的應用程式在休眠過程中被頻繁喚醒,產生和消耗較高的電流,導致移動終端的功耗高。技術實現要素:本發明實施例提供一種數據包處理方法及移動終端,以解決現有技術中應用程式在休眠過程中被頻繁喚醒,導致移動終端功耗高的問題。第一方面,本發明實施例提供了一種數據包處理方法,該方法包括:在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識;判斷所述應用程式標識是否在預設的攔截列表中;若所述應用程式標識在所述攔截列表中,則攔截所述數據包;在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。第二方面,本發明實施例還提供一種移動終端,該移動終端包括:解析模塊,用於在檢測到所述移動終端處於休眠狀態下,若接收到數據包時,對所述數據包進行解析,得到所述數據包的應用程式標識;第一判斷模塊,用於判斷所述解析模塊得到的所述應用程式標識是否在預設的攔截列表中;攔截模塊,用於在所述第一判斷模塊判定所述應用程式標識在所述攔截列表中時,攔截所述數據包;喚醒模塊,用於在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述攔截模塊攔截的數據包。第三方面,本發明實施例還提供一種移動終端,該移動終端包括:處理器、存儲器及存儲在所述存儲器上並可在所述處理器上運行的電腦程式,所述電腦程式被所述處理器執行時實現如上所述的數據包處理方法的步驟。第四方面,本發明實施例還提供一種計算機可讀存儲介質,該計算機可讀存儲介質上存儲有電腦程式,所述電腦程式被處理器執行時實現如上所述的數據包處理方法的步驟。本發明實施例中,在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識;判斷所述應用程式標識是否在預設的攔截列表中;若所述應用程式標識在所述攔截列表中,則攔截所述數據包;在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。這樣,移動終端通過攔截所述攔截列表中應用程式標識對應的數據包,並在滿足預設觸發條件時,喚醒該數據包對應的目標應用程式,以及向目標應用程式發送該數據包,可以有效避免目標應用程式在休眠過程中被頻繁喚醒,從而降低移動終端的功耗,延長移動終端的續航時間,同時不影響用戶的使用體驗。附圖說明為了更清楚地說明本發明實施例的技術方案,下面將對本發明實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例提供的數據包處理方法的流程圖之一;圖2是本發明實施例提供的數據包處理方法的流程圖之二;圖3是本發明實施例提供的移動終端的結構圖之一;圖4是本發明實施例提供的移動終端的結構圖之二;圖5是本發明實施例提供的移動終端的結構圖之三;圖6是本發明實施例提供的移動終端的結構圖之四;圖7是本發明實施例提供的移動終端的結構圖之五;圖9是本發明實施例提供的移動終端的結構圖之六;圖8是本發明實施例提供的移動終端的結構圖之七;圖10是本發明實施例提供的移動終端的結構圖之八。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。參見圖1,圖1是本發明實施例提供的一種數據包處理方法的流程圖,應用於移動終端,如圖1所示,包括以下步驟:步驟101、在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識。本發明實施例中,當移動終端處於休眠狀態時,移動終端中的應用程式處於休眠狀態,且移動終端的屏幕處於熄滅狀態。該步驟中,網絡伺服器發送的數據包流入到移動終端的modem(數據機)後,移動終端可進一步通過netfilter(網絡過濾器)註冊的hookfunction(鉤子函數)接收數據包。其中,modem可設置在基帶處理器上,數據包可以但不僅限於包括源ip地址、目的ip地址、源埠、目標埠以及應用程式標識。在接收到數據包後,將該數據包發送給其對應的應用程式之前,需要識別該數據包對應的應用程式。考慮到移動終端在安裝應用程式時,會獲取應用程式的唯一標識,且數據包中包括應用程式標識,因此,移動終端在接收到數據包後,可以對數據包進行解析,得到所述數據包的應用程式標識,從而可根據解析數據包得到的應用程式標識識別數據包對應的應用程式。步驟102、判斷所述應用程式標識是否在預設的攔截列表中。該步驟中,攔截列表預先設置,且攔截列表中可以但不僅限於包括應用程式標識。具體地,可以將不重要的應用程式對應的應用程式標識添加至攔截列表中,如,可以將不希望其在移動終端處於休眠狀態時發送提醒消息的應用程式對應的應用程式標識添加至攔截列表中,或/和將使用頻率較低的應用程式對應的應用程式標識添加至攔截列表中,或/和將不需要與網絡伺服器進行交互才能實現其功能的應用程式對應的應用程式標識添加至攔截列表中,但不僅限於此。移動終端可以將所述應用程式標識與攔截列表中的各個應用程式標識逐個進行匹配,來判斷所述應用程式標識是否在預設的攔截列表中,但不僅限於此。具體地,若所述應用程式標識與攔截列表中的某應用程式標識匹配,則判定所述應用程式標識在攔截列表內,執行步驟103;若所述應用程式標識與攔截列表中的各個應用程式均不匹配,則判定所述應用程式標識不在攔截列表中,直接喚醒該應用程式標識對應的目標應用程式,並向該目標應用程式發送所述數據包。步驟103、若所述應用程式標識在所述攔截列表中,則攔截所述數據包。該步驟中,在攔截數據包後,可以將該數據包進行緩衝存儲,進一步地,可以將該數據包添加至緩衝列表中,從而可以避免移動終端接收到數據包後,因直接喚醒該數據包對應的目標應用程式,並向該目標應用程式發送該數據包,導致目標應用程式在休眠過程中被頻繁喚醒的情況發生,進而降低移動終端的耗電量,延長移動終端的續航時間。步驟104、在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。該步驟中,觸發條件預先設置,觸發條件可以是攔截的數據包的數量達到預設值;也可以是移動終端的屏幕從熄滅狀態進入為點亮狀態,具體地,可以是在電源鍵檢測到觸控操作時,移動終端的屏幕從熄滅狀態進入點亮狀態,也可以是在監測到到達預先設置的自動亮屏的時間時,移動終端的屏幕從熄滅狀態變化為點亮狀態,但不僅限於此。其中,預設值、自動亮屏的時間點具體可根據實際需要決定,在此不作限定。這樣,只有移動終端在滿足預設的觸發條件時,目標應用程式才會被喚醒,以接收到推送消息的各個數據包,在該目標應用程式界面中顯示該推送消息。從而可以有效避免目標應用程式被頻繁的喚醒,降低移動終端的耗電量,同時不影響用戶查看該目標應用程式的推送消息,不影響用戶的使用體驗。進一步地,在目標應用程式被數據包喚醒時,移動終端可以執行預設操作以提示用戶接收到新消息,如響鈴或者振動,但不僅限於此。本發明實施例中,移動終端可以是手機、平板電腦(tabletpersonalcomputer)、膝上型電腦(laptopcomputer)、個人數字助理(personaldigitalassistant,簡稱pda)、移動上網裝置(mobileinternetdevice,mid)或可穿戴式設備(wearabledevice)等。本實施例的數據包處理方法,在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識;判斷所述應用程式標識是否在預設的攔截列表中;若所述應用程式標識在所述攔截列表中,則攔截所述數據包;在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。這樣,移動終端通過攔截所述攔截列表中應用程式標識對應的數據包,並在滿足預設觸發條件時,喚醒該數據包對應的目標應用程式,以及向目標應用程式發送該數據包,可以有效避免目標應用程式在休眠過程中被頻繁喚醒,從而降低移動終端的功耗,延長移動終端的續航時間,同時不影響用戶的使用體驗。參見圖2,圖2是本發明實施例提供的另一種數據包處理方法的流程圖,本實施例與上述實施例的主要區別在於,所述攔截所述數據包之後,所述在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包之前,對信息的而推送方法作了進一步限定,具體為:將所述數據包添加至緩衝列表中。如圖2所示,包括以下步驟:步驟201、在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識。步驟202、判斷所述應用程式標識是否在預設的攔截列表中。步驟203、若所述應用程式標識在所述攔截列表中,則攔截所述數據包。步驟204、將所述數據包添加至緩衝列表中。該步驟中,緩衝列表預先設置,可以利用netfilter框架的nf_queue機制下,若帶有list_head的自定義結構體實現對緩衝列表的管理,具體地,將攔截的各個數據包按照鉤子函數接收數據包的先後時間順序流入緩衝列表,流出緩衝列表,即先進先出。另外,緩衝列表中還包括記錄傳輸信道狀態的定時器。進一步地,緩衝列表中還包括緩衝列表中數據包的總數量,緩衝列表中每添加一個數據包,則將數據包的總數量的增加預設步長,例如:緩衝列表中每添加一個數據包,則將數據包的總數量的增加1。步驟205、在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。其中,本實施例的步驟201、步驟202、步驟203以及步驟205分別與上述實施例中的步驟101、步驟102、步驟103以及步驟104相同,具體可參照上述實施例中的描述,在此不再贅述。可選的,步驟203之後,步驟204之前,還包括:判斷所述數據包是否為傳輸向協議數據包;若所述數據包為所述傳輸向協議數據包,則判斷所述數據包的數據長度是否大於零;若所述數據包的數據長度大於零,則判斷所述數據包是否為心跳包;步驟204,包括:若所述數據包不是心跳包,則將所述數據包添加至緩衝列表中。為避免影響應用程式與網絡伺服器的正常通信,在攔截數據包後,該步驟進一步對數據包進行篩選,以重新放行步驟203中攔截的數據包中的非傳輸控制協議數據包、握手包以及心跳包。具體地,若該數據包不是傳輸控制協議數據包;或者該數據包為傳輸控制協議數據包,但該數據包的數據長度為零,即該數據包為握手包;或者該數據包為傳輸控制協議數據包,該數據包不是握手包,但該數據包為心跳包,則重新放行該數據包,將該數據包發送至對應的目標應用程式,以使該目標應用程式與發送該數據包的網絡伺服器實現正常通信。若該數據包不是心跳包,則說明暫時攔截該數據包不會對應用程式與網絡伺服器的正常通信造成阻礙,因此,可將該數據包添加至緩衝列表中。具體地,在判定數據包為傳輸控制協議包,且不是握手包後,可以將所述數據包與各類應用程式的心跳包協議規則進行匹配,以判斷所述數據包是否為心跳包,其中,心跳包協議規則包括數據包的數據長度、包頭以及協議結構等參數。若所述數據包與某類應用程式的心跳包協議規則不匹配,則判定所述數據包不是心跳包,將所述數據包添加至緩衝列表中,以在滿則預設的觸發條件時,重新放行所述數據包;若所述數據包與某類應用程式的心跳包協議規則匹配,則判定所述數據包為心跳包,由於心跳包用於維持移動終端和網絡伺服器的連接,因此重新放行該心跳包,以進行長連接的保活。通過對攔截的數據包進行篩選,將非傳輸控制協議數據包、握手包以及心跳包重新放行,從而可以避免阻礙該數據包對應的應用程式與網絡伺服器的正常通信,從而不影響用戶的使用體驗。需要說明的是,該可選步驟同樣可適用於上述實施例中。可選的,所述對所述數據包進行解析,得到所述數據包的應用程式標識信息,包括:對所述數據包進行解析,得到所述數據包的應用程式標識信息,以及所述數據包的源埠;所述攔截所述數據包之後,所述將所述數據包添加至緩衝列表中之前,所述方法還包括:判斷所述數據包的源埠是否為預設埠,所述預設埠為針對超文本傳輸協議的埠;所述將所述數據包添加至緩衝列表中,包括:若所述數據包的源埠為所述預設埠,將所述數據包添加至緩衝列表中。該步驟中,預設埠為針對超文本傳輸協議的埠,如80埠。在判定所述數據包的源埠為預設埠時,將所述數據包添加至緩衝列表中,以在滿足預設的觸發條件時,重新放行所述數據包;若所述數據包的源埠不是預設埠,則重新放行所述數據包。通過上述方法,可以將攔截的數據包中的源埠不是預設埠的數據包重新放行,從而可以避免阻礙該數據包對應的應用程式與網絡伺服器的正常通信。需要說明的是,該可選步驟同樣可適用於上述實施例中。可選的,步驟205包括:在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的傳輸信道和目標應用程式;通過所述傳輸信道,向所述目標應用程式發送所述數據包;喚醒所述目標應用程式,並向所述目標應用程式發送所述數據包。該步驟中,所述應用程式標識對應的傳輸信道被喚醒後,獲取緩衝列表中的數據包的數量,並按照數據包流入緩衝列表的先後順序,預先發送先流入緩衝列表的數據包,直至緩衝列表中的數據包的數量為零。當緩衝列表中的數據包數量為零時,控制該傳輸信道重新進入休眠狀態,等待移動終端再次達到預設觸發條件。其中,線程是程序中一個單一的順序控制流程,是進程內一個相對獨立的、可調度的執行單元。可以理解的,緩衝列表中的數據包可以通過至少兩個線程發送至各個數據包對應的應用程式。通過上述方法,在移動終端滿足預設出發條件時,喚醒所述數據包對應的傳輸信道以及目標應用程式,既可以降低移動終端的耗電量,也不會對用戶的體驗造成影響。需要說明的是,該可選步驟同樣可適用於上述實施例中。可選的,所述在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包,包括:在所述移動終端的屏幕被點亮時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。該步驟中,可以通過用戶觸控電源鍵點亮移動終端的屏幕,也可以在達到自動亮屏時間時點亮移動終端的屏幕,但不僅限於此。在移動終端的屏幕被點亮時,將緩衝列表中的數據包重新放行,發送至其對應的應用程式,使得用戶可以正常查看到各應用程式的推送消息,不影響用戶的使用體驗。需要說明的是,該步驟同樣可適用於上述實施例中,在此不作限定。可選的,可選的,所述攔截所述數據包之後,所述在所述移動終端達到預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包之前,還包括:啟動預設的定時器,所述定時器用於記錄傳輸信道狀態;所述在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包,包括:在所述定時器到達設定時間時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。該步驟中,定時器具體用於記錄傳輸信道處於休眠狀態的時間,在傳輸信道的休眠時間到達設定時間時,喚醒該應用程式標識對應的傳輸信道和目標應用程式,並通過該傳輸信道,將緩衝列表中的數據包發送至其對應的應用程式,使得用戶可以正常查看到各應用程式的推送消息,不影響用戶的使用體驗。可選的,所述在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包,包括:在攔截的數據包的數量滿足預設值時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。該步驟中,預設值可根據實際需要決定,在此不作限定。在攔截的數據包的數量達到預設值時,將緩衝列表中的數據包重新放行,發送至其對應的應用程式,使得用戶可以正常查看到各應用程式的推送消息,不影響用戶的使用體驗。本實施例的數據包處理方法,在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識;判斷所述應用程式標識是否在預設的攔截列表中;若所述應用程式標識在所述攔截列表中,則攔截所述數據包;將所述數據包添加至緩衝列表中;在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。這樣,移動終端通過攔截所述攔截列表中應用程式標識對應的數據包,並在滿足預設觸發條件時,喚醒該數據包對應的目標應用程式,以及向目標應用程式發送該數據包,可以有效避免目標應用程式在休眠過程中被頻繁喚醒,從而降低移動終端的功耗,延長移動終端的續航時間,同時不影響用戶的使用體驗。參見圖3,圖3是本發明實施例提供的移動終端的結構圖之一,該移動終端能夠實現圖1至圖2所示的實施例的數據包處理方法的細節,並達到相同的效果。如圖3所示,移動終端300包括:解析模塊301、第一判斷模塊302、攔截模塊303以及喚醒模塊304,其中,解析模塊301連接第一判斷模塊302下,若第一判斷模塊302還與攔截模塊303連接,攔截模塊303還與喚醒模塊304連接。具體地,解析模塊301,用於在移動終端300處於休眠狀態下,若接收到數據包時,則對所述數據包進行解析,得到所述數據包的應用程式標識;第一判斷模塊302,用於判斷解析模塊301得到的所述應用程式標識是否在預設的攔截列表中;攔截模塊303,用於在第一判斷模塊302判定所述應用程式標識在所述攔截列表中時,攔截所述數據包;喚醒模塊304,用於在移動終端300滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送攔截模塊303攔截的數據包。可選的,如圖4所示,移動終端300還包括:添加模塊305,用於在所述攔截所述數據包之後,所述在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包之前,將所述數據包添加至緩衝列表中。可選的,如圖5所示,移動終端300還包括:第二判斷模塊306,用於在所述攔截所述數據包之後,所述將所述數據包添加至緩衝列表之前,判斷所述數據包是否為傳輸控制協議數據包;第三判斷模塊307,用於在第二判斷模塊306判定所述數據包為所述傳輸控制協議數據包時,判斷所述數據包的數據長度是否大於零;第四判斷模塊308,用於在第三判斷模塊307判定所述數據包的數據長度大於零時,判斷所述數據包是否為心跳包;添加模塊305,用於在第四判斷模塊308判定所述數據包不是心跳包時,將所述數據包添加至緩衝列表中。可選的,解析模塊301,用於對所述數據包進行解析,得到所述數據包的應用程式標識信息和所述數據包的源埠;如圖6所示,移動終端300還包括:第五判斷模塊309,用於在所述攔截所述數據包之後,所述將所述數據包添加至緩衝列表中之前,判斷所述數據包的源埠是否為預設埠,所述預設埠為針對超文本傳輸協議的埠;添加模塊305,用於在第五判斷模塊309判定所述數據包的源埠為所述預設埠時,將所述數據包添加至緩衝列表中。可選的,如圖7所示,喚醒模塊304,包括:喚醒子模塊3041,用於在移動終端300滿足預設觸發條件時,喚醒所述應用程式標識對應的傳輸信道和目標應用程式;發送子模塊3042,用於通過所述傳輸信道,向所述目標應用程式發送所述數據包。可選的,喚醒模塊304,用於在移動終端300的屏幕被點亮時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。可選的,如圖8所示,移動終端300還包括:啟動模塊310,用於在所述攔截所述數據包之後,所述在所述移動終端達到預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並控制所述目標應用程式發送所述數據包之前,啟動預設的定時器,所述定時器用於記錄傳輸信道狀態;喚醒模塊304,用於在所述定時器到達設定時間時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。可選的,喚醒模塊304,用於在攔截的數據包的數量滿足預設值時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。移動終端300能夠實現圖1至圖2的方法實施例中的各個過程,為避免重複,這裡不再贅述。本發明實施例的移動終端,在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識;判斷所述應用程式標識是否在預設的攔截列表中;若所述應用程式標識在所述攔截列表中,則攔截所述數據包;在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。這樣,移動終端通過攔截所述攔截列表中應用程式標識對應的數據包,並在滿足預設觸發條件時,喚醒該數據包對應的目標應用程式,以及向目標應用程式發送該數據包,可以有效避免目標應用程式在休眠過程中被頻繁喚醒,從而降低移動終端的功耗,延長移動終端的續航時間,同時不影響用戶的使用體驗。本發明實施例還提供一種移動終端,包括處理器,存儲器,存儲在所述存儲器上並可在所述處理器上運行的電腦程式,所述電腦程式被所述處理器執行時實現上述數據包處理方法實施例的各個過程,且能達到相同的技術效果,為避免重複,這裡不再贅述。本發明實施例還提供一種計算機可讀存儲介質,計算機可讀存儲介質上存儲有電腦程式,所述電腦程式被處理器執行時實現上述數據包處理方法實施例的各個過程,且能達到相同的技術效果,為避免重複,這裡不再贅述。其中,所述的計算機可讀存儲介質,如只讀存儲器(read-onlymemory,簡稱rom)、隨機存取存儲器(randomaccessmemory,簡稱ram)、磁碟或者光碟等。參見圖9,圖9是本發明實施例提供的移動終端的結構圖之七,該移動終端能夠實現圖1至圖3所示的實施例的數據包處理方法的細節,並達到相同的效果。如圖9所示,移動終端900包括:至少一個處理器901、存儲器902、至少一個網絡接口904和用戶接口903。移動終端900中的各個組件通過總線系統905耦合在一起。可理解,總線系統905用於實現這些組件之間的連接通信。總線系統905除包括數據總線之外,還包括電源總線、控制總線和狀態信號總線。但是為了清楚說明起見,在圖9中將各種總線都標為總線系統905。其中,用戶接口903可以包括顯示器、鍵盤或者點擊設備(例如,滑鼠,軌跡球(trackball)、觸感板或者觸控螢幕等。可以理解,本發明實施例中的存儲器902可以是易失性存儲器或非易失性存儲器,或可包括易失性和非易失性存儲器兩者。其中,非易失性存儲器可以是只讀存儲器(read-onlymemory,rom)、可編程只讀存儲器(programmablerom,prom)、可擦除可編程只讀存儲器(erasableprom,eprom)、電可擦除可編程只讀存儲器(electricallyeprom,eeprom)或快閃記憶體。易失性存儲器可以是隨機存取存儲器(randomaccessmemory,ram),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的ram可用,例如靜態隨機存取存儲器(staticram,sram)、動態隨機存取存儲器(dynamicram,dram)、同步動態隨機存取存儲器(synchronousdram,sdram)、雙倍數據速率同步動態隨機存取存儲器(doubledataratesdram,ddrsdram)、增強型同步動態隨機存取存儲器(enhancedsdram,esdram)、同步連接動態隨機存取存儲器(synchlinkdram,sldram)和直接內存總線隨機存取存儲器(directrambusram,drram)。本文描述的系統和方法的存儲器902旨在包括但不限於這些和任意其它適合類型的存儲器。在一些實施方式中,存儲器902存儲了如下的元素,可執行模塊或者數據結構,或者他們的子集,或者他們的擴展集:作業系統9021和應用程式9022。其中,作業系統9021,包含各種系統程序,例如框架層、核心庫層、驅動層等,用於實現各種基礎業務以及處理基於硬體的任務。應用程式9022,包含各種應用程式,例如媒體播放器(mediaplayer)、瀏覽器(browser)等,用於實現各種應用業務。實現本發明實施例方法的程序可以包含在應用程式9022中。在本發明實施例中,移動終端900還包括:存儲在存儲器902上並可在處理器901上運行的電腦程式,具體地,可以是應用程式9022中的電腦程式,電腦程式被處理器901執行時實現如下步驟:在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識;判斷所述應用程式標識是否在預設的攔截列表中;若所述應用程式標識在所述攔截列表中,則攔截所述數據包;在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。上述本發明實施例揭示的方法可以應用於處理器901中,或者由處理器901實現。處理器901可能是一種集成電路晶片,具有信號的處理能力。在實現過程中,上述方法的各步驟可以通過處理器901中的硬體的集成邏輯電路或者軟體形式的指令完成。上述的處理器901可以是通用處理器、數位訊號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現成可編程門陣列(fieldprogrammablegatearray,fpga)或者其他可編程邏輯器件、分立門或者電晶體邏輯器件、分立硬體組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本發明實施例所公開的方法的步驟可以直接體現為硬體解碼處理器執行完成,或者用解碼處理器中的硬體及軟體模塊組合執行完成。軟體模塊可以位於隨機存儲器,快閃記憶體、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位於存儲器902,處理器901讀取存儲器902中的信息,結合其硬體完成上述方法的步驟。可以理解的是,本文描述的這些實施例可以用硬體、軟體、固件、中間件、微碼或其組合來實現。對於硬體實現,處理單元可以實現在一個或多個專用集成電路(applicationspecificintegratedcircuits,asic)、數位訊號處理器(digitalsignalprocessing,dsp)、數位訊號處理設備(dspdevice,dspd)、可編程邏輯設備(programmablelogicdevice,pld)、現場可編程門陣列(field-programmablegatearray,fpga)、通用處理器、控制器、微控制器、微處理器、用於執行本申請所述功能的其它電子單元或其組合中。對於軟體實現,可通過執行本文所述功能的模塊(例如過程、函數等)來實現本文所述的技術。軟體代碼可存儲在存儲器中並通過處理器執行。存儲器可以在處理器中或在處理器外部實現。可選的,電腦程式被處理器901執行時還可實現如下步驟:在所述攔截所述數據包之後,所述在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包之前,將所述數據包添加至緩衝列表中。可選的,電腦程式被處理器901執行時還可實現如下步驟:在所述攔截所述數據包之後,所述將所述數據包添加至緩衝列表之前,判斷所述數據包是否為傳輸控制協議數據包;若所述數據包為所述傳輸控制協議數據包,則判斷所述數據包的數據長度是否大於零;若所述數據包的數據長度大於零,則判斷所述數據包是否為心跳包;若所述數據包不是心跳包,則將所述數據包添加至緩衝列表中。可選的,電腦程式被處理器901執行時還可實現如下步驟:對所述數據包進行解析,得到所述數據包的應用程式標識信息和所述數據包的源埠;在所述攔截所述數據包之後,所述將所述數據包添加至緩衝列表中之前,判斷所述數據包的源埠是否為預設埠,所述預設埠為針對超文本傳輸協議的埠;若所述數據包的源埠為所述預設埠,將所述數據包添加至緩衝列表中。可選的,電腦程式被處理器901執行時還可實現如下步驟:在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的傳輸信道和目標應用程式;通過所述傳輸信道,向所述目標應用程式發送所述數據包。可選的,電腦程式被處理器901執行時還可實現如下步驟:在所述移動終端的屏幕被點亮時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。可選的,電腦程式被處理器901執行時還可實現如下步驟:在所述攔截所述數據包之後,所述在所述移動終端達到預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包之前,啟動預設的定時器,所述定時器用於記錄傳輸信道狀態;在所述定時器到達設定時間時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。可選的,電腦程式被處理器901執行時還可實現如下步驟:在攔截的數據包的數量滿足預設值時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。移動終端900能夠實現前述方法實施例中的各個過程及有益效果,為避免重複,這裡不再贅述。請參閱圖10,圖10是本發明實施例提供的另一種移動終端的結構示意圖,該移動終端能夠實現圖1至圖2所示的實施例的數據包處理方法的細節,並達到相同的效果。如圖10所示,移動終端1000包括射頻(radiofrequency,rf)電路1001、存儲器1002、輸入單元1003、顯示單元1004、處理器1005、音頻電路1006、wifi模塊1007、電源1008。其中,輸入單元1003可用於接收用戶輸入的數字或字符信息,以及產生與移動終端1000的用戶設置以及功能控制有關的信號輸入。具體地,本發明實施例中,該輸入單元1003可以包括觸控面板10031。觸控面板10031,也稱為觸控螢幕,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板10031上的操作),並根據預先設定的程式驅動相應的連接移動終端。可選的,觸控面板10031可包括觸摸檢測移動終端和觸摸控制器兩個部分。其中,觸摸檢測移動終端檢測用戶的觸摸方位,並檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測移動終端上接收觸摸信息,並將它轉換成觸點坐標,再送給該處理器1005,並能接收處理器1005發來的命令並加以執行。此外,可以採用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板10031。除了觸控面板10031,輸入單元1003還可以包括其他輸入設備10032,其他輸入設備10032可以包括但不限於物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、滑鼠、操作杆等中的一種或多種。其中,顯示單元1004可用於顯示由用戶輸入的信息或提供給用戶的信息以及移動終端1000的各種菜單界面。顯示單元1004可包括顯示面板10041,可選的,可以採用lcd或有機發光二極體(organiclight-emittingdiode,oled)等形式來配置顯示面板10041。應注意,觸控面板10031可以覆蓋顯示面板10041,形成觸摸顯示屏,當該觸摸顯示屏檢測到在其上或附近的觸摸操作後,傳送給處理器1005以確定觸摸事件的類型,隨後處理器1005根據觸摸事件的類型在觸摸顯示屏上提供相應的視覺輸出。觸摸顯示屏包括應用程式界面顯示區及常用控制項顯示區。該應用程式界面顯示區及該常用控制項顯示區的排列方式並不限定,可以為上下排列、左右排列等可以區分兩個顯示區的排列方式。該應用程式界面顯示區可以用於顯示應用程式的界面。每一個界面可以包含至少一個應用程式的圖標和/或widget桌面控制項等界面元素。該應用程式界面顯示區也可以為不包含任何內容的空界面。該常用控制項顯示區用於顯示使用率較高的控制項,例如,設置按鈕、界面編號、滾動條、電話本圖標等應用程式圖標等。本發明實施例的觸控螢幕為柔性屏,柔性屏的兩個面均貼有碳納米管的有機透明導電膜。其中處理器1005是移動終端1000的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執行存儲在第一存儲器10021內的軟體程序和/或模塊,以及調用存儲在第二存儲器10022內的數據,執行移動終端1000的各種功能和處理數據,從而對移動終端1000進行整體監控。可選的,處理器1005可包括一個或多個發送單元。在本發明實施例中,移動終端1000還包括:存儲在存儲器1002上並可在處理器1005上運行的電腦程式,具體地,可以是第一存儲器10021中的電腦程式,電腦程式被處理器1005執行時實現如下步驟:在移動終端處於休眠狀態下,若接收到數據包,則對所述數據包進行解析,得到所述數據包的應用程式標識;判斷所述應用程式標識是否在預設的攔截列表中;若所述應用程式標識在所述攔截列表中,則攔截所述數據包;在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。可選的,電腦程式被處理器1005執行時還可實現如下步驟:在所述攔截所述數據包之後,所述在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包之前,將所述數據包添加至緩衝列表中。可選的,電腦程式被處理器1005執行時還可實現如下步驟:在所述攔截所述數據包之後,所述將所述數據包添加至緩衝列表之前,判斷所述數據包是否為傳輸控制協議數據包;若所述數據包為所述傳輸控制協議數據包,則判斷所述數據包的數據長度是否大於零;若所述數據包的數據長度大於零,則判斷所述數據包是否為心跳包;若所述數據包不是心跳包,則將所述數據包添加至緩衝列表中。可選的,電腦程式被處理器1005執行時還可實現如下步驟:對所述數據包進行解析,得到所述數據包的應用程式標識信息和所述數據包的源埠;在所述攔截所述數據包之後,所述將所述數據包添加至緩衝列表中之前,判斷所述數據包的源埠是否為預設埠,所述預設埠為針對超文本傳輸協議的埠;若所述數據包的源埠為所述預設埠,將所述數據包添加至緩衝列表中。可選的,電腦程式被處理器1005執行時還可實現如下步驟:在所述移動終端滿足預設觸發條件時,喚醒所述應用程式標識對應的傳輸信道和目標應用程式;通過所述傳輸信道,向所述目標應用程式發送所述數據包。可選的,電腦程式被處理器1005執行時還可實現如下步驟:在所述移動終端的屏幕被點亮時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。可選的,電腦程式被處理器1005執行時還可實現如下步驟:在所述攔截所述數據包之後,所述在所述移動終端達到預設觸發條件時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包之前,啟動預設的定時器,所述定時器用於記錄傳輸信道狀態;在所述定時器到達設定時間時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。可選的,電腦程式被處理器1005執行時還可實現如下步驟:在攔截的數據包的數量滿足預設值時,喚醒所述應用程式標識對應的目標應用程式,並向所述目標應用程式發送所述數據包。移動終端1000能夠實現前述方法實施例中的各個過程及有益效果,為避免重複,這裡不再贅述。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬體、或者計算機軟體和電子硬體的結合來實現。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的範圍。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本發明實施例方案的目的。另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬碟、rom、ram、磁碟或者光碟等各種可以存儲程序代碼的介質。以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本
技術領域:
:的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以權利要求的保護範圍為準。當前第1頁12當前第1頁12