广西桂能软件有限公司
摘要:为了满足电力行业信息化建设的需求,加快系统运行效率,解决庞大数据量影响系统运行缓慢的问题,采用MVC架构结合miniUI界面库及数据库优化,使系统访问更友好速度更快,提高使用人员的工作效率,实现资源共享合理利用。
关键词:数字档案馆;MVC架构;miniUI界面库;AJAX异步;全文检索;SQL数据库索引;数字化
一、引言
随着现代电子信息技术的迅猛发展,档案资料的载体逐渐数字化、信息化。传统的档案管理方式已不能适应计算机网络信息化的发展,企业对电子文件归档存储、传统载体档案数字化、信息服务化和电子档案安全、使用和管理提出新要求,亟需解决档案的数据建立和数据归宿、信息资源的开发和利用等问题。
档案信息化管理平台的建设,发展至今,由于数据量日益庞大,传统开发模式开发的系统在面对庞大数据量在运行效率上愈发显得缓慢,因此需要改变开发模式,采用提高运行效率的软件开发技术方案,解决运行缓慢的瓶颈问题。
在参考各种类型的系统开发案例,做了相关对比后,我们采用一直比较流行的MVC框架开发技术,运用AJAX异步访问技术,结合miniUI这款丰富多彩控件的界面库作为界面前端展示,同时对数据库进行各种优化,以达到系统稳定高效的运行。
二、MVC软件架构模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。最初运用于java开发语言的系统上,后期逐渐广泛应用于其他主流开发语言平台,微软的ASP.NET融合了MVC模式,为开发提供了更好的运用,前台视图(view)使用ajax异步提交表单,到后台控制器(controller)进行业务逻辑操作处理,返回数据显示到前台视图(view)。
MVC分层有助于管理复杂的应用程序,使得开发人员可以在一个时间内专门关注一个方面,比如在不依赖业务逻辑的情况下专注于视图设计,让应用程序的测试更加容易。MVC分层简化了分组开发,不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
AJAX异步加载技术,与传统服务器控件不同的是,前台页面渲染无需等待后台数据的返回才最后全部加载呈现,可实现局部呈现和局部刷新功能,减轻服务器的负载压力,加快运行速度。
三、miniUI界面库
1、界面库简介
jQuery MiniUI,适用于.Net、Java、PHP等任何平台。使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、Master-Detail、菜单工具栏、弹出面板、布局导航、数据验证、分页表格、树、树形表格等典型WEB应用系统界面。
miniUI界面库在使用过程中有以下优点:
(1)快速开发,减少50%代码量。
(2)丰富组件库,高性能、低内存
(3)支持 Java、.NET、PHP
(4)支持 IE6+、FireFox、Chrome
图1 miniUI-DataGrid表格
2、界面库使用举例
数字档案馆主要包括馆藏资源借阅、档案资源建设、审批管理、基础数据维护、系统管理五部分主要功能,及全文检索功能。
(1)馆藏资源借阅
馆藏资源借阅主要提供各类档案的纸质借阅和电子文件借阅,使用者可进入相应的档案模块,进行条目检索,勾选需要借阅的纸质文件或电子文件,进行网上提交借阅申请。
1)列表显示
使用miniUI-datagrid表格控件,调用datagrid的load方法,可通过js脚本或html代码传入获取数据地址,传输到controller控制器,使用linq查询,从数据库获取数据转化为json数据返回到前台View页面,datagrid接收json数据自动绑定数据呈现于前台页面。
2)搜索控件
使用miniUI-textbox、miniUI-combobox、miniUI-datepicker,利用js脚本相互组合并结合样式控制,可开发多条件搜索控件。用户输入检索条件后,系统将检索条件传输到后台,转换为linq拉姆达表达式,进行数据库检索,将检索结果转换为json数据返回到前台页面,使datagrid绑定数据显示到列表。
3)提交借阅流程
用户勾选需要借阅的条目,点击纸质借阅或电子文件借阅按钮,系统判断所选条目的纸质文件是否存在库存、电子文件是否存在真实物理文件,根据系统配置的审批流程,提交借阅申请,系统后台由wcf服务控制每步流程的走向。核心的工作流程主要是运用了微软自带的工作流技术,结合miniUI的打开模态窗口对话框,实现子窗体和父窗体的审批结果状态更改的交互操作。
4)电子扫描件
使用miniUI的Tabs标签页,实现多页面的打开和切换,tab标签页内嵌公司开发的安全浏览器,结合权限控制,仅能在线查看电子文件内容,无法下载、复制、打印电子文件,实现dwg、tif、pdf、doc、xls等电子文件的在线浏览。
(2)档案资源建设
档案资源建设包括CAD图纸的收集文件、电子扫描文件库、CAD图纸打印列表,及各类档案的网上归档模块。
1)CAD图纸收集文件
使用miniUI-layout、miniUI-tree、miniUI-datagrid控件,实现数据按年度分类汇总的功能,通过布局界面,左边区域是年度分类树,具有异步加载功能,展开树节点才加载该节点的下级节点数据,避免数据一次性加载造成运行缓慢的问题。右边区域根据所点击的树节点,返回相应年度的收集文件数据。
2)电子扫描文件库
该模块主要是实现数据显示、搜索、下载、浏览等功能。
3)CAD图纸打印列表
该模块主要是显示设计人员打印的图纸文件记录,可根据未打印、打印中、打印成功、打印失败等状态,区分监控打印操作过程,可通过将CAD文件转换为打印文件发送至打印机打印出来。
4)网上归档
各类档案的网上归档,主要是方便各科室自主录入条目,上传电子文件,统一将本科室的电子文件通过系统传输到档案室进行汇总,该模块可通过导入excel文件,实现条目的批量录入功能。使用miniUI的excel导入导出功能可快速实现该功能,支持excel模板的多变性和复杂性。
(3)审批管理
审批管理主要包括待审批管理、已审批管理、综合性审批管理功能,主要配合馆藏资源的借阅申请审批工作流程,实现领导由传统的纸质审批操作向网上审批操作的转变,简化了工作步骤,提高了工作效率,节省了流程耗费时间。
(4)基础数据维护
基础数据维护主要包括档案属类、工程项目、设计阶段、专业类别、其他常用项、树形分类这六个模块,提供列表检索、数据录入功能,使用miniUI.open弹出窗口、miniUI-form表单数据填充、miniUI数据合法性验证功能,实现数据新增、修改、删除等基本操作。
(5)系统管理
系统管理主要包括账户管理、模块管理、权限管理、图幅管理、系统日志这五个模块,使用miniUI-datagrid表格实现数据呈现,增删改功能。
四、SQL数据库优化
(1)SQL创建表格
根据业务需求进行SQL创建表格,以nvarchar字符串类型的字段作为表格主键,默认为GUID类型,方便后续历史数据导入。建立int整型类型的序号字段,设置标识规范的标识增量为1,实现序号自动递增存储,方便数据按创建时间的升序或降序排列。对在系统中需要常用的过滤字段或排序字段,建立非聚集索引,便于在庞大数据量时加快检索速度。
(2)SQL视图
在SQL创建视图时,由于outer join外连接、left join左连接、right join右连接创建的视图是无法建立索引,故尽量使用inner join内连接各类表格,需要加上“WITH SCHEMABINDING”的sql语法以架构方式创建视图,可以对系统中常用的过滤字段或排序字段,分别建立聚集索引(唯一值)和非聚集索引。自定义标量值函数,也可也架构方式创建,方可在视图中使用,创建了索引的 视图,可大大提高庞大数据量时的检索速度或排序速度。
(3)SQL全文检索
全文检索实现电子文件内容级检索,全文检索结构上具有索引引擎,查询引擎,文本分析引擎和对外接口等,其中文本分析引擎是全文检索的关键技术,决定全文检索的速度和准确性。
数据库创建一张物理表,建立text字段用来存储电子文件中提取的文本内容,建立全文索引,设置text字段作为主要索引列,在全文检索过程中可加快检索速度,实现类似“百度”搜索功能,为用户提供更为丰富的检索手段。
论文作者:陈剑
论文发表刊物:《基层建设》2016年4期
论文发表时间:2016/6/8
标签:数据论文; 文件论文; 视图论文; 系统论文; 电子论文; 档案论文; 字段论文; 《基层建设》2016年4期论文;