一、自有云计算框图
(一)、MapReduce基本思路
JobQueue(工作队列)——Jobs(工作内容)——Tasks(执行计算)
1、JobQueue,负责承载计算任务列表,允许并行任务进行;
1)属性:包含优先级、并发任务最大数量;
2)状态监控:活跃数量、成功、失败;
3)行为:添加一个任务、移除一个任务、修改任务优先级。
2、Job,负责描述工作内容,允许执行多个计算;
1)属性:描述一个工作的输入和输出;
2)状态监控:
3)行为:开始工作、停止工作
3、Task,描述一个Map和Reduce的执行控制;
4、Mapper,描述一个分页的算法或者称作拆分输入数据或流的算法;
5、Reducer,描述一个核心的算法负责处理数据。
6、ReduceCombin,描述一个合并的算法,负责将各个Reducer的结果进行合并(可以让Reducer担当)
辅助:
1、JobConfig负责描述Job的输入和输出,其中输入接受文件路径、流、数据库;输出结果以文件、流、或ILIST结果承载。
2、Context负责描述输入的结构和执行操作,作为Mapper和Reduce的标准输入。
(二)Tracker控制器的基本思路
1、JobTracker负责调度工作、实例化工作、分配任务、任务结果合并
2、TaskTracker负责调度任务、获取MapReduce、实例化任务、启动Mapper、启动Reduce、通知Job执行结果
(三)ICLOUDComputing全局控制器
1、RunTime 负责监控节点状态(心跳)、热增加节点、删除节点
2、Connection负责连接云环境、断开连接等
3、Configration负责基础配置,例如心跳时长等等的基础配置。
(四)Catch
1、MemoryMappedFile 负责内存镜像,处理计算的目标文件缓存
2、Page 负责将数据分页,包括流分页、数据库分页(多种数据库)、文件分页
总体思维导图如下:
二、云存储实现
(一)、基于内存的云存储
(二)命中缓存