数据查询方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:35499212 阅读:24 留言:0更新日期:2022-11-05 17:03
本申请涉及一种数据查询方法、装置、计算机设备和存储介质,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。其中方法包括:获取查询语句,从查询语句中提取得到联合子查询语句和本地子查询语句;确定本地子查询语句对应的第一目标列,基于第一目标列与所属数据源中初始列之间的第一继承关系,确定第一目标列继承得到的第一属性;确定联合子查询语句对应的第二目标列,基于第二目标列与第一目标列之间的第二继承关系,确定第二目标列继承得到的第二属性;基于第一属性和第二属性对联合子查询语句进行校验,当校验结果指示不合规,屏蔽对查询语句的执行。采用本申请的方法可以提高联合分析过程中隐私数据的安全性。高联合分析过程中隐私数据的安全性。高联合分析过程中隐私数据的安全性。

【技术实现步骤摘要】
数据查询方法、装置、计算机设备和存储介质


[0001]本申请涉及隐私计算
,特别是涉及一种数据查询方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]随着隐私计算的发展,出现了联合分析(Federated Analysis)技术,联合分析是一种分布式OLAP(on

Line Analytic Processing,联机分析处理),该方法分散了分析数据的过程,从而无需将数据发送到集中式的服务器就可以进行数据分析,联合分析采用密码学方法等方法,在打破数据孤岛的同时保护用户数据隐私。在整个计算过程中,参与方/攻击者无法通过中间数据或是结果推导对方用户的原始数据。例如参与双方各有一张表想要执行Join操作,即求两张表的交集,双方可以执行PSI(Private Set Intersection)协议在获得交集的同时不会暴露己方非交集的数据给对方。
[0003]然而目前的联合分析是在数据的计算等方面进行隐私保护,经常存在用户输入的分析指令虽然是正确的,但是执行指令可能会造成隐私数据的暴露的问题,导致联合分析过程中隐私数据的安全性低。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种数据查询方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,以提高联合分析过程中隐私数据的安全性。
[0005]一方面,本申请提供了一种数据查询方法。所述方法包括:获取针对至少两个数据源的待执行的查询语句,从所述查询语句中提取得到联合子查询语句和各数据源各自对应的本地子查询语句;针对每个本地子查询语句,确定用于记录所述所针对的本地子查询语句所期望查询数据的第一目标列,基于所述第一目标列与所属数据源中初始列之间的第一继承关系,确定所述第一目标列从所述初始列的联合属性中继承得到的第一属性;所述联合属性用于对所述初始列进行针对各数据源的联合描述;确定用于记录所述联合子查询语句所期望查询数据的第二目标列,基于所述第二目标列与各所述第一目标列之间的第二继承关系,确定所述第二目标列从各所述第一目标列的第一属性中继承得到的第二属性;基于所述第一属性和所述第二属性对所述联合子查询语句进行校验,当校验结果指示所述联合子查询语句的执行对数据源的私有数据造成暴露时,屏蔽对所述查询语句的执行。
[0006]在其中一个实施例中,所述基于所述第一目标列与所述目标选择列之间的第一继承关系,确定所述第一目标列从所述目标选择列的第一属性中继承得到的第一属性,包括:当所述第一继承关系包括来源继承关系时,确定所述第一目标列从所述目标选择列的第一属性中继承得到的第一属性包括数据来源信息;当所述第一继承关系包括权限继承关系时,确定所述第一目标列从所述目标选择列的第一属性中继承得到的第一属性包括联合操作权限信息;当所述第一继承关系包括主键继承关系时,确定所述第一目标列从所述目标选择列的第一属性中继承得到的第一属性包括主键信息。
[0007]在其中一个实施例中,所述基于所述第一目标列与所述目标分组列之间的第一继承关系,确定所述第一目标列从所述目标分组列的第一属性中继承得到的第一属性包括:当所述第一继承关系包括来源继承关系时,确定所述第一目标列从所述目标分组列的第一属性中继承得到的第一属性包括数据来源信息;当所述第一继承关系包括权限继承关系时,确定所述第一目标列从所述目标分组列的第一属性中继承得到的第一属性包括联合操作权限信息;当所述第一继承关系包括主键继承关系且所述第一目标列的列名与所述目标分组列的列名一致时,确定所述第一目标列从所述目标分组列的第一属性中继承得到的第一属性包括主键信息。
[0008]另一方面,本申请还提供了一种数据查询装置。所述装置包括:查询语句获取模块,用于获取针对至少两个数据源的查询语句,从所述查询语句中提取得到联合子查询语句和各数据源各自对应的本地子查询语句;第一属性确定模块,用于针对每个本地子查询语句,确定用于记录所述所针对的本地子查询语句所期望查询数据的第一目标列,基于所述第一目标列与所属数据源中初始列之间的第一继承关系,确定所述第一目标列从所述初始列的联合属性中继承得到的第一属性;所述联合属性用于对所述初始列进行针对各数据源的联合描述;第二属性确定模块,用于确定用于记录所述联合子查询语句所期望查询数据的第二目标列,基于所述第二目标列与各所述第一目标列之间的第二继承关系,确定所述第二目标列从各所述第一目标列的第一属性中继承得到的第二属性;校验模块,用于基于所述第一属性和所述第二属性对所述联合子查询语句进行校验,当校验结果指示所述联合子查询语句的执行对数据源的私有数据造成暴露时,屏蔽对所述查询语句的执行。
[0009]另一方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据查询方法的步骤。
[0010]另一方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现数据查询方法的步骤。
[0011]另一方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现数据查询方法的步骤。
[0012]上述数据查询方法、装置、计算机设备、存储介质和计算机程序产品,在获取到针对至少两个数据源的待执行的查询语句,从查询语句中提取得到联合子查询语句和各数据源各自对应的本地子查询语句,针对每个本地子查询语句,确定用于记录所针对的本地子查询语句所期望查询数据的第一目标列,基于第一目标列与所属数据源中初始列之间的第一继承关系,确定第一目标列从初始列的联合属性中继承得到的第一属性,确定用于记录联合子查询语句所期望查询数据的第二目标列,基于第二目标列与各第一目标列之间的第二继承关系,确定第二目标列从各第一目标列的第一属性中继承得到的第二属性,基于第一属性和第二属性对联合子查询语句进行校验,当校验结果指示联合子查询语句的执行对数据源的私有数据造成暴露时,屏蔽对查询语句的执行,从而可以实现通过继承关系的分析,在SQL指令执行之前,对SQL指令是否合规进行校验,对不合规的SQL指令屏蔽执行,提高了联合分析过程中的数据安全性。
附图说明
[0013]图1为一个实施例中数据源的数据示例;图2为一个实施例中SQL指令的举例示意;图3为一个实施例中数据查询方法的应用环境图;图4为一个实施例中数据查询方法的流程示意图;图5为一个实施例中继承关系的示例;图6为一个实施例中数据血缘森林的示例;图7为一个实施例中数据查询方法的整体流程示意图;图8为另一个实施例中数据查询方法的流程示意图;图9为一个实施例中子查询的DAG示意图;图10为一个实施例中数据查询装置的结构框图;图11为一个实施例中计算机设备的内部结构图。
具体实施方式
[0014]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,其特征在于,所述方法包括:获取针对至少两个数据源的待执行的查询语句,从所述查询语句中提取得到联合子查询语句和各数据源各自对应的本地子查询语句;针对每个本地子查询语句,确定用于记录所针对的本地子查询语句所期望查询数据的第一目标列,基于所述第一目标列与所属数据源中初始列之间的第一继承关系,确定所述第一目标列从所述初始列的联合属性中继承得到的第一属性;所述联合属性用于对所述初始列进行针对各数据源的联合描述;确定用于记录所述联合子查询语句所期望查询数据的第二目标列,基于所述第二目标列与各所述第一目标列之间的第二继承关系,确定所述第二目标列从各所述第一目标列的第一属性中继承得到的第二属性;基于所述第一属性和所述第二属性对所述联合子查询语句进行校验,当校验结果指示所述联合子查询语句的执行对数据源的私有数据造成暴露时,屏蔽对所述查询语句的执行。2.根据权利要求1所述的方法,其特征在于,所述基于所述第二目标列与各所述第一目标列之间的第二继承关系,确定所述第二目标列从各所述第一目标列的第一属性中继承得到的第二属性包括:从各所述第一目标列中确定所述联合子查询语句中的列选择算子所作用的列,得到目标选择列;基于所述第二目标列与所述目标选择列之间的第二继承关系,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性。3.根据权利要求2所述的方法,其特征在于,所述基于所述第二目标列与所述目标选择列之间的第二继承关系,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性,包括:当所述第二继承关系包括来源继承关系时,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性包括数据来源信息;当所述第二继承关系包括权限继承关系时,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性包括联合操作权限信息;当所述第二继承关系包括主键继承关系时,确定所述第二目标列从所述目标选择列的第一属性中继承得到的第二属性包括主键信息。4.根据权利要求1所述的方法,其特征在于,所述基于所述第二目标列与各所述第一目标列之间的第二继承关系,确定所述第二目标列从各所述第一目标列的第一属性中继承得到的第二属性包括:从各所述第一目标列中确定所述联合子查询语句中的分组算子所作用的列,得到目标分组列;基于所述第二目标列与所述目标分组列之间的第二继承关系,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性。5.根据权利要求4所述的方法,其特征在于,所述基于所述第二目标列与所述目标分组列之间的第二继承关系,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性包括:
当所述第二继承关系包括来源继承关系时,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性包括数据来源信息;当所述第二继承关系包括权限继承关系时,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性包括联合操作权限信息;当所述第二继承关系包括主键继承关系且所述第二目标列的列名与所述目标分组列的列名一致时,确定所述第二目标列从所述目标分组列的第一属性中继承得到的第二属性包括主键信息。6.根据权利要求1所述的方法,其特征在于,所述基于所述第一目标列与所属数据源中初始列之间的第一继承关系,确定所述第一目标列从所述初始列的联合属性中继承得到的第一属性包括:从所述初始列中确定所述所针对的本地子查询语句包括的列选择算子所作用的列,得到目标选择列;基于所述第一目标列与所述目标选择列之间的第一继承关系,确定所述第一目标列从所述目标选择列的联合属性中继承得到的第一属性。7.根据权利要求6所述的方法,其特征在于,所述所针对的本地子查询语句还包括分组算子,所述基于所述第一目标列与所属数据源中初始列之间的第一继承关系,确定所述第一目标列从所述初始列的联合属性中继承得到的第一属性还包括:从所述初始列中确定所述分组算子所作用的列,得到目标分组列;基于所述第一目标列与所述目标分组列之间的第一继承关系,确定所述第一目标列从所述目标分组列的联合属性中继承得到的第一属性。8.根据权利要求1所述的方法,其特征在于,所述基于所述第一属性和所述第二属性对所述联合子查询语句进行校验包括:从所述联合子查询语句中确定所包含的算子;针对每个算子,确定所针对的算子所作用的列,基于所述第一属性和所述第二属性确定所述所针对的算子所作用的列的目标属性;基于所述所针对的算子对应的校验规则对所述目标属性进行校验,得到校验结果。9.根据权利要求8所述的方法,其特征在于,所述针对每个算子,确定所针对的算子所作用的列,基于所述第一属性和所述第二属性确定所述所针对的算子所作用的列的目标属性,包括:针对列选择算子,确定所述列选择算子所作用的列,基于所述第一属性和所述第二属性确定所述列选择算子所...

【专利技术属性】
技术研发人员:黄晨宇蒋杰刘煜宏陈鹏程勇范晓亮
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1