李香云,葛 華
(安徽科技學院計算機系,安徽鳳陽 233100)
目前高校計算機實驗室大都采用了機房管理系統進行管理,一個好的機房管理系統可以提高機房管理的工作效率,可以對計算機實驗課程的學生上機信息以及實驗過程進行管理.在高校計算機實驗室既要用于教學又要用于開放,因此需要將教學與開放進行統一管理;其上機信息量大,這些數據應具有一定的安全性,不能輕易被人竊取、篡改數據,這就要求保證機房管理系統信息的真實性、完整性和可靠性,以及數據通信的及時性.本文從機房管理系統的真實性、完整性、可靠性、及時性等幾個方面出發,提出了B/S模式機房管理系統設計方案.
針對我校計算機實驗室的管理模式[1,2],在該系統采用會員賬號方式管理:
(1)學生在使用機房管理系統前,首先在系統注冊相應的賬號,一般以學生學號作為賬號也可以選擇自定義賬號,學生上機通過賬號和密碼登錄計算機系統.并在賬號中設置公費上機和自費上機,每個學期都是根據課時要求,對學生進行公費充值(該部分金額主要用于實驗課使用和白天18:00之前使用有效,其他時間無效),如果是自費上機需要提前進行賬號充值.
(2)學生上課上機只要進入相應計算機實驗室選擇一臺計算機開機后輸入賬號和密碼即可,本系統可記錄學生上課情況及實驗完成情況,實時跟蹤學生上機信息,記錄學生上機情況、使用計算機資源情況、計算機空閑時間,以及記錄學生玩游戲的情況,下課10分鐘后如果沒有結賬下機系統會自動結賬下機.
(3)學生自由上機只要進入沒有實驗課的計算機實驗室開機登錄后就開始自由上機計時,直到結賬下機才結束計時,并按不同時段、不同實驗室進行計費.
在本機房管理[3,4]中設置一個數據庫服務器、兩個WEB服務器、學生端上機管理軟件,根據我校的實際情況數據庫服務器采用 My SQL5.5、服務器為 CentOS5.3、WEB 服務器采用Tomcat6.0.教務管理端、充值繳費端、綜合管理端通過校園網連接WEB服務器1或者WEB服務器2,WEB服務器1主要負責學生機信息交互,WEB服務器2主要負責其他模塊管理.

圖1 系統結構圖
機房管理系統中設有四大模塊:教務管理模塊、充值管理模塊、綜合管理模塊、學生自助管理模塊.
教務管理模塊:提供與教務管理系統進行接口,比如在機房管理中所需要的數據(學生信息、教師信息、課程信息及課表信息),可以和教務系統接口導入.
充值管理模塊:賬號充值、充值卡的生成、充值卡打印、充值查詢等.
綜合管理端模塊:學生機登錄身份驗證、學生機計費管理、在線刷新管理、消息管理處理、NAT參數管理等.
自助管理模塊:學生個人信息、充值卡充值、上機、上課信息查詢.
在機房管理中涉及到的數據表比較多,在這里只列舉出機房管理中的幾張主要數據表,及用戶表、用戶上機記錄和費率表.
用戶表主要由用戶基本信息和用戶本次上機登錄信息兩大部分組成,具體詳見表1;用戶上機記錄表主要是對上機記錄進行登記,方便用戶查詢自己的上機記錄;費率表主要是系統計費參數設置,由費率、計費方式、計量單位組成.在數據庫表設計中還要綜合考慮機房的教學、開放和維護的需要,不同的機器、不同的時間段機房開放要有不同的收費標準等.

表1 用戶(db_user)

表2 用戶上機記錄表(db_UserLog)

表3 用戶類型(db_room)

表4 費率表(db_Rates)
(1)學生機通信設計[8].首先建立TIDHTTP對象,并在該對象添加相應的屬性,如:UserID、UserName、UserPass、UserIP、UserMAC、UserType、HttpPostIP、HttpPostPort、IsLogin等屬性.再建立一個函數HttpPost,負責將數據發送給WEB服務器,并接受服務器回送回來的數據,其代碼如下:

(2)服務器端通信設計[9].服務器端主要采用 JSP+Tomcat+MySQL設計,在服務器端設計若干個類和學生機,并且按照http協議進行通信,需要的類包比較多,這里只舉一個Servlet類UserCommand,它是負責和學生機通信的主類,所有和學生的通信都通過該類實現,該類主要的幾個方法及其說明見表5.
(3)學生機端設計.學生機端采用Delphi7.0開發,運用Delphi自帶TIDHTTP控件和服務器進行通信.根據我校實驗教學管理模式要求和系統的不斷調試,總結出在機房管理系統中學生機設計要求主要有三個方面:其一要實現學生機不能繞過身份驗證使用計算機;其二該系統要在用戶使用計算機的過程中如果出現欠費則不能繼續使用計算機;其三機房管理系統要方便系統維護人員機房維護,并且不能影響正常的實驗教學.

表5 UserCommand類方法說明
對于要求一可以通過修改ntldr文件屏蔽操作系統啟動進入安全模式、調試模式,采用替換WinGina方式設計登錄界面,登錄進入系統后屏蔽系統所有熱鍵(Ctrl+Alt+Delete、Alt+ESC、Ctrl+ESC、Win 鍵、Alt+Tab).
對于要求二采用守護進程和進程隱藏技術實現對客戶端程序進行保護,防止用戶利用網上一些軟件關閉客戶端軟件盜用機時.
對于要求三主要從兩個方面考慮,一是防止上課時間學生機與服務器無法通信,學生機無法使用計算機影響教學;二是方便機房維護.我們在學生機軟件中設置一些功能,利用加密狗可以開啟某一臺學生機、開啟同一網段的所有學生機、開啟某機房的部分計算機.根據上述三點要求,設計學生機登錄界面圖2所示.

圖2 學生機登錄界面
本系統在我校計算中心實驗室正式投入使用已經兩年多的時間,運行非常穩定,并且在使用的過程中不斷完善系統的功能,使系統功能盡可能地滿足實驗教學和開放以及實驗室管理的需要.我們正在該系統的基礎上,開發計算機基礎實驗室教學管理平臺,將實驗教學、實驗管理、實驗考核、實驗室開放以及計算機公共課自主學習等進行統一管理[5],適應應用型本科院校計算機教育教學改革的需要.
:
[1]王巍巍.機房管理軟件設計的實現[D].長春:吉林大學,2009.
[2]張波.計算機機房管理系統的研究與設計[D].成都:電子科技大學,2007.
[3]李志杰.基于IC卡的機房管理與監控系統的研究與開發[D].長沙:中南大學,2004.
[4]徐雪梅.基于工作流技術的機房管理系統的研究[J].煤炭技術,2010(12).
[5]何俊.計算機公共機房管理資源整合[J].實驗室研究與探索,2010(2).
[7]魏曉玲,楊曉雁.機房管理系統的設計與實現[J].微計算機信息,2007(36).
[8]向華政,朱文球,肖海清.機房管理系統客戶端驗證方案的設計與實現[J].湖南大學學報(自然科學版),2002(S2).
[9]郭濤.J2EE多層體系結構及在教育信息平臺中的應用[J].計算機應用研究,2004(6).