一种基于无线ap的近邻检测方法

文档序号:9381313阅读:257来源:国知局
一种基于无线ap的近邻检测方法【
技术领域
】[0001]本发明涉及一种基于无线AP的近邻检测方法,适用于社交网络,在保护用户位置隐私的前提下,为用户找出附近的邻居。【
背景技术
】[0002]哈希表(Hashtable,也叫散列表),是根据关键码值(Key—value)而直接进行访问的一种数据结构。也就是说,它通过把关键码值映射到表中的一个位置来访问记录。在不需比较的情况下便可直接取得所查记录,以加快查找的速度。这个映射函数称为哈希函数。构造哈希函数常用的方法有:1)直接定址法;2)数字分析法;3)平方取中法;4)折叠法;5)除留取余法;6)随机数法。此外,不同的关键字可能映射得到同一散列地址,这种现象称为碰撞。因此,还需要有处理碰撞的方法,处理冲突常用的方法有:1)开放定址法;2)再哈希法;3)链地址法;4)建立一个公共溢出区。[0003]随着网络技术以及社交网络的迅速发展,以Facebook、Twitter为代表的SNS网站发展非常迅猛,用户数量也以惊人的速度增长。在这种趋势下,社交网络中的近邻检测已成为一种基本的服务。传统的近邻检测方法需要向服务器上传用户自身的地理位置信息,以便找出与该位置邻近的其他用户,并将结果返回给用户。该传统方法向服务器泄露了用户的位置信息,将会危害到用户的隐私。[0004]现如今,计算机网络的发展及移动3G/4G通信的升级,使得WIFI通信技术也得到了极大的普及与应用。随着WIFI热点(无线AP)数量的与日倶增,人们在大部分城市地区都可搜索到众多无线AP的信号。当用户搜索无线AP时,每个AP信号里包含有SSID和BSSID这两项信息。SSID指的是服务集标识,就是我们搜索到的AP的名字,BSSID指的是AP的MAC地址。不同的AP可以有相同的SSID,但每一个AP的MAC地址是固定的,不同的AP对应的MAC地址都不一样。所以准确的说,一个AP可以由一个MAC地址来唯一的标识。【
发明内容】[0005]本发明的目的是提供一种基于无线AP的近邻检测方法,解决传统的近邻检测方法会泄露用户的位置信息,将会危害到用户隐私的问题。[0006]本发明采用以下技术方案实现:一种基于无线AP的近邻检测方法,其特征在于:包括以下步骤:步骤S1:查询用户首先搜索附近无线AP,并将搜索到的AP的MAC地址列表作为AP列表;步骤S2:将AP列表连同查询请求发送给服务器;步骤S3:所述服务器通过搜索其他用户提交的AP列表,查找与查询用户的AP列表存在交集的其他用户;步骤S4:将搜索结果集作为查询结果返回给查询用户。[0007]在本发明一实施例中,步骤S2中查询用户将AP列表连同查询请求发送给服务器后,服务器提取所有用户的AP列表,并以所有列表里的MAC地址作为关键字来建立一张哈希表;哈希表里的每项作为一个树的存储结构,树的父节点是每个AP的MAC地址,树的子节点是有搜索到该AP的用户名。[0008]在本发明一实施例中,所述步骤S3包括以下步骤:步骤S31:服务器将所有AP列表采用哈希表的方式存储后,遍历所有AP列表里每项的MAC地址项,将MAC地址作为哈希函数的关键字来查找哈希表;;步骤S32:若对应哈希表里已存在该MAC地址,就将该MAC地址下的用户集写入当前查找用户的邻居列表里,若该MAC地址下的用户集中不存在当前用户,则将当前查找的用户添加到用户集中;步骤S33:若对应哈希表里不存在该MAC地址,则在所述哈希表里插入该MAC地址项,同时将用户添加到该MAC地址项下的用户集中。[0009]在本发明一实施例中,在所述哈希表中,AP项下的用户集都设有一个生存时间值TTL,超过TTL的用户将从哈希表中删除。[0010]与现有技术相比,本发明提出的近邻检测方法,无需用户提交位置信息,能保障用户的位置隐私安全,在社交网络应用场景中具有很大的实用价值。【附图说明】[0011]图1是基于无线AP的近邻检测方法原理图;图2是AP列表存储结构。【具体实施方式】[0012]下面结合附图和【具体实施方式】对本发明做进一步说明。[0013]本发明提出一种基于无线AP的近邻检测方法,如图1所示,查询用户首先搜索附近无线AP,并将搜索到的AP的MAC地址列表(即AP列表),连同查询请求发送给服务器;月艮务器通过搜索其他用户提交的AP列表,查找与查询用户的AP列表存在交集的其他用户,并将搜索结果集作为查询结果返回给查询用户。[0014]在本实例中,社交网络中的移动用户除了可以搜索到自身接入的AP信号以外,也可搜索到附近其他AP发出的信号。用户发送查找附近邻居请求的同时,也发送自己搜索到的一个由各个AP的MAC地址组成的列表给服务器,用户将搜索到的AP列表以及查询请求发送给服务器后,服务器提取所有用户消息里的各个AP列表,并以所有列表里的MAC地址作为关键字来建立一张哈希表。建立哈希表的这一动作只有在服务器首次接收用户请求,以及服务器内部没有任何AP列表的时候执行。如图2所示,哈希表里的每项是一个树的存储结构。父节点是每个AP的MAC地址,子节点是有搜索到该AP的用户。树结构是动态的,当有新的用户搜索到一个已存在于哈希表中的AP,服务器将在对应AP的树结构中添加新的子节点。当有新的AP出现时,服务器对应的在哈希表中插入新的AP项。每个AP树下的子节点就是互为邻居的用户。[0015]服务器将所有AP列表采用哈希表的方式存储之后,对于每个用户发送过来的AP列表,遍历表里每项的MAC地址项,将其作为哈希函数的关键字来查找哈希表;假如对应哈希表里已存在该MAC地址,就将该MAC地址下的用户集写入当前查找用户的邻居列表里,若该MAC地址下不存在当前用户,则添加当前查找的用户;如果对应哈希表里不存在该MAC地址,就在哈希表里插入该MAC地址项,同时将用户添加到该MAC地址项里。[0016]—个用户A搜索过一个AP,则用户A将存在于这个AP树中的子节点。当有另一个用户B也搜索到相同的AP时,这用户A、B即为邻居。假设一直保留用户A搜索过AP的记录,即用户A—直是AP树的子节点,那么当有其他用户搜索到与用户A曾经搜索过的同样的AP时,用户A—直是其他用户的邻居。这明显不合理且存在安全漏洞。因此,在本发明中,每个子节点的用户都设置有一个生存时间值TTL,只有在这个时间内的用户为有效用户,当TTL减为零的时候,服务器将从树中删除该用户对应的子节点。[0017]本领域技术人员可以在不违背本发明的原理和实质的前提下对本具体实施例做出各种修改或补充或者采用类似的方式替代,但是这些改动均落入本发明的保护范围。因此本发明技术范围不局限于上述实施例。【主权项】1.一种基于无线AP的近邻检测方法,其特征在于:包括以下步骤:步骤S1:查询用户首先搜索附近无线AP,并将搜索到的AP的MAC地址列表作为AP列表;步骤S2:将AP列表连同查询请求发送给服务器;步骤S3:所述服务器通过搜索其他用户提交的AP列表,查找与查询用户的AP列表存在交集的其他用户;步骤S4:将搜索结果集作为查询结果返回给查询用户。2.根据权利要求1所述的基于无线AP的近邻检测方法,其特征在于:步骤S2中查询用户将AP列表连同查询请求发送给服务器后,服务器提取所有用户的AP列表,并以所有列表里的MAC地址作为关键字来建立一张哈希表;哈希表里的每项作为一个树的存储结构,树的父节点是每个AP的MAC地址,树的子节点是有搜索到该AP的用户名。3.根据权利要求1所述的基于无线AP的近邻检测方法,其特征在于:所述步骤S3包括以下步骤:步骤S31:服务器将所有AP列表采用哈希表的方式存储后,遍历所有AP列表里每项的MAC地址项,将MAC地址作为哈希函数的关键字来查找哈希表;步骤S32:若对应哈希表里已存在该MAC地址,就将该MAC地址下的用户集写入当前查找用户的邻居列表里,若该MAC地址下的用户集中不存在当前用户,则将当前查找的用户添加到用户集中;步骤S33:若对应哈希表里不存在该MAC地址,则在所述哈希表里插入该MAC地址项,同时将用户添加到该MAC地址项下的用户集中。4.根据权利要求2所述的基于无线AP的近邻检测方法,其特征在于:在所述哈希表中,每个AP项下的用户集都设有一个生存时间值TTL,超过TTL的用户将从哈希表中删除。【专利摘要】本发明的目的是提供一种基于无线AP的近邻检测方法,其特征在于:包括以下步骤:步骤S1:查询用户首先搜索附近无线AP,并将搜索到的AP的MAC地址列表作为AP列表;步骤S2:将AP列表连同查询请求发送给服务器;步骤S3:所述服务器通过搜索其他用户提交的AP列表,查找与查询用户的AP列表存在交集的其他用户;步骤S4:将搜索结果集作为查询结果返回给查询用户。解决传统的近邻检测方法会泄露用户的位置信息,将会危害到用户隐私的问题。本发明提出的近邻检测方法,无需用户提交位置信息,能保障用户的位置隐私安全,因此,在社交网络应用场景中具有很大的实用价值。【IPC分类】H04W48/16,H04W8/00【公开号】CN105101149【申请号】CN201510448606【发明人】叶阿勇,陈秋玲【申请人】福建师范大学【公开日】2015年11月25日【申请日】2015年7月28日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1