人民网
人民网>>传媒>>人民网奖学金>>哈尔滨工业大学>>哈工大2016

一种基于云的企业级文件存储系统研究【2】

唐帮盈 熊文静 汪哲鹏
2017年01月12日13:40 | 来源:人民网研究院
小字号

3.2 系统详细设计

编者自行通过编程实现了这个系统,下面进行介绍:

3.2.1 开发环境介绍

开发系统 Microsoft Windows 8.1 x64

开发工具 eclipse MARS

               MySQL

测试系统 Microsoft Windows 7/8/8.1

3.2.2 网间传输模块

1.TCP/IP协议使用(客户端与服务器之间传输)

通过TCP协议的使用,使得服务器和客户端之间可以建立连接,从而实现了数据的传输。

使用TCP的原因主要是因为其可靠性,能够保证其数据传输的正确。

主要使用了多线程的技术,将二者之前的信息交互与其他的数据操作分为了不同的线程,从而实现了服务器和客户端之间的数据连接与交互。

在服务器端的信息交互函数如下:

 

包含了开启连接、查询是否连接、接受、发送、获得端口号等TCP操作。

在客户端的信息交互函数如下:

 

包含了关闭、发送信息、接收信息、获得IP、端口号等TCP操作。

2.服务器的端口转换(客户端与服务器之间传输)

 

图3-3 端口切换示意图

如图3-2-3所示,使用了java自带的socket类进行声明,初始化时使用0作为端口号,系统自动分配端口,当获得端口后,将端口发送至客户端进行相连使用另一个端口进行相连,同时将等待连接端口断开后重新开启。按照这个方式每当需要开启新的端口进行文件传输等操作时,均通过主线程将端口号发送至客户端后进行连接。

3.服务器与网盘之间数据传输

现在各个网盘均提供了属于本身的SDK,所以读者可以根据不同的网盘调用SDK即可。

3.2.3多层加密处理技术

1. RSA加密

RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。由于其基于大数分解,因此在每次加密的同时要经历大量的数据运算才能够保证其安全性,因此RSA加密算法在此处用于加密指令的传输,以及账号、密码、用户信息等私有信息。

代码实现;

 

其中公钥归客户端所有进行加密,而私钥则归服务器所有。

3.文件的分层保护与分享

提供给用户多个选择,通过用户的选择进行对于文件的操作,包括了加密、一般保护、分享三个层次。这个层次的划分主要通过两种操作来进行完成:

一,是否在本地即进行加密;

二,是否不加密但不分享;

三,是否可以进行文件的分享。

4.切片冗余处理

利用纠删码技术进行数据的操作,纠删码具有的特点如下:

(1) 低冗余度,高可靠性。

(2) 数据恢复代价高。丢失数据块或者编码块时,RS需要读取n个数据块和校验块才能恢复数据,数据恢复效率也在一定程度上制约了RS的可靠性。

(3) 数据更新代价高。数据更新相当于重新编码,代价很高,因此常常针对只读数据,或者冷数据。

(4) RS编码依赖于两张2^w-1大小的log表,通常只能采用16位或者8位字长,不能充分利用64位服务器的计算能力,具体实现上可能要做一些优化。

3.2.4 操作封装

将数据操作进行处理封装,最后构建成为了两个类,分别用来进行数据的冗余切片,和冗余片恢复。

将所有的代码文件进行处理后能够获得

 

之后进行整体的封装后得到了两个类,并且将分片设置成为函数处理。

 

分片函数为

 

合并函数为

 

3.2.5 云空间的动态管理

1 原理

最初公司可以申请较大的一片空间,作为基础空间,之后通过公司每次加入一名员工后,就让该员工提供一个账号(也可以是公司另外再申请一个账号),并把这个账号加入到云空间中。这样就能够实现了云空间的碎片化分配,从而最终将文件的切片分配。

2 实现

每次在有人申请加入系统后,管理员就要就要对于云空间进行动态的增长,并且通过云盘的票据认证获得云盘的操作权。最终实现了文件的碎片上传至了碎片状的云空间,大大提高了文件的安全性。

3.2.6 多线程技术操作

1.服务器的多线程

一,对于文件碎片的上传,可以采取多线程技术,同时对于多块碎片的上传,因此就可以突破网络运营商对于网络资源的限制;

二,通过多线程的实现可以同时对多个客户端进行多个操作;

三,可以对于同一个客户端进行多个不同的操作。

2.客户端的多线程

对于文件的上传和下载操作,不能仅进行一个操作,所以就要进行多线程的处理,在与服务器保持联系的同时,也能够进行下载、上传加密等操作。

(责编:温静、赵光霞)

分享让更多人看到

传媒推荐
  • @媒体人,新闻报道别任性
  • 网站运营者 这些"红线"不能踩!
  • 一图纵览中国网络视听行业
返回顶部