亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于NoSQL的PDM版本管理

        2016-02-24 09:27:09夏秀峰張赫男
        計算機技術與發(fā)展 2016年10期
        關鍵詞:版本號分層有效性

        夏秀峰,張赫男

        (1.沈陽航空航天大學 遼寧省通用航空重點實驗室,遼寧 沈陽 110136;2.沈陽航空航天大學 計算機學院,遼寧 沈陽 110136)

        基于NoSQL的PDM版本管理

        夏秀峰1,2,張赫男2

        (1.沈陽航空航天大學 遼寧省通用航空重點實驗室,遼寧 沈陽 110136;2.沈陽航空航天大學 計算機學院,遼寧 沈陽 110136)

        復雜的產品設計中會產生大量的中間版本,而版本模型是版本管理的基礎。PDM系統依賴產品版本的管理,保證設計人員可隨時訪問產品的歷史版本,并對設計過程進行回溯,以保證產品在生命周期內的各階段數據的正確性。通過分析當前PDM版本管理模型存在的不足、基于關系型數據庫的版本管理的缺點,提出一種分層圖結構的版本構造模型,能夠直觀、清晰地反映版本之間的關聯關系及版本進化歷史記錄,彌補了現有版本模型的劣勢。此外,隨著版本數量的增加,PDM中存儲的產品數據展示出了大數據的特點,使得關系型數據庫(RDB)在數據處理上力不從心。因此,以NoSQL作為底層數據庫創(chuàng)建了基于分層圖結構的版本模型,利用NoSQL數據庫的優(yōu)勢,完善版本管理。依據版本分層圖模型的特點,實現了版本追溯、版本合并及版本有效性控制等版本管理功能。

        PDM版本管理;NoSQL;分層圖模型;版本管理;有效性控制

        0 引 言

        PDM是一種管理所有與產品相關信息及過程的軟件技術,是產品設計與開發(fā)過程的一個平臺[1]。而PDM系統的版本管理用于管理產品生命周期內的零件、部件及產品等對象產生和變化的整個歷程[2]。

        產品的設計過程總是分階段、反復而非線性的。在產品設計過程中產生的大量數據是歷史設計知識的重要來源[3]。因此,在整個過程中,設計者希望保留設計過程中產生的所有版本,以便隨時訪問不同對象在各階段的版本,從而回溯整個設計過程,及時對設計錯誤進行修改[4]。因此,應用版本管理解決復雜工程設計中的數據管理難題,是保證設計數據一致性和依賴性的重要手段[5-7]。

        通過對PDM版本現狀的分析,構建了基于NoSQL的版本分層圖模型,彌補了傳統版本管理模型的不足,避免了關系數據庫對版本管理的靈活性差、擴展性差、性能差等缺點。

        1 PDM版本分析

        版本是一個對象在設計過程中某一時間點上有意義的快照[8]。版本管理是對版本對象以及版本間關系進行管理。版本對象不是單一存在的個體,每個版本都會有一系列演變版本,而管理版本間的關系,同版本對象的管理同樣重要[9]。

        1.1 傳統PDM版本管理模型分析

        產品設計過程中,對設計內容的不斷修改,將生成更多新的版本。每個對象的版本是相關聯的,都由該對象的基版本演變產生。因此,應清晰表示對象的各版本間的關系。目前,產品設計數據的版本管理有線性模型、樹型模型和有向無環(huán)圖結構模型[10-12],如圖1所示。

        圖1 版本管理模型

        線性模型的特點是版本的演變過程以時間為序。除版本根節(jié)點外,每個版本有且只有一個父版本;除最新版本節(jié)點外,每個版本有且只有一個子版本。該模型比較簡單,不能區(qū)分替換版本和修訂版本的差別,也不能完整體現版本的邏輯關系。

        樹型模型的特點是層次清晰,除根節(jié)點無父版本外,其余節(jié)點有且只有一個父版本。該結構主要體現在產品設計流程中,以基版本為基礎,各版本不斷演化的關系。版本的樹型模型的局限性在于它不能反映版本合并情況(多個版本合并成一個新的版本)。

        有向無環(huán)圖描述模型的特點是該模型可以清晰表示版本的歷史信息,彌補了樹型模型的不足,可以反映版本的合并情況,完整地表示出版本間邏輯關系及版本間的依賴性,是一個比較完善的版本模型。但該模型失去了樹型結構的層次性,對于版本間關系體現不夠清晰。

        為了能形象、完整地反映出產品設計過程中版本之間的邏輯關系和依賴關系,清晰地顯示版本演化過程,并將版本間關系真實、直觀地描述出來,應探索新的模型來展現版本間復雜的關聯關系,以便設計者從整體上把握產品設計過程。

        1.2 基于NoSQL的PDM版本管理

        目前,PDM皆基于關系型數據庫(RDB)予以實現,其版本管理自然也采用RDB進行管理。隨著大數據時代的到來,RDB對于復雜、多樣的數據表現出靈活性差、擴展性差、性能差等不足[13],采用NoSQL作為PDM的底層支撐環(huán)境是一個有益的探索和研究。從版本的組織模型上看,由于呈現明顯的非結構化特征,因而基于RDB的PDM版本管理對于版本增加、修改、合并等操作顯得力不從心。

        NoSQL技術可以可從根本上解決RDB嚴格的事務管理所造成的數據庫高負載時的效率低下問題;key-value存儲方式使數據庫操作不再是多二維表的關聯查詢,更多的是單表的逐漸查詢及單表的簡單條件查詢,提高了訪問速度;靈活的數據模型也解決了非結構化數據的存儲問題。對于版本的增加、修改、合并,只需相應改變其鍵值對即可,既不需遍歷多個關系,也不需要修改關系的內容,因而能更好地實現版本間復雜的關系及頻繁的修改操作。

        2 基于NoSQL的PDM版本分層圖模型

        2.1 模型定義

        基于有向無環(huán)圖結構,文中提出了對產品版本模型進行分層處理的思想,即對版本間的邏輯關系按層次進行劃分,進而形成版本的分層圖模型。其中,節(jié)點表示版本單元,兩個節(jié)點之間的有序關系表示前驅版本和后繼版本的繼承關系,前驅的版本號、版本所在的層數及后繼版本號信息,采用權值的方式進行描述。

        定義1:分層圖。定義分層圖NW={V,E}為一個二元組,V={v0,v1,…,vm}(m=1,2,…,m)為版本節(jié)點的集合,v0為初始版本,v1,…,vm分別為v0的后繼版本。E={e1,e2,…,en}為連接邊的集合,其中ek=(vi,vj)(k=1,2,…,n;i,j=1,2,…,m)表示版本節(jié)點vi指向版本節(jié)點vj的連接邊,vi表示為vj的一個直接前驅節(jié)點,vj表示vi的一個直接后繼節(jié)點。

        定義3:版本號。WV={wv1,wv2,…,wvm}為版本號集合,vq為vk的直接前驅版本集,記為Pre(vk)=(vq:WVq)(WVq?WV,且WVq為vq的版本號);vh為vk的直接后繼版本集,記為Post(vk)=(vh:WVh)(WVh?WV,且WVh為vh的版本號)。

        定義4:圖節(jié)點的層數。設從根節(jié)點到當前節(jié)點有n多條路徑可達,第i條路徑的長度為Ci,定義圖節(jié)點的層數C=max{Ci|i=1,2,…,n}。

        以航空制造領域為例,產品結構十分復雜,因此在生產設計過程中,中間版本數量大、版本間關系也非常復雜。以一個發(fā)動機葉片為例,其版本間的結構關系如圖2所示。

        圖2 某發(fā)動機葉片的版本關系圖

        采用以上數學方法可以描述為:

        V={v0,v1,…,v6};

        E={(v0,v1),(v0,v2),(v1,v3),(v1,v4),(v2,v4),(v2,v5),(v2,v6),(v3,v6),(v4,v6)};

        C=2。

        根據以上定義所構建的分層圖結構模型,集中了當前三種版本模型的優(yōu)點,彌補了各自不足,且能更形象地描述出各版本對象的演變過程及各版本間關系。

        2.2 節(jié)點組織

        版本數據組織是版本模型的構建基礎。文中設計了基于NoSQL(以MongoDB為例)的版本節(jié)點數據組織,簡化了數據結構和表的數量,提高了處理效率,如圖3所示。

        圖3 版本節(jié)點組織圖

        根據分層圖模型,版本節(jié)點信息由節(jié)點數據和權值數據組成。版本信息及零部件信息存儲在節(jié)點中,其中,版本信息主要包括版本名、版本號、版本使用人、版本狀態(tài)、該版本所在項目號、版本有效條件、修改人、修改時間等;零部件信息主要包含零部件ID信息、零部件名稱信息、圖號信息、設計者信息、設計時間信息等。權值數據表示為弧終點節(jié)點所在層數。

        版本節(jié)點在非RDB中采用集合嵌套形式進行存儲,而在RDB中,用表結構存儲以上節(jié)點信息和節(jié)點間關系(如表1所示)。

        表1 關系數據庫表結構

        在傳統RDB下,通常采用的是固定分配數據方式進行存儲,且將數據結構化,不免導致部分空字段浪費,且在數據處理過程中,修改、刪除、更新數據要遍歷所有關聯表,造成巨大的系統開銷,處理效率嚴重降低。

        綜上,該版本數據組織靈活簡單、結構清晰,使用NoSQL進行數據存儲更貼近實際操作需求,方便版本擴展。

        2.3 版本存儲

        文中選擇十字鏈表作為分層圖模型的存儲結構,可以清晰表示版本信息與版本間關系,且更方便版本追溯的操作。以圖2為例,其十字鏈表存儲結構如圖4所示。

        圖中,用十字鏈表存儲版本分層圖模型,可以迅速準確地查找版本的直接前驅版本和直接后繼版本。以版本v4為例,其前驅版本由邊節(jié)點可迅速查找到v1和v2節(jié)點,而后繼版本v6可通過v4的頂點節(jié)點來追溯獲得。

        圖4 分層圖模型的十字鏈表存儲結構

        3 基于NoSQL的PDM版本分層圖模型管理

        版本管理是PDM系統的重要部分,反映設計過程中設計對象不斷演變的動態(tài)變化[2]。因此,對于上述建立的版本分層圖模型,需進行的管理有版本分層圖模型重構、版本分層圖模型追溯、版本合并以及版本的有效性管理。版本分層圖模型的重構要保證重構的版本模型準確、直觀;版本的追溯要保證追溯耗時短且精準;版本的合并要保證版本間的內容與關系準確;版本的有效性控制要實時保證版本有效。

        3.1 版本分層圖模型的重構

        版本結構圖信息完全記錄在數據庫中,但為了直觀、形象地顯示版本之間的發(fā)展歷程,需要根據數據庫中的記錄重構出版本間的關聯結構圖[14]。

        最簡單的重構方法是:依據NoSQL數據庫(Key_Value)鍵值對的存儲特點,對零部件及版本信息進行相應的檢索,記錄節(jié)點檢索順序、版本節(jié)點信息和版本節(jié)點關系信息。這樣做的目的是保證版本分層圖模型重構的準確。但是這種方式的不足之處在于節(jié)點位置混亂,且結構不規(guī)整。

        為保證重組的圖結構模型直觀、完整,對版本分層圖模型進行重構,使節(jié)點均勻、準確地分布在各個層之間而不發(fā)生混亂。

        (1)

        3.2 基于分層圖模型的版本追溯

        版本追溯需對版本演變的歷史過程進行快速、準確地追溯?;诎姹痉謱訄D結構模型的版本追溯步驟如下:

        (1)檢索位置:通過版本分層圖結構模型檢索版本所在的位置。

        (2)查找:根據版本十字鏈表存儲特點,依次查找該版本的前驅版本集合與后繼版本集合。

        (3)讀?。阂来巫x取該版本所有前驅版本與后繼版本的版本號,并記錄版本間關系,實現版本追溯。

        采用十字鏈表存儲結構,方便快速追溯版本歷程。隨著版本數量的增加,十字鏈表機構特點變得更有優(yōu)勢。

        3.3 基于網結構模型的版本合并

        在零部件設計過程中,對已存在的兩個或兩個以上的版本進行方法、思想的合并,或是內容的合并,產生新的版本,即為版本合并。圖5為版本合并圖。

        圖5 版本合并圖

        版本合并步驟如下:

        (1)分配版本號:首先根據版本分層圖模型確定最新版本號,然后由版本號分配規(guī)則,進而確定合并版本的版本號。

        (2)添加:在合并版本節(jié)點信息中,添加該版本零部件信息、版本屬性信息與直接前驅版本信息、直接后繼版本信息。

        (3)插入:修改該合并版本的直接前驅版本節(jié)點的后繼節(jié)點信息,插入該合并版本。

        版本合并中添加前驅版本號集合,只需在MongoDB數據庫中添加相應集合,而在關系型數據中不僅僅是添加了一條數據,還要對具有該屬性的多個表結構進行相應修改。因此,對于版本合并特點,NoSQL數據庫更為適合。

        3.4 基于版本分層圖模型的有效性控制

        在生產設計過程中,產品的零部件信息修改頻繁,導致一個零部件具有多個版本。并且客戶需求使得零部件版本的有效性不同。對版本的有效性進行配置,是版本管理的重中之重[15]。

        有效性是更改的生效零部件進行控制,零部件的更改和具體客戶是緊密相聯的,且零部件的每次更改都會產生相應的版本。一個更改應用到哪些產品,或更改對于產品的生產流程有變化,必須對相應的產品進行版本的有效性配置,以便及時對產品過程進行調整。版本有效性是一個中心環(huán)節(jié),將更改、客戶、構型等信息組成一個有機結合的統一整體。因此,有效性是體現并落實更改的必須途徑和唯一手段。

        版本的有效性,它是一個相對概念,即一段時間內,版本有效,它并不是持續(xù)連續(xù)的。版本有效性通過相應的產品有效體現。

        零部件之間的相互整合進而形成產品,根據零部件及其版本的有效性不同,直接影響產品的構成。所以對版本有效性控制的管理,是保證產品生產的必要條件。

        4 基于NoSQL的PDM版本分層圖模型維護

        對版本分層圖模型進行維護,是保證模型持久正確的唯一手段。由于版本的自身特性,版本的維護只有增加、修改操作。所有版本均不能被刪除。

        4.1 版本的添加

        添加一個新版本時,判斷該版本是否為合并版本。對相應的版本做出相應的方法選擇。

        (1)非合并版本的添加。首先對版本模型進行分析,得到當前版本的版本號,再根據版本號規(guī)則,進而確定新版本的版本號。然后確定版本添加位置,添加新版本。以圖2為例,新版本為v3節(jié)點下的版本v7。代碼如圖6所示(以MongoDB為例)。

        (2)合并版本的添加。需根據版本合并方法進行處理。

        4.2 版本的修改

        版本修改主要包括兩點:一是對版本中零部件信息的修改;二是對版本的屬性信息進行相應修改。

        (1)對版本零部件信息的修改,需保留修改前的版本。因此,要增加版本節(jié)點,生成新版本,不可直接更改版本內部零部件信息。

        圖6 版本添加代碼

        (2)對版本屬性信息的修改,無需保留修改前版本,可直接對其進行修改,覆蓋原有文件。例如,節(jié)點版本v8,版本號設置錯誤,只需直接修改版本號即可。代碼如下:

        >db.version.update({version_name:“v8”},...{“$set”:{version_state:“發(fā)放版本”}})

        5 結束語

        基于NoSQL數據庫的PDM版本管理是文中研究內容的重點。采用分層圖模型對復雜版本間的關系進行處理,這樣可以直觀、清晰地表示版本演變過程,使結構更加合理?;诎姹緮祿攸c,采用NoSQL數據庫,更方便對版本進行版本追溯、版本合并以及版本有效性控制。最終實現對產品設計流程的掌握,更好地對設計過程中的版本進行管理。

        [1] 張勁松,劉清華,鐘毅芳,等.基于PDM的版本管理研究[J].華中科技大學學報:自然科學版,2001,29(12):33-36.

        [2] 高奇微,莫欣農.產品數據管理(PDM)及其實施[M].北京:機械工業(yè)出版社,1998.

        [3] 馮國奇,崔東亮,王成恩,等.一種基于網狀版本模型的復雜產品設計數據管理方法研究[J].管理工程學報,2009,23(1):82-87.

        [4] 童秉樞,李建明.產品數據管理(PDM)技術[M].北京:清華大學出版社,2000.

        [5]LeeSW,AhnJH,KimHJ.Aschemaversionmodelforcomplexobjectsinobjectorienteddatabases[J].JournalofSystemArchitecture,2006,52(10):563-577.

        [6]DanilovicM,BrowningTR.Managingcomplexproductdevelopmentprojectswithdesignstructurematricesanddomainmappingmatrices[J].InternationalJournalofProjectManagement,2007,25(3):300-314.

        [7]OshriI,NewellS.Componentsharingincomplexproductsandsystems:challenges,solutions,andpracticalimplications[J].

        IEEETransactionsonEngineeringManagement,2005,52(4):509-521.

        [8]BaEH,HuWC,YoOWS.Documentconfigurationcontrolprocessescapturedinaworkflow[J].ComputersinIndustry,2004,53(2):117-131.

        [9]MezianeF,RezguiY.Adocumentmanagementmethodologybasedonsimilaritycontents[J].InformationSciences,2004,158(1):15-36.

        [10] 徐立臻,徐宏炳.面向對象數據庫系統中的版本管理[J].東南大學學報:自然科學版,1999,29(3):34-38.

        [11] 張 維,何衛(wèi)平,劉 平,等.PDM實施中的版本管理研究與應用[J].組合機床與自動化加工技術,2001(6):11-12.

        [12] 劉方鑫,李 毅.變量化圖形CAD系統中的版本管理[J].計算機應用,2000,20(S):111-112.

        [13] 陸嘉恒.大數據挑戰(zhàn)與NoSQL數據庫技術[M].北京:電子工業(yè)出版社,2013:7-8.

        [14] 馮向兵,莫 蓉,桂元坤.PDM中版本管理的圖模型表達方法與實現技術[J].航空制造技術,2008(12):89-92.

        [15] 夏秀峰,富 鋼,叢麗暉,等.一種基于SQL的層次查詢方法[J].微處理機,2001(1):42-44.

        Version Management of PDM Based on NoSQL

        XIA Xiu-feng1,2,ZHANG He-nan2

        (1.Key Lab of General Aviation of Liaoning Province,Shenyang Aerospace University, Shenyang 110136,China; 2.School of Computer Science,Shenyang Aerospace University,Shenyang 110136,China)

        The complex product design will produce a large amount of intermediate version,and the version of the model is the basis of version management.Product Data Management (PDM) system depends on version management,which makes sure that the design personnel can access to the product version of history at any time.And back to the design process,to ensure that products in the stages of life cycle data is correct.As analyzing the shortage of existing version management model of PDM,a new version model of the hierarchical structure is proposed,which can reflect the relationship between the version and the version history clearly and intuitively and make up for the disadvantages of version model.With the increasing of version number,product data stored in PDM shows the characteristics of big data,making the RDB incapable on data processing.So the version model based on hierarchical structure is constructed with NoSQL as the underlying database,taking the advantages of NoSQL to improve the version management.According to the characteristics of the model,the version management functions like version tracking,version merging and effective version control are realized.

        version management of PDM;NoSQL;hierarchical graph model;version management;validity control

        2016-02-06

        2016-05-11

        時間:2016-09-19

        航空科學基金(2013ZG54032)

        夏秀峰(1964-),男,博士,教授,CCF高級會員,研究方向為數據庫理論與技術;張赫男(1991-),女,碩士研究生,研究方向為管理信息系統與數據庫。

        http://www.cnki.net/kcms/detail/61.1450.TP.20160919.0842.044.html

        TP31

        A

        1673-629X(2016)10-0022-05

        10.3969/j.issn.1673-629X.2016.10.005

        猜你喜歡
        版本號分層有效性
        如何提高英語教學的有效性
        甘肅教育(2020年6期)2020-09-11 07:45:28
        制造業(yè)內部控制有效性的實現
        提高家庭作業(yè)有效性的理論思考
        甘肅教育(2020年12期)2020-04-13 06:24:56
        一種沉降環(huán)可準確就位的分層沉降儀
        工程與建設(2019年2期)2019-09-02 01:34:14
        認識vSphere安裝程序
        雨林的分層
        有趣的分層
        深入淺出 全面獲知系統版本號
        船舶嚴重橫傾時應急行動的有效性
        中國航海(2014年1期)2014-05-09 07:54:30
        多種方法查看系統版本號
        電腦迷(2014年8期)2014-04-29 08:53:03
        国产一区二区三区免费av| 国产夫妻av| 国产一区二区丁香婷婷| 蜜桃夜夜爽天天爽三区麻豆av| 麻豆国产精品va在线观看不卡| 国产成人啪精品视频免费软件| 亚洲精品美女久久久久久久 | 人人妻人人玩人人澡人人爽 | 日本丰满少妇高潮呻吟| 中文日本强暴人妻另类视频 | 五月婷网站| 在线观看视频国产一区二区三区| 亚洲乱码无人区卡1卡2卡3| 亚洲男人第一无码av网站| 久久久久久一级毛片免费无遮挡| 亚洲av毛片在线播放| 亚洲综合色无码| 国产精品人妻一区夜夜爱| 无码中文字幕专区一二三| 国产人妖视频一区二区| 国精品人妻无码一区免费视频电影| 国产免费破外女真实出血视频 | 国产精品国产三级国产专区50| 波多野结衣绝顶大高潮| 国产精品区一区第一页| 久久久婷婷综合五月天| 24小时免费在线观看av| 亚洲一区 日韩精品 中文字幕 | 国内精品视频在线播放不卡| 国产99久久无码精品| 国产视频一区二区三区免费| 一 级做人爱全视频在线看| 亚洲国产成人精品无码区99| 亚洲国产成人aⅴ毛片大全| 青青草成人免费在线观看视频| 肉体裸交137日本大胆摄影| 国产免费AV片在线看| 丝袜人妻中文字幕首页| 永久亚洲成a人片777777| 无限看片在线版免费视频大全 | 一级一级毛片无码免费视频|