国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)傳輸方法、設(shè)備、介質(zhì)及計(jì)算機(jī)程序產(chǎn)品與流程

      文檔序號(hào):39610142發(fā)布日期:2024-10-11 13:19閱讀:12來源:國知局
      數(shù)據(jù)傳輸方法、設(shè)備、介質(zhì)及計(jì)算機(jī)程序產(chǎn)品與流程

      本發(fā)明涉及數(shù)據(jù)傳輸,特別涉及一種數(shù)據(jù)傳輸方法、設(shè)備、介質(zhì)及計(jì)算機(jī)程序產(chǎn)品。


      背景技術(shù):

      1、在云數(shù)據(jù)中心,為加速執(zhí)行特定應(yīng)用通常配置對(duì)應(yīng)硬件加速器以提供額外的算力,比如加解密加速卡、視頻編解碼加速卡等。目前這些硬件加速器與主機(jī)通信的接口都是加速器硬件廠商自己定義,需要分別安裝各自匹配的設(shè)備驅(qū)動(dòng)等軟件才能被使用。所以云數(shù)據(jù)中心每引入一個(gè)新的硬件加速器,運(yùn)維人員都需安裝和維護(hù)一個(gè)不同的設(shè)備驅(qū)動(dòng),這給數(shù)據(jù)中心運(yùn)維造成了一定負(fù)擔(dān)。

      2、相關(guān)技術(shù)中,為了解決上述問題,網(wǎng)絡(luò)設(shè)備virtio-net通過設(shè)置多個(gè)單隊(duì)列服務(wù)模式進(jìn)行數(shù)據(jù)傳輸,當(dāng)需要數(shù)據(jù)傳輸時(shí),即便存在多個(gè)空閑的virtqueue隊(duì)列,也只選擇一個(gè)virtqueue隊(duì)列用于傳輸,其余空閑virtqueue用于服務(wù)后續(xù)數(shù)據(jù)傳輸請(qǐng)求,導(dǎo)致數(shù)據(jù)傳輸帶寬不高,不適合對(duì)數(shù)據(jù)傳輸帶寬敏感的硬件加速器設(shè)備類型。


      技術(shù)實(shí)現(xiàn)思路

      1、本發(fā)明實(shí)施例的目的在于提供一種數(shù)據(jù)傳輸方法、設(shè)備、介質(zhì)及計(jì)算機(jī)程序產(chǎn)品,具體技術(shù)方案如下:

      2、在本發(fā)明實(shí)施的第一方面,首先提供了一種數(shù)據(jù)傳輸方法,所述方法包括:

      3、在檢測到接收數(shù)據(jù)傳輸請(qǐng)求的情況下,創(chuàng)建數(shù)據(jù)傳輸請(qǐng)求對(duì)象;

      4、基于所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象確定待分配虛擬隊(duì)列數(shù)目;

      5、基于所述待分配虛擬隊(duì)列數(shù)目確定目標(biāo)虛擬隊(duì)列,以及,每個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸量;

      6、基于所述數(shù)據(jù)傳輸量配置每個(gè)所述目標(biāo)虛擬隊(duì)列的數(shù)據(jù)傳輸信息,并通過所述目標(biāo)虛擬隊(duì)列對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行并行傳輸。

      7、可選地,所述基于所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象確定待分配虛擬隊(duì)列數(shù)目包括:

      8、獲取目標(biāo)設(shè)備的虛擬隊(duì)列鏈表中的每個(gè)設(shè)備虛擬隊(duì)列支持的描述符數(shù)量;

      9、基于全部所述設(shè)備虛擬隊(duì)列支持的描述符數(shù)量確定描述符數(shù)量最小值;

      10、基于所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象對(duì)應(yīng)的數(shù)據(jù)傳輸長度、描述符數(shù)量最小值以及預(yù)設(shè)頁面大小生成待分配虛擬隊(duì)列數(shù)目。

      11、可選地,所述基于所述待分配虛擬隊(duì)列數(shù)目確定目標(biāo)虛擬隊(duì)列,以及,每個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸量包括:

      12、基于所述待分配虛擬隊(duì)列數(shù)目以及預(yù)設(shè)遍歷規(guī)則遍歷目標(biāo)設(shè)備的虛擬隊(duì)列鏈表,確定目標(biāo)虛擬隊(duì)列,并基于預(yù)設(shè)位圖數(shù)據(jù)結(jié)構(gòu)記錄所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的隊(duì)列編號(hào),以及,標(biāo)記所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的狀態(tài)為非空閑狀態(tài);

      13、其中,所述預(yù)設(shè)遍歷規(guī)則包括所述目標(biāo)虛擬隊(duì)列處于非異常狀態(tài)以及空閑狀態(tài),所述非異常狀態(tài)是基于所述目標(biāo)虛擬隊(duì)列當(dāng)前實(shí)際傳輸狀態(tài)確定的,所述空閑狀態(tài)是基于所述目標(biāo)設(shè)備預(yù)先配置的;

      14、基于所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)量確定每個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸量。

      15、可選地,所述基于所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)量確定每個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸量包括:

      16、基于所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)量和所述數(shù)據(jù)傳輸長度獲取每個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的平均數(shù)據(jù)傳輸量;

      17、若所述數(shù)據(jù)傳輸長度超出所述平均數(shù)據(jù)傳輸量和所述待分配虛擬隊(duì)列數(shù)目的總和,則確定超出數(shù)據(jù)傳輸量;

      18、將所述超出數(shù)據(jù)傳輸量分配至所述目標(biāo)虛擬隊(duì)列中的第一目標(biāo)虛擬隊(duì)列,其中,所述第一目標(biāo)虛擬隊(duì)列為全部所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的啟動(dòng)順序中的最高優(yōu)先級(jí)。

      19、可選地,所述基于所述待分配虛擬隊(duì)列數(shù)目以及預(yù)設(shè)遍歷規(guī)則遍歷目標(biāo)設(shè)備的虛擬隊(duì)列鏈表,確定目標(biāo)虛擬隊(duì)列包括:

      20、若遍歷所述目標(biāo)設(shè)備的虛擬隊(duì)列鏈表得到的滿足預(yù)設(shè)遍歷規(guī)則的目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)量為零,則將所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象對(duì)應(yīng)的數(shù)據(jù)傳輸狀態(tài)設(shè)置為數(shù)據(jù)傳輸失敗狀態(tài),向所述目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸請(qǐng)求結(jié)束通知,并停止所述數(shù)據(jù)傳輸請(qǐng)求。

      21、可選地,在所述通過所述目標(biāo)虛擬隊(duì)列對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行并行傳輸?shù)牟襟E之后,所述方法包括:

      22、在檢測到全部所述目標(biāo)虛擬隊(duì)列中的任意一個(gè)所述目標(biāo)虛擬隊(duì)列處于異常狀態(tài)的情況下,將所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象對(duì)應(yīng)的數(shù)據(jù)傳輸狀態(tài)設(shè)置為數(shù)據(jù)傳輸失敗狀態(tài),并將當(dāng)前所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的比特位置為第一標(biāo)識(shí)值;

      23、基于所述數(shù)據(jù)傳輸失敗狀態(tài)以及所述第一標(biāo)識(shí)值控制剩余所述目標(biāo)虛擬隊(duì)列停止傳輸操作;

      24、在檢測到在所述預(yù)設(shè)位圖數(shù)據(jù)結(jié)構(gòu)變量中剩余所述目標(biāo)虛擬隊(duì)列中的任意一個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的比特位置為第一標(biāo)識(shí)值時(shí)所述預(yù)設(shè)位圖數(shù)據(jù)結(jié)構(gòu)變量為預(yù)設(shè)值的情況下,所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象處于數(shù)據(jù)傳輸失敗狀態(tài)。

      25、可選地,所述將所述傳輸失敗狀態(tài)傳遞至全部所述目標(biāo)虛擬隊(duì)列包括:

      26、通過所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象的數(shù)據(jù)傳輸狀態(tài)為傳輸失敗狀態(tài);

      27、將所述傳輸失敗狀態(tài)傳遞至全部所述目標(biāo)虛擬隊(duì)列。

      28、可選地,在所述在檢測到全部所述目標(biāo)虛擬隊(duì)列中的任意一個(gè)所述目標(biāo)虛擬隊(duì)列處于異常狀態(tài)的情況下,將所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象對(duì)應(yīng)的數(shù)據(jù)傳輸狀態(tài)設(shè)置為數(shù)據(jù)傳輸失敗狀態(tài),并將當(dāng)前所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的比特位置為第一標(biāo)識(shí)值的步驟之后,所述方法包括:

      29、當(dāng)全部所述目標(biāo)虛擬隊(duì)列接收到所述傳輸失敗狀態(tài)時(shí),向所述目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸請(qǐng)求結(jié)束通知。

      30、可選地,在所述通過所述目標(biāo)虛擬隊(duì)列對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行并行傳輸?shù)牟襟E之后,所述方法包括:

      31、在檢測到任意一個(gè)所述目標(biāo)虛擬隊(duì)列完成對(duì)所述數(shù)據(jù)傳輸信息的傳輸,在所述預(yù)設(shè)位圖數(shù)據(jù)結(jié)構(gòu)變量中將當(dāng)前所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的比特位置為第一標(biāo)識(shí)值時(shí)所述預(yù)設(shè)位圖數(shù)據(jù)結(jié)構(gòu)變量為預(yù)設(shè)值的情況下,所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象處于數(shù)據(jù)傳輸成功狀態(tài)。

      32、可選地,所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象包括預(yù)設(shè)位圖數(shù)據(jù)結(jié)構(gòu)變量,所述預(yù)設(shè)位圖數(shù)據(jù)結(jié)構(gòu)變量用于記錄目標(biāo)設(shè)備對(duì)應(yīng)的虛擬隊(duì)列鏈表中的每個(gè)設(shè)備虛擬隊(duì)列編號(hào);所述通過所述目標(biāo)虛擬隊(duì)列對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行并行傳輸包括:

      33、判斷所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象是否處于異常狀態(tài);

      34、若否,則確定所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸狀態(tài)是否處于異常狀態(tài);

      35、若否,則確定所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸信息是否傳輸完成;

      36、若否,則配置所述目標(biāo)虛擬隊(duì)列的描述符,并通過所述目標(biāo)虛擬隊(duì)列對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行并行傳輸。

      37、可選地,在所述判斷所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象是否處于異常狀態(tài)的步驟之后,所述方法包括:

      38、若是,則執(zhí)行數(shù)據(jù)傳輸終止操作;

      39、其中,所述數(shù)據(jù)傳輸終止操作包括設(shè)置所述目標(biāo)虛擬隊(duì)列為空閑狀態(tài),和/或,在所述預(yù)設(shè)位圖數(shù)據(jù)結(jié)構(gòu)變量中刪除所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的編號(hào)。

      40、可選地,每個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)一個(gè)描述符鏈,所述描述符鏈包括頭部描述符和中間描述符,所述描述符鏈中的頭部描述符用于指向所述目標(biāo)虛擬隊(duì)列的第一數(shù)據(jù)傳輸信息,所述第一數(shù)據(jù)傳輸信息包括數(shù)據(jù)傳輸操作、數(shù)據(jù)傳輸?shù)刂?、?shù)據(jù)傳輸長度以及數(shù)據(jù)傳輸狀態(tài),所述中間描述符用于指向所述目標(biāo)虛擬隊(duì)列的第二數(shù)據(jù)傳輸信息,所述第二數(shù)據(jù)傳輸信息包括數(shù)據(jù)傳輸?shù)刂芬约皵?shù)據(jù)傳輸長度;所述配置所述目標(biāo)虛擬隊(duì)列的描述符包括:

      41、確定每個(gè)所述目標(biāo)虛擬隊(duì)列的目標(biāo)描述符數(shù)量;

      42、配置所述頭部描述符對(duì)應(yīng)的第一數(shù)據(jù)傳輸信息,以及,所述中間描述符對(duì)應(yīng)的第二數(shù)據(jù)傳輸信息。

      43、可選地,在所述在檢測到接收數(shù)據(jù)傳輸請(qǐng)求的情況下,創(chuàng)建數(shù)據(jù)傳輸請(qǐng)求對(duì)象的步驟之后,所述方法包括:

      44、創(chuàng)建工作隊(duì)列對(duì)象,所述工作隊(duì)列對(duì)象用于將各個(gè)目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸信息調(diào)度至不同的cpu上。

      45、可選地,所述基于所述數(shù)據(jù)傳輸量配置每個(gè)所述目標(biāo)虛擬隊(duì)列的數(shù)據(jù)傳輸信息,并通過所述目標(biāo)虛擬隊(duì)列對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行并行傳輸包括:

      46、基于所述數(shù)據(jù)傳輸量配置每個(gè)所述目標(biāo)虛擬隊(duì)列的數(shù)據(jù)傳輸信息,將所述目標(biāo)虛擬隊(duì)列添加至所述工作隊(duì)列對(duì)象,并通過工作隊(duì)列對(duì)象對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行傳輸。

      47、可選地,在所述在檢測到接收數(shù)據(jù)傳輸請(qǐng)求的情況下,創(chuàng)建數(shù)據(jù)傳輸請(qǐng)求對(duì)象的步驟之前,所述方法包括:

      48、獲取硬件加速器支持的初始虛擬隊(duì)列數(shù)目,以及虛擬隊(duì)列對(duì)應(yīng)的描述符數(shù)目。

      49、在本發(fā)明實(shí)施的第二方面,還提供了一種數(shù)據(jù)傳輸裝置,所述裝置包括:

      50、創(chuàng)建模塊,用于在檢測到接收數(shù)據(jù)傳輸請(qǐng)求的情況下,創(chuàng)建數(shù)據(jù)傳輸請(qǐng)求對(duì)象;

      51、第一確定模塊,用于基于所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象確定待分配虛擬隊(duì)列數(shù)目;

      52、第二確定模塊,用于基于所述待分配虛擬隊(duì)列數(shù)目確定目標(biāo)虛擬隊(duì)列,以及,每個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸量;

      53、傳輸模塊,用于基于所述數(shù)據(jù)傳輸量配置每個(gè)所述目標(biāo)虛擬隊(duì)列的數(shù)據(jù)傳輸信息,并通過所述目標(biāo)虛擬隊(duì)列對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行并行傳輸。

      54、在本發(fā)明實(shí)施的第三方面,還提供了一種電子設(shè)備,包括:收發(fā)機(jī)、存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的程序;

      55、所述處理器,用于讀取存儲(chǔ)器中的程序?qū)崿F(xiàn)如第一方面任一所述的數(shù)據(jù)傳輸方法。

      56、在本發(fā)明實(shí)施的第四方面,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有指令,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)實(shí)現(xiàn)如第一方面任一所述的數(shù)據(jù)傳輸方法。

      57、在本發(fā)明實(shí)施的第四方面,還提供了計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面任一所述數(shù)據(jù)傳輸方法。

      58、本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法,所述方法包括:在檢測到接收數(shù)據(jù)傳輸請(qǐng)求的情況下,創(chuàng)建數(shù)據(jù)傳輸請(qǐng)求對(duì)象;基于所述數(shù)據(jù)傳輸請(qǐng)求對(duì)象確定待分配虛擬隊(duì)列數(shù)目;基于所述待分配虛擬隊(duì)列數(shù)目確定目標(biāo)虛擬隊(duì)列,以及,每個(gè)所述目標(biāo)虛擬隊(duì)列對(duì)應(yīng)的數(shù)據(jù)傳輸量;基于所述數(shù)據(jù)傳輸量配置每個(gè)所述目標(biāo)虛擬隊(duì)列的數(shù)據(jù)傳輸信息,并通過所述目標(biāo)虛擬隊(duì)列對(duì)所述數(shù)據(jù)傳輸信息進(jìn)行并行傳輸。通過本發(fā)明實(shí)施例通過檢測接收到的數(shù)據(jù)傳輸請(qǐng)求并創(chuàng)建相應(yīng)的請(qǐng)求對(duì)象,能夠確定所需的待分配虛擬隊(duì)列數(shù)目,進(jìn)而選擇合適的目標(biāo)虛擬隊(duì)列,這一過程不僅確保了數(shù)據(jù)傳輸量的準(zhǔn)確分配,還通過為每個(gè)目標(biāo)虛擬隊(duì)列配置專門的數(shù)據(jù)傳輸信息,實(shí)現(xiàn)了多虛擬隊(duì)列的并行傳輸,這種高效的數(shù)據(jù)傳輸機(jī)制顯著提升了主機(jī)與硬件加速器之間的數(shù)據(jù)傳輸帶寬,從而大幅增強(qiáng)了應(yīng)用的加速效果,確保了數(shù)據(jù)處理的高效性和整體性能優(yōu)化。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1