CN105243110A - 一种号码段区域地址查询方法、装置及终端 - Google Patents
一种号码段区域地址查询方法、装置及终端 Download PDFInfo
- Publication number
- CN105243110A CN105243110A CN201510621634.3A CN201510621634A CN105243110A CN 105243110 A CN105243110 A CN 105243110A CN 201510621634 A CN201510621634 A CN 201510621634A CN 105243110 A CN105243110 A CN 105243110A
- Authority
- CN
- China
- Prior art keywords
- number segment
- enquiry
- checked
- segment
- byte
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种号码段区域地址查询方法、装置及终端,包括接收待查询的号码段;将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息,通过用字节数组存储每个号码段所对应的字节符号,并将每个字节符号与区域地址所对应的方法,不仅减少了保存号码段及所对应地址的数据所占用的内存,并且能快速的查询出号码段所对应的地址信息。
Description
技术领域
本发明涉及号码段查询技术领域,更具体地说,涉及一种号码段区域地址查询方法、装置及终端。
背景技术
在电信行业,号码段资源是最基本的资源之一,各方面的应用都会使用到该数据资源,所以对该资源的处理速度会直接影响到很多应用的性能。在JAVA中快速得到某个号码段所对应的省份,通常做法是将号码段以及对应省份读取出来,放入键值对形式的MAP中,但是该方法的一个很大的缺陷是存储60万号段以及对应省份的数据,所耗用的内存非常大,且读取速率慢。
因此,如何快速读取号码段所对应的省份,减少存储60万号段及所对应省份的数据所占用的内存,是现在需要解决的问题。
发明内容
本发明的目的在于提供一种号码段区域地址查询方法、装置及终端,以实现快速读取号码段所对应的省份,减少存储60万号段及所对应省份的数据所占用的内存。
为实现上述目的,本发明实施例提供了如下技术方案:
一种号码段区域地址查询方法,包括:
接收待查询的号码段;
将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;
查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;
在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;
获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息。
优选的,所述接收待查询的号码段,包括:
接收待查询的11位手机号码;
选取所述11位手机号码中的前7位作为所述待查询的号码段。
优选的,将所述号码段按照预设规则分为第一查询号码段和第二查询号码段,包括:
将7位待查询的号码段的前3为作为所述第一查询号码段,将7位待查询的号码段的后4为作为所述第二查询号码段。
一种号码段区域地址查询装置,包括:
接收模块,用于接收待查询的号码段;
分组模块,用于将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;
数组查询模块,用于查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;
符号查询模块,用于在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;
区域地址获取模块,用于获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息。
优选的,所述接收模块,包括:
接收单元,用于接收待查询的11位手机号码;
选取单元,用于选取所述11位手机号码中的前7位作为所述待查询的号码段。
优选的,所述分组模块,包括:
将7位待查询的号码段的前3为作为所述第一查询号码段,将7位待查询的号码段的后4为作为所述第二查询号码段。
一种终端,包括上述任意一项所述的号码段区域地址查询装置。
优选的,所述终端为手机。
通过以上方案可知,本发明实施例提供的一种号码段区域地址查询方法、装置及终端,包括接收待查询的号码段;将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息,通过用字节数组存储每个号码段所对应的字节符号,并将每个字节符号与区域地址所对应的方法,不仅减少了保存号码段及所对应地址的数据所占用的内存,并且能快速的查询出号码段所对应的地址信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种号码段区域地址查询方法流程示意图;
图2为本发明实施例公开的一种号码段区域地址查询装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种号码段区域地址查询方法、装置及终端,以实现快速读取号码段所对应的省份,减少存储60万号段及所对应省份的数据所占用的内存。
参见图1,本发明实施例提供的一种号码段区域地址查询方法,包括:
S101、接收待查询的号码段;
优选的,S101包括接收待查询的11位手机号码,选取所述11位手机号码中的前7位作为所述待查询的号码段。
S102、将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;
具体的,所述第一查询号码段为索引号码段,即为了方便查询,可以设定7位待查询号码段中的前3位作为索引号码段。
S103、查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;
具体的,本实施例中的预设字节数组包含了多个字节数组,其每个字节数组通过7位待查询的号码段中的前3位作为索引进行快速查询,即通过S102中所确定的索引号码段(即第一查询号码段),可以从预设字节数组中查找出与索引号码段相对应的目标字节数组。
S104、在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;
具体的,本实施例中的各个字节数组中的字节符号的顺序是与号码段的顺序所对应的,即第一个字节符号对应第一个号码段,第二个自己符号对应第二个号码段,以此类推,从而确定出待查询号码段所对应的字节符号。
S105、获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息。
具体的,本实施例中的字节数组中的字节符号是与区域地址信息所对应的,所以通过确定待查询号码段所对应的字节符号,就能确定待查询号码段的区域地址信息。
具体的,我国使用的手机号码为11位,其中各段有不同的编码方向:前3位为网络识别号;第4-7位为地区编码;第8-11位为用户号码,即通过手机号码的前7位就能确定手机号码的省份,即本实施例中的区域地址信息。
在本实施例中,查询号码段所对应的区域地址之前,首先要在JAVA中定义一个长度为60万的字节数组,这个长度为60万的字节数组中包含了号码段为从1300000开始到1900000结束所有号码段的区域地址信息,且这个长度为60万的字节数组所包含的区域地址信息与号码段从1300000开始到1900000结束的号码段的区域地址信息相对应。
例如:若字节数组第一个字节代表的区域地址信息为北京,则就代表了以1300000开头的号码段的地址区域信息为北京;第二个字节代表的区域地址信息为深圳,则就代表了以1300001开头的号码段的地址区域信息为深圳;第三个字节代表的区域地址信息为上海,则就代表了以1300002开头的号码段的地址区域信息为上海,以此类推。
在本实施例中是通过预设符号与区域地址所对应;例如在本实施例中提供31个省份作为区域地址信息,分别为:“0”、“北京”、“新疆”、“重庆”、“广东”、“浙江”、“天津”、“广西”、“内蒙古”、“宁夏”、“江西”、“安徽”、“贵州”、“陕西”、“辽宁”、“山西”、“青海”、“四川”、“江苏”、“河北”、“西藏”、“福建”、“吉林”、“云南”、“上海”、“湖北”、“海南”、“甘肃”、“湖南”、“山东”、“河南”和“黑龙江”,其中第一个“0”,代表号码段属于未知省份(暂未开通此号段),在本实施例中设定以下字符与上述身份进行对应:“~”、“!”、“”、“#”、“$”、“%”、“^”、“&”、“*”、“(”、“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”和“V”,即本实施例中的“~”代表“0”,表示号码段属于未知省份;“!”代表“北京”、“”代表“新疆”......以此类推,需要说明的是,本实施例中的与省份相对应的字符并不限定于本实施例所提供的字符,也可以用其他字符与省份相对应。
优选的,将所述号码段按照预设规则分为第一查询号码段和第二查询号码段,包括:
将7位待查询的号码段的前3为作为所述第一查询号码段,将7位待查询的号码段的后4为作为所述第二查询号码段。
具体的,为了查询更加快捷,在本实施例中将号码段的前三位作为一个索引号码段,每个索引号码段对应10000个号码段。
例如:手机号码是从1300000开始到1900000结束的60万个号码段,若以前三位为索引,则就会得出以130-190为索引号码段所对应的60个字节数组,每个数组包含了一万个号码段所对应的区域地址信息。
具体的,若在以130为索引包含的1300000-1309999]这一万个号码段中,号码段为1300000的区域地址信息为“北京”,号码段为1300001的区域地址信息为“新疆”,号码段为1300002的区域地址信息为“新疆”,号码段为1300003的区域地址信息为“新疆”,号码段为1300004的区域地址信息为“新疆”,号码段为1300004的区域地址信息为“重庆”,号码段为1300005的区域地址信息为“重庆”,号码段为1300006的区域地址信息为“广东”,号码段为1300007的区域地址信息为“广东”……,且由于“北京”所对应的字符为“!”,“新疆”所对应的字符为“”、“重庆”所对应的字符为“#”、“广东”所对应的字符为“$”.......,所以130为索引包含的字节数组为[!##$$......],以此类推,通过上述方法,就将从1300000开始到1900000结束的60万个号码段所对应的区域地址信息通过字节数组的形式进行保存,形成预设字节数组。
具体的在本实施例中,我们可以将预设字节数组保存在终端(例如手机、平板等智能产品)上,进行快速的查询,为例减少终端从服务器下载预设字节数组所需要的网络流量,在本实施例中利用压缩原理中的短语压缩,将预设字节数组中重复的字符用出现次数进行表示,例如本实施例中的[!##$$]这一小段字节数组,利用压缩原理中的短语压缩后,就可以表示为[!4#2$2],以此类推,[130-189]这60个索引对应的号码段的区域地址信息就以非常小的体积保存下来,大幅度减少了网络传输预设字节数组所需要的流量。
在本实施例中,通过利用字节数组的特点,让数组下标对应号段,下标的相应值对应省份,以此方式将号段与省份的映射关系保存到内存中,实现了快速高效地查找号段对应的省份。
并且在终端访问web服务时,网络传输所需流量的大小和终端与服务端的交互次数,都决定了产品的用户体验的好与坏。为了减小网络传输量和终端请求服务器的次数,需要一次性地将所有号码段所对应的区域地址信息数据传输到移动端。所以在本实施例中,通过压缩原理中的短语压缩,减小了预设字节数组的存储体积,从而在终端打开web页面时,减少了网络传输所需流量,并且通过将预设字节数组一次加载缓存在web前端后,在查询手机号码所对应省份时,就不需要通过网络访问后台服务器来实现,只需要在前端缓存文件中查找就行了,从而使查询页面响应速度快,增加用户体验;并且通过将预设字节数组一次加载缓存在web前端后,让终端承担后台服务器CPU计算压力,有助于提升后台服务器的承载能力。
具体的,在JAVASCRIPT中,由于不能方便的利用字节数组,需要将用到的预设字节数组数据采取短语压缩的方式进行压缩之后,向移动端传输,并在移动端中通过JAVASCRIPT还原成可以直接使用的数据。
需要说明的是,在本实施例中,通过上述方法,可以将本方法可以将预设字节数组数据压缩至20KB的大小,并可以在JAVASCRIPT中直接使用,实现了不访问服务器,即可在移动端本地查询号段对应省份的能力。
本发明实施例提供的一种号码段区域地址查询方法,包括接收待查询的号码段;将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息,通过用字节数组存储每个号码段所对应的字节符号,并将每个字节符号与区域地址所对应的方法,不仅减少了保存号码段及所对应地址的数据所占用的内存,并且能快速的查询出号码段所对应的地址信息。
下面对本发明实施例提供的一种号码段区域地址查询装置及终端进行介绍,下文描述的一种号码段区域地址查询装置及终端与上文描述的一种号码段区域地址查询方法可相互对应参照。
参见图2,本发明实施例提供的一种号码段区域地址查询装置,包括:
接收模块100,用于接收待查询的号码段;
分组模块200,用于将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;
数组查询模块300,用于查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;
符号查询模块400,用于在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;
区域地址获取模块500,用于获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息。
优选的,在本发明的另一实施例中,所述接收模块100,包括:
接收单元,用于接收待查询的11位手机号码;
选取单元,用于选取所述11位手机号码中的前7位作为所述待查询的号码段。
优选的,在本发明的另一实施例中,所述分组模块200,包括:
将7位待查询的号码段的前3为作为所述第一查询号码段,将7位待查询的号码段的后4为作为所述第二查询号码段。
本发明实施例提供一种终端,包括上述实施例中任意一项所述的号码段区域地址查询装置。其中,所述终端可以为手机。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种号码段区域地址查询方法,其特征在于,包括:
接收待查询的号码段;
将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;
查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;
在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;
获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息。
2.根据权利要求1所述的号码段区域地址查询方法,其特征在于,所述接收待查询的号码段,包括:
接收待查询的11位手机号码;
选取所述11位手机号码中的前7位作为所述待查询的号码段。
3.根据权利要求2所述的号码段区域地址查询方法,其特征在于,将所述号码段按照预设规则分为第一查询号码段和第二查询号码段,包括:
将7位待查询的号码段的前3为作为所述第一查询号码段,将7位待查询的号码段的后4为作为所述第二查询号码段。
4.一种号码段区域地址查询装置,其特征在于,包括:
接收模块,用于接收待查询的号码段;
分组模块,用于将所述号码段按照预设规则分为第一查询号码段和第二查询号码段;
数组查询模块,用于查找在预设字节数组中,与所述第一查询号码相对应的目标字节数组;
符号查询模块,用于在所述目标字节数组中,查找与所述第二查询号码段相对应的字节符号;
区域地址获取模块,用于获取所述字节符号所对应的区域地址信息,并将所述区域地址信息作为所述号码段的区域地址信息。
5.根据权利要求4所述的号码段区域地址查询装置,其特征在于,所述接收模块,包括:
接收单元,用于接收待查询的11位手机号码;
选取单元,用于选取所述11位手机号码中的前7位作为所述待查询的号码段。
6.根据权利要求5所述的号码段区域地址查询装置,其特征在于,所述分组模块,包括:
将7位待查询的号码段的前3为作为所述第一查询号码段,将7位待查询的号码段的后4为作为所述第二查询号码段。
7.一种终端,其特征在于,包括权利要求4-6中任意一项所述的号码段区域地址查询装置。
8.根据权利要求7所述的终端,其特征在于,所述终端为手机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510621634.3A CN105243110A (zh) | 2015-09-25 | 2015-09-25 | 一种号码段区域地址查询方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510621634.3A CN105243110A (zh) | 2015-09-25 | 2015-09-25 | 一种号码段区域地址查询方法、装置及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105243110A true CN105243110A (zh) | 2016-01-13 |
Family
ID=55040758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510621634.3A Pending CN105243110A (zh) | 2015-09-25 | 2015-09-25 | 一种号码段区域地址查询方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105243110A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930104A (zh) * | 2016-05-17 | 2016-09-07 | 百度在线网络技术(北京)有限公司 | 数据存储方法和装置 |
CN106326500A (zh) * | 2016-10-26 | 2017-01-11 | 北京微网通联股份有限公司 | 针对手机号黑名单的快速过滤方法 |
CN106777178A (zh) * | 2016-12-22 | 2017-05-31 | 上海大汉三通无线通信有限公司 | 一种手机号码的存储方法及查询方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227685A (zh) * | 2008-01-25 | 2008-07-23 | 深圳凯虹移动通信有限公司 | 一种移动终端的号码归属地获取方法及装置 |
CN101562663A (zh) * | 2009-04-24 | 2009-10-21 | 上海华勤通讯技术有限公司 | 来电归属地信息压缩方法和来电归属地信息显示方法 |
US20100205207A1 (en) * | 2005-08-04 | 2010-08-12 | Microsoft Corporation | User interface and geo-parsing data structure |
CN103425669A (zh) * | 2012-05-16 | 2013-12-04 | 北京安管佳科技有限公司 | 号段及归属地的编码方法和系统、归属地查询方法和系统 |
-
2015
- 2015-09-25 CN CN201510621634.3A patent/CN105243110A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205207A1 (en) * | 2005-08-04 | 2010-08-12 | Microsoft Corporation | User interface and geo-parsing data structure |
CN101227685A (zh) * | 2008-01-25 | 2008-07-23 | 深圳凯虹移动通信有限公司 | 一种移动终端的号码归属地获取方法及装置 |
CN101562663A (zh) * | 2009-04-24 | 2009-10-21 | 上海华勤通讯技术有限公司 | 来电归属地信息压缩方法和来电归属地信息显示方法 |
CN103425669A (zh) * | 2012-05-16 | 2013-12-04 | 北京安管佳科技有限公司 | 号段及归属地的编码方法和系统、归属地查询方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930104A (zh) * | 2016-05-17 | 2016-09-07 | 百度在线网络技术(北京)有限公司 | 数据存储方法和装置 |
CN106326500A (zh) * | 2016-10-26 | 2017-01-11 | 北京微网通联股份有限公司 | 针对手机号黑名单的快速过滤方法 |
CN106777178A (zh) * | 2016-12-22 | 2017-05-31 | 上海大汉三通无线通信有限公司 | 一种手机号码的存储方法及查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101594319B (zh) | 表项查找方法和装置 | |
CN102006330B (zh) | 分布式缓存系统、数据的缓存方法及缓存数据的查询方法 | |
CN101901248B (zh) | 一种布隆过滤器的生成、更新以及查询元素方法和装置 | |
CN101446983B (zh) | 一种实现移动终端获取网页的方法、系统和设备 | |
CN104794177B (zh) | 一种数据存储方法及装置 | |
CN101404032B (zh) | 一种基于内容的视频检索方法及系统 | |
CN105243110A (zh) | 一种号码段区域地址查询方法、装置及终端 | |
CN104317795A (zh) | 一种二维过滤器的生成方法、查询方法及装置 | |
CN106407201A (zh) | 一种数据处理方法及装置 | |
CN108460123B (zh) | 高维数据检索方法、计算机设备和存储介质 | |
CN102761627A (zh) | 基于终端访问统计的云网址推荐方法及系统及相关设备 | |
CN105827530B (zh) | 一种兼容ipv4/ipv6的ip二分查找方法及装置 | |
CN108304409A (zh) | 一种基于进位的Sketch数据结构的数据频度估计方法 | |
CN107832343A (zh) | 一种基于位图的mbf数据索引结构对数据快速检索的方法 | |
CN106789733B (zh) | 一种提高大规模网络流表查找效率的装置及方法 | |
CN102411617A (zh) | 一种对海量url进行存储和查询方法 | |
CN104636368A (zh) | 数据检索方法、装置及服务器 | |
CN104182393A (zh) | 基于hash表的关键字映射处理方法和装置 | |
CN105515997A (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
CN107784073B (zh) | 一种本地缓存的数据查询方法、存储介质和服务器 | |
CN108460030A (zh) | 一种基于改进的布隆过滤器的集合元素判断方法 | |
CN104346347A (zh) | 数据存储方法、装置、服务器及系统 | |
CN104166722B (zh) | 一种推荐网站的方法和装置 | |
CN102831181B (zh) | 缓存文件的目录刷新方法 | |
CN112231398A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160113 |