教务管理系统与宿舍门禁控制系统的数据实时同步研究

来源 :智能计算机与应用 | 被引量 : 0次 | 上传用户:heyjoey
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:智慧校园建设过程中与高校各类信息系统数据交互频繁,基础数据依赖性较强,由于数据没有及时更新,导致各系统数据库的数据不一致,本文论述了如何实现教务管理系统中学生信息数据与宿舍门禁控制系统学生数据的实时同步,为宿舍门禁控制系统实时更新学生数据,保证数据的准确性、有效性。
  关键词:宿舍门禁控制;教务管理;数据实时同步
  中图分类号:TP391文献标识码 A文章编号:2095-2163(2015)06-
  Abstract: In the process of construction of the wisdom of the campus and various types of colleges and universities, data exchange frequently happen in kinds of information systems, and has strong dependence on basic data. The situation that data is not changed timely results in inconsistent data of the database system. This paper discusses how to realizereal-time synchronization of student information data between educational administration management system managementand dormitory entrance guard control system, which achieve real-time updatedata for dormitory entrance guard control system, therefore ensures data accuracy and effectiveness.
  Keywords: Entrance Control of Dormitory; Educational Administration; Data Synchronization
  0引言
  實施智慧校园建设是高校信息化发展的必然趋势,也是高校现代化管理的独有标志[1]。具体来说,就是构建与完善教学、科研、管理及服务手段方面的现代化。在此整体发展背景需求下,若能自动实现教务系统中关联门禁控制系统所对应学生信息数据的对接交互,不仅可将研发者们从传统手工数据的繁琐窘境中解脱出来,更可为高校推进学生宿舍管理信息化提供现实可行的技术依据,因而也已然成为突破智慧校园发展瓶颈的关键所在。
  一般情况下,学生宿舍多是通过宿舍管理员执行进出监管,这种方式存在一定的安全隐患,容易因为管控疏漏而发生外来闲杂人员混入等不良事件。因此,学校决策启用校园宿舍门禁控制系统。学生进入宿舍时,需持校园卡在安装于宿舍门上的读卡器上刷卡,经电脑系统确认是本栋宿舍学生后,门锁自动打开,若并未刷卡或不具开门权限的人员则禁其进入,由此可大大提高宿舍的安全防卫系数。
  教务管理系统(学校购买的强智系统)与宿舍门禁控制系统之间存在着现实频发的学生数据同步、数据交换等信息处理过程,因离校、调整宿舍、调换专业等原因所致,学生数据若不能及时更新到校园卡数据库中,必将引发学生宿舍管理无法正常开展等问题发生。为了高效合理解决上述问题,本文研究利用数据库触发器技术实现教务管理系统与宿舍门禁控制系统中的学生信息的自动同步。
  1数据结构分析
  1.1 教务管理系统的数据结构
  根据教务管理系统功能设计的要求以及功能模块的划分,对于教务管理数据库中学生信息的描述管理,可以列出以下数据项和数据结构:
  名称:学生信息表
  表名:Student表
  数据来源:新生信息录入模块进行录入。
  学生信息表(Student)结构:
  S_NO 学号
  S_Name 姓名
  S_Sex 性别
  S_Birth 出生年月
  S_Class_id 班级号
  S_Entr_date 入学时间
  S_Home 家庭地址
  S_ID 身份证号码
  S_Dept 系别
  1.2 门禁控制系统的数据结构
  学生进、出宿舍均要刷卡,仅当具有开门权限时才允许该生进入,没有卡或未获开门权限的学生均禁止进入。学生进出宿舍应有详细记录,如学生姓名、有效证件号码、系别、班级号、进入时间和出去时间等。
  名称:基本信息表
  表名:CardInfo表
  数据来源:办理校园卡时基本信息录入模块进行录入,学生信息部分由教务管理系统中导入。
  基本信息表(CardInfo)结构:
  C_ID 有效证件号码
  C_Name 姓名
  C_Sex 性别
  C_Dept 系别
  C_Class_id班级号
  C_E-mail 邮箱
  C_Beg_date 证件有效起始日期
  C_End_date 证件有效截止日期
  C_Cert_Flag 状态标识
  教务管理系统数据库与校园卡数据库数据同步工作模式如图1所示。
  2数据同步的技术实现
  由于教务管理系统和门禁控制系统都是分别独立定制安装的, 教务管理系统中数据库变化较为频繁,只要有系统中成员进校或离校,数据表军要改变。为了保证两个系统数据库中数据能够实时同步,本文采用触发器实现两个数据库之间表数据的一致同步,在源数据库中数据发生变化时,则会及时更新目的数据库数据。   在此,给出实现步骤,详述如下:
  (1)对两个服务器之间的数据库表进行同步,首先要建立链接服务器。在EduManaServer上创建连接服务器,以便在 EduManaServer 中操作CamCardServer,实现同步:
  exec sp_addlinkedserver ’CamCardServer’,’’,’SQLOLEDB’,’192.168.12.1’
  exec sp_addlinkedsrvlogin ’CamCardServer’,’false’,null,’TEST’,’TEST123’
  (2)确保 MSDTC服务帐户登录为Network Service 帐户。在运行对话框中,输入services.msc后点击确定。在服务窗口中找到Distributed Transaction Coordinator服务,并检查登陆名为Network Service。
  (3)启用msdc以允许网络事务。
  点击开始-管理工具-组件-组件服务-计算机-我的电脑,找到msdtc选项。
  (4)更改hosts文件
  文件参考如下:
  # Copyright (c) 1993-1999 Microsoft Corp.
  # source server
  # 38.25.63.10 x.acme.com
  127.0.0.1 localhost
  192.168.8.200 EduManaServer
  192.168.12.1 CamCardServer
  (5)创建触发器。代码如下:
  /*--两个数据库表数据实时同步--/*
  CREATE TRIGGER [dbo].[Trigger_DataSynch] ON [dbo].[Student]
  FOR INSERT,UPDATE,DELETE
  AS
  BEGIN
  IF NOT EXISTS(SELECT * FROM deleted)
  BEGIN
  /*插入*/
  INSERT INTO CamCardServer.Test.dbo.CardInfo(C_ID,C_name,C_Sex,C_Class_id,C_Dept)
  SELECT S_ID,S_name,S_Sex,S_Class_id,S_Dept FROM inserted
  WHERE NOT EXISTS (SELECT TOP 1 * FROM CamCardServer.Test.dbo.CardInfo WHERE inserted.S_ID = CamCardServer.Test.dbo.CardInfo.C_ID)
  END
  /*刪除*/
  ELSE IF NOT EXISTS(SELECT * FROM inserted)
  DELETE FROM CamCardServer.Test.dbo.CardInfo
  WHERE C_ID IN (SELECT S_ID FROM deleted)
  /*更新*/
  ELSE
  BEGIN
  UPDATE CamCardServer.Test.dbo.CardInfo
  SET S_ID = inserted.S_ID,
  S_name = inserted.S_name,
  S_Sex= inserted.S_Sex,
  S_Class_id = inserted.S_Class_id,
  S_Dept = inserted.S_Dept
  FROM inserted
  WHERE inserted.S_ID = CamCardServer.Test.dbo.CardInfo.S_ID
  AND (inserted.S_name <> CamCardServer.Test.dbo.CardInfo.S_name
  OR inserted.S_Sex <> CamCardServer.Test.dbo.CardInfo.S_Sex
  OR inserted.S_Class_id <> CamCardServer.Test.dbo.CardInfo.S_Class_id
  OR inserted.S_Dept<> CamCardServer.Test.dbo.CardInfo.S_Dept
  )
  END
  END
  建立了上述的触发器,当Student表进行插入、删除、修改操作时,本地服务器中的CardInfo表也会执行相应的操作,从而实现两台服务器间不同数据库的表进行数据实时同步,最终使得两个表中的相关数据获得了完全一致的理想效果。
  3 结束语
  通过触发器实时更新目标系统数据库表的数据,进行系统间数据转入,门禁系统基本上不需要负担数据维护, 更不必录入庞大的学生相关数据,节省了操作时间,提高了工作效率。实践证明,这种方法简单方便有效, 适于推广使用。为我校的智慧校园建设提供了现实基础,同时更为各信息系统之间数据同步提供了有益参考案例。
  参考文献:
  [1] 王益.高校智慧校园中的信息共享与交换研究--以学生信息为例[J].中国教育信息化:高教职教,2013(7):76-78.
  [2] 罗林球,孟琦,李晓等.异构数据库迁移的设计和实现[J].计算机应用研究,2006,23(12):223-228.
  [3] 王瑞坤.基于消息驱动的数据交换系统设计[D].武汉:武汉理工大学自动化学院,2007.
  [4] 房成萍,马坤,杨波等.分布式一体化及数据交换平台的设计与实现[J].济南大学学报: 自然科学版,2011,25(1): 11-25.
  [5] 夏克俭,张瑛,巢群等.XML在智慧校园数据同步平台中的应用研究.计算机工程与设计,2008,29(2):483-486.
  [6] 王玉标,饶锡如,何盼.异构环境下数据库增量同步更新机制[J].计算机工程与设计,2011,32(3):948-951.
其他文献
直肠结核患病率极低,易误诊为直肠癌,本文报告一例直肠结核误诊为直肠癌.女性,王&#215;&#215;,40岁,肛门内坠胀感31天就诊,就诊前一周肛门坠胀明显加重,且出现全下肢疼痛,每
目的:以HPLC外标法同时测定注射用头孢拉定中头孢拉定、精氨酸和杂质头孢氨苄的含量.方法:采用ODS-3柱,乙腈-醋酸盐缓冲液(12:88)为流动相,检测波长200nm.结果:该法能较好的
在阿莫西林干糖浆生产中,时常出现颗粒粒度不均匀,造成返工次数多,导致成品率偏低.我们通过大量的实验与生产实际,总结出影响因素为干燥箱温度均一性、翻盘方式、粘合剂使用
回顾我院1996年1月至2003年4月收治的M8例急性酒精中毒患者,分为常规治疗组及加用纳络酮(北京四环医药科技股份有限公司生产)治疗组,经比较分析证明,使用纳络酮治疗急性酒精
道面PCN(Pavement Classification Number)值是表征机场道面承载性能的重要参数,国际民航组织(International Civil Aviation Organization,ICAO)规定各成员国可以采用自己的方法