午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

實時監(jiān)測流數(shù)據(jù)突變的方法

文檔序號:7595750閱讀:520來源:國知局
專利名稱:實時監(jiān)測流數(shù)據(jù)突變的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種流數(shù)據(jù)管理中的技術(shù),更確切地說是涉及一種實時監(jiān)測流數(shù)據(jù)突變(Burst)的方法,主要適用于對網(wǎng)絡(luò)數(shù)據(jù)流量的監(jiān)測以及網(wǎng)站訪問量的監(jiān)測,以及時發(fā)現(xiàn)并解決網(wǎng)絡(luò)擁塞和網(wǎng)絡(luò)攻擊等網(wǎng)絡(luò)中存在的故障以及安全等問題。
背景技術(shù)
區(qū)別于傳統(tǒng)數(shù)據(jù)應(yīng)用模型,流數(shù)據(jù)(Data Stream)模型具有以下四點共性(1)數(shù)據(jù)實時到達;(2)數(shù)據(jù)到達次序獨立,不受應(yīng)用系統(tǒng)所控制;(3)數(shù)據(jù)規(guī)模宏大且不能預(yù)知其最大值,例如一個公司一百年以來的股票交易信息以及流過主干網(wǎng)路由器上的數(shù)據(jù)等等;(4)數(shù)據(jù)一經(jīng)處理,除非特意保存,否則不能夠被再次取出處理,或者再次提取數(shù)據(jù)代價昂貴。監(jiān)測數(shù)據(jù)的突變主要是指在數(shù)據(jù)監(jiān)測的過程中捕捉一段時間內(nèi)數(shù)據(jù)異常變化的行為,并進行報警,再由相應(yīng)的人員或軟件根據(jù)該異常信息進行對系統(tǒng)的維護或其他的處理。監(jiān)測數(shù)據(jù)突變的技術(shù)幾乎是所有數(shù)據(jù)采集、數(shù)據(jù)分析以及數(shù)據(jù)管理軟件系統(tǒng)中的重要組成部分,其應(yīng)用相當(dāng)廣泛。監(jiān)測數(shù)據(jù)突變的方法決定了軟件系統(tǒng)發(fā)現(xiàn)問題,解決問題的能力。在先技術(shù)中存在一種先進的監(jiān)測數(shù)據(jù)突變的實現(xiàn)方案申請?zhí)枮?2107602.8,名為“用于突發(fā)容許過度誤碼率報警檢測和清除的方法和設(shè)備”的發(fā)明專利。然而,該發(fā)明在監(jiān)測突變方面存在以下不足1、只能使用絕對門限值靜態(tài)地監(jiān)測數(shù)據(jù)突變,無法動態(tài)地監(jiān)測突變,因此,其發(fā)現(xiàn)的突變種類單一。
2、只能發(fā)現(xiàn)一個已定義長度時間窗口內(nèi)的突變,因此,其無法及時或完全地發(fā)現(xiàn)當(dāng)前數(shù)據(jù)的所有突變。
3、所能處理的數(shù)據(jù)量有限,即最大的時間窗口長度有限,無法處理流數(shù)據(jù)。
4、只能發(fā)現(xiàn)監(jiān)測對象計數(shù)(Count)上的突變,而不能發(fā)現(xiàn)監(jiān)測對象其它性質(zhì)上的突變,例如平均值(Mean)的突變。
5、其突變監(jiān)測方法中未提供任何抵御顛簸的方法,因而,所發(fā)現(xiàn)的突變并不能保證它們完全正確。

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種能夠動態(tài)地監(jiān)測任意長度窗口的流數(shù)據(jù)突變的方法,并且該方法能夠排除數(shù)據(jù)顛簸帶來的干擾,以保證軟件系統(tǒng)的執(zhí)行效率、兼容性和可靠性。
本發(fā)明的技術(shù)解決方案首先,本發(fā)明對現(xiàn)有監(jiān)測方法關(guān)于數(shù)據(jù)突變的定義進行了擴充,提出了動態(tài)地監(jiān)測突變的定義。設(shè)要監(jiān)測的采樣數(shù)據(jù)流為序列x1,..,xn,其中任意一個值xi是第i時刻的采樣值,i為時間戳,時間戳越大表明該采樣值越新,x1為最早的采樣值,xn為最新的采樣值,n的大小不受限制,也就是該序列的長度不受限制,設(shè)相對監(jiān)測門限為RTH,當(dāng)RTH大于1時,即當(dāng)前序列的聚集計算結(jié)果比前一個相鄰的相同長度序列的聚集計算結(jié)果顯著增大時,為正向突變。當(dāng)RTH小于1時,即當(dāng)前序列的聚集計算結(jié)果比前一個相鄰的相同長度序列的聚集計算結(jié)果顯著減小時,為反向突變。設(shè)要監(jiān)測的序列的最大長度為j(1≤j≤n/2),并且進行的聚集計算是Sum。那么定義當(dāng)Σk=n-j+1k=nxkΣk=n-2j+1k=n-jxk≥RTH(RTH>1)]]>時,當(dāng)前監(jiān)測的長度為j的序列發(fā)生正向突變,當(dāng)Σk=n-j+1k=nxkΣk=n-2j+1k=n-jxk≤RTH(0<RTH<1)]]>時,當(dāng)前監(jiān)測的長度為j的序列發(fā)生反向突變。
動態(tài)監(jiān)測突變與靜態(tài)監(jiān)測突變最大的區(qū)別是1.用相對監(jiān)測門限(RTH)代替一經(jīng)設(shè)置后固定不變的絕對監(jiān)測門限;2.可同時監(jiān)測數(shù)目不受限制的若干個不同長度的序列;3.能夠分別或同時監(jiān)測正向和反向突變。
其次,本發(fā)明引入了直方圖(Histogram)技術(shù),并且提供了一種新的直方圖算法——倒置桶序列的直方圖算法(BOIH),它能夠利用很小的空間精確地壓縮采樣數(shù)據(jù)流x1,..,xn。用這種近似算法估計流數(shù)據(jù)的聚集,計算結(jié)果的精確度可以高達99.99%以上。該算法用到的基本數(shù)據(jù)結(jié)構(gòu)叫做桶(Bucket)。算法構(gòu)建的直方圖就是一個桶的序列。每一個桶(bi)都是一個長度為20字節(jié)的結(jié)構(gòu)體變量,用于存放采集到的單位時間內(nèi)某個IP地址上的數(shù)據(jù)流量或單位時間內(nèi)某個網(wǎng)站接收到的訪問量,每一個桶中所保存的采樣值的個數(shù)不受限制。其中,第1到第4個字節(jié)保存的是該桶中最小的采樣值(bia)。第5到第8個字節(jié)保存的是該桶中兩個相鄰采樣值之間差的最小值(MinD)。第9到第12個字節(jié)保存的是桶的寬度(Wid),也就是保存在該桶中的采樣值的個數(shù)。第13到第16個字節(jié)保存的是該桶中兩個相鄰采樣值之間差的最大值(MaxD)。第17到第20個字節(jié)保存的是該桶中最大的采樣值(bib)。每新來一個采樣值xn就運行一次該算法。設(shè)進行的聚集計算是Sum,具體算法如下
(1)當(dāng)?shù)玫揭粋€新的采樣值xn,將當(dāng)前桶的總數(shù)B加1,并將B的值賦給j;(2)新建一個桶,并將新來的采樣值xn放入其中;(3)從i=B-1到i=1降序地,做如下操作(a)對桶bi將bia和bib分別增加xn;(b)判斷bib是否大于(1+δ)bja。如果bib大于(1+δ)bja,那么j--,然后跳至第3步執(zhí)行;否則,將bib的值賦給bjb,再將bi的Wid添加到bj的Wid上,假如bi的MaxD大于bj的MaxD,就用bi的MaxD替換bj的MaxD,假如bi的MinD小于bj的MinD,就用bi的MinD替換bj的MinD,最后刪除bi,并將當(dāng)前桶的總數(shù)B減1,然后跳至第3步執(zhí)行。
按照以上算法構(gòu)建的直方圖中的每一個桶都具有相同的相對誤差上限,即δ。因為誤差的存在,所以不能保證返回值就是真實值,但可以保證所返回的值是比真實值稍大或稍小的值,它們與真實值之間的誤差受到δ的影響。該數(shù)據(jù)結(jié)構(gòu)提供兩個對外接口,一個是BOIH.getLargerValue(windowSize),該函數(shù)能夠返回一個比長度為windowSize的序列的聚集計算結(jié)果稍大的值。另一個是BOIH.getSmallerValue(windowSize),該函數(shù)返回一個比長度為windowSize的序列的聚集計算結(jié)果稍小的值。
再次,本發(fā)明分別提供了錯誤陽性(False Positive)和錯誤陰性(False Negative)流數(shù)據(jù)監(jiān)測算法,分別保證100%的突變查全率(Recall)和100%的突變查準(zhǔn)率(Precision),它們能夠滿足不同應(yīng)用的需求。即按前述步驟完成把xn添加到直方圖后,采用錯誤陽性和錯誤陰性的流數(shù)據(jù)監(jiān)測算法檢測突變情況。
先介紹False Positive算法,具體算法如下(1)將突變計數(shù)器burstNum置為0,并將要檢測的窗口的長度windowSize置為1;(2)從windowSize=1到windowSize=n2]]>升序地,對長度為windowSize的窗口進行如下操作(a)假如要監(jiān)測正向突變,則將BOIH.getLargerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getSmallerValue(2*windowSize)的返回值賦給臨時變量temp2;如果有temp2≥(1+RTH)(temp2-temp1),RTH>1,那么長度為windowSize的序列發(fā)生正向突變,將burstNum加1,否則,如果burstNum為0則跳至第2步執(zhí)行;(b)假如要監(jiān)測反向突變,則將BOIH.getSmallerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getLargerValue(2*windowSize)的返回值賦給臨時變量temp2;如果有temp2≤(1+RTH)(temp2-temp1),0<RTH<1,那么長度為windowSize的序列發(fā)生反向突變,將burstNum減1,否則跳至第2步執(zhí)行;(3)將突變計數(shù)器burstNum的值返回。
只需對False Positive算法稍加修改就能夠得到False Negative算法,具體做法是將FalsePositive算法第2步a)中對temp1的賦值改為BOIH.getSmallerValue(windowSize),對temp2賦值改為BOIH.getLargerValue(2*windowSize)。再將b)中對temp1的賦值改為BOIH.getLargerValue(windowSize),對temp2賦值改為BOIH.getSmallerValue(2*windowSize)即可。其算法如下(1)將突變計數(shù)器burstNum置為0,并將要檢測的窗口的長度windowSize置為1;(2)從windowSize=1到windowSize=n2]]>升序地,對長度為windowSize的窗口進行如下操作(a)假如要監(jiān)測正向突變,則將BOIH.getSmallerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getLargerValue(2*windowSize)的返回值賦給臨時變量temp2;如果有temp2≥(1+RTH)(temp2-temp1),RTH>1,那么長度為windowSize的序列發(fā)生正向突變,將burstNum加1,否則,如果burstNum為0則跳至第2步執(zhí)行;(b)假如要監(jiān)測反向突變,則將BOIH.getLargerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getSmallerValue(2*windowSize)的返回值賦給臨時變量temp2;如果有temp2≤(1+RTH)(temp2-temp1),0<RTH<1,那么長度為windowSize的序列發(fā)生反向突變,將burstNum減1,否則跳至第2步執(zhí)行;(3)將突變計數(shù)器burstNum的值返回。
現(xiàn)有方法在較大窗口上檢測到的突變往往在較小的窗口上并不是突變,這是由多個連續(xù)的顛簸所導(dǎo)致的,顛簸是相對正常數(shù)據(jù)較為突出,但又沒有達到突變程度的數(shù)據(jù)。本發(fā)明考慮到了數(shù)據(jù)顛簸給突變監(jiān)測帶來的影響,提供了排除顛簸干擾的機制,并分別將其集成到上面兩個流數(shù)據(jù)監(jiān)測算法中,具體做法如False Positive算法第2步a)和b)中,在從小到大順序檢測不同長度的序列時,如果遇到一個長度為windowSize的序列沒有發(fā)生突變,那么將不再繼續(xù)檢測長度為windowSize+1及更長的序列。
在我們的方法架構(gòu)中,數(shù)據(jù)結(jié)構(gòu)的維護以及算法的執(zhí)行不需要考慮終端用戶的行為,因此系統(tǒng)可以最大限度地進行執(zhí)行效率的優(yōu)化;我們的方法架構(gòu)對數(shù)據(jù)的特性沒有任何要求,能夠處理任何分布的數(shù)據(jù),因此提高了軟件系統(tǒng)的兼容性;壓縮的數(shù)據(jù)結(jié)構(gòu)所占的空間與數(shù)據(jù)量的大小是次線性的關(guān)系,因此當(dāng)面臨龐大的數(shù)據(jù)時,數(shù)據(jù)結(jié)構(gòu)的空間開銷依然很小,這為軟件系統(tǒng)的可靠性提供了保障。
本發(fā)明的優(yōu)點和技術(shù)上的進步1、能夠自適應(yīng)地監(jiān)測數(shù)據(jù)突變。
2、能夠同時監(jiān)測任意多個不同時間長度窗口內(nèi)的突變。
3、能夠處理流數(shù)據(jù)這樣龐大的數(shù)據(jù)量,其最大時間窗口長度沒有限制。
4、能夠監(jiān)測對象的聚集(Aggregation)計算結(jié)果上的突變,因此,可以發(fā)現(xiàn)對象的突變種類,包括計數(shù)(Count)、平均值(Mean)、求和(Sum)、中值(Median)、最大值(Max)、最小值(Min)等。
5、能夠在監(jiān)測突變的同時,排除數(shù)據(jù)顛簸對監(jiān)測結(jié)果的影響。
6、為軟件系統(tǒng)的執(zhí)行效率、兼容性和可靠性提供了保障。


圖1現(xiàn)有直方圖算法構(gòu)建的桶序列示意圖。
圖2本發(fā)明提供的直方圖算法構(gòu)建的桶序列示意圖。
圖3本發(fā)明提供的桶的結(jié)構(gòu)組成示意圖。
圖4本發(fā)明提供的直方圖算法流程圖。
圖5本發(fā)明提供的突變檢測算法流程圖。
圖6本發(fā)明提供的實時監(jiān)測流數(shù)據(jù)突變方法的模型結(jié)構(gòu)示意圖。
圖7數(shù)據(jù)顛簸示意圖。
圖8本發(fā)明提供的實時監(jiān)測流數(shù)據(jù)突變方法的性能測試圖。
具體實施例方式
本發(fā)明的方法采用以下的用戶可配置參數(shù)變量相對監(jiān)測門限(RTH),每一個桶的最大相對誤差上限(δ)。當(dāng)RTH大于1時,監(jiān)測具有上升趨勢的正向突變,當(dāng)RTH小于1時,監(jiān)測具有下降趨勢的反向突變,也可設(shè)置兩個RTH以同時監(jiān)測這兩種突變??杀O(jiān)測的采樣序列長度變化連續(xù),其數(shù)量的上限不受限制,即監(jiān)測時基不受限制??梢酝瑫r監(jiān)測從最小采樣時間到信號總的持續(xù)時間范圍內(nèi)所有長度的時間窗,每個時間窗長度的遞增為最小采樣時間。
參見圖1圖中所示為現(xiàn)有直方圖算法構(gòu)建出的桶序列,沿時間軸10的方向為接近當(dāng)前時間的方向,可見沿此方向桶的寬度越來越大,最早構(gòu)建的桶編號為桶1,最新構(gòu)建的桶編號為桶n,桶I是從桶1到桶n中任意一個桶的編號。
參見圖2圖中所示為本發(fā)明的直方圖算法(BOIH)構(gòu)建出的桶序列,沿時間軸20的方向為接近當(dāng)前時間的方向,可見沿此方向桶的寬度越來越小,最早構(gòu)建的桶編號為桶1,最新構(gòu)建的桶編號為桶n,桶I是從桶1到桶n中任意一個桶的編號。
參見圖3圖中所示為本發(fā)明的直方圖算法(BOIH)中桶的結(jié)構(gòu)組成,其中,第1到第4個字節(jié)保存的是該桶中最小的采樣值(bia)。第5到第8個字節(jié)保存的是該桶中兩個相鄰采樣值之間差的最小值(MinD)。第9到第12個字節(jié)保存的是桶的寬度(Wid),也就是保存在該桶中的采樣值的個數(shù)。第13到第16個字節(jié)保存的是該桶中兩個相鄰采樣值之間差(MaxD)的最大值。第17到第20個字節(jié)保存的是該桶中最大的采樣值(bib)。
參見圖7圖中所示為數(shù)據(jù)顛簸在較大長度的時間窗口上會導(dǎo)致不真實的突變。設(shè)要監(jiān)測的聚集函數(shù)是Sum,RTH=1.1。從(a)中可以看到在長度為1的窗口上,x4和x6都是顛簸。從(b)中可以看到在長度為2的窗口上,(x3+x4)=39.5>RTH(x1+x2)=1.1*30,因此顛簸x4到來時導(dǎo)致該長度的窗口發(fā)生不真實的突變。從(c)中可以看到當(dāng)顛簸x6到來時,在長度為3的窗口上會檢測到錯誤的突變。
參見圖8圖中(a)所示為本發(fā)明提供的實時監(jiān)測流數(shù)據(jù)突變方法的監(jiān)測精度。可以看到δ越小,精度越高。當(dāng)δ≤0.01時,在各種RTH設(shè)置下的監(jiān)測精度都可以高達99.9%以上。圖中(b)所示為本發(fā)明提供的實時監(jiān)測流數(shù)據(jù)突變方法的空間開銷,可以看到δ越大,所需空間越小。圖中(c)所示為本發(fā)明提供的實時監(jiān)測流數(shù)據(jù)突變方法的處理時間。以上性能測試所用的數(shù)據(jù)集取自http://ita.ee.lbl.gov上的真實數(shù)據(jù)集(WorldCup98)。算法都采用Microsoft Visual C++6.0實現(xiàn)。測試的硬件環(huán)境是一臺CPU為2.4GHz,256M內(nèi)存的DellPC。
以下結(jié)合

檢測突變的過程。
實施例1.設(shè)置RTH為大于1的值,只檢測正向突變。設(shè)置RTH=1.1,δ=0.01。首先按照圖4所示的算法構(gòu)建直方圖。具體步驟如下當(dāng)?shù)玫揭粋€新的采樣值xn,將當(dāng)前桶的總數(shù)B加1,并將B的值賦給j。新建一個桶,并將新來的采樣值xn放入其中。從i=B-1到i=1降序地,做如下操作對桶bi將bia和bib分別增加xn。判斷bib是否大于(1+δ)bja。如果bib大于(1+δ)bja,那么j--;否則,將bib的值賦給bjb,再將bi的Wid添加到bj的Wid上,假如bi的MaxD大于bj的MaxD就用bi的MaxD替換bj的MaxD,假如bi的MinD小于bj的MinD就用bi的MinD替換bj的MinD,最后刪除bi,并將當(dāng)前桶的總數(shù)B減1,然后j--。當(dāng)完成把一個xn添加到直方圖中的工作后,接下來按照圖5所示的算法檢測突變,具體步驟如下首先將突變計數(shù)器burstNum置為0,并將要檢測的窗口的長度windowSize置為1。接下來從windowSize=1到windowSize=n2]]>升序地,對長度為windowSize的窗口進行檢測,將BOIH.getLargerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getSmallerValue(2*windowSize)的返回值賦給臨時變量temp2。如果有temp2≥(1+RTH)(temp2-temp1),那么長度為windowSize的序列發(fā)生正向突變,將burstNum加1,否則將突變計數(shù)器burstNum的值返回。返回值為正數(shù)表示有正向突變。至此,xn到來后的突變檢測工作就已經(jīng)完成了。如果檢測到突變則將發(fā)生突變的具體窗口大小及發(fā)生突變的窗口數(shù)目報告給用戶,提醒用戶有異常行為出現(xiàn)。
實施例2.設(shè)置RTH為小于1的值,只檢測反向突變。設(shè)置RTH=0.5,δ=0.01。如實施例1中,先將新來的值xn添加到直方圖中。然后按照圖5所示的算法檢測突變,具體步驟如下首先將突變計數(shù)器burstNum置為0,并將要檢測的窗口的長度windowSize置為1。接下來從windowSize=1到windowSize=n2]]>升序地,對長度為windowSize的窗口進行檢測。將BOIH.getSmallerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getLargerValue(2*windowSize)的返回值賦給臨時變量temp2。如果有temp2≤(1+RTH)(temp2-temp1),那么長度為windowSize的序列發(fā)生反向突變,將burstNum減1,否則將突變計數(shù)器burstNum的值返回。返回值為負(fù)數(shù)表示有反向突變。至此,xn到來后的突變檢測工作就已經(jīng)完成了。如果檢測到突變則將發(fā)生突變的具體窗口大小及發(fā)生突變的窗口數(shù)目報告給用戶,提醒用戶有異常行為出現(xiàn)。
實施例3.設(shè)置RTH1為小于1的值,RTH2為大于1的值,同時檢測正向突變和反向突變。設(shè)置RTH1=0.5,RTH2=1.1,δ=0.01。如實施例1中,先將新來的值xn添加到直方圖中。然后按照圖5所示的算法檢測突變,具體步驟如下首先將突變計數(shù)器burstNum置為0,并將要檢測的窗口的長度windowSize置為1。接下來從windowSize=1到windowSize=n2]]>升序地,對長度為windowSize的窗口進行以下兩步操作第一步,假如要監(jiān)測正向突變,則將BOIH.getLargerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getSmallerValue(2*windowSize)的返回值賦給臨時變量temp2。如果有temp2≥(1+RTH2)(temp2-temp1),RTH2>1,那么長度為windowSize的序列發(fā)生正向突變,將burstNum加1,否則如果burstNum不為0的話將突變計數(shù)器burstNum的值返回。第二步,假如要監(jiān)測反向突變,則將BOIH.getSmallerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getLargerValue(2*windowSize)的返回值賦給臨時變量temp2。如果有temp2≤(1+RTH1)(temp2-temp1),0<RTH1<1,那么長度為windowSize的序列發(fā)生反向突變,將burstNum減1,否則將突變計數(shù)器burstNum的值返回。返回值為正數(shù)表示有正向突變,返回值為負(fù)數(shù)表示有反向突變。至此,xn到來后的突變檢測工作就已經(jīng)完成了。如果檢測到突變則將發(fā)生突變的具體窗口大小及發(fā)生突變的窗口數(shù)目報告給用戶,提醒用戶有異常行為出現(xiàn)。
權(quán)利要求
1.一種實時監(jiān)測流數(shù)據(jù)突變的方法,其特征在于具體步驟如下設(shè)要監(jiān)測的采樣數(shù)據(jù)流為序列x1,..,xn,其中任意一個值xi是第i時刻的采樣值,i為時間戳,x1為最早的采樣值,xn為最新的采樣值,n的大小不受限制,設(shè)相對監(jiān)測門限為RTH,當(dāng)RTH大于1時,為正向突變,當(dāng)RTH小于1時,為反向突變;設(shè)要監(jiān)測的序列的最大長度為j(1≤j≤n/2),并且進行的聚集計算是Sum,那么定義當(dāng)Σk=n-j+1k=nxkΣk=n-2j+1k=n-jxk≥RTH(RTH>1)]]>時,當(dāng)前監(jiān)測的長度為j的序列發(fā)生正向突變,當(dāng)Σk=n-j+1k=nxkΣk=n-2j+1k=n-jxk≤RTH(0<RTH<1)]]>時,當(dāng)前監(jiān)測的長度為j的序列發(fā)生反向突變;(2)對于每個新來的采樣值xn,采用倒置桶序列的直方圖算法(記為BOIH)進行聚集計算,其步驟為①當(dāng)?shù)玫揭粋€新的采樣值xn,將當(dāng)前桶的總數(shù)B加1,并將B的值賦給j;②新建一個桶,并將新來的采樣值xn放入其中;③從i=B-1到i=1降序地,做如下操作(a)對桶bi將bia和bib分別增加xn;(b)判斷bib是否大于(1+δ)bja,如果bib大于(1+δ)bja,那么j--,然后跳至第3步執(zhí)行;否則,將bib的值賦給bjb,再將bi的Wid添加到bi的Wid上,假如bi的MaxD大于bj的MaxD,就用bi的MaxD替換bj的MaxD,假如bi的MinD小于bj的MinD,就用bi的MinD替換bj的MinD,最后刪除bi,并將當(dāng)前桶的總數(shù)B減1,然后跳至第3步執(zhí)行;其中,bi為桶,bia為bi中最小采樣值,bib為bi中最大采樣值,MaxD為桶中兩個相鄰采樣值之差的最大值,MinD為桶中兩個相鄰采樣值之差的最小值,δ為桶中相對誤差上限;(3)按上述步驟完成把xn添加到直方圖后,采用錯誤陽性和錯誤陰性的流數(shù)據(jù)監(jiān)測算法,檢測突變情況;其中,錯誤陽性算法如下①將突變計數(shù)器burstNum置為0,并將要檢測的窗口的長度windowSize置為1;②從windowSize=1到windowSize=n2]]>升序地,對長度為windowSize的窗口進行如下操作(a)假如要監(jiān)測正向突變,則將BOIH.getLargerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getSmallerValue(2*windowSize)的返回值賦給臨時變量temp2;如果有temp2≥(1+RTH)(temp2-temp1),RTH>1,那么長度為windowSize的序列發(fā)生正向突變,將burstNum加1,否則,如果burstNum為0則跳至第4步執(zhí)行;(b)假如要監(jiān)測反向突變,則將BOIH.getSmallerValue(windowSize)的返回值賦給臨時變量temp1,將BOIH.getLargerValue(2*windowSize)的返回值賦給臨時變量temp2;如果有temp2≤(1+RTH)(temp2-temp1),0<RTH<1,那么長度為windowSize的序列發(fā)生反向突變,將burstNum減1,否則跳至第4步執(zhí)行;③將突變計數(shù)器burstNum的值返回;錯誤陰性的算法如下①將突變計數(shù)器burstNum置為0,并將要檢測的窗口的長度windowSize置為1;②從windowSize=1到windowSize=n2]]>升序地,對長度為windowSize的窗口進行如下操作(a)假如要監(jiān)測正向突變,則將BOIH.getSmallerValue(windowSize)的返回值賦給臨時變量temp4,將BOIH.getLargerValue(2*windowSize)的返回值賦給臨時變量temp2;如果有temp2≥(1+RTH)(temp2-temp1),RTH>1,那么長度為windowSize的序列發(fā)生正向突變,將burstNum加1,否則,如果burstNum為0則跳至第2步執(zhí)行;(b)假如要監(jiān)測反向突變,則將BOIH.getLargerValue(windowSize)的返回值賦給臨時變量temp4,將BOIH.getSmallValue(2*windowSize)的返回值賦給臨時變量temp2;如果有temp2≤(1+RTH)(temp2-temp1),0<RTH<1,那么長度為windowSize的序列發(fā)生反向突變,將burstNum減1,否則跳至第2步執(zhí)行;③將突變計數(shù)器burstNum的值返回。
全文摘要
本發(fā)明為一種實時監(jiān)測數(shù)據(jù)突變的方法。該方法首先對現(xiàn)有監(jiān)測方法關(guān)于數(shù)據(jù)突變的定義進行了擴充,提出了動態(tài)地監(jiān)測突變的定義;其次,引入了倒置桶序列的直方圖算法(BOIH),利用很小的空間精確地壓縮采樣數(shù)據(jù)流x1,x2…xn;當(dāng)把xn添加到直方圖后,采用錯誤陽性和錯誤陰性的流數(shù)據(jù)監(jiān)測算法檢測突變情況。本發(fā)明方法能夠?qū)崿F(xiàn)自適應(yīng)地監(jiān)測數(shù)據(jù)突變,而且能同時監(jiān)測任意多個不同時間長度窗口內(nèi)的突變,并可排除數(shù)據(jù)顛簸對監(jiān)測結(jié)果的影響,為提高軟件系統(tǒng)的執(zhí)行效率,兼容性和可靠性提供了保障。
文檔編號H04L12/26GK1588893SQ200410066238
公開日2005年3月2日 申請日期2004年9月9日 優(yōu)先權(quán)日2004年9月9日
發(fā)明者秦首科, 周傲英 申請人:復(fù)旦大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1