本说明书实施例属于计算机,尤其涉及一种多方计算方法和设备。
背景技术:
1、在例如隐私计算的场景下,经常面临多方合作进行计算。在该过程中,面对复杂的业务场景,需要隐私保护手段来完成一些数据计算。需要基于沟通的算法细节,快速实现一套算法方案,实现跨方合作。一个完整的算法协议的实现和落地,往往不仅仅只是算法本身的实现,还包括两边的协议沟通、数据的读取、网络通信、结果的转化、可视化等。因此,基于该多方计算场景的复杂性,需要开发人员同时熟悉算法和工程实现,而实际中,通常算法开发人员不熟悉工程实现,工程实现业务人员不熟悉算法开发,从而影响业务推进进度。
技术实现思路
1、本发明的目的在于提供一种多方计算方法,多方计算的参与方通过基于算法组件进行多方计算,该算法组件中由目标算法层调用数据读取层和网络传输层,从而可提高算法开发人员的开发效率。
2、本说明书第一方面提供一种多方计算方法,由多个参与方中的一个参与方的设备执行,所述设备中部署有目标组件,所述目标组件中包括与所述多方计算对应的目标算法层、数据读取层和网络传输层,所述目标算法层中包括对所述数据读取层、网络传输层的调用,所述方法包括:
3、确定多方计算的参数数据,所述参数数据中包括数据源信息和其他参与方的访问地址,所述数据源信息包括待读取数据的存储位置信息;
4、基于所述数据源信息配置所述数据读取层,基于所述访问地址配置所述网络传输层;
5、基于所述目标算法层对所述数据读取层的调用,通过执行所述数据读取层读取数据;
6、通过执行所述目标算法层,基于所述数据得到输出数据;
7、基于所述目标算法层对所述网络传输层的调用,通过执行所述网络传输层将所述输出数据发送给相关参与方。
8、在一种实施方式中,所述方法还包括:
9、获取软件包,所述软件包中包括所述数据读取层和所述网络传输层;
10、基于所述软件包和目标算法层对应的算法代码,生成所述目标组件。
11、在一种实施方式中,所述算法代码基于第一语言生成,所述数据读取层基于第二语言生成,所述目标组件中还包括转换层,所述转换层用于在所述第一语言和所述第二语言之间转换。
12、在一种实施方式中,所述网络传输层基于第三语言生成,所述转换层用于在所述第一语言和所述第三语言之间转换。
13、在一种实施方式中,所述目标组件包括镜像文件,所述方法还包括,基于所述镜像文件启动容器,所述执行所述目标算法层包括:在所述容器中执行所述目标算法层。
14、在一种实施方式中,所述参数数据中还包括网络连接类型,所述方法还包括,基于所述网络连接类型配置所述网络传输层。
15、在一种实施方式中,所述目标组件中还包括脚本层,所述脚本层中包括状态检查脚本,所述方法还包括:通过运行所述状态检查脚本,从所述容器接收所述目标算法的执行状态。
16、在一种实施方式中,所述多方计算包括多方隐私计算。
17、在一种实施方式中,所述数据源信息中包括第一数据格式,所述数据读取层中包括与所述第一数据格式对应的第一数据读取单元,所述通过执行所述数据读取层读取数据包括:通过执行所述第一数据读取单元读取数据。
18、在一种实施方式中,所述目标组件还包括结果转化层,所述目标算法层中包括对所述结果转化层的调用,所述参数数据中还包括输出数据的第二数据格式,
19、所述方法还包括:基于所述第二数据格式配置所述结果转化层;
20、所述通过执行所述目标算法层,基于所述数据得到输出结果包括:通过执行所述目标算法层,基于所述数据得到计算结果,基于所述目标算法层中对所述结果转化层的调用,通过执行所述结果转化层,将所述计算结果转换为具有所述第二数据格式的所述输出数据。
21、本说明书实施例第二发明提供一种用于多方计算的计算设备,所述计算设备中部署有目标组件,所述目标组件中包括与所述多方计算对应的目标算法层、数据读取层和网络传输层,所述目标算法层中包括对所述数据读取层、网络传输层的调用,所述计算设备包括:
22、确定单元,用于确定多方计算的参数数据,所述参数数据中包括数据源信息和其他参与方的访问地址,所述数据源信息包括待读取数据的存储位置信息;
23、配置单元,用于基于所述数据源信息配置所述数据读取层,基于所述访问地址配置所述网络传输层;
24、读取单元,用于基于所述目标算法层对所述数据读取层的调用,通过执行所述数据读取层读取数据;
25、输出单元,用于通过执行所述目标算法层,基于所述数据计算得到输出数据;
26、发送单元,用于基于所述目标算法层对所述网络传输层的调用,通过执行所述网络传输层将所述输出数据发送给相关参与方。
27、本说明书第三方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。
28、本说明书第四方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。
29、在本说明书实施例提供的方案中,多方计算的参与方通过基于算法组件进行多方计算,该算法组件中由目标算法层调用数据读取层和网络传输层,数据读取层和网络传输层可包括相关技术的较优实现方式,从而可使得算法开发人员可专注于算法实现,而不需要关注工程实现层面的复杂度。
1.一种多方计算方法,由多个参与方中的一个参与方的设备执行,所述设备中部署有目标组件,所述目标组件中包括与所述多方计算对应的目标算法层、数据读取层和网络传输层,所述目标算法层中包括对所述数据读取层、网络传输层的调用,所述方法包括:
2.根据权利要求1所述的方法,还包括:通过执行所述网络传输层从所述多个参与方中的相关参与方接收中间数据,通过执行所述目标算法层,基于所述中间数据和/或所述输出数据,得到结果数据。
3.根据权利要求1所述的方法,还包括:
4.根据权利要求1所述的方法,所述算法代码基于第一语言生成,所述数据读取层基于第二语言生成,所述目标组件中还包括转换层,所述转换层用于在所述第一语言和所述第二语言之间转换。
5.根据权利要求4所述的方法,所述网络传输层基于第三语言生成,所述转换层还用于在所述第一语言和所述第三语言之间转换。
6.根据权利要求1所述的方法,所述目标组件包括镜像文件,所述方法还包括,基于所述镜像文件启动容器,所述执行所述目标算法层包括:在所述容器中执行所述目标算法层。
7.根据权利要求1所述的方法,所述参数数据中还包括网络连接类型,所述方法还包括,基于所述网络连接类型配置所述网络传输层。
8.根据权利要求6所述的方法,所述目标组件中还包括脚本层,所述脚本层中包括状态检查脚本,所述方法还包括:通过运行所述状态检查脚本,从所述容器接收所述目标算法的执行状态。
9.根据权利要求1所述的方法,所述多方计算包括多方隐私计算。
10.根据权利要求1所述的方法,所述数据源信息中包括第一数据格式,所述数据读取层中包括与所述第一数据格式对应的第一数据读取单元,所述通过执行所述数据读取层读取数据包括:通过执行所述第一数据读取单元读取数据。
11.根据权利要求2所述的方法,所述目标组件还包括结果转化层,所述目标算法层中包括对所述结果转化层的调用,所述参数数据中还包括所述结果数据的第二数据格式,
12.一种用于多方计算的计算设备,所述计算设备中部署有目标组件,所述目标组件中包括与所述多方计算对应的目标算法层、数据读取层和网络传输层,所述目标算法层中包括对所述数据读取层、网络传输层的调用,所述计算设备包括:
13.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项所述的方法。
