本發明專利技術涉及一種數據版本控制方法,該方法構建一種有色Petri網(CPN)模擬數據版本控制過程,有色Petri網庫所包括數據版本庫和操作員庫,并用不同顏色的托肯表示數據的不同版本,當有操作員更新數據時,觸發源變遷,使操作員庫獲得操作員的信息,并通過觸發不同的變遷,模擬數據版本的形成過程,將形成的最新數據版本存放在最新數據版本庫中,將歷史數據版本都存放在歷史數據版本庫中,方便以后的查詢,且通過觸發冗余合并變遷,將冗余數據進行合并,有效地解決了數據版本更新過程中的并發、合并的問題,保證了數據的一致性和完整性,有效提高了歷史數據的管理水平。
【技術實現步驟摘要】
本專利技術涉及。
技術介紹
在大型設備的狀態數據庫中,數據版本的管理不善可造成系統的混亂甚至崩潰,因此數據版本控制尤為重要。數據版本控制技術是對每次修改都做詳細記錄,尤其當多人同時開發一個數據庫管理和應用系統時,采用合理的方法監控數據庫中表、存儲過程和視圖等對象的變動。數據版本控制的核心是變更管理,主要目標和任務是記錄并保存每個安全可靠的版本歷史記錄,并且保證每個客戶端得到的都是最新版本。目前數據版本控制的主要方法有:差分編碼、檔案上鎖、中央系統與分布式系統等。差分編碼只保留檔案相繼版本之間的差異,該方法可以有效地儲存數個版本的檔案,節省大量空間,但是采用該方法時,版本恢復比較麻煩;檔案上鎖功能對高難度的合并,例如大幅更改大檔案或檔案群的許多部分,提供了一些保護,但其他開發者可以繞過版本控制系統改變檔案(這本身就是很大問題);中央式系統是當多個客戶端同時要改變同一個檔案時,由中央權威管理存取權限“鎖上”檔案庫中的檔案,一次只讓一個開發者工作,或是像分布式系統容許多個檔案庫開發者同時更動同一檔案,而不需經中央權威許可,分布式系統仍然可以有檔案上鎖功能。現有的幾種版本關系模型中線性版本模型能夠很好地描述版本順序產生的過程,但不能區分替換版本和修訂版本的區別;樹狀版本模型雖然解決了對象模型的修訂版本與替換版本之間的區別,但是不能描述版本合并這一實際情況;有向無環圖盡管支持版本合并和變更的歷史信息描述,但只能用節點序號描述版本的產生層次和來源,無法表示該版本的邏輯層次性,而且容易產生歧義;多色圖的版本模型只考慮了同一版本的修訂和變型關系。
技術實現思路
本專利技術的目的是提供,用以解決由于多人并發修改數據導致的數據庫不一致的問題。為實現上述目的,本專利技術的方案是:,步驟如下:(I)建立基于有色Petri網的數據版本控制模型,該Petri網的庫所包括數據版本庫和操作員庫,所述數據版本庫包括最新數據版本庫、歷史數據版本庫、更新的數據版本庫和合并數據版本庫,且不同的數據版本庫由不同顏色的托肯來表示,所述最新數據版本庫只能存放一個最新數據版本的托肯,所述歷史數據版本庫可以存放多個更新過的數據版本的托肯,所述托肯存放于Petri網的庫所中,用于根據其動態變化表示庫所中數據版本的狀態;( 2)對步驟(I)中建立的模型進行初始化,使最新數據版本庫和歷史數據版本庫各獲得一個顏色相同的托肯,該托肯表示的是目前最新數據版本的信息,其他數據版本庫為空;(3)當有操作員準備更新數據時,觸發源變遷,使操作員庫得到一個表示操作員信息的托肯;(4)當操作員更新數據時,觸發更新操作變遷,并根據操作員庫中的托肯信息和最新數據版本庫中的托肯信息,產生一個表示更新后的數據版本信息的托肯存放在更新的數據版本庫中,同時,操作員庫中的托肯被刪除;(5)根據更新的數據版本庫和歷史數據版本庫中的托肯信息,判斷是否需要合并去除冗余數據版本操作,如果需要,則觸發冗余數據版本合并變遷,將更新的數據版本庫和歷史數據版本庫進行合并,并將合并后產生的表示合并數據版本信息的托肯存放在合并數據版本庫,如果不需要,則觸發復制變遷,將步驟(3)中得到的更新的數據版本庫中的托肯復制到合并數據版本庫中,同時,更新的數據版本庫中的托肯被刪除;(6)觸發提交更新變遷,將合并數據版本庫中的托肯復制為兩個,分別存放到所述最新數據版本庫和歷史數據版本庫中,同時,合并數據版本庫中的托肯被刪除;(7)若有其他操作員要更新數據,則繼續執行步驟(3) (6),如此循環,直到所述歷史數據版本庫中托肯數量達到它能存放的最大數量時,終止Petri網的運行。在(4廣(6)任一步驟執行的過程中,若有其他操作員要更新數據庫中的不同數據,則在前一操作員繼續執行其數據操作步驟的同時,其他操作員開始執行步驟(3廣(6),若有其他操作員要更新數據庫中的相同數據,則要在前一操作員執行完提交更新變遷之后再開始執行步驟(3) (6)。所述數據版本庫中托肯表不的信息包括:版本號、父版本號、修改時間、修改的內容和修改人,所述操作員庫中的托肯信息包括:操作員編號、操作員姓名和要更新的內容。步驟(4)中觸發更新操作變遷后產生兩個不同顏色的托肯,其中一個顏色的托肯是原托肯的復制,存放于所述最新數據版本庫中,另一個顏色的托肯為新托肯,存放于更新的數據版本庫中。基于Petri網的數據版本控制模型初始化時,所述數據版本庫中的托肯表示的信息只顯示版本號,其余信息字段均為空。本專利技術達到的有益效果:(1)本專利技術構建了一種有色Petri網(CPN)模擬數據版本控制過程,用不同顏色的托肯表示數據的不同版本,在數據控制過程中,當有操作員更新數據時,觸發源變遷,使操作員庫獲得操作員的信息,然后通過觸發更新操作變遷,產生新的數據版本,并通過觸發提交更新變遷,將形成的最新數據版本存放在最新數據版本庫中,而且如果判斷有冗余數據,可以觸發冗余合并變遷,將冗余數據進行合并后再觸發提交更新變遷將數據進行存儲,有效地解決了數據版本更新過程中合并的問題,保證了數據的完整性;(2)當操作員I在對數據庫進行操作時,若有操作員2也要更新數據庫,如果操作員2與操作員I修改的數據不同,則繼續觸發源變遷,操作員庫重新獲得操作員2的信息,此時操作員I繼續執行之后的過程,操作員2在對數據庫中的數據進行更新后,最新數據版本庫中最后存放的就是操作員2最后更新過的數據版本,如果操作員2和操作員I要修改的數據相同,那么操作員2要在操作員I修改的數據提交后才能進行其數據更新過程,這樣就避免了由于多人并發修改數據導致的數據庫不一致的問題。附圖說明圖1是本專利技術數據版本控制的有色Petri網模型;圖2是本專利技術有色Petri網初始化模型;圖3是觸發產生操作變遷后的有色Petri網模型;圖4是本專利技術觸發更新操作變遷后的有色Petri網模型;圖5是本專利技術觸發復制變遷或冗余數據版本合并變遷后的有色Petri網模型;圖6是本專利技術觸發提交更新變遷后的有色Petri網模型。具體實施例方式下面結合附圖對本專利技術做進一步詳細的說明。本專利技術建立的有色Petri網Σ CPN= (P,T,F,M,D,C,I,G,K)用于構建數據版本控制模型,其具體定義如下:(I)P= {pi, p2, p3, p4, p5},P 是庫所的有限集;(2)T={tl,t2,t3,t4,t5},T 是變遷的有限集;(3)F= (PXT) U (TXP),是網中有向弧集合;(4) D為顏色集;(5) C:P U T — Ψ (D), Ψ (D)為顏色集 D 的冪集合;(6) M:Ρ — DMS,是網的標識,標識Mi下的標識分量Mi (ρ)表示庫所P中的托肯顏色集上的多重集,MO是初始標識;(7)G:變遷護衛函數,G:T —表達式;(8) I為F上的權函數,I:F — DMS,確定變遷發生后托肯的變化;(9) K為P上得容量函數,K =P- {1,2,3...},如果庫所P沒有定義容量函數,則默認 K (ρ) = °°。如圖1,本實施例Petri網模型中的庫所包括操作員庫和數據版本庫,圖中的P1、P3、P4和P5為數據版本庫,不同的數據版本庫由不同顏色的托肯表示,數據版本庫的庫所中的托肯顏色為C(P1) = Ic1, CfC1J, C1, CfCn本文檔來自技高網...
【技術保護點】
一種數據版本控制方法,其特征在于,步驟如下:(1)建立基于有色Petri網的數據版本控制模型,該Petri網的庫所包括數據版本庫和操作員庫,所述數據版本庫包括最新數據版本庫、歷史數據版本庫、更新的數據版本庫和合并數據版本庫,且不同的數據版本庫由不同顏色的托肯來表示,所述最新數據版本庫只能存放一個最新數據版本的托肯,所述歷史數據版本庫可以存放多個更新過的數據版本的托肯,所述托肯存放于Petri網的庫所中,用于根據其動態變化表示庫所中數據版本的狀態;(2)對步驟(1)中建立的模型進行初始化,使最新數據版本庫和歷史數據版本庫各獲得一個顏色相同的托肯,該托肯表示的是目前最新數據版本的信息,其他數據版本庫為空;(3)當有操作員準備更新數據時,觸發源變遷,使操作員庫得到一個表示操作員信息的托肯;(4)當操作員更新數據時,觸發更新操作變遷,并根據操作員庫中的托肯信息和最新數據版本庫中的托肯信息,產生一個表示更新后的數據版本信息的托肯存放在更新的數據版本庫中,同時,操作員庫中的托肯被刪除;(5)根據更新的數據版本庫和歷史數據版本庫中的托肯信息,判斷是否需要合并去除冗余數據版本操作,如果需要,則觸發冗余數據版本合并變遷,將更新的數據版本庫和歷史數據版本庫進行合并,并將合并后產生的表示合并數據版本信息的托肯存放在合并數據版本庫,如果不需要,則觸發復制變遷,將步驟(3)中得到的更新的數據版本庫中的托肯復制到合并數據版本庫中,同時,更新的數據版本庫中的托肯被刪除;(6)觸發提交更新變遷,將合并數據版本庫中的托肯復制為兩個,分別存放到所述最新數據版本庫和歷史數據版本庫中,同時,合并數據版本庫中的托肯被刪除;(7)若有其他操作員要更新數據,則繼續執行步驟(3)~(6),如此循環,直到所述歷史數據版本庫中托肯數量達到它能存放的最大數量時,終止Petri網的運行。...
【技術特征摘要】
1.種數據版本控制方法,其特征在于,步驟如下: (1)建立基于有色Petri網的數據版本控制模型,該Petri網的庫所包括數據版本庫和操作員庫,所述數據版本庫包括最新數據版本庫、歷史數據版本庫、更新的數據版本庫和合并數據版本庫,且不同的數據版本庫由不同顏色的托肯來表示,所述最新數據版本庫只能存放一個最新數據版本的托肯,所述歷史數據版本庫可以存放多個更新過的數據版本的托肯,所述托肯存放于Petri網的庫所中,用于根據其動態變化表示庫所中數據版本的狀態; (2)對步驟(I)中建立的模型進行初始化,使最新數據版本庫和歷史數據版本庫各獲得一個顏色相同的托肯,該托肯表示的是目前最新數據版本的信息,其他數據版本庫為空; (3)當有操作員準備更新數據時,觸發源變遷,使操作員庫得到一個表示操作員信息的托肯; (4)當操作員更新數據時,觸發更新操作變遷,并根據操作員庫中的托肯信息和最新數據版本庫中的托肯信息,產生一個表示更新后的數據版本信息的托肯存放在更新的數據版本庫中,同時,操作員庫中的托肯被刪除; (5)根據更新的數據版本庫和歷史數據版本庫中的托肯信息,判斷是否需要合并去除冗余數據版本操作,如果需要,則觸發冗余數據版本合并變遷,將更新的數據版本庫和歷史數據版本庫進行合并,并將合并后產生的表示合并數據版本信息的托肯存放在合并數據版本庫,如果不需要,則觸發復制變遷,將步驟(3)中得到的更新的數據版本庫中的托肯復...
【專利技術屬性】
技術研發人員:李保福,葉陽東,佘維,姬波,劉文,盧紅星,邵秋華,梁經宛,張靜,雍明超,莊益詩,路光輝,
申請(專利權)人:遼寧省電力有限公司朝陽供電公司,許繼電氣股份有限公司,許昌許繼軟件技術有限公司,國家電網公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。