[發明專利]一種數據存儲方法、裝置、終端設備及存儲介質有效
| 申請號: | 201811085178.5 | 申請日: | 2018-09-18 |
| 公開(公告)號: | CN109597568B | 公開(公告)日: | 2022-03-04 |
| 發明(設計)人: | 夏正冬 | 申請(專利權)人: | 天津字節跳動科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 300310 天津市濱海新*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 存儲 方法 裝置 終端設備 介質 | ||
本公開公開了一種數據存儲方法、裝置、終端設備及存儲介質。其中,該方法包括:根據檢測到的待存儲數據,將待存儲數據寫入內存中的數據緩存區域;根據數據緩存區域與磁盤中的磁盤緩存文件之間內存映射關系,將待存儲數據作為緩存數據同步寫入磁盤緩存文件;當確定磁盤緩存文件的數據大小滿足容量閾值條件時,將磁盤緩存文件中當前存儲的緩存數據寫入磁盤中的磁盤存儲文件,并對應刪除磁盤緩存文件中當前存儲的緩存數據。本公開實施例可以避免現有技術由于使用內存緩存技術,導致的數據丟失的情況,保證數據的完整性的同時,可以有效降低輸入/輸出操作的頻次,降低系統功耗,提高系統性能。
技術領域
本公開實施例涉及日志管理技術,尤其涉及一種數據存儲方法、裝置、終端設備及存儲介質。
背景技術
通常,移動終端將數據寫入移動終端的磁盤中,對數據進行存儲和管理。例如,數據可以為安裝于移動終端的應用程序在運行過程中生成的日志數據。
現有技術中主要有兩種數據存儲方法。第一種方法是將數據直接寫入磁盤文件。例如,應用程序只要產生一條日志,就直接將日志寫入磁盤文件。第二種方法是在移動終端上創建一個固定大小的內存緩存,將數據都寫入內存緩存。當內存緩存容量滿時,一次性將內存緩存中的數據寫入磁盤文件,并清空內存緩存。例如,在移動終端上創建一個固定大小的內存緩存,產生的每一條日志數據都寫入內存緩存。當內存緩存容量滿時,一次性將內存緩存中的日志寫入磁盤文件,并清空內存緩存。
發明人在實現本公開的過程中,發現第一種方法中,每個數據的寫入都會產生一次輸入/輸出(I/O)操作。這樣必然會導致頻繁的I/O操作,不僅浪費太多的時間,而且還增加了系統的功耗。而且由于數據寫入過程使用了普通的I/O方式,移動終端的物理內存會出現重復的物理內存頁,導致不必要的內存消耗。第二種方法中,雖然有效降低了I/O操作,但是由于內存緩存技術本身的缺陷,在某些情況會出現丟失數據的現象。
發明內容
本公開提供一種數據存儲方法、裝置、終端設備及存儲介質,以實現在避免數據丟失的情況,保證數據的完整性的同時,有效降低輸入/輸出操作的頻次,降低系統功耗,提高系統性能。
第一方面,本公開實施例提供了一種數據存儲方法,包括:
根據檢測到的待存儲數據,將待存儲數據寫入內存中的數據緩存區域;
根據數據緩存區域與磁盤中的磁盤緩存數據之間內存映射關系,將待存儲數據作為緩存數據同步寫入磁盤緩存文件;
當確定磁盤緩存文件的文件大小滿足容量閾值條件時,將磁盤緩存文件中當前存儲的緩存數據寫入磁盤中的磁盤存儲文件,并對應刪除磁盤緩存文件中當前存儲的緩存數據。
上述方案中,可選的是,在如果檢測到待存儲數據,則將待存儲數據寫入內存中的數據緩存區域之前,還包括:
通過內存映射技術建立內存中的數據緩存區域與磁盤中的磁盤緩存文件之間的內存映射關系。
上述方案中,可選的是,將磁盤緩存文件中的緩存數據寫入磁盤中的磁盤存儲文件,并對應刪除磁盤緩存文件中的緩存數據,包括:
將磁盤緩存文件中當前存儲的緩存數據加入數據寫入隊列,并對應刪除磁盤緩存文件中的當前存儲的緩存數據;
在檢測到數據寫入隊列中存在緩存數據時,將數據寫入隊列中的緩存數據寫入磁盤存儲文件,并對應刪除數據寫入隊列中的緩存數據。
上述方案中,可選的是,在檢測到數據寫入隊列中存在緩存數據時,將數據寫入隊列中的緩存數據寫入至磁盤存儲文件,并對應刪除數據寫入隊列中的緩存數據的操作,通過磁盤寫入子線程實現。
上述方案中,可選的是,待存儲數據包括目標應用程序在運行過程中生成的日志數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津字節跳動科技有限公司,未經天津字節跳動科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811085178.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據處理方法和裝置
- 下一篇:在存儲器裝置的單個引腳上多路復用相異信號
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





