引言
雲計算技術的發展,各種網絡雲盤技術如雨后春筍,層出不窮,百度、新浪、網易都推出了自己的雲盤系統,本文基於開源框架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終端用戶只能訪問授權用戶設定的空間,超出空間限制不允許訪問。
五、界面原型