本申請(qǐng)涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及生成域名解析的方法、裝置及服務(wù)器。
背景技術(shù):
云服務(wù)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,隨著虛擬技術(shù)的發(fā)展,在云服務(wù)系統(tǒng)中,可以通過虛擬化技術(shù)在一臺(tái)云服務(wù)器的硬件平臺(tái)上虛擬出若干虛擬化平臺(tái),每個(gè)虛擬化平臺(tái)可以對(duì)應(yīng)一臺(tái)VM(Virtual Machine,虛擬機(jī))?,F(xiàn)有技術(shù)中,云服務(wù)器上的每臺(tái)VM都可以對(duì)應(yīng)一個(gè)網(wǎng)站的主域名,進(jìn)一步每個(gè)主域名下可能對(duì)應(yīng)多個(gè)子域名,為了使用戶可以訪問這些主域名或者子域名對(duì)應(yīng)的網(wǎng)站資源,生成域名解析的服務(wù)器需要為這些域名生成相應(yīng)的域名解析,以便將這些域名指向?qū)?yīng)網(wǎng)站的IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址,從而可以使用戶可以訪問到這些主域名或者子域名對(duì)應(yīng)的網(wǎng)站資源。
但是,生成域名解析的服務(wù)器在通過執(zhí)行解析任務(wù),為不同域名生成域名解析的過程中,由于同一域名的不同解析任務(wù)在執(zhí)行時(shí)會(huì)存在時(shí)間上的先后依賴關(guān)系,因此需要服務(wù)器對(duì)這些解析任務(wù)按照其產(chǎn)生的時(shí)間先后順序,進(jìn)行單隊(duì)列處理,從而在有大量解析任務(wù)并發(fā)時(shí),會(huì)導(dǎo)致生成域名解析的效率較低,浪費(fèi)服務(wù)器上的生成資源。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┥捎蛎馕龅姆椒?、裝置及服務(wù)器,以解決現(xiàn)有生成域名 解析的效率較低,容易浪費(fèi)服務(wù)器上生成資源的問題。
根據(jù)本申請(qǐng)實(shí)施例的第一方面,提供一種生成域名解析的方法,所述方法包括:
從緩存隊(duì)列中獲取不同域名的原始解析任務(wù);
按照預(yù)設(shè)規(guī)則對(duì)所述原始解析任務(wù)進(jìn)行合并,生成所述不同域名的獨(dú)立解析任務(wù);
通過對(duì)所述獨(dú)立解析任務(wù)進(jìn)行分布式處理,生成不同域名的域名解析。
根據(jù)本申請(qǐng)實(shí)施例的第二方面,提供一種生成域名解析的裝置,所述裝置包括:
獲取單元,用于從緩存隊(duì)列中獲取不同域名的原始解析任務(wù);
合并單元,用于按照預(yù)設(shè)規(guī)則對(duì)所述原始解析任務(wù)進(jìn)行合并,生成所述不同域名的獨(dú)立解析任務(wù);
生成單元,用于通過對(duì)所述獨(dú)立解析任務(wù)進(jìn)行分布式處理,生成不同域名的域名解析。
根據(jù)本申請(qǐng)實(shí)施例的第三方面,提供一種服務(wù)器,包括:
處理器;用于存儲(chǔ)所述處理器可執(zhí)行指令的存儲(chǔ)器;
其中,所述處理器被配置為:
從緩存隊(duì)列中獲取不同域名的原始解析任務(wù);
按照預(yù)設(shè)規(guī)則對(duì)所述原始解析任務(wù)進(jìn)行合并,生成所述不同域名的獨(dú)立解析任務(wù);
通過對(duì)所述獨(dú)立解析任務(wù)進(jìn)行分布式處理,生成不同域名的域名解析。
應(yīng)用本申請(qǐng)實(shí)施例,通過對(duì)原始解析任務(wù)進(jìn)行緩存,因此可以對(duì)緩存的原始解析任務(wù)進(jìn)行統(tǒng)一分析,從而可以將在時(shí)間上具有依賴關(guān)系的原始解析任務(wù)進(jìn)行合并,生成獨(dú)立解析任務(wù),并且獨(dú)立解析任務(wù)之間可以采用分布式處理方式,進(jìn)行并行處理從而生成不同域名的域名解析。由于通過對(duì)原始解析任務(wù)合并可以減少需要處理的解析任務(wù)的數(shù)量,并且由于無需對(duì)合并后的獨(dú)立解析任務(wù)進(jìn)行單隊(duì)列處理,而是采用分布式處理方式對(duì)不同的獨(dú)立解析 任務(wù)進(jìn)行并行處理,因此在充分利用服務(wù)器上的生成資源的同時(shí),有效提高了域名解析的生成效率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本申請(qǐng)。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本申請(qǐng)的實(shí)施例,并與說明書一起用于解釋本申請(qǐng)的原理。
圖1為本申請(qǐng)生成域名解析的應(yīng)用場(chǎng)景示意圖;
圖2為本申請(qǐng)生成域名解析的方法的一個(gè)實(shí)施例流程圖;
圖3A為本申請(qǐng)生成域名解析的方法的另一個(gè)實(shí)施例流程圖
圖3B為圖3A中對(duì)獨(dú)立解析任務(wù)進(jìn)行分布式處理的示意圖;
圖4為本申請(qǐng)生成域名解析的裝置所在服務(wù)器的一種硬件結(jié)構(gòu)圖;
圖5為本申請(qǐng)生成域名解析的裝置的一個(gè)實(shí)施例框圖;
圖6為本申請(qǐng)生成域名解析的裝置的另一個(gè)實(shí)施例框圖。
具體實(shí)施方式
在本申請(qǐng)使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng) 于確定”。
參見圖1,為應(yīng)用本申請(qǐng)實(shí)施例生成域名解析的應(yīng)用場(chǎng)景示意圖:
圖1中示出了一種云服務(wù)系統(tǒng),本申請(qǐng)實(shí)施例基于該云服務(wù)系統(tǒng)生成域名解析,該云服務(wù)器系統(tǒng)中包括云服務(wù)器和生成域名解析的服務(wù)器(后續(xù)本申請(qǐng)實(shí)施例中簡(jiǎn)稱為生成服務(wù)器)。其中,在云服務(wù)器上設(shè)置了n(n為大于1的自然數(shù))個(gè)VM,每個(gè)VM可以提供給一個(gè)網(wǎng)站,用于存儲(chǔ)該網(wǎng)站的網(wǎng)站資源,每個(gè)網(wǎng)站通過所分配的IP地址進(jìn)行標(biāo)識(shí)。用戶可以通過輸入網(wǎng)站注冊(cè)的域名對(duì)網(wǎng)站資源進(jìn)行訪問,在訪問過程中DNS服務(wù)器可以將域名轉(zhuǎn)換為網(wǎng)站的IP地址,從而完成對(duì)上述訪問。由此可知,要實(shí)現(xiàn)用戶通過域名訪問到不同的網(wǎng)站資源,需要生成服務(wù)器預(yù)先執(zhí)行不同域名的解析任務(wù),從而為不同域名生成域名解析,以便后續(xù)遵循生成的域名解析結(jié)果完成從域名到IP地址的轉(zhuǎn)換。
現(xiàn)有技術(shù)中生成服務(wù)器在生成每個(gè)域名的域名解析時(shí),采用單隊(duì)列處理方式執(zhí)行不同域名的解析任務(wù),因此效率較低。本申請(qǐng)實(shí)施例中,生成服務(wù)器可以對(duì)不同域名的解析任務(wù)進(jìn)行合并,并采用分布式隊(duì)列處理合并后的解析任務(wù),因此處理效率較高,可以充分利用生成服務(wù)器上的解析資源。下面結(jié)合附圖對(duì)本申請(qǐng)生成域名解析的實(shí)施例進(jìn)行詳細(xì)描述。
參見圖2,為本申請(qǐng)生成域名解析的方法的一個(gè)實(shí)施例流程圖,該實(shí)施例從生成服務(wù)器側(cè)進(jìn)行描述:
步驟201:從緩存隊(duì)列中獲取不同域名的原始解析任務(wù)。
生成服務(wù)器在為不同域名生成域名解析的過程中,每個(gè)域名都會(huì)對(duì)應(yīng)多個(gè)解析任務(wù),通過執(zhí)行這些解析任務(wù),從而生成域名解析。這些解析任務(wù)可以包括:配置A(Address,地址)記錄的解析任務(wù),A記錄用于指定域名對(duì)應(yīng)的IP地址;配置CNAME(別名)記錄的解析任務(wù),CNAME記錄用于將多個(gè)域名映射到同一IP地址;配置MX(Mailbox,郵箱)記錄的解析任務(wù),MX記錄用于指示域名對(duì)應(yīng)的郵件服務(wù)器的路由;上述解析任務(wù)的具體內(nèi)容和配置方式與現(xiàn)有技術(shù)一致,在此不再贅述。
本申請(qǐng)實(shí)施例中的生成服務(wù)器上可以預(yù)先設(shè)置緩存隊(duì)列,當(dāng)接收到不同域名的解析任務(wù)后,可以按照接收的時(shí)間先后順序?qū)⑦@些解析任務(wù)添加到緩存隊(duì)列中,當(dāng)要生成域名解析時(shí),生成服務(wù)器可以從緩存隊(duì)列中獲取已緩存的解析任務(wù),為了區(qū)別于后續(xù)經(jīng)過合并處理的解析任務(wù),將緩存隊(duì)列中緩存的解析任務(wù)稱為原始解析任務(wù)。
步驟202:按照預(yù)設(shè)規(guī)則對(duì)原始解析任務(wù)進(jìn)行合并,生成不同域名的獨(dú)立解析任務(wù)。
由于緩存隊(duì)列中緩存了不同域名的多個(gè)解析任務(wù),因此可以先分別獲取這些原始解析任務(wù)中屬于同一域名的原始解析任務(wù),此時(shí)可以以不同的域名為關(guān)鍵字從緩存隊(duì)列中搜索出屬于同一域名的解析任務(wù);對(duì)于同一域名的原始解析任務(wù),可以分析這些原始解析任務(wù)中屬于同一RR(Resource Record,資源記錄)類型的原始解析任務(wù),其中RR類型可以包括:WWW類型和mail類型;通常屬于同一RR類型的原始解析任務(wù)中存在時(shí)間上具有依賴關(guān)系的解析任務(wù),因此可以將屬于同一RR類型的原始解析任務(wù)進(jìn)行合并,生成同一RR類型對(duì)應(yīng)的獨(dú)立解析任務(wù),例如,域名A下包含兩條屬于WWW類型的解析任務(wù),分別為配置A記錄和配置CNAME記錄,由于上述兩個(gè)解析任務(wù)沖突,即同一域名不能同時(shí)即配置A記錄又配置CNAME記錄,因此保留優(yōu)先級(jí)較高的配置A記錄的解析任務(wù),并刪除配置CNAME記錄的解析任務(wù),從而完成將屬于同一RR類型的兩條原始解析任務(wù)合并為一條該RR類型對(duì)應(yīng)的獨(dú)立解析任務(wù)。
步驟203:通過對(duì)獨(dú)立解析任務(wù)進(jìn)行分布式處理,生成不同域名的域名解析。
本實(shí)施例中,可以將合并后的獨(dú)立解析任務(wù)中的每個(gè)獨(dú)立解析任務(wù)下發(fā)給對(duì)應(yīng)的分布式處理隊(duì)列,然后調(diào)用每個(gè)分布式處理隊(duì)列對(duì)應(yīng)的解析生產(chǎn)線程對(duì)每個(gè)分布式處理隊(duì)列中的獨(dú)立解析任務(wù)進(jìn)行解析,生成對(duì)應(yīng)的域名解析,將所生成的屬于同一域名的域名解析進(jìn)行匯總,得到對(duì)應(yīng)同一域名的域名解析。其中,對(duì)不同的獨(dú)立解析任務(wù)進(jìn)行解析的方式與現(xiàn)有技術(shù)中的描述一致, 在此不再贅述,本申請(qǐng)實(shí)施例與現(xiàn)有采用單隊(duì)列方式處理解析任務(wù)的不同在于,采用分布式處理隊(duì)列對(duì)多個(gè)獨(dú)立解析任務(wù)進(jìn)行并行處理,從而提高域名解析的生成效率。
由上述實(shí)施例可見,該實(shí)施例通過對(duì)原始解析任務(wù)進(jìn)行緩存,因此可以對(duì)緩存的原始解析任務(wù)進(jìn)行統(tǒng)一分析,從而可以將在時(shí)間上具有依賴關(guān)系的原始解析任務(wù)進(jìn)行合并,生成獨(dú)立解析任務(wù),并且獨(dú)立解析任務(wù)之間可以采用分布式處理方式,進(jìn)行并行處理從而生成不同域名的域名解析。由于通過對(duì)原始解析任務(wù)合并可以減少需要處理的解析任務(wù)的數(shù)量,并且由于無需對(duì)合并后的獨(dú)立解析任務(wù)進(jìn)行單隊(duì)列處理,而是采用分布式處理方式對(duì)不同的獨(dú)立解析任務(wù)進(jìn)行并行處理,因此在充分利用服務(wù)器上的生成資源的同時(shí),有效提高了域名解析的生成效率。
參見圖3A,為本申請(qǐng)生成域名解析的方法的另一個(gè)實(shí)施例流程圖,該實(shí)施例對(duì)生成域名解析的過程進(jìn)行詳細(xì)描述:
步驟301:接收不同域名的原始解析任務(wù)。
結(jié)合圖1可知,本申請(qǐng)實(shí)施例可以在生成服務(wù)器上完成,生成服務(wù)器與云服務(wù)器進(jìn)行通信,統(tǒng)一為云服務(wù)器上不同VM所對(duì)應(yīng)網(wǎng)站的注冊(cè)域名生成域名解析,其中每個(gè)域名都會(huì)對(duì)應(yīng)多個(gè)解析任務(wù),通過執(zhí)行這些解析任務(wù),從而生成域名解析。這些解析任務(wù)可以包括:配置A記錄的解析任務(wù),A記錄用于指定域名對(duì)應(yīng)的IP地址;配置CNAME記錄的解析任務(wù),CNAME記錄用于將多個(gè)域名映射到同一IP地址;配置MX記錄的解析任務(wù),MX記錄用于指示域名對(duì)應(yīng)的郵件服務(wù)器的路由;上述解析任務(wù)的具體內(nèi)容和配置方式與現(xiàn)有技術(shù)一致,在此不再贅述。其中,為了區(qū)別于后續(xù)經(jīng)過合并處理的解析任務(wù),將合并處理前接收到的解析任務(wù)稱為原始解析任務(wù)。
步驟302:將原始解析任務(wù)按照接收的時(shí)間先后順序添加到緩存隊(duì)列中。
生成服務(wù)器上預(yù)先設(shè)置了緩存隊(duì)列,該緩存隊(duì)列用于緩存不同域名的原始解析任務(wù)。當(dāng)生成服務(wù)器接收到不同域名的原始解析任務(wù)后,可以將原始解析任務(wù)按照接收的時(shí)間先后順序添加到上述緩存隊(duì)列中。
步驟303:從緩存隊(duì)列中獲取不同域名的原始解析任務(wù)。
步驟304:分別獲取原始解析任務(wù)中屬于同一域名的原始解析任務(wù)。
由于緩存隊(duì)列中緩存了不同域名的多個(gè)解析任務(wù),因此在從緩存隊(duì)列中獲取到不同域名的原始解析任務(wù)后,可以以不同的域名為關(guān)鍵字從緩存隊(duì)列中搜索出屬于同一域名的原始解析任務(wù)。
步驟305:分析同一域名的原始解析任務(wù)中,屬于同一RR類型的原始解析任務(wù)。
對(duì)于同一域名的原始解析任務(wù),可以分析這些原始解析任務(wù)中屬于同一RR類型的原始解析任務(wù),以便后續(xù)對(duì)同一RR類型的原始解析任務(wù)進(jìn)行合并。其中RR類型可以包括:WWW類型和mail類型。
步驟306:將屬于同一RR類型的原始解析任務(wù)進(jìn)行合并,生成同一RR類型對(duì)應(yīng)的獨(dú)立解析任務(wù)。
通常屬于同一RR類型的原始解析任務(wù)中存在時(shí)間上具有依賴關(guān)系的解析任務(wù),因此可以將屬于同一RR類型的原始解析任務(wù)進(jìn)行合并,生成同一RR類型對(duì)應(yīng)的獨(dú)立解析任務(wù),以消除原始解析任務(wù)之間的相關(guān)性和沖突性。
在一個(gè)可選的實(shí)現(xiàn)方式中:
生成服務(wù)器可以分析同一RR類型的原始解析任務(wù)中,屬于同一解析任務(wù)類型的原始解析任務(wù),其中RR類型為WWW類型的解析任務(wù)類型可以包括:A記錄、CNAME記錄等;當(dāng)屬于同一解析任務(wù)類型的原始解析任務(wù)之間具有依賴關(guān)系時(shí),可以從屬于同一解析任務(wù)類型的原始解析任務(wù)中選擇最后一個(gè)加入緩存隊(duì)列的解析任務(wù)作為獨(dú)立解析任務(wù),刪除屬于同一解析任務(wù)類型的原始解析任務(wù)中除獨(dú)立解析任務(wù)的其他原始解析任務(wù)。例如,從緩存隊(duì)列中獲取到兩條域名為“my3w.com”,RR類型為“WWW”的A記錄解析任務(wù),按照其加入緩存隊(duì)列的先后順序分別為將“www.my3w.com”的A記錄配置為指向IP地址“1.2.3.4”,以及將“www.my3w.com”的A記錄配置為指向IP地址“2.2.2.2”,此時(shí)可以根據(jù)時(shí)間先后順序,保留將“www.my3w.com”的A記錄配置為指向IP地址“2.2.2.2”,并刪除將 “www.my3w.com”的A記錄配置為指向IP地址“1.2.3.4”。
在另一個(gè)可選的實(shí)現(xiàn)方式中:
當(dāng)屬于同一RR類型的原始解析任務(wù)之間具有沖突關(guān)系時(shí),生成服務(wù)器可以保留同一RR類型的原始解析任務(wù)中優(yōu)先級(jí)最高的原始解析任務(wù)作為獨(dú)立解析任務(wù),并刪除屬于同一RR類型的原始解析任務(wù)中除所述獨(dú)立解析任務(wù)的其他原始解析任務(wù)。例如,從緩存隊(duì)列中分別獲取到兩條域名為“my3w.com”,RR類型為“WWW”的A記錄解析任務(wù)和CNAME解析任務(wù),其中配置A記錄的解析任務(wù)需要將“www.my3w.com”指向IP地址1,而配置CNAME的解析任務(wù)需要將“www.my3w.com”指向IP地址2,因此上述兩個(gè)解析任務(wù)之間發(fā)生沖突,由于A記錄的解析任務(wù)優(yōu)先級(jí)高于CNAME記錄的解析任務(wù),因此保留將“www.my3w.com”指向IP地址1,完成配置A記錄的解析任務(wù),并且從緩存隊(duì)列中刪除為“www.my3w.com”配置CNAME記錄的解析任務(wù)。
步驟307:將獨(dú)立解析任務(wù)中的每個(gè)獨(dú)立解析任務(wù)下發(fā)給對(duì)應(yīng)的分布式處理隊(duì)列。
在通過前述步驟306的合并處理后,緩存隊(duì)列中原來緩存的原始解析任務(wù)之間消除了沖突和依賴,生成了若干獨(dú)立解析任務(wù)。本步驟中,將若干獨(dú)立解析任務(wù)分別下發(fā)給對(duì)應(yīng)的分布式處理隊(duì)列進(jìn)行處理。
步驟308:調(diào)用每個(gè)分布式處理隊(duì)列對(duì)應(yīng)的解析生產(chǎn)線程對(duì)每個(gè)分布式處理隊(duì)列中的獨(dú)立解析任務(wù)進(jìn)行解析,生成對(duì)應(yīng)的域名解析。
步驟309:將所生成的屬于同一域名的域名解析進(jìn)行匯總,得到對(duì)應(yīng)同一域名的域名解析。
參見圖3B,為上述步驟307至步驟309中對(duì)獨(dú)立解析任務(wù)進(jìn)行分布式處理的示意圖。本實(shí)施例中調(diào)用解析生產(chǎn)線程對(duì)獨(dú)立解析任務(wù)進(jìn)行解析的方式與現(xiàn)有技術(shù)中的描述一致,在此不再贅述。
由上述實(shí)施例可見,該實(shí)施例通過對(duì)原始解析任務(wù)進(jìn)行緩存,因此可以對(duì)緩存的原始解析任務(wù)進(jìn)行統(tǒng)一分析,從而可以將在時(shí)間上具有依賴關(guān)系的 原始解析任務(wù)進(jìn)行合并,生成獨(dú)立解析任務(wù),并且獨(dú)立解析任務(wù)之間可以采用分布式處理方式,進(jìn)行并行處理從而生成不同域名的域名解析。由于通過對(duì)原始解析任務(wù)合并可以減少需要處理的解析任務(wù)的數(shù)量,并且由于無需對(duì)合并后的獨(dú)立解析任務(wù)進(jìn)行單隊(duì)列處理,而是采用分布式處理方式對(duì)不同的獨(dú)立解析任務(wù)進(jìn)行并行處理,因此在充分利用服務(wù)器上的生成資源的同時(shí),有效提高了域名解析的生成效率。
本申請(qǐng)生成域名解析的裝置的實(shí)施例可以應(yīng)用在生成服務(wù)器上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖4所示,為本申請(qǐng)生成域名解析的裝置所在生成服務(wù)器的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的生成服務(wù)器通常根據(jù)器實(shí)際功能,還可以包括其他硬件,圖4中不再一一示出。
參見圖5,為本申請(qǐng)生成域名解析的裝置的一個(gè)實(shí)施例框圖:
該裝置包括:獲取單元510、合并單元520和生成單元530。
期中,獲取單元510,用于從緩存隊(duì)列中獲取不同域名的原始解析任務(wù);
合并單元520,用于按照預(yù)設(shè)規(guī)則對(duì)所述原始解析任務(wù)進(jìn)行合并,生成所述不同域名的獨(dú)立解析任務(wù);
生成單元530,用于通過對(duì)所述獨(dú)立解析任務(wù)進(jìn)行分布式處理,生成不同域名的域名解析。
參見圖6,為本申請(qǐng)生成域名解析的裝置的另一個(gè)實(shí)施例框圖:
該裝置包括:接收單元610、添加單元620、獲取單元630、合并單元640和生成單元650。
其中,接收單元610,用于接收不同域名的原始解析任務(wù);
添加單元620,用于將所述原始解析任務(wù)按照接收的時(shí)間先后順序添加到所述緩存隊(duì)列中;
獲取單元630,用于從緩存隊(duì)列中獲取不同域名的原始解析任務(wù);
合并單元640,用于按照預(yù)設(shè)規(guī)則對(duì)所述原始解析任務(wù)進(jìn)行合并,生成所述不同域名的獨(dú)立解析任務(wù);
生成單元650,用于通過對(duì)所述獨(dú)立解析任務(wù)進(jìn)行分布式處理,生成不同域名的域名解析。
在一個(gè)可選的實(shí)現(xiàn)方式中:
所述合并單元640可以包括(圖6中未示出):
任務(wù)獲取子單元,用于分別獲取所述原始解析任務(wù)中屬于同一域名的原始解析任務(wù);
任務(wù)分析子單元,用于分析所述同一域名的原始解析任務(wù)中,屬于同一資源記錄RR類型的原始解析任務(wù);
任務(wù)合并子單元,用于將所述屬于同一RR類型的原始解析任務(wù)進(jìn)行合并,生成所述同一RR類型對(duì)應(yīng)的獨(dú)立解析任務(wù)。
在另一個(gè)可選的實(shí)現(xiàn)方式中:
所述任務(wù)合并子單元,可以具體用于分析所述同一RR類型的原始解析任務(wù)中,屬于同一解析任務(wù)類型的原始解析任務(wù),當(dāng)所述屬于同一解析任務(wù)類型的原始解析任務(wù)之間具有依賴關(guān)系時(shí),從所述屬于同一解析任務(wù)類型的原始解析任務(wù)中選擇最后一個(gè)加入所述緩存隊(duì)列的解析任務(wù)作為獨(dú)立解析任務(wù),并刪除所述屬于同一解析任務(wù)類型的原始解析任務(wù)中除所述獨(dú)立解析任務(wù)的其他原始解析任務(wù)。
在另一個(gè)可選的實(shí)現(xiàn)方式中:
所述任務(wù)合并子單元,可以具體用于當(dāng)所述屬于同一RR類型的原始解析任務(wù)之間具有沖突關(guān)系時(shí),保留所述同一RR類型的原始解析任務(wù)中優(yōu)先級(jí)最高的原始解析任務(wù)作為獨(dú)立解析任務(wù),并刪除所述屬于同一RR類型的原始解析任務(wù)中除所述獨(dú)立解析任務(wù)的其他原始解析任務(wù)。
在另一個(gè)可選的實(shí)現(xiàn)方式中:
所述生成單元650可以包括(圖6中未示出):
任務(wù)下發(fā)子單元,用于將所述獨(dú)立解析任務(wù)中的每個(gè)獨(dú)立解析任務(wù)下發(fā)給對(duì)應(yīng)的分布式處理隊(duì)列;
線程調(diào)用子單元,用于調(diào)用每個(gè)分布式處理隊(duì)列對(duì)應(yīng)的解析生產(chǎn)線程對(duì)每個(gè)分布式處理隊(duì)列中的獨(dú)立解析任務(wù)進(jìn)行解析,生成對(duì)應(yīng)的域名解析;
匯總生成子單元,用于將所生成的屬于同一域名的域名解析進(jìn)行匯總,得到對(duì)應(yīng)同一域名的域名解析。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
由上述實(shí)施例可見,通過對(duì)原始解析任務(wù)進(jìn)行緩存,因此可以對(duì)緩存的原始解析任務(wù)進(jìn)行統(tǒng)一分析,從而可以將在時(shí)間上具有依賴關(guān)系的原始解析任務(wù)進(jìn)行合并,生成獨(dú)立解析任務(wù),并且獨(dú)立解析任務(wù)之間可以采用分布式處理方式,進(jìn)行并行處理從而生成不同域名的域名解析。由于通過對(duì)原始解析任務(wù)合并可以減少需要處理的解析任務(wù)的數(shù)量,并且由于無需對(duì)合并后的獨(dú)立解析任務(wù)進(jìn)行單隊(duì)列處理,而是采用分布式處理方式對(duì)不同的獨(dú)立解析任務(wù)進(jìn)行并行處理,因此在充分利用服務(wù)器上的生成資源的同時(shí),有效提高了域名解析的生成效率。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本申請(qǐng)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本申請(qǐng)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請(qǐng)的一般性原理并包括本申請(qǐng)未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被 視為示例性的,本申請(qǐng)的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本申請(qǐng)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請(qǐng)的范圍僅由所附的權(quán)利要求來限制。