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