一種基于共享內(nèi)存池的通用數(shù)據(jù)存儲(chǔ)方法

基本信息

申請(qǐng)?zhí)?/td> CN202010051558.8 申請(qǐng)日 -
公開(公告)號(hào) CN113138859A 公開(公告)日 2021-07-20
申請(qǐng)公布號(hào) CN113138859A 申請(qǐng)公布日 2021-07-20
分類號(hào) G06F9/54;G06F3/06;G06F16/22 分類 計(jì)算;推算;計(jì)數(shù);
發(fā)明人 杜潛;秦樹睿;李美貴;趙興文 申請(qǐng)(專利權(quán))人 北京中軟萬維網(wǎng)絡(luò)技術(shù)有限公司
代理機(jī)構(gòu) 北京君尚知識(shí)產(chǎn)權(quán)代理有限公司 代理人 司立彬
地址 102200 北京市昌平區(qū)昌盛路18號(hào)
法律狀態(tài) -

摘要

摘要 本發(fā)明公開了一種基于共享內(nèi)存池的通用數(shù)據(jù)存儲(chǔ)方法,其步驟包括:1)為目標(biāo)應(yīng)用申請(qǐng)一塊共享內(nèi)存,根據(jù)該目標(biāo)應(yīng)用要存儲(chǔ)內(nèi)容類別的不同將該共享內(nèi)存分為m個(gè)內(nèi)存塊;每一個(gè)內(nèi)存塊的頭部存儲(chǔ)該內(nèi)存塊的管理者結(jié)構(gòu),內(nèi)存塊剩余空間分為n個(gè)內(nèi)存單元,在每一內(nèi)存塊中構(gòu)建一個(gè)共享內(nèi)存池;2)在每一內(nèi)存塊里構(gòu)建兩個(gè)雙向循環(huán)鏈表,即空閑鏈表和繁忙鏈表;3)當(dāng)該目標(biāo)應(yīng)用每次存儲(chǔ)數(shù)據(jù)時(shí),調(diào)用一次存儲(chǔ)接口;在存儲(chǔ)接口內(nèi)根據(jù)待存儲(chǔ)數(shù)據(jù)大小從該共享內(nèi)存中進(jìn)行若干次內(nèi)存單元申請(qǐng)直至本次數(shù)據(jù)存儲(chǔ)完成,并將本次申請(qǐng)到的內(nèi)存單元形成單鏈表,將單鏈表中的節(jié)點(diǎn)通過子索引串聯(lián)起來,單鏈表頭節(jié)點(diǎn)由繁忙鏈表管理。本發(fā)明可以減少數(shù)據(jù)存儲(chǔ)空間浪費(fèi)。