欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種高速的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法與流程

文檔序號(hào):12693664閱讀:350來源:國知局

本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)傳輸領(lǐng)域,特別是涉及一種高速網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方案。



背景技術(shù):

DPAA(Data Path Acceleration Architecture)是飛思卡爾QorIQ平臺(tái)的數(shù)據(jù)加速路徑架構(gòu),支持在平臺(tái)內(nèi)部處理特定數(shù)據(jù)流的路由并管理相關(guān)數(shù)據(jù)流處理任務(wù)。DPAA的主要模塊包括列隊(duì)管理器,緩存管理器和數(shù)據(jù)幀管理器。列隊(duì)管理器負(fù)責(zé)管理CPU,網(wǎng)絡(luò)接口和硬件加速器之間的數(shù)據(jù)隊(duì)列,以隊(duì)列的方式來管理數(shù)據(jù),具有擁塞管理、隊(duì)列的優(yōu)先級(jí)調(diào)度和包排序、順序恢復(fù)的功能;緩存管理器主要提供緩存池管理功能,軟件分配合適的緩存給緩存管理器管理;數(shù)據(jù)幀管理器是一個(gè)硬件幀加速器,它支持?jǐn)?shù)據(jù)報(bào)文的解析,分類和分發(fā)(PCD),數(shù)據(jù)幀管理器是網(wǎng)絡(luò)數(shù)據(jù)的進(jìn)出口,幫助實(shí)現(xiàn)負(fù)載均衡和Qos等功能,并集合了以太網(wǎng)功能。

目前LTE基站設(shè)備均通過套接字的方式來實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的收發(fā),這種傳統(tǒng)的Linux數(shù)據(jù)收發(fā)模式在處理數(shù)據(jù)包時(shí),主要采用在內(nèi)核態(tài)收發(fā)數(shù)據(jù)包,再交給內(nèi)核協(xié)議棧處理。在該過程中,系統(tǒng)需要調(diào)用IO、在內(nèi)核執(zhí)行線程上下文切換、用戶空間應(yīng)用訪問數(shù)據(jù)緩存時(shí),需要進(jìn)行IO拷貝等,這一系列的操作都會(huì)不同程度降低用戶態(tài)應(yīng)用對網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)速率。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明為了解決用戶態(tài)應(yīng)用收發(fā)網(wǎng)絡(luò)數(shù)據(jù)冗雜處理的問題,以飛思卡爾的DPAA硬件為基礎(chǔ),發(fā)明了一種高速網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)姆椒?,設(shè)計(jì)一種DPAA服務(wù)進(jìn)程,負(fù)責(zé)以太網(wǎng)口和用戶態(tài)應(yīng)用之間的數(shù)據(jù)轉(zhuǎn)發(fā),在用戶態(tài)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包收發(fā),以達(dá)到網(wǎng)絡(luò)數(shù)據(jù)的加速處理的目的。

本發(fā)明采用的技術(shù)方案為:

一種高速的網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,其特征在于,包括初始化、上行數(shù)據(jù)接收和下行數(shù)據(jù)發(fā)送三個(gè)過程,具體包括以下步驟:

初始化:

步驟一:DPAA服務(wù)進(jìn)程的初始化模塊獲取配置信息,通過數(shù)據(jù)幀管理接口配置以太網(wǎng)口的IP地址和數(shù)據(jù)幀管理器的解析、分類和分發(fā)策略;內(nèi)存管理模塊為緩存管理器提供一塊內(nèi)存池,并從內(nèi)存池動(dòng)態(tài)獲取一部分緩存,形成緩存池;所述的配置信息包括CPU綁定信息、以太網(wǎng)口的IP地址和數(shù)據(jù)幀管理器的解析、分類和分發(fā)策略;

上行數(shù)據(jù)接收:

步驟二:數(shù)據(jù)幀管理器的以太網(wǎng)口接收到與該網(wǎng)口相同IP地址的網(wǎng)絡(luò)數(shù)據(jù)后,通過緩存管理器向內(nèi)存池申請一個(gè)或多個(gè)緩存以存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù);數(shù)據(jù)幀管理器根據(jù)解析、分類和分發(fā)策略對內(nèi)存池內(nèi)存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行解析和分類,將用戶關(guān)心的網(wǎng)絡(luò)數(shù)據(jù)推送到列隊(duì)管理器,并向列隊(duì)管理器發(fā)起一個(gè)入隊(duì)請求;所述的入隊(duì)請求包含幀隊(duì)列ID;

步驟三:列隊(duì)管理器接收到數(shù)據(jù)幀管理器的入隊(duì)請求后,根據(jù)幀隊(duì)列ID將用戶關(guān)心的網(wǎng)絡(luò)數(shù)據(jù)通過列隊(duì)管理器的軟件入口推送到對應(yīng)的CPU;

步驟四:CPU根據(jù)CPU綁定信息找到對應(yīng)的DPAA服務(wù)進(jìn)程后,DPAA服務(wù)進(jìn)程的以太網(wǎng)收發(fā)接口調(diào)用列隊(duì)管理接口接收網(wǎng)絡(luò)數(shù)據(jù),并將網(wǎng)絡(luò)數(shù)據(jù)發(fā)送到DPAA服務(wù)進(jìn)程的精簡網(wǎng)絡(luò)協(xié)議棧;

步驟五:精簡網(wǎng)絡(luò)協(xié)議棧對網(wǎng)絡(luò)數(shù)據(jù)的首部進(jìn)行解析,并利用DPAA平臺(tái)硬件資源對解析后的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行校驗(yàn)和的檢驗(yàn),獲得用戶數(shù)據(jù),將用戶數(shù)據(jù)發(fā)送至DPAA服務(wù)進(jìn)程的用戶態(tài)應(yīng)用接口;

步驟六:用戶態(tài)應(yīng)用接口將用戶數(shù)據(jù)組裝成消息,通過消息隊(duì)列的方式將消息發(fā)送到用戶態(tài)應(yīng)用;

下行數(shù)據(jù)發(fā)送:

步驟七:用戶態(tài)應(yīng)用從緩存池申請緩存以存儲(chǔ)待發(fā)送的用戶數(shù)據(jù),并向用戶態(tài)應(yīng)用接口發(fā)送請求消息;

步驟八:用戶態(tài)應(yīng)用接口接收到用戶態(tài)應(yīng)用發(fā)送的請求消息后,從緩存池中提取用戶數(shù)據(jù)指針并發(fā)送至精簡網(wǎng)絡(luò)協(xié)議棧;

步驟九:精簡網(wǎng)絡(luò)協(xié)議棧根據(jù)用戶數(shù)據(jù)指針找到對應(yīng)的用戶數(shù)據(jù),利用DPAA平臺(tái)硬件資源進(jìn)行校驗(yàn)和的計(jì)算,將用戶數(shù)據(jù)添加協(xié)議首部和校驗(yàn)和,完成用戶數(shù)據(jù)的封裝,將用戶數(shù)據(jù)指針發(fā)送至以太網(wǎng)收發(fā)接口;

步驟十:以太網(wǎng)收發(fā)接口根據(jù)用戶數(shù)據(jù)指針找到對應(yīng)的封裝后的用戶數(shù)據(jù),將封裝后的用戶數(shù)據(jù)封裝成DPAA要求的數(shù)據(jù)幀,通過列隊(duì)管理器接口和軟件入口將數(shù)據(jù)幀發(fā)送至列隊(duì)管理器;

步驟十一:列隊(duì)管理器將接收到的數(shù)據(jù)幀發(fā)送到數(shù)據(jù)幀管理器;

步驟十二:數(shù)據(jù)幀管理器通過以太網(wǎng)口將數(shù)據(jù)幀發(fā)送出去;

步驟十三:內(nèi)存管理模塊釋放緩存池中占用的緩存。

其中,步驟一具體包括以下步驟:

(101)DPAA服務(wù)進(jìn)程的初始化模塊獲取配置信息,包括CPU綁定信息、以太網(wǎng)口的IP地址和數(shù)據(jù)幀管理器的解析、分類和分發(fā)策略;

(102)初始化模塊調(diào)用數(shù)據(jù)幀管理接口,將以太網(wǎng)口的IP地址和數(shù)據(jù)幀管理器的解析、分類和分發(fā)策略配置給指定的以太網(wǎng)口;

(103)DPAA服務(wù)進(jìn)程的以太網(wǎng)收發(fā)接口調(diào)用列隊(duì)管理接口和緩存管理接口獲取列隊(duì)管理器和緩存管理器的軟件入口;

(104)內(nèi)存管理模塊通過緩存管理接口和軟件入口為緩存管理器提供一塊內(nèi)存池;并通過緩存管理接口、軟件入口和緩存管理器從內(nèi)存池動(dòng)態(tài)獲取一部分緩存,形成緩存池。

其中,步驟七中用戶態(tài)應(yīng)用從緩存池申請緩存以存儲(chǔ)待發(fā)送的用戶數(shù)據(jù)中,若緩存池使用率大于預(yù)設(shè)緩存數(shù)量的70%時(shí),內(nèi)存管理模塊通過緩存管理器、緩存管理器的軟件入口和緩存管理接口自動(dòng)從內(nèi)存池申請緩存補(bǔ)滿緩存池。

本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)為:

(1)本發(fā)明不同以往的數(shù)據(jù)收發(fā)方式,本發(fā)明繞過調(diào)用以太網(wǎng)驅(qū)動(dòng),在用戶態(tài)調(diào)用緩存管理接口和列隊(duì)管理接口操作DPAA硬件,在用戶態(tài)實(shí)現(xiàn)了網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)操作,防止了內(nèi)核態(tài)和用戶態(tài)的冗雜操作;

(2)利用網(wǎng)絡(luò)處理器的硬件資源實(shí)現(xiàn)精簡網(wǎng)絡(luò)協(xié)議棧,與采用傳統(tǒng)網(wǎng)絡(luò)協(xié)議棧相比,這種用戶態(tài)的網(wǎng)絡(luò)協(xié)議棧加快數(shù)據(jù)包處理的性能,此外在協(xié)議棧解析封裝中還可以定制協(xié)議首部,方便實(shí)現(xiàn)數(shù)據(jù)包的分發(fā)轉(zhuǎn)發(fā)任務(wù);

(3)DPAA服務(wù)進(jìn)程和用戶態(tài)應(yīng)用之間通過消息隊(duì)列進(jìn)行交互,由于DPAA服務(wù)進(jìn)程和用戶態(tài)應(yīng)用使用共享內(nèi)存,因此DPAA服務(wù)進(jìn)程和用戶態(tài)應(yīng)用在收發(fā)數(shù)據(jù)時(shí),僅需在消息隊(duì)列中交換彼此的數(shù)據(jù)指針即可,而無需將整個(gè)數(shù)據(jù)緩存通過消息隊(duì)列傳送,實(shí)現(xiàn)內(nèi)核態(tài)和用戶態(tài)數(shù)據(jù)包的零拷貝。

(4)通過上述方式,DPAA服務(wù)進(jìn)程在用戶態(tài)應(yīng)用和硬件之間提供了一個(gè)很薄很高效的層,從而達(dá)到提高網(wǎng)絡(luò)數(shù)據(jù)處理速度的目的。

附圖說明

圖1為本發(fā)明用戶態(tài)應(yīng)用獲取網(wǎng)絡(luò)數(shù)據(jù)原理圖。

具體實(shí)施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,以使本發(fā)明的優(yōu)點(diǎn)和特征能更易于被本領(lǐng)域技術(shù)人員理解,從而對本發(fā)明的保護(hù)范圍做出更為清楚明確的界定。

本發(fā)明系統(tǒng)采用的硬件平臺(tái)是飛思卡爾公司的多核處理器B4860,其操作系統(tǒng)為Linux。本發(fā)明主要簡化傳統(tǒng)Linux數(shù)據(jù)收發(fā)過程中的復(fù)雜操作,采用數(shù)據(jù)路徑加速架構(gòu),在用戶態(tài)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的收發(fā),網(wǎng)絡(luò)協(xié)議棧的解析、封裝,實(shí)現(xiàn)了LTE基站軟件高速收發(fā)網(wǎng)絡(luò)數(shù)據(jù)的目的。實(shí)施例為一個(gè)DPAA服務(wù)進(jìn)程,運(yùn)行在用戶態(tài),主要負(fù)責(zé)以太網(wǎng)口和LTE基站軟件之間的用戶面數(shù)據(jù)(eGTP-U數(shù)據(jù))的轉(zhuǎn)發(fā),以達(dá)到基站與核心網(wǎng)之間數(shù)據(jù)的加速處理。下面詳細(xì)描述DPAA服務(wù)進(jìn)程的實(shí)現(xiàn):如圖1;

DPAA服務(wù)進(jìn)程的初始化:

步驟一:DPAA服務(wù)進(jìn)程的初始化模塊獲取配置信息,通過數(shù)據(jù)幀管理接口配置以太網(wǎng)口的IP地址和數(shù)據(jù)幀管理器的解析、分類和分發(fā)策略;內(nèi)存管理模塊為緩存管理器提供一塊內(nèi)存池,并從內(nèi)存池動(dòng)態(tài)獲取一部分緩存,形成緩存池;所述的配置信息包括CPU綁定信息、以太網(wǎng)口的IP地址和數(shù)據(jù)幀管理器的解析、分類和分發(fā)策略;具體包括以下步驟:

(101)DPAA服務(wù)進(jìn)程的初始化模塊獲取配置信息,包括CPU綁定信息、以太網(wǎng)口的IP地址和數(shù)據(jù)幀管理器的解析、分類和分發(fā)策略;

(102)初始化模塊調(diào)用數(shù)據(jù)幀管理接口,將以太網(wǎng)口的IP地址和數(shù)據(jù)幀管理器的解析、分類和分發(fā)策略配置給指定的以太網(wǎng)口;

(103)DPAA服務(wù)進(jìn)程的以太網(wǎng)收發(fā)接口調(diào)用列隊(duì)管理接口和緩存管理接口獲取列隊(duì)管理器和緩存管理器的軟件入口;

(104)內(nèi)存管理模塊通過緩存管理接口和軟件入口為緩存管理器提供一塊內(nèi)存池;并通過緩存管理接口、軟件入口和緩存管理器從內(nèi)存池動(dòng)態(tài)獲取一部分緩存,形成緩存池。

上行數(shù)據(jù)接收:

步驟二:數(shù)據(jù)幀管理器的以太網(wǎng)口接收到與該網(wǎng)口相同IP地址的網(wǎng)絡(luò)數(shù)據(jù)后,通過緩存管理器向內(nèi)存池申請一個(gè)或多個(gè)緩存以存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù);數(shù)據(jù)幀管理器根據(jù)解析、分類和分發(fā)策略對內(nèi)存池內(nèi)存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行解析和分類,將用戶關(guān)心的網(wǎng)絡(luò)數(shù)據(jù)推送到列隊(duì)管理器,并向列隊(duì)管理器發(fā)起一個(gè)入隊(duì)請求;所述的入隊(duì)請求包含幀隊(duì)列ID;

步驟三:列隊(duì)管理器接收到數(shù)據(jù)幀管理器的入隊(duì)請求后,根據(jù)幀隊(duì)列ID將用戶關(guān)心的網(wǎng)絡(luò)數(shù)據(jù)通過列隊(duì)管理器的軟件入口推送到對應(yīng)的CPU;

步驟四:CPU根據(jù)CPU綁定信息找到對應(yīng)的DPAA服務(wù)進(jìn)程后,DPAA服務(wù)進(jìn)程的以太網(wǎng)收發(fā)接口調(diào)用列隊(duì)管理接口接收網(wǎng)絡(luò)數(shù)據(jù),并將網(wǎng)絡(luò)數(shù)據(jù)發(fā)送到DPAA服務(wù)進(jìn)程的精簡網(wǎng)絡(luò)協(xié)議棧;

步驟五:精簡網(wǎng)絡(luò)協(xié)議棧對網(wǎng)絡(luò)數(shù)據(jù)的首部進(jìn)行解析,利用DPAA平臺(tái)硬件資源對解析后的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行校驗(yàn)和的檢驗(yàn),獲得用戶數(shù)據(jù),將用戶數(shù)據(jù)發(fā)送至DPAA服務(wù)進(jìn)程的用戶態(tài)應(yīng)用接口;

步驟六:用戶態(tài)應(yīng)用接口將用戶數(shù)據(jù)組裝成消息,通過消息隊(duì)列的方式將消息發(fā)送到用戶態(tài)應(yīng)用;

下行數(shù)據(jù)發(fā)送:

步驟七:用戶態(tài)應(yīng)用從緩存池申請緩存以存儲(chǔ)待發(fā)送的用戶數(shù)據(jù),并向用戶態(tài)應(yīng)用接口發(fā)送請求消息;若緩存池使用率大于預(yù)設(shè)緩存數(shù)量的70%時(shí),內(nèi)存管理模塊自動(dòng)通過緩存管理器、緩存管理器的軟件入口和緩存管理接口自動(dòng)從內(nèi)存池申請緩存補(bǔ)滿緩存池。

步驟八:用戶態(tài)應(yīng)用接口接收到用戶態(tài)應(yīng)用發(fā)送的請求消息后,從緩存池中提取用戶數(shù)據(jù)指針并發(fā)送至精簡協(xié)議棧;

步驟九:精簡網(wǎng)絡(luò)協(xié)議棧根據(jù)用戶數(shù)據(jù)指針找到對應(yīng)的用戶數(shù)據(jù),利用DPAA平臺(tái)硬件資源進(jìn)行校驗(yàn)和的計(jì)算,將用戶數(shù)據(jù)添加協(xié)議首部和校驗(yàn)和,完成用戶數(shù)據(jù)的封裝,將封裝后的用戶數(shù)據(jù)指針發(fā)送至以太網(wǎng)收發(fā)接口;

步驟十:以太網(wǎng)收發(fā)接口根據(jù)用戶數(shù)據(jù)指針找到對應(yīng)的封裝后的用戶數(shù)據(jù),將封裝后的用戶數(shù)據(jù)封裝成DPAA要求的數(shù)據(jù)幀,通過列隊(duì)管理器接口和軟件入口將數(shù)據(jù)幀發(fā)送至列隊(duì)管理器;

步驟十一:列隊(duì)管理器將接收到的數(shù)據(jù)幀發(fā)送到數(shù)據(jù)幀管理器;

步驟十二:數(shù)據(jù)幀管理器通過以太網(wǎng)口將數(shù)據(jù)幀發(fā)送出去;

步驟十三:內(nèi)存管理模塊釋放緩存池中占用的緩存。

數(shù)據(jù)幀管理接口、緩存管理接口和列隊(duì)管理接口分別對應(yīng)在數(shù)據(jù)幀管理、緩存管理和列隊(duì)管理的驅(qū)動(dòng)上運(yùn)行的。

內(nèi)存管理模塊和緩存管理器分別為用戶態(tài)應(yīng)用接口和數(shù)據(jù)幀管理器提供內(nèi)存的釋放和申請等操作。內(nèi)存管理模塊負(fù)責(zé)對緩存管理器所管理的內(nèi)存池的初始化,并通過緩存管理器接口為用戶態(tài)應(yīng)用動(dòng)態(tài)維護(hù)一個(gè)緩存池。DPAA服務(wù)進(jìn)程內(nèi)存管理模塊緩存池的維護(hù)機(jī)制如下:

內(nèi)存管理模塊啟動(dòng)時(shí),首先初始化一塊內(nèi)存交由緩存管理器管理,并通過緩存管理接口獲取一定數(shù)量緩存以供用戶態(tài)應(yīng)用使用;內(nèi)存管理模塊接收用戶態(tài)應(yīng)用的實(shí)時(shí)內(nèi)存申請、釋放消息,從緩存池為用戶態(tài)應(yīng)用分配所申請數(shù)目的緩存,或者通過緩存管理接口釋放指定緩存到內(nèi)存池;內(nèi)存管理模塊在接收到實(shí)時(shí)內(nèi)存申請消息時(shí),作如下判斷:若緩存池使用率大于預(yù)設(shè)緩存數(shù)量的70%時(shí),內(nèi)存管理模塊自動(dòng)從內(nèi)存池申請緩存補(bǔ)滿緩存池。

以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
澳门| 静安区| 西和县| 大渡口区| 泽库县| 益阳市| 遂昌县| 陇南市| 常德市| 汾西县| 盐山县| 新乐市| 胶州市| 浏阳市| 黄大仙区| 海伦市| 大港区| 沙雅县| 敦煌市| 华宁县| 临夏市| 霍邱县| 邢台县| 泸州市| 沛县| 久治县| 桦甸市| 威信县| 玛纳斯县| 大方县| 左云县| 大英县| 甘德县| 麟游县| 横山县| 宜君县| 安庆市| 博罗县| 隆尧县| 额尔古纳市| 罗城|