[發明專利]數據讀寫方法及系統有效
| 申請號: | 201110144738.1 | 申請日: | 2011-05-31 |
| 公開(公告)號: | CN102810092B | 公開(公告)日: | 2017-07-07 |
| 發明(設計)人: | 袁清 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司44224 | 代理人: | 何平,曾旻輝 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 讀寫 方法 系統 | ||
【技術領域】
本發明涉及計算機技術領域,特別涉及一種數據讀寫方法及系統。
【背景技術】
隨著互聯網技術的發展,用戶數量越來越多,每個用戶發布的信息也越來越多,數據總量開始急劇膨脹,形成海量的數據,如何對這些海量的數據進行有效管理,以保證用戶快速發表數據和讀取數據,成為后臺技術面臨的巨大挑戰。
SSD(Solid State Disk,固態硬盤)是互聯網中一種最新存儲技術,它是由控制單元和存儲單元(DRAM或FLASH芯片)兩部分組成。存儲單元負責存儲數據,控制單元負責讀取、寫入數據。SSD能夠在低于1ms的時間內對任意位置存儲單元完成I/O(輸入/輸出)操作,其隨機讀性能可達到每秒上萬次,順序寫性能可達每秒4k~5k,但是其隨機寫性能比較差,每秒只有幾十次,并且會嚴重影響隨機讀性能。
傳統的數據讀寫一般采用內存索引加上數據庫永久存儲的方式實現,該方式代碼設計復雜,且需考慮緩存和數據庫中的數據的一致性,導致數據讀寫速度慢,且當緩存大量失效時,并發的流量集中在數據庫上,會使數據庫瞬間壓力暴增,讀寫性能急劇下降。
【發明內容】
基于此,有必要提供一種提高讀寫速度的數據讀寫方法。
一種數據讀寫方法,包括以下步驟:
獲取寫操作請求及用戶標識號,根據所述用戶標識號從第一數據文件中讀取與所述用戶標識號相對應的數據塊,再根據所述寫操作請求及所述讀取的數據塊生成新的數據塊,并將新的數據塊順序寫入到所述第一數據文件中;
記錄所述新的數據塊與用戶標識號的對應關系以及所述新的數據塊的偏移地址信息;
獲取讀操作請求及用戶標識號,根據所述讀操作請求、用戶標識號與新的數據塊的對應關系及新的數據塊的偏移地址信息從所述第一數據文件中讀取與所述用戶標識號相對應的新的數據塊。
優選地,還包括步驟:記錄寫操作,生成寫操作備份文件。
優選地,還包括步驟:
計算所述第一數據文件的利用率;
判斷所述第一數據文件的利用率是否小于預設閾值,若是,則將所述第一數據文件中的有效的數據塊進行數據轉移到第二數據文件中,否則返回到計算所述第一數據文件的利用率的步驟。
優選地,還包括步驟:在預定間隔時間內掃描所述第一數據文件,當第一數據文件中的數據塊無效時,刪除所述第一數據文件。
優選地,還包括步驟:判斷所述第一數據文件中的數據塊是否為空,若是,則將所述第一數據文件中的所述數據塊的索引設置為空指針。
此外,還有必要提供一種提高讀寫速度的數據讀寫系統。
一種數據讀寫系統,包括:
主寫進程模塊,用于獲取寫操作請求及用戶標識號,根據所述用戶標識號從第一數據文件中讀取與所述用戶標識號相對應的數據塊,再根據所述寫操作請求及讀取的數據塊生成新的數據塊,并將新的數據塊順序寫入到所述第一數據文件中;
存儲模塊,用于記錄所述新的數據塊與用戶標識號的對應關系以及所述新的數據塊的偏移地址信息;
讀進程模塊,用于獲取讀操作請求及用戶標識號,根據所述讀操作請求、用戶標識號與新的數據塊的對應關系及新的數據塊的偏移地址信息從所述第一數據文件中讀取與所述用戶標識號相對應的新的數據塊。
優選地,還包括輔助寫進程模塊,所述輔助寫進程模塊用于記錄寫操作,生成寫操作備份文件。
優選地,還包括重整進程模塊,所述重整進程模塊用于計算所述第一數據文件的利用率,并判斷所述第一數據文件的利用率是否小于預設閾值;所述主寫進程模塊還用于在所述重整進程模塊判斷出所述第一數據文件的利用率小于預設閾值時,將所述第一數據文件中的有效的數據塊進行數據轉移到第二數據文件中。
優選地,所述重寫進程模塊還用于在預定間隔時間內掃描所述第一數據文件,當第一數據文件中的數據塊無效時,刪除所述第一數據文件。
優選地,還包括指針設置模塊,所述指針設置模塊用于在所述第一數據文件中的數據塊為空時,將所述第一數據文件中的所述數據塊索引設置為空指針。
上述數據讀寫方法及系統,采用寫操作時,將第一數據文件中的與用戶標識號相對應的數據塊讀取出來,再根據寫操作及讀取的數據塊生成新的數據塊,并將新的數據塊順序寫入到第一數據文件中,讀操作時,根據用戶標識號查找到對應的新的數據塊讀取出來,實現了多用戶數據的快速讀寫,提高了讀寫速度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110144738.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種光熱電一體化發電模塊
- 下一篇:通過分子鍵合來鍵合的方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





