數(shù)據(jù)全局處理系統(tǒng)和方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)全局處理系統(tǒng)和方法,該系統(tǒng)包括全局?jǐn)?shù)據(jù)定位中心Center Locator,所述Center Locator耦接至多個(gè)分布式存儲(chǔ)系統(tǒng)Cassandra集群,其中,每個(gè)Cassandra集群,適于將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述Center Locator;所述Center Locator,適于接收并存儲(chǔ)每個(gè)Cassandra集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各Cassandra集群之間通信。本發(fā)明解決了相關(guān)技術(shù)中采用hash算法進(jìn)行全局?jǐn)?shù)據(jù)存儲(chǔ)和定位而存在的擴(kuò)展性差的問題。
【專利說明】數(shù)據(jù)全局處理系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別是一種數(shù)據(jù)全局處理系統(tǒng)和方法。
【背景技術(shù)】
[0002]是依賴腿了他也1^16,分布式哈希表)技術(shù)實(shí)現(xiàn)的一種典型的無中心節(jié)點(diǎn)的環(huán)形結(jié)構(gòu)的分布式存儲(chǔ)系統(tǒng)。數(shù)據(jù)存儲(chǔ)空間可以抽象為一個(gè)環(huán)形結(jié)構(gòu),數(shù)據(jù)就是通過匕4(哈希)分散在這個(gè)環(huán)形存儲(chǔ)空間上。每個(gè)節(jié)點(diǎn)負(fù)責(zé)管理這個(gè)環(huán)形存儲(chǔ)空間上的某一塊連續(xù)的范圍),落在此此1186空間上的數(shù)據(jù)就存儲(chǔ)在這個(gè)節(jié)點(diǎn)上。
[0003]首先,由于是一個(gè)無中心節(jié)點(diǎn)的分布式存儲(chǔ)系統(tǒng),因此沒有任何一個(gè)中心節(jié)點(diǎn)集中管理集群的分布式信息。整個(gè)存儲(chǔ)系統(tǒng)的分布式管理信息是由集群中的所有節(jié)點(diǎn)之間相互通過^881?協(xié)議進(jìn)行協(xié)商同步,即各節(jié)點(diǎn)最終均會(huì)保存一份完整的分布式管理信息以及節(jié)點(diǎn)的存活狀態(tài)。正是由于這種節(jié)點(diǎn)之間的相互間的分布式信息同步,集群中所有節(jié)點(diǎn)間都是保持全相連的網(wǎng)絡(luò)關(guān)系,這種網(wǎng)絡(luò)連接結(jié)構(gòu)決定了單個(gè)集群無法擴(kuò)展的很大(例如,上萬臺(tái)機(jī)器的集群規(guī)模,單個(gè)節(jié)點(diǎn)上的網(wǎng)絡(luò)連接數(shù)就達(dá)到數(shù)萬條,對(duì)系統(tǒng)資源的開銷很大而為滿足海量數(shù)據(jù)存儲(chǔ)的需求,則需要搭建若干個(gè)一定節(jié)點(diǎn)規(guī)模的存儲(chǔ)集群,并在適當(dāng)?shù)臅r(shí)候新建新的集群。
[0004]其次,由于考慮到數(shù)據(jù)存儲(chǔ)效率的原因,存儲(chǔ)服務(wù)也往往分布于全國(guó)各地,來實(shí)現(xiàn)用戶數(shù)據(jù)的就近存儲(chǔ)。同樣作為存儲(chǔ)系統(tǒng),集群也會(huì)分布在全國(guó)各地的數(shù)據(jù)中心之中。而如何將這些分散在各地的存儲(chǔ)系統(tǒng)整合在一起,對(duì)外提供統(tǒng)一透明的存儲(chǔ)服務(wù)是一項(xiàng)十分重要的工作。存儲(chǔ)服務(wù)的接口無外乎是對(duì)數(shù)據(jù)的增、刪、改、查操作,而所有這些操作都基于對(duì)數(shù)據(jù)的全局定位,即定位該數(shù)據(jù)存儲(chǔ)在哪個(gè)數(shù)據(jù)集群中的哪個(gè)數(shù)據(jù)節(jié)點(diǎn)上。
[0005]目前,數(shù)據(jù)的全局存儲(chǔ)與定位常用的技術(shù)方案是基于規(guī)則的定位,即通過簡(jiǎn)單的118811函數(shù)將數(shù)據(jù)直接分散到各0188311(11?存儲(chǔ)集群中,而具體存儲(chǔ)在哪個(gè)數(shù)據(jù)節(jié)點(diǎn)上,則由該01882111(11^集群內(nèi)部存儲(chǔ)機(jī)制實(shí)現(xiàn)。如圖1所示,根據(jù)數(shù)據(jù)(也仏)的某一特征計(jì)算得到該也仏的1121811值,進(jìn)而根據(jù)1121811值與集群的映射關(guān)系,將其定位到八、8、?:、0中的某個(gè)集群中,然后再通過存儲(chǔ)集群的存儲(chǔ)定位策略,確定其存儲(chǔ)在該集群中的某個(gè)數(shù)據(jù)節(jié)點(diǎn)之上。然而,由于匕也算法本身擴(kuò)展性較差,當(dāng)全局存儲(chǔ)需要擴(kuò)展新集群時(shí),必然涉及各集群間數(shù)據(jù)的遷移,這個(gè)代價(jià)十分巨大的。其次,由于數(shù)據(jù)是通過匕也算法進(jìn)行存儲(chǔ),數(shù)據(jù)在上傳或?qū)懭霑r(shí)該數(shù)據(jù)所在的目標(biāo)集群已經(jīng)由匕也規(guī)則確定,因此無法保證實(shí)現(xiàn)數(shù)據(jù)的就近上傳或?qū)懭耄嬖陔娦沤尤氲臄?shù)據(jù)有可能被存儲(chǔ)到網(wǎng)通集群中去的情況,從而無法保證數(shù)據(jù)存儲(chǔ)的效率。
【發(fā)明內(nèi)容】
[0006]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的數(shù)據(jù)全局處理系統(tǒng)和方法。
[0007]依據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)全局處理系統(tǒng),包括全局?jǐn)?shù)據(jù)定位中心(06111:61- 10(331:010,所述 0611
其中,
[0008]每個(gè)集群,適于將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳 06111:61- 1.0081:01-;
[0009]所述?:6111:61~ [0(? 1:01',適于接收并存儲(chǔ)每個(gè)集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各集群之間通信。
[0010]可選地,每個(gè)集群,還適于當(dāng)自身存儲(chǔ)的數(shù)據(jù)發(fā)生更新時(shí),將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述?^6111:61~ 10081:01~0
[0011]可選地,所述更新部分的數(shù)據(jù)包括下列至少之一:
[0012]寫入的數(shù)據(jù);
[0013]刪除的數(shù)據(jù);
[0014]更改的數(shù)據(jù)。
[0015]可選地,所述1x^211:01',還適于接收數(shù)據(jù)寫入請(qǐng)求時(shí),在其稱接的多個(gè)0888^(11-8集群中,查找與待寫入數(shù)據(jù)的源地址距離最近的集群地址作為目標(biāo)地址,將所述待寫入數(shù)據(jù)寫入所述目標(biāo)地址對(duì)應(yīng)的0188^1(11^集群。
[0016]可選地,任意一個(gè)集群,還適于接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),向所述06111:61-匕⑶!:。!'發(fā)起映射關(guān)系的查找請(qǐng)求;根據(jù)所述匕⑶!:。!'返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0017]可選地,所述1x^211:01',還適于將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系同步至其I禹接的所有集群中;
[0018]任意一個(gè)0188311(11?集群,還適于接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),根據(jù)自身存儲(chǔ)的映射關(guān)系查找所述指定數(shù)據(jù)的具體存儲(chǔ)位置,若查找到,則根據(jù)查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀??;若未查找到,則向所述10081:01~發(fā)起映射關(guān)系的查找請(qǐng)求,并根據(jù)所述化社虹匕⑶如I'返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0019]可選地,所述1x^511:01'部署在一個(gè)雙線互聯(lián)網(wǎng)數(shù)據(jù)中心100中。
[0020]依據(jù)本發(fā)明的另一個(gè)方面,還提供了一種數(shù)據(jù)全局處理方法,應(yīng)用于設(shè)置全局?jǐn)?shù)據(jù)定位中心10081:01~稱接至多個(gè)分布式存儲(chǔ)系統(tǒng)集群情況,包括:接收每個(gè)集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系;存儲(chǔ)所述上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各集群之間通信。
[0021]可選地,接收每個(gè)0188311(11?集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系,包括:接收每個(gè)集群上傳的、更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系。
[0022]可選地,所述更新部分的數(shù)據(jù)包括下列至少之一:
[0023]寫入的數(shù)據(jù);
[0024]刪除的數(shù)據(jù);
[0025]更改的數(shù)據(jù)。
[0026]可選地,所述方法還包括:接收數(shù)據(jù)寫入請(qǐng)求,在其稱接的多個(gè)集群中,查找與待寫入數(shù)據(jù)的源地址距離最近的集群地址作為目標(biāo)地址;將所述待寫入數(shù)據(jù)寫入所述目標(biāo)地址對(duì)應(yīng)的集群。
[0027]可選地,根據(jù)存儲(chǔ)的映射關(guān)系為各接收來自任意一個(gè)集群的查找指定數(shù)據(jù)的具體存儲(chǔ)位置的查找請(qǐng)求;根據(jù)存儲(chǔ)的映射關(guān)系,查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置,并返回,以實(shí)現(xiàn)任意一個(gè)0188^1(11^集群根據(jù)查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0028]可選地,接收每個(gè)0188311(11?集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系之后,還包括:將所述上傳的映射關(guān)系同步至其耦接的所有集群中。
[0029]依據(jù)本發(fā)明的又一個(gè)方面,還提供了一種數(shù)據(jù)全局處理方法,應(yīng)用于設(shè)置全局?jǐn)?shù)據(jù)定位中心10081:01~稱接至多個(gè)分布式存儲(chǔ)系統(tǒng)集群情況,包括:將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述10081:01~ ;接收所述100^01-下發(fā)的處理指令,進(jìn)行相應(yīng)處理。
[0030]可選地,將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述仏!1仏!'[0(3社01',包括:當(dāng)自身存儲(chǔ)的數(shù)據(jù)發(fā)生更新時(shí),將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述10081:01~0
[0031]可選地,所述更新部分的數(shù)據(jù)包括下列至少之一:
[0032]寫入的數(shù)據(jù);
[0033]刪除的數(shù)據(jù);
[0034]更改的數(shù)據(jù)。
[0035]可選地,所述方法還包括:接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),向所述10081:01~發(fā)起映射關(guān)系的查找請(qǐng)求;根據(jù)所述10(^1:01'返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0036]可選地,所述方法還包括:接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),根據(jù)自身存儲(chǔ)的映射關(guān)系查找所述指定數(shù)據(jù)的具體存儲(chǔ)位置,若查找到,則根據(jù)查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀??;若未查找到,則向所述化社虹匕⑶如!'發(fā)起映射關(guān)系的查找請(qǐng)求,并根據(jù)所述化社虹100^01-返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0037]可選地,所述處理指令包括數(shù)據(jù)寫入指令,接收所述06111:61~ 1x^211:01'下發(fā)的處理指令,進(jìn)行相應(yīng)處理,包括:接收所述仏社虹100^01-下發(fā)的數(shù)據(jù)寫入指令,進(jìn)行數(shù)據(jù)的寫入操作。
[0038]本發(fā)明提供了一種數(shù)據(jù)全局處理系統(tǒng),包括[0(? 1:01',該0611
率禹接至多個(gè)集群,每個(gè)集群將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至10081:01-, 06111:61~ 10(? 1:01'接收并存儲(chǔ)每個(gè)集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各8311(11?集群之間通信,進(jìn)而為各8311(11?集群提供全局?jǐn)?shù)據(jù)定位服務(wù)。由此可見,本發(fā)明提供的技術(shù)方案由于仏社虹匕⑶如!'存儲(chǔ)了每個(gè)集群上存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系,因而'可以根據(jù)該映射關(guān)系為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù),從而解決了相關(guān)技術(shù)中采用匕也算法進(jìn)行全局?jǐn)?shù)據(jù)存儲(chǔ)和定位而存在的擴(kuò)展性差的問題。本發(fā)明在全局存儲(chǔ)空間不足的時(shí)候,可以隨時(shí)任意擴(kuò)展一個(gè)或多個(gè)新集群補(bǔ)充到全局存儲(chǔ)空間中,繼續(xù)提供存儲(chǔ)服務(wù)。
[0039]進(jìn)一步地,在進(jìn)行數(shù)據(jù)寫入時(shí),06111:61~匕⑶如^可以在其稱接的多個(gè)^狀犯!^;^集群中,靈活地選擇即將寫入該數(shù)據(jù)的集群,例如可以實(shí)現(xiàn)該數(shù)據(jù)就近上傳寫入,還可以根據(jù)各0188311(11?集群的負(fù)載情況選擇寫入該數(shù)據(jù)的集群等等。另外,在讀取指定數(shù)據(jù)時(shí),可以從仏社虹100^01-查找到該指定數(shù)據(jù)的具體存儲(chǔ)位置,進(jìn)而讀取指定數(shù)據(jù)。
[0040]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
[0041]根據(jù)下文結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明了本發(fā)明的上述以及其他目的、優(yōu)點(diǎn)和特征。
【專利附圖】
【附圖說明】
[0042]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0043]圖1示出了相關(guān)技術(shù)中數(shù)據(jù)的全局存儲(chǔ)與定位的示意圖;
[0044]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)全局處理系統(tǒng)的結(jié)構(gòu)示意圖;
[0045]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)全局處理方法的第一種流程圖;以及
[0046]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)全局處理方法的第二種流程圖。
【具體實(shí)施方式】
[0047]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0048]為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)全局處理系統(tǒng),圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)全局處理系統(tǒng)的結(jié)構(gòu)示意圖。如圖2所示,該系統(tǒng)包括全局?jǐn)?shù)據(jù)定位中心((36111:61 10081:01-) , 06111:61~ 10(? 1:01'稱接至多個(gè)分布式存儲(chǔ)系統(tǒng)(0888811(11-8)集群,其中,
[0049]每個(gè)集群,適于將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳 06111:61- 1.0081:01-;
[0050]06111:61- 1x^211:01',適于接收并存儲(chǔ)每個(gè)集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各集群之間通信。
[0051]本發(fā)明提供了一種數(shù)據(jù)全局處理系統(tǒng),包括10081:01~率禹接至多個(gè)集群,每個(gè)集群將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至10081:01-, 06111:61~ 10(? 1:01'接收并存儲(chǔ)每個(gè)集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各8311(11?集群之間通信,進(jìn)而為各8311(11?集群提供全局?jǐn)?shù)據(jù)定位服務(wù)。由此可見,本發(fā)明提供的技術(shù)方案由于仏社虹匕⑶如!'存儲(chǔ)了每個(gè)集群上存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系,因而'可以根據(jù)該映射關(guān)系為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù),從而解決了相關(guān)技術(shù)中采用匕也算法進(jìn)行全局?jǐn)?shù)據(jù)存儲(chǔ)和定位而存在的擴(kuò)展性差的問題。本發(fā)明在全局存儲(chǔ)空間不足的時(shí)候,可以隨時(shí)任意擴(kuò)展一個(gè)或多個(gè)新集群補(bǔ)充到全局存儲(chǔ)空間中,繼續(xù)提供存儲(chǔ)服務(wù)。
[0052]上文提及的仏社虹[況社01',可以部署在一個(gè)數(shù)據(jù)中心對(duì)外提供全局?jǐn)?shù)據(jù)定位服務(wù),例如可以部署在一個(gè)雙線互聯(lián)網(wǎng)數(shù)據(jù)中心10(:中。10(:雙線路技術(shù)就是在互聯(lián)網(wǎng)數(shù)據(jù)中心通過特殊的技術(shù)手段把不同的139(1111:611161:',互聯(lián)網(wǎng)服務(wù)提供商)服務(wù)接入到一臺(tái)服務(wù)器上或服務(wù)器集群,使服務(wù)器所提供的網(wǎng)絡(luò)服務(wù)訪問用戶能夠盡可能以同一個(gè)13?或互訪速度較快的13?連接來進(jìn)行訪問,從而解決或者減輕跨13?用戶訪問網(wǎng)站的緩慢延遲問題。進(jìn)一步地,為了實(shí)現(xiàn)06111:61 '對(duì)多個(gè)集群的I禹接以及與各集群之間通信,進(jìn)而為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù),在06111:61~ '上存儲(chǔ)各集群的相關(guān)信息。例如,在'上存儲(chǔ)了各集群地址信息、各集群自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系、以及各集群的負(fù)載信息等等,本發(fā)明不限于此。
[0053]如上文提及,每個(gè)0188311(11?集群可以將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至10081:01~0例如每個(gè)集群在自身存儲(chǔ)的數(shù)據(jù)發(fā)生更新時(shí),將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至100^01-.這里的更新可以包括數(shù)據(jù)自身的更新或者引起數(shù)據(jù)的具體存儲(chǔ)位置發(fā)生變化的更新,更新部分的數(shù)據(jù)例如寫入的數(shù)據(jù)(即增加的數(shù)據(jù)〉、刪除的數(shù)據(jù)、以及更改的數(shù)據(jù)等等。舉例來說,
100^01-耦接的集群八中新寫入了數(shù)據(jù)1該數(shù)據(jù)3的具體存儲(chǔ)位置為位置1此時(shí)可以將數(shù)據(jù)3與其具體存儲(chǔ)位置100^01-,以使得06111:61~10081:01~存儲(chǔ)該映射關(guān)系提供數(shù)據(jù)全局定位服務(wù)。又例如,集群八中刪除了數(shù)據(jù)I該數(shù)據(jù)13的具體存儲(chǔ)位置為位置13,此時(shí)可以將數(shù)據(jù)13與其具體存儲(chǔ)位置13之間的映射關(guān)系上傳至10081:01-,以使得(^6111:61~'刪除該映射關(guān)系,實(shí)現(xiàn)映射關(guān)系的及時(shí)更新。進(jìn)一步地,每個(gè)集群可以通過消息隊(duì)列(1688^6 (^116116)將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至¢:6061^ 100^01-.消息隊(duì)列是一種進(jìn)程間通信或同一進(jìn)程的不同線程間的通信方式。消息會(huì)保存在隊(duì)列中,直到接收者取回它。消息隊(duì)列本身是異步,和信號(hào)相比,消息隊(duì)列能夠傳遞更多的信息。目前,消息隊(duì)列有很多開源的實(shí)現(xiàn),例如分布式消息隊(duì)列 1--?、細(xì)£1(:116
¢11-01:0001 31,16 0116116 361^1。6,超文本傳輸協(xié)議簡(jiǎn)單消息隊(duì)列服務(wù))等等。當(dāng)然,本發(fā)明并不限于通過消息隊(duì)列實(shí)現(xiàn)映射關(guān)系的上傳,還可以通過其他方式實(shí)現(xiàn)。
[0054]如上文提及,06111:61~ [0(? 1:01'接收并存儲(chǔ)每個(gè)集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各集群之間通信,進(jìn)而為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù)。這里,仏社虹社01'提供全局?jǐn)?shù)據(jù)定位服務(wù),可以是在數(shù)據(jù)寫入時(shí)為數(shù)據(jù)選擇寫入的集群,也可以是在讀取指定數(shù)據(jù)時(shí)從06111:61~ 10081:01~查找該指定數(shù)據(jù)的在集群中的具體存儲(chǔ)位置,進(jìn)而從查找到的具體存儲(chǔ)位置處讀取指定數(shù)據(jù)。下面詳細(xì)介紹寫入數(shù)據(jù)和讀取數(shù)據(jù)時(shí),仏社虹社01'提供的全局?jǐn)?shù)據(jù)定位服務(wù)。
[0055]首先介紹寫入數(shù)據(jù),即將數(shù)據(jù)寫入某個(gè)集群中。'可以在其耦接的多個(gè)集群中,靈活地選擇即將寫入該數(shù)據(jù)的集群。例如將該數(shù)據(jù)就近寫入集群中,本發(fā)明提供了一種優(yōu)選的方案,在該方案中,10(^1:01'接收數(shù)據(jù)寫入請(qǐng)求時(shí),在其耦接的多個(gè)集群中,查找與待寫入數(shù)據(jù)的源地址距離最近的0888811(11-8集群地址作為目標(biāo)地址,將待寫入數(shù)據(jù)寫入目標(biāo)地址對(duì)應(yīng)的0188^1(11^集群,該方案實(shí)現(xiàn)了數(shù)據(jù)的就近上傳及存儲(chǔ),提高數(shù)據(jù)的存儲(chǔ)效率。又例如,根據(jù)各集群的負(fù)載情況選擇寫入該數(shù)據(jù)的集群,從而保證集群間的負(fù)載均衡。進(jìn)一步地,當(dāng)確定了即將寫入數(shù)據(jù)的集群后,可以根據(jù)集群內(nèi)部存儲(chǔ)機(jī)制,將待寫入數(shù)據(jù)寫入到集群的數(shù)據(jù)節(jié)點(diǎn)上。
[0056]其次介紹讀取數(shù)據(jù),即從某個(gè)集群中讀取指定數(shù)據(jù)。任意一個(gè)0888811(11-8集群接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),從10081:01~查找該指定數(shù)據(jù)的在
集群中的具體存儲(chǔ)位置,進(jìn)而從查找到的具體存儲(chǔ)位置處讀取指定數(shù)據(jù)。本發(fā)明提供了兩種優(yōu)選的查找方式,在方式一中,接收到讀取指定數(shù)據(jù)請(qǐng)求的集群,向10(? 1:01'發(fā)起映射關(guān)系的查找請(qǐng)求,進(jìn)而根據(jù)06111:61~匕⑶!:。!'返回的結(jié)果查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。在方式二中,由于仏社虹匕⑶如!'將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系同步至其耦接的所有集群中,因而接收到讀取指定數(shù)據(jù)請(qǐng)求的01882111(11^集群,先根據(jù)自身存儲(chǔ)的映射關(guān)系查找指定數(shù)據(jù)的具體存儲(chǔ)位置,若查找到,則根據(jù)查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取,若未查找到,貝0向10081:01~發(fā)起映射關(guān)系的查找請(qǐng)求,并根據(jù)10081:01~返回的結(jié)果查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。若化社虹匕⑶如!'返回的結(jié)果為未查找到指定數(shù)據(jù)的具體存儲(chǔ)位置,則說明該指定數(shù)據(jù)未存在于10081:01~稱接的多個(gè)集群,則讀取數(shù)據(jù)失敗。
[0057]以上介紹了圖2所示的實(shí)施例中各環(huán)節(jié)的多種實(shí)現(xiàn)方式,下面通過具體的優(yōu)選實(shí)施例對(duì)本發(fā)明實(shí)施例提供的數(shù)據(jù)全局處理系統(tǒng)做進(jìn)一步說明。
[0058]以10(331:01'部署在一個(gè)雙線 100 中,其I禹接了八、8、0、0 等多個(gè)集群為例。每個(gè)集群將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至06111:61~ 10081:01-, 06111:61~ 10(? 1:01'接收并存儲(chǔ)每個(gè)集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù)。進(jìn)一步地,為了實(shí)現(xiàn)對(duì)多個(gè)集群的|禹接以及與多個(gè)集群之間通信,進(jìn)而為多個(gè)集群提供全局?jǐn)?shù)據(jù)定位服務(wù),06111:61- 10081:01~上還存儲(chǔ)了各集群地址信息以及各集群的負(fù)載信息等等。此外,當(dāng)某個(gè)集群的存儲(chǔ)空間存滿時(shí),可以隨時(shí)創(chuàng)建新的集群來補(bǔ)充到全局存儲(chǔ)空間中。比如集群八、8、匕0存儲(chǔ)空間寫滿后,可以隨時(shí)部署新的集群3、?等,此時(shí)由10081:01~對(duì)新部署的集群2、?進(jìn)行|禹接。
[0059]當(dāng)'接收到數(shù)據(jù)寫入請(qǐng)求時(shí),在其稱接的八、8、0、0等多個(gè)0888811(11-8集群中,查找與待寫入數(shù)據(jù)?的源地址距離最近的集群為集群八,將集群八的地址作為目標(biāo)地址,將待寫入數(shù)據(jù)?寫入集群八,該方案實(shí)現(xiàn)了數(shù)據(jù)的就近上傳及存儲(chǔ),提高數(shù)據(jù)的存儲(chǔ)效率。進(jìn)一步地,當(dāng)確定將待寫入數(shù)據(jù)?寫入集群八后,可以根據(jù)集群八內(nèi)部存儲(chǔ)機(jī)制,將待寫入數(shù)據(jù)?寫入到集群八的數(shù)據(jù)節(jié)點(diǎn)上。
[0060]在待寫入數(shù)據(jù)?寫入集群八的數(shù)據(jù)節(jié)點(diǎn)后,集群八將待寫入數(shù)據(jù)?與待寫入數(shù)據(jù)?的具體存儲(chǔ)位置間的映射關(guān)系記錄在消息隊(duì)列中,進(jìn)而上傳至10081:01~0由于其他集群(如8、0等集群)向10081:01~進(jìn)行了存儲(chǔ)位置信息的訂閱,即是向100^01-索取所有數(shù)據(jù)的具體存儲(chǔ)位置,因而待寫入數(shù)據(jù)?與待寫入數(shù)據(jù)?的具體存儲(chǔ)位置間的映射關(guān)系會(huì)同步到8、匕0等集群中。
[0061]當(dāng)任意一個(gè)0188311(11?集群接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),首先需要獲取該指定數(shù)據(jù)所在集群位置,然后再跳轉(zhuǎn)到該集群去讀取真實(shí)數(shù)據(jù),這就是一個(gè)全局?jǐn)?shù)據(jù)定位和路由的過程。本發(fā)明實(shí)施例中0611'為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù),因而任意一個(gè)集群可以從查找該指定數(shù)據(jù)的在集群中的具體存儲(chǔ)位置,進(jìn)而從查找到的具體存儲(chǔ)位置處讀取指定數(shù)據(jù)。進(jìn)一步地,本發(fā)明提供了兩種優(yōu)選的查找方式,在方式一中,接收到讀取指定數(shù)據(jù)請(qǐng)求的集群,向10081:01~發(fā)起映射關(guān)系的查找請(qǐng)求,進(jìn)而根據(jù)10081:01~返回的結(jié)果查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。在方式二中,由于仏!!?!'匕⑶如!'將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系同步至其耦接的所有集群中,因而接收到讀取指定數(shù)據(jù)請(qǐng)求的集群,先根據(jù)自身存儲(chǔ)的映射關(guān)系查找指定數(shù)據(jù)的具體存儲(chǔ)位置,若查找到,則根據(jù)查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取,若未查找到,則向化社虹10081:01~發(fā)起映射關(guān)系的查找請(qǐng)求,并根據(jù)10081:01~返回的結(jié)果查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。若化社虹匕⑶如!'返回的結(jié)果為未查找到指定數(shù)據(jù)的具體存儲(chǔ)位置,則說明該指定數(shù)據(jù)未存在于10081:01~稱接的多個(gè)集群,則讀取數(shù)據(jù)失敗。
[0062]基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)全局處理方法,應(yīng)用于設(shè)置06111:61-匕⑶!:。!' |禹接至多個(gè)集群情況,圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)全局處理方法的第一種流程圖。如圖3所示,該方法至少包括以下步驟3302至步驟3304。
[0063]步驟3302、接收每個(gè)018集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系。
[0064]步驟3304、存儲(chǔ)上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各018集群之間通^[目。
[0065]本發(fā)明實(shí)施例中,'接收每個(gè)集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系,進(jìn)而根據(jù)其存儲(chǔ)的映射關(guān)系為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù),解決了相關(guān)技術(shù)中采用匕也算法進(jìn)行全局?jǐn)?shù)據(jù)存儲(chǔ)和定位而存在的擴(kuò)展性差的問題。本發(fā)明在全局存儲(chǔ)空間不足的時(shí)候,可以隨時(shí)任意擴(kuò)展一個(gè)或多個(gè)新集群補(bǔ)充到全局存儲(chǔ)空間中,繼續(xù)提供存儲(chǔ)服務(wù)。
[0066]上文步驟3302還可以采用一種優(yōu)選的方案來實(shí)現(xiàn),在該方案中可以接收每個(gè)
集群上傳的、更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系。這里的更新可以包括數(shù)據(jù)自身的更新或者引起數(shù)據(jù)的具體存儲(chǔ)位置發(fā)生變化的更新,更新部分的數(shù)據(jù)例如寫入的數(shù)據(jù)(即增加的數(shù)據(jù)〉、刪除的數(shù)據(jù)、以及更改的數(shù)據(jù)等等??梢詤⒁娗拔牟糠株P(guān)于數(shù)據(jù)更新的介紹,此處不再贅述。
[0067]進(jìn)一步地,在步驟3302之后,即06111:61~ [0(? 1:01'接收每個(gè)集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系之后,還可以將上傳的映射關(guān)系同步至其率禹接的所有集群中。另外,各集群還可以根據(jù)自身的需求向10081:01~進(jìn)行存儲(chǔ)位置信息的訂閱,當(dāng)其他集群向10081:01~上傳映射關(guān)系之后,¢6111:61 10081:01~會(huì)將上傳的映射關(guān)系同步至訂閱了存儲(chǔ)位置信息的集群。
[0068]上文步驟3304中10081:01-根據(jù)存儲(chǔ)的映射關(guān)系為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù),可以是在數(shù)據(jù)寫入時(shí)為數(shù)據(jù)選擇寫入的集群,也可以是在讀取指定數(shù)據(jù)時(shí)從10081:01~查找該指定數(shù)據(jù)的在集群中的具體存儲(chǔ)位置,進(jìn)而從查找到的具體存儲(chǔ)位置處讀取指定數(shù)據(jù)。關(guān)于寫入數(shù)據(jù)和讀取數(shù)據(jù)時(shí),
100^01-提供的全局?jǐn)?shù)據(jù)定位服務(wù)可以參見前文部分的說明,此處不再贅述。
[0069]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)全局處理方法,應(yīng)用于設(shè)置(?社虹10081:01~ |禹接至多個(gè)0188311(11?集群情況,圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)全局處理方法的第二種流程圖。如圖4所示,該方法至少包括以下步驟3402至步驟3404。
[0070]步驟3402、將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至
[0071]步驟3404、接收[一的一!' 1008^011下發(fā)的處理指令,進(jìn)行相應(yīng)處理。
[0072]本發(fā)明實(shí)施例中,各01882111(11^集群將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至10081:01-, 06111:61~ [0(331:01'接收每個(gè)集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系,進(jìn)而根據(jù)其存儲(chǔ)的映射關(guān)系為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù)。
[0073]上文步驟3402還可以采用一種優(yōu)選的方案來實(shí)現(xiàn),在該方案中各0188^111(11^集群當(dāng)自身存儲(chǔ)的數(shù)據(jù)發(fā)生更新時(shí),將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至0611^61- 100^01-.這里的更新可以包括數(shù)據(jù)自身的更新或者引起數(shù)據(jù)的具體存儲(chǔ)位置發(fā)生變化的更新,更新部分的數(shù)據(jù)例如寫入的數(shù)據(jù)(即增加的數(shù)據(jù)〉、刪除的數(shù)據(jù)、以及更改的數(shù)據(jù)等等。可以參見前文部分關(guān)于數(shù)據(jù)更新的介紹,此處不再贅述。
[0074]上文步驟3404中處理指令可以為數(shù)據(jù)寫入指令,此時(shí)各集群接收06111:61- 10081:01~下發(fā)的數(shù)據(jù)寫入指令,進(jìn)行數(shù)據(jù)的寫入操作。
[0075]進(jìn)一步地,當(dāng)任意一個(gè)0188311(11?集群接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),可以從06111:61- 10081:01~查找該指定數(shù)據(jù)的在集群中的具體存儲(chǔ)位置,進(jìn)而從查找到的具體存儲(chǔ)位置處讀取指定數(shù)據(jù)。本發(fā)明提供了兩種優(yōu)選的查找方式,在方式一中,接收到讀取指定數(shù)據(jù)請(qǐng)求的集群,向10081:01~發(fā)起映射關(guān)系的查找請(qǐng)求,進(jìn)而根據(jù)化社虹匕⑶如!'返回的結(jié)果查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。在方式二中,由于'將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系同步至其|禹接的所有0188311(11?集群中,因而接收到讀取指定數(shù)據(jù)請(qǐng)求的0188311(11?集群,先根據(jù)自身存儲(chǔ)的映射關(guān)系查找指定數(shù)據(jù)的具體存儲(chǔ)位置,若查找到,則根據(jù)查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取,若未查找到,則向10(^1:01'發(fā)起映射關(guān)系的查找請(qǐng)求,并根據(jù)仏社虹匕⑶如!'返回的結(jié)果查找到指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。若仏社虹10(^101'返回的結(jié)果為未查找到指定數(shù)據(jù)的具體存儲(chǔ)位置,則說明該指定數(shù)據(jù)未存在于06111:61- 10081:01~稱接的多個(gè)集群,則讀取數(shù)據(jù)失敗。
[0076]根據(jù)上述任意一個(gè)優(yōu)選實(shí)施例或多個(gè)優(yōu)選實(shí)施例的組合,本發(fā)明實(shí)施例能夠達(dá)到如下有益效果:
[0077]本發(fā)明提供了一種數(shù)據(jù)全局處理系統(tǒng),包括10081:01~率禹接至多個(gè)集群,每個(gè)集群將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至10081:01-, 06111:61~ 10(? 1:01'接收并存儲(chǔ)每個(gè)集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各8311(11?集群之間通信,進(jìn)而為各8311(11?集群提供全局?jǐn)?shù)據(jù)定位服務(wù)。由此可見,本發(fā)明提供的技術(shù)方案由于仏社虹匕⑶如!'存儲(chǔ)了每個(gè)集群上存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系,因而'可以根據(jù)該映射關(guān)系為各集群提供全局?jǐn)?shù)據(jù)定位服務(wù),從而解決了相關(guān)技術(shù)中采用匕也算法進(jìn)行全局?jǐn)?shù)據(jù)存儲(chǔ)和定位而存在的擴(kuò)展性差的問題。本發(fā)明在全局存儲(chǔ)空間不足的時(shí)候,可以隨時(shí)任意擴(kuò)展一個(gè)或多個(gè)新集群補(bǔ)充到全局存儲(chǔ)空間中,繼續(xù)提供存儲(chǔ)服務(wù)。
[0078]進(jìn)一步地,在進(jìn)行數(shù)據(jù)寫入時(shí),06111:61~匕⑶如^可以在其稱接的多個(gè)^狀犯!^;^集群中,靈活地選擇即將寫入該數(shù)據(jù)的集群,例如可以實(shí)現(xiàn)該數(shù)據(jù)就近上傳寫入,還可以根據(jù)各0188311(11?集群的負(fù)載情況選擇寫入該數(shù)據(jù)的集群等等。另外,在讀取指定數(shù)據(jù)時(shí),可以從仏社虹100^01-查找到該指定數(shù)據(jù)的具體存儲(chǔ)位置,進(jìn)而讀取指定數(shù)據(jù)。
[0079]本發(fā)明還公開了:
[0080]八1、一種數(shù)據(jù)全局處理系統(tǒng),包括全局?jǐn)?shù)據(jù)定位中心[0(?1:01',所述10081:01~稱接至多個(gè)分布式存儲(chǔ)系統(tǒng)集群,其中,
[0081]每個(gè)集群,適于將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳 06111:61- 1.0081:01-;
[0082]所述[0(? 1:01',適于接收并存儲(chǔ)每個(gè)集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各集群之間通信。
[0083]八2、根據(jù)八1所述的系統(tǒng),其中,每個(gè)集群,還適于當(dāng)自身存儲(chǔ)的數(shù)據(jù)發(fā)生更新時(shí),將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述¢:6061^ 100^01-.
[0084]八3、根據(jù)八2所述的系統(tǒng),其中,所述更新部分的數(shù)據(jù)包括下列至少之一:
[0085]寫入的數(shù)據(jù);
[0086]刪除的數(shù)據(jù);
[0087]更改的數(shù)據(jù)。
[0088]八4、根據(jù)八1所述的系統(tǒng),其中,所述',還適于接收數(shù)據(jù)寫入請(qǐng)求時(shí),在其稱接的多個(gè)集群中,查找與待寫入數(shù)據(jù)的源地址距離最近的集群地址作為目標(biāo)地址,將所述待寫入數(shù)據(jù)寫入所述目標(biāo)地址對(duì)應(yīng)的集群。
[0089]八5、根據(jù)八1所述的系統(tǒng),其中,任意一個(gè)0188311(11?集群,還適于接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),向所述¢6111:611匕⑶!:。!'發(fā)起映射關(guān)系的查找請(qǐng)求;根據(jù)所述06111:61~ 10081:01~返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0090]46、根據(jù)八2所述的系統(tǒng),其中,
[0091]所述1x^211:01',還適于將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系同步至其I禹接的所有集群中;
[0092]任意一個(gè)0188311(11?集群,還適于接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),根據(jù)自身存儲(chǔ)的映射關(guān)系查找所述指定數(shù)據(jù)的具體存儲(chǔ)位置,若查找到,則根據(jù)查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取;若未查找到,則向所述10081:01~發(fā)起映射關(guān)系的查找請(qǐng)求,并根據(jù)所述化社虹匕⑶如I'返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0093]八7、根據(jù)八1至八6任一項(xiàng)所述的系統(tǒng),其中,所述'部署在一個(gè)雙線互聯(lián)網(wǎng)數(shù)據(jù)中心10?:中。
[0094]88、一種數(shù)據(jù)全局處理方法,應(yīng)用于設(shè)置全局?jǐn)?shù)據(jù)定位中心|禹接至多個(gè)分布式存儲(chǔ)系統(tǒng)集群情況,包括:
[0095]接收每個(gè)集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系;
[0096]存儲(chǔ)所述上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各集群之間通^。
[0097]89、根據(jù)88所述的方法,其中,接收每個(gè)0188311(11?集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系,包括:
[0098]接收每個(gè)01882111(11^集群上傳的、更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系。
[0099]810、根據(jù)89所述的方法,其中,所述更新部分的數(shù)據(jù)包括下列至少之一:
[0100]寫入的數(shù)據(jù);
[0101]刪除的數(shù)據(jù);
[0102]更改的數(shù)據(jù)。
[0103]811、根據(jù)88所述的方法,其中,還包括:
[0104]接收數(shù)據(jù)寫入請(qǐng)求,在其耦接的多個(gè)集群中,查找與待寫入數(shù)據(jù)的源地址距離最近的集群地址作為目標(biāo)地址;
[0105]將所述待寫入數(shù)據(jù)寫入所述目標(biāo)地址對(duì)應(yīng)的集群。
[0106]812、根據(jù)88所述的方法,其中,根據(jù)存儲(chǔ)的映射關(guān)系為各01882111(11^集群提供全局?jǐn)?shù)據(jù)定位服務(wù),包括:
[0107]接收來自任意一個(gè)集群的查找指定數(shù)據(jù)的具體存儲(chǔ)位置的查找請(qǐng)求;
[0108]根據(jù)存儲(chǔ)的映射關(guān)系,查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置,并返回,以實(shí)現(xiàn)任意一個(gè)集群根據(jù)查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0109]813、根據(jù)88所述的方法,其中,接收每個(gè)0188311(11?集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系之后,還包括:
[0110]將所述上傳的映射關(guān)系同步至其耦接的所有集群中。
[0111]014、一種數(shù)據(jù)全局處理方法,應(yīng)用于設(shè)置全局?jǐn)?shù)據(jù)定位中心1x^211:01*1禹接至多個(gè)分布式存儲(chǔ)系統(tǒng)集群情況,包括:
[0112]將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述100^01-;
[0113]接收所述1x^211:01'下發(fā)的處理指令,進(jìn)行相應(yīng)處理。
[0114]015、根據(jù)014所述的方法,其中,將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述[0(? 1:01',包括:
[0115]當(dāng)自身存儲(chǔ)的數(shù)據(jù)發(fā)生更新時(shí),將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述10081:01-0
[0116]016、根據(jù)015所述的方法,其中,所述更新部分的數(shù)據(jù)包括下列至少之一:
[0117]寫入的數(shù)據(jù);
[0118]刪除的數(shù)據(jù);
[0119]更改的數(shù)據(jù)。
[0120]017、根據(jù)014所述的方法,其中,還包括:
[0121]接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),向所述1x^211:01'發(fā)起映射關(guān)系的查找請(qǐng)求;根據(jù)所述化社虹匕⑶如!'返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0122]018、根據(jù)(:14所述的方法,其中,還包括:
[0123]接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),根據(jù)自身存儲(chǔ)的映射關(guān)系查找所述指定數(shù)據(jù)的具體存儲(chǔ)位置,若查找到,則根據(jù)查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取;若未查找至II,則向所述'發(fā)起映射關(guān)系的查找請(qǐng)求,并根據(jù)所述'返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
[0124]019、根據(jù)014所述的方法,其中,所述處理指令包括數(shù)據(jù)寫入指令,接收所述06111:61~匕⑶!:。!'下發(fā)的處理指令,進(jìn)行相應(yīng)處理,包括:
[0125]接收所述仏社虹100^01-下發(fā)的數(shù)據(jù)寫入指令,進(jìn)行數(shù)據(jù)的寫入操作。
[0126]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
[0127]類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0128]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
[0129]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0130]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(039)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)全局處理系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0131]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0132]至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,雖然本文已詳盡示出和描述了本發(fā)明的多個(gè)示例性實(shí)施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。
【權(quán)利要求】
1.一種數(shù)據(jù)全局處理系統(tǒng),包括全局?jǐn)?shù)據(jù)定位中心Center Locator,所述CenterLocator稱接至多個(gè)分布式存儲(chǔ)系統(tǒng)Cassandra集群,其中, 每個(gè)Cassandra集群,適于將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述 Center Locator ; 所述Center Locator,適于接收并存儲(chǔ)每個(gè)Cassandra集群上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各Cassandra集群之間通信。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,每個(gè)Cassandra集群,還適于當(dāng)自身存儲(chǔ)的數(shù)據(jù)發(fā)生更新時(shí),將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述CenterLocator。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中,所述更新部分的數(shù)據(jù)包括下列至少之一: 寫入的數(shù)據(jù); 刪除的數(shù)據(jù); 更改的數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述CenterLocator,還適于接收數(shù)據(jù)寫入請(qǐng)求時(shí),在其稱接的多個(gè)Cassandra集群中,查找與待寫入數(shù)據(jù)的源地址距離最近的Cassandra集群地址作為目標(biāo)地址,將所述待寫入數(shù)據(jù)寫入所述目標(biāo)地址對(duì)應(yīng)的Cassandra集群。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,任意一個(gè)Cassandra集群,還適于接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),向所述Center Locator發(fā)起映射關(guān)系的查找請(qǐng)求;根據(jù)所述CenterLocator返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
6.根據(jù)權(quán)利要求2所述的系統(tǒng),其中, 所述Center Locator,還適于將更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系同步至其率禹接的所有Cassandra集群中; 任意一個(gè)Cassandra集群,還適于接收讀取指定數(shù)據(jù)的請(qǐng)求時(shí),根據(jù)自身存儲(chǔ)的映射關(guān)系查找所述指定數(shù)據(jù)的具體存儲(chǔ)位置,若查找到,則根據(jù)查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀?。蝗粑床檎业?,則向所述Center Locator發(fā)起映射關(guān)系的查找請(qǐng)求,并根據(jù)所述Center Locator返回的結(jié)果查找到所述指定數(shù)據(jù)的具體存儲(chǔ)位置進(jìn)行數(shù)據(jù)讀取。
7.根據(jù)權(quán)利要求1至6任一項(xiàng)所述的系統(tǒng),其中,所述CenterLocator部署在一個(gè)雙線互聯(lián)網(wǎng)數(shù)據(jù)中心IDC中。
8.一種數(shù)據(jù)全局處理方法,應(yīng)用于設(shè)置全局?jǐn)?shù)據(jù)定位中心Center Locator耦接至多個(gè)分布式存儲(chǔ)系統(tǒng)Cassandra集群情況,包括: 接收每個(gè)Cassandra集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系; 存儲(chǔ)所述上傳的映射關(guān)系,并根據(jù)存儲(chǔ)的映射關(guān)系與各Cassandra集群之間通信。
9.根據(jù)權(quán)利要求8所述的方法,其中,接收每個(gè)Cassandra集群上傳的、其自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系,包括: 接收每個(gè)Cassandra集群上傳的、更新部分的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系。
10.一種數(shù)據(jù)全局處理方法,應(yīng)用于設(shè)置全局?jǐn)?shù)據(jù)定位中心Center Locator耦接至多個(gè)分布式存儲(chǔ)系統(tǒng)Cassandra集群情況,包括: 將自身存儲(chǔ)的數(shù)據(jù)與具體存儲(chǔ)位置間的映射關(guān)系上傳至所述Center Locator ;
接收所述Center Locator下發(fā)的處理指令,進(jìn)行相應(yīng)處理。
【文檔編號(hào)】H04L29/08GK104408086SQ201410638336
【公開日】2015年3月11日 申請(qǐng)日期:2014年11月7日 優(yōu)先權(quán)日:2014年11月7日
【發(fā)明者】王 鋒 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司