本發(fā)明涉及數(shù)據(jù)處理,特別是涉及一種網(wǎng)卡數(shù)據(jù)包的處理方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、隨著信息技術(shù)的快速發(fā)展,服務(wù)器在數(shù)據(jù)中心等平臺(tái)發(fā)揮重要的作用。其中,服務(wù)器網(wǎng)卡是實(shí)現(xiàn)網(wǎng)絡(luò)通信的關(guān)鍵組件。
2、服務(wù)器網(wǎng)卡對(duì)數(shù)據(jù)包的接收和處理中,通過輪詢網(wǎng)絡(luò)接口檢查是否有數(shù)據(jù)包到達(dá),或者在等待數(shù)據(jù)包時(shí)不會(huì)進(jìn)行輪詢,而是等待數(shù)據(jù)包到達(dá)后觸發(fā)中斷,之后進(jìn)行數(shù)據(jù)包的處理。但是,隨著集群規(guī)模越來越大,數(shù)據(jù)傳輸?shù)牧髁恳苍絹碓酱?,用戶?duì)網(wǎng)絡(luò)傳輸性能的要求越來越高。
3、如何對(duì)網(wǎng)卡數(shù)據(jù)包進(jìn)行處理,以提高用戶體驗(yàn)感是本領(lǐng)域人員亟需解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種網(wǎng)卡數(shù)據(jù)包的處理方法、裝置、設(shè)備及介質(zhì),以解決服務(wù)器網(wǎng)卡對(duì)數(shù)據(jù)包處理時(shí),無法滿足用戶體驗(yàn)感的技術(shù)問題。
2、為解決上述技術(shù)問題,本發(fā)明提供一種網(wǎng)卡數(shù)據(jù)包的處理方法,包括:
3、獲取當(dāng)前用戶的網(wǎng)絡(luò)行為并根據(jù)所述網(wǎng)絡(luò)行為確定當(dāng)前用戶關(guān)注的數(shù)據(jù)報(bào)頭類型和各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序;其中,用戶的網(wǎng)絡(luò)行為中至少包括用戶常用的程序、用戶應(yīng)對(duì)網(wǎng)絡(luò)卡頓時(shí)的等待時(shí)長和操作行為;
4、獲取第一預(yù)設(shè)時(shí)長內(nèi)的數(shù)據(jù)包以及從所述數(shù)據(jù)包中獲取各數(shù)據(jù)報(bào)頭;
5、根據(jù)各數(shù)據(jù)報(bào)頭對(duì)所述數(shù)據(jù)包中的數(shù)據(jù)進(jìn)行區(qū)分,以得到各類型的數(shù)據(jù);
6、按照各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序依次對(duì)所述數(shù)據(jù)包中的各類型的數(shù)據(jù)進(jìn)行處理。
7、一方面,在所述按照各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序依次對(duì)所述數(shù)據(jù)包中的各類型的數(shù)據(jù)進(jìn)行處理之前,還包括:
8、將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中;
9、對(duì)存儲(chǔ)在所述優(yōu)先級(jí)隊(duì)列中的各類型的數(shù)據(jù)按照各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序依次進(jìn)行處理。
10、另一方面,所述將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列包括:
11、獲取整機(jī)資源的剩余量;
12、判斷整機(jī)資源的剩余量是否大于預(yù)設(shè)資源量;
13、若是,則將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列;
14、若否,則根據(jù)整機(jī)資源的剩余量確定優(yōu)先級(jí)隊(duì)列長度;
15、從所述數(shù)據(jù)包的各類型的數(shù)據(jù)中獲取目標(biāo)類型的數(shù)據(jù);其中,優(yōu)先級(jí)的數(shù)值與優(yōu)先級(jí)的順序呈負(fù)相關(guān)的關(guān)系,所述目標(biāo)類型的數(shù)據(jù)為所述數(shù)據(jù)包的所有類型的數(shù)據(jù)中,數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)小于預(yù)設(shè)值的數(shù)據(jù)報(bào)頭對(duì)應(yīng)的數(shù)據(jù);
16、將目標(biāo)類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中;
17、設(shè)定緩存等待區(qū);
18、根據(jù)各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序從所述數(shù)據(jù)包的各類型的數(shù)據(jù)中獲取剩余類型的數(shù)據(jù);其中,所述剩余類型的數(shù)據(jù)為所述數(shù)據(jù)包的各類型的數(shù)據(jù)中除所述目標(biāo)類型的數(shù)據(jù)外的數(shù)據(jù);
19、將所述剩余類型的數(shù)據(jù)存儲(chǔ)在所述緩存等待區(qū);
20、在檢測(cè)到整機(jī)資源的剩余量大于預(yù)設(shè)資源量的情況下,從所述緩存等待區(qū)中提取所述剩余類型的數(shù)據(jù);
21、將所述剩余類型的數(shù)據(jù)存放在所述優(yōu)先級(jí)隊(duì)列中。
22、另一方面,在所述將所述剩余類型的數(shù)據(jù)存儲(chǔ)在所述緩存等待區(qū)之后,還包括:
23、自將所述剩余類型的數(shù)據(jù)存儲(chǔ)在所述緩存等待區(qū)開始,判斷第二預(yù)設(shè)時(shí)長內(nèi)所述緩存等待區(qū)是否存在所述剩余類型的數(shù)據(jù);
24、若是,則刪除所述緩存等待區(qū)中的所述剩余類型的數(shù)據(jù);
25、若否,則返回所述獲取第一預(yù)設(shè)時(shí)長內(nèi)的數(shù)據(jù)包以及從所述數(shù)據(jù)包中獲取各數(shù)據(jù)報(bào)頭的步驟。
26、另一方面,在所述將所述剩余類型的數(shù)據(jù)存儲(chǔ)在所述緩存等待區(qū)之前,還包括:
27、獲取所述剩余類型的數(shù)據(jù)的大小以及獲取所述緩存等待區(qū)的容量;
28、判斷所述緩存等待區(qū)的容量是否大于或等于所述剩余類型的數(shù)據(jù)的大??;
29、若是,則進(jìn)入所述將所述剩余類型的數(shù)據(jù)存儲(chǔ)在所述緩存等待區(qū)的步驟;
30、若否,則按照所述剩余類型的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)從高到低的順序,從所述剩余類型的數(shù)據(jù)中選取預(yù)設(shè)類型的數(shù)據(jù),剔除所述剩余類型的數(shù)據(jù)中除所述預(yù)設(shè)類型的數(shù)據(jù)外的數(shù)據(jù),并將所述預(yù)設(shè)類型的數(shù)據(jù)作為新的剩余類型的數(shù)據(jù),進(jìn)入所述將所述剩余類型的數(shù)據(jù)存儲(chǔ)在所述緩存等待區(qū)的步驟;其中,所述預(yù)設(shè)類型的數(shù)據(jù)的優(yōu)先級(jí)大于從所述剩余類型的數(shù)據(jù)中剔除所述預(yù)設(shè)類型的數(shù)據(jù)外的數(shù)據(jù)的優(yōu)先級(jí)。
31、另一方面,所述將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中包括:
32、按照各類型的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序依次將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中;
33、所述按照各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序依次對(duì)所述數(shù)據(jù)包中的各類型的數(shù)據(jù)進(jìn)行處理包括:
34、按照各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序以及先進(jìn)先出的順序依次對(duì)所述數(shù)據(jù)包中的各類型的數(shù)據(jù)進(jìn)行處理。
35、另一方面,在所述獲取當(dāng)前用戶的網(wǎng)絡(luò)行為并根據(jù)所述網(wǎng)絡(luò)行為確定當(dāng)前用戶關(guān)注的數(shù)據(jù)報(bào)頭類型和各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序之后,還包括:
36、自獲取到當(dāng)前用戶對(duì)應(yīng)的各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序開始,第三預(yù)設(shè)時(shí)長內(nèi)返回所述獲取當(dāng)前用戶的網(wǎng)絡(luò)行為并根據(jù)所述網(wǎng)絡(luò)行為確定當(dāng)前用戶關(guān)注的數(shù)據(jù)報(bào)頭類型和各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序的步驟。
37、為了解決上述技術(shù)問題,本發(fā)明還提供一種網(wǎng)卡數(shù)據(jù)包的處理裝置,包括:
38、第一獲取模塊,用于獲取當(dāng)前用戶的網(wǎng)絡(luò)行為并根據(jù)所述網(wǎng)絡(luò)行為確定當(dāng)前用戶關(guān)注的數(shù)據(jù)報(bào)頭類型和各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序;其中,用戶的網(wǎng)絡(luò)行為中至少包括用戶常用的程序、用戶應(yīng)對(duì)網(wǎng)絡(luò)卡頓時(shí)的等待時(shí)長和操作行為;
39、第二獲取模塊,用于獲取第一預(yù)設(shè)時(shí)長內(nèi)的數(shù)據(jù)包以及從所述數(shù)據(jù)包中獲取各數(shù)據(jù)報(bào)頭;
40、區(qū)分模塊,用于根據(jù)各數(shù)據(jù)報(bào)頭對(duì)所述數(shù)據(jù)包中的數(shù)據(jù)進(jìn)行區(qū)分,以得到各類型的數(shù)據(jù);
41、處理模塊,用于按照各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序依次對(duì)所述數(shù)據(jù)包中的各類型的數(shù)據(jù)進(jìn)行處理。
42、為了解決上述技術(shù)問題,本發(fā)明還提供一種網(wǎng)卡數(shù)據(jù)包的處理設(shè)備,包括:
43、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;
44、處理器,用于執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述的網(wǎng)卡數(shù)據(jù)包的處理方法的步驟。
45、為了解決上述技術(shù)問題,本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的網(wǎng)卡數(shù)據(jù)包的處理方法的步驟。
46、本發(fā)明的有益效果在于,在網(wǎng)卡數(shù)據(jù)包的處理方法中,先為各類型的數(shù)據(jù)報(bào)頭設(shè)置優(yōu)先級(jí)順序,然后獲取數(shù)據(jù)包中各類型的數(shù)據(jù)報(bào)頭,根據(jù)數(shù)據(jù)報(bào)頭區(qū)分出各類型的數(shù)據(jù),從而按照各數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序?qū)Ω黝愋偷臄?shù)據(jù)進(jìn)行處理;且在設(shè)置各類型的數(shù)據(jù)報(bào)頭設(shè)置優(yōu)先級(jí)順序時(shí),考慮到用戶的網(wǎng)絡(luò)行為分析出所用戶關(guān)注的數(shù)據(jù)報(bào)頭類型以及確定出各數(shù)據(jù)報(bào)頭對(duì)應(yīng)的優(yōu)先級(jí)順序,即分析不同用戶的使用習(xí)慣設(shè)置定優(yōu)先級(jí)機(jī)制,從而使得在按照優(yōu)先級(jí)順序處理數(shù)據(jù)包中各類型的數(shù)據(jù)時(shí),提高用戶的體驗(yàn)感;其次,用戶的網(wǎng)絡(luò)行為中至少包括用戶常用的程序、用戶應(yīng)對(duì)網(wǎng)絡(luò)卡頓時(shí)的等待時(shí)長和操作行為,使得能夠較準(zhǔn)確地反映出用戶的網(wǎng)絡(luò)行為,從而能夠準(zhǔn)確地確定用戶關(guān)注的各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序,且由于不同的用戶的網(wǎng)絡(luò)行為不同,故而設(shè)置的優(yōu)先級(jí)具有針對(duì)性,使得在對(duì)數(shù)據(jù)包處理時(shí),進(jìn)一步地提高了用戶體驗(yàn)感。
47、此外,將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中,以及按照各類型的數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序依次將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中,使得各類型的數(shù)據(jù)能夠按照優(yōu)先級(jí)順序處理,減少了時(shí)延。
48、將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列時(shí),首先對(duì)整機(jī)資源的剩余量是否大于預(yù)設(shè)資源量的判斷,當(dāng)整機(jī)資源的剩余量大于預(yù)設(shè)資源量,則將各類型的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列;若整機(jī)資源的剩余量小于或等于預(yù)設(shè)資源量,則根據(jù)整機(jī)資源的剩余量確定優(yōu)先級(jí)隊(duì)列長度,并將優(yōu)先級(jí)高的數(shù)據(jù)報(bào)頭對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中。該方法中考慮到了整機(jī)資源的剩余量,使得設(shè)置的優(yōu)先級(jí)隊(duì)列較合適;且將優(yōu)先級(jí)低的數(shù)據(jù)報(bào)頭對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)在緩存等待區(qū),只有在整機(jī)資源的剩余量大于預(yù)設(shè)資源量的情況,才從緩存等待區(qū)中提取數(shù)據(jù)并將數(shù)據(jù)放置在優(yōu)先級(jí)隊(duì)列中。保證了優(yōu)先級(jí)低的數(shù)據(jù)不會(huì)丟失且能夠被處理到。
49、將剩余類型的數(shù)據(jù)存儲(chǔ)在緩存等待區(qū)之后,通過設(shè)置超時(shí)機(jī)制,對(duì)超時(shí)未處理的緩存等待區(qū)的數(shù)據(jù)進(jìn)行刪除,減少了數(shù)據(jù)在緩存等待區(qū)占用的空間。
50、將剩余類型的數(shù)據(jù)存儲(chǔ)在緩存等待區(qū)之前,在檢測(cè)到緩存等待區(qū)的容量小于剩余類型的數(shù)據(jù)的大小,則從剩余類型的數(shù)據(jù)中剔除優(yōu)先級(jí)低的數(shù)據(jù),僅保留優(yōu)先級(jí)高的數(shù)據(jù),將優(yōu)先級(jí)高的數(shù)據(jù)存儲(chǔ)在等待緩存區(qū)中。該方法中考慮了緩存等待區(qū)的大小,使得緩存等待區(qū)中存儲(chǔ)合適的數(shù)據(jù)。
51、自獲取到當(dāng)前用戶對(duì)應(yīng)的各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序開始,第三預(yù)設(shè)時(shí)長內(nèi)返回獲取當(dāng)前用戶的網(wǎng)絡(luò)行為并根據(jù)網(wǎng)絡(luò)行為確定當(dāng)前用戶關(guān)注的數(shù)據(jù)報(bào)頭類型和各類型的數(shù)據(jù)報(bào)頭的優(yōu)先級(jí)順序。即根據(jù)用戶網(wǎng)絡(luò)行為更新優(yōu)先級(jí)順序,使得能夠設(shè)置合理的優(yōu)先級(jí)順序,從而在根據(jù)優(yōu)先級(jí)順序?qū)?shù)據(jù)處理時(shí),進(jìn)一步提高用戶的體驗(yàn)感。
52、另外,本發(fā)明還提供一種網(wǎng)卡數(shù)據(jù)包的處理裝置、網(wǎng)卡數(shù)據(jù)包的處理設(shè)備以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),與上述提到的網(wǎng)卡數(shù)據(jù)包的處理方法具有相同或相對(duì)應(yīng)的技術(shù)特征,效果同上。