发明名称 基于投票策略的容错事件检测方法
摘要 本发明公开了一种基于投票策略的容错事件检测方法,包括顺序执行的如下步骤:(1)各个节点获取自身的检测数据;(2)基于直方图对检测数据进行容错处理;(3)基于属性的相关性对检测数据进行本地错误检测,区分出LF节点和初步的Normal节点;(4)对初步的Normal节点进行本地事件决策,区分出LE节点和Normal节点;(5)对LF节点和LE节点,计算其邻居节点的可信度;(6)基于可信度和距离权重投票,判断节点为Event节点或Normal节点。本发明提供的基于投票策略的容错事件检测方法,具有较高的事件检测率和错误修正率,具有较低的事件误报率和错误引入率,并具有较少的能力消耗。
申请公布号 CN103533571B 申请公布日期 2016.06.08
申请号 CN201310552747.3 申请日期 2013.11.07
申请人 东南大学 发明人 吕建华;张柏礼;王进强
分类号 H04W24/04(2009.01)I 主分类号 H04W24/04(2009.01)I
代理机构 南京瑞弘专利商标事务所(普通合伙) 32249 代理人 杨晓玲
主权项 基于投票策略的容错事件检测方法,其特征在于:定义节点的状态如下:Normal:表示节点S<sub>local</sub>的监测区域内无事件发生,节点S<sub>local</sub>未出现故障和错误;LF:表示节点S<sub>local</sub>可能出现故障或错误数据,用于节点S<sub>local</sub>的本地事件判定中;LE:表示节点S<sub>local</sub>监测区域内可能出现事件,用于节点S<sub>local</sub>的本地事件判定中;Event:表示节点S<sub>local</sub>监测区域内出现事件,用于节点S<sub>local</sub>投票决策中;Fault:表示节点S<sub>local</sub>出现故障事件,且不能纠正,用于节点S<sub>local</sub>投票决策中;包括顺序执行的如下步骤:(1)各个节点获取自身的检测数据;(2)基于直方图对检测数据进行容错处理;基于直方图对检测数据进行容错处理时,数据中心的获取方法如下:(21)对于数据x<sub>1</sub>,x<sub>2</sub>,…,x<sub>n</sub>,根据各数据生成直方图结构,得到k个分组g<sub>1</sub>,g<sub>2</sub>,…,g<sub>i</sub>,…,g<sub>k</sub>;(22)定义第i个分组的大小|g<sub>i</sub>|为第i个分组中包含的数据的个数,根据各个分组的大小由大到小排列得到g<sub>k</sub>',…,g<sub>i</sub>',…,g<sub>2</sub>',g<sub>1</sub>';(23)给定一个均值数据覆盖度m<sub>0</sub>,由大到小累积各组数据,直到组g<sub>r</sub>'满足下式:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mi>r</mi></mrow><mi>k</mi></munderover><msubsup><mi>g</mi><mi>i</mi><mo>&prime;</mo></msubsup></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msubsup><mi>g</mi><mi>i</mi><mo>&prime;</mo></msubsup></mrow></mfrac><mo>&GreaterEqual;</mo><msub><mi>m</mi><mn>0</mn></msub></mrow>]]></math><img file="FDA0000900436390000013.GIF" wi="227" he="271" /></maths>(24)以组g<sub>r</sub>',…,g<sub>k</sub>'包含的数据,计算数据中心<img file="FDA0000900436390000014.GIF" wi="79" he="70" /><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>p</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mi>r</mi></mrow><mi>k</mi></munderover><mo>|</mo><msubsup><mi>g</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>|</mo></mrow>]]></math><img file="FDA0000900436390000011.GIF" wi="220" he="134" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mover><mi>x</mi><mo>&OverBar;</mo></mover><mi>h</mi></msub><mo>=</mo><mfrac><mn>1</mn><mi>p</mi></mfrac><msub><mi>&Sigma;x</mi><mi>j</mi></msub></mrow>]]></math><img file="FDA0000900436390000012.GIF" wi="261" he="142" /></maths>此处x<sub>j</sub>∈g′<sub>i</sub>,i=r,r+1,…,k;(3)基于属性的相关性对检测数据进行本地错误检测,区分出LF节点和初步的Normal节点;具体方法为:记节点的两个强相关属性X和Y的初始相关性为R<sub>0</sub>(X,Y),实时相关性为R(X,Y),对于一个相关性偏离度阈值ξ,若属性相关性的变化程度满足下式:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mo>|</mo><mfrac><mrow><mi>R</mi><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>Y</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>R</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>Y</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>R</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>X</mi><mo>,</mo><mi>Y</mi><mo>)</mo></mrow></mrow></mfrac><mo>|</mo><mo>&lt;</mo><mi>&xi;</mi></mrow>]]></math><img file="FDA0000900436390000021.GIF" wi="453" he="158" /></maths>则认为X和Y的相关性没有变化,节点为初步的Normal节点;否则,认为X和Y的相关性发生了变化,节点为Event节点;(4)对初步的Normal节点进行本地事件决策,区分出LE节点和Normal节点;具体方法为:设属性X在正常情况下的平均取值为M<sub>n</sub>,在事件发生时的平均取值为M<sub>e</sub>,M<sub>e</sub>&gt;M<sub>n</sub>,定义事件发生的阈值x<sub>th</sub>为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>t</mi><mi>h</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><msub><mi>M</mi><mi>n</mi></msub><mo>+</mo><msub><mi>M</mi><mi>e</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000900436390000022.GIF" wi="372" he="126" /></maths>对于属性X的实时取值x<sub>i</sub>,事件发生的二元判断规则为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>B</mi><mi>e</mi></msub><mo>=</mo><mfenced open = '{' close = ''><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>&gt;</mo><msub><mi>x</mi><mrow><mi>t</mi><mi>h</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>&le;</mo><msub><mi>x</mi><mrow><mi>t</mi><mi>h</mi></mrow></msub></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000900436390000023.GIF" wi="454" he="158" /></maths>其中,B<sub>e</sub>=1表示节点为LE节点,B<sub>e</sub>=0表示节点为Normal节点;(5)对LF节点和LE节点,计算其邻居节点的可信度;节点的可信度C通过下式计算:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>C</mi><mo>=</mo><mn>1</mn><mo>-</mo><mfrac><mrow><mo>|</mo><mi>R</mi><mo>-</mo><msub><mi>R</mi><mn>0</mn></msub><mo>|</mo></mrow><mrow><mo>|</mo><mi>R</mi><mo>|</mo><mo>+</mo><mo>|</mo><msub><mi>R</mi><mn>0</mn></msub><mo>|</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000900436390000024.GIF" wi="331" he="158" /></maths>其中,R<sub>0</sub>(X,Y)表示属性X和属性Y的初始相关性,R(X,Y)表示属性X和属性Y的实时相关性;(6)基于可信度和距离权重投票,判断节点为Event节点或Normal节点;具体方法为:(61)定义S<sub>local</sub>为当前节点,S<sub>i</sub>为S<sub>local</sub>的一跳邻居节点,则:节点S<sub>i</sub>相对于节点S<sub>local</sub>的反距离权重InvDistWeight<sub>il</sub>为:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>InvDist</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><mi>D</mi><mi>i</mi><mi>s</mi><mi>tan</mi><mi>c</mi><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>,</mo><msub><mi>S</mi><mrow><mi>l</mi><mi>o</mi><mi>c</mi><mi>a</mi><mi>l</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><mi>D</mi><mi>i</mi><mi>s</mi><mi>tan</mi><mi>c</mi><mi>e</mi><mrow><mo>(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>,</mo><msub><mi>S</mi><mrow><mi>l</mi><mi>o</mi><mi>c</mi><mi>a</mi><mi>l</mi></mrow></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000900436390000031.GIF" wi="1051" he="133" /></maths><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>InvDistWeight</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>InvDist</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>InvDist</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub></mrow></mfrac></mrow>]]></math><img file="FDA0000900436390000032.GIF" wi="628" he="207" /></maths>其中,Distance(S<sub>i</sub>,S<sub>local</sub>)是节点S<sub>i</sub>和节点S<sub>local</sub>之间坐标的欧几里得距离;节点S<sub>i</sub>对节点S<sub>local</sub>的投票值V<sub>i</sub>为:V<sub>i</sub>=C<sub>i</sub>×InvDistWeight<sub>il</sub>其中,C表示节点的可信度;(62)在当前节点S<sub>local</sub>的所有一跳邻居节点S<sub>i</sub>中,计算具有相同本地事件决策结果投票值之和,记所有本地决策为LE节点的投票值之和为V<sub>e</sub>,所有本地决策为Normal节点的投票值之和为V<sub>n</sub>,计算V<sub>e</sub>和V<sub>n</sub>之间的差异程度V<sub>diff</sub>为:<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><mi>V</mi><mrow><mi>d</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub><mo>=</mo><mfrac><mrow><mo>|</mo><msub><mi>V</mi><mi>e</mi></msub><mo>-</mo><msub><mi>V</mi><mi>n</mi></msub><mo>|</mo></mrow><mrow><mo>|</mo><msub><mi>V</mi><mi>e</mi></msub><mo>+</mo><msub><mi>V</mi><mi>n</mi></msub><mo>|</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000900436390000033.GIF" wi="300" he="159" /></maths>(64)将V<sub>diff</sub>和设定的事件边界阈值θ进行比较:若V<sub>n</sub>&gt;0且V<sub>e</sub>=0,则判断LE节点为Normal节点,LF节点为Normal节点;若V<sub>n</sub>‑V<sub>e</sub>&gt;θ,则判断LE节点为Event节点,LF节点为Normal节点;若V<sub>diff</sub>&lt;θ,则判断LE节点为Event节点,LF节点状态不定;若V<sub>e</sub>‑V<sub>n</sub>&gt;θ,则判断LE节点为Event节点,LF节点为Event节点;若V<sub>n</sub>=0且V<sub>e</sub>&gt;0,则判断LE节点为Event节点,LF节点为Event节点。
地址 211189 江苏省南京市江宁区东南大学路2号