基于隐私集合求交的联邦统计查询方法、装置及电子设备
文献发布时间:2023-06-19 19:30:30
技术领域
本公开涉及隐私计算技术领域,具体而言,涉及一种基于隐私集合求交的联邦统计查询方法、装置及电子设备。
背景技术
在实际应用中,统计查询指查询方针对提供方进行数据查询的过程中,请求返回所查询数据的统计值,而非实际所查询数据的查询方式。在多参与方分别持有相同主键对应的不同特征值时,查询方可以与提供方进行隐私集合求交(Private Set Intersection,PSI)确定待查询主键的交集,再基于交集从提供方获取待查询主键对应的特征值,进而在本地基于特征值确定目标统计值。
但是,在上述处理过程中,提供方所持有的特征值被暴露给了查询方,使得查询过程中暴露了除目标数据外的其他数据信息,导致提供方的数据隐私泄露,该方法不能有效保证联邦统计查询中的数据安全。
需要说明的是,在上述背景技术部分公开的数据仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的数据。
发明内容
本公开的目的在于提供一种基于隐私集合求交的联邦统计查询方法、装置及电子设备,该方法能够在联邦统计查询过程中,有效的保护数据特征值,避免具体特征值的暴露,从而降低数据隐私泄露的风险,提升联邦查询过程中的数据保护能力,有效保证查询中的数据安全。
根据本公开的第一方面提供了一种基于隐私集合求交的联邦统计查询方法,该方法应用于查询方,该方法可以包括:与服务方基于待查询的第一主键进行隐私集合求交,获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值;获取服务方发送的第三主键总数,并基于第三主键总数、存储位置构建掩码向量,掩码向量用于指示第二主键在服务方的存储位置;基于掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得。
可选地,中间统计结果包括计数向量,计数向量用于指示服务方中非空的特征值对应第三主键的存储位置,统计值包括非空特征值计数,基于掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,包括:提供掩码向量,与服务方提供的计数向量进行秘密分享,获得第二主键对应的特征值非空计数。
可选地,中间统计结果还包括特征值均值、特征值标准差,以及第一特征向量,第一特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值,统计值还包括交集特征值和值,提供掩码向量,与服务方提供的计数向量进行秘密分享,获得第二主键对应的特征值非空计数之后,还包括:提供掩码向量,与服务方提供的第一特征向量进行秘密分享,获得第二主键对应标准化特征值的第一交集标准化和值;向服务方发送特征值非空计数,以及第一交集标准化和值;获得第二主键对应的交集特征值和值,交集特征值和值由服务方根据特征值非空计数、特征值均值,以及第一交集标准化和值、特征值标准差确定。
可选地,统计值还包括交集特征值均值,获得第二主键对应的交集特征值和值,包括:根据交集特征值和值、特征值非空计数,确定第二主键对应的交集特征值均值。
可选地,中间统计结果还包括特征值均方值、特征值均方标准差,以及第二特征向量,第二特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值均方值,统计值还包括特征值方差,提供掩码向量,与服务方提供的计数向量进行秘密分享,获得第二主键对应的特征值非空计数之后,还包括:提供掩码向量,与服务方提供的第二特征向量进行秘密分享,获得第二主键对应标准化特征值均方值的第二交集标准化和值;向服务方发送特征值非空计数,以及第二交集标准化和值;获得第二主键对应的交集特征值均方和值,交集特征值均方和值由服务方根据特征值非空计数、特征值均方值,以及第二交集标准化和值、特征值标准差均方值确定;根据交集特征值均方和值、特征值非空计数,确定第二主键对应的交集特征值均方值;根据交集特征值和值、特征值非空计数,确定第二主键对应的交集特征值均值之后,还包括:根据交集特征值均值、交集特征值均方值、特征值非空计数确定第二主键对应的特征值方差。
可选地,统计值还包括特征值标准差,根据交集特征值均值、交集平方特征值均值、特征值非空计数确定第二主键对应的特征值方差之后,还包括:根据特征值方差、特征值非空计数,确定第二主键对应的特征值标准差。
根据本公开的第二方面提供了另一种基于隐私集合求交的联邦统计查询方法,该方法应用于服务方,该方法可以包括:与查询方基于待查询的第一主键进行隐私集合求交,以使查询方获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值;向查询方发送第三主键总数,以使查询方基于第三主键总数、存储位置构建掩码向量,掩码向量用于指示第二主键在服务方的存储位置;根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算,获得中间统计结果;提供中间统计结果,以使查询方基于掩码向量以及中间统计结果,获得第二主键对应特征值的统计值。
根据本公开的第三方面提供了基于隐私集合求交的联邦统计查询装置,该装置应用于查询方,该装置可以包括:第一交集确定模块,用于与服务方基于待查询的第一主键进行隐私集合求交,获得与服务方所存储的第三主键中构成交集的第二主键在服务方的存储位置,服务方包括第三主键以及第三主键对应的特征值;掩码向量构建模块,用于获取服务方发送的第三主键总数,并基于第三主键总数、存储位置构建掩码向量,掩码向量用于指示第二主键在服务方的存储位置;统计结果计算模块,用于基于掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得。
可选地,中间统计结果包括计数向量,计数向量用于指示服务方中非空的特征值对应第三主键的存储位置,统计值包括非空特征值计数,统计结果计算模块,具体用于提供掩码向量,与服务方提供的计数向量进行秘密分享,获得第二主键对应的特征值非空计数。
可选地,中间统计结果还包括特征值均值、特征值标准差,以及第一特征向量,第一特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值,统计值还包括交集特征值和值,统计结果计算模块,还用于提供掩码向量,与服务方提供的第一特征向量进行秘密分享,获得第二主键对应标准化特征值的第一交集标准化和值;向服务方发送特征值非空计数,以及第一交集标准化和值;获得第二主键对应的交集特征值和值,交集特征值和值由服务方根据特征值非空计数、特征值均值,以及第一交集标准化和值、特征值标准差确定。
可选地,统计值还包括交集特征值均值,统计结果计算模块,还用于根据交集特征值和值、特征值非空计数,确定第二主键对应的交集特征值均值。
可选地,中间统计结果还包括特征值均方值、特征值均方标准差,以及第二特征向量,第二特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值均方值,统计值还包括特征值方差,统计结果计算模块,还用于提供掩码向量,与服务方提供的第二特征向量进行秘密分享,获得第二主键对应标准化特征值均方值的第二交集标准化和值;向服务方发送特征值非空计数,以及第二交集标准化和值;获得第二主键对应的交集特征值均方和值,交集特征值均方和值由服务方根据特征值非空计数、特征值均方值,以及第二交集标准化和值、特征值标准差均方值确定;根据交集特征值均方和值、特征值非空计数,确定第二主键对应的交集特征值均方值;根据交集特征值均值、交集特征值均方值、特征值非空计数确定第二主键对应的特征值方差。
可选地,统计值还包括特征值标准差,统计结果计算模块,还用于根据特征值方差、特征值非空计数,确定第二主键对应的特征值标准差。
根据本公开的第四方面提供了基于隐私集合求交的联邦统计查询装置,该装置应用于服务方,该装置可以包括:第二交集确定模块,用于与查询方基于待查询的第一主键进行隐私集合求交,所述服务方包括所述第三主键以及所述第三主键对应的特征值,以使所述查询方获得所述第一主键中与所述第三主键构成交集的第二主键,以及所述第二主键在所述服务方的存储位置;主键总数发送模块,用于向所述查询方发送第三主键总数,以使所述查询方基于所述第三主键总数、所述存储位置构建掩码向量,所述掩码向量用于指示所述第二主键在所述服务方的存储位置;中间统计结果模块,用于根据所述第三主键的存储位置,以及所述第三主键对应的所述特征值进行统计计算,获得中间统计结果;所述中间统计结果模块,还用于提供所述中间统计结果,以使所述查询方基于掩码向量以及所述中间统计结果,获得所述第二主键对应所述特征值的统计值。
根据本公开的第五方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面的基于隐私集合求交的联邦统计查询方法,或第二方面的基于隐私集合求交的联邦统计查询方法。
根据本公开的第六方面,提供了一种电子设备,包括:
处理器;以及
存储器,用于存储处理器的计算机程序;
其中,处理器配置为经由执行计算机程序来实现上述第一方面的基于隐私集合求交的联邦统计查询方法,或第二方面的基于隐私集合求交的联邦统计查询方法。
本公开提供的基于隐私集合求交的联邦统计查询方法,查询方与服务方可以基于待查询的第一主键进行隐私集合求交,获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值;查询方还可以获取服务方发送的第三主键总数,并基于该第三主键总数、存储位置构建掩码向量,该掩码向量可以指示第二主键在服务方的存储位置;进一步的,查询方可以基于该掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,该中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得。上述方法中,由于中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值统计得到,因此查询方基于第二主键在服务方的存储位置,可以从中间统计结果中得到第二主键对应特征值的统计值,而且查询方仅能够获知第二主键在服务方的存储位置,以及由服务方提供的中间统计结果,不会向查询方暴露服务方所持有的具体特征值,从而能够避免查询过程中的隐私泄露,提升对数据的保护能力,有效保证数据安全。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种基于隐私集合求交的联邦统计查询方法的步骤流程图之一。
图2为本公开实施例提供的一种基于隐私集合求交的联邦统计查询方法的步骤流程图之二。
图3为本公开实施例提供的另一种基于隐私集合求交的联邦统计查询方法的步骤流程图。
图4为本公开实施例提供的一种基于隐私集合求交的联邦统计查询方法的交互示意图。
图5为本公开实施例提供的一种基于隐私集合求交的联邦统计查询装置的结构示意图。
图6为本公开实施例提供的另一种基于隐私集合求交的联邦统计查询装置的结构示意图。
图7示例了本公开实施方式的一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
需要说明的是,本公开获取的数据,包括主键、特征值等数据,均在明确告知用户或相关数据所属方对数据的采集内容、数据用途、处理方式等信息后,在用户或相关数据所属方同意、授权的情况下访问、采集、存储并应用于后续分析处理,且可以向用户或相关数据所属方发送访问、更正、删除该数据的途径,以及撤销同意、授权的方法。
其中,联邦指多参与方协同的数据处理方式,各参与方可以持有至少部分相同的主键,且各主键在不同参与方分别对应不同特征值。在此基础上,各参与方中,任意参与方可以作为查询方,并将其他参与方作为服务方。查询方可以就其持有的主键向服务方发起查询请求,以获得服务方响应于该查询请求返回的查询结果,从而实现联邦查询。此时,为了保护各参与方的隐私,避免数据泄露,在联邦查询中可以采用匿踪查询的方法。匿踪查询基于非对称加密、不经意传输等技术,可以在不向服务方暴露查询条件的情况下,使查询方仅获得查询条件范围内的查询结果,即查询方可以获得待查询的主键在服务方对应的特征值,而不能确定其他主键在服务方对应的特征值。
但是,在联邦统计查询中,也需要查询方先获得待查询的主键在服务方对应的特征值,再基于该特征值在本地进行统计计算,以获得需求的统计值。该过程中,在查询方仅需求查询统计值的情况下,向查询方提供具体的特征值,从而实际上向查询方暴露了多余的信息,不能有效保护数据安全,导致服务方隐私泄露。
本公开提供的基于隐私集合求交的联邦统计查询方法,可以在联邦统计查询的过程中,由服务方向查询方提供中间统计结果,而不向查询方暴露具体的特征值,使得查询方仅获得需求的统计值。该方法能够在保证查询方准确获得查询结果的情况下,提高对数据隐私的保护能力。具体结合附图说明如下:
图1为本公开实施例提供的一种基于隐私集合求交的联邦统计查询方法的步骤流程图之一,该方法可以应用于查询方,该方法可以包括如下所示步骤101至步骤103。
步骤101、与服务方基于待查询的第一主键进行隐私集合求交,获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值。
本公开实施例中,查询方、服务方可以是持有至少部分相同主键的参与方。其中,主键与特征值在各参与方对应存储,且在参与方本地每一主键能够唯一标识对应特征值。在此基础上,查询方可以将待查询的主键作为第一主键,并基于该第一主键与服务方进行隐私集合求交,获得交集的第二主键。在服务方持有第三主键的情况下,该第二主键由第一主键与第三主键的交集构成。根据第一主键、第三主键的交集组成,第二主键可以包括部分或全部的第一主键,也可以包括部分或全部的第三主键。
其中,隐私集合求交是一种密码学技术,能够使得各参与方在不暴露除交集外其他信息的基础上确定交集。隐私集合求交可以采用不同的实现方式,如基于混淆电路、基于同态加密、基于不经意传输等,本领域技术人员可以根据实际需求、处理条件等选择实现隐私集合求交的方式,本公开实施例对此不作具体限制。
在本公开可选的一方法实施例中,在查询方与服务方间基于待查询的第一主键进行隐私集合求交后,可以仅在查询方返回第二主键在服务方的存储位置,在服务方不返回结果,从而不向服务方暴露该交集的第二主键,进一步提升查询过程中对数据的隐私保护能力。
步骤102、获取服务方发送的第三主键总数,并基于第三主键总数、存储位置构建掩码向量,掩码向量用于指示第二主键在服务方的存储位置。
本公开实施例中,第三主键总数用于表示服务方持有第三主键的总数量。查询方可以获取服务方发送的第三主键总数,从而基于第三主键总数,以及第二主键在服务方的存储位置构建掩码向量,如可以根据第三主键总数确定掩码向量的大小,并根据第二主键在服务方的存储位置对掩码向量的对应位置进行赋值,以在掩码向量中根据不同赋值区分第二主键的存储位置与其他主键的存储位置,从而掩码向量可以用于指示第二主键在服务方的存储位置。
步骤103、基于掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得。
本公开实施例中,中间统计结果可以由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得,如可以是在所有的特征值中统计非空特征值的存储位置,统计所有特征值的均值、标准差,以对各存储位置的特征值进行标准化等。其中,在确定中间统计结果时服务方可以根据查询方所需统计值的类型确定统计方法,但是服务方是对本地存储的所有特征值进行全局统计的。
进一步的,由于掩码向量指示了第二主键在服务方的查询位置,而中间统计结果根据第三主键的存储位置对特征值进行统计计算获得。因此,查询方可以基于服务方提供的中间统计结果以及掩码向量,获得第二主键对应特征值的统计值,而通过中间统计结果,无需向查询方暴露第二主键在服务方具体对应的特征值,有效保护了服务方的数据隐私,能够保证数据安全。
图2为本公开实施例提供的一种基于隐私集合求交的联邦统计查询方法的步骤流程图之二,该方法可以应用于查询方,该方法可以包括如下所示步骤201至步骤217。
步骤201、与服务方基于待查询的第一主键进行隐私集合求交,获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值。
本公开实施例中,步骤201可对应参照前述步骤101的相关描述,为避免重复,在此不再赘述。
如,主键可以是用户ID(Identity Document,身份标识),各参与方可以持有至少部分相同的用户ID,并存储有该用户ID对应的不同特征值,如参与方“银行”可以存储有用户ID对应的年龄、职业、薪资、储蓄等特征值,参与方“电商”可以存储有用户ID对应的交易量、消费额等特征值。则任意参与方可以作为查询方,将另一参与方作为服务方进行联邦统计查询。
以参与方“电商”作为查询方(client)为例,查询方在用户ID中确定{用户A、用户B、用户C}为第一主键t1,再将参与方“银行”作为服务方(server),需要查询{用户A、用户B、用户C}的平均薪资。其中,服务方存储有{用户A、用户B、用户C、用户D}的第三主键t2,及其分别对应的特征值(salary){薪资A、薪资B、薪资C、薪资D}。
在此基础上,查询方与服务方可以基于第一主键{用户A、用户B、用户C}、第三主键{用户A、用户B、用户C、用户D}进行隐私集合求交,并在查询方返回由第一主键与第三主键交集构成的第二主键(inter_ids){用户A、用户B、用户C},以及第二主键(inter_ids)在服务方的存储位置(inter_indexs),如用户A存储位置为1,用户B存储位置为2,用户C存储位置为3。
或者,查询方在用户ID中确定{用户A、用户B、用户C、用户E}为第一主键t1,则查询方与服务方可以基于第一主键{用户A、用户B、用户C、用户E}、第三主键{用户A、用户B、用户C、用户D}进行隐私集合求交,并获得第一主键与第三主键交集构成的第二主键{用户A、用户B、用户C}。
需要说明的是,根据服务方数据存储结构的不同,第二主键的存储位置可以是不同的形式,如服务方以数据表的形式存储第三主键与对应的特征值,则该存储位置可以是第三主键在该数据表内的索引;或者,也可以是第二主键,及其对应的特征值在存储空间中存储的起始位置等。
在本公开可选的一方法实施例中,查询方可以基于SQL(Structured QueryLanguage,结构化查询语言)语句:select avg(salary)from t1 inner join t2 on t1.ID=t2.ID,发起在服务方基于第一主键t1的平均薪资查询请求,则响应于该平均薪资查询请求,可以执行本公开实施例中基于隐私集合求交的联邦统计查询方法的步骤流程。
步骤202、获取服务方发送的第三主键总数,并基于第三主键总数、存储位置构建掩码向量,掩码向量用于指示第二主键在服务方的存储位置。
本公开实施例中,步骤201可对应参照前述步骤101的相关描述,为避免重复,在此不再赘述。
如,根据第三主键t2{用户A、用户B、用户C、用户D},服务方可以向查询方发送第三主键总数n,此时n的数值为4;查询方获得n后,可以基于n以及存储位置构建掩码向量,如构建大小为(1,n)且全0的初始掩码向量,即该初始掩码向量为(0,0,0,0),该初始掩码向量在n的数值为4时大小为1行4列,该初始掩码向量用于表示第三主键在服务方的存储位置;再根据第二主键{用户A、用户B、用户C}的存储位置对初始掩码向量中对应的存储位置1、2和3进行赋值,获得掩码向量M(1,1,1,0)。
在本公开一可选的方法实施例中,中间统计结果包括计数向量,计数向量用于指示服务方中非空的特征值对应第三主键的存储位置,统计值包括非空特征值计数。
其中,非空特征值计数可以是统计第二主键在服务方所对应的特征值中,非空的特征值数量。在此基础上,服务方可以在存储的所有特征值中,先根据非空的特征值对应第三主键的存储位置,构建对应的计数向量作为中间统计结果,计数向量的构建可以参考前述掩码向量的相关描述。
本公开实施例中,服务方确定中间统计结果,可以根据可提供的查询服务预先确定针对不同查询需求的中间统计结果,以提高查询效率;也可以在查询方发起查询请求后,再确定对应的中间统计结果,避免可能出现的特征值发生变动,但中间统计结果未同步更新的情况,提高查询的准确性。
如,在计数向量中可以以(n,1)为大小构建初始计数向量,并将为空的特征值对应第三主键的存储位置赋值为0,将非空的特征值对应第三主键的存储位置赋值为1,在遍历所有特征值并对应赋值后,获得计数向量C;以薪资A为6000、薪资B为5000、薪资C为空值、薪资D为7000为例,服务方可以构建大小为(n,1)且全0的初始计数向量,即该初始计数向量为(0,0,0,0),该初始计数向量在n的数值为4时为4行1列,表示特征值对应第三主键在服务方的存储位置;再根据非空的特征值对应第三主键t2的存储位置,对初始计数向量进行赋值,获得计数向量C(1,1,0,1)。
则步骤202之后可以包括如下步骤203:
步骤203、提供掩码向量,与服务方提供的计数向量进行秘密分享,获得第二主键对应的特征值非空计数。
本公开实施例中,由于掩码向量用于指示第二主键在服务方的存储位置,计数向量用于指示非空的特征值对应第三主键在服务方的存储位置,因此查询方可以提供掩码向量,服务方可以提供计数向量,并在查询方、服务方间通过秘密分享对掩码向量、计数向量进行运算,使得运算结果指示对应非空的特征值的第二主键在服务方的存储位置,从而根据运算结果确定非空特征值计数。该非空特征值计数可以仅在查询方返回,而服务方无返回。其中,秘密分享通过将隐私数据切分后分享给多个参与方,以保证隐私数据的安全性,在多参与方各自持有隐私数据的情况下,基于秘密分享可以在不暴露各自隐私数据的前提下,实现数据的加和、乘积等。查询方、服务方可以在第三方的协助下实现秘密分享,也可以由双方进行无中心的秘密分享,根据统计值的类型,查询方、服务方可以进行秘密分享加法运算,也可以进行秘密分享乘法运算。
如,查询方提供掩码向量M(1,1,1,0),服务方提供计数向量C(1,1,0,1)进行秘密分享乘法运算,确定特征值非空计数为2。
在本公开一可选的方法实施例中,中间统计结果包括特征值均值、特征值标准差,以及第一特征向量,第一特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值,统计值包括交集特征值和值。
其中,特征值和值可以是统计第二主键在服务方所对应的特征值中,非空的特征值的和值。在此基础上,服务方可以在存储的所有特征值中,先根据非空的特征值确定特征值均值e和特征值标准差d,并基于e和d构建第一特征向量。第一特征向量可部分参考前述掩码向量、计数向量的相关描述。在第一特征向量中,可以采用标准化特征值在对应第三主键的存储位置处赋值,标准化特征值可以采用标准差标准化的方式获得,具体的将特征值减去特征值均值后除以特征值标准差。通过标准化处理,可以简化数据量,避免后续运算中数值超出秘密分享的数域,并提高数据处理的效率。
如,服务方根据薪资A为6000、薪资B为5000、薪资C为空值、薪资D为7000,确定特征值均值e为6000和特征值标准差d为1000。则标准化薪资A为0,标准化薪资B为-1,标准化薪资D为1,薪资C为空值则标准化薪资置为0;进一步的,服务方构建大小为(n,1)且全0的初始第一特征向量,初始第一特征向量用于表示标准化薪资对应第三主键在服务方的存储位置,根据标准化薪资在初始第一特征向量对应位置进行赋值,获得第一特征向量S1(0,-1,0,1)。
则步骤203之后可以包括如下步骤204至步骤206:
步骤204、提供掩码向量,与服务方提供的第一特征向量进行秘密分享,获得第二主键对应标准化特征值的第一交集标准化和值。
本公开实施例中,由于掩码向量用于指示第二主键在服务方的存储位置,第一特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值,因此查询方可以提供掩码向量,服务方可以提供第一特征向量,并在查询方、服务方间通过秘密分享对掩码向量、第一特征向量进行运算,使得运算结果中包括第二主键在服务方对应的标准化特征值,并根据各第二主键在服务方对应的标准化特征值确定第一交集标准化和值。该第一交集标准化和值可以仅在查询方返回,而在服务方无返回。
如,查询方提供掩码向量M(1,1,1,0),服务方提供第一特征向量S1(0,-1,0,1)进行秘密分享乘法运算,确定第一交集标准化和值(salary_sum)为-1。
步骤205、向服务方发送特征值非空计数,以及第一交集标准化和值。
本公开实施例中,查询方在获得第一交集标准化和值后,确定的是第二主键在服务方对应标准化特征值的和值,但是查询方未获得特征值均值与特征值标准差,因而无法将第一交集标准化和值转换为第二主键在服务方对应特征值的和值。此时,查询方可以向服务方发送特征值非空计数,特征值非空计数用于表示交集中在服务方对应特征值非空主键的总数量,以及该第一交集标准化和值,由服务方进行转换。
如,查询方向服务方发送“第一交集标准化和值为-1”以及“特征值非空计数(salary_cnt)为2”。
步骤206、获得第二主键对应的交集特征值和值,交集特征值和值由服务方根据特征值非空计数、特征值均值,以及第一交集标准化和值、特征值标准差确定。
本公开实施例中,服务方在获得特征值非空计数、第一交集标准化和值后,可以根据标准差标准化的运算过程,对第一交集标准化和值进行转化。具体的,可以采用如下公式(1)进行转化获得交集特征值和值(salary_sum_new):
salary_sum_new =salary_sum*d+ salary_cnt *e (1)
如,服务方在确定第一交集标准化和值(salary_sum)为-1、特征值标准差(d)为1000、特征值非空计数(salary_cnt)为2,特征值均值(e)为6000的情况下,可得交集特征值和值为11000。在上述过程中,服务方在未获知第二主键的情况下,根据中间统计结果进行转换,可以向查询方提供第二主键对应非空特征值的交集特征值和值。
在本公开一可选的方法实施例中,查询方可以采用Paillier同态加密算法,对第一交集标准化和值、特征值非空计数加密后,再向服务方发送;服务方在对加密后的第一交集标准化和值、特征值非空计数的密文,以及特征值标准差、特征值均值的明文,进行密文和明文的四则运算,得到加密后的交集特征值和值,并向查询方发送;查询方进行解密,获得交集特征值和值。上述过程中,服务方仅能获得第一交集标准化和值、特征值非空计数的密文,而不能具体获得其数值,因此能够进一步保证统计值查询中的数据安全。其中,同态加密指对数据加密后,在密文的基础上进行运算处理,在对运算结果进行解密后得到的明文,与未对数据加密直接进行相同运算处理的结果相同,同态加密可以在不暴露原始数据的情况下,实现数据加工、运算。本领域技术人员可以采用Paillier同态加密算法,也可以根据应用需求、处理条件采用其他同态加密算法,本公开实施例对此不做具体限制。
如,查询方采用Paillier同态加密算法分别对salary_sum、salary_cnt进行加密,获得[salary_sum]、[salary_cnt],并向服务方发送;服务方基于[salary_sum]、[salary_cnt]、d、e,参照公式(1)进行密文和明文的四则运算,获得[salary_sum_new],并向查询方发送;查询方基于前述Paillier同态加密算法对[salary_sum_new]进行解密,获得salary_sum_new。
在本公开一可选的方法实施例中,统计值还包括交集特征值均值。
则步骤206之后可以包括如下步骤207:
步骤207、根据交集特征值和值、特征值非空计数,确定第二主键对应的交集特征值均值。
本公开实施例中,交集特征值均值指在服务方对应特征值非空的第二主键,对应各特征值的平均值。因此,在前述流程的基础上,根据交集特征值和值、特征值非空计数,可以采用如下公式(2)确定第二主键对应的交集特征值均值E(salary):
如,查询方确定交集特征值和值为11000,且特征值非空计数为2,则基于上述公式(2),确定交集特征值均值E(salary)为5500。
需要说明的是,可能存在特征值非空计数为0的情况,即第二主键在服务方对应的每一特征值为空值。此时,可以确定第二主键对应的交集特征值均值为0。
在本公开一可选的方法实施例中,中间统计结果还包括特征值均方值、特征值均方标准差,以及第二特征向量,第二特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值均方值,统计值还包括特征值方差。
其中,方差通常用于表征特征值间的离散程度,通常基于方差、均方差确定。因此,统计值还可以包括特征值方差,则中间统计结果还可以包括特征值均方值、特征值均方标准差,以及第二特征向量。特征值均方值指对特征值进行平方运算后确定的平均值,特征值均方标准差根据对平方运算后的特征值,以及特征值均方值确定,标准化特征值均方值基于特征值均方值、特征值均方标准差对平方运算后的特征值进行标准差标准化确定。第二特征向量可对应参照前述第一特征向量的特征描述,采用标准化特征值均方值进行赋值获得。
如,服务方根据薪资A为6000、薪资B为5000、薪资C为空值、薪资D为7000,确定平方薪资A为36000000、平方薪资B为25000000、平方薪资D为49000000;则特征值均方值e’为36666666.7和特征值均方标准差d’为12013880.9。则标准化薪资均方值A为-0.06,标准化薪资均方值B为-0.97,标准化薪资均方值D为1.03,薪资C为空值则标准化薪资均方值置为0;进一步的,服务方构建大小为(n,1)且全0的初始第二特征向量,初始第二特征向量用于表示标准化薪资均方值对应的第三主键在服务方的存储位置,再根据标准化薪资均方值在初始第二特征向量对应位置处进行赋值,获得第二特征向量S2(-0.06,-0.97,0,1.03)。
则步骤203之后可以包括如下步骤208至步骤212:
步骤208、提供掩码向量,与服务方提供的第二特征向量进行秘密分享,获得第二主键对应标准化特征值均方值的第二交集标准化和值。
本公开实施例中,步骤212可对应参照前述步骤204的相关描述,为避免重复,在此不再赘述。
如,查询方提供掩码向量M(1,1,1,0),服务方提供第二特征向量S2(-0.06,-0.97,0,1.03)进行秘密分享乘法运算,确定第二交集标准化和值(salary_sum’)为-1.03。
步骤209、向服务方发送特征值非空计数,以及第二交集标准化和值。
本公开实施例中,步骤213可对应参照前述步骤205的相关描述,为避免重复,在此不再赘述。
如,查询方向服务方发送“第二交集标准化和值为-1.03”以及“特征值非空计数(salary_cnt)为2”。
步骤210、获得第二主键对应的交集特征值均方和值,交集特征值均方和值由服务方根据特征值非空计数、特征值均方值,以及第二交集标准化和值、特征值标准差均方值确定。
本公开实施例中,步骤214可对应参照前述步骤206的相关描述,为避免重复,在此不再赘述。
如,服务方在确定第二交集标准化和值为-1.03、特征值均方标准差(d’)为12013880.9、特征值非空计数为2,特征值均值(e’)为36666666.7的情况下,可得交集特征值均方和值为60,959,036.073,约等于61000000。在上述过程中,服务方在未获知第二主键的情况下,根据中间统计结果进行转换,可以向查询方提供第二主键对应非空特征值的交集特征值均方和值。
步骤211、根据交集特征值均方和值、特征值非空计数,确定第二主键对应的交集特征值均方值。
本公开实施例中,步骤215可对应参照前述步骤207的相关描述,为避免重复,在此不再赘述。
如,查询方根据交集特征值均方和值61000000,以及特征值非空计数2,确定交集特征值均方值E(salary
则步骤207、211之后,可以包括如下步骤212:
步骤212、根据交集特征值均值、交集特征值均方值、特征值非空计数确定第二主键对应的特征值方差。
本公开实施例中,在确定交集特征值均值、交集特征值均方值的基础上,可以进一步根据如下公式(3)确定第二主键对应的特征值方差D:
D= E(salary
如,交集特征值均值为5500,交集特征值均方值为30500000,则基于上述公式(3),特征值方差为250000。
需要说明的是,可能存在特征值非空计数小于或等于1的情况,即第二主键在服务方对应的特征值中非空的数量为0或1。此时,可以确定第二主键对应的特征值方差为0。
在本公开一可选的方法实施例中,统计值还包括特征值标准差。则步骤212之后,还包括如下步骤213:
步骤213、根据特征值方差、特征值非空计数,确定第二主键对应的特征值标准差。
本公开实施例中,在确定特征值方差的基础上,可以进一步根据如下公式(4)确定第二主键对应的特征值标准差S:
如,特征值方差为250000,则基于上述公式(4),特征值标准差为500。
需要说明的是,可能存在特征值非空计数小于或等于1的情况下,即第二主键在服务方对应的特征值中非空的数量为0或1。此时,可以确定第二主键对应的特征值标准差为0。
本公开提供的基于隐私集合求交的联邦统计查询方法,查询方与服务方可以基于待查询的第一主键进行隐私集合求交,获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值;查询方还可以获取服务方发送的第三主键总数,并基于该第三主键总数、存储位置构建掩码向量,该掩码向量可以指示第二主键在服务方的存储位置;进一步的,查询方可以基于该掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,该中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得。上述方法中,由于中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值统计得到,因此查询方基于第二主键在服务方的存储位置,可以从中间统计结果中得到第二主键对应特征值的统计值,而且查询方仅能够获知第二主键在服务方的存储位置,以及由服务方提供的中间统计结果,不会向查询方暴露服务方所持有的具体特征值,从而能够避免查询过程中的隐私泄露,提升对数据的保护能力,有效保证数据安全。
图3为本公开实施例提供的另一种基于隐私集合求交的联邦统计查询方法的步骤流程图,该方法可以应用于服务方,该方法可以包括如下步骤301至步骤304。
步骤301、与查询方基于待查询的第一主键进行隐私集合求交,以使查询方获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值。
步骤302、向查询方发送第三主键总数,以使查询方基于第三主键总数、存储位置构建掩码向量,掩码向量用于指示第二主键在服务方的存储位置。
步骤303、根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算,获得中间统计结果。
步骤304、提供中间统计结果,以使查询方基于掩码向量以及中间统计结果,获得第二主键对应特征值的统计值。
本公开提供的基于隐私集合求交的联邦统计查询方法,服务方与查询方可以基于待查询的第一主键进行隐私集合求交,以使查询方获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值;服务方还可以向查询方发送第三主键总数,以使查询方基于该第三主键总数、存储位置构建掩码向量,该掩码向量可以指示第二主键在服务方的存储位置;进一步的,服务方还可以向查询方提供中间统计结果,该中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得,以使查询方可以基于该中间统计结果以及掩码向量,获得第二主键对应特征值的统计值。上述方法中,由于中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值统计得到,因此,查询方基于第二主键在服务方的存储位置,可以从中间统计结果中得到第二主键对应特征值的统计值,而且查询方仅能够获知第二主键在服务方的存储位置,以及由服务方提供的中间统计结果,不会向查询方暴露服务方所持有的具体特征值,从而能够避免查询过程中的隐私泄露,提升对数据的保护能力,有效保证数据安全;同时,服务方也仅需向查询方提供中间统计结果,而不能获取查询方具体所查询的第二主键,进一步提高了联邦统计查询中各参与方的数据安全。
图4为本公开实施例提供的基于隐私集合求交的联邦统计查询方法的交互示意图,如图4所示,该方法可以应用于查询方、服务方,统计值可以为特征值均值,其中,查询方本地存储有数据表1,服务方本地存储有数据表2,数据表1存储有手机号(ID),数据表2中存储有手机号,以及手机号对应用户的薪资(salary)。以数据表1所存储的ID为待查询的第一主键t1,数据表2所存储的ID为服务方存储的第三主键t2,查询方可以以SQL语句:selectavg(salary)from t1 inner join t2 on t1.ID=t2.ID,发起在服务方的薪资均值统计查询请求,响应于该统计查询请求,本公开实施例提供的基于隐私集合求交的联邦统计查询方法可以如下步骤401至步骤410所示。
步骤401、查询方和服务方基于数据表1所存储的ID进行隐私集合求交(PSI),在查询方返回交集ID(inter_ids)在数据表2中的样本索引(inter_indexs);在服务方无返回。
步骤402、服务方将数据表2中的ID总数n向查询方发送。
步骤403、查询方生成大小为(1,n)且全0的初始掩码向量,并根据inter_indexs在初始掩码向量的对应位置赋值为1,得到掩码向量(M)。
步骤404、服务方生成大小为(n,1)且全0的初始计数向量,并根据所有非空值的salary对应ID在数据表2的索引位置,在初始计数向量的对应位置赋值为1,得到计数向量(C)。
步骤405、查询方输入M,服务方输入C,进行无中心的秘密分享乘法运算,在查询方返回inter_ids对应的特征非空计数(salary_cnt),在服务方无返回;在salary_cnt为0时,确定特征值均值为空值,并结束流程。
步骤406、服务方对所有非空的salary确定特征值均值(e)和特征值标准差(d),对每一非空的salary进行标准差标准化,获得标准化特征值;服务方生成大小为(n,1)且全0的初始特征向量,并基于标准化特征值对应ID在数据表2的索引位置,对初始特征向量进行赋值,获得特征向量(S)。
步骤407、查询方输入M,服务方输入S,进行无中心的秘密分享乘法运算,在查询方返回inter_ids对应的标准化特征值和值(salary_sum);在服务方无返回。
步骤408、查询方采用Paillier同态加密算法对salary_sum、salary_cnt分别进行加密,获得[salary_sum]、[salary_sum],并向服务方发送。
步骤409、服务方基于密文[salary_sum]、[salary_cnt],以及明文d、e进行四则运算[salary_sum]*d+[salary_cnt]*e,获得交集特征值和值的密文[salary_sum_new],并将[salary_sum_new]向查询方发送。
步骤410、查询方对[salary_sum_new]进行解密,获得交集特征值和值salary_sum_new,并根据salary_sum_new与salary_cnt确定特征值均值E(salary)。
本公开提供的基于隐私集合求交的联邦统计查询方法,查询方与服务方可以基于待查询的第一主键进行隐私集合求交,获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值;查询方还可以获取服务方发送的第三主键总数,并基于该第三主键总数、存储位置构建掩码向量,该掩码向量可以指示第二主键在服务方的存储位置;进一步的,查询方可以基于该掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,该中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得。上述方法中,由于中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值统计得到,因此查询方基于第二主键在服务方的存储位置,可以从中间统计结果中得到第二主键对应特征值的统计值,而且查询方仅能够获知第二主键在服务方的存储位置,以及由服务方提供的中间统计结果,不会向查询方暴露服务方所持有的具体特征值,从而能够避免查询过程中的隐私泄露,提升对数据的保护能力,有效保证数据安全;同时,服务方也仅需向查询方提供中间统计结果,而不能获取查询方具体所查询的第二主键,进一步提高了联邦统计查询中各参与方的数据安全。
图5为本公开实施例提供的一种基于隐私集合求交的联邦统计查询装置500的结构示意图,该装置可以包括:
第一交集确定模块501,用于与服务方基于待查询的第一主键进行隐私集合求交,获得与服务方所存储的第三主键中构成交集的第二主键在服务方的存储位置,服务方包括第三主键以及第三主键对应的特征值。
掩码向量构建模块502,用于获取服务方发送的第三主键总数,并基于第三主键总数、存储位置构建掩码向量,掩码向量用于指示第二主键在服务方的存储位置。
统计结果计算模块503,用于基于掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得。
在本公开的一装置实施例中,中间统计结果包括计数向量,计数向量用于指示服务方中非空的特征值对应第三主键的存储位置,统计值包括非空特征值计数,统计结果计算模块503,具体用于提供掩码向量,与服务方提供的计数向量进行秘密分享,获得第二主键对应的特征值非空计数。
在本公开的一装置实施例中,中间统计结果还包括特征值均值、特征值标准差,以及第一特征向量,第一特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值,统计值还包括交集特征值和值,统计结果计算模块503,还用于提供掩码向量,与服务方提供的第一特征向量进行秘密分享,获得第二主键对应标准化特征值的第一交集标准化和值;向服务方发送特征值非空计数,以及第一交集标准化和值;获得第二主键对应的交集特征值和值,交集特征值和值由服务方根据特征值非空计数、特征值均值,以及第一交集标准化和值、特征值标准差确定。
在本公开的一装置实施例中,统计值还包括交集特征值均值503,统计结果计算模块,还用于根据交集特征值和值、特征值非空计数,确定第二主键对应的交集特征值均值。
在本公开的一装置实施例中,中间统计结果还包括特征值均方值、特征值均方标准差,以及第二特征向量,第二特征向量用于根据第三主键在服务方中的存储位置记录对应的标准化特征值均方值,统计值还包括特征值方差,统计结果计算模块503,还用于提供掩码向量,与服务方提供的第二特征向量进行秘密分享,获得第二主键对应标准化特征值均方值的第二交集标准化和值;向服务方发送特征值非空计数,以及第二交集标准化和值;获得第二主键对应的交集特征值均方和值,交集特征值均方和值由服务方根据特征值非空计数、特征值均方值,以及第二交集标准化和值、特征值标准差均方值确定;根据交集特征值均方和值、特征值非空计数,确定第二主键对应的交集特征值均方值;根据交集特征值均值、交集特征值均方值、特征值非空计数确定第二主键对应的特征值方差。
在本公开的一装置实施例中,统计值还包括特征值标准差,统计结果计算模块,还用于根据特征值方差、特征值非空计数,确定第二主键对应的特征值标准差。
本公开提供的基于隐私集合求交的联邦统计查询装置,查询方与服务方可以基于待查询的第一主键进行隐私集合求交,获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值;查询方还可以获取服务方发送的第三主键总数,并基于该第三主键总数、存储位置构建掩码向量,该掩码向量可以指示第二主键在服务方的存储位置;进一步的,查询方可以基于该掩码向量以及中间统计结果,获得第二主键对应特征值的统计值,该中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得。上述方法中,由于中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值统计得到,因此查询方基于第二主键在服务方的存储位置,可以从中间统计结果中得到第二主键对应特征值的统计值,而且查询方仅能够获知第二主键在服务方的存储位置,以及由服务方提供的中间统计结果,不会向查询方暴露服务方所持有的具体特征值,从而能够避免查询过程中的隐私泄露,提升对数据的保护能力,有效保证数据安全。
图6为本公开实施例提供的另一种基于隐私集合求交的联邦统计查询装置600的结构示意图,该装置可以包括:
第二交集确定模块601,用于与查询方基于待查询的第一主键进行隐私集合求交,所述服务方包括所述第三主键以及所述第三主键对应的特征值,以使所述查询方获得所述第一主键中与所述第三主键构成交集的第二主键,以及所述第二主键在所述服务方的存储位置。
主键总数发送模块602,用于向所述查询方发送第三主键总数,以使所述查询方基于所述第三主键总数、所述存储位置构建掩码向量,所述掩码向量用于指示所述第二主键在所述服务方的存储位置。
中间统计结果模块603,用于根据所述第三主键的存储位置,以及所述第三主键对应的所述特征值进行统计计算,获得中间统计结果。
所述中间统计结果模块603,还用于提供所述中间统计结果,以使所述查询方基于掩码向量以及所述中间统计结果,获得所述第二主键对应所述特征值的统计值。
本公开提供的基于隐私集合求交的联邦统计查询装置,服务方与查询方可以基于待查询的第一主键进行隐私集合求交,以使查询方获得第二主键在服务方的存储位置,第二主键由第一主键与服务方存储的第三主键的交集构成,服务方包括第三主键以及第三主键对应的特征值;服务方还可以向查询方发送第三主键总数,以使查询方基于该第三主键总数、存储位置构建掩码向量,该掩码向量可以指示第二主键在服务方的存储位置;进一步的,服务方还可以向查询方提供中间统计结果,该中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值进行统计计算获得,以使查询方可以基于该中间统计结果以及掩码向量,获得第二主键对应特征值的统计值。上述方法中,由于中间统计结果由服务方根据第三主键的存储位置,以及第三主键对应的特征值统计得到,因此查询方基于第二主键在服务方的存储位置,可以从中间统计结果中得到第二主键对应特征值的统计值,而且查询方仅能够获知第二主键在服务方的存储位置,以及由服务方提供的中间统计结果,不会向查询方暴露服务方所持有的具体特征值,从而能够避免查询过程中的隐私泄露,提升对数据的保护能力,有效保证数据安全;同时,服务方也仅需向查询方提供中间统计结果,而不能获取查询方具体所查询的第二主键,进一步提高了联邦统计查询中各参与方的数据安全。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本公开的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
其中,存储单元存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过显示单元740和与显示单元740连接的输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
在本公开的实施方式中,还提供了用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
- 基于分布式数据库的信息查询方法及装置、电子设备
- 一种数据查询方法、装置、电子设备及存储介质
- 一种数据查询方法、装置、电子设备及存储介质
- 一种基于条件隐私集合求交的联邦学习模型训练方法
- 基于联邦学习的隐私集合求交方法、系统、设备及介质