刘 红,刘 斐,叶昊亮,王 晔,雷长海,沙 琨
大型仪器设备共享平台的设计与实现
刘 红,刘 斐,叶昊亮,王 晔,雷长海,沙 琨
目的:设计并实现一个基于Web的大型仪器设备共享服务平台,提高大型仪器设备的使用和管理效率。方法:以SQL Server为后台数据库,使用ASP.NET和Ajax技术进行系统平台的构建和实现。结果:该平台已成功应用到大型仪器设备的管理和使用当中,取得了良好的实践效果。结论:大型仪器设备共享平台的投入使用,既提高了仪器设备的管理效率和使用效率,同时也为广大科研人员提供了一个高效的仪器预约使用平台。
仪器共享;ASP.NET;系统设计
大型仪器设备是高校进行人才培养和高水平学术研究的物质基础,它的数量和结构在高校教学和科研的综合实力评估中是一个很重要的衡量标准。从20世纪90年代开始,在“211工程”、“985工程”等一批高校建设过程中,国家投入了大量经费用于仪器设备的建设。但是,就利用率而言,有资料显示,目前国外一些发达国家大型仪器设备的利用率高达170%~200%,而我国高校大型仪器设备的利用率仅为15%左右。2003年,中新网发表的一篇《高科技资源闲置浪费惊人 中国急建科技共享平台》文章指出:一台价值上百万元的科学仪器1a里只使用过7d,有的仪器3 a中只用过一次……造成国家科技资源浪费的一个极其重要的原因就是缺乏“共享”。2004年,国家发布的《国家中长期科学和技术发展规划纲要(2006—2020年)》明确指出,要“推进大型科学仪器、设备、设施的共享与建设,逐步形成全国性的共享网络”[1-2]。在此背景下,我校从2010年开始着手自主建设我校的大型仪器设备共享平台,目前,共享平台已初步建成并投入使用,取得了较好的应用效果。
根据笔者所在单位第二军医大学对仪器设备共享的应用需求和实际情况,我校仪器共享平台的主要功能包括:部门管理、用户管理、仪器管理、仪器预约、数据报表输出和统计分析、系统消息服务和系统信息服务等。图1展示了平台的主要功能,通过将单位管理、用户管理、预约管理和信息管理等功能相结合,可分别满足系统管理员、仪器管理员、导师和学生等不同角色人员的需求。
(1)用户信息与用户角色管理
平台根据不同用户的需求和功能共分为5种角色:普通用户、导师、仪器管理员、系统管理员和超级管理员。普通用户又分为校内用户和校外用户2类。校外普通用户通过注册,经管理员审核通过后成为有效用户,普通用户具有修改注册信息、密码、浏览和预约仪器设备等权限。校内用户(学生)进行仪器预约时,网上预约申请单还需要经过导师的审核方可提交管理员。系统管理员具有审核注册用户,增、删、改本部门的普通用户、仪器管理员和导师等权限。系统管理员还可以发布相关信息和消息。仪器管理员主要负责本部门仪器的管理和仪器预约信息的处理,对仪器信息和预约信息进行统计和制作报表输出等。超级管理员对系统具有最高权限,涵盖了所有用户的操作。只有超级管理员才有角色管理权限,可以根据需要对用户的角色进行修改、调整等操作,一个用户可以同时具有多个角色。
图1 第二军医大学仪器共享平台功能模块图
(2)部门信息管理
为方便仪器设备信息的管理,系统平台将所有的仪器设备分配到所属部门的下级部门进行管理,这样使仪器设备管理变得简单和方便。本部门系统管理员可以对本部门的下级部门的信息进行添加、查看、修改和删除等。部门系统管理员可以给下级部门分配系统管理员和仪器管理员。
(3)仪器设备信息管理
平台中对仪器管理使用频率最高的是仪器管理员。仪器管理员除了对仪器设备的基本信息具有增、删、改等权限外,还可以对仪器设备的状态和共享进行设置。例如,将仪器设备共享状态设置为正常,则该设备就可以对外提供网上预约功能了。另外,由于仪器的类型不同,其预约的流程和预约的申请样单也不同,因此,仪器管理员还需要对仪器的样单和预约流程进行设置。有些仪器的预约是需要排队的,有些仪器的预约是不要排队的,这些信息在仪器开放预约前都应该由仪器管理员来设置好。普通用户能对仪器设备的基本信息进行查看和预约。
(4)预约信息管理
仪器管理员通过仪器管理功能对设备的使用和预约进行设置,预约用户通过浏览界面查找需要预约的仪器,并可以进行查看、提交和取消预约信息等操作。仪器管理员还可以通过仪器管理功能来查看和审核预约信息,当仪器出现故障,也可以取消预约。导师可以查看、审核、取消自己学生提交的预约申请。
(5)数据输出和统计分析
为了对仪器设备的使用情况作详细的了解,系统设置了数据统计分析和数据导出模块。当预约执行完成后,仪器管理员和系统管理员可以对仪器的使用数据进行统计分析,了解仪器的使用情况、取得的科研成果、创造的效益等情况。此外,系统平台还支持多种数据导出形式,如Excel或者PDF等文件形式。
(6)系统消息服务
系统消息服务主要负责给用户提供关键的(即时的)消息通知服务。如将用户新预约信息通知给管理员;将需要导师审核的预约信息发送给导师;将仪器管理员处理的预约信息发送给预约用户等。系统提供3种形式的消息服务:短信通知、邮件通知和站内通知。
(7)系统信息服务
系统信息服务主要包括系统资讯服务、仪器共享信息服务、预约信息服务和仪器转让信息服务等。在系统新闻、通知、公告管理中,系统管理员可以增、删、改新闻、通知和公告。仪器信息服务功能主要提供组合查询和在结果中查询等高级查询功能。
图2 基于MVC模式的ASP.NET实现
2.1 系统的分层结构设计
系统平台采用 3层浏览器/服务器(browser/ server,B/S)架构模式进行开发。B/S结构是对C/S结构的一种改进。在B/S结构下,主要业务逻辑在服务器端浏览器(server)来实现,只有极少量事务逻辑是在前端浏览器(browser)实现的,用户操作界面通过客户端的Web浏览器来完成[3]。B/S3层结构大大减轻了客户端负荷,降低了系统的维护与升级成本和工作量。
为了更好地发挥B/S模式在Web管理信息系统开发中的强大功能,本文将MVC(model view controller)设计模式引入到对B/S体系结构的开发中[4]。图2说明了MVC应用于ASP.NET中B/S模式后所得到的分层式结构模式,从左至右分别为:表示层、业务逻辑层和数据访问层。
用户表示层或称用户界面层主要表示为Web方式,其界面的维护和管理部分由ASP. NET来实现。在此,将仪器信息、预约申请单以及数据统计(报表)等信息展现在客户层(浏览器)。业务逻辑层针对的是具体的业务操作,也可以理解成对数据层的操作,对数据业务的逻辑处理。在此系统中,主要处理用户的登录/注册信息、用户预约申请、用户预约处理和仪器使用报表的生成等。数据访问层主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,具体为业务逻辑层或表示层提供数据服务[5]。在本系统平台中,主要存放用户的注册信息、仪器信息、预约信息等。
2.2 系统数据库设计
仪器共享平台的核心功能主要是依托于数据的流转来完成和实现的,因此,系统数据结构设计的好坏是整个系统运行成功的关键和核心。仪器共享平台的数据结构示意图如图3所示。它简要描述了系统平台数据内容和数据库中数据表之间的关系。系统平台的数据内容主要包括静态数据和动态数据2个部分。静态数据包括用户信息、部门信息、仪器设备信息、仪器服务信息和系统服务消息等。动态数据包括仪器状态信息和仪器预约及处理信息等。从图3中我们也可以看出,仪器共享平台是以仪器为核心进行多种关联来实现多种功能的。
3.1 基于树形编码的无限级部门隶属管理的实现
图3 第二军医大学仪器共享平台数据结构图
部门管理模块负责对系统平台中部门信息的添加、修改和删除。虽然部门管理模块的功能比较单一,但是由于系统平台的用户和仪器都是分配在对应部门之下的,部门信息的调整和增改都会对系统数据的管理产生影响,因此,其功能设计的好坏会关系到整个平台的数据流转和效率[6]。部门管理模块中的关键技术是部门之间隶属关系的处理,原因是由于部门之间的层级存在不确定性问题,例如有些部门有三级隶属部门,而有些部门只有二级隶属部门。为此,系统平台设计了树形数据结构编码方法来解决部门之间层级不确定性问题。部门的树形编码方法示例如图4所示,从中可以看出,子部门编码=父部门编码+序号。例如:训练部编码(0_1_19_)=父部门(第二军医大学)编码(0_1_)+序号(19)。
图4 单位树形编码
3.2 基于Ajax的无刷新级联选项的实现
Ajax的核心是JavaScfipt对象XMLHttpRequest。XMLHttpRequest通过客户端JavaScript脚本可以在不向服务器提交整个页面的情况下,实现网页的局部更新,无需用户刷新页面并等待,从而消除页面刷新所带来的闪烁[7]。
在系统平台的实现中,所有涉及对象联动的页面都采用Ajax实现,在服务器端用一个WebService响应所有页面端的Ajax请求。主要逻辑为:在客户端,当学员选择部院系列表时,触发change方法,该方法通过createXMLHttpRequest方法创建,并初始化XMLHttpRequest对象,XMLHttpRequest对象向服务器端发送异步请求,并等候服务器响应;当服务器返回响应时,触发changeDepartmentLjst方法,该方法在判断服务器正确响应后(通过状态码),调用parseResult方法解析服务器返回的 XML数据,parseResuh方法采用W3C定义的标准DOM方法动态替换关联列表中的值,显示给终端用户,完成一次页面局部更新。
3.3 基于XML和XSLT的通用报表的实现
报表是系统数据输出的重要形式,本系统中有多种报表(包括仪器预约申请报表、仪器使用率报表等)需要输出。为了达到多种报表统一输出的目标,本文设计了基于XML和XSLT的通用报表系统[8],该报表可以应用于本系统的所有子系统当中。报表的本质是将数据按一定的格式进行显示,因此,利用XML和XSLT进行报表设计成为很自然的选择。即在信息系统中,我们可以利用XML来存储和传递数据,然后利用XSLT来格式化数据,其具体处理流程如图5所示。
图5 基于XML和XSLT的通用报表生成流程图
3.4 基于移动短信的系统即时通知功能的实现
随着仪器共享平台的数据量,尤其是仪器信息和仪器预约信息的增加,仪器管理员、导师和预约用户对掌握系统平台的实时动态信息不断提出了更高的需求。管理者希望不需要值守在计算机旁就能实时掌握信息变化动态,仅在必要时才登录到平台中进行相关数据处理;使用者则希望可以在第一时间接收到自己关注的信息。为解决这一日益凸显的问题,本文利用移动通信公司提供的短信猫接口,通过ASP.NET技术实现了SMS短消息单发或群发的即时消息通知功能。其关键代码如下:
我校大型仪器设备共享平台自上线运行以来,至今已使用了3个学年,已经成为我校仪器设备管理工作的重要支撑平台,实现了仪器信息服务、仪器信息管理和维护、仪器预约、数据统计分析和报表输出全程信息化、智能化管理。目前,平台中的可预约仪器设备达到了216台,预约注册用户2 313人,预约信息426 543条,平均每台仪器的预约次数达到2~3条/d,仪器使用率达到85%以上。该平台对仪器使用率、管理员工作量、仪器投资效益提供了准确、快捷的统计,为仪器管理部门调整、制定相关政策提供了有力的数据支持,实现了辅助决策的功能。
在平台研发和使用过程中,通过系统测试、需求分析、用户调查等多种方式,深入了解仪器设备管理人员和仪器预约用户的具体需求,不断完善功能。平台运行稳定,功能不断拓展,获得全校师生的一致好评。在该平台的研发中,我们不断创新,引进了Ajax、WCF等先进技术,推出预约信息短信提醒功能,实现了管理员和预约用户学员仪器预约信息的自动提醒和自主查询。当然,系统在使用过程中也暴露出一些不足,下一步我们将逐步对其进行完善和改进。
[1]张茜,应俊,何史林.健康档案卡跨平台数据共享机制的研究[J].医疗卫生装备,2013,34(2):40-42.
[2]罗俊.医疗设备信息管理中的MVC模式架构[J].医疗卫生装备,2010,31(3):102-103.
[3]范莉娅,黄雪梅,徐云,等.基于Web的贵重仪器设备共享系统研究与实现[J].计算机工程与设计,2007,28(9):2 123-2 126.
[4]刘博,夏新,陈彦东.基于信息集成平台的业务整合与数据共享方案[J].医疗卫生装备,2013,34(7):46-48.
[5]王兴邦,黄凯,郝永胜,等.全国大型科学仪器共享网络信息管理系统的开发与应用[J].中国科技资源导刊,2008,40(4):49-54.
[6]熊梦辉,朱飞燕,夏琼.高校大型仪器设备共享管理体制模式及管理机制探讨[J].科技信息,2008(11):186-188.
[7]胡迎松,彭利文,池楚兵.基于.NET的Web应用三层结构设计技术[J].计算机工程,2003,29(8):173-175.
[8]刘红,王晔,潘晨,等.基于XML和XSLT的通用报表系统的设计与实现[J].计算机应用与软件,2011,28(2):142-144,151.
(收稿:2013-12-12 修回:2014-03-26)
(栏目责任编校:邢 楠 陈建新)
Design and implementation of large equipment sharing platform
LIU Hong1,LIU Fei1,YE Hao-liang1,WANG Ye1,LEI Chang-hai1,SHA Kun2
(1.Network Center,the Second Military Medical University,Shanghai 200433,China; 2.Informatization Office,the Second Military Medical University,Shanghai 200433,China)
ObjectiveTo design and develop a sharing platform to enhance the management and utilization of large equipment.MethodsWith SQL Server as the background database,ASP.NET and Ajax technologies were used to construct the platform.ResultsThe practical trials proved that the platform behaved well.ConclusionThe platform promotes the management and utilization of large equipment,which can be used for equipment appointment of the researcher.[Chinese Medical Equipment Journal,2014,35(10):64-68]
equipment sharing;ASP.NET;system design
R318;TP311.1
A
1003-8868(2014)10-0064-05
10.7687/J.ISSN1003-8868.2014.10.064
刘 红(1975—),男,博士,高级工程师,主要从事计算机应用技术、医学图像处理、多媒体信息检索方面的研究工作,E-mail:liuhong@ smmu.edu.cn。
200433上海,第二军医大学网络中心(刘 红,刘 斐,叶昊亮,王 晔,雷长海),信息办(沙 琨)
沙 琨,E-mail:kunie@smmu.edu.cn