本發(fā)明涉及網(wǎng)絡(luò)通信,尤其涉及一種報文轉(zhuǎn)發(fā)方法、網(wǎng)卡、網(wǎng)關(guān)、介質(zhì)和產(chǎn)品。
背景技術(shù):
1、在網(wǎng)絡(luò)通信中,數(shù)據(jù)的一致性和完整性是確保數(shù)據(jù)準確性的關(guān)鍵因素,并且數(shù)據(jù)的一致性和完整性在多種場景下都是非常重要的,比如實時通信、數(shù)據(jù)庫中的事務(wù)處理等等。而數(shù)據(jù)的完整性和一致性通??梢岳脠笪谋P驒C制來實現(xiàn)。其中,報文保序是指在網(wǎng)絡(luò)通信中,對于發(fā)送順序有嚴格要求的有序報文,確保這些有序報文可以按照它們自身被發(fā)送的順序進行接收、處理和轉(zhuǎn)發(fā)的機制。
2、在實際中,往往又可以通過報文丟棄來保證網(wǎng)絡(luò)通信的可靠性。然而,報文丟棄會降低報文保序傳輸?shù)膫鬏斝??;诖?,在進行報文保序傳輸過程中,當出現(xiàn)報文丟棄時,在保證報文保序傳輸?shù)耐瑫r如何改善報文丟棄對報文傳輸效率的影響就成為一個亟待解決的問題。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明實施例提供一種報文轉(zhuǎn)發(fā)方法、網(wǎng)卡、網(wǎng)關(guān)、介質(zhì)和產(chǎn)品,用以保證報文保序發(fā)送的同時,改善報文丟棄對報文傳輸效率的影響。
2、第一方面,本發(fā)明實施例提供一種網(wǎng)絡(luò)攻擊處理方法,包括:
3、在未被處理器獲取的備選有序報文中,確定待丟棄報文,所述備選有序報文包含在報文發(fā)送方發(fā)送的原始有序報文中;
4、將所述待丟棄報文的元信息從更新前隊列中刪除,以得到更新后隊列,所述更新前隊列包含所述原始有序報文的元信息,隊列中元信息的寫入順序與攜帶有所述元信息的報文的發(fā)送順序相同;
5、對于所述原始有序報文中未被丟棄的任一報文,若所述任一報文的元信息是最早寫入所述更新后隊列的元信息,則將所述處理器對所述任一報文處理后產(chǎn)生的處理結(jié)果轉(zhuǎn)發(fā)至報文接收方。
6、第二方面,本發(fā)明實施例提供一種網(wǎng)卡,包括:i/o系統(tǒng)和報文收發(fā)系統(tǒng);
7、所述i/o系統(tǒng),用于將報文發(fā)送方發(fā)送的原始有序報文傳輸至處理器;在未傳輸至所述處理器的備選有序報文中,確定待丟棄報文,所述備選有序報文包含在所述原始有序報文中;
8、所述報文收發(fā)系統(tǒng),用于發(fā)送所述原始有序報文至所述i/o系統(tǒng);
9、將所述待丟棄報文的元信息從更新前隊列中刪除,以得到更新后隊列,所述更新前隊列包含所述原始有序報文的元信息,隊列中元信息的寫入順序與攜帶有所述元信息的報文的發(fā)送順序相同;
10、對于所述原始有序報文中未被丟棄的任一報文,若所述任一報文的元信息是最早寫入所述更新后隊列的元信息,則將所述處理器對所述任一報文處理后產(chǎn)生的處理結(jié)果轉(zhuǎn)發(fā)至報文接收方。
11、第三方面,本發(fā)明實施例提供一種網(wǎng)關(guān),包括:網(wǎng)卡和處理器;
12、所述處理器,用于對所述網(wǎng)卡發(fā)送的報文進行處理;發(fā)送報文的處理結(jié)果至所述網(wǎng)卡;
13、所述網(wǎng)卡,用于在未傳輸至所述處理器的備選有序報文中,確定待丟棄報文,所述備選有序報文包含在報文發(fā)送方發(fā)送的原始有序報文中;
14、將所述待丟棄報文的元信息從更新前隊列中刪除,以得到更新后隊列,所述更新前隊列包含所述原始有序報文的元信息,隊列中元信息的寫入順序與攜帶有所述元信息的報文的發(fā)送順序相同;
15、對于所述原始有序報文中未被丟棄的任一報文,若所述任一報文的元信息是最早寫入所述更新后隊列的元信息,則將所述任一報文的處理結(jié)果轉(zhuǎn)發(fā)至報文接收方。
16、第四方面,本發(fā)明實施例提供了一種非暫時性機器可讀存儲介質(zhì),所述非暫時性機器可讀存儲介質(zhì)上存儲有可執(zhí)行代碼,當所述可執(zhí)行代碼被電子設(shè)備的處理器執(zhí)行時,使所述處理器至少可以實現(xiàn)如第一方面所述的報文轉(zhuǎn)發(fā)方法。
17、第五方面,本發(fā)明實施例提供了一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括計算機程序或指令,當所述計算機程序或指令被處理器執(zhí)行時,致使所述處理器能實現(xiàn)如上述第一方面所述的報文轉(zhuǎn)發(fā)方法。
18、本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法,該方法包括:在未被處理器獲取到的備選有序報文中確定待丟棄報文,并將該待丟棄報文的元信息從更新前隊列中刪除,以得到更新后隊列。其中,備選有序報文包含在報文發(fā)送方發(fā)送的原始有序報文中,更新前隊列包含原始有序報文的元信息。并且無論是更新前隊列還是更新后隊列,隊列中元信息的寫入順序與攜帶有該元信息的報文的發(fā)送順序相同。則基于上述更新后隊列,當獲取到處理器對未丟棄的任一報文進行處理后所產(chǎn)生的處理結(jié)果時,若該報文的元信息是最早寫入更新后隊列中的,則該報文的處理結(jié)果可以進一步發(fā)送至報文接收方。
19、上述方法中,由于更新后隊列中元信息的寫入順序和未丟棄報文的發(fā)送順序相同,因此,網(wǎng)關(guān)利用更新后隊列仍然可以實現(xiàn)未丟棄報文的保序傳輸。另外,通過元信息的更新也可以提高網(wǎng)關(guān)確認發(fā)生報文丟棄的實時性,不用在長時間未接收到報文的處理結(jié)果后才能夠確認報文丟棄。由于省去了確認報文丟棄所需的等待時間,因此,網(wǎng)關(guān)可以更及時地進行有序報文的傳輸,即提高有序報文的傳輸效率。
1.一種報文轉(zhuǎn)發(fā)方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,一個有序報文的元信息作為隊列的一個元素,且最早寫入隊列的元信息位于隊頂;
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述若任一報文的元信息是最早寫入所述更新后隊列的元信息,則轉(zhuǎn)發(fā)所述處理器對所述任一報文的處理結(jié)果至報文接收方,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
10.一種網(wǎng)卡,其特征在于,包括:i/o系統(tǒng)和報文收發(fā)系統(tǒng);
11.根據(jù)權(quán)利要求10所述的網(wǎng)卡,其特征在于,所述i/o系統(tǒng)包括:i/o控制器和丟包處理模塊;
12.權(quán)利要求11所述的網(wǎng)卡,其特征在于,所述i/o系統(tǒng)包括第一緩存;
13.根據(jù)權(quán)利要求10所述的網(wǎng)卡,其特征在于,所述報文收發(fā)系統(tǒng)包括報文收發(fā)模塊,用于接收所述報文發(fā)送方發(fā)送的待處理報文;若所述待處理報文的元信息包含有序標識,則確定所述待處理報文為所述原始有序報文。
14.根據(jù)權(quán)利要求13所述的網(wǎng)卡,其特征在于,所述報文收發(fā)系統(tǒng)還包括:隊列管理模塊;
15.根據(jù)權(quán)利要求14所述的網(wǎng)卡,其特征在于,所述i/o系統(tǒng)包括:元信息回收模塊,用于將所述待丟棄報文的元信息發(fā)送至所述隊列管理模塊;
16.根據(jù)權(quán)利要求14所述的網(wǎng)卡,其特征在于,所述報文收發(fā)系統(tǒng)包括:超時處理模塊,用于獲取所述任一報文的處理結(jié)果的接收時間戳,以及所述更新后隊列中所述任一報文的發(fā)送時間戳;
17.根據(jù)權(quán)利要求16所述的網(wǎng)卡,其特征在于,所述超時處理模塊,用于響應(yīng)于檢測周期的到達,獲取所述任一報文的發(fā)送時間戳,以及所述網(wǎng)關(guān)對應(yīng)的系統(tǒng)時間戳;
18.根據(jù)權(quán)利要求10所述的網(wǎng)卡,其特征在于,所述報文收發(fā)系統(tǒng)包括第二緩存;
19.一種網(wǎng)關(guān),其特征在于,包括網(wǎng)卡和處理器;
20.根據(jù)權(quán)利要求19所述的網(wǎng)關(guān),其特征在于,所述處理器包括內(nèi)核和存儲系統(tǒng),所述網(wǎng)卡包括緩存;
21.一種非暫時性機器可讀存儲介質(zhì),其特征在于,所述非暫時性機器可讀存儲介質(zhì)上存儲有可執(zhí)行代碼,當所述可執(zhí)行代碼被電子設(shè)備的處理器執(zhí)行時,使所述處理器執(zhí)行如權(quán)利要求1至9中任一項所述的報文轉(zhuǎn)發(fā)方法。
22.一種計算機程序產(chǎn)品,其特征在于,所述計算機程序產(chǎn)品包括計算機程序或指令,致使所述計算機程序或指令能夠?qū)崿F(xiàn)權(quán)利要求1至9中任一項所述的報文轉(zhuǎn)發(fā)方法中的步驟。