文件存储系统研究与探索课题研究的实习报告.docx
《文件存储系统研究与探索课题研究的实习报告.docx》由会员分享,可在线阅读,更多相关《文件存储系统研究与探索课题研究的实习报告.docx(25页珍藏版)》请在冰豆网上搜索。
![文件存储系统研究与探索课题研究的实习报告.docx](https://file1.bdocx.com/fileroot1/2023-1/28/96f21f47-36ef-4f88-87eb-84204d46c4a7/96f21f47-36ef-4f88-87eb-84204d46c4a71.gif)
文件存储系统研究与探索课题研究的实习报告
本科生实习(社会调查)报告
院(系)
专业
班级
学号
姓名
指导教师
2012年3月31日
实习
时间
社会调查
2012年2月6日至2012年4月1日
实习
内容
社会调查
文件存储系统研究与探索
实习
单位
社会调查
首都经济贸易大学
实习
报告
社会调查
随着企业信息化的飞速发展,企业及个人在存储方面的投入不断加大,但应用效果不尽人意。
传统的存储方式只能满足单一的存储需求,不能提供多元化的存储和服务。
例如办公文档、科研资料、教学课件、数码照片、音乐等信息只局限在本部局域网内存取,不具备灵活的共享权限,并且查找不便;需要修改的文档只能先下载后再上传到服务器;个人电脑中的数据无法完成自动备份;由于硬盘损坏、病毒攻击、误操作和被盗使重要信息无法得到安全保证,重要数据的丢失很容易给企业和个人带来不可估量的损失,诸多操作不便无法适应当前高效的工作节奏。
针对过去文件存储的应用问题,此次实习我对该领域进行了深入的调研工作,确认了新系统的可行性,并进行了全面的系统分析和系统设计。
实习内容如下:
一、FSS主要功能
本项目要完成的是一个Client/Server模式的软件项目。
这个项目允许用户将本地的文件通过Client存储到服务器上,并随时获得用户所存储的文件列表,允许用户通过Client对用户自己所存储的文件进行删除和索回。
Server需要对每个用户的存储空间进行有效的控制,允许Server对用户的存储空间进行分配。
用户也可以通过Client向Server提出存储空间申请,并随时索取空间申请的处理意见。
Server还可以对用户信息和日志信息等进行管理,允许Server岁用户进行账号锁定。
下面将项目所要实现的功能进行详细说明:
(1)新用户注册。
系统必须支持对新用户进行注册。
一个软件系统中的用户是不断增加的。
新用户注册,用户通过Client向Server发送新用户注册请求,请求信息中包括用户的用户名和用户描述等信息。
由Server端负责向数据库服务器镇中插入新的用户信息,新用户生成成功后,由Server向Client发送新用户注册成功信息,这个信息中必须包含用户的编号。
用户就以用户编号和用户名称登录到本系统。
(2)用户信息修改。
此功能主要是面向老用户,老用户有时需要对自己的相关用户信息进行修改。
用户信息修改由Client向Server发送用户信息修改消息,消息中必须包含用户编号、用户名称和用户描述等信息。
由Server负责将用户的信息修改到数据库服务器。
修改成功后,Server向Client发送修改成功反馈。
(3)用户登录。
此功能主要是面向已经注册的用户,此功能更进一步是为了防止非法用户登录到系统中。
由Client端发送登录请求,Server负责对用户信息进行核对。
用户信息校验成功后,Server端向Client端发送登录成功的消息。
(4)存储文件。
经过用户登录的用户,如果没有被Server锁定,就具有此项功能。
由Client发送存储文件请求,发送所要存储的文件,Server负责将所接收到的文件存储到规定的目录,并将相关信息存储到数据库服务器中,以便日后的查询和管理。
(5)索回文件。
用户要索回存储在Server上的文件,Client发送索回文件的消息给Server,此消息中必须包含此文件的唯一标识。
由Server负责将文件传回Client。
(6)删除文件。
因为在Server上要求对每个用户的存储空间进行严格的控制,所以就必须提供删除文件这个功能,允许用户对自己存储的文件进行管理。
因为用户在存储时,很有可能是在存储空间已满的情况下进行存放操作。
(7)存储空间申请。
Server对每个用户的存储空间进行有效的控制。
视每个用户的不同,也根据每个用户的具体需要,允许用户向Server提出存储空间申请。
由Client向Server发出申请请求,Server将申请信息存储到数据库服务器,由管理员来具体处理。
(8)存储空间申请处理结果反馈。
用户向Server发出存储空间申请请求,最终由管理员对这些申请请求作出处理,所以允许用户向Server索要存储空间申请处理结果。
(9)存储空间申请处理。
对于用户来的存储空间申请,管理员需要做出最终的处理意见。
如果同意申请就应给用户添加存储空间,如果不同意也要提供反馈意见,,以便用户能得到准确答复。
(10)用户信息管理。
Server对系统所存在的用户进行有效的管理,允许管理员对个别用户进行锁定操作,锁定后的用户不能进行任何操作。
Server还需要对用户的存储空间进行管理,来处理用户的具体空间申请请求。
(11)服务器日志管理。
对于任何Client操作,Server都会记录日志,以方便管理员对用户的动作进行监视。
允许管理员对日志进行删除操作。
项目主要实现技术
(1)数据库编程。
在Server端,使用VisualC++的ODBC数据库编程方式。
(2)网络编程。
采用C/S的软件系统架构,Client和Server的通信都采用TCP/IP协议,使用VisualC++的网络编程技术。
二、项目开发环境
1硬件环境
因为所要实现的项目本身不是太大,所以只有以下几点硬件要求:
∙两台以上计算机:
一台服务器,一台工作站
∙CPU:
1G以上
∙硬盘:
10G以上
∙内存:
128M以上
2软件环境
∙WindowsXP
∙VisualC++6.0
∙SQLServer2005
∙MicrosoftSoftwareDevelopmentNetwork
3环境配置
两台计算机在安装了Windows2000后需要做到以下几点:
(1)两台计算机物理上联网。
(2)服务器和工作站配置在同一个网段内,配通。
(3)服务器上安装SQLServer2005,SQLServer2005的服务器和客户端都要安装上去,并且支持混合模式登录。
三、项目工作原理
1FSS服务器工作原理
作为Client和数据库服务器中间层的软件应用服务器,主要用来处理Client发过来的业务请求,避免Client直接与数据库服务器打交道,从而使得Client变得很“瘦”。
不仅仅使整个系统的安全性得到很大提高,还使软件系统可以做到按照用户的需求进行业务扩充,非常方便,更使系统在大业务量时可以进行多机集群。
项目的FSS软件应用服务器的工作原理如图1-1所示。
图1-1FSS服务器的工作原理图
从上面的图中应该可以看出,应用服务器主要分为业务处理和内部管理两大块。
业务处理以业务中心为主要处理模块,接受来自不同Client发送来的业务处理请求,分类处理,对于用户的各类请求做出及时的响应。
1.1应用服务器的内部管理方法如下:
1.1.1参数管理
1)参数配置
一个应用程序一般都会有参数等需要保存起来,保持配置参数一般有一下3种方法:
(1)将参数保存到注册表。
优点是保存方便,无需自己管理;缺点是Windows登录用户必须有访问注册表的权限。
(2)将参数保存到本地文件中。
可以是文本文件,也可以是INI文件或其他自定义形式的文件。
优点是与Windows登录用户的权限没有任何关系;缺点是需要自己编写读取和写入配置文件的代码。
(3)将参数保存到数据库。
这样的话不仅是本地用户可以用,也可以讲配置参数进行网络共享。
此功能提供给管理员设置应用服务器的IP地址、端口号以及用户存储文件的存放路径。
参数配置业务处理流程图如图1-2所示。
图1-2参数配置业务处理流程图
2)参数保存和导入
这个功能对用户是透明的,此功能为FSS服务器的参数保存和导入,主要负责在应用服务器启动时把注册表中的配置信息导入,在应用服务器退出时把配置信息保存到注册表中。
(1)要将参数保存到注册表中必须有以下3个步骤:
∙打开注册表子目录句柄。
∙保存参数数据。
∙关闭注册表子目录句柄。
(2)参数导入。
1.1.2动态配置数据源
如果应用程序发布出去时ODBC数据源还要用户自己手工来配置的话,那是很不切合实际的。
因为大多数的用户只是停留在会使用Windows基本操作的水平基础之上,更有甚者,很多用户连基本的Windows操作都不会。
所有,在设计软件时必须考虑到这种因素,可以说根本不能指望用户来配置ODBC数据源。
在这种情况下就需要考虑让应用程序来自动配置ODBC数据源。
有如下两种方法可让应用程序自动配置ODBC数据源:
(1)要发行软件软件产品肯定要制作安装程序,那么就可以在制作安装程序时将ODBC数据源自动配置进去。
这种方式就是在安装时就要输入相应的参数。
(2)也可以在应用程序的配置模块里实现这个功能,等用户填写好配置参数时,就可以自动将ODBC数据源配置起来。
1.1.3日志管理
1)历史日志管理
对应用服务器进行任何操作、客户端对应用服务器进行任何业务请求,都要把它们记录进日志中,长此以往,日志不可避免地越来越多。
对我们说,并不是任何日志都有用。
对管理员有意义的只有很小的一部分,所以应提供日志管理功能让管理员对服务器日志进行有效的管理。
此对话框显示时会将所有日志导入列表框中,管理员只要选中列表框中想要删除的日志,然后单击“删除日志”按钮执行删除操作即可。
2)添加日志
添加日志功能的调用对用户来说也是透明的,也可以在应用服务器的其他功能中调用这个功能。
这个功能负责把日志信息保存到数据库中。
供管理员进行日常的应用服务器管理,监视应用服务器的运行情况。
1.1.4文件管理
文件管理功能主要供管理员对用户的存储文件进行监督。
管理员可以根据时间段或根据某一个用户查询出应用服务器上存储的文件列表。
只要管理员选择好日期和存储的用户名称,单击“查询”按钮就可以查询出应用服务器上适合条件的存储文件列表。
如果管理员什么条件也不输,则可以查询出所有的存储文件。
为了防止用户存储非法的文件,管理员可以对非法文件进行删除。
管理员只要在文件列表中选中想要删除的文件,单击“删除”按钮就可以删除此文件。
文件管理业务处理流程图如图1-3所示。
图1-3文件管理业务处理流程图
1.1.5用户管理
在此功能模块中,管理员可以添加一个新的用户信息,也可以修改或删除一个用户信息。
分别通过“添加用户”、“修改用户”和“删除用户”这3个按钮来完成这些功能。
在这个功能模块中,管理员还可以给某个用户增加存储空间的容量,也可以对某一个用户进行锁定操作,不让这个用户进行任何操作。
用户管理业务处理流程图如图1-4所示。
图1-4用户管理业务处理流程图
1.1.6存储申请管理
存储申请管理功能仅提供管理员,让管理员对用户提出的存储空间申请进行处理。
此对话框一显示就会在列表框中显示出所有的申请信息,管理员只要选中其中一项就可以对此项申请进行处理。
选中其中一个申请后,单击“同意申请”则批准选中的申请,单击“拒绝申请”则不批准选中申请的空间要求。
1.2应用服务器的业务处理方法如下:
1.2.1接受连接
1.2.2启动/停止服务
启动/停止服务器功能放在主对话框上,主要是控制应用服务器的服务器运行。
1.2.3新用户注册服务
客户端发送新用户注册请求到应用服务器,通过业务中心的数据处理,将新用户的信息传送给新用户注册服务功能,本功能将新用户的数据增加到数据库中,并返回给客户端一个新用户的用户编号。
新用户注册业务处理流程图如图1-5所示。
图1-5新用户注册业务处理流程图
1.2.4用户信息修改服务
客户端发送用户注册修改请求到应用服务器,通过业务中心的数据处理,将用户的新信息传送给用户信息修改服务功能,本功能将用户的新数据增加到数据库中,并返回给客户端修改成功的消息命令。
用户信息修改业务处理流程如图1-6所示。
图1-6用户信息修改业务处理流程图
1.2.5用户登录服务
客户端发送用户登录请求到应用服务器,通过业务中心的数据处理,将用户信息传送给用户登录服务器功能,应用服务器把客户端发来的用户信息与数据库里的进行校验,如果校验成功,则发送登录成功消息,否则发送登录不成功消息。
用户登录业务处理流程图如图1-7所示。
图1-7用户登录业务处理流程图
1.2.6接收文件服务
客户端发送接收存储文件请求到应用服务器,通过业务中心的数据处理,将请求数据传送给接收文件服务器功能,应用服务器将客户端发过来的文件信息到数据库中进行校验,如果校验成功,则进入接收文件状态。
然后,客户端不断发送文件数据传来,直到客户端发送结束传送文件命令。
接收文件业务处理流程图如图1-8所示。
图1-8接收文件业务处理流程图
1.2.7回送文件服务
客户端发送索回存储文件请求到应用服务器,通过业务中心的数据处理,将存储文件标识传送给回送文件服务功能,应用服务器将客户端发过来的存储文件标识到数据库中进行查询,如果查询成功,则回送文件客户端,否则,发送未找到存储文件消息。
回送存储文件业务处理流程图如图1-9所示。
图1-9回送存储文件业务处理流程图
1.2.8用户存储文件删除服务
客户端发送删除存储文件请求到应用服务器,通过业务中心的数据处理,将存储文件标识传送给用户存储文件删除服务功能,应用服务器用客户端发过来的存储文件标识到数据库里进行查询,如果查询到存储文件信息,则删除此存储文件信息,并且删除此存储文件。
删除存储文件业务处理流程图如图1-10所示。
图1-10删除存储文件业务处理流程图
1.2.9用户存储文件查询服务
客户端发送查询存储文件列表请求到应用服务器,通过业务中心的数据处理,将用户编号传送给用户存储文件查询服务功能,应用服务器用客户端发过来的用户编号到数据库里进行查询,如果查询到用户存储文件列表,则将文件列表发送给客户端。
查询存储文件列表业务处理流程图如图1-11所示。
图1-11查询存储文件列表业务处理流程图
1.2.10接受存储空间申请服务
客户端发送存储空间申请请求到服务器,通过业务中心的数据处理,将存储空间申请信息传送给接受存储空间申请服务功能,本功能负责把存储空间申请信息保存到数据库,供管理员定期对这些存储空间申请进行处理。
存储空间申请业务处理流程图如图1-12所示。
图1-12存储空间申请业务处理流程图
1.2.11存储空间申请处理结果查询服务
客户端发送查询存储空间申请处理结果请求到应用服务器,通过业务中心的数据处理,将用户编号传送给存储空间申请处理结果查询服务功能,本功能负责到数据库查询出该用户的存储空间申请信息,逐条返回给客户端。
存储空间申请处理结果查询业务处理流程图如图1-13所示。
图1-13存储空间申请处理结果查询业务处理流程图
2FSS客户端工作原理
软件应用客户端是作为直接面对用户的产品,用户所有的操作都将在这个产品上执行。
软件应用客户端只跟软件应用服务器打交道,只要软件应用客户端配置好软件应用服务器的参数、连接上软件应用服务器后,就可以进行任何操作。
项目的FSS软件客户端的工作原理如图2-1所示。
图2-1FSS软件客户端的工作原理图
从上面的图可以看到,一个新用户只要在开始阶段注册后成为正式用户,成功登录后就能进行各种操作,知道最后断开与服务器的连接。
2.1连接服务器
本功能负责使客户端连接到应用服务器上。
如果连接失败,则询问用户是否要重新连接,得到肯定答案后重新连接应用服务器,否则,退出客户端。
2.2参数设置
本功能提供给用户配置应用服务器的参数,包括应用服务器的IP和端口号。
2.3参数导入和保存
这个功能对用户是透明的,此功能主要负责在客户端启动时把注册表的配置信息导入,在客户端退出时把配置信息保存到注册表中。
2.4新用户注册服务
本功能可以从用户登录窗口进入,提供给还没应用本系统用户的新用户使用。
使用本功能,用户只要填入用户名称和用户描述后向应用服务器发送新用户注册申请,注册成功后新用户就可以获得一个用户编号。
新用户注册业务处理流程图如图2-2所示。
图2-2新用户注册业务处理流程图
2.5用户登录服务
为了防止非法用户进行恶意操作,所以客户端需要用户登录后才能正常使用。
本功能还提供了客户端参数配置和新用户注册等子功能的入口。
用户登录业务处理流程图如图2-3所示。
图2-3用户登录业务处理流程图
2.6用户信息修改服务
本功能提供给用户用来修改基本用户信息,修改好用户信息后,发送用户信息修改到应用服务器,应用服务器修改好用户信息后发送修改成功信息。
用户信息修改业务处理流程图如图2-4所示。
图2-4用户信息修改业务处理流程图
2.7存储文件服务
本功能也作为客户端的主要功能之一,由用户选择一个本地文件发送到应用服务器进行存储。
存储文件业务处理流程图如图2-5所示。
图2-5存储文件业务处理流程图
2.8索回文件服务
用户在列表框中选择一个存储在应用服务器上的文件时,会弹出通用文件选择对话框让用户选择索回存储文件要保存到本地的文件名。
发送索回文件命令,并进入接收文件状态。
等应用服务器发送存储文件回送完成命令后,结束本功能。
索回文件业务处理流程图如图2-6所示。
图2-6索回文件业务处理流程图
2.9查询存储文件列表服务
本功能供用户查询存储在应用服务器上的文件列表。
查询存储文件列表业务处理流程图如图2-7所示。
图2-7查询存储文件列表业务处理流程图
2.10删除存储文件服务
用户存储在应用服务器上的文件很有可能过了一段时间后就没用了,也可能因为存储空间满了而必须删除一些,所以客户端提供删除存储文件功能供用户删除存储在应用服务器上的文件。
2.11存储空间申请服务
系统默认分配给用户的存储空间很可能不够,那么用户可以使用存储空申请功能来向系统管理员提出存储空间申请。
等待管理员对申请做出处理。
2.12存储空间申请处理结果查询服务
用户提出了申请,当然非常想知道申请的处理结果。
本功能就是供用户查询存储空间申请处理结果。
存储空间申请处理结果查询业务处理流程图如图2-8所示。
图2-8存储空间申请处理结果查询业务处理流程图
四、项目总体框架
1FSS数据结构体系
1.1所要最终完成的项目中包含如下数据结构:
1.1.1用户信息
如表1-1所示。
表1-1用户信息
数据
数据描述
用户编号
作为用户的唯一标识
用户名称
用户描述
可以作为用户个性化的信息
注册时间
用户存储空间的最大限制
用户当前已用存储空间大小
是否被锁定
锁定的用户不能进行任何操作
1.1.2文件信息
如表1-2所示。
表1-2文件信息
数据
数据描述
文件编号
作为一个文件的唯一标识
文件名称
文件存放路径
存储文件的用户编号
文件的所有者
存储文件的用户名称
文件大小
文件存储日期
1.1.3用户存储空间申请信息
如表1-3所示。
表1-3用户存储空间申请信息
数据
数据描述
申请编号
作为一次申请空间的唯一标识
申请用户编号
申请用户名称
申请空间大小
是否已经同意
1.1.4日志信息
如表1-4所示。
表1-4日志信息
数据
数据描述
日志编号
作为一个日志的唯一标识
日志时间
来访用户编号
如果是由Client引起的日志就应该有这个信息
来访用户名称
日志内容
1.2根据上述数据结构体系设计出5张数据表,数据表的具体结构如下:
1.2.1索引信息表
如表1-5所示。
表1-5索引信息表
字段名
类型
长度
允许为空
描述
IndexType
Int
4
是
索引类型
IndexValue
Int
4
是
索引值
IndexDese
Varchar
50
是
索引描述
1.2.2日志信息表
如表1-6所示。
表1-6日志信息表
字段名
类型
长度
允许为空
描述
LogTime
Varchar
20
是
时间日志
ComeUserCode
Int
4
是
用户编号
ComeUserName
Varchar
50
是
用户名称
LogContent
Varchar
500
是
日志内容
LogIndex
Int
4
是
日志索引
1.2.3空间申请信息表
如表1-7所示。
表1-7空间申请信息表
字段名
类型
长度
允许为空
描述
RequestIndex
Int
4
是
申请索引
RequestUserCode
Int
4
是
申请用户编号
RequestUserName
Varchar
50
是
申请用户名称
RequestSpace
Int
4
是
申请空间
HasAgreement
Int
4
是
是否被同意
1.2.4存储文件信息表
如表1-8所示。
表1-8存储文件信息表
字段名
类型
长度
允许为空
描述
FileIndex
Int
4
是
文件索引
FileName
Varchar
200
是
文件名称
FilePath
Varchar
300
是
文件存放路径
StoreUserCode
Int
4
是
文件存储用户编号
StoreUserName
Varchar
50
是
文件存储用户名称
FileSpace
Int
4
是
文件大小
StoreTime
Varchar
20
是
存储时间
1.2.5用户信息表
如表1-9所示。
表1-9用户信息表
字段名
类型
长度
允许为空
描述
UserIndex
Int
4
是
用户索引/用户编号
UserName
Varchar
10
是
用户名称
UserDesc
Varchar
50
是
用户描述
RegTime
Varchar
20
是
注册时间
MaxSpace
Int
4
是
最大存储空间
NowSpace
Int
4
是
当前已用存储空间
IsLock
Int
4
是
是否被锁定
2FSS网络处理体系
2.1FSS总体网络体系
(1)一对多模式:
如图3-1所示,在整个项目的实施运行时只在一台计算机上安装了软件应用服务器。
这个应用服务器承担了所有应用客户端所发送过来的业务处理请求,并且也只有这个应用服务器连接到数据库服务器上进行信息通信。
一般在这个模式下,从节约项目硬件成本上考虑,数据库服务器和应用软件服务器很有可能同时运行在同一台计算机上。
图3-1一对多模式示意图
(2)多对多模式:
如图3-2所示。
从图中能很清晰地看到这个就是应用服务器集群的模式。
分别由多个甚至可以是N个应用服务器来共同承担来自应用客户端发过来的业务处理请求。
采用这种方法可以使整个项目处理业务的能力有很大的提升。
图3-2多对多模式示意图
2.2FSS服务器/客户端网络处理体系
项目Client/Se