本公開涉及數據歸檔領域,具體地,涉及一種數據歸檔方法與裝置。
背景技術:
:目前,對數據進行歸檔一般有兩種方法。第一種方法是將要被歸檔的數據壓縮成二進制文件。該方法的缺陷是,歸檔后的數據是非結構化數據,因此無法對歸檔后的數據進行結構化查詢,而且需要特定算法來恢復被歸檔的數據。第二種方法是按照相同模型一對一地映射歸檔。該方法的缺陷是歸檔后的數據占用大量的磁盤空間,備份性能低下。技術實現要素:本公開實施例的目的是提供一種數據歸檔方法與裝置,其能夠使歸檔后的數據被結構化查詢,減少歸檔后數據的磁盤占用量,提高歸檔性能。為了實現上述目的,本公開實施例提供一種數據歸檔方法,該方法包括:獲取待被歸檔的兩個實例對象,所述實例對象包括對象類型、對象標識數據項和至少一個信息數據項;依據第一預設映射關系分別將兩個所述實例對象的對象類型、對象標識數據項和至少一個信息數據項的數據值歸檔到備份模型中;以及依據第二預設映射關系將所述備份模型中的標識數據項和類型數據項的數據值歸檔到索引模型中。可選地,所述備份模型包括對應于所述兩個實例對象的備份標識數據項、類型數據項和值數據項;所述依據第一預設映射關系分別將兩個所述實例對象的對象類型、對象標識數據項和至少一個信息數據項的數據值歸檔到備份模型中,包括:將所述實例對象的對象標識數據項的數據值作為所述備份標識數據項的數據值;將所述實例對象的對象類型作為所述類型數據項的數據值;將所述實例對象的各個信息數據項的數據值作為所述值數據項的數據值。可選地,所述索引模型包括主鍵數據項、外鍵數據項和外聯對象類型數據項,所述依據第二預設映射關系將所述備份模型中的標識數據項和類型數據項的數據值歸檔到索引模型中,包括:將一個實例對象的標識數據項的數據值作為所述主鍵數據項的數據值;將另一個實例對象的標識數據項的數據值作為所述外鍵數據項的數據值;將標識數據項的數據值被歸檔到所述外鍵數據項的實例對象的對象類型作為所述外聯對象類型數據項的數據值。可選地,該方法還包括:在所述獲取待被歸檔的實例對象之后,清理所述實例對象的各個信息數據項的數據值中無需被歸檔的數據值,所述無需被歸檔的數據值至少包括空值;以及將空值屬性存儲到所述備份模型的空值屬性數據項中,其中,所述空值屬性用于標識所述實例對象的各個信息數據項的數據值是空值或非空值。可選地,該方法還包括:在所述獲取待被歸檔的實例對象之前,預先構建所述備份模型和所述索引模型。本公開實施例還提供一種數據歸檔裝置,該裝置包括:第一獲取模塊,用于獲取待被歸檔的兩個實例對象,所述實例對象包括對象類型、對象標識數據項和至少一個信息數據項;第一歸檔模塊,用于依據第一預設映射關系分別將兩個所述實例對象的對象類型、對象標識數據項和至少一個信息數據項的數據值歸檔到備份模型中;以及第二歸檔模塊,用于依據第二預設映射關系將所述備份模型中的標識數據項和類型數據項的數據值歸檔到索引模型中。可選地,該裝置還包括:第一清理模塊,用于在所述第一獲取模塊獲取到待被歸檔的實例對象之后,清理所述實例對象的各個信息數據項的數據值中無需被歸檔的數據值,所述無需被歸檔的數據值至少包括空值;以及空值屬性存儲模塊,用于將空值屬性存儲到所述備份模型的空值屬性數據項中,其中,所述空值屬性用于標識所述實例對象的各個信息數據項的數據值是空值或非空值。可選地,所述備份模型包括對應于所述兩個實例對象的備份標識數據項、類型數據項和值數據項;所述第一歸檔模塊還用于:將所述實例對象的對象標識數據項的數據值作為所述備份標識數據項的數據值;將所述實例對象的對象類型作為所述類型數據項的數據值;將所述實例對象的各個信息數據項的數據值作為所述值數據項的數據值。可選地,所述索引模型包括主鍵數據項、外鍵數據項和外聯對象類型數據項,所述第二歸檔模塊還用于:將一個實例對象的標識數據項的數據值作為所述主鍵數據項的數據值;將另一個實例對象的標識數據項的數據值作為所述外鍵數據項的數據值;將標識數據項的數據值被歸檔到所述外鍵數據項的實例對象的對象類型作為所述外聯對象類型數據項的數據值。可選地,該裝置還包括:構建模塊,用于預先構建所述備份模型和所述索引模型。通過上述技術方案,由于本公開實施例能夠在進行數據歸檔時依據預設映射關系將待歸檔實例對象的相應數據項的數據值歸檔到備份模型和索引模型的相應數據項中,因此其能夠使歸檔后的數據被結構化查詢,減少歸檔后數據的磁盤占用量,提高歸檔性能。本公開實施例的其他特征和優點將在隨后的具體實施方式部分予以詳細說明。附圖說明附圖是用來提供對本公開實施例的進一步理解,并且構成說明書的一部分,與下面的具體實施方式一起用于解釋本公開實施例,但并不構成對本公開實施例的限制。在附圖中:圖1是根據本公開一種實施例的數據歸檔方法的流程圖;圖2是根據本公開又一實施例的數據歸檔方法的流程圖;圖3是根據本公開又一實施例的數據歸檔方法的流程圖;圖4是根據本公開再一實施例的數據歸檔方法的流程圖;圖5是根據本公開一種實施例的數據歸檔裝置的示意框圖;以及圖6是根據本公開又一實施例的數據歸檔裝置的示意框圖。具體實施方式以下結合附圖對本公開實施例的具體實施方式進行詳細說明。應當理解的是,此處所描述的具體實施方式僅用于說明和解釋本公開實施例,并不用于限制本公開實施例。本公開實施例提供一種數據歸檔方法,如圖1所示,該方法可以包括步驟S101至步驟S103。在步驟S101中,獲取待被歸檔的兩個實例對象,所述實例對象包括對象類型、對象標識數據項和至少一個信息數據項。以下以工作流數據為例對待被歸檔的實例對象進行簡單說明。工作流數據庫會包含多種數據模型,例如流程實例模型、節點實例模型、工作項模型、流程變量模型、超時數據模型等等,采用這些模型來記錄數據也就得到了相應的實例對象。例如,通過流程實例模型記錄數據就得到了流程實例對象。本領域技術人員應當理解的是,雖然這里以工作流數據為例進行說明,但是本公開實施例并不局限于工作流數據,也即,本公開實施例能夠適用于各種數據的歸檔,例如組織機構數據、項目管理數據、房產信息數據等。例如,以下示出了一種示例性的房產信息數據,該數據包括兩個待被歸檔的實例對象,也即表1中所示的身份信息實例對象和表2中所示的房產信息實例對象。在對該房產信息數據進行歸檔時,需要在步驟S101中獲取身份信息實例對象和房產信息實例對象。身份信息實例對象的對象類型是“身份信息”,對象標識數據項是“身份證號”,該對象標識數據項的數據值是“37082921”;信息數據項包括“姓名”、“年齡”、“婚否”和“住址”,姓名和婚否數據項的數據值分別是“張三”和“未婚”,年齡和住址數據項的數據值為空值。房產信息實例對象的對象類型是“房產信息”,對象標識數據項是“房產標識”,其數據值是“00001”;信息數據項包括“房產面積”、“位置”和“所屬人”,其中房產面積和所屬人數據項的數據值分別是“100”和“37082921”,位置數據項的數據值是空值。身份證號姓名年齡婚否住址37082921張三未婚表1身份信息房產標識房產面積位置所屬人0000110037082921表2房產信息在步驟S102中,依據第一預設映射關系分別將兩個所述實例對象的對象類型、對象標識數據項和至少一個信息數據項的數據值歸檔到備份模型中。具體地,備份模型包括備份標識數據項、類型數據項和值數據項,對應地,將實例對象的對象標識數據項的數據值作為所述備份模型的備份標識數據項的數據值,將所述實例對象的對象類型作為所述備份模型的類型數據項的數據值,將所述實例對象的各個信息數據項的數據值作為所述備份模型的值數據項的數據值。還是以上面結合表1和表2描述的所獲取的房產信息實例對象和身份信息實例對象為例,最終被存儲到備份模型中的數據如下面的表3所示。其中,值數據項中的“null”表示待歸檔實例對象的相應信息數據項的值為空值。本領域技術人員應當理解的是,“null”僅是示例,實際上可以用任何其他形式來表示空值。標識類型值37082921身份信息張三,null,未婚,null00001房產信息100,null,3708291表3在步驟S103中,依據第二預設映射關系將備份模型中的標識數據項和類型數據項的數據值歸檔到索引模型中。具體地,索引模型包括主鍵數據項、外鍵數據項和外聯對象類型數據項。對應地,將一個實例對象的標識數據項的數據值作為主鍵數據項的數據值;將另一個實例對象的標識數據項的數據值作為外鍵數據項的數據值,并將標識數據項的數據值被歸檔到外鍵數據項的實例對象的對象類型作為外聯對象類型數據項的數據值,這樣就便于歸檔后數據的結構化查詢。主鍵、外鍵和外聯對象類型的概念是本領域技術人員熟知的,此處不再贅述。還是以上面結合表1和表2描述的所獲取的房產信息實例對象和身份信息實例對象為例,主鍵是37082921,外鍵是00001,外聯對象類型是房產信息。因此,最終被存儲到索引模型中的數據如下面的表4所示。主鍵外鍵外聯對象類型3708292100001房產信息表4通過上述技術方案,由于本公開實施例能夠在進行數據歸檔時依據預設映射關系將待歸檔實例對象的相應數據項的數據值歸檔到備份模型和索引模型的相應數據項中,因此其能夠使歸檔后的數據被結構化查詢,減少歸檔后數據的磁盤占用量,提高歸檔性能。在根據本公開實施例的數據歸檔方法的一個可能實施方式中,如圖2所示,在在步驟S101中獲取待被歸檔的實例對象之后,該方法還可以包括:在步驟S201中,清理所述實例對象的各個信息數據項的數據值中無需被歸檔的數據值,所述無需被歸檔的數據值至少包括空值;以及在步驟S202中,將空值屬性存儲到所述備份模型的空值屬性數據項中,其中,所述空值屬性用于標識所述實例對象的各個信息數據項的數據值是空值或非空值。由于在待歸檔實例對象的信息數據項的數據值是空值的情況下,對該空值進行歸檔不僅沒有實際意義,而且還會占用大量的磁盤空間,因此對空值進行清理是有必要的,只需要在清理之后用空值屬性數據項來標識待歸檔實例對象的各個信息數據項的數據值是空值還是非空值就能夠實現被歸檔數據的恢復。因此,通過采用步驟S201和S202,能夠減小歸檔數據的磁盤占用量。可選地,所述無需被歸檔的數據值還可以包括狀態值。由于狀態值通常用于表示該條實例對象是完成狀態還是未完成狀態,而要被歸檔的實例對象一般都是已完成的實例對象,因此在進行歸檔時,狀態值是無需被保存的,這也能夠有效地減小歸檔數據的磁盤占用量。還是以上面結合表1和表2描述的所獲取的房產信息實例對象和身份信息實例對象為例。在清理了實例對象中的空值并在備份模型中添加了空值屬性數據項之后,最終被存儲到備份模型中的數據如下面的表5所示。其中,對于身份信息實例對象而言,用二進制數值表示的空值屬性數據項的數據值是11010,也即說明身份證號、姓名、婚否等數據項的數據值是非空值,年齡和住址等數據項的數據值是空值。對于房產信息實例對象而言,用二進制數值表示的空值屬性是1101,也即說明房產標識、房產面積和所屬人等數據項的數據值是非空值,位置數據項的數據值是空值。另外,除了使用二進制數值表示空值屬性之外,還可以使用十進制數值、八進制數值、十六進制數值等來表示空值屬性。例如,如果用十進制數值表示空值屬性,則身份信息實例對象的空值屬性為26,房產信息實例對象的空值屬性為13。標識類型值空值屬性37082921身份信息張三,未婚1101000001房產信息100,37082911101表5在根據本公開實施例的數據歸檔方法的又一可能實施方式中,如圖3所示,在步驟S101中獲取到待被歸檔的實例對象之后,該方法還可以包括:步驟S301、按照所述實例對象的對象類型對所獲取的實例對象進行分類。這樣就能夠按照對象類型對待歸檔實例對象進行歸檔。可選地,如圖3所示,在步驟S301之后,該方法還可以包括:步驟S302、清理所獲取的實例對象中無需被歸檔類型的實例對象。這樣,就能夠進一步減小歸檔后數據的磁盤占用量。以工作流數據庫為例,在源數據庫中會存儲一些超時數據實例對象,而且對這些超時數據實例對象進行歸檔的意義不大,因此就可以考慮在對所獲取的實例對象進行分類之后,按照對象類型來刪除這些歸檔意義不大的實例對象,以減小歸檔后數據的磁盤占用量。在根據本公開實施例的數據歸檔方法的又一可能實施方式中,如圖4所示,在在步驟S101中獲取待被歸檔的實例對象之前,該方法還可以包括:步驟S101-1,預先構建所述備份模型和所述索引模型。備份模型和索引模型構建好之后,在每次進行數據歸檔時不必每次都重新構建,而是可以重復使用或進行適應性修改。本公開實施例還提供一種數據歸檔裝置,如圖5所示,該裝置可以包括:第一獲取模塊301,用于獲取待被歸檔的兩個實例對象,所述實例對象包括對象類型、對象標識數據項和至少一個信息數據項;第一歸檔模塊302,用于依據第一預設映射關系分別將兩個所述實例對象的對象類型、對象標識數據項和至少一個信息數據項的數據值歸檔到備份模型中;以及第二歸檔模塊303,用于依據第二預設映射關系將所述備份模型中的標識數據項和類型數據項的數據值歸檔到索引模型中。通過上述技術方案,由于本公開實施例能夠在進行數據歸檔時依據預設映射關系將待歸檔實例對象的相應數據項的數據值歸檔到備份模型和索引模型的相應數據項中,因此其能夠使歸檔后的數據被結構化查詢,減少歸檔后數據的磁盤占用量,提高歸檔性能。可選地,如圖6所示,該數據歸檔裝置還可以包括:第一清理模塊304,用于在所述第一獲取模塊301獲取到待被歸檔的實例對象之后,清理所述實例對象的各個信息數據項的數據值中無需被歸檔的數據值,所述無需被歸檔的數據值至少包括空值;以及空值屬性存儲模塊305,用于將空值屬性存儲到所述備份模型的空值屬性數據項中,其中,所述空值屬性用于標識所述實例對象的各個信息數據項的數據值是空值或非空值。可選地,所述備份模型可以包括對應于所述兩個實例對象的備份標識數據項、類型數據項和值數據項;所述第一歸檔模塊302還可以用于:將所述實例對象的對象標識數據項的數據值作為所述備份標識數據項的數據值;將所述實例對象的對象類型作為所述類型數據項的數據值;將所述實例對象的各個信息數據項的數據值作為所述值數據項的數據值。可選地,所述索引模型可以包括主鍵數據項、外鍵數據項和外聯對象類型數據項,所述第二歸檔模塊303還可以用于:將一個實例對象的標識數據項的數據值作為所述主鍵數據項的數據值;將另一個實例對象的標識數據項的數據值作為所述外鍵數據項的數據值;將標識數據項的數據值被歸檔到所述外鍵數據項的實例對象的對象類型作為所述外聯對象類型數據項的數據值。可選地,如圖6所示,該數據歸檔裝置還可以包括:分類模塊306,用于在所述第一獲取模塊301獲取到待被歸檔的實例對象之后,按照所述實例對象的對象類型對所獲取的實例對象進行分類。可選地,如圖6所示,該數據歸檔裝置還可以包括:第二清理模塊307,用于在所述分類模塊306分類之后清理所獲取的實例對象中無需被歸檔類型的實例對象。可選地,如圖6所示,該數據歸檔裝置還可以包括:構建模塊308,用于預先構建所述備份模型和所述索引模型。在構建模塊308預先構建了備份模型和索引模型之后,空值屬性存儲模塊305、第一歸檔模塊302和第二歸檔模塊303就能夠執行相應的歸檔操作。根據本公開實施例的數據歸檔裝置中的各個模塊所執行的操作的具體實現方式已經在根據本公開實施例的數據歸檔方法中進行了詳細描述,此處不再贅述。以上結合附圖詳細描述了本公開的優選實施方式,但是,本公開并不限于上述實施方式中的具體細節,在本公開的技術構思范圍內,可以對本公開的技術方案進行多種簡單變型,這些簡單變型均屬于本公開的保護范圍。另外需要說明的是,在上述具體實施方式中所描述的各個具體技術特征,在不矛盾的情況下,可以通過任何合適的方式進行組合。為了避免不必要的重復,本公開對各種可能的組合方式不再另行說明。此外,本公開的各種不同的實施方式之間也可以進行任意組合,只要其不違背本公開的思想,其同樣應當視為本公開所公開的內容。當前第1頁1 2 3