[發(fā)明專利]基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng)及方法在審
| 申請(qǐng)?zhí)枺?/td> | 202011573535.X | 申請(qǐng)日: | 2020-12-28 |
| 公開(公告)號(hào): | CN112486943A | 公開(公告)日: | 2021-03-12 |
| 發(fā)明(設(shè)計(jì))人: | 郭昆;林曉暉;郭文忠;許玲玲 | 申請(qǐng)(專利權(quán))人: | 福州大學(xué) |
| 主分類號(hào): | G06F16/182 | 分類號(hào): | G06F16/182;G06F16/172;G06F16/16;G06F16/13 |
| 代理公司: | 福州元?jiǎng)?chuàng)專利商標(biāo)代理有限公司 35100 | 代理人: | 陳明鑫;蔡學(xué)俊 |
| 地址: | 350108 福建省福州市*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 fastdfs redis 分布式 文件 存儲(chǔ)系統(tǒng) 方法 | ||
1.一種基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng),其特征在于,包括數(shù)據(jù)庫(kù)和中間件;所述中間件包括存儲(chǔ)模塊、查詢模塊和刪除模塊;所述存儲(chǔ)模塊利用FastDFS集群實(shí)現(xiàn)海量文件數(shù)據(jù)的分布式存儲(chǔ);所述查詢模塊利用Redis集群實(shí)現(xiàn)基于分布式緩存的高性能文件查詢;所述刪除模塊提供分布式文件的刪除功能。
2.根據(jù)權(quán)利要求1所述的基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng),其特征在于,所述存儲(chǔ)模塊包括文件上傳組件,緩存壓縮組件和緩存替換組件。
3.根據(jù)權(quán)利要求2所述的基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng)的文件上傳方法,其特征在于,包括以下步驟:
步驟1:根據(jù)指定路徑獲取文件內(nèi)容和文件元數(shù)據(jù)信息,將文件上傳到FastDFS;
步驟2:判讀文件是否上傳成功,若失敗則拋出異常,結(jié)束;
步驟3:將上傳成功后返回的FileID與元數(shù)據(jù)寫入Redis;
步驟4:判斷Redis寫數(shù)據(jù)是否成功,若成功,則文件上傳成功;
步驟5:判斷寫Redis次數(shù)是否小于系統(tǒng)默認(rèn)設(shè)置值,若小于轉(zhuǎn)步驟3;
步驟6:從FastDFS中刪除文件,并返回上傳失敗。
4.根據(jù)權(quán)利要求3所述的基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng)的文件上傳方法,其特征在于,所述文件的元數(shù)據(jù)存儲(chǔ)具體為:將元數(shù)據(jù)中的所有者、文件名、文件類形三個(gè)字段拼接而成的字符串設(shè)置為鍵,剩余的字段加上FileID拼接而成的字符串作為鍵對(duì)應(yīng)的值,以鍵-值的形式寫入Redis。
5.根據(jù)權(quán)利要求2所述的基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng),其特征在于,所述緩存壓縮組件,將待緩存文件使用Base64編碼,對(duì)編碼后的文件使用Gzip算法壓縮,最后將編碼壓縮后的文件寫入Redis。
6.根據(jù)權(quán)利要求2所述的基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng)的緩存替換方法,其特征在于,包括以下步驟:
步驟1:使用一個(gè)歷史隊(duì)列記錄文件的使用次數(shù);
步驟2:將文件索引寫入歷史訪問隊(duì)列,若該文件的索引已經(jīng)存在,則對(duì)該記錄的使用次數(shù)加1;若不存在,則將該文件索引寫入訪問隊(duì)列中,并設(shè)置使用次數(shù)為1;
步驟3:當(dāng)文件使用次數(shù)達(dá)到k次時(shí),將編碼壓縮后的文件寫入Redis緩存中;
步驟4:判斷緩存容量是否小于系統(tǒng)預(yù)設(shè)的閾值,若是,轉(zhuǎn)步驟6;
步驟5:按照文件使用頻率高低,進(jìn)行緩存的淘汰選擇;
步驟6:將編碼壓縮后的文件數(shù)據(jù)寫入Redis。
7.根據(jù)權(quán)利要求6所述的基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng)的緩存替換方法,其特征在于,所述文件使用頻率計(jì)算公式如下:
其中表示文件使用頻率,表示周期,表示該周期內(nèi)文件的使用次數(shù),表示上個(gè)周期的文件使用頻率,表示周期個(gè)數(shù)。
8.根據(jù)權(quán)利要求1所述的基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng),其特征在于,所述查詢模塊根據(jù)查詢條件,先查詢Redis,若Redis中存在該文件的緩存,則返回經(jīng)Gzip算法解壓和Base64解碼后的文件;否則,利用FileID查詢FastDFS獲取文件,更新記錄的查詢次數(shù),判斷是否符合緩存替換算法的執(zhí)行條件。
9.根據(jù)權(quán)利要求1所述的基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng)的刪除方法,其特征在于,包括以下步驟:
步驟1:根據(jù)刪除條件查詢Redis,獲取文件的FileID;
步驟2:判斷Redis中是否存在文件的緩存,存在則轉(zhuǎn)步驟6;
步驟3:根據(jù)FileID,刪除FastDFS上保存的文件;
步驟4:判斷文件刪除是否成功,成功則結(jié)束;
步驟5:判斷嘗試刪除次數(shù)是否小于系統(tǒng)預(yù)設(shè)的閾值,是則刪除次數(shù)加一,轉(zhuǎn)步驟3;否則結(jié)束;
步驟6:拷貝文件作為副本;
步驟7:執(zhí)行同時(shí)刪除的操作,分別刪除Redis上的緩存和FastDFS上的文件;
步驟8:判斷是否同時(shí)刪除成功,是則刪除成功,結(jié)束;
步驟9:判斷嘗試刪除次數(shù)是否小于系統(tǒng)預(yù)設(shè)的閾值,是則刪除次數(shù)加一,轉(zhuǎn)步驟7;
步驟10:回滾刪除操作,將預(yù)先保存的副本重新寫入中間件中,結(jié)束。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于福州大學(xué),未經(jīng)福州大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011573535.X/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種秸稈粉碎裝置
- 下一篇:一種可控水質(zhì)飲水機(jī)
- 一種分布式文件系統(tǒng)管理方法及裝置
- 一種用于公安交管稽查布控系統(tǒng)的雙數(shù)據(jù)中心容災(zāi)系統(tǒng)
- 分布式文件系統(tǒng)
- 分布式文件存儲(chǔ)方法及系統(tǒng)
- 海量文件管理方法、裝置、計(jì)算機(jī)設(shè)備和可讀存儲(chǔ)介質(zhì)
- 基于IPFS的分布式實(shí)時(shí)數(shù)據(jù)同步方法、節(jié)點(diǎn)設(shè)備及系統(tǒng)
- 基于FastDFS+Redis的分布式文件存儲(chǔ)系統(tǒng)及方法
- 一種基于分布式存儲(chǔ)的爬蟲爬取數(shù)據(jù)統(tǒng)計(jì)方法及系統(tǒng)
- 基于Fastdfs及CA的快速解密文件的方法及系統(tǒng)
- 一種分布式文件系統(tǒng)的可用性增強(qiáng)方法及系統(tǒng)
- Redis的主從切換方法、裝置及redis系統(tǒng)
- 一種redis管理虛擬IP地址的方法、裝置及redis系統(tǒng)
- 一種Redis集群容量調(diào)整的方法、裝置及存儲(chǔ)介質(zhì)
- 一種保障redis集群可用性的方法
- 一種Redis集群的高可用方法及裝置
- 一種redis節(jié)點(diǎn)主從切換方法及裝置
- 一種大數(shù)據(jù)場(chǎng)景下消息處理的方法及終端
- Redis集群處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種應(yīng)用于Redis客戶端的查詢請(qǐng)求過濾方法及Redis客戶端
- Redis緩存刷新方法及裝置





