共享電子白板系統設計與實現分析

時間:2022-10-31 10:17:44

導語:共享電子白板系統設計與實現分析一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

共享電子白板系統設計與實現分析

隨著人類社會的不斷發展,分工與合作變成了提高工作效率的關鍵點,協同辦公變成現在比較流行的一個話題,CSCW(計算機支持協同工作)變成了計算機研究的重要方向,共享白板是具有代表性的的協同辦公應用,其組成了一個可以大家工作操作的一個交流環境,實現了實時同步一個人的修改操作到這個協同環境的其他計算機上。電子白主要應用于協同工作系統,隨著信息網絡的高速發展,通過網絡等遠程通訊方式搭建出一個虛擬化的辦公或學習的區域,基于Internet的共享電子白板成為主流,但是網絡的不穩定性容易導致用戶體驗的流暢性得不到保證,而且分布式的白板系統,首先要需要在用戶數量上面支持多用戶,并且還要保證共享白板系統的操作和響應在一個可以接受的范圍??紤]到這些特點和因素,在實現共享電子白板系統上,更加注重解決保持數據的一致和用戶體驗這兩點。

1保持一致性

在白板系統通信的過程中,為了提升相互之間的響應速度,通常會把需要共享的數據信息(如:用戶輸入的文檔信息,一起畫的圖形信息)拷貝到共享用戶的物理計算機上,用戶之間通過消息的通信保證各個用戶之間信息的同步和一致性的目的,一個用戶的信息有變更后,發送消息給其他的用戶,其他用戶收到后,在本地執行相同的指令信息,從而達到完全同步也就是共享的目的。這時候如果網絡速度跟不上,或者出現延遲,電子白板系統沒有收到相應的信息或者延遲收到操作信息,就會影響到用戶的體驗,和共享白板工作的順利進行。這時候就要用到并發控制方法,目前比較有用的控制方法如:鎖定控制法、事務控制機制、輪流控制機制、集中控制機制等。(1)鎖定控制法這是一種保證數據一致性的常用的手段,鎖定控制法指在一個操作(如:修改某一個文檔或者某個圖形)即將開始之前先將其上鎖,這樣在一個用戶操作的時候,其他的用戶就不可以對這個鎖定的對象進行操作。用戶首先需要對需要修改的圖形對象進行選中操作,被選中后該區域會展示輪廓和變色信息,獲取到這個鎖的對象之后,才可以對其進行操作。這樣就可以限制住一個文件在同一時間只能有一個用戶在操作,不會有沖突,但是響應時間比較長效率比較低,而且鎖的粒度很難把握,如果設置的太小,無疑會家中系統的負擔,但是如果設置的過大,就會嚴重影響到用戶并行的需求。(2)事務控制機制是在分布式的需求中使用的最常見的一種方式,在軟件設計中應用的也非常廣泛,主要是指在進行一系列事務操作之前,先把之前存在的數據保存,如果事務操作過程中不同的用戶同時操作了一個數據,就把數據還原回去,就當作什么也沒發生過,當然這個機制顯然不適合咱們的共享電子白板系統,事務的響應和效率很低,而且其執行的時候是不被感知的,因此這個并不適合這個系統。(3)輪流控制機制。輪流控制機制顧名思義就是保證同一個時間只能有一個用戶進行操作,并不可以有并發的操作,所以如果用戶量比較大的情況下,是不適用的。(4)集中控制機制。建立一個集中控制管理的進程,用來做中心管理控制的功能,主要的作用相當于一個消息中心,接收來自各個用戶的操作信息,并以廣播的形式發送給共享白板的用戶,這樣可以保證操作的有序性,時效性和一致性,無論什么操作,首先需要把消息發送到管理中心,再由其進行分發。雖然可以保證系統的集中控制,但是這種集中控制有可能會成為系統的瓶頸。同時所有操作都由中心進程分發,會影響效率。雖然可能會受到網絡信息的影響,但是目前是相對來說比較好的選擇。(5)檢測依賴。對于每一個用戶的修改都給出時間戳,之后可以查看時間戳之間是否有沖突來判斷是否可以執行。這種方法使得沒有沖突的本地和異地的都可以執行,但是一但出現了沖突,就需要使用者進行修改。以上對并發的各種控制機制進行比較后,共享電子白板系統可以采用時間戳和集中控制相結合的方式。

2應用之間信息共享技術傳輸格式設計

系統之間通信主要通過收發消息實現共享,如果其中一個用戶修改了信息,系統會把這個信息以指定的格式封裝起來,通過網絡傳輸到其他與會用戶的計算機上,他們接收到數據之后,按照之前擬定好的協議把指定格式的數據進行解密,如果其他的用戶操作并修改了數據,也是同樣的方式進行相互之間的傳輸。由于共享白板服務器既需要把信息發送廣播到其他用戶,而且還需要接收用戶的操作請求,這些信息的數據長度和內容比較難統一,所以為了簡單方便,把各種數據和命令序列化為二進制的流,優點在于可以讓傳輸層的數據格式獨立于應用顯示層,使其適用的平臺更為廣泛,傳輸層不再需要關注傳輸的內容和格式,只要知道數據的長度就可以了,而其他的信息都交給應用層去設計。數據協議的類型主要分為四個類型:(1)圖形、文本的管理:新建或編輯的文本、圖形的繪制和修改(2)用戶信息的管理:用戶信息不同光標需要標注(3)同步信息的管理:協同不用用戶的不同需求(4)以鎖的方式控制并發操作:對不同的用戶標記為不同的鎖,來加以區分詳細使用方法如下:(1)文本數據協議:文本協議類型標識,如‘010’,需要傳輸的文本或信息,還有發送信息人的IP地址信息,這樣就可以讓接受信息的人知道文本的發送人,修改文本的格式信息,x,y坐標標識在屏幕的位置,因為TCP在傳輸的過程中有可能會重新組裝數據,所以TCP協議有可能會把所有的重組信息接收完成,才一起發送,所以信息接收者通過在信息流的結尾使用換行符(0x0D),調節文本的輸出格式。(2)圖形數據協議:協議標識和文本標識的不同之處在于字體和字符串信息更換成了線形填充信息。通信信息格式協議:用戶的退出和加入會實時同步到共享白板服務器上,同時把這些消息發送到其他用戶那里。主要由序列號如‘020’,加上用戶的地址信息和名稱信息和結尾符。(3)新的用戶進入到系統中時,共享服務器會向所有客戶發送新用戶的信息,并且需要加上標識信息‘020’,然后把其他的信息更新給新的用戶,就完成的數據的同步工作。在用戶退出共享白板系統的時候,會發送以‘021’的標識加上退出用戶的信息給其他用戶,他們本地就會完成刪除工作。

3用戶相互感知方面

在人們在現實中開會的時候,很容易通過聽覺、觸覺和視覺領會到彼此之間的肢體動作和實際的語言,更通過兩種語言的互補,就可以更加準確的理解其目的,與會人員則可以更加簡單的理解其他人的意圖、動作和位置,可以說這種協同的效率是很高的。而我們的共享白板系統則是為與會人員創建了一個虛擬的會議空間,雖然可以使大家可以實現遠程的協作,但是虛擬空間必然沒有現實空間中感受的那么明顯,這時候需要關注到白板上能夠展示出來的信息,通常來說,解決這個效率低下問題的方法有如下幾種:(1)光標信息的可變性:用戶進行的操作有很多種,如圖形、文本、刪除等操作,想要更直觀的展示出來不同的操作類型,可以以特定的標記去標識出來操作類型,比如在刪除操作時候,光標顯示出橡皮擦;在對圖形進行操作時候,光標顯示圖形樣式。(2)用戶不同,使用不同顏色去標記:不同的用戶,首先系統自動分配給不同的顏色,這時候需要注意角色不要過多,顏色之間應該做到有辨識度,這樣在每個用戶進行操作的結束之后,對其操作的結果進行標記。(3)多個光標顯示用戶名信息:用戶在本地計算機上進行的操作,光標不僅在本地,而且也會在共享白板上顯示,同時其他的用戶也會這么展示。(4)縮略圖顯示:首先我們可以展示兩個頁面,一個展示的是用戶的工作環境,用戶可以對工作環境的頁面進行操作,而另一個頁面展示的是當前的縮略圖,這個縮略圖也會在其他共享的屏幕上展示,這樣用戶可以做到統觀全局,可以加強用戶對于當前系統的情況進行充分的了解。在現實情境中,因為網絡問題有限制,只需要關注操作的結果,所以只需要記錄并展示用戶操作的結果信就可以,顏色標記法限制用戶的顏色種類,使其應用變得很不自然。如果所有的共享白板客戶都修改了這些數據,傳輸數據的時候就需要附加上IP地址信息(用戶在接收到這些信息之后,就可以通過IP地址查詢到發送人的詳細信息),而參加到共享白板的用戶,每個人都會有一個標識自己的光標,用來標識自己的有效性。如果有多個光標的情況,再用深度值去區分自己的和其他用戶的光標,深度值最高的永遠展示在最前面,當某一個用戶選擇了遠程的光標,這個光標就會出現在當前窗口的中間。

4總結

通過以上的討論可以確定系統的結構,對于在CSCW的應用的需求下,我們對于共享電子白板系統的設計首先需要有一個消息中心,負責管理會議的查詢、參加會議人員的信息和通信的顯示。而分布在各個地方的用戶可以通過網絡連接,系統把內部通信的詳細信息隱藏了,只展示給用戶簡單的頁面信息。對于在共享電子白板的設計與實現中,滿足了高并發且相互協作應用系統的需求,設計了以網絡進行通信的虛構空間,實現了基本的用戶操作實例,完成了應用之間通信的傳輸格式設計、多個用戶同時參與、協同共享的數據一致、用戶體驗流暢。

作者:姜世芬 單位:江門職業技術學院