一種基于元數據的任意版本兼容數據結構存取方法及裝置的制造方法
【專利摘要】本發明公開了一種基于元數據的任意版本兼容數據結構存取方法及裝置,其中方法為,接收變動后的數據結構信息,將變動后的數據結構信息與預先存儲的數據結構信息作對比,獲得變動的數據結構信息;根據變動的數據結構信息,計算變動的數據結構信息對應的版本號,將版本號存儲到數據結構信息文件中;在數據結構信息文件中,查找版本號對應的數據結構信息,若查找到版本號對應的數據結構信息,根據數據結構信息進行數據的讀寫,否則跳過不進行數據的讀寫。本發明基于元數據的任意版本兼容數據結構存取方法及裝置,在數據存取時,沒有任何文本分析和轉換的性能損失,讀寫效率高,并且可以自動的完成新老版本的兼容。
【專利說明】
一種基于元數據的任意版本兼容數據結構存取方法及裝置
技術領域
[0001] 本發明涉及計算機軟件數據處理領域,尤其是游戲數據結構存儲處理領域。
【背景技術】
[0002] 在軟件開發中,尤其是游戲的開發中,對于數據內容的存取,通常采用的模式主要 分為二進制和文本格式兩種。二進制模式的優點是不需要進行文字數據的轉換,沒有冗余 數據,存儲效率高。缺點是一旦數據結構產生變動,由于存儲文件中不包含不同版本的數據 結構信息,只有數據內容,所以新版本的程序讀取老版本的數據時會異常復雜,需要編寫大 量的代碼進行版本兼容。
[0003] 文本格式屬于文件組織模式,例如xml這種標注式存儲格式的優勢是文件中包含 了大量的數據對象描述信息,應用程序可以根據這些信息讀取必要的數據,從而達到少量 代碼就能比較輕松的完成老版本文件格式的兼容,缺點是使用時需要進行文本解析和轉 換,效率非常低,而且由于大量數據結構信息的存在,會使得數據文件體積增大數倍甚至數 十倍以上,進而增加了程序運行時的執行負擔。
[0004] 因此,現有的數據內容存取的缺點是:采用二進制模式存取效率高沒有冗余數據, 但處理數據兼容性問題時,需要編寫大量代碼進行處理;采用文本格式xml模式文件格式兼 容性問題很容易解決,不需要大量代碼,但是存儲的數據文件信息過大,導致存取效率低, 且增加了程序執行的負擔。
【發明內容】
[0005] 本發明要解決的技術問題是提供一種基于元數據的任意版本兼容數據結構存取 方法及裝置,當數據結構發生變動時進行數據結構存取時,沒有任何文本分析和轉換的性 能損失,讀與效率尚,并且可以自動的完成新老版本的兼容讀與。
[0006] 為解決上述技術問題,本發明提供的技術方案是:
[0007] 第一方面,本發明提供一種基于元數據的任意版本兼容數據結構存取方法,包括: 接收變動后的數據結構信息,將所述變動后的數據結構信息與預先存儲的數據結構信息作 對比,獲得變動的數據結構信息;根據所述變動的數據結構信息,計算變動的數據結構信息 對應的版本號,將所述版本號存儲到數據結構信息文件中;在所述數據結構信息文件中,根 據所述版本號查找對應的數據結構信息,若查找到所述版本號對應的數據結構信息,根據 所述數據結構信息進行數據的讀寫,若沒查找到所述版本號對應的數據結構信息,不進行 數據的讀寫。
[0008] 本發明的技術方案包括數據預處理與數據的讀寫處理兩部分,主要應用在游戲開 發中,當游戲開發者通過游戲引擎進行游戲開發操作時,無論進行的操作實質上是否有數 據結構的變化,游戲引擎接收到的數據都認為是變動后的數據。通常元數據是關于數據的 結構化的數據,通常用在數據結構存儲技術中,元數據會對數據的內容和位置進行描述,BP 數據的數據結構信息。因此本發明中任意版本兼容的數據結構的存取是基于元數據進行 的。
[0009] 首先游戲引擎接收變動后的數據結構信息,通過將變動后的數據結構信息與預先 存儲的數據結構信息(預先存儲在游戲引擎中)作對比,獲得變動的數據結構信息;然后根 據所述變動的數據結構信息計算對應的版本號,將所述版本號存儲到數據結構信息文件 中,方便后續使用;最后根據所述數據結構信息文件中的版本號及對應的數據結構信息進 行數據的讀寫,在讀寫過程中,首先查找所述版本號對應的數據結構信息,若數據結構信息 發生變動,則根據所述數據結構信息進行數據的讀取,同時更新版本號;若沒查找到所述版 本號對應的數據結構信息,表示數據文件損壞了,跳過不在讀取。
[0010] 本發明通過數據結構信息文件的方式進行數據的讀取,通過此種方式,文件中可 存儲大量的數據結構信息,這樣不需要任何文本分析和轉換的性能損失,即不用輸入大量 代碼即可自動完成新老版本的兼容;但如果在文件中存儲大量的數據結構信息,就會使數 據讀寫效率非常低,因此根據變動的數據結構信息進行版本號的計算,這樣在文件中只存 儲數據結構信息對應的版本號,就不會因為存儲大量的數據結構信息影響讀寫效率,用數 據結構信息對應的版本號進行數據的讀寫,不僅可以實現新老版本兼容,也可保證數據讀 寫的效率,整個過程中,無論用戶對這個對象數據結構做任何的變動,存儲系統的都能自動 完成新老版本的兼容讀寫,用戶不需要任何代碼的輔助,這樣大大降低了用戶對數據版本 兼容的工作量。
[0011] 進一步地,所述數據的讀寫過程包括數據的寫入和/或數據的讀取兩部分;其中, 所述數據的寫入部分僅對數據內容進行存儲。其中,所述數據的寫入部分只對數據內容進 行存儲。在數據的寫入部分,不對數據結構信息進行存儲,只存儲數據內容,這樣存儲文件 中不包含不同版本的數據結構信息,只有數據內容,整個讀寫過程在完成不同版本數據兼 容的同時,讀寫效率高。這里的存儲文件是指數據結構信息文件,即文件的寫入過程和文件 的讀取過程都是根據數據結構信息文件進行的。
[0012] 進一步地,采用反射法進行所述變動的數據結構信息與所述預先存儲的數據結構 信息的對比。反射法主要是對結數據結構信息發生變化的部分進行檢測,方法簡單易于實 現。
[0013] 進一步地,所述變動的數據結構信息為新增、刪除和修改的數據結構信息。獲得數 據結構變動的新增、刪除和修改的數據結構信息,這樣可以在以后的處理中,減少處理的數 據信息量,加快處理過程。
[0014] 進一步地,所述讀寫的數據存儲在數據文件中,所述數據文件為二進制格式文件。 二進制文件的優點是在數據的存取過程中效率高,因此在整個讀寫過程中使用二進制文件 進行數據的讀寫,可保證讀寫效率。
[0015] 第二方面,本發明還提供一種基于元數據的任意版本兼容數據結構存儲的裝置, 包括:預處理模塊,用于接收變動后的數據結構信息,將所述變動后的數據結構信息與預先 存儲的數據結構信息作對比,獲得變動的數據結構信息;版本號獲取模塊,用于根據所述變 動的數據結構信息,計算變動的數據結構信息對應的版本號,將所述版本號存儲到數據結 構信息文件中;讀寫模塊,用于在所述數據結構信息文件中,根據所述版本號查找對應的數 據結構信息,若查找到所述版本號對應的數據結構信息,根據所述數據結構信息進行數據 的讀寫,若沒查找到所述版本號對應的數據結構信息,不進行數據的讀寫。
[0016] 本發明的技術方案包括數據預處理與數據的讀寫處理兩部分,主要應用在游戲開 發中,當游戲開發者通過游戲引擎進行游戲開發操作時,無論進行的操作實質上是否有數 據結構的變化,游戲引擎接收到的數據都認為是變動后的數據。通常元數據是關于數據的 結構化的數據,通常用在數據結構存儲技術中,元數據會對數據對象的內容和位置進行描 述,即數據的數據結構信息。因此本發明中任意版本兼容的數據結構的存取是基于元數據 進行的。
[0017] 首先游戲引擎接收預處理模塊中變動后的數據結構信息,通過將變動后的數據結 構信息與預先存儲的數據結構信息(預先存儲在游戲引擎中)作對比,獲得變動的數據結構 信息;然后通過版本號獲取模塊,根據所述變動的數據結構信息計算對應的版本號,將所述 版本號存儲到數據結構信息文件中,方便后續使用;最后通過讀寫模塊,根據所述數據結構 信息文件中的版本號及對應的數據結構信息進行數據的讀寫,在讀寫過程中,首先查找所 述版本號對應的數據結構信息,若數據結構信息發生變動,則根據所述數據結構信息進行 數據的讀取,同時更新版本號;若沒查找到所述版本號對應的數據結構信息,表示數據文件 損壞了,跳過不在讀取。
[0018] 本發明通過數據結構信息文件的方式進行數據的讀取,通過此種方式,文件中可 存儲大量的數據結構信息,這樣不需要任何文本分析和轉換的性能損失,即不用輸入大量 代碼即可自動完成新老版本的兼容;但如果在文件中存儲大量的數據結構信息,就會使數 據讀寫效率非常低,因此根據變動的數據結構信息進行版本號的計算,這樣在文件中只存 儲數據結構信息對應的版本號,就不會因為存儲大量的數據結構信息影響讀寫效率,用數 據結構信息對應的版本號進行數據的讀寫,不僅可以實現新老版本兼容,也可保證數據讀 寫的效率,整個過程中,無論用戶對這個對象數據結構做任何的變動,存儲系統的都能自動 完成新老版本的兼容讀寫,用戶不需要任何代碼的輔助,這樣大大降低了用戶對數據版本 兼容的工作量。
[0019] 進一步地,在數據的讀寫模塊中,所述數據的讀寫過程包括數據的寫入和/或數據 的讀取兩部分;其中,所述數據的寫入部分僅對數據內容進行存儲。其中,所述數據的寫入 部分只對數據內容進行存儲。在數據的寫入部分,不對數據結構信息進行存儲,只存儲數據 內容,這樣存儲文件中不包含不同版本的數據結構信息,只有數據內容,整個讀寫過程在完 成不同版本數據兼容的同時,讀寫效率高。這里的存儲文件是指數據結構信息文件,即文件 的寫入過程和文件的讀取過程都是根據數據結構信息文件進行的。
[0020] 進一步地,采用反射法進行所述變動的數據結構信息與所述預先存儲的數據結構 信息的對比。反射法主要是對結數據結構信息發生變化的部分進行檢測,方法簡單易于實 現。
[0021] 進一步地,所述變動的數據結構信息為新增、刪除和修改的數據結構信息。獲得數 據結構變動的新增、刪除和修改的數據結構信息,這樣可以在以后的處理中,減少處理的數 據信息量,加快處理過程。
[0022] 進一步地,所述讀寫的數據存儲在數據文件中,所述數據文件為二進制格式文件。 二進制文件的優點是在數據的存取過程中效率高,因此在整個讀寫過程中使用二進制文件 進行數據的讀寫,可保證讀寫效率。
【附圖說明】
[0023] 為了更清楚地說明本發明【具體實施方式】或現有技術中的技術方案,下面將對具體 實施方式或現有技術描述中所需要使用的附圖作簡單地介紹。
[0024] 圖1示出了本發明第一實施例所提供的一種基于元數據的任意版本兼容數據結構 存取方法的流程圖;
[0025] 圖2示出了本發明第二實施例所提供的一種基于元數據的任意版本兼容數據結構 存取裝置的結構框圖。
【具體實施方式】
[0026] 下面將結合附圖對本發明技術方案的實施例進行詳細的描述。以下實施例僅用于 更加清楚地說明本發明的技術方案,因此只是作為示例,而不能以此來限制本發明的保護 范圍。
[0027] 實施例一
[0028] 圖1示出了本發明第一實施例所提供的一種基于元數據的任意版本兼容數據結構 存取方法的流程圖。如圖1所示,根據本發明第一實施例的一種基于元數據的任意版本兼容 數據結構存取方法包括:
[0029] S1,接收變動后的數據結構信息,將變動后的數據結構信息與預先存儲的數據結 構信息作對比,獲得變動的數據結構信息;
[0030] S2,根據變動的數據結構信息,計算變動的數據結構信息對應的版本號,將版本號 存儲到數據結構信息文件中;
[0031] S3,在數據結構信息文件中,根據版本號查找對應的數據結構信息,若查找到版本 號對應的數據結構信息,根據數據結構信息進行數據的讀寫,若沒查找到所述版本號對應 的數據結構信息,不進行數據的讀寫。
[0032] 本實施例的基于元數據的任意版本兼容數據結構存取方法,主要應用在游戲開發 中,游戲開發用戶在運用游戲引擎進行游戲開發時,只要游戲開發者通過游戲引擎進行游 戲開發操作,無論進行的操作是否有數據結構的變化,游戲引擎接收到的都認為是變動后 的數據結構信息。通常元數據是關于數據的結構化的數據,通常用在數據結構存儲技術中, 元數據會對數據對象的內容和位置進行描述,即數據的數據結構信息。因此本發明中任意 版本兼容的數據結構的存取是基于元數據進行的。
[0033] 具體實施時,首先接收變動后的數據結構信息,先通過將變動后的數據結構信息 與預先存儲的數據結構信息(預先存儲在游戲引擎中)作對比,獲得變動的數據結構信息; 然后根據變動的數據結構信息計算對應的版本號,將版本號存儲到數據結構信息文件中, 方便后續使用;最后根據數據結構信息文件中的版本號及對應的數據結構信息進行數據的 讀寫,在讀寫過程中,首先查找版本號對應的數據結構信息,若數據結構信息發生變動,則 根據數據結構信息進行數據的讀取,同時更新版本號;若沒查找到所述版本號對應的數據 結構信息,表示數據文件損壞了,跳過不在讀取。
[0034] 本發明通過數據結構信息文件的方式進行數據的讀取,通過此種方式,文件中可 存儲大量的數據結構信息,這樣不需要任何文本分析和轉換的性能損失,即不用輸入大量 代碼即可自動完成新老版本的兼容;但如果在文件中存儲大量的數據結構信息,就會使數 據讀寫效率非常低,因此根據變動的數據結構信息進行版本號的計算,這樣在文件中只存 儲數據結構信息對應的版本號,就不會因為存儲大量的數據結構信息影響讀寫效率,用數 據結構信息對應的版本號進行數據的讀寫,不僅可以實現新老版本兼容,也可保證數據讀 寫的效率,整個過程中,無論用戶對這個對象數據結構做任何的變動,存儲系統的都能自動 完成新老版本的兼容讀寫,用戶不需要任何代碼的輔助,這樣大大降低了用戶對數據版本 兼容的工作量。
[0035] 在具體實施時,計算變動數據結構信息對應的版本號存儲在數據結構信息文件 中,即游戲引擎中,方便后續使用;同時也可將此版本號存儲在遠端服務器中,避免在游戲 引擎發生故障時,不影響版本號數據的調用。
[0036] 作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,數據的 讀寫過程包括數據的寫入和/或數據的讀取兩部分;其中,數據的寫入部分僅對數據內容進 行存儲。其中,數據的寫入部分只對數據內容進行存儲。在數據的寫入部分,不對數據結構 信息進行存儲,只存儲數據內容,這樣存儲文件中不包含不同版本的數據結構信息,只有數 據內容,整個讀寫過程在完成不同版本數據兼容的同時,讀寫效率高。這里的存儲文件是指 數據結構信息文件,即文件的寫入過程和文件的讀取過程都是根據數據結構信息文件進行 的。
[0037] 作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,采用反 射法進行變動的數據結構信息與預先存儲的數據結構信息的對比。反射法主要是對結數據 結構信息發生變化的部分進行檢測,方法簡單易于實現。
[0038] 作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,變動的 數據結構信息為新增、刪除和修改的數據結構信息。獲得數據結構變動的新增、刪除和修改 的數據結構信息,這樣可以在以后的處理中,減少處理的數據信息量,加快處理過程。不同 的數據結構變動對應不同的版本號,例如,新增的數據結構信息對應的版本號11,在查找到 版本號11對應的數據結構信息時,就將對應的新增數據結構信息對應的數據內容存儲到數 據結構信息文件中,然后根據需要將新增的數據結構信息對應的數據讀取出來,其中數據 具體內容包括圖像,文字,數字,計算機代碼等。同理對于刪除和修改的數據結構信息的讀 寫處理與新增的數據結構信息處理一致。
[0039] 作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,讀寫的 數據存儲在數據文件中,數據文件為二進制格式文件。二進制文件的優點是在數據的存取 過程中效率高,因此在整個讀寫過程中使用二進制文件進行數據的讀寫,可保證讀寫效率。
[0040] 作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,版本號 為一個四字節元數據。這樣在數據對象的保存中,沒有在存儲文件中增加任何的數據結構 和版本的描述信息,文件幾乎沒有冗余浪費。
[0041] 作為本發明基于元數據的任意版本兼容數據結構存取方法的具體實施例,給出以 下程序,具體說明本發明方法的執行。
[0042] 例如: public class TestClass ; OSUtility.Support.XndSaveLoadProxy
[0043] {
[C S Uti I it y. S upport, Aut^_:'eL姆dAttilbirte] public Int32 dataO { get;
[0044] set, }
[0045] 在類TestClass中,要對數據dataO進行存取,只需要打上 CSUti 1 ity ? Support ? AutoSaveLoadAttribute這個標志就可以了,然后在文件寫入時調用 CSUtility.Su pport .XndSaveLoadProxy .Write,在讀取時調用 CSUtility.Support.XndSaveLoad Proxy.Read就可以實現文件的讀寫。無論是在 TestClass中增加數據datal,或者刪除了數據dataO,不需要修改讀寫部分的代碼,以前版 本的文件都能夠正確的讀取進來。這樣用戶不用寫入任何一條代碼,就能實現新老版本文 件的讀寫,提高了用戶體驗。
[0046] 實施例二
[0047] 參見圖2,本發明實施例還提供一種基于元數據的任意版本兼容數據結構存取裝 置100,包括:
[0048]預處理模塊1,用于接收變動后的數據結構信息,將變動后的數據結構信息與預先 存儲的數據結構信息作對比,獲得變動的數據結構信息;
[0049] 版本號獲取模塊2,用于根據變動的數據結構信息,計算變動的數據結構信息對應 的版本號,將版本號存儲到數據結構信息文件中;
[0050] 讀寫模塊3,用于在數據結構信息文件中,根據版本號查找對應的數據結構信息, 若查找到版本號對應的數據結構信息,根據數據結構信息進行數據的讀寫,若沒查找到所 述版本號對應的數據結構信息,不進行數據的讀寫。
[0051] 本實施例的基于元數據的任意版本兼容數據結構存取裝置100,主要應用在游戲 開發中,游戲開發用戶在運用游戲引擎進行游戲開發時,只要通過游戲開發者通過游戲引 擎進行游戲開發操作,無論進行的操作是否有數據結構的變化,游戲引擎接收到的都認為 是變動后的數據結構信息。通常元數據是關于數據的結構化的數據,通常用在數據結構存 儲技術中,元數據會對數據對象的內容和位置進行描述,即數據的數據結構信息。因此本發 明中任意版本兼容的數據結構的存取是基于元數據進行的。
[0052]具體實施時,首先接收預處理模塊1中變動后的數據結構信息,先通過將變動后的 數據結構信息與預先存儲的數據結構信息(預先存儲在游戲引擎中)作對比,獲得變動的數 據結構信息;然后通過版本號獲取模塊2,根據變動的數據結構信息計算對應的版本號,將 版本號存儲到數據結構信息文件中,方便后續使用;最后通過讀寫模塊3,根據數據結構信 息文件中的版本號及對應的數據結構信息進行數據的讀寫,在讀寫過程中,首先查找版本 號對應的數據結構信息,若數據結構信息發生變動,則根據數據結構信息進行數據的讀取, 同時更新版本號;若沒查找到所述版本號對應的數據結構信息,表示數據文件損壞了,跳過 不在讀取。
[0053] 本發明通過數據結構信息文件的方式進行數據的讀取,通過此種方式,文件中可 存儲大量的數據結構信息,這樣不需要任何文本分析和轉換的性能損失,即不用輸入大量 代碼即可自動完成新老版本的兼容;但如果在文件中存儲大量的數據結構信息,就會使數 據讀寫效率非常低,因此根據變動的數據結構信息進行版本號的計算,這樣在文件中只存 儲數據結構信息對應的版本號,就不會因為存儲大量的數據結構信息影響讀寫效率,用數 據結構信息對應的版本號進行數據的讀寫,不僅可以實現新老版本兼容,也可保證數據讀 寫的效率,整個過程中,無論用戶對這個對象數據結構做任何的變動,存儲系統的都能自動 完成新老版本的兼容讀寫,用戶不需要任何代碼的輔助,這樣大大降低了用戶對數據版本 兼容的工作量。
[0054] 在具體實施時,計算變動數據結構信息對應的版本號存儲在數據結構信息文件 中,即游戲引擎中,方便后續使用;同時也可將此版本號存儲在遠端服務器中,避免在游戲 引擎發生故障時,不影響版本號數據的調用。
[0055] 作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,在數據 的讀寫模塊3中,數據的讀寫過程包括數據的寫入和/或數據的讀取兩部分;其中,數據的寫 入部分僅對數據內容進行存儲。其中,數據的寫入部分只對數據內容進行存儲。在數據的寫 入部分,不對數據結構信息進行存儲,只存儲數據內容,這樣存儲文件中不包含不同版本的 數據結構信息,只有數據內容,整個讀寫過程在完成不同版本數據兼容的同時,讀寫效率 高。這里的存儲文件是指數據結構信息文件,即文件的寫入過程和文件的讀取過程都是根 據數據結構信息文件進行的。
[0056] 作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,采用反 射法進行變動的數據結構信息與預先存儲的數據結構信息的對比。反射法主要是對結數據 結構信息發生變化的部分進行檢測,方法簡單易于實現。
[0057] 作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,變動的 數據結構信息為新增、刪除和修改的數據結構信息。獲得數據結構變動的新增、刪除和修改 的數據結構信息,這樣可以在以后的處理中,減少處理的數據信息量,加快處理過程。不同 的數據結構變動對應不同的版本號,例如,新增的數據結構信息對應的版本號11,在查找到 版本號11對應的數據結構信息時,就將對應的新增數據結構信息對應的數據內容存儲到數 據結構信息文件中,然后根據需要將新增的數據結構信息對應的數據讀取出來,其中數據 具體包括圖像,文字,數字,計算機代碼等。同理對于刪除和修改的數據結構信息的讀寫處 理與新增的數據結構信息處理一致。
[0058]作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,讀寫的 數據存儲在數據文件中,數據文件為二進制格式文件。二進制文件的優點是在數據的存取 過程中效率高,因此在整個讀寫過程中使用二進制文件進行數據的讀寫,可保證讀寫效率。
[0059]作為本發明基于元數據的任意版本兼容數據結構存取方法的優選實施例,版本號 為一個四字節元數據。這樣在數據對象的保存中,沒有在存儲文件中增加任何的數據結構 和版本的描述信息,文件幾乎沒有冗余浪費。
[0060]以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實 施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各 實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而 這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍,其 均應涵蓋在本發明的權利要求和說明書的范圍當中。
【主權項】
1. 一種基于元數據的任意版本兼容數據結構存取方法,其特征在于,包括: Sl,接收變動后的數據結構信息,將所述變動后的數據結構信息與預先存儲的數據結 構信息作對比,獲得變動的數據結構信息; 52, 根據所述變動的數據結構信息,計算變動的數據結構信息對應的版本號,將所述版 本號存儲到數據結構信息文件中; 53, 在所述數據結構信息文件中,根據所述版本號查找對應的數據結構信息,若查找到 所述版本號對應的數據結構信息,根據所述數據結構信息進行數據的讀寫,若沒查找到所 述版本號對應的數據結構信息,不進行數據的讀寫。2. 根據權利要求1所述的基于元數據的任意版本兼容數據結構存取方法,其特征在于, 所述S3中,所述數據的讀寫過程包括數據的寫入和/或數據的讀取兩部分;其中,所述 數據的寫入部分僅對數據內容進行存儲。3. 根據權利要求1所述的基于元數據的任意版本兼容數據結構存取方法,其特征在于, 所述Sl中,采用反射法進行所述變動的數據結構信息與所述預先存儲的數據結構信息 的對比。4. 根據權利要求1所述的基于元數據的任意版本兼容數據結構存取方法,其特征在于, 所述Sl中,所述變動的數據結構信息為新增、刪除和修改的數據結構信息。5. 根據權利要求1所述的基于元數據的任意版本兼容數據結構存取方法,其特征在于, 所述S3中,所述讀寫的數據存儲在數據文件中,所述數據文件為二進制格式文件。6. -種基于元數據的任意版本兼容數據結構存取裝置,其特征在于,包括: 預處理模塊,用于接收變動后的數據結構信息,將所述變動后的數據結構信息與預先 存儲的數據結構信息作對比,獲得變動的數據結構信息; 版本號獲取模塊,用于根據所述變動的數據結構信息,計算變動的數據結構信息對應 的版本號,將所述版本號存儲到數據結構信息文件中; 讀寫模塊,用于在所述數據結構信息文件中,根據所述版本號查找對應的數據結構信 息,若查找到所述版本號對應的數據結構信息,根據所述數據結構信息進行數據的讀寫,若 沒查找到所述版本號對應的數據結構信息,不進行數據的讀寫。7. 根據權利要求6所述的基于元數據的任意版本兼容數據結構存取裝置,其特征在于, 所述讀寫模塊分為: 所述讀寫模塊中,所述數據的讀寫過程包括數據的寫入和/或數據的讀取兩部分;其 中,所述數據的寫入部分僅對數據內容進行存儲。8. 根據權利要求6所述的基于元數據的任意版本兼容數據結構存取裝置,其特征在于, 所述預處理模塊中,采用反射法進行所述變動的數據結構信息與所述預先存儲的數據 結構信息的對比。9. 根據權利要求6所述的基于元數據的任意版本兼容數據結構存取裝置,其特征在于, 所述預處理模塊中,所述變動的數據結構信息為新增、刪除和修改的數據結構信息。10. 根據權利要求6所述的基于元數據的任意版本兼容數據結構存取裝置,其特征在 于, 所述讀寫模塊中,所述讀寫的數據存儲在數據文件中,所述數據文件為二進制格式文 件。
【文檔編號】G06F17/30GK105893512SQ201610192955
【公開日】2016年8月24日
【申請日】2016年3月30日
【發明人】宋憶疆, 楊智, 任曉宇, 郭鑫
【申請人】北京憶唐創元文化有限公司