一种针对稳定性元素的探测方法和相关设备与流程

文档序号:30345288发布日期:2022-06-08 09:01阅读:150来源:国知局
一种针对稳定性元素的探测方法和相关设备与流程

1.本发明涉及通信技术领域,特别涉及一种针对稳定性元素的探测方法和相关设备。


背景技术:

2.突发性元素(burst)是指在数据流中一个时间段内突然增多或者突然减少的流,突然性元素在众多领域都有着很重要的应用,比如网络、数据库、网络安全等。而与之相反,在一个时间段内流量维持稳定的流同样有着重要的作用,可以通过侦测流量维持稳定的流来对网络及数据流状态等进行判断,可以进行异常诊断,在操作系统中可以用来提高命中率等,在网络、数据库、网络安全等领域有着重要的作用。
3.而与流量维持稳定的流概念比较相近是持续性元素,但是持续性元素只是记录了在一个时间段内,一个流经过的时间窗口数,并没有对数据流进行频数估计,更没有识别稳定流的能力。
4.所以,现有技术中是没有探测稳定流的数据流算法,更无法实现利用较小的空间,实现对数据流中稳定性元素的精准探测,其中,将一个在p个时间窗口内不间断并且其频数的方差小于某个阈值的数据流,认定为稳定性元素。


技术实现要素:

5.本发明的主要目的在于提供一种针对稳定性元素的探测方法和相关设备,旨在解决现有技术中无法实现对数据流中稳定性元素的精准探测,所以无法通过侦测稳定性元素来对网络及数据流状态等进行异常诊断。
6.为了达到上述目的,本发明采取了以下技术方案:一种针对稳定性元素的探测方法,包括以下步骤:构建概率数据结构,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断;若未发生过中断,则计算在所述预设时间内所述数据流出现的频数值的方差;判断所述方差是否小于预设阈值,若小于所述预设阈值,则确认所述数据流为稳定性元素;实时监测所述稳定性元素的稳定时间,若根据所述稳定时间判定所述稳定性元素不再具有稳定性,则网络及所述数据流的状态出现故障。
7.所述针对稳定性元素的探测方法中,所述若未发生过中断,则计算在所述预设时间内所述数据流出现的频数值的方差,具体包括:若所述数据流在预设时间内未发生过中断,则计算所述预设时间内计数器中记录所述数据流出现的频数值的方差,得到第一方差;若所述频数值大于所述计数器的最大计数值,则对每一个所述频数值加上“(最大计数值+1)/2”,并将计算结果对“(最大计数值+1)”进行取模后,再进行方差的计算得到第
二方差。
8.所述针对稳定性元素的探测方法中,所述构建概率数据结构,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断,具体包括:构建所述概率数据结构后,利用哈希函数将所述数据流映射到稳定性过滤器中对应的桶内;将所述数据流出现的当前时刻对桶中比特位的总个数值进行取模,得到当前时间窗口对应的比特位,并将当前时间窗口对应的比特位设置为“1”;判断在所述预设时间内时间窗口上是否存在“0”,若存在,则所述数据流在预设时间内发生过中断,否则,则所述数据流在预设时间内未发生过中断。
9.所述针对稳定性元素的探测方法中,所述判断所述数据流在预设时间内是否发生过中断,还包括:若发生过中断,则所述数据流为非稳定性元素,不对所述数据流进行处理。
10.所述针对稳定性元素的探测方法中,所述判断所述方差是否小于预设阈值,若小于所述预设阈值,则确认所述数据流为稳定性元素,具体包括:将所述第一方差和所述第二方差的大小分别与所述预设阈值进行比较,若所述第一方差和所述第二方差中的任一个小于所述预设阈值,则确认所述数据流为稳定性元素。
11.所述针对稳定性元素的探测方法中,所述预设时间为当前时间窗口的前p个时间窗口的时间。
12.所述针对稳定性元素的探测方法中,所述最大计数值=(2^计数器的位数)-1。
13.所述针对稳定性元素的探测方法中,所述概率数据结构包括:所述稳定性过滤器、多维sketch结构和稳定性元素筛选器。
14.所述针对稳定性元素的探测方法中,所述稳定性过滤器由d个队列组成,其中,d个队列对应d个哈希函数,每个队列中含有g个桶,每个桶中含有m个比特位,每个比特位对应一个所述时间窗口,每一个所述时间窗口对应一个计数器。
15.所述针对稳定性元素的探测方法中,所述多维sketch结构由q个队列组成,其中,q个队列对应q个哈希函数,每个队列中含有j个桶,每个桶中含有w个计数器。
16.所述针对稳定性元素的探测方法中,所述稳定性元素筛选器由k个桶组成,每个桶中含x个单元,每个单元中含3个区域,分别记录所述数据流的id、所述数据流的开始稳定时间和所述数据流的结束稳定时间。
17.一种针对稳定性元素的探测系统,所述针对稳定性元素的探测系统包括:中断检测模块,用于构建概率数据结构,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断;方差计算模块,用于若未发生过中断,则计算在所述预设时间内所述数据流出现的频数值的方差;比较模块,用于判断所述方差是否小于预设阈值,若小于所述预设阈值,则确认所述数据流为稳定性元素;故障判断模块,用于实时监测所述稳定性元素的稳定时间,若根据所述稳定时间判定所述稳定性元素不再具有稳定性,则网络及所述数据流的状态出现故障。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有针对稳定性元素的探测程序,所述针对稳定性元素的探测程序被处理器执行时实现如上所述的针对稳定性元素的探测方法的步骤。
19.相较于现有技术,本发明提供的一种针对稳定性元素的探测方法和相关设备,所述方法,包括以下步骤:构建概率数据结构,利用概率数据结构对数据流进行持续性检查,并判断数据流在预设时间内是否发生过中断;若所述数据流在预设时间内未发生过中断,则计算预设时间内数据流出现的频数值的方差;判断方差是否小于预设阈值,若小于预设阈值,则判断数据流为稳定性元素;实时监测稳定性元素的稳定时间,若稳定性元素不再具有稳定性,则判断为网络及数据流的状态可能出现故障。本发明中将在预设时间内未发生过中断,且其频数值的方差小于预设阈值的数据流称为稳定性元素,从而精准探测出数据流中稳定性元素,有效地为对网络及数据流状态等进行异常诊断提供诊断依据。
附图说明
20.图1为本发明提供的针对稳定性元素的探测方法的较佳实施例的流程图;图2为本发明提供的针对稳定性元素的探测方法的较佳实施例中步骤s100的流程图;图3为本发明提供的稳定性过滤器数据结构和数据流插入示意图;图4为本发明提供的针对稳定性元素的探测方法的较佳实施例中步骤s200的流程图;图5为本发明提供的多维sketch结构和操作示意图;图6为本发明提供的持续稳定性元素筛选器的数据结构及其操作示意图;图7为本发明提供的针对稳定性元素的探测系统的原理框图;图8为本发明提供的数据流状态诊断系统的较佳实施例的运行环境示意图。
21.附图标记:100:中断检测模块;200:方差计算模块;300:比较模块;400:故障判断模块。
具体实施方式
22.为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
23.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
24.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该
理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
25.本发明提供的一种针对稳定性元素的探测方法和相关设备;本发明中通过判断数据流在预设时间内是否发生过中断,以及通过计算预设时间内数据流出现的频数值的方差,并判断方差是否小于预设阈值,将在预设时间内未发生过中断,且其频数值的方差小于预设阈值的数据流称为稳定性元素,从而对数据流中稳定性元素进行精准探测,有效地为网络及数据流的状态是否出现故障提供判断标准。
26.下面通过具体示例性的实施例对针对稳定性元素的探测方法设计方案进行描述,需要说明的是,下列实施例只用于对发明的技术方案进行解释说明,并不做具体限定:请参阅图1,本发明提供的一种针对稳定性元素的探测方法,包括以下步骤:s100、构建概率数据结构,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断;其中,所述概率数据结构包括:所述稳定性过滤器、多维sketch结构和持续稳定性元素筛选器。
27.具体地,为了探测所述数据流是否为所述稳定性元素,提出了一种新型且高效的所述概率数据结构,称为steadysketch,能够在较小的空间内,从而实现对所述稳定性元素的精准探查;与利用所述概率数据结构对所述稳定性元素进行探测不同的是,在对持续性元素的探测与查询中,只能够获取所述持续性元素在一个时间段以来出现的时间窗口数,但并不能汇报所述持续性元素在此时间段内是否存在中断,并且不能汇报所述持续性元素的频数以及频数稳定性;但是,steadysketch很好地克服了以上两个缺点,可以在高速和有限的内存中精准地探查所述稳定性元素。
28.steadysketch基本结构由三部分组成,第一部分为所述稳定性过滤器,所述稳定性过滤器的基本数据结构由布隆过滤器扩充而来,由d个队列组成,其中,d个队列对应d个哈希函数,每个队列中含有g个桶,但是与常规布隆过滤器不同的是,每个队列中的桶不再只是单纯一个的比特位,而是每个桶中含有m个比特位,每个比特位对应一个所述时间窗口,每一个所述时间窗口对应一个计数器;d为大于1的正整数,一般设置为小于5的数;g为大于1的正整数,可以是几千甚至是几万个;所述稳定性过滤器用于对所述稳定性元素进行连续性检查,可用来判断所述数据流在一段时间(预设时间)内是否有过中断;本技术中通过构建一种全新的所述概率数据结构,然后,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断,以便进行下一步的操作,从而有效地判断出所述数据流在预设时间内是否出现中断。
29.更进一步地,请参阅图2,步骤s100、构建概率数据结构,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断,具体包括:s110、构建所述概率数据结构后,利用哈希函数将所述数据流映射到稳定性过滤器中对应的桶内;s120、将所述数据流出现的当前时刻对桶中比特位的总个数值进行取模,得到当前时间窗口对应的比特位,并将当前时间窗口对应的比特位设置为“1”;s130、判断在所述预设时间内时间窗口上是否存在“0”,若存在,则所述数据流在
预设时间内发生过中断,否则,则所述数据流在预设时间内未发生过中断。其中,所述预设时间为当前时间窗口的前p个时间窗口的时间,p和m均为大于1的正整数,且m大于且等于(p+2)。
30.具体地,在构建所述概率数据结构后,首先,进行第一阶段的操作:将所述数据流插入所述稳定性过滤器中,即通过d个哈希(hash)函数将流五元组(所述五元组是通信术语,包括:源ip 地址、目的ip地址、源端口、目的端口和类型。例如:192.168.1.1 10000 tcp 121.14.88.76 80就构成了一个五元组,源ip地址为192.168.1.1,源端口为10000,协议为tcp,目的ip地址为:121.14.88.76,目的端口号为80)计算到d个队列中的g个桶中的其中一个,即利用哈希函数将所述数据流映射到稳定性过滤器中对应的桶内;然后,将所述数据流出现的当前时间对m进行取模(取模运算是求两个数相除的余数),根据取模的结果对应选取当前时间窗口的位,并判断在当前窗口上是否已经为“1”,若是,则判断所述数据流不是首次出现,否则,则判断所述数据流是首次出现;再者,将当前时间窗口的比特位设置为“1”,并读取当前时间窗口的前p个时间窗口(前p个时间窗口的时间为所述预设时间)中的比特值,只要前p个时间窗口中的比特值有一个是“0”,就可以判断所述数据流在预设时间内是发生过中断,否则,就可以判断所述数据流在预设时间内未发生过中断,最后标记所述数据流是否首次出现和是否发生中断的状态。
31.其中,稳定性过滤器数据结构和数据流插入示意图如图3所示,ai表示一个队列,ai下的一个方格为一个桶,每个桶中含m个比特位(图中的小正方格,每个比特位的初始值均为“0”),若当前时间窗口之前的位数小于p位,则在后面循环选取需要的位数。例如,图中数据流e2在t2时间出现时,首先通过hash函数(g2(e2))将所述数据流e2映射到相应桶中,然后,通过计算t2%m(取模)来选择代表当前时间窗口的比特位(图中粗小正方格),若发现当前时间窗口的比特位已经被标记为“1”,则说明这个元素在当前时间窗口已经出现过,即所述数据流e2在前p个时间窗口内不是首次出现,若发现当前时间窗口的比特位没有被标记为“1”,则说明这个元素在当前时间窗口未出现过,即所述数据流e2在前p个时间窗口内是首次出现;并且,由于前p个时间窗口中的比特位均为“1”(由于当前时间窗口为第3位,且“p”举例为“3”,即需要读取当前时间窗口的前3个时间窗口,所以循环相应地读取最后面的一位数,同理若是需要读取当前时间窗口(此时为3)的前n个时间窗口,所以循环相应地读取最后面的(n-2)位数),所以将所述数据流e2标记为:“非中断,且是在当前时间窗口首次出现”。同理,对数据流e1和e3分别进行标记,其中,图例中只所述数据流e2满足以下条件:在前p个时间窗口未中断,并且在当前时间窗口首次出现。
32.进一步地,所述判断所述数据流在预设时间内是否发生过中断,还包括:s140、若发生过中断,则所述数据流为非稳定性元素,不对所述数据流进行处理。
33.具体地,如果所述数据流在前p个时间窗口内发生过中断,则可判定所述数据流为非稳定性元素,不会进行频数方差计算。
34.进一步地,请继续参阅图1,s200、若未发生过中断,则计算在所述预设时间内所述数据流出现的频数值的方差;具体地,如果所述数据流在前p个时间窗口未发生过中断,则进入第二阶段的操作:对所述数据流的频数方差计算。此时,需要使用steadysketch中的第二部分结构,即多
维sketch结构(rollingsketch),其是由q个队列组成,q个队列同样对应q个哈希函数,其中,每个队列中含有j个桶,每个桶中含有w个计数器,一个所述计数器对应一个时间窗口,每个计数器大小为1个字节(8 比特位),分别对在该时间窗口中来过的数据流进行频数统计,q、j和w均为大于1的正整数,且w大于且等于(p+2);所述计数器用于记录所述数据流在预设时间里多个时间窗口中的出现的频数;也即在多维sketch结构中计算所述数据流的频数方差。
35.需要说明的是本技术中为了减少计算量,可以当所述数据流满足在前p个时间窗口未发生过中断且在当前时间窗口上首次出现的条件,才进入第二阶段的操作。
36.更进一步地,请参阅图4,所述步骤s200、若未发生过中断,则计算在所述预设时间内所述数据流出现的频数值的方差,具体包括:s210、若所述数据流在预设时间内未发生过中断,则计算所述预设时间内计数器中记录所述数据流出现的频数值的方差,得到第一方差;s220、若所述频数值大于所述计数器的最大计数值,则对每一个所述频数值加上“(最大计数值+1)/2”,并将计算结果对“(最大计数值+1)”进行取模后,再进行方差的计算得到第二方差。其中,所述最大计数值=(2^计数器的位数)-1。
37.具体地,在多维sketch结构中计算所述数据流的频数方差的步骤具体如下:首先,同样的,通过d个哈希函数将流五元组计算到d个队列中的g个桶中的其中一个,即利用哈希函数将所述数据流映射到稳定性过滤器中对应的桶内,然后,将所述数据流出现的当前时间对w进行取模,根据取模的结果对应选取当前时间窗口的计数器,并将当前时间窗口的计数器中的频数值加一。
38.再者,如果所述数据流在第一阶段中前p个时间窗口未发生过中断,且在当前时间窗口上首次出现,则在第二阶段中将前p个计数器内记录所述数据流出现的频数值进行方差计算,得到所述第一方差,但是,如果多个所述频数值中的任意一个频数值大于所述计数器的最大计数值(2^计数器的位数-1),则将多个所述频数值均加上“(最大计数值+1)/2”,并将计算结果对“(最大计数值+1)”进行取模,最后,再次对取模后的计算结果进行方差的计算,该取模后计算方差的过程也叫偏移方差计算,最终的计算结果就是所述第二方差,将所述偏移方差计算过程称为重生机制,所述计数器中的频数值超过最大计数值后,就重新从0开始计算就被成为一次溢出,每一次溢出将其视为一次重生,通过偏移方差计算来保存了频数值之间的离散性,从而有效地降低了方差估计误差,在减少了空间占用的同时没有明显降低方差计算的精度。
39.例如:所述数据流在前三个时间窗口内真实的频数值应该为:254、256和258,真实方差应该为2.67;但计数器中存放的频数值(以8位的计数器为例,则只能存放的所述最大计数值为255,超过所述最大计数值后重新计算)为:254、0和2,这样计算的方差(第一方差)为:21337,将此时存放的频数值均加上128后并对256进行取模,得到偏移后的频数值为:126、128和130,则偏移后的方差(第二方差)为:2.67,而偏移后的方差与真实值相同。
40.其中,多维sketch结构和操作示意图如图5所示,图中数据结构以一个队列中有1个桶(或slot)(桶为图中的一个切面)为例,每个桶中有6个计数器(图中的小正方体),每个计数器8个字节,实际应用中可以设置多个队列对应多个哈希函数;图中序号
①②③④
分别代表插入时的操作顺序,当元素e在t时间插入到rollingsketch中时,首先还是通过哈希函
数(fi(e))选择映射到相应的桶,之后通过对t%m来选择当前时间窗口的计数器(counter),将当前时间窗口的计数器中的频数值加一,即为图中8比特计数器(rolling counter)顺时针旋转一格。
41.如果第一阶段中在所述稳定性过滤器的标记结果显示所述数据流为前p个时间窗口未中断(或并且当前时间窗口首次出现),则计算该元素的方差,首先取出桶中代表前p个时间窗口的计数器的频数值,计算方差(偏移方差)v0,随后将每个频数值加128,计算偏移方差(偏移频数方差)v1,只要方差v0和偏移方差v1其中一个方差小于预设阈值,就认定所述数据流为一个瞬时稳定性元素。
42.进一步地,请继续参阅图1,s300、判断所述方差是否小于预设阈值,若小于所述预设阈值,则确认所述数据流为稳定性元素;具体地,在计算出了所述方差(所述第一方差和所述第二方差)后,将所述预设阈值与所述方差进行比较,若所述方差均小于所述预设阈值,一般所述预设阈值为5,则可以确认所述数据流为稳定性元素。
43.更进一步地,所述步骤s300、判断所述方差是否小于预设阈值,若小于所述预设阈值,则确认所述数据流为稳定性元素,具体包括:s310、将所述第一方差和所述第二方差的大小分别与所述预设阈值进行比较,若所述第一方差和所述第二方差中的任一个小于所述预设阈值,则确认所述数据流为稳定性元素。
44.具体地,在计算出了所述第一方差和所述第二方差后,将所述预设阈值与所述第一方差和所述第二方差进行比较,若所述第一方差和所述第二方差中的任一个方差小于所述预设阈值,一般所述预设阈值为5,则可以确认所述数据流为稳定性元素,并汇报给数据中心。本发明中判断是否是稳定性元素的方法,不限于对所述数据流进行探测,还可以应用于在海洋中寻找方向和流速稳定的洋流,从而对航海提供帮助,以及应用于无线传感器网络中对流信号的稳定性的监测等。
45.进一步地,请继续参阅图1,s400、实时监测所述稳定性元素的稳定时间,若根据所述稳定时间判定所述稳定性元素不再具有稳定性,则网络及所述数据流的状态出现故障。
46.具体地,在结束第二阶段汇报稳定性元素后,将进行第三阶段的操作,也即在所述概率数据结构的第三部分结构中进行对稳定性元素的进一步探测,监测所述稳定性元素是否是持续稳定性元素(在第三阶段中仍能保持一段时间的稳定,则称之为所述持续稳定性元素,否则就是瞬时稳定性元素),并实时监测所述稳定性元素的稳定时间,若根据所述稳定时间判定所述稳定性元素不再具有稳定性,则可以判断所述网络及所述数据流的状态其中一个或两个可能出现了故障,也可能是所述数据流发生了中断等,而在无线传感器网络中,如果一个流不是稳定的,那么发出这个流的节点很可能是出了问题,比如没电了或位置移动了之类等原因,以便可以进行一些相关的检测操作。
47.其中,所述概率数据结构的第三部分结构为所述持续稳定性元素筛选器,其采用了无偏spacesaving数据结构来对稳定性元素进行存储与统计,所述持续稳定性元素筛选器的基本数据结构由k个桶组成,每个桶中含x个单元(cell),每个单元中含3个区域,分别记录所述数据流的id、所述数据流的开始稳定时间和所述数据流的结束稳定时间,其中,k和x均是大于1的正整数;所述持续稳定性元素筛选器主要用来探测及筛选持续稳定性元
素,将对被判断为所述持续稳定性元素进行存储,并记录其稳定时长;具体的实时监测过程如下:同样地通过哈希函数将所述数据流映射到相应的桶中,优先判断桶中所有的单元内是否存在相同id的所述数据流,再判断是否有空余的cell,如果不存在相同id的所述数据流,且有空余的cell,则直接插入所述数据流的id,开始稳定时间为当前时间窗口,结束稳定时间为下一时间窗口;如果存在相同id的所述数据流,且所述数据流的结束稳定时间为当前时间窗口,则更新其结束稳定时间为下一时间窗口;如果存在相同id的所述数据流,但所述数据流的结束稳定时间不为当前时间窗口,则重新更新其开始稳定时间和结束稳定时间为当前时间,并汇报已经存在的所述数据流至所述数据中心;如果不存在相同id的所述数据流,并且没有空余的cell,则进行剔除操作,即选取稳定性持续时间(结束稳定时间和开始稳定时间的差值)最短的元素,将其id更新为当前数据流的id,以及将结束稳定时间更新为当前时间窗口。
48.其中,持续稳定性元素筛选器的数据结构及其操作示意图如图6所示,示意图中参数p设置为5(为了方便计算,此次参数p设置为5,实际时三个部分中的p值应该相同,那么此次进入第三阶段的数据流的稳定时间都应该是5)。具体的实时监测过程如下:首先,通过hash函数将数据流《e1,21》和《e2,30》映射到同一个桶(图中的小正方体,单元则是图中的小圆柱体)中,当所述数据流e1插入时,发现桶中已有所述数据流e1,并且结束稳定时间(recent)为上一个时间窗口(20),则表示所述数据流e1的稳定过程依然在继续,则更新其结束稳定时间为当前的21;当所述数据流e2插入时,因为桶中没有相同的元素,但有空的位置,所以直接插入。
49.同样的,数据流《e4,26》和《e5,17》通过hash函数映射到同一个桶中,所述数据流e4插入时,发现桶中含有相同元素,但是已存在的数据流e4的稳定过程已经中断(已存在的数据流e4的稳定性持续时间与正要插入的数据流e4的稳定性持续时间没有重叠部分),则将正要插入的数据流e4视为一个已经结束的持续稳定性元素进行汇报,将插入新的开始稳定时间(start,图中的21)以及结束稳定时间(图中的26)。当所述数据流e5插入时桶中没有空余位置(图中下面的4个单元均存满),则选择一个稳定持续时间最短的数据流(图中的e3,只持续了5个时间窗口)进行替换,将稳定持续时间最短的数据流的id和已经结束稳定时间(16)进行替换为当前所述数据流e5的id以及当前时间(17),所以,图中只有e1属于持续稳定性元素。最终汇报时,会将所有的持续稳定性元素筛选器中所有的元素进行输出。
50.进一步地,本技术在构建所述概率数据结构后进行第一阶段和第二阶段的操作中,即在所述稳定性过滤器中检测所述数据流是否发生中断,以及在计多维sketch结构中算稳定性元素的方差的过程中,与所述数据流同步进行的还有数据结构清除过程,所述数据结构清除过程主要在第一阶段与第二阶段,主要操作就是周期性清空rollingsketch中的计数器和过滤器中的比特位和计数器。
51.由于数据结构中只维持了m个时间窗口的流信息(数据流的信息),因此为了保证流信息的准确性,需要清空之前时间窗口的值。而为了减少重复的清除操作,只有当时间窗口转换时才进行清空操作,并且为防止对当前时间窗口的插入造成影响,选择清空的是下一时间窗口的计数器及过滤器的位值。因此当时间窗口进行切换时,会将稳定性过滤器以及rollingsketch中当前时间窗口的下一时间窗口对应的位以及计数器进行清空操作。并且由于清空操作不对当前时间窗口的操作有所影响,所以可以使用多线程等进行并行操
作,从而不对吞吐率等性能造成影响。
52.进一步地,请参阅图7,本发明提供的一种针对稳定性元素的探测系统,所述针对稳定性元素的探测系统包括:中断检测模块100、方差计算模块200、比较模块300和故障判断模块400;所述中断检测模块100,用于构建概率数据结构,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断;所述方差计算模块200,用于若未发生过中断,则计算在所述预设时间内所述数据流出现的频数值的方差;所述比较模块300,用于判断所述方差是否小于预设阈值,若小于所述预设阈值,则确认所述数据流为稳定性元素;所述故障判断模块400,用于实时监测所述稳定性元素的稳定时间,若根据所述稳定时间判定所述稳定性元素不再具有稳定性,则网络及所述数据流的状态出现故障。
53.具体地,本技术中在构建所述概率数据结构后,通过所述中断检测模块100对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断,然后,利用所述方差计算模块200对未发生过中断且在当前时间窗口上首次出现的所述数据流,计算其在所述预设时间内出现的频数值的方差,最后,所述比较模块300将所述方差与所述预设阈值进行比较,把所述方差小于所述预设阈值的所述数据流判断为所述稳定性元素,最终,所述故障判断模块400在实时监测所述稳定性元素的稳定时间后,根据所述稳定性元素的稳定状态,来断定网络和所述数据流的状态是否可能发生故障,从而实现了在有限的空间及高速数据流中精准地对所述稳定性元素进行探测,并根据所述稳定性元素的状态来对网络或数据流状态是否可能发生异常进行诊断。
54.更进一步地,本发明还提供一种数据流状态诊断系统,所述数据流状态诊断系统包括处理器10、存储器20及显示器30。图8仅示出了数据流状态诊断系统的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
55.所述存储器20在一些实施例中可以是所述数据流状态诊断系统的内部存储单元,例如数据流状态诊断系统的硬盘或内存。所述存储器20在另一些实施例中也可以是所述数据流状态诊断系统的外部存储设备,例如所述数据流状态诊断系统上配备的插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。进一步地,所述存储器20还可以既包括所述数据流状态诊断系统的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述数据流状态诊断系统的应用软件及各类数据。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有针对稳定性元素的探测程序40,所述针对稳定性元素的探测程序40可被处理器10所执行,从而实现本发明中针对稳定性元素的探测方法。
56.所述处理器10在一些实施例中可以是一中央处理器(central processing unit, cpu),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述针对稳定性元素的探测方法等。
57.所述显示器30在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述装置的信息以及用于显示可视化的用户界面。所述装置的部件10-30通过系统总线相互通信。
58.在一实施例中,当处理器10执行所述存储器20中针对稳定性元素的探测程序40时实现以下步骤:构建概率数据结构,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断;若未发生过中断,则计算在所述预设时间内所述数据流出现的频数值的方差;判断所述方差是否小于预设阈值,若小于所述预设阈值,则确认所述数据流为稳定性元素;实时监测所述稳定性元素的稳定时间,若根据所述稳定时间判定所述稳定性元素不再具有稳定性,则网络及所述数据流的状态出现故障。
59.其中,所述若未发生过中断,则计算在所述预设时间内所述数据流出现的频数值的方差,具体包括:若所述数据流在预设时间内未发生过中断,则计算所述预设时间内计数器中记录所述数据流出现的频数值的方差,得到第一方差;若所述频数值大于所述计数器的最大计数值,则对每一个所述频数值加上“(最大计数值+1)/2”,并将计算结果对“(最大计数值+1)”进行取模后,再进行方差的计算得到第二方差。
60.其中,所述构建概率数据结构,利用所述概率数据结构对数据流进行持续性检查,并判断所述数据流在预设时间内是否发生过中断,具体包括:构建所述概率数据结构后,利用哈希函数将所述数据流映射到稳定性过滤器中对应的桶内;将所述数据流出现的当前时刻对桶中比特位的总个数值进行取模,得到当前时间窗口对应的比特位,并将当前时间窗口对应的比特位设置为“1”;判断在所述预设时间内时间窗口上是否存在“0”,若存在,则所述数据流在预设时间内发生过中断,否则,则所述数据流在预设时间内未发生过中断。
61.其中,所述判断所述数据流在预设时间内是否发生过中断,还包括:若发生过中断,则所述数据流为非稳定性元素,不对所述数据流进行处理。
62.其中,所述判断所述方差是否小于预设阈值,若小于所述预设阈值,则确认所述数据流为稳定性元素,具体包括:将所述第一方差和所述第二方差的大小分别与所述预设阈值进行比较,若所述第一方差和所述第二方差中的任一个小于所述预设阈值,则确认所述数据流为稳定性元素。
63.其中,所述预设时间为当前时间窗口的前p个时间窗口的时间。
64.其中,所述最大计数值=(2^计数器的位数)-1。
65.其中,所述概率数据结构包括:所述稳定性过滤器、多维sketch结构和稳定性元素筛选器。
66.其中,所述稳定性过滤器由d个队列组成,其中,d个队列对应d个哈希函数,每个队列中含有g个桶,每个桶中含有m个比特位,每个比特位对应一个所述时间窗口,每一个所述时间窗口对应一个计数器。
67.其中,所述多维sketch结构由q个队列组成,其中,q个队列对应q个哈希函数,每个队列中含有j个桶,每个桶中含有w个计数器。
68.其中,所述稳定性元素筛选器由k个桶组成,每个桶中含x个单元,每个单元中含3个区域,分别记录所述数据流的id、所述数据流的开始稳定时间和所述数据流的结束稳定时间。
69.进一步地,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有针对稳定性元素的探测程序,所述针对稳定性元素的探测程序被处理器执行时实现如上所述的针对稳定性元素的探测方法的步骤;由于上述对所述针对稳定性元素的探测方法的步骤进行了详细的描述,在此不再赘述。
70.综上所述,本发明提供的一种针对稳定性元素的探测方法和相关设备,所述方法,包括以下步骤:构建概率数据结构,利用概率数据结构对数据流进行持续性检查,并判断数据流在预设时间内是否发生过中断;若所述数据流在预设时间内未发生过中断,则计算预设时间内数据流出现的频数值的方差;判断方差是否小于预设阈值,若小于预设阈值,则判断数据流为稳定性元素;实时监测稳定性元素的稳定时间,若稳定性元素不再具有稳定性,则判断为网络及数据流的状态可能出现故障。本发明中将在预设时间内未发生过中断,且其频数值的方差小于预设阈值的数据流称为稳定性元素,从而精准探测出数据流中稳定性元素,可以为对网络及数据流状态等进行异常诊断提供诊断依据。
71.可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1