CN112035849B - 一种数据处理方法、装置和电子设备 - Google Patents
一种数据处理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112035849B CN112035849B CN201910483039.6A CN201910483039A CN112035849B CN 112035849 B CN112035849 B CN 112035849B CN 201910483039 A CN201910483039 A CN 201910483039A CN 112035849 B CN112035849 B CN 112035849B
- Authority
- CN
- China
- Prior art keywords
- array
- ciphertext
- auxiliary
- operated
- sub
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000001914 filtration Methods 0.000 claims description 75
- 238000003491 array Methods 0.000 claims description 52
- 238000010276 construction Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种数据处理方法、装置和电子设备,其中,所述方法包括:获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文;构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同;将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文;将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C;从而可以从待操作数组中选取满足操作条件的元素,实现对数组进行基于密文条件的操作。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种数据处理方法、装置和电子设备。
背景技术
随着计算机、通讯技术以及互联网技术的不断发展,大多数用户会通过电子设备进行信息的传输与存储,例如将文件上传到云端存储,向其他用户发送文件等等。其中,为了保证信息的安全,通常会对数据进行加密,例如在数据存储的过程中,会在对应存储的电子设备上对数据进行加密如在服务器、终端上进行数据加密;又如在数据传输的过程中对数据进行加密,如数据在终端与服务器传输的过程中对数据进行加密。
当电子设备需要使用这些数据时,需要先对数据进行解密,获取信息的明文后,再对数据进行相应的处理,从而导致信息存在安全隐患;例如,在电子支付场景中,用户用于支付的人脸数据明文在支付运算中对银联可见,若该人脸数据被窃取,同时将该人脸数据与对应的用户账户等信息关联,那么会对用户造成很大风险。为解决该问题,可以基于密文进行数据计算,以充分保证用户信息的安全性。
在基于密文进行数据计算的过程中,通常需要对数组进行运算,在数组运算过程中会涉及到对数组的操作,如按照条件拆分数组、从数组中选取满足条件的元素等等;但是当数组为密文或者操作的条件为密文时,目前无法实现对数组的上述操作。
发明内容
本发明实施例提供一种数据处理方法,以实现对数组进行基于密文的操作。
相应的,本发明实施例还提供了一种数据处理装置和电子设备,用以保证上述方法的实现及应用。
为了解决上述问题,本发明公开了一种数据处理方法,包括:获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文;构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同;将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文;将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C;其中,待操作数组A的长度为n,n为正整数,i为整数,i的取值范围为0~n-1。
可选地,当所述操作条件为元素选取类操作条件时,所述操作条件包括的比较信息为待选取元素的位置信息,所述位置信息为密文s;所述将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文,具体包括:针对所述辅助数组B中每一个位置对应的元素B[i],将所述辅助数组B中所述元素B[i]赋值为:比较待操作数组A中所述位置对应的位置信息i与密文s是否相等的结果的密文;其中,当待操作数组A中所述位置对应的位置信息i与密文s相等时,所述结果的密文对应为1的密文;当不相等时,所述结果的密文对应为0的密文。
可选地,所述将所述待操作数组A与赋值后的辅助数组B相乘,包括:将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘;在所述得到目标数组C后,所述的方法还包括:计算所述目标数组C各位置对应元素C[i]之和,得到所述待操作数组A中所述位置信息为密文s对应的待选取元素A[s]。
可选地,当所述操作条件为数组拆分类操作条件或数组过滤类操作条件时,所述操作条件还包括关系运算符,所述将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文,具体包括:针对所述辅助数组B中每一个元素B[i],将所述辅助数组B中所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文;其中,当待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;当不满足时,所述结果的密文对应为0的密文。
可选地,当所述操作条件为数组拆分类操作条件时,所述操作条件包括M个子条件Sm,所述辅助数组包括M个子辅助数组Bm,所述子条件Sm与子辅助数组Bm对应;所述针对所述辅助数组B中每一元素B[i],将所述辅助数组B中的所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文,具体包括:针对每一个子辅助数组Bm中的每一个元素Bm[i],将所述子辅助数组Bm中所述元素Bm[i]赋值为:所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较的结果的密文;其中,当所述待操作数组A中元素A[i]与比较信息满足子条件Sm中关系运算符对应的比较关系时,所述结果的密文对应为1的密文,当不满足时,所述结果对应为0的密文;其中,M、m为正整数,m的取值为1~M。
可选地,所述将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C,包括:将所述待操作数组A分别与赋值后的M个子辅助数组Bm相乘,得到的目标数组C为所述待操作数组A按照所述数组拆分操作条件进行拆分后对应的M个子数组。
本发明实施例还公开了一种数据处理装置,包括:获取模块,用于获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文;构造模块,用于构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同;赋值模块,用于将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文;计算模块,用于将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C;其中,待操作数组A的长度为n,n为正整数,i为整数,i的取值范围为0~n-1。
可选地,所述赋值模块,包括:第一赋值子模块,用于当所述操作条件为元素选取类操作条件时,所述操作条件包括的比较信息为待选取元素的位置信息,所述位置信息为密文s;针对所述辅助数组B中每一个位置对应的元素B[i],将所述辅助数组B中所述元素B[i]赋值为:比较待操作数组A中所述位置对应的位置信息i与密文s是否相等的结果的密文;其中,当待操作数组A中所述位置对应的位置信息i与密文s相等时,所述结果的密文对应为1的密文;当不相等时,所述结果的密文对应为0的密文。
可选地,所述计算模块,包括:第一乘法子模块,用于将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘;所述的装置还包括:加法模块,用于在所述得到目标数组C后,计算所述目标数组C各位置对应元素C[i]之和,得到所述待操作数组A中所述位置信息为密文s对应的待选取元素A[s]。
可选地,所述赋值模块,包括:第二赋值子模块,用于当所述操作条件为数组拆分类操作条件或数组过滤类操作条件时,所述操作条件还包括关系运算符;针对所述辅助数组B中每一个元素B[i],将所述辅助数组B中所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文;其中,当待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;当不满足时,所述结果的密文对应为0的密文。
可选地,所述第二赋值子模块,具体用于,当所述操作条件为数组拆分类操作条件时,所述操作条件包括M个子条件Sm,所述辅助数组包括M个子辅助数组Bm,所述子条件Sm与子辅助数组Bm对应;针对每一个子辅助数组Bm中的每一个元素Bm[i],将所述子辅助数组Bm中所述元素Bm[i]赋值为:所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较的结果的密文;其中,当所述待操作数组A中元素A[i]与比较信息满足子条件Sm中关系运算符对应的比较关系时,所述结果的密文对应为1的密文,当不满足时,所述结果对应为0的密文;其中,M、m为正整数,m的取值为1~M。
可选地,所述计算模块包括:第二乘法子模块,用于将所述待操作数组A分别与赋值后的M个子辅助数组Bm相乘,得到的目标数组C为所述待操作数组A按照所述数组拆分操作条件进行拆分后对应的M个子数组。
本发明实施例还公开了一种数据处理方法,包括:获取业务数据对应的数组D和所述数组D对应的选取条件,所述选取条件包括的待选取的目标业务数据对应位置信息为密文k;构造辅助数组E,所述辅助数组E与所述数组D的长度相同;将所述辅助数组E中各位置对应的元素E[j]赋值为:比较所述数组D中各位置对应的位置信息j与密文k是否相等的结果且值为0或1的密文;将所述数组D中各位置的元素D[j]与所述赋值后的辅助数组E中对应位置的元素E[j]相乘,得到目标数组F;计算所述目标数组F各位置对应元素F[j]之和,得到目标业务数据D[k];其中,所述业务数据的数组D的长度为L1,L1为正整数,j为整数,j的取值范围为0~L1-1。
本发明实施例还公开了一种数据处理装置,包括:第一业务数据获取模块,用于获取业务数据对应的数组D和所述数组D对应的选取条件,所述选取条件包括的待选取的目标业务数据对应位置信息为密文k;第一辅助数组构造模块,用于构造辅助数组E,所述辅助数组E与所述数组D的长度相同;第一元素赋值模块,用于将所述辅助数组E中各位置对应的元素E[j]赋值为:比较所述数组D中各位置对应的位置信息j与密文k是否相等的结果且值为0或1的密文;数据选取模块,用于将所述数组D中各位置的元素D[j]与所述赋值后的辅助数组E中对应位置的元素E[j]相乘,得到目标数组F;计算所述目标数组F各位置对应元素F[j]之和,得到目标业务数据D[k];其中,所述业务数据的数组D的长度为L1,L1为正整数,j为整数,j的取值范围为0~L1-1。
本发明实施例还公开了一种数据处理方法,包括:获取业务数据对应的数组G和所述数组G对应的过滤条件,其中,所述过滤条件包括比较信息和关系运算符,所述数组G为密文和/或所述过滤条件包括的比较信息为密文;构造辅助数组H,所述辅助数组H与所述待过滤数组G的长度相同;将所述辅助数组H中各位置对应的元素H[p]赋值为:所述数组G中各位置对应的元素G[p]与过滤条件中比较信息按照过滤条件中关系运算符进行密文比较的结果且值为0或1的密文;将所述数组G中各位置的元素G[p]与赋值后的辅助数组H中对应位置的元素H[p]相乘,得到对所述数组G按照所述过滤条件过滤后的数组I;其中,所述业务数据的数组G的长度为L2,L2为正整数,p为整数,p的取值范围为0~L2-1。
本发明实施例还公开了一种数据处理装置,包括:第二业务数据获取模块,用于获取业务数据对应的数组G和所述数组G对应的过滤条件,其中,所述过滤条件包括比较信息和关系运算符,所述数组G为密文和/或所述过滤条件包括的比较信息为密文;第二辅助数组构造模块,用于构造辅助数组H,所述辅助数组H与所述待过滤数组G的长度相同;第二元素赋值模块,用于将所述辅助数组H中各位置对应的元素H[p]赋值为:所述数组G中各位置对应的元素G[p]与过滤条件中比较信息按照过滤条件中关系运算符进行密文比较的结果且值为0或1的密文;数据过滤模块,用于将所述数组G中各位置的元素G[p]与赋值后的辅助数组H中对应位置的元素H[p]相乘,得到对所述数组G按照所述过滤条件过滤后的数组I;其中,所述业务数据的数组G的长度为L2,L2为正整数,p为整数,p的取值范围为0~L2-1。
本发明实施例还公开了一种数据处理方法,包括:获取业务数据对应的数组O和所述数组O对应的拆分条件,其中,所述拆分条件包括R个子条件Qr,所述子条件Qr包括:比较信息和关系运算符,所述数组O为密文和/或所述子条件Qr中比较信息为密文;构造辅助数组P,所述辅助数组P包括R个子辅助数组Pr,各子辅助数组Pr与所述数组O的长度相同;将所述子辅助数组Pr中各位置对应的元素Pr[q]赋值为:所述数组O中各位置对应的元素O[q]与子辅助数组Pr对应子条件Qr中比较信息,按照子辅助数组Pr对应子条件Qr关系运算符进行密文比较的结果且值为0或1的密文;将所述数组O中各位置的元素O[q]与所述赋值后的各子辅助数组Pr中对应位置的元素Pr[q]相乘,得到所述数组O按照所述拆分条件拆分的R个子数组;其中,所述数组O的长度为L3,L3、R为正整数,q为整数,q的取值范围为0~L3-1,r的取值范围为1~R。
本发明实施例还公开了一种数据处理装置,包括:第三业务数据获取模块,用于获取业务数据对应的数组O和所述数组O对应的拆分条件,其中,所述拆分条件包括R个子条件Qr,所述子条件Qr包括:比较信息和关系运算符,所述数组O为密文和/或所述子条件Qr中比较信息为密文;第三辅助数组构造模块,用于构造辅助数组P,所述辅助数组P包括R个子辅助数组Pr,各子辅助数组Pr与所述数组O的长度相同;第三元素赋值模块,用于将所述子辅助数组Pr中各位置对应的元素Pr[q]赋值为:所述数组O中各位置对应的元素O[q]与子辅助数组Pr对应子条件Qr中比较信息,按照子辅助数组Pr对应子条件Qr关系运算符进行密文比较的结果且值为0或1的密文;
拆分模块,用于将所述数组O中各位置的元素O[q]与所述赋值后的各子辅助数组Pr中对应位置的元素Pr[q]相乘,得到所述数组O按照所述拆分条件拆分的R个子数组;其中,所述数组O的长度为L3,L3、R为正整数,q为整数,q的取值范围为0~L3-1,r的取值范围为1~R。
本发明实施例还公开了一种可读介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本发明实施例中一个或多个所述的数据处理方法。
本发明实施例还公开了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个可读介质,当由所述一个或多个处理器执行时,使得所述电子执行如本发明实施例中一个或多个所述的数据处理方法。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,可以获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文,然后可以依据所述操作条件对所述待操作数组进行基于密文的操作;其中,可以构造与所述待操作数组的长度相同的辅助数组B,然后将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文,将所述待操作数组A与赋值后的辅助数组B相乘,得到的目标数组C中包括了满足操作条件的元素,从而可以从待操作数组中选取满足操作条件的元素,实现对数组进行基于密文条件的操作。
附图说明
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种基于密文选取元素方法实施例的步骤流程图;
图3是本发明的一种数据处理方法可选实施例的步骤流程图;
图4是本发明的一种基于密文对数组进行拆分方法实施例的步骤流程图;
图5是本发明实施例的又一种数据处理方法可选实施例的步骤流程图;
图6是本发明的一种基于密文对数组进行过滤方法实施例的步骤流程图;
图7是本发明的又一种数据处理方法可选实施例的步骤流程图;
图8是本发明的一种数据处理装置实施例的结构框图;
图9是本发明的一种数据处理装置可选实施例的结构框图;
图10是本发明的又一种数据处理装置可选实施例的结构框图
图11是本发明的又一种数据处理装置可选实施例的结构框图;
图12是本发明的又一种数据处理装置可选实施例的结构框图;
图13示意性地示出了用于执行根据本发明的方法的电子设备的框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例中,用于执行所述数据处理方法的设备可以提供多方安全计算服务,多方安全计算可以抽象的理解为:两方分别有各自的私有数据,在不泄漏各自私有数据的情况下,能够计算出关于公共函数的结果;整个计算完成时,只有计算结果对双方可知,且双方均不知对应的数据以及计算过程的中间数据。其中,所述公共函数可以实现多种计算功能如加、减、乘和除等等;且两方的私有数据中至少有一个是密文,即可以进行密文与密文之间的计算,也可以进行密文与明文之间的计算。
本发明实施例可以应用于对数组进行多种基于密文的操作,如基于密文从数组中选取元素,例如从数组中选取位置为密文的元素;又如对数组进行基于密文的拆分,例如将元素为密文的数组按照明文条件进行拆分;还如对数组进行基于密文的过滤,例如从明文数组中选取满足密文条件的元素,又例如从密文数组中选取满足明文条件的元素;等等,本发明实施例对此不作限制。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102、获取待操作数组A和所述待操作数组A对应的操作条件,待操作数组A为密文和/或所述操作条件包括的比较信息为密文。
本发明实施例中,在对数组进行操作的过程中,可以获取需要进行操作的数组和该数组对应的操作条件,然后依据对应的操作条件对该数组进行操作;其中,所述操作可以包括多种,如提取元素、拆分、过滤等等。
其中,当确定数组为密文(可以是指数组中的元素为密文),和/或该数组对应的操作条件包括密文(可以是指操作条件包括的比较信息为密文)时,可以确定需要对该数组进行基于密文的操作,此时,可以将需要基于密文操作的数组称为待操作数组A,然后依据对应的操作条件对待操作数组A进行基于密文的操作。其中,所述操作条件可以包括多种类型,如元素选取类、数组拆分类和数组过滤类等,本发明实施例对此不作限制,不同类型的操作条件对数组的操作不同,比如元素选取类操作条件可以用于从待操作数组中选取元素,所述数组拆分类操作条件可以用于将待操作数组拆分为多个子数组,所述数组过滤类操作条件可以用于过滤待操作数组,等等。
步骤104、构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同。
步骤106、将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文。
步骤108、将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C。
本发明实施例中,可以依据所述待操作数组A对应的长度n(n为正整数),构造辅助数组B,使得辅助数组B与所述待操作数组A的长度相同;以及可以初始化辅助数组B中各个位置对应的元素B[i],例如可以将辅助数组B中各个位置对应的元素B[i]均初始化置为默认值,例如,可以设置初始值为0。其中,i为整数,i的取值范围为0~n-1。
然后可以通过将待操作数组A与对应的操作条件进行基于密文的比对,来为辅助数组B中各个位置的元素B[i]进行赋值;再将赋值后的辅助信息B[i]和待操作数组A相乘(基于密文的相乘),得到的目标数组C即为对待操作数组基于操作条件进行操作后的结果。
需要说明的是,本发明的方案实现的是基于密文的比对操作,具体基于密文的比对操作方法可参照本申请人的,申请号为201910252632.X中介绍的实现方案,在此不做赘述。
其中,在为辅助数组B中各个位置的元素B[i]进行赋值的过程中,针对辅助数组B中每一个位置对应的元素B[i],可以将该位置对应的元素B[i]赋值为:待操作数组A中该位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文。其中,所述待操作数组中每个位置对应的待操作信息可以包括多种,如待操作数组中每个位置对应的位置信息,又例如待操作数组中每个位置对应的元素,具体可以根据操作条件对应的类型确定,本发明实施例对此不作限制。
例如,所述操作条件为数组过滤类操作条件:A[i]>0,则针对辅助数组B中每一个位置对应的元素B[i],可以将该位置对应的元素B[i]赋值为:比较待操作数组A中该位置对应的A[i]是否大于0的结果,且该结果的值为1或0的密文。又例如,所述操作条件为元素选取类操作条件:x=A[s],x表示待选取的A数组中的元素,s为待选择的x元素在A数组中的位置的密文,则针对辅助数组B中每一个位置对应的元素B[i],可以将该位置对应的元素B[i]赋值为:比较待操作数组A中该位置对应的位置信息i是否等于s的结果,且该结果的值为1或0的密文。
在为辅助数组B中每个元素B[i]赋值后,该辅助数组B为由0和1的密文表示的数组,例如B=[0’,0’,0’,1’,0’],其中,本示例以及后续示例中,*’表示数值*的密文,例如0’表示0的密文,1’表示1的密文。后续将待操作数组A各个位置的元素A[i]与赋值后的辅助数组B中对应位置的元素A[i]相乘,可以从待操作数组A中获取满足操作条件的元素,即得到的目标数组C中包括待操作数组A中满足操作条件的元素。例如,A=[a1’,a2’,a3’,a4’,a5’],赋值后的B=[0’,0’,0’,1’,0’];则将待操作数组A和赋值后辅助数组B相乘,得到C=[0’,0’,0’,a4’,0’]。当然,待操作数组A中各个元素也可以是明文,本发明实施例对此不作限制。
综上,本发明实施例中,可以获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文,然后可以依据所述操作条件对所述待操作数组进行基于密文的操作;其中,可以构造与所述待操作数组的长度相同的辅助数组B,然后将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文,将所述待操作数组A与赋值后的辅助数组B相乘,得到的目标数组C中包括了满足操作条件的元素,从而可以从待操作数组中选取满足操作条件的元素,实现对数组进行基于密文条件的操作。
本发明的另一个实施例中,在获取待操作数组A和所述待操作数组A对应的操作条件后,可以判断所述操作条件所属的类型,然后依据所述操作条件对应的类型,对所述待操作数组进行对应基于密文的操作。其中,所述操作条件对应的类型可以包括以下至少一种:元素选取类、数组拆分类和数组过滤类。
当所述操作条件为元素选取类操作条件时,依据元素选取类操作条件对待操作数组进行基于密文的操作,可以是指从待操作数组中选取出位置信息为密文的元素;具体如下:
参照图2,示出了本发明的一种基于密文选取元素方法实施例的步骤流程图。
步骤202、获取待操作数组A和所述待操作数组A对应的操作条件,其中,所述操作条件为元素选取类操作条件。
其中,所述操作条件包括的比较信息为待选取元素的位置信息,所述位置信息为密文s。
本发明实施例中,获取待操作数组A和所述待操作数组A对应的操作条件,当确定所述操作条件为元素选取类操作条件时,可以确定需要从待操作数组中选取出位置信息为密文的元素;其中,该元素选取类操作条件包括的比较信息是待选取元素的位置信息,所述位置信息为密文s;例如所述元素选取类操作条件为x=A[s],其中,包含的比较信息为待选取元素的位置信息s,s为密文。此外,所述待操作数组A中的元素可以为明文,也可以为密文,本发明实施例对此不作限制。
因此,可以从所述操作条件中获取待选取元素对应位置信息的密文s,然后依据所述待选取元素的位置信息的密文s,从待操作数组中提取待选取元素A[s]。
步骤204、构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同。
本发明实施例中,可以构造一个与所述待操作数组A的长度n相同的辅助数组B,并将辅助数组B中各个位置对应的元素B[i]均初始化为默认值如0。例如待操作数组A的长度为n(其中,n为正整数),则可以构造长度为n的辅助数组B,以及可以将B中各个位置的元素B[i]初始化为0;例如采用如下代码实现:B=pp.zeros(len(A))。
步骤206、针对所述辅助数组B中每一个位置对应的元素B[i],将所述辅助数组B中所述元素B[i]赋值为:比较待操作数组A中所述位置对应的位置信息i与密文s是否相等的结果的密文。
其中,当待操作数组A中所述位置对应的位置信息i与密文s相等时,所述结果的密文对应为1的密文;当不相等时,所述结果的密文对应为0的密文。
本发明实施例中,可以将待操作数组A的各个位置的位置信息i作为待操作信息,与所述操作条件中待选取元素的位置信息的密文s进行比对,比较待操作数组A中位置信息i与密文s是否相等,来确定从待操作数组A中选取哪个位置的元素。
本发明实施例中,针对所述辅助数组B中每一个位置对应的元素B[i],可以将所述辅助数组B中所述元素B[i]赋值为:比较待操作数组A中所述位置对应的位置信息i与密文s是否相等的结果的密文。其中,当待操作数组A中所述位置对应的位置信息i与操作条件中密文s相等时,对应比较的结果的密文为1的密文,当待操作数组A中所述位置对应的位置信息i与操作条件中密文s不相等时,对应比较的结果的密文为0的密文。
本发明的一个示例中,步骤206可以采用如下代码实现:
for i in range(len(A)):
B[i]=(i==s)
其中,i为待操作数组A中各个位置的位置信息,i取值为0~n-1,也是辅助数组B中各个位置的位置信息,s为元素选取类操作条件中待选取元素的位置信息,s为密文。当然,本发明实施例中,步骤206还可以采用其他代码实现,本发明实施例对此不作限制。
步骤208、将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘,得到目标数组C。
步骤210、计算所述目标数组C各位置对应元素C[i]之和,得到所述待操作数组A中所述位置信息为密文s对应的待选取元素A[s]。
本发明实施例中,可以将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘,得到一个目标数组C,目标数组C中各个位置的元素C[i]为待操作数组A与赋值后的辅助数组B对应位置的元素乘积。其中,为了从待操作数组A中选取位置为s的元素A[s],可以再将目标数组C中各位置对应元素C[i]相加,得到各位置对应元素之和,即为所述待操作数组中所述位置密文对应的元素,即得到待选取的元素。其中,由于所述操作条件中待选取元素的位置信息只可能与待操作数组A中某一个位置的位置信息i相等,对应的,所述辅助数组B中该位置对应的元素为1的密文,其他位置的元素为0的密文,进而不论所述待选取位置s的密文值为任何值,通过该操作得到的对应元素乘积之和即为位置s对应的待选取元素,该过程不需要解析出s的明文即可实现。
例如,待操作数组A=[2’,3’,4’,5’,6’],若需要从中选取第s(密文)个元素,假如密文位置s为1对应的密文,赋值后的辅助数组可以为B=[0’,1’,0’,0’,0’],将所述待操作数组中各位置的元素与所述配置元素后的辅助数组中对应位置的元素相乘,可以得到目标数组为:[0’、3’、0’、0’、0’];然后计算目标数组各位置元素之和,得到3’,即成功读取到待操作数组A中位置为s的元素A[s]=3’。
当然,本发明的一个实施例中,上述步骤208和步骤210,也可以通过将待操作数组A与赋值后的辅助数组B进行点乘实现,例如通过代码:x=pp.dot(A,B)实现,得到待选取元素A[s]。本发明的一个示例中,若配置元素后的辅助数组为B=[0’,1’,0’,0’,0’],即需要从待操作数组A=[2,3,4,5,6]中选取第二个元素,可以将赋值后的辅助数组与待操作数组A点乘,得到待选取元素A[s]=3’。
综上,本发明实施例中,获取待操作数组A和所述待操作数组A对应的操作条件,当所述操作条件为元素选取类的操作条件时,所述操作条件包括的比较信息为待选取元素的位置信息,所述位置信息为密文s;进而在构造与所述待操作数组长度相同的辅助数组B后,可以针对所述辅助数组B中每一个位置对应的元素B[i],将所述辅助数组B中所述元素B[i]赋值为:比较待操作数组A中所述位置对应的位置信息i与密文s是否相等的结果的密文,其中,当待操作数组A中所述位置对应的位置信息i与密文s相等时,所述结果的密文对应为1的密文;当不相等时,所述结果的密文对应为0的密文;然后将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘,得到目标数组C后,可以计算所述目标数组C各位置对应元素C[i]之和,得到所述待操作数组A中所述位置信息为密文s对应的待选取元素A[s]。
本发明实施例可以应用在需要进行基于密文计算的任一领域,如金融领域、电子商务领域等等,其中,每个领域存在对应的业务数据,从任一领域对应的业务数据中选取一条业务数据,可以是一个或多个待操作数组。以下将本发明实施例从待操作数组中选取出位置信息为密文的元素,应用在从业务数据对应的数组中,选取位置信息为密文的目标业务数据为例进行说明。具体应用场景例如可以为:从数据库中保存的用户的身份信息(如身份证号)与银行存款余额的数组中,选取某一个用户的余额数据,该用户的身份信息为密文,也就是具体待选取的余额数据的位置为密文。参照图3,示出了本发明的一种数据处理方法可选实施例的步骤流程图。
步骤302、获取业务数据对应的数组D和所述数组D对应的选取条件,所述选取条件包括的待选取的目标业务数据对应位置信息为密文k。
其中,所述业务数据对应的数组D,可以是密文,也可以是明文,本发明实施例对此不作限制。
步骤304、构造辅助数组E,所述辅助数组E与所述数组D的长度相同。
步骤306、将所述辅助数组E中各位置对应的元素E[j]赋值为:比较所述数组D中各位置对应的位置信息j与密文k是否相等的结果且值为0或1的密文。
其中,所述业务数据的数组D的长度为L1,L1为正整数,j为整数,j的取值范围为0~L1-1。
步骤308、将所述数组D中各位置的元素D[j]与所述赋值后的辅助数组E中对应位置的元素E[j]相乘,得到目标数组F。
步骤310、计算所述目标数组F各位置对应元素F[j]之和,得到目标业务数据D[k]。
本发明实施例中,步骤302-步骤310,与上述步骤202-步骤210类似,在此不再赘述。
进而本发明实施例,能够实现从业务数据对应的数组中,选取位置为密文的目标业务数据。
当所述操作条件为数组拆分类操作条件时,所述依据数组拆分类操作条件对待操作数组进行基于密文的操作,可以是指基于密文将待操作数组,按照数组拆分类操作条件拆分为多个子条件;具体如下:
参照图4,示出了本发明的一种基于密文对数组进行拆分方法实施例的步骤流程图。
步骤402、获取待操作数组A和所述待操作数组A对应的操作条件,其中,所述操作条件为数组拆分类操作条件。
其中,所述操作条件包括M个子条件Sm,所述子条件Sm包括比较信息和关系运算符,所述待操作数组A为密文和/或所述子条件包括的比较信息为密文。
本发明实施例中,获取待操作数组A和所述待操作数组A对应的操作条件,当确定所述操作条件为数组拆分类操作条件时,可以确定需要基于密文将待操作数组A拆分为多个子数组;其中,该数组拆分类操作条件可以包括M个子条件Sm,以将待操作数组A拆分为每个子条件Sm对应的子数组,其中,M、m为大于0的正整数,m的取值为1~M。其中,每个子条件Sm可以包括比较信息和关系算符,例如M=2时,对应的操作条件可以包括两个子条件:S1和S2,其中,S1:A[i]>K和S2:A[i]≤K;其中,S1:A[i]>K中,比较信息为K,关系运算符为:>,S2:A[i]≤K中,比较信息为K,关系运算符为:≤。
其中,本发明实施例中,可以是待操作数组A和子条件Sm包含的比较信息中至少一个为密文。例如子条件S1:A[i]>K,若待操作数组A为密文,则S1中K可以是密文,也可以是明文;若待操作数组A为明文,则S1中K为密文。
步骤404、构造辅助数组B,所述辅助数组包括M个子辅助数组Bm,所述子辅助数组Bm与所述待操作数组A的长度相同。
对应的,可以构造与所述子条件Sm个数相同的子辅助数组Bm,即可以构造M个子辅助数组Bm,每个子辅助数组Bm可以对应一个子条件Sm,且每个子辅助数组Bm与所述待操作数组A的长度相同;以及可以将各子辅助数组Bm中各位置的元素Bm[i]初始化为默认值。例如采用如下代码实现:B1=pp.zeros(len(A)),B2=pp.zeros(len(A)),……,Bm=pp.zeros(len(A))。
本发明实施例中,可以将待操作数组A中各位置对应的元素A[i]作为待操作信息,然后将待操作数组A中每一个位置对应的元素A[i],与数组过滤类操作条件中比较信息进行密文比较,为辅助数组B中该位置对应的元素B[i]进行赋值。其中,针对所述辅助数组B中每一个元素B[i],将所述辅助数组B中的所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文。
其中,当待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;当不满足时,所述结果的密文对应为0的密文。例如数组过滤类操作条件为A[i]>K,包含的比较信息为K,关系运算符为“>”,该关系运算符对应的比较关系为大于,若待操作数组A中元素A[i]大于比较信息K,则可以确定待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系,否则,确定待操作数组A中元素A[i]与比较信息K不满足所述关系运算符对应的比较关系。
本发明实施例中,所述辅助数组B包括M个子辅助数组Bm,可以分别为每个子辅助数组Bm进行赋值,可参照步骤406:
步骤406、针对每一个子辅助数组Bm中的每一个元素Bm[i],将所述子辅助数组Bm中所述元素Bm[i]赋值为:所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较的结果的密文。
其中,当所述待操作数组A中元素A[i]与比较信息满足子条件Sm中关系运算符对应的比较关系时,所述结果的密文对应为1的密文,当不满足时,所述结果对应为0的密文。
本发明实施例中,针对每一个子辅助数组Bm中的每一个元素Bm[i],可以将所述子辅助数组Bm中所述元素Bm[i]赋值为:所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较的结果的密文。其中,所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较,可以是指比较所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,是否满足所述Sm中关系运算符对应的运算关系。当所述待操作数组A中元素A[i]与比较信息满足子条件Sm中关系运算符对应的比较关系时,所述结果的密文对应为1的密文,所述待操作数组A中元素A[i]与比较信息不满足子条件Sm中关系运算符对应的比较关系时时,所述结果对应为0的密文。
以下以操作数组包括两个子数组S1和S2为例,进行说明步骤406。
例如,S1:A[i]>K,S2:A[i]≤K;
本发明的一个示例中,所述步骤306可以采用如下代码实现:
for i in range(len(A)):
B1[i]=(A[i]>K)
B2[i]=(A[i]<=K)
其中,K和A[i]中至少一个为密文。
当然,当操作条件包括两个子条件S1和S2时,这两个子条件是互补条件,此时,本发明的另一个示例中,所述步骤406也可以操作如下代码实现:
for i in range(len(A)):
B1[i]=(A[i]>K)
B2[i]=(1-(A[i]>K))
步骤408、将所述待操作数组A分别与赋值后的M个子辅助数组Bm相乘,得到的目标数组C为所述待操作数组A按照所述数组拆分操作条件进行拆分后对应的M个子数组。
按照对应的子条件Sm为各个子辅助数组Bm的元素赋值后,针对每一个赋值后的辅助数组Bm与待操作数组A相乘,得到对应的数组Cm,进而可以得到M个数组Cm,M个数组Cm组成目标数组C。其中,每个数组Cm为待操作数组A按照所述数组拆分类操作条件中子条件Sm进行拆分后的子数组,即数组Cm中每个元素Cm[i]满足对应的子条件Sm。
本发明的一个示例中,若A=[1’,2’,3’,4’,5’,6’],数组拆分类操作条件包括两个子条件S1和S2,其中,S1:A[i]>3’,S2:A[i]≤3’,可以构造两个子辅助数组B1=[0,0,0,0,0,0]和B2=[0,0,0,0,0,0],然后按照上述步骤406分别为B1和B2中各个元素进行赋值,得到赋值后的B1=[0’,0’,0’,1’,1’,1’],赋值后的B2=[1’,1’,1’,0’,0’,0’]。再将所述待操作数组A与子辅助数组B1相乘得到C1=[0’,0’,0’,3’,5’,6’],将所述待操作数组A与子辅助数组B2相乘得到C2=[1’,2’,3’,0’,0’,0’];进而将待操作数组A拆分为两个子数组C1和C2。
综上,本发明实施例中,在获取待操作数组A和所述待操作数组A对应的操作条件后,当所述操作条件为数组拆分类操作条件时,所述操作条件可以包括M个子条件Sm;进而可以构造M个子辅助数组Bm,然后针对每一个子辅助数组Bm中的每一个元素Bm[i],将所述子辅助数组Bm中所述元素Bm[i]赋值为:所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较的结果的密文;其中,当所述待操作数组A中元素A[i]与比较信息满足子条件Sm中关系运算符对应的比较关系时,所述结果的密文对应为1的密文,不满足时,所述结果对应为0的密文;再将所述待操作数组A分别与赋值后的M个子辅助数组Bm相乘,得到的目标数组C为所述待操作数组按照所述数组拆分操作条件进行拆分后对应的M个子数组;从而实现对数组基于密文条件拆分为多个子数组。
以下将本发明实施例将待操作数组基于密文进行拆分,应用在将业务数据对应的数组拆分为多个子数组为例进行说明。例如,具体的应用场景可以为:将数据库中保存的用户的身份信息(如身份证号)与银行存款余额的数组,拆分为余额大于预设值的数组和余额不大于该预设值的数组,进行分开管理。参照图5,示出了本发明实施例的又一种数据处理方法可选实施例的步骤流程图。
步骤502、获取业务数据对应的数组O和所述数组O对应的拆分条件,其中,所述拆分条件包括R个子条件Qr,所述子条件Qr包括:比较信息和关系运算符,所述数组O为密文和/或所述子条件Qr中比较信息为密文。
其中,R、r为正整数,r的取值范围为1~R。
步骤504、构造辅助数组P,所述辅助数组P包括R个子辅助数组Pr,各子辅助数组Pr与所述数组O的长度相同。
其中,所述数组O的长度为L3,L3为正整数,q为整数,q的取值范围为0~L3-1。
步骤506、将所述子辅助数组Pr中各位置对应的元素Pr[q]赋值为:所述数组O中各位置对应的元素O[q]与子辅助数组Pr对应子条件Qr中比较信息,按照子辅助数组Pr对应子条件Qr关系运算符进行密文比较的结果且值为0或1的密文。
步骤508、将所述数组O中各位置的元素O[q]与所述赋值后的各子辅助数组Pr中对应位置的元素Pr[q]相乘,得到所述数组O按照所述拆分条件拆分的R个子数组。
本发明实施例中,步骤502-步骤508,与上述步骤402-步骤408类似,在此不再赘述。
进而本发明实施例可以将业务数据对应的数组,基于密文拆分为各个子条件对应的子数组,每个子数组中包括了满足对应子条件的业务数据。
本发明的另一个实施例中,明文计算中可以用逻辑判断的结果(布尔型的数组)做索引,去过滤其他数组,如a=np.array([0,1,2]),x=[True,False,True],则a[x]会得到np.array([0,2])。而密文计算中逻辑判断的结果值为0或1的Sint(短整数),而非布尔型变量True或False;因此在密文计算中,若将布尔数组中的True或False直接替换为1或者0,那么x=[True,False,True]对应的数组表示为y=[1,0,1]),则在密文计算时,a[y]会得到a的第1、第0、第1个元素,也就是得到的数组为[1,0,1],则无法得到想要的结果,因此针对布尔数组索引,无法采用上述将布尔数组中的True或False直接替换为1或者0的方式。
因此本发明实施例中,可以采用数组过滤类操作条件代替布尔型数组,对待操作数组进行过滤;以下依据数组过滤类操作条件对待操作数组,进行基于密文的过滤操作为例说明。参照图6,示出了本发明的一种对基于密文对数组进行过滤方法实施例的步骤流程图。
步骤602、获取待操作数组A和所述待操作数组A对应的操作条件,其中,所述操作条件为数组过滤类操作条件。
本发明实施例中,获取待操作数组A和所述待操作数组A对应的操作条件,当确定所述操作条件为数组过滤类操作条件时,可以确定需要基于密文对待操作数组A进行过滤;其中,该数组过滤类操作条件包括比较信息和关系运算符,所述数据过滤类操作条件包括的比较信息为密文,和/或,所述待操作数组A为密文,本发明实施例对此不作限制。例如所述数组过滤类操作条件为:A[i]>T,包括的比较信息为T,关系运算符为“>”;其中,当待操作数组A为密文时,比较信息T可以为密文,也可以为明文,当待操作数组A为明文时,比较信息T为密文。
步骤604、构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同。
本步骤604和上述步骤204类似,在此不再赘述。
步骤606、针对所述辅助数组B中每一元素B[i],将所述辅助数组B中的所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文。
其中,待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;不满足时,所述结果的密文对应为0的密文。
本发明实施例中,可以将待操作数组A中各位置对应的元素A[i]作为待操作信息,然后将待操作数组A中每一个位置对应的元素A[i],与数组过滤类操作条件中比较信息进行密文比较,为辅助数组B中该位置对应的元素B[i]进行赋值。具体的,针对所述辅助数组B中每一元素B[i],可以将所述辅助数组B中的所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文;当待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;当不满足时,所述结果的密文对应为0的密文。例如数组过滤类操作条件为A[i]<T,包含的比较信息为T,关系运算符为“<”,该关系运算符对应的比较关系为小于;若待操作数组A中元素A[i]小于比较信息T,则可以确定待操作数组A中元素A[i]与比较信息T满足所述关系运算符对应的比较关系,否则,确定待操作数组A中元素A[i]与比较信息T不满足所述关系运算符对应的比较关系。
本发明的一个示例中,上述步骤606可以采用如下代码实现:
for i in range(len(A)):
B[i]=A[i]<T
当然,本发明实施例中,步骤606还可以采用其他代码实现,本发明实施例对此不作限制。
步骤608、将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C。
本发明实施例中,可以将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘,得到一个目标数组C。
例如,待操作数组A=[1’,2’,5’,2’,7’,10’],数组过滤类操作条件为:A[i]<8’,可以构造辅助数组B=[0,0,0,0,0,0],然后按照上述步骤606为B中各个元素进行赋值,得到赋值后的B=[1’,1’,1’,1’,1’,0’];再将A与B相乘,得到目标数组C=[1’,2’,5’,2’,7’,0’],从而将待操作数组A中小于或等于密文8’的元素过滤掉,得到待操作数组A中大于密文8’的元素,即目标数组C中的元素。当然,或者上待操作数组A中各元素为明文,数组过滤类操作条件中的比较信息是密文;或者数组为密文,数组过滤类操作条件中的比较信息为明文。
综上,本发明实施例中,在获取待操作数组A和所述待操作数组A对应的操作条件后,若所述操作条件为数组过滤类操作条件,则在构造与所述待操作数组长度相同的辅助数组B后,针对所述辅助数组B中每一元素B[i],将所述辅助数组B中的所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文;其中,待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;不满足时,所述结果的密文对应为0的密文;再将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C,从而采用数组过滤类操作条件可以对待操作数组进行过滤,而无需采用布尔型数组,解决了密文计算过程中无法采用布尔型数组对其他数组进行过滤的问题。
以下将本发明实施例基于密文对待操作数组进行过滤,应用基于密文对业务数据对应的数组进行过滤为例进行说明。具体应用场景例如可以为:从数据库中保存的用户的身份信息(如身份证号)与银行存款余额的数组中过滤出余额大于某一预设值的用户,或余额不大于某一预设值的用户。参照图7,示出了本发明的又一种数据处理方法可选实施例的步骤流程图。
步骤702、获取业务数据对应的数组G和所述数组G对应的过滤条件,其中,所述过滤条件包括比较信息和关系运算符,所述数组G为密文和/或所述过滤条件的比较信息为密文。
其中,所述业务数据的数组G的长度为L2,L2为正整数。
步骤704、构造辅助数组H,所述辅助数组H与所述待过滤数组G的长度相同。
步骤706、将所述辅助数组H中各位置对应的元素H[p]赋值为:将所述数组G中各位置对应的元素G[p]与过滤条件中比较信息按照过滤条件中关系运算符进行密文比较的结果且值为0或1的密文。
其中,p为整数,p的取值范围为0~L2-1。
步骤708、将所述数组G中各位置的元素G[p]与赋值后的辅助数组H中对应位置的元素H[p]相乘,得到对所述数组G按照所述过滤条件过滤后的数组I。
进而本发明实施例,能够实现从业务数据对应的数组中,过滤出满足条件的业务数据。
当然,在步骤210、步骤308和步骤608之后,均可以基于这些步骤中得到的信息按照需求进行进一步的运算,本发明实施例对此不作限制。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明一种数据处理装置实施例的结构框图,具体可以包括如下模块:
获取模块802,用于获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文;
构造模块804,用于构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同;
赋值模块806,用于将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文;
计算模块808,用于将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C;
其中,待操作数组A的长度为n,n为正整数,i为整数,i的取值范围为0~n-1。
参照图9,示出了本发明一种数据处理装置可选实施例的结构框图。
本发明一个可选实施例中,所述赋值模块806,包括:
第一赋值子模块8062,用于当所述操作条件为元素选取类操作条件时,所述操作条件包括的比较信息为待选取元素的位置信息,所述位置信息为密文s;针对所述辅助数组B中每一个位置对应的元素B[i],将所述辅助数组B中所述元素B[i]赋值为:比较待操作数组A中所述位置对应的位置信息i与密文s是否相等的结果的密文;其中,当待操作数组A中所述位置对应的位置信息i与密文s相等时,所述结果的密文对应为1的密文;当不相等时,所述结果的密文对应为0的密文。
本发明一个可选实施例中,所述计算模块808,包括:
第一乘法子模块8082,用于将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘;
所述的装置还包括:
加法模块810,用于在所述得到目标数组C后,计算所述目标数组C各位置对应元素C[i]之和,得到所述待操作数组A中所述位置信息为密文s对应的待选取元素A[s]。
本发明一个可选实施例中,所述赋值模块806,包括:
第二赋值子模块8062,用于当所述操作条件为数组拆分类操作条件或数组过滤类操作条件时,所述操作条件还包括关系运算符;针对所述辅助数组B中每一个元素B[i],将所述辅助数组B中所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文;其中,当待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;当不满足时,所述结果的密文对应为0的密文。
本发明一个可选实施例中,所述第二赋值子模块8062,具体用于,当所述操作条件为数组拆分类操作条件时,所述操作条件包括M个子条件Sm,所述辅助数组包括M个子辅助数组Bm,所述子条件Sm与子辅助数组Bm对应;针对每一个子辅助数组Bm中的每一个元素Bm[i],将所述子辅助数组Bm中所述元素Bm[i]赋值为:所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较的结果的密文;其中,当所述待操作数组A中元素A[i]与比较信息满足子条件Sm中关系运算符对应的比较关系时,所述结果的密文对应为1的密文,当不满足时,所述结果对应为0的密文;其中,M、m为正整数,m的取值为1~M。
本发明一个可选实施例中,所述计算模块808包括:
第二乘法子模块8084,用于将所述待操作数组A分别与赋值后的M个子辅助数组Bm相乘,得到的目标数组C为所述待操作数组A按照所述数组拆分操作条件进行拆分后对应的M个子数组。
综上,本发明实施例中,可以获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文,然后可以依据所述操作条件对所述待操作数组进行基于密文的操作;其中,可以构造与所述待操作数组的长度相同的辅助数组B,然后将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文,将所述待操作数组A与赋值后的辅助数组B相乘,得到的目标数组C中包括了满足操作条件的元素,从而可以从待操作数组中选取满足操作条件的元素,实现对数组进行基于密文条件的操作。
参照图10,示出了本发明又一种数据处理装置可选实施例的结构框图;具体包括如下模块:
第一业务数据获取模块1002,用于获取业务数据对应的数组D和所述数组D对应的选取条件,所述选取条件包括的待选取的目标业务数据对应位置信息为密文k;
第一辅助数组构造模块1004,用于构造辅助数组E,所述辅助数组E与所述数组D的长度相同;
第一元素赋值模块1006,用于将所述辅助数组E中各位置对应的元素E[j]赋值为:比较所述数组D中各位置对应的位置信息j与密文k是否相等的结果且值为0或1的密文;
数据选取模块1008,用于将所述数组D中各位置的元素D[j]与所述赋值后的辅助数组E中对应位置的元素E[j]相乘,得到目标数组F;计算所述目标数组F各位置对应元素F[j]之和,得到目标业务数据D[k];
其中,所述业务数据的数组D的长度为L1,L1为正整数,j为整数,j的取值范围为0~L1-1。
参照图11,示出了本发明又一种业务数据处理装置可选实施例的结构框图;具体包括如下模块:
第二业务数据获取模块1102,用于获取业务数据对应的数组G和所述数组G对应的过滤条件,其中,所述过滤条件包括比较信息和关系运算符,所述数组G为密文和/或所述过滤条件包括的比较信息为密文;
第二辅助数组构造模块1104,用于构造辅助数组H,所述辅助数组H与所述待过滤数组G的长度相同;
第二元素赋值模块1106,用于将所述辅助数组H中各位置对应的元素H[p]赋值为:所述数组G中各位置对应的元素G[p]与过滤条件中比较信息按照过滤条件中关系运算符进行密文比较的结果且值为0或1的密文;
数据过滤模块1108,用于将所述数组G中各位置的元素G[p]与赋值后的辅助数组H中对应位置的元素H[p]相乘,得到对所述数组G按照所述过滤条件过滤后的数组I;
其中,所述业务数据的数组G的长度为L2,L2为正整数,p为整数,p的取值范围为0~L2-1。
参照图12,示出了本发明又一种业务数据处理装置可选实施例的结构框图;具体包括如下模块:
第三业务数据获取模块1202,用于获取业务数据对应的数组O和所述数组O对应的拆分条件,其中,所述拆分条件包括R个子条件Qr,所述子条件Qr包括:比较信息和关系运算符,所述数组O为密文和/或所述子条件Qr中比较信息为密文;
第三辅助数组构造模块1204,用于构造辅助数组P,所述辅助数组P包括R个子辅助数组Pr,各子辅助数组Pr与所述数组O的长度相同;
第三元素赋值模块1206,用于将所述子辅助数组Pr中各位置对应的元素Pr[q]赋值为:所述数组O中各位置对应的元素O[q]与子辅助数组Pr对应子条件Qr中比较信息,按照子辅助数组Pr对应子条件Qr关系运算符进行密文比较的结果且值为0或1的密文;
拆分模块1208,用于将所述数组O中各位置的元素O[q]与所述赋值后的各子辅助数组Pr中对应位置的元素Pr[q]相乘,得到所述数组O按照所述拆分条件拆分的R个子数组;
其中,所述数组O的长度为L3,L3、R为正整数,q为整数,q的取值范围为0~L3-1,r的取值范围为1~R。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在本发明实施例还提供了一种电子设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如本发明实施例中一个或多个所述的数据处理方法。
在本发明实施例还提供了一个或多个可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如本发明实施例中一个或多个所述的数据处理方法。
本发明实施例一个示例中提供了一种电子设备,例如服务器,图13示出了可以实现根据本发明的服务器,例如管理服务器、存储服务器、应用服务器、云控服务、服务器集群等。该服务器传统上包括处理器1310和以存储器1320形式的计算机程序产品或者计算机可读介质。存储器1320可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器1320具有用于执行上述方法中的任何方法步骤的程序代码1331的存储空间1330。例如,用于程序代码的存储空间1330可以包括分别用于实现上面的方法中的各种步骤的各个程序代码1331。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。该存储单元可以具有与图13的服务器中的存储器1320类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括计算机可读代码,即可以由例如诸如1310之类的处理器读取的代码,这些代码当由服务器运行时,导致该服务器执行上面所描述的方法中的各个步骤。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据处理方法、一种数据处理装置和一种电子设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种数据处理方法,其特征在于,包括:
获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文;
构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同;
将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文;
将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C;
其中,待操作数组A的长度为n,n为正整数,i为整数,i的取值范围为0~n-1;
其中,当所述操作条件为元素选取类操作条件时,所述操作条件包括的比较信息为待选取元素的位置信息,所述位置信息为密文s;
所述将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文,具体包括:
针对所述辅助数组B中每一个位置对应的元素B[i],将所述辅助数组B中所述元素B[i]赋值为:比较待操作数组A中所述位置对应的位置信息i与密文s是否相等的结果的密文;
其中,当待操作数组A中所述位置对应的位置信息i与密文s相等时,所述结果的密文对应为1的密文;当不相等时,所述结果的密文对应为0的密文;
当所述操作条件为数组拆分类操作条件或数组过滤类操作条件时,所述操作条件还包括关系运算符;
所述将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文,具体包括:
针对所述辅助数组B中每一个元素B[i],将所述辅助数组B中所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文;
其中,当待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;当不满足时,所述结果的密文对应为0的密文。
2.根据权利要求1所述的方法,其特征在于,所述将所述待操作数组A与赋值后的辅助数组B相乘,包括:
将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘;
在所述得到目标数组C后,所述的方法还包括:
计算所述目标数组C各位置对应元素C[i]之和,得到所述待操作数组A中所述位置信息为密文s对应的待选取元素A[s]。
3.根据权利要求1所述的方法,其特征在于,当所述操作条件为数组拆分类操作条件时,所述操作条件包括M个子条件Sm,所述辅助数组包括M个子辅助数组Bm,所述子条件Sm与子辅助数组Bm对应;
所述针对所述辅助数组B中每一元素B[i],将所述辅助数组B中的所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文,具体包括:
针对每一个子辅助数组Bm中的每一个元素Bm[i],将所述子辅助数组Bm中所述元素Bm[i]赋值为:所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较的结果的密文;
其中,当所述待操作数组A中元素A[i]与比较信息满足子条件Sm中关系运算符对应的比较关系时,所述结果的密文对应为1的密文,当不满足时,所述结果对应为0的密文;
其中,M、m为正整数,m的取值为1~M。
4.根据权利要求3所述的方法,其特征在于,所述将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C,包括:
将所述待操作数组A分别与赋值后的M个子辅助数组Bm相乘,得到的目标数组C为所述待操作数组A按照所述数组拆分操作条件进行拆分后对应的M个子数组。
5.一种数据处理方法,其特征在于,包括:
获取业务数据对应的数组D和所述数组D对应的选取条件,所述选取条件包括的待选取的目标业务数据对应位置信息为密文k;
构造辅助数组E,所述辅助数组E与所述数组D的长度相同;
将所述辅助数组E中各位置对应的元素E[j]赋值为:比较所述数组D中各位置对应的位置信息j与密文k是否相等的结果且值为0或1的密文;
将所述数组D中各位置的元素D[j]与所述赋值后的辅助数组E中对应位置的元素E[j]相乘,得到目标数组F;
计算所述目标数组F各位置对应元素F[j]之和,得到目标业务数据D[k];
其中,所述业务数据的数组D的长度为L1,L1为正整数,j为整数,j的取值范围为0~L1-1。
6.一种数据处理方法,其特征在于,包括:
获取业务数据对应的数组G和所述数组G对应的过滤条件,其中,所述过滤条件包括比较信息和关系运算符,所述数组G为密文和/或所述过滤条件包括的比较信息为密文;
构造辅助数组H,所述辅助数组H与待过滤数组G的长度相同;
将所述辅助数组H中各位置对应的元素H[p]赋值为:所述数组G中各位置对应的元素G[p]与过滤条件中比较信息按照过滤条件中关系运算符进行密文比较的结果且值为0或1的密文;
将所述数组G中各位置的元素G[p]与赋值后的辅助数组H中对应位置的元素H[p]相乘,得到对所述数组G按照所述过滤条件过滤后的数组I;
其中,所述业务数据的数组G的长度为L2,L2为正整数,p为整数,p的取值范围为0~L2-1。
7.一种数据处理方法,其特征在于,包括:
获取业务数据对应的数组O和所述数组O对应的拆分条件,其中,所述拆分条件包括R个子条件Qr,所述子条件Qr包括:比较信息和关系运算符,所述数组O为密文和/或所述子条件Qr中比较信息为密文;
构造辅助数组P,所述辅助数组P包括R个子辅助数组Pr,各子辅助数组Pr与所述数组O的长度相同;
将所述子辅助数组Pr中各位置对应的元素Pr[q]赋值为:所述数组O中各位置对应的元素O[q]与子辅助数组Pr对应子条件Qr中比较信息,按照子辅助数组Pr对应子条件Qr关系运算符进行密文比较的结果且值为0或1的密文;
将所述数组O中各位置的元素O[q]与所述赋值后的各子辅助数组Pr中对应位置的元素Pr[q]相乘,得到所述数组O按照所述拆分条件拆分的R个子数组;
其中,所述数组O的长度为L3,L3、R为正整数,q为整数,q的取值范围为0~L3-1,r的取值范围为1~R。
8.一种数据处理装置,其特征在于,包括:
获取模块,用于获取待操作数组A和所述待操作数组A对应的操作条件,其中,待操作数组A为密文和/或所述操作条件包括的比较信息为密文;
构造模块,用于构造辅助数组B,所述辅助数组B与所述待操作数组A的长度相同;
赋值模块,用于将所述辅助数组B中各位置对应的元素B[i]赋值为:待操作数组A中各位置对应的待操作信息与操作条件中比较信息按照操作条件进行密文比较的结果且值为0或1的密文;
计算模块,用于将所述待操作数组A与赋值后的辅助数组B相乘,得到目标数组C;
其中,待操作数组A的长度为n,n为正整数,i为整数,i的取值范围为0~n-1;
其中,所述赋值模块,包括:
第一赋值子模块,用于当所述操作条件为元素选取类操作条件时,所述操作条件包括的比较信息为待选取元素的位置信息,所述位置信息为密文s;针对所述辅助数组B中每一个位置对应的元素B[i],将所述辅助数组B中所述元素B[i]赋值为:比较待操作数组A中所述位置对应的位置信息i与密文s是否相等的结果的密文;其中,当待操作数组A中所述位置对应的位置信息i与密文s相等时,所述结果的密文对应为1的密文;当不相等时,所述结果的密文对应为0的密文;
第二赋值子模块,用于当所述操作条件为数组拆分类操作条件或数组过滤类操作条件时,所述操作条件还包括关系运算符;针对所述辅助数组B中每一个元素B[i],将所述辅助数组B中所述元素B[i]赋值为:待操作数组A中元素A[i]与操作条件中比较信息按照所述关系运算符进行密文比较的结果的密文;其中,当待操作数组A中元素A[i]与比较信息满足所述关系运算符对应的比较关系时,所述结果对应的密文为1的密文;当不满足时,所述结果的密文对应为0的密文。
9.根据权利要求8所述的装置,其特征在于,所述计算模块,包括:
第一乘法子模块,用于将所述待操作数组A中各位置的元素A[i]与赋值后的辅助数组B中对应位置的元素B[i]相乘;
所述的装置还包括:
加法模块,用于在所述得到目标数组C后,计算所述目标数组C各位置对应元素C[i]之和,得到所述待操作数组A中所述位置信息为密文s对应的待选取元素A[s]。
10.根据权利要求8所述的装置,其特征在于,
所述第二赋值子模块,具体用于,当所述操作条件为数组拆分类操作条件时,所述操作条件包括M个子条件Sm,所述辅助数组包括M个子辅助数组Bm,所述子条件Sm与子辅助数组Bm对应;针对每一个子辅助数组Bm中的每一个元素Bm[i],将所述子辅助数组Bm中所述元素Bm[i]赋值为:所述待操作数组A中元素A[i]与所述子辅助数组Bm对应子条件Sm中比较信息,按照所述Sm中关系运算符进行密文比较的结果的密文;其中,当所述待操作数组A中元素A[i]与比较信息满足子条件Sm中关系运算符对应的比较关系时,所述结果的密文对应为1的密文,当不满足时,所述结果对应为0的密文;其中,M、m为正整数,m的取值为1~M。
11.根据权利要求10所述的装置,其特征在于,所述计算模块包括:
第二乘法子模块,用于将所述待操作数组A分别与赋值后的M个子辅助数组Bm相乘,得到的目标数组C为所述待操作数组A按照所述数组拆分操作条件进行拆分后对应的M个子数组。
12.一种数据处理装置,其特征在于,包括:
第一业务数据获取模块,用于获取业务数据对应的数组D和所述数组D对应的选取条件,所述选取条件包括的待选取的目标业务数据对应位置信息为密文k;
第一辅助数组构造模块,用于构造辅助数组E,所述辅助数组E与所述数组D的长度相同;
第一元素赋值模块,用于将所述辅助数组E中各位置对应的元素E[j]赋值为:比较所述数组D中各位置对应的位置信息j与密文k是否相等的结果且值为0或1的密文;
数据选取模块,用于将所述数组D中各位置的元素D[j]与所述赋值后的辅助数组E中对应位置的元素E[j]相乘,得到目标数组F;计算所述目标数组F各位置对应元素F[j]之和,得到目标业务数据D[k];
其中,所述业务数据的数组D的长度为L1,L1为正整数,j为整数,j的取值范围为0~L1-1。
13.一种数据处理装置,其特征在于,包括:
第二业务数据获取模块,用于获取业务数据对应的数组G和所述数组G对应的过滤条件,其中,所述过滤条件包括比较信息和关系运算符,所述数组G为密文和/或所述过滤条件包括的比较信息为密文;
第二辅助数组构造模块,用于构造辅助数组H,所述辅助数组H与待过滤数组G的长度相同;
第二元素赋值模块,用于将所述辅助数组H中各位置对应的元素H[p]赋值为:所述数组G中各位置对应的元素G[p]与过滤条件中比较信息按照过滤条件中关系运算符进行密文比较的结果且值为0或1的密文;
数据过滤模块,用于将所述数组G中各位置的元素G[p]与赋值后的辅助数组H中对应位置的元素H[p]相乘,得到对所述数组G按照所述过滤条件过滤后的数组I;
其中,所述业务数据的数组G的长度为L2,L2为正整数,p为整数,p的取值范围为0~L2-1。
14.一种数据处理装置,其特征在于,包括:
第三业务数据获取模块,用于获取业务数据对应的数组O和所述数组O对应的拆分条件,其中,所述拆分条件包括R个子条件Qr,所述子条件Qr包括:比较信息和关系运算符,所述数组O为密文和/或所述子条件Qr中比较信息为密文;
第三辅助数组构造模块,用于构造辅助数组P,所述辅助数组P包括R个子辅助数组Pr,各子辅助数组Pr与所述数组O的长度相同;
第三元素赋值模块,用于将所述子辅助数组Pr中各位置对应的元素Pr[q]赋值为:所述数组O中各位置对应的元素O[q]与子辅助数组Pr对应子条件Qr中比较信息,按照子辅助数组Pr对应子条件Qr关系运算符进行密文比较的结果且值为0或1的密文;
拆分模块,用于将所述数组O中各位置的元素O[q]与所述赋值后的各子辅助数组Pr中对应位置的元素Pr[q]相乘,得到所述数组O按照所述拆分条件拆分的R个子数组;
其中,所述数组O的长度为L3,L3、R为正整数,q为整数,q的取值范围为0~L3-1,r的取值范围为1~R。
15.一种可读介质,其特征在于,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-7中一个或多个所述的数据处理方法。
16.一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个可读介质,当由所述一个或多个处理器执行时,使得所述电子执行如权利要求1-7中一个或多个所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910483039.6A CN112035849B (zh) | 2019-06-04 | 2019-06-04 | 一种数据处理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910483039.6A CN112035849B (zh) | 2019-06-04 | 2019-06-04 | 一种数据处理方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035849A CN112035849A (zh) | 2020-12-04 |
CN112035849B true CN112035849B (zh) | 2024-05-03 |
Family
ID=73576097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910483039.6A Active CN112035849B (zh) | 2019-06-04 | 2019-06-04 | 一种数据处理方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035849B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3264314A1 (en) * | 2016-06-30 | 2018-01-03 | Huawei Technologies Co., Ltd. | System and method for searching over encrypted data |
CN108989287A (zh) * | 2018-06-13 | 2018-12-11 | 平安科技(深圳)有限公司 | 加密方法、装置、终端设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7395437B2 (en) * | 2004-01-05 | 2008-07-01 | International Business Machines Corporation | System and method for fast querying of encrypted databases |
US20140331062A1 (en) * | 2011-10-06 | 2014-11-06 | The Provost, Fellows, Foundation Scholars, and the other members of Board, of the College of the ... | System and apparatus for securely storing data |
US9634838B2 (en) * | 2014-06-05 | 2017-04-25 | International Business Machines Corporation | Complex format-preserving encryption scheme |
US10097522B2 (en) * | 2015-05-21 | 2018-10-09 | Nili Philipp | Encrypted query-based access to data |
-
2019
- 2019-06-04 CN CN201910483039.6A patent/CN112035849B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3264314A1 (en) * | 2016-06-30 | 2018-01-03 | Huawei Technologies Co., Ltd. | System and method for searching over encrypted data |
CN108989287A (zh) * | 2018-06-13 | 2018-12-11 | 平安科技(深圳)有限公司 | 加密方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112035849A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu | Blockchain and the related issues: A review of current research topics | |
JP7095140B2 (ja) | 特徴抽出に基くマルチモデルトレーニング方法及び装置、電子機器と媒体 | |
CN112182644B (zh) | 一种数据处理方法、装置和电子设备 | |
WO2017078986A1 (en) | Diversity analysis with actionable feedback methodologies | |
EP3256949B1 (en) | Multi-party encryption cube processing apparatuses, methods and systems | |
CN111932238B (zh) | 支付账户推荐方法、装置及电子设备 | |
CN112600830B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN112668748B (zh) | 一种预测方法、装置和电子设备 | |
CN111563267A (zh) | 用于联邦特征工程数据处理的方法和装置 | |
CN111292190A (zh) | 交易生成方法、区块创建方法及相关装置、设备 | |
CN113282935A (zh) | 一种基于模型的预测方法、装置和存储介质 | |
CN110580556A (zh) | 数据处理方法及系统、处理器 | |
CN114187000A (zh) | 用于分散私钥的签名方法、设备、存储介质及处理器 | |
CN112035849B (zh) | 一种数据处理方法、装置和电子设备 | |
CN110019182A (zh) | 一种数据追溯方法及装置 | |
CN113055401B (zh) | 一种企业业务的授权处理方法及装置 | |
CN114065641A (zh) | 多分类梯度提升树的构建方法、装置及电子设备 | |
CN114092226A (zh) | 银行网点外汇产品推荐方法及装置 | |
CN109831526B (zh) | 云服务和网络服务协同处理方法、系统及存储介质 | |
CN114579585A (zh) | 区块链选择性世界状态数据库 | |
CN112395623A (zh) | 一种数据处理方法、装置和电子设备 | |
CN111163123A (zh) | 一种服务请求的处理方法及装置 | |
CN112115487B (zh) | 一种数据处理方法、装置和电子设备 | |
CN112035850A (zh) | 一种数据处理方法、装置和电子设备 | |
US9741059B1 (en) | System and method for managing website scripts |
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 |