[发明专利]分布式计算方法和装置有效
申请号: | 201310337312.7 | 申请日: | 2013-08-05 |
公开(公告)号: | CN103399927B | 公开(公告)日: | 2016-11-02 |
发明(设计)人: | 张健;叶青 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/44 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成;张大威 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 计算方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式计算方法和装置。
背景技术
目前,主要的通用计算模型包括Map/Reduce模型(即映射/化简模型)、基于RDD(Resilient Distributed Datasets)变换的模型等。
例如,Hadoop(一个分布式系统基础架构)使用了简单的Map/Reduce模型,整个计算过程包括Map,Shuffle(洗牌),Reduce三个部分,上层应用程序自定义Map和Reduce阶段的计算。但是,Map/Reduce模型主要存在以下问题,如果计算过程非常复杂,例如迭代计算,计算逻辑则分散至多个程序(脚本)中,不直观,开发和维护成本大,计算时间长。
又如,基于RDD的Spark模型中,使用RDD作为数据的存储,同时提供了自动的恢复功能;此模型的计算,完全由RDD上的Transformations和Actions进行,目前Spark提供了13种Transformation和5中Action。但是,基于RDD的Spark模型主要存在以下问题,对于两个不同的RDD进行计算,Spark提供了“join”,“cogroup”,“crossProduct”三种操作,其中“join”和“cogroup”并不能描述所有的计算依赖,而“crossProduct”会产生很多无用的中间结果,其效率基本上是不可接受的;如果一个计算产生很多key相同的中间结果,只在最后进行合并计算,从而导致产生大量的中间结果,让存储承受很大的压力,性能显著降低。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种分布式计算方法。该方法可广泛应用于各类机器学习的分布式计算中,能以更低的成本保证执行效率。
本发明的第二个目的在于提出一种分布式计算装置。
为了实现上述目的,本发明第一方面实施例的分布式计算方法包括以下步骤:根据输入数据生成输入向量Vector;获取预设算子和所述预设算子对所述Vector的依赖关系;以及通过映射模块Map组织多次map计算直至达到所述预设算子的终止条件为止,其中,每次map计算时根据所述依赖关系从所述Vector中获取数据以根据所述预设算子进行计算,并根据计算结果更新所述Vector中对应的数据。
根据本发明实施例的分布式计算方法,至少存在以下有益效果:(1)能够处理更加复杂的逻辑运算,广泛应用于各类机器学习的分布式计算中;(2)能够以更低的成本保证一定的执行效率;(3)抽象出Vector和Map两个组件,更加适合进行复杂计算逻辑的实现,使用、开发更加方便;(4)Map的引用,相对于Hadoop的模型,能够减少Shuffle的成本,同时能够对Vector进行复用,提高运行效率和逻辑的直观性;相对于Spark提供了18种运算方式(13个Transformation,5个Action)能提供统一的计算,更易于理解;(5)算子、计算时数据的依赖关系可由用户自定义,效率更高。
为了实现上述目的,本发明第二方面实施例的分布式计算装置,包括:生成模块,用于根据输入数据生成输入向量Vector;获取模块,用于获取预设算子和所述预设算子对所述Vector的依赖关系;以及计算模块,用于通过映射模块Map组织多次map计算直至达到所述预设算子的终止条件为止,其中,每次map计算时根据所述依赖关系从所述Vector中获取数据以根据所述预设算子进行计算,并根据计算结果更新所述Vector中对应的数据。
根据本发明实施例的分布式计算装置,至少存在以下有益效果:(1)能够处理更加复杂的逻辑运算,广泛应用于各类机器学习的分布式计算中;(2)能够以更低的成本保证一定的执行效率;(3)抽象出Vector和Map两个组件,更加适合进行复杂计算逻辑的实现,使用、开发更加方便;(4)Map的引用,相对于Hadoop的模型,能够减少Shuffle的成本,同时能够对Vector进行复用,提高运行效率和逻辑的直观性;相对于Spark提供了18种运算方式(13个Transformation,5个Action)能提供统一的计算,更易于理解;(5)算子、计算时数据的依赖关系可由用户自定义,效率更高。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310337312.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:儿童自动安全门挡
- 下一篇:一种基于水文数据的降雨多维分析系统及其实现方法