System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及通信,特別涉及一種數據報文的丟包觀測方法、裝置、設備及存儲介質。
技術介紹
1、udp(userdatagram?protocol,用戶數據報協議)技術因其具有的實時性和可靠性被大量應用于局域網環境。但是,但由于udp協議本身是種不可靠協議,即它不會去檢測是否建立連接,以及cpu緩存區是否夠用,所以存在不可避免的丟包現象。目前對于通過udp協議傳輸的數據文件的丟包觀測方法普遍是通過tcpdump等網絡抓包工具獲取所有udp網絡報文并生成pcap文件,然后用wireshark工具進行手動分析。此方法需要從內核傳輸大量的數據報文并保存到文件,對系統性能影響較大。
2、因而現有技術還有待改進和提高。
技術實現思路
1、本申請要解決的技術問題在于,針對現有技術的不足,提供一種數據報文的丟包觀測方法、裝置、設備及存儲介質。
2、為了解決上述技術問題,本申請第一方面提供了一種數據報文的丟包觀測方法,其中,所述的數據報文的丟包觀測方法具體包括:
3、每當接收到第一數據報文時,將第一數據報文的報文指針存入預設的排序窗口,并檢測預設的排序窗口中是否存在符合閑置位條件的閑置位,其中,所述閑置位條件為未存入報文指針且位于第二數據報文對應的窗口位置之前,第二數據報文為所述排序窗口中位于最后的報文指針對應的數據報文;
4、當存在閑置位時,讀取所述閑置位的閑置時長;
5、若所述閑置時長達到預設時長時,則判定所述閑置位對應的數據報文丟包,并將
6、所述的數據報文的丟包觀測方法,其中,所述將第一數據報文的報文指針存入預設的排序窗口具體包括:
7、讀取所述第一數據報文的報文指針,以及所述排序窗口中位于第一位的目標窗口位置的報文序號;
8、根據所述第一數據報文的報文序號和所述目標窗口位置的報文序號,判斷所述排序窗口是否存在用于存入所述第一數據報文的第一窗口位置;
9、當存在第一窗口位置時,將所述報文指針存入預設的排序窗口;
10、當未存在第一窗口位置時,滑動排序窗口直至所述排序窗口中存入第一窗口位置,其中,所述排序窗口的滑動過程為:
11、按照從前向后順序從所述排序窗口中選取連續報文指針序列,將所述連續報文指針序列轉入預設的存儲隊列,以及將目標窗口位置移動至所述連續報文指針序列中的最后報文指針的后一窗口位置。
12、所述的數據報文的丟包觀測方法,其中,所述按照從前向后順序從排序窗口中選取連續報文指針序列具體包括:
13、讀取所述排序窗口中位于最前的第三數據報文對應的第二窗口位置;
14、當所述第二窗口位置為目標窗口位置時,以所述第二窗口位置對應的第三數據報文為起始數據報文,按照從前向后順序從排序窗口中選取連續報文指針序列;
15、當所述第二窗口位置不為目標窗口位置時,檢測所述第二窗口位置之前的各第三窗口位置是否為數據報文丟失位,在各第三窗口位置均為數據報文丟失位時,以所述第二窗口位置對應的第三數據報文為起始數據報文,按照從前向后順序從排序窗口中選取連續報文指針序列,在存在第三窗口不為數據報文丟失位時,控制將第一數據報文的報文指針存入預設的排序窗口的存入操作處于等待狀態,直至各第三窗口位置均為數據報文丟失位或者接收到不為數據報文丟失位的第三窗口位置存入報文指針。
16、所述的數據報文的丟包觀測方法,其中,所述以所述第二窗口位置對應的第三數據報文為起始數據報文,按照從前向后順序從排序窗口中選取連續報文指針序列具體包括:
17、以所述第二窗口位置對應的第三數據報文為起始數據報文,按照從前向后順序從排序窗口中選取子連續報文指針序列,并讀取排序窗口中距離所述子連續報文指針序列中位于最后的第四數據報文最近的第五數據報文;
18、讀取第四數據報文和第五數據報文間的各窗口位置的窗口位置狀態;
19、當讀取到的所有窗口位置狀態均為數據報文丟失位時,將第五數據報文作為起始數據報文,并執行按照從前向后順序從排序窗口中選取子連續報文指針序列,直至讀取到的所有窗口位置狀態中存在非數據報文丟失位;
20、將選取的所有子連續報文指針序列構成的報文序列作為轉入預設的存儲隊列的連續報文指針序列。
21、所述的數據報文的丟包觀測方法,其中,所述將第一數據報文的報文指針存入預設的排序窗口之后,所述方法還包括:
22、讀取所述排序窗口中符合閑置位條件的閑置位,并獲取讀各閑置位配置的閑置計時器;
23、對于獲取到閑置計時器的閑置位,將閑置計時器的計數加1;
24、對于未獲取到閑置計時器的閑置位,為所述閑置位設置閑置計時器,并將閑置計時器的計數設置為1。
25、所述的數據報文的丟包觀測方法,其中,所述當存在閑置位時,讀取所述閑置位的閑置時長具體包括:
26、當存在閑置位時,讀取所述閑置位的閑置計時器的計數,并將讀取到的計數作為閑置位的閑置時長。
27、所述的數據報文的丟包觀測方法,其中,所述將第一數據報文的報文指針存入預設的排序窗口之后,所述方法還包括:
28、檢查所述第一數據報文對應的窗口位置是否配置有閑置計時器;
29、當配置有閑置計時器時,將所述閑置計時器去除。
30、本申請第二方面提供了一種數據報文的丟包觀測裝置,其中,所述的數據報文的丟包觀測裝置具體包括:
31、檢測模塊,用于每當接收到第一數據報文時,將第一數據報文的報文指針存入預設的排序窗口,并檢測預設的排序窗口中是否存在符合閑置位條件的閑置位,其中,所述閑置位條件為未存入報文指針且位于第二數據報文對應的窗口位置之前,第二數據報文為所述排序窗口中位于最后的報文指針對應的數據報文;
32、讀取模塊,用于當存在閑置位時,讀取所述閑置位的閑置時長;
33、判定模塊,用于當所述閑置時長達到預設時長時,判定所述閑置位對應的數據報文丟包,并將所述閑置位標記為數據報文丟失位。
34、本申請第三方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執行,以實現如上任一所述的數據報文的丟包觀測方法中的步驟。
35、本申請第四方面提供了一種終端設備,其包括:處理器和存儲器;
36、所述存儲器上存儲有可被所述處理器執行的計算機可讀程序;
37、所述處理器執行所述計算機可讀程序時實現如上任一所述的數據報文的丟包觀測方法中的步驟。
38、有益效果:與現有技術相比,本申請提供了一種數據報文的丟包觀測方法、裝置、設備及存儲介質,方法包括每當接收到第一數據報文,將第一數據報文的報文指針存入預設的排序窗口,并檢測所述排序窗口中是否存在符合閑置位條件的閑置位;當存在閑置位時,讀取所述閑置位的閑置時長;當所本文檔來自技高網...
【技術保護點】
1.一種數據報文的丟包觀測方法,其特征在于,所述的數據報文的丟包觀測方法具體包括:
2.根據權利要求1所述的數據報文的丟包觀測方法,其特征在于,所述將第一數據報文的報文指針存入預設的排序窗口具體包括:
3.根據權利要求2所述的數據報文的丟包觀測方法,其特征在于,所述按照從前向后順序從所述排序窗口中選取連續報文指針序列具體包括:
4.根據權利要求3所述的數據報文的丟包觀測方法,其特征在于,所述以所述第二窗口位置對應的第三數據報文為起始數據報文,按照從前向后順序從排序窗口中選取連續報文指針序列具體包括:
5.根據權利要求1所述的數據報文的丟包觀測方法,其特征在于,所述將第一數據報文的報文指針存入預設的排序窗口之后,所述方法還包括:
6.根據權利要求5所述的數據報文的丟包觀測方法,其特征在于,所述當存在閑置位時,讀取所述閑置位的閑置時長具體包括:
7.根據權利要求5所述的數據報文的丟包觀測方法,其特征在于,所述將第一數據報文的報文指針存入預設的排序窗口之后,所述方法還包括:
8.一種數據報文的丟包觀測裝
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執行,以實現如權利要求1-7任意一項所述的數據報文的丟包觀測方法中的步驟。
10.一種終端設備,其特征在于,包括:處理器和存儲器;
...【技術特征摘要】
1.一種數據報文的丟包觀測方法,其特征在于,所述的數據報文的丟包觀測方法具體包括:
2.根據權利要求1所述的數據報文的丟包觀測方法,其特征在于,所述將第一數據報文的報文指針存入預設的排序窗口具體包括:
3.根據權利要求2所述的數據報文的丟包觀測方法,其特征在于,所述按照從前向后順序從所述排序窗口中選取連續報文指針序列具體包括:
4.根據權利要求3所述的數據報文的丟包觀測方法,其特征在于,所述以所述第二窗口位置對應的第三數據報文為起始數據報文,按照從前向后順序從排序窗口中選取連續報文指針序列具體包括:
5.根據權利要求1所述的數據報文的丟包觀測方法,其特征在于,所述將第一數據報文的報文指針存入預設的排序窗口之后,...
【專利技術屬性】
技術研發人員:劉江,
申請(專利權)人:柏科數據技術深圳股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。