依据相似度确定设备指纹的方法、装置及服务器与流程

文档序号:13072995阅读:326来源:国知局
依据相似度确定设备指纹的方法、装置及服务器与流程

本发明涉及计算机技术领域,具体涉及一种依据相似度确定设备指纹的方法、装置、服务器及计算机存储介质。



背景技术:

现在很多网站都希望根据用户的相应信息来进行用户行为分析,以达到反欺诈或精准营销的目的,尤其是某些涉及到交易的银行或电商等,需要确定用户登录设备是否变化。具体地,可以通过设备指纹技术来解决,其中,设备指纹是指基于设备的多种属性信息生成的不重复、唯一的设备标识,是设备在虚拟空间的“身份证”。

而设备指纹技术的核心就是设备相似度的判断,现有技术中采用以下两种方法来确定设备相似度:

第一种,delphi法(专家评分法):这是一种定性描述定量化方法,它首先根据评价对象的具体要求选定若干个评价项目,再根据评价项目制订出评价标准,聘请若干代表性专家凭借自己的经验按此评价标准给出各项目的评价分值,然后对其进行结集。它常用的一种计分办法为加法评价型。将评价各指标项目所得的分值加法求和,按总分来表示评价结果,且常用于指标间关系简单者。

虽然这种方法简单、直观,但是方法本身依赖于专家对于指标的熟悉和了解程度,对于刚起步设备指纹服务来说,一般由业务和技术专家共同决定,但是对设备指纹来说,完全由专家来评分不一定合适,而且耗时耗力。

第二种,层次分析法:将各个指标两两评判,构建矩阵,对每一行进行求和,得出特征向量后进行归一化处理。最后根据一致性检验结果调整比例,如一致性检验通过,确定权重。然而起初构建的矩阵中的两两比较结果仍是通过经验人为评判。

上述两种方法都过多的依赖于人的经验,从而降低了判断的准确性和严谨性。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的依据相似度确定设备指纹的方法、依据相似度确定设备指纹的装置、服务器和计算机存储介质。

根据本发明的一个方面,提供了一种依据相似度确定设备指纹的方法,方法包括:

提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,其中,每个属性信息由属性和属性对应的属性值组成;

根据多条设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值;

判断计算得到的各个属性的第一权重值是否符合第一预设条件,若是,则将属性的权重赋值为第一权重值;

获取待确认设备的属性信息,根据待确认设备的属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度;

判断各个设备相似度是否大于或等于预设阈值;

若存在至少一个设备相似度大于或等于预设阈值,则将大于或等于预设阈值的至少一个设备相似度中的设备相似度最高的设备的设备指纹赋值给该待确认设备。

根据本发明的另一方面,提供了一种依据相似度确定设备指纹的装置,装置包括:

提取模块,用于提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,其中,每个属性信息由属性和属性对应的属性值组成;

第一计算模块,用于根据多条设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值;

第一判断模块,用于判断计算得到的各个属性的第一权重值是否符合第一预设条件;

第一赋值模块,用于若各个属性的第一权重值符合第一预设条件,则将属性的权重赋值为第一权重值;

获取模块,用于获取待确认设备的属性信息;

第二计算模块,用于根据待确认设备的属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度;

第二判断模块,用于判断各个设备相似度是否大于或等于预设阈值;

第二赋值模块,用于若存在至少一个设备相似度大于或等于预设阈值,则将大于或等于预设阈值的至少一个设备相似度中的设备相似度最高的设备的设备指纹赋值给该待确认设备。

根据本发明的又一方面,提供了一种电子设备/终端/服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述依据相似度确定设备指纹的方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如上述依据相似度确定设备指纹的方法对应的操作。

根据本发明提供的方案,根据设备属性数据记录利用特征权重计算算法或权重模型算法计算各个属性的第一权重值,而不是依据人的经验而设定权重的权重值,从而避免了对于人的经验的依赖,因此,有效地提高了设备相似度计算的准确性,进而提高了判断设备是否为同一设备的准确性;通过对计算得到的权重值进行验证,可以进一步提高设备相似度计算的准确性。此外,利用属于同一操作系统的设备属性信息来计算各属性的权重值,也有助于减少计算量,提高设备相似度计算的准确性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明实施例一的一种依据相似度确定设备指纹的方法的流程示意图;

图2示出了根据本发明实施例二的一种依据相似度确定设备指纹的方法的流程示意图;

图3示出了根据本发明实施例三的一种依据相似度确定设备指纹的方法的流程示意图;

图4示出了根据本发明实施例四的一种依据相似度确定设备指纹的装置的结构示意图;

图5示出了根据本发明实施例五的一种依据相似度确定设备指纹的装置的结构示意图;

图6示出了根据本发明实施例六的一种依据相似度确定设备指纹的装置的结构示意图;

图7示出了根据本发明实施例八的一种服务器的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

图1示出了根据本发明实施例一的一种依据相似度确定设备指纹的方法的流程示意图。如图1所示,该方法包括以下步骤:

步骤s100,提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录。

其中,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,每个属性信息由属性和属性对应的属性值组成。

在本发明实施例中,设备的相似度是针对于具有相同的操作系统类型的设备而言的,目前,设备的操作系统类型大致可以分为:ios操作系统、android操作系统、windows操作系统、windowsphone操作系统,针对每种操作系统类型,设备指纹库中存储有大量的设备指纹和设备指纹对应的多个属性信息,其中,一个设备指纹和该设备指纹对应的多个属性信息被认定为一条设备属性数据记录,每个属性信息由属性和属性对应的属性值组成,根据操作系统类型的不同,可以从设备指纹库中提取出该操作系统类型的多条设备属性数据记录,例如,针对ios操作系统、android操作系统、windows操作系统、windowsphone操作系统分别提取10000条设备属性数据记录,这里仅是举例说明,不具有任何限定作用。

步骤s101,根据多条设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值。

在提取到属于同一操作系统类型的多条设备属性数据记录之后,需要针对各个属性信息来设置权重,其中,各个属性的权重体现了该属性在设备相似度计算时的相对重要程度,具体地,可以利用特征权重计算算法或权重模型算法计算各个属性的第一权重值,在本发明实施例中,根据设备属性数据记录为各个属性设置权重,可以避免对于人的经验的依赖,从而能够使相似度的计算过程更为客观、严谨,进一步提升了相似度的准确性。

步骤s102,判断计算得到的各个属性的第一权重值是否符合第一预设条件,若是,则执行步骤s103。

在计算得到各个属性的第一权重值之后,需要判断计算得到的各个属性的第一权重值是否符合第一预设条件,这里判断第一权重值是否符合第一预设条件,主要是为了确定计算得到的第一权重值是否更好。

步骤s103,将属性的权重赋值为第一权重值。

在判断出各个属性的第一权重值符合第一预设条件的情况下,可以将属性的权重赋值为第一权重值。

步骤s104,获取待确认设备的属性信息,根据待确认设备的属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度。

当检测到有设备登录或访问时,获取该待确认设备的属性信息,然后根据获取到的待确认设备的属性对应的权重、属性对应的属性值和属性相似度算法来计算该待确认设备与设备库中各个设备的设备相似度。

步骤s105,判断是否存在至少一个设备相似度大于或等于预设阈值,若是,则执行步骤s106。

判断计算得到的各个设备相似度是否大于或等于预设阈值,若存在至少一个设备相似度大于或等于预设阈值,则表明该待确认设备与设备库中至少一个设备相似,若各个设备相似度均小于预设阈值,则表明待确认设备与设备库中任何一个设备都不相似,其中,预设阈值可以根据实际经验进行设定,这里不做具体说明。

步骤s106,将大于或等于预设阈值的至少一个设备相似度中的设备相似度最高的设备的设备指纹赋值给该待确认设备。

若存在至少一个设备相似度大于或等于预设阈值,则表明该待确认设备与设备库中至少一个设备相似,如此,可以认定大于或等于预设阈值的至少一个设备相似度中设备相似度最高的设备与该待确认设备是同一设备,可以将设备相似度最高的设备的设备指纹赋值给该待确认设备。

根据本发明上述实施例提供的方法,根据设备属性数据记录利用特征权重计算算法或权重模型算法计算各个属性的第一权重值,而不是依据人的经验而设定权重的权重值,从而避免了对于人的经验的依赖,因此,有效地提高了设备相似度计算的准确性,进而提高了判断设备是否为同一设备的准确性;通过对计算得到的权重值进行验证,可以进一步提高设备相似度计算的准确性。此外,利用属于同一操作系统的设备属性信息来计算各属性的权重值,也有助于减少计算量,提高设备相似度计算的准确性。

实施例二

图2示出了根据本发明实施例二的一种依据相似度确定设备指纹的方法的流程示意图。如图2所示,该方法包括以下步骤:

步骤s200,提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录。

其中,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,每个属性信息由属性和属性对应的属性值组成。

具体地,属性信息包括:硬件属性信息、软件属性信息和/或行为属性信息;其中,硬件属性信息包括以下信息中的一种或多种:mac地址、品牌、型号、imei、序列号;软件属性信息包括以下信息中的一种或多种:os类型、系统设置、网络设置、协议指纹、浏览器属性、地理位置;行为属性信息包括以下信息中的一种或多种:访问频次、访问时间、操作轨迹。

操作系统类型包括:ios操作系统、android操作系统、windows操作系统和/或windowsphone操作系统。

步骤s201,对多条设备属性数据记录进行预处理,得到预处理后的设备属性数据记录。

为了更为有效地计算权重的权重值以及设备相似度,在提取到多条设备属性数据记录之后,还需要对多条设备属性数据记录进行预处理,具体地,可以采用以下方法对多条设备属性数据记录进行预处理:

方法一:删除属性信息的数量小于预设阈值的设备属性数据记录。

其中,每个设备指纹对应有很多属性信息,对于那些属性信息较少的设备指纹,则可以认定为是异常的设备指纹,因此,对于属性信息的数量小于预设阈值的设备指纹,这里可以做删除处理,即删除属性信息的数量小于预设阈值的设备属性数据记录。

方法二:将多条设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

具体地,设备指纹库中可能会记录一些异常的设备指纹,例如,利用盗取的信息进行登录的设备对应的设备指纹,针对这类设备属性数据记录需要删除,更为具体地,可以设置一用于存储异常的设备指纹的黑名单,在提取到多条设备属性数据记录后,将多条设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

当然,还可以在删除属性信息的数量小于预设阈值的设备属性数据记录之后,再判断剩余的设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

步骤s202,根据预处理后的设备属性数据记录,利用如下公式(1)计算各个属性的第一权重值:

其中,t表示设备属性数据记录的集合,|t|表示t集合所包含的设备属性数据记录的条数,values(a)表示属性a所有属性值的集合,tv是t集合中属性a的属性值为v时设备属性数据记录的子集,|tv|表示属性a的属性值为v时,tv集合所包含设备属性数据记录的条数,s(t)表示t的熵,s(tv)表示tv的熵;

其中,c表示t集合中属性类别的个数,pi表示t集合中第i个属性类别的设备属性数据记录占t集合中总的设备属性数据记录的比例;

其中,cv表示属性a的属性值为v时,tv集合中属性类别的个数,pvi表示属性a的属性值为v时,tv集合中第i个属性类别的设备属性数据记录占tv集合中总的设备属性数据记录的比例。

从而,利用该步骤可以计算得到各个属性的第一权重值。另外,在本发明实施例中,可以认定设备指纹对应的属性的类别是相同的,而对于该设备指纹所不具有的属性,可以认定该属性对应的属性值为空,举例说明,设备指纹1,属性a-属性值:1,属性b-属性值:1,属性c-属性值:空,属性d-属性值:1。

在计算得到各个属性的第一权重值之后,还需要对第一权重值进行验证,具体的验证方法可以参见步骤s203-步骤s207:

步骤s203,对多条设备属性数据记录进行分析,得到第一样本和第二样本。

其中,第一样本为同一设备在不同时刻的设备属性数据记录,第二样本为不同设备的设备属性数据记录。

同一设备在不同时刻的设备属性数据记录会有所不同,例如,行为属性信息中访问频次、访问时间、操作轨迹等属性的属性值会有所不同。不同设备的设备属性数据记录则因为是不同设备会有很大的区别。

众所周知,设备相似度越高表明两个设备越相似,本发明实施例将多条设备属性数据记录划分为同一设备在不同时刻的设备属性数据记录和不同设备的设备属性数据记录,是为了利用同一设备的设备相似度和不同设备之间的设备相似度来验证第一权重值相较于初始权重值是否更好。

步骤s204,根据第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度。

具体地,在计算得到第一权重值之后,还需要根据第一权重值来计算同一设备的第一设备相似度和不同设备之间的第二设备相似度,这里可以采用初始设置的属性相似度算法来进行计算。

在本发明优选实施例中,还可以先根据第一权重值对属性信息进行筛选,例如,对计算得到的第一权重值按照由小至大的顺序进行排序,筛选出第一权重值小于预设权重值的属性信息,得到第一权重值大于或等于预设权重值的属性信息,然后,根据筛选后的属性信息中属性对应的第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度,通过对第一权重值进行筛选,可以减少参与设备相似度计算过程的属性信息的个数,从而加快设备相似度的计算速度。

具体地,可以先根据属性对应的属性值和属性相似度算法计算属性相似度,然后利用如下公式来分别计算同一设备的第一设备相似度和不同设备之间的第二设备相似度:

其中,sd表示设备相似度,表示第i个属性类别的属性相似度,wi表示第i个属性类别对应的属性的权重,n表示参与设备相似度计算的属性类别的个数。

步骤s205,判断同一设备的第一设备相似度和不同设备之间的第二设备相似度是否满足第一预设条件,若是,则执行步骤s206;若否,则执行步骤s207。

在计算得到同一设备的第一设备相似度和不同设备之间的第二设备相似度之后,需要判断同一设备的第一设备相似度和不同设备之间的第二设备相似度是否满足第一预设条件,其中,第一预设条件具体为:同一设备的第一设备相似度大于同一设备的初始设备相似度,且不同设备之间的第二设备相似度小于不同设备之间的初始设备相似度;同一设备的初始设备相似度和不同设备之间的初始设备相似度根据属性的初始权重值计算。

若同一设备的第一设备相似度和不同设备之间的第二设备相似度满足第一预设条件,则说明利用各个属性的第一权重值计算得到的同一设备的设备相似度更高,表明该第一权重值相较于初始权重值更好;若同一设备的第一设备相似度和不同设备之间的第二设备相似度不满足第一预设条件,则说明利用各个属性的初始权重值计算得到的同一设备的设备相似度高于第一权重值计算得到的同一设备的设备相似度,表明初始权重值相较于第一权重值更好。

步骤s206,将属性的权重赋值为第一权重值。

若同一设备的第一设备相似度和不同设备之间的第二设备相似度满足第一预设条件,则可以将属性的权重赋值为第一权重值。

步骤s207,将属性的权重赋值为初始权重值。

若同一设备的第一设备相似度和不同设备之间的第二设备相似度不满足第一预设条件,则可以将属性的权重赋值为初始权重值。

步骤s208,获取待确认设备的属性信息,确定待确认设备参与各设备相似度计算的属性信息,以及属性对应的权重。

当检测到有设备登录或访问时,获取该待确认设备的属性信息,对于权重的权重值小于预设权重值的属性应该过滤掉,不参与设备相似度计算过程,另外,计算两个设备的设备相似度是根据两个设备所共有的属性进行计算的,因此,确定待确认设备参与各设备相似度计算的属性信息,以及属性对应的权重。

步骤s209,根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度。

在确定了待确认设备参与各设备相似度计算的属性信息以及属性对应的权重后,根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度,其中,属性相似度算法可以为初始的属性相似度算法。

具体地,可以采用如下方法计算待确认设备与设备库中各个设备的设备相似度:根据属性对应的属性值和属性相似度算法计算属性相似度,然后利用如下公式(2)计算该待确认设备与设备库中各个设备的设备相似度:

其中,sd表示设备相似度,表示第i个属性类别的属性相似度,wi表示第i个属性类别对应的属性的权重,n表示参与设备相似度计算的属性类别的个数。

步骤s210,判断是否存在至少一个设备相似度大于或等于预设阈值,若是,则执行步骤s211;若否,则执行步骤s212。

判断计算得到的各个设备相似度是否大于或等于预设阈值,若存在至少一个设备相似度大于或等于预设阈值,则表明该待确认设备与设备库中至少一个设备相似,若各个设备相似度均小于预设阈值,则表明待确认设备与设备库中任何一个设备都不相似,其中,预设阈值可以根据实际经验进行设定,这里不做具体说明。

步骤s211,将大于或等于预设阈值的至少一个设备相似度中的设备相似度最高的设备的设备指纹赋值给该待确认设备。

若存在至少一个设备相似度大于或等于预设阈值,则表明该待确认设备与设备库中至少一个设备相似,如此,可以认定大于或等于预设阈值的至少一个设备相似度中设备相似度最高的设备与该待确认设备是同一设备,可以将设备相似度最高的设备的设备指纹赋值给该待确认设备。

步骤s212,依据新的设备的属性信息计算设备指纹,并赋值给该新的设备。

若各个相似度均小于预设阈值,则表明新的设备与设备库中任何一个设备都不相似,如此,可以依据新的设备的属性信息计算设备指纹,并赋值给该新的设备,其中,设备指纹可以具体由以下信息组成:属性编码(8位)、时间戳编码(14位)、校验码(2位)。

根据本发明上述实施例提供的方法,根据设备属性数据记录利用特征权重计算算法来计算权重的权重值,而不是依据人的经验而设定权重的权重值,从而避免了对于人的经验的依赖,因此,有效地提高了设备相似度计算的准确性,进而提高了判断设备是否为同一设备的准确性;通过对计算得到的权重值进行验证,可以进一步提高设备相似度计算的准确性。此外,利用属于同一操作系统的设备属性信息来计算各属性的权重值,也有助于减少计算量,提高设备相似度计算的准确性。

实施例三

图3示出了根据本发明实施例三的一种依据相似度确定设备指纹的方法的流程示意图。如图3所示,该方法包括以下步骤:

步骤s300,提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录。

其中,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,每个属性信息由属性和属性对应的属性值组成。

具体地,属性信息包括:硬件属性信息、软件属性信息和/或行为属性信息;其中,硬件属性信息包括以下信息中的一种或多种:mac地址、品牌、型号、imei、序列号;软件属性信息包括以下信息中的一种或多种:os类型、系统设置、网络设置、协议指纹、浏览器属性、地理位置;行为属性信息包括以下信息中的一种或多种:访问频次、访问时间、操作轨迹。

操作系统类型包括:ios操作系统、android操作系统、windows操作系统和/或windowsphone操作系统。

步骤s301,对多条设备属性数据记录进行预处理,得到预处理后的设备属性数据记录。

为了更为有效地计算权重的权重值以及设备相似度,在提取到多条设备属性数据记录之后,还需要对多条设备属性数据记录进行预处理,具体地,可以采用以下方法对多条设备属性数据记录进行预处理:

方法一:删除属性信息的数量小于预设阈值的设备属性数据记录。

其中,每个设备指纹对应有很多属性信息,对于那些属性信息较少的设备指纹,则可以认定为是异常的设备指纹,因此,对于属性信息的数量小于预设阈值的设备指纹,这里可以做删除处理,即删除属性信息的数量小于预设阈值的设备属性数据记录。

方法二:将多条设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

具体地,设备指纹库中可能会记录一些异常的设备指纹,例如,利用盗取的信息进行登录的设备对应的设备指纹,针对这类设备属性数据记录需要删除,更为具体地,可以设置一用于存储异常的设备指纹的黑名单,在提取到多条设备属性数据记录后,将多条设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

当然,还可以在删除属性信息的数量小于预设阈值的设备属性数据记录之后,再判断剩余的设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

在本实施例中是利用权重模型算法来计算第一权重值的,具体地,可以采用步骤s302-步骤s305中记载的方法:

步骤s302,对预处理后的设备属性数据记录进行分析,得到第一样本和第二样本。

其中,第一样本为同一设备在不同时刻的设备属性数据记录,第二样本为不同设备的设备属性数据记录。

同一设备在不同时刻的设备属性数据记录会有所不同,例如,行为属性信息中访问频次、访问时间、操作轨迹等属性的属性值会有所不同。不同设备的设备属性数据记录则因为是不同设备会有很大的区别。

步骤s303,利用初始的属性相似度算法计算同一设备的属性相似度和不同设备之间的属性相似度。

初始的属性相似度算法是根据经验设定的,属性相似度算法包括:相等判断相似度算法、余弦相似度算法、最短编辑距离相似度算法和最长公共子串相似度算法,本领域技术人员可以根据需要设定初始的属性相似度算法,例如,设定初始的属性相似度算法为最短编辑距离相似度算法。

步骤s304,计算同一设备的属性相似度和不同设备之间的属性相似度的平均值作为各个属性的属性相似度。

其中,步骤s303计算得到的同一设备的属性相似度和不同设备之间的属性相似度为多个,这里是求多个属性相似度的平均值,将多个属性相似度的平均值作为各个属性的属性相似度。

步骤s305,将各个属性的属性相似度输入到权重模型中,得到各个属性的第一权重值。

其中,权重模型是根据大量样本设备的属性相似度和属性对应的权重值进行训练得到的,是关于属性相似度和权重值的模型,因此,在计算得到各个属性的属性相似度后,通过将各个属性的属性相似度输入到权重模型中,便可以得到各个属性的第一权重值。

在计算得到各个属性的第一权重值之后,还需要对第一权重值进行验证,以验证利用第一权重值计算得到的设备相似度是否更高,具体的验证方法可以参见步骤s306-步骤s309:

步骤s306,根据第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度。

具体地,在计算得到第一权重值之后,还需要根据第一权重值来计算同一设备的第一设备相似度和不同设备之间的第二设备相似度,这里可以采用初始设置的属性相似度算法来进行计算。

在本发明优选实施例中,还可以先根据第一权重值对属性信息进行筛选,例如,对计算得到的第一权重值按照由小至大的顺序进行排序,筛选出第一权重值小于预设权重值的属性信息,得到第一权重值大于或等于预设权重值的属性信息,然后,根据筛选后的属性信息中属性对应的第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度,通过对第一权重值进行筛选,可以减少参与设备相似度计算过程的属性信息的个数,从而加快设备相似度的计算速度。

具体地,可以先利用属性相似度算法来计算属性的属性相似度,然后利用如下公式来分别计算同一设备的第一设备相似度和不同设备之间的第二设备相似度:

其中,sd表示设备相似度,表示第i个属性类别的属性相似度,wi表示第i个属性类别对应的属性的权重,n表示参与设备相似度计算的属性类别的个数。

步骤s307,判断同一设备的第一设备相似度和不同设备之间的第二设备相似度是否满足第一预设条件,若是,则执行步骤s308;若否,则执行步骤s309。

在计算得到同一设备的第一设备相似度和不同设备之间的第二设备相似度之后,需要判断同一设备的第一设备相似度和不同设备之间的第二设备相似度是否满足第一预设条件,其中,第一预设条件具体为:同一设备的第一设备相似度大于同一设备的初始设备相似度,且不同设备之间的第二设备相似度小于不同设备之间的初始设备相似度;同一设备的初始设备相似度和不同设备之间的初始设备相似度根据属性的初始权重值计算。

若同一设备的第一设备相似度和不同设备之间的第二设备相似度满足第一预设条件,则说明利用各个属性的第一权重值计算得到的同一设备的设备相似度更高,表明该第一权重值相较于初始权重值更好;若同一设备的第一设备相似度和不同设备之间的第二设备相似度不满足第一预设条件,则说明利用各个属性的初始权重值计算得到的同一设备的设备相似度高于第一权重值计算得到的同一设备的设备相似度,表明初始权重值相较于第一权重值更好。

步骤s308,将属性的权重赋值为第一权重值。

若同一设备的第一设备相似度和不同设备之间的第二设备相似度满足第一预设条件,则可以将属性的权重赋值为第一权重值。

步骤s309,将属性的权重赋值为初始权重值。

若同一设备的第一设备相似度和不同设备之间的第二设备相似度不满足第一预设条件,则可以将属性的权重赋值为初始权重值。

为了能够得到最佳的设备相似度,本发明实施例可以通过更改属性相似度算法的方式,重新计算属性的属性相似度,根据重新计算后属性相似度计算权重值,具体地,可以参见步骤s310-步骤s312:

步骤s310,更改属性相似度算法,利用更改后的属性相似度算法重新计算同一设备的属性相似度和不同设备之间的属性相似度。

假定初始的属性相似度算法为最短编辑距离相似度算法,针对不同的属性可以更改属性相似度算法,举例说明,针对属性:cpu,可以将属性相似度算法更改为:相等判断相似度算法,针对属性:hostname,可以将属性相似度算法更改为:余弦相似度算法,这里仅是举例说明,不具有任何限定作用。

步骤s311,计算重新计算后同一设备的属性相似度和不同设备之间的属性相似度的平均值作为各个属性的属性相似度。

步骤s312,将各个属性的属性相似度作为匹配输入项输入至权重模型中,得到各个属性的第二权重值。

其中,步骤s310-步骤s312与步骤s303-步骤s305类似,这里不再赘述。

为了确定第二权重值是否更优于第一权重值,还需要对第二权重值进行验证,具体的验证方法可以参见步骤s313-步骤s315:

步骤s313,根据各个属性的第二权重值计算同一设备的第三设备相似度和不同设备之间的第四设备相似度。

步骤s314,判断同一设备的第三设备相似度和不同设备之间的第四设备相似度是否满足第二预设条件,若是,则执行步骤s315;若否,则执行步骤s316。

所述第二预设条件具体为:同一设备的第三设备相似度大于同一设备的第一设备相似度,且不同设备之间的第四设备相似度小于不同设备之间的第二设备相似度。

其中,步骤s313-步骤s314与步骤s306-步骤s307类似,这里不再赘述。

步骤s315,将属性的权重赋值为第二权重值,并确定各个属性的属性相似度算法。

同一设备的第三设备相似度和不同设备之间的第四设备相似度满足第二预设条件,将属性的权重赋值为第二权重值,并将更改后的属性相似度算法确定各个属性的属性相似度算法。

其中,步骤s310-步骤315为可选步骤。

步骤s316,获取待确认设备的属性信息,确定待确认设备参与各设备相似度计算的属性信息,以及属性对应的权重。

当检测到有设备登录或访问时,获取该待确认设备的属性信息,对于权重的权重值小于预设权重值的属性应该过滤掉,不予参与设备相似度计算过程,另外,计算两个设备的设备相似度是根据两个设备所共有的属性进行计算的,因此,确定待确认设备参与各设备相似度计算的属性信息,以及属性对应的权重,从而加快了计算过程,提高了计算效率。

步骤s317,根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度。

在确定了待确认设备参与各设备相似度计算的属性信息以及属性对应的权重后,根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度,其中,属性相似度算法可以为初始的属性相似度算法或更改后的属性相似度算法。

具体地,可以采用如下方法计算待确认设备与设备库中各个设备的设备相似度:根据属性对应的属性值和属性相似度算法计算属性相似度,然后利用如下公式(2)计算该待确认设备与设备库中各个设备的设备相似度:

其中,sd表示设备相似度,表示第i个属性类别的属性相似度,wi表示第i个属性类别对应的属性的权重,n表示参与设备相似度计算的属性类别的个数。

步骤s318,判断是否存在至少一个设备相似度大于或等于预设阈值,若是,则执行步骤s319;若否,则执行步骤s320。

判断计算得到的各个设备相似度是否大于或等于预设阈值,若存在至少一个设备相似度大于或等于预设阈值,则表明该待确认设备与设备库中至少一个设备相似,若各个设备相似度均小于预设阈值,则表明待确认设备与设备库中任何一个设备都不相似,其中,预设阈值可以根据实际经验进行设定,这里不做具体说明。

步骤s319,将大于或等于预设阈值的至少一个设备相似度中的设备相似度最高的设备的设备指纹赋值给该待确认设备。

若存在至少一个设备相似度大于或等于预设阈值,则表明该待确认设备与设备库中至少一个设备相似,如此,可以认定大于或等于预设阈值的至少一个设备相似度中设备相似度最高的设备与该待确认设备是同一设备,可以将设备相似度最高的设备的设备指纹赋值给该待确认设备。

步骤s320,依据新的设备的属性信息计算设备指纹,并赋值给该新的设备。

若各个相似度均小于预设阈值,则表明新的设备与设备库中任何一个设备都不相似,如此,可以依据新的设备的属性信息计算设备指纹,并赋值给该新的设备,其中,设备指纹可以具体由以下信息组成:属性编码(8位)、时间戳编码(14位)、校验码(2位)。

根据本发明上述实施例提供的方法,根据设备属性据记录利用权重模型来计算权重的权重值,而不是依据人的经验而设定权重的权重值,从而避免了对于人的经验的依赖,因此,有效地提高了设备相似度计算的准确性,进而提高了判断设备是否为同一设备的准确性;通过对计算得到的权重值进行验证,以及更改属性相似度算法,可以进一步提高设备相似度计算的准确性。此外,利用属于同一操作系统的设备属性信息来计算各属性的权重值,也有助于减少计算量,提高设备相似度计算的准确性。

实施例四

图4示出了根据本发明实施例四的一种依据相似度确定设备指纹的装置的结构示意图。如图4所示,该装置包括:提取模块400、第一计算模块401、第一判断模块402、第一赋值模块403、获取模块404、第二计算模块405、第二判断模块406和第二赋值模块407。

提取模块400,用于提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录。其中,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,每个属性信息由属性和属性对应的属性值组成。

第一计算模块401,用于根据多条设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值。

第一判断模块402,用于判断计算得到的各个属性的第一权重值是否符合第一预设条件。

第一赋值模块403,用于若各个属性的第一权重值符合第一预设条件,则将属性的权重赋值为第一权重值。

获取模块404,用于获取待确认设备的属性信息。

第二计算模块405,用于根据待确认设备的属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度。

第二判断模块406,用于判断各个设备相似度是否大于或等于预设阈值。

第二赋值模块407,用于若存在至少一个设备相似度大于或等于预设阈值,则将大于或等于预设阈值中的最高设备相似度对应的设备的设备指纹赋值给该待确认设备。

根据本发明上述实施例提供的装置,根据设备属性数据记录利用特征权重计算算法或权重模型算法计算各个属性的第一权重值,而不是依据人的经验而设定权重的权重值,从而避免了对于人的经验的依赖,因此,有效地提高了设备相似度计算的准确性,进而提高了判断设备是否为同一设备的准确性;通过对计算得到的权重值进行验证,可以进一步提高设备相似度计算的准确性。此外,利用属于同一操作系统的设备属性信息来计算各属性的权重值,也有助于减少计算量,提高设备相似度计算的准确性。

实施例五

图5示出了根据本发明实施例五的一种依据相似度确定设备指纹的装置的结构示意图。如图5所示,该装置包括:提取模块500、预处理模块501、第一计算模块502、第一判断模块503、第一赋值模块504、获取模块505、第二计算模块506、第二判断模块507、第二赋值模块508和第三计算模块509。

提取模块500,用于提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录。

其中,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,每个属性信息由属性和属性对应的属性值组成。

具体地,属性信息包括:硬件属性信息、软件属性信息和/或行为属性信息;其中,硬件属性信息包括以下信息中的一种或多种:mac地址、品牌、型号、imei、序列号;软件属性信息包括以下信息中的一种或多种:os类型、系统设置、网络设置、协议指纹、浏览器属性、地理位置;行为属性信息包括以下信息中的一种或多种:访问频次、访问时间、操作轨迹。

操作系统类型包括:ios操作系统、android操作系统、windows操作系统和/或windowsphone操作系统。

预处理模块501,用于对多条设备属性数据记录进行预处理,得到预处理后的设备属性数据记录。

在本发明优选实施例中,预处理模块501进一步用于:删除属性信息的数量小于预设阈值的设备属性数据记录。

此外,预处理模块501还进一步用于:将多条设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

第一计算模块502,用于根据预处理后的设备属性数据记录,利用如下公式(1)计算各个属性的第一权重值:

其中,t表示设备属性数据记录的集合,|t|表示t集合所包含的设备属性数据记录的条数,values(a)表示属性a所有属性值的集合,tv是t集合中属性a的属性值为v时设备属性数据记录的子集,|tv|表示属性a的属性值为v时,tv集合所包含设备属性数据记录的条数,s(t)表示t的熵,s(tv)表示tv的熵;

其中,c表示t集合中属性类别的个数,pi表示t集合中第i个属性类别的设备属性数据记录占t集合中总的设备属性数据记录的比例;

其中,cv表示属性a的属性值为v时,tv集合中属性类别的个数,pvi表示属性a的属性值为v时,tv集合中第i个属性类别的设备属性数据记录占tv集合中总的设备属性数据记录的比例。

第一判断模块503,用于对预处理后的设备属性数据记录进行分析,得到第一样本和第二样本,其中,第一样本为同一设备在不同时刻的设备属性数据记录,第二样本为不同设备的设备属性数据记录;

根据第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度;

在本发明优选实施例中,第一判断模块503还可以根据第一权重值对属性信息进行筛选,得到第一权重值大于或等于预设权重值的属性信息;然后,根据筛选后的属性信息中属性对应的第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度;

判断同一设备的第一设备相似度和不同设备之间的第二设备相似度是否满足第一预设条件。

其中,第一预设条件具体为:同一设备的第一设备相似度大于同一设备的初始设备相似度,且不同设备之间的第二设备相似度小于不同设备之间的初始设备相似度,同一设备的初始设备相似度和不同设备之间的初始设备相似度根据属性的初始权重值计算。

第一赋值模块504,用于若同一设备的第一设备相似度和不同设备之间的第二设备相似度满足第一预设条件,则将属性的权重赋值为第一权重值。

获取模块505,用于获取待确认设备的属性信息。

第二计算模块506,用于确定待确认设备参与各设备相似度计算的属性信息,以及属性对应的权重;

根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度。

在本发明优选实施例中,第二计算模块506进一步用于:根据属性对应的属性值和属性相似度算法计算属性相似度;

利用如下公式(2)计算该待确认设备与设备库中各个设备的设备相似度:

其中,sd表示设备相似度,表示第i个属性类别的属性相似度,wi表示第i个属性类别对应的属性的权重,n表示参与设备相似度计算的属性类别的个数。

第二判断模块507,用于判断各个设备相似度是否大于或等于预设阈值;

第二赋值模块508,用于若存在至少一个设备相似度大于或等于预设阈值,则将大于或等于预设阈值中的最高设备相似度对应的设备的设备指纹赋值给该待确认设备。

第三计算模块509,用于若各个相似度均小于预设阈值,则依据待确认设备的属性信息计算设备指纹,并赋值给该待确认设备。

根据本发明上述实施例提供的装置,利用特征权重计算算法来计算权重的权重值,而不是依据人的经验而设定权重的权重值,从而避免了对于人的经验的依赖,因此,有效地提高了设备相似度计算的准确性,进而提高了判断设备是否为同一设备的准确性;通过对计算得到的权重值进行验证,可以进一步提高设备相似度计算的准确性。此外,利用属于同一操作系统的设备属性信息来计算各属性的权重值,也有助于减少计算量,提高设备相似度计算的准确性。

实施例六

图6示出了根据本发明实施例六的一种依据相似度确定设备指纹的装置的结构示意图。如图6所示,该装置包括:提取模块600、预处理模块601、第一计算模块602、第一判断模块603、第一赋值模块604、更改模块605、第四计算模块606、第五计算模块607、输入模块608、第六计算模块609、第三判断模块610、确定模块611、获取模块612、第二计算模块613、第二判断模块614、第二赋值模块615和第三计算模块616。

提取模块600,用于提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录。

其中,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,每个属性信息由属性和属性对应的属性值组成。

具体地,属性信息包括:硬件属性信息、软件属性信息和/或行为属性信息;

其中,硬件属性信息包括以下信息中的一种或多种:mac地址、品牌、型号、imei、序列号;软件属性信息包括以下信息中的一种或多种:os类型、系统设置、网络设置、协议指纹、浏览器属性、地理位置;行为属性信息包括以下信息中的一种或多种:访问频次、访问时间、操作轨迹。

操作系统类型包括:ios操作系统、android操作系统、windows操作系统和/或windowsphone操作系统。

预处理模块601,用于对多条设备属性数据记录进行预处理,得到预处理后的设备属性数据记录。

在本发明优选实施例中,预处理模块601进一步用于:删除属性信息的数量小于预设阈值的设备属性数据记录。

此外,预处理模块601还进一步用于:将多条设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

第一计算模块602,用于对预处理后的设备属性数据记录进行分析,得到第一样本和第二样本,其中,第一样本为同一设备在不同时刻的设备属性数据记录,第二样本为不同设备的设备属性数据记录;

利用初始的属性相似度算法计算同一设备的属性相似度和不同设备之间的属性相似度;

计算同一设备的属性相似度和不同设备之间的属性相似度的平均值作为各个属性的属性相似度;

将各个属性的属性相似度输入到权重模型中,得到各个属性的第一权重值,其中,权重模型是根据大量样本设备的属性相似度和属性对应的权重值进行训练得到的。

第一判断模块603,用于对预处理后的设备属性数据记录进行分析,得到第一样本和第二样本,其中,第一样本为同一设备在不同时刻的设备属性数据记录,第二样本为不同设备的设备属性数据记录;

根据第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度;

在本发明优选实施例中,第一判断模块603还可以根据第一权重值对属性信息进行筛选,得到第一权重值大于或等于预设权重值的属性信息;然后,根据筛选后的属性信息中属性对应的第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度;

判断同一设备的第一设备相似度和不同设备之间的第二设备相似度是否满足第一预设条件。

其中,第一预设条件具体为:同一设备的第一设备相似度大于同一设备的初始设备相似度,且不同设备之间的第二设备相似度小于不同设备之间的初始设备相似度,同一设备的初始设备相似度和不同设备之间的初始设备相似度根据属性的初始权重值计算。

第一赋值模块604,用于若同一设备的第一设备相似度和不同设备之间的第二设备相似度满足第一预设条件,则将属性的权重赋值为第一权重值。

更改模块605,用于更改属性相似度算法。

第四计算模块606,用于利用更改后的属性相似度算法重新计算同一设备的属性相似度和不同设备之间的属性相似度。

第五计算模块607,用于计算重新计算后同一设备的属性相似度和不同设备之间的属性相似度的平均值作为各个属性的属性相似度。

输入模块608,用于将各个属性的属性相似度作为匹配输入项输入至权重模型中,得到各个属性的第二权重值。

第六计算模块609,用于根据各个属性的第二权重值计算同一设备的第三设备相似度和不同设备之间的第四设备相似度。

第三判断模块610,用于判断同一设备的第三设备相似度和不同设备之间的第四设备相似度是否满足第二预设条件。

第一赋值模块604进一步用于:若同一设备的第三设备相似度和不同设备之间的第四设备相似度满足第二预设条件,则将属性的权重赋值为第二权重值。

确定模块611,用于若同一设备的第三设备相似度和不同设备之间的第四设备相似度满足第二预设条件,则确定各个属性的属性相似度算法。

获取模块612,用于获取待确认设备的属性信息。

第二计算模块613,用于确定待确认设备参与各设备相似度计算的属性信息,以及属性对应的权重。

根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度。

在本发明优选实施例中,第二计算模块613进一步用于:根据属性对应的属性值和属性相似度算法计算属性相似度;

利用如下公式(2)计算该待确认设备与设备库中各个设备的设备相似度:

其中,sd表示设备相似度,表示第i个属性类别的属性相似度,wi表示第i个属性类别对应的属性的权重,n表示参与设备相似度计算的属性类别的个数。

第二判断模块614,用于判断各个设备相似度是否大于或等于预设阈值。

第二赋值模块615,用于若存在至少一个设备相似度大于或等于预设阈值,则将大于或等于预设阈值中的最高设备相似度对应的设备的设备指纹赋值给该待确认设备。

第三计算模块616,用于若各个相似度均小于预设阈值,则依据待确认设备的属性信息计算设备指纹,并赋值给该待确认设备。

根据本发明上述实施例提供的装置,利用权重模型来计算权重的权重值,而不是依据人的经验而设定权重的权重值,从而避免了对于人的经验的依赖,因此,有效地提高了设备相似度计算的准确性,进而提高了判断设备是否为同一设备的准确性;通过对计算得到的权重值进行验证,以及更改属性相似度算法,可以进一步提高设备相似度计算的准确性。此外,利用属于同一操作系统的设备属性信息来计算各属性的权重值,也有助于减少计算量,提高设备相似度计算的准确性。

实施例七

本申请实施例其提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的依据相似度确定设备指纹的方法。

实施例八

图7示出了根据本发明实施例八的一种服务器的结构示意图,本发明具体实施例并不对服务器的具体实现做限定。

如图7所示,该服务器可以包括:处理器(processor)702、通信接口(communicationsinterface)704、存储器(memory)706、以及通信总线708。

其中:

处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。

通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器702,用于执行程序710,具体可以执行上述依据相似度确定设备指纹的方法实施例中的相关步骤。

具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。

处理器702可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器706,用于存放第一数据集合、第二数据集合以及程序710。存储器706可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序710具体可以用于使得处理器702执行实施例一至实施例三中的方法。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了:

a1.一种依据相似度确定设备指纹的方法,其特征在于,所述方法包括:

提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,其中,每个属性信息由属性和属性对应的属性值组成;

根据多条设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值;

判断计算得到的各个属性的第一权重值是否符合第一预设条件,若是,则将属性的权重赋值为第一权重值;

获取待确认设备的属性信息,根据待确认设备的属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度;

判断各个设备相似度是否大于或等于预设阈值;

若存在至少一个设备相似度大于或等于预设阈值,则将大于或等于预设阈值的至少一个设备相似度中的设备相似度最高的设备的设备指纹赋值给该待确认设备。

a2.根据a1所述的方法,其特征在于,所述方法还包括:若各个相似度均小于预设阈值,则依据待确认设备的属性信息计算设备指纹,并赋值给该待确认设备。

a3.根据a1或a2所述的方法,其特征在于,所述判断计算得到的各个属性的第一权重值是否符合第一预设条件进一步包括:

对多条设备属性数据记录进行分析,得到第一样本和第二样本,其中,所述第一样本为同一设备在不同时刻的设备属性数据记录,所述第二样本为不同设备的设备属性数据记录;

根据第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度;

判断所述同一设备的第一设备相似度和不同设备之间的第二设备相似度是否满足第一预设条件;

若是,则将属性的权重赋值为第一权重值。

a4.根据a3所述的方法,其特征在于,所述根据第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度进一步包括:

根据第一权重值对属性信息进行筛选,得到第一权重值大于或等于预设权重值的属性信息;

根据筛选后的属性信息中属性对应的第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度。

a5.根据a3或a4所述的方法,其特征在于,所述第一预设条件具体为:同一设备的第一设备相似度大于同一设备的初始设备相似度,且不同设备之间的第二设备相似度小于不同设备之间的初始设备相似度;

其中,同一设备的初始设备相似度和不同设备之间的初始设备相似度根据属性的初始权重值计算。

a6.根据a3-a5任一项所述的方法,其特征在于,所述根据多条数据,利用特征权重计算算法计算各个属性的第一权重值进一步包括:

根据多条设备属性数据记录,利用如下公式(1)计算各个属性的第一权重值:

其中,t表示设备属性数据记录的集合,|t|表示t集合所包含的设备属性数据记录的条数,values(a)表示属性a所有属性值的集合,tv是t集合中属性a的属性值为v时设备属性数据记录的子集,|tv|表示属性a的属性值为v时,tv集合所包含设备属性数据记录的条数,s(t)表示t的熵,s(tv)表示tv的熵;

其中,c表示t集合中属性类别的个数,pi表示t集合中第i个属性类别的设备属性数据记录占t集合中总的设备属性数据记录的比例;

其中,cv表示属性a的属性值为v时,tv集合中属性类别的个数,pvi表示属性a的属性值为v时,tv集合中第i个属性类别的设备属性数据记录占tv集合中总的设备属性数据记录的比例。

a7.根据a3-a5任一项所述的方法,其特征在于,所述根据多条设备属性数据记录,利用权重模型算法计算各个属性的第一权重值进一步包括:

对多条设备属性数据记录进行分析,得到第一样本和第二样本,其中,所述第一样本为同一设备在不同时刻的设备属性数据记录,所述第二样本为不同设备的设备属性数据记录;

利用初始的属性相似度算法计算同一设备的属性相似度和不同设备之间的属性相似度;

计算同一设备的属性相似度和不同设备之间的属性相似度的平均值作为各个属性的属性相似度;

将各个属性的属性相似度输入到权重模型中,得到各个属性的第一权重值,其中,所述权重模型是根据大量样本设备的属性相似度和属性对应的权重值进行训练得到的。

a8.根据a7所述的方法,其特征在于,在获取新的设备的属性信息之前,所述方法还包括:

更改属性相似度算法,利用更改后的属性相似度算法重新计算同一设备的属性相似度和不同设备之间的属性相似度;

计算重新计算后同一设备的属性相似度和不同设备之间的属性相似度的平均值作为各个属性的属性相似度;

将各个属性的属性相似度作为匹配输入项输入至权重模型中,得到各个属性的第二权重值;

根据所述各个属性的第二权重值计算同一设备的第三设备相似度和不同设备之间的第四设备相似度;

判断所述同一设备的第三设备相似度和不同设备之间的第四设备相似度是否满足第二预设条件;

若是,则将属性的权重赋值为第二权重值,并确定各个属性的属性相似度算法。

a9.根据a8所述的方法,其特征在于,所述第二预设条件具体为:同一设备的第三设备相似度大于同一设备的第一设备相似度,且不同设备之间的第四设备相似度小于不同设备之间的第二设备相似度。

a10.根据a1-a9任一项所述的方法,其特征在于,所述根据待确认设备的属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度进一步包括:

确定待确认设备参与各设备相似度计算的属性信息,以及属性对应的权重;

根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度。

a11.根据a10所述的方法,其特征在于,所述根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度进一步包括:

根据属性对应的属性值和属性相似度算法计算属性相似度;

利用如下公式(2)计算该待确认设备与设备库中各个设备的设备相似度:

其中,sd表示设备相似度,表示第i个属性类别的属性相似度,wi表示第i个属性类别对应的属性的权重,n表示参与设备相似度计算的属性类别的个数。

a12.根据a1-a11任一项所述的方法,其特征在于,在根据多条设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值之前,所述方法还包括:

对多条设备属性数据记录进行预处理,得到预处理后的设备属性数据记录;

所述根据多条设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值进一步包括:

根据预处理后的设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值。

a13.根据a12所述的方法,其特征在于,所述对多条设备属性数据记录进行预处理进一步包括:删除属性信息的数量小于预设阈值的设备属性数据记录。

a14.根据a12或a13所述的方法,其特征在于,所述对多条设备属性数据记录进行预处理进一步包括:

将多条设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;

若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

a15.根据a1-a14任一项所述的方法,其特征在于,所述属性信息包括:硬件属性信息、软件属性信息和/或行为属性信息;

其中,硬件属性信息包括以下信息中的一种或多种:mac地址、品牌、型号、imei、序列号;

软件属性信息包括以下信息中的一种或多种:os类型、系统设置、网络设置、协议指纹、浏览器属性、地理位置;

行为属性信息包括以下信息中的一种或多种:访问频次、访问时间、操作轨迹。

a16.根据a1-a15任一项所述的方法,其特征在于,所述操作系统类型包括:ios操作系统、android操作系统、windows操作系统和/或windowsphone操作系统。

b17.一种依据相似度确定设备指纹的装置,其特征在于,所述装置包括:

提取模块,用于提取设备指纹库中属于同一操作系统类型的多条设备属性数据记录,每条设备属性数据记录由设备指纹和设备指纹对应的多个属性信息组成,其中,每个属性信息由属性和属性对应的属性值组成;

第一计算模块,用于根据多条设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值;

第一判断模块,用于判断计算得到的各个属性的第一权重值是否符合第一预设条件;

第一赋值模块,用于若各个属性的第一权重值符合第一预设条件,则将属性的权重赋值为第一权重值;

获取模块,用于获取待确认设备的属性信息;

第二计算模块,用于根据待确认设备的属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度;

第二判断模块,用于判断各个设备相似度是否大于或等于预设阈值;

第二赋值模块,用于若存在至少一个设备相似度大于或等于预设阈值,则将大于或等于预设阈值的至少一个设备相似度中的设备相似度最高的设备的设备指纹赋值给该待确认设备。

b18.根据b17所述的装置,其特征在于,所述装置还包括:第三计算模块,用于若各个相似度均小于预设阈值,则依据待确认设备的属性信息计算设备指纹,并赋值给该待确认设备。

b19.根据b17或b18所述的装置,其特征在于,所述第一判断模块进一步用于:对多条设备属性数据记录进行分析,得到第一样本和第二样本,其中,所述第一样本为同一设备在不同时刻的设备属性数据记录,所述第二样本为不同设备的设备属性数据记录;

根据第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度;

判断所述同一设备的第一设备相似度和不同设备之间的第二设备相似度是否满足第一预设条件;

第一赋值模块进一步用于:若所述同一设备的第一设备相似度和不同设备之间的第二设备相似度满足第一预设条件,则将属性的权重赋值为第一权重值。

b20.根据b19所述的装置,其特征在于,所述第一判断模块进一步用于:根据第一权重值对属性信息进行筛选,得到第一权重值大于或等于预设权重值的属性信息;

根据筛选后的属性信息中属性对应的第一权重值计算同一设备的第一设备相似度和不同设备之间的第二设备相似度。

b21.根据b19或b20所述的装置,其特征在于,所述第一预设条件具体为:同一设备的第一设备相似度大于同一设备的初始设备相似度,且不同设备之间的第二设备相似度小于不同设备之间的初始设备相似度;

其中,同一设备的初始设备相似度和不同设备之间的初始设备相似度根据属性的初始权重值计算。

b22.根据b19-b21任一项所述的装置,其特征在于,所述第一计算模块进一步用于:

根据多条设备属性数据记录,利用如下公式(1)计算各个属性的第一权重值:

其中,t表示设备属性数据记录的集合,|t|表示t集合所包含的设备属性数据记录的条数,values(a)表示属性a所有属性值的集合,tv是t集合中属性a的属性值为v时设备属性数据记录的子集,|tv|表示属性a的属性值为v时,tv集合所包含设备属性数据记录的条数,s(t)表示t的熵,s(tv)表示tv的熵;

其中,c表示t集合中属性类别的个数,pi表示t集合中第i个属性类别的设备属性数据记录占t集合中总的设备属性数据记录的比例;

其中,cv表示属性a的属性值为v时,tv集合中属性类别的个数,pvi表示属性a的属性值为v时,tv集合中第i个属性类别的设备属性数据记录占tv集合中总的设备属性数据记录的比例。

b23.根据b19-b21任一项所述的装置,其特征在于,所述第一计算模块进一步用于:对多条设备属性数据记录进行分析,得到第一样本和第二样本,其中,所述第一样本为同一设备在不同时刻的设备属性数据记录,所述第二样本为不同设备的设备属性数据记录;

利用初始的属性相似度算法计算同一设备的属性相似度和不同设备之间的属性相似度;

计算同一设备的属性相似度和不同设备之间的属性相似度的平均值作为各个属性的属性相似度;

将各个属性的属性相似度输入到权重模型中,得到各个属性的第一权重值,其中,所述权重模型是根据大量样本设备的属性相似度和属性对应的权重值进行训练得到的。

b24.根据b23所述的装置,其特征在于,所述装置还包括:

更改模块,用于更改属性相似度算法;

第四计算模块,用于利用更改后的属性相似度算法重新计算同一设备的属性相似度和不同设备之间的属性相似度;

第五计算模块,用于计算重新计算后同一设备的属性相似度和不同设备之间的属性相似度的平均值作为各个属性的属性相似度;

输入模块,用于将各个属性的属性相似度作为匹配输入项输入至权重模型中,得到各个属性的第二权重值;

第六计算模块,用于根据所述各个属性的第二权重值计算同一设备的第三设备相似度和不同设备之间的第四设备相似度;

第三判断模块,用于判断所述同一设备的第三设备相似度和不同设备之间的第四设备相似度是否满足第二预设条件;

第一赋值模块进一步用于:若所述同一设备的第三设备相似度和不同设备之间的第四设备相似度满足第二预设条件,则将属性的权重赋值为第二权重值;

确定模块,用于若所述同一设备的第三设备相似度和不同设备之间的第四设备相似度满足第二预设条件,则确定各个属性的属性相似度算法。

b25.根据b24所述的装置,其特征在于,所述第二预设条件具体为:同一设备的第三设备相似度大于同一设备的第一设备相似度,且不同设备之间的第四设备相似度小于不同设备之间的第二设备相似度。

b26.根据b17-b25任一项所述的装置,其特征在于,所述第二计算模块进一步用于:确定待确认设备参与各设备相似度计算的属性信息,以及属性对应的权重;

根据所确定的待确认设备参与各设备相似度计算的属性信息中属性对应的权重、属性对应的属性值和属性相似度算法计算该待确认设备与设备库中各个设备的设备相似度。

b27.根据b26所述的装置,其特征在于,所述第二计算模块进一步用于:根据属性对应的属性值和属性相似度算法计算属性相似度;

利用如下公式(2)计算该待确认设备与设备库中各个设备的设备相似度:

其中,sd表示设备相似度,表示第i个属性类别的属性相似度,wi表示第i个属性类别对应的属性的权重,n表示参与设备相似度计算的属性类别的个数。

b28.根据b17-b27任一项所述的装置,其特征在于,所述装置还包括:预处理模块,用于对多条设备属性数据记录进行预处理,得到预处理后的设备属性数据记录;

所述第一计算模块进一步用于:根据预处理后的设备属性数据记录,利用特征权重计算算法或权重模型算法计算各个属性的第一权重值。

b29.根据b28所述的装置,其特征在于,所述预处理模块进一步用于:删除属性信息的数量小于预设阈值的设备属性数据记录。

b30.根据b28或b29所述的装置,其特征在于,所述预处理模块进一步用于:将多条设备属性数据记录对应的设备指纹分别与黑名单中的设备指纹进行匹配;

若匹配,则删除与黑名单中的设备指纹匹配的设备属性数据记录。

b31.根据b17-b30任一项所述的装置,其特征在于,所述属性信息包括:硬件属性信息、软件属性信息和/或行为属性信息;

其中,硬件属性信息包括以下信息中的一种或多种:mac地址、品牌、型号、imei、序列号;

软件属性信息包括以下信息中的一种或多种:os类型、系统设置、网络设置、协议指纹、浏览器属性、地理位置;

行为属性信息包括以下信息中的一种或多种:访问频次、访问时间、操作轨迹。

b32.根据b17-b31任一项所述的装置,其特征在于,所述操作系统类型包括:ios操作系统、android操作系统、windows操作系统和/或windowsphone操作系统。

c33.一种服务器,其特征在于,所述服务器包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如a1-a16中任一项所述的依据相似度确定设备指纹的方法对应的操作。

d34.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行如a1-a16中任一项所述的依据相似度确定设备指纹的方法对应的操作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1