[發(fā)明專利]恒定速率讀文件的預(yù)讀方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì)在審
| 申請?zhí)枺?/td> | 202010084184.X | 申請日: | 2020-02-10 |
| 公開(公告)號: | CN111309257A | 公開(公告)日: | 2020-06-19 |
| 發(fā)明(設(shè)計(jì))人: | 劉健鵬 | 申請(專利權(quán))人: | 西安奧卡云數(shù)據(jù)科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F16/172 |
| 代理公司: | 北京八月瓜知識產(chǎn)權(quán)代理有限公司 11543 | 代理人: | 李斌 |
| 地址: | 712000 陜西省西*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 恒定 速率 文件 方法 裝置 計(jì)算機(jī) 可讀 存儲 介質(zhì) | ||
本發(fā)明公開了一種恒定速率讀文件的預(yù)讀方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì),所述方法包括:在以恒定速率讀取文件進(jìn)行預(yù)讀時(shí),判斷當(dāng)前預(yù)讀是否為首次預(yù)讀;如果當(dāng)前預(yù)讀為首次預(yù)讀,則根據(jù)配置文件中設(shè)置的預(yù)定預(yù)讀數(shù)據(jù)大小進(jìn)行當(dāng)前預(yù)讀;如果當(dāng)前預(yù)讀為非首次預(yù)讀,則計(jì)算當(dāng)前預(yù)讀數(shù)據(jù)大小,根據(jù)計(jì)算的當(dāng)前預(yù)讀數(shù)據(jù)大小進(jìn)行當(dāng)前預(yù)讀。本發(fā)明使每個(gè)文件的預(yù)讀都能獲得更合理的預(yù)讀數(shù)據(jù)大小,避免了緩存資源的浪費(fèi)。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)存儲領(lǐng)域,尤其涉及一種恒定速率讀文件的預(yù)讀方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì)。
背景技術(shù)
在現(xiàn)有技術(shù)中,文件系統(tǒng)(File System,縮寫FS)是操作系統(tǒng)用于明確存儲設(shè)備(常見的是磁盤和固態(tài)硬盤)或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在存儲設(shè)備上組織文件的方法。從系統(tǒng)角度來看,文件系統(tǒng)是對文件存儲設(shè)備的空間進(jìn)行組織和分配,負(fù)責(zé)文件存儲并對存入的文件進(jìn)行保護(hù)和檢索的系統(tǒng)。具體地說,它負(fù)責(zé)為用戶建立文件,存入、讀出、修改、轉(zhuǎn)儲文件,控制文件的存取,當(dāng)用戶不再使用時(shí)撤銷文件等。
目前,幾乎所有的FS實(shí)現(xiàn)都采用緩存(cache)機(jī)制來加速文件的讀寫性能。因?yàn)閮?nèi)存的讀寫速度遠(yuǎn)高于磁盤,因此在現(xiàn)有FS的實(shí)現(xiàn)中,將操作系統(tǒng)內(nèi)存劃分出一部分來作為FS的緩存。當(dāng)應(yīng)用程序順序讀取一個(gè)大文件時(shí),F(xiàn)S會將當(dāng)前讀取位置的數(shù)據(jù)連同后面連續(xù)的一大塊數(shù)據(jù)從磁盤上一起取出放到緩存中,應(yīng)用程序后續(xù)的文件讀操作就可以直接在緩存中讀取到需要的數(shù)據(jù),而不必再訪問慢速的磁盤,從而提升FS的讀性能,這種機(jī)制稱為文件系統(tǒng)的預(yù)讀機(jī)制。
應(yīng)用程序?qū)ξ募淖x取方式分為順序讀和隨機(jī)讀兩種,因?yàn)殡S機(jī)讀無法對文件后續(xù)的讀取位置做出預(yù)測,所以預(yù)讀只針對文件的順序讀。
在現(xiàn)有技術(shù)中,當(dāng)之前被預(yù)讀到緩存中的數(shù)據(jù)被應(yīng)用程序全部讀取完畢之后,下一次應(yīng)用程序?qū)ξ募淖x取操作在緩存中將不會找到需要的數(shù)據(jù),此種情況被稱為未命中。于是該次操作需要訪問磁盤,從磁盤上再次讀取出一大塊數(shù)據(jù)到緩存之中作為預(yù)讀數(shù)據(jù),后續(xù)的讀操作就可以繼續(xù)從緩存中讀到所需數(shù)據(jù),如此反復(fù)。從上面的描述可以看出,如圖1所示,緩存命中則讀緩存,未命中則讀磁盤并預(yù)讀。
在文件系統(tǒng)應(yīng)用領(lǐng)域中,存在這樣一種應(yīng)用模式,用戶會以恒定的速率同時(shí)讀多個(gè)不同文件,這種模式廣泛應(yīng)用在視頻監(jiān)控、廣電媒體行業(yè)。這種恒定速度讀文件,應(yīng)用程序自身會控制讀文件的速度,例如每100ms(毫秒)發(fā)送一次讀請求,每次讀1MB大小的數(shù)據(jù),那么讀文件的速率就是10MB/s。一般來說,行業(yè)內(nèi)這種應(yīng)用模式的讀文件速率在幾十MB/s。
現(xiàn)有的各種文件系統(tǒng)預(yù)讀的實(shí)現(xiàn)是一次從后端磁盤讀出一大塊數(shù)據(jù)放入緩存,預(yù)讀出數(shù)據(jù)的大小通常在文件系統(tǒng)的配置文件中設(shè)定,文件系統(tǒng)啟動之后,將按照事先設(shè)定的大小來做預(yù)讀。對于非恒定速率順序讀文件,應(yīng)用程序?qū)ψx取速度不加以控制,一次讀請求返回后,立刻發(fā)起下一次請求,緩存中的預(yù)讀數(shù)據(jù)會很快被讀取完畢,文件系統(tǒng)就可以釋放掉這部分緩存給未來的預(yù)讀使用。但是對于恒定速率讀文件,讀取的速度要明顯低于非恒定讀取,如果每次預(yù)讀到緩存中的數(shù)據(jù)很多,就會導(dǎo)致緩存中的部分預(yù)讀數(shù)據(jù)長時(shí)間滯留來等待應(yīng)用程序的讀取。緩存的總大小是固定的,如果某些文件的預(yù)讀數(shù)據(jù)占用緩存過多,必然導(dǎo)致一些文件得不到足夠的緩存來保存預(yù)讀數(shù)據(jù),最終影響到應(yīng)用程序可以恒定速率同時(shí)讀文件的個(gè)數(shù)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種恒定速率讀文件的預(yù)讀方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì),用以解決現(xiàn)有技術(shù)中恒定速率讀文件存在的上述問題。
本發(fā)明實(shí)施例提供一種恒定速率讀文件的預(yù)讀方法,包括:
在以恒定速率讀取文件進(jìn)行預(yù)讀時(shí),判斷當(dāng)前預(yù)讀是否為首次預(yù)讀;
如果當(dāng)前預(yù)讀為首次預(yù)讀,則根據(jù)配置文件中設(shè)置的預(yù)定預(yù)讀數(shù)據(jù)大小進(jìn)行當(dāng)前預(yù)讀;如果當(dāng)前預(yù)讀為非首次預(yù)讀,則計(jì)算當(dāng)前預(yù)讀數(shù)據(jù)大小,根據(jù)計(jì)算的當(dāng)前預(yù)讀數(shù)據(jù)大小進(jìn)行當(dāng)前預(yù)讀。
本發(fā)明實(shí)施例還提供一種恒定速率讀文件的預(yù)讀裝置,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安奧卡云數(shù)據(jù)科技有限公司,未經(jīng)西安奧卡云數(shù)據(jù)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010084184.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計(jì)算機(jī)能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機(jī)傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計(jì)算機(jī)之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時(shí)間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機(jī)上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出





