CN102693277A - 一种海量电话号码的查找方法 - Google Patents
一种海量电话号码的查找方法 Download PDFInfo
- Publication number
- CN102693277A CN102693277A CN2012101096801A CN201210109680A CN102693277A CN 102693277 A CN102693277 A CN 102693277A CN 2012101096801 A CN2012101096801 A CN 2012101096801A CN 201210109680 A CN201210109680 A CN 201210109680A CN 102693277 A CN102693277 A CN 102693277A
- Authority
- CN
- China
- Prior art keywords
- telephone number
- search
- array
- algorithm
- hash algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种通过二维整形数组和特定的哈希算法结合,实现高效的电话号码的查找方法以及在电信领域漏话业务的应用。其特征在于通过特定的哈希算法,由字符串查找转化为数组下标查找,提高查找的效率;通过二维数组减少数组下标的可能范围,从而减少对内存空间需求的。该方法用以解决海量电话号码高效查找定位的问题。
Description
技术领域
本发明属于电信通讯技术领域,特别涉及一种海量电话号码的查找,及该方法在电信增值业务中的应用。
背景技术
中国各大电信运营商的用户数都是以亿为单位,各种全网用户的增值业务系统常常需要对海量的电话号码进行查找定位。
常见的算法有:
顺序查找,查找性能是0(n),平均查找长度为(n+1)/2,插入性能是0(1),随着样本数据的增多,查找效率线性下降;二分法查找,性能是0(log2 n),平均查找长度为log2(n+1)-1,插入性能是0(n);二叉排序树的查找和插入性能介于顺序查找与二分法查找之间;哈希表法查找和插入性能往往可以得达是0(1),但哈希表法是一空间来换取查找效率的,随着样本数据的越大,对空间的要求越高。千万级的电话号码面前,以上的算法都不大适用。要一个新的算法来满足千万级的电话号码的查找需要。
发明内容
本发明的目的是针对千万级的电话号码情况下,现有的查找算法无法满足在有限的存储空间下实现性能是0(1)查找的电话号码问题,提供一种高效率的解决方法,可以很好的满足空间和时间的要求。
为了实现发明目的,采用的技术方案如下:
一种海量电话号码的查找方法,其原理由基于采用了二维整形数组和特定的哈希算法结合,实现高效的查找方法。
二维整形数组,其原理是把11位的电话号码分成两部分——后面的5位字符串和前面的6位字符串,通过哈希算法得到数组下标。电话号码的特点是前面6位俗称是H码,有效值范围远远小于1,000,000,分开处理可以大大减少对空间的要求。另外,有6位字符串得到的哈希值,可以控制在32位的整形数值以内,直接使用哈希值作为数组下标,查找的性能为0(1)。
哈希算法,将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。哈希表是根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。作为线性数据结构与表格和队列等相比,哈希表无疑是查找速度比较快的一种。分组后电话号码的特点都是由十个阿拉伯数字组成,最多是6个数字字符。
H(key)=F(key0)+F(key1)+F(key2)+F(key3)+F(key4)+F(key5)
使用上述的公式,可以得到一个整形数字,作为数组下标,实现0(1)级别的查找。
数字字符的映射算法,其原理是使用数字的ASCII码减去0x30,得到数字字符的映射值。通过这个算法,得到数字’0’的值为0,数字’1’的值为1,如此类推。此外,为了区分‘0’和空的区别,定义空的映射值为10。
11进制的算法:有上述的映射算法得到11个映射有效值,从0到10。所以F(key)是使用11进制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图是本发明的通过被叫字段查找用户信息的流程图。
具体实施方式
本专利的实施场景为,用户发起呼叫,经过信令平台;信令平台把漏话信息传递给漏话平台;漏话平台判断是否被叫号码是否开通了漏话业务,如果是的话,就通过短信平台向被叫用户发出漏话信息。
实施流程为:
1.信令平台向漏话平台传递漏话数据,传递参数:用户主叫号码、被叫号码。通讯协议:TCP,信令平台是客户端,漏话平台是服务端。
2.漏话平台把被叫号码按长度分为两部分,根据数字的映射和11进算法,分别得到Key1和Key2;以Key1和Key2为二维数组的下标,高效地定位到用户信息。
3.漏话平台根据用户的信息决定是否向短信平台发漏话短信。通讯协议:TCP,短信平台是服务端,漏话平台是客户端。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种海量电话号码的查找方法,其特征在于采用了二维整形数组和特定的哈希算法结合,实现高效的查找方法。
2.根据权利要求1所述的二维整形数组,其特征在于将11位的电话号码分成两部分——后面的5位字符串和前面的6位字符串。
3.根据权利要求1所述的二维整形数组,其特征在于通过特定的哈希算法,把字符串转换为整形数值,作为数组的下标。
4.根据权利要求3所述的哈希算法,其保护特征在于使用建立数字字符的映射算法,解决号码“0”的问题。
5.根据权利要求3所述的哈希算法,其保护特征在于使用11进制的方法,解决10个有效字符和空字符的问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101096801A CN102693277A (zh) | 2012-04-11 | 2012-04-11 | 一种海量电话号码的查找方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101096801A CN102693277A (zh) | 2012-04-11 | 2012-04-11 | 一种海量电话号码的查找方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102693277A true CN102693277A (zh) | 2012-09-26 |
Family
ID=46858711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101096801A Pending CN102693277A (zh) | 2012-04-11 | 2012-04-11 | 一种海量电话号码的查找方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102693277A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544305A (zh) * | 2013-11-01 | 2014-01-29 | 上海斐讯数据通信技术有限公司 | 基于双哈希结构二维动态联系人查询列表查询方法及系统 |
CN112364368A (zh) * | 2020-12-02 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种电话号码加密存储方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158955A (zh) * | 2007-11-15 | 2008-04-09 | 电子科技大学 | 一种中文词库的构造方法 |
CN101958883A (zh) * | 2010-03-26 | 2011-01-26 | 湘潭大学 | 一种基于Bloom Filter和开源内核防御SYN Flood攻击的方法 |
-
2012
- 2012-04-11 CN CN2012101096801A patent/CN102693277A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158955A (zh) * | 2007-11-15 | 2008-04-09 | 电子科技大学 | 一种中文词库的构造方法 |
CN101958883A (zh) * | 2010-03-26 | 2011-01-26 | 湘潭大学 | 一种基于Bloom Filter和开源内核防御SYN Flood攻击的方法 |
Non-Patent Citations (5)
Title |
---|
曹晨: "HASH技术在SIP服务器中的应用", 《四川省通信学会2010年学术年会论文集》 * |
曹晨: "散列技术在SIP服务器中的应用", 《中国新通信》 * |
杨琦: "C++程序设计 实验教学大纲", 《C++程序设计 实验教学大纲》 * |
骆剑锋: "哈希表与一般查找方法的比较及冲突的解决", 《十堰职业技术学院学报》 * |
魏琪: "设计哈希表建立电话号码查询系统", 《百度文库》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544305A (zh) * | 2013-11-01 | 2014-01-29 | 上海斐讯数据通信技术有限公司 | 基于双哈希结构二维动态联系人查询列表查询方法及系统 |
CN103544305B (zh) * | 2013-11-01 | 2017-12-19 | 上海斐讯数据通信技术有限公司 | 基于双哈希结构二维动态联系人查询列表查询方法及系统 |
CN112364368A (zh) * | 2020-12-02 | 2021-02-12 | 四川长虹电器股份有限公司 | 一种电话号码加密存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101938565A (zh) | 短信处理方法及移动终端 | |
CN104462141B (zh) | 一种数据存储与查询的方法、系统及存储引擎装置 | |
CN103618733B (zh) | 一种应用于移动互联网的数据过滤系统及方法 | |
CN109766707B (zh) | 基于区块链的数据处理方法、装置、设备和介质 | |
CN102779174A (zh) | 一种舆情信息展示系统及方法 | |
CN106850187A (zh) | 一种隐私字符信息加密查询方法及系统 | |
CN101478608A (zh) | 基于二维散列的海量数据的快速操作方法 | |
CN102609464A (zh) | Mongodb分片联表查询方法及装置 | |
CN102769691A (zh) | 新信息的提示方法和通信终端 | |
US8532331B2 (en) | Method for monitoring a picture or multimedia video pictures in a communication system | |
CN107665310A (zh) | 一种移动终端文件的加密存储、读取和删除方法 | |
CN103354576B (zh) | 手机及其手机号归属信息的存储及查找方法 | |
CN104636477A (zh) | 一种信息推送前推送列表的去重方法 | |
CN105045911A (zh) | 一种用于用户进行标记的标签生成方法及设备 | |
CN100574340C (zh) | 一种查找手机短信的方法 | |
CN103389976A (zh) | 用于终端的搜索方法及系统 | |
Aad et al. | NRC data collection and the privacy by design principles | |
CN103746851A (zh) | 一种实现独立用户数统计的方法及装置 | |
CN102693277A (zh) | 一种海量电话号码的查找方法 | |
CN105120046A (zh) | 一种根据新增号码的备注信息创建通讯录的方法及装置 | |
CN100421114C (zh) | 基于关键字进行数据匹配查询的方法 | |
CN102917341B (zh) | 手机及其手机号归属信息的存储及查找方法 | |
CN102779168A (zh) | 一种联系人信息的查找方法和终端 | |
CN102184247A (zh) | 高效短信查询过滤方法 | |
CN105120045A (zh) | 根据新增联系人姓名的备注信息创建通讯录的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120926 |