CN115118520B - 数据处理方法、装置和服务器 - Google Patents
数据处理方法、装置和服务器 Download PDFInfo
- Publication number
- CN115118520B CN115118520B CN202210865637.1A CN202210865637A CN115118520B CN 115118520 B CN115118520 B CN 115118520B CN 202210865637 A CN202210865637 A CN 202210865637A CN 115118520 B CN115118520 B CN 115118520B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- model
- server
- ciphertext data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供了数据处理方法、装置和服务器。该方法属于人工智能技术领域,具体实施前,部署于数据提供方一侧的第一服务器和部署于模型提供方一侧的第二服务器可以根据预设的加密规则,在不向对方泄露己方所持有的数据的前提下,利用各自所持有的数据联合训练得到符合预设要求的目标模型。具体实施时,第一服务器和第二服务器可以根据预设的加密规则,在不向第一服务器泄露第二服务器所持有的目标模型,同时不向第二服务器泄露第一服务器所持有的目标数据的前提下,在密文状态下合作调用目标模型处理目标数据,以得到对应的目标处理结果。从而能够在合作完成相关数据处理的同时,较好地保护参与数据处理的双方的数据安全。
Description
技术领域
本说明书属于人工智能技术领域,尤其涉及数据处理方法、装置和服务器。
背景技术
在许多涉及人工智能的数据处理场景中,模型提供方和数据提供方往往是分离的。其中,模型提供方持有相应的模型数据,数据提供方持有相应的样本数据。
在一些情况下,模型提供方和数据提供方需要合作分别使用各自持有的数据,来联合完成相应的数据处理。在完成上述数据处理的过程中,还要求要保护双方的数据安全,避免向对方泄露己方所持有的数据。
因此,亟需一种能够在合作完成相应的数据处理的同时,较好地保护参与数据处理的双方的数据安全的数据处理方法。
发明内容
本说明书提供了数据处理方法、装置和服务器,能够在合作完成相关数据处理的同时,较好地保护参与数据处理的双方的数据安全,有效地避免了数据提供方、模型提供方所持有的数据遭到泄露。
本说明书提供了一种数据处理方法,应用于第一服务器,所述第一服务器部署于数据提供方一侧,所述方法包括:
获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;
向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;
根据预设的同态运算规则,利用目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;
将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
接收目标处理结果。
在一个实施例中,所述目标模型包括:业务推荐模型;相应的,所述目标数据包括:多个业务的特征数据;所述目标处理结果包括:待推荐的目标业务。
在一个实施例中,在接收目标处理结果之后,所述方法还包括:
根据目标处理结果,确定待推荐的目标业务;
获取关于目标业务的推广信息和关联链接;
向目标用户推送所述关于目标业务的推广信息和关联链接。
在一个实施例中,所述方法还包括:
响应关于目标模型的联合训练请求,根据预设的加密规则和公钥数据对样本数据进行加密处理,得到样本数据的密文数据;
接收初始模型的密文数据;其中,所述初始模型的密文数据为第二服务器响应联合训练请求,将初始模型转换为对应的初始线性函数模型后,根据预设的加密规则和公钥数据对初始线性函数模型中的模型参数进行加密处理得到的;
根据预设的同态运算规则,利用初始模型的密文数据和样本数据的密文数据根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;
向第二服务器发送所述初始样本处理结果的密文数据;其中,所述第二服务器根据初始样本处理结果的密文数据更新初始模型的模型参数。
在一个实施例中,在向第二服务器发送所述初始样本处理结果的密文数据之后,所述方法还包括:
接收中间模型的密文数据;其中,所述中间模型为第二服务器更新初始模型的模型参数后得到模型;
根据预设的同态运算规则,利用中间模型的密文数据和样本数据的密文数据根据预设的同态运算规则,利用公钥数据、中间模型的密文数据和样本数据的密文数据,计算得到中间样本处理结果的密文数据;
向第二服务器发送所述中间样本处理结果的密文数据;其中,所述第二服务器根据中间样本处理结果的密文数据更新中间模型的模型参数。
在一个实施例中,所述预设的加密规则包括paillier半同态加密算法。
在一个实施例中,根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据,包括:
按照以下算式,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据:
其中,H(c1,...ci,...ck)为目标处理结果的密文数据,ci为目标数据中编号为i的业务的′特征数据的密文数据,n为公钥数据中的第一公钥分量,g为公钥数据中的第二公钥分量,ai为目标模型的密文数据中编号为i的模型参数的密文数据。
本说明书还提供了一种数据处理方法,应用于第二服务器,所述第二服务器部署于模型提供方一侧,所述方法包括:
接收第一服务器发送的关于调用目标模型的目标数据处理请求;其中,所述第一服务器部署于数据提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
响应目标数据处理请求,确定出目标模型,并将目标模型转换为对应的目标线性函数模型;
根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;
将所述目标模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;所述目标数据的密文数据为第一服务器根据预设的加密规则和公钥数据对目标数据进行加密处理得到的;
接收目标处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
将所述目标处理结果发送至第一服务器。
在一个实施例中,所述方法还包括:
响应关于目标模型的联合训练请求,将初始模型转换为对应的初始线性函数模型;并根据预设的加密规则和公钥数据对初始线性函数模型中的模型参数进行加密处理,得到初始模型的密文数据;
将所述初始模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;
接收初始样本处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对初始样本处理结果的密文数据进行解密处理,得到初始样本处理结果;
根据所述初始样本处理结果,更新初始模型的模型参数,得到中间模型。
在一个实施例中,在得到中间模型之后,所述方法还包括:
对所述中间模型进行模型测试,得到关于该中间模型的测试结果;
根据测试结果,确定中间模型是否符合预设要求;
在确定中间模型符合预设要求的情况下,将该中间模型确定为目标模型。
在一个实施例中,在确定中间模型不符合预设要求的情况下,所述方法还包括:
将中间模型转换为对应的中间线性函数模型;并根据预设的加密规则和公钥数据对中间线性函数模型中的模型参数进行加密处理,得到中间模型的密文数据;
将所述中间模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、中间模型的密文数据和样本数据的密文数据,计算得到中间样本处理结果的密文数据;
接收中间样本处理结果的密文数据;并根据预设的解密规则和私钥数据对中间样本处理结果的密文数据进行解密处理,得到中间样本处理结果;
根据所述中间样本处理结果,更新中间模型的模型参数。
本说明书还提供了一种数据处理装置,应用于第一服务器,所述第一服务器部署于数据提供方一侧,所述装置包括:
获取模块,用于获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;
第一发送模块,用于向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
第一接收模块,用于接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;
计算模块,用于根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;
第二发送模块,用于将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
第二接收模块,用于接收目标处理结果。
本说明书还提供了一种数据处理装置,应用于第二服务器,所述第二服务器部署于模型提供方一侧,所述装置包括:
第一接收模块,用于接收第一服务器发送的关于调用目标模型的目标数据处理请求;其中,所述第一服务器部署于数据提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
转换模块,用于响应目标数据处理请求确定目标模型,并将目标模型转换为对应的目标线性函数模型;
加密模块,用于根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;
第一发送模块,用于将所述目标模型的密文数据分析发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;所述目标数据的密文数据为第一服务器根据预设的加密规则对所述目标数据进行加密处理得到的;
第二接收模块,用于接收目标处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
第二发送模块,用于将所述目标处理结果发送至第一服务器。
本说明书还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述数据处理方法的相关步骤。
本说明书还提供了一种计算机程序产品,包含有计算机程序,所述计算机程序被处理器执行时实现所述数据处理方法的相关步骤。
基于本说明书提供的数据处理方法、装置和服务器,具体实施前,部署于模型提供方一侧的第二服务器可以先根据预设的秘钥生成规则生成相互对应的公钥数据和私钥数据,并将其中的公钥数据发送给部署于数据提供方一侧的第一服务器,第二服务器同时持有公钥数据和私钥数据。当双方需要联合训练目标模型时,第二服务器可以响应关于目标模型的联合训练请求,先将所持有的初始模型转换为初始线性函数模型;并根据预设的加密规则,利用公钥数据加密初始线性函数模型中的模型参数,得到初始模型的密文数据;再将初始模型的密文数据发送给第一服务器。第一服务器可以响应联合训练请求,先根据预设的加密规则,利用公钥数据加密样本数据,得到样本数据的密文数据;再在第一服务器本地利用根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;并将初始样本处理结果的密文数据发送给第二服务器。第二服务器可以根据预设的解密规则和私钥数据进行解密,得到初始样本处理结果;并根据初始样本处理结果更新初始模型的模型参数。按照上述方式,第一服务器和第二服务器通过进行一轮或多轮的数据交互和模型更新,可以联合训练得到符合预设要求的目标模型。从而可以在保护第一服务器和第二服务器的数据安全的前提下,联合训练得到符合预设要求的目标模型,完成相关的数据处理,避免在联合训练模型的过程中向对方泄露己方所持有的数据。
具体实施时,当双方需要联合调用目标模型处理目标数据时,持有目标数据的第一服务器可以先根据预设的加密规则和公钥数据,对目标数据进行加密处理,得到目标数据的密文数据;同时,第一服务器还可以向第二服务器发送关于调用目标模型的目标处理请求。持有目标模型的第二服务器可以先将目标模型转换为对应的目标线性函数模型;再根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;并将该目标模型的密文数据发送给第一服务器。第一服务器可以根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;并将目标处理结果的密文数据返回给第二服务器。第二服务器可以根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到明文形式的目标处理结果;再将该目标处理结果返回给第一服务器。从而可以在保护第一服务器和第二服务器的数据安全的前提下,合作调用第二服务器所持有的目标模型处理第一服务器所持有的目标数据,得到对应的目标处理结果,完成相关的数据处理,避免在调用目标模型处理目标数据的过程中向对方泄露己方所持有的数据,保护双方的数据隐私。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书的一个实施例提供的数据处理方法的流程示意图;
图2是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图4是本说明书的一个实施例提供的数据处理方法的流程示意图;
图5是本说明书的一个实施例提供的服务器的结构组成示意图;
图6是本说明书的一个实施例提供的数据处理装置的结构组成示意图;
图7是本说明书的一个实施例提供的数据处理装置的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
参阅图1,本说明书实施例提供了一种数据处理方法,其中,该方法具体应用于第一服务器一侧。其中,上述第一服务器部署于数据提供方一侧。具体实施时,该方法可以包括以下内容:
S101:获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;
S102:向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
S103:接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;
S104:根据预设的同态运算规则,利用目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;
S105:将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
S106:接收目标处理结果。
在一些实施例中,可以参阅图2所示,上述第一服务器具体可以部署于数据提供方一侧。其中,数据提供方持有待处理的目标数据。此外,上述数据提供方还可以持有用于模型训练的样本数据。
上述第二服务器具体可以部署于模型提供方一侧。其中,模型提供方持有目标模型。此外模型提供方还可以持有用于模型训练的初始模型。
在本实施例中,所述第一服务器、第二服务器具体可以包括一种应用于业务平台一侧,能够实现数据传输、数据处理等功能的后台服务器。具体的,所述第一服务器、第二服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述第一服务器、第二服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述第一服务器、第二服务器所包含的服务器的数量。所述第一服务器、第二服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
在一些实施例中,上述目标数据具体可以理解为待调用目标模型处理的数据。具体的,上述目标数据可以包括多个业务的特征数据。其中,上述多个业务具体可以包括:多个相同类型的业务和/或多个不同类型的业务。上述业务具体可以为投资服务、产品销售、信息推广、旅游服务、健身服务等等。上述特征数据具体可以包括业务的属性特征,例如,业务的内容属性、业务的类型属性、业务的费用属性等;还可以包括业务的历史行为特征,例如,业务的历史评价、业务的历史表现、业务的历史申请数量等。
当前第一服务器希望调用目标模型通过处理目标数据所包含的多个业务的特征数据,以从多个业务中找到满足要求的一个或多个业务作为待推荐的目标业务。其中,上述满足要求具体可以理解为满足第一服务器所面向的用户的个性化定制要求,或满足第一服务器所面向的用户的收益最大化要求,或满足第一服务器所面向的用户的空闲时间要求等。
在一些实施例中,具体实施前,第二服务器可以根据预设的秘钥生成规则生成相互对应的公钥数据和私钥数据,并将其中的公钥数据发送给第一服务器;第二服务器可以同时持有公钥数据和私钥数据。
在一些实施例中,参阅图3所示,第二服务器具体可以按照以下方式,根据预设的秘钥生成规则生成相互对应的公钥数据和私钥数据:
S1:获取第一素数和第二素数,并利用第一素数和第二素数构建第一参数和第二参数;
S2:构建中间函数;并获取随机数;其中,所述随机数、第一参数、第二参数、中间函数满足预设的数据关系;
S3:利用随机数、第一参数、第二参数和中间函数,计算第三参数;
S4:根据第二参数和第三参数构建私钥数据;根据第一参数和随机数构建公钥数据。
具体的,例如,第二服务器先可以选择两个较大的素数p、q分别作为第一素数和第二素数。接着,再计算p、q的乘积作为第一参数,记为n;计算p-1和q-1的最小公倍数作为第二参数,记为λ。
接着,第二服务器可以构造函数L(x)=(x-1)/n作为中间函数。同时,按照以下方式获取随机数g:第二服务器可以按照以下方式验证随机数、第一参数、第二参数、中间函数是否满足预设的数据关系:验证算式L(gλmod n2)在/>中是否可逆。如果可逆,则确定随机数与第一参数、第二参数、中间函数满足预设的数据关系。如果不可逆,则随机数与第一参数、第二参数、中间函数不满足预设的数据关系,可以重新获取随机数。
然后,第二服务器可以按照以下算式利用随机数、第一参数、第二参数和中间函数,计算得到第三参数μ:μ=(L(gλmod n2))-1 mod n。
最后,根据第一参数和随机数构建得到公钥数据,可以记为:pk=(n,g)。其中,n为公钥数据中的第一公钥分量,g为公钥数据中的第二公钥分量。根据第二参数和第三参数构建得到私钥数据,可以记为:sk=(λ,μ)。其中,λ为私钥数据中的第一私钥分量,μ为私钥数据中的第二私钥分量。
在按照上述方式生成得到公钥数据和私钥数据之后,第二服务器可以通过广播等方式将公钥数据提供给第一服务器;同时,第二服务器持有公钥数据和私钥数据。
在一些实施例中,上述目标模型具体可以理解为一种能够通过处理输入的多个业务的特征数据,从多个业务中筛选出满足要求的一个或多个目标业务的模型。
具体的,所述目标模型可以包括:业务推荐模型;相应的,所述目标数据可以包括:多个业务的特征数据;所述目标处理结果可以包括:待推荐的目标业务。
当然,上述目标模型只是一种示意性说明。具体实施时,根据具体的应用场景和处理需求,上述目标模型还可以包括业务过滤模型,或者服务推荐模型等等。对此,本说明书不作限定。
在一些实施例中,上述目标模型具体可以是第一服务器和第二服务器根据预设的加密规则,分别利用各自所持有的样本数据和初始模型,通过联合训练构建得到的。关于目标模型的联合训练后续将另做说明。
在一些实施例中,所述预设的加密规则包括paillier半同态加密算法。其中,paillier半同态加密算法(Partially Homomorphic Encryption,PHE),具体可以理解为一种只支持加法或乘法中的同态加密运算。其中,只支持加法运算的可以称为加法同态加密(Additive Homomorphic Encryption,AHE)。
当然,需要说明的是,上述所列举的预设的加密规则只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以使用其他合适的加密算法,例如,以BGV/BFV为代表的分层全同态加密算法(对应的基本运算为模多项式的加法和乘法),或者以FHEW/TFHE为代表的自举全同态加密算法(对应的基本运算为与非门),或者以CKKS为代表的近似全同态加密算法(对应的基本运算为浮点数的加法和乘法)等作为预设的加密规则。
在一些实施例中,上述目标数据可以表示为:[m1,……mi,……mk]。其中,mi为目标数据中编号为i的业务的特征数据,k为目标数据所包含的业务的特征数据的总数。
相应的,上述根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据,具体实施时,可以按照以下算式对目标数据中的各个业务的特征数据分别进行加密处理:其中,mi为目标数据中编号为i的业务的特征数据,ci为目标数据中编号为i的业务的特征数据的密文数据,n为公钥数据中的第一公钥分量,g为公钥数据中的第二公钥分量,r为随机参数,/>得到的目标数据的密文数据可以表示为以下形式:[c1,……ci,……ck]。
在一些实施例中,上述目标数据处理请求至少携带有待调用的目标模型的模型标识。
上述目标模型具体可以为与目标数据相匹配的,支持处理目标数据所包含的多个业务特征数据的模型。
在一些实施例中,第一服务器可以将目标数据处理请求发送至第二服务器。相应的,第二服务器接收得到目标数据处理请求。第二服务器响应目标数据处理请求,根据模型标识,查询所持有的模型库,以找出目标模型。
在一些实施例中,上述目标模型具体可以是一种线性函数模型,这时可以直接将该目标模型的函数形式确定为对应的目标线性函数模型。
上述目标模型还可以是一种非线性函数模型,这时第一服务器可以根据相应的转换规则,通过进行诸如数据拟合等转换处理,将目标模型转换为相对应的目标线性函数模型。
具体的,例如,一个简单的目标线性函数模型可以表示为以下形式:
h(m1,...,mk)=a0+a1m1+…+akmk
其中,h(m1,...,mk)表示关于目标数据[m1,……,mk]的目标线性函数,mk为目标数据中编号为k的业务的特征数据,ak为编号为k的模型参数。
在一些实施例中,第二服务器可以根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据。
具体加密过程,可以参阅第一服务器根据预设的加密规则和公钥数据对目标数据进行加密的实施例,在此不作赘述。具体的,例如,对上述目标线性函数模型中的模型参数ak加密后得到密文数据可以表示为:ak′。
在一些实施例中,第二服务器可以将目标模型的密文数据发送至第一服务器。相应的,第一服务器可以获得目标模型的密文数据。第一服务器由于没有预设的解密规则,也没有用于解密的私钥数据,因此无法解密目标模型的密文数据得到明文形式的目标模型,从而可以有效地避免向第一服务器泄露第二服务器所持有的目标模型。
在一些实施例中,上述根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据,具体实施时,可以包括:
可以按照以下算式,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据:
其中,H(c1,…ci,…ck)为目标处理结果的密文数据,ci为目标数据中编号为i的业务的特征数据的密文数据,n为公钥数据中的第一公钥分量,g为公钥数据中的第二公钥分量,ai′为目标模型的密文数据中编号为i的模型参数的密文数据。
在一些实施例中,第一服务器可以按照上述方式在目标数据不出域的情况下,使用目标数据的密文数据,通过进行同态运算,生成得到目标处理结果的密文数据;再将该目标处理结果的密文数据发送给第二服务器。相应的,第二服务器可以接收到的目标处理结果的密文数据。第二服务器虽然持有的预设的解密规则和私钥数据,但是第二服务器利用上述预设的解密规则、公钥数据和私钥数据,只可能解密得到明文形式的目标处理结果,无法反推出目标数据中所包含的各个业务的特征数据,从而可以有效地避免向第二服务器泄露第一服务器所持有的目标数据。
在一些实施例中,上述预设的解密规则具体可以理解为与预设的加密规则对应的密码学规则。
具体的,例如,目标处理结果的密文数据的密文数据可以记为C。明文形式的目标处理结果可以记为M。
上述根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果,具体实施时,可以按照以下算式进行解密处理:
M=L(Cλmod n2)·μmod n
其中,L为中间函数,M为目标处理结果,C为目标处理结果的密文数据,λ为私钥数据中的第一私钥分量,μ为私钥数据中的第二私钥分量,n为公钥数据中的第一公钥分量。
第二服务器在按照上述方式,解密得到目标处理结果之后,可以将目标处理结果发送给第一服务器。相应的,第一服务器可以接收获取目标处理结果。
在一些实施例中,在接收目标处理结果之后,所述方法具体实施时,还可以包括以下内容:
S1:根据目标处理结果,确定待推荐的目标业务;
S2:获取关于目标业务的推广信息和关联链接;
S3:向目标用户推送所述关于目标业务的推广信息和关联链接。
在一些实施例中,上述目标业务具体可以包括满足第一服务器所面向用户的要求的一个业务或多个业务的组合。
在一些实施例中,第一服务器可以针对性地获取关于目标业务的推广信息(例如,介绍目标业务的文本数据或图片数据等)和关联链接(例如,申请或购买目标业务的网页地址或二维码等);再将上述目标业务的推广信息和关联链接,统一推送给目标用户所持有的终端,以供目标用户操作。这样可以智能且高效地确定出满足要求的目标业务推送给用户,使得目标用户可以较为便捷、高效地找到准确满足要求的业务,简化了目标用户的操作流程,提高了目标用户的交互体验。
在一些实施例中,所述方法具体实施时,还可以包括以下内容:
S1:响应关于目标模型的联合训练请求,根据预设的加密规则和公钥数据对样本数据进行加密处理,得到样本数据的密文数据;
S2:接收初始模型的密文数据;其中,所述初始模型的密文数据为第二服务器响应联合训练请求,将初始模型转换为对应的初始线性函数模型后,根据预设的加密规则和公钥数据对初始线性函数模型中的模型参数进行加密处理得到的;
S3:根据预设的同态运算规则,利用初始模型的密文数据和样本数据的密文数据根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;
S4:向第二服务器发送所述初始样本处理结果的密文数据;其中,所述第二服务器根据初始样本处理结果的密文数据更新初始模型的模型参数。
通过上述实施例,第一服务器和第二服务器可以在避免向对方泄露己方所持有的数据的前提下,合作完成一轮模型的联合训练。
在一些实施例中,上述关于目标模型的联合训练请求具体可以是第一服务器发起的,也可以是第二服务器发起的,还可以是其他第三方发起的。
在一些实施例中,上述第二服务器还部署有支持同态加密的机器学习框架,例如,CryptoDL、CryptoNet、FHE-DiNN等。
在一些实施例中,具体实施时,第二服务器可以根据预设的解密规则、公钥数据和私钥数据对初始样本处理结果的密文数据进行解密处理,得到初始样本处理结果;再根据所述初始样本处理结果,有针性地对初始模型的模型参数进行修改和调整,实现对初始模型的更新,得到中间模型。
第二服务器在得到中间模型之后,还可以对所述中间模型进行模型测试,得到关于该中间模型的测试结果;根据测试结果,确定中间模型是否符合预设要求;在确定中间模型符合预设要求的情况下,将该中间模型确定为目标模型。
其中,第二服务器对所述中间模型进行模型测试,得到关于该中间模型的测试结果,具体实施时,可以包括以下内容:
S1:利用中间模型对多个历史业务的特征数据进行处理,得到对应的测试处理结果;
S2:根据测试处理结果,筛选出排序靠前预设数量的历史业务作为测试业务;
S3:获取并根据历史业务数据,对测试业务的历史业务表现和历史业务评价进行数据回溯,以得到对应的测试结果。
上述根据测试结果,确定中间模型是否符合预设要求,具体实施时,可以包括以下内容:根据测试结果,确定基于中间模型所筛选出的测试业务是否满足第一服务器所面向的用户的要求;在确定基于中间模型所筛选出的测试业务满足第一服务器所面向的用户的要求的情况下,确定当前的中间模型符合预设要求,测试通过,这时,可以将该中间模型确定为目标模型;相反,在确定基于中间模型所筛选出的测试业务不满足第一服务器所面向的用户的要求的情况下,确定当前的中间模型不符合预设要求,测试未通过,这时,可以将该中间模型确定为下一轮训练的初始模型,以在该中间模型的基础上进行下一轮模型的联合训练。
在一些实施例中,在向第二服务器发送所述初始样本处理结果的密文数据之后,所述方法具体实施时,还可以包括以下内容:
S1:接收中间模型的密文数据;其中,所述中间模型为第二服务器更新初始模型的模型参数后得到模型;
S2:根据预设的同态运算规则,利用中间模型的密文数据和样本数据的密文数据根据预设的同态运算规则,利用公钥数据、中间模型的密文数据和样本数据的密文数据,计算得到中间样本处理结果的密文数据;
S3:向第二服务器发送所述中间样本处理结果的密文数据;其中,所述第二服务器根据中间样本处理结果的密文数据更新中间模型的模型参数。
按照上述方式,通过进行多轮模型的联合训练,可以得到满足预设要求的目标模型。
由上可见,基于本说明书实施例提供的数据处理方法,具体实施前,部署于数据提供方一侧的第一服务器和部署于模型提供方一侧的第二服务器可以根据预设的加密规则,在不向对方泄露己方所持有的数据的前提下,利用各自所持有的数据联合训练得到符合预设要求的目标模型。具体实施时,第一服务器和第二服务器可以根据预设的加密规则,在不向第一服务器泄露第二服务器所持有的目标模型,同时不向第二服务器泄露第一服务器所持有的目标数据的前提下,在密文状态下合作调用目标模型处理目标数据,以得到对应的目标处理结果。从而能够在合作完成相关数据处理的同时,较好地保护参与数据处理的双方的数据安全。从而可以有效地避免数据提供方、模型提供方所持有的数据遭到泄露。
参阅图4所示,本说明书实施例还提供了一种数据处理方法。其中,该方法应用于第二服务器,所述第二服务器部署于模型提供方一侧。该方法具体实施时,可以包括以下内容:
S401:接收第一服务器发送的关于调用目标模型的目标数据处理请求;其中,所述第一服务器部署于数据提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
S402:响应目标数据处理请求,确定出目标模型,并将目标模型转换为对应的目标线性函数模型;
S403:根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;
S404:将所述目标模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;所述目标数据的密文数据为第一服务器根据预设的加密规则和公钥数据对目标数据进行加密处理得到的;
S405:接收目标处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
S406:将所述目标处理结果发送至第一服务器。
在一些实施例中,所述方法具体实施时,还可以包括以下内容:
S1:响应关于目标模型的联合训练请求,将初始模型转换为对应的初始线性函数模型;并根据预设的加密规则和公钥数据对初始线性函数模型中的模型参数进行加密处理,得到初始模型的密文数据;
S2:将所述初始模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;
S3:接收初始样本处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对初始样本处理结果的密文数据进行解密处理,得到初始样本处理结果;
S4:根据所述初始样本处理结果,更新初始模型的模型参数,得到中间模型。
在一些实施例中,在得到中间模型之后,所述方法具体实施时,还可以包括以下内容:
S1:对所述中间模型进行模型测试,得到关于该中间模型的测试结果;
S2:根据测试结果,确定中间模型是否符合预设要求;
S3:在确定中间模型符合预设要求的情况下,将该中间模型确定为目标模型。
在一些实施例中,在确定中间模型不符合预设要求的情况下,所述方法具体实施时,还可以包括以下内容:
S1:将中间模型转换为对应的中间线性函数模型;并根据预设的加密规则和公钥数据对中间线性函数模型中的模型参数进行加密处理,得到中间模型的密文数据;
S2:将所述中间模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、中间模型的密文数据和样本数据的密文数据,计算得到中间样本处理结果的密文数据;
S3:接收中间样本处理结果的密文数据;并根据预设的解密规则和私钥数据对中间样本处理结果的密文数据进行解密处理,得到中间样本处理结果;
S4:根据所述中间样本处理结果,更新中间模型的模型参数。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;根据预设的同态运算规则,利用目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;接收目标处理结果。
为了能够更加准确地完成上述指令,参阅图5所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口501、处理器502以及存储器503,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口501,具体可以用于获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据。
所述处理器502,具体可以用于向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;根据预设的同态运算规则,利用目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;接收目标处理结果。
所述存储器503,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口501可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器502可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器503可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收第一服务器发送的关于调用目标模型的目标数据处理请求;其中,所述第一服务器部署于数据提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;响应目标数据处理请求,确定出目标模型,并将目标模型转换为对应的目标线性函数模型;根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;将所述目标模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;所述目标数据的密文数据为第一服务器根据预设的加密规则和公钥数据对目标数据进行加密处理得到的;接收目标处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;将所述目标处理结果发送至第一服务器。
本说明书实施例还提供了一种基于上述数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;根据预设的同态运算规则,利用目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;接收目标处理结果。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例还提供了一种计算机程序产品,包含有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;根据预设的同态运算规则,利用目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;接收目标处理结果。
本说明书实施例还提供了另一种计算机程序产品,包含有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收第一服务器发送的关于调用目标模型的目标数据处理请求;其中,所述第一服务器部署于数据提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;响应目标数据处理请求,确定出目标模型,并将目标模型转换为对应的目标线性函数模型;根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;将所述目标模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;所述目标数据的密文数据为第一服务器根据预设的加密规则和公钥数据对目标数据进行加密处理得到的;接收目标处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;将所述目标处理结果发送至第一服务器。
参阅图6所示,在软件层面上,本说明书实施例还提供了一种数据处理装置,该装置具体可以包括以下的结构模块:
获取模块601,具体可以用于获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;
第一发送模块602,具体可以用于向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
第一接收模块603,具体可以用于接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;
计算模块604,具体可以用于根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;
第二发送模块605,具体可以用于将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
第二接收模块606,具体可以用于接收目标处理结果。
在一些实施例中,所述目标模型具体可以包括:业务推荐模型等;相应的,所述目标数据具体可以包括:多个业务的特征数据等;所述目标处理结果具体可以包括:待推荐的目标业务等。
在一些实施例中,在接收目标处理结果之后,所述装置还包括应用模块,该应用模块具体实施时,可以用于根据目标处理结果,确定待推荐的目标业务;获取关于目标业务的推广信息和关联链接;向目标用户推送所述关于目标业务的推广信息和关联链接。
在一些实施例中,所述装置还包括建模模块,该建模模块具体实施时,可以用于响应关于目标模型的联合训练请求,根据预设的加密规则和公钥数据对样本数据进行加密处理,得到样本数据的密文数据;接收初始模型的密文数据;其中,所述初始模型的密文数据为第二服务器响应联合训练请求,将初始模型转换为对应的初始线性函数模型后,根据预设的加密规则和公钥数据对初始线性函数模型中的模型参数进行加密处理得到的;根据预设的同态运算规则,利用初始模型的密文数据和样本数据的密文数据根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;向第二服务器发送所述初始样本处理结果的密文数据;其中,所述第二服务器根据初始样本处理结果的密文数据更新初始模型的模型参数。
在一些实施例中,在向第二服务器发送所述初始样本处理结果的密文数据之后,所述建模模块还可以用于接收中间模型的密文数据;其中,所述中间模型为第二服务器更新初始模型的模型参数后得到模型;根据预设的同态运算规则,利用中间模型的密文数据和样本数据的密文数据根据预设的同态运算规则,利用公钥数据、中间模型的密文数据和样本数据的密文数据,计算得到中间样本处理结果的密文数据;向第二服务器发送所述中间样本处理结果的密文数据;其中,所述第二服务器根据中间样本处理结果的密文数据更新中间模型的模型参数。
在一些实施例中,所述预设的加密规则具体可以包括paillier半同态加密算法。
在一些实施例中,上述计算模块604具体实施时,可以按照以下算式,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据:
其中,H(c1,…ci,ck)为目标处理结果的密文数据,ci为目标数据中编号为i的业务的′特征数据的密文数据,n为公钥数据中的第一公钥分量,g为公钥数据中的第二公钥分量,ai为目标模型的密文数据中编号为i的模型参数的密文数据。
参阅图7所示,在软件层面上,本说明书实施例还提供了一种数据处理装置,该装置具体可以包括以下的结构模块:
第一接收模块701,具体可以用于接收第一服务器发送的关于调用目标模型的目标数据处理请求;其中,所述第一服务器部署于数据提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
转换模块702,具体可以用于响应目标数据处理请求确定目标模型,并将目标模型转换为对应的目标线性函数模型;
加密模块703,具体可以用于根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;
第一发送模块704,具体可以用于将所述目标模型的密文数据分析发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;所述目标数据的密文数据为第一服务器根据预设的加密规则对所述目标数据进行加密处理得到的;
第二接收模块705,具体可以用于接收目标处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
第二发送模块706,具体可以用于将所述目标处理结果发送至第一服务器。
在一些实施例中,所述装置还可以包括建模模块,该建模模块具体实施时,还可以用于响应关于目标模型的联合训练请求,将初始模型转换为对应的初始线性函数模型;并根据预设的加密规则和公钥数据对初始线性函数模型中的模型参数进行加密处理,得到初始模型的密文数据;将所述初始模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;接收初始样本处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对初始样本处理结果的密文数据进行解密处理,得到初始样本处理结果;根据所述初始样本处理结果,更新初始模型的模型参数,得到中间模型。
在一些实施例中,在得到中间模型之后,所述建模模块具体实施时,还可以用于对所述中间模型进行模型测试,得到关于该中间模型的测试结果;根据测试结果,确定中间模型是否符合预设要求;在确定中间模型符合预设要求的情况下,将该中间模型确定为目标模型。
在一些实施例中,在确定中间模型不符合预设要求的情况下,所述建模模块具体实施时,还可以用于将中间模型转换为对应的中间线性函数模型;并根据预设的加密规则和公钥数据对中间线性函数模型中的模型参数进行加密处理,得到中间模型的密文数据;将所述中间模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、中间模型的密文数据和样本数据的密文数据,计算得到中间样本处理结果的密文数据;接收中间样本处理结果的密文数据;并根据预设的解密规则和私钥数据对中间样本处理结果的密文数据进行解密处理,得到中间样本处理结果;根据所述中间样本处理结果,更新中间模型的模型参数。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,基于本说明书实施例提供的数据处理装置,具体实施前,部署于数据提供方一侧的第一服务器和部署于模型提供方一侧的第二服务器可以根据预设的加密规则,在不向对方泄露己方所持有的数据的前提下,利用各自所持有的数据联合训练得到符合预设要求的目标模型。具体实施时,第一服务器和第二服务器可以根据预设的加密规则,在不向第一服务器泄露第二服务器所持有的目标模型,同时不向第二服务器泄露第一服务器所持有的目标数据的前提下,在密文状态下合作调用目标模型处理目标数据,以得到对应的目标处理结果。从而能够在合作完成相关数据处理的同时,较好地保护参与数据处理的双方的数据安全,有效地避免了数据提供方、模型提供方所持有的数据遭到泄露。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (14)
1.一种数据处理方法,其特征在于,应用于第一服务器,所述第一服务器部署于数据提供方一侧,所述方法包括:
获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;
向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;
根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;
将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
接收目标处理结果。
2.根据权利要求1所述的方法,其特征在于,所述目标模型包括:业务推荐模型;相应的,所述目标数据包括:多个业务的特征数据;所述目标处理结果包括:待推荐的目标业务。
3.根据权利要求2所述的方法,其特征在于,在接收目标处理结果之后,所述方法还包括:
根据目标处理结果,确定待推荐的目标业务;
获取关于目标业务的推广信息和关联链接;
向目标用户推送所述关于目标业务的推广信息和关联链接。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应关于目标模型的联合训练请求,根据预设的加密规则和公钥数据对样本数据进行加密处理,得到样本数据的密文数据;
接收初始模型的密文数据;其中,所述初始模型的密文数据为第二服务器响应联合训练请求,将初始模型转换为对应的初始线性函数模型后,根据预设的加密规则和公钥数据对初始线性函数模型中的模型参数进行加密处理得到的;
根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;
向第二服务器发送所述初始样本处理结果的密文数据;其中,所述第二服务器根据初始样本处理结果的密文数据更新初始模型的模型参数。
5.根据权利要求4所述的方法,其特征在于,在向第二服务器发送所述初始样本处理结果的密文数据之后,所述方法还包括:
接收中间模型的密文数据;其中,所述中间模型为第二服务器更新初始模型的模型参数后得到模型;
根据预设的同态运算规则,利用公钥数据、中间模型的密文数据和样本数据的密文数据,计算得到中间样本处理结果的密文数据;
向第二服务器发送所述中间样本处理结果的密文数据;其中,所述第二服务器根据中间样本处理结果的密文数据更新中间模型的模型参数。
6.根据权利要求1所述的方法,其特征在于,所述预设的加密规则包括paillier半同态加密算法。
8.一种数据处理方法,其特征在于,应用于第二服务器,所述第二服务器部署于模型提供方一侧,所述方法包括:
接收第一服务器发送的关于调用目标模型的目标数据处理请求;其中,所述第一服务器部署于数据提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
响应目标数据处理请求,确定出目标模型,并将目标模型转换为对应的目标线性函数模型;
根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;
将所述目标模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;所述目标数据的密文数据为第一服务器根据预设的加密规则和公钥数据对目标数据进行加密处理得到的;
接收目标处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
将所述目标处理结果发送至第一服务器。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
响应关于目标模型的联合训练请求,将初始模型转换为对应的初始线性函数模型;并根据预设的加密规则和公钥数据对初始线性函数模型中的模型参数进行加密处理,得到初始模型的密文数据;
将所述初始模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、初始模型的密文数据和样本数据的密文数据,计算得到初始样本处理结果的密文数据;
接收初始样本处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对初始样本处理结果的密文数据进行解密处理,得到初始样本处理结果;
根据所述初始样本处理结果,更新初始模型的模型参数,得到中间模型。
10.根据权利要求9所述的方法,其特征在于,在得到中间模型之后,所述方法还包括:
对所述中间模型进行模型测试,得到关于该中间模型的测试结果;
根据测试结果,确定中间模型是否符合预设要求;
在确定中间模型符合预设要求的情况下,将该中间模型确定为目标模型。
11.根据权利要求10所述的方法,其特征在于,在确定中间模型不符合预设要求的情况下,所述方法还包括:
将中间模型转换为对应的中间线性函数模型;并根据预设的加密规则和公钥数据对中间线性函数模型中的模型参数进行加密处理,得到中间模型的密文数据;
将所述中间模型的密文数据发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、中间模型的密文数据和样本数据的密文数据,计算得到中间样本处理结果的密文数据;
接收中间样本处理结果的密文数据;并根据预设的解密规则和私钥数据对中间样本处理结果的密文数据进行解密处理,得到中间样本处理结果;
根据所述中间样本处理结果,更新中间模型的模型参数。
12.一种数据处理装置,其特征在于,应用于第一服务器,所述第一服务器部署于数据提供方一侧,所述装置包括:
获取模块,用于获取待处理的目标数据;并根据预设的加密规则和公钥数据对所述目标数据进行加密处理,得到目标数据的密文数据;
第一发送模块,用于向第二服务器发送关于调用目标模型的目标数据处理请求;其中,所述第二服务器部署于模型提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
第一接收模块,用于接收目标模型的密文数据;其中,所述目标模型的密文数据为第二服务器响应目标数据处理请求将目标模型转换为对应的目标线性函数模型后,根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理得到的;
计算模块,用于根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;
第二发送模块,用于将所述目标处理结果的密文数据发送至第二服务器;其中,第二服务器根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
第二接收模块,用于接收目标处理结果。
13.一种数据处理装置,其特征在于,应用于第二服务器,所述第二服务器部署于模型提供方一侧,所述装置包括:
第一接收模块,用于接收第一服务器发送的关于调用目标模型的目标数据处理请求;其中,所述第一服务器部署于数据提供方一侧;所述目标模型为第一服务器和第二服务器预先根据预设的加密规则通过联合训练得到的;
转换模块,用于响应目标数据处理请求确定目标模型,并将目标模型转换为对应的目标线性函数模型;
加密模块,用于根据预设的加密规则和公钥数据对目标线性函数模型中的模型参数进行加密处理,得到目标模型的密文数据;
第一发送模块,用于将所述目标模型的密文数据分析发送至第一服务器;其中,所述第一服务器根据预设的同态运算规则,利用公钥数据、目标模型的密文数据和目标数据的密文数据,计算得到目标处理结果的密文数据;所述目标数据的密文数据为第一服务器根据预设的加密规则对所述目标数据进行加密处理得到的;
第二接收模块,用于接收目标处理结果的密文数据;并根据预设的解密规则、公钥数据和私钥数据对目标处理结果的密文数据进行解密处理,得到目标处理结果;
第二发送模块,用于将所述目标处理结果发送至第一服务器。
14.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至7,或8至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210865637.1A CN115118520B (zh) | 2022-07-21 | 2022-07-21 | 数据处理方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210865637.1A CN115118520B (zh) | 2022-07-21 | 2022-07-21 | 数据处理方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115118520A CN115118520A (zh) | 2022-09-27 |
CN115118520B true CN115118520B (zh) | 2023-06-02 |
Family
ID=83334355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210865637.1A Active CN115118520B (zh) | 2022-07-21 | 2022-07-21 | 数据处理方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118520B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150795B (zh) * | 2023-04-17 | 2023-07-14 | 粤港澳大湾区数字经济研究院(福田) | 基于同态加密的数据处理方法、系统及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347495A (zh) * | 2020-11-15 | 2021-02-09 | 北京物资学院 | 一种基于区块链的可信隐私智能服务计算系统及方法 |
CN112668748A (zh) * | 2020-09-16 | 2021-04-16 | 华控清交信息科技(北京)有限公司 | 一种预测方法、装置和电子设备 |
CN112788001A (zh) * | 2020-12-28 | 2021-05-11 | 建信金融科技有限责任公司 | 一种基于数据加密的数据处理业务处理方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10778410B2 (en) * | 2019-06-18 | 2020-09-15 | Alibaba Group Holding Limited | Homomorphic data encryption method and apparatus for implementing privacy protection |
-
2022
- 2022-07-21 CN CN202210865637.1A patent/CN115118520B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668748A (zh) * | 2020-09-16 | 2021-04-16 | 华控清交信息科技(北京)有限公司 | 一种预测方法、装置和电子设备 |
CN112347495A (zh) * | 2020-11-15 | 2021-02-09 | 北京物资学院 | 一种基于区块链的可信隐私智能服务计算系统及方法 |
CN112788001A (zh) * | 2020-12-28 | 2021-05-11 | 建信金融科技有限责任公司 | 一种基于数据加密的数据处理业务处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115118520A (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108364223B (zh) | 一种数据审计的方法及装置 | |
CN109740384A (zh) | 基于区块链的数据存证方法和装置 | |
US11902424B2 (en) | Secure re-encryption of homomorphically encrypted data | |
CN109687952A (zh) | 数据处理方法及其装置、电子装置及存储介质 | |
CN112347500B (zh) | 分布式系统的机器学习方法、装置、系统、设备及存储介质 | |
Louk et al. | Homomorphic encryption in mobile multi cloud computing | |
CN110400164B (zh) | 数据确定方法和装置、存储介质及电子装置 | |
CN112100679B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN110163008B (zh) | 一种部署的加密模型的安全性审计的方法和系统 | |
CN113032357A (zh) | 文件的存储方法、装置和服务器 | |
CN112202554A (zh) | 基于信息的属性生成密钥的信息处理方法、装置及设备 | |
CN112508722A (zh) | 一种基于零知识证明的保单信息验证方法和装置 | |
CN112073444B (zh) | 数据集的处理方法、装置和服务器 | |
CN115118520B (zh) | 数据处理方法、装置和服务器 | |
CN109981551A (zh) | 一种基于区块链的数据传输系统、方法及相关设备 | |
CN110598427B (zh) | 数据的处理方法、系统和存储介质 | |
CN113254989B (zh) | 目标数据的融合方法、装置和服务器 | |
CN113064899B (zh) | 资产类证券型通证交易凭证的存储方法、装置和电子设备 | |
CN112468285B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN111881474B (zh) | 基于可信计算环境的私钥管理方法和装置 | |
CN112749780B (zh) | 数据的处理方法、装置及设备 | |
CN114418769A (zh) | 一种区块链交易计费方法、装置及可读存储介质 | |
CN113645022A (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
CN110868499B (zh) | 话单生成、校验方法、装置及设备、存储介质 | |
CN113240045A (zh) | 一种数据降维方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |