System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于血缘关系,尤其是涉及一种基于关系代数的血缘关系生成方法。
技术介绍
1、血缘分析是数据分析中不可或缺的一环,能协助分析数据间的依赖以及影响关系,是关系型数据库需要对外提供的重要能力,与上层业务、数据管理工具的深度集成绑定,上层数据应用中将会依赖血缘分析的结果,因此,血缘分析的研发具有重要价值。
2、现有的血缘分析是通过分析sql间的关系,经验总结后得出结论的方式,生成的结果类型单一,缺乏论证,而且固化,难以实现自定义关系类型的解析。
技术实现思路
1、有鉴于此,本专利技术旨在提出一种基于关系代数的血缘关系生成方法,以期解决上述部分技术问题中的至少之一。
2、为达到上述目的,本专利技术的技术方案是这样实现的:
3、本专利技术第一方面提供了一种基于关系代数的血缘关系生成方法,包括以下步骤:
4、s1、通过将输入sql解析为抽象语法树;
5、s2、为抽象语法树字段和常量构建相应的节点,并创建临时表来存储节点;
6、s3、根据节点的字段属性进行分类保存;
7、s4、将满足关系定义的两组属性节点构建关系。
8、进一步的,所述关系定义包括以下形式:
9、血缘关系,从属性列a到属性列b的数据来源关系;
10、数据影响关系,从选择操作的逻辑表达式到属性列b的元组数量间的数据影响关系;
11、数据连接关系,选择操作中逻辑表达式中比较运算符两端参数之间的对应
12、进一步的,关系定义还包括以下形式:
13、集合并操作关系定义;
14、如果存多个关系的列数相同,且列号相同的属性列类型一致,关系r满足集合并操作,则为血缘关系;
15、数据操纵语句insert select关系定义;
16、如果数据操纵语句insert select的目标关系与数据来源关系存在关系映射,则为血缘关系;
17、count函数和源表行数的血缘关系;
18、如果在一个sql查询语句q2中,count函数与查询语句q2的源表存在关系映射,则为血缘关系。
19、进一步的,关系定义还包括以下形式:
20、sql聚合函数和groupby字句分组对象间的关系定义:
21、如果在一个sql查询语句q1中,有聚合函数与groupby字句存在关系映射,则为影响关系。
22、进一步的,所述关系定义通过关系名称、关系的来源方向、关系的目标方向三个因素进行描述;
23、其中关系名称为血缘关系或影响关系;
24、关系的来源方向和关系的目标方向的取值为sql的ast上的路径。
25、进一步的,所述s2使用自动机用于按照关系定义进行扫描源路径和目标路径,获得关系来源方向的节点、关系目标方向的节点。
26、进一步的,还包括以下步骤:
27、s5、根据构建完毕关系输出关系表。
28、本专利技术第二方面提供了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行上述第一方面所述的方法。
29、本专利技术第三方面提供了一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如第一方面所述的方法。
30、本专利技术第四方面提供了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
31、相对于现有技术,本专利技术所述的一种基于关系代数的血缘关系生成方法具有以下有益效果:
32、本专利技术所述的一种基于关系代数的血缘关系生成方法,相较于传统的血缘关系生成,本血缘关系生成从关系代数出发,解构sql中的各个要素,通过分析各个要素间的理论关系,从而实现丰富的关系类型,而且可以实现自定义关系类型的解析,使用灵活,能帮助用户找到数据间的各种关系,提取数据价值。
本文档来自技高网...【技术保护点】
1.一种基于关系代数的血缘关系生成方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于,所述关系定义包括以下形式:
3.根据权利要求2所述的一种基于关系代数的血缘关系生成方法,其特征在于,关系定义还包括以下形式:
4.根据权利要求2所述的一种基于关系代数的血缘关系生成方法,其特征在于,关系定义还包括以下形式:
5.根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于:关系定义通过关系名称、关系的来源方向、关系的目标方向三个因素进行描述;
6.根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于:所述S2使用自动机用于按照关系定义进行扫描源路径和目标路径,获得关系来源方向的节点、关系目标方向的节点。
7.根据权利要求6所述的一种基于关系代数的血缘关系生成方法,其特征在于,还包括以下步骤:
8.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1
9.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的方法。
10.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
...【技术特征摘要】
1.一种基于关系代数的血缘关系生成方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于,所述关系定义包括以下形式:
3.根据权利要求2所述的一种基于关系代数的血缘关系生成方法,其特征在于,关系定义还包括以下形式:
4.根据权利要求2所述的一种基于关系代数的血缘关系生成方法,其特征在于,关系定义还包括以下形式:
5.根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于:关系定义通过关系名称、关系的来源方向、关系的目标方向三个因素进行描述;
6.根据权利要求1所述的一种基于关系代数的血缘关系生成方法,其特征在于:所述s2使用自动机用于按照关系定义进行扫描源路径和目...
【专利技术属性】
技术研发人员:吴学星,姜栋,
申请(专利权)人:天津南大通用数据技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。