[发明专利]一种大规模分布式函数依赖发现方法在审
申请号: | 201810367758.7 | 申请日: | 2018-04-23 |
公开(公告)号: | CN108595624A | 公开(公告)日: | 2018-09-28 |
发明(设计)人: | 顾荣;黄宜华;朱光辉;王千;袁春风 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 苏州威世朋知识产权代理事务所(普通合伙) 32235 | 代理人: | 杨林洁 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数依赖 候选集 采样 并行 验证 剪枝 发现 大规模数据集 分布式编码 统计信息 采样结果 候选函数 获取数据 内存占用 生成函数 验证结果 计算量 数据发 求解 排序 | ||
本发明公开了一种大规模分布式函数依赖发现方法,包括以下步骤:第一步,并行地获取数据集的统计信息、对属性进行排序和对数据进行分布式编码;第二步,依次选取属性,将在该属性上取值相同的数据发送到同一个节点上;第三步,在每个节点上进行候选函数依赖发现。该过程可以分为以下两步:第一步,并行地进行采样,利用采样结果对候选集进行剪枝和生成;第二步,并行地对候选集进行验证,利用验证结果对候选集进行剪枝和生成。每轮采样和验证结束后均需根据其效率来决定是否进行采样和验证的切换。第四步,生成函数依赖结果。本发明可高效地实现分布式函数依赖发现,解决现有函数依赖求解方法计算量大、内存占用多、无法处理大规模数据集等问题。
技术领域
本发明涉及函数依赖发现与并行计算技术领域,尤其涉及一种大规模分布式函数依赖发现方法。
背景技术
函数依赖是一种重要的元数据信息,在数据清理、知识发现、数据集成和模式规范化等领域都有着广泛的应用。但是函数依赖发现的计算复杂度非常高,相关的工作中并没有太多并行化的分布式函数依赖发现方法,人们更侧重于研究单机的函数依赖发现方法。前人提出的最优单机函数依赖发现方法HyFD,虽然其性能基本上超越了所有其他单机算法,但事实证明,该方法在执行过程中需要消耗大量的计算资源,主要是面向小规模、集中式存储数据进行函数依赖发现,无法对大规模、分布式数据。在大数据的时代背景下,数据规模不断增大,数据往往被分布存储在多个节点上。此时,在多个节点并行地运行单机算法无法保证函数依赖发现的正确性。面对大数据的挑战,有人提出了将所有数据传输到单个节点进行函数依赖发现的方法,但该方法无法高效地利用计算资源,也不能进行计算和存储的水平扩展。也有人提出了分布式大数据函数依赖发现的方法,旨在解决上述方法的扩展性问题,但是没有一种能够在行和列上拥有较好扩展性的解决方案。因此,如何设计一个面向大规模数据的、高效的、行和列扩展性好的函数依赖发现方法就成为了并行化方法设计的挑战。
以往的相关工作中,有以HyFD算法为代表的单机函数依赖发现方法。首先,该方法对数据集进行定制化的采样,减少待处理数据的行数,并利用采样数据和列高效的算法对候选函数依赖进行剪枝和生成。然后,将剩余的候选函数依赖在所有数据上进行验证。这种方法的优势在于利用列高效的算法降低了候选函数依赖的数量,从而降低了行高效算法的验证时间。但该方法要求所有的输入数据都存储在单个节点上,且计算过程中生成的中间数据结构能够完全放入主存中,而单机的主存往往有限,所以该方法无法对大规模分布式数据进行函数依赖发现。
目前较好的分布式函数依赖发现算法是HFDD,该方法基于数据重分布进行函数依赖发现,每次重分布将某个属性取值相同的数据发送到同一个节点上,然后进行验证。但该方法有以下不足:一是没有考虑节点的负载均衡,如果取值较少的属性被优先用来重分布,该方法将无法充分利用集群资源,效率也会变得十分低下;二是没有解决候选函数依赖过多的问题;三是没有高效的分布式验证方法。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种在大规模、分布存储数据上进行函数依赖发现的方法,解决了现有方法资源利用率低、计算性能差和扩展性较差等问题。
技术方案:为实现上述发明目的,本发明采用的技术方案为一种大规模分布式函数依赖发现方法,包括以下步骤:
(1)并行地获取输入数据的统计信息,根据统计信息对属性进行排序,根据统计信息和属性排序结果对数据进行分布式编码;
(2)根据步骤(1)中的结果,分多轮执行步骤(3)到步骤(4);
(3)根据步骤(1)的属性排序结果,每次选取一个属性并对步骤(1)中得到的编码数据进行重分布;
(4)根据步骤(3)的结果,分多轮执行步骤(5)到步骤(6),每一轮对左部中包含被选属性的所有候选函数依赖进行发现,直到左部包含该属性的所有候选函数依赖被排除或者被验证;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810367758.7/2.html,转载请声明来源钻瓜专利网。