电话号码归属地数据压缩算法

文档序号:6621603阅读:680来源:国知局
电话号码归属地数据压缩算法
【专利摘要】本发明提供一种电话号码归属地数据压缩算法,包括以下几个步骤:步骤一,将所有地区名排序并记录,用记录号作为地区名的索引值;步骤二,排序号段数据,并把每号段对应的地区名替换成索引值;步骤三,将号段数据根据号段排序分块,并分别压缩每块号段数据;步骤四,通过电话号码得到号段;步骤五,通过号段找到对应的块信息;步骤六,解压块数据,得到对应号段对应地区名的索引值;步骤七,通过索引值得到地区名。本发明提供的电话号码归属地数据压缩算法,通过将号段数据分块,每块数据分别压缩,在检索时,可通过号段先找到对应的块,再解压该块的数据获得索引值,并通过索引值最终找到对应地区名称,这样解压的数据小,压缩率高,运算速度快。
【专利说明】电话号码归属地数据压缩算法

【技术领域】
[0001]本发明涉及计算机程序领域,尤其涉及一种电话号码归属地数据压缩算法。

【背景技术】
[0002]电话号码的归属地功能是目前手机上一种常用功能,它是以查找20万条以上的电话区段数据来实现的。这些原始数据大约占用5M空间,这对于某些存储能力有限的设备来说占用的空间太大并且使得读取和搜索这些数据花费的时间太长。因此有必要对此数据进行压缩。
[0003]其它类似的压缩算法有的采用zip、rar等通用算法,压缩后的数据是500K左右,但解压算法相对比较复杂,运行速度慢。还有的算法用索引方式来压缩,压缩后的数据是460K左右。它们的共同问题是对设备的运算能力及内存容量(从几十K到几百K)有要求,因此只适合在硬件成本较高的平台使用。


【发明内容】

[0004]本发明的目的在于提供一种节省存储空间,降低存储器的硬件成本,加快数据访问时间的电话号码归属地数据压缩算法。
[0005]为实现上述目的,本发明提供一种电话号码归属地数据压缩算法,包括以下几个步骤:
步骤一,将所有地区名排序并记录,用记录号作为地区名的索引值;
步骤二,排序号段数据,并把每号段对应的地区名替换成索引值;
步骤三,将号段数据根据号段排序分块,并分别压缩每块号段数据;
步骤四,通过电话号码得到号段;
步骤五,通过号段找到对应的块信息;
步骤六,解压块数据,得到对应号段对应地区名的索引值;
步骤七,通过索引值得到地区名。
[0006]其中,在所述步骤一中,在储存有所有电话号码的号段和各号段对应的地区名称的数据表格中提取所有出现的地区名,将地区名排序并记录,用记录号作为地区名的索引值。
[0007]其中,在所述步骤二中,所述号段数据指任意七位数号段以及每个号段所对应的地区名,如果该七位数号段没有对应的地区名,则对应索引值为O。
[0008]其中,在所述步骤三中,每块共记录1000条号段数据;把每块的所有号段对应的地区名的索引值放到一个大小为1000的数组中,把这个数组的高、低字节对应放入两个1000字节的数组中,然后对每个字节数组进行压缩,首个号段的值作为该块的检索值。
[0009]其中,在所述步骤四中,如果电话号码是坐机号,则号段为区号;如果电话号码是手机号,则号段为号码的前七位。
[0010]相较于现有技术,本发明提供的电话号码归属地数据压缩算法,通过将地区名排序并记录由记录号作为索引值,能够减小数据规模;并将号段数据分块,每块数据分别压缩,在检索时,可通过号段先找到对应的块,再解压该块的数据获得索引值,并通过索引值最终找到对应地区名称,这样解压的数据小,解压缩度快。本发明提供的电话号码归属地数据压缩算法的优点是压缩率高、算法简单、运算速度快、占用内存小;适用范围从PC机到低端单片机系统均能适配;对高端设备能节省空间,提高电话号码归属地查询的速度;对低端机能有效的降低硬件成本。
[0011]

【专利附图】

【附图说明】
[0012]图1为本发明的电话号码归属地数据压缩算法的流程图。
[0013]

【具体实施方式】
[0014]参阅图1,本发明提供的电话号码归属地数据压缩算法,包括以下几个步骤: 步骤一,将所有地区名排序并记录,用记录号作为地区名的索引值;
步骤二,排序号段数据,并把每号段对应的地区名替换成索引值;
步骤三,将号段数据根据号段排序分块,并分别压缩每块号段数据;
步骤四,通过电话号码得到号段;
步骤五,通过号段找到对应的块信息;
步骤六,解压块数据,得到对应号段对应地区名的索引值;
步骤七,通过索引值得到地区名。
[0015]在本发明中,步骤一到步骤三是生成压缩数据的过程,步骤四到步骤七是通过号码得到地区名的过程;这两个过程并不是一个连续的过程;生成压缩数据的过程是由PC机来完成,会输出一个数据文件;步骤四到步骤七是在应用了本发明的设备上运行的,上述数据文件会放到此设备上,步骤四到步骤七所用到的“块信息”都是从这个数据文件里读取的。
[0016]相较于现有技术,本发明提供的电话号码归属地数据压缩算法,通过将地区名排序并记录由记录号作为索引值,能够减小数据规模;并将号段数据分块,每块数据分别压缩,在检索时,可通过号段先找到对应的块,再解压该块的数据获得索引值,并通过索引值最终找到对应地区名称,这样解压的数据小,解压缩度快。本发明提供的电话号码归属地数据压缩算法的优点是压缩率高、算法简单、运算速度快、占用内存小;适用范围从PC机到低端单片机系统均能适配;对高端设备能节省空间,提高电话号码归属地查询的速度;对低端机能有效的降低硬件成本。
[0017]本算法能把原始数据压缩到100K左右,且算法简单,运算速度快;能有效地节省存储空间,降低存储器的硬件成本,加快数据访问时间,最小内存只需2K以内,因此能适应很低端的硬件平台。
[0018]电话号码的归属地功能是靠查数据表格实现的,这个数据表格中储存有所有电话号码的号段和各号段对应的地区名称,而这个表的数据量很大,目前的号段数据多于20万条。原始的电话号码归属地数据表是以号段和号段的所属地为一条记录。此处号段以10000个号码为一段,也就是对应手机号码的前I位,
步骤一至步骤三,均是对上述数据表格的进一步优化处理,以使上述数据能更合理高效的利用。
[0019]在步骤一中,在上述数据表格中提取所有出现的地区名,将地区名排序并记录,用记录号作为地区名的索引值。即利用索引值代替地区名,以减小数据大小。
[0020]在步骤二中,排序号段数据,并将号段数据与索引值对应。
[0021]在步骤三中,每块共记录1000条号段数据;把每块的所有号段对应的地区名的索引值放到一个大小为1000的数组中,把这个数组的高、低字节对应放入两个1000字节的数组中,然后对每个字节数组进行压缩,首个号段的值作为该块的检索值。
[0022]如把1300000到1300999的地区名的索引数据放到一个大小为1000的数组中,如果其中某个号段不存在,则索引值置为O ;这就是1300000为首的“块”的数据;因为地区名最多不超过65535即计算机的16位无符号数能表示的最大值,因此可把这个数组的高、低字节对应放入两个1000字节的数组中,然后对每个字节数组进行压缩,然后把每块的信息,包括首个号段的值,压缩后的数据大小,及压缩后的数据输出“数据文件”中。
[0023]在本实施例中,在步骤二中,号段数据指任意七位数号段以及每个号段所对应的地区名,如果该七位数号段没有对应的地区名,则对应索引值为O。一条数据指一个任意号段及该号段所对应的地区名,如果号段并不是电话号码的一部分,则该段号码不对应地区名,期待对应的索引值为O。
[0024]在本实施例中,在步骤四中,如果电话号码是坐机号,则号段为区号;如果电话号码是手机号,则号段为号码的前七位。
[0025]本算法能把原始数据压缩到100K左右,且算法简单,运算速度快;能有效地节省存储空间,降低存储器的硬件成本,加快数据访问时间,最小内存只需2K以内,因此能适应很低端的硬件平台。
[0026]以上仅为本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种电话号码归属地数据压缩算法,其特征在于,包括以下几个步骤: 步骤一,将所有地区名排序并记录,用记录号作为地区名的索引值; 步骤二,排序号段数据,并把每号段对应的地区名替换成索引值; 步骤三,将号段数据根据号段排序分块,并分别压缩每块号段数据; 步骤四,通过电话号码得到号段; 步骤五,通过号段找到对应的块信息; 步骤六,解压块数据,得到对应号段对应地区名的索引值; 步骤七,通过索引值得到地区名。
2.根据权利要求1所述的电话号码归属地数据压缩算法,其特征在于,在所述步骤一中,在储存有所有电话号码的号段和各号段对应的地区名称的数据表格中提取所有出现的地区名,将地区名排序并记录,用记录号作为地区名的索引值。
3.根据权利要求1所述的电话号码归属地数据压缩算法,其特征在于,在所述步骤二中,所述号段数据指任意七位数号段以及每个号段所对应的地区名,如果该七位数号段没有对应的地区名,则对应索引值为O。
4.根据权利要求1所述的电话号码归属地数据压缩算法,其特征在于,在所述步骤三中,每块共记录1000条号段数据;把每块的所有号段对应的地区名的索引值放到一个大小为1000的数组中,把这个数组的高、低字节对应放入两个1000字节的数组中,然后对每个字节数组进行压缩,首个号段的值作为该块的检索值。
5.根据权利要求1所述的电话号码归属地数据压缩算法,其特征在于,在所述步骤四中,如果电话号码是坐机号,则号段为区号;如果电话号码是手机号,则号段为号码的前七位。
【文档编号】G06F17/30GK104133883SQ201410364590
【公开日】2014年11月5日 申请日期:2014年7月29日 优先权日:2014年7月29日
【发明者】刘凯赞 申请人:深圳市鼎智通讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1