本發(fā)明涉及數(shù)據(jù)傳輸,特別是涉及一種數(shù)據(jù)傳輸方法及裝置、電子設(shè)備、存儲(chǔ)介質(zhì)。
背景技術(shù):
1、傳統(tǒng)的網(wǎng)絡(luò)棧在網(wǎng)絡(luò)設(shè)備獲取后傳輸至應(yīng)用程序時(shí)需要多次的數(shù)據(jù)拷貝操作,這會(huì)增加cpu開(kāi)銷(xiāo)和延遲,導(dǎo)致數(shù)據(jù)傳輸效率較低,無(wú)法滿(mǎn)足實(shí)時(shí)性要求。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問(wèn)題,提出了以便提供克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種數(shù)據(jù)傳輸方法及裝置、電子設(shè)備、存儲(chǔ)介質(zhì),包括:
2、一種數(shù)據(jù)傳輸方法,所述方法包括:
3、在目標(biāo)服務(wù)器上安裝并配置數(shù)據(jù)包捕獲庫(kù)和目標(biāo)應(yīng)用程序的用于訪問(wèn)所述數(shù)據(jù)包捕獲庫(kù)中數(shù)據(jù)的目標(biāo)api接口;
4、當(dāng)所述目標(biāo)服務(wù)器的網(wǎng)卡設(shè)備當(dāng)前運(yùn)行模式為應(yīng)用數(shù)據(jù)包捕獲庫(kù)捕獲數(shù)據(jù)的預(yù)設(shè)模式時(shí),通過(guò)所述網(wǎng)卡設(shè)備獲取目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包;
5、將所述目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包存儲(chǔ)至已創(chuàng)建的共享空間中,以使所述目標(biāo)應(yīng)用程序調(diào)用所述目標(biāo)api接口訪問(wèn)所述共享空間中的目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包。
6、可選地,所述在目標(biāo)服務(wù)器上安裝并配置數(shù)據(jù)包捕獲庫(kù),包括:
7、在目標(biāo)服務(wù)器上安裝數(shù)據(jù)包捕獲庫(kù);
8、獲取所述目標(biāo)服務(wù)器的網(wǎng)卡設(shè)備對(duì)應(yīng)的設(shè)備描述符;
9、基于所述設(shè)備描述符為所述目標(biāo)服務(wù)器的目標(biāo)應(yīng)用程序配置用于訪問(wèn)所述數(shù)據(jù)包捕獲庫(kù)中數(shù)據(jù)的目標(biāo)api接口。
10、可選地,還包括:
11、判斷所述網(wǎng)卡設(shè)備是否支持使用所述數(shù)據(jù)包捕獲庫(kù);
12、在判定所述網(wǎng)卡設(shè)備支持使用所述數(shù)據(jù)包捕獲庫(kù)時(shí),執(zhí)行當(dāng)所述目標(biāo)服務(wù)器的網(wǎng)卡設(shè)備當(dāng)前運(yùn)行模式為應(yīng)用數(shù)據(jù)包捕獲庫(kù)捕獲數(shù)據(jù)的預(yù)設(shè)模式時(shí),通過(guò)所述網(wǎng)卡設(shè)備獲取目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包。
13、可選地,所述判斷所述網(wǎng)卡設(shè)備是否支持使用所述數(shù)據(jù)包捕獲庫(kù),包括:
14、獲取所述網(wǎng)卡設(shè)備對(duì)應(yīng)目標(biāo)代碼數(shù)據(jù);所述目標(biāo)代碼數(shù)據(jù)用于根據(jù)運(yùn)行情況判斷網(wǎng)卡設(shè)備是否支持使用所述數(shù)據(jù)包捕獲庫(kù);
15、運(yùn)行所述目標(biāo)代碼數(shù)據(jù),得到運(yùn)行狀態(tài);
16、根據(jù)所述運(yùn)行狀態(tài)判斷網(wǎng)卡設(shè)備是否支持使用所述數(shù)據(jù)包捕獲庫(kù)。
17、可選地,所述根據(jù)所述運(yùn)行狀態(tài)判斷網(wǎng)卡設(shè)備是否支持使用所述數(shù)據(jù)包捕獲庫(kù),包括:
18、當(dāng)所述運(yùn)行狀態(tài)為網(wǎng)卡設(shè)備驅(qū)動(dòng)程序的系統(tǒng)調(diào)用函數(shù)調(diào)用成功時(shí),判定所述網(wǎng)卡設(shè)備支持使用所述數(shù)據(jù)包捕獲庫(kù);
19、當(dāng)所述運(yùn)行狀態(tài)為網(wǎng)卡設(shè)備驅(qū)動(dòng)程序的系統(tǒng)調(diào)用函數(shù)調(diào)用失敗時(shí),判定所述網(wǎng)卡設(shè)備不支持使用所述數(shù)據(jù)包捕獲庫(kù)。
20、可選地,還包括:
21、采用所述網(wǎng)卡設(shè)備中已配置數(shù)據(jù)包過(guò)濾規(guī)則對(duì)捕獲的目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包進(jìn)行過(guò)濾,得到異常數(shù)據(jù)包;
22、基于所述異常數(shù)據(jù)包生成日志信息。
23、可選地,所述數(shù)據(jù)包捕獲庫(kù)為netmap庫(kù),所述共享空間為nic環(huán)。
24、一種數(shù)據(jù)傳輸裝置,所述裝置包括:
25、安裝和配置模塊,用于在目標(biāo)服務(wù)器上安裝并配置數(shù)據(jù)包捕獲庫(kù)和目標(biāo)應(yīng)用程序的用于訪問(wèn)所述數(shù)據(jù)包捕獲庫(kù)中數(shù)據(jù)的目標(biāo)api接口;
26、數(shù)據(jù)包獲取模塊,用于當(dāng)所述目標(biāo)服務(wù)器的網(wǎng)卡設(shè)備當(dāng)前運(yùn)行模式為應(yīng)用數(shù)據(jù)包捕獲庫(kù)捕獲數(shù)據(jù)的預(yù)設(shè)模式時(shí),通過(guò)所述網(wǎng)卡設(shè)備獲取目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包;
27、數(shù)據(jù)包存儲(chǔ)模塊,用于將所述目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包存儲(chǔ)至已創(chuàng)建的共享空間中,以使所述目標(biāo)應(yīng)用程序調(diào)用所述目標(biāo)api接口訪問(wèn)所述共享空間中的目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包。
28、一種電子設(shè)備,包括處理器、存儲(chǔ)器及存儲(chǔ)在所述存儲(chǔ)器上并能夠在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述數(shù)據(jù)傳輸方法。
29、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述數(shù)據(jù)傳輸方法。
30、本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
31、在本發(fā)明實(shí)施例中,在目標(biāo)服務(wù)器上安裝并配置數(shù)據(jù)包捕獲庫(kù)和目標(biāo)應(yīng)用程序的用于訪問(wèn)數(shù)據(jù)包捕獲庫(kù)中數(shù)據(jù)的目標(biāo)api接口;當(dāng)目標(biāo)服務(wù)器的網(wǎng)卡設(shè)備當(dāng)前運(yùn)行模式為應(yīng)用數(shù)據(jù)包捕獲庫(kù)捕獲數(shù)據(jù)的預(yù)設(shè)模式時(shí),通過(guò)網(wǎng)卡設(shè)備獲取目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包;將目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包存儲(chǔ)至已創(chuàng)建的共享空間中,以使目標(biāo)應(yīng)用程序調(diào)用目標(biāo)api接口訪問(wèn)共享空間中的目標(biāo)網(wǎng)絡(luò)傳輸數(shù)據(jù)包,從而實(shí)現(xiàn)了零拷貝狀態(tài)下提高數(shù)據(jù)包的捕獲和處理效率。
1.一種數(shù)據(jù)傳輸方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在目標(biāo)服務(wù)器上安裝并配置數(shù)據(jù)包捕獲庫(kù),包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述判斷所述網(wǎng)卡設(shè)備是否支持使用所述數(shù)據(jù)包捕獲庫(kù),包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述運(yùn)行狀態(tài)判斷網(wǎng)卡設(shè)備是否支持使用所述數(shù)據(jù)包捕獲庫(kù),包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)包捕獲庫(kù)為netmap庫(kù),所述共享空間為nic環(huán)。
8.一種數(shù)據(jù)傳輸裝置,其特征在于,所述裝置包括:
9.一種電子設(shè)備,其特征在于,包括處理器、存儲(chǔ)器及存儲(chǔ)在所述存儲(chǔ)器上并能夠在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7中任一項(xiàng)所述數(shù)據(jù)傳輸方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7中任一項(xiàng)所述數(shù)據(jù)傳輸方法。