EasyMR并行架构技术

EasyMR简介

  • 一个并行计算软件框架

基于此框架的软件可以运行在多台计算机组成的计算集群上,并且每个计算机的计算任务也是多线程方式并行进行的,对于处理复杂的业务和巨量数据时非常用于。

  • 有着MapReduce血统的任务调度监控中心

EasyMR的作业会由Mgr平台根据Key集切分成若干个数据集,通过RTP通信协议分配到计算Cell上,Mgr同时负责监控Cell上运行情况。

  • 任务脚本管理运行管理平台

支持基于C#语言的任务执行脚本,所有脚本会基于TaskBase类,会在Key集之前发送到Cell计算单元,编译并等待执行,整个过程简单方便,尤其适合基于数据库技术的企业类大数据处理任务

EasyMR框架特点

简单易用:

  • 部署实施简单

整个框架是基于.NET Framework2.0开发,绿色不需要任何安装和复杂配置,相对与Hadoop简直可以用轻松来形容,可以让任何一个程序员或者IT短时间内快速搭建起属于自己的并行计算框架。

  • 开发简单

整个框架没有使用特有的脚本语言,普通程序员不需要再去学习相对陌生的语法或者函数,现在使用C#,未来会扩展到JAVA语言,不需要了解复杂的MR算法,只要知道Key集切分规则和原理,并行计算特点和一些注意事项就可以。

  • 与现有系统集成简单

本系统既可以以独立程序方式调度运行,也提供类库方式直接集成到现有的业务系统中,现有系统几乎不需要什么大的改动就可以完成巨量数据或复杂业务处理

实用而不晦涩:

  • 基于数据库处理

现有的并行框架基本是基于文件系统,对于一个开发团队的首要任务是处理海量的数据库数据,EasyMR不需要对于存储的复杂理解,程序员既可以使用数据库的同步复制来分担数据库读写压力,也可以一次读完,计算机集群计算完成后再同步或一次性写入数据库,程序只要知道完成情况并读取计算结果,同时未来也支持实时返回计算结果。

  • 计算单元逻辑清晰

整个框架的设计是基于企业应用,例如统计报表,数据计算处理,其中统计逻辑和计算处理逻辑剥离出来就是计算单元的处理逻辑,只要简单业务分析可以完成此项工作。

  • 可以编写灵活实用脚本

虽然框架也提供了数据传输功能,但主要负责的是业务逻辑计算部分,在计算过程中可以灵活使用数据库和结果来更好的计算业务逻辑,甚至是原有系统中计算逻辑可以直接经过简单处理就可以变为计算脚本

优化并行处理架构:

  • 计算单元优化

计算机处理集群里的每台计算机的计算CPU不同而配置不同的并行任务处理数量,也可以根据CPU使用率动态管理计算单元并行处理数量。

  • 采用RTP通信协议

RTP协议是实时传输控制协议简称,在大数据传输,实时传输控制和管理上优势明显,可以最大程度降低通信开销,提高系统稳定性。

设计:

  • 工作流程

  • 框架设计

  • 推荐部署方案 


Last edited Aug 1, 2014 at 9:21 AM by richardhu, version 4