欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Dns緩存信息處理方法、設備及系統(tǒng)的制作方法

文檔序號:6543003閱讀:178來源:國知局
Dns緩存信息處理方法、設備及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種DNS緩存信息處理方法、設備及系統(tǒng)。其中,該方法包括:當接收到客戶端請求,解析得到客戶端請求的域名信息;在數(shù)據(jù)庫中查詢與域名信息對應的數(shù)據(jù)結構;查詢到數(shù)據(jù)結構時,獲取與數(shù)據(jù)結構對應的讀鎖信息,其中,讀鎖信息為能夠對存儲于數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;利用讀鎖信息的權限在數(shù)據(jù)結構中讀取緩存信息,并將讀取到的緩存信息發(fā)送至客戶端請求的發(fā)送方。采用本發(fā)明實施例能夠達到提高相應速度以及緩存信息吞吐量,并且提高緩存信息靈活性,提升存儲信息質量的有益效果。
【專利說明】DNS緩存信息處理方法、設備及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及互聯(lián)網應用領域,特別是涉及一種DNS緩存信息處理方法、設備及系統(tǒng)。
【背景技術】
[0002]在人們的日常生活中,使用網絡進行資料或者數(shù)據(jù)或者信息進行查詢時,通常接收到利用域名系統(tǒng)(Domain Name System,以下簡稱DNS)技術緩存的結果。但是,DNS緩存結果具有一定的時效性,即在有效時間內,應答結果是不變的,因此可以放在服務器設備的高速緩存中,這樣可以在極短時間內返回給客戶端請求的結果。在有效時間過期后,系統(tǒng)去外部網絡進行該域名的查詢,并將結果更新在高速緩存中。
[0003]現(xiàn)有技術中,通常使用讀寫鎖將對共享資源的訪問者劃分為讀者和寫者。讀者僅對共享資源進行讀訪問,寫者則需要對共享資源執(zhí)行寫操作?,F(xiàn)有技術中,由于在寫緩存時,讀緩存線程無法讀取數(shù)據(jù),導致該線程的等待。因此,現(xiàn)有技術中,不同的域名緩存信息彼此相互影響,一個域名更新信息時,導致其他域名信息也無法被讀取。當存在大量的更新操作,現(xiàn)有技術導致讀取可能長時間推遲,響應速度會大大降低。另外,現(xiàn)有技術中,緩存更新不智能?,F(xiàn)有技術中,緩存只是根據(jù)有效時間去決定是否更新,無法針對很多特殊要求的域名進行自動的緩存管理,無法更好的提高答應請求的質量。
[0004]綜上,現(xiàn)有技術中對緩存信息進行處理時,存在不同緩存信息彼此影響,導致線程等待,降低相應速度的問題,以及沒有預更新功能和更新控制策略,導致對緩存信息的更新不智能,緩存信息質量低下的問題,并且可能導致同一時間更新數(shù)量過多,影響用戶的正常訪問。

【發(fā)明內容】

[0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的DNS緩存信息處理方法、設備以及相應的系統(tǒng)。
[0006]依據(jù)本發(fā)明的一個方面,提供了一種DNS緩存信息處理方法,包括:當接收到客戶端請求,解析得到所述客戶端請求的域名信息;在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構;查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息,并將讀取到的所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方。
[0007]可選地,在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構,包括:對所述域名信息進行哈希值運算,得到所述域名信息的哈希值;根據(jù)所述域名信息的哈希值在哈希表中查詢與所述域名信息對應的數(shù)據(jù)結構。
[0008]可選地,在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構之后,還包括:若所述數(shù)據(jù)庫中不存在與所述域名信息對應的數(shù)據(jù)結構,根據(jù)所述域名信息在服務器進行查詢,并獲取查詢結果;發(fā)送所述查詢結果至所述客戶端請求的發(fā)送方,并將所述查詢結果寫入所述數(shù)據(jù)庫。
[0009]可選地,將所述查詢結果寫入所述數(shù)據(jù)庫,包括:在所述數(shù)據(jù)庫設置與所述域名信息對應的數(shù)據(jù)結構;根據(jù)所述域名信息對所述數(shù)據(jù)結構進行初始設置;將所述查詢結果寫入所述數(shù)據(jù)結構,轉換為所述數(shù)據(jù)結構存儲的緩存信息。
[0010]可選地,根據(jù)所述域名信息對所述數(shù)據(jù)結構進行初始設置,包括:對所述域名信息進行分類;根據(jù)分類結果設置所述數(shù)據(jù)結構的加鎖信息,其中,所述加鎖信息為對所述緩存信息執(zhí)行相應操作的權限信息,包括所述讀鎖信息以及寫鎖信息。
[0011]可選地,對與所述域名信息進行分類之后,還包括:根據(jù)所述分類結果設置對所述緩存信息進行更新的預設規(guī)則,其中,所述預設規(guī)則包括根據(jù)所述域名信息的級別和/或對所述域名信息訪問量的統(tǒng)計設置對所述緩存信息的更新時間。
[0012]可選地,將所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方之后,還包括:根據(jù)對所述緩存信息進行更新的預設規(guī)則判斷是否對所述緩存信息進行更新;若是,在所述服務器獲取更新后的所述緩存信息,并寫入所述數(shù)據(jù)庫;若否,保持所述緩存信息不變。
[0013]可選地,將更新后的所述緩存信息寫入所述數(shù)據(jù)庫,包括:觸發(fā)存儲所述緩存信息的數(shù)據(jù)結構的寫鎖信息的獲取操作;獲取到所述寫鎖信息時,將更新后的所述緩存信息寫入所述數(shù)據(jù)庫。
[0014]依據(jù)本發(fā)明的另一個方面,還提供了一種DNS緩存信息處理設備,包括:接收器,配置為接收客戶端請求;解析器,配置為解析得到所述客戶端請求的域名信息;查詢器,配置為在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構;獲取器,配置為所述查詢器查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;讀取器,配置為利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息;發(fā)送器,配置為將讀取到的所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方。
[0015]可選地,所述DNS緩存信息處理設備還包括:所述解析器還配置為,對所述域名信息進行哈希值運算,得到所述域名信息的哈希值;所述查詢器還配置為,根據(jù)所述域名信息的哈希值在哈希表中查詢與所述域名信息對應的數(shù)據(jù)結構。
[0016]可選地,所述DNS緩存信息處理設備還包括:所述查詢器還配置為,若所述數(shù)據(jù)庫中不存在與所述域名信息對應的數(shù)據(jù)結構,根據(jù)所述域名信息在服務器進行查詢,并獲取查詢結果;所述發(fā)送器還配置為,發(fā)送所述查詢結果至所述客戶端請求的發(fā)送方;寫入器,配置為將所述查詢結果寫入所述數(shù)據(jù)庫。
[0017]可選地,所述寫入器配置為按照如下步驟將所述查詢結果寫入所述數(shù)據(jù)庫:在所述數(shù)據(jù)庫設置與所述域名信息對應的數(shù)據(jù)結構;根據(jù)所述域名信息對所述數(shù)據(jù)結構進行初始設置;將所述查詢結果寫入所述數(shù)據(jù)結構,轉換為所述數(shù)據(jù)結構存儲的緩存信息。
[0018]可選地,所述寫入器還配置為:對所述域名信息進行分類;根據(jù)分類結果設置所述數(shù)據(jù)結構的加鎖信息,其中,所述加鎖信息為對所述緩存信息執(zhí)行相應操作的權限信息,包括所述讀鎖信息以及寫鎖信息。
[0019]可選地,所述寫入器還配置為:根據(jù)所述分類結果設置對所述緩存信息進行更新的預設規(guī)則,其中,所述預設規(guī)則包括根據(jù)所述域名信息的級別和/或對所述域名信息訪問量的統(tǒng)計設置對所述緩存信息的更新時間。
[0020]可選地,所述DNS緩存信息處理設備還包括:更新器,配置為,當所述發(fā)送器將所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方之后,根據(jù)對所述緩存信息進行更新的預設規(guī)則判斷是否對所述緩存信息進行更新;若是,在所述服務器獲取更新后的所述緩存信息,并觸發(fā)所述寫入器將所述更新后的緩存信息寫入所述數(shù)據(jù)庫;若否,保持所述緩存信息不變。
[0021]可選地,所述寫入器還配置為按照如下步驟將更新后的所述緩存信息寫入所述數(shù)據(jù)庫:觸發(fā)存儲所述緩存信息的數(shù)據(jù)結構的寫鎖信息的獲取操作;獲取到所述寫鎖信息時,將更新后的所述緩存信息寫入所述數(shù)據(jù)庫。
[0022]依據(jù)本發(fā)明的另一個方面,還提供了一種DNS域名解析系統(tǒng),包括上述的DNS緩存信息處理設備,客戶端以及域名解析設備,其中,所述客戶端,配置為發(fā)送客戶端請求至所述DNS緩存信息處理設備;所述DNS緩存信息處理設備,配置為當接收到所述客戶端請求,解析得到所述客戶端請求的域名信息;在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構;查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息,并將讀取到的所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方;域名解析設備,配置為根據(jù)所述緩存信息對所述域名信息對應的域名進行解析。
[0023]本發(fā)明實施例中,當接收到客戶端請求,解析得到客戶端請求的域名信息,并在數(shù)據(jù)庫中查詢與域名信息對應的數(shù)據(jù)結構。查詢到數(shù)據(jù)結構時,本發(fā)明實施例獲取與數(shù)據(jù)結構對應的讀鎖信息,并利用讀鎖信息的權限在數(shù)據(jù)結構中讀取緩存信息,進而將緩存信息發(fā)送至客戶端請求的發(fā)送方。依據(jù)本發(fā)明實施例提供的DNS緩存信息處理方法,能夠使用與緩存信息一一對應的讀鎖對緩存信息進行讀取。并且,對該緩存信息的讀取不會影響到對其他緩存信息的操作,解決了現(xiàn)有技術中對所有域名信息對應的數(shù)據(jù)結構的整體設置加鎖信息,導致對不同域名信息對應的緩存信息進行的操作相互影響,導致相應速度降低的問題,能夠更加準確快速地對緩存信息執(zhí)行操作。同樣,本發(fā)明實施例中,獲取與緩存信息對應的寫鎖,并根據(jù)寫鎖對緩存信息執(zhí)行寫操作,而不影響對其他緩存信息執(zhí)行操作。另夕卜,本發(fā)明實施例中,設置對緩存信息的更新策略,對緩存信息進行主動更新,避免現(xiàn)有技術中,僅根據(jù)時間是否失效對緩存信息進行更新導致緩存信息質量低下的問題。綜上,采用本發(fā)明實施例能夠達到提高相應速度以及緩存信息吞吐量,并且提高緩存信息靈活性,提升存儲信息質量的有益效果。
[0024]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
[0025]根據(jù)下文結合附圖對本發(fā)明具體實施例的詳細描述,本領域技術人員將會更加明了本發(fā)明的上述以及其他目的、優(yōu)點和特征。
【專利附圖】

【附圖說明】
[0026]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:[0027]圖1示出了根據(jù)本發(fā)明一個實施例的DNS緩存信息處理方法的處理流程圖;
[0028]圖2示出了根據(jù)本發(fā)明一個實施例的DNS緩存信息處理設備的結構示意圖;
[0029]圖3示出了根據(jù)本發(fā)明一個優(yōu)選實施的DNS緩存信息處理設備的結構示意圖;
[0030]圖4示出了根據(jù)本發(fā)明一個實施例的DNS域名解析系統(tǒng)的結構示意圖;以及
[0031]圖5示出了根據(jù)本發(fā)明一個優(yōu)選實施例的DNS域名解析系統(tǒng)的架構圖。
【具體實施方式】
[0032]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類系統(tǒng)所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0033]相關技術中提及,對緩存信息進行處理時,存在不同緩存信息彼此影響,導致線程等待,降低相應速度的問題,以及沒有預更新功能和更新控制策略,導致對緩存信息的更新不智能,緩存信息質量低下的問題,并且可能導致同一時間更新數(shù)量過多,影響用戶的正常訪問。
[0034]為解決上述技術問題,本發(fā)明實施例提供了一種DNS緩存信息處理方法。圖1示出了根據(jù)本發(fā)明一個實施例的DNS緩存信息處理方法的處理流程圖。參見圖1,該流程至少包括步驟S102至步驟S108。
[0035]步驟S102、當接收到客戶端請求,解析得到客戶端請求的域名信息。
[0036]步驟S104、在數(shù)據(jù)庫中查詢與域名信息對應的數(shù)據(jù)結構。
[0037]步驟S106、查詢到數(shù)據(jù)結構時,獲取與數(shù)據(jù)結構對應的讀鎖信息,其中,讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息。
[0038]步驟S108、利用讀鎖信息的權限在數(shù)據(jù)結構中讀取緩存信息,并將讀取到的緩存信息發(fā)送至所述客戶端請求的發(fā)送方。
[0039]本發(fā)明實施例中,當接收到客戶端請求,解析得到客戶端請求的域名信息,并在數(shù)據(jù)庫中查詢與域名信息對應的數(shù)據(jù)結構。查詢到數(shù)據(jù)結構時,本發(fā)明實施例獲取與數(shù)據(jù)結構對應的讀鎖信息,并利用讀鎖信息的權限在數(shù)據(jù)結構中讀取緩存信息,進而將緩存信息發(fā)送至客戶端請求的發(fā)送方。依據(jù)本發(fā)明實施例提供的DNS緩存信息處理方法,能夠使用與緩存信息一一對應的讀鎖對緩存信息進行讀取。并且,對該緩存信息的讀取不會影響到對其他緩存信息的操作,解決了現(xiàn)有技術中對所有域名信息對應的數(shù)據(jù)結構的整體設置加鎖信息,導致對不同域名信息對應的緩存信息進行的操作相互影響,導致相應速度降低的問題,能夠更加準確快速地對緩存信息執(zhí)行操作。同樣,本發(fā)明實施例中,獲取與緩存信息對應的寫鎖,并根據(jù)寫鎖對緩存信息執(zhí)行寫操作,而不影響對其他緩存信息執(zhí)行操作。另夕卜,本發(fā)明實施例中,設置對緩存信息的更新策略,對緩存信息進行主動更新,避免現(xiàn)有技術中,僅根據(jù)時間是否失效對緩存信息進行更新導致緩存信息質量低下的問題。綜上,采用本發(fā)明實施例能夠達到提高相應速度以及緩存信息吞吐量,并且提高緩存信息靈活性,提升存儲信息質量的有益效果。
[0040]上文提及,本發(fā)明實施例中,能夠解析接收到的客戶端請求,得到客戶端請求的域名信息,并根據(jù)域名信息在數(shù)據(jù)庫中查詢與域名信息對應的數(shù)據(jù)結構。優(yōu)選地,本發(fā)明實施例中,能夠對解析得到的域名信息進行哈希值運算,得到域名信息的哈希值。進而根據(jù)域名信息的哈希值在哈希表中查詢與域名信息對應的數(shù)據(jù)結構。其中,哈希表是根據(jù)關鍵碼值能夠直接進行訪問的數(shù)據(jù)結構的列表。即,哈希表通過將關鍵碼值映射到表中一個位置來訪問記錄。因此,使用哈希表能夠加快查找速度。另外,將關鍵碼值映射到表中一個位置進行訪問的映射函數(shù)可以被稱為散列函數(shù),因此,哈希表可以被稱為散列表。
[0041]緩存信息通過哈希運算存放在數(shù)據(jù)結構中,而在獲取到客戶端請求之后,本發(fā)明實施例對客戶端請求的域名信息同樣進行哈希運算,進而根據(jù)獲取的哈希值查詢對應的數(shù)據(jù)結構。若查找到對應的數(shù)據(jù)結構,即存在存儲于數(shù)據(jù)結構中的緩存信息,則獲取讀鎖,利用獲取到的讀鎖的權限對緩存信息進行讀取。讀取之后,能夠將緩存信息發(fā)送至客戶端請求的發(fā)送方。若無法查找到對應的數(shù)據(jù)結構,則本發(fā)明實施例根據(jù)域名信息在服務器中進行查詢。獲取到查詢結果之后,將查詢結果發(fā)送至客戶端請求的發(fā)送方,并將查詢結果寫入數(shù)據(jù)庫。
[0042]在將在服務器中查詢到的查詢結果寫入數(shù)據(jù)庫時,本發(fā)明實施例根據(jù)與查詢結果對應的域名信息,在數(shù)據(jù)庫設置對應的數(shù)據(jù)結構,并根據(jù)域名信息對數(shù)據(jù)結構進行初始設置。對數(shù)據(jù)結構進行初始設置時,首先對域名信息進行分類,例如,能夠根據(jù)域名信息是否屬于惡意攻擊的域名信息進行分類,根據(jù)域名信息是否屬于包含特殊信息的域名信息進行分類,和/或根據(jù)域名信息是否存在特殊要求對域名信息進行分類。其中,可以設置符合攻擊特征的包信息作為域名信息中的特殊信息對域名信息進行分類。其次,根據(jù)對域名信息的分類對數(shù)據(jù)結構設置加鎖信息。本發(fā)明實施例中,對數(shù)據(jù)結構設置的加鎖信息包括讀鎖信息,包括寫鎖信息,還可以包括其他能夠對查詢結果進行操作的權限信息,本發(fā)明實施例對此并不加以限定。
[0043]根據(jù)上文對數(shù)據(jù)結構進行初始設置之后,將在服務器中獲取到的查詢結果寫入數(shù)據(jù)結構,則查詢結果轉換為緩存至數(shù)據(jù)結構的緩存信息。當接收到針對該緩存信息的其他客戶端請求時,能夠在獲取讀鎖之后,直接讀取該緩存信息,并將緩存信息發(fā)送至客戶端請求的發(fā)送方。另外,本發(fā)明實施例還可以根據(jù)對域名信息的分類,對緩存信息設置進行更新的預設規(guī)則。例如,本發(fā)明實施例能夠根據(jù)域名信息為惡意攻擊類型的域名信息設置對緩存信息的預設規(guī)則為,每隔五分鐘對緩存信息進行更新,接收到針對該緩存信息的客戶端請求超過三次之后,對緩存信息進行更新。再例如,本發(fā)明實施例能夠根據(jù)域名信息的重要級別和/或對域名信息訪問數(shù)量的統(tǒng)計對域名信息進行分類。如對域名信息訪問數(shù)量統(tǒng)計并排序之后,獲取訪問數(shù)量為前100名的域名信息作為同一類別的域名信息,并對該類別的域名信息設置如下更新的預設規(guī)則:在生存時間(Time To Live,以下簡稱TTL)過期的前五秒鐘,對該類域名信息對應的緩存信息進行更新。其中,TTL表示記錄在數(shù)據(jù)庫上緩存時間。
[0044]當接收到客戶端請求,經過解析獲取域名信息,并進一步查詢到對應的數(shù)據(jù)結構之后,獲取讀鎖對緩存信息進行讀取。讀取之后,根據(jù)設置的對緩存信息進行更新的預設規(guī)貝U,判斷是否需要對緩存信息進行更新。例如,上文提及的示例中,當緩存信息對應的域名信息為惡意攻擊類的域名信息時(如根據(jù)域名信息中的請求類型或者域名信息中的請求附加信息確定域名信息是否為惡意攻擊類的域名信息),將緩存信息發(fā)送至客戶端請求發(fā)送方之后,根據(jù)對緩存信息設置的更新的預設規(guī)則,判斷出緩存信息存在時間已經超過五分鐘,則在服務器中獲取與域名信息對應的查詢結果,并將查詢結果更新至對應的數(shù)據(jù)結構,作為更新后的緩存信息。更新時,首先獲取與數(shù)據(jù)結構對應的寫鎖。其次,利用寫鎖的權限將更新后的緩存信息寫入數(shù)據(jù)結構。當再次接受到客戶端請求時,將更新后的緩存信息發(fā)送至客戶端請求的發(fā)送方。當發(fā)送緩存信息至客戶端發(fā)送方之后,根據(jù)對緩存信息設置的更新的預設規(guī)則,不需要對緩存信息進行更新,則保持緩存信息不變。
[0045]上文提及,本發(fā)明實施例中,將在服務器中獲取的查詢結果通過哈希運算存放于數(shù)據(jù)庫(如哈希表)中的數(shù)據(jù)結構中。當接收到客戶端請求時,根據(jù)對客戶端請求的解析得到域名信息,進而根據(jù)對域名信息進行哈希運算能夠得到域名信息的哈希值,進一步在數(shù)據(jù)庫中查找到對應的數(shù)據(jù)結構。在數(shù)據(jù)結構中能夠獲取緩存信息,并發(fā)送至客戶端請求的發(fā)送方。若未能查找到數(shù)據(jù)結構,則在服務器中進行查詢。獲取到查詢結果之后,將查詢結果發(fā)送至客戶端請求的發(fā)送方,并且將查詢結果寫入數(shù)據(jù)庫。因此,接收到下一個客戶端請求時能夠將緩存信息及時發(fā)送至客戶端請求的發(fā)送方,達到快速應答的有益效果。
[0046]存儲緩存信息的數(shù)據(jù)庫在實際應用中通常運行在多核服務器上。其中,多核服務器指在一枚處理器中集成兩個或者多個完整的計算機引擎(即內核)。因此,在多核服務器的數(shù)據(jù)庫中能夠語序各種操作多線程同時進行。因此,同一時間對數(shù)據(jù)庫中不同的數(shù)據(jù)結構存在多個讀操作或者寫操作。為保證讀操作和/或寫操作的正確性,對數(shù)據(jù)結構進行加鎖設置,保證同一時間僅能夠由獲得鎖的線程對數(shù)據(jù)結構中的緩存信息進行操作。即對數(shù)據(jù)結構進行的加鎖設置為對數(shù)據(jù)結構中的緩存信息進行操作的權限信息。
[0047]由于現(xiàn)有技術中,對數(shù)據(jù)庫中的一個數(shù)據(jù)結構獲取讀鎖,進而對數(shù)據(jù)結構中的緩存信息進行讀取不會對操作其他數(shù)據(jù)結構中的緩存信息造成影響,但對數(shù)據(jù)庫中的一個數(shù)據(jù)結構獲取寫鎖,進而對數(shù)據(jù)結構中的緩存信息進行寫操作將延遲對其他數(shù)據(jù)結構中緩存信息的操作。因此,現(xiàn)有技術中,僅能夠通過提高讀鎖的使用量,降低寫鎖的使用量提高系統(tǒng)性能。本發(fā)明實施例中,針對每一個數(shù)據(jù)結構設置對應的寫鎖以及讀鎖,能夠保證對單一數(shù)據(jù)結構的操作對其他任意數(shù)據(jù)結構無法造成影響,提高系統(tǒng)的性能以及操作效率,提升用戶體驗。
[0048]基于上文各優(yōu)選實施例提供的DNS緩存信息處理方法,基于同一發(fā)明構思,本發(fā)明實施例提供了一種DNS緩存信息處理設備,用于實現(xiàn)上述DNS緩存信息處理方法。
[0049]圖2示出了根據(jù)本發(fā)明一個實施例的DNS緩存信息處理設備的結構示意圖。參見圖2,本發(fā)明實施例的DNS緩存信息處理設備至少包括:接收器210、解析器220、查詢器230、獲取器240、讀取器250以及發(fā)送器260。
[0050]現(xiàn)介紹本發(fā)明實施例的DNS緩存信息處理設備的各器件或組成的功能以及各部分間的連接關系:
[0051]接收器210,配置為接收客戶端請求;
[0052]解析器220,配置為解析得到客戶端請求的域名信息;
[0053]查詢器230,配置為在數(shù)據(jù)庫中查詢與域名信息對應的數(shù)據(jù)結構;
[0054]獲取器240,配置為查詢器230查詢到數(shù)據(jù)結構時,獲取與數(shù)據(jù)結構對應的讀鎖信息,其中,讀鎖信息為能夠對存儲于數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;
[0055]讀取器250,配置為利用讀鎖信息的權限在數(shù)據(jù)結構中讀取緩存信息;[0056]發(fā)送器260,配置為將讀取到的緩存信息發(fā)送至客戶端請求的發(fā)送方。
[0057]一個優(yōu)選的實施例中,還包括:
[0058]解析器220還配置為,對域名信息進行哈希值運算,得到域名信息的哈希值;
[0059]查詢器230還配置為,根據(jù)域名信息的哈希值在哈希表中查詢與域名信息對應的數(shù)據(jù)結構。
[0060]圖3示出了根據(jù)本發(fā)明一個優(yōu)選實施的DNS緩存信息處理設備的結構示意圖。參見圖3,一個優(yōu)選的實施例中,還包括:
[0061]查詢器230還配置為,若數(shù)據(jù)庫中不存在與域名信息對應的數(shù)據(jù)結構,根據(jù)域名信息在服務器進行查詢,并獲取查詢結果;
[0062]發(fā)送器260還配置為,發(fā)送查詢結果至客戶端請求的發(fā)送方;
[0063]寫入器280,配置為將查詢結果寫入數(shù)據(jù)庫。
[0064]一個優(yōu)選的實施例中,寫入器280配置為按照如下步驟將查詢結果寫入數(shù)據(jù)庫:
[0065]在數(shù)據(jù)庫設置與域名信息對應的數(shù)據(jù)結構;
[0066]根據(jù)域名信息對數(shù)據(jù)結構進行初始設置;
[0067]將查詢結果寫入數(shù)據(jù)結構,轉換為數(shù)據(jù)結構存儲的緩存信息。
[0068]一個優(yōu)選的實施例中,寫入器280還配置為:
[0069]對域名信息進行分類;
[0070]根據(jù)分類結果設置數(shù)據(jù)結構的加鎖信息,其中,加鎖信息為對緩存信息執(zhí)行相應操作的權限信息,包括讀鎖信息以及寫鎖信息。
[0071]一個優(yōu)選的實施例中,寫入器280還配置為:
[0072]根據(jù)分類結果設置對緩存信息進行更新的預設規(guī)則。
[0073]如圖3所示,一個優(yōu)選的實施例中,還包括:
[0074]更新器270,配置為,
[0075]當發(fā)送器260將緩存信息發(fā)送至客戶端請求的發(fā)送方之后,根據(jù)對緩存信息進行更新的預設規(guī)則判斷是否對緩存信息進行更新;
[0076]若是,在服務器獲取更新后的緩存信息,并觸發(fā)寫入器280將更新后的緩存信息寫入數(shù)據(jù)庫;
[0077]若否,保持緩存信息不變。
[0078]—個優(yōu)選的實施例中,寫入器280還配置為按照如下步驟將更新后的緩存信息寫入數(shù)據(jù)庫:
[0079]觸發(fā)存儲緩存信息的數(shù)據(jù)結構的寫鎖信息的獲取操作;
[0080]獲取到寫鎖信息時,將更新后的緩存信息寫入數(shù)據(jù)庫。
[0081]基于上文各優(yōu)選實施例提供的DNS緩存信息處理方法及設備,基于同一發(fā)明構思,本發(fā)明實施例提供了一種DNS域名解析系統(tǒng)。圖4示出了根據(jù)本發(fā)明一個實施例的DNS域名解析系統(tǒng)的結構示意圖。參見圖4,本發(fā)明實施例提供的DNS域名解析系統(tǒng)至少包括:客戶端410、DNS緩存信息處理設備420以及域名解析設備430。需要說明的是,圖4僅示出了一個客戶端410,實際操作中,客戶端410可以是任意整數(shù)個,本發(fā)明實施例對此并不加以限定。
[0082]現(xiàn)介紹本發(fā)明實施例的DNS域名解析系統(tǒng)中各組成的功能以及各部分間的連接關系:
[0083]客戶端410,配置為發(fā)送客戶端請求至DNS緩存信息處理設備420。
[0084]DNS緩存信息處理設備420,與客戶端410相耦合,配置為當接收到客戶端請求,解析得到客戶端請求的域名信息;在數(shù)據(jù)庫中查詢與域名信息對應的數(shù)據(jù)結構;查詢到數(shù)據(jù)結構時,獲取與數(shù)據(jù)結構對應的讀鎖信息,其中,讀鎖信息為能夠對存儲于數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;利用讀鎖信息的權限在數(shù)據(jù)結構中讀取緩存信息,并將讀取到的緩存信息發(fā)送至客戶端請求的發(fā)送方。
[0085]域名解析設備430,與DNS緩存信息處理設備420相耦合,配置為根據(jù)緩存信息對域名信息對應的域名進行解析。
[0086]圖5示出了根據(jù)本發(fā)明一個優(yōu)選實施例的DNS域名解析系統(tǒng)的架構圖。參見圖5,上海電信、北京電信、上海聯(lián)通以及北京聯(lián)通的用戶發(fā)出客戶端請求。針對上海電信用戶,其DNS域名解析系統(tǒng)位于上海電信服務器群(圖5中的上海電信的云狀圖標)中,該系統(tǒng)內的DNS緩存信息處理設備能夠使用讀寫鎖對緩存信息進行讀操作和/或寫操作。并且,對單一緩存信息的操作不會影響到對其他緩存信息的操作,避免對不同域名信息對應的緩存信息進行操作的相互影響。因此,該系統(tǒng)的DNS緩存信息處理設備提高對客戶端請求的相應速度,能夠更加準確快速地對緩存信息執(zhí)行操作。另外,該系統(tǒng)內的DNS緩存信息處理設備能夠設置對緩存信息的更新策略,對緩存信息進行主動更新,避免緩存信息指令低下的問題。
[0087]同理,針對北京電信用戶,其DNS域名解析系統(tǒng)位于北京電信服務器群(圖5中的北京電信的云狀圖標)中,該系統(tǒng)內的DNS緩存信息處理設備執(zhí)行上述操作。而針對上海聯(lián)通用戶而言,其DNS域名解析系統(tǒng)位于上海聯(lián)通服務器群(圖5中的上海聯(lián)通的云狀圖標)中,該系統(tǒng)內的DNS緩存信息處理設備執(zhí)行上述操作。以及,針對北京聯(lián)通用戶而言,其DNS域名解析系統(tǒng)位于北京聯(lián)通服務器群(圖5中的北京聯(lián)通的云狀圖標)中,該系統(tǒng)內的DNS緩存信息處理設備執(zhí)行上述操作。
[0088]本發(fā)明實施例系統(tǒng)內的DNS緩存信息處理設備能夠根據(jù)客戶端請求查找到對應的緩存信息并發(fā)送至對應的客戶端請求發(fā)送方。并且,在發(fā)送之后,能夠根據(jù)預設規(guī)則對緩存信息進行及時更新。因此,在如圖5所示的域名解析系統(tǒng)中的DNS緩存信息處理設備能夠采用緩存存取優(yōu)化和/或預更新等手段降低解析時延,進而能夠提高解析效率,優(yōu)化系統(tǒng)性能。
[0089]參見圖5,各DNS域名解析系統(tǒng)另一側與RCS集群以及災備系統(tǒng)相連,通過RCS集群以及災備系統(tǒng)與遞歸DNS連接。其中,遞歸DNS根據(jù)地域劃分可以分為北京遞歸DNS、上海遞歸NDS、廣東遞歸DNS等等。
[0090]根據(jù)上述任意一個優(yōu)選實施例或多個優(yōu)選實施例的組合,本發(fā)明實施例能夠達到如下有益效果:
[0091]本發(fā)明實施例中,當接收到客戶端請求,解析得到客戶端請求的域名信息,并在數(shù)據(jù)庫中查詢與域名信息對應的數(shù)據(jù)結構。查詢到數(shù)據(jù)結構時,本發(fā)明實施例獲取與數(shù)據(jù)結構對應的讀鎖信息,并利用讀鎖信息的權限在數(shù)據(jù)結構中讀取緩存信息,進而將緩存信息發(fā)送至客戶端請求的發(fā)送方。依據(jù)本發(fā)明實施例提供的DNS緩存信息處理方法,能夠使用與緩存信息一一對應的讀鎖對緩存信息進行讀取。并且,對該緩存信息的讀取不會影響到對其他緩存信息的操作,解決了現(xiàn)有技術中對所有域名信息對應的數(shù)據(jù)結構的整體設置加鎖信息,導致對不同域名信息對應的緩存信息進行的操作相互影響,導致相應速度降低的問題,能夠更加準確快速地對緩存信息執(zhí)行操作。同樣,本發(fā)明實施例中,獲取與緩存信息對應的寫鎖,并根據(jù)寫鎖對緩存信息執(zhí)行寫操作,而不影響對其他緩存信息執(zhí)行操作。另夕卜,本發(fā)明實施例中,設置對緩存信息的更新策略,對緩存信息進行主動更新,避免現(xiàn)有技術中,僅根據(jù)時間是否失效對緩存信息進行更新導致緩存信息質量低下的問題。綜上,采用本發(fā)明實施例能夠達到提高相應速度以及緩存信息吞吐量,并且提高緩存信息靈活性,提升存儲信息質量的有益效果。
[0092]在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0093]類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
[0094]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0095]此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內并且形成不同的實施例。例如,在權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0096]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的DNS緩存信息處理設備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0097]應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0098]至此,本領域技術人員應認識到,雖然本文已詳盡示出和描述了本發(fā)明的多個示例性實施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開的內容直接確定或推導出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應被理解和認定為覆蓋了所有這些其他變型或修改。
[0099]本發(fā)明實施例還公開了 Al.—種DNS緩存信息處理方法,包括:
[0100]當接收到客戶端請求,解析得到所述客戶端請求的域名信息;
[0101]在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構;
[0102]查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;
[0103]利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息,并將讀取到的所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方。
[0104]A2.根據(jù)Al所述的方法,其中,在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構,包括:
[0105]對所述域名信息進行哈希值運算,得到所述域名信息的哈希值;
[0106]根據(jù)所述域名信息的哈希值在哈希表中查詢與所述域名信息對應的數(shù)據(jù)結構。
[0107]A3.根據(jù)Al或A2所述的方法,其中,在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構之后,還包括:
[0108]若所述數(shù)據(jù)庫中不存在與所述域名信息對應的數(shù)據(jù)結構,根據(jù)所述域名信息在服務器進行查詢,并獲取查詢結果;
[0109]發(fā)送所述查詢結果至所述客戶端請求的發(fā)送方,并將所述查詢結果寫入所述數(shù)據(jù)庫。
[0110]A4.根據(jù)A3所述的方法,其中,將所述查詢結果寫入所述數(shù)據(jù)庫,包括:
[0111]在所述數(shù)據(jù)庫設置與所述域名信息對應的數(shù)據(jù)結構;
[0112]根據(jù)所述域名信息對所述數(shù)據(jù)結構進行初始設置;
[0113]將所述查詢結果寫入所述數(shù)據(jù)結構,轉換為所述數(shù)據(jù)結構存儲的緩存信息。
[0114]A5.根據(jù)A4所述的方法,其中,根據(jù)所述域名信息對所述數(shù)據(jù)結構進行初始設置,包括:
[0115]對所述域名信息進行分類;
[0116]根據(jù)分類結果設置所述數(shù)據(jù)結構的加鎖信息,其中,所述加鎖信息為對所述緩存信息執(zhí)行相應操作的權限信息,包括所述讀鎖信息以及寫鎖信息。
[0117]A6.根據(jù)A5所述的方法,其中,對與所述域名信息進行分類之后,還包括:
[0118]根據(jù)所述分類結果設置對所述緩存信息進行更新的預設規(guī)則,其中,所述預設規(guī)則包括根據(jù)所述域名信息的級別和/或對所述域名信息訪問量的統(tǒng)計設置對所述緩存信息的更新時間。
[0119]A7.根據(jù)A6所述的方法,其中,將所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方之后,還包括:
[0120]根據(jù)對所述緩存信息進行更新的預設規(guī)則判斷是否對所述緩存信息進行更新;
[0121]若是,在所述服務器獲取更新后的所述緩存信息,并寫入所述數(shù)據(jù)庫;
[0122]若否,保持所述緩存信息不變。
[0123]AS.根據(jù)A7所述的方法,其中,將更新后的所述緩存信息寫入所述數(shù)據(jù)庫,包括:
[0124]觸發(fā)存儲所述緩存信息的數(shù)據(jù)結構的寫鎖信息的獲取操作;
[0125]獲取到所述寫鎖信息時,將更新后的所述緩存信息寫入所述數(shù)據(jù)庫。
[0126]本發(fā)明實施例還公開了 B9.—種DNS緩存信息處理設備,包括:
[0127]接收器,配置為接收客戶端請求;
[0128]解析器,配置為解析得到所述客戶端請求的域名信息;
[0129]查詢器,配置為在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構;
[0130]獲取器,配置為所述查詢器查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;
[0131]讀取器,配置為利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息;
[0132]發(fā)送器,配置為將讀取到的所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方。
[0133]B10.根據(jù)B9所述的設備,其中,還包括:
[0134]所述解析器還配置為,對所述域名信息進行哈希值運算,得到所述域名信息的哈希值;
[0135]所述查詢器還配置為,根據(jù)所述域名信息的哈希值在哈希表中查詢與所述域名信息對應的數(shù)據(jù)結構。
[0136]Bll.根據(jù)B9或BlO所述的設備,其中,還包括:
[0137]所述查詢器還配置為,若所述數(shù)據(jù)庫中不存在與所述域名信息對應的數(shù)據(jù)結構,根據(jù)所述域名信息在服務器進行查詢,并獲取查詢結果;
[0138]所述發(fā)送器還配置為,發(fā)送所述查詢結果至所述客戶端請求的發(fā)送方;
[0139]寫入器,配置為將所述查詢結果寫入所述數(shù)據(jù)庫。
[0140]B12.根據(jù)Bll所述的設備,其中,
[0141]所述寫入器配置為按照如下步驟將所述查詢結果寫入所述數(shù)據(jù)庫:
[0142]在所述數(shù)據(jù)庫設置與所述域名信息對應的數(shù)據(jù)結構;
[0143]根據(jù)所述域名信息對所述數(shù)據(jù)結構進行初始設置;
[0144]將所述查詢結果寫入所述數(shù)據(jù)結構,轉換為所述數(shù)據(jù)結構存儲的緩存信息。
[0145]B13.根據(jù)B12所述的設備,其中,所述寫入器還配置為:
[0146]對所述域名信息進行分類;
[0147]根據(jù)分類結果設置所述數(shù)據(jù)結構的加鎖信息,其中,所述加鎖信息為對所述緩存信息執(zhí)行相應操作的權限信息,包括所述讀鎖信息以及寫鎖信息。
[0148]B14.根據(jù)B13所述的設備,其中,所述寫入器還配置為:[0149]根據(jù)所述分類結果設置對所述緩存信息進行更新的預設規(guī)則,其中,所述預設規(guī)則包括根據(jù)所述域名信息的級別和/或對所述域名信息訪問量的統(tǒng)計設置對所述緩存信息的更新時間。
[0150]B15.根據(jù)B14所述的設備,其中,還包括:
[0151]更新器,配置為,
[0152]當所述發(fā)送器將所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方之后,根據(jù)對所述緩存信息進行更新的預設規(guī)則判斷是否對所述緩存信息進行更新;
[0153]若是,在所述服務器獲取更新后的所述緩存信息,并觸發(fā)所述寫入器將所述更新后的緩存信息寫入所述數(shù)據(jù)庫;
[0154]若否,保持所述緩存信息不變。
[0155]B16.根據(jù)B15所述的設備,其中,
[0156]所述寫入器還配置為按照如下步驟將更新后的所述緩存信息寫入所述數(shù)據(jù)庫:
[0157]觸發(fā)存儲所述緩存信息的數(shù)據(jù)結構的寫鎖信息的獲取操作;
[0158]獲取到所述寫鎖信息時,將更新后的所述緩存信息寫入所述數(shù)據(jù)庫。
[0159]本發(fā)明實施例還公開了 C17.—種DNS域名解析系統(tǒng),包括B9至B16任一項所述的DNS緩存信息處理設備,客戶端以及域名解析設備,其中,
[0160]所述客戶端,配置為發(fā)送客戶端請求至所述DNS緩存信息處理設備;
[0161]所述DNS緩存信息處理設備,配置為當接收到所述客戶端請求,解析得到所述客戶端請求的域名信息;在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構;查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息,并將讀取到的所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方;
[0162]所述域名解析設備,配置為根據(jù)所述緩存信息對所述域名信息對應的域名進行解析。
【權利要求】
1.一種DNS緩存信息處理方法,包括: 當接收到客戶端請求,解析得到所述客戶端請求的域名信息; 在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構; 查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息; 利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息,并將讀取到的所述緩存信息發(fā)送至所述客戶端請求的 發(fā)送方。
2.根據(jù)權利要求1所述的方法,其中,在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構,包括: 對所述域名信息進行哈希值運算,得到所述域名信息的哈希值; 根據(jù)所述域名信息的哈希值在哈希表中查詢與所述域名信息對應的數(shù)據(jù)結構。
3.根據(jù)權利要求1或2所述的方法,其中,在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構之后,還包括: 若所述數(shù)據(jù)庫中不存在與所述域名信息對應的數(shù)據(jù)結構,根據(jù)所述域名信息在服務器進行查詢,并獲取查詢結果; 發(fā)送所述查詢結果至所述客戶端請求的發(fā)送方,并將所述查詢結果寫入所述數(shù)據(jù)庫。
4.根據(jù)權利要求3所述的方法,其中,將所述查詢結果寫入所述數(shù)據(jù)庫,包括: 在所述數(shù)據(jù)庫設置與所述域名信息對應的數(shù)據(jù)結構; 根據(jù)所述域名信息對所述數(shù)據(jù)結構進行初始設置; 將所述查詢結果寫入所述數(shù)據(jù)結構,轉換為所述數(shù)據(jù)結構存儲的緩存信息。
5.根據(jù)權利要求4所述的方法,其中,根據(jù)所述域名信息對所述數(shù)據(jù)結構進行初始設置,包括: 對所述域名信息進行分類; 根據(jù)分類結果設置所述數(shù)據(jù)結構的加鎖信息,其中,所述加鎖信息為對所述緩存信息執(zhí)行相應操作的權限信息,包括所述讀鎖信息以及寫鎖信息。
6.根據(jù)權利要求5所述的方法,其中,對與所述域名信息進行分類之后,還包括: 根據(jù)所述分類結果設置對所述緩存信息進行更新的預設規(guī)則,其中,所述預設規(guī)則包括根據(jù)所述域名信息的級別和/或對所述域名信息訪問量的統(tǒng)計設置對所述緩存信息的更新時間。
7.根據(jù)權利要求6所述的方法,其中,將所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方之后,還包括: 根據(jù)對所述緩存信息進行更新的預設規(guī)則判斷是否對所述緩存信息進行更新; 若是,在所述服務器獲取更新后的所述緩存信息,并寫入所述數(shù)據(jù)庫; 若否,保持所述緩存信息不變。
8.根據(jù)權利要求7所述的方法,其中,將更新后的所述緩存信息寫入所述數(shù)據(jù)庫,包括: 觸發(fā)存儲所述緩存信息的數(shù)據(jù)結構的寫鎖信息的獲取操作; 獲取到所述寫鎖信息時,將更新后的所述緩存信息寫入所述數(shù)據(jù)庫。
9.一種DNS緩存信息處理設備,包括:接收器,配置為接收客戶端請求; 解析器,配置為解析得到所述客戶端請求的域名信息; 查詢器,配置為在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構; 獲取器,配置為所述查詢器查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息; 讀取器,配置為利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息; 發(fā)送器,配置為將讀取到的所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方。
10.一種DNS域名解析系統(tǒng),包括權利要求9所述的DNS緩存信息處理設備,客戶端以及域名解析設備,其中, 所述客戶端,配置為發(fā)送客戶端請求至所述DNS緩存信息處理設備; 所述DNS緩存信息處理設備,配置為當接收到所述客戶端請求,解析得到所述客戶端請求的域名信息;在數(shù)據(jù)庫中查詢與所述域名信息對應的數(shù)據(jù)結構;查詢到所述數(shù)據(jù)結構時,獲取與所述數(shù)據(jù)結構對應的讀鎖信息,其中,所述讀鎖信息為能夠對存儲于所述數(shù)據(jù)結構中的緩存信息執(zhí)行讀取操作的權限信息;利用所述讀鎖信息的權限在所述數(shù)據(jù)結構中讀取緩存信息,并將讀取到的所述緩存信息發(fā)送至所述客戶端請求的發(fā)送方; 所述域名解析設備,配置為根據(jù)所述緩存信息對所述域名信息對應的域名進行解析。
【文檔編號】G06F17/30GK103957239SQ201410135732
【公開日】2014年7月30日 申請日期:2014年4月4日 優(yōu)先權日:2014年4月4日
【發(fā)明者】濮燦 申請人:上海聚流軟件科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
祁连县| 九江县| 阿合奇县| 昭苏县| 大连市| 乐都县| 阳高县| 胶南市| 鲁甸县| 华宁县| 格尔木市| 政和县| 东乌珠穆沁旗| 岳阳市| 定西市| 乌拉特中旗| 封丘县| 洛隆县| 敦化市| 元谋县| 永济市| 安化县| 临潭县| 曲沃县| 安西县| 泸水县| 方正县| 廊坊市| 平谷区| 咸阳市| 屏南县| 霍林郭勒市| 平山县| 韩城市| 正镶白旗| 贵溪市| 亳州市| 金寨县| 山阴县| 芜湖县| 朝阳市|