[發(fā)明專利]一種塊設(shè)備的io優(yōu)化方法有效
| 申請(qǐng)?zhí)枺?/td> | 201710897104.0 | 申請(qǐng)日: | 2017-09-28 |
| 公開(公告)號(hào): | CN107506156B | 公開(公告)日: | 2020-05-12 |
| 發(fā)明(設(shè)計(jì))人: | 褚一帆;陳濤 | 申請(qǐng)(專利權(quán))人: | 焦點(diǎn)科技股份有限公司 |
| 主分類號(hào): | G06F3/06 | 分類號(hào): | G06F3/06 |
| 代理公司: | 南京瑞弘專利商標(biāo)事務(wù)所(普通合伙) 32249 | 代理人: | 陳建和 |
| 地址: | 210003 江蘇省南京市高新*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 設(shè)備 io 優(yōu)化 方法 | ||
一種塊設(shè)備的io優(yōu)化方法,通過預(yù)讀取的方式,應(yīng)用程序在內(nèi)存中設(shè)置緩沖區(qū),并將一個(gè)文件對(duì)應(yīng)存儲(chǔ)在物理塊設(shè)備中的內(nèi)容讀入緩沖區(qū)中,每一個(gè)文件內(nèi)容在物理塊設(shè)備中以塊為單位存儲(chǔ),每一個(gè)物理塊設(shè)備中的內(nèi)容塊按順序遞增排列;當(dāng)應(yīng)用程序有讀取物理塊設(shè)備中內(nèi)容的需求時(shí),直接先從緩沖區(qū)內(nèi)找到對(duì)應(yīng)的內(nèi)容塊讀??;如果緩沖區(qū)中沒有相應(yīng)的內(nèi)容塊,則執(zhí)行從物理塊設(shè)備讀取這些內(nèi)容塊進(jìn)緩沖區(qū)后,再從緩沖區(qū)中讀取。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)I/O領(lǐng)域,具體涉及一種塊設(shè)備的io優(yōu)化方法。
背景技術(shù)
目前,絕大多數(shù)的應(yīng)用程序都離不開大量的數(shù)據(jù)I/O操作。數(shù)據(jù)I/O一直是影響應(yīng)用程序性能,甚至是影響服務(wù)器性能的一個(gè)重要指標(biāo)。如何提高數(shù)據(jù)I/O 的效率一直是應(yīng)用程序研發(fā)的關(guān)鍵點(diǎn)。
緩存技術(shù)是當(dāng)前普遍采用的提高I/O效率的方法,緩存技術(shù)主要通過將磁盤上的部分內(nèi)容按照一定的機(jī)制緩存在內(nèi)存中,應(yīng)用程序需要進(jìn)行I/O的時(shí)候,可以先在內(nèi)存中進(jìn)行讀寫操作,如果內(nèi)存中不存在應(yīng)用程序所需訪問的數(shù)據(jù),則再去對(duì)物理磁盤進(jìn)行操作。這種機(jī)制能夠減少應(yīng)用程序?qū)ξ锢泶疟P的讀寫操作。緩存技術(shù)有很多種,也分為多個(gè)層次。目前緩存機(jī)制主要分為以下兩個(gè)層次:
(1)操作系統(tǒng)提供的緩存。每個(gè)操作系統(tǒng)都有自己的文件系統(tǒng),為了提高文件讀取寫入效率,操作系統(tǒng)的文件系統(tǒng)會(huì)將物理磁盤上的文件內(nèi)容按照一種特定機(jī)制將磁盤上的數(shù)據(jù)拷貝到內(nèi)存中,并且做到內(nèi)存中數(shù)據(jù)和磁盤數(shù)據(jù)的同步。這樣運(yùn)行在操作系統(tǒng)上的程序有一部分原本需要對(duì)物理磁盤進(jìn)行的讀寫操作轉(zhuǎn)化為了在內(nèi)存中的操作,應(yīng)用程序只有在內(nèi)存中找不到所需內(nèi)容的時(shí)候才會(huì)訪問磁盤。這種機(jī)制對(duì)于運(yùn)行在操作系統(tǒng)上的應(yīng)用程序來說是透明的,應(yīng)用程序無法感知到這一機(jī)制的存在。
(2)應(yīng)用程序自定義的緩存機(jī)制。盡管操作系統(tǒng)層面已經(jīng)對(duì)文件的讀寫進(jìn)行了優(yōu)化,但是并不能完全滿足每個(gè)應(yīng)用程序的需求。每個(gè)應(yīng)用程序的開發(fā)人員都可以按照需求設(shè)計(jì)一套針對(duì)文件I/O緩存機(jī)制。通常的做法是在內(nèi)存大小允許的情況下,先通過操作系統(tǒng)提供的API讀取文件內(nèi)容,然后將文件的整個(gè)或部分內(nèi)容加載到內(nèi)存中,主要用于加快文件的讀取效率。這是一種運(yùn)行在操作系統(tǒng)之上的緩存機(jī)制,應(yīng)用程序可以按照自己需求選擇指定文件進(jìn)行緩存,這種緩存機(jī)制能夠減少對(duì)操作系統(tǒng)API調(diào)用,進(jìn)一步減少對(duì)磁盤I/O的操作。
以上兩個(gè)層次的緩存機(jī)制實(shí)際上都是基于操作系統(tǒng)提供的I/O訪問接口。然而,部分應(yīng)用程序由于自身的數(shù)據(jù)緩存機(jī)制,它們對(duì)文件的操作往往不依賴操作系統(tǒng)提供的文件讀取API,而是直接對(duì)物理磁盤進(jìn)行操作。通常這些程序按照物理磁盤塊的大小讀寫磁盤,如每次讀寫一個(gè)物理塊,大小512字節(jié)。如果我們需要讀取這些文件,尤其是增量讀取這些文件的時(shí)候,就需要按照物理塊的大小從物理塊上逐塊讀取。如果一個(gè)文件占用了很多物理塊,那么按照逐塊讀取的方案將會(huì)造成磁盤I/O的操作大量增加。
在這樣的技術(shù)背景之下,為了提升讀取物理磁盤塊設(shè)備的I/O效率,申請(qǐng)建立了一中塊設(shè)備I/O的優(yōu)化機(jī)制。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明目的是,提供一種塊設(shè)備I/O的優(yōu)化方法,通過預(yù)讀取的方式,應(yīng)用程序在內(nèi)存中設(shè)置緩沖區(qū),并將一個(gè)文件對(duì)應(yīng)存儲(chǔ)在物理塊設(shè)備中的內(nèi)容讀入緩沖區(qū)中,每一個(gè)文件內(nèi)容在物理塊設(shè)備中以塊為單位存儲(chǔ),每一個(gè)物理塊設(shè)備中的內(nèi)容塊按順序遞增排列;當(dāng)應(yīng)用程序有讀取物理塊設(shè)備中內(nèi)容的需求時(shí),直接先從緩沖區(qū)內(nèi)找到對(duì)應(yīng)的內(nèi)容塊讀取;如果緩沖區(qū)中沒有相應(yīng)的內(nèi)容塊,則執(zhí)行從物理塊設(shè)備讀取這些內(nèi)容塊進(jìn)緩沖區(qū)后,再從緩沖區(qū)中讀取,有效解決現(xiàn)有技術(shù)中所存在的直接讀取磁盤內(nèi)容效率低下的問題,并提高了緩沖區(qū)的可控性;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于焦點(diǎn)科技股份有限公司,未經(jīng)焦點(diǎn)科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710897104.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(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ù)字輸出
- 傳感設(shè)備、檢索設(shè)備和中繼設(shè)備
- 簽名設(shè)備、檢驗(yàn)設(shè)備、驗(yàn)證設(shè)備、加密設(shè)備及解密設(shè)備
- 色彩調(diào)整設(shè)備、顯示設(shè)備、打印設(shè)備、圖像處理設(shè)備
- 驅(qū)動(dòng)設(shè)備、定影設(shè)備和成像設(shè)備
- 發(fā)送設(shè)備、中繼設(shè)備和接收設(shè)備
- 定點(diǎn)設(shè)備、接口設(shè)備和顯示設(shè)備
- 傳輸設(shè)備、DP源設(shè)備、接收設(shè)備以及DP接受設(shè)備
- 設(shè)備綁定方法、設(shè)備、終端設(shè)備以及網(wǎng)絡(luò)側(cè)設(shè)備
- 設(shè)備、主設(shè)備及從設(shè)備
- 設(shè)備向設(shè)備轉(zhuǎn)發(fā)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





