当前位置: 首页 > 专利查询>中南大学专利>正文

一种基于缓存的位置隐私保护方法技术

技术编号:18445044 阅读:21 留言:0更新日期:2018-07-14 10:25
本发明专利技术提供了一种基于缓存的位置隐私保护方法,根据移动用户当前位置缓存不久的将来使用可能性很高的信息点数据,客户端首先检索本地缓存来解决用户查询,缓存未命中再发送查询给LBS服务器,加快查询处理速率,同时减少客户端与服务器的通信频率,增强了用户隐私保护;本发明专利技术还提供了一种适用于缓存的距离层次树索引结构和最远距离置换算法,能够有效提高缓存检索速率,以及增加缓存命中率。而且该方法实现过程简单、易操作。

A method of location privacy protection based on caching

The invention provides a location privacy protection method based on caching. According to the information point data which is highly likely to be used in the near future of mobile users' current location caching, the client first retrieves the local cache to solve the user query, and the cache fails to send the query to the LBS service device, and speeds up the query processing rate. Reducing the communication frequency between the client and the server enhances the privacy protection of the user. The invention also provides a distance hierarchy tree index structure and the maximum distance replacement algorithm for caching, which can effectively improve the cache retrieval rate and increase the cache hit rate. Moreover, the method is simple and easy to operate.

【技术实现步骤摘要】
一种基于缓存的位置隐私保护方法
本专利技术属于计算机科学与
,特别涉及一种基于缓存的位置隐私保护方法。
技术介绍
随着移动通信技术的飞速发展和智能手机、平板电脑等移动便携设备的广泛普及,用户可以随时随地获取各种各样的服务。当前的智能手机都具备GPS功能,可以快速精准地识别自身位置及其所在地附近大范围的位置信息,由此基于位置的服务(Location-BasedService,LBS)应运而生并引起广泛关注。用户可以使用LBS获取附近的兴趣点的信息,如查找最近的餐厅、车站等。然而在享受LBS带来的便利的同时,用户的隐私也面临着泄露的风险。这是因为用户需要向不可信的LBS服务器发起查询以获取LBS数据,而查询消息包含用户的个人信息,如当前位置和查询偏好等,根据这些信息,LBS服务器可以推断出用户的隐私信息,如工作和家庭地址、生活习性等。同时LBS服务器还可能将用户个人信息泄露给第三方攻击者,造成严重的安全隐患。为解决LBS中移动用户的隐私安全问题,国内外学者已提出许多隐私保护方法,如著名的K匿名方法等。其中,利用缓存保护用户隐私也是一种可行且有效的解决方案,客户端缓存先前的查询结果以回复将来可能的查询,可以减少发送至LBS服务器的查询数量,从而降低隐私泄露的风险。由于移动智能设备的发展趋向轻量化,其存储空间有限,加之频繁地断开连接和客户端固有的移动性可能导致缓存失效问题,因此移动智能设备必须置换缓存数据以提高缓存命中率。然而,现有的工作多是研究位置匿名化的位置隐私保护方法,或者研究如何量化缓存与隐私之间的关联关系,很少有学者考虑LBS环境下的缓存维护方法来增强隐私保护,而这少部分关于缓存维护方法的研究也是基于传统的内存页面置换算法(如LRU算法),没有考虑到位置数据的空间属性,因此对提高缓存命中率的效果并不显著。在LBS环境下,当用户持有智能设备从一个位置移动到另一个位置时,某个查询的缓存结果可能会失效,因此位置数据的空间属性是引起缓存数据出现问题的主要因素。
技术实现思路
本专利技术针对用户享受位置相关服务的应用场景,设计一种距离层次树索引结构,利用它构建客户端缓存数据的索引,该索引结构能够有效提高缓存数据的检索速率和缓存命中率。客户端首先使用缓存数据解决用户的查询请求,降低与服务器的通信频率,由此提高查询处理效率,保证用户的位置隐私安全。1.一种基于缓存的位置隐私保护方法,包括以下步骤:步骤1:客户端使用一种距离层次树索引结构创建本地缓存的所有POI对象的索引;所述客户端是用户移动智能设备上安装的位置服务相关的应用程序;所述本地缓存是智能设备上的一块容量有限的存储空间,客户端可以在其上存储POI对象数据;所述POI对象是信息点数据,POI是信息点,每个POI对象包含该信息点的名称、经纬度信息和地址描述等,用户发送位置相关查询就是请求这些信息点数据;所述客户端使用一种距离层次树索引结构创建本地缓存POI对象的索引,距离层次树是在R-tree数据结构的基础上,将POI对象与客户端之间的距离纳入考虑而设计出的一种适用于LBS环境的POI对象索引结构。距离层次树有三层结构,对应三种节点:根节点Root,非叶子节点non-Leaf,叶子节点Leaf。每个Leaf节点存储一个POI对象,位置相邻的Leaf节点聚集为一个父节点non-Leaf,non-Leaf节点不存储POI对象,只存储指向其孩子节点Leaf的指针。所有non-Leaf节点最后聚集为一个根节点root,root节点拥有指向所有non-Leaf节点的指针。距离层次索引树的每层节点是按照距离用户位置的远近顺序由近到远构建,也就是每个父亲节点的左边孩子节点距离用户较近,右边孩子节点距离用户较远;步骤2:用户通过只能设备定位功能获取当前所在位置信息,然后使用客户端发送空间查询请求Query;所述空间查询请求是LBS服务环境中典型的两种查询请求,K最近邻查询和范围查询,K最近邻查询是查询距离用户位置最近的K个某类型的POI对象,范围查询是查询某个位置范围内的所有某类型POI对象;步骤3:客户端根据用户的空间查询请求,使用距离层次树索引检索本地缓存中的POI对象,找出满足用户请求的POI对象Oi,放入结果集合Result={…Oi},然后将结果集合中的POI对象呈现给用户,至此查询处理结束;如果本地缓存中没有满足用户请求的POI对象,则进入步骤4;步骤4:客户端使用匿名算法创建一个范围明确的区域作为匿名区域,将用户的真实位置隐藏在匿名区域内;所述匿名区域是一个矩形区域,代表地图上的一个地理区域,用户所在位置是匿名区域内的某个位置;所述匿名算法是客户端根据用户设置的隐私等级决定匿名区域的四个定点的位置;步骤5:客户端将用户查询请求Query封装为新查询请求Querynew,将步骤4中的匿名区域作为Querynew的查询区域,然后发送Querynew给LBS服务器;所述新查询请求Querynew是在用户原始查询请求Query的基础上扩大了查询区域,目的是隐藏用户的真实位置,同时向LBS服务器获取更多POI对象数据;所述LBS服务器是位置服务供应商提供的服务器,用来向用户提供位置相关服务;步骤6:LBS服务器接收客户端查询请求Querynew,查询POI数据库获取满足Querynew的POI对象Oj,将这些满足要求的POI对象加入候选结果集合Resultcndt={…Oj},然后LBS服务器Resultcndt返回给客户端;所述POI数据库是LBS服务器内部的数据库,存储了该服务器覆盖区域内几乎所有的POI对象,LBS服务器利用POI数据库响应用户的位置相关查询请求;所述候选结果集合Resultcndt是查询请求Resultcndt的查询结果,集合的每个元素Oj代表一个满足Querynew要求的POI对象,候选结果集合是用户将来发出的查询可能会使用的POI对象集合;步骤7:客户端接收LBS服务器返回的候选结果集合Resultcndt,根据用户查询请求,从候选结果集Resultcndt筛选出精确结果集合Result;所述筛选精确结果集合包括以下几个步骤:步骤A:从候选结果集合Resultcndt中顺序选择一个POI对象Oj,判断Oj的访问标识是否为true,如果访问标识为true,则进入步骤C;如果访问标识为false,则进入步骤B;步骤B:首先将Oj的访问标识设置为true,然后判断Oj是否满足用户查询请求Query,如果满足,则将Oj添加到精确结果集合Result={…Oj};反之,则进入步骤C;步骤C:判断Oj是否为候选结果集合Resultcndt的最后一个元素,如果是,则筛选结束,得到精确结果集合Result;反之,则返回步骤A;步骤8:客户端将步骤7中得到的精确结果集合Result中的POI对象数据展示给用户;步骤9:客户端更新本地缓存,将候选结果集Resultcndt中的POI对象存入本地缓存,以备将来使用;步骤9.1:客户端从候选结果集合Resultcndt中顺序选择一个POI对象Oj;步骤9.2:遍历本地缓存的距离层次树索引,判断本地缓存中是否已经存储有该POI对象Oj;如果存在,则使用Resultcndt中的Oj替换本地缓存原有的POI对象,进本文档来自技高网
...

【技术保护点】
1.一种基于缓存的位置隐私保护方法,其特征在于,包括以下几个步骤:步骤1:客户端使用一种距离层次树索引结构创建本地缓存的所有POI对象的索引;所述客户端是用户移动智能设备上安装的位置服务相关的应用程序;所述本地缓存是智能设备上的一块容量有限的存储空间,客户端可以在其上存储POI对象数据;所述POI对象是信息点数据,POI是信息点,每个POI对象包含该信息点的名称、经纬度信息和地址描述等,用户发送位置相关查询就是请求这些信息点数据;所述客户端使用一种距离层次树索引结构创建本地缓存POI对象的索引,距离层次树是在R‑tree数据结构的基础上,将POI对象与客户端之间的距离纳入考虑而设计出的一种适用于LBS环境的POI对象索引结构。距离层次树有三层结构,对应三种节点:根节点Root,非叶子节点non‑Leaf,叶子节点Leaf。每个Leaf节点存储一个POI对象,位置相邻的Leaf节点聚集为一个父节点non‑Leaf,non‑Leaf节点不存储POI对象,只存储指向其孩子节点Leaf的指针。所有non‑Leaf节点最后聚集为一个根节点root,root节点拥有指向所有non‑Leaf节点的指针。距离层次索引树的每层节点是按照距离用户位置的远近顺序由近到远构建,也就是每个父亲节点的左边孩子节点距离用户较近,右边孩子节点距离用户较远;步骤2:用户通过只能设备定位功能获取当前所在位置信息,然后使用客户端发送空间查询请求Query;所述空间查询请求是LBS服务环境中典型的两种查询请求,K最近邻查询和范围查询,K最近邻查询是查询距离用户位置最近的K个某类型的POI对象,范围查询是查询某个位置范围内的所有某类型POI对象;步骤3:客户端根据用户的空间查询请求,使用距离层次树索引检索本地缓存中的POI对象,找出满足用户请求的POI对象Oi,放入结果集合Result={…Oi},然后将结果集合中的POI对象呈现给用户,至此查询处理结束;如果本地缓存中没有满足用户请求的POI对象,则进入步骤4;步骤4:客户端使用匿名算法创建一个范围明确的区域作为匿名区域,将用户的真实位置隐藏在匿名区域内;所述匿名区域是一个矩形区域,代表地图上的一个地理区域,用户所在位置是匿名区域内的某个位置;所述匿名算法是客户端根据用户设置的隐私等级决定匿名区域的四个定点的位置;步骤5:客户端将用户查询请求Query封装为新查询请求Querynew,将步骤4中的匿名区域作为Querynew的查询区域,然后发送Querynew给LBS服务器;所述新查询请求Querynew是在用户原始查询请求Query的基础上扩大了查询区域,目的是隐藏用户的真实位置,同时向LBS服务器获取更多POI对象数据;所述LBS服务器是位置服务供应商提供的服务器,用来向用户提供位置相关服务;步骤6:LBS服务器接收客户端查询请求Querynew,查询POI数据库获取满足Querynew的POI对象Oj,将这些满足要求的POI对象加入候选结果集合Resultcndt={…Oj},然后LBS服务器Resultcndt返回给客户端;所述POI数据库是LBS服务器内部的数据库,存储了该服务器覆盖区域内几乎所有的POI对象,LBS服务器利用POI数据库响应用户的位置相关查询请求;所述候选结果集合Resultcndt是查询请求Resultcndt的查询结果,集合的每个元素Oj代表一个满足Querynew要求的POI对象,候选结果集合是用户将来发出的查询可能会使用的POI对象集合;步骤7:客户端接收LBS服务器返回的候选结果集合Resultcndt,根据用户查询请求,从候选结果集Resultcndt筛选出精确结果集合Result;步骤8:客户端将步骤7中得到的精确结果集合Result中的POI对象数据展示给用户;步骤9:客户端更新本地缓存,将候选结果集Resultcndt中的POI对象存入本地缓存,以备将来使用;步骤9.1:客户端从候选结果集合Resultcndt中顺序选择一个POI对象Oj;步骤9.2:遍历本地缓存的距离层次树索引,判断本地缓存中是否已经存储有该POI对象Oj;如果存在,则使用Resultcndt中的Oj替换本地缓存原有的POI对象,进入步骤9.5;如果不存在,则进入步骤9.3;步骤9.3:判断本地缓存的可用空间是否足够存储新的POI对象Oj,如果空间足够,则将新POI对象存储到本地缓存;如果空间不足,则使用最远置换算法释放缓存空间,然后存入新POI对象;步骤9.4:更新本地缓存的距离层次树索引,将新POI对象的索引节点插入距离层次树;步骤9.5:判断Oj是否为候选结果集合Resultcndt的最后一个元素;如果是,则更新结束;反之,则返回步骤9.1。...

【技术特征摘要】
1.一种基于缓存的位置隐私保护方法,其特征在于,包括以下几个步骤:步骤1:客户端使用一种距离层次树索引结构创建本地缓存的所有POI对象的索引;所述客户端是用户移动智能设备上安装的位置服务相关的应用程序;所述本地缓存是智能设备上的一块容量有限的存储空间,客户端可以在其上存储POI对象数据;所述POI对象是信息点数据,POI是信息点,每个POI对象包含该信息点的名称、经纬度信息和地址描述等,用户发送位置相关查询就是请求这些信息点数据;所述客户端使用一种距离层次树索引结构创建本地缓存POI对象的索引,距离层次树是在R-tree数据结构的基础上,将POI对象与客户端之间的距离纳入考虑而设计出的一种适用于LBS环境的POI对象索引结构。距离层次树有三层结构,对应三种节点:根节点Root,非叶子节点non-Leaf,叶子节点Leaf。每个Leaf节点存储一个POI对象,位置相邻的Leaf节点聚集为一个父节点non-Leaf,non-Leaf节点不存储POI对象,只存储指向其孩子节点Leaf的指针。所有non-Leaf节点最后聚集为一个根节点root,root节点拥有指向所有non-Leaf节点的指针。距离层次索引树的每层节点是按照距离用户位置的远近顺序由近到远构建,也就是每个父亲节点的左边孩子节点距离用户较近,右边孩子节点距离用户较远;步骤2:用户通过只能设备定位功能获取当前所在位置信息,然后使用客户端发送空间查询请求Query;所述空间查询请求是LBS服务环境中典型的两种查询请求,K最近邻查询和范围查询,K最近邻查询是查询距离用户位置最近的K个某类型的POI对象,范围查询是查询某个位置范围内的所有某类型POI对象;步骤3:客户端根据用户的空间查询请求,使用距离层次树索引检索本地缓存中的POI对象,找出满足用户请求的POI对象Oi,放入结果集合Result={…Oi},然后将结果集合中的POI对象呈现给用户,至此查询处理结束;如果本地缓存中没有满足用户请求的POI对象,则进入步骤4;步骤4:客户端使用匿名算法创建一个范围明确的区域作为匿名区域,将用户的真实位置隐藏在匿名区域内;所述匿名区域是一个矩形区域,代表地图上的一个地理区域,用户所在位置是匿名区域内的某个位置;所述匿名算法是客户端根据用户设置的隐私等级决定匿名区域的四个定点的位置;步骤5:客户端将用户查询请求Query封装为新查询请求Querynew,将步骤4中的匿名区域作为Querynew的查询区域,然后发送Querynew给LBS服务器;所述新查询请求Querynew是在用户原始查询请求Query的基础上扩大了查询区域,目的是隐藏用户的真实位置,同时向LBS服务器获取更多POI对象数据;所述LBS服务器是位置服务供应商提供的服务器,用来向用户提供位置相关服务;步骤6:LBS服务器接收客户端查询请求Querynew,查询POI数据库获取满足Querynew的POI对象Oj,将这些满足要求的POI对象加入候选结果集合Resultcndt={…Oj...

【专利技术属性】
技术研发人员:王国军张雪艳
申请(专利权)人:中南大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1