[發明專利]分布式節點間的數據傳輸方法及分布式節點設備有效
| 申請號: | 201410598754.1 | 申請日: | 2014-10-30 |
| 公開(公告)號: | CN104317716B | 公開(公告)日: | 2017-10-24 |
| 發明(設計)人: | 熊四兵;倪小珂;李顯才 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F17/30 |
| 代理公司: | 北京同達信恒知識產權代理有限公司11291 | 代理人: | 馮艷蓮 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 節點 數據傳輸 方法 設備 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種分布式節點間的數據傳輸方法及分布式節點設備。
背景技術
目前,分布式存儲系統中,數據分布于多個分布式節點,為了保證數據的可靠性,數據采用多副本的保存方式,即一份數據需要保存在多個分布式節點,這就導致分布式節點之間需要頻繁進行大量的數據拷貝。如圖1所示的分布式存儲系統中,將分布式節點A中的數據的副本保存至分布式節點C中,將分布式節點B中的數據的副本保存至分布式節點D中。
為了達到高端存儲所要求的吞吐量和低延時的要求,普通以太網在進行數據傳輸時,發送端和接收端均需要中央處理器(CPU)參與數據的搬移,且需要操作系統在內核態和用戶態之間進行頻繁上下文切換。無限帶寬(Infiniband,簡稱IB)網絡則可以提供遠程直接數據獲取(RDMA)技術,采用RDMA技術在發送端和接收端進行數據傳輸過程中無需CPU的參與,極大的提高了數據傳輸的速度。
RDMA技術允許數據從一個計算機內存直接傳輸到另一個計算機內存,基本原理如圖2所示,CPU無需參與數據傳輸過程(圖2中的步驟2和步驟4),僅需參與數據傳輸前期的控制(圖2中的步驟1)和數據傳輸完成之后的通知過程(圖2中的步驟5)。
RDMA在節點之間主要有以下幾種通信操作:發送(Send)操作、寫(Write)操作、讀(Read)操作和原子(Atomic)操作。各通信操作的數據傳輸均是由IB硬件完成,數據發送和數據接收過程中主機無需參與,但在發起數據傳輸和完成數據傳輸后的處理上有所不同,具體如圖3所示。
其中,發送操作按照步驟1~4執行,發送操作中在發起數據傳輸過程和接收數據之前需要發送端和接收端的主機參與協商,并且在發送數據和接收數據完成時,發送端和接收端都需要一個通知消息(Notify)來通知主機中的應用;
寫操作按照步驟1~4執行,接收端的主機無需進行任何操作,也就是說接收端主機不需要參與數據傳輸過程,也無需參與數據傳輸之前的協商和數據傳輸完成之后的通知過程,而發送端主機需要參與數據發送之前的通知和數據發送完成之后的通知過程;
讀操作按照步驟1~4執行,接收端從發送端讀取數據,發送端無需參與整個數據傳輸過程,也無需參與數據讀取之前的通知和數據讀取完成之后的通知過程,而接收端需要發起讀操作,并在數據讀取完成之后需要通知主機;
原子(Atomic)操作按照步驟1~3執行,原子操作中一端需要傳輸64比特(bite)的數據到對端,并對對端固定位置的64bite數據進行操作,例如原子增加、原子減小或原子替換的操作,此時接收端無需參數數據傳輸過程,而發送端需要進行通知操作。
在現有的分布式系統中,分布式節點之間需要傳輸數據時,一般采用如圖4所示的流程,具體如下:
發送端準備需要發送的緩存(Buff)信息(如緩存區的地址、長度、權限等),并將Buff信息通過RDMA的發送操作發送到接收端,并硬件通知應用消息已成功發送;
接收端硬件收到通知消息后,通知本端應用根據發送端的Buff信息發起一次RDMA讀操作,接收端硬件完成讀操作,將位于發送端的內存中的數據讀取到本端的內存中,并通知接收端應用;
接收端應用接收到通知消息后,確定數據已經成功寫入非易失性存儲器,發送已讀取到數據的應答消息給發送端;
發送端硬件接收到應答消息后,通知本端的應用,本端應用獲得該應答消息后確定對端已經成功讀取到數據,可以通知客戶端輸入輸出完成。
該過程中,接收端CPU需要參與數據傳輸的控制和通知,接收端和發送端之間需要進行多次交互才能完成數據傳輸過程,且該交互過程無法確定數據是否完全備份至接收端的非易失性存儲器,如果在數據備份不完全的情況下,系統發起后續的數據處理過程,會影響系統的安全性。
發明內容
本發明實施例提供一種分布式節點間的數據傳輸方法及分布式節點設備,用以在減少占用的CPU資源的前提下,提高數據傳輸的安全性。
本發明實施例提供的具體技術方案如下:
第一方面,提供了一種分布式節點間的數據傳輸方法,包括:
源節點的中央處理器CPU獲得待寫入數據以及用于驗證所述待寫入數據是否備份完全的校驗數據,所述校驗數據與所述待寫入數據中的從所述待寫入數據末端向前的設定長度的數據部分相同;
所述源節點的CPU通過目的節點的網絡輸入輸出IO設備將所述待寫入數據寫入所述目的節點的非易失性存儲器中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410598754.1/2.html,轉載請聲明來源鉆瓜專利網。





