本技術(shù)涉及通信,特別是涉及一種域名解析方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,移動設(shè)備已經(jīng)成為日常生活中不可或缺的一部分,人們可以通過移動設(shè)備進行辦公、娛樂、訪問網(wǎng)站等。移動設(shè)備在瀏覽器上訪問網(wǎng)站的時候,一般會有一個dns(domain?name?system,域名系統(tǒng))的解析過程,這個過程是將dns請求發(fā)送到后端的dns服務(wù)器上去查詢應(yīng)用的ip地址。
2、傳統(tǒng)的移動端dns解析技術(shù)一般基于其應(yīng)用程序(比如瀏覽器)文件緩存進行dns解析,在進行首次dns解析時會把dns請求轉(zhuǎn)發(fā)到默認的dns服務(wù)器,每個移動端系統(tǒng)默認的dns服務(wù)器可能會不同,這些默認的dns服務(wù)器位于網(wǎng)絡(luò)中的不同位置,dns請求一般通過網(wǎng)絡(luò)傳輸多次后到達默認的dns服務(wù)器,然后該默認的dns服務(wù)器返回查詢結(jié)果,或者默認的dns服務(wù)器再向上一級dns服務(wù)器查詢。若解析成功,則將成功解析的dns解析結(jié)果緩存到文件,此后再次進行dns解析時若緩存文件里面有對應(yīng)的dns解析記錄,就直接返回記錄的dns解析結(jié)果,而不是向dns服務(wù)器轉(zhuǎn)發(fā)網(wǎng)絡(luò)請求。
3、然而傳統(tǒng)技術(shù)中緩存的dns文件有可能丟失或被刪除,導(dǎo)致緩存失效,此時需要重新經(jīng)過默認的dns服務(wù)器進行dns解析,該技術(shù)依賴于網(wǎng)絡(luò)中默認的dns服務(wù)器的性能和網(wǎng)絡(luò)情況,在弱網(wǎng)的環(huán)境下比較容易超時,解析速度較慢、效率比較低,解析鏈路不穩(wěn)定。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高解析速度和解析穩(wěn)定性的域名解析方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品。
2、第一方面,本技術(shù)提供了一種域名解析方法,包括:
3、攔截應(yīng)用程序的網(wǎng)絡(luò)請求,并提取網(wǎng)絡(luò)請求中待解析的域名;
4、查詢本地存儲的dns解析配置表,判斷dns解析配置表中是否存在與上述待解析的域名相匹配的第一ip地址,dns解析配置表中預(yù)置有域名與相應(yīng)ip地址的映射關(guān)系;
5、若dns解析配置表中存在與待解析的域名相匹配的第一ip地址,則將該第一ip地址返回至所述應(yīng)用程序;
6、若dns解析配置表中不存在與待解析的域名相匹配的ip地址,則將上述網(wǎng)絡(luò)請求轉(zhuǎn)發(fā)至dns服務(wù)器進行解析,直至獲取到該網(wǎng)絡(luò)請求對應(yīng)的dns解析結(jié)果,將該dns解析結(jié)果返回至所述應(yīng)用程序。
7、在其中一個實施例中,將上述網(wǎng)絡(luò)請求轉(zhuǎn)發(fā)至dns服務(wù)器進行解析,直至獲取到該網(wǎng)絡(luò)請求對應(yīng)的dns解析結(jié)果,將該dns解析結(jié)果返回至所述應(yīng)用程序的步驟,包括:
8、將上述網(wǎng)絡(luò)請求按照預(yù)設(shè)服務(wù)優(yōu)先級依次轉(zhuǎn)發(fā)至不同的dns服務(wù)器進行解析,直至獲取到上述網(wǎng)絡(luò)請求對應(yīng)的dns解析結(jié)果,將該dns解析結(jié)果返回至所述應(yīng)用程序。
9、在其中一個實施例中,本地還存儲有dns服務(wù)列表,該dns服務(wù)列表包含具有不同服務(wù)優(yōu)先級的多個dns服務(wù)器所對應(yīng)的第二ip地址;將上述網(wǎng)絡(luò)請求按照預(yù)設(shè)服務(wù)優(yōu)先級依次轉(zhuǎn)發(fā)至不同的dns服務(wù)器進行解析,直至獲取到該網(wǎng)絡(luò)請求對應(yīng)的dns解析結(jié)果,將該dns解析結(jié)果返回至所述應(yīng)用程序的步驟,包括:
10、將上述網(wǎng)絡(luò)請求按照預(yù)設(shè)服務(wù)優(yōu)先級由高到低的順序依次轉(zhuǎn)發(fā)至所述第二ip地址對應(yīng)的dns服務(wù)器進行解析,直至單個dns服務(wù)器成功解析獲得dns解析結(jié)果;
11、接收反饋的dns解析結(jié)果,并從該dns解析結(jié)果中提取與待解析的域名相匹配的第三ip地址;
12、將提取到的第三ip地址返回至所述應(yīng)用程序。
13、在其中一個實施例中,上述接收反饋的dns解析結(jié)果之后,還包括:
14、將dns解析結(jié)果加入dns解析配置表。
15、在其中一個實施例中,上述攔截應(yīng)用程序的網(wǎng)絡(luò)請求,并提取網(wǎng)絡(luò)請求中待解析的域名的步驟之前,還包括:
16、創(chuàng)建并啟動用于dns解析服務(wù)的虛擬網(wǎng)卡;
17、攔截應(yīng)用程序的網(wǎng)絡(luò)請求的步驟包括:
18、通過虛擬網(wǎng)卡攔截所述網(wǎng)絡(luò)請求。
19、在其中一個實施例中,上述創(chuàng)建并啟動用于dns解析服務(wù)的虛擬網(wǎng)卡的步驟包括:
20、接收創(chuàng)建虛擬網(wǎng)卡的創(chuàng)建指令;
21、基于創(chuàng)建指令,獲取虛擬的dns服務(wù)地址和網(wǎng)絡(luò)路由表;
22、根據(jù)虛擬的dns服務(wù)地址和網(wǎng)絡(luò)路由表,創(chuàng)建虛擬網(wǎng)卡,并為所述虛擬網(wǎng)卡分配對應(yīng)的內(nèi)存;
23、獲取dns解析配置表和dns服務(wù)列表,將dns解析配置表和dns服務(wù)列表緩存到所述虛擬網(wǎng)卡的內(nèi)存。
24、第二方面,本技術(shù)還提供了一種域名解析裝置,包括:
25、攔截模塊,用于攔截應(yīng)用程序的網(wǎng)絡(luò)請求,并提取網(wǎng)絡(luò)請求中待解析的域名;
26、查詢模塊,用于查詢本地存儲的dns解析配置表,判斷dns解析配置表中是否存在與上述待解析的域名相匹配的第一ip地址,dns解析配置表中預(yù)置有域名與相應(yīng)ip地址的映射關(guān)系;
27、返回模塊,用于若dns解析配置表中存在與所述待解析的域名相匹配的第一ip地址,則將該第一ip地址返回至所述應(yīng)用程序;
28、轉(zhuǎn)發(fā)模塊,用于若dns解析配置表中不存在與待解析的域名相匹配的ip地址,則將上述網(wǎng)絡(luò)請求轉(zhuǎn)發(fā)至dns服務(wù)器進行解析,直至獲取到該網(wǎng)絡(luò)請求對應(yīng)的dns解析結(jié)果,將該dns解析結(jié)果返回至所述應(yīng)用程序。
29、第三方面,本技術(shù)還提供了一種計算機設(shè)備,包括存儲器和處理器,存儲器存儲有計算機程序,處理器執(zhí)行所述計算機程序時實現(xiàn)以上任一實施例中的域名解析方法的步驟。
30、第四方面,本技術(shù)還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)以上任一實施例中的域名解析方法的步驟。
31、第五方面,本技術(shù)還提供了一種計算機程序產(chǎn)品,包括計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)以上任一實施例中的域名解析方法的步驟。
32、上述域名解析方法、裝置、計算機設(shè)備、計算機可讀存儲介質(zhì)和計算機程序產(chǎn)品,攔截應(yīng)用程序的網(wǎng)絡(luò)請求,并提取網(wǎng)絡(luò)請求中待解析的域名;查詢本地存儲的dns解析配置表,判斷dns解析配置表中是否存在與待解析的域名相匹配的第一ip地址,?dns解析配置表中預(yù)置有域名與相應(yīng)ip地址的映射關(guān)系;若dns解析配置表中存在與所述待解析的域名相匹配的第一ip地址,則將所述第一ip地址返回至應(yīng)用程序;若不存在,則將該網(wǎng)絡(luò)請求轉(zhuǎn)發(fā)至dns服務(wù)器進行解析,直至獲取到該網(wǎng)絡(luò)請求對應(yīng)的dns解析結(jié)果,再將dns解析結(jié)果返回至應(yīng)用程序。由于攔截網(wǎng)絡(luò)請求后先通過查詢本地預(yù)先存儲的dns解析配置表來獲取與待解析域名相匹配的ip地址,使得dns解析過程先在本地完成,只有dns解析配置表中不存在與待解析的域名相匹配的ip地址時才需要借助于dns服務(wù)器完成解析,不需要每次都將網(wǎng)絡(luò)請求轉(zhuǎn)發(fā)到外部的dns服務(wù)器,減少了文件的讀寫操作,因而能夠快速返回域名對應(yīng)的ip地址,極大提高了域名解析速度和減少了對外部dns服務(wù)器的依賴,從而也減少了因dns服務(wù)器故障導(dǎo)致的dns解析失敗、超時等問題的出現(xiàn),提升了解析的穩(wěn)定性。