一种基于Web浏览器的文件共享系统设计问题和方
1 系统分析与设计
1.1 系统功能需求
本系统是通过对当前收集的基于磁盘目录结构的文件系统进行处理,以分类为目录,以资料题目为文件名,实现如下几方面的功能:⑴在互联网环境下,客户端能够通过浏览器方式对磁盘目录文件实现共享。对目录结构可以按级展开,对于目录下的文件,用户可以实现文件的浏览、下载和打开;⑵根据文件所保存的目录结构能够生成网站的目录结构。根据顶层目录结构生成栏目结构,对栏目下的目录,可以自动生成树形目录结构;⑶实现文件查找。用户可以根据关键词实现对文件名全局查询。
1.2 系统设计
1.2.1 系统结构设计
根据上述的功能要求,设计整体系统结构如下图所示。
在上述图中,1为文档转换器,它能够定时自动将目录下的文档转换成XML描述的文档结构,在文档中描述了目录信息、文件信息以及文档的URL,2、动态网页生成程序。根据文件结构生成文档目录和文件的页面,显示给用户;3是文件的URL,当用户选定文件以后,根据此URL可以定位文件的位置,并实现文件内容的下载和浏览。
系统整个流程描述如下:系统有一个URL生成程序,自动根据指定的目录结构生成相应的目录、文件内容描述的XML文件;当系统访问文档共享系统时,系统根据XML的配置信息自动生成响应的页面进行选择,当用户选中某个文档时,系统将自动下载指定的文档到本地,从而实现了文档的浏览。而系统文件查找,就变成了XML文件内容的查找。
1.2.2 XML文件结构设计
根据系统结构设计可以知道,描述文档存储结构的XML文件是整个系统的核心,它一方面定时将动态收集的文件及时反映出来,同时又是网站目录结构定义、网站文件名称列表和文件资源定位的中心,也是文件查找的基础。在XML文件的结构设计中,需要体现出如下信息:
⑴目录结构的层次:对于首层目录结构,表现为不同的栏目;对于以下的目录结构,表现为层次下的树形目录结构。在这里目录结构层次以Level标签进行标注:Level0,表示顶级;Level1表示栏目,即一级子目录;Level2表示二级子目录,以此类推;⑵将目录名称对应成相应的栏目和树形栏目结构的名称,在本设计中一条Level记录就是一个目录的描述,目录下面包含子目录名和文件名,属性Text代表的目录的名称,显示在属性目录结构内部;⑶将目录下面的文件对应成文件内容,并且保存文件的URL地址。在本设计中一条File记录就是一个文件的描述,其中Text属性描述文件的显示名称,URL属性描述该文件的目录定位信息。
2 系统实现
2.1 XML配置信息生成实现
XML配置信息生成主要是将文档的目录结构生成XML配置文件结构,其主要算法是通过一个递归来实现。
2.2 文档发布系统实现
文档发布系统在Web服务器端运行,本系统采用微软的Internet Information Server(IIS6.0)主要功能是针对客户端浏览器的请求,根据XML配置信息生成相应的页面发送到浏览器上,如果用户点击的是目录信息,则显示该目录的下一级目录以及该目录下的文件信息,如果用户点击的文件信息,则系统通过超链在浏览器或调用本地相应软件打开。其操作主要包括栏目的选择和目录的展开。
在系统实现的时候,树形目录结构通过XML文件绑定到TreeView控件来实现的,为了提高系统响应速度,我们采用了AJAX技术,对树形结构下述节点采用了在打开时动态绑定的办法。文件的绑定,是通过XML配置文件中遍历某树型节点下面的所有文件信息来实现的,并且将text属性显示为文件名,URL属性作为相应文件的资源定位来实现。
2.3 查询系统实现
查询系统的功能是用户在浏览器上输入字符串,系统将自动查询XML配置文件的中文件信息,如果发现匹配的文件,则将名字在文件显示区中进行显示。在实现时,通过应用程序查询所有的File节点中的文件名来实现,如在文件查询中输入“AJAX”则将所有文件名中包含“AJAX”的文档都显示出来。
3 结束语
本文描述了一种基于Web的文档管理系统设计与实现,它能够根据硬盘存档的文件系统目录结构定期生成XML配置文件,然后通过动态网页程序对XML配置文件的处理实现了文档的目录展开、文档展示和文件的共享浏览,并且实现了文件的查询。本系统开发和设计能够解决当前普遍存在的单位共享资源的共享问题。