網絡圖案協同cad/cam設計中後加入的方法
2023-05-17 20:10:56
專利名稱:網絡圖案協同cad/cam設計中後加入的方法
技術領域:
本發明涉及網絡環境下的圖案協同設計技術領域,特別是涉及一種用於解決網絡圖案協同CAD/CAM設計中後加入的方法。
背景技術:
計算機支持的協同工作CSCW(Computer Supported Cooperative Work)是人類社會信息化進程發展的一種必然產物,它極大地提高了人們的工作效率,促進著社會生產力的發展,並深刻地影響著人類群體生產方式、工作方式和生活方式。在CSCW研究的眾多領域中,圖案CAD/CAM協同設計是分布式協同工作的一個重要應用。基於Internet的圖案CAD/CAM協同設計可以使位於不同地理位置的協同設計者,實時同步對同一個設計對象進行編輯,從而極大地提高設計的質量和效率。
對於一個大型複雜協同設計系統,協同設計的參與者後加入是一個無法迴避的永恆話題。因為協同設計允許一些人先發起,一些人後加入,或者一些人中途離線,爾後又重新加入。為此,當一個新的參與者準備加入到一個已經在進行的協同設計工作中去時,就產生了應用初始狀態同步的問題,由此引發了「後加入」問題。若要保證後加入者正常加入協同進程,就必須設計一種有效解決方案,使新參與者的共享工作空間中的對象數據與其它在線協同設計者保持一致。並且在實時CAD/CAM協作系統中,一個用戶的動作必須立即被傳送給當前所有其它參與者。實時協作系統不同於一般無需保留狀態的視頻點播和討論組協同應用系統,它必須提供後加入和故障恢復支持。
在後加入者申請加入協同設計過程中一是如何有效的Updating最新版本數據,尤其是數據量較大時的問題;二是當多個後加入者申請加入,同時進行相同數據Updating的問題;三是在後加入者和後加入伺服器Updating版本數據這段時間內產生的新操作數據的確定和傳輸等技術問題急需解決。
理論上,後加入解決方法至少或者應該全部滿足以下目標。
(1)高一致性。首先要保證後加入者能獲得和其它站點一致的最新應用版本,這是後加入者進行正常協同工作的基礎。
(2)高靈活性。後加入者可以對某一協同工作的歷史過程,或者自己感興趣的一些圖層、區域或對象數據進行靈活、可選擇的Updating。同時,後加入伺服器發送端在選擇發送數據時也具有較高的自由度。
(3)高魯棒性。協同系統不會由於一個或者一些後加入者的加入而影響協同性能,或者一個或一些站點退出而引發系統級問題。
(4)低網絡負載。後加入者確定需要傳輸的數據副本數據量儘可能小,由於後加入而引發的網絡負載應儘可能低,並且不會因為同時有很多後加入者申請加入而造成堵塞。
(5)低更新延時。傳輸數據量較大時,在滿足高交互需求的同時保證後加入者會在極短時間內完成Updating。
發明內容
本發明的目的在於提供一種用於解決網絡圖案協同CAD/CAM設計中後加入的方法。
本發明解決其技術問題所採用的技術方案如下1)後加入服務方法,這個方法用於在多個後加入者申請加入,同時進行相同數據更新過程中;定義1後加入服務是一個後加入伺服器和後加入者二元組,後加入者為申請狀態初始化的後加入者,後加入伺服器為提供更新服務的站點;在全複製結構中,協同系統除了後加入者以外的所有站點都能成為後加入伺服器;2)多後加入伺服器方法,這個方法用於單個後加入者申請加入進行更新過程中;採用多後加入伺服器方法通過連接多個在線後加入伺服器為後加入者提供支持,後加入者在與協同設計組進行數據更新時,所有在線站點都將自己產生的操作數據分別發送給後加入者;對於多個後加入伺服器之間的協調問題,在此發明中採用最快響應的站點作為相對的主後加入伺服器充當協調者,這裡的主次之分是利用了連接時間上必然的先後之分,數據傳輸的優先權仍然是對等的,沒有主次之分;3)確定新操作序列的集合的數據並採用推、拉方法,這個方法用於後加入者開始和其它在線站點一起協同設計時確定並傳輸當前在線站點產生的新操作序列的集合;定義2SNOL=X,D,C,其中,X為新增量集、D為定義域集,C為約束集;式中SNOL是新操作序列的集合;X={X1,X2,…,Xn};D={D1,D2,…,Dn},Di是Xi的定義域;C={C1,C2,…,Cm},每個約束Cj由兩部分組成系統變量集V(Ci)={Xi1,,Xi2,...,Xip,},p<n;關係R(Ci)=R{Xi1,,Xi2,...,Xip,}4)分層優先方法,這個方法用於後加入伺服器發送新操作序列的集合數據過程中;在後加入伺服器端,當它接收到後加入者的申請,建立了確認連接,對後加入者做出服務「承諾」,準備或者開始更新版本數據的同時,也並行對已經確定的新操作序列的集合數據利用數據的空間/時間局部性原理進行分割和打包;後加入者的敏感數據後加入者的敏感數據和感興趣數據的選擇則是根據對後加入者的申請數據分析,並結合與後加入伺服器端新操作序列的集合的比較而確定
5)後加入流程模型,該模型是將以上方法綜合運用的流程框架。
本發明與背景技術相比,具有的有益的效果是通過採用LateServerLatecomer,LateServer、Multi-Server、Pull+Push、DPR,SNOL數據確定、分割和打包,以及後加入流程模型等綜合方法,從而較好的解決了後加入的一致性、靈活性和Updating延時問題,保證了協同設計系統不會因為後加入而導致魯棒性降低,尤其是較好地解決了當多個後加入申請加入,同時Updating相同數據時造成網絡負載過大的問題。
圖1傳統數據更新過程示意圖;圖2後加入者在數據更新同時充當後加入伺服器示意圖;圖3單後加入伺服器隱含缺陷;圖4多後加入伺服器方法;圖5新操作序列的集合示意圖;圖6分層優先服務示意圖;圖7後加入流程模型。
具體實施例方式
本發明解決其技術問題具體實施方法如下1)LateServerLatecomer,LateServer方法。這個方法用於在多個後加入者申請加入,同時進行相同數據Updating過程中。
定義1LateServer=LateServerLatecomer,LateServer為二元組。Latecomer為申請狀態初始化的後加入者,LateServer為提供Updating服務的站點。在全複製結構中,協同系統除了Latecomer以外的所有站點都可能成為LateServer。
如圖1所示,傳統的多個後加入申請加入同一個協作系統,同時進行相同數據Updating時,採用的是LateServer單通道傳輸數據模式。雖然可能如本發明後文所述,有Multi-LateServer服務,但是對於Latecomer而言,傳輸模式仍然是單純Client-Server形式的Input單通道結構。
LateServerLatecomer,LateServer方法是讓Latecomer在作為Client接收副本數據的同時,又充當其它Latecomer的LateServer,此時Latecomer的傳輸模式變為Input-Output雙通道結構。如圖2所示。
在Updating過程中,Latecomer不僅接收其它站點的數據包,而且也為其它後加入者貢獻自己已經更新的副本數據包。
LateServerLatecomer,LateServer方法是一種互惠互利式的傳輸模式,即在無私貢獻自己的同時,也無償享受別人的貢獻。通過這個策略可以有效降低多個後加入者申請加入,同時Updating相同數據時造成的協作網絡負載瓶頸,並極大地加快Updating的速度。特別是當Updating數據量較大時,LateServerLatecomer,LateServer方法的優勢更為顯著。
另外,由於LateServerLatecomer,LateServer方法提供各個後加入者的交互,從而也可以保證多後加入者各自初始應用狀態數據的一致性。
最後,由於是多個後加入申請加入,同時Updating相同數據也會給整個協同系統的魯棒性提出嚴峻考驗,LateServerLatecomer,LateServer方法會因為利益共享、責任分擔而降低系統風險,保證系統魯棒性。
2)Multi-LateServer方法。這個方法用於單個Latecomer申請加入進行Updating過程中。
因為在複製結構下,單LateServer方法存在隱含缺陷。在基於Internet的實時CAD/CAM協作系統中,必然包含遠程協同設計站點,而遠程設計的數據包在網絡傳輸時可能存在一定延時,那麼,當Latecomer選擇某一個協同站點作為LateServer時,個別其它站點發出的數據包可能尚未到達該站點,這樣便可能導致Updated數據不完全。
如圖3所示。某個站點在t0時發出的數據包可以正常地通過LateServer而Updating到Latecomer。然而,該站點在t1時發送的數據包在t4時刻才到達LateServer,而在t4之前,t2-t3這段時間內,Latecomer已經完成Updating數據傳輸過程,可以看出此時後加入者Updated的數據不完整。為了避免這種情況的發生,便要採用Multi-LateServer方法。如圖4所示。
Latecomer在與協同設計組進行Updating時,所有在線站點都將自己產生的操作數以及相應的操作分別發送給Latecomer。當然此時存在一個Multi-LateServer之間的協調問題。在此用最快響應的站點作為相對的「主」LateServer充當協調者,這裡的主次之分是利用了連接時間上必然的先後之分,數據傳輸的優先權仍然是對等的,沒有主次之分。Multi-LateServer服務有效的解決了單latecomer可能帶來的Updating數據不完整的隱患,並有效降低了Updating可能給單個LateServer帶來的沉重負擔,尤其是Updating數據量較大時,這一點顯得尤為重要。同時由於是多個LateServer共同支持Latecomer,也就分擔了系統風險,可以保證系統魯棒性。
3)確定SNOL的數據並採用Pull+Push方法。這個方法用於後加入者開始和其它在線站點一起協同設計時確定並傳輸建立在上一次協同設計的版本基礎上當前在線站點產生的新操作序列的集合(Set of New Operational List-SNOL)。
後加入站點在加入某一個協同設計環境時,除了首先要Updating保存於LateServer上協同設計的最新版本數據之外,對後加入者而言,要想開始和其它在線站點一起協同設計,還需要Updating在Latecomer和LateServer進行Updating版本數據這段時間內產生的新操作數據,並運用一定策略傳輸這些數據。也就是確定並傳輸建立在上一次協同設計的版本基礎上當前在線站點產生的新操作序列的集合(Set of New Operational List-SNOL)。
定義2SNOL=X,D,C。其中,X為新增量集、D為定義域集,C為約束集。
式中X={X1,X2,…,Xn};D={D1,D2,…,Dn},Di是Xi的定義域;C={C1,C2,…,Cm},每個約束Cj由兩部分組成系統變量集V(Ci)={Xi1,,Xi2,...,Xip,},p<n;關係R(Ci)=R{Xi1,,Xi2,...,Xip,}SNOL中變量之間的關係和抽象出的SNOL數據模型如圖5所示。
當然,在後加入站點申請進行Updating數據前,首先要確定是否需要進行數據Updating,以及哪些圖層或繪圖區域的數據需要進行Updating。如確認需要Updating數據,則開始申請/接收SNOL數據。
SNOL數據傳輸中包含Pull+Push兩種機制,即SNOL數據傳輸有查詢機制和告知機制。查詢機制是指由latecomer通過LateServer上的狀態數據獲取SNOL數據,對應於數據獲取中的「拉」(Pull);告知機制是由LateServer根據Latecomer的要求,將SNOL數據以事件的形式發送給它,對應於數據獲取中的「推」(Push)。
另外,如果「後加入」站點是當前唯一的在線系統主機,或者該站點在加入協同設計時,其它在線協同設計者沒有對圖案進行任何修改,那麼,該後加入站點可以直接開始設計工作,而無需進行後加入數據的Updating。
4)分層優先DPR方法。這個方法用於LateServer發送SNOL數據過程中。
LateServer在發送SNOL數據時不是一視同仁,而是採取對Latecomer感興趣的數據(Latecomer Interested Data-LID)優先傳輸策略。
在LateServer端,當它接收到Latecomer的申請,建立了確認連接,對Latecomer做出服務「承諾」後,準備或者開始Updating版本數據的同時,也並行對已經確定的SNOL數據利用數據的空間/時間局部性原理進行分割和打包。究竟採用時間局部性還是空間局部性則是根據數據特性具體確定。例如對於一個完整圖形對象的旋轉、移動和修改屬性值的操作記錄數據便採用時間局部性,而對於添加、刪除一個繪層、繪圖區域或者圖形對象的操作數據則採用空間局部性。
Latecomer的敏感數據(Latecomer Susceptive Data-LSD)和感興趣數據的選擇則是根據對Latecomer的申請數據分析,並結合與LateServer端SNOL數據的比較而確定。
當然,對於在協同圖形共享工作空間中特定用戶不感興趣的一些圖層、區域或對象數據。為了提高系統的效率,這些數據暫時作為Latecomer預留數據(Latecomer Obligate Data-LOD)處理,不進入同步Updating數據。只是在用戶在需要時,再觸發這些圖層、區域或對象而發起新的申請,進行新一次的數據Updating。這種情況可以稱為後觸髮式Updating或者「後後加入者」。此過程如圖6所示。
5)後加入流程模型。該模型是將以上方法綜合運用的流程框架。
該模型將後加入劃分為三個狀態(1)latecomer申請、判斷並發送Updating請求-lateServer響應、承諾服務並發確認信息-(2)Updating版本數據(主要運用Multi-Server和LateServerLatecomer,LateServer服務策略)-(3)確定、分割打包並傳輸SNOL數據(主要運用Pull+Push和DPR服務策略)。詳細流程請參見圖7。
權利要求
1.一種網絡圖案協同CAD/CAM設計中後加入的方法,其特徵在於1)後加入服務方法,這個方法用於在多個後加入者申請加入,同時進行相同數據更新過程中;定義1後加入服務是一個後加入伺服器和後加入者二元組,後加入者為申請狀態初始化的後加入者,後加入伺服器為提供更新服務的站點;在全複製結構中,協同系統除了後加入者以外的所有站點都能成為後加入伺服器;2)多後加入伺服器方法,這個方法用於單個後加入者申請加入進行更新過程中;採用多後加入伺服器方法通過連接多個在線後加入伺服器為後加入者提供支持,後加入者在與協同設計組進行數據更新時,所有在線站點都將自己產生的操作數據分別發送給後加入者;對於多個後加入伺服器之間的協調問題,在此發明中採用最快響應的站點作為相對的主後加入伺服器充當協調者,這裡的主次之分是利用了連接時間上必然的先後之分,數據傳輸的優先權仍然是對等的,沒有主次之分;3)確定新操作序列的集合的數據並採用推、拉方法,這個方法用於後加入者開始和其它在線站點一起協同設計時確定並傳輸當前在線站點產生的新操作序列的集合;定義2SNOL=X,D,C,其中,X為新增量集、D為定義域集,C為約束集;式中SNOL是新操作序列的集合;X={X1,X2,…,Xn};D={D1,D2,…,Dn},Di是Xi的定義域;C={C1,C2,…,Cm},每個約束Cj由兩部分組成系統變量集V(Ci)={Xi1,,Xi2,…,Xip,},p<n;關係R(Ci)=R{Xi1,,Xi2,…,Xip,}4)分層優先方法,這個方法用於後加入伺服器發送新操作序列的集合數據過程中;在後加入伺服器端,當它接收到後加入者的申請,建立了確認連接,對後加入者做出服務「承諾」,準備或者開始更新版本數據的同時,也並行對已經確定的新操作序列的集合數據利用數據的空間/時間局部性原理進行分割和打包;後加入者的敏感數據後加入者的敏感數據和感興趣數據的選擇則是根據對後加入者的申請數據分析,並結合與後加入伺服器端新操作序列的集合的比較而確定;5)後加入流程模型,該模型是將以上方法綜合運用的流程框架。
全文摘要
本發明公開了一種用於解決網絡圖案協同CAD/CAM設計中後加入的方法。在分析解決後加入問題應達到目標的基礎上,採用LateServer、Multi-Server、Pull+Push、DPR,SNOL數據確定、分割和打包,以及後加入流程模型等綜合方法解決了後加入的一致性和Updating延時等技術問題。通過採用這些技術可以保證協同系統不會因為後加入而導致魯棒性降低,尤其是較好地解決了當多個後加入申請加入,同時Updating相同數據時造成網絡負載過大的技術難點。
文檔編號G06F17/50GK1645808SQ20051004898
公開日2005年7月27日 申請日期2005年1月21日 優先權日2005年1月21日
發明者陳純, 卜佳俊, 惠懷海, 楊建旭 申請人:浙江大學