一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、设备及存储介质与流程

2022-04-24 19:32:17 来源:中国专利 TAG:


1.本发明涉及计算机领域,尤其涉及一种数据处理方法、装置、设备及存储介质。


背景技术:

2.在一些业务场景中,多个业务平台收集有各自的业务数据。例如,浏览器平台收集用户的网页浏览数据,网购平台收集用户的网购数据。这些业务数据很有价值,通常作为业务平台的隐私信息保存。各业务平台不期望与其他业务平台共享原始形式的业务数据。但在一些需求中,多个业务平台期望在不公开各方的业务数据的情况下进行协同计算,以提高业务处理能力。例如,浏览器平台与网购平台期望利用网页搜索数据和网购数据构建更准确的推荐模型,从而基于该推荐模型,浏览器平台为用户更精准的推荐网页或广告,网购平台为用户更精准的推荐商品。
3.安全多方计算(secure multi-party computation,smc)用于解决一组互不信任的参与方之间保护隐私的协同计算问题。多个业务平台可以作为参与方,在不公开各自业务数据的情况下,利用安全多方计算来实现对业务数据的协同计算。各业务平台的工作人员可以基于密码学、机器学习、分布式学习等知识,在该业务平台上构建实现安全多方计算的程序流程。各业务平台执行程序流程进行通信和协同计算,以实现对业务数据的安全多方计算。
4.然而,构建安全多方计算的程序流程时,用户需要在该业务平台上通过代码构建密码函数库、通信库、分布式计算框架等函数库,然后利用函数库和代码从底层开始构建实现安全多方计算的全部程序流程,操作繁琐,效率低。


技术实现要素:

5.本发明的主要目的在于提供一种数据处理方法、装置、设备及存储介质,旨在提高安全多方计算的程序流程构建效率。
6.为实现上述目的,第一方面,本发明提供一种数据处理方法,应用于第一设备,包括:
7.接收安全多方计算指令,所述安全多方计算指令包括至少一个目标运算命令和联邦数据集标识;
8.根据所述联邦数据集标识确定所述第一设备本地的第一数据集;
9.调用并执行各目标运算命令对应的任务流程中的第一子流程,对所述第一数据集进行安全计算,得到第一子运算结果;
10.联合所述第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果;
11.其中,各第二子运算结果为各第二设备根据所述安全多方计算指令中的所述联邦数据集标识,查询第二设备本地的第二数据集;调用并执行各所述目标运算命令对应的任务流程中的第二子流程,对所述第二数据集进行安全计算得到的。
12.第二方面,本发明提供一种数据处理装置,应用于第一设备,所述装置包括:
13.接收模块,用于接收安全多方计算指令,所述安全多方计算指令包括至少一个目标运算命令和联邦数据集标识;
14.处理模块,用于根据所述联邦数据集标识确定所述第一设备本地的第一数据集;调用并执行各目标运算命令对应的任务流程中的第一子流程,对所述第一数据集进行安全计算,得到第一子运算结果;联合所述第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果;
15.其中,各第二子运算结果为各第二设备根据所述安全多方计算指令中的所述联邦数据集标识,查询第二设备本地的第二数据集;调用并执行各所述目标运算命令对应的任务流程中的第二子流程,对所述第二数据集进行安全计算得到的。
16.第三方面,本发明提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上第一方面所述的数据处理方法的步骤。
17.第四方面,本发明提供一种数据处理系统,包括至少两个如上第三方面所述的电子设备。
18.第五方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上第一方面所述的数据处理方法的步骤。
19.本发明中,第一设备接收安全多方计算指令,安全多方计算指令包括至少一个目标运算命令和联邦数据集标识;根据联邦数据集标识确定第一设备本地的第一数据集;调用并执行各目标运算命令对应的任务流程中的第一子流程,对第一数据集进行安全计算,得到第一子运算结果;联合第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果;其中,各第二子运算结果为各第二设备根据安全多方计算指令中的联邦数据集标识,查询第二设备本地的第二数据集;调用并执行各目标运算命令对应的任务流程中的第二子流程,对第二数据集进行安全计算得到的。通过第一设备调用并执行各目标运算命令对应的任务流程中的第一子流程,得到第一子运算结果,并联合第一子运算结果和各第二设备得到的第二子运算结果,获取安全多方计算结果,使得用户能够通过输入安全多方计算指令,系统即可以通过调用并执行目标运算命令对应的任务流程实现安全多方计算,不需要相关人员学习掌握安全多方计算的细节处理流程和复杂的相关知识,不需要对安全多方计算的各个具体细节任务流程进行代码构建,只需构建简单运算命令对应的任务流程即可,安全多方计算构建或者实现所消耗的时间和人力成本低,且可以提高用户操作的便捷性,提高安全多方计算的程序流程构建效率。
附图说明
20.图1是本发明一实施例提供的数据处理方法的场景示意图;
21.图2为本发明一实施例提供的数据处理方法的流程示意图;
22.图3为本发明又一实施例提供的数据处理方法的流程示意图;
23.图4a为本发明实施例提供的求和命令在有第三方的同态计算协议下的任务流程的示意图;
24.图4b为本发明实施例提供的求和命令在无第三方的同态计算协议下的任务流程
的示意图;
25.图4c为本发明实施例提供的求和命令在秘密共享协议下的任务流程的示意图;
26.图5a为本发明实施例提供的以横向连接方式构成的联邦数据集的示意图;
27.图5b为本发明实施例提供的以纵向连接方式构成的联邦数据集的示意图;
28.图6为本发明实施例提供的一个配置界面的示意图;
29.图7为本发明一实施例提供的数据处理装置的结构示意图;
30.图8为本发明一实施例提供的电子设备的硬件结构示意图。
31.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
32.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
33.图1为本发明一实施例提供的数据处理方法的场景示意图。该场景包括第一业务平台11、第二业务平台12、第一终端设备13以及第二终端设备14。第一业务平台11、第二业务平台12可以为服务器、计算机等电子设备。第一终端设备13、第二终端设备14可以为手机、平板电脑、台式计算机、智能音箱、智能穿戴设备等电子设备。第一终端设备13通过有线或无线方式与第一业务平台11之间通信。第二终端设备14通过有线或无线方式与第二业务平台12之间通信。第一业务平台11通过有线或无线方式与第二业务平台12通信。第一业务平台11通过第一终端设备13收集用户的业务数据并存储。第二业务平台12通过第二终端设备14收集用户的业务数据并存储。第一业务平台11和第二业务平台12利用安全多方计算来实现对业务数据的协同计算,以提高业务处理能力。在此不对业务数据进行限定,例如,业务数据可以为个人隐私数据、个人征信数据、用于信息安全存储的密钥数据、电子选票数据等,个人隐私数据可以为网页浏览数据、网购数据、出行数据、订餐数据等。
34.以第一业务平台11为浏览器平台,第二业务平台12为网购平台为例,用户通过第一终端设备13访问第一业务平台11提供的网页浏览服务,第一业务平台11存储用户的网页浏览数据。用户通过第二终端设备14访问第二业务平台12提供的网购服务,第二业务平台12存储用户的网购数据。第一业务平台11和第二业务平台12通过安全多方计算方法,对网页搜索数据和网购数据进行协同计算以生成训练样本,并基于该训练样本对第一业务平台11的第一推荐模型进行训练,以提高第一推荐模型向用户推荐网页或广告的精准度,基于该训练样本对第二业务平台12的第二推荐模型进行训练,以提高第二推荐模型向用户推荐商品的精准度。
35.需要说明的是,上述场景是以第一业务平台11和第二业务平台12为例,但并不作为限定,参与安全多方计算的参与方还可以为2个以上,在此不对参与方的个数进行限定。
36.在上述场景中,第一业务平台11和第二业务平台12的工作人员需要协商确定安全多方计算的相关流程,然后第一业务平台11的工作人员基于密码学、机器学习、分布式学习等知识,以及与第二业务平台12的工作人员所协商的流程,在第一业务平台11通过代码构建实现安全多方计算的程序流程;第二业务平台12的工作人员基于密码学、机器学习、分布
式学习等知识,以及与第一业务平台11的工作人员所协商的流程,在第二业务平台12通过代码构建实现安全多方计算的程序流程。然后第一业务平台11和第二业务平台12执行程序流程进行通信和协同计算,以实现对业务数据的安全多方计算。
37.然而,构建安全多方计算的程序流程时,第一业务平台11和第二业务平台12的工作人员分别需要在自身业务平台上通过代码构建密码函数库、通信库、分布式计算框架等函数库,然后利用函数库和代码从底层开始构建实现安全多方计算的全部程序流程,操作繁琐,效率低。
38.本发明实施例提出一种基于运算命令以及预置的运算命令对应的任务流程进行安全多方计算的方法,通过将参与安全多方计算的各设备预置多个运算命令对应的任务流程,使得用户能够通过输入安全多方计算指令,系统即可以通过调用并执行目标运算命令对应的任务流程实现安全多方计算,不需要相关人员学习掌握安全多方计算的细节处理流程和复杂的相关知识,不需要对安全多方计算的各个具体细节任务流程进行代码构建,只需构建简单运算命令对应的任务流程即可,安全多方计算构建或者实现所消耗的时间和人力成本低,且可以提高用户操作的便捷性,提高安全多方计算的程序流程构建效率。
39.图2为本发明一实施例提供的数据处理方法的流程示意图。本实施例中,多个设备共同参与安全多方计算,数据处理方法可以应用于其中的任一设备。多个设备分别按照该数据处理方法进行处理。将当前作为执行主体的设备称为第一设备,其他设备称为第二电子设备。如图2所示,该方法包括:
40.s201、接收安全多方计算指令,安全多方计算指令包括至少一个目标运算命令和联邦数据集标识。
41.s202、根据联邦数据集标识确定第一设备本地的第一数据集。
42.本实施例中,第一设备本地存储有本方的原始数据集,即为第一数据集,各第二设备本地存储有各自的原始数据集,即为各第二数据集。第一数据集以及各第二数据集中包括各自的业务数据。第一设备以及各第二设备中均预置有多个运算命令对应的任务流程。其中,每个运算命令对应的任务流程包括由第一设备执行的第一子流程以及分别由各第二设备执行的第二子流程。每个运算命令对应的任务流程被执行时,第一设备及各第二设备实现该运算命令所对应的安全多方计算。
43.运算命令可以包括但不限于下述至少一项:对待处理的数据集的求和命令、求平均数命令、求标准差命令,求矩阵相乘命令、位运算求或命令、位运算求与命令、求差命令、求相关性命令等。
44.第一设备以及各第二设备中可以通过运行可执行安装包,来预置各运算命令对应的任务流程。例如,第一设备的用户将安全多方计算系统的可执行安装包输入到第一设备上,然后触发运行该可执行安装包的命令。第一设备执行该可执行安装包后,在第一设备中安装了该安全多方计算系统,该安全多方计算系统预置有各运算命令对应的任务流程。各第二设备也按照相同的方式预置各运算命令对应的任务流程。这样用户不需要构建任务流程的具体实现代码。
45.本实施例中,第一设备接收的安全多方计算指令可以由用户输入。用户可以根据需求编辑安全多方计算指令,输入到第一设备。用户可以从第一设备中预置的运算命令中选取至少一个目标运算命令,将至少一个目标运算命令与联邦数据集标识组成安全多方计
算指令。
46.例如,联邦数据集标识记为dataset,求和命令记为sum(),用户编辑的安全多方计算指令如下:
47.a=dataset*2
48.b=a.sum()
49.上述安全多方计算指令表示,将各方的数据集按照安全多方计算方式对各字段的数据乘以2得到中间数据集a,然后再将中间数据集a按照安全多方计算方式对各字段的数据进行求和得到运算结果b。
50.联邦数据集标识为联邦数据集的标识,联邦数据集可以包括第一数据集和各第二数据集的虚拟指针数据集。例如,参与安全多方计算的为第一设备a以及两个第二设备b、c,联邦数据集可以表示为dataset(a,[b],[c]),其中,a表示第一数据集,[b]表示第二设备b本地的第二数据集的虚拟指针数据集,[c]表示第二设备c本地的第二数据集的虚拟指针数据集。第一设备接收安全多方计算指令后,可以确定联邦数据集标识所对应的联邦数据集,并根据联邦数据集确定第一设备本地的第一数据集。
[0051]
s203、调用并执行各目标运算命令对应的任务流程中的第一子流程,对第一数据集进行安全计算,得到第一子运算结果。
[0052]
s204、联合第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果。
[0053]
其中,各第二子运算结果为各第二设备根据安全多方计算指令中的联邦数据集标识,查询第二设备本地的第二数据集;调用并执行各目标运算命令对应的任务流程中的第二子流程,对第二数据集进行安全计算得到的。
[0054]
本实施例中,第一设备可以从预置的多个运算命令对应的任务流程中,确定各目标运算命令对应的任务流程,调用并执行各目标运算命令对应的任务流程中的第一子流程,对第一设备本地的第一数据集进行安全计算,得到第一子运算结果。
[0055]
第一设备的用户和各第二设备的用户可以基于协商,向各自设备输入相同的安全多方计算指令。对于每个第二设备,该第二设备接收到安全多方计算指令后,首先根据安全多方计算指令中的联邦数据集标识,查询第二设备本地的第二数据集;然后调用并执行各目标运算命令对应的任务流程中的第二子流程,对本地的第二数据集进行安全计算,得到第二子运算结果。
[0056]
在第一设备得到第一子运算结果,以及各第二设备得到第二子运算结果后,第一设备和各第二设备可以联合第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果。可选地,s204可以包括但不限于通过下述至少一种实现方式实现:
[0057]
在第一种实现方式中,各第二设备得到第二子运算结果后,均将第二子运算结果发送给第一设备。第一设备将第一子运算结果和各第二子运算结果进行联合运算,得到安全多方计算结果。
[0058]
在第二种实现方式中,第一设备得到第一子运算结果后,将第一子运算结果发送给指定的第二设备,由该指定的第二设备将第一子运算结果和各第二子运算结果进行联合运算,得到安全多方计算结果。
[0059]
在第三种实现方式中,在第一设备得到第一子运算结果,以及各第二设备得到第二子运算结果后,第一设备将第一子运算结果发送给协调方设备,各第二设备均将各自的
第二子运算结果发送给协调方设备。协调方设备为第一设备和第二设备以外的第三方。协调方设备将第一子运算结果和各第二子运算结果进行联合运算,得到安全多方计算结果。
[0060]
本发明实施例中,第一设备接收安全多方计算指令,安全多方计算指令包括至少一个目标运算命令和联邦数据集标识;根据联邦数据集标识确定第一设备本地的第一数据集;调用并执行各目标运算命令对应的任务流程中的第一子流程,对第一数据集进行安全计算,得到第一子运算结果;联合第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果;其中,各第二子运算结果为各第二设备根据安全多方计算指令中的联邦数据集标识,查询第二设备本地的第二数据集;调用并执行各目标运算命令对应的任务流程中的第二子流程,对第二数据集进行安全计算得到的。通过第一设备调用并执行各目标运算命令对应的任务流程中的第一子流程,得到第一子运算结果,并联合第一子运算结果和各第二设备得到的第二子运算结果,获取安全多方计算结果,使得用户能够通过输入安全多方计算指令,系统即可以通过调用并执行目标运算命令对应的任务流程实现安全多方计算,不需要相关人员学习掌握安全多方计算的细节处理流程和复杂的相关知识,不需要对安全多方计算的各个具体细节任务流程进行代码构建,只需构建简单运算命令对应的任务流程即可,安全多方计算构建或者实现所消耗的时间和人力成本低,且可以提高用户操作的便捷性,提高安全多方计算的程序流程构建效率。
[0061]
图3为本发明又一实施例提供的数据处理方法的流程示意图。在图2所示实施例的基础上,每个目标运算命令对应的任务流程包括在多个安全协议下的任务流程。本实施例对配置安全协议的具体实现过程进行了详细说明。如图3所示,该方法包括:
[0062]
s301、接收用户输入的配置信息,其中,配置信息包括安全多方计算指令以及目标安全协议;安全多方计算指令包括至少一个目标运算命令和联邦数据集标识。
[0063]
本实施例中,对于同一种运算,不同安全协议下的安全多方计算流程不同。第一设备预置有每个运算命令对应的多个安全协议下的任务流程,以便使得用户可以选用自己所需的安全协议进行安全多方计算。其中,安全协议可以包括但不限于下述至少一项:有第三方的同态计算协议、无第三方的同态计算协议、秘密共享协议。
[0064]
以求和命令为例,假设各方持有的原始数据集为横向连接的数据集,安全多方计算的参与方有a、b、c三方,则求和命令在有第三方的同态计算协议下的任务流程可以如图4a所示,求和命令在有第三方的同态计算协议下的任务流程可以如图4b所示,求和命令在秘密共享协议下的任务流程可以如图4c所示。
[0065]
如图4a所示,求和命令在有第三方的同态计算协议下的任务流程具体包括:第三方为协调方,协调方生成公钥,将公钥分别发送给a、b、c三方。a、b、c三方各自对持有的数据集按列求和,并通过各自生成的私钥以及接收到的公钥对数据集按列加密,将加密后的数据集发送给其他两方。a、b、c各自将其他两方发送的加密后的数据集以及本方加密后的数据集进行相加,得到求和命令的运算结果。
[0066]
如图4b所示,求和命令在无第三方的同态计算协议下的任务流程具体包括:a生成公钥和私钥,将公钥发送给b、c。a、b、c三方各自对持有的数据集按列求和。a通过自身生成的私钥以及公钥对数据集按列加密,将加密后的数据集发送给b。b将自身按列求和得到的数据集与a发送的数据集进行累加,将累加得到的数据集发送给c。c将自身按列求和得到的数据集与a发送的数据集进行累加,将累加得到的数据集分别发送给b、c。累加得到的数据
集即为求和命令的运算结果。
[0067]
如图4c所示,求和命令在秘密共享协议下的任务流程具体包括:a、b、c三方各自对持有的数据集按列求和,然后将得到的数据集拆分为三个数据集分片,分别发送各三个中立服务器:中立服务器1、中立服务器2、中立服务器3。中立服务器1、中立服务器2、中立服务器3各自计算a、b、c三方发送的数据集分片的计算结果,并汇总三个数据集分片结果,然后中立服务器1、中立服务器2、中立服务器3中的任一个将三者的数据集分片结果进行相加,得到求和命令的运算结果。
[0068]
第一设备可以向用户展示自身所支持的多个安全协议,以便用户从中选择所要使用的安全协议。用户所选择使用的安全协议即为目标安全协议。
[0069]
可选地,s301可以包括下述两种实现方式中的至少一种:
[0070]
第一实现方式中,显示配置界面,并接收用户针对配置界面内的控件所输入的配置信息。
[0071]
该实现方式中,第一设备可以显示配置界面。配置界面内可以包括输入配置信息的控件,以便用户输入配置信息。第一设备接收用户针对配置界面内的控件所输入的配置信息。通过配置界面用户可以方便地进行安全多方系统的配置。各第二设备也可以按照该实现方式接收用户配置的配置信息。
[0072]
第二实现方式中,接收用户输入的包含配置信息的配置文件,并从配置文件中提取配置信息,其中,配置文件由任一第二设备发送。
[0073]
该实现方式中,参与安全多方计算的设备之间可以通过导出配置文件和导入配置文件的方式来配置安全多方计算系统的配置信息。参与安全多方运算的任一第二设备可以在接收到用户的导出指令时,以配置文件的方式导出配置信息,然后通过邮件或其他安全的方式传输给第一设备的用户。第一设备的用户可以将配置文件输入第一设备,第一设备自动从配置文件中提取配置信息并进行自动配置,从而使得参与安全多方运算的各设备的配置信息保持相同,并且实现自动配置,提高配置的便捷性。
[0074]
s302、根据联邦数据集标识确定第一设备本地的第一数据集。
[0075]
s303、调用并执行各目标运算命令在目标安全协议下的任务流程中的第一子流程,对第一数据集进行安全计算,得到第一子运算结果。
[0076]
本实施例中,在执行每个目标运算命令时,第一设备可以从该目标运算命令对应的各安全协议下的任务流程中,选取目标安全协议下的任务流程中第一子流程进行执行。
[0077]
s304、联合第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果。
[0078]
其中,各第二子运算结果为各第二设备根据安全多方计算指令中的联邦数据集标识,查询第二设备本地的第二数据集;调用并执行各目标运算命令在目标安全协议下的任务流程中的第二子流程,对第二数据集进行安全计算得到的。
[0079]
本实施例中,各第二设备所接收的配置信息与第一设备接收的配置信息相同。相应的,各第二设备调用并执行各目标运算命令在目标安全协议下的任务流程中的第二子流程,对第二数据集进行安全计算得到第二子运算结果。
[0080]
本实施例通过第一设备调用并执行各目标运算命令对应的任务流程中的第一子流程,得到第一子运算结果,并联合第一子运算结果和各第二设备得到的第二子运算结果,获取安全多方计算结果,使得用户能够通过输入安全多方计算指令,系统即可以通过调用
并执行目标运算命令对应的任务流程实现安全多方计算,不需要相关人员学习掌握安全多方计算的细节处理流程和复杂的相关知识,不需要对安全多方计算的各个具体细节任务流程进行代码构建,只需构建简单运算命令对应的任务流程即可,安全多方计算构建或者实现所消耗的时间和人力成本低,且可以提高用户操作的便捷性,提高安全多方计算的程序流程构建效率。进一步地,通过每个运算命令预置多个安全协议下的任务流程,使得用户可以根据需求灵活的选择使用的安全协议,提高适用性。
[0081]
作为本发明的一个实施例,在上述任一实施例的基础上,联邦数据集标识为联邦数据集的标识,联邦数据集包括第一数据集和各第二数据集的虚拟指针数据集。
[0082]
该方法还包括:
[0083]
生成指向各第二数据集的各虚拟指针数据集;
[0084]
将第一数据集和各虚拟指针数据集构成联邦数据集;
[0085]
显示联邦数据集。
[0086]
本实施例中,第一设备可以生成指向各第二数据集的各虚拟指针数据集。其中,虚拟指针数据集的维度和指向的第二数据集的维度相同,且虚拟指针数据集中的元素为虚拟指针。第一设备可以将第一设备本地的第一数据集以及各虚拟指针数据集构建联邦数据集,然后以视图形式向用户展示。可选地,第一设备可以按照横向连接方式或纵向连接方式,将第一设备本地的第一数据集以及各虚拟指针数据集构建联邦数据集,在此不作限定。
[0087]
本实施例通过生成指向各第二数据集的各虚拟指针数据集,并与第一设备本地的第一数据集构成联邦数据集,并向用户展示,能够便于用户查看和管理联邦数据集。
[0088]
可选地,第一设备可以根据目标连接方式将第一数据集和各虚拟指针数据集构成联邦数据集。其中,目标连接方式可以由用户输入,例如,配置信息中包括目标连接方式。目标连接方式可以包括横向连接方式或纵向连接方式。其中,横向连接方式是指参与安全多方计算的各设备持有的原始数据集具有相同结构,但内容不同的数据。纵向连接方式是指参与安全多方计算的各设备内持有的原始数据集的各行数据有确定的对应关系,一般是同一实体,如用户、公司、商品等,但各设备拥有的数据结构不一样。
[0089]
第一设备可以按照用户所配置的目标连接方式,将第一设备本地的第一数据集以及各虚拟指针数据集构建联邦数据集,然后以视图形式向用户展示。
[0090]
如图5a所示为以横向连接方式构成的联邦数据集的示意图。其中,安全多方计算的参与方包括a、b、c三个参与方,a持有的原始数据集包括用户一、用户二的年龄、性别、籍贯的数据,b持有的原始数据集包括用户三、用户四的年龄、性别、籍贯的数据,c持有的原始数据集包括用户五、用户六的年龄、性别、籍贯的数据。当前展示联邦数据集的设备为a的设备,联邦数据集中a对应的数据为真实的原始数据,b和c对应的数据均为虚拟指针,a通过设备所展示的联邦数据集可以管理和查看本地的数据集,以及查看b、c的虚拟指针,但无法查看b、c的原始数据。
[0091]
如图5b所示为以纵向连接方式构成的联邦数据集的示意图。其中,安全多方计算的参与方包括a、b、c三个参与方,a持有的原始数据集包括用户一、用户二的年龄、性别、籍贯的数据,b持有的原始数据集包括用户一、用户二的住址、收入、工作单位的数据,c持有的原始数据集包括用户一、用户二的贷款、房产、信用卡的数据。当前展示联邦数据集的设备为a的设备,联邦数据集中a对应的数据为真实的原始数据,b和c对应的数据均为虚拟指针,
a通过设备所展示的联邦数据集可以管理和查看本地的数据集,以及查看b、c的虚拟指针,但无法查看b、c的原始数据。
[0092]
作为本发明的一个实施例,配置信息还包括目标连接方式,目标连接方式包括横向连接方式或纵向连接方式,该方法还包括:
[0093]
在执行第一子流程时,按照目标连接方式,显示执行过程中生成的中间数据集和/或第一子运算结果。
[0094]
本实施例中,横向连接方式指示将各数据集横向相连,纵向连接方式指示将各数据集纵向相连。第一设备在调用并执行第一子流程的过程中,会生成中间数据集以及第一子运算结果。第一设备可以按照目标连接方式显示执行过程中生成的中间数据集和/或第一子运算结果,以便用户查看安全多方计算的中间数据集和第一子运算结果。
[0095]
作为本发明的一个实施例,在上述任一实施例的基础上,配置信息还可以包括结果公开方式,其中,结果公开方式包括向协调方设备安全多方计算结果,和/或向参与安全多方计算的至少一个指定设备公开安全多方计算结果;
[0096]
该方法还包括:
[0097]
在结果公开方式包括向协调方设备公开安全多方计算结果时,将运算结果发送给协调方设备;
[0098]
在结果公开方式包括向参与安全多方计算的至少一个指定设备公开安全多方计算结果时,将安全多方计算结果发送给参与安全多方计算的至少一个指定设备。
[0099]
本实施例中,结果公开方式可以由参与安全多方计算的各参与方协商确定,然后各参与方分别对自身的设备进行配置。用户可以配置安全多方计算的运算结果的结果公开方式,选择向协调方设备公开运算结果;或者,选择向参与安全多方计算的至少一个指定设备公开运算结果;或者,选择向协调方设备以及参与安全多方计算的至少一个指定设备公开运算结果。
[0100]
通过根据用户配置的结果公开方式选择性的向协调方设备以及至少一个指定设备发送运算结果,能够便于用户进行运算结果公开方式的配置。
[0101]
作为本发明的一个实施例,在上述任一实施例的基础上,该方法还包括:
[0102]
获取各第二设备接收到的安全多方计算指令;
[0103]
在第一设备接收到的安全多方计算指令与各第二设备接收到的安全多方计算指令均相同时,调用并执行各目标运算命令对应的任务流程中的第一子流程;
[0104]
在第一设备接收到的安全多方计算指令与任一第二设备接收到的安全多方计算指令不相同时,显示提示消息,以提示安全多方计算指令不能被执行。
[0105]
本实施例中,第一设备所接收到的安全多方计算指令与各第二设备所接收到的安全多方计算指令相同时,第一设备和各第二设备才可以协同执行该安全多方计算指令。第一设备可以获取各第二设备所接收到的安全多方计算指令,对比用户为第一设备所配置的安全多方计算指令与以及其他用户为各第二设备所配置的安全多方计算指令,若相同,则执行安全多方计算指令中各目标运算命令对应的任务流程中的第一子流程,若不相同,则显示提示消息,以提示用户参与安全多方计算的各设备所配置的安全多方计算指令不同,不能被执行。可选地,第一设备还可以向各第二设备发送提示消息,以便各第二设备显示提示消息。另外,也可以由任一第二设备来执行各设备安全多方计算指令的对比,在此不作限
定。
[0106]
下面通过一个配置界面的实施示例来对本发明实施例进行说明,如图6所示为本发明实施例提供的一个配置界面的示意图。图6中,配置界面内包括配置安全协议的第一控件61、配置参与方标识的第二控件62、配置目标连接方式的第三控件63、配置结果公开方式的第四控件64、配置安全多方计算指令的第五控件65、导入配置信息的导入控件66、导出配置信息的导出控件67、触发运行安全多方计算指令的运行控件68以及触发查看安全多方计算结果的查看结果控件69。
[0107]
其中,第一控件61、第二控件62、第三控件63、第四控件64分别为用户提供可选的配置选项,用户可以根据需求选择所使用的配置信息。第五控件65用于用户编辑安全多方计算指令,如图6中用户编辑的安全多方计算指令为:
[0108]
a=dataset*2
[0109]
b=a.sum()
[0110]
在检测到用户触发导入控件66时,可以显示配置文件的导入界面,以便用户在该输入界面导入配置文件。在检测到用户触发导出控件67时,可以显示配置文件的导出界面,以便用户在该导出界面导出配置文件。在检测到用户触发运行控件68时,如果各设备均检测到运行控件被触发,则与其他各设备开始协同执行安全多方计算指令,否则,继续等待,直到各设备均检测到运行控件被触发,则与其他各设备开始协同执行处理流程。
[0111]
在检测到用户触发查看结果控件69时,若安全多方计算指令执行完成,且当前用户属于结果公开方式所允许公开的参与方,则显示安全多方计算结果。
[0112]
本发明实施例能够通过预置多个运算命令对应的任务流程,使得用户能够通过输入安全多方计算指令实现安全多方计算,不需要对安全多方计算的具体任务流程进行代码构建,设备能够自动调用并执行各目标运算命令对应的任务流程中的第一子流程,得到第一子运算结果,并联合第一子运算结果和各第二设备得到的第二子运算结果,获取安全多方计算结果,从而提高用户操作的便捷性,提高安全多方计算的程序流程构建效率。并且,用户不需要知道密码学、分布式计算等学科知识,就能够使用该方案进行安全多方计算的构建,降低了用户使用安全多方计算的使用门槛。并且,由于本方案中任务流程是预置的,避免人为编程转换造成的漏洞导致的隐私数据泄露,提高了数据安全性;也避免了人为代码编辑失误导致的计算错误,提高安全多方计算的准确性。
[0113]
图7为本发明一实施例提供的数据处理装置的结构示意图。该数据处理装置应用于第一设备如图7所示,该数据处理装置70包括:接收模块701和处理模块702。
[0114]
接收模块701,用于接收安全多方计算指令,安全多方计算指令包括至少一个目标运算命令和联邦数据集标识。
[0115]
处理模块702,用于根据联邦数据集标识确定第一设备本地的第一数据集;调用并执行各目标运算命令对应的任务流程中的第一子流程,对第一数据集进行安全计算,得到第一子运算结果;联合第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果;
[0116]
其中,各第二子运算结果为各第二设备根据安全多方计算指令中的联邦数据集标识,查询第二设备本地的第二数据集;调用并执行各目标运算命令对应的任务流程中的第二子流程,对第二数据集进行安全计算得到的。
[0117]
本发明实施例中,第一设备接收安全多方计算指令,安全多方计算指令包括至少一个目标运算命令和联邦数据集标识;根据联邦数据集标识确定第一设备本地的第一数据集;调用并执行各目标运算命令对应的任务流程中的第一子流程,对第一数据集进行安全计算,得到第一子运算结果;联合第一子运算结果和至少一个第二子运算结果,获取安全多方计算结果;其中,各第二子运算结果为各第二设备根据安全多方计算指令中的联邦数据集标识,查询第二设备本地的第二数据集;调用并执行各目标运算命令对应的任务流程中的第二子流程,对第二数据集进行安全计算得到的。通过第一设备调用并执行各目标运算命令对应的任务流程中的第一子流程,得到第一子运算结果,并联合第一子运算结果和各第二设备得到的第二子运算结果,获取安全多方计算结果,使得用户能够通过输入安全多方计算指令,系统即可以通过调用并执行目标运算命令对应的任务流程实现安全多方计算,不需要相关人员学习掌握安全多方计算的细节处理流程和复杂的相关知识,不需要对安全多方计算的各个具体细节任务流程进行代码构建,只需构建简单运算命令对应的任务流程即可,安全多方计算构建或者实现所消耗的时间和人力成本低,且可以提高用户操作的便捷性,提高安全多方计算的程序流程构建效率。
[0118]
可选地,每个运算命令对应的任务流程包括在多个安全协议下的任务流程;
[0119]
接收模块701,用于接收用户输入的配置信息,其中,配置信息包括安全多方计算指令以及目标安全协议;
[0120]
处理模块702,用于调用并执行各目标运算命令在目标安全协议下的任务流程中的第一子流程。
[0121]
可选地,联邦数据集标识为联邦数据集的标识,联邦数据集包括第一数据集和各第二数据集的虚拟指针数据集;
[0122]
处理模块702,还用于生成指向各第二数据集的各虚拟指针数据集;
[0123]
处理模块702,还用于将第一数据集和各虚拟指针数据集构成联邦数据集;
[0124]
该装置还包括:
[0125]
显示模块,用于显示联邦数据集。
[0126]
可选地,配置信息还包括目标连接方式,目标连接方式包括横向连接方式或纵向连接方式,显示模块,还用于在执行第一子流程时,按照目标连接方式,显示执行过程中生成的中间数据集和/或第一子运算结果。
[0127]
可选地,配置信息还包括结果公开方式,其中,结果公开方式包括向协调方设备公开安全多方计算结果,和/或向参与安全多方计算的至少一个指定设备公开安全多方计算结果;
[0128]
处理模块702,还用于:
[0129]
在结果公开方式包括向协调方设备公开安全多方计算结果时,将安全多方计算结果发送给协调方设备;
[0130]
在结果公开方式包括向参与安全多方计算的至少一个指定设备公开安全多方计算结果时,将安全多方计算结果发送给参与安全多方计算的至少一个指定设备。
[0131]
可选地,接收模块701,用于:
[0132]
显示配置界面,并接收用户针对配置界面内的控件所输入的配置信息;或者,
[0133]
接收用户输入的包含配置信息的配置文件,并从配置文件中提取配置信息,其中,
配置文件由任一第二设备发送。
[0134]
可选地,接收模块701,还用于获取各第二设备接收到的安全多方计算指令;
[0135]
处理模块702,还用于:
[0136]
在第一设备接收到的安全多方计算指令与各第二设备接收到的安全多方计算指令均相同时,调用并执行各目标运算命令对应的任务流程中的第一子流程;
[0137]
在第一设备接收到的安全多方计算指令与任一第二设备接收到的安全多方计算指令不相同时,显示提示消息,以提示安全多方计算指令不能被执行。
[0138]
本实施例提供的数据处理装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0139]
图8为本发明一实施例提供的电子设备的硬件结构示意图。如图8所示,本实施例提供的电子设备80包括:处理器801、存储器802以及存储在存储器802上并可在处理器801上运行的数据处理程序。该电子设备80还包括通信部件803。其中,处理器801、存储器802以及通信部件803通过总线804连接。
[0140]
在具体实现过程中,数据处理程序被处理器801执行时实现如上的数据处理方法的步骤。
[0141]
处理器801的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
[0142]
在上述的图8所示的实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0143]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。
[0144]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本发明实施例附图中的总线并不限定仅有一根总线或一种类型的总线。
[0145]
本发明实施例还提供一种数据处理系统,包括至少两个如图8实施例所述的电子设备。
[0146]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上的数据处理方法。
[0147]
上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0148]
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质
读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
[0149]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0150]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0151]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0152]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献