数据处理方法及装置、电子设备与流程

摘要: 本技术涉及数据处理,尤其涉及一种数据处理方法及装置、电子设备。背景技术:1、随着用户对数据的安全性要求越来越高,密态数据库越来越重要。目前对密态数据库存在高性能...
数据处理方法及装置、电子设备与流程

本技术涉及数据处理,尤其涉及一种数据处理方法及装置、电子设备。

背景技术:

1、随着用户对数据的安全性要求越来越高,密态数据库越来越重要。目前对密态数据库存在高性能(例如以较低的密码学代价完成特定的密态数据库查询任务)、高安全性(例如不易通过模式攻击等手段泄露机密数据)以及多功能(例如支持全部的聚合操作)等需求。

2、为了满足密态数据库的高性能、高安全性以及多功能等需求,相关技术提供了基于同态密码学的密态数据库。同态密码学能够在加密数据上直接执行特定计算而无需解密,基于同态密码学的密态数据库中的全部数据被使用全同态加密。基于同态密码学的运算性质,复杂的查询任务以及聚合操作等都可以转换为同态运算。

3、但是相关技术中,每次查询任务都需要对密态数据库中的所有条目进行同态比较运算,查询时延与密态数据库中的条目数成线性关系,导致在密态数据库的条目数量较多时查询时延也会较大。并且单个同态比较运算需要多次迭代串行完成,每次迭代操作需要大量的计算资源,这导致单个同态比较运算的时延较高。

技术实现思路

1、本技术提供一种数据处理方法及装置、电子设备,能够使得同态比较操作的性能不再受到数据精度的限制,从而提升了查询任务的执行性能。

2、第一方面,本技术提供一种数据处理方法,该方法包括:获取谓词的运算逻辑,谓词包括谓词值与谓词逻辑,运算逻辑用于指示:加速过滤器组中的多个目标加速过滤器以及每个目标加速过滤器在同态比较操作中的运算流程,加速过滤器组包括多个加速过滤器;根据运算逻辑执行谓词值与同态数据库中的各个条目的同态比较操作,得到谓词的过滤器;其中,过滤器对应一个过滤器值和比较逻辑,过滤器用于指示同态数据库中的每个条目与过滤器值的关系是否满足比较逻辑,谓词的过滤器对应的比较逻辑为谓词逻辑,多个目标加速过滤器中存在两个目标加速过滤器对应的过滤器值所组成的区间内包括谓词值。

3、相关技术在一个同态比较操作中实现算子内部并行化,但是同态比较过程是串行的,同态数据库的比较数量和条目数量成正比,因此同态比较过程会随着同态数据库内的条目数量的增加而增加,导致同态比较操作时延较高。或者采用数据拆分的方法,将较大的数拆分为若干较小的数,对每个较小的数分别进行大小判断。但是最终的归并操作还是串行的,导致同态比较操作的时延仍然与数据精度有关,并且还需要涉及复杂的拆分策略,计算复杂性较高。数据精度越高,拆分的较小的数越多,从而需要更多的串行过程完成合并。

4、本技术实施例通过引入加速过滤器进行以存代算的同态比较操作,跳过了目标加速过滤器存储的结果部分的串行迭代过程,相较于相关技术减少了单个同态比较操作中谓词值和条目的数值差异(即精度),进而减少了单个同态比较操作中的串行计算步骤,使得同态比较操作的性能不再受到数据精度的限制,从而提升了查询任务的执行性能,提高了同态数据库在大数据场景下的扩展性。

5、在一种可能的实现方式中,目标加速过滤器在同态比较操作中的运算流程包括:目标加速过滤器的修正运算;根据运算逻辑执行谓词值与同态数据库中的各个条目的同态比较操作的过程包括:将谓词值与条目的第一同态差按照预设比较范围的位宽同态左移,得到第二同态差,预设比较范围是基于谓词值以及多个目标加速过滤器分别对应的过滤器值确定的;根据第二同态差确定谓词值与条目的初始同态比较结果,初始同态比较结果用于指示谓词值与条目的关系是否满足谓词逻辑;根据多个目标加速过滤器以及每个目标加速过滤器的修正运算,对初始同态比较结果进行修正,得到目标同态比较结果。

6、示例性地,可以将谓词值与多个目标加速过滤器对应的过滤器值的最大差值绝对值作为预设比较范围。

7、一种可能的实现方式中,根据第二同态差确定谓词值与条目的初始同态比较结果的过程可以包括:对第二同态差执行最高有效位(most significantbit,msb)提取算法,得到初始同态比较结果。

8、本技术实施例中,通过引入目标加速过滤器降低了第一同态差的位宽,减小了同态比较过程中最高有效位提取算法的迭代次数,跳过了目标加速过滤器存储的结果部分的串行迭代过程,从而提升了查询任务的执行性能。

9、在一种可能的实现方式中,多个目标加速过滤器包括第一加速过滤器和第二加速过滤器;第一加速过滤器对应的过滤器值大于谓词值,第二加速过滤器对应的过滤器值小于谓词值。

10、在一种可能的实现方式中,在加速过滤器组中的过滤器值大于谓词值的加速过滤器中,第一加速过滤器对应的过滤器值与谓词值最接近;在加速过滤器组中的过滤器值小于谓词值的加速过滤器中,第二加速过滤器对应的过滤器值与谓词值最接近。

11、在一种可能的实现方式中,第一加速过滤器对应的过滤器值等于谓词值,第二加速过滤器对应的过滤器值小于谓词值。

12、示例性地,在加速过滤器组中的过滤器值小于谓词值的加速过滤器中,第二加速过滤器对应的过滤器值与谓词值最接近。

13、在一种可能的实现方式中,第一加速过滤器对应的过滤器值大于谓词值,第二加速过滤器对应的过滤器值等于谓词值。

14、示例性地,在加速过滤器组中的过滤器值大于谓词值的加速过滤器中,第一加速过滤器对应的过滤器值与谓词值最接近。

15、本技术实施例中,如果一个目标加速过滤器为过滤器值等于谓词值的加速过滤器。另一个目标加速过滤器可以基于谓词逻辑与过滤器值等于谓词值的加速过滤器的比较逻辑来确定。示例性地,在过滤器值等于谓词值的加速过滤器的比较逻辑或者该比较逻辑取反后包括谓词逻辑的情况下,另一个目标加速过滤器的过滤器值与谓词值的大小关系与谓词逻辑相同。在过滤器值等于谓词值的加速过滤器的比较逻辑或者该比较逻辑取反后不包括谓词逻辑的情况下,另一个目标加速过滤器的过滤器值与谓词值的大小关系与谓词逻辑相反。

16、示例性地,在第一加速过滤器对应的过滤器值等于谓词值,第二加速过滤器对应的过滤器值小于谓词值的实现方式中,第一加速过滤器对应的比较逻辑或者比较逻辑取反后包括谓词逻辑,谓词逻辑为小于。或者,第一加速过滤器对应的比较逻辑或者比较逻辑取反后不包括谓词逻辑,谓词逻辑为大于等于。

17、在第一加速过滤器对应的过滤器值大于谓词值,第二加速过滤器对应的过滤器值等于谓词值的实现方式中,第二加速过滤器对应的比较逻辑或者比较逻辑取反后包括谓词逻辑,谓词逻辑为大于。或者,第二加速过滤器对应的比较逻辑或者比较逻辑取反后不包括谓词逻辑,谓词逻辑为小于等于。

18、其中,比较逻辑包括谓词逻辑指的是:比较逻辑为大于等于,谓词逻辑为大于;或者比较逻辑为小于等于,谓词逻辑为小于。比较逻辑取反后包括谓词逻辑指的是:比较逻辑为小于,比较逻辑取反后为大于等于,谓词逻辑为大于;或者比较逻辑为大于,比较逻辑取反后为小于等于,谓词逻辑为小于。

19、比较逻辑不包括谓词逻辑指的是:比较逻辑为大于,谓词逻辑为大于等于;或者比较逻辑为小于,谓词逻辑为小于等于。比较逻辑取反后不包括谓词逻辑指的是:比较逻辑为大于等于,比较逻辑取反后为小于,谓词逻辑为小于等于;或者比较逻辑为小于等于,比较逻辑取反后为大于,谓词逻辑为大于等于。

20、在一种可能的实现方式中,在谓词逻辑为大于或大于等于的情况下,多个目标加速过滤器中的第一加速过滤器的修正运算为或运算(or),多个目标加速过滤器中的第二加速过滤器的修正运算为与运算(and);在谓词逻辑为小于或小于等于的情况下,第一加速过滤器的修正运算为与运算,第二加速过滤器的修正运算为或运算。

21、在一种可能的实现方式中,在目标加速过滤器对应的比较逻辑与谓词逻辑不同的情况下,目标加速过滤器在同态比较操作中的运算流程还包括:取反操作(not);在根据多个目标加速过滤器以及每个目标加速过滤器的修正运算,对初始同态比较结果进行修正之前,该方法还包括:在目标加速过滤器对应的比较逻辑与谓词逻辑不同的情况下,对目标过滤器进行取反操作。

22、其中,取反操作指的是对目标加速过滤器所指示的结果取反并且将对应的比较逻辑取反。比较逻辑与谓词逻辑不同指的是两个逻辑相反。例如,大于和大于等于是相同的逻辑,小于和小于等于也是相同的逻辑。大于和小于是相反的逻辑,大于和小于等于是相反的逻辑,小于和大于等于是相反的逻辑,小于等于和大于等于是相反的逻辑。

23、比较逻辑为大于时,取反后为小于等于;比较逻辑为小于时,取反后为大于等于。相应地,比较逻辑为大于等于时,取反后为小于;比较逻辑为小于等于时,取反后为大于。

24、在一种可能的实现方式中,获取谓词的运算逻辑的过程包括:接收客户端通过密文形式发送的运算逻辑。

25、本技术实施例中,客户端预先以明文的方式确定目标加速过滤器以及每个目标加速过滤器在同态比较操作中的运算流程,再向服务端以密文的方式发送运算逻辑,保证了服务端在完全加密的环境中使用目标加速过滤器,进而保证了服务端的计算都以密文形式进行,从而实现了服务端的同态数据库的高安全性。

26、在一种可能的实现方式中,获取谓词的运算逻辑的过程包括:接收查询请求,查询携带有谓词;根据谓词以及加速过滤器组确定运算逻辑。

27、示例性地,服务端接收到的查询请求可以是明文形式的,这种场景下为了根据查询请求以及加速过滤器组确定运算逻辑,加速过滤器组中各个加速过滤器的元数据信息可以相应地采用明文方式存储。示例性地,服务端接收到的查询请求可以是确定性加密等形式的,这种场景下加速过滤器组中各个加速过滤器的元数据信息可以相应地采用确定性加密等方式存储。

28、在一种可能的实现方式中,该方法还包括:将谓词的过滤器添加至加速过滤器组。

29、在一种可能的实现方式中,根据运算逻辑执行谓词值与同态数据库中的各个条目的同态比较操作的过程包括:根据运算逻辑并行执行谓词值与同态数据库中的各个条目的同态比较操作。

30、示例性地,可以将每个条目的同态比较操作划分为独立的并行单元,在同一服务端或者加速器上不同的计算节点(或流处理器单元)上同时执行。

31、本技术实施例中,将同态比较操作进行双维度的并行化,不仅对每个同态比较操作进行了算子内部的并行化,还将单个查询任务中的多个同态比较操作进行了并行化,充分利用了服务端或者加速器的计算资源。此外,由于同态数据库需要对同态数据库中的所有条目进行同态比较,因此相关技术中查询任务的性能与同态数据库的条目数量呈线性关系。本技术实施例使得单个查询任务中的多个同态比较操作可以并行化,因此可以同时并行执行同态数据库中多个条目的同态比较操作,支持同态数据库的纵向扩展,即同态数据库内条目数量的增加不会影响同态比较操作的性能,实现了查询延迟不受同态数据库的条目数量影响,相较于相关技术提高了查询任务的吞吐量,同时降低了查询延迟,显著提高了整个同态数据库的性能。

32、第二方面,本技术提供一种数据处理方法,该方法包括:接收查询请求,查询请求携带有谓词,谓词包括谓词值与谓词逻辑;根据谓词以及加速过滤器组中各个加速过滤器的元数据信息,确定谓词的运算逻辑;以密文形式向服务端发送运算逻辑;其中,加速过滤器的元数据信息包括加速过滤器的标识、对应的过滤器值以及对应的比较逻辑,过滤器用于指示同态数据库中的每个条目与过滤器值的关系是否满足比较逻辑;运算逻辑用于指示:加速过滤器组中的多个目标加速过滤器以及每个目标加速过滤器在同态比较操作中的运算流程,多个目标加速过滤器中存在两个目标加速过滤器对应的过滤器值所组成的区间内包括谓词值。

33、一种可能的实现方式中,查询请求中可以携带有多个谓词,客户端可以根据查询请求中子句的语义,将查询请求拆分为多个谓词。

34、客户端最后确定的运算逻辑可以包括:目标加速过滤器的标识、比较逻辑与谓词逻辑相反的目标加速过滤器的取反操作以及每个目标加速过滤器的修正运算。

35、本技术实施例中,客户端预先以明文的方式确定目标加速过滤器以及每个目标加速过滤器在同态比较操作中的运算流程,再向服务端以密文的方式发送运算逻辑,保证了服务端在完全加密的环境中使用目标加速过滤器,进而保证了服务端的计算都以密文形式进行,从而在实现了服务端的同态数据库的高安全性的同时,减少了单个同态比较操作中的串行计算步骤,使得同态比较操作的性能不再受到数据精度的限制,从而提升了查询任务的执行性能。

36、第三方面,本技术提供一种数据处理装置,该装置包括:获取模块,用于获取谓词的运算逻辑,谓词包括谓词值与谓词逻辑,运算逻辑用于指示:加速过滤器组中的多个目标加速过滤器以及每个目标加速过滤器在同态比较操作中的运算流程,加速过滤器组包括多个加速过滤器;同态比较模块,用于根据运算逻辑执行谓词值与同态数据库中的各个条目的同态比较操作,得到谓词的过滤器;其中,过滤器对应一个过滤器值和比较逻辑,过滤器用于指示同态数据库中的每个条目与过滤器值的关系是否满足比较逻辑,谓词的过滤器对应的比较逻辑为谓词逻辑,多个目标加速过滤器中存在两个目标加速过滤器对应的过滤器值所组成的区间内包括谓词值。

37、在一种可能的实现方式中,目标加速过滤器在同态比较操作中的运算流程包括:目标加速过滤器的修正运算;同态比较模块,具体用于:将谓词值与条目的第一同态差按照预设比较范围的位宽同态左移,得到第二同态差,预设比较范围是基于谓词值以及多个目标加速过滤器分别对应的过滤器值确定的;根据第二同态差确定谓词值与条目的初始同态比较结果,初始同态比较结果用于指示谓词值与条目的关系是否满足谓词逻辑;根据多个目标加速过滤器以及每个目标加速过滤器的修正运算,对初始同态比较结果进行修正,得到目标同态比较结果。

38、在一种可能的实现方式中,多个目标加速过滤器包括第一加速过滤器和第二加速过滤器;第一加速过滤器对应的过滤器值大于谓词值,第二加速过滤器对应的过滤器值小于谓词值。

39、在一种可能的实现方式中,在加速过滤器组中的过滤器值大于谓词值的加速过滤器中,第一加速过滤器对应的过滤器值与谓词值最接近;在加速过滤器组中的过滤器值小于谓词值的加速过滤器中,第二加速过滤器对应的过滤器值与谓词值最接近。

40、在一种可能的实现方式中,第一加速过滤器对应的过滤器值等于谓词值,第二加速过滤器对应的过滤器值小于谓词值。

41、在一种可能的实现方式中,第一加速过滤器对应的比较逻辑或者比较逻辑取反后包括谓词逻辑,谓词逻辑为小于;或者,第一加速过滤器对应的比较逻辑或者比较逻辑取反后不包括谓词逻辑,谓词逻辑为大于等于。

42、在一种可能的实现方式中,多个目标加速过滤器包括第一加速过滤器和第二加速过滤器;第一加速过滤器对应的过滤器值大于谓词值,第二加速过滤器对应的过滤器值等于谓词值。

43、在一种可能的实现方式中,第二加速过滤器对应的比较逻辑或者比较逻辑取反后包括谓词逻辑,谓词逻辑为大于;或者,第二加速过滤器对应的比较逻辑或者比较逻辑取反后不包括谓词逻辑,谓词逻辑为小于等于。

44、在一种可能的实现方式中,在谓词逻辑为大于或大于等于的情况下,多个目标加速过滤器中的第一加速过滤器的修正运算为或运算(or),多个目标加速过滤器中的第二加速过滤器的修正运算为与运算(and);在谓词逻辑为小于或小于等于的情况下,第一加速过滤器的修正运算为与运算,第二加速过滤器的修正运算为或运算。

45、在一种可能的实现方式中,在目标加速过滤器对应的比较逻辑与谓词逻辑不同的情况下,目标加速过滤器在同态比较操作中的运算流程还包括:取反操作;在根据多个目标加速过滤器以及每个目标加速过滤器的修正运算,对初始同态比较结果进行修正之前,同态比较模块,还用于在目标加速过滤器对应的比较逻辑与谓词逻辑不同的情况下,对目标过滤器进行取反操作。

46、在一种可能的实现方式中,获取模块,具体用于接收客户端通过密文形式发送的运算逻辑。

47、在一种可能的实现方式中,获取模块,具体用于:接收查询请求,查询携带有谓词;根据谓词以及加速过滤器组确定运算逻辑。

48、在一种可能的实现方式中,获取模块,还用于将谓词的过滤器添加至加速过滤器组。

49、在一种可能的实现方式中,同态比较模块,具体用于根据运算逻辑并行执行谓词值与同态数据库中的各个条目的同态比较操作。

50、第四方面,本技术提供一种数据处理装置,该装置包括:收发模块,用于接收查询请求,查询请求携带有谓词,谓词包括谓词值与谓词逻辑;处理模块,用于根据谓词以及加速过滤器组中各个加速过滤器的元数据信息,确定谓词的运算逻辑;收发模块,还用于以密文形式向服务端发送运算逻辑;其中,加速过滤器的元数据信息包括加速过滤器的标识、对应的过滤器值以及对应的比较逻辑,过滤器用于指示同态数据库中的每个条目与过滤器值的关系是否满足比较逻辑;运算逻辑用于指示:加速过滤器组中的多个目标加速过滤器以及每个目标加速过滤器在同态比较操作中的运算流程,多个目标加速过滤器中存在两个目标加速过滤器对应的过滤器值所组成的区间内包括谓词值。

51、第五方面,本技术提供一种电子设备,该设备包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序或指令;当一个或多个计算机程序或指令被一个或多个处理器执行,使得一个或多个处理器实现如第一方面和第二方面中任一项所述的方法。

52、第六方面,本技术提供一种电子设备,包括,处理器,用于执行如第一方面和第二方面中任一项所述的方法。

53、第七方面,本技术提供一种电子设备,该设备包括:处理电路和接口电路;其中,接口电路用于与电子设备外部的存储器耦合,并为处理电路访问存储器提供通信接口;处理电路用于执行存储器中的程序指令,以实现如第一方面和第二方面中任一项所述的方法。

54、在具体实现过程中,电子设备可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本技术实施例对处理器及各种电路的具体实现方式不做限定。

55、第八方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储了程序代码,程序代码被处理器执行时,实现如第一方面和第二方面中任一项所述的方法。

56、第九方面,本技术提供一种芯片,包括:至少一个处理器。该至少一个处理器用于执行如第一方面和第二方面中任一项所述的方法。

57、可选地,芯片还包括存储器。至少一个处理器用于执行存储器中的代码,当至少一个处理器执行该代码时,使得芯片实现如第一方面和第二方面中任一项所述的方法。

58、可选地,上述芯片还可以为集成电路。

59、第十方面,本技术提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现如第一方面和第二方面中任一项所述的方法。