本申請涉及通信技術領域,特別涉及一種域名檢索方法。本申請還涉及一種域名檢索設備。
背景技術:
域名(Domain Name)是由一串用點分隔的名字所組成的Internet(因特網)上某一臺計算機或計算機組的名稱,用于在數據傳輸時標識計算機的電子方位(有時也指地理位置,地理上的域名,指代有行政自主權的一個地方區(qū)域)。一個域名的目的是便于記憶和溝通的一組服務器的地址(網站,電子郵件,FTP等)。在IP地址發(fā)生變化的情況下,通過改變解析對應關系,域名仍可保持不變。因此,企業(yè)、政府、非政府組織等機構或者個人在域名注冊查詢商上注冊的名稱即為互聯(lián)網上企業(yè)或機構間相互聯(lián)絡的網絡地址。
域名系統(tǒng)(DNS,Domain Name System)是因特網的一項核心服務,它作為可以將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯(lián)網,而不用去記住能夠被機器直接讀取的IP數串。域名中的標號都由英文字母和數字組成,每一個標號不超過63個字符,也不區(qū)分大小寫字母。標號中除連字符(-)外不能使用其他的標點符號。級別最低的域名寫在最左邊,而級別最高的域名寫在最右邊。子域名(Sub-domain)是頂級域名(一級域名)的下一級,域名整體包括兩個“.”或包括一個“.”和一個“/”。
以一個普通的子域名“img.cms.topdomainsample.com”為例說明,該網址是由二部分組成,標號“img.cms.topdomainsample”是這個域名的主體,而最后的標號“com”則是該域名的后綴,代表的這是一個com國際域名,是頂級域名。
發(fā)明人在實現本申請的過程中發(fā)現,由于當現有的網絡設備中存儲了大量用戶實際使用的域名之后,針對域名的檢索將會變得十分的緩慢以及效率低下。這是由于現有技術在檢索域名時均需要在當前可用于檢索的域名的開頭均添加“.”作為前綴,而后在添加了“.”的所有域名中檢索以待檢索域名為結尾的域名,因為只有這樣檢索才能保證檢索結果的正確度以及準確性。
以上述“img.cms.topdomainsample.com”域名為例,當技術人員需要在網絡設備中檢索“topdomainsample.com”該域名或者與其相關的子域名時,需要在當前所有可用于檢索的域名之前均加一個“.”作為前綴,再針對以“.topdomainsample.com”為結尾的域名進行查詢以及檢索,這樣導致了每一次的域名查詢都需要涉及到對所有域名的處理,耗費了大量的處理以及計算資源。
由此可見,如何在海量域名中針對特定的域名快速地進行檢索,成為本領域技術人員亟待解決的技術問題。
技術實現要素:
本申請?zhí)峁┝艘环N域名檢索方法,用于在海量域名中快速檢索匹配的域名或子域名,在節(jié)省資源消耗的基礎上提高檢索效率。該方法預先設置域名庫,所述域名庫中包含當前存在的域名、所述域名在添加指定前綴后經過字符反轉處理所生成的反轉字符串、以及所述域名與所述反轉字符串之間的對應關系,還包括:
接收攜帶待檢索域名的域名檢索請求;
將添加所述指定前綴的待檢索域名通過字符反轉處理為待檢索反轉字符串;
在所述域名庫中查詢是否存在與所述待檢索反轉字符串匹配的對應關系;
若存在,根據所述對應關系獲取與所述待檢索反轉字符串對應的域名。
優(yōu)選地,將添加所述指定前綴的待檢索域名通過字符反轉處理為待檢索反轉字符串,具體為:
在所述待檢索域名的頭部添加所述指定前綴,并將添加了所述指定前綴的待檢索域名作為待反轉字符串;
根據所述待反轉字符串中的各個字符通過倒序排列生成所述待檢索反轉字符串。
優(yōu)選地,還包括:
若所述域名庫中不存在與所述待檢索反轉字符串匹配的對應關系,向所述域名檢索請求的發(fā)送方返回檢索失敗響應。
優(yōu)選地,在接收攜帶待檢索域名的域名檢索請求之前,還包括:
接收攜帶所述域名的域名添加請求;
在所述域名的頭部添加所述指定前綴,并將添加所述指定前綴的域名通過字符反轉處理為反轉字符串;
生成所述域名與所述反轉字符串的對應關系;
將所述域名、所述反轉字符串以及所述對應關系添加至所述域名庫。
優(yōu)選地,所述指定前綴為所述域名中各個字符之間的連接符。
相應地,本申請還提出了一種域名檢索設備,該設備預先設置域名庫,所述域名庫中包含當前存在的域名、所述域名在添加指定前綴后經過字符反轉處理所生成的反轉字符串、以及所述域名與所述反轉字符串之間的對應關系,還包括:
接收模塊,接收攜帶待檢索域名的域名檢索請求;
反轉模塊,將添加所述指定前綴的待檢索域名通過字符反轉處理為待檢索反轉字符串;
查詢模塊,在所述域名庫中查詢是否存在與所述待檢索反轉字符串匹配的對應關系;
獲取模塊,在所述域名庫中存在與所述待檢索反轉字符串匹配的對應關系時根據所述對應關系獲取與所述待檢索反轉字符串對應的域名。
優(yōu)選地,所述反轉模塊具體用于:
在所述待檢索域名的頭部添加所述指定前綴,并將添加了所述指定前綴的待檢索域名作為待反轉字符串;
根據所述待反轉字符串中的各個字符通過倒序排列生成所述待檢索反轉字符串。
優(yōu)選地,還包括:
返回模塊,在所述域名庫中不存在與所述待檢索反轉字符串匹配的對應關系時向所述域名檢索請求的發(fā)送方返回檢索失敗響應。
優(yōu)選地,還包括:
添加模塊,接收攜帶所述域名的域名添加請求,在所述域名的頭部添加所述指定前綴,并將添加所述指定前綴的域名通過字符反轉處理為反轉字符串,生成所述域名與所述反轉字符串的對應關系,將所述域名、所述反轉字符串以及所述對應關系添加至所述域名庫。
優(yōu)選地,所述指定前綴為所述域名中各個字符之間的連接符。
通過應用本發(fā)明的技術方案,預先設置域名庫,在接收到攜帶待檢索域名的域名檢索請求后,將添加所述指定前綴的待檢索域名通過字符反轉處理為待檢索反轉字符串,并在域名庫中查詢是否存在與待檢索反轉字符串匹配的對應關系,以及在存在對應關系的情況下根據對應關系獲取與待檢索反轉字符串對應的域名,由于域名庫包含當前存在的域名、域名在添加指定前綴后經過字符反轉處理所生成的反轉字符串、以及域名與反轉字符串之間的對 應關系,因此可以快速地在海量域名中簡單快捷的檢索相關所需要的域名,極大地提高了域名檢索效率。
附圖說明
圖1為本申請?zhí)岢龅囊环N域名檢索方法的流程示意圖;
圖2為本申請具體實施例提出的數據預處理流程的示意圖;
圖3為本申請具體實施例提出的數據檢索流程的示意圖;
圖4為本申請?zhí)岢龅囊环N域名檢索設備的結構示意圖。
具體實施方式
為解決背景技術中所涉及的問題,本申請?zhí)岢隽艘环N域名檢索方法,通過對域名加一個指定的前綴(例如“.”),再將添加了指定前綴后的域名的字符串進行字符反轉處理,以此作為檢索的索引在預設的域名庫中進行檢索。由于域名庫中不僅包含了當前存在的域名,而且還包含了域名在添加指定前綴后經過字符反轉處理所生成的反轉字符串、以及域名與反轉字符串之間的對應關系,因此可通過對應關系快速查詢到相應的域名。從而實現了域名的快速檢索,從而在面對海量的域名時可顯著地提高域名查詢效率。
為了實現域名的快速檢索,本申請一方面會針對待檢索域名結合指定前綴進行處理,另一方面也會針對現有存在的域名結合指定前綴進行特殊的反轉處理后進行保存。因此在實施本申請技術方案的各個步驟之前,預先設置域名庫,該域名庫中除了包含了當前存在的域名之外,而且還包含了這些域名在添加指定前綴后經過字符反轉處理所生成的反轉字符串、以及域名與反轉字符串之間的對應關系。
如圖1所示,為本申請?zhí)岢龅囊环N域名檢索方法的流程示意圖,包括下述步驟:
S101,接收攜帶待檢索域名的域名檢索請求。
S102,將添加所述指定前綴的待檢索域名通過字符反轉處理為待檢索反轉字符串。
如上所述,本申請設置了一個特殊的域名庫便于域名的檢索,其中包含了域名、反轉字符串以及上述二者的對應關系。在面對新添加的域名時,本申請的優(yōu)選實施例也提出了相應的處理流程,保證域名庫能夠覆蓋當前所有的域名。具體步驟如下:
步驟a)接收攜帶所述域名的域名添加請求;
步驟b)在所述域名的頭部添加所述指定前綴,并將添加所述指定前綴的域名通過字符反轉處理為反轉字符串;
步驟c)生成所述域名與所述反轉字符串的對應關系;
步驟d)將所述域名、所述反轉字符串以及所述對應關系添加至所述域名庫。
在上述過程以及S102中都涉及到反轉字符串的生成過程,由于域名都是由各個字符組成的,因此反轉字符串為域名在添加了指定前綴后的各個字符通過倒序排列所生成。在本申請的優(yōu)選實施例中,針對待檢索反轉字符串的生成提出了相應的方案:
步驟a)在所述待檢索域名的頭部添加所述指定前綴,并將添加了所述指定前綴的待檢索域名作為待反轉字符串;
步驟b)根據所述待反轉字符串中的各個字符通過倒序排列生成所述待檢索反轉字符串。
需要說明的是,上述方案僅為本申請為了生成反轉字符串所提出的優(yōu)選實施方案,在此基礎上技術人員可以進行改進或是優(yōu)化,并且將其同樣應用于“將添加指定前綴的域名通過字符反轉處理為反轉字符串”的過程,這些都屬于本申請的保護范圍。
在圖2所示的本申請具體實施例中的數據預處理流程示意圖中,基于預設的域名庫,在需要添加新的域名時,首先針對所有需要添加的域名加一個“.”作為前綴,舉例來說,當前需要添加“img.cms.topdomainsample.com”以及“img.cms.2topdomainsample.com”這兩個新的域名時,該具體實施例分別在其中添加指定的前綴“.”,隨后將添加了指定前綴的.img.cms.topdomainsample.com”以及“.img.cms.2topdomainsample.com”進行字符反轉處理,最終所得到的結果分別為“moc.elpmasniamodpot.smc.gmi.”以及“moc.elpmasniamodpot2.smc.gmi.”最終該具體實施例將“img.cms.topdomainsample.com”對應“moc.elpmasniamodpot.smc.gmi.”、“img.cms.2topdomainsample.com”對應“moc.elpmasniamodpot2.smc.gmi.”存儲于域名庫中。
需要說明的是,本申請中所涉及的反轉處理最終目的是得到各個字符與原輸入內容相反的字段,因此上述處理方式只是優(yōu)選的處理方式,在此基礎上本領域技術人員可以提出其他的處理方式,這些都屬于本發(fā)明的保護范圍。
S103,在所述域名庫中查詢是否存在與所述待檢索反轉字符串匹配的對應關系。
由于域名庫除了包含當前所有的域名之外,還包含了當前的域名結合指定前綴進行字符反轉處理后所得到的反轉字符串,而且還存儲了原始的域名以及與其對應的反轉字符串之間的對應關系,因此本申請可基于該列添加了前綴并字符反轉的字符串進行檢索,進而得到正常且正確的域名。
S104,若存在,根據所述對應關系獲取與所述待檢索反轉字符串對應的域名。
在查詢到與反轉字符串對應的域名后,即可根據所查詢到的對應關系獲 取到對應的域名,并將該域名提供給域名檢索請求的發(fā)送方。相應地,若是不存在與待檢索反轉字符串匹配的對應關系,則向域名檢索請求的發(fā)送方返回檢索失敗響應。
以上述具體實施例中出現的域名為例,在圖3所示的數據檢索流程示意圖中,當需要查詢“topdomainsample.com”該域名的子域名時(查詢表達式domain=“topdomainsample.com”),將通過以下流程完成域名的檢索:
步驟a)在該域名之前添加加一個前綴”.”得到新的domainTmp,即“.topdomainsample.com”;
步驟b)將上一步驟中的“topdomainsample.com”進行字符反轉處理,得到查詢域名前綴(domainPreQuery)“moc.elpmasniamodpot.”
步驟c)在域名庫中查詢包含”moc.elpmasniamodpot.”的對應關系,并基于與該對應關系對應的域名得到需要檢索的域名。
為達到以上目的,本申請還提出了一種域名檢索設備,該設備預先設置域名庫,所述域名庫中包含當前存在的域名、所述域名在添加指定前綴后經過字符反轉處理所生成的反轉字符串、以及所述域名與所述反轉字符串之間的對應關系,如圖4所示,該設備還包括:
接收模塊410,接收攜帶待檢索域名的域名檢索請求;
反轉模塊420,將添加所述指定前綴的待檢索域名通過字符反轉處理為待檢索反轉字符串;
查詢模塊430,在所述域名庫中查詢是否存在與所述待檢索反轉字符串匹配的對應關系;
獲取模塊440,在所述域名庫中存在與所述待檢索反轉字符串匹配的對應關系時根據所述對應關系獲取與所述待檢索反轉字符串對應的域名。
在具體的應用場景中,所述反轉模塊具體用于:
在所述待檢索域名的頭部添加所述指定前綴,并將添加了所述指定前綴的待檢索域名作為待反轉字符串;
根據所述待反轉字符串中的各個字符通過倒序排列生成所述待檢索反轉字符串。
在具體的應用場景中,還包括:
返回模塊,在所述域名庫中不存在與所述待檢索反轉字符串匹配的對應關系時向所述域名檢索請求的發(fā)送方返回檢索失敗響應。
在具體的應用場景中,還包括:
添加模塊,接收攜帶所述域名的域名添加請求,在所述域名的頭部添加所述指定前綴,并將添加所述指定前綴的域名通過字符反轉處理為反轉字符串,生成所述域名與所述反轉字符串的對應關系,將所述域名、所述反轉字符串以及所述對應關系添加至所述域名庫。
在具體的應用場景中,所述指定前綴為所述域名中各個字符之間的連接符。
由此可見,通過應用本申請的技術方案,預先設置域名庫,在接收到接收攜帶待檢索域名的域名檢索請求后,將添加所述指定前綴的待檢索域名通過字符反轉處理為待檢索反轉字符串,并在域名庫中查詢是否存在與待檢索反轉字符串匹配的對應關系,以及在存在對應關系的情況下根據對應關系獲取與待檢索反轉字符串對應的域名,由于域名庫包含當前存在的域名、域名在添加指定前綴后經過字符反轉處理所生成的反轉字符串、以及域名與反轉字符串之間的對應關系,因此可以快速地在海量域名中簡單快捷的檢索相關所需要的域名,極大地提高了域名檢索效率。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本申請可以通過硬件實現,也可以借助軟件加必要的通用硬件平臺的方式來實現。 基于這樣的理解,本申請的技術方案可以以軟件產品的形式體現出來,該軟件產品可以存儲在一個非易失性存儲介質(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本申請各個實施場景所述的方法。
本領域技術人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或流程并不一定是實施本申請所必須的。
本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本申請序號僅僅為了描述,不代表實施場景的優(yōu)劣。
以上公開的僅為本申請的幾個具體實施場景,但是,本申請并非局限于此,任何本領域的技術人員能思之的變化都應落入本申請的保護范圍。