本申请涉及数据库查询,具体涉及一种数据库血缘关系的查询方法、装置、介质及设备。
背景技术:
1、数据血缘,又称数据血统、数据起源、数据谱系,是指数据的全生命周期中,数据从产生、处理、加工、融合、流转到最终消亡,数据之间自然形成一种关系,其记录了数据产生的链路关系,这些关系与人类的血缘关系比较相似,所以被成为数据库血缘关系;而元数据是描述其它数据的数据,或者说是用于提供某种资源的有关信息的结构数据。数据血缘是元数据的组成部分之一,它分析表和字段从数据源到当前表的血缘路径,以及血缘字段之间存在的关系是否满足,关注的数据一致性以及表设计的合理性;血缘治理主要用来追溯问题数据在上游表的来源,以及分析当前表的对下游表的影响扩散分析。
2、apache doris是一个基于mpp架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。
3、然而,数据库血缘关系的分析和查询通常需要复杂的查询语句和专业的数据库技术,用户需要编写特定的sql查询语句来追溯数据的来源和流向,这对于非专业技术用户而言是存在较大难度的。因此,需要一种可以适用于普通用户的数据库血缘关系查询方法。
技术实现思路
1、为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种数据库血缘关系的查询方法、装置、介质及设备。
2、根据本申请的一个方面,提供了一种数据库血缘关系的查询方法,包括:获取用户的查询需求;其中,所述查询需求包括自然语言数据;识别所述查询需求,得到所述用户的查询意图和查询目标;其中,所述查询意图表示所述用户输入的数据关系查询目的,所述查询目标表示所述用户查询的实体对象;基于所述查询意图和所述查询目标,生成查询语句;在数据库中执行所述查询语句,得到查询数据;结合所述查询需求,将所述查询数据转换为自然语言描述的查询结果;将所述查询结果返回并展示给所述用户。
3、在一实施例中,所述识别所述查询需求,得到所述用户的查询意图和查询目标包括:采用自然语言处理库对所述查询需求进行词性标注和命名实体识别,得到所述查询意图和所述查询目标。
4、在一实施例中,所述基于所述查询意图和所述查询目标,生成查询语句包括:基于所述查询意图和所述查询目标,采用模板引擎或构建函数自动生成声明式图查询语句。
5、在一实施例中,所述查询数据为字符串数据;其中,所述结合所述查询需求,将所述查询数据转换为自然语言描述的查询结果包括:结合所述查询需求,将所述字符串数据转换为自然语言,得到所述查询结果。
6、在一实施例中,所述数据库包括图形数据库;其中,所述在数据库中执行所述查询语句,得到查询数据包括:在所述图形数据库中执行所述查询语句,得到查询数据。
7、在一实施例中,在所述获取用户的查询需求之前,所述数据库血缘关系的查询方法还包括:构建所述图形数据库;其中,所述图形数据库包括表数据节点、数据流向关系、sql操作类型和时间戳。
8、在一实施例中,所述构建所述图形数据库包括:获取所述数据库的审计日志;所述审计日志包括所述数据库进行查询或表操作的相关审计信息;解析所述审计日志,得到查询或表操作的对象信息、关系信息、操作信息和时间信息;基于所述对象信息、所述关系信息、所述操作信息和所述时间信息,在所述数据库构建所述图形数据库。
9、为了更好的进行说明,本申请图形数据库以neo4j图数据库为例进行说明,声明式图查询语句以cypher查询语句为例进行说明,自然语言处理库以spacy库为例进行说明。需要说明的是,该举例说明不构成对本申请的保护范围的限制,应当理解为其他可实现本申请实施例中功能的其他的图形数据库、声明式图查询语句和自然语言处理库也在本申请的保护范围内。
10、根据本申请的另一个方面,提供了一种数据库血缘关系的查询装置,包括:查询需求获取模块,用于获取用户的查询需求;其中,所述查询需求包括自然语言数据;查询需求识别模块,用于识别所述查询需求,得到所述用户的查询意图和查询目标;其中,所述查询意图表示所述用户输入的数据关系查询目的,所述查询目标表示所述用户查询的实体对象;查询语句生成模块,用于基于所述查询意图和所述查询目标,生成查询语句;查询数据获取模块,用于在数据库中执行所述查询语句,得到查询数据;查询结果转换模块,用于结合所述查询需求,将所述查询数据转换为自然语言描述的查询结果;查询结果展示模块,用于将所述查询结果返回并展示给所述用户。
11、根据本申请的另一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的数据库血缘关系的查询方法。
12、根据本申请的另一个方面,提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器用于执行上述任一所述的数据库血缘关系的查询方法。
13、相比于现有技术,本申请提供的一种数据库血缘关系的查询方法、装置、介质及设备有以下有益效果:
14、1、通过获取用户的自然语言描述的查询需求后通过识别查询需求得到用户的查询意图和查询目标,并基于查询意图和查询目标自动生成查询语句在数据库中执行查询操作以得到查询数据,结合用户的查询需求将查询数据转换为自然语言描述的查询结果返回并展示给用户,以降低数据库血缘关系的查询难度,从而满足普通用户的查询需求。
15、2、通过对自然语言的接收、处理和返回,实现了用户和数据库系统之间的交互式查询。
16、3、通过图数据库技术,直观的展示了数据库的血缘关系,提高了用户的理解度。
17、4、通过实时分析数据库血缘关系,提高了数据库的管理效率。
1.一种数据库血缘关系的查询方法,其特征在于,包括:
2.根据权利要求1所述的数据库血缘关系的查询方法,其特征在于,所述识别所述查询需求,得到所述用户的查询意图和查询目标包括:
3.根据权利要求1所述的数据库血缘关系的查询方法,其特征在于,所述基于所述查询意图和所述查询目标,生成查询语句包括:
4.根据权利要求1所述的数据库血缘关系的查询方法,其特征在于,所述查询数据为字符串数据;其中,所述结合所述查询需求,将所述查询数据转换为自然语言描述的查询结果包括:
5.根据权利要求1所述的数据库血缘关系的查询方法,其特征在于,所述数据库包括图形数据库;其中,所述在数据库中执行所述查询语句,得到查询数据包括:
6.根据权利要求5所述的数据库血缘关系的查询方法,其特征在于,在所述获取用户的查询需求之前,所述数据库血缘关系的查询方法还包括:
7.根据权利要求6所述的数据库血缘关系的查询方法,其特征在于,所述构建所述图形数据库包括:
8.一种数据库血缘关系的查询装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的数据库血缘关系的查询方法。
10.一种电子设备,其特征在于,包括:
