[發(fā)明專利]檢查點淘汰方法和裝置有效
| 申請?zhí)枺?/td> | 201710602187.6 | 申請日: | 2017-07-21 |
| 公開(公告)號: | CN107562642B | 公開(公告)日: | 2020-03-20 |
| 發(fā)明(設計)人: | 丁敬文 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 檢查點 淘汰 方法 裝置 | ||
本申請公開了一種檢查點淘汰方法和裝置,涉及數(shù)據(jù)存儲領域,用于解決檢查點數(shù)據(jù)集淘汰至磁盤時寫入磁盤的物理位置不連續(xù)的問題。檢查點淘汰方法包括:從創(chuàng)建時間最久的檢查點的首個臟頁面開始遍歷,屬于同一個檢查點的臟頁面按照第一鏈表指針進行鏈接;如果確定第一臟頁面的鏈表指針指向第二臟頁面,則將所述第一臟頁面加入淘汰隊列,并遍歷所述第二臟頁面,其中,所述第二臟頁面為按照邏輯塊地址LBA位于所述第一臟頁面之后并且與所述第一臟頁面最近的臟頁面;如果確定所述第一臟頁面的鏈表指針為空,則將所述第一臟頁面加入所述淘汰隊列,并將所述淘汰隊列中的臟頁面淘汰,重新開始遍歷。本申請實施例應用于Ext3或Ext4等文件系統(tǒng)。
技術領域
本申請涉及數(shù)據(jù)存儲領域,尤其涉及一種檢查點淘汰方法和裝置。
背景技術
在數(shù)據(jù)存儲中,一個對象在邏輯上是連續(xù)的空間,但是在物理上對象的數(shù)據(jù)塊和元數(shù)據(jù)塊(用來管理數(shù)據(jù)塊)可能分配到離散磁盤空間。因此對對象的一次寫操作可能對應多個磁盤的寫操作。只有這些磁盤寫操作都完成才能認為完成對該對象寫操作。為了達到這樣的效果,在文件系統(tǒng)中引入了事務的概念。事務要求操作的一致性,即事務成功之后,磁盤上的數(shù)據(jù)集要保證一致,元數(shù)據(jù)和數(shù)據(jù)關系以及元數(shù)據(jù)之間的關系保證一致。
第三代擴展文件系統(tǒng)(Third Extended File System,Ext3)以及第四代擴展文件系統(tǒng)(Fourth Extended File System)通過檢查點(checkpoint)機制來保證數(shù)據(jù)的一致性。數(shù)據(jù)塊直接寫盤,元數(shù)據(jù)塊寫日志區(qū),同時在內(nèi)存形成檢查點數(shù)據(jù)集,后臺線程根據(jù)檢查點的時間將檢查點數(shù)據(jù)集淘汰至磁盤。
當新增事務時,有可能會修改已有檢查點中的數(shù)據(jù)集,此時需要將對應數(shù)據(jù)集從已有檢查點遷移至新增的檢查點或事務中。此時再按照檢查點的時間將檢查點數(shù)據(jù)集淘汰至硬盤時,由于已有檢查點中數(shù)據(jù)集已經(jīng)不連續(xù),使得寫入磁盤時物理位置不連續(xù)(即位置隨機)。
發(fā)明內(nèi)容
本申請的實施例提供一種檢查點淘汰方法和裝置,用于解決檢查點數(shù)據(jù)集淘汰至磁盤時寫入磁盤的物理位置不連續(xù)的問題。
為達到上述目的,本申請的實施例采用如下技術方案:
第一方面,提供了一種檢查點淘汰方法,該方法包括:從創(chuàng)建時間最久的檢查點的第一臟頁面開始遍歷,其中,屬于同一個檢查點的臟頁面按照第一鏈表指針進行鏈接;如果第一臟頁面的第二鏈表指針指向第二臟頁面,則將第一臟頁面加入淘汰隊列,并遍歷第二臟頁面,其中,第二臟頁面為按照邏輯塊地址LBA位于第一臟頁面之后并且與第一臟頁面最近的臟頁面,所述第二臟頁面所屬檢查點與所述第一臟頁面所屬檢查點相同或不同;如果第一臟頁面的第二鏈表指針為空,則將第一臟頁面加入淘汰隊列,并將淘汰隊列中的臟頁面淘汰,從所述第一臟頁面的第一鏈表指針指向的未經(jīng)淘汰的下個臟頁面重新開始遍歷。本申請實施例提供的檢查點淘汰方法,通過將檢查點中的臟頁面按照邏輯塊地址順序建立鏈表,當淘汰時,按照該鏈表對臟頁面進行淘汰,使得邏輯塊地址相近或連續(xù)的臟頁面可以在相近或連續(xù)物理磁盤中寫盤,解決了檢查點數(shù)據(jù)集淘汰至磁盤時寫入磁盤的物理位置不連續(xù)的問題。
在一種可能的設計中,將淘汰隊列中的臟頁面淘汰,包括:如果淘汰隊列中的臟頁面的LBA不連續(xù),則按照LBA順序分別淘汰該淘汰隊列中的臟頁面。該設計提供了一種淘汰LBA不連續(xù)臟頁面的方法。
在一種可能的設計中,將淘汰隊列中的臟頁面淘汰,包括:如果淘汰隊列中的臟頁面的LBA連續(xù),則聚合淘汰該淘汰隊列中的臟頁面。該設計提供了一種淘汰LBA連續(xù)臟頁面的方法。
在一種可能的設計中,在從創(chuàng)建時間最久的檢查點的首個臟頁面開始遍歷之前,方法還包括:當創(chuàng)建新檢查點的第三臟頁面時,如果第三臟頁面按照LBA位于第一臟頁面與第二臟頁面之間,則將第一臟頁面的第二鏈表指針指向第三臟頁面,將第三臟頁面的第二鏈表指針指向第二臟頁面。該設計提供了在第一臟頁面與第二臟頁面之間插入第三臟頁面的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經(jīng)華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710602187.6/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





