本發(fā)明涉及通訊領(lǐng)域,特別是涉及一種(Access Point Name,接入點(diǎn))APN選擇方法及裝置。
背景技術(shù):
DSDS(Dual SIM Dual Standby,雙卡雙待)和DADA(Dual SIM Dual Active,雙卡雙通)都是指手機(jī)可以插入兩張手機(jī)卡,而且能同時使用。DSDS或者DSDA主要應(yīng)用于3G手機(jī),而隨著4G手機(jī)的成熟,DSDS和DSDA技術(shù)在基于4G網(wǎng)絡(luò)的基礎(chǔ)上會有更多的應(yīng)用和功能出現(xiàn)。
由于4G移動網(wǎng)絡(luò)目前在全球尚處于大規(guī)模建網(wǎng)階段,對于雙4G這種創(chuàng)新技術(shù)來說,還沒有大量出現(xiàn)和被使用。然而,無論是使用單卡還是雙卡的手機(jī)上網(wǎng),必然要用到APN,APN指一種網(wǎng)絡(luò)接入技術(shù),是通過手機(jī)上網(wǎng)時必須配置的參數(shù),它決定了手機(jī)通過哪種接入方式來訪問網(wǎng)絡(luò)。當(dāng)終端需要連接網(wǎng)絡(luò),需要選擇APN,目前聯(lián)網(wǎng)時廣泛使用的APN選擇方案是Android默認(rèn)的方案。Android默認(rèn)兩種選擇方案包括輪詢查詢方案以及Prefer APN方案,其中,輪詢查詢方案,在每次需要聯(lián)網(wǎng)時,把手機(jī)中SIM卡對應(yīng)的有APN按照數(shù)據(jù)庫中的順序輪詢進(jìn)行嘗試,輪詢過程中每次聯(lián)網(wǎng)失敗需要將失敗信息上報(bào)給應(yīng)用,然后再進(jìn)行下一個APN的嘗試。直到找到可以上網(wǎng)的APN,使用此APN上網(wǎng),停止輪詢。如果輪詢了一遍APN,聯(lián)網(wǎng)均失敗也要向手機(jī)系統(tǒng)上報(bào)失敗,停止輪詢。由于輪詢查詢方案并不記錄上次聯(lián)網(wǎng)的APN,每次聯(lián)網(wǎng)都要從頭開始輪詢查找APN數(shù)據(jù)庫;APN的查詢是按照在數(shù)據(jù)庫中的位置先后查詢且嘗試每個APN聯(lián)網(wǎng)的時間較長。例如,目前嘗試一個APN接入網(wǎng)絡(luò)的時間25秒左右。在內(nèi)置的APN較多的情況下,查詢到排列在數(shù)據(jù)庫后面的 APN所用的時間會較長,這樣會誤導(dǎo)用戶認(rèn)為數(shù)據(jù)不可用。,導(dǎo)致用戶體驗(yàn)非常差。
Prefer(優(yōu)選)APN方案:終端只保存一個preferAPN。針對每個SIM卡只設(shè)置一個APN作為preferAPN。每次聯(lián)網(wǎng)時,如果有preferAPN,終端只嘗試使用preferAPN進(jìn)行聯(lián)網(wǎng)。如果preferAPN聯(lián)網(wǎng)失敗。停止嘗試其他APN,直接上報(bào)聯(lián)網(wǎng)失敗。preferAPN可以由用戶手動設(shè)定。如果preferAPN不存在,輪詢查詢此SIM卡的對應(yīng)所有APN,找到能上網(wǎng)的APN就將此APN設(shè)置為preferAPN,保存到終端中,停止輪詢。然而,在該方案中,當(dāng)preferAPN不存在時,會使用輪詢查詢,找到可上網(wǎng)APN并設(shè)置為preferAPN。所以,當(dāng)preferAPN不存在時,此方案也要首先采用輪詢查詢的方式,也有輪詢方式的缺點(diǎn)。另外由于手機(jī)只存儲一個preferAPN,對于雙4G卡終端,數(shù)據(jù)在兩卡間切換時,獲得preferAPN不正確,造成頻繁輪詢查詢或本來存在可用APN但是仍上報(bào)聯(lián)網(wǎng)失敗的問題,不進(jìn)行嘗試其他APN。例如,一種情況:卡1和卡2的MCC(Mobile Country Code,移動國家碼)、MNC(Mobile Network Code,移動網(wǎng)絡(luò)碼),參數(shù)不同,對應(yīng)的APN肯定也不同。假如手機(jī)中preferAPN存儲的是卡1的APN,數(shù)據(jù)切換到卡2,卡2就會認(rèn)為perferAPN不存在,進(jìn)行輪詢查詢,查詢到可用APN后設(shè)置preferAPN為卡2的APN。這時再將數(shù)據(jù)切回卡1,卡1同樣會遇到問題,再次輪詢查詢和設(shè)置preferAPN。另外一種情況:MCC、MNC相同的卡1和卡2,分別有兩個相應(yīng)的APN,APN1和APN2,終端中設(shè)置APN1為preferAPN,聯(lián)網(wǎng)時終端只嘗試APN1聯(lián)網(wǎng),如果APN1聯(lián)網(wǎng)失敗,終端不再自動嘗試APN2,直接上報(bào)聯(lián)網(wǎng)失敗,這樣就漏查了APN2。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種APN選擇方法及裝置,用以解決目前技術(shù)中對于雙卡或多卡的終端存在的APN選擇效率低和APN選擇錯誤的問題。
根據(jù)本發(fā)明的一個方面,提供了一種APN選擇方法,包括:按照預(yù)先設(shè)置的優(yōu)先級順序依次使用預(yù)先設(shè)置的APN進(jìn)行聯(lián)網(wǎng)嘗試;待聯(lián)網(wǎng)成功后,停止聯(lián)網(wǎng)嘗試,通知終端聯(lián)網(wǎng)成功。
進(jìn)一步的,上述方法還包括:在按照預(yù)先設(shè)置的優(yōu)先級順序依次使用預(yù)先設(shè)置的APN進(jìn)行聯(lián)網(wǎng)嘗試之前,獲取終端內(nèi)的各SIM卡的MCC以及MNC信息;根據(jù)各SIM卡的MCC以及MNC信息在終端的各SIM卡的preferAPN數(shù)據(jù)庫中選擇APN,生成與各SIM卡對應(yīng)的preferAPN鏈表,APN按照優(yōu)先級順序記錄在preferAPN鏈表中。
進(jìn)一步的,上述方法還包括:在生成與各SIM卡對應(yīng)的preferAPN鏈表之后,根據(jù)SIM卡的MCC以及MNC信息在APN數(shù)據(jù)庫中繼續(xù)選擇APN,生成與各SIM卡對應(yīng)的備選APN鏈表,備用APN鏈表中所有APN的優(yōu)先級低于preferAPN鏈表中所有的APN。
其中,生成與各SIM卡對應(yīng)的preferAPN鏈表,包括:根據(jù)APN數(shù)據(jù)庫中預(yù)先記錄的各APN的優(yōu)先級字段來確定各APN的優(yōu)先級順序;根據(jù)確定出的優(yōu)先級順序?qū)⒏鰽PN插入至preferAPN鏈表。
進(jìn)一步的,上述方法還包括:在聯(lián)網(wǎng)成功后,將本次聯(lián)網(wǎng)成功所使用的APN設(shè)置為最高優(yōu)先級,將APN移動至preferAPN鏈表的頭節(jié)點(diǎn),將本次聯(lián)網(wǎng)過程中每次聯(lián)網(wǎng)嘗試失敗所使用的APN移動至APN所屬的鏈表的尾節(jié)點(diǎn),在SIM卡的preferAPN鏈表中的APN在聯(lián)網(wǎng)失敗次數(shù)達(dá)預(yù)設(shè)次數(shù)的情況下,將該APN轉(zhuǎn)移至該SIM卡的備用APN鏈表中,在使用preferAPN鏈表中的APN嘗試聯(lián)網(wǎng)均失敗且使用備用APN鏈表中的APN聯(lián)網(wǎng)成功后,將聯(lián)網(wǎng)成功所使用的APN轉(zhuǎn)移至該SIM卡的preferAPN鏈表中。
其中,按照預(yù)先設(shè)置的優(yōu)先級順序依次使用預(yù)先設(shè)置的APN進(jìn)行聯(lián)網(wǎng)嘗試,包括:在進(jìn)行聯(lián)網(wǎng)嘗試的過程中,如果聯(lián)網(wǎng)嘗試失敗,且在預(yù)先設(shè)置的preferAPN鏈表和備用APN鏈表中還存在未嘗試聯(lián)網(wǎng)的APN,則不將聯(lián)網(wǎng)失敗的消息告知終端,直至預(yù)先設(shè)置的APN鏈表和備用APN鏈表中不存在任何 未嘗試聯(lián)網(wǎng)的APN時,告知終端本次聯(lián)網(wǎng)失敗。
根據(jù)本發(fā)明的另一個方面,提供了一種APN選擇裝置,包括:聯(lián)網(wǎng)模塊,用于按照預(yù)先設(shè)置的優(yōu)先級順序依次使用預(yù)先設(shè)置的APN進(jìn)行聯(lián)網(wǎng)嘗試;通知模塊,用于待聯(lián)網(wǎng)成功后,停止聯(lián)網(wǎng)嘗試,通知終端聯(lián)網(wǎng)成功。
進(jìn)一步的,上述裝置還包括:獲取模塊,用于在按照預(yù)先設(shè)置的優(yōu)先級順序依次使用預(yù)先設(shè)置的APN進(jìn)行聯(lián)網(wǎng)嘗試之前,獲取終端內(nèi)的各客戶識別模塊SIM卡的MCC以及MNC信息;
第一生成模塊,用于根據(jù)各SIM卡的MCC以及MNC信息在終端的各SIM卡的preferAPN數(shù)據(jù)庫中選擇APN,生成與各SIM卡對應(yīng)的preferAPN鏈表,APN按照優(yōu)先級順序記錄在preferAPN鏈表中。
進(jìn)一步的,上述裝置還包括:第二生成模塊,用于在生成與各SIM卡對應(yīng)的preferAPN鏈表之后,根據(jù)SIM卡的MCC以及MNC信息在APN數(shù)據(jù)庫中繼續(xù)選擇APN,生成與各SIM卡對應(yīng)的備選APN鏈表,備用APN鏈表中所有APN的優(yōu)先級低于preferAPN鏈表中所有的APN。
其中,上述第一生成模塊,包括:確定單元,用于根據(jù)APN數(shù)據(jù)庫中預(yù)先記錄的各APN的優(yōu)先級字段來確定各APN的優(yōu)先級順序;插入單元,用于根據(jù)確定出的優(yōu)先級順序?qū)⒏鰽PN插入至preferAPN鏈表。
進(jìn)一步的,上述裝置還包括:設(shè)置模塊,用于在聯(lián)網(wǎng)成功后,將本次聯(lián)網(wǎng)成功所使用的APN設(shè)置為最高優(yōu)先級,將APN移動至preferAPN鏈表的頭節(jié)點(diǎn),將本次聯(lián)網(wǎng)過程中每次聯(lián)網(wǎng)嘗試失敗所使用的APN移動至APN所屬的鏈表的尾節(jié)點(diǎn),在SIM卡的preferAPN鏈表中的APN在聯(lián)網(wǎng)失敗次數(shù)達(dá)預(yù)設(shè)次數(shù)的情況下,將該APN轉(zhuǎn)移至該SIM卡的備用APN鏈表中,在使用preferAPN鏈表中的APN嘗試聯(lián)網(wǎng)均失敗且使用備用APN鏈表中的APN聯(lián)網(wǎng)成功后,將聯(lián)網(wǎng)成功所使用的APN轉(zhuǎn)移至該SIM卡的preferAPN鏈表中。
其中,上述聯(lián)網(wǎng)模塊具體用于:在進(jìn)行聯(lián)網(wǎng)嘗試的過程中,如果聯(lián)網(wǎng)嘗試失敗,且在預(yù)先設(shè)置的preferAPN鏈表和備用APN鏈表中還存在未嘗試聯(lián)網(wǎng) 的APN,則不將聯(lián)網(wǎng)失敗的消息告知終端,直至預(yù)先設(shè)置的preferAPN鏈表和備用APN鏈表中不存在任何未嘗試聯(lián)網(wǎng)的APN時,告知終端本次聯(lián)網(wǎng)失敗。
本發(fā)明實(shí)施例提供的方法使得當(dāng)用戶需要進(jìn)行聯(lián)網(wǎng)時,多卡終端可以快速準(zhǔn)確的選擇合適的APN進(jìn)行聯(lián)網(wǎng)時,提高了聯(lián)網(wǎng)效率。
附圖說明
圖1是本發(fā)明實(shí)施例1提供的APN選擇方法的流程圖;
圖2是本發(fā)明實(shí)施例2提供的終端的系統(tǒng)框架示意圖;
圖3是本發(fā)明實(shí)施例2中preferAPN鏈表和備用APN鏈表的示意圖;
圖4是本發(fā)明實(shí)施例2、3提供的單卡APN選擇的流程圖;
圖5是本發(fā)明實(shí)施例3、4提供的雙卡APN選擇方法的流程圖;
圖6是本發(fā)明實(shí)施例5提供的APN選擇裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了解決現(xiàn)有技術(shù)中基于多SIM卡終端選擇APN效率較低的問題,本發(fā)明提供了一種APN選擇方法及裝置,以下結(jié)合附圖以及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
實(shí)施例1
本實(shí)施例以4G移動網(wǎng)絡(luò)為基礎(chǔ),針對雙4G移動終端技術(shù),提出了一種支持雙4G卡的APN選擇方法。該方法用于實(shí)現(xiàn)當(dāng)運(yùn)營商提供大量的APN時,終端快速準(zhǔn)確的選擇合適的APN進(jìn)行聯(lián)網(wǎng),旨在為用戶提供一種更好的移動上網(wǎng)體驗(yàn)。
本實(shí)施例提供了一種APN選擇方法,圖1是本發(fā)明實(shí)施例1提供的APN選擇方法的流程圖,如圖1所示,該方法包括如下處理:
步驟101:按照預(yù)先設(shè)置的優(yōu)先級順序依次使用預(yù)先設(shè)置的APN進(jìn)行聯(lián)網(wǎng) 嘗試;
步驟102:待聯(lián)網(wǎng)成功后,停止聯(lián)網(wǎng)嘗試,通知終端聯(lián)網(wǎng)成功。
在執(zhí)行上述步驟101以及102之前,本實(shí)施例的方案還包括預(yù)先設(shè)置APN的過程,基于此,上述方法還包括如下處理:
在按照預(yù)先設(shè)置的APN的優(yōu)先級順序依次使用APN進(jìn)行聯(lián)網(wǎng)嘗試之前,獲取終端內(nèi)的各SIM卡的MCC以及MNC信息;根據(jù)各SIM卡的MCC以及MNC信息在終端的各SIM卡的preferAPN數(shù)據(jù)庫中選擇APN,生成與各SIM卡對應(yīng)的preferAPN鏈表,該鏈表中的APN即為preferAPN,preferAPN按照優(yōu)先級順序記錄在preferAPN鏈表中。其中,preferAPN鏈表中的所有APN都是曾經(jīng)聯(lián)網(wǎng)成功過的,生成與各SIM卡對應(yīng)的preferAPN鏈表如圖3所示,根據(jù)APN數(shù)據(jù)庫中預(yù)先記錄的各APN的優(yōu)先級字段來確定各APN的優(yōu)先級順序;根據(jù)確定出的優(yōu)先級順序?qū)⒏鱬referAPN插入至preferAPN鏈表。
本實(shí)施例提供的方案還包括在聯(lián)網(wǎng)成功后,基于當(dāng)前聯(lián)網(wǎng)情況對APN的優(yōu)先級進(jìn)行調(diào)整的方法,基于此,上述方法還包括如下處理:在聯(lián)網(wǎng)成功后,將本次聯(lián)網(wǎng)成功所使用的APN設(shè)置為最高優(yōu)先級,將該APN移動至preferAPN鏈表的頭節(jié)點(diǎn),將本次聯(lián)網(wǎng)過程中每次聯(lián)網(wǎng)嘗試失敗所使用的APN移動至preferAPN鏈表的尾節(jié)點(diǎn)。
其中為了縮短使用每個APN嘗試聯(lián)網(wǎng)所使用的時間,按照預(yù)先設(shè)置的APN的優(yōu)先級順序依次使用APN進(jìn)行聯(lián)網(wǎng)嘗試具體可以包括:
為了各SIM卡的APN的優(yōu)先級進(jìn)行有效的劃分,在建立SIM卡的preferAPN鏈表后,還可以根據(jù)總的APN數(shù)據(jù)庫建立該SIM卡的備用APN鏈表,以便在preferAPN鏈表中所有APN無法進(jìn)行聯(lián)網(wǎng)時,使用備用APN鏈表中的APN進(jìn)行聯(lián)網(wǎng),基于此,上述方法還包括:
在生成與各SIM卡對應(yīng)的preferAPN鏈表之后,根據(jù)SIM卡的MCC以及MNC信息在總APN數(shù)據(jù)庫中繼續(xù)選擇APN,生成與各SIM卡對應(yīng)的備用APN鏈表,如圖3所示,備用APN鏈表中所有APN的優(yōu)先級低于preferAPN鏈表 中所有的preferAPN。
在進(jìn)行聯(lián)網(wǎng)嘗試的過程中,先嘗試preferAPN鏈表中的preferAPN,如果preferAPN鏈表中的preferAPN均失敗后,再嘗試備用APN鏈表中的APN。如果備用APN鏈表中APN聯(lián)網(wǎng)失敗,且備用APN鏈表中還存在未嘗試聯(lián)網(wǎng)的APN,則不將聯(lián)網(wǎng)失敗的消息告知終端,直至備用APN鏈表中不存在任何未嘗試聯(lián)網(wǎng)的APN時,告知終端本次聯(lián)網(wǎng)失敗。
在聯(lián)網(wǎng)過程中APN的優(yōu)先級也會動態(tài)變化,并將變化同步更新到對應(yīng)APN鏈表和APN數(shù)據(jù)庫中,在SIM卡的preferAPN鏈表中的preferAPN在聯(lián)網(wǎng)失敗次數(shù)達(dá)預(yù)設(shè)次數(shù)的情況下,將該preferAPN轉(zhuǎn)移至該SIM卡的備用APN鏈表,在preferAPN鏈表中的所有APN均聯(lián)網(wǎng)失敗而備用APN鏈表中某個APN聯(lián)網(wǎng)成功后,將此APN轉(zhuǎn)移至該SIM卡的perferAPN鏈表中。
實(shí)施例2
本實(shí)施例通過公開更多的技術(shù)細(xì)節(jié)來對本發(fā)明提供的APN選擇方法進(jìn)行進(jìn)一步的闡述。
本實(shí)施例涉及支持移動數(shù)據(jù)業(yè)務(wù)的終端,圖2是本發(fā)明實(shí)施例2提供的終端的系統(tǒng)框架示意圖,如圖2所示,在本實(shí)施例中,終端的系統(tǒng)框架可包括:支持雙用戶識別卡(SIM卡等)槽的終端、用戶識別卡、preferAPN數(shù)據(jù)庫以及總APN數(shù)據(jù)庫,其中,終端支持的網(wǎng)絡(luò)可包括但不限于:2G、3G、4G等。優(yōu)選的,SIM卡1和SIM卡2都可支持2G、3G、4G等數(shù)據(jù)業(yè)務(wù)的使用。且本實(shí)施例中涉及的用戶識別卡包括但不限于目前主流的用戶識別卡如:SIM卡、USIM卡、UIM卡等。同時,需要說明的是,本實(shí)施例中所述的終端包括但不限于支持雙卡的手機(jī),也可包括多卡手機(jī),或多卡終端等。
終端中預(yù)置一個APN配置文件,該配置文件中包含多個APN,每個APN對應(yīng)的相關(guān)運(yùn)營商的網(wǎng)絡(luò)參數(shù)以及APN的優(yōu)先級,當(dāng)首次開機(jī)時終端根據(jù)配置文件生成總的APN數(shù)據(jù)庫,該數(shù)據(jù)庫中每個APN對應(yīng)唯一的序號ID。在生成的總APN數(shù)據(jù)庫中,可以根據(jù)MCC、MNC等關(guān)鍵參數(shù)分組。
在終端中預(yù)制兩個preferAPN配置文件,分別對應(yīng)卡SIM1和SIM卡2,PreferAPN配置文件中存儲多個APN,其中的每個APN都是終端曾經(jīng)連接成功的,并且都有優(yōu)先級參數(shù)。終端根據(jù)這兩個配置文件生成對應(yīng)SIM卡1和SIM卡2的preferAPN數(shù)據(jù)庫。
PreferAPN數(shù)據(jù)庫是總APN數(shù)據(jù)庫的子庫,也就是說preferAPN中的每一個APN在總APN數(shù)據(jù)庫中都存在,PreferAPN數(shù)據(jù)庫在手機(jī)聯(lián)網(wǎng)過程中可以動態(tài)變化。
終端開機(jī)后,首先讀取出終端中已插入的SIM卡的標(biāo)識信息,包括MCC、MNC等,并以此為關(guān)鍵詞變量,在SIM卡1和SIM卡2的preferAPN數(shù)據(jù)庫中篩選出符合要求的APN,生成卡SIM卡1和SIM卡2的preferAPN鏈表,同時更新preferAPN數(shù)據(jù)庫,保證preferAPN數(shù)據(jù)庫中只存儲符合SIM卡的MCC、MNC等關(guān)鍵參數(shù)的APN,然后仍以SIM卡的MCC、MNC等關(guān)鍵變量在總數(shù)據(jù)庫中篩選出符合的APN,生成SIM卡1和SIM卡2的備用APN鏈表,生成的preferAPN鏈表如圖3所示。preferAPN鏈表和備用APN鏈表中的APN優(yōu)先級從高到低排列。在preferAPN鏈表中已有的,就不再加入備用APN鏈表中。preferAPN鏈表的優(yōu)先級比備用APN鏈表的優(yōu)先級高。
基于以上設(shè)置,本實(shí)施例中提供的選擇APN的方法具體可以包括:對于單卡的APN選擇流程,如圖4所示:首先輪詢查詢preferAPN鏈表,如果preferAPN鏈表中沒有聯(lián)網(wǎng)成功的APN,再輪詢查找備用APN鏈表。輪詢操作過程中,如果一旦找到了一個可以成功聯(lián)網(wǎng)的APN后,就將其設(shè)定為默認(rèn)上網(wǎng)的APN,設(shè)置為優(yōu)先級最高的APN,插入到preferAPN鏈表的頭節(jié)點(diǎn)。并停止輪詢;如果嘗試的APN聯(lián)網(wǎng)失敗則降低此APN的優(yōu)先級,更改在鏈表中的位置,嘗試下一個APN。輪詢備用APN鏈表一遍后都沒有聯(lián)網(wǎng)成功,則上報(bào)手機(jī)聯(lián)網(wǎng)失敗。在SIM卡1和SIM卡2進(jìn)行快速選擇APN嘗試聯(lián)網(wǎng)時,如果用戶沒有指定使用哪個卡數(shù)據(jù),則SIM卡1和SIM卡2可以分別進(jìn)行APN快速選擇輪詢查詢,哪個卡首先聯(lián)網(wǎng)成功,就使用哪個卡的數(shù)據(jù)業(yè)務(wù)。如果用 戶已指定使用某一個卡的數(shù)據(jù)業(yè)務(wù),則只使用該卡來執(zhí)行上述的選擇APN方法。
進(jìn)一步的,終端中的每個APN都是有優(yōu)先級的,每個APN的優(yōu)先級的確定可以使用如下方法:
根據(jù)運(yùn)營商提供的優(yōu)先級進(jìn)行預(yù)制:
因?yàn)锳PN都是運(yùn)營商提供的,所以APN的優(yōu)先級可以征求運(yùn)營商的意見。在預(yù)制到手機(jī)時,APN數(shù)據(jù)庫中有相應(yīng)的字段表示APN的優(yōu)先級,并且按照優(yōu)先級由高到底排序,便于生成按照優(yōu)先級排列的preferAPN鏈表和備用APN鏈表。
在快速選擇APN的聯(lián)網(wǎng)過程中可以給每個APN設(shè)置或動態(tài)改變優(yōu)先級,具體可以按照以下原則進(jìn)行:
第一,在上一次聯(lián)網(wǎng)使用過的APN,優(yōu)先級最高,在preferAPN鏈表頭結(jié)點(diǎn)位置。
第二,如果手機(jī)沒有連接過網(wǎng),即不存在上次聯(lián)網(wǎng)使用的APN,那么從SIM卡對應(yīng)的preferAPN鏈表和備用APN鏈表中輪詢查詢,第一個能連上網(wǎng)的APN,設(shè)置其優(yōu)先級高,并且將其插入到perferAPN鏈表中優(yōu)先級最高的頭結(jié)點(diǎn)位置,同時更新數(shù)據(jù)庫,即保證每次選擇APN的時第一次查詢的APN都是優(yōu)先級最高的APN。
第三,快速選擇APN的聯(lián)網(wǎng)嘗試過程中,嘗試的APN聯(lián)網(wǎng)不成功,將其優(yōu)先級降低,如果此APN在preferAPN鏈表中,則將其放在preferAPN鏈表的尾節(jié)點(diǎn),如果在備用APN鏈表,則將其放在備用APN鏈表的尾節(jié)點(diǎn)。同時更新對應(yīng)的數(shù)據(jù)庫信息,如果perferAPN鏈表中某個APN嘗試過多次,一直無法聯(lián)網(wǎng)成功,則將其從perferAPN鏈表中刪除插入到備用APN鏈表中,同時更新對應(yīng)的數(shù)據(jù)庫信息。
進(jìn)一步的,縮短每個APN連接網(wǎng)絡(luò)時的嘗試時間,如果本次嘗試連接的APN聯(lián)網(wǎng)失敗,還要嘗試其他APN,則本次輪詢失敗的狀態(tài)不需要上報(bào)給手 機(jī)上層的應(yīng)用,直接進(jìn)行下一個APN的嘗試,這樣就大大縮減了每個APN嘗試聯(lián)網(wǎng)的時間。
實(shí)施例3
本實(shí)施例主要說明在沒有preferAPN的情況下選擇APN的方案,圖5是本發(fā)明實(shí)施例3提供的雙卡的APN選擇的流程圖,如圖5所示,當(dāng)用戶沒有選擇具體使用哪個SIM卡上網(wǎng)時,當(dāng)首次開機(jī)時,preferAPN是不存在的,所以圖2中所示的preferAPN配置文件中沒有APN,對應(yīng)的preferAPN數(shù)據(jù)庫和preferAPN鏈表都為空,終端將分別為SIM卡1和SIM卡2生成對應(yīng)的如圖3所示的備用APN鏈表,備用APN鏈表1和備用APN鏈表2,終端中的SIM卡1和SIM卡2分別按照圖4所示的APN快速選擇的流程進(jìn)行APN快速選擇,假如SIM卡1首先聯(lián)網(wǎng)成功,SIM卡1通知手機(jī)系統(tǒng),同時也通知給SIM卡2,這時SIM卡2將繼續(xù)進(jìn)行APN快速選擇和聯(lián)網(wǎng)嘗試,選擇可以上網(wǎng)的APN添加入SIM卡2的prefer鏈表中,但是SIM卡2不會進(jìn)行上網(wǎng),且聯(lián)網(wǎng)成功不上報(bào)給手機(jī)系統(tǒng),此操作只是用于更新SIM卡2的preferAPN數(shù)據(jù)庫,有利于下一次聯(lián)網(wǎng)嘗試。手機(jī)將使用最先聯(lián)網(wǎng)成功的SIM卡1進(jìn)行上網(wǎng),同時,SIM卡1將聯(lián)網(wǎng)成功的APN插入對應(yīng)的SIM卡1的preferAPN鏈表中,此APN從備用APN鏈表中刪除,同時更新preferAPN數(shù)據(jù)庫和配置文件信息。
如果SIM卡1輪詢一遍所有的preferAPN鏈表和備用APN鏈表均聯(lián)網(wǎng)失敗,這時上報(bào)給SIM卡2,如果SIM卡2還沒有輪詢完一遍,這時SIM卡1不上報(bào)手機(jī)系統(tǒng)聯(lián)網(wǎng)失敗。如果SIM卡2已經(jīng)輪詢一遍仍沒有聯(lián)網(wǎng)成功,上報(bào)手機(jī)系統(tǒng)聯(lián)網(wǎng)失敗,即只有兩個卡都快速選擇APN失敗后,才真正上報(bào)聯(lián)網(wǎng)失敗。
實(shí)施例4
本實(shí)施例主要說明在已有preferAPN的場景下選擇APN的方法,該方法包括以下處理:
如果用戶沒有選擇使用哪張卡的數(shù)據(jù),則終端中的SIM卡1和SIM卡2首 先分別在各自的preferAPN鏈表中輪詢查詢,查詢方式按照圖5中闡述的APN快速選擇方法,假如SIM卡1使用preferAPN中的第一個APN聯(lián)網(wǎng)成功,則SIM卡1將聯(lián)網(wǎng)成功的消息通知給手機(jī)系統(tǒng),同時也通知給SIM卡2,此時,由于SIM卡2已經(jīng)存在preferAPN鏈表,不需要再生成,所以將停止APN快速選擇和聯(lián)網(wǎng)嘗試。由于SIM卡1聯(lián)網(wǎng)成功使用的APN是第一個preferAPN鏈表的頭節(jié)點(diǎn)APN,優(yōu)先級是最高的,所以不用更新perferAPN鏈表和對應(yīng)的數(shù)據(jù)庫。
本發(fā)明實(shí)施例提供的方案與現(xiàn)有技術(shù)相比存在以下優(yōu)點(diǎn):
1、為每一個SIM卡建立preferAPN數(shù)據(jù)庫,在建立網(wǎng)絡(luò)連接時,輪詢查詢preferAPN鏈表和備用APN鏈表,減少了SIM卡查詢APN失敗的概率,可以快速選擇APN,提高聯(lián)網(wǎng)速度。
2、為每個APN設(shè)置優(yōu)先級,雙4G卡根據(jù)優(yōu)先級從高到低輪詢查詢各個APN,快速確定聯(lián)網(wǎng)所需的APN,且APN的優(yōu)先級可以在輪詢查詢過程中動態(tài)變化,進(jìn)一步提高了聯(lián)網(wǎng)的速度;
3、縮短每個APN連接網(wǎng)絡(luò)時嘗試時間,可以使得終端快速準(zhǔn)確的自動選擇APN。
實(shí)施例5
本實(shí)施例提供了一種APN選擇裝置,圖6是本發(fā)明實(shí)施例5提供的APN選擇裝置的結(jié)構(gòu)框圖,如圖6所示,該裝置60包括如下組成部分:
聯(lián)網(wǎng)模塊61,用于按照預(yù)先設(shè)置的優(yōu)先級順序依次使用預(yù)先設(shè)置的APN進(jìn)行聯(lián)網(wǎng)嘗試;
通知模塊62,用于待聯(lián)網(wǎng)成功后,停止聯(lián)網(wǎng)嘗試,通知終端聯(lián)網(wǎng)成功。
其中,上述裝置60還可以包括:獲取模塊,用于按照預(yù)先設(shè)置的優(yōu)先級順序依次使用預(yù)先設(shè)置的APN進(jìn)行聯(lián)網(wǎng)嘗試之前,獲取終端內(nèi)的各SIM卡的MCC以及MNC信息;第一生成模塊,用于根據(jù)各SIM卡的MCC以及MNC信息在終端的各SIM卡的preferAPN數(shù)據(jù)庫中選擇APN,生成與各SIM卡對 應(yīng)的preferAPN鏈表,APN按照優(yōu)先級順序記錄在preferAPN鏈表中。
進(jìn)一步的,上述裝置60還可以包括:設(shè)置模塊,用于在聯(lián)網(wǎng)成功后,將本次聯(lián)網(wǎng)成功所使用的APN設(shè)置為最高優(yōu)先級,將APN移動至prefer鏈表的頭節(jié)點(diǎn),將本次聯(lián)網(wǎng)過程中每次聯(lián)網(wǎng)嘗試失敗所使用的APN移動至APN所屬的鏈表的尾節(jié)點(diǎn),在SIM卡的preferAPN鏈表中的APN在聯(lián)網(wǎng)失敗次數(shù)達(dá)預(yù)設(shè)次數(shù)的情況下,將該APN轉(zhuǎn)移至該SIM卡的備用APN鏈表中,在使用preferAPN鏈表中的preferAPN嘗試聯(lián)網(wǎng)均失敗且使用備用APN鏈表中的APN聯(lián)網(wǎng)成功后,將聯(lián)網(wǎng)成功所使用的APN轉(zhuǎn)移至該SIM卡的preferAPN鏈表中。
其中,上述第一生成模塊,具體可以包括:確定單元,用于根據(jù)APN數(shù)據(jù)庫中預(yù)先記錄的各APN的優(yōu)先級字段來確定各APN的優(yōu)先級順序;插入單元,用于根據(jù)確定出的優(yōu)先級順序?qū)⒏鰽PN插入至preferAPN鏈表。
進(jìn)一步的,上述裝置60還可以包括:第二生成模塊,用于在生成與各SIM卡對應(yīng)的preferAPN鏈表之后,根據(jù)SIM卡的MCC以及MNC信息在總APN數(shù)據(jù)庫中繼續(xù)選擇APN,生成與各SIM卡對應(yīng)的備選APN鏈表,備用APN鏈表中所有APN的優(yōu)先級低于preferAPN鏈表中所有的preferAPN。在進(jìn)行聯(lián)網(wǎng)嘗試的過程中,先嘗試preferAPN鏈表中的preferAPN,如果preferAPN鏈表中的preferAPN均失敗后,再嘗試備用APN鏈表中的APN。如果備用APN鏈表中APN聯(lián)網(wǎng)失敗,且備用APN鏈表中還存在未嘗試聯(lián)網(wǎng)的APN,則不將聯(lián)網(wǎng)失敗的消息告知終端,直至備用APN鏈表中不存在任何未嘗試聯(lián)網(wǎng)的APN時,告知終端本次聯(lián)網(wǎng)失敗。
盡管為示例目的,已經(jīng)公開了本發(fā)明的優(yōu)選實(shí)施例,本領(lǐng)域的技術(shù)人員將意識到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實(shí)施例。