具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明中,云端服务器维护有海量用户,其样本数据来源可达到几千万级别甚至上亿级别,云端服务器通过收集海量样本来维护和更新云端数据库存储的数据。云端服务器还进行海量样本的实时鉴定,基于服务器端强大的处理能力对海量样本进行收集并实时给出精准的鉴定结果的提供云鉴定。海量样本实时鉴定系统主要包含四大部分:样本收集,样本鉴定,样本存储,鉴定结果发布。样本收集指的是利用各种探测工具收集互联网上最新出现的未被鉴定系统识别过的骚扰电话信息;样本存储指的是妥善的存储海量的样本,并能做到数据的高可靠性、高可用性;样本鉴定指的是灵活的组织调度各种各样的鉴定服务快速的给出样本的各种鉴定结果,并综合这些鉴定结果最终确定该样本的安全等级;鉴定结果发布指的是样本鉴定结果快速发布到云引擎服务器,为客户端提供鉴定结果查询。
具体地,在上述系统中主要利用以下平台实现海量样本的实时鉴定:
鉴定单元管理调度平台:根据请求鉴定需求,如何合理调度有限的鉴定资源,是一件很有挑战性的事情。本发明实施例把鉴定资源划为鉴定单元的集合,鉴定单元为调度的最小单位,某一鉴定单元可以跑某种鉴定器的一个实例,一台实际的物理机器可以跑多款鉴定器的多个鉴定单元。并且还设计了一个机器信息采集系统,实时采集集群中每一个机器的资源占用状况,并根据鉴定请求来实时调用最空闲的机器启动相应的一定数量的鉴定单元,这样就可以最大化的利用集群的鉴定资源。
鉴定单元虚拟化以及管理平台:采用虚拟化技术可以有效地管理和灵活的配置鉴定单元,尤其是对于跨平台的鉴定器,可以更有效的利用机器资源。具体实现时,可以采用XEN(是一个开放源代码虚拟机监视器)作为虚拟机管理系统,并且还可以基于其之上开发一套可视化的鉴定单元管理监控平台,通过该可视化的管理平台,可以看到目前有多少个实际机器在工作,每个实际机器跑了多少个虚拟机,每个虚拟机跑了多少种鉴定器,每种鉴定器跑了多少个鉴定实例,等等。具体的监控点包括以下一些点:鉴定单元状态,鉴定单元的鉴定器类型,鉴定器的版本号,鉴定器库大小以及升级时间等,通过这些监控点,可以得知鉴定器是否是最新的版本,病毒库是否能及时的更新。
数据传输平台:海量的样本在鉴定平台的数据传递中需要简单、高效、可扩展的数据传输平台。具体实现时,本发明实施例可以采用GEARMAN(一种分布式队列的实现,可以提供可靠高效的数据传输,并具备平行扩展能力,和比较好的负载均衡控制)作为数据传输平台,GEARMAN可以很好的解决大规模数据传输的问题。
通过以上平台,可以实现多鉴定单元的综合鉴定,并最终得到鉴定结果。当然,在实际应用中,为了进一步提高鉴定的准确性,还可以最后辅以人工鉴定。人工鉴定可以作为实时鉴定体系的最后一个环节,可以根据样本的各种信息综合挑选出比较重要的可疑的样本交给人工来鉴定。
总之,通过本发明实施例,首先通过查询服务器查询样本是否已经鉴定,如果尚未鉴定,再进行同步鉴定,大部分查询只查询到查询服务器就知道样本的鉴定结果了,未知的样本会先请求进行同步鉴定,当同步鉴定服务器也无法给出肯定的结果时候,样本才会上传到服务端的多种鉴定服务进行鉴定。在此过程中,首先,由于并不是将客户端发现的所有样本无论是否已经鉴定都上传到服务器,因此,可以减小网络开销,并且从整体上讲,由于大部分样本都能直接通过查询服务器就得到鉴定结果,因此时效性也得到提升;其次,由于在同步鉴定服务器无法确定鉴定结果的情况下,还可以通过多种鉴定服务器进行综合鉴定,因此,鉴定的准确性也得到提升;此外,在进行多种鉴定服务时,以鉴定单元为调度单位,因此,使得系统的可扩展性及灵活性也得到提高。
通过以上海量样本实时鉴定系统,使得云端服务器收集并在云端数据库存储了大量的训练号码。其中,训练号码可为预先获知分类信息的号码,训练号码可为在现有的预先有分类信息的数据库中随机抽样的一百万、两百万个电话号码。本发明实施例的云端服务器是通过这些已知的号码以及分类信息建立的分类器。该分类器可以获取任一陌生号码/未知号码的分类信息,如诈骗类、房产中介类、广告推销类、响一声类、公司电话类、教育培训中介类、欺诈类、服务类或保险类等信息。
上述云端数据库中的数据均是经过加密处理的数据,例如采用不可逆加密算法进行过处理,典型地如MD5加密算法。
图1示出了本发明提供的云端服务器下发骚扰电话列表的方法实施例一的流程图。如图1所示,该方法包括如下步骤:
步骤S101,当当前时间到达定时时间时,从云端数据库中提取骚扰电话列表,骚扰电话列表至少包含与终端标识或用户标识对应的第一骚扰电话子列表。
通过以上描述可知,云端服务器通过样本收集、样本鉴定、样本存储收集了大量的骚扰电话训练数据,由于云端服务器的数据来源可达到几千万级别甚至上亿级别,因此所收集的骚扰电话的覆盖范围非常广,基本能覆盖绝大部分的较为活跃的骚扰电话。而且,云端服务器的云端数据库是实时更新的,保证云端数据库记录最新且最全的骚扰电话。
为了提升骚扰电话列表(即骚扰电话黑名单)的时效性,云端服务器每隔一段定时时间从云端数据库提取一次骚扰电话列表,然后再下发给终端设备,这个过程称为骚扰电话列表的升级。举例来说,设终端设备每天做一次骚扰电话列表的升级,对应的云端服务器每天提取一次最新的骚扰电话列表,比如将每天晚上12点设为定时时间,云端服务器在该定时时间到达时,进行骚扰电话列表的提取。
与现有技术不同的是,本方法不是简单的按照标记次数由高至低的顺序提取出骚扰电话列表,而是查找与终端标识或用户标识对应的第一骚扰电话子列表作为骚扰电话列表的一部分或全部。也就是说,本实施例中骚扰电话列表记录的是与终端设备或用户有关的骚扰电话,是云端服务器考虑到用户的个性化需要为用户提取的定制化推荐数据。这种个性化的骚扰电话列表记录的是给用户拨打可能性较高的骚扰电话,因而该个性化的骚扰电话列表被命中的概率较高,进而提高了终端设备对骚扰电话的识别效率。
本发明中,终端标识可以为IMEI(移动设备国际身份码,International MobileEquipment Identity),用户标识可以为SIM(用户身份识别模块,Subscriber IdentityModule)卡标识,但本发明不仅限于此,任何能唯一标示终端设备或用户身份的标识均可适用本发明。
步骤S102,将骚扰电话列表下发给与终端标识或用户标识对应的终端设备。
云端服务器在获取骚扰电话列表之后,按照下发策略下发到各个终端设备本地。具体地,以定时时间间隔为一天为例,云端服务器每天运行程序将所有用户的骚扰电话列表分发到数个Hadoop集群上。在系统架构中各个Hadoop集群与终端设备之间还有一层引擎服务器,这些引擎服务器分属不同地域的引擎机房,每个引擎机房的引擎服务器绑定一个Hadoop集群,Hadoop集群与引擎服务器之间通过专用连接通信,能够保证通信带宽。各个Hadoop集群通过专用连接将用户的骚扰电话列表按照用户归属地下发到各个引擎机房。最后,终端设备可根据终端标识或用户标识对指定URL发起请求,由相应的路由设备将指定URL解析到引擎机房,引擎机房查找各个引擎服务器的缓存数据,将查到的与终端标识或用户标识对应的骚扰电话列表下发给对应的终端设备。
根据本实施例提供的云端服务器下发骚扰电话列表的方法,云端服务器每隔预定时间从云端数据库中提取骚扰电话列表,该骚扰电话列表记录的是与终端设备或用户有关的骚扰电话,是云端服务器考虑到用户的个性化需要为用户提取的定制化推荐数据。这种个性化的骚扰电话列表记录的是给用户拨打可能性较高的骚扰电话,因而该个性化的骚扰电话列表被命中的概率较高,进而提高了终端设备对骚扰电话的识别效率。
图2示出了本发明提供的云端服务器下发骚扰电话列表的方法实施例二的流程图。如图2所示,该方法包括如下步骤:
步骤S201,判断当前时间是否到达定时时间,若是,则执行步骤S202;否则,继续等待。
具体地,在云端服务器侧设定定时程序,该定时程序用于判断当前时间是否到达定时时间,当到达定时时间时,执行步骤S202。一般来说,骚扰电话的更新速度很快,并且云端数据库是实时更新的,因此每隔一段定时时间从云端数据库提取一次骚扰电话列表,能够使得所提取的骚扰电话列表也是近期比较活跃的骚扰电话,进而保证骚扰电话列表的时效性,提升骚扰电话的识别效率。
步骤S202,获取终端标识或用户标识对应的多个已拨打骚扰电话。
其中,多个已拨打骚扰电话是终端标识对应的终端设备或用户标识对应的用户在当前时间之前接收到的骚扰电话。已拨打骚扰电话可以是拨打未接通的骚扰电话,也可以是拨打且接通的骚扰电话。
本实施例中,终端设备需要定期向云端服务器上报所接收到的骚扰电话。具体地,终端设备上报骚扰电话可以采用两种方式:一种方式是,终端设备定期向云端服务器上报所接收到的所有已拨打电话,云端服务器将这些已拨打电话与云端数据库中记录的骚扰电话进行比对,从中提取出属于骚扰电话的已拨打电话;另一种方式是,如果终端设备本地存储有骚扰电话本地数据库,终端设备根据本地数据库识别出骚扰电话,将其上报给云端服务器。以上两种方式可结合利用。
例如,终端设备每天或过若干天上报所接收到的骚扰电话和/或已拨打电话,云端服务器存储终端设备上报或自身识别的过去30天内已拨打骚扰电话。当定时时间到达时,云端服务器根据终端设备过去30天内所接收到的骚扰电话从云端数据库中提取与这些已拨打骚扰电话相关的骚扰电话。
步骤S203,分别计算每个已拨打骚扰电话与云端数据库记录的除了多个已拨打骚扰电话以外的其它骚扰电话之间的相似度。
本实施例中,云端数据库还记录有任意两个骚扰电话之间的相似度。假设云端数据库中存储有400万个骚扰电话,利用相似度计算算法计算任意两个骚扰电话之间的相似度,可以得到400万*400万的矩阵,该矩阵的第i行第j列的值就是第i个骚扰电话与第j个骚扰电话的相似度。
将用户定义为user,将骚扰电话定义为item,云端数据库记录骚扰电话的同时还记录曾经接收到该骚扰电话的用户。对于同一用户user1来说,如果它既接收到骚扰电话item1的呼入请求,也接收到骚扰电话item2的呼入请求,表明骚扰电话item1和item2具有一定的相似度。因此,本实施例的相似度计算算法主要依据既接收到骚扰电话item1又接收到骚扰电话item2的用户数量来确定两个骚扰电话的相似度。如果接收到两个骚扰电话的用户数量越高,对应的两个骚扰电话的相似度就越高。
在实际应用中,可采用slope-one算法计算云端数据库中任意两个骚扰电话之间的相似度。slope-one算法是一种快速的基于项目的推荐算法,需要使用用户的评分信息。在本实施例中,用户的评分信息指的是用户是否接收到某骚扰电话的信息。
在计算得到云端数据库中任意两个骚扰电话之间的相似度之后,就可以得到步骤S202获取的每个已拨打骚扰电话与云端数据库记录的除了多个已拨打骚扰电话以外的其它骚扰电话之间的相似度。
步骤S204,根据每个已拨打骚扰电话与云端数据库记录的除了多个已拨打骚扰电话以外的其它骚扰电话之间的相似度,从云端数据库中提取第一骚扰电话子列表。
本实施例旨在提取与已拨打骚扰电话相似度较高的骚扰电话,加入第一骚扰电话子列表中,可选采用以下两种实施方式:
方式一:按照多个已拨打骚扰电话与云端数据库记录的其它骚扰电话之间的相似度由高至低的顺序对其它骚扰电话进行排序,选取排序靠前的第一预设个数的骚扰电话加入第一骚扰电话子列表中。
具体地,从云端数据库中选取与多个已拨打骚扰电话的相似度大于0的骚扰电话,按照相似度由高至低的顺序所选取的骚扰电话进行排序,选取排序靠前的第一预设个数的骚扰电话加入第一骚扰电话子列表中。如果所选取的骚扰电话的个数小于第一预设个数,可直接将所选取的骚扰电话直接加入第一骚扰电话子列表中。
方式二:在其它骚扰电话中选取与多个已拨打骚扰电话之间的相似度大于预设值的骚扰电话加入第一骚扰电话子列表中。
具体地,根据经验值预先设定相似度的预设值,直接从云端数据库中选取与已拨打骚扰电话的相似度大于预设值的骚扰电话加入第一骚扰电话子列表中。
步骤S205,将第一骚扰电话子列表下发给与终端标识或用户标识对应的终端设备。其中,下发策略可参照实施例一的描述。
本实施例中,第一骚扰电话子列表中的每一条骚扰电话记录包含骚扰电话号码以及该骚扰电话号码的属性信息。其中,骚扰电话号码的属性信息包含:骚扰电话类型和/或骚扰电话标记次数。骚扰电话类型可以为上面所描述的云端服务器的分类器所获取的分类信息,如诈骗类、房产中介类、广告推销类、响一声类、公司电话类、教育培训中介类、欺诈类、服务类或保险类等类型,骚扰电话标记次数是指用户对骚扰电话的标记次数,反映了该骚扰电话的活跃度。
根据本实施例提供的云端服务器下发骚扰电话列表的方法,云端服务器每隔预定时间从云端数据库中提取骚扰电话列表,该骚扰电话列表记录的是与终端设备或用户有关的骚扰电话,是云端服务器考虑到用户的个性化需要为用户提取的定制化推荐数据。这种个性化的骚扰电话列表记录的是给用户拨打可能性较高的骚扰电话,因而该个性化的骚扰电话列表被命中的概率较高,进而提高了终端设备对骚扰电话的识别效率。进一步的,与现有技术按照标记次数下发15万个骚扰电话相比,本方法下发的骚扰电话的数量大大降低,其数据量可缩小到现有技术的1/5至1/3,但由于所下发的骚扰电话都与用户之间接收到的骚扰电话相关,因此本方法的骚扰电话的覆盖率能大大提升。一方面骚扰电话的下发数据量缩小可节省终端设备和云端服务器的流量,另一方面覆盖率的提升也使本方法骚扰电话的识别率更高,识别效果更为精准。
图3示出了本发明提供的云端服务器下发骚扰电话列表的方法实施例三的流程图。如图3所示,该方法包括如下步骤:
步骤S301,判断当前时间是否到达定时时间。
具体地,可通过在云端服务器侧设定定时程序来实现。
步骤S302,获取终端标识或用户标识对应的多个已拨打骚扰电话。
其中,多个已拨打骚扰电话是终端标识对应的终端设备或用户标识对应的用户在当前时间之前接收到的骚扰电话。已拨打骚扰电话可以是拨打未接通的骚扰电话,也可以是拨打且接通的骚扰电话。
终端设备需要定期向云端服务器上报所接收到的骚扰电话,所采用的方式可参见实施例二的描述,在此不再赘述。
步骤S303,根据云端数据库中记录的任意两个骚扰电话之间的相似度,对云端数据库中所有的骚扰电话进行聚类,获取多个类别的骚扰电话。
本实施例中,云端数据库还记录有任意两个骚扰电话之间的相似度。假设云端数据库中存储有400万个骚扰电话,利用相似度计算算法计算任意两个骚扰电话之间的相似度,可以得到400万*400万的矩阵,该矩阵的第i行第j列的值就是第i个骚扰电话与第j个骚扰电话的相似度。
将用户定义为user,将骚扰电话定义为item,云端数据库记录骚扰电话的同时还记录曾经接收到该骚扰电话的用户。对于同一用户user1来说,如果它既接收到骚扰电话item1的呼入请求,也接收到骚扰电话item2的呼入请求,表明骚扰电话item1和item2具有一定的相似度。因此,本实施例的相似度计算算法主要依据既接收到骚扰电话item1又接收到骚扰电话item2的用户数量来确定两个骚扰电话的相似度。如果接收到两个骚扰电话的用户数量越高,对应的两个骚扰电话的相似度就越高。在实际应用中,可采用slope-one算法计算云端数据库中任意两个骚扰电话之间的相似度。
在计算得到云端数据库中任意两个骚扰电话之间的相似度之后,就可以根据相似度对云端数据库中所有的骚扰电话进行聚类。具体地,可利用标签传播算法对骚扰电话进行聚类,将骚扰电话理解为节点,每个节点的标签按相似度传播给相邻节点,在节点传播的每一步,每个节点根据相邻节点的标签来更新自己的标签,与该节点相似度越大,其相邻节点对其标注的影响权值越大,相似节点的标签越趋于一致,其标签就越容易传播。在标签传播过程中,保持已标注节点的标签不变,使其像一个源头把标签传向未标注节点。最终,当迭代过程结束时,相似节点的概率分布也趋于相似,可以划分到同一个类别中,从而完成聚类。
步骤S304,查找多个已拨打骚扰电话所属的类别,从多个已拨打骚扰电话所属的类别中选取骚扰电话加入第一骚扰电话子列表中。
如果某个用户收到某个类别内的一个骚扰电话,那么可将这个类别内的其它骚扰电话推荐给该用户。本步骤就是在得到多个已拨打骚扰电话的前提下,选取这些已拨打骚扰电话所属的类别中其它骚扰电话加入第一骚扰电话子列表中。
步骤S305,将第一骚扰电话子列表下发给与终端标识或用户标识对应的终端设备。其中,下发策略可参照实施例一的描述。
本实施例中,第一骚扰电话子列表中的每一条骚扰电话记录包含骚扰电话号码以及该骚扰电话号码的属性信息。其中,骚扰电话号码的属性信息包含:骚扰电话类型和/或骚扰电话标记次数。骚扰电话类型可以为上面所描述的云端服务器的分类器所获取的分类信息,如诈骗类、房产中介类、广告推销类、响一声类、公司电话类、教育培训中介类、欺诈类、服务类或保险类等类型,骚扰电话标记次数是指用户对骚扰电话的标记次数,反映了该骚扰电话的活跃度。
本实施例提供的方法采用对骚扰电话进行聚类的方法提取与用户的已拨打骚扰电话相关的骚扰电话,所提取的骚扰电话也是给用户拨打可能性较高的骚扰电话,骚扰电话的命中概率较高,提高了终端设备对骚扰电话的识别效率。进一步的,与现有技术按照标记次数下发15万个骚扰电话相比,本方法下发的骚扰电话的数量大大降低,其数据量可缩小到现有技术的1/5至1/3,但由于所下发的骚扰电话都与用户之间接收到的骚扰电话相关,因此本方法的骚扰电话的覆盖率能大大提升。一方面骚扰电话的下发数据量缩小可节省终端设备和云端服务器的流量,另一方面覆盖率的提升也使本方法骚扰电话的识别率更高,识别效果更为精准。
图4示出了本发明提供的云端服务器下发骚扰电话列表的方法实施例四的流程图。如图4所示,该方法包括如下步骤:
步骤S401,判断当前时间是否到达定时时间。
具体地,可通过在云端服务器侧设定定时程序来实现。
步骤S402,获取终端标识或用户标识对应的多个已拨打骚扰电话。
其中,多个已拨打骚扰电话是终端标识对应的终端设备或用户标识对应的用户在当前时间之前接收到的骚扰电话。已拨打骚扰电话可以是拨打未接通的骚扰电话,也可以是拨打且接通的骚扰电话。
终端设备需要定期向云端服务器上报所接收到的骚扰电话,所采用的方式可参见实施例二的描述,在此不再赘述。
步骤S403,从云端数据库中提取与多个已拨打骚扰电话相关的骚扰电话加入第一骚扰电话子列表中。
通过步骤S402云端服务器可获取终端设备在当前时间之前若干天内所接收到的骚扰电话。步骤S403可根据过去30天内所接收到的骚扰电话从云端数据库中提取与这些已拨打骚扰电话相关的骚扰电话。具体可参照实施例二或实施例三提供的提取方式。
步骤S404,从云端数据库中提取终端标识对应的终端设备或用户标识对应的用户在当前时间之前的第一预设时间段内接收到的骚扰电话加入第二骚扰电话子列表中。
步骤S404是在步骤S402获取终端标识或用户标识对应的多个已拨打骚扰电话的基础上,进一步筛选出终端设备或用户在当前时间之前的第一预设时间段内接收到的骚扰电话。例如,可筛选出终端设备或用户过去15天内所接收到的骚扰电话加入第二骚扰电话子列表中。
本步骤主要是考虑到如果某个骚扰电话对某终端设备或用户发起呼叫,那么这个骚扰电话在近期内再次呼叫该终端设备或用户的可能性较高,因此,将这类骚扰电话也下发给终端设备,以便终端设备能有效地识别出这类骚扰电话。
步骤S405,按照在当前时间之前的第二预设时间段内骚扰电话的拨打次数由高至低的顺序对云端数据库内的骚扰电话进行排序,选取排序靠前的第二预设个数的骚扰电话加入第三骚扰电话子列表中。
为了进一步提高骚扰电话的覆盖率,本方法除了选取与终端设备或用户有关的骚扰电话之外,还选取近期比较活跃的骚扰电话。以选取过去10天的骚扰电话为例,按照过去10天骚扰电话的拨打次数由高至低的顺序对云端数据库内的所有骚扰电话进行排序,选取排序靠前的5万骚扰电话加入第三骚扰电话子列表中。
本方法中第二预设时间段和第二预设个数可依实际情况进行设定,如考虑提升骚扰电话覆盖率,可适当设定较长的第二预设时间段和较大的第二预设个数;如考虑节省流量,可适当设定较短的第二预设时间段和较小的第二预设个数。本发明对此不做限制。
进一步的,本步骤可选取不属于第一骚扰电话子列表和/或第二骚扰电话子列表、且排序靠前的第二预设个数的骚扰电话加入第三骚扰电话子列表中,以避免三个子列表中包含相同的骚扰电话。
上述步骤S403、步骤S404和步骤S405的执行顺序不分先后。
步骤S406,将包含第一骚扰电话子列表、第二骚扰电话子列表和第三骚扰电话子列表的骚扰电话列表下发给与终端标识或用户标识对应的终端设备。其中,下发策略可参照实施例一的描述。
作为另一种实施方式,可选执行步骤S404和步骤S405其中一个,即最终的骚扰电话列表可包含第一骚扰电话子列表和第二骚扰电话子列表,或者包含第一骚扰电话子列表和第三骚扰电话子列表。
本实施例中,骚扰电话列表中的每一条骚扰电话记录包含骚扰电话号码以及该骚扰电话号码的属性信息。其中,骚扰电话号码的属性信息包含:骚扰电话类型和/或骚扰电话标记次数。骚扰电话类型可以为上面所描述的云端服务器的分类器所获取的分类信息,如诈骗类、房产中介类、广告推销类、响一声类、公司电话类、教育培训中介类、欺诈类、服务类或保险类等类型,骚扰电话标记次数是指用户对骚扰电话的标记次数,反映了该骚扰电话的活跃度。
与上述实施例二和三不同的是,本实施例的骚扰电话列表不仅包含第一骚扰电话子列表,还包含第二骚扰电话子列表和/或第三骚扰电话子列表,因此能进一步的提升骚扰电话的覆盖率。经实验验证,本方法的骚扰电话覆盖率能从现有技术的20%提升到80%。而且,上述三个子列表所产生的数据量都较少,三个子列表的数据量加在一起也小于现有技术的15万,降低了数据量,节省了终端设备和云端服务器的流量。
为了进一步节省流量,在上述实施例一至四的基础上,在下发骚扰电话列表之前,将骚扰电话列表压缩成二进制文件;而后将二进制文件下发给终端设备。例如,对于骚扰电话类型这种字词,可利用字典原理或trie树原理将其进行压缩;对于骚扰电话号码和标记次数等数据,可利用哈希算法进行压缩。最终为每个用户生成一个二进制文件。
可选地,以键-值(key-value)对形式存储骚扰电话列表或二进制文件,其中key为IMEI或SIM卡标识,value为骚扰电话列表或二进制文件。
进一步的,在下发骚扰电话列表时,可采用全量下发和增量下发两种方式。所谓全量下发是指,在当前时间到达定时时间,获取骚扰电话列表之后,将骚扰电话列表全量下发给终端设备。所谓增量下发是指,将当前时间提取的骚扰电话列表与上一次定时时间到达时提取的骚扰电话列表进行比较,获取骚扰电话列表的增量信息;将骚扰电话列表的增量信息下发给终端设备。以二进制文件为例,设当前时间提取得到的二进制文件为新版二进制文件,上一次定时时间到达时提取得到的二进制文件为旧版二进制文件,在新版二进制文件中查找与旧版本二进制文件相同的数据项(每个数据项对应一个骚扰电话),如果有相同的数据项且骚扰电话类型没有变化、标记次数的变化在一定范围内,就不再下发此数据项;将新版本与旧版本不同的数据项正常下发。相对于全量下发,增量下发更能节省流量。
进一步的,在下发骚扰电话列表时,为了避免耗费用户的流量资费,在无线局域网联网(WiFi)情况下,将包含第一骚扰电话子列表和/或第二骚扰电话子列表和/或第三骚扰电话子列表的骚扰电话列表下发给终端设备;在移动通信网联网情况(3G或4G)下,仅将第一骚扰电话子列表和/或第二骚扰电话子列表下发给终端设备。
图5示出了本发明提供的终端设备对骚扰电话的拦截方法实施例的流程图。如图5所示,该方法包括如下步骤:
步骤S501,接收云端服务器下发的骚扰电话列表。
本实施例中骚扰电话列表可以是上述实施例一至四任意方法中下发的骚扰电话列表。即,骚扰电话列表至少包含与终端标识或用户标识对应的第一骚扰电话子列表,还可包含第二骚扰电话子列表和/或第三骚扰电话子列表。其中,第一骚扰电话子列表中记录有与多个已拨打骚扰电话相关的骚扰电话;第二骚扰电话子列表记录有终端标识对应的终端设备或用户标识对应的用户在当前时间之前的第一预设时间段内接收到的骚扰电话;第三骚扰电话子列表记录有按照在当前时间之前的第二预设时间段内骚扰电话的拨打次数由高至低的顺序对云端数据库内的骚扰电话进行排序,进而选取的排序靠前的第二预设个数的骚扰电话。
在步骤S501之前,终端设备还需将终端标识对应的终端设备或用户标识对应的用户在当前时间之前接收到的多个骚扰电话作为多个已拨打骚扰电话上报给云端服务器,以便云端服务器查找与多个已拨打骚扰电话相关的骚扰电话。
步骤S502,将骚扰电话列表存储到终端设备的本地数据库中。
骚扰电话列表中的每一条骚扰电话记录包含骚扰电话号码以及该骚扰电话号码的属性信息。其中,骚扰电话号码的属性信息包含:骚扰电话类型和/或骚扰电话标记次数。骚扰电话类型可以为上面所描述的云端服务器的分类器所获取的分类信息,如诈骗类、房产中介类、广告推销类、响一声类、公司电话类、教育培训中介类、欺诈类、服务类或保险类等类型,骚扰电话标记次数是指用户对骚扰电话的标记次数,反映了该骚扰电话的活跃度。
步骤S503,当接收到呼入电话请求时,检测呼入电话是否属于本地数据库中存储的骚扰电话列表,若是,则执行步骤S504;否则执行步骤S505。
步骤S504,对呼入电话请求进行拦截处理。
本步骤中可根据骚扰电话类型采取不同的拦截处理方式。例如,对于响一声电话,可直接拦截挂断;对于诈骗电话,也可直接拦截挂断或者给用户发出提示信息;对于房产中介电话或广告推销电话,给用户发出提示信息。
可选地,在给用户发出提示信息的同时还可将骚扰电话标记次数一并提示给用户,以便用户根据标记次数选择接通或挂断电话。
步骤S505,正常接入该呼入电话请求。
根据本实施例提供的终端设备对骚扰电话的拦截方法,终端设备接收云端服务器每隔预定时间从云端数据库中提取的骚扰电话列表,该骚扰电话列表记录的是与终端设备或用户有关的骚扰电话,是云端服务器考虑到用户的个性化需要为用户提取的定制化推荐数据。这种个性化的骚扰电话列表记录的是给用户拨打可能性较高的骚扰电话,因而该个性化的骚扰电话列表被命中的概率较高,进而提高了终端设备对骚扰电话的识别效率。
图6示出了本发明提供的云端服务器的实施例的功能结构框图。如图6所示,该云端服务器包括:云端数据库610、定时器620、提取模块630、下发模块640。
云端数据库610适于存储有大量骚扰电话。云端数据库610根据海量用户对骚扰电话的标记次数搜集骚扰电话,其所搜集的骚扰电话的覆盖范围非常广,基本能覆盖绝大部分的较为活跃的骚扰电话。而且,云端数据库610是实时更新的,保证云端数据库610记录最新且最全的骚扰电话。
定时器620适于判断当前时间是否到达定时时间。为了提升骚扰电话列表的时效性,云端服务器启动定时器620记录定时时间,每隔一段定时时间触发从云端数据库610提取一次骚扰电话列表。
提取模块630适于当定时器620判断当前时间到达定时时间时,从云端数据库610中提取骚扰电话列表,骚扰电话列表至少包含与终端标识或用户标识对应的第一骚扰电话子列表。
下发模块640适于将骚扰电话列表下发给与终端标识或用户标识对应的终端设备。
进一步的,云端服务器还包括:接收模块650,适于获取终端标识或用户标识对应的多个已拨打骚扰电话,多个已拨打骚扰电话是终端标识对应的终端设备或用户标识对应的用户在当前时间之前接收到的骚扰电话。提取模块630进一步适于:从云端数据库610中提取与多个已拨打骚扰电话相关的骚扰电话加入第一骚扰电话子列表中。
具体地,云端数据库610还记录有任意两个骚扰电话之间的相似度。
可选地,云端服务器还包括:相似度计算模块660,适于分别计算每个已拨打骚扰电话与云端数据库记录的除了所述多个已拨打骚扰电话以外的其它骚扰电话之间的相似度。提取模块630进一步适于:根据每个已拨打骚扰电话与云端数据库记录的除了所述多个已拨打骚扰电话以外的其它骚扰电话之间的相似度,从云端数据库610中提取第一骚扰电话子列表。
其中,提取模块630进一步适于:按照多个已拨打骚扰电话与云端数据库610记录的其它骚扰电话之间的相似度由高至低的顺序对其它骚扰电话进行排序,选取排序靠前的第一预设个数的骚扰电话加入第一骚扰电话子列表中;或者,在其它骚扰电话中选取与多个已拨打骚扰电话之间的相似度大于预设值的骚扰电话加入第一骚扰电话子列表中。
可选地,云端服务器还包括:聚类模块670,适于根据云端数据库610中记录的任意两个骚扰电话之间的相似度,对云端数据库610中所有的骚扰电话进行聚类,获取多个类别的骚扰电话。提取模块630进一步适于:查找多个已拨打骚扰电话所属的类别,从多个已拨打骚扰电话所属的类别中选取骚扰电话加入第一骚扰电话子列表中。
进一步的,骚扰电话列表还包含:与终端标识或用户标识对应的第二骚扰电话子列表;提取模块630进一步适于:从云端数据库610中提取终端标识对应的终端设备或用户标识对应的用户在当前时间之前的第一预设时间段内接收到的骚扰电话加入第二骚扰电话子列表中。
进一步的,骚扰电话列表还包含:第三骚扰电话子列表;提取模块630进一步适于:按照在当前时间之前的第二预设时间段内骚扰电话的拨打次数由高至低的顺序对云端数据库610内的骚扰电话进行排序,选取排序靠前的第二预设个数的骚扰电话加入第三骚扰电话子列表中。具体地,提取模块630选取不属于第一骚扰电话子列表和/或第二骚扰电话子列表、且排序靠前的第二预设个数的骚扰电话加入第三骚扰电话子列表中。
骚扰电话列表中的每一条骚扰电话记录包含骚扰电话号码以及该骚扰电话号码的属性信息。其中,骚扰电话号码的属性信息包含:骚扰电话类型和/或骚扰电话标记次数。骚扰电话类型可以为上面所描述的云端服务器的分类器所获取的分类信息,如诈骗类、房产中介类、广告推销类、响一声类、公司电话类、教育培训中介类、欺诈类、服务类或保险类等类型,骚扰电话标记次数是指用户对骚扰电话的标记次数,反映了该骚扰电话的活跃度。
进一步的,云端服务器还包括:压缩模块680,适于将骚扰电话列表压缩为二进制文件。下发模块640具体适于:将二进制文件下发给与终端标识或用户标识对应的终端设备。
进一步的,云端服务器还包括:增量处理模块690,适于将当前时间提取的骚扰电话列表与上一次定时时间到达时提取的骚扰电话列表进行比较,获取骚扰电话列表的增量信息;下发模块640具体适于:将骚扰电话列表的增量信息下发给与终端标识或用户标识对应的终端设备。
进一步的,云端服务器还包括:存储模块600,适于以键-值对形式存储骚扰电话列表,其中键为IMEI或SIM卡标识,值为骚扰电话列表。
下发模块640进一步适于:在无线局域网联网情况下,将第一骚扰电话子列表和第三骚扰电话子列表下发给终端设备;和/或,在移动通信网联网情况下,将第一骚扰电话子列表下发给终端设备。具体地,下发模块640在无线局域网联网(WiFi)情况下,将包含第一骚扰电话子列表和/或第二骚扰电话子列表和/或第三骚扰电话子列表的骚扰电话列表下发给终端设备;在移动通信网联网情况(3G或4G)下,仅将第一骚扰电话子列表和/或第二骚扰电话子列表下发给终端设备,以避免耗费用户的流量资费。
图7示出了本发明提供的终端设备的实施例的功能结构框图。如图7所示,该终端设备包括:接收模块700、本地数据库710、检测模块720和拦截模块730。
接收模块700适于接收云端服务器下发的骚扰电话列表。骚扰电话列表至少包含与终端标识或用户标识对应的第一骚扰电话子列表,还可包含第二骚扰电话子列表和/或第三骚扰电话子列表。其中,第一骚扰电话子列表中记录有与多个已拨打骚扰电话相关的骚扰电话;第二骚扰电话子列表记录有终端标识对应的终端设备或用户标识对应的用户在当前时间之前的第一预设时间段内接收到的骚扰电话;第三骚扰电话子列表记录有按照在当前时间之前的第二预设时间段内骚扰电话的拨打次数由高至低的顺序对云端数据库内的骚扰电话进行排序,进而选取的排序靠前的第二预设个数的骚扰电话。
本地数据库710适于存储骚扰电话列表。骚扰电话列表中的每一条骚扰电话记录包含骚扰电话号码以及该骚扰电话号码的属性信息。其中,骚扰电话号码的属性信息包含:骚扰电话类型和/或骚扰电话标记次数。骚扰电话类型可以为上面所描述的云端服务器的分类器所获取的分类信息,如诈骗类、房产中介类、广告推销类、响一声类、公司电话类、教育培训中介类、欺诈类、服务类或保险类等类型,骚扰电话标记次数是指用户对骚扰电话的标记次数,反映了该骚扰电话的活跃度。
检测模块720适于当接收到呼入电话请求时,检测呼入电话是否属于所述本地数据库710中存储的骚扰电话列表。
拦截模块730适于在检测模块720检测出所述呼入电话属于所述骚扰电话列表的情况下,对所述呼入电话请求进行拦截处理。拦截模块730可根据骚扰电话类型采取不同的拦截处理方式。例如,对于响一声电话,可直接拦截挂断;对于诈骗电话,也可直接拦截挂断或者给用户发出提示信息;对于房产中介电话或广告推销电话,给用户发出提示信息。可选地,在给用户发出提示信息的同时还可将骚扰电话标记次数一并提示给用户,以便用户根据标记次数选择接通或挂断电话。
进一步的,终端设备还包括:发送模块740,适于将终端标识对应的终端设备或用户标识对应的用户在当前时间之前接收到的多个骚扰电话作为多个已拨打骚扰电话上报给云端服务器。
图8示出了本发明提供的骚扰电话的拦截系统的实施例的功能结构框图。如图8所示,该系统包括云端服务器810和终端设备820,其中云端服务器810和终端设备820的具体功能和结构可参见上述实施例的描述。
根据本发明上述实施例提供的骚扰电话的拦截系统,云端服务器每隔预定时间从云端数据库中提取骚扰电话列表,该骚扰电话列表记录的是与终端设备或用户有关的骚扰电话,是云端服务器考虑到用户的个性化需要为用户提取的定制化推荐数据。这种个性化的骚扰电话列表记录的是给用户拨打可能性较高的骚扰电话,因而该个性化的骚扰电话列表被命中的概率较高,进而提高了终端设备对骚扰电话的识别效率。进一步的,与现有技术按照标记次数下发15万个骚扰电话相比,云端服务器下发的骚扰电话的数量大大降低,其数据量可缩小到现有技术的1/5至1/3,但由于所下发的骚扰电话都与用户之间接收到的骚扰电话相关,因此本方法的骚扰电话的覆盖率能大大提升。一方面骚扰电话的下发数据量缩小可节省终端设备和云端服务器的流量,另一方面覆盖率的提升也使本方法骚扰电话的识别率更高,识别效果更为精准。
本发明提供的上述方案可以应用在来电秀以及各种骚扰电话提醒等手机安全产品中,以尽量避免用户受到骚扰电话的侵扰。例如,对于响一声电话或诈骗电话,一旦用户回拨则可能蒙受经济损失,对于一些房产中介、保险中介等的电话,用户可能根本不想收到类似人群的电话。利用本发明方案,可直接在来电显示中展示企业名称、Logo等信息,还可展示最近的促销活动等信息,这些信息都可以一并显示给接收到或者正在拨打该电话的用户,使得用户能够获得更丰富的信息,以给用户提供全面的信息提示和操作指导。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的骚扰电话的拦截系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。