一种电话号码的存储方法、识别方法及装置的制造方法

文档序号:10492359阅读:140来源:国知局
一种电话号码的存储方法、识别方法及装置的制造方法
【专利摘要】本发明公开了一种电话号码的存储方法、识别方法及装置。所述存储方法包括:获取待存储的电话号码;根据所述待存储的电话号码的区号和号码长度,将所述待存储的电话号码进行分类;为每类电话号码建立索引表;将建立索引表的每类电话号码进行存储。通过本发明的技术方案,可以极大地优化终端中能够存储的电话号码的数据量,并降低对终端硬盘空间使用量,同时提升无网络的情况下,电话号码的识别命中率,另外,这种存储方式无需进行解压缩,也能进行电话号码的反查与识别,能够降低内存消耗。
【专利说明】
一种电话号码的存储方法、识别方法及装置
技术领域
[0001]本发明涉及电话号码技术领域,特别涉及一种电话号码的存储方法、一种电话号码的识别方法、一种电话号码的存储装置和一种电话号码的识别装置。
【背景技术】
[0002]目前,在终端接收到来电时,可以通过网络连接服务器,进而利用搜索引擎或是数据库查询功能,查询服务器上的电话号码数据库,来实现电话号码的查询与识别的。或者
[0003]将电话号码数据库存放于终端,在接收到来电时,直接使用终端上的电话号码数据库来实现来电电话号码的查询与识别。
[0004]但是上述两种方案均存在一些缺点,第一种方案的缺点为:
[0005]在无网络的情况下,就无法对来电号码进行识别,然而终端并无法时时保持有网络,进而将来电号码传回服务器也存在泄漏用户隐私的问题。
[0006]第二种方案的缺点为:
[0007]终端本地的内存有限,无法存放大量的电话号码数据库,会占用过多的内存与硬盘空间,因而,只能存放相对少量的电话号码数据,因此识别命中率较低,另外,若透过一般压缩方式(如:zip)存放,也必须在程序启动时,才能完整地解压缩这些号码,进而对来电号码进行查询识别,因此,还是占用较多的内存。

【发明内容】

[0008]本发明提供一种电话号码的存储方法、一种电话号码的识别方法、一种电话号码的存储装置和一种电话号码的识别装置,用以将待存储的电话号码按照区号和号码长度的不同进行分类,并为每类电话号码建立索引表,进而将建立索引表的每类电话号码进行分类存储,以极大地优化终端中能够存储的电话号码的数据量,并降低对终端硬盘空间使用量,同时提升无网络的情况下,电话号码的识别命中率,另外,这种存储方式无需进行解压缩,也能进行电话号码的反查与识别,能够降低内存消耗。
[0009]本发明提供一种电话号码的存储方法,包括:
[0010]获取待存储的电话号码;
[0011]根据所述待存储的电话号码的区号和号码长度,将所述待存储的电话号码进行分类,其中,每类电话号码对应不同的区号和号码长度;
[0012]为每类电话号码建立索引表;
[0013]将建立索引表的每类电话号码进行存储。
[0014]在一个实施例中,所述根据所述待存储的电话号码的区号和号码长度,将所述待存储的电话号码进行分类,包括:
[0015]将所述待存储的电话号码按照号码长度的不同进行分类,其中,分类后的每个第一类电话号码的号码长度不同;
[0016]获取分类后的每个第一类电话号码的区号;
[0017]所述为每类电话号码建立索引表,包括:
[0018]根据每个所述第一类电话号码的区号,将每个所述第一类电话号码进行再次分类;
[0019]将再次分类后的每个第二类电话号码中的所有电话号码按照从小到大或者从大到小顺序进彳丁排序;
[0020]确定每个所述第二类电话号码的区号为各自的索引,为各第二类电话号码建立索引表。
[0021 ]在一个实施例中,所述将建立索引表的每类电话号码进行存储,包括:
[0022]在为各第二类电话号码建立索引表之后,确定所述各第二类电话号码中排序最靠前的电话号码为所述各第二类电话号码中的基础号码;
[0023]获取所述各第二类电话号码中任意两个相邻的电话号码之间的号码差;
[0024]根据所述各第二类电话号码的索引,将所述各第二类电话号码的基本号码和所述任意两个相邻的电话号码之间的号码差按顺序进行存储。
[0025]在一个实施例中,所述根据所述各第二类电话号码的索引,将所述各第二类电话号码的基本号码和所述任意两个相邻的电话号码之间的号码差按顺序进行存储,包括:
[0026]在所述基本号码和任意两个相邻的号码差之间分别设置分隔符;
[0027]将设置分隔符后的所述基本号码和所述任意两个相邻的号码差按顺序进行存储,其中,所述分隔符包括所述各第二类电话号码的类别、所述各第二类电话号码的总标记次数、当前号码差对应的电话号码的所在地、当前号码差对应的电话号码的标记次数中的一项或多项。
[0028]本发明还提供一种电话号码的识别方法,包括:
[0029]获取待识别的电话号码;
[0030]根据所述待识别的电话号码的区号和号码长度,确定所述待识别的电话号码所属的目标索引表;
[0031]根据所述目标索引表中的基本号码和号码差,确定所述目标索引表中是否存在与所述待识别的电话号码相匹配的原始号码;
[0032]当存在所述原始号码时,根据所述原始号码对所述待识别的电话号码进行识别;
[0033]当不存在所述原始号码时,确定无法识别所述待识别的电话号码。
[0034]在一个实施例中,所述根据所述目标索引表中的基本号码和号码差,确定所述目标索引表中是否存在与所述待识别的电话号码相匹配的原始号码,包括:
[0035]确定所述待识别的电话号码是否与所述基本号码相匹配;
[0036]当所述待识别的电话号码与所述基本号码相匹配时,确定所述基本号码为与所述待识别的电话号码相匹配的原始号码;
[0037]或者
[0038]当所述待识别的电话号码与所述基本号码不匹配时,确定所述目标索引表中每个号码差对应的原始号码;
[0039]将所述待识别的电话号码依次与所述每个号码差对应的原始号码进行匹配,以确定是否存在与所述待识别的电话号码相匹配的原始号码。
[0040]在一个实施例中,所述确定所述目标索引表中每个号码差对应的原始号码,包括:
[0041]根据所述基本号码、当前号码差和所述当前号码差之前的所有号码差,确定所述当前号码差对应的原始号码。
[0042]本发明还提供一种电话号码的存储装置,包括:
[0043]获取模块,用于获取待存储的电话号码;
[0044]分类模块,用于根据所述待存储的电话号码的区号和号码长度,将所述待存储的电话号码进行分类,其中,每类电话号码对应不同的区号和号码长度;
[0045]建立模块,用于为每类电话号码建立索引表;
[0046]存储模块,用于将建立索引表的每类电话号码进行存储。
[0047]在一个实施例中,所述分类模块包括:
[0048]第一分类子模块,用于将所述待存储的电话号码按照号码长度的不同进行分类,其中,分类后的每个第一类电话号码的号码长度不同;
[0049]第一获取子模块,用于获取分类后的每个第一类电话号码的区号;
[0050]所述建立模块包括:
[0051]第二分类子模块,用于根据每个所述第一类电话号码的区号,将每个所述第一类电话号码进行再次分类;
[0052]排序子模块,用于将再次分类后的每个第二类电话号码中的所有电话号码按照从小到大或者从大到小顺序进行排序;
[0053]处理子模块,用于确定每个所述第二类电话号码的区号为各自的索引,为各第二类电话号码建立索引表。
[0054]在一个实施例中,所述存储模块包括:
[0055]确定子模块,用于在为各第二类电话号码建立索引表之后,确定所述各第二类电话号码中排序最靠前的电话号码为所述各第二类电话号码中的基础号码;
[0056]第二获取子模块,用于获取所述各第二类电话号码中任意两个相邻的电话号码之间的号码差;
[0057]存储子模块,用于根据所述各第二类电话号码的索引,将所述各第二类电话号码的基本号码和所述任意两个相邻的电话号码之间的号码差按顺序进行存储。
[0058]在一个实施例中,所述存储子模块具体用于:
[0059]在所述基本号码和任意两个相邻的号码差之间分别设置分隔符;
[0060]将设置分隔符后的所述基本号码和所述任意两个相邻的号码差按顺序进行存储,其中,所述分隔符包括所述各第二类电话号码的类别、所述各第二类电话号码的总标记次数、当前号码差对应的电话号码的所在地、当前号码差对应的电话号码的标记次数中的一项或多项。
[0061]本发明还提供一种电话号码的识别装置,包括:
[0062]获取模块,用于获取待识别的电话号码;
[0063]第一确定模块,用于根据所述待识别的电话号码的区号和号码长度,确定所述待识别的电话号码所属的目标索引表;
[0064]第二确定模块,用于根据所述目标索引表中的基本号码和号码差,确定所述目标索引表中是否存在与所述待识别的电话号码相匹配的原始号码;
[0065]识别模块,用于当存在所述原始号码时,根据所述原始号码对所述待识别的电话号码进行识别;
[0066]第三确定模块,用于当不存在所述原始号码时,确定无法识别所述待识别的电话号码。
[0067]在一个实施例中,所述第二确定模块包括:
[0068]第一确定子模块,用于确定所述待识别的电话号码是否与所述基本号码相匹配;
[0069]第二确定子模块,用于当所述待识别的电话号码与所述基本号码相匹配时,确定所述基本号码为与所述待识别的电话号码相匹配的原始号码;
[0070]或者
[0071 ]第三确定子模块,用于当所述待识别的电话号码与所述基本号码不匹配时,确定所述目标索引表中每个号码差对应的原始号码;
[0072]第四确定子模块,用于将所述待识别的电话号码依次与所述每个号码差对应的原始号码进行匹配,以确定是否存在与所述待识别的电话号码相匹配的原始号码。
[0073]在一个实施例中,所述第三确定子模块具体用于:
[0074]根据所述基本号码、当前号码差和所述当前号码差之前的所有号码差,确定所述当前号码差对应的原始号码。
[0075]本公开的实施例提供的技术方案可以包括以下有益效果:
[0076]通过将待存储的电话号码按照区号和号码长度的不同进行分类,并为每类电话号码建立索引表,进而将建立索引表的每类电话号码进行分类存储,可以极大地优化终端中能够存储的电话号码的数据量,并降低对终端硬盘空间使用量,同时提升无网络的情况下,电话号码的识别命中率,另外,这种存储方式无需进行解压缩,也能进行电话号码的反查与识别,能够降低内存消耗。
[0077]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0078]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0079]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0080]图1是根据一示例性实施例示出的一种电话号码的存储方法的流程图。
[0081]图2是根据一示例性实施例示出的另一种电话号码的存储方法的流程图。
[0082]图3是根据一示例性实施例示出的又一种电话号码的存储方法的流程图。
[0083]图4是根据一示例性实施例示出的再一种电话号码的存储方法的流程图。
[0084]图5是根据一示例性实施例示出的一种电话号码的识别方法的流程图。
[0085]图6A是根据一示例性实施例示出的另一种电话号码的识别方法的流程图。
[0086]图6B是根据一示例性实施例示出的又一种电话号码的识别方法的流程图。
[0087]图7是根据一示例性实施例示出的再一种电话号码的识别方法的流程图。
[0088]图8是根据一示例性实施例示出的一种电话号码的存储装置的框图。
[0089]图9是根据一示例性实施例示出的另一种电话号码的存储装置的框图。
[0090]图10是根据一示例性实施例示出的又一种电话号码的存储装置的框图。
[0091]图11是根据一示例性实施例示出的一种电话号码的识别装置的框图。
[0092]图12A是根据一示例性实施例示出的另一种电话号码的识别装置的框图。
[0093]图12B是根据一示例性实施例示出的再一种电话号码的识别装置的框图。
【具体实施方式】
[0094]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0095]相关技术中,在终端接收到来电时,可以通过网络连接服务器,进而利用搜索引擎或是数据库查询功能,查询服务器上的电话号码数据库,来实现电话号码的查询与识别的。或者
[0096]将电话号码数据库存放于终端,在接收到来电时,直接使用终端上的电话号码数据库来实现来电电话号码的查询与识别。
[0097]但是上述两种方案均存在一些缺点,第一种方案的缺点为:
[0098]在无网络的情况下,就无法对来电号码进行识别,然而终端并无法时时保持有网络,进而将来电号码传回服务器也存在泄漏用户隐私的问题。
[0099]第二种方案的缺点为:
[0100]终端本地的内存有限,无法存放大量的电话号码数据库,会占用过多的内存与硬盘空间,因而,只能存放相对少量的电话号码数据,因此识别命中率较低,另外,若透过一般压缩方式(如:Zip)存放,也必须在程序启动时,才能完整地解压缩这些号码,进而对来电号码进行查询识别,因此,还是占用较多的内存。
[0101]为了解决上述技术问题,本公开实施例提供了一种电话号码的存储方法,该方法适用于电话号码的存储程序、系统或装置中,如图1所示,
[0102]步骤SlOl,获取待存储的电话号码;
[0103]待存储的电话号码可以是预设时间段内不同的终端接收到的已经被识别的来电号码、或者是不同的终端接收到的各种通讯信息中包含的来电号码、或者是服务器中之前预存储的各种已经被识别的电话号码。
[0104]步骤S102,根据待存储的电话号码的区号和号码长度,将待存储的电话号码进行分类,其中,每类电话号码对应不同的区号和号码长度;
[0105]由于待存储的电话号码可能为多个,而不同的电话号码对应的号码长度和区号可能不同,例如:有的电话号码是5位、有的是11位、有的是8位等,因而可以按照号码长度和区号的不同将这些待存储的电话号码进行分类存储,使得每类电话号码中的所有号码均具有同样的号码长度和区号,且与其他类电话号码的号码长度和/或区号是不同的,以确保在进行号码识别时,可以根据号码长度和/或区号的不同,进行快速识别。
[0106]步骤S103,为每类电话号码建立索引表;
[0107]步骤S104,将建立索引表的每类电话号码进行存储。
[0108]通过为每类电话号码建立索引表,并将该索引表的每类电话号码进行存储,使得每类电话号码都以索引表的形式进行存储,这样,每类电话号码中的所有电话号码就因具有共同索引,而极大地优化终端中能够存储的电话号码的数据量,并降低对终端硬盘空间使用量,同时提升无网络的情况下,电话号码的识别命中率,另外,由于这种存储方式无需进行解压缩,也能进行电话号码的反查与识别,因而能够降低内存消耗。
[0109]如图2所示,在一个实施例中,上述步骤S102可被执行为:
[0110]在步骤Al中,将待存储的电话号码按照号码长度的不同进行分类,其中,分类后的每个第一类电话号码的号码长度不同;
[0111]在步骤A2中,获取分类后的每个第一类电话号码的区号;其中,区号是指世界各大城市所属行政区域常用电话区划号码,该区号可以是国内的区号、或者是国际的区号,具体取决于该每个第一类电话号码所属的行政区域。
[0112]在进行号码分类时,可以先按照号码长度的不同对这些待存储的电话号码进行分类,使得分类后的每个第一类电话号码的号码长度与其他第一类电话号码的号码长度均不同,且同一个第一类电话号码中的所有电话号码的长度均相同,其中,这里的“第一”并不表示按照号码长度进行分类的每类电话号码的实际名称,只是对按照号码长度进行分类后的所有类电话号码的统称,以便于与下文中按照区号进行进一步分类而得到的每类电话号码的统称进行区分。
[0113]上述步骤S103可被执行为:
[0114]在步骤A3中,根据每个第一类电话号码的区号,将每个第一类电话号码进行再次分类;
[0115]在步骤A4中,将再次分类后的每个第二类电话号码中的所有电话号码按照从小到大或者从大到小顺序进行排序;
[0116]在步骤A5中,确定每个第二类电话号码的区号为各自的索引,为各第二类电话号码建立索引表。
[0117]在建立索引表时,还可以进一步根据每个第一类电话号码的区号,将每个第一类电话号码进行再次细化分类,进而将再次分类后的每个第二类电话号码中的所有电话号码按照从小到大或者从大到小顺序进行排序,然后确定每个第二类电话号码的区号为各自的第二类电话号码的索引,以自动地为各第二类电话号码建立索引表,进而使得每个第二类电话号码中的所有电话号码因具有共同索引即共同的区号,而无需重复存储各第二类电话号码中所有电话号码的区号,从而减少各第二类电话号码占用的存储空间,极大地优化终端中能够存储的电话号码的数据量,并降低对终端硬盘空间使用量,同时提升无网络的情况下,电话号码的识别命中率,另外,这种存储方式无需进行解压缩,也能进行电话号码的反查与识别,因而能够降低内存消耗。
[0118]另外,在为每个第二类电话号码建立索引表之前,还可以根据电话号码的号码长度的不同建立一个总索引表,在这个总索引表中,每类不同的号码长度均可能对应若干个不同区号,它们是对应存储的,因而,便于在识别电话号码的过程中根据该总索引表快速查找到待识别的电话号码具体所属的小索引表(即下文中的目标索引表)。
[0119]如图3所示,在一个实施例中,上述步骤S104可被执行为:
[0120]在步骤BI中,在为各第二类电话号码建立索引表之后,确定各第二类电话号码中排序最靠前的电话号码为各第二类电话号码中的基础号码;
[0121]在步骤B2中,获取各第二类电话号码中任意两个相邻的电话号码之间的号码差;
[0122]由于系统处理号码差时,处理正数将更容易,因而,将每个第二类电话号码中的所有电话号码排序时,优选地,按照从小到大的顺序进行排序。
[0123]在步骤B3中,根据各第二类电话号码的索引,将各第二类电话号码的基本号码和任意两个相邻的电话号码之间的号码差按顺序进行存储。
[0124]在将建立索引表的每类电话号码进行存储时,可以在为各第二类电话号码建立索引表之后,确定各第二类电话号码中排序最靠前的电话号码为该第二类电话号码中的基础号码(即各第二类电话号码中排序最靠前的电话号码保持不变),然后以该基本号码为基础,依次统计出该第二类电话号码中任意两个相邻的电话号码之间的号码差(即:按照原始电话号码从小到大进行排列的该第二类电话号码中,排序第二的原始电话号码与基本号码的号码差、排序第三的原始电话号码与排序第二的原始电话号码的号码差、排序第四的原始电话号码与排序第三的原始电话号码的号码差,依次类推),进而以该第二类电话号码的索引为准,将该第二类电话号码的基本号码和该第二类电话号码中任意两个相邻的电话号码之间的号码差,按照该第二类电话号码中所有原始电话号码的排列顺序进行存储,以使得基本号码、以及每个号码差分别与其对应的原始电话号码相对应(即所处的排序位置完全相同),当然,系统对每个第二类电话号码都是按照上述过程进行存储的,这使得系统中只存储了每个第二类电话号码的索引、每个第二类电话号码的基本号码和每个第二类电话号码中所有电话号码之间相邻号码的号码差,而不是每个第二类电话号码中的所有电话号码的原始号码,因而,极大地节省了电话号码的存储空间,进而能够极大地优化终端中能够存储的电话号码的数据量,并降低对终端硬盘空间使用量,同时由于本地能够存储的电话号码也得到了极大地丰富,因而提升无网络的情况下,电话号码的识别命中率;
[0125]另外,由于这种存储方式并没有采用现有的压缩方式(如.zip压缩方式)进行压缩,因而,这种存储方式无需进行解压缩,也能进行电话号码的反查与识别,能够降低内存消耗,且由于每个第二类电话号码中的所有号码差均是以基本号码为准、按照该第二类电话号码中所有电话号码的排列顺序进行有序存储的,因而能够确保识别正确率,以避免由于排序紊乱而导致识别错误。
[0126]当然,如果磁盘资源比较紧张,在采用上述方式对每个第二类电话号码进行存储时,如果有需要还可以进一步采用现有的压缩算法(例如:.zip)进行二次压缩,使得这些待存储的电话号码的压缩比最大化。
[0127]如图4所示,在一个实施例中,上述步骤B3可被执行为:
[0128]在步骤Cl中,在基本号码和任意两个相邻的号码差之间分别设置分隔符;
[0129]在步骤C2中,将设置分隔符后的基本号码和任意两个相邻的号码差按顺序进行存储,其中,分隔符包括各第二类电话号码的类别、各第二类电话号码的总标记次数、当前号码差对应的电话号码的所在地、当前号码差对应的电话号码的标记次数、当前号码差对应的电话号码的标记日期中的一项或多项。
[0130]在进行存储时,还可以在基本号码和按顺序排列的任意两个相邻的号码差之间设置分隔符,例如AxaO-Uff,以使用该分隔符分隔电话号码,当然,该分隔符还可以用来储存号码的其他特性,例如:该第二类电话号码的类别、该第二类电话号码被用户标记的总标记次数、当前号码差对应的电话号码的所在地、该当前号码差对应的电话号码被用户标记的标记次数中的一项或多项等,其中,该第二类电话号码的类别为该第二类电话号码的属性,如该第二类电话号码是销售电话、订餐电话、欺诈电话、还是投资推广电话等;
[0131]当然,如果某一类第二类电话号码中所有电话号码的类别不完全相同,该分隔符还可以包括与该分隔符紧邻的当前号码差对应的电话号码的类别,即该当前号码差对应的电话号码是销售电话、订餐电话、欺诈电话、还是投资推广电话等。
[0132]进而将设置分隔符的基本号码和任意两个相邻的号码差按顺序进行存储,如使用4byte进行储存,从而将每个第二类电话号码中的所有电话号码均进行分割、标记等,使得被分割、标记后的每个电话号码均是一个完整的原始号码、均具有明确的特性,并避免出现电话号码识别混乱、确保识别正确率,并对每个第二类电话号码中的所有电话号码进行有规律地存储。
[0133]如图5所示,本发明还提供一种电话号码的识别方法,识别方法根据上述技术方案中任一项存储方法中存储的电话号码进行号码识别,识别方法包括:
[0134]在步骤S501中,获取待识别的电话号码;
[0135]该待识别的电话号码可以是来电号码、或者接收到的通讯信息中包含的电话号码等。
[0136]在步骤S502中,根据待识别的电话号码的区号和号码长度,确定待识别的电话号码所属的目标索引表;
[0137]由于存储的每个索引表的索引均是该类电话号码的区号,且每个索引表中的所有电话号码的长度也不同,因而,根据该待识别的电话号码的区号和号码长度,可以准确确定该待识别的电话号码所属的目标索引表。
[0138]在步骤S503中,根据目标索引表中的基本号码和号码差,确定目标索引表中是否存在与待识别的电话号码相匹配的原始号码;
[0139]在步骤S504中,当存在原始号码时,根据原始号码对待识别的电话号码进行识别;其中,该原始号码可能为该目标索引表中的基本号码,也可能是某个号码差对应的原始号码,当某个原始号码与该待识别的电话号码相匹配时,该原始号码与该待识别的电话号码完全相同,或者仅最后N位数字不同,而前几位数字完全相同,其中,N为小于或等于3的正整数。
[0140]当目标索引表为多个(即存储的电话号码中存在多个索引表中的电话号码与该待识别的电话号码的区号和长度完全相同)时,可以逐一根据每个目标索引表中的基本号码和号码差,以确定每个目标索引表中是否存在与待识别的电话号码相匹配的原始号码,即重复步骤S503至步骤S505,若在任何一个目标索引表中查找到与该待识别的电话号码相匹配的原始号码,则根据该原始号码对该待识别的电话号码进行准确识别;若在所有目标索引表中均未查找到与该待识别的电话号码相匹配的原始号码,则确定无法对该待识别的电话号码进行准确识别。
[0141]在步骤S505中,当不存在原始号码时,确定无法识别待识别的电话号码。
[0142]进而根据该目标索引表中按照原电话号码进行排序的基本号码和号码差,可以将该待识别的电话号码依次与目标索引表中的基本号码和每个号码差对应的原始号码进行比较,以准确判断该目标索引表中是否存在与该待识别的电话号码相匹配的原始号码,如果存在,则根据该原始号码对应的号码差的分隔符中的内容对该待识别号码进行准确识别;
[0143]在依次进行比较之后,如果该目标索引表中的基本号码和每个号码差对应的原始号码均不与该待识别的电话号码相匹配,则判定不存在该原始号码,进而确定无法识别该待识别的电话号码,即无法确定该电话号码的类别、被标记次数等。
[0144]如图6A所示,在一个实施例中,上述步骤S503可被执行为:
[0145]在步骤S601中,确定待识别的电话号码是否与基本号码相匹配;
[0146]在步骤S602中,当待识别的电话号码与基本号码相匹配时,确定基本号码为与待识别的电话号码相匹配的原始号码;
[0147]在进行匹配时,先将该待识别的电话号码与该目标索引表中的基本号码进行比较,以判断两者是否相匹配,如果相匹配,即该基本号码与该待识别的电话号码完全相同,或者仅最后N位数字不同,而前几位数字完全相同,则可以准确确定该基本号码即为与该待识别的电话号码相匹配的原始号码。
[0148]或者
[0149]如图6B所示,在一个实施例中,上述步骤S503可被执行为:
[0150]在步骤S603中,当待识别的电话号码与基本号码不匹配时,确定目标索引表中每个号码差对应的原始号码;
[0151]在步骤S604中,将待识别的电话号码依次与每个号码差对应的原始号码进行匹配,以确定是否存在与待识别的电话号码相匹配的原始号码,在实际的匹配过程中,由于是逐一匹配的,一旦查找到相匹配的原始号码就不会再进一步匹配,因而,在确定目标索引表中的原始号码时也可以逐一确定,如果确定某个号码差对应的原始号码与该待识别的电话号码相匹配,就不用再进一步确定排序靠后的其他号码差对应的原始号码,从而避免一次性确定出所有的号码差对应的原始号码,进而减少系统的计算负担。
[0152]在确定该待识别的电话号码与该基本号码不匹配时,可以进一步确定目标索引表中每个号码差对应的原始号码,进而将待识别的电话号码依次与每个号码差对应的原始号码进行匹配,以进一步确定是否存在与待识别的电话号码相匹配的原始号码,从而尽可能地对该待识别的电话号码进行识别,以避免因为比较不充分而误判定无法识别该待识别的电话号码。
[0153]如图7所示,在一个实施例中,上述步骤S603中的确定目标索引表中每个号码差对应的原始号码,包括:
[0154]在步骤Dl中,根据基本号码、当前号码差和当前号码差之前的所有号码差,确定当前号码差对应的原始号码,其中,该当前号码差依次为该目标索引表中与每个原始号码排序位置相同的每个号码差。
[0155]由于目标索引表中存储的是基本号码、和以该基本号码为基础的任意两个原始电话号码之间的号码差,且每个号码差与其对应的原始号码的排序位置完全相同,因此,在确定目标索引表中每个号码差对应的原始号码,需要确定当前号码差和当前号码差之前的所有号码差,进而将当前号码差和当前号码差之前的所有号码差、与该基本号码进行求和,即可还原出该当前号码差对应的原始号码。
[0156]如图8所示,本发明还提供一种电话号码的存储装置,包括:
[0157]获取模块801,被配置为获取待存储的电话号码;
[0158]分类模块802,被配置为根据所述待存储的电话号码的区号和号码长度,将所述待存储的电话号码进行分类,其中,每类电话号码对应不同的区号和号码长度;
[0159]建立模块803,被配置为为每类电话号码建立索引表;
[0160]存储模块804,被配置为将建立索引表的每类电话号码进行存储。
[0161]如图9所不,在一个实施例中,所述分类模块802包括:
[0162]第一分类子模块8021,被配置为将所述待存储的电话号码按照号码长度的不同进行分类,其中,分类后的每个第一类电话号码的号码长度不同;
[0163]第一获取子模块8022,被配置为获取分类后的每个第一类电话号码的区号;
[0164]所述建立模块803包括:
[0165]第二分类子模块8031,被配置为根据每个所述第一类电话号码的区号,将每个所述第一类电话号码进行再次分类;
[0166]排序子模块8032,被配置为将再次分类后的每个第二类电话号码中的所有电话号码按照从小到大或者从大到小顺序进行排序;
[0167]处理子模块8033,被配置为确定每个所述第二类电话号码的区号为各自的索引,为各第二类电话号码建立索引表。
[0168]如图10所示,在一个实施例中,所述存储模块804包括:
[0169]确定子模块8041,被配置为在为各第二类电话号码建立索引表之后,确定所述各第二类电话号码中排序最靠前的电话号码为所述各第二类电话号码中的基础号码;
[0170]第二获取子模块8042,被配置为获取所述各第二类电话号码中任意两个相邻的电话号码之间的号码差;
[0171]存储子模块8043,被配置为根据所述各第二类电话号码的索引,将所述各第二类电话号码的基本号码和所述任意两个相邻的电话号码之间的号码差按顺序进行存储。
[0172]在一个实施例中,所述存储子模块8043具体被配置为:
[0173]在所述基本号码和任意两个相邻的号码差之间分别设置分隔符;
[0174]将设置分隔符后的所述基本号码和所述任意两个相邻的号码差按顺序进行存储,其中,所述分隔符包括所述各第二类电话号码的类别、所述各第二类电话号码的总标记次数、当前号码差对应的电话号码的所在地、当前号码差对应的电话号码的标记次数中的一项或多项。
[0175]如图11所示,本发明还提供一种电话号码的识别装置,包括:
[0176]获取模块1101,被配置为获取待识别的电话号码;
[0177]第一确定模块1102,被配置为根据所述待识别的电话号码的区号和号码长度,确定所述待识别的电话号码所属的目标索引表;
[0178]第二确定模块1103,被配置为根据所述目标索引表中的基本号码和号码差,确定所述目标索引表中是否存在与所述待识别的电话号码相匹配的原始号码;
[0179]识别模块1104,被配置为当存在所述原始号码时,根据所述原始号码对所述待识别的电话号码进行识别;
[0180]第三确定模块1105,被配置为当不存在所述原始号码时,确定无法识别所述待识别的电话号码。
[0181 ]如图12A所示,在一个实施例中,所述第二确定模块1103包括:
[0182]第一确定子模块11031,被配置为确定所述待识别的电话号码是否与所述基本号码相匹配;
[0183]第二确定子模块11032,被配置为当所述待识别的电话号码与所述基本号码相匹配时,确定所述基本号码为与所述待识别的电话号码相匹配的原始号码;
[0184]或者
[0185]如图12B所示,在一个实施例中,所述第二确定模块1103包括:
[0186]第三确定子模块11033,被配置为当所述待识别的电话号码与所述基本号码不匹配时,确定所述目标索引表中每个号码差对应的原始号码;
[0187]第四确定子模块11034,被配置为将所述待识别的电话号码依次与所述每个号码差对应的原始号码进行匹配,以确定是否存在与所述待识别的电话号码相匹配的原始号码。
[0188]在一个实施例中,所述第三确定子模块11033具体被配置为:
[0189]根据所述基本号码、当前号码差和所述当前号码差之前的所有号码差,确定所述当前号码差对应的原始号码。
[0190]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0191]最后,本发明中的电话号码的存储装置和电话号码的识别装置适用于终端设备。例如,可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0192]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0193]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0194]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0195]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0196]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种电话号码的存储方法,其特征在于,包括: 获取待存储的电话号码; 根据所述待存储的电话号码的区号和号码长度,将所述待存储的电话号码进行分类,其中,每类电话号码对应不同的区号和号码长度; 为每类电话号码建立索引表; 将建立索引表的每类电话号码进行存储。2.根据权利要求1所述的方法,其特征在于, 所述根据所述待存储的电话号码的区号和号码长度,将所述待存储的电话号码进行分类,包括: 将所述待存储的电话号码按照号码长度的不同进行分类,其中,分类后的每个第一类电话号码的号码长度不同; 获取分类后的每个第一类电话号码的区号; 所述为每类电话号码建立索引表,包括: 根据每个所述第一类电话号码的区号,将每个所述第一类电话号码进行再次分类;将再次分类后的每个第二类电话号码中的所有电话号码按照从小到大或者从大到小顺序进彳丁排序; 确定每个所述第二类电话号码的区号为各自的索引,为各第二类电话号码建立索引表。3.根据权利要求2所述的方法,其特征在于, 所述将建立索引表的每类电话号码进行存储,包括: 在为各第二类电话号码建立索引表之后,确定所述各第二类电话号码中排序最靠前的电话号码为所述各第二类电话号码中的基础号码; 获取所述各第二类电话号码中任意两个相邻的电话号码之间的号码差; 根据所述各第二类电话号码的索引,将所述各第二类电话号码的基本号码和所述任意两个相邻的电话号码之间的号码差按顺序进行存储。4.根据权利要求3所述的方法,其特征在于, 所述根据所述各第二类电话号码的索引,将所述各第二类电话号码的基本号码和所述任意两个相邻的电话号码之间的号码差按顺序进行存储,包括: 在所述基本号码和任意两个相邻的号码差之间分别设置分隔符; 将设置分隔符后的所述基本号码和所述任意两个相邻的号码差按顺序进行存储,其中,所述分隔符包括所述各第二类电话号码的类别、所述各第二类电话号码的总标记次数、当前号码差对应的电话号码的所在地、当前号码差对应的电话号码的标记次数中的一项或多项。5.—种电话号码的识别方法,其特征在于,所述识别方法根据权利要求1至4中任一项存储方法中存储的电话号码进行号码识别,所述识别方法包括: 获取待识别的电话号码; 根据所述待识别的电话号码的区号和号码长度,确定所述待识别的电话号码所属的目标索引表; 根据所述目标索引表中的基本号码和号码差,确定所述目标索引表中是否存在与所述待识别的电话号码相匹配的原始号码; 当存在所述原始号码时,根据所述原始号码对所述待识别的电话号码进行识别; 当不存在所述原始号码时,确定无法识别所述待识别的电话号码。6.根据权利要求5所述的方法,其特征在于, 所述根据所述目标索引表中的基本号码和号码差,确定所述目标索引表中是否存在与所述待识别的电话号码相匹配的原始号码,包括: 确定所述待识别的电话号码是否与所述基本号码相匹配; 当所述待识别的电话号码与所述基本号码相匹配时,确定所述基本号码为与所述待识别的电话号码相匹配的原始号码; 或者 当所述待识别的电话号码与所述基本号码不匹配时,确定所述目标索引表中每个号码差对应的原始号码; 将所述待识别的电话号码依次与所述每个号码差对应的原始号码进行匹配,以确定是否存在与所述待识别的电话号码相匹配的原始号码。7.根据权利要求6所述的方法,其特征在于, 所述确定所述目标索引表中每个号码差对应的原始号码,包括: 根据所述基本号码、当前号码差和所述当前号码差之前的所有号码差,确定所述当前号码差对应的原始号码。8.一种电话号码的存储装置,其特征在于,包括: 获取模块,用于获取待存储的电话号码; 分类模块,用于根据所述待存储的电话号码的区号和号码长度,将所述待存储的电话号码进行分类,其中,每类电话号码对应不同的区号和号码长度; 建立模块,用于为每类电话号码建立索引表; 存储模块,用于将建立索引表的每类电话号码进行存储。9.根据权利要求8所述的装置,其特征在于, 所述分类模块包括: 第一分类子模块,用于将所述待存储的电话号码按照号码长度的不同进行分类,其中,分类后的每个第一类电话号码的号码长度不同; 第一获取子模块,用于获取分类后的每个第一类电话号码的区号; 所述建立模块包括: 第二分类子模块,用于根据每个所述第一类电话号码的区号,将每个所述第一类电话号码进行再次分类; 排序子模块,用于将再次分类后的每个第二类电话号码中的所有电话号码按照从小到大或者从大到小顺序进行排序; 处理子模块,用于确定每个所述第二类电话号码的区号为各自的索引,为各第二类电话号码建立索引表。10.根据权利要求9所述的装置,其特征在于, 所述存储模块包括: 确定子模块,用于在为各第二类电话号码建立索引表之后,确定所述各第二类电话号码中排序最靠前的电话号码为所述各第二类电话号码中的基础号码; 第二获取子模块,用于获取所述各第二类电话号码中任意两个相邻的电话号码之间的号码差; 存储子模块,用于根据所述各第二类电话号码的索引,将所述各第二类电话号码的基本号码和所述任意两个相邻的电话号码之间的号码差按顺序进行存储。11.根据权利要求10所述的装置,其特征在于, 所述存储子模块具体用于: 在所述基本号码和任意两个相邻的号码差之间分别设置分隔符; 将设置分隔符后的所述基本号码和所述任意两个相邻的号码差按顺序进行存储,其中,所述分隔符包括所述各第二类电话号码的类别、所述各第二类电话号码的总标记次数、当前号码差对应的电话号码的所在地、当前号码差对应的电话号码的标记次数中的一项或多项。12.—种电话号码的识别装置,其特征在于,所述识别装置根据权利要求8至11中任一项存储装置中存储的电话号码进行号码识别,所述识别装置包括: 获取模块,用于获取待识别的电话号码; 第一确定模块,用于根据所述待识别的电话号码的区号和号码长度,确定所述待识别的电话号码所属的目标索引表; 第二确定模块,用于根据所述目标索引表中的基本号码和号码差,确定所述目标索引表中是否存在与所述待识别的电话号码相匹配的原始号码; 识别模块,用于当存在所述原始号码时,根据所述原始号码对所述待识别的电话号码进行识别; 第三确定模块,用于当不存在所述原始号码时,确定无法识别所述待识别的电话号码。13.根据权利要求12所述的装置,其特征在于, 所述第二确定模块包括: 第一确定子模块,用于确定所述待识别的电话号码是否与所述基本号码相匹配; 第二确定子模块,用于当所述待识别的电话号码与所述基本号码相匹配时,确定所述基本号码为与所述待识别的电话号码相匹配的原始号码; 或者 第三确定子模块,用于当所述待识别的电话号码与所述基本号码不匹配时,确定所述目标索引表中每个号码差对应的原始号码; 第四确定子模块,用于将所述待识别的电话号码依次与所述每个号码差对应的原始号码进行匹配,以确定是否存在与所述待识别的电话号码相匹配的原始号码。14.根据权利要求13所述的装置,其特征在于, 所述第三确定子模块具体用于: 根据所述基本号码、当前号码差和所述当前号码差之前的所有号码差,确定所述当前号码差对应的原始号码。
【文档编号】H04M1/2745GK105847508SQ201610149285
【公开日】2016年8月10日
【申请日】2016年3月16日
【发明人】黄鼎翔, 周哲平
【申请人】北京羽乐创新科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1