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