[發(fā)明專利]一種分布式文件系統(tǒng)文件局部隨機預(yù)讀的方法和設(shè)備有效
| 申請?zhí)枺?/td> | 202010474760.1 | 申請日: | 2020-05-29 |
| 公開(公告)號: | CN111625503B | 公開(公告)日: | 2022-11-04 |
| 發(fā)明(設(shè)計)人: | 王帥陽;李文鵬;張端 | 申請(專利權(quán))人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F16/13 | 分類號: | G06F16/13;G06F16/182 |
| 代理公司: | 北京連和連知識產(chǎn)權(quán)代理有限公司 11278 | 代理人: | 張濤 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 分布式 文件系統(tǒng) 文件 局部 隨機 方法 設(shè)備 | ||
本發(fā)明提供了一種分布式文件系統(tǒng)文件局部隨機預(yù)讀的方法和設(shè)備,該方法包括以下步驟:在文件操作句柄中創(chuàng)建預(yù)讀結(jié)構(gòu)指針;響應(yīng)于文件被讀取,讀取并更新預(yù)讀結(jié)構(gòu)指針中的信息,并判斷讀取是否為局部隨機讀;響應(yīng)于讀取為局部隨機讀且更新后的信息中的連續(xù)讀次數(shù)大于1且當(dāng)前讀位置大于等于更新后的信息中的預(yù)讀觸發(fā)點,進(jìn)行預(yù)讀。通過使用本發(fā)明的方案,能夠提升大文件局部隨機讀場景預(yù)讀性能,可以避免小塊io對網(wǎng)絡(luò)磁盤壓力,降低大文件局部隨機讀場景網(wǎng)絡(luò)、磁盤壓力。
技術(shù)領(lǐng)域
本領(lǐng)域涉及計算機領(lǐng)域,并且更具體地涉及一種分布式文件系統(tǒng)文件局部隨機預(yù)讀的方法和設(shè)備。
背景技術(shù)
對于分布式文件系統(tǒng)(對象存儲),大文件讀IO瓶頸主要在網(wǎng)絡(luò)和磁盤,而內(nèi)存性能遠(yuǎn)遠(yuǎn)超過網(wǎng)絡(luò)與磁盤,預(yù)讀能夠屏蔽網(wǎng)絡(luò)與磁盤低性能短板,提升整體讀性能。目前分布式文件存儲服務(wù)端存在的預(yù)讀機制,但只有服務(wù)端接收順序IO時才發(fā)生,而目前軟件并行化處理早已廣泛應(yīng)用,用戶順序讀,被協(xié)議軟件并行轉(zhuǎn)發(fā)后,導(dǎo)致存儲服務(wù)端接收的IO呈現(xiàn)局部隨機讀特性。目前預(yù)讀無法實現(xiàn)預(yù)期效果。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例的目的在于提出一種分布式文件系統(tǒng)文件局部隨機預(yù)讀的方法和設(shè)備,通過使用本發(fā)明的方法,能夠提升大文件局部隨機讀場景預(yù)讀性能,可以避免小塊io對網(wǎng)絡(luò)磁盤壓力,降低大文件局部隨機讀場景網(wǎng)絡(luò)、磁盤壓力。
基于上述目的,本發(fā)明的實施例的一個方面提供了一種分布式文件系統(tǒng)文件局部隨機預(yù)讀的方法,包括以下步驟:
在文件操作句柄中創(chuàng)建預(yù)讀結(jié)構(gòu)指針;
響應(yīng)于文件被讀取,讀取并更新預(yù)讀結(jié)構(gòu)指針中的信息,并判斷讀取是否為局部隨機讀;
響應(yīng)于讀取為局部隨機讀且更新后的信息中的連續(xù)讀次數(shù)大于1且當(dāng)前讀位置大于等于更新后的信息中的預(yù)讀觸發(fā)點,進(jìn)行預(yù)讀。
根據(jù)本發(fā)明的一個實施例,預(yù)讀結(jié)構(gòu)指針中的信息包括上次讀結(jié)束位置、上次預(yù)讀結(jié)束位置、上次預(yù)讀長度、順序讀次數(shù)、順序讀數(shù)據(jù)量、局部隨機讀窗口、最大預(yù)讀長度和預(yù)讀觸發(fā)點。
根據(jù)本發(fā)明的一個實施例,響應(yīng)于文件被讀取,讀取并更新預(yù)讀結(jié)構(gòu)指針中的信息,并判斷讀取是否為局部隨機讀包括:
響應(yīng)于當(dāng)前讀位置和上次讀結(jié)束位置相同,將順序讀次數(shù)加1,順序讀數(shù)據(jù)量加隨機長度;
響應(yīng)于當(dāng)前讀位置和上次讀結(jié)束位置不同,判斷本次讀偏移和上次讀結(jié)束位置相差的數(shù)據(jù)量是否在一個隨機窗口中;
響應(yīng)于本次讀偏移和上次讀結(jié)束位置相差的數(shù)據(jù)量在一個隨機窗口中,判斷本次讀為局部隨機讀。
根據(jù)本發(fā)明的一個實施例,還包括:
響應(yīng)于本次讀不是局部隨機讀,將順序讀次數(shù)和順序讀數(shù)據(jù)量置零。
根據(jù)本發(fā)明的一個實施例,局部隨機讀窗口和最大預(yù)讀長度存儲在全局配置中。
本發(fā)明的實施例的另一個方面,還提供了一種分布式文件系統(tǒng)文件局部隨機預(yù)讀的設(shè)備,設(shè)備包括:
創(chuàng)建模塊,創(chuàng)建模塊配置為在文件操作句柄中創(chuàng)建預(yù)讀結(jié)構(gòu)指針;
判斷模塊,判斷模塊配置為響應(yīng)于文件被讀取,讀取并更新預(yù)讀結(jié)構(gòu)指針中的信息,并判斷讀取是否為局部隨機讀;
預(yù)讀模塊,預(yù)讀模塊配置為響應(yīng)于讀取為局部隨機讀且更新后的信息中的連續(xù)讀次數(shù)大于1且當(dāng)前讀位置大于等于更新后的信息中的預(yù)讀觸發(fā)點,進(jìn)行預(yù)讀。
根據(jù)本發(fā)明的一個實施例,預(yù)讀結(jié)構(gòu)指針中的信息包括上次讀結(jié)束位置、上次預(yù)讀結(jié)束位置、上次預(yù)讀長度、順序讀次數(shù)、順序讀數(shù)據(jù)量、局部隨機讀窗口、最大預(yù)讀長度和預(yù)讀觸發(fā)點。
根據(jù)本發(fā)明的一個實施例,判斷模塊還配置為:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇州浪潮智能科技有限公司,未經(jīng)蘇州浪潮智能科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010474760.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





