1、第 1 页 简易网络存储系统的设计与实现 摘 要 21 世纪是资源共享的网络时代,各类信息资源的积累加剧了其膨胀性, 人们对数据的认知也发生了变化,网络技术已经成为主要的 信息处理技术。网络存储系统则提供了一个远程访问和共享数据的平台 ,提高了数据存储的方便性、安全性,方便了数据的传输、管理、维护,节约了数据存储的成本,从而有效地提高了工作效率。 网络存储 系统实现了用户注册、用户信息的修改、文件上传、文件下载、文件删除、文件夹的建立与管理,以及共享用户对普通用户上传文件的访问等功能。 整个 系统 采用 ACCESS 作为数据库 ,使用 ASP 并 结合 HTML、 VBScript 以及 J
2、avaScript 等技术完成 的 。 本文介绍了一个简易网络存储系统设计与建立的过程, 完整地分析了整个系统的功能需求,并对每个子系统进行了详细 的 设计。此外, 文章的最后还给出了 系统 测试过程和测试结果 的 简要说明。 关键词: 网络存储 ; 共享访问 ; 上传 ; 下载 第 2 页 Design and Implementation of Simple Network Storage System Abstract The 21st century is the age of sharing resources time. All kinds of accumulations of
3、information resources have pricked up its expansibility. The cognitive data has also undergone a change, and the network technology has become a major information processing technology. The network storage system provides a platform of remote access and sharing of data. It enhances the convenience a
4、nd safety of data storing, makes data transmission, management, and maintenance convenient, and saves the cost of data storing, which effectively improves the work efficiency. The network storage system has realized many functions, including user registration, user information modification, document
5、s uploading, documents downloading, documents deleting, establishment and management of folder. Meanwhile the sharing user can interview the document which is uploaded by ordinary users. The system adopts ACCESS as database and uses ASP as programming language combining HTML, VBScript and JavaScript
6、 technology to complete it. This thesis introduced the design and realization process of the system. This system has completely analyzed function demands of the entire system, and has carried out the detailed design to each sub system. Besides, the thesis also gives the simple directions for the tes
7、t process and the test results of the system. Key words: network storage; sharing access; upload; download 第 3 页 1 引 言 随着计算机及网络技术的不断发展 ,现代通讯工具应用的普及 ,计算机在现代社会生活中发挥着重要的作用, 而与之相伴随的就是大量的文件而且是一些经常使用的文件携带 不便的问题 。虽然各大计算机硬件生产商都推出新的产品来帮助人们解决携带文件的困扰,但是携带一些存储设备有它自身的缺点和意想不到的麻烦。为方便人们对文件的携带 ,加快办公手段的现代化 ,根据人们的实际需求
8、 ,我们提出了基于计算机网络存储系统的设计方案 ,并根据该设计方案部分地实现了存储系统的基本功能 。 随着网络技术在社会应用的普及 ,各地区相继建立了自己的网络 ,并开始实施网上办公和网上交流。存储系统是将用户的文件存放在服务器上,方便用户“携带”他们的文件,方便用户与他的亲朋好友“共享”他们的文件,用户 可以有如下操作:下载、上传、修改、删除文件,以及新建文件夹等等,同时 人们可以不受时间和空间的限制随时随地从自己的存储空间中取出想要的文件。相对于 Email,存储系统上传文件方便,下载快速,进入空间直接,界面更简单明了。 基于网络的存储环境模型是随着现代信息技术的发展而产生的一种新型方式
9、,将作为构筑 21 世纪文件存储体系的主要手段 ,必然对人们的日常生活和日常工作的转变产 生深远的影响。其未来发展将有以下几个趋势: (1)面向群体和个人的使用 。 (2)网上办公的业务范围将包括所有的办公形式 。 1.1 网络存储的发展 在计算机网络技术、 计算机软 /硬件技术及计算机应用技术的迅速发展过程中, IT 技术经历了三个阶段的发展过程。第一个阶段是一处理器为核心,它促进了计算机的普及和应用;第二个阶段是以传输技术为核心,它促进了计算机网络的使用和普及,使得数字化信息的应用席卷全球并因此导致数字化信息的爆炸性增长,从而引起了第三个阶段 存储技术的发展。因此信息存储系统已成为国内外研
10、究的重点 和新的经济增长点。 网络技术的发展和应用对信息存储系统提出了更为广泛的要求,如高可行性和高可用性的在线存储服务、基于内容的数据存储和快速灾难恢复、系统的开放性、可扩展性、可行性以及自主性等,以便提高存储系统的响应时间、吞吐率、可扩性和可行性。 目前流行主流的存储技术有 DAS( direct attached storage)、 NAS( network attached storage)、 SAN( storage attached networks)、 CAS( content addressable storage) 等。 在网络存储领域,国内外研究机构还进行了大量的工作,目前
11、比较有影响第 4 页 的存储系统有:加州大学伯克利分校的 John Kubiatowcz 等人提出的全局存储体系结构的 Ocean Store;明尼苏达大学 Steven R.Soltis 等人提出的一种应用于光纤通道存储系统中的全局文件系统 GFS( global file system);卡内基梅隆大学的 Garth.Gibson提出的基于智能存储设备的集成安全存储系统 NASD;IBM 研究中心首先提出了自主计算( autonomic computing)的概念等等。 在国内 ,不少大学和科研机构也在网络存储技术方面进行了相应的研究并取得了一定的成果。 而在我们日常生活中,和我们比较接近
12、的网络存储技术有: 腾讯的网络硬盘, Google 的 GMail 邮件存储系统,网易的网盘等等。而随着社会的不断发展,网络技术的不断更新,网络存储技术将和我们越来越紧密。 1.2 课题的意义 目前,网络存储的研究和开发已经成为一个热点,许多著名的 IT 企业,如惠普、 IBM、 EMC、 SUN 等大公司的研发机构均投入了大量的人力、物力进行基于网络存储系统的研究。总的来说,网络存储技术的研究在国内外已经有了一定的发展 ,但还处于其生命周期的早期阶段,它的技术相对来说还不够成熟。在国内,学术界、工业界和有关部门已经逐步意识到信息存储技术浪潮的到来及重要性,对网络存储的研究也逐渐展开。 在日常
13、生活中,网络存储系统方便用户随时随地的上传下载文件,合理的利用有效资源,提高工作效率。 2 系统总体设计 2.1 需求分析 2.1.1 功能 需求 该 系统由三个子模块组成:用户注册系统模块、文件存储系统模块、用户管理系统模块。 该系统的用户由三部分组成 :普通用户 , 共享用户以及管理员用户组成 。 普通用户注册后由登陆界面登陆进入自己的空间 , 在该空间内 进行文件的上传 ,下载 , 同时可以通过新建文件夹对上传的文件进行分类管理 , 可以对上传的文件进行重命名以及删除 。 共享用户可通过普通用户在注册时填写的共享用户名以及共享密码进入普通用户的共享空间 ,共享用户可下载该共享空间中的所有
14、文件 。 管理员用户具有普通用户的所有功能 ,所不同的是在管理员用户空间 ,管理员能对所有用户空间内的所有文件进行管理 ,并且具有删除该用户进入该空间的权限的功能 。 第 5 页 2.1.2 运行环境要求 存储系统是在 WindowsXP 的平台下,利用 Dreamweaver 8 开发出来的,在系统配置的 IIS 下运行。 2.1.3 模块 功能需求 (1)系统结构图 整个系统由三 部分 组成 :用户注册、文件存储、用户管理。用户注册是为了取得进入系统的通行证 。登陆进入系统后,用户可以进行私人文件存储的操作,发布共享文件。 而以共享用户身份进入系统,则只能进行共享文件访问操作。用户管理是普
15、通用户所 独 有的权限,用户可以对登陆密码以及共享密码进行修改,提高 了 存储文件的安全。 图 2-1 系统结构图 (2)用户注册结构图 用户在进入空间前,必须通过身份验证,而身份的验证是用来确定用户是否 具有使用系统的权限以及有哪些权限。 用户注册正是为了使用户获得进入系统的权限 。如图 2-2 所示 。 图 2-2 注册模块结构图 用户注册 普 通 用 户 共 享 用 户 生成共享文件夹 public 存储系统 用户注册文件 存储 用户管理 存储私人文件 共享访问 用户信息修改 登陆 生成普通用户文件夹 第 6 页 (3)文件存储结构图 普通 用户 进入网络存储系统后,可以在系统中 上传文
16、件;新建文件夹;分类管理上传的文件;删除、重命名、下载空间 中的文件和文件夹。 此 外, 普通用户 上传到 public 文件夹的文件,可以 与 其他共享用户 共享 。 如图 2-3 所示 。 图 2-3 文件存储模块结构图 (4)用 户管理结构图 普通用户在注册时给系统同时提供了登陆密码 和共享密码,当用户登陆空间后,可以自主的修改登陆密码和共享密码, 方便用户有效得管理自己的空间。如图 2-4 所示 。 图 2-4 用户管理模块结构图 用户 管理 用户 登陆 密码 修改 共享 用户 密码 修改 用户空间 文件上传 文件下载 空间管理 存储私有文件 存储共享文件 文件夹重命 名 删 除 文件
17、夹 删除文件 建立文件夹 文件重命 名 第 7 页 2.2 系统数据逻辑结构 表 2-1 user_info(用户信息) 列名 数据类型 长度 备注 Id note 4 编号 userName note 20 用户名 password note 8 用户密码 gongxiangming note 20 共享用户名 gongxiangPwd note 8 共享密码 folderPath note 50 文件夹路径 2.3 系统设计 用户注册是为了获得进入系统的权限,注册成功后系统在服务器上的UserFile 文件夹中自动生成一个属于用户的文件夹,同时在该文件夹下生成一个 public 文件夹用于
18、发布共享文件。如图 2-5 所示。 图 2-5 用户生成 验证成功后进入系统,用户可以在自己的空间中进行文件上传下载,新建文件夹。上传的文件以及新建的 文件夹都存放在用户注册时建立的文件夹中。图 2.6 所示。 图 2-6 文件与文件夹管理 dengyawen(新注册用户 ) dengyawen 在 UserFile 中生成的文件夹 public(文件夹 ) 新建文件夹 新建文件夹 上传文件 上传文件 dengyawen(新注册用户 ) dengyawen 在 UserFile 中生成的文件夹 public(文件夹 ) 第 8 页 图 2-7 系统流程图 普通用户注册 登陆成功 用户登陆 共享
19、 用户登陆 普通 用户登陆 登陆成功 N N 下载共享文件 注销退出系统 网络存储 系统 文件上传 操作成功 文件下载 新建文件夹 文件删除修改 N 管理员登陆 用户信息修改 登陆成功 N 管理用户空间 取消用户登陆权限 上传下载文件 文件删除修改 操作成功 N Y Y 第 9 页 3 系统详细 实现 3.1 系统开发语言 3.1.1 开发语言 ASP ASP 是 Web 服务器端的开 发环境,利用它可以产生和 运行动态,交互,高性能的 Web 服务应用程序。 ASP 是在服务器端开发 Web 时 应用的一种简单,方便的编程工具。它对标准的 HTML 文件进行了拓展,增加了一些附加特征, AS
20、P 像标准的 HTML 文件一样包含 HTML 对象,并且在浏览器上解释及显示。任何可以放在 HTML 中的东西都可以放在 ASP 中。 3.1.2 开发语言 -VBScript VBScript 既可以作为客户端编程语言,也可以作为服务器端编程语言。客户端编程语言是可以由浏览器解释执行的语言 ,Java和 Jscript/JavaScript也可以作为客户端语言。当一个以这些语言中的任意一种编制的程序被下载到一个兼容的浏览器中时,浏览器将自动执行该程序。 3.1.3 开发语言 -JavaScript JavaScript 是 1995 年由美国 Netscape 公司为 Navigator2
21、.0 浏览器的应用而发明的。它是一种简单灵活的脚本语言,不需要编译,只要将脚本放在网页中就可以运行,而且速度非常快。 JavaScript 支持 Web 浏览器和服务器脚本,在客户机中,它可用于编写 Web 页面上下文中执行的程序;在服务器中,它可用于编写 处理 Web 浏览器提交的信息并相应地更新浏览器显示 Web 服务器程序。 3.2 系统开发技术介绍 3.2.1 数据库管理 -ACCESS Access 不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各 种数据源,生成窗体(表单),查询,报表和应用程序等。 其主要特点如下: (1)完善地管理各种数据库对象,具有强大的数据
22、组织、用户管理、安全检查等功能。 (2)强大的数据处理功能,在一个工作组级别的网络环境中,使用 Access 开发的多用户数据库管理系统具有传统的 XBASE( DBASE、 FoxBASE的统称)数据库系统所无法实现的客户服务器 (Cient/Server)结构和相应的数据库安全机制, Access 具备了许多先进的大型数据库管理系统所具备的特征,如事务处理 /出错回滚能力等。 (3)可以方便地生成各种数据对象, 利用存储的数据建立窗体和报表,可视性好。 (4)作为 Office 套件的一部分,可以与 Office集成,实现无缝连接。 (5)能够利用 Web 检索和发布数据,实现与 Inte
23、rnet 的连第 10 页 接。 Access 主要适用于中小型应用系统,或作为客户机 /服务器系统中的客户端数据库。 3.2.2 开发工具 -Dreamweaver 8 Macromedia Dreamweaver 8 是建立 Web 站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计 人员都能够快速创建界面吸引人的基于标准的网站和应用程序。从对基于 CSS 的设计的领先支持到手工编码功能,Dreamweaver 提供了专业人员在一个集成、高效的环境中所需的工具。开发人员可以使用 Dreamweaver 及所选择的服
24、务器技术来创建功能强大的 Internet 应用程序,从而使用户能连接到数据库 、 Web 服务和旧式系统。 3.2.3 开发工具 -IIS IIS 是 Internet Information Server 的缩写,它是微软公司主推的服务器,最新的版本是 Windows2003 里面包 含的 IIS 6, IIS 与 WindowNT Server 完全集成在一起,因而用户能够利用 Windows NT Server 和 NTFS( NT File System,NT 的文件系统)内置的安全特性,建立强大,灵活而安全的 Internet 和 Intranet站点。 IIS 支持 ISAPI,
25、使用 ISAPI 可以扩展服务器功能,而使用 ISAPI 过滤器可以预先处理和事后处理储存在 IIS 上的数据 的 系统总体设计 。 3.3 功能详细介绍 综合运用以前所学的专业知识,设计开发一个简易网络存储系统 ,该设计要求实现网络存储系统的部分功能 文件的上传及下载功能。 具体包括以下内容:为方便 普通用户 将自己的文件存储在服务器上,即 普通用户 可以将自己文件上传并保存到服务器上,需要时再下载。 将部分资料提供给 共享 用户访问,可以设定 共享 用户访问这样的资料时需要输入的密码,从而限制用户范围。 普通用户 可以建立不同的文件夹对所存储的文件进行分类管理,同时把 普通用户所上传的文件的大小,属性,以及上传的时间显示出来。为了安全上的考虑,用户只能登陆后才能进入空间,不能直接通过网址进入。 3.3.1 用户注册 普通 用户 在进入存储系统前必须在系统中注册一个属于自己的 帐号 ,以便系统分配所属空间。在注册时需给出 普通 用户 的登陆密码,为共享用户提供访问共享文件所需的共享用户名以及共享密码。如图 3-1 所示。