国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 信息時(shí)代 > 版本管理(數(shù)據(jù)庫(kù))

版本管理(數(shù)據(jù)庫(kù))

時(shí)間:2022-12-11 22:30:01 | 來(lái)源:信息時(shí)代

時(shí)間:2022-12-11 22:30:01 來(lái)源:信息時(shí)代

    版本管理 : 工程數(shù)據(jù)庫(kù)中的重要概念,是工程數(shù)據(jù)庫(kù)管理系統(tǒng)具有的重要功能與特性。版本是記錄特定對(duì)象各個(gè)可選狀態(tài)的快照,版本管理的任務(wù)就是對(duì)對(duì)象的歷史演變過(guò)程進(jìn)行記錄和維護(hù),根據(jù)實(shí)際應(yīng)用背景選擇合適的版本間的拓?fù)浣Y(jié)構(gòu),并至少應(yīng)包括以下功能:新版本的生成;統(tǒng)一、協(xié)調(diào)管理各個(gè)版本;有效記錄不同版本的演變過(guò)程及對(duì)不同版本進(jìn)行有效管理,以盡可能少的數(shù)據(jù)冗余記錄各版本。同時(shí)還要保證不同版本在邏輯上的一致性和相對(duì)獨(dú)立性,一個(gè)版本的產(chǎn)生和消失不會(huì)對(duì)其余版本的內(nèi)容產(chǎn)生影響。版本切換時(shí),指定了新的當(dāng)前版本后,必須保證對(duì)象的映象和指定的版本保持一致。
1.版本管理模型
版本管理的主要模型有線性版本管理模型、樹(shù)型版本管理模型和有向無(wú)環(huán)圖版本管理模型。
(1)線性版本管理模型: 這是按版本出現(xiàn)的先后次序排列的一種簡(jiǎn)單模型。一個(gè)對(duì)象的版本聚集在一起組成一個(gè)版本集,版本集中的元素之間滿足“successor-of”的有序關(guān)系。版本集中的元素是全序關(guān)系,新元素只能朝一個(gè)方向上增加,除最新版本外,其余版本均是只讀版本。
(2)樹(shù)型版本管理模型: 樹(shù)型版本管理模型中各版本的出現(xiàn)呈現(xiàn)樹(shù)狀結(jié)構(gòu)。同樣一個(gè)對(duì)象的版本聚集在一起組成一個(gè)版本集,版本集中的元素之間滿足“successor-of”的有序關(guān)系。但版本集中的元素是半序關(guān)系,即一個(gè)版本可以有多個(gè)后繼版本,因此,可以有多個(gè)最新版本。同樣,除最新版本外,其余版本均是只讀版本。這種模型可以反映設(shè)計(jì)過(guò)程中以某一中間版本為基礎(chǔ),選擇多種設(shè)計(jì)方案而形成多個(gè)設(shè)計(jì)結(jié)果的情況。
(3)有向無(wú)環(huán)圖版本管理模型: 有向無(wú)環(huán)圖版本管理模型中各版本的出現(xiàn)呈現(xiàn)無(wú)循環(huán)圖的結(jié)構(gòu)。同樣一個(gè)對(duì)象的版本聚集在一起組成一個(gè)版本集,版本集中的元素之間滿足“successor-of”的有序關(guān)系,版本集中的元素是半序關(guān)系,即一個(gè)版本可以有多個(gè)后繼版本,因此,可以有多個(gè)最新版本。但是一個(gè)版本可以有多個(gè)前驅(qū)版本。同樣,除最新版本外,其余版本均是只讀版本。這種模型可以表達(dá)由多個(gè)設(shè)計(jì)零部件合成一個(gè)完整對(duì)象的情況,即由多個(gè)設(shè)計(jì)版本融合出一個(gè)新版本的情況。此模型是較為完善的模型,線性及樹(shù)型模型是它的特例。
2. 版本管理方法
版本管理的常用方法有: 向前版本管理法、有限記錄版本管理法、向后版本管理法、關(guān)鍵版本管理法和設(shè)計(jì)版本的重新組織等方法。
(1) 向前版本管理法: 只完整的存儲(chǔ)原始版本數(shù)據(jù),后繼的版本僅存儲(chǔ)與前驅(qū)版本的差。這種方法的優(yōu)點(diǎn)是數(shù)據(jù)冗余少,生成新版本簡(jiǎn)單; 缺點(diǎn)是對(duì)原始版本以外的所有版本的訪問(wèn)都必須依據(jù)一定的算法臨時(shí)生成相應(yīng)的版本,比較繁瑣。
(2) 向后版本管理法: 與向前版本管理法正好相反,該方法只完整存儲(chǔ)最新版本數(shù)據(jù),其他版本只存儲(chǔ)其與后繼版本之間的差。因此同樣數(shù)據(jù)冗余少,而且一般情況下對(duì)新版本的訪問(wèn)頻度較高,效率比向前版本管理法高。缺點(diǎn)是每次生成的新版本都是完整的版本,比較費(fèi)時(shí)和復(fù)雜,訪問(wèn)新版本以外版本時(shí)也必須依據(jù)一定的算法臨時(shí)生成相應(yīng)的版本。
(3)有限記錄版本法: 為減少數(shù)據(jù)冗余,實(shí)際應(yīng)用中不大可能保存每個(gè)對(duì)象的所有版本。有限記錄版本法提供為每個(gè)對(duì)象保留有限數(shù)量的不同版本的方法進(jìn)行版本管理,在新版本生成時(shí),系統(tǒng)自動(dòng)廢除一些老版本,這樣可以重用其占有的空間,從而不會(huì)擴(kuò)大數(shù)據(jù)庫(kù)所占用的總空間。
(4)關(guān)鍵版本法: 在工程產(chǎn)品設(shè)計(jì)過(guò)程中產(chǎn)生的諸多版本中,其重要性是有很大差別的。因此,根據(jù)各數(shù)據(jù)庫(kù)在整個(gè)產(chǎn)品設(shè)計(jì)過(guò)程中的重要性,可以將其分為關(guān)鍵版本和非關(guān)鍵版本,在生成數(shù)據(jù)庫(kù)的新版本之時(shí),可以廢除某個(gè)非關(guān)鍵版本,以重用其所占有的存儲(chǔ)空間,但不允許系統(tǒng)自動(dòng)廢除某一關(guān)鍵版本。
(5)設(shè)計(jì)版本的重新組織: 重新組織的方法是利用已有的多個(gè)數(shù)據(jù)庫(kù)版本融合出一個(gè)新的數(shù)據(jù)庫(kù)版本。充分利用數(shù)據(jù)庫(kù)中已經(jīng)存儲(chǔ)的大量歷史數(shù)據(jù)來(lái)生成數(shù)據(jù)庫(kù)的新版本是有可能的和富于價(jià)值的。
(6)版本管理的新方法: 用于減少數(shù)據(jù)冗余和實(shí)現(xiàn)版本間的引用和比較,如版本集和選擇的概念。版本集是通過(guò)修改一個(gè)已存在的實(shí)體而產(chǎn)生的版本,同一實(shí)體的不同版本實(shí)質(zhì)上是相似的。而選擇則是通過(guò)創(chuàng)建一個(gè)新的實(shí)體以表示相同功能的實(shí)體而產(chǎn)生的,兩個(gè)選擇之間可能沒(méi)有任何共同之處。從中可以看出版本集和選擇雖然都與實(shí)體相關(guān)聯(lián),但兩者間存在很大的差別,應(yīng)該采用不同的方式實(shí)現(xiàn)。若版本之間只是部分的修改,且修改多集中在一些記錄上,可以采用“記錄級(jí)版本”的方法;若兩個(gè)選擇之間的差別較大,應(yīng)采用“文件級(jí)版本”的方法。
在記錄級(jí)版本法中,用一個(gè)唯一的記錄標(biāo)識(shí)來(lái)標(biāo)識(shí)每條物理記錄,并作為該記錄在數(shù)據(jù)庫(kù)中的物理地址。一個(gè)版本文件由三個(gè)內(nèi)部文件支持: 歷史索引、當(dāng)前版本文件、舊版本文件。三個(gè)文件組織成一個(gè)樹(shù)型結(jié)構(gòu),其中歷史索引是根,其孩子是記錄級(jí)版本順序號(hào),不同的版本順序號(hào)通過(guò)鍵與當(dāng)前版本文件和舊版本文件連接,表示版本的變遷情況。
在文件級(jí)版本法中,每個(gè)選擇用一個(gè)文件的命名集合來(lái)表示,對(duì)集合中每個(gè)文件,在文件名后用一個(gè)后綴序號(hào)表示。如:
cmp.1 ——表示原始版本
cmp.2

對(duì)于每個(gè)文件下擴(kuò)充,可以采用子序列1.1、1.2、1.3的形式加以擴(kuò)充。
(7)C/S體系結(jié)構(gòu)的版本管理: 工程數(shù)據(jù)庫(kù)技術(shù)是client/server結(jié)構(gòu)最典型的應(yīng)用領(lǐng)域之一。在C/S結(jié)構(gòu)的工程數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中,數(shù)據(jù)庫(kù)應(yīng)用程序運(yùn)行在客戶端(client),負(fù)責(zé)用戶界面和I/O處理; 數(shù)據(jù)庫(kù)管理系統(tǒng)運(yùn)行在服務(wù)器端(server),負(fù)責(zé)數(shù)據(jù)處理和存儲(chǔ)。在這種體系結(jié)構(gòu)中,版本的管理有自身的特點(diǎn)。
C/S數(shù)據(jù)庫(kù)體系中一般采用版本的不同類型實(shí)現(xiàn)版本管理,即多種語(yǔ)義版本模式,由public數(shù)據(jù)庫(kù)、若干個(gè)project數(shù)據(jù)庫(kù)和若干個(gè)private數(shù)據(jù)庫(kù)組成。這種版本模式可用三種不同的語(yǔ)義類型加以區(qū)分: ①發(fā)布版本(released version): 發(fā)布版本駐留在public數(shù)據(jù)庫(kù)中,具有刪除和修改保護(hù)。其他對(duì)象對(duì)發(fā)布版本的使用是安全的。②工作版本(working version): 與發(fā)布版本一樣,工作版本也是不能修改的。但它可由創(chuàng)建者來(lái)修改,可以駐留在private數(shù)據(jù)庫(kù)中,也可以駐留在project數(shù)據(jù)庫(kù)中。工作版本通過(guò)檢驗(yàn)進(jìn)入public數(shù)據(jù)庫(kù)后,就成為發(fā)布版本。③過(guò)渡版本(transient version): 過(guò)渡版本駐留在private數(shù)據(jù)庫(kù)中,禁止該private數(shù)據(jù)庫(kù)外的其他對(duì)象訪問(wèn)。一個(gè)過(guò)渡版本可以從工作版本或發(fā)布版本中派生出來(lái),也可以通過(guò)自動(dòng)升級(jí)成為工作版本。
(8)面向?qū)ο蟀姹竟芾? 在面向?qū)ο蟀姹竟芾碇型ㄟ^(guò)引入“類版本”,將版本分為類版本和實(shí)例版本兩種類型,其中類版本是模式版本化生成的,而實(shí)例是模式的具體實(shí)現(xiàn),不同的實(shí)現(xiàn)形成不同的實(shí)例版本。版本的演化過(guò)程通過(guò)樹(shù)型結(jié)構(gòu)體現(xiàn),被修改的版本是父版本,修改后得到的版本是其子版本。版本在不同的數(shù)據(jù)庫(kù)中具有不同的狀態(tài),主要包括: ①臨時(shí)版本: 在私有庫(kù)中,沒(méi)有子版本的版本稱為臨時(shí)版本,可以進(jìn)行修改和刪除; ②有效版本: 在臨時(shí)版本上導(dǎo)出子版本后,臨時(shí)版本提升為有效版本,此時(shí)可以刪除但不可修改;③提交版本:設(shè)計(jì)人員完成設(shè)計(jì)后,將私有庫(kù)中最完善的版本提交到公有庫(kù)中,公有庫(kù)中的版本稱為提交版本,此時(shí)不可刪除也不可修改。
3. 復(fù)雜對(duì)象的管理模式
在面向?qū)ο蟀姹竟芾淼哪J窖莼^(guò)程中,根據(jù)對(duì)象的不同類型,對(duì)版本的修改采用不同的處理方式,在原有類版本上進(jìn)行修改或形成新的類版本;對(duì)實(shí)例版本只在模式修改的情況下才作相應(yīng)的修改,其他情況則仍屬于原來(lái)的類版本。針對(duì)簡(jiǎn)單對(duì)象和復(fù)雜對(duì)象,版本管理采用的處理方式也不同。
簡(jiǎn)單對(duì)象的模式演化,即類定義的改變,包括類的屬性和方法的增、刪、改操作。如果增加的屬性是對(duì)原有類版本更細(xì)致的描述,只需修改原有類版本的屬性定義,不需形成新的類版本; 如果增加的屬性引起類性質(zhì)的變化,則需生成新的版本,舊版本的實(shí)例版本保持不變。刪除屬性是增加屬性的逆過(guò)程,其處理方式與增加的處理方式相同。對(duì)于屬性修改,一般情況均生成新版本,只有方法的修改和增加時(shí)不生成新版本。
復(fù)雜對(duì)象是由簡(jiǎn)單對(duì)象遞歸聚合而成的,增加或刪除其中的簡(jiǎn)單對(duì)象,都會(huì)引起復(fù)雜對(duì)象的結(jié)構(gòu)層次發(fā)生變化,均需生成復(fù)雜對(duì)象的新版本。
在版本管理過(guò)程中還需維護(hù)屬性和方法的一致,如果所刪除或修改的屬性與方法的接口相關(guān)聯(lián),須在屬性改變后立即修改方法,保證屬性和方法的一致性。

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉