一种数据查询方法及装置制造方法及图纸

技术编号:20025640 阅读:30 留言:0更新日期:2019-01-06 04:31
本发明专利技术提供了一种数据查询方法及装置,其中,所述数据查询方法包括:获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量,分别对加密数据集中的第二加密向量进行转换,得到由第三加密向量组成的转换数据集,以及,对第一加密向量进行转换,得到第四加密向量,基于转换数据集构建索引树,利用第四加密向量在索引树上进行近邻查询,获得查询结果。本发明专利技术的方案,能够在基于加密及转换后的数据集构建的索引树上进行近邻查询,在保证被查询数据集的安全性和查询结果的正确性的前提下,取得亚线性的查询效率,且由于是借助构建的索引树进行近邻查询,所以即使被查询数据集的数据量较大,也可以较快地完成查询过程。

【技术实现步骤摘要】
一种数据查询方法及装置
本专利技术涉及数据处理
,尤其涉及一种数据查询方法及装置。
技术介绍
近年来,在空间数据库研究领域,K近邻(KNN,KNearestNeighbor)查询方法是一个研究重点与热点。所谓的K近邻查询通常指,在被查询数据集中寻找距离给定查询点前k个(可以为一个也可以为多个)最近的数据点。当前,为了保证被查询数据集的安全性,当利用查询点向量在被查询数据集中进行K近邻查询时,通常先对被查询数据集中的数据点向量进行加密,得到加密数据集,然后,基于加密后的加密数据集进行K近邻查询。其中,一种对被查询数据集进行加密的方法例如为ASPE加密(即非对称数量积保持加密)方法。这种基于加密数据集进行K近邻查询的方法,虽然可以保证被查询数据集的安全性,但是在进行K近邻查询过程中,需要遍历加密数据集中的每个加密数据点向量,查询复杂度较高,无法取得亚线性的查询效率,不适用于大规模的数据集。
技术实现思路
本专利技术实施例的目的在于提供一种数据查询方法及装置,以解决现有的基于加密数据集进行K近邻查询的方法无法取得亚线性的查询效率的问题。第一方面,本专利技术实施例提供了一种数据查询方法,包括:获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量,所述加密数据集包括多个第二加密向量,每个第二加密向量对应于所述被查询数据集中的一个数据点向量;分别对所述加密数据集中的第二加密向量进行转换,得到由第三加密向量组成的转换数据集,以及,对所述第一加密向量进行转换,得到第四加密向量,其中,所述第四加密向量和任意两个第三加密向量的距离之间的大小关系,与所述查询点向量和所述任意两个第三加密向量对应的数据点向量的距离之间的大小关系一致;基于所述转换数据集构建索引树;利用所述第四加密向量在所述索引树上进行近邻查询,获得查询结果。第二方面,本专利技术实施例还提供了一种数据查询装置,包括:第一获取模块,用于获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量,所述加密数据集包括多个第二加密向量,每个第二加密向量对应于所述被查询数据集中的一个数据点向量;转换模块,用于分别对所述加密数据集中的第二加密向量进行转换,得到由第三加密向量组成的转换数据集,以及,对所述第一加密向量进行转换,得到第四加密向量,其中,所述第四加密向量和任意两个第三加密向量的距离之间的大小关系,与所述查询点向量和所述任意两个第三加密向量对应的数据点向量的距离之间的大小关系一致;构建模块,用于基于所述转换数据集构建索引树;第一查询模块,用于利用所述第四加密向量在所述索引树上进行近邻查询,获得查询结果。第三方面,本专利技术实施例还提供了一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据查询程序,所述处理器执行所述数据查询程序时可实现上述数据查询方法中的步骤。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有数据查询程序,所述数据查询程序被处理器执行时实现上述数据查询方法中的步骤。本专利技术实施例的数据查询方法,通过获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量,分别对加密数据集中的第二加密向量进行转换,得到由第三加密向量组成的转换数据集,以及,对第一加密向量进行转换,得到第四加密向量,基于转换数据集构建索引树,利用第四加密向量在索引树上进行近邻查询,获得查询结果,从而能够在基于加密及转换后的数据集构建的索引树上进行近邻查询,在保证被查询数据集的安全性和查询结果的正确性的前提下,取得亚线性的查询效率,且由于是借助构建的索引树进行近邻查询,所以即使被查询数据集的数据量较大,也可以较快地完成查询过程。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1表示本专利技术实施例的数据查询方法可应用的场景示意图;图2表示图1中的服务器的内部结构示意图;图3表示本专利技术实施例的数据查询方法的流程图;图4表示本专利技术实施例的数据查询装置的结构示意图之一;图5表示本专利技术实施例的数据查询装置的结构示意图之二;图6表示本专利技术实施例的服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参考图1,图1是本专利技术实施例的数据查询方法可应用的场景示意图,如图1所示,该场景包括终端101和服务器102,终端101和服务器102通过网络进行通信。其中,终端101可以为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不限于此。服务器102可以为云服务器。可选的,图1中的服务器102的内部结构如图2所示,服务器102包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,服务器102的存储介质存储有操作系统、数据库和一种数据查询装置,数据库用于存储数据,如被查询数据集对应的加密数据集等,数据查询装置用于实现一种适用于服务器102的数据查询方法。服务器102的处理器用于提供计算和控制能力,支撑整个服务器102的运行。服务器102的内存为存储介质中的数据查询装置的运行提供环境。服务器102的网络接口用于与外部的终端101通过网络连接通信,比如接收终端发送的被查询数据集对应的加密数据集和查询点向量对应的加密向量,以及向终端101发送查询结果。下面通过一些具体实施例对本专利技术的数据查询方法进行说明。参见图3所示,本专利技术实施例提供了一种数据查询方法,应用于服务器,包括:步骤301:获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量。其中,被查询数据集包括多个数据点向量,数据点向量经过加密后得到第二加密向量,即被查询数据集对应的加密数据集包括多个第二加密向量,每个第二加密向量对应于被查询数据集中的一个数据点向量。本专利技术实施例中的服务器具体可为云服务器。步骤302:分别对加密数据集中的第二加密向量进行转换,得到由第三加密向量组成的转换数据集,以及,对第一加密向量进行转换,得到第四加密向量。其中,将加密数据集转换为转换数据集主要是为后续构建索引树做准备,保证在基于转换数据集构建的索引树上进行近邻查询时,可得到与利用被查询数据集进行近邻查询时一致的结果。具体的,经过步骤302的转换后,可使得第四加密向量和任意两个第三加密向量的距离之间的大小关系,与查询点向量和该任意两个第三加密向量对应的数据点向量的距离之间的大小关系一致。本专利技术实施例中,该距离具体可为欧几里德距离。步骤303:基于转换数据集构建索引树。其中,本专利技术实施例中构建的索引树可以为R树,也可以为KD树,只要适用近邻查询即可,本专利技术实施例不对索引树的种类进行限制。步骤304:利用第四加密向量在索引树上进行近邻查询,获得查询结果。其中,在索引树上进行的近邻查询具体可为k近邻查询。服务器在获得查询结果后,可将查询结果发送给终端。本专利技术实施例的数据查询方法,通过获取被查询数本文档来自技高网...

【技术保护点】
1.一种数据查询方法,其特征在于,包括:获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量,所述加密数据集包括多个第二加密向量,每个第二加密向量对应于所述被查询数据集中的一个数据点向量;分别对所述加密数据集中的第二加密向量进行转换,得到由第三加密向量组成的转换数据集,以及,对所述第一加密向量进行转换,得到第四加密向量,其中,所述第四加密向量和任意两个第三加密向量的距离之间的大小关系,与所述查询点向量和所述任意两个第三加密向量对应的数据点向量的距离之间的大小关系一致;基于所述转换数据集构建索引树;利用所述第四加密向量在所述索引树上进行近邻查询,获得查询结果。

【技术特征摘要】
1.一种数据查询方法,其特征在于,包括:获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量,所述加密数据集包括多个第二加密向量,每个第二加密向量对应于所述被查询数据集中的一个数据点向量;分别对所述加密数据集中的第二加密向量进行转换,得到由第三加密向量组成的转换数据集,以及,对所述第一加密向量进行转换,得到第四加密向量,其中,所述第四加密向量和任意两个第三加密向量的距离之间的大小关系,与所述查询点向量和所述任意两个第三加密向量对应的数据点向量的距离之间的大小关系一致;基于所述转换数据集构建索引树;利用所述第四加密向量在所述索引树上进行近邻查询,获得查询结果。2.根据权利要求1所述的方法,其特征在于,所述获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量的步骤,包括:接收终端发送的所述被查询数据集对应的加密数据集和所述查询点向量对应的第一加密向量。3.根据权利要求1所述的方法,其特征在于,所述被查询数据集和所述加密数据集之间存在如下对应关系:所述第一加密向量和任意两个第二加密向量的数量积之间的大小关系,与所述查询点向量和所述任意两个第二加密向量对应的数据点向量的距离之间的大小关系一致。4.根据权利要求3所述的方法,其特征在于,所述分别对所述加密数据集中的第二加密向量进行转换,得到由第三加密向量组成的转换数据集,包括:利用预设正数T,按照第一公式分别对所述加密数据集中的第二加密向量Pi′进行转换,得到第三加密向量Ai;所述对所述第一加密向量进行转换,得到第四加密向量,包括:按照第二公式对第一加密向量Q′进行转换,得到第四加密向量B;其中,第一公式为:第二公式为:B=(-k3Q′,0,b);Pi′和Q′的维度相同,a和b为第一维度的预设向量,所述第一维度大于或等于0,且k2||Pi′||2<T,k1k3>0。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取终端发送的待更新数据点向量的指示信息,所述待更新数据点向量包括以下向量中的至少一种:新增数据点向量,待删除数据点向量,以及,待修改数据点向量;根据所述指示信息,确定所述待更新数据点向量对应的第三加密向量;根据所述待更新数据点向量对应的第三加密向量,对所述索引树进行更新,获得更新后的索引树;利用所述第四加密向量在所述更新后的索引树上进行近邻查询,获得更新后的查询结果。6.一种数据查询装置,其特征在于,包括:第一获取模块,用于获取被查询数据集对应的加密数据集和查询点向量对应的第一加密向量,所述加密数据集包括多个第二加...

【专利技术属性】
技术研发人员:朱友文
申请(专利权)人:腾讯科技深圳有限公司南京航空航天大学
类型:发明
国别省市:广东,44

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

1