亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種分布式集群系統(tǒng)的制作方法

文檔序號(hào):11677216閱讀:221來(lái)源:國(guó)知局
一種分布式集群系統(tǒng)的制造方法與工藝

本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種分布式集群系統(tǒng)。



背景技術(shù):

現(xiàn)有技術(shù)中,常見(jiàn)的分布式集群存儲(chǔ)系統(tǒng)在客戶(hù)端下發(fā)數(shù)據(jù)后,會(huì)在后段存儲(chǔ)中對(duì)數(shù)據(jù)進(jìn)行合并等操作。而如果出現(xiàn)機(jī)器掉電、集群故障等情況,會(huì)造成數(shù)據(jù)丟失的情況發(fā)生。因此,如何避免數(shù)據(jù)丟失的情況發(fā)生,提高數(shù)據(jù)安全機(jī)制,提升用戶(hù)體驗(yàn),增加產(chǎn)品競(jìng)爭(zhēng)力,是現(xiàn)今急需解決的問(wèn)題。



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

本發(fā)明的目的是提供一種分布式集群系統(tǒng),以通過(guò)在后端存儲(chǔ)中增加的非易失性存儲(chǔ)設(shè)備和非易失性存儲(chǔ)設(shè)備管理模塊,避免數(shù)據(jù)丟失的情況發(fā)生,提高數(shù)據(jù)安全機(jī)制,提升用戶(hù)體驗(yàn),增加產(chǎn)品競(jìng)爭(zhēng)力。

為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種分布式集群系統(tǒng),包括客戶(hù)端和后端存儲(chǔ),所述后端存儲(chǔ),還包括:非易失性存儲(chǔ)設(shè)備和非易失性存儲(chǔ)設(shè)備管理模塊;

所述非易失性存儲(chǔ)設(shè)備用于存儲(chǔ)所述客戶(hù)端發(fā)送的直寫(xiě)數(shù)據(jù);

所述非易失性存儲(chǔ)設(shè)備管理模塊用于對(duì)所述非易失性存儲(chǔ)設(shè)備中的數(shù)據(jù)進(jìn)行預(yù)設(shè)操作和響應(yīng)所述客戶(hù)端的讀請(qǐng)求;其中,所述預(yù)設(shè)操作包括數(shù)據(jù)回放、數(shù)據(jù)回滾和數(shù)據(jù)合并后落盤(pán)。

可選的,該系統(tǒng)還包括:

共享內(nèi)存管理模塊,用于響應(yīng)所述客戶(hù)端發(fā)送的內(nèi)存消息,對(duì)共享內(nèi)存模塊中的內(nèi)存塊進(jìn)行統(tǒng)一的管理。

可選的,所述共享內(nèi)存管理模塊,包括:

管理單元,用于根據(jù)預(yù)設(shè)配置在所述共享內(nèi)存模塊中創(chuàng)建對(duì)應(yīng)的共享內(nèi)存塊;其中,所述根據(jù)預(yù)設(shè)配置包括所述共享內(nèi)存塊的大小和個(gè)數(shù)。

可選的,該系統(tǒng)還包括:

本地硬盤(pán),用于與所述共享內(nèi)存模塊進(jìn)行數(shù)據(jù)交互,存放所述客戶(hù)端的預(yù)讀文件。

可選的,所述本地硬盤(pán)具體為本地ssd硬盤(pán)。

可選的,所述非易失性存儲(chǔ)設(shè)備和非易失性存儲(chǔ)設(shè)備管理模塊具體為:nvram和nvramstore模塊。

可選的,所述nvramstore模塊具體位于所述后端存儲(chǔ)的ecbackend和filestore之間。

本發(fā)明所提供的一種分布式集群系統(tǒng),包括客戶(hù)端和后端存儲(chǔ),所述后端存儲(chǔ),還包括:非易失性存儲(chǔ)設(shè)備和非易失性存儲(chǔ)設(shè)備管理模塊;所述非易失性存儲(chǔ)設(shè)備用于存儲(chǔ)所述客戶(hù)端發(fā)送的直寫(xiě)數(shù)據(jù);所述非易失性存儲(chǔ)設(shè)備管理模塊用于對(duì)所述非易失性存儲(chǔ)設(shè)備中的數(shù)據(jù)進(jìn)行預(yù)設(shè)操作和響應(yīng)所述客戶(hù)端的讀請(qǐng)求;其中,所述預(yù)設(shè)操作包括數(shù)據(jù)回放、數(shù)據(jù)回滾和數(shù)據(jù)合并后落盤(pán);

可見(jiàn),本發(fā)明通過(guò)非易失性存儲(chǔ)設(shè)備存儲(chǔ)客戶(hù)端發(fā)送的直寫(xiě)數(shù)據(jù),即使機(jī)器掉電也不會(huì)丟失數(shù)據(jù),避免了數(shù)據(jù)丟失的情況發(fā)生,提高了數(shù)據(jù)安全機(jī)制,通過(guò)非易失性存儲(chǔ)設(shè)備管理模塊根據(jù)客戶(hù)端的請(qǐng)求,對(duì)非易失性存儲(chǔ)設(shè)備進(jìn)行管理,使非易失性存儲(chǔ)設(shè)備可以更好的融入后端存儲(chǔ),提升了用戶(hù)體驗(yàn),增加了產(chǎn)品競(jìng)爭(zhēng)力。

附圖說(shuō)明

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

圖1為本發(fā)明實(shí)施例所提供的一種分布式集群系統(tǒng)的結(jié)構(gòu)圖;

圖2為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的結(jié)構(gòu)圖;

圖3為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的拓?fù)鋱D;

圖4為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的后端存儲(chǔ)的拓?fù)鋱D;

圖5為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的客戶(hù)端直寫(xiě)的拓?fù)鋱D;

圖6為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的客戶(hù)端讀操作的時(shí)序圖;

圖7為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的本地硬盤(pán)讀緩存加速的流程示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

請(qǐng)參考圖1,圖1為本發(fā)明實(shí)施例所提供的一種分布式集群系統(tǒng)的結(jié)構(gòu)圖。該系統(tǒng)可以包括:包括客戶(hù)端1和后端存儲(chǔ)2,后端存儲(chǔ)2還包括:非易失性存儲(chǔ)設(shè)備21和非易失性存儲(chǔ)設(shè)備管理模塊22;

非易失性存儲(chǔ)設(shè)備21用于存儲(chǔ)客戶(hù)端1發(fā)送的直寫(xiě)數(shù)據(jù);

非易失性存儲(chǔ)設(shè)備管理模塊22用于對(duì)非易失性存儲(chǔ)設(shè)備21中的數(shù)據(jù)進(jìn)行預(yù)設(shè)操作和響應(yīng)客戶(hù)端1的讀請(qǐng)求;其中,預(yù)設(shè)操作包括數(shù)據(jù)回放、數(shù)據(jù)回滾和數(shù)據(jù)合并后落盤(pán)。

可以理解的是,非易失性存儲(chǔ)設(shè)備21可以為非易失性隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(non-volatilerandomaccessmemory,nvram),nvram是斷電后仍能保持?jǐn)?shù)據(jù)的一種隨機(jī)存取存儲(chǔ)器(random-accessmemory,ram)。nvram優(yōu)勢(shì)是容量大,占用pcie槽,而不占用dimm槽,內(nèi)部集成移動(dòng)數(shù)據(jù)的處理器,會(huì)代替cpu把數(shù)據(jù)移動(dòng)到nvram里,不占用cpu處理周期;也可以為其他斷電后仍能保持?jǐn)?shù)據(jù)的存儲(chǔ)設(shè)備。若非易失性存儲(chǔ)設(shè)備21為nvram,則對(duì)應(yīng)的非易失性存儲(chǔ)設(shè)備管理模塊22可以為nvramstore模塊。對(duì)于非易失性存儲(chǔ)設(shè)備21的具體裝置的選擇以及對(duì)應(yīng)的非易失性存儲(chǔ)設(shè)備管理模塊22的具體設(shè)置,本實(shí)施例不做任何限制。

需要說(shuō)明的是,本實(shí)施例中客戶(hù)端1的數(shù)據(jù)寫(xiě)入方式可以為直寫(xiě)方式,把數(shù)據(jù)直接推送給后端存儲(chǔ)2,不會(huì)在本地緩存中停留,使用非易失性存儲(chǔ)設(shè)備21存儲(chǔ)下發(fā)的數(shù)據(jù)。通過(guò)非易失性存儲(chǔ)設(shè)備管理模塊22管理非易失性存儲(chǔ)設(shè)備21,可以把objectcacher(分布式存儲(chǔ)中osd端的cache層,用于緩存前端發(fā)來(lái)的消息)中的部分功能移到非易失性存儲(chǔ)設(shè)備管理模塊22中,以實(shí)現(xiàn)數(shù)據(jù)讀寫(xiě)、合并等功能,非易失性存儲(chǔ)設(shè)備管理模塊22基本取代了journal的功能,后續(xù)即使journal模塊依然存在,也不需要再保存客戶(hù)端1發(fā)來(lái)的原始數(shù)據(jù)。非易失性存儲(chǔ)設(shè)備管理模塊22可以為全局緩存保護(hù)機(jī)制的重點(diǎn)。

具體的,非易失性存儲(chǔ)設(shè)備管理模塊22可以位于在ecbackend(糾刪后端處理模塊)和filestore(對(duì)象存儲(chǔ)實(shí)現(xiàn)模式,封裝前端發(fā)來(lái)的io操作,將每個(gè)object視為一個(gè)文件)之間,接受客戶(hù)端1直接寫(xiě)入的數(shù)據(jù),通過(guò)后端存儲(chǔ)2中的模塊一層層傳遞后寫(xiě)入非易失性存儲(chǔ)設(shè)備21,非易失性存儲(chǔ)設(shè)備管理模塊22可以申請(qǐng)一定空間的內(nèi)存,對(duì)非易失性存儲(chǔ)設(shè)備21中的數(shù)據(jù)進(jìn)行回放(重啟時(shí))、回滾、數(shù)據(jù)合并后落盤(pán)等操作,同時(shí)也可以響應(yīng)客戶(hù)端1的讀請(qǐng)求。對(duì)于非易失性存儲(chǔ)設(shè)備21和非易失性存儲(chǔ)設(shè)備管理模塊22在后端存儲(chǔ)2中的具體位置,以及非易失性存儲(chǔ)設(shè)備管理模塊22對(duì)非易失性存儲(chǔ)設(shè)備21具體管理過(guò)程,本實(shí)施例不做任何限制。

優(yōu)選的,客戶(hù)端2的前端還可以包括用于響應(yīng)客戶(hù)端2發(fā)送的內(nèi)存消息,對(duì)共享內(nèi)存模塊中的內(nèi)存塊進(jìn)行統(tǒng)一的管理的共享內(nèi)存管理模塊,以減少重復(fù)讀取數(shù)據(jù)所帶來(lái)的內(nèi)存浪費(fèi),提高資源利用率。

優(yōu)選的,客戶(hù)端2的前端還可以包括用于與共享內(nèi)存模塊進(jìn)行數(shù)據(jù)交互,存放客戶(hù)端2的預(yù)讀文件的本地硬盤(pán)。通過(guò)增加的本地硬盤(pán)作為客戶(hù)端讀的二級(jí)緩存,提高小文件重讀效率,提升產(chǎn)品性能。本地硬盤(pán)可以具體為固態(tài)硬盤(pán)(ssd),也可以為其他硬盤(pán),本實(shí)施例對(duì)此不做任何限制。

本實(shí)施例中,本發(fā)明通過(guò)非易失性存儲(chǔ)設(shè)備21存儲(chǔ)客戶(hù)端1發(fā)送的直寫(xiě)數(shù)據(jù),即使機(jī)器掉電也不會(huì)丟失數(shù)據(jù),避免了數(shù)據(jù)丟失的情況發(fā)生,提高了數(shù)據(jù)安全機(jī)制,通過(guò)非易失性存儲(chǔ)設(shè)備管理模塊22根據(jù)客戶(hù)端1的請(qǐng)求,對(duì)非易失性存儲(chǔ)設(shè)備21進(jìn)行管理,使非易失性存儲(chǔ)設(shè)備21可以更好的融入后端存儲(chǔ)2,提升了用戶(hù)體驗(yàn),增加了產(chǎn)品競(jìng)爭(zhēng)力。

請(qǐng)參考圖2、圖3、圖4、圖5、圖6和圖7,圖2為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的結(jié)構(gòu)圖;圖3為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的拓?fù)鋱D;圖4為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的后端存儲(chǔ)的拓?fù)鋱D;圖5為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的客戶(hù)端直寫(xiě)的拓?fù)鋱D;圖6為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的客戶(hù)端讀操作的時(shí)序圖;圖7為本發(fā)明實(shí)施例所提供的另一種分布式集群系統(tǒng)的本地硬盤(pán)讀緩存加速的流程示意圖。該系統(tǒng)可以包括:客戶(hù)端1、后端存儲(chǔ)2、共享內(nèi)存管理模塊3、共享內(nèi)存模塊4和本地ssd硬盤(pán)5。

其中,所述后端存儲(chǔ)2包括nvram211和nvramstore模塊221。共享內(nèi)存管理模塊3用于響應(yīng)客戶(hù)端1發(fā)送的內(nèi)存消息,對(duì)共享內(nèi)存模塊4中的內(nèi)存塊進(jìn)行統(tǒng)一的管理。本地ssd硬盤(pán)5用于與共享內(nèi)存模塊4進(jìn)行數(shù)據(jù)交互,存放客戶(hù)端1的預(yù)讀文件。

可以理解的是,共享內(nèi)存管理模塊3,可以作為一個(gè)單獨(dú)的進(jìn)程啟動(dòng),圍繞共享內(nèi)存模塊4中的共享內(nèi)存提供內(nèi)存管理、緩存配額、ssd緩存加速、信息統(tǒng)計(jì),故障處理,內(nèi)存數(shù)據(jù)老化及ssd數(shù)據(jù)激活等功能。對(duì)于共享內(nèi)存管理模塊3對(duì)共享內(nèi)存模塊4的具體管理過(guò)程和與客戶(hù)端交互過(guò)程,可以由設(shè)計(jì)人員根據(jù)實(shí)用場(chǎng)景和用戶(hù)需求自行設(shè)置,本實(shí)施例對(duì)此不做任何限制。

具體的,共享內(nèi)存管理模塊3在啟動(dòng)時(shí)可以通過(guò)管理單元根據(jù)預(yù)先配置的共享內(nèi)存大小和個(gè)數(shù),在共享內(nèi)存模塊4中創(chuàng)建一系列的共享內(nèi)存塊。客戶(hù)端1的緩存管理模塊可以在啟動(dòng)時(shí)將共享內(nèi)存塊加載到自己的進(jìn)程空間,當(dāng)需要從共享內(nèi)存塊中讀數(shù)據(jù)時(shí),根據(jù)從共享內(nèi)存管理模塊3獲取的共享內(nèi)存塊的編號(hào)和偏移量,直接訪(fǎng)問(wèn)共享內(nèi)存模塊4中指定的內(nèi)存塊??蛻?hù)端1啟動(dòng)之后會(huì)與之前已經(jīng)啟動(dòng)的共享內(nèi)存模塊4建立連接并將申請(qǐng)好的共享內(nèi)存塊映射到自己的進(jìn)程空間中。實(shí)際讀取的時(shí)候,會(huì)先向共享內(nèi)存模塊4發(fā)出請(qǐng)求,獲取相對(duì)的共享內(nèi)存塊的內(nèi)存地址,然后再向后端集群發(fā)出讀取請(qǐng)求,待數(shù)據(jù)返回之后將其放入指定的共享內(nèi)存塊,再做后續(xù)處理。

需要說(shuō)明的是,本地ssd硬盤(pán)5可以作為小文件緩存,與共享內(nèi)存模塊4進(jìn)行數(shù)據(jù)交換,存放預(yù)讀文件的數(shù)據(jù)。對(duì)于本地ssd硬盤(pán)5的具體設(shè)置位置以及具體的接入方式,本實(shí)施例不做任何限制。

具體的,當(dāng)收到客戶(hù)端1的讀數(shù)據(jù)請(qǐng)求時(shí),首先判斷共享內(nèi)存模塊4中的共享內(nèi)存塊中是否有數(shù)據(jù),有數(shù)據(jù)時(shí)直接返回共享內(nèi)存塊的編號(hào)和偏移量。否則再判斷共享內(nèi)存和配額是否充足;共享內(nèi)存和配額均充足時(shí),申請(qǐng)內(nèi)存塊,然后判斷本地ssd硬盤(pán)5中是否有數(shù)據(jù);本地ssd硬盤(pán)5中有數(shù)據(jù)時(shí),將數(shù)據(jù)拷貝到申請(qǐng)的內(nèi)存塊并向客戶(hù)端1返回;ssd中沒(méi)有數(shù)據(jù)時(shí),也將申請(qǐng)的內(nèi)存塊返回給客戶(hù)端1,用于客戶(hù)端1發(fā)起向后端存儲(chǔ)2實(shí)際讀取數(shù)據(jù)的操作。

可以理解的是,本實(shí)施例所提供的分布式集群系統(tǒng)可以如圖3所示,圖中每個(gè)samba進(jìn)程和nfs進(jìn)程均可以為一個(gè)客戶(hù)端1,共享內(nèi)存管理和共享內(nèi)存區(qū)域可以分別為共享內(nèi)存管理模塊3和共享內(nèi)存模塊4,二級(jí)ssd可以為本地ssd硬盤(pán)5,客戶(hù)端1向后端存儲(chǔ)2直寫(xiě)數(shù)據(jù),經(jīng)過(guò)后端存儲(chǔ)2中的流程返回確認(rèn)字符(ack)。對(duì)于后端存儲(chǔ)2的具體結(jié)構(gòu)可以如圖4所示,mem和nvramstore可以分別為nvram211和nvramstore模塊221??蛻?hù)端1向后端存儲(chǔ)2直寫(xiě)數(shù)據(jù)的具體過(guò)程可以如圖5所示,客戶(hù)端1先向各自的libicfsfs.so庫(kù)寫(xiě)入數(shù)據(jù),再通過(guò)libicfsfs.so庫(kù)直接發(fā)送至后端存儲(chǔ)2,經(jīng)過(guò)后端存儲(chǔ)2的處理流程返回確認(rèn)字符(ack)。

需要說(shuō)明的是,對(duì)于客戶(hù)端1進(jìn)行讀操作時(shí)與共享內(nèi)存管理模塊3的具體訪(fǎng)問(wèn)過(guò)程,可以如圖5所示,cliert和gbcm可以分別為客戶(hù)端1和共享內(nèi)存管理模塊3。對(duì)于共享內(nèi)存管理模塊3的ssd讀緩存加速功能的具體流程可以如圖7所示。只要可以通過(guò),共享內(nèi)存管理模塊3將多個(gè)客戶(hù)端1的讀緩存統(tǒng)一管理,減少重復(fù)讀取數(shù)據(jù)所帶來(lái)的內(nèi)存浪費(fèi),提高資源利用率,對(duì)于共享內(nèi)存管理模塊3的具體管理過(guò)程,本實(shí)施例不做任何限制。

本實(shí)施例中,本發(fā)明實(shí)施例通過(guò)共享內(nèi)存管理模塊3,將多個(gè)客戶(hù)端1的讀緩存進(jìn)行統(tǒng)一管理,減少了重復(fù)讀取數(shù)據(jù)所帶來(lái)的內(nèi)存浪費(fèi),提高了資源利用率;通過(guò)將本地ssd硬盤(pán)5作為客戶(hù)端讀的二級(jí)緩存,提高小文件重讀效率,提升了產(chǎn)品性能,提升了用戶(hù)體驗(yàn)。

說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。

專(zhuān)業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的模塊,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專(zhuān)業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

以上對(duì)本發(fā)明所提供的分布式集群系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1