CN110636164B - 陌生号码匹配方法、装置、设备及存储介质 - Google Patents
陌生号码匹配方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110636164B CN110636164B CN201910855026.7A CN201910855026A CN110636164B CN 110636164 B CN110636164 B CN 110636164B CN 201910855026 A CN201910855026 A CN 201910855026A CN 110636164 B CN110636164 B CN 110636164B
- Authority
- CN
- China
- Prior art keywords
- incoming
- matching
- database
- contact
- digits
- 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
Images
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
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/66—Substation equipment, e.g. for use by subscribers with means for preventing unauthorised or fraudulent calling
- H04M1/663—Preventing unauthorised calls to a telephone set
- H04M1/665—Preventing unauthorised calls to a telephone set by checking the validity of a code
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了陌生号码匹配方法、装置、设备及存储介质。本申请实施例提供的技术方案,在呼入号码的位数在预设位数内时,直接将呼入号码与数据库号码进行匹配以确定呼入号码为联系人号码或陌生号码,而在呼入号码的位数大于等于预设位数时,截取呼入号码尾数为预设位数的号码与数据库号码进行匹配,匹配失败则确定为陌生号码,若匹配成功,则根据匹配到的数据库号码数量定位呼入号码所对应的联系人号码,有效对呼入号码的类型进行判断,能够满足国内以及国际不同号码长度的需求,不需要针对不同国家做出不同的号码筛选规则,更加有效的提高拒接的正确率,保护智能手表用户的安全,提升用户使用体验。
Description
技术领域
本申请实施例涉及电子设备技术领域,尤其涉及陌生号码匹配方法、装置、设备及存储介质。
背景技术
智能手表凭借即时通话和定位等功能,在市面上越来越受欢迎,其功能也越来越多。为了减少收到陌生来电而被骚扰的情况,一般会对陌生号码进行拦截。
一般国内通用的陌生人匹配方法,会在本地存储联系人号码,然后通过呼入号码直接与联系人号码匹配来识别呼入号码是否为陌生号码,国内运营商通常在呼入或者发短信的时候在号码前加上(+86、86等)前缀,使得号码匹配需加上号码截取来过滤,而国际号码长度不一,前缀也不同,如果沿用国内匹配规则,则会出现陌生号码不能有效识别的情况。
因此,如何有效地对陌生号码进行识别成为了亟需解决的问题。
发明内容
本申请实施例提供陌生号码匹配方法、装置、设备及存储介质,以有效对陌生号码进行识别。
在第一方面,本申请实施例提供了陌生号码匹配方法,包括:
提取呼入号码,判断所述呼入号码位数是否小于预设位数;
若是,将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码;
否则,截取所述呼入号码尾数为预设位数的号码与所述数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码。
进一步的,所述将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码,包括:
调取数据库中的数据库号码;
将所述呼入号码与所述数据库号码进行全匹配;
若匹配成功,则确定所述呼入号码为联系人号码;
若匹配失败,则确定所述呼入号码为陌生号码。
进一步的,所述截取所述呼入号码尾数为预设位数的号码与所述数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码,包括:
截取所述呼入号码尾数为预设位数的号码与所述数据库号码进行匹配;
若匹配结果为匹配失败,则确定所述呼入号码为陌生号码;
若匹配结果为匹配成功,则判断匹配到的数据库号码的匹配数量是否大于1;
若匹配数量为1,则判断所述呼入号码与匹配到的数据库号码的长度是否一致;在所述呼入号码与匹配到的数据库号码的长度不一致时,确定所述呼入号码为联系人号码;而在所述呼入号码与匹配到的数据库号码的长度一致,且所述呼入号码与数据库号码精确匹配成功时,确定所述呼入号码为联系人号码,否则确定所述呼入号码为陌生号码;
若匹配数量大于1,则对所述呼入号码在匹配到的数据库号码中进行多联系人查找定位,以确定所述呼入号码所对应的联系人号码。
进一步的,所述对所述呼入号码在匹配到的数据库号码中进行多联系人查找定位,以确定所述呼入号码所对应的联系人号码,包括:
将匹配到的数据库号码为主键存入第一哈希图;
遍历主键,判断主键长度是否大于所述呼入号码长度;
若主键长度大于所述呼入号码长度,且主键包含所述呼入号码,则确定第一哈希图中主键为所述呼入号码对应的联系人号码;否则根据最佳匹配方案确定所述呼入号码对应的联系人号码;
若主键长度小于等于所述呼入号码长度,且所述呼入号码包含主键,则确定第一哈希图中主键为所述呼入号码对应的联系人号码;否则根据最佳匹配方案确定所述呼入号码对应的联系人号码。
进一步的,所述根据最佳匹配方案确定所述呼入号码对应的联系人号码,包括:
逆序匹配到的所述数据库号码,以所述数据库号码为主键、所述数据库号码的各位数字的有序组合为值构建第二哈希图;
逆序所述呼入号码,以所述呼入号码为主键、所述呼入号码的各位数字的有序组合为值构建第三哈希图;
遍历所述第二哈希图和所述第三哈希图中的值,计算从相同值至不同值的匹配位数;
确定匹配位数最多的数据库号码为所述呼入号码对应的联系人号码。
进一步的,所述提取呼入号码,判断所述呼入号码位数是否小于预设位数之前,还包括:
同步联系人号码,并将联系人号码作为数据库号码存入数据库。
在第二方面,本申请实施例提供了陌生号码匹配装置,包括号码提取模块、位数判断模块、第一匹配模块和第二匹配模块,其中:
号码提取模块,用于提取呼入号码;
位数判断模块,用于判断所述呼入号码位数是否小于预设位数;
第一匹配模块,用于在所述呼入号码位数小于所述预设位数时,将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码;
第二匹配模块,用于在所述呼入号码位数大于等于所述预设位数时,截取所述呼入号码尾数为预设位数的号码与所述数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码。
进一步的,所述装置还包括同步模块,用于同步联系人号码,并将联系人号码作为数据库号码存入数据库。
在第三方面,本申请实施例提供了一种陌生号码匹配设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的陌生号码匹配方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的陌生号码匹配方法。
本申请实施例在呼入号码的位数在预设位数内时,直接将呼入号码与数据库号码进行匹配以确定呼入号码为联系人号码或陌生号码,而在呼入号码的位数大于等于预设位数时,截取呼入号码尾数为预设位数的号码与数据库号码进行匹配,匹配失败则确定为陌生号码,若匹配成功,则根据匹配到的数据库号码数量定位呼入号码所对应的联系人号码,有效对呼入号码的类型进行判断,能够满足国内以及国际不同号码长度的需求,不需要针对不同国家做出不同的号码筛选规则,更加有效的提高拒接的正确率,保护智能手表用户的安全,提升用户使用体验。
附图说明
图1是本申请实施例提供的一种陌生号码匹配方法的流程图;
图2是本申请实施例提供的另一种陌生号码匹配方法的流程图;
图3是本申请实施例提供的多联系人查找定位的流程图;
图4是本申请实施例提供的一种陌生号码匹配装置的结构示意图;
图5是本申请实施例提供的一种陌生号码匹配设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种陌生号码匹配方法的流程图,本申请实施例可以由陌生号码匹配装置来执行,该陌生号码匹配装置可通过硬件和/或软件的方式实现,并集成在陌生号码匹配设备中。其中陌生号码匹配设备为智能手表、手机等移动终端,本申请实施例中以智能手表为例进行示例性的描述。
下述以陌生号码匹配装置执行陌生号码匹配方法为例进行描述。参考图1,该陌生号码匹配方法具体包括:
S101:提取呼入号码,判断所述呼入号码位数是否小于预设位数。
具体的,在接收到来电或短信时,提取来电或短信对应的呼入号码,并计算呼入号码的位数。例如,在提取到的呼入号码为13XXXXXXXXX时,计算到的呼入号码的位数为11位,若提取到的呼入号码为8613XXXXXXXXX时,计算到的呼入号码的位数为13位,若提取到的呼入号码为65XXXX(如亲情短号)时,计算到的呼入号码的位数为6位。
进一步的,在计算得出呼入号码的位数后,将呼入号码位数与预设位数进行比较,以判断呼入号码位数是否小于预设位数。其中预设位数根据情况具体设置,在本实施例中预设位数以8位为例进行示例性描述。例如,在提取到的呼入号码分别为13XXXXXXXXX和8613XXXXXXXXX时,计算到的呼入号码的位数分别为11位和13位,均大于预设位数,判定呼入号码位数小于预设位数,在提取到的呼入号码为65XXXX时,计算到的呼入号码的位数为6位,小于预设位数,判定呼入号码位数大于(不小于)预设位数。
S102:若是,将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码。
具体的,在确定呼入号码位数小于预设位数时,将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码具体包括:调取数据库中的数据库号码;将所述呼入号码与所述数据库号码进行全匹配;若匹配成功,则确定所述呼入号码为联系人号码;若匹配失败,则确定所述呼入号码为陌生号码。
示例性的,在确定呼入号码位数小于预设位数时,从数据库中调取数据库号码。其中数据库中的数据库号码与通讯录的联系人号码对应,可选的,可以将通讯录作为数据库,并将通讯录中的联系人号码作为数据库号码。数据库或通讯录中还保存有与联系人号码相互绑定的联系人姓名、联系人照片或联系人基本信息等联系人信息。进一步的,数据库可以是设置在本地,还可以设置在服务器,并可通过相应的通信协议访问数据库并调取其中的数据库号码。
在获取数据库号码后,将呼入号码与获取到的数据库号码进行全匹配,在匹配到与呼入号码完全一样的数据库号码时,才判断匹配成功,否则判断匹配失败。若匹配成功,则确定所提取的呼入号码为联系人号码,并根据联系人号码提取对应的联系人信息,在通话或短信显示界面显示联系人信息。若匹配失败,则确定所提取的呼入号码为陌生号码,可根据对陌生号码的拒接设置对该陌生号码进行拦截。
S103:否则,截取所述呼入号码尾数为预设位数的号码与所述数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码。
具体的,在确定呼入号码位数大于等于预设位数时,则截取呼入号码尾数为预设位数的号码(本实施例中预设位数为8位,即截取呼入号码后8位的号码),以下将该号码记为截取号码。例如,在提取的呼入号码为8613X12345678,对应的,截取号码为12345678。在截取获得截取号码后,将截取号码与数据库号码进行模糊匹配,在匹配成功时,则确定所提取的呼入号码为联系人号码,并根据联系人号码提取对应的联系人信息,在通话或短信显示界面显示联系人信息。若匹配失败,则确定所提取的呼入号码为陌生号码,可根据对陌生号码的拒接设置对该陌生号码进行拦截。
上述,在呼入号码的位数在预设位数之内时,直接对呼入号码进行匹配,快速获知呼入号码为联系人号码或陌生号码,方便对陌生号码进行拦截,而在呼入号码的位数大于或等于预设位数时,则获取呼入号码尾数为预设位数的号码与数据库号码进行模糊匹配,并根据匹配结果判断呼入号码的类型,能够满足国内以及国际不同号码长度的需求,不需要针对不同国家做出不同的号码筛选规则,更加有效的提高拒接的正确率,保护智能手表用户的安全,提升用户使用体验。
在上述实施例的基础上,图2给出了本申请实施例提供的另一种陌生号码匹配方法的流程图。该陌生号码匹配方法是对上述陌生号码匹配方法的具体化。参考图2,该陌生号码匹配方法包括:
S200:同步联系人号码,并将联系人号码作为数据库号码存入数据库。然后跳转至步骤S2011。
具体的,其中联系人号码的同步在通讯录中的联系人相关信息(如联系人号码和联系人信息)更新时进行,同步的方式可以是将通讯录中的资料全部覆盖更新至数据库中,还可以是将发生更新的联系人对应的资料同步更新至数据库中。另外,还可以将通讯录作为数据库,通讯录的更新即视为数据库的同步更新。数据库可以是设置在本地,还可以设置在服务器,并可通过相应的通信协议访问数据库并调取其中的数据库号码。
S2011:提取呼入号码。然后跳转至步骤S2012。
具体的,在接收到来电或短信时,提取来电或短信对应的呼入号码,并计算呼入号码的位数。例如,在提取到的呼入号码为13XXXXXXXXX时,计算到的呼入号码的位数为11位,若提取到的呼入号码为8613XXXXXXXXX时,计算到的呼入号码的位数为13位,若提取到的呼入号码为65XXXX(如亲情短号)时,计算到的呼入号码的位数为6位。
S2012:判断所述呼入号码位数是否小于预设位数。若是,跳转至步骤S202,否则跳转至步骤S203。
S2021:将所述呼入号码与数据库号码进行全匹配。然后跳转至步骤S2022。
S2022:判断是否匹配成功。若是,跳转至步骤S2023,否则,跳转至步骤S2024。
S2023:确定呼入号码为联系人号码。确定呼入号码类型后,结束流程。
S2024:确定呼入号码为陌生号码。确定呼入号码类型后,结束流程。
具体的,将呼入号码与获取到的数据库号码进行全匹配,并判断是否匹配成功,在匹配到与呼入号码完全一样的数据库号码时,才判断匹配成功,否则判断匹配失败。若匹配成功,确定呼入号码为联系人号码,否则,确定呼入号码为陌生号码。
S203:截取所述呼入号码尾数为预设位数的号码与所述数据库号码进行匹配。然后跳转至步骤S2031。
S2031:判断是否成功匹配到数据库号码。若匹配结果为匹配失败,则跳转至步骤S204,若匹配结果为匹配成功,则跳转至步骤S205。
S204:确定所述呼入号码为陌生号码。确定呼入号码类型后,结束流程。
S205:判断匹配到的数据库号码的匹配数量是否大于1。若是,跳转至步骤S209,否则,跳转至步骤S206。
具体的,在确定呼入号码位数大于等于预设位数时,则截取呼入号码尾数为预设位数的号码并记为截取号码,并在截取获得截取号码后,将截取号码与数据库号码进行模糊匹配,即在数据库号码尾数为预设位数的号码与截取号码一致即判断模糊匹配成功。例如,呼入号码为15X12345678,对应的截取号码为12345678,该截取号码与号码为8613X12345678、13X12345678和15X12345678的数据库号码均可模糊匹配成功。
若模糊匹配失败,则确定所提取的呼入号码为陌生号码,可根据对陌生号码的拒接设置对该陌生号码进行拦截;若模糊匹配成功,则计算并获取模糊匹配到的数据库号码的数量,并判断匹配到的数据库号码的匹配数量是否大于1。
S206:判断所述呼入号码与匹配到的数据库号码的长度是否一致。若是,跳转至步骤S2061,否则,跳转至步骤S207。
S2061:判断呼入号码与数据库号码是否精确匹配成功。若是,跳转至步骤S207,否则,跳转至步骤S208。
S207:确定所述呼入号码为联系人号码。确定呼入号码类型后,结束流程。
S208:确定所述呼入号码为联系人号码。确定呼入号码类型后,结束流程。
具体的,在确定模糊匹配到的数据库号码只有1个时,计算并获取呼入号码和匹配到的数据库号码的长度,并对呼入号码和数据库号码的长度进行比较。在比较结果为呼入号码与匹配到的数据库号码的长度不一致时,则确定该呼入号码为联系人号码,将匹配到的数据库号码作为联系人号码,并根据联系人号码在数据库中提取对应的联系人信息,在通话或短信显示界面显示联系人信息。
进一步的,在比较结果为呼入号码与匹配到的数据库号码的长度一致时,将呼入号码与匹配到的数据库号码进行精确匹配,即呼入号码与数据库号码完全一致时才判断精确匹配成功。例如,呼入号码为15X12345678,若模糊匹配得到的数据库号码为13X12345678,两个号码中逆序的第10位不一致,则判断精确匹配失败,确定所提取的呼入号码为陌生号码,可根据对陌生号码的拒接设置对该陌生号码进行拦截,若模糊匹配得到的数据库号码为与呼入号码一致的15X12345678,则确定所提取的呼入号码为联系人号码。
S209:对所述呼入号码在匹配到的数据库号码中进行多联系人查找定位,以确定所述呼入号码所对应的联系人号码。确定呼入号码类型后,结束流程。
具体的,在确定模糊匹配到的数据库号码的数量大于1个时,对呼入号码在匹配到的数据库号码中进行多联系人查找定位,以确定呼入号码所对应的联系人号码。
图3为本申请实施例提供的多联系人查找定位的流程图。如图3所示,其中对呼入号码在匹配到的数据库号码中进行多联系人查找定位,以确定呼入号码所对应的联系人号码,包括:
S2091:将匹配到的数据库号码为主键存入第一哈希图。然后跳转至步骤S2092。
具体的,根据模糊匹配结果获取匹配到的数据库号码,并将数据库号码作为主键保存到第一哈希图(HashMap1)中。其中哈希图(HashMap)是基于哈希表的map接口的非同步实现,元素以键值对的方式存储,实现提供所有可选的映射操作,并允许使用null值和null键。
S2092:遍历主键,判断主键长度是否大于所述呼入号码长度。若是,跳转至步骤S20921,否则,跳转至步骤S20922。
具体的,遍历第一哈希图的主键,将第一哈希图中的主键的长度(或位数)逐一与呼入号码的长度(或位数)进行比较,并针对每个主键生成对应的比较结果。可以理解的是,由于模糊匹配到的数据库号码存在长度或位数不一的情况,其对应的在第一哈希图中的主键的长度也不一样,使得每个主键对应的比较结果会存在不一样的情况。例如,若提取的呼入号码为8615X12345678,其长度为13位,其中一个匹配到的数据库号码为XXX8615X12345678,对应的主键长度为16位,长度大于呼入号码的长度,比较结果为主键长度大于所述呼入号码长度;如果其中一个匹配到的数据库号码为0X012345678,对应的主键长度为11位,长度小于呼入号码的长度,比较结果为主键长度小于(小于等于)所述呼入号码长度。
S20921:判断是否主键包含所述呼入号码,若是,跳转至步骤S2093,否则,根据最佳匹配方案确定所述呼入号码对应的联系人号码(步骤S2095-步骤S2098)。
S2093:确定第一哈希图中主键为所述呼入号码对应的联系人号码。确定呼入号码类型后,结束流程。
具体的,在比较结果为主键长度大于所述呼入号码长度时,判断主键中是否包含有呼入号码,并生成对应的判断结果。示例性的,将呼入号码与主键末尾对应位数的号码进行比较,在两个号码完全一致时,判断主键包含呼入号码,否则判断该主键不包含呼入号码。例如,若提取的呼入号码为8615X12345678,其中一个匹配到的数据库号码为XXX8615X12345678,对应的主键为XXX8615X12345678,主键末尾的8615X12345678号码与呼入号码一致,判断结果为主键包含所述呼入号码。
在判断主键包含呼入号码时,则确定第一哈希图中对应主键为呼入号码对应的联系人号码,并根据联系人号码在数据库中提取对应的联系人信息,在通话或短信显示界面显示联系人信息。若判断结果为主键不包含呼入号码,则根据最佳匹配方案确定呼入号码对应的联系人号码。
S20922:判断是否呼入号码包含主键。若是,跳转至步骤S2094,否则,根据最佳匹配方案确定所述呼入号码对应的联系人号码(步骤S2095-步骤S2098)。
S2094:确定第一哈希图中主键为所述呼入号码对应的联系人号码。确定呼入号码类型后,结束流程。
具体的,在比较结果为主键长度小于等于所述呼入号码长度时,判断呼入号码中是否包含有主键,并生成对应的判断结果。示例性的,将主键与呼入号码末尾对应位数的号码进行比较,在两个号码完全一致时,判断呼入号码包含主键,否则判断呼入号码不包含主键。例如,若提取的呼入号码为8615X12345678,其中一个匹配到的数据库号码为15X12345678,对应的主键为15X12345678,呼入号码末尾的15X12345678号码与主键一致,判断结果为呼入号码包含主键。
在判断呼入号码包含主键时,则确定第一哈希图中对应主键为呼入号码对应的联系人号码,并根据联系人号码在数据库中提取对应的联系人信息,在通话或短信显示界面显示联系人信息。若判断结果为呼入号码不包含主键,则根据最佳匹配方案确定呼入号码对应的联系人号码。
进一步的,在本实施例中,根据最佳匹配方案确定呼入号码对应的联系人号码具体包括以下步骤:
S2095:逆序匹配到的所述数据库号码,以所述数据库号码为主键、所述数据库号码的各位数字的有序组合为值构建第二哈希图。然后跳转至步骤S2096。
具体的,将所有模糊匹配到的数据库号码从最后一位往前排序,得到逆序的数据库号码,并将逆序的数据库号码作为主键,以逆序的数据库号码各位数字的有序组合(从最后一位往前的排序组合)为值构建第二哈希图(HashMap2)。例如,其中两个模糊匹配得到的数据库号码分别为10108615X12345678和10208616X12345678,在第二哈希图中对应的主键分别为87654321X51680101和87654321X61680201。
S2096:逆序所述呼入号码,以所述呼入号码为主键、所述呼入号码的各位数字的有序组合为值构建第三哈希图。然后跳转至步骤S2097。
具体的,将呼入号码从最后一位往前排序,得到逆序的呼入号码,并将逆序的呼入号码作为主键,以逆序的呼入号码各位数字的有序组合为值(从最后一位往前的排序组合)构建第三哈希图(HashMap3)。例如,呼入号码为0208615X12345678,在第三哈希图中对应的主键分别为87654321X5168020。
S2097:遍历所述第二哈希图和所述第三哈希图中的值,计算从相同值至不同值的匹配位数。然后跳转至步骤S2098。
具体的,遍历第二哈希图和第三哈希图中的值,将第二哈希图每一个主键的值和第三哈希图中对应位数的值进行比较,判断同一位数的值是否相同,并对每个主键从相同值至不同值为止之间相同值的匹配位数进行统计,从而计算从相同值至不同值的匹配位数。
S2098:确定匹配位数最多的数据库号码为所述呼入号码对应的联系人号码。确定呼入号码类型后,结束流程。
示例性的,在计算得出第二哈希图中对应的所有数据库号码(主键)对应的匹配位数后,将匹配位数最多的数据库号码作为呼入号码对应的联系人号码。假设模糊匹配到的数据库号码只有10108615X12345678(第一数据库号码)和10208616X12345678(第二数据库号码)两个,呼入号码为0208615X12345678,经步骤S2097计算得出第一数据库号码对应主键的匹配位数为14位,而第二数据库号码对应主键的匹配位数为9位,此时确定匹配位数最多的第一数据库号码为呼入号码对应的联系人号码。可根据该联系人号码在数据库中提取对应的联系人信息,在通话或短信显示界面显示联系人信息。
上述,在呼入号码的位数在预设位数内时,直接将呼入号码与数据库号码进行匹配以确定呼入号码为联系人号码或陌生号码;而在呼入号码的位数大于等于预设位数时,截取呼入号码尾数为预设位数的号码与数据库号码进行匹配,匹配失败则确定为陌生号码;若匹配成功,则根据匹配到的数据库号码数量定位呼入号码所对应的联系人号码,有效对呼入号码的类型进行判断,并在匹配到多个数据库号码时通过最佳匹配方案确定更对应的联系人号码,能够满足国内以及国际不同号码长度的需求,不需要针对不同国家做出不同的号码筛选规则,更加有效的提高拒接的正确率,保护智能手表用户的安全,提升用户使用体验。
在上述实施例的基础上,图4为本申请实施例提供的一种陌生号码匹配装置的结构示意图。参考图4,本实施例提供的陌生号码匹配装置包括号码提取模块41、位数判断模块42、第一匹配模块43和第二匹配模块44。
其中,号码提取模块41,用于提取呼入号码;位数判断模块42,用于判断所述呼入号码位数是否小于预设位数;第一匹配模块43,用于在所述呼入号码位数小于所述预设位数时,将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码;第二匹配模块44,用于在所述呼入号码位数大于等于所述预设位数时,截取所述呼入号码尾数为预设位数的号码与所述数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码。
上述,在呼入号码的位数在预设位数之内时,直接对呼入号码进行匹配,快速获知呼入号码为联系人号码或陌生号码,方便对陌生号码进行拦截,而在呼入号码的位数大于或等于预设位数时,则获取呼入号码尾数为预设位数的号码与数据库号码进行模糊匹配,并根据匹配结果判断呼入号码的类型,能够满足国内以及国际不同号码长度的需求,不需要针对不同国家做出不同的号码筛选规则,更加有效的提高拒接的正确率,保护智能手表用户的安全,提升用户使用体验。
进一步的,陌生号码匹配装置还包括同步模块45,用于同步联系人号码,并将联系人号码作为数据库号码存入数据库。
本申请实施例提供了一种陌生号码匹配设备,具体为一种计算机设备,该陌生号码匹配设备为可穿戴设备(智能手表)、手机等移动终端,且该陌生号码匹配设备可集成本申请实施例提供的陌生号码匹配装置。图5为本申请实施例提供的一种陌生号码匹配设备的结构示意图,参考图5,该陌生号码匹配设备包括通信模块55、输出装置54、输入装置53、存储器52以及一个或多个处理器51;所述存储器52,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器51执行,使得所述一个或多个处理器51实现如上述实施例提供的陌生号码匹配方法。其中通信模块55、输出装置54、输入装置53、存储器52和处理器51可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器52作为一种计算设备可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的陌生号码匹配方法对应的程序指令/模块(例如,陌生号码匹配装置中的号码提取模块31、位数判断模块32、第一匹配模块33和第二匹配模块34)。存储器52可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块55用于与其他的可穿戴设备、手机、服务器等设备建立通讯连接。
输入装置53可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。
处理器51通过运行存储在存储器52中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的陌生号码匹配方法。
上述提供的陌生号码匹配装置和计算机可用于执行上述实施例提供的陌生号码匹配方法,具备相应的功能和有益效果。
本申请实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种陌生号码匹配方法,该陌生号码匹配方法包括:提取呼入号码,判断所述呼入号码位数是否小于预设位数;若是,将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码;否则,截取所述呼入号码尾数为预设位数的号码与所述数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的陌生号码匹配方法,还可以执行本申请任意实施例所提供的陌生号码匹配方法中的相关操作。
上述实施例中提供的陌生号码匹配装置、设备即存储介质可执行本申请任意实施例所提供的陌生号码匹配方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的陌生号码匹配方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (8)
1.一种陌生号码匹配方法,其特征在于,包括:
提取呼入号码,判断所述呼入号码位数是否小于预设位数;
若是,将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码;
否则,截取所述呼入号码尾数为预设位数的号码并记为截取号码,将截取号码与数据库号码进行模糊匹配,并根据匹配结果判断所述呼入号码是否为陌生号码,其中,在数据库号码尾数为预设位数的号码与截取号码一致时,模糊匹配成功;
其中,所述截取所述呼入号码尾数为预设位数的号码并记为截取号码,将截取号码与数据库号码进行模糊匹配,并根据匹配结果判断所述呼入号码是否为陌生号码,包括:
截取所述呼入号码尾数为预设位数的号码并记为截取号码,将截取号码与数据库号码进行模糊匹配;
若匹配结果为匹配失败,则确定所述呼入号码为陌生号码;
若匹配结果为匹配成功,则判断匹配到的数据库号码的匹配数量是否大于1;
若匹配数量为1,则判断所述呼入号码与匹配到的数据库号码的长度是否一致;在所述呼入号码与匹配到的数据库号码的长度不一致时,确定所述呼入号码为联系人号码;而在所述呼入号码与匹配到的数据库号码的长度一致,且所述呼入号码与数据库号码精确匹配成功时,确定所述呼入号码为联系人号码,否则确定所述呼入号码为陌生号码,其中,呼入号码与数据库号码完全一致时,精确匹配成功;
若匹配数量大于1,则对所述呼入号码在匹配到的数据库号码中进行多联系人查找定位,以确定所述呼入号码所对应的联系人号码。
2.根据权利要求1所述的陌生号码匹配方法,其特征在于,所述将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码,包括:
调取数据库中的数据库号码;
将所述呼入号码与所述数据库号码进行全匹配;
若匹配成功,则确定所述呼入号码为联系人号码;
若匹配失败,则确定所述呼入号码为陌生号码。
3.根据权利要求1所述的陌生号码匹配方法,其特征在于,所述对所述呼入号码在匹配到的数据库号码中进行多联系人查找定位,以确定所述呼入号码所对应的联系人号码,包括:
将匹配到的数据库号码为主键存入第一哈希图;
遍历主键,判断主键长度是否大于所述呼入号码长度;
若主键长度大于所述呼入号码长度,且主键包含所述呼入号码,则确定第一哈希图中主键为所述呼入号码对应的联系人号码;否则根据最佳匹配方案确定所述呼入号码对应的联系人号码;
若主键长度小于等于所述呼入号码长度,且所述呼入号码包含主键,则确定第一哈希图中主键为所述呼入号码对应的联系人号码;否则根据最佳匹配方案确定所述呼入号码对应的联系人号码;
所述根据最佳匹配方案确定所述呼入号码对应的联系人号码,包括:
逆序匹配到的所述数据库号码,以所述数据库号码为主键、所述数据库号码的各位数字的有序组合为值构建第二哈希图;
逆序所述呼入号码,以所述呼入号码为主键、所述呼入号码的各位数字的有序组合为值构建第三哈希图;
遍历所述第二哈希图和所述第三哈希图中的值,计算从相同值至不同值的匹配位数;
确定匹配位数最多的数据库号码为所述呼入号码对应的联系人号码。
4.根据权利要求1所述的陌生号码匹配方法,其特征在于,所述提取呼入号码,判断所述呼入号码位数是否小于预设位数之前,还包括:
同步联系人号码,并将联系人号码作为数据库号码存入数据库。
5.一种陌生号码匹配装置,其特征在于,包括号码提取模块、位数判断模块、第一匹配模块和第二匹配模块,其中:
号码提取模块,用于提取呼入号码;
位数判断模块,用于判断所述呼入号码位数是否小于预设位数;
第一匹配模块,用于在所述呼入号码位数小于所述预设位数时,将所述呼入号码与数据库号码进行匹配,并根据匹配结果判断所述呼入号码是否为陌生号码;
第二匹配模块,用于在所述呼入号码位数大于等于所述预设位数时,截取所述呼入号码尾数为预设位数的号码并记为截取号码,将截取号码与数据库号码进行模糊匹配,并根据匹配结果判断所述呼入号码是否为陌生号码,其中,在数据库号码尾数为预设位数的号码与截取号码一致即判断模糊匹配成功;
所述第二匹配模块在截取所述呼入号码尾数为预设位数的号码并记为截取号码,将截取号码与数据库号码进行模糊匹配,并根据匹配结果判断所述呼入号码是否为陌生号码时,包括:
截取所述呼入号码尾数为预设位数的号码并记为截取号码,将截取号码与数据库号码进行模糊匹配;
若匹配结果为匹配失败,则确定所述呼入号码为陌生号码;
若匹配结果为匹配成功,则判断匹配到的数据库号码的匹配数量是否大于1;
若匹配数量为1,则判断所述呼入号码与匹配到的数据库号码的长度是否一致;在所述呼入号码与匹配到的数据库号码的长度不一致时,确定所述呼入号码为联系人号码;而在所述呼入号码与匹配到的数据库号码的长度一致,且所述呼入号码与数据库号码精确匹配成功时,确定所述呼入号码为联系人号码,否则确定所述呼入号码为陌生号码,其中,呼入号码与数据库号码完全一致时,精确匹配成功;
若匹配数量大于1,则对所述呼入号码在匹配到的数据库号码中进行多联系人查找定位,以确定所述呼入号码所对应的联系人号码。
6.根据权利要求5所述的陌生号码匹配装置,其特征在于,所述装置还包括同步模块,用于同步联系人号码,并将联系人号码作为数据库号码存入数据库。
7.一种陌生号码匹配设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4任一所述的陌生号码匹配方法。
8.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-4任一所述的陌生号码匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910855026.7A CN110636164B (zh) | 2019-09-10 | 2019-09-10 | 陌生号码匹配方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910855026.7A CN110636164B (zh) | 2019-09-10 | 2019-09-10 | 陌生号码匹配方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636164A CN110636164A (zh) | 2019-12-31 |
CN110636164B true CN110636164B (zh) | 2022-07-22 |
Family
ID=68972517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910855026.7A Active CN110636164B (zh) | 2019-09-10 | 2019-09-10 | 陌生号码匹配方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110636164B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286329B (zh) * | 2021-12-02 | 2023-06-20 | 中国联合网络通信集团有限公司 | 物联网设备的呼叫控制方法、装置和存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972329A (zh) * | 2005-11-22 | 2007-05-30 | 中兴通讯股份有限公司 | 一种电话号码匹配的方法 |
CN101854420A (zh) * | 2010-05-18 | 2010-10-06 | 深圳桑菲消费通信有限公司 | 一种手机来电显示号码的匹配方法 |
CN103929520A (zh) * | 2014-04-17 | 2014-07-16 | 惠州Tcl移动通信有限公司 | 一种手机电话号码匹配的方法及系统 |
CN104023324A (zh) * | 2014-05-30 | 2014-09-03 | 可牛网络技术(北京)有限公司 | 对陌生通话号码进行处理的方法和装置 |
CN104967750A (zh) * | 2015-07-30 | 2015-10-07 | 广东欧珀移动通信有限公司 | 筛选通话记录中陌生呼叫号码的方法及移动终端 |
CN106657689A (zh) * | 2015-11-04 | 2017-05-10 | 中国移动通信集团公司 | 一种对国际诈骗电话进行防控的方法、装置 |
CN107122412A (zh) * | 2017-03-31 | 2017-09-01 | 合肥天馈互联网技术有限公司 | 一种海量电话号码快速匹配检索方法 |
CN107360313A (zh) * | 2017-06-29 | 2017-11-17 | 胡玥莹 | 用于识别陌生来电的防诈骗通信系统及方法 |
CN107766572A (zh) * | 2017-11-13 | 2018-03-06 | 北京国信宏数科技有限责任公司 | 基于经济领域数据的分布式提取及可视化分析方法和系统 |
CN109359226A (zh) * | 2018-11-01 | 2019-02-19 | 广州品唯软件有限公司 | 一种数据获取方法及相关装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5982867A (en) * | 1996-11-27 | 1999-11-09 | Ameritech Corporation | Method and system for providing the name of the state of a calling party |
CN101119367A (zh) * | 2007-08-22 | 2008-02-06 | 中兴通讯股份有限公司 | 一种实现通讯终端来电防火墙的系统及其方法 |
CN106487979A (zh) * | 2016-09-30 | 2017-03-08 | 北京金山安全软件有限公司 | 一种拨打电话的方法、装置及电子设备 |
CN106941429B (zh) * | 2017-03-17 | 2020-07-24 | 深圳怡化电脑股份有限公司 | 一种通讯可靠性测试方法及系统 |
CN107295159A (zh) * | 2017-05-05 | 2017-10-24 | 广东小天才科技有限公司 | 一种来电提醒方法、装置、存储设备及来电提醒系统 |
CN109905524B (zh) * | 2017-12-11 | 2020-11-20 | 中国移动通信集团湖北有限公司 | 电话号码识别方法、装置、计算机设备及计算机存储介质 |
-
2019
- 2019-09-10 CN CN201910855026.7A patent/CN110636164B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1972329A (zh) * | 2005-11-22 | 2007-05-30 | 中兴通讯股份有限公司 | 一种电话号码匹配的方法 |
CN101854420A (zh) * | 2010-05-18 | 2010-10-06 | 深圳桑菲消费通信有限公司 | 一种手机来电显示号码的匹配方法 |
CN103929520A (zh) * | 2014-04-17 | 2014-07-16 | 惠州Tcl移动通信有限公司 | 一种手机电话号码匹配的方法及系统 |
CN104023324A (zh) * | 2014-05-30 | 2014-09-03 | 可牛网络技术(北京)有限公司 | 对陌生通话号码进行处理的方法和装置 |
CN104967750A (zh) * | 2015-07-30 | 2015-10-07 | 广东欧珀移动通信有限公司 | 筛选通话记录中陌生呼叫号码的方法及移动终端 |
CN106657689A (zh) * | 2015-11-04 | 2017-05-10 | 中国移动通信集团公司 | 一种对国际诈骗电话进行防控的方法、装置 |
CN107122412A (zh) * | 2017-03-31 | 2017-09-01 | 合肥天馈互联网技术有限公司 | 一种海量电话号码快速匹配检索方法 |
CN107360313A (zh) * | 2017-06-29 | 2017-11-17 | 胡玥莹 | 用于识别陌生来电的防诈骗通信系统及方法 |
CN107766572A (zh) * | 2017-11-13 | 2018-03-06 | 北京国信宏数科技有限责任公司 | 基于经济领域数据的分布式提取及可视化分析方法和系统 |
CN109359226A (zh) * | 2018-11-01 | 2019-02-19 | 广州品唯软件有限公司 | 一种数据获取方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110636164A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10999721B2 (en) | Communication identifier binding processing method and terminal | |
CN107391359B (zh) | 一种业务测试方法及装置 | |
CN105898085B (zh) | 骚扰通信账号的识别方法及装置 | |
CN109040052B (zh) | 一种信息处理方法、终端及计算机可读介质 | |
CN109086317B (zh) | 风险控制方法和相关装置 | |
CN105224201A (zh) | 一种界面显示的方法及终端 | |
CN109271391A (zh) | 数据存储方法、服务器、存储介质及装置 | |
CN109344370A (zh) | 敏感内容脱敏、还原方法、装置及设备 | |
CN106997431B (zh) | 一种数据处理方法及装置 | |
CN107798135B (zh) | 分页查询方法及装置和电子设备 | |
CN110674247A (zh) | 弹幕信息的拦截方法、装置、存储介质及设备 | |
CN109086456B (zh) | 数据索引方法及装置 | |
CN101986672B (zh) | 一种信息处理方法及装置 | |
CN106527841A (zh) | 一种功能界面显示方法及装置 | |
CN110636164B (zh) | 陌生号码匹配方法、装置、设备及存储介质 | |
CN106375551B (zh) | 一种信息交互方法、装置及终端 | |
CN112035676A (zh) | 用户操作行为知识图谱构建方法及装置 | |
Pieterse et al. | Evaluation framework for detecting manipulated smartphone data | |
CN111104915A (zh) | 一种同行分析方法、装置、设备和介质 | |
CN111611337B (zh) | 终端数据处理系统 | |
CN111916086B (zh) | 语音交互控制方法、装置、计算机设备和存储介质 | |
CN112052382A (zh) | 一种信息推荐的方法及相关装置 | |
CN113269558A (zh) | 分布式系统中交易处理的方法及装置 | |
CN109561406B (zh) | 一种sim卡的选择方法、装置、系统、电子设备和介质 | |
CN111444253A (zh) | 数据导入方法、装置、计算机可读存储介质和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |