[發明專利]一種清理數據庫歷史數據的方法和系統有效
| 申請號: | 201110317227.5 | 申請日: | 2011-10-18 |
| 公開(公告)號: | CN103064833A | 公開(公告)日: | 2013-04-24 |
| 發明(設計)人: | 樊振華 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 郭潤湘 |
| 地址: | 英屬開曼群島大開曼*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 清理 數據庫 歷史數據 方法 系統 | ||
技術領域
本申請涉及數據庫管理技術,尤其是涉及一種清理數據庫歷史數據的方法和系統。
背景技術
隨著計算機及網絡的技術不斷發展,通過計算機處理的數據的量和業務種類也是越來越多,為了更好地提高用戶感受到對數據的處理效率,以更好地實現對業務的處理,數據庫就應運而生了。
但是,隨著計算機業務及網絡的更進一步發展,有了很多基于網絡的新業務出現,如:網絡購物,網絡視頻點播等;隨著新業務的不斷增加,數據庫變得越來越龐大,就產生了很多技術問題,如:所述數據庫中的數據庫表的訪問效率明顯下降,導致外層應用的訪問效率非常差,訪問時間急劇上升,用戶體驗下降等。
為此,在現有技術中提出了水平拆分數據庫的方案,通過所述方案,可以將一個數據庫拆分成2個或2個以上的子數據庫,如:按水平維度,將personal?DB(Data-Base,數據庫),根據用戶id拆分成100個DB。拆分數據庫的方案雖然在一定程度上克服了只有一個數據庫的技術缺陷,如:因數據庫容量特別大而導致的所述數據庫中的數據庫表的訪問效率明顯下降,導致外層應用的訪問效率非常差的技術問題。
但是,在所述方案中,也存在很多技術問題,如:后期維護成本高,維護不方便等,尤其地,當需要對所述子數據庫進行數據清理時,因為所述方案中都是由人工來實現,沒有采用有效的機制和技術手段來自動地進行數據清理,所以本發明人發現上述現有技術方案中至少存在如下問題:
1.由于沒有采用有效的機制和技術手段來自動地進行數據清理,從而導致對子數據庫進行數據清理時,效率不高,容易遺漏清理任務的問題;
2.由于清理上無時間控制,所以,會經常對所述數據庫中的處于工作狀態的業務造成很大影響。
3.由于不針對于數據庫集群,對于拆分數據庫后,各子數據庫自身的數據會發生變化,如果原來設定的清理條件不變,就導致對子數據庫的清理工作無法進行,此時,就需要修改清理條件,給維護帶來很大的難度和麻煩。
發明內容
本申請實施例提供一種清理數據庫歷史數據的方法和系統,用于提高數據清理的效率;
進一步,實現了異常自動恢復和個性化指定清理,解決了現有技術中清理失敗時不能進行異常自動恢復清理及不能支持特殊需求的清理的問題。
本發明通過一個或多個實施例提供的一種清理數據庫歷史數據的方法,該方法具體包括如下步驟:
從為數據庫的子數據庫建立的數據清理任務隊列中,獲取數據清理任務,該數據清理任務中包括需要清理的歷史數據索引信息,該數據庫被劃分為至少兩個子數據庫,且至少兩個子數據中的每一個子數據庫對應每一個子數據庫建立的數據清理任務隊列;
根據獲取的數據清理任務中的歷史數據索引信息,清理子數據庫中需要清理的歷史數據。
可選的,從為數據庫的子數據庫建立的數據清理任務隊列中,獲取數據清理任務,具體包括:
從為數據庫的子數據庫建立的數據清理任務隊列中,獲取任務狀態為未完成狀態的數據清理任務;以及
根據未完成狀態的數據清理任務的歷史數據索引信息,成功清理子數據庫中未完成狀態的數據清理任務的歷史數據后,將數據清理任務狀態設置為清理成功狀態。
可選的,未完成狀態的數據清理任務中至少包括以下一種具體狀態的任務,具體為:
初始狀態的任務、異常中止狀態的任務或清理失敗狀態的任務。
其中,所述初始狀態的任務為,從未清理過的任務;
所述異常中止狀態的任務為,上一次清理所述未完成狀態的數據清理任務過程中,由于其歷史數據的非數據性錯誤而造成清理過程異常中止時,設置數據清理任務狀態為異常中止狀態的任務;
所述清理失敗狀態的任務為,上一次清理所述未完成狀態的數據清理任務過程中,由于其歷史數據本身的數據性錯誤而導致清理失敗時,設置數據清理任務狀態為清理失敗狀態的任務。
進一步的,根據獲取的數據清理任務中的歷史數據索引信息,清理子數據庫中需要清理的歷史數據后,還包括:更新記錄在數據庫表中的清理日志,該清理日志包括數據清理任務狀態和清理時間。
可選的,所述獲取任務狀態為未完成狀態的數據清理任務,具體包括:
根據如下兩種未完成的數據清理任務的具體狀態的優先級順序,優先獲取具體狀態的排列順序靠前的數據清理任務,并不再執行清理失敗狀態的任務:異常中止狀態的任務、初始狀態的任務。
可選的,在從為數據庫的子數據庫建立的數據清理任務隊列中,獲取數據清理任務之前,具體還包括:
確認當前時間符合限定的執行清理任務的時間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110317227.5/2.html,轉載請聲明來源鉆瓜專利網。





