云盘是怎么实现的?都需要用到哪些技术?我近段在做一个网盘的项目,
有点无从下手,还望各位高手不吝赐教
它是一种新兴的网络存储技术,是通过集群应用,网络技术或分布式文件系统等功能。
首先就是客户端,服务端架构,客户端把数据upload到服务器,服务器会对数据做存储,为了提升性能,一般会计算hash等,这样就不需要存在多个相同文件,只需要建立一个索引计数。
技术主要就是文件上传,下载。hash等。服务器主要是数据存储。备份。
可以从51aspx或者download.csdn.net下载一些例子先参考下。
比如
http://download.csdn.net/download/benben0017/1308417
http://download.csdn.net/detail/corfly/3018128
http://download.csdn.net/detail/hxh681/193968
http://www.51aspx.com/Code/JfWebDisk
http://www.51aspx.com/Code/OOWebDisk
如果只是用来存放数据,有点相当于远程登录另外一台电脑,使用自己的账号,进行数据的存放。 比如NAS。
你可以采用 服务端程序 + 分布式文件系统(HDFS)的方式,构建一个简单的分布式存储。
然后对每一个用户,创建一个子目录,该用户的数据均存在自己对应的目录下。
当然: 你还需要考虑, 用户本地查看有哪些文件,用户删除文件,上传文件。这些就由你的客户端+服务端协同完成
简单说,就是服务器上运行守护程序,客户端通过特定协议(可以用现成的也可以自己做一个上层协议)发送用户名密码,服务器验证后返回一个类似cookie的东西,客户端根据这个确认身份,再通过特定协议上传下载数据
http://www.douban.com/note/338895548/