新四季網

一種dns伺服器的緩存更新方法、裝置及系統的製作方法

2023-08-01 22:27:36

專利名稱:一種dns伺服器的緩存更新方法、裝置及系統的製作方法
技術領域:
本發明涉及IP (Internet Protocol,網際網路協議)網絡領域,尤其涉及一種DNS 伺服器的緩存更新方法、裝置及系統。
背景技術:
在IP網絡中,域名系統(Domain Name System, DNS)是網際網路最關鍵的基礎服務之一,為眾多網絡應用提供根本性支撐,它將域名與IP位址相互映射,使人們能夠方便地訪問網際網路,而不必記憶複雜的IP位址。通過DNS查詢服務,可以找到所需站點或資源的入口,進而對站點或資源進行訪問。
目前,廣泛使用的DNS是構建於傳統的BIND軟體之上,BIND提供了 DNS主要功能的開放實現,包括域名伺服器(named)、DNS解析庫函數、域名伺服器運行調試所需的工具。在named中包含查詢緩存模塊,用於提高DNS的查詢效率。其工作原理是域名請求的應答一旦被named認可,則named會將針對該域名請求的包含域名和IP位址的映射關係以及該映射關係對應的存活時間(Time To Live,TTL)的應答數據緩存下來,並在緩存過期時進行緩存更新,在緩存過期之前如果還有其他請求查詢此域名則直接將緩存中的應答數據返回給請求方,大大緩解了 DNS系統的負擔和服務延時。
上述Named的緩存更新方法依賴於應答數據中的TTL。在named開始緩存應答數據時,會記錄應答數據中的TTL值,並在之後的時間內對TTL進行遞減(每秒將對TTL值減 1),只有在TTL隨時間遞減到O (也即緩存過期)的時候,named才會再次發起主動請求去遞歸查詢過期的緩存對應的域名,待收到針對該請求的應答報文後更新過期的緩存。
然而,在緩存過期和緩存得到更新這段時間內,主幹網(核心網)上仍然有大量針對該緩存過期的域名的查詢請求。這些查詢請求會形成一種突發流量,造成DNS系統負載瞬間加重甚至過載,與此同時,本地DNS伺服器也在執行緩存更新操作,進一步加重了 DNS 系統的負載,系統的整體性能降低,進而導致DNS系統對查詢請求的響應速度降低和響應延時增大;對用戶而言,其訪問網站站點或資源的訪問速度降低。發明內容
本發明實施例提供一種DNS伺服器的緩存更新方法、裝置及系統,用以解決現有技術中DNS伺服器中保存的網站域名與IP位址的映射關係對應的TTL在緩存過期和緩存得到更新這段時間內,DNS系統對查詢請求的響應速度降低和響應延時增大的問題。
—種DNS伺服器的緩存更新方法,包括
針對DNS伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,所述應答報文是該DNS伺服器的後端DNS伺服器針對域名查詢請求返回的報文,其中包含了域名;
確定該應答報文當前已被所述DNS伺服器保存的時間長度;
在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長時,或者在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長且接收到客戶端針對所述域名發送的域名查詢請求時,執行對該應答報文進行更新的過程。
一種DNS伺服器的緩存更新裝置,所述裝置包括
緩存有效時長確定模塊,用於針對DNS伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,所述應答報文是該DNS伺服器的後端 DNS伺服器針對域名查詢請求返回的報文,其中包含了域名;
報文保存時長確定模塊,確定該應答報文當前已被所述DNS伺服器保存的時間長度;
第一判斷模塊,用於判斷所述緩存有效時長與所述時間長度之差是否大於O且小於預設更新時長,並把得到的第一判斷結果發送給第二判斷模塊或者域名查詢模塊;
第二判斷模塊,用於在接收到第一判斷結果為是時,判斷是否接收到客戶端針對所述域名發送的域名查詢請求,並在第一判斷模塊沒有將第一判斷結果發送給域名查詢模塊時,將得到的第二判斷結果發送給域名查詢模塊;
緩存更新模塊,用於在接收到的第一判斷結果為是時,或者接收到的第二判斷結果為是時,執行對所述應答報文進行更新的過程。
一種域名系統DNS伺服器的緩存更新系統,所述系統包括DNS伺服器的緩存更新裝置、後端DNS伺服器和客戶端;
所述DNS伺服器的緩存更新裝置,用於針對DNS伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,所述應答報文是該DNS伺服器的後端DNS伺服器針對域名查詢請求返回的報文,其中包含了域名;確定該應答報文當前已被所述DNS伺服器保存的時間長度;在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長時,或者在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長且接收到客戶端針對所述域名發送的域名查詢請求時,執行對該應答報文進行更新的過程;
所述客戶端,用於向所述DNS伺服器的緩存更新裝置發送域名查詢請求。
本發明實施例提供一種DNS伺服器的緩存更新方法及裝置,該方法針對DNS伺服器中保存的任一應答報文,確定其對應的緩存有效時長以及當前已保存該應答報文的時間長度,在緩存有效時長與所述時間長度之差大於O且小於預設更新時長時,對該應答報文進行更新,也即DNS伺服器在應答報文緩存過期之前已獲得了用來更新該應答報文的新的應答報文,並利用已獲得的新的應答報文來更新緩存過期的應答報文,使得DNS伺服器在收到針對包含所述應答報文中包含的域名的域名查詢請求時,不用再將該查詢請求轉發給後端DNS伺服器,而是直接將已更新的應答報文返回給客戶端,進而避免了主幹網(核心網) 上大量針對緩存過期的域名的域名查詢請求形成的突發流量,使得DNS系統負載處於正常負荷,對域名查詢請求的響應速度提高和響應延時降低,對用戶而言,其訪問網站站點或資源的訪問速度提高。


圖I為本發明實施例一提供的DNS伺服器的緩存更新方法流程示意圖2為本發明實施例二的用於說明DNS伺服器對域名查詢請求處理流程的時間軸意圖3為本發明實施例二提供的DNS伺服器的緩存更新裝置的結構示意圖4為本發明實施例三提供的DNS伺服器的緩存更新系統的結構示意圖。
具體實施方式
本發明實施例提供一種DNS伺服器的緩存更新方法、裝置及系統,該方法針對DNS 伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長;確定該應答報文當前已被所述DNS伺服器保存的時間長度;在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長時,執行對該應答報文進行更新的過程。由於在應答報文緩存過期之前及對其進行了更新,因此,可以有效的避免由於應答報文緩存過期並未得到更新,大量域名查詢請求到後端DNS伺服器進行迭代查詢造成的DNS系統對域名查詢請求的響應速度降低和響應延時較大的問題。
下面結合說明書附圖對本發明實施例進行詳細描述。
實施例一
如圖I所示,其為本發明實施例提供的DNS伺服器的緩存更新方法流程圖,具體包括以下步驟
步驟101 :確定DNS伺服器中保存的任一應答報文的類型,並執行步驟102。
所述應答報文是該DNS伺服器的後端DNS伺服器針對域名查詢請求返回的報文, 其中包含了域名。
通常的,應答報文的類型主要包括以下三種
第一種N0ERR0R,或者SUCESS,是對查詢域名成功的情況返回的應答報文。
第二種SERFAIL,或者FAILURE,是對查詢域名失敗的情況返回的應答報文,其中包括查詢超時這種情況下返回的應答報文。
第三種NXD0MAIN,是對查詢的域名不存在返回的應答報文。
其中,上述N0ERR0R和SERFAIL類型的應答報文中包含域名,但不包含TTL, N0ERR0R類型的應答報文中包含域名和IP位址的映射關係,也包含與該映射關係對應的 TTL。
步驟102 :確定開始緩存步驟101中確定的所述類型的應答報文時該應答報文對應的緩存有效時長,並執行步驟103。
在本步驟102中DNS伺服器開始緩存應答報文時,該應答報文對應的緩存有效時長是最大緩存有效時長,隨後,DNS伺服器將對所述最大緩存有效時長進行減法操作,時間每過ls,該最大緩存有效時長的值減I。
具體的,在所述應答報文的類型為查詢的域名不存在NXD0MAIN類型時,針對DNS 伺服器中保存的該NXD0MAIN類型應答報文,將DNS伺服器中配置的NXD0MAIN類型的緩存有效時長作為開始緩存該應答報文時該應答報文對應的緩存有效時長;
在所述應答報文的類型為域名查詢失敗SERFAIL類型時,針對DNS伺服器中保存的SERFAIL類型應答報文,將DNS伺服器中配置的SERFAIL類型的緩存有效時長作為開始緩存該應答報文時該SERFAIL類型應答報文對應的緩存有效時長;
在所述應答報文的類型為域名查詢成功N0ERR0R類型時,針對DNS伺服器中保存的該N0ERR0R類型應答報文,將開始緩存該應答報文時該應答報文中包含的存活時間TTL 作為該N0ERR0R類型應答報文對應的有效緩存時間。
步驟103 :確定該應答報文當前已被所述DNS伺服器保存的時間長度,並執行步驟 104。
步驟104 :判斷所述緩存有效時長與所述時間長度之差是否大於O且小於預設更新時長,若是,則執行步驟105 ;若否,則執行步驟112。
所述針對所有域名可以根據統計的各數據報文的所述緩存有效時長設置一個統一的預設更新時長,也可以針對不同的域名根據步驟102中的緩存有效時長確定一個與該應答報文對應的預設更新時長,還可以根據經驗值設置預設更新時長。在預設更新時長是與所述應答報文中包含的域名一一對應的,和/或所述預設更新時長是根據所述緩存有效時長確定的時,可以獲得較合理數量的需要更新的應答報文,進而可以有效的利用DNS伺服器的存儲空間。
本步驟103也可以為步驟103』 判斷所述緩存有效時長與所述時間長度之差是否大於O且小於預設更新時長,以及判斷是否接收到客戶端針對所述域名發送的域名查詢請求,若兩者的判斷結果均為是,則執行步驟105,否則執行步驟112。
上述步驟103』中在緩存有效時長與所述時間長度之差大於O且小於預設更新時長,且接收到客戶端針對所述域名發送的域名查詢請求時,才執行步驟105,是因為此時 DNS伺服器可以將客戶端針對所述域名發送的域名查詢請求轉發給該DNS伺服器的後端 DNS伺服器,進而省去了 DNS伺服器自身封裝數據查詢報文,也即減少了對DNS伺服器的資源消耗。
步驟105 :判斷在預更新時間段內是否已將針對所述域名的域名查詢請求發送給後端DNS伺服器,若是,則執行步驟106,若否,則執行步驟107,,所述預更新時間段從預更新時刻開始到緩存失效時刻這段時間,且預更新時間段的長度為所述預更新時長。
步驟106 :將已緩存的針對所述域名的應答報文發送給客戶端。
步驟107 :向該DNS伺服器的後端DNS伺服器發送域名查詢請求,並執行步驟108。
所述域名查詢請求中包含了所述應答報文中的域名。
在本步驟107中,可以在後端DNS伺服器發送域名查詢請求的同時將已緩存的針對所述域名的應答報文發送給客戶端,也可以等待後端DNS伺服器返回應答報文後,將該返回的應答報文發送給客戶端。
步驟108 :接收所述後端DNS伺服器針對所述域名查詢請求發送的應答報文,並執行步驟109。
步驟109 :確定該應答報文當前已被所述DNS伺服器保存的時間長度,並執行步驟 110。
由於所述DNS伺服器保存的時間長度是與當前時間密切相關的,因此本步驟109 中確定的時間長度與步驟103中確定的時間長度並不相同,確切的說,本步驟109中確定的時間長度大於步驟103中確定的時間長度。
步驟110 :判斷步驟102中確定的緩存有效時長與步驟109中確定的時間長度是否相等,若是,則執行步驟111,否則,繼續執行本步驟110。
較優的,執行步驟109和步驟110是本發明實施例一的優選方案,執行完步驟108後,也可以直接執行步驟111,執行上述步驟109和步驟110是為了減少應答報文緩存更新的次數,進而減少DNS伺服器的系統資源消耗。
步驟111 :利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新。
步驟112 :在所述緩存有效時長與所述時間長度之差是小於等於O時,確定緩存已過期,利用現有技術進行遞歸迭代查詢過程,在所述緩存有效時長與所述時間長度之差大於等於預設更新時長時,結束。
上述步驟105至步驟112的執行過程也即為所述應答報文進行更新的過程。當然, 本發明實施例一也不限於通過其它方式實現對所述應答報文的更新。
通過本發明實施例一的方案,由於DNS伺服器在應答報文緩存過期之前已獲得了用來更新該應答報文的新的應答報文,並且在緩存過期之時,利用已獲得的新的應答報文來更新緩存過期的應答報文,使得DNS伺服器在應答報文時,不用再將該查詢請求轉發給後端DNS伺服器,而是直接將已更新的應答報文返回給客戶端,進而避免了主幹網(核心網) 上大量針對緩存過期的域名的域名查詢請求形成的突發流量,使得DNS系統負載處於正常負荷,對域名查詢請求的響應速度提高和響應延時降低,對用戶而言,其訪問網站站點或資源的訪問速度提高。
實施例二
為了進一步對本發明實施例一的方案進行說明,本發明實施例二利用通過如圖2 所示的時間軸對執行本發明實施例一的方案的DNS伺服器對客戶端的域名查詢請求的處理過程說明。
假設DNS伺服器中已經緩存了與某一域名對應的應答報文,在圖2中,SI針對該域名的預更新開始時刻,S2表示該域名的緩存過期時間;
若客戶端在SI時刻之前對所述DNS伺服器發送針對該域名的域名查詢請求,則 DNS伺服器將緩存的所述應答報文發送給所述客戶端;
若客戶端在SI時刻之後且S2之前向所述DNS伺服器發送針對該域名的域名查詢請求,且該針對該域名的查詢請求是所述DNS伺服器第一次接收到,則DNS伺服器將緩存的所述應答報文發送給所述客戶端,並將該域名查詢請求轉發至後端的DNS伺服器;
若客戶端在SI時刻之後且S2之前向所述DNS伺服器發送針對該域名的域名查詢請求,且該針對該域名的查詢請求是所述DNS伺服器不是第一次接收到,則DNS伺服器將緩存的所述應答報文(該應答報文可以是更新後的應答報文,也可以是未更新的應答報文)發送給所述客戶端;
若客戶端在S2時刻之後向述DNS伺服器發送針對該域名的域名查詢請求,若DNS 伺服器已在SI到S2這一時間段內已獲得後端DNS伺服器對與所述域名對應的應答報文即新的應答報文,則DNS伺服器將該新的應答報文返回給客戶端;
若DNS伺服器已在SI到S2這一時間段內未獲得後端DNS伺服器對與所述域名對應的應答報文且本地也沒有緩存所述應答報文,則DNS伺服器將該域名查詢請求轉發至後端DNS伺服器。
實施例一中的預設更新時長可以為本實施例二中的S2-S1的值,預設更新時間段可以為SI時刻到S2時刻這一時間段。
實施例三
基於與實施例一及實施例二同樣的發明思路,本發明實施例三提供一種DNS伺服器的緩存更新裝置,如圖3所示。
圖3為本發明實施例三提供的DNS伺服器的緩存更新裝置結構示意圖,具體包括
緩存有效時長確定模塊201,用於針對DNS伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,所述應答報文是該DNS伺服器的後端DNS伺服器針對域名查詢請求返回的報文,其中包含了域名;
報文保存時長確定模塊202,用於確定該應答報文當前已被所述DNS伺服器保存的時間長度;
第一判斷模塊203,用於判斷所述緩存有效時長與所述時間長度之差是否大於O 且小於預設更新時長,並把得到的第一判斷結果發送給第二判斷模塊或者域名查詢模塊;
第二判斷模塊204,用於在接收到第一判斷結果為是時,判斷是否接收到客戶端針對所述域名發送的域名查詢請求,並在第一判斷模塊沒有將第一判斷結果發送給域名查詢模塊時,將得到的第二判斷結果發送給域名查詢模塊;
緩存更新模塊205,用於在接收到的第一判斷結果為是時,或者接收到的第二判斷結果為是時,執行對所述應答報文進行更新的過程。
較佳的,所述裝置還包括
報文類型確定模塊206,用於確定DNS伺服器中保存的任一應答報文的類型;
所述緩存有效時長確定模塊201,具體用於在所述應答報文的類型為查詢的域名不存在NXD0MAIN類型時,將DNS伺服器中配置的NXD0MAIN類型的緩存有效時長作為開始緩存該應答報文時該應答報文對應的緩存有效時長;在所述應答報文的類型為域名查詢失敗SERFAIL類型時,將DNS伺服器中配置的SERFAIL類型的緩存有效時長作為開始緩存該應答報文時該SERFAIL類型應答報文對應的緩存有效時長;在所述應答報文的類型為域名查詢成功N0ERR0R類型時,針對DNS伺服器中保存的該N0ERR0R類型應答報文,將開始緩存該應答報文時該應答報文中包含的存活時間TTL作為該N0ERR0R類型應答報文對應的有效緩存時間。
較佳的,所述緩存更新模塊205,具體用於在預更新時間段內沒有將針對所述域名的域名查詢請求發送給後端DNS伺服器時,向該DNS伺服器的後端DNS伺服器發送域名查詢請求,所述域名查詢請求中包含了所述應答報文中的域名,接收所述後端DNS伺服器針對所述域名查詢請求發送的應答報文,利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新,所述預更新時間段從預更新時刻開始到緩存失效時刻這段時間, 且預更新時間段的長度為所述預更新時長。
較佳的,所述緩存更新模塊205,具體用於在該應答報文當前已被所述DNS伺服器保存的時間長度等於所述緩存有效時長時,利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新。
當然,本發明實施例提供的上述DNS伺服器的緩存更新裝置可以集成在DNS伺服器中,也可以由一個硬體實體實現,還可以由兩個或多個硬體實體實現,本發明並不對此進行限定。1
實施例四
與上述實施例一及實施例二的同一構思,本發明實施例四提供了一種域名系統 DNS伺服器的緩存更新系統,其結構示意圖如圖4所示,所述系統包括DNS伺服器的緩存更新裝置31和客戶端32 ;
所述DNS伺服器的緩存更新裝置31,用於針對DNS伺服器中保存的任一應答報文, 確定開始緩存該應答報文時該應答報文對應的緩存有效時長,所述應答報文是該DNS伺服器的後端DNS伺服器針對域名查詢請求返回的報文,其中包含了域名;確定該應答報文當前已被所述DNS伺服器保存的時間長度;在所述緩存有效時長與所述時間長度之差大於O 且小於預設更新時長時,或者在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長且接收到客戶端針對所述域名發送的域名查詢請求時,執行對該應答報文進行更新的過程;
所述客戶端32,用於向所述DNS伺服器的緩存更新裝置發送域名查詢請求。
較優的,所述DNS伺服器的緩存更新裝置31,還用於確定DNS伺服器中保存的任一應答報文的類型,並在所述應答報文的類型為查詢的域名不存在NXD0MAIN類型時,針對DNS伺服器中保存的該NXD0MAIN類型應答報文,將DNS伺服器中配置的NXD0MAIN類型的緩存有效時長作為開始緩存該應答報文時該應答報文對應的緩存有效時長;在所述應答報文的類型為域名查詢失敗SERFAIL類型時針對DNS伺服器中保存的SERFAIL類型應答報文,將DNS伺服器中配置的SERFAIL類型的緩存有效時長作為開始緩存該應答報文時該SERFAIL類型應答報文對應的緩存有效時長;在所述應答報文的類型為域名查詢成功 N0ERR0R類型時,針對DNS伺服器中保存的該N0ERR0R類型應答報文,將開始緩存該應答報文時該應答報文中包含的存活時間TTL作為該N0ERR0R類型應答報文對應的有效緩存時間。
較優的,所述系統還包括後端DNS伺服器33 ;
所述DNS伺服器的緩存更新裝置31,具體用於在預更新時間段內沒有將針對所述域名的域名查詢請求發送給後端DNS伺服器時,向該DNS伺服器的後端DNS伺服器發送域名查詢請求,所述域名查詢請求中包含了所述應答報文中的域名;接收所述後端DNS伺服器針對所述域名查詢請求發送的應答報文;利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新,所述預更新時間段從預更新時刻開始到緩存失效時刻這段時間,且預更新時間段的長度為所述預更新時長。
所述後端DNS伺服器33,用於在接收到所述DNS伺服器的緩存更新裝置31發送的域名查詢請求時,向DNS伺服器的緩存更新裝置31返回應答報文。
較優的,所述DNS伺服器的緩存更新裝置31,具體用於在該應答報文當前已被所述DNS伺服器保存的時間長度等於所述緩存有效時長時,利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。
本申請是參照根據本申請實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請範圍的所有變更和修改。
顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和範圍。這樣,倘若本申請的這些修改和變型屬於本申請權利要求及其等同技術的範圍之內,則本申請也意圖包含這些改動和變型在內。
權利要求
1.一種域名系統DNS伺服器的緩存更新方法,其特徵在於,包括 針對DNS伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,所述應答報文是該DNS伺服器的後端DNS伺服器針對域名查詢請求返回的報文,其中包含了域名; 確定該應答報文當前已被所述DNS伺服器保存的時間長度; 在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長時,或者在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長且接收到客戶端針對所述域名發送的域名查詢請求時,執行對該應答報文進行更新的過程。
2.如權利要求I所述的方法,其特徵在於,在所述針對DNS伺服器中保存的應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長之前,所述方法還包括 確定DNS伺服器中保存的任一應答報文的類型; 在所述應答報文的類型為查詢的域名不存在NXDOMAIN類型時,所述針對DNS伺服器中保存的應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,具體包括 針對DNS伺服器中保存的該NXDOMAIN類型應答報文,將DNS伺服器中配置的NXDOMAIN類型的緩存有效時長作為開始緩存該應答報文時該應答報文對應的緩存有效時長; 在所述應答報文的類型為域名查詢失敗SERFAIL類型時,所述針對DNS伺服器中保存的應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,具體包括 針對DNS伺服器中保存的SERFAIL類型應答報文,將DNS伺服器中配置的SERFAIL類型的緩存有效時長作為開始緩存該應答報文時該SERFAIL類型應答報文對應的緩存有效時長; 在所述應答報文的類型為域名查詢成功N0ERR0R類型時,所述針對DNS伺服器中保存的應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,具體包括 針對DNS伺服器中保存的該N0ERR0R類型應答報文,將開始緩存該應答報文時該應答報文中包含的存活時間TTL作為該N0ERR0R類型應答報文對應的有效緩存時間。
3.如權利要求I所述的方法,其特徵在於,所述執行對該應答報文進行更新的過程具體包括 在預更新時間段內沒有將針對所述域名的域名查詢請求發送給後端DNS伺服器時,向該DNS伺服器的後端DNS伺服器發送域名查詢請求,所述域名查詢請求中包含了所述應答報文中的域名,所述預更新時間段從預更新時刻開始到緩存失效時刻這段時間,且預更新時間段的長度為所述預更新時長; 接收所述後端DNS伺服器針對所述域名查詢請求發送的應答報文; 利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新。
4.如權利要求3所述的方法,其特徵在於,利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新,具體為 在該應答報文當前已被所述DNS伺服器保存的時間長度等於所述緩存有效時長時,利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新。
5.如權利要求1-4任一所述的方法,其特徵在於,針對預設更新時長是與所述應答報文中包含的域名一一對應的,和/或所述預設更新時長是根據所述緩存有效時長確定的。
6.一種域名系統DNS伺服器的緩存更新裝置,其特徵在於,所述裝置包括緩存有效時長確定模塊,用於針對DNS伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,所述應答報文是該DNS伺服器的後端DNS 伺服器針對域名查詢請求返回的報文,其中包含了域名;報文保存時長確定模塊,用於確定該應答報文當前已被所述DNS伺服器保存的時間長度;第一判斷模塊,用於判斷所述緩存有效時長與所述時間長度之差是否大於O且小於預設更新時長,並把得到的第一判斷結果發送給第二判斷模塊或者域名查詢模塊;第二判斷模塊,用於在接收到第一判斷結果為是時,判斷是否接收到客戶端針對所述域名發送的域名查詢請求,並在第一判斷模塊沒有將第一判斷結果發送給域名查詢模塊時,將得到的第二判斷結果發送給域名查詢模塊;緩存更新模塊,用於在接收到的第一判斷結果為是時,或者接收到的第二判斷結果為是時,執行對所述應答報文進行更新的過程。
7.如權利要求6所述的DNS伺服器的緩存更新裝置,其特徵在於,所述緩存更新裝置還包括報文類型確定模塊,用於確定DNS伺服器中保存的任一應答報文的類型;所述緩存有效時長確定模塊,具體用於在所述應答報文的類型為查詢的域名不存在 NXD0MAIN類型時,將DNS伺服器中配置的NXD0MAIN類型的緩存有效時長作為開始緩存該應答報文時該應答報文對應的緩存有效時長;在所述應答報文的類型為域名查詢失敗 SERFAIL類型時,將DNS伺服器中配置的SERFAIL類型的緩存有效時長作為開始緩存該應答報文時該SERFAIL類型應答報文對應的緩存有效時長;在所述應答報文的類型為域名查詢成功N0ERR0R類型時,針對DNS伺服器中保存的該N0ERR0R類型應答報文,將開始緩存該應答報文時該應答報文中包含的存活時間TTL作為該N0ERR0R類型應答報文對應的有效緩存時間。
8.如權利要求6所述的DNS伺服器的緩存更新裝置,其特徵在於,所述緩存更新模塊,具體用於在預更新時間段內沒有將針對所述域名的域名查詢請求發送給後端DNS伺服器時,向該DNS伺服器的後端DNS伺服器發送域名查詢請求,所述域名查詢請求中包含了所述應答報文中的域名,接收所述後端DNS伺服器針對所述域名查詢請求發送的應答報文,利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新,所述預更新時間段從預更新時刻開始到緩存失效時刻這段時間,且預更新時間段的長度為所述預更新時長。
9.如權利要求8所述的DNS伺服器的緩存更新裝置,其特徵在於,所述緩存更新模塊,具體用於在該應答報文當前已被所述DNS伺服器保存的時間長度等於所述緩存有效時長時,利用接收到的所述應答報文對所述DNS伺服器中保存的應答報文進行更新。
10.一種域名系統DNS伺服器的緩存更新系統,其特徵在於,所述系統包括DNS伺服器的緩存更新裝置、後端DNS伺服器和客戶端;所述DNS伺服器的緩存更新裝置,用於針對DNS伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長,所述應答報文是該DNS伺服器的後端DNS伺服器針對域名查詢請求返回的報文,其中包含了域名;確定該應答報文當前已被所述DNS伺服器保存的時間長度;在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長時,或者在所述緩存有效時長與所述時間長度之差大於O且小於預設更新時長且接收到客戶端針對所述域名發送的域名查詢請求時,執行對該應答報文進行更新的過所述客戶端,用於向所述DNS伺服器的緩存更新裝置發送域名查詢請求。
全文摘要
本發明公開了一種DNS伺服器的緩存更新方法、裝置及系統,主要內容包括針對DNS伺服器中保存的任一應答報文,確定開始緩存該應答報文時該應答報文對應的緩存有效時長;確定該應答報文當前已被所述DNS伺服器保存的時間長度;在所述緩存有效時長與所述時間長度之差大於0且小於預設更新時長時,執行對該應答報文進行更新的過程。通過本發明實施例的方案,由於在應答報文緩存過期之前及對其進行了更新,因此,可以有效的避免由於應答報文緩存過期並未得到更新,大量域名查詢請求到後端DNS伺服器進行遞歸迭代查詢造成的DNS系統對域名查詢請求的響應速度降低和響應延時較大的問題。
文檔編號H04L29/12GK102984286SQ201210457128
公開日2013年3月20日 申請日期2012年11月14日 優先權日2012年11月14日
發明者張大順 申請人:上海牙木通訊技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀