基于IC卡的實驗中心管理信息系統(tǒng)設計
文章出處:http://56733.cn 作者:水泱,王軍 人氣: 發(fā)表時間:2011年11月12日
實驗教學示范中心建設是適應新時期對高校人才培養(yǎng)要求的一個重要舉措。實驗教學示范中心的作用是進一步加強學生實踐能力和創(chuàng)新能力培養(yǎng),我校計算機基礎實驗教學中心為更好地為校內外師生提供服務 ,實現(xiàn)實驗教學資源開放共享,中心在開放性實驗教學體系、開放性實驗課程體系、開放性實驗管理模式等方面進行不斷探索,為使實驗中心的使用真正做到開放、高效、方便,提高機房的有效利用,開發(fā)一個即保證學生上機方便又有利于機房管理的實驗中心綜合管理信息系統(tǒng),對提高實驗中心的管理效率、管理質量及服務水平十分重要。作者根據(jù)實驗教學管理的特點,提出了基于IC卡的計算機實驗中心綜合管理信息系統(tǒng)的設計思想,系統(tǒng)地闡述了系統(tǒng)的體系結構及相關實現(xiàn)技術。
1 設計思想
實驗中心綜合管理信息系統(tǒng)實現(xiàn)對實驗設備運行監(jiān)控管理及實驗課程管理的功能,實現(xiàn)中心管理的信息化、網(wǎng)絡化。所以系統(tǒng)的開發(fā)必須遵循安全可靠、穩(wěn)定、靈活、維護性好等原則,以便于系統(tǒng)既能滿足目前的需要,又能適應將來擴展的需要。為使系統(tǒng)能很好地滿足實驗室管理的需要,系統(tǒng)設計應具有以下幾方面特點。
1)內核級防毒安全:系統(tǒng)必須既能夠防止惡意的侵擾,又能防止因誤操作引起的數(shù)據(jù)錯誤,保證系統(tǒng)運行的穩(wěn)定性。系統(tǒng)設計時利用驅動程序直接訪問系統(tǒng)內核中的雙向句柄鏈表,根據(jù)句柄表獲取所有進程的結構,再掛起對應于結構中的所有線程,從而掛起進程,實現(xiàn)所有的用戶態(tài)和內核態(tài)的病毒的防護。
2)反彈連接:突破傳統(tǒng)服務器連客戶端的連接模式。傳統(tǒng)連接方式是基于服務器掃描客戶端的連接方式,在客戶機數(shù)量多達幾百臺甚至數(shù)千臺時,這種連接方式會極大地浪費服務器資源。反彈式連接通過服務端開通端口等待客戶端連接,采用多線程處理連接,大大節(jié)省了服務器資源,提高效率。而且反彈式連接可以突破大部分防火墻,適用場合更廣。
3)客戶端的防惡意刪除:客戶端采用遠程插入線程、進程復活、進程隱藏等多種最新安全技術,使客戶端運行更加安全。插入遠程線程技術采用了動態(tài)文件名插入的方式,插入完成自動清理垃圾文件,有效防止各類破壞客戶端進程的非法行為。
4)可靠性:系統(tǒng)設計應具有較高的可靠性,在系統(tǒng)故障或事故造成中斷后能確保數(shù)據(jù)的準確性、完整性和一致性并具備迅速恢復的功能。
5)可擴充性:為便于與各種一卡通系統(tǒng)集成,系統(tǒng)設計了與校園一卡通集成的通用接口,從現(xiàn)有系統(tǒng)升級到校園一卡通集成環(huán)境無需重新安裝,只需簡單升級即可。系統(tǒng)有標準、開放的系統(tǒng)接口,也可根據(jù)校園一卡通要求定制開發(fā)接口。
2 系統(tǒng)總體結構
系統(tǒng)設計采用集中式的數(shù)據(jù)存儲管理模式,即所有數(shù)據(jù)存放在中心數(shù)據(jù)庫服務器上,校內所有實驗室的管理通過訪問該中心數(shù)據(jù)庫服務器實現(xiàn)。中心數(shù)據(jù)庫存放全校實驗室的所有實驗設備、用戶及實驗課程數(shù)據(jù),如個人帳戶信息,基本管理信息,全校課表,統(tǒng)計信息等。
在體系結構的設計方面,對于用戶帳戶管理、設備管理、信息錄入、課程管理等功能采用C/S 結構,而對于涉及到要在校園網(wǎng)上發(fā)布信息的部分,如教師和學生上機預定、課程信息等,則同時采用B/S 結構和C/S結構設計。綜合使用基于B/S 和C/S 的體系結構,保證系統(tǒng)具有高性能和可擴展性,提高系統(tǒng)的效率和響應速度。
系統(tǒng)采用非接觸式IC卡及用戶帳戶做為身份識別的工具,用戶只需使用校園卡即可在任一實驗室刷卡上機。系統(tǒng)在學生機上安裝網(wǎng)絡登錄控制卡及客戶端軟件,來達到對學生機控制和監(jiān)控的預期效果。系統(tǒng)的網(wǎng)絡結構圖如圖1所示。
3 系統(tǒng)設計
3 .1 系統(tǒng)設計原理
系統(tǒng)啟動時自動加載客戶端,客戶端常駐內存,使系統(tǒng)處于鎖定狀態(tài),用戶進入機房需刷卡,機房管理系統(tǒng)調用讀卡接口獲取卡信息根據(jù)上機課表判斷是否可以上機,輸入賬號和密碼后系統(tǒng)進行身份驗證,系統(tǒng)解除鎖定正式開始上機。機器運行期間系統(tǒng)定時檢測學生是否開啟游戲軟件,若檢測到則警告學生并且將系統(tǒng)鎖定;到達規(guī)定的上機時限系統(tǒng)自動鎖定機器,并把學生的上機情況和機器狀態(tài)信息寫入本地數(shù)據(jù)庫。系統(tǒng)鎖定后,學生不能再使用計算機,從而達到自動下機和自動監(jiān)控的目的,實現(xiàn)機房的無人值守管理。
3 .2 系統(tǒng)功能設計
機房管理信息系統(tǒng)按功能分為系統(tǒng)管理、帳戶管理、機房機器和教學管理等子系統(tǒng)。系統(tǒng)功能結構圖如圖2所示。
1)系統(tǒng)管理子系統(tǒng):使用動態(tài)超級密碼、系統(tǒng)初始化操作,記錄日常操作用戶操作過程和操作時間,對于日志審計內容的處理可以根據(jù)不同的需求進行操作。為確保用戶帳戶數(shù)據(jù)的安全,系統(tǒng)提供帳戶數(shù)據(jù)自動備份或手工備份功能。對不同機房實行IC卡、帳號登陸進行選擇設置功能。
2)帳戶設置子系統(tǒng):為實現(xiàn)機房的自動化管理,不論是教學安排上機還是課外預約上機,均需要進行登錄認證,需要為上機用戶進行開戶、銷戶,加減機時等操作,提供批量帳戶的導入導出,按院系、班級分層次管理結構設置、臨時用戶設置,根據(jù)不同對象、時段、機器、機房的上機機時標準設定功能。
3)機房機器管理子系統(tǒng):設置機房的名稱、工作組、機器數(shù)量、費率,機器的相關信息,自動考核學生上機到課率。實現(xiàn)機器的跨網(wǎng)段遠程管理、機器硬件監(jiān)控封鎖、軟件的跨網(wǎng)端分發(fā),分發(fā)軟件的源文件可在不同網(wǎng)段的多臺服務器上,支持批處理操作,可單臺、批量、全部傳送,實現(xiàn)遠程單機器的管理。
4)實驗教學管理:實現(xiàn)課程上機、各類課程外上機預約的機房分配,機房的動態(tài)排課,控制上機可運行的程序,實時監(jiān)視機器運行情況和運行的程序,通過預約處理,以保證教學上機的要求,支持周期化預約,實現(xiàn)完全學分制的學生自由選課形成的班級建立動態(tài)組,課程預約時自動對動態(tài)組進行機房分配,便于對課程上機的管理。
5)多媒體教學:實現(xiàn)教學的全屏及區(qū)域廣播教學功能,電子黑板功能,示范教學功能,電子點名功能及學生電子簽到。
3 .3 系統(tǒng)接口函數(shù)設計
系統(tǒng)服務器端安裝在中心服務器上,接收來自用戶的刷卡請求信息,然后依據(jù)系統(tǒng)數(shù)據(jù)庫對學生做身份驗證,再依據(jù)上機安排表判斷用戶是否可以上機,然后通過網(wǎng)絡向客戶端發(fā)出開放或鎖定系統(tǒng)的控制信息,以實現(xiàn)自動安排上機,相關接口函數(shù)如下:
1)讀卡機初始化函數(shù)
function DkjInit - Old(const ComPortNo :Byte ;const YhMm :DWORD) :Boolean ;
參數(shù):Comport ,讀卡機連接的串口號;YhMm ,用戶單位密碼;實現(xiàn)初始化串口和讀卡機,只有初始化成功后讀卡機才能進行正常讀寫卡工作。
2)讀卡機釋放函數(shù)
function DkjFinal- Old() :Boolean ;
參數(shù):無;實現(xiàn)釋放讀卡機占用的串口資源。
3)獲取卡信息函數(shù)
function ReadConsumeCard- Old ( const CardRecAddress :Byte ;var ConsumeCardInfo : TConsume-CardInfo - Old ) :Boolean ;
參數(shù):CardRecAddress ,卡片結構地址;ConsumeCardInfo ,消費卡信息結構。
4)扣款寫卡函數(shù)
function WriteConsumeCard- Old (const CardRecAddress :Byte ; const ConsumeCardInfo : TConsume-CardInfo - Old) :Boolean ;
參數(shù):CardRecAddress ,卡片結構地址;ConsumeCardInfo ,消費卡信息結構。
3 .4 系統(tǒng)監(jiān)控算法設計
系統(tǒng)具有自動檢測用戶使用軟件并進行控制的功能,通過在控制端選擇適當?shù)臋z測包,然后發(fā)送到服務端,服務端將檢測包轉發(fā)到所有的客戶端,客戶端將接收到的檢測包放入內存緩沖區(qū)中;客戶端定時(如每分鐘1次)枚舉所有的頂層窗口,并且獲取頂層窗口的標題存入到字符串變量中,并將內存緩沖區(qū)中的檢測包中的關鍵字逐一遍歷,檢查這些關鍵字是否在字符串變量中出現(xiàn),若出現(xiàn)說明用戶在使用規(guī)定外軟件(如電腦游戲) ,客戶端此時發(fā)出警告信息,3次警告過后將自動鎖定系統(tǒng),同時發(fā)消息到服務端顯示相關用戶信息。實現(xiàn)該功能的算法描述如下:
4 結語
系統(tǒng)使用VisualC ++ NET 編程實現(xiàn),通過網(wǎng)絡通信實現(xiàn)局部范圍內的計算機統(tǒng)一監(jiān)控管理。采用段管理策略實現(xiàn)不同網(wǎng)段實驗室計算機的集中監(jiān)控管理,大大提高了系統(tǒng)的通用性和可擴展性。系統(tǒng)實現(xiàn)了實驗教學資源開放共享,為學生提供了簡便的上機手段,使實驗中心的使用真正做到開放、高效、方便,提高各類實驗設備的有效利用,并顯著提高機房的管理水平和工作效率,在實際使用中取得了較好的效果,為實驗中心的實驗教學改革奠定了良好的基礎。