成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

一種域名系統(tǒng)dns的最優(yōu)應用服務器選取方法和裝置的制作方法

文檔序號:7925532閱讀:277來源:國知局

專利名稱::一種域名系統(tǒng)dns的最優(yōu)應用服務器選取方法和裝置的制作方法
技術(shù)領(lǐng)域
:本申請涉及互聯(lián)網(wǎng)域名解析的
技術(shù)領(lǐng)域
,特別是涉及一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法,及一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取裝置。
背景技術(shù)
:在互聯(lián)網(wǎng)的應用中,域名和IP地址是不可缺少的,因為人們訪問網(wǎng)站必須要通過網(wǎng)站的域名和IP地址來查找登錄?,F(xiàn)有技術(shù)查找域名和IP地址的時候要運用到DNS,也就是域名系統(tǒng)(或稱之為域名服務器)。DNS用于域名的解析,為hternet上的主機分配域名地址和IP地址。也就是說,當用戶向DNS請求域名地址解析時,該系統(tǒng)就會自動把域名地址轉(zhuǎn)為IP地址。在實際中,任何域名都至少有一個DNS來對域名進行解析,至少是兩個。因為DNS可以輪回處理,第一個解析失敗可以找第二個。這樣只要有一個DNS解析正常,就不會影響域名的正常使用。DNS協(xié)議可以使用UDP協(xié)議和TCP協(xié)議作為傳輸層協(xié)議,現(xiàn)有技術(shù)中,Windows客戶端主機系統(tǒng)僅實現(xiàn)了UDP協(xié)議作為DNS協(xié)議的傳輸層協(xié)議。UDP協(xié)議具有以下特性UUDP協(xié)議是一個無接連協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接,當它想傳送時就簡單地去抓取來自應用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡上。在發(fā)送端,UDP協(xié)議傳送數(shù)據(jù)的速度僅僅是受應用程序生成數(shù)據(jù)的速度、計算機的能力和傳輸帶寬的限制;在接收端,UDP協(xié)議把每個消息段放在隊列中,應用程序每次從隊列中讀一個消息段。2、由于傳輸數(shù)據(jù)不建立連接,因此也就不需要維護連接狀態(tài),包括收發(fā)狀態(tài)等,因此一臺服務機可同時向多個客戶機傳輸相同的消息。3、UDP協(xié)議信息包的標題很短,只有8個字節(jié),相對于TCP的20個字節(jié)信息包的額外開銷很小。4、吞吐量不受擁擠控制算法的調(diào)節(jié),只受應用軟件生成數(shù)據(jù)的速率、傳輸帶寬、源端和終端主機性能的限制。5、UDP協(xié)議使用盡最大努力交付,即不保證可靠交付,因此主機不需要維持復雜的鏈接狀態(tài)表。6、UDP協(xié)議是面向報文的。發(fā)送方的UDP協(xié)議對應用程序交下來的報文,在添加首部后就向下交付給IP層。既不拆分,也不合并,而是保留這些報文的邊界,因此,應用程序需要選擇合適的報文大小。選擇UDP協(xié)議作為DNS應用層協(xié)議的優(yōu)點是速度快,但存在以下缺點1、由于Windows系統(tǒng)實現(xiàn)DNS協(xié)議是基于同步的,DNS服務器根據(jù)自身的負載情況把域名對應的IP地址集合隨機散列返回給客戶端,僅實現(xiàn)了基于服務器端的均衡負載,解析服務是同步的,因此在某些特定網(wǎng)絡狀況下,解析耗時比較長,因此DNS解析服務不可靠并且耗時時間較長;2,ffindows系統(tǒng)DNS解析服務是面向全系統(tǒng)的,不具備特定應用程序可配置DNS服務器,不能滿足某些網(wǎng)絡應用需求;3,Windows系統(tǒng)DNS解析服務存在漏洞,易被劫持篡改,安全性較低。因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是實現(xiàn)一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法,以保證DNS解析服務可靠性并縮短耗時,同時能夠滿足一些特定的網(wǎng)絡應用需求,并提高安全性。
發(fā)明內(nèi)容本申請所要解決的技術(shù)問題是提供一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法,以保證DNS解析服務可靠性并縮短耗時,同時能夠滿足一些特定的網(wǎng)絡應用需求,并提高安全性。相應的,本申請還提供一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取裝置,以確保上述方法在實際中的應用及實現(xiàn)。為了解決上述問題,本申請公開了一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法,包括客戶端向多個DNS服務器同時發(fā)送DNS查詢請求,所述DNS查詢請求中包括域名;當有DNS服務器根據(jù)所述DNS查詢請求向客戶端返回域名對應的IP地址,客戶端根據(jù)所述IP地址生成候選IP地址列表;客戶端根據(jù)所述候選IP地址列表,向各IP地址對應的應用服務器同時發(fā)送連接請求;依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息,確定最優(yōu)應用服務器。優(yōu)選的,所述的方法,還包括將當前域名及對應最優(yōu)服務器的IP地址寫入客戶端的緩存中,并記錄所述域名及對應IP地址記錄的生命周期TTL信息。優(yōu)選的,在客戶端向多個DNS服務器同時發(fā)送DNS查詢請求的步驟之前,還包括客戶端查詢其緩存中是否有當前待請求查詢的域名的對應IP地址的記錄,若有,則判斷所述域名及對應IP地址記錄的生命周期TTL信息是否過期,若否,則直接提取所述IP地址。優(yōu)選的,所述依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息確定最優(yōu)應用服務器的步驟包括若在預設(shè)時間內(nèi),有應用服務器第一時間響應所述連接請求,則中斷與其它應用服務器的連接,將當前應用服務器確定為最優(yōu)應用服務器。優(yōu)選的,所述依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息確定最優(yōu)應用服務器的步驟包括若超出預設(shè)時間后,有多臺應用服務器響應所述連接請求,則對各臺應用服務器的連接時間進行排序,將連接時間最短的應用服務器確定為最優(yōu)應用服務器。優(yōu)選的,所述依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息確定最優(yōu)應用服務器的步驟包括當客戶端所發(fā)送的DNS查詢請求為基于HTTP協(xié)議的DNS查詢請求時,獲取響應所述連接請求的應用服務器的下載速度,將下載速度最快的應用服務器確定為最優(yōu)應用服務器。優(yōu)選的,所述客戶端根據(jù)IP地址生成候選IP地址列表包括獲取所述IP地址所屬的網(wǎng)段;從各網(wǎng)段提取一個IP地址寫入候選IP地址列表。本申請實施例還公開了一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取裝置,包括域名請求模塊用于由客戶端向多個DNS服務器同時發(fā)送DNS查詢請求,所述DNS查詢請求中包括域名;候選IP地址列表生成模塊用于在有DNS服務器根據(jù)所述DNS查詢請求向客戶端返回域名對應的IP地址,由客戶端根據(jù)所述IP地址生成候選IP地址列表;IP地址連接請求模塊用于由客戶端根據(jù)所述候選IP地址列表,向各IP地址對應的應用服務器同時發(fā)送連接請求;最優(yōu)應用服務器確定模塊用于依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息,確定最優(yōu)應用服務器。優(yōu)選的,所述的裝置,還包括域名信息記錄模塊用于將當前域名及對應最優(yōu)服務器的IP地址寫入客戶端的緩存中,并記錄所述域名及對應IP地址記錄的生命周期TTL信息。優(yōu)選的,所述的裝置,還包括客戶端緩存查詢模塊用于客戶端查詢其緩存中是否有當前待請求查詢的域名的對應IP地址的記錄,若有,則判斷所述域名及對應IP地址記錄的生命周期TTL信息是否過期,若否,則直接提取所述IP地址。優(yōu)選的,所述最優(yōu)應用服務器確定模塊進一步包括第一時間最優(yōu)應用服務器確定子模塊用于在預設(shè)時間內(nèi),有應用服務器第一時間響應所述連接請求時,中斷與其它應用服務器的連接,將當前應用服務器確定為最優(yōu)應用服務器。優(yōu)選的,所述最優(yōu)應用服務器確定模塊進一步包括連接時間最優(yōu)應用服務器確定子模塊用于在超出預設(shè)時間后,有多臺應用服務器響應所述連接請求時,對各臺應用服務器的連接時間進行排序,將連接時間最短的應用服務器確定為最優(yōu)應用服務器。優(yōu)選的,所述最優(yōu)應用服務器確定模塊進一步包括下載速度最優(yōu)應用服務器確定子模塊用于在客戶端所發(fā)送的DNS查詢請求為基于HTTP協(xié)議的DNS查詢請求時,獲取響應所述連接請求的應用服務器的下載速度,將下載速度最快的應用服務器確定為最優(yōu)應用服務器。優(yōu)選的,所述候選IP地址列表生成模塊包括網(wǎng)段獲取子模塊獲取所述IP地址所屬的網(wǎng)段;IP地址提取子模塊用于從各網(wǎng)段提取一個IP地址寫入候選IP地址列表。與現(xiàn)有技術(shù)相比,本申請包括以下優(yōu)點本申請仍然采用UDP協(xié)議作為DNS協(xié)議的傳輸層協(xié)議,但是以異步并發(fā)方式發(fā)送多個DNS查詢請求給多個DNS服務器,由于采用異步并發(fā)的方式實現(xiàn),當有DNS服務器響應返回請求中域名對應的IP地址時,客戶端立即解析,不受DNS服務器個數(shù)的增加而影響整體解析響應時間。由于每個DNS服務器的請求及響應時間不同,因而可以獲得最快的DNS響應。從而解決了現(xiàn)有技術(shù)中Windows系統(tǒng)DNS解析服務不支持多DNS并發(fā)請求,解析服務不可靠并且耗時時間較長的缺陷。本申請實現(xiàn)了DNS服務器配置策略,并且不受DNS服務器個數(shù)的增加而影響整體解析速度。滿足各種網(wǎng)絡應用需求。從而解決了現(xiàn)有技術(shù)中Windows系統(tǒng)DNS解析服務是面向全系統(tǒng)的,不具備特定應用程序可配置DNS服務器,不能滿足某些網(wǎng)絡應用需求的缺陷。本申請解析DNS服務器返回的IP地址,相應建立與對應應用服務器的連接,根據(jù)連接時間最小作為最優(yōu)應用服務器IP地址返回給調(diào)用者,實現(xiàn)了基于連接測速的優(yōu)化策略。對于HTTP協(xié)議的DNS查詢請求,本申請還支持根據(jù)最快的HTTPGET下載該域名根URL的下載速度作為最優(yōu)應用服務器IP地址返回給調(diào)用者,實現(xiàn)了基于HTTPGET下載測速的優(yōu)化策略。解決了現(xiàn)有技術(shù)中Windows系統(tǒng)DNS解析服務不提供任何加速優(yōu)化策略的缺陷達到了網(wǎng)絡加速的目的??梢宰赃m應發(fā)現(xiàn)最短路徑與響應最快的最優(yōu)應用服務器對應的IP地址??梢赃\用于教育網(wǎng)加速應用、電信網(wǎng)通移動運營商網(wǎng)絡資源優(yōu)化訪問。對用戶而言,提供了更快的網(wǎng)絡服務。本申請自行實現(xiàn)了DNS解析服務,并以加密方式保存經(jīng)過優(yōu)化的DNS解析結(jié)果。相比Windows系統(tǒng)DNS解析服務有更高的安全性。本申請解決了Windows系統(tǒng)DNS解析服務存在漏洞,易被劫持篡改的缺陷。圖1是本申請一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法實施例1的步驟流程圖;圖2是本申請一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法實施例2的步驟流程圖;圖3是本申請一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取裝置實施例的結(jié)構(gòu)圖。具體實施例方式為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本申請作進一步詳細的說明。為使本領(lǐng)域技術(shù)人員更好地理解本申請,以下對域名系統(tǒng)(DNS)的相關(guān)技術(shù)進行說明。域名系統(tǒng)(DNS)是一種用于TCP/IP應用程序的分布式數(shù)據(jù)庫,它提供主機名字和IP地址之間的轉(zhuǎn)換信息。通常,網(wǎng)絡用戶通過UDP協(xié)議(UserDatagramProtocol,用戶數(shù)據(jù)包協(xié)議)和DNS服務器進行通信,服務器在特定的53端口監(jiān)聽,并返回用戶所需的相關(guān)fn息οDNS分為Client(客戶端)和Server(服務器),Client扮演發(fā)問的角色,也就是|、n]Server—fDomainName()白勺^iEIPjfttlt,ServerDomainName正IP地址。通常,當?shù)氐腄NS先會查自己的資料庫,如果自己的資料庫沒有此DomainName的真正IP地址,則會往該DNS上所設(shè)的DNS服務器詢問,依此得到此DomainName的真正IP地址之后,將該DomainName對應的真正IP地址存起來,并回答客戶。DNS服務器會根據(jù)不同的授權(quán)區(qū)(hne),記錄所屬該網(wǎng)域下的各名稱資料,這個名稱資料包括網(wǎng)域下的次網(wǎng)域名稱以及主機名稱,在每一個DNS名稱服務器中都有一個快取緩存區(qū)(Cache),這個快取緩存區(qū)的主要目的是將該名稱服務器所查詢出來的名稱及相對的IP地址記錄在快取緩存區(qū)中,當下一次還有另外一個客戶端到此服務器上去查詢相同的名稱時,服務器就不用在到別臺主機上去尋找,而可以直接從快取緩存區(qū)中找到對應的名稱記錄資料,傳回給客戶端,從而加速客戶端對名稱查詢的速度。例如,當DNS客戶端向指定的DNS服務器查詢網(wǎng)際網(wǎng)路上的某一臺主機名稱,DNS服務器會在該資料庫中找尋用戶所指定的名稱,如果沒有,該服務器會在自己的快取緩存區(qū)中查詢有無該筆名稱記錄,如果找到對應的名稱記錄,則從DNS服務器直接將所對應到的IP地址傳回給客戶端,如果名稱服務器在資料記錄查不到,且快取緩存區(qū)中也沒有對應的名稱記錄,服務器才會向別的名稱服務器查詢所要的名稱?;蛉?,DNS客戶端向指定的DNS服務器查詢網(wǎng)際網(wǎng)路上某臺主機名稱,當DNS服務器在該資料記錄找不到用戶所指定的名稱時,會轉(zhuǎn)向該服務器的快取緩存區(qū)找尋是否有該資料,當快取緩存區(qū)也找不到時,會向最接近的名稱服務器去要求幫忙找尋該名稱的IP地址,在另一臺服務器上也用相同的動作執(zhí)行查詢操作,當查詢到后會回復原本要求查詢的源服務器,該源DNS服務器在接收到另一臺DNS服務器查詢的結(jié)果后,先將所查詢到的主機名稱及對應IP地址記錄到快取緩存區(qū)中,最后在將所查詢到的結(jié)果回復給客戶端。本申請的主要思想在于,實現(xiàn)了不調(diào)用WindowsWinSockAPI實現(xiàn)DNS協(xié)議的機制,通過將需要解析的域名同時異步并發(fā)發(fā)送給多個DNS服務器,一旦有DNS服務器響應返回,則客戶端解析IP地址,若IP地址多于1個,則根據(jù)不同網(wǎng)段進行篩選并存入候選IP地址列表,客戶端遍歷候選IP地址列表,異步發(fā)送建立連接服務器請求,并根據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息,確定最優(yōu)應用服務器。參照圖1,示出了本申請的一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法實施例1的步驟流程圖,具體可以包括以下步驟步驟101客戶端向多個DNS服務器同時發(fā)送DNS查詢請求;在實際中,所述DNS查詢請求中包括域名,可以由客戶端根據(jù)預先設(shè)置的DNS服務器列表,向列表中指定的多個DNS服務器異步并發(fā)發(fā)送。在具體應用中,可以通過I/OCompletionport機制(完成端口)實現(xiàn)異步并發(fā)的發(fā)送機制。步驟102當有DNS服務器根據(jù)所述DNS查詢請求向客戶端返回域名對應的IP地址,客戶端根據(jù)所述IP地址生成候選IP地址列表;若有DNS服務器根據(jù)客戶端發(fā)起的DNS查詢請求返回域名對應的IP地址,則客戶端將接收到的IP地址,逐個插入候選IP地址列表,然后可以根據(jù)是否在同一網(wǎng)段進行排重處理。具體而言,在本申請的一種優(yōu)選實施例中,所述客戶端可以通過以下子步驟根據(jù)IP地址生成候選IP地址列表子步驟SOl獲取所述IP地址所屬的網(wǎng)段;子步驟S02從各網(wǎng)段提取一個IP地址寫入候選IP地址列表。在具體實現(xiàn)中,同一網(wǎng)段的IP地址可以只保留第一個IP地址作為候選最優(yōu)IP,并插入候選IP地址列表中。例如返回的IP地址集合為202.101.22.35202.101.22.36202.102.21.23202.102.21.25其中,202.101.22.35和202.101.22.36屬于同一網(wǎng)段的IP地址,202.102.21.23和202.102.21.25屬于同一網(wǎng)段的IP地址。提取各網(wǎng)段中的第一個IP地址,202.101.22.35和202.102.21.23,將這兩個IP地址寫入候選IP地址列表中,如下表所示202.101.22.35202.102.21.23在實際中,所述IP地址對應應用服務器的地址。在實際中,如果DNS服務器根據(jù)所述DNS查詢請求在預設(shè)時間內(nèi)向客戶端未返回域名對應的IP地址,則向客戶端返回錯誤提示信息。本申請仍然采用UDP協(xié)議作為DNS協(xié)議的傳輸層協(xié)議,但是以異步并發(fā)方式發(fā)送多個DNS查詢請求給多個DNS服務器,由于采用異步并發(fā)的方式實現(xiàn),當有DNS服務器響應返回請求中域名對應的IP地址時,客戶端立即解析,不受DNS服務器個數(shù)的增加而影響整體解析響應時間。由于每個DNS服務器的請求及響應時間不同,因而可以獲得最快的DNS響應。從而解決了現(xiàn)有技術(shù)中Windows系統(tǒng)DNS解析服務不支持多DNS并發(fā)請求,解析服務不可靠并且耗時時間較長的缺陷;再者,本申請實現(xiàn)了DNS服務器配置策略,并且不受DNS服務器個數(shù)的增加而影響整體解析速度。滿足各種網(wǎng)絡應用需求。從而解決了現(xiàn)有技術(shù)中Windows系統(tǒng)DNS解析服務是面向全系統(tǒng)的,不具備特定應用程序可配置DNS服務器,不能滿足某些網(wǎng)絡應用需求的缺陷。步驟103客戶端根據(jù)所述候選IP地址列表,向各IP地址對應的應用服務器同時發(fā)送連接請求;客戶端對候選IP地址列表中的所有候選IP地址進行遍歷,并異步向各IP地址對應的應用服務器發(fā)起連接請求。步驟104依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息,確定最優(yōu)應用服務器。作為本申請實施例具體應用的示例,可以選擇連接時間最少的應用服務器作為最優(yōu)應用服務器,也可以選擇下載速度最快的應用服務器作為最優(yōu)應用服務器。具體而言,在本申請的一種優(yōu)選實施例中,所述步驟103可以包括子步驟Sll若在預設(shè)時間內(nèi),有應用服務器第一時間響應所述連接請求,則中斷與其它應用服務器的連接,將當前應用服務器確定為最優(yōu)應用服務器。例如假設(shè)預設(shè)的接收應用服務器連接的時間為100ms,客戶端向候選IP地址列表中各候選IP地址對應的應用服務器發(fā)出連接請求后,有一個候選IP地址對應的應用服務器A第一個作出了響應,其接收請求并作出響應的耗時是20ms。在收到這個應用服務器A的響應后,客戶端立刻取消當前所有網(wǎng)絡連接事件,不等待其它應用服務器的響應,把應用服務器A作為最優(yōu)應用服務器返回給客戶端。在本申請的另一種優(yōu)選實施例中,所述步驟103還可以包括子步驟S12若超出預設(shè)時間后,有多臺應用服務器響應所述連接請求,則對各臺應用服務器的連接時間進行排序,將連接時間最短的應用服務器確定為最優(yōu)應用服務器。例如假設(shè)預設(shè)的接收應用服務器連接的時間為100ms,客戶端向候選IP地址列表中各候選IP地址對應的應用服務器發(fā)出連接請求后,等待了IOOms后未收到任何一個應用服務器作出的響應,但在IlOms時有一個應用服務器B作出了響應,在120ms時有一個應用服務器C作出了響應,在150ms時有一個應用服務器D作出了響應,在180ms時有一個應用服務器E作出了響應;在這種情況下,通過按照所述連接耗時進行排序,將連接時間最短的應用服務器作為最優(yōu)應用服務器返回給客戶端。本實施例通過選擇連接時間最少的應用服務器作為最優(yōu)應用服務器,當客戶端再次提交同一DNS查詢請求時,直接采用這個最優(yōu)應用服務器的IP地址進行網(wǎng)絡連接即可,而無需重新提交至DNS服務器解析查找對應的應用服務器,從而實現(xiàn)了DNS解析服務的加速優(yōu)化,達到了網(wǎng)絡加速的目的。在本申請的另一種優(yōu)選實施例中,所述步驟103具體可以包括子步驟S21當客戶端所發(fā)送的DNS查詢請求為基于http協(xié)議的DNS查詢請求時,獲取響應所述連接請求的應用服務器的下載速度,將下載速度最快的應用服務器確定為最優(yōu)應用化服務器。在具體應用中,當客戶端所發(fā)送的DNS查詢請求為基于HTTP協(xié)議的DNS查詢請求時,則立即發(fā)起HTTPGet命令獲取該域名的根URL,并根據(jù)每個候選IP地址對應的應用服務器的下載速度進行排序,選擇下載速度最快的服務器地址作為最優(yōu)應用服務器返回給客戶端。在本申請的另一種優(yōu)選實施例中,所述步驟104:客戶端向多個DNS服務器同時發(fā)送DNS查詢請求之前,還包括當接收到在后的同一DNS查詢請求時,直接由所述最優(yōu)應用服務器向客戶端返回所請求域名的對應IP地址,所述IP地址為該最優(yōu)應用服務器的地址;讀取最優(yōu)應用服務器的緩存,獲得當前所請求的域名;判斷所述域名及對應IP地址記錄的生命周期TTL信息是否過期,若否,則將該最優(yōu)服務器的IP地址返回給客戶端;若判斷所述域名及對應IP地址記錄的生命周期TTL信息過期,則跳轉(zhuǎn)上述實施例中101步驟,重新確定最優(yōu)應用服務器。本實施例通過選擇下載速度最快的應用服務器作為最優(yōu)應用服務器,當客戶端再次提交同一DNS查詢請求時,直接采用這個最優(yōu)應用服務器的IP地址進行網(wǎng)絡連接即可,而無需重新提交至DNS服務器解析查找對應的應用服務器,從而實現(xiàn)了DNS解析服務的加速優(yōu)化,達到了網(wǎng)絡加速的目的。參照圖2,示出了本申請的一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法實施例2的步驟流程圖,具體可以包括以下步驟步驟201各客戶端查詢其緩存中是否有當前待請求查詢的域名的對應IP地址的記錄,若有,則執(zhí)行步驟202;否則,執(zhí)行步驟204;步驟202判斷所述域名及對應IP地址記錄的生命周期TTL信息是否過期,若否,則執(zhí)行步驟203;若是,則執(zhí)行步驟204;在實際中,若所述域名及對應IP地址記錄的生命周期TTL信息已經(jīng)過期,可以將其在客戶端緩存中刪除。步驟203直接提取所述IP地址;步驟204客戶端向多個DNS服務器同時發(fā)送DNS查詢請求;步驟205當有DNS服務器根據(jù)所述DNS查詢請求向客戶端返回域名對應的IP地址,客戶端根據(jù)所述IP地址生成候選IP地址列表;步驟206客戶端根據(jù)所述候選IP地址列表,向各IP地址對應的應用服務器同時發(fā)送連接請求;步驟207依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息,確定最優(yōu)應用服務器。步驟208將當前域名及對應最優(yōu)服務器的IP地址寫入客戶端的緩存中,并記錄所述域名及對應IP地址記錄的生命周期TTL信息。在具體實現(xiàn)中,所述客戶端的緩存可以為內(nèi)存map,在host文件中記錄了所述域名及對應IP地址的數(shù)據(jù)??梢砸訢LL(代碼數(shù)據(jù)庫)形式提供模塊初始化、反初始化、DNS優(yōu)化IP查詢接口。一、模塊初始化接口指定DNS緩存文件路徑和模塊配置文件路徑。intlnit(TCHAR*szDnsCachePath,TCHAR^szConfigPath);1、創(chuàng)建加載DNS解析緩存初始化線程;其作用就是將一些常用的網(wǎng)址域名與其對應的IP地址建立一個關(guān)聯(lián)“數(shù)據(jù)庫”。因為當用戶在瀏覽器中輸入一個需要登錄的網(wǎng)址時,系統(tǒng)會首先自動從host文件中尋找對應的IP地址,一旦找到,系統(tǒng)會立即打開對應網(wǎng)頁,如果沒有找到,則系統(tǒng)再會將網(wǎng)址提交DNS域名解析服務器進行IP地址的解析。a、加載host文件(host是一個沒有擴展名的系統(tǒng)文件)到內(nèi)存map;b、加載DNS緩存文件保存記錄到內(nèi)存map;2、創(chuàng)建客戶端與應用服務器之間的管道,等待客戶端連接。上述步驟的作用就是將一些常用的網(wǎng)址域名與其對應的IP地址建立一個關(guān)聯(lián)“數(shù)據(jù)庫”。因為當用戶在瀏覽器中輸入一個需要登錄的網(wǎng)址時,系統(tǒng)會首先自動從host文件中尋找對應的IP地址,一旦找到,系統(tǒng)會立即打開對應網(wǎng)頁,如果沒有找到,則系統(tǒng)再會將網(wǎng)址提交DNS域名解析服務器進行IP地址的解析。二、模塊反初始化接口卸載模塊。intUnInitO;1、保存內(nèi)存map中保存的DNS服務器優(yōu)化IP地址數(shù)據(jù)到DNS緩存文件中。內(nèi)存map是在客戶端;在每次需要解析域名的時候,首先讀取緩存;如果緩存中存在該域名的DNS解析記錄,則返回其IP地址;2、通知更新線程停止工作;3、通知管道服務器停止工作。三、獲得優(yōu)化IP(通過連接測速或下載測速獲得的優(yōu)選IP地址)1、先從內(nèi)存map中查找域名是否命中,若命中,且生命周期未過期(TTL),則直接返回。否則繼續(xù)下一步;2、檢查nodename(獲取特定結(jié)點類型的名稱)是否為IP地址格式。若是,則直接返回;若不是,則繼續(xù)下一步;3、檢查nodename是否為localhost(—個特殊的DNS主機名,代表分配給引用這個名稱的計算機的IP地址)或本地主機名。若是直接返回127.0.0.1;若不是,則繼續(xù)下一步;4、遍歷DNS服務器,構(gòu)造用以或得IPV4地址的DNSA命令DNS查詢包數(shù)據(jù)緩沖區(qū),DNS服務器序列號累加;5、調(diào)用ParseDns(),以異步并發(fā)方式發(fā)送DNS查詢包給多個DNS服務器;6、解析DNS服務器返回IP地址列表;7、調(diào)用WSACormectO,與應用服務器建立連接;8、建立連接成功后,立即關(guān)閉,記錄連接耗時;9、根據(jù)耗時最小返回應用服務器IP地址;10、若域名解析請求發(fā)起者是HTTP協(xié)議,則建立連接后立即發(fā)起HTTPGET命令獲取該域名的根URL。根據(jù)下載速度最快進行排序,選擇下載速度最快的作為最優(yōu)應用服務器IP地址返回給調(diào)用者。為使本領(lǐng)域技術(shù)人員更好地理解本申請,以下通過一個DNS網(wǎng)絡加速時序圖說明本申請實施例的優(yōu)點。cipCandidateIP(候選IP)oipOptimizedIP(最優(yōu)IP)tpType(0-parsefailed|I-Parseok,onlysingleip|2-parseok,acceptableconnecttime|3-parseok,sorted|4-parseOK,sortedhttpget|5-parseOK,parameterisipformat)ipIPaddress(optimized)dsDNSServerIpaddress(DNS服務器IP地址)ttlDNSparsedIPttl(DNS解析的IP地址的時間生存期)deDNSElapsed(ms)(DNS解析服務耗時)stDNSUDPSendTotimestamp(ms)(DNS解析請求系統(tǒng)時間戳)cbConnectbegintimestamp(ms)(連接DNS解析的IP地址應用服務器系統(tǒng)時間戳)rfDNSUDPRecfFromtimestamp(ms)(DNS解析應答系統(tǒng)時間戳)aeDNS+Connectelapsed(ms)(DNS解析以及連接應用服務器總耗時)ctConnectelapsed(ms)-Imeansnotconnected(連接應用月艮務器耗時)stIsconnected?(是否連接)Hhost(Jslc^)減號線是DNSUDP的發(fā)起到結(jié)束時間線等于號是連接DNS服務器解析IP的地址發(fā)起到結(jié)束時間線權(quán)利要求1.一種域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法,其特征在于,包括客戶端向多個DNS服務器同時發(fā)送DNS查詢請求,所述DNS查詢請求中包括域名;當有DNS服務器根據(jù)所述DNS查詢請求向客戶端返回域名對應的IP地址,客戶端根據(jù)所述IP地址生成候選IP地址列表;客戶端根據(jù)所述候選IP地址列表,向各IP地址對應的應用服務器同時發(fā)送連接請求;依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息,確定最優(yōu)應用服務器。2.如權(quán)利要求1所述的方法,其特征在于,還包括將當前域名及對應最優(yōu)服務器的IP地址寫入客戶端的緩存中,并記錄所述域名及對應IP地址記錄的生命周期TTL信息。3.如權(quán)利要求2所述的方法,其特征在于,在客戶端向多個DNS服務器同時發(fā)送DNS查詢請求的步驟之前,還包括客戶端查詢其緩存中是否有當前待請求查詢的域名的對應IP地址的記錄,若有,則判斷所述域名及對應IP地址記錄的生命周期TTL信息是否過期,若否,則直接提取所述IP地址。4.如權(quán)利要求1、2或3所述的方法,其特征在于,所述依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息確定最優(yōu)應用服務器的步驟包括若在預設(shè)時間內(nèi),有應用服務器第一時間響應所述連接請求,則中斷與其它應用服務器的連接,將當前應用服務器確定為最優(yōu)應用服務器。5.如權(quán)利要求1、2或3所述的方法,其特征在于,所述依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息確定最優(yōu)應用服務器的步驟包括若超出預設(shè)時間后,有多臺應用服務器響應所述連接請求,則對各臺應用服務器的連接時間進行排序,將連接時間最短的應用服務器確定為最優(yōu)應用服務器。6.如權(quán)利要求1、2或3所述的方法,其特征在于,所述依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息確定最優(yōu)應用服務器的步驟包括當客戶端所發(fā)送的DNS查詢請求為基于HTTP協(xié)議的DNS查詢請求時,獲取響應所述連接請求的應用服務器的下載速度,將下載速度最快的應用服務器確定為最優(yōu)應用服務器。7.如權(quán)利要求1、2或3所述的方法,其特征在于,所述客戶端根據(jù)IP地址生成候選IP地址列表包括獲取所述IP地址所屬的網(wǎng)段;從各網(wǎng)段提取一個IP地址寫入候選IP地址列表。8.—種域名系統(tǒng)DNS的最優(yōu)應用服務器選取裝置,其特征在于,包括域名請求模塊用于由客戶端向多個DNS服務器同時發(fā)送DNS查詢請求,所述DNS查詢請求中包括域名;候選IP地址列表生成模塊用于在有DNS服務器根據(jù)所述DNS查詢請求向客戶端返回域名對應的IP地址,由客戶端根據(jù)所述IP地址生成候選IP地址列表;IP地址連接請求模塊用于由客戶端根據(jù)所述候選IP地址列表,向各IP地址對應的應用服務器同時發(fā)送連接請求;最優(yōu)應用服務器確定模塊用于依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息,確定最優(yōu)應用服務器。9.如權(quán)利要求8所述的裝置,其特征在于,還包括域名信息記錄模塊用于將當前域名及對應最優(yōu)服務器的IP地址寫入客戶端的緩存中,并記錄所述域名及對應IP地址記錄的生命周期TTL信息。10.如權(quán)利要求9所述的裝置,其特征在于,還包括客戶端緩存查詢模塊用于客戶端查詢其緩存中是否有當前待請求查詢的域名的對應IP地址的記錄,若有,則判斷所述域名及對應IP地址記錄的生命周期TTL信息是否過期,若否,則直接提取所述IP地址。11.如權(quán)利要求8、9或10所述的裝置,其特征在于,所述最優(yōu)應用服務器確定模塊進一步包括第一時間最優(yōu)應用服務器確定子模塊用于在預設(shè)時間內(nèi),有應用服務器第一時間響應所述連接請求時,中斷與其它應用服務器的連接,將當前應用服務器確定為最優(yōu)應用服務器。12.如權(quán)利要求8、9或10所述的方法,其特征在于,所述最優(yōu)應用服務器確定模塊進一步包括連接時間最優(yōu)應用服務器確定子模塊用于在超出預設(shè)時間后,有多臺應用服務器響應所述連接請求時,對各臺應用服務器的連接時間進行排序,將連接時間最短的應用服務器確定為最優(yōu)應用服務器。13.如權(quán)利要求8、9或10所述的方法,其特征在于,所述最優(yōu)應用服務器確定模塊進一步包括下載速度最優(yōu)應用服務器確定子模塊用于在客戶端所發(fā)送的DNS查詢請求為基于HTTP協(xié)議的DNS查詢請求時,獲取響應所述連接請求的應用服務器的下載速度,將下載速度最快的應用服務器確定為最優(yōu)應用服務器。14.如權(quán)利要求8、9或10所述的裝置,其特征在于,所述候選IP地址列表生成模塊包括網(wǎng)段獲取子模塊獲取所述IP地址所屬的網(wǎng)段;IP地址提取子模塊用于從各網(wǎng)段提取一個IP地址寫入候選IP地址列表。全文摘要本申請?zhí)峁┝艘环N域名系統(tǒng)DNS的最優(yōu)應用服務器選取方法和裝置,其中,所述方法包括客戶端向多個DNS服務器同時發(fā)送DNS查詢請求,所述DNS查詢請求中包括域名;當有DNS服務器根據(jù)所述DNS查詢請求向客戶端返回域名對應的IP地址,客戶端根據(jù)所述IP地址生成候選IP地址列表;客戶端根據(jù)所述候選IP地址列表,向各IP地址對應的應用服務器同時發(fā)送連接請求;依據(jù)各應用服務器對所述連接請求的響應狀態(tài)信息,確定最優(yōu)應用服務器。本申請可以保證DNS解析服務可靠性并縮短耗時,同時能夠滿足一些特定的網(wǎng)絡應用需求,并提高安全性。文檔編號H04L29/12GK102340554SQ20111029480公開日2012年2月1日申請日期2011年9月29日優(yōu)先權(quán)日2011年9月29日發(fā)明者孫鵬,董斌雁申請人:奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1