數(shù)據(jù)同步裝置及方法
【技術領域】
[0001] 本發(fā)明設及計算機技術領域,特別設及一種數(shù)據(jù)同步裝置及方法。
【背景技術】
[0002] 在網絡中,當發(fā)送節(jié)點向接收節(jié)點發(fā)送數(shù)據(jù)報文的速率大于接收節(jié)點處理數(shù)據(jù)報 文的速率時,網絡將會產生擁擠甚至死鎖。為了防止網絡出現(xiàn)擁擠或死鎖,人們通常采用基 于信用的流量控制方案,控制發(fā)送節(jié)點向接收節(jié)點發(fā)送數(shù)據(jù)報文的速率。
[0003] 在實際應用過程中,發(fā)送節(jié)點與接收節(jié)點之間的連接設置有信用值,且發(fā)送節(jié)點 僅在該連接的信用值大于0時,才可W向接收節(jié)點發(fā)送數(shù)據(jù)報文,該信用值與接收節(jié)點中 緩沖區(qū)的緩存空間數(shù)量有關。當接收節(jié)點向緩沖區(qū)中提交新的緩存空間時,接收節(jié)點側的 主機對保存的信用值進行維護,將該連接對應的信用值加1;當接收節(jié)點通過遠程直接數(shù) 據(jù)存?。ㄓ⑽模籖emoteDirectMemcxryAccess;簡稱;畑MA)接口適配器接收到發(fā)送節(jié)點發(fā) 送的數(shù)據(jù)報文時,則需要消耗緩沖區(qū)中的緩存空間,RDMA接口適配器將保存的信用值減1, 并將減1后的信用值通過應答報文發(fā)送至發(fā)送節(jié)點。發(fā)送節(jié)點根據(jù)該應答報文即知悉該連 接當前的信用值,并根據(jù)當前的信用值確定是否可W繼續(xù)發(fā)送數(shù)據(jù)報文,從而實現(xiàn)控制發(fā) 送節(jié)點發(fā)送數(shù)據(jù)報文的速率。
[0004] 當RDMA接口適配器中保存的信用值被減至0時,RDMA接口適配器通過外設部件 互連快速通道(英文;PeripheralComponentInterconnectExpress;簡稱;PCIE;)獲取主 機中維護的最新的信用值,并進行保存,同時向發(fā)送節(jié)點發(fā)送最新的信用值。
[0005] 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在W下問題:
[0006] 由于RDMA接口適配器只有在信用值為0時,才會通過PCIE從主機中獲取最新的 信用值,且獲取最新的信用值需要較長時間,導致獲取最新的信用值期間,發(fā)送節(jié)點不能繼 續(xù)向接收節(jié)點發(fā)送數(shù)據(jù)報文,造成數(shù)據(jù)報文的傳輸中斷。
【發(fā)明內容】
[0007] 為了解決【背景技術】中RDMA接口適配器通過PCIE從主機中獲取最新的信用值時, 數(shù)據(jù)報文的傳輸中斷的問題,本發(fā)明實施例提供了一種數(shù)據(jù)同步裝置及方法。所述技術方 案如下:
[000引第一方面,提供了一種數(shù)據(jù)同步裝置,所述裝置包括:
[0009] 接收模塊,用于當接收到發(fā)送節(jié)點發(fā)送的數(shù)據(jù)報文時,將與所述發(fā)送節(jié)點對應的 第一信用值減1,并向所述發(fā)送節(jié)點發(fā)送攜帶有所述第一信用值的應答報文;
[0010] 檢測模塊,用于檢測所述RDMA接口適配器維護的所述第一信用值是否小于當前 口限級別對應的同步闊值,所述同步闊值大于0 ;
[0011] 同步模塊,用于當所述第一信用值小于所述同步闊值時,通過外設部件互連快速 通道PCIE同步主機中維護的第二信用值。
[0012] 在第一方面的第一種可能的實施方式中,所述RDMA接口適配器中設置有至少一 個口限級別,所述口限級別與所述同步闊值呈負相關關系。
[0013] 在第一方面的第二種可能的實施方式中,所述裝置,還包括:
[0014] 獲取模塊,用于獲取與所述同步闊值對應的調整范圍值;
[0015] 計算模塊,用于根據(jù)所述第二信用值與所述同步闊值計算信用值增量;
[0016] 調整模塊,用于根據(jù)所述信用值增量與所述調整范圍值,調整所述RDMA接口適配 器中的所述口限級別。
[0017] 結合第一方面的第二種可能的實施方式,在第一方面的第=種可能的實施方式 中,所述調整模塊,包括:
[0018] 第一檢測單元,用于檢測所述信用值增量是否小于所述調整范圍值的下限;
[0019] 第一調整單元,用于當所述信用值增量小于所述調整范圍值的下限時,在所述當 前口限級別基礎上下調預設級數(shù)。
[0020] 結合第一方面的第二種可能的實施方式,在第一方面的第四種可能的實施方式 中,所述調整模塊,包括:
[0021] 第二檢測單元,用于檢測所述信用值增量是否大于所述調整范圍值的上限;
[0022] 第二調整單元,用于當所述信用值增量大于所述調整范圍值的上限時,在所述當 前口限級別基礎上上調預設級數(shù)。
[0023] 結合第一方面的第二種可能的實施方式,在第一方面的第五種可能的實施方式 中,所述調整模塊,包括:
[0024] 第S調整單元,用于當所述信用值增量大于所述調整范圍值的下限,且小于所述 調整范圍值的上限時,保持所述當前口限級別。
[0025] 結合第一方面、第一方面的第一種可能的實施方式、第一方面的第二種可能的實 施方式、第一方面的第=種可能的實施方式、第一方面的第四種可能的實施方式或第一方 面的第五種可能的實施方式,在第一方面的第六種可能的實施方式中,所述裝置,還包括:
[0026] 發(fā)送模塊,用于向所述發(fā)送節(jié)點發(fā)送攜帶有所述第二信用值的更新報文,所述更 新報文用于告知所述發(fā)送節(jié)點對應連接的最新信用值。
[0027] 第二方面,提供了一種數(shù)據(jù)同步方法,所述方法包括:
[002引當接收到發(fā)送節(jié)點發(fā)送的數(shù)據(jù)報文時,將與所述發(fā)送節(jié)點對應的第一信用值減1, 并向所述發(fā)送節(jié)點發(fā)送攜帶有所述第一信用值的應答報文;
[0029] 檢測所述RDMA接口適配器維護的所述第一信用值是否小于當前口限級別對應的 同步闊值,所述同步闊值大于0 ;
[0030] 當所述第一信用值小于所述同步闊值時,通過外設部件互連快速通道PCIE同步 主機中維護的第二信用值。
[0031] 在第二方面的第一種可能的實施方式中,所述RDMA接口適配器中設置有至少一 個口限級別,所述口限級別與所述同步闊值呈負相關關系。
[0032] 在第二方面的第二種可能的實施方式中,所述方法,還包括:
[0033] 獲取與所述同步闊值對應的調整范圍值;
[0034] 根據(jù)所述第二信用值與所述同步闊值計算信用值增量;
[0035] 根據(jù)所述信用值增量與所述調整范圍值,調整所述RDMA接口適配器中的所述口 限級別。
[0036] 結合第二方面的第二種可能的實施方式,在第二方面的第=種可能的實施方式 中,所述根據(jù)所述信用值增量與所述調整范圍值,調整所述RDMA接口適配器中的所述口限 級別,包括:
[0037] 檢測所述信用值增量是否小于所述調整范圍值的下限;
[003引當所述信用值增量小于所述調整范圍值的下限時,在所述當前口限級別基礎上下 調預設級數(shù)。
[0039] 結合第二方面的第二種可能的實施方式,在第二方面的第四種可能的實施方式 中,所述根據(jù)所述信用值增量與所述調整范圍值,調整所述RDMA接口適配器中的所述口限 級別,包括:
[0040] 檢測所述信用值增量是否大于所述調整范圍值的上限;
[0041] 當所述信用值增量大于所述調整范圍值的上限時,在所述當前口限基礎上上調預 設級數(shù)。
[0042] 結合第二方面的第二種可能的實施方式,在第二方面的第五種可能的實施方式 中,所述根據(jù)所述信用值增量與所述調整范圍值,調整所述RDMA接口適配器中的所述口限 級別,包括:
[0043] 當所述信用值增量大于所述調整范圍值的下限,且小于所述調整范圍值的上限 時,保持所述當前口限級別。
[0044] 結合第二方面、第二方面的第一種可能的實施方式、第二方面的第二種可能的實 施方式、第二方面的第=種可能的實施方式、第二方面的第四種可能的實施方式或第二方 面的第五種可能的實施方式,在第二方面的第六種可能的實施方式中,所述方法,還包括:
[0045]向所述發(fā)送節(jié)點發(fā)送攜帶有所述第二信用值的更新報文,所述更新報文用于告知 所述發(fā)送節(jié)點對應連接的最新信用值。
[0046] 本發(fā)明實施例提供的技術方案帶來的有益效果是:
[0047] 通過檢測RDMA接口適配器維護的第一信用值是否小于當前口限級別對應的同步 闊值,并在第一信用值小于該同步闊值時,同步主機中維護的第二信用值;解決了RDMA接 口適配器通過PCIE從主機中獲取最新的信用值時,數(shù)據(jù)報文的傳輸中斷的問題;達到了 畑MA接口適配器在同步最新的信用值的過程中,發(fā)送節(jié)點仍舊能夠發(fā)送數(shù)據(jù)報文,防止數(shù) 據(jù)報文傳輸中斷的效果。
【附圖說明】
[0048] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù)該些附圖獲得其他 的附圖。
[0049] 圖1是本發(fā)明一個實施例提供的數(shù)據(jù)同步裝置的結構方框圖;
[0050] 圖2是本發(fā)明另一實施例提供的數(shù)據(jù)同步裝置的結構方框圖;
[0化1]圖3是本發(fā)明一個實施例提供的畑MA接口適配器的框圖;
[0052]圖4是本發(fā)明一個實施例提供的數(shù)據(jù)同步方法的方法流程圖;
[0化3]圖5A是本發(fā)明另一實施例提供的數(shù)據(jù)同步方法的方法流程圖;
[0054] 圖5B是本發(fā)明另一實施例提供的數(shù)據(jù)同步方法的方法流程圖;
[0055] 圖6A是本發(fā)明一個實施例提供的數(shù)據(jù)同步方法提供的應用場景的示意圖;
[0化6] 圖6B是本發(fā)明一個實施例提供的信用控制器的示意圖。