楊 帆,沈來信,2
(1.黃山學(xué)院 信息工程學(xué)院,安徽 黃山 245041;2.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201804)
基于C/S架構(gòu)的電子教室管理系統(tǒng)
楊 帆1,沈來信1,2
(1.黃山學(xué)院 信息工程學(xué)院,安徽 黃山 245041;2.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201804)
為實現(xiàn)實驗室、機(jī)房的電子化管理而開發(fā)的電子教室系統(tǒng),可以對學(xué)生、設(shè)備和教學(xué)過程進(jìn)行管理,系統(tǒng)還可以用于學(xué)生上課情況監(jiān)督、教師教學(xué)督促、PC機(jī)狀態(tài)監(jiān)控、電子設(shè)備運(yùn)用管理等。構(gòu)建教學(xué)監(jiān)控網(wǎng)絡(luò)獲取學(xué)生上課的考勤數(shù)據(jù)、教師教學(xué)質(zhì)量的評估數(shù)據(jù)、機(jī)房硬件的損壞數(shù)據(jù)等。系統(tǒng)主要功能有屏幕廣播、遠(yuǎn)程協(xié)助、執(zhí)行命令、鎖定客戶端、信息發(fā)布、機(jī)器重啟、自動簽到、群組會話、文件傳送、作業(yè)發(fā)布與上交、客戶端屏幕監(jiān)控、設(shè)備監(jiān)控等。使用組播技術(shù)完成服務(wù)器與多客戶端的通信,通過TCP連接數(shù)完成客戶端在線驗證等。利用MVC分層結(jié)構(gòu)完成系統(tǒng)三層架構(gòu)和數(shù)據(jù)交互實現(xiàn),有效提高了數(shù)據(jù)的安全性和模塊的可復(fù)用性。系統(tǒng)可以高效地擴(kuò)展到大規(guī)模的實驗環(huán)境,有效提高電子教室的科學(xué)化管理水平。
電子教室;考勤;屏幕廣播;自動簽到;設(shè)備監(jiān)控
網(wǎng)絡(luò)化教育在各大高校課程教育中所占比重越來越大。在網(wǎng)絡(luò)化教育過程中,機(jī)器設(shè)備的損壞量大,需要大量的維護(hù)人員對設(shè)備進(jìn)行檢查與維護(hù)。電子教室管理軟件從規(guī)范學(xué)生的上課秩序、管理老師的教學(xué)計劃、保障機(jī)房公共財產(chǎn)的安全、充實學(xué)生與教室的教學(xué)體驗四個方面出發(fā),對學(xué)生上課情況實施考勤、教師實施督促、PC機(jī)實施監(jiān)控等,形成教學(xué)監(jiān)控網(wǎng)絡(luò),從而得到學(xué)生上課的實況數(shù)據(jù)、教師教學(xué)質(zhì)量數(shù)據(jù)、機(jī)房硬件的損壞數(shù)據(jù)等[1-3]。從這些數(shù)據(jù)中提出數(shù)據(jù)形成教學(xué)質(zhì)量評估、學(xué)生出勤情況匯總和機(jī)房維修日志等。在方便老師的教學(xué)之外,添加一些群組會話、視頻語音監(jiān)控、遠(yuǎn)程協(xié)助、作業(yè)提交等功能,將電子設(shè)備管理與網(wǎng)絡(luò)教學(xué)、作業(yè)發(fā)布與提交等有效結(jié)合。
組播是比單播寬,但比廣播窄且目標(biāo)性更強(qiáng)的點對點通信。組播將數(shù)據(jù)從一臺主機(jī)發(fā)送給不同的主機(jī),但不是發(fā)給某一個人,數(shù)據(jù)只有到達(dá)位于組播組內(nèi)的本地網(wǎng)絡(luò)才進(jìn)行復(fù)制,數(shù)據(jù)只通過Internet一次。
C/S結(jié)構(gòu)的基本原則是將計算機(jī)應(yīng)用任務(wù)分解成多個子任務(wù),由多臺計算機(jī)分工完成,即采用“功能分布”原則[4-6]??蛻舳送瓿蓴?shù)據(jù)處理、數(shù)據(jù)表示以及用戶接口功能;服務(wù)器端完成DBMS(數(shù)據(jù)庫管理系統(tǒng))的核心功能。這種客戶請求服務(wù)、服務(wù)器提供服務(wù)的處理方式是一種有效的軟件應(yīng)用模式。Client和Server常常分別處在相距很遠(yuǎn)的兩臺計算機(jī)上,Client程序的任務(wù)是將用戶的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶;Server程序的任務(wù)是接收客戶程序提出的服務(wù)請求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶程序。
C/S結(jié)構(gòu)能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。客戶端響應(yīng)速度快,具體表現(xiàn)在:
(1)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕;
(2)數(shù)據(jù)的儲存管理功能較為透明。
1.1 結(jié)構(gòu)設(shè)計
系統(tǒng)運(yùn)行在加載TCP/IP協(xié)議的Windows及以上的操作系統(tǒng)上。主要運(yùn)用在在局域網(wǎng)內(nèi)的多媒體信息廣播、教學(xué)附帶電子設(shè)備的使用以及網(wǎng)絡(luò)內(nèi)客戶機(jī)的屏幕監(jiān)視和遠(yuǎn)程控制管理等方面,如圖1所示。
圖1 電子教室總體結(jié)構(gòu)圖
1.2 網(wǎng)絡(luò)組播設(shè)計
整個過程包括構(gòu)造組播組、加入組播組和離開組播組三個過程,流程圖見圖2。
(1)構(gòu)造組播組[7-8]:用Multicast Socket構(gòu)造函數(shù)創(chuàng)建一個Multicast Socket,然后使用其JoinGroup方法加入到一個組播組,這樣就會通知客戶端和服務(wù)器之間路徑上的服務(wù)器開始發(fā)送數(shù)據(jù),并告知本地主機(jī)將IP包尋址到組播組;
圖2 組播流程圖
(2)加入組播組:創(chuàng)建一個Datagram Packet,用一個字節(jié)數(shù)據(jù)作為數(shù)據(jù)緩沖區(qū),進(jìn)入循環(huán),在循環(huán)中通過調(diào)用Datagram Socket的receive方法接收數(shù)據(jù);
(3)離開組播組:當(dāng)不再希望接收數(shù)據(jù)時,就通過調(diào)用此Socket的LeaveGroup方法離開組播組,然后再用close方法關(guān)閉該Socket。
系統(tǒng)采用MVC架構(gòu)[9-12],包括三層體系結(jié)構(gòu)—表示層(View)、中間層(Controller)和數(shù)據(jù)層(Model),如圖3所示。(注:客戶機(jī)泛指所有的教師機(jī)、學(xué)生機(jī)、設(shè)備管理機(jī)、設(shè)備操作機(jī))
圖3 MVC三層架構(gòu)圖
2.1 表示層
表示層是指客戶機(jī)的圖形化用戶界面,主要功能有:
(1)接收用戶請求,將這些請求反饋給中間層,并且等待返回的應(yīng)答信息;
(2)對中間層提供的數(shù)據(jù)命令實時顯示;
(3)完成對用戶輸入語句的合法性驗證。
2.2 中間層
中間層指業(yè)務(wù)邏輯處理區(qū)和數(shù)據(jù)訪問層,該層的主要作用有:
(1)接收從表示層傳來的用戶請求信息;
(2)根據(jù)用戶的請求信息來制定響應(yīng)所需要提供的服務(wù),即判定客戶端發(fā)出的請求指向是服務(wù)器還是另一個客戶端,并同時發(fā)布響應(yīng)的指定命令;
(3)把客戶機(jī)發(fā)出的命令指定成響應(yīng)的服務(wù)端或響應(yīng)操作機(jī)能識別的命令傳輸?shù)綌?shù)據(jù)操作層;
(4)把數(shù)據(jù)層和業(yè)務(wù)邏輯處理層處理好的數(shù)據(jù)或者響應(yīng)操作機(jī)響應(yīng)命令直接反饋給表示層。
2.3 數(shù)據(jù)層
數(shù)據(jù)層是指數(shù)據(jù)控制邏輯層和數(shù)據(jù)制定響應(yīng)層,它的主要作用是:
(1)接受業(yè)務(wù)層數(shù)據(jù)處理的SQL語句或存儲過程或者業(yè)務(wù)層傳遞過來的指令操作;
(2)利用SQL語句或存儲過程,完成相應(yīng)數(shù)據(jù)服務(wù)器上的邏輯操作;
(3)把存儲或檢索到的數(shù)據(jù)信息或響應(yīng)操作的參數(shù),直接傳遞給業(yè)務(wù)層。
使用MySQL數(shù)據(jù)庫存儲關(guān)系數(shù)據(jù),主要包括基本信息表(學(xué)生、教師和管理員的驗證信息,課程的基本信息和課程時間安排信息等)、教學(xué)過程中產(chǎn)生的信息(設(shè)備的硬件信息、學(xué)生的考勤信息、電子設(shè)備的使用記錄等),如圖4所示。
圖4 系統(tǒng)基本數(shù)據(jù)庫表
MySQL數(shù)據(jù)庫位于總服務(wù)端。文件型數(shù)據(jù)庫又分在本地和云盤中,數(shù)據(jù)包括:教學(xué)過程中產(chǎn)生的圖片操作、討論記錄、文件、電子設(shè)備使用產(chǎn)生的資料。其中,前三種默認(rèn)存儲于本地,學(xué)生可以選擇性地從本地傳輸?shù)阶约旱脑票P(作業(yè)系統(tǒng))中,最后一種數(shù)據(jù)主要存儲在個人的作業(yè)系統(tǒng)云盤中。
4.1 教師端的功能實現(xiàn)
(1)組播視頻教學(xué)、遠(yuǎn)程協(xié)助、指定學(xué)生轉(zhuǎn)發(fā);
(2)指定網(wǎng)址打開、作業(yè)/消息發(fā)布;
(3)信息查詢、學(xué)生請假批準(zhǔn)、教學(xué)質(zhì)量的學(xué)生評價(可選擇的);
(4)群組會話、自建討論組、文件圖片截屏傳送;
(5)控制指定機(jī)器或者全部機(jī)器重啟、關(guān)機(jī)、設(shè)備屬性信息查看;
(6)學(xué)生桌面視頻監(jiān)控、學(xué)生機(jī)器鎖定;
(7)學(xué)生設(shè)備申請的批準(zhǔn)、設(shè)備排隊使用的提醒、設(shè)備類型的分組顯示;
(8)自我機(jī)器鎖定、刷新等;
(9)攝像設(shè)備的視頻轉(zhuǎn)播;
(10)語音傳輸。
4.2 學(xué)生端的功能實現(xiàn)
(1)設(shè)備申請、遠(yuǎn)程申請、問題求助、請求重新登錄;
(2)教學(xué)評價(選擇性地對教師進(jìn)行評價);
(3)直接登錄作業(yè)系統(tǒng)(綁定作業(yè)系統(tǒng));
(4)自動簽到(隨機(jī)簽到);
(5)機(jī)器本身設(shè)備的搜集;
(6)教學(xué)信息的接收與反饋;
(7)群組會話(圖片、截屏、文件傳送);
(8)資料的上傳。
4.3 屏幕廣播實現(xiàn)
屏幕廣播指教師端通過實時獲取自己的或指定學(xué)生的當(dāng)前桌面截屏進(jìn)行指定用戶的操作廣播顯示[13-14]。讓學(xué)生可以看到自己在桌面的操作流程,這樣更有利于教學(xué),屏幕廣播的流程如下:
(1)教師發(fā)布視頻廣播的口令+指定學(xué)生組的學(xué)號,發(fā)布發(fā)出口令;
(2)教師開啟組播服務(wù)端進(jìn)行組播演示;
(3)接收端接收到響應(yīng)口令,開啟組播接口接收客戶端的桌面廣播;
(4)教師發(fā)布視頻廣播結(jié)束指令,關(guān)閉組播組;
(5)學(xué)生接收組播結(jié)束指令,離開組播組;
(6)屏幕廣播結(jié)束。
4.4 電子設(shè)備的控制
(1)通過從UsbHostManager得到相應(yīng)的UsbServices進(jìn)行Bootstrap;
(2)通過UsbServices訪問root hub;
(3)獲得連接到root hub的UsbDevice清單,遍歷所有低級hub以找到正確的UsbDevice;
(4)用控制消息(UsbControlIrp)與UsbDevice直接交互,或者從UsbDevice的相應(yīng)UsbConfiguration中要求一個UsbInterface,并與該UsbInterface上可用的UsbEndpoint進(jìn)行I/O;
(5)如果一個UsbEndpoint用于進(jìn)行I/O,那么打開與它關(guān)聯(lián)的UsbPipe。通過這個UsbPipe可以同步或者異步提交上行數(shù)據(jù)(從USB設(shè)備到主計算機(jī))和下行數(shù)據(jù)(從主計算機(jī)到USB設(shè)備);
(6)當(dāng)應(yīng)用程序不再需要訪問該UsbDevice時,關(guān)閉這個UsbPipe并釋放相應(yīng)的UsbInterface。
設(shè)備發(fā)現(xiàn)的架構(gòu)圖如圖5所示,設(shè)備控制模塊流程圖如圖6所示。
數(shù)據(jù)傳輸是基于Socket的TCP連接。設(shè)備的控制采用串口讀寫數(shù)據(jù)的方法開啟設(shè)備的運(yùn)行狀態(tài)。學(xué)生端對設(shè)備進(jìn)行使用申請并獲得教師端的授權(quán)驗證。
圖5 jsr80發(fā)現(xiàn)設(shè)備的整體架構(gòu)圖
圖6 設(shè)備的控制模塊流程圖
4.5 運(yùn)行過程中的TCP連接數(shù)分析
10000是客戶端和服務(wù)器端進(jìn)行連接的端口,10004是客戶端和教師端進(jìn)行連接的端口。服務(wù)器數(shù)據(jù)庫都設(shè)置在192.168.24.X,教師端運(yùn)行是本地運(yùn)行192.168.24.Y。
(1)客戶端全部登錄:服務(wù)器和數(shù)據(jù)庫連接,顯示為連接建立,處于數(shù)據(jù)傳送狀態(tài),如下:
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)客戶端和服務(wù)端進(jìn)行連接情況:有3名客戶端用戶和服務(wù)端有連接,并且處于等待客戶端的關(guān)閉請求狀態(tài),所有客戶端都會每三分鐘向服務(wù)端發(fā)送一次我還在的驗證信息。教師端和客戶端也是每三分鐘進(jìn)行一次數(shù)據(jù)更新,處于等待關(guān)閉狀態(tài)-說明客戶端和服務(wù)端建立的連接是正常的,如下:
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
在實際設(shè)計中,應(yīng)該減輕服務(wù)器端與客戶端的數(shù)據(jù)交互,增加客戶端與客戶端之間的數(shù)據(jù)處理模式,向服務(wù)器傳送當(dāng)前已經(jīng)處理好的有效數(shù)據(jù)。這種方式可以減輕服務(wù)端的數(shù)據(jù)處理負(fù)擔(dān),加強(qiáng)客戶端與客戶端之間的數(shù)據(jù)交互,服務(wù)器只需要處理關(guān)鍵性的、有效處理后的數(shù)據(jù),并且當(dāng)服務(wù)器出現(xiàn)異常中斷時,不會影響系統(tǒng)暫時的教學(xué)活動。
現(xiàn)在的整體部署模式僅僅局限于教室系統(tǒng)和教師之間的單向交互,而不是基于一個群體、一個局域網(wǎng)絡(luò)內(nèi)的教學(xué)活動。怎樣設(shè)計一種模式可以完成學(xué)生與教師之間選擇的自由性與學(xué)習(xí)的交互性,這種教學(xué)模式主要用于學(xué)生的興趣教學(xué)和自主教學(xué)。教師與學(xué)生之間的交互加上服務(wù)器的處理,形成一個個小組,也就是很多教室混合形成的一個個虛擬的教室。
[1] 蘇 望.基于J2EE的多媒體教室管理系統(tǒng)設(shè)計與實現(xiàn)[D].長沙:湖南大學(xué),2014.
[2] 蔣文東.基于移動終端的電教設(shè)備管理系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2014.
[3] 袁再龍,姜明濤.極域電子教室在計算機(jī)廣播教學(xué)中的應(yīng)用[J].計算機(jī)光盤軟件與應(yīng)用,2014,17(11):206-206.
[4] 樊銀亭,何鴻云.基于客戶機(jī)/服務(wù)器體系的二層與三層結(jié)構(gòu)研究[J].計算機(jī)應(yīng)用研究,2001,18(12):23-24.
[5] 孫愛玲,冉祿純.一種基于重復(fù)數(shù)據(jù)刪除的網(wǎng)絡(luò)文件備份系統(tǒng)設(shè)計與實現(xiàn)[J].計算機(jī)應(yīng)用與軟件,2014,31(10):86-90.
[6] 劉 赟,王永貴.C/S模式并行計算架構(gòu)設(shè)計及其實現(xiàn)方法[J].哈爾濱工程大學(xué)學(xué)報,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框架下的校園網(wǎng)上交易平臺[D].成都:電子科技大學(xué),2014.
[10] 師溫馨.基于SSH框架的電子商務(wù)購物網(wǎng)站的研究與設(shè)計[J].電子測試,2014(8):10-12.
[11] 張曉孿.基于SSH的團(tuán)購網(wǎng)站的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2012,20(21):122-125.
[12] 米奕杭.基于SSH框架的網(wǎng)絡(luò)購物電子商務(wù)平臺的設(shè)計與實現(xiàn)[D].成都:四川師范大學(xué),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
文化部科技創(chuàng)新項目(WHBKJCXXM20142554);文物局文化保護(hù)和技術(shù)研究課題(2013-YB-SQ-175);大學(xué)生創(chuàng)新訓(xùn)練計劃項目(201310375022,AH2014103753135,AH2014103753136);黃山學(xué)院校級科研項目(2015xhwh012)
楊 帆(1980-),女,碩士,講師,CCF會員,研究方向為數(shù)據(jù)挖掘與軟件工程。
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