![基于分布式的電子白板系統(tǒng)的實現(xiàn)_第1頁](http://file4.renrendoc.com/view/f74d3addf30692dd63455e0fabda4d9b/f74d3addf30692dd63455e0fabda4d9b1.gif)
![基于分布式的電子白板系統(tǒng)的實現(xiàn)_第2頁](http://file4.renrendoc.com/view/f74d3addf30692dd63455e0fabda4d9b/f74d3addf30692dd63455e0fabda4d9b2.gif)
![基于分布式的電子白板系統(tǒng)的實現(xiàn)_第3頁](http://file4.renrendoc.com/view/f74d3addf30692dd63455e0fabda4d9b/f74d3addf30692dd63455e0fabda4d9b3.gif)
![基于分布式的電子白板系統(tǒng)的實現(xiàn)_第4頁](http://file4.renrendoc.com/view/f74d3addf30692dd63455e0fabda4d9b/f74d3addf30692dd63455e0fabda4d9b4.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于分布式的電子白板系統(tǒng)的實現(xiàn)
電子白板作為一種虛擬教室的工具模塊,是計算機支持的協(xié)同工作系統(tǒng)中的一個重要同步交流工具。例如,特定的通信手段用于在電子環(huán)境中創(chuàng)建公共區(qū)域,使不同地點的員工能夠在“通用”屏幕上討論問題。任何活動(圖紙、對話、標(biāo)記等)都可以實時傳輸?shù)剿杏脩舻挠^點上。它的主要應(yīng)用范圍是在分布式環(huán)境下,因此要求電子白板設(shè)計要滿足操作響應(yīng)在協(xié)作允許范圍內(nèi)使用戶與用戶之間的協(xié)作流暢自然。本文將著重討論電子白板系統(tǒng)的實現(xiàn)及其關(guān)鍵技術(shù)。1電子白板的功能特性電子白板是一個虛擬公用區(qū)域。教師和學(xué)生可利用電子白板進(jìn)行課堂教學(xué)、專題討論等教學(xué)活動。電子白板作為典型的CSCW系統(tǒng),其主要功能涉及以下方面:1)基本的書寫與繪畫功能,用于參與者之間的交流。2)操作提示和操作反饋功能。3)白板內(nèi)容的恢復(fù)和更新功能。4)用戶權(quán)限的辨別功能。電子白板系統(tǒng)具有以下的特性:1)通信的實時性。電子白板的服務(wù)器端與客戶端通信是實時的。其主要有兩種方式實現(xiàn):一種服務(wù)器可以主動發(fā)送的雙向交互法;另一種是客戶機的單向輪詢法。兩種方式各有千秋,且各自已形成了成熟的技術(shù)。雙向交互比較靈活,但是,輪詢法在服務(wù)器繁忙的情況下的效率很高。所以虛擬教室的電子白板采用輪詢法實現(xiàn)。2)權(quán)限的差異性。參與者應(yīng)根據(jù)身份賦予權(quán)力。一般虛擬教室中的身份有兩種:教師和學(xué)生。教師的權(quán)力最大,不僅在通常情況下?lián)碛邪l(fā)言權(quán),而且有控制學(xué)生發(fā)言的權(quán)力。3)數(shù)據(jù)的安全性。電子白板作為一個臨界區(qū),在激烈的討論中,會出現(xiàn)幾個參與者同時對其進(jìn)競爭操作的情況。系統(tǒng)提供互斥的保護(hù)和管理機制,在缺省的情況下,由系統(tǒng)根據(jù)先來先服務(wù)、輪轉(zhuǎn)或最少發(fā)言者優(yōu)先的原則賦予發(fā)言權(quán),保證了數(shù)據(jù)信息的安全傳輸。2c/s模式介紹現(xiàn)有電子白板系統(tǒng)采用的體系結(jié)構(gòu)可分為兩種模式:一是傳統(tǒng)的基于C/S的模式;另外一種是基于B/S的模式,這種模式下客戶端是標(biāo)準(zhǔn)的瀏覽器,服務(wù)器端為標(biāo)準(zhǔn)的Web服務(wù)器。文中所實現(xiàn)的電子白板系統(tǒng)結(jié)合了以上兩種系統(tǒng)的優(yōu)點,系統(tǒng)既接受B/S模式的優(yōu)點,即電子白板服務(wù)器端和客戶端兩部分組成,使客戶端程序僅用瀏覽器即運行,服務(wù)器端監(jiān)聽客戶對某個特定端口的網(wǎng)絡(luò)連接請求,并之建立連接,這樣,這個客戶的數(shù)據(jù)就可以發(fā)送到服務(wù)器,再服務(wù)器轉(zhuǎn)發(fā)給其他客戶??蛻舳说娜蝿?wù)是將用戶的輸入數(shù)據(jù)送給服務(wù)器,同時接收服務(wù)器轉(zhuǎn)發(fā)的別的用戶的輸入數(shù)據(jù)。每客戶端只與服務(wù)器進(jìn)行通信,并不直接與其他客戶建立連接,同時也利用C/S模式的優(yōu)點,采用JAVA的Applet和Application分別對客戶端和服務(wù)器端編程,從而提高白板的交互能力。白板服務(wù)器負(fù)責(zé)創(chuàng)建和管理連接客戶的線程,同時不斷偵聽、接收來自各個客戶端用戶的信息,包括繪制圖形和聊天文字信息,并將其轉(zhuǎn)發(fā)給其他用戶;白板客戶端負(fù)責(zé)創(chuàng)建客戶端用界面,并處理客戶端消息以及客戶端和服務(wù)器之間的通信。3電子白板的關(guān)鍵和實現(xiàn)3.1電子白板的設(shè)計電子白板由服務(wù)器和客戶端兩部分組成,應(yīng)用服務(wù)器與客戶機的通信采用Socket技術(shù)。用戶通過Web瀏覽器進(jìn)入,將操作消息發(fā)送到應(yīng)用服務(wù)器。因為本白板系統(tǒng)中存在大量動態(tài)設(shè)計文字、圖形及圖片,所以客戶端的圖形用戶界面選擇JavaApplet來實現(xiàn)。java引進(jìn)了Socket的概念,提供了.Socket和.ServerSocket類庫,這兩個類一起提供完整的TCP/IP連接的支持。前者用于客戶端,后者用于服務(wù)器。一種服務(wù)通過監(jiān)聽一個端口號,可以與向該端口號發(fā)出請求的客戶程序進(jìn)行通信。本系統(tǒng)中的電子白板的通訊利用套接字實現(xiàn)網(wǎng)絡(luò)上客戶端和服務(wù)器端之間的連接。啟動服務(wù)器后,開辟一個未用端口,用于等待客戶端連接請求,服務(wù)器將在此端口上偵聽以等待客戶的連接請求,讓服務(wù)器永遠(yuǎn)等待,直到客戶端連接到該端口,一旦有客戶送來正確的請求,連接到該端口,隨即確認(rèn)連接就返回一個Socket對象,表示已經(jīng)建立好連接,客戶被分配一個本地端口號并且與一個Socket連接??蛻敉ㄟ^寫Socket來通知服務(wù)器,通過讀Socket來獲取信息。服務(wù)器也需要給它的本地端口連接一個Socket,通過讀寫Socket來與客戶端通信。用Socket對象獲得一個輸入/輸出流在服務(wù)器和客戶這兩個端點進(jìn)行信息傳遞。在電子白板的設(shè)計中,Client端的Applet相關(guān)代碼如下:上面的代碼中,第二行聲明一個Socket變量s,在初始化方法中,得到在html文檔中預(yù)先設(shè)置好的端口號為20000,由getcodeBase()得到主機的IP地址。在openSocket()方法中,創(chuàng)建一Socket對象,該Socket的端口號為服務(wù)器端ServerSocket所監(jiān)聽的端口號,主機為該Applet的宿主機。由于JavaApplet安全性,Applet只允許向其宿主機打開Socket連接。若想與任何主機建立Socket連接,則需要對Applet進(jìn)行數(shù)據(jù)簽名。創(chuàng)建好Socket連接后,便可進(jìn)行通信。Server端的Application相關(guān)代碼如下:在服務(wù)器端程序中,當(dāng)生成新的ServerSocket對象時,它還不能偵聽到達(dá)端口的客戶機請求,這要在調(diào)用ServerSocket對象的accept()方法后才開始,accept()方法要等客戶機連接服務(wù)器后才返回,ServerSocket并不用于實際通信,它只為服務(wù)器端程序生成一個新的Socket實例,與相連的客戶機交談,這個Socket實例在accept()方法接受一個連接時生成的。值得注意的是在run()函數(shù)中使用了一個while(true)語句,用它來實現(xiàn)輪詢,這是因為ServerSocketss在接收到客戶請求并激活相應(yīng)的User線程后,還要監(jiān)聽下一個客戶的請求,重新調(diào)用accept()方法,進(jìn)入封鎖狀態(tài)。3.2傳輸邊界不穩(wěn)定電子白板實現(xiàn)中應(yīng)用了多線程,多線程是實現(xiàn)并發(fā)機制的一種有效手段。在服務(wù)器端的Servlet服務(wù)程序?qū)⒏鶕?jù)多個用戶請求建立多個用戶服務(wù)線程。當(dāng)線程完成任務(wù)時將被Java的垃圾處理器收集并銷毀,線程所占資源被完全釋放,而不會導(dǎo)致在白板服務(wù)器運行的過程中逐漸消耗掉系統(tǒng)資源。這樣就保證了白板服務(wù)器可以長期可靠運行。當(dāng)用戶在白板上連續(xù)繪畫時可能產(chǎn)生大量的圖形數(shù)據(jù),尤其是繪制自由曲線,客戶端Applet若在白板的AWT事件處理程序中完成將這些數(shù)據(jù)傳輸給服務(wù)器的任務(wù),則很有可能由于網(wǎng)絡(luò)I/O的瓶頸作用,使得AWT事件處理線程受阻,從而影響白板Applet、瀏覽器等正在運行的應(yīng)用軟件。解決的辦法就是使Applet再建立一個后臺繪圖數(shù)據(jù)傳輸線程,白板的AWT事件處理程序?qū)⒂脩舻睦L圖數(shù)據(jù)通過管道流Stream)傳輸給這個線程后就返回,把網(wǎng)絡(luò)傳輸?shù)娜蝿?wù)留給這個線程進(jìn)行。3.3客戶轉(zhuǎn)發(fā)和中心同步控制在協(xié)同學(xué)習(xí)的虛擬教室環(huán)境中,多個課堂成員并行工作,他們可能同時對同一個對象提出要求或者同一時刻對同一個對象進(jìn)行操作,為了保證系統(tǒng)的一致性,我們采用集中控制的方式。所有白板數(shù)據(jù)消息都由白板服務(wù)器進(jìn)行接收處理后轉(zhuǎn)發(fā)。白板服務(wù)器數(shù)據(jù)消息緩存中的數(shù)據(jù),由白板服務(wù)器專門的處理數(shù)據(jù)消息線程程序處理,對緩存中的每一個消息都更新服務(wù)器中保持的白板共享信息表,然后向所有與它建立連接的客戶轉(zhuǎn)發(fā)消息,保證每一個客戶端的數(shù)據(jù)消息副本的一致性。對白板系統(tǒng)中存在并發(fā)控制問題,我們采用兩種并發(fā)控制機制:一種為對象鎖,另一種為白板鎖。對象鎖鎖住的是一個媒體對象;而白板鎖可以鎖住整個白板。白板中的任一對象在同一時刻只能被一個課堂成員所使用。當(dāng)一個課堂成員想要對白板的某一對象進(jìn)行操作時,服務(wù)器首先確認(rèn)該對象是否已被鎖定。如果沒有被鎖定,則用戶對這個對象所做的操作就會被接受,否則此用戶的對此對象的任何操作都當(dāng)作無效處理。白板鎖控制機制就是對整個白板的編輯區(qū)域?qū)嵭幸粋€時刻只允許一個用戶操作,而在本系統(tǒng)中,只有老師有控制白板鎖的權(quán)利。對白板系統(tǒng)中存在的并發(fā)信息流的問題,我們對客戶和服務(wù)器間傳送的各種消息,無論是客戶端的本地消息,還是服務(wù)器端消息,都采用了Java的對象串行化處理。對這些消息所進(jìn)行的串行化處理是保證同步協(xié)同共享的前提條件。當(dāng)串行器接收到對象后,就會分配給此對象一個編號,因此得以保證事件按編號順序執(zhí)行。在服務(wù)器內(nèi)部,對多個用戶同時產(chǎn)生的輸入消息的處理方法是利用一個全局白板消息隊列,此消息隊列是Java中Vector類的實例,該Vector類中的各種方法保證了對Vector內(nèi)容的串
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年骨科關(guān)節(jié)用藥合作協(xié)議書
- 2022-2023學(xué)年廣西欽州市四年級(上)期末數(shù)學(xué)試卷
- 2025年逆變式電焊機合作協(xié)議書
- 2025年九年級班主任心得樣本(2篇)
- 2025年買賣協(xié)議參考范文(2篇)
- 2025年五人股東合作的協(xié)議(2篇)
- 2025年代課教師勞動合同標(biāo)準(zhǔn)版本(4篇)
- 2025年代交社會保險協(xié)議(三篇)
- 2025年二年級美術(shù)教學(xué)工作總結(jié)(5篇)
- 2025年買賣房屋定金協(xié)議簡單版(三篇)
- 教育家精神六個方面專題PPT
- 2023年河北廊坊市三河市金創(chuàng)產(chǎn)業(yè)投資有限公司招聘筆試題庫含答案解析
- 醫(yī)學(xué)專題-脛骨高位截骨術(shù)
- 中國減肥行業(yè)市場分析與發(fā)展趨勢講義
- 海通食品集團楊梅汁產(chǎn)品市場營銷
- 印章管理辦法(公安部)
- 圍術(shù)期下肢深靜脈血栓預(yù)防的術(shù)中護(hù)理
- 教學(xué)設(shè)計 分?jǐn)?shù)的再認(rèn)識 省賽一等獎
- DBJ51-T 151-2020 四川省海綿城市建設(shè)工程評價標(biāo)準(zhǔn)
- GB/T 12996-2012電動輪椅車
- 小象學(xué)院深度學(xué)習(xí)-第7講遞歸神經(jīng)網(wǎng)絡(luò)
評論
0/150
提交評論