APP下载

基于校园网的云盘系统设计研究

2017-03-24尚鹏

电脑知识与技术 2017年1期
关键词:存储云盘分享

尚鹏

摘要:校园网用户对文件存储和分享的需求日益增加,传统的存储分享方式不能适应这种需求。该文提出了一种基于云存储的校园网云盘系统,使用了网络异步通讯模式应对高负载的用户并发;使用了文件散列算法解决了网络存储的文件多拷贝现象,实现了多用户共享一份拷贝;文件分享使用了对称密钥算法;使用廉价的分布式存储方便存储空间的扩展。校园网云盘系统适应了校园网网络带宽高,出口带宽低的特点,解决了师生的远程文件存储与分享的问题。

关键词:校园网;云盘;存储;分享

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)01-0076-03

随着电脑和手机等电子设备在工作和生活中的日益的普及,高校师生在使用的过程中产生了大量的数据信息,如照片,视频,课件,实验数据等。需要大量的磁盘空间存储这些资料,传统的本地存储和远程的邮箱存储由于存储空间和带宽的限制,不能提供大容量的高带宽存储空间。需要一种适用于校园网的个人文件存储与分享系统。本文介绍了一种C/S构建的基于云存储的远程文件存储、分享系统。

1 校园网云盘系统分析

云存储是依靠高速网络的分布式存储方式,提供了低成本、易扩展、可靠的海量存储资源,将用户的本地存储迁移到远端的服务器群中。高校的校园网是用户密集,数据存储量大且频繁,网络划分复杂,网络利用率低;由于校园网特点和出口带宽的限制,公共的网络存储方式不适应于校园网用户。校园网的万兆主干、百兆到桌面的高速带宽为大数据的存储提供了极好的基础设施,特别是用户上网位置移动频繁,云盘能够在校园网的任何位置存取数据。因此,基于校园网的云盘是满足师生存储需求的最好解决方案。

2 系统总体设计

系统使用C/S模式。客户端负责用户交互,实现用户登录,文件的上传,同步,下载,重命名,删除,分享等操作。服务器端分为三层:接入层,服务层以及云存储层。接入层负责用户认证,监控用户信息,用户通过接入层连接系统,向服务层发出操作请求。服务层是系统的核心功能层,负责响应接入层的请求,实现请求的操作。调用云存储层的存储功能,完成文件的存储。云存储层提供存储资源,提供分布式的海量存储。系统结构如图1所示。

3系统设计与实现

基于校园网的云盘系统分为用户管理,文件的管理,数据传输,数据的多拷贝识别及分享,文件分布式存储几部分。

3.1用户认证登录流程

登录云盘录账号使用校园网的用户账户,禁止用户自己注册账号,校园网中的每个合法用户都拥有一个“云盘”账号。用户管理和校园网用户管理合二为一,能够大大方便师生使用,同时保证了账户的安全。

客户端通过接入层发出用户的登录请求,服务层接受用户请求,查询数据库用户名和密码是否合法;用户通过验证登录系统;用户验证失败,退回到请求状态。

3.2数据传输

客户端与服务器之间的数据传输使用基于TCP的套件字连接。服务器端使用了IOCP模型满足高负载下的并发处理,满足多用户的并发数据传输。IOCP模型是一种I/O的异步操作,可以高效的处理多客户端的数据交换。

clientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

nRet = connect(clientSocket,(sockaddr*)&SockAddr, sizeof(SockAddr));

3.3文件上传及管理

文件在存储的过程中,经常会出现相同的文件被不同的用户分别存储。为了节约云存储资源和网络带宽,相同的文件在系统中只保存一份拷贝。

用户上传文件到云存储,服务器会对比文件信息数据库,判断该文件是新文件还是旧文件。如果是新文件,则完整上传文件数据,并在数据库记录该文件的信息;否则不传输,使用已有的文件拷贝。文件上传流程如图2所示。

用户在向服务器上传文件前,先计算文件的识别码(FileHash)。FileHash是文件的散列值,使用了MD5和SHA-1方法。

FileHash=MD5(file)+SHA(file) (1)

FileID=FileHash+FileName+FileLength (2)

FileHash、文件名和文件长度一起作为文件的唯一识别信息FileID。客户端在本地计算文件的FileHash,合成FileID后传输给服务器;服务器检索文件信息数据库,如果没有匹配,服务器通知客户端上传文件;如果有匹配,则不用上传。

服务器接收文件后,要确定传输过程中的数据完整性。服务器重新计算文件的FileID,与客户端计算的相比较,相同则接受正确,否则重传。在文件在存储过程中,服务器为正确接受的文件的建立元信息记录,存储到文件数据库中。文件元信息记录包括文件名称,文件长度,识别信息,存储位置,引用数(name,length,FileID,place,quote)。字段place记录了文件在云存储的位置信息,字段quote记录文件被用户引用的次数。

服务器为每位用户建立该用户的文件列表,其中记录了用户拥有的所有文件的信息(name,length,place)。用户文件的增加和删除操作就是对文件列表中文件信息记录的增加和删除;文件的重命名只是修改了列表里的文件信息中的name字段。

3.4文件下载

用户在客户端选择需要下载的文件,想服务器提出下载请求。服务器查找用户的文件列表,找到选中文件的存储位置,传输给客户端。

3.5文件的分享

用户间的文件分享方便地实现了数据共享。云盘的数据共享过程中避免了数据的拷贝,不用消耗大量的计算资源和存储空间,不同用户在云盘系统中共享一份文件的拷贝。

客户端选择需要分享的文件,向服务器申请共享;服务器随机选择分享码K,使用加密算法E,对文件的FileID加密,计算出密文M,作为分享链接。

M=E(FileID,K) (3)

用户将分享链接和分享传给其他用户。等到分享链接和分享码的用户,通过客户端向服务器申请获取分享文件,服务器接收请求,使用解密算法D,计算出FileID。

FileID=D(M,K) (4)

服务器查询文件信息数据库,得到被分享文件的信息(name,length,place)并添加到用户的文件列表中。

3.6文件分布式存储

文件存储使用了分布式的云存储方案。云存储在大数据的存储方面有着成本低,扩展灵活,部署方便等优点。采用的是开源项目OpenStack Object Storage(Swift),该方案便宜的標准硬件作为存储介质,在硬件层上使用性散列技术和数据冗余性保证数据的高效和可靠性,具有较高的可伸缩性。

4 结束语

校园网云盘系统提供了便捷、快速的远程数据备份以及分享功能。它满足师生对大容量的免费存储需求,丰富了校园网的应用,为师生的学习和娱乐提供了更多的便捷,大大提高了校园网的使用效率。云盘系统相对于传统的本地存储,有巨大的优势,也是未来计算机存储的发展趋势。

参考文献:

[1] 周可,王桦,李春花.云存储技术及其应用[J].中兴通讯技术, 2010(4).

[2] 杨岳湘,邓文平,邓劲生.基于云存储的网盘系统架构及关键技术研究[J]. 电信科学, 2012(10).

[3] 韩同欣,丁建元.基于云盘技术的文档数据共享系统设计[J]. 中国科技信息,2014(21).

[4] 羊裔高.基于Hash函数加密方法的安全性研究[J].河北师范大学学报:自然科学版,2009(3).

[5] 李丽娜.网络存储系统性能优化的设计和实现[J].微型电脑应用,2010(8).

猜你喜欢

存储云盘分享
云盘不再单打独斗,阿里云盘生态体验
孩子,我们慢慢来
档案管理中电子文件的存储探究
阿里发布SSD云盘 性能大幅提升