專利名稱:一種基于集群的可視媒體存儲(chǔ)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可視媒體技術(shù)領(lǐng)域,尤其涉及一種基于集群的可視媒體存儲(chǔ)系統(tǒng)。
背景技術(shù):
視覺是人類認(rèn)知世界重要的手段。人類接受信息的83%來(lái)自視覺,通過(guò)視覺獲取的信息是多種多樣的。由圖像、視頻和數(shù)字幾何這三種媒體信息組成的可視媒體已成為近年來(lái)的研究熱點(diǎn)。可視媒體具有非結(jié)構(gòu)性、數(shù)據(jù)量大、維數(shù)高以及語(yǔ)義多樣性等特點(diǎn)。海量的可視媒體信息因缺乏智能處理機(jī)制,增加了人們的認(rèn)知負(fù)擔(dān),降低了人們獲取知識(shí)、掌握規(guī)律以及進(jìn)行決策的效率。在現(xiàn)有計(jì)算機(jī)結(jié)構(gòu)基礎(chǔ)上,結(jié)合視覺信息的認(rèn)知機(jī)理和人工智能,尋求可視媒體智能信息處理的新方法,是目前學(xué)術(shù)界努力的重要方向,人們希望借此會(huì)帶來(lái)信息處理技術(shù)的突破性進(jìn)展。信息技術(shù)的快速發(fā)展為深度開發(fā)和廣泛應(yīng)用創(chuàng)造了前所未有的條件,信息的海量增長(zhǎng)也對(duì)信息智能處理提出了迫切需求。隨著網(wǎng)絡(luò)上多媒體數(shù)據(jù)的爆炸性增長(zhǎng),大量的多媒體數(shù)據(jù)在世界各地產(chǎn)生并共享,從而對(duì)海量可擴(kuò)展的存儲(chǔ)系統(tǒng)的需求也快速增長(zhǎng)。現(xiàn)有存儲(chǔ)系統(tǒng)技術(shù)受到空前的挑戰(zhàn)。由于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)(Relation Datatbase Management System, RDBMS)支持對(duì)象存儲(chǔ)類型,簡(jiǎn)單對(duì)象操作功能薄弱難以勝任對(duì)半結(jié)構(gòu)化和非結(jié)構(gòu)化的大型復(fù)雜數(shù)據(jù)的管理對(duì)于不確定性數(shù)據(jù)也無(wú)能為力,遠(yuǎn)不能滿足多媒體數(shù)據(jù)存儲(chǔ)的需求。因此在關(guān)系數(shù)據(jù)模型基礎(chǔ)上對(duì)其擴(kuò)展和改進(jìn),形成目前常用的多種多媒體數(shù)據(jù)存儲(chǔ)模型。目前存在著兩種常用的多媒體數(shù)據(jù)存儲(chǔ)模型1)面向?qū)ο蟮年P(guān)系數(shù)據(jù)模型。采用面向?qū)ο蠹夹g(shù)和數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,并在此基礎(chǔ)上采用面向?qū)ο缶幊陶Z(yǔ)言(如C++、Java)進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用軟件的開發(fā),提供給數(shù)據(jù)庫(kù)用戶以面向?qū)ο蟮臄?shù)據(jù)存儲(chǔ)、管理、檢索的功能。在關(guān)系數(shù)據(jù)庫(kù)中存儲(chǔ)多媒體對(duì)象的位置信息,即把關(guān)鍵詞、文本標(biāo)題、數(shù)據(jù)的存儲(chǔ)路徑及名稱等一些附加的描述信息作為媒體數(shù)據(jù)的索引存儲(chǔ)在RDBMS中。而實(shí)際的多媒體對(duì)象以某種命名規(guī)則存儲(chǔ)在數(shù)據(jù)庫(kù)之外的分離的服務(wù)器指定的目錄下,在對(duì)象的存儲(chǔ)路徑及關(guān)鍵詞之間建立聯(lián)系,通過(guò)地址鏈接顯示媒體數(shù)據(jù)。這種以外部文件的方式存儲(chǔ)多媒體對(duì)象不會(huì)降低數(shù)據(jù)庫(kù)的性能但這種方式存在一些缺點(diǎn),如多媒體數(shù)據(jù)存放在數(shù)據(jù)庫(kù)系統(tǒng)的外部,無(wú)法獲得數(shù)據(jù)庫(kù)對(duì)其自身數(shù)據(jù)提供的安全保護(hù)。2)純粹面向?qū)ο髷?shù)據(jù)庫(kù)。純粹面向?qū)ο髷?shù)據(jù)庫(kù)(Object-oriented Database, 00DB)采用全新的數(shù)據(jù)模型和模式,從最底層做起將面向?qū)ο竽P?、方法和機(jī)制與先進(jìn)的數(shù)據(jù)庫(kù)技術(shù)有機(jī)地結(jié)合起來(lái),利用ODQL語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)庫(kù)的查詢,其功能是在SQL功能的基礎(chǔ)之上,增加了適合基于內(nèi)容檢索的機(jī)制,如復(fù)雜的信息建模能力、語(yǔ)義模式的設(shè)計(jì);支持對(duì)象實(shí)例和類的動(dòng)態(tài)模式演進(jìn);支持大型工程事務(wù)管理;對(duì)象的版本和配置管理;導(dǎo)航式查詢和關(guān)聯(lián)查詢?cè)L問(wèn);支持分布式系統(tǒng)中獨(dú)立于平臺(tái)的大型對(duì)象的存儲(chǔ);計(jì)算完整的數(shù)據(jù)庫(kù)編程語(yǔ)言。目前,典型的商品化的面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)有 0NT0S DB、Gemstone> Objectivity、ObjectStone、02、Poet、Versant 等?,F(xiàn)有技術(shù)的缺點(diǎn)I、面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫(kù)存在著并行性低、網(wǎng)絡(luò)適應(yīng)性差,海量的可視媒體不能做到很好的支持,多媒體數(shù)據(jù)存放在數(shù)據(jù)庫(kù)系統(tǒng)的外部,無(wú)法獲得數(shù)據(jù)庫(kù)對(duì)其自身數(shù)據(jù)提供的安全保護(hù),而且數(shù)據(jù)恢復(fù)差,防突發(fā)能力不足,在分布式系統(tǒng)中缺乏負(fù)載均衡能力。2、純粹的面向?qū)ο竽P退龅腛ODB具有結(jié)構(gòu)清晰、效率高等優(yōu)點(diǎn),但此方法實(shí)施難度大,缺乏統(tǒng)一的數(shù)據(jù)模型以及堅(jiān)實(shí)理論基礎(chǔ),兼容性和可移植性差,與RDBMS不兼容,不支持SQL語(yǔ)句,通用性較差,目前難以做到通用
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的缺陷,提供一種基于集群的可視媒體存儲(chǔ)系統(tǒng),通過(guò)該系統(tǒng)提高了系統(tǒng)的并行性和可擴(kuò)展性,同時(shí)具有邏輯結(jié)構(gòu)清楚,對(duì)負(fù)載能夠自動(dòng)均衡的特點(diǎn)。一種基于集群的可視媒體存儲(chǔ)系統(tǒng),其特征在于,該系統(tǒng)由兩種集群節(jié)點(diǎn)組成,存儲(chǔ)節(jié)點(diǎn)和多媒體服務(wù)器節(jié)點(diǎn);存儲(chǔ)節(jié)點(diǎn)組織分布式的存儲(chǔ)設(shè)備,給用戶提供一個(gè)可擴(kuò)展的存儲(chǔ)卷,存儲(chǔ)在該卷的數(shù)據(jù)采用層次目錄結(jié)構(gòu)組織;多媒體服務(wù)器通過(guò)CMSS客戶端代理來(lái)訪問(wèn)CMSS ;該系統(tǒng)的軟件模塊分為9個(gè)部分,即客戶端包含用戶接口、IFS模塊、客戶端緩存模塊和網(wǎng)絡(luò)協(xié)議模塊,服務(wù)器包含成員管理模塊、數(shù)據(jù)備份模塊、網(wǎng)絡(luò)協(xié)議、元數(shù)據(jù)管理和服務(wù)器緩存模塊;其中,客戶端和服務(wù)器的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)了客戶端同服務(wù)器的通信功能,是基于TCP/IP ;用戶接口模塊是為了通過(guò)用戶態(tài)的程序接口,以便于應(yīng)用程序更好地利用CMSS的特性;CMSS客戶端是在Windows平臺(tái)上實(shí)現(xiàn)的,IFS模塊利用Windows提供的IFS接口提供應(yīng)用程序一個(gè)標(biāo)準(zhǔn)的文件訪問(wèn)接口,從而保證應(yīng)用程序透明地使用本系統(tǒng);客戶端緩存和服務(wù)器緩存模塊一起組成兩級(jí)緩存結(jié)構(gòu);元數(shù)據(jù)管理模塊實(shí)現(xiàn)了 CMSS的元數(shù)據(jù)管理功能,成員管理模塊實(shí)現(xiàn)CMSS的成員管理功能;數(shù)據(jù)備份模塊實(shí)現(xiàn)了不同磁盤服務(wù)器之間的數(shù)據(jù)備份和遷移,從而實(shí)現(xiàn)系統(tǒng)的高可靠性和負(fù)載平衡。優(yōu)選的,CMSS系統(tǒng)用戶請(qǐng)求處理流程為用戶通過(guò)客戶端代理向邏輯元數(shù)據(jù)服務(wù)器發(fā)請(qǐng)求,邏輯元數(shù)據(jù)服務(wù)器返回?cái)?shù)據(jù)存放的存儲(chǔ)服務(wù)器信息,然后客戶端代理再自動(dòng)向相應(yīng)的存儲(chǔ)服務(wù)器發(fā)請(qǐng)求,最后存儲(chǔ)服務(wù)器返回用戶請(qǐng)求的數(shù)據(jù)。優(yōu)選的,在CMSS中,所有的存儲(chǔ)服務(wù)器定期發(fā)送一個(gè)廣播心跳包,成員管理器通過(guò)監(jiān)聽這些心跳包來(lái)創(chuàng)建活動(dòng)存儲(chǔ)服務(wù)器列表;如果在一定的時(shí)間內(nèi)成員管理器不能夠收到一個(gè)存儲(chǔ)服務(wù)器的心跳包,成員管理器將認(rèn)為此服務(wù)器失效,并將它從自己的服務(wù)器列表中刪除;心跳包還包含服務(wù)器元數(shù)據(jù)和存儲(chǔ)資源使用情況等信息。優(yōu)選的,有3種事件會(huì)導(dǎo)致服務(wù)器列表的更新I)定期刷新事件每個(gè)存儲(chǔ)服務(wù)器定期刷新它的元數(shù)據(jù)信息,因?yàn)橐粋€(gè)存儲(chǔ)節(jié)點(diǎn)可能改變了自己的元數(shù)據(jù)等信息,而其他存儲(chǔ)節(jié)點(diǎn)可能保存的是舊的信息,因此需要定期更新,采用3分鐘的更新周期;2)存儲(chǔ)節(jié)點(diǎn)加入事件當(dāng)添加新的存儲(chǔ)節(jié)點(diǎn)時(shí),新存儲(chǔ)節(jié)點(diǎn)會(huì)廣播一個(gè)加入事件,其他的存儲(chǔ)節(jié)點(diǎn)收到此事件,會(huì)更新自己的服務(wù)器列表信息,并將自己的節(jié)點(diǎn)信息反饋給新節(jié)點(diǎn),新節(jié)點(diǎn)也根據(jù)反饋信息生成自己的存儲(chǔ)節(jié)點(diǎn)列表;3)存儲(chǔ)節(jié)點(diǎn)斷開事件當(dāng)成員管理器發(fā)現(xiàn)一個(gè)節(jié)點(diǎn)失效,會(huì)廣播一個(gè)斷開事件,其他存儲(chǔ)節(jié)點(diǎn)收到此事件,會(huì)自動(dòng)在存儲(chǔ)節(jié)點(diǎn)列表中刪除失效節(jié)點(diǎn)的信息。優(yōu)選的,在服務(wù)器上有一個(gè)備份管理器BM(backup manage),它接受用戶的備份請(qǐng)求,并根據(jù)整個(gè)系統(tǒng)的負(fù)載情況,在適當(dāng)?shù)臅r(shí)候創(chuàng)建備份任務(wù)處理線程,啟動(dòng)備份過(guò)程;備份源BS (backup source)是需要備份的光盤服務(wù)器,備份目的BT (backup target)是要把數(shù)據(jù)備份到的光盤服務(wù)器,它要提供足夠的空間存放備份的數(shù)據(jù)。優(yōu)選的,為了實(shí)現(xiàn)備份3方的協(xié)同工作,首先需要定義一個(gè)NBP (network backupprotocol)協(xié)議,它規(guī)定了整個(gè)備份過(guò)程的各個(gè)步驟,并定義了 BM、BS和BT之間的通信接口以及它們之間的交互過(guò)程;數(shù)據(jù)的備份流程為下面8個(gè)步驟Stepl :備份任務(wù)處理線程向源命令處理線程發(fā)送備份命令;Step2 :源命令處理線程將命令插入命令隊(duì)列,并在響應(yīng)代理上等待源工作線程的處理結(jié)果; Step3 :源工作線程從源命令隊(duì)列讀取相應(yīng)的命令,并向目的處理線程轉(zhuǎn)發(fā)此命令;Step4 :目的處理線程接收到命令后,進(jìn)行相應(yīng)的處理,并返回處理結(jié)果給源工作線程;Step5 :源工作線程收到處理結(jié)果插入響應(yīng)隊(duì)列;Step6 :源命令處理線程從響應(yīng)隊(duì)列讀取處理結(jié)果,并將處理結(jié)果發(fā)送給備份任務(wù)處理線程;St印7 :源工作線程連續(xù)地將數(shù)據(jù)傳輸?shù)侥康亩?;StepS:在數(shù)據(jù)傳輸?shù)倪^(guò)程中,源命令處理線程及時(shí)向備份任務(wù)處理線程報(bào)告?zhèn)浞莸漠?dāng)前狀態(tài)。本發(fā)明技術(shù)方案帶來(lái)的有益效果1)CMSS系統(tǒng)是基于普通的PC機(jī)即可構(gòu)造成一種集群分布式網(wǎng)絡(luò)數(shù)據(jù)庫(kù),不需要購(gòu)置特別的高級(jí)設(shè)備和大型計(jì)算機(jī);2) CMSS系統(tǒng)采用針對(duì)多媒體應(yīng)用設(shè)計(jì)的,具有高度自治、自維護(hù)的集群策略,提高了系統(tǒng)的并行性和可擴(kuò)展性,同時(shí)具有邏輯結(jié)構(gòu)清楚,對(duì)負(fù)載能夠自動(dòng)均衡的特點(diǎn)。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖I是本發(fā)明中CMSS的系統(tǒng)結(jié)構(gòu)圖; 圖2是本發(fā)明中CMSS的系統(tǒng)模塊結(jié)構(gòu)圖;圖3是本發(fā)明中一個(gè)名字空間目錄樹實(shí)例圖;圖4是本發(fā)明中數(shù)據(jù)備份協(xié)議流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的目的提供一個(gè)基于PC集群的高性能集群多媒體存儲(chǔ)系統(tǒng),該系統(tǒng)采用高度自治、自維護(hù)的集群策略,提高了系統(tǒng)的并行性和可擴(kuò)展性;采用邏輯元數(shù)據(jù)管理技術(shù)、服務(wù)器數(shù)據(jù)備份技術(shù),提高系統(tǒng)的數(shù)據(jù)安全性和解決服務(wù)器之間的負(fù)載均衡。多媒體應(yīng)用的特點(diǎn)是讀請(qǐng)求遠(yuǎn)遠(yuǎn)多于寫請(qǐng)求,從而對(duì)存儲(chǔ)數(shù)據(jù)的修改很少,因此本發(fā)明提出的集群多媒體存儲(chǔ)系統(tǒng)(cluster multimedia storage system, CMSS)采用基于PC的存儲(chǔ)集群結(jié)構(gòu),每個(gè)節(jié)點(diǎn)管理自己的存儲(chǔ)設(shè)備,共同組織為一個(gè)可擴(kuò)展的高性能的存儲(chǔ)卷。圖I給出了 CMSS的系統(tǒng)結(jié)構(gòu)圖。CMSS由兩種集群節(jié)點(diǎn)組成;存儲(chǔ)節(jié)點(diǎn)和多媒體服務(wù)器節(jié)點(diǎn)。存儲(chǔ)節(jié)點(diǎn)組織分布式的存儲(chǔ)設(shè)備,給用戶提供一個(gè)可擴(kuò)展的存儲(chǔ)卷;存儲(chǔ)在該卷的數(shù)據(jù)采用層次目錄結(jié)構(gòu)組織。多媒體服務(wù)器通過(guò)CMSS客戶端代理來(lái)訪問(wèn)CMSS系統(tǒng),改變傳統(tǒng)的把所有用戶請(qǐng)求都發(fā)給管理服務(wù)器方式,而是讓用戶請(qǐng)求分散到各個(gè)服務(wù)器,這樣大大增強(qiáng)各個(gè)服務(wù)器的并行度,實(shí)現(xiàn)了負(fù)載平衡,從而提高了整個(gè)集群的性能。CMSS系統(tǒng)采用高自治、自維護(hù)的分布式策略,各個(gè)存儲(chǔ)節(jié)點(diǎn)能夠獨(dú)立地維護(hù)自己的存儲(chǔ)資源和文件的元數(shù)據(jù)及數(shù)據(jù)本身,并能夠獨(dú)立提供文件服務(wù),從而提高系統(tǒng)的可擴(kuò)展性。采用數(shù)據(jù)放置策略同數(shù)據(jù)遷移相結(jié)合的技術(shù),維護(hù)各存儲(chǔ)節(jié)點(diǎn)的負(fù)載平衡。CMSS系統(tǒng)采用智能數(shù)據(jù)放置策略,通過(guò)數(shù)據(jù)的使用情況,分析數(shù)據(jù)的相關(guān)性,采用將有相關(guān)性的數(shù)據(jù)盡可能放置在同一個(gè)存儲(chǔ)節(jié)點(diǎn),從而減少存儲(chǔ)節(jié)點(diǎn)之間的數(shù)據(jù)相關(guān)性,從而將任何節(jié)點(diǎn)的失效對(duì)其他節(jié)點(diǎn)的影響降低到最小,提高系統(tǒng)的可用性。CMSS系統(tǒng)用戶請(qǐng)求處理流程如圖I中虛線所示,用戶通過(guò)客戶端代理可以向邏輯元數(shù)據(jù)服務(wù)器發(fā)請(qǐng)求(步驟(I)),邏輯元數(shù)據(jù)服務(wù)器返回?cái)?shù)據(jù)存放的存儲(chǔ)服務(wù)器信息(步驟(2)),然后客戶端代理再自動(dòng)向相應(yīng)的存儲(chǔ)服務(wù)器發(fā)請(qǐng)求(步驟(3)),最后存儲(chǔ)服務(wù)器返回用戶請(qǐng)求的數(shù)據(jù)(步驟(4))。CMSS系統(tǒng)的軟件結(jié)構(gòu)如圖2所示,按照功能劃分,CMSS可以分為9個(gè)模塊,客戶端包含用戶接口、IFS模塊、客戶端緩存(Cache)模塊和網(wǎng)絡(luò)協(xié)議模塊,服務(wù)器包含成員管理模塊、數(shù)據(jù)備份模塊、網(wǎng)絡(luò)協(xié)議、元數(shù)據(jù)管理和服務(wù)器緩存(Cache)模塊。其中,客戶端和服務(wù)器的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)了客戶端同服務(wù)器的通信功能,是基于TCP/IP。用戶接口模塊是為了通過(guò)用戶態(tài)的程序接口,以便于應(yīng)用程序更好地利用CMSS的特性。CMSS系統(tǒng)客戶端是在Windows平臺(tái)上實(shí)現(xiàn)的,IFS模塊利用Windows提供的IFS接口提供應(yīng)用程序一個(gè)標(biāo)準(zhǔn)的文件訪問(wèn)接口,從而保證應(yīng)用程序透明地使用本系統(tǒng)??蛻舳薈ache和服務(wù)器Cache模塊一起組成兩級(jí)Cache結(jié)構(gòu),是為了提高系統(tǒng)的性能。元數(shù)據(jù)管理模塊實(shí)現(xiàn)了 CMSS系統(tǒng)的元數(shù)據(jù)管理功能,成員管理模塊實(shí)現(xiàn)CMSS的成員管理功能;數(shù)據(jù)備份模塊實(shí)現(xiàn)了不同磁盤服務(wù)器之間的數(shù)據(jù)備份和遷移,從而實(shí)現(xiàn)系統(tǒng)的高可靠性和負(fù)載平衡。傳統(tǒng)的SAN存儲(chǔ)系統(tǒng)具有很好的可擴(kuò)展性,但是其元數(shù)據(jù)服務(wù)器是其瓶頸,針對(duì)多媒體數(shù)據(jù)訪問(wèn)的特點(diǎn),CMSS系統(tǒng)采用邏輯元數(shù)據(jù)服務(wù)器(logical metadata server,LMS)來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的元數(shù)據(jù)管理,也就是采用高自治自維護(hù)的集群策略,各個(gè)存儲(chǔ)節(jié)點(diǎn)能夠獨(dú)立地維護(hù)自己的存儲(chǔ)資源和元數(shù)據(jù)及數(shù)據(jù)本身;并能夠獨(dú)立提供存儲(chǔ)服務(wù),元數(shù)據(jù)服務(wù)器只管理不同存儲(chǔ)服務(wù)器之間的元數(shù)據(jù),從而減輕了元數(shù)據(jù)服務(wù)器的負(fù)擔(dān),提高系統(tǒng)的性能。采用數(shù)據(jù)放置策略同數(shù)據(jù)遷移相結(jié)合的技術(shù),維護(hù)各存儲(chǔ)服務(wù)器的負(fù)載平衡。LMS由各個(gè)服務(wù)器選舉產(chǎn)生(例如,采用IP地址最小的服務(wù)器擔(dān)任),其管理的名字空間元數(shù)據(jù)由各個(gè)服務(wù)器匯總產(chǎn)生。一旦LMS失效,系統(tǒng)就會(huì)自動(dòng)產(chǎn)生新的LMS,因此不存在單點(diǎn)失效。LMS只保存namespace的一級(jí)目錄和同父目錄不在同一個(gè)服務(wù)器的目錄或文件信息,這樣LMS保存的全局目錄信息很少且相對(duì)靜態(tài)。為了提高性能,LMS收集完成所有的全局目錄信息后,將它發(fā)給所有的存儲(chǔ)節(jié)點(diǎn)和用戶節(jié)點(diǎn),用戶節(jié)點(diǎn)代理程序有這個(gè)全局目錄信息,就能夠直接得到服務(wù)的文件和目錄所在的存儲(chǔ)節(jié)點(diǎn),不需要訪問(wèn)LMS。各個(gè)存儲(chǔ)節(jié)點(diǎn)上的數(shù)據(jù)以多個(gè)獨(dú)立的子樹的形式存在,各個(gè)存儲(chǔ)節(jié)點(diǎn)將這些子樹根節(jié)點(diǎn)信息組成一個(gè)比較小的目錄表。各個(gè)存儲(chǔ)節(jié)點(diǎn)將它自己的目錄表提交給LMS,由LMS統(tǒng)一管理。由LMS生成一個(gè)全局目錄樹,也就是名字空間目錄樹。圖3是名字空間目錄樹的一個(gè)實(shí)例,矩形框表示的節(jié)點(diǎn)存儲(chǔ)在存儲(chǔ)服務(wù)器I上,菱形框表示的節(jié)點(diǎn)存儲(chǔ)在存儲(chǔ)服務(wù)器2上,圓角矩形框表示的節(jié)點(diǎn)存儲(chǔ)在 存儲(chǔ)服務(wù)器3上。在CMSS中,存儲(chǔ)服務(wù)器列表作為一個(gè)軟狀態(tài)(同Sorrento系統(tǒng)相似),能夠自動(dòng)適應(yīng)環(huán)境的改變(如節(jié)點(diǎn)的失效或增加),系統(tǒng)建立在相互自治的基礎(chǔ)上,各個(gè)節(jié)點(diǎn)相互檢測(cè)并自動(dòng)調(diào)整自己的策略,一起合作完成系統(tǒng)的資源虛擬化、數(shù)據(jù)定位和放置等。在CMSS中,所有的存儲(chǔ)服務(wù)器定期發(fā)送一個(gè)廣播心跳包,成員管理器通過(guò)監(jiān)聽這些心跳包來(lái)創(chuàng)建活動(dòng)存儲(chǔ)服務(wù)器列表。如果在一定的時(shí)間內(nèi)成員管理器不能夠收到一個(gè)存儲(chǔ)服務(wù)器的心跳包,成員管理器將認(rèn)為此服務(wù)器失效,并將它從自己的服務(wù)器列表中刪除。心跳包還包含服務(wù)器元數(shù)據(jù)和存儲(chǔ)資源使用情況等信息。有3種事件會(huì)導(dǎo)致服務(wù)器列表的更新I)定期刷新事件。每個(gè)存儲(chǔ)服務(wù)器定期刷新它的元數(shù)據(jù)信息,因?yàn)橐粋€(gè)存儲(chǔ)節(jié)點(diǎn)可能改變了自己的元數(shù)據(jù)等信息,而其他存儲(chǔ)節(jié)點(diǎn)可能保存的是舊的信息,因此需要定期更新,在我們的測(cè)試環(huán)境,我們采用3分鐘的更新周期。2)存儲(chǔ)節(jié)點(diǎn)加入事件。當(dāng)添加新的存儲(chǔ)節(jié)點(diǎn)時(shí),新存儲(chǔ)節(jié)點(diǎn)會(huì)廣播一個(gè)加入事件,其他的存儲(chǔ)節(jié)點(diǎn)收到此事件,會(huì)更新自己的服務(wù)器列表信息,并將自己的節(jié)點(diǎn)信息反饋給新節(jié)點(diǎn),新節(jié)點(diǎn)也根據(jù)反饋信息生成自己的存儲(chǔ)節(jié)點(diǎn)列表。3)存儲(chǔ)節(jié)點(diǎn)斷開事件。當(dāng)成員管理器發(fā)現(xiàn)一個(gè)節(jié)點(diǎn)失效,會(huì)廣播一個(gè)斷開事件,其他存儲(chǔ)節(jié)點(diǎn)收到此事件,會(huì)自動(dòng)在存儲(chǔ)節(jié)點(diǎn)列表中刪除失效節(jié)點(diǎn)的信息。為了提高整個(gè)CMSS系統(tǒng)的可靠性,CMSS系統(tǒng)中還設(shè)計(jì)了數(shù)據(jù)備份模塊,它實(shí)現(xiàn)不同存儲(chǔ)服務(wù)器之間的數(shù)據(jù)備份。同時(shí)它也實(shí)現(xiàn)存儲(chǔ)服務(wù)器之間的數(shù)據(jù)遷移,將負(fù)載重的存儲(chǔ)服務(wù)器數(shù)據(jù)遷移到負(fù)載比較輕的存儲(chǔ)服務(wù)器上,從而保證整個(gè)CMSS系統(tǒng)的負(fù)載平衡。整個(gè)備份系統(tǒng)分為3部分,如圖4所不。在服務(wù)器上有一個(gè)備份管理器BM(backup manage),它接受用戶的備份請(qǐng)求,并根據(jù)整個(gè)系統(tǒng)的負(fù)載情況,在適當(dāng)?shù)臅r(shí)候創(chuàng)建備份任務(wù)處理線程,啟動(dòng)備份過(guò)程。備份源BS (backup source)是需要備份的光盤服務(wù)器,備份目的BT (backuptarget)是要把數(shù)據(jù)備份到的光盤服務(wù)器,它要提供足夠的空間存放備份的數(shù)據(jù)。為了實(shí)現(xiàn)備份3方的協(xié)同工作,首先需要定義一個(gè)NBP (network backupprotocol)協(xié)議,它規(guī)定了整個(gè)備份過(guò)程的各個(gè)步驟,并定義了 BM、BS和BT之間的通信接口以及它們之間的交互過(guò)程。下面通過(guò)介紹整個(gè)備份過(guò)程來(lái)說(shuō)明NBP協(xié)議。如圖4所示,數(shù)據(jù)的備份流程可以分下面8個(gè)步驟Stepl :備份任務(wù)處理線程向源命令處理線程發(fā)送備份命令;Step2 :源命令處理線程將命令插入命令隊(duì)列,并在響應(yīng)代理上等待源工作線程的處理結(jié)果Step3 :源工作線程從源命令隊(duì)列讀取相應(yīng)的命令,并向目的處理線程轉(zhuǎn)發(fā)此命令;Step4 :目的處理線程接收到命令后,進(jìn)行相應(yīng)的處理,并返回處理結(jié)果給源工作線程;Step5 :源工作線程收到處理結(jié)果插入響應(yīng)隊(duì)列;Step6 :源命令處理線程從響應(yīng)隊(duì)列讀取處理結(jié)果,并將處理結(jié)果發(fā)送給備份任務(wù)處理線程;St印7 :源工作線程連續(xù)地將數(shù)據(jù)傳輸?shù)侥康亩耍籗tepS:在數(shù)據(jù)傳輸?shù)倪^(guò)程中,源命令處理線程及時(shí)向備份任務(wù)處理線程報(bào)告?zhèn)浞莸漠?dāng)前狀態(tài)??偠灾?,CMSS系統(tǒng)主要是針對(duì)多媒體應(yīng)用來(lái)設(shè)計(jì)的,采用高自治、自維護(hù)的集群策略,提高了系統(tǒng)的并行性和可擴(kuò)展性;采用邏輯元數(shù)據(jù)管理,既實(shí)現(xiàn)了單一名字空間,又避免了單點(diǎn)失效。對(duì)于負(fù)載平衡問(wèn)題,CMSS系統(tǒng)通過(guò)服務(wù)器之間數(shù)據(jù)遷移解決了靜態(tài)負(fù)載平衡,盡可能保證各個(gè)服務(wù)器上的數(shù)據(jù)量平衡。本發(fā)明技術(shù)方案帶來(lái)的有益效果DCMSS系統(tǒng)是基于普通的PC機(jī)即可構(gòu)造成一種集群分布式網(wǎng)絡(luò)數(shù)據(jù)庫(kù),不需要購(gòu)置特別的高級(jí)設(shè)備和大型計(jì)算機(jī);2) CMSS系統(tǒng)采用針對(duì)多媒體應(yīng)用設(shè)計(jì)的,具有高度自治、自維護(hù)的集群策略,提高了系統(tǒng)的并行性和可擴(kuò)展性,同時(shí)具有邏輯結(jié)構(gòu)清楚,對(duì)負(fù)載能夠自動(dòng)均衡的特點(diǎn)。在負(fù)載均衡的設(shè)計(jì)中,本發(fā)明的CMSS系統(tǒng)采用的是靜態(tài)負(fù)載均衡策略,能夠較好的保證系統(tǒng)的負(fù)載均衡。但出了此種方法,還可以采用其他動(dòng)態(tài)的負(fù)載均衡測(cè)略,著將更加有效的使整個(gè)系統(tǒng)的負(fù)載均衡化。但動(dòng)態(tài)均衡策略也意味著更為復(fù)雜的設(shè)計(jì)。以上對(duì)本發(fā)明實(shí)施例所提供的一種基于集群的可視媒體存儲(chǔ)系統(tǒng),進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種基于集群的可視媒體存儲(chǔ)系統(tǒng),其特征在于,該系統(tǒng)由兩種集群節(jié)點(diǎn)組成,存儲(chǔ)節(jié)點(diǎn)和多媒體服務(wù)器節(jié)點(diǎn);存儲(chǔ)節(jié)點(diǎn)組織分布式的存儲(chǔ)設(shè)備,給用戶提供一個(gè)可擴(kuò)展的存儲(chǔ)卷,存儲(chǔ)在該卷的數(shù)據(jù)采用層次目錄結(jié)構(gòu)組織;多媒體服務(wù)器通過(guò)CMSS客戶端代理來(lái)訪問(wèn)CMSS ;該系統(tǒng)的軟件模塊分為9個(gè)部分,即客戶端包含用戶接口、IFS模塊、客戶端緩存模塊和網(wǎng)絡(luò)協(xié)議模塊,服務(wù)器包含成員管理模塊、數(shù)據(jù)備份模塊、網(wǎng)絡(luò)協(xié)議、元數(shù)據(jù)管理和服務(wù)器緩存模塊;其中,客戶端和服務(wù)器的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)了客戶端同服務(wù)器的通信功能,是基于TCP/IP ;用戶接口模塊是為了通過(guò)用戶態(tài)的程序接口,以便于應(yīng)用程序更好地利用CMSS的特性;CMSS客戶端是在Windows平臺(tái)上實(shí)現(xiàn)的,IFS模塊利用Windows提供的IFS接口提供應(yīng)用程序一個(gè)標(biāo)準(zhǔn)的文件訪問(wèn)接口,從而保證應(yīng)用程序透明地使用本系統(tǒng);客戶端緩存和服務(wù)器緩存模塊一起組成兩級(jí)緩存結(jié)構(gòu);元數(shù)據(jù)管理模塊實(shí)現(xiàn)了 CMSS的元數(shù)據(jù)管理功能,成員管理模塊實(shí)現(xiàn)CMSS的成員管理功能;數(shù)據(jù)備份模塊實(shí)現(xiàn)了不同磁盤服務(wù)器之間的數(shù)據(jù)備份和遷移,從而實(shí)現(xiàn)系統(tǒng)的高可靠性和負(fù)載平衡。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于,CMSS系統(tǒng)用戶請(qǐng)求處理流程為用戶通過(guò) 客戶端代理向邏輯元數(shù)據(jù)服務(wù)器發(fā)請(qǐng)求,邏輯元數(shù)據(jù)服務(wù)器返回?cái)?shù)據(jù)存放的存儲(chǔ)服務(wù)器信息,然后客戶端代理再自動(dòng)向相應(yīng)的存儲(chǔ)服務(wù)器發(fā)請(qǐng)求,最后存儲(chǔ)服務(wù)器返回用戶請(qǐng)求的數(shù)據(jù)。
3.如權(quán)利要求I所述的系統(tǒng),其特征在于,在CMSS中,所有的存儲(chǔ)服務(wù)器定期發(fā)送一個(gè)廣播心跳包,成員管理器通過(guò)監(jiān)聽這些心跳包來(lái)創(chuàng)建活動(dòng)存儲(chǔ)服務(wù)器列表;如果在一定的時(shí)間內(nèi)成員管理器不能夠收到一個(gè)存儲(chǔ)服務(wù)器的心跳包,成員管理器將認(rèn)為此服務(wù)器失效,并將它從自己的服務(wù)器列表中刪除;心跳包還包含服務(wù)器元數(shù)據(jù)和存儲(chǔ)資源使用情況等信息。
4.如權(quán)利要求I或3所述的系統(tǒng),其特征在于,有3種事件會(huì)導(dǎo)致服務(wù)器列表的更新 1)定期刷新事件每個(gè)存儲(chǔ)服務(wù)器定期刷新它的元數(shù)據(jù)信息,因?yàn)橐粋€(gè)存儲(chǔ)節(jié)點(diǎn)可能改變了自己的元數(shù)據(jù)等信息,而其他存儲(chǔ)節(jié)點(diǎn)可能保存的是舊的信息,因此需要定期更新,采用3分鐘的更新周期; 2)存儲(chǔ)節(jié)點(diǎn)加入事件當(dāng)添加新的存儲(chǔ)節(jié)點(diǎn)時(shí),新存儲(chǔ)節(jié)點(diǎn)會(huì)廣播一個(gè)加入事件,其他的存儲(chǔ)節(jié)點(diǎn)收到此事件,會(huì)更新自己的服務(wù)器列表信息,并將自己的節(jié)點(diǎn)信息反饋給新節(jié)點(diǎn),新節(jié)點(diǎn)也根據(jù)反饋信息生成自己的存儲(chǔ)節(jié)點(diǎn)列表; 3)存儲(chǔ)節(jié)點(diǎn)斷開事件當(dāng)成員管理器發(fā)現(xiàn)一個(gè)節(jié)點(diǎn)失效,會(huì)廣播一個(gè)斷開事件,其他存儲(chǔ)節(jié)點(diǎn)收到此事件,會(huì)自動(dòng)在存儲(chǔ)節(jié)點(diǎn)列表中刪除失效節(jié)點(diǎn)的信息。
5.如權(quán)利要求I所述的系統(tǒng),其特征在于,在服務(wù)器上有一個(gè)備份管理器BM(backupmanage),它接受用戶的備份請(qǐng)求,并根據(jù)整個(gè)系統(tǒng)的負(fù)載情況,在適當(dāng)?shù)臅r(shí)候創(chuàng)建備份任務(wù)處理線程,啟動(dòng)備份過(guò)程;備份源BS (backup source)是需要備份的光盤服務(wù)器,備份目的BT(backup target)是要把數(shù)據(jù)備份到的光盤服務(wù)器,它要提供足夠的空間存放備份的數(shù)據(jù)。
6.如權(quán)利要求I或5所述的系統(tǒng),其特征在于,為了實(shí)現(xiàn)備份3方的協(xié)同工作,首先需要定義一個(gè)NBP (network backup protocol)協(xié)議,它規(guī)定了整個(gè)備份過(guò)程的各個(gè)步驟,并定義了 BM、BS和BT之間的通信接口以及它們之間的交互過(guò)程;數(shù)據(jù)的備份流程為下面8個(gè)步驟Stepl :備份任務(wù)處理線程向源命令處理線程發(fā)送備份命令; Step2 :源命令處理線程將命令插入命令隊(duì)列,并在響應(yīng)代理上等待源工作線程的處理結(jié)果; Step3 :源工作線程從源命令隊(duì)列讀取相應(yīng)的命令,并向目的處理線程轉(zhuǎn)發(fā)此命令; Step4 目的處理線程接收到命令后,進(jìn)行相應(yīng)的處理,并返回處理結(jié)果給源工作線程; Step5 :源工作線程收到處理結(jié)果插入響應(yīng)隊(duì)列; Step6 :源命令處理線程從響應(yīng)隊(duì)列讀取處理結(jié)果,并將處理結(jié)果發(fā)送給備份任務(wù)處理線程; Step7 :源工作線程連續(xù)地將數(shù)據(jù)傳輸?shù)侥康亩耍? StepS:在數(shù)據(jù)傳輸?shù)倪^(guò)程中,源命令處理線程及時(shí)向備份任務(wù)處理線程報(bào)告?zhèn)浞莸漠?dāng)前狀態(tài)。
全文摘要
本發(fā)明公開了一種基于集群的可視媒體存儲(chǔ)系統(tǒng)。該系統(tǒng)分為9個(gè)模塊,客戶端包含用戶接口、IFS模塊、客戶端緩存(Cache)模塊和網(wǎng)絡(luò)協(xié)議模塊,服務(wù)器包含成員管理模塊、數(shù)據(jù)備份模塊、網(wǎng)絡(luò)協(xié)議、元數(shù)據(jù)管理和服務(wù)器緩存(Cache)模塊。該系統(tǒng)具有高度自治、自維護(hù)的集群策略,提高了系統(tǒng)的并行性和可擴(kuò)展性,同時(shí)具有邏輯結(jié)構(gòu)清楚,對(duì)負(fù)載能夠自動(dòng)均衡的特點(diǎn)。
文檔編號(hào)H04L29/08GK102624911SQ20121006832
公開日2012年8月1日 申請(qǐng)日期2012年3月14日 優(yōu)先權(quán)日2012年3月14日
發(fā)明者曾金龍, 林謀廣, 韓冠亞 申請(qǐng)人:中山大學(xué)