基于NHibernate的高校实验室信息管理系统设计与实现

2014-04-29 00:44罗金光张尔喜
中国教育技术装备 2014年10期
关键词:实验室管理信息系统

罗金光 张尔喜

摘 要 为了取代以往的实验室人工管理的二级模式,通过相关参考文献的阅读和分析,结合实际实验室的管理经验,对基于NHibernate技术的高校实验室信息管理系统的构建进行深入的分析和研究。通过采用NHibernate技术对高校的实验室管理系统进行模块化的设计,并对系统查询的检索策略以及二级数据缓存算法进行相关优化;最后对系统软件的运行进行测试,结果表明系统的运行比较稳定,安全性较高,功能完善,并取得良好的教学效果。本文所研究的NHibernate可以在不同的数据库平台上进行构建,灵活性较高,并且具有一定的使用价值和推广价值。

关键词 NHibernate;实验室管理;信息系统

中图分类号:TP315 文献标识码:B

文章编号:1671-489X(2014)10-0033-04

随着我国高等院校实验室建设最近几年的快速发展,实验室的功能也在逐渐增强,实验室管理系统所包含的信息量呈现出逐年扩大的趋势。随着计算机网络技术的不断应用,实验室检测项目大量增加,许多高精尖的实验设备开始出现在实验室内,原来的人工管理模式开始变得不再适应现有的实验室管理需求,所以通过使用计算机来进行实验室数据的收集和处理分析的管理手段开始出现。所谓的实验室信息管理系统主要是指通过利用计算机网络技术以及数据库技术,对实验室进行各种信息化的管理,这种系统建设包括了实验室硬件系统和软件系统建设。目前许多高校的实验室管理模式主要采用的是二级管理模式,这些实验室的管理工作主要包括仪器设备管理、人员管理、耗材管理以及实验室教学管理等内容。实验室管理部门是高校的核心部门,实验室信息化管理系统是整个高校信息系统的重要组成部分。

现在高校的工作重心就是教学与科研,实验室在这两者之中起到关键的纽带作用。本文通过对相关参考文献的调研,结合实际工作经验,对基于NHibernate的高校实验室信息管理系统的设计进行深入的研究,希望能够对高校实验室实现信息化管理提供有益的帮助。

1 国内关于高校实验室信息管理系统的研究现状

高校实验室信息化管理系统设计已经引起国内外学者的广泛研究。湖南大学的彭莉等人开发了基于MVC模式的高校实验室管理系统,通过采用实验室管理系统功能的模块化设计,使得所设计的管理系统具有一定的开放性和拓展性,便于实验室管理客户端的维护。西安电子科技大学的廖恒诚等人指出在NET环境框架下采用B/S多层架构体,使用ASP语言所设计和开发的实验室管理系统具有较强的稳定性,能够满足高校实验室使用的需求。通过使用系统论的概念,将一个实验室信息管理系统分解成若干个子系统,在设计过程中不断协调若干子系统之间的从属关系。该学者指出高校实验室信息管理系统主要包括七个方面的内容:用户登录管理、实验室管理、仪器设备管理、实验室教学管理、实验室数据管理、查询统计、信息发布。

2 NHibernate 简介

NHibernate是一个性能较高的O/R持久化查询工具,主要特征表现在以下三个方面。

1)查询对象的持续性。NHibernate支持复杂对象以及复合对象关联的查询,还提供了面向对象的信息查询系统,可以根据输入的条件来进行复合对象的数据查询,提供了多种SQL自动开关策略。

2)NHibernate查询系统与具体的使用平台并没有很大的关系,可以随时切换数据库平台进行,方便查询系统的移植。

3)NHibernate可以根据信息存储的数据库模式生成PO类查询工具,文件的查询属性可以自动生成,并且可以永久性使用,并不会在数据的存储和数据的类型配置方面花费较多的时间,数据信息查询的效率大幅度提高。

NHibernate中的查询过程都是按照对象进行查询的,而且这种查询方式为一般的条件查询,但是使用起来相对比较简单,从而满足用户的基本查询需求。如果用户的查询条件比较复杂,则需要对NHibernate查询语言进行相关的改进。为此,NHibernate查询系统所使用的查询语言为Hibernate Query Language(HQL),这种编程语言比较类似于SQL语言,两种查询语言的相关性比较如表1所示。

NHibernate查询语言的构造过程比较复杂,对于其运行平台的数据库要求比较高,要求需要查询的数据库要具有良好的设计平台和完善约束。如果要进行比较复杂的查询,必须要进行SQL查询语言的复杂化处理,需要借助其他查询工具,另外还需要XML文件进行配置处理。

3 基于NHibernate语言的高校实验室信息管理系统开发和实现

查询系统的实现 本文所设计的高校实验室管理系统的具体实现主要分为四个过程。

1)环境配置:开发语言为C++,Web端采用ASP.NET2.0语言,辅助开发工具则是采用Rational Software。对于Nhibernate而言,所采用的配置方式主要有XML文件格式以及Configuration类配置。

2)NHibernate持久层,对于持久化类的数据构建而言,需要在NHibernate语句中对其基本的类别属性和所要进行的查询业务种类进行定义。一般在实验室信息管理系统中,各个数据信息之间并没有明显的继承性关系,那么本文中主要采用类映射的方式,创建出相应的Schema数据库。在EXPITEM自主式映射文件中,确定所需要查询信息的ID属性,通常都是为开放实验类型。NHibernate对于映射文件的创立通常是采用XML格式的文件进行处理的,根据映射文件的具体内容从而生成动态的SQL查询语言,实现数据的快速查询。

3)对于数据访问层的设计而言,更多地是采用了ObjectDAOImpl类数据进行设计的,在数据访问层实现的过程中对EXPITEM中的有关数据进行删除。

4)在系统查询业务实现的步骤中,在业务规则进行确定验证后,需要使用数据访问层实现数据的更新和删除;在数据控制器方面,NHibernate系统把来自页面层的数据请求发给逻辑业务层,控制器的主要功能就是实现用户的业务界面层和逻辑业务层之间的相互融合。

NHibernate实验室信息管理查询系统的优化

1)检索算法的优化。由于NHibernate采用了O/RMapping技术来对用户所需要的查询对象进行强制化处理,从而造成数据信息查询系统的数据冗余,这些存在的垃圾数据并不会参与当前数据的查询和处理,并且在整个查询的生命周期中,缺少冗余数据的回收机制。这样会导致内存的使用浪费,尤其是对于那些比较长的字符段落的查询。

如对于很多学生信息的列表查询,很多没有使用价值的字段将会造成严重的浪费,这样会降低整个实验室信息管理系统的使用效率。具体的优化方案就是设计一个数据库表,表中所包含的信息主要字段为title、author、description、preview、preface等,其中有些字段的使用频率可能比较大,然后按照传统的O/Rmapping方式读取1000条数据信息,采用NET.Framework的自动垃圾信息回收机制降低信息检索的误差,从而对两种检索方式进行对比分析。文献[2-3]的研究结果显示了经过优化后的算法能够大量节省内存的使用,尤其是对于查询量比较大的列表查询,其查询效率更能够很好地体现出来。

2)NHibernate实验室管理系统数据缓存技术的优化。NHibernate缓存结构主要采用的是Session缓存模式,在持久化类型数据的缓存库中通常采用OID映射模式来进行数据的缓存,进而为整个数据缓存的生命周期进行良好的数据库访问服务策略设计。在数据库系统正常应用的过程中,由于数据二级缓存的必要性,为了应对关联度比较小的查询语句的插入以及更新操作,有必要进行二级数据的缓存查询。现有的NHibernate查询系统为二级缓存查询提供了两个主要的缓存区域,一个缓存区域主要用来保存查询的主要结果;另外一个缓存区主要为了存储最近查询一系列时间表格,这种查询的主要方式是从缓存数据结果查询中找到数据查询的时间以及关键字符串,最后自动将查询结果存储到缓存区。

如果要在查询过程中对QueryCache的有效性问题进行比较精确的控制,则必要条件之一就是NHibernate系统要对QueryCache缓存区进行不断刷新,所以这种方法对那些需要修改底层数据的查询过程或者是需要对查询结果进行更新的情况特别有效果。在SQL语言运行结果来看,如果有两个字符串的长度相同,但是reference不同,此数据类型在比较的过程中会消耗大量的时间,所以对于两个长字符串的比较而言。为了提高比较的效率,首先可以使用static const string作为Querykey的SQL;其次如果这两个长字符串的reference相同,则可以迅速比较两个字符串的SQL,并判断是否相同。另外还有一种比较常见的做法就是把SQLstring分解成许多个SQL常量分组,对SQL语言的数据类型进行泛化处理,不再限制数据比较的类型。大量的实验结果研究表明,这种优化方法大大提高了SQL语言长字符串的比较效率。

4 基于NHibernate管理系统的功能分析模块

本文所设计的实验室管理系统主要可以分为七个模块,分别为用户登录系统模块、实验室管理模块、仪器设备管理模块、实验室教学管理模块、实验室数据管理模块、查询统计模块、信息统计模块。

首先,对于用户登录模块而言,这个模块所要实现的功能是对用户权限的删除与增加、用户权限的分配,另外还包括了系统的登录界面和相关查询参数的系统化设置。在用户登录界面中,又可以分为教师、学生以及实验室管理员三种登录权限。对于学生而言,其登录用户名和密码主要为学生的学号以及身份证的后六位,学生在第一次登录之后只有修改密码才能进行第二次的使用;对于教师而言,其登录账号为一卡通号码,密码为空;实验室管理员分配着整个实验室管理系统的权限,拥有系统的最大权限,使用比较特殊的用户名与登录密码。

对于实验室管理模块而言,所要实现的功能是对实验室的实验员以及相关的实验房间和设备进行信息化的登记和管理;实验仪器设备管理模块的功能主要为对实验室内的所有实验设备进行管理以及相关信息的查询,这其中还主要包括所有实验设备的使用情况以及报废的实验设备的记录和预警装置;在实验室的教学管理模块中,主要存储着相关实验教学的信息、相关实验课程记录以及实验室的具体分配情况。实验室管理员由于具有最高的管理权限,对学生、教师的信息进行整理以及垃圾信息的删除,在此子系统之中可以实现对教师实验预约以及实验课程管理权限的分配,便于实现模块化管理的模式以及构建实验室管理模式的组织架构。

系统在具体运行的过程中,客户终端通过网络浏览器向服务器发出信息查询的请求,在数据库中进行处理后,将会把数据库处理的结果发送到网络服务器中,并且网络服务器将通过数据线发送至客户端。为了进一步加快整个实验室管理系统的响应速度,确保信息数据的安全性,可以对数据库进行备份处理和硬盘镜像等措施。用户组(学生、教师以及实验室管理员)所需要等级的全部信息,每个组别的成员都有着自己所能更改信息的范围及权限,都可以通过分类表的形式表现出来。可以通过修改组别属性的不同,从而改变用户的使用权限。

最后,对于信息发布的模块而言,主要目的是为了方便高效的学生和教师能够了解实验的最新状况以及与其他兄弟院校的实验信息交流状况。

5 本文设计实验室管理系统的运行及测试结果

随着NHibernate应用的广泛开展,在本实验所开发的基于NHibernate技术的高校实验室信息管理系统进行相关测试的同时,测试的主要内容主要包括界面测试、实验室有关系统功能测试以及测试结果的正确性分析。对于最后的可靠性测试而言,主要包括的内容有非法的字符串输入性错误、软件运行程序的负面效应检查,以及相关垃圾文件和残留文件的清理等方面。

下面主要探讨系统的功能性测试以及系统运行的正确性测试两个方面,主要目的是检验本文所设计的基于NHibernate技术的高校实验室管理系统的具体效果,做好系统软件的测试反馈意见,并对系统软件进行动态的优化和监测。

系统的功能性测试

1)系统软件的功能性测试内容主要包括:系统管理员是否都具有登录密码的保护,界面使用的内在关系是否正确,与软件系统所对应的键盘使用效果是否顺畅,在系统管理软件中的功能键、快捷键、按钮以及相关的菜单键的选择是否正确合理,实验室内部的业务逻辑是否符合要求,数据相关的关联功能是否合理。

2)系统功能检测结果:用户登录有密码保护,界面的调用关系正确,系统软件的功能安排比较合理,各个实验业务之间的内在逻辑比较符合用户的使用要求。

系统软件运行的正确性测试 系统软件的正确性测试内容主要包括系统的基本信息输入,用户管理权限的增加与删除,学生的相关信息的录入、增加以及删除,学生实验成绩的相关信息统计和结果修改查询,包括教师的相关授课信息是否全面和正确。在整个系统中,所有的授课信息系统主题要包括:授课信息的增加以及删除,实验课程的开展地点及时间的模块输入,所开设实验课程的信息输入以及相关实验课程的选课信息的查询,所有登录用户的密码选择是否正确。以上实验检测内容的结果都是运行正确的,可以放心使用。

6 小结

随着高校实验室信息管理的不断智能化,为了取代以往的人工管理模式,本文通过相关参考文献的阅读和分析,结合实际实验室的管理经验,对基于NHibernate技术的高校实验室信息管理系统的构建进行了深入的研究。在对国内关于高校实验室信息管理系统的研究现状以及NHibernate技术分析的基础上,本文对基于NHibernate技术的实验室管理系统进行开发和设计,并从信息检索算法以及数据缓存技术的角度,对所设计的系统进行相关优化;其次,对该实验管理系统所包含的功能模块进行深入的探讨;最后,本文对所设计的实验室管理系统进行运行测试,结果表明,该实验室管理系统运行良好,可以满足具体的使用要求。

参考文献

[1]谢雪梅,赵彬彬.高校实验室管理系统的研究[J].科技信息,2008(5):35-39.

[2]宋菲,吴兵,等.基于Saas模式的实验室信息管理系统研究[J].计算机应用技术,2010(8):27-8.

[3]饶婕,刘朝晖,王蓓.高校开放实验室信息管理系统的研究与实现[J].南华大学学报:自然科学报,2008(3):22-28.

[4]白志青,张银.实验室信息管理系统(LIMS)综述[J].科技情报开发与经济,2007(8):17-12.

[5]徐乐,张元才.实验室信息管理系统现状综述[J].科技情报开发与经济,2008(9):18-31.

[6]施平安.系统分析与设计[M].北京:清华大学出版社,2004:56-69.

[7]郝兴伟.计算机网络原理.技术及应用[M].北京:高等教育出版社,2007:90-125.

[8]邓子云.JSP网络编程从基础到实践[M].北京:电子工业出版社,2005:34-67.

[9]刘桦.C/S模式与B/S模式的对比分析[J].计算机与网络,2005(8):36-39.

[10]Randolph T H. Fundamental principles of site material management[J].Journal of Construction Engineering and Management,2005,131(7):808-815.

猜你喜欢
实验室管理信息系统
企业信息系统安全防护
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
关于实验室管理的研究
基于SSH架构的高职院校实验室管理系统的实现
企业综合节能信息系统SciMES
论高校电子实验室的日常管理与维护
浅谈实验室管理与改革
陕西省宝石学实验教学示范中心的建设与管理
高速公路信息系统维护知识库的建立和应用