本發(fā)明涉及移動通信領(lǐng)域,更具體地說,涉及一種保持網(wǎng)絡連接的方法及裝置。
背景技術(shù):
隨時移動網(wǎng)絡和智能移動終端的快速普及發(fā)展,人們可以通過智能移動進行實時辦公、聊天、購物、支付、導航、娛樂等,而大多數(shù)操作都需要在有網(wǎng)絡的情況下才能使用,因此,保持智能移動終端的網(wǎng)絡連接顯得尤為重要。由于移動設備上的網(wǎng)絡是移動運營商分配的內(nèi)網(wǎng)IP,在移動網(wǎng)絡上訪問internet時運營商會做一個網(wǎng)絡地址的轉(zhuǎn)換(Network Address Translation,NAT),簡單的說運營商的網(wǎng)關(guān)需要維護一個外網(wǎng)IP、端口到內(nèi)網(wǎng)IP、端口的對應關(guān)系,以確保內(nèi)網(wǎng)的手機可以跟Internet的服務器通訊。
但由于網(wǎng)關(guān)資源的限制,如果一個終端長時間連接網(wǎng)絡而沒有數(shù)據(jù)交換,就會被運營商斷開這個網(wǎng)絡,這是違背我們初衷的,所以現(xiàn)有的技術(shù)都是以固定的頻率發(fā)送一個心跳包來保護網(wǎng)絡長連接不被網(wǎng)關(guān)釋放掉。但此種方式存一個問題,就是這個頻率到底多高?
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述移動終端發(fā)送心跳包時間間隔不合理的缺陷,提供一種保持網(wǎng)絡連接的方法及裝置。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種保持網(wǎng)絡連接的方法,應用于移動終端,包括以下步驟:
S1:所述移動終端在預設的心跳包發(fā)送時間間隔內(nèi)選擇第一時間間隔;
S2:所述移動終端以所述第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,查看所述移動終端是否處于網(wǎng)絡連接狀態(tài);
S3:若所述移動終端未處于網(wǎng)絡連接狀態(tài),則調(diào)用網(wǎng)絡連接請求命令,使所述移動終端連接到網(wǎng)絡,然后執(zhí)行所述步驟S2;若所述移動終端處于網(wǎng)絡連接狀態(tài),則重復執(zhí)行所述步驟S2,并計算網(wǎng)絡連續(xù)成功連接的次數(shù);
S4:驗證所述網(wǎng)絡連續(xù)成功連接次數(shù)是否達到預設次數(shù);
S5:若達到所述預設值,則以第一增加幅值增大所述第一時間間隔;若未達到所述預設值,則以第一減小幅值減小所述第一時間間隔;
S6:重復執(zhí)行所述步驟S2至S5,直至得到最優(yōu)時間間隔,以所述最優(yōu)時間間隔作為固定時間間隔向所述網(wǎng)關(guān)發(fā)送心跳包,使所述移動終端保持網(wǎng)絡連接。
優(yōu)選地,在本發(fā)明所述的保持網(wǎng)絡連接的方法中,在所述步驟S1中,第一時間間隔interval在時間間隔區(qū)間[min,max]內(nèi)取值,其中,min為最小值,max為最大值,min、max都為正整數(shù);
在所述步驟S4中,所述預設次數(shù)記為(interval/N1+1),其中,N1為正整數(shù)且N1>min,(interval/N1+1)向下取整。
優(yōu)選地,在本發(fā)明所述的保持網(wǎng)絡連接的方法,所述步驟S5中的所述第一增加幅值為(max-interval)/N2,即增大后的第一時間間隔為interval+(max-interval)/N2;
所述步驟S5中的所述第一減小幅值為(max-interval)/N3,即減小后的第一時間間隔為interval-(max-interval)/N3,其中,N3>N2,且N2和N3為正整數(shù)。
優(yōu)選地,在本發(fā)明所述的保持網(wǎng)絡連接的方法,當減小后的第一時間間隔interval-(max-interval)/N3小于時間間隔區(qū)間的最小值min時,取interval=min。
優(yōu)選地,在本發(fā)明所述的保持網(wǎng)絡連接的方法,所述第一時間間隔interval取(max+min)/2,所述方法還包括:
當連續(xù)成功連接次數(shù)達到所述預設次數(shù)時,取min=interval,第一時間間隔interval調(diào)整為(max+min)/2;
當連續(xù)成功連接次數(shù)未達到所述預設次數(shù)時,取max=interval,第一時間間隔interval調(diào)整為(max+min)/2。
另,本發(fā)明還公開一種保持網(wǎng)絡連接的裝置,應用于移動終端,包括:
第一設置單元,用于所述移動終端在預設的心跳包發(fā)送時間間隔內(nèi)選擇第一時間間隔;
網(wǎng)絡檢測單元,用于所述移動終端以所述第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,查看所述移動終端是否處于網(wǎng)絡連接狀態(tài);
判斷單元,用于若所述移動終端未處于網(wǎng)絡連接狀態(tài),則調(diào)用網(wǎng)絡連接請求命令,使所述移動終端連接到網(wǎng)絡,然后執(zhí)行所述網(wǎng)絡檢測單元;若所述移動終端處于網(wǎng)絡連接狀態(tài),則重復執(zhí)行所述網(wǎng)絡檢測單元,并計算網(wǎng)絡連續(xù)成功連接的次數(shù);
驗證單元,用于驗證所述網(wǎng)絡連續(xù)成功連接次數(shù)是否達到預設次數(shù);
第一調(diào)整單元,用于若達到所述預設值,則以第一增加幅值增大所述第一時間間隔;若未達到所述預設值,則以第一減小幅值減小所述第一時間間隔;
第二調(diào)整單元,用于通過所述網(wǎng)絡檢測單元、判斷單元、驗證單元、第一調(diào)整單元對第一時間間隔進行多次調(diào)整,直至得到最優(yōu)時間間隔,以所述最優(yōu)時間間隔作為固定時間間隔向所述網(wǎng)關(guān)發(fā)送心跳包,使所述移動終端保持網(wǎng)絡連接。
優(yōu)選地,本發(fā)明所述的保持網(wǎng)絡連接的裝置,還包括:
第二設置單元,第一時間間隔interval在時間間隔區(qū)間[min,max]內(nèi)取值,其中,min為最小值,max為最大值,min、max都為正整數(shù);所述預設次數(shù)記為(interval/N1+1),其中,N1為正整數(shù)且N1>min,(interval/N1+1)向下取整。
優(yōu)選地,本發(fā)明所述的保持網(wǎng)絡連接的裝置,還包括:
第三調(diào)整單元,所述第一增加幅值為(max-interval)/N2,即增大后的第一時間間隔為interval+(max-interval)/N2;所述第一減小幅值為(max-interval)/N3,即減小后的第一時間間隔為interval-(max-interval)/N3,其中,N3>N2,且N2和N3為正整數(shù)。
優(yōu)選地,本發(fā)明所述的保持網(wǎng)絡連接的裝置,還包括:
第四調(diào)整單元,用于當減小后的第一時間間隔interval-(max-interval)/N3小于時間間隔區(qū)間的最小值min時,取interval=min。
優(yōu)選地,本發(fā)明所述的保持網(wǎng)絡連接的裝置,還包括:
第五調(diào)整單元,用于所述第一時間間隔interval取(max+min)/2,當連續(xù)成功連接次數(shù)達到所述預設次數(shù)時,取min=interval,第一時間間隔interval調(diào)整為(max+min)/2;當連續(xù)成功連接次數(shù)未達到所述預設次數(shù)時,取max=interval,第一時間間隔interval調(diào)整為(max+min)/2。
實施本發(fā)明的一種保持網(wǎng)絡連接的方法,具有以下有益效果:該方法應用于移動終端,包括:所述移動終端在預設的心跳包發(fā)送時間間隔內(nèi)選擇第一時間間隔;所述移動終端以所述第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,查看所述移動終端是否處于網(wǎng)絡連接狀態(tài);若所述移動終端未處于網(wǎng)絡連接狀態(tài),則調(diào)用網(wǎng)絡連接請求命令,使所述移動終端連接到網(wǎng)絡,然后再發(fā)送心跳包;若所述移動終端處于網(wǎng)絡連接狀態(tài),則重復執(zhí)行第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,并計算網(wǎng)絡連續(xù)成功連接的次數(shù);驗證所述網(wǎng)絡連續(xù)成功連接次數(shù)是否達到預設次數(shù);若達到所述預設值,則以第一增加幅值增大所述第一時間間隔;若未達到所述預設值,則以第一減小幅值減小所述第一時間間隔;重復執(zhí)行上述步驟,直至得到最優(yōu)時間間隔,以所述最優(yōu)時間間隔作為固定時間間隔向所述網(wǎng)關(guān)發(fā)送心跳包,使所述移動終端保持網(wǎng)絡連接。通過實施本發(fā)明,使移動終端根據(jù)網(wǎng)絡環(huán)境的不同,快速獲取發(fā)送心跳包的最優(yōu)時間間隔,以該最優(yōu)時間間隔發(fā)送心跳包,不僅使移動終端始終保持網(wǎng)絡連接,還能節(jié)約移動終端的電量和流量。
附圖說明
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1是本發(fā)明一種保持網(wǎng)絡連接的方法的流程示意圖;
圖2是本發(fā)明一種保持網(wǎng)絡連接的裝置的結(jié)構(gòu)示意圖。
具體實施方式
為了對本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對照附圖詳細說明本發(fā)明的具體實施方式。
本發(fā)明實施例公開一種保持網(wǎng)絡連接的方法及裝置,移動終端根據(jù)不同的網(wǎng)絡快速調(diào)整發(fā)送心跳包的時間間隔,獲得最優(yōu)時間間隔;并以該最優(yōu)時間間隔發(fā)送心跳包來保護網(wǎng)絡不被網(wǎng)管釋放掉,使移動終端始終保持網(wǎng)絡連接,同時節(jié)約移動終端的電量和流量。以下分別進行詳細說明。
如圖1所示,是本發(fā)明一種保持網(wǎng)絡連接的方法的優(yōu)選實施例。
請參閱圖1,圖1是本發(fā)明一種保持網(wǎng)絡連接的方法的流程示意圖。該方法可以應用于需要聯(lián)網(wǎng)工作的移動終端中,其中,移動終端包括但不限于手機、平板電腦、筆記本電腦、智能手表、智能手環(huán)、智能可穿戴設備、智能家居設備等;移動終端連接的網(wǎng)絡包括但不限于移動運營商提供的移動網(wǎng)絡、WIFI、WLAN等,移動網(wǎng)絡包括2G、3G、4G網(wǎng)絡。如圖1所示,該保持網(wǎng)絡連接的方法包括以下步驟:
S1:移動終端在預設的心跳包發(fā)送時間間隔內(nèi)選擇第一時間間隔。
具體的,在移動終端連接到網(wǎng)絡后,如果長時間沒有與網(wǎng)絡進行數(shù)據(jù)交換時,網(wǎng)絡運營商會斷掉該連接,釋放網(wǎng)絡資源。另外,在無數(shù)據(jù)交互時,網(wǎng)絡運營商在不同地區(qū)設置的保持網(wǎng)絡連接的時間是不同的;網(wǎng)絡運營商提供的不同網(wǎng)絡制式設置的保持網(wǎng)絡連接的時間是不同的,例如2G、3G、4G網(wǎng)絡設置的保持網(wǎng)絡連接的時間是不同。根據(jù)實測結(jié)果或運營商提供的聯(lián)網(wǎng)數(shù)據(jù),統(tǒng)計在無數(shù)據(jù)交換情況下網(wǎng)絡連接的保持時間,根據(jù)統(tǒng)計結(jié)果,得到網(wǎng)絡連接的區(qū)間范圍。
根據(jù)網(wǎng)絡連接的區(qū)間范圍,設置移動終端發(fā)送心跳包的時間間隔取值范圍[min,max],其中,min為最小值,max為最大值,min、max都為正整數(shù),時間間隔的單位可以為毫秒mS、秒S、分Min等,本實施例對此不做限制,可根據(jù)需要進行選擇??梢岳斫?,本實施例設置的移動終端發(fā)送心跳包的時間間隔取值范圍[min,max]應當包含最優(yōu)時間間隔。
在時間間隔區(qū)間[min,max]內(nèi)任意選取第一時間間隔interval,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包。
S2:移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,查看移動終端是否處于網(wǎng)絡連接狀態(tài)。
具體的,在時間間隔區(qū)間[min,max]內(nèi)任意選取第一時間間隔interval,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包。因發(fā)送心跳包前移動終端并不知道移動終端是否還與網(wǎng)絡保持連接,應在發(fā)送心跳包后查看移動終端是否處于網(wǎng)絡連接狀態(tài)。本實施例不對如何判斷移動終端是否連接網(wǎng)絡的技術(shù)進行限定,只要能獲知移動終端是否處于網(wǎng)絡連接狀態(tài)即可。
S3:若移動終端未處于網(wǎng)絡連接狀態(tài),則調(diào)用網(wǎng)絡連接請求命令,使移動終端連接到網(wǎng)絡,然后執(zhí)行步驟S2;若移動終端處于網(wǎng)絡連接狀態(tài),則重復執(zhí)行步驟S2,并計算網(wǎng)絡連續(xù)成功連接的次數(shù)。
具體的,在移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包后,查看移動終端是否處于網(wǎng)絡連接狀態(tài),移動終端存在兩種狀態(tài):
a.若移動終端未處于網(wǎng)絡連接狀態(tài),說明移動終端已經(jīng)被網(wǎng)關(guān)釋放,此時應首先調(diào)用網(wǎng)絡連接請求命令,調(diào)用網(wǎng)絡連接模塊,使移動終端連接到網(wǎng)絡,然后再立即執(zhí)行步驟S2,即保證移動終端與網(wǎng)絡連接的狀態(tài)下發(fā)送心跳包。
b.若移動終端處于網(wǎng)絡連接狀態(tài),則重復執(zhí)行步驟S2,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,查看移動終端是否處于網(wǎng)絡連接狀態(tài)。并計算網(wǎng)絡連續(xù)成功連接的次數(shù)。需要注意的是,本實施例必須保證網(wǎng)絡連接成功是連續(xù)的,如果中間有連接不成功的,則說明該第一時間間隔不合理,應該調(diào)整。
S4:驗證網(wǎng)絡連續(xù)成功連接次數(shù)是否達到預設次數(shù)。
具體的,驗證移動終端在第一時間間隔下發(fā)送心跳包是否合理,為保證所選的時間間隔的穩(wěn)定,應盡量多的進行連接測試,以保證第一時間間隔的可靠性。但是,實驗次數(shù)過多,會導致獲取最優(yōu)時間間隔時間過長,同時浪費移動終端的電量和資源。因此要合理確定驗證的次數(shù),在第一時間間隔較小時,驗證的次數(shù)相對較少;在第一時間間隔較大時,驗證的次數(shù)相對較多;第一時間間隔越大,驗證次數(shù)越多。預設次數(shù)可人工設定,也可根據(jù)第一時間間隔的不同進行動態(tài)設定。
優(yōu)選地,預設次數(shù)根據(jù)第一時間間隔的不同進行動態(tài)設定:預設次數(shù)記為(interval/N1+1),其中,N1為正整數(shù),N1>min,(interval/N1+1)向下取整。
例如,當時間間隔的單位為秒S時,取N1=100,則預設次數(shù)記為(interval/100+1),其中,(interval/N1+1)向下取整。當interval=180時,(180/100+1)=2,只需要探測兩次即可;當interval=240時,(240/100+1)=3,只需要探測三次即可。
S5:若達到預設值,則以第一增加幅值增大第一時間間隔;若未達到預設值,則以第一減小幅值減小第一時間間隔。
具體的,在驗證過程中,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,連接成功后繼續(xù)以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,統(tǒng)計連續(xù)連接成功的次數(shù)。若網(wǎng)絡連續(xù)成功連接次數(shù)達到預設次數(shù),說明當前選取的第一時間間隔小于或等于最優(yōu)值,因此,應增大第一時間間隔再進行測試。第一增加幅值可按照固定值增加,也可按照一定比例增加。
優(yōu)選地,第一增加幅值按照一定比例增加:第一增加幅值為(max-interval)/N2,即增大后的第一時間間隔為interval+(max-interval)/N2;其中,N2為正整數(shù)。例如,N2=4,則第一增加幅值為(max-interval)/4,即增大后的第一時間間隔為interval+(max-interval)/4。
在驗證過程中,若網(wǎng)絡連續(xù)成功連接次數(shù)未達到預設次數(shù),說明當前選取的第一時間間隔大于最優(yōu)值,因此,應減小第一時間間隔再進行測試。第一減小幅值可按照固定值減小,也可按照一定比例減小。
優(yōu)選地,第一減小幅值可按照一定比例減?。旱谝粶p小幅值為(max-interval)/N3,即減小后的第一時間間隔為interval-(max-interval)/N3,其中,N3為正整數(shù),且N3>N2。例如,N2=4,N3=8,則第一減小幅值為(max-interval)/8,即減小后的第一時間間隔為interval-(max-interval)/8。
優(yōu)選地,當減小后的第一時間間隔interval-(max-interval)/N3小于時間間隔區(qū)間的最小值min時,取interval=min。
S6:重復執(zhí)行步驟S2至S5,直至得到最優(yōu)時間間隔,以最優(yōu)時間間隔作為固定時間間隔向網(wǎng)關(guān)發(fā)送心跳包,使移動終端保持網(wǎng)絡連接。
優(yōu)選地,在本發(fā)明的保持網(wǎng)絡連接的方法,還可以使用二分法來獲取最優(yōu)時間間隔,具體過程為:
第一時間間隔interval取(max+min)/2,也即取中間值,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,連接成功后繼續(xù)以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,統(tǒng)計網(wǎng)絡連續(xù)成功連接的次數(shù)。
當網(wǎng)絡連續(xù)成功連接次數(shù)達到預設次數(shù)時,說明當前選取的第一時間間隔小于或等于最優(yōu)時間間隔,應增大第一時間間隔進行再測試;此時,調(diào)整時間間隔區(qū)間[min,max]的取值范圍,將當前選取的第一時間間隔作為時間間隔區(qū)間的最小值,即min=interval,之后將第一時間間隔interval調(diào)整為(max+min)/2,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,連接成功后繼續(xù)以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,統(tǒng)計連續(xù)連接成功的次數(shù)。
當連續(xù)成功連接次數(shù)未達到預設次數(shù)時,說明當前選取的第一時間間隔大于最優(yōu)時間間隔,應減小第一時間間隔進行再測試,此時,調(diào)整時間間隔區(qū)間[min,max]的取值范圍,將當前選取的第一時間間隔作為時間間隔區(qū)間的最大值。即max=interval,之后將第一時間間隔interval調(diào)整為(max+min)/2,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,連接成功后繼續(xù)以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,統(tǒng)計連續(xù)連接成功的次數(shù)。
本實施例二分法來獲取最優(yōu)時間間隔預設次數(shù)的選取可參考上述最優(yōu)實施例預設次數(shù)的設置方法,在此不在贅述。
通過上述過程,不斷縮小時間間隔區(qū)間[min,max]的取值范圍,最終獲取最優(yōu)時間間隔。
本領(lǐng)域技術(shù)人員應當理解,本實施例獲取的最優(yōu)時間間隔并不是理論上的最優(yōu)時間間隔,本實施例獲取的最優(yōu)時間間隔只要距離理論上的最優(yōu)時間間隔較近即可,這樣,既可以在較短的時間內(nèi)獲取最優(yōu)時間間隔,又可以保障移動終端與網(wǎng)絡保持連接消耗的電量和流量最少,具有較好的實用性。
如圖2所示,是本發(fā)明一種保持網(wǎng)絡連接的裝置的優(yōu)選實施例。
請參閱圖2,圖2是本發(fā)明一種保持網(wǎng)絡連接的裝置的結(jié)構(gòu)示意圖。該裝置可以應用于需要聯(lián)網(wǎng)工作的移動終端中,其中,移動終端包括但不限于手機、平板電腦、筆記本電腦、智能手表、智能手環(huán)、智能可穿戴設備、智能家居設備等;移動終端連接的網(wǎng)絡包括但不限于移動運營商提供的移動網(wǎng)絡、WIFI、WLAN等,移動網(wǎng)絡包括2G、3G、4G網(wǎng)絡。如圖2所示,該保持網(wǎng)絡連接的裝置包括:第一設置單元、網(wǎng)絡檢測單元、判斷單元、驗證單元、第一調(diào)整單元、第二調(diào)整單元,以下分別進行詳細說明。
第一設置單元,用于移動終端在預設的心跳包發(fā)送時間間隔內(nèi)選擇第一時間間隔。
具體的,在移動終端連接到網(wǎng)絡后,如果長時間沒有與網(wǎng)絡進行數(shù)據(jù)交換時,網(wǎng)絡運營商會斷掉該連接,釋放網(wǎng)絡資源。另外,在無數(shù)據(jù)交互時,網(wǎng)絡運營商在不同地區(qū)設置的保持網(wǎng)絡連接的時間是不同的;網(wǎng)絡運營商提供的不同網(wǎng)絡制式設置的保持網(wǎng)絡連接的時間是不同的,例如2G、3G、4G網(wǎng)絡設置的保持網(wǎng)絡連接的時間是不同。根據(jù)實測結(jié)果或運營商提供的聯(lián)網(wǎng)數(shù)據(jù),統(tǒng)計在無數(shù)據(jù)交換情況下網(wǎng)絡連接的保持時間,根據(jù)統(tǒng)計結(jié)果,得到網(wǎng)絡連接的區(qū)間范圍。
第二設置單元,根據(jù)網(wǎng)絡連接的區(qū)間范圍,設置移動終端發(fā)送心跳包的時間間隔取值范圍[min,max],其中,min為最小值,max為最大值,min、max都為正整數(shù),時間間隔的單位可以為毫秒mS、秒S、分Min等,本實施例對此不做限制,可根據(jù)需要進行選擇。可以理解,本實施例設置的移動終端發(fā)送心跳包的時間間隔取值范圍[min,max]應當包含最優(yōu)時間間隔。
在時間間隔區(qū)間[min,max]內(nèi)取值任意選取第一時間間隔interval,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包。
網(wǎng)絡檢測單元,用于移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,查看移動終端是否處于網(wǎng)絡連接狀態(tài)。
具體的,在時間間隔區(qū)間[min,max]內(nèi)取值任意選取第一時間間隔interval,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包。因發(fā)送心跳包前移動終端并不知道移動終端是否還與網(wǎng)絡保持連接,應在發(fā)送心跳包后查看移動終端是否處于網(wǎng)絡連接狀態(tài)。本實施例不對如何判斷移動終端是否連接網(wǎng)絡的技術(shù)進行限定,只要能獲知移動終端是否處于網(wǎng)絡連接狀態(tài)即可。
判斷單元,用于若移動終端未處于網(wǎng)絡連接狀態(tài),則調(diào)用網(wǎng)絡連接請求命令,使移動終端連接到網(wǎng)絡,然后執(zhí)行網(wǎng)絡檢測單元;若移動終端處于網(wǎng)絡連接狀態(tài),則重復執(zhí)行網(wǎng)絡檢測單元,并計算網(wǎng)絡連續(xù)成功連接的次數(shù)。
具體的,在移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包后,查看移動終端是否處于網(wǎng)絡連接狀態(tài),移動終端存在兩種狀態(tài):
a.若移動終端未處于網(wǎng)絡連接狀態(tài),說明移動終端已經(jīng)被網(wǎng)關(guān)釋放,此時應首先調(diào)用網(wǎng)絡連接請求命令,調(diào)用網(wǎng)絡連接模塊,使移動終端連接到網(wǎng)絡,然后再立即執(zhí)行網(wǎng)絡檢測單元,即保證移動終端與網(wǎng)絡連接的狀態(tài)下發(fā)送心跳包。
b.若移動終端處于網(wǎng)絡連接狀態(tài),則重復執(zhí)行網(wǎng)絡檢測單元,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,查看移動終端是否處于網(wǎng)絡連接狀態(tài)。并計算網(wǎng)絡連續(xù)成功連接的次數(shù)。需要注意的是,本實施例必須保證網(wǎng)絡連接成功是連續(xù)的,如果中間有連接不成功的,則說明該第一時間間隔不合理,應該調(diào)整。
驗證單元,用于驗證網(wǎng)絡連續(xù)成功連接次數(shù)是否達到預設次數(shù)。
具體的,驗證移動終端在第一時間間隔下發(fā)送心跳包是否合理,為保證所選的時間間隔的穩(wěn)定,應盡量多的進行連接測試,以保證第一時間間隔的可靠性。但是,實驗次數(shù)過多,會導致獲取最優(yōu)時間間隔時間過長,同時浪費移動終端的電量和資源。因此要合理確定驗證的次數(shù),在第一時間間隔較小時,驗證的次數(shù)相對較少;在第一時間間隔較大時,驗證的次數(shù)相對較多;第一時間間隔越大,驗證次數(shù)越多。預設次數(shù)可人工設定,也可根據(jù)第一時間間隔的不同進行動態(tài)設定。
優(yōu)選地,預設次數(shù)根據(jù)第一時間間隔的不同進行動態(tài)設定:預設次數(shù)記為(interval/N1+1),其中,N1為正整數(shù),N1>min,(interval/N1+1)向下取整。
例如,當時間間隔的單位為秒S時,取N1=100,則預設次數(shù)記為(interval/100+1),其中,(interval/N1+1)向下取整。當interval=180時,(180/100+1)=2,只需要探測兩次即可;當interval=240時,(240/100+1)=3,只需要探測三次即可。
第一調(diào)整單元,用于若達到預設值,則以第一增加幅值增大第一時間間隔;若未達到預設值,則以第一減小幅值減小第一時間間隔。
具體的,在驗證過程中,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,連接成功后繼續(xù)以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,統(tǒng)計連續(xù)連接成功的次數(shù)。若網(wǎng)絡連續(xù)成功連接次數(shù)達到預設次數(shù),說明當前選取的第一時間間隔小于或等于最優(yōu)值,因此,應增大第一時間間隔再進行測試。第一增加幅值可按照固定值增加,也可按照一定比例增加。
優(yōu)選地,第三調(diào)整單元,第一增加幅值按照一定比例增加:第一增加幅值為(max-interval)/N2,即增大后的第一時間間隔為interval+(max-interval)/N2;其中,N2為正整數(shù)。例如,N2=4,則第一增加幅值為(max-interval)/4,即增大后的第一時間間隔為interval+(max-interval)/4。
在驗證過程中,若網(wǎng)絡連續(xù)成功連接次數(shù)未達到預設次數(shù),說明當前選取的第一時間間隔大于最優(yōu)值,因此,應減小第一時間間隔再進行測試。第一減小幅值可按照固定值減小,也可按照一定比例減小。
優(yōu)選地,第一減小幅值可按照一定比例減?。旱谝粶p小幅值為(max-interval)/N3,即減小后的第一時間間隔為interval-(max-interval)/N3,其中,N3為正整數(shù),且N3>N2。例如,N2=4,N3=8,則第一減小幅值為(max-interval)/8,即減小后的第一時間間隔為interval-(max-interval)/8。
優(yōu)選地,第四調(diào)整單元,當減小后的第一時間間隔interval-(max-interval)/N3小于時間間隔區(qū)間的最小值min時,取interval=min。
第二調(diào)整單元,用于重復執(zhí)行步驟網(wǎng)絡檢測單元、判斷單元、驗證單元、第一調(diào)整單元,直至得到最優(yōu)時間間隔,以最優(yōu)時間間隔作為固定時間間隔向網(wǎng)關(guān)發(fā)送心跳包,使移動終端保持網(wǎng)絡連接。
優(yōu)選地,在本發(fā)明的保持網(wǎng)絡連接的裝置,還包括:
第五調(diào)整單元,使用二分法來獲取最優(yōu)時間間隔,具體過程為:
第一時間間隔interval取(max+min)/2,也即取中間值,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,連接成功后繼續(xù)以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,統(tǒng)計連續(xù)連接成功的次數(shù)。
當連續(xù)成功連接次數(shù)達到預設次數(shù)時,說明當前選取的第一時間間隔小于或等于最優(yōu)時間間隔,應增大第一時間間隔進行再測試;此時,調(diào)整時間間隔區(qū)間[min,max]的取值范圍,將當前選取的第一時間間隔作為時間間隔區(qū)間的最小值,即min=interval,之后將第一時間間隔interval調(diào)整為(max+min)/2,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,連接成功后繼續(xù)以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,統(tǒng)計連續(xù)連接成功的次數(shù)。
當連續(xù)成功連接次數(shù)未達到預設次數(shù)時,說明當前選取的第一時間間隔大于最優(yōu)時間間隔,應減小第一時間間隔進行再測試,此時,調(diào)整時間間隔區(qū)間[min,max]的取值范圍,將當前選取的第一時間間隔作為時間間隔區(qū)間的最大值。即max=interval,之后將第一時間間隔interval調(diào)整為(max+min)/2,移動終端以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,連接成功后繼續(xù)以第一時間間隔為間隔向網(wǎng)關(guān)發(fā)送心跳包,統(tǒng)計連續(xù)連接成功的次數(shù)。
本實施例二分法來獲取最優(yōu)時間間隔預設次數(shù)的選取可參考上述最優(yōu)實施例預設次數(shù)的設置裝置,在此不在贅述。
通過上述過程,不斷縮小時間間隔區(qū)間[min,max]的取值范圍,最終獲取最優(yōu)時間間隔。
本領(lǐng)域技術(shù)人員應當理解,本實施例獲取的最優(yōu)時間間隔并不是理論上的最優(yōu)時間間隔,本實施例獲取的最優(yōu)時間間隔只要距離理論上的最優(yōu)時間間隔較近即可,這樣,既可以在較短的時間內(nèi)獲取最優(yōu)時間間隔,又可以保障移動終端與網(wǎng)絡保持連接消耗的電量和流量最少,具有較好的實用性。
通過實施本發(fā)明,使移動終端根據(jù)網(wǎng)絡環(huán)境的不同,快速調(diào)整發(fā)送心跳包的時間間隔,獲得最優(yōu)時間間隔;以該最優(yōu)時間間隔發(fā)送心跳包,不僅使移動終端始終保持網(wǎng)絡連接,還能節(jié)約移動終端的電量和流量。
以上實施例只為說明本發(fā)明的技術(shù)構(gòu)思及特點,其目的在于讓熟悉此項技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并據(jù)此實施,并不能限制本發(fā)明的保護范圍。凡跟本發(fā)明權(quán)利要求范圍所做的均等變化與修飾,均應屬于本發(fā)明權(quán)利要求的涵蓋范圍。