基于流式计算和批处理计算的互操作数据处理系统及方法技术方案

技术编号:10359913 阅读:219 留言:0更新日期:2014-08-27 16:02
本发明专利技术公开了一种基于流式计算和批处理计算的互操作数据处理系统及方法,该系统包括:流式计算模块,所述流式计算模块中包括若干Topology计算任务;批处理计算模块,所述批处理计算模块中包括若干Job计算任务;互操作模块,所述互操作模块分别与流式计算模块和批处理计算模块相连,互操作模块包括注册子单元和触发子单元,注册子单元用于搜集流式计算模块上的Topology信息和批处理计算模块上的Job信息,触发子单元用于接收流式计算模块或批处理计算模块的互操作指令,并调用另一方的计算任务。本发明专利技术从系统级层面上实现了不同计算模块之间的互操作,以较高地效率完成了不同计算模型系统上的逻辑单元的相互调用。

【技术实现步骤摘要】

本专利技术涉及流式计算和批处理计算的数据处理
,尤其涉及一种。
技术介绍
近些年来,随着互联网技术的发展,现代社会进入了大数据时代。社会上产生的数据量越来越大,导致计算机系统需要处理的数据量也日益增加。因此,对大数据的高效处理成为人们普遍关注的问题。一般而言,对于大数据,分治法是一个比较有效的解决方法。这种算法把单一的计算任务分配到不同的计算机上进行,这类算法的典型代表有批处理计算模型、流式计算模型等。批处理计算模型的典型代表是Hadoop,一个分布式系统基础架构。它能够将大量的廉价机器形成集群,从而用来提供分布式计算的服务。Hadoop其中的MapReduce计算模型采用分而治之的理念,从分布式文件系统HDFS中获取数据,将其按照大小分片,进行分布式处理,获得最终结果。虽然Hadoop在面临海量数据时,具有吞吐量大的特点,但是也对数据处理有以下要求:1)数据需要已经存在在HDFS当中;2)数据之间是少关联的、尽可能无影响的。综上所述,Hadoop适合大批量的数据处理,但是对于数据的实时计算并不合适。流式计算模型有Esper、Streambase、HStreaming和YahooS4等,其中的典型代表是Twitter开源系统Storm, —个针对在线业务而存在的计算平台。Storm提供了一组通用原语,可用于实时处理消息并更新数据库;也可以被用来做“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户;还可以被用于“分布式RPC”,以并行的方式运行昂贵的运算。总的来讲,Storm是一个简单的编程模型,可以使用多种编程语言,拥有快速,可靠的消息处理能力的同时,也具备良好的容错性和实时扩展性。但是随着数据量的大规模增长和用户需求的日益多样化,实际需求中人们对数据的处理要求越来越高,单一的计算模型并不能独立地承担服务。我们可以透过一个例子来看:在针对海量数据进行批处理计算时,可能需要获取其中某个特定个体的实时情况;同样地,在大数据进行流式计算处理时,可能需要查询某个特定个体的历史记录。在这种情况下,我们希望存在一种机制,使得批处理计算模型和流式计算模型能够方便地进行交互操作,减少转换时的开销,从而更好地提供数据处理服务。从现有的计算模型来看,相比单一的集群,实时处理(Storm为代表)和批处理(Hadoop为代表)的结合具有很多优势:1)提供了巨大的弹性潜力。实时处理的负载一般不恒定,而且是不可预测的。实时处理和批处理搭配使用,实时处理需要资源时可以从批处理作业那里窃取,当资源需求下降时再把资源换回去;2)实时处理和批处理两者之间会共享数据。通过将实时处理系统放到物理上更接近数据源或者是同一流水线中其他组件的地方,可以减少网络传输,进而减少获取数据的总开销。到目前,与本专利技术相关的技术或者产品有 Spark Streaming、Yahoo Storm OnYARN> Twitter Summingbird 等。SparkStreaming将流式计算分解成一系列短小的批处理作业,从而在批处理计算引擎Spark的基础上提供了对数据流的处理能力。Spark Streaming将输入数据按照批处理指定的大小(如I秒)分成一段一段的离散化数据,每一段数据都转换成Spark中的弹性分布式数据集,然后将Spark Streaming中对离散化数据的变换操作变为Spark中对弹性分布式数据集的变换操作,将RDD经过操作变成中间结果保存在内存中。整个流式计算根据业务的需求可以对中间的结果进行叠加,或者将其存储到外部设备。Storm On Yarn尝试将Storm运行在YARN上,相比于将Storm部署到一个独立的集群中,这样做带来的好处有:1)弹性计算资源。将Storm运行到YARN上后,Storm可与其他应用程序(比如MapReduce批处理应用程序)共享整个集群中的资源,这样,当Storm负载骤增时,可动态为它增加计算资源,而当负载减小时,可释放部分资源,从而将这些资源暂时分配给负载更重的批处理应用程序。2)共享底层存储。Storm可与运行在YARN上的其他框架共享底层的一个HDFS存储系统,可避免多个集群带来的维护成本,同时避免数据跨集群拷贝带来的网络开销和时间延迟。3)支持多版本。可同时将多个Storm版本运行YARN上,避免一个版本一个集群带来的维护成本。Summingbird是最近由Twitter开源的一个流式计算模型和批处理计算模型的融合体。一个Summingbird项目既可以被用来做批处理,又可以用来做实时处理,这种作业聚合的方式达到了无缝整合平台,减少切换开销的目的。Summingbird 的核心概念包括如下:l)Producer:Producer 是 Summingbird 的数据流抽象,用以传递给特定Platform做MapReduce流编译。2) Platform:Platform实例可以用于任何流MapReduce库的实现,Summingbird库包含了 Platform对Storm、Scalding及内存处理的支持。3) Source =Source代表了一个数据的源,每个系统都对数据源有自己的定义,比如 Memory 平台将 Source [T]定义为任何 TraversableOnce [T]。4) Store:Store 是Summingbird中流MapReduce进行“reduce”操作的场所,Store包含了所有键对应值聚合的快照。5) Sink:不同于Store, Sink允许你形成一个体现Producer值的非聚合流,sink是流而不是快照。6) Service:Service允许用户在Producer流中当前值上执行“ lookup join”或者是“ leftjoin”,被连接的值可以是来自另一个Store的快照,也可以是另一个Sink的流,甚至来自一些其它的异步功能。7) Plan:Plan由Platform调用platform, plan (producer)产生,作为MapReduce流的最终实现。对于Storm来说,Plan就是个StormTopology实例,用户可以通过Storm提供的方法执行。对于Memory平台来说,Plan就是个内存Stream,包含了被传递Producer提供的输出内容。现有的大数据分析系统在流式计算和批处理计算融合方面工作,是从以下方面进行的。I)第一种方式是在流式计算系统的基础上,增加对批处理计算的支持。Storm的作者Nathan Marz最近在“How to beat the CAP theorem”一文中,提出数据处理可以通过一个简单的公式来表达:Query = Function (All Data)。数据系统就是要回答数据集问题的系统,问题称为Query。由于Query是针对所有数据上的函数,所以加快函数执行的方法就是预先准备好这些Query,当有新的数据产生时,就重新对所有数据执行函数。这样简化问题后,基于批处理计算,除了结果需要滞后一段时间才能获得外,Query总是可以被反复执行。任何超过一段时间的数据已经被计算进入了批处理视图中,所以剩下来要做的就是处理最近时间段的数据。为本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201410260493.html" title="基于流式计算和批处理计算的互操作数据处理系统及方法原文来自X技术">基于流式计算和批处理计算的互操作数据处理系统及方法</a>

【技术保护点】
一种基于流式计算和批处理计算的互操作数据处理系统,其特征在于,所述系统包括:流式计算模块,所述流式计算模块中包括若干Topology计算任务;批处理计算模块,所述批处理计算模块中包括若干Job计算任务;互操作模块,所述互操作模块分别与流式计算模块和批处理计算模块相连,互操作模块包括注册子单元和触发子单元,注册子单元用于搜集流式计算模块上的Topology信息和批处理计算模块上的Job信息,触发子单元用于接收流式计算模块或批处理计算模块的互操作指令,并调用另一方的计算任务。

【技术特征摘要】
1.一种基于流式计算和批处理计算的互操作数据处理系统,其特征在于,所述系统包括: 流式计算模块,所述流式计算模块中包括若干Topology计算任务; 批处理计算模块,所述批处理计算模块中包括若干Job计算任务; 互操作模块,所述互操作模块分别与流式计算模块和批处理计算模块相连,互操作模块包括注册子单元和触发子单元,注册子单元用于搜集流式计算模块上的Topology信息和批处理计算模块上的Job信息,触发子单元用于接收流式计算模块或批处理计算模块的互操作指令,并调用另一方的计算任务。2.根据权利要求1所述的系统,其特征在于,所述Topology信息包括Topology的名称、创建时间和权限统计,Job信息包括Job的名称、创建时间和权限统计。3.根据权利要求1所述的系统,其特征在于,所述流式计算模块采用Storm集群,批处理计算模块采用Hadoop集群。4.一种如权利要求1所述的基于流式计算和批处理计算的互操作数据处理方法,其特征在于,所述方法包括: 51、启动方提出触发请求,并与触发子单元建立连接,所述启动方为流式计算模块或批处理计算...

【专利技术属性】
技术研发人员:范小朋吴楠沈慧赵东辉须成忠
申请(专利权)人:深圳先进技术研究院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1