基于意图分解的企业自然语言查询权限校验方法与流程

摘要: 本发明涉及数据库查询权限控制,尤其涉及基于意图分解的企业自然语言查询权限校验方法。背景技术:1、随着企业数据资源规模和业务数据类型的不断增加,自然语言查询逐渐应...
基于意图分解的企业自然语言查询权限校验方法与流程

本发明涉及数据库查询权限控制,尤其涉及基于意图分解的企业自然语言查询权限校验方法。

背景技术:

1、随着企业数据资源规模和业务数据类型的不断增加,自然语言查询逐渐应用于数据库检索、智能问数等数据处理场景。企业数据库中的业务数据通常分布于不同的数据表、数据库视图、指标数据及派生数据中,同一业务查询可能涉及多个物理数据资源及其关联关系。自然语言查询在转换为数据库可执行查询的过程中,需要根据查询语义确定相应的数据资源及数据操作,同时受到用户对不同数据资源访问权限的约束。

2、现有自然语言数据库查询技术通常对用户输入进行语义解析,并结合数据库模式信息、语义层或业务指标信息确定查询涉及的数据表、字段及关联关系,进而生成结构化查询语句。对于数据访问权限,通常根据用户角色、属性、数据库授权信息或访问控制策略,对查询涉及的数据字段、数据范围或查询操作进行权限校验,并根据权限校验结果对查询内容进行过滤、调整、重写或者终止执行。在查询涉及多个相互关联的数据资源时,局部数据资源的权限状态还可能影响已经确定的数据计算关系、关联关系或者派生关系。

3、因此,在自然语言查询已经涉及多个相互关联的数据资源的情况下,如何在其中部分物理数据资源因用户权限限制而不可用于当前查询时,保持查询语义与数据库资源关系的可执行一致性,降低局部资源不可用对整体查询处理过程的影响,是现有企业自然语言查询权限控制中需要进一步解决的技术问题。

技术实现思路

1、本发明所要解决的技术问题是:在企业自然语言查询涉及多个相互关联的数据库物理资源,且部分物理资源因当前用户对相应查询用途不具备权限而不可用于当前查询时,如何避免局部物理资源不可用直接导致整个查询失败,并在保持查询语义和数据库资源关系可执行的条件下重新形成符合用户权限的数据资源组合。

2、本发明解决上述技术问题的技术方案如下:一种基于意图分解的企业自然语言查询权限校验方法,包括:获取自然语言查询及用户权限,分解所述自然语言查询,确定目标语义槽位以及各目标语义槽位对应的物理资源提供者,其中至少一个目标语义槽位对应多个语义匹配的物理资源提供者,并从中确定初始物理资源提供者,形成初始资源绑定;依据各物理资源提供者中物理资源的实际查询用途及所述用户权限,确定各物理资源提供者的有效状态;当已绑定物理资源提供者失效时,将该已绑定物理资源提供者确定为失效物理资源提供者,将所述失效物理资源提供者对应的语义槽位,以及依据资源依赖关系对所述失效物理资源提供者或其必要物理资源存在直接或间接必要依赖的下游物理资源提供者对应的语义槽位,确定为受影响语义槽位,解除所述受影响语义槽位的绑定,并保留未受影响绑定;从所述受影响语义槽位的剩余候选物理资源提供者中确定替代物理资源提供者,重新建立资源绑定;验证重新建立的资源绑定是否满足语义约束和数据库资源关系,并验证其实际查询用途是否被所述用户权限覆盖,验证未通过时重新确定受影响语义槽位并重复解除绑定及重新建立资源绑定,直至形成闭合绑定查询计划或确定无法形成闭合绑定查询计划;在形成所述闭合绑定查询计划时确定权限校验通过,在无法形成所述闭合绑定查询计划时确定权限校验不通过。

3、本发明的有益效果是:在物理资源提供者的资源绑定阶段依据物理资源的实际查询用途和用户权限确定其有效状态,使权限限制能够作用于当前查询所采用的具体物理资源实现;当已绑定物理资源提供者因权限限制而失效时,通过必要依赖关系确定受影响语义槽位,并仅解除受影响语义槽位的资源绑定,从而将局部物理资源失效产生的影响限制于具有实际资源依赖的绑定范围;通过从剩余候选物理资源提供者中重新建立资源绑定,并持续验证语义约束和数据库资源关系以及实际查询用途的权限覆盖情况,使在存在可替代物理资源的情况下能够恢复与原查询语义相对应的可执行数据资源组合,同时避免保留依赖已失效物理资源的不可执行绑定,最终形成与当前用户权限相适配的闭合绑定查询计划。

4、在上述技术方案的基础上,本发明还可以做如下改进。

5、进一步,所述分解自然语言查询,确定目标语义槽位,包括:解析所述自然语言查询,得到语义算子及各语义算子之间的输入输出依赖关系;根据各语义算子中的数据库数据输入位置建立语义槽位,确定各语义槽位的业务语义标识、数据粒度、时间口径及实际查询用途;将完成所述自然语言查询所需且需要绑定数据库物理资源的语义槽位确定为目标语义槽位。

6、采用上述进一步方案的有益效果是:通过将自然语言查询分解为具有输入输出依赖关系的语义算子,并据此确定需要数据库物理资源支撑的目标语义槽位,使后续权限判断和资源重新绑定具有明确的数据需求对象,避免将自然语言表达直接与具体数据库物理资源固定对应,为同一查询语义采用不同物理资源实现提供统一的语义承载位置。

7、进一步,所述确定各目标语义槽位对应的物理资源提供者,包括:从数据库系统目录、视图定义及指标目录获取物理资源以及对应的实现表达式;依据业务语义标识、数据粒度、时间口径、度量单位及聚合规则对所述物理资源进行语义匹配;将满足目标语义槽位语义约束的物理资源确定为对应的物理资源提供者。

8、采用上述进一步方案的有益效果是:通过同时利用数据库物理资源信息和业务语义约束筛选物理资源提供者,使进入同一目标语义槽位候选范围的物理资源在业务语义、统计粒度及计算口径上保持对应关系,从而为权限失效后的替代绑定提供具有相同查询语义基础的物理资源候选,减少因仅依据名称或字段相似性替换资源而导致查询语义改变的情况。

9、进一步,所述依据各物理资源提供者中物理资源的实际查询用途及用户权限确定各物理资源提供者的有效状态,包括:根据目标语义槽位对应的语义算子及物理资源提供者的实现表达式,确定其中各物理资源对应的输出、过滤、计算、聚合、排序、比较或关联用途;将各物理资源对应的实际查询用途及数据作用范围与用户权限进行匹配;当任一必要物理资源的实际查询用途未被用户权限覆盖时,将对应物理资源提供者确定为失效物理资源提供者。

10、采用上述进一步方案的有益效果是:通过结合物理资源在当前查询中的实际使用方式进行权限判断,使同一物理资源在输出、计算、聚合、关联等不同数据处理过程中能够按照对应权限进行有效性确定,从而使物理资源提供者的失效状态反映其在当前具体查询实现中的实际可用性,为后续失效传播提供与当前数据库处理关系相对应的触发状态。

11、进一步,所述资源依赖关系根据物理资源提供者的实现表达式、数据库连接关系及数据血缘确定,并根据依赖类型及必要依赖状态建立资源依赖索引,所述依赖类型包括计算依赖、关联依赖、指标依赖及维度依赖。

12、采用上述进一步方案的有益效果是:通过将物理资源之间的计算、关联、指标及维度关系组织为具有依赖方向和必要依赖状态的资源依赖关系,使物理资源提供者失效后能够按照实际数据库数据处理关系确定其影响对象,为区分与失效资源具有必要依赖的绑定和不受影响的资源绑定提供可查询的关系基础。

13、进一步,所述确定受影响语义槽位,包括:将失效物理资源提供者对应的语义槽位确定为受影响语义槽位,并以所述失效物理资源提供者及其必要物理资源作为传播起点;根据资源依赖索引确定以所述传播起点为必要依赖的下游物理资源提供者,将对应物理资源提供者确定为失效物理资源提供者,并确定对应的受影响语义槽位;沿新确定的失效物理资源提供者继续进行必要依赖传播,直至不存在新的失效物理资源提供者。

14、采用上述进一步方案的有益效果是:通过从初始失效物理资源提供者沿必要资源依赖逐级确定下游受影响绑定,使由局部权限失效造成的间接计算失效、关联失效或者指标依赖失效能够随实际资源依赖被识别,避免仅处理初始无权限资源而在后续绑定中继续保留依赖已经断裂的物理资源实现。

15、进一步,所述解除受影响语义槽位的绑定并保留未受影响绑定,包括:根据受影响语义槽位及待重新绑定集合确定局部解绑集合,解除所述局部解绑集合中各语义槽位与当前物理资源提供者之间的资源绑定,并保留未列入所述局部解绑集合且与失效物理资源提供者不存在直接或间接必要依赖的资源绑定。

16、采用上述进一步方案的有益效果是:通过依据失效传播结果限定需要解除的资源绑定范围,使已通过权限验证且与失效资源不存在必要依赖的物理资源绑定继续保留,从而避免因局部物理资源权限失效而重新求解与该失效无关的资源绑定,同时保持已确认有效的数据库资源关系。

17、进一步,所述重新建立资源绑定包括:从受影响语义槽位对应的物理资源提供者中排除失效物理资源提供者及当前绑定过程中已经验证失败的物理资源提供者,根据语义约束、实际查询用途及用户权限确定替代物理资源提供者,并根据替代物理资源提供者与未受影响绑定之间的数据库连接关系建立新的资源绑定;当数据库连接关系变化使未受影响绑定失去必要依赖时,将对应语义槽位重新纳入局部解绑范围。

18、采用上述进一步方案的有益效果是:通过在重新绑定过程中排除已失效或已经验证不可执行的物理资源提供者,并同步验证替代物理资源提供者与保留绑定之间的数据库连接关系,使替代资源不仅满足当前查询语义和权限要求,还能够与现有资源组合形成可执行的数据关系;当替代资源引起数据库连接关系变化时,将该影响反馈至局部解绑范围,从而避免因单一资源替换产生新的资源关系断裂。

19、进一步,所述验证重新建立的资源绑定是否满足语义约束和数据库资源关系,并验证实际查询用途是否被用户权限覆盖,包括:确定各目标语义槽位是否均绑定有效物理资源提供者,确定已绑定物理资源是否形成可执行数据库处理结构,并确定各已绑定物理资源的实际查询用途是否均被用户权限覆盖;满足上述条件时形成闭合绑定查询计划,产生新的失效物理资源提供者或数据库资源关系验证未通过时继续执行受影响语义槽位确定及重新绑定,在目标语义槽位不存在剩余有效物理资源提供者或无法形成可执行数据库处理结构时确定无法形成闭合绑定查询计划。

20、采用上述进一步方案的有益效果是:通过同时验证目标语义槽位的数据提供完整性、已绑定物理资源之间的数据库可执行关系及实际查询用途是否被用户权限覆盖,使重新绑定过程具有明确的成功和失败终止状态,从而避免仅因各槽位分别存在有权限资源即形成实际上缺少必要连接关系或者计算依赖的查询计划。

21、进一步,根据所述闭合绑定查询计划生成数据库查询语句,并在执行前将数据库查询语句实际采用的物理资源及查询操作与所述闭合绑定查询计划进行匹配。

22、采用上述进一步方案的有益效果是:通过以闭合绑定查询计划限定数据库查询语句的物理数据源、连接关系及查询操作,并在执行前核对数据库查询语句的实际资源使用情况,使数据库查询语句保持与已经完成语义、资源关系及权限验证的绑定结果一致,避免查询语句在编译或转换过程中引入闭合绑定查询计划之外的物理资源或者数据操作。