長連結的斷開、恢復的方法和裝置的製作方法
2024-02-16 11:57:15 2
專利名稱:長連結的斷開、恢復的方法和裝置的製作方法
技術領域:
本發明實施例涉及通信技術領域,尤其涉及一種長連結的斷開、恢復的方法和裝置。
背景技術:
IM(Instant Messaging,即時通訊軟體)軟體是一種為使用者提供在網絡上建立某種私人聊天室的實時通訊服務軟體。由於IM軟體信息傳遞的即時性,則需要該IM軟體處於長期的運行狀態以保持其與伺服器的有效連結。由於IM軟體處於長期運行狀態,從而導致運行該頂軟體的終端的耗電量的增加,因此如何減少終端的耗電量已逐步受到關注,尤其是對於電量儲備有限的移動終端,減少該移動終端運行頂軟體時的耗電量,則顯得尤為重要。
發明內容
為了減少該移動終端運行IM軟體時的耗電量,本發明實施例提供一種長連結的斷開、恢復方法,包括:接收到當前數據包後,判斷是否在預設時間間隔內接收到下一數據包,如果否,則斷開與對端的長連結;根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,所述恢復時間是指從長連結斷開後至再次建立長連結之間的時間;根據所述本次長連結的恢復時間,恢復與對端的長連結。所述根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,具體包括:獲取上次長連結的恢復時間;在所述上次長連結的恢復時間上累加預設遞增時間,得到累加後的上次長連結的恢復時間;判斷所述累加後的上次長連結的恢復時間是否大於或等於預設最大恢復時間,如果是,則將預設初始長連結的恢復時間作為本次長連結的恢復時間;如果否,則將累加後的上次長連結的恢復時間作為本次長連結的恢復時間。所述初始長連結的恢復時間為所述大於預設最大恢復時間的N等分之一;所述初始長連結的恢復時間與所述預設遞增時間相等;其中,N為大於一的正整數。優選的,N等於三。所述判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包,具體包括:通過為接收到的當前數據包設置計時器,判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包。本發明實施例還提供了一種長連結的斷開、恢復裝置,包括:
連結判斷模塊,用於接收到當前數據包後,判斷是否在預設時間間隔內接收到下一數據包,如果否,則斷開與對端的長連結;連結恢復時間生成模塊,用於根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,所述恢復時間是指從長連結斷開後至再次建立長連結之間的時間;連結恢復模塊,用於根據所述本次長連結的恢復時間,恢復與對端的長連結。所述連結恢復時間生成模塊,具體包括:上次長連結的恢復時間獲取單元,用於獲取上次長連結的恢復時間;累加後的上次長連結的恢復時間生成單元,用於在所述上次長連結的恢復時間上累加預設遞增時間,得到累加後的上次長連結的恢復時間;連結恢復確定單元,用於判斷所述累加後的上次長連結的恢復時間是否大於或等於預設最大恢復時間,如果是,則將預設初始長連結的恢復時間作為本次長連結的恢復時間;如果否,則將累加後的上次長連結的恢復時間作為本次長連結的恢復時間。所述初始長連結的恢復時間為所述大於預設最大恢復時間的N等分之一;所述初始長連結的恢復時間與所述預設遞增時間相等;其中,N為大於一的正整數,優選的,N等於三。所述連結判斷模塊具體用於通過為接收到的當前數據包設置計時器,判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包。本發明實施例通過判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包,如果是,則斷開與對端的長連結;並根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,根據所述本次長連結的恢復時間,恢復與對端的長連結。解決了當移動終端運行頂的軟體、需要消息較為及時的情況下,對終端電量及通信流量的需求,增加了終端的待機時間,節省了終端的電量和通信流量,提升了用戶體驗。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明一種實施例提供長連結的斷開、恢復方法流程圖;圖2為本發明另一種實施例提供長連結的斷開、恢復方法流程圖;圖3為本發明再一種實施例提供長連結的斷開、恢復方法示意圖;圖4為本發明一種實施例提供長連結的斷開、恢復裝置示意圖;圖5為本發明另一種實施例提供長連結的斷開、恢復裝置示意圖。
具體實施例方式為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。如圖1所示,本發明實施例提供了一種長連結的斷開、恢復方法,包括:SlOl:接收到當前數據包後,判斷是否在預設時間間隔內接收到下一數據包,如果否,則斷開與對端的長連結;S102:根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,所述恢復時間是指從長連結斷開後至再次建立長連結之間的時間;S103:根據所述本次長連結的恢復時間,恢復與對端的長連結。需要說明的是,本實施例各驟的執行主體可以是無線終端,如手機、移動電腦等,還可以具有上述各步驟功能的其他裝置。所述對端,是指當本實施例的執行主體運行IM軟體時,與該執行主體進行信息交換的另一裝置。通過本實施例的執行主體與該對端進行信息交互,從而實現該M軟體的功能。該對端可以是可與該執行主體進行信息交互的任意裝置,如是無線終端,如手機、移動電腦等,該對端還可以是伺服器。本發明實施例通過判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包,如果是,則斷開與對端的長連結;並根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,根據所述本次長連結的恢復時間,恢復與對端的長連結。解決了當移動終端運行頂的軟體、需要消息較為及時的情況下,對終端電量及通信流量的需求,增加了終端的待機時間,節省了終端的電量和通信流量,提升了用戶體驗。如圖2所示,本發明實施例還提供了一種長連結的斷開和恢復方法,本方法可用於實現但移動終端上運行通訊錄頂的軟體、需要消息較為及時的情況下,節省了終端的電量和通信流量。在上一實施例的基礎上,本實例進一步驟包括:S201:接收到當前數據包後,判斷是否在預設時間間隔內接收到下一數據包,如果否,則執行S202,如果是,則本流程結束。可選的,可通過為接收到的當前數據包設置計時器,判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包。例如,通過為接收到的當前數據包設置計時器,對接受到的該當前數據包進行計時,若預設時間間隔為Tmax,當計時器統計的時間為t,當t > =時Tmax時,則執行S202。進一步可選的,還可通過獲取接收到的相鄰兩數據包的時間;根據所述接收到的相鄰兩數據包的時間,計算所述接收到的相鄰兩數據包的時間差。本實施例中,可通過計時器程序對接收到的數據包進行計時,從而獲取到每個接收到的數據包的時間,進而獲取到接收到的相鄰兩數據包的時間。其中,所述時間差為接收到的相鄰兩數據包之間的時間間隔。例如,計時器記錄的終端接收到數據包Dn的時間為Tn,接收到數據包Dlri的時間為Tn+ Dn, Dlri為相鄰的兩個數據包;接收到該相鄰兩數據包的時間間隔為ITn-TlriU若預設時間間隔為Tmax時,當I Tn-Tlri > =時Tmax,則執行S202。S202:斷開與對端的長連結;例如,當S201採用第二種可選方式,確定了接收到當前數據包後為在預設時間內接收到下一數據包,及預設時間間隔為Tmax時,當I Tn-Tlri I > =時Tmax,則執行S205,斷開與對端的長連結;當ITn-TlriI <時Tmax,在本流程結束。本實施裡通過將預設時間間隔與接收到相鄰兩數據包之間的時間間隔進行對比,從而判斷移動終端上運行的通訊錄IM軟體的活動狀態,即當接收到相鄰兩數據包之間的時間間隔大於或等於預設時間間隔時,判定該移動終端上運行的IM軟體活動較不頻繁,為了節省終端的電量和通信流量,斷開與對端的長連結。當接收到相鄰兩數據包之間的時間間隔小於預設時間間隔時,判定該移動終端上運行的頂軟體活動較頻繁,保持與對端的長連結。S203:獲取上次長連結的恢復時間;本實施例中,終端對與其建立長連結的對端之間的信息交互進行監督,通過本發明控制該終端與該對端的長連結的斷開與恢復。其中,所述長連結恢復時間是指從長連結斷開後至再次建立長連結之間的時間,每次長連結恢復時間可以相同也可以不同,具體的長連結恢復時間的計算方法參見在本實施例的後續步驟。進而所述上次長連結的恢復時間是指,從前一次長連結斷開後至恢復該次長連結所需的時間。例如,上次長連結的恢復時間表示為TRlrftlS204:在所述上次長連結的恢復時間上累加預設遞增時間,得到累加後的上次長連結的恢復時間;其中,預設遞增時間,是指在本實施例中,在每次斷開長連結後,用於恢復斷開長連結的單位遞增時間。例如,該預設遞增時間可以表示為AT。例如,當上次長連結的恢復時間表示為TRlr1、預設遞增時間表示為AT以及時,累加後的上次長連結的恢復時間=TRn^1+ Δ T0S205:判斷所述累加後的上次長連結的恢復時間是否大於或等於預設最大恢復時間,如果是,則執行S206 ;如果否,則執行S207。其中,當終端 與對端斷開長連結後,可以採用不同的時間恢復該斷開的長連結,但最長不能超過該預設最大恢復時間TR X。S206:將預設初始長連結的恢復時間作為本次長連結的恢復時間後,本流程結束;其中,該預設初始長連結的恢復時間是指,用於恢復終端與對端首次斷開的長連結的時間,以及通過S205判斷所述累加後的上次長連結的恢復時間大於或等於預設最大恢復時間時,採用的本次長連結的恢復時間。S207:將累加後的上次長連結的恢復時間作為本次長連結的恢復時間。本發明實施例通過判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包,如果是,則斷開與對端的長連結;並根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,根據所述本次長連結的恢復時間,恢復與對端的長連結。解決了當移動終端運行頂的軟體、需要消息較為及時的情況下,對終端電量及通信流量的需求,增加了終端的待機時間,節省了終端的電量和通信流量,提升了用戶體驗。本發明實施例還提供了一種優選的長連結的斷開和恢復方法,本方法可用於實現但移動終端上運行通訊錄IM的軟體、需要消息較為及時的情況下,節省了終端的電量和通
信流量。在上一實施例的基礎上,所述初始長連結的恢復時間為所述大於預設最大恢復時間的N等分之一;所述初始長連結的恢復時間與所述預設遞增時間相等。其中,N為大於一的正整數,優選的,N等於三。例如,如圖3所示,預設最大恢復時間TRmax = 3Y分鐘;預設遞增時間AT = Y^設初始長連結的恢復時間=Y。從第一次長連結斷開時刻起,終端會以Y分鐘的時間,遞增去恢復斷開的長連接。本發明實施例通過判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包,如果是,則斷開與對端的長連結;並根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,根據所述本次長連結的恢復時間,恢復與對端的長連結。解決了當移動終端運行頂的軟體、需要消息較為及時的情況下,對終端電量及通信流量的需求,增加了終端的待機時間,節省了終端的電量和通信流量,提升了用戶體驗。如圖4所示,本發明實施例還提供了一種長連結的斷開、恢復裝置,包括:連結判斷模塊301,用於接收到當前數據包後,判斷是否在預設時間間隔內接收到下一數據包,如果否,則斷開與對端的長連結;連結恢復時間·生成模塊302,用於根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,所述恢復時間是指從長連結斷開後至再次建立長連結之間的時間;連結恢復模塊303,用於根據所述本次長連結的恢復時間,恢復與對端的長連結。本發明實施例通過判斷所述時間間隔是否大於預設時間間隔,如果是,則恢復與對端的長連結;並根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,根據所述本次長連結的恢復時間,恢復與對端的長連結。解決了當移動終端運行通訊錄IM的軟體、需要消息較為及時的情況下,對終端電量及通信流量的需求,增加了終端的待機時間,節省了終端的電量和通信流量,提升了用戶體驗。如圖5所示,在上一實施例的基礎上,本發明實施例還提供了一種長連結的斷開、恢復裝置,其中,所述連結恢復時間生成模塊302,具體包括:上次長連結的恢復時間獲取單元3021,用於獲取上次長連結的恢復時間;累加後的上次長連結的恢復時間生成單元3022,用於在所述上次長連結的恢復時間上累加預設遞增時間,得到累加後的上次長連結的恢復時間;連結恢復確定單元3023,用於判斷所述累加後的上次長連結的恢復時間是否大於或等於預設最大恢復時間,如果是,則將預設初始長連結的恢復時間作為本次長連結的恢復時間;如果否,則將累加後的上次長連結的恢復時間作為本次長連結的恢復時間。優選的,所述初始長連結的恢復時間為所述大於預設最大恢復時間的N等分之所述初始長連結的恢復時間與所述預設遞增時間相等;其中,N為大於一的正整數,優選的,N等於三。本實施例中,所述連結判斷模塊具體用於通過為接收到的當前數據包設置計時器,判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包。本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成,前述的程序可以存儲於一計算機可讀取存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質。最後應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。
權利要求
1.一種長連結的斷開、恢復方法,其特徵在於,包括: 接收到當前數據包後,判斷是否在預設時間間隔內接收到下一數據包,如果否,則斷開與對端的長連結; 根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,所述恢復時間是指從長連結斷開後至再次建立長連結之間的時間; 根據所述本次長連結的恢復時間,恢復與對端的長連結。
2.根據權利要求1所述的方法,其特徵在於,所述根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,具體包括: 獲取上次長連結的恢復時間; 在所述上次長連結的恢復時間上累加預設遞增時間,得到累加後的上次長連結的恢復時間; 判斷所述累加後的上次長連結的恢復時間是否大於或等於預設最大恢復時間,如果是,則將預設初始長連結的恢復時間作為本次長連結的恢復時間; 如果否,則將累加後的上次長連結的恢復時間作為本次長連結的恢復時間。
3.根據權利要求2所述的方法,其特徵在於,所述初始長連結的恢復時間為所述大於預設最大恢復時間的N等分之一; 所述初始長連結的恢復時間與所述預設遞增時間相等; 其中,N為大於一的正整數。
4.根據權利要求3所述的方法,其特徵在於,N等於三。
5.根據權利要求1所述的方法,其特徵在於,所述判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包,具體包括: 通過為接收到的當前數據包設置計時器,判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包。
6.一種長連結的斷開、恢復裝置,其特徵在於,包括: 連結判斷模塊,用於接收到當前數據包後,判斷是否在預設時間間隔內接收到下一數據包,如果否,則斷開與對端的長連結; 連結恢復時間生成模塊,用於根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間,所述恢復時間是指從長連結斷開後至再次建立長連結之間的時間; 連結恢復模塊,用於根據所述本次長連結的恢復時間,恢復與對端的長連結。
7.根據權利要求6所述的裝置,其特徵在於,所述連結恢復時間生成模塊,具體包括: 上次長連結的恢復時間獲取單元,用於獲取上次長連結的恢復時間; 累加後的上次長連結的恢復時間生成單元,用於在所述上次長連結的恢復時間上累加預設遞增時間,得到累加後的上次長連結的恢復時間; 連結恢復確定單元,用於判斷所述累加後的上次長連結的恢復時間是否大於或等於預設最大恢復時間,如果是,則將預設初始長連結的恢復時間作為本次長連結的恢復時間;如果否,則將累加後的上次長連結的恢復時間作為本次長連結的恢復時間。
8.根據權利要求7所述的裝置, 其特徵在於,所述初始長連結的恢復時間為所述大於預設最大恢復時間的N等分之一;所述初始長連結的恢復時間與所述預設遞增時間相等; 其中,N為大於一的正整數。
9.根據權利要求8所述的裝置,其特徵在於,N等於三。
10.根據權利要求6所 述的裝置,其特徵在於,所述連結判斷模塊具體用於通過為接收到的當前數據包設置計時器,判斷在接收到當前數據包後,是否在預設時間間隔內接收到下一數據包。
全文摘要
本發明實施例提供了一種長連結的斷開、恢復方法,包括接收到當前數據包後,判斷是否在預設時間間隔內接收到下一數據包,如果否,則斷開與對端的長連結;根據上次長連結的恢復時間、預設遞增時間和預設最大恢復時間,生成本次長連結的恢復時間;根據所述本次長連結的恢復時間,恢復與對端的長連結。本發明實施例還提供了一種長連結的斷開、恢復裝置,包括連結判斷模塊、連結恢復時間生成模塊,以及連結恢復模塊。本發明實施例,解決了當移動終端運行通訊錄IM的軟體、需要消息較為及時的情況下,對終端電量及通信流量的需求,增加了終端的待機時間,節省了終端的電量和通信流量,提升了用戶體驗。
文檔編號H04W52/02GK103188771SQ20111044399
公開日2013年7月3日 申請日期2011年12月27日 優先權日2011年12月27日
發明者馮家耀, 劉方敏, 黃佳洲, 吳志剛 申請人:騰訊科技(深圳)有限公司