999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SVN的智能主模型數(shù)據(jù)管理方法和應(yīng)用研究

2018-09-04 16:36:14
制造業(yè)自動化 2018年8期
關(guān)鍵詞:智能功能

(北京航空航天大學(xué) 機械學(xué)院,北京 100191)

0 引言

火箭、導(dǎo)彈等航天器產(chǎn)品復(fù)雜,航天器的設(shè)計過程涉及飛行器設(shè)計、機械、電子等多個學(xué)科,它的設(shè)計過程是自頂向下、從整體到局部,包含多個學(xué)科反復(fù)迭代的過程。采用智能主模型(Intelligent Master model,IMM)產(chǎn)品建模方法,使用模塊化技術(shù)、多層級骨架結(jié)構(gòu)及參數(shù)化驅(qū)動技術(shù),通過參數(shù)化技術(shù)和多學(xué)科數(shù)據(jù)模型推送接口,能夠?qū)崿F(xiàn)設(shè)計與評估分析過程的自動化,便于設(shè)計模型修改和迭代更替,縮短設(shè)計周期[1]。

在基于智能主模型的總體數(shù)字化協(xié)同設(shè)計環(huán)境中,產(chǎn)品設(shè)計的核心數(shù)據(jù)采用智能主模型表達,同時智能主模型也是專業(yè)學(xué)科之間交換數(shù)據(jù)的媒介。隨之產(chǎn)生的問題是基于智能主模型的產(chǎn)品設(shè)計環(huán)境中主模型數(shù)據(jù)庫包含大量不同學(xué)科、不同專業(yè)的設(shè)計數(shù)據(jù),這些數(shù)據(jù)的管理是智能主模型技術(shù)支持多學(xué)科協(xié)同設(shè)計成功的關(guān)鍵[1]。為了完成協(xié)同的設(shè)計流程,多專業(yè)的設(shè)計師將對同一份智能主模型實例中的數(shù)據(jù)進行獲取和提交,為此有必要建設(shè)數(shù)據(jù)管理系統(tǒng)達到以下目標:

1)將個人產(chǎn)生的數(shù)據(jù)提交到集中的版本庫中,實現(xiàn)數(shù)據(jù)的傳遞和分享。

2)對數(shù)據(jù)變化的完成歷史進行存檔。

3)以數(shù)據(jù)的關(guān)聯(lián)和演進為線索,在多學(xué)科協(xié)同設(shè)計數(shù)據(jù)中建立譜系關(guān)系,從數(shù)據(jù)視角展示設(shè)計過程。

目前,在國外流行的項目數(shù)據(jù)管理軟件clearCase在數(shù)據(jù)版本監(jiān)控和管理方面功能強大,但是是收費的,不開源,而且配置管理操作復(fù)雜,不易掌握,并且缺少數(shù)據(jù)依賴的譜系追蹤和管理。江南大學(xué)和中船702聯(lián)合開發(fā)的基于Redis的主模型管理系統(tǒng)設(shè)計與實現(xiàn)[5],實現(xiàn)了主模型數(shù)據(jù)的版本管理和譜系管理功能,但是版本管理和譜系管理功能都是原生開發(fā),沒有借用目前現(xiàn)有的版本管理功能的系統(tǒng)的功能,開發(fā)成本較高、周期長。

SVN(Subversion)版本管理軟件,是當前最流行的一款開源的版本控制工具,適用于多個組成分支共同開發(fā)同一個項目,實現(xiàn)共享資源[2]。SVN的核心任務(wù)是實現(xiàn)歷史數(shù)據(jù)版本控制和協(xié)同開發(fā)。通過在一臺服務(wù)器上建立一個中心版本庫,版本庫中可以存放許多不同的項目資源,SVN通過URL來標識版本庫中的資源,項目組成員可以通過SVN協(xié)議或http協(xié)議訪問版本庫中的資源[2]。項目各分支成員在客戶端建立工作目錄,將版本庫里的項目文件檢出到客戶端機器中,然后在自己的工作拷貝中進行任何修改,提交到SVN服務(wù)器,由它進行綜合更新。當每次提交時,SVN將提交的項目資源的版本與原有版本進行比較,如果有修改則記錄修改內(nèi)容,更新版本號,項目組成員可以檢出以往的任一版本,同時SVN也提供了不同版本之間比較的功能[4]。

由于SVN的版本控制和數(shù)據(jù)管理的易操作和便利,為復(fù)雜產(chǎn)品的多學(xué)科協(xié)同開發(fā)中主模型數(shù)據(jù)管理,提供了一條嶄新路徑。本文研究SVN的sever/client獲取和提交的數(shù)據(jù)共享框架原理,借用SVN對數(shù)據(jù)版本的修改提交、更新等事件的原子操作來保證主模型數(shù)據(jù)版本管理的準確性。通過在xml中添加對于不同學(xué)科數(shù)據(jù)譜系的定義,實現(xiàn)客戶端和服務(wù)器端的數(shù)據(jù)譜系管理,同時,通過對SVN本身用戶權(quán)限配置文件的管理和修改,來實現(xiàn)不同學(xué)科分支對于主模型數(shù)據(jù)的只讀和修改權(quán)限,開發(fā)基于SVN的主模型數(shù)據(jù)管理系統(tǒng)。

1 智能主模型數(shù)據(jù)管理系統(tǒng)整體框架

本文提出的智能主模型數(shù)據(jù)管理方法建立在SVN版本管理框架上,SVN系統(tǒng)架構(gòu)和數(shù)據(jù)版本主要功能如圖1(a)和圖1(b)所示。

圖1 SVN版本管理框架

Repository按照一定格式存儲所有數(shù)據(jù),包括文件和目錄,版本庫會記錄每一次的更改,因而可以追溯歷史版本。經(jīng)過授權(quán)的客戶端連接到版本庫,拷貝Repository中的文件和目錄到本地,建立一個工作目錄。

在提交修訂之前,SVN不會將你工作拷貝內(nèi)的任何修改上傳服務(wù)器與他人所作的修改進行合并。并且SVN會在每個工作拷貝的一個特定位置(.svn的隱藏文件夾中)保存該工作拷貝最后一次提交時的文件及目錄情況,它可以用來幫助Subversion識別最近哪些文件作了修改,哪一個文件相對于其他人作的修改已經(jīng)過期,需要更新版本。

SVN的提交(Commit)操作是原子操作。每次提交完成后,版本庫的文件系統(tǒng)就進入了一個新的狀態(tài),叫做一次修訂(Revision),每一次修訂都會賦予一個獨一無二的版本號[6]。

由于SVN系統(tǒng)本身在版本控制方面所做的比較完善的基礎(chǔ),及其與智能主模型數(shù)據(jù)管理系統(tǒng)版本功能的基本契合,基于SVN設(shè)計的智能主模型數(shù)據(jù)管理系統(tǒng)的總體架構(gòu)如圖2所示。

圖2 系統(tǒng)架構(gòu)

其中數(shù)據(jù)管理模塊建立在SVN客戶端基礎(chǔ)上,開發(fā)模型數(shù)據(jù)管理系統(tǒng)和客戶端軟件,以SVN的標準命令行接口調(diào)用SVN客戶端,實現(xiàn)版本管理功能,并在此基礎(chǔ)上進行二次開發(fā),實現(xiàn)譜系管理功能,該系統(tǒng)的整體為C/S架構(gòu)。權(quán)限管理部分為B/S架構(gòu),實現(xiàn)系統(tǒng)賬號管理和用戶權(quán)限管理,通過修改SVN服務(wù)器模塊配置文件的方式,實現(xiàn)基于SVN自身功能的用戶權(quán)限控制。權(quán)限管理模塊只影響客戶端用戶和權(quán)限信息,二者相對獨立。

根據(jù)系統(tǒng)架構(gòu),結(jié)合主模型數(shù)據(jù)管理系統(tǒng)的使用要求,將功能實現(xiàn)劃分為以下三個模塊,如圖3所示,分為三個功能,在客戶端實現(xiàn)版本管理功能和譜系管理功能,在服務(wù)器端實現(xiàn)權(quán)限管理功能。

圖3 智能主模型管理系統(tǒng)功能

2 智能主模型數(shù)據(jù)管理系統(tǒng)功能模塊設(shè)計

2.1 版本控制管理功能

主模型數(shù)據(jù)管理系統(tǒng)的版本管理功能主要是在客戶端登陸后,在系統(tǒng)用戶界面層通過SVN提供的Svnkit開源包,調(diào)用其中的接口函數(shù)在界面層增加響應(yīng),實現(xiàn)當前數(shù)據(jù)版本的更新、提交、還原、鎖定和解鎖功能。

1)更新:調(diào)用Svnkit中的SVNUpdateClient類doUpdate()接口,實現(xiàn)從服務(wù)器中心版本庫中獲取當前最新的數(shù)據(jù)版本到當前的工作目錄。如果是首次創(chuàng)建的本地工作目錄,則調(diào)用doCheckOut()接口,從中心版本庫中檢出工作副本。

2)提交:調(diào)用Svnkit中的SVNCommitClient類的doCommit()接口,將修改從工作副本提交到中心版本庫。

3)還原:調(diào)用Svnkit中的SVNUpdateClient類接口,將工作目錄還原位于上次從服務(wù)器端下載版本完全一致的狀態(tài),所有在本地目錄的修改將被丟棄。

4)鎖定/解鎖:調(diào)用SvnLock()和SvnUnLock()接口,來實現(xiàn)對當前目錄或者選定文件進行鎖定。即被鎖定后,其他工作副本不得對此文件的操作為只讀而不可修改。此功能主要為了防止當某個工作目錄正在修改文件時,另外一個工作副本提交對此文件的修改,導(dǎo)致了數(shù)據(jù)不一致問題,所以在當前工作副本修改某文件時,需使用鎖定功能,提交完修改后進行解鎖。

2.2 譜系管理功能設(shè)計

由于多專業(yè)協(xié)同設(shè)計的特點,智能主模型中的大部分數(shù)據(jù)根據(jù)另一部分數(shù)據(jù)生成,前者稱為上游數(shù)據(jù),后者稱為下游數(shù)據(jù),上游數(shù)據(jù)的修改更新會導(dǎo)致下游數(shù)據(jù)的版本過時,原理上,下游數(shù)據(jù)需要重新生成。

主模型系統(tǒng)需要用戶定義的上下游數(shù)據(jù)之間的依賴關(guān)系,如圖4所示。

圖4 數(shù)據(jù)依賴關(guān)系示意

依賴關(guān)系的含義如下:

文件C依賴于文件E:文件C的版本更會導(dǎo)致文件E的版本過時。

目錄1依賴于目錄2:目錄2及其子目錄中任何文件的版本更新都會導(dǎo)致目錄1中的所有文件過時。

受到SVN的自身所賦予的數(shù)據(jù)版本號的概念的啟發(fā),利用存儲數(shù)據(jù)的版本號大小進行比對,一次來判斷當前某個數(shù)據(jù)項是否“過期”或者“待更新”,由于SVN自身提供版本號是針對當前所有數(shù)據(jù)整體,并不是某個單獨數(shù)據(jù)項,意味著,數(shù)據(jù)集中有一個數(shù)據(jù)項發(fā)生變化,整體版本號便會自增1。因此,在SVN基礎(chǔ)上進行二次開發(fā),來配置數(shù)據(jù)集中數(shù)據(jù)項的譜系關(guān)系和記錄各自的版本號。

XML語言作為一種描述性語言,具有以下特點:格式簡單、跨平臺和可擴展。XML語言使用簡單,具有許多現(xiàn)成的讀寫接口,因此,利用XML來存儲數(shù)據(jù)的譜系管理信息。

建立一個名稱為AncestryRelation的XML文件,在XML中每個節(jié)點設(shè)置以下幾個屬性值。如表1所示。

XML中每個節(jié)點的名稱是當前文件的全路徑加上“_Dir”或者“_File”來表示當前設(shè)置譜系的是一個文件夾或者文件。

初始為某一個文件設(shè)置譜系。只能給當前文件或者文件夾設(shè)置它的父親,首先,根據(jù)文件的名稱在AncestryRelation里查找,若其已經(jīng)設(shè)置過父親,則需要給出提示,不能設(shè)置父親。或者先刪除原有父親,再進行設(shè)置,若其沒有設(shè)置過父親,則可以設(shè)置父親。

每次在設(shè)置譜系后,保存譜系的時候,都需要確定當前文件的版本號。首先,需要查看當前文件或者文件夾所設(shè)置父親的版本號,應(yīng)當比當前父親的版本號基礎(chǔ)上加1,若當前父親還沒有xml,則置當前文件的版本號為1。另外,若當前文件存在下游,則把當前文件的所有下游的是否判斷過期的標志位全部置為false,即就是不判斷是否過期。

每次給當前文件或者文件夾設(shè)置譜系關(guān)系的時候,都必須同時鎖定它的所有下游。修改文件或者文件夾的時候,需要同時鎖定它的下游。修改完畢提交的的時候,如果有修改文件的下游沒有鎖定,則無法提交。

每次修改完一次當前文件,為了使他的下游過期。首先,當前文件或者文件夾的所有下游全部的是否判斷過期的標志位全部置為true。然后,當前修改文件或者文件夾的xml中的版本號,在其所有下游中的最大的版本號的基礎(chǔ)上+1,以此來保證所有的下游變成過期狀態(tài)。

2.3 權(quán)限管理功能設(shè)計

智能主模型數(shù)據(jù)管理系統(tǒng)基于成熟的SVN版本管理系統(tǒng)搭建,通過修改SVN服務(wù)器模塊配置文件svnserve.conf和authz.conf的方式,其中svnserve.conf保存用戶的認證信息,authz.conf中保存用戶的分組以及訪問權(quán)限信息,實現(xiàn)基于SVN自身功能的用戶權(quán)限控制。

表1 AncestryRelation的XML文件說明

為智能主模型數(shù)據(jù)管理系統(tǒng)的模塊設(shè)置“三員”賬號訪問,各賬號說明如下:

系統(tǒng)管理員:負責(zé)創(chuàng)建和更新用戶,負責(zé)創(chuàng)建版本庫。

安全保密管理員:負責(zé)分配每名用戶負責(zé)能夠訪問的版本庫。

安全審計員:負責(zé)查看系統(tǒng)管理員和安全保密員的操作日志。

此種修改SVN自身配置文件的方式來設(shè)計權(quán)限管理功能,有效了復(fù)用了SVN自身的權(quán)限設(shè)置模塊,簡化了開發(fā)周期和成本。利用SVN自身的權(quán)限設(shè)置原理,保證的系統(tǒng)權(quán)限管理功能的正確性和有效性。

3 系統(tǒng)的數(shù)據(jù)協(xié)同管理驗證

為了驗證說明基于SVN的主模型數(shù)據(jù)管理系統(tǒng),現(xiàn)以XX型號火箭設(shè)計為例,火箭總體設(shè)計數(shù)據(jù)協(xié)同管理中每輪方案論證模型都是支持火箭總體設(shè)計的產(chǎn)品主模型數(shù)據(jù),主模型基于功能的分解,可以得到底層的存儲單元,主模型中具有存儲單元列表,涉及火箭設(shè)計階段的四個不同專業(yè):總體、氣動、彈道和姿控設(shè)計。存儲單元總體參數(shù)、發(fā)動機參數(shù)、軌道需求等都是相互獨立的,它們在存儲結(jié)構(gòu)中的位置不會有從屬關(guān)系,如圖5所示。設(shè)計學(xué)科間的數(shù)據(jù)相互傳遞,存儲單元不止能被某一學(xué)科訪問,文件具有訪問權(quán)限,學(xué)科與存儲單元的訪問權(quán)限決定了學(xué)科對文件的訪問權(quán)限。例如,總體參數(shù)存儲單元的讀寫學(xué)科只有總體參數(shù)專業(yè),剩下三個專業(yè)都是只讀權(quán)限。

在服務(wù)器端,利用SVN建立版本庫的函數(shù)實現(xiàn)智能主模型中心數(shù)據(jù)庫的建立,將火箭總體設(shè)計智能主模型數(shù)據(jù)添加到版本庫中。添加的智能主模型數(shù)據(jù)是根據(jù)火箭總體設(shè)計數(shù)據(jù)產(chǎn)品主模型的建立方法預(yù)先建立的。

圖5 火箭總體設(shè)計數(shù)據(jù)協(xié)同管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)

在客戶端,設(shè)計人員可以通過系統(tǒng)創(chuàng)建本地的工作目錄,并將服務(wù)器端的設(shè)計數(shù)據(jù)檢出或者更新到工作目錄中,數(shù)據(jù)協(xié)同管理系統(tǒng)的客戶端利用SVN類中的函數(shù)開發(fā),使用修改、還原等功能對本地學(xué)科對應(yīng)的存儲單元數(shù)據(jù)進行修改上傳或者消除修改。尤其每個客戶端在使用修改功能時通過使用鎖定功能完成版本庫中響應(yīng)存儲單元數(shù)據(jù)鎖定,防止數(shù)據(jù)下載后其他客戶端下載數(shù)據(jù)造成數(shù)據(jù)的同時修改發(fā)生干涉現(xiàn)象。

對于多學(xué)科專業(yè)協(xié)同開發(fā)的數(shù)據(jù)依賴數(shù)據(jù)一致性檢查功能是根據(jù)用戶設(shè)定的學(xué)科間數(shù)據(jù)依賴關(guān)系進行檢查,如圖6所示,發(fā)動機參數(shù)的設(shè)定依賴于總體參數(shù),則總體參數(shù)屬于上游,發(fā)動機參數(shù)屬于下游。如果上游設(shè)計數(shù)據(jù)發(fā)生更新生成新的數(shù)據(jù)版本,則下游的設(shè)計輸入需要及時修改,使得下游使用數(shù)據(jù)與上游生成數(shù)據(jù)的版本信息一致,如果不一致則會發(fā)生數(shù)據(jù)沖突。

圖6 學(xué)科存儲單元間依賴關(guān)系

數(shù)據(jù)一致性視圖中檢查主體是主模型樹形結(jié)構(gòu)中的目標項,該視圖能夠在樹狀結(jié)構(gòu)中標記出所有的過時的存儲單元目錄,同時還能夠標記出由于哪些存儲單元的更新引起了文件數(shù)據(jù)的過時。具體來講,如果上游數(shù)據(jù)的具體版本號大于下游數(shù)據(jù)的具體版本號,則系統(tǒng)會在目錄樹中顯示上游目錄過期標志來提醒用戶進行下游數(shù)據(jù)的更新,更新完畢后,下游數(shù)據(jù)版本號進行相應(yīng)增大更新,以使下游版本號大于上游版本號,消除過期標志。需要注意的是,即數(shù)據(jù)的更新導(dǎo)致的數(shù)據(jù)過時只顯示直接下游數(shù)據(jù),而過時數(shù)據(jù)的下游不會因為上游數(shù)據(jù)的過時而過時。

4 結(jié)論

設(shè)計并開發(fā)基于SVN的智能主模型數(shù)據(jù)管理系統(tǒng),在SVN的版本控制功能基礎(chǔ)上,開發(fā)智能主模型譜系管理功能,實現(xiàn)協(xié)同產(chǎn)品迭代開發(fā)中智能主模型數(shù)據(jù)源的有效管理,采用SVN的sever/client框架和數(shù)據(jù)存儲技術(shù),通過xml文件定義數(shù)據(jù)的譜系依賴關(guān)系,實現(xiàn)協(xié)同迭代設(shè)計中多學(xué)科數(shù)據(jù)在不同專業(yè)傳遞與共享,同時,開發(fā)了權(quán)限管理文件和配置系統(tǒng)的權(quán)限管理功能。本文提出的方法有效性已在某型號火箭概要設(shè)計中數(shù)據(jù)管理得到初步的驗證,將為多學(xué)科設(shè)計中的智能主模型數(shù)據(jù)管理提供有效可行的解決方案。

猜你喜歡
智能功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
智能制造 反思與期望
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
智能制造·AI未來
商周刊(2018年18期)2018-09-21 09:14:46
關(guān)于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
主站蜘蛛池模板: 精品人妻无码区在线视频| 亚洲香蕉在线| 美女高潮全身流白浆福利区| 精品久久久无码专区中文字幕| 国产极品美女在线| 99视频有精品视频免费观看| 91成人在线观看| 青青草国产免费国产| 成人福利在线观看| 成人午夜亚洲影视在线观看| 久久国产精品嫖妓| 人妻丰满熟妇αv无码| 国产小视频免费观看| 67194亚洲无码| 欧美乱妇高清无乱码免费| a毛片在线| 亚洲aⅴ天堂| 伊人久久大香线蕉影院| 香蕉久久国产超碰青草| 日韩精品久久久久久久电影蜜臀| 欧美综合区自拍亚洲综合绿色| 国产免费久久精品99re丫丫一| 亚洲娇小与黑人巨大交| 真实国产乱子伦高清| 丁香婷婷综合激情| 午夜成人在线视频| 久久国产精品77777| 亚洲成A人V欧美综合| 国产在线高清一级毛片| 国产91线观看| 亚洲国产中文欧美在线人成大黄瓜| 国产玖玖视频| 日韩黄色大片免费看| 久久黄色影院| 日韩精品无码免费一区二区三区 | 毛片一区二区在线看| 日本免费精品| a级毛片一区二区免费视频| 浮力影院国产第一页| 国产在线观看人成激情视频| 国产成人精品亚洲日本对白优播| 在线观看免费人成视频色快速| 日韩精品欧美国产在线| 老司机精品一区在线视频| 国产91视频观看| 激情在线网| 亚洲色图在线观看| 国产va在线| 91综合色区亚洲熟妇p| 黄色污网站在线观看| 久久久久久久久18禁秘| 欧美日韩激情| 久996视频精品免费观看| 国产成人精品一区二区三区| 操美女免费网站| 国产96在线 | 成人在线视频一区| 欧美成人免费一区在线播放| 国产第二十一页| 国产成人h在线观看网站站| 日韩一区精品视频一区二区| 免费亚洲成人| 亚洲天堂久久久| 野花国产精品入口| 国产网站在线看| 日韩乱码免费一区二区三区| 国产成人精品2021欧美日韩| 欧美日韩国产在线人| 99久久性生片| a级毛片免费看| 国产精品视频a| 亚洲综合激情另类专区| 成人91在线| 成人福利在线观看| 久久情精品国产品免费| 国产区网址| 亚洲第一区欧美国产综合| 五月激情综合网| 国产女人18水真多毛片18精品 | 国产91无码福利在线| 国产偷国产偷在线高清| 天天做天天爱天天爽综合区|