專利名稱:一種海量電話號(hào)碼的查找方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電信通訊技術(shù)領(lǐng)域,特別涉及ー種海量電話號(hào)碼的查找,及該方法在電信增值業(yè)務(wù)中的應(yīng)用。
背景技術(shù):
中國(guó)各大電信運(yùn)營(yíng)商的用戶數(shù)都是以億為單位,各種全網(wǎng)用戶的增值業(yè)務(wù)系統(tǒng)常常需要對(duì)海量的電話號(hào)碼進(jìn)行查找定位。常見的算法有順序查找,查找性能是O (η),平均查找長(zhǎng)度為(η+1)/2,插入性能是O (I),隨著 樣本數(shù)據(jù)的增多,查找效率線性下降;二分法查找,性能是O (log2 η),平均查找長(zhǎng)度為log2(n+l)-l,插入性能是0(η) ;ニ叉排序樹的查找和插入性能介于順序查找與二分法查找之間;哈希表法查找和插入性能往往可以得達(dá)是0(1),但哈希表法是一空間來(lái)?yè)Q取查找效率的,隨著樣本數(shù)據(jù)的越大,對(duì)空間的要求越高。千萬(wàn)級(jí)的電話號(hào)碼面前,以上的算法都不大適用。要一個(gè)新的算法來(lái)滿足千萬(wàn)級(jí)的電話號(hào)碼的查找需要。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)千萬(wàn)級(jí)的電話號(hào)碼情況下,現(xiàn)有的查找算法無(wú)法滿足在有限的存儲(chǔ)空間下實(shí)現(xiàn)性能是O (I)查找的電話號(hào)碼問(wèn)題,提供一種高效率的解決方法,可以很好的滿足空間和時(shí)間的要求。為了實(shí)現(xiàn)發(fā)明目的,采用的技術(shù)方案如下—種海量電話號(hào)碼的查找方法,其原理由基于采用了ニ維整形數(shù)組和特定的哈希算法結(jié)合,實(shí)現(xiàn)高效的查找方法。ニ維整形數(shù)組,其原理是把11位的電話號(hào)碼分成兩部分——后面的5位字符串和前面的6位字符串,通過(guò)哈希算法得到數(shù)組下標(biāo)。電話號(hào)碼的特點(diǎn)是前面6位俗稱是H碼,有效值范圍遠(yuǎn)遠(yuǎn)小于1,000, 000,分開處理可以大大減少對(duì)空間的要求。另外,有6位字符串得到的哈希值,可以控制在32位的整形數(shù)值以內(nèi),直接使用哈希值作為數(shù)組下標(biāo),查找的性能為O (I)。哈希算法,將任意長(zhǎng)度的ニ進(jìn)制值映射為固定長(zhǎng)度的較小ニ進(jìn)制值,這個(gè)小的ニ進(jìn)制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。哈希表是根據(jù)設(shè)定的哈希函數(shù)H(key)和處理沖突方法將ー組關(guān)鍵字映象到ー個(gè)有限的地址區(qū)間上,并以關(guān)鍵字在地址區(qū)間中的象作為記錄在表中的存儲(chǔ)位置,這種表稱為哈希表或散列,所得存儲(chǔ)位置稱為哈希地址或散列地址。作為線性數(shù)據(jù)結(jié)構(gòu)與表格和隊(duì)列等相比,哈希表無(wú)疑是查找速度比較快的ー種。分組后電話號(hào)碼的特點(diǎn)都是由十個(gè)阿拉伯?dāng)?shù)字組成,最多是6個(gè)數(shù)字字符。H (key) = F (keyO) +F (keyl) +F (key2) +F (key3) +F (key4) +F (key5)使用上述的公式,可以得到ー個(gè)整形數(shù)字,作為數(shù)組下標(biāo),實(shí)現(xiàn)0(1)級(jí)別的查找。
數(shù)字字符的映射算法,其原理是使用數(shù)字的ASCII碼減去0x30,得到數(shù)字字符的映射值。通過(guò)這個(gè)算法,得到數(shù)字’ O’的值為0,數(shù)字’ I’的值為1,如此類推。此外,為了區(qū)分‘0’和空的區(qū)別,定義空的映射值為10。11進(jìn)制的算法有上述的映射算法得到11個(gè)映射有效值,從O到10。所以F(key)是使用11進(jìn)制。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖是本發(fā)明的通過(guò)被叫字段查找用戶信息的流程圖。
具體實(shí)施例方式本專利的實(shí)施場(chǎng)景為,用戶發(fā)起呼叫,經(jīng)過(guò)信令平臺(tái);信令平臺(tái)把漏話信息傳遞給漏話平臺(tái);漏話平臺(tái)判斷是否被叫號(hào)碼是否開通了漏話業(yè)務(wù),如果是的話,就通過(guò)短信平臺(tái)向被叫用戶發(fā)出漏話信息。實(shí)施流程為I.信令平臺(tái)向漏話平臺(tái)傳遞漏話數(shù)據(jù),傳遞參數(shù)用戶主叫號(hào)碼、被叫號(hào)碼。通訊協(xié)議TCP,信令平臺(tái)是客戶端,漏話平臺(tái)是服務(wù)端。2.漏話平臺(tái)把被叫號(hào)碼按長(zhǎng)度分為兩部分,根據(jù)數(shù)字的映射和11進(jìn)算法,分別得到Keyl和Key2 ;以Keyl和Key2為ニ維數(shù)組的下標(biāo),高效地定位到用戶信息。3.漏話平臺(tái)根據(jù)用戶的信息決定是否向短信平臺(tái)發(fā)漏話短信。通訊協(xié)議TCP,短信平臺(tái)是服務(wù)端,漏話平臺(tái)是客戶端。以上所述僅是本發(fā)明的具體實(shí)施方式
,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.ー種海量電話號(hào)碼的查找方法,其特征在于采用了ニ維整形數(shù)組和特定的哈希算法結(jié)合,實(shí)現(xiàn)高效的查找方法。
2.根據(jù)權(quán)利要求I所述的ニ維整形數(shù)組,其特征在于將11位的電話號(hào)碼分成兩部分——后面的5位字符串和前面的6位字符串。
3.根據(jù)權(quán)利要求I所述的ニ維整形數(shù)組,其特征在于通過(guò)特定的哈希算法,把字符串轉(zhuǎn)換為整形數(shù)值,作為數(shù)組的下標(biāo)。
4.根據(jù)權(quán)利要求3所述的哈希算法,其保護(hù)特征在于使用建立數(shù)字字符的映射算法,解決號(hào)碼“O”的問(wèn)題。
5.根據(jù)權(quán)利要求3所述的哈希算法,其保護(hù)特征在于使用11進(jìn)制的方法,解決10個(gè)有效字符和空字符的問(wèn)題。
全文摘要
本發(fā)明提供了一種通過(guò)二維整形數(shù)組和特定的哈希算法結(jié)合,實(shí)現(xiàn)高效的電話號(hào)碼的查找方法以及在電信領(lǐng)域漏話業(yè)務(wù)的應(yīng)用。其特征在于通過(guò)特定的哈希算法,由字符串查找轉(zhuǎn)化為數(shù)組下標(biāo)查找,提高查找的效率;通過(guò)二維數(shù)組減少數(shù)組下標(biāo)的可能范圍,從而減少對(duì)內(nèi)存空間需求的。該方法用以解決海量電話號(hào)碼高效查找定位的問(wèn)題。
文檔編號(hào)G06F17/30GK102693277SQ201210109680
公開日2012年9月26日 申請(qǐng)日期2012年4月11日 優(yōu)先權(quán)日2012年4月11日
發(fā)明者寧學(xué)軍, 張少文, 鄧從健 申請(qǐng)人:佳都新太科技股份有限公司