【技术实现步骤摘要】
一种数据查询方法、设备、系统及存储介质
[0001]本申请涉及数据库
,尤其涉及一种数据查询方法、设备、系统及存储介质。
技术介绍
[0002]在关系型数据库中,多路连接聚合查询(multi
‑
way join&aggregation query)是一种十分常见的分析型查询任务,其涉及到多张数据表的连接,并通过连接来进行数据筛选,在完成数据表的连接后,可在相应的数据列上进行聚合运算,从而完成查询任务。
[0003]目前,用户的数据通常托管在云端的数据库中,当需要对数据表中的数据进行处理、计算等查询操作时,仍需赋予云端的数据库读取明文数据的能力,从某种程度上对数据造成了一定程度的泄露。尽管云端的数据库中装配的可信硬件TEE等安全计算产品可用于保护数据的安全性,但其信任根基于对底层TEE硬件的信任,进一步归约为对TEE硬件生产商的信任;而且,基于TEE的安全计算产品极易受到侧信道攻击,这使得用户的数据仍存在泄露风险。
技术实现思路
[0004]本申请的多个方面提供一种数据查询方法、设备、系统及存储介质,用以解决数据查询过程中的安全性问题。
[0005]本申请实施例提供一种数据查询方法,包括:从接收到的查询指令中,获取待连接的多张数据表对应的连接条件;根据所述连接条件,在全同态加密状态下对所述多张数据表进行连接查询,以生成密态的连接结果表征信息,所述密态的连接结果表征信息用于表征所述查询指令所指定的聚合列中各密态数据的连接状态;基于所述聚合列对应的聚合 ...
【技术保护点】
【技术特征摘要】
1.一种数据查询方法,包括:从接收到的查询指令中,获取待连接的多张数据表对应的连接条件;根据所述连接条件,在全同态加密状态下对所述多张数据表进行连接查询,以生成密态的连接结果表征信息,所述密态的连接结果表征信息用于表征所述查询指令所指定的聚合列中各密态数据的连接状态;基于所述聚合列对应的聚合条件和所述密态的连接结果表征信息,在全同态加密状态下在所述聚合列上执行聚合查询,以生成密态的查询结果。2.根据权利要求1所述的方法,所述根据所述连接条件,在全同态加密状态下对所述多张数据表进行连接查询,以生成密态的连接结果表征信息,包括:在所述多张数据表中,确定各个连接条件各自所指向的数据表对;针对各数据表对,在全同态加密状态下分别根据对应的连接条件执行连接查询,以生成密态的中间结果表征信息,所述中间结果表征信息用于表征两个数据表之间的数据行连接状态;将各数据表对各自所对应的密态的中间结果表征信息传递至所述聚合列,以在所述聚合列上生成所述密态的连接结果表征信息。3.根据权利要求2所述的方法,所述针对各数据表对,在全同态加密状态下分别根据对应的连接条件执行连接查询,以生成密态的中间结果表征信息,包括:基于第一数据表对所对应的目标连接条件所指向的待比较的密文列和/或密态的查询参数,执行同态比较操作,以生成所述第一数据表对所对应的密态的中间结果表征信息;其中,第一数据表对为各数据表对中的任意一个。4.根据权利要求2所述的方法,所述将各数据表对各自对应的密态的中间结果表征信息传递至所述聚合列,以在所述聚合列上生成所述密态的连接结果表征信息,包括:构建所述查询指令对应的查询计划树,所述查询计划树以数据表为节点,其中,所述聚合列所属的数据表作为根节点;针对所述查询计划树中未处理的目标边,根据所述目标边连接的子节点上存储的密态的第一记录信息、所述目标边连接的父节点上存储的密态的第二记录信息以及所述目标边对应的数据表对所对应的中间结果表征信息,计算密态的第三记录信息;将所述父节点上存储的密态的第二记录更新为所述密态的第三记录,并删除所述目标边;其中,任意节点上存储的密态的记录信息为节点自身在其它已处理边中作为父节点时得到的或节点自身存储的密态的初始信息,所述初始信息表征节点对应的数据表中的各个数据行的连接状态均为允许连接。5.根据权利要求4所述的方法,采用张量表征所述第一记录信息、所述第二记录信息、所述第三记录信息和所述中间结果表征信息,所述计算密态的第三记录信息,包括:对所述密态的第一记录信息、所述密态的第二记录信息和所述密态的中间结果表征信息进行维度统一后,执行阿达玛乘法计算,以生成所述密态的第三记录信息;其中,所述中间结果表征信息采用二阶张量,所述二阶张量的两个维度分别代表两个数据表,所述二阶张量中的元素用于表征所述数据行连接状态且取值为0或1;若两个数据行的连接状态为允许连接,则对应的元素取值为1,若连接状态为禁止连接,则对应的元素
取值为0。6.根据权利要求4所述的方法,还包括:针对任意两个待乘张量,计算所述两个张量的维度的并集;若第一张量的维度为所述并集的真子集,则为所述第一张量增加未包含在所述并集中的维度;在新增的维度上复制所述第一张量中的原始元素,以生成维度统一后的第一张量;其中,所述第一张量为两个待乘张量中的任意一个,复制的次数为所述新增的维度对应的数据表中包含的数据行数。7.根据权利要求5所述的方法,还包括:若在完成所述目标边的处理后,确定所述父节点与其各个子节点之间的边已完成处理,则在所述父节点上存储的密态的第三记录信息中确定待收缩的目标维度;沿所述目标维度的方向执行元素的密态累加计算,以生成收缩后的密态的第四记录信息;将所述父节点上存储的密态的第三记录更新为所...
【专利技术属性】
技术研发人员:李飞飞,汪晟,李亦然,苏乐,
申请(专利权)人:阿里云计算有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。