首页> 中国专利> 一种数据处理方法、密文计算平台和明密文混合计算系统

一种数据处理方法、密文计算平台和明密文混合计算系统

摘要

本发明实施例提供了一种数据处理方法、密文计算平台和明密文混合计算系统,用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述方法可应用于密文计算平台,所述方法包括:接收第一数据方以密文形式上传的排序向量,以及以明文形式上传的位置向量;排序向量和位置向量为第一数据方基于分箱数组中各元素对应的分箱对分箱数组进行排序所得到;接收第二数据方以密文形式上传的属性数组;依据排序向量和位置向量,对属性数组进行安全计算,得到聚合结果数组。本发明实施例可以在保证数据隐私安全的基础上,减少密文计算的计算开销,提高多方聚合计算的效率。

著录项

  • 公开/公告号CN113824550A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 华控清交信息科技(北京)有限公司;

    申请/专利号CN202111393053.0

  • 申请日2021-11-23

  • 分类号H04L9/06(20060101);H04L29/06(20060101);

  • 代理机构11319 北京润泽恒知识产权代理有限公司;

  • 代理人苏培华

  • 地址 100084 北京市海淀区中关村东路1号院3号楼10层1009-1

  • 入库时间 2023-06-19 13:46:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-02-15

    授权

    发明专利权授予

说明书

技术领域

本发明涉及计算机技术领域,尤其涉及一种数据处理方法、密文计算平台和明密文混合计算系统。

背景技术

数据分箱是一种常用的数据预处理方法,“箱”实际上就是按照数据对应的某一属性的属性值划分的子区间,如按照年龄划分的子区间、按照身高划分的子区间等,如果一个数据的属性值处于某个子区间范围内,就把该数据划分到该子区间所代表的箱(bin)内。

例如,对于某个样本集合,按照该样本集合的某个属性值进行分箱后,可以得到该样本集合对应的分箱数组,如bins=[0,1,1,2,0,2],bins数组中的各元素表示对应样本所属的分箱。在该示例中,bins中的第一个元素为0,表示该样本集合中的第一个样本属于分箱0;bins中的第二个元素为1,表示该样本集合中的第二个样本属于分箱1;依次类推。

在对样本集合分箱后,可以按照各分箱对该样本集合的属性值进行聚合,利用聚合结果可以进行进一步的数据统计、分析、清洗、模型训练等数据处理操作。然而,在多方数据融合计算场景中,一个样本集合的分箱信息和属性信息可能由不同数据方所持有。如果基于明文数据进行聚合,将导致数据方的数据泄露,如果在密文计算平台基于密文数据进行聚合,需要对分箱进行密文比较操作,将导致计算复杂度较高,计算效率较低。

发明内容

本发明实施例提供一种数据处理方法、密文计算平台和明密文混合计算系统,可以在保证数据隐私安全的基础上,减少密文计算的计算开销,提高对多方数据进行聚合计算的效率。

为了解决上述问题,本发明实施例公开了一种数据处理方法,用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述方法应用于密文计算平台,所述方法包括:

接收第一数据方以密文形式上传的排序向量,以及以明文形式上传的位置向量;其中,所述排序向量和所述位置向量为所述第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序后,根据排序后的分箱数组所确定,排序后的分箱数组中对应相同分箱的元素相邻;

接收第二数据方以密文形式上传的属性数组;

依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

另一方面,本发明实施例公开了一种数据处理方法,用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述方法应用于明密文混合计算系统,所述明密文混合计算系统包括第一数据方、第二数据方、以及密文计算平台,所述方法包括:

第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序,得到排序后的分箱数组,并记录所述排序后的分箱数组对应的排序向量以及所述排序后的分箱数组对应的位置向量;其中,所述排序后的分箱数组中对应相同分箱的元素相邻;

第一数据方将所述排序向量以密文形式上传至密文计算平台,以及将所述位置向量以明文形式上传至密文计算平台;

第二数据方将所述属性数组以密文形式上传至密文计算平台;

密文计算平台依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

再一方面,本发明实施例公开了一种密文计算平台,用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述密文计算平台包括:

第一接收模块,用于接收第一数据方以密文形式上传的排序向量,以及以明文形式上传的位置向量;其中,所述排序向量和所述位置向量为所述第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序后,根据排序后的分箱数组所确定,排序后的分箱数组中对应相同分箱的元素相邻;

第二接收模块,用于接收第二数据方以密文形式上传的属性数组;

安全计算模块,用于依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

再一方面,本发明实施例公开了一种明密文混合计算系统,用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述明密文混合计算系统包括第一数据方、第二数据方、以及密文计算平台;其中,

所述第一数据方,用于基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序,得到排序后的分箱数组,并记录所述排序后的分箱数组对应的排序向量以及所述排序后的分箱数组对应的位置向量;其中,所述排序后的分箱数组中对应相同分箱的元素相邻;

所述第一数据方,还用于将所述排序向量以密文形式上传至密文计算平台,以及将所述位置向量以明文形式上传至密文计算平台;

所述第二数据方,用于将所述属性数组以密文形式上传至密文计算平台;

所述密文计算平台,用于依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

再一方面,本发明实施例公开了一种用于数据处理的装置,用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述装置包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的数据处理方法的指令。

再一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。

又一方面,本发明实施例公开了一种计算机程序产品,所述计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中,且适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行如前述一个或多个所述的数据处理方法。

本发明实施例包括以下优点:

本发明实施例在样本集合对应的分箱数组以及该样本集合对应的属性数组由不同数据方持有时,可以基于明密文混合运算进行联邦聚合。密文计算平台接收第一数据方以密文形式上传的排序向量,以明文形式上传的位置向量,以及接收第二数据方以密文形式上传的属性数组,密文计算平台依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。在此过程中,密文计算平台无需获取分箱数组的明文数据,也无需获取分箱数组的密文数据,分箱数组的信息完全保密,可以极大提高数据的隐私安全程度。此外,所述排序向量和所述位置向量为所述第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序所得到,相对于在密文计算平台完全基于密文的计算,本发明实施例在保证数据隐私安全的基础上,将一部分计算放在第一数据方本地进行明文计算,可以减少密文计算的计算开销,降低密文计算所需的通信带宽占用率,极大提高了聚合计算的效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的一种数据处理方法实施例的步骤流程图;

图2是本发明的另一种数据处理方法实施例的步骤流程图;

图3是本发明的一种密文计算平台实施例的结构框图;

图4是本发明的一种明密文混合计算系统实施例的结构框图;

图5是本发明的一种用于数据处理的装置800的框图;

图6是本发明的一些实施例中服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法可用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述方法可应用于密文计算平台,所述方法具体可以包括如下步骤:

步骤101、接收第一数据方以密文形式上传的排序向量,以及以明文形式上传的位置向量;其中,所述排序向量和所述位置向量为所述第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序后,根据排序后的分箱数组所确定,排序后的分箱数组中对应相同分箱的元素相邻;

步骤102、接收第二数据方以密文形式上传的属性数组;

步骤103、依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

本发明实施例提供的数据处理方法可用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,并且所述样本集合对应的分箱数组以及所述样本集合对应的属性数组可以由不同的数据方所持有。其中,第一数据方持有所述分箱数组,第二数据方持有所述属性数组。第一数据方和第二数据方可以为不同的数据方。

示例1中,假设第一数据方为数据方A,对于某个样本集合,数据方A持有该样本集合在某一属性下的分箱数组,记为bins,示例性的,bins=[0,1,1,2,0,2]。分箱数组bins中的各元素表示相应样本在某一属性下所属的分箱。例如,该示例中,bins为对该样本集合按照属性“购买频率”进行分箱得到的分箱数组。该样本集合按照属性“购买频率”可以分为如下3个分箱:分箱0、分箱1和分箱2。其中,分箱0表示不常购买,分箱1表示偶尔购买,分箱2表示经常购买。本发明实施例中的计数均从0开始。bins中的第0个元素为0,表示该元素对应的分箱为分箱0,也即第0个元素对应的样本(如该样本集合中的第0个样本)所属的分箱为分箱0。bins中的第1个元素为1,表示该元素对应的分箱为分箱1,也即第1个元素对应的样本(如该样本集合中的第1个样本)所属的分箱为分箱1。bins中的第2个元素为1,表示该元素对应的分箱为分箱1,也即第2个元素对应的样本(如该样本集合中的第2个样本)所属的分箱为分箱1。以此类推。

可以理解的是,上述按照属性“购买频率”进行分箱仅作为示例性说明,本发明实施例对所述样本集合包含的样本数据,对该样本集合进行分箱依据的具体属性,以及分箱的具体方式均不做限制。对于给定的任意样本集合,以及该样本集合对应的已给定的分箱数组和属性数组,均可以采用本发明提供的数据处理方法进行聚合。所述属性数组为该样本集合中各元素在某指定属性下分别对应的属性值所组成的数组。

例如,在示例1中,数据方A持有某个样本集合在某一属性(如属性“购买频率”)下的分箱数组bins=[0,1,1,2,0,2]。假设第二数据方(如数据方B)持有该样本集合对应的属性数组values=[1,2,3,4,5,6]。示例性地,该属性数组values中的各元素表示相应样本在属性“购买记录”分别对应的属性值。例如,values中的第0个元素为1,表示该元素对应的样本(如该样本集合中的第0个样本)的属性“购买记录”的属性值为1。values中的第1个元素为2,表示该元素对应的样本(如该样本集合中的第1个样本)的属性“购买记录”的属性值为2。values中的第2个元素为3,表示该元素对应的样本(如该样本集合中的第2个样本)的属性“购买记录”的属性值为3。以此类推。需要说明的是,在具体实施中,属性数组中各元素表示的属性以及具体的属性值可以根据应用的不同而不同。

本发明实施例根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,指将属性数组中对应同一分箱的各元素求和,所述样本集合对应的分箱数组与所述样本集合对应的属性数组中各元素具有一一对应的关系。例如,在示例1中,某个样本集合在某一属性(如属性“购买频率”)下的分箱数组为bins=[0,1,1,2,0,2]。该样本集合对应有属性数组为values=[1,2,3,4,5,6]。根据该分箱数组bins=[0,1,1,2,0,2]对该属性数组values=[1,2,3,4,5,6]进行聚合,指的是将values中对应分箱为分箱0的各元素求和,将values中对应分箱为分箱1的各元素求和,以及将values中对应分箱为分箱2的各元素求和。分箱数组bins=[0,1,1,2,0,2]与属性数组values=[1,2,3,4,5,6]中各元素具有一一对应的关系,分箱数组bins与属性数组values对应同一个样本集合,分箱数组bins中的第0个元素对应该样本集合中的第0个样本,则属性数组values中的第0个元素也对应该样本集合中的第0个样本。分箱数组bins中的第1个元素对应该样本集合中的第1个样本,则属性数组values中的第1个元素也对应该样本集合中的第1个样本。以此类推。

在示例1中,将values中对应分箱为分箱0的各元素求和,即1+5;将values中对应分箱为分箱1的各元素求和,即2+3;将values中对应分箱为分箱2的各元素求和,即4+6;可以得到聚合结果数组为[6,5,10]。

由于样本集合对应的分箱数组以及该样本集合对应的属性数组由不同的数据方所持有,为了在保证各数据方的数据安全的前提下可以提高计算效率,本发明实施例提出了一种基于明密文混合运算的联邦聚合方法,在保证数据安全的基础上,可以减少计算开销,降低纯密文计算所需的通信带宽占用率,大大提高了聚合计算的性能。

具体地,首先,第一数据方在其本地基于明文对其持有的分箱数组按照该分箱数据中各元素对应的分箱进行重新排序,使得排序后的分箱数组中对应相同分箱的元素相邻,得到排序后的分箱数组,并记录所述排序后的分箱数组对应的排序向量以及所述排序后的分箱数组对应的位置向量。

示例2中,假设第一数据方(如数据方A)持有某个样本集合在某一属性下的分箱数组为bins=[2,1,2,2,3,3,4,1,4,5]。第二数据方(如数据方B)持有该样本集合对应某一属性的属性数组为values=[0,1,2,0,3,0,0,4,0,5]。

数据方A对其持有的分箱数组bins=[2,1,2,2,3,3,4,1,4,5]按照该分箱数据中各元素对应的分箱进行重新排序,使得排序后的分箱数组中对应相同分箱的元素相邻,得到排序后的分箱数组,如bins_new=[1,1,2,2,2,3,3,4,4,5]。数据方A记录该排序后的分箱数组bins_new对应的排序向量,如perm=[1,7,0,2,3,4,5,6,8,9],以及记录该排序后的分箱数组bins_new对应的位置向量,如end=[1,4,6,8,9]。

其中,排序向量perm用于表示排序后的分箱数组bins_new中的各元素分别来自分箱数组bins中的第几个元素。例如,在示例2中,分箱数组为bins=[2,1,2,2,3,3,4,1,4,5],排序后的分箱数组为bins_new=[1,1,2,2,2,3,3,4,4,5],排序向量为perm=[1,7,0,2,3,4,5,6,8,9]。perm中的第0个元素为1,表示bins_new中的第0个元素1来自于bins中的第1个元素。perm中的第1个元素为7,表示bins_new中的第1个元素1来自于bins中的第7个元素。perm中的第2个元素为0,表示bins_new中的第2个元素2来自于bins中的第0个元素。以此类推。

位置向量用于表示排序后的分箱数组中元素值发生变化的位置,也即变化点的位置。例如,在示例2中,bins_new=[1,1,2,2,2,3,3,4,4,5],end=[1,4,6,8,9]。end中的第0个元素为1,表示bins_new中元素值发生变化的第一个位置为第1个元素所在位置(第1个元素为1,第2个元素为2,发生变化,第1个元素为变化点)。end中的第1个元素为4,表示bins_new中元素值发生变化的第二个位置为第4个元素所在位置(第4个元素为2,第5个元素为3,发生变化,第4个元素为变化点)。end中的第2个元素为6,表示bins_new中元素值发生变化的第三个位置为第6个元素所在位置(第6个元素为3,第7个元素为4,发生变化,第6个元素为变化点)。依次类推,end中的最后一个元素为9,表示bins_new中最后一个变换点为第9个元素所在位置,也即bins_new中的最后一个元素所在位置。

然后,第一数据方(如数据方A)将其持有的排序向量perm以密文形式上传至密文计算平台,将其持有的位置向量end以明文形式上传至密文计算平台。第二数据方(如数据方B)将其持有的属性数组以密文形式上传至密文计算平台进行计算。

密文计算平台接收第一数据方以密文形式上传的排序向量,以明文形式上传的位置向量,以及接收第二数据方以密文形式上传的属性数组,密文计算平台依据所述排序向量perm和所述位置向量end,对所述属性数组进行安全计算,得到聚合结果数组。

可选地,所述密文计算平台可以包括多方安全计算平台。多方安全计算平台可以基于多方安全计算协议,参与计算的数据包含密文数据,且计算过程中产生的中间结果以及最终的计算结果也为密文数据。在基于密文的计算过程中,不会暴露数据明文,可以保证数据的隐私安全性。

在本发明的一种可选实施例中,所述依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组,可以包括:

步骤S11、将所述排序向量中的各元素作为排序索引,基于密文对所述属性数组进行排序,得到排序后的属性数组;

步骤S12、基于密文对所述排序后的属性数组中的各元素计算前缀和,得到前缀和数组;

步骤S13、将所述位置向量中的各元素作为位置索引依次取出所述前缀和数组中的各元素,得到目标数组;

步骤S14、基于密文对所述目标数组中的各元素进行错位相减,得到聚合结果数组。

以示例2为例,密文计算平台接收到数据方A以密文形式上传的排序向量perm=[1,7,0,2,3,4,5,6,8,9],接收到数据方A以明文形式上传的位置向量end=[1,4,6,8,9],以及接收到数据方B以密文形式上传的属性数组values=[0,1,2,0,3,0,0,4,0,5]。需要说明的是,perm和values中的各元素均为密文,为便于说明,本发明实施例中以明文示出。

密文计算平台将所述排序向量perm=[1,7,0,2,3,4,5,6,8,9]中的各元素作为排序索引,基于密文对所述属性数组values=[0,1,2,0,3,0,0,4,0,5]进行排序,得到排序后的属性数组values_new。也即:

values_new=values[perm[0],perm[1],perm[2],perm[3],perm[4],perm[5],perm[6],perm[7],perm[8],perm[9]]。即values_new的第0个元素来自于values[perm[0]],其中perm[0]为1,values[1]=1。values_new的第1个元素来自于values[perm[1]],其中perm[1]为7,values[7]=4。以此类推,可以得到排序后的属性数组values_new=[1,4,0,2,0,3,0,0,0,5]。

基于密文对属性数组values进行排序可以采用已有任意的密文排序方法,如oblivious_shuffle(不经意重排)算法等。本发明实施例对此不做限制。

所述密文计算平台基于密文对所述排序后的属性数组如values_new=[1,4,0,2,0,3,0,0,0,5]中的各元素计算前缀和,得到前缀和数组。

对数组中的各元素计算前缀和,是指将该数组中前一个元素与当前元素相加,用得到的和更新该数组中的当前元素,在该数组中的最后一个元素处理完成后可得到前缀和数组。

以示例2为例,对于排序后的属性数组values_new=[1,4,0,2,0,3,0,0,0,5]中的各元素计算前缀和。values_new中的第0个元素为1,第0个元素不存在前一个元素,则第0个元素与前一个元素相加得到的和仍为1,用1更新当前元素(第0个元素),更新后第0个元素仍为1。values_new中的第1个元素为4,与前一个元素(更新后的第0个元素1)相加得到的和为5,用5更新当前元素(第1个元素),更新后的第1个元素为5。values_new中的第2个元素为0,与前一个元素(更新后的第1个元素5)相加得到的和为5,用5更新当前元素(第2个元素),更新后第2个元素为5。以此类推,values_new中最后一个元素处理完成之后,可以得到前缀和数组为:cumsum=[1,5,5,7,7,10,10,10,10,15]。

需要说明的是,排序后的属性数组如values_new=[1,4,0,2,0,3,0,0,0,5]中各元素均为密文,所述密文计算平台基于密文对所述排序后的属性数组如values_new=[1,4,0,2,0,3,0,0,0,5]中的各元素计算前缀和,得到的前缀和数组cumsum=[1,5,5,7,7,10,10,10,10,15]中的各元素也是密文。

所述密文计算平台将所述位置向量中的各元素作为位置索引依次取出所述前缀和数组中的各元素,得到目标数组。

以示例2为例,对于位置向量end=[1,4,6,8,9],将其中的各元素作为位置索引依次取出所述前缀和数组cumsum=[1,5,5,7,7,10,10,10,10,15]中的各元素。位置向量end中的第0个元素为1,则从所述前缀和数组cumsum中取出第1个元素5。位置向量end中的第1个元素为4,则从所述前缀和数组cumsum中取出第4个元素为7。以此类推,可以得到目标数组为[5,7,10,10,15]。目标数组中的各元素为密文。

所述密文计算平台基于密文对所述目标数组中的各元素进行错位相减,即可得到聚合结果数组。

其中,对所述目标数组中的各元素进行错位相减,指用目标数组中后一个元素减去前一个元素,得到的结果组成的数组即为聚合结果数组。以示例2为例,目标数组为[5,7,10,10,15],目标数组中第0个元素为5,减去目标数组中第0个元素的前一个元素(不存在前一个元素)得到的结果为5,则聚合结果数组中的第0个元素为5。目标数组中第1个元素为7,前去目标数组中第1个元素的前一个元素(第0个元素5)得到的结果为2,则聚合结果数组中的第1个元素为2。目标数组中第2个元素为10,前去目标数组中第2个元素的前一个元素(第1个元素7)得到的结果为3,则聚合结果数组中的第2个元素为3。依次类推,可以得到聚合结果数组为[5,2,3,0,5]。

在本发明实施例中,密文计算平台只需要基于密文计算前缀和数组,无需对分箱进行密文比较操作,可以减少密文比较操作带来的计算开销和通讯开销,极大提高计算效率。

在本发明的一种可选实施例中,所述样本集合可以对应至少两个不同的属性数组,所述依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组,可以包括:

依据所述排序向量和所述位置向量,分别对每个不同的属性数组进行安全计算,得到所述样本集合对应每个属性数组的聚合结果数组。

在实际应用中,同一个样本集合可以对应至少两个不同的属性数组,此时可以按照该样本集合的某个分箱数组对每个属性数组都进行聚合。例如,对于某个样本集合,该样本集合对应属性1的分箱数组为bins=[0,1,1,2,0,2]。该样本集合对应属性2有属性数组values1=[1,2,3,4,5,6],该样本集合对应属性3有属性数组values2=[2,4,6,7,1,8]。属性1、属性2、属性3可以根据实际应用进行设置。

利用本发明实施例提供的数据处理方法,可以按照分箱数组bins=[0,1,1,2,0,2]对属性数组values1=[1,2,3,4,5,6]进行聚合,得到该样本集合对应values1的聚合结果数组;还可以按照分箱数组bins=[0,1,1,2,0,2]对属性数组values2=[2,4,6,7,1,8]进行聚合,得到该样本集合对应values2的聚合结果数组。

假设数据方A持有分箱数组bins=[0,1,1,2,0,2],数据方B持有属性数组values1=[1,2,3,4,5,6],数据方C持有属性数组values2=[2,4,6,7,1,8]。

数据方A基于所述分箱数组bins=[0,1,1,2,0,2]中各元素对应的分箱对所述分箱数组进行排序,得到排序后的分箱数组,并记录所述排序后的分箱数组对应的排序向量以及所述排序后的分箱数组对应的位置向量。数据方A将所述排序向量以密文形式上传至密文计算平台,以及将所述位置向量以明文形式上传至密文计算平台。数据方B将所述属性数组values1=[1,2,3,4,5,6]以密文形式上传至密文计算平台。数据方C将所述属性数组values2=[2,4,6,7,1,8]以密文形式上传至密文计算平台。密文计算平台依据数据方A上传的所述排序向量和所述位置向量,对数据方B上传的所述属性数组values1=[1,2,3,4,5,6]进行安全计算,得到该样本集合对应values1的聚合结果数组。此外,密文计算平台依据数据方A上传的所述排序向量和所述位置向量,对数据方C上传的所述属性数组values2=[2,4,6,7,1,8]进行安全计算,得到该样本集合对应values2的聚合结果数组。

由此,通过本发明实施例可以基于同一个分箱数组对至少两个不同的属性数组进行聚合。进一步地,所述分箱数组由第一数据方所持有,所述至少两个不同的属性数组可以由同一个第二数据方所持有,或者,所述至少两个不同的属性数组中的每个属性数组可以分别由不同的第二数据方所持有。

在本发明的一种可选实施例中,所述属性数组中的各元素可以表示所述样本集合中相应样本的属性值,或者,所述属性数组中的各元素可以表示所述样本集合中相应样本的真实分箱与预测分箱的差值,或者,所述属性数组中的各元素可以表示所述样本集合中相应样本的真实分箱与预测分箱的差值的预设计算值。

在本发明实施例中,所述属性数组中的各元素可以表示某样本集合中相应样本的属性值。例如,values=[30,25,23,26,35,26],其中每个元素表示某样本集合中各样本对应年龄属性的属性值。由此,可以实现基于某属性(可以是年龄属性也可以是其他属性)的分箱数组,对不同分箱中的年龄进行聚合。

或者,所述属性数组中的各元素可以表示某样本集合中相应样本的真实分箱与预测分箱的差值。例如,values=[0,1,-1,0,1,0],其中各元素表示某样本集合中各样本的真实分箱与预测分箱的差值。例如,按照购买频率对某样本集合中的各样本进行分箱,可以分为分箱0(表示不常购买)、分箱1(表示偶尔购买)、以及分箱2(表示经常购买)。对于样本集合中第0个样本,其真实分箱为1,通过模型预测得到第0个样本的预测分箱为1,则第0个样本的真实分箱与预测分箱的差值为0,因此,values中的第0个元素为0,表示第0个样本的真实分箱与预测分箱的差值为0。对于样本集合中第1个样本,其真实分箱为1,通过模型预测得到第1个样本的预测分箱为0,则第1个样本的真实分箱与预测分箱的差值为1,因此,values中的第1个元素为1,表示第1个样本的真实分箱与预测分箱的差值为1。以此类推。values中的第2个元素为-1,表示第2个样本的真实分箱与预测分箱的差值为-1。

上述真实分箱与预测分箱的差值也可以称为梯度,由此可以实现利用样本集合的分箱数组,对不同分箱进行属性的梯度聚合。

在具体实施中,在计算得到真实分箱与预测分箱的差值(梯度)之后,还可以进一步对梯度进行预设计算,得到真实分箱与预测分箱的差值的预设计算值。所述预设计算包括但不限于求绝对值或者求平方等。

本发明实施例提供的数据处理方法,可应用于需要进行梯度聚合的各种场景中。例如,在纵向XGBOOST(eXtreme Gradient Boosting,分布式梯度增强库)的梯度聚合中,需要根据各个分箱聚合各分箱内的梯度和。在纵向联邦WOE(Weight of Evidence,证据权重)计算时,计算纵向WOE值中的一个步骤是计算每个分箱中好人和坏人的数量,若用0-1的值表示好人或者坏人数量,则问题转化为对属性信息中的0-1值求和。在朴素贝叶斯中,需要计算每一个分箱内的样本个数,也被转换为了对属性数组中的0-1值求和。

在本发明的一种可选实施例中,所述属性数组中的各元素为所述第二数据方将浮点数类型的元素编码得到的整型类型的元素,所述聚合结果数组中的元素为整型类型的元素,所述方法还可以包括:将所述聚合结果数组中的各元素编码为浮点数类型,得到浮点数类型的聚合结果数组。

需要说明的是,本发明实施例对所述分箱数组中元素的数据类型不做限制。例如,分箱数组中的元素可以为整型、浮点型、字符串型等任意数据类型。

密文计算平台对浮点数类型的数据进行密文计算,将导致计算通信量较大,本发明实施例在所述属性数组中的各元素为浮点数类型时,所述第二数据方可以将所述属性数组中的各元素编码为整型类型,将编码后的属性数组以密文形式上传至密文计算平台。密文计算平台对整型类型的数据进行密文计算,可以减少计算通信量,进一步提高计算效率。

在实际应用中,如果第二数据方持有的属性数组中的各元素为浮点数(64位)类型时,第二数据方将该属性数组中的各元素编码为整型(32位)类型。本发明实施例对编码方式不做限制,例如,对每个浮点数类型的元素分别乘以预设大数(如1e5,即10的5次方)后将小数部分截断,可以得到编码为整型类型的各元素。比如对于如下浮点数类型的数据:23.15615616516,首先乘以10的5次方,即小数点右移5位,得到2315615.616516,然后将小数部分截断,即编码为了整型类型的数据:2315615。第二数据方将编码后的属性数组以密文形式上传至密文计算平台。

密文计算平台依据所述排序向量和所述位置向量,对编码为整型类型的属性数组进行安全计算,得到的聚合结果数组中的各元素为整型类型。密文计算平台还可以将该聚合结果数组中的各元素编码为浮点数类型,得到浮点数类型的聚合结果数组。

本发明实施例对于将聚合结果数组中的各元素编码成浮点数类型的具体编码方式不做限制。例如,可以对整型类型的聚合结果数组中的各元素分别除以预设大数(如1e5),得到编码为浮点数类型的各元素。

综上,本发明实施例在样本集合对应的分箱数组以及该样本集合对应的属性数组由不同数据方持有时,可以基于明密文混合运算进行联邦聚合。密文计算平台接收第一数据方以密文形式上传的排序向量,以明文形式上传的位置向量,以及接收第二数据方以密文形式上传的属性数组,密文计算平台依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。在此过程中,密文计算平台无需获取分箱数组的明文数据,也无需获取分箱数组的密文数据,分箱数组的信息完全保密,可以极大提高数据的隐私安全程度。此外,所述排序向量和所述位置向量为所述第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序所得到,相对于在密文计算平台完全基于密文的计算,本发明实施例在保证数据隐私安全的基础上,将一部分计算放在第一数据方本地进行明文计算,可以减少密文计算的计算开销,降低密文计算所需的通信带宽占用率,极大提高了聚合计算的效率。

参照图2,示出了本发明的另一种数据处理方法实施例的步骤流程图,所述方法可用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述方法可应用于明密文混合计算系统,所述明密文混合计算系统包括第一数据方、第二数据方、以及密文计算平台,所述方法具体可以包括如下步骤:

步骤201、第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序,得到排序后的分箱数组,并记录所述排序后的分箱数组对应的排序向量以及所述排序后的分箱数组对应的位置向量;其中,所述排序后的分箱数组中对应相同分箱的元素相邻;

步骤202、第一数据方将所述排序向量以密文形式上传至密文计算平台,以及将所述位置向量以明文形式上传至密文计算平台;

步骤203、第二数据方将所述属性数组以密文形式上传至密文计算平台;

步骤204、密文计算平台依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

本发明实施例提供的数据处理方法可用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,并且所述样本集合对应的分箱数组以及所述样本集合对应的属性数组可以由不同的数据方所持有。其中,第一数据方持有所述分箱数组,第二数据方持有所述属性数组。第一数据方和第二数据方可以为不同的数据方。

由于样本集合对应的分箱数组以及该样本集合对应的属性数组由不同的数据方所持有,为了在保证各数据方的数据安全的前提下可以提高计算效率,本发明实施例提出了一种基于明密文混合运算的联邦聚合方法,应用于明密文混合计算系统。所述明密文混合计算系统可以包括第一数据方、第二数据方、以及密文计算平台。第一数据方和第二数据方可以基于各自持有的数据在本地进行明文计算。密文计算平台对接收到的来自第一数据方和第二数据方的数据进行基于密文的安全计算。通过明密文混合运算,可以在保证数据安全的基础上,减少计算开销,降低纯密文计算所需的通信带宽占用率,大大提高了对多方数据进行聚合计算的性能。

具体地,第一数据方对其持有的分箱数组按照该分箱数据中各元素对应的分箱进行重新排序,使得排序后的分箱数组中对应相同分箱的元素相邻,得到排序后的分箱数组,并记录所述排序后的分箱数组对应的排序向量以及所述排序后的分箱数组对应的位置向量。

在本发明的一种可选实施例中,所述第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序,可以包括:所述第一数据方对所述分箱数组中的各元素按照其对应分箱从小到大或者从大到小的顺序进行排序。

一个示例中,数据方A对其持有的分箱数组bins=[2,1,2,2,3,3,4,1,4,5]可以按照从小到大的顺序进行排序,得到排序后的分箱数组为bins_new=[1,1,2,2,2,3,3,4,4,5]。或者,数据方A对其持有的分箱数组bins=[2,1,2,2,3,3,4,1,4,5]可以按照从大到小的顺序进行排序,得到排序后的分箱数组为bins_new=[5,4,4,3,3,2,2,2,1,1]。

可以理解的是,本发明实施例并不限定具体的排序方式,只要排序后的分箱数组中对应相同分箱的元素相邻即可。例如,在示例2中,排序后的分箱数组也可以为bins_new=[5,3,3,4,4,2,2,2,1,1]。

第一数据方(如数据方A)将其持有的排序向量perm以密文形式上传至密文计算平台,将其持有的位置向量end以明文形式上传至密文计算平台。第二数据方(如数据方B)将其持有的属性数组以密文形式上传至密文计算平台。密文计算平台依据所述排序向量perm和所述位置向量end,对所述属性数组进行安全计算,得到聚合结果数组。

可选地,所述密文计算平台可以包括多方安全计算平台。多方安全计算平台可以基于多方安全计算协议,参与计算的数据包含密文数据,且计算过程中产生的中间结果以及最终的计算结果也为密文数据。在基于密文的计算过程中,不会暴露数据明文,可以保证数据的隐私安全性。

在本发明的一种可选实施例中,所述密文计算平台依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组,可以包括:

步骤S21、所述密文计算平台将所述排序向量中的各元素作为排序索引,基于密文对所述属性数组进行排序,得到排序后的属性数组;

步骤S22、所述密文计算平台基于密文对所述排序后的属性数组中的各元素计算前缀和,得到前缀和数组;

步骤S23、所述密文计算平台将所述位置向量中的各元素作为位置索引依次取出所述前缀和数组中的各元素,得到目标数组;

步骤S24、所述密文计算平台基于密文对所述目标数组中的各元素进行错位相减,得到聚合结果数组。

基于密文对属性数组values进行排序可以采用已有任意的密文排序方法,如oblivious_shuffle(不经意重排)算法等。本发明实施例对此不做限制。

在本发明实施例中,密文计算平台只需要基于密文计算前缀和数组,无需进行分箱的密文比较操作,可以减少密文比较操作带来的计算开销和通讯开销,极大提高计算效率。

在本发明的一种可选实施例中,所述样本集合可以对应至少两个不同的属性数组,所述密文计算平台依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组,可以包括:

所述密文计算平台依据所述排序向量和所述位置向量,分别对每个不同的属性数组进行安全计算,得到所述样本集合对应每个属性数组的聚合结果数组。

通过本发明实施例,可以基于同一个分箱数组对至少两个不同的属性数组进行聚合。进一步地,所述分箱数组由第一数据方所持有,所述至少两个不同的属性数组可以由同一个第二数据方所持有,或者,所述至少两个不同的属性数组中的每个属性数组可以分别由不同的第二数据方所持有。

在本发明的一种可选实施例中,所述属性数组中的各元素可以表示所述样本集合中相应样本的属性值,或者,所述属性数组中的各元素可以表示所述样本集合中相应样本的真实分箱与预测分箱的差值,或者,所述属性数组中的各元素可以表示所述样本集合中相应样本的真实分箱与预测分箱的差值的预设计算值。

真实分箱与预测分箱的差值也可以称为梯度,由此可以实现利用样本集合的分箱数组,对不同分箱进行属性的梯度聚合。

在具体实施中,在计算得到真实分箱与预测分箱的差值(梯度)之后,还可以进一步对梯度进行预设计算,得到真实分箱与预测分箱的差值的预设计算值。所述预设计算包括但不限于求绝对值或者求平方等。

本发明实施例提供的数据处理方法,可应用于需要进行梯度聚合的各种场景中。例如,在纵向XGBOOST(eXtreme Gradient Boosting,分布式梯度增强库)的梯度聚合中,需要根据各个分箱聚合各分箱内的梯度和。在纵向联邦WOE(Weight of Evidence,证据权重)计算时,计算纵向WOE值中的一个步骤是计算每个分箱中好人和坏人的数量,若用0-1的值表示好人或者坏人数量,则问题转化为对属性信息中的0-1值求和。在朴素贝叶斯中,需要计算每一个分箱内的样本个数,也被转换为了对属性数组中的0-1值求和。

在本发明的一种可选实施例中,所述第二数据方将所述属性数组以密文形式上传至密文计算平台,可以包括:

在所述属性数组中的各元素为浮点数类型时,所述第二数据方将所述属性数组中的各元素编码为整型类型,并将编码后的属性数组以密文形式上传至密文计算平台。

需要说明的是,本发明实施例对所述分箱数组中元素的数据类型不做限制。例如,分箱数组中的元素可以为整型、浮点型、字符串型等任意数据类型。

密文计算平台对浮点数类型的数据进行密文计算,将导致计算通信量较大,本发明实施例在所述属性数组中的各元素为浮点数类型时,所述第二数据方将所述属性数组中的各元素编码为整型类型,将编码后的属性数组以密文形式上传至密文计算平台。密文计算平台对整型类型的数据进行密文计算,可以减少计算通信量,进一步提高计算效率。

所述密文计算平台依据所述排序向量和所述位置向量,对所述编码后的属性数组进行安全计算,得到的聚合结果数组中的各元素为整型类型。

所述方法还可以包括:所述密文计算平台将所述聚合结果数组中的各元素编码为浮点数类型,得到浮点数类型的聚合结果数组。

综上,本发明实施例在样本集合对应的分箱数组以及该样本集合对应的属性数组由不同数据方持有时,可以基于明密文混合运算进行联邦聚合。第一数据方在其本地对其持有的分箱数组进行重新排序,并将排序后的分箱数组对应的排序向量以密文形式上传至密文计算平台,以及将排序后的分箱数组对应的位置向量以明文形式上传至密文计算平台。第二数据方将其持有的属性数组以密文形式上传至密文计算平台。密文计算平台依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。在此过程中,第一数据方无需上传分箱数组的明文数据,也无需上传分箱数组的明文数据,分箱数组的信息完全保密,第二数据方仅需上传属性数组的密文,极大提高各数据方数据的隐私安全程度。此外,相对于在密文计算平台完全基于密文的计算,本发明实施例在保证数据隐私安全的基础上,将一部分计算放在第一数据方本地进行明文计算,可以减少密文计算的计算开销,降低密文计算所需的通信带宽占用率,极大提高了聚合计算的效率。

由于图2与图1所对应实施例基本相似,所以描述的比较简单,相关之处参见图1所对应实施例的部分说明即可。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图3,示出了本发明的一种密文计算平台实施例的结构框图,所述密文计算平台可用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述密文计算平台可以包括:

第一接收模块301,用于接收第一数据方以密文形式上传的排序向量,以及以明文形式上传的位置向量;其中,所述排序向量和所述位置向量为所述第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序后,根据排序后的分箱数组所确定,排序后的分箱数组中对应相同分箱的元素相邻;

第二接收模块302,用于接收第二数据方以密文形式上传的属性数组;

安全计算模块303,用于依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

可选地,所述安全计算模块,包括:

重新排序子模块,用于将所述排序向量中的各元素作为排序索引,基于密文对所述属性数组进行排序,得到排序后的属性数组;

第一计算子模块,用于基于密文对所述排序后的属性数组中的各元素计算前缀和,得到前缀和数组;

数据选择子模块,用于将所述位置向量中的各元素作为位置索引依次取出所述前缀和数组中的各元素,得到目标数组;

第二计算子模块,用于基于密文对所述目标数组中的各元素进行错位相减,得到聚合结果数组。

可选地,所述属性数组中的各元素为所述第二数据方将浮点数类型的元素编码得到的整型类型的元素,所述聚合结果数组中的元素为整型类型的元素,所述安全计算模块,还用于将所述聚合结果数组中的各元素编码为浮点数类型,得到浮点数类型的聚合结果数组。

可选地,所述样本集合对应至少两个不同的属性数组,所述安全计算模块,具体用于依据所述排序向量和所述位置向量,分别对每个不同的属性数组进行安全计算,得到所述样本集合对应每个属性数组的聚合结果数组。

可选地,所述至少两个不同的属性数组由同一个第二数据方所持有,或者,所述至少两个不同的属性数组中的每个属性数组分别由不同的第二数据方所持有。

可选地,所述属性数组中的各元素表示所述样本集合中相应样本的属性值,或者,所述属性数组中的各元素表示所述样本集合中相应样本的真实分箱与预测分箱的差值,或者,所述属性数组中的各元素表示所述样本集合中相应样本的真实分箱与预测分箱的差值的预设计算值。

参照图4,示出了本发明的一种明密文混合计算系统实施例的结构框图,所述明密文混合计算系统用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述明密文混合计算系统包括第一数据方401、第二数据方402、以及密文计算平台403;其中,

所述第一数据方401,用于基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序,得到排序后的分箱数组,并记录所述排序后的分箱数组对应的排序向量以及所述排序后的分箱数组对应的位置向量;其中,所述排序后的分箱数组中对应相同分箱的元素相邻;

所述第一数据方401,还用于将所述排序向量以密文形式上传至密文计算平台,以及将所述位置向量以明文形式上传至密文计算平台;

所述第二数据方402,用于将所述属性数组以密文形式上传至密文计算平台;

所述密文计算平台403,用于依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

可选地,所述密文计算平台,具体用于:

将所述排序向量中的各元素作为排序索引,基于密文对所述属性数组进行排序,得到排序后的属性数组;

基于密文对所述排序后的属性数组中的各元素计算前缀和,得到前缀和数组;

将所述位置向量中的各元素作为位置索引依次取出所述前缀和数组中的各元素,得到目标数组;

基于密文对所述目标数组中的各元素进行错位相减,得到聚合结果数组。

可选地,所述第一数据方,具体用于对所述分箱数组中的各元素按照其对应分箱从小到大或者从大到小的顺序进行排序。

可选地,所述第二数据方,具体用于在所述属性数组中的各元素为浮点数类型时,将所述属性数组中的各元素编码为整型类型,并将编码后的属性数组以密文形式上传至密文计算平台;

所述密文计算平台,还用于将所述聚合结果数组中的各元素编码为浮点数类型,得到浮点数类型的聚合结果数组。

可选地,所述样本集合对应至少两个不同的属性数组,所述密文计算平台,具体用于依据所述排序向量和所述位置向量,分别对每个不同的属性数组进行安全计算,得到所述样本集合对应每个属性数组的聚合结果数组。

可选地,所述至少两个不同的属性数组由同一个第二数据方所持有,或者,所述至少两个不同的属性数组中的每个属性数组分别由不同的第二数据方所持有。

可选地,所述属性数组中的各元素表示所述样本集合中相应样本的属性值,或者,所述属性数组中的各元素表示所述样本集合中相应样本的真实分箱与预测分箱的差值,或者,所述属性数组中的各元素表示所述样本集合中相应样本的真实分箱与预测分箱的差值的预设计算值。

本发明实施例在样本集合对应的分箱数组以及该样本集合对应的属性数组由不同数据方持有时,可以基于明密文混合运算进行联邦聚合。第一数据方在其本地对其持有的分箱数组进行重新排序,并将排序后的分箱数组对应的排序向量以密文形式上传至密文计算平台,以及将排序后的分箱数组对应的位置向量以明文形式上传至密文计算平台。第二数据方将其持有的属性数组以密文形式上传至密文计算平台。密文计算平台依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。在此过程中,第一数据方无需上传分箱数组的明文数据,也无需上传分箱数组的明文数据,分箱数组的信息完全保密,第二数据方仅需上传属性数组的密文,极大提高各数据方数据的隐私安全程度。此外,相对于在密文计算平台完全基于密文的计算,本发明实施例在保证数据隐私安全的基础上,将一部分计算放在第一数据方本地进行明文计算,可以减少密文计算的计算开销,降低密文计算所需的通信带宽占用率,极大提高了聚合计算的效率。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例提供了一种用于数据处理的装置,用于根据样本集合对应的分箱数组对所述样本集合对应的属性数组进行聚合,第一数据方持有所述分箱数组,第二数据方持有所述属性数组,所述装置包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行以下操作的指令:接收第一数据方以密文形式上传的排序向量,以及以明文形式上传的位置向量;其中,所述排序向量和所述位置向量为所述第一数据方基于所述分箱数组中各元素对应的分箱对所述分箱数组进行排序后,根据排序后的分箱数组所确定,排序后的分箱数组中对应相同分箱的元素相邻;接收第二数据方以密文形式上传的属性数组;依据所述排序向量和所述位置向量,对所述属性数组进行安全计算,得到聚合结果数组。

图5是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

I/ O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

图6是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。

服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据处理方法。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1所对应实施例中数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。

此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图1所对应实施例中数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

以上对本发明所提供的一种数据处理方法、密文计算平台和明密文混合计算系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号