国产精品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ù)訪問的實現(xiàn)方法和裝置的制作方法

      文檔序號:6444549閱讀:225來源:國知局
      專利名稱:數(shù)據(jù)訪問的實現(xiàn)方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機領(lǐng)域,并且特別地,涉及一種數(shù)據(jù)訪問的實現(xiàn)方法和裝置。
      背景技術(shù)
      目前,千兆網(wǎng)卡的零拷貝技術(shù)主要基于傳統(tǒng)intel千兆網(wǎng)卡來實現(xiàn)。通常,在網(wǎng)絡(luò)數(shù)據(jù)包的收包過程中,應(yīng)用程序需要以拷貝的方式與內(nèi)核中的網(wǎng)卡報文緩沖區(qū)進行交互,這種拷貝處理必然會降低性能和速率,無法在大流量場景中使用。并且,目前的千兆零拷貝都是基于單隊列的技術(shù)來實現(xiàn)的,但是,在萬兆接入的情況下,單位時間內(nèi)的數(shù)據(jù)包速率將提高大約10倍,而千兆網(wǎng)卡下單一的傳輸隊列以及緩沖區(qū)交互將存在很高的性能損失,所以,傳統(tǒng)的技術(shù)將無法應(yīng)對如此高的數(shù)據(jù)速率,進而成為萬兆零拷貝技術(shù)發(fā)展的瓶頸。針對相關(guān)技術(shù)中無法在大流量要求下高效地實現(xiàn)數(shù)據(jù)接收的問題,目前尚未提出有效的解決方案。

      發(fā)明內(nèi)容
      針對相關(guān)技術(shù)中無法在大流量要求下高效地實現(xiàn)數(shù)據(jù)接收的問題,本發(fā)明提出一種數(shù)據(jù)訪問的實現(xiàn)方法和裝置,能夠提高數(shù)據(jù)接收的效率,減少數(shù)據(jù)接收處理的延遲。本發(fā)明的技術(shù)方案是這樣實現(xiàn)的根據(jù)本發(fā)明的一個方面,提供了一種數(shù)據(jù)訪問的實現(xiàn)方法。該方法包括將網(wǎng)卡的硬件隊列中的數(shù)據(jù)存儲至物理內(nèi)存中的多個數(shù)據(jù)緩沖區(qū)中;由多個數(shù)據(jù)訪問單元對多個緩沖區(qū)中的數(shù)據(jù)進行訪問,其中,每個數(shù)據(jù)緩沖區(qū)對應(yīng)于一個虛擬緩沖區(qū),每個數(shù)據(jù)訪問單元通過訪問虛擬緩沖區(qū)來訪問相應(yīng)數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)。該方法可進一步包括預(yù)先設(shè)置多個數(shù)據(jù)緩沖區(qū)與多個虛擬緩沖區(qū)的一一對應(yīng)關(guān)系。此外,網(wǎng)卡包括多個硬件隊列,并且多個硬件隊列與多個數(shù)據(jù)緩沖區(qū)一一對應(yīng),并且每個硬件隊列中的數(shù)據(jù)被存儲至與該硬件隊列對應(yīng)的數(shù)據(jù)緩沖區(qū)中。此外,數(shù)據(jù)訪問單元與虛擬緩沖區(qū)一一對應(yīng),并且,每個數(shù)據(jù)訪問單元對該數(shù)據(jù)訪問單元對應(yīng)的虛擬緩沖區(qū)進行訪問。并且,優(yōu)選地,上述多個虛擬緩沖區(qū)的虛擬地址連續(xù)。根據(jù)本發(fā)明的另一方面,提供了一種數(shù)據(jù)訪問的實現(xiàn)裝置。該裝置包括物理內(nèi)存,包括多個數(shù)據(jù)緩沖區(qū);存儲控制模塊,用于將網(wǎng)卡的硬件隊列中的數(shù)據(jù)存儲至物理內(nèi)存中的多個數(shù)據(jù)緩沖區(qū)中;多個數(shù)據(jù)訪問單元,用于對多個緩沖區(qū)中的數(shù)據(jù)進行訪問,其中,每個數(shù)據(jù)緩沖區(qū)對應(yīng)于一個虛擬緩沖區(qū),每個數(shù)據(jù)訪問單元通過訪問虛擬緩沖區(qū)來訪問相應(yīng)數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)。該裝置可進一步包括映射模塊,用于預(yù)先通過映射的方式設(shè)置多個數(shù)據(jù)緩沖區(qū)與多個虛擬緩沖區(qū)的一一對應(yīng)關(guān)系。
      此外,網(wǎng)卡包括多個硬件隊列,并且多個硬件隊列與多個數(shù)據(jù)緩沖區(qū)一一對應(yīng),并且,存儲控制模塊用于每個硬件隊列中的數(shù)據(jù)存儲至與該硬件隊列對應(yīng)的數(shù)據(jù)緩沖區(qū)中。此外,數(shù)據(jù)訪問單元與虛擬緩沖區(qū)一一對應(yīng)設(shè)置,并且,每個數(shù)據(jù)訪問單元對該數(shù)據(jù)訪問單元對應(yīng)的虛擬緩沖區(qū)進行訪問。此外,優(yōu)選地,上述多個虛擬緩沖區(qū)的虛擬地址連續(xù)。本發(fā)明通過多隊列的處理方式,由多個數(shù)據(jù)訪問單元并行對緩沖區(qū)進行訪問,并且將緩沖區(qū)直接映射給網(wǎng)卡驅(qū)動使用,從而避免了傳統(tǒng)技術(shù)中緩沖區(qū)交互和報文的拷貝,有效提高了報文處理的效率,減少了數(shù)據(jù)處理延時,簡化了數(shù)據(jù)處理過程。


      圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)訪問的實現(xiàn)方法的流程圖;圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)訪問的實現(xiàn)方案中設(shè)置多隊列數(shù)據(jù)結(jié)構(gòu)的流程圖;圖3是根據(jù)本發(fā)明實施例的數(shù)據(jù)訪問的實現(xiàn)方法的原理示意圖;圖4是根據(jù)本發(fā)明實施例的數(shù)據(jù)訪問的實現(xiàn)裝置的框圖。
      具體實施例方式根據(jù)本發(fā)明的實施例,提供了一種數(shù)據(jù)訪問的實現(xiàn)方法。如圖1所示,根據(jù)本發(fā)明實施例的數(shù)據(jù)訪問的實現(xiàn)方法包括步驟S101,將網(wǎng)卡的硬件隊列中的數(shù)據(jù)存儲至物理內(nèi)存中的多個數(shù)據(jù)緩沖區(qū)中;步驟S103,由多個數(shù)據(jù)訪問單元對多個緩沖區(qū)中的數(shù)據(jù)進行訪問,其中,每個數(shù)據(jù)緩沖區(qū)對應(yīng)于一個虛擬緩沖區(qū),每個數(shù)據(jù)訪問單元通過訪問虛擬緩沖區(qū)來訪問相應(yīng)數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)。在實現(xiàn)本發(fā)明的方案時,可以預(yù)先設(shè)置多個數(shù)據(jù)緩沖區(qū)與多個虛擬緩沖區(qū)的一一對應(yīng)關(guān)系。具體地,可以利用字符設(shè)備,從內(nèi)核態(tài)分配不連續(xù)的內(nèi)存頁面映射到應(yīng)用程序中。如圖2所示,首先創(chuàng)建名為dash的字符設(shè)備(char device),然后定義出多隊列的數(shù)據(jù)結(jié)構(gòu)。定義字符設(shè)備的mmap方法以定義映射策略,真實內(nèi)存頁面的分配在nopage方法中實現(xiàn)。根據(jù)映射到的地址空間的位置,計算出對應(yīng)的CPU號,并從該CPU上進行內(nèi)存分配,從而利用NUMA特性提高了內(nèi)存訪問的效率。在本發(fā)明的方案中,網(wǎng)卡可以包括多個硬件隊列,并且多個硬件隊列與多個數(shù)據(jù)緩沖區(qū)一一對應(yīng),并且每個硬件隊列中的數(shù)據(jù)被存儲至與該硬件隊列對應(yīng)的數(shù)據(jù)緩沖區(qū)中。此外,數(shù)據(jù)訪問單元與虛擬緩沖區(qū)一一對應(yīng),并且,每個數(shù)據(jù)訪問單元對該數(shù)據(jù)訪問單元對應(yīng)的虛擬緩沖區(qū)進行訪問。另外,多個虛擬緩沖區(qū)的虛擬地址連續(xù)。具體地,如圖3所示,以CPUO、CPU1、CPU2和CPU3四個CPU為例,網(wǎng)卡隊列包括隊列0、隊列1、隊列2和隊列3,每個隊列對應(yīng)一個CPU核,并在每個CPU核對應(yīng)的物理內(nèi)存區(qū)域中分配內(nèi)存(不連續(xù)),并以連續(xù)的方式對應(yīng)到應(yīng)用程序的地址空間中,即,映射到虛擬的數(shù)據(jù)緩沖區(qū)中,應(yīng)用進程地址空間中的數(shù)據(jù)緩沖區(qū)就是虛擬緩沖區(qū),應(yīng)用進程地址空間中的數(shù)據(jù)緩沖區(qū)0-3(虛擬緩沖區(qū))與CPU0-3分別一一對應(yīng)。為方便應(yīng)用程序的使用,應(yīng)用進程地址空間中的數(shù)據(jù)緩沖區(qū)可分配到連續(xù)的地址空間上。在相關(guān)技術(shù)中,網(wǎng)絡(luò)數(shù)據(jù)包發(fā)包過程中,應(yīng)用程序需要以拷貝的方式與內(nèi)核中的網(wǎng)卡報文緩沖區(qū)進行交互,而本發(fā)明的上述技術(shù)方案能夠通過內(nèi)存映射的方式,將應(yīng)用程序緩沖區(qū)直接映射給網(wǎng)卡驅(qū)動使用,從而減少這一次不必要的拷貝操作,提高了性能。在萬兆網(wǎng)卡下,本發(fā)明提出了支持多個傳輸隊列的內(nèi)存緩沖區(qū)映射方式,基于多硬件隊列技術(shù)實現(xiàn)了高速發(fā)包,由于多隊列可以很好利用當(dāng)前多核的架構(gòu),所以使捕包性能得到明顯提升。應(yīng)當(dāng)注意,本發(fā)明的方案同樣可以應(yīng)用于其他CPU進行數(shù)據(jù)接收的場景中,并且能夠達到類似的效果,其處理方式類似,本文不再一一列舉。根據(jù)本發(fā)明的實施例,提供了一種數(shù)據(jù)訪問的實現(xiàn)裝置。如圖4所示,根據(jù)本發(fā)明實施例的數(shù)據(jù)訪問的實現(xiàn)裝置包括物理內(nèi)存41,包括多個數(shù)據(jù)緩沖區(qū)(未示出);存儲控制模塊42,連接至物理內(nèi)存41,用于將網(wǎng)卡的硬件隊列中的數(shù)據(jù)存儲至物理內(nèi)存中的多個數(shù)據(jù)緩沖區(qū)中;多個數(shù)據(jù)訪問單元43(圖4中僅示出了一個數(shù)據(jù)訪問單元,其他未示出的數(shù)據(jù)訪問單元均可以采用類似的方式進行連接),能夠與物理內(nèi)存41通信,用于對多個緩沖區(qū)中的數(shù)據(jù)進行訪問,其中,每個數(shù)據(jù)緩沖區(qū)對應(yīng)于一個虛擬緩沖區(qū),每個數(shù)據(jù)訪問單元通過訪問虛擬緩沖區(qū)來訪問相應(yīng)數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)。該裝置可以進一步包括映射模塊(未示出),用于預(yù)先通過映射的方式設(shè)置多個數(shù)據(jù)緩沖區(qū)與多個虛擬緩沖區(qū)的一一對應(yīng)關(guān)系。并且,網(wǎng)卡包括多個硬件隊列,并且多個硬件隊列與多個數(shù)據(jù)緩沖區(qū)一一對應(yīng),并且,存儲控制模塊用于每個硬件隊列中的數(shù)據(jù)存儲至與該硬件隊列對應(yīng)的數(shù)據(jù)緩沖區(qū)中。此外,數(shù)據(jù)訪問單元與虛擬緩沖區(qū)一一對應(yīng)設(shè)置,并且,每個數(shù)據(jù)訪問單元對該數(shù)據(jù)訪問單元對應(yīng)的虛擬緩沖區(qū)進行訪問。優(yōu)選地,多個虛擬緩沖區(qū)的虛擬地址連續(xù)。綜上所述,借助于本發(fā)明的上述技術(shù)方案,通過多隊列的處理方式,由多個數(shù)據(jù)訪問單元并行對緩沖區(qū)進行訪問,并且將緩沖區(qū)直接映射給網(wǎng)卡驅(qū)動使用,從而避免了傳統(tǒng)技術(shù)中緩沖區(qū)交互和報文的拷貝,有效提高了報文處理的效率,減少了數(shù)據(jù)處理延時,簡化了數(shù)據(jù)處理過程。本發(fā)明的方案可以適用于多種數(shù)據(jù)接收場景,例如,可以在萬兆網(wǎng)卡實現(xiàn)多隊列上的零拷貝,利用numa特性提高內(nèi)存訪問的性能。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
      權(quán)利要求
      1.一種數(shù)據(jù)訪問的實現(xiàn)方法,其特征在于,包括將網(wǎng)卡的硬件隊列中的數(shù)據(jù)存儲至物理內(nèi)存中的多個數(shù)據(jù)緩沖區(qū)中;由多個數(shù)據(jù)訪問單元對所述多個緩沖區(qū)中的數(shù)據(jù)進行訪問,其中,每個數(shù)據(jù)緩沖區(qū)對應(yīng)于一個虛擬緩沖區(qū),每個數(shù)據(jù)訪問單元通過訪問虛擬緩沖區(qū)來訪問相應(yīng)數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)。
      2.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,進一步包括預(yù)先設(shè)置所述多個數(shù)據(jù)緩沖區(qū)與所述多個虛擬緩沖區(qū)的一一對應(yīng)關(guān)系。
      3.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述網(wǎng)卡包括多個硬件隊列,并且所述多個硬件隊列與所述多個數(shù)據(jù)緩沖區(qū)一一對應(yīng),并且每個硬件隊列中的數(shù)據(jù)被存儲至與該硬件隊列對應(yīng)的數(shù)據(jù)緩沖區(qū)中。
      4.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,數(shù)據(jù)訪問單元與虛擬緩沖區(qū)一一對應(yīng),并且,每個數(shù)據(jù)訪問單元對該數(shù)據(jù)訪問單元對應(yīng)的虛擬緩沖區(qū)進行訪問。
      5.根據(jù)權(quán)利要求1至4中任一項所述的實現(xiàn)方法,其特征在于,所述多個虛擬緩沖區(qū)的虛擬地址連續(xù)。
      6.一種數(shù)據(jù)訪問的實現(xiàn)裝置,其特征在于,包括物理內(nèi)存,包括多個數(shù)據(jù)緩沖區(qū);存儲控制模塊,用于將網(wǎng)卡的硬件隊列中的數(shù)據(jù)存儲至物理內(nèi)存中的所述多個數(shù)據(jù)緩沖區(qū)中;多個數(shù)據(jù)訪問單元,用于對所述多個緩沖區(qū)中的數(shù)據(jù)進行訪問,其中,每個數(shù)據(jù)緩沖區(qū)對應(yīng)于一個虛擬緩沖區(qū),每個數(shù)據(jù)訪問單元通過訪問虛擬緩沖區(qū)來訪問相應(yīng)數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)。
      7.根據(jù)權(quán)利要求6所述的實現(xiàn)裝置,其特征在于,進一步包括映射模塊,用于預(yù)先通過映射的方式設(shè)置所述多個數(shù)據(jù)緩沖區(qū)與所述多個虛擬緩沖區(qū)的一一對應(yīng)關(guān)系。
      8.根據(jù)權(quán)利要求6所述的實現(xiàn)裝置,其特征在于,所述網(wǎng)卡包括多個硬件隊列,并且所述多個硬件隊列與所述多個數(shù)據(jù)緩沖區(qū)一一對應(yīng),并且,所述存儲控制模塊用于每個硬件隊列中的數(shù)據(jù)存儲至與該硬件隊列對應(yīng)的數(shù)據(jù)緩沖區(qū)中。
      9.根據(jù)權(quán)利要求6所述的實現(xiàn)裝置,其特征在于,數(shù)據(jù)訪問單元與虛擬緩沖區(qū)一一對應(yīng)設(shè)置,并且,每個數(shù)據(jù)訪問單元對該數(shù)據(jù)訪問單元對應(yīng)的虛擬緩沖區(qū)進行訪問。
      10.根據(jù)權(quán)利要求6至9中任一項所述的實現(xiàn)裝置,其特征在于,所述多個虛擬緩沖區(qū)的虛擬地址連續(xù)。
      全文摘要
      本發(fā)明公開了一種數(shù)據(jù)訪問的實現(xiàn)方法和裝置,該方法包括將網(wǎng)卡的硬件隊列中的數(shù)據(jù)存儲至物理內(nèi)存中的多個數(shù)據(jù)緩沖區(qū)中;由多個數(shù)據(jù)訪問單元對多個緩沖區(qū)中的數(shù)據(jù)進行訪問,其中,每個數(shù)據(jù)緩沖區(qū)對應(yīng)于一個虛擬緩沖區(qū),每個數(shù)據(jù)訪問單元通過訪問虛擬緩沖區(qū)來訪問相應(yīng)數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)。本發(fā)明通過多隊列的處理方式,由多個數(shù)據(jù)訪問單元并行對緩沖區(qū)進行訪問,并且將緩沖區(qū)直接映射給網(wǎng)卡驅(qū)動使用,從而避免了傳統(tǒng)技術(shù)中緩沖區(qū)交互和報文的拷貝,有效提高了報文處理的效率,減少了數(shù)據(jù)處理延時,簡化了數(shù)據(jù)處理過程。
      文檔編號G06F12/08GK102567226SQ20111045592
      公開日2012年7月11日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
      發(fā)明者萬偉, 劉興彬, 劉鐵, 孫一鳴, 曹振南, 朱春屹, 李云華, 李博文, 楊錦濤, 王潑, 王清, 范玉峰, 董建珊, 邵宗有, 陳科 申請人:曙光信息產(chǎn)業(yè)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1