[發(fā)明專利]基于時序聚合算法的海量小文件實時存儲方法及裝置有效
| 申請?zhí)枺?/td> | 201611104325.X | 申請日: | 2016-12-05 |
| 公開(公告)號: | CN106776967B | 公開(公告)日: | 2020-03-27 |
| 發(fā)明(設(shè)計)人: | 朱東杰;張凱;趙奇隆;杜海文;曲榮寧;顧天凱;逄志弘;毛尉茜;李亞;彭暄 | 申請(專利權(quán))人: | 哈爾濱工業(yè)大學(xué)(威海);威海翰寶網(wǎng)絡(luò)科技有限公司 |
| 主分類號: | G06F16/182 | 分類號: | G06F16/182;G06F16/172;G06F16/13 |
| 代理公司: | 北京怡豐知識產(chǎn)權(quán)代理有限公司 11293 | 代理人: | 孫小棟;于振強 |
| 地址: | 264209*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 時序 聚合 算法 海量 文件 實時 存儲 方法 裝置 | ||
1.一種基于時序聚合算法的海量小文件實時存儲方法,其特征是包括以下步驟:
(1)使用分布式系統(tǒng)進行數(shù)據(jù)的時序處理,在代理節(jié)點中,根據(jù)文件的時間先后順序進行文件對象邏輯上的排序,在存儲節(jié)點中進行文件的物理排序,形成時序數(shù)據(jù)隊列;
(2)將時序數(shù)據(jù)隊列進行邏輯分配到相應(yīng)聚合空間;
(3)在存儲節(jié)點中進行相應(yīng)聚合空間到物理存儲分區(qū)的邏輯分配;
(4)指定分區(qū)的聚合空間數(shù)據(jù)在對應(yīng)存儲節(jié)點進行存儲操作;
所述海量小文件實時存儲方法的具體步驟包括:
(1)在代理節(jié)點中,根據(jù)文件的時間先后順序進行文件對象邏輯上的排序,在存儲節(jié)點中進行文件的物理排序,形成時序數(shù)據(jù)隊列;
(2)在代理節(jié)點中,進行已邏輯排序的小文件到合并文件的邏輯聚合處理,并得到合并文件名作為該聚合空間的唯一標(biāo)識,合并文件名由代理節(jié)點中系統(tǒng)當(dāng)前時間使用MD5加密算法生成;
(3)代理節(jié)點進行小文件對象的語義標(biāo)注,語義標(biāo)注由合并文件名、聚合空間狀態(tài)標(biāo)記和合并文件中小文件順序的偏移量組成;
(4)系統(tǒng)代理節(jié)點根據(jù)一致性哈希算法生成映射信息,映射信息由小文件名、合并文件名、生成時間、物理設(shè)備編號、物理分區(qū)編號組成;代理節(jié)點將映射信息存儲到映射信息數(shù)據(jù)庫中;
(5)代理節(jié)點將標(biāo)注過的小文件名的存儲請求轉(zhuǎn)發(fā)到存儲節(jié)點,由存儲節(jié)點完成數(shù)據(jù)物理聚合存儲操作;
(6)在存儲節(jié)點中,根據(jù)合并文件名生成文件隊列,合并文件名作為隊列的唯一標(biāo)識,根據(jù)小文件名中的語義標(biāo)注分配到相應(yīng)隊列,標(biāo)注中的合并文件名是文件分配指定隊列的依據(jù),當(dāng)小文件的標(biāo)注中狀態(tài)標(biāo)記為初始狀態(tài)時,將物理數(shù)據(jù)層海量小文件信息加入隊列,同時寫入磁盤;當(dāng)標(biāo)注中狀態(tài)標(biāo)記為維持狀態(tài)時,隊列不發(fā)生變化;當(dāng)標(biāo)記為釋放狀態(tài)時,將文件加入隊列后把隊列內(nèi)容批量寫入磁盤并重置隊列狀態(tài)信息。
2.根據(jù)權(quán)利要求1所述的基于時序聚合算法的海量小文件實時存儲方法,其特征在于,讀取已經(jīng)完成存儲操作的小文件的過程包括以下步驟:
步驟S601,開始;
步驟S602,輸入需要讀取的文件名objName,設(shè)置文件大小閾值K;
步驟S603,判斷objName文件的大小是否大于K,如果大于K,進入步驟S612,否則進入步驟S604;
步驟S604,通過查詢數(shù)據(jù)映射信息,找到合并文件名MobjName,得到一級索引;
步驟S605,通過BoomFilter過濾,如果過濾成功,進入步驟S606,否則進入步驟S609;
步驟S606,根據(jù)MobjName和objName找到二級索引;
步驟S607,根據(jù)所得到的二級索引讀取文件;
步驟S608,結(jié)束;
步驟S609,判斷文件是否在內(nèi)存中,如果在內(nèi)存中,則進入步驟S610,否則進入步驟S611;
步驟S610,從內(nèi)存中讀取文件,進入步驟S611;
步驟S611,返回未查找到的錯誤信息,進入步驟S608;
步驟S612,直接讀取文件,進入步驟S608。
3.一種基于時序聚合算法的海量小文件實時存儲裝置,其特征是,包括:
數(shù)據(jù)預(yù)處理模塊,被配置為,使用分布式系統(tǒng)進行數(shù)據(jù)的時序處理,在代理節(jié)點中,根據(jù)文件的時間先后順序進行文件對象邏輯上的排序,在存儲節(jié)點中進行文件的物理排序,形成時序數(shù)據(jù)隊列;
數(shù)據(jù)邏輯聚合模塊,被配置為,對時序數(shù)據(jù)隊列到相應(yīng)聚合空間的邏輯分配;
數(shù)據(jù)物理映射模塊,被配置為,在存儲節(jié)點中進行相應(yīng)聚合空間到物理存儲分區(qū)的邏輯分配;
數(shù)據(jù)物理聚合模塊,被配置為,指定分區(qū)的聚合空間數(shù)據(jù)在對應(yīng)存儲節(jié)點進行存儲操作;
所述數(shù)據(jù)邏輯聚合模塊被配置為:
在代理節(jié)點中,進行已邏輯排序的小文件到合并文件的邏輯聚合處理,并得到合并文件名作為該聚合空間的唯一標(biāo)識,合并文件名由代理節(jié)點中系統(tǒng)當(dāng)前時間使用MD5加密算法生成;
代理節(jié)點進行小文件對象的語義標(biāo)注,語義標(biāo)注由合并文件名、聚合空間狀態(tài)標(biāo)記和合并文件中小文件順序的偏移量組成;
所述數(shù)據(jù)物理映射模塊,被配置為:
代理節(jié)點根據(jù)一致性哈希算法生成映射信息,映射信息由小文件名、合并文件名、生成時間、物理設(shè)備編號、物理分區(qū)編號組成;代理節(jié)點將映射信息存儲到映射信息數(shù)據(jù)庫中;
代理節(jié)點將標(biāo)注過的小文件名的存儲請求轉(zhuǎn)發(fā)到存儲節(jié)點,由存儲節(jié)點完成數(shù)據(jù)物理聚合存儲操作;
所述數(shù)據(jù)物理聚合模塊,被配置為:
在存儲節(jié)點中,根據(jù)合并文件名生成文件隊列,合并文件名作為隊列的唯一標(biāo)識,根據(jù)小文件名中的語義標(biāo)注分配到相應(yīng)隊列,標(biāo)注中的合并文件名是文件分配指定隊列的依據(jù);
當(dāng)小文件的標(biāo)注中狀態(tài)標(biāo)記為初始狀態(tài)時,將物理數(shù)據(jù)層海量小文件信息加入隊列,同時寫入磁盤;
當(dāng)標(biāo)注中狀態(tài)標(biāo)記為維持狀態(tài)時,隊列不發(fā)生變化;
當(dāng)標(biāo)記為釋放狀態(tài)時,將文件加入隊列后把隊列內(nèi)容批量寫入磁盤并重置隊列狀態(tài)信息,同時進行新隊列的生成以及數(shù)據(jù)的重新分配操作。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于哈爾濱工業(yè)大學(xué)(威海);威海翰寶網(wǎng)絡(luò)科技有限公司,未經(jīng)哈爾濱工業(yè)大學(xué)(威海);威海翰寶網(wǎng)絡(luò)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611104325.X/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





