◆王留芳 郅芬香 高 巖
(1.鶴壁汽車工程職業學院 河南 458030;2.河南理工大學計算機學院 河南 454000)
計算機實驗機房自動監控系統的設計與實現
◆王留芳1郅芬香1高 巖2
(1.鶴壁汽車工程職業學院 河南 458030;2.河南理工大學計算機學院 河南 454000)
本文是依據計算機實驗課中,學生自動脫離教師機的監控,上網、玩游戲等問題而開發的監控系統。該系統通過在教師機設置合法上機程序的方法,控制學生實驗課中可操作的內容。教師機和學生機進行通信,通過網絡協議 TCP/IP,獲取教師機上的合法的程序是通過Windows系統的庫函數,本系統使用的編程語言是C#,SQL Server 2008是本文使用的數據庫語言,利用B/S和C/S結合的模式,學生在上課期間不能進行一些和上課內容無關的操作,使學生順利完成教學任務。
自動化監控;合法程序
現在大多數計算機實驗機房還存在人工監控學生上機情況,需要任課老師在教室來回走動,來監控學生是否在做實驗課的內容,一旦出現教師不在旁邊,有些同學就開始玩游戲,上網,干一些與實驗課程無關的內容。增加了實驗課教師課堂管理的難度。本文設計的實驗機房自動監控系統主要協助教師管理課堂。杜絕學生做一些與實驗無關的內容。系統采用C/S的模式的體系結構,服務器是教師機,客戶端是學生機。教師機主要功能是進行學生機可運行合法程序的設置,學生機根據教師機指定的合法程序監控本機上正在運行的程序,學生機以教師機合法程序作為標準,只要學生機上有與標準程序不符的程序在運行,學生機就被關閉。該系統能杜絕學生運行與實驗無關的內容,很好的維持了課堂紀律。
本系統的完成需要研究的相關工作是網絡編程,由于Windows系統在當前計算機的實驗機房被廣泛的配置,所以語言開發基本上都用C#。所以需要了解C#的相關知識,Windows網絡的編程和技術以及 TCP/IP協議等方面的技術,,為了提高效率和開發的質量,還需要對Windows核心編程很好地掌握以及對MFC有更高的要求.
本系統采用C/S模式實現,教師機和學生機的通信是基層的運行系統,網絡協議在通信的基礎上,面向連接的服務或面向非連接的服務是一個協議提供的。本系統的 TCP/IP協議是面向連接的。面向連接的 TCP/IP協議,在數據進行交換之前,必須建立一條鏈路,傳輸的可靠性高,但鏈路費用成本高。
本軟件采用通信模塊需要引入套接字,該套接字是一種接口,為網絡編程服務,它是一種抽象基于通信端點,一種數據發送和接收的機制。流套接字是本系統中使用的,流套接字是一種數據傳輸方式,提供面向連接的一種可靠機制。TCP協議的使用,保證到達目的地,按順序,無重復按正確的路徑,如果斷開,在傳輸數據過程中如果斷開,應用程序就會收到通知。
在Windows中,系統包含著接口, WinSock API是針對網絡編程的專用接口,為網絡的應用程序的開發接口,這個接口與協議無關.該接口包含了庫函數,這些庫函數用來獲取網絡信息,網絡應用程序通過這些函數的功能實現調用.動態鏈接WinSock.DLL里存在WinSock的庫函數。
動態鏈接庫WinSock.DLL是橋梁,連接的TCP/IP協議和應用程序,這樣程序代碼的編寫可以不依賴于TCP/IP協議。
教師機的功能合法程序的設置、數據傳輸。
2.1 設置合法的系統程序
設置合法程序是教師機上提取的標志性信息,該信息是合法的,主要根據本次實驗內容提取學生機以此作為標準,學生機以此來驗證運行的程序是否合法,不合法的話,電腦自動關閉,合法程序的設置至關重要,如果合法程序設置出錯會導致運行正常程序也會出現問題,所以教師機合法程序的設置是關鍵,它的正確性關系到整個系統的穩定和安全,計算機上正常運行的合法程序被關閉甚至導致學生機癱瘓。這也是選擇TCP/IP協議的重要原因。保證信息的正確傳輸。實驗指導教師必須在實驗開始前設置合法程序,如果在實驗開始前沒有設置,學生機沒有統一的標準。
2.2 獲取運行程序
程序是指令序列呈現靜態的,要想獲得計算機中的進程,就要了解這些程序時如何被系統管理的。Windows中引入進程協同程序運行,不發生錯誤。
(1)程序是一段可執行的代碼;
(2)相關數據(工作空間、變量、緩沖區等)是程序所需要的;
(3)執行程序的上下文環境。
進程管理是多方面的,主要協調多個程序的正常運行,讓各個進程都能順暢的運行,相互不干擾而有序地實現多個進程的交互,進程與進程之間是關聯的.相互連接,密切配合,系統首先要為每個正在運行的程序創建一個進程,有一塊存儲區在主存儲器中,存儲進程的各種數據,跟蹤過程調用和傳遞,進程控制塊,是和每個進程相關的,這些進程都有進程映像,進程和映像是對應的,部分或者全部執行上下文環境還包括每個進程的存儲塊地址指針。
在創建進程時,可執行文件是要讓系統首先找到的,擴展名為.EXE的文件時可執行文件,可執行文件映射到地址空間,文件的數據也映射到地址空間,進程有一個生存周期,在這個周期內,每個 DLL文件被賦予獨一無二的句柄,進程被加載到進程空間,可執行文件也被賦予句柄, WinMain是可執行文件第一個的實例參數,用HinstExe來傳遞,句柄的值是加載資源時調用函數所需要的,圖片資源被加載,從可執行文件里加載, hinst是用來說明資源存放的位置。
這樣計算機中全部正在執行的程序可以被確定,在字符串組中存儲能夠唯一標示可執行的文件的信息,一并發給學生機。
2.3 當前的程序信息(運行的)
PSAPI函數是利用 C#編程實現的,實現上述功能需要在PSAPI.DLL中。
本系統通過局域網由教師機連接學生機完成,教師機接收局域網發送給學生請求信息,訪問數據庫,根據相應的信息內容,認證各個學生合法的身份,認證準確請求在后臺通過后,發送時間被數據庫中記錄下來,并發送請求,具體時間發送出去,學生的合法身份確認后,即可,登錄,若沒有找到學生的信息,再重新錄入學生信息.設置學生的帳戶和密碼。
該軟件的結構模塊有:后臺的數據庫、教師機可以訪問后臺數據庫系統、教師機信息收發系統、學生機信息收發系統、學生機監控軟件。
本系統是上機開發系統,主要針對實驗課安排,幫助教師很好的管理課堂,減輕了教師上課的負擔.提高了上課效率,但實現思想和采用技術具有一定的普遍意義。系統采用 TCP/IP協議能充分保證數據的可靠性。系統功能具有擴展性和可移植性。但系統性能還有待優化。
[1]江銀.多媒體機房簽到系統的分析與設計.云南大學(碩士學位論文),2013.
[2]劉海萍.高校計算機機房管理系統的設計與實現.華南理工大學(碩士學位論文),2013.
[3]劉璐.機房自動監控系統的設計與實現.復旦大學(碩士學位論文),2014.
[4]馬莉.基于_NET的機房管理系統的研究與開發.山東大學(碩士學位論文),2013.
本文受河南省高等學校重點科研項目計劃高校實驗機房自動化管理系統研究(15B510008)項目支持。