号码的查询方法及装置、非易失性存储介质、处理器与流程

文档序号:32436392发布日期:2022-12-06 19:11阅读:65来源:国知局
号码的查询方法及装置、非易失性存储介质、处理器与流程

1.本技术涉及数据处理技术领域,具体而言,涉及一种号码的查询方法及装置、非易失性存储介质、处理器。


背景技术:

2.在无线核心网通信的业务场景中经常需要通过一个特定号码指定一个号码段的一些业务行为,其中,业务行为例如路由转发,配置策略等。程序在实现业务功能时通常需要通过一个指定的号码快速的从海量数据中反向查询最佳匹配的号码段记录以获取相关联的数据。现有查询方法无法缩小号码的查询范围致使查询效率低下,而且在高并发环境下无法满足性能要求。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术实施例提供了一种号码的查询方法及装置、非易失性存储介质、处理器,以至少解决由于无法缩小号码的查询范围造成的轮询遍历查询效率低下,在高并发环境下无法满足性能要求的技术问题。
5.根据本技术实施例的一个方面,提供了一种号码的查询方法,包括:分别获取多个号码区间内的开始号码和结束号码;分别确定各号码区间内的开始号码和结束号码中相同的前缀号码,并将前缀号码确定为各号码区间的索引值,其中,前缀号码为开始号码和结束号码中从左侧开始的数字;将待查询号码与各号码区间的索引值进行匹配,将与待查询号码匹配成功的索引值对应的号码区间确定为第一目标号码区间;从第一目标号码区间中查找待查询号码所属的第二目标号码区间。
6.可选地,分别确定各号码区间内的开始号码和结束号码中相同的前缀号码,包括:按照从左至右的顺序分别依次遍历开始号码中的数字以及结束号码中的数字,直至开始号码与结束号码中位于相同位置的数字不同,停止遍历;将遍历完成的数字确定为前缀号码。
7.可选地,将待查询号码与各号码区间的索引值进行匹配,包括:按照从右至左的顺序依次去除待查询号码中的最后一位数字,得到目标待查询号码;将目标待查询号码与索引值进行匹配;如果目标待查询号码与索引值相同,将目标待查询号码相同的索引值对应的号码区间确定为第一目标号码区间;如果目标待查询号码与索引值不同,继续按照从右至左的顺序去除目标待查询号码中的最后一位数字,直至目标待查询号码与索引值相同。
8.可选地,将待查询号码与各号码区间的索引值进行匹配,还包括:如果目标待查询号码为待查询号码中最左边的数字,且目标待查询号码与索引值不同,结束将待查询号码与索引值进行匹配的步骤,确定未查询到第一目标号码区间。
9.可选地,第一目标号码区间包括多个号码区间,从第一目标号码区间中查找待查询号码所属的第二目标号码区间,包括:分别比较待查询号码与第一目标号码区间包括的各个号码区间的开始号码与结束号码;依据比较结果从第一目标号码区间包括的各个号码
区间中确定第二目标号码区间。
10.可选地,开始号码以及结束号码为数字组成的数字串。
11.可选地,开始号码与结束号码包括的数字的数量相同。
12.根据本技术实施例的再一方面,还提供了一种非易失性存储介质,存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的号码的查询方法。
13.根据本技术实施例的再一方面,还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的号码的查询方法。
14.在本技术实施例中,采用分别获取多个号码区间内的开始号码和结束号码;分别确定各号码区间内的开始号码和结束号码中相同的前缀号码,并将前缀号码确定为各号码区间的索引值,其中,前缀号码为开始号码和结束号码中从左侧开始的数字;将待查询号码与各号码区间的索引值进行匹配,将与待查询号码匹配成功的索引值对应的号码区间确定为第一目标号码区间;从第一目标号码区间中查找待查询号码所属的第二目标号码区间的方式,通过确定号码区间对应的索引值并将待查询号码与索引值进行匹配,根据匹配结果确定待查询号码所属的号码区间,达到了缩小号码查询范围的目的,从而实现了提升号码查询效率的技术效果,进而解决了由于无法缩小号码的查询范围造成的轮询遍历查询效率低下,在高并发环境下无法满足性能要求技术问题。
附图说明
15.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
16.图1是根据本技术实施例的一种号码的查询方法的流程图;
17.图2是根据本技术实施例的一种确定前缀号码的示意图;
18.图3是根据本技术实施例的一种去除待查询号码中的数字的示意图;
19.图4是根据本技术实施例的一种号码的查询装置的结构图;
20.图5是根据本技术实施例提供的一种号码的查询方法的计算机终端(或电子设备)的硬件结构框图。
具体实施方式
21.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
22.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品
或设备固有的其它步骤或单元。
23.根据本技术实施例,提供了一种号码的查询方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
24.图1是根据本技术实施例的一种号码的查询方法的流程图,如图1所示,该方法包括如下步骤:
25.步骤s102,分别获取多个号码区间内的开始号码和结束号码。
26.根据本技术的一个可选的实施例,开始号码为指定号码区间内的第一个号码,结束号码为该号码区间内的最后一个号码。获取多个号码区间中每一个号码区间的开始号码和结束号码,开始号码以及结束号码为不完全相同的号码,例如获取5个号码区间的开始号码以及结束号码,其中,第一个号码区间的开始号码为13742690185,结束号码为13742692574;第二个号码区间的开始号码为13742692000,结束号码为13742693000;第三个号码区间的开始号码为13742693000,结束号码为13742693990;第四个号码区间的开始号码为13742694000,结束号码为13742697000;第五个号码区间的开始号码为13742600000,结束号码为13743690000。需要说明的是,结束号码的构成数字的数值比开始号码的构成数字的数值大。
27.步骤s104,分别确定各号码区间内的开始号码和结束号码中相同的前缀号码,并将前缀号码确定为各号码区间的索引值,其中,前缀号码为开始号码和结束号码中从左侧开始的数字。
28.根据本技术的另一个可选的实施例,提取出号码区间的开始号码和结束号码相同前缀部分作为号码区间的索引值。从最高位向最低位依次对号码中每个数字进行遍历,对比开始号码和结束号码的相同位数的数字是否相同,相同则继续向低一位遍历。否则停止遍历,将所有遍历过的数字组成的数字串作为号码段的哈希索引。
29.步骤s106,将待查询号码与各号码区间的索引值进行匹配,将与待查询号码匹配成功的索引值对应的号码区间确定为第一目标号码区间。
30.在本技术的一些可选的实施例,根据步骤s104可以确定步骤s102中5个号码区间的索引值,见下表:
31.记录开始号码结束号码索引值1137426901851374269257413742692137426920001374269300013742693137426930001374269399013742693413742694000137426970001374269513742600000137436900001374
32.例如,待查询号码为13742695936,将待查询号码处理后的与索引值相同的值为1374269,则第一目标号码区间为记录1、记录2以及记录4。
33.步骤s108,从第一目标号码区间中查找待查询号码所属的第二目标号码区间。
34.作为本技术的一个可选的实施例,根据步骤s106中获取的3个第一目标号码区间,从其中选取号码区间内号码数量最少的区间作为第二目标号码区间。
35.根据上述步骤,通过确定号码区间对应的索引值并将待查询号码与索引值进行匹配,根据匹配结果确定待查询号码所属的号码区间,达到了缩小号码查询范围的目的,从而实现了提升号码查询效率的技术效果,进而解决了由于无法缩小号码的查询范围造成的轮询遍历查询效率低下,在高并发环境下无法满足性能要求技术问题。
36.本技术可以应用于5g消息maap平台行业消息下发业务中。
37.根据本技术的一个可选的实施例,分别确定各号码区间内的开始号码和结束号码中相同的前缀号码,包括以下步骤:按照从左至右的顺序分别依次遍历开始号码中的数字以及结束号码中的数字,直至开始号码与结束号码中位于相同位置的数字不同,停止遍历;将遍历完成的数字确定为前缀号码。
38.图2是根据本技术实施例的一种确定前缀号码的示意图,如图2所示,例如某号码区间的开始号码为13742690185,结束号码为13742692574。按照从左至右的顺序分别依次遍历开始号码中的数字以及结束号码中的数字,开始号码与结束号码的第一位数字相同,继续遍历第二位数字,第二位数字相同,则继续遍历第三位数字,直到遍历至第八位数字。开始号码的第八位数字为0,结束号码的第八位数字为2,开始号码与结束号码在相同位置(第八位)的数字不同,停止遍历并将遍历完成的数字确定为前缀号码,此时遍历完成的数字为1374269,则开始号码和结束号码中相同的前缀号码为1374269。
39.在本技术的一些可选的实施例,将待查询号码与各号码区间的索引值进行匹配,可以通过以下方法实现:按照从右至左的顺序依次去除待查询号码中的最后一位数字,得到目标待查询号码;将目标待查询号码与索引值进行匹配;如果目标待查询号码与索引值相同,将目标待查询号码相同的索引值对应的号码区间确定为第一目标号码区间;如果目标待查询号码与索引值不同,继续按照从右至左的顺序去除目标待查询号码中的最后一位数字,直至目标待查询号码与索引值相同。
40.作为本技术的一个可选的实施例,例如5个号码区间的索引值如下表:
41.记录开始号码结束号码索引值1137426901851374269257413742692137426920001374269300013742693137426930001374269399013742693413742694000137426970001374269513742600000137436900001374
42.根据号码13742695936查找最佳匹配集,需要将号码13742695936按照从右至左的顺序依次去除最后一位数字,其中,最后一位数字为最右边的结束数字,直至待查询号码与索引值相同。查找时先取13742695936作为查询条件,结果为无法找到。继续以1374269593作为查询条件,结果为无法找到,直到以1374269查找时,此时可以找到3条匹配记录,即记录1、记录2以及记录4。
43.图3是根据本技术实施例的一种去除待查询号码中的数字的示意图,在图3中,首先将13742695936的最后一位数字去除,得到1374269593,如果无法找到与1374269593匹配的索引值,继续去除1374269593的最后一位数字,直到以1374269查找到相同的索引值时,停止去除过程。
44.在本技术的一些可选的实施例中,将待查询号码与各号码区间的索引值进行匹
配,还需要:如果目标待查询号码为待查询号码中最左边的数字,且目标待查询号码与索引值不同,结束将待查询号码与索引值进行匹配的步骤,确定未查询到第一目标号码区间。
45.作为本技术的另一个可选的实施例,通过一个指定号码查找最佳匹配范围时,首先需要将该号码从右至左开始去除最后一位数字,并将剩余的数字作为查找条件,匹配预处理阶段为每个号码段生成的前缀索引值。若该截取的号码前缀完全匹配前缀索引值,则进入精确查找阶段;否则,继续去除最后一位数字后再查询,直至剩余数字为最左边的开始数字而且最左边的开始数字与索引值不同,判定结果为没有查到第一目标号码区间。
46.通过对号码段进行预处理建立索引,并在查询阶段采用做右至左的方式缩减号码进行哈希索引查询过滤海量无效数据集,最终从有效的数据集中轮询遍历得到最佳匹配结果。
47.根据本技术的一个可选的实施例,第一目标号码区间包括多个号码区间,从第一目标号码区间中查找待查询号码所属的第二目标号码区间,通过以下方法实现:分别比较待查询号码与第一目标号码区间包括的各个号码区间的开始号码与结束号码;依据比较结果从第一目标号码区间包括的各个号码区间中确定第二目标号码区间。
48.根据本技术的另一个可选的实施例,分别比较待查询号码与第一目标号码区间包括的各个号码区间的开始号码与结束号码,选择号码区间内号码数量最少的区间作为第二目标号码区间。
49.在本技术的一些可选的实施例,开始号码以及结束号码为数字组成的数字串。
50.在本技术的一些可选的实施例中,开始号码与结束号码包括的数字的数量相同。
51.如果开始号码为7位数字组成的数字串,那么结束号码也同样为7位数字组成的数字串。
52.图4是根据本技术实施例的一种号码的查询装置的结构图,如图4所示,该装置包括:
53.获取模块40,用于分别获取多个号码区间内的开始号码和结束号码;
54.确定模块42,用于分别确定各号码区间内的开始号码和结束号码中相同的前缀号码,并将前缀号码确定为各号码区间的索引值,其中,前缀号码为开始号码和结束号码中从左侧开始的数字;
55.匹配模块44,用于将待查询号码与各号码区间的索引值进行匹配,将与待查询号码匹配成功的索引值对应的号码区间确定为第一目标号码区间;
56.查找模块46,用于从第一目标号码区间中查找待查询号码所属的第二目标号码区间。
57.需要说明的是,图4所示实施例的优选实施方式可以参见图1所示实施例的相关描述,此处不再赘述。
58.图5根据本技术实施例提供一种号码的查询方法的计算机终端(或电子设备)的硬件结构框图。如图5所示,计算机终端50(或电子设备50)可以包括一个或多个(图中采用502a、502b,
……
,502n来示出)处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器504、以及用于通信功能的传输模块506。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技
术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端50还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
59.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端50(或电子设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
60.存储器504可用于存储应用软件的软件程序以及模块,如本技术实施例中的号码的查询方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器504内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的号码的查询方法。存储器504可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器504可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端50。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
61.传输模块506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端50的通信供应商提供的无线网络。在一个实例中,传输装置506包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置506可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
62.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端50(或电子设备)的用户界面进行交互。
63.此处需要说明的是,在一些可选实施例中,上述图5所示的计算机设备(或电子设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图5仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或电子设备)中的部件的类型。
64.需要说明的是,图5所示的电子设备用于执行图1所示的号码的查询方法,因此上述命令的执行方法中的相关解释说明也适用于该电子设备,此处不再赘述。
65.本技术实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的号码的查询方法。
66.非易失性存储介质执行以下功能的程序:分别获取多个号码区间内的开始号码和结束号码;分别确定各号码区间内的开始号码和结束号码中相同的前缀号码,并将前缀号码确定为各号码区间的索引值,其中,前缀号码为开始号码和结束号码中从左侧开始的数字;将待查询号码与各号码区间的索引值进行匹配,将与待查询号码匹配成功的索引值对应的号码区间确定为第一目标号码区间;从第一目标号码区间中查找待查询号码所属的第二目标号码区间。
67.本技术实施例还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的号码的查询方法。
68.处理器用于运行执行以下功能的程序:分别获取多个号码区间内的开始号码和结
束号码;分别确定各号码区间内的开始号码和结束号码中相同的前缀号码,并将前缀号码确定为各号码区间的索引值,其中,前缀号码为开始号码和结束号码中从左侧开始的数字;将待查询号码与各号码区间的索引值进行匹配,将与待查询号码匹配成功的索引值对应的号码区间确定为第一目标号码区间;从第一目标号码区间中查找待查询号码所属的第二目标号码区间。
69.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
70.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
71.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
72.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
73.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
74.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
75.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1