校园是众多知识财富的产地,年轻的学者们又总苦恼于资源的有效管理与整合。网络数据存储平台,是一种推出的在线存储服务。向用户提供文件的存储、访问、备份、共享等文件管理功能。用户可以把该平台看成一个放在网络上的硬盘或U 盘,不管你是在家中、单位或其他任何地方,只要你连接到因特网,你就可以管理、编辑网络存储空间里的文件。
本平台服务器端采用Servlet 来进行业务的处理,依靠成熟的HTTP 协议,响应由不同的客户端发送的Post 请求和Get 请求,并依靠Servlet 强大的业务处理能力形成中间层,实现前台界面响应与后台数据处理的有效结合。后台数据处理主要采用以SQL Server2005 作为数据支持服务,利用第三方的sqljdbc4 驱动,采用面向对象原则,将Java 程序与SQL Server 2005 数据库服务进行高效的连接。采用多线程、多任务的设计思想,在服务端性能稳定的前提下,开发出Windows终端平台的客户端和Android 移动终端平台的客户端。利用Java 的标准Swing 组件开发出简洁美观以及布局合理的Windows 平台客户端界面。利用Android 提供的SDK 以及My Eclipse 提供的编辑环境,合理地安排XML 文件的布局以及控件的使用,制作Android 移动终端的客户端界面。从而实现产品平台化,终端多元化的理念,开发出完整的系统平台。
1.关键技术
1.1 Servlet概述
Servlet是一种服务器端的Java 应用程序,具有独立于平台和协议的特性,可以生成动态的Web 页面。它担当客户请求(Web 浏览器或其他HTTP 客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序)的中间层。Servlet是位于Web 服务器内部的服务器端的Java 应用程序,与传统的从命令行启动的Java 应用程序不同,Servlet 由Web 服务器进行加载,该Web 服务器必须包含支持Servlet 的Java 虚拟机。
1.2 HTTP传输协议
超文本传送协议(HTTP) 是一种通信协议,它允许将超文本标记语言(HTML) 文档从Web 服务器传送到Web 浏览器。HTTP 工作在TCP/IP 协议体系中的TCP 协议上。支持客户/ 服务器模式。由于HT鄄TP 协议简单,使得HTTP 服务器的程序规模小,因而通信速度很快。
2.系统设计
2.1 系统框架
系统主要的功能分为:建立Android 客户端和Windows 客户端与服务器的连接;利用Servlet 响应用户的请求执行业务的处理,请求包括(上传文件请求,下载文件请求,共享文件请求);将业务的处理结果回执给客户端。
2.2 业务执行流程图
用户通过Web 端或者终端发送相应的请求,包括(上传文件请求,下载文件请求,共享文件请求等),由服务器端进行接收并解析,响应用户的操作请求。用户发送文件操作的请求给服务器端,服务器端首先对当前用户身份进行验证,对于不合法用户服务器将拒绝请求,并根据当前用户信息检索其相关文件信息,解析用户的具体请求进入相关的业务流程操作,并将用户的具体操作信息保存至数据库,并回执业务操作的结果给用户,如图1所示。
图1 业务执行流程图
2.3 服务器端设计
系统服务器端主要包括两个部分:信息显示模块和文件操作模块。信息显示模块:该部分主要以JSP页面为主,根据用户的不同需要,由业务处理层检索数据库的信息,显示到JSP 页面上供用户浏览。主要流程如图2所示。
图2 服务器端信息显示流程图
文件操作模块:针对不同的文件操作请求,建立不同的文件操作业务流程。主要的业务流程有文件上传、文件下载、文件删除和文件共享的业务。
2.4 Android客户端功能模块设计
由于Android客户端与服务器端共用数据库,且共用相应的Servlet 业务处理流程。故Android 户端的功能模块大体与服务器端相似,主要有三个模块:系统登入模块,文件操作模块和文件列表显示模块。
系统登入模块:用户根据已分配的用户名和密码,进行系统的登入。客户端将用户名和密码以POST 的方式投递于服务器端验证,服务器端返回验证结果。客户端根据结果进行界面的跳转工作或将出错信息进行显示。
文件列表显示模块:服务器端先将文件列表生成XML 文件,客户端下载XML 文件并解析,获取相应的数据生成文件列表在本地进行显示。
文件操作模块:用户在登入系统后选择文件操作的相关功能,主要有文件的下载、文件的上传和文件的共享等操作。用户选择文件上传,客户端将获取本地SD 卡的文件列表,用户点击相应的文件,客户端将获取文件的路径并根据服务器指定的URL 进行Request请求的封装,获取服务器端的输入流与客户端的输出流进行对接,采用缓冲机制,以字节流的形式将客户端的文件流入服务器端,服务器端再将流信息写入服务器文件存储系统进行文件的存储。用户选择文件下载,利用文件列表显示模块获取文件列表,用户选定指定的进行下载,客户端会根据用户指定的文件获取文件在服务器端的路径,再将路径和用户信息封装成URL,获取服务器端的输出流与客户端的输入流对接,客户端将文件流入本地的SD卡进行保存,下载成功后用户可在本地的主文件夹中查看文件的存在,客户端会调用相关的系统软件进行打开。
2.5 Windows 客户端功能模块设计
Windows 客户端主要模块有:系统登入模块,文件下载模块,文件共享模块,共享文件列表显示模块和已下载文件列表显示模块。
系统登入模块:用户输入已分配的用户名和密码,系统会提交至服务器端进行验证,返回验证结果给客户端,客户端对结果判定用户的有效性和合法性,对系统用户进行系统的登入。
文件下载模块:用户选定文件列表中的某个文件,选择下载功能,系统获取文件的相关信息(文件的服务器存储地址,文件名和文件格式),将文件信息封装成Request 请求提交至服务器,由服务器解析并响应客户端的输入流,与服务器端的输出流进行对接,采用字节流的方式将文件流入客户端,客户端再将文件保存至本地。
文件共享功能:用户选定文件列表中的某个文件,选择共享功能,系统会将文件的相关信息进行封装提交至服务器端,由服务器端进行文件共享的业务操作,并将共享的结果回执客户端,客户端对服务器端的结果进行判定,判断文件是否共享成功。
共享文件列表显示模块:对服务器端已共享的文件进行检索,并将数据封装成XML 文件,利用文件下载模块将文件下载至本地客户端,并采用Jdom 方式进行解析,获取XML 数据并将数据显示至文件列表中。已下载文件列表显示模块:检索本地下载的文件夹,获取已下载的所有文件,获取文件的名称和格式,将数据填充至列表中进行显示。
3.系统实现
3.1 文件上传
文件上传功能主要利用第三方的组件commons-fileuplOAd 组件来实现,用户通过POST 方式提交表单,交由相应的Servlet 来响应和操作。Servlet 获取到表单的request 请求后,将request 请求交由commons-fileupload组件进行解析。Commons-fileupload 解析由Servlet 传过来的request 请求,根据表单内容解析并获取上传文件列表,遍历解析得到FileItem 列表,检索列表对象,利用write()方法可将文件对象以流形式保存到服务器的指定位置。具体类工作图如图3 所示。
图3 Commons-fileupload 类工作图
获取到FileItem 列表后,利用FileItem 对象将文件转换成流形式,通过读取配置文件判断当前文件类型是否被支持上传以及判断当前文件的大小是否合法,通过服务器根目录和当前用户信息构建文件的保存路径,接着将文件流入指定位置进行保存并将文件的信息封装成实体对象,利用数据库操作对象将文件的信息保存至数据库。
3.2 文件下载
用户通过JSP 页面或客户端发送下载请求,Servlet接收请求并解析用户请求获取待下载文件的相关信息(文件名,文件格式,文件在服务器存放的路径),根据指定下载文件所在的服务器路径,将其转换成实际的文件路径,并利用实际的文件路径将文件转换为File对象,利用FileInputStream 对象将File 对象进行流封装,通过response 对象获取客户端的输出流对象,为了提高流传输的效率,将服务器端的输入流和客户端输出流均使用BufferedInputStream 对象和BufferedOutput-Stream 对象进行封装,利用流缓冲技术,将服务器端的输入流和客户端的输出流进行对接,将服务器端的文件流入客户端达到文件下载的目的。
3.3 文件共享
共享的功能主要包括:共享文件、取消共享,对于管理员可以强制取消已共享的某文件。功能的实现主要依靠关系数据库的文件息表和共享文件信息表。通过验证用户身份,分配文件共享的不同子功能,根据用户的请求由不同的Servlet 解析,获取当前操作文件的相关信息,主要包括文件的路径、文件的名称、文件的格式以及文件当前共享的状态。共享文件时,先判断当前文件是否已经被共享,如果未被共享,在文件共享信息表中添加当前共享文件的信息并将该文件在文件信息表中的共享状态标识为已共享。如果该文件已经被共享,则将其取消共享,首先在共享文件信息表中删除对应该文件的信息记录并在文件信息表中将文件共享状态标识为未共享,即可完成文件的取消共享文件操作。
3.4 文件删除
用户执行文件删除操作请求,根据请求获取文件的相关信息(文件名,文件格式,文件在服务器存放的路径),判断文件是否处于共享状态,若当前文件处于已共享状态,先取消文件的共享,再根据文件存在的具体路径先执行物理删除操作,再根据文件名和用户编号在文件信息表中进行文件信息记录的检索,通过数据库操作类执行记录删除操作。
4.结束语
Android 的应用有着更为广阔的发展空间。本系统将客户端与服务器端进行了有效的结合,实现了文件管理的实时性,其实用价值将会不断地被认可。而且其开源组件commons-fileupload 的应用也使得文件的传输效率一步步地被提高。由于本系统为了节约成本而使用了大量开源技术,而开源技术不断发展更新,因此需要时刻保持对最新技术的关注,运用该领域最新的技术来改进和优化系统设计。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:多平台网络数据存储系统研究与设计
本文网址:http://www.toberp.com/html/consultation/10839513370.html