本發(fā)明涉及文件系統(tǒng)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)交互方法、平臺及分布式文件系統(tǒng)。
背景技術(shù):
在信息爆炸時(shí)代中,人們可以獲取的數(shù)據(jù)成指數(shù)倍增長。單純通過增加硬盤個(gè)數(shù)來擴(kuò)展計(jì)算機(jī)文件系統(tǒng)的存儲容量的方式,在容量大小、容量增長速度、數(shù)據(jù)備份、數(shù)據(jù)安全等方面的表現(xiàn)都無法適應(yīng)當(dāng)前的實(shí)際需要。分布式文件系統(tǒng)可以有效解決數(shù)據(jù)的存儲和管理難題,它能夠?qū)⒐潭ㄓ谀硞€(gè)地點(diǎn)的某個(gè)文件系統(tǒng),擴(kuò)展到任意多個(gè)地點(diǎn)/多個(gè)文件系統(tǒng),眾多的節(jié)點(diǎn)組成一個(gè)文件系統(tǒng)網(wǎng)絡(luò)。每個(gè)節(jié)點(diǎn)可以分布在不同的地點(diǎn),通過網(wǎng)絡(luò)進(jìn)行節(jié)點(diǎn)間的通信和數(shù)據(jù)傳輸。人們在使用分布式文件系統(tǒng)時(shí),無需關(guān)心數(shù)據(jù)是存儲在哪個(gè)節(jié)點(diǎn)上、或者是從哪個(gè)節(jié)點(diǎn)從獲取的,只需要像使用本地文件系統(tǒng)一樣管理和存儲文件系統(tǒng)中的數(shù)據(jù)。
CIFS(Common Internet File System)是一個(gè)新提出的協(xié)議,它使程序可以訪問遠(yuǎn)程Internet計(jì)算機(jī)上的文件并要求該計(jì)算機(jī)提供服務(wù)。CIFS使用客戶端/服務(wù)器模式。客戶程序請求遠(yuǎn)在服務(wù)器上的服務(wù)器程序?yàn)樗峁┓?wù)。服務(wù)器獲得請求并返回響應(yīng)。
目前分布式文件系統(tǒng)使用CIFS協(xié)議的方式是將CIFS協(xié)議放在網(wǎng)關(guān)節(jié)點(diǎn)上,通過網(wǎng)關(guān)節(jié)點(diǎn)層將客戶端和集群文件系統(tǒng)聯(lián)系起來,進(jìn)行數(shù)據(jù)讀寫。這種方式下,samba模塊(samba,即Server Messages Block,信息服務(wù)塊)與內(nèi)核態(tài)的VFS模塊(VFS,即Virtual File System,虛擬文件系統(tǒng))交互,然后由VFS模塊轉(zhuǎn)接到內(nèi)核態(tài)的FUSE模塊(FUSE,即Filesystem in User Space,用戶空間文件系統(tǒng)),再由FUSE模塊到用戶態(tài)的Cluster_FUSE模塊,最后有Cluster_FUSE模塊(Cluster_FUSE,即集群文件系統(tǒng))完成和集群的交互。由上可見,現(xiàn)有技術(shù)中分布式文件系統(tǒng)使用CIFS協(xié)議的方式需要很長的IO路徑,增加了整個(gè)數(shù)據(jù)讀寫過程的時(shí)延。
綜上所述可以看出,如何在分布式文件系統(tǒng)使用CIFS協(xié)議的過程中縮短IO路徑是目前有待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種數(shù)據(jù)交互方法、平臺及分布式文件系統(tǒng),在分布式文件系統(tǒng)使用CIFS協(xié)議的過程中縮短了IO路徑。其具體方案如下:
一種分布式文件系統(tǒng)的數(shù)據(jù)交互方法,包括:
預(yù)先將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上;
當(dāng)獲取到samba客戶端向所述分布式文件系統(tǒng)上的目標(biāo)集群節(jié)點(diǎn)發(fā)送的數(shù)據(jù)訪問請求,則將所述數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)至所述目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器,利用該samba服務(wù)器對所述數(shù)據(jù)訪問請求進(jìn)行響應(yīng)。
優(yōu)選的,所述將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上的過程,包括:
通過將SMB協(xié)議包安裝至集群節(jié)點(diǎn)上的方式,將samba服務(wù)器安裝至所述分布式文件系統(tǒng)的集群節(jié)點(diǎn)上。
優(yōu)選的,所述SMB協(xié)議包為CIFS協(xié)議包。
優(yōu)選的,所述將所述數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)至所述目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器的過程,包括:
通過內(nèi)核態(tài)的VFS組件將所述數(shù)據(jù)訪問請求發(fā)送至所述目標(biāo)集群節(jié)點(diǎn)對應(yīng)的集群文件系統(tǒng)接口;
通過所述集群文件系統(tǒng)接口將所述數(shù)據(jù)訪問請求發(fā)送至所述目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器。
本發(fā)明還公開了一種分布式文件系統(tǒng)的數(shù)據(jù)交互平臺,包括:
服務(wù)器安裝模塊,用于預(yù)先將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上;
請求轉(zhuǎn)發(fā)模塊,用于當(dāng)獲取到samba客戶端向所述分布式文件系統(tǒng)上的目標(biāo)集群節(jié)點(diǎn)發(fā)送的數(shù)據(jù)訪問請求,則將所述數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)至所述目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器;
請求響應(yīng)模塊,用于利用所述目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器對所述數(shù)據(jù)訪問請求進(jìn)行響應(yīng)。
優(yōu)選的,所述服務(wù)器安裝模塊,具體用于通過將SMB協(xié)議包安裝至集群節(jié)點(diǎn)上的方式,將samba服務(wù)器安裝至所述分布式文件系統(tǒng)的集群節(jié)點(diǎn)上。
優(yōu)選的,所述SMB協(xié)議包為CIFS協(xié)議包。
優(yōu)選的,所述請求轉(zhuǎn)發(fā)模塊包括:
第一發(fā)送單元,用于通過內(nèi)核態(tài)的VFS組件將所述數(shù)據(jù)訪問請求發(fā)送至所述目標(biāo)集群節(jié)點(diǎn)對應(yīng)的集群文件系統(tǒng)接口;
第二發(fā)送單元,用于通過所述集群文件系統(tǒng)接口將所述數(shù)據(jù)訪問請求發(fā)送至所述目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器。
進(jìn)一步的,本發(fā)明還公開了一種分布式文件系統(tǒng),包括前述公開的數(shù)據(jù)交互平臺。
本發(fā)明中,數(shù)據(jù)交互方法,包括:預(yù)先將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上,當(dāng)獲取到samba客戶端向分布式文件系統(tǒng)上的目標(biāo)集群節(jié)點(diǎn)發(fā)送的數(shù)據(jù)訪問請求,則將數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)至目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器,利用該samba服務(wù)器對數(shù)據(jù)訪問請求進(jìn)行響應(yīng)。可見,本發(fā)明通過預(yù)先將samba服務(wù)器安裝到集群節(jié)點(diǎn)上,而不是安裝到網(wǎng)關(guān)節(jié)點(diǎn)上,由此可以省去網(wǎng)關(guān)節(jié)點(diǎn),降低了硬件成本;當(dāng)samba客戶端向某一集群節(jié)點(diǎn)發(fā)送數(shù)據(jù)訪問請求后,則直接利用該集群節(jié)點(diǎn)上的samba服務(wù)器對上述數(shù)據(jù)訪問請求進(jìn)行響應(yīng),而無需借助內(nèi)核態(tài)的FUSE模塊和用戶態(tài)的Cluster_FUSE模塊,從而可大幅縮短IO路徑。也即,本發(fā)明在分布式文件系統(tǒng)使用CIFS協(xié)議的過程中大幅縮短了IO路徑,減少了整個(gè)數(shù)據(jù)讀寫過程的時(shí)延。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開的一種分布式文件系統(tǒng)的數(shù)據(jù)交互方法流程圖;
圖2為本發(fā)明實(shí)施例公開的一種分布式文件系統(tǒng)的數(shù)據(jù)交互平臺結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開了一種分布式文件系統(tǒng)的數(shù)據(jù)交互方法,參見圖1所示,該方法包括:
步驟S11:預(yù)先將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上;
步驟S12:當(dāng)獲取到samba客戶端向分布式文件系統(tǒng)上的目標(biāo)集群節(jié)點(diǎn)發(fā)送的數(shù)據(jù)訪問請求,則將數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)至目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器,利用該samba服務(wù)器對數(shù)據(jù)訪問請求進(jìn)行響應(yīng)。
可以理解的是,上述目標(biāo)集群節(jié)點(diǎn)是上述分布式文件系統(tǒng)中的集群節(jié)點(diǎn),該集群節(jié)點(diǎn)上預(yù)先安裝了samba服務(wù)器。當(dāng)samba客戶端向上述目標(biāo)集群節(jié)點(diǎn)發(fā)送數(shù)據(jù)訪問請求后,可直接利用上述目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器對上述數(shù)據(jù)訪問請求進(jìn)行響應(yīng)。
可見,本實(shí)施例并不選擇在網(wǎng)關(guān)節(jié)點(diǎn)上安裝samba服務(wù)器,而是在集群節(jié)點(diǎn)上安裝samba服務(wù)器,當(dāng)獲取到數(shù)據(jù)訪問請求后,可直接利用集群節(jié)點(diǎn)上的samba服務(wù)器對數(shù)據(jù)訪問請求進(jìn)行響應(yīng),這樣既省去了網(wǎng)關(guān)節(jié)點(diǎn),也無需借助內(nèi)核態(tài)的FUSE模塊和用戶態(tài)的Cluster_FUSE模塊,從而既降低了硬件成本,也實(shí)現(xiàn)了大幅縮短IO路徑的目的。
本發(fā)明實(shí)施例中,數(shù)據(jù)交互方法,包括:預(yù)先將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上,當(dāng)獲取到samba客戶端向分布式文件系統(tǒng)上的目標(biāo)集群節(jié)點(diǎn)發(fā)送的數(shù)據(jù)訪問請求,則將數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)至目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器,利用該samba服務(wù)器對數(shù)據(jù)訪問請求進(jìn)行響應(yīng)??梢姡景l(fā)明實(shí)施例通過預(yù)先將samba服務(wù)器安裝到集群節(jié)點(diǎn)上,而不是安裝到網(wǎng)關(guān)節(jié)點(diǎn)上,由此可以省去網(wǎng)關(guān)節(jié)點(diǎn),降低了硬件成本;當(dāng)samba客戶端向某一集群節(jié)點(diǎn)發(fā)送數(shù)據(jù)訪問請求后,則直接利用該集群節(jié)點(diǎn)上的samba服務(wù)器對上述數(shù)據(jù)訪問請求進(jìn)行響應(yīng),而無需借助內(nèi)核態(tài)的FUSE模塊和用戶態(tài)的Cluster_FUSE模塊,從而可大幅縮短IO路徑。也即,本發(fā)明實(shí)施例在分布式文件系統(tǒng)使用CIFS協(xié)議的過程中大幅縮短了IO路徑,減少了整個(gè)數(shù)據(jù)讀寫過程的時(shí)延。
本發(fā)明實(shí)施例公開了一種具體的分布式文件系統(tǒng)的數(shù)據(jù)交互方法,相對于上一實(shí)施例,本實(shí)施例對技術(shù)方案作了進(jìn)一步的說明和優(yōu)化。具體的:
上一實(shí)施例步驟S11中,需要預(yù)先將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上。本實(shí)施例中,將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上的過程,具體包括:通過將SMB協(xié)議包安裝至集群節(jié)點(diǎn)上的方式,將samba服務(wù)器安裝至分布式文件系統(tǒng)的集群節(jié)點(diǎn)上。
本實(shí)施例中,上述SMB協(xié)議包具體為CIFS協(xié)議包。
上一實(shí)施例步驟S12中,將數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)至目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器的過程,具體包括下面步驟S121和122;其中,
步驟S121:通過內(nèi)核態(tài)的VFS組件將數(shù)據(jù)訪問請求發(fā)送至目標(biāo)集群節(jié)點(diǎn)對應(yīng)的集群文件系統(tǒng)接口(即Cluster_FS API);
步驟S122:通過集群文件系統(tǒng)接口將數(shù)據(jù)訪問請求發(fā)送至目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器。
也即,本發(fā)明實(shí)施例中,samba客戶端通過內(nèi)核態(tài)的VFS組件與集群節(jié)點(diǎn)對應(yīng)的集群文件系統(tǒng)接口進(jìn)行連接,以將數(shù)據(jù)訪問請求發(fā)送至集群節(jié)點(diǎn)上的samba服務(wù)器,中間省去了內(nèi)核態(tài)的FUSE模塊和用戶態(tài)的Cluster_FUSE模塊,降低了IO時(shí)延。
相應(yīng)的,本發(fā)明實(shí)施例還公開了一種分布式文件系統(tǒng)的數(shù)據(jù)交互平臺,參見圖2所示,該平臺包括:
服務(wù)器安裝模塊21,用于預(yù)先將samba服務(wù)器安裝到分布式文件系統(tǒng)的集群節(jié)點(diǎn)上;
請求轉(zhuǎn)發(fā)模塊22,用于當(dāng)獲取到samba客戶端向分布式文件系統(tǒng)上的目標(biāo)集群節(jié)點(diǎn)發(fā)送的數(shù)據(jù)訪問請求,則將數(shù)據(jù)訪問請求轉(zhuǎn)發(fā)至目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器;
請求響應(yīng)模塊23,用于利用目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器對數(shù)據(jù)訪問請求進(jìn)行響應(yīng)。
可見,本發(fā)明實(shí)施例通過預(yù)先將samba服務(wù)器安裝到集群節(jié)點(diǎn)上,而不是安裝到網(wǎng)關(guān)節(jié)點(diǎn)上,由此可以省去網(wǎng)關(guān)節(jié)點(diǎn),降低了硬件成本;當(dāng)samba客戶端向某一集群節(jié)點(diǎn)發(fā)送數(shù)據(jù)訪問請求后,則直接利用該集群節(jié)點(diǎn)上的samba服務(wù)器對上述數(shù)據(jù)訪問請求進(jìn)行響應(yīng),而無需借助內(nèi)核態(tài)的FUSE模塊和用戶態(tài)的Cluster_FUSE模塊,從而可大幅縮短IO路徑。也即,本發(fā)明實(shí)施例在分布式文件系統(tǒng)使用CIFS協(xié)議的過程中大幅縮短了IO路徑,減少了整個(gè)數(shù)據(jù)讀寫過程的時(shí)延。
其中,上述服務(wù)器安裝模塊具體用于通過將SMB協(xié)議包安裝至集群節(jié)點(diǎn)上的方式,將samba服務(wù)器安裝至分布式文件系統(tǒng)的集群節(jié)點(diǎn)上。
具體的,上述SMB協(xié)議包為CIFS協(xié)議包。
另外,上述請求轉(zhuǎn)發(fā)模塊包括第一發(fā)送單元和第二發(fā)送單元;其中,
第一發(fā)送單元,用于通過內(nèi)核態(tài)的VFS組件將數(shù)據(jù)訪問請求發(fā)送至目標(biāo)集群節(jié)點(diǎn)對應(yīng)的集群文件系統(tǒng)接口;
第二發(fā)送單元,用于通過集群文件系統(tǒng)接口將數(shù)據(jù)訪問請求發(fā)送至目標(biāo)集群節(jié)點(diǎn)上的samba服務(wù)器。
進(jìn)一步的,本發(fā)明還公開了一種分布式文件系統(tǒng),包括前述實(shí)施例中公開的數(shù)據(jù)交互平臺。關(guān)于該數(shù)據(jù)交互平臺的具體構(gòu)造可參考前述實(shí)施例中的相關(guān)內(nèi)容,在此不再進(jìn)行贅述。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種數(shù)據(jù)交互方法、平臺及分布式文件系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。