引言
云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度、新浪、网易都推出了自己的云盘系统,本文基于开源框架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终端用户只能访问授权用户设定的空间,超出空间限制不允许访问。
五、界面原型