CN103425669B - 号段及归属地的编码方法和系统、归属地查询方法和系统 - Google Patents
号段及归属地的编码方法和系统、归属地查询方法和系统 Download PDFInfo
- Publication number
- CN103425669B CN103425669B CN201210153064.6A CN201210153064A CN103425669B CN 103425669 B CN103425669 B CN 103425669B CN 201210153064 A CN201210153064 A CN 201210153064A CN 103425669 B CN103425669 B CN 103425669B
- Authority
- CN
- China
- Prior art keywords
- ownership place
- section
- area
- mapping
- area number
- 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.)
- Active
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种号段及归属地的编码方法和系统、归属地查询方法和系统,其中,归属地查询方法包括:从待查询号码中提取运营商号段和地区号段;根据提取的运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号;并根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地。通过本发明,能降低号段及归属地的数据量大小,提高归属地的查询效率、缩短查询时间。
Description
技术领域
本发明涉及来/去电号码的归属地查询技术领域,尤其涉及一种号段及归属地的编码方法和系统、归属地查询方法和系统。
背景技术
目前的智能手机通常都具备来/去电归属地查询和显示功能,所谓归属地是指来/去电号码的所属地区,如:归属地为北京、上海等等;该功能通过智能手机读取本地数据库来获取号码的归属地,或者通过网络实时查询数据库来获取号码的归属地。该数据库中主要包括号段及其对应的归属地,其中,号段一共包括七位数字,前三位是运营商号段,后四位是地区号段,例如:在一个“1390025”的号段中,前三位的“139”是运营商号段,后四位的“0025”是地区号段。截止到2011年底已经超出250000条对应关系,如果按照号段占用7个字节,归属地平均占用13个字节,那么总数据量已经超过5M(兆)。这样的数据量相对于终端软件包的大小以及移动带宽和流量套餐而言,都是巨大的,因此不适合嵌入到终端软件包中,也不适合经常在线更新,对来/去电需要实时查询显示时,从如此大的数据库里去查找结果,其性能也达不到常规需求。
针对上述问题,现有技术中提出的一种解决方法是,先将归属地进行地区编号(如北京编号为1,天津编号为2等等),对于连续的号段如果其归属地相同,则进行合并,并增加相同个数的描述;对每个号段提取前三位的运营商号段形成分类表,最后保存时采用双字节(byte)的其中9位(bit)来表示地区编号,其余7位来表示归属地相同的连续号段的个数。
该方法由于对归属地相同的连续号段进行了合并,因此使得号段和归属地的数据量得到压缩;但是对归属地相同的连续号段进行合并后,就无法直接根据地区号段定位到地区编号的保存位置。因为,在查找号段对应的地区编号时,对于每一个运营商号段对应的分类表,都需要将所有数据装载进去,然后将归属地相同的连续号段的个数累加起来,最后才能定位到目标地区号段对应的地区编号的保存位置。由于,该方法的查询时间与数据量的大小相关,因此,其查询时间通常都比较长,查询效率不高。
发明内容
有鉴于此,本发明的主要目的在于提供一种号段及归属地的编码方法和系统、归属地查询方法和系统,以解决现有技术中号段及归属地的数据量大,归属地的查询效率低、查询时间长的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种号段及归属地的编码方法,该方法包括:
对归属地进行地区编号,并对所述地区编号用9个二进制位bit来编码;
创建归属地和地区编号的映射表,且在所述映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放;
创建运营商号段表,且在所述运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
创建每个运营商号段下的地区号段和地区编号的映射表,且在所述映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;
将所述每个运营商号段下的地区号段和地区编号的映射表,按照所述运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表;
对所述归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表进行存储。
该方法进一步包括:
对于未知的归属地进行特殊编号,并对所述特殊编号用9bit来编码。
该方法进一步包括:
对存储的所述归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表,用压缩算法进行压缩。
本发明还提供了一种号段及归属地的编码系统,该系统包括:
第一映射表创建模块,用于对归属地进行地区编号,并对所述地区编号用9个二进制位bit来编码;创建归属地和地区编号的映射表,且在所述映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放;
运营商号段表创建模块,用于创建运营商号段表,且在所述运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
第二映射表创建模块,用于创建每个运营商号段下的地区号段和地区编号的映射表,且在所述映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;将所述每个运营商号段下的地区号段和地区编号的映射表,按照所述运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表;
存储模块,用于对所述归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表进行存储。
所述第一映射表创建模块还用于,对于未知的归属地进行特殊编号,并对所述特殊编号用9bit来编码。
该系统还包括压缩模块,用于对存储的所述归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表,用压缩算法进行压缩。
本发明还提供了一种归属地查询方法,该方法包括:
从待查询号码中提取运营商号段和地区号段;
根据提取的所述运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号;并根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地。
所述归属地和地区编号的映射表通过以下方式建立:
对归属地进行地区编号,并对所述地区编号用9个二进制位bit来编码;
创建归属地和地区编号的映射表,且在所述映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放。
所述运营商号段表、以及地区号段和地区编号的映射总表通过以下方式建立:
创建运营商号段表,且在所述运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
创建每个运营商号段下的地区号段和地区编号的映射表,且在所述映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;
将所述每个运营商号段下的地区号段和地区编号的映射表,按照所述运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表。
所述根据提取的运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号,具体为:
根据提取的运营商号段查询所述运营商号段表,得到对应的序号;
根据得到的序号、以及提取的地区号段计算目标地区编号在所述映射总表中的字节偏移位置和bit偏移位置,并依此从所述映射总表提取9bit的目标地区编号。
所述地区号段的范围为0000~9999,
目标地区编号在所述映射总表中的字节偏移位置为:(10000×(x-1)+y)×9/8;
目标地区编号在所述映射总表中的bit偏移位置为:(10000×(x-1)+y)×9;
其中,x表示运营商号段所对应的序号,y表示从待查询号码中提取的地区号段。
所述根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地,具体为:
将得到的地区编号减1后与所述固定长度相乘,计算得到对应的归属地在所述归属地和地区编号的映射表中的字节偏移位置,并依此从所述归属地和地区编号的映射表中提取对应的归属地。
本发明还提供了一种归属地查询系统,该系统包括:
号段提取模块,用于从待查询号码中提取运营商号段和地区号段;
归属地查询模块,用于根据提取的所述运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号;并根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地。
所述归属地和地区编号的映射表通过以下方式建立:
对归属地进行地区编号,并对所述地区编号用9个二进制位bit来编码;
创建归属地和地区编号的映射表,且在所述映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放。
所述运营商号段表、以及地区号段和地区编号的映射总表通过以下方式建立:
创建运营商号段表,且在所述运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
创建每个运营商号段下的地区号段和地区编号的映射表,且在所述映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;
将所述每个运营商号段下的地区号段和地区编号的映射表,按照所述运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表。
所述归属地查询模块还用于,
根据提取的运营商号段查询所述运营商号段表,得到对应的序号;
根据得到的序号、以及提取的地区号段计算目标地区编号在所述映射总表中的字节偏移位置和bit偏移位置,并依此从所述映射总表提取9bit的目标地区编号。
所述地区号段的范围为0000~9999,
目标地区编号在所述映射总表中的字节偏移位置为:(10000×(x-1)+y)×9/8;
目标地区编号在所述映射总表中的bit偏移位置为:(10000×(x-1)+y)×9;
其中,x表示运营商号段所对应的序号,y表示从待查询号码中提取的地区号段。
所述归属地查询模块还用于,将得到的地区编号减1后与所述固定长度相乘,计算得到对应的归属地在所述归属地和地区编号的映射表中的字节偏移位置,并依此从所述归属地和地区编号的映射表中提取对应的归属地。
本发明所提供的一种号段及归属地的编码方法和系统,能够降低号段及归属地的数据量大小;一种归属地查询方法和系统,能够提高归属地的查询效率、缩短查询时间。
附图说明
图1为本发明实施例的一种号段及归属地的编码方法的流程图;
图2为本发明实施例的一种号段及归属地的编码系统的结构示意图;
图3为本发明实施例的一种归属地查询方法的流程图;
图4为本发明实施例的一种归属地查询系统的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
为实现降低号段及归属地的数据量大小,本发明的实施例提供了一种号段及归属地的编码方法,如图1所示,该方法主要包括:
步骤101,对归属地进行地区编号,并对该地区编号用9个二进制位(bit)来编码。
将归属地信息表中的所有归属地进行连续编号,一般从1开始,如:北京的编号为1、上海的编号为2等等;对于未知的归属地(即未知地区)也需要进行特殊编号,如特殊编号为0,并对特殊编号也用9bit来编码。由于目前全国的不同归属地大约有360多个,不超过512个,因此用9bit来对地区编号进行编码表示已经足够。归属地、地区编号及其对应的bit编码,如下表所示:
归属地 | 地区编号 | 地区编号的bit编码 |
未知的归属地 | 0 | 000000000 |
北京 | 1 | 000000001 |
上海 | 2 | 000000010 |
江苏南京 | 3 | 000000011 |
... | ... | ... |
步骤102,创建归属地和地区编号的映射表,且在该映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放。
归属地用字符串表示,对齐到字节,长度一般用字节表示,比如32字节。在归属地和地区编号的映射表中,每个归属地都用相同的且固定长度的字节来进行编码表示,且每个归属地的编码都按照地区编号的大小顺序依次存放,例如:固定长度为32字节,那么在归属地和地区编号的映射表中,北京的32字节编码、上海的32字节编码依次(即按照地区编号从小到大的顺序)连续存放。这样,在通过地区编号查找对应的归属地时,只需要将地区编号减1后与固定长度相乘,即可计算得到对应的归属地在所述映射表中的字节偏移位置,进而依据计算所得的字节偏移位置和固定长度,从所述映射表中提取对应的归属地。
步骤103,创建运营商号段表,且在该运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码。
手机号码的前三位为运营商号段,截止2011年底大概有28个运营商号段,实际应用中的运营商号段在130~190之间,不超过256,因此,可以用于1个字节来进行编码表示。
在运营商号段表中,各个运营商号段用序号标注,如:130的序号为1,131的序号为2,以此类推;各运营商号段按照为其分配的序号的从小到大顺序进行排列。
步骤104,创建每个运营商号段下的地区号段和地区编号的映射表,且在该映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放。
手机号码的第4~7位为地区号段,对于每个运营商号段,都可以对应有10000个地区号段,从0000~9999。在所述映射表中,地区编号的9bit编码按照地区号段的从小到大顺序以bit连续的方式依次存放,例如:0000所对应地区编号的9bit编码、0001所对应地区编号的9bit编码等等,依次连续存放在所述映射表中,以此类推。这样就得到针对每个运营商号段下的地区号段和地区编号的映射表,所占空间大小固定,为10000×9/8=11250字节,约为11k。
需要说明的是,由于不同的运营商号段下,地区号段和地区编号的映射关系是不同的,例如:在130的运营商号段下,0000的地区号段对应的地区编号为1(即北京),而在187的运营商号段下,0000的地区号段对应的地区编号为2(即上海);因此,本发明的实施例需要分别创建每个运营商号段下的地区号段和地区编号的映射表。
步骤105,将每个运营商号段下的地区号段和地区编号的映射表,按照运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表。
即地区号段和地区编号的映射总表中包括每个运营商号段下的地区号段和地区编号的映射表,且这些映射表是按照运营商号段表中的运营商号段的排列顺序依次存放的。以目前28个运营商号段来计算,该映射总表的数据量大小约为300k。
步骤106,对归属地和地区编号的映射表、运营商号段表、以及地区号段和地区编号的映射总表进行存储。
将创建的归属地和地区编号的映射表、运营商号段表、以及地区号段和地区编号的映射总表存储到文件或其他存储单元中,需要加上必要的表的定位数据,例如:在文件头增加归属地和地区编号的映射表、运营商号段表、以及地区号段和地区编号的映射总表的定位数据,用以指示文件中各表的位置。如此一来,存储数据的数据量大小在300k左右。
较佳的,还可以对存储的归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表,用压缩算法(如常用的zip压缩算法)进一步压缩,压缩后的数据量大小约为100k。
需要说明的是,如果是在线更新,则需要进行压缩,在线更新完毕后,再解压缩,这样数据流量少,传输快,适合带宽不高的移动网络。如果上述存储数据附在软件包中,则一般的平台在打包时都会对整个软件包用通用的压缩算法进行压缩,因此,这种情况无需额外的压缩,而只需将未压缩的存储数据附在软件包中,只需一次对整个软件包的压缩即可。
由此可以看出,通过本发明实施例的编码方法,只有300k左右的数据量,而实际传输或打包时压缩后只有100k左右的数据量,因此对软件包的大小和网络传输都不会造成太大的压力。
对应上述号段及归属地的编码方法,本发明的实施例还提供了一种号段及归属地的编码系统,如图2所示,该系统主要包括:第一映射表创建模块10、运营商号段表创建模块20、第二映射表创建模块30和存储模块40。
其中,第一映射表创建模块10,用于对归属地进行地区编号,并对地区编号用9bit来编码;创建归属地和地区编号的映射表,且在该映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放;
运营商号段表创建模块20,用于创建运营商号段表,且在该运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
第二映射表创建模块30,用于创建每个运营商号段下的地区号段和地区编号的映射表,且在该映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;将每个运营商号段下的地区号段和地区编号的映射表,按照运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表;
存储模块40,连接第一映射表创建模块10、运营商号段表创建模块20和第二映射表创建模块30,用于对归属地和地区编号的映射表、运营商号段表、以及地区号段和地区编号的映射总表进行存储。
较佳的,第一映射表创建模块10还用于,对于未知的归属地进行特殊编号,如特殊编号为0,并对该特殊编号用9bit来编码。
较佳的,该系统还可以包括压缩模块50,连接存储模块40,用于对存储的归属地和地区编号的映射表、运营商号段表、以及地区号段和地区编号的映射总表,用压缩算法进行压缩。
为实现提高归属地的查询效率、缩短查询时间,本发明的实施例还提供了一种归属地查询方法,如图3所示,该方法主要包括:
步骤301,从待查询号码中提取运营商号段和地区号段。
手机号码的前三位是运营商号段,第4~7位是地区号段。
步骤302,根据提取的运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号;并根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地。
其中,归属地和地区编号的映射表、运营商号段表、地区号段和地区编号的映射总表可以通过图1所示实施例中的方法来创建,此处不再赘述。
较佳的,根据提取的运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号,具体为:
根据提取的运营商号段查询运营商号段表,得到对应的序号;
根据得到的序号、以及提取的地区号段计算目标地区编号在映射总表中的字节偏移位置和bit偏移位置,并依此从映射总表提取9bit的目标地区编号。
所述地区号段的范围为0000~9999,
相应的,目标地区编号在所述映射总表中的字节偏移位置为:(10000×(x-1)+y)×9/8;
目标地区编号在所述映射总表中的bit偏移位置为:(10000×(x-1)+y)×9;
其中,x表示运营商号段所对应的序号,y表示从待查询号码中提取的地区号段。
根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地,具体为:
将得到的地区编号减1后与编码归属地的固定长度相乘,计算得到对应的归属地在归属地和地区编号的映射表中的字节偏移位置,并依此从归属地和地区编号的映射表中提取对应的归属地。
由此可以看出,本发明实施例的查询时间与数据量大小相关的查询过程只出现在从运营商号段表中查找对应的运营商号段的过程中,目前的运营商号段只有28个,因此该过程的查询时间几乎为常量时间;而在本发明实施例的其他查询过程中,查询时间与数据量大小不相关,例如:在查询地区号段和地区编号的映射总表、以及归属地和地区编号的映射表时,都可以通过计算直接定位到相应的偏移位置,因此查询时间为常量时间,非常小。
还需要说明的是,如果是手机本地查询归属地,那么图3所示的操作由手机自身来执行,归属地和地区编号的映射表、运营商号段表、地区号段和地区编号的映射总表保存在手机的本地数据库中;如果是手机通过网络实时查询归属地,那么图3所示的操作由网络的服务端来执行,归属地和地区编号的映射表、运营商号段表、地区号段和地区编号的映射总表保存在服务端的数据库中。
对应上述归属地查询方法,本发明的实施例还提供了一种归属地查询系统,如图4所示,该系统主要包括:号段提取模块60和归属地查询模块70。
其中,号段提取模块60,用于从待查询号码中提取运营商号段和地区号段;
归属地查询模块70,用于根据提取的运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号;并根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地。
较佳的,归属地查询模块70还用于,根据提取的运营商号段查询运营商号段表,得到对应的序号;根据得到的序号、以及提取的地区号段计算目标地区编号在映射总表中的字节偏移位置和bit偏移位置,并依此从映射总表提取9bit的目标地区编号。
较佳的,归属地查询模块70还用于,将得到的地区编号减1后与编码归属地的固定长度相乘,计算得到对应的归属地在归属地和地区编号的映射表中的字节偏移位置,并依此从归属地和地区编号的映射表中提取对应的归属地。
还需要说明的是,如果是手机本地查询归属地,那么图4所示的查询系统应用于手机内部;如果是手机通过网络实时查询归属地,那么图4所示的查询系统应用于网络的服务端内部。
综上所述,本发明实施例所提供的号段及归属地的编码方法和系统,能够降低号段及归属地的数据量大小;本发明实施例所提供的归属地查询方法和系统,能够提高归属地的查询效率、缩短查询时间。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (16)
1.一种号段及归属地的编码方法,其特征在于,该方法包括:
对归属地进行地区编号,并对所述地区编号用9个二进制位bit来编码;
创建归属地和地区编号的映射表,且在所述映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放;
创建运营商号段表,且在所述运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
创建每个运营商号段下的地区号段和地区编号的映射表,且在所述映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;
将所述每个运营商号段下的地区号段和地区编号的映射表,按照所述运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表;
对所述归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表进行存储。
2.根据权利要求1所述号段及归属地的编码方法,其特征在于,该方法进一步包括:
对于未知的归属地进行特殊编号,并对所述特殊编号用9bit来编码。
3.根据权利要求1或2所述号段及归属地的编码方法,其特征在于,该方法进一步包括:
对存储的所述归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表,用压缩算法进行压缩。
4.一种号段及归属地的编码系统,其特征在于,该系统包括:
第一映射表创建模块,用于对归属地进行地区编号,并对所述地区编号用9个二进制位bit来编码;创建归属地和地区编号的映射表,且在所述映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放;
运营商号段表创建模块,用于创建运营商号段表,且在所述运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
第二映射表创建模块,用于创建每个运营商号段下的地区号段和地区编号的映射表,且在所述映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;将所述每个运营商号段下的地区号段和地区编号的映射表,按照所述运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表;
存储模块,用于对所述归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表进行存储。
5.根据权利要求4所述号段及归属地的编码系统,其特征在于,所述第一映射表创建模块还用于,对于未知的归属地进行特殊编号,并对所述特殊编号用9bit来编码。
6.根据权利要求4或5所述号段及归属地的编码系统,其特征在于,该系统还包括压缩模块,用于对存储的所述归属地和地区编号的映射表、运营商号段表、以及所述地区号段和地区编号的映射总表,用压缩算法进行压缩。
7.一种归属地查询方法,其特征在于,该方法包括:
从待查询号码中提取运营商号段和地区号段;
根据提取的所述运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号;并根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地;
所述运营商号段表、以及地区号段和地区编号的映射总表通过以下方式建立:
创建运营商号段表,且在所述运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
创建每个运营商号段下的地区号段和地区编号的映射表,且在所述映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;
将所述每个运营商号段下的地区号段和地区编号的映射表,按照所述运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表。
8.根据权利要求7所述归属地查询方法,其特征在于,所述归属地和地区编号的映射表通过以下方式建立:
对归属地进行地区编号,并对所述地区编号用9个二进制位bit来编码;
创建归属地和地区编号的映射表,且在所述映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放。
9.根据权利要求7或8所述归属地查询方法,其特征在于,所述根据提取的运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号,具体为:
根据提取的运营商号段查询所述运营商号段表,得到对应的序号;
根据得到的序号、以及提取的地区号段计算目标地区编号在所述映射总表中的字节偏移位置和bit偏移位置,并依此从所述映射总表提取9bit的目标地区编号。
10.根据权利要求9所述归属地查询方法,其特征在于,所述地区号段的范围为0000~9999,
目标地区编号在所述映射总表中的字节偏移位置为:(10000×(x-1)+y)×9/8;
目标地区编号在所述映射总表中的bit偏移位置为:(10000×(x-1)+y)×9;
其中,x表示运营商号段所对应的序号,y表示从待查询号码中提取的地区号段。
11.根据权利要求9所述归属地查询方法,其特征在于,所述根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地,具体为:
将得到的地区编号减1后与所述固定长度相乘,计算得到对应的归属地在所述归属地和地区编号的映射表中的字节偏移位置,并依此从所述归属地和地区编号的映射表中提取对应的归属地。
12.一种归属地查询系统,其特征在于,该系统包括:
号段提取模块,用于从待查询号码中提取运营商号段和地区号段;
归属地查询模块,用于根据提取的所述运营商号段和地区号段,查询运营商号段表、以及地区号段和地区编号的映射总表,得到对应的地区编号;并根据得到的地区编号查询归属地和地区编号的映射表,得到对应的归属地;
所述运营商号段表、以及地区号段和地区编号的映射总表通过以下方式建立:
创建运营商号段表,且在所述运营商号段表中,各个运营商号段用序号标注,并按照序号的大小顺序排列,每个运营商号段用1个字节来编码;
创建每个运营商号段下的地区号段和地区编号的映射表,且在所述映射表中地区编号的9bit编码按照地区号段的大小顺序以bit连续的方式依次存放;
将所述每个运营商号段下的地区号段和地区编号的映射表,按照所述运营商号段表中的运营商号段的排列顺序依次存放,得到地区号段和地区编号的映射总表。
13.根据权利要求12所述归属地查询系统,其特征在于,所述归属地和地区编号的映射表通过以下方式建立:
对归属地进行地区编号,并对所述地区编号用9个二进制位bit来编码;
创建归属地和地区编号的映射表,且在所述映射表中每个归属地用固定长度的字节来编码,并按照地区编号的大小顺序依次存放。
14.根据权利要求12或13所述归属地查询系统,其特征在于,所述归属地查询模块还用于,
根据提取的运营商号段查询所述运营商号段表,得到对应的序号;
根据得到的序号、以及提取的地区号段计算目标地区编号在所述映射总表中的字节偏移位置和bit偏移位置,并依此从所述映射总表提取9bit的目标地区编号。
15.根据权利要求14所述归属地查询系统,其特征在于,所述地区号段的范围为0000~9999,
目标地区编号在所述映射总表中的字节偏移位置为:(10000×(x-1)+y)×9/8;
目标地区编号在所述映射总表中的bit偏移位置为:(10000×(x-1)+y)×9;
其中,x表示运营商号段所对应的序号,y表示从待查询号码中提取的地区号段。
16.根据权利要求15所述归属地查询系统,其特征在于,所述归属地查询模块还用于,将得到的地区编号减1后与所述固定长度相乘,计算得到对应的归属地在所述归属地和地区编号的映射表中的字节偏移位置,并依此从所述归属地和地区编号的映射表中提取对应的归属地。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210153064.6A CN103425669B (zh) | 2012-05-16 | 2012-05-16 | 号段及归属地的编码方法和系统、归属地查询方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210153064.6A CN103425669B (zh) | 2012-05-16 | 2012-05-16 | 号段及归属地的编码方法和系统、归属地查询方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425669A CN103425669A (zh) | 2013-12-04 |
CN103425669B true CN103425669B (zh) | 2016-08-03 |
Family
ID=49650427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210153064.6A Active CN103425669B (zh) | 2012-05-16 | 2012-05-16 | 号段及归属地的编码方法和系统、归属地查询方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103425669B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866535A (zh) * | 2015-04-29 | 2015-08-26 | 联动优势科技有限公司 | 一种号段记录压缩方法及装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133883B (zh) * | 2014-07-29 | 2018-02-06 | 深圳鼎智通讯股份有限公司 | 电话号码归属地数据压缩方法 |
CN104866536A (zh) * | 2015-04-29 | 2015-08-26 | 联动优势科技有限公司 | 一种号段记录压缩方法及装置 |
CN105243110A (zh) * | 2015-09-25 | 2016-01-13 | 上海大汉三通无线通信有限公司 | 一种号码段区域地址查询方法、装置及终端 |
CN105468687A (zh) * | 2015-11-17 | 2016-04-06 | 立德高科(北京)数码科技有限责任公司 | 一种码值数据随机关联方法与关联系统 |
CN106302921B (zh) * | 2016-08-22 | 2019-01-04 | 维沃移动通信有限公司 | 一种号码处理方法及移动终端 |
CN107480288A (zh) * | 2017-08-24 | 2017-12-15 | 天津市深大天星科技发展有限公司 | 合同管理方法和系统 |
CN110234103A (zh) * | 2019-06-20 | 2019-09-13 | 广东巴拿赫大数据科技有限公司 | 基于移动智能终端一键拨打与应急救援最短路径推荐平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03266077A (ja) * | 1990-03-16 | 1991-11-27 | Nippon Telegr & Teleph Corp <Ntt> | 電話帳検索システム |
CN101409878A (zh) * | 2008-11-21 | 2009-04-15 | 闻泰集团有限公司 | 电话号码归属地名称信息块及来电归属地查询方法 |
CN101562663A (zh) * | 2009-04-24 | 2009-10-21 | 上海华勤通讯技术有限公司 | 来电归属地信息压缩方法和来电归属地信息显示方法 |
CN101765249A (zh) * | 2009-12-29 | 2010-06-30 | 闻泰集团有限公司 | 一种存储电话号码归属地信息及归属地查询的方法 |
-
2012
- 2012-05-16 CN CN201210153064.6A patent/CN103425669B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03266077A (ja) * | 1990-03-16 | 1991-11-27 | Nippon Telegr & Teleph Corp <Ntt> | 電話帳検索システム |
CN101409878A (zh) * | 2008-11-21 | 2009-04-15 | 闻泰集团有限公司 | 电话号码归属地名称信息块及来电归属地查询方法 |
CN101562663A (zh) * | 2009-04-24 | 2009-10-21 | 上海华勤通讯技术有限公司 | 来电归属地信息压缩方法和来电归属地信息显示方法 |
CN101765249A (zh) * | 2009-12-29 | 2010-06-30 | 闻泰集团有限公司 | 一种存储电话号码归属地信息及归属地查询的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866535A (zh) * | 2015-04-29 | 2015-08-26 | 联动优势科技有限公司 | 一种号段记录压缩方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103425669A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425669B (zh) | 号段及归属地的编码方法和系统、归属地查询方法和系统 | |
CN102118293B (zh) | 一种通讯报文压缩存储方法 | |
CN106528786B (zh) | 快速迁移多源异构电网大数据到HBase的方法及系统 | |
CN112953550B (zh) | 数据压缩的方法、电子设备及存储介质 | |
CN104462141A (zh) | 一种数据存储与查询的方法、系统及存储引擎装置 | |
CN101751475B (zh) | 号段记录压缩方法及其装置 | |
CN109471905A (zh) | 一种支持时间范围和属性范围复合查询的区块链索引方法 | |
CN116051156B (zh) | 一种基于数字孪生的新能源动态电价数据管理系统 | |
CN103997760B (zh) | 一种用户用电信息采集系统的数据打包采集方法 | |
CN101667843A (zh) | 嵌入式系统的数据压缩、及解压缩方法与装置 | |
CN105302915A (zh) | 基于内存计算的高性能数据处理系统 | |
CN104133883B (zh) | 电话号码归属地数据压缩方法 | |
CN113312325B (zh) | 轨迹数据传输方法、装置、设备及存储介质 | |
CN105631000B (zh) | 基于移动终端位置特征信息的终端缓存的数据压缩方法 | |
CN103500223B (zh) | 一种面向移动用户的矢量地图数据压缩方法 | |
CN108900196A (zh) | 一种基于lzw算法的数据解码方法、装置、设备及介质 | |
CN103618554B (zh) | 基于字典的内存页面压缩方法 | |
CN101562663A (zh) | 来电归属地信息压缩方法和来电归属地信息显示方法 | |
CN104077272A (zh) | 一种字典压缩的方法和装置 | |
CN106777260A (zh) | 一种基于索引二叉树的查询方法和系统 | |
CN104866535A (zh) | 一种号段记录压缩方法及装置 | |
CN102932001B (zh) | 运动捕获数据压缩、解压缩方法 | |
CN103034649A (zh) | 一种实现数据存储和搜索的方法和系统 | |
CN115544305A (zh) | 一种用于数字钢卷系统的数据存储方法及装置 | |
CN111222590B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211019 Address after: 100190 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: Room 207, block a, wentley center, No. 1, xidawang Road, Chaoyang District, Beijing 100026 Patentee before: Beijing Anguanjia Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |