[發(fā)明專利]IO數(shù)據(jù)的讀寫方法和裝置有效
| 申請?zhí)枺?/td> | 201710453834.1 | 申請日: | 2017-06-15 |
| 公開(公告)號: | CN107273051B | 公開(公告)日: | 2018-07-03 |
| 發(fā)明(設(shè)計)人: | 王勁凱;游峰;李綱彬 | 申請(專利權(quán))人: | 北京華云網(wǎng)際科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京智晨知識產(chǎn)權(quán)代理有限公司 11584 | 代理人: | 張婧 |
| 地址: | 100085 北京市海淀區(qū)寶*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 硬盤 系統(tǒng)內(nèi)存 讀寫 方法和裝置 預(yù)定條件 響應(yīng) 上層 響應(yīng)消息 保存 發(fā)送 | ||
1.一種IO數(shù)據(jù)的讀寫方法,其特征在于,包括:
系統(tǒng)從上層接收IO數(shù)據(jù);
將所述IO數(shù)據(jù)保存到第一硬盤中,將所述IO數(shù)據(jù)保存到系統(tǒng)內(nèi)存中;
給所述上層發(fā)送接收到所述IO數(shù)據(jù)的響應(yīng)消息;
判斷是否滿足預(yù)定條件;
當(dāng)滿足所述預(yù)定條件時,將所述系統(tǒng)內(nèi)存中的IO數(shù)據(jù)同步到第二硬盤中;其中,所述第一硬盤的響應(yīng)速度大于所述第二硬盤的響應(yīng)速度;
對從所述系統(tǒng)內(nèi)存中同步到所述第二硬盤的IO數(shù)據(jù)在所述第一硬盤中進行標(biāo)記;
所述將所述IO數(shù)據(jù)保存到系統(tǒng)內(nèi)存中的步驟包括:
將所述第一硬盤分為第一元數(shù)據(jù)區(qū)、第二元數(shù)據(jù)區(qū)和數(shù)據(jù)存儲區(qū);
將所述數(shù)據(jù)存儲區(qū)分為預(yù)定大小的至少一個數(shù)據(jù)塊,所述數(shù)據(jù)塊用于存儲所述IO數(shù)據(jù);
將所述第二元數(shù)據(jù)區(qū)分為與所述數(shù)據(jù)塊相同數(shù)量的至少一個元數(shù)據(jù)塊,所述元數(shù)據(jù)塊用于存儲所述IO數(shù)據(jù)在與所述元數(shù)據(jù)塊序號相同的數(shù)據(jù)塊中的第一位置信息;所述第一位置信息包括:所述IO數(shù)據(jù)所在的數(shù)據(jù)塊的序號、所述IO數(shù)據(jù)在所述數(shù)據(jù)塊中的偏移量以及所述IO數(shù)據(jù)的數(shù)據(jù)大小;
所述第一元數(shù)據(jù)區(qū)用于存儲所述第一位置信息在所述第二元數(shù)據(jù)區(qū)的第二位置信息;所述第二位置信息包括:當(dāng)前待存儲所述IO數(shù)據(jù)的數(shù)據(jù)塊的當(dāng)前物理序號CUR、當(dāng)前待存儲所述IO數(shù)據(jù)的數(shù)據(jù)塊的當(dāng)前遞增序號SEQ、每個數(shù)據(jù)塊的遞增序號以及對應(yīng)的指示每個數(shù)據(jù)塊中的IO數(shù)據(jù)是否同步到第二硬盤的標(biāo)記;所述當(dāng)前物理序號CUR的初始值為0,所述當(dāng)前遞增序號SEQ的初始值為1;
將所述IO數(shù)據(jù)依次保存到各個所述數(shù)據(jù)塊;
當(dāng)?shù)谝粩?shù)據(jù)塊存滿時,將所述IO數(shù)據(jù)存入第二數(shù)據(jù)塊,并對所述當(dāng)前物理序號CUR進行加一運算;并對所述當(dāng)前遞增序號SEQ進行加一運算;
當(dāng)所述第一硬盤的最后一數(shù)據(jù)塊存滿時,從所述第一數(shù)據(jù)塊開始存儲所述IO數(shù)據(jù),進行新的循環(huán);對所述當(dāng)前物理序號CUR初始化,并對所述當(dāng)前遞增序號SEQ進行加一運算;
根據(jù)所述IO數(shù)據(jù)在所述數(shù)據(jù)存儲區(qū)中的數(shù)據(jù)塊的保存信息,生成所述數(shù)據(jù)塊的第一位置信息;
將所述數(shù)據(jù)塊的所述第一位置信息保存在與所述數(shù)據(jù)塊對應(yīng)的所述元數(shù)據(jù)塊中;
根據(jù)所述第一位置信息在所述第二元數(shù)據(jù)區(qū)的元數(shù)據(jù)塊中的保存信息,生成第二位置信息;
將所述第二位置信息保存在所述第一元數(shù)據(jù)區(qū)中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
當(dāng)所述系統(tǒng)重啟后,根據(jù)所述標(biāo)記,獲取所述第一硬盤中的未同步到所述第二硬盤中的IO數(shù)據(jù);
將所述第一硬盤中的未同步到所述第二硬盤中IO數(shù)據(jù)同步到所述第二硬盤中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)定條件為:
是否滿足預(yù)定時長;或者,所述第一硬盤中的記錄的所述IO數(shù)據(jù)的大小超過預(yù)定值。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對從所述系統(tǒng)內(nèi)存中同步到所述第二硬盤的IO數(shù)據(jù)在所述第一硬盤中進行標(biāo)記的步驟包括:
獲取同步的所述IO數(shù)據(jù)所在的數(shù)據(jù)塊;
在所述第二位置信息中,生成對同步的所述IO數(shù)據(jù)所在的數(shù)據(jù)塊的標(biāo)記。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述在所述第二位置信息中,生成對同步的所述IO數(shù)據(jù)所在的數(shù)據(jù)塊的標(biāo)記的步驟包括:
將同步的所述IO數(shù)據(jù)所在的數(shù)據(jù)塊的遞增序號清零。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述第一硬盤中的未同步到所述第二硬盤中IO數(shù)據(jù)同步到所述第二硬盤中的步驟包括:
根據(jù)所述第二位置信息中的標(biāo)記,查找出沒有同步到所述第二硬盤中的數(shù)據(jù)塊;
從遞增序號最小的數(shù)據(jù)塊開始,依次將沒有同步到所述第二硬盤中的數(shù)據(jù)塊中的所述IO數(shù)據(jù)同步到所述第二硬盤。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述第二位置信息中的標(biāo)記,查找出沒有同步到所述第二硬盤中的數(shù)據(jù)塊的步驟包括:
查找遞增序號不等于當(dāng)前遞增序號且遞增序號不為零的數(shù)據(jù)塊,作為沒有同步到所述第二硬盤中的數(shù)據(jù)塊。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京華云網(wǎng)際科技有限公司,未經(jīng)北京華云網(wǎng)際科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710453834.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 一種多線程處理器動態(tài)內(nèi)存管理系統(tǒng)及方法
- 一種無MMU平臺的應(yīng)用系統(tǒng)內(nèi)存管理的方法及系統(tǒng)
- 一種內(nèi)存消耗可控的高速內(nèi)存申請釋放管理系統(tǒng)及方法
- 一種系統(tǒng)內(nèi)存保護方法與裝置
- 內(nèi)存管理方法及內(nèi)存管理裝置
- 內(nèi)存錯誤檢測方法、內(nèi)存管理系統(tǒng)和裝置、以及服務(wù)器
- 內(nèi)存穩(wěn)定性驗證方法及裝置
- 一種內(nèi)存管理方法及系統(tǒng)
- 一種內(nèi)存故障的隔離方法、裝置、系統(tǒng)及可讀存儲介質(zhì)
- 一種嵌入式系統(tǒng)內(nèi)存管理方法及裝置





