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

一种数据查询方法及装置

文献发布时间:2023-06-19 15:47:50



技术领域

本申请涉及数据安全领域,具体而言,涉及一种数据查询方法及装置。

背景技术

匿踪查询技术,也称隐私信息检索,是指查询数据的数据查询方隐藏被查询对象的关键词或被查询客户的身份标识号(Identity Document,ID)信息,因此提供数据的服务提供方提供匹配的查询结果却无法获知具体对应哪个查询对象。

在现有技术中,目前常用的匿踪查询技术一般都是通过数据查询方与服务提供方之间直接进行通信,数据查询方向服务提供方查询被查询对象的数据,而服务提供方向数据查询方提供被查询对应的数据。因此,现有的匿踪查询技术可以解决数据查询方在查询服务提供方数据时,不暴露数据查询方ID的问题。但是,在上述匿踪查询的过程中,无法对数据查询方查询的数据进行处理。

发明内容

本申请实施例的目的在于提供一种数据查询方法及装置,用以解决无法在匿踪查询的过程中实现对查询的数据进行处理的技术问题。

第一方面,本申请实施例提供一种数据查询方法,应用于数据查询方,包括:与服务提供方进行盲签名,得到待查询数据在所述服务提供方的数据集中的位置索引;根据所述位置索引确定所述待查询数据对应的索引序列;根据所述索引序列以及模型持有方发送的中间数据序列确定所述待查询数据;其中,所述中间数据序列根据所述服务提供方中的初始数据序列以及所述模型持有方中的权重序列确定。在上述方案中,数据查询方可以接收模型持有方发送的中间数据序列,其中,中间数据序列可以为模型持有方及权重序列对服务提供方提供的初始数据序列进行处理后的数据。也就是说,在本申请实施例中,可以利用模型持有方对查询的数据进行处理,从而解决了无法在匿踪查询的过程中实现对查询的数据进行处理的技术问题。

在可选的实施方式中,所述根据所述索引序列以及模型持有方发送的中间数据序列确定所述待查询数据,包括:对所述索引序列进行碎片化,并接收经过所述模型持有方碎片化后的第一权重序列以及经过所述服务提供方碎片化后的第一初始数据序列;根据碎片化后的索引序列以及所述中间数据序列确定碎片化数据;其中,所述中间数据序列根据碎片化后的第二初始数据序列以及碎片化后的第二权重序列确定;根据所述碎片化数据、所述第一权重序列以及所述第一初始数据序列确定所述待查询数据。在上述方案中,数据查询方可以对索引序列进行碎片化,模型持有方可以对权重序列进行碎片化,服务提供方可以对初始数据序列进行碎片化。其中,由于三方均对数据进行了碎片化,因此在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据;而数据查询方可以基于碎片化后的数据将数据还原,得到完整的被查询数据。因此,在本申请实施例中,可以在实现对查询的数据进行处理的基础上,进一步的提高数据查询的安全性。

在可选的实施方式中,所述根据碎片化后的索引序列以及所述中间数据序列确定碎片化数据,包括:针对所述碎片化后的索引序列中的第i个数值,将所述碎片化后的索引序列中的第i个数值与所述中间数据序列中的第i个数值相乘,得到第i个乘积结果;其中,1≤i≤n,n为所述数据集中数据的数量;将n个乘积结果相加,得到所述待查询数据。在上述方案中,数据查询方可以对索引序列进行碎片化,模型持有方可以对权重序列进行碎片化,服务提供方可以对初始数据序列进行碎片化。其中,由于三方均对数据进行了碎片化,因此在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据;而数据查询方可以基于碎片化后的数据将数据还原,得到完整的被查询数据。因此,在本申请实施例中,可以在实现对查询的数据进行处理的基础上,进一步的提高数据查询的安全性。

在可选的实施方式中,所述根据所述索引序列以及模型持有方发送的中间数据序列确定所述待查询数据,包括:针对所述索引序列中的第j个数值,将所述索引序列中的第j个数值与所述中间数据序列中的第j个数值相乘,得到第j个乘积结果;其中,1≤j≤m,m为所述数据集中数据的数量;将m个乘积结果相加,得到所述待查询数据。在上述方案中,数据查询方可以根据索引序列以及模型持有方发送的中间数据序列确定待查询数据,由于模型持有方以及服务提供方并不知道数据查询方具体查询的是哪个数据,因此可以在实现对查询数据进行处理的基础上,保证数据查询的安全性。

在可选的实施方式中,所述根据所述位置索引确定所述待查询数据对应的索引序列,包括:将序列中与所述位置索引对应的位置的数值置为1,以及将序列中其他位置的数值置为0,得到所述索引序列;其中,所述索引序列中数值的数量与所述数据集中数据的数量相同。在上述方案中,数据查询方可以根据索引序列以及模型持有方发送的中间数据序列确定待查询数据,由于模型持有方以及服务提供方并不知道数据查询方具体查询的是哪个数据,因此可以在实现对查询数据进行处理的基础上,保证数据查询的安全性。

在可选的实施方式中,所述与服务提供方进行盲签名,得到待查询数据在所述服务提供方的数据集中的位置索引,包括:接收所述服务提供方发送的公钥;根据所述公钥对本端的第一ID进行盲化,得到第二ID;向所述服务提供方发送所述第二ID,以使所述服务提供方对所述第二ID进行签名得到第三ID;接收所述服务提供方发送的所述第三ID以及第四ID;其中,所述第四ID为所述服务提供方对自身ID进行签名得到的;对所述第三ID进行除盲,并基于除盲后的ID以及所述第四ID进行密态求文,得到所述位置索引。

第二方面,本申请实施例提供一种数据查询装置,应用于数据查询方,包括:盲签名模块,用于与服务提供方进行盲签名,得到待查询数据在所述服务提供方的数据集中的位置索引;第一确定模块,用于根据所述位置索引确定所述待查询数据对应的索引序列;第二确定模块,用于根据所述索引序列以及模型持有方发送的中间数据序列确定所述待查询数据;其中,所述中间数据序列根据所述服务提供方中的初始数据序列以及所述模型持有方中的权重序列确定。在上述方案中,数据查询方可以接收模型持有方发送的中间数据序列,其中,中间数据序列可以为模型持有方及权重序列对服务提供方提供的初始数据序列进行处理后的数据。也就是说,在本申请实施例中,可以利用模型持有方对查询的数据进行处理,从而解决了无法在匿踪查询的过程中实现对查询的数据进行处理的技术问题。

在可选的实施方式中,所述第二确定模块具体用于:对所述索引序列进行碎片化,并接收经过所述模型持有方碎片化后的第一权重序列以及经过所述服务提供方碎片化后的第一初始数据序列;根据碎片化后的索引序列以及所述中间数据序列确定碎片化数据;其中,所述中间数据序列根据碎片化后的第二初始数据序列以及碎片化后的第二权重序列确定;根据所述碎片化数据、所述第一权重序列以及所述第一初始数据序列确定所述待查询数据。在上述方案中,数据查询方可以对索引序列进行碎片化,模型持有方可以对权重序列进行碎片化,服务提供方可以对初始数据序列进行碎片化。其中,由于三方均对数据进行了碎片化,因此在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据;而数据查询方可以基于碎片化后的数据将数据还原,得到完整的被查询数据。因此,在本申请实施例中,可以在实现对查询的数据进行处理的基础上,进一步的提高数据查询的安全性。

在可选的实施方式中,所述第二确定模块还用于:针对所述碎片化后的索引序列中的第i个数值,将所述碎片化后的索引序列中的第i个数值与所述中间数据序列中的第i个数值相乘,得到第i个乘积结果;其中,1≤i≤n,n为所述数据集中数据的数量;将n个乘积结果相加,得到所述待查询数据。在上述方案中,数据查询方可以对索引序列进行碎片化,模型持有方可以对权重序列进行碎片化,服务提供方可以对初始数据序列进行碎片化。其中,由于三方均对数据进行了碎片化,因此在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据;而数据查询方可以基于碎片化后的数据将数据还原,得到完整的被查询数据。因此,在本申请实施例中,可以在实现对查询的数据进行处理的基础上,进一步的提高数据查询的安全性。

在可选的实施方式中,所述第二确定模块具体用于:针对所述索引序列中的第j个数值,将所述索引序列中的第j个数值与所述中间数据序列中的第j个数值相乘,得到第j个乘积结果;其中,1≤j≤m,m为所述数据集中数据的数量;将m个乘积结果相加,得到所述待查询数据。在上述方案中,数据查询方可以根据索引序列以及模型持有方发送的中间数据序列确定待查询数据,由于模型持有方以及服务提供方并不知道数据查询方具体查询的是哪个数据,因此可以在实现对查询数据进行处理的基础上,保证数据查询的安全性。

在可选的实施方式中,所述第一确定模块具体用于:将序列中与所述位置索引对应的位置的数值置为1,以及将序列中其他位置的数值置为0,得到所述索引序列;其中,所述索引序列中数值的数量与所述数据集中数据的数量相同。在上述方案中,数据查询方可以根据索引序列以及模型持有方发送的中间数据序列确定待查询数据,由于模型持有方以及服务提供方并不知道数据查询方具体查询的是哪个数据,因此可以在实现对查询数据进行处理的基础上,保证数据查询的安全性。

在可选的实施方式中,所述盲签名模块具体用于:接收所述服务提供方发送的公钥;根据所述公钥对本端的第一ID进行盲化,得到第二ID;向所述服务提供方发送所述第二ID,以使所述服务提供方对所述第二ID进行签名得到第三ID;接收所述服务提供方发送的所述第三ID以及第四ID;其中,所述第四ID为所述服务提供方对自身ID进行签名得到的;对所述第三ID进行除盲,并基于除盲后的ID以及所述第四ID进行密态求文,得到所述位置索引。

第三方面,本申请实施例提供一种计算机程序产品包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行如第一方面所述的方法。

第四方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器调用所述计算机程序指令能够执行如第一方面所述的方法。

第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序指令,所述计算机程序指令被计算机运行时,使所述计算机执行如第一方面所述的方法。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举本申请实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种数据查询系统的结构框图;

图2为本申请实施例提供的一种应用于数据查询方的数据查询方法的流程图;

图3本申请实施例提供的一种应用于数据查询方的数据查询装置的结构框图;

图4为本申请实施例提供的一种电子设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

请参照图1,图1为本申请实施例提供的一种数据查询系统的结构框图,该数据查询系统100可以包括:数据查询方101、模型持有方102以及服务提供方103。

具体的,数据查询方101以及服务提供方103均与模型持有方102通信连接。其中,数据查询方101用于查询待查询数据,服务提供方103用于提供待查询数据,而模型持有方102用于对服务提供方103提供的数据进行处理后再发送给数据查询方101。作为一种实施方式,模型持有方102可以为一个第三方设备,其可以对服务提供方103提供的数据进行模型安全推理整合后再返回给数据查询方101。

需要说明的是,本申请实施例对服务提供方103的数量不作具体的限定,根据实际情况的不同,本领域技术人员可以灵活的对服务提供方103的数量进行调整,例如:服务提供方103的数量可以为3、可以为10或者可以为50等。

可以理解的是,上述数据查询方101、模型持有方102以及服务提供方103均可以通过电子设备实现,其中,电子设备的具体实施方式将在后续实施例中进行详细的说明,此处暂不介绍。

基于上述数据查询系统中的数据查询方,本申请实施例还提供一种数据查询方法。请参照图2,图2为本申请实施例提供的一种应用于数据查询方的数据查询方法的流程图,该数据查询方法可以包括如下内容:

步骤S201:与服务提供方进行盲签名,得到待查询数据在服务提供方的数据集中的位置索引。

步骤S202:根据位置索引确定待查询数据对应的索引序列。

步骤S203:根据索引序列以及模型持有方发送的中间数据序列确定待查询数据。

具体的,在服务提供方的数据为多个时,每个服务提供方中可以有待查询数据的一部分。以一个服务提供方为例,该服务提供方中存在一个数据集,该数据集中包括一个初始数据序列,该初始数据序列包括多个数据,每个数据对应一个数据集中的位置。而模型持有方中也可以包括多个权重序列,每个权重序列与一个服务提供方的初始数据序列对应。

举例来说,假设服务提供方的数量为N,每个服务提供方的数据集中包括n个数据,那么,第一个服务提供方中的第一个数据、第二个服务提供方中的第一个数据、……、第N个服务提供方中的第一个数据共同组成一个数据;同理,第一个服务提供方中的第n个数据、第二个服务提供方中的第n个数据、……、第N个服务提供方中的第n个数据共同组成一个数据。

首先,在步骤S201中,数据查询方可以通过与服务提供方之间进行盲签名,得到待查询数据在服务提供方的数据集中的位置索引。举例来说,同样假设服务提供方的数量为N,每个服务提供方的数据集中包括n个数据,那么,数据查询方可以通过与服务提供方之间进行盲签名,得到待查询数据在第一个服务提供方至第N个服务提供方中的第2个数据。

需要说明的是,数据查询方与服务提供方进行盲签名的具体实施方式将在后续实施例中进行详细的说明,此处暂不介绍。

接下来,数据查询方在得到待查询数据的位置索引之后,可以根据上述位置索引确定待查询数据对应的索引序列。其中,数据查询方根据上述位置索引确定待查询数据对应的索引序列的具体实施方式可以包括如下内容:

将序列中与位置索引对应的位置的数值置为1,以及将序列中其他位置的数值置为0,得到索引序列。

其中,数据查询方可以根据索引序列以及模型持有方发送的中间数据序列确定待查询数据,由于模型持有方以及服务提供方并不知道数据查询方具体查询的是哪个数据,因此可以在实现对查询数据进行处理的基础上,保证数据查询的安全性。

最后,数据查询方可以根据上述索引序列以及模型持有方发送的中间数据序列确定待查询数据。其中,中间数据序列根据服务提供方中的初始数据序列以及模型持有方中的权重序列确定。

在上述方案中,查询方可以接收模型持有方发送的中间数据序列,其中,中间数据序列可以为模型持有方及权重序列对服务提供方提供的初始数据序列进行处理后的数据。也就是说,在本申请实施例中,可以利用模型持有方对查询的数据进行处理,从而解决了无法在匿踪查询的过程中实现对查询的数据进行处理的技术问题。

进一步的,在上述实施例的基础上,上述步骤S203具体可以包括如下内容:

步骤1),对索引序列进行碎片化,并接收经过模型持有方碎片化后的第一权重序列以及经过服务提供方碎片化后的第一初始数据序列。

步骤2),根据碎片化后的索引序列以及中间数据序列确定碎片化数据。

步骤3),根据碎片化数据、第一权重序列以及第一初始数据序列确定待查询数据。

具体的,数据查询方可以对索引序列进行碎片化,得到碎片化后的索引序列;模型持有方可以对权重序列进行碎片化,得到第一权重序列以及第二权重序列;服务提供方可以对初始数据序列进行碎片化,得到第一初始数据序列以及第二初始数据序列。

在完成碎片化之后,模型持有方以及服务提供方可以将上述第一权重序列以及第一初始数据序列发送给数据查询方;而数据查询方可以根据上述碎片化后的索引序列以及中间数据序列确定碎片化数据。

可以理解的是,在本申请实施例中,中间数据序列可以根据碎片化后的第二初始数据序列以及碎片化后的第二权重序列确定。这样,在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据,而数据查询方可以基于碎片化数据、第一权重序列以及第一初始数据序列将待查询数据还原,得到完整的待查询数据。

在上述方案中,数据查询方可以对索引序列进行碎片化,模型持有方可以对权重序列进行碎片化,服务提供方可以对初始数据序列进行碎片化。其中,由于三方均对数据进行了碎片化,因此在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据。而数据查询方可以基于碎片化后的数据将数据还原,得到完整的被查询数据。因此,在本申请实施例中,可以在实现对查询的数据进行处理的基础上,进一步的提高数据查询的安全性。

进一步的,在上述实施例的基础上,上述根据碎片化后的索引序列以及中间数据序列确定碎片化数据的步骤具体可以包括如下内容:

步骤1),针对碎片化后的索引序列中的第i个数值,将碎片化后的索引序列中的第i个数值与中间数据序列中的第i个数值相乘,得到第i个乘积结果。

步骤2),将n个乘积结果相加,得到待查询数据。

具体的,假设服务提供方的数量为N,每个服务提供方的数据集中包括n个数据,第i个服务提供方中的第二初始数据序列

其中,

模型持有方中的第i个第二权重序列

其中,

因此,中间数据序列

索引序列

因此,待查询数据可以表示为:

=

在上述方案中,数据查询方可以对索引序列进行碎片化,模型持有方可以对权重序列进行碎片化,服务提供方可以对初始数据序列进行碎片化。其中,由于三方均对数据进行了碎片化,因此在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据。而数据查询方可以基于碎片化后的数据将数据还原,得到完整的被查询数据。因此,在本申请实施例中,可以在实现对查询的数据进行处理的基础上,进一步的提高数据查询的安全性。

进一步的,在上述实施例的基础上,上述步骤S203具体可以包括如下内容:

步骤1),针对索引序列中的第j个数值,将索引序列中的第j个数值与中间数据序列中的第j个数值相乘,得到第j个乘积结果。

步骤2),将m个乘积结果相加,得到待查询数据。

具体的,假设服务提供方的数量为M,每个服务提供方的数据集中包括m个数据,第j个服务提供方中的第二初始数据序列

其中,

模型持有方中的第j个第二权重序列

其中,

因此,中间数据序列

索引序列

因此,待查询数据可以表示为:

=

在上述方案中,数据查询方可以根据索引序列以及模型持有方发送的中间数据序列确定待查询数据,由于模型持有方以及服务提供方并不知道数据查询方具体查询的是哪个数据,因此可以在实现对查询数据进行处理的基础上,保证数据查询的安全性。

进一步的,在上述实施例的基础上,上述步骤S201具体可以包括如下内容:

步骤1),服务提供方生成密钥及公钥

步骤2),数据查询方在接收到公钥后,根据公钥对数据查询方的第一ID进行盲化,得到第二ID:

步骤3),数据查询方向服务提供方发送第二ID。

步骤4),服务提供在接收到第二ID后,对第二ID进行签名得到第三ID:

步骤5),数据查询方接收服务提供方发送的第三ID以及第四ID。

步骤6),数据查询方对第三ID进行除盲,并基于除盲后的ID以及第四ID进行密态求文,得到位置索引。

其中,可以利用如下公式对第三ID进行除盲:

可以利用如下公式进行密态求文:

请参照图3,图3本申请实施例提供的一种应用于数据查询方的数据查询装置的结构框图,该数据查询装置300可以包括:盲签名模块301,用于与服务提供方进行盲签名,得到待查询数据在所述服务提供方的数据集中的位置索引;第一确定模块302,用于根据所述位置索引确定所述待查询数据对应的索引序列;第二确定模块303,用于根据所述索引序列以及模型持有方发送的中间数据序列确定所述待查询数据;其中,所述中间数据序列根据所述服务提供方中的初始数据序列以及所述模型持有方中的权重序列确定。

在本申请实施例中,数据查询方可以接收模型持有方发送的中间数据序列,其中,中间数据序列可以为模型持有方及权重序列对服务提供方提供的初始数据序列进行处理后的数据。也就是说,在本申请实施例中,可以利用模型持有方对查询的数据进行处理,从而解决了无法在匿踪查询的过程中实现对查询的数据进行处理的技术问题。

进一步的,所述第二确定模块303具体用于:对所述索引序列进行碎片化,并接收经过所述模型持有方碎片化后的第一权重序列以及经过所述服务提供方碎片化后的第一初始数据序列;根据碎片化后的索引序列以及所述中间数据序列确定碎片化数据;其中,所述中间数据序列根据碎片化后的第二初始数据序列以及碎片化后的第二权重序列确定;根据所述碎片化数据、所述第一权重序列以及所述第一初始数据序列确定所述待查询数据。

在本申请实施例中,数据查询方可以对索引序列进行碎片化,模型持有方可以对权重序列进行碎片化,服务提供方可以对初始数据序列进行碎片化。其中,由于三方均对数据进行了碎片化,因此在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据;而数据查询方可以基于碎片化后的数据将数据还原,得到完整的被查询数据。因此,在本申请实施例中,可以在实现对查询的数据进行处理的基础上,进一步的提高数据查询的安全性。

进一步的,所述第二确定模块303还用于:针对所述碎片化后的索引序列中的第i个数值,将所述碎片化后的索引序列中的第i个数值与所述中间数据序列中的第i个数值相乘,得到第i个乘积结果;其中,1≤i≤n,n为所述数据集中数据的数量;将n个乘积结果相加,得到所述待查询数据。

在本申请实施例中,数据查询方可以对索引序列进行碎片化,模型持有方可以对权重序列进行碎片化,服务提供方可以对初始数据序列进行碎片化。其中,由于三方均对数据进行了碎片化,因此在数据传输的过程中,模型持有方以及服务提供方均不会知道被查询数据的完整数据;而数据查询方可以基于碎片化后的数据将数据还原,得到完整的被查询数据。因此,在本申请实施例中,可以在实现对查询的数据进行处理的基础上,进一步的提高数据查询的安全性。

进一步的,所述第二确定模块303具体用于:针对所述索引序列中的第j个数值,将所述索引序列中的第j个数值与所述中间数据序列中的第j个数值相乘,得到第j个乘积结果;其中,1≤j≤m,m为所述数据集中数据的数量;将m个乘积结果相加,得到所述待查询数据。

在本申请实施例中,数据查询方可以根据索引序列以及模型持有方发送的中间数据序列确定待查询数据,由于模型持有方以及服务提供方并不知道数据查询方具体查询的是哪个数据,因此可以在实现对查询数据进行处理的基础上,保证数据查询的安全性。

进一步的,所述第一确定模块302具体用于:将序列中与所述位置索引对应的位置的数值置为1,以及将序列中其他位置的数值置为0,得到所述索引序列;其中,所述索引序列中数值的数量与所述数据集中数据的数量相同。

在本申请实施例中,数据查询方可以根据索引序列以及模型持有方发送的中间数据序列确定待查询数据,由于模型持有方以及服务提供方并不知道数据查询方具体查询的是哪个数据,因此可以在实现对查询数据进行处理的基础上,保证数据查询的安全性。

进一步的,所述盲签名模块301具体用于:接收所述服务提供方发送的公钥;根据所述公钥对本端的第一ID进行盲化,得到第二ID;向所述服务提供方发送所述第二ID,以使所述服务提供方对所述第二ID进行签名得到第三ID;接收所述服务提供方发送的所述第三ID以及第四ID;其中,所述第四ID为所述服务提供方对自身ID进行签名得到的;对所述第三ID进行除盲,并基于除盲后的ID以及所述第四ID进行密态求文,得到所述位置索引。

请参照图4,图4为本申请实施例提供的一种电子设备的结构框图,该电子设备400包括:至少一个处理器401,至少一个通信接口402,至少一个存储器403和至少一个通信总线404。其中,通信总线404用于实现这些组件直接的连接通信,通信接口402用于与其他节点设备进行信令或数据的通信,存储器403存储有处理器401可执行的机器可读指令。当电子设备400运行时,处理器401与存储器403之间通过通信总线404通信,机器可读指令被处理器401调用时执行上述数据查询方法。

例如,本申请实施例的处理器401通过通信总线404从存储器403读取计算机程序并执行该计算机程序可以实现如下方法:与服务提供方进行盲签名,得到待查询数据在所述服务提供方的数据集中的位置索引;根据所述位置索引确定所述待查询数据对应的索引序列;根据所述索引序列以及模型持有方发送的中间数据序列确定所述待查询数据;其中,所述中间数据序列根据所述服务提供方中的初始数据序列以及所述模型持有方中的权重序列确定。

其中,处理器401包括一个或多个,其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器401可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(NetworkProcessor,简称NP)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(Neural-network Processing Unit,简称NPU)、图形处理器(Graphics Processing Unit,简称GPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器401为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。

存储器403包括一个或多个,其可以是,但不限于,随机存取存储器(RandomAccess Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(ElectricErasable Programmable Read-Only Memory,简称EEPROM)等。

可以理解,图4所示的结构仅为示意,电子设备400还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。于本申请实施例中,电子设备400可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备400也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。

本申请实施例还提供一种计算机程序产品,包括存储在计算机可读存储介质上的计算机程序,计算机程序包括计算机程序指令,当计算机程序指令被计算机执行时,计算机能够执行上述实施例中数据查询方法的步骤,例如包括:与服务提供方进行盲签名,得到待查询数据在所述服务提供方的数据集中的位置索引;根据所述位置索引确定所述待查询数据对应的索引序列;根据所述索引序列以及模型持有方发送的中间数据序列确定所述待查询数据;其中,所述中间数据序列根据所述服务提供方中的初始数据序列以及所述模型持有方中的权重序列确定。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120114583676