專利名稱:一種域名訪問方法及客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡(luò)技術(shù),尤其涉及一種域名訪問方法及客戶端。
背景技術(shù):
DNS(Domain Name Service,域名服務(wù))是一種向用戶提供其訪問的域名地址對應(yīng)的IP地址+端口號的服務(wù)。其典型應(yīng)用是Internet上的DNS服務(wù)。
請參閱圖1,該圖為現(xiàn)有技術(shù)中DNS系統(tǒng)的系統(tǒng)結(jié)構(gòu)示意圖,其主要包括客戶端、主用域名服務(wù)器、域名信息數(shù)據(jù)庫及域名管理子系統(tǒng),其中各組成部分的主要作用如下客戶端,用于發(fā)起域名訪問請求;域名服務(wù)器,與客戶端連接,用于根據(jù)客戶端要求訪問的域名地址在域名信息數(shù)據(jù)庫中查詢該域名地址對應(yīng)的IP地址+端口號,并根據(jù)預(yù)先設(shè)置的路由策略為客戶端確定本次路由的目的IP地址+端口號,將其返回給客戶端;域名信息數(shù)據(jù)庫,與域名服務(wù)器連接,用于存儲域名信息,域名信息中包括域名地址與IP地址+端口號的對應(yīng)關(guān)系,及預(yù)先設(shè)置的針對該域名地址的路由策略;域名管理子系統(tǒng),與域名服務(wù)器連接,通過域名服務(wù)器對域名信息數(shù)據(jù)庫中存儲的域名相關(guān)信息進行修改。
DNS系統(tǒng)能夠為用戶訪問的域名提供對應(yīng)的IP地址+端口號,用戶利用該IP地址+端口號即可訪問相應(yīng)的域名主機。但用戶利用現(xiàn)有技術(shù)中的DNS系統(tǒng)訪問域名地址時,每次域名訪問都必須先進行一次對域名服務(wù)器的遠程訪問,由域名服務(wù)器將用戶訪問的域名地址翻譯成相應(yīng)的IP地址+端口號返回給客戶端。由于域名服務(wù)器的帶寬及處理能力有限,因此若同時有大量的客戶端訪問域名服務(wù)器,必然會導(dǎo)致用戶訪問域名地址的速度受到嚴重影響。
一個域名地址可同時與多個IP地址+端口號相對應(yīng),即可為多個IP地址+端口號不同的服務(wù)器配置同樣的域名地址,DNS系統(tǒng)根據(jù)用戶訪問的域名地址及預(yù)先設(shè)置的路由策略為客戶端確定本次路由的目的IP地址+端口號?,F(xiàn)有技術(shù)中DNS系統(tǒng)提供的路由策略只有負載均衡一種方式,即客戶端的域名訪問被均勻分配到該域名地址對應(yīng)的所有IP地址+端口號上,具有同一域名地址的多個服務(wù)器承擔(dān)的負載基本相同,負載均衡式的路由策略是一種簡單而有效路由方式,但是它不能區(qū)分不同服務(wù)器之間的性能差異,無法根據(jù)服務(wù)器的性能差異進行路由。
發(fā)明內(nèi)容
本發(fā)明提供一種域名訪問方法及客戶端,用以解決現(xiàn)有技術(shù)中存在用戶每次進行域名訪問時都必須先進行一次對域名服務(wù)器的遠程訪問的問題。
本發(fā)明方法包括一種域名訪問方法,包括步驟A、用戶在客戶端發(fā)出域名訪問請求;B、當(dāng)客戶端本地保存的域名信息中具有所述用戶請求訪問的域名的關(guān)聯(lián)信息時,客戶端根據(jù)關(guān)聯(lián)信息中的路由策略及域名對應(yīng)的IP地址+端口號為本次域名訪問確定目的IP地址+端口號;C、客戶端利用所述確定的IP地址+端口號進行域名訪問。
較佳地,所述客戶端本地保存的域名信息為本客戶端曾經(jīng)訪問過的域名的關(guān)聯(lián)信息。
較佳地,所述客戶端定時檢測本地保存的域名信息,將其中超過設(shè)定時長未訪問的域名的關(guān)聯(lián)信息刪除。
較佳地,所述客戶端定時與域名服務(wù)器進行域名信息同步,以此更新本地保存的域名信息。
較佳地,所述域名服務(wù)器端的域名信息被同時保存在臨時存儲介質(zhì)和永久存儲介質(zhì)中。
較佳地,所述步驟B中還包括當(dāng)客戶端本地保存的域名信息中不具有所述用戶請求訪問的域名的關(guān)聯(lián)信息時,客戶端從域名服務(wù)器端獲取該域名的關(guān)聯(lián)信息添加到本地的域名信息中。
較佳地,所述路由策略為將客戶端的域名訪問路由均勻分配到與該域名對應(yīng)的所有可用的IP地址+端口號上。
較佳地,所述路由策略為域名對應(yīng)的每個IP地址+端口號承擔(dān)固定的負載比例。
較佳地,所述路由策略為將用戶的域名訪問路由固定分配到該域名對應(yīng)的某個IP地址+端口號上。
較佳地,所述客戶端的域名信息被保存在本地的臨時存儲介質(zhì)中,或者被同時保存在臨時存儲介質(zhì)和永久存儲介質(zhì)中。
一種客戶端,包括用于提供人機交互界面,供用戶發(fā)出域名訪問請求的用戶界面模塊,還包括存儲模塊,用于存儲域名信息;查詢模塊,分別連接所述用戶界面模塊和存儲模塊,用于根據(jù)用戶請求訪問的域名從存儲模塊中查詢該域名的關(guān)聯(lián)信息;域名訪問處理模塊,連接所述查詢模塊,用于根據(jù)所述關(guān)聯(lián)信息中的路由策略及域名對應(yīng)的IP地址+端口號確定本次域名訪問的目的IP地址+端口號,利用所述確定的IP地址+端口號進行域名訪問。
較佳地,還包括域名信息檢測模塊,連接所述存儲模塊,用于定時檢測存儲模塊中的域名信息,將其中超過設(shè)定時長未訪問的域名的關(guān)聯(lián)信息刪除。
較佳地,還包括
域名信息獲取模塊,分別連接所述存儲模塊和查詢模塊,用于定時與域名服務(wù)器進行域名信息同步,以此更新本地保存的域名信息,當(dāng)查詢模塊在存儲模塊中沒有查詢到用戶請求訪問的域名的關(guān)聯(lián)信息時,從域名服務(wù)器端獲取該域名的關(guān)聯(lián)信息,并將其保存到存儲模塊中。
本發(fā)明有益效果如下本發(fā)明技術(shù)方案通過在客戶端側(cè)保存域名信息,使得用戶在客戶端發(fā)起域名訪問請求時,直接查詢本地保存的域名信息即可得到用戶請求訪問的域名對應(yīng)的路由策略及IP地址+端口號,用戶利用通過該路由策略確定的本次域名訪問的目的IP地址+端口號即可進行域名訪問,從而大大提高了用戶進行域名訪問的速度,節(jié)省了大量的資源帶寬。
更進一步,本發(fā)明技術(shù)方案中提出了一種基于設(shè)定負載比例的路由分配方式,以及另一種基于用戶ID的固定路由分配方式,使得用戶進行域名訪問時,DNS系統(tǒng)可根據(jù)同一域名對應(yīng)的不同服務(wù)器的性能差異進行路由分配。
圖1為現(xiàn)有技術(shù)中DNS系統(tǒng)的系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明域名訪問方法的主要實現(xiàn)原理流程圖;圖3為根據(jù)本發(fā)明方法原理進行實施的實施例處理過程流程圖;圖4為本發(fā)明客戶端的主要組成結(jié)構(gòu)框圖。
具體實施例方式
為解決現(xiàn)有技術(shù)中存在的用戶每次進行域名訪問時都必須先對域名服務(wù)器進行一次遠程訪問的問題,本發(fā)明技術(shù)方案通過在客戶端側(cè)保存域名信息,使得用戶在客戶端發(fā)起域名訪問請求時,直接查詢本地保存的域名信息即可得到用戶請求訪問的域名對應(yīng)的路由策略及IP地址+端口號,用戶利用通過該路由策略確定的本次域名訪問的目的IP地址+端口號即可進行域名訪問,從而大大提高了用戶進行域名訪問的速度,節(jié)省了大量的資源帶寬。
下面將結(jié)合各個附圖對本發(fā)明技術(shù)方案的主要實現(xiàn)原理具體實施方式
及其對應(yīng)能夠達到的有益效果進行詳細的闡述。
請參閱圖2,該圖為本發(fā)明域名訪問方法的主要實現(xiàn)原理流程圖,其主要實現(xiàn)過程如下步驟S10、用戶在客戶端發(fā)出域名訪問請求。
步驟S11、客戶端判斷本地保存的域名信息中是否具有所述用戶請求訪問的域名的關(guān)聯(lián)信息,若是,執(zhí)行步驟S12,否則,執(zhí)行步驟S13。
步驟S12、客戶端根據(jù)關(guān)聯(lián)信息中的路由策略及域名對應(yīng)的IP地址+端口號為本次域名訪問確定目的IP地址+端口號,執(zhí)行步驟S14。
步驟S13、客戶端從域名服務(wù)器端獲取所述用戶訪問的域名的關(guān)聯(lián)信息,將其添加到本地保存的域名信息中,并根據(jù)關(guān)聯(lián)信息中的路由策略及域名對應(yīng)的IP地址+端口號為本次域名訪問確定目的IP地址+端口號,執(zhí)行步驟S14。
步驟S14、客戶端利用所述確定的IP地址+端口號進行域名訪問。
下面列舉一個實施例對上述本發(fā)明方法原理進行更為詳細的說明,請參照圖3,該圖是根據(jù)本發(fā)明方法原理進行實施的實施例處理過程流程圖,其具體實施過程如下步驟S200、用戶在客戶端側(cè)通過域名訪問程序發(fā)出域名訪問請求。
步驟S201、客戶端側(cè)的域名訪問程序判斷本地的臨時存儲介質(zhì)(高速緩存)內(nèi)保存的域名信息中是否存在用戶請求訪問的域名的關(guān)聯(lián)信息,若是,執(zhí)行步驟S202,否則,執(zhí)行步驟S203。
所述客戶端本地的域名信息數(shù)據(jù)被保存在臨時存儲介質(zhì)中,較佳地,被同時保存在臨時存儲介質(zhì)和永久存儲介質(zhì)中。
所述客戶端本地保存的域名信息為本客戶端曾經(jīng)訪問過的域名的關(guān)聯(lián)信息,客戶端定時檢測本地保存的域名信息,將其中超過設(shè)定時長未訪問的域名的關(guān)聯(lián)信息刪除,同時定時與域名服務(wù)器進行域名信息同步,以此更新本地保存的域名信息。
步驟S202、客戶端側(cè)的域名訪問程序從本地臨時存儲介質(zhì)中獲取用戶請求訪問的域名的關(guān)聯(lián)信息,該關(guān)聯(lián)信息中包括路由策略信息以及域名對應(yīng)的IP地址+端口號信息,客戶端根據(jù)所述路由策略信息及域名對應(yīng)的IP地址+端口號信息為本次域名訪問確定目的IP地址+端口號,轉(zhuǎn)步驟S208。
步驟S203、客戶端向域名服務(wù)器端發(fā)起域名信息獲取請求,該請求中攜帶有用戶請求訪問的域名。
步驟S204、域名服務(wù)器收到域名信息獲取請求后,查詢本地保存的域名信息,若域名服務(wù)器本地保存的域名信息中具有所述用戶請求訪問的域名的關(guān)聯(lián)信息,執(zhí)行步驟S206;若域名服務(wù)器本地保存的域名信息中不具有所述用戶請求訪問的域名的關(guān)聯(lián)信息,執(zhí)行步驟S205。
所述域名服務(wù)器端的域名信息數(shù)據(jù)被同時保存在臨時存儲介質(zhì)和永久存儲介質(zhì)中。
步驟S205、域名服務(wù)器向客戶端返回域名信息不存在的提示信息,流程結(jié)束。
步驟S206、域名服務(wù)器將所述查詢到的域名關(guān)聯(lián)信息返回給客戶端。
步驟S207、客戶端將從域名服務(wù)器端查詢到的域名關(guān)聯(lián)信息保存到本地的域名信息存儲介質(zhì)中,并根據(jù)該關(guān)聯(lián)信息中的路由策略信息及域名對應(yīng)的IP地址+端口號信息為本次域名訪問確定目的IP地址+端口號。
步驟S208、客戶端利用所述確定的IP地址+端口號進行域名訪問。
本發(fā)明的路由策略可以采用負載均衡的路由分配方式,即將客戶端的域名訪問路由均勻分配到與該域名對應(yīng)的所有可用的IP地址+端口號上;或者可以采用基于設(shè)定負載比例的的路由分配方式,即使得域名對應(yīng)的每個IP地址+端口號承擔(dān)的固定的負載比例;或者可以采用基于用戶ID的固定路由分配方式,即將用戶的域名訪問路由固定分配到該域名對應(yīng)的某個IP地址+端口號上。
上述三種路由策略中,第一種現(xiàn)有技術(shù)的負載均衡的路由分配方式不支持根據(jù)不同服務(wù)器的性能差異進行路由分配;第二種和第三種路由策略均可以實現(xiàn)根據(jù)不同服務(wù)器的性能差異進行路由分配;其中第三種路由策略既可以實現(xiàn)根據(jù)不同服務(wù)器的性能差異進行路由分配,又可以實現(xiàn)使得某個具體的用戶固定使用其ID對應(yīng)的服務(wù)器,這樣一旦某臺服務(wù)器發(fā)生異常或者服務(wù)器軟件進行升級時只會影響到固定的一個用戶群,而前兩種路由策略則是每個用戶都有可能受到影響。
下面舉例對上述基于設(shè)定負載比例的的路由分配方式和用戶ID的固定路由分配方式分別進行說明當(dāng)所述路由策略為基于設(shè)定負載比例的路由分配方式時,若用戶訪問的域名與編號分別為01和02的兩個IP地址+端口號相對應(yīng),則相應(yīng)制定的路由策略如下((隨機數(shù)mod 10)<3)時對應(yīng)編號為01的IP地址+端口號;((隨機數(shù)mod 10)>=3)時對應(yīng)編號為02的IP地址+端口號。
當(dāng)客戶端生成隨機數(shù)模10小于3時,則編號為01的IP地址+端口號負載本次域名訪問請求;當(dāng)客戶端生成隨機數(shù)模10大于等于3時,則編號為02的IP地址+端口號負載本次域名訪問請求。從而使得編號為01的IP地址+端口號負載30%的域名訪問請求,編號為02的IP地址+端口號負載70%的域名訪問請求。
當(dāng)所述路由策略為基于用戶ID的固定路由分配方式時,若用戶訪問的域名與編號分別為01、02和03的三個IP地址+端口號相對應(yīng),則相應(yīng)制定的路由策略公式如下(用戶ID div 1000)mod 3當(dāng)客戶端程序提供的用戶ID除以1000取整再模3等于0時,則編號為01的IP地址+端口號負載本次域名訪問請求;當(dāng)用戶ID除以1000取整再模3等于1時,則編號為02的IP地址+端口號負載本次域名訪問請求;當(dāng)用戶ID除以1000取整再模3等于2時,則編號為03的IP地址+端口號負載本次域名訪問請求;由于用戶ID為固定值,則某個具體的用戶固定使用域名對應(yīng)的某個IP地址+端口號。
綜上可見,實施本發(fā)明所述使得用戶在客戶端發(fā)起域名訪問請求時,通過直接查詢本地保存的域名信息即可得到用戶請求訪問的域名對應(yīng)的路由策略及IP地址+端口號,從而大大提高了用戶進行域名訪問的速度,節(jié)省了大量的資源帶寬。
相應(yīng)于本發(fā)明上述提出的域名訪問方法,本發(fā)明這里還進而提出了一種對應(yīng)的客戶端,請參照圖4,該圖是本發(fā)明客戶端的主要組成結(jié)構(gòu)框圖,其主要包括用戶界面模塊10,用于提供人機交互界面,供用戶發(fā)出域名訪問請求;存儲模塊11,用于存儲域名信息;查詢模塊12,分別連接所述用戶界面模塊10和存儲模塊11,用于根據(jù)用戶請求訪問的域名從存儲模塊11中查詢該域名的關(guān)聯(lián)信息;域名訪問處理模塊13,連接所述查詢模塊12,用于根據(jù)所述關(guān)聯(lián)信息中的路由策略及域名對應(yīng)的IP地址+端口號確定本次域名訪問的目的IP地址+端口號,利用所述確定的IP地址+端口號進行域名訪問;域名信息檢測模塊14,連接所述存儲模塊11,用于定時檢測存儲模塊11中的域名信息,將其中超過設(shè)定時長未訪問的域名的關(guān)聯(lián)信息刪除;域名信息獲取模塊15,分別連接所述存儲模塊11和查詢模塊12,用于定時與域名服務(wù)器進行域名信息同步,以此更新本地保存的域名信息,當(dāng)查詢模塊12在存儲模塊11中沒有查詢到用戶請求訪問的域名的關(guān)聯(lián)信息時,從域名服務(wù)器端獲取該域名的關(guān)聯(lián)信息,并將其保存到存儲模塊11中。
本發(fā)明上述提出的客戶端的其他具體相關(guān)技術(shù)實現(xiàn)細節(jié)請參照本發(fā)明上述方法中的相關(guān)技術(shù)實現(xiàn)細節(jié)的具體描述,這里不再給以過多贅述。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種域名訪問方法,其特征在于,包括步驟A、用戶在客戶端發(fā)出域名訪問請求;B、當(dāng)客戶端本地保存的域名信息中具有所述用戶請求訪問的域名的關(guān)聯(lián)信息時,客戶端根據(jù)關(guān)聯(lián)信息中的路由策略及域名對應(yīng)的IP地址+端口號為本次域名訪問確定目的IP地址+端口號;C、客戶端利用所述確定的IP地址+端口號進行域名訪問。
2.如權(quán)利要求1所述的方法,其特征在于,所述客戶端本地保存的域名信息為本客戶端曾經(jīng)訪問過的域名的關(guān)聯(lián)信息。
3.如權(quán)利要求2所述的方法,其特征在于,所述客戶端定時檢測本地保存的域名信息,將其中超過設(shè)定時長未訪問的域名的關(guān)聯(lián)信息刪除。
4.如權(quán)利要求2或3所述的方法,其特征在于,所述客戶端定時與域名服務(wù)器進行域名信息同步,以此更新本地保存的域名信息。
5.如權(quán)利要求4所述的方法,其特征在于,所述域名服務(wù)器端的域名信息被同時保存在臨時存儲介質(zhì)和永久存儲介質(zhì)中。
6.如權(quán)利要求1所述的方法,其特征在于,所述步驟B中還包括當(dāng)客戶端本地保存的域名信息中不具有所述用戶請求訪問的域名的關(guān)聯(lián)信息時,客戶端從域名服務(wù)器端獲取該域名的關(guān)聯(lián)信息添加到本地的域名信息中。
7.如權(quán)利要求1所述的方法,其特征在于,所述路由策略為將客戶端的域名訪問路由均勻分配到與該域名對應(yīng)的所有可用的IP地址+端口號上。
8.如權(quán)利要求1所述的方法,其特征在于,所述路由策略為域名對應(yīng)的每個IP地址+端口號承擔(dān)固定的負載比例。
9.如權(quán)利要求1所述的方法,其特征在于,所述路由策略為將用戶的域名訪問路由固定分配到該域名對應(yīng)的某個IP地址+端口號上。
10.如權(quán)利要求1所述的方法,其特征在于,所述客戶端的域名信息被保存在本地的臨時存儲介質(zhì)中,或者被同時保存在臨時存儲介質(zhì)和永久存儲介質(zhì)中。
11.一種客戶端,包括用于提供人機交互界面,供用戶發(fā)出域名訪問請求的用戶界面模塊,其特征在于,還包括存儲模塊,用于存儲域名信息;查詢模塊,分別連接所述用戶界面模塊和存儲模塊,用于根據(jù)用戶請求訪問的域名從存儲模塊中查詢該域名的關(guān)聯(lián)信息;域名訪問處理模塊,連接所述查詢模塊,用于根據(jù)所述關(guān)聯(lián)信息中的路由策略及域名對應(yīng)的IP地址+端口號確定本次域名訪問的目的IP地址+端口號,利用所述確定的IP地址+端口號進行域名訪問。
12.根據(jù)權(quán)利要求11所述的客戶端,其特征在于,還包括域名信息檢測模塊,連接所述存儲模塊,用于定時檢測存儲模塊中的域名信息,將其中超過設(shè)定時長未訪問的域名的關(guān)聯(lián)信息刪除。
13.根據(jù)權(quán)利要求11或12所述的客戶端,其特征在于,還包括域名信息獲取模塊,分別連接所述存儲模塊和查詢模塊,用于定時與域名服務(wù)器進行域名信息同步,以此更新本地保存的域名信息,當(dāng)查詢模塊在存儲模塊中沒有查詢到用戶請求訪問的域名的關(guān)聯(lián)信息時,從域名服務(wù)器端獲取該域名的關(guān)聯(lián)信息,并將其保存到存儲模塊中。
全文摘要
本發(fā)明公開了一種域名訪問方法及客戶端,用以解決現(xiàn)有技術(shù)中存在用戶每次進行域名訪問時都必須先進行一次對域名服務(wù)器的遠程訪問的問題。所述方法包括步驟A.用戶在客戶端發(fā)出域名訪問請求;B.當(dāng)客戶端本地保存的域名信息中具有所述用戶請求訪問的域名的關(guān)聯(lián)信息時,客戶端根據(jù)關(guān)聯(lián)信息中的路由策略及域名對應(yīng)的IP地址+端口號為本次域名訪問確定目的IP地址+端口號;C.客戶端利用所述確定的IP地址+端口號進行域名訪問。所述客戶端包括用戶界面模塊、存儲模塊、查詢模塊和域名訪問處理模塊。本發(fā)明大大提高了用戶進行域名訪問的速度,節(jié)省了大量的資源帶寬。
文檔編號H04L12/28GK101094129SQ200610086758
公開日2007年12月26日 申請日期2006年6月20日 優(yōu)先權(quán)日2006年6月20日
發(fā)明者李建濤 申請人:騰訊科技(深圳)有限公司