一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法、装置、设备及计算机可读存储介质与流程

2022-05-18 14:52:45 来源:中国专利 TAG:


1.本技术涉及信息安全领域,尤其涉及一种数据处理方法、设备及计算机可读存储介质。


背景技术:

2.随着大数据技术的成熟,数据价值越发凸显,通过数据共享来提升数据价值也越发重要,但与此同时,由数据共享所引发的隐私安全问题也越来越受到重视。相关技术方案中,通常采用完全基于混淆电路这种复杂计算的密码学算法进行数据共享,该方案存在计算量大的问题。


技术实现要素:

3.为解决上述技术问题,本技术实施例期望提供一种数据处理方法、装置、设备及计算机可读存储介质,解决了相关技术中在通过多方联合查询进行多方数据共享时存在计算量大的问题,降低了数据共享的计算量。
4.为达到上述目的,本技术的技术方案是这样实现的:
5.一种数据处理方法,所述方法包括:
6.响应于查询请求;所述查询请求用于查询各参与方约定的用于联合查询的数据;
7.解析所述查询请求以确定查询数据是否包括敏感数据;
8.若查询数据包括敏感数据,获取秘密分享执行任务;
9.基于所述秘密分享执行任务查询所述敏感数据,并展示查询结果。
10.上述方案中,所述获取秘密分享执行任务,包括:
11.基于所述各参与方约定的用于联合查询的数据,生成联合查询方案;其中,所述联合查询方案是查询所述数据的方案,包括查询的约束条件和用于生成联合查询的任务的处理逻辑;
12.基于所述联合查询方案和所述查询请求,生成秘密分享执行任务;其中,所述秘密分享执行任务包括基于所述查询请求中的第一查询条件生成的用于联合查询的第二查询条件,以及以基于秘密分享算法对所述秘密分享执行任务的执行语句进行加解密,来实现密文查询的约束条件。
13.上述方案中,所述基于所述秘密分享执行任务查询所述敏感数据,包括:
14.对所述秘密分享执行任务进行切分重写,生成可执行子任务;
15.执行所述可执行子任务以查询所述敏感数据得到所述查询结果。
16.上述方案中,基于所述各参与方约定的用于联合查询的数据,生成联合查询方案,包括:
17.基于所述数据的数据表结构信息,以及所述各参与方约定的所述数据的第一权限信息,确定用于联合查询的目标信息;其中,所述目标信息包括联合每一所述数据后确定的数据表的结构信息和所述第一权限信息;
18.基于所述目标信息、所述处理逻辑和所述约束条件,生成所述联合查询方案。
19.上述方案中,基于所述联合查询方案和所述查询请求,生成秘密分享执行任务,包括:
20.从所述查询请求中获取所述第一查询条件;
21.基于所述第一查询条件和所述目标信息中的数据表的结构信息,生成用于联合查询的所述第二查询条件;其中,所述第二查询条件包括查询语句;
22.基于所述第二查询条件和所述联合查询方案中的所述约束条件,生成所述秘密分享执行任务。
23.上述方案中,对所述秘密分享执行任务进行切分重写,生成可执行子任务,包括:
24.基于所述目标信息,确定跨所述参与方的所述第二查询条件中的每一查询语句的第二权限信息;其中,所述第一权限信息包括所述第二权限信息;
25.基于所述第二权限信息和所述约束条件,对所述秘密分享执行任务进行重写,得到重写后的所述秘密分享执行任务;
26.基于所述第二权限信息对重写后的所述秘密分享执行任务进行拆分得到所述可执行子任务;其中,所述可执行子任务包括明文可行性子任务和秘密分享可执行子任务。
27.上述方案中,所述执行所述可执行子任务以查询所述敏感数据得到所述查询结果,包括:
28.对于所述明文可执行子任务,基于所述明文可执行子任务的第三查询条件,和对应的所述数据,以明文的方式进行所述数据查询,得到第一查询结果;
29.对于所述秘密分享可执行子任务,基于所述秘密分享可执行子任务的第四查询条件,和对应的所述数据,以密文的方式进行所述数据查询,得到第二查询结果。
30.上述方案中,所述执行所述可执行子任务以查询所述敏感数据得到所述查询结果之前,还包括:
31.将每一所述可执行子任务发送至,对应的所述数据所在的参与方的数据处理设备上。
32.上述方案中,所述方法还包括:
33.基于每一所述可执行子任务执行的所述第一查询结果和/或所述第二查询结果,得到所述第一查询条件所对应的查询结果。
34.一种数据处理装置,所述数据处理装置包括:
35.获取单元,用于响应于查询请求;所述查询请求用于查询各参与方约定的用于联合查询的数据;
36.处理单元,用于解析所述查询请求以确定查询数据是否包括敏感数据;
37.所述获取单元,还用于若查询数据包括敏感数据,获取秘密分享执行任务;
38.所述处理单元,还用于基于所述秘密分享执行任务查询所述敏感数据;
39.显示单元,用于展示查询结果。
40.一种数据处理设备,所述数据处理设备包括:处理器、存储器和通信总线;
41.所述通信总线用于实现处理器和存储器之间的通信连接;
42.所述处理器用于执行存储器中的数据处理程序,以实现上述的所述数据处理方法的步骤。
43.一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个程序可被一个或多个处理器执行,以实现上述所述的数据处理方法的步骤。
44.本技术的实施例所提供的数据处理方法、装置、设备及计算机可读存储介质,通过响应于查询请求;查询请求用于查询各参与方约定的用于联合查询的数据;解析查询请求以确定查询数据是否包括敏感数据;若查询数据包括敏感数据,获取秘密分享执行任务;基于秘密分享执行任务查询敏感数据,并展示查询结果。如此,解决了在数据不出本地环境,进行安全的联合查询来实现数据共享的情况下,通过采用秘密分享算法进行部分数据密文查询,而非在整个查询过程中完全采用如混淆电路这种高计算量的算法进行密文查询,降低了密文查询数据的计算量。
附图说明
45.图1为本技术实施例提供的一种数据处理方法的流程示意图一;
46.图2为本技术实施例提供的一种数据处理方法的流程示意图二;
47.图3为本技术实施例提供的一种数据处理方法的流程示意图三;
48.图4为本技术实施例提供的一种可实现的切分重写的流程示意图一;
49.图5为本技术实施例提供的一种可实现的切分重写的流程示意图二;
50.图6为本技术实施例提供的一种数据处理方法的流程示意图四;
51.图7为本技术实施例提供的一种数据处理方法的流程示意图五;
52.图8为本技术实施例提供的一种数据处理方法的流程示意图六;
53.图9(a)为本技术实施例提供的一种任务重写的示意图一;
54.图9(b)为本技术实施例提供的一种任务重写的示意图二;
55.图10为本技术实施例提供的一种数据处理方法的流程示意图七;
56.图11为本技术实施例提供的一种数据处理装置的结构示意图;
57.图12为本技术实施例提供的一种数据处理设备的结构示意图。
具体实施方式
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
59.本技术实施例提供一种数据处理方法,该方法应用于数据处理设备中,其中数据处理设备可以是联合查询的每个参与方各自的设备,参照图1所示,该方法包括以下步骤:
60.步骤101、响应于查询请求。
61.其中,查询请求用于查询各参与方约定的用于联合查询的数据。
62.本技术实施例中,联合查询的数据包括各参与方约定的,可以被其他参与方以满足约束条件的方式查询的数据。从隐私性的角度将联合查询的数据中包含的数据的数据类型划分为敏感数据和非敏感数据。
63.步骤102、解析查询请求以确定查询数据是否包括敏感数据。
64.步骤103、若查询数据包括敏感数据,获取秘密分享执行任务。
65.本技术实施例中,秘密分享执行任务也可以称为秘密分享(secret sharing,ss)
执行计划。
66.本技术实施例中,秘密分享(secret sharing,ss)计划是指将原始数据拆分成多个部分,并将这些部分分发到多个参与方处。每个参与方拿到的都是原始数据的一部分,一个或少数几个参与方无法还原出原始数据,只有把各自的数据凑在一起时才能还原出数据,这里,用于拆分的原始数据可以是通过随机数生成算法生成的。
67.步骤104、基于秘密分享执行任务查询敏感数据,并展示查询结果。
68.本技术的实施例所提供的数据处理方法,通过响应于查询请求;查询请求用于查询各参与方约定的用于联合查询的数据;解析查询请求以确定查询数据是否包括敏感数据;若查询数据包括敏感数据,获取秘密分享执行任务;基于秘密分享执行任务查询敏感数据,并展示查询结果。如此,解决了在数据不出本地环境,进行安全的联合查询来实现数据共享的情况下,通过采用秘密分享算法进行部分数据密文查询,而非在整个查询过程中完全采用如混淆电路这种高计算量的算法进行密文查询,降低了密文查询数据的计算量
69.本技术其他实施例中,上述步骤103中获取秘密分享执行任务,可以通过如图2所示的步骤实现:
70.步骤1031、基于各参与方约定的用于联合查询的数据,生成联合查询方案。
71.其中,联合查询方案是查询数据的方案,包括查询的约束条件和用于生成联合查询的任务的处理逻辑。
72.在本技术实施例中,联合查询方案是由各参与方共同约定的,以满足约束条件的方式查询彼此的数据的查询方案。其中,数据表征各参与方约定的,可以被其他参与方以满足约束条件的方式查询的数据。从隐私性的角度将数据中包含的数据的数据类型划分为敏感数据和非敏感数据,对于不同数据类型的数据采用不同的约束条件进行查询。约束条件是用于约束联合查询的执行过程的条件,包括对于数据中的敏感数据以密文的形式进行查询,以及对于数据中的非敏感数据以明文的形式进行查询的约束条件。在进行联合查询的过程中可以通过联合查询方案中的处理逻辑生成任务来实现联合查询。
73.在一种可行的实现方式中,联合查询方案也可以称为联合查询(query)计划。其中,敏感数据和非敏感数据是由各参与方自定义的,以部门a和部门b进行联合查询为例,如表1(a)和1(b)所示,表1(a)为部门a的拥有的员工表,表1(a)中的数据即为部门a针对联合查询的约定数据;表1(b)为部门b拥有的全国接种新冠疫苗的名单表,表1(b)中的数据即为部门b针对联合查询的约定数据,对于部门a和部门b来说,可以认为身份证信息对于各参与方都属于敏感数据,而性别信息可以认为是非敏感数据。
74.身份证号姓名性别44195881xxx张三男44561121xxx李花女.........
75.表1(a)
76.身份证号姓名性别44195881xxx张三男35561121xxx张八男.........
77.表1(b)
78.需要说明的是,联合查询方案是基于多方安全计算的技术理念建立的,旨在实现打通各方数据孤岛以达到数据共享的同时,使各方数据不出本地以此降低数据联合的带来的安全风险。
79.步骤1032、基于联合查询方案和查询请求,生成秘密分享执行任务。
80.其中,秘密分享执行任务包括基于查询请求中的第一查询条件生成的用于联合查询的第二查询条件,以及以基于秘密分享算法对秘密分享执行任务的执行语句进行加解密,来实现密文查询的约束条件。
81.在本技术实施例中,数据处理设备在响应于联合查询方案的参与方发出的查询数据的请求,获取查询请求中的第一查询条件,第一查询条件是发出请求的参与方根据自身的查询需要设定的查询条件,数据处理设备将第一查询条件转化为,用于查询结合了各参与方的数据构成的表结构的第二查询条件。并且,秘密分享执行任务携带有第二查询条件所需查询的数据的权限信息。
82.需要说明的是,所采用的秘密分享算法包括但不限于算数分享、布尔分享。在实际应用中,可以混合算数分享(arithmetic sharing)、布尔分享(boolean sharing)等多种秘密分享算法得到最终的秘密分享算法,如在布尔电路上进行多方比较、在算术电路上进行加乘等;需要指出的是,算数分享是将一个数字按照简单数学运算形式进行分解、共享,计算开销低;布尔共享,是将算术分享中元素取值域转换为将算数分享中的算数计算变成异或,计算开销低;也就是说,本技术采用的秘密分享算法具有计算开销低的特点;然而,相关技术中完全采用混淆电路时,是将多方参与的安全计算函数编译成布尔电路的形式,并将真值表加密打乱,这种操作会的计算开销较大,所以,本技术采用秘密分享相比于相关技术完全采用混淆电路的方式,计算的计算量低,进而降低了密文查询的计算量。
83.本技术其他实施例中,上述步骤104中基于秘密分享执行任务查询敏感数据,可以通过如图3所示的步骤实现:
84.步骤1041、对秘密分享执行任务进行切分重写,生成可执行子任务。
85.在本技术实施例中,仍旧以上述部门a和部门b进行联合查询为例,参照图4所示,根据秘密分享执行任务中携带的第二查询条件所需查询的数据的权限信息将秘密分享执行任务进行切分重写,切分重写后得到的多个可执行子任务是与秘密分享执行任务等效的。其中,等效表征秘密分享可执行任务的查询结果与拆分后的多个可执行子任务的查询结果一致。
86.在一种可行的实现方式中,参照图4和图5所示,通过将秘密分享执行任务生成等效的单个有向无环图(directed acyclic graph,dag),之后将该单个dag进行切分重写得到包含部分密文执行和部分明文执行的多个dag子任务,由密文执行的dag子任务构成的子任务的集合也可以称为秘密分享dag(ss-dag)子图集,由明文执行的dag子任务构成的子任务的集合也可以称为明文dag子图集,每个dag子任务即为可执行子任务。
87.需要说明的是,由于各参与方的数据是不出各参与方本地环境的,而秘密分享执行任务的作用对象是联合了各参与方的数据的信息后得到的联合查询的数据表,因此,在各参与方的数据不出各参与方本地环境情况下,需要将秘密分享执行任务拆分成多个可执行子任务,使得各可执行子任务可以在与之对应的数据所在的本地环境中执行。如此,在满
足联合查询需求的情况下,通过查询不出本地的方式,降低了数据共享情况下的安全风险。
88.步骤1042、执行可执行子任务以查询敏感数据得到查询结果。
89.在本技术实施例中,数据处理设备根据可执行子任务的执行条件进行可执行子任务的执行,得到查询结果。其中,可执行子任务的执行条件包括可执行子任务中的查询语句以及执行查询的约束条件。
90.由上述可知,本技术实施例所提供的数据处理方法,通过制定联合查询方案,使得各参与方在所拥有的数据不出本地环境的情况下,以符合约束条件的方式进行联合查询,解决了在数据不出本地环境,进行安全的联合查询来实现数据共享的情况下,通过采用秘密分享算法进行部分数据密文查询,而非在整个查询过程中完全采用如混淆电路这种高计算量的算法进行密文查询,降低了密文查询数据的计算量。
91.本技术其他实施例中,上述步骤1031基于各参与方约定的用于联合查询的数据,生成联合查询方案,可以通过如图6所示的步骤实现:
92.步骤201、数据处理设备基于数据的数据表结构信息,以及各参与方约定的数据的第一权限信息,确定用于联合查询的目标信息。
93.其中,目标信息包括联合每一数据后确定的数据表的结构信息和第一权限信息。
94.在本技术实施例中,数据处理设备根据各参与方的数据的数据表结构确定联合查询方案中用于联合查询的数据表的表结构,数据表结构信息包括数据表名、表中的字段信息和表之间的关系信息。以下将联合查询方案的数据表简称为联合查询数据表。根据数据的第一权限信息确定联合查询数据表的权限信息。第一权限信息包括角色信息和角色对应的权限信息。从查询联合查询数据表的参与者所属的查询角色的角度对参与者进行划分,可以分为数据拥有者和数据可信方,联合查询数据表中的字段所对应的数据的所有方,即为该字段对应的数据的拥有者,该拥有者对于所拥有的字段所对应的数据的查询不受限制,可以在本地环境下以明文形式查询;对于被数据拥有者添加了可信方注释的字段,被注释为可信方的参与者即为该字段对应的数据的可信方,可以依据数据拥有者授权的可信方的查询权限进行被授权的字段的查询;其中,被数据拥有者添加了可信方注释的字段所对应的数据属于非敏感数据,没有被添加可信方注释的字段所对应的数据属于敏感数据。
95.步骤202、数据处理设备基于目标信息、处理逻辑和约束条件,生成联合查询方案。
96.在本技术实施例中,根据联合查询数据表的表结构信息和权限信息,用于生成联合查询的任务的处理逻辑,以及用于联合查询的约束条件,生成联合查询方案。联合查询方案可以安装在各参与方的本地环境,当参与方发出联合查询的查询请求时,该参与方本地的数据处理设备基于联合查询方案对查询请求进行响应。
97.本技术其他实施例中,上述步骤1032、基于联合查询方案和查询请求,生成秘密分享执行任务,可以通过如图7所示的步骤实现:
98.步骤301、数据处理设备从查询请求中获取第一查询条件。
99.在本技术实施例中,获取查询请求中的第一查询条件,第一查询条件是发出请求的参与方根据自身的查询需要设定的查询条件。
100.在一种可行的实现方式中,数据以二维表的形式进行存储,获取参与方发送的查询请求,从查询请求中获取到的查询条件可以为结构化查询语言(structured query language,sql)查询条件。
101.步骤302、数据处理设备基于第一查询条件和目标信息中的数据表的结构信息,生成用于联合查询的第二查询条件。
102.其中,第二查询条件包括查询语句。
103.在本技术实施例中,响应于联合查询方案的参与方发出的查询数据的请求,获取查询请求中的第一查询条件,第一查询条件是发出请求的参与方根据自身的查询需要设定的查询条件,数据处理设备将第一查询条件转化为,用于查询结合了各参与方的数据构成的表结构的第二查询条件。
104.步骤303、数据处理设备基于第二查询条件和联合查询方案中的约束条件,生成秘密分享执行任务。
105.在本技术实施例中,数据处理设备根据第二查询条件,确定查询的联合查询数据表的查询范围作为秘密分享执行任务的查询范围。根据约束条件生成的秘密分享执行任务是在秘密分享(ss)后以密文形式执行的。秘密分享执行任务携带有联合查询数据表的权限信息。
106.本技术其他实施例中,上述步骤1041、对秘密分享执行任务进行切分重写,生成可执行子任务,可以通过如图8所示的步骤实现:
107.步骤401、数据处理设备基于目标信息,确定跨参与方的第二查询条件中的每一查询语句的第二权限信息。
108.其中,第一权限信息包括第二权限信息。
109.在本技术实施例中,第二查询条件是根据第一查询条件生成的,用于查询由各参与方的数据确定的联合查询数据表的查询条件。根据目标信息中的联合查询数据表的权限信息,确定第二查询条件中每一查询语句的第二权限信息。第二权限信息包括每一查询语句对应的数据的角色信息和角色对应的权限信息,角色可以包括数据的拥有者,可信方。
110.步骤402、数据处理设备基于第二权限信息和约束条件,对秘密分享执行任务进行重写,得到重写后的秘密分享执行任务。
111.在本技术实施例中,根据第二权限信息中的角色信息,确定秘密分享执行任务查询的数据所属的拥有方和数据的可信方,之后根据该拥有方和可信方的权限信息和约束条件,将全密文执行的秘密分享执行任务重写为,包含部分密文执行和部分明文执行的处理后的秘密分享执行任务。
112.如此,通过将全密文执行的秘密分享执行任务重写为,部分密文执行和部分明文执行的处理后的秘密分享执行任务,相对于全密文查询,在执行查询操作的过程中降低了查询计算量。
113.本技术实施例中,秘密分享执行任务也称为秘密分享(ss)执行计划,根据ss执行计划生成与之等效的全密文执行的单个有向无环图(directed acyclic graph,dag),然后根据第二权限信息对该单个dag进行重写得到包含部分密文执行和部分明文执行的处理后的单个dag。
114.在另一种可行的实现方式中,有两个参与方分别为部门a和部门b,部门a对应数据的数据表结构信息为a,部门b对应的数据的数据表结构信息为b,部门a想通过联合查询获取信息,确定的第二查询条件如下示例:
[0115][0116]
根据第二查询条件和联合查询方案生成ss计划,之后根据该ss计划生成与之等效的,如图9(a)所示的单个全密文dag;根据第二权限信息和约束条件对该单个全密文dag进行处理,将该全密文dag转换成部分密文和部分明文的dag,其中,该单个全密文dag中的叶子节点和根节点转换为以明文执行的dag,中间涉及到多方的执行条件的部分转换为以密文执行的dag,转换后得到包括部分明文和部分密文的处理后的单个dag如图9(b)所示。
[0117]
步骤403、数据处理设备基于第二权限信息对重写后的秘密分享执行任务进行拆分得到可执行子任务。
[0118]
其中,可执行子任务包括明文可行性子任务和秘密分享可执行子任务。
[0119]
在本技术实施例中,根据第二权限中角色信息确定重写后的秘密分享执行任务中,各查询条件对应的数据的所属关系,将重写后的秘密分享执行任务拆分成对各参与方执行环境对应的可执行子任务,并将处理后的秘密分享执行任务中需要密文执行的执行条件,和需要明文执行的执行条件与拆分后的可执行子任务进行对应,进而将可执行子任务拆分成明文可行性子任务和秘密分享可执行子任务,对于明文可行性子任务以明文形式执行查询操作,对于秘密分享可执行子任务以密文形式执行查询操作。
[0120]
在一种可行的实现方式中,秘密分享执行任务也称为秘密分享(ss)执行计划,根据ss执行计划生成与之等效的全密文执行的单个dag,然后根据第二权限信息对该单个dag进行重写得到包含部分密文执行和部分明文执行的处理后的单个dag,对处理后的单个dag进行拆分形成包含明文可执行子任务和密文可执行子任务的多个dag形式的可执行子任务,该可执行子任务也可以称为可执行dag子图。
[0121]
进一步的,数据处理设备将每一可执行子任务发送至,对应的数据所在的参与方的数据处理设备上。
[0122]
在本技术的实施例中,根据每一可执行子任务查询的数据所属的参与方的数据设备,将每一刻执行子任务发送至对应的数据处理设备上。
[0123]
本技术其他实施例中,上述步骤1042执行可执行子任务以查询敏感数据得到查询
结果,可以通过如图10所示的步骤实现:
[0124]
步骤501、数据处理设备对于明文可执行子任务,基于明文可执行子任务的第三查询条件和对应的数据,以明文的方式进行数据查询,得到第一查询结果。
[0125]
在本技术实施例中,数据处理设备根据明文可执行子任务中的第三查询条件,以明文形式查询本地环境中存储的数据,得到第一查询结果。
[0126]
步骤502、数据处理设备对于秘密分享可执行子任务,基于秘密分享可执行子任务的第四查询条件和对应的数据,以密文的方式进行数据查询,得到第二查询结果。
[0127]
在本技术实施例中,数据处理设备根据密文可执行子任务中的第四查询条件,以密文形式查询本地环境中存储的数据,得到第二查询结果。
[0128]
进一步的,数据处理设备基于每一可执行子任务执行的第一查询结果和/或第二查询结果,得到第一查询条件所对应的查询结果。
[0129]
在本技术实施例中,数据处理设备将每一可执行子任务的执行的结果进行合并,得到用户发出的查询请求中的第一查询条件所对应的查询结果。
[0130]
在一个可以实现的场景中,以部门a和部门b联合查询部门a接种了新冠疫苗的男性以及女性数量并将结果名单返回给部门a的应用场景为例,在一种可行的实现方式中,如表1(a)和1(b)所示,表1(a)为部门a的拥有的员工表,表1(a)中的数据即为部门a的约定数据;表1(b)为部门b拥有的全国接种新冠疫苗的名单表,表1(b)中的数据即为部门b的约定数据,表1(a)和表1(b)分别对于部门a和部门b都是非常隐私的,都不能离开本地进行联合查询,并且表1(b)中的约定数据的数据量非常大,有十亿条以上的数据记录。
[0131]
采用本技术说明书中的技术方案可以实现大数据场景下的联合隐私查询,具体将查询分为明文查询以及秘密分享查询两部分:
[0132]
a、根据身份证号,采用秘密分享进行连接(join)操作;其中,join是一种数据库查询方法,用于对数据库中的两张或两张以上表进行连接操作。需要说明的是,由于身份证号是跨表1(a)和表1(b)的,且对于双方来说该属性都是敏感的,该属性下的数据定义为敏感数据,因此采用秘密分享进行密文查询。
[0133]
b、当部门a获取到前述中join操作的查询结果后,对表1(b)中性别属性在本地以明文查询方式进行聚合(aggregate)操作来查询数据。需要说明的是,由于表1(b)中性别属性中的数据在本地,因此该操作可在部门a本地进行明文查询。
[0134]
本技术实施例所提供的数据处理方法,通过制定联合查询方案,使得各参与方在所拥有的数据不出本地环境的情况下,以符合约束条件的方式进行其他参与方数据的密文查询进而获取所需的结果,解决了在数据不出本地环境,进行安全的联合查询来实现数据共享的情况下,通过采用秘密分享算法进行部分数据密文查询,而非在整个查询过程中完全采用如混淆电路这种高计算量的算法进行密文查询,以及将查询操作分为密文查询和明文查询而非权密文查询,降低了密文查询数据的计算量。
[0135]
基于前述实施例,本技术的实施例提供一种数据处理装置,该数据处理装置可以应用于图1对应的实施例提供的数据处理方法中,参照图11所示,该数据处理装置600可以包括:
[0136]
获取单元601,用于响应于查询请求;查询请求用于查询各参与方约定的用于联合查询的数据。
[0137]
处理单元602,用于解析查询请求以确定查询数据是否包括敏感数据;
[0138]
获取单元601,用于若查询数据包括敏感数据,获取秘密分享执行任务;
[0139]
处理单元602,用于基于秘密分享执行任务查询敏感数据;
[0140]
显示单元603,用于展示查询结果。
[0141]
在本技术的其他实施例中,获取单元601,还用于执行以下步骤:
[0142]
基于各参与方约定的用于联合查询的数据,生成联合查询方案;其中,联合查询方案是查询数据的方案,包括查询的约束条件和用于生成联合查询的任务的处理逻辑;
[0143]
基于联合查询方案和查询请求,生成秘密分享执行任务;其中,秘密分享执行任务包括基于查询请求中的第一查询条件生成的用于联合查询的第二查询条件,以及以基于秘密分享算法对秘密分享执行任务的执行语句进行加解密,来实现密文查询的约束条件。
[0144]
在本技术的其他实施例中,处理单元602,还用于执行以下步骤:
[0145]
对秘密分享执行任务进行切分重写,生成可执行子任务;
[0146]
执行可执行子任务以查询敏感数据得到查询结果。
[0147]
在本技术的其他实施例中,处理单元602,还用于执行以下步骤:
[0148]
基于数据的数据表结构信息,以及各参与方约定的数据的第一权限信息,确定用于联合查询的目标信息;其中,目标信息包括联合每一数据后确定的数据表的结构信息和第一权限信息;
[0149]
基于目标信息、处理逻辑和约束条件,生成联合查询方案。
[0150]
在本技术的其他实施例中,处理单元602,还用于执行以下步骤:
[0151]
从查询请求中获取第一查询条件;
[0152]
基于第一查询条件和目标信息中的数据表的结构信息,生成用于联合查询的第二查询条件;其中,第二查询条件包括查询语句;
[0153]
基于第二查询条件和联合查询方案中的约束条件,生成秘密分享执行任务。
[0154]
在本技术的其他实施例中,处理单元602,还用于执行以下步骤:
[0155]
基于目标信息,确定跨参与方的第二查询条件中的每一查询语句的第二权限信息;其中,第一权限信息包括第二权限信息;
[0156]
基于第二权限信息和约束条件,对秘密分享执行任务进行重写,得到重写后的秘密分享执行任务;
[0157]
基于第二权限信息对重写后的秘密分享执行任务进行拆分得到可执行子任务;其中,可执行子任务包括明文可行性子任务和秘密分享可执行子任务。
[0158]
在本技术的其他实施例中,处理单元602,还用于执行以下步骤:
[0159]
对于明文可执行子任务,基于明文可执行子任务的第三查询条件,和对应的数据,以明文的方式进行数据查询,得到第一查询结果;
[0160]
对于秘密分享可执行子任务,基于秘密分享可执行子任务的第四查询条件,和对应的数据,以密文的方式进行数据查询,得到第二查询结果。
[0161]
在本技术的其他实施例中,处理单元602,还用于执行以下步骤:
[0162]
将每一可执行子任务发送至,对应的数据所在的参与方的数据处理设备上。
[0163]
在本技术的其他实施例中,处理单元602,还用于执行以下步骤:
[0164]
基于每一可执行子任务执行的第一查询结果和/或第二查询结果,得到第一查询
条件所对应的查询结果。
[0165]
需要说明的是,本技术实施例中各单元之间的交互过程,可以参照图1对应的实施例提供的数据处理方法中的实现过程,此处不再赘述。
[0166]
本技术实施例所提供的数据处理装置,通过响应于查询请求;查询请求用于查询各参与方约定的用于联合查询的数据;解析查询请求以确定查询数据是否包括敏感数据;若查询数据包括敏感数据,获取秘密分享执行任务;基于秘密分享执行任务查询敏感数据,并展示查询结果。如此,解决了在数据不出本地环境,进行安全的联合查询来实现数据共享的情况下,通过采用秘密分享算法进行部分数据密文查询,而非在整个查询过程中完全采用如混淆电路这种高计算量的算法进行密文查询,降低了密文查询数据的计算量。
[0167]
基于前述实施例,本技术的实施例提供一种数据处理设备,该数据处理设备可以应用于图1对应的实施例提供的数据处理方法中,参照图12所示,该数据处理设备700包括:处理器701、存储器702和通信总线703;
[0168]
通信总线703用于实现处理器701和存储器702之间的通信连接;
[0169]
处理器701用于执行存储器702中存储的数据处理程序,以实现以下步骤:
[0170]
响应于查询请求;查询请求用于查询各参与方约定的用于联合查询的数据;
[0171]
解析查询请求以确定查询数据是否包括敏感数据;
[0172]
若查询数据包括敏感数据,获取秘密分享执行任务;
[0173]
基于秘密分享执行任务查询敏感数据,并展示查询结果。
[0174]
在本技术的其他实施例中,处理器701用于执行存储器702中的数据处理程序,以实现以下步骤:
[0175]
基于各参与方约定的用于联合查询的数据,生成联合查询方案;其中,联合查询方案是查询数据的方案,包括查询的约束条件和用于生成联合查询的任务的处理逻辑;
[0176]
基于联合查询方案和查询请求,生成秘密分享执行任务;其中,秘密分享执行任务包括基于查询请求中的第一查询条件生成的用于联合查询的第二查询条件,以及以基于秘密分享算法对秘密分享执行任务的执行语句进行加解密,来实现密文查询的约束条件。
[0177]
在本技术的其他实施例中,处理器701用于执行存储器702中的数据处理程序,以实现以下步骤:
[0178]
对秘密分享执行任务进行切分重写,生成可执行子任务;
[0179]
执行可执行子任务以查询敏感数据得到查询结果。
[0180]
在本技术的其他实施例中,处理器701用于执行存储器702中的数据处理程序,以实现以下步骤:
[0181]
基于数据的数据表结构信息,以及各参与方约定的数据的第一权限信息,确定用于联合查询的目标信息;其中,目标信息包括联合每一数据后确定的数据表的结构信息和第一权限信息;
[0182]
基于目标信息、处理逻辑和约束条件,生成联合查询方案。
[0183]
在本技术的其他实施例中,处理器701用于执行存储器702中的数据处理程序,以实现以下步骤:
[0184]
从查询请求中获取第一查询条件;
[0185]
基于第一查询条件和目标信息中的数据表的结构信息,生成用于联合查询的第二
查询条件;其中,第二查询条件包括查询语句;
[0186]
基于第二查询条件和联合查询方案中的约束条件,生成秘密分享执行任务。
[0187]
在本技术的其他实施例中,处理器701用于执行存储器702中的数据处理程序,以实现以下步骤:
[0188]
基于目标信息,确定跨参与方的第二查询条件中的每一查询语句的第二权限信息;其中,第一权限信息包括第二权限信息;
[0189]
基于第二权限信息和约束条件,对秘密分享执行任务进行重写,得到重写后的秘密分享执行任务;
[0190]
基于第二权限信息对重写后的秘密分享执行任务进行拆分得到可执行子任务;其中,可执行子任务包括明文可行性子任务和秘密分享可执行子任务。
[0191]
在本技术的其他实施例中,处理器701用于执行存储器702中的数据处理程序,以实现以下步骤:
[0192]
对于明文可执行子任务,基于明文可执行子任务的第三查询条件,和对应的数据,以明文的方式进行数据查询,得到第一查询结果;
[0193]
对于秘密分享可执行子任务,基于秘密分享可执行子任务的第四查询条件,和对应的数据,以密文的方式进行数据查询,得到第二查询结果。
[0194]
在本技术的其他实施例中,处理器701用于执行存储器702中的数据处理程序,以实现以下步骤:
[0195]
将每一可执行子任务发送至,对应的数据所在的参与方的数据处理设备上。
[0196]
在本技术的其他实施例中,处理器701用于执行存储器702中的数据处理程序,以实现以下步骤:
[0197]
基于每一可执行子任务执行的第一查询结果和/或第二查询结果,得到第一查询条件所对应的查询结果。
[0198]
需要说明的是,处理器所执行的步骤的具体说明可以参照图1对应的实施例提供的数据处理方法中的描述,此处不再赘述。
[0199]
本技术实施例所提供的数据处理设备,通过制定联合查询方案,使得各参与方在所拥有的数据不出本地环境的情况下,以符合约束条件的方式进行其他参与方数据的密文查询进而获取所需的结果,解决了在数据不出本地环境,进行安全的联合查询来实现数据共享的情况下,通过采用秘密分享算法进行部分数据密文查询,而非在整个查询过程中完全采用如混淆电路这种高计算量的算法进行密文查询,降低了密文查询数据的计算量。
[0200]
基于前述实施例,本技术的实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现图1对应的实施例提供的数据处理方法中的步骤。
[0201]
需要说明的是,上述计算机可读存储介质可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性随机存取存储器(ferromagnetic random access memory,fram)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read-only memory,cd-rom)等存储器;也可以是包
括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
[0202]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0203]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0204]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所描述的方法。
[0205]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据获取设备的处理器以产生一个机器,使得通过计算机或其他可编程数据获取设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0206]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据获取设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0207]
这些计算机程序指令也可装载到计算机或其他可编程终端上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0208]
以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献