两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng)及方法

文檔序號:7892313閱讀:230來源:國知局
專利名稱:一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種云計算技術(shù),尤其涉及一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng)及方法。
背景技術(shù)
在協(xié)同工作中,參加協(xié)作的所有計算機(jī)可能設(shè)有一個虛擬的公共視圖,視圖上的內(nèi)容既可以是手繪的簡單圖形,也可以是文字、圖像、音頻和視頻。當(dāng)一個用戶修改視圖中的數(shù)據(jù)時,其更新結(jié)果立即反映在其它參與用戶的視圖上,該虛擬的公共視圖稱之為電子白板,或稱之為網(wǎng)絡(luò)公共白板。由于這個特性,通過電子白板,既可以實現(xiàn)數(shù)據(jù)的共享,也可以實現(xiàn)各種互動。而網(wǎng)絡(luò)的建設(shè),為電子白板的使用提供了一個很好的平臺,可以通過它實現(xiàn)資源的共享和各種互動。
白板可以響應(yīng)用戶的繪圖操作,并在白板上實現(xiàn)顯示出來。計算機(jī)對電子白板的支持,更加方便了人們的生活,使人們可以隨時隨地參加電子白板會議。計算機(jī)網(wǎng)絡(luò)便能加入電子白板會議,會議的任何一個參與者對電子白板的操作都可以實時顯示在其它參與者的電子白板終端。在論文《基于網(wǎng)絡(luò)電子白板的圖形會話系統(tǒng)設(shè)計與實現(xiàn)》中公開了一種電子白板在教學(xué)中的應(yīng)用,基于電子白板的圖形會話系統(tǒng)包括服務(wù)器端(Server)和客戶端(Client)兩部分,首先對Server/ Client分別進(jìn)行初始化,創(chuàng)建套接字以及捆綁地址。然后Server通過監(jiān)聽端口等待連接請求,當(dāng)Client有連接信號到來時,它接收Client的地址并響應(yīng)連接。Client在收到確認(rèn)信號后,表示連接已成功,可以開始傳送數(shù)據(jù)。Client的輸入數(shù)據(jù)類型分為文本、圖形等對象。文本用于客戶之間進(jìn)行文字交談,圖形則包括直線、矩形、圓、橢圓和自由畫線等。每一種數(shù)據(jù)類型都被定義為相應(yīng)的類,并由另一個類包裝成數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸,接收到數(shù)據(jù)的一方,通過解壓數(shù)據(jù)包,將圖形還原。當(dāng)網(wǎng)絡(luò)出錯或請求退出時,釋放網(wǎng)絡(luò)資源。服務(wù)器端和客戶端之間主要是通過以下方式進(jìn)行交互的白板服務(wù)器運行時,按可建立的最大用戶建立相應(yīng)的服務(wù)器客戶端服務(wù)線程,建立完成后循環(huán)監(jiān)聽服務(wù)器端口,等待用戶端的接入。根據(jù)不同的用戶權(quán)限,用戶登陸到客戶端以后,由電子白板管理模塊完成用戶列表的刷新和其它客戶的數(shù)據(jù)同步;用戶在被賦予一定的權(quán)限后,可以在白板上進(jìn)行繪圖,在文本框中發(fā)出文本,或者發(fā)送其它命令到服務(wù)器。其中圖形數(shù)據(jù)由客戶端Applet線程通過管道傳送到客戶端的一個專門發(fā)送圖形數(shù)據(jù)的線程,由這個發(fā)送線程負(fù)責(zé)把這些圖形數(shù)據(jù)傳到相應(yīng)的服務(wù)器端的客戶服務(wù)線程,客戶端服務(wù)線程則再將其廣播到其它線程。除了圖形數(shù)據(jù)之外的命令,則由客戶端Applet線程直接送至服務(wù)器端的客戶服務(wù)器線程處理。當(dāng)用戶申請退出時,除了要處理退出的命令消息外,服務(wù)器的客戶服務(wù)線程還要關(guān)閉網(wǎng)絡(luò)連接,銷毀線程,釋放線程占用的資源。服務(wù)器端和客戶端的這種交互,保證服務(wù)器和客戶端之間處理數(shù)據(jù)的統(tǒng)一性和協(xié)調(diào)性。在2008年I月份出版的《計算機(jī)工程》中公開了一論文《一種改進(jìn)的協(xié)同式電子白板的設(shè)計與實現(xiàn)》,在該論文中公開了如何處理各用戶的并發(fā)操作。即由于電子白板是一種多用戶協(xié)作系統(tǒng),因此在任何一塊白板上,不同用戶發(fā)出的操作數(shù)據(jù)在其上的執(zhí)行必然會帶來互相沖突,針對各協(xié)作用戶的并發(fā)操作,如何設(shè)計一種合理的調(diào)度策略成為電子白板的協(xié)作功能能否實現(xiàn)的關(guān)鍵。傳統(tǒng)的CSCW并發(fā)控制方法有如下4種
(I)加鎖法。加鎖法是保證數(shù)據(jù)一致性的常用手段,它提供對共享資源的加鎖和解鎖,用于控制用戶的并發(fā)操作。但它用于CSCS系統(tǒng)存在一定缺陷。首先申請和釋放的開銷會影響用戶的快速反饋,并且系統(tǒng)難于確定何時申請和釋放鎖。(2)集中控制法。采用一個集中控制進(jìn)程,管理用戶對共享對象的操作。所有操作首先發(fā)送到集中控制進(jìn)程,再由它向其它用戶分發(fā)。但集中控制進(jìn)程會造成系統(tǒng)的瓶頸,而且操作必須經(jīng)過集中控制進(jìn)程的分發(fā)使響應(yīng)速度變慢。(3)可逆執(zhí)行操作。該操作立即執(zhí)行,但與操作有關(guān)的信息被保存起來。在全局時序的作用下,當(dāng)幾個操作沖突時,其中的一個或幾個操作被取消并預(yù)定次序重做一次,有很好的響應(yīng)性能,但全局時序難于實現(xiàn)。 (4)操作轉(zhuǎn)換。是依賴檢測的變形,即沖突自動消除而不需要手工干預(yù)。用戶操作立刻在本地執(zhí)行,而且把操作與狀態(tài)向量一起廣播給其它用戶。其他用戶收到后,把狀態(tài)向量與本地狀態(tài)向量比較,決定直接執(zhí)行(無沖突)或進(jìn)行轉(zhuǎn)換(有沖突)。由于上述方法各有其局限性,因此不能簡單地使用其中任何一種。在其它文獻(xiàn)中也介紹了其它的方法,比如采用集中控制和時間戳的方法。當(dāng)用戶進(jìn)行了操作后,首先不改變本地結(jié)果,而是把操作和時間戳打包發(fā)到控制中心模塊,控制中心維護(hù)一個緩沖區(qū),按時間戳排列接收的數(shù)據(jù),再周期性地廣播發(fā)生時間早的操作,讓所有用戶更新。使用這種方法,對數(shù)據(jù)的轉(zhuǎn)發(fā)控制簡潔,但是,服務(wù)器對每一個用戶都廣播數(shù)據(jù),包括發(fā)出原始數(shù)據(jù)的用戶,當(dāng)該用戶發(fā)送的數(shù)據(jù)量大,而網(wǎng)絡(luò)帶寬又不大時,大數(shù)據(jù)量的發(fā)送并接收來自服務(wù)器的轉(zhuǎn)發(fā)數(shù)據(jù)(本地的原始數(shù)據(jù)),這樣易加重系統(tǒng)負(fù)擔(dān),并造成數(shù)據(jù)阻塞,系統(tǒng)延時加大。在該論文中闡明可以將集中控制轉(zhuǎn)化為各客戶端分布式處理,從而改進(jìn)上述并發(fā)策略。在服務(wù)端,可以對客戶連接線程進(jìn)行調(diào)度,使來自用戶的數(shù)據(jù)不必再向其轉(zhuǎn)發(fā)。在客戶端也采用多線程技術(shù),指派一個線程接收和處理小數(shù)據(jù)量的文本信息,坐標(biāo)信息等,另指派一個線程接收和處理大數(shù)據(jù)量的圖像,它們和用戶的本地主線程同時工作。Delphi提供對繪圖區(qū)的鎖定功能,當(dāng)各線程訪問繪圖區(qū)時,為繪圖區(qū)加上鎖,則掛起其它線程對它的訪問,當(dāng)操作結(jié)果,為繪圖區(qū)解鎖,則喚醒其他線程的執(zhí)行,這樣保證任何時刻只有一個線程在繪圖區(qū)執(zhí)行操作,從而實現(xiàn)同步多線程。以上公開的基于客戶端的網(wǎng)絡(luò)白板系統(tǒng),但是上述網(wǎng)絡(luò)白板系統(tǒng)存在以下缺點 (I)基于客戶端的網(wǎng)絡(luò)白板系統(tǒng)是需要在各個終端安裝該電子白板的客戶端,才能使
用,非常不方便。另外,客戶端需要根據(jù)電子白板的更新而升級對應(yīng)的軟件,非常麻煩。(2)基于客戶端的網(wǎng)絡(luò)白板系統(tǒng)不能在各種平臺上使用,只能針對某個平臺開發(fā)某種網(wǎng)絡(luò)白板系統(tǒng),不具有跨平臺性,使得開發(fā)的網(wǎng)絡(luò)白板系統(tǒng)存在局限性。(3)基于客戶端的網(wǎng)絡(luò)白板系統(tǒng)需要客戶端和服務(wù)器通過網(wǎng)絡(luò)進(jìn)行彼此通信,針對各協(xié)作用戶的并發(fā)操作時,需要不同客戶端和服務(wù)器之間進(jìn)行通信,使得處理并發(fā)操作的處理時間與網(wǎng)絡(luò)性能有著直接關(guān)系,特別是需要多個數(shù)據(jù)包在不同客戶端與服務(wù)器端的轉(zhuǎn)發(fā),存在處理速度慢的技術(shù)問題。

發(fā)明內(nèi)容
本發(fā)明的第一目的在于提供一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),以解決現(xiàn)有技術(shù)中需要在各個終端安裝該電子白板的客戶端才能使用、不具有跨平臺性的技術(shù)問題。一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),包括各種終端、網(wǎng)絡(luò)公共白板平臺,所述終端通過瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺的通信,其中,所述網(wǎng)絡(luò)公共白板平臺進(jìn)一步包括傳輸單元、前臺UI單元和公共白板處理單元,其中, 傳輸單元用于建立終端的瀏覽器與網(wǎng)絡(luò)公共白板平臺之間的通信;
前臺UI單元,至少包括顯示子單元和交互子單元,所述顯示子單元用于將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示,所述交互子單元用于通過消息鉤子截獲終端瀏覽器上的輸入操作,并通過傳輸單元發(fā)送至公共白板處理單元;
公共白板處理單元用于接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶之間的請求,并協(xié)調(diào)各個用戶的并發(fā)處理,并將處理結(jié)果通過傳輸單元傳輸再通過前臺UI單元在對應(yīng)的終端瀏覽器上進(jìn)行顯示。一種基于云計算的網(wǎng)絡(luò)公共白板控制方法,包括
所述用戶預(yù)先在網(wǎng)絡(luò)公共白板平臺上進(jìn)行注冊;
當(dāng)該用戶預(yù)對網(wǎng)絡(luò)公共白板進(jìn)行操作時,通過瀏覽器訪問該網(wǎng)絡(luò)公共白板平臺;
所述網(wǎng)絡(luò)公共白板平臺先認(rèn)證,認(rèn)證通過后再通過消息鉤子截獲終端瀏覽器上的輸入操作,并傳輸至網(wǎng)絡(luò)公共白板平臺;
網(wǎng)絡(luò)公共白板平臺接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶之間的請求,并協(xié)調(diào)各個用戶的并發(fā)處理,并將處理結(jié)果傳輸,再將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點
(I)本發(fā)明基于云計算實現(xiàn),可以使用瀏覽器來操作網(wǎng)絡(luò)公共白板,無需安裝客戶端,無需升級,方便快捷;同時,本系統(tǒng)在云端進(jìn)行協(xié)同編輯控制和圖文排版,降低對客戶端計算能力的要求;同時,其跨平臺處理能力強(qiáng)大,能支持各種主流操作系統(tǒng)平臺和移動終端平臺;同時,其強(qiáng)大的數(shù)據(jù)抓取和數(shù)據(jù)轉(zhuǎn)換能力,能便捷的將各種類型的數(shù)據(jù)導(dǎo)入到共公白板,并將公共白板數(shù)據(jù)導(dǎo)出為符合國際標(biāo)準(zhǔn)的數(shù)據(jù)格式,使得本系統(tǒng)能和其它數(shù)據(jù)系統(tǒng)進(jìn)行無縫結(jié)合。(2)現(xiàn)有技術(shù)中,基于客戶端的網(wǎng)絡(luò)白板系統(tǒng)需要客戶端和服務(wù)器通過網(wǎng)絡(luò)進(jìn)行彼此通信,針對各協(xié)作用戶的并發(fā)操作時,需要不同客戶端和服務(wù)器之間進(jìn)行通信,使得處理并發(fā)操作的處理時間與網(wǎng)絡(luò)性能有著直接關(guān)系,特別是需要多個數(shù)據(jù)包在不同客戶端與服務(wù)器端的轉(zhuǎn)發(fā),存在處理速度慢的技術(shù)問題。而本發(fā)明中,基于瀏覽器的網(wǎng)絡(luò)白板系統(tǒng),用戶直接通過瀏覽器登錄至平臺上,平臺再進(jìn)行處理并發(fā)操作時,只需要平臺上協(xié)調(diào)即可,處理并發(fā)操作的速度快,不存在延時性。


圖I為一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng)的原理 圖2為一種基于云計算的網(wǎng)絡(luò)公共白板平臺的原理 圖3為一種基于云計算的網(wǎng)絡(luò)公共白板處理的流程 圖4A-圖4E分別為更新操作的基于鎖的協(xié)同編輯狀態(tài)示意圖;圖5A-圖5C分別為刪除操作的協(xié)同編輯狀態(tài)示意 圖6A-圖6D分別為更新操作的基于鎖的協(xié)同編輯狀態(tài)示意圖。
具體實施例方式以下結(jié)合附圖,具體說明本發(fā)明。請參閱圖I和圖2,一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),包括各種終端I、網(wǎng)絡(luò)公共白板平臺2,終端I通過瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺2的通信,其中,網(wǎng)絡(luò)公共白板平臺2進(jìn)一步包括傳輸單元21、前臺UI單元22和公共白板處理單元23,其中,
傳輸單元21 :用于建立終端I的瀏覽器與網(wǎng)絡(luò)公共白板平臺2之間的通信。傳輸單元21進(jìn)一步包括數(shù)據(jù)加/解密子單元211和傳輸子單元212。數(shù)據(jù)加/解密子單元211用于在數(shù)據(jù)傳輸過程中的加/解密操作,即作為發(fā)送端則將欲發(fā)送數(shù)據(jù)進(jìn)行加密操作,作為接收端則將接收到的數(shù)據(jù)進(jìn)行解密操作。傳輸子單元212主要是保存登錄至該平臺的終端的 地址信息,即比如用戶I是通過終端A登錄的,用戶2是通過終端B登錄的,則傳輸子單元212需要分別記錄終端A、終端B的地址信息,并記錄用戶I與終端A的映射關(guān)系,用戶2與終端B的映射關(guān)系,以便將數(shù)據(jù)發(fā)送至對應(yīng)的終端。前臺UI單元22,至少包括顯示子單元221和交互子單元222,所述顯示子單元221用于將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示,所述交互子單元222用于通過消息鉤子截獲終端瀏覽器上的輸入操作,并通過傳輸單元21發(fā)送至公共白板處理單元23 ;
公共白板處理單元23 :用于接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶之間的請求,并協(xié)調(diào)各個用戶的并發(fā)處理,并將處理結(jié)果通過傳輸單元傳輸再通過前臺UI單元在對應(yīng)的終端瀏覽器上進(jìn)行顯示。所述公共白板處理單元23進(jìn)一步包括
云協(xié)同編輯引擎231 :用于處理不同用戶的請求,計算出不同用戶各自需要進(jìn)行的操作。云圖文混排引擎232 :用于按照接收到的請求需要進(jìn)行對應(yīng)的排版操作。當(dāng)公共白板處理單元主要是進(jìn)行傳輸、顯示、編輯文字、圖形、表格、音視頻等類型數(shù)據(jù)時,云協(xié)同編輯引擎231可以接收不同用戶的請求,并處理該用戶的請求,當(dāng)該些用戶出現(xiàn)并行處理沖突時,按照預(yù)設(shè)的處理沖突機(jī)制進(jìn)行處理,如果是文字、圖形、表格等的編輯,通過云圖文混排引擎232進(jìn)行排版處理。如何進(jìn)行圖文混排是現(xiàn)有技術(shù),在此就再詳細(xì)說明。數(shù)據(jù)抓取處理子單元233 :用于接收終端從網(wǎng)絡(luò)上將各種數(shù)據(jù)抓取,并將該些數(shù)據(jù)加入所述網(wǎng)絡(luò)公共白板中。數(shù)據(jù)抓取處理子單元233可以支持用戶非常便捷的從網(wǎng)絡(luò)上將各種數(shù)據(jù)加入到網(wǎng)絡(luò)共公白板中,如可以將其它網(wǎng)頁的圖文拖拽到網(wǎng)絡(luò)公共白板中,可以支持將office和pdf格式的文檔添加到網(wǎng)絡(luò)公共白板中。云存儲處理子單元234:用于接收用戶的存儲請求,以用戶為單元進(jìn)行存儲對應(yīng)的網(wǎng)絡(luò)公共白板數(shù)據(jù)信息。云數(shù)據(jù)導(dǎo)出子單元235 :用于接收終端的請求,提供下載至用戶對應(yīng)終端的服務(wù)。用戶管理子單元236 :用于接收并保存用戶信息,在終端進(jìn)行網(wǎng)絡(luò)公共白板操作時,預(yù)先對該終端對應(yīng)的用戶進(jìn)行認(rèn)證,認(rèn)證通過可進(jìn)行網(wǎng)絡(luò)公共白板操作。
云打印管理子單元237 :支持用戶在平臺端生成可打印的pdf文件,并傳回客戶端。簡單說,本發(fā)明提出一種基于云計算實現(xiàn)的網(wǎng)絡(luò)公共白板系統(tǒng),可以在瀏覽器中訪問公共白板系統(tǒng),支持windows、mac、ios、android等各種平臺。本系統(tǒng)分為三部分前臺展示模塊、傳輸模塊、后臺公共白板模塊。其中前臺展示模塊,負(fù)責(zé)與用戶交互,接受用戶輸入,并將服務(wù)器返回的數(shù)據(jù)進(jìn)行處理;其中傳輸模塊負(fù)責(zé)前、后之間的數(shù)據(jù)傳輸;其中后臺公共白板模塊負(fù)責(zé)處理前臺傳遞的數(shù)據(jù),并進(jìn)行協(xié)同管理。請參閱圖3,一種基于云計算的網(wǎng)絡(luò)公共白板控制方法,包括
S110:所述用戶預(yù)先在網(wǎng)絡(luò)公共白板平臺上進(jìn)行注冊;
S120:當(dāng)該用戶預(yù)對網(wǎng)絡(luò)公共白板進(jìn)行操作時,通過瀏覽器訪問該網(wǎng)絡(luò)公共白板平
臺;
S130:所述網(wǎng)絡(luò)公共白板平臺先認(rèn)證,認(rèn)證通過后再通過消息鉤子截獲終端瀏覽器上的輸入操作,并傳輸至網(wǎng)絡(luò)公共白板平臺;
S140:網(wǎng)絡(luò)公共白板平臺接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶之間的請求,并協(xié)調(diào)各個用戶的并發(fā)處理,并將處理結(jié)果傳輸,再將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯不O公共白板中多個用戶操作同一個對象時,會產(chǎn)生沖突,為解決此沖突,申請人提出了兩種協(xié)同編輯的方法基于操作轉(zhuǎn)換的協(xié)同編輯、基于鎖的協(xié)同編輯。(一)、基于操作轉(zhuǎn)換的 協(xié)同編輯。大致思路每個對象都記錄自己的歷史版本,每次操作都會升級對象的版本。用戶的每個操作都是針對某個對象的某個版本進(jìn)行的;當(dāng)多個用戶同時操作一個對象的某個版本V時,第一個操作執(zhí)行后對象的版本會升級到W。后續(xù)的操作由于針對的是版本V,已經(jīng)不能直接執(zhí)行,需要將后續(xù)操作轉(zhuǎn)換成針對最新版本W(wǎng)的操作。S卩,協(xié)調(diào)各個用戶的并發(fā)處理進(jìn)一步包括
將用戶預(yù)操作的每一對象設(shè)置一對象歷史版本列表,每一次操作該對象就在該對象歷史版本列表中升級該對象版本;
當(dāng)多用戶同時操作一個對象的某個版本時,在該對象的操作隊列中進(jìn)行操作,排列的操作依次執(zhí)行;
第一個操作執(zhí)行后在對象歷史版本列表中升級該對象版本,并將執(zhí)行后的結(jié)果返回給各個用戶對應(yīng)終端進(jìn)行顯示;
該對象的操作隊列的第二用戶針對老版本的對象就不能直接執(zhí)行,需要將后續(xù)操作轉(zhuǎn)換成針對升級后的該對象版本才能進(jìn)行操作,
直到該對象的操作隊列中所有的操作完成。對象的操作分為新建、更新(如平移、旋轉(zhuǎn)、插入字符等等)、刪除三種。對于新建不存在沖突問題,不需要處理,更新和刪除通常會碰到多個用戶的操作沖突的情況,下面以更新和刪除講解一下具體原理
(I)更新操作的協(xié)同編輯
A)圖4A中下半部分是模擬的兩個用戶A和B,他們的版本上對象O的版本號都是100。上半部分是模擬的服務(wù)器端,包括“對象O的操作隊列”和“服務(wù)器上對象O的最新版本”,版本號為100。A用戶和B用戶幾乎同時發(fā)起對對象O的操作Pl和P2,請注意所有操作都與對象和版本號相關(guān),例如圖4A的“0,Pl, 100”的含義是對對象O的100號版本執(zhí)行Pl操作;圖4A “0,P2, 100”的含義是對對象O的100號版本執(zhí)行P2操作。B)兩個操作發(fā)送到服務(wù)器之后,在對象O的操作隊列中進(jìn)行排隊,排隊的操作依次序執(zhí)行。首先執(zhí)行A發(fā)起的操作“0,P1,100”(請參閱圖4B)。C)操作“0,P1,100”在服務(wù)器上執(zhí)行,將服務(wù)器上的對象O從100版本更新到101版本。更新后的101版本會立即發(fā)送到A用戶和B用戶(請參閱圖4C)。D)當(dāng)對象O的操作隊列的第一個操作執(zhí)行完之后,開始執(zhí)行第二個操作“0,P2, 100”。由于第二個操作是針對對象O的100號版本的,所以不能執(zhí)行,需要進(jìn)行操作轉(zhuǎn)換,將“0,P2, 100”轉(zhuǎn)換成針對對象O的101號版本的操作“0,P3, 101”。然后在對象O的·最新版本上執(zhí)行操作“0,P3, 101” (請參閱圖4D)。E)在對象O的101版本上執(zhí)行操作“0,P3, 101”之后,服務(wù)器上的對象O從101版本升級到102版本。隨后立即上服務(wù)器上的O對象的最新版本發(fā)送到A用戶和B用戶中(請參閱圖4E)。(2)刪除操作的協(xié)同編輯
A)刪除操作的協(xié)同編輯與更新操作類似,但比更新操作簡單,主要流程如下
圖5A中下半部分是模擬的兩個用戶A和B,他們的版本上對象O的版本號都是100。上半部分是模擬的服務(wù)器端,包括“對象O的操作隊列”和“服務(wù)器上對象O的最新版本”,版本號為100。A用戶和B用戶幾乎同時發(fā)起對對象O的操作Pl和P2,其中Pl是刪除操作,P2是更新或者刪除操作。請注意所有操作都與對象和版本號相關(guān),例如下圖的“0,P1,100”的含義是對對象O的100號版本執(zhí)行操作Pl ;下圖“0,P2, 100”的含義是對對象O的100號版本執(zhí)行操作P2。B)兩個操作發(fā)送到服務(wù)器之后,在對象O的操作隊列中進(jìn)行排隊,排隊的操作依次序執(zhí)行。首先執(zhí)行A發(fā)起的刪除操作“0,P1,100”(請參閱圖5B)。C)服務(wù)器上執(zhí)行對對象O的刪除操作之后,會立即同步到A用戶和B用戶,將其對象O刪除;并且服務(wù)器上對象O的操作隊列中所有的后續(xù)操作都將失效,無需執(zhí)行(請參閱圖 5C)。(二 )、基于鎖的協(xié)同編輯。大致思路每個對象都記錄自己的歷史版本,每次操作都會升級對象的版本。用戶的每個操作都是針對某個對象的某個版本進(jìn)行的;當(dāng)多個用戶同時操作一個對象時,都需要向服務(wù)器發(fā)起加鎖對象的請求,同一時刻只有一個用戶獲得該對象的鎖,只有獲得鎖的用戶才能操作該對象。S卩,協(xié)調(diào)各個用戶的并發(fā)處理進(jìn)一步包括
將用戶預(yù)操作的每一對象設(shè)置一對象歷史版本列表,每一次操作該對象就在該對象歷史版本列表中升級該對象版本;
當(dāng)多用戶同時操作一個對象的某個版本時,向服務(wù)器發(fā)出對該對象進(jìn)行加鎖處理,月艮務(wù)器按照某種機(jī)制對某一用戶給予該對象的進(jìn)行加鎖,接收該用戶對該對象的操作;操作執(zhí)行后在對象歷史版本列表中升級該對象版本,并將執(zhí)行后的結(jié)果返回給各個用戶對應(yīng)終端進(jìn)行顯示;
釋放該對象的鎖,服務(wù)器接收加鎖請求。對象的操作分為新建、更新(如平移、旋轉(zhuǎn)、插入字符等等)、刪除三種。對于新建不存在沖突問題,不需要處理,更新和刪除通常會碰到多個用戶的操作沖突的情況,下面以更新和刪除講解一下具體原理
I、更新操作的協(xié)同編輯
a)圖6A下半部分是模擬的兩個用戶A和B,他們的版本上對象O的版本號都是100。上半部分是模擬的服務(wù)器端,包括“對象O的加鎖管理器”和“服務(wù)器上對象O的最新版本”,版本號為100。
A用戶和B用戶幾乎同時發(fā)起對對象O的加鎖請求LRl和LR2。請注意所有操作都與對象和版本號相關(guān),例如圖6A的“0,LR1”的含義是對對象O執(zhí)行加鎖操作LRl ;圖6A “0,LR2”的含義是對對象O執(zhí)行加鎖操作LR2。b)服務(wù)器端的對象O的加鎖管理器發(fā)現(xiàn)A用戶先發(fā)起申請,于是將對象O的鎖給予A用戶,意味著只有A用戶能操作O對象,B無法操作O對象。此時,A用戶發(fā)起操作“0,Pl, 100”,含義是針對對象O的100號版本執(zhí)行操作Pl (請參閱圖6B)。c)服務(wù)器上對對象O的100號版本執(zhí)行操作Pl之后,版本升級到101號,同時立即同步到A用戶和B用戶,將其對象O的版本升級到101版本(請參閱圖6C)。d) A用戶最后需要將對象O的鎖進(jìn)行釋放。A發(fā)起操作“0,RL”,服務(wù)器執(zhí)行此操作之后,對象O處于未加鎖狀態(tài),可以再次接受各個用戶的加鎖請求(請參閱圖6D)。2、刪除操作的協(xié)同編輯
刪除操作的協(xié)同比那幾同更新操作的協(xié)同編輯。所述終端通過瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺的通信時,在發(fā)送端進(jìn)行加密處理,在接收端進(jìn)行解密處理。該方法還包括
接收終端從網(wǎng)絡(luò)上將各種數(shù)據(jù)抓取,并將該些數(shù)據(jù)加入所述白板中;
接收用戶的存儲請求,以用戶為單元進(jìn)行存儲對應(yīng)的網(wǎng)絡(luò)公共白板數(shù)據(jù)信息;
接收終端的請求,提供下載至用戶對應(yīng)終端的服務(wù)。本發(fā)明優(yōu)選實施例只是用于幫助闡述本發(fā)明。優(yōu)選實施例并沒有詳盡敘述所有的細(xì)節(jié),也不限制該發(fā)明僅為所述的具體實施方式
。顯然,根據(jù)本說明書的內(nèi)容,可作很多的修改和變化。本說明書選取并具體描述這些實施例,是為了更好地解釋本發(fā)明的原理和實際應(yīng)用,從而使所屬技術(shù)領(lǐng)域技術(shù)人員能很好地利用本發(fā)明。本發(fā)明僅受權(quán)利要求書及其全部范圍和等效物的限制。
權(quán)利要求
1.一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,包括各種終端、網(wǎng)絡(luò)公共白板平臺,所述終端通過瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺的通信,其中,所述網(wǎng)絡(luò)公共白板平臺進(jìn)一步包括傳輸單元、前臺UI單元和公共白板處理單元,其中, 傳輸單元用于建立終端的瀏覽器與網(wǎng)絡(luò)公共白板平臺之間的通信; 前臺UI單元,至少包括顯示子單元和交互子單元,所述顯示子單元用于將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示,所述交互子單元用于通過消息鉤子截獲終端瀏覽器上的輸入操作,并通過傳輸單元發(fā)送至公共白板處理單元; 公共白板處理單元用于接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶之間的請求,并協(xié)調(diào)各個用戶的并發(fā)處理,并將處理結(jié)果通過傳輸單元傳輸再通過前臺UI單元在對應(yīng)的終端瀏覽器上進(jìn)行顯示。
2.如權(quán)利要求I所述的基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,所述公共白板處理單元進(jìn)一步包括 云協(xié)同編輯引擎用于處理不同用戶的請求,計算出不同用戶各自需要進(jìn)行的操作; 云圖文混排引擎用于按照接收到的請求需要進(jìn)行對應(yīng)的排版操作。
3.如權(quán)利要求2所述的基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,所述公共白板處理單元還包括 數(shù)據(jù)抓取處理子單元用于接收終端從網(wǎng)絡(luò)上將各種數(shù)據(jù)抓取,并將該些數(shù)據(jù)加入所述白板中。
4.如權(quán)利要求2所述的基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,所述公共白板處理單元還包括 云存儲處理子單元用于接收用戶的存儲請求,以用戶為單元進(jìn)行存儲對應(yīng)的網(wǎng)絡(luò)公共白板數(shù)據(jù)信息 云數(shù)據(jù)導(dǎo)出子單元用于接收終端的請求,提供下載至用戶對應(yīng)終端的服務(wù)。
5.如權(quán)利要求2所述的基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,所述公共白板處理單元還包括 用戶管理子單元用于接收并保存用戶信息,在終端進(jìn)行網(wǎng)絡(luò)公共白板操作時,預(yù)先對該終端對應(yīng)的用戶進(jìn)行認(rèn)證,認(rèn)證通過可進(jìn)行網(wǎng)絡(luò)公共白板操作。
6.一種基于云計算的網(wǎng)絡(luò)公共白板控制方法,其特征在于,包括 所述用戶預(yù)先在網(wǎng)絡(luò)公共白板平臺上進(jìn)行注冊; 當(dāng)該用戶預(yù)對網(wǎng)絡(luò)公共白板進(jìn)行操作時,通過瀏覽器訪問該網(wǎng)絡(luò)公共白板平臺; 所述網(wǎng)絡(luò)公共白板平臺先認(rèn)證,認(rèn)證通過后再通過消息鉤子截獲終端瀏覽器上的輸入操作,并傳輸至網(wǎng)絡(luò)公共白板平臺; 網(wǎng)絡(luò)公共白板平臺接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶之間的請求,并協(xié)調(diào)各個用戶的并發(fā)處理,并將處理結(jié)果傳輸,再將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示。
7.如權(quán)利要求6所述的方法,其特征在于,協(xié)調(diào)各個用戶的并發(fā)處理進(jìn)一步包括 將用戶預(yù)操作的每一對象設(shè)置一對象歷史版本列表,每一次操作該對象就在該對象歷史版本列表中升級該對象版本; 當(dāng)多用戶同時操作一個對象的某個版本時,在該對象的操作隊列中進(jìn)行操作,排列的操作依次執(zhí)行;第一個操作執(zhí)行后在對象歷史版本列表中升級該對象版本,并將執(zhí)行后的結(jié)果返回給各個用戶對應(yīng)終端進(jìn)行顯示; 該對象的操作隊列的第二用戶針對老版本的對象就不能直接執(zhí)行,需要將后續(xù)操作轉(zhuǎn)換成針對升級后的該對象版本才能進(jìn)行操作, 直到該對象的操作隊列中所有的操作完成。
8.如權(quán)利要求6所述的方法,其特征在于,協(xié)調(diào)各個用戶的并發(fā)處理進(jìn)一步包括 將用戶預(yù)操作的每一對象設(shè)置一對象歷史版本列表,每一次操作該對象就在該對象歷史版本列表中升級該對象版本; 當(dāng)多用戶同時操作一個對象的某個版本時,向服務(wù)器發(fā)出對該對象進(jìn)行加鎖處理,月艮務(wù)器按照某種機(jī)制對某一用戶給予該對象的進(jìn)行加鎖,接收該用戶對該對象的操作; 操作執(zhí)行后在對象歷史版本列表中升級該對象版本,并將執(zhí)行后的結(jié)果返回給各個用戶對應(yīng)終端進(jìn)行顯示; 釋放該對象的鎖,服務(wù)器接收加鎖請求。
9.如權(quán)利要求6所述的方法,其特征在于,還包括所述終端通過瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺的通信時,在發(fā)送端進(jìn)行加密處理,在接收端進(jìn)行解密處理。
10.如權(quán)利要求6所述的方法,其特征在于,還包括 接收終端從網(wǎng)絡(luò)上將各種數(shù)據(jù)抓取,并將該些數(shù)據(jù)加入所述白板中; 接收用戶的存儲請求,以用戶為單元進(jìn)行存儲對應(yīng)的網(wǎng)絡(luò)公共白板數(shù)據(jù)信息; 接收終端的請求,提供下載至用戶對應(yīng)終端的服務(wù)。
全文摘要
一種基于云計算的網(wǎng)絡(luò)公共白板系統(tǒng),包括各種終端、網(wǎng)絡(luò)公共白板平臺,所述終端通過瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺的通信,其中,網(wǎng)絡(luò)公共白板平臺進(jìn)一步包括傳輸單元、前臺UI單元和公共白板處理單元,其中,前臺UI單元,至少包括顯示子單元和交互子單元,顯示子單元用于將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示,交互子單元用于通過消息鉤子截獲終端瀏覽器上的輸入操作,并通過傳輸單元發(fā)送公共白板處理單元;公共白板處理單元用于接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶之間的請求,并協(xié)調(diào)各個用戶的并發(fā)處理,并將處理結(jié)果通過傳輸單元傳輸再通過前臺UI單元在對應(yīng)的終端瀏覽器上進(jìn)行顯示。
文檔編號H04L29/06GK102916998SQ201210082038
公開日2013年2月6日 申請日期2012年3月26日 優(yōu)先權(quán)日2012年3月26日
發(fā)明者劉敏, 姜建軍, 馬世雄, 朱鴻斌 申請人:上海方正數(shù)字出版技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
玉溪市| 黄平县| 南昌县| 洪湖市| 永德县| 河曲县| 靖远县| 磐安县| 绥滨县| 东安县| 马山县| 南木林县| 高密市| 新津县| 永川市| 伊宁市| 新津县| 镇赉县| 海安县| 即墨市| 明水县| 贞丰县| 三门峡市| 双桥区| 惠来县| 呈贡县| 错那县| 榆中县| 新民市| 肃宁县| 屏东县| 汝城县| 嘉鱼县| 赤壁市| 高尔夫| 城固县| 冀州市| 营口市| 开江县| 依兰县| 卢湾区|