掌桥专利:专业的专利平台
掌桥专利
首页

反向近邻查询方法、装置、电子设备及可读存储介质

文献发布时间:2024-04-18 19:59:31


反向近邻查询方法、装置、电子设备及可读存储介质

技术领域

本申请涉及大数据技术领域,尤其涉及一种反向近邻查询方法、装置、电子设备及可读存储介质。

背景技术

传统的反向近邻查询通常以点集查询和索引建立为核心思想,即该查询过程是通过索引在所有的空间数据中进行查询,这一过程对数据高度依赖。其中,空间数据又称几何数据,它用来表示物体的位置、形态、大小分布等各方面的信息,是对现世界中存在的具有定位意义的事物和现象的定量描述。

而随着数据规模的不断增长,面向大数据的空间查询已成为重要难题。这是因为数据被分散在多个数据拥有方的手中,出于人们对个人数据隐私的重视,各个数据拥有方之间不能直接相互传递所拥有的空间数据,而这正是数据联邦所期望解决的问题。然而,由于数据联邦中各个联邦成员之间不能相互传递所拥有的空间数据,这使得传统的以点集查询和索引建立为核心思想的反向近邻查询方法无法应用到基于数据联邦的反向近邻查询中,导致无法利用数据联邦进行反向近邻查询,从而实现在反向近邻查询过程中,对空间数据隐私的保护。

因此,实际应用中如何引入数据联邦来进行反向近邻查询是亟需解决的问题。

发明内容

有鉴于此,本申请提供一种反向近邻查询方法、装置、电子设备及可读存储介质,旨在解决如何提高空间数据的隐私安全性的技术问题。

为实现上述目的,本申请提供一种反向近邻查询方法,所述反向近邻查询方法包括以下步骤:

响应于查询指令,在第一本地数据源中查询所述查询指令对应的查询点的第一初始反向近邻集合;所述第一初始反向近邻集合中的第一元素为所述查询点在所述第一本地数据源中的反向近邻;

对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至各个其他联邦成员;

接收各个所述其他联邦成员发送的第一反向近邻验证集合;各所述第一反向近邻验证集合中包括加密后的空值或者是所述第一初始反向近邻集合中由对应所述其他联邦成员验证通过的反向近邻;

基于各所述第一反向近邻验证集合确定所述查询指令对应的目标反向近邻。

示例性的,所述反向近邻查询方法还包括以下步骤:所述其他联邦成员通过第二初始反向近邻集合对所述第一初始反向近邻集合的第一元素进行验证;所述第一元素通过对所述第一初始反向近邻集合进行遍历得到;所述第二初始反向近邻集合中的第二元素为所述查询点在第二本地数据源中的反向近邻;

其中,在所述查询点在所述第二元素和遍历到的所述第一元素中的反向最近邻为所述第一元素时,所述第一元素验证通过。

示例性的,所述在所述查询点在所述第二元素和遍历到的所述第一元素中的反向最近邻为所述第一元素时,所述第一元素验证通过,包括:所述第一元素符合计算几何性质;

其中,所述计算几何性质包括:

基于所述第一元素确定的扇形区域内存在所述第二元素;所述第一元素用于确定所述扇形区域的边长;所述扇形区域的扇形夹角为预设夹角。

示例性的,所述对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至各个其他联邦成员,包括:

生成与联邦成员的数量对应的随机数;其中,一个所述联邦成员对应一组所述随机数;

将所述随机数分发至各个所述其他联邦成员;

基于所述随机数对所述第一初始反向近邻集合进行加密,将加密后的第一部分秘密发送至各个其他联邦成员,并保留第一另一部分秘密;其中,通过所述第一部分秘密和所述第一另一部分秘密能够求解得到所述第一初始反向近邻集合;

所述接收各个所述其他联邦成员发送的第一反向近邻验证集合,包括:

接收各个所述其他联邦成员发送的第一反向近邻验证集合对应的第二部分秘密;所述第二部分秘密通过所述随机数加密得到;其中,通过对应的第二部分秘密以及保留在对应的所述其他联邦成员中的第二另一部分秘密能够求解得到所述第一反向近邻验证集合;

所述基于各所述第一反向近邻验证集合确定所述查询指令对应的目标反向近邻,包括:

对各个所述第二部分秘密进行求和,得到多项式;

对所述多项式进行插值解密,得到目标反向近邻。

示例性的,所述对所述多项式进行插值解密,得到目标反向近邻,包括:

基于拉格朗日插值的插值多项式,对所述多项式进行插值解密,得到目标反向近邻。

示例性的,所述对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至各个其他联邦成员,包括:

获取各个其他联邦成员的数据贡献程度和数据敏感程度;

基于所述数据贡献程度和所述数据敏感程度,确定各个所述其他联邦成员对应的第一隐私预算;

基于各个所述第一隐私预算,对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至对应的所述其他联邦成员。

示例性的,所述第一反向近邻验证集合基于分层分配的第二隐私预算进行加密;所述第二隐私预算基于第二总的隐私预算、数据敏感程度以及第二隐私预算的分配曲线形状的控制参数确定;所述数据敏感程度针对的是本次查询过程中所使用到的数据;所述控制参数通过所述任一联邦成员的数据特异性确定;所述数据特异性指的是空间数据点的数量特征、数据分布特征以及所述空间数据点在空间上的几何形状特征。

为实现上述目的,本申请还提供一种反向近邻查询装置,所述反向近邻查询装置包括:

反向近邻查询模块,用于响应于查询指令,在第一本地数据源中查询所述查询指令对应的查询点的第一初始反向近邻集合;所述第一初始反向近邻集合中的第一元素为所述查询点在所述第一本地数据源中的反向近邻;

集合加密模块,用于对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至各个其他联邦成员;

集合接收模块,用于接收各个所述其他联邦成员发送的第一反向近邻验证集合;各所述第一反向近邻验证集合中包括加密后的空值或者是所述第一初始反向近邻集合中由对应所述其他联邦成员验证通过的反向近邻;

反向近邻确定模块,用于基于各所述第一反向近邻验证集合确定所述查询指令对应的目标反向近邻。

为实现上述目的,本申请还提供一种电子设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的反向近邻查询程序,所述反向近邻查询程序配置为实现如上所述的反向近邻查询方法的步骤。

为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有反向近邻查询程序,所述反向近邻查询程序被处理器执行时实现如上所述的反向近邻查询方法的步骤。

本申请实施例通过在本地数据源中查询得到第一初始反向近邻集合后,对该第一初始反向近邻集合进行加密,并将加密后的该第一初始反向近邻集合发送至各个联邦成员,该各个联邦成员会对该第一初始反向近邻集合中的空间数据点进行验证,从而得到第一反向近邻验证集合。在接收到各个联邦成员发送的第一反向近邻验证集合后,基于各个第一反向近邻验证集合确定最终的目标反向近邻。可以理解,本申请实施例的目标反向近邻并不通过所有的联邦成员的空间数据进行查询,而是仅在本地数据源中查询得到第一初始反向近邻集合,之后互相发送该第一初始反向近邻集合进行验证性查询,从而获得最终的目标反向近邻。由于验证性查询仅涉及第一初始反向近邻集合,而不涉及所有的空间数据,本申请实施例避开了传统的反向近邻查询中以点集查询和索引建立为核心的思想,使得反向近邻查询能够应用于数据联邦的场景下,进而更好地对反向近邻查询过程中涉及的空间数据的隐私进行保护,提高空间数据的隐私安全性。

附图说明

图1为本申请反向近邻查询方法第一实施例的流程示意图;

图2为本申请反向近邻查询方法实施例涉及的联邦成员i的空间数据的分布示意图;

图3为本申请反向近邻查询方法实施例涉及的通过计算几何性质进行验证的验证过程示意图;

图4为本申请反向近邻查询方法实施例涉及的联邦成员i的第一初始反向近邻集合和联邦成员j的空间数据的分布示意图;

图5为本申请反向近邻查询方法实施例涉及的差分隐私的预算分配的示例性流程示意图;

图6为本申请反向近邻查询方法实施例涉及的差分隐私的分层分配的流程示意图;

图7为本申请反向近邻查询装置的模块示意图;

图8为本申请实施例方案涉及的硬件运行环境的结构示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

为了便于理解,以下对本申请反向近邻查询方法的背景技术进行详细介绍。

以近邻查询为代表的空间查询在社会快速发展和数字化进程中扮演重要角色。近邻查询包括最近邻查询和k近邻查询,最近邻查询即查询得到与查询点(具有特定空间位置属性的空间数据点)最近的空间数据点;k近邻查询即查询得到与查询点较近的k个空间数据点。这类查询通过分析和利用数据中的空间关系,帮助解决社交网络、智能交通、智慧城市等应用中的重要问题和挑战。在社交网络分析中,近邻查询可以揭示人际关系模式和社区联系,提供个性化推荐和社交建议。在智能交通中,近邻查询帮助我们找到附近的店铺、餐馆和景点,提供便捷的出行和导航服务。此外,还在城市规划和市场分析等应用发挥重要作用。例如,通过利用空间查询,特别是最近邻查询,能够优化交通流量、改善路况,了解市场需求和趋势,并为商业决策提供精准的广告定位和营销策略。综上所述,空间查询,特别是最近邻查询在各个领域中都发挥着重要作用。

其中,空间查询是指通过几何对象之间的空间位置关系构建过滤条件,从已有的空间数据中查询出满足过滤条件的对象,同时支持对查询对象设置查询距离。即空间查询是根据查询点在已有的多个空间数据点中进行查询。

随着数据规模的不断增长,面向大数据的空间查询已成为重要难题。特别是这些查询可能涉及个人数据、行业数据,甚至国家数据。在这样的情况下,在获取查询结果的同时,保护数据隐私已成为重要挑战。类似地,保护行业数据也是至关重要的,特别是金融、医疗等敏感行业的数据。随着数据隐私安全受到广泛关注,世界各国各政府也出台了一系列的法律法规和处罚条例来保护个人数据信息。在我国,《个人信息保护法》已于2021年11月1日开始正式实施。关注个人数据隐私,保护用户数据安全已经成为共识,而联邦成员掣肘于此,不能随意的传播和共享数据,此时这些数据天然的散布在了各个不同的联邦成员中,形成了数据孤岛。

为了打破数据孤岛,数据联邦作为一种新的数据治理方法应运而生。与传统的分布式数据库和中心化数据中台相比,数据联邦具有独特的优势。通过使用数据联邦,个人用户可以在联合查询服务的同时保护个人数据隐私。企业也可以采用数据联邦的方式提供数据处理分析服务。

而本申请中的反向近邻查询类似于近邻查询,查询得到的反向近邻是通过近邻查询得到的,具体是先查询各个空间数据点的近邻,之后确定各个空间数据点的近邻中是否存在查询点,并将近邻中存在查询点的空间数据点作为该查询点的反向近邻。

本申请提供一种反向近邻查询方法,参照图1,图1为本申请反向近邻查询方法第一实施例的流程示意图。

本申请实施例提供了反向近邻查询方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该反向近邻查询方法可以应用于电子设备中。

在数据联邦场景中,存在多个联邦成员,对于任一联邦成员,均具备接收查询指令的能力,可以理解,本地数据源为联邦成员自身所拥有的数据源。对于联邦成员i,i∈1,2,…,n,其中n为联邦成员的总数,本实施例提供的反向近邻查询方法具体包括以下步骤:

步骤S110,响应于查询指令,在第一本地数据源中查询所述查询指令对应的查询点的第一初始反向近邻集合;所述第一初始反向近邻集合中的第一元素为所述查询点在所述第一本地数据源中的反向近邻。

其中,查询指令由用户在查询方提供的查询入口处输入,用于指定需要查询初始反向近邻的查询点,查询方为服务提供方,例如社交网络服务商、智能交通服务商等。其中,第一初始反向近邻集合中包括一个或多个初始反向近邻。

在该步骤S110之前还可以包括两个步骤,分别为步骤1:初始化查询点;和步骤2:联邦成员提供数据联邦对齐的空间数据表头。

其中,对于步骤1:查询方向所有联邦成员发送查询指令,该查询指令对应有查询点Q,其中Q表示一个具有特定空间位置属性的空间数据点,该查询点Q会被发送至各个联邦成员。

对于步骤2:在数据联邦场景中,各个联邦成员提供具有相同表头A=(A

对于步骤S110,这一步骤具体包括两个子步骤,首先对于联邦成员i的数据库D

示例性地,参照图2,图2为本申请反向近邻查询方法实施例涉及的联邦成员i的空间数据的分布示意图。在图2中,204为查询点Q,201、202、203和205为联邦成员i的各个空间数据点,在确定查询点Q的第一初始反向近邻集合前,需要先分别确定201、202、203和205这四个空间数据点的近邻集合,而后根据各个近邻集合确定查询点Q的第一初始反向近邻集合。以确定查询点Q的反向最近邻为例(以下实施例均以确定查询点Q的反向最近邻为例),空间数据点201的最近邻为空间数据点202,空间数据点202的最近邻为空间数据点201,空间数据点203的最近邻为查询点Q,空间数据点205的最近邻为查询点Q。由此根据上述反向近邻的查询过程可知,查询点Q的反向最近邻包括空间数据点203和空间数据点205,空间数据点203和空间数据点205即构成查询点Q在联邦成员i内的第一初始反向近邻集合。

步骤S120,对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至各个其他联邦成员。

为了保证数据安全,在向各个联邦成员发送数据前需要对该第一初始反向近邻集合FRC

示例性地,在加密过程中,联邦成员i可以通过随机数对FRC

步骤S130,接收各个所述其他联邦成员发送的第一反向近邻验证集合;各所述第一反向近邻验证集合中包括加密后的空值或者是所述第一初始反向近邻集合中由对应所述其他联邦成员验证通过的反向近邻。

本申请实施例中各其他联邦成员对第一初始反向近邻集合中的所有反向近邻进行验证,可以理解,联邦成员i也接收其他联邦成员发送的其在自身的第二本地数据源中查询得到的第二初始反向近邻集合,并对该其他联邦成员的第二初始反向近邻集合进行验证,以及发送对应的第二反向近邻验证集合至对应的其他联邦成员,供对应的其他联邦成员确定对应的目标反向近邻。

需要说明的是,在对所有反向近邻进行验证时,是对每一反向近邻进行单独验证,并得到单独的验证结果的。

进一步地,所述反向近邻查询方法还包括以下步骤:所述其他联邦成员通过第二初始反向近邻集合对所述第一初始反向近邻集合的第一元素进行验证;所述第一元素通过对所述第一初始反向近邻集合进行遍历得到;所述第二初始反向近邻集合中的第二元素为所述查询点在第二本地数据源中的反向近邻;其中,在所述查询点在所述第二元素和遍历到的所述第一元素中的反向最近邻为所述第一元素时,所述第一元素验证通过。

具体地,对于每一个第二元素,联邦成员i在第二本地数据源(具体是对应的第二初始反向近邻集合)中查询是否还存在比查询点Q更近的空间数据点,若存在比查询点Q更近的空间数据点,则该第二元素未通过验证;若不存在比查询点Q更近的空间数据点,则该第二元素通过验证。该验证的条件可由公式(一)进行表示:

p∈[FRC

其中,NN

可以理解,对于其他联邦成员,验证的过程即为各个其他联邦成员对第一初始反向近邻集合中的各个反向近邻进行验证,从而确定各个反向近邻是否确实为该查询点Q的反向近邻。

在一示例性实施例中,该验证过程可以是通过实际应用中的查询反向近邻的算法来实现,即在联邦成员各自的所有空间数据点上进行求解初始反向近邻集合中的元素的反向近邻是否为查询点Q。相应地,若是,则通过验证;若否,则未通过验证。

在另一示例性实施例中,所述在所述查询点在所述第二元素和遍历到的所述第一元素中的反向最近邻为所述第一元素时,所述第一元素验证通过,包括:所述第一元素符合计算几何性质;其中,所述计算几何性质包括:基于所述第一元素确定的扇形区域内存在所述第二元素;所述第一元素用于确定所述扇形区域的边长;所述扇形区域的扇形夹角为预设夹角。

具体地,所述计算几何性质由以下公式(二)和公式(三)表征:

其中,f为所述第二元素;q为所述查询点;p为所述第一初始反向近邻集合中的第一元素;dist(·)为距离计算公式;θ为预设角度;dist(f,p)=a;dist(p,q)=c;dist(f,q)=b;a、b和c为点p、q和f构成的三角形的三条边;α为边α对应的夹角。

具体地,参照图3,图3为本申请反向近邻查询方法实施例涉及的通过计算几何性质进行验证的验证过程示意图。在图3中,303为预设夹角θ,通常取预设阈值,该预设阈值可根据需要进行调整,本实施例不作具体限定;301为夹角为θ和边长为

需要说明的是,通过分析点p是否在扇形内以及分析反向近邻需要满足的上述验证的条件可知,原始的计算距离的形式可以看做是分析点p是否在该扇形区域内,即通过公式(二)来确定点p相对于扇形的位置以及通过公式(三)来确定α304和θ303的关系。需要说明的是,在点p同时满足公式(二)以及公式(三)这两个条件时,可以确定点p在扇形内,即验证通过;反之,点p在扇形外,即验证未通过。

可以理解,本申请实施例中的公式(三)利用空间三角形边长关系确定了点q对应α304是否满足上述验证的条件,以及通过公式(二)确定了点q构成的边c是否可以满足上述验证的条件,当两个公式同时成立时,点p才满足该计算几何性质。

需要说明的是,本申请实施例中基于计算几何性质进行验证的好处在于:把原有复杂的反向近邻的算法化简为空间三角形的几何关系查询,从而更快地找到点与平面之间的最近距离,而不需要使用复杂的数学计算库,进而提高验证效率。此外,通过计算几何性质进行验证也可以避免验证时涉及的在处理大规模数据集时的性能瓶颈,因为可以将在各个联邦成员进行数据分区为较小的子集再并行处理,提高验证效率。此外,通过计算几何性质进行验证可以使得目标反向近邻的求解过程更加灵活,具体地,在处理不同类型的查询需求和查询对象时,都可以推理出通用的空间三角形集合关系。因此,通过计算几何性质进行验证,从而求解得到目标反向近邻是非常有效的策略。示例性地,参照图4,图4为本申请反向近邻查询方法实施例涉及的联邦成员i的第一初始反向近邻集合和联邦成员j的空间数据的分布示意图。在图4中,401、402、403、404、405和406为联邦成员j的各个空间数据点,不难发现,在联邦成员j(其他联邦成员)的第二本地数据源中,空间数据点203的最近邻不再是查询点Q,并且空间数据点205的最近邻也不再是查询点Q,因此,空间数据点203和空间数据点205均未通过联邦成员j的验证。

进一步地,在对第一初始反向近邻集合进行加密时,可以通过差分隐私技术来进行加密,也可以通过多方安全通信技术进行加密,还可以通过差分隐私技术和多方安全计算技术共同进行加密。

其中,多方安全计算技术包括但不限于同态加密、秘密共享。

对于通过差分隐私技术来进行加密,具体地,所述对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至各个其他联邦成员,包括:获取各个其他联邦成员的数据贡献程度和数据敏感程度;基于所述数据贡献程度和所述数据敏感程度,确定各个所述其他联邦成员对应的第一隐私预算;基于各个所述第一隐私预算,对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至对应的所述其他联邦成员。其中,第一隐私预算包括第一全局隐私预算和第一局部隐私预算。

实际应用中,在反向近邻查询的过程中,通常只考虑查询的时间开销、空间开销和准确性作为评价指标,然而在数据联邦场景中,本地时空开销、多方隐私交互成本同样重要。在对空间数据的信息进行加密时,主流算法使用同态加密。

然而由于查询次数过多和过于频繁,这会带来显著的安全通讯开销与隐私计算开销,因此,使用同态加密效率较低。

除此之外,同态加密仅对空间数据中的位置信息进行了保护,而多方查询查询和交互通信过程中的查询点的数量、距离信息未被保护。在后续获得查询点的最终的反向近邻时需要通过聚类、回归等方法来实现,这仍可能造成该位置信息的泄漏。

对于上述可能会发生位置信息泄漏的问题,进一步地,本申请实施例通过采用差分隐私预算的分配来进一步保护隐私,从而降低该位置信息泄漏的风险。

具体地,在联邦成员i向联邦成员j传输其第一初始反向近邻集合的过程中,本申请实施例采用差分隐私(Differential Privacy)的加密手段。具体地,加密过程涉及以下三个阶段:查询向量(第一初始反向近邻集合)加密阶段;数据传输方式选择阶段;噪声生成方式选择阶段。

参照图5,图5为本申请反向近邻查询方法实施例涉及的差分隐私的预算分配的示例性流程示意图。需要说明的是,差分隐私预算分配可以确保在查询向量加密阶段,对查询向量使用适当的加密算法来保护用户的隐私;在数据传输方式选择阶段,选择了安全的传输方式来避免数据被未授权的访问者获取;在噪声生成方式选择阶段,选择了能够提供足够的噪声量来保护查询结果隐私的技术。此外,差分隐私预算分配还能够保护个体的隐私。具体地,在联邦反向近邻查询过程中,参与查询的个体可能分布在不同的数据持有者(联邦成员)之间,每个数据持有者都可能有自己的隐私要求。通过差分隐私预算分配,可以确保每个数据持有者能够根据自己的隐私要求分配合适的隐私保护资源,从而保护其个体的隐私。

对于查询向量加密(即对第一初始反向近邻集合进行加密)阶段,差分隐私预算分配过程可以基于数据联邦的联邦成员的数据贡献程度或数据敏感程度进行。

每个联邦成员都有第一全局隐私预算B1

其中,B1

而对于第一局部隐私预算b1

b1

其中,B1

本申请实施例通过合理地分配第一隐私预算,实现了在保护个体隐私的同时,确保查询结果的准确性和效率。可以理解,不同的分配策略可以根据具体的场景和需求进行调整,以达到最佳的隐私保护和查询性能。

进一步地,在查询结果(反向近邻验证集合)的返回阶段,本申请实施例隐私预算分配采取分层分配的方式,参照图6,图6为本申请反向近邻查询方法实施例涉及的差分隐私的分层分配的流程示意图。具体而言,可以根据联邦成员的数据贡献程度或数据敏感程度进行分层划分,从而为不同的联邦成员分配不同的第二隐私预算。即使用指数函数进行隐私预算分配,这种方式可以根据联邦成员的数据贡献程度或数据敏感程度的不同,在隐私预算分配过程中给予更高或更低的权重。具体地,可以使用以下公式(四)来计算每个联邦成员的隐私预算:

其中,B2

需要说明的是,数据敏感程度w

其中,γ是根据各个联邦成员自身的数据特异性确定的,数据特异性指的是联邦成员i的空间数据点的数量特征(多或少)、数据分布特征(稀疏或稠密)和空间数据点在空间上的几何形状特征。通过多次拟合使得分配参数

通过分层分配使得较大的数据贡献程度或数据敏感程度的联邦成员将被赋予更大的权重,从而使得具有大的数据贡献程度或数据敏感程度的联邦成员在隐私预算分配中得到更多的第二隐私预算。换句话说,采用指数函数的分配方式可以更加精细地区分不同联邦成员之间的隐私权衡。通过调整γ的值,可以控制分配曲线的形状,从而根据具体需要进行第二隐私预算的分配,进而保证验证过程中的数据的隐私和安全。

此外,分层分配相对于单一的差分隐私技术的优势在于:灵活地设置隐私预算分配在保护联邦成员隐私的同时提高了数据的可用性,并能够适应不同联邦成员的数据特征和不同联邦成员的反向近邻查询结果带来的变化。通过设置分层隐私预算,可以在保护个人隐私的同时,确保数据的安全性和可用性。合理的隐私预算分配可以有效地降低噪音的增量速度,并提高数据的可用性。对于不同查询需求和初始隐私预算设置,分层隐私预算分配可以对隐私预算进行不同的分配,以更好地适应实际应用需求。

进一步地,本申请实施例还通过对验证后的结果的返回逻辑与行为进行统一,从而进行行为模式的保护。具体地,如果第一初始反向近邻集合中所有反向近邻均未通过验证,此时可以选择返回一个加密后的空值,从而保证各联邦成员操作的一致性,以提高数据安全性。

可以理解,本申请实施例在第一初始反向近邻集合中所有反向近邻均未通过验证时会有一套完整的行为模式保护,使得和存在反向近邻通过验证时的行为完全一致。

步骤S140,基于各所述第一反向近邻验证集合确定所述查询指令对应的目标反向近邻。

具体地,在各第一反向近邻验证集合均为空的情况下,该联邦成员i对应的查询结果为空,此时依旧会按用户的需求集成结果,具体而言会返回值为空的反向近邻集合[FRC

对于上述通过多方安全通信技术进行加密,所述对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至各个其他联邦成员,包括:生成与联邦成员的数量对应的随机数;其中,一个所述联邦成员对应一组所述随机数;将所述随机数分发至各个所述其他联邦成员;基于所述随机数对所述第一初始反向近邻集合进行加密,将加密后的第一部分秘密发送至各个其他联邦成员,并保留第一另一部分秘密;其中,通过所述第一部分秘密和所述第一另一部分秘密能够求解得到所述第一初始反向近邻集合;所述接收各个所述其他联邦成员发送的第一反向近邻验证集合,包括:接收各个所述其他联邦成员发送的第一反向近邻验证集合对应的第二部分秘密;所述第二部分秘密通过所述随机数加密得到;其中,通过对应的第二部分秘密以及保留在对应的所述其他联邦成员中的第二另一部分秘密能够求解得到所述第一反向近邻验证集合;所述基于各所述第一反向近邻验证集合确定所述查询指令对应的目标反向近邻,包括:对各个所述第二部分秘密进行求和,得到多项式;对所述多项式进行插值解密,得到目标反向近邻。

具体地,在验证之后各联邦成员的结果被秘密地保存在对应的联邦成员处,此时相当于求解一个安全多方求和问题即可召回所需的目标反向近邻相关的统计量。

以在统计量聚合方面采用秘密共享实现多方安全统计量聚合的过程为例,其中,联邦成员总数为n,阈值为t为例。假设联邦成员i(i=1,2,…,n)持有私有查询结果β

分发阶段:首先由任一联邦成员随机生成n个互不相同的元素X=x

秘密分散阶段:各联邦成员i可将元素x

秘密求和阶段:当联邦成员i收集到其他联邦成员j发送的所有秘密P

解密阶段:对该结果多项式

需要说明的是,插值解密的优点在于各方的插值多项式的计算可以并行进行,采用插值解密的方式各方的数据汇总之前不会有任何一方可以提前获取秘密信息,此外,插值解密能灵活地控制联邦成员的计算过程,通过是否在联邦成员本地运行插值算法来灵活的设置通信过程中的秘密等级。

对于通过插值解密的方式进行求解,插值解密包括但不限于拉格朗日插值解密、牛顿插值解密。

在一示例性实施例中,所述对所述多项式进行插值解密,得到目标反向近邻,包括:基于拉格朗日插值的插值多项式,对所述多项式进行插值解密,得到目标反向近邻。

具体地,所述目标反向近邻β通过以下公式(五)计算得到:

其中,所述β

其中,插值多项式为对应多项式在x

此外,参照图7,本申请还提供一种反向近邻查询装置,所述反向近邻查询装置包括:

反向近邻查询模块70,用于响应于查询指令,在第一本地数据源中查询所述查询指令对应的查询点的第一初始反向近邻集合;所述第一初始反向近邻集合中的第一元素为所述查询点在所述第一本地数据源中的反向近邻;

集合加密模块71,用于对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至各个其他联邦成员;

集合接收模块72,用于接收各个所述其他联邦成员发送的第一反向近邻验证集合;各所述第一反向近邻验证集合中包括加密后的空值或者是所述第一初始反向近邻集合中由对应所述其他联邦成员验证通过的反向近邻;

反向近邻确定模块73,用于基于各所述第一反向近邻验证集合确定所述查询指令对应的目标反向近邻。

示例性的,所述其他联邦成员通过第二初始反向近邻集合对所述第一初始反向近邻集合的第一元素进行验证;所述第一元素通过对所述第一初始反向近邻集合进行遍历得到;所述第二初始反向近邻集合中的第二元素为所述查询点在第二本地数据源中的反向近邻;

其中,在所述查询点在所述第二元素和遍历到的所述第一元素中的反向最近邻为所述第一元素时,所述第一元素验证通过。

示例性的,所述在所述查询点在所述第二元素和遍历到的所述第一元素中的反向最近邻为所述第一元素时,所述第一元素验证通过,包括:所述第一元素符合计算几何性质;

其中,所述计算几何性质包括:

基于所述第一元素确定的扇形区域内存在所述第二元素;所述第一元素用于确定所述扇形区域的边长;所述扇形区域的扇形夹角为预设夹角。

示例性的,所述集合加密模块71具体用于:

生成与联邦成员的数量对应的随机数;其中,一个所述联邦成员对应一组所述随机数;

将所述随机数分发至各个所述其他联邦成员;

基于所述随机数对所述第一初始反向近邻集合进行加密,将加密后的第一部分秘密发送至各个其他联邦成员,并保留第一另一部分秘密;其中,通过所述第一部分秘密和所述第一另一部分秘密能够求解得到所述第一初始反向近邻集合;

所述集合接收模块72具体用于:

接收各个所述其他联邦成员发送的第一反向近邻验证集合对应的第二部分秘密;所述第二部分秘密通过所述随机数加密得到;其中,通过对应的第二部分秘密以及保留在对应的所述其他联邦成员中的第二另一部分秘密能够求解得到所述第一反向近邻验证集合;

所述反向近邻确定模块73具体用于:

对各个所述第二部分秘密进行求和,得到多项式;

对所述多项式进行插值解密,得到目标反向近邻。

示例性的,所述反向近邻确定模块73还用于:

基于拉格朗日插值的插值多项式,对所述多项式进行插值解密,得到目标反向近邻。

示例性的,所述集合加密模块71还用于:

获取各个其他联邦成员的数据贡献程度和数据敏感程度;

基于所述数据贡献程度和所述数据敏感程度,确定各个所述其他联邦成员对应的第一隐私预算;

基于各个所述第一隐私预算,对所述第一初始反向近邻集合进行加密,并将加密后的所述第一初始反向近邻集合发送至对应的所述其他联邦成员。

示例性的,所述第一反向近邻验证集合基于分层分配的第二隐私预算进行加密;所述第二隐私预算基于第二总的隐私预算、数据敏感程度以及第二隐私预算的分配曲线形状的控制参数确定;所述数据敏感程度针对的是本次查询过程中所使用到的数据;所述控制参数通过所述任一联邦成员的数据特异性确定;所述数据特异性指的是空间数据点的数量特征、数据分布特征以及所述空间数据点在空间上的几何形状特征。

本申请反向近邻查询装置具体实施方式与上述反向近邻查询方法各实施例基本相同,在此不再赘述。

此外,本申请还提供一种电子设备。如图8所示,图8是本申请实施例方案涉及的硬件运行环境的结构示意图。

如图8所示,该电子设备可以包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801、通信接口802和存储器803通过通信总线804完成相互间的通信,存储器803,用于存放计算机程序;处理器801,用于执行存储器803上所存放的程序时,实现反向近邻查询方法的步骤。

上述电子设备提到的通信总线804可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线804可以分为地址总线、数据总线和控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口802用于上述电子设备与其他设备之间的通信。

存储器803可以包括随机存取存储器(Random Access Memory,RMD),也可以包括非易失性存储器(Non-Volatile Memory,NM),例如至少一个磁盘存储器。可选的,存储器803还可以是至少一个位于远离前述处理器801的存储装置。

上述的处理器801可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本申请电子设备具体实施方式与上述反向近邻查询方法各实施例基本相同,在此不再赘述。

此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有反向近邻查询程序,所述反向近邻查询程序被处理器执行时实现如上所述的反向近邻查询方法的步骤。

本申请计算机可读存储介质具体实施方式与上述反向近邻查询方法各实施例基本相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本申请实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

技术分类

06120116524252