智能數(shù)據(jù)歸檔的制作方法【專利摘要】本發(fā)明公開涉及智能數(shù)據(jù)歸檔。提供了包括計算機程序產(chǎn)品的方法和裝置,其實現(xiàn)并利用用于歸檔數(shù)據(jù)庫中的活動記錄的技術(shù)。在所述數(shù)據(jù)庫中創(chuàng)建輔助表。所述輔助表可以存儲關(guān)于要被歸檔并從所述數(shù)據(jù)庫中刪除的活動記錄的元數(shù)據(jù)信息。選擇要從所述數(shù)據(jù)庫中刪除的活動記錄。在所述輔助表中為選定的活動記錄存儲元數(shù)據(jù)信息。把所述選定的活動記錄歸檔到數(shù)據(jù)存儲設(shè)備中?;谒鲚o助表中的更新信息,從所述數(shù)據(jù)庫中刪除所述選定的活動記錄,而不需要在從所述數(shù)據(jù)庫中刪除所述活動記錄之前,比較所述數(shù)據(jù)存儲設(shè)備中歸檔的記錄和所述數(shù)據(jù)庫中的活動記錄的列數(shù)據(jù)?!緦@f明】智能數(shù)據(jù)歸檔【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及數(shù)據(jù)歸檔(dataarchiving),更具體地,涉及存儲在數(shù)據(jù)庫中的數(shù)據(jù)的歸檔。【
背景技術(shù):
】[0002]數(shù)據(jù)歸檔指把不再積極使用的數(shù)據(jù)轉(zhuǎn)移到單獨的數(shù)據(jù)存儲設(shè)備用于長期保留的過程。數(shù)據(jù)檔案通常包括仍然重要并且需要用于將來參考的較舊的數(shù)據(jù),以及必須為法規(guī)遵從、審計跟蹤的目的而保持的數(shù)據(jù),或者基于歷史數(shù)據(jù)可以從中得到業(yè)務(wù)概況的資源。通常,數(shù)據(jù)檔案是有索引的并且具有查找功能,使得文件及文件的部分能夠被容易地定位和檢索。[0003]通常,數(shù)據(jù)庫歸檔工作分三個階段。首先,從數(shù)據(jù)庫中獲取要被歸檔的數(shù)據(jù)庫中的記錄并將其存儲在數(shù)據(jù)檔案中。獲取通常可以利用SQL(結(jié)構(gòu)化查詢語言)查詢來完成,諸如“SELECT”查詢。被檢索的記錄以適當?shù)母袷綒w檔到諸如磁盤、磁帶等的某種類型的長期存儲介質(zhì)上。然后,驗證歸檔的記錄以確保它們的正確性,并且一旦驗證完成,最終從數(shù)據(jù)庫中永久地刪除這些記錄。[0004]在傳統(tǒng)的數(shù)據(jù)庫歸檔中,使用了兩種主要的方法來從數(shù)據(jù)庫中刪除歸檔的記錄。第一種方法是基于完全的數(shù)據(jù)比較模型。即,在從數(shù)據(jù)庫中刪除記錄之前,在歸檔的數(shù)據(jù)和數(shù)據(jù)庫中的活動(active)(產(chǎn)品)數(shù)據(jù)之間做一對一的比較。第二種方法是基于以下思想:基于分區(qū)數(shù)據(jù)歸檔數(shù)據(jù)庫記錄(當歸檔策略是基于數(shù)據(jù)的整個分區(qū)時),然后放棄整個分區(qū)。[0005]這些方法帶有的缺陷是(帶有所有屬性值的)記錄比較是昂貴并且計算密集型的,部分地因為歸檔的記錄必須從檔案(即,存儲介質(zhì)/磁盤等)中獲取以用于比較。此外,當記錄在歸檔之后被更新時,沒有維護元數(shù)據(jù)。因此,可能存在某人更新已經(jīng)歸檔并且符合刪除條件的記錄的可能性。由于沒有維護數(shù)據(jù)庫相關(guān)的元數(shù)據(jù),所以這使得數(shù)據(jù)庫中更新的記錄與同一記錄的歸檔拷貝不一致。因此,存在提高用于歸檔數(shù)據(jù)的技術(shù)的需要。【
發(fā)明內(nèi)容】[0006]根據(jù)本發(fā)明的一種實施例,提供了用于歸檔數(shù)據(jù)庫中的活動記錄的方法和裝置,其中包括計算機程序產(chǎn)品。在數(shù)據(jù)庫中創(chuàng)建輔助表。該輔助表能夠存儲關(guān)于要歸檔并從數(shù)據(jù)庫中刪除的活動記錄的元數(shù)據(jù)信息。選擇要從數(shù)據(jù)庫中刪除的活動記錄。為選定的活動記錄在輔助表中存儲元數(shù)據(jù)信息。選定的活動記錄被歸檔到數(shù)據(jù)存儲設(shè)備中?;谳o助表中的更新信息,從數(shù)據(jù)庫中刪除選定的活動記錄,而無需在從數(shù)據(jù)庫中刪除活動記錄之前,比較數(shù)據(jù)存儲設(shè)備中的歸檔記錄的列數(shù)據(jù)和數(shù)據(jù)庫中的活動記錄的列數(shù)據(jù)。[0007]本發(fā)明的一種或多種實施例的細節(jié)將在附圖及以下描述中進行闡述。根據(jù)描述和附圖以及權(quán)利要求,本發(fā)明的其它特征和優(yōu)點將顯而易見?!緦@綀D】【附圖說明】[0008]圖1是示出根據(jù)一種實施例的用于智能數(shù)據(jù)歸檔的過程(100)的流程圖。[0009]圖2是示出根據(jù)一種實施例的用于從表中刪除記錄的圖1的步驟(108)的更詳細不圖的流程圖。[0010]圖3是示出根據(jù)一種實施例的用于識別表之間的關(guān)系的圖2的步驟(202)的更詳細不圖的流程圖。[0011]在各個圖中,相同的標號都指示相同的元素。【具體實施方式】[0012]本發(fā)明的各種實施例提供了用于歸檔數(shù)據(jù)的技術(shù),這將在以下進行詳細描述。本質(zhì)上,通過在數(shù)據(jù)庫目錄中維護輔助表中的參考鍵,就使得能夠進行“智能刪除”,而無需把歸檔的記錄與原來的活動記錄進行比較。而且,對歸檔記錄的更新可以通過在輔助表中標記參考鍵記錄來處理,使得這些記錄不被刪除。由于利用了這些技術(shù),因此能夠完成更有效的審計跟蹤和報告生成。[0013]所屬【
技術(shù)領(lǐng)域:
】的技術(shù)人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實施例中,本發(fā)明的各個方面還可以實現(xiàn)為在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)中包含計算機可讀的程序代碼。[0014]可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。[0015]計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。[0016]計算機可讀介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。[0017]可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。[0018]下面將參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。[0019]也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(articleofmanufacture)。[0020]計算機程序指令也可以加載到計算機、其它可編程數(shù)據(jù)處理裝置或者其它設(shè)備上,使得一系列操作步驟在計算機、其它可編程裝置或者其它設(shè)備上執(zhí)行,以產(chǎn)生一種計算機實現(xiàn)的過程,使得在所述計算機或者其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)在流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的過程。[0021]圖1示出了根據(jù)一種實施例的用于智能數(shù)據(jù)歸檔的過程(100)的流程圖。如在圖1中可以看到的,過程(100)通過創(chuàng)建附加的目錄表(catalogtable)作為輔助表開始(步驟102)。對于這個示例,附加的目錄表將被稱為“DELETE0N”并且將具有模式(schema)(RowID、Table_Name、Update_Flag、Is_Delete_Sucessful)。RowID指不歸檔的記錄ID(通過任何主鍵標識符)。Table_Name指示來自其的記錄已被歸檔的表。Update_Flag是每當具有RowID的記錄被更新時,其值被設(shè)置為“1”,否則的話設(shè)置為“O”的標志。IS_Delete_Sucessful是當具有RowID的記錄沒被刪除時設(shè)置為“0”,并且當記錄被刪除時設(shè)置為“I”的標志。[0022]然后,選擇數(shù)據(jù)庫中要被歸檔的記錄并且通過為每條要被歸檔的記錄插入新的元組來更新DELETE0N表(步驟104)。在一種實施例中,存在SELECT查詢語法,其指示所有被訪問的記錄都具有將來被刪除的資格。這個SELECT查詢是當應(yīng)該進行記錄歸檔時由用戶執(zhí)行的。在一種實施例中,SELECT查詢具有下述語法:[0023]SELECT*from<tab>where<predicatesifany>withDELETEON;[0024]一旦被執(zhí)行,上述SELECT查詢就在DELETEON目錄表中標記每個被訪問的記錄用于刪除。所有被訪問記錄的RowID在每一行中都與在其上運行SELECT查詢的表的Table_Name一起存儲。[0025]初始地,為記錄把Update_Flag的值設(shè)置為“O”并且把Is_Delete_Sucessful設(shè)置為“I”。如果帶有RowID的記錄隨后發(fā)生更新,那么用于這個記錄的Update_Flag的值改變成“I”。以這種方式,能夠確保在SELECT查詢運行之后被改變的記錄沒有從活動數(shù)據(jù)庫中刪除。[0026]在一些實施例中,提供了進一步的表“List_of_Deleteon”。表“List_of_Deleteon”具有列“Table_Name”,其通過主鍵-外鍵(PK-FK)關(guān)聯(lián)到DELETEON表的“Table_Name”列。[0027]如果對于已經(jīng)被標記用于刪除的記錄,接收到更新請求,那么更新請求將把用于該記錄的Update_Flag列值設(shè)置為“I”。在DELETEON表中改變用于該記錄的Update_Flag(而不是簡單地刪除整個記錄)的原因是該Update_Flag值可以在以后用來產(chǎn)生哪些已被歸檔和哪些已被刪除之間的差異報告,如將在以下進一步詳細描述的。[0028]在已經(jīng)使用SELECT語句選擇數(shù)據(jù)之后,所有選擇的行都被獲取并存儲在存儲裝置中(步驟106)。如本領(lǐng)域普通技術(shù)人員所熟悉的,這種存儲裝置可以是例如各種類型的磁盤、磁帶等。[0029]然后,從所有通過PK-FK關(guān)系連接的表中刪除所選擇的記錄(步驟108)。在一種實施例中,使用帶有下述語法的新的DELETE查詢用于刪除記錄。[0030]DELETE{ALL|<表格名列表>}WITHDELETEON[0031]當執(zhí)行該DELETE查詢時,將參考DELETEON表并且那些標記為刪除的記錄(S卩,那些具有Update_Flag列值“O”的記錄)將被刪除。用于刪除記錄的過程在圖2和3進行進一步詳細的描述。如在圖2中可以看到的,過程(108)以在表中識別關(guān)系(如果有的話)開始(步驟202)。圖3進一步詳細地示出了這個步驟的一種實施例,并且現(xiàn)在將對其進行描述。[0032]如在圖3中可以看到的,用于識別關(guān)系的過程(202)通過從List_of_Deleteon目錄表中獲取單個列中的所有記錄——即,具有要被刪除的記錄的所有表的名稱——開始(步驟302)。然后,為這些表創(chuàng)建關(guān)系樹,其為這些表識別父子關(guān)系(步驟304)。在一種實施例中,使用現(xiàn)有的數(shù)據(jù)庫目錄表來建立這種關(guān)系樹,其中現(xiàn)有的數(shù)據(jù)庫目錄表為List_of_Deleteon表中的每個表存儲關(guān)于關(guān)系的信息。這結(jié)束步驟203。[0033]現(xiàn)在返回到圖2,在關(guān)系樹中選擇最低層的孩子,S卩,本身不具有任何關(guān)聯(lián)的子表的表(步驟203)。然后對RowID和Table_Name的值進行匹配并從List_of_Deleteon表中刪除記錄(步驟204)。然后,把DELETEON表中的Is_Delete_Successful列標記為“1”(步驟206)。如果由于某種原因,特定記錄的刪除沒有成功,那么為了確保完整性,對所有關(guān)聯(lián)的表的記錄,將把用于該記錄的Is_Delete_Successful列更新為“O”。[0034]然后,該過程檢查在關(guān)系中是否有在DELETEON表中具有匹配記錄的任何進一步的表(步驟208)。如果存在在DELET0N表中帶有匹配記錄的進一步的表,那么過程返回到步驟204并且如上所述繼續(xù)。如果沒有在DELETEON表中帶有匹配記錄的進一步的表,那么過程以基于Is_Delete_Successful列中的值從DELETEON表自身中刪除記錄來繼續(xù)(步驟210)。如果在Is_Delete_Successful列中的值是“1”,那么該記錄從DELETEON表中刪除。如果在Is_Delete_Successful列中的值是“O”,那么由于這些記錄還沒有從數(shù)據(jù)庫中刪除,因此記錄被保留。來自List_of_Deleteon目錄表中的記錄以類似的方式刪除。最終,給發(fā)起DELETE查詢的用戶(或應(yīng)用)呈現(xiàn)指示該DELETE查詢的成功或失敗的報告(步驟212),這使該過程結(jié)束(即,圖1的步驟108)。[0035]如技術(shù)人員所意識到的,利用上述實施例可以實現(xiàn)許多優(yōu)點。例如,行的RowID指定數(shù)據(jù)文件和包含該行的數(shù)據(jù)塊及該行在那個塊中的位置。由于指定了在數(shù)據(jù)庫中行的精確位置,因此通過指定其RowID來定位行是檢索單個行的最快方法。而且,RowID掃描是由查詢優(yōu)化器使用來產(chǎn)生最好的查詢執(zhí)行計劃的訪問路徑。[0036]仍然還有的優(yōu)勢包括不需要在數(shù)據(jù)庫之外維護任何元數(shù)據(jù)信息的事實。磁盤訪問的次數(shù)減少了,這使得I/o成本減少。沒有比較記錄的需要,這進一步顯著地減少了計算成本。記錄通過參考目錄表來刪除,即,不需要外部的元數(shù)據(jù)。通過在DELET0N表中標記每一行,很容易確定記錄是否已經(jīng)被更新。輔助信息在審計跟蹤和商業(yè)智能應(yīng)用中會是有幫助的。[0037]如上所述,在一種實施例中,DELETEON表也可以用來產(chǎn)生已歸檔的數(shù)據(jù)和已從數(shù)據(jù)庫中刪除的數(shù)據(jù)之間的差異報告。在成功地執(zhí)行“DELETE{ALLI〈表格名列表>}WITHDELETEON”SQL查詢之后,通過檢查DELETEON表的“Is_Delete_Successful”列,可以檢查DELETEON表,以檢驗是否仍然留有“Is_Delete_Successful”列值設(shè)置為“O”的任何記錄。基于這些值,能夠創(chuàng)建報告(主要通過執(zhí)行特定的SQL命令),該報告列出所有沒被刪除的記錄。[0038]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。[0039]本文所使用的術(shù)語僅僅是為了描述特定的實施例而不是要作為本發(fā)明的限制。所本文所使用的,除非上下文明確地另外指出,否則單數(shù)形式“一個”和“這個”是要也包括復(fù)數(shù)形式。還應(yīng)當理解,當在本說明書使用時,術(shù)語“包括”和/或“包含”規(guī)定所述的特征、整數(shù)、步驟、操作、元素和/或部件的存在,但是并不排除一個或多個其它特征、整數(shù)、步驟、操作、元素、部件和/或其組的存在或添加。[0040]以下權(quán)利要求中所有手段或步驟加功能元素的對應(yīng)結(jié)構(gòu)、材料、動作及等價物都是要包括用于結(jié)合具體所述的其它所述元素執(zhí)行所述功能的任何結(jié)構(gòu)、材料或行為。已經(jīng)為了說明和描述給出了本發(fā)明的描述,但這不是詳盡的或者要把本發(fā)明限定到所公開的形式。在不背離本發(fā)明范圍與主旨的情況下,許多修改和變化對本領(lǐng)域普通技術(shù)人員都將是顯而易見的。實施例的選擇和描述是為了最好地解釋本發(fā)明的原理和實踐應(yīng)用,并使本領(lǐng)域普通技術(shù)人員能夠理解本發(fā)明具有適于預(yù)期特定使用的各種修改的各種實施例?!緳?quán)利要求】1.一種用于歸檔數(shù)據(jù)庫中的活動記錄的計算機實現(xiàn)的方法,所述方法包括:在所述數(shù)據(jù)庫中創(chuàng)建輔助表,所述輔助表能夠操作來存儲關(guān)于要被歸檔并從所述數(shù)據(jù)庫中刪除的活動記錄的元數(shù)據(jù)信息;選擇要從所述數(shù)據(jù)庫中刪除的活動記錄;在所述輔助表中為選定的活動記錄存儲元數(shù)據(jù)信息;把所述選定的活動記錄歸檔到數(shù)據(jù)存儲設(shè)備中;及基于所述輔助表中的更新信息,從所述數(shù)據(jù)庫中刪除所述選定的活動記錄,而不需要在從所述數(shù)據(jù)庫中刪除所述活動記錄之前,比較所述數(shù)據(jù)存儲設(shè)備中歸檔的記錄和所述數(shù)據(jù)庫中的活動記錄的列數(shù)據(jù)。2.如權(quán)利要求1所述的方法,還包括:響應(yīng)于記錄已被歸檔到所述數(shù)據(jù)存儲設(shè)備中之后又接收到對所述活動記錄的更新,在所述輔助表中捕獲所述記錄的元數(shù)據(jù)信息以反映所述活動記錄已被更新。3.如權(quán)利要求2所述的方法,其中刪除所述選定的活動記錄包括:只有所述輔助表中用于所述記錄的更新值指示在所述活動記錄被歸檔之后沒有對所述活動記錄進行更新,才從所述數(shù)據(jù)庫中刪除所述活動記錄。4.如權(quán)利要求1所述的方法,還包括:從通過主鍵-外鍵關(guān)系與其中存儲所述選定的記錄的表連接的表中刪除與所述選定的記錄相關(guān)的活動記錄。5.如權(quán)利要求1所述的方法,其中所述輔助表具有模式(RowID、Table_Name、Update_Flag、Is_Delete_Successful),其中RowID是所述活動記錄的主鍵標識符,Table_Name指示所述數(shù)據(jù)庫中存儲所述活動記錄的表,Update_Flag指示所述活動記錄在歸檔之后是否已被更新,以及Is_Delete_Successful指示記錄是否已經(jīng)從所述數(shù)據(jù)庫中成功地刪除。6.如權(quán)利要求1所述的方法,還包括:基于所述輔助表中的信息產(chǎn)生報告,所述報告指示已在所述數(shù)據(jù)存儲設(shè)備中歸檔的數(shù)據(jù)與已從所述數(shù)據(jù)庫中刪除的數(shù)據(jù)之間是否存在任何差異。7.一種用于歸檔數(shù)據(jù)庫中的活動記錄的計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括:其中包含計算機可讀程序代碼的計算機可讀存儲介質(zhì),所述計算機可讀程序代碼包括:配置成在所述數(shù)據(jù)庫中創(chuàng)建輔助表的計算機可讀程序代碼,所述輔助表能夠操作來存儲關(guān)于要被歸檔并從所述數(shù)據(jù)庫中刪除的活動記錄的元數(shù)據(jù)信息;配置成選擇要從所述數(shù)據(jù)庫中刪除的活動記錄的計算機可讀程序代碼;配置成在所述輔助表中為選定的活動記錄存儲元數(shù)據(jù)信息的計算機可讀程序代碼;配置成把所述選定的活動記錄歸檔到數(shù)據(jù)存儲設(shè)備中的計算機可讀程序代碼;及配置成基于所述輔助表中的更新信息,從所述數(shù)據(jù)庫中刪除所述選定的活動記錄,而不需要在從所述數(shù)據(jù)庫中刪除所述活動記錄之前,比較所述數(shù)據(jù)存儲設(shè)備中歸檔的記錄的列數(shù)據(jù)和所述數(shù)據(jù)庫中的活動記錄的列數(shù)據(jù)的計算機可讀程序代碼。8.如權(quán)利要求7所述的計算機程序產(chǎn)品,還包括:配置成響應(yīng)于記錄已被歸檔到所述數(shù)據(jù)存儲設(shè)備中之后又接收到對所述活動記錄的更新,在所述輔助表中捕獲用于所述記錄的元數(shù)據(jù)信息以反映所述活動記錄已被更新的計算機可讀程序代碼。9.如權(quán)利要求8所述的計算機程序產(chǎn)品,其中配置成刪除所述選定的活動記錄的計算機可讀程序代碼包括:配置成只有所述輔助表中用于所述記錄的更新值指示在所述活動記錄被歸檔之后沒有對所述活動記錄進行更新,才從所述數(shù)據(jù)庫中刪除所述活動記錄的計算機可讀程序代碼。10.如權(quán)利要求7所述的計算機程序產(chǎn)品,還包括:配置成從通過主鍵-外鍵關(guān)系與其中存儲所述選定的記錄的表連接的表中刪除與所述選定的記錄相關(guān)的活動記錄的計算機可讀程序代碼。11.如權(quán)利要求7所述的計算機程序產(chǎn)品,其中所述輔助表具有模式(RowID、Table_Name、Update_Flag、Is_Delete_Successful),其中RowID是所述活動記錄的主鍵標識符,Table_Name指示所述數(shù)據(jù)庫中存儲所述活動記錄的表,Update_Flag指示所述活動記錄在歸檔之后是否已被更新,以及Is_Delete_Successful指示記錄是否已經(jīng)從所述數(shù)據(jù)庫中成功地刪除。12.如權(quán)利要求7所述的方法,還包括:配置成基于所述輔助表中的信息產(chǎn)生報告的計算機可讀程序代碼,其中所述報告指示已在所述數(shù)據(jù)存儲設(shè)備中歸檔的數(shù)據(jù)與已從所述數(shù)據(jù)庫中刪除的數(shù)據(jù)之間是否存在任何差異。13.一種用于歸檔數(shù)據(jù)庫中的活動記錄的系統(tǒng),所述系統(tǒng)包括:數(shù)據(jù)存儲設(shè)備,能夠操作來歸檔從所述數(shù)據(jù)庫中獲得的活動記錄以便長期存儲;托管帶有活動記錄的數(shù)據(jù)庫的計算設(shè)備,所述計算設(shè)備包括處理器及存儲指令的存儲器,其中所述指令能夠操作來使得所述處理器執(zhí)行以下操作:在所述數(shù)據(jù)庫中創(chuàng)建輔助表,所述輔助表能夠操作來存儲關(guān)于要被歸檔并從所述數(shù)據(jù)庫中刪除的活動記錄的元數(shù)據(jù)信息;選擇要從所述數(shù)據(jù)庫中刪除的活動記錄;在所述輔助表中為選定的活動記錄存儲元數(shù)據(jù)信息;把所述選定的活動記錄歸檔到所述數(shù)據(jù)存儲設(shè)備中;及基于所述輔助表中的更新信息,從所述數(shù)據(jù)庫中刪除所述選定的活動記錄,而不需要在從所述數(shù)據(jù)庫中刪除所述活動記錄之前,比較所述數(shù)據(jù)存儲設(shè)備中歸檔的記錄和所述數(shù)據(jù)庫中的活動記錄的列數(shù)據(jù)。14.如權(quán)利要求13所述的系統(tǒng),其中所述存儲器存儲能夠操作來使得所述處理器執(zhí)行以下操作的指令:響應(yīng)于記錄已被歸檔到所述數(shù)據(jù)存儲設(shè)備中之后又接收到對所述活動記錄的更新,在所述輔助表中捕獲所述記錄的元數(shù)據(jù)信息以反映所述活動記錄已被更新。15.如權(quán)利要求14所述的系統(tǒng),其中刪除所述選定的活動記錄包括:只有所述輔助表中用于所述記錄的更新值指示在所述活動記錄被歸檔之后沒有對所述活動記錄進行更新,才從所述數(shù)據(jù)庫中刪除所述活動記錄。16.如權(quán)利要求13所述的系統(tǒng),其中所述存儲器存儲能夠操作來使得所述處理器執(zhí)行以下操作的指令:從通過主鍵-外鍵關(guān)系與其中存儲所述選定的記錄的表連接的表中刪除與所述選定的記錄相關(guān)的活動記錄。17.如權(quán)利要求13所述的系統(tǒng),其中所述輔助表具有模式(RowID、Table_Name、Update_Flag、Is_Delete_Successful),其中RowID是所述活動記錄的主鍵標識符,Table_Name指示所述數(shù)據(jù)庫中存儲所述活動記錄的表,Update_Flag指示所述活動記錄在歸檔之后是否已被更新,以及Is_Delete_Successful指示記錄是否已經(jīng)從所述數(shù)據(jù)庫中成功地刪除。18.如權(quán)利要求13所述的系統(tǒng),其中所述存儲器存儲能夠操作來使得所述處理器執(zhí)行以下操作的指令:基于所述輔助表中的信息產(chǎn)生報告,所述報告指示已在所述數(shù)據(jù)存儲設(shè)備中歸檔的數(shù)據(jù)與已從所述數(shù)據(jù)庫中刪除的數(shù)據(jù)之間是否存在任何差異?!疚臋n編號】G06F17/30GK104137103SQ201380010497【公開日】2014年11月5日申請日期:2013年1月6日優(yōu)先權(quán)日:2012年2月22日【發(fā)明者】S·阿格拉瓦爾,M·K·莫哈尼亞申請人:國際商業(yè)機器公司