两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法

文檔序號(hào):8322368閱讀:281來(lái)源:國(guó)知局
一種以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及服務(wù)器數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,特別涉及一種以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]這是一個(gè)數(shù)據(jù)爆炸的時(shí)代,2013年,僅云存儲(chǔ)提供商就已經(jīng)交付了超過(guò)百億億字節(jié)的數(shù)據(jù),這也預(yù)示著全新的存儲(chǔ)時(shí)代到來(lái),而且傳統(tǒng)存儲(chǔ)企業(yè)的業(yè)務(wù)模型也發(fā)生了巨大變革。
[0003]在各種應(yīng)用系統(tǒng)的存儲(chǔ)設(shè)備上,信息正以數(shù)據(jù)存儲(chǔ)的方式高速增長(zhǎng)著,不斷推進(jìn)著全球信息化的進(jìn)程。隨之而來(lái)的是海量信息存儲(chǔ)的需求不斷增加。雖然文件服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器的存儲(chǔ)容量在不斷擴(kuò)充,可還是會(huì)碰到空間雖在成倍增長(zhǎng),用戶仍會(huì)抱怨容量不足的情況,也正是用戶對(duì)存儲(chǔ)空間需求的不斷增加,推動(dòng)海量信息存儲(chǔ)技術(shù)的不斷變化。
[0004]收集和存儲(chǔ)大型數(shù)據(jù)集對(duì)于任何規(guī)模的企業(yè)都讓人生畏,而且訪問(wèn)、組織和分析非結(jié)構(gòu)化數(shù)據(jù)給企業(yè)造成了大量新的挑戰(zhàn)。對(duì)象存儲(chǔ)可以通過(guò)讓企業(yè)整合元數(shù)據(jù)到其非結(jié)構(gòu)化數(shù)據(jù)中消除代價(jià)昂貴的步驟。目前處理海量數(shù)據(jù)存儲(chǔ)的主要方式即為線性擴(kuò)展的對(duì)象存儲(chǔ),主要也是因?yàn)槠涓吡6忍幚碓獢?shù)據(jù)的能力。
[0005]當(dāng)前幾乎所有的對(duì)象存儲(chǔ)集群軟件廠商都對(duì)外提供了訪問(wèn)集群的接口,但大都是容器之下即為對(duì)象的二級(jí)存儲(chǔ)模式,傳統(tǒng)用戶都比較習(xí)慣于使用文件系統(tǒng),過(guò)度到對(duì)象存儲(chǔ)上之后,對(duì)原生的兩極訪問(wèn)模式不習(xí)慣,數(shù)據(jù)靈活性不高。所以在對(duì)象存儲(chǔ)的基礎(chǔ)上模擬文件系統(tǒng)的應(yīng)用方式成為一個(gè)亮點(diǎn)。
[0006]為了解決用戶對(duì)現(xiàn)有技術(shù)原生的兩極訪問(wèn)模式不習(xí)慣,以及數(shù)據(jù)靈活性不高等問(wèn)題,本發(fā)明提出了一種以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法。

【發(fā)明內(nèi)容】

[0007]本發(fā)明為了彌補(bǔ)現(xiàn)有技術(shù)的缺陷,提供了一種簡(jiǎn)單有效的以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法。
[0008]本發(fā)明是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:
一種以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,其特征在于:通過(guò)Iinux提供的fuse框架建立用戶態(tài)自定義文件系統(tǒng),所述用戶態(tài)自定義文件系統(tǒng)包括Fuse框架模塊,API調(diào)用模塊,緩存構(gòu)建模塊,在文件操作函數(shù)中調(diào)用REST API與對(duì)象存儲(chǔ)集群進(jìn)行交互訪問(wèn),在內(nèi)存中保存文件系統(tǒng)的相關(guān)元數(shù)據(jù)。
[0009]所述Fuse框架模塊包括Fuse內(nèi)核模塊,Iibfuse連接庫(kù)和用戶自定義開(kāi)發(fā)模塊,所述Fuse框架模塊處理在掛載目錄下操作鎖產(chǎn)生的系統(tǒng)調(diào)用,并將處理結(jié)果返回給用戶。
[0010]所述API調(diào)用模塊內(nèi)部封裝實(shí)現(xiàn)S3協(xié)議的API,其實(shí)現(xiàn)了客戶端文件系統(tǒng)與對(duì)象存儲(chǔ)集群的通信過(guò)程,所述通信過(guò)程基于Http協(xié)議,依賴性小,易于部署。
[0011]所述緩存構(gòu)建模塊負(fù)責(zé)維護(hù)文件系統(tǒng)的緩存信息,集群不記載該緩存信息,每次掛載都是實(shí)時(shí)查詢,實(shí)時(shí)構(gòu)建,實(shí)時(shí)緩存。雖然降低了實(shí)時(shí)性,但是也降低了數(shù)據(jù)維護(hù)的復(fù)雜性,提尚擴(kuò)展性。
[0012]所述相關(guān)元數(shù)據(jù)包括Inode樹(shù),Dentry樹(shù)和superblock,所述緩存信息包括Inode, Dentry, Superblock 的緩存信息。
[0013]所述用戶態(tài)自定義文件系統(tǒng)掛載時(shí)根據(jù)對(duì)象存儲(chǔ)集群提供的用戶ID和秘鑰可以對(duì)某個(gè)bucket進(jìn)行掛載;該bucket屬于該用戶時(shí),可以在掛載目錄下進(jìn)行所有操作,該bucket不屬于該用戶時(shí),根據(jù)該用戶對(duì)該bucket的權(quán)限進(jìn)行權(quán)限校驗(yàn);系統(tǒng)用戶可以對(duì)整個(gè)集群進(jìn)行掛載,可以操作所有bucket。
[0014]本發(fā)明的有益效果是:該以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,在對(duì)象存儲(chǔ)集群的訪問(wèn)過(guò)程中,取代用戶使用集群提供的接口進(jìn)行二次開(kāi)發(fā)訪問(wèn)的方式,使用戶可以使用完全相同于文件系統(tǒng)操作的方式,更加方便地對(duì)集群進(jìn)行存入和讀取,用戶還可以進(jìn)行權(quán)限校驗(yàn)。
【附圖說(shuō)明】
[0015]附圖1為本發(fā)明中海量存儲(chǔ)整體系統(tǒng)工作原理示意圖。
【具體實(shí)施方式】
[0016]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0017]該以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,通過(guò)Iinux提供的fuse框架建立用戶態(tài)自定義文件系統(tǒng),所述用戶態(tài)自定義文件系統(tǒng)包括Fuse框架模塊,API調(diào)用模塊,緩存構(gòu)建模塊,在文件操作函數(shù)中調(diào)用REST API與對(duì)象存儲(chǔ)集群進(jìn)行交互訪問(wèn),在內(nèi)存中保存文件系統(tǒng)的相關(guān)元數(shù)據(jù)。
[0018]所述Fuse框架模塊包括Fuse內(nèi)核模塊,Iibfuse連接庫(kù)和用戶自定義開(kāi)發(fā)模塊,所述Fuse框架模塊處理在掛載目錄下操作鎖產(chǎn)生的系統(tǒng)調(diào)用,并將處理結(jié)果返回給用戶。
[0019]所述API調(diào)用模塊內(nèi)部封裝實(shí)現(xiàn)S3協(xié)議的API,其實(shí)現(xiàn)了客戶端文件系統(tǒng)與對(duì)象存儲(chǔ)集群的通信過(guò)程,所述通信過(guò)程基于Http協(xié)議,依賴性小,易于部署。
[0020]所述緩存構(gòu)建模塊負(fù)責(zé)維護(hù)文件系統(tǒng)的緩存信息,集群不記載該緩存信息,每次掛載都是實(shí)時(shí)查詢,實(shí)時(shí)構(gòu)建,實(shí)時(shí)緩存。雖然降低了實(shí)時(shí)性,但是也降低了數(shù)據(jù)維護(hù)的復(fù)雜性,提尚擴(kuò)展性。
[0021]所述相關(guān)元數(shù)據(jù)包括Inode樹(shù),Dentry樹(shù)和superblock,所述緩存信息包括Inode, Dentry, Superblock 的緩存信息。
[0022]所述用戶態(tài)自定義文件系統(tǒng)掛載時(shí)根據(jù)對(duì)象存儲(chǔ)集群提供的用戶ID和秘鑰可以對(duì)某個(gè)bucket進(jìn)行掛載;該bucket屬于該用戶時(shí),可以在掛載目錄下進(jìn)行所有操作,該bucket不屬于該用戶時(shí),根據(jù)該用戶對(duì)該bucket的權(quán)限進(jìn)行權(quán)限校驗(yàn);系統(tǒng)用戶可以對(duì)整個(gè)集群進(jìn)行掛載,可以操作所有bucket。
[0023]本發(fā)明提出一種以文件系統(tǒng)掛載的方式訪問(wèn)集群的客戶端的實(shí)現(xiàn)方法。文件系統(tǒng)用戶接口簇的內(nèi)部實(shí)現(xiàn)調(diào)用封裝好的REST API來(lái)實(shí)現(xiàn),底層基于Http協(xié)議,易部署。普通用戶掛載空間為bucket,系統(tǒng)用戶掛載空間為所有bucket。目錄層級(jí)通過(guò)bucket的過(guò)濾對(duì)象前綴來(lái)實(shí)現(xiàn)。并且提供針對(duì)用戶的bucket和object粒度的權(quán)限校驗(yàn)。
【主權(quán)項(xiàng)】
1.一種以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,其特征在于:通過(guò)Iinux提供的fuse框架建立用戶態(tài)自定義文件系統(tǒng),所述用戶態(tài)自定義文件系統(tǒng)包括Fuse框架模塊,API調(diào)用模塊,緩存構(gòu)建模塊,在文件操作函數(shù)中調(diào)用REST API與對(duì)象存儲(chǔ)集群進(jìn)行交互訪問(wèn),在內(nèi)存中保存文件系統(tǒng)的相關(guān)元數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,其特征在于:所述所述Fuse框架模塊包括Fuse內(nèi)核模塊,Iibfuse連接庫(kù)和用戶自定義開(kāi)發(fā)模塊,所述Fuse框架模塊處理在掛載目錄下操作鎖產(chǎn)生的系統(tǒng)調(diào)用,并將處理結(jié)果返回給用戶。
3.根據(jù)權(quán)利要求1所述的以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,其特征在于:所述API調(diào)用模塊內(nèi)部封裝實(shí)現(xiàn)S3協(xié)議的API,其實(shí)現(xiàn)了客戶端文件系統(tǒng)與對(duì)象存儲(chǔ)集群的通信過(guò)程,所述通信過(guò)程基于Http協(xié)議。
4.根據(jù)權(quán)利要求1所述的以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,其特征在于:所述緩存構(gòu)建模塊負(fù)責(zé)維護(hù)文件系統(tǒng)的緩存信息,集群不記載該緩存信息,每次掛載都是實(shí)時(shí)查詢,實(shí)時(shí)構(gòu)建,實(shí)時(shí)緩存。
5.根據(jù)權(quán)利要求1或4所述的以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,其特征在于:所述相關(guān)元數(shù)據(jù)包括Inode樹(shù),Dentry樹(shù)和superblock,所述緩存信息包括Inode,Dentry,Superblock的緩存信息。
6.根據(jù)權(quán)利要求1所述的以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,其特征在于:所述用戶態(tài)自定義文件系統(tǒng)掛載時(shí)根據(jù)對(duì)象存儲(chǔ)集群提供的用戶ID和秘鑰可以對(duì)某個(gè)bucket進(jìn)行掛載;該bucket屬于該用戶時(shí),可以在掛載目錄下進(jìn)行所有操作,該bucket不屬于該用戶時(shí),根據(jù)該用戶對(duì)該bucket的權(quán)限進(jìn)行權(quán)限校驗(yàn);系統(tǒng)用戶可以對(duì)整個(gè)集群進(jìn)行掛載,可以操作所有bucket。
【專利摘要】本發(fā)明特別涉及一種以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法。該以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,通過(guò)linux提供的fuse框架建立用戶態(tài)自定義文件系統(tǒng),所述用戶態(tài)自定義文件系統(tǒng)包括Fuse框架模塊,API調(diào)用模塊,緩存構(gòu)建模塊,在文件操作函數(shù)中調(diào)用REST API與對(duì)象存儲(chǔ)集群進(jìn)行交互訪問(wèn),在內(nèi)存中保存文件系統(tǒng)的相關(guān)元數(shù)據(jù)。該以文件系統(tǒng)掛載訪問(wèn)對(duì)象存儲(chǔ)的實(shí)現(xiàn)方法,在對(duì)象存儲(chǔ)集群的訪問(wèn)過(guò)程中,取代用戶使用集群提供的接口進(jìn)行二次開(kāi)發(fā)訪問(wèn)的方式,使用戶可以使用完全相同于文件系統(tǒng)操作的方式,更加方便地對(duì)集群進(jìn)行存入和讀取,用戶還可以進(jìn)行權(quán)限校驗(yàn)。
【IPC分類】H04L29-08
【公開(kāi)號(hào)】CN104639658
【申請(qǐng)?zhí)枴緾N201510108165
【發(fā)明人】李 杰
【申請(qǐng)人】浪潮集團(tuán)有限公司
【公開(kāi)日】2015年5月20日
【申請(qǐng)日】2015年3月12日
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
盱眙县| 孝义市| 聂荣县| 年辖:市辖区| 青铜峡市| 永泰县| 钦州市| 广州市| 耒阳市| 酒泉市| 洛阳市| 江达县| 深水埗区| 梅州市| 紫云| 呼玛县| 古蔺县| 大丰市| 航空| 于都县| 永寿县| 宁海县| 张家港市| 临城县| 昆明市| 长海县| 马尔康县| 建昌县| 都昌县| 平阴县| 沂水县| 康乐县| 察哈| 肃宁县| 墨江| 旅游| 综艺| 新密市| 英山县| 宝丰县| 郎溪县|