APP下载

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

2015-05-30左国才符开耀

智能计算机与应用 2015年6期
关键词:教务管理

左国才 符开耀

摘要:智慧校园建设过程中与高校各类信息系统数据交互频繁,基础数据依赖性较强,由于数据没有及时更新,导致各系统数据库的数据不一致,本文论述了如何实现教务管理系统中学生信息数据与宿舍门禁控制系统学生数据的实时同步,为宿舍门禁控制系统实时更新学生数据,保证数据的准确性、有效性。

关键词:宿舍门禁控制;教务管理;数据实时同步

中图分类号: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.

猜你喜欢

教务管理
提高高职院校教务管理质量的几点思考
高职教育管理的信息化建设在教务管理系统中的实现
从自身实践浅谈对高职院校教务工作的认识
基于.NET的综合教务管理系统设计与实现
基于SaaS的教务管理工作
浅析高校教务管理信息化
西部高校成人高等教育改进措施的研究
新形势下高校二级学院教务管理优化路径探析
高校教学秘书队伍建设存在的问题及对策
有关开设跨文化课程优化教务管理的讨论