摘要:從機房管理的實際出發,以Visual C++6.0為開發平臺,利用基于TCP/IP協議的Winsock編程技術,采用面向對象方法分析和設計了三層C/S模式的高校機房管理系統,并進行了認真的測試,系統穩定可靠。
關鍵詞:管理系統;C/S模式;TCP/IP協議;Winsock
中圖分類號:TP315文獻標識碼:A文章編號:1009-3044(2009)24-6620-02
The Research and Implementation of University Computer Room Management System
JIA Wen-feng
(Modern Educational Technique Center, Luoyang Institute of Science and Technology, Luoyang 471023, China)
Abstract: Originated from the present situation of computer room management in universities, we analyzed and designed a three-tier client / server model system for managing computer rooms using an object-oriented method. This system was implemented by TCP/IP protocol based Winsock programming techniques in Microsoft Visual C++ 6.0 development environment. The stability and reliability of this system has been tested.
Key words: management system; client/server model; TCP/IP protocol; Winsock
隨著我國高校體制改革的不斷深入和信息技術的飛速發展,各高校的計算機機房規模越來越大,計算機機房的上機方式多樣化、服務對象多樣化、軟硬件配置多樣化等程度越來越高,對機房的管理和運行提出了更高的要求。高校機房管理系統既需要滿足高校機房正常上機實驗的管理需要,也需要滿足機房業余開放和各種培訓的需要,并提供準確的計費功能和完善的統計報表功能,能對上機情況進行實時控制,并保障系統必要的安全性、可靠性、高效性,使得機房管理進一步規范化,減輕機房管理人員的勞動強度,最大限度地提高計算機設備的利用率,創造一個良好的軟硬件環境。
1 系統分析
高校機房管理系統既需要滿足高校機房正常上機實驗的管理需要,也需要滿足機房業余開放和各種培訓的需要,并提供準確的計費功能和完善的統計報表功能,能對上機情況進行實時控制,并保障系統必要的安全性、可靠性、高效性,使得機房管理進一步規范化、簡便化、安全化,減輕機房管理人員的勞動強度,方便學生等上機人員的使用,最大限度地提高計算機設備的利用率,并創造一個良好的軟硬件環境,進一步推動實驗室的全面建設。
高校機房管理系統的設計,預期有以下主要功能:1)系統采用賬號認證模式,所有學生均由計算中心統一分配上機賬號和密碼。上機時必須正確輸入自己的上機賬號和密碼。經服務器驗證通過后符合上機策略的允許上機。針對對外培訓等特殊情況可以采用完全開放模式,用戶不需要輸入上機賬號和密碼即可登錄。2)下機時由管理系統自動結算費用,并給出相應的提示。3)系統可以設定各機房的上課及開放的計劃表,并由系統自動執行。(4)保存有相關的各種記錄,便于進行各種統計和查詢。
2 系統設計
本文實現的高校機房管理系統,是純軟件方式,系統體系結構采用三層C/S模式,基于TCP/IP的Winsock編程技術,開發工具選用VC++6.0,數據庫選用MySQL5.0。
高校機房管理系統的體系結構采用三層C/S(客戶/服務器)模式,包括表示層、功能層和數據層三個部分,具有良好的靈活性、可擴展性和安全性,同時具備良好的容錯能力和負載平衡能力。
2.1 數據庫結構設計
高校機房管理系統的數據庫采用MySQL5.0。數據庫主要包括17個表:用戶定義表、賬號數據表、匯總數據表、工作數據表、系部數據表、專業數據表、設備數據表、設備費率表、安排計劃表、賬號充值數據表、充值卡數據表、充值記錄表、組屬性表、賬號類別表、消息維護表、限定條件表、系統參數表。其中賬號數據表的主要字段有:賬號、密碼、姓名、性別、出生日期、系部名稱、專業名稱、年級、班級、金額、信用度、有效性、賬號類別、賬號屬性和備注,主關鍵字為賬號。
2.2 系統功能設計
高校機房管理系統的設計分客戶端和服務器端兩部分,客戶端:運行于各個客戶機,系統功能主要有身份驗證、個人信息查詢、賬號充值、修改密碼、下機等,并且實現客戶機與服務器的通信。服務器端:運行于控制服務器上,實現所有的監控和管理功能,分為多個功能模塊,數據存儲于數據庫服務器。
服務器端則是根據操作員和客戶端發來的各種請求來完成對數據庫的各種操作,并給操作員提供直觀易用的操作界面。服務器端所有的數據庫操作都是使用SQL語言來完成的,加上客戶端的所有數據庫請求也都是交由服務器端來代理完成,使得整個系統的運行效率較高,服務器端主要的功能如圖1所示。
操作員管理模塊實現功能:管理員的添加和刪除、管理員權限的設置、管理員密碼修改等。賬號管理模塊實現功能:增加和修改賬號信息、院系設置、專業設置、查詢賬號信息、賬號類別設置、賬號充值等。設備管理模塊實現功能:設備設置、設備費率設置、分組設置、限定條件設置、安排計劃表設置等。備份管理模塊實現功能:設定備份策略、手動備份數據、恢復數據等。系統設置模塊實現功能,生成充值卡號、監測參數設置、下機提示時間等。查詢統計模塊實現功能:統計賬號上機記錄、分組上機記錄,顯示設備使用狀態表等。通信模塊實現功能:監視連接客戶機工作狀態,與客戶機通信,發送消息,遠程關機,重啟。 幫助模塊實現功能:系統使用說明和版本信息。
2.3 客戶端子系統設計
該系統的客戶端分兩個層次:一個是用戶認證層,另一個是通訊層。用戶認證層和通訊層分別使用不同的技術實現,兩層之間通過本地進行數據交換。
用戶認證層就只是負責客戶端的認證,采用的技術是GINA。針對系統啟動時加載Gina.dll的特性,制作新的Gina.dll替換系統原有的功能。主要作用是在系統用戶登錄時,將用戶登錄的賬號、密碼等記錄到文件中。由于這是一個系統組件,當安裝后成為附加到操作系統上的一部分,其隨操作系統的啟動而自動被加載,由于其運行級別比較高,所以在它運行期間,操作系統尚未完全啟動,此時還沒有用戶可以用來操作的界面,沒有桌面可以操作,鍵盤也不用鎖定,不用單獨來屏蔽鍵盤和桌面,因為這就相當于系統核心的用戶認證。這個系統的用戶認證就是比操作系統的用戶認證要早一些,就是說,只有通過了這個系統的認證,然后才進行操作系統的用戶認證。由于其不是一個單獨的進程,是一個系統組件,所以它在運行期間不以進程的方式存在。在操作系統運行期間,它不能主動作用,需要靠用戶的主動觸發(CTRL+ALT+DEL),或者操作系統觸發。所以,在操作系統結束時,也就是計算機關閉時,會主動觸發該組件,完成計費。客戶端登錄界面如圖2所示。
客戶端模塊是一個獨立的系統。計算機的啟動過程和順序是:1)系統正常引導啟動登錄模塊。2)計算機屏幕出現用戶登錄界面,要求用戶輸入用戶賬號和密碼。3)如果登錄的用戶合法,則正常啟動操作系統;如果登錄的用戶不合法,計算機屏幕顯示賬號或密碼錯誤等信息。4)合法上機的用戶,服務器記將賬號、上機時間等內容記入工作數據表中。5)用戶下機時,客戶機先向服務器發送下機消息,由服務器計算上機費用,并更改賬號數據表中的賬號余額等信息。
2.4 服務器端子系統設計
通訊處理部分為了盡可能地提高系統的響應性能,采用了多線程,充分利用CPU的性能。其基本流程如圖3所示,服務程序啟動時首先啟動一個基本的監聽線程,負責監聽來自客戶端的命令,當收到一個請求后,再重新創建一個線程,專門負責和該客戶的通訊,原來的監聽線程則繼續監聽來自其他客戶的請求。在新創建的線程中,完成對客戶端請求的驗證和數據獲取,最后把結果傳回客戶端。當這個通訊過程結束后,則該線程結束。
用戶請求登錄時,系統首先在賬號數據表中查證用戶所輸入的賬號和密碼是否正確;并檢查用戶是否已經登錄,已登錄的賬號則不允許重復登錄。然后判斷是否符合上機策略。全部驗證通過后向客戶機返回可以登錄信號,系統建立一個與該用戶的連接,同時更新用戶界面以直觀的方式顯示各個終端的狀態。
2.5 系統測試
在建立測試環境的基礎上,針對該系統進行了功能測試。根據測試結果分析,該系統滿足了系統需求說明書中所提出的各項需求,達到了使用的要求。
3 結束語
采用機房管理系統進行高校機房管理,安裝簡單,使用方便,界面友好,用較低的代價實現了學校機房的規范化、制度化管理,同時也方便了學生的上機使用,減輕了管理人員的勞動強度。經過認真測試,系統達到了設計要求。目前系統運行良好。
參考文獻:
[1] Pressman R S.軟件工程:實踐者的研究方法[M].梅宏,譯.5版.北京:機械工業出版社,2004.
[2] 張濟民.基于C/S模式下的機房管理自動化系統的設計與實現[J].韶關學院學報,2004,25(9):10-14.
[3] Satzinger J W,Jackson R B,Burd S D.System Analysis and Design in a Changing World[M].Thomson Learing,2002.
[4] 張友生.系統架構設計師教程[M].北京:電子工業出版社,2006.
[5] 梁普選.Visual C++程序設計與實踐[M].北京:清華大學出版社,2005.