首页> 中国专利> 基于LSH的面向多维数据的安全范围查询方法及系统

基于LSH的面向多维数据的安全范围查询方法及系统

摘要

本发明涉及一种基于LSH的面向多维数据的安全范围查询方法,包括:对原始位置数据集进行预处理,得到预设数据集;获取输入指令并进行处理,得到输入指令对应的查询指令;通过所述查询指令和所述预设数据集,获取查询数据集;对所述查询数据集进行处理,得到查询结果。本实施例通过对原始数据集进行等面积处理或者进行向量处理,同时利用秘钥三元组对处理后的数据集进行加密,并利用多次范围查询获取其交集的方法,使得查询结果更加准确,且有效的防止了用户的隐私泄漏,保证数据安全。

著录项

  • 公开/公告号CN109446436A

    专利类型发明专利

  • 公开/公告日2019-03-08

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201811095417.5

  • 发明设计人 彭延国;王龙;崔江涛;吕桢;吴瑾;

    申请日2018-09-19

  • 分类号

  • 代理机构西安嘉思特知识产权代理事务所(普通合伙);

  • 代理人张捷

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2024-02-19 07:15:54

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-03

    授权

    授权

  • 2019-04-02

    实质审查的生效 IPC(主分类):G06F16/9537 申请日:20180919

    实质审查的生效

  • 2019-03-08

    公开

    公开

说明书

技术领域

本发明属于数据处理领域,具体涉及一种基于LSH的面向多维数据的安全范围查询方法及系统。

背景技术

位置敏感哈希(Locality Sensitive Hashing,简称LSH)作为近似相似性查询目前最有效的技术,获得了广泛的研究和应用。因此,其被广泛应用于许多场景,例如基于内容的图像检索、音频检索、视频拷贝检测以及DNA序列相似性比对等。LSH是一种概率方法,采用过滤-验证的框架(Filter-and-Refine Framework)。在过滤阶段,LSH利用哈希技术把非相似、不可能成为结果的数据对象过滤掉,过滤之后的数据对象作为候选集(CandidateSet),使得相似的数据对象以很高的概率留存在候选集合中,进而在候选集合上进行实际的距离或者相似性度量计算。由于在过滤阶段非相似的数据对象大部分被过滤掉,候选集合的大小远小于原始数据集,因而极大地缩短了查询计算时间,提高了效率。

目前,互联网和物联网的融合是学术界和工业界的普遍趋势。大量地理数据(GPS目标信息,城市中的兴趣点等)正在不间断地在互联网和物联网之间收集,传输,存储和利用。地理数据的蓬勃发展对私有数据中心构成严峻挑战,并促使他们将大量地理数据转包给公共云平台,同时降低投资和维护成本。然而,不可预测的网络入侵和每小时有害的网络攻击已经严重制约了目前的范围查询方法,同时,使用户的隐私以及数据的安全受到严重的损害。

发明内容

为了解决现有技术中存在的上述问题,本发明提供了一种基于LSH的面向多维数据的安全范围查询方法及系统。本发明要解决的技术问题通过以下技术方案实现:

本发明实施例提供了一种基于LSH的面向多维数据的安全范围查询方法,包括:

对原始位置数据集进行预处理,得到预设数据集;

获取输入指令并进行处理,得到输入指令对应的查询指令;

通过所述查询指令和所述预设数据集,获取查询数据集;

对所述查询数据集进行处理,得到查询结果。

在本发明的一个实施例中,对原始位置数据集进行预处理,得到预设数据集,包括:

获取所述原始位置数据集中的峰值坐标;

通过所述峰值坐标对所述原始位置数据集进行处理,得到预处理数据集;

对所述预处理数据集进行加密处理,得到所述预设数据集。

在本发明的一个实施例中,通过所述峰值坐标对所述原始位置数据集进行处理,得到预处理数据集,包括:

将所述原始位置数据集与所述峰值坐标相除,得到单位矩形数据集;

将所述单位矩形数据集进行等面积划分并旋转,获取得到等面积数据集;其中,每一个等面积区域对应一个散列值;

通过贪心合并算法对所述等面积数据集进行处理,得到第一合并数据集;

通过添加假点对所述第一合并数据集进行处理,得到预处理数据集。

在本发明的一个实施例中,通过所述峰值坐标对所述原始位置数据集进行处理,得到预处理数据集,还包括:

获取参考向量;

通过所述峰值坐标值和所述参考向量对所述原始位置数据集进行处理,获取所述原始位置数据集对应的散列值数据集;

将所述散列值数据集进行合并,第二合并数据集;

通过添加假点对所述第二合并数据集进行处理,得到预处理数据集。

在本发明的一个实施例中,获取输入指令并进行处理,得到输入指令对应的查询指令,包括:

获取所述输入指令的边际范围;

根据所述边际范围获取查询坐标点,所述查询坐标点为两个;其中,

若所述边际范围为矩形,则所述查询坐标点为所述矩形左下角和右上角对应的坐标点;

若所述边际范围为圆形,则所述查询坐标点为所述圆形左边和右边对应的坐标点。

在本发明的一个实施例中,通过所述查询指令和所述预设数据集,获取查询数据集,包括:

获取所述查询坐标点在所述预设数据集中对应的两个散列值;

通过所述两个散列值获取多个区域数据集;其中,所述区域数据集为在所述预设数据集中两个散列值之间区域的数据集,

对每个区域数据集进行数据去重处理,得到查询数据集。

在本发明的一个实施例中,在通过所述查询指令和所述预设数据集,获取查询数据集之后,还包括:

对所述预设数据集进行数据更新。

在本发明的一个实施例中,对所述查询数据集进行处理,得到查询结果,包括:

获取所述查询数据集中两个所述区域数据集的交集;

利用所述交集替换两个所述区域数据集;

遍历查询数据集,重复上述操作,得到查询结果。

在本发明的一个实施例中,在对原始位置数据集进行预处理,得到预设数据集之后,还包括:

对所述预设数据集进行添加或删除。

本发明的另一个实施例还提供了一种基于LSH的面向多维数据的安全范围查询系统,包括:输入设备和查询设备;其中,

所述输入设备用于采集输入指令,并将所述输入指令输入至所述查询设备;

所述查询设备包括输入指令处理模块、原始位置数据集处理模块、加密模块、查询模块、和显示模块;其中,

所述输入指令处理模块用于获取并处理所述输入指令,得到所述输入指令对应的查询指令;

实时原始位置数据集处理模块用于对原始位置数据集进行处理,得到预处理数据集并进行存储;

所述加密模块用于对所述预处理数据集进行加密,得到预设数据集;

所述查询模块用于通过所述查询指令在所述预设数据集中进行查询并获取查询结果;

所述原始位置数据集处理模块还用于对所述预设数据集进行添加或删除;

所述显示模块用于输出显示所述查询结果。

与现有技术相比,本发明的有益效果:

本发明实施例通过对原始数据集进行等面积处理或者进行向量处理,同时利用秘钥三元组对处理后的数据集进行加密,并利用多次范围查询获取其交集的方法,使得查询结果更加准确,且有效的防止了用户的隐私泄漏,保证数据安全。

附图说明

图1为本发明提供的一种基于LSH的面向多维数据的安全范围查询方法的流程示意图;

图2位本发明提供的一种基于LSH的面向多维数据的安全范围查询系统的结构示意图。

具体实施方式

下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。

实施例一

请参见图1,图1为本发明提供的一种基于LSH的面向多维数据的安全范围查询方法的流程示意图;图2位本发明提供的一种基于LSH的面向多维数据的安全范围查询系统的结构示意图。

如图1所示,一种基于LSH的面向多维数据的安全范围查询方法,包括:

对原始位置数据集进行预处理,得到预设数据集;

获取输入指令并进行处理,得到输入指令对应的查询指令;

通过所述查询指令和所述预设数据集,获取查询数据集;

对所述查询数据集进行处理,得到查询结果。

进一步地,对原始位置数据集进行预处理,得到预设数据集,包括

获取所述原始位置数据集中的峰值坐标;

具体地,原始位置数据集为现有的已公开的位置数据集。原始位置数据集中包括多个位置点信息数据,位置点信息数据包含该位置点的ID以及该位置点在地理信息中的横纵坐标。

获取原始位置数据集中的峰值坐标,具体为:遍历原始位置数据集,分找出该数据集中横纵坐标的最大值,将其作为峰值坐标,其中峰值坐标的横纵坐标都为该最大值,并将其记为maxCoornidate。

通过所述峰值坐标对所述原始位置数据集进行处理,得到预处理数据集;

进一步地,通过所述峰值坐标对所述原始位置数据集进行处理,得到预处理数据集,可以为:

将所述原始位置数据集与所述峰值坐标相除,得到单位矩形数据集;

具体地,将原始位置数据集中的所有位置点信息数据的横纵坐标分别除以maxCoornidate的横纵坐标,获取每个位置点信息数据对应的新坐标,使原始数据集中的所有位置点信息数据的分布在[(0,0),(0,1),(1,0),(1,1)]四个坐标点组成的矩形范围内,从而获得单位矩形数据集。

将所述单位矩形数据集进行等面积划分并旋转,获取得到等面积数据集;其中,每一个等面积区域对应一个散列值;

具体地,确定一个参数L,根据所述参数L将所述单位矩形数据集均匀划分为2L个等面积区域,其中,将每一个等面积区域称作Bucket(桶)。然后,确定一个旋转角度α,通过旋转角度α可以确定将单位矩形数据集旋转的角度,其中,α的取值与要进行的旋转次数有关。假设一共要进行n次范围旋转,而当前是第m(m小于等于n)次的旋转,那么(π*(m-1))/(2*n)≤α≤(π*m)/(2*n),旋转角度α通过随机数函数获取。优选地,随机函数就是一些编程语言中自带的伪随机函数。

具体地,生成每一个Bucket的ID,记为BucketID,BucketID是由随机数产生的,并且按照从左往右的顺序依次生成,其中,第n个Bucket对应的散列值为n-1,有2L个Bucket,则散列值的范围为[0,2L-1]。通过计算每一个Bucket所对应的原始位置数据集区域范围,直至全部区域划分完毕。然后遍历原始位置数据集,将落入某一个等面积区域内中的位置点信息数据归入相应的Bucket,并且这些位置点在当前旋转角度下对应的散列值映射到该Bucket所对应的散列值,从而得到等面积数据集。

通过贪心合并算法对所述等面积数据集进行处理,得到第一合并数据集。

具体地,得到等面积数据集之后,遍历该等面积数据集,找出包含最多位置点信息数据的Bucket,并将该Bucket包含的位置点信息数据的数量定为maxnodesOfBuckets。然后根据maxnodesOfBuckets,开始进行贪心合并,从散列值为0的Bucket开始,计算连续的Bucket所包含的位置点信息数据的总和,当一段连续的Bucket所包含的位置点信息数据的数量趋近于但是不超过maxnodesOfBuckets,并且加入下一个Bucket,位置点数量就超过maxnodesOfBuckets时,将这一连续的Bucket归并为一个平均桶,记为EvenBucket;同理,将剩余的Bucket的合并,直至所有Bucket合并完成,得到EvenBucket的集合。然后对该集合中每一个EvenBucket通过随机函数EvenBucketID进行标识。并且将每一个EvenBucket(平均桶)中所包含的全部的Bucket位置点信息数据归入EvenBucket,同时将Bucket所对应的散列值与EvenBucket形成映射关系,即每一个EvenBucket所对应的的散列值集合就是它所包含的Bucket的散列值的集合,该集合即为第一合并数据集。

通过添加假点对所述第一合并数据集进行处理,得到预处理数据集。

具体地,在得到EvenBucket的集合后,对其进行遍历,如果当前EvenBucket中所包含的位置点少于maxnodesOfBuckets,那就添加相应数量的假点,使得EvenBucket中包含的位置点信息数据以及假点的数量之和等于max nodesOfBuckets,其中,添加假点的方式是生成包含无效信息的位置点,这里的无效信息可以自行定义,本实施例中通过定义位置点ID号为负的就是假点,从而得到预处理数据集。

进一步地,通过所述峰值坐标对所述原始位置数据集进行处理,得到预处理数据集,还可以为:

获取参考向量;

通过所述峰值坐标值和所述参考向量对所述原始位置数据集进行处理,获取所述原始位置数据集对应的散列值数据集;

将所述散列值数据集进行合并,第二合并数据集;

通过添加假点对所述第二合并数据集进行处理,得到预处理数据集。

具体地,由(0,0)指向(vector.x,vector.y)创建参考向量,并确定要划分的区域的个数,其中,vector.x和vector.y的取值由随机数生成。如果一共要进行j次范围查询,那么在第k(1≤k≤j)次查询中,生成的向量与x轴之间所成的角度符合[π/(2*j)*(k-1),π/(2*j)*k]之间,则vector.x和vector.y为该区域内生成的随机数。通过公式h(Node)=(Node.x*vector.x+Node.y*vector.y)/w,获取w的取值,其中,Node.x和Node.y为分别为峰值坐标maxCoornidate,h(Node)为最大散列值,其中,每一个散列值称作Bucket(桶),与上述方法形同,生成每一个Bucket的ID,记为BucketID。散列值的取值为要划分的区域的个数减去一(例如要划分1024个区域,则h(Node)取值为1023)。获取w值后,将求得的结果作为当前参考向量的w值保存。

具体地,在获取w值之后,通过公式h(Node)=(Node.x*vector.x+Node.y*vector.y)/w和原始位置数据集中各位置点的坐标可以获取各位置点信息数据对应的散列值,即将原始位置数据集中各位置点的坐标替换(Node.x,Node.y),则可以获取该坐标点的散列值。遍历原始位置数据集,得到每一个位置点所对应的散列值,将相同散列值的位置点归为相同区域,其中,散列值的范围由要划分的区域决定(例如:要划分1024个区域,哈希值的范围就是0~1023),从而得到等值数据集,

具体地,在得到等值数据集之后,对该数据集进行贪心合并算法处理,得到第二合并数据集。其中,贪心合并算法处理具体步骤与上述贪心合并算法处理方法相同,此处不再赘述。

具体地,在得到第二合并数据集之后,对合并数据集中的EvenBucket添加假点,得到预处理数据集。其中,添加假点具体步骤与上述添加假点方法相同,此处不再赘述。

具体地,本实施例对于每一个EvenBucket,生成用于加密的秘钥三元组,记为:KeyGroup。则每一个EvenBucket都有一个与之对应的KeyGroup;其中,KeyGroup中包含secretkey、usingkey和newkey三个秘钥,秘钥的长度可以自行定义,本实施例中秘钥长度统一为120位二进制。

本发明提供了一个哈希函数H,它的输入为任意长度的字符串,输出为160位的二进制字符串。先将位置点信息数据进行加密,本实施例提供了一种数据结构,用来存储位置点信息数据加密后的信息,其中,该数据结构称为SafeNode。数据结构SafeNode包含了位置点信息数据加密后的ID号和坐标值,该ID号通过公式label(ID)=H(secretkey)⊕ID获得,其中,label(ID)为ID号,⊕表示异或操作,H()为哈希函数。坐标值通过datai=pi⊕H(EvenBucketID,secretkey),其中,datai为坐标值,pi为位置点的坐标。然后对EvenBucketID进行加密,由公式label(B)=H(EvenBucketID,secretkey)获得。

将加密后的EvenBucketID与其加密前所对应的散列值形成新的映射关系,将加密后的EvenBucketID与其加密前所包含的位置点进行加密后生成的SafeNode的集合形成新的映射关系。

进一步地,

获取输入指令并进行处理,得到输入指令对应的查询指令,包括:

获取所述输入指令的边际范围;

根据所述边际范围获取查询坐标点,所述查询坐标点为两个;其中,

若所述边际范围为矩形,则所述查询坐标点为所述矩形左下角和右上角对应的坐标点;

若所述边际范围为圆形,则所述查询坐标点为所述圆形左边和右边对应的坐标点。

进一步地,

通过所述查询指令和所述预设数据集,获取查询数据集,包括:

获取所述查询坐标点在所述预设数据集中对应的两个散列值;

通过所述两个散列值获取多个区域数据集;其中,所述区域数据集为在所述预设数据集中两个散列值之间区域的数据集,

对每个区域数据集进行数据去重处理,得到查询数据集。

具体的,确定查询指令要查询的范围是矩形还是圆形,如果是矩形,输入指令是两个坐标点,且这两个坐标点分别对应矩形的左下角位置和右上角位置;如果是圆形,输入指令为一个位置点和一个长度,分别表示圆心的位置和查询半径的长度。

优选地,如果查询范围是矩形,则对两个坐标点进行处理。计算两个坐标点对应的Bucket,然后根据Bucket求出坐标点对应的散列值。两个坐标点对应的两个散列值,这两个散列值为该查询的范围在当前旋转向量下所对应的最小散列值和最大散列值;

优选地,如果查询范围是圆形,则对圆心和半径进行计算。由于已经确定当前旋转向量,则计算当前旋转向量下过圆心的直线与圆所相交的两个点的坐标,即圆行查询范围在当前旋转向量下的边际点。然后计算这两个点所对应的Bucket,求出相应的两个散列值,这两个散列值就是该圆行查询范围在当前旋转向量下所对应的最小散列值和最大散列值。

具体地,在获取例查询范围内最大散列值和最小散列值之后,在预设数据集中获取最小散列值和最大散列值之间的查询区域,获取其中包括的所有散列值,得到区域数据集;并根据上述散列值和加密后的EvenBucketID的映射关系、加密后的EvenBucketID和加密的SafeNode集合的映射关系。获取所有散列值所对应的加密后的EvenBucketID的集合,然后遍历该集合,根据映射关系,找到所有相对应的SafeNode的集合;然后,对得到的SafeNode的集合进行去重,删除其中重复的加密后的位置点。

重复上述查询过程,对预设数据集进行多次范围查询,得到多个区域数据集,则这些区域数据集的合集为查询数据集。

进一步地,在通过所述查询指令和所述预设数据集,获取查询数据集之后,还包括:

对预设数据集进行数据更新。

具体地,对预设数据集进行数据更新,是用来进行数据维护和管理,每当查询过程中涉及到的EvenBucket时,都会对预设数据集进行数据集进行数据更新,具体的操作步骤如下:

步骤11:每一个EvenBucket中的数据集分为两个部分,一个是用secretkey加密的预设数据集,另一个是用usingkey加密的添加数据集,其中,添加数据集,意味着可以支持后续新数据的添加操作,但是新数据添加进来后不会直接加密加入到原本的数据集,而是先加入到添加数据集,等添加数据集达到一定数据规模之后,或者就是在查询时查到该EvenBucket时,再添加到原数据集,然后对添加数据集清空。更新数据集的操作就是将预设数据集和添加数据集合到一起,用一个新的秘钥newkey加密,然后存储到新的据集中。其中,newkey通过随机函数生成,长度为120位。

步骤12:完成查询操作之后,对被查询的EvenBucket进行数据更新。将每一个EvenBucket的标识labelB通过公式labelB=H(EveBucketID,newkey)生成,作为新的桶的加密ID,然后对当前预设数据集和添加数据集分别进行更新操作。

步骤13:对于当前预设数据集,对数据集中的每一个SafeNode,用公式label(ID)’=H(secretkey)⊕H(newKey)生成的标识与SafeNode中的加密ID进行异或操作,并将其异或操作的结果作为当前SafeNode新的加密ID;用公式label(P)’=H(EvenBucketID,secretkey)⊕H(EvenBuckeID,newKey)生成的标识与SafeNode中的加密坐标进行异或操作,并将其异或操作的结果作为当前SafeNode的新的加密坐标。

步骤14:对于添加数据集,对数据集中的每一个SafeNode,用公式label(ID)’=H(usingkey)⊕H(newKey)生成的标识与SafeNode中的加密ID进行异或操作,并将其异或操作的结果作为当前SafeNode新的加密ID;用公式label(P)’=H(,EvenBucketID,usingkey)⊕H(EvenBucketID,newKey)生成的标识与SafeNode中的加密坐标进行异或操作,并将其异或操作的结果作为当前SafeNode的新的加密坐标。

步骤15:将步骤13和步骤14操作之后的数据集进行合并,形成新的预设数据集存储并替换当前预设数据集,然后更新EvenBucket的秘钥组,secretkey由newkey代替,并生成新的usingkey和newkey代替原来的;

步骤16:将之前的映射关系进行更新。

进一步地,对所述查询数据集进行处理,得到查询结果,包括:

获取所述查询数据集中任意两个所述区域数据集的交集;

利用所述交集替换连个所述区域数据集;

遍历查询数据集,重复上述操作,得到查询结果。

具体地,对所述查询数据集进行处理,得到查询结果,包括以下步骤:

步骤21:生成一个全局秘钥globalkey,秘钥长度和上述秘钥组长度一致,为120位二进制;

步骤22:对每一次范围查询对应的区域数据集进行操作,将该数据集中加密位置点所对应的EvenBucketID以及对应区域的加密秘钥进行处理,通过公式labelr(ID)=H(secretkey)⊕H(globalkey)生成labelr(ID),通过公式labelr(P)=H(EvenBucketID,secretey)⊕H(globalkey)生成labelr(P),并分别与每一次的范围查询的区域数据集中的SafeNode的labelID和datai进行异或操作。

步骤23:将处理完的全部区域数据集取交集。首先,获取第一次范围查询的区域数据集,然后将其与第二次范围查询的区域数据集进行比较,将两组数据集中重复出现的数据提取出作为新的数据集,然后将新的数据集与第三次范围查询的区域数据集进行比较,并取其交集,遍历查询数据集,重复上述操作,得到最终交集,则最终交集为查询结果。

步骤24:将加密查询结果用labelr进行解密,得到最终的查询结果。

进一步地,在对原始位置数据集进行预处理,得到预设数据集之后,还包括:

对所述预设数据集进行添加或删除。

具体地,对所述预设数据集进行添加具体为:首先遍历待添加的新数据集,对于遍历所经过的当前的位置点,计算其在当前旋转向量下所对应的EvenBucketID,并找到该EvenBucket下的已添加数据集,如果已添加数据集为空,则新建新的空已添加数据集,供新的数据的添加;

将当前要添加的位置点用usingkey按照本实施例EvenBucket的加密方式进行加密,获取新的SafeNode,添加到所对应的已添加数据集;

然后进行下一个新的位置点的添加,直至全部位置点添加完毕;其中,为了保持每一个EvenBucket中包含一样数量的位置点,在添加数据集中添加假点,添加假点的方式与预设数据集添加假点的方式相同,此处不再赘述;

最后,更新映射关系,将EvenBucketID所对应的数据集合进行更新,得到新的预设数据集。

具体地,对所述预设数据集进行删除具体为:

步骤31:遍历所有的EvenBucket,通过公式labell(ID)=H(secretKey)⊕ID和label2(ID)=H(nsingKey)⊕ID生成要删除的位置点的加密后的ID,并分别在当前预设数据集和添加数据集中查找该点,若当前EvenBucket没找到,遍历继续,在下一EvenBucket中寻找;若找到,转步骤32;

步骤32:在EvenBucket找到要删除的加密位置点SafeNode,创造一个假点(fakenode),并通过公式label(fake)=SafeNode⊕fakenode生成删除标签,其中,label(fake)为删除标签。然后对要删除的位置点进行异或操作,使得要删除的位置点的信息变成假点的信息。同理,将所有要删除的位置点进行上述操作,直至全部要删除的位置点删除完成。

实际上,本实施例的删除操作是通过用假点将要删除的位置点进行替换的操作完成的,使原本有意义的位置信息失效,以此来达到删除操作的。

如图2所示,本发明实施例还提供了一种基于LSH的面向多维数据的安全范围查询系统,包括:输入设备和查询设备;

所述输入设备用于采集输入指令,并将所述输入指令输入至所述查询设备;

所述查询设备用于对原始位置数据集和输入指令进行处理,获取查询结果。

具体地,输入设备可以为常用的外设输入设备,如键盘、话筒等,所述查询设备包括输入指令处理模块、原始位置数据集处理模块、加密模块、查询模块、和显示模块;其中,

输入指令处理模块用于获取并处理输入指令,得到输入指令对应的查询指令,其处理方法与上述实施例的提出的通过输入指令获取查询指令的方法相同,此处不再赘述。

原始位置数据集处理模块用于对原始位置数据集进行处理,得到预处理数据集并进行存储,其处理方法与上述实施例提出的通过对原始位置数据集进行预处理,得到预处理数据集的处理方法相同,此处不再赘述。

加密模块用于对预处理数据集进行加密,得到预设数据集,其处理方法与上述对预处理数据集进行加密的方法相同,此处不再赘述。

查询模块用于通过查询指令在预设数据集中进行查询并获取查询结果,其获取查询结果的方法与上述通过查询指令和预设数据集,获取查询数据集,并通过对查询数据集进行处理,得到查询结果的方法相同,此处不再赘述。

原始位置数据集处理模块还用于对预设数据集进行添加或删除,其添加或删除新数据集的方法与上述添加或删除新数据集的方法相同,此处不再赘述。

显示模块用于输出显示查询结果。

本实施例通过对原始数据集进行等面积处理或者进行向量处理,同时利用秘钥三元组对处理后的数据集进行加密,并利用多次范围查询获取其交集的方法,使得查询结果更加准确,且有效的防止了用户的隐私泄漏,保证数据安全。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号