日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

丟包統(tǒng)計(jì)的方法和網(wǎng)絡(luò)設(shè)備與流程

文檔序號(hào):11147721閱讀:1239來源:國知局
丟包統(tǒng)計(jì)的方法和網(wǎng)絡(luò)設(shè)備與制造工藝

本發(fā)明涉及通信領(lǐng)域,并且更具體的,涉及通信領(lǐng)域中丟包統(tǒng)計(jì)的方法和網(wǎng)絡(luò)設(shè)備。



背景技術(shù):

國際電信聯(lián)盟遠(yuǎn)程通信標(biāo)準(zhǔn)化組織(Telecommunication Standardization Sector of ITU,ITU-T)Y.1731協(xié)議中丟包檢測(cè)有兩種統(tǒng)計(jì)模式:雙端丟包統(tǒng)計(jì)(dual-ended lost-measure)和單端丟包統(tǒng)計(jì)(single-ended lost-measure)。雙端丟包統(tǒng)計(jì)指兩端同時(shí)發(fā)送連通性檢查消息(Continuity Check Message,CCM)報(bào)文,該CCM報(bào)文攜帶網(wǎng)絡(luò)設(shè)備發(fā)送的報(bào)文數(shù)量和接收的報(bào)文數(shù)量。Y.1731協(xié)議中網(wǎng)絡(luò)設(shè)備可以同時(shí)在發(fā)送端和接收端進(jìn)行丟包統(tǒng)計(jì);單端丟包統(tǒng)計(jì)指源端發(fā)送丟包統(tǒng)計(jì)消息(Loss Measurement Message,LMM)報(bào)文給目的端,目的端回應(yīng)丟包統(tǒng)計(jì)回應(yīng)(Loss Measurement Reply,LMR)報(bào)文,目的端到報(bào)文后根據(jù)報(bào)文中攜帶的流量計(jì)數(shù)進(jìn)行計(jì)算。

ITU-T Y1731協(xié)議的丟包統(tǒng)計(jì)算法繼承于傳送網(wǎng)的丟包統(tǒng)計(jì)標(biāo)準(zhǔn),而傳送網(wǎng)的報(bào)文是嚴(yán)格保序的,比如同步數(shù)字體系(Synchronous Digital Hierarchy,SDH)等網(wǎng)絡(luò),因此丟包算法不會(huì)出問題。但是,當(dāng)將該丟包統(tǒng)計(jì)方法應(yīng)用到工業(yè)應(yīng)用層協(xié)議(Ethernet/IP)中時(shí),由于服務(wù)質(zhì)量(Quality of Service,QoS),等價(jià)路由(Equal-Cost Multipath Routing,ECMP)鏈路等影響,導(dǎo)致報(bào)文不能嚴(yán)格保序,此時(shí)根據(jù)Y.1731協(xié)議的丟包統(tǒng)計(jì)結(jié)果不正確,不能正確的進(jìn)行丟包統(tǒng)計(jì)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了一種丟包統(tǒng)計(jì)的方法和網(wǎng)絡(luò)設(shè)備,能夠正確的對(duì)丟包結(jié)果進(jìn)行統(tǒng)計(jì)。

第一方面,提供了一種丟包統(tǒng)計(jì)的方法,包括:獲取第一統(tǒng)計(jì)文件中的第一負(fù)數(shù);確定第一數(shù)據(jù)窗,該第一數(shù)據(jù)窗中包括該第一負(fù)數(shù)和該第一統(tǒng)計(jì) 文件中的多個(gè)數(shù)據(jù);當(dāng)該第一數(shù)據(jù)窗中存在S個(gè)正數(shù),該第一負(fù)數(shù)與該S個(gè)正數(shù)之和大于或等于零,且該第一負(fù)數(shù)與該S個(gè)正數(shù)中的S-1個(gè)正數(shù)之和小于零時(shí),依次修正該S個(gè)正數(shù)和該第一負(fù)數(shù),得到修正后的第一統(tǒng)計(jì)文件,其中S大于或等于1。

上述修正進(jìn)行S次,每次修正包括修正S個(gè)正數(shù)中的一個(gè)正數(shù)和該第一負(fù)數(shù),對(duì)該第一負(fù)數(shù)修正了S次。

可選地,該S個(gè)正數(shù)可以是第一數(shù)據(jù)窗中與第一負(fù)數(shù)距離最近的S個(gè)正數(shù)。

可選地,該S個(gè)正數(shù)可以包括第一數(shù)據(jù)窗中位于第一負(fù)數(shù)之前或者之后的并且與第一負(fù)數(shù)距離最近的S個(gè)正數(shù)。

可選地,該S個(gè)正數(shù)可以包括第一數(shù)據(jù)窗中位于第一負(fù)數(shù)之前的N個(gè)正數(shù),以及第一數(shù)據(jù)窗中位于第一負(fù)數(shù)之后的且與第一負(fù)數(shù)距離最近的S-N個(gè)正數(shù)。

在該第一方面提供的丟包統(tǒng)計(jì)的方法中,應(yīng)注意,該第一數(shù)據(jù)窗中可以包括S+L個(gè)正數(shù),但是修正時(shí)只對(duì)上述S個(gè)正數(shù)進(jìn)行。還應(yīng)注意,該S-1個(gè)正數(shù)可以為該S個(gè)正數(shù)中的任意S-1個(gè),也可以為該S個(gè)正數(shù)中距離該第一正數(shù)最近的S-1個(gè)正數(shù)。例如,當(dāng)S=1時(shí),該第一數(shù)據(jù)窗中的1個(gè)正數(shù)與該第一負(fù)數(shù)距離最近。

結(jié)合第一方面,在第一方面的第一種實(shí)現(xiàn)方式中,該S個(gè)正數(shù)位于該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之前,該依次修正該S個(gè)正數(shù)和該第一負(fù)數(shù),包括:進(jìn)行S次修正,其中,該S次修正中的第1次修正為將該S個(gè)正數(shù)中離該第一負(fù)數(shù)最近的正數(shù)修正為0,將該第一負(fù)數(shù)修正為該第一負(fù)數(shù)與該離該第一負(fù)數(shù)最近的正數(shù)之和,該S次修正中的第2次修正至第S-1次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S次修正中的第S次修正包括將該S-1次修正后的負(fù)數(shù)修正為零,將該S個(gè)正數(shù)中離該第一負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M1,M1為該離該第一負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-1次修正后的負(fù)數(shù)之和。

在上述第一方面的第一種實(shí)現(xiàn)方式中,當(dāng)S=1時(shí),上述實(shí)現(xiàn)方式中只需要進(jìn)行一次修正,即將該第一負(fù)數(shù)修正為0,將該1個(gè)正數(shù)修正為該1個(gè)正數(shù)與該第一負(fù)數(shù)之和。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第二種實(shí)現(xiàn)方式中,當(dāng)該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之前不存在正數(shù)時(shí),則該S個(gè)正數(shù)位于該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之后,該依次修正該S個(gè)正數(shù)和該第一負(fù)數(shù),包括:進(jìn)行S次修正,其中,該S次修正中的第1次修正為將該S個(gè)正數(shù)中離該第一負(fù)數(shù)最近的正數(shù)修正為0,將該第一負(fù)數(shù)修正為該第一負(fù)數(shù)與該離該第一負(fù)數(shù)最近的正數(shù)之和,該S次修正中的第2次修正至第S-1次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S次修正中的第S次修正包括將該S-1次修正后的負(fù)數(shù)修正為零,將該S個(gè)正數(shù)中離該第一負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M2,M2為該離該第一負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-1次修正后的負(fù)數(shù)之和。

在上述第一方面的第二種實(shí)現(xiàn)方式中,當(dāng)S=1時(shí),上述實(shí)現(xiàn)方式中只需要進(jìn)行一次修正,即將該第一負(fù)數(shù)修正為0,將該1個(gè)正數(shù)修正為該1個(gè)正數(shù)與該第一負(fù)數(shù)之和。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第三種實(shí)現(xiàn)方式中,該S個(gè)正數(shù)中的N個(gè)位于該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之前,S-N個(gè)位于該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之后,N為小于S的正整數(shù),該依次修正該S個(gè)正數(shù)和該第一負(fù)數(shù),包括:對(duì)該N個(gè)正數(shù)和該第一負(fù)數(shù)進(jìn)行N次修正,該N次修正中的第1次修正為將該N個(gè)正數(shù)中離該第一負(fù)數(shù)最近的正數(shù)修正為0,將該第一負(fù)數(shù)修正為該第一負(fù)數(shù)與該離該第一負(fù)數(shù)最近的正數(shù)之和,該N次修正中的第2次修正至第N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該N次修正后該第一負(fù)數(shù)修正為第二負(fù)數(shù);對(duì)該S個(gè)正數(shù)中除該N個(gè)正數(shù)之外的S-N個(gè)正數(shù)進(jìn)行S-N次修正,該S-N次修正中的第1次修正為將該S-N個(gè)正數(shù)中離該第二負(fù)數(shù)最近的正數(shù)修正為0,將該第二負(fù)數(shù)修正為該第二負(fù)數(shù)與該離該第二負(fù)數(shù)最近的正數(shù)之和,該S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S-N次修正中的第S-N次修正包括將該S-N-1次修正后的負(fù)數(shù)修正為零,將該S-N個(gè)正數(shù)中離該第二負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M3,M3為該離 該第二負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-N-1次修正后的負(fù)數(shù)之和。

應(yīng)注意,該第一數(shù)據(jù)窗之前的正數(shù)有且僅有N個(gè),并且該N個(gè)正數(shù)與該第一負(fù)數(shù)之和小于零,在該第一數(shù)據(jù)窗之后的部分存在該的S-N個(gè)正數(shù)。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第四種實(shí)現(xiàn)方式中,該確定第一數(shù)據(jù)窗,包括:根據(jù)預(yù)設(shè)值確定該第一數(shù)據(jù)窗。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第五種實(shí)現(xiàn)方式中,該確定第一數(shù)據(jù)窗,包括:根據(jù)預(yù)設(shè)值確定第二數(shù)據(jù)窗,該第二數(shù)據(jù)窗中包括該第一負(fù)數(shù)和該第一統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù);該第二數(shù)據(jù)窗中不存在正數(shù)時(shí),將該第二數(shù)據(jù)窗擴(kuò)大為該第一數(shù)據(jù)窗。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第六種實(shí)現(xiàn)方式中,該第一負(fù)數(shù)位于該第二數(shù)據(jù)窗的中心。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第七種實(shí)現(xiàn)方式中,在該獲取第一統(tǒng)計(jì)文件中的第一負(fù)數(shù)之前,還包括:獲取原始統(tǒng)計(jì)文件中的第三負(fù)數(shù);根據(jù)預(yù)設(shè)值確定第三數(shù)據(jù)窗,該第三數(shù)據(jù)窗中包括該第三負(fù)數(shù)和該原始統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù),且該第三數(shù)據(jù)窗中的所有正數(shù)與該第三負(fù)數(shù)之和等于該第一負(fù)數(shù);將該第三負(fù)數(shù)修正為該第一負(fù)數(shù),并將該第三數(shù)據(jù)窗中的每一個(gè)正數(shù)修正為零;將該修正后的原始統(tǒng)計(jì)文件作為該第一統(tǒng)計(jì)文件,所述確定單元確定第一數(shù)據(jù)窗具體為:將所述第三數(shù)據(jù)窗擴(kuò)大為所述第一數(shù)據(jù)窗。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第八種實(shí)現(xiàn)方式中,該第三負(fù)數(shù)位于該第三數(shù)據(jù)窗的中心。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第九種實(shí)現(xiàn)方式中,該第一負(fù)數(shù)位于該第一數(shù)據(jù)窗的中心。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第十種實(shí)現(xiàn)方式中,該第一數(shù)據(jù)窗中還包括第二統(tǒng)計(jì)文件中的數(shù)據(jù),該第二統(tǒng)計(jì)文件為該第一文件相鄰的下一個(gè)統(tǒng)計(jì)文件。

結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第十一種實(shí)現(xiàn)方式中,還包括將該第一統(tǒng)計(jì)文件替換為該修正后的第一統(tǒng)計(jì)文件。

第二方面,提供了一種丟包統(tǒng)計(jì)的裝置,該裝置例如為網(wǎng)絡(luò)設(shè)備,該裝置包括存儲(chǔ)器、處理器、收發(fā)器和總線系統(tǒng),該存儲(chǔ)器用于存儲(chǔ)指令,該處理器用于執(zhí)行該存儲(chǔ)器存儲(chǔ)的指令,當(dāng)該處理器執(zhí)行該存儲(chǔ)器中存儲(chǔ)的指令 時(shí),該處理器具體用于執(zhí)行第一方面的方法,或執(zhí)行第一方面中的任意一種實(shí)行方式。

第三方面,提供了一種丟包統(tǒng)計(jì)的網(wǎng)絡(luò)設(shè)備,該網(wǎng)絡(luò)設(shè)備包括執(zhí)行該第一方面中的方法或第一方面的任意一種實(shí)行方式的各模塊。

本發(fā)明實(shí)施例的丟包統(tǒng)計(jì)的方法和網(wǎng)絡(luò)設(shè)備,通過獲取統(tǒng)計(jì)文件中的負(fù)數(shù),確定包含該負(fù)數(shù)和該統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù)的數(shù)據(jù)窗,當(dāng)該數(shù)據(jù)窗中存在至少一個(gè)正數(shù),且該負(fù)數(shù)與該至少一個(gè)正數(shù)之和大于或等于零時(shí),修正該至少一個(gè)正數(shù)和該負(fù)數(shù),得到修正后的統(tǒng)計(jì)文件。本發(fā)明實(shí)施例通過修正該統(tǒng)計(jì)文件,能夠正確的進(jìn)行丟包統(tǒng)計(jì)。當(dāng)該修正后的統(tǒng)計(jì)文件中不存在正數(shù)和負(fù)數(shù)時(shí),表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中沒有報(bào)文丟失。當(dāng)該修正后的統(tǒng)計(jì)文件中只存在正數(shù)時(shí),該正數(shù)表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中的報(bào)文丟失的數(shù)量。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是根據(jù)本發(fā)明實(shí)施例的單端丟包統(tǒng)計(jì)示意圖。

圖2是根據(jù)本發(fā)明實(shí)施例的單端丟包統(tǒng)計(jì)中報(bào)文亂序的示意圖。

圖3是根據(jù)本發(fā)明實(shí)施例的丟包統(tǒng)計(jì)的方法的一個(gè)具體實(shí)施例的流程圖。

圖4是根據(jù)本發(fā)明實(shí)施例的另一個(gè)丟包統(tǒng)計(jì)的方法的示意性流程圖。

圖5是根據(jù)本發(fā)明實(shí)施例的丟包統(tǒng)計(jì)的網(wǎng)絡(luò)設(shè)備的框圖。

圖6是根據(jù)本發(fā)明實(shí)施例的另一個(gè)丟包統(tǒng)計(jì)的網(wǎng)絡(luò)設(shè)備的框圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。

應(yīng)理解,本發(fā)明實(shí)施例的技術(shù)方案可以應(yīng)用于各種數(shù)據(jù)包或報(bào)文不能嚴(yán) 格保序的傳輸網(wǎng)絡(luò)中,該傳輸網(wǎng)絡(luò)應(yīng)用的協(xié)議例如為Y.1731協(xié)議或互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)。為了描述方便,本發(fā)明僅僅以Y.1731協(xié)議的丟包統(tǒng)計(jì)的方法為例進(jìn)行說明,但本發(fā)明并不限于此。

圖1是Y.1731協(xié)議的單端丟包統(tǒng)計(jì)示意圖。如圖1所示,路由器A為源端,路由器B為目的端。路由器A的維護(hù)終結(jié)點(diǎn)(Maintenance association End Point,MEP)為MEP1,該MEP1發(fā)送帶有本端發(fā)送計(jì)數(shù)TxFCf的LMM報(bào)文給路由器B,TxFCf為MEP1在發(fā)送該LMM報(bào)文的時(shí)刻發(fā)送的報(bào)文的總數(shù)量。路由器B的維護(hù)終結(jié)點(diǎn)為MEP2,MEP2收到MEP1發(fā)送的LMM報(bào)文后,在該LMM報(bào)文中加上接收計(jì)數(shù)RxFCf,RxFCf為MEP2在接收到該LMM報(bào)文的時(shí)刻接收的報(bào)文的總數(shù)量,然后將LMM報(bào)文格式改為LMR,發(fā)送出去時(shí)在報(bào)文中加上發(fā)送計(jì)數(shù)TxFCb,TxFCb為MEP2在發(fā)送該LMR報(bào)文的時(shí)刻發(fā)送的報(bào)文的總數(shù)量。MEP1收到路由器B返回的LMR報(bào)文后,記錄下當(dāng)前的接收計(jì)數(shù)RxFCl,RxFCl為MEP1接收該LMR報(bào)文的時(shí)刻接收的報(bào)文的總數(shù)量。

設(shè)路由器A的MEP1在tc時(shí)刻接收到的LMR報(bào)文中TxFCf數(shù)量為TxFCf[tc],RxFCf數(shù)量為RxFCf[tc],在tp時(shí)刻接收到的LMR報(bào)文中TxFCf數(shù)量為TxFCf[tp],RxFCf數(shù)量為RxFCf[tp]。在路由器A發(fā)送報(bào)文至路由器B時(shí),路由器A為近端,路由器B為遠(yuǎn)端。與出口報(bào)文相關(guān)聯(lián)的報(bào)文丟失為遠(yuǎn)端報(bào)文丟失,計(jì)算公式為:

|TxFCf[tc]-TxFCf[tp]|-|RxFCf[tc]-RxFCf[tp]| (1)

公式(1)中|TxFCf[tc]-TxFCf[tp]|表示在tc至tp時(shí)間間隔中路由器A的MEP1發(fā)送的報(bào)文的數(shù)量,|RxFCf[tc]-RxFCf[tp]|表示tc至tp時(shí)間間隔中路由器B的MEP2接收的報(bào)文的數(shù)量。因此,公式(1)表示tc至tp時(shí)間間隔中路由器A向路由器B發(fā)送的報(bào)文中丟失的報(bào)文的數(shù)量。

路由器A的MEP1在tc時(shí)刻接收到的LMR報(bào)文中TxFCb數(shù)量為TxFCb[tc],記錄下的RxFCl數(shù)量為RxFCl[tc],在tp時(shí)刻接收到的LMR報(bào)文中TxFCb數(shù)量為TxFCb[tp],記錄下的RxFCl數(shù)量為RxFCl[tp]。與入口報(bào)文相關(guān)聯(lián)的報(bào)文丟失為近端報(bào)文丟失,計(jì)算公式為:

|TxFCb[tc]-TxFCb[tp]|-|RxFCl[tc]-RxFCl[tp]| (2)

公式(2)中|TxFCb[tc]-TxFCb[tp]|表示在tc至tp時(shí)間間隔中路由器B的MEP2發(fā)送的報(bào)文的數(shù)量,|RxFCl[tc]-RxFCl[tp]|表示tc至tp時(shí)間間隔中路由 器A的MEP1接收的報(bào)文的數(shù)量。因此,公式(2)表示tc至tp時(shí)間間隔中路由器B向路由器A發(fā)送的報(bào)文中丟失的報(bào)文的數(shù)量。

當(dāng)丟包統(tǒng)計(jì)對(duì)象是虛擬專用局域網(wǎng)服務(wù)(Virtual Private LAN Service,VPLS)或虛擬租用專線(Virtual Leased Line,VLL)的一條偽線(Pseudo Wire,PW),那么當(dāng)PW中承載多種服務(wù)等級(jí)(Class of Service,CoS)業(yè)務(wù)流時(shí),Y.1731協(xié)議中的LMM報(bào)文任意選擇一種CoS值都會(huì)導(dǎo)致報(bào)文亂序,最終導(dǎo)致統(tǒng)計(jì)結(jié)果不準(zhǔn)確。

例如,如圖2所示,假設(shè)LMM報(bào)文的CoS優(yōu)先級(jí)比業(yè)務(wù)報(bào)文高,路由器A統(tǒng)計(jì)的時(shí)候,MEP1在tp時(shí)刻發(fā)送三個(gè)業(yè)務(wù)報(bào)文,然后緊跟業(yè)務(wù)報(bào)文之后的tc時(shí)刻發(fā)送LMM報(bào)文。LMM報(bào)文中的TxFCf[tc]=TxFCf[tp]+3。報(bào)文在中間鏈路上傳遞的時(shí)候,由于QoS調(diào)度,導(dǎo)致LMM報(bào)文比業(yè)務(wù)報(bào)文先到達(dá),例如提前一個(gè)業(yè)務(wù)報(bào)文到達(dá),這樣RxFCf[tc]=RxFCf[tp]+2。這樣最終路由器A根據(jù)LMR計(jì)算遠(yuǎn)端報(bào)文丟失的時(shí)候,可以得到:

|TxFCf[tc]-TxFCf[tp]|-|RxFCf[tc]-RxFCf[tp]|

=3-2

=1,

計(jì)算結(jié)果表明中間鏈路上傳遞的時(shí)候丟失了1個(gè)報(bào)文,但是實(shí)際上鏈路并沒有丟失報(bào)文,該業(yè)務(wù)報(bào)文只是比該LMM報(bào)文晚到達(dá),而導(dǎo)致統(tǒng)計(jì)結(jié)果不準(zhǔn)確。

如果假設(shè)LMM報(bào)文的CoS優(yōu)先級(jí)比較低,則會(huì)導(dǎo)致LMM報(bào)文延遲到達(dá)。路由器A統(tǒng)計(jì)的時(shí)候,MEP1在tp時(shí)刻發(fā)送LMM報(bào)文,然后緊跟該LMM報(bào)文之后的tc時(shí)刻發(fā)送三個(gè)業(yè)務(wù)報(bào)文。LMM報(bào)文中的TxFCf[tc]=TxFCf[tp]+3。報(bào)文在中間鏈路上傳遞的時(shí)候,由于QoS調(diào)度,導(dǎo)致LMM報(bào)文比業(yè)務(wù)報(bào)文推遲到達(dá),一個(gè)業(yè)務(wù)報(bào)文在該LMM報(bào)文之前到達(dá),這樣RxFCf[tc]=RxFCf[tp]+4。這樣最終路由器A根據(jù)LMR報(bào)文計(jì)算遠(yuǎn)端報(bào)文丟失的時(shí)候,可以得到:

|TxFCf[tc]-TxFCf[tp]|-|RxFCf[tc]-RxFCf[tp]|

=3-4

=-1,

計(jì)算出來數(shù)據(jù)為負(fù)數(shù),表明接收?qǐng)?bào)文的計(jì)數(shù)反而增大,按照Y.1731的算法,會(huì)認(rèn)為計(jì)數(shù)翻轉(zhuǎn),最后做補(bǔ)償算法后出現(xiàn)一個(gè)很大的丟包值,這個(gè)也 是有問題的。

因此,當(dāng)報(bào)文不能嚴(yán)格按照發(fā)送時(shí)的順序到達(dá)接收端時(shí),會(huì)導(dǎo)致報(bào)文丟失統(tǒng)計(jì)結(jié)果不正確。例如,QoS不同導(dǎo)致報(bào)文優(yōu)先級(jí)不同,或者ECMP鏈路傳輸時(shí),從發(fā)送端到接收端的多條鏈路的狀況不同,導(dǎo)致部分報(bào)文提前或者推遲到達(dá)接收端,此時(shí),統(tǒng)計(jì)的數(shù)據(jù)會(huì)出現(xiàn)正數(shù)和負(fù)數(shù),因而不能反映實(shí)際的報(bào)文丟失數(shù)量。此時(shí),可以應(yīng)用本發(fā)明的技術(shù)方案。

圖3為本發(fā)明的一個(gè)實(shí)施例的丟包統(tǒng)計(jì)的方法100的具體流程圖。圖3所示的方法100包括:

S101,獲取統(tǒng)計(jì)文件中的負(fù)數(shù),該負(fù)數(shù)可以為統(tǒng)計(jì)文件中的第一個(gè)負(fù)數(shù),也可以為統(tǒng)計(jì)文件中的任意一個(gè)負(fù)數(shù)。

當(dāng)該負(fù)數(shù)為該統(tǒng)計(jì)文件中第一個(gè)負(fù)數(shù)時(shí),可以對(duì)該統(tǒng)計(jì)文件中的負(fù)數(shù)從左至右或者從前至后依次進(jìn)行查找和修正,并且當(dāng)劃定包含該負(fù)數(shù)的數(shù)據(jù)窗時(shí),可以避免該數(shù)據(jù)窗的范圍過大,這樣可以有效的提高查找效率。

本發(fā)明實(shí)施例中,路由器會(huì)周期性的發(fā)送LMM報(bào)文統(tǒng)計(jì)丟包數(shù)據(jù),該發(fā)送周期可以為100ms、1s或者10s。這樣,在一個(gè)發(fā)送周期內(nèi)可以計(jì)算得到一個(gè)報(bào)文丟失的數(shù)據(jù)。然后按照統(tǒng)計(jì)周期將多個(gè)數(shù)據(jù)生成一個(gè)統(tǒng)計(jì)文件。該統(tǒng)計(jì)周期例如可以為15分鐘,本發(fā)明對(duì)此不作限定。

在本發(fā)明實(shí)施例中,丟包統(tǒng)計(jì)對(duì)象(例如PW)中承載多種的CoS或者采用ECMP鏈路時(shí),根據(jù)Y.1731協(xié)議中計(jì)算獲得的統(tǒng)計(jì)文件中的數(shù)據(jù)會(huì)出現(xiàn)正數(shù)和負(fù)數(shù)。

可理解,統(tǒng)計(jì)文件中出現(xiàn)負(fù)數(shù)說明LMM報(bào)文相對(duì)于業(yè)務(wù)報(bào)文推遲到達(dá)目的端。因此,如果統(tǒng)計(jì)文件中出現(xiàn)了負(fù)數(shù),表明報(bào)文出現(xiàn)了亂序,丟包統(tǒng)計(jì)結(jié)果必定不正確。

S102,劃定數(shù)據(jù)窗,該負(fù)數(shù)位于該數(shù)據(jù)窗中。該數(shù)據(jù)窗中包含該負(fù)數(shù)和多個(gè)S101中的統(tǒng)計(jì)文件中的數(shù)據(jù)。該數(shù)據(jù)窗中的數(shù)據(jù)的個(gè)數(shù)可以為奇數(shù),也可以為偶數(shù),本發(fā)明對(duì)此不作限定。

該數(shù)據(jù)窗中存在S個(gè)正數(shù),該負(fù)數(shù)與該S個(gè)正數(shù)之和大于或等于零,且該負(fù)數(shù)與該S個(gè)正數(shù)中的任意S-1個(gè)正數(shù)之和小于零。

可選的,本發(fā)明實(shí)施例中的修正正數(shù),包括修正數(shù)據(jù)窗中的S個(gè)正數(shù),該S個(gè)正數(shù)可以是數(shù)據(jù)窗中與負(fù)數(shù)距離最近的S個(gè)正數(shù),該S個(gè)正數(shù)可以部分位于該數(shù)據(jù)窗中該負(fù)數(shù)之前,還可以部分位于該數(shù)據(jù)窗中該負(fù)數(shù)之后。

可選的,該S個(gè)正數(shù)還可以包括數(shù)據(jù)窗中位于負(fù)數(shù)之前的并且與負(fù)數(shù)距離最近的S個(gè)正數(shù)。

可選的,該S個(gè)正數(shù)還可以包括數(shù)據(jù)窗中位于負(fù)數(shù)之后的并且與負(fù)數(shù)距離最近的S個(gè)正數(shù)。

可選的,該S個(gè)正數(shù)還可以包括數(shù)據(jù)窗中位于負(fù)數(shù)之前的N個(gè)正數(shù),以及數(shù)據(jù)窗中位于負(fù)數(shù)之后的且與負(fù)數(shù)距離最近的S-N個(gè)正數(shù),此時(shí),該數(shù)據(jù)窗中該負(fù)數(shù)之前有且僅有N個(gè)正數(shù)。

應(yīng)理解,本發(fā)明實(shí)施例中,該數(shù)據(jù)窗中可以包括S+L個(gè)正數(shù),但是修正時(shí)只對(duì)上述S個(gè)正數(shù)進(jìn)行。該S個(gè)正數(shù)可以與該第一數(shù)據(jù)窗中距S101中的確定的負(fù)數(shù)依次鄰近,本發(fā)明對(duì)此不作限定。

本發(fā)明實(shí)施中,可以根據(jù)預(yù)設(shè)值確定數(shù)據(jù)窗,也可以根據(jù)預(yù)設(shè)值自適應(yīng)變化確定數(shù)據(jù)窗,例如多次擴(kuò)大該預(yù)設(shè)值來確定數(shù)據(jù)窗。例如,對(duì)S101中獲取的負(fù)數(shù)第一次劃定數(shù)據(jù)窗時(shí),該數(shù)據(jù)窗可以為預(yù)設(shè)值,當(dāng)對(duì)該負(fù)數(shù)第二次劃定數(shù)據(jù)窗時(shí),該數(shù)據(jù)窗可以為根據(jù)預(yù)設(shè)值擴(kuò)大后的數(shù)據(jù)窗。

本發(fā)明實(shí)施例中,可以根據(jù)發(fā)送LMM報(bào)文的周期,通過設(shè)置命令行的方式配置預(yù)設(shè)值的大小。例如可以配置該預(yù)設(shè)值為3,該預(yù)設(shè)值對(duì)應(yīng)的數(shù)據(jù)窗內(nèi)包含3個(gè)報(bào)文丟失統(tǒng)計(jì)的數(shù)據(jù)。還可以配置預(yù)設(shè)值為4,該預(yù)設(shè)值對(duì)應(yīng)的數(shù)據(jù)窗內(nèi)包含4個(gè)報(bào)文丟失統(tǒng)計(jì)數(shù)據(jù)。

在本發(fā)明實(shí)施例中,可以將該數(shù)據(jù)窗中該負(fù)數(shù)之前的部分稱為前半數(shù)據(jù)窗,將該數(shù)據(jù)窗中該負(fù)數(shù)之后的部分稱為后半數(shù)據(jù)窗。

可選的,本發(fā)明實(shí)施例中,可以以該負(fù)數(shù)為中心,劃定數(shù)據(jù)窗。此時(shí),該數(shù)據(jù)窗中包含的數(shù)據(jù)為奇數(shù)個(gè),并且至少包含3個(gè)統(tǒng)計(jì)的數(shù)據(jù)。當(dāng)以該負(fù)數(shù)為中心劃定數(shù)據(jù)窗時(shí),該前半數(shù)據(jù)窗和該后半數(shù)據(jù)窗包含相同數(shù)據(jù)的統(tǒng)計(jì)數(shù)據(jù)。

可理解,當(dāng)以該負(fù)數(shù)為中心,劃定數(shù)據(jù)窗時(shí),可以在該負(fù)數(shù)的之前和之后的相同的范圍依次查找與該負(fù)數(shù)最鄰近的正數(shù)。這樣,便于更快的將負(fù)數(shù)修正為0,因此可以更快的得到修正后的統(tǒng)計(jì)文件,提高丟包統(tǒng)計(jì)的效率。

S103,在前半數(shù)據(jù)窗查找是否存在正數(shù)。當(dāng)查找到正數(shù)時(shí),下一步執(zhí)行S104,當(dāng)沒有查找到正數(shù)時(shí),下一步執(zhí)行S106。

應(yīng)理解,在S101中確定統(tǒng)計(jì)文件中存在負(fù)數(shù)時(shí),有報(bào)文提前到達(dá)目的端,此時(shí),該負(fù)數(shù)對(duì)應(yīng)的LMM報(bào)文之前或之后的至少一個(gè)LMM報(bào)文肯定 沒有統(tǒng)計(jì)到該提前到達(dá)的報(bào)文,因此該負(fù)數(shù)對(duì)應(yīng)的LMM報(bào)文之前或之后肯定存在至少一個(gè)LMM報(bào)文對(duì)應(yīng)的數(shù)據(jù)為正數(shù)。

在本發(fā)明實(shí)施例中,首先在該數(shù)據(jù)窗中該負(fù)數(shù)之前的部分查找正數(shù),這樣可以先查找到該負(fù)數(shù)之前的最鄰近的正數(shù),進(jìn)而可以優(yōu)先將該統(tǒng)計(jì)文件中前面的正數(shù)進(jìn)行修正。

在S102中,以該負(fù)數(shù)位于該數(shù)據(jù)窗的中心為例,當(dāng)劃定的數(shù)據(jù)窗內(nèi)包含3個(gè)數(shù)據(jù)時(shí),即在S103中在前半數(shù)據(jù)窗中有1個(gè)數(shù)據(jù),判斷該數(shù)據(jù)是否為正數(shù)。當(dāng)確定該數(shù)據(jù)為正數(shù)時(shí),執(zhí)行S104,當(dāng)確定該數(shù)據(jù)不是正數(shù)時(shí),執(zhí)行S106。

又例如,當(dāng)該數(shù)據(jù)窗內(nèi)包含5個(gè)數(shù)據(jù)時(shí),S103中,確定前半數(shù)據(jù)窗中的2個(gè)數(shù)據(jù)中是否存在正數(shù),當(dāng)該2個(gè)數(shù)據(jù)中至少有一個(gè)為正數(shù)時(shí),執(zhí)行S104,當(dāng)該2個(gè)報(bào)文丟失數(shù)據(jù)中沒有正數(shù)時(shí),執(zhí)行S106。

S104,判斷該負(fù)數(shù)和S103中查找到的至少一個(gè)正數(shù)求和后是否小于0。當(dāng)該負(fù)數(shù)和前半數(shù)據(jù)窗中的至少一個(gè)正數(shù)之和小于0時(shí),下一步執(zhí)行S105;當(dāng)該負(fù)數(shù)和該至少一個(gè)正數(shù)的和大于或等于0時(shí),下一步執(zhí)行S110。

S105,修正S104中的負(fù)數(shù)和正數(shù)。將該負(fù)數(shù)修正為該負(fù)數(shù)和該至少一個(gè)正數(shù)的和,將S104中的至少一個(gè)正數(shù)修正為0。這里,該負(fù)數(shù)修正后仍然為負(fù)數(shù),并且修正后的負(fù)數(shù)的絕對(duì)值小于修正前的負(fù)數(shù)。在S105之后,下一步執(zhí)行S106。

應(yīng)注意,當(dāng)S103中確定的正數(shù)有N個(gè),且該N個(gè)正數(shù)與該負(fù)數(shù)的和小于0時(shí),S105對(duì)該N個(gè)正數(shù)和該負(fù)數(shù)進(jìn)行N次修正,該N次修正中的第1次修正為將該N個(gè)正數(shù)中離該負(fù)數(shù)最近的正數(shù)修正為0,將該負(fù)數(shù)修正為該負(fù)數(shù)與該離該負(fù)數(shù)最近的正數(shù)的和,該N次修正中的第2次修正至第N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該N次修正后該負(fù)數(shù)仍然為一個(gè)負(fù)數(shù)。

應(yīng)注意,此時(shí),該數(shù)據(jù)窗的前半部分有且僅有N個(gè)正數(shù),并且該N個(gè)正數(shù)與該負(fù)數(shù)的和小于0。N次修正中的每一次修正為將一個(gè)正數(shù)修正為0,將上一次修正后的負(fù)數(shù)進(jìn)行一次修正。

例如,當(dāng)該N個(gè)正數(shù)為a1,a2…ai…aN時(shí),該負(fù)數(shù)為A,第i次修正時(shí),ai離負(fù)數(shù)最近,則將ai修正為0,將i-1次修正后得到的負(fù)數(shù)Ai-1修正為Ai, Ai為Ai-1與ai的和。經(jīng)過N次修正,將該N個(gè)正數(shù)都修正為0,將該負(fù)數(shù)修正為aN與AN-1的和,AN-1為第N-1次修正后的負(fù)數(shù)。

S106,在后半數(shù)據(jù)窗中判斷是否存在正數(shù)。當(dāng)在后半數(shù)據(jù)窗中查找到正數(shù)時(shí),下一步執(zhí)行S107,當(dāng)查找不到正數(shù)時(shí),下一步執(zhí)行S109。

應(yīng)注意,當(dāng)流程從S103執(zhí)行到S106中時(shí),該負(fù)數(shù)仍然為S101中確定的負(fù)數(shù)。當(dāng)流程從S105執(zhí)行到S106中時(shí),該負(fù)數(shù)為S105中修正后的負(fù)數(shù)。在S106中,該前半數(shù)據(jù)窗中不存在正數(shù)。

可理解,在前半數(shù)據(jù)窗中查找之后,如果修正后的負(fù)數(shù)仍然為負(fù)數(shù),即該負(fù)數(shù)沒有完全抵消時(shí),在該數(shù)據(jù)窗的后半部分查找正數(shù)。這樣可以在該前半數(shù)據(jù)窗和后半數(shù)據(jù)窗依次查找到與該負(fù)數(shù)最鄰近的正數(shù),因此可以更準(zhǔn)確的對(duì)統(tǒng)計(jì)文件進(jìn)行修正,提高丟包統(tǒng)計(jì)的效率。

S107,判斷該S106中的負(fù)數(shù)和至少一個(gè)正數(shù)求和后是否小于0。當(dāng)該負(fù)數(shù)和正數(shù)的和小于0時(shí),下一步執(zhí)行S108,當(dāng)該負(fù)數(shù)和該正數(shù)求和后大于或等于0時(shí),下一步執(zhí)行S110。

S108,修正正數(shù)和負(fù)數(shù)。該負(fù)數(shù)為S106中的負(fù)數(shù),該正數(shù)為S107中查找到的正數(shù)。將S107中查找到的正數(shù)都修正為0,將該負(fù)數(shù)修正為該負(fù)數(shù)和S107中該至少一個(gè)正數(shù)的和。這里,該負(fù)數(shù)修正后仍然為負(fù)數(shù),并且修正后的負(fù)數(shù)的絕對(duì)值小于修正前的負(fù)數(shù)。

應(yīng)注意,當(dāng)S106中確定的正數(shù)有N個(gè),且該N個(gè)正數(shù)和該負(fù)數(shù)進(jìn)行N次修正,該N次修正包括將負(fù)數(shù)之前離該負(fù)數(shù)最近的正數(shù)修正為零,將該負(fù)數(shù)修正為該第二負(fù)數(shù)與該離該第二負(fù)數(shù)最近的正數(shù)的和。

即該N次修正中的第1次修正為將該N個(gè)正數(shù)中離該負(fù)數(shù)最近的正數(shù)修正為0,將該負(fù)數(shù)修正為該負(fù)數(shù)與該離該負(fù)數(shù)最近的正數(shù)的和,該N次修正中的第2次修正至第N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該N次修正后該負(fù)數(shù)仍然為一個(gè)負(fù)數(shù)。

應(yīng)注意,此時(shí),該數(shù)據(jù)窗的后半部分有且僅有N個(gè)正數(shù),并且該N個(gè)正數(shù)與S105中修正后的負(fù)數(shù)的和小于0。N次修正中的每一次修正為將一個(gè)正數(shù)修正為0,將上一次修正后的負(fù)數(shù)進(jìn)行一次修正。

例如,當(dāng)該N個(gè)正數(shù)為a1,a2…ai…aN時(shí),該S105中修正后的負(fù)數(shù)為A, 第i次修正時(shí),ai離負(fù)數(shù)最近,則將ai修正為0,將i-1次修正后得到的負(fù)數(shù)Ai-1修正為Ai,Ai為Ai-1與ai的和。經(jīng)過N次修正,將該N個(gè)正數(shù)都修正為0,將該負(fù)數(shù)修正為aN與AN-1的和,AN-1為第N-1次修正后的負(fù)數(shù)。

S109,擴(kuò)大該數(shù)據(jù)窗。經(jīng)過S103和S106的查找,確定該數(shù)據(jù)窗中沒有正數(shù)時(shí),或者經(jīng)過S105和/或S108的修正,將S102中劃定的數(shù)據(jù)窗的所有正數(shù)都修正為0,并且將S101中獲取的負(fù)數(shù)修正后仍然為負(fù)數(shù)時(shí),需要擴(kuò)大數(shù)據(jù)窗繼續(xù)查找正數(shù)。執(zhí)行完S109之后,下一步執(zhí)行S102。此時(shí),繼續(xù)按照上述流程執(zhí)行本發(fā)明的技術(shù)方案。

例如,執(zhí)行S109后,將數(shù)據(jù)窗tm擴(kuò)大為數(shù)據(jù)窗tm+1。該tm+1中的數(shù)據(jù)的個(gè)數(shù)多于該tm中的數(shù)據(jù)的個(gè)數(shù)。具體的,本發(fā)明實(shí)施例中,可以配置前半數(shù)據(jù)窗的擴(kuò)大的步長為X1,后半數(shù)據(jù)窗的擴(kuò)大的步長為X2,例如X1=10,X2=1。這樣,擴(kuò)大后的數(shù)據(jù)窗tm+1包括擴(kuò)大前的數(shù)據(jù)窗tm、tm之前的10個(gè)數(shù)據(jù)和tm之后的1個(gè)數(shù)據(jù)。該步長X1和X2也可以相同,例如X1=X2=1,本發(fā)明對(duì)此不作限定。

可以理解,本發(fā)明實(shí)施例中,當(dāng)在S102中劃定的數(shù)據(jù)窗tm內(nèi)沒有找到正數(shù),或者將數(shù)據(jù)窗tm內(nèi)的所有正數(shù)都修正為0,修正后的負(fù)數(shù)仍然為負(fù)數(shù)時(shí),擴(kuò)大數(shù)據(jù)窗tm為數(shù)據(jù)窗tm+1,并在擴(kuò)大數(shù)據(jù)窗后,流程進(jìn)行到S102,在數(shù)據(jù)窗tm+1中繼續(xù)查找正數(shù)。

當(dāng)在擴(kuò)大后的數(shù)據(jù)窗tm+1中仍然沒有查找到正數(shù),或者在擴(kuò)大后的數(shù)據(jù)窗tm+1中該修正后的負(fù)數(shù)仍然為一個(gè)負(fù)數(shù)時(shí),繼續(xù)擴(kuò)大數(shù)據(jù)窗為tm+2,直至修正數(shù)據(jù)后的數(shù)據(jù)窗tn中沒有負(fù)數(shù),下一步執(zhí)行S110。應(yīng)理解,在本發(fā)明實(shí)施例中,當(dāng)確定數(shù)據(jù)窗tn時(shí),停止查找正數(shù),tn為本發(fā)明實(shí)施例中數(shù)據(jù)窗的上限。

可選的,在執(zhí)行S109時(shí)的數(shù)據(jù)窗tm中的正數(shù)已經(jīng)被修正為0,因此當(dāng)在擴(kuò)大后的數(shù)據(jù)窗tm+1中查找正數(shù)時(shí),可以只在tm+1中除tm之外的部分查找正數(shù)。這樣能夠避免在修正過的數(shù)據(jù)窗部分重復(fù)查找正數(shù),節(jié)省查找時(shí)間,進(jìn)而可以提高查找效率。

例如,當(dāng)以X1=10,X2=1擴(kuò)大數(shù)據(jù)窗后,在S103中查找正數(shù)時(shí),可以只在負(fù)數(shù)之前的擴(kuò)大的數(shù)據(jù)窗的部分查找正數(shù)。例如,只在tm+1中的tm之前的10個(gè)數(shù)據(jù)中查找是否存在正數(shù)。在S106中查找正數(shù)時(shí),可以只在負(fù)數(shù)之后的擴(kuò)大的數(shù)據(jù)窗的部分查找正數(shù)。例如,只在tm+1中的tm之后的1個(gè)數(shù)據(jù) 總查找是否存在正數(shù)。

可理解,本發(fā)明實(shí)施例中的丟包統(tǒng)計(jì)方法嚴(yán)格依賴該數(shù)據(jù)窗的大小,該數(shù)據(jù)窗設(shè)置的太小時(shí)不能查找到與該負(fù)數(shù)相加大于或等于0的至少一個(gè)正數(shù)。該數(shù)據(jù)窗設(shè)置的太大時(shí),查詢的效率會(huì)比較低。因此,本發(fā)明實(shí)施例中,可以根據(jù)統(tǒng)計(jì)文件的數(shù)據(jù)的特性,設(shè)置不同的數(shù)據(jù)窗初始值和擴(kuò)大步長。例如,如果統(tǒng)計(jì)文件中的正數(shù)和負(fù)數(shù)比較少時(shí),可以設(shè)置較大的初始值和較大的擴(kuò)大步長。如果統(tǒng)計(jì)文件中的正數(shù)和負(fù)數(shù)比較多時(shí),可以設(shè)置較小的初始值和較小的擴(kuò)大步長。

可選的,本發(fā)明實(shí)施例中,該數(shù)據(jù)窗中還可以包括下一個(gè)待修正的統(tǒng)計(jì)文件中的數(shù)據(jù),該下一個(gè)待修正的統(tǒng)計(jì)文件可以為統(tǒng)計(jì)丟包時(shí)在該統(tǒng)計(jì)文件之后生成的統(tǒng)計(jì)文件。

可理解,當(dāng)網(wǎng)絡(luò)設(shè)備統(tǒng)計(jì)丟包數(shù)據(jù)時(shí),統(tǒng)計(jì)的數(shù)據(jù)按照統(tǒng)計(jì)周期生成統(tǒng)計(jì)文件。此時(shí),正數(shù)和負(fù)數(shù)可能會(huì)橫跨兩個(gè)統(tǒng)計(jì)文件,這時(shí)候數(shù)據(jù)窗也需要橫跨到兩個(gè)文件中。

例如,在S102中劃定數(shù)據(jù)窗時(shí),如果該統(tǒng)計(jì)文件中位于該數(shù)據(jù)窗中的數(shù)據(jù)的個(gè)數(shù)少于該數(shù)據(jù)窗中應(yīng)該包含的數(shù)據(jù)的個(gè)數(shù)時(shí),該數(shù)據(jù)窗中可以包括下一個(gè)待修正的統(tǒng)計(jì)文件中的數(shù)據(jù)。

作為一例,當(dāng)該負(fù)數(shù)位于該統(tǒng)計(jì)文件的中心時(shí),如果該統(tǒng)計(jì)文件中位于該負(fù)數(shù)之后的數(shù)據(jù)的個(gè)數(shù)a小于該數(shù)據(jù)窗中位于該負(fù)數(shù)之前的數(shù)據(jù)的個(gè)數(shù)b時(shí),該數(shù)據(jù)窗中還可以包括與該統(tǒng)計(jì)文件相鄰的下一個(gè)統(tǒng)計(jì)文件中的數(shù)據(jù)。該數(shù)據(jù)窗中包括的下一個(gè)相鄰的統(tǒng)計(jì)文件中數(shù)據(jù)的個(gè)數(shù)為N,N的值等于a和b的差值,a、b和N為正整數(shù)。

例如,當(dāng)統(tǒng)計(jì)文件中的位于第一個(gè)負(fù)數(shù)之后的數(shù)據(jù)有1個(gè),此時(shí)的數(shù)據(jù)窗中位于該負(fù)數(shù)之前的數(shù)據(jù)有2個(gè),此時(shí),該數(shù)據(jù)窗中可以包括下一個(gè)相鄰的統(tǒng)計(jì)文件中的第一個(gè)數(shù)據(jù)。當(dāng)在該數(shù)據(jù)窗中的負(fù)數(shù)之后查找正數(shù)時(shí),可以判斷該統(tǒng)計(jì)文件中的最后一個(gè)數(shù)據(jù)和下一個(gè)統(tǒng)計(jì)文件中的第一個(gè)數(shù)據(jù)是否為正數(shù)。

S110,修正正數(shù)和負(fù)數(shù),并獲得修正后的統(tǒng)計(jì)文件。在S110之后,執(zhí)行S111。

當(dāng)流程從S104執(zhí)行到S110時(shí),該S個(gè)正數(shù)位于該數(shù)據(jù)窗中該負(fù)數(shù)之前,即S次修正為對(duì)負(fù)數(shù)和負(fù)數(shù)之前確定的S個(gè)正數(shù)進(jìn)行S次修正,其中,該S 次修正中的第1次修正為將該S個(gè)正數(shù)中離該負(fù)數(shù)最近的正數(shù)修正為0,將該負(fù)數(shù)修正為該負(fù)數(shù)與該離該負(fù)數(shù)最近的正數(shù)的和,該S次修正中的第2次修正至第S-1次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S次修正中的第S次修正包括將該S-1次修正后的負(fù)數(shù)修正為零,將該S個(gè)正數(shù)中離該負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M1,M1為該離該負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-1次次修正后的負(fù)數(shù)的和。

可理解,M1為所述S個(gè)正數(shù)與S101中確定的負(fù)數(shù)之和。

例如,當(dāng)該S個(gè)正數(shù)為a1,a2…ai…aS時(shí),該負(fù)數(shù)為A,第i次修正時(shí),ai離負(fù)數(shù)最近,則將ai修正為0,將i-1次修正后得到的負(fù)數(shù)Ai-1修正為Ai,Ai為Ai-1與ai的和。經(jīng)過S次修正,將該負(fù)數(shù)修正為0,將aS修正為aS與AS-1的和,AS-1為第S-1次修正后的負(fù)數(shù)。

當(dāng)S=1時(shí),上述實(shí)現(xiàn)方式中只需要進(jìn)行一次修正,即將該負(fù)數(shù)修正為0,將該1個(gè)正數(shù)修正為該1個(gè)正數(shù)與該負(fù)數(shù)的和。

具體的,例如,當(dāng)流程從S101、S102、S103和S104執(zhí)行到S110時(shí),假設(shè)該前半數(shù)據(jù)窗中的數(shù)據(jù)為2 1 -3時(shí),第一次修正將-3之前的1修正為0,將-3修正為-2,該前半數(shù)據(jù)窗中的數(shù)據(jù)為2 0 -2,第二次修正將該負(fù)數(shù)-2之前的正數(shù)2修正為0,將-2修正為0,得到修正后的前半數(shù)據(jù)窗中的數(shù)據(jù)為0 0 0。

假設(shè)該前半數(shù)據(jù)窗中的數(shù)據(jù)為2 2 -1時(shí),第一次修正將負(fù)數(shù)-1之前的第一個(gè)正數(shù)2修正為1,將負(fù)數(shù)-1修正為0,此時(shí)得到修正后的數(shù)據(jù)窗中的數(shù)據(jù)為2 1 0。此時(shí)M1為1,S為1,即只對(duì)-1之前的2進(jìn)行了修正。

當(dāng)流程經(jīng)S103、S106、S107執(zhí)行到S110時(shí),該S102中確定的前半數(shù)據(jù)窗中沒有正數(shù),該S個(gè)正數(shù)位于該數(shù)據(jù)窗中的負(fù)數(shù)之后,即S次修正為對(duì)負(fù)數(shù)和該負(fù)數(shù)之后確定的S個(gè)正數(shù)進(jìn)行S次修正,其中,該S次修正中的第1次修正為將該S個(gè)正數(shù)中離該負(fù)數(shù)最近的正數(shù)修正為0,將該負(fù)數(shù)修正為該負(fù)數(shù)與該離該負(fù)數(shù)最近的正數(shù)的和,該S次修正中的第2次修正至第S-1次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S次修正中的第S次修正包括將該S-1次修正后的負(fù)數(shù)修正為零,將該S個(gè)正數(shù)中離該負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M2,M2為 該離該負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-1次次修正后的負(fù)數(shù)的和。

可理解,M2為所述S個(gè)正數(shù)與S101中確定的負(fù)數(shù)之和。

例如,當(dāng)該S個(gè)正數(shù)為a1,a2…ai…aS時(shí),該負(fù)數(shù)為A,第i次修正時(shí),ai離負(fù)數(shù)最近,則將ai修正為0,將i-1次修正后得到的負(fù)數(shù)Ai-1修正為Ai,Ai為Ai-1與ai的和。經(jīng)過S次修正,將該負(fù)數(shù)修正為0,將aS修正為aS與AS-1的和,AS-1為第S-1次修正后的負(fù)數(shù)。

當(dāng)S=1時(shí),上述實(shí)現(xiàn)方式中只需要進(jìn)行一次修正,即將該負(fù)數(shù)修正為0,將該1個(gè)正數(shù)修正為該1個(gè)正數(shù)與該負(fù)數(shù)的和。

具體的,例如,當(dāng)流程從S101、S102、S103、S106和S107執(zhí)行到S110時(shí),假設(shè)該后半數(shù)據(jù)窗中的數(shù)據(jù)為-3 1 2時(shí),第一次修正將負(fù)數(shù)-3之后的正數(shù)1修正為0,將-3修正為-2,該后半數(shù)據(jù)窗中的數(shù)據(jù)為-2 0 2,第二次修正將該負(fù)數(shù)-2之后的正數(shù)2修正為0,將-2修正為0,得到修正后的后半數(shù)據(jù)窗中的數(shù)據(jù)為0 0 0。

假設(shè)該后半數(shù)據(jù)窗中的數(shù)據(jù)為-1 2 2時(shí),第一次修正將負(fù)數(shù)-1之后的第一個(gè)正數(shù)2修正為1,將負(fù)數(shù)-1修正為0,此時(shí)得到修正后的后半數(shù)據(jù)窗中的數(shù)據(jù)為0 1 2。此時(shí)M2為1,S為1,即即只對(duì)-1之后的2進(jìn)行了修正。

當(dāng)流程經(jīng)S103、S104、S105、S106、S107執(zhí)行到S110時(shí),該S個(gè)正數(shù)中的N個(gè)位于該數(shù)據(jù)窗中的該負(fù)數(shù)之前,S-N個(gè)位于該數(shù)據(jù)窗中的該負(fù)數(shù)之后,N為小于S的正整數(shù)。

應(yīng)理解,此時(shí),該數(shù)據(jù)窗中的負(fù)數(shù)之前有且僅有N個(gè)正數(shù),并且該數(shù)據(jù)窗中的負(fù)數(shù)之后存在S-N個(gè)正數(shù)。

那么,該依次修正該S個(gè)正數(shù)和該負(fù)數(shù),包括:

S105中的對(duì)該N個(gè)正數(shù)和該負(fù)數(shù)進(jìn)行N次修正,該N次修正中的第1次修正為將該N個(gè)正數(shù)中離該負(fù)數(shù)最近的正數(shù)修正為0,將該負(fù)數(shù)修正為該負(fù)數(shù)與該離該負(fù)數(shù)最近的正數(shù)的和,該N次修正中的第2次修正至第N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該N次修正后該負(fù)數(shù)仍然為一個(gè)負(fù)數(shù);

S110中的對(duì)該S個(gè)正數(shù)中除該N個(gè)正數(shù)之外的S-N個(gè)正數(shù)進(jìn)行S-N次修正,該S-N次修正中的第1次修正為將該S-N個(gè)正數(shù)中離上述N次修正后的負(fù)數(shù)最近的正數(shù)修正為0,將該N次修正后的負(fù)數(shù)修正為該N次修正后 的負(fù)數(shù)與該離該N次修正后的負(fù)數(shù)最近的正數(shù)的和,該S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S-N次修正中的第S-N次修正包括將該S-N-1次修正后的負(fù)數(shù)修正為零,將該S-N個(gè)正數(shù)中離該N次修正后的負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M3,M3為該離該N次修正后的負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-N-1次修正后的負(fù)數(shù)的和。

可理解,M3為所述S個(gè)正數(shù)與S101中確定的負(fù)數(shù)之和。

例如,當(dāng)該N個(gè)正數(shù)為a1,a2…ai…aN時(shí),該負(fù)數(shù)為A,第i次修正時(shí),ai離負(fù)數(shù)最近,則將ai修正為0,將i-1次修正后得到的負(fù)數(shù)Ai-1修正為Ai,Ai為Ai-1與ai的和。經(jīng)過N次修正,將該N個(gè)正數(shù)都修正為0,將A最終修正Ai,Ai為aN與AN-1的和,AN-1為第N-1次修正后的負(fù)數(shù)。

當(dāng)該S-N個(gè)正數(shù)為aN+1,aN+2…aN+i…aS時(shí),該S-N次修正中的第i次修正時(shí),aN+i離負(fù)數(shù)最近,則將aN+i修正為0,將i-1次修正后得到的負(fù)數(shù)AN+i-1修正為AN+i,AN+i為AN+i-1與ai的和。經(jīng)過S-N次修正,將負(fù)數(shù)修正為0,將aS修正為aS與AS-1的和,AS-1為第S-N-1次修正后的負(fù)數(shù)。

具體的,例如,當(dāng)流程經(jīng)S101、S102、S103、S104、S105、S106、S107執(zhí)行到S110時(shí),假設(shè)S102中確定的數(shù)據(jù)窗中包括1 2-4 1 1時(shí),在S105中執(zhí)行所述N次修正,第一次將2修正為0,將-4修正為-2,第二次將1修正為0,將-2修正為-1,此時(shí)N=2,得到修正后的數(shù)據(jù)窗為0 0 -1 1 1,該第二負(fù)數(shù)為-1。在S-2次修正中的第一次修正中將該-1之后的1修正為0,將-1修正為0,得到修正后的數(shù)據(jù)窗中的數(shù)據(jù)為0 0 0 0 1。這時(shí),M3為0,S-2為1,即對(duì)后半數(shù)據(jù)窗進(jìn)行了1次修正,此時(shí)S為3。

應(yīng)注意,本發(fā)明實(shí)施例中,在將S101中確定的負(fù)數(shù)修正為0時(shí),停止修正數(shù)據(jù)窗中的正數(shù),并且,修正后的正數(shù)的絕對(duì)值必定小于修正前的正數(shù)的絕對(duì)值。這樣可以避免修正后的統(tǒng)計(jì)文件中出現(xiàn)脈沖高峰。

應(yīng)理解,該數(shù)據(jù)窗中的正數(shù)和負(fù)數(shù)都修正為0,即該正數(shù)和該負(fù)數(shù)相抵消,表示該數(shù)據(jù)窗中的數(shù)據(jù)對(duì)應(yīng)的傳輸過程中沒有出現(xiàn)報(bào)文丟失,該數(shù)據(jù)窗中負(fù)數(shù)修正為0,即該負(fù)數(shù)被抵消,正數(shù)修正為M,表示該數(shù)據(jù)窗中的該正數(shù)M對(duì)應(yīng)的傳輸過程中丟失了M個(gè)報(bào)文。

經(jīng)過上述S101至110的流程,可以使統(tǒng)計(jì)文件中距該負(fù)數(shù)最鄰近的正 數(shù)依次與該負(fù)數(shù)相抵消,最終將該負(fù)數(shù)修正為0。

S111,判斷修正后的統(tǒng)計(jì)文件中是否存在負(fù)數(shù)。如果修正該負(fù)數(shù)和該至少一個(gè)正數(shù)之后的統(tǒng)計(jì)文件中不存在負(fù)數(shù)時(shí),結(jié)束流程。如果修正該負(fù)數(shù)和該至少一個(gè)正數(shù)之后的統(tǒng)計(jì)文件中存在負(fù)數(shù)時(shí),流程進(jìn)行到S101。

當(dāng)流程重新進(jìn)行到S101時(shí),在修正后的統(tǒng)計(jì)文件中查找負(fù)數(shù)。然后繼續(xù)執(zhí)行上述流程,經(jīng)過至少一次查找和修正,將該負(fù)數(shù)修正為0,并獲取重新修正的統(tǒng)計(jì)文件。經(jīng)過多次執(zhí)行上述S101至S110的流程,最終將統(tǒng)計(jì)文件中的負(fù)數(shù)都修正為0。

如果修正后的統(tǒng)計(jì)文件中的數(shù)據(jù)全部為0,表示該統(tǒng)計(jì)報(bào)文對(duì)應(yīng)的傳輸過程中沒有報(bào)文的丟失。如果修正后的統(tǒng)計(jì)文件中還存在負(fù)數(shù),則可以在下一個(gè)待修正的統(tǒng)計(jì)文件中繼續(xù)查找,直至將該統(tǒng)計(jì)文件中的負(fù)數(shù)修正為0。如果修正后的統(tǒng)計(jì)文件中存在正數(shù)m,則表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程有m個(gè)報(bào)文的丟失。

本發(fā)明實(shí)施例中,當(dāng)將該統(tǒng)計(jì)文件中的每個(gè)負(fù)數(shù)都進(jìn)行修正后,可以對(duì)下一個(gè)待修正的統(tǒng)計(jì)文件進(jìn)行修正。當(dāng)對(duì)多個(gè)統(tǒng)計(jì)文件的數(shù)據(jù)進(jìn)行修正后,如果該多個(gè)統(tǒng)計(jì)文件中都不存在負(fù)數(shù)時(shí),則修正后的多個(gè)統(tǒng)計(jì)文件可以正確的表示該多個(gè)統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中的丟包結(jié)果。如果修正后的多個(gè)統(tǒng)計(jì)文件中存在負(fù)數(shù),則還需要繼續(xù)擴(kuò)大查找的統(tǒng)計(jì)文件的范圍,最終將該負(fù)數(shù)修正為0。如果修正后的多個(gè)統(tǒng)計(jì)文件中的數(shù)據(jù)都為0時(shí),表示該多個(gè)統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中沒有報(bào)文丟失。如果修正后的多個(gè)統(tǒng)計(jì)文件中的數(shù)據(jù)沒有負(fù)數(shù),并且存在正數(shù)m時(shí),則該正數(shù)對(duì)應(yīng)的傳輸過程中丟失了m個(gè)報(bào)文。

例如,當(dāng)通過上述丟包統(tǒng)計(jì)的方法100修正了4個(gè)統(tǒng)計(jì)文件,如果將該4個(gè)統(tǒng)計(jì)文件中的負(fù)數(shù)都修正為0時(shí),則修正后的4個(gè)統(tǒng)計(jì)文件可以正確的表示該4個(gè)文件對(duì)應(yīng)的傳輸過程的丟包結(jié)果。如果修正后的該4個(gè)統(tǒng)計(jì)文件還存在負(fù)數(shù),則繼續(xù)查找下一個(gè)待修正的統(tǒng)計(jì)文件,直至將該4個(gè)統(tǒng)計(jì)文件中的負(fù)數(shù)修正為0。當(dāng)修正后的4個(gè)統(tǒng)計(jì)文件中的數(shù)據(jù)都為0時(shí),該4個(gè)文件對(duì)應(yīng)的傳輸過程中沒有報(bào)文丟失。當(dāng)修正后的4個(gè)統(tǒng)計(jì)文件中沒有負(fù)數(shù)并且有2個(gè)正數(shù)1時(shí),該2個(gè)正數(shù)1對(duì)應(yīng)的傳輸過程分別丟失了1個(gè)報(bào)文。

因此,本發(fā)明實(shí)施例通過獲取統(tǒng)計(jì)文件中的負(fù)數(shù),確定包含該負(fù)數(shù)和該統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù)的數(shù)據(jù)窗,當(dāng)該數(shù)據(jù)窗中存在至少一個(gè)正數(shù),且該負(fù) 數(shù)與該至少一個(gè)正數(shù)的和大于或等于零時(shí),修正該至少一個(gè)正數(shù)和該負(fù)數(shù),得到修正后的統(tǒng)計(jì)文件。本發(fā)明實(shí)施例能夠正確的進(jìn)行丟包統(tǒng)計(jì)。當(dāng)該修正后的統(tǒng)計(jì)文件中不存在正數(shù)和負(fù)數(shù)時(shí),表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中沒有報(bào)文丟失。當(dāng)該修正后的統(tǒng)計(jì)文件中只存在正數(shù)時(shí),該正數(shù)表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中的報(bào)文丟失的數(shù)量。

圖4為本發(fā)明的一個(gè)實(shí)施例的丟包統(tǒng)計(jì)的方法200的流程圖。圖4所示的方法200包括:

S210,獲取第一統(tǒng)計(jì)文件中的第一負(fù)數(shù)。

具體的,該第一統(tǒng)計(jì)文件可以為圖3中的S101中的統(tǒng)計(jì)文件,該第一負(fù)數(shù)可以為S101中獲取的負(fù)數(shù)。S210可以參見圖3中的S101的描述,為避免重復(fù),這里不再贅述。

S220,確定第一數(shù)據(jù)窗,該第一數(shù)據(jù)窗中包括該第一負(fù)數(shù)和該第一統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù)。

S230,當(dāng)所述第一數(shù)據(jù)窗中存在S個(gè)正數(shù),所述第一負(fù)數(shù)與所述S個(gè)正數(shù)的和大于或等于零,且所述第一負(fù)數(shù)與所述S個(gè)正數(shù)中的S-1個(gè)正數(shù)的和小于零時(shí),依次修正所述S個(gè)正數(shù)和所述第一負(fù)數(shù),得到修正后的第一統(tǒng)計(jì)文件,其中S為正整數(shù)。

具體的,該S個(gè)正數(shù)參見上述圖3中S102的描述,為避免重復(fù),這里不再贅述。

可選的,作為一例,所述S個(gè)正數(shù)位于所述第一數(shù)據(jù)窗中的所述第一負(fù)數(shù)之前,所述依次修正所述S個(gè)正數(shù)和所述第一負(fù)數(shù),包括:進(jìn)行S次修正,其中,所述S次修正中的第1次修正為將所述S個(gè)正數(shù)中離所述第一負(fù)數(shù)最近的正數(shù)修正為0,將所述第一負(fù)數(shù)修正為所述第一負(fù)數(shù)與所述離所述第一負(fù)數(shù)最近的正數(shù)的和,所述S次修正中的第2次修正至第S-1次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將所述上一次修正后的負(fù)數(shù)修正為所述離上一次修正后的負(fù)數(shù)最近的正數(shù)與所述上一次修正后的負(fù)數(shù)之和,所述S次修正中的第S次修正包括將所述S-1次修正后的負(fù)數(shù)修正為零,將所述S個(gè)正數(shù)中離所述第一負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M1,M1為所述離所述第一負(fù)數(shù)最遠(yuǎn)的正數(shù)與所述S-1次次修正后的負(fù)數(shù)的和。

具體的,可以參見上述S103、S104至S110的流程,為避免重復(fù),這里不再贅述。

可選的,作為另一例,當(dāng)所述第一數(shù)據(jù)窗中的所述第一負(fù)數(shù)之前不存在正數(shù)時(shí),所述S個(gè)正數(shù)位于所述第一數(shù)據(jù)窗中的所述第一負(fù)數(shù)之后,所述依次修正所述S個(gè)正數(shù)和所述第一負(fù)數(shù),包括:進(jìn)行S次修正,其中,所述S次修正中的第1次修正為將所述S個(gè)正數(shù)中離所述第一負(fù)數(shù)最近的正數(shù)修正為0,將所述第一負(fù)數(shù)修正為所述第一負(fù)數(shù)與所述離所述第一負(fù)數(shù)最近的正數(shù)的和,所述S次修正中的第2次修正至第S-1次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將所述上一次修正后的負(fù)數(shù)修正為所述離上一次修正后的負(fù)數(shù)最近的正數(shù)與所述上一次修正后的負(fù)數(shù)之和,所述S次修正中的第S次修正包括將所述S-1次修正后的負(fù)數(shù)修正為零,將所述S個(gè)正數(shù)中離所述第一負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M2,M2為所述離所述第一負(fù)數(shù)最遠(yuǎn)的正數(shù)與所述S-1次次修正后的負(fù)數(shù)的和。

具體的,可以參見上述S103、S106、S107至S110的流程,為避免重復(fù),這里不再贅述。

可選的,作為另一例,所述S個(gè)正數(shù)中的N個(gè)位于所述第一數(shù)據(jù)窗中的所述第一負(fù)數(shù)之前,S-N個(gè)位于所述第一數(shù)據(jù)窗中的所述第一負(fù)數(shù)之后,N為小于S的正整數(shù),所述依次修正所述S個(gè)正數(shù)和所述第一負(fù)數(shù),包括:對(duì)所述N個(gè)正數(shù)和所述第一負(fù)數(shù)進(jìn)行N次修正,所述N次修正中的第1次修正為將所述N個(gè)正數(shù)中離所述第一負(fù)數(shù)最近的正數(shù)修正為0,將所述第一負(fù)數(shù)修正為所述第一負(fù)數(shù)與所述離所述第一負(fù)數(shù)最近的正數(shù)的和,所述N次修正中的第2次修正至第N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將所述上一次修正后的負(fù)數(shù)修正為所述離上一次修正后的負(fù)數(shù)最近的正數(shù)與所述上一次修正后的負(fù)數(shù)之和,所述N次修正后所述第一負(fù)數(shù)修正為第二負(fù)數(shù);對(duì)所述S個(gè)正數(shù)中除所述N個(gè)正數(shù)之外的S-N個(gè)正數(shù)進(jìn)行S-N次修正,所述S-N次修正中的第1次修正為將所述S-N個(gè)正數(shù)中離所述第二負(fù)數(shù)最近的正數(shù)修正為0,將所述第二負(fù)數(shù)修正為所述第二負(fù)數(shù)與所述離所述第二負(fù)數(shù)最近的正數(shù)的和,所述S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將所述上一次修正后的負(fù)數(shù)修正為所述離上一次修正后的負(fù)數(shù)最近的正數(shù)與所述上一次修正后的負(fù)數(shù)之和,所述S-N次修正中的第S-N次修正包括將所述S-N-1次修正后的負(fù)數(shù)修正為零,將所述S-N個(gè)正數(shù)中離所述第二負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M3,M3為所述離所述第二負(fù)數(shù)最遠(yuǎn)的正數(shù) 與所述S-N-1次修正后的負(fù)數(shù)的和。

應(yīng)注意,所述第一數(shù)據(jù)窗之前的正數(shù)有且僅有N個(gè),并且該N個(gè)正數(shù)與該第一負(fù)數(shù)的和小于零,在該第一數(shù)據(jù)窗之后的部分存在所述的S-N個(gè)正數(shù)。

具體的,可以參見上述S103、S104、S105、S106、S107至S110的流程,為避免重復(fù),這里不再贅述。

可選的,該第一負(fù)數(shù)位于該第一數(shù)據(jù)窗的中心。

該第一數(shù)據(jù)窗對(duì)應(yīng)于圖3中的S110中修正正數(shù)和負(fù)數(shù)時(shí)的數(shù)據(jù)窗。

可選的,作為一例,可以根據(jù)預(yù)設(shè)值確定該第一數(shù)據(jù)窗。

具體的,該第一數(shù)據(jù)窗可以為預(yù)設(shè)值,可以對(duì)應(yīng)圖3中流程經(jīng)S101、S102、S103、S104和S110時(shí)的數(shù)據(jù)窗,或者圖3中的流程經(jīng)S101、S102、S103、S106、S107和S110時(shí)的數(shù)據(jù)窗,或者圖3中的流程經(jīng)S101、S102、S103、S104、S105、S106和S107和S110時(shí)的數(shù)據(jù)窗。具體的可以參見圖3中的各個(gè)流程,為避免重復(fù),這里不再贅述。

可選的,作為另一例,可以根據(jù)預(yù)設(shè)值確定第二數(shù)據(jù)窗,該第二數(shù)據(jù)窗中包括該該第一負(fù)數(shù)和該第一統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù);該第二數(shù)據(jù)窗中不存在正數(shù)時(shí),將該第二數(shù)據(jù)窗擴(kuò)大為該第一數(shù)據(jù)窗。

可選的,該第一負(fù)數(shù)可以位于該第二數(shù)據(jù)窗的中心。

具體的,該第二數(shù)據(jù)窗可以對(duì)應(yīng)圖3中的執(zhí)行S109之前的流程經(jīng)S102、S103、S106中的數(shù)據(jù)窗。此時(shí)需要執(zhí)行圖3中的S109將該第二數(shù)據(jù)窗擴(kuò)大為該第一數(shù)據(jù)窗,該第一數(shù)據(jù)窗可以對(duì)應(yīng)于圖3中的S109中的數(shù)據(jù)窗tn。具體可以參見上述圖3中的對(duì)應(yīng)的相應(yīng)流程,為避免重復(fù),這里不再贅述。

可選的,在該獲取第一統(tǒng)計(jì)文件中的第一負(fù)數(shù)之前,還可以獲取原始統(tǒng)計(jì)文件中的第三負(fù)數(shù);根據(jù)預(yù)設(shè)值確定第三數(shù)據(jù)窗,該第三數(shù)據(jù)窗中包括該第三負(fù)數(shù)和該原始統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù),且該第三數(shù)據(jù)窗中的所有正數(shù)與該第三負(fù)數(shù)的和等于該第一負(fù)數(shù);將該第三負(fù)數(shù)修正為該第一負(fù)數(shù),并將該第三數(shù)據(jù)窗中的每一個(gè)正數(shù)修正為零;將該修正后的原始統(tǒng)計(jì)文件作為該第一統(tǒng)計(jì)文件。

在上述獲取第一統(tǒng)計(jì)文件和第一負(fù)數(shù)之后,可以將該第三數(shù)據(jù)窗擴(kuò)大為第一數(shù)據(jù)窗。

應(yīng)注意,本發(fā)明實(shí)施例中,該原始統(tǒng)計(jì)文件為在實(shí)施本發(fā)明實(shí)施例的過 程中對(duì)該第三數(shù)據(jù)窗中的數(shù)據(jù)進(jìn)行修正之前的統(tǒng)計(jì)文件,并不一定為圖3中的S101中按照統(tǒng)計(jì)周期將多個(gè)數(shù)據(jù)生成的統(tǒng)計(jì)文件。

可選的,該第三負(fù)數(shù)位于該第三數(shù)據(jù)窗的中心。

具體的,該原始統(tǒng)計(jì)文件和第三負(fù)數(shù)可以分別為圖3中流程經(jīng)S102、S103、S104、S105、S106執(zhí)行到S109中的修正前的統(tǒng)計(jì)文件和負(fù)數(shù),或者流程經(jīng)S102、S103、S106、S107、S108執(zhí)行到S109中修正前的統(tǒng)計(jì)文件和負(fù)數(shù),或者流程經(jīng)S102、S103、S104、S105、S106、S107、S108執(zhí)行到S109中修正前的統(tǒng)計(jì)文件和負(fù)數(shù)。具體的可以參見圖3中的相應(yīng)流程,為避免重復(fù),這里不再贅述。

可選的,本發(fā)明實(shí)施例中,該第一數(shù)據(jù)窗中還包括第二統(tǒng)計(jì)文件中的數(shù)據(jù),該第二統(tǒng)計(jì)文件為該第一文件相鄰的下一個(gè)統(tǒng)計(jì)文件。

該第一統(tǒng)計(jì)文件可對(duì)應(yīng)于上述方法100中的統(tǒng)計(jì)文件,該第二統(tǒng)計(jì)文件可對(duì)應(yīng)于上述方法100中的與該統(tǒng)計(jì)文件相鄰的下一個(gè)統(tǒng)計(jì)文件,具體的可以參見圖3中的S109的描述,為避免重復(fù),這里不再贅述。

可選的,該丟包統(tǒng)計(jì)的方法200還可以包括:將該第一統(tǒng)計(jì)文件替換為該修正后的該第一統(tǒng)計(jì)文件。

具體的,可以參見上述圖3中的S111中的描述,為避免重復(fù),這里不再贅述。

應(yīng)理解,本發(fā)明實(shí)施例中,上述過程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。

因此,本發(fā)明實(shí)施例通過獲取統(tǒng)計(jì)文件中的負(fù)數(shù),確定包含該負(fù)數(shù)和該統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù)的數(shù)據(jù)窗,當(dāng)該數(shù)據(jù)窗中存在至少一個(gè)正數(shù),且該負(fù)數(shù)與該至少一個(gè)正數(shù)的和大于或等于零時(shí),修正該至少一個(gè)正數(shù)和該負(fù)數(shù),得到修正后的統(tǒng)計(jì)文件。本發(fā)明實(shí)施例能夠正確的進(jìn)行丟包統(tǒng)計(jì)。當(dāng)該修正后的統(tǒng)計(jì)文件中不存在正數(shù)和負(fù)數(shù)時(shí),表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中沒有報(bào)文丟失。當(dāng)該修正后的統(tǒng)計(jì)文件中只存在正數(shù)時(shí),該正數(shù)表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中的報(bào)文丟失的數(shù)量。

下面結(jié)合表1,詳細(xì)描述本發(fā)明的丟包統(tǒng)計(jì)的方法的一個(gè)具體的實(shí)施例。應(yīng)注意,下面的例子僅僅是為了幫助本領(lǐng)域技術(shù)人員理解和實(shí)現(xiàn)本發(fā)明的實(shí)施例,而非限制本發(fā)明實(shí)施例的范圍。本領(lǐng)域技術(shù)人員可以根據(jù)這里給出的 例子進(jìn)行等價(jià)變換或修改,這樣的變換或修改仍然應(yīng)落入本發(fā)明實(shí)施例的范圍內(nèi)。

表1

如表1所示,該統(tǒng)計(jì)文件中包括27個(gè)統(tǒng)計(jì)的報(bào)文丟失的數(shù)據(jù)。在該實(shí)施例中,以負(fù)數(shù)在數(shù)據(jù)窗的中心為例進(jìn)行描述。首先,在該數(shù)據(jù)中從左至右查找第一個(gè)負(fù)數(shù),具體的,可對(duì)應(yīng)于上述圖3中的S101。查找后可以確定該第一個(gè)負(fù)數(shù)為-1。

下一步以-1為中心,劃定數(shù)據(jù)窗。具體的,可以對(duì)應(yīng)于上述圖3中的S102??蛇x的,第一次劃定的數(shù)據(jù)窗的大小可以為預(yù)設(shè)值,例如為3,此時(shí),該數(shù)據(jù)窗中包括1 -1 0三個(gè)數(shù)據(jù)。

下一步在該數(shù)據(jù)窗中的-1之前的數(shù)據(jù)中查找是否存在正數(shù)。具體的,可以對(duì)應(yīng)上述圖3中的S103。此時(shí),查找到正數(shù)1。

下一步判斷-1和1的和是否小于0。具體的,可以對(duì)應(yīng)于上述圖3中的S104。此時(shí),顯然該正數(shù)和該負(fù)數(shù)的和為0。

下一步將該負(fù)數(shù)-1和該正數(shù)1修正為0。具體的,可以對(duì)應(yīng)于上述圖3中的S110。

此時(shí),對(duì)于統(tǒng)計(jì)文件中的數(shù)據(jù),已經(jīng)完成了1次修正,并且可以獲得修正后的統(tǒng)計(jì)文件如表1中的第3行所示,其中,修正過的數(shù)據(jù)下面標(biāo)記有下劃線。

下一步,繼續(xù)在修訂后的統(tǒng)計(jì)文件,即上述表1中的第3行的數(shù)據(jù)中查找是否存在負(fù)數(shù)。具體的,可以對(duì)應(yīng)于上述圖3中的S111。

下一步在修正后的統(tǒng)計(jì)文件中查找第一個(gè)負(fù)數(shù)。查找后可以確定該第一個(gè)負(fù)數(shù)為-1。然后以-1為中心,劃定數(shù)據(jù)窗。第一次劃定的數(shù)據(jù)窗的大小為 預(yù)設(shè)值3,此時(shí),該數(shù)據(jù)窗中包括0-11三個(gè)數(shù)據(jù)。下一步在該數(shù)據(jù)窗中的-1之前的數(shù)據(jù)中查找不存在正數(shù)。下一步在該數(shù)據(jù)窗中的-1之后的數(shù)據(jù)中查找是否存在正數(shù)。此時(shí),查找到數(shù)據(jù)1。

下一步判斷-1和1的和是否小于0。顯然該正數(shù)和該負(fù)數(shù)的和為0。下一步將該負(fù)數(shù)-1和該正數(shù)1修正為0。

具體可以參見上述圖3中的S101、S102、S103、S106、S107和S110的流程,為避免重復(fù),這里不再贅述。

此時(shí),對(duì)于統(tǒng)計(jì)文件中的數(shù)據(jù),已經(jīng)完成了2次修正,修正后的統(tǒng)計(jì)文件如表1中的第4行所示,其中,修正過的數(shù)據(jù)下面標(biāo)記有下劃線。

下一步,繼續(xù)在修訂后的統(tǒng)計(jì)文件,即上述表1中的第4行的數(shù)據(jù)中查找是否存在負(fù)數(shù)。具體的,可以對(duì)應(yīng)于上述圖3中的S111。

下一步在修正后的統(tǒng)計(jì)文件中查找第一個(gè)負(fù)數(shù)。查找后可以確定該第一個(gè)負(fù)數(shù)為-2。然后以-2為中心,劃定數(shù)據(jù)窗。第一次劃定的數(shù)據(jù)窗為預(yù)設(shè)值3,此時(shí),該數(shù)據(jù)窗中包括1-21三個(gè)數(shù)據(jù)。下一步在該數(shù)據(jù)窗中的-2之前的數(shù)據(jù)中查找到正數(shù)1。顯然,該負(fù)數(shù)和該正數(shù)的和小于0,將該1和-2分別修正為0和-1。下一步繼續(xù)在該數(shù)據(jù)窗中修正后的的-1之后的數(shù)據(jù)中查找是否存在正數(shù)。此時(shí),查找到數(shù)據(jù)1。

下一步判斷修正后的-1和1的和是否小于0。顯然該正數(shù)和該負(fù)數(shù)的和為0。下一步將修正后的該負(fù)數(shù)-1和1修正為0。

具體可以參見上述圖3中的S101、S102、S103、S104、S105、S106、S107和S110的流程,為避免重復(fù),這里不再贅述。

此時(shí),對(duì)于統(tǒng)計(jì)文件中的數(shù)據(jù),已經(jīng)完成了3次修正,修正后的統(tǒng)計(jì)文件如表1中的第4行所示,其中,修正過的數(shù)據(jù)下面標(biāo)記有下劃線。

下一步,繼續(xù)在修訂后的統(tǒng)計(jì)文件,即上述表1中的第5行的數(shù)據(jù)中查找是否存在負(fù)數(shù)。查找后可以確定該第一個(gè)負(fù)數(shù)為-2。

然后以-2為中心,劃定數(shù)據(jù)窗。可選的,第一次劃定的數(shù)據(jù)窗的大小為預(yù)設(shè)值3,此時(shí),該數(shù)據(jù)窗中包括0 -2 0三個(gè)數(shù)據(jù)。

下一步在該數(shù)據(jù)窗中的-2之前的數(shù)據(jù)中查找沒有找到正數(shù),繼續(xù)在該數(shù)據(jù)窗中的-2之后的數(shù)據(jù)中查找也沒有找到正數(shù),此時(shí)擴(kuò)大數(shù)據(jù)窗。具體的,可以參見圖3中的S109,為避免重復(fù),這里不再贅述。這里可以配置X1=X2=1,擴(kuò)大后的數(shù)據(jù)窗例如為5,此時(shí)數(shù)據(jù)窗中包含1 0 -2 0 -1五個(gè)數(shù)據(jù)。

在該擴(kuò)大的數(shù)據(jù)窗前半部分可以查找到正數(shù)1,但是該負(fù)數(shù)和該正數(shù)的和小于0,將該正數(shù)1修正為0,將負(fù)數(shù)-2修正為負(fù)數(shù)-1。然后在該擴(kuò)大的數(shù)據(jù)窗后半部分沒有查找到正數(shù)。此時(shí),修正后的數(shù)據(jù)窗為0 0 -1 0 -1。下一步繼續(xù)擴(kuò)大數(shù)據(jù)窗,例如括大為7,此時(shí)該數(shù)據(jù)窗中包含0 0 0 -1 0 -1 1七個(gè)數(shù)據(jù)。

在該擴(kuò)大的數(shù)據(jù)窗的前半部分查找不到正數(shù),在該擴(kuò)大的數(shù)據(jù)窗的后半部分可以查找到正數(shù)1。

顯然該修正后的負(fù)數(shù)-1和在擴(kuò)大的數(shù)據(jù)窗的后半部分查找到的該正數(shù)1的和為0。下一步將該修正后的負(fù)數(shù)-1和該正數(shù)1修正為0。

具體可以參見上述圖3中的S101、S102、S103、S104、S105、S106、S107、S108和S109的流程,為避免重復(fù),這里不再贅述。

此時(shí),對(duì)于統(tǒng)計(jì)文件中的數(shù)據(jù),已經(jīng)完成了4次修正,修正后的統(tǒng)計(jì)文件如表1中的第5行所示,其中,修正過的數(shù)據(jù)下面標(biāo)記有下劃線。

下一步,繼續(xù)在修訂后的統(tǒng)計(jì)文件,即上述表1中的第6行的數(shù)據(jù)中查找是否存在負(fù)數(shù)。查找后可以確定該第一個(gè)負(fù)數(shù)為-1。

然后以-1為中心,劃定數(shù)據(jù)窗。當(dāng)以初始數(shù)據(jù)窗3,擴(kuò)大步長X1=X2=1查找時(shí),經(jīng)過5次擴(kuò)大數(shù)據(jù)窗為t6,在該t6中的該負(fù)數(shù)之后查找到正數(shù)2,此時(shí)該負(fù)數(shù)-1和正數(shù)2之后為-1,可以將該負(fù)數(shù)修正為0,將該正數(shù)2修正為1。具體可以參見上述圖3中的S101、S102、S103、S104、S105、S106、S107、S108和S109的流程,為避免重復(fù),這里不再贅述。

此時(shí),對(duì)于統(tǒng)計(jì)文件中的數(shù)據(jù),已經(jīng)完成了5次修正,修正后的統(tǒng)計(jì)文件如表1中的第6行所示,其中,修正過的數(shù)據(jù)下面標(biāo)記有下劃線。

下一步,繼續(xù)在修訂后的統(tǒng)計(jì)文件,即上述表1中的第7行的數(shù)據(jù)中查找是否存在負(fù)數(shù)。查找后可以確定該第一個(gè)負(fù)數(shù)為-1,該正數(shù)為1。然后將該正數(shù)1和該負(fù)數(shù)-1都修正為0。其中,為雙下劃線的0表示修正了2次。

具體可以參見上述圖3中的S101、S102、S103、S104、S105、S106、S107、S108和S109的流程,為避免重復(fù),這里不再贅述。

此時(shí),經(jīng)過6次修正,獲得的修正后的統(tǒng)計(jì)文件中的數(shù)據(jù)均為0,表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中沒有報(bào)文丟失。

因此,本發(fā)明實(shí)施例通過獲取統(tǒng)計(jì)文件中的負(fù)數(shù),確定包含該負(fù)數(shù)和該統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù)的數(shù)據(jù)窗,當(dāng)該數(shù)據(jù)窗中存在至少一個(gè)正數(shù),且該負(fù) 數(shù)與該至少一個(gè)正數(shù)的和大于或等于零時(shí),修正該至少一個(gè)正數(shù)和該負(fù)數(shù),得到修正后的統(tǒng)計(jì)文件。本發(fā)明實(shí)施例能夠正確的進(jìn)行丟包統(tǒng)計(jì)。當(dāng)該修正后的統(tǒng)計(jì)文件中不存在正數(shù)和負(fù)數(shù)時(shí),表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中沒有報(bào)文丟失。當(dāng)該修正后的統(tǒng)計(jì)文件中只存在正數(shù)時(shí),該正數(shù)表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中的報(bào)文丟失的數(shù)量。

圖5是本發(fā)明的一個(gè)實(shí)施例的丟包統(tǒng)計(jì)的網(wǎng)絡(luò)設(shè)備的框圖。如圖5所示,該網(wǎng)絡(luò)設(shè)備400包括:

獲取單元410,用于獲取第一統(tǒng)計(jì)文件中的第一負(fù)數(shù)。

確定單元420,用于確定第一數(shù)據(jù)窗,該第一數(shù)據(jù)窗中包括該第一負(fù)數(shù)和該第一統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù)。

修正單元430,用于當(dāng)所述第一數(shù)據(jù)窗中存在S個(gè)正數(shù),所述第一負(fù)數(shù)與所述S個(gè)正數(shù)的和大于或等于零,且所述第一負(fù)數(shù)與所述S個(gè)正數(shù)中的S-1個(gè)正數(shù)的和小于零時(shí),依次修正所述S個(gè)正數(shù)和所述第一負(fù)數(shù),得到修正后的第一統(tǒng)計(jì)文件,其中S為正整數(shù)。

可選的,作為一例,該S個(gè)正數(shù)位于該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之前,該修正單元430可以對(duì)該S個(gè)正數(shù)和該第一負(fù)數(shù)進(jìn)行S次修正,其中,該S次修正中的第1次修正為將該S個(gè)正數(shù)中離該第一負(fù)數(shù)最近的正數(shù)修正為0,將該第一負(fù)數(shù)修正為該第一負(fù)數(shù)與該離該第一負(fù)數(shù)最近的正數(shù)的和,該S次修正中的第2次修正至第S-1次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S次修正中的第S次修正包括將該S-1次修正后的負(fù)數(shù)修正為零,將該S個(gè)正數(shù)中離該第一負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M1,M1為該離該第一負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-1次修正后的負(fù)數(shù)的和。

可選的,作為另一例,當(dāng)該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之前不存在正數(shù)時(shí),該S個(gè)正數(shù)位于該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之后,該修正單元430可以對(duì)該S個(gè)正數(shù)和該第一負(fù)數(shù)進(jìn)行S次修正,其中,該S次修正中的第1次修正為將該S個(gè)正數(shù)中離該第一負(fù)數(shù)最近的正數(shù)修正為0,將該第一負(fù)數(shù)修正為該第一負(fù)數(shù)與該離該第一負(fù)數(shù)最近的正數(shù)的和,該S次修正中的第2次修正至第S-1次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近 的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S次修正中的第S次修正包括將該S-1次修正后的負(fù)數(shù)修正為零,將該S個(gè)正數(shù)中離該第一負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M2,M2為該離該第一負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-1次修正后的負(fù)數(shù)的和。

可選的,作為另一例,該S個(gè)正數(shù)中的N個(gè)位于該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之前,S-N個(gè)位于該第一數(shù)據(jù)窗中的該第一負(fù)數(shù)之后,N為小于S的正整數(shù),該修正單元430可以對(duì)該N個(gè)正數(shù)和該第一負(fù)數(shù)進(jìn)行N次修正,該N次修正中的第1次修正為將該N個(gè)正數(shù)中離該第一負(fù)數(shù)最近的正數(shù)修正為0,將該第一負(fù)數(shù)修正為該第一負(fù)數(shù)與該離該第一負(fù)數(shù)最近的正數(shù)的和,該N次修正中的第2次修正至第N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該N次修正后該第一負(fù)數(shù)修正為第二負(fù)數(shù);對(duì)該S個(gè)正數(shù)中除該N個(gè)正數(shù)之外的S-N個(gè)正數(shù)進(jìn)行S-N次修正,該S-N次修正中的第1次修正為將該S-N個(gè)正數(shù)中離該第二負(fù)數(shù)最近的正數(shù)修正為0,將該第二負(fù)數(shù)修正為該第二負(fù)數(shù)與該離該第二負(fù)數(shù)最近的正數(shù)的和,該S-N次修正中的第2次修正至第S-N次修正中的每一次修正包括將離上一次修正后的負(fù)數(shù)最近的正數(shù)修正為零,將該上一次修正后的負(fù)數(shù)修正為該離上一次修正后的負(fù)數(shù)最近的正數(shù)與該上一次修正后的負(fù)數(shù)之和,該S-N次修正中的第S-N次修正包括將該S-N-1次修正后的負(fù)數(shù)修正為零,將該S-N個(gè)正數(shù)中離該第二負(fù)數(shù)最遠(yuǎn)的正數(shù)修正為M3,M3為該離該第二負(fù)數(shù)最遠(yuǎn)的正數(shù)與該S-N-1次修正后的負(fù)數(shù)的和。

可選的,該第一負(fù)數(shù)位于該第一數(shù)據(jù)窗的中心

可選的,作為一例,該確定單元420可以根據(jù)預(yù)設(shè)值確定該第一數(shù)據(jù)窗。

可選的,作為另一例,該確定單元420可以根據(jù)預(yù)設(shè)值確定第二數(shù)據(jù)窗,該第二數(shù)據(jù)窗中包括該第一負(fù)數(shù)和該第一統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù),當(dāng)該第二數(shù)據(jù)窗中不存在正數(shù)時(shí),將該第二數(shù)據(jù)窗擴(kuò)大為該第一數(shù)據(jù)窗。

可選的,該第一負(fù)數(shù)位于該第二數(shù)據(jù)窗的中心

可選的,在該獲取單元410獲取該第一統(tǒng)計(jì)文件中的第一負(fù)數(shù)之前,該獲取單元410還可以先獲取原始統(tǒng)計(jì)文件中的第三負(fù)數(shù);該確定單元420根據(jù)預(yù)設(shè)值確定第三數(shù)據(jù)窗,該第三數(shù)據(jù)窗中包括該第三負(fù)數(shù)和該原始統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù),且該第三數(shù)據(jù)窗中的所有正數(shù)與該第三負(fù)數(shù)的和等于該第一負(fù)數(shù);然后,該修正單元430將該第三負(fù)數(shù)修正為該第一負(fù)數(shù),并將該第 三數(shù)據(jù)窗中的每一個(gè)正數(shù)修正為零;將該修正后的原始統(tǒng)計(jì)文件作為該第一統(tǒng)計(jì)文件。

在上述獲取第一統(tǒng)計(jì)文件和第一負(fù)數(shù)之后,可以將該第三數(shù)據(jù)窗擴(kuò)大為第一數(shù)據(jù)窗。

可選的,該第三負(fù)數(shù)位于該第三數(shù)據(jù)窗的中心。

可選的,該第一數(shù)據(jù)窗中還包括第二統(tǒng)計(jì)文件中的數(shù)據(jù),該第二統(tǒng)計(jì)文件為該第一文件相鄰的下一個(gè)統(tǒng)計(jì)文件。

可選的,該網(wǎng)絡(luò)設(shè)備400還可以包括:替換單元,用于將該第一統(tǒng)計(jì)文件替換為該修正后的第一統(tǒng)計(jì)文件。

因此,本發(fā)明實(shí)施例通過獲取統(tǒng)計(jì)文件中的負(fù)數(shù),確定包含該負(fù)數(shù)和該統(tǒng)計(jì)文件中的多個(gè)數(shù)據(jù)的數(shù)據(jù)窗,當(dāng)該數(shù)據(jù)窗中存在至少一個(gè)正數(shù),且該負(fù)數(shù)與該至少一個(gè)正數(shù)的和大于或等于零時(shí),修正該至少一個(gè)正數(shù)和該負(fù)數(shù),得到修正后的統(tǒng)計(jì)文件。本發(fā)明實(shí)施例能夠正確的進(jìn)行丟包統(tǒng)計(jì)。當(dāng)該修正后的統(tǒng)計(jì)文件中不存在正數(shù)和負(fù)數(shù)時(shí),表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中沒有報(bào)文丟失。當(dāng)該修正后的統(tǒng)計(jì)文件中只存在正數(shù)時(shí),該正數(shù)表示該統(tǒng)計(jì)文件對(duì)應(yīng)的傳輸過程中的報(bào)文丟失的數(shù)量。

應(yīng)注意,本發(fā)明實(shí)施例中,獲取單元410、確定單元420和修正單元430可以由處理器實(shí)現(xiàn)。如圖6所示,裝置500可以包括處理器510、存儲(chǔ)器520、收發(fā)器530和總線系統(tǒng)540。該裝置500例如為網(wǎng)絡(luò)設(shè)備。其中,存儲(chǔ)器520可以用于存儲(chǔ)處理器510執(zhí)行的代碼等,收發(fā)器530可以用于收發(fā)報(bào)文等。

裝置500中的各個(gè)組件通過總線系統(tǒng)540耦合在一起,其中總線系統(tǒng)540除包括數(shù)據(jù)總線之外,還包括電源總線、控制總線和狀態(tài)信號(hào)總線。

圖5所示的網(wǎng)絡(luò)設(shè)備400或圖6所示的裝置500能夠?qū)崿F(xiàn)前述圖3和圖4所示的方法實(shí)施例中的各個(gè)過程,為避免重復(fù),這里不再贅述。

應(yīng)注意,本發(fā)明上述方法實(shí)施例可以應(yīng)用于處理器中,或者由處理器實(shí)現(xiàn)。處理器可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過程中,上述方法實(shí)施例的各步驟可以通過處理器中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器可以是通用處理器、數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)、專用集成電路(Application Specific Integrated Circuit,ASIC)、現(xiàn)成可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件 組件??梢詫?shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器,處理器讀取存儲(chǔ)器中的信息,結(jié)合其硬件完成上述方法的步驟。

可以理解,本發(fā)明實(shí)施例中的存儲(chǔ)器可以是易失性存儲(chǔ)器或非易失性存儲(chǔ)器,或可包括易失性和非易失性存儲(chǔ)器兩者。其中,非易失性存儲(chǔ)器可以是只讀存儲(chǔ)器(Read-Only Memory,ROM)、可編程只讀存儲(chǔ)器(Programmable ROM,PROM)、可擦除可編程只讀存儲(chǔ)器(Erasable PROM,EPROM)、電可擦除可編程只讀存儲(chǔ)器(Electrically EPROM,EEPROM)或閃存。易失性存儲(chǔ)器可以是隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的RAM可用,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(Static RAM,SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic RAM,DRAM)、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Synchronous DRAM,SDRAM)、雙倍數(shù)據(jù)速率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Double Data Rate SDRAM,DDR SDRAM)、增強(qiáng)型同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Enhanced SDRAM,ESDRAM)、同步連接動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Synchlink DRAM,SLDRAM)和直接內(nèi)存總線隨機(jī)存取存儲(chǔ)器(Direct Rambus RAM,DR RAM)。應(yīng)注意,本文描述的系統(tǒng)和方法的存儲(chǔ)器旨在包括但不限于這些和任意其它適合類型的存儲(chǔ)器。

本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例中描述的各方法步驟和單元,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各實(shí)施例的步驟及組成。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。本領(lǐng)域普通技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實(shí)施例描述的方法或步驟可以用硬件、處理器執(zhí)行的軟件程序,或者二者的結(jié)合來實(shí)施。軟件程序可以置于隨機(jī)存儲(chǔ)器(RAM)、 內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。

盡管通過參考附圖并結(jié)合優(yōu)選實(shí)施例的方式對(duì)本發(fā)明進(jìn)行了詳細(xì)描述,但本發(fā)明并不限于此。在不脫離本發(fā)明的精神和實(shí)質(zhì)的前提下,本領(lǐng)域普通技術(shù)人員可以對(duì)本發(fā)明的實(shí)施例進(jìn)行各種等效的修改或替換,而這些修改或替換都應(yīng)在本發(fā)明的涵蓋范圍內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1