数据处理系统、方法、数据库引擎及用于数据处理的装置

文档序号:168716 发布日期:2021-10-29 浏览:14次 >En<

阅读说明:本技术 数据处理系统、方法、数据库引擎及用于数据处理的装置 (Data processing system, method, database engine and device for data processing ) 是由 西方 于 2021-06-24 设计创作,主要内容包括:本发明实施例提供一种数据处理系统、方法、数据库引擎及用于数据处理的装置。其中,通过将数据库引擎接入MPC平台,在数据库引擎作为数据查询方的情况下,数据查询方可以从本端用户设备发送的数据查询请求中获取待查询项的属性信息,属性信息用于表明待查询项是明文执行还是密文执行。根据待查询项的属性信息将数据查询请求拆分为明文查询任务和/或密文查询任务,并将明文查询任务和/或密文查询任务发送给MPC平台。通过MPC平台将明文查询任务发送给对应的数据库引擎,以及将密文查询任务发送给对应的密文计算设备,从而实现明文、密文的混合查询,使得数据库引擎具备明密文混合查询的能力,提高了数据库引擎的处理能力。(The embodiment of the invention provides a data processing system, a data processing method, a database engine and a data processing device. The database engine is connected to the MPC platform, and under the condition that the database engine is used as a data inquiring party, the data inquiring party can acquire the attribute information of the item to be inquired from the data inquiring request sent by the home terminal user equipment, wherein the attribute information is used for indicating whether the item to be inquired is executed in a plaintext or in a ciphertext. And splitting the data query request into a plaintext query task and/or a ciphertext query task according to the attribute information of the item to be queried, and sending the plaintext query task and/or the ciphertext query task to the MPC platform. The database engine has the advantages that the plaintext query task is sent to the corresponding database engine through the MPC platform, and the ciphertext query task is sent to the corresponding ciphertext computing device, so that mixed query of plaintext and ciphertext is achieved, the database engine has the capacity of mixed query of plaintext and ciphertext, and the processing capacity of the database engine is improved.)

数据处理系统、方法、数据库引擎及用于数据处理的装置

技术领域

本发明涉及网络技术领域,尤其涉及一种数据处理系统、方法、数据库引擎及用于数据处理的装置。

背景技术

目前,数据库引擎因为其简单标准的接口语言和强大灵活的数据处理和存取能力得到了广泛应用。例如,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库引擎,几乎所有的软件系统里都有数据库引擎的存在。

但是,目前的数据库引擎往往只具备明文数据处理的能力,仅能直接查询本地的数据,存在处理能力较弱的问题。

发明内容

本发明实施例提供一种数据处理系统、方法、数据库引擎及用于数据处理的装置,使得数据库引擎具备明密文混合查询的能力,提高了数据库引擎的处理能力。

为了解决上述问题,本发明实施例公开了一种数据处理系统,所所述数据处理系统包括多方安全计算MPC平台以及接入所述MPC平台的至少两个数据库引擎;

其中,在所述至少两个数据库引擎中的任一数据库引擎作为数据查询方的情况下,所述数据查询方,用于接收本端用户设备发送的数据查询请求;

所述数据查询方,还用于从所述数据查询请求中获取待查询项的属性信息,所述属性信息用于表明所述待查询项是明文执行还是密文执行;

所述数据查询方,还用于根据所述待查询项的属性信息将所述数据查询请求拆分为明文查询任务和/或密文查询任务;

所述数据查询方,还用于将所述明文查询任务和/或密文查询任务发送给所述MPC平台;

所述MPC平台,用于将所述明文查询任务发送给对应的数据库引擎,以及将所述密文查询任务发送给对应的密文计算设备。

另一方面,本发明实施例公开了一种数据处理方法,所述方法应用于数据处理系统中的数据库引擎,所述方法包括:

接收本端用户设备发送的数据查询请求;

从所述数据查询请求中获取待查询项的属性信息,所述属性信息用于表明所述待查询项是明文执行还是密文执行;

根据所述待查询项的属性信息将所述数据查询请求拆分为明文查询任务和/或密文查询任务;

将所述明文查询任务和/或密文查询任务发送给数据处理系统中的MPC平台,以便所述MPC平台将所述明文查询任务发送给对应的数据库引擎,以及将所述密文查询任务发送给对应的密文计算设备。

再一方面,本发明实施例公开了一种用于数据处理的装置,包括有存储器,以及一个或者一个以上程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于如前述一个或多个所述的数据处理方法的指令。

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

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

通过将数据库引擎接入MPC平台,在数据库引擎作为数据查询方的情况下,数据查询方可以从本端用户设备发送的数据查询请求中获取待查询项的属性信息,属性信息用于表明待查询项是明文执行还是密文执行。根据待查询项的属性信息将数据查询请求拆分为明文查询任务和/或密文查询任务,并将明文查询任务和/或密文查询任务发送给MPC平台。最后,通过MPC平台将明文查询任务发送给对应的数据库引擎,以及将密文查询任务发送给对应的密文计算设备,从而实现明文、密文的混合查询。相较于现有方式中数据库引擎仅能进行本地明文查询的情况,本发明实施例提供的数据处理系统中,使得数据库引擎具备明密文混合查询的能力,提高了数据库引擎的处理能力。

进一步地,相较于需要额外部署单独的组件来实现联合的密文查询计算的方式,本发明实施例中基于已有的MPC平台,扩展现有数据库引擎的能力,即可使数据库引擎能够提供用于明密文混合查询计算的能力,从而较大程度扩展现有数据库系统的能力,方便现有数据库系统无缝接入MPC平台。

附图说明

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

图1是本发明的一种数据处理系统实施例的结构示意图;

图2是本发明实施例提供的一种数据库引擎架构部分示意图;

图3是本发明实施例提供的一种处理架构示意图;

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

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

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

具体实施方式

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

系统实施例

参照图1,示出了本发明的一种数据处理系统实施例的结构示意图,该所述数据处理系统00可以包括多方安全计算(Secure Multi-Party Computation,MPC)平台001以及接入所述MPC平台001的至少两个数据库引擎002。其中,数据库引擎002可以表征一个结构化查询语言(Structured Query Language,SQL)数据库、数据库系统,接入MPC平台001的任一数据库引擎002可以作为数据查询方,以进行数据查询处理。数据库引擎002可以与MPC平台001通信连接,数据库引擎002可以预先注册至MPC平台001,以实现接入。

具体的,在所述至少两个数据库引擎002中的任一数据库引擎002作为数据查询方的情况下,所述数据查询方,用于接收本端用户设备发送的数据查询请求。其中,本端用户设备可以是该数据查询方管理的任一设备,本端用户设备可以是电脑、手机、便携式计算设备,等等。数据查询请求可以是本端用户设备需要进行数据查询时发送的,数据查询请求可以用于指示数据查询方对数据查询请求中的待查询项进行查询。待查询项可以用于查询数据库引擎持有的数据中的特定数据,例如,所有用户ID中收入大于5000的用户ID。

所述数据查询方,还用于从所述数据查询请求中获取待查询项的属性信息,所述属性信息用于表明所述待查询项是明文执行还是密文执行。根据所述待查询项的属性信息将所述数据查询请求拆分为明文查询任务和/或密文查询任务。将所述明文查询任务和/或密文查询任务发送给所述MPC平台001。所述MPC平台001,用于将所述明文查询任务发送给对应的数据库引擎,以及将所述密文查询任务发送给对应的密文计算设备。

本发明实施例中,通过将数据库引擎接入MPC平台,在数据库引擎作为数据查询方的情况下,数据查询方可以从本端用户设备发送的数据查询请求中获取待查询项的属性信息,属性信息用于表明待查询项是明文执行还是密文执行。根据待查询项的属性信息将数据查询请求拆分为明文查询任务和/或密文查询任务,并将明文查询任务和/或密文查询任务发送给MPC平台。最后,通过MPC平台将明文查询任务发送给对应的数据库引擎,以及将密文查询任务发送给对应的密文计算设备,从而实现明文、密文的混合查询。相较于现有方式中数据库引擎仅能进行本地明文查询的情况,本发明实施例提供的数据处理系统中,使得数据库引擎具备明密文混合查询的能力,提高了数据库引擎的处理能力。

和已有的联邦数据库查询相比,本发明不需要将所有参与方的数据汇聚到一方,造成数据泄漏,实现了可以在有效保证各方数据隐私的情况下,实现多方数据的联合查询。

待查询项所属数据库引擎可以是持有待查询项对应的数据的数据库引擎。示例的,假设待查询项A为数据表1,待查询项B为数据表2。其中,数据表1被数据库引擎sql-c1持有,数据表2被数据库引擎sql-c2持有,那么待查询项A所属数据库引擎可以为sql-c1,待查询项B所属数据库引擎可以为sql-c2。

在一种实现方式中,数据查询方,可以具体用于:通过待查询项中添加的关键字来获取属性信息。其中,待查询项中添加的关键字可以是通过本端用户设备添加的,待查询项中添加的关键字可以通过数据查询请求发送至数据查询方。不同的关键字可以表征不同的属性信息的,示例的,可以以关键字“AA”表征明文执行的属性信息,以关键字“BB”表征密文执行的属性信息。当然,也可以采用其他形式的关键字,本发明实施例对此不作限制。相应地,可以直接将待查询项中添加的关键字作为属性信息,或者,根据待查询项中添加的关键字,选择该关键字所表征的属性信息,以实现获取属性信息的操作。本发明实施例中,通过在待查询项中添加关键字,数据查询方直接根据待查询项中添加的关键字,即可实现获取属性信息的操作,从而一定程度上可以确保属性信息获取效率。

或者,在另一种实现方式中,数据查询方可以具体用于:通过待查询项中携带的待查询项所属数据库引擎信息,获取属性信息。其中,待查询项中携带的待查询项所属数据库引擎信息可以通过本端用户设备添加,待查询项中携带的待查询项所属数据库引擎信息可以通过数据查询请求发送至数据查询方。待查询项所属数据库引擎信息可以用于表征待查询项具体所属的数据库引擎,不同的数据库引擎信息表征不同的数据库引擎。示例的,数据库引擎信息可以为数据库引擎的标识,例如,可以为数据库引擎的名称、编号、地址等标识。具体获取时,可以根据待查询项所属数据库引擎信息确定待查询项所属数据库引擎是否为数据查询方本端,从而确定该待查询项的属性信息。本发明实施例中,通过在待查询项中携带的待查询项所属数据库引擎信息,数据查询方直接根据携带的待查询项所属数据库引擎信息,即可实现获取属性信息的操作,从而一定程度上可以确保属性信息获取效率。

可选的,数据查询方还可以具体用于:若待查询项所属数据库引擎信息表征的数据库引擎为非本端,则确定待查询项的属性信息为表征密文执行的属性信息,若待查询项所属数据库引擎信息表征的数据库引擎为本端,则确定待查询项的属性信息为表征明文执行的属性信息,以实现通过所述待查询项中携带的待查询项所属数据库引擎信息,获取属性信息的操作。具体的,表征明文执行的属性信息以及表征密文执行的属性信息的具体形式可以根据实际需求预先设置。示例的,表征明文执行的属性信息可以不添加额外标记,表征密文执行的属性信息可以为“BB”,本发明实施例对此不作限制。

进一步地,由于待查询项所属数据库引擎为非本端的情况下,待查询项所需查询的数据被非本端持有,即,被数据查询方之外的其他数据库引擎持有,因此,可以确定该待查询项的属性信息为表征密文执行的属性信息,进而确保后续可以针对该待查询项生成在该待查询项所属数据库引擎本地执行的明文查询任务,即,在其他数据库引擎执行的明文查询任务。相应地,由于待查询项所属数据库引擎为本端的情况下,待查询项所需查询的数据被本端持有,因此,可以确定该待查询项的属性信息为表征明文执行的属性信息,进而确保后续可以针对该待查询项生成在本端执行的明文查询任务。这样,在需要进行跨库联合查询的时候,本端用户只需要通过本端用户设备发送数据查询请求,数据查询方内部可以区分其中的待查询项所需查询的数据表是明文数据表还是密文数据表,从而自动识别属性信息,即,自动识别是明文执行还是密文执行,从而一定程度上可以满足本端用户的跨库查询需求。

可选的,数据查询方还可以具体用于:针对属性信息表征明文执行的待查询项,划分为在本端执行的明文查询任务;以及针对属性信息表征密文执行的待查询项,拆分为在所述待查询项所属数据库引擎本地执行的明文查询任务以及在密文计算设备执行的密文查询任务,从而实现根据待查询项的属性信息将数据查询请求拆分为明文查询任务和/或密文查询任务。本发明实施例中,根据各待查询项的属性信息,针对性的生成明文查询任务或者密文查询任务,可以确保各个待查询项可以被顺利实现,从而满足本端用户设备的各种查询需求。

具体实施时,数据查询方可以根据属性信息表征明文执行的待查询项,生成在本端执行的明文查询任务。根据属性信息表征密文执行的待查询项,生成在待查询项所属数据库引擎本地,即,非本端执行的明文查询任务以及在密文计算设备执行的密文查询任务。通过在属性信息表征密文执行的待查询项的情况下,同时生成在待查询项所属数据库引擎执行的明文查询任务以及在密文计算设备执行的密文查询任务,可以使得非本端执行的明文查询任务的查询结果数据可以经过密文计算设备进行进一步密文计算处理,再被数据查询方获取到,从而一定程度上可以确保数据安全以及提高查询操作的精度。

进一步地,生成的查询任务可以包括:任务数据源、任务代码以及任务结果方。其中,任务数据源可以表明持有该查询任务所需查询的数据的一方、任务代码可以是用于实现查询功能的代码、任务结果方可以表明返回该查询任务的查询结果的一方。

可选的,本发明实施例的数据处理系统00中,各所述数据库引擎002,用于在启动阶段向所述MPC平台001注册所持有的数据表;所述数据表用于描述所述数据库引擎002持有的数据。所述MPC平台001,还用于为注册的各所述数据表设置相关信息。示例的,数据库引擎002作为数据持有方,可以在启动时执行注册操作。具体的,可以将所持有的各个数据表以数据源格式注册至MPC平台001。示例的,数据源格式可以为:cipher://数据库引擎注册至MPC的名字/数据库名/数据表名,数据库引擎sql-c1可以将持有的数据表tableadata,注册为名称为:cipher://sql-c1/test/tableadata的数据表,数据库引擎sql-c2可以将持有的数据表xf1testdata,注册为名称为:cipher://sql-c2/test/xf1testdata的数据表。进一步地,MPC平台001为注册的各数据表设置的相关信息,不同数据表的相关信息可以不同,数据表的相关信息可以用于在MPC平台001中定位该数据表,从而避免在出现数据表重名时,出现冲突的问题,方便MPC平台001对注册的数据表进行管理。示例的,MPC平台001可以将该数据表注册的数据源格式的内容作为相关信息。示例的,数据库引擎sql-c1持有的数据表tableadata的相关信息可以为“cipher://sql-c1/test/tableadata”。进一步地,sql-c2持有的数据表xf1testdata的相关信息可以为“cipher://sql-c2/test/xf1testdata”。

对于任一所述数据库引擎002,所述数据库引擎002的本端用户设备还可以获取其他数据库引擎持有的数据表的相关信息,并将其他数据库引擎持有的数据表作为密文数据表在数据库引擎002本地创建密文数据表。本发明实施例中,将其他数据库引擎持有的数据表作为密文数据表,并根据其他数据库引擎持有的数据表的相关信息在数据库引擎002本地创建密文数据表,从而使得各数据库引擎可以便捷的获知其他数据库引擎具体持有哪些数据,进而方便确定待查询项所属的数据库引擎。

可选的,相关信息可以为数据表在MPC平台001中的注册名称,数据库引擎002的本端用户设备可以在建表语句中携带预设关键字以及注册名称,以将注册名称作为密文数据表的表名称,并在数据库引擎中建立密文数据表,从而实现创建密文数据表的操作。这样,本端用户仅需在建表语句中设置预设关键字以及注册名称,即可实现创建密文数据表,从而一定程度上可以确保密文数据表的创建效率。

其中,预设关键字可以是预先设置的,用于表征本次所需创建的数据表所描述的数据被其他数据库引擎持有。相应地,如果所需创建的数据表所描述的数据被该数据库引擎本身持有,则建表语句中可以不携带预设关键字以及注册名称。示例的,预设关键字可以为TBLPROPERTIES。在一种实现示例中,如果所需创建的数据表所描述的数据被该数据库引擎本身持有,那么建表语句可以为明文建表语句:create table xf1test(id INT,moneyINT)。如果所需创建的数据表所描述的数据被该其他数据库引擎持有,那可以在明文建表语句基础上通过增加预设关键字以及注册名称,来进行密文数据表的创建。具体的,可以在明文表创建语句:create table xf1test(id INT,money INT)的基础上增加后缀TBLPROPERTIES('DS.dataset'='cipher://xxx-c1/gold/gold20;),来表明xf1test表格是一个密文数据表,并且给这个表格取别名:cipher://xxx-c1/gold/gold20,从而方便MPC平台进行定位。

示例的,假设其他数据库引擎持有数据表tablea所描述的数据以及数据表xf1test所描述的数据,那么可以通过下述建表语句创建密文数据表:

create table tablea(id int(32),price int(32))TBLPROPERTIES('DS.dataset'='cipher://sql-c1/test/tableadata;)

create table xf1test(id int(32),money int(32))TBLPROPERTIES('DS.dataset'='cipher://sql-c2/test/xf1testdata;)

示例的,图2是本发明实施例提供的一种数据库引擎架构部分示意图,如图2所示,数据库引擎的元数据管理中可以新增有密文元数据管理模块,密文元数据管理模块具备区别于明文数据表的密文数据表的创建和管理能力,具体可以是基于该密文元数据管理模块实现在本地创建密文数据表的操作。

可选的,数据查询方还可以具体用于:检测各所述待查询项所需查询的数据表对应的建表语句中,是否携带所述预设关键字;若携带所述预设关键字,则确定所述待查询项所属数据库引擎为非本端;若未携带所述预设关键字,则确定所述待查询项所属数据库引擎为本端。

具体实施时,数据处理系统00的各数据库引擎002可以在每次接收到建表语句的情况下,将建表语句与该建表语句所创建的数据表对应存储。相应地,检测各待查询项所需查询的数据表对应的建表语句中,是否携带预设关键字时,可以先根据预先存储的建表语句与该建表语句所创建的数据表的对应关系,查找待查询项所需查询的数据表对应的建表语句。其中,待查询项所需查询的数据表可以是预先指定的,示例的,待查询项A所需查询的数据表可以为数据表1,待查询项B所需查询的数据表可以为数据表2。最后,检测该建表语句中是否包括预设关键字。本发明实施例中,数据查询方仅根据待查询项所需查询的数据表对应的建表语句中是否携带预设关键字,即可便捷的确定待查询项所属数据库引擎是否为本端,从而可以提高根据待查询项生成明文查询任务和/或密文查询任务的效率。

需要说明的是,本发明实施例中,明文查询任务对应的数据库引擎执行完明文查询任务之后,可以将得到的查询结果数据发送给密文计算设备。其中,查询结果数据可以均是以密文的形式发送。相应地,密文计算设备可以执行密文查询任务,以对接收到的查询结果数据进行密文计算处理,得到目标结果数据。数据查询方可获取目标结果数据。

示例的,假设数据查询方接收到的数据查询请求为“select id from tableawhere price>5000union select id from xf1test where money>4000;”,其中,数据表tablea所描述的数据被数据查询方本端持有,数据表xf1test所描述的数据被非本端持有。那么数据查询方可以生成任务:

1、本端执行的明文查询任务:Select id from tablea where price>5000到密文计算设备。

2、非本端执行的明文查询任务:Select id from xf1test where money>4000到密文计算设备。

3、密文查询任务:数据合并任务。

其中,数据合并任务可以为密文python任务:

Import pnumpy as pp

table_0=pp.ss("cipher://ds01/fund/t1_k")

table_0=pnp.reshape(table_0,table_0.shape)

table_1=pp.ss("cipher://ds02/fund/t2_1k")

table_1=pnp.reshape(table_1,table_1.shape)

table=table_0

table=pnp.concatenate((table,table_1),axis=0)

pp.reveal(table,"cipher://ds03/result/1621396614551571000"。

其中,pp.ss("cipher://sql-c1/result/tableadata")以及pp.ss("cipher://sql-c2/result/xf1testdata")可以用于通知明文查询任务的执行方将查询结果数据加密后发送至密文计算设备。

数据查询方可以将拆分后的所有任务发送给MPC平台001,以方便MPC平台001进行存证。然后由MPC平台001将各任务下发给对应的执行方,具体的,任务的配置信息中可以定义有该任务对应的数据库引擎,以方便MPC平台进行下发。例如,任务中可以通过指定数据源组件名,来通知MPC平台发送任务到哪个数据源(即,数据库引擎)。具体的,可以将本端执行的明文查询任务发送给数据查询方,将非本端执行的明文查询任务发送给持有数据表xf1test所描述的数据的数据库引擎。将数据合并任务发送给密文计算设备。之后,密文计算设备通过执行数据合并任务,对接收到的查询结果数据进行合并,即,从各数据库引擎返回的查询结果数据中查询相同的数据,得到目标结果数据。其中,任务可以是基于MPC平台001的发送计算任务接口实现的。需要说明的是,数据查询方也可以直接在本地执行本端执行的明文查询任务,仅将除本端执行的明文查询任务之外的任务发送给MPC平台001,以节省发送资源。

本发明实施例中,通过对各方查询到的查询结果数据进一步进行密文计算处理,可以使得数据处理系统适配更多的数据处理场景,从而提高数据处理系统的应用范围。

图3是本发明实施例提供的一种处理架构示意图,如图3所示,该架构的数据库引擎中进一步扩展有模块:密文物理计划和密文计划执行,该架构的数据库引擎为支持明密文混合计算的新架构。

具体的,密文物理计划可以生成适配MPC平台的查询语句,以及划分成本地执行的数据库查询任务(即,生成本端执行的明文查询任务)和非本端执行的明文查询任务以及密文查询任务。需要说明的是,数据查询请求可以被语法解析部分解析成多个流水线一样的步骤去进行,生成逻辑计划部可以收集各种需要的信息,并根据收集的信息生成特定引擎需要的执行计划。具体的,在遇到每一个步骤的时候,数据库引擎可以分析该步骤的输入是否涉及明文数据表和密文数据表,如果同时涉及明文数据表和密文数据表,那么该步骤之后的操作可以基于密文引擎处理,即,基于密文计算设备以密文形式进行联合处理,进而避免信息暴露。如果仅涉及明文数据表,那操作都可以均在明文引擎上进行,即,在该数据库引擎本地指定。

进一步地,密文计划执行模块可以发送任务到远端的MPC平台,MPC平台可以将各任务下发给对应的执行方。例如,将本端执行的明文查询任务下发给数据查询方本端,将需要其他数据库引擎执行的明文查询任务下发给对应的其他数据库引擎,将密文查询任务下发给密文计算设备。进一步地,密文计划执行模块可以调度本地查询和发送本地部分查询结果到密文计算设备,然后密文计算设备根据各方返回的查询结果数据的密文进行基于密文的联合查询,即,执行密文查询任务,从而得到目标结果数据。最后,计划执行模块/密文计划执行模块可以执行结果返回操作,以向将本端用户设备返回最终的查询结果。

由于参与明密文联合处理的数据库引擎均不会把明文形式的数据发送给其他方,数据库引擎出去的数据只是到密文计算设备的加密的数据,且数据库引擎本地创建的密文数据表,也只是创建了表本身,数据表所描述的真实的数据并不在该数据库引擎里,而是在注册到MPC系统的其他数据引擎中,从而确保了数据安全。

方法实施例

参照图4,示出了本发明的一种数据处理方法实施例的步骤流程图,该方法应用于数据处理系统中的数据库引擎,如图4所示,该方法包括:

步骤101、接收本端用户设备发送的数据查询请求。

步骤102、从所述数据查询请求中获取待查询项的属性信息,所述属性信息用于表明所述待查询项是明文执行还是密文执行。

步骤103、根据所述待查询项的属性信息将所述数据查询请求拆分为明文查询任务和/或密文查询任务。

步骤104、将所述明文查询任务和/或密文查询任务发送给数据处理系统中的MPC平台,以便所述MPC平台将所述明文查询任务发送给对应的数据库引擎,以及将所述密文查询任务发送给对应的密文计算设备。

本发明实施例中,通过将数据库引擎接入MPC平台,数据库引擎可以从本端用户设备发送的数据查询请求中获取待查询项的属性信息,属性信息用于表明待查询项是明文执行还是密文执行。根据待查询项的属性信息将数据查询请求拆分为明文查询任务和/或密文查询任务,并将明文查询任务和/或密文查询任务发送给MPC平台,以通过MPC平台将明文查询任务发送给对应的数据库引擎,以及将密文查询任务发送给对应的密文计算设备,从而实现明文、密文的混合查询。相较于现有方式中数据库引擎仅能进行本地明文查询的情况,本发明实施例提供的数据处理系统中,使得数据库引擎具备明密文混合查询的能力,提高了数据库引擎的处理能力。

可选的,在一种实现方式中,从所述数据查询请求中获取待查询项的属性信息的步骤,可以包括:

步骤S21、通过所述待查询项中添加的关键字来获取所述属性信息。

可选的,在另一种实现方式中,从所述数据查询请求中获取待查询项的属性信息的步骤,可以包括:

步骤S31、通过所述待查询项中携带的所述待查询项所属数据库引擎信息,获取所述属性信息。

可选的,通过所述待查询项中携带的所述待查询项所属数据库引擎信息,获取所述属性信息的操作,可以具体包括:

步骤S41、若所述待查询项所属数据库引擎信息表征的数据库引擎为非本端,则确定所述待查询项的属性信息为表征密文执行的属性信息;

步骤S42、若所述待查询项所属数据库引擎信息表征的数据库引擎为本端,则确定所述待查询项的属性信息为表征明文执行的属性信息。

可选的,根据所述待查询项的属性信息将所述数据查询请求拆分为明文查询任务和/或密文查询任务的步骤,可以具体包括:

步骤S51、针对属性信息表征明文执行的待查询项,划分为在本端执行的明文查询任务;以及

步骤S52、针对属性信息表征密文执行的待查询项,拆分为在所述待查询项所属数据库引擎本地执行的明文查询任务以及在所述密文计算设备执行的密文查询任务。

对于方法实施例而言,由于其与系统实施例基本相似,所以描述的比较简单,各个步骤的实现方式以及所能达到的技术效果可以参见系统实施例的部分说明,此处将不做详细阐述说明。

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

本发明实施例提供了一种数据库引擎,该数据库引擎可以为上述数据处理系统中的任一数据库引擎,该数据库引擎可以用于执行如前述数据处理方法。

本发明实施例提供了一种用于数据处理的装置,包括有存储器,以及一个或者一个以上程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行如前述数据处理方法的指令。

图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等等。

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

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

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

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

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

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种应用于能源产业链预警系统的数据管理系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!