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