随着社会数字化的发展, 电子文件已经成为文件保存的主要形式。虽然目前电子文件管理系统已经引入了政府部门和企业单位, 但是在实际的操作过程中, 经常会遇到如下问题:电子文件数目庞大, 难以管理;查找困难, 效率低下;版本控制混乱;缺乏安全性;有些无法有效协作共享等。这些问题导致对电子文件的管理举步维艰[1]。为此, 开发一个具有分类管理、版本的控制、协同操作等功能于一体的文件仓库管理系统, 提高政府和企业单位办公效率是当务之急。
MVC是Model View Controller的简称, 是一种应用较广的软件架构模式, 其作用是实现动态程序设计, 使后续对相关程式的修改、拓展简化, 并且使程序某部分代码的多次使用得以实现[2]。它将程序划分为3种组件:模型层 (M) 、视图层 (V) 和控制器层 (C) 。其中M主要用于封装业务逻辑相关的数据及其数据的处理方法, V主要是有目的数据的显示, C主要是负责不同层级间的组织作用, 用于控制应用程序设计的相关流程。
e-Contact是一款可个性化定制的软件。在数据库方面, 它支持主流DB, 包括Oracle、SQL Server、H2、PostgreSQ、My SQL等;在应用服务器方面, 目前同时支持Tomcat和wildfly。该平台具有可拓展性强、弹性强、易调整、开发周期短、开发成本低等优点, 而且具有良好的兼容性, 适应目前主流的谷歌、IE、火狐等不同类型的浏览器。平台将solr服务器大力分离出, 可以依据不同的需求, 自定义检索的字段;并且支持多国语言。
H2是一个比较常见的开源数据库, 它支持的模式有嵌入式模式、服务器模式和混合模式[3], 同时还支持多连接、表级锁等。在e-Contact平台里直接利用H2作为数据库进行开发, 简单、便捷。
JavaScript是高级编程语言, 是一门动态的、面向对象的直译语言, 简称JS。其作为客户端脚本语言在浏览器上运行, 不需要服务器的支持, 主要应用于Web开发。主要可以实现用户与服务器间的交互、对浏览器的请求作出响应、在数据被提交之前进行校验和制作网页炫酷的特效等功能[4,5]。
本系统主要采用三层B/S结构与MVC设计模式, 基于e-Contact V6.9.5.3开发, 使用H2作为系统的数据库, 服务器端采用主流开源的Tomcat, 深度结合JS技术, 客户只需使用浏览器就可访问服务器资源。其实现的基本原理是利用H2作为数据仓库, 将e-Contact搭建在ecplise上, 使用Java语言进行后台开发。前台的数据交互利用JavaScript来实现, 利用MVC架构, 让每一层只实现该相对独立层内的功能, 如果某些层发生变化, 只需要保持修改层与各层间的接口关系不变, 则其他层的内容都不会受到影响。同时将不同用户对数据的增、删、改、查的权限进行分层的设定, 能够最有效地保证系统数据的安全性[6], 符合文件仓库管理系统的设计理念。
根据系统的实际需求, 设计出如图1所示的文件仓库管理系统的功能结构。
在文件仓库模块中, 主要实现对文件的上传、下载、在线预览和删除的功能, 用户可以通过此功能将需要管理的文件放到文件仓库中。分类管理模块主要实现对文件的分类功能, 可通过此功能, 新增、修改、删除分类, 用户可依据自己的喜好自定义文件仓库的分类。留言管理模块中包括自己的留言、未读的留言等全部的留言。我的仓库模块主要是显示未发布文档、已发布文档以及审核中文档的信息。报表中心模块是用来分析统计用户上传的文件个数及阅读量等, 并且分析、统计不同文件仓库某一时间的阅读量。系统设置模块主要是实现对用户和部门的增、改、删操作, 以及修改登录账号的密码的功能。
数据库设计在软件工程中是一个极其重要的环节, 能直接决定系统的拓展性与效能。尤其对于本文件仓库管理系统, 数据库设计的合理与否, 直接影响到系统的效能及拓展性。依据系统的需求分析, 参考文件管理系统的设计瓶颈与缺点, 结合文件仓库管理系统的优势, 设计数据库, 创建了以下6张表。
(1) 文件仓库表 (dbo.TcKnowledge) , 用于存放用户新建的文件仓库的基本信息。
(2) 分类管理表 (dbo.TcKonwledgeCatalog) , 用于对文件仓库进行分类。
(3) 附件表 (dbo.TsAttachment) , 用于存放上传的文件信息。
(4) 留言表 (dbo.TcDiscuss) , 用于存放用户的留言信息。
(5) 部门信息表 (dbo.TsDepartment) , 用于存放部门信息。
(6) 用户信息表 (dbo.TsUser) , 用于存放与员工的基本信息。
以我的仓库模块进行测试, 依据其功能进行测试用例的设计如表1所示。
对编号1-3的测试结果分别如图2-4所示。
作为文件仓库管理系统, 其必须具备一定的承载能力, 以实现文件仓库的意义所在。通过性能测试, 我们可以确定系统的瓶颈或者最大使用极限, 考察系统在强大压力等极端条件下的表现, 包括超负荷运行和多用户并发[7,8]。针对目前的市场分析, 采用Loaderunner对该系统进行并发用户为500个的操作, 依据每20s增加50个用户来实行, 压力测试的时间维持在10min。系统的压力测试结果如图5所示。
系统压力测试时, 服务器的剩余内存及CPU使用率变化如图6、图7所示。通过压力测试报告、内存和CPU变化图分析可以得知:系统在短时间内, 接受500个用户的并发操作, 通过了3265个请求, 失败数为0;内存和CPU在人数增加时会有上升, 当人数达到一定数量时, 趋于平稳, 人数降低时, 使用率下降, 总体在系统承受范围之内。这证明了此文件仓库管理系统可以供多人并发操作, 能够满足目前很多大中型企业的需求。
本文件仓库管理系统是一种基于B/S及MVC架构设计的对文件进行分类式、精细化管理的系统。经过实际应用和功能测试, 该系统可以有效地弥补现有电子文件管理系统的缺陷, 大幅度地提升了电子文件管理的效率, 降低了电子文件管理的难度, 对促进电子文件管理系统的完善具有重要的作用。
上一篇: 铁路自动化立体仓库设计