[發明專利]一種塊設備的io優化方法有效
| 申請號: | 201710897104.0 | 申請日: | 2017-09-28 |
| 公開(公告)號: | CN107506156B | 公開(公告)日: | 2020-05-12 |
| 發明(設計)人: | 褚一帆;陳濤 | 申請(專利權)人: | 焦點科技股份有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 南京瑞弘專利商標事務所(普通合伙) 32249 | 代理人: | 陳建和 |
| 地址: | 210003 江蘇省南京市高新*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 設備 io 優化 方法 | ||
1.一種塊設備的io優化方法,其特征在于,通過預讀取的方式,應用程序在內存中設置緩沖區,并將一個文件對應存儲在物理塊設備中的內容讀入緩沖區中,每一個文件內容在物理塊設備中以塊為單位存儲,每一個物理塊設備中的內容塊按順序遞增排列;當應用程序有讀取物理塊設備中內容的需求時,直接先從緩沖區內找到對應的內容塊讀取;如果緩沖區中沒有相應的內容塊,則執行從物理塊設備讀取這些內容塊進緩沖區后,再從緩沖區中讀取,具體步驟包括:
步驟1: 建立文件內容和物理磁盤塊的映射關系;具體是:通過數據庫的數據字典查出一個文件的所有內容塊存儲在物理磁盤中的位置坐標,包括文件號、磁盤號、磁盤塊號;基于位置坐標,通過設定映射函數,形成一個文件的內容塊和物理磁盤塊之間的映射關系,保證能準確定位關于一個文件的某一個內容塊在物理磁盤中的偏移位置;
步驟2:針對需要直接從物理磁盤中讀寫的文件,根據步驟1建立的映射關系,找到該文件內容存儲的磁盤及磁盤內的位置,確定該文件內容對應的各個磁盤塊的塊號;
步驟3:根據計算機實際內存大小和文件數據占用空間的大小,在計算機內存中開辟足夠的空間作為內存緩沖區,用去存放從物理磁盤塊中讀取的文件內容數據;
步驟4:當某一個應用程序在運行過程中,有讀取物理塊設備中內容的需求時,即從物理磁盤中讀取某一個文件,根據步驟1建立的映射關系,找到該文件內容對應的所有磁盤塊的塊號;按照已查找到的磁盤塊號,檢查內存緩沖區中是否存在文件對應的磁盤塊塊號;如果存在,轉步驟5;如果不存在,轉步驟6;
步驟5:應用程序直接從內存內的緩沖區中讀取文件對應的第一個磁盤塊數據并按照磁盤塊的塊號排序,依次讀取下一個磁盤塊,直至讀取完文件對應的所有磁盤塊;
步驟6:在保證內存緩沖區空間充足的情況下,執行對磁盤塊數據的讀取,具體為:針對步驟4中內存緩存區沒有找到的磁盤塊塊號,根據內存緩沖區當前剩余的空間大小,從該磁盤塊所在的物理磁盤中讀取適宜數量的磁盤塊數據,放入內存緩沖區中,然后再從緩沖區讀取,讀取成功后繼續在緩沖區中讀取下一個讀取的緩存塊號,直至成功讀取完文件對應的所有磁盤塊;
當緩沖區空間不足的情況下,首先清除當前緩沖區中讀取頻率過低的磁盤塊數據,然后再執行從物理磁盤中讀取磁盤塊;
步驟6中,在從內存緩沖區按照順序讀取磁盤塊數據時,當要讀取下一個磁盤塊塊號和當前讀取到的磁盤塊塊號不連續,且下一個磁盤塊塊號比當前已讀的磁盤塊塊號小,說明下一個磁盤塊已經失效,應將下一個磁盤塊從內存緩沖區中清除,并根據磁盤塊遞增排序規則和當前讀取到的磁盤塊塊號,確定從物理磁盤中讀取進內存緩沖區的新磁盤塊,再從緩沖區中讀取新進磁盤塊的數據。
2.根據權利要求1所述的一種塊設備io優化方法,其特征在于,在步驟1中,基于物理磁盤塊設備的文件內容存儲,每個文件的文件內容是以物理磁盤塊為單位進行分隔,且每個物理磁盤塊的頭部均有一個按順序遞增的塊號,作為該物理磁盤塊的唯一標識;一個文件在磁盤中存儲時,將形成多個連續排列的物理磁盤塊。
3.根據權利要求1所述的一種塊設備io優化方法,其特征在于,在步驟3中,所述內存緩沖區的大小設置為單個物理磁盤塊大小的整數倍。
4.根據權利要求1所述的一種塊設備io優化方法,其特征在于,在步驟6中,所述適宜數量的磁盤塊是根據當前緩沖區中剩余空間大小和單個磁盤塊大小計算得出,即等于“當前緩沖區中剩余空間大小/單個磁盤塊大小”。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于焦點科技股份有限公司,未經焦點科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710897104.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于塊數據的數據存儲方法及裝置
- 下一篇:自助終端設備錯誤輔助恢復系統及方法





