左國才 符開耀
摘要:智慧校園建設(shè)過程中與高校各類信息系統(tǒng)數(shù)據(jù)交互頻繁,基礎(chǔ)數(shù)據(jù)依賴性較強(qiáng),由于數(shù)據(jù)沒有及時(shí)更新,導(dǎo)致各系統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)不一致,本文論述了如何實(shí)現(xiàn)教務(wù)管理系統(tǒng)中學(xué)生信息數(shù)據(jù)與宿舍門禁控制系統(tǒng)學(xué)生數(shù)據(jù)的實(shí)時(shí)同步,為宿舍門禁控制系統(tǒng)實(shí)時(shí)更新學(xué)生數(shù)據(jù),保證數(shù)據(jù)的準(zhǔn)確性、有效性。
關(guān)鍵詞:宿舍門禁控制;教務(wù)管理;數(shù)據(jù)實(shí)時(shí)同步
中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼 A文章編號(hào):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引言
實(shí)施智慧校園建設(shè)是高校信息化發(fā)展的必然趨勢,也是高?,F(xiàn)代化管理的獨(dú)有標(biāo)志[1]。具體來說,就是構(gòu)建與完善教學(xué)、科研、管理及服務(wù)手段方面的現(xiàn)代化。在此整體發(fā)展背景需求下,若能自動(dòng)實(shí)現(xiàn)教務(wù)系統(tǒng)中關(guān)聯(lián)門禁控制系統(tǒng)所對應(yīng)學(xué)生信息數(shù)據(jù)的對接交互,不僅可將研發(fā)者們從傳統(tǒng)手工數(shù)據(jù)的繁瑣窘境中解脫出來,更可為高校推進(jìn)學(xué)生宿舍管理信息化提供現(xiàn)實(shí)可行的技術(shù)依據(jù),因而也已然成為突破智慧校園發(fā)展瓶頸的關(guān)鍵所在。
一般情況下,學(xué)生宿舍多是通過宿舍管理員執(zhí)行進(jìn)出監(jiān)管,這種方式存在一定的安全隱患,容易因?yàn)楣芸厥杪┒l(fā)生外來閑雜人員混入等不良事件。因此,學(xué)校決策啟用校園宿舍門禁控制系統(tǒng)。學(xué)生進(jìn)入宿舍時(shí),需持校園卡在安裝于宿舍門上的讀卡器上刷卡,經(jīng)電腦系統(tǒng)確認(rèn)是本棟宿舍學(xué)生后,門鎖自動(dòng)打開,若并未刷卡或不具開門權(quán)限的人員則禁其進(jìn)入,由此可大大提高宿舍的安全防衛(wèi)系數(shù)。
教務(wù)管理系統(tǒng)(學(xué)校購買的強(qiáng)智系統(tǒng))與宿舍門禁控制系統(tǒng)之間存在著現(xiàn)實(shí)頻發(fā)的學(xué)生數(shù)據(jù)同步、數(shù)據(jù)交換等信息處理過程,因離校、調(diào)整宿舍、調(diào)換專業(yè)等原因所致,學(xué)生數(shù)據(jù)若不能及時(shí)更新到校園卡數(shù)據(jù)庫中,必將引發(fā)學(xué)生宿舍管理無法正常開展等問題發(fā)生。為了高效合理解決上述問題,本文研究利用數(shù)據(jù)庫觸發(fā)器技術(shù)實(shí)現(xiàn)教務(wù)管理系統(tǒng)與宿舍門禁控制系統(tǒng)中的學(xué)生信息的自動(dòng)同步。
1數(shù)據(jù)結(jié)構(gòu)分析
1.1 教務(wù)管理系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)
根據(jù)教務(wù)管理系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,對于教務(wù)管理數(shù)據(jù)庫中學(xué)生信息的描述管理,可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):
名稱:學(xué)生信息表
表名:Student表
數(shù)據(jù)來源:新生信息錄入模塊進(jìn)行錄入。
學(xué)生信息表(Student)結(jié)構(gòu):
S_NO 學(xué)號(hào)
S_Name 姓名
S_Sex 性別
S_Birth 出生年月
S_Class_id 班級號(hào)
S_Entr_date 入學(xué)時(shí)間
S_Home 家庭地址
S_ID 身份證號(hào)碼
S_Dept 系別
1.2 門禁控制系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)
學(xué)生進(jìn)、出宿舍均要刷卡,僅當(dāng)具有開門權(quán)限時(shí)才允許該生進(jìn)入,沒有卡或未獲開門權(quán)限的學(xué)生均禁止進(jìn)入。學(xué)生進(jìn)出宿舍應(yīng)有詳細(xì)記錄,如學(xué)生姓名、有效證件號(hào)碼、系別、班級號(hào)、進(jìn)入時(shí)間和出去時(shí)間等。
名稱:基本信息表
表名:CardInfo表
數(shù)據(jù)來源:辦理校園卡時(shí)基本信息錄入模塊進(jìn)行錄入,學(xué)生信息部分由教務(wù)管理系統(tǒng)中導(dǎo)入。
基本信息表(CardInfo)結(jié)構(gòu):
C_ID 有效證件號(hào)碼
C_Name 姓名
C_Sex 性別
C_Dept 系別
C_Class_id班級號(hào)
C_E-mail 郵箱
C_Beg_date 證件有效起始日期
C_End_date 證件有效截止日期
C_Cert_Flag 狀態(tài)標(biāo)識(shí)
教務(wù)管理系統(tǒng)數(shù)據(jù)庫與校園卡數(shù)據(jù)庫數(shù)據(jù)同步工作模式如圖1所示。
2數(shù)據(jù)同步的技術(shù)實(shí)現(xiàn)
由于教務(wù)管理系統(tǒng)和門禁控制系統(tǒng)都是分別獨(dú)立定制安裝的, 教務(wù)管理系統(tǒng)中數(shù)據(jù)庫變化較為頻繁,只要有系統(tǒng)中成員進(jìn)?;螂x校,數(shù)據(jù)表軍要改變。為了保證兩個(gè)系統(tǒng)數(shù)據(jù)庫中數(shù)據(jù)能夠?qū)崟r(shí)同步,本文采用觸發(fā)器實(shí)現(xiàn)兩個(gè)數(shù)據(jù)庫之間表數(shù)據(jù)的一致同步,在源數(shù)據(jù)庫中數(shù)據(jù)發(fā)生變化時(shí),則會(huì)及時(shí)更新目的數(shù)據(jù)庫數(shù)據(jù)。
在此,給出實(shí)現(xiàn)步驟,詳述如下:
(1)對兩個(gè)服務(wù)器之間的數(shù)據(jù)庫表進(jìn)行同步,首先要建立鏈接服務(wù)器。在EduManaServer上創(chuàng)建連接服務(wù)器,以便在 EduManaServer 中操作CamCardServer,實(shí)現(xiàn)同步:
exec sp_addlinkedserver 'CamCardServer','','SQLOLEDB','192.168.12.1'
exec sp_addlinkedsrvlogin 'CamCardServer','false',null,'TEST','TEST123'
(2)確保 MSDTC服務(wù)帳戶登錄為Network Service 帳戶。在運(yùn)行對話框中,輸入services.msc后點(diǎn)擊確定。在服務(wù)窗口中找到Distributed Transaction Coordinator服務(wù),并檢查登陸名為Network Service。
(3)啟用msdc以允許網(wǎng)絡(luò)事務(wù)。
點(diǎn)擊開始-管理工具-組件-組件服務(wù)-計(jì)算機(jī)-我的電腦,找到msdtc選項(xiàng)。
(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)創(chuàng)建觸發(fā)器。代碼如下:
/*--兩個(gè)數(shù)據(jù)庫表數(shù)據(jù)實(shí)時(shí)同步--/*
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
建立了上述的觸發(fā)器,當(dāng)Student表進(jìn)行插入、刪除、修改操作時(shí),本地服務(wù)器中的CardInfo表也會(huì)執(zhí)行相應(yīng)的操作,從而實(shí)現(xiàn)兩臺(tái)服務(wù)器間不同數(shù)據(jù)庫的表進(jìn)行數(shù)據(jù)實(shí)時(shí)同步,最終使得兩個(gè)表中的相關(guān)數(shù)據(jù)獲得了完全一致的理想效果。
3 結(jié)束語
通過觸發(fā)器實(shí)時(shí)更新目標(biāo)系統(tǒng)數(shù)據(jù)庫表的數(shù)據(jù),進(jìn)行系統(tǒng)間數(shù)據(jù)轉(zhuǎn)入,門禁系統(tǒng)基本上不需要負(fù)擔(dān)數(shù)據(jù)維護(hù), 更不必錄入龐大的學(xué)生相關(guān)數(shù)據(jù),節(jié)省了操作時(shí)間,提高了工作效率。實(shí)踐證明,這種方法簡單方便有效, 適于推廣使用。為我校的智慧校園建設(shè)提供了現(xiàn)實(shí)基礎(chǔ),同時(shí)更為各信息系統(tǒng)之間數(shù)據(jù)同步提供了有益參考案例。
參考文獻(xiàn):
[1] 王益.高校智慧校園中的信息共享與交換研究--以學(xué)生信息為例[J].中國教育信息化:高教職教,2013(7):76-78.
[2] 羅林球,孟琦,李曉等.異構(gòu)數(shù)據(jù)庫遷移的設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2006,23(12):223-228.
[3] 王瑞坤.基于消息驅(qū)動(dòng)的數(shù)據(jù)交換系統(tǒng)設(shè)計(jì)[D].武漢:武漢理工大學(xué)自動(dòng)化學(xué)院,2007.
[4] 房成萍,馬坤,楊波等.分布式一體化及數(shù)據(jù)交換平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].濟(jì)南大學(xué)學(xué)報(bào): 自然科學(xué)版,2011,25(1): 11-25.
[5] 夏克儉,張瑛,巢群等.XML在智慧校園數(shù)據(jù)同步平臺(tái)中的應(yīng)用研究.計(jì)算機(jī)工程與設(shè)計(jì),2008,29(2):483-486.
[6] 王玉標(biāo),饒錫如,何盼.異構(gòu)環(huán)境下數(shù)據(jù)庫增量同步更新機(jī)制[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(3):948-951.