本發(fā)明涉及路由信息查詢技術(shù),尤其涉及一種被叫用戶的路由信息查詢方法及裝置。
背景技術(shù):
歸屬位置寄存器(homelocationregister,hlr)是核心網(wǎng)的一個(gè)重要組成部分,在核心網(wǎng)中hlr主要負(fù)責(zé)管理用戶的數(shù)據(jù)庫,它存儲(chǔ)著所有在該hlr簽約用戶的位置信息、業(yè)務(wù)數(shù)據(jù)、賬戶管理等信息;hlr在存放用戶原始信息的同時(shí),可以根據(jù)用戶訪問的移動(dòng)交換中心(mobileswitchingcenter,msc)/拜訪位置寄存器(visitorlocationregister,vlr)/服務(wù)gprs支持節(jié)點(diǎn)(servinggprssupportnode,sgsn)不同,記錄并更新用戶當(dāng)前的位置信息,根據(jù)這些位置信息,hlr可以為用戶提供路由信息。
當(dāng)前的被叫用戶的路由信息查詢方法主要為:當(dāng)主叫a用戶呼叫本地被叫b用戶時(shí),a用戶將發(fā)送查詢請求,請求本地hlr數(shù)據(jù)庫查詢被叫b用戶號(hào)碼所屬的位置信息,待本地hlr查詢到b用戶的路由信息后發(fā)送至a用戶,至此完成被叫用戶的路由信息的查詢過程;當(dāng)前的hlr數(shù)據(jù)庫采用集中式存儲(chǔ)架構(gòu),hlr數(shù)據(jù)庫主要依托直接數(shù)值模擬(directnumericalsimulation,dns)查詢算法來實(shí)現(xiàn)被叫用戶的路由信息的查找,該查詢算法低效,無法快速定位被叫用戶的路由信息。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例期望提供一種被叫用戶的路由信息查詢方法及裝置,僅需較少的跳數(shù)即可完成被叫用戶號(hào)碼的路由信息的快速定位,提高被叫用戶的路由信息查詢的效率。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明提供一種被叫用戶號(hào)碼的路由信息查詢方法,所述方法包括:
利用chord協(xié)議建立環(huán)形歸屬簽約用戶服務(wù)器hss;其中,所述環(huán)形hss由n=a個(gè)子hss存儲(chǔ)單元按照順時(shí)針方向依次增大原則所組成,用戶號(hào)碼的路由信息存儲(chǔ)在所述n=a個(gè)子hss存儲(chǔ)單元上,所述n為大于等于3的整數(shù);
采用chord協(xié)議構(gòu)建所述n=a個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表;
根據(jù)所述用戶號(hào)碼的路由表的路由信息標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息。
上述方案中,在所述環(huán)形hss由所述n=a個(gè)子hss存儲(chǔ)單元按照順時(shí)針方向依次增大原則所組成之后,所述方法還包括:
確定在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的前一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的前驅(qū)子hss存儲(chǔ)單元,在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的后一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元。
上述方案中,所述采用chord協(xié)議構(gòu)建所述n=a個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表之后,所述方法還包括:
當(dāng)所述環(huán)形hss擴(kuò)容一個(gè)新的子hss存儲(chǔ)單元時(shí),利用所述chord協(xié)議確定所述新的子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元和前驅(qū)子hss存儲(chǔ)單元;
將屬于所述新的子hss存儲(chǔ)單元的用戶號(hào)碼的路由信息由所述n個(gè)子hss存儲(chǔ)單元轉(zhuǎn)移到所述新的子hss存儲(chǔ)單元中;
采用所述chord協(xié)議更新擴(kuò)容后的環(huán)形hss中的n=a+1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
上述方案中,所述方法還包括:所述當(dāng)前子hss存儲(chǔ)單元備份所述當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元內(nèi)的用戶號(hào)碼的路由信息。
上述方案中,所述當(dāng)前子hss存儲(chǔ)單元備份所述當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元內(nèi)的用戶號(hào)碼的路由信息之后,所述方法還包括:
當(dāng)所述環(huán)形hss減容一個(gè)舊的子hss存儲(chǔ)單元時(shí),采用所述chord協(xié)議更新減容后的環(huán)形hss中的n=a-1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
本發(fā)明還提供一種被叫用戶號(hào)碼的路由信息查詢裝置,所述裝置包括:
建立模塊,用于利用chord協(xié)議建立環(huán)形歸屬簽約用戶服務(wù)器hss;其中,所述環(huán)形hss由n=a個(gè)子hss存儲(chǔ)單元按照順時(shí)針方向依次增大原則所組成,用戶號(hào)碼的路由信息存儲(chǔ)在所述n=a個(gè)子hss存儲(chǔ)單元上,所述n為大于等于3的整數(shù);
路由表構(gòu)建模塊,用于采用chord協(xié)議構(gòu)建所述n=a個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表;
第一確定模塊,用于根據(jù)所述用戶號(hào)碼的路由表的標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息。
上述方案中,所述裝置還包括:
第二確定模塊,用于確定在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的前一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的前驅(qū)子hss存儲(chǔ)單元,在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的后一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元。
上述方案中,所述裝置還包括:
擴(kuò)容模塊,用于當(dāng)所述環(huán)形hss擴(kuò)容一個(gè)新的子hss存儲(chǔ)單元時(shí),利用所述chord協(xié)議確定所述新的子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元和前驅(qū)子hss存儲(chǔ)單元;
還用于將屬于所述新的子hss存儲(chǔ)單元的用戶號(hào)碼的路由信息由所述n個(gè)子hss存儲(chǔ)單元轉(zhuǎn)移到所述新的子hss存儲(chǔ)單元中;
還用于采用所述chord協(xié)議更新擴(kuò)容后的環(huán)形hss中的n=a+1個(gè)子hss 存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
上述方案中,所述裝置還包括:
備份模塊,用于所述當(dāng)前子hss存儲(chǔ)單元備份所述當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元內(nèi)的用戶號(hào)碼的路由信息。
上述方案中,所述裝置還包括:
移除模塊,用于當(dāng)所述環(huán)形hss減容一個(gè)舊的子hss存儲(chǔ)單元時(shí),采用所述chord協(xié)議更新減容后的環(huán)形hss中的n=a-1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
本發(fā)明實(shí)施例提供的被叫用戶的路由信息查詢方法及裝置,利用chord協(xié)議建立環(huán)形hss;其中,所述環(huán)形hss由n=a個(gè)子hss存儲(chǔ)單元按照順時(shí)針方向依次增大原則所組成,用戶號(hào)碼的路由信息存儲(chǔ)在所述n=a個(gè)子hss存儲(chǔ)單元上,所述n為大于等于3的整數(shù);確定在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元最近的前一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元,在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元最近的后一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元的后繼子hss存儲(chǔ)單元;采用chord協(xié)議構(gòu)建所述n=a個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表;根據(jù)所述用戶號(hào)碼的路由表的標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息;本發(fā)明的方法基于chord協(xié)議構(gòu)建分布式網(wǎng)絡(luò)架構(gòu)的環(huán)形hss,通過構(gòu)建各自子hss存儲(chǔ)單元的用戶號(hào)碼的路由表,根據(jù)路由表查詢到被叫用戶號(hào)碼的路由信息,相比集中式dns查詢算法效率更高,僅需較少的跳數(shù)即可完成被叫用戶號(hào)碼的路由信息的快速定位。
附圖說明
圖1為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例一的流程圖;
圖2為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例一的環(huán)形hss架構(gòu)圖;
圖3為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例一的子hss存儲(chǔ)單元邏輯連接示意圖;
圖4為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例二的流程圖;
圖5為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例三的流程圖;
圖6為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例三的減容前的子hss存儲(chǔ)單元邏輯連接示意圖;
圖7為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例三的減容后的子hss存儲(chǔ)單元邏輯連接示意圖;
圖8為本發(fā)明被叫用戶的路由信息查詢裝置實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
圖1為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例一的流程圖,如圖1所示,本發(fā)明的方法步驟可以包括如下步驟:
步驟101、利用chord協(xié)議建立環(huán)形hss;其中,所述環(huán)形hss由n=a個(gè)子hss存儲(chǔ)單元按照順時(shí)針方向依次增大原則所組成,用戶號(hào)碼的路由信息存儲(chǔ)在所述n=a個(gè)子hss存儲(chǔ)單元上,所述n為大于等于3的整數(shù)。
chord協(xié)議是一種為網(wǎng)絡(luò)應(yīng)用開發(fā)的擴(kuò)展性較好的p2p發(fā)現(xiàn)服務(wù),chord協(xié)議為hss的每個(gè)節(jié)點(diǎn)和關(guān)鍵字(key)分配m位標(biāo)識(shí)符,m最大為160位整數(shù),因此最大地址空間為2160;關(guān)鍵字由用戶號(hào)碼的路由信息標(biāo)識(shí)符(routinginformationid,riid)表示,節(jié)點(diǎn)標(biāo)識(shí)符為子hss存儲(chǔ)單元標(biāo)識(shí)符(n)。每個(gè)子hss存儲(chǔ)單元都有兩個(gè)鄰居子hss存儲(chǔ)單元。
被叫用戶號(hào)碼的路由信息查詢裝置利用chord協(xié)議建立環(huán)形hss,其中,所述環(huán)形hss由n=a個(gè)子hss存儲(chǔ)單元按照順時(shí)針方向依次增大原則所組成,用戶號(hào)碼的路由信息存儲(chǔ)在所述n=a個(gè)子hss存儲(chǔ)單元上,所述n為大于等于3的整數(shù)。
圖2為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例一的環(huán)形hss架構(gòu)圖,圖3為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例一的子hss存儲(chǔ)單元邏輯連 接示意圖,如圖2、圖3所示,本發(fā)明實(shí)施例設(shè)計(jì)為n=200個(gè)子hss存儲(chǔ)單元(圖中現(xiàn)有子hss存儲(chǔ)單元為11個(gè),其余子hss存儲(chǔ)單元未示出);用戶號(hào)碼的路由信息標(biāo)識(shí)符設(shè)計(jì)為m=48位,則理論上可以存儲(chǔ)的用戶號(hào)碼的路由信息數(shù)量為248個(gè),因此本發(fā)明實(shí)施例的最大用戶號(hào)碼的路由信息數(shù)量為n=200×1012(2×1014<248);環(huán)形hss有200個(gè)子hss存儲(chǔ)單元,每個(gè)子hss存儲(chǔ)單元存儲(chǔ)1×1012條用戶號(hào)碼的路由信息;在此設(shè)計(jì)第一個(gè)保存1×1012條用戶號(hào)碼路由信息的子hss存儲(chǔ)單元標(biāo)識(shí)符為n1×1012,則根據(jù)chord協(xié)議的子hss存儲(chǔ)單元標(biāo)識(shí)符順時(shí)針方向依次增大原則,在此設(shè)計(jì)第二個(gè)hss存儲(chǔ)單元標(biāo)識(shí)符為n2×1012,第三個(gè)子hss存儲(chǔ)單元標(biāo)識(shí)符為n3×1012,第n個(gè)子hss存儲(chǔ)單元標(biāo)識(shí)符為nn×1012。
步驟102、確定在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的前一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的前驅(qū)子hss存儲(chǔ)單元,在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的后一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元。
被叫用戶號(hào)碼的路由信息查詢裝置根據(jù)表1中的指向開始項(xiàng)finger[k].start及確定前驅(qū)子hss存儲(chǔ)單元項(xiàng).node可以確定在環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的前一個(gè)有效的子hss存儲(chǔ)單元,即當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的前驅(qū)子hss存儲(chǔ)單元,在確定出當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的前驅(qū)子hss存儲(chǔ)單元后可以確定出在環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的后一個(gè)有效的子hss存儲(chǔ)單元,即為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元。
表1
步驟103、采用chord協(xié)議構(gòu)建所述n=a個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
被叫用戶號(hào)碼的路由信息查詢裝置采用chord協(xié)議構(gòu)建所述n=a個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表;表2為用戶號(hào)碼的路由表,如表2所示:
表2
用戶號(hào)碼的路由表包括了指向開始項(xiàng)finger[k].start、區(qū)間項(xiàng).interval、確定前驅(qū)子hss存儲(chǔ)單元項(xiàng).node、前驅(qū)子hss存儲(chǔ)單元項(xiàng)successor、后繼子hss存儲(chǔ)單元項(xiàng)predecessor。
例如,構(gòu)建子hss存儲(chǔ)單元為n8×1012的用戶號(hào)碼的路由表,子hss存儲(chǔ)單元為n8×1012的用戶號(hào)碼的路由表每個(gè)表項(xiàng)分別以每個(gè)用戶號(hào)碼的路由信息標(biāo)識(shí)符(riid):
(8×1012+20)mod248=8×1012+20,(8×1012+21)mod248=8×1012+21,
(8×1012+22)mod248=8×1012+22,…,(8×1012+245)mod248=8×1012+245,
(8×1012+246)mod248=8×1012+246,(8×1012+247)mod248=8×1012+247(mod為取余運(yùn)算)
為起始,對應(yīng)的用戶號(hào)碼的路由信息標(biāo)識(shí)符(riid)分別為:
[8×1012+20,8×1012+21),[8×1012+21,8×1012+22),…,
[8×1012+245,8×1012+246),[8×1012+246,8×1012+247),因此每個(gè)用戶號(hào)碼路由信息的后繼子hss存儲(chǔ)單元分別為9×1012,9×1012,9×1012,…,44×1012,79×1012,149×1012。
表3為子hss存儲(chǔ)單元為n8×1012的用戶號(hào)碼的路由表,如表3所示:
表3
按照構(gòu)建子hss存儲(chǔ)單元為n8×1012的用戶號(hào)碼的路由表的方法,可以分別得到子hss存儲(chǔ)單元為n44×1012的用戶號(hào)碼的路由表,子hss存儲(chǔ)單元為n49×1012的用戶號(hào)碼的路由表。
表4為子hss存儲(chǔ)單元為n44×1012的用戶號(hào)碼的路由表,如表4所示:
表4
表5為子hss存儲(chǔ)單元為n49×1012的用戶號(hào)碼的路由表,如表5所示:
表5
步驟104、根據(jù)所述用戶號(hào)碼的路由表的標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息。
被叫用戶號(hào)碼的路由信息查詢裝置根據(jù)所述用戶號(hào)碼的路由表的標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息;具體的,被叫用戶號(hào)碼的路由信息查詢裝置可以從任一一個(gè)子hss存儲(chǔ)單元開始查找被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符,當(dāng)查詢到一個(gè)后繼子hss存儲(chǔ)單元時(shí),被叫用戶號(hào)碼的路由信息查詢裝置會(huì)判斷被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符的值是否小于等于當(dāng)前后繼子hss存儲(chǔ)單元標(biāo)識(shí)符的值,如果被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符的值大于當(dāng)前后繼子hss存儲(chǔ)單元標(biāo)識(shí)符的值,則繼續(xù)判斷被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符的值是否小于等于下一個(gè)后繼子hss存儲(chǔ)單元標(biāo)識(shí)符的值,直到被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符的值小于等于后繼子hss存儲(chǔ)單元標(biāo)識(shí)符的值為止,這樣根據(jù)后繼 子hss存儲(chǔ)單元標(biāo)識(shí)符指向關(guān)系就可以確定出被叫用戶號(hào)碼的路由信息;總之,在一個(gè)有n個(gè)子hss存儲(chǔ)單元的環(huán)形hss中,每次進(jìn)行被叫用戶號(hào)碼的路由信息查詢的路徑長度最多為log2(n)跳。
例如,從子hss存儲(chǔ)單元為n8×1012開始查找被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符riid50×1012時(shí),由表3可以得到被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符riid50×1012在區(qū)間[riid8×1012+245,riid8×1012+246)內(nèi),其對應(yīng)的后繼子hss存儲(chǔ)單元為n44×1012,因?yàn)楸徊檎业膔iid50×1012的值50×1012大于后繼子hss存儲(chǔ)單元n44×1012的值44×1012,因此繼續(xù)查詢子hss存儲(chǔ)單元n44×1012,由表4可以得到被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符riid50×1012在區(qū)間[riid44×1012+242,riid44×1012+243)內(nèi),其對應(yīng)的后繼子hss存儲(chǔ)單元為n49×1012,因?yàn)楸徊檎业膔iid50×1012的值50×1012大于后繼子hss存儲(chǔ)單元n49×1012的值49×1012,因此繼續(xù)查詢子hss存儲(chǔ)單元n49×1012,由表5可以得到被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符riid50×1012在區(qū)間[riid49×1012+239,riid49×1012+240)內(nèi),其對應(yīng)的后繼子hss存儲(chǔ)單元為n50×1012,因?yàn)楸徊檎业膔iid50×1012的值50×1012小于等于后繼子hss存儲(chǔ)單元n50×1012的值50×1012,因此被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符riid50×1012存儲(chǔ)在子hss存儲(chǔ)單元n50×1012內(nèi),可以根據(jù)子hss存儲(chǔ)單元n50×1012標(biāo)識(shí)符指向關(guān)系得到被叫用戶號(hào)碼的路由信息標(biāo)識(shí)符riid50×1012所對應(yīng)的被叫用戶號(hào)碼的路由信息,至此被叫用戶號(hào)碼的路由信息查詢完成,其查找過程總共為3跳。
本發(fā)明實(shí)施例提供的被叫用戶的路由信息查詢方法,利用chord協(xié)議建立環(huán)形hss;其中,所述環(huán)形hss由n=a個(gè)子hss存儲(chǔ)單元按照順時(shí)針方向依次增大原則所組成,用戶號(hào)碼的路由信息存儲(chǔ)在所述n=a個(gè)子hss存儲(chǔ)單元上,所述n為大于等于3的整數(shù);確定在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元最近的前一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元,在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元最近的后一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元的后繼子hss存儲(chǔ)單元;采用chord協(xié)議構(gòu)建所述n=a個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表;根據(jù)所述用戶號(hào) 碼的路由表的標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息;本發(fā)明的方法基于chord協(xié)議構(gòu)建分布式網(wǎng)絡(luò)架構(gòu)的環(huán)形hss,通過構(gòu)建各自子hss存儲(chǔ)單元的用戶號(hào)碼的路由表,根據(jù)路由表查詢到被叫用戶號(hào)碼的路由信息,相比集中式dns查詢算法效率更高,僅需較少的跳數(shù)即可完成被叫用戶號(hào)碼的路由信息的快速定位。
為了更加體現(xiàn)出本發(fā)明的目的,在上述實(shí)施例的基礎(chǔ)上,進(jìn)一步的舉例說明。
圖4為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例二的流程圖,如圖4所示,在上述實(shí)施例的步驟102之后,本發(fā)明實(shí)施例的方法包括:
步驟201、當(dāng)所述環(huán)形hss擴(kuò)容一個(gè)新的子hss存儲(chǔ)單元時(shí),利用所述chord協(xié)議確定所述新的子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元和前驅(qū)子hss存儲(chǔ)單元。
當(dāng)之前的環(huán)形hss擴(kuò)容一個(gè)新的子hss存儲(chǔ)單元時(shí),即當(dāng)前的環(huán)形hss中子hss存儲(chǔ)單元為n=a+1個(gè)時(shí),被叫用戶號(hào)碼的路由信息查詢裝置利用chord協(xié)議確定這個(gè)擴(kuò)容的新的子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元和前驅(qū)子hss存儲(chǔ)單元,具體可以按照步驟102的方法得到這個(gè)擴(kuò)容的新的子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元和前驅(qū)子hss存儲(chǔ)單元,在此不加以贅述。
步驟202、將屬于所述新的子hss存儲(chǔ)單元的用戶號(hào)碼的路由信息由所述n個(gè)子hss存儲(chǔ)單元轉(zhuǎn)移到所述新的子hss存儲(chǔ)單元中。
被叫用戶號(hào)碼的路由信息查詢裝置將屬于新的子hss存儲(chǔ)單元的用戶號(hào)碼的路由信息由之前的n個(gè)子hss存儲(chǔ)單元中轉(zhuǎn)移到新的子hss存儲(chǔ)單元中。
步驟203、采用所述chord協(xié)議更新擴(kuò)容后的環(huán)形hss中的n=a+1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
被叫用戶號(hào)碼的路由信息查詢裝置采用chord協(xié)議更新擴(kuò)容后的環(huán)形hss中的n=a+1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表,具體可以參照步驟103的方法可以得到擴(kuò)容后的環(huán)形hss中的n=a+1個(gè)子hss存儲(chǔ)單元各自 對應(yīng)的用戶號(hào)碼的路由表,在此不加以贅述。
步驟204、根據(jù)所述用戶號(hào)碼的路由表的路由信息標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息。
被叫用戶號(hào)碼的路由信息查詢裝置根據(jù)更新后的用戶號(hào)碼的路由表的路由信息標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息,具體可以參照步驟104的方法可以得到被叫用戶號(hào)碼的路由信息,在此不加以贅述。
本發(fā)明實(shí)施例提供的被叫用戶的路由信息查詢方法,在實(shí)施例一的基礎(chǔ)上進(jìn)一步的,當(dāng)環(huán)形hss擴(kuò)容一個(gè)新的子hss存儲(chǔ)單元時(shí),利用chord協(xié)議確定新的子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元和前驅(qū)子hss存儲(chǔ)單元;將屬于新的子hss存儲(chǔ)單元的用戶號(hào)碼的路由信息由之前的n個(gè)子hss存儲(chǔ)單元中轉(zhuǎn)移到新的子hss存儲(chǔ)單元中;采用chord協(xié)議更新擴(kuò)容后的環(huán)形hss中的n=a+1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表;根據(jù)用戶號(hào)碼的路由表的路由信息標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息;在上述實(shí)施例的技術(shù)效果的基礎(chǔ)上,實(shí)現(xiàn)了子hss存儲(chǔ)單元擴(kuò)容的簡易化,增強(qiáng)了擴(kuò)展性。
圖5為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例三的流程圖,如圖5所示,在上述實(shí)施例的步驟102之后,本發(fā)明實(shí)施例的方法包括:
步驟301、所述當(dāng)前子hss存儲(chǔ)單元備份所述當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元內(nèi)的用戶號(hào)碼的路由信息。
被叫用戶號(hào)碼的路由信息查詢裝置指示當(dāng)前子hss存儲(chǔ)單元備份當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元內(nèi)的用戶號(hào)碼的路由信息,即每個(gè)子hss存儲(chǔ)單元內(nèi)的用戶號(hào)碼的路由信息都備份在每個(gè)子hss存儲(chǔ)單元所對應(yīng)的前驅(qū)子hss存儲(chǔ)單元內(nèi)。
步驟302、當(dāng)所述環(huán)形hss減容一個(gè)舊的子hss存儲(chǔ)單元時(shí),采用所述chord協(xié)議更新減容后的環(huán)形hss中的n=a-1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
當(dāng)環(huán)形hss減容一個(gè)舊的子hss存儲(chǔ)單元時(shí)(分為正常移除和故障崩潰 兩種情況),若被叫用戶號(hào)碼的路由信息正好存儲(chǔ)在該舊的子hss存儲(chǔ)單元時(shí),則無法完成查詢過程;這時(shí),被叫用戶號(hào)碼的路由信息查詢裝置檢測到環(huán)形hss減容一個(gè)舊的子hss存儲(chǔ)單元后,首先通告其前驅(qū)子hss存儲(chǔ)單元這個(gè)舊的子hss存儲(chǔ)單元將離開環(huán)形hss,并調(diào)用其后繼子hss存儲(chǔ)單元中的該舊的子hss存儲(chǔ)單元的用戶號(hào)碼的路由信息;然后利用chord協(xié)議更新減容后的環(huán)形hss中的n=a-1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表,剔除該舊的子hss存儲(chǔ)單元對環(huán)形hss的影響。
例如,圖6為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例三的減容前的子hss存儲(chǔ)單元邏輯連接示意圖,圖7為本發(fā)明被叫用戶的路由信息查詢方法實(shí)施例三的減容后的子hss存儲(chǔ)單元邏輯連接示意圖,如圖6、圖7所示,環(huán)形hss在減容子hss存儲(chǔ)單元n7×1012后,利用chord協(xié)議更新減容后的環(huán)形hss中的199個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表;子hss存儲(chǔ)單元n7×1012減容后,其存儲(chǔ)的用戶號(hào)碼的路由信息轉(zhuǎn)移至n8×1012。
表6為更新前的子hss存儲(chǔ)單元n6×1012的用戶號(hào)碼的路由表,如表6所示:
表6
表7為更新后的子hss存儲(chǔ)單元n6×1012的用戶號(hào)碼的路由表,如表7所示:
步驟303、根據(jù)所述用戶號(hào)碼的路由表的路由信息標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息。
被叫用戶號(hào)碼的路由信息查詢裝置根據(jù)更新后的用戶號(hào)碼的路由表的路由信息標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息,具體可以參照步驟104的方法可以得到被叫用戶號(hào)碼的路由信息,在此不加以贅述。
本發(fā)明實(shí)施例提供的被叫用戶的路由信息查詢方法,在實(shí)施例一的基礎(chǔ)上進(jìn)一步的,通過當(dāng)前子hss存儲(chǔ)單元備份當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元內(nèi)的用戶號(hào)碼的路由信息;當(dāng)環(huán)形hss減容一個(gè)舊的子hss存儲(chǔ)單元時(shí),采用chord協(xié)議更新減容后的環(huán)形hss中的n=a-1個(gè)子hss存儲(chǔ)單元各 自對應(yīng)的用戶號(hào)碼的路由表;根據(jù)用戶號(hào)碼的路由表的路由信息標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息;在上述實(shí)施例的技術(shù)效果的基礎(chǔ)上,可以在任一子hss存儲(chǔ)單元失效時(shí)依舊完成被叫用戶路由的信息查詢,實(shí)現(xiàn)了備份數(shù)據(jù)高效利用和降低了子hss存儲(chǔ)單元崩潰帶來的風(fēng)險(xiǎn)。
圖8為本發(fā)明被叫用戶的路由信息查詢裝置實(shí)施例的結(jié)構(gòu)示意圖,如圖8所示,本發(fā)明的被叫用戶的路由信息查詢裝置08包括:建立模塊81、路由表構(gòu)建模塊82、第一確定模塊83;其中,
所述建立模塊,用于利用chord協(xié)議建立環(huán)形歸屬簽約用戶服務(wù)器hss;其中,所述環(huán)形hss由n=a個(gè)子hss存儲(chǔ)單元按照順時(shí)針方向依次增大原則所組成,用戶號(hào)碼的路由信息存儲(chǔ)在所述n=a個(gè)子hss存儲(chǔ)單元上,所述n為大于等于3的整數(shù);
所述路由表構(gòu)建模82,用于采用chord協(xié)議構(gòu)建所述n=a個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表;
所述第一確定模塊83,用于根據(jù)所述用戶號(hào)碼的路由表的標(biāo)識(shí)符指向關(guān)系確定出被叫用戶號(hào)碼的路由信息。
進(jìn)一步的,所述裝置還包括:第二確定模塊84;其中
所述第二確定模塊84,用于確定在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的前一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的前驅(qū)子hss存儲(chǔ)單元,在所述環(huán)形hss中離當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符最近的后一個(gè)有效的子hss存儲(chǔ)單元為當(dāng)前子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元。
進(jìn)一步的,所述裝置還包括:擴(kuò)容模塊85;其中,
所述擴(kuò)容模塊85,用于當(dāng)所述環(huán)形hss擴(kuò)容一個(gè)新的子hss存儲(chǔ)單元時(shí),利用所述chord協(xié)議確定所述新的子hss存儲(chǔ)單元中路由信息標(biāo)識(shí)符的后繼子hss存儲(chǔ)單元和前驅(qū)子hss存儲(chǔ)單元;
還用于將屬于所述新的子hss存儲(chǔ)單元的用戶號(hào)碼的路由信息由所述n個(gè)子hss存儲(chǔ)單元轉(zhuǎn)移到所述新的子hss存儲(chǔ)單元中;
還用于采用所述chord協(xié)議更新擴(kuò)容后的環(huán)形hss中的n=a+1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
進(jìn)一步的,所述裝置還包括:備份模塊86;其中,
所述備份模塊86,用于所述當(dāng)前子hss存儲(chǔ)單元備份所述當(dāng)前子hss存儲(chǔ)單元的前驅(qū)子hss存儲(chǔ)單元內(nèi)的用戶號(hào)碼的路由信息。
進(jìn)一步的,所述裝置還包括:移除模塊87;其中,
所述移除模塊87,用于當(dāng)所述環(huán)形hss減容一個(gè)舊的子hss存儲(chǔ)單元時(shí),采用所述chord協(xié)議更新減容后的環(huán)形hss中的n=a-1個(gè)子hss存儲(chǔ)單元各自對應(yīng)的用戶號(hào)碼的路由表。
本實(shí)施例的裝置,可以用于執(zhí)行上述所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
在實(shí)際應(yīng)用中,所述建立模塊81、路由表構(gòu)建模塊82、第一確定模塊83、第二確定模塊84、擴(kuò)容模塊85、備份模塊86、移除模塊87可由位于裝置上的中央處理器(cpu)、微處理器(mpu)、數(shù)字信號(hào)處理器(dsp)或現(xiàn)場可編程門陣列(fpga)等器件實(shí)現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。