首页 / 专利库 / 人工智能 / 剪枝 / 基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法

基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法

阅读:812发布:2020-05-11

专利汇可以提供基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法,包括以下步骤: 服务器 端对目标对象所在平面进行Voronoi多边形划分,并利用Hilbert曲线进行划分编码,构建映射Hilbert单元格编码和Voronoi多边形的B+树索引;用户通过客户端向服务器提交自身 位置 p的Hilbert曲线编码值H(p)进行k近邻查询;服务器端在索引树上查找H(p)对应的Voronoi多边形C,生成C的最小外接矩形R;服务器端查找R的k‑1近邻Voronoi多边形,并将这些Voronoi多边形对应的Hilbert曲线编码值组成候选查询结果集合CaS,返回客户端;用户对CaS中的Hilbert曲线编码值进行解码,筛选出最近邻目标对象。实现保护位置隐私的k近邻查询。,下面是基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法专利的具体信息内容。

1.一种基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法,其特征在于,所述查询方法如下,
步骤(1)存储有2-维位置坐标集T的服务器对T所在平面S进行voronoi多边形划分,以集合T中所有POI点为对象构建S的Voronoi图;再设置Hilbert曲线参数N即Hilbert曲线阶数和曲线填充起点Q(x0,y0),利用Hilbert曲线对S进行填充编码,T集合中坐标点的Hilbert编码值为其所在的Hilbert单元区间的中心点的Hilbert值;构建关于Voronoi多边形与Hilbert曲线编码即阶数为N映射关系的索引树HilVOR(T);
步骤(2)用户在客户端输入其当前真实位置坐标p;客户端利用与服务器端相同的Hilbert曲线函数对p进行编码,采用与服务器端相同的Hilbert曲线填充起点Q(x0,y0)和曲线阶数N,计算得到编码值H(p),并向服务器发起关于将H(p)的k近邻查询请求
步骤(3)服务器端在索引树HilVOR(T)上查找H(p)所在的叶子节点leaf,leaf中存储的泰森多边形即为H(p)所在的主voronoi多边形C,计算C的最小外接矩形R;
步骤(4)设置剪枝距离阈值d,初始值为0;查找矩形R的所有k-1近邻Voronoi多边形,即那些中心点与C的中心点的距离跳数不超过k-1的Voronoi多边形,对k-1近邻Voronoi多边形C’,计算C’的中心距离矩形R顶点的最远距离dmax(C,C’),若dmax(C,C’)>d,则替换剪枝距离当前值,即d=dmax(C,C’);否则,C’对应POI的Hilbert曲线编码加入候选集CaS;
步骤(5)服务器端将查询结果CaS,返回查询客户端;
步骤(6)客户端对返回的集合CaS中的Hilbert曲线编码值根据参数Q(x0,y0)和N进行解码,获取Hilbert编码值所对应二维点的坐标P(x,y),根据自身位置p,从CaS中查找与p欧氏距离最小的K个近邻位置坐标,即目标查询结果;
所述步骤(1)中构建关于Voronoi多边形与Hilbert曲线编码(阶数为N)映射关系的索引树HilVOR(T),具体如下,
索引树生成方法如下:
①生成空B+树bptree;
②按Hilbert曲线编码值递增的顺序,对每个编码值hi执行步骤③和④;
③查询Hilbert曲线编码值hi对应位置的最近邻Voronoi多边形的中心点q;
④如果hi对应的Voronoi多边形与上一个Hilbert曲线编码值hi-1的最近邻Voronoi多边形不同,则将hi,q即hi为key,q为value作为叶节点插入到bptree中。
2.根据权利要求1所述的Voronoi多边形与Hilbert曲线编码的隐私保护查询方法,其特征在于,所述2-维位置坐标集T为服务器数据空间S中所有数据对象的集合;真实位置p位于数据空间S中;H(p)的主Voronoi多边形C指H(p)对应的Hilbert单元格位于C中;两个位置点间的距离跳数指连接两点的直线段跨越的Voronoi多边形的个数。

说明书全文

基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法

技术领域

[0001] 本发明涉及一种查询方法,具体涉及一种基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法,属于数据查询技术领域。

背景技术

[0002] 近年来,基于位置信息的服务在计算机应用领域得到了广泛的应用,例如GPS导航、空间信息查询等。这类应用多数基于k近邻查询,其模式为服务提供方在服务器上存储所有用户感兴趣对象的信息(包括位置信息),用户配置能够获取用户所在地点位置信息(2维经纬度坐标)的设备(例如GPS终端),通过向服务提供方发送用户当前位置,服务器方返回距用户当前位置最近的k个对象的相关信息。这种模式要求用户必须向服务提供方发送其真实位置信息,随着用户对个体隐私数据的日益关注,出现了用户在不泄漏自身位置信息情况下获得k近邻查询服务的应用需求,保护位置隐私的k近邻查询成为数据库与信息安全研究的一个热点。用户不泄漏自身位置信息主要表现在两方面:(1)用户无需向服务提供方发送其真实位置信息;(2)攻击者(不可信方)能够推测出的用户可能位置的可能性满足用户关于保护自己位置隐私的要求。
[0003] 已有的一些技术和方法多数采用依赖可信第三方(在线或离线模式)辅助实现保护位置隐私的k近邻查询,例如:cloaking技术:用户将真实位置及对最小逆推区域面积的要求发送到可信第三方,可信第三方为每个用户生成包含其位置的矩形区域,并将矩形发送到服务器方,服务器方返回到矩形内点的所有可能k近邻,可信第三方筛选出真实结果,返回客户端;基于数据变换技术往往依赖于离线第三方将数据和查询转变到一个新的数据空间以保护用户的位置隐私信息。基于位置梗阻的方法,无需可信第三方参与,采用客户端发送假位置,服务器不断发送到假位置的近邻点供客户端检测,直到客户端找到满足用户要求的k个近邻对象为止,但该方法存在查询迭代过程不可控问题,与多数隐私保护查询方法一样,存在查询处理效率低的问题。
[0004] 在保护用户位置隐私查询研究领域,为了保护查询者位置隐私不泄露,需要对查询者的准确位置进行模糊化处理,通过服务器和查询客户端的特殊处理与交互机制,实现位置隐私和查询结果准确性的兼顾,这种兼顾往往以查询性能的损失为代价。因此,提升查询性能是保护位置隐私查询需要解决的重要问题。
[0005] Voronoi图为查询k近邻提供了一种快速的方式,每个Voronoi多边形区域内所有点的最近邻POI就是其Voronoi多边形的中心点,根据Voronoi多边形的邻接多边形可以很快地查找到某个POI的K近邻Voronoi多边形,在服务器端构建Voronoi多边形的索引可以有效提高服务器端查询目标对象K近邻的效率。

发明内容

[0006] 本发明正是针对现有技术中存在的技术问题,提供一种基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法,
[0007] 为了实现上述目的,本发明的技术方案如下,一种基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法,其特征在于,所述查询方法如下,
[0008] (1)存储有2-维位置坐标集T的服务器对T所在平面S进行voronoi多边形划分,以T集合中所有POI点为对象构建S的Voronoi图;再设置Hilbert曲线参数N(Hilbert曲线阶数)和曲线填充起点Q(x0,y0),利用Hilbert曲线对S进行填充编码,T集合中坐标点的Hilbert编码值为其所在的Hilbert单元区间的中心点的Hilbert值;构建关于Voronoi多边形与Hilbert曲线编码(阶数为N)映射关系的索引树HilVOR(T);
[0009] (2)用户在客户端输入其当前真实位置坐标p;客户端利用与服务器端相同的Hilbert曲线函数对p进行编码,采用与服务器端相同的Hilbert曲线填充起点Q(x0,y0)和编码阶数N,计算得到编码值H(p),并向服务器发起关于将H(p)的k近邻查询请求
[0010] (3)服务器端在索引树HilVOR(T)上查找H(p)所在的叶子节点leaf,leaf中存储的泰森多边形即为H(p)所在的主voronoi多边形C,计算C的最小外接矩形R;
[0011] (4)设置剪枝距离阈值d,初始值为0;查找矩形R的所有k-1近邻Voronoi多边形,即那些中心点与C的中心点的距离跳数不超过k-1的Voronoi多边形,对k-1近邻Voronoi多边形C’,计算C’的中心距离矩形R顶点的最远距离dmax(C,C’),若dmax(C,C’)>d,则替换剪枝距离当前值,即d=dmax(C,C’);否则,C’对应POI的Hilbert曲线编码加入候选集CaS;
[0012] (5)服务器端将查询结果CaS,返回查询客户端;
[0013] (6)客户端对返回的集合CaS中的Hilbert曲线编码值根据参数Q(x0,y0)和N进行解码,获取Hilbert编码值所对应二维点的坐标P(x,y),根据自身位置p,从CaS中查找与p的欧氏距离最小的K个近邻位置坐标,即目标查询结果。
[0014] 作为本发明的一种改进,所述步骤(1)中构建关于Voronoi多边形与Hilbert曲线编码(阶数为N)映射关系的索引树HilVOR(T),具体如下,
[0015] 索引树生成方法如下:
[0016] ①生成空B+树bptree;
[0017] ②按Hilbert曲线编码值递增的顺序,对每个编码值hi执行步骤③和④;
[0018] ③查询Hilbert曲线编码值hi对应位置的最近邻Voronoi多边形的中心点q;
[0019] ④如果hi对应的Voronoi多边形与上一个Hilbert曲线编码值hi-1的最近邻Voronoi多边形不同,则将(hi,q)(hi为key,q为value)作为叶节点插入到bptree中。
[0020] 作为本发明的一种改进,所述2-维位置坐标集T为服务器数据空间S中所有数据对象的集合;真实位置p位于数据空间S中;H(p)的主Voronoi多边形C指H(p)对应的Hilbert单元格位于C中;两个位置点间的距离跳数指连接两点的直线段跨越的Voronoi多边形的个数。
[0021] 相对于现有技术,本发明具有如下优点,(1)该技术方案提供一种高效的基于Voronoi多边形与Hilbert曲线编码的隐私保护查询方法,该方法不仅高效而且很好的保护了隐私信息,提高了工作效率,由于HILVOR(T)索引树可以离线构建,其构造时间可以不计入查询过程的整体时间消耗,服务器端查询k近邻的时间消耗主要分摊在HilVOR(T)索引树的搜索和k近邻候选集的查找,经分析验证,本方法查询速度相对较快,而且由于客服端和服务器端传输的内容均为Hilbert编码值,相对于其他方法而言降低了通信量。附图说明
[0022] 图1为本发明系统框架图;
[0023] 图2为本发明系统处理流程图
[0024] 图3为本发明客户端处理流程图;
[0025] 图4为本发明服务器端处理流程图;
[0026] 图5为本发明实施实例中服务器端2-维数据集所在平面区域Voronoi多边形划分,及其Hilbert曲线编码示意图;
[0027] 图6为本发明实施实例的HilVOR索引树示意图。具体实施方式:
[0028] 为了加深对本发明的理解,下面结合附图对本实施例做详细的说明。
[0029] 实施例1:图1基于位置的信息服务主要依赖于用户的真实位置p和查询对象的位置,某个位置的经纬度通常采用2维坐标即可表示。
[0030] 本发明的服务器存储了W个数据对象的位置信息,这W个数据对象构成2-维数据集T;S为包含这W个数据对象和用户真实位置p的2维区域,即用户真实位置p为数据空间S中的数据点,d表示2-维数据空间S中两点间的欧几里德距离。
[0031] 系统框架参见图1,其中客户端(用户使用)内嵌与服务器进行无线通信的设备,服务器存储所有数据对象信息,并可以对数据对象进行查询检索,并且客户端也可以对数据对象进行查询检索。
[0032] 参见图2~图6,本实施例中,服务器端POI个数为16(位置的横纵坐标值域为[0,1]),Hilbert曲线阶数设置为2,由Hilbert曲线c产生16个编码值。服务器端构造的Voronoi多边形划分及Hilbert曲线如图5所示。
[0033] (1)根据Hilbert值与Voronoi多边形之间的映射关系所建立的HilVOR索引B+树(B+树秩为3)如图6所示,Hilbert值所对应二维坐标点所在的Voronoi多边形即为Hilbert值所映射的Voronoi多边形,索引树的中间节点存储子树Hilbert值的边界值,叶子节点存储Hilbert值及其映射的Voronoi多边形。
[0034] (2)客户端发起查询请求,用户的位置坐标为p(0.2,0.6),其以(0.125,0.125)为曲线填充起点的2阶Hilbert编码H(p)=4,向服务器端发起H(p)=4和k=3的近邻查询请求;
[0035] (3)服务器端根据用户发送的Hilbert值4,在HilVOR索引树中查找其所在的Voronoi多边形(对象P5所在的Voronoi多边形),将P5的Hilbert编码值H(P5)添加到候选结果集S中;
[0036] (4)服务器端继续查找P5所在Voronoi多边形的2(即k-1)近邻Voronoi多边形,并将中心点的Hilbert编码值添加到候选结果集S,与P5的距离在两跳以内的Voronoi多边形的中心点为{P1,P2,P3,P4,P6,P7,P8,P9,P10,P15},最后结果S={H(P5),H(P1),H(P2),H(P3),H(P4),H(P6),H(P7),H(P8),H(P9),H(P10),H(P15)};
[0037] (5)服务器端将S返回客户端;
[0038] (6)客户端对候选结果集S进行Hilbert解码(参数:曲线填充起点(0.125,0.125),阶数N=2),获得S中Hilbert值对应的二维坐标,计算查找距离P最近的3个位置坐标,确定P的3-近邻为{P3,P5,P6}
[0039] 以下对本发明服务器端的k近邻查询效率进行分析。
[0040] 有如下结论:
[0041] 1.任意平面位置坐标p的Hilbert编码值对应的主Voronoi多边形有且只有一个(不考虑边界上的坐标点)。
[0042] 证明:Hilbert曲线的阶为N,转换后的空间维数为2,则H(p)∈[0,22N-1]。由于Hilbert曲线编码在[0,22N-1]上是连续且单调的,所以H(p)是唯一的。又由于Voronoi多边形划分覆盖了整个平面区域S,则必定存在某个Voronoi截断Hilbert曲线得到的编码区间包含点p的编码。因此点p的主Voronoi多边形是必然存在的。由Voronoi多边形划分性质可知,对给定平面进行Voronoi多边形划分后,生成的各个Voronoi多边形互不相交,可以推出p的主Voronoi多边形有且只有一个。
[0043] 2.服务器端生成查询用户k近邻候选结果集的时间复杂度为
[0044] 证明:服务器端在查询最近邻的过程中仅需对HilVOR索引检索一次,确定主Voronoi多边形及其最小外接矩形R,查询B+树索引的时间复杂度为O(N),N为Hilbert曲线函数的阶数;随后,查找R的k-1近邻Voronoi多边形过程,采用二分查找法递归搜索,时间代价为 其中M为候选Voronoi多边形数,W为服务器端查询对象的总数;在R的每个方向计算Voronoi多边形中心与R顶点、边距离的时间消耗为8M。因此,总的时间复杂度为考虑M与 属于同一数量级,故服务器端生成查询用户k近邻候选结果集的时间复杂度为
[0045] 需要说明的是上述实施例,并非用来限定本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本发明权利要求所保护的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈