【技术实现步骤摘要】
数据查询方法、装置、计算机设备和存储介质
[0001]本申请涉及隐私计算
,特别是涉及一种数据查询方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
[0002]随着隐私计算的发展,出现了联合分析(Federated Analysis)技术,联合分析是一种分布式OLAP(on
‑
Line Analytic Processing,联机分析处理),该方法分散了分析数据的过程,从而无需将数据发送到集中式的服务器就可以进行数据分析,联合分析采用密码学方法等方法,在打破数据孤岛的同时保护用户数据隐私。在整个计算过程中,参与方/攻击者无法通过中间数据或是结果推导对方用户的原始数据。例如参与双方各有一张表想要执行Join操作,即求两张表的交集,双方可以执行PSI(Private Set Intersection)协议在获得交集的同时不会暴露己方非交集的数据给对方。
[0003]然而目前的联合分析是在数据的计算等方面进行隐私保护,经常存在用户输入的分析指令虽然是正确的,但是执行指令可能会造成隐私数据的暴露的问题,导致联合分析过程中隐私数据的安全性低。
技术实现思路
[0004]基于此,有必要针对上述技术问题,提供一种数据查询方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,以提高联合分析过程中隐私数据的安全性。
[0005]一方面,本申请提供了一种数据查询方法。所述方法包括:获取针对至少两个数据源的待执行的查询语句,从所述查询语句中提取得到联合子查询语句和各 ...
【技术保护点】
【技术特征摘要】
1.一种数据查询方法,其特征在于,所述方法包括:获取针对至少两个数据源的待执行的查询语句,从所述查询语句中提取得到联合子查询语句和各数据源各自对应的本地子查询语句;针对每个本地子查询语句,确定用于记录所针对的本地子查询语句所期望查询数据的第一目标列,基于所述第一目标列与所属数据源中初始列之间的第一继承关系,确定所述第一目标列从所述初始列的联合属性中继承得到的第一属性;所述联合属性用于对所述初始列进行针对各数据源的联合描述;确定用于记录所述联合子查询语句所期望查询数据的第二目标列,基于所述第二目标列与各所述第一目标列之间的第二继承关系,确定所述第二目标列从各所述第一目标列的第一属性中继承得到的第二属性;基于所述第一属性和所述第二属性对所述联合子查询语句进行校验,当校验结果指示所述联合子查询语句的执行对数据源的私有数据造成暴露时,屏蔽对所述查询语句的执行。2.根据权利要求1所述的方法,其特征在于,所述基于所述第二目标列与各所述第一目标列之间的第二继承关系,确定所述第二目标列从各所述第一目标列的第一属性中继承得到的第二属性包括:从各所述第一目标列中确定所述联合子查询语句中的列选择算子所作用的列,得到目标选择列;基于所述第二目标列与所述目标选择列之间的第二继承关系,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性。3.根据权利要求2所述的方法,其特征在于,所述基于所述第二目标列与所述目标选择列之间的第二继承关系,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性,包括:当所述第二继承关系包括来源继承关系时,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性包括数据来源信息;当所述第二继承关系包括权限继承关系时,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性包括联合操作权限信息;当所述第二继承关系包括主键继承关系时,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性包括主键信息。4.根据权利要求1所述的方法,其特征在于,所述基于所述第二目标列与各所述第一目标列之间的第二继承关系,确定所述第二目标列从各所述第一目标列的第一属性中继承得到的第二属性包括:从各所述第一目标列中确定所述联合子查询语句中的分组算子所作用的列,得到目标分组列;基于所述第二目标列与所述目标分组列之间的第二继承关系,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性。5.根据权利要求4所述的方法,其特征在于,所述基于所述第二目标列与所述目标分组列之间的第二继承关系,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性包括:
当所述第二继承关系包括来源继承关系时,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性包括数据来源信息;当所述第二继承关系包括权限继承关系时,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性包括联合操作权限信息;当所述第二继承关系包括主键继承关系且所述第二目标列的列名与所述目标分组列的列名一致时,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性包括主键信息。6.根据权利要求1所述的方法,其特征在于,所述基于所述第一目标列与所属数据源中初始列之间的第一继承关系,确定所述第一目标列从所述初始列的联合属性中继承得到的第一属性包括:从所述初始列中确定所述所针对的本地子查询语句包括的列选择算子所作用的列,得到目标选择列;基于所述第一目标列与所述目标选择列之间的第一继承关系,确定所述第一目标列从所述目标选择列的联合属性中继承得到的第一属性。7.根据权利要求6所述的方法,其特征在于,所述所针对的本地子查询语句还包括分组算子,所述基于所述第一目标列与所属数据源中初始列之间的第一继承关系,确定所述第一目标列从所述初始列的联合属性中继承得到的第一属性还包括:从所述初始列中确定所述分组算子所作用的列,得到目标分组列;基于所述第一目标列与所述目标分组列之间的第一继承关系,确定所述第一目标列从所述目标分组列的联合属性中继承得到的第一属性。8.根据权利要求1所述的方法,其特征在于,所述基于所述第一属性和所述第二属性对所述联合子查询语句进行校验包括:从所述联合子查询语句中确定所包含的算子;针对每个算子,确定所针对的算子所作用的列,基于所述第一属性和所述第二属性确定所述所针对的算子所作用的列的目标属性;基于所述所针对的算子对应的校验规则对所述目标属性进行校验,得到校验结果。9.根据权利要求8所述的方法,其特征在于,所述针对每个算子,确定所针对的算子所作用的列,基于所述第一属性和所述第二属性确定所述所针对的算子所作用的列的目标属性,包括:针对列选择算子,确定所述列选择算子所作用的列,基于所述第一属性和所述第二属性确定所述列选择算子所...
【专利技术属性】
技术研发人员:黄晨宇,蒋杰,刘煜宏,陈鹏,程勇,范晓亮,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。