CN103997558A - 一种面向手机的黑名单快速匹配方法 - Google Patents

一种面向手机的黑名单快速匹配方法 Download PDF

Info

Publication number
CN103997558A
CN103997558A CN201410257475.9A CN201410257475A CN103997558A CN 103997558 A CN103997558 A CN 103997558A CN 201410257475 A CN201410257475 A CN 201410257475A CN 103997558 A CN103997558 A CN 103997558A
Authority
CN
China
Prior art keywords
mobile phone
blacklist
current
class
key
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.)
Granted
Application number
CN201410257475.9A
Other languages
English (en)
Other versions
CN103997558B (zh
Inventor
马金金
金光
王千
江先亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University
Original Assignee
Ningbo University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN201410257475.9A priority Critical patent/CN103997558B/zh
Publication of CN103997558A publication Critical patent/CN103997558A/zh
Application granted granted Critical
Publication of CN103997558B publication Critical patent/CN103997558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种面向手机的黑名单快速匹配方法,其首先将存储于手机内存中的手机通讯录和手机黑名单中的所有联系号码均分成四类号码,然后为手机黑名单中的每类号码分配一个黑名单映射比特数组,并将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中,接着建立一个以字符串数组形式存在的白名单,再根据映射后的黑名单映射比特数组,从手机通讯录的联系号码中提取出能够加入白名单的联系号码,获得包含有手机通讯录中的联系号码的白名单,最后在手机有来电时,匹配白名单和手机黑名单;优点是在手机黑名单规模较大的情况下,在手机有来电时,也能通过映射后的黑名单映射比特数组快速、高效地查找匹配黑名单。

Description

一种面向手机的黑名单快速匹配方法
技术领域
本发明涉及一种黑名单处理技术,尤其是涉及一种面向手机的黑名单快速匹配方法。
背景技术
随着移动通信技术的日益成熟,以及移动通信成本的显著降低,智能手机已经成为一个非常普及的电子消费品。手机通讯录作为手机最基础的应用,在人们的日常生活中发挥着巨大的作用,然而随着手机用户群体规模的不断增大,手机通讯录的黑名单规模也不断增大。目前,手机操作系统中自带的通讯录黑名单匹配功能比较薄弱,主要面向小规模的黑名单匹配,当手机有来电时手机会首先按序查找黑名单中的联系人,因此如果黑名单规模较大时,则会造成用户体验的严重滞后,具体可能会产生以下现象:1)当非黑名单的联系人来电时,会造成手机短时间内死机而无法操作,且来电提示延后;2)当黑名单中的联系人来电时,会出现响一声或数声之后才自动挂断的现象。
发明内容
本发明所要解决的技术问题是提供一种面向手机的黑名单快速匹配方法,其能够针对大规模的黑名单进行快速查找匹配,且匹配效率高,不会造成用户体验的滞后。
本发明解决上述技术问题所采用的技术方案为:一种面向手机的黑名单快速匹配方法,其特征在于包括以下步骤:
①通过手机操作系统提供的编程接口将存储于手机外存或SIM卡中的手机通讯录和手机黑名单中的所有联系号码读取至手机内存中;
②在手机内存中,删除手机通讯录和手机黑名单中包含非数字符号的联系号码中的非数字符号;然后将手机通讯录中的所有联系号码和手机黑名单中的所有联系号码均分成四类号码,第一类号码为手机号码,第二类号码为特殊服务号码,第三类号码为固定电话号码,第四类号码为除第一类号码、第二类号码、第三类号码外的号码;
③在手机内存中,为手机黑名单中的每类号码分配一个黑名单映射比特数组,将为手机黑名单中的第i类号码分配的黑名单映射比特数组记为ZHi,其中,1≤i≤4,i的初始值为1,ZHi中的每个元素的长度均为1比特,ZHi中的每个元素的初始值均为0,ZHi的长度为Li比特, L i = 1000 ( X i + Y i ) &times; 2 < 1000 ( X i + Y i ) &times; 2 ( X i + Y i ) &times; 2 &GreaterEqual; 1000 , Xi表示手机黑名单中的第i类号码中包含的联系号码的总个数,Yi表示手机通讯录中的第i类号码中包含的联系号码的总个数;
④将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中,然后建立一个以字符串数组形式存在的白名单,再根据手机黑名单中的每类号码的映射后的黑名单映射比特数组,从手机通讯录中的每类号码中提取出能够加入白名单的联系号码,获得包含有手机通讯录中的联系号码的白名单;
⑤手机有来电时,通过手机操作系统提供的编程接口读取该来电号码,然后删除该来电号码中的非数字符号,接着在包含有手机通讯录中的联系号码的白名单中寻找是否存在与该来电号码相同的联系号码,如果存在,则由手机操作系统直接接通来电,表明该来电号码存在于手机通讯录中;如果不存在,则执行以下步骤:
⑤-1、确定该来电号码在手机黑名单中所属的类;
⑤-2、为该来电号码设置一个长度为32比特的无符号长整型变量,记为keyL,其中,keyL的初始值为0;
⑤-3、将该来电号码中当前待处理的第kL个字符定义为当前字符,其中,1≤kL≤KL,kL的初始值为1,KL表示该来电号码的长度;
⑤-4、令keyL=keyL×33+V(kL),其中,V(kL)表示当前字符的ASCII值,keyL=keyL×33+V(kL)中的“=”为赋值符号;
⑤-5、令kL=kL+1,然后将该来电号码中下一个待处理的字符作为当前字符,再返回步骤⑤-4继续执行,直至该来电号码中的所有字符处理完毕后执行步骤⑤-6,其中,kL=kL+1中的“=”为赋值符号;
⑤-6、令p″=mod(keyL,Li),然后判断该来电号码在手机黑名单中所属的类对应的黑名单映射比特数组中的第p″+1个元素的值是否为1,如果为1,则由手机操作系统直接拒接来电,然后将该来电号码存储于手机内存中,并在手机外存或SIM卡中的手机黑名单中寻找是否存在与该来电号码相同的联系号码,如果不存在,则提醒用户该来电号码为陌生人的联系号码;如果不为1,由手机操作系统直接接通来电,表明该来电号码不存在于手机黑名单中。
所述的步骤④中将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中的具体过程为:
④-1a、将手机黑名单中当前待处理的第i类号码定义为当前类号码,其中,1≤i≤4,i的初始值为1;
④-2a、将当前类号码中当前待处理的第jX个联系号码定义为当前联系号码,其中,1≤jX≤Xi,jX的初始值为1;
④-3a、为当前联系号码设置一个长度为32比特的无符号长整型变量,记为keyX,其中,keyX用于表征当前联系号码在ZHi中的映射位,keyX的初始值为0;
④-4a、将当前联系号码中当前待处理的第kX个字符定义为当前字符,其中,1≤kX≤KX,kX的初始值为1,KX表示当前联系号码的长度;
④-5a、令keyX=keyX×33+V(kX),其中,V(kX)表示当前字符的ASCII值,keyX=keyX×33+V(kX)中的“=”为赋值符号;
④-6a、令kX=kX+1,然后将当前联系号码中下一个待处理的字符作为当前字符,再返回步骤④-5a继续执行,直至当前联系号码中的所有字符处理完毕后执行步骤④-7a,其中,kX=kX+1中的“=”为赋值符号;
④-7a、根据keyX,确定当前联系号码在ZHi中的映射位为ZHi中的第p+1个元素,然后将ZHi中的第p+1个元素的值置为1,其中,p=mod(keyX,Li),mod()为求余函数;
④-8a、令jX=jX+1,然后将当前类号码中下一个待处理的联系号码作为当前联系号码,再返回步骤④-3a继续执行,直至当前类号码中的所有联系号码处理完毕,其中,jX=jX+1中的“=”为赋值符号;
④-9a、令i=i+1,然后将手机黑名单中下一个待处理的一类号码作为当前类号码,再返回步骤④-2a继续执行,直至手机黑名单中所有类号码处理完毕,完成将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中。
所述的步骤④中包含有手机通讯录中的联系号码的白名单的获取过程为:
④-1b、建立一个以字符串数组形式存在的白名单ZT,将手机通讯录中当前待处理的第i类号码定义为当前类号码,其中,1≤i≤4,i的初始值为1;
④-2b、将当前类号码中当前待处理的第jY个联系号码定义为当前联系号码,其中,1≤jY≤Yi,jY的初始值为1;
④-3b、为当前联系号码设置一个长度为32比特的无符号长整型变量,记为keyY,其中,keyY的初始值为0;
④-4b、将当前联系号码中当前待处理的第kY个字符定义为当前字符,其中,1≤kY≤KY,kY的初始值为1,KY表示当前联系号码的长度;
④-5b、令keyY=keyY×33+V(kY),其中,V(kY)表示当前字符的ASCII值,keyY=keyY×33+V(kY)中的“=”为赋值符号;
④-6b、令kY=kY+1,然后将当前联系号码中下一个待处理的字符作为当前字符,再返回步骤④-5b继续执行,直至当前联系号码中的所有字符处理完毕后执行步骤④-7b,其中,kY=kY+1中的“=”为赋值符号;
④-7b、令p'=mod(keyY,Li),然后判断ZHi中的第p'+1个元素的值是否为1,如果是,则将当前联系号码加入白名单ZT中,然后执行步骤④-8b;否则,直接执行步骤④-8b;其中,mod()为求余函数;
④-8b、令jY=jY+1,然后将当前类号码中下一个待处理的联系号码作为当前联系号码,再返回步骤④-3b继续执行,直至当前类号码中的所有联系号码处理完毕,其中,jY=jY+1中的“=”为赋值符号;
④-9b、令i=i+1,然后将手机通讯录中下一个待处理的一类号码作为当前类号码,再返回步骤④-2b继续执行,直至手机通讯录中所有类号码处理完毕,得到包含有手机通讯录中的联系号码的白名单ZT。
与现有技术相比,本发明的优点在于:
1)本发明方法将存储于手机内存中的手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中,这样即使在手机黑名单规模较大的情况下,在手机有来电时,也能通过映射后的黑名单映射比特数组快速、高效地查找匹配黑名单,匹配效率高,不会出现来电延迟现象,不会造成用户体验的滞后。
2)本发明方法所消耗的手机内存和处理器资源较少,在黑名单匹配过程中不会出现死机而无法操作的现象。
3)由于手机内存的读写响应速度大约为100ns,而手机外存的读写响应速度大约为10ms,而本发明方法直接通过存储于手机内存中的手机黑名单匹配黑名单,因此大大提高了过滤操作的匹配效率。
附图说明
图1为本发明方法的总体实现框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种面向手机的黑名单快速匹配方法,其总体实现框图如图1所示,其包括以下步骤:
①通过手机操作系统提供的编程接口将存储于手机外存或SIM卡中的手机通讯录和手机黑名单中的所有联系号码读取至手机内存中。
在手机中手机通讯录和手机黑名单中的联系号码均是以字符串形式存储的。
②在手机内存中,删除手机通讯录和手机黑名单中包含非数字符号的联系号码中的非数字符号;然后将手机通讯录中的所有联系号码和手机黑名单中的所有联系号码均分成四类号码,第一类号码为手机号码,第二类号码为特殊服务号码,第三类号码为固定电话号码,第四类号码为除第一类号码、第二类号码、第三类号码外的号码。
在此,特殊服务号码为400或800等开头的号码;固定电话号码一般为区号开头的号码。
③在手机内存中,为手机黑名单中的每类号码分配一个黑名单映射比特数组,将为手机黑名单中的第i类号码分配的黑名单映射比特数组记为ZHi,其中,1≤i≤4,i的初始值为1,ZHi中的每个元素的长度均为1比特,ZHi中的每个元素的初始值均为0,ZHi的长度为Li比特, L i = 1000 ( X i + Y i ) &times; 2 < 1000 ( X i + Y i ) &times; 2 ( X i + Y i ) &times; 2 &GreaterEqual; 1000 , Xi表示手机黑名单中的第i类号码中包含的联系号码的总个数,Yi表示手机通讯录中的第i类号码中包含的联系号码的总个数。
④将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中,然后建立一个以字符串数组形式存在的白名单,再根据手机黑名单中的每类号码的映射后的黑名单映射比特数组,从手机通讯录中的每类号码中提取出能够加入白名单的联系号码,获得包含有手机通讯录中的联系号码的白名单。
在此具体实施例中,步骤④中将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中的具体过程为:
④-1a、将手机黑名单中当前待处理的第i类号码定义为当前类号码,其中,1≤i≤4,i的初始值为1。
④-2a、将当前类号码中当前待处理的第jX个联系号码定义为当前联系号码,其中,1≤jX≤Xi,jX的初始值为1。
④-3a、为当前联系号码设置一个长度为32比特的无符号长整型变量,记为keyX,其中,keyX用于表征当前联系号码在ZHi中的映射位,keyX的初始值为0。
④-4a、将当前联系号码中当前待处理的第kX个字符定义为当前字符,其中,1≤kX≤KX,kX的初始值为1,KX表示当前联系号码的长度。
④-5a、令keyX=keyX×33+V(kX),其中,V(kX)表示当前字符的ASCII值,keyX=keyX×33+V(kX)中的“=”为赋值符号。
④-6a、令kX=kX+1,然后将当前联系号码中下一个待处理的字符作为当前字符,再返回步骤④-5a继续执行,直至当前联系号码中的所有字符处理完毕后执行步骤④-7a,其中,kX=kX+1中的“=”为赋值符号。
④-7a、根据keyX,确定当前联系号码在ZHi中的映射位为ZHi中的第p+1个元素,然后将ZHi中的第p+1个元素的值置为1,其中,p=mod(keyX,Li),mod()为求余函数。
④-8a、令jX=jX+1,然后将当前类号码中下一个待处理的联系号码作为当前联系号码,再返回步骤④-3a继续执行,直至当前类号码中的所有联系号码处理完毕,其中,jX=jX+1中的“=”为赋值符号。
④-9a、令i=i+1,然后将手机黑名单中下一个待处理的一类号码作为当前类号码,再返回步骤④-2a继续执行,直至手机黑名单中所有类号码处理完毕,完成将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中。
在此具体实施例中,步骤④中包含有手机通讯录中的联系号码的白名单的获取过程为:
④-1b、建立一个以字符串数组形式存在的白名单ZT,将手机通讯录中当前待处理的第i类号码定义为当前类号码,其中,1≤i≤4,i的初始值为1。
④-2b、将当前类号码中当前待处理的第jY个联系号码定义为当前联系号码,其中,1≤jY≤Yi,jY的初始值为1。
④-3b、为当前联系号码设置一个长度为32比特的无符号长整型变量,记为keyY,其中,keyY的初始值为0。
④-4b、将当前联系号码中当前待处理的第kY个字符定义为当前字符,其中,1≤kY≤KY,kY的初始值为1,KY表示当前联系号码的长度。
④-5b、令keyY=keyY×33+V(kY),其中,V(kY)表示当前字符的ASCII值,keyY=keyY×33+V(kY)中的“=”为赋值符号。
④-6b、令kY=kY+1,然后将当前联系号码中下一个待处理的字符作为当前字符,再返回步骤④-5b继续执行,直至当前联系号码中的所有字符处理完毕后执行步骤④-7b,其中,kY=kY+1中的“=”为赋值符号。
④-7b、令p'=mod(keyY,Li),然后判断ZHi中的第p'+1个元素的值是否为1,如果是,则将当前联系号码加入白名单ZT中,然后执行步骤④-8b;否则,直接执行步骤④-8b;其中,mod()为求余函数。
④-8b、令jY=jY+1,然后将当前类号码中下一个待处理的联系号码作为当前联系号码,再返回步骤④-3b继续执行,直至当前类号码中的所有联系号码处理完毕,其中,jY=jY+1中的“=”为赋值符号。
④-9b、令i=i+1,然后将手机通讯录中下一个待处理的一类号码作为当前类号码,再返回步骤④-2b继续执行,直至手机通讯录中所有类号码处理完毕,得到包含有手机通讯录中的联系号码的白名单ZT。
⑤手机有来电时,通过手机操作系统提供的编程接口读取该来电号码,然后删除该来电号码中的非数字符号,接着在包含有手机通讯录中的联系号码的白名单中寻找是否存在与该来电号码相同的联系号码,如果存在,则由手机操作系统直接接通来电,表明该来电号码存在于手机通讯录中;如果不存在,则执行以下步骤:
⑤-1、确定该来电号码在手机黑名单中所属的类。
⑤-2、为该来电号码设置一个长度为32比特的无符号长整型变量,记为keyL,其中,keyL的初始值为0。
⑤-3、将该来电号码中当前待处理的第kL个字符定义为当前字符,其中,1≤kL≤KL,kL的初始值为1,KL表示该来电号码的长度。
⑤-4、令keyL=keyL×33+V(kL),其中,V(kL)表示当前字符的ASCII值,keyL=keyL×33+V(kL)中的“=”为赋值符号。
⑤-5、令kL=kL+1,然后将该来电号码中下一个待处理的字符作为当前字符,再返回步骤⑤-4继续执行,直至该来电号码中的所有字符处理完毕后执行步骤⑤-6,其中,kL=kL+1中的“=”为赋值符号。
⑤-6、令p″=mod(keyL,Li),然后判断该来电号码在手机黑名单中所属的类对应的黑名单映射比特数组中的第p″+1个元素的值是否为1,如果为1,则由手机操作系统直接拒接来电,然后将该来电号码存储于手机内存中,并在手机外存或SIM卡中的手机黑名单中寻找是否存在与该来电号码相同的联系号码,如果不存在,则提醒用户该来电号码为陌生人的联系号码;如果不为1,由手机操作系统直接接通来电,表明该来电号码不存在于手机黑名单中,即该来电号码存在于手机通讯录中或为陌生号码。

Claims (3)

1.一种面向手机的黑名单快速匹配方法,其特征在于包括以下步骤:
①通过手机操作系统提供的编程接口将存储于手机外存或SIM卡中的手机通讯录和手机黑名单中的所有联系号码读取至手机内存中;
②在手机内存中,删除手机通讯录和手机黑名单中包含非数字符号的联系号码中的非数字符号;然后将手机通讯录中的所有联系号码和手机黑名单中的所有联系号码均分成四类号码,第一类号码为手机号码,第二类号码为特殊服务号码,第三类号码为固定电话号码,第四类号码为除第一类号码、第二类号码、第三类号码外的号码;
③在手机内存中,为手机黑名单中的每类号码分配一个黑名单映射比特数组,将为手机黑名单中的第i类号码分配的黑名单映射比特数组记为ZHi,其中,1≤i≤4,i的初始值为1,ZHi中的每个元素的长度均为1比特,ZHi中的每个元素的初始值均为0,ZHi的长度为Li比特, L i = 1000 ( X i + Y i ) &times; 2 < 1000 ( X i + Y i ) &times; 2 ( X i + Y i ) &times; 2 &GreaterEqual; 1000 , Xi表示手机黑名单中的第i类号码中包含的联系号码的总个数,Yi表示手机通讯录中的第i类号码中包含的联系号码的总个数;
④将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中,然后建立一个以字符串数组形式存在的白名单,再根据手机黑名单中的每类号码的映射后的黑名单映射比特数组,从手机通讯录中的每类号码中提取出能够加入白名单的联系号码,获得包含有手机通讯录中的联系号码的白名单;
⑤手机有来电时,通过手机操作系统提供的编程接口读取该来电号码,然后删除该来电号码中的非数字符号,接着在包含有手机通讯录中的联系号码的白名单中寻找是否存在与该来电号码相同的联系号码,如果存在,则由手机操作系统直接接通来电,表明该来电号码存在于手机通讯录中;如果不存在,则执行以下步骤:
⑤-1、确定该来电号码在手机黑名单中所属的类;
⑤-2、为该来电号码设置一个长度为32比特的无符号长整型变量,记为keyL,其中,keyL的初始值为0;
⑤-3、将该来电号码中当前待处理的第kL个字符定义为当前字符,其中,1≤kL≤KL,kL的初始值为1,KL表示该来电号码的长度;
⑤-4、令keyL=keyL×33+V(kL),其中,V(kL)表示当前字符的ASCII值,keyL=keyL×33+V(kL)中的“=”为赋值符号;
⑤-5、令kL=kL+1,然后将该来电号码中下一个待处理的字符作为当前字符,再返回步骤⑤-4继续执行,直至该来电号码中的所有字符处理完毕后执行步骤⑤-6,其中,kL=kL+1中的“=”为赋值符号;
⑤-6、令p″=mod(keyL,Li),然后判断该来电号码在手机黑名单中所属的类对应的黑名单映射比特数组中的第p″+1个元素的值是否为1,如果为1,则由手机操作系统直接拒接来电,然后将该来电号码存储于手机内存中,并在手机外存或SIM卡中的手机黑名单中寻找是否存在与该来电号码相同的联系号码,如果不存在,则提醒用户该来电号码为陌生人的联系号码;如果不为1,由手机操作系统直接接通来电,表明该来电号码不存在于手机黑名单中。
2.根据权利要求1所述的一种面向手机的黑名单快速匹配方法,其特征在于所述的步骤④中将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中的具体过程为:
④-1a、将手机黑名单中当前待处理的第i类号码定义为当前类号码,其中,1≤i≤4,i的初始值为1;
④-2a、将当前类号码中当前待处理的第jX个联系号码定义为当前联系号码,其中,1≤jX≤Xi,jX的初始值为1;
④-3a、为当前联系号码设置一个长度为32比特的无符号长整型变量,记为keyX,其中,keyX用于表征当前联系号码在ZHi中的映射位,keyX的初始值为0;
④-4a、将当前联系号码中当前待处理的第kX个字符定义为当前字符,其中,1≤kX≤KX,kX的初始值为1,KX表示当前联系号码的长度;
④-5a、令keyX=keyX×33+V(kX),其中,V(kX)表示当前字符的ASCII值,keyX=keyX×33+V(kX)中的“=”为赋值符号;
④-6a、令kX=kX+1,然后将当前联系号码中下一个待处理的字符作为当前字符,再返回步骤④-5a继续执行,直至当前联系号码中的所有字符处理完毕后执行步骤④-7a,其中,kX=kX+1中的“=”为赋值符号;
④-7a、根据keyX,确定当前联系号码在ZHi中的映射位为ZHi中的第p+1个元素,然后将ZHi中的第p+1个元素的值置为1,其中,p=mod(keyX,Li),mod()为求余函数;
④-8a、令jX=jX+1,然后将当前类号码中下一个待处理的联系号码作为当前联系号码,再返回步骤④-3a继续执行,直至当前类号码中的所有联系号码处理完毕,其中,jX=jX+1中的“=”为赋值符号;
④-9a、令i=i+1,然后将手机黑名单中下一个待处理的一类号码作为当前类号码,再返回步骤④-2a继续执行,直至手机黑名单中所有类号码处理完毕,完成将手机黑名单中的每类号码中的每个联系号码映射到为该类号码分配的黑名单映射比特数组中。
3.根据权利要求1或2所述的一种面向手机的黑名单快速匹配方法,其特征在于所述的步骤④中包含有手机通讯录中的联系号码的白名单的获取过程为:
④-1b、建立一个以字符串数组形式存在的白名单ZT,将手机通讯录中当前待处理的第i类号码定义为当前类号码,其中,1≤i≤4,i的初始值为1;
④-2b、将当前类号码中当前待处理的第jY个联系号码定义为当前联系号码,其中,1≤jY≤Yi,jY的初始值为1;
④-3b、为当前联系号码设置一个长度为32比特的无符号长整型变量,记为keyY,其中,keyY的初始值为0;
④-4b、将当前联系号码中当前待处理的第kY个字符定义为当前字符,其中,1≤kY≤KY,kY的初始值为1,KY表示当前联系号码的长度;
④-5b、令keyY=keyY×33+V(kY),其中,V(kY)表示当前字符的ASCII值,keyY=keyY×33+V(kY)中的“=”为赋值符号;
④-6b、令kY=kY+1,然后将当前联系号码中下一个待处理的字符作为当前字符,再返回步骤④-5b继续执行,直至当前联系号码中的所有字符处理完毕后执行步骤④-7b,其中,kY=kY+1中的“=”为赋值符号;
④-7b、令p'=mod(keyY,Li),然后判断ZHi中的第p'+1个元素的值是否为1,如果是,则将当前联系号码加入白名单ZT中,然后执行步骤④-8b;否则,直接执行步骤④-8b;其中,mod()为求余函数;
④-8b、令jY=jY+1,然后将当前类号码中下一个待处理的联系号码作为当前联系号码,再返回步骤④-3b继续执行,直至当前类号码中的所有联系号码处理完毕,其中,jY=jY+1中的“=”为赋值符号;
④-9b、令i=i+1,然后将手机通讯录中下一个待处理的一类号码作为当前类号码,再返回步骤④-2b继续执行,直至手机通讯录中所有类号码处理完毕,得到包含有手机通讯录中的联系号码的白名单ZT。
CN201410257475.9A 2014-06-10 2014-06-10 一种面向手机的黑名单快速匹配方法 Active CN103997558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410257475.9A CN103997558B (zh) 2014-06-10 2014-06-10 一种面向手机的黑名单快速匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410257475.9A CN103997558B (zh) 2014-06-10 2014-06-10 一种面向手机的黑名单快速匹配方法

Publications (2)

Publication Number Publication Date
CN103997558A true CN103997558A (zh) 2014-08-20
CN103997558B CN103997558B (zh) 2016-07-06

Family

ID=51311557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410257475.9A Active CN103997558B (zh) 2014-06-10 2014-06-10 一种面向手机的黑名单快速匹配方法

Country Status (1)

Country Link
CN (1) CN103997558B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0174556A1 (de) * 1984-09-12 1986-03-19 BBC Brown Boveri AG Suchverfahren für Speicheradressen und Adressvergleichsschaltung
US20060248079A1 (en) * 2005-04-28 2006-11-02 Freescale Semiconductor Incorporated Method and apparatus for finding a perfect hash function and making minimal hash table for a given set of keys
CN101938583A (zh) * 2010-09-03 2011-01-05 电子科技大学 一种基于多名单的异常呼叫过滤方法
US20110113029A1 (en) * 2009-11-10 2011-05-12 Madis Kaal Matching Information Items
CN102567411A (zh) * 2010-12-31 2012-07-11 上海格尔软件股份有限公司 一种快速检索海量数字证书黑名单的方法
CN103020182A (zh) * 2012-11-29 2013-04-03 深圳市新国都技术股份有限公司 一种基于hash算法的数据查找方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0174556A1 (de) * 1984-09-12 1986-03-19 BBC Brown Boveri AG Suchverfahren für Speicheradressen und Adressvergleichsschaltung
US20060248079A1 (en) * 2005-04-28 2006-11-02 Freescale Semiconductor Incorporated Method and apparatus for finding a perfect hash function and making minimal hash table for a given set of keys
US20110113029A1 (en) * 2009-11-10 2011-05-12 Madis Kaal Matching Information Items
CN101938583A (zh) * 2010-09-03 2011-01-05 电子科技大学 一种基于多名单的异常呼叫过滤方法
CN102567411A (zh) * 2010-12-31 2012-07-11 上海格尔软件股份有限公司 一种快速检索海量数字证书黑名单的方法
CN103020182A (zh) * 2012-11-29 2013-04-03 深圳市新国都技术股份有限公司 一种基于hash算法的数据查找方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
戴琳琳, 张晨阳, 苗凡, 阎志远: "黑名单快速匹配算法的研究", 《铁路计算机应用》 *

Also Published As

Publication number Publication date
CN103997558B (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
CN103838875A (zh) 一种基于二维码的信息采集系统及其方法
CN103501374A (zh) 电话簿排序方法及装置、终端
CN102883059B (zh) 显示短信的方法和装置、回复短信的方法和装置
CN107426800B (zh) 降低终端功耗的方法、装置和智能卡
CN102769691A (zh) 新信息的提示方法和通信终端
CN104980557A (zh) 一种手机端的多卡切换的方法、装置及终端
CN103179133A (zh) 基于实体类的客户端与服务器通信的方法
CN103425647B (zh) 一种网页无缝浏览方法及系统
CN102609500A (zh) 一种问题推送方法和采用该方法的问答系统和搜索引擎
CN103002103A (zh) 一种短信群发方法和装置
CN106294707A (zh) 一种倒计时提示信息输出方法及装置
CN107197074A (zh) 通讯录管理方法、装置、存储介质及电子设备
CN106713637A (zh) 通话事项的建立方法及装置
CN103997558B (zh) 一种面向手机的黑名单快速匹配方法
CN104951417A (zh) 一种实现适用于大容量usim的usb复合设备的方法
CN106125956A (zh) 一种基于输入法的信息推送方法及系统
CN106469330A (zh) 信息查找方法、信息存储方法及装置
CN105163291A (zh) 一种移动终端及其群发信息的控制方法
CN110750561A (zh) 一种关联应用程序挖掘的方法及装置
CN103813034B (zh) 一种业务实现的方法、终端及业务服务器
CN105744503B (zh) 一种信息处理方法及电子设备
CN103607497B (zh) 联系人关联装置及方法
CN101729666B (zh) 移动通信终端短信查找的方法
CN101959156A (zh) 信息推送方法、装置及推送对象识别装置
CN201789601U (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