CN112860738B - 针对多方安全数据库的查询优化方法、装置和系统 - Google Patents
针对多方安全数据库的查询优化方法、装置和系统 Download PDFInfo
- Publication number
- CN112860738B CN112860738B CN202110443996.3A CN202110443996A CN112860738B CN 112860738 B CN112860738 B CN 112860738B CN 202110443996 A CN202110443996 A CN 202110443996A CN 112860738 B CN112860738 B CN 112860738B
- Authority
- CN
- China
- Prior art keywords
- cost
- execution plan
- query
- calculation
- calculation formula
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000005457 optimization Methods 0.000 title claims abstract description 43
- 238000004364 calculation method Methods 0.000 claims abstract description 232
- 239000012634 fragment Substances 0.000 claims description 20
- 230000014509 gene expression Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
- G06F16/24545—Selectivity estimation or determination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Operations Research (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种针对多方安全数据库的查询优化方法、装置和系统。查询优化方法包括,首先,中心设备接收当前查询,并生成该当前查询的多个执行计划;其中,当前查询涉及多个目标数据库。接着,中心设备针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算多个目标数据库联合执行该执行计划所需的执行成本。然后,多个目标数据库对应的多个查询引擎,采用与所述成本计算式对应的目标安全计算方式,执行多方安全计算MPC,得到安全计算结果;于是,中心设备根据安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
Description
技术领域
本说明书一个或多个实施例涉及数据库领域,尤其涉及针对多方安全数据库的查询优化方法和装置。
背景技术
数据库是按照一定数据结构来组织、存储和管理数据的系统。在现今的大数据时代,互联网世界充斥着海量的数据,这些数据具有不同的来源,例如出行记录、消费记录、浏览的网页、发送的消息等等,也具有不同的格式,例如文本、图像、声音,等等。海量数据的存储、管理和查询,都对数据库提出了更高的要求。
为了提高在数据库中查询数据的效率,查询优化是数据查询过程中重要的一个环节。查询优化用于在各种可能的查询执行路径中,寻找到最为高效的执行路径。这个过程中,需要借助于数据库中数据的分布/统计信息。
然而,在多方协同构建的数据库系统中,数据的分布/统计信息有可能泄露某一方的数据隐私。因此,常规的查询优化方案往往不能应用于具有隐私保护要求的数据库系统。
因此,希望提供改进的方案,能够针对具有隐私保护要求的数据库系统,进行有效的查询优化。
发明内容
本说明书一个或多个实施例描述了针对多方安全数据库的查询优化方法、装置和系统,可以在保证各方数据库中数据隐私安全的情况下,进行有效的查询优化。
根据第一方面,提供了一种针对多方安全数据库的查询优化方法,包括:
中心设备接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及多个目标数据库;
所述中心设备针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
所述多个目标数据库对应的多个查询引擎,采用与所述成本计算式对应的目标安全计算方式,执行多方安全计算MPC,得到安全计算结果;
所述中心设备根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
在一个实施例中,生成该当前查询的多个执行计划,具体包括:通过解析所述当前查询,得到对应的关系表达式,所述关系表达式中包括当前查询需要执行的若干逻辑操作;根据所述关系表示式,生成所述多个执行计划,不同执行计划包含所述若干逻辑操作的不同组合方式或不同组合顺序。
在一个实施例中,上述多个执行计划包括第一执行计划,所述第一执行计划包括多个逻辑操作;所述中心设备针对各执行计划,确定出对应的成本计算式,具体包括:对于所述多个逻辑操作中各逻辑操作,所述中心设备根据该逻辑操作对应的多方联合操作的操作方式,确定该逻辑操作的操作成本;基于各逻辑操作对应的操作成本,得到第一执行计划对应的第一成本计算式。
在进一步的示例中,上述多个逻辑操作可以包括,对第一数据库中的第一表和第二数据库中的第二表的连接操作;该连接操作对应的多方联合操作为,第一数据库和第二数据库之间的隐私数据求交PSI操作;在这样的情况下,中心设备可以根据所述PSI操作的操作方式,确定上述连接操作的操作成本。
更进一步的,在一个例子中,PSI操作采用基于电路的PSI协议;在这样的情况下,所述连接操作的操作成本正比于所述第一表的行数和第二表的行数中的较小值。
根据一种实施方式,前述的执行成本包括,多个目标数据库各自的计算资源成本,以及其相互之间的通信成本。
在一种实施方式中,方法还包括:中心设备根据各成本计算式确定所述目标安全计算方式,并将其下发至所述多个查询引擎。
在另一种实施方式中,方法还包括:中心设备将各个成本计算式下发至所述多个查询引擎;所述多个查询引擎根据预设的安全计算策略,确定出所述目标安全计算方式。
在不同实施例中,成本计算式可以包括以下运算中的至少一项:求和运算,相乘运算,取最小值运算,取最大值运算;相应的,所述目标安全计算方式包括以下中的至少一项:多方安全求和运算,多方安全求乘积运算,多方安全求最小值运算,多方安全求最大值运算。
根据一种实施方式,所述安全计算结果为,各个成本计算式中成本值最小的成本计算式的索引编号;此时,中心设备可以将所述索引编号对应的执行计划确定为所述优化执行计划。
在上述实施方式下的一个实施例中,多个查询引擎执行多方安全计算MPC,得到安全计算结果,具体包括:通过MPC计算得到各个成本计算式的密态结果;对各密态结果进行安全比较,得到所述索引编号。
进一步的,在一个示例中,密态结果为,通过秘密分享方式计算得到的成本值分片;此时可以采用安全比较协议,基于各成本计算式对应的成本值分片,确定所述索引编号。
根据另一实施方式,所述安全计算结果为,各个成本计算式的成本值的密态结果;此时,中心设备根据各个密态结果,确定出所述优化执行计划。
进一步的,在一个示例中,密态结果为,通过秘密分享方式计算得到的成本值分片;此时,中心设备可以对多个查询引擎提交的针对同一执行计划的成本值分片进行聚合,得到该同一执行计划的成本值;通过比较各个执行计划的成本值,确定出所述优化执行计划。
在另一示例中,密态结果为,采用所述计算设备的公钥加密的密文成本值;此时,中心设备可以利用所述公钥对应的私钥,对所述密文成本值进行解密,得到明文成本值;通过比较各个执行计划的明文成本值,确定出所述优化执行计划。
根据第二方面,提供了一种针对多方安全数据库的查询优化方法,通过中心设备执行,该方法包括:
接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及多个目标数据库;
针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
从所述多个目标数据库对应的多个查询引擎接收安全计算结果,所述安全计算结果是,所述多个查询引擎采用与所述成本计算式对应的目标安全计算方式执行多方安全计算MPC而得到;
根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
根据第三方面,提供一种用于查询优化的多方安全数据库系统,包括中心设备,以及与所述中心设备连接的至少两个数据库;
所述中心设备配置为,接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及所述至少两个数据库中的多个目标数据库;
所述中心设备还配置为,针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
所述多个目标数据库对应的多个查询引擎配置为,采用与所述成本计算式对应的目标安全计算方式,执行多方安全计算MPC,得到安全计算结果;
所述中心设备还配置为,根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
根据第四方面,提供一种针对多方安全数据库的查询优化装置,部署在多方安全数据库系统的中心设备中,该装置包括:
执行计划生成单元,配置为接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及多个目标数据库;
成本式确定单元,配置为针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
结果接收单元,配置为从所述多个目标数据库对应的多个查询引擎接收安全计算结果,所述安全计算结果是,所述多个查询引擎采用与所述成本计算式对应的目标安全计算方式执行多方安全计算MPC而得到;
优化计划确定单元,配置为根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
根据第五方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面的方法。
根据本说明书实施例提供的方法和装置,针对多方安全数据库,在查询优化过程中,对于备选的各条执行计划,中心设备对多个查询引擎联合执行该执行计划的成本进行分析而得到成本计算式,并使得多个查询引擎通过多方安全计算MPC,协同计算得到成本计算式对应的安全结果,进而根据安全结果确定出最优的执行计划。在整个计算过程中,不会泄露各个数据库的隐私数据,可以满足多方安全数据库中各方数据的隐私保护要求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示意性示出针对数据库的数据查询过程;
图2示出根据一个实施例的多方安全数据库系统的架构图;
图3示出根据一个实施例针对多方安全数据库进行查询优化的流程图;
图4示出在一种实施方式下查询引擎的多方安全计算的示意图;
图5示出在另一种实施方式下查询引擎的多方安全计算的示意图;
图6示出部署在中心设备中的查询优化装置的结构示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如本领域技术人员所知,数据库一般包括查询引擎和数据存储区,数据存储区中存储实际数据,查询引擎则用于执行与查询相关的计算,包括,对查询请求的解析,查询的优化,查询的执行,等等。在查询引擎执行的查询过程中,查询优化是其中重要的一环。
图1示意性示出针对数据库的数据查询过程。该查询过程一般通过查询引擎执行。如图所示,当接收到一条查询请求时,查询引擎首先对其进行解析,然后通过优化器进行查询优化。在该阶段中,优化器针对该查询请求生成多个执行计划EP,又称为查询计划或查询路径,每个执行计划代表执行该查询请求的一种操作方式。然后,优化器对各个执行计划进行执行效率的评估,该评估可以基于多方面的考量,例如,执行计划对磁盘读取的频次,所需时间,计算复杂度,等等。这些因素可以统称为执行成本。一般地,优化器最终会选择执行成本最低的执行计划,作为优化的查询路径。例如,在图1中,优化器从多条查询路径EP1-EP6中选择出加粗线条所示的查询路径EP2。然后,查询引擎就可以根据优化的查询路径,来执行当前的查询请求。
优化器对执行计划的执行成本的分析,往往依赖于数据存储区中数据的分布情况和/或统计情况。例如,假定当前查询请求为:请求从教师数据表A中读出,音乐系教师中年龄大于40岁的教师名字。那么,某条执行计划中可能会包含,从表A中选择“年龄”这一属性的属性值大于40的数据元组(tuple)的选择操作。在估计该选择操作的执行成本时,则会考虑表A中“年龄”这一属性的属性值的分布状况,例如,其均值,分布柱状图(histogram),等等。
需要理解的是,数据的分布/统计情况属于隐私数据。目前,在各种多方交互场景中,隐私数据的保护都成为数据安全的基本要求和重要关注方向。在数据库领域也是如此。
具体的,在数据库领域中,同样存在多方利用各自的数据,共同构建数据库系统的需求。为了解决多方构建的数据库系统的安全问题和隐私保护问题,提出多方安全数据库的概念。图2示出根据一个实施例的多方安全数据库系统的架构图。
如图2所示,多方安全数据库系统包括中心设备10,以及多个参与方数据库,示例性示出为数据库A,数据库B,数据库C,各个数据库具有对应的查询引擎a,b,c。中心设备10用于接收查询请求,对其进行分析,生成查询任务,并将其分发至各个查询引擎;各个查询引擎根据查询任务进行联合查询,最终结果汇总至中心设备10,从而统一对外提供数据查询服务。
需要说明的是,虽然一些已有的分布式数据库系统也会包含多个数据库,但是各个数据库只是部署在不同实体设备中,一般仍然属于同一机构;因此各个数据库之间不需要考虑隐私问题。而在图2所示的多方安全数据库系统中,各个数据库A,B,C可以分属于不同的机构,各个机构可以在对应数据库的数据存储区存储本机构的隐私数据。例如,数据库A可以是支付平台的数据库,其中存储该支付平台的用户支付记录;数据库B可以是银行的数据库,其中存储银行的交易流水数据。如此,在各个查询引擎进行联合查询的过程中,各个数据库之间的交互需要确保数据安全,不泄露本方的隐私数据。
对于图2所示的多方安全数据库系统,查询优化成为一项挑战。常规的查询优化过程由于对数据的分布/统计情况等隐私数据的使用,而难以满足多方安全数据库对隐私保护的要求。
为此,本说明书针对多方安全数据库的场景,描述查询优化的若干实施例。图3示出根据一个实施例针对多方安全数据库进行查询优化的流程图。图3中的中心设备,数据库A,B,C可以与图2所示的相对应。下面结合具体实施例,描述图3流程的具体执行过程。
首先,在步骤31,中心设备接收当前查询Q。该当前查询Q可以是多方安全数据库系统的用户客户端发出的查询,也可以是数据库系统中某个数据库的持有方发出的查询,在此不做限定。
在一个典型实施例中,该当前查询Q采用结构化查询语句SQL实现。当然,在其他实施例中,取决于数据库系统采用的数据结构和支持的查询语言,当前查询Q也可以采用其他相应的语言格式实现。
在一个实施例中,该当前查询Q涉及多个数据库,称为目标数据库。
例如,在查询教师的例子1中,假定数据库A中存储有表A,其中记录有教师的年龄统计;数据库B中存储有表B,其中记录有教师所属的系别统计。假定当前查询Q为,请求根据表A和表B,查询音乐系教师中年龄大于40岁的教师名字。那么,涉及的目标数据库包括数据库A和B。
又例如,在查询用户id的例子2中,假定数据库A,B,C中分别存储有用户信息表A,B,C;当前查询Q为,请求查询三个数据表中id相同的用户。更具体的,该当前查询Q可以表示为以下SQL查询语句:
Select A.id from A,B,C
Where A.id=B.id and Bid=C.id
在该例子2中,涉及的目标数据库为数据库A,B和C。
需要理解,一般地,各个数据库可以预先向中心设备提交其元数据信息,其中描述本数据库中存储有哪些数据表,记录有哪些属性项,等等。如此,中心设备可以基于元数据信息,根据当前查询中指定的数据表,确定出涉及的目标数据库。
接着,在步骤32,中心设备生成该当前查询的多个执行计划。
在一个实施例中,中心设备可以如常规方式对当前查询Q进行解析,基于解析结果,得到对应的关系表达式。具体的,对查询Q的解析可以包括,词法分析和语法分析。通过语法分析,可以将查询语句转换成等价的关系表达式,该关系表达式中包括当前查询需要执行的若干逻辑操作,例如基于属性条件的选择操作,两个数据集的连接(join)操作,等等。然后,基于该关系表达式进行扩展,生成多个执行计划EP,不同执行计划可以包含上述若干逻辑操作的不同组合方式或不同组合顺序。在一个实施例中,执行计划可以表示为逻辑树的形式,其中一个节点对应一项逻辑操作,各项逻辑操作的相对顺序通过节点之间的连接路径示出。
常规技术中已经存在多种扩展原则或等效原则。可以利用这些原则,对关系表达式进行扩展,得到多个具体的执行计划。具体的,常见的扩展原则可以包括以下例子:
原则a)描述了,对数据集E施加两个条件θ1和θ2进行的选择操作,可以分解为先后施加这两个条件θ1和θ2;原则b)描述了,对数据集E先施加条件θ1进行选择,再施加条件θ2进行选择,和先施加条件θ2再施加条件θ1,其结果相等;原则c)描述了,对数据集E1,E2和E3进行join连接时,先对E1和E2进行连接操作,再与E3进行连接,与先对E2和E3进行连接,再与E1进行连接,其结果相等。
需要理解,现有技术中已汇总出多种扩展原则或等效原则,在此不一一枚举。利用这些原则,可以对关系表达式中的逻辑操作进行多种等效的替换、排列、组合,从而扩展出多种等效的执行计划EP。
例如,对于前述查询用户id的例子,其关系表达式中可以包含对三个数据表A,B,C的连接join操作。基于前述的等效原则c),可以至少扩展得到以下3个执行计划:
EP1:先对表A和表B进行join操作,其结果再和表C进行join;
EP2:先对表B和表C进行join操作,其结果再和表A进行join;
EP3:先对表A和表C进行join操作,其结果再和表B进行join。
基于得到的多个执行计划,接下来,在步骤33,中心设备针对各执行计划,确定出对应的成本计算式。成本计算式又可称为成本函数CostFunction,用于计算执行计划对应的执行成本。不过不同于常规技术的是,在多方安全数据库系统中,任意一条执行计划一旦被确定为优化查询路径,该执行路径后续将由多个目标数据库采用隐私保护的安全方式联合执行。因此,对于任意一条执行计划,对应的成本计算式需要计算出,多个目标数据库联合执行该执行计划所需的执行成本。在一个实施例中,该执行成本至少包括,在多方联合执行过程中,多个目标数据库各自的计算资源成本,以及其相互之间的通信成本。
具体的,对于任意一个执行计划EPi,假定其中包括多个逻辑操作O1O2…On。那么,对于其中任意逻辑操作Oi,中心设备根据该逻辑操作Oi对应的多方联合操作的操作方式,确定该逻辑操作Oi的操作成本;然后,基于各逻辑操作对应的操作成本和该执行计划EPi中各项逻辑操作的关系,得到该执行计划EPi对应的成本计算式CFi。
以前述针对用户id查询得到的3个执行计划中的第一个执行计划EP1为例进行说明。如前所述,EP1中包含2个步骤的逻辑操作:第一步为表A和表B的join操作,第二步是第一步join的结果和表C的join操作。对于涉及两个数据库的join操作,其对应的多方联合操作为,两个数据库之间的隐私数据求交PSI操作。因此,中心设备根据数据库A和数据库B之间PSI操作的操作方式,确定第一步join操作的操作成本。类似的,根据数据库A,B,C之间PSI操作的操作方式,确定第二步join操作的操作成本,进而得到EP1的成本计算式CF1。
更具体的,多个数据库之间进行PSI操作可以有多种操作方式,例如,采用双加密方式进行PSI操作,采用基于电路的PSI协议进行PSI操作,等等,各种操作方式的操作成本可以有所不同。
在一个例子中,当数据库A和数据库B采用基于电路的PSI协议进行表A和表B的PSI操作时,经过估计,其操作成本正比于表A的行数|A|和表B的行数|B|中的较小值,即min(|A|,|B|)。该操作成本,是基于所采用的PSI协议的计算复杂度得出的,是对数据库A和数据库B所需的计算资源以及通信成本的总体衡量。类似的,当EP1中第二步的逻辑操作也采用同样的PSI协议时,其操作成本为min(min(|A|,|B|),|C|)。
由此可以得到,执行计划EP1对应的成本计算式CF1为:
CF1=min(|A|,|B|)+min(min(|A|,|B|),|C|)
=min(|A|,|B|)+min(|A|,|B|,|C|)(1)
类似的,执行计划EP2对应的成本计算式CF2为:
CF2=min(|B|,|C|)+min(|A|,|B|,|C|)(2)
需要说明的是,以上具体的成本计算式仅为示例。在其他例子中,备选的执行计划可以包含其他逻辑操作,例如根据属性值的选择操作,合并操作,等等,相应的,各个逻辑操作可以具有对应的多种多方联合操作的操作方式,从而具有不同的操作成本估计,如此,得到的成本计算式可以具有各种计算形式。例如,除了公式(1)和(2)示例性示出的取最小值运算,求和运算,其他成本计算式还可能包含其他运算,例如取最大值运算,相乘运算,等等。在此不一一枚举。
在一个实施例中,中心设备在确定出各执行计划对应的各成本计算式后,在步骤34,根据各成本计算式确定目标安全计算方式,该目标安全计算方式是涉及的多个目标数据库对应的多个查询引擎可以安全地共同进行成本计算的方式。取决于成本计算式中包含的运算类型,目标安全计算方式可以包含若干种已有的多方安全计算MPC方式。
例如,如公式(1)所示的成本计算式包含求和运算,取最小值运算。那么,中心设备可以确定出,多个查询引擎应采用的目标安全计算方式包括,多方安全求和运算,多方安全求最小值运算。在成本计算式中包含例如相乘运算,取最大值运算的情况下,目标安全计算方式相应需要包含,多方安全乘积运算,多方安全求最大值运算,等等。中心设备还可以进一步指定各种多方安全运算所采用的具体协议,例如利用秘密分享进行安全求和的协议,利用同态加密进行安全相乘的协议,等等。
在确定出上述目标安全计算方式后,中心设备可以将其下发至多个查询引擎,以供其直接使用。
在另一个实施例中,中心设备也可以将各个成本计算式直接下发至上述多个查询引擎。该多个查询引擎可以根据预先约定或设定好的安全计算策略,确定出应采用的目标安全计算方式。上述安全计算策略例如可以预先以配置文件的方式,配置到各个查询引擎,其中可以包含,对于成本计算式中可能包含的各种运算应采用何种安全运算协议的约定。如此,各个查询引擎可以根据安全计算策略,确定出各个成本计算式对应的目标安全计算方式。
以上通过多种方式,多个目标数据库中的多个查询引擎,获得或确定出应采用的目标安全计算方式。于是,接下来,在步骤35,该多个查询引擎采用上述目标安全计算方式,执行多方安全计算MPC,得到安全计算结果,并将其返回至中心设备。在步骤36,中心设备根据该安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
上述步骤35-36可以有多种实施方式。
图4示出在一种实施方式下查询引擎的多方安全计算的示意图。在图4的实施例中,查询引擎返回给中心设备的安全计算结果为,各个成本计算式中成本值最小的成本计算式的索引编号。为此,在步骤351-1,各个查询引擎通过MPC计算得到各个成本计算式的密态结果;然后,在步骤352-1,各个查询引擎对各密态结果进行安全比较,得到成本值最小的成本计算式的索引编号。
具体的,在一个实施例中,在步骤351-1,各个查询引擎采用基于秘密分享的MPC方式,计算得到各个成本计算式的密态结果,即秘密分享下计算得到的成本值分片。例如,对于前述成本计算式CF1,查询引擎a计算得到成本值分片<cost1>A,查询引擎b计算得到成本值分片<cost1>B,查询引擎c计算得到成本值分片<cost1>C。三个分片合并起来才可以恢复出成本计算式CF1的成本值cost1,而每一方根据其分片并不能获得其他方的隐私信息。对于其他成本计算式,也可以类似处理。然后,在步骤352-1,各个查询引擎采用安全比较协议,基于各成本计算式对应的成本值分片,确定索引编号。已存在一些安全比较协议,适用于秘密分享下基于分片对分片总和的安全比较。对两组分片采用这样的安全比较协议,可以直接返回得到,总和较小的分片组的序号。如此,通过采用这样的安全比较协议,对各个成本计算式对应的成本值分片的组进行比较,可以返回得到成本值最小的成本计算式的索引编号。
例如,对于前述的成本计算式CF1和CF2进行多方安全计算,如果表A的行数|A|小于表B和表C的行数,那么通过安全比较可以直接返回成本计算式CF1的索引编号1。
在其他例子中,步骤351-1得到的密态结果还可以是其他形式的密态结果,例如同态加密形式。然后在步骤352-1,各个查询引擎采用该形式下可用的安全比较协议,可以直接得到成本值最小的成本计算式的索引编号。
于是,在步骤353-1,各个查询引擎,或者其中之一,将上述索引编号返回给中心设备。
接着,在步骤36,中心设备直接将索引编号对应的执行计划确定为优化执行计划。例如,延续之前的用户id查找的例子,如果在该步骤中,中心设备接收到索引编号1,那么,就可以将执行计划EP1确定为优化执行计划。
可以看到,在图4所示的实施方式中,通过多方安全计算直接得到成本值最低的索引编号,整个计算过程中,索引编号是唯一明文,各个查询引擎以及中心设备,都无法获得其他方的任何隐私数据明文,从而具有极强的隐私保护强度。
图5示出在另一种实施方式下查询引擎的多方安全计算的示意图。在图5的实施例中,查询引擎将成本计算式的密态结果返回给中心设备。具体的,在步骤351-2,各个查询引擎通过MPC计算得到各个成本计算式的密态结果。该步骤的具体执行过程,可以与图4的351-1相似。该密态结果可以是秘密分享下的成本值分片,同态加密的密文结果,或其他密态形式。然后在步骤352-2,各个查询引擎将其得到的密态结果返回给中心设备。
相应的,中心设备根据各个查询引擎返回的各个密态结果,确定出优化执行计划。具体的,在步骤361,中心设备根据各个密态结果,恢复出各个成本计算式的成本值;在步骤362,通过成本值比对,确定出优化执行计划。
具体的,在一个例子中,上述密态结果为,通过秘密分享方式计算得到的成本值分片。相应的,在步骤361,中心设备对多个查询引擎提交的针对同一执行计划的成本值分片进行聚合,得到该同一执行计划的成本值;在步骤362,通过比较各个执行计划的成本值,确定出优化执行计划。
在另一例子中,上述密态结果为,采用计算设备的公钥加密的密文成本值。在这样的情况下,在步骤361,中心设备可以利用所述公钥对应的私钥,对密文成本值进行解密,得到明文成本值;在步骤362,通过比较各个执行计划的明文成本值,确定出优化执行计划。
由此可以看到,在图5的实施方式中,各个查询引擎将密态结果汇总至中心设备,由中心设备根据汇总结果确定出优化执行计划。该计算过程中,各个查询引擎仍然无法获知其他方的隐私数据,中心设备只能获知最终成本值,不能获知各个数据库的隐私数据,可以满足基本的隐私保护需要。并且,中心式的计算相对于多方安全比较,计算效率更高。因此,在中心设备为可信设备的情况下,可以采用图5的实施方式。
综合以上,在本说明书的实施例中,针对多方安全数据库,在查询优化过程中,对于备选的各条执行计划,中心设备对多个查询引擎联合执行该执行计划的成本进行分析而得到成本计算式,并使得多个查询引擎通过多方安全计算MPC,协同计算得到成本计算式对应的安全结果,进而根据安全结果确定出最优的执行计划。在整个计算过程中,不会泄露各个数据库的隐私数据,可以满足多方安全数据库中各方数据的隐私保护要求。
根据另一方面的实施例,本说明书提供了一种用于查询优化的多方安全数据库系统,包括中心设备,以及与中心设备连接的至少两个数据库。该多方安全数据库系统的架构可以如图2所示。为了实现查询优化,对上述多方安全数据库系统进行如下的配置:
中心设备配置为,接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及所述至少两个数据库中的多个目标数据库;
该中心设备还配置为,针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
所述多个目标数据库对应的多个查询引擎配置为,采用与所述成本计算式对应的目标安全计算方式,执行多方安全计算MPC,得到安全计算结果;
上述中心设备还配置为,根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
根据又一方面的实施例,本说明书实施例还提供了一种针对多方安全数据库的查询优化装置,部署在多方安全数据库系统的中心设备中,其中,该中心设备可以体现为任何具有计算、处理能力的计算设备、平台或集群。图6示出部署在中心设备中的查询优化装置的结构示意图。如图6所示,该查询优化装置600包括:
执行计划生成单元61,配置为接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及多个目标数据库;
成本式确定单元62,配置为针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
结果接收单元63,配置为从所述多个目标数据库对应的多个查询引擎接收安全计算结果,所述安全计算结果是,所述多个查询引擎采用与所述成本计算式对应的目标安全计算方式执行多方安全计算MPC而得到;
优化计划确定单元64,配置为根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
在一个实施例中,上述执行成本包括,多个目标数据库各自的计算资源成本,以及其相互之间的通信成本。
根据一个实施例,装置600还可以包括计算方式确定单元(未示出),配置为,根据各成本计算式确定所述目标安全计算方式,并将其下发至所述多个查询引擎。
在一种实施方式中,所述结果接收单元63接收的安全计算结果为,各个成本计算式中成本值最小的成本计算式的索引编号;优化计划确定单元64配置为,将所述索引编号对应的执行计划确定为所述优化执行计划。
在另一种实施方式中,所述结果接收单元63接收的安全计算结果为,各个成本计算式的成本值的密态结果;优化计划确定单元64配置为,根据各个密态结果,确定出所述优化执行计划。
进一步的,在一个实施例中,上述密态结果为,通过秘密分享方式计算得到的成本值分片;优化计划确定单元64配置为,对所述多个查询引擎提交的针对同一执行计划的成本值分片进行聚合,得到该同一执行计划的成本值;通过比较各个执行计划的成本值,确定出所述优化执行计划。
在另一实施例中,所述密态结果为,采用所述计算设备的公钥加密的密文成本值;优化计划确定单元64配置为,利用所述公钥对应的私钥,对所述密文成本值进行解密,得到明文成本值;通过比较各个执行计划的明文成本值,确定出所述优化执行计划。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (25)
1.一种针对多方安全数据库的查询优化方法,包括:
中心设备接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及多个目标数据库;
所述中心设备针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
所述多个目标数据库对应的多个查询引擎,采用与所述成本计算式对应的目标安全计算方式,执行多方安全计算MPC,得到所述成本计算式对应的安全计算结果;
所述中心设备根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
2.根据权利要求1所述的方法,其中,生成该当前查询的多个执行计划,包括:
通过解析所述当前查询,得到对应的关系表达式,所述关系表达式中包括当前查询需要执行的若干逻辑操作;
根据所述关系表达式,生成所述多个执行计划,不同执行计划包含所述若干逻辑操作的不同组合方式或不同组合顺序。
3.根据权利要求1所述的方法,其中,所述多个执行计划包括第一执行计划,所述第一执行计划包括多个逻辑操作;
所述中心设备针对各执行计划,确定出对应的成本计算式,包括:
对于所述多个逻辑操作中各逻辑操作,所述中心设备根据该逻辑操作对应的多方联合操作的操作方式,确定该逻辑操作的操作成本;
基于各逻辑操作对应的操作成本,得到第一执行计划对应的第一成本计算式。
4.根据权利要求3所述的方法,其中,所述多个逻辑操作包括,对第一数据库中的第一表和第二数据库中的第二表的连接操作;所述连接操作对应的多方联合操作为,第一数据库和第二数据库之间的隐私数据求交PSI操作;
所述中心设备根据该逻辑操作对应的多方联合操作的操作方式,确定该逻辑操作的操作成本,具体包括:根据所述PSI操作的操作方式,确定上述连接操作的操作成本。
5.根据权利要求4所述的方法,其中,所述PSI操作采用基于电路的PSI协议,所述连接操作的操作成本正比于所述第一表的行数和第二表的行数中的较小值。
6.根据权利要求1所述的方法,其中,所述执行成本包括,所述多个目标数据库各自的计算资源成本,以及其相互之间的通信成本。
7.根据权利要求1所述的方法,还包括:所述中心设备根据各成本计算式确定所述目标安全计算方式,并将其下发至所述多个查询引擎。
8.根据权利要求1所述的方法,还包括:
所述中心设备将各个成本计算式下发至所述多个查询引擎;
所述多个查询引擎根据预设的安全计算策略,确定出所述目标安全计算方式。
9.根据权利要求1所述的方法,其中,所述成本计算式包括以下运算中的至少一项:求和运算,相乘运算,取最小值运算,取最大值运算;
所述目标安全计算方式包括以下中的至少一项:多方安全求和运算,多方安全求乘积运算,多方安全求最小值运算,多方安全求最大值运算。
10.根据权利要求1所述的方法,其中,所述安全计算结果为,各个成本计算式中成本值最小的成本计算式的索引编号;
确定出各个成本计算式中成本值最低的优化执行计划,包括:
将所述索引编号对应的执行计划确定为所述优化执行计划。
11.根据权利要求10所述的方法,其中,执行多方安全计算MPC,得到安全计算结果,具体包括:
通过MPC计算得到各个成本计算式的密态结果;
对各密态结果进行安全比较,得到所述索引编号。
12.根据权利要求11所述的方法,其中,所述密态结果为,通过秘密分享方式计算得到的成本值分片;
所述对各密态结果进行安全比较,包括:采用安全比较协议,基于各成本计算式对应的成本值分片,确定所述索引编号。
13.根据权利要求1所述的方法,其中,所述安全计算结果为,各个成本计算式的成本值的密态结果;
确定出各个成本计算式中成本值最低的优化执行计划,包括:
根据各个密态结果,确定出所述优化执行计划。
14.根据权利要求13所述的方法,其中,所述密态结果为,通过秘密分享方式计算得到的成本值分片;
所述根据各个密态结果,确定出所述优化执行计划,包括:对所述多个查询引擎提交的针对同一执行计划的成本值分片进行聚合,得到该同一执行计划的成本值;通过比较各个执行计划的成本值,确定出所述优化执行计划。
15.根据权利要求13所述的方法,其中,所述密态结果为,采用所述中心设备的公钥加密的密文成本值;
所述根据各个密态结果,确定出所述优化执行计划,包括:利用所述公钥对应的私钥,对所述密文成本值进行解密,得到明文成本值;通过比较各个执行计划的明文成本值,确定出所述优化执行计划。
16.一种针对多方安全数据库的查询优化方法,通过中心设备执行,该方法包括:
接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及多个目标数据库;
针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
从所述多个目标数据库对应的多个查询引擎接收成本计算式对应的安全计算结果,所述安全计算结果是,所述多个查询引擎采用与所述成本计算式对应的目标安全计算方式执行多方安全计算MPC而得到;
根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
17.根据权利要求16所述的方法,其中,所述执行成本包括,所述多个目标数据库各自的计算资源成本,以及其相互之间的通信成本。
18.根据权利要求16所述的方法,还包括:
根据各成本计算式确定所述目标安全计算方式,并将其下发至所述多个查询引擎。
19.根据权利要求16所述的方法,其中,所述安全计算结果为,各个成本计算式中成本值最小的成本计算式的索引编号;
所述确定出各个成本计算式中成本值最低的优化执行计划,包括:
将所述索引编号对应的执行计划确定为所述优化执行计划。
20.根据权利要求16所述的方法,其中,所述安全计算结果为,各个成本计算式的成本值的密态结果;
所述确定出各个成本计算式中成本值最低的优化执行计划,包括:
根据各个密态结果,确定出所述优化执行计划。
21.根据权利要求20所述的方法,其中,所述密态结果为,通过秘密分享方式计算得到的成本值分片;
所述根据各个密态结果,确定出所述优化执行计划,包括:对所述多个查询引擎提交的针对同一执行计划的成本值分片进行聚合,得到该同一执行计划的成本值;通过比较各个执行计划的成本值,确定出所述优化执行计划。
22.根据权利要求20所述的方法,其中,所述密态结果为,采用所述中心设备的公钥加密的密文成本值;
所述根据各个密态结果,确定出所述优化执行计划,包括:利用所述公钥对应的私钥,对所述密文成本值进行解密,得到明文成本值;通过比较各个执行计划的明文成本值,确定出所述优化执行计划。
23.一种用于查询优化的多方安全数据库系统,包括中心设备,以及与所述中心设备连接的至少两个数据库;
所述中心设备配置为,接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及所述至少两个数据库中的多个目标数据库;
所述中心设备还配置为,针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
所述多个目标数据库对应的多个查询引擎配置为,采用与所述成本计算式对应的目标安全计算方式,执行多方安全计算MPC,得到所述成本计算式对应的安全计算结果;
所述中心设备还配置为,根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
24.一种针对多方安全数据库的查询优化装置,部署在多方安全数据库系统的中心设备中,该装置包括:
执行计划生成单元,配置为接收当前查询,并生成该当前查询的多个执行计划;其中,所述当前查询涉及多个目标数据库;
成本式确定单元,配置为针对各执行计划,确定出对应的成本计算式,所述成本计算式用于计算所述多个目标数据库联合执行该执行计划所需的执行成本;
结果接收单元,配置为从所述多个目标数据库对应的多个查询引擎接收成本计算式对应的安全计算结果,所述安全计算结果是,所述多个查询引擎采用与所述成本计算式对应的目标安全计算方式执行多方安全计算MPC而得到;
优化计划确定单元,配置为根据所述安全计算结果,确定出各个成本计算式中成本值最低的优化执行计划。
25.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求16-22中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110443996.3A CN112860738B (zh) | 2021-04-23 | 2021-04-23 | 针对多方安全数据库的查询优化方法、装置和系统 |
PCT/CN2022/086531 WO2022222813A1 (zh) | 2021-04-23 | 2022-04-13 | 针对多方安全数据库的查询优化的方法、装置和系统 |
US18/492,456 US20240054129A1 (en) | 2021-04-23 | 2023-10-23 | Query optimization methods, apparatuses, and systems for secure multi-party database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110443996.3A CN112860738B (zh) | 2021-04-23 | 2021-04-23 | 针对多方安全数据库的查询优化方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860738A CN112860738A (zh) | 2021-05-28 |
CN112860738B true CN112860738B (zh) | 2021-08-06 |
Family
ID=75992825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110443996.3A Active CN112860738B (zh) | 2021-04-23 | 2021-04-23 | 针对多方安全数据库的查询优化方法、装置和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240054129A1 (zh) |
CN (1) | CN112860738B (zh) |
WO (1) | WO2022222813A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860738B (zh) * | 2021-04-23 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 针对多方安全数据库的查询优化方法、装置和系统 |
CN114328504A (zh) * | 2021-08-27 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据联合查询方法、装置、设备及计算机可读存储介质 |
CN113868295A (zh) * | 2021-09-18 | 2021-12-31 | 支付宝(杭州)信息技术有限公司 | 数据查询方法、装置及多方安全数据库 |
CN113742370B (zh) * | 2021-11-02 | 2022-04-19 | 阿里云计算有限公司 | 全加密数据库的数据查询方法、统计信息密文生成方法 |
CN114090638B (zh) * | 2022-01-20 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联合数据查询方法及装置 |
CN114844772A (zh) * | 2022-05-06 | 2022-08-02 | 上海欣诺通信技术股份有限公司 | 一种基于Zabbix监控平台的管理方法及系统 |
CN115017184B (zh) * | 2022-08-10 | 2022-11-08 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种数据查询方法、装置、介质及设备 |
CN117251871B (zh) * | 2023-11-16 | 2024-03-01 | 支付宝(杭州)信息技术有限公司 | 针对密态数据库的数据处理方法和系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739398A (zh) * | 2008-11-11 | 2010-06-16 | 山东省标准化研究院 | 分布式数据库多连接查询优化算法 |
US10664604B2 (en) * | 2015-12-03 | 2020-05-26 | Unbound Tech Ltd. | Securing SQL based databases with cryptographic protocols |
US11120021B2 (en) * | 2017-01-11 | 2021-09-14 | Facebook, Inc. | Systems and methods for optimizing queries |
US10515077B2 (en) * | 2017-06-14 | 2019-12-24 | Microsoft Technology Licensing, Llc | Execution optimization of database statements involving encrypted data |
CN111737011B (zh) * | 2020-07-31 | 2021-01-29 | 支付宝(杭州)信息技术有限公司 | 安全多方计算的实现方法和装置 |
CN111767304B (zh) * | 2020-09-01 | 2020-12-08 | 北京安帝科技有限公司 | 一种跨数据库的数据查询方法、查询装置及可读介质 |
CN112329072B (zh) * | 2020-12-31 | 2021-03-30 | 支付宝(杭州)信息技术有限公司 | 一种基于安全多方计算的模型联合训练方法 |
CN112860738B (zh) * | 2021-04-23 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 针对多方安全数据库的查询优化方法、装置和系统 |
-
2021
- 2021-04-23 CN CN202110443996.3A patent/CN112860738B/zh active Active
-
2022
- 2022-04-13 WO PCT/CN2022/086531 patent/WO2022222813A1/zh active Application Filing
-
2023
- 2023-10-23 US US18/492,456 patent/US20240054129A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112860738A (zh) | 2021-05-28 |
WO2022222813A1 (zh) | 2022-10-27 |
US20240054129A1 (en) | 2024-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860738B (zh) | 针对多方安全数据库的查询优化方法、装置和系统 | |
US7685437B2 (en) | Query optimization in encrypted database systems | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
Liu et al. | Secure and efficient skyline queries on encrypted data | |
WO2022099495A1 (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
Emekci et al. | Dividing secrets to secure data outsourcing | |
Hadavi et al. | Security and searchability in secret sharing-based data outsourcing | |
Azraoui et al. | Publicly verifiable conjunctive keyword search in outsourced databases | |
Andola et al. | Searchable encryption on the cloud: a survey | |
Akavia et al. | Secure search on encrypted data via multi-ring sketch | |
Li et al. | PRISM: Private verifiable set computation over multi-owner outsourced databases | |
Kamel et al. | Dynamic spatial index for efficient query processing on the cloud | |
Zhang et al. | Efficient and privacy-preserving spatial keyword similarity query over encrypted data | |
Zhang et al. | Efficient and secure skyline queries over vertical data federation | |
Liu et al. | Distributed and deep vertical federated learning with big data | |
Yuan et al. | Flexible and publicly verifiable aggregation query for outsourced databases in cloud | |
Gan et al. | Enabling online/offline remote data auditing for secure cloud storage | |
Zhang et al. | Towards efficient and privacy-preserving interval skyline queries over time series data | |
Roy Chowdhury et al. | Strengthening order preserving encryption with differential privacy | |
Manasrah et al. | An investigation study of privacy preserving in cloud computing environment | |
Gupta et al. | Obscure: Information-theoretically secure, oblivious, and verifiable aggregation queries on secret-shared outsourced data | |
Tang et al. | An effective encrypted scheme over outsourcing data for query on cloud platform | |
He et al. | An efficient ciphertext retrieval scheme based on homomorphic encryption for multiple data owners in hybrid cloud | |
Samanthula | Privacy-preserving outsourced collaborative frequent itemset mining in the cloud | |
Zheng et al. | Efficient and Privacy-Preserving Spatial-Feature-Based Reverse kNN Query |
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 |