專利名稱:一種服務(wù)器迭代查詢方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IMS(IP Multimedia Subsystem, IP多媒體子系統(tǒng))網(wǎng)絡(luò)的 ENUM(Telephone Number Mapping working group, %iS ^54 H^MX# ) /DNS (Domain Name System,域名系統(tǒng))服務(wù)器領(lǐng)域,更具體地,涉及一種服務(wù)器迭代查詢方法及系統(tǒng)。
背景技術(shù):
中國(guó)移動(dòng)通信企業(yè)標(biāo)準(zhǔn)中,《中國(guó)移動(dòng)ENUM-DNS接口和設(shè)備規(guī)范》指出一級(jí) ENUM/DNS服務(wù)器與二級(jí)ENUM/DNS服務(wù)器之間的查詢方式有兩種遞歸查詢(必選)和迭 代方式(可選)。ENUM/DNS服務(wù)器接收到一個(gè)迭代形式的查詢后,需要給出最終的查詢結(jié)果或者失 敗結(jié)果?!吨袊?guó)移動(dòng)ENUM-DNS接口和設(shè)備規(guī)范》中提到,如果在本服務(wù)器查詢不到,需要在應(yīng) 答中返回權(quán)威服務(wù)器的域名和IP地址。前ENUM/DNS服務(wù)器再向應(yīng)答中返回的權(quán)威ENUM/ DNS服務(wù)器查詢,直到獲取查詢結(jié)果?,F(xiàn)有服務(wù)器的查詢方式存在如下問(wèn)題在整個(gè)IMS系統(tǒng)中,一級(jí)ENUM/DNS服務(wù)器 往往只有一套,從而很容易導(dǎo)致一級(jí)ENUM/DNS服務(wù)器的負(fù)荷過(guò)大。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問(wèn)題是提供一種服務(wù)器迭代查詢方法及系統(tǒng),有效減少一級(jí) ENUM/DNS服務(wù)器的負(fù)擔(dān),提高了查詢的響應(yīng)速度。為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種服務(wù)器迭代查詢方法,所述方法包括二級(jí)電話號(hào)碼映射工作組/域名系統(tǒng)(ENUM/DNS)服務(wù)器收到客戶端的迭代查 詢請(qǐng)求時(shí),首先進(jìn)行本地?cái)?shù)據(jù)查詢,本地?cái)?shù)據(jù)查詢失敗后,則在本地緩存中查詢目標(biāo)二級(jí) ENUM/DNS服務(wù)器的地址信息,如果查詢成功,則根據(jù)查詢到的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的 地址信息直接向所述目標(biāo)二級(jí)ENUM/DNS服務(wù)器發(fā)起查詢;否則,向一級(jí)ENUM/DNS服務(wù)器發(fā) 起查詢,并將所述一級(jí)ENUM/DNS服務(wù)器返回的相關(guān)域名稱及地址信息緩存到本地。進(jìn)一步地,所述二級(jí)ENUM/DNS服務(wù)器向所述一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢時(shí),所 述一級(jí)ENUM/DNS服務(wù)器首先向數(shù)據(jù)庫(kù)發(fā)起域名服務(wù)器(NS)查詢,收到NS查詢結(jié)果后,將 NS查詢結(jié)果中的目標(biāo)二級(jí)ENUM/DNS服務(wù)器名稱(nameserver)及與客戶端的查詢名相關(guān) 的名稱(name)放入權(quán)威服務(wù)器域名信息(Authority)中,并用所述NS查詢結(jié)果中的所述 nameserver向數(shù)據(jù)庫(kù)發(fā)起地址查詢(A查詢);收到A查詢結(jié)果后,將A查詢結(jié)果中的目標(biāo) 二級(jí)ENUM/DNS服務(wù)器的IP地址信息放入權(quán)威服務(wù)器地址信息(Additional)中,最后將所 述Authority和Additional返回給所述二級(jí)ENUM/DNS服務(wù)器。進(jìn)一步地,所述二級(jí)ENUM/DNS服務(wù)器收到所述Authority和Additional后,將所 述Authority中的name字段及Additional中的IP地址信息緩存到域名-地址信息映射 表中,在收到迭代查詢請(qǐng)求后,通過(guò)以下方式在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器 的地址信息
根據(jù)所述域名-地址信息映射表中的name字段與所述迭代查詢請(qǐng)求中的號(hào)碼或 域名進(jìn)行匹配,如果匹配到,則匹配到的name字段所對(duì)應(yīng)的IP地址信息即為所述目標(biāo)二級(jí) ENUM/DNS服務(wù)器的地址信息,查詢成功。進(jìn)一步地,所述二級(jí)ENUM/DNS服務(wù)器采用如下匹配方式對(duì)所述迭代查詢請(qǐng)求中 的號(hào)碼進(jìn)行匹配將所述號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“類別(zone) +逆序號(hào)段”的形式后,通過(guò) 左匹配的方式,根據(jù)所述域名-地址信息映射表中的name字段與所述轉(zhuǎn)換后的形式進(jìn)行匹 配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。進(jìn)一步地,所述二級(jí)ENUM/DNS服務(wù)器采用如下匹配方式對(duì)所述迭代查詢請(qǐng)求中 的域名進(jìn)行匹配將所述迭代查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名_地址信息映射 表中的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。進(jìn)一步地,所述一級(jí)ENUM/DNS服務(wù)器在向數(shù)據(jù)庫(kù)發(fā)起NS查詢時(shí),采用如下匹配方 式對(duì)NS查詢請(qǐng)求中的號(hào)碼或域名進(jìn)行匹配將所述NS查詢請(qǐng)求中的號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“zone+逆序號(hào)段”的形式 后,通過(guò)左匹配的方式,根據(jù)所述域名-地址信息映射表中的name字段與所述轉(zhuǎn)換后的形 式進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果;將所述NS查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名-地址信息映射表 中的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)^ ο本發(fā)明還提供了一種服務(wù)器迭代查詢系統(tǒng),所述系統(tǒng)包括二級(jí)ENUM/DNS服務(wù)器, 所述二級(jí)ENUM/DNS服務(wù)器進(jìn)一步包括地址信息緩存模塊、地址信息查詢模塊,所述地址信息查詢模塊用于,收到迭代查詢請(qǐng)求時(shí),首先進(jìn)行本地?cái)?shù)據(jù)查詢,本地 數(shù)據(jù)查詢失敗后,則在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息,如果查詢成 功,則根據(jù)查詢到的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息直接向所述目標(biāo)二級(jí)ENUM/DNS 服務(wù)器發(fā)起查詢;否則,向一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢;所述地址信息緩存模塊用于,對(duì)收到的所述一級(jí)ENUM/DNS服務(wù)器返回的相關(guān)域 名稱及地址信息進(jìn)行緩存。此外,所述系統(tǒng)還包括一級(jí)ENUM/DNS服務(wù)器中的查詢處理模塊,所述查詢處理模塊用于,收到所述地址信息查詢模塊發(fā)起的查詢時(shí),首先向數(shù) 據(jù)庫(kù)發(fā)起NS查詢,收到NS查詢結(jié)果后,將NS查詢結(jié)果中的nameserver及name放入 Authority中,并用NS查詢結(jié)果中的nameserver向數(shù)據(jù)庫(kù)發(fā)起A查詢;收到A查詢結(jié)果后, 將A查詢結(jié)果中的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的IP地址信息放入Additional中,最后將所 述Authority和Additional返回給所述地址信息查詢模塊;所述地址信息緩存模塊進(jìn)一步用于,收到所述Authority和Additional后,將所 述Authority中的name字段及Additional中的IP地址信息緩存到域名-地址信息映射表中。此外,所述地址信息查詢模塊進(jìn)一步用于,通過(guò)以下方式在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息根據(jù)所述域名-地址信息映射表中的name字段與所述迭代查詢請(qǐng)求中的號(hào)碼或 域名進(jìn)行匹配,如果匹配到,則匹配到的name字段所對(duì)應(yīng)的IP地址信息即為所述目標(biāo)二級(jí) ENUM/DNS服務(wù)器的地址信息,查詢成功。此外,所述地址信息查詢模塊進(jìn)一步用于,采用如下匹配方式對(duì)所述迭代查詢請(qǐng) 求中的號(hào)碼進(jìn)行匹配將所述號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“zone+逆序號(hào)段”的形式后,通過(guò)左匹配的 方式,根據(jù)所述域名_地址信息映射表中的name字段與所述轉(zhuǎn)換后的形式進(jìn)行匹配,并將 匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。此外,所述地址信息查詢模塊進(jìn)一步用于,采用如下匹配方式對(duì)所述迭代查詢請(qǐng) 求中的域名進(jìn)行匹配將所述迭代查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名_地址信息映射 表中的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。此外,所述查詢處理模塊進(jìn)一步用于,在向數(shù)據(jù)庫(kù)發(fā)起NS查詢時(shí),采用如下匹配 方式對(duì)NS查詢請(qǐng)求中的號(hào)碼或域名進(jìn)行匹配將所述NS查詢請(qǐng)求中的號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“zone+逆序號(hào)段”的形式 后,通過(guò)左匹配的方式,根據(jù)所述域名-地址信息映射表中的name字段與所述轉(zhuǎn)換后的形 式進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果;將所述NS查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名_地址信息映射表 中的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。與現(xiàn)有技術(shù)相比,本發(fā)明至少具有如下特點(diǎn)本發(fā)明在二級(jí)ENUM/DNS服務(wù)器采用緩存技術(shù),二級(jí)ENUM/DNS服務(wù)器在收到迭代 查詢請(qǐng)求后,如果在緩存中查到目標(biāo)二級(jí)ENUM/DNS服務(wù)器IP地址,則直接將查詢請(qǐng)求轉(zhuǎn)向 目標(biāo)二級(jí)ENUM/DNS服務(wù)器,不需要再去一級(jí)ENUM/DNS服務(wù)器查詢,從而能夠有效減少一級(jí) ENUM/DNS服務(wù)器的負(fù)擔(dān);采用本發(fā)明方案的以及和二級(jí)ENUM/DNS服務(wù)器,分工明確,在發(fā)起查詢的二級(jí) ENUM/DNS服務(wù)器上就可以了解整個(gè)查詢的流程;此外,一級(jí)ENUM/DNS服務(wù)器將NS (Name Server,域名服務(wù)器)查詢結(jié)果中的與客 戶端的查詢名相關(guān)的名稱(name)放入權(quán)威服務(wù)器域名信息(Authority)字段中,然后用NS 查詢結(jié)果中的nameserver發(fā)起A (Address,地址)查詢,最后將A查詢的結(jié)果(nameserver 對(duì)應(yīng)的IP地址)放入權(quán)威服務(wù)器地址信息(Additional)字段中,返回給二級(jí)ENUM-DNS服 務(wù)器。從而避免了二級(jí)ENUM-DNS服務(wù)器分別向一級(jí)ENUM-DNS服務(wù)器發(fā)起NS查詢和A查 詢,從而簡(jiǎn)化了查詢的流程,且有效地減少了一級(jí)ENUM/DNS服務(wù)器的負(fù)擔(dān),提高了系統(tǒng)的 可靠性。
圖1為現(xiàn)有技術(shù)的迭代查詢系統(tǒng)的總體架構(gòu)圖2為本發(fā)明實(shí)施例的迭代查詢的流程示意圖;圖3為本發(fā)明實(shí)施例的一級(jí)ENUM/DNS服務(wù)器的迭代查詢流程示意圖;圖4為本發(fā)明實(shí)施例的服務(wù)器迭代查詢系統(tǒng)的示意框圖。
具體實(shí)施例方式為了解決現(xiàn)有查詢方式存在的問(wèn)題,本發(fā)明提供一種實(shí)現(xiàn)IMS網(wǎng)絡(luò)中ENUM/DNS 服務(wù)器迭代方式查詢方法,其核心思想在于,在二級(jí)ENUM/DNS服務(wù)器上設(shè)置對(duì)查詢一級(jí) ENUM/DNS服務(wù)器結(jié)果的緩存。通過(guò)這種緩存技術(shù),既能夠達(dá)到《中國(guó)移動(dòng)ENUM-DNS接口和 設(shè)備規(guī)范》中對(duì)于迭代查詢的要求,并且有效減少了一級(jí)ENUM/DNS服務(wù)器的負(fù)擔(dān),提高了查 詢的響應(yīng)速度。基于上述思想,本發(fā)明提供一種服務(wù)器迭代查詢方法,具體采用如下技術(shù)方案二級(jí)ENUM/DNS服務(wù)器收到客戶端的迭代查詢請(qǐng)求后,首先進(jìn)行本地?cái)?shù)據(jù)查詢,本 地?cái)?shù)據(jù)查詢失敗后,則在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息,如果查詢 成功,則根據(jù)查詢到的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息直接向所述目標(biāo)二級(jí)ENUM/ DNS服務(wù)器發(fā)起查詢;否則,向一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢,并將所述一級(jí)ENUM/DNS服 務(wù)器返回的權(quán)威服務(wù)器的域名信息及地址信息緩存到本地。進(jìn)一步地,所述二級(jí)ENUM/DNS服務(wù)器向所述一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢時(shí),所 述一級(jí)ENUM/DNS服務(wù)器首先向數(shù)據(jù)庫(kù)發(fā)起域名服務(wù)器(NS)查詢,收到NS查詢結(jié)果后,將 NS查詢結(jié)果中的目標(biāo)二級(jí)ENUM/DNS服務(wù)器名稱(nameserver)及與客戶的查詢名相關(guān)的名 稱(name)放入權(quán)威服務(wù)器域名信息(Authority)中,并用NS查詢結(jié)果中的nameserver向 數(shù)據(jù)庫(kù)發(fā)起A查詢;收到A查詢結(jié)果后,將A查詢結(jié)果中的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的IP 地址信息放入權(quán)威服務(wù)器地址信息(Additional)中,最后將所述Authority和Additional 返回給所述二級(jí)ENUM/DNS服務(wù)器。進(jìn)一步地,所述二級(jí)ENUM/DNS服務(wù)器將所述Authority中的name字段及 Additional中的IP地址信息緩存到域名-地址信息映射表中;所述二級(jí)ENUM/DNS服務(wù)器進(jìn)行本地?cái)?shù)據(jù)查詢失敗后,通過(guò)以下方式在本地緩存 中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息根據(jù)所述域名-地址信息映射表中的name字段與所述迭代查詢請(qǐng)求中的號(hào)碼或 域名進(jìn)行匹配,如果匹配到,則匹配到的name字段所對(duì)應(yīng)的IP地址信息即為所述目標(biāo)二級(jí) ENUM/DNS服務(wù)器的地址信息,查詢成功。進(jìn)一步地,所述二級(jí)ENUM/DNS服務(wù)器采用如下匹配方式對(duì)所述迭代查詢請(qǐng)求中 的號(hào)碼進(jìn)行匹配將所述號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“類別(zone) +逆序號(hào)段”的形式后,通過(guò) 左匹配的方式,根據(jù)所述域名-地址信息映射表中的name字段與所述轉(zhuǎn)換后的形式進(jìn)行匹 配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。進(jìn)一步地,所述二級(jí)ENUM/DNS服務(wù)器采用如下匹配方式對(duì)所述迭代查詢請(qǐng)求中 的域名進(jìn)行匹配將所述迭代查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名_地址信息映射 表中的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。需要說(shuō)明的是,本發(fā)明中的二級(jí)緩存功能,與通常意義的緩存具有實(shí)質(zhì)性的區(qū)別。 本發(fā)明中緩存方法是為適應(yīng)ENUM/DNS系統(tǒng)中查詢專門(mén)設(shè)計(jì)的。其具體設(shè)計(jì)方案如下二級(jí)ENUM/DNS系統(tǒng)的緩存采用domainname對(duì)目標(biāo)二級(jí)ENUM/DNS服務(wù)器的IP地 址列表;同時(shí),優(yōu)選地,本發(fā)明支持對(duì)目標(biāo)二級(jí)ENUM/DNS服務(wù)器輪流選擇的方案,從而實(shí)現(xiàn) 二級(jí)ENUM/DNS服務(wù)器之間的負(fù)荷均衡。此外,若以NAPTR查詢?yōu)槔患?jí)ENUM/DNS配置的 號(hào)段為1381381對(duì)應(yīng)某個(gè)目標(biāo)二級(jí)ENUM/DNS服務(wù)器,那么就要求該號(hào)段下的所有號(hào)碼都應(yīng) 該對(duì)應(yīng)到該目標(biāo)二級(jí)ENUM/DNS服務(wù)器,因此緩存采用的domainname不是客戶端發(fā)起查詢 請(qǐng)求中的domainname,而是一級(jí)查詢返回結(jié)果中Authority的與客戶端的查詢名相關(guān)的名 稱(name)字段的內(nèi)容,這樣查詢匹配的結(jié)果更精確。如果是帶號(hào)碼的NAPTR查詢,該字段 為號(hào)段形式;如果是DNS查詢,該字段為查詢請(qǐng)求中的domainname本身,或者是與其最接近 的父域名。為此,本發(fā)明中結(jié)合eBase數(shù)據(jù)庫(kù)技術(shù),設(shè)計(jì)了實(shí)現(xiàn)號(hào)段的最精確匹配和域名查 詢分層的最精確匹配的ENUM/DNS中緩存的匹配方案。(1)號(hào)段的最精確匹配假設(shè)客戶端發(fā)起查詢的號(hào)碼為2. 2. 2. 2. 1. 8. 3. 1. 8. 3. 1. 6. 8. mms. el64. cnct,那 么,則在本服務(wù)器的ebase數(shù)據(jù)庫(kù)中,如果在mms. el64. cnct該zone (類別)下面有86138 和861381這兩個(gè)號(hào)段,則它們?cè)趀Base數(shù)據(jù)庫(kù)中的形式為mms. el64. cnct. 86138和mms. el64. cnct. 861381。首先將客戶端查詢請(qǐng)求的號(hào)碼的形式轉(zhuǎn)換為“zone+逆序號(hào)段”的形 式mms. el64. cnct. 8613813812222 ;然后在eBase數(shù)據(jù)庫(kù)中通過(guò)左匹配的方式,可以保證 我們最終得到的結(jié)果是緩存中所有數(shù)據(jù)中的最精確的記錄,即,得到的結(jié)果是861381這個(gè) 號(hào)段所對(duì)應(yīng)的記錄。(2)域名查詢分層的最精確匹配假設(shè)客戶端發(fā)起查詢的domainname 為:“_sip._udp. js. ctcims. cn”,那么,在 ebase數(shù)據(jù)庫(kù)中,如果存在domainname為js. ctcims. cn禾口 ctcims. cn這兩條記錄,貝Ij本 發(fā)明首先將查詢請(qǐng)求中的domainname按照域名分層的方法進(jìn)行處理,例如,在本示例中將 查詢請(qǐng)求中的domainname按照域名分層(即以點(diǎn)分層)為:_sip. _udp. js. ctcims. cn, _udp. js. ctcims. cn, js. ctcims. cn, ctcims. cn 禾口 cn,隨后在我們的 eBase 數(shù)據(jù)庫(kù)中用 SQL (Structured QueryLanguage,結(jié)構(gòu)化查詢語(yǔ)言)中的“in”,同時(shí)輔助eBase數(shù)據(jù)庫(kù)中的 特定選擇記錄的功能(即可以選擇最長(zhǎng)的匹配記錄),可以保證得到的結(jié)果是所有配置數(shù) 據(jù)中的最精確的記錄,即得到結(jié)果是js. ctcims. cn這個(gè)domainname所對(duì)應(yīng)記錄。本發(fā)明提供的迭代查詢方法的具體實(shí)現(xiàn)主要包括以下內(nèi)容1. 二級(jí)ENUM/DNS服務(wù)器系統(tǒng)的業(yè)務(wù)機(jī)運(yùn)用了自研的內(nèi)存數(shù)據(jù)庫(kù)ebase技術(shù),在 每臺(tái)業(yè)務(wù)機(jī)上裝有一套ebase ;二級(jí)ENUM/DNS服務(wù)器在收到客戶端的迭代查詢請(qǐng)求時(shí),每 臺(tái)業(yè)務(wù)機(jī)會(huì)通過(guò)查詢本機(jī)的ebase中的緩存表,根據(jù)查詢的結(jié)果確定直接去另一個(gè)二級(jí) ENUM/DNS服務(wù)器查詢,或者轉(zhuǎn)向一級(jí)ENUM/DNS服務(wù)器查詢。2. 一級(jí)ENUM/DNS服務(wù)器收到迭代查詢請(qǐng)求后,首先進(jìn)行NS查詢,并將查詢到的結(jié) 果放入Authority中,然后用NS查詢到的nameserver發(fā)起A查詢,最后將A查詢的結(jié)果放 入Additional字段中,返回給二級(jí)ENUM-DNS服務(wù)器,結(jié)束一級(jí)ENUM-DNS服務(wù)器的迭代查 詢流程。
3. 二級(jí)ENUM/DNS服務(wù)器得到從本地緩存中查詢到的或者從一級(jí)ENUM/DNS服務(wù)器 查詢到的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址后,向該二級(jí)ENUM/DNS服務(wù)器轉(zhuǎn)發(fā)請(qǐng)求,并將最 終的查詢結(jié)果發(fā)送給客戶端。下面結(jié)合附圖和實(shí)例對(duì)IMS網(wǎng)絡(luò)中ENUM-DNS服務(wù)器迭代方式查詢的實(shí)現(xiàn),技術(shù)領(lǐng) 域應(yīng)用方法進(jìn)行說(shuō)明。圖1是迭代查詢的總體架構(gòu)圖,該圖遵循《中國(guó)移動(dòng)CM-IMSENUM-DNS設(shè)備規(guī)范》 中對(duì)IMS網(wǎng)絡(luò)中迭代查詢的描述。需要說(shuō)明的是,此處是以NAPTR查詢?yōu)槔M(jìn)行說(shuō)明,對(duì)于 DNS查詢?cè)摿鞒掏瑯舆m用。假設(shè)廣東IMS用戶撥打江蘇IMS用戶,則具體迭代查詢的流程如下步驟1,廣東省S-CSCF向廣東省二級(jí)ENUM/DNS服務(wù)器發(fā)送NAPTR (Naming Authority Pointer,名稱權(quán)威指針)查詢請(qǐng)求;步驟2,廣東省二級(jí)ENUM/DNS服務(wù)器查詢失敗,根據(jù)本地存儲(chǔ)的一級(jí)ENUM/DNS地 址信息,向一級(jí)ENUM/DNS服務(wù)器發(fā)送NAPTR查詢請(qǐng)求;步驟3,一級(jí)ENUM/DNS服務(wù)器根據(jù)本地存儲(chǔ)的NS記錄,判斷該號(hào)段用戶對(duì)應(yīng)歸 屬省為江蘇省,向廣東省二級(jí)ENUM/DNS服務(wù)器返回江蘇省二級(jí)ENUM/DNS服務(wù)器的地址信 息;步驟4,廣東省二級(jí)ENUM/DNS向江蘇省二級(jí)ENUM/DNS服務(wù)器發(fā)送NAPTR查詢請(qǐng) 求;步驟5,江蘇省二級(jí)ENUM/DNS服務(wù)器返回查詢結(jié)果至廣東省二級(jí)ENUM/DNS服務(wù) 器;步驟6,廣東省二級(jí)ENUM/DNS服務(wù)器將查詢結(jié)果返回給客戶端,如ENUM/DNS的客 戶端之一 S-CSCF (服務(wù)-呼叫會(huì)話控制功能)。圖2為本發(fā)明中迭代查詢的整體流程圖,仍然假設(shè)是廣東的二級(jí)ENUM/DNS服務(wù)器 發(fā)起迭代查詢流程,江蘇的為目標(biāo)二級(jí)ENUM/DNS服務(wù)器,具體查詢流程如下步驟201,廣東二級(jí)ENUM/DNS服務(wù)器收到客戶端的查詢請(qǐng)求,首先進(jìn)行本地?cái)?shù)據(jù) 查詢,如果查詢成功,將最終的查詢結(jié)果返回給客戶端,否則進(jìn)入下一步;步驟202,到eBase數(shù)據(jù)庫(kù)查詢緩存數(shù)據(jù),如果查詢命中,則直接去目標(biāo)二級(jí)ENUM/ DNS服務(wù)器繼續(xù)查詢,否則進(jìn)入下一步;步驟203,將該查詢請(qǐng)求轉(zhuǎn)向一級(jí)ENUM/DNS服務(wù)器,一級(jí)返回目標(biāo)二級(jí)ENUM/DNS 服務(wù)器的域名及IP地址等信息;步驟204,廣東二級(jí)ENUM/DNS服務(wù)器收到一級(jí)返回的Authority和Additional 時(shí),根據(jù)其中相應(yīng)的Additional部分中的IP地址信息,將該迭代查詢請(qǐng)求轉(zhuǎn)向目標(biāo)二級(jí) ENUM/DNS服務(wù)器繼續(xù)查詢;同時(shí),廣東二級(jí)ENUM/DNS服務(wù)器還會(huì)處理一級(jí)ENUM/DNS服務(wù)器返回的Authority 和Additional部分的信息,并在eBase中對(duì)Authority中的name字段及Additional中的 IP地址信息進(jìn)行緩存,例如,可以緩存到一張域名-地址信息映射表中,以便后續(xù)收到迭代 查詢請(qǐng)求時(shí),根據(jù)該域名_地址信息映射表進(jìn)行查詢。步驟205,目標(biāo)二級(jí)ENUM/DNS服務(wù)器收到查詢請(qǐng)求后,進(jìn)行本地查詢,并將查詢的 最終結(jié)果返回給廣東二級(jí)ENUM/DNS服務(wù)器;
步驟206,廣東二級(jí)ENUM/DNS服務(wù)器收到最終的查詢結(jié)果后,將該最終的查詢結(jié) 果返回給客戶端。圖3是本發(fā)明實(shí)施例的一級(jí)ENUM/DNS服務(wù)器系統(tǒng)的迭代查詢流程圖,如圖3所 示,該流程具體描述如下步驟301,一級(jí)ENUM/DNS服務(wù)器收到迭代查詢請(qǐng)求后,先到eBase數(shù)據(jù)庫(kù)進(jìn)行NS 查詢;步驟302,eBase數(shù)據(jù)庫(kù)返回NS查詢響應(yīng),NS查詢響應(yīng)中包含有name和 nameserver等NS查詢結(jié)果;步驟303,一級(jí)ENUM/DNS服務(wù)器將NS查詢響應(yīng)中的name和nameserver放入 Authority中,然后用該nameserver向eBase數(shù)據(jù)庫(kù)發(fā)起A查詢;步驟304,eBase數(shù)據(jù)庫(kù)返回A查詢結(jié)果(目標(biāo)二級(jí)ENUM/DNS服務(wù)器的IP地 址),一級(jí)ENUM/DNS服務(wù)器將A查詢的結(jié)果放入Additional中,最后將整個(gè)查詢結(jié)果 (Authority 和 Additional)返回給二級(jí) ENUM/DNS 服務(wù)器。此外,在本發(fā)明中,一級(jí)ENUM/DNS服務(wù)器進(jìn)行NS查詢時(shí),與二級(jí)ENUM/DNS服務(wù) 器查詢緩存一樣,也可以進(jìn)行號(hào)段最精確匹配或者域名分層的最精確匹配,并可使用存儲(chǔ) 過(guò)程實(shí)現(xiàn),其查詢匹配過(guò)程與二級(jí)ENUM/DNS服務(wù)器查詢緩存的匹配方式相同,在此不再贅 述。相應(yīng)地,本發(fā)明實(shí)施例還提供了一種服務(wù)器迭代查詢系統(tǒng),如圖4所示,該系統(tǒng)包 括二級(jí)ENUM/DNS服務(wù)器,所述二級(jí)ENUM/DNS服務(wù)器進(jìn)一步包括地址信息緩存模塊、地址 信息查詢模塊,其中所述地址信息查詢模塊用于,收到迭代查詢請(qǐng)求時(shí),首先進(jìn)行本地?cái)?shù)據(jù)查詢,本地 數(shù)據(jù)查詢失敗后,則在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息,如果查詢成 功,則根據(jù)查詢到的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息直接向所述目標(biāo)二級(jí)ENUM/DNS 服務(wù)器發(fā)起查詢;否則,向一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢;所述地址信息緩存模塊用于,對(duì)收到的所述一級(jí)ENUM/DNS服務(wù)器返回的相關(guān)域 名稱及地址信息進(jìn)行緩存。此外,所述系統(tǒng)還包括一級(jí)ENUM/DNS服務(wù)器中的查詢處理模塊,所述查詢處理模塊用于,收到所述地址信息查詢模塊發(fā)起的查詢時(shí),首先向數(shù) 據(jù)庫(kù)發(fā)起NS查詢,收到NS查詢結(jié)果后,將NS查詢結(jié)果中的nameserver及name放入 Authority中,并用NS查詢結(jié)果中的nameserver向數(shù)據(jù)庫(kù)發(fā)起A查詢;收到A查詢結(jié)果后, 將A查詢結(jié)果中的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的IP地址信息放入Additional中,最后將所 述Authority和Additional返回給所述地址信息查詢模塊;所述地址信息緩存模塊進(jìn)一步用于,收到所述Authority和Additional后,將所 述Authority中的name字段及Additional中的IP地址信息緩存到域名-地址信息映射表中。此外,所述地址信息查詢模塊進(jìn)一步用于,收到迭代查詢請(qǐng)求后,通過(guò)以下方式在 本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息根據(jù)所述域名-地址信息映射表中的name字段與所述迭代查詢請(qǐng)求中的號(hào)碼或 域名進(jìn)行匹配,如果匹配到,則匹配到的name字段所對(duì)應(yīng)的IP地址信息即為所述目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息,查詢成功。此外,所述地址信息查詢模塊進(jìn)一步用于,采用如下匹配方式對(duì)所述迭代查詢請(qǐng) 求中的號(hào)碼進(jìn)行匹配將所述號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“zone+逆序號(hào)段”的形式后,通過(guò)左匹配的 方式,根據(jù)所述域名_地址信息映射表中的name字段與所述轉(zhuǎn)換后的形式進(jìn)行匹配,并將 匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。此外,所述地址信息查詢模塊進(jìn)一步用于,采用如下匹配方式對(duì)所述迭代查詢請(qǐng) 求中的域名進(jìn)行匹配將所述迭代查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名_地址信息映射 表中的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。此外,所述查詢處理模塊進(jìn)一步用于,在向數(shù)據(jù)庫(kù)發(fā)起NS查詢時(shí),采用如下匹配 方式對(duì)NS查詢請(qǐng)求中的號(hào)碼或域名進(jìn)行匹配將所述NS查詢請(qǐng)求中的號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“zone+逆序號(hào)段”的形式 后,通過(guò)左匹配的方式,根據(jù)所述域名-地址信息映射表中的name字段與所述轉(zhuǎn)換后的形 式進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果;將所述NS查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名_地址信息映射表 中的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)^ ο本發(fā)明可以應(yīng)用于IMS網(wǎng)絡(luò)的ENUM-DNS服務(wù)器數(shù)據(jù)查詢,應(yīng)用本發(fā)明方法,同類 非本地?cái)?shù)據(jù)查詢,在源二級(jí)ENUM/DNS服務(wù)器通過(guò)查詢緩存信息就可以知道應(yīng)該將該請(qǐng)求 發(fā)往哪個(gè)目標(biāo)二級(jí)ENUM/DNS服務(wù)器,而不用再向一級(jí)ENUM/DNS服務(wù)器查詢,同時(shí)非本地?cái)?shù) 據(jù)的查詢結(jié)果將不再需要從一級(jí)ENUM/DNS服務(wù)器中轉(zhuǎn),有效地減少了一級(jí)ENUM/DNS服務(wù) 器的負(fù)擔(dān),從而有效提高了系統(tǒng)的可靠性。以上僅為本發(fā)明的優(yōu)選實(shí)施案例而已,并不用于限制本發(fā)明,本發(fā)明還可有其他 多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā) 明做出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求 的保護(hù)范圍。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令 相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤(pán)或光盤(pán) 等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng) 地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的 形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
權(quán)利要求
一種服務(wù)器迭代查詢方法,其特征在于,所述方法包括二級(jí)電話號(hào)碼映射工作組/域名系統(tǒng)(ENUM/DNS)服務(wù)器收到客戶端的迭代查詢請(qǐng)求時(shí),首先進(jìn)行本地?cái)?shù)據(jù)查詢,本地?cái)?shù)據(jù)查詢失敗后,則在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息,如果查詢成功,則根據(jù)查詢到的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息直接向所述目標(biāo)二級(jí)ENUM/DNS服務(wù)器發(fā)起查詢;否則,向一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢,并將所述一級(jí)ENUM/DNS服務(wù)器返回的相關(guān)域名稱及地址信息緩存到本地。
2.如權(quán)利要求1所述的方法,其特征在于,所述二級(jí)ENUM/DNS服務(wù)器向所述一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢時(shí),所述一級(jí)ENUM/ DNS服務(wù)器首先向數(shù)據(jù)庫(kù)發(fā)起域名服務(wù)器(NS)查詢,收到NS查詢結(jié)果后,將NS查詢結(jié)果中 的目標(biāo)二級(jí)ENUM/DNS服務(wù)器名稱(nameserver)及與客戶端的查詢名相關(guān)的名稱(name) 放入權(quán)威服務(wù)器域名信息(Authority)中,并用所述NS查詢結(jié)果中的所述nameserver向 數(shù)據(jù)庫(kù)發(fā)起地址查詢(A查詢);收到A查詢結(jié)果后,將A查詢結(jié)果中的目標(biāo)二級(jí)ENUM/DNS 服務(wù)器的IP地址信息放入權(quán)威服務(wù)器地址信息(Additional)中,最后將所述Authority 和Additional返回給所述二級(jí)ENUM/DNS服務(wù)器。
3.如權(quán)利要求2所述的方法,其特征在于,所述二級(jí)ENUM/DNS服務(wù)器收到所述Authority和Additional后,將所述Authority 中的name字段及Additional中的IP地址信息緩存到域名-地址信息映射表中,在收到迭 代查詢請(qǐng)求后,通過(guò)以下方式在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息根據(jù)所述域名_地址信息映射表中的name字段與所述迭代查詢請(qǐng)求中的號(hào)碼或域 名進(jìn)行匹配,如果匹配到,則匹配到的name字段所對(duì)應(yīng)的IP地址信息即為所述目標(biāo)二級(jí) ENUM/DNS服務(wù)器的地址信息,查詢成功。
4.如權(quán)利要求3所述的方法,其特征在于,所述二級(jí)ENUM/DNS服務(wù)器采用如下匹配方式對(duì)所述迭代查詢請(qǐng)求中的號(hào)碼進(jìn)行匹配將所述號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“類別(zone) +逆序號(hào)段”的形式后,通過(guò)左匹 配的方式,根據(jù)所述域名_地址信息映射表中的name字段與所述轉(zhuǎn)換后的形式進(jìn)行匹配, 并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。
5.如權(quán)利要求3所述的方法,其特征在于,所述二級(jí)ENUM/DNS服務(wù)器采用如下匹配方式對(duì)所述迭代查詢請(qǐng)求中的域名進(jìn)行匹配將所述迭代查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名-地址信息映射表中 的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。
6.如權(quán)利要求2所述的方法,其特征在于,所述一級(jí)ENUM/DNS服務(wù)器在向數(shù)據(jù)庫(kù)發(fā)起NS查詢時(shí),采用如下匹配方式對(duì)NS查詢請(qǐng) 求中的號(hào)碼或域名進(jìn)行匹配將所述NS查詢請(qǐng)求中的號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“zone+逆序號(hào)段”的形式后, 通過(guò)左匹配的方式,根據(jù)所述域名-地址信息映射表中的name字段與所述轉(zhuǎn)換后的形式進(jìn) 行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果;將所述NS查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名_地址信息映射表中的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。
7.一種服務(wù)器迭代查詢系統(tǒng),其特征在于,所述系統(tǒng)包括二級(jí)ENUM/DNS服務(wù)器,所述 二級(jí)ENUM/DNS服務(wù)器進(jìn)一步包括地址信息緩存模塊、地址信息查詢模塊,其中所述地址信息查詢模塊用于,收到迭代查詢請(qǐng)求時(shí),首先進(jìn)行本地?cái)?shù)據(jù)查詢,本地?cái)?shù)據(jù) 查詢失敗后,則在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息,如果查詢成功, 則根據(jù)查詢到的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息直接向所述目標(biāo)二級(jí)ENUM/DNS服務(wù) 器發(fā)起查詢;否則,向一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢;所述地址信息緩存模塊用于,對(duì)收到的所述一級(jí)ENUM/DNS服務(wù)器返回的相關(guān)域名稱 及地址信息進(jìn)行緩存。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括一級(jí)ENUM/DNS服務(wù)器中的 查詢處理模塊,所述查詢處理模塊用于,收到所述地址信息查詢模塊發(fā)起的查詢時(shí),首先向數(shù)據(jù)庫(kù)發(fā) 起NS查詢,收到NS查詢結(jié)果后,將NS查詢結(jié)果中的nameserver及name放入Authority中, 并用NS查詢結(jié)果中的nameserver向數(shù)據(jù)庫(kù)發(fā)起A查詢;收到A查詢結(jié)果后,將A查詢結(jié)果 中的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的IP地址信息放入Additional中,最后將所述Authority 和Additional返回給所述地址信息查詢模塊;所述地址信息緩存模塊進(jìn)一步用于,收到所述Authority和Additional后,將所述 Authority中的name字段及Additional中的IP地址信息緩存到域名-地址信息映射表 中。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述地址信息查詢模塊進(jìn)一步用于,通過(guò)以下方式在本地緩存中查詢目標(biāo)二級(jí)ENUM/ DNS服務(wù)器的地址信息根據(jù)所述域名_地址信息映射表中的name字段與所述迭代查詢請(qǐng)求中的號(hào)碼或域 名進(jìn)行匹配,如果匹配到,則匹配到的name字段所對(duì)應(yīng)的IP地址信息即為所述目標(biāo)二級(jí) ENUM/DNS服務(wù)器的地址信息,查詢成功。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述地址信息查詢模塊進(jìn)一步用于,采用如下匹配方式對(duì)所述迭代查詢請(qǐng)求中的號(hào)碼 進(jìn)行匹配將所述號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“zone+逆序號(hào)段”的形式后,通過(guò)左匹配的方 式,根據(jù)所述域名_地址信息映射表中的name字段與所述轉(zhuǎn)換后的形式進(jìn)行匹配,并將匹 配到的最長(zhǎng)的記錄作為匹配結(jié)果。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述地址信息查詢模塊進(jìn)一步用于,采用如下匹配方式對(duì)所述迭代查詢請(qǐng)求中的域名 進(jìn)行匹配將所述迭代查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名-地址信息映射表中 的name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。
12.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述查詢處理模塊進(jìn)一步用于,在向數(shù)據(jù)庫(kù)發(fā)起NS查詢時(shí),采用如下匹配方式對(duì)NS查 詢請(qǐng)求中的號(hào)碼或域名進(jìn)行匹配將所述NS查詢請(qǐng)求中的號(hào)碼中的號(hào)段逆序排列,轉(zhuǎn)換為“zone+逆序號(hào)段”的形式后, 通過(guò)左匹配的方式,根據(jù)所述域名-地址信息映射表中的name字段與所述轉(zhuǎn)換后的形式進(jìn) 行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果;將所述NS查詢請(qǐng)求中的域名按照域名分為多層,根據(jù)所述域名_地址信息映射表中的 name字段與所述分層后的多層域名進(jìn)行匹配,并將匹配到的最長(zhǎng)的記錄作為匹配結(jié)果。
全文摘要
一種服務(wù)器迭代查詢方法及系統(tǒng),二級(jí)ENUM/DNS服務(wù)器收到客戶端的迭代查詢請(qǐng)求時(shí),首先進(jìn)行本地?cái)?shù)據(jù)查詢,本地?cái)?shù)據(jù)查詢失敗后,則在本地緩存中查詢目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息,如果查詢成功,則根據(jù)查詢到的目標(biāo)二級(jí)ENUM/DNS服務(wù)器的地址信息直接向目標(biāo)二級(jí)ENUM/DNS服務(wù)器發(fā)起查詢;否則,向一級(jí)ENUM/DNS服務(wù)器發(fā)起查詢,并將一級(jí)ENUM/DNS服務(wù)器返回的相關(guān)域名稱及地址信息緩存到本地。應(yīng)用本發(fā)明技術(shù)方案,減少了ENUM/DNS服務(wù)器的負(fù)擔(dān),提高了系統(tǒng)的可靠性。
文檔編號(hào)H04L29/06GK101917493SQ20101026275
公開(kāi)日2010年12月15日 申請(qǐng)日期2010年8月18日 優(yōu)先權(quán)日2010年8月18日
發(fā)明者吳麗梅, 盛明超, 許可喜 申請(qǐng)人:中興通訊股份有限公司