设为首页 | 成都一卡通
当前位置: 首页 > 一 卡 通 > 校园一卡通 >
校园一卡通
基于校园一卡通的大型科学仪器共享预约系统的设计与实现
发布时间:2014-02-21 来源:未知
引言 
    大型科学仪器管理是高校资产管理的重要组成部分,是高校进行实验、教学、科研、科技开发和技能培训的必备设施,也是衡量高校办学能力水平的重要基础条件之一。[1]近年来,随着财政专项资金投入的不断提高,高校大型科学仪器的数量都有显著增加。目前,各重点高校已拥有大量的大型科学仪器,设备精良,技术不错的,是高校教学科研的重要支撑和保障,与此同时,也给科学仪器的共享、使用带来了更高的管理难度。因此,探索和改进高校大型仪器设备管理方式,提高大型仪器设备的利用率和资金投资效益,已经成为各重点高校亟待解决的重大问题之一[2]。本文针对高校大型科学仪器管理上的不足,设计并实现了基于校园一卡通的大型科学仪器设备共享预约系统。此系统的核心功能是:校园用户可通过互联网实现大型科学仪器的查询和预约,待预约单审核成功后,用户持卡使用,通过一卡通身份认证,实现用户自助式使用科学仪器,使用完成后,系统自动统计用户使用信息,并实现相应的计时扣费功能。 基于校园一卡通的大型科学仪器共享预约系统,大大减轻了设备管理员的工作任务和负担,提高了设备使用过程中数据统计的准确性与时效性,促进了大型科学仪器的功能发挥,加强了大型科学仪器的管理与使用效率。 
    一 建设基于校园一卡通的大型科学仪器共享预约系统的总体思路 
    大型科学仪器在高校中的地位和作用,一方面是由仪器本身的价值决定的,另一方面,也受到了大型科学仪器设备管理办法的制约和影响,没有科学的管理和使用办法,再有价值的仪器,也不能发挥出它应有的作用。根据系统工程学观点,要加强科学仪器全过程管理,建立对设备生命期全程的系统分析处理,提高各环节的管理机能。 鉴于此,本系统设计的总体思路是:明确“专管共用,共享预约”的理念,以提高大型科学仪器使用效益为目标,实施共享基金激励机制,开放大型科学仪器信息共享,通过在线预约与校园一卡通刷卡使用机制,实现大型科学仪器管理的规范化和科学化。[3]建设基于校园一卡通的大型科学仪器共享预约系统需具
备三个基础条件: 
(1)校园网,是高校教学、科研和管理的基础,此系统通过校园网将大型科学仪器与一卡通系统连接起来,形成一个整合的资源管理系统。 
(2)共享预约系统,建立安全、稳定的校园大型科学仪器共享预约系统,供校内外用户访问,并提供共享设备信息查询和在线预约服务。 
(3)校园一卡通服务,校园一卡通服务提供了用户身份认证、刷卡计费和绑定功能,能很好地实现大型科学仪器的管理和计费业务。 根据系统运行环境的需要,设备终端须安装校园卡终端
刷卡机,从而实现对校园一卡通用户数据的认证和读取操作。 
    二 大型科学仪器共享预约系统总体设计 
    根据我校大型科学仪器管理工作的要求,结合教学、科研、社会服务等功能的需求分析,将此系统分成六大功能模块,分别是系统设置模块、共享设备信息模块、在线预约模块、支付模块、共享基金模块、资讯模块。
    三 系统分层结构设计 
    基于校园一卡通的大型科学仪器设备共享预约系统采用的是三层体系结构,由下至上分别为:数据访问层、业务逻辑层、表示层。 
(1)数据访问层:数据访问层位于系统构架的底层,为表示层和业务逻辑层提供数据支持。 
(2)业务逻辑层:业务逻辑层封装了系统的业务逻辑和规则,是系统的核心。在业务逻辑层中,不能直接访问数据库,必须通过数据访问层来访问,对数据范围的业务调用,是通过接口模块 IDAL 来操作的,具体的数据访问与逻辑无关,层与层之间的关系是松散耦合的。[4] 
(3)表示层:表示层负责客户端和服务器端的交互、数据的显示和接收,表示层可以通过调用数据访问层进行业务操作,间接操作数据库,它不包含任务系统业务逻辑,使整个系统设计达到分散关注、松散耦合、逻辑复用、标准定义的目的。 
     四 系统模块详细设计 
     本系统的核心模块主要包括设备信息模块、在线预约模块、支付模块、共享基金模块、资讯模块。根据高校资产管理部门设置的要求,将管理员分配了三种不同角色,分别是设备管理员(负责管理个人设备)、资产干事(负责管理全院设备和设备管理员信息)、系统管理员(负责管理全部数据),下面主要是分析各模块的主要功能。 
    1  共享设备信息模块 
    设备管理员是大型科学仪器的直接管理者,他负责实时管理仪器使用的基本情况,主要对设备的运行、预约、维修、报废等状态进行设置。如果仪器属于正常运行状态,用户就可以对这台仪器进行网上预约;一般用户和资产干事只能对仪器的基本信息进行查看;系统管理员拥有对仪器管理的还不错高权限(包括添加、查看、修改、删除、审核等)。 
    2  在线预约模块 
    上网用户可在系统中查找所需要预约使用的仪器,仪器可按不同分类、联系人、购置时间等多条件匹配查询,了解仪器相关情况后可进行在线预约(填写在线预约申请单),在预约申请单审核完成之前,用户还可以对自己的预约申请执行取消操作。 
     设备管理员首先审查用户提交的预约申请,审核通过后,将预约申请进一步提交给系统管理员,在系统管理员审核完成后,整个预约审核过程才算完成。初期审核中,设备管理员一定要确定设备可用,并能达到用户预约申请中所能实现的功能,才能予以批复,若仪器出现问题或达不到用户测试要求,设备管理员可对此预约申请单执行取消操作。 
    3  支付模块 
    用户在预约申请一个工作日内便可收到管理员的审核结果,当预约申请得到批准后,预约人须持本人校园卡在预定时间、预定地点进行实验,使用前刷卡,系统会记录实验开始时间,实验结束后,预约人再次刷卡,确定提交后,系统会自动进行扣费(支付功能),并告诉用户所使用的机时数和消费情况。 
    4  共享基金模块 
    设立共享基金,目的是为了鼓励在校师生增强科研动手能力,促进大型科学仪器的使用,提高科研与学术创新能力。基金统一由学校资产管理中心协调管理。 
(1)共享基金的来源 
①学校每年按共享仪器设备总值的 1%投入共享基金。大型科学仪器在申报加入共享平台成功前,系统会自动从设备管理员帐户中扣取此费用。 
②根据大型科学仪器管理办法,按一定比例将有偿服务收入纳入共享基金。用户在预约使用完成后,系统会根据用户使用机时数,从一卡通帐户上扣取相应的使用费。 
(2)共享基金的使用 
①大型科学仪器维修、保养、新功能开发的补助。 
②申请获得批准资助的教师或优秀学生创新科研的测试费用。 
③教师或优秀学生科研项目实验费用补助,根据项目来源,对使用费进行补助,补助比例为:国家级项目 75%,省级项目 60%,校级项目 50%,院系级项目 30%。 
④学术成果奖励,凡使用本校大型科学仪器的实验项目,并在发表的文章中有明确标注,由共享预约系统收集学术成果,资产管理处根据发表刊物的层次对个人或单位发放奖金,其中 SCI、EI、ISTP、SSC 收录的文章发放奖金 1000 元/篇[8]。此模块主要提供共享基金项目申报功能,用户只需完整填写个人信息和申报材料(学术成果),在线提交,待管理员审核批复后,相应基金统一由资产中心发放至个人或单位校园一卡通帐户上。 
    5  资讯模块 
    资讯内容可分为七小类,分别是:设备使用动态、设备需求、规章制度、科研项目、科技资讯、还不错新通知、相关报导。一般用户都可以按资讯内容分类分别进行投稿或留言,但所有信息须经由系统管理员审核后才能被公开发布,而且只有系统管理员具备审核与删除资讯内容的权限。  
    五 关键技术 
    1  数据库结构设计 
    数据库是整个系统的核心,数据库表结构设计得是否合理,直接影响到整个系统的查询和统计性能。高校科学仪器共享数据量非常大,动态更新快,所以,本系统采用的是 SQL关系数据模型,每个数据表都要求满足第三范式。系统主要数据表有:用户信息表、设备信息表、预约信息表、新闻信息表、设备使用情况统计表、设备分类表、一卡通数据表、全局定义表、考勤表及其他活动信息表。为了实现高效率数据操作,减少网络通信量,系统多采用存储过程和函数实现各种复杂数据操作。以下代码展示的是学院排序存储过程。 
CREATE PROCEDURE [dbo].[Pro_SetSchoolOrder]  
    @SchoolID int,   @Pre_OrderID int,    @OrderID int 
     as      
     begin  
        if @OrderID is null return  
        if(@Pre_OrderID<@OrderID) 
        begin 
        update SchoolInfo set OrderID=OrderID-1 where 
OrderID<=@OrderID and OrderID>@Pre_OrderID 
        end 
         if(@Pre_OrderID>@OrderID) 
        begin 
        update SchoolInfo set OrderID=OrderID+1 where 
OrderID<@Pre_OrderID and OrderID>=@OrderID 
        end 
         if(NOT EXISTS (SELECT *   FROM SchoolInfo  
WHERE OrderID = @OrderID)) 
        begin       
        update SchoolInfo set OrderID=@OrderID where 
SchoolID=@SchoolID     
        end 
     end 
GO 
    2  在线预约功能的实现 
    要实现在线预约功能,首先要建立一个内联表数据视图(预约信息表、用户信息表、设备信息表),然后通过相关业务逻辑处理和筛选条件进行过滤,才能查询到数据库中设备的位置、功能、参数和预约详情等信息。页面身份验证和预约功能采用的是 Javascript 页面控制和 AJAX 异步数据传输技术,实现了页面无刷新切换功能和异步传输数据处理功能。 预约功能的过程描述是:首先,用户填写并提交预约申请单,经由设备管理员进行内容审核(包括检测使用的仪器、测试数据、测试方法、实验要求等),如果设备能够满足用户的要求,则向系统管理员发送二度审核申请,待进一步审核通过,系统会在前台显示审核通过信息,并向用户发送 Email验证文件(即审核通过的预约申请单)。 
3  基于 WebService 校园一卡通支付功能的实现 
通过学校提供的校园一卡通 WebService  服务接口,可获取到用户的身份信息和校园卡信息,来实现身份认证功能和刷卡计费功能,同时将业务处理数据存储至系统服务器。该功能的具体实现原理描述如下: 
(1)刷卡身份认证功能 
用户刷卡,系统调用读卡信息接口函数TA_ReadCard (AccountMsg *pAccMsg),pAccMsg是AccountMsg账户信息类型结构体,此结构体存储有用户的真实姓名、学工号、身份证号、所在部门、卡上余额等信息。预约系统通过用户ID,读取用户的预约详单,进而对持卡人进行身份认证,认证通过后,即可向用户提供仪器使用服务。相关实现代码展示如下: 
public struct pAccMsg//帐户信息 

public string pEcardID;//校园卡号 
         public string PersonalIDCard;//身份证号 
         public string OwnerName;//用户名 
         public string SchoolID;//学工号 
         public string Department;//所在单位 
         public string AccountMoney;//帐户余额 

     public struct pCardConsume//消费信息 
     { 
public string pEcardID; //校园卡号 
         public string OperatorID;//操作员 
         public string ConsumeID;//消费编号 
         public string ConsumeMoney;//消费金额 
         public string AccountMoney;//帐户余额 
     } 
[WebMethod] 
public TA_ReadCard(pAccMsg *pAccMsg) 

…… 
         pAccMsg UserInfo; 
         DataTable dt1 = bc.GetTable("select [ID]," + 
"[ pEcardID]," + 
"[ PersonalIDCard]," + 
"[ OwnerName]," + 
"SchoolID," + 
"Department," + 
"[ AccountMoney]," + 
" from vw_aspnet_EcardUsers " + 
" where pEcardID=" + @pEcardID); 
         UserInfo. pEcardID = 
dt1.Rows[0][“pEcardID”].ToString(); 
         UserInfo. PersonalIDCard = 
dt1.Rows[0][“PersonalIDCard”].ToString(); 
         UserInfo. OwnerName = 
dt1.Rows[0][“OwnerName”].ToString(); 
         UserInfo.AccountMoney = 
dt1.Rows[0][“AccountMoney”].ToString(); 
         …… 
     } 
   (2)计时扣费功能 
    实验结束时,用户进行第二次刷卡,确定提交后,系统自动执行扣费功能。基本流程是:首先从系统数据库获取用户的实验状态和起始时间,并计算出用户的使用机时(费用=使用机时数*价格);然后做扣费处理,扣费处理接口函数是TA_Consume(CardConsume  *pCardCons) , pCardCons 是CardConsume类型结构体,pCardCons包括消费卡号、操作员信息、后台流水号和卡内余额信息等[10];另外,此模块做了一个时钟控制程序,直接记录用户的使用时间。
实现代码如下: 
var NT;var goon=1;var ResNum=new Array();var Gres; 
var jsq=0;var Jy=false; 
var hour=0;var minute=0;var second=0;var msel=0; 
function StPa() 
{ if(goon==1) {   State();   goon=2; } 
  else if(goon==2) {   Pause();   goon=1; } 
  else if(goon==0) {   Stop();   goon=1; }} 
function State() 
{ msel+=1; if(msel==100) {   second+=1;   msel=0; 
   if(second==60){minute+=1;    second=0; 
   if(minute==60){   hour+=1;     minute=0;     if(hour==24) 72 
   { alert("还不错大值不超过24小时"); Pause(); goon=0; return;}}}} 
  NT=setTimeout(State,1); 
document.getElementById("Result").innerHTML=(hour<10 ?"0"
+hour : hour)+": "+(minute<10 ? "0"+minute : minute)+" : 
"+(second<10 ? "0"+second : second); 
document.getElementById("Hid_times").value=(hour<10 ? 
"0"+hour : hour)+" : "+(minute<10 ? "0"+minute : minute)+" : 
"+(second<10 ? "0"+second : second); 
  Jy=true;} 
<!--Pause()函数,暂停计时--> 
function Pause(){ clearTimeout(NT);} 
function Stop(){ clearTimeout(NT); 
document.getElementById("Result").innerHTML="00 : 00 : 00"; 
Zero(); Jy=false; goon=1;} 
<!--Zero()函数,计时器归0--> 
function Zero(){ Gres=0; hour=0; minute=0; second=0; msel=0;} 
    通常情况下,当预约申请得到系统管理员审核后,用户可直接和设备管理员取得联系,预约申请单是设备使用的凭证。所以,用户只需在预约申请单指定的时间、地点持校园卡认证使用即可。 
    六 结束语 
    基于校园一卡通的大型科学仪器共享预约系统的实现,大大提高了高校大型科学仪器管理和使用效率,系统开放共享学校所有设备资源,提供便捷、准确的信息服务,实现了在线预约,校园卡身份认证,计时扣费等功能。从系统实现的效果来看,已经达到了资源开放使用、促进科研创新的双重效果,大大提高了高校大型科学仪器管理的科学化与规范化,促进了高校科研与学科建设力量的提高。 
 
———————— 
参考文献 
[1]宋玉厚,朱榜芹,乔威等.基于ERP管理思想,构建大型仪器设备开放共享体系[J].现代教育技术,2012,22(1):11-16. 
[2]王森,余建潮,汪进前等.基于全程管理模式的大型仪器设备管理研究与实践[J].实验技术与管理,2012,29(1):1-9. 
[3]姜爱民,李明弟,王少华等.大型仪器设备使用效率评估、检查的实践与探索[J].实验技术与管理,2012,29(1):1-3. 
[4]闻星火,杨树国,黄乐.高校仪器设备共享平台建设的实践与展望[J].实验技术与管理,2010,27(10):8-9. 
[5]田淑娟,刘荣.大型科学仪器设备共享及预约系统设计与实现[J].电子设计工程,2011,6(11):23-25. 
[6]贾延江,林明河,陈步云.高等学校仪器设备共享系统管理及运行的激励机制研究[J].实验技术与管理,2006,23(10):11. 贾贤龙,许正荣,王碧清.谈实验技术人员队伍建设[J].实验技术与管理,2008,25(5):1-4. 
[8]贾延江,林明河,许家瑞.实验物资采购管理新模式的研究及其实现方式[J].中国医学装备,2006,3(8):23-26. 
[9]张华,徐强.大型科学仪器开放网络管理平台的建设[J].实验室研究与探索,2007,26(8):26-29. 
[10]胡芳,徐浩.论高校大型精密仪器设备共享平台的建设[J].实验室研究与探索,2008,27(12):109-112. 
[11]周详,张金良,洪霞.大型科学仪器设备效益保障机制的研究与构建[J].实验技术与管理,2007,24(8):58-62. 
[12]王惠琴,王一柏,郑大威,等.依托学科优势推进大型科学仪器设备开放共享[J].实验技术与管理,2010,27(10):162-168. 
[13]Alberto  Manuel.Ricart.Active  server  pages  3  exploitation enchiridion[M].北京:电子工业出版社,2003:31-32. 
[14]R.J.A.Buhr,R.S.Casselman.Use Case Maps for Object-Oriented  Systems[M].清华大学出版社,1998:13-14.