本申請實(shí)施例涉及計(jì)算機(jī),尤其涉及一種基于dpu的數(shù)據(jù)分片方法、電子設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì)。
背景技術(shù):
1、網(wǎng)絡(luò)之間互連的協(xié)議(internet?protocol,ip)分片是一種在網(wǎng)絡(luò)傳輸中用于將較大的數(shù)據(jù)包分割成較小片段的技術(shù)。它主要是為了適應(yīng)不同網(wǎng)絡(luò)之間的mtu(maximumtransmission?unit,最大傳輸單元)的差異,確保數(shù)據(jù)能夠順利傳輸?shù)侥康牡亍?/p>
2、相關(guān)技術(shù)中,采用一種網(wǎng)絡(luò)傳輸技術(shù)(generic?segmentation?offload,gso)將非傳輸控制協(xié)議(transmission?control?protocol,tcp)報(bào)文根據(jù)mtu進(jìn)行分片處理。這樣做可以讓數(shù)據(jù)包有效的被對(duì)面協(xié)議棧所接收,超長報(bào)文對(duì)面協(xié)議棧會(huì)直接進(jìn)行丟棄操作。但因?yàn)間so技術(shù)是協(xié)議棧處理,會(huì)占用大量中央處理器(central?processing?unit,cpu)資源,針對(duì)于一些較弱的cpu處理器,將是災(zāi)難級(jí)的事件,cpu將長時(shí)間處于大包分段或分片和計(jì)算校驗(yàn)和的過程中,無法分出資源進(jìn)行其他事件的處理。
3、因此,如何降低cpu資源利用率成為一個(gè)亟待解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請實(shí)施例提供一種基于dpu的數(shù)據(jù)分片方法、電子設(shè)備和存儲(chǔ)介質(zhì),以至少部分解決上述問題。
2、根據(jù)本申請實(shí)施例的第一方面,提供了基于dpu的數(shù)據(jù)分片方法,應(yīng)用于dpu網(wǎng)卡,包括:
3、獲取數(shù)據(jù)報(bào)文待經(jīng)過的數(shù)據(jù)傳輸單元設(shè)置的最大數(shù)據(jù)報(bào)文容量值;
4、若所述數(shù)據(jù)報(bào)文使用第一協(xié)議版本且符合分片條件,則根據(jù)所述最大數(shù)據(jù)報(bào)文容量值和所述數(shù)據(jù)報(bào)文的ip頭部長度確定目標(biāo)數(shù)據(jù)報(bào)文容量值;并基于所述目標(biāo)數(shù)據(jù)報(bào)文容量值對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行分片,得到分片后的數(shù)據(jù)報(bào)文;
5、若所述數(shù)據(jù)報(bào)文使用第二協(xié)議版本且所述數(shù)據(jù)報(bào)文的包頭解析出來的協(xié)議頭為第一預(yù)設(shè)協(xié)議,則根據(jù)所述包頭解析出來的擴(kuò)展頭總長度和所述最大數(shù)據(jù)報(bào)文容量值確定目標(biāo)數(shù)據(jù)報(bào)文容量值,并基于所述目標(biāo)數(shù)據(jù)報(bào)文容量值對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行分片,得到分片后的數(shù)據(jù)報(bào)文。
6、根據(jù)本申請實(shí)施例的第二方面,提供了一種電子設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線,所述處理器、所述存儲(chǔ)器和所述通信接口通過所述通信總線完成相互間的通信;所述存儲(chǔ)器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如第一方面所述的方法對(duì)應(yīng)的操作。
7、根據(jù)本申請實(shí)施例的第三方面,提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的方法。
8、根據(jù)本申請實(shí)施例提供的方案,通過dpu網(wǎng)卡獲取數(shù)據(jù)報(bào)文待經(jīng)過的數(shù)據(jù)傳輸單元設(shè)置的最大數(shù)據(jù)報(bào)文容量值;若所述數(shù)據(jù)報(bào)文使用第一協(xié)議版本且符合分片條件,則根據(jù)所述最大數(shù)據(jù)報(bào)文容量值和所述數(shù)據(jù)報(bào)文的ip頭部長度確定目標(biāo)數(shù)據(jù)報(bào)文容量值;并基于所述目標(biāo)數(shù)據(jù)報(bào)文容量值對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行分片,得到分片后的數(shù)據(jù)報(bào)文;若所述數(shù)據(jù)報(bào)文使用第二協(xié)議版本且所述數(shù)據(jù)報(bào)文的包頭解析出來的協(xié)議頭為第一預(yù)設(shè)協(xié)議,則根據(jù)所述包頭解析出來的擴(kuò)展頭總長度和所述最大數(shù)據(jù)報(bào)文容量值確定目標(biāo)數(shù)據(jù)報(bào)文容量值,并基于所述目標(biāo)數(shù)據(jù)報(bào)文容量值對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行分片,得到分片后的數(shù)據(jù)報(bào)文。在該過程中,通過判斷數(shù)據(jù)報(bào)文使用的協(xié)議版本,同時(shí)判斷數(shù)據(jù)報(bào)文是否已經(jīng)執(zhí)行過分片或不允許分片,如果未出現(xiàn)上述倆種情況,則根據(jù)不同的協(xié)議版本進(jìn)行不同的分片措施,釋放了cpu資源,優(yōu)化了分片技術(shù)。
1.一種基于dpu的數(shù)據(jù)分片方法,其特征在于,應(yīng)用于dpu網(wǎng)卡,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述若所述數(shù)據(jù)報(bào)文使用第一協(xié)議版本且符合分片條件,則根據(jù)所述最大數(shù)據(jù)報(bào)文容量值和所述數(shù)據(jù)報(bào)文的互聯(lián)網(wǎng)協(xié)議ip頭部長度確定目標(biāo)數(shù)據(jù)報(bào)文容量值,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述若所述數(shù)據(jù)報(bào)文使用第一協(xié)議版本且符合分片條件,則根據(jù)所述最大數(shù)據(jù)報(bào)文容量值和所述數(shù)據(jù)報(bào)文的互聯(lián)網(wǎng)協(xié)議ip頭部長度確定目標(biāo)數(shù)據(jù)報(bào)文容量值之前,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述若所述數(shù)據(jù)報(bào)文使用第二協(xié)議版本且所述數(shù)據(jù)報(bào)文的包頭解析出來的協(xié)議頭為第一預(yù)設(shè)協(xié)議之前,所述方法還包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述若所述數(shù)據(jù)報(bào)文使用第二協(xié)議版本且所述數(shù)據(jù)報(bào)文的包頭解析出來的協(xié)議頭為第一預(yù)設(shè)協(xié)議,則根據(jù)所述包頭解析出來的擴(kuò)展頭總長度和所述最大數(shù)據(jù)報(bào)文容量值確定目標(biāo)數(shù)據(jù)報(bào)文容量值,并基于所述目標(biāo)數(shù)據(jù)報(bào)文容量值對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行分片,得到分片后的數(shù)據(jù)報(bào)文之后,所述方法還包括:
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,
7.根據(jù)所述權(quán)利要求1或6所述的方法,其特征在于,所述基于所述目標(biāo)數(shù)據(jù)報(bào)文容量值對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行分片,得到分片后的數(shù)據(jù)報(bào)文之后,所述方法還包括:
8.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的方法,其特征在于,所述獲取數(shù)據(jù)報(bào)文待經(jīng)過的數(shù)據(jù)傳輸單元設(shè)置的最大數(shù)據(jù)報(bào)文容量值之后,所述方法還包括:
9.一種電子設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線,所述處理器、所述存儲(chǔ)器和所述通信接口通過所述通信總線完成相互間的通信;
10.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-8中任一項(xiàng)所述的方法。