圖案設計協同會議中的動態鎖的後加入問題的解決方法
2023-05-19 01:28:16 2
專利名稱:圖案設計協同會議中的動態鎖的後加入問題的解決方法
技術領域:
本發明涉及基於網際網路的分布式圖案協同設計技術領域,特別是涉及一種圖案設計協同會議中的動態鎖的後加入問題的解決方法。
背景技術:
20世紀人類的傑出成果之一計算機技術把人類社會帶入了信息化時代。伴隨著信息化進程的不斷深入,通信技術、計算機及網絡技術相融合,產生了一個新的研究領域—計算機支持的協同工作CSCW(Computer SupportedCooperative Work)。
群體協作方式的多樣性為CSCW研究提供了豐富的內容。在CSCW系統中,人們圍繞共同完成的任務要進行通信(Communication)、協調(Coordination)、協作(Collaboration)、協同(Cooperation)等基本活動。
CSCW有著廣泛的應用領域和市場前景,CSCW已經應用到的領域有軍事、工業、協同計算機輔助設計、辦公自動化和管理信息系統、醫療、遠程教育、電子商務與商業、貿易、金融的應用、電子政務......
在CSCW研究和應用的眾多領域中,圖案協同設計是分布式協同工作的一個重要應用。基於Internet的圖案協同設計可以使位於不同地理位置的協同設計者借鑑、共享其他成員的知識和經驗,實時同步對同一個任務作品進行共同操作,協同完成圖案的設計和製作,從而極大地提高設計的質量和效率。
對於一個大型複雜協同設計系統,協同設計的參與者後加入是一個無法迴避的永恆話題。因為協同設計允許一些人先發起,一些人後加入,或者一些人中途離線,爾後又重新加入。為此,當一個新的參與者準備加入到一個已經在進行的協同設計工作中去時,就產生了應用初始狀態同步的問題,由此引發了「後加入」問題。若要保證後加入者正常加入協同進程,就必須設計一種有效解決方案,使新參與者的共享工作空間中的對象數據與其它在線協同設計者保持一致。並且在實時CAD/CAM協作系統中,一個用戶的動作必須立即被傳送給當前所有其它參與者。實時協作系統不同於一般無需保留狀態的視頻點播和討論組協同應用系統,它必須提供後加入和故障恢復支持。
鎖在圖案協同設計系統中常常用來保持一致性,鎖的使用能大大降低衝突操作發生的次數。當某一個用戶試圖操作一個對象/區域時,需要獲得在這個對象/區域上的一個排他鎖。例如,要移動一個對象,就首先要獲得這個對象上的鎖,這就保證了只有一個用戶,即鎖的擁有者操作這個對象,從而避免衝突的產生。鎖按不同的標準有不同的分類,常見的分類有強制鎖與可選鎖,非立即鎖與立即鎖,前鎖與後鎖,對象鎖與區域鎖,用戶鎖與系統鎖。這裡我們採用的動態加鎖機制則集中了多種鎖的優點。採用這種鎖機制,可以由系統根據用戶所設定的加鎖策略和在共享的空間中最新發生的操作來動態地決定要加鎖的對象,並提前加鎖,以保證本地用戶對這些對象的成功操作和阻止其他站點的用戶對這些對象進行操作。
發明內容
本發明的目的在於提供一種圖案設計協同會議中的動態鎖的後加入問題的解決方法。
本發明解決其技術問題採用的技術方案如下1)用戶狀態的細分用戶在後加入一個協同會議時的用戶狀態可分為以下四種(1)後加入者在沒有啟用動態加鎖機制的情況下,請求加入一個會議;(2)後加入者在啟用了動態加鎖機制的情況下,請求加入一個會議;(3)會議中的一個成員而還沒有啟用動態鎖機制,啟用動態加鎖機制;(4)會議中的已經啟用動態鎖機制的成員由於網絡或機器故障等原因斷線,在恢復後再次加入這個會議;2)用於後加入過程中的傳輸消息的定義(1)包含用戶狀態的信息定義一個消息三元組(T,S,R),其中T代表消息類型,是請求加入會議或已在會議中或響應消息或斷線後恢復;S代表消息發送方是否啟用了動態加鎖機制,是已啟用或沒有啟用;R代表消息的接收方,是一個站點或是多個站點;(2)不包含用戶狀態的消息定義一個消息二元組(T,R),其中T代表請求傳輸的數據類型,是請求GAF的數據,其中GAF為一個二維數組,每一項是用戶的操作次數的總和;R代表消息的接收方,是一個站點或是多個站點;3)根據用戶狀態的不同的動態鎖數據的同步機制(1)第一種用戶狀態下,後加入者需要請求並接收各個啟用了動態加鎖機制的站點的動態鎖集,並在本地進行遠程加鎖操作;(2)第二種用戶狀態下,後加入者不僅需要請求並接收各個啟用了動態加鎖機制的站點的動態鎖集,還需要接收用來操作統計的信息,即大家共同維護的GAF的值;同時,後加入者本地已有的動態鎖集也要廣播給會議中的所有站點;(3)第三種用戶狀態下,因為用戶已經是會議的一員,這時啟用動態鎖機制,本地的GAF和AF需要先被初始化,然後再向其他站點發送「動態鎖的後加入請求」,以請求並接收其他站點的動態鎖集和GAF的值;(4)第四種用戶狀態下,在故障恢復後再次加入時,首先向後加入伺服器請求GAF的值,然後再向各個站點發出請求,請求並接收此時的動態鎖集。
本發明與背景技術相比,具有的有益的效果是本發明是一種基於動態鎖機制的後加入問題的解決方法,其主要功能是根據用戶在後加入一個會議時的用戶狀態,提出並採用相應的動態鎖數據的同步機制。以保證用戶順利流暢的加入到協同會議中,並維護系統的一致性,避免可能發生的操作衝突。
(1)各個站點的動態鎖集不是通過後加入伺服器來傳輸的,而是每個站點把各自的最新的動態鎖集發送給後加入者。因為本地保存的其他站點的動態鎖集必須精確,才不會發生操作衝突,所以這種方法有利於後加入者比較及時的接收到每個站點的實時鎖集,防止操作衝突的發生。如果從一個站點比如後加入伺服器來傳輸所有站點的鎖集,不僅網絡負擔比較大,而且傳輸過程會很複雜。
(2)在各個站點響應了後加入者的加入請求後,即認為後加入者已經是會議中的一員,於是開始不斷的發送本地最新的動態鎖集給後加入者。這樣做就防止了在後加入者加入的過程中,其他站點動態鎖集數據的改變,成功的避免了動態鎖集不同步的問題。
(3)通過後加入伺服器來不斷傳輸GAF的最新版本給後加入者,即避免了了每個站點都傳輸的網絡負擔,又能保證後加入者接收到的GAF的精確性。
圖1是第一種用戶狀態情況下的後加入流程圖;圖2是第二種用戶狀態情況下的後加入流程圖;圖3是第三種用戶狀態情況下的後加入流程圖;圖4是第四種用戶狀態情況下的後加入流程圖。
具體實施例方式
在實施基於internet(網際網路)的分布式圖案協同設計技術時,實現動態鎖用戶的後加入問題的解決方法的具體實施方式
如下
方法中涉及到相關的符號解釋後加入伺服器一個用戶在後加入一個會議時,先根據某中策略,在會議中已有的站點中,選擇一個站點作為傳輸同步狀態數據的伺服器。這個伺服器稱為後加入伺服器。
後加入者(latecomer)要加入一個已經開始的協同會議中的用戶。
動態鎖集是一系列被用戶鎖定的對象。對每個用戶來說,每個站點都維護一個當前的動態鎖集。每個站點當前的動態鎖集代表了那個站點的用戶當前鎖定的對象。
動態鎖表每個站點維護一個。在動態鎖表中,每個用戶都有自己的表項,指向自己的動態鎖集。
AF[M][N]簡稱AF。我們把共享操作空間分為M乘N的小方格,每個方格根據其坐標對應於AF中的對應項。AF中每一項的值,即為本地站點用戶在對應方格內的操作次數。
GAF[M][N]簡稱GAF。GAF的定義類似於AF。但是GAF中每一項的值,為所有站點用戶在對應方格內的操作次數的總和。
操作統計相對應於共享操作空間的每個方格,統計發生在每個方格上的操作次數,並保存入GAF和AF中。
動態加鎖操作根據用戶所設定的加鎖策略和在共享的空間中最新發生的操作,來動態地決定要加鎖的對象,並提前加鎖。
面向動態鎖用戶的後加入問題的解放方法的具體實現流程如下第一種用戶狀態的處理流程,如圖1(用戶請求加入會議且沒有啟用動態鎖機制)1)後加入者發送加入請求(join,disabled,all sites in the session)給會議中的每個站點,同時初始化本地的動態鎖表和AF。
2)每個接收到請求的站點,都發送一個應答給後加入者。啟動了動態鎖機制的站點和沒有啟用的站點,發送不同的應答信息。啟用了動態鎖機制的站點發送的應答為(acknowledge,enabled,latecomer),沒有啟用的站點發送的應答為(acknowledge,disabled,latecomer)。
3)每個本地啟用了動態加鎖機制的站點在發送應答信息之後,認為此後加入者為會議參與者,開始不斷發送本地最新的動態鎖集給後加入者。
4)後加入者開始接收各個站點發送的動態鎖集,並不停更新本地的,直至其他的操作信息都接收完畢,再把本地動態鎖表中的鎖集一一執行遠程操作的動態加鎖操作。
第二種用戶狀態的處理流程,如圖2(用戶請求加入會議且已啟用動態加鎖機制)1)後加入者發送加入請求(join,enabled,all sites in the session)給會議中的每個站點。
2)每個接收到請求的站點,都發送一個應答給後加入者。啟動了動態鎖機制的站點和沒有啟用的站點,發送不同的應答信息。啟用了動態鎖機制的站點發送的應答為(acknowledge,enabled,latecomer),沒有啟用的站點發送的應答為(acknowledge,disabled,latecomer)。
3)每個啟用了動態加鎖機制的站點在發送應答信息之後,認為此後加入者為會議參與者,開始不斷發送本地最新的動態鎖集給後加入者。
4)同時,後加入者廣播本地已有的動態鎖集給會議中的所有站點。
5)後加入者發送(GAFRequest,後加入伺服器)請求GAF的消息給後加入伺服器。
6)後加入伺服器接收到請求GAF的消息之後,開始不斷發送最新的GAF值給後加入者。
7)後加入者開始接收各個站點發送的動態鎖集,並不停更新動態鎖表,直至其他的操作信息包括最新的GAF都接收完畢,先對所有收到的操作進行操作統計,再把動態鎖表中的鎖集一一執行遠程操作的動態加鎖操作。
第三種用戶狀態的處理流程,如圖3(用戶加入會議之後再啟用動態加鎖機制)1)後加入者發送「動態鎖的後加入請求」(in session,disabled,all sites in thesession)給會議中的每個站點,同時初始化本地的動態鎖表和AF。
2)每個接收到請求的站點,都發送一個應答給後加入者。啟動了動態鎖機制的站點和沒有啟用的站點,發送不同的應答信息。啟用了動態鎖機制的站點發送的應答為(acknowledge,enabled,latecomer),沒有啟用的站點發送的應答為(acknowledge,disabled,latecomer)。
3)每個本地啟用了動態加鎖機制的站點在發送了應答消息之後,開始不斷發送本地最新的動態鎖集給後加入者。
4)在當前的情況下,由於用戶不是真正意義上的後加入者,所以此時不存在一個後加入伺服器。此時用戶必須向距離最近的一個站點發出請求傳送GAF值的信息(GAFRequest,the nearest site)。
5)接收到GAFRequest信息的站點,開始不斷發送最新的GAF的值給後加入者。
6)如果後加入者在發送GAFRequest之後一定時間內,沒有收到傳輸來的GAF的值,則需要再選擇一個站點來請求GAF的值。
7)後加入者開始接收各個站點發送的鎖集,並不停更新動態鎖表,直至其他的操作信息包括GAF都接收完畢,先對所有收到的操作進行操作統計,再把動態鎖表中的鎖集一一執行遠程操作的動態加鎖操作。
第四種用戶狀態的處理流程,如圖4(用戶已在會議中,但是由於網絡或者機器故障等原因從會議總脫離,故障修復後再重新加入會議)1)後加入者發送「重新加入會議的請求」(crash recovery,disabled,all sites inthe session)給會議中的每個站點。
2)每個接收到請求的站點,都發送一個應答給後加入者。啟動了動態鎖機制的站點和沒有啟用的站點,發送不同的應答信息。啟用了動態鎖機制的站點發送的應答為(acknowledge,enabled,latecomer),沒有啟用的站點發送的應答為(acknowledge,disabled,latecomer)。
3)每個本地啟用了動態加鎖機制的站點在發送了應答消息之後,開始不斷發送本地最新的動態鎖集給後加入者。
4)後加入者發送(GAFRequest,後加入伺服器)請求GAF的消息給後加入伺服器。
5)後加入伺服器接收到請求GAF的消息之後,開始不斷發送最新的GAF值給後加入者。
6)後加入者開始接收各個站點發送的鎖集,並不停更新動態鎖表,直至其他的操作信息包括GAF都接收完畢,先對所有收到的操作進行操作統計,再把動態鎖表中的鎖集一一執行遠程操作的動態加鎖操作,並啟用本地的動態加鎖機制。
權利要求
1.一種圖案設計協同會議中的動態鎖的後加入問題的解決方法,其特徵在於1)用戶狀態的細分用戶在後加入一個協同會議時的用戶狀態可分為以下四種(1)後加入者在沒有啟用動態加鎖機制的情況下,請求加入一個會議;(2)後加入者在啟用了動態加鎖機制的情況下,請求加入一個會議;(3)會議中的一個成員而還沒有啟用動態鎖機制,啟用動態加鎖機制;(4)會議中的已經啟用動態鎖機制的成員由於網絡或機器故障等原因斷線,在恢復後再次加入這個會議;2)用於後加入過程中的傳輸消息的定義(1)包含用戶狀態的信息定義一個消息三元組(T,S,R),其中T代表消息類型,是請求加入會議或已在會議中或響應消息或斷線後恢復;S代表消息發送方是否啟用了動態加鎖機制,是已啟用或沒有啟用;R代表消息的接收方,是一個站點或是多個站點;(2)不包含用戶狀態的消息定義一個消息二元組(T,R),其中T代表請求傳輸的數據類型,是請求GAF的數據,其中GAF為一個二維數組,每一項是用戶的操作次數的總和;R代表消息的接收方,是一個站點或是多個站點;3)根據用戶狀態的不同的動態鎖數據的同步機制(1)第一種用戶狀態下,後加入者需要請求並接收各個啟用了動態加鎖機制的站點的動態鎖集,並在本地進行遠程加鎖操作;(2)第二種用戶狀態下,後加入者不僅需要請求並接收各個啟用了動態加鎖機制的站點的動態鎖集,還需要接收用來操作統計的信息,即大家共同維護的GAF的值;同時,後加入者本地已有的動態鎖集也要廣播給會議中的所有站點;(3)第三種用戶狀態下,因為用戶已經是會議的一員,這時啟用動態鎖機制,本地的GAF和AF需要先被初始化,然後再向其他站點發送「動態鎖的後加入請求」,以請求並接收其他站點的動態鎖集和GAF的值;(4)第四種用戶狀態下,在故障恢復後再次加入時,首先向後加入伺服器請求GAF的值,然後再向各個站點發出請求,請求並接收此時的動態鎖集。
全文摘要
本發明公開了一種圖案設計協同會議中的動態鎖的後加入問題的解決方法。是通過分析動態鎖用戶在加入一個正在進行中的協同會議時的不同狀態,提出相應的動態鎖數據的同步機制和傳輸流程,以幫助用戶順利的加入到協同會議中。本方法根據用戶的不同狀態而採用不同的動態鎖數據同步機制,從而保證用戶實現後加入過程的流暢,並維護了系統的一致性和預防了可能發生的操作衝突。
文檔編號H04L12/18GK1719775SQ20051005002
公開日2006年1月11日 申請日期2005年6月10日 優先權日2005年6月10日
發明者陳純, 卜佳俊, 紀培蒂, 姜波, 楊建旭 申請人:浙江大學