數據處理方法、設備和系統的製作方法
2023-09-19 11:10:55 3
數據處理方法、設備和系統的製作方法
【專利摘要】本申請公開了一種數據處理方法、設備和系統,應用於包括協調器和多個節點設備的分布式系統,該方法包括:協調器對各節點設備進行監測;當所述協調器監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息,確定所述業務數據發生變化的節點設備的備份節點設備,並向該第一業務數據發生變化的節點設備發送指示信息,以指示該節點設備更新其備份節點設備上對應的第二業務數據。通過採用本申請提供的技術方案,提高了分布式系統內數據存儲的安全性,並提高了節點設備的資源利用率。
【專利說明】數據處理方法、設備和系統
【技術領域】
[0001]本申請涉及網際網路技術應用領域,特別是涉及一種數據處理方法、設備和系統。
【背景技術】
[0002]隨著網際網路技術的高速發展,計算機軟體應用需求已經逐漸向響應時間、可升級性以及快速數據增長等方向轉變。為了適應這些需求,應用部署模式已經從使用直接附帶存儲器的單個主機上運行應用發展到分布式環境中,其中,在該分布式環境中將應用工作負荷分布在使用集中式存儲模型的多個主機上。
[0003]在分布式系統中每個主機設備都稱為「節點」,為保證系統數據具備容災能力,數據需要備份(冗餘)到一個或多個節點上。
[0004]在現有的一種分布式系統數據備份方案中,新數據被寫入系統中時,為保證寫入的一致性,系統中只有一個節點對外提供寫入接口,這個節點稱為Master節點(主節點),但數據寫入Master節點的同時,Master節點保證將同樣的數據寫入至少另一個節點,該節點稱為Slave節點(從節點)。
[0005]在該技術方案中,由於Slave節點在Master節點正常工作時,不提供對外的寫服務,以一個Master節點對應一個Slave節點為例,若分布式系統中節點數為N,則其中有N/2的節點資源利用率會很低;同時,一旦Master節點不可用後,此時系統雖然可用,但現有數據已陷入單點的危機中,需人工介入恢復Master或新增節點。
【發明內容】
[0006]本申請的目的在於,提供一種數據處理方法、設備和系統,以提高分布式系統內數據存儲的安全性,並提高節點設備的資源利用率,為此,本申請實施
[0007]—種數據處理的方法,應用於包括協調器和多個節點設備的分布式系統,各節點設備中存儲有第一業務數據和第二業務數據,所述第一業務數據為所述節點設備自身的業務數據,所述第二業務數據為所述節點設備作為其他節點設備的備份節點設備時,存儲的所述其他節點設備的第一業務數據的備份數據,所述協調器中記錄有系統內各節點設備之間的數據備份關係信息;該方法包括:
[0008]協調器對所述各節點設備進行監測;
[0009]當所述協調器監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息,確定所述業務數據發生變化的節點設備的備份節點設備,並向該第一業務數據發生變化的節點設備發送指示信息,以指示該節點設備更新其備份節點設備上對應的第二業務數據。
[0010]一種協調器,應用於包括多個節點設備的分布式系統,各節點設備中存儲有第一業務數據和第二業務數據,所述第一業務數據為所述節點設備自身的業務數據,所述第二業務數據為所述節點設備作為其他節點設備的備份節點設備時,存儲的所述其他節點設備的第一業務數據的備份數據,該協調器包括:[0011]記錄模塊,用於記錄所述節點設備之間的數據備份關係信息;
[0012]監測模塊,用於對所述節點設備進行監測;
[0013]確定模塊,用於當所述監測模塊監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息確定用於該業務數據發生變化的節點設備的備份節點設備;
[0014]指示模塊,用於向所述第一業務數據發生變化的節點設備發送指示信息,以指示該節點設備更新其備份節點設備上的對應的第二業務備份數據。
[0015]一種數據處理方法,應用於包括協調器和多個節點設備的分布式系統,各節點設備中存儲有第一業務數據和第二業務數據,所述第一業務數據為所述節點設備自身的業務數據,所述第二業務數據為所述節點設備作為其他節點設備的備份節點設備時,存儲的所述其他節點設備的第一業務數據的備份數據,所述協調器中記錄有系統內各節點設備之間的數據備份關係信息;該方法包括:
[0016]節點設備接收所述協調器發送的第一指示信息;其中,當所述協調器監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息,確定所述業務數據發生變化的節點設備的備份節點設備,並向該業務數據發生變化的節點設備發送第一指示信息;
[0017]所述節點設備根據所述第一指示信息更新其備份節點設備上對應的第二業務數據。
[0018]一種節點設備,應用於包括協調器的分布式系統,所述協調器中記錄有系統內各節點設備之間的數據備份關係信息;該節點設備包括:
[0019]存儲模塊,用於存儲第一業務數據和第二業務數據,所述第一業務數據為所述節點設備自身的業務數據,所述第二業務數據為所述節點設備作為其他節點設備的備份節點設備時,存儲的所述其他節點設備的第一業務數據的備份數據;
[0020]接收模塊,用於接收協調器發送的第一指示信息;其中,當所述協調器監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息,確定所述業務數據發生變化的節點設備的備份節點設備,並向該業務數據發生變化的節點設備發送第一指示信息;
[0021]處理模塊,用於根據接收到的第一指示信息更新其備份節點設備上對應的第二業務數據。
[0022]一種分布式系統,包括上述協調器和節點設備。
[0023]本申請的上述實施例,通過協調器對系統內的節點設備進行監測,並當協調器監測到節點設備上的業務數據發生變化時,根據數據備份關係信息確定該業務數據發生變化的節點設備的備份節點設備,該備份節點設備用於備份該業務數據發生變化的節點設備的業務數據,並向該業務數據發生變化的節點設備發送指示信息,以指示該節點設備更新其備份節點設備上的備份數據,提高了分布式系統內數據存儲的安全性,並提高了節點設備的資源利用率。
【專利附圖】
【附圖說明】
[0024]圖1為本申請實施例提供的技術方案的應用場景的系統架構圖;
[0025]圖2為本申請實施例提供的一種實現數據備份的方法的流程示意圖;
[0026]圖3A為本申請實施例提供的一種應用場景的系統架構圖;
[0027]圖3B為本申請實施例提供的一種應用場景的系統架構圖;[0028]圖3C為本申請實施例提供的一種應用場景的系統架構圖;
[0029]圖4為本申請實施例提供的一種協調器的結構示意圖;
[0030]圖5為本申請實施例提供的一種節點設備的結構示意圖。
【具體實施方式】
[0031]針對上述現有技術中存在的缺陷,本申請提供了一種數據處理的技術方案,應用於包括協調器和多個節點設備的分布式系統。在該技術方案中,各節點設備中存儲有第一業務數據和第二業務數據,第一業務數據為節點設備自身的業務數據,第二業務數據為節點設備作為其他節點設備的備份節點設備時,存儲的該其他節點設備的第一業務數據的備份數據,協調器中記錄有系統內各節點設備之間的數據備份關係信息;當協調器監測到節點設備上的第一業務數據發生變化時,根據數據備份關係信息,確定該業務數據發生變化的節點設備的備份節點設備,並向該第一業務數據發生變化的節點設備發送指示信息,以指示該節點設備更新其備份節點設備上對應的第二業務數據,提高了系統內節點設備的資源利用率,並提高了分布式系統中數據存儲的安全性。
[0032]其中,協調器可以通過設置在系統內各節點設備中的監控客戶端對系統內各節點設備進行監控,系統內各節點設備可以通過相應的監控客戶端以一定的頻率向協調器發送報文(如心跳報文),以使協調器獲知相應節點設備的可用狀態。
[0033]在本申請實施例提供的技術方案中,當一個節點設備(如節點設備A)的第一業務數據在另一個節點設備中進行備份時,則該節點設備(節點設備A)稱為該另一個節點設備(節點設備B)的上遊節點設備(即節點設備B中存儲的第二業務數據所歸屬的節點設備);相應地,節點設備B即稱為該節點設備A的下遊節點設備(即節點設備A的備份節點設備)。協調器中記錄有系統內各節點的數據存儲狀態信息,即各節點設備之間的數據備份關信息,根據該數據備份關係信息,協調器可以獲知系統任一節點設備的上遊節點設備和下遊節點設備,並當系統內節點設備之間的數據備份關係發生變化時,更新自身記錄的數據備份關係信息。
[0034]需要注意的是,在本申請實施例提供的技術方案中,一個節點設備中存儲的業務數據可以在多個設備中進行備份。例如,系統內包括節點設備1-5,則節點設備1的第一業務數據可以在節點設備2和3上備份,節點設備2的第一業務數據可以在節點設備3和節點設備4上備份,依次類推,節點設備5的第一業務數據可以在節點設備1和節點設備2上備份。為了便於描述,在本申請的實施例中,均以一個節點設備在另一個節點設備上進行數據備份為例進行描述。
[0035]下面將結合本申請中的附圖,對本申請中的技術方案進行清楚、完整的描述,顯然,所描述的實施例是本申請的一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
[0036]如圖1所示,其為本申請實施例提供的技術方案的應用場景的結構圖,其中包括協調器和多個節點設備;其中:
[0037]在本申請實施例中,節點設備之間形成環鏈式數據備份,即節點設備1中存儲的第一業務數據備份在節點設備2中,同時,節點設備1中存儲有對應節點設備N的第二業務數據(相應地,節點設備1可以稱為節點設備2的上遊節點設備,同時也可以稱為節點設備N的下遊節點設備);
[0038]協調器中存儲有分布式系統內各節點設備之間的數據備份關係信息,用於對系統內各節點設備進行監控,並當監控到某節點設備不可用(如發生故障)時,通知該節點設備的上遊節點設備和下遊節點設備進行相應的數據備份處理,並更新自身記錄的系統內各節點設備之間的數據備份關係信息。
[0039]基於圖1所示的系統架構,本申請實施例提供了一種數據處理方法。
[0040]如圖2所示,其為本申請實施例提供的一種數據處理方法的流程示意圖,可以包括以下步驟:
[0041]步驟201、協調器對各節點設備進行監測。
[0042]具體的,在本申請實施例中,協調器可以通過心跳機制對系統內各節點設備進行監測。當協調器在預設時間內未接收到節點設備發送的心跳報文時,則確定該節點設備不可用。
[0043]步驟202、當協調器監測到節點設備上的第一業務數據發生變化時,根據數據備份關係信息確定該第一業務數據發生變化的節點設備的下遊節點設備,並向該第一業務數據發生變化的節點設備發送指示信息,以指示該節點設備更新其下遊節點設備上對應的第二業務數據。
[0044]具體的,在本申請實施例中,第一業務數據發生變化可以包括:節點設備中有第一業務數據寫入,節點設備中有第一業務數據被刪除,或節點設備中第一業務數據發生更新。
[0045]當協調器監測到節點設備上的第一業務數據發生變化時,協調器可以向該節點設備發送指示信息(第一指示信息),指示該節點設備更新其下遊節點設備上對應的第二業務數據。
[0046]相應地,當節點設備接收到協調器發送的第一指示信息時,該節點設備可以根據該第一指示信息更新其下遊節點上對應的第二業務數據。
[0047]其中,當所述第一業務數據的變化為第一業務數據寫入時,所述協調器指示所述節點設備將寫入的第一業務數據備份到其下遊節點設備;或,
[0048]當所述第一業務數據的變化為第一業務數據刪除時,所述協調器指示所述節點設備刪除其下遊節點設備中對應的第二業務數據;或,
[0049]當所述業務數據的變化為業務數據更新時,所述協調器指示所述節點設備更新其下遊節點設備中對應的第二業務數據。
[0050]進一步地,在本申請實施例中,當協調器監測到系統內節點設備不可用時,協調器可以根據自身存儲的數據備份關係確定該不可用節點設備的上遊節點設備、該不可用節點設備的下遊節點設備以及該不可用節點設備的下遊節點設備的下遊節點設備,協調器可以向該不可用節點設備的上遊節點發送指示信息(第二指示信息),指示該不可用節點設備的上遊節點設備將自身的第一業務數據備份到該不可用節點設備的下遊節點設備;協調器還可以向該不可用節點設備的下遊節點設備發送指示信息(第三指示信息),指示該不可用節點設備的下遊節點設備將自身存儲的對應該不可用節點設備的第二業務數據備份到自身的下遊節點設備(即不可用節點設備的下遊節點設備的下遊節點設備),並更新系統內各節點設備之間的數據備份關係信息。[0051]相應地,當節點設備接收到協調器發送的第二指示信息時,根據該第二指示信息將自身存儲的第一業務數據備份到不可用節點設備的下遊節點設備;當節點設備接收到協調器發送的第三指示信息時,根據該第三指示信息將自身存儲的對應不可用節點設備的第二業務數據備份到自身的下遊節點設備。
[0052]以圖3A所示的應用場景為例。系統中每個節點設備都可以對外提供數據服務(讀或寫),其自身存儲的業務數據都會備份給環鏈中順時針的下一個節點設備。其中,節點設備(節點)1中存儲的業務數據(實線圈1)備份給節點2 (虛線圈1);節點2中存儲的業務數據(實線圈2)備份給節點3 (虛線圈2);節點3中存儲的業務數據(實線圈3)備份給節點4(虛線圈3);節點4中存儲的業務數據(實線圈4)備份給節點1(虛線圈4),其中,協調器中存儲的數據備份關係信息可以如表1所示:
[0053]表1
[0054]
【權利要求】
1.一種數據處理的方法,其特徵在於,應用於包括協調器和多個節點設備的分布式系統,各節點設備中存儲有第一業務數據和第二業務數據,所述第一業務數據為所述節點設備自身的業務數據,所述第二業務數據為所述節點設備作為其他節點設備的備份節點設備時,存儲的所述其他節點設備的第一業務數據的備份數據,所述協調器中記錄有系統內各節點設備之間的數據備份關係信息;該方法包括: 協調器對所述各節點設備進行監測; 當所述協調器監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息,確定所述業務數據發生變化的節點設備的備份節點設備,並向該第一業務數據發生變化的節點設備發送指示信息,以指示該節點設備更新其備份節點設備上對應的第二業務數據。
2.如權利要求1所述的方法,其特徵在於,該方法還包括: 當所述協調器監測到節點設備不可用時,根據所述數據備份關係信息,確定該不可用節點設備中存儲的第二業務數據所歸屬的節點設備、該不可用節點設備的備份節點設備、以及該不可用節點設備的備份節點設備的備份節點設備; 所述協調器指示所述不可用節點設備中存儲的第二業務數據所歸屬的節點設備,將該不可用節點設備中存儲的第二業務數據所歸屬的節點設備的第一業務數據備份到該不可用節點設備的備份節點設備,並指示所述不可用節點設備的備份節點設備,將該不可用節點設備的備份節點設備存儲的對應該不可用節點設備的第二業務數據備份到該不可用節點設備的備份節點設備的備份節點設備上; 所述協調器更新各對應節點設備之間的數據備份關係信息。
3.如權利要求2所述的`方法,其特徵在於,該方法還包括: 當所述協調器監測到對所述不可用節點設備的數據訪問請求時,根據所述數據備份關係信息確定該不可用節點設備的備份節點設備,並將所述數據訪問請求遷移至所確定出的備份節點設備。
4.如權利要求1所述的方法,其特徵在於,該方法還包括: 當所述協調器監測到系統內有新的節點設備加入時,所述協調器確定需要將自身存儲的第一業務數據備份到該新加入的節點設備的節點設備,以及該新加入的節點設備的備份節點設備; 所述協調器指示所述需要將自身存儲的第一業務數據備份到該新加入的節點設備的節點設備,將自身的第一業務數據備份到該新加入的節點設備;以及,指示該新加入的節點設備將自身的第一業務數據備份到該新加入的節點設備的備份節點設備; 所述協調器更新各對應節點設備之間的數據備份關係信息。
5.如權利要求4所述的方法,其特徵在於,還包括: 所述協調器指示該新加入的節點設備的備份節點設備,刪除其自身存儲的對應所述需要將自身存儲的第一業務數據備份到的該新加入的節點設備的節點設備的第二業務數據。
6.如權利要求4或5所述的方法,其特徵在於,所述協調器中存儲有各節點設備的編號,其中,編號為N的節點設備為編號為N-X的節點設備的備份節點設備,且編號為X的節點設備為編號為N的節點設備的備份節點設備,所述節點設備之間形成環鏈式數據備份,N為分布式系統為節點設備數量;當所述協調器監測到系統內有新的節點設備加入時,所述協調器確定該新加入的節點設備的編號為N+X,並將該編號為N+X的節點設備確定為編號為N的節點設備的備份節點設備,將編號為X的節點設備確定為該編號為N+X的節點設備的備份節點設備;其中,X為正整數。
7.一種協調器,其特徵在於,應用於包括多個節點設備的分布式系統,各節點設備中存儲有第一業務數據和第二業務數據,所述第一業務數據為所述節點設備自身的業務數據,所述第二業務數據為所述節點設備作為其他節點設備的備份節點設備時,存儲的所述其他節點設備的第一業務數據的備份數據,該協調器包括: 記錄模塊,用於記錄所述各節點設備之間的數據備份關係信息; 監測模塊,用於對所述節點設備進行監測; 確定模塊,用於當所述監測模塊監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息確定用於該業務數據發生變化的節點設備的備份節點設備; 指示模塊,用於向所述第一業務數據發生變化的節點設備發送指示信息,以指示該節點設備更新其備份節點設備上的對應的第二業務數據。
8.如權利要求7所述的協調器,其特徵在於, 所述記錄模塊還用於,記錄各節點設備的編號,其中,編號為N的節點設備為編號為N-X的節點設備的備份節點設備,且編號為X的節點設備為編號為N的節點設備的備份節點設備,所述節點設備之間形成環鏈式數據備份,N為分布式系統為節點設備數量,X為小於N的正整數; 所述確定模塊具體用於,當所述監 測模塊監測到系統內有新的節點設備加入時,確定該新加入的節點設備的編號為N+X,並將編號為N+X的節點設備確定為編號為N的節點設備的備份節點設備,將編號為X的節點設備確定為該編號為N+X的節點設備的備份節點設備。
9.一種數據處理方法,其特徵在於,應用於包括協調器和多個節點設備的分布式系統,各節點設備中存儲有第一業務數據和第二業務數據,所述第一業務數據為所述節點設備自身的業務數據,所述第二業務數據為所述節點設備作為其他節點設備的備份節點設備時,存儲的所述其他節點設備的第一業務數據的備份數據,所述協調器中記錄有系統內各節點設備之間的數據備份關係信息;該方法包括: 節點設備接收所述協調器發送的第一指示信息;其中,當所述協調器監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息,確定所述業務數據發生變化的節點設備的備份節點設備,並向該業務數據發生變化的節點設備發送第一指示信息; 所述節點設備根據所述第一指示信息更新其備份節點設備上對應的第二業務數據。
10.一種節點設備,其特徵在於,應用於包括協調器的分布式系統,所述協調器中記錄有系統內各節點設備之間的數據備份關係信息;該節點設備包括: 存儲模塊,用於存儲第一業務數據和第二業務數據,所述第一業務數據為所述節點設備自身的業務數據,所述第二業務數據為所述節點設備作為其他節點設備的備份節點設備時,存儲的所述其他節點設備的第一業務數據的備份數據; 接收模塊,用於接收協調器發送的第一指示信息;其中,當所述協調器監測到節點設備的第一業務數據發生變化時,根據所述數據備份關係信息,確定所述第一業務數據發生變化的節點設備的備份節點設備,並向該第一業務數據發生變化的節點設備發送第一指示信息; 處理模塊,用於根據接收到的第一指示信息更新其備份節點設備上對應的第二業務數據。
11.一種分布式系統,其特徵在於,包括如權利要求7或8所述的協調器和如權利要求10所述的節點設備。`
【文檔編號】G06F11/14GK103516734SQ201210204318
【公開日】2014年1月15日 申請日期:2012年6月20日 優先權日:2012年6月20日
【發明者】鍾倫甫 申請人:阿里巴巴集團控股有限公司