李俊林 湛輝來
● 引言
近年來,智慧教室的建設(shè)如火如荼,在學(xué)校的教學(xué)活動(dòng)中,以信息技術(shù)為基礎(chǔ)的互動(dòng)教學(xué)不斷展開,但在多人互動(dòng)教學(xué)的場景中,智慧教室存在著較為突出的問題。
一是自動(dòng)成組功能弱。在很多應(yīng)用場景中,往往需要各種智能終端或其他多媒體設(shè)備依據(jù)自身的角色進(jìn)行分組,以便更好地進(jìn)行討論和信息分享。而現(xiàn)有方案要么不支持成組功能,要么只能事先將設(shè)備固定分到某一個(gè)組上,無法實(shí)現(xiàn)自動(dòng)基于設(shè)備角色成組的功能。
二是組網(wǎng)靈活性差。在很多應(yīng)用場景中,往往需要一些多媒體設(shè)備能夠動(dòng)態(tài)地加入或退出某個(gè)分享群組或子網(wǎng)。而現(xiàn)有方案基本上都是在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)固定的情況下實(shí)現(xiàn)多媒體信息分享的。
針對(duì)上述問題,本文提出了一種基于消息隊(duì)列的多角色多媒體信息交互技術(shù),即通過消息隊(duì)列,將各種異構(gòu)智能設(shè)備解耦,達(dá)到靈活組網(wǎng)的目的,并通過角色定位,實(shí)現(xiàn)自動(dòng)成組的功能。
● 系統(tǒng)構(gòu)成
基于消息隊(duì)列的多角色的多媒體信息交互系統(tǒng),利用無線網(wǎng)絡(luò)(WiFi/4G/5G等)和IP有線網(wǎng)絡(luò),以消息隊(duì)列、多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)為基礎(chǔ),實(shí)現(xiàn)了系統(tǒng)內(nèi)各多媒體設(shè)備基于角色的自動(dòng)成組功能和快速的多媒體信息交互功能,具有分組靈活、智能,以及信息交互實(shí)時(shí)性強(qiáng)的特點(diǎn),非常適用于教育領(lǐng)域中的智慧型互動(dòng)教室場景和其他需要實(shí)時(shí)的多媒體信息交互功能的場景。
該系統(tǒng)由一個(gè)服務(wù)器、多個(gè)業(yè)務(wù)節(jié)點(diǎn)和多個(gè)智能終端構(gòu)成,業(yè)務(wù)節(jié)點(diǎn)可以部署在服務(wù)器的同網(wǎng)段中,也可以分布在多個(gè)不同的子網(wǎng)中。一個(gè)業(yè)務(wù)節(jié)點(diǎn)和多個(gè)智能終端組成一個(gè)獨(dú)立的應(yīng)用子網(wǎng)。同一應(yīng)用子網(wǎng)內(nèi)的成員之間可進(jìn)行各種音視頻、文件等多媒體信息的分享。多個(gè)應(yīng)用子網(wǎng)之間則需通過服務(wù)器來實(shí)現(xiàn)多媒體信息的交互。各業(yè)務(wù)節(jié)點(diǎn)和智能終端均具有音視頻編解碼功能,應(yīng)用子網(wǎng)內(nèi)成員和應(yīng)用子網(wǎng)之間均通過消息隊(duì)列實(shí)現(xiàn)交互。
消息隊(duì)列采用發(fā)布(Publisher)/訂閱(Subscriber) 模型,消息的發(fā)布者或訂閱者為客戶端。服務(wù)器上部署消息服務(wù)器(Broker),業(yè)務(wù)節(jié)點(diǎn)既為消息隊(duì)列的客戶端,以實(shí)現(xiàn)和服務(wù)器的通信,同時(shí)又運(yùn)行消息服務(wù)器(Broker),為應(yīng)用子網(wǎng)內(nèi)成員提供消息傳遞服務(wù)。而各智能終端上均為消息隊(duì)列客戶端。
基于角色的多媒體信息交互技術(shù),使多媒體信息分享者并不需要關(guān)心有哪些接收者,只需要專注于信息分享功能。同時(shí),多媒體信息接收者也不需要關(guān)心多媒體信息的發(fā)送者,只需要專注于信息接收功能。這樣,多媒體信息的分享和接收就能在系統(tǒng)內(nèi)各設(shè)備之間依據(jù)角色自由地轉(zhuǎn)換,從而更好地實(shí)現(xiàn)多媒體信息交互的功能。
應(yīng)用本技術(shù)的多媒體信息交互系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如下頁圖1所示,整個(gè)系統(tǒng)由組間互聯(lián)的廣域網(wǎng)和多個(gè)智能設(shè)備構(gòu)成的應(yīng)用子網(wǎng)組成。服務(wù)器和所有的業(yè)務(wù)節(jié)點(diǎn)通過IP網(wǎng)絡(luò)聯(lián)接。在每一個(gè)應(yīng)用子網(wǎng)中,均有一個(gè)業(yè)務(wù)節(jié)點(diǎn)和多個(gè)智能終端。智能終端主要用來發(fā)起多媒體信息共享或接收系統(tǒng)中別的設(shè)備共享的多媒體信息,向業(yè)務(wù)節(jié)點(diǎn)訂閱自身感興趣的角色并接受業(yè)務(wù)節(jié)點(diǎn)的控制指令。業(yè)務(wù)節(jié)點(diǎn)是一個(gè)應(yīng)用子網(wǎng)中的中心控制節(jié)點(diǎn),它維護(hù)本應(yīng)用子網(wǎng)中的所有智能終端的訂閱信息,控制各智能終端加入或退出某個(gè)分享群組,同時(shí),根據(jù)本業(yè)務(wù)節(jié)點(diǎn)的需要,向服務(wù)器訂閱其感興趣的角色并接受服務(wù)器的控制指令。服務(wù)器維護(hù)各業(yè)務(wù)節(jié)點(diǎn)的訂閱信息,控制各業(yè)務(wù)節(jié)點(diǎn)加入或退出某個(gè)分享群組,接收并轉(zhuǎn)發(fā)相關(guān)的多媒體信息。
● 自動(dòng)成組過程
1.局部成組
在一個(gè)應(yīng)用子網(wǎng)中,智能終端設(shè)備首先通過CONNECT命令請(qǐng)求和業(yè)務(wù)節(jié)點(diǎn)建立消息隊(duì)列連接,當(dāng)連接建立成功后,再通過SUBSCRIBE命令訂閱自身感興趣的角色。業(yè)務(wù)節(jié)點(diǎn)維護(hù)本網(wǎng)絡(luò)內(nèi)所有智能終端的訂閱信息,并根據(jù)這些訂閱信息依據(jù)角色將智能終端自動(dòng)分組。如圖2所示,針對(duì)角色為“學(xué)習(xí)小組2”的分享,智能終端1_1、智能終端1_2和智能終端1_4將被分到同一組;而針對(duì)角色為“學(xué)習(xí)小組1”的分享,則智能終端1_3和智能終端1_4將被分到同一組。
2.全局成組
局部成組完成后,業(yè)務(wù)節(jié)點(diǎn)可通過IP網(wǎng)絡(luò)向服務(wù)器發(fā)送CONNECT命令請(qǐng)求和服務(wù)器建立消息隊(duì)列連接,當(dāng)連接建立成功后,再通過SUBSCRIBE命令向服務(wù)器訂閱本業(yè)務(wù)子網(wǎng)感興趣的角色。服務(wù)器維護(hù)所有業(yè)務(wù)子網(wǎng)的訂閱信息,再結(jié)合業(yè)務(wù)子網(wǎng)自身維護(hù)的訂閱信息,就在整個(gè)系統(tǒng)依據(jù)角色將智能終端自動(dòng)分組。如圖3所示,針對(duì)角色為“學(xué)習(xí)小組2”的分享,智能終端1_1、智能終端1_2、智能終端1_4和智能終端3_1將被分到同一組;而針對(duì)角色為“學(xué)習(xí)小組1”的分享,則智能終端1_3、智能終端1_4、智能終端3_1和智能終端4_1將被分到同一組。
● 信息分享
根據(jù)業(yè)務(wù)需求,多媒體信息的分享可以分為局部分享和全局分享。局部分享為在同一小組內(nèi)各設(shè)備之間的分享。全局分享為整個(gè)系統(tǒng)中各小組間的設(shè)備分享。
1.局部分享
在同一應(yīng)用子網(wǎng)中,有一個(gè)業(yè)務(wù)節(jié)點(diǎn)和多個(gè)智能終端,業(yè)務(wù)節(jié)點(diǎn)為該網(wǎng)絡(luò)里的主設(shè)備,運(yùn)行消息服務(wù)器(Broker)程序,而智能終端為該網(wǎng)絡(luò)里的從設(shè)備,運(yùn)行消息隊(duì)列客戶端程序。當(dāng)智能終端接入本應(yīng)用子網(wǎng)后,立即向業(yè)務(wù)節(jié)點(diǎn)發(fā)送CONNECT命令用以向業(yè)務(wù)節(jié)點(diǎn)請(qǐng)求建立消息隊(duì)列連接。當(dāng)連接建立成功后,智能終端可通過發(fā)送SUBSCRIBE命令向業(yè)務(wù)節(jié)點(diǎn)訂閱自己對(duì)哪些角色分享的多媒體信息感興趣。當(dāng)智能終端已經(jīng)對(duì)這些角色分享的多媒體信息不感興趣時(shí),可通過發(fā)送UNSUBSCRIBE命令向業(yè)務(wù)節(jié)點(diǎn)取消先前的訂閱。當(dāng)然,也可以再次通過發(fā)送SUBSCRIBE命令向業(yè)務(wù)節(jié)點(diǎn)訂閱自己對(duì)哪些新的角色分享的多媒體信息感興趣。
當(dāng)在該網(wǎng)絡(luò)中有智能設(shè)備需要分享多媒體信息時(shí),通過發(fā)送PUBLISH命令向業(yè)務(wù)節(jié)點(diǎn)請(qǐng)求分享多媒體信息到目標(biāo)設(shè)備。該P(yáng)UBLISH命令中的Topic Name字段為本次分享多媒體信息的角色。同時(shí),該P(yáng)UBLISH命令中還包括本次分享的多媒體信息的類型、該多媒體信息將發(fā)送到的組播地址及端口號(hào)和一些其他信息如分享的優(yōu)先級(jí)等。業(yè)務(wù)節(jié)點(diǎn)收到智能設(shè)備發(fā)送的PUBLISH命令后,將提取該命令中的Topic Name字段,得到本次分享的角色信息,查找當(dāng)前有哪些設(shè)備對(duì)本次分享感興趣,依次向這些設(shè)備發(fā)送PUBLISH命令,將本次分享的多媒體信息的類型、該多媒體信息將發(fā)送到的組播地址及端口號(hào)和一些其他信息如分享的優(yōu)先級(jí)等發(fā)送到需要接收本次分享的智能設(shè)備上。接收設(shè)備根據(jù)收到的這些信息,決定是否接受本次分享,如需要接受,啟動(dòng)相應(yīng)的多媒體接收程序,到指定的組播地址及端口上接收分享的多媒體信息。
2.全局分享
當(dāng)業(yè)務(wù)節(jié)點(diǎn)接入系統(tǒng)后,立即向服務(wù)器發(fā)送CONNECT命令用以向服務(wù)器請(qǐng)求建立消息隊(duì)列連接。當(dāng)連接建立成功后,業(yè)務(wù)節(jié)點(diǎn)可通過發(fā)送SUBSCRIBE命令向服務(wù)器訂閱本節(jié)點(diǎn)對(duì)其他業(yè)務(wù)節(jié)點(diǎn)的哪些角色分享的多媒體信息感興趣。當(dāng)業(yè)務(wù)節(jié)點(diǎn)已經(jīng)對(duì)這些角色分享的多媒體信息不感興趣時(shí),可通過發(fā)送UNSUBSCRIBE命令向服務(wù)器取消先前的訂閱。當(dāng)然,也可以再次通過發(fā)送SUBSCRIBE命令向服務(wù)器訂閱自己對(duì)哪些新的角色分享的多媒體信息感興趣。
當(dāng)某個(gè)小組內(nèi)的某個(gè)智能終端需要分享多媒體信息時(shí),其在本應(yīng)用子網(wǎng)中的分享過程如上文局部分享方案所述。如果業(yè)務(wù)節(jié)點(diǎn)確認(rèn)需要做全局分享,則啟動(dòng)如下過程:
①在應(yīng)用子網(wǎng)內(nèi)接收智能終端發(fā)送到指定組播地址和端口號(hào)的多媒體信息,將收到的多媒體信息單播至服務(wù)器。
②發(fā)送PUBLISH命令向服務(wù)器請(qǐng)求分享多媒體信息到目標(biāo)設(shè)備。該P(yáng)UBLISH命令包含本次分享設(shè)備的角色、多媒體信息的類型、發(fā)向服務(wù)器的端口號(hào)及分享的優(yōu)先級(jí)等信息。
③服務(wù)器收到該業(yè)務(wù)節(jié)點(diǎn)發(fā)送的PUBLISH命令后,將提取命令中的Topic Name字段,得到本次分享的角色信息,查找當(dāng)前有哪些業(yè)務(wù)節(jié)點(diǎn)對(duì)本次分享感興趣。同時(shí)啟動(dòng)接收程序,接收分享業(yè)務(wù)節(jié)點(diǎn)所轉(zhuǎn)發(fā)的多媒體信息,并將收到的信息分別單播至對(duì)本次分享感興趣的業(yè)務(wù)節(jié)點(diǎn)。然后,依次向這些業(yè)務(wù)節(jié)點(diǎn)發(fā)送PUBLISH命令,該命令將包含本次分享設(shè)備的角色、多媒體信息的類型、發(fā)向該業(yè)務(wù)節(jié)點(diǎn)的端口號(hào)等信息。
業(yè)務(wù)節(jié)點(diǎn)接收到服務(wù)器發(fā)送的PUBLISH命令后,將啟動(dòng)接收程序,接收服務(wù)器所轉(zhuǎn)發(fā)的多媒體信息,并在其應(yīng)用子網(wǎng)中完成局部分享。
● 結(jié)束語
利用消息隊(duì)列實(shí)現(xiàn)多媒體信息交互的控制協(xié)議,將多媒體信息分享源的角色作為信息分享的依據(jù),控制協(xié)議簡單、可靠并且開銷小,同時(shí)系統(tǒng)內(nèi)各設(shè)備能夠根據(jù)自身的角色定位,自動(dòng)成組,系統(tǒng)內(nèi)各設(shè)備可以很容易地加入或退出某個(gè)分享群組。當(dāng)有設(shè)備從一個(gè)應(yīng)用子網(wǎng)遷移到另一個(gè)應(yīng)用子網(wǎng)時(shí),也可以很容易地加入到當(dāng)前應(yīng)用子網(wǎng)的分享群組中。同時(shí),網(wǎng)絡(luò)負(fù)載更小,實(shí)時(shí)性較好。并且在同一子網(wǎng)中的多媒體信息流均通過組播方式進(jìn)行傳輸,減小了網(wǎng)絡(luò)負(fù)載。
參考文獻(xiàn):
[1]李志飛.智慧教室下的可視化教學(xué)設(shè)計(jì)及應(yīng)用研究[D].武漢:華中師范大學(xué),2018.
[2]李康康,趙鑫碩,陳琳.我國智慧教室的現(xiàn)狀及發(fā)展[J].現(xiàn)代教育技術(shù),2016(07).
[3]徐顯龍,王雪花,顧小清.智慧教室小組合作學(xué)習(xí)設(shè)計(jì)及成效[J].開放教育研究,2017(04).
[4]程敏.信息化環(huán)境中智慧教室的構(gòu)建[J].現(xiàn)代教育技術(shù),2016(02).