[发明专利]支持左外连接的应用驱动数据生成中依赖关系生成方法及系统有效
申请号: | 202110509294.0 | 申请日: | 2021-05-11 |
公开(公告)号: | CN113434540B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 翁思扬;王清帅;张蓉 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455 |
代理公司: | 上海德禾翰通律师事务所 31319 | 代理人: | 夏思秋 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 连接 应用 驱动 数据 生成 依赖 关系 方法 系统 | ||
1.一种支持左外连接的应用驱动数据生成中依赖关系的生成方法,其特征在于,所述方法包括如下步骤:
步骤一、分析主键状态:对于给定的数据库结构及原始查询语句,计算左外连接主键列所在查询子树的查询结果,标记主键的留存状态,并对主键的留存状态进行统计;
步骤二、计算主键过滤比例:根据给定输入的左外连接约束,基于计算规则构造过滤比例所应满足的线性约束关系,在此基础上优化过滤比例以达到均匀过滤;
步骤三、填充外键:根据过滤比例,随机无重复地生成外键,并在处理过程中采用溢写文件的方式压缩计算数据量。
2.如权利要求1所述的方法,其特征在于,步骤一中,所述给定的数据库结构包括数据库表项、表项各列属性、各属性列的数据分布;所述原始查询语句包括查询算子、查询属性列、查询表;计算查询结果包括留存主键、数据规模、主键的具体数据;所述主键的留存状态包括留存、不留存。
3.如权利要求1所述的方法,其特征在于,步骤一中,所述主键的留存状态采用位图的形式保存其结果,并保存为表的形式。
4.如权利要求1所述的方法,其特征在于,步骤二中,所述输入的左外连接约束包括主键留存统计结果和过滤比例;所述主键留存统计结果需要根据左外连接进行压缩,重新合并数据比例,以减少不必要的计算。
5.如权利要求1所述的方法,其特征在于,步骤二中,所述基于计算规则构造的线性约束关系,需保证各列均满足以下条件:在对应列中根据留存比例的加权求和获得的各留存状态的过滤比例与全列的过滤比例相等,即:
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例;所述状态列是指步骤一中保存的主键留存状态表中的列。
6.如权利要求1所述的方法,其特征在于,步骤二中,所述优化过滤比例的优化目标是最小化真实匹配比例和目标匹配比例的方差,即:
其中,Vj表示第j个状态列为‘保留’的集合,对于一个Vj中的位状态i,αi表示该状态在该状态列下的比例,pi表示第i个主键状态在该状态列下的过滤比例,βj表示第j列全列的过滤比例,M表示状态列的数量,αk表示第k个主键状态在该状态列下的比例;所述状态列是指步骤一中保存的主键留存状态表中的列。
7.如权利要求1所述的方法,其特征在于,步骤三中,所述随机无重复地生成外键,采用的是基于Fisher-Yates Shuffle的随机生成算法,此算法的时间复杂度为线性复杂度,且无额外空间开销。
8.如权利要求1所述的方法,其特征在于,步骤三中,所示采用溢写文件的方式压缩计算数据量是指先将连接表中删除的数据转存到另一张结构相同的表中;当存储表容量达到阈值时,将内容顺序导出到文件中,并清空该表。
9.一种实现如权利要求1-8之任一项所述方法的系统,其特征在于,所述系统包括主键统计模块、过滤比例计算模块、外键生成模块。
10.如权利要求9所述的系统,其特征在于,所述主键统计模块用于对于给定的数据库结构及原始查询语句,计算左外连接所在查询子树的查询结果,标记主键的留存状态,并对主键的留存状态进行统计;
所述过滤比例计算模块用于计算主键过滤比例,根据给定输入的左外连接约束,基于计算规则构造过滤比例所应满足的线性约束关系,在此基础上优化过滤比例以达到均匀过滤;
所述外键生成模块用于根据过滤比例,随机无重复地生成外键,并在处理过程中采用溢写文件的方式压缩计算数据量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110509294.0/1.html,转载请声明来源钻瓜专利网。