專利名稱:一種電話號碼到統(tǒng)一資源標(biāo)識映射的業(yè)務(wù)實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及域名系統(tǒng)中的查找技術(shù),特別是涉及一種電話號碼到統(tǒng)一資源標(biāo)識映射的業(yè)務(wù)實現(xiàn)方法。
背量技術(shù)電話號碼到統(tǒng)一資源標(biāo)識映射(E.164 Numbering URI Mapping,ENUM)是美國因特網(wǎng)工程專項組(IETF)發(fā)布的標(biāo)準(zhǔn)。ENUM定義了一種以域名系統(tǒng)(Domain Name System,DNS)為基礎(chǔ)將E.164電話號碼映射為統(tǒng)一資源標(biāo)識(URI,Uniform Resource Identifier)的體系結(jié)構(gòu)和協(xié)議。
ENUM業(yè)務(wù)的實質(zhì)就是利用互聯(lián)網(wǎng)的DNS,將E.164電話號碼映射為互聯(lián)網(wǎng)地址,使E.164電話號碼成為獲得互聯(lián)網(wǎng)上任意通信服務(wù)的單一連接點(diǎn),達(dá)到使用戶通過E.164電話號碼接入互聯(lián)網(wǎng)的目的。
在實現(xiàn)ENUM業(yè)務(wù)時,用戶申請一個E.164電話號碼,運(yùn)營商為該用戶建立相應(yīng)ENUM業(yè)務(wù)數(shù)據(jù)的配置項,在配置項中存放該用戶注冊的通信方式,比如電話、傳真、電子郵件、多媒體短信息、即時通信和個人網(wǎng)頁等。這樣,其他用戶只需記憶并使用該用戶的E.164電話號碼,便可通過互聯(lián)網(wǎng)的DNS查找并獲得該用戶的各種通信方式。
為實現(xiàn)ENUM業(yè)務(wù),在現(xiàn)有技術(shù)中,運(yùn)營商利用DNS中的文件來存儲E.164域名與ENUM業(yè)務(wù)數(shù)據(jù)即用戶注冊的通信方式的對應(yīng)關(guān)系,其具體實現(xiàn)過程包括將DNS系統(tǒng)中原有的“域名-地址映射”文件變?yōu)椤癊.164域名-NAPTR記錄映射對”文件,NAPTR是ENUM業(yè)務(wù)的數(shù)據(jù)記錄格式;將具有相同后綴的E.164域名的全長及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)存放在同一個“E.164域名一NAPTR記錄映射對”文件中,利用E.164域名的相同后綴位命名該文件,比如將后綴均為6.0.3.e164.arpa的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa與8.5.5.3.3.8.5.1.4.6.0.3.e164.arpa存放在同一個文件中,并命名該文件為“6.0.3.e164.arpa-NAPTR記錄映射對”;編寫一套軟件程序,以支持對“E.164域名-NAPTR記錄映射對”文件中保存的E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)的查找、修改和刪除等操作;當(dāng)DNS系統(tǒng)啟動初始化時,DNS從各“E.164域名-NAPTR記錄映射對”文件中讀取E.164域名,在內(nèi)存中建立起E.164域名的樹狀數(shù)據(jù)結(jié)構(gòu)。圖1是在現(xiàn)有技術(shù)中DNS系統(tǒng)建立的E.164域名樹狀數(shù)據(jù)結(jié)構(gòu)的示意圖,參見圖1,在現(xiàn)有技術(shù)中,DNS根據(jù)文件名稱后綴的子集關(guān)系建立一個樹狀數(shù)據(jù)結(jié)構(gòu),樹中每一個節(jié)點(diǎn)對應(yīng)一個“E.164域名-NAPTR記錄映射對”文件。
當(dāng)用戶需要查詢另一個已注冊用戶的通信方式即ENUM業(yè)務(wù)數(shù)據(jù)時,在網(wǎng)絡(luò)上輸入所需查詢的E.164電話號碼。客戶端將該E.164電話號碼轉(zhuǎn)換為E.164域名,根據(jù)RFC2916,其標(biāo)準(zhǔn)轉(zhuǎn)換過程為1.例如用戶輸入的E.164電話號碼為+30-697-123-4567,符號“+”是ENUM服務(wù)的標(biāo)識,用來區(qū)分其它基于數(shù)字的網(wǎng)絡(luò)服務(wù)。去掉除開始處“+”外所有非數(shù)字字符,例如“-”,得到字串+306971234567;2.把除數(shù)字以外的所有字符都去掉,得到字串306971234567;3.在所得字串的各數(shù)字之間插入實心點(diǎn)“.”,得到字串3.0.6.9.7.1.2.3.4.5.6.7;4.將所得字串逆序排列,得到字串7.6.5.4.3.2.1.7.9.6.0.3;5.將所得字串添加后綴轉(zhuǎn)換為一個正式域名(后綴取決于管理策略,通常使用字串“.e164.arpa”),得到E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa。
然后,客戶端將轉(zhuǎn)換后的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa作為DNS查詢包中的查詢字段QNAME的值發(fā)送給DNS。
圖2是現(xiàn)有技術(shù)在DNS系統(tǒng)中查找ENUM業(yè)務(wù)數(shù)據(jù)的流程圖。參見圖1和圖2,在現(xiàn)有技術(shù)中,當(dāng)DNS接收到客戶端發(fā)來的DNS查詢包并從中獲得E.164域名后,查找相應(yīng)ENUM業(yè)務(wù)數(shù)據(jù)即已注冊用戶通信方式的具體過程包括以下步驟步驟201DNS在自身內(nèi)存的E.164域名樹狀數(shù)據(jù)結(jié)構(gòu)中,從根節(jié)點(diǎn)101即6.0.3.e164.arpa開始進(jìn)行查找。
步驟202DNS比較根節(jié)點(diǎn)101下的各子節(jié)點(diǎn),選取與所需的E.164域名的后綴位存在最多相同位的后綴為9.6.0.3.e164.arpa子節(jié)點(diǎn)102。
這里,由于根節(jié)點(diǎn)101下存在兩個子節(jié)點(diǎn)102和103,而子節(jié)點(diǎn)102與所需查找的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa的后綴位的相同位數(shù)比子節(jié)點(diǎn)103要多,所以在本步驟中,選取子節(jié)點(diǎn)102。
步驟203DNS比較子節(jié)點(diǎn)102下的各子節(jié)點(diǎn),選取與所需的E.164域名的后綴位存在最多相同位的后綴為7.9.6.0.3.e164.arpa子節(jié)點(diǎn)103。
步驟204DNS在子節(jié)點(diǎn)103對應(yīng)的“E.164域名-NAPTR記錄映射對”文件中查找所需的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa。
這里,由于子節(jié)點(diǎn)103下沒有子節(jié)點(diǎn),所以直接在子節(jié)點(diǎn)103對應(yīng)的文件中進(jìn)行查找。
步驟205DNS判斷是否查找到與獲得的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa相同的E.164域名,如果是,則執(zhí)行步驟206,否則執(zhí)行步驟207。
步驟206DNS向客戶端返回查詢結(jié)果即與查找到的E.164域名對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù),并結(jié)束當(dāng)前流程。
步驟207DNS向客戶端返回失敗消息。
這里,DNS在本地未查找到時,也可向遠(yuǎn)方其它DNS發(fā)起查詢,直到查詢到與獲得的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa相同的E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù),或未查詢到后宣布查詢失敗,并將查詢結(jié)果返回給客戶端。
至此,現(xiàn)有技術(shù)完成了查找用戶所需E.164域名的過程。
由此可見,現(xiàn)有技術(shù)存在以下缺點(diǎn)1、現(xiàn)有技術(shù)在DNS系統(tǒng)中采用文件方式存儲E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù),在進(jìn)行查找時,DNS從內(nèi)存中所建立的E.164域名的樹狀數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)開始進(jìn)行查找,并遍歷樹中每一級子節(jié)點(diǎn),直到查找到與所需E.164域名后綴位匹配最多的子節(jié)點(diǎn),然后在該子節(jié)點(diǎn)所對應(yīng)的文件中查找與用戶所需的E.164域名完全相同的E.164域名?,F(xiàn)有技術(shù)使用遍歷查找方式來實現(xiàn)ENUM業(yè)務(wù),必然會導(dǎo)致查詢時間較長,降低了查詢的效率。
2、DNS在啟動初始化時,會在內(nèi)存中建立并保存E.164域名的樹狀數(shù)據(jù)結(jié)構(gòu),但是內(nèi)存中可以存放的E.164域名的數(shù)量是非常有限的,因此,當(dāng)用戶數(shù)量大量增加使得E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)大量增加時,內(nèi)存將無法滿足存儲E.164域名的需求。如果為了滿足存儲需求而將E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)存儲在多個DNS系統(tǒng)中,則會增加對ENUM業(yè)務(wù)數(shù)據(jù)備份管理和維護(hù)等操作的實現(xiàn)難度。
3、當(dāng)需要修改某個ENUM業(yè)務(wù)數(shù)據(jù)時,現(xiàn)有技術(shù)在查找到該ENUM業(yè)務(wù)數(shù)據(jù)后,對其進(jìn)行修改。但是由于在現(xiàn)有技術(shù)中將ENUM業(yè)務(wù)數(shù)據(jù)存放在內(nèi)存中,內(nèi)存無法立即刷新,而要根據(jù)文件中配置的刷新時間進(jìn)行刷新,從而導(dǎo)致修改的ENMU業(yè)務(wù)數(shù)據(jù)存在延遲。因此,當(dāng)運(yùn)營商已對ENUM業(yè)務(wù)數(shù)據(jù)進(jìn)行了修改,而還未到內(nèi)存的刷新時間時,用戶查找到的數(shù)據(jù)則仍為未修改時的ENUM業(yè)務(wù)數(shù)據(jù),從而導(dǎo)致查找到的數(shù)據(jù)存在錯誤。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種電話號碼到統(tǒng)一資源標(biāo)識映射的業(yè)務(wù)實現(xiàn)方法,大大提高查找ENUM業(yè)務(wù)數(shù)據(jù)的效率。
為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種電話號碼到統(tǒng)一資源標(biāo)識映射的業(yè)務(wù)實現(xiàn)方法,在DNS的數(shù)據(jù)庫中設(shè)置ENUM數(shù)據(jù)表,將后綴指定位相同的E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)保存在同一個ENUM數(shù)據(jù)表中,根據(jù)ENUM數(shù)據(jù)表中E.164域名后綴的所述相同指定位命名該ENUM數(shù)據(jù)表,該方法還包括以下步驟A、DNS獲得E.164域名后,在自身數(shù)據(jù)庫中查找是否有與獲得的E.164域名后綴的所述指定位匹配的ENUM數(shù)據(jù)表名,如果有,則執(zhí)行步驟B,否則執(zhí)行步驟C;B、所述DNS選取與獲得的E.164域名后綴的所述指定位匹配最多的ENUM數(shù)據(jù)表名,在該選取的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中查找與獲得的E.164域名相同的E.164域名,如果查找到,則執(zhí)行步驟D,如果未查找到,則執(zhí)行步驟C;C、所述DNS向客戶端返回失敗應(yīng)答消息,并結(jié)束本流程;D、所述DNS將與查找到的E.164域名對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)返回至客戶端。
在步驟A中,所述DNS獲得的E.164域名是從客戶端發(fā)來的DNS查詢包中獲得的。
在步驟A中,在DNS獲得E.164域名后,并在自身數(shù)據(jù)庫中進(jìn)行查找之前進(jìn)一步包括DNS判斷當(dāng)前查詢是否為ENUM查詢,如果不是,則跳出本流程,如果是,則執(zhí)行步驟A。
所述DNS根據(jù)客戶端發(fā)來的DNS查詢包中QTYPE的值判斷當(dāng)前查詢是否為ENUM查詢。
所述E.164域名是按全長保存在ENUM數(shù)據(jù)表中的。
所述E.164域名是在將全長截取特定位后保存在ENUM數(shù)據(jù)表中的;步驟B中,所述DNS在選取的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中進(jìn)行查找之前進(jìn)一步包括所述DNS將獲得的E.164域名截取所述的特定位;步驟B中,所述DNS在選取的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中查找與獲得的E.164域名相同的E.164域名的步驟包括所述DNS在選取的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中查找與截取后的E.164域名相同的E.164域名。
步驟B在未查找到與獲得的E.164域名相同的E.164域名之后,并在執(zhí)行步驟C之前進(jìn)一步包括所述DNS向其它DNS服務(wù)器發(fā)起查詢,其它DNS則在自身數(shù)據(jù)庫的ENUM數(shù)據(jù)表中進(jìn)行查找,如果查找到與所述DNS獲得的E.164域名相同的E.164域名,則將與查找到的E.164域名對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)返回至所述DNS,然后執(zhí)行步驟D,如果未查找到,則將失敗應(yīng)答消息返回至所述DNS,然后執(zhí)行步驟C。
所述相同指定后綴位位數(shù)的多少是由ENUM業(yè)務(wù)數(shù)據(jù)量的多少來確定的。
可見,本發(fā)明提出的方法具有以下優(yōu)點(diǎn)1、本發(fā)明將E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)作為記錄項保存在DNS的數(shù)據(jù)庫中,由于數(shù)據(jù)庫自身具有高效的查詢算法比如B+樹的查詢算法,以及能夠直接進(jìn)行記錄項的定位和查詢,從而可大大提高查找E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)的效率。并且,本發(fā)明采用數(shù)據(jù)庫中的數(shù)據(jù)表來存儲ENUM業(yè)務(wù)數(shù)據(jù),將具有相同指定后綴位的E.164域名存儲在同一個ENUM數(shù)據(jù)表中,并根據(jù)E.164域名的相同指定后綴位來命名該ENUM數(shù)據(jù)表,當(dāng)用戶需要查詢ENUM業(yè)務(wù)數(shù)據(jù)時,DNS直接將所需查詢的E.164域名的指定后綴位與各個ENUM數(shù)據(jù)表名進(jìn)行匹配,并在具有最大匹配位的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中進(jìn)行查詢,避免了現(xiàn)有技術(shù)中遍歷查找方式查詢效率低的缺點(diǎn),從而大大減少了查詢時間,提高了查詢效率。
2、對于某些ENUM業(yè)務(wù),本發(fā)明在ENUM數(shù)據(jù)表中只存儲E.164域名的后指定位與ENUM業(yè)務(wù)數(shù)據(jù)的對應(yīng)關(guān)系,而不是E.164域名的全長與ENUM業(yè)務(wù)數(shù)據(jù)的對應(yīng)關(guān)系,從而大大節(jié)約了DNS的存儲資源。并且,DNS在實現(xiàn)此種ENUM業(yè)務(wù)時,只需將客戶端發(fā)來的E.164域名的后指定位與ENUM數(shù)據(jù)表中各E.164域名的后指定位進(jìn)行匹配即可,而無需進(jìn)行現(xiàn)有技術(shù)中的全匹配查詢操作,從而進(jìn)一步提高了查詢效率。
3、在本發(fā)明中,E.164域名的相同指定后綴位的位數(shù)可根據(jù)ENUM業(yè)務(wù)數(shù)據(jù)量的多少來確定,當(dāng)ENUM業(yè)務(wù)數(shù)據(jù)量不大時,可設(shè)置較少位數(shù)的相同指定后綴位,當(dāng)ENUM業(yè)務(wù)數(shù)據(jù)量很大時,可設(shè)置較多位數(shù)的相同指定后綴位,從而靈活地適應(yīng)了ENUM業(yè)務(wù)的發(fā)展需求。
4、本發(fā)明采用數(shù)據(jù)庫中的數(shù)據(jù)表來存儲ENUM業(yè)務(wù)數(shù)據(jù),大大增加了ENUM業(yè)務(wù)數(shù)據(jù)的存儲量,增強(qiáng)了ENUM業(yè)務(wù)數(shù)據(jù)的可管理性和可維護(hù)性。
5、當(dāng)需要修改某個ENUM業(yè)務(wù)數(shù)據(jù)時,本發(fā)明在查找到該ENUM業(yè)務(wù)數(shù)據(jù)后,對其進(jìn)行修改。由于在本發(fā)明中ENUM業(yè)務(wù)數(shù)據(jù)存儲在數(shù)據(jù)庫中,數(shù)據(jù)庫能夠及時完成對ENMU業(yè)務(wù)數(shù)據(jù)的修改操作,從而避免了現(xiàn)有技術(shù)中由于內(nèi)存定時刷新的延遲性所造成的查找到錯誤ENUM業(yè)務(wù)數(shù)據(jù)的缺點(diǎn)。
圖1是在現(xiàn)有技術(shù)中DNS系統(tǒng)建立的E.164域名樹狀數(shù)據(jù)結(jié)構(gòu)的示意圖。
圖2是現(xiàn)有技術(shù)在DNS系統(tǒng)中查找ENUM業(yè)務(wù)數(shù)據(jù)的流程圖。
圖3是本發(fā)明在DNS系統(tǒng)中查找ENUM業(yè)務(wù)數(shù)據(jù)的流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步的詳細(xì)描述。
本發(fā)明將E.164域名及其對應(yīng)的ENUM業(yè)務(wù)的數(shù)據(jù)以ENUM數(shù)據(jù)表的形式存儲在DNS的數(shù)據(jù)庫中,通過對數(shù)據(jù)庫中相應(yīng)ENUM數(shù)據(jù)表的查找操作來實現(xiàn)ENUM業(yè)務(wù)。
本發(fā)明將E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)以ENUM數(shù)據(jù)表的形式存儲在DNS數(shù)據(jù)庫中的具體實現(xiàn)過程包括(1)根據(jù)E.164域名的相同后綴位以及ENUM業(yè)務(wù)數(shù)據(jù)量即E.164域名的數(shù)量來設(shè)計ENUM數(shù)據(jù)表,然后將各個ENUM數(shù)據(jù)表及其表名存儲在DNS的數(shù)據(jù)庫中。
這里,比如存在E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa、8.5.5.1.3.8.3.8.9.6.0.3.e164.arpa以及8.5.6.6.3.1.4.8.9.6.0.3.e164.arpa等。當(dāng)ENUM業(yè)務(wù)數(shù)據(jù)量不大時,比如具有后綴9.6.0.3.e164.arpa的E.164域名不多時,可指定將上述具有4位相同后綴9.6.0.3.e164.arpa的所有E.164域名的全長包括有7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa、8.5.5.1.3.8.3.8.9.6.0.3.e164.arpa以及8.5.6.6.3.1.4.8.9.6.0.3.e164.arpa存儲在同一個ENUM數(shù)據(jù)表中,并根據(jù)該4位相同后綴位9.6.0.3.e164.arpa來命名ENUM數(shù)據(jù)表,即將該ENUM數(shù)據(jù)表命名為“naptr_ 9_6_0_3”。當(dāng)ENUM業(yè)務(wù)數(shù)據(jù)量增大即具有后綴9.6.0.3.e164.arpa的E.164域名增多時,為了提高查詢效率,可指定將具有5位相同后綴7.9.6.0.3.e164.arpa的E.164域名的全長存儲在一個ENUM數(shù)據(jù)表中,如7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa,將表命名為“naptr_7_9_6_0_3”,同時指定將具有5位相同后綴8.9.6.0.3.e164.arpa的上述E.164域名的全長包括8.5.5.1.3.8.3.8.9.6.0.3.e164.arpa與8.5.6.6.3.1.4.8.9.6.0.3.e164.arpa存儲在另一個ENUM數(shù)據(jù)表中,然后根據(jù)相同后綴位8.9.6.0.3.e164.arpa來命名該ENUM數(shù)據(jù)表,即將表命名為“naptr_8_9_6_0_3”。
(2)為各個ENUM數(shù)據(jù)表配置全匹配查詢策略,即客戶端發(fā)來的E.164域名的全長與ENUM數(shù)據(jù)表中保存的E.164域名的全長進(jìn)行匹配查找。
由于ENUM業(yè)務(wù)正迅速發(fā)展,E.164域名及ENUM業(yè)務(wù)也相應(yīng)地大量增加,如果所有E.164域名均以全長存儲在ENUM數(shù)據(jù)表中,不僅會占用大量的存儲空間,而且還會降低查詢效率,因此,較佳地,本發(fā)明可針對某些ENUM應(yīng)用采用截位查詢的方法在某些ENUM應(yīng)用中,比如ENUM在多媒體信息(MMS)業(yè)務(wù)中的應(yīng)用,即當(dāng)ENUM業(yè)務(wù)數(shù)據(jù)為MMS時,在ENUM數(shù)據(jù)表中存儲E.164域名的特定位,這里為后指定位數(shù)據(jù),與多媒體信息中心(MMSC)標(biāo)識的對應(yīng)關(guān)系,而不是E.164域名數(shù)據(jù)的全長與MMSC標(biāo)識的對應(yīng)關(guān)系;該ENUM數(shù)據(jù)表仍根據(jù)所存儲E.164域名的后指定位數(shù)據(jù)的相同后綴位來命名;然后為ENUM數(shù)據(jù)表配置截位查詢策略,即客戶端發(fā)來的E.164域名的后指定位與ENUM數(shù)據(jù)表中保存的E.164域名的后指定位進(jìn)行匹配查找;將該ENUM數(shù)據(jù)表及其表名存儲在DNS的數(shù)據(jù)庫中。
這里,對于截位查詢過程,比如有E.164域名7.6.5.4.3.7.4.5.9.6.0.3.e164.arpa、8.5.5.4.3.8.4.5.9.6.0.3.e164.arpa以及8.8.5.4.3.9.4.5.9.6.0.3.e164.arpa,本發(fā)明可指定只存儲這些E.164域名數(shù)據(jù)的后7位,即將各E.164域名數(shù)據(jù)的后7位7.4.5.9.6.0.3、8.4.5.9.6.0.3和9.4.5.9.6.0.3與其對應(yīng)的MMSC標(biāo)識存儲在一個ENUM數(shù)據(jù)表中,根據(jù)各E.164域名后4位相同后綴9.6.0.3命名該ENUM數(shù)據(jù)表,即將該ENUM數(shù)據(jù)表命名為“naptr_9_6_0_3”,然后指定該ENUM數(shù)據(jù)表“naptr_9_6_0_3”的查詢策略為后7位查詢,即在客戶端需要查詢某個E.164域名及其對應(yīng)的MMSC標(biāo)識時,DNS將客戶端發(fā)來的E.164域名的全長進(jìn)行截取后7位操作,并將截取所得的E.164域名的后7位與該ENUM數(shù)據(jù)表“naptr_9_6_0_3”中存儲的E.164域名的后7位進(jìn)行匹配查詢。
下面結(jié)合一個具體實施例說明本發(fā)明實現(xiàn)ENUM業(yè)務(wù)的過程。
當(dāng)用戶需要查詢另一個已注冊用戶的通信方式即ENUM業(yè)務(wù)數(shù)據(jù)時,在網(wǎng)絡(luò)上輸入所需查詢的E.164電話號碼,比如用戶輸入的E.164電話號碼為+30-697-123-4567,客戶端將該E.164電話號碼轉(zhuǎn)換為E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa,然后客戶端將轉(zhuǎn)換后的E.164域名作為查詢DNS包中的查詢字段QNAME的值發(fā)送給DNS。該具體實現(xiàn)過程與現(xiàn)有技術(shù)的實現(xiàn)過程相同。
圖3是本發(fā)明在DNS系統(tǒng)中查找ENUM業(yè)務(wù)數(shù)據(jù)的流程圖。參見圖3,在本發(fā)明中,當(dāng)DNS接收到客戶端發(fā)來的DNS查詢包后,查找相應(yīng)ENUM業(yè)務(wù)數(shù)據(jù)即已注冊用戶通信方式的具體過程包括以下步驟步驟301DNS解析客戶端發(fā)送來的DNS查詢包,根據(jù)解析結(jié)果判斷當(dāng)前查詢是否為ENUM查詢,如果不是,則執(zhí)行步驟302,如果是,則直接執(zhí)行步驟303。
這里,DNS在解析客戶端發(fā)送來的DNS查詢包時,根據(jù)查詢包中查詢字段QTYPE的值來判斷當(dāng)前查詢是否為ENUM查詢。
步驟302DNS向客戶端提供其它基于數(shù)字的網(wǎng)絡(luò)服務(wù),然后結(jié)束本流程。
步驟303DNS從查詢包中獲得客戶端發(fā)來的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa。
步驟304DNS判斷在自身的數(shù)據(jù)庫中是否可查找到存儲該E.164域名的ENUM數(shù)據(jù)表,如果是,則執(zhí)行步驟305,否則執(zhí)行步驟308。
這里,DNS采用最大匹配法查找存儲該E.164域名的ENUM數(shù)據(jù)表,其具體實現(xiàn)過程為DNS查詢與E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa的后綴匹配最多的ENUM數(shù)據(jù)表名,如果不存在與獲得的E.164域名的后綴有所匹配的ENUM數(shù)據(jù)表名,則認(rèn)為未查找到存儲該E.164域名的ENUM數(shù)據(jù)表,如果查找到,比如查詢到表名為“naptr_8_9_6_0_3”、“naptr_3_6_6_43”和“naptr_7_9_6-0_3”的三個ENUM數(shù)據(jù)表,這三個ENUM數(shù)據(jù)表名與所需查詢的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa的后綴有不同位數(shù)的匹配,則選擇后綴匹配位數(shù)最多的ENUM數(shù)據(jù)表“naptr_7_9_6_0_3”,并在該ENUM數(shù)據(jù)表“naptr_7_9_6_0_3”中進(jìn)行查詢。
步驟305DNS根據(jù)查找到ENUM數(shù)據(jù)表的查詢策略,在該ENUM數(shù)據(jù)表中進(jìn)行查詢。
這里,如果ENUM數(shù)據(jù)表的查詢策略為全匹配查詢,則DNS在該ENUM數(shù)據(jù)表中查找與獲得的E.164域名的全長相同的E.164域名,如果ENUM數(shù)據(jù)表的查詢策略為截位查詢,比如7位查詢,則DNS截取獲得的E.164域名的后7位,然后在該ENUM數(shù)據(jù)表中查找與截取的后7位相同的E.164域名的后7位。
步驟306DNS判斷在該ENUM數(shù)據(jù)表中是否查詢到與獲得的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa相同的E.164域名,如果是,則執(zhí)行步驟307,否則執(zhí)行步驟308。
步驟307DNS將與查找到的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)返回至客戶端,然后結(jié)束當(dāng)前流程。
步驟308DNS向客戶端返回失敗應(yīng)答消息。
在上述流程中,DNS在本地未查找到存儲客戶端發(fā)來的E.164域名的ENUM數(shù)據(jù)表時,也可向遠(yuǎn)方其它DNS發(fā)起查詢,直到查詢到與獲得的E.164域名7.6.5.4.3.2.1.7.9.6.0.3.e164.arpa相同的E.164域名及與其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù),或未查詢到后宣布查詢失敗,并將查詢結(jié)果返回給客戶端。
總之,以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種電話號碼到統(tǒng)一資源標(biāo)識映射的業(yè)務(wù)實現(xiàn)方法,其特征在于,在域名系統(tǒng)DNS的數(shù)據(jù)庫中設(shè)置電話號碼到統(tǒng)一資源標(biāo)識映射ENUM數(shù)據(jù)表,將后綴指定位相同的E.164域名及其對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)保存在同一個ENUM數(shù)據(jù)表中,根據(jù)ENUM數(shù)據(jù)表中E.164域名后綴的所述相同指定位命名該ENUM數(shù)據(jù)表,該方法還包括以下步驟A、DNS獲得E.164域名后,在自身數(shù)據(jù)庫中查找是否有與獲得的E.164域名后綴的所述指定位匹配的ENUM數(shù)據(jù)表名,如果有,則執(zhí)行步驟B,否則執(zhí)行步驟C;B、所述DNS選取與獲得的E.164域名后綴的所述指定位匹配最多的ENUM數(shù)據(jù)表名,在該選取的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中查找與獲得的E.164域名相同的E.164域名,如果查找到,則執(zhí)行步驟D,如果未查找到,則執(zhí)行步驟C;C、所述DNS向客戶端返回失敗應(yīng)答消息,并結(jié)束本流程;D、所述DNS將與查找到的E.164域名對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)返回至客戶端。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟A中,所述DNS獲得的E.164域名是從客戶端發(fā)來的DNS查詢包中獲得的。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟A中,在DNS獲得E.164域名后,并在自身數(shù)據(jù)庫中進(jìn)行查找之前進(jìn)一步包括DNS判斷當(dāng)前查詢是否為ENUM查詢,如果不是,則跳出本流程,如果是,則執(zhí)行步驟A。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述DNS根據(jù)客戶端發(fā)來的DNS查詢包中QTYPE的值判斷當(dāng)前查詢是否為ENUM查詢。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述E.164域名是按全長保存在ENUM數(shù)據(jù)表中的。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述E.164域名是在將全長截取特定位后保存在ENUM數(shù)據(jù)表中的;步驟B中,所述DNS在選取的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中進(jìn)行查找之前進(jìn)一步包括所述DNS將獲得的E.164域名截取所述的特定位;步驟B中,所述DNS在選取的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中查找與獲得的E.164域名相同的E.164域名的步驟包括所述DNS在選取的ENUM數(shù)據(jù)表名對應(yīng)的ENUM數(shù)據(jù)表中查找與截取后的E.164域名相同的E.164域名。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B在未查找到與獲得的E.164域名相同的E.164域名之后,并在執(zhí)行步驟C之前進(jìn)一步包括所述DNS向其它DNS服務(wù)器發(fā)起查詢,其它DNS則在自身數(shù)據(jù)庫的ENUM數(shù)據(jù)表中進(jìn)行查找,如果查找到與所述DNS獲得的E.164域名相同的E.164域名,則將與查找到的E.164域名對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)返回至所述DNS,然后執(zhí)行步驟D,如果未查找到,則將失敗應(yīng)答消息返回至所述DNS,然后執(zhí)行步驟C。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述相同指定后綴位位數(shù)的多少是由ENUM業(yè)務(wù)數(shù)據(jù)量的多少來確定的。
全文摘要
本發(fā)明公開了一種電話號碼到統(tǒng)一資源標(biāo)識映射(ENUM)的業(yè)務(wù)實現(xiàn)方法,在域名系統(tǒng)(DNS)數(shù)據(jù)庫中設(shè)置ENUM數(shù)據(jù)表,將后綴指定位相同的E.164域名及其對應(yīng)ENUM業(yè)務(wù)數(shù)據(jù)保存在一個ENUM數(shù)據(jù)表中,由所述相同指定位命名該表,執(zhí)行以下步驟a.DNS獲得E.164域名,在數(shù)據(jù)庫中查找是否有與獲得E.164域名后綴的所述指定位匹配的ENUM數(shù)據(jù)表名,如果有執(zhí)行步驟b,否則執(zhí)行步驟c;b.DNS選取與獲得E.164域名后綴的所述指定位匹配最多的ENUM數(shù)據(jù)表名,在該表名對應(yīng)的ENUM數(shù)據(jù)表中查找獲得的E.164域名,如果查找到,則將與查找到的E.164域名對應(yīng)的ENUM業(yè)務(wù)數(shù)據(jù)返回至客戶端,否則執(zhí)行步驟c;c.DNS向客戶端返回失敗消息。本發(fā)明大大提高了查找ENUM業(yè)務(wù)數(shù)據(jù)的效率。
文檔編號H04L29/12GK1744752SQ20041006429
公開日2006年3月8日 申請日期2004年8月30日 優(yōu)先權(quán)日2004年8月30日
發(fā)明者望遠(yuǎn)聞 申請人:華為技術(shù)有限公司