亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種海量數(shù)據(jù)高效傳輸方法與流程

文檔序號(hào):11524224閱讀:932來(lái)源:國(guó)知局
一種海量數(shù)據(jù)高效傳輸方法與流程

本發(fā)明涉及一種路由器平臺(tái)的海量數(shù)據(jù)高效傳輸方法,屬于計(jì)算機(jī)與通信技術(shù)領(lǐng)域。



背景技術(shù):

在路由器平臺(tái)中,一般協(xié)議棧的標(biāo)準(zhǔn)socket收發(fā)包能力在7000pps左右,而在海量數(shù)據(jù)傳輸過(guò)程中,需要協(xié)議棧收發(fā)包能力遠(yuǎn)遠(yuǎn)大于7000pps。

現(xiàn)有技術(shù)中協(xié)議棧的標(biāo)準(zhǔn)socket收發(fā)包架構(gòu)如圖1所示,收發(fā)包路徑是圖1中的虛線,收發(fā)包性能消耗在lpp、socket內(nèi)以及消息進(jìn)程傳遞上。通過(guò)分析,當(dāng)前協(xié)議棧的標(biāo)準(zhǔn)socket收發(fā)包架構(gòu)各個(gè)階段性能損失如表一。

表一性能損失



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

發(fā)明目的:針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提供一種海量數(shù)據(jù)高效傳輸方法,從如下3個(gè)方面改進(jìn)來(lái)提高報(bào)文傳輸能力:

1)減少調(diào)度開(kāi)銷。采用將內(nèi)核網(wǎng)卡收包環(huán)形隊(duì)列映射到用戶態(tài),用戶態(tài)直接操作環(huán)形隊(duì)列收包,規(guī)避收包時(shí)用戶態(tài)到內(nèi)核態(tài)的切換,減少調(diào)度開(kāi)銷。

2)減少報(bào)文在較多線程間傳遞與報(bào)文拷貝。內(nèi)核支持基于網(wǎng)卡的多套口收包,lpp駐留收包線程,在app內(nèi)駐留lpp收包線程,直接接收?qǐng)?bào)文,避免報(bào)文經(jīng)過(guò)lpp、socket傳遞,減少報(bào)文傳輸環(huán)節(jié)以及消息拷貝。

3)減少lpp冗余查表。報(bào)文直接投遞到app,減少lpp環(huán)節(jié),省去較多的lpp冗余表查詢。

技術(shù)方案:一種海量數(shù)據(jù)高效傳輸方法,建立高速報(bào)文傳輸通道,數(shù)據(jù)經(jīng)過(guò)np直接通過(guò)內(nèi)部以太網(wǎng)交互通道投送到app的pm收發(fā)包線程。

1)高速報(bào)文通道的建立方式是數(shù)據(jù)通過(guò)np后,使用tcp/ip協(xié)議,通過(guò)socket通道,進(jìn)入內(nèi)部以太網(wǎng)交互通道,然后直接進(jìn)入到app的pm收發(fā)包線程,這樣數(shù)據(jù)通過(guò)最短路徑直接到達(dá)應(yīng)用層,供應(yīng)用層軟件使用。

2)在報(bào)文轉(zhuǎn)發(fā)過(guò)程中,微碼根據(jù)報(bào)文分發(fā)表決定協(xié)議報(bào)文路徑,也就是微碼根據(jù)報(bào)文分發(fā)表選擇報(bào)文是走socket通道還是高速報(bào)文通道,通過(guò)這種方式實(shí)現(xiàn)報(bào)文分發(fā)兼容原報(bào)文分發(fā)邏輯。

3)微碼上報(bào)報(bào)文到網(wǎng)口,應(yīng)用進(jìn)程(app)使用套口在網(wǎng)口上收包。對(duì)不同進(jìn)程或不同協(xié)議,微碼對(duì)上送報(bào)文封裝不同的estype類型,不同進(jìn)程根據(jù)不同的estype類型創(chuàng)建不同的套口實(shí)現(xiàn)分布式收包;同時(shí)也使用不同estype類型的報(bào)文相互隔離來(lái)實(shí)現(xiàn)不同進(jìn)程間的分布式網(wǎng)口收包。

4)修改內(nèi)核網(wǎng)口收包驅(qū)動(dòng),將收包的環(huán)形buffer映射到用戶態(tài),在用戶態(tài)啟動(dòng)收包線程直接讀取收包緩存進(jìn)行收包。

微碼根據(jù)報(bào)文分發(fā)表選擇報(bào)文是走socket通道還是高速報(bào)文通道,其選擇路徑方式為:報(bào)文在傳送前,在微碼中添加報(bào)文路徑標(biāo)志字節(jié),在報(bào)文分發(fā)表中添加對(duì)應(yīng)的報(bào)文路徑標(biāo)志字節(jié)對(duì)應(yīng)的報(bào)文路徑,微碼使用這個(gè)標(biāo)志字節(jié),結(jié)合報(bào)文分發(fā)表,決定報(bào)文數(shù)據(jù)路徑,通過(guò)這種方式實(shí)現(xiàn)報(bào)文分發(fā)兼容原報(bào)文分發(fā)邏輯。

微碼上報(bào)報(bào)文到網(wǎng)口,應(yīng)用進(jìn)程(app)使用套口在網(wǎng)口上收包。對(duì)不同進(jìn)程或不同協(xié)議,微碼對(duì)上送報(bào)文封裝不同的estype類型,不同進(jìn)程根據(jù)不同的estype類型創(chuàng)建不同的套口實(shí)現(xiàn)分布式收包。同時(shí)也使用不同estype類型的報(bào)文相互隔離來(lái)實(shí)現(xiàn)不同進(jìn)程間的分布式網(wǎng)口收包,具體實(shí)現(xiàn)方式為:微碼在上送報(bào)文頭中添加一個(gè)字節(jié),這個(gè)字節(jié)的值代表不同的estype類型,app通過(guò)套口收到報(bào)文后解析獲得這個(gè)estype,然后根據(jù)estype值創(chuàng)建接收線程,把包含相同estype值的報(bào)文數(shù)據(jù)包送到同一個(gè)收包線程中供該線程處理來(lái)實(shí)現(xiàn)報(bào)文相互隔離的處理。

修改內(nèi)核網(wǎng)口收包驅(qū)動(dòng),將收包的環(huán)形buffer映射到用戶態(tài),在用戶態(tài)啟動(dòng)收包線程直接讀取收包緩存進(jìn)行收包,具體實(shí)現(xiàn)方式為:在系統(tǒng)內(nèi)存中創(chuàng)建一張收包環(huán)形buffer地址(指針)與用戶態(tài)標(biāo)志的映射表,用戶態(tài)啟動(dòng)收包線程時(shí),根據(jù)用戶態(tài)標(biāo)志從該映射表中讀取環(huán)形buffer的地址,然后直接從該地址獲取數(shù)據(jù)來(lái)實(shí)現(xiàn)數(shù)據(jù)包的讀取。

附圖說(shuō)明

圖1是標(biāo)準(zhǔn)socket收發(fā)包架構(gòu);

圖2是高速報(bào)文通道收發(fā)包架構(gòu)。

具體實(shí)施方式

下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于

本技術(shù):
所附權(quán)利要求所限定的范圍。

一種海量數(shù)據(jù)高效傳輸方法,建立如圖2中點(diǎn)線標(biāo)注的高速報(bào)文傳輸通道,數(shù)據(jù)經(jīng)過(guò)np直接通過(guò)內(nèi)部以太網(wǎng)交互通道投送到app的pm收發(fā)包線程。

1)高速報(bào)文通道的建立方式是數(shù)據(jù)通過(guò)np后,使用tcp/ip協(xié)議,通過(guò)socket通道,進(jìn)入內(nèi)部以太網(wǎng)交互通道,然后直接進(jìn)入到app的pm收發(fā)包線程,這樣數(shù)據(jù)通過(guò)最短路徑直接到達(dá)應(yīng)用層,供應(yīng)用層軟件使用。

2)在報(bào)文轉(zhuǎn)發(fā)過(guò)程中,微碼根據(jù)報(bào)文分發(fā)表決定協(xié)議報(bào)文路徑,也就是微碼根據(jù)報(bào)文分發(fā)表選擇報(bào)文是走socket通道還是高速報(bào)文通道,其選擇路徑方式為:報(bào)文在傳送前,在微碼中添加報(bào)文路徑標(biāo)志字節(jié),在報(bào)文分發(fā)表中添加對(duì)應(yīng)的報(bào)文路徑標(biāo)志字節(jié)對(duì)應(yīng)的報(bào)文路徑,微碼使用這個(gè)標(biāo)志字節(jié),結(jié)合報(bào)文分發(fā)表,決定報(bào)文數(shù)據(jù)路徑,通過(guò)這種方式實(shí)現(xiàn)報(bào)文分發(fā)兼容原報(bào)文分發(fā)邏輯。

3)微碼上報(bào)報(bào)文到網(wǎng)口,應(yīng)用進(jìn)程(app)使用套口在網(wǎng)口上收包。對(duì)不同進(jìn)程或不同協(xié)議,微碼對(duì)上送報(bào)文封裝不同的estype類型,不同進(jìn)程根據(jù)不同的estype類型創(chuàng)建不同的套口實(shí)現(xiàn)分布式收包。同時(shí)也使用不同estype類型的報(bào)文相互隔離來(lái)實(shí)現(xiàn)不同進(jìn)程間的分布式網(wǎng)口收包,具體實(shí)現(xiàn)方式為:微碼在上送報(bào)文頭中添加一個(gè)字節(jié),這個(gè)字節(jié)的值代表不同的estype類型,app通過(guò)套口收到報(bào)文后解析獲得這個(gè)estype,然后根據(jù)estype值創(chuàng)建接收線程,把包含相同estype值的報(bào)文數(shù)據(jù)包送到同一個(gè)收包線程中供該線程處理來(lái)實(shí)現(xiàn)報(bào)文相互隔離的處理。

4)修改內(nèi)核網(wǎng)口收包驅(qū)動(dòng),將收包的環(huán)形buffer映射到用戶態(tài),在用戶態(tài)啟動(dòng)收包線程直接讀取收包緩存進(jìn)行收包,具體實(shí)現(xiàn)方式為:在系統(tǒng)內(nèi)存中創(chuàng)建一張收包環(huán)形buffer地址(指針)與用戶態(tài)標(biāo)志的映射表,用戶態(tài)啟動(dòng)收包線程時(shí),根據(jù)用戶態(tài)標(biāo)志從該映射表中讀取環(huán)形buffer的地址,然后直接從該地址獲取數(shù)據(jù)來(lái)實(shí)現(xiàn)數(shù)據(jù)包的讀取。

采用上述技術(shù)方案,使用本發(fā)明的具體實(shí)現(xiàn)步驟中的方法后,通過(guò)實(shí)際測(cè)試與驗(yàn)證結(jié)果表明,本發(fā)明能夠使路由器平臺(tái)的協(xié)議棧收發(fā)能力達(dá)到100000pps,遠(yuǎn)遠(yuǎn)大于當(dāng)前協(xié)議棧的標(biāo)準(zhǔn)socket收發(fā)包能力的7000pps,因此本發(fā)明顯著提高了路由器平臺(tái)協(xié)議棧報(bào)文收發(fā)能力,提高了路由器平臺(tái)的海量數(shù)據(jù)傳輸能力與傳輸性能。



技術(shù)特征:

技術(shù)總結(jié)
本發(fā)明公開(kāi)了一種海量數(shù)據(jù)高效傳輸方法,將內(nèi)核網(wǎng)卡收包環(huán)形隊(duì)列映射到用戶態(tài),用戶態(tài)直接操作環(huán)形隊(duì)列收包,規(guī)避收包時(shí)用戶態(tài)到內(nèi)核態(tài)的切換,減少調(diào)度開(kāi)銷;內(nèi)核支持基于網(wǎng)卡的多套口收包,LPP駐留收包線程,在APP內(nèi)駐留LPP收包線程,直接接收?qǐng)?bào)文,避免報(bào)文經(jīng)過(guò)LPP、Socket傳遞,減少報(bào)文傳輸環(huán)節(jié)以及消息拷貝;報(bào)文直接投遞到APP,減少LPP環(huán)節(jié),省去較多的LPP冗余表查詢。本方法顯著提高了路由器平臺(tái)協(xié)議棧報(bào)文收發(fā)能力,提高了路由器平臺(tái)的海量數(shù)據(jù)傳輸能力與性能。

技術(shù)研發(fā)人員:陳哲;王吉星;王慧斌;石愛(ài)業(yè);李臣明;彭建華;徐立中
受保護(hù)的技術(shù)使用者:河海大學(xué);水利部南京水利水文自動(dòng)化研究所
技術(shù)研發(fā)日:2017.06.19
技術(shù)公布日:2017.08.18
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1