发明内容
本申请的目的在于提供一种利用训练模型实现的获取设备指纹方法及装置。
为实现上述申请目的之一,本申请一实施方式提供了一种利用训练模型实现的获取设备指纹方法,所述方法包括:
选取设备库中N条数据,每条数据由一个设备的多个设备属性的属性值组成;
将所述N条数据中的每一条与所述N条数据逐一比较,且逐一记录两条数据相比较后得到的比较结果,形成结果矩阵,其中,两条数据相比较为相同设备属性之间的属性值比较;
将所述结果矩阵和预设机制代入训练模型,以计算出每个设备属性的权重值,其中,所述预设机制为当两条数据中特定的设备属性的属性值相同时,表示该两条数据对应的设备为同一设备;
根据待查询设备的多个设备属性的属性值与设备库中每一条数据的匹配关系,以及每个设备属性对应的权重值,查找所述待查询设备的设备指纹。
作为本申请一实施方式的进一步改进,所述训练模型为逻辑回归模型。
作为本申请一实施方式的进一步改进,『根据待查询设备的多个设备属性的属性值与设备库中每一条数据的匹配关系,以及每个设备属性对应的权重值,查找所述待查询设备的设备指纹』具体包括:
将待查询设备的多个设备属性的属性值与设备库中每一条数据中相同设备属性的属性值比较,若相同设备属性的属性值相同,则将待查询设备中对应的设备属性标记为x,若相同设备属性的属性值不同,则将待查询设备中对应的设备属性标记为y,最终形成多个比较结果,其中,所述x、y为数字;
将对应每个设备属性的权重值代入,计算待查询设备相对设备库中每一条数据的匹配值,所述匹配值为x*相应设备属性的权重值和y*相应设备属性的权重值的总和;
若有匹配值大于或大于等于预设阈值,则将大于或大于等于预设阈值的匹配值相应的设备库中的设备标识作为所述待查询设备的设备指纹。
作为本申请一实施方式的进一步改进,所述方法还包括:
若所有匹配值小于预设阈值,则将所述待查询设备的设备属性的属性值存储至所述设备库,并分配对应所述待查询设备的设备标识。
作为本申请一实施方式的进一步改进,所述预设机制为当两条数据中至少两个特定的设备属性的属性值相同时,表示该两条数据对应的设备为同一设备。
为实现上述申请目的之一,本申请一实施方式提供了一种利用训练模型实现的获取设备指纹装置,所述装置包括:
采样模块,用于选取设备库中N条数据,,每条数据由一个设备的多个设备属性的属性值组成;
计算模块,用于将所述N条数据中的每一条与所述N条数据逐一比较,且逐一记录两条数据相比较后得到的比较结果,形成结果矩阵,其中,两条数据相比较为相同设备属性之间的属性值比较;
学习模块,用于将所述结果矩阵和预设机制代入训练模型,以计算出每个设备属性的权重值,其中,所述预设机制为当两条数据中特定的设备属性的属性值相同时,表示该两条数据对应的设备为同一设备;
查询模块,用于根据待查询设备的多个设备属性的属性值与设备库中每一条数据的匹配关系,以及每个设备属性对应的权重值,查找所述待查询设备的设备指纹。
作为本申请一实施方式的进一步改进,所述训练模型为逻辑回归模型。
作为本申请一实施方式的进一步改进,所述查询模块用于:
将待查询设备的多个设备属性的属性值与设备库中每一条数据中相同设备属性的属性值比较,若相同设备属性的属性值相同,则将待查询设备中对应的设备属性标记为x,若相同设备属性的属性值不同,则将待查询设备中对应的设备属性标记为y,最终形成多个比较结果,其中,所述x、y为数字;
将对应每个设备属性的权重值代入,计算待查询设备相对设备库中每一条数据的匹配值,所述匹配值为x*相应设备属性的权重值和y*相应设备属性的权重值的总和;
若有匹配值大于或大于等于预设阈值,则将大于或大于等于预设阈值的匹配值相应的设备库中的设备标识作为所述待查询设备的设备指纹。
作为本申请一实施方式的进一步改进,所述查询模块用于:
若所有匹配值小于预设阈值,则将所述待查询设备的设备属性的属性值存储至所述设备库,并分配对应所述待查询设备的设备标识。
作为本申请一实施方式的进一步改进,所述预设机制为当两条数据中至少两个特定的设备属性的属性值相同时,表示该两条数据对应的设备为同一设备。
相对于现有技术,本申请的技术效果在于:本申请通过构造更加合理的匹配模型,大大提高了待查找设备在设备库中的匹配精度。
具体实施方式
以下将结合附图所示的具体实施方式对本申请进行详细描述。但这些实施方式并不限制本申请,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本申请的保护范围内。
如图1所示,在本申请一实施方式中,所述训练模型实现的获取设备指纹方法,包括:
S1、选取设备库中N条数据,每条数据由一个设备的多个设备属性的属性值组成;
S2、将所述N条数据中的每一条与所述N条数据逐一比较,且逐一记录两条数据相比较后得到的比较结果,形成结果矩阵,其中,两条数据相比较为相同设备属性之间的属性值比较;
S3、将所述结果矩阵和预设机制代入训练模型,以计算出每个设备属性的权重值,其中,所述预设机制为当两条数据中特定的设备属性的属性值相同时,表示该两条数据对应的设备为同一设备;
S4、根据待查询设备的多个设备属性的属性值与设备库中每一条数据的匹配关系,以及每个设备属性对应的权重值,查找所述待查询设备的设备指纹。
举例说明,首先,可收集海量设备的设备属性及相应属性值,形成海量条数据,每一条数据可由一个设备的多个设备属性的属性值组成,例如该设备的IMEI值,IMSI值,CPU频率等等,如此,即可通过海量条数据形成设备库。
其次,选取设备库中N条数据,例如1000条,同时,建立预设机制,该预设机制为在设备库中能证明两条数据表示同一个设备的机制,例如,对于无线终端设备而言,若两条数据具有相同的IMEI,则表示这两条数据对应的设备为相同设备。
当然,所述预设机制也可为当两条数据中至少两个特定的设备属性的属性值相同时,表示该两条数据对应的设备为相同设备,如此,可实现更加精确的匹配。例如,对于无线终端设备而言,若两条数据具有相同的的IMEI+IMSI,则表示这两条数据对应的设备为相同设备。
预订机制里的设备属性可根据具体情况进行定义,例如,也可定义两条数据具有相同的cookie值时,表示该两条数据对应的设备为相同设备。
然后,将所述1000条数据中的每一条与所述1000条数据逐一比较,例如,将1000条数据中的第1条数据与这1000条数据中的第1条数据比较,与第2条数据比较,……,直到与第1000条数据比较;然后将这1000条数据中的第2条数据与这1000条里的第1条数据比较,与第2条数据比较,……,直到与第1000条数据比较,并重复上述过程,直到这1000条数据里的第1000条数据也分别与这1000条数据比较。
在本实施例中,上述比较的方法是,两条数据按位进行比较,其中,每条数据的设备属性排列顺序相同,即两条数据按照同样的设备属性比较其属性值,属性值相等则在对应位上记1,否则为0,当然,上述数字可任意替换。
例如,这1000条数据中的第1条数据是[IMEI=00000,IMSI=12345,....,CPU频率=1500MHz],第2条数据是[IMEI=00000,IMSI=23456,……,CPU频率=1300MHz],则两条数据的比较结果为一标签列:[1,0,……,0],以此类推,即可通过1000条数据各自比较后的比较结果形成结果矩阵。
另外,例如第3条数据的IMEI和IMSI分别为00000,34567,第4条数据的IMEI和IMSI分别为00000,34567,如果预设机制是设置为若两条数据具有相同的的IMEI+IMSI,则表示这两条数据对应的设备为相同设备,则可认为这两条数据对应的是同一个设备,对应的比较结果的标签列结果,例如标签列可标记为1,若IMEI和IMSI其中之一不相同,则对应的比较结果的标签列结果,例如标签列可标记为0,当然,上述数字可任意替换。
将上述的结果矩阵和通过预设机制和/或预设机制得到的标签列结果代入逻辑回归模型,对逻辑回归模型进行训练,可得到每个设备属性的权重值。具体训练方式属于本领域技术人员的公知常识,在此不再赘述。
在本实施方式中,『根据待查询设备的多个设备属性的属性值与设备库中每一条数据的匹配关系,以及每个设备属性对应的权重值,查找所述待查询设备的设备指纹』如图2所示,具体包括:
S41、将待查询设备的多个设备属性的属性值与设备库中每一条数据中相同设备属性的属性值比较,若相同设备属性的属性值相同,则将待查询设备中对应的设备属性标记为x,若相同设备属性的属性值不同,则将待查询设备中对应的设备属性标记为y,最终形成多个比较结果,其中,所述x、y为数字;
S42、将对应每个设备属性的权重值代入,计算待查询设备相对设备库中每一条数据的匹配值,所述匹配值为x*相应设备属性的权重值和y*相应设备属性的权重值的总和;
S43、若有匹配值大于或大于等于预设阈值,则将大于或大于等于预设阈值的匹配值相应的设备库中的设备标识作为所述待查询设备的设备指纹;
S44、若所有匹配值小于预设阈值,则将所述待查询设备的设备属性的属性值存储至所述设备库,并分配对应所述待查询设备的设备标识。
举例说明,对待查询设备的匹配,是将待查询设备的多个设备属性的属性值和设备库中每一条数据中相同设备属性的属性值比较,其可按照上述方式,即两条数据按位进行比较,其中,每条数据的设备属性排列顺序相同,即两条数据按照同样的设备属性比较其属性值,属性值相等则在对应位上记x=1,否则为y=0,当然,上述数字可任意替换。
例如,待查询设备的多个设备属性的属性值是[IMEI=00000,IMSI=12345,....,CPU频率=1500MHz],设备库中某条数据是[IMEI=00000,IMSI=23456,……,CPU频率=1300MHz],则两条数据的比较结果为[1,0,……,0],以此类推,即可将待查询设备的多个设备属性的属性值与设备库里所有条数据计算出比较结果。
在得到一个或多个比较结果后,可将上述计算出的权重值代入,计算待查询设备相对设备库中每一条数据的匹配值,例如,以上述两条数据为例的匹配值为1*对应该设备属性的权重值+0*对应该设备属性的权重值+……+0*对应该设备属性的权重值。
若最终匹配值的结果大于或大于等于预设阈值,例如上述匹配值的结果为0.7,而预设阈值为0.5,则可将相应的设备库中的设备标识,例如设备ID作为该待查询设备的设备指纹。
若最终所有的匹配值都小于预设阈值,例如上述匹配值的结果为0.4,而预设阈值为0.5,则认为在设备库中并不存在该待查询设备的设备指纹,此时,则将所述待查询设备的设备属性的属性值存储至所述设备库,并分配对应所述待查询设备的设备标识。
如图3所示,在本申请一实施方式中,所述利用训练模型实现的获取设备指纹装置,包括:
采样模块100,用于选取设备库500中N条数据,每条数据由一个设备的多个设备属性的属性值组成;
计算模块200,用于将所述N条数据中的每一条与所述N条数据逐一比较,且逐一记录两条数据相比较后得到的比较结果,形成结果矩阵,其中,两条数据相比较为相同设备属性之间的属性值比较;
学习模块300,用于将所述结果矩阵和预设机制代入训练模型,以计算出每个设备属性的权重值,其中,所述预设机制为当两条数据中特定的设备属性的属性值相同时,表示该两条数据对应的设备为同一设备;
查询模块400,用于根据待查询设备的多个设备属性的属性值与设备库500中每一条数据的匹配关系,以及每个设备属性对应的权重值,查找所述待查询设备的设备指纹。
举例说明,首先,可收集海量设备的设备属性及相应属性值,形成海量条数据,每一条数据可由一个设备的多个设备属性的属性值组成,例如该设备的IMEI值,IMSI值,CPU频率,操作系统版本号等等,如此,即可通过海量条数据形成设备库500。
其次,选取设备库500中N条数据,例如1000条,同时,建立预设机制,该预设机制为在设备库500中能证明两条数据表示同一个设备的机制,例如,对于无线终端设备而言,若两条数据具有相同的IMEI,则表示这两条数据对应的设备为相同设备。
当然,所述预设机制也可为当两条数据中至少两个特定的设备属性的属性值相同时,表示该两条数据对应的设备为相同设备,如此,可实现更加精确的匹配。例如,对于无线终端设备而言,若两条数据具有相同的的IMEI+IMSI,则表示这两条数据对应的设备为相同设备。
预订机制里的设备属性可根据具体情况进行定义,例如,也可定义两条数据具有相同的cookie值时,表示该两条数据对应的设备为相同设备。
然后,将所述1000条数据中的每一条与所述1000条数据逐一比较,例如,将1000条数据中的第1条数据与这1000条数据中的第1条数据比较,与第2条数据比较,……,直到与第1000条数据比较;然后将这1000条数据中的第2条数据与这1000条里的第1条数据比较,与第2条数据比较,……,直到与第1000条数据比较,并重复上述过程,直到这1000条数据里的第1000条数据也分别与这1000条数据比较。
在本实施例中,上述比较的方法是,两条数据按位进行比较,其中,每条数据的设备属性排列顺序相同,即两条数据按照同样的设备属性比较其属性值,属性值相等则在对应位上记1,否则为0,当然,上述数字可任意替换。
例如,这1000条数据中的第1条数据是[IMEI=00000,IMSI=12345,….,CPU频率=1500MHz],第2条数据是[IMEI=00000,IMSI=23456,……,CPU频率=1300MHz],则两条数据的比较结果为一标签列:[1,0,……,0],以此类推,即可通过1000条数据各自比较后的比较结果形成结果矩阵。
另外,例如第3条数据的IMEI和IMSI分别为00000,34567,第4条数据的IMEI和IMSI分别为00000,34567,如果预设机制是设置为若两条数据具有相同的的IMEI+IMSI,则表示这两条数据对应的设备为相同设备,则可认为这两条数据对应的是同一个设备,对应的比较结果的标签列结果,例如标签列可标记为1,若IMEI和IMSI其中之一不相同,则对应的比较结果的标签列结果,例如标签列可标记为0,当然,上述数字可任意替换。
将上述的结果矩阵和通过预设机制和/或预设机制得到的标签列结果代入逻辑回归模型,对逻辑回归模型进行训练,可得到每个设备属性的权重值。具体训练方式属于本领域技术人员的公知常识,在此不再赘述。
在本实施方式中,所述查询模块400还用于:
将待查询设备的多个设备属性的属性值与设备库500中每一条数据中相同设备属性的属性值比较,若相同设备属性的属性值相同,则将待查询设备中对应的设备属性标记为x,若相同设备属性的属性值不同,则将待查询设备中对应的设备属性标记为y,最终形成多个比较结果,其中,所述x、y为数字;
将对应每个设备属性的权重值代入,计算待查询设备相对设备库500中每一条数据的匹配值,所述匹配值为x*相应设备属性的权重值和y*相应设备属性的权重值的总和;
若有匹配值大于或大于等于预设阈值,则将大于或大于等于预设阈值的匹配值相应的设备库500中的设备标识作为所述待查询设备的设备指纹;
若所有匹配值小于预设阈值,则将所述待查询设备的设备属性的属性值存储至所述设备库500,并分配对应所述待查询设备的设备标识。
举例说明,对待查询设备的匹配,是将待查询设备的多个设备属性的属性值和设备库500中每一条数据中相同设备属性的属性值比较,其可按照上述方式,即两条数据按位进行比较,其中,每条数据的设备属性排列顺序相同,即两条数据按照同样的设备属性比较其属性值,属性值相等则在对应位上记x=1,否则为y=0,当然,上述数字可任意替换。
例如,待查询设备的多个设备属性的属性值是[IMEI=00000,IMSI=12345,....,CPU频率=1500MHz],设备库500中某条数据是[IMEI=00000,IMSI=23456,……,CPU频率=1300MHz],则两条数据的比较结果为[1,0,……,0],以此类推,即可将待查询设备的多个设备属性的属性值与设备库500里所有条数据计算出比较结果。
在得到一个或多个比较结果后,可将上述计算出的权重值代入,计算待查询设备相对设备库500中每一条数据的匹配值,例如,以上述两条数据为例的匹配值为1*对应该设备属性的权重值+0*对应该设备属性的权重值+……+0*对应该设备属性的权重值。
若最终匹配值的结果大于或大于等于预设阈值,例如上述匹配值的结果为0.7,而预设阈值为0.5,则可将相应的设备库500中的设备标识,例如设备ID作为该待查询设备的设备指纹。
若最终所有的匹配值都小于预设阈值,例如上述匹配值的结果为0.4,而预设阈值为0.5,则认为在设备库500中并不存在该待查询设备的设备指纹,此时,则将所述待查询设备的设备属性的属性值存储至所述设备库500,并分配对应所述待查询设备的设备标识。
综上所述,本申请通过构造更加合理的匹配模型,大大提高了待查找设备在设备库中的匹配精度(现有的技术方案下的设备指纹的匹配精度目前只有85%左右,即是设备指纹有15%左右的情况下会匹配出两个或两个以上的设备),增加了安全防护工作的效率和打击的准确性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,装置和模块的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以2个或2个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本申请各个实施方式所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施方式仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施方式对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施方式技术方案的精神和范围。