亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種分布式文件讀寫權(quán)限設(shè)置方法與流程

文檔序號:12670122閱讀:472來源:國知局

本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種分布式文件讀寫權(quán)限設(shè)置方法。



背景技術(shù):

隨著計算機(jī)技術(shù)的快速發(fā)展,各種形式的信息數(shù)據(jù)量越來越大,根據(jù)行業(yè)情況不同,對數(shù)據(jù)的讀寫方式存在差異,針對同一個文件,同一時刻可以有一個或者多個客戶端進(jìn)行讀寫。多個客戶端同時對MDS進(jìn)行數(shù)據(jù)處理時,容易導(dǎo)致系統(tǒng)訪問量過大,致使系統(tǒng)癱瘓,影響系統(tǒng)正常運(yùn)行。



技術(shù)實(shí)現(xiàn)要素:

為了克服上述現(xiàn)有技術(shù)中的不足,本發(fā)明提供一種分布式文件讀寫權(quán)限設(shè)置方法,方法包括:

獲取當(dāng)前等待使用文件的客戶端數(shù)量;

當(dāng)單一客戶端使用當(dāng)前文件時, MDS授權(quán)給所述客戶端寫緩存權(quán)限和讀緩存權(quán)限;

客戶端得到文件使用權(quán)限后,將本次使用文件的權(quán)限發(fā)送給MDS,MDS收到所述客戶端的文件使用權(quán)限后,對該客戶端使用文件的讀寫權(quán)限進(jìn)行標(biāo)記及統(tǒng)計;

當(dāng)至少兩個客戶端使用當(dāng)前文件時, MDS授權(quán)給每個客戶端直寫權(quán)限和直讀權(quán)限;

每個客戶端獲取文件使用權(quán)限后,將本次使用文件的權(quán)限發(fā)送給MDS,MDS收到所述客戶端的文件使用權(quán)限后,對該客戶端使用文件的讀寫權(quán)限進(jìn)行標(biāo)記及統(tǒng)計。

優(yōu)選地,當(dāng)單一客戶端的寫緩存權(quán)限失效后,客戶端將在緩存寫入的文件存儲到客戶端的存儲設(shè)備;

客戶端的讀緩存權(quán)限失效后,將本地緩存數(shù)據(jù)作失效處理。

優(yōu)選地,在單一客戶端具有寫緩存權(quán)限和讀緩存權(quán)限時,所述客戶端將臟數(shù)據(jù)存儲到客戶端的存儲設(shè)備;

當(dāng)其他客戶端也請求對所述文件進(jìn)行讀寫時,MDS將單一客戶端的寫緩存權(quán)限和讀緩存權(quán)限收回,所述客戶端將臟數(shù)據(jù)存儲到客戶端的存儲設(shè)備,作廢緩存數(shù)據(jù);

MDS授權(quán)給每個客戶端直寫權(quán)限和直讀權(quán)限。

優(yōu)選地,被訪問的文件關(guān)閉句柄后,MDS收回所有訪問該文件的權(quán)限。

優(yōu)選地,當(dāng)單一客戶端具有讀寫緩存權(quán)限時,其他客戶端請求對所述文件進(jìn)行讀寫,MDS將單一客戶端寫入的文件數(shù)據(jù)更新至元數(shù)據(jù),MDS對單一客戶端寫入的臟數(shù)據(jù)不做刷新。

優(yōu)選地,步驟:當(dāng)單一客戶端使用當(dāng)前文件時, MDS授權(quán)給所述客戶端寫緩存權(quán)限和讀緩存權(quán)限還包括:

單一客戶端對當(dāng)前文件使用寫緩存權(quán)限,進(jìn)行寫數(shù)據(jù)時,將寫入數(shù)據(jù)先緩存在第一緩存中;

第一緩存數(shù)據(jù)處理模塊根據(jù)預(yù)設(shè)的壓縮量將第一緩存中多個數(shù)據(jù)進(jìn)行組合壓縮,形成壓縮數(shù)據(jù)塊;

第一緩存數(shù)據(jù)處理模塊針對壓縮數(shù)據(jù)塊中的每個數(shù)據(jù)對應(yīng)生成一元數(shù)據(jù),元數(shù)據(jù)記錄壓縮前后的每個數(shù)據(jù)處于第一緩存中的位置;

將壓縮數(shù)據(jù)塊以及與壓縮數(shù)據(jù)塊相對應(yīng)的元數(shù)據(jù)下發(fā)給第二緩存;

第二緩存保存壓縮數(shù)據(jù)塊和元數(shù)據(jù);

當(dāng)單一客戶端的寫緩存權(quán)限被收回,或者單一客戶端讀寫操作完成時,第二緩存將保存的壓縮數(shù)據(jù)塊和元數(shù)據(jù)保存到客戶端的存儲設(shè)備。

優(yōu)選地,預(yù)設(shè)的壓縮量的獲取方式包括:第一緩存數(shù)據(jù)處理模塊在第一緩存隨機(jī)抽取N個數(shù)據(jù),N為非零的自然數(shù),對抽取的數(shù)據(jù)進(jìn)行組合壓縮,組合壓縮后計算出N個數(shù)據(jù)的平均MD5值,將該值作為預(yù)設(shè)壓縮量。

從以上技術(shù)方案可以看出,本發(fā)明具有以下優(yōu)點(diǎn):

通過對文件讀寫權(quán)限控制,可以保證單一客戶端操作的情況下通過讀寫緩存提高文件讀寫效率,多客戶端操作的情況下通過數(shù)據(jù)直寫方式保證數(shù)據(jù)一致性。

附圖說明

為了更清楚地說明本發(fā)明的技術(shù)方案,下面將對描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為分布式文件讀寫權(quán)限設(shè)置方法的整體流程圖。

具體實(shí)施方式

為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將運(yùn)用具體的實(shí)施例及附圖,對本發(fā)明保護(hù)的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部的實(shí)施例。基于本專利中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本專利保護(hù)的范圍。

本實(shí)施例提供一種分布式文件讀寫權(quán)限設(shè)置方法,如圖1所示,方法包括:

S1:獲取當(dāng)前等待使用文件的客戶端數(shù)量;

S2:當(dāng)單一客戶端使用當(dāng)前文件時, MDS授權(quán)給所述客戶端寫緩存權(quán)限和讀緩存權(quán)限;

S3:客戶端得到文件使用權(quán)限后,將本次使用文件的權(quán)限發(fā)送給MDS,MDS收到所述客戶端的文件使用權(quán)限后,對該客戶端使用文件的讀寫權(quán)限進(jìn)行標(biāo)記及統(tǒng)計;

S4:當(dāng)至少兩個客戶端使用當(dāng)前文件時, MDS授權(quán)給每個客戶端直寫權(quán)限和直讀權(quán)限;

S5:每個客戶端獲取文件使用權(quán)限后,將本次使用文件的權(quán)限發(fā)送給MDS,MDS收到所述客戶端的文件使用權(quán)限后,對該客戶端使用文件的讀寫權(quán)限進(jìn)行標(biāo)記及統(tǒng)計。

通過四種讀寫權(quán)限控制,可以保證單一客戶端操作的情況下通過讀寫緩存提高文件讀寫效率,多客戶端操作的情況下通過數(shù)據(jù)直寫方式保證數(shù)據(jù)一致性。

本實(shí)施例中,當(dāng)單一客戶端的寫緩存權(quán)限失效后,客戶端將在緩存寫入的文件存儲到客戶端的存儲設(shè)備;

客戶端的讀緩存權(quán)限失效后,將本地緩存數(shù)據(jù)作失效處理。

具體的,客戶端打開文件,將讀寫標(biāo)記傳遞到MDS,MDS統(tǒng)計所有客戶端的讀寫請求,單一客戶端授權(quán)讀寫緩存權(quán)限,多客戶端授權(quán)直讀直寫權(quán)限。讀寫緩存權(quán)限回收后,本地緩存作廢處理。

本實(shí)施例中,在單一客戶端具有寫緩存權(quán)限和讀緩存權(quán)限時,所述客戶端將臟數(shù)據(jù)存儲到客戶端的存儲設(shè)備;

當(dāng)其他客戶端也請求對所述文件進(jìn)行讀寫時,MDS將單一客戶端的寫緩存權(quán)限和讀緩存權(quán)限收回,所述客戶端將臟數(shù)據(jù)存儲到客戶端的存儲設(shè)備,作廢緩存數(shù)據(jù);

MDS授權(quán)給每個客戶端直寫權(quán)限和直讀權(quán)限。

本實(shí)施例中,被訪問的文件關(guān)閉句柄后,MDS收回所有訪問該文件的權(quán)限。

本實(shí)施例中,當(dāng)單一客戶端具有讀寫緩存權(quán)限時,其他客戶端請求對所述文件進(jìn)行讀寫,MDS將單一客戶端寫入的文件數(shù)據(jù)更新至元數(shù)據(jù),MDS對單一客戶端寫入的臟數(shù)據(jù)不做刷新。

本實(shí)施例中,步驟:當(dāng)單一客戶端使用當(dāng)前文件時, MDS授權(quán)給所述客戶端寫緩存權(quán)限和讀緩存權(quán)限還包括:客戶端將緩存空間劃分為兩層,包括:第一緩存,第二緩存;

單一客戶端對當(dāng)前文件使用寫緩存權(quán)限,進(jìn)行寫數(shù)據(jù)時,將寫入數(shù)據(jù)先緩存在第一緩存中;

第一緩存數(shù)據(jù)處理模塊根據(jù)預(yù)設(shè)的壓縮量將第一緩存中多個數(shù)據(jù)進(jìn)行組合壓縮,形成壓縮數(shù)據(jù)塊;

第一緩存數(shù)據(jù)處理模塊針對壓縮數(shù)據(jù)塊中的每個數(shù)據(jù)對應(yīng)生成一元數(shù)據(jù),元數(shù)據(jù)記錄壓縮前后的每個數(shù)據(jù)處于第一緩存中的位置;

將壓縮數(shù)據(jù)塊以及與壓縮數(shù)據(jù)塊相對應(yīng)的元數(shù)據(jù)下發(fā)給第二緩存;

第二緩存保存壓縮數(shù)據(jù)塊和元數(shù)據(jù);

當(dāng)單一客戶端的寫緩存權(quán)限被收回,或者單一客戶端讀寫操作完成時,第二緩存將保存的壓縮數(shù)據(jù)塊和元數(shù)據(jù)保存到客戶端的存儲設(shè)備。

預(yù)設(shè)的壓縮量的獲取方式包括:第一緩存數(shù)據(jù)處理模塊在第一緩存隨機(jī)抽取N個數(shù)據(jù),N為非零的自然數(shù),對抽取的數(shù)據(jù)進(jìn)行組合壓縮,組合壓縮后計算出N個數(shù)據(jù)的平均MD5值,將該值作為預(yù)設(shè)壓縮量。

這樣,單一客戶端寫入對緩存的數(shù)據(jù)進(jìn)行實(shí)時壓縮,可以事先預(yù)設(shè)數(shù)據(jù)的壓縮量,保證壓縮效果。并且在數(shù)據(jù)儲存至存儲設(shè)備之前先對寫入數(shù)據(jù)進(jìn)行了壓縮,節(jié)約了存儲設(shè)備空間。

對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1