本發(fā)明涉及分布式文件技術(shù)領(lǐng)域,尤其涉及一種分布式文件系統(tǒng)元數(shù)據(jù)處理方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)向著更寬更廣方向發(fā)展,計(jì)算機(jī)及信息系統(tǒng)在各行各業(yè)的應(yīng)用越來(lái)越廣泛,要求也越來(lái)越高。分布式系統(tǒng)相對(duì)于集中式系統(tǒng)具有并行應(yīng)用、高性能、高可靠性等特點(diǎn),因而廣泛應(yīng)用于操作系統(tǒng)、文件系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)等計(jì)算機(jī)技術(shù)領(lǐng)域。
但分布式系統(tǒng)也有其缺點(diǎn),其中很大一個(gè)便是操作指令執(zhí)行問(wèn)題,如何保障操作請(qǐng)求指令在通信傳送過(guò)程中的高效可靠的執(zhí)行,成為一個(gè)亟待解決的問(wèn)題
上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種分布式文件系統(tǒng)元數(shù)據(jù)處理方法,旨在解決操作請(qǐng)求指令在通信過(guò)程中的高效可靠執(zhí)行,及其保密性的問(wèn)題。
本發(fā)明提供的一種分布式文件系統(tǒng)元數(shù)據(jù)處理方法,包括步驟:
獲取客戶端對(duì)元數(shù)據(jù)服務(wù)器對(duì)象的操作請(qǐng)求指令,所述操作請(qǐng)求指令的對(duì)象為元數(shù)據(jù)服務(wù)器下的分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄;
將獲取到的操作請(qǐng)求指令緩存至請(qǐng)求隊(duì)列保存;
統(tǒng)計(jì)請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量,與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比;
若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,則執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
優(yōu)選地,所述統(tǒng)計(jì)求隊(duì)列中的操作請(qǐng)求指令數(shù)量,與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比,還包括:
若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量小于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,維持當(dāng)前操作狀態(tài),直至請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值后,執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
優(yōu)選地,所述若請(qǐng)求隊(duì)列的請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值時(shí),執(zhí)行該請(qǐng)求隊(duì)列中的操作請(qǐng)求指令之后,還包括:
設(shè)置接收操作請(qǐng)求指令的元數(shù)據(jù)服務(wù)器為不可識(shí)別狀態(tài)。
優(yōu)選地,所述若請(qǐng)求隊(duì)列的請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值時(shí),執(zhí)行該請(qǐng)求隊(duì)列中的操作請(qǐng)求指令之后,還包括:
請(qǐng)求隊(duì)列中的操作請(qǐng)求指令執(zhí)行完成后,根據(jù)已執(zhí)行完成的操作請(qǐng)求指令,解除對(duì)應(yīng)對(duì)象文件的鎖定。
優(yōu)選地,所述方法還包括:
獲取當(dāng)前元數(shù)據(jù)服務(wù)器狀態(tài),若元數(shù)據(jù)服務(wù)器狀態(tài)都被設(shè)置為不可識(shí)別時(shí),重置元數(shù)據(jù)服務(wù)器狀態(tài),將元數(shù)據(jù)服務(wù)器狀態(tài)設(shè)置為可識(shí)別狀態(tài)。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種分布式文件系統(tǒng)元數(shù)據(jù)處理裝置,包括:
獲取模塊,用于獲取客戶端對(duì)元數(shù)據(jù)服務(wù)器的操作請(qǐng)求指令,所述操作請(qǐng)求指令的對(duì)象為元數(shù)據(jù)服務(wù)器下的分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄;
緩存模塊,用于將獲取到的操作請(qǐng)求指令緩存至請(qǐng)求隊(duì)列保存;
統(tǒng)計(jì)模塊,用于統(tǒng)計(jì)請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量;
對(duì)比模塊,用于將統(tǒng)計(jì)的操作請(qǐng)求指令數(shù)量與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比;
執(zhí)行模塊,用于若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,則執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
優(yōu)選地,所述裝置還包括:
確認(rèn)模塊,用于若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量小于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,維持當(dāng)前操作狀態(tài),直至請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值后,執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
優(yōu)選地,所述裝置還包括:
設(shè)置模塊,用于設(shè)置原接收操作請(qǐng)求指令的元數(shù)據(jù)服務(wù)器狀態(tài)為不可識(shí)別狀態(tài)。
優(yōu)選地,所述裝置還包括:
解鎖模塊,用于請(qǐng)求隊(duì)列中的操作請(qǐng)求指令執(zhí)行完成后,根據(jù)已執(zhí)行完成的操作請(qǐng)求指令,解除對(duì)應(yīng)對(duì)象文件的鎖定。
優(yōu)選地,所述裝置還包括重置模塊,
所述獲取模塊,還用于獲取當(dāng)前元數(shù)據(jù)服務(wù)器狀態(tài);
所述重置模塊,用于若元數(shù)據(jù)服務(wù)器狀態(tài)都被設(shè)置為不可識(shí)別時(shí),重置元數(shù)據(jù)服務(wù)器狀態(tài)為可識(shí)別狀態(tài)。
本發(fā)明通過(guò)獲取客戶端對(duì)元數(shù)據(jù)服務(wù)器對(duì)象的操作請(qǐng)求指令,所述操作請(qǐng)求指令的對(duì)象為元數(shù)據(jù)服務(wù)器下的分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄;將獲取到的操作請(qǐng)求指令緩存至請(qǐng)求隊(duì)列保存;統(tǒng)計(jì)請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量,與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比;若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,則執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。解決操作請(qǐng)求指令的高效可靠的執(zhí)行,及其針對(duì)指令保密性的問(wèn)題。
附圖說(shuō)明
圖1為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理方法的第一實(shí)施例的流程示意圖;
圖2為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理方法的第二實(shí)施例的流程示意圖;
圖3為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理方法的第三實(shí)施例的流程示意圖;
圖4為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理裝置的第一實(shí)施例的功能模塊示意圖;
圖5為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理裝置的第二實(shí)施例的功能模塊示意圖;
圖6為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理裝置的第三實(shí)施例的功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
基于上述問(wèn)題,本發(fā)明提供一種分布式文件系統(tǒng)元數(shù)據(jù)處理方法。
參照?qǐng)D1,圖1為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理方法的第一實(shí)施例的流程示意圖。
在一實(shí)施例中,所述方法包括:
步驟S10,獲取客戶端對(duì)元數(shù)據(jù)服務(wù)器對(duì)象的操作請(qǐng)求指令,所述操作請(qǐng)求指令的對(duì)象為元數(shù)據(jù)服務(wù)器下的分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄;
自客戶端發(fā)起對(duì)元數(shù)據(jù)服務(wù)器對(duì)對(duì)象的操作請(qǐng)求指令,所述客戶端為有發(fā)送操作請(qǐng)求指令的電子設(shè)備,或與該電子設(shè)備關(guān)聯(lián)的其他終端,或定制的專屬終端;該終端與元數(shù)據(jù)服務(wù)器通過(guò)無(wú)線網(wǎng)絡(luò)或有線網(wǎng)絡(luò)關(guān)聯(lián),用以進(jìn)行操作請(qǐng)求指令的發(fā)送,所述關(guān)聯(lián)方式為現(xiàn)有技術(shù),在此不多贅述。在對(duì)應(yīng)元數(shù)據(jù)服務(wù)器中,接收客戶端發(fā)送的操作請(qǐng)求指令,所述操作請(qǐng)求指令對(duì)應(yīng)當(dāng)前接收的元數(shù)據(jù)服務(wù)器對(duì)象,所述對(duì)象為該元數(shù)據(jù)服務(wù)器下的分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄的文件,稱之為操作請(qǐng)求指令對(duì)應(yīng)的對(duì)象文件。即,每個(gè)操作請(qǐng)求指令都有對(duì)應(yīng)的對(duì)象文件用以進(jìn)行當(dāng)前的操作請(qǐng)求指令。
步驟S20,將獲取到的操作請(qǐng)求指令緩存至請(qǐng)求隊(duì)列保存;
已獲取到的操作請(qǐng)求指令,按目標(biāo)順序?qū)⒉僮髡?qǐng)求指令緩存至請(qǐng)求隊(duì)列中保存,所述目標(biāo)順序可以為接收操作請(qǐng)求指令的時(shí)間,或者按操作請(qǐng)求指令的緊急程度在請(qǐng)求隊(duì)列中排列,相關(guān)順序于元數(shù)據(jù)服務(wù)器中相關(guān)功能設(shè)置。
步驟S30,統(tǒng)計(jì)請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量,與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比;
已在請(qǐng)求隊(duì)列中排列的操作請(qǐng)求指令,統(tǒng)計(jì)所述請(qǐng)求隊(duì)列中緩存的操作請(qǐng)求指令的數(shù)量,將所述數(shù)量與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比,所述預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,根據(jù)服務(wù)器的操作請(qǐng)求指令的執(zhí)行能力設(shè)置,即,該預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值的數(shù)值為當(dāng)前元數(shù)據(jù)服務(wù)器操作請(qǐng)求指令的較佳執(zhí)行數(shù)量。在所述元數(shù)據(jù)服務(wù)器接收客戶端發(fā)送的操作請(qǐng)求指令之前,在所述元數(shù)據(jù)服務(wù)器中相關(guān)功能設(shè)置完成,并根據(jù)元數(shù)據(jù)服務(wù)器的最佳執(zhí)行數(shù)量更改預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值或提示重新設(shè)置預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值。
步驟S40,若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,則執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
當(dāng)前緩存于請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)閾值時(shí),表示當(dāng)前已接收并緩存的操作請(qǐng)求指令不能夠繼續(xù)進(jìn)行緩存保留或當(dāng)前操作請(qǐng)求指令緩存的數(shù)量已達(dá)到當(dāng)前請(qǐng)求隊(duì)列的最大緩存內(nèi)存,按照當(dāng)前請(qǐng)求隊(duì)列中排列的操作請(qǐng)求指令,執(zhí)行每一條操作請(qǐng)求指令的內(nèi)容。
進(jìn)一步的,所述統(tǒng)計(jì)求隊(duì)列中的操作請(qǐng)求指令數(shù)量,與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比,還包括:
若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量小于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,維持當(dāng)前操作狀態(tài),直至請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值后,執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
當(dāng)前緩存于請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量小于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值時(shí),維持當(dāng)前操作狀態(tài)不變,即繼續(xù)接收自客戶端發(fā)送的操作請(qǐng)求指令,并將接收到的操作請(qǐng)求指令緩存于請(qǐng)求隊(duì)列中,直至請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值后,執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
進(jìn)一步的,根據(jù)預(yù)設(shè)周期統(tǒng)計(jì)請(qǐng)求隊(duì)列中操作請(qǐng)求指令的數(shù)量,并與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比,用以監(jiān)控已緩存的操作請(qǐng)求指令,待請(qǐng)求隊(duì)列中緩存的操作請(qǐng)求指令數(shù)量滿足執(zhí)行條件時(shí)執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。所述預(yù)設(shè)周期,在元數(shù)據(jù)服務(wù)器中設(shè)置當(dāng)前請(qǐng)求隊(duì)列檢查周期,周期內(nèi)統(tǒng)計(jì)當(dāng)前請(qǐng)求隊(duì)列中已緩存的操作請(qǐng)求指令。
本實(shí)施例通過(guò)接收客戶端發(fā)送的針對(duì)于元數(shù)據(jù)服務(wù)器下分布式文件目錄中統(tǒng)一目錄及其子目錄中對(duì)象文件的操作請(qǐng)求指令,并將之緩存至請(qǐng)求隊(duì)列中,在請(qǐng)求隊(duì)列中緩存的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值時(shí),停止接收操作請(qǐng)求指令并執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令內(nèi)容,統(tǒng)一執(zhí)行已接收到的操作請(qǐng)求指令,并控制接收操作請(qǐng)求指令的數(shù)量,保證了信息在通信過(guò)程的高度保密性,并高效率執(zhí)行操作請(qǐng)求指令。
參照?qǐng)D2,圖2為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理方法的第二實(shí)施例的流程示意圖?;谏鲜龇椒ǖ牡谝粚?shí)施例,所述若請(qǐng)求隊(duì)列的請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值時(shí),執(zhí)行該請(qǐng)求隊(duì)列中的操作請(qǐng)求指令之后,還包括:
步驟S50,設(shè)置原接收操作請(qǐng)求指令的元數(shù)據(jù)服務(wù)器狀態(tài)為不可識(shí)別狀態(tài);
在執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令時(shí),為避免依舊接收操作請(qǐng)求指令造成操作請(qǐng)求指令執(zhí)行出錯(cuò),設(shè)置當(dāng)前執(zhí)行操作請(qǐng)求指令的元數(shù)據(jù)服務(wù)器為不可識(shí)別狀態(tài),所述不可識(shí)別狀態(tài),用以使客戶端不能搜索到該元數(shù)據(jù)服務(wù)器,進(jìn)而不能針對(duì)該元數(shù)據(jù)服務(wù)器發(fā)起操作請(qǐng)求指令,從根本上阻止操作請(qǐng)求指令的發(fā)送及接收。保證操作請(qǐng)求指令執(zhí)行的保密性及高效率。所述設(shè)置元數(shù)據(jù)服務(wù)器狀態(tài)為不可識(shí)別狀態(tài),可通過(guò)設(shè)置當(dāng)前元數(shù)據(jù)服務(wù)器標(biāo)識(shí)控制元數(shù)據(jù)服務(wù)器是否為可識(shí)別狀態(tài),例如,設(shè)置元數(shù)據(jù)服務(wù)器標(biāo)識(shí)為0,為元數(shù)據(jù)服務(wù)器不可識(shí)別狀態(tài)。
進(jìn)一步的,在當(dāng)前元數(shù)據(jù)服務(wù)器設(shè)置為不可識(shí)別狀態(tài),即不能接收自客戶端發(fā)送的操作請(qǐng)求指令后,切換與當(dāng)前執(zhí)行操作執(zhí)行指令的元數(shù)據(jù)服務(wù)器關(guān)聯(lián)的另一元數(shù)據(jù)服務(wù)器,用以獲取客戶端發(fā)送的操作請(qǐng)求指令,并進(jìn)行與當(dāng)前執(zhí)行操作請(qǐng)求指令的元數(shù)據(jù)服務(wù)器同樣的操作。
步驟S60,請(qǐng)求隊(duì)列中的操作請(qǐng)求指令執(zhí)行完成后,根據(jù)已執(zhí)行完成的操作請(qǐng)求指令,解除對(duì)應(yīng)對(duì)象文件的鎖定。
自客戶端發(fā)送的操作請(qǐng)求指令,所述操作請(qǐng)求指令根據(jù)指令內(nèi)容,對(duì)應(yīng)元數(shù)據(jù)服務(wù)器中分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄的文件,即操作請(qǐng)求指令的對(duì)象文件??紤]到元數(shù)據(jù)服務(wù)器的系統(tǒng)容量及其對(duì)象文件靈活性,請(qǐng)求隊(duì)列中的操作請(qǐng)求指令待執(zhí)行完成后,解除該操作請(qǐng)求指令的對(duì)應(yīng)對(duì)象文件,便于該對(duì)象文件的二次使用及釋放分布式文件系統(tǒng)容量。
參照?qǐng)D3,圖3為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理方法的第三實(shí)施例的流程示意圖。基于上述方法的第一實(shí)施例,所述方法,還包括:
步驟S70,獲取當(dāng)前元數(shù)據(jù)服務(wù)器狀態(tài),若元數(shù)據(jù)服務(wù)器狀態(tài)都被設(shè)置為不可識(shí)別時(shí),重置元數(shù)據(jù)服務(wù)器狀態(tài)為可識(shí)別狀態(tài)。
獲取當(dāng)前元數(shù)據(jù)服務(wù)器狀態(tài),所述元數(shù)據(jù)服務(wù)器不止一個(gè),根據(jù)客戶需求及其分布式文件系統(tǒng)文件的存儲(chǔ)情況,設(shè)置多個(gè)元數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)存儲(chǔ),并將已存儲(chǔ)數(shù)據(jù)的元數(shù)據(jù)服務(wù)器進(jìn)行關(guān)聯(lián),并以元數(shù)據(jù)服務(wù)器為單位,依次接收自客戶端發(fā)送的操作請(qǐng)求指令,待一元數(shù)據(jù)服務(wù)器執(zhí)行操作請(qǐng)求指令后,將該元數(shù)據(jù)服務(wù)器狀態(tài)設(shè)置為不可識(shí)別后,切換另一元數(shù)據(jù)服務(wù)器接收操作請(qǐng)求指令;并逐一對(duì)當(dāng)前所有元數(shù)據(jù)服務(wù)器進(jìn)行此種操作。
進(jìn)一步的,根據(jù)預(yù)設(shè)周期,在周期內(nèi)獲取當(dāng)前元數(shù)據(jù)服務(wù)器狀態(tài),若獲取到的元數(shù)據(jù)服務(wù)器狀態(tài)都為不可識(shí)別狀態(tài)時(shí),重置元數(shù)據(jù)服務(wù)器狀態(tài)為可識(shí)別狀態(tài)。所述預(yù)設(shè)周期,在元數(shù)據(jù)服務(wù)器中設(shè)置當(dāng)前獲取元數(shù)據(jù)服務(wù)器狀態(tài)檢查周期,周期內(nèi)獲取當(dāng)前元數(shù)據(jù)服務(wù)器的狀態(tài)。所述設(shè)置元數(shù)據(jù)服務(wù)器狀態(tài)為不可識(shí)別狀態(tài),可通過(guò)設(shè)置當(dāng)前元數(shù)據(jù)服務(wù)器標(biāo)識(shí)控制元數(shù)據(jù)服務(wù)器是否為可識(shí)別狀態(tài),例如,設(shè)置元數(shù)據(jù)服務(wù)器標(biāo)識(shí)為0,為元數(shù)據(jù)服務(wù)器不可識(shí)別狀態(tài)。在當(dāng)前元數(shù)據(jù)服務(wù)器標(biāo)識(shí)都為0的狀態(tài)下,重置所有元數(shù)據(jù)服務(wù)器的標(biāo)識(shí)為1,用以重置元數(shù)據(jù)服務(wù)器為可識(shí)別狀態(tài)。
上述第一至第三實(shí)施例的分布式文件系統(tǒng)元數(shù)據(jù)處理方法的執(zhí)行主體均可以為發(fā)送操作請(qǐng)求指令功能的電子終端或與該電子終端連接的其他電子設(shè)備。更進(jìn)一步地,該分布式文件系統(tǒng)元數(shù)據(jù)處理方法可以由分布式文件系統(tǒng)安裝客戶端程序?qū)崿F(xiàn),其中,該電子設(shè)備可以包括但不限于手機(jī)、pad、筆記本電腦等。
本發(fā)明進(jìn)一步提供一種分布式文件系統(tǒng)元數(shù)據(jù)處理裝置。
參照?qǐng)D4,圖4為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理裝置的第一實(shí)施例的功能模塊示意圖。
在一實(shí)施例中,所述裝置包括:獲取模塊10、緩存模塊20、統(tǒng)計(jì)模塊30、對(duì)比模塊40、執(zhí)行模塊50及確認(rèn)模塊60。
獲取模塊10,用于獲取客戶端對(duì)元數(shù)據(jù)服務(wù)器的操作請(qǐng)求指令,所述操作請(qǐng)求指令的對(duì)象為元數(shù)據(jù)服務(wù)器下的分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄;
自客戶端發(fā)起對(duì)元數(shù)據(jù)服務(wù)器對(duì)對(duì)象的操作請(qǐng)求指令,所述客戶端為有發(fā)送操作請(qǐng)求指令的電子設(shè)備,或與該電子設(shè)備關(guān)聯(lián)的其他終端,或定制的專屬終端;該終端與元數(shù)據(jù)服務(wù)器通過(guò)無(wú)線網(wǎng)絡(luò)或有線網(wǎng)絡(luò)關(guān)聯(lián),用以進(jìn)行操作請(qǐng)求指令的發(fā)送,所述關(guān)聯(lián)方式為現(xiàn)有技術(shù),在此不多贅述。在對(duì)應(yīng)元數(shù)據(jù)服務(wù)器中,接收客戶端發(fā)送的操作請(qǐng)求指令,所述操作請(qǐng)求指令對(duì)應(yīng)當(dāng)前接收的元數(shù)據(jù)服務(wù)器對(duì)象,所述對(duì)象為該元數(shù)據(jù)服務(wù)器下的分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄的文件,稱之為操作請(qǐng)求指令對(duì)應(yīng)的對(duì)象文件。即,每個(gè)操作請(qǐng)求指令都有對(duì)應(yīng)的對(duì)象文件用以進(jìn)行當(dāng)前的操作請(qǐng)求指令。
緩存模塊20,用于將獲取到的操作請(qǐng)求指令緩存至請(qǐng)求隊(duì)列保存;
已獲取到的操作請(qǐng)求指令,按目標(biāo)順序?qū)⒉僮髡?qǐng)求指令緩存至請(qǐng)求隊(duì)列中保存,所述目標(biāo)順序可以為接收操作請(qǐng)求指令的時(shí)間,或者按操作請(qǐng)求指令的緊急程度在請(qǐng)求隊(duì)列中排列,相關(guān)順序于元數(shù)據(jù)服務(wù)器中相關(guān)功能設(shè)置。
統(tǒng)計(jì)模塊30,用于統(tǒng)計(jì)請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量;
已在請(qǐng)求隊(duì)列中排列的操作請(qǐng)求指令,統(tǒng)計(jì)所述請(qǐng)求隊(duì)列中緩存的操作請(qǐng)求指令的數(shù)量。
對(duì)比模塊40,用于將統(tǒng)計(jì)的操作請(qǐng)求指令數(shù)量與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比;
將所述數(shù)量與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比,所述預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,根據(jù)服務(wù)器的操作請(qǐng)求指令的執(zhí)行能力設(shè)置,即,該預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值的數(shù)值為當(dāng)前元數(shù)據(jù)服務(wù)器操作請(qǐng)求指令的較佳執(zhí)行數(shù)量。在所述元數(shù)據(jù)服務(wù)器接收客戶端發(fā)送的操作請(qǐng)求指令之前,在所述元數(shù)據(jù)服務(wù)器中相關(guān)功能設(shè)置完成,并根據(jù)元數(shù)據(jù)服務(wù)器的最佳執(zhí)行數(shù)量更改預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值或提示重新設(shè)置預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值。
執(zhí)行模塊50,用于若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,則執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
當(dāng)前緩存于請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)閾值時(shí),表示當(dāng)前已接收并緩存的操作請(qǐng)求指令不能夠繼續(xù)進(jìn)行緩存保留或當(dāng)前操作請(qǐng)求指令緩存的數(shù)量已達(dá)到當(dāng)前請(qǐng)求隊(duì)列的最大緩存內(nèi)存,按照當(dāng)前請(qǐng)求隊(duì)列中排列的操作請(qǐng)求指令,執(zhí)行每一條操作請(qǐng)求指令的內(nèi)容。
進(jìn)一步的,所述計(jì)算請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量,與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比,還包括:
確認(rèn)模塊60,用于若請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量小于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值,維持當(dāng)前操作狀態(tài),直至請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值后,執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
當(dāng)前緩存于請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量小于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值時(shí),維持當(dāng)前操作狀態(tài)不變,即繼續(xù)接收自客戶端發(fā)送的操作請(qǐng)求指令,并將接收到的操作請(qǐng)求指令緩存于請(qǐng)求隊(duì)列中,直至請(qǐng)求隊(duì)列中的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值后,執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。
進(jìn)一步的,根據(jù)預(yù)設(shè)周期統(tǒng)計(jì)請(qǐng)求隊(duì)列中操作請(qǐng)求指令的數(shù)量,并與預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值對(duì)比,用以監(jiān)控已緩存的操作請(qǐng)求指令,待請(qǐng)求隊(duì)列中緩存的操作請(qǐng)求指令數(shù)量滿足執(zhí)行條件時(shí)執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令。所述預(yù)設(shè)周期,在元數(shù)據(jù)服務(wù)器中設(shè)置當(dāng)前請(qǐng)求隊(duì)列檢查周期,周期內(nèi)統(tǒng)計(jì)當(dāng)前請(qǐng)求隊(duì)列中已緩存的操作請(qǐng)求指令。
本實(shí)施例通過(guò)接收客戶端發(fā)送的針對(duì)于元數(shù)據(jù)服務(wù)器下分布式文件目錄中統(tǒng)一目錄及其子目錄中對(duì)象文件的操作請(qǐng)求指令,并將之緩存至請(qǐng)求隊(duì)列中,在請(qǐng)求隊(duì)列中緩存的操作請(qǐng)求指令數(shù)量大于或等于預(yù)設(shè)操作請(qǐng)求指令目標(biāo)數(shù)值時(shí),停止接收操作請(qǐng)求指令并執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令內(nèi)容,統(tǒng)一執(zhí)行已接收到的操作請(qǐng)求指令,并控制接收操作請(qǐng)求指令的數(shù)量,保證了信息在通信過(guò)程的高度保密性,并高效率執(zhí)行操作請(qǐng)求指令。
參照?qǐng)D5,圖5為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理裝置的第二實(shí)施例的功能模塊示意圖。所述裝置還包括:設(shè)置模塊70及解鎖模塊80。
設(shè)置模塊70,用于設(shè)置原接收操作請(qǐng)求指令的元數(shù)據(jù)服務(wù)器狀態(tài)為不可識(shí)別狀態(tài)。
在執(zhí)行請(qǐng)求隊(duì)列中的操作請(qǐng)求指令時(shí),為避免依舊接收操作請(qǐng)求指令造成的操作請(qǐng)求指令執(zhí)行出錯(cuò),設(shè)置當(dāng)前執(zhí)行操作請(qǐng)求指令的元數(shù)據(jù)服務(wù)器為不可識(shí)別狀態(tài),所述不可識(shí)別狀態(tài),用以使客戶端不能搜索到該元數(shù)據(jù)服務(wù)器,進(jìn)而不能針對(duì)該元數(shù)據(jù)服務(wù)器發(fā)起操作請(qǐng)求指令,從根本上阻止操作請(qǐng)求指令的發(fā)送及接收。保證操作請(qǐng)求指令執(zhí)行的保密性及高效率。所述設(shè)置元數(shù)據(jù)服務(wù)器狀態(tài)為不可識(shí)別狀態(tài),可通過(guò)設(shè)置當(dāng)前元數(shù)據(jù)服務(wù)器標(biāo)識(shí)控制元數(shù)據(jù)服務(wù)器是否為可識(shí)別狀態(tài),例如,設(shè)置元數(shù)據(jù)服務(wù)器標(biāo)識(shí)為0,為元數(shù)據(jù)服務(wù)器不可識(shí)別狀態(tài)。
進(jìn)一步的,在當(dāng)前元數(shù)據(jù)服務(wù)器設(shè)置為不可識(shí)別狀態(tài),即不能接收自客戶端發(fā)送的操作請(qǐng)求指令后,切換與當(dāng)前執(zhí)行操作執(zhí)行指令的元數(shù)據(jù)服務(wù)器關(guān)聯(lián)的另一元數(shù)據(jù)服務(wù)器,用以獲取客戶端發(fā)送的操作請(qǐng)求指令,并進(jìn)行與當(dāng)前執(zhí)行操作請(qǐng)求指令的元數(shù)據(jù)服務(wù)器同樣的操作。
解鎖模塊80,用于請(qǐng)求隊(duì)列中的操作請(qǐng)求指令執(zhí)行完成后,根據(jù)已執(zhí)行完成的操作請(qǐng)求指令,解除對(duì)應(yīng)對(duì)象文件的鎖定。
自客戶端發(fā)送的操作請(qǐng)求指令,所述操作請(qǐng)求指令根據(jù)指令內(nèi)容,對(duì)應(yīng)元數(shù)據(jù)服務(wù)器中分布式文件系統(tǒng)根目錄下統(tǒng)一目錄及其子目錄的文件,即操作請(qǐng)求指令的對(duì)象文件??紤]到元數(shù)據(jù)服務(wù)器的系統(tǒng)容量及其對(duì)象文件靈活性,請(qǐng)求隊(duì)列中的操作請(qǐng)求指令待執(zhí)行完成后,解除該操作請(qǐng)求指令的對(duì)應(yīng)對(duì)象文件,便于該對(duì)象文件的二次使用及釋放分布式文件系統(tǒng)容量。
參照?qǐng)D6,圖6為本發(fā)明分布式文件系統(tǒng)元數(shù)據(jù)處理裝置的第三實(shí)施例的功能模塊示意圖。所述裝置還包括:重置模塊90。
所述獲取模塊10,還用于獲取當(dāng)前所有元數(shù)據(jù)服務(wù)器狀態(tài);
獲取當(dāng)前元數(shù)據(jù)服務(wù)器狀態(tài),所述元數(shù)據(jù)服務(wù)器不止一個(gè),根據(jù)客戶需求及其分布式文件系統(tǒng)文件的存儲(chǔ)情況,設(shè)置多個(gè)元數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)存儲(chǔ),并將已存儲(chǔ)數(shù)據(jù)的元數(shù)據(jù)服務(wù)器進(jìn)行關(guān)聯(lián),并以元數(shù)據(jù)服務(wù)器為單位,依次接收自客戶端發(fā)送的操作請(qǐng)求指令,待一元數(shù)據(jù)服務(wù)器執(zhí)行操作請(qǐng)求指令后,將該元數(shù)據(jù)服務(wù)器狀態(tài)設(shè)置為不可識(shí)別后,切換另一元數(shù)據(jù)服務(wù)器接收操作請(qǐng)求指令;并逐一對(duì)當(dāng)前所有元數(shù)據(jù)服務(wù)器進(jìn)行此種操作。
重置模塊90,用于若元數(shù)據(jù)服務(wù)器狀態(tài)都被設(shè)置為不可識(shí)別時(shí),重置元數(shù)據(jù)服務(wù)器狀態(tài)為可識(shí)別狀態(tài)。
根據(jù)預(yù)設(shè)周期,在周期內(nèi)獲取當(dāng)前元數(shù)據(jù)服務(wù)器狀態(tài),若獲取到的元數(shù)據(jù)服務(wù)器狀態(tài)都為不可識(shí)別狀態(tài)時(shí),重置元數(shù)據(jù)服務(wù)器狀態(tài)為可識(shí)別狀態(tài)。所述預(yù)設(shè)周期,在元數(shù)據(jù)服務(wù)器中設(shè)置當(dāng)前獲取元數(shù)據(jù)服務(wù)器狀態(tài)檢查周期,周期內(nèi)獲取當(dāng)前元數(shù)據(jù)服務(wù)器的狀態(tài)。所述設(shè)置元數(shù)據(jù)服務(wù)器狀態(tài)為不可識(shí)別狀態(tài),可通過(guò)設(shè)置當(dāng)前元數(shù)據(jù)服務(wù)器標(biāo)識(shí)控制元數(shù)據(jù)服務(wù)器是否為可識(shí)別狀態(tài),例如,設(shè)置元數(shù)據(jù)服務(wù)器標(biāo)識(shí)為0,為元數(shù)據(jù)服務(wù)器不可識(shí)別狀態(tài)。在當(dāng)前元數(shù)據(jù)服務(wù)器標(biāo)識(shí)都為0的狀態(tài)下,重置所有元數(shù)據(jù)服務(wù)器的標(biāo)識(shí)為1,用以重置元數(shù)據(jù)服務(wù)器為可識(shí)別狀態(tài)。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。