本發(fā)明涉及數(shù)據(jù)處理,具體涉及內(nèi)存數(shù)據(jù)管理系統(tǒng)、資源數(shù)據(jù)存儲方法及資源數(shù)據(jù)檢索方法。
背景技術:
1、在嵌入式系統(tǒng)領域,隨著技術的持續(xù)演進,眾多嵌入式設備在各類應用場景中對實時性與可靠性的依賴程度日益加深,對嵌入式設備的內(nèi)存數(shù)據(jù)處理能力的要求逐步提升。
2、從內(nèi)存資源的特性來看,嵌入式設備受成本、體積及功耗等要素的強力制約,其內(nèi)存資源極為有限且珍貴。傳統(tǒng)內(nèi)存管理方式往往難以精準適配,易導致內(nèi)存分配的低效與浪費,無法使有限內(nèi)存發(fā)揮最大效能。在內(nèi)存分配策略方面,系統(tǒng)可靠性要求內(nèi)存分配請求務必得到及時響應與滿足。然而,現(xiàn)有技術頻繁動態(tài)內(nèi)存分配與釋放機制,不僅會顯著增大系統(tǒng)開銷,還會在一定程度上削弱系統(tǒng)整體性能,使得在不同業(yè)務場景下難以抉擇適宜的內(nèi)存分配方案。此外,在數(shù)據(jù)操作層面,內(nèi)存中數(shù)據(jù)的檢索、刪除等常規(guī)操作,也需要達成快速、高效的執(zhí)行標準,以確保系統(tǒng)能夠?qū)崟r且精準地予以響應。但現(xiàn)有技術在應對這些復雜需求時,往往缺乏系統(tǒng)性的整合方案,難以在保障數(shù)據(jù)存儲可靠性的同時,靈活調(diào)配內(nèi)存分配方式、削減系統(tǒng)開銷,并維持高效的內(nèi)存資源利用率與數(shù)據(jù)操作性能。傳統(tǒng)的數(shù)據(jù)結構與算法設計難以兼顧檢索速率與內(nèi)存資源利用效率的平衡,在數(shù)據(jù)量增長或業(yè)務復雜度提升時,檢索速度急劇下降,內(nèi)存資源的無效占用也隨之加劇,無法有效滿足嵌入式設備對內(nèi)存數(shù)據(jù)處理的需求。
技術實現(xiàn)思路
1、為了實現(xiàn)內(nèi)存資源的高效利用以及資源數(shù)據(jù)的快速存儲、檢索,本發(fā)明提供了內(nèi)存數(shù)據(jù)管理系統(tǒng)、資源數(shù)據(jù)存儲方法及資源數(shù)據(jù)檢索方法,所采用的技術方案具體如下:
2、本發(fā)明第一方面的技術方案提供了內(nèi)存數(shù)據(jù)管理系統(tǒng),所述系統(tǒng)包括:
3、第一內(nèi)存存儲模塊,配置為利用靜態(tài)內(nèi)存分配方法構建數(shù)組式哈希表;
4、第二內(nèi)存存儲模塊,配置為利用動態(tài)內(nèi)存分配方法構建鏈表式哈希表;
5、第一計數(shù)模塊,配置為提取靜態(tài)內(nèi)存數(shù)據(jù)中元素數(shù)量;
6、第二計數(shù)模塊,配置為提取動態(tài)內(nèi)存分配的動態(tài)內(nèi)存結構體數(shù)量。
7、進一步地,所述第二內(nèi)存存儲模塊包括二級指針數(shù)組以及第一數(shù)據(jù)結構體,所述二級指針數(shù)組的指針指向動態(tài)分配內(nèi)存構建的第一數(shù)據(jù)結構體。
8、進一步地,所述第二內(nèi)存存儲模塊用于當數(shù)組式哈希表哈希沖突時,基于目標索引位置并利用鏈表式哈希表對目標索引位置進行哈希沖突處理。
9、進一步地,基于目標索引位置并利用鏈表式哈希表對目標索引位置進行哈希沖突處理包括:若目標索引位置與鏈表式哈希表中無哈希沖突,則插入新的第一數(shù)據(jù)結構體作為哈希節(jié)點存儲資源數(shù)據(jù),并使二級指針數(shù)組的指針指向該哈希節(jié)點;若目標索引位置與鏈表式哈希表目標索引存在哈希沖突,則將新的第一數(shù)據(jù)結構體插入鏈表式哈希表的哈希表頭處。
10、進一步地,所述第一內(nèi)存存儲模塊包括靜態(tài)內(nèi)存數(shù)組以及第二數(shù)據(jù)結構體,所述靜態(tài)內(nèi)存數(shù)組通過靜態(tài)內(nèi)存分配方法分配連續(xù)內(nèi)存空間,所述第二數(shù)據(jù)結構體內(nèi)設有預設長度數(shù)據(jù)存儲區(qū)域。
11、進一步地,所述第一內(nèi)存存儲模塊用于當待存儲資源數(shù)據(jù)的長度不超過第二數(shù)據(jù)結構體內(nèi)預設長度數(shù)據(jù)存儲區(qū)域時,對目標索引位置進行哈希沖突處理;若目標索引位置不存在哈希沖突,則將資源數(shù)據(jù)存儲至第二數(shù)據(jù)結構體;若存在哈希沖突,則利用第二內(nèi)存存儲模塊處理哈希沖突。
12、本發(fā)明第二方面的技術方案提供了資源數(shù)據(jù)存儲方法,包括本發(fā)明第一方面技術方案所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),所述方法包括:
13、基于哈希算法提取目標數(shù)據(jù)的位置索引;
14、利用預設數(shù)據(jù)長度閾值為目標數(shù)據(jù)匹配目標哈希表,目標哈希表包括鏈表式哈希表和數(shù)組式哈希表;
15、提取目標哈希表的哈希沖突結果并根據(jù)哈希沖突結果對目標數(shù)據(jù)進行存儲,包括:
16、目標數(shù)據(jù)存儲至數(shù)組式哈希表中時,若索引位置在數(shù)組式哈希表中不存在哈希沖突,則將目標數(shù)據(jù)存儲至數(shù)組式哈希表;若索引位置在數(shù)組式哈希表中存在哈希沖突,則檢查鏈表式哈希表在索引位置是否哈希沖突;
17、目標數(shù)據(jù)存儲至鏈表式哈希表中時,若索引位置在鏈表式哈希表中不存在哈希沖突,則將目標數(shù)據(jù)存儲至鏈表式哈希表;若索引位置在鏈表式哈希表中存在哈希沖突,則在沖突槽位對應的鏈表插入一個新的哈希節(jié)點存儲目標數(shù)據(jù)。
18、本發(fā)明第三方面的技術方案提供了資源數(shù)據(jù)檢索方法,包括本發(fā)明第一方面技術方案所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),所述方法包括:
19、基于哈希算法提取目標數(shù)據(jù)的位置索引;
20、判斷數(shù)組式哈希表和鏈表式哈希表中是否存在目標數(shù)據(jù),包括:
21、若數(shù)組式哈希表中對應位置索引存在目標數(shù)據(jù)則進行關鍵字判斷處理;若數(shù)組式哈希表中對應位置索引不存在目標數(shù)據(jù),則在鏈表式哈希表中進行檢索。
22、本發(fā)明第四方面的技術方案提供了一種電子設備,所述電子設備包括:處理器以及與所述處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述處理器執(zhí)行的指令,所述指令被所述處理器執(zhí)行,以使所述處理器能夠執(zhí)行本發(fā)明第一方面技術方案所述的內(nèi)存數(shù)據(jù)管理系統(tǒng)的指令。
23、本發(fā)明第五方面的技術方案提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有實現(xiàn)內(nèi)存數(shù)據(jù)管理系統(tǒng)的程序,所述實現(xiàn)內(nèi)存數(shù)據(jù)管理系統(tǒng)的程序被處理器執(zhí)行以實現(xiàn)本發(fā)明第一方面技術方案所述的內(nèi)存數(shù)據(jù)管理系統(tǒng)的指令。
24、本發(fā)明具有如下有益效果:
25、本發(fā)明提供的內(nèi)存數(shù)據(jù)管理系統(tǒng),目的在與通過各模塊的協(xié)同配合實現(xiàn)內(nèi)存資源的高效利用以及資源數(shù)據(jù)的快速存儲、檢索;其中,第二內(nèi)存存儲模塊利用動態(tài)內(nèi)存分配方法構建鏈表式哈希表,面對資源數(shù)據(jù)量臨時增多或者數(shù)組式哈希表出現(xiàn)哈希沖突時,可靈活選擇地插入新的動態(tài)內(nèi)存結構體形成鏈表節(jié)點來存儲數(shù)據(jù),避免了因數(shù)據(jù)量突增或沖突導致的數(shù)據(jù)存儲難題,充分利用動態(tài)內(nèi)存分配的靈活性,保障資源數(shù)據(jù)能持續(xù)且快速地被存儲;另一方面,第一內(nèi)存存儲模塊采用靜態(tài)內(nèi)存分配方法構建數(shù)組式哈希表,憑借靜態(tài)內(nèi)存連續(xù)分配的特性,提高緩存命中率,對于長度符合要求的資源數(shù)據(jù)可直接依據(jù)哈希計算的索引快速存儲到對應位置,實現(xiàn)快速存儲。在檢索方面,先基于哈希算法獲取索引后,優(yōu)先在第一內(nèi)存存儲模塊的數(shù)組式哈希表中查找,若不存在再通過第二內(nèi)存存儲模塊的鏈表式哈希表遍歷檢索,提升了檢索效率。第一計數(shù)模塊對靜態(tài)內(nèi)存數(shù)據(jù)中元素數(shù)量進行統(tǒng)計,而第二計數(shù)模塊對動態(tài)內(nèi)存分配的動態(tài)內(nèi)存結構體數(shù)量進行提取,能實時反饋內(nèi)存使用情況,便于系統(tǒng)根據(jù)實際占用合理調(diào)配內(nèi)存資源,避免內(nèi)存資源的浪費,進而實現(xiàn)內(nèi)存資源的高效利用,整體確保了整個系統(tǒng)在資源數(shù)據(jù)的存儲與檢索上兼具高效性與可靠性。
1.內(nèi)存數(shù)據(jù)管理系統(tǒng),其特征在于,所述系統(tǒng)包括:
2.如權利要求1所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),其特征在于,所述第二內(nèi)存存儲模塊包括二級指針數(shù)組以及第一數(shù)據(jù)結構體,所述二級指針數(shù)組的指針指向動態(tài)分配內(nèi)存構建的第一數(shù)據(jù)結構體。
3.如權利要求2所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),其特征在于,所述第二內(nèi)存存儲模塊用于當數(shù)組式哈希表哈希沖突時,基于目標索引位置并利用鏈表式哈希表對目標索引位置進行哈希沖突處理。
4.如權利要求3所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),其特征在于,基于目標索引位置并利用鏈表式哈希表對目標索引位置進行哈希沖突處理包括:若目標索引位置與鏈表式哈希表中無哈希沖突,則插入新的第一數(shù)據(jù)結構體作為哈希節(jié)點存儲資源數(shù)據(jù),并使二級指針數(shù)組的指針指向該哈希節(jié)點;若目標索引位置與鏈表式哈希表目標索引存在哈希沖突,則將新的第一數(shù)據(jù)結構體插入鏈表式哈希表的哈希表頭處。
5.如權利要求1至4任一項所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),其特征在于,所述第一內(nèi)存存儲模塊包括靜態(tài)內(nèi)存數(shù)組以及第二數(shù)據(jù)結構體,所述靜態(tài)內(nèi)存數(shù)組通過靜態(tài)內(nèi)存分配方法分配連續(xù)內(nèi)存空間,所述第二數(shù)據(jù)結構體內(nèi)設有預設長度數(shù)據(jù)存儲區(qū)域。
6.如權利要求5所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),其特征在于,所述第一內(nèi)存存儲模塊用于當待存儲資源數(shù)據(jù)的長度不超過第二數(shù)據(jù)結構體內(nèi)預設長度數(shù)據(jù)存儲區(qū)域時,對目標索引位置進行哈希沖突處理;若目標索引位置不存在哈希沖突,則將資源數(shù)據(jù)存儲至第二數(shù)據(jù)結構體;若存在哈希沖突,則利用第二內(nèi)存存儲模塊處理哈希沖突。
7.資源數(shù)據(jù)存儲方法,其特征在于,包括權利要求1至6任一項所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),所述方法包括:
8.資源數(shù)據(jù)檢索方法,其特征在于,包括權利要求1至6任一項所述的內(nèi)存數(shù)據(jù)管理系統(tǒng),所述方法包括:
9.一種電子設備,其特征在于,所述電子設備包括:處理器以及與所述處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述處理器執(zhí)行的指令,所述指令被所述處理器執(zhí)行,以使所述處理器能夠執(zhí)行權利要求1至6任一項所述的內(nèi)存數(shù)據(jù)管理系統(tǒng)的指令。
10.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)上存儲有實現(xiàn)內(nèi)存數(shù)據(jù)管理系統(tǒng)的程序,所述實現(xiàn)內(nèi)存數(shù)據(jù)管理系統(tǒng)的程序被處理器執(zhí)行以實現(xiàn)權利要求1至6任一項所述的內(nèi)存數(shù)據(jù)管理系統(tǒng)的指令。