亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于DNS視圖的DNS策略解析方法及裝置與流程

文檔序號:12132853閱讀:348來源:國知局
一種基于DNS視圖的DNS策略解析方法及裝置與流程

本發(fā)明屬于計算機(jī)域名解析技術(shù)領(lǐng)域,尤其涉及一種基于DNS視圖的DNS策略解析方法及裝置。



背景技術(shù):

DNS(Domain Name System,域名系統(tǒng))的功能是實(shí)現(xiàn)主機(jī)域名和主機(jī)IP地址之間的相互轉(zhuǎn)換。當(dāng)用戶在應(yīng)用程序中輸入主機(jī)域名時,DNS服務(wù)器可以將該域名解析為與之對應(yīng)的IP(Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址。

某些DNS服務(wù)器根據(jù)不同用戶的需求及安全的考慮,需要配置不同的域名解析策略,域名解析策略可以根據(jù)不同的場景及用戶需求來設(shè)定,例如,出于安全考慮,可以設(shè)定能夠進(jìn)行黑名單過濾的策略;或者,可以設(shè)定策略進(jìn)行負(fù)載均衡,對于不同IP地址/域名的查詢轉(zhuǎn)發(fā)到不同的服務(wù)器上實(shí)現(xiàn)負(fù)載均衡。

BIND(Berkeley Internet Name Domain)是一款開源的域名解析系統(tǒng),也是目前互聯(lián)網(wǎng)上使用最廣泛的域名解析系統(tǒng)。從Version9開始,BIND引入VIEW功能,簡單、高效地實(shí)現(xiàn)了DNS策略解析。一臺DNS服務(wù)器可能配置成千上萬條DNS策略,每條DNS策略對應(yīng)不同或相同的IP/IP段及域名/域名段。DNS策略匹配的算法直接影響到DNS服務(wù)器遞歸解析的性能,DNS解析過程中用戶一直處于等待狀態(tài)無法訪問網(wǎng)頁,因此,DNS解析性能會直接影響用戶的使用體驗(yàn)。一個View對應(yīng)條策略,每個View對應(yīng)一個IP列表(IPList)和域名列表。傳統(tǒng)的策略匹配算法,對每個View的IPList及域名列表分別構(gòu)建二叉樹,即構(gòu)建IP二叉樹和域名二叉樹,然后,按照View的優(yōu)先級順序進(jìn)行遍歷,對于每個View先遍歷IP二叉樹,再遍歷域名二叉樹,同時匹配的View為目標(biāo)View,然后執(zhí)行目標(biāo)View配置的具體策略。假設(shè)每個View下的IP或IP段為n個,域名為n個,共有n個View,則該算法的復(fù)雜度是O(n*(LOG2(n)+LOG2(n)))。對于配置的View特別多的場景,該算法的匹配效率非常低,導(dǎo)致用戶等待時間特別長。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本申請的目的在于提供一種匹配效率高的DNS策略解析方法及裝置,具體技術(shù)方案如下:

第一方面,本申請?zhí)峁┮环N基于域名系統(tǒng)DNS視圖的DNS策略解析方法,應(yīng)用于DNS服務(wù)器中,包括:

獲取接收到的DNS查詢請求對應(yīng)的源IP地址及目標(biāo)域名;

查詢預(yù)先創(chuàng)建的IP列表,得到與所述源IP地址匹配的第一策略標(biāo)識集,所述IP列表包含所述DNS服務(wù)器中所有DNS策略對應(yīng)的源IP信息及每條所述源IP信息對應(yīng)的策略標(biāo)識;

查詢預(yù)先創(chuàng)建的域名列表,得到與所述目標(biāo)域名匹配的第二策略標(biāo)識集,所述域名列表包含所述DNS服務(wù)器中所有DNS策略對應(yīng)的域名及每個所述域名對應(yīng)的策略標(biāo)識;

確定所述第一策略標(biāo)識集與所述第二策略標(biāo)識集中的相同策略標(biāo)識所對應(yīng)的策略為目標(biāo)策略。

可選地,在查詢預(yù)先創(chuàng)建的IP列表之前,所述方法還包括:

獲取所述DNS服務(wù)器中各個DNS策略對應(yīng)的原始IP列表,以及各個所述原始IP列表對應(yīng)的策略標(biāo)識;

將各個所述原始IP列表中的源IP信息進(jìn)行合并,并對應(yīng)記錄合并后的每條源IP信息對應(yīng)的策略標(biāo)識,得到所述IP列表。

可選地,所述將各個所述原始IP列表中的源IP信息進(jìn)行合并,并對應(yīng)記錄合并后的每條源IP信息對應(yīng)的策略標(biāo)識,得到所述IP列表,包括:

將各個所述原始IP列表中包含相同IP段的源IP信息進(jìn)行合并,記錄所述相同IP段對應(yīng)的所有策略標(biāo)識,并按策略優(yōu)先級由高到低的順序進(jìn)行排序;

將各個所述原始IP列表中具有包含關(guān)系的IP段,根據(jù)所包含的IP段進(jìn)行拆分,并分別記錄拆分后的子IP段對應(yīng)的策略標(biāo)識。

可選地,在查詢預(yù)先創(chuàng)建的域名列表之前,所述方法還包括:

獲取所述DNS服務(wù)器中各個DNS策略對應(yīng)的原始域名列表,以及各個所述原始域名列表對應(yīng)的策略標(biāo)識;

將各個所述原始域名列表中的域名進(jìn)行合并,并對應(yīng)記錄合并后的每個域名對應(yīng)的策略標(biāo)識,得到所述域名列表。

可選地,所述將各個所述原始域名列表中的域名進(jìn)行合并,并對應(yīng)記錄合并后的每個域名對應(yīng)的策略標(biāo)識,得到所述域名列表,包括:

將各個所述原始域名列表中包含的相同域名進(jìn)行合并,并按照策略優(yōu)先級由高到低的順序記錄所述相同域名對應(yīng)的策略標(biāo)識。

可選地,所述確定所述第一策略標(biāo)識集及所述第二策略標(biāo)識集中的相同策略標(biāo)識所對應(yīng)的策略為目標(biāo)策略,包括:

查找所述第一策略標(biāo)識集和所述第二策略標(biāo)識集中的相同策略標(biāo)識;

當(dāng)所述相同策略標(biāo)識的數(shù)量為至少兩個時,確定全部的相同策略標(biāo)識中優(yōu)先級最高的策略標(biāo)識所對應(yīng)的策略為所述目標(biāo)策略。

第二方面,本申請?zhí)峁┮环N基于域名系統(tǒng)DNS視圖的DNS策略解析裝置,應(yīng)用于DNS服務(wù)器中,包括:

第一獲取模塊,用于獲取接收到的DNS查詢請求對應(yīng)的源IP地址及目標(biāo)域名;

第一查詢模塊,用于查詢預(yù)先創(chuàng)建的IP列表,得到與所述源IP地址匹配的第一策略標(biāo)識集,所述IP列表包含所述DNS服務(wù)器中所有DNS策略對應(yīng)的源IP信息及每條所述源IP信息對應(yīng)的策略標(biāo)識;

第二查詢模塊,用于查詢預(yù)先創(chuàng)建的域名列表,得到與所述目標(biāo)域名匹配的第二策略標(biāo)識集,所述域名列表包含所述DNS服務(wù)器中所有DNS策略對應(yīng)的域名及每個所述域名對應(yīng)的策略標(biāo)識;

確定模塊,用于確定所述第一策略標(biāo)識集與所述第二策略標(biāo)識集中的相同策略標(biāo)識所對應(yīng)的策略為目標(biāo)策略。

可選地,所述裝置還包括:

第二獲取模塊,用于獲取所述DNS服務(wù)器中各個DNS策略對應(yīng)的原始IP列表,以及各個所述原始IP列表對應(yīng)的策略標(biāo)識;

第一合并模塊,用于將各個所述原始IP列表中的源IP信息進(jìn)行合并,并對應(yīng)記錄合并后的每條源IP信息對應(yīng)的策略標(biāo)識,得到所述IP列表。

可選地,所述第一合并模塊包括:

第一合并子模塊,用于將各個所述原始IP列表中包含相同IP段的源IP信息進(jìn)行合并,記錄所述相同IP段對應(yīng)的所有策略標(biāo)識,并按策略優(yōu)先級由高到低的順序進(jìn)行排序;

拆分子模塊,用于將各個所述原始IP列表中具有包含關(guān)系的IP段,根據(jù)所包含的IP段進(jìn)行拆分,并分別記錄拆分后的子IP段對應(yīng)的策略標(biāo)識。

可選地,所述裝置還包括:

第三獲取模塊,用于獲取所述DNS服務(wù)器中各個DNS策略對應(yīng)的原始域名列表,以及各個所述原始域名列表對應(yīng)的策略標(biāo)識;

第二合并模塊,用于將各個所述原始域名列表中的域名進(jìn)行合并,并對應(yīng)記錄合并后的每個域名對應(yīng)的策略標(biāo)識,得到所述域名列表。

可選地,所述第二合并模塊包括:

第二合并子模塊,用于將各個所述原始域名列表中包含的相同域名進(jìn)行合并,并按照策略優(yōu)先級由高到低的順序記錄所述相同域名對應(yīng)的策略標(biāo)識。

可選地,所述確定模塊包括:

查找子模塊,用于查找所述第一策略標(biāo)識集和所述第二策略標(biāo)識集中的相同策略標(biāo)識;

第一確定子模塊,用于當(dāng)所述相同策略標(biāo)識的數(shù)量為至少兩個時,確定全部的相同策略標(biāo)識中優(yōu)先級最高的策略標(biāo)識所對應(yīng)的策略為所述目標(biāo)策略。

本發(fā)明提供的基于DNS視圖的DNS策略解析方法,應(yīng)用于DNS服務(wù)器中,接收到用戶發(fā)送的DNS查詢請求后,獲取源IP地址及目標(biāo)域名;然后,查詢IP列表得到與該源IP地址匹配的第一策略標(biāo)識集,該IP列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的源IP信息及每條源IP信息對應(yīng)的策略標(biāo)識;接著,查詢域名列表,得到與該目標(biāo)域名匹配的第二策略標(biāo)識集,該域名列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的域名及每個域名對應(yīng)的策略標(biāo)識。再比較第一策略標(biāo)識集與第二策略標(biāo)識集中的策略標(biāo)識,確定兩個標(biāo)識集中的相同策略標(biāo)識對應(yīng)的策略為目標(biāo)策略。該方法中的IP列表和域名列表分別包含DNS服務(wù)器中所有DNS策略對應(yīng)的IP信息和域名,只需查詢一個IP列表和一個域名列表,再比較第一策略標(biāo)識集合第二策略標(biāo)識集,即可獲得目標(biāo)策略。而不是遍歷每個策略的原始IP列表及原始域名列表,大大提高了獲得查詢效率,進(jìn)而減少了用戶等待DNS解析的時間,提高了用戶體驗(yàn)。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實(shí)施例一種基于DNS視圖的DNS策略解析方法的流程圖;

圖2是本發(fā)明實(shí)施例另一種基于DNS視圖的DNS策略解析方法的流程圖;

圖3是本發(fā)明實(shí)施例一種DNS策略配置實(shí)例的示意圖;

圖4是本發(fā)明實(shí)施例一種合并后的IP列表的示意圖;

圖5是本發(fā)明實(shí)施例一種合并后的域名列表的示意圖;

圖6是本發(fā)明實(shí)施例一種DNS策略解析實(shí)例的示意圖;

圖7是本發(fā)明實(shí)施例另一種DNS策略解析實(shí)例的示意圖;

圖8是本發(fā)明實(shí)施例一種基于DNS視圖的DNS策略解析裝置的框圖;

圖9是本發(fā)明實(shí)施例一種確定模塊的框圖;

圖10是本發(fā)明實(shí)施例另一種基于DNS視圖的DNS策略解析裝置的框圖;

圖11是本發(fā)明實(shí)施例一種第一合并模塊的框圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

為了降低DNS策略查詢匹配的復(fù)雜度,提高查詢效率,本申請?zhí)峁┝嘶贒NS視圖的DNS策略解析方法實(shí)施例。

請參見圖1,示出了本發(fā)明實(shí)施例一種基于DNS視圖的DNS策略解析方法的流程圖,該方法應(yīng)用于DNS服務(wù)器中,如圖1所示,該方法可以包括以下步驟:

S110,獲取接收到的DNS查詢請求對應(yīng)的源IP地址及目標(biāo)域名。

DNS服務(wù)器接收網(wǎng)絡(luò)用戶發(fā)送的DNS查詢請求,并獲取該DNS查詢請求對應(yīng)的源IP地址及目標(biāo)域名;源IP地址是指用戶的IP地址,目標(biāo)域名是用戶請求解析的域名。例如,用戶要訪問百度網(wǎng)頁,則目標(biāo)域名是“baidu.com”。

S120,查詢預(yù)先創(chuàng)建的IP列表,得到與該源IP地址匹配的第一策略標(biāo)識集。

該IP列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的源IP信息及每條源IP信息對應(yīng)的策略標(biāo)識。

本發(fā)明中的IP列表是將DNS服務(wù)器中所有DNS策略對應(yīng)的原始IP列表合并得到,并記錄合并后每個IP段對應(yīng)的策略標(biāo)識,如果一個IP段對應(yīng)多個策略標(biāo)識,則按策略優(yōu)先級由高到低的順序進(jìn)行排序。

DNS策略通過DNS服務(wù)器中的View功能配置,一個DNS策略對應(yīng)一個View,因此,策略標(biāo)識可以采用View_id表示。

查詢該IP列表,找到與該源IP地址匹配的策略標(biāo)識集,記為第一策略標(biāo)識集。

S130,查詢預(yù)先創(chuàng)建的域名列表,得到與該目標(biāo)域名匹配的第二策略標(biāo)識集。

該域名列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的域名及每個域名對應(yīng)的策略標(biāo)識。

本發(fā)明中的域名列表是將DNS服務(wù)器中所有DNS策略對應(yīng)的原始域名列表合并得到,并記錄合并后每個域名對應(yīng)的策略標(biāo)識,如果一個域名對應(yīng)多個策略標(biāo)識,則按域名最長匹配原則對域名對應(yīng)的策略標(biāo)識進(jìn)行排序。

查詢該域名列表,找到與目標(biāo)域名匹配的策略標(biāo)識集,記為第二策略標(biāo)識集。

S140,確定所述第一策略標(biāo)識集與所述第二策略標(biāo)識集中的相同策略標(biāo)識所對應(yīng)的策略為目標(biāo)策略。

查找第一策略標(biāo)識集與第二策略標(biāo)識集中相同的策略標(biāo)識,并確定該策略標(biāo)識對應(yīng)的策略為目標(biāo)策略。

在本發(fā)明一種可能的實(shí)現(xiàn)方式中,如果第一策略標(biāo)識集與第二策略標(biāo)識集中包含相同策略標(biāo)識的數(shù)量有多個時,確定優(yōu)先級最高的策略標(biāo)識對應(yīng)的策略為目標(biāo)策略。

域名列表中的策略優(yōu)先級按照域名最長匹配原則得到,因此,可能存在第一策略標(biāo)識集與第二策略標(biāo)識集中匹配得到的相同策略標(biāo)識所對應(yīng)的優(yōu)先級可能不同,例如,兩個策略標(biāo)識集中匹配得到的相同策略標(biāo)識分別是View0和View2。IP列表中View0的優(yōu)先級高于View2的優(yōu)先級,但在域名列表中View2的優(yōu)先級高于View0的優(yōu)先級,此時,優(yōu)先滿足域名需求,最終的目標(biāo)View為View2。

本實(shí)施例提供的基于DNS視圖的DNS策略解析方法,接收到用戶發(fā)送的DNS查詢請求后,獲取源IP地址及目標(biāo)域名;然后,查詢IP列表得到與該源IP地址匹配的第一策略標(biāo)識集,該IP列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的源IP信息及每條源IP信息對應(yīng)的策略標(biāo)識;接著,查詢域名列表,得到與該目標(biāo)域名匹配的第二策略標(biāo)識集,該域名列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的域名及每個域名對應(yīng)的策略標(biāo)識。再比較第一策略標(biāo)識集與第二策略標(biāo)識集中的策略標(biāo)識,確定兩個標(biāo)識集中的相同策略標(biāo)識對應(yīng)的策略為目標(biāo)策略。該方法中的IP列表和域名列表分別包含DNS服務(wù)器中所有DNS策略對應(yīng)的IP信息和域名,只需查詢一個IP列表和一個域名列表,再比較第一策略標(biāo)識集合第二策略標(biāo)識集,即可獲得目標(biāo)策略。而不是遍歷每個策略的原始IP列表及原始域名列表,大大提高了獲得查詢效率,進(jìn)而減少了用戶等待DNS解析的時間,提高了用戶體驗(yàn)。

請參見圖2,示出了本發(fā)明實(shí)施例另一種基于DNS視圖的DNS策略解析方法的流程圖,本實(shí)施例將著重介紹創(chuàng)建IP列表和域名列表的過程。

如圖2所示,該方法在圖1所示實(shí)施例的基礎(chǔ)上,還包括以下步驟:

S210,獲取DNS服務(wù)器中各個DNS策略對應(yīng)的原始IP列表,以及各個原始IP列表對應(yīng)的策略標(biāo)識。

DNS策略由DNS服務(wù)器的用戶進(jìn)行配置,用戶配置DNS策略時,至少要配置該DNS策略對應(yīng)的源IP信息及域名,因此,一個DNS策略對應(yīng)一個原始IP列表及一個原始域名列表。

S220,將各個原始IP列表中的源IP信息進(jìn)行合并,并對應(yīng)記錄合并后的每條源IP信息對應(yīng)的策略標(biāo)識,得到IP列表。

將每個DNS策略對應(yīng)的原始IP列表合并為一個IP列表,具體的,將各個原始IP列表所包含的重復(fù)IP段進(jìn)行合并,記錄該IP段在不同原始IP列表中對應(yīng)的策略標(biāo)識,并按照策略優(yōu)先級由高到低的順序?qū)⒉呗詷?biāo)識進(jìn)行排序。

對于各個原始IP列表所包含的具有包含關(guān)系的IP段,將包含IP地址多的IP段根據(jù)被包含的IP段進(jìn)行拆分,并分別記錄拆分后各個IP段對應(yīng)的策略標(biāo)識,且同一IP段對應(yīng)多個策略標(biāo)識時,按照策略優(yōu)先級由高到低的順序?qū)Σ呗詷?biāo)識進(jìn)行排序。

例如,請參見圖3,示出了本發(fā)明實(shí)施例一種DNS策略配置實(shí)例的示意圖。

如圖3所示,每個View同時包含一個原始IP列表和一個原始域名列表,原始IP列表和原始域名列表之間是“邏輯和”關(guān)系,即,同時匹配該View對應(yīng)的原始IP列表和原始域名列表時,才確認(rèn)與該View匹配。

View0:原始IP列表為1.1.1.1/24、2.2.2.2/24、3.3.3.3/24;原始域名列表為cn.;策略內(nèi)容為轉(zhuǎn)發(fā)到IP1。

View1:原始IP列表為2.2.2.2/24;原始域名列表為bbb.cn、aaa.cn、ccc.cn;策略內(nèi)容為丟棄;

View2:原始IP列表為4.4.4.4/24、1.1.1.1/16;原始域名列表為com.cn;策略內(nèi)容為轉(zhuǎn)發(fā)到IP2。

分析圖3所示的配置示例可知,DNS策略優(yōu)先級由高到低依次為:View0、View1、View2、……、Viewn。

View0和view1的IP列表中都包含2.2.2.2/24,2.2.2.2/24對應(yīng)兩個View,分別是View 0和View1;2.2.2.0~2.2.2.255就是2.2.2.2/24,因此,2.2.2.0~2.2.2.255對應(yīng)的策略優(yōu)先級由高到低排列View 0、View1;

View0包含1.1.1.1/24,view3包含1.1.1.1/16,1.1.1.1/16和1.1.1.1/24重復(fù)的部分為1.1.1.1/24網(wǎng)段,所以將1.1.1.1/16拆分成三個網(wǎng)段,1.1.0.0~1.1.0.255,1.1.1.0~1.1.1.255,1.1.2.0~1.1.255.255;

其中,1.1.1.0~1.1.1.255就是1.1.1.1/24,該網(wǎng)段對應(yīng)View0、View2;1.1.0.0~1.1.0.255和1.1.2.0~1.1.255.255均對應(yīng)View2。

3.3.3.0~3.3.3.255就是3.3.3.3/24,因此,3.3.3.0~3.3.3.255對應(yīng)View0;

4.4.4.0~4.4.4.255就是4.4.4.4/24,因此,4.4.4.0~4.4.4.255對應(yīng)view2。

經(jīng)過對圖3所示的DNS策略配置示例中的原始IP列表進(jìn)行合并后,得到圖4所示的IP列表。

S230,獲取所述DNS服務(wù)器中各個DNS策略對應(yīng)的原始域名列表,以及各個所述原始域名列表對應(yīng)的策略標(biāo)識。

每個DNS策略對應(yīng)一個原始域名列表,每個原始域名列表包含至少一個域名。獲取DNS服務(wù)器中所有DNS策略對應(yīng)的原始域名列表。

S240,將各個所述原始域名列表中的域名進(jìn)行合并,并對應(yīng)記錄合并后的每個域名對應(yīng)的策略標(biāo)識,得到所述域名列表。

將各個所述原始域名列表中包含的相同域名進(jìn)行合并,并按照策略優(yōu)先級由高到低的順序記錄相同的域名對應(yīng)的策略標(biāo)識。

對于各不相同的域名中的任一域名,查找所有原始域名列表中是否存在該域名對應(yīng)的父域名,如果存在,則在該域名對應(yīng)策略標(biāo)識之后記錄其父域名對應(yīng)的策略標(biāo)識,且該域名對應(yīng)策略的優(yōu)先級高于其父域名對應(yīng)策略的優(yōu)先級。

仍以圖3所示的DNS策略配置示例為例說明原始域名列表合并的過程,如圖3所示,View0對應(yīng)的域名是cn.;View1對應(yīng)的域名是bbb.cn、aaa.cn、ccc.cn;View2對應(yīng)的域名是com.cn。

view0配置了cn、view2配置了com.cn,其中,com.cn是cn的子域名,父域名可以包含子域名,但是按照域名最長匹配,com.cn優(yōu)先匹配view2然后才去匹配包含其父域名cn的view0,因此,com.cn匹配View的順序是View2、View0。

同理,bbb.cn、aaa.cn、ccc.cn均分別匹配View1、View0。

經(jīng)過對圖3所示的DNS策略配置示例中的原始域名列表進(jìn)行合并后,得到圖5所示的域名列表。

假設(shè)共有n個DNS策略,且每個原始IP列表中包含n個IP段,每個原始域名列表中包含n個域名;n原始IP列表沒有重復(fù)的IP段,n個原始域名沒有重復(fù)的域名,則合并后的IP列表包含n*n個IP段,合并后的域名列表包含n*n個域名,因此,查詢目標(biāo)策略的復(fù)雜度為O(4(LOG2(n)))遠(yuǎn)遠(yuǎn)低于O(n*(LOG2(n)+LOG2(n)))。

在實(shí)際應(yīng)用中,原始IP列表和原始域名列表都會有重復(fù)的情況,例如圖3所示的示例原始IP列表的合并過程中需要拆分、合并;原始域名列表也會存在域名、子域名。因而,實(shí)際的復(fù)雜度并不是上述簡單的O(4(LOG2(n))),但在配置大量DNS策略的場景下,使用該方法能提高查詢性能。

需要說明的是,合并得到的IP列表及域名列表,可以采用二叉樹方式進(jìn)行存儲,為合并后的IP列表構(gòu)建二叉樹,二叉樹中節(jié)點(diǎn)的key值為IP地址/IP段(記錄起始地址、結(jié)束地址),節(jié)點(diǎn)的info值為View_id。為合并后的域名列表構(gòu)建二叉樹,二叉樹中節(jié)點(diǎn)的key值為域名,info值為View_id。

在本發(fā)明的其它實(shí)施方式中,還可以采用數(shù)組、hash表等其它存儲方式IP列表或域名列表。

本實(shí)施例提供的基于DNS視圖的DNS策略解析方法,將每個DNS策略對應(yīng)的原始IP列表合并成一個IP列表,以及,將每個DNS策略對應(yīng)的原始域名列表合并成一個域名列表。該方法將二元(IP和域名)匹配(IP和域名)轉(zhuǎn)化為兩個一元匹配,大大提高查詢效率,進(jìn)而提高DNS服務(wù)器的性能。該方法適用于DNS策略較多場景下的二元匹配,且DNS策略越多,性能提升越明顯;而且,該方法實(shí)施方便。

下面以兩個具體實(shí)例說明本申請?zhí)峁┑幕贒NS視圖的DNS策略解析方法的過程。

請參見圖6,示出了本發(fā)明實(shí)施例一種DNS策略解析實(shí)例的示意圖,本實(shí)例中,源IP地址是3.3.3.0,目標(biāo)域名是b.com.cn。

從IP列表中找到與3.3.3.0匹配的第一策略標(biāo)識集,3.3.3.0屬于IP列表中[3.3.3.0,3.3.3.255]網(wǎng)段的IP地址,因此,與3.3.3.0匹配的View是View0;

從域名列表中找到與b.com.cn匹配的第二策略標(biāo)識集,b.com.cn的父域名是com.cn,因此,與b.com.cn匹配的View是View2、View0,且View2的優(yōu)先級高于View0的優(yōu)先級。

從第一策略標(biāo)識集{View0}和第二策略標(biāo)識集{View2,View0}中查找相同的策略標(biāo)識為View0。

最終,確定與3.3.3.0、b.com.cn匹配的策略是View0對應(yīng)的策略。

請參見圖7,示出了本發(fā)明實(shí)施例另一種DNS策略解析實(shí)例的示意圖,本實(shí)例中,源IP地址是1.1.1.1,目標(biāo)域名是com.cn。

從IP列表中查找與1.1.1.1匹配的第一策略標(biāo)識集,1.1.1.1屬于[1.1.1.0,1.1.1.255]網(wǎng)段,因此,與1.1.1.1匹配的View是View0、View2;

從域名列表中找到與com.cn匹配的第二策略標(biāo)識集是View2、View0,且View2的優(yōu)先級高于View0的優(yōu)先級。

優(yōu)先滿足域名匹配需求,最終確定與1.1.1.1和com.cn匹配的策略是View2對應(yīng)的策略。

對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。

相應(yīng)于上述的基于DNS視圖的DNS策略解析方法實(shí)施例,本發(fā)明還提供了基于DNS視圖的DNS策略解析裝置實(shí)施例。

請參見圖8,示出了本發(fā)明實(shí)施例一種基于DNS視圖的DNS策略解析裝置的框圖,該裝置應(yīng)用于DNS服務(wù)器中,如圖8所示,該裝置包括:第一獲取模塊110、第一查詢模塊120、第二查詢模塊130和確定模塊140。

第一獲取模塊110,用于獲取接收到的DNS查詢請求對應(yīng)的源IP地址及目標(biāo)域名。

第一查詢模塊120,用于查詢預(yù)先創(chuàng)建的IP列表,得到與該源IP地址匹配的第一策略標(biāo)識集。

該IP列表包含所述DNS服務(wù)器中所有DNS策略對應(yīng)的源IP信息及每條所述源IP信息對應(yīng)的策略標(biāo)識。

第二查詢模塊130,用于查詢預(yù)先創(chuàng)建的域名列表,得到與該目標(biāo)域名匹配的第二策略標(biāo)識集。

該域名列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的域名及每個域名對應(yīng)的策略標(biāo)識。

確定模塊140,用于確定第一策略標(biāo)識集與第二策略標(biāo)識集中的相同策略標(biāo)識所對應(yīng)的策略為目標(biāo)策略。

在本發(fā)明一種可能的實(shí)現(xiàn)方式中,如果第一策略標(biāo)識集與第二策略標(biāo)識集中包含相同策略標(biāo)識的數(shù)量有多個時,確定優(yōu)先級最高的策略標(biāo)識對應(yīng)的策略為目標(biāo)策略。

如圖9所示,該確定模塊140包括:查找子模塊141和第一確定子模塊142。

查找子模塊141,用于查找第一策略標(biāo)識集和第二策略標(biāo)識集中的相同策略標(biāo)識。

第一確定子模塊142,用于當(dāng)相同策略標(biāo)識的數(shù)量為至少兩個時,確定全部的相同策略標(biāo)識中優(yōu)先級最高的策略標(biāo)識所對應(yīng)的策略為目標(biāo)策略。

在本發(fā)明一種應(yīng)用場景中,第一策略標(biāo)識集和第二策略標(biāo)識集中的相同的策略標(biāo)識的優(yōu)先級分別相同,此種應(yīng)用場景下,選取優(yōu)先級最高的策略標(biāo)識為目標(biāo)策略。

在本發(fā)明另一種應(yīng)用場景中,域名列表中的策略優(yōu)先級按照域名最長匹配原則得到,因此,可能存在第一策略標(biāo)識集與第二策略標(biāo)識集中匹配得到的相同策略標(biāo)識所對應(yīng)的優(yōu)先級可能不同。此種應(yīng)用場景下,確定模塊140包括第二確定子模塊,該第二確定子模塊優(yōu)先滿足域名匹配需求,最終確定與目標(biāo)域名匹配的策略標(biāo)識集中的第一個策略標(biāo)識對應(yīng)的策略為目標(biāo)策略。

本實(shí)施例提供的基于DNS視圖的DNS策略解析裝置,接收到用戶發(fā)送的DNS查詢請求后,利用第一獲取模塊獲取源IP地址及目標(biāo)域名;然后,由第一查詢模塊查詢IP列表得到與該源IP地址匹配的第一策略標(biāo)識集,該IP列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的源IP信息及每條源IP信息對應(yīng)的策略標(biāo)識;接著,由第二查詢模塊查詢域名列表,得到與該目標(biāo)域名匹配的第二策略標(biāo)識集,該域名列表包含DNS服務(wù)器中所有DNS策略對應(yīng)的域名及每個域名對應(yīng)的策略標(biāo)識。再由確定模塊比較第一策略標(biāo)識集與第二策略標(biāo)識集中的策略標(biāo)識,確定兩個標(biāo)識集中的相同策略標(biāo)識對應(yīng)的策略為目標(biāo)策略。該方法中的IP列表和域名列表分別包含DNS服務(wù)器中所有DNS策略對應(yīng)的IP信息和域名,只需查詢一個IP列表和一個域名列表,再比較第一策略標(biāo)識集合第二策略標(biāo)識集,即可獲得目標(biāo)策略。而不是遍歷每個策略的原始IP列表及原始域名列表,大大提高了獲得查詢效率,進(jìn)而減少了用戶等待DNS解析的時間,提高了用戶體驗(yàn)。

請參見圖10,示出了本發(fā)明實(shí)施例另一種基于DNS視圖的DNS策略解析裝置的框圖,本實(shí)施例將著重介紹創(chuàng)建IP列表和域名列表的過程。如圖10所示,該裝置在圖8所示實(shí)施例的基礎(chǔ)上還包括:第二獲取模塊210、第一合并模塊220、第三獲取模塊230和第二合并模塊240。

該第二獲取模塊210,用于獲取DNS服務(wù)器中各個DNS策略對應(yīng)的原始IP列表,以及各個原始IP列表對應(yīng)的策略標(biāo)識;

該第一合并模塊220,用于將各個原始IP列表中的源IP信息進(jìn)行合并,并對應(yīng)記錄合并后的每條源IP信息對應(yīng)的策略標(biāo)識,得到IP列表。

在本發(fā)明一種可能的實(shí)現(xiàn)方式中,如圖11所示,所述第一合并模塊220包括:第一合并子模塊221和拆分子模塊222。

第一合并子模塊221,用于將各個所述原始IP列表中包含相同IP段的源IP信息進(jìn)行合并,記錄所述相同IP段對應(yīng)的所有策略標(biāo)識,并按策略優(yōu)先級由高到低的順序進(jìn)行排序;

拆分子模塊222,用于將各個所述原始IP列表中具有包含關(guān)系的IP段,根據(jù)所包含的IP段進(jìn)行拆分,并分別記錄拆分后的子IP段對應(yīng)的策略標(biāo)識。

該第三獲取模塊230,用于獲取DNS服務(wù)器中各個DNS策略對應(yīng)的原始域名列表,以及各個原始域名列表對應(yīng)的策略標(biāo)識;

該第二合并模塊240,用于將各個原始域名列表中的域名進(jìn)行合并,并對應(yīng)記錄合并后的每個域名對應(yīng)的策略標(biāo)識,得到域名列表。

第二合并模塊包括第二合并子模塊,用于將各個原始域名列表中包含的相同域名進(jìn)行合并,并按照策略優(yōu)先級由高到低的順序記錄該相同域名對應(yīng)的策略標(biāo)識。

本實(shí)施例提供的基于DNS視圖的DNS策略解析裝置,將每個DNS策略對應(yīng)的原始IP列表合并成一個IP列表,以及,將每個DNS策略對應(yīng)的原始域名列表合并成一個域名列表。該裝置將二元(IP和域名)匹配(IP和域名)轉(zhuǎn)化為兩個一元匹配,大大提高查詢效率,進(jìn)而提高DNS服務(wù)器的性能。該方法適用于DNS策略較多場景下的二元匹配,且DNS策略越多,性能提升越明顯;而且,該裝置實(shí)施方便。

需要說明的是,本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。對于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

對所公開的實(shí)施例的上述說明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。

以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1