基于Hadoop开发网络云盘系统架构设计方案第一稿

引言

  云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度、新浪、网易都推出了自己的云盘系统,本文基于开源框架Hadoop设计实现了一套自己的网络云盘系统,方案为初步设计方案,不断完善中。

一、总体架构

二、方案说明

2.1 系统切分

  从用户角度,整个系统划分为ECDisk客户端、ECDisk运营管理平台、HDFS分布式文件存储集群和账户数据应用平台四部分。

2.2 功能需求

  文件管理:浏览、文件上传、文件下载、文件删除

  用户管理:用户注册、用户登录、用户注销、账户充值、账户查询  

三、技术选型

  3.1 HDFS服务接口

  考虑到客户端开发环境为VC++2010,HDFS客户端API采用Hadoop自身提供的Thrift接口。

  3.2 用户数据库

  用户数据库存储用户的账户信息,保留在MySQL数据库中。

  3.3 内存数据库

  为提高用户账户信息访问速度,所有当前在线用户(已登录)的账户数据都缓存到内存数据库中,内存数据库选用基于Erlang实现的Menisa。

四、设计原则

  4.1 隐藏暴露原则

  面向ECDisk用户只能直接访问用户数据应用服务器,HDFS服务器资源用户登录后,由用户数据服务器返回给ECDisk客户端。

  4.2 授权原则

  ECDisk终端用户只能访问授权用户设定的空间,超出空间限制不允许访问。

五、界面原型

最新文章

  1. 异常 Exception
  2. 数据库设计(2/9):域,约束和默认值(Domains, Constraints and Defaults)
  3. WCF中常用的binding方式
  4. gfw列表
  5. Emacs简易教程
  6. YUI Reset CSS (学习摘抄)
  7. Python编写一个Python脚本
  8. Linux之磁盘管理
  9. Android系统Recovery工作原理
  10. Python subprocess Popen
  11. 03-UIKit、VC之间正向反向传值、代理
  12. (一)ROS系统入门 Getting Started with ROS 以Kinetic为主更新 附课件PPT
  13. layerX参数构建
  14. Java下载创建好的Excel模板
  15. Python_Mix*匿名函数,sorted,filter,map,递归函数,二分法查找
  16. 全文搜索引擎 Elasticsearch 入门
  17. Vue.js学习笔记之修饰符详解
  18. python------模块定义、导入、优化 ------->re模块
  19. 使用MSYS、Notepad++搭建C/C++开发环境
  20. leetcode 回文数

热门文章

  1. iOS # Charles拦截封包
  2. 拾人牙慧,浅记一些C++的类
  3. JavaScript两种方法来定义一个函数
  4. ApacheBench(ab)使用简介
  5. Cocos2d-x3.0 TestCPP文件夹的注意事项
  6. 为网上流行论点“UIAutomator不能通过中文文本查找控件”正名
  7. oracle中导入导出数据备份数据库
  8. jquery+html三级联动下拉框
  9. 编程乐趣:C#获取日期所在周、月份第一和最后一天
  10. WCF 服务端异常封装