專(zhuān)利名稱(chēng):一種基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種云計(jì)算技術(shù),尤其涉及一種基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng)及方法。
背景技術(shù):
在協(xié)同工作中,參加協(xié)作的所有計(jì)算機(jī)可能設(shè)有一個(gè)虛擬的公共視圖,視圖上的內(nèi)容既可以是手繪的簡(jiǎn)單圖形,也可以是文字、圖像、音頻和視頻。當(dāng)一個(gè)用戶(hù)修改視圖中的數(shù)據(jù)時(shí),其更新結(jié)果立即反映在其它參與用戶(hù)的視圖上,該虛擬的公共視圖稱(chēng)之為電子白板,或稱(chēng)之為網(wǎng)絡(luò)公共白板。由于這個(gè)特性,通過(guò)電子白板,既可以實(shí)現(xiàn)數(shù)據(jù)的共享,也可以實(shí)現(xiàn)各種互動(dòng)。而網(wǎng)絡(luò)的建設(shè),為電子白板的使用提供了一個(gè)很好的平臺(tái),可以通過(guò)它實(shí)現(xiàn)資源的共享和各種互動(dòng)。
白板可以響應(yīng)用戶(hù)的繪圖操作,并在白板上實(shí)現(xiàn)顯示出來(lái)。計(jì)算機(jī)對(duì)電子白板的支持,更加方便了人們的生活,使人們可以隨時(shí)隨地參加電子白板會(huì)議。計(jì)算機(jī)網(wǎng)絡(luò)便能加入電子白板會(huì)議,會(huì)議的任何一個(gè)參與者對(duì)電子白板的操作都可以實(shí)時(shí)顯示在其它參與者的電子白板終端。在論文《基于網(wǎng)絡(luò)電子白板的圖形會(huì)話(huà)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》中公開(kāi)了一種電子白板在教學(xué)中的應(yīng)用,基于電子白板的圖形會(huì)話(huà)系統(tǒng)包括服務(wù)器端(Server)和客戶(hù)端(Client)兩部分,首先對(duì)Server/ Client分別進(jìn)行初始化,創(chuàng)建套接字以及捆綁地址。然后Server通過(guò)監(jiān)聽(tīng)端口等待連接請(qǐng)求,當(dāng)Client有連接信號(hào)到來(lái)時(shí),它接收Client的地址并響應(yīng)連接。Client在收到確認(rèn)信號(hào)后,表示連接已成功,可以開(kāi)始傳送數(shù)據(jù)。Client的輸入數(shù)據(jù)類(lèi)型分為文本、圖形等對(duì)象。文本用于客戶(hù)之間進(jìn)行文字交談,圖形則包括直線(xiàn)、矩形、圓、橢圓和自由畫(huà)線(xiàn)等。每一種數(shù)據(jù)類(lèi)型都被定義為相應(yīng)的類(lèi),并由另一個(gè)類(lèi)包裝成數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸,接收到數(shù)據(jù)的一方,通過(guò)解壓數(shù)據(jù)包,將圖形還原。當(dāng)網(wǎng)絡(luò)出錯(cuò)或請(qǐng)求退出時(shí),釋放網(wǎng)絡(luò)資源。服務(wù)器端和客戶(hù)端之間主要是通過(guò)以下方式進(jìn)行交互的白板服務(wù)器運(yùn)行時(shí),按可建立的最大用戶(hù)建立相應(yīng)的服務(wù)器客戶(hù)端服務(wù)線(xiàn)程,建立完成后循環(huán)監(jiān)聽(tīng)服務(wù)器端口,等待用戶(hù)端的接入。根據(jù)不同的用戶(hù)權(quán)限,用戶(hù)登陸到客戶(hù)端以后,由電子白板管理模塊完成用戶(hù)列表的刷新和其它客戶(hù)的數(shù)據(jù)同步;用戶(hù)在被賦予一定的權(quán)限后,可以在白板上進(jìn)行繪圖,在文本框中發(fā)出文本,或者發(fā)送其它命令到服務(wù)器。其中圖形數(shù)據(jù)由客戶(hù)端Applet線(xiàn)程通過(guò)管道傳送到客戶(hù)端的一個(gè)專(zhuān)門(mén)發(fā)送圖形數(shù)據(jù)的線(xiàn)程,由這個(gè)發(fā)送線(xiàn)程負(fù)責(zé)把這些圖形數(shù)據(jù)傳到相應(yīng)的服務(wù)器端的客戶(hù)服務(wù)線(xiàn)程,客戶(hù)端服務(wù)線(xiàn)程則再將其廣播到其它線(xiàn)程。除了圖形數(shù)據(jù)之外的命令,則由客戶(hù)端Applet線(xiàn)程直接送至服務(wù)器端的客戶(hù)服務(wù)器線(xiàn)程處理。當(dāng)用戶(hù)申請(qǐng)退出時(shí),除了要處理退出的命令消息外,服務(wù)器的客戶(hù)服務(wù)線(xiàn)程還要關(guān)閉網(wǎng)絡(luò)連接,銷(xiāo)毀線(xiàn)程,釋放線(xiàn)程占用的資源。服務(wù)器端和客戶(hù)端的這種交互,保證服務(wù)器和客戶(hù)端之間處理數(shù)據(jù)的統(tǒng)一性和協(xié)調(diào)性。在2008年I月份出版的《計(jì)算機(jī)工程》中公開(kāi)了一論文《一種改進(jìn)的協(xié)同式電子白板的設(shè)計(jì)與實(shí)現(xiàn)》,在該論文中公開(kāi)了如何處理各用戶(hù)的并發(fā)操作。即由于電子白板是一種多用戶(hù)協(xié)作系統(tǒng),因此在任何一塊白板上,不同用戶(hù)發(fā)出的操作數(shù)據(jù)在其上的執(zhí)行必然會(huì)帶來(lái)互相沖突,針對(duì)各協(xié)作用戶(hù)的并發(fā)操作,如何設(shè)計(jì)一種合理的調(diào)度策略成為電子白板的協(xié)作功能能否實(shí)現(xiàn)的關(guān)鍵。傳統(tǒng)的CSCW并發(fā)控制方法有如下4種
(I)加鎖法。加鎖法是保證數(shù)據(jù)一致性的常用手段,它提供對(duì)共享資源的加鎖和解鎖,用于控制用戶(hù)的并發(fā)操作。但它用于CSCS系統(tǒng)存在一定缺陷。首先申請(qǐng)和釋放的開(kāi)銷(xiāo)會(huì)影響用戶(hù)的快速反饋,并且系統(tǒng)難于確定何時(shí)申請(qǐng)和釋放鎖。(2)集中控制法。采用一個(gè)集中控制進(jìn)程,管理用戶(hù)對(duì)共享對(duì)象的操作。所有操作首先發(fā)送到集中控制進(jìn)程,再由它向其它用戶(hù)分發(fā)。但集中控制進(jìn)程會(huì)造成系統(tǒng)的瓶頸,而且操作必須經(jīng)過(guò)集中控制進(jìn)程的分發(fā)使響應(yīng)速度變慢。(3)可逆執(zhí)行操作。該操作立即執(zhí)行,但與操作有關(guān)的信息被保存起來(lái)。在全局時(shí)序的作用下,當(dāng)幾個(gè)操作沖突時(shí),其中的一個(gè)或幾個(gè)操作被取消并預(yù)定次序重做一次,有很好的響應(yīng)性能,但全局時(shí)序難于實(shí)現(xiàn)。 (4)操作轉(zhuǎn)換。是依賴(lài)檢測(cè)的變形,即沖突自動(dòng)消除而不需要手工干預(yù)。用戶(hù)操作立刻在本地執(zhí)行,而且把操作與狀態(tài)向量一起廣播給其它用戶(hù)。其他用戶(hù)收到后,把狀態(tài)向量與本地狀態(tài)向量比較,決定直接執(zhí)行(無(wú)沖突)或進(jìn)行轉(zhuǎn)換(有沖突)。由于上述方法各有其局限性,因此不能簡(jiǎn)單地使用其中任何一種。在其它文獻(xiàn)中也介紹了其它的方法,比如采用集中控制和時(shí)間戳的方法。當(dāng)用戶(hù)進(jìn)行了操作后,首先不改變本地結(jié)果,而是把操作和時(shí)間戳打包發(fā)到控制中心模塊,控制中心維護(hù)一個(gè)緩沖區(qū),按時(shí)間戳排列接收的數(shù)據(jù),再周期性地廣播發(fā)生時(shí)間早的操作,讓所有用戶(hù)更新。使用這種方法,對(duì)數(shù)據(jù)的轉(zhuǎn)發(fā)控制簡(jiǎn)潔,但是,服務(wù)器對(duì)每一個(gè)用戶(hù)都廣播數(shù)據(jù),包括發(fā)出原始數(shù)據(jù)的用戶(hù),當(dāng)該用戶(hù)發(fā)送的數(shù)據(jù)量大,而網(wǎng)絡(luò)帶寬又不大時(shí),大數(shù)據(jù)量的發(fā)送并接收來(lái)自服務(wù)器的轉(zhuǎn)發(fā)數(shù)據(jù)(本地的原始數(shù)據(jù)),這樣易加重系統(tǒng)負(fù)擔(dān),并造成數(shù)據(jù)阻塞,系統(tǒng)延時(shí)加大。在該論文中闡明可以將集中控制轉(zhuǎn)化為各客戶(hù)端分布式處理,從而改進(jìn)上述并發(fā)策略。在服務(wù)端,可以對(duì)客戶(hù)連接線(xiàn)程進(jìn)行調(diào)度,使來(lái)自用戶(hù)的數(shù)據(jù)不必再向其轉(zhuǎn)發(fā)。在客戶(hù)端也采用多線(xiàn)程技術(shù),指派一個(gè)線(xiàn)程接收和處理小數(shù)據(jù)量的文本信息,坐標(biāo)信息等,另指派一個(gè)線(xiàn)程接收和處理大數(shù)據(jù)量的圖像,它們和用戶(hù)的本地主線(xiàn)程同時(shí)工作。Delphi提供對(duì)繪圖區(qū)的鎖定功能,當(dāng)各線(xiàn)程訪(fǎng)問(wèn)繪圖區(qū)時(shí),為繪圖區(qū)加上鎖,則掛起其它線(xiàn)程對(duì)它的訪(fǎng)問(wèn),當(dāng)操作結(jié)果,為繪圖區(qū)解鎖,則喚醒其他線(xiàn)程的執(zhí)行,這樣保證任何時(shí)刻只有一個(gè)線(xiàn)程在繪圖區(qū)執(zhí)行操作,從而實(shí)現(xiàn)同步多線(xiàn)程。以上公開(kāi)的基于客戶(hù)端的網(wǎng)絡(luò)白板系統(tǒng),但是上述網(wǎng)絡(luò)白板系統(tǒng)存在以下缺點(diǎn) (I)基于客戶(hù)端的網(wǎng)絡(luò)白板系統(tǒng)是需要在各個(gè)終端安裝該電子白板的客戶(hù)端,才能使
用,非常不方便。另外,客戶(hù)端需要根據(jù)電子白板的更新而升級(jí)對(duì)應(yīng)的軟件,非常麻煩。(2)基于客戶(hù)端的網(wǎng)絡(luò)白板系統(tǒng)不能在各種平臺(tái)上使用,只能針對(duì)某個(gè)平臺(tái)開(kāi)發(fā)某種網(wǎng)絡(luò)白板系統(tǒng),不具有跨平臺(tái)性,使得開(kāi)發(fā)的網(wǎng)絡(luò)白板系統(tǒng)存在局限性。(3)基于客戶(hù)端的網(wǎng)絡(luò)白板系統(tǒng)需要客戶(hù)端和服務(wù)器通過(guò)網(wǎng)絡(luò)進(jìn)行彼此通信,針對(duì)各協(xié)作用戶(hù)的并發(fā)操作時(shí),需要不同客戶(hù)端和服務(wù)器之間進(jìn)行通信,使得處理并發(fā)操作的處理時(shí)間與網(wǎng)絡(luò)性能有著直接關(guān)系,特別是需要多個(gè)數(shù)據(jù)包在不同客戶(hù)端與服務(wù)器端的轉(zhuǎn)發(fā),存在處理速度慢的技術(shù)問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的第一目的在于提供一種基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),以解決現(xiàn)有技術(shù)中需要在各個(gè)終端安裝該電子白板的客戶(hù)端才能使用、不具有跨平臺(tái)性的技術(shù)問(wèn)題。一種基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),包括各種終端、網(wǎng)絡(luò)公共白板平臺(tái),所述終端通過(guò)瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺(tái)的通信,其中,所述網(wǎng)絡(luò)公共白板平臺(tái)進(jìn)一步包括傳輸單元、前臺(tái)UI單元和公共白板處理單元,其中, 傳輸單元用于建立終端的瀏覽器與網(wǎng)絡(luò)公共白板平臺(tái)之間的通信;
前臺(tái)UI單元,至少包括顯示子單元和交互子單元,所述顯示子單元用于將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示,所述交互子單元用于通過(guò)消息鉤子截獲終端瀏覽器上的輸入操作,并通過(guò)傳輸單元發(fā)送至公共白板處理單元;
公共白板處理單元用于接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶(hù)之間的請(qǐng)求,并協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理,并將處理結(jié)果通過(guò)傳輸單元傳輸再通過(guò)前臺(tái)UI單元在對(duì)應(yīng)的終端瀏覽器上進(jìn)行顯示。一種基于云計(jì)算的網(wǎng)絡(luò)公共白板控制方法,包括
所述用戶(hù)預(yù)先在網(wǎng)絡(luò)公共白板平臺(tái)上進(jìn)行注冊(cè);
當(dāng)該用戶(hù)預(yù)對(duì)網(wǎng)絡(luò)公共白板進(jìn)行操作時(shí),通過(guò)瀏覽器訪(fǎng)問(wèn)該網(wǎng)絡(luò)公共白板平臺(tái);
所述網(wǎng)絡(luò)公共白板平臺(tái)先認(rèn)證,認(rèn)證通過(guò)后再通過(guò)消息鉤子截獲終端瀏覽器上的輸入操作,并傳輸至網(wǎng)絡(luò)公共白板平臺(tái);
網(wǎng)絡(luò)公共白板平臺(tái)接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶(hù)之間的請(qǐng)求,并協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理,并將處理結(jié)果傳輸,再將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
(I)本發(fā)明基于云計(jì)算實(shí)現(xiàn),可以使用瀏覽器來(lái)操作網(wǎng)絡(luò)公共白板,無(wú)需安裝客戶(hù)端,無(wú)需升級(jí),方便快捷;同時(shí),本系統(tǒng)在云端進(jìn)行協(xié)同編輯控制和圖文排版,降低對(duì)客戶(hù)端計(jì)算能力的要求;同時(shí),其跨平臺(tái)處理能力強(qiáng)大,能支持各種主流操作系統(tǒng)平臺(tái)和移動(dòng)終端平臺(tái);同時(shí),其強(qiáng)大的數(shù)據(jù)抓取和數(shù)據(jù)轉(zhuǎn)換能力,能便捷的將各種類(lèi)型的數(shù)據(jù)導(dǎo)入到共公白板,并將公共白板數(shù)據(jù)導(dǎo)出為符合國(guó)際標(biāo)準(zhǔn)的數(shù)據(jù)格式,使得本系統(tǒng)能和其它數(shù)據(jù)系統(tǒng)進(jìn)行無(wú)縫結(jié)合。(2)現(xiàn)有技術(shù)中,基于客戶(hù)端的網(wǎng)絡(luò)白板系統(tǒng)需要客戶(hù)端和服務(wù)器通過(guò)網(wǎng)絡(luò)進(jìn)行彼此通信,針對(duì)各協(xié)作用戶(hù)的并發(fā)操作時(shí),需要不同客戶(hù)端和服務(wù)器之間進(jìn)行通信,使得處理并發(fā)操作的處理時(shí)間與網(wǎng)絡(luò)性能有著直接關(guān)系,特別是需要多個(gè)數(shù)據(jù)包在不同客戶(hù)端與服務(wù)器端的轉(zhuǎn)發(fā),存在處理速度慢的技術(shù)問(wèn)題。而本發(fā)明中,基于瀏覽器的網(wǎng)絡(luò)白板系統(tǒng),用戶(hù)直接通過(guò)瀏覽器登錄至平臺(tái)上,平臺(tái)再進(jìn)行處理并發(fā)操作時(shí),只需要平臺(tái)上協(xié)調(diào)即可,處理并發(fā)操作的速度快,不存在延時(shí)性。
圖I為一種基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng)的原理 圖2為一種基于云計(jì)算的網(wǎng)絡(luò)公共白板平臺(tái)的原理 圖3為一種基于云計(jì)算的網(wǎng)絡(luò)公共白板處理的流程 圖4A-圖4E分別為更新操作的基于鎖的協(xié)同編輯狀態(tài)示意圖;圖5A-圖5C分別為刪除操作的協(xié)同編輯狀態(tài)示意 圖6A-圖6D分別為更新操作的基于鎖的協(xié)同編輯狀態(tài)示意圖。
具體實(shí)施例方式以下結(jié)合附圖,具體說(shuō)明本發(fā)明。請(qǐng)參閱圖I和圖2,一種基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),包括各種終端I、網(wǎng)絡(luò)公共白板平臺(tái)2,終端I通過(guò)瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺(tái)2的通信,其中,網(wǎng)絡(luò)公共白板平臺(tái)2進(jìn)一步包括傳輸單元21、前臺(tái)UI單元22和公共白板處理單元23,其中,
傳輸單元21 :用于建立終端I的瀏覽器與網(wǎng)絡(luò)公共白板平臺(tái)2之間的通信。傳輸單元21進(jìn)一步包括數(shù)據(jù)加/解密子單元211和傳輸子單元212。數(shù)據(jù)加/解密子單元211用于在數(shù)據(jù)傳輸過(guò)程中的加/解密操作,即作為發(fā)送端則將欲發(fā)送數(shù)據(jù)進(jìn)行加密操作,作為接收端則將接收到的數(shù)據(jù)進(jìn)行解密操作。傳輸子單元212主要是保存登錄至該平臺(tái)的終端的 地址信息,即比如用戶(hù)I是通過(guò)終端A登錄的,用戶(hù)2是通過(guò)終端B登錄的,則傳輸子單元212需要分別記錄終端A、終端B的地址信息,并記錄用戶(hù)I與終端A的映射關(guān)系,用戶(hù)2與終端B的映射關(guān)系,以便將數(shù)據(jù)發(fā)送至對(duì)應(yīng)的終端。前臺(tái)UI單元22,至少包括顯示子單元221和交互子單元222,所述顯示子單元221用于將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示,所述交互子單元222用于通過(guò)消息鉤子截獲終端瀏覽器上的輸入操作,并通過(guò)傳輸單元21發(fā)送至公共白板處理單元23 ;
公共白板處理單元23 :用于接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶(hù)之間的請(qǐng)求,并協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理,并將處理結(jié)果通過(guò)傳輸單元傳輸再通過(guò)前臺(tái)UI單元在對(duì)應(yīng)的終端瀏覽器上進(jìn)行顯示。所述公共白板處理單元23進(jìn)一步包括
云協(xié)同編輯引擎231 :用于處理不同用戶(hù)的請(qǐng)求,計(jì)算出不同用戶(hù)各自需要進(jìn)行的操作。云圖文混排引擎232 :用于按照接收到的請(qǐng)求需要進(jìn)行對(duì)應(yīng)的排版操作。當(dāng)公共白板處理單元主要是進(jìn)行傳輸、顯示、編輯文字、圖形、表格、音視頻等類(lèi)型數(shù)據(jù)時(shí),云協(xié)同編輯引擎231可以接收不同用戶(hù)的請(qǐng)求,并處理該用戶(hù)的請(qǐng)求,當(dāng)該些用戶(hù)出現(xiàn)并行處理沖突時(shí),按照預(yù)設(shè)的處理沖突機(jī)制進(jìn)行處理,如果是文字、圖形、表格等的編輯,通過(guò)云圖文混排引擎232進(jìn)行排版處理。如何進(jìn)行圖文混排是現(xiàn)有技術(shù),在此就再詳細(xì)說(shuō)明。數(shù)據(jù)抓取處理子單元233 :用于接收終端從網(wǎng)絡(luò)上將各種數(shù)據(jù)抓取,并將該些數(shù)據(jù)加入所述網(wǎng)絡(luò)公共白板中。數(shù)據(jù)抓取處理子單元233可以支持用戶(hù)非常便捷的從網(wǎng)絡(luò)上將各種數(shù)據(jù)加入到網(wǎng)絡(luò)共公白板中,如可以將其它網(wǎng)頁(yè)的圖文拖拽到網(wǎng)絡(luò)公共白板中,可以支持將office和pdf格式的文檔添加到網(wǎng)絡(luò)公共白板中。云存儲(chǔ)處理子單元234:用于接收用戶(hù)的存儲(chǔ)請(qǐng)求,以用戶(hù)為單元進(jìn)行存儲(chǔ)對(duì)應(yīng)的網(wǎng)絡(luò)公共白板數(shù)據(jù)信息。云數(shù)據(jù)導(dǎo)出子單元235 :用于接收終端的請(qǐng)求,提供下載至用戶(hù)對(duì)應(yīng)終端的服務(wù)。用戶(hù)管理子單元236 :用于接收并保存用戶(hù)信息,在終端進(jìn)行網(wǎng)絡(luò)公共白板操作時(shí),預(yù)先對(duì)該終端對(duì)應(yīng)的用戶(hù)進(jìn)行認(rèn)證,認(rèn)證通過(guò)可進(jìn)行網(wǎng)絡(luò)公共白板操作。
云打印管理子單元237 :支持用戶(hù)在平臺(tái)端生成可打印的pdf文件,并傳回客戶(hù)端。簡(jiǎn)單說(shuō),本發(fā)明提出一種基于云計(jì)算實(shí)現(xiàn)的網(wǎng)絡(luò)公共白板系統(tǒng),可以在瀏覽器中訪(fǎng)問(wèn)公共白板系統(tǒng),支持windows、mac、ios、android等各種平臺(tái)。本系統(tǒng)分為三部分前臺(tái)展示模塊、傳輸模塊、后臺(tái)公共白板模塊。其中前臺(tái)展示模塊,負(fù)責(zé)與用戶(hù)交互,接受用戶(hù)輸入,并將服務(wù)器返回的數(shù)據(jù)進(jìn)行處理;其中傳輸模塊負(fù)責(zé)前、后之間的數(shù)據(jù)傳輸;其中后臺(tái)公共白板模塊負(fù)責(zé)處理前臺(tái)傳遞的數(shù)據(jù),并進(jìn)行協(xié)同管理。請(qǐng)參閱圖3,一種基于云計(jì)算的網(wǎng)絡(luò)公共白板控制方法,包括
S110:所述用戶(hù)預(yù)先在網(wǎng)絡(luò)公共白板平臺(tái)上進(jìn)行注冊(cè);
S120:當(dāng)該用戶(hù)預(yù)對(duì)網(wǎng)絡(luò)公共白板進(jìn)行操作時(shí),通過(guò)瀏覽器訪(fǎng)問(wèn)該網(wǎng)絡(luò)公共白板平
臺(tái);
S130:所述網(wǎng)絡(luò)公共白板平臺(tái)先認(rèn)證,認(rèn)證通過(guò)后再通過(guò)消息鉤子截獲終端瀏覽器上的輸入操作,并傳輸至網(wǎng)絡(luò)公共白板平臺(tái);
S140:網(wǎng)絡(luò)公共白板平臺(tái)接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶(hù)之間的請(qǐng)求,并協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理,并將處理結(jié)果傳輸,再將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯不O公共白板中多個(gè)用戶(hù)操作同一個(gè)對(duì)象時(shí),會(huì)產(chǎn)生沖突,為解決此沖突,申請(qǐng)人提出了兩種協(xié)同編輯的方法基于操作轉(zhuǎn)換的協(xié)同編輯、基于鎖的協(xié)同編輯。(一)、基于操作轉(zhuǎn)換的 協(xié)同編輯。大致思路每個(gè)對(duì)象都記錄自己的歷史版本,每次操作都會(huì)升級(jí)對(duì)象的版本。用戶(hù)的每個(gè)操作都是針對(duì)某個(gè)對(duì)象的某個(gè)版本進(jìn)行的;當(dāng)多個(gè)用戶(hù)同時(shí)操作一個(gè)對(duì)象的某個(gè)版本V時(shí),第一個(gè)操作執(zhí)行后對(duì)象的版本會(huì)升級(jí)到W。后續(xù)的操作由于針對(duì)的是版本V,已經(jīng)不能直接執(zhí)行,需要將后續(xù)操作轉(zhuǎn)換成針對(duì)最新版本W(wǎng)的操作。S卩,協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理進(jìn)一步包括
將用戶(hù)預(yù)操作的每一對(duì)象設(shè)置一對(duì)象歷史版本列表,每一次操作該對(duì)象就在該對(duì)象歷史版本列表中升級(jí)該對(duì)象版本;
當(dāng)多用戶(hù)同時(shí)操作一個(gè)對(duì)象的某個(gè)版本時(shí),在該對(duì)象的操作隊(duì)列中進(jìn)行操作,排列的操作依次執(zhí)行;
第一個(gè)操作執(zhí)行后在對(duì)象歷史版本列表中升級(jí)該對(duì)象版本,并將執(zhí)行后的結(jié)果返回給各個(gè)用戶(hù)對(duì)應(yīng)終端進(jìn)行顯示;
該對(duì)象的操作隊(duì)列的第二用戶(hù)針對(duì)老版本的對(duì)象就不能直接執(zhí)行,需要將后續(xù)操作轉(zhuǎn)換成針對(duì)升級(jí)后的該對(duì)象版本才能進(jìn)行操作,
直到該對(duì)象的操作隊(duì)列中所有的操作完成。對(duì)象的操作分為新建、更新(如平移、旋轉(zhuǎn)、插入字符等等)、刪除三種。對(duì)于新建不存在沖突問(wèn)題,不需要處理,更新和刪除通常會(huì)碰到多個(gè)用戶(hù)的操作沖突的情況,下面以更新和刪除講解一下具體原理
(I)更新操作的協(xié)同編輯
A)圖4A中下半部分是模擬的兩個(gè)用戶(hù)A和B,他們的版本上對(duì)象O的版本號(hào)都是100。上半部分是模擬的服務(wù)器端,包括“對(duì)象O的操作隊(duì)列”和“服務(wù)器上對(duì)象O的最新版本”,版本號(hào)為100。A用戶(hù)和B用戶(hù)幾乎同時(shí)發(fā)起對(duì)對(duì)象O的操作Pl和P2,請(qǐng)注意所有操作都與對(duì)象和版本號(hào)相關(guān),例如圖4A的“0,Pl, 100”的含義是對(duì)對(duì)象O的100號(hào)版本執(zhí)行Pl操作;圖4A “0,P2, 100”的含義是對(duì)對(duì)象O的100號(hào)版本執(zhí)行P2操作。B)兩個(gè)操作發(fā)送到服務(wù)器之后,在對(duì)象O的操作隊(duì)列中進(jìn)行排隊(duì),排隊(duì)的操作依次序執(zhí)行。首先執(zhí)行A發(fā)起的操作“0,P1,100”(請(qǐng)參閱圖4B)。C)操作“0,P1,100”在服務(wù)器上執(zhí)行,將服務(wù)器上的對(duì)象O從100版本更新到101版本。更新后的101版本會(huì)立即發(fā)送到A用戶(hù)和B用戶(hù)(請(qǐng)參閱圖4C)。D)當(dāng)對(duì)象O的操作隊(duì)列的第一個(gè)操作執(zhí)行完之后,開(kāi)始執(zhí)行第二個(gè)操作“0,P2, 100”。由于第二個(gè)操作是針對(duì)對(duì)象O的100號(hào)版本的,所以不能執(zhí)行,需要進(jìn)行操作轉(zhuǎn)換,將“0,P2, 100”轉(zhuǎn)換成針對(duì)對(duì)象O的101號(hào)版本的操作“0,P3, 101”。然后在對(duì)象O的·最新版本上執(zhí)行操作“0,P3, 101” (請(qǐng)參閱圖4D)。E)在對(duì)象O的101版本上執(zhí)行操作“0,P3, 101”之后,服務(wù)器上的對(duì)象O從101版本升級(jí)到102版本。隨后立即上服務(wù)器上的O對(duì)象的最新版本發(fā)送到A用戶(hù)和B用戶(hù)中(請(qǐng)參閱圖4E)。(2)刪除操作的協(xié)同編輯
A)刪除操作的協(xié)同編輯與更新操作類(lèi)似,但比更新操作簡(jiǎn)單,主要流程如下
圖5A中下半部分是模擬的兩個(gè)用戶(hù)A和B,他們的版本上對(duì)象O的版本號(hào)都是100。上半部分是模擬的服務(wù)器端,包括“對(duì)象O的操作隊(duì)列”和“服務(wù)器上對(duì)象O的最新版本”,版本號(hào)為100。A用戶(hù)和B用戶(hù)幾乎同時(shí)發(fā)起對(duì)對(duì)象O的操作Pl和P2,其中Pl是刪除操作,P2是更新或者刪除操作。請(qǐng)注意所有操作都與對(duì)象和版本號(hào)相關(guān),例如下圖的“0,P1,100”的含義是對(duì)對(duì)象O的100號(hào)版本執(zhí)行操作Pl ;下圖“0,P2, 100”的含義是對(duì)對(duì)象O的100號(hào)版本執(zhí)行操作P2。B)兩個(gè)操作發(fā)送到服務(wù)器之后,在對(duì)象O的操作隊(duì)列中進(jìn)行排隊(duì),排隊(duì)的操作依次序執(zhí)行。首先執(zhí)行A發(fā)起的刪除操作“0,P1,100”(請(qǐng)參閱圖5B)。C)服務(wù)器上執(zhí)行對(duì)對(duì)象O的刪除操作之后,會(huì)立即同步到A用戶(hù)和B用戶(hù),將其對(duì)象O刪除;并且服務(wù)器上對(duì)象O的操作隊(duì)列中所有的后續(xù)操作都將失效,無(wú)需執(zhí)行(請(qǐng)參閱圖 5C)。(二 )、基于鎖的協(xié)同編輯。大致思路每個(gè)對(duì)象都記錄自己的歷史版本,每次操作都會(huì)升級(jí)對(duì)象的版本。用戶(hù)的每個(gè)操作都是針對(duì)某個(gè)對(duì)象的某個(gè)版本進(jìn)行的;當(dāng)多個(gè)用戶(hù)同時(shí)操作一個(gè)對(duì)象時(shí),都需要向服務(wù)器發(fā)起加鎖對(duì)象的請(qǐng)求,同一時(shí)刻只有一個(gè)用戶(hù)獲得該對(duì)象的鎖,只有獲得鎖的用戶(hù)才能操作該對(duì)象。S卩,協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理進(jìn)一步包括
將用戶(hù)預(yù)操作的每一對(duì)象設(shè)置一對(duì)象歷史版本列表,每一次操作該對(duì)象就在該對(duì)象歷史版本列表中升級(jí)該對(duì)象版本;
當(dāng)多用戶(hù)同時(shí)操作一個(gè)對(duì)象的某個(gè)版本時(shí),向服務(wù)器發(fā)出對(duì)該對(duì)象進(jìn)行加鎖處理,月艮務(wù)器按照某種機(jī)制對(duì)某一用戶(hù)給予該對(duì)象的進(jìn)行加鎖,接收該用戶(hù)對(duì)該對(duì)象的操作;操作執(zhí)行后在對(duì)象歷史版本列表中升級(jí)該對(duì)象版本,并將執(zhí)行后的結(jié)果返回給各個(gè)用戶(hù)對(duì)應(yīng)終端進(jìn)行顯示;
釋放該對(duì)象的鎖,服務(wù)器接收加鎖請(qǐng)求。對(duì)象的操作分為新建、更新(如平移、旋轉(zhuǎn)、插入字符等等)、刪除三種。對(duì)于新建不存在沖突問(wèn)題,不需要處理,更新和刪除通常會(huì)碰到多個(gè)用戶(hù)的操作沖突的情況,下面以更新和刪除講解一下具體原理
I、更新操作的協(xié)同編輯
a)圖6A下半部分是模擬的兩個(gè)用戶(hù)A和B,他們的版本上對(duì)象O的版本號(hào)都是100。上半部分是模擬的服務(wù)器端,包括“對(duì)象O的加鎖管理器”和“服務(wù)器上對(duì)象O的最新版本”,版本號(hào)為100。
A用戶(hù)和B用戶(hù)幾乎同時(shí)發(fā)起對(duì)對(duì)象O的加鎖請(qǐng)求LRl和LR2。請(qǐng)注意所有操作都與對(duì)象和版本號(hào)相關(guān),例如圖6A的“0,LR1”的含義是對(duì)對(duì)象O執(zhí)行加鎖操作LRl ;圖6A “0,LR2”的含義是對(duì)對(duì)象O執(zhí)行加鎖操作LR2。b)服務(wù)器端的對(duì)象O的加鎖管理器發(fā)現(xiàn)A用戶(hù)先發(fā)起申請(qǐng),于是將對(duì)象O的鎖給予A用戶(hù),意味著只有A用戶(hù)能操作O對(duì)象,B無(wú)法操作O對(duì)象。此時(shí),A用戶(hù)發(fā)起操作“0,Pl, 100”,含義是針對(duì)對(duì)象O的100號(hào)版本執(zhí)行操作Pl (請(qǐng)參閱圖6B)。c)服務(wù)器上對(duì)對(duì)象O的100號(hào)版本執(zhí)行操作Pl之后,版本升級(jí)到101號(hào),同時(shí)立即同步到A用戶(hù)和B用戶(hù),將其對(duì)象O的版本升級(jí)到101版本(請(qǐng)參閱圖6C)。d) A用戶(hù)最后需要將對(duì)象O的鎖進(jìn)行釋放。A發(fā)起操作“0,RL”,服務(wù)器執(zhí)行此操作之后,對(duì)象O處于未加鎖狀態(tài),可以再次接受各個(gè)用戶(hù)的加鎖請(qǐng)求(請(qǐng)參閱圖6D)。2、刪除操作的協(xié)同編輯
刪除操作的協(xié)同比那幾同更新操作的協(xié)同編輯。所述終端通過(guò)瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺(tái)的通信時(shí),在發(fā)送端進(jìn)行加密處理,在接收端進(jìn)行解密處理。該方法還包括
接收終端從網(wǎng)絡(luò)上將各種數(shù)據(jù)抓取,并將該些數(shù)據(jù)加入所述白板中;
接收用戶(hù)的存儲(chǔ)請(qǐng)求,以用戶(hù)為單元進(jìn)行存儲(chǔ)對(duì)應(yīng)的網(wǎng)絡(luò)公共白板數(shù)據(jù)信息;
接收終端的請(qǐng)求,提供下載至用戶(hù)對(duì)應(yīng)終端的服務(wù)。本發(fā)明優(yōu)選實(shí)施例只是用于幫助闡述本發(fā)明。優(yōu)選實(shí)施例并沒(méi)有詳盡敘述所有的細(xì)節(jié),也不限制該發(fā)明僅為所述的具體實(shí)施方式
。顯然,根據(jù)本說(shuō)明書(shū)的內(nèi)容,可作很多的修改和變化。本說(shuō)明書(shū)選取并具體描述這些實(shí)施例,是為了更好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,從而使所屬技術(shù)領(lǐng)域技術(shù)人員能很好地利用本發(fā)明。本發(fā)明僅受權(quán)利要求書(shū)及其全部范圍和等效物的限制。
權(quán)利要求
1.一種基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,包括各種終端、網(wǎng)絡(luò)公共白板平臺(tái),所述終端通過(guò)瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺(tái)的通信,其中,所述網(wǎng)絡(luò)公共白板平臺(tái)進(jìn)一步包括傳輸單元、前臺(tái)UI單元和公共白板處理單元,其中, 傳輸單元用于建立終端的瀏覽器與網(wǎng)絡(luò)公共白板平臺(tái)之間的通信; 前臺(tái)UI單元,至少包括顯示子單元和交互子單元,所述顯示子單元用于將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示,所述交互子單元用于通過(guò)消息鉤子截獲終端瀏覽器上的輸入操作,并通過(guò)傳輸單元發(fā)送至公共白板處理單元; 公共白板處理單元用于接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶(hù)之間的請(qǐng)求,并協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理,并將處理結(jié)果通過(guò)傳輸單元傳輸再通過(guò)前臺(tái)UI單元在對(duì)應(yīng)的終端瀏覽器上進(jìn)行顯示。
2.如權(quán)利要求I所述的基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,所述公共白板處理單元進(jìn)一步包括 云協(xié)同編輯引擎用于處理不同用戶(hù)的請(qǐng)求,計(jì)算出不同用戶(hù)各自需要進(jìn)行的操作; 云圖文混排引擎用于按照接收到的請(qǐng)求需要進(jìn)行對(duì)應(yīng)的排版操作。
3.如權(quán)利要求2所述的基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,所述公共白板處理單元還包括 數(shù)據(jù)抓取處理子單元用于接收終端從網(wǎng)絡(luò)上將各種數(shù)據(jù)抓取,并將該些數(shù)據(jù)加入所述白板中。
4.如權(quán)利要求2所述的基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,所述公共白板處理單元還包括 云存儲(chǔ)處理子單元用于接收用戶(hù)的存儲(chǔ)請(qǐng)求,以用戶(hù)為單元進(jìn)行存儲(chǔ)對(duì)應(yīng)的網(wǎng)絡(luò)公共白板數(shù)據(jù)信息 云數(shù)據(jù)導(dǎo)出子單元用于接收終端的請(qǐng)求,提供下載至用戶(hù)對(duì)應(yīng)終端的服務(wù)。
5.如權(quán)利要求2所述的基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),其特征在于,所述公共白板處理單元還包括 用戶(hù)管理子單元用于接收并保存用戶(hù)信息,在終端進(jìn)行網(wǎng)絡(luò)公共白板操作時(shí),預(yù)先對(duì)該終端對(duì)應(yīng)的用戶(hù)進(jìn)行認(rèn)證,認(rèn)證通過(guò)可進(jìn)行網(wǎng)絡(luò)公共白板操作。
6.一種基于云計(jì)算的網(wǎng)絡(luò)公共白板控制方法,其特征在于,包括 所述用戶(hù)預(yù)先在網(wǎng)絡(luò)公共白板平臺(tái)上進(jìn)行注冊(cè); 當(dāng)該用戶(hù)預(yù)對(duì)網(wǎng)絡(luò)公共白板進(jìn)行操作時(shí),通過(guò)瀏覽器訪(fǎng)問(wèn)該網(wǎng)絡(luò)公共白板平臺(tái); 所述網(wǎng)絡(luò)公共白板平臺(tái)先認(rèn)證,認(rèn)證通過(guò)后再通過(guò)消息鉤子截獲終端瀏覽器上的輸入操作,并傳輸至網(wǎng)絡(luò)公共白板平臺(tái); 網(wǎng)絡(luò)公共白板平臺(tái)接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶(hù)之間的請(qǐng)求,并協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理,并將處理結(jié)果傳輸,再將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示。
7.如權(quán)利要求6所述的方法,其特征在于,協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理進(jìn)一步包括 將用戶(hù)預(yù)操作的每一對(duì)象設(shè)置一對(duì)象歷史版本列表,每一次操作該對(duì)象就在該對(duì)象歷史版本列表中升級(jí)該對(duì)象版本; 當(dāng)多用戶(hù)同時(shí)操作一個(gè)對(duì)象的某個(gè)版本時(shí),在該對(duì)象的操作隊(duì)列中進(jìn)行操作,排列的操作依次執(zhí)行;第一個(gè)操作執(zhí)行后在對(duì)象歷史版本列表中升級(jí)該對(duì)象版本,并將執(zhí)行后的結(jié)果返回給各個(gè)用戶(hù)對(duì)應(yīng)終端進(jìn)行顯示; 該對(duì)象的操作隊(duì)列的第二用戶(hù)針對(duì)老版本的對(duì)象就不能直接執(zhí)行,需要將后續(xù)操作轉(zhuǎn)換成針對(duì)升級(jí)后的該對(duì)象版本才能進(jìn)行操作, 直到該對(duì)象的操作隊(duì)列中所有的操作完成。
8.如權(quán)利要求6所述的方法,其特征在于,協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理進(jìn)一步包括 將用戶(hù)預(yù)操作的每一對(duì)象設(shè)置一對(duì)象歷史版本列表,每一次操作該對(duì)象就在該對(duì)象歷史版本列表中升級(jí)該對(duì)象版本; 當(dāng)多用戶(hù)同時(shí)操作一個(gè)對(duì)象的某個(gè)版本時(shí),向服務(wù)器發(fā)出對(duì)該對(duì)象進(jìn)行加鎖處理,月艮務(wù)器按照某種機(jī)制對(duì)某一用戶(hù)給予該對(duì)象的進(jìn)行加鎖,接收該用戶(hù)對(duì)該對(duì)象的操作; 操作執(zhí)行后在對(duì)象歷史版本列表中升級(jí)該對(duì)象版本,并將執(zhí)行后的結(jié)果返回給各個(gè)用戶(hù)對(duì)應(yīng)終端進(jìn)行顯示; 釋放該對(duì)象的鎖,服務(wù)器接收加鎖請(qǐng)求。
9.如權(quán)利要求6所述的方法,其特征在于,還包括所述終端通過(guò)瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺(tái)的通信時(shí),在發(fā)送端進(jìn)行加密處理,在接收端進(jìn)行解密處理。
10.如權(quán)利要求6所述的方法,其特征在于,還包括 接收終端從網(wǎng)絡(luò)上將各種數(shù)據(jù)抓取,并將該些數(shù)據(jù)加入所述白板中; 接收用戶(hù)的存儲(chǔ)請(qǐng)求,以用戶(hù)為單元進(jìn)行存儲(chǔ)對(duì)應(yīng)的網(wǎng)絡(luò)公共白板數(shù)據(jù)信息; 接收終端的請(qǐng)求,提供下載至用戶(hù)對(duì)應(yīng)終端的服務(wù)。
全文摘要
一種基于云計(jì)算的網(wǎng)絡(luò)公共白板系統(tǒng),包括各種終端、網(wǎng)絡(luò)公共白板平臺(tái),所述終端通過(guò)瀏覽器建立與所述網(wǎng)絡(luò)公共白板平臺(tái)的通信,其中,網(wǎng)絡(luò)公共白板平臺(tái)進(jìn)一步包括傳輸單元、前臺(tái)UI單元和公共白板處理單元,其中,前臺(tái)UI單元,至少包括顯示子單元和交互子單元,顯示子單元用于將數(shù)據(jù)在所述終端的瀏覽器中進(jìn)行顯示,交互子單元用于通過(guò)消息鉤子截獲終端瀏覽器上的輸入操作,并通過(guò)傳輸單元發(fā)送公共白板處理單元;公共白板處理單元用于接收終端瀏覽器上的各種操作數(shù)據(jù),處理不同用戶(hù)之間的請(qǐng)求,并協(xié)調(diào)各個(gè)用戶(hù)的并發(fā)處理,并將處理結(jié)果通過(guò)傳輸單元傳輸再通過(guò)前臺(tái)UI單元在對(duì)應(yīng)的終端瀏覽器上進(jìn)行顯示。
文檔編號(hào)H04L29/06GK102916998SQ201210082038
公開(kāi)日2013年2月6日 申請(qǐng)日期2012年3月26日 優(yōu)先權(quán)日2012年3月26日
發(fā)明者劉敏, 姜建軍, 馬世雄, 朱鴻斌 申請(qǐng)人:上海方正數(shù)字出版技術(shù)有限公司