用于基于图的查询分析的系统和方法技术方案

技术编号:28329178 阅读:21 留言:0更新日期:2021-05-04 13:11
提供了一种根据数据库查询确定数据血统的计算机实现的方法。解析接收到的数据库查询以检测与多个数据流相关联的多个数据实体。生成与所述接收到的数据库查询相关联的查询图,其中,所述查询图包括通过边缘连接的多个节点。所述多个节点对应于所述多个数据实体,所述边缘对应于所述多个数据流。数据血统查询从存储器中检索。所述数据血统查询包括与所述生成的查询图内的所述多个节点相关联的所述多个数据实体中的一个或多个数据实体。所述生成的查询图的表示根据所述数据血统查询输出。

【技术实现步骤摘要】
【国外来华专利技术】用于基于图的查询分析的系统和方法相关申请的交叉引用本申请要求2018年9月20日递交的专利技术名称为“用于基于图的查询分析的系统和方法(SystemsAndMethodsForGraph-BasedQueryAnalysis)”的第62/733,998号美国临时专利申请的优先权,该申请的全部内容通过引用并入本文。
本专利技术涉及数据血统管理,具体地,涉及用于细粒度数据血统管理的基于图的查询分析的系统和方法。
技术介绍
数据血统是数据的基因,它描述了数据在经历不同的过程和数据操作时发生的情况。更具体地,数据血统使分析管道可见,并简化了对错误溯源的过程。现在,企业可以使用数据血统分析来发现最终数据报告中检测到异常时可能的因果关系,或评估数据表修改所造成的影响。此类数据管理和分析任务对于维持业务的正常运营至关重要。在“大数据”环境中,企业可能有大量数据源需要合并、连接、过滤等,以定期生成数据报告,这使维护数据血统的复杂性增加。因此,表示、管理和评估数据血统的工具对公司来说是必不可少的。
技术实现思路
现在描述各种示例,简单地介绍一些概念,在具体实施方式中会进一步描述这些概念。
技术实现思路
并非旨在确定请求保护的主题的关键或必要特征,也并非旨在用于限制请求保护的主题的范围。根据本专利技术的第一方面,提供了一种根据数据库查询确定数据血统的计算机实现的方法。解析接收到的数据库查询以检测与多个数据流相关联的多个数据实体。根据所述接收到的数据库查询生成查询图。所述查询图包括多个通过边缘连接的节点。所述多个节点对应于所述多个数据实体,所述边缘对应于所述多个数据流。数据血统查询从存储器中检索。所述数据血统查询包括与所述生成的查询图内的所述多个节点相关联的所述多个数据实体中的一个或多个数据实体。所述生成的查询图的表示根据所述数据血统查询输出。在所述第一方面提供的所述方法的第一种实现方式中,检索至少一个第二查询图,其中,所述第二查询图包括与所述生成的查询图共用的至少一个节点。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第二种实现方式中,与所述生成的查询图共用的所述至少一个节点包括以下各项中的至少一个:数据表、表列、数据视图、查询结果集和用户定义函数。在这方面,通过在生成查询图的过程中对用户定义的表、列和数据转换(包括用户定义函数)建模,可以在图中涉及细粒度操作,从而允许与数据血统相关联的细粒度数据分析。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第三种实现方式中,根据所述查询图和所述第二查询图生成组合属性图。所述组合属性图从所述查询图内的起始节点开始通过所述至少一个共用节点跟踪数据的数据血统并终止于输出所述数据的最终表示的节点。在这方面,可以通过合并引用相同实体(例如,数据表、UDF等)的顶点/节点来聚合查询图,这有助于生成聚合属性图,以便所有影响路径都自然地呈现在具有高性能访问优化的血统图中。此外,另一个益处在于,可以对聚合血统图执行数据血统分析,从而生成更详细的数据血统报告,该报告可以根据结合所述聚合属性图执行的数据血统查询生成。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第四种实现方式中,使用所述组合属性图并根据所述数据血统查询输出图可视化或JavaScript对象表示法(JavaScriptObjectNotation,JSON)。所述图可视化基于所述组合属性图的至少一部分,所述至少一部分包括对应于所述查询中引用的所述多个数据实体的节点。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第五种实现方式中,将所述数据血统查询转换为与所述生成的查询图兼容的一个或多个图查询语言。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第六种实现方式中,检测所述多个数据实体的多个属性。对应于所述多个数据实体的所述多个节点附加有所述多个属性。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第七种实现方式中,在所述解析之前,验证所述接收到的数据库查询。执行经过验证的查询,以生成查询报告。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第八种实现方式中,执行所述经过验证的查询与生成所述查询图同时进行。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第九种实现方式中,检测所述多个数据流中的一个或多个数据流与在不影响所述查询报告的情况下操作数据的数据操作相关联。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第十种实现方式中,从所述查询图中排除所述多个数据流中的所述一个或多个数据流。在所述第一方面或所述第一方面的任一前述实现方式提供的所述方法的第十一种实现方式中,所述数据库查询包括嵌套查询,并且所述查询图内的所述多个节点中的一个节点与所述嵌套查询的结构化查询语言(structuredquerylanguage,SQL)操作相关联。根据本专利技术的第二方面,提供了一种设备,所述设备包括存储器和一个或多个处理器,其中,所述存储器包括指令,所述一个或多个处理器与所述存储器通信。所述一个或多个处理器执行所述指令,以执行操作,所述操作包括:解析接收到的数据库查询,以检测与多个数据流相关联的多个数据实体。根据所述接收到的数据库查询生成查询图,所述查询图包括通过边缘连接的多个节点。所述多个节点对应于所述多个数据实体,所述边缘对应于所述多个数据流。从存储器检索数据血统查询,其中,所述数据血统查询包括与所述生成的查询图内的所述多个节点相关联的所述多个数据实体中的一个或多个数据实体。所述生成的查询图的表示根据所述数据血统查询输出。在所述第二方面提供的所述设备的第一种实现形式中,所述一个或多个处理器执行所述指令,以执行还包括检索至少一个第二查询图的操作。所述第二查询图包括与所述生成的查询图共用的至少一个节点。在所述第二方面或所述第二方面的任一前述实现方式提供的所述设备的第二种实现方式中,所述一个或多个处理器执行所述指令,以执行操作,所述操作还包括根据所述查询图和所述第二查询图生成组合属性图。在所述第二方面或所述第二方面的任一前述实现方式提供的所述设备的第三种实现方式中,所述一个或多个处理器执行所述指令,以执行操作,所述操作还包括使用所述组合属性图并根据所述数据血统查询,输出图可视化或JavaScript对象表示法(JavaScriptObjectNotation,JSON)。在所述第二方面或所述第二方面的任一前述实现方式提供的所述设备的第四种实现方式中,所述一个或多个处理器执行所述指令,以执行操作,所述操作还包括检测所述多个数据实体的多个属性。在所述第二方面或所述第二方面的任一前述实现方式提供的所述设备的第五种实现方式中,所述一个或多个处理器执行所述指令以执行操作,所述操作还包括使对应于所述多个数据实体的所述多个节点附加具有所述多个属性。在所述第二方面或所述第二方面的任一前述实现方式提供的所述设备的第六种实本文档来自技高网...

【技术保护点】
1.一种根据数据库查询确定数据血统的计算机实现的方法,其特征在于,所述方法包括:/n解析接收到的数据库查询,以检测与多个数据流相关联的多个数据实体;/n根据所述接收到的数据库查询生成查询图,所述查询图包括通过边缘连接的多个节点,其中,所述多个节点对应于所述多个数据实体,所述边缘对应于所述多个数据流;/n从存储器检索数据血统查询,所述数据血统查询包括与所述生成的查询图内的所述多个节点相关联的所述多个数据实体中的一个或多个数据实体;以及/n根据所述数据血统查询输出所述生成的查询图的表示。/n

【技术特征摘要】
【国外来华专利技术】20180920 US 62/733,9981.一种根据数据库查询确定数据血统的计算机实现的方法,其特征在于,所述方法包括:
解析接收到的数据库查询,以检测与多个数据流相关联的多个数据实体;
根据所述接收到的数据库查询生成查询图,所述查询图包括通过边缘连接的多个节点,其中,所述多个节点对应于所述多个数据实体,所述边缘对应于所述多个数据流;
从存储器检索数据血统查询,所述数据血统查询包括与所述生成的查询图内的所述多个节点相关联的所述多个数据实体中的一个或多个数据实体;以及
根据所述数据血统查询输出所述生成的查询图的表示。


2.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:
检索至少一个第二查询图,其中,所述第二查询图包括与所述生成的查询图共用的至少一个节点。


3.根据权利要求1或2所述的计算机实现的方法,其特征在于,与所述生成的查询图共用的所述至少一个节点包括以下各项中的至少一个:数据表、表列、数据视图、查询结果集和用户定义函数。


4.根据权利要求1至3中任一项所述的计算机实现的方法,其特征在于,还包括:
根据所述查询图和所述第二查询图生成组合属性图,其中,所述组合属性图从所述查询图内的起始节点开始通过所述至少一个共用节点跟踪数据的数据血统并终止于输出所述数据的最终表示的节点。


5.根据权利要求1至4中任一项所述的计算机实现的方法,其特征在于,还包括:
使用所述组合属性图并根据所述数据血统查询输出图可视化或JavaScript对象表示法(JavaScriptObjectNotation,JSON),其中,所述图可视化基于所述组合属性图的至少一部分,所述至少一部分包括对应于所述查询中引用的所述多个数据实体的节点。


6.根据权利要求1至5中任一项所述的计算机实现的方法,其特征在于,还包括:
将所述数据血统查询转换为与所述生成的查询图兼容的一个或多个图查询语言。


7.根据权利要求1至6中任一项所述的计算机实现的方法,其特征在于,还包括:
检测所述多个数据实体的多个属性;以及
使对应于所述多个数据实体的所述多个节点附加具有所述多个属性。


8.根据权利要求1至7中任一项所述的计算机实现的方法,其特征在于,还包括:
在所述解析之前,验证所述接收到的数据库查询;
执行所述经过验证的查询,以生成查询报告。


9.根据权利要求1至8中任一项所述的计算机实现的方法,其特征在于,执行所述经过验证的查询与生成所述查询图同时进行。


10.根据权利要求1至9中任一项所述的计算机实现的方法,其特征在于,还包括:
检测所述多个数据流中的一个或多个数据流与在不影响所述查询报告的情况下操作数据的数据操作相关联。


11.根据权利要求1至10中任一项所述的计算机实现的方法,其特征在于,还包括:
从所述查询图中排除所述多个数据流中的所述一个或多个数据流。


12.根据权利要求1至11中任一项所述的计算机实现的方法,其特征在于,所述数据库查询包括嵌套查询,并且所述查询图内的所述多个节点中的一个节点与所述嵌套查询的结构化查询...

【专利技术属性】
技术研发人员:夏应龙段戎梁定裕
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1