【技術實現步驟摘要】
本專利技術涉及數據處理
,尤其涉及一種數據存儲方法及裝置。
技術介紹
文件存儲是當前比較常見的系統功能。由于企業內部的各種類型業務繁多,每日會產生大量不同格式、不同大小的數據文件。這些數據往往需要長期保存。因此,如何有效的管理這些文件就成為了企業辦公系統的一個重要課題。目前,主要是利用近年來興起的大數據相關的分布式數據庫來進行企業級文件管理。分布式數據庫,通過計算機網絡將物理上分散的多個數據存儲單元連接起來組成一個邏輯上統一的數據庫,并將文件以數據塊的形式存儲在數據存儲單元中,以獲取更大的存儲容量和并發訪問量。分布式數據庫通常采取客戶機/服務器模式,客戶機負責將用戶訪問操作與服務器交互,服務器從其管理的數據存儲單元中獲取數據。目前常見的分布式數據庫包括基于HDFS開發的HBase,基于ZFS開發的Z-DataMart等。分布式數據庫在存儲時,將小文件以數據塊的方式組合成大文件存儲,可滿足企業海量小文件的存儲需求。但是,由于在對大文件的存儲過程中,也需要將大文件拆分成文件數據塊,需對文件數據塊進行頻繁的切分和合并。因此,分布式數據庫對大文件的處理效率很不理想。
技術實現思路
有鑒于此,本專利技術提供了一種數據存儲方法及裝置,以解決現有的分布式數據庫在滿足大量小文件存儲需求的基礎上,對大文件的處理效率低下的問題。本專利技術實施例提供的一種數據存儲方法,包括:接收數據存儲請求,所述數據存儲請求攜帶有待處理數據;獲取所述待處理數據的大小;當所述待處理數據的大小小于第一預設值時,將所述待處理數據保存至第一存儲區域;當所述待處理數據的大小大于第二預設值時,將所述待 ...
【技術保護點】
一種數據存儲方法,其特征在于,包括:接收數據存儲請求,所述數據存儲請求攜帶有待處理數據;獲取所述待處理數據的大小;當所述待處理數據的大小小于第一預設值時,將所述待處理數據保存至第一存儲區域;當所述待處理數據的大小大于第二預設值時,將所述待處理數據保存至第二存儲區域,并將第一元數據保存至所述第一存儲區域,所述第一元數據包括第一存儲路徑,所述第一存儲路徑為所述待處理數據在所述第二存儲區域中的存儲路徑;當所述待處理數據的大小大于或等于所述第一預設值且所述待處理數據的大小小于或等于所述第二預設值時,根據預設規則,將所述待處理數據拆分成至少一個子數據后,分別將每個子數據保存至第三存儲區域,并按照所述每個子數據在所述待處理數據中的排列順序,將所述每個子數據的第二元數據保存至所述第一存儲區域,所述第二元數據包括第二存儲路徑,所述第二存儲路徑為該子數據在所述第三存儲區域中的存儲路徑;其中,所述第一預設值小于所述第二預設值。
【技術特征摘要】
1.一種數據存儲方法,其特征在于,包括:接收數據存儲請求,所述數據存儲請求攜帶有待處理數據;獲取所述待處理數據的大小;當所述待處理數據的大小小于第一預設值時,將所述待處理數據保存至第一存儲區域;當所述待處理數據的大小大于第二預設值時,將所述待處理數據保存至第二存儲區域,并將第一元數據保存至所述第一存儲區域,所述第一元數據包括第一存儲路徑,所述第一存儲路徑為所述待處理數據在所述第二存儲區域中的存儲路徑;當所述待處理數據的大小大于或等于所述第一預設值且所述待處理數據的大小小于或等于所述第二預設值時,根據預設規則,將所述待處理數據拆分成至少一個子數據后,分別將每個子數據保存至第三存儲區域,并按照所述每個子數據在所述待處理數據中的排列順序,將所述每個子數據的第二元數據保存至所述第一存儲區域,所述第二元數據包括第二存儲路徑,所述第二存儲路徑為該子數據在所述第三存儲區域中的存儲路徑;其中,所述第一預設值小于所述第二預設值。2.根據權利要求1所述的數據存儲方法,其特征在于,還包括:生成臨時目錄和第一路徑事務隊列,并將所述臨時目錄路徑添加至所述第一路徑事務隊列;當所述待處理數據的大小大于或等于所述第一預設值時,將所述待處理數據寫入所述臨時目錄保存;當所述待處理數據未成功寫入所述臨時目錄時,執行事務處理流程,所述事務處理流程,包括:按照所述第一路徑事務隊列中的臨時目錄路徑,刪除所述臨時目錄。3.根據權利要求2所述的數據存儲方法,其特征在于,所述將所述待處理數據保存至第二存儲區域,之后還包括:生成第二路徑事務隊列;判斷所述待處理數據是否成功保存在所述第二存儲區域;如果是,則獲取所述第一存儲路徑,并將所述第一存儲路徑添加至所述第二路徑事務隊列;如果否,則執行所述事務處理流程。4.根據權利要求3所述的數據存儲方法,其特征在于,所述并將第一元數據保存至所述第一存儲區域,之后還包括:判斷所述第一元數據是否成功保存至所述第一存儲區域;如果是,則刪除所述臨時目錄;如果否,則執行所述事務處理流程,所述事務處理流程,還包括:根據所述第二路徑事務隊列中的第一存儲路徑,刪除所述第二存儲區域中保存的待處理數據。5.根據權利要求2所述的數據存儲方法,其特征在于,所述分別將每個子數據保存至第三存儲區域,之后還包括:生成第三路徑事務隊列;判斷所述每個子數據是否成功保存在所述第三存儲區域;如果是,則獲取所述每個子數據的第二存儲路徑,并按照所述每個子數據在所述待處理數據中的排列順序,將所述每個子數據的第二存儲路徑添加至所述第三路徑事務隊列;如果否,則執行所述事務處理流程。6.根據權利要求5所述的數據存儲方法,其特征在于,所述將所述每個子數據的第二元數據保存至所述第一存儲區域,之后還包括:判斷所述每個子數據的第二元數據是否成功保存至所述第一存儲區域;如果是,則刪除所述臨時目錄;如果否,則執行所述事務處理流程,所述事務處理流程,還包括:根據所述第三路徑事務隊列中的第二存儲路徑,刪除所述第三存儲區域中保存的子數據。7.根據權利要求1所述的數據存儲方法,其特征在于,所述將所述待處理數據保存至所述第一存儲區域,之后還包括:當所述待處理數據未成功保存至所述第一存儲區域時,執行事務處理流程,所述事務處理流程,包括:執行所述第一存儲區域的事務回滾。8.一種數據存儲裝置,其特征在于,包括:請求接收模塊、數據檢測模塊、第一比較模塊、第二比較模塊、第一數據處理模塊、第二數據處理模塊和第三數據處理模塊;所述請求接收模塊,用于接收數據存儲請求,所述數據存儲請求攜帶有待處理數據;所述數據檢測模塊,用于獲取所述待處理數據的大小;所述第一比較模塊,用于比較所述待處理數據的大小與第一預設值的大小關系;所述第二比較模塊,用于比較所述待處理數據的大小與第二預設值的大小關系;所述第一數據處理模塊,用于當所述第一比較模塊判斷所述待處理數據的大小小于所述第一預設值時,將所述待處理數據保存至第一存儲區域;所述第二數據處理模塊,用于當所述第二比較模塊判斷所述待處理數據的大小大于所述第二預設值時,將所述待處理數據保存至第二存儲區域,并將第一元數據保存至所述第一存儲區域,所述第一元數據包括第一存儲路徑,所述第一存儲路徑為所述待處理數據在所述第二存儲區域中的存儲路徑;所述第三數據處理模...
【專利技術屬性】
技術研發人員:楊全文,王仁重,王昭,岳松頌,陳思偉,
申請(專利權)人:中國農業銀行股份有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。