本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種分布式文件中客戶端配置管理系統(tǒng)及方法。
背景技術(shù):
隨著數(shù)據(jù)的爆炸增加,網(wǎng)絡(luò)存儲(chǔ)技術(shù)得到廣泛應(yīng)用,分布式文件系統(tǒng)作為其關(guān)鍵部件,存儲(chǔ)規(guī)模也越來(lái)越大。當(dāng)分布式文件系統(tǒng)集群中所掛載的客戶端越來(lái)越多時(shí),針對(duì)所有客戶端節(jié)點(diǎn),設(shè)置配置策略時(shí),通常我們采取的辦法是修改各個(gè)客戶端節(jié)點(diǎn)的配置文件,這種方式工作量大,且易出現(xiàn)差錯(cuò)。
技術(shù)實(shí)現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)中的不足,本發(fā)明的目的在于,提供一種分布式文件中客戶端配置管理系統(tǒng),包括:元數(shù)據(jù)服務(wù)器以及多個(gè)與元數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)通信的客戶端;
第一客戶端包括:配置庫(kù)參數(shù)配置模塊,配置庫(kù)參數(shù)發(fā)送模塊;
元數(shù)據(jù)服務(wù)器包括:服務(wù)器配置庫(kù)參數(shù)配置模塊,服務(wù)器配置參數(shù)廣播模塊,應(yīng)答回復(fù)模塊;
配置庫(kù)參數(shù)配置模塊用于使管理員配置第一客戶端的配置庫(kù)參數(shù);
配置庫(kù)參數(shù)發(fā)送模塊用于將配置后的第一客戶端配置庫(kù)參數(shù)發(fā)送至元數(shù)據(jù)服務(wù)器;
服務(wù)器配置庫(kù)參數(shù)配置模塊用于根據(jù)第一客戶端發(fā)送的配置庫(kù)參數(shù),對(duì)應(yīng)修改元數(shù)據(jù)服務(wù)器的配置庫(kù)參數(shù);
服務(wù)器配置參數(shù)廣播模塊用于將修改的配置庫(kù)參數(shù)向第一客戶端之外的客戶端進(jìn)行廣播;
應(yīng)答回復(fù)模塊用于向第一客戶端返回修改配置庫(kù)參數(shù)應(yīng)答消息。
優(yōu)選地,客戶端還包括:定時(shí)同步配置庫(kù)模塊;
定時(shí)同步配置庫(kù)模塊用于在每一預(yù)設(shè)的時(shí)間間隔,客戶端向元數(shù)據(jù)服務(wù)器發(fā)送配置庫(kù)參數(shù)同步請(qǐng)求,獲取元數(shù)據(jù)服務(wù)器配置庫(kù)參數(shù),并更新本地配置庫(kù)參數(shù)。
優(yōu)選地,客戶端還包括:用戶權(quán)限注冊(cè)模塊,用戶權(quán)限登錄模塊;
用戶權(quán)限注冊(cè)模塊用于提供用戶注冊(cè)權(quán)限的端口,使用戶通過(guò)注冊(cè)后的賬號(hào)和密碼登錄客戶端,用戶權(quán)限包括:管理員權(quán)限及普通用戶權(quán)限,管理員權(quán)限包括對(duì)配置庫(kù)參數(shù)的設(shè)置、修改、刪除及查看;普通用戶權(quán)限僅具有查看本客戶端配置庫(kù)的權(quán)限。
優(yōu)選地,元數(shù)據(jù)服務(wù)器還包括:儲(chǔ)存模塊;
儲(chǔ)存模塊用于元數(shù)據(jù)服務(wù)器在收到某客戶端發(fā)送的配置庫(kù)參數(shù)后,存入儲(chǔ)存模塊中。
優(yōu)選地,客戶端還包括:客戶端掛載模塊;
元數(shù)據(jù)服務(wù)器還包括:服務(wù)器配置庫(kù)參數(shù)發(fā)送模塊;
客戶端掛載模塊用于向元數(shù)據(jù)服務(wù)器發(fā)送配置庫(kù)初始化請(qǐng)求,獲取元數(shù)據(jù)服務(wù)器中的配置庫(kù)參數(shù),并將元數(shù)據(jù)服務(wù)器發(fā)送的配置庫(kù)參數(shù)緩存在本地客戶端緩存中;當(dāng)客戶端查詢配置參數(shù)時(shí),直接在客戶端緩存中獲??;
服務(wù)器配置庫(kù)參數(shù)發(fā)送模塊用于根據(jù)客戶端發(fā)送的配置庫(kù)初始化請(qǐng)求,向所述客戶端發(fā)送配置庫(kù)參數(shù)。
優(yōu)選地,客戶端還包括:客戶端配置庫(kù)管理模塊;
客戶端配置庫(kù)管理模塊用于將配置庫(kù)參數(shù)的設(shè)置、修改、刪除控制指令,發(fā)送至元數(shù)據(jù)服務(wù)器,對(duì)元數(shù)據(jù)服務(wù)器的配置庫(kù)參數(shù)進(jìn)行設(shè)置、修改、刪除,并接收元數(shù)據(jù)服務(wù)器處理結(jié)果。
優(yōu)選地,對(duì)配置庫(kù)參數(shù)的配置包括設(shè)置配置庫(kù)、修改配置庫(kù)、刪除配置庫(kù)和查看配置庫(kù)。
優(yōu)選地,配置庫(kù)參數(shù)包括:配置參數(shù)名CONF_NAME,客戶端網(wǎng)絡(luò)地址IP,文件系統(tǒng)中全路徑名PATH,多個(gè)擴(kuò)展字段UNUSEDn。
一種分布式文件中客戶端配置管理方法,方法包括:
配置第一客戶端的配置庫(kù)參數(shù),并將配置后的配置庫(kù)參數(shù)發(fā)送至元數(shù)據(jù)服務(wù)器;
元數(shù)據(jù)服務(wù)器根據(jù)第一客戶端發(fā)送的配置庫(kù)參數(shù),對(duì)應(yīng)修改元數(shù)據(jù)服務(wù)器的配置庫(kù)參數(shù);
元數(shù)據(jù)服務(wù)器將修改的配置庫(kù)參數(shù)向第一客戶端之外的客戶端進(jìn)行廣播;
客戶端收到廣播消息后,修改客戶端配置庫(kù)參數(shù);
元數(shù)據(jù)服務(wù)器向第一客戶端返回修改配置庫(kù)參數(shù)應(yīng)答消息。
優(yōu)選地,方法包括:
客戶端向元數(shù)據(jù)服務(wù)器發(fā)送配置庫(kù)初始化請(qǐng)求,獲取元數(shù)據(jù)服務(wù)器中的配置庫(kù)參數(shù);
元數(shù)據(jù)服務(wù)器根據(jù)客戶端發(fā)送的配置庫(kù)初始化請(qǐng)求,向所述客戶端發(fā)送配置庫(kù)參數(shù);
客戶端將元數(shù)據(jù)服務(wù)器發(fā)送的配置庫(kù)參數(shù)緩存在本地客戶端緩存中;
當(dāng)客戶端查詢配置參數(shù)時(shí),直接在客戶端緩存中獲取。
從以上技術(shù)方案可以看出,本發(fā)明具有以下優(yōu)點(diǎn):
分布式文件中客戶端配置管理系統(tǒng)提高客戶端參數(shù)的配置效率及精確性,提高系統(tǒng)的可維護(hù)性。消除傳統(tǒng)上手動(dòng)修改各個(gè)客戶端節(jié)點(diǎn)配置參數(shù)的時(shí),造成的參數(shù)不一致和易出錯(cuò)的問(wèn)題;并將各個(gè)客戶端配置參數(shù)緩存在在客戶端本地,而不需要向元數(shù)據(jù)服務(wù)器請(qǐng)求,降低了服務(wù)器性能的消耗,降低了網(wǎng)絡(luò)帶寬的浪費(fèi);同時(shí)使用元數(shù)據(jù)服務(wù)器的廣播機(jī)制實(shí)現(xiàn)配置庫(kù)的一致性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明的技術(shù)方案,下面將對(duì)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為分布式文件中客戶端配置管理系統(tǒng)整體示意圖;
圖2為分布式文件中客戶端配置管理系統(tǒng)實(shí)施例示意圖;
圖3為分布式文件中客戶端配置管理方法流程圖。
具體實(shí)施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將運(yùn)用具體的實(shí)施例及附圖,對(duì)本發(fā)明保護(hù)的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部的實(shí)施例?;诒緦@械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本專利保護(hù)的范圍。
本實(shí)施例提供一種分布式文件中客戶端配置管理系統(tǒng),如圖1和圖2所示,包括:元數(shù)據(jù)服務(wù)器1以及多個(gè)與元數(shù)據(jù)服務(wù)器1進(jìn)行數(shù)據(jù)通信的客戶端2;
第一客戶端包括:配置庫(kù)參數(shù)配置模塊,配置庫(kù)參數(shù)發(fā)送模塊;元數(shù)據(jù)服務(wù)器1包括:服務(wù)器配置庫(kù)參數(shù)配置模塊,服務(wù)器配置參數(shù)廣播模塊,應(yīng)答回復(fù)模塊;
配置庫(kù)參數(shù)配置模塊用于使管理員配置第一客戶端的配置庫(kù)參數(shù);配置庫(kù)參數(shù)發(fā)送模塊用于將配置后的第一客戶端配置庫(kù)參數(shù)發(fā)送至元數(shù)據(jù)服務(wù)器;服務(wù)器配置庫(kù)參數(shù)配置模塊用于根據(jù)第一客戶端發(fā)送的配置庫(kù)參數(shù),對(duì)應(yīng)修改元數(shù)據(jù)服務(wù)器的配置庫(kù)參數(shù);服務(wù)器配置參數(shù)廣播模塊用于將修改的配置庫(kù)參數(shù)向第一客戶端之外的客戶端進(jìn)行廣播;應(yīng)答回復(fù)模塊用于向第一客戶端返回修改配置庫(kù)參數(shù)應(yīng)答消息。
這里的第一客戶端為多個(gè)與元數(shù)據(jù)服務(wù)器1進(jìn)行數(shù)據(jù)通信客戶端2的其中任意一個(gè)。用戶通過(guò)任意一個(gè)客戶端配置配置庫(kù)參數(shù)。對(duì)配置庫(kù)參數(shù)的配置包括設(shè)置配置庫(kù)、修改配置庫(kù)、刪除配置庫(kù)和查看配置庫(kù)。
配置庫(kù)參數(shù)包括:配置參數(shù)名CONF_NAME,客戶端網(wǎng)絡(luò)地址IP,文件系統(tǒng)中全路徑名PATH,多個(gè)擴(kuò)展字段UNUSEDn。
配置庫(kù)參數(shù)的使用可以包括:在系統(tǒng)程序文件中使用,在應(yīng)用軟件中使用。
本實(shí)施例中,客戶端還包括:用戶權(quán)限注冊(cè)模塊,用戶權(quán)限登錄模塊;
用戶權(quán)限注冊(cè)模塊用于提供用戶注冊(cè)權(quán)限的端口,使用戶通過(guò)注冊(cè)后的賬號(hào)和密碼登錄客戶端,用戶權(quán)限包括:管理員權(quán)限及普通用戶權(quán)限,管理員權(quán)限包括對(duì)配置庫(kù)參數(shù)的設(shè)置、修改、刪除及查看;普通用戶權(quán)限僅具有查看本客戶端配置庫(kù)的權(quán)限。
系統(tǒng)管理員具有配置庫(kù)管理權(quán)限,包括設(shè)置配置庫(kù)、修改配置庫(kù)、刪除配置庫(kù)和查看配置庫(kù)。而普通用戶僅具有查看本客戶端配置庫(kù)的權(quán)限。當(dāng)管理員客戶端發(fā)生設(shè)置、修改、刪除等配置庫(kù)變化情況時(shí),將把請(qǐng)求發(fā)送至元數(shù)據(jù)服務(wù)器,由服務(wù)線程接收請(qǐng)求并向其他客戶端廣播。這樣保證系統(tǒng)的安全。
本實(shí)施例中,元數(shù)據(jù)服務(wù)器還包括:儲(chǔ)存模塊;儲(chǔ)存模塊用于元數(shù)據(jù)服務(wù)器在收到某客戶端發(fā)送的配置庫(kù)參數(shù)后,存入儲(chǔ)存模塊中。
客戶端還包括:定時(shí)同步配置庫(kù)模塊;定時(shí)同步配置庫(kù)模塊用于在每一預(yù)設(shè)的時(shí)間間隔,客戶端向元數(shù)據(jù)服務(wù)器發(fā)送配置庫(kù)參數(shù)同步請(qǐng)求,獲取元數(shù)據(jù)服務(wù)器配置庫(kù)參數(shù),并更新本地配置庫(kù)參數(shù)。
服務(wù)器線程維護(hù)全局唯一的客戶端參數(shù)數(shù)據(jù),同時(shí)維持各個(gè)客戶端的配置參數(shù)的一致性。元數(shù)據(jù)服務(wù)器在收到某客戶端配置參數(shù)更改消息后,存入元數(shù)據(jù)存儲(chǔ)池中,并向其余所有客戶端廣播配置參數(shù)的變化值,以期實(shí)現(xiàn)多客戶端之間的配置參數(shù)一致性。
配置參數(shù)使用,當(dāng)客戶端對(duì)文件系統(tǒng)進(jìn)行任何操作時(shí),若使用某項(xiàng)配置參數(shù),將從客戶端緩存中獲取該配置參數(shù),并控制其對(duì)文件系統(tǒng)的操作。
本實(shí)施例中,客戶端還包括:客戶端掛載模塊;元數(shù)據(jù)服務(wù)器還包括:服務(wù)器配置庫(kù)參數(shù)發(fā)送模塊;
客戶端掛載模塊用于向元數(shù)據(jù)服務(wù)器發(fā)送配置庫(kù)初始化請(qǐng)求,獲取元數(shù)據(jù)服務(wù)器中的配置庫(kù)參數(shù),并將元數(shù)據(jù)服務(wù)器發(fā)送的配置庫(kù)參數(shù)緩存在本地客戶端緩存中;當(dāng)客戶端查詢配置參數(shù)時(shí),直接在客戶端緩存中獲??;服務(wù)器配置庫(kù)參數(shù)發(fā)送模塊用于根據(jù)客戶端發(fā)送的配置庫(kù)初始化請(qǐng)求,向所述客戶端發(fā)送配置庫(kù)參數(shù)。當(dāng)某個(gè)客戶端掛載時(shí),首先向元數(shù)據(jù)服務(wù)器發(fā)送獲取配置庫(kù)的請(qǐng)求,元數(shù)據(jù)服務(wù)器將其配置參數(shù)發(fā)送給客戶端,客戶端將獲取到的配置庫(kù)緩存在本地緩存中,當(dāng)客戶端查詢配置參數(shù)時(shí),直接在客戶端緩存中獲取。
本發(fā)明還提供一種分布式文件中客戶端配置管理方法,其特征在于,方法包括:
配置第一客戶端的配置庫(kù)參數(shù),并將配置后的配置庫(kù)參數(shù)發(fā)送至元數(shù)據(jù)服務(wù)器;
元數(shù)據(jù)服務(wù)器根據(jù)第一客戶端發(fā)送的配置庫(kù)參數(shù),對(duì)應(yīng)修改元數(shù)據(jù)服務(wù)器的配置庫(kù)參數(shù);
元數(shù)據(jù)服務(wù)器將修改的配置庫(kù)參數(shù)向第一客戶端之外的客戶端進(jìn)行廣播;
客戶端收到廣播消息后,修改客戶端配置庫(kù)參數(shù);
元數(shù)據(jù)服務(wù)器向第一客戶端返回修改配置庫(kù)參數(shù)應(yīng)答消息。
本方法中,客戶端向元數(shù)據(jù)服務(wù)器發(fā)送配置庫(kù)初始化請(qǐng)求,獲取元數(shù)據(jù)服務(wù)器中的配置庫(kù)參數(shù);
元數(shù)據(jù)服務(wù)器根據(jù)客戶端發(fā)送的配置庫(kù)初始化請(qǐng)求,向所述客戶端發(fā)送配置庫(kù)參數(shù);
客戶端將元數(shù)據(jù)服務(wù)器發(fā)送的配置庫(kù)參數(shù)緩存在本地客戶端緩存中;
當(dāng)客戶端查詢配置參數(shù)時(shí),直接在客戶端緩存中獲取。
客戶端主要由配置庫(kù)管理線程模塊、配置庫(kù)同步模塊及配置庫(kù)緩存組成??蛻舳藪燧d時(shí),主動(dòng)向元數(shù)據(jù)服務(wù)器發(fā)送配置庫(kù)初始化請(qǐng)求,獲取元數(shù)據(jù)服務(wù)器中的配置參數(shù),并緩存在本地客戶端緩存中。
客戶端配置庫(kù)管理模塊:用于將配置庫(kù)參數(shù)的設(shè)置、修改、刪除等請(qǐng)求發(fā)往元數(shù)據(jù)服務(wù)器,并接收元數(shù)據(jù)服務(wù)器處理結(jié)果,維護(hù)客戶端緩存配置庫(kù)。
客戶端配置庫(kù)同步模塊:為了維護(hù)所有客戶端配置庫(kù)的強(qiáng)一致性,本發(fā)名中采用定時(shí)同步機(jī)制,定時(shí)向元數(shù)據(jù)服務(wù)器發(fā)送同步請(qǐng)求,更新本地配置庫(kù)參數(shù)。
以客戶端A、B、C為例,多客戶端同步機(jī)制,本發(fā)明通過(guò)該機(jī)制實(shí)現(xiàn)多客戶端與元數(shù)據(jù)服務(wù)器的同步。其實(shí)現(xiàn)流程為:當(dāng)客戶端A配置庫(kù)發(fā)生改變時(shí),A向元數(shù)據(jù)服務(wù)器發(fā)送請(qǐng)求;元數(shù)據(jù)服務(wù)器收到A發(fā)送請(qǐng)求,修改元數(shù)據(jù)服務(wù)器中的配置庫(kù)值后,將新的配置參數(shù)向其余客戶端B、客戶端C進(jìn)行廣播,客戶端B、C收到廣播消息后,修改客戶端緩存配置庫(kù)參數(shù),最后向客戶端A返回應(yīng)答消息。
本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參考即可。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。