基于wifi指纹信息的设备识别系统转让专利

申请号 : CN202110575779.X

文献号 : CN113220689B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 段五福方毅章玉珍董霖王杰

申请人 : 每日互动股份有限公司

摘要 :

本发明涉及一种基于wifi指纹信息的设备识别系统,实现步骤S1、以预设的时间窗在第一数据库中获取预设地理区域范围内的M个时间窗内每一设备gid的设备wifi指纹信息;步骤S2、以所述预设时间窗在所述第二数据库中获取所述预设地理区域范围内的对应的M个时间窗内每一设备cid的小程序wifi指纹信息;步骤S3、将和分别转换为对应的TF‑IDF向量和i的取值为1到X,j的取值为1到Y,m的取值为1到M;步骤S4、获取和的向量相似度,基于和的向量相似度确定每一设备cid所对应的设备gid。本发明能够快速准确地从海量数据中识别出小程序的wifi指纹信息对应的设备gid。

权利要求 :

1.一种基于wifi指纹信息的设备识别系统,其特征在于,包括第一数据库、第二数据库、存储有计算机程序的存储器和处理器,其中,所述第一数据库用于存储设备wifi指纹记录,所述设备wifi指纹记录包括设备gid、设备wifi指纹信息和第一地理位置信息字段,其中,所述设备wifi指纹信息是设备gid所连接的wifi mac按照时间顺序排序所产生的wifi mac序列,每一wifi mac对应一个上报时间戳,所述gid是设备的全局唯一标识;

所述第二数据库用于存储小程序wifi指纹记录,所述小程序wifi指纹记录包括设备cid、小程序wifi指纹信息和第二地理位置信息字段,其中,每一cid在所述第二数据库中是唯一的,但不同cid对应的设备为相同的设备或不同的设备,所述小程序wifi指纹信息是指同一设备运行同一小程序所连接的wifi mac按照时间顺序排序所产生的wifi mac序列,每一wifi mac对应一个上报时间戳;

所述处理器执行所述计算机程序实现以下步骤:步骤S1、以预设的时间窗在所述第一数据库中获取预设地理区域范围内的M个时间窗内每一设备gid的设备wifi指纹信息 i=1,2,…X,X为M个时间窗内所涉及的所有设备gid去重后的总数量, 表示第i设备gid在第m时间窗内的设备wifi指纹信息,m的取值为1到M;

步骤S2、以所述预设时间窗在所述第二数据库中获取所述预设地理区域范围内的对应的M个时间窗内每一设备cid的小程序wifi指纹信息 j=1,2,…Y,Y为M个时间窗内所涉及的所有设备cid的总数量, 表示第j设备cid在第m时间窗内的小程序wifi指纹信息,m的取值为1到M;

步骤S3、将 和 分别转换为对应的TF‑IDF向量 和 i的取值为1到X,j的取值为1到Y,m的取值为1到M;

步骤S4、获取 和 的向量相似度,基于 和 的向量相似度确定每一设备cid所对应的设备gid。

2.根据权利要求1所述的系统,其特征在于,所述步骤S3之前还包括:

步骤S100、将 和 中wifi mac的信号强度小于预设信号强度阈值的wifi mac删除;

和/或,

步骤S200、将 和 中wifi mac在预设时间内连接设备数量超过预设连接数量阈值的wifi mac删除。

3.根据权利要求2所述的系统,其特征在于,所述信号强度阈值为‑70dbm。

4.根据权利要求1或2所述的系统,其特征在于,所述步骤S3包括:

步骤S31、获取 和 中出现的每一wifi mac的TF‑IDF值;

步骤S32、构建TF‑IDF向量框架(v1,v2…vN),N表示 和中出现的所有wifi mac去重后的总数;

步骤S33、判断 中是否存在第n个wifi mac,若存在,则将TF‑IDF向量框架(v1,v2…vN)中的vn设置为第n个wifi mac的TF‑IDF值,若不存在,则将TF‑IDF向量框架(v1,v2…vN)中的vn设置为零,n取值为1到N,从而生成 对应的TF‑IDF向量判断 中是否存在第n个wifi mac,若存在,则将TF‑IDF向量框架(v1,v2…vN)中的vn设置为第n个wifi mac的TF‑IDF值,若不存在,则将TF‑IDF向量框架(v1,v2...vN)中的vn设置为零,n取值为1到N,从而生成 对应的TF‑IDF向量

5.根据权利要求4所述的系统,其特征在于,所述步骤S31包括:

步骤S311、基于 和 计算每一wifi mac的TF值:其中,TFn表示第n个wifi mac对应的TF值,TCnZ表示第n个wifi mac在 中出现的数量,TDnZ表示第n个wifi mac在 中出现的数量,TCZ表示中的所有wifi mac的总数量,TDZ表示 中的所有wifi mac的总数量;

步骤S312、基于 和 计算每一wifi mac的IDF值:其中,IDFn表示第n个wifi mac对应的IDF值,SCZ表示 中设备指纹信息的总数量,SDZ表示 中小程序指纹信息的总数量,SCn表示 中出现有第n个wifi mac的设备指纹信息数量,SDn表示 中出现有第n个wifi mac的小程序指纹信息数量;

步骤S313、基于第n个wifi mac对应的TFn和IDFn确定第n个wifi mac对应的TF‑IDF值:TF‑IDFn=TFn×IDFn。

6.根据权利要求5所述的系统,其特征在于,所述步骤S4包括:

步骤S401、获取每一 与所有 的 向量相似度,将相似度最高的 对应的设备gid确定为 对应的cid所对应的设备gid。

7.根据权利要求5所述的系统,其特征在于,所述步骤S4包括:

步骤S411、获取每一 与所有 的 向量相似度,并按相似度从大到小排序,获取预设前R个设备wifi指纹信息的TF‑IDF向量对应的设备gid;

步骤S412、将前R个设备wifi指纹信息的TF‑IDF向量对应的设备gid中占比最高的gid确定为 对应的cid所对应的设备gid。

8.根据权利要求5所述的系统,其特征在于,所述步骤S4包括:

步骤S41、将所有的 进行聚类,将所有的 划分为K类,对应K个分类中心向量(CV1,CV2…CVK),CVk为第k个分类对应的中心向量,k的取值为1到K;

步骤S42、获取 与CVk的向量相似度,k的取值为1到K,确定与 向量相似度最大的目标中心向量CVW,将中心向量CVW对应的类别中的所有设备wifi指纹信息的TF‑IDF向量确定为目标设备wifi指纹信息的TF‑IDF向量集合;

步骤S43、获取 与对应的目标设备wifi指纹信息的TF‑IDF向量集合中每一设备wifi指纹信息的TF‑IDF向量的相似度,并从大到小进行排序,获取预设前R个设备wifi指纹信息的TF‑IDF向量对应的设备gid;

步骤S44、将前R个设备wifi指纹信息的TF‑IDF向量对应的设备gid中占比最高的gid确定为 对应的cid所对应的设备gid。

9.根据权利要求1所述的系统,其特征在于,所述预设时间窗为1周,所述M值为8。

说明书 :

基于wifi指纹信息的设备识别系统

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种基于wifi指纹信息的设备识别系统。

背景技术

[0002] 小程序是指一种基于特定编程语言开发完成,无需下载和安装,就可以使用的应用。小程序的特点是使用便捷,无需手动在操作系统中安装。通常小程序依托于终端中的大
型应用作为载体进行使用。小程序只能识别到活跃行为,获取活跃行为对应的wifi连接信
息,但不能识别出打开小程序的设备id。但随着大数据时代的到来和小程序活跃用户的激
增,小程序所获取到是数据量也是巨大的。如果要对小程序进行进一步开发和分析,是很有
必要基于小程序的海量数据确定使用小程序的设备信息,然后可以基于设备信息对应的特
征参数来分析群体特征等。由此可知,如何识别使用小程序的设备成为亟待解决的技术问
题。

发明内容

[0003] 本发明目的在于,提供一种基于wifi指纹信息的设备识别系统,能够快速准确地从海量数据中识别出小程序的wifi指纹信息对应的设备gid。
[0004] 根据本发明第一方面,提供了一种基于wifi指纹信息的设备识别系统,包括第一数据库、第二数据库、存储有计算机程序的存储器和处理器,其中,
[0005] 所述第一数据库用于存储设备wifi指纹记录,所述设备wifi指纹记录包括设备gid、设备wifi指纹信息和第一地理位置信息字段,其中,所述设备wifi指纹信息是设备gid
所连接的wifi mac按照时间顺序排序所产生的wifi mac序列,每一wifi mac对应一个上报
时间戳,所述gid是设备的全局唯一标识;
[0006] 所述第二数据库用于存储小程序wifi指纹记录,所述小程序wifi指纹记录包括设备cid、小程序wifi指纹信息和第二地理位置信息字段,其中,每一cid在所述第二数据库中
是唯一的,但不同cid对应的设备为相同的设备或不同的设备,所述小程序wifi指纹信息是
指同一设备运行同一小程序所连接的wifi mac按照时间顺序排序所产生的wifi mac序列,
每一wifi mac对应一个上报时间戳;
[0007] 所述处理器执行所述计算机程序实现以下步骤:
[0008] 步骤S1、以预设的时间窗在所述第一数据库中获取预设地理区域范围内的M个时间窗内每一设备gid的设备wifi指纹信息 为M个时间窗
内所涉及的所有设备gid去重后的总数量, 表示第i设备gid在第m时间窗内的设备wifi
指纹信息,m的取值为1到M;
[0009] 步骤S2、以所述预设时间窗在所述第二数据库中获取所述预设地理区域范围内的对应的M个时间窗内每一设备cid的小程序wifi指纹信息
Y为M个时间窗内所涉及的所有设备cid的总数量, 表示第j设备cid在第m时间窗内的小
程序wifi指纹信息,m的取值为1到M;
[0010] 步骤S3、将 和 分别转换为对应的TF‑IDF向量 和 i的取值为1到X,j的取值为1到Y,m的取值为1到M;
[0011] 步骤S4、获取 和 的向量相似度,基于 和 的向量相似度确定每一设备cid所对应的设备gid。
[0012] 本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种名称可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至
少具有下列优点:
[0013] 本发明能够快速准确地从海量数据中识别出小程序的wifi指纹信息对应的设备。
[0014] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够
更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

[0015] 图1为本发明实施例提供的基于wifi指纹信息的设备识别系统示意图。

具体实施方式

[0016] 为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种名称的具体实施方式及其功效,详细说明如
后。
[0017] 本发明实施例提供了一种基于wifi指纹信息的设备识别系统,如图1所示,包括第一数据库、第二数据库、存储有计算机程序的存储器和处理器。其中,所述第一数据库用于
存储设备wifi指纹记录,所述设备wifi指纹记录包括设备gid、设备wifi指纹信息和第一地
理位置信息字段,其中,所述设备wifi指纹信息是设备gid所连接的wifi mac按照时间顺序
排序所产生的wifi mac序列,可以理解的是,设备wifi指纹信息对应的wifi mac序列中同
一wifi mac可能出现一次或多次,每一wifimac对应一个上报时间戳,所述gid是设备的全
局唯一标识,基于设备gid可以确定对应的设备信息。
[0018] 所述第二数据库用于存储小程序wifi指纹记录,所述小程序wifi指纹记录包括设备cid、小程序wifi指纹信息和第二地理位置信息字段,其中,每一cid在所述第二数据库中
是唯一的,但不同cid对应的设备为相同的设备或不同的设备,所述小程序wifi指纹信息是
指同一设备运行同一小程序所连接的wifi mac按照时间顺序排序所产生的wifi mac序列,
可以理解的是,小程序wifi指纹信息对应的wifi mac序列中同一wifi mac也可能出现一次
或多次,每一wifi mac对应一个上报时间戳,需要说明的是,第二数据库中只能够获取到一
个设备上的同一小程序上报的小程序wifi指纹信息,第二数据库中的小程序wifi指纹信息
可以包括一个或多个小程序的wifi指纹信息,每个设备上报一个wifi指纹信息对应一个设
备cid,基于设备cid无法确定真正的设备信息,且多个不同的设备cid可能是同一个设备
的,但现有的数据无法确认,基于此,本申请所述系统可以实现设备cid和设备gid的关联。
具体的,所述处理器执行所述计算机程序实现以下步骤:
[0019] 步骤S1、以预设的时间窗在所述第一数据库中获取预设地理区域范围内的M个时间窗内每一设备gid的设备wifi指纹信息 X为M个时间窗内
所涉及的所有设备gid去重后的总数量, 表示第i设备gid在第m时间窗内的设备wifi指
纹信息,m的取值为1到M;
[0020] 其中,预设时间窗的大小可根据具体的计算资源以及数据处理精确度等参数具体设定。预设时间窗过小可能造成部分数据出现干扰因素的可能性加大,因此,作为示例,所
述预设时间窗可设置为1周,所述M值为8,因此可以获取连续8周内的每一设备gid对应的设
备wifi指纹信息,即每一设备gid每周对应一个wifi mac列表。优选的,第一数据库的设备
gid能够覆盖第二数据库的设备cid所对应的设备gid。
[0021] 步骤S2、以所述预设时间窗在所述第二数据库中获取所述预设地理区域范围内的对应的M个时间窗内每一设备cid的小程序wifi指纹信息
Y为M个时间窗内所涉及的所有设备cid的总数量, 表示第j设备cid在第m时间窗内的小
程序wifi指纹信息,m的取值为1到M;
[0022] 仍以所述预设时间窗可设置为1周,所述M值为8为例,可以获取连续8周内的所有设备cid对应的小程序wifi指纹信息,需要说明的是,由于小程序无法识别设备,只能识别
小程序活跃行为和对应的wifi指纹,因此,8周內获取的是8周的所有设备cid对应的小程序
wifi指纹信息,即虽然多个设备cid可能对应的是同一个设备,但由于小程序无法识别,因
此,得到的仍是不同多个设备cid所对应的小程序wifi指纹信息。
[0023] 步骤S3、将 和 分别转换为对应的TF‑IDF向量 和 i的取值为1到X,j的取值为1到Y,m的取值为1到M;
[0024] 步骤S4、获取 和 的向量相似度,基于 和 的向量相似度确定每一设备cid所对应的设备gid。
[0025] 本发明实施例所述系统能够快速准确地从海量数据中识别出小程序的wifi指纹信息对应的设备gid,实现小程序数据与设备数据的打通。
[0026] 根据本发明,所述系统可以物理实现为一个服务器,也可以实现为包括多个服务器的服务器群组。本领域技术人员知晓,服务器的型号、规格等参数并不影响本发明的保护
范围
[0027] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多
步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作
完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方
法、函数、规程、子例程、子程序等等。
[0028] 由于数据量庞大,为了减少数据噪声的引入,可以进行数据预处理,作为一种示例,所述步骤S3之前还包括:
[0029] 步骤S100、将 和 中wifi mac的信号强度小于预设信号强度阈值的wifi mac删除,作为一种实施例,所述信号强度阈值可设为‑70dbm。
[0030] 和/或,
[0031] 步骤S200、将 和 中wifi mac在预设时间内连接设备数量超过预设连接数量阈值的wifi mac删除。
[0032] 可以理解的是,通过步骤S100可以排除掉信息量较少且易产生干扰的wifi mac,通过步骤S200可以排除掉一些连接特征异常的wifi mac,从而达到去除数据噪声,减少不
必要的计算量,提高数据处理的效率和准确度。
[0033] 作为一种实施例,所述步骤S3可包括:
[0034] 步骤S31、获取 和 中出现的每一wifimac的TF‑IDF值;
[0035] 步骤S32、构建TF‑IDF向量框架(v1,v2…vN),N表示 和中出现的所有wifi mac去重后的总数;
[0036] 步骤S33、判断 中是否存在第n个wifi mac,若存在,则将TF‑IDF向量框架(v1,v2…vN)中的vn设置为第n个wifi mac的TF‑IDF值,若不存在,则将TF‑IDF向量框架(v1,v2…
vN)中的vn设置为零,n取值为1到N,从而生成 对应的TF‑IDF向量
[0037] 判断 中是否存在第n个wifi mac,若存在,则将TF‑IDF向量框架(v1,v2…vN)中的vn设置为第n个wifi mac的TF‑IDF值,若不存在,则将TF‑IDF向量框架(v1,v2…vN)中的vn
设置为零,n取值为1到N,从而生成 对应的TF‑IDF向量
[0038] 作为一种实施例,所述步骤S31具体可包括:
[0039] 步骤S311、基于 和 计算每一wifimac的TF值:
[0040]
[0041] 其中,TFn表示第n个wifi  mac对应的TF值,TCnZ表示第n个wifi  mac在中出现的数量,TDnZ表示第n个wifi mac在 中出现的数
量,TCZ表示 中的所有wifimac的总数量,TDZ表示 中的所有
wifi mac的总数量;
[0042] 步骤S312、基于 和 计算每一wifimac的IDF值:
[0043]
[0044] 其中,IDFn表示第n个wifi mac对应的IDF值,SCZ表示 中设备指纹信息的总数量,SDZ表示 中小程序指纹信息的总数量,SCn表示
中出现有第n个wifi mac的设备指纹信息数量,SDn表示 中
出现有第n个wifi mac的小程序指纹信息数量;
[0045] 步骤S313、基于第n个wifi mac对应的TFn和IDFn确定第n个wifi mac对应的TF‑IDF值:
[0046] TF‑IDFn=TFn×IDFn。
[0047] 作为一种实施例,获取 和 后,所述步骤S4可包括:
[0048] 步骤S401、获取每一 与所有 的向量相似度,将相似度最高的 对应的设备gid确定为 对应的cid所对应的设备gid。
[0049] 为了进一步提高结果的准确性,作为上述实施例的变形,所述步骤S4可包括:
[0050] 步骤S411、获取每一 与所有 的向量相似度,并按相似度从大到小排序,获取预设前R个设备wifi指纹信息的TF‑IDF向量对应的设备gid;
[0051] 步骤S412、将前R个设备wifi指纹信息的TF‑IDF向量对应的设备gid中占比最高的gid确定为 对应的cid所对应的设备gid。
[0052] 上述两种实施例在数量不是特别大时,可以快速准确获取结果,担当数据量特别大时,如果直接计算 与每一 的相似度来确定设备cid对应的设备gid,计算量大,
且获取结果的效率会比较低,此时采用下述实施例来执行,所述步骤S4具体可包括:
[0053] 步骤S41、将所有的 进行聚类,将所有的 划分为K类,对应K个分类中心向量(CV1,CV2…CVK),CVk为第k个分类对应的中心向量,k的取值为1到K;
[0054] 步骤S42、获取 与CVk的向量相似度,k的取值为1到K,确定与 向量相似度最大的目标中心向量CVW,将中心向量CVW对应的类别中的所有设备wifi指纹信息的TF‑
IDF向量确定为目标设备wifi指纹信息的TF‑IDF向量集合;
[0055] 步骤S43、获取 与对应的目标设备wifi指纹信息的TF‑IDF向量集合中每一设备wifi指纹信息的TF‑IDF向量的相似度,并从大到小进行排序,获取预设前R个设备wifi指
纹信息的TF‑IDF向量对应的设备gid;
[0056] 步骤S44、将前R个设备wifi指纹信息的TF‑IDF向量对应的设备gid中占比最高的gid确定为 对应的cid所对应的设备gid。
[0057] 通过先聚类的方式可以将 限缩到一个较小的目标集合范围内再进行向量相似度计算,大大减小了计算量,保证了计算准确度。步骤S41‑步骤S44具体可采用Faiss算法
实现。
[0058] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人
员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰
为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质
对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。