楊 帆,沈來信,2
(1.黃山學院 信息工程學院,安徽 黃山 245041;2.同濟大學 電子與信息工程學院,上海 201804)
基于C/S架構的電子教室管理系統
楊 帆1,沈來信1,2
(1.黃山學院 信息工程學院,安徽 黃山 245041;2.同濟大學 電子與信息工程學院,上海 201804)
為實現實驗室、機房的電子化管理而開發的電子教室系統,可以對學生、設備和教學過程進行管理,系統還可以用于學生上課情況監督、教師教學督促、PC機狀態監控、電子設備運用管理等。構建教學監控網絡獲取學生上課的考勤數據、教師教學質量的評估數據、機房硬件的損壞數據等。系統主要功能有屏幕廣播、遠程協助、執行命令、鎖定客戶端、信息發布、機器重啟、自動簽到、群組會話、文件傳送、作業發布與上交、客戶端屏幕監控、設備監控等。使用組播技術完成服務器與多客戶端的通信,通過TCP連接數完成客戶端在線驗證等。利用MVC分層結構完成系統三層架構和數據交互實現,有效提高了數據的安全性和模塊的可復用性。系統可以高效地擴展到大規模的實驗環境,有效提高電子教室的科學化管理水平。
電子教室;考勤;屏幕廣播;自動簽到;設備監控
網絡化教育在各大高校課程教育中所占比重越來越大。在網絡化教育過程中,機器設備的損壞量大,需要大量的維護人員對設備進行檢查與維護。電子教室管理軟件從規范學生的上課秩序、管理老師的教學計劃、保障機房公共財產的安全、充實學生與教室的教學體驗四個方面出發,對學生上課情況實施考勤、教師實施督促、PC機實施監控等,形成教學監控網絡,從而得到學生上課的實況數據、教師教學質量數據、機房硬件的損壞數據等[1-3]。從這些數據中提出數據形成教學質量評估、學生出勤情況匯總和機房維修日志等。在方便老師的教學之外,添加一些群組會話、視頻語音監控、遠程協助、作業提交等功能,將電子設備管理與網絡教學、作業發布與提交等有效結合。
組播是比單播寬,但比廣播窄且目標性更強的點對點通信。組播將數據從一臺主機發送給不同的主機,但不是發給某一個人,數據只有到達位于組播組內的本地網絡才進行復制,數據只通過Internet一次。
C/S結構的基本原則是將計算機應用任務分解成多個子任務,由多臺計算機分工完成,即采用“功能分布”原則[4-6]??蛻舳送瓿蓴祿幚?、數據表示以及用戶接口功能;服務器端完成DBMS(數據庫管理系統)的核心功能。這種客戶請求服務、服務器提供服務的處理方式是一種有效的軟件應用模式。Client和Server常常分別處在相距很遠的兩臺計算機上,Client程序的任務是將用戶的要求提交給Server程序,再將Server程序返回的結果以特定的形式顯示給用戶;Server程序的任務是接收客戶程序提出的服務請求,進行相應的處理,再將結果返回給客戶程序。
C/S結構能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器??蛻舳隧憫俣瓤?具體表現在:
(1)應用服務器運行數據負荷較輕;
(2)數據的儲存管理功能較為透明。
1.1 結構設計
系統運行在加載TCP/IP協議的Windows及以上的操作系統上。主要運用在在局域網內的多媒體信息廣播、教學附帶電子設備的使用以及網絡內客戶機的屏幕監視和遠程控制管理等方面,如圖1所示。

圖1 電子教室總體結構圖
1.2 網絡組播設計
整個過程包括構造組播組、加入組播組和離開組播組三個過程,流程圖見圖2。
(1)構造組播組[7-8]:用Multicast Socket構造函數創建一個Multicast Socket,然后使用其JoinGroup方法加入到一個組播組,這樣就會通知客戶端和服務器之間路徑上的服務器開始發送數據,并告知本地主機將IP包尋址到組播組;

圖2 組播流程圖
(2)加入組播組:創建一個Datagram Packet,用一個字節數據作為數據緩沖區,進入循環,在循環中通過調用Datagram Socket的receive方法接收數據;
(3)離開組播組:當不再希望接收數據時,就通過調用此Socket的LeaveGroup方法離開組播組,然后再用close方法關閉該Socket。
系統采用MVC架構[9-12],包括三層體系結構—表示層(View)、中間層(Controller)和數據層(Model),如圖3所示。(注:客戶機泛指所有的教師機、學生機、設備管理機、設備操作機)

圖3 MVC三層架構圖
2.1 表示層
表示層是指客戶機的圖形化用戶界面,主要功能有:
(1)接收用戶請求,將這些請求反饋給中間層,并且等待返回的應答信息;
(2)對中間層提供的數據命令實時顯示;
(3)完成對用戶輸入語句的合法性驗證。
2.2 中間層
中間層指業務邏輯處理區和數據訪問層,該層的主要作用有:
(1)接收從表示層傳來的用戶請求信息;
(2)根據用戶的請求信息來制定響應所需要提供的服務,即判定客戶端發出的請求指向是服務器還是另一個客戶端,并同時發布響應的指定命令;
(3)把客戶機發出的命令指定成響應的服務端或響應操作機能識別的命令傳輸到數據操作層;
(4)把數據層和業務邏輯處理層處理好的數據或者響應操作機響應命令直接反饋給表示層。
2.3 數據層
數據層是指數據控制邏輯層和數據制定響應層,它的主要作用是:
(1)接受業務層數據處理的SQL語句或存儲過程或者業務層傳遞過來的指令操作;
(2)利用SQL語句或存儲過程,完成相應數據服務器上的邏輯操作;
(3)把存儲或檢索到的數據信息或響應操作的參數,直接傳遞給業務層。
使用MySQL數據庫存儲關系數據,主要包括基本信息表(學生、教師和管理員的驗證信息,課程的基本信息和課程時間安排信息等)、教學過程中產生的信息(設備的硬件信息、學生的考勤信息、電子設備的使用記錄等),如圖4所示。

圖4 系統基本數據庫表
MySQL數據庫位于總服務端。文件型數據庫又分在本地和云盤中,數據包括:教學過程中產生的圖片操作、討論記錄、文件、電子設備使用產生的資料。其中,前三種默認存儲于本地,學生可以選擇性地從本地傳輸到自己的云盤(作業系統)中,最后一種數據主要存儲在個人的作業系統云盤中。
4.1 教師端的功能實現
(1)組播視頻教學、遠程協助、指定學生轉發;
(2)指定網址打開、作業/消息發布;
(3)信息查詢、學生請假批準、教學質量的學生評價(可選擇的);
(4)群組會話、自建討論組、文件圖片截屏傳送;
(5)控制指定機器或者全部機器重啟、關機、設備屬性信息查看;
(6)學生桌面視頻監控、學生機器鎖定;
(7)學生設備申請的批準、設備排隊使用的提醒、設備類型的分組顯示;
(8)自我機器鎖定、刷新等;
(9)攝像設備的視頻轉播;
(10)語音傳輸。
4.2 學生端的功能實現
(1)設備申請、遠程申請、問題求助、請求重新登錄;
(2)教學評價(選擇性地對教師進行評價);
(3)直接登錄作業系統(綁定作業系統);
(4)自動簽到(隨機簽到);
(5)機器本身設備的搜集;
(6)教學信息的接收與反饋;
(7)群組會話(圖片、截屏、文件傳送);
(8)資料的上傳。
4.3 屏幕廣播實現
屏幕廣播指教師端通過實時獲取自己的或指定學生的當前桌面截屏進行指定用戶的操作廣播顯示[13-14]。讓學生可以看到自己在桌面的操作流程,這樣更有利于教學,屏幕廣播的流程如下:
(1)教師發布視頻廣播的口令+指定學生組的學號,發布發出口令;
(2)教師開啟組播服務端進行組播演示;
(3)接收端接收到響應口令,開啟組播接口接收客戶端的桌面廣播;
(4)教師發布視頻廣播結束指令,關閉組播組;
(5)學生接收組播結束指令,離開組播組;
(6)屏幕廣播結束。
4.4 電子設備的控制
(1)通過從UsbHostManager得到相應的UsbServices進行Bootstrap;
(2)通過UsbServices訪問root hub;
(3)獲得連接到root hub的UsbDevice清單,遍歷所有低級hub以找到正確的UsbDevice;
(4)用控制消息(UsbControlIrp)與UsbDevice直接交互,或者從UsbDevice的相應UsbConfiguration中要求一個UsbInterface,并與該UsbInterface上可用的UsbEndpoint進行I/O;
(5)如果一個UsbEndpoint用于進行I/O,那么打開與它關聯的UsbPipe。通過這個UsbPipe可以同步或者異步提交上行數據(從USB設備到主計算機)和下行數據(從主計算機到USB設備);
(6)當應用程序不再需要訪問該UsbDevice時,關閉這個UsbPipe并釋放相應的UsbInterface。
設備發現的架構圖如圖5所示,設備控制模塊流程圖如圖6所示。
數據傳輸是基于Socket的TCP連接。設備的控制采用串口讀寫數據的方法開啟設備的運行狀態。學生端對設備進行使用申請并獲得教師端的授權驗證。

圖5 jsr80發現設備的整體架構圖

圖6 設備的控制模塊流程圖
4.5 運行過程中的TCP連接數分析
10000是客戶端和服務器端進行連接的端口,10004是客戶端和教師端進行連接的端口。服務器數據庫都設置在192.168.24.X,教師端運行是本地運行192.168.24.Y。
(1)客戶端全部登錄:服務器和數據庫連接,顯示為連接建立,處于數據傳送狀態,如下:
TCP 192.168.24.156:10000 192.168.24.42:2910 Fin-Wait_2
TCP 192.168.24.156:10000 192.168.24.62:1691 Fin-Wait_2
TCP 192.168.24.156:10000 192.168.24.73:4272 Fin-Wait_2
TCP 192.168.24.156:10000 192.168.24.156:2050 Time-Wait
(2)客戶端和服務端進行連接情況:有3名客戶端用戶和服務端有連接,并且處于等待客戶端的關閉請求狀態,所有客戶端都會每三分鐘向服務端發送一次我還在的驗證信息。教師端和客戶端也是每三分鐘進行一次數據更新,處于等待關閉狀態-說明客戶端和服務端建立的連接是正常的,如下:
TCP 192.168.24.156:3306 192.168.24.156:1494 Established
TCP 192.168.24.156:3306 192.168.24.156:1685 Established
TCP 192.168.24.156:3306 192.168.24.156:1690 Established
在實際設計中,應該減輕服務器端與客戶端的數據交互,增加客戶端與客戶端之間的數據處理模式,向服務器傳送當前已經處理好的有效數據。這種方式可以減輕服務端的數據處理負擔,加強客戶端與客戶端之間的數據交互,服務器只需要處理關鍵性的、有效處理后的數據,并且當服務器出現異常中斷時,不會影響系統暫時的教學活動。
現在的整體部署模式僅僅局限于教室系統和教師之間的單向交互,而不是基于一個群體、一個局域網絡內的教學活動。怎樣設計一種模式可以完成學生與教師之間選擇的自由性與學習的交互性,這種教學模式主要用于學生的興趣教學和自主教學。教師與學生之間的交互加上服務器的處理,形成一個個小組,也就是很多教室混合形成的一個個虛擬的教室。
[1] 蘇 望.基于J2EE的多媒體教室管理系統設計與實現[D].長沙:湖南大學,2014.
[2] 蔣文東.基于移動終端的電教設備管理系統的設計與實現[D].成都:電子科技大學,2014.
[3] 袁再龍,姜明濤.極域電子教室在計算機廣播教學中的應用[J].計算機光盤軟件與應用,2014,17(11):206-206.
[4] 樊銀亭,何鴻云.基于客戶機/服務器體系的二層與三層結構研究[J].計算機應用研究,2001,18(12):23-24.
[5] 孫愛玲,冉祿純.一種基于重復數據刪除的網絡文件備份系統設計與實現[J].計算機應用與軟件,2014,31(10):86-90.
[6] 劉 赟,王永貴.C/S模式并行計算架構設計及其實現方法[J].哈爾濱工程大學學報,2013,34(7):889-893.
[7] Shin Y,Choi M,Koo J,et al.Video multicast over WLANs:power saving and reliability perspectives[J].IEEE Network,2013,27(2):40-46.
[8] Qian Z,Tian X,Chen X,et al.Multicast Capacity in MANET with infrastructure support[J].IEEE Transactions on Parallel and Distributed Systems,2014,25(7):1808-1818.
[9] 王 瑾.基于SSH框架下的校園網上交易平臺[D].成都:電子科技大學,2014.
[10] 師溫馨.基于SSH框架的電子商務購物網站的研究與設計[J].電子測試,2014(8):10-12.
[11] 張曉孿.基于SSH的團購網站的設計與實現[J].電子設計工程,2012,20(21):122-125.
[12] 米奕杭.基于SSH框架的網絡購物電子商務平臺的設計與實現[D].成都:四川師范大學,2010.
[13] Yang J N,Zhou S Q,Qiu L D.Impact of small-world topologies on broadcasting for wireless sensor networks[J].Journal of Systems Engineering and Electronics,2009,20(1):192-196.
[14] Hur N,Lee H,Lee G S,et al.3DTV broadcasting and distribution systems[J].IEEE Transactions on Broadcasting,2011,57(2):395-406.
Management System of Electronic Classroom Based on C/S Architecture
YANG Fan1,SHEN Lai-xin1,2
(1.School of Information Engineering,Huangshan University,Huangshan 245041,China;2.School of Electronics and Information Engineering,Tongji University,Shanghai 201804,China)
In order to implement electronic management of laboratory and computer room,an electronic classroom system is developed,which can manage students,devices and teaching process.The system can also supervise the student class situation,and urge teacher teaching,and monitor PC machine condition,and manage electric equipment.The teaching monitoring network is constructed to obtain check-in data of students in class,assessment data of teachers’ teaching quality,and damage data of computer hardware.The system implements main functions including screen broadcast,remote assistance,command execute,client lock,information publishing,computer restart,auto check,group session,document transfer,assignment and submiting,and equipment monitoring.Multicast techniques are used to finish the communication between server and multi-clients,and the connector number of TCP can be used to verify client online.MVC layered structure is utilized to realize the 3-layers architecture and data interaction,which can efficiently improve the security of data and reusability of module.The system can be extended to large-scale experimental environments,effectively improving the scientific management level of electronic classroom.
electronic classroom;check-in;screen broadcast;auto check;equipment monitoring
2015-06-16
2015-09-22
時間:2016-02-18
文化部科技創新項目(WHBKJCXXM20142554);文物局文化保護和技術研究課題(2013-YB-SQ-175);大學生創新訓練計劃項目(201310375022,AH2014103753135,AH2014103753136);黃山學院校級科研項目(2015xhwh012)
楊 帆(1980-),女,碩士,講師,CCF會員,研究方向為數據挖掘與軟件工程。
http://www.cnki.net/kcms/detail/61.1450.TP.20160218.1634.048.html
TP302
A
1673-629X(2016)03-0168-04
10.3969/j.issn.1673-629X.2016.03.039