[发明专利]一种大规模分布式函数依赖发现方法在审
申请号: | 201810367758.7 | 申请日: | 2018-04-23 |
公开(公告)号: | CN108595624A | 公开(公告)日: | 2018-09-28 |
发明(设计)人: | 顾荣;黄宜华;朱光辉;王千;袁春风 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 苏州威世朋知识产权代理事务所(普通合伙) 32235 | 代理人: | 杨林洁 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数依赖 候选集 采样 并行 验证 剪枝 发现 大规模数据集 分布式编码 统计信息 采样结果 候选函数 获取数据 内存占用 生成函数 验证结果 计算量 数据发 求解 排序 | ||
1.一种大规模分布式函数依赖发现方法,包括以下步骤:
(1)并行地获取输入数据的统计信息,根据统计信息对属性进行排序,根据统计信息和属性排序结果对数据进行分布式编码;
(2)根据步骤(1)中的结果,分多轮执行步骤(3)到步骤(4);
(3)根据步骤(1)的属性排序结果,每次选取一个属性并对步骤(1)中分布式编码的数据进行重分布;
(4)根据步骤(3)的结果,分多轮执行步骤(5)到步骤(6),每一轮对左部中包含被选属性的所有候选函数依赖进行发现,直到左部包含该属性的所有候选函数依赖被排除或者被验证;
(5)对步骤(3)中重分布的数据进行并行地采样并根据采样结果对候选集进行剪枝和生成,采样效率低于验证效率时转向步骤(6);
(6)对步骤(3)中重分布的数据进行并行地验证并根据验证结果对候选集进行剪枝和生成,验证效率低于采样效率时转向步骤(4);
(7)删除步骤(4)的结果中非最小的函数依赖并根据步骤(1)中的属性排序结果对函数依赖的属性顺序进行调整,得到所有最小的非平凡的函数依赖。
2.根据权利要求1所述一种大规模分布式函数依赖发现方法,其特征在于:所述步骤(1)中,每个计算节点获取部分输入数据的统计信息,发送统计信息到控制节点,控制节点汇总统计信息,计算属性的基数、方差和倾斜度,根据属性的基数、方差和倾斜度对属性进行排序,将属性排序结果和统计信息发送到计算节点,计算节点对数据进行编码。
3.根据权利要求1所述一种大规模分布式函数依赖发现方法,其特征在于:所述步骤(3)中,根据属性排序结果从前往后依次选取属性,对属性值进行均衡的分组,建立属性值到计算节点的映射,将所述步骤(1)中分布式编码的数据根据所述映射发送到对应的计算节点。
4.根据权利要求1所述一种大规模分布式函数依赖发现方法,其特征在于:所述步骤(5)中,每个计算节点利用滑动窗口和属性的划分并行地进行采样,将采样结果汇总到控制节点,控制节点利用汇总后的数据对候选集进行剪枝和生成,控制节点统计采样耗时和剪枝过程中删除的候选函数依赖个数,利用删除的候选函数依赖个数除以采样耗时得到采样效率。
5.根据权利要求2所述一种大规模分布式函数依赖发现方法,其特征在于:所述步骤(6)中,在每个计算节点上,利用一种轻量级索引对候选函数依赖进行验证,在验证过程中建立函数依赖左部的哈希值到数据引用的索引,根据左部的哈希值快速找到潜在的冲突数据,然后对函数依赖进行验证得到验证结果,计算节点发送验证结果到控制节点,控制节点根据汇总后的验证结果对候选集进行剪枝和生成,控制节点统计验证耗时和剪枝过程中删除的候选函数依赖个数,利用删除的候选函数依赖个数除以验证耗时得到验证效率。
6.根据权利要求2所属一种大规模分布式函数依赖发现方法,其特征在于:所属步骤(1)中,计算属性不同取值的频数的方差作为属性的方差,利用属性取值频数的最大值除以数据集大小作为属性的倾斜度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810367758.7/1.html,转载请声明来源钻瓜专利网。