图书馆信息系统的开发与性能优化
2018-07-12乔红
乔红
摘要:图书馆信息系统将计算机、网络等信息技术运用到传统的图书馆管理过程中,形成了一种自动化的管理方式,能够代替图书馆管理人员传统的手动及重复性业务活动,实现了图书馆信息的高效准确管理,提高了工作效率,提升了工作质量。该文首先介绍了图书馆信息系统的研究背景及相关技术,在此基础上设计了图书馆信息系统的基本架构,分析了该系统存在的性能问题并逐条提出了优化方案。基于以上优化方案,该文重新设计了优化后的图书馆信息系统架构,并就优化前后的系统性能进行了仿真测试及对比,结果显示优化后的系统处理效率明显提高,系统性能显著提升。
关键词:图书馆信息系统;性能优化;数据存储格式;业务操作方法;并行化处理模式
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)12-0064-03
1引言
图书馆信息系统将计算机、网络等信息技术运用到传统的图书馆管理过程中,形成了一种自动化的管理方式[1],能够代替图书馆管理人员传统的手动或重复性业务活动,优质而高效地处理图书馆业务信息,实现对信息资源的高效利用,最大限度地提高工作效率,提升工作质量,改善工作环境[2]。
2 相关技术研究
2.1 办公门户技术
信息门户技术结合了后台程序开发及前端网页展现,能够为不同的应用场景定制相应的信息展示与集成平台,提供可扩展的页面框架[3]。门户技术能够屏蔽信息存储物理位置的不同、数据存储结构的不同以及系统后台实现方式的不同,为用户提供统一的内容读取、系统操作及人机交互的环境。用户通过授权账号登录后,可方便快捷地访问系统提供的全部信息资源,并且能够享受系统提供的信息浏览、下载、发布等功能。
2.2 信息交换和传输加密技术
信息交换与共享是图书馆信息系统的一个重要内容,需要在不同用户之间实现用户信息、图书信息及借阅信息的信息交互功能,因此系统需提供高效、安全、统一的信息交换与共享服务。在信息资源交换过程中,如何实现数据的准确采集与汇总、实时更新与分发以及不同用户端的数据一致性问题是技术的关键。
系统数据中包含了大量的用户隐私信息,因此,如何确保信息交换过程中的数据安全是系统开发过程中必须考虑的问题。传输加密技术通过节点加密、链路加密、端到端加密等方式实现了信息流的加密传输,提高了信息交换过程中的保密性和安全性[4]。
2.3业务协同机制
业务协同机制越来越多地被用于各类信息化办公场景中,多名用户通过统一系统相互协作共同完成某一业务活动,实现图书馆信息系统中各业务信息的交换、共享以及流程处理等方式都可看作是业务协同机制[5]。良好的业务协同机制需要系统屏蔽用户的不同地理位置,使其能够实现透明的信息交互与处理,同时还需实现协同业务工作的统一管理,确保任务处理的一致性和准确性。另外,系统应记录完整业务活动的处理流程和结果,为后续类似活动提供决策支持。
3图书馆信息系统
图书馆信息系统架构如图1所示,包括数据存取模块、任务调度模块、业务模块和门户页面四个功能模块,完成图书、用户、公告等信息的生成、存储、调用、处理等一系列系统功能。
3.1 数据存取模块
数据存取模块是图书馆信息系统的基础功能模块,主要完成系统中图书、用户、公告等一系列信息的存储功能,提供统一的数据读取接口,并实现对部分数据的预处理功能。
3.2任务调度模块
任务调度模块是图书馆信息系统的关键功能模块,实现敌对系统中各个模块功能的协调与调度,根据各业务功能的实际需求调用不同的数据与资源,确保系统不同模块都能够完成其功能并能够实现协同工作。
3.3业务模块
业务模块是图书馆信息系统的核心功能模块,完成系统核心业务功能的实现,主要包括用户管理、图书管理、信息查询、公告管理、意见管理及流程处置等功能。
3.4门户页面
门户页面是图书馆信息系统的展现模块,将各业务模块的处理结果通过网页、图像等可视化方式呈现出来,并通过POST/GET等HTTP请求实现用户交互功能。
4平台优化与性能提升
4.1系统性能问题
第三章设计了图书馆信息系统的基本架构,能够满足图书馆信息系统的基本功能,当系统用户量不太大、系统并发数不太多时,能够满足用户需求。但是,当系统业务量逐渐增加时,系统性能呈现出明显的不足,系统运行速度逐渐减慢,用户点击后等待时长逐渐增加,当系统用户及并发数急剧增加时,甚至可能导致系统服务器宕机。以上系统性能问题产生的主要原因有以下三个方面:
1)数据存储格式的选择:图书馆信息系统如选用线性等简单的数据存储格式,会导致系统数据库复杂度高,降低系统处理效率。
2)业务操作方法的选择:图书馆信息系统如选用遍历查找等复杂度高的操作方法,同样对导致系统的处理效率较低,从而影响系统性能。
3)系统处理模式的选择:图书馆管理系统如选用基础的单线程工作模式,会导致系统计算资源未能被充分利用,同样会限制系统的执行效率和性能。
4.2系统优化方案
针对以上系统性能问题,我们分别从三个方面提出了优化方案:
1)选择合適的数据存储格式
数据存取模块是图书管理系统的基础功能模块,实现了对系统中图书、用户、公告等一系列信息的存取功能。因此,数据存储格式的选取能够直接确定系统数据库的执行效率,从而影响系统中其他业务模块的处理效率。按照实际的系统及场景需求,我们可选择哈希存储、红黑树存储、B/B+树格式存储及按照索引的组织方式存储等。其中,哈希存储机制是当前最常见的存储机制[6],能够将任意长度的输入数据转换为固定长度的输出数据,该过程用到的哈希算法是一种压缩转换方式,能够有效缩小存储数据的大小,节省所占用的数据库存储空间。采用哈希存储机制的关键是按照实际场景需求设计合理的哈希函数,将直接到系统信息查询及读取过程中的效率和准确度。
2)选择合适的业务操作方法
选择了合适的数据存储格式后,系统需选择与存储合适相匹配的业务操作方法,才能确保发挥数据存储格式的优势,从而减少业务操作操作活动的时间复杂度,提高系统效率和性能。上一部分介绍的哈希存储机制对应了哈希查找法,能够确保发挥哈希表格式的优势,在O(logn)的时间复杂度内完成信息查询与读取操作[7]。除哈希查找法,其他业务操作方法分别对应了不同的时间复杂度。一般来说,遍历类型的操作方法时间复杂度最高,二分类型的操作方法时间复杂度次之,采用特殊格式的操作方法的时间复杂度可能最优。在系统设计过程中,应该尽可能选择适合当前存储数据格式的、时间复杂度最低的操作方法。
3)采用并行化处理模式
完成了系统在数据存储格式和业务操作方法方面的优化后,还可采用并行化处理模式,从系统操作系统层进一步提高系统性能。单线程的处理模式不能充分利用系统资源,因此,图书管理系统应尽可能选用多线程和并行化的处理模式,充分利用系统的计算资源,提高系统的处理效率和性能。.NET框架提供了任务并行库支持业务流的并行操作,这一过程需要底层架构中的线程池和多核CPU提供支持,同时系统的硬件性能指标如CPU核数等也将显著影响系统的执行效率。
图2是经过优化后的图书馆信息管理系统架构图,系统通过合适的数据存储格式实现数据存取模块,任务调度模块采用任务平行库实现平行化调度,业务模块采用并行化处理模式,同时,系统还引入了线程池、多核CPU等基础架构支持模块,成倍地提升系统处理效率和性能。
4.3性能优化效果
为验证上述优化方案对图书馆信息系统性能的影响效果,我们模拟仿真了图书馆信息管理系统环境,并分别测试了系统优化前及逐步加入优化策略后的系统执行效率。我们首先对优化前的图书馆信息系统性能进行仿真,然后逐步加入数据存储格式的优化策略、业务操作方法的优化策略、并行化处理模式优化策略,并分别比较100,000条信息的处理时间,从而计算系统分别处理速率。
如图3所示,优化前的图书管理系统完成100,000条信息的处理时间为1097.2秒,处理速率为91.14条/秒;加入数据存储格式优化策略后,系统完成100,000条信息的处理时间为110.6秒,,处理速率为904.16条/秒;继续加入业务操作方法的优化策略后,系统完成100,000条信息的处理时间为17.7秒,,处理速率为5649.72条/秒;继续加入并行化处理模式优化策略后,系统完成100,000条信息的处理时间为11.3秒,,处理速率为8849.56条/秒。通过仿真结果可以看出,经过优化后的系统处理效率和性能都得到显著提升。
5 结论
综上,本文首先介绍了图书馆信息系统的研究背景及相关技术,在此基础上设计了图书馆信息系统的基本架构,分析了该系统存在的性能问题并逐条提出了优化方案。基于以上优化方案,本文重新设计了优化后的图书馆信息系统架构,并就优化前后的系统性能进行了仿真测试及對比,结果显示优化后的系统处理效率明显提高,系统性能显著提升。
参考文献:
[1] 李广建. 图书馆信息系统[M]. 北京:国家图书馆出版社, 2010.
[2] 郭琳, 张文静, 简平. 面向对象的图书馆信息系统设计与分析[J]. 图书情报工作,2013(s1):271-274.
[3] 许晶, 孟宪尧, 黄尉鼎. 企业门户系统的设计和开发[J]. 科技信息:学术研究,2007(11):179-180.
[4] 石志国, 薛为民, 尹浩. 计算机网络安全教程.第2版[M]. 清华大学出版社,2011.
[5] 吴克忠. OA的新发展与协同办公——OA 2006办公自动化学术研讨会大会主题报告[J]. 办公自动化, 2007(2):3-7.
[6] 袁培森,皮德常.用于内存数据库的 Hash 索引的设计与实现[J].计算机工程,2007,33(18):69-71.
[7] 吕科, 耿国华, 周明全. 基于哈希方法的空间曲线匹配[J]. 电子学报,2003,31(2):294-296.