本申請公開了一種數據傳輸方法、裝置、電子設備及介質,涉及數據傳輸領域。該方案中,接收傳輸請求,傳輸請求中包括目標數據塊的源地址、目標地址及目標數據塊長度;從源地址中獲取目標數據塊,并根據目標數據塊長度將目標數據塊劃分為多個子數據塊;將多個子數據塊分發至多個DMA引擎,以使各個DMA引擎將與自身對應的子數據塊傳輸至目標地址,以完成對目標數據塊的傳輸。通過本申請中的方式,對目標數據塊進行劃分,并同時利用多個DMA引擎對同一目標數據塊進行處理,提高了對目標數據塊處理的速度,提高了服務器數據傳輸的能力。提高了服務器數據傳輸的能力。提高了服務器數據傳輸的能力。
【技術實現步驟摘要】
一種數據傳輸方法、裝置、電子設備及介質
[0001]本申請涉及數據傳輸領域,特別涉及一種數據傳輸方法、裝置、電子設備及介質。
技術介紹
[0002]計算機系統的通信領域包括一種基于PCIE(peripheral component interconnect express,高速串行計算機擴展總線標準)鏈路的高速通信方式,其已經從PCIE3.0發展到了PCIE5.0,傳輸鏈路的通信能力得到的極大的提高。隨著通道性能的提升,單個DMA(Direct Memory Access,直接存儲器訪問)引擎的數據傳輸性能逐漸達到瓶頸。此時,若想要達到較好的鏈路通信能力, 需要對DMA引擎進行加速。目前對DMA引擎進行加速的方式為:廠商在生產時提升硬件的DMA引擎搬運能力,以實現對DMA引擎的加速,但是硬件的DMA引擎的搬運能力的提升空間很小且提升難度很大。此外,對于已經生產的硬件中的DMA引擎的搬運能力已經無法改變。
[0003]因此,提供一種數據傳輸方法,以在計算機系統傳輸的數據量較大且單個DMA引擎的傳輸性能達到瓶頸時,提高系統的數據傳輸能力是十分必要的。
技術實現思路
[0004]本申請的目的是提供一種數據傳輸方法、裝置、電子設備及介質,對目標數據塊進行劃分,并同時利用多個DMA引擎對同一目標數據塊進行處理,提高了對目標數據塊處理的速度,提高了服務器數據傳輸的能力。
[0005]為解決上述技術問題,本申請提供了一種數據傳輸方法,所述方法包括:接收傳輸請求,所述傳輸請求中包括目標數據塊的源地址、目標地址及目標數據塊長度;從所述源地址中獲取目標數據塊,并根據所述目標數據塊長度將所述目標數據塊劃分為多個子數據塊;將多個所述子數據塊分發至多個DMA引擎,以使各個所述DMA引擎將與自身對應的子數據塊傳輸至所述目標地址,以完成對所述目標數據塊的傳輸。
[0006]優選地,所述傳輸請求包括多個時,接收傳輸請求之后,還包括:將多個所述傳輸請求按照時間順序進行排列;按照排列順序依次對各所述傳輸請求進行處理。
[0007]優選地,將多個所述傳輸請求按照時間順序進行排列,包括:按照時間順序將多個所述傳輸請求依次寫入請求隊列,所述請求隊列遵循先入先出原則;按照排列順序依次對各個所述傳輸請求進行處理,包括:按照所述請求隊列寫入的順序依次對各所述傳輸請求進行處理。
[0008]優選地,將多個所述子數據塊分發至多個所述DMA引擎,以使各個所述DMA引擎將與自身對應的子數據塊傳輸至所述目標地址,以完成對所述目標數據塊的傳輸之后,還包
括:判斷多個所述DMA引擎是否完成對所述目標數據塊的傳輸;若完成,則進入從所述請求隊列中獲取下一個所述傳輸請求的步驟。
[0009]優選地,按照時間順序將多個所述傳輸請求依次寫入請求隊列,包括:在將當前傳輸請求寫入所述請求隊列時,判斷所述請求隊列是否為加鎖狀態;若為加鎖狀態,則判定所述請求隊列處于訪問狀態,等待預設時間直至所述請求隊列處于空閑狀態時將所述當前傳輸請求寫入所述請求隊列;否則,判定所述請求隊列處于所述空閑狀態,直接將所述當前傳輸請求寫入所述請求隊列。
[0010]優選地,接收傳輸請求之后,還包括:判斷所述傳輸請求是否設有優先級;若設有優先級,則確定設有優先級的傳輸請求對應的第一目標地址;從所述請求隊列的尾端至首端依次查詢各所述傳輸請求,并判斷各所述傳輸請求對應的第二目標地址與所述第一目標地址是否存在重疊;若存在重疊,則停止查詢,并在將所述第一目標地址對應的傳輸請求寫入所述請求隊列時,將所述第一目標地址對應的傳輸請求寫至存在重疊的所述第二目標地址對應的傳輸請求之后,以作為所述第二目標地址對應的傳輸請求的下一個傳輸請求。
[0011]優選地,在判定不存在重疊之后,還包括:將所述第一目標地址對應的傳輸請求寫至所述請求隊列的首端。
[0012]優選地,從所述請求隊列中獲取傳輸請求時,還包括:判斷獲取到的所述傳輸請求是否設有優先級;若設有優先級,則使用預設DMA引擎對設有優先級的所述傳輸請求對應的目標數據塊進行傳輸。
[0013]優選地,根據所述目標數據塊長度將所述目標數據塊劃分為與多個子數據塊,包括:根據所述目標數據塊長度及DMA引擎最優傳輸數據長度將所述目標數據塊劃分為與多個子數據塊;每個所述子數據塊的數據長度不大于所述DMA引擎最優傳輸數據長度。
[0014]優選地,根據所述目標數據塊長度及DMA引擎最優傳輸數據長度將所述目標數據塊劃分為與多個子數據塊,包括:根據所述目標數據塊長度及DMA引擎最優傳輸數據長度將所述目標數據塊平均劃分為數據塊長度均相同的多個子數據塊。
[0015]優選地,將多個所述子數據塊分發至多個所述DMA引擎,包括:將多個所述子數據塊平均分發至多個所述DMA引擎。
[0016]優選地,每個所述DMA引擎對應不止一個所述子數據塊時,還包括:控制所述DMA引擎按照順序依次對和自身對應的子數據塊進行傳輸。
[0017]為解決上述技術問題,本申請還提供了一種數據傳輸裝置,所述裝置包括:請求接收單元,用于接收傳輸請求,所述傳輸請求中包括目標數據塊的源地址、目標地址及目標數據塊長度;
劃分單元,用于從所述源地址中獲取目標數據塊,并根據所述目標數據塊長度將所述目標數據塊劃分為多個子數據塊;分發單元,用于將多個所述子數據塊分發至多個DMA引擎,以使各個所述DMA引擎將與自身對應的子數據塊傳輸至所述目標地址,以完成對所述目標數據塊的傳輸。
[0018]為解決上述技術問題,本申請還提供了一種電子設備,包括:存儲器,用于存儲計算機程序;處理器,用于在存儲計算機程序時,實現如上述所述的數據傳輸方法的步驟。
[0019]為解決上述技術問題,本申請還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現如上述所述的數據傳輸方法的步驟。
[0020]本申請提供了一種數據傳輸方法,涉及數據傳輸領域。該方案中,接收傳輸請求,傳輸請求中包括目標數據塊的源地址、目標地址及目標數據塊長度;從源地址中獲取目標數據塊,并根據目標數據塊長度將目標數據塊劃分為多個子數據塊;將多個子數據塊分發至多個DMA引擎,以使各個DMA引擎將與自身對應的子數據塊傳輸至目標地址,以完成對目標數據塊的傳輸。通過本申請中的方式,對目標數據塊進行劃分,并同時利用多個DMA引擎對同一目標數據塊進行處理,提高了對目標數據塊處理的速度,提高了服務器數據傳輸的能力。
[0021]本申請還提供了一種數據傳輸裝置、裝置及介質,與上述描述的數據傳輸方法具有相同的有益效果。
附圖說明
[0022]為了更清楚地說明本申請實施例中的技術方案,下面將對現有技術和實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0023]圖1為本申請提供的一種本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種數據傳輸方法,其特征在于,所述方法包括:接收傳輸請求,所述傳輸請求中包括目標數據塊的源地址、目標地址及目標數據塊長度;從所述源地址中獲取目標數據塊,并根據所述目標數據塊長度將所述目標數據塊劃分為多個子數據塊;將多個所述子數據塊分發至多個DMA引擎,以使各個所述DMA引擎將與自身對應的子數據塊傳輸至所述目標地址,以完成對所述目標數據塊的傳輸。2.如權利要求1所述的數據傳輸方法,其特征在于,所述傳輸請求包括多個時,接收傳輸請求之后,還包括:將多個所述傳輸請求按照時間順序進行排列;按照排列順序依次對各所述傳輸請求進行處理。3.如權利要求2所述的數據傳輸方法,其特征在于,將多個所述傳輸請求按照時間順序進行排列,包括:按照時間順序將多個所述傳輸請求依次寫入請求隊列,所述請求隊列遵循先入先出原則;按照排列順序依次對各個所述傳輸請求進行處理,包括:按照所述請求隊列寫入的順序依次對各所述傳輸請求進行處理。4.如權利要求3所述的數據傳輸方法,其特征在于,將多個所述子數據塊分發至多個所述DMA引擎,以使各個所述DMA引擎將與自身對應的子數據塊傳輸至所述目標地址,以完成對所述目標數據塊的傳輸之后,還包括:判斷多個所述DMA引擎是否完成對所述目標數據塊的傳輸;若完成,則進入從所述請求隊列中獲取下一個所述傳輸請求的步驟。5.如權利要求3所述的數據傳輸方法,其特征在于,按照時間順序將多個所述傳輸請求依次寫入請求隊列,包括:在將當前傳輸請求寫入所述請求隊列時,判斷所述請求隊列是否為加鎖狀態;若為加鎖狀態,則判定所述請求隊列處于訪問狀態,等待預設時間直至所述請求隊列處于空閑狀態時將所述當前傳輸請求寫入所述請求隊列;否則,判定所述請求隊列處于所述空閑狀態,直接將所述當前傳輸請求寫入所述請求隊列。6.如權利要求3所述的數據傳輸方法,其特征在于,接收傳輸請求之后,還包括:判斷所述傳輸請求是否設有優先級;若設有優先級,則確定設有優先級的傳輸請求對應的第一目標地址;從所述請求隊列的尾端至首端依次查詢各所述傳輸請求,并判斷各所述傳輸請求對應的第二目標地址與所述第一目標地址是否存在重疊;若存在重疊,則停止查詢,并在將所述第一目標地址對應的傳輸請求寫入所述請求隊列時,將所述第一目標地址對應的傳輸請求寫至存在重疊的所述第二目標地址對應的傳輸請求之后,以作為所述第二目標地址對應的傳輸請求的下一個傳輸請求。7.如權利要...
【專利技術屬性】
技術研發人員:李輝,李長飛,趙帥,劉清林,
申請(專利權)人:浪潮電子信息產業股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。