(1.重慶交通大學 機電與汽車工程學院 重慶 400074; 2.重慶大學 機械傳動國家重點實驗室 重慶 400030;3.中國石油集團鉆井工程技術研究院 康布爾公司 北京 100041)
摘 要:為解決協同設計過程中幾何模型的動態訪問問題,提出一種基于Web的協同設計環境下三維幾何建模動態訪問的分布式體系結構、異類CAD系統之間的動態數據交換組織模式。同時,提出一種面向對象的基于優先權限的樂觀并發控制協議,保證模型動態訪問在各站點操作的執行結果之間的一致性。在這些技術的共同作用下實現了協同三維幾何建模動態訪問技術,并通過具體實例驗證了該技術的可行性。
關鍵詞:協同設計; 動態訪問; 并發控制
中圖分類號:U653.921; TP391.72文獻標志碼:A
文章編號:1001-3695(2009)05-1636-03
Dynamic accessing technology of 3D geometric modeling for collaborative design
LUO Tianhong1 CHEN Xiaoan2 FANG Yiping3
(1.School of Mechatronics Automotive Engineering Chongqing Jiaotong University Chongqing 400074 China; 2.State Key Laboratory of Mechanical Transmission Chongqing University Chongqing 400030 China; 3.Kembl Company Drilling Research Institute Beijing 100041 China)
Abstract:To solve the dynamic accessing of geometric modeling for collaborative design researched several key technologies and presented a distributed system structure of collaborative design. Developed the organization mode of dynamic data exchange which carried out the realtime exchange and consistency of the dynamic data among the different platforms and CAD systems. Developed an objectoriented prioritybased optimistic concurrency control protocol (OPOCCP) which ensured high efficiency and consistency of sharing model and data at different sites. Integrated all the technologies,realized the dynamic accessing technology of 3D geometric modeling for collaborative design. Finally took an example to validate the dynamic accessing technologies.
Key words:collaborative design; dynamic accessing; concurrency control
網絡環境下產品協同設計的研究體現了信息時代人們工作的群體性、分布性、交互性及協同性的特征?;诰W絡環境的協同設計的核心問題仍然是產品信息模型的描述、建立、應用問題。三維幾何建模的動態訪問不僅是協同設計的關鍵問題,也是在該領域亟待解決的難題,是網絡環境下協同設計實現的核心,是網絡支持的協同設計領域的研究重點之一。劉道斌等人[1]提出了一種基于工作流狀態的動態訪問控制技術。孫鵬等人[2]研究了基于網格的并發控制模型。方萃浩等人[3]研究了協同環境下模型的多層次動態安全訪問控制。陸彬彬等人[4]提出了一種基于信息流分析的文檔動態訪問控制方法。Syed等人[5]研究了針對網格應用的動態訪問控制技術。Chaudhuri[6]提出了面向對象計算的動態訪問控制關鍵技術和實現方法。然而協同三維幾何建模不同于常規的數據信息建模,它是一個動態的過程,面臨著數據種類多、數據量大、實時并發控制難度大的問題。因此本文提出協同設計環境下三維幾何建模動態訪問技術,主要包括構筑網絡協同設計三維幾何建模共享平臺、尋找三維模型數據的動態交換方法和實用技術,以及實時并發控制機理及實現。通過給用戶提供一個邏輯上一致的、可描述產品全生命周期信息的三維建模動態訪問技術和方法,支持各類不同數據格式模型的信息共享、集成與協同運行,實現模型在協同設計中的一致表示與信息交換和共享。
1 基于網絡協同設計三維幾何建模共享體系結構
基于Web的協同三維幾何建模動態訪問的體系結構如圖1所示。
該結構為混合式體系結構,即只將重要的應用和數據存放在服務器上,而其他一些簡單的應用和數據可以在各地用戶之間直接通信交流,無須經過服務器,在服務器上只需拷貝實時更新的圖形數據。這樣既易于實現存取管理和保證數據的一致性;同時又大大減輕了服務器的負擔,解決了因數據量大而造成網路滯緩這一主要問題。在這種體系結構[7,8]中,協同用戶可以定義自己的工作界面,有較短的響應時間。每臺計算機保存一份本地數據模型拷貝,每個用戶操作的是本地數據模型,由后臺的協同服務器負責維護各個數據拷貝的同步和一致,因此該體系結構具有很好的靈活性、可靠性、可擴展性。
該體系結構主要包括多服務器系統、協同用戶建模系統、基于CORBA/Java中間插件的3D幾何模型特征信息同步傳輸和共享平臺。
多服務器系統是一個包括數據庫、Web、XML和代理的多服務器系統。
基于CORBA/Java的數據傳輸和共享平臺支持多用戶、分布數據管理、消息傳輸、網絡通信以及可擴展性[9]。所有的協同用戶可以同步交互和操作3D模型,每一位本地用戶都有一個共享對象的副本。該共享平臺由多播特征流控制器、模型特征參數流、特征流接口[10,11]和MIIOP協議組成。
2 模型動態數據交換技術
動態數據交換是成功實現網絡驅動協同設計的關鍵技術[12,13]。本文提出異類CAD系統之間的動態數據交換組織模式,以STEP為產品數據交換標準,Oracle數據庫為系統核心數據庫,各CAD系統用戶可同時訪問Oracle數據庫,實現信息共享和交互。提出STEPOracle動態數據交換組織模式,實現了跨平臺異類CAD系統之間動態數據的實時交互和數據的實時一致性。
采取STEP與Oracle相結合的方式建立網絡協同設計動態交換數據組織模型,如圖2所示。其中Oracle作為中心數據庫位于server上,用于管理數據庫間的相互依賴關系、系統信息等全局信息以及常用的公用數據。中心數據庫通過信息傳遞與各子數據庫進行協調、聯系。
CAD系統對STEP交換文件的方式為:STEP前處理器把某一CAD系統(A)內的數據轉換成符合STEP交換結構語法的文件(交換文件);STEP后處理器讀入STEP文件,把交換結構描述的數據轉換成接收系統(另一CAD系統B)內的數據。
任何STEP的物理文件均可以被轉換并存儲到Oracle中。STEPOracle的內容是3D產品設計數據,這些數據可以是來自不同CAD系統,如CATIA、IDEAS、AutoCAD或pro/engineer等。為了把這些數據裝載到Oracle中,開發了一個STEP loader。STEP loader閱讀Oracle文件生成新的幾何模型。在Oracle中作為結果的STEP文件能夠通過WWW進行瀏覽和閱讀。
3 模型動態訪問的并發控制技術
傳統的并發控制方法包括雙階段鎖、時間戳、樂觀并發控制和混合控制方法等。但是它們都在一定程度上存在死鎖、夭折率和重啟率高等弊端。網絡環境下協同設計涉及的主要是對幾何圖形數據庫的并發操作。本文提出一種面向對象的基于優先權限的樂觀并發控制協議,保證在不同站點處的同一對象多個拷貝在各自只有一個進程訪問的情況下,這些復制之間及各操作在各站點的執行結果之間的一致性;每次對象的拷貝也只是復制發生改變的部分,而不是整個對象,降低了網絡負擔;利用樂觀并發控制不堵塞、無死鎖的特點,通過對優先權限的計算分配,保證網絡協同用戶在操作過程中具有高并發率和數據的實時一致性。
本文定義對象(O):O=〈OID,parameter,time,OSID,OV〉。其中:OID為對象標志號;parameter為對象參數;time為對象修改時間;OSID為對象所在協同站點號碼;OV為對象有效性。OPOCCPR的操作(Ti)分為request、insert、delete、update 四種類型。
request=〈OID,per,dl,RSID,RV〉,insert =〈OID,per,dl,ISID,IV〉,
delete =〈OID,per,dl,DSID,DV〉,
update =〈OID,per,dl,USID,UV〉,TV=〈RV,IV,DV,UV〉
其中:per為操作執行周期;dl為請求的最后期限;SID為協同站點號碼;RSID為請求所在協同站點號碼;ISID為插入所在協同站點號碼;DSID為刪除所在協同站點號碼;USID為修改所在協同站點號碼;TV表示有效性;RV為請求的有效性;IV為插入的有效性;DV為刪除的有效性;UV為修改的有效性。
操作對象的優先權限的模糊向量表達式如式(1)所示:
O(p)={O(p)i|i=1,…,n}(1)
操作分為四類,每類的權限有差別。操作類型的優先級向量表達式如式(2)所示:
Ty(p)={R(p)l,I(p)i,D(p)j,U(p)k|i,j,k,l=1,…,n}(2)
Ty為操作類型。
操作過程中產生的新的操作為二級操作,依此類推有三級……定義下級操作的優先權限低于上級操作的優先權限。影響操作優先權限的因素包括操作類型、對象操作周期、操作的最后期限、網絡站點等,本文一一介紹它們的優先權限的計算過程和分配情況。
per指操作執行的周期,本文定義周期越短優先權限越大。周期的優先權限的模糊向量表達式如式(3)所示:
per(p)=per(p)i/∑n1per(p)i|i=1,…,n(3)
操作對象最后期限的模糊向量如式(4)所示:
dl(p)=d(p)i/∑n1d(p)i|i=1,…,n(4)
協同站點的優先權限與設計人員的工作能力、工作經驗、知識水平以及網絡帶寬、網絡傳輸速率等有關,因此網絡工作站點的優先權限由這些因素綜合決定。工作站點優先權限的模糊向量表達式如式(5)所示:
SID(p)=ISD(p)i/∑n1ISD(p)i|i=1,…,n
(5)
操作的優先性由以上幾個因素綜合決定,影響最大的是對象O和操作類型Ty。由操作類型、周期、最后期限和網絡站點組成的優先權限矩陣式如(6)所示:
TP(p)=∫n(dl(p)i∨per(p)i∨SID(p)i∨Ty(p)i)/n(6)
其中:“∫”表示合并運算;“∨”表示取最大值。
操作(Ti)的優先權限模糊向量表達式如式(7)所示:
T(p)i=OTP(p)=(o1,o2,…,on)
tp(p)11tp(p)12…tp(p)1m
tp(p)21tp(p)22…tp(p)2m
tp(p)n1tp(p)n2…tp(p)nm=(t(p)1,t(p)2,…,t(p)n)(7)
并發執行過程中要考慮如下四種情況:
Case1 同一對象,不同類操作。在這種情況下,優先權只與操作的優先權限有關,操作權限高的具有優先操作權。
T(p)i=Ty(p)i(8)
Case2 不同對象,同一類操作。在這種情況中,優先權限只與對象的優先權限有關。零件中基本體的創建次序包含著零件結構重要程度的信息,規定先創建的基本體是主要結構,后創建的基本體是次要結構,先創建的權限大于后創建的,創建的第一個基本體權限最大,其他的對象優先權限系數按照創建的先后次序依次遞減。同一類操作,其網絡站點優先權限有差別。
T(p)i=O(p)i=(n-i)/(1+2+…+n);i=0,1,2,…,n-1(9)
O(p)i≥0,滿足非負性;∑n-1i=0O(p)i=1,滿足歸一性。
Case3 不同對象,不同類操作。這是最復雜的一種情況,本文用式(10)的優先權限模糊向量來計算優先權限的分配。
T(p)i=OTP(p)
(10)
Case4 同一對象,同一類操作。在這種情況中,優先權限的差別來自于網絡站點優先權限。網絡站點優先權限大的具有優先操作權限。
4 實例展示
以Pro/E和IDEAS作為建模工具,以STEP作為數據交換的中性文件,實現不同CAD平臺之間模型交互。以設計一臺油泵為例介紹整個特征建模過程。基于油泵的特征建模過程描述如圖3所示。
圖4所示的是采用前面所述的一些關鍵技術開發的一個協同設計特征建模動態交互原型系統對油泵進行協同設計。在每位協同用戶終端上能同時顯示三個圖形窗口:本地設計視圖窗口;從服務器端傳送來的裝配圖窗口;可以顯示其他用戶共享區的模型窗口。用戶在本地視圖窗口進行建模設計,而在裝配圖窗口可以看到自己設計的模型部件與其他相關部件的裝配連接關系,實現了面向裝配的設計(DFA)。
例如,IP地址為202.202.10.10用戶設計一個油泵齒輪。該用戶使用的CAD工具是Pro/Engineering,完成設計后通過協同設計特征建模共享原型系統上傳給服務器,并發布到共享區,其他協同用戶可以共享這個模型,瀏覽和提取他們各自需要的數據。油泵的其他模型部件的設計類似,只是它們可能選用不同的建模工具以及相應地形成不同的數據格式。通過中性文件格式之間的轉換就可以實現數據交互,在服務器端實現,完成裝配過程,從而再把裝配體發送給各個協同用戶。通過這個共享系統完成整個油泵的設計。
5 結束語
混合式的模型動態交互機制確保在服務器上只傳輸和保留重要的信息和備份文件,其他的數據可以直接在用戶之間交互而不用通過服務器,以此減輕了服務器的負擔,降低了網絡帶寬的要求,提高了系統響應效率。根據網絡協同設計的特點,以Oracle數據庫為核心的多數據庫系統,各CAD系統用戶可以同時訪問Oracle數據庫,能夠實現用戶與服務器,用戶與用戶之間的圖形、數據的實時交互。面向對象的實時復制結構下基于優先權限的樂觀并發控制協議,保證了協同設計過程中較高的并發度、較短的響應時間,而且能及時檢查沖突,資源利用率高、重啟率低,能保持各共享圖形、數據的實時一致性。
參考文獻:
[1]劉道斌,白碩. 基于工作流狀態的動態訪問控制[J]. 計算機研究與發展,2003,40(3):417-420.
[2]孫鵬,楊德婷,周維,等. 網格環境下動態訪問控制模型的研究與實現[J].計算機工程與應用,2007 43(11):132-135.
[3]方萃浩,葉修梓,彭維,等. 協同環境下模型的多層次動態安全訪問控制[J].軟件學報,2007,18(9): 2295-2305.
[4]陸彬彬,王雋竹,唐發根. 一種基于信息流分析的文檔動態訪問控制方法[J].計算機工程與應用 2008 44( 3): 139-142.
[5]SYED N MICHEL R. Dynamic access control for pervasive grid applications[C]//Proc of International Conference on Computational Intelligence and Security. 2005:348-355.
[6]AVIK C. Dynamic access control in a concurrent object calculus[C]//Proc of the 17th International Conference on CONCUR2006. Berlin:Springer 2006:263-278.
[7]ZAHED S. Internetbased collaborative design environment[C]//Proc of ASEE 2004 Annual Engineering Education Researches New Heights Conference and Exposition. 2004: 8189-8198.