[發明專利]一種存儲預讀方法、裝置及存儲系統有效
| 申請號: | 201710585374.8 | 申請日: | 2017-07-18 |
| 公開(公告)號: | CN107340978B | 公開(公告)日: | 2020-05-26 |
| 發明(設計)人: | 仇鋒利 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 羅滿 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 存儲 方法 裝置 存儲系統 | ||
本發明公開了一種存儲預讀方法、裝置及存儲系統,包括預先建立用于讀取文件的歷史的IO請求隊列,IO請求包括位置和數據偏移量,IO請求的地址區間為[位置,位置+數據偏移量];獲取用于讀取文件的當前IO請求;當IO請求隊列中不存在歷史IO請求的地址區間與當前IO請求的地址區間相交,且,地址區間的末端位置在當前IO請求的地址區間的起始位置之前的且兩者的差值數值大于第一閾值,且,地址區間的起始位置在當前IO請求的地址區間的末端位置之后且兩者的差值數值大于第一閾值時,不啟動預讀,否則,啟動預讀。本申請提高了預讀判斷的準確性,提升了存儲系統讀數據的速度,提高了存儲系統的性能。
技術領域
本發明涉及存儲技術領域,特別是涉及一種存儲預讀方法、裝置及存儲系統。
背景技術
隨著信息技術的發展,數據量越來越多,據預測,到2020年,全球數據量將膨脹到40000EB,如何存儲和處理這些數據是整個IT行業面臨的問題。高效的處理大量的數據是一個系統工程,存儲系統是系統工程中一個重要的環節。具體的,存儲系統包括磁盤,磁盤的讀、寫速度影響到存儲系統的性能,對磁盤中的數據進行預讀能夠提高存儲系統讀數據的速度。
現有技術中的預讀方案是通過文件系統記錄不同應用向同一文件發出的IO請求,IO請求可以用Position讀取位置和Length數據偏移量來表示,記作(pos,len),文件系統記錄上一次應用的IO請求在文件中的讀取位置和數據偏移量,并與本次應用的IO請求在該文件的讀取位置進行比較,判斷兩次應用IO請求在文件中的讀取位置是否是連續的,如果是連續的,則啟動預讀。例如,上一次IO請求為(100,128),即在位置100處開始讀取128個字節,本次IO請求為(229,200),即在位置229處開始讀取200個字節,則可以認為本次IO請求和上次IO請求是連續的,可以啟動預讀。
由于現有技術中的預讀方案的判斷條件過于理想化,而在實際操作中,應用千差萬別,因此很難有某個應用的IO請求完全符合現有技術中的算法要求,也即很難有某個應用的IO請求都是連續讀數據的,所以表現出來就是預讀少,或者甚至根本沒有啟動預讀。
因此,如何提供一種解決上述技術問題的方案是本領域技術人員目前需要解決的問題。
發明內容
本發明的目的是提供一種存儲預讀方法、裝置及存儲系統,提高了預讀判斷的準確性,提升了存儲系統讀數據的速度,提高了存儲系統的性能。
為解決上述技術問題,本發明提供了一種存儲預讀方法,應用于存儲系統,包括:
步驟S11:預先建立用于讀取文件的歷史的IO請求隊列,IO請求包括位置和數據偏移量,所述IO請求的地址區間為[位置,位置+數據偏移量];
步驟S12:獲取用于讀取所述文件的當前IO請求;
步驟S13:當所述IO請求隊列中不存在歷史IO請求的地址區間與所述當前IO請求的地址區間相交,且,地址區間的末端位置在所述當前IO請求的地址區間的起始位置之前的且兩者的差值數值大于第一閾值,且,地址區間的起始位置在所述當前IO請求的地址區間的末端位置之后且兩者的差值數值大于所述第一閾值時,不啟動預讀,否則,啟動預讀。
優選地,所述IO請求隊列中的歷史IO請求為時間上距離當前最近的預設長度的IO請求。
優選地,步驟S13具體為:
當所述IO請求隊列中存在歷史IO請求的地址區間與所述當前IO請求的地址區間相交時,啟動預讀。
優選地,步驟S13具體為:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710585374.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種存儲虛擬化新型緩存預讀實現方法
- 下一篇:物料標簽打印系統





