本發明專利技術實施例公開了一種數據處理方法,包括:程序運行時,根據預設的內存使用參數,從預置的磁盤空間中查找所述程序運行所需的數據并加載至內存;運行所述程序,處理已加載的所述數據。本發明專利技術實施例還公開了一種數據處理裝置。本發明專利技術在程序運行時,根據預設的內存使用參數對數據進行讀取、加載和處理,減少內存的負荷,保證數據的完整性,保證程序運行的可靠性。
【技術實現步驟摘要】
本專利技術涉及數據處理
,尤其涉及一種數據處理方法及裝置。
技術介紹
軟件開發過程中,常常需要對文件的數據進行處理?,F有的數據處理方案主要為 在軟件程序運行時,將程序運行所需的所有數據(整個文件的數據)全部加載至內存中,運行程序處理已加載的數據。由于需要處理的許多文件的數據量較大,比如流文件,將整個文件的所有數據全部加載至內存中進行處理,必定會占據大量的內存空間,可能導致數據的丟失,從而影響程序的運行。
技術實現思路
本專利技術實施例所要解決的技術問題在于,提供一種數據處理方法及裝置,可在程序運行時,根據預設的內存使用參數對數據進行讀取、加載和處理,減少內存的負荷,保證數據的完整性,保證程序運行的可靠性。為了解決上述技術問題,本專利技術實施例提供了一種數據處理方法,包括程序運行時,根據預設的內存使用參數,從預置的磁盤空間中查找所述程序運行所需的數據并加載至內存;運行所述程序,處理已加載的所述數據。其中,根據預設的內存使用參數,從預置的磁盤空間中查找所述程序運行所需的數據并加載至內存之前,還包括將程序運行所需的各種數據存儲至預置的磁盤空間中,并建立索引表; 所述索引表包括所述預置的磁盤空間內存儲的各個數據的偏移量、大小、校驗值和引用計數;其中,各個數據的偏移量表示各個數據在所述預置的磁盤空間內的存儲位置。其中,所述將程序運行所需的各種數據存儲至預置的磁盤空間中,并建立索引表, 包括預先設置用于存儲程序運行所需的各種數據的磁盤空間,并建立索引表;當所述預置的磁盤空間有數據寫入時,計算所述數據的校驗值;判斷所述索引表中是否包含計算得到的所述檢驗值;若判斷結果為是,更新所述索引表中的所述檢驗值對應的數據的引用計數;若判斷結果為否,將所述數據存儲至所述預置的磁盤空間中,并更新所述索引表。其中,所述程序運行時,根據預設的內存使用參數,從預置的磁盤空間中查找所述程序運行所需的數據并加載至內存,包括程序運行時,計算所述程序運行所需的數據的校驗值; 查找所述索引表中是否包含計算得到的所述檢驗值;若查找結果為是,從所述索引表中讀取所述校驗值對應的數據的大小,比較所述數據的大小和所述預設的內存使用參數;若所述數據的大小大于所述預設的內存使用參數,按照所述預設的內存使用參數分段從所述預置的磁盤空間中讀取所述數據加載至內存中;若所述數據的大小小于等于所述預設的內存使用參數,從所述預置的磁盤空間中讀取所述數據并加載至內存;若查找結果為否,將所述程序運行所需的數據存儲至所述預置的磁盤空間中,并更新所述索引表。其中,所述方法還包括當所述預置的磁盤空間中的數據發生變化時,更新所述索引表,并記錄每次數據變化對應的所述索引表的更新信息;根據記錄的每次數據變化對應的所述索引表的更新信息,對引起所述數據變化的操作進行撤銷恢復。相應地,本專利技術實施例還提供了一種數據處理裝置,包括查找模塊,用于當程序運行時,根據預設的內存使用參數,從預置的磁盤空間中查找所述程序運行所需的數據;加載模塊,用于將所述查找模塊查找到的所述數據加載至內存; 處理模塊,用于運行所述程序,處理所述加載模塊已加載的所述數據。其中,所述裝置還包括初始化模塊,用于將程序運行所需的各種數據存儲至預置的磁盤空間中,并建立索引表;所述索引表包括所述預置的磁盤空間內存儲的各個數據的偏移量、大小、校驗值和引用計數;其中,各個數據的偏移量表示各個數據在所述預置的磁盤空間內的存儲位置。其中,所述初始化模塊包括預置單元,用于預先設置用于存儲程序運行所需的各種數據的磁盤空間,并建立索引表;計算單元,用于當所述預置單元預置的磁盤空間有數據寫入時,計算所述數據的校驗值;判斷單元,用于判斷所述預置單元建立的索引表中是否包含所述計算單元計算得到的所述檢驗值;執行單元,用于當所述判斷單元判斷結果為是時,更新所述索引表中所述檢驗值對應的數據的引用計數;當所述判斷單元判斷結果為否時,將所述數據存儲至所述預置的磁盤空間中,并更新所述索引表。其中,所述查找模塊包括計算單元,用于當程序運行時,計算所述程序運行所需的數據的校驗值; 查找單元,用于查找所述索引表中是否包含所述計算單元計算得到的所述檢驗值; 比較單元,用于當所述查找單元查找結果為是時,從所述索引表中讀取所述校驗值對應的數據的大小,比較所述數據的大小和所述預設的內存使用參數;讀取單元,用于當所述比較單元比較得到所述數據的大小大于所述預設的內存使用參數時,按照所述預設的內存使用參數分段從所述預置的磁盤空間中讀取所述數據;當所述比較單元比較得到所述數據的大小小于等于所述預設的內存使用參數時,從所述預置的磁5盤空間中讀取所述數據;存儲更新單元,用于當所述查找單元查找結果為否時,將所述程序運行所需的數據存儲至所述預置的磁盤空間中,并更新所述索引表。其中,所述裝置還包括記錄模塊,用于當所述預置的磁盤空間中的數據發生變化時,更新所述索引表,并記錄每次數據變化對應的所述索引表的更新信息;撤銷恢復模塊,用于根據所述記錄模塊記錄的每次數據變化對應的所述索引表的更新信息,對引起所述數據變化的操作進行撤銷恢復。實施本專利技術實施例,具有如下有益效果本專利技術實施例將程序運行所需的數據存儲在預置的磁盤空間中,在程序運行時,根據預設的內存使用參數,從預置的磁盤空間中獲取相應大小的數據進行加載和處理,減少了將程序運行的全部數據加載至內存所帶來的內存負荷,同時可保證數據的完整性,保證程序運行的可靠性。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術的數據處理裝置的第一實施例的結構示意圖; 圖2為本專利技術的數據處理裝置的第二實施例的結構示意圖3為本專利技術的樹型結構表的示意圖4為本專利技術的數據處理裝置的初始化模塊的實施例的結構示意圖; 圖5為本專利技術的數據處理裝置的查找模塊的實施例的結構示意圖; 圖6為本專利技術的數據處理方法的第一實施例的流程圖; 圖7為圖6所示的步驟SlOl的具體流程圖; 圖8為本專利技術的數據處理方法的第二實施例的流程圖; 圖9為圖8所示的步驟S201的具體流程圖。具體實施例方式下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例?;诒緦@夹g中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。請參見圖1,為本專利技術的數據處理裝置的第一實施例的結構示意圖;所述裝置包括查找模塊10,用于當程序運行時,根據預設的內存使用參數,從預置的磁盤空間中查找所述程序運行所需的數據。由于程序所需處理的數據量往往較大,在程序運行時,直接將數據加載至內存進行處理,會占據大量的內存空間,影響程序運行,因此,可預先將程序運行所需的數據存儲至預置的磁盤空間中,當程序運行時,所述查找模塊10根據預設的內存使用參數,從所述預置的磁盤空間中讀取。其中,所述預設的內存使用參數是指預先設定的可使用的內存大小,該大小可以為內存的整個存儲空間,也可以是內存的部分存本文檔來自技高網...
【技術保護點】
1.一種數據處理方法,其特征在于,包括:程序運行時,根據預設的內存使用參數,從預置的磁盤空間中查找所述程序運行所需的數據并加載至內存;運行所述程序,處理已加載的所述數據。
【技術特征摘要】
【專利技術屬性】
技術研發人員:吳思然,
申請(專利權)人:深圳市萬興軟件有限公司,
類型:發明
國別省市:94
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。