EasyMR并行架构技术
基于此框架的软件可以运行在多台计算机组成的计算集群上,并且每个计算机的计算任务也是多线程方式并行进行的,对于处理复杂的业务和巨量数据时非常用于。
EasyMR的作业会由Mgr平台根据Key集切分成若干个数据集,通过RTP通信协议分配到计算Cell上,Mgr同时负责监控Cell上运行情况。
支持基于C#语言的任务执行脚本,所有脚本会基于TaskBase类,会在Key集之前发送到Cell计算单元,编译并等待执行,整个过程简单方便,尤其适合基于数据库技术的企业类大数据处理任务
整个框架是基于.NET Framework2.0开发,绿色不需要任何安装和复杂配置,相对与Hadoop简直可以用轻松来形容,可以让任何一个程序员或者IT短时间内快速搭建起属于自己的并行计算框架。
整个框架没有使用特有的脚本语言,普通程序员不需要再去学习相对陌生的语法或者函数,现在使用C#,未来会扩展到JAVA语言,不需要了解复杂的MR算法,只要知道Key集切分规则和原理,并行计算特点和一些注意事项就可以。
本系统既可以以独立程序方式调度运行,也提供类库方式直接集成到现有的业务系统中,现有系统几乎不需要什么大的改动就可以完成巨量数据或复杂业务处理
现有的并行框架基本是基于文件系统,对于一个开发团队的首要任务是处理海量的数据库数据,EasyMR不需要对于存储的复杂理解,程序员既可以使用数据库的同步复制来分担数据库读写压力,也可以一次读完,计算机集群计算完成后再同步或一次性写入数据库,程序只要知道完成情况并读取计算结果,同时未来也支持实时返回计算结果。
整个框架的设计是基于企业应用,例如统计报表,数据计算处理,其中统计逻辑和计算处理逻辑剥离出来就是计算单元的处理逻辑,只要简单业务分析可以完成此项工作。
虽然框架也提供了数据传输功能,但主要负责的是业务逻辑计算部分,在计算过程中可以灵活使用数据库和结果来更好的计算业务逻辑,甚至是原有系统中计算逻辑可以直接经过简单处理就可以变为计算脚本
计算机处理集群里的每台计算机的计算CPU不同而配置不同的并行任务处理数量,也可以根据CPU使用率动态管理计算单元并行处理数量。
RTP协议是实时传输控制协议简称,在大数据传输,实时传输控制和管理上优势明显,可以最大程度降低通信开销,提高系统稳定性。
框架设计