新四季網

一種面向對象代理資料庫約束的備份方法

2023-08-08 04:30:16 1

專利名稱:一種面向對象代理資料庫約束的備份方法
技術領域:
本發明屬於資料庫備份領域,特別是ー種針對對象代理資料庫管理系統中約束的備份方法。
背景技術:
隨著資料庫的應用領域不斷擴大,傳統的關係型資料庫和面向對象資料庫已不能應對逐漸出現的數據海量化、數據對象複雜化、數據操作靈活性、數據存儲高效性等挑戰。為了解決複雜數據管理的需求,提出了基於對象代理的數據管理模型,並在此模型基礎上開發了對象代理資料庫TOTEM。由於對象代理資料庫能很好地解決傳統資料庫面臨的主要問題,它已被廣泛應用於微生物信息服務系統、音樂服務系統、專利管理與服務系統、社區管理系統、地理信息系統等多個領域。隨著對象代理資料庫裡信息量的急劇增加,如何保證 數據的安全性和數據恢復能力越來越受到人們的關注,資料庫備份作為保證資料庫在故障發生時保障資料庫可恢復性的技術顯得尤為重要。備份資料庫的方法通常可以使用文件系統備份和結構化查詢語言備份兩種方式。其中文件系統備份的策略是直接拷貝用於存放資料庫數據的文件,但這種方法存在過於依賴特定作業系統的不足。不同的作業系統環境下文件系統的具體實現不同,因此文件系統備份策略無法實現跨文件系統平臺的兼容性。結構化查詢語言轉儲的方法是創建一個文本文件,裡面包含了模式和數據相關的結構化查詢語言命令,當把這個文件反饋給目標伺服器時,將重建與轉儲時狀態ー樣的資料庫。相對於文件系統備份策略,結構化查詢語言轉儲策略顯然有更好的文件系統平臺無關性。因此,本發明中的對象代理資料庫備份機制是基於結構化查詢語言轉儲策略的。目前常用的資料庫中,關係資料庫中不支持類和對象,而面向對象資料庫及對象關係資料庫中類的對象間不存在任何的依賴關係,對象代理資料庫不僅保留了類、對象和方法的概念,還在類間、對象間、類與對象間存在依賴關係。正是由於傳統資料庫與對象代理資料庫的這些區別,所以傳統的資料庫備份方法不能適用於對象代理資料庫。在對象代理資料庫中,可備份對象包括命名空間、類型、方法、聚集函數、操作符、操作符類、編碼轉換、類、屬性的默認值聲明、索引、重寫規則、觸發器、約束、過程語言、類型轉換、對象數據、大對象、大對象評論等。其中,觸發器、規則等備份對象類似於傳統資料庫,可從系統表中直接讀取;類對象數據可從對象文件中讀取。而類之間的依賴、類和對象之間的依賴、對象之間的依賴等屬於對象代理資料庫中特有的約束,因此本發明主要涉及對象代理資料庫約束的備份。對象代理資料庫系統的數據由一系列的對象和代理對象表示。資料庫的模式被組織成代理層次,由一組類和代理類構成。對象代理資料庫系統提供豐富的查詢功能,既支持對類和代理類進行查詢,也可以進行導航式的跨類查詢。對象代理資料庫中代理對象依賴於其源對象而存在,是通過代理關係定義的對象。實際上,代理關係是通過切換操作所表示的繼承關係,而代理對象可以理解為可擴展的半物化對象視圖。由於代理對象可以選擇性繼承源對象的部分(或全部)屬性、方法,因此利用代理對象可以實現對象視圖;可擴展是指在傳統的繼承機制外,允許代理對象擴展定義新的屬性;半物化是指代理對象既有虛屬性又有擴展定義的實屬性。虛屬性定義中包含兩類操作讀切換操作、寫切換操作。讀切換操作可以看成一個從源屬性到虛屬性的函數變換,而寫切換操作可以看成一個從虛屬性到源屬性的逆變換。當需要讀取虛屬性值時,需要調用其讀切換操作計算其值。而對虛屬性執行寫操作時,需根據虛屬性的更新值,調用其寫切換操作計算出源屬性的更新值,再對源屬性執行寫操作。代理對象的屬性和源對象的屬性之間的函數變換關係稱之為切換操作;相對應的代理類和源類之間的切換操作函數依賴關係稱之為切換依賴。在對象代理資料庫中,類定義了具有相同屬性和方法的對象,類的模式即為對象的數據模式;類對象即為類的實例。依賴約束反映了類結構內部屬性間的依賴以及類間、對象間、類與對象間的約束關係。根據對象代理資料庫的機制,其類模式及各種依賴約束關係均存儲在系統表中,類對象數據存儲在類數據文件中。在進行資料庫的備份時,需要從各相關系統表中抽取模式及依賴的信息及從數據文件中抽取對象的信息來構建用於資料庫恢復的結構化查詢語言語句。這樣在恢復目標資料庫時,對象代理資料庫類模式和類對象的備份與傳統資料庫的備份相似,通過抽取系統表中的相關信息構建結構化查詢語言語 句,在恢復時執行這些結構化查詢語言語句即可恢復與備份目標資料庫一致的恢復目標資料庫。

發明內容
本發明針對現有技術不足,提供了ー種面向對象代理資料庫約束的備份方法,該方法不僅能備份類模式和類對象數據,還能備份類間、對象間、類與對象間的約束關係。本發明提供的ー種面向對象代理資料庫約束的備份方法,包括以下步驟
步驟1,對於ー個需要進行備份的對象代理資料庫,提取相關資料庫系統表中保存的約束信息;
步驟2,根據步驟I所得約束信息進行可備份對象鏈構建,包括為每個可備份對象創建對象模式信息,獲取類對象的對象數據和局部依賴信息,以及加入全局依賴信息,得到ー個可備份對象鏈;
步驟3,進行可備份對象安全排序,包括對步驟2所得可備份對象鏈中所有可備份對象進行重新排序,然後按可備份對象之間的依賴關係進行拓撲排序,得到一個可備份對象的安全序列。而且,根據步驟I所確定的約束信息進行可備份對象鏈構建時,其具體步驟為 為每個可備份對象創建對象模式信息的實現方式為,獲取出所有需要導出的可備份對
象的對象模式信息,將可備份對象的對象模式信息保存在導出結構體中;
獲取類對象的對象數據的實現方式為,循環掃描每一個模式表,判斷是否是需要備份的類對象,如果是,則為類對象的對象數據分配存儲表數據信息的空間以及備份標識符,備份標識符從I開始遞增;並將類對象的導出結構體存入備份標識符數組中,且備份標識符數組下標為其備份標識符;
加入全局依賴信息的實現方式為,檢索到具有依賴關係的可備份對象對後,通過對具有依賴關係的兩個對象分別對應的對象標識符搜索得到對應的導出結構體,然後給兩個對應的導出結構體加入依賴上的聯繫,依賴對象的對象標識符存放在被依賴對象結構體的依賴對象標識符信息中。而且,對步驟2所得可備份對象鏈中所有可備份對象進行重新排序時,不同類型的可備份對象的導出優先級取決於可備份對象類型優先級數組,可備份對象類型優先級數組記錄了可備份對象的類型排序和對象標識符排序結果,相同類型的可備份對象按照名稱排序;按可備份對象之間的依賴關係進行拓撲排序的實現方式為,依賴於其他對象的對象,其備份總是在其依賴的對象備份後進行。而且,相關的資料庫系統表包括 tt_class、tt_attribute、tt_constraint、tt_proc.、tt_aepend.、11_deputytype, tt_deputy、tt_bipointer 熱 ttjmpping,
系統表tt_class記錄所有類的定義信息,系統表tt_attribute記錄所有類的屬性描述信息,系統表tt_constraint記錄類上的局部依賴信息,系統表tt_proc記錄類的方法描述信息,系統表記錄對象之間的切換依賴關係,系統表tt_deputytype記錄代理類的相關代理信息,系統表tt_deputy記錄源類和代理類間的關係,系統表tt_bipointer記錄對象和代理類間的關係,系統表tt—mapping記錄類和對象與其物理地址的映射關係。本發明技術方案的效果在於,由於傳統的資料庫模型中不存在對象與對象間的依賴約束關係,所以傳統的資料庫備份方式不適用於對象代理資料庫,針對對象代理資料庫提出了ー種保存依賴約束關係的備份技術。本發明針對對象代理模型中類間、對象間、類與對象間存在約束關係分別設計了高效的備份方法;提供了對象代理資料庫約束信息存儲方案;並針對各種依賴約束關係提出了構建可備份對象鏈和可備份對象的安全排序。本發明提出的一種適用於對象代理資料庫的約束備份方法,其特點在於能夠備份類間、對象間、類和對象間的依賴約束關係,克服了傳統備份方法不能應用在對象代理模型上的缺陷,同時備份過程簡單高效。


圖I是本發明實施例中備份系統的框架圖。圖2是本發明實施例中相關系統表的關係圖。圖3是本發明實施例中類模式的獲取流程圖.
圖4是本發明實施例中類的屬性模式的執行流程圖。圖5是本發明實施例中模式對象間的依賴關係圖。圖6是本發明實施例中數據對象間的依賴關係圖。
具體實施例方式 本發明提供ー種面向對象代理資料庫約束的備份技術方案。本發明分析了對象代理模型中類間、對象間、類與對象間存在約束關係的特殊性,將約束信息保存在資料庫系統表中;通過收集依賴信息,為每個可備份對象創建可備份對象數據結構鏈;對可備份對象按照對象間的依賴約束關係進行排序,保證了可備份對象間備份順序的正確性。這種技術方案具有良好的約束備份完整性和安全性,並且實施過程簡單高效。以下說明理論基礎以便理解本發明技術方案
對象代理模型是對面向對象模型的擴充。對象代理模型在面向對象模型的類和對象等概念的基礎上,通過建立代理類和代理對象來滿足複雜數據的管理需求。關係數據模型的靈活性在於關係表可以通過關係代數進行分割和重組,變換其表現形式以滿足不同資料庫應用的需要。面向對象數據模型將數據和操作封裝成對象,對象本身難以分割和重組,因此其柔軟性較差。將代理對象引入到面向對象數據模型,使得代理對象間接地分割和重組對象,從而增強對象表示數據的柔軟性。在傳統面向對象模型中,繼承通常表現為子類繼承其父類的所有屬性和方法,這種繼承造成了傳統面向對象資料庫的模式很僵硬。而在對象代理模型中,代理對象可以繼承源對象的部分或者全部屬性和方法,同時可以根據應用需要増加源對象沒有的屬性和方法,這樣就增強了資料庫模式的靈活性。代理對象既可以作為對象的視圖,又可以作為對象的角色。對象的角色隨時間的變化可以看成對象的移動。因此,代理對象可將這三個概念統一起來處理。現有技術中,基於對象代理模型和複雜數據管理的實際需求,開發了一個對象代理資料庫TOTEM。對象代理資料庫系統在體系結構上沿用了傳統資料庫系統的體系結構,系統由存儲管理、查詢處理與並發控制等系統模塊組成,其模塊結構如圖I所示在資料庫的備份過程中,首先通過連接管理系統(提供終端連接、應用程式、轉儲和恢復)連結備份目標資料庫,然後編譯查詢系統對備份命令進行編譯執行(包括分析編譯、查詢優化、查詢執行、更新遷移),與此同時需要對事務處理系統的相關支持(包括並發控制、事務管理、日誌 管理),最後需要通過存儲管理系統進行數據的讀取(包括索引、緩衝區、存儲器)。對象代理資料庫系統既有關係資料庫系統靈活管理數據的優點,又繼承了面向對象資料庫系統在複雜數據管理方面的優勢,同時避免類似對象關係資料庫系統ー樣在一個系統中實現兩個數據模型的缺點。對象代理資料庫系統的數據由一系列的對象和代理對象表示。資料庫的模式被組織成代理層次,由一組類和代理類構成。對象代理資料庫系統提供豐富的查詢功能,既支持對類和代理類進行查詢,也可以進行導航式的跨類查詢。相對以往的面向對象資料庫系統而言,對象代理資料庫系統支持靈活對象視圖、對象動態分類和跨類查詢等高級資料庫功能,可以滿足更多複雜數據管理應用的需求。代理對象依賴於其源對象而存在,是通過代理關係定義的對象。實際上,代理關係是通過切換操作所表示的繼承關係,而代理對象可以理解為可擴展的半物化對象視圖。由於代理對象可以選擇性繼承源對象的部分(或全部)屬性、方法,因此利用代理對象可以實現對象視圖;可擴展是指在傳統的繼承機制外,允許代理對象擴展定義新的屬性;半物化是指代理對象既有虛屬性又有擴展定義的實屬性。對象代理模型的靈活性和柔軟性使之能表達的語義比傳統的面向對象模式更加豐富。但應該注意到,現實世界中往往有些約束條件將限定資料庫模式的定義,這些約束條件一旦被打破,不但不能準確表達設計者的意圖,而且還將引起資料庫模式的異常。所以,如何正確完整地表述和備份約束條件,是對象代理資料庫的基本功能。全局依賴用於描述對象代理資料庫模式中類(或者代理類)之間的依賴關係。由於對象代理資料庫模式不存在傳統面向對象模式中特殊化一一般化的繼承關係,所以類之間的聯繫主要是類(或者代理類)之間的「代理」關係。源類與代理類之間通過切換操作實現屬性和方法的更新遷移,從語義角度分析此機制就是將源類中滿足一定條件的對象按照一定語義關聯重新組合構成代理類。因此全局依賴是與對象的生成方式相聯繫的。對象代理模型通過切換操作實現源類屬性到代理類屬性的選擇性虛擬繼承,因此,具有切換操作關聯的源類與代理類之間存在著依賴關係。
對象代理模型中的代理類按其產生方式被分為4種選擇代理類,連接代理類,分組代理類和聯合代理類,它們分別對應代理類的4種語義。其中,選擇代理類只從一個源類中選擇對象來派生代理對象,連接代理類通過組合若干個類的對象來派生代理對象,分組代理類對其源類的對象進行分組之後按組來派生代理對象,聯合代理類則派生若干個類的對象全體進行合併構成代理類。源類中所有滿足「條件」的對象都將在代理類中生成相應的代理對象,所以,源類與由條件控制生成的代理類具有對應的依賴關係,根據條件所表達的語義不同,依賴關係對應地分為4種選擇依賴、連接依賴、分組依賴和聯合依賴。以下結合實施例詳細說明本發明技術方案,包括詳述全局依賴和局部依賴在備份過程中的備份方法,即可備份對象鏈的構建和可備份對象的安全排序,並簡單介紹了對應的資料庫恢復方案。下面結合在對象代理資料庫TOTEM上的具體實施步驟進ー步說明,具體實施時可採用計算機軟體技術實現自動運行流程。步驟1,對於ー個需要進行備份的對象代理資料庫,提取相關資料庫系統表中保存的約束信息。 在對象代理資料庫中,類、代理類與其虛屬性的切換表達式均保存在系統表中,類和代理類的實例則保存在數據文件中。對象代理模式由類(或者代理類)與類之間所必須滿足的約束條件共同構成,約束條件也稱為依賴約束。提取實現根據具體的對象代理資料庫進行。實施例中,保存約束信息的相關資料庫系統表主要包括 t_ classヽtt_at tri bu te、tt—constraint ヽ tt_proc、tt_aepena、11_ depu ty type, tt—deputy、tt_bipomter^ tt_mapping ^各表意義如下表所示_
權利要求
1.ー種面向對象代理資料庫約束的備份方法,其特徵在於,包括以下步驟 步驟1,對於ー個需要進行備份的對象代理資料庫,提取相關的資料庫系統表中保存的約束信息; 步驟2,根據步驟I所得約束信息進行可備份對象鏈構建,包括為每個可備份對象創建對象模式信息,獲取類對象的對象數據和局部依賴信息,以及加入全局依賴信息,得到ー個可備份對象鏈; 步驟3,進行可備份對象安全排序,包括對步驟2所得可備份對象鏈中所有可備份對象進行重新排序,然後按可備份對象之間的依賴關係進行拓撲排序,得到一個可備份對象的安全序列。
2.如權利要求I所述面向對象代理資料庫約束的備份方法,其特徵在於步驟2中, 為每個可備份對象創建對象模式信息的實現方式為,獲取出所有需要導出的可備份對象的對象模式信息,將可備份對象的對象模式信息保存在導出結構體中; 獲取類對象的對象數據的實現方式為,循環掃描每一個模式表,判斷是否是需要備份的類對象,如果是,則為類對象的對象數據分配存儲表數據信息的空間以及備份標識符,備份標識符從I開始遞增;並將類對象的導出結構體存入備份標識符數組中,且備份標識符數組下標為其備份標識符; 加入全局依賴信息的實現方式為,檢索到具有依賴關係的可備份對象對後,通過對具有依賴關係的兩個對象分別對應的對象標識符搜索得到對應的導出結構體,然後給兩個對應的導出結構體加入依賴上的聯繫,依賴對象的對象標識符存放在被依賴對象結構體的依賴對象標識符信息中。
3.如權利要求I所述面向對象代理資料庫約束的備份方法,其特徵在於步驟3中, 對步驟2所得可備份對象鏈中所有可備份對象進行重新排序的實現方式為,不同類型的可備份對象的導出優先級取決於可備份對象類型優先級數組,可備份對象類型優先級數組記錄了可備份對象的類型排序和對象標識符排序結果,相同類型的可備份對象按照名稱排序; 按可備份對象之間的依賴關係進行拓撲排序的實現方式為,依賴於其他對象的對象,其備份總是在其依賴的對象備份後進行。
4.如權利要求I或2或3所述面向對象代理資料庫約束的備份方法,其特徵在於相關的資料庫糸統表包括 tt_ class ヽtt_at tri bute、t t_ cons train t、t t_proc、11_ depend、11_deputytype、tt_deputy^ tt_bipointer 取 tt_mapping, 系統表tt_class記錄所有類的定義信息,系統表tt_attribute記錄所有類的屬性描述信息,系統表tt_constraint記錄類上的局部依賴信息,系統表tt_proc記錄類的方法描述信息,系統表記錄對象之間的切換依賴關係,系統表tt_deputytype記錄代理類的相關代理信息,系統表tt_deputy記錄源類和代理類間的關係,系統表tt_bipointer記錄對象和代理類間的關係,系統表tt_mapping記錄類和對象與其物理地址的映射關係。
全文摘要
本發明提供一種面向對象代理資料庫約束的備份方法,包括步驟步驟1,對於一個需要進行備份的對象代理資料庫,確定相關資料庫系統表中保存的約束信息;步驟2,根據步驟1所確定的約束信息進行可備份對象鏈構建,包括為每個可備份對象創建對象模式信息,獲取類對象的對象數據和局部依賴信息,以及加入全局依賴信息,得到一個可備份對象鏈;步驟3,進行可備份對象安全排序,包括對步驟2所得可備份對象鏈中所有可備份對象進行重新排序,然後按可備份對象之間的依賴關係進行拓撲排序,得到一個可備份對象的安全序列。
文檔編號G06F11/14GK102693174SQ20121018386
公開日2012年9月26日 申請日期2012年6月6日 優先權日2012年6月6日
發明者何鏑, 餘鳴, 周玉, 彭智勇, 洪亮 申請人:武漢大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀