递进式统计方法

文档序号:6340182阅读:1337来源:国知局
专利名称:递进式统计方法
技术领域
本发明涉及网络数据统计领域,特别涉及一种递进式统计方法。
背景技术
在网络产品中经常会涉及到数据的统计和查询,例如对BPS(比特每秒)、PPS(脉 冲数每秒)、会话数等等。在此基础上也许还要具备递进式查询,例如在流控设备中,管理员 期望先查看各个通道的统计数据,如BPS,再查看某个通道内的各个用户的统计数据,进而 再查看通道内的某个用户所使用的各类应用的统计信息。不可否认,管理员也有可能期望 以另外一种或几种顺序来查看统计信息。针对不同的排列顺序的递进式查询,现有流控设 备要一一实现统计,往往通过多次的重复累加计算实现。现有流控设备需要为设定的每一种递进查询顺序建立一套统计模型,如果需要按 照几种不同的顺序对统计信息进行查询,其必须采用不同的统计模型分别生成统计信息。 这样将会造成大量的计算,对系统性能和内存空间造成沉重的负荷。因此,现有流控设备往 往只能按照有限的几种顺序对统计信息进行查询。同时,现有流控设备的查询顺序是系统预先内置的,用户无法自定义新的查询顺 序,不具备灵活性。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何提供一种只采用一套统一的统计模型满足用户 不同的查询顺序的递进式统计方法。从而,在满足用户的不同顺序的查询需求的同时,有效 降低系统性能和内存空间的负荷。( 二 )技术方案为解决上述技术问题,本发明提供一种递进式统计方法,其采用统计向量模板对 统计元,如通道、用户、应用,按照查询顺序进行排序,并进而构建对应所述统计向量模板的 统计向量树。这样每一个查询顺序,对应系统中一棵单独的统计向量树。同时,一个或者多 个会话对应系统中的一个卡片,例如,当两个会话的通道编号、用户编号、应用编号均一致 时,这两个不同的会话对应系统中的同一个卡片。所述卡片记录所述统计向量树中相应的 叶子节点的地址。通过访问所述叶子节点,并分别沿所述叶子节点至其根节点逐层生成统 计信息,即可按照希望的查询顺序生成所需统计信息。本发明的递进式统计方法,包括以下步骤Sl 创建由统计向量模板Mi(yil,yi2,. . . yim)组成的统计向量模板集合M{M1, M2,...,Mn},创建对应所述统计向量模板集合M{M1,M2,...,Mn}的统计向量树根节点集合 VTN{VTN_M1, VTN_M2,…,VTN_Mn};m和η为整数且均大于等于1 ;i为整数全局变量,且1彡i彡η ;
又土1,712,...7加为所述统计向量模板肌(711,712,...7土111)中统计元;所述统计向量树根节点集合VTN{VTN_M1,VTN_M2, . . .,VTN_Mn}包含对应η棵统 计向量树VT_Mi的根节点VTN_Mi ;S2 产生会话Se,记录所述会话Se的流量,查询是否存在对应所述会话Se的 卡片Cardje,如果存在跳至S6 ;否则,创建所述卡片Cardje ;所述卡片Card_k用于记录对应所述会话Se的η个叶子节点的地址;S3 查询所述统计向量模板集合M {Ml,M2, ... , Mn},依次读取其中的统计向量模 板 Mi(yil, yi2,... yim);S4:判断读取的所述统计向量模板Mi (yil,yi2,. . . yim)是否为空,如果为空,跳 到S6 ;否则,查询所述统计向量树根节点集合VTN{VTN_M1,VTN_M2,... , VTN_Mn},读取对应 所述统计向量模板Mi (yil,yi2,. . . yim)的统计向量树根节点VTN_Mi,补充所述统计向量 树VT_Mi的节点;S5 将所述统计向量树VT_Mi最新生成的叶子节点的地址,记录到所述卡片Card_ Se中,跳至所述S3 ;S6 依次读取所述卡片中η个叶子节点的地址,分别沿所述η个叶子节点 至其相应根节点路径生成统计信息。优选地,所述S4中补充所述统计向量树VT_Mi的节点,具体包括以下步骤S4_l 查询所述根节点VTN_Mi的子节点,如果存在所述子节点的值为所述yil,则 定义局部变量j初值为1 ;否则,创建所述根节点VTN_Mi的子节AN_yil,其值为所述yil, 定义局部变量j初值为1 ;S4_2 对局部变量j进行加1操作,查询节点N_yi (j_l)的子节点,如果存在所述 子节点的值为所述yi j,则执行S4_3 ;否则,创建所述节点N_yi (j-1)的子节点N_yi j,其值 为所述yij ;S43 判断j是否等于m,如果是,则流程结束;否则,跳至所述S4_2。优选地,所述节点N_yij的信息包括该节点的流量和时间。优选地,所述S6具体包括以下步骤S6_l 定义局部变量k初值为η ;S6_2 定义局部变量j初值为m ;S6_3 判断j是否为0,如果是,跳至S6_5 ;否则,将所述流量FJe累加到节点N_ ykj的流量上,修改所述节点N_ykj的时间为当前时间;S6_4 对局部变量j进行减1操作;跳至所述S6_3 ;S6_5 对局部变量k进行减1操作;判断k是否为0,如果是,则流程结束;否则,跳 至所述S6_2。优选地,所述节点N_yij的信息包括该节点的流量、时间和速率Sc。优选地,所述S6可以具体包括以下步骤S6_l,定义局部变量k初值为η ;S6_2’ 定义局部变量j初值为m ;S6_3’ 判断j是否为0,如果是,跳至S6_6’ ;否则,将所述流量累加到节点 N_ykj的流量上,读取所述节点N_ykj的时间,并与当前时间做差,得到时间差t’ ;修改所述
5节点N_ykj的时间为当前时间;读取预定统计周期tp ;S6_4’ 判断所述t’是否大于所述tp,如果是,修改所述节点N_ykj的所述速率Sc =F_Se/t,;否则,修改所述节点N_ykj的所述速率k = 0 ;S6_5’ 对局部变量j进行减1操作;跳至S6_3,;S6_6’ 对局部变量k进行减1操作;判断k是否为0,如果是,则流程结束;否则, 跳至所述S6_2’。优选地,所述tp取值范围为5秒< tp < 3600秒。优选地,所述Sl中所述统计向量模板肌(711,712,...7加)包括系统自带的统计 向量模板和/或用户自定义的统计向量模板。优选地,所述统计向量模板集合M{M1,M2,...,Mn}和所述统计向量树根节点集合 VTN{VTN_M1, VTN_M2, . . .,VTN_Mn}以数组结构存储在系统中。(三)有益效果本发明的递进式统计方法,针对不同的查询顺序需求,系统创建不同的统计向量 模板,和相应的统计向量树,计算过程一致。因此,本发明采用一套统计模型满足了不同查 询顺序的需求。并且当有新的会话产生时,本发明的递进式统计方法放弃了传统的重复累 加计算方式,其补充相应的统计向量树并对树中部分路径上的节点信息进行更新,减小了 计算量,减轻了统计过程对系统性能和内存空间造成的负荷。同时,由于针对不同的查询顺序,本发明的统计模型一致,因此,系统通过接收用 户输入,可以实现用户自定义查询顺序的功能,更具灵活性。


图1是本发明实施例所述递进式统计方法的流程图;图2是本发明所述递进式统计方法步骤S4中补充所述统计向量树VT_Mi的节点 的方法流程图;图3是本发明所述递进式统计方法的步骤S6的一个实施例的方法流程图;图4是本发明所述递进式统计方法的步骤S6的另一种实施例的方法流程图;图5是本发明实施例所述递进式统计方法中形成的统计向量树VT_M1的结构图;图6是本发明实施例所述递进式统计方法中形成的统计向量树VT_M2的结构图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。图1是本发明实施例所述递进式统计方法的流程图,参见图1,其主要包括以下步 骤Sl 创建由统计向量模板Mi(yil,yi2,. . . yim)组成的统计向量模板集合M{M1, M2,...,Mn},创建对应所述统计向量模板集合M{M1,M2,...,Mn}的统计向量树根节点集合 VTN{VTN_M1, VTN_M2,…,VTN_Mn};m和η为整数且均大于等于1 ;i为整数全局变量,且1彡i彡η ;
又土1,712,...7加为所述统计向量模板肌(711,712,...7土111)中统计元;所述统计向量树根节点集合VTN{VTN_M1,VTN_M2, . . .,VTN_Mn}包含对应η棵统 计向量树VT_Mi的根节点VTN_Mi ;S2 产生会话Se,记录所述会话Se的流量F_Se,查询是否存在对应所述会话Se的 卡片Cardje,如果存在跳至S6 ;否则,创建所述卡片Cardje ;所述卡片Card_k用于记录对应所述会话Se的η个叶子节点的地址;S3 查询所述统计向量模板集合M {Ml,M2, ... , Mn},依次读取其中的统计向量模 板 Mi(yil, yi2,... yim);S4:判断读取的所述统计向量模板Mi (yil,yi2,. . . yim)是否为空,如果为空,跳 到S6 ;否则,查询所述统计向量树根节点集合VTN{VTN_M1,VTN_M2,... , VTN_Mn},读取对应 所述统计向量模板Mi (yil,yi2,. . . yim)的统计向量树根节点VTN_Mi,补充所述统计向量 树VT_Mi的节点;S5 将所述统计向量树VT_Mi最新生成的叶子节点的地址,记录到所述卡片Card_ Se中,跳至所述S3 ;S6 依次读取所述卡片Card_k中η个叶子节点的地址,分别沿所述η个叶子节点 至其相应根节点路径生成统计信息。本发明的递进式统计方法中具有一定顺序的m个统计元(如通道、用户、应用)组 成一个统计向量模板,η个统计向量模板组成统计向量模板集合M ;η个统计向量模板对应 η棵统计向量树VT_Mi和η个统计向量树根节点VTN_Mi ;η个统计向量模板同时对应卡片 Card_Se中记录的η个叶子节点的地址。一个或者多个会话%对应一个卡片Card_k,并通过卡片Card_k中记录的η个 叶子节点的地址,对应到η棵统计向量树中的,η条从叶子节点至相应根节点的路径。会话 Se通过其统计元信息与卡片CardJ^e相对应。统计元信息相同的多个会话对应同一个卡 片,卡片会将其所对应的会话的统计元信息作为其标示参数而记录。当产生会话时,系统会 按照该会话所携带的统计元信息检索现有的卡片,如果系统中存在相应的卡片,则使用该 卡片完成信息统计;否则,创建相应的新卡片,完成信息统计。本发明的递进式统计方法,通过对树的建立和访问,按照不同的查询顺序分别生 成统计信息,在满足用户多种查询顺序需求的同时,避免了多次重复累加造成的大量计算, 减少了对系统性能和内存空间的占用。图2是本发明所述递进式统计方法步骤S4中补充所述统计向量树VT_Mi的节点 的方法流程图,参见图2,所述方法具体包括以下步骤S4_l 查询所述根节点VTN_Mi的子节点,如果存在所述子节点的值为所述yil,则 定义局部变量j初值为1 ;否则,创建所述根节点VTN_Mi的子节AN_yil,其值为所述yil, 定义局部变量j初值为1 ;S4_2 对局部变量j进行加1操作,查询节点N_yi (j_l)的子节点,如果存在所述 子节点的值为所述yi j,则执行S4_3 ;否则,创建所述节点N_yi (j-1)的子节点N_yi j,其值 为所述yij ;S4_3 判断j是否等于m,如果是,则流程结束;否则,跳至所述S4_2。图2所示处理流程是,所述S4中补充所述统计向量树VT_Mi的节点的一种可选的处理流程。当产生一个新的会话时,其会对应系统中一条原有或者新建的由根节点至叶子 节点的路径。该处理流程通过逐层查询子节点的方式,将统计向量模板中的统计元补充到 统计向量树中,处理步骤简单,计算量少,占用内存空间小。优选地,所述节点N_yij的信息包括该节点的流量和时间。所述流量初值为0,所 述时间初值可为建立该节点时的系统时间。通过允许树中节点存储流量和时间,可以实现 流控设备对流量信息的统计功能。图3是本发明所述递进式统计方法的步骤S6的一个实施例的方法流程图,参见图 3,所述S6具体包括以下步骤S6_l 定义局部变量k初值为η ;S6_2 定义局部变量j初值为m ;S6_3 判断j是否为0,如果是,跳至S6_5 ;否则,将所述流量FJe累加到节点N_ ykj的流量上,修改所述节点N_ykj的时间为当前时间;S6_4 对局部变量j进行减1操作;跳至所述S6_3 ;S6_5 对局部变量k进行减1操作;判断k是否为0,如果是,则流程结束;否则,跳 至所述S6_2。图3所示处理流程是所述S6的一种可选的具体处理流程,该处理流程通过访问η 棵统计向量树中新生成的叶子节点至根节点路径,沿路径上逐节点更新流量和时间统计信 息。该访问过程只涉及新生成的叶子节点至其根节点路径,不涉及树上其他剩余节点;并 且,通过访问η棵统计向量树,得到η种查询顺序所对应的全部统计信息。因此,其整体统 计过程计算量少,占用内存空间小。优选地,所述节点N_yij的信息包括该节点的流量、时间和速率&。所述流量初值 为0,所述时间初值可为建立该节点时的系统时间,所述速率&初值为0。树中节点同时存 储流量、时间和速率三项统计信息,增强了流控设备的统计能力。以此类推,对树中节点进 一步增加存储的统计信息种类如会话数量、脉冲数量,可以进一步增强流控设备的统计能 力。图4是本发明所述递进式统计方法的步骤S6的另一种实施例的方法流程图,参见 图4,所述S6可以具体包括以下步骤S6_l,定义局部变量k初值为η ;S6_2’ 定义局部变量j初值为m ;S6_3’ 判断j是否为0,如果是,跳至S6_6’ ;否则,将所述流量累加到节点 N_ykj的流量上,读取所述节点N_ykj的时间,并与当前时间做差,得到时间差t’ ;修改所述 节点N_ykj的时间为当前时间;读取预定统计周期tp ;S6_4’ 判断所述t’是否大于所述tp,如果是,修改所述节点N_ykj的所述速率Sc =F_Se/t,;否则,修改所述节点N_ykj的所述速率k = 0 ;S6_5’ 对局部变量j进行减1操作;跳至S6_3,;S6_6’ 对局部变量k进行减1操作;判断k是否为0,如果是,则流程结束;否则, 跳至所述S6_2’。图4所示处理流程是所述S6的一种可选的具体处理流程,该处理流程通过访问η 棵统计向量树中新生成的叶子节点至根节点路径,沿路径上逐节点更新流量、时间和速率统计信息。该访问过程只涉及新生成的叶子节点至其根节点路径,不涉及树上其他剩余节 点;并且,通过访问η棵统计向量树,得到η种查询顺序所对应的全部统计信息。因此,其整 体统计过程计算量少,占用内存空间小。以此类推,如果允许树中节点进一步增加存储的统 计信息种类如会话数量、脉冲数量,可以进一步增强系统的统计能力。优选地,所述tp取值范围为5秒< tp < 3600秒。当统计信息包括速率、会话数 每秒或者脉冲数每秒时,预定统计周期tp对于调节流控设备的系统性能和内存的负荷是 一个关键值。当tp设定值较小时,系统统计频率高,统计信息精确度高,但是,此时系统的 计算量较大,性能和内存的开销较大;当tp的设定值较大时,系统统计频率低,统计信息精 确度低,但是,此时系统的计算量较小,性能和内存的开销较小。通过适当的调节tp的设定 值,可以满足不同用户对统计信息精确度的不同需求,系统更具灵活性。优选地,所述Sl中所述统计向量模板肌(711,712,...7加)包括系统自带的统计 向量模板和/或用户自定义的统计向量模板。通过为流控设备提前内置一些统计向量模 板,用户无需自己设定,开机即可使用,可以满足一些查询顺序比较固定的用户的需求;通 过设置用户输入界面,流控设备可以接收用户按照自己希望的查询顺序设定的自定义统计 向量模板。由于本发明采用一套统一的统计处理流程,系统将用户自定义的统计向量模板 读入内存,即可实现后续统计工作。进一步,系统将用户输入的统计向量模板存储至掉电不 丢失存储设备(如硬盘、闪存),后续用户无需再次输入所述统计向量模板,系统每次开机 后可自动调取所述统计向量模板,可以进一步方便用户使用。优选地,所述统计向量模板集合M{M1,M2,...,Mn}和所述统计向量树根节点集合 VTN{VTN_M1, VTN_M2, ... , VTN_Mn}以数组结构存储在系统中。数组的数据结构简单,对于 系统配置要求不高,一般的系统配置均能实现,便于本发明方法的推广。图5是本发明实施例所述递进式统计方法中形成的统计向量树VT_M1的结构图, 参见图5,图中显示了所述统计向量树VT_M1的相关各节点的链接关系。图6是本发明实施例所述递进式统计方法中形成的统计向量树VT_M2的结构图, 参见图6,图中显示了所述统计向量树VT_M2的相关各节点的链接关系。假设流控设备内置统计向量模板为Ml (T,U, A),用户自定义统计向量模板为 M2 (U,A,T),其中T表示通道,U表示用户,A表示应用;按照时间先后顺序产生会话,依次为=Sel (tl, ul,al),流量为10M;Se2(tl, ul, a3),流量为 5M;Se3(tl, ul, al),流量为 2M。流控设备启动后首先进行初始化程序如下SO. 1 提示用户是否输入自定义统计向量模板,用户输入后,系统接收所述统计向 量模板 M2 (U,A,T);创建统计向量模板集合M {Ml,M2};创建统计向量树根节点集合¥1则¥11111,¥11112},¥11111为统计向量树VT_M1的 根节点,VTN_M2为统计向量树VT_M2的根节点。产生所述会话Sel (tl,ul, al),流控设备按照以下步骤进行处理Si. 1 记录所述会话Sel(tl,ul,al)的流量10M,查询不到对应所述会话Sel (tl, ul, al)的卡片,于是创建卡片Cardjel ;Si. 2 查询所述统计向量模板集合M{Ml,M2},读取所述统计向量模板Ml (T,U,A);
Si. 3 读取到所述统计向量模板Ml (T,U,A)不为空,于是查询所述统计向量树根 节点集合VTN{VTN_M1,VTN_M2},读取所述根节点VTN_M1 ;查询所述根节点VTN_M1的子节点,不存在子节点的值为tl,于是创建所述根节点 VTN_M1的子节点N_tl,其值为所述tl ;查询所述节点N_tl的子节点,不存在子节点的值为ul,于是创建所述节点N_tl的 子节点N_ul,其值为所述ul ;查询所述节点N_ul的子节点,不存在子节点的值为al,于是创建所述节点N_ul的 子节点N_al,其值为所述al。至此,创建出图5 中 VTN_M1-N_tl-N_ul-N_al 路径。Si. 4 将最新生成的叶子节点N_al的地址,记录到所述卡片Card_kl中;Si. 5 查询所述统计向量模板集合M{M1,M2},读取所述统计向量模板M2(U,A,T);Si. 6 读取到的所述统计向量模板M2 (U,A,T)不为空,于是查询所述统计向量树 根节点集合VTN{VTN_M1,VTN_M2},读取所述根节点VTN_M2 ;查询所述根节点VTN_M2的子节点,不存在子节点的值为所述ul,于是创建所述根 节点VTN_M2的子节点N_ul’,其值为所述ul ;查询所述节点N_ul’的子节点,不存在子节点的值为所述al,于是创建所述节点 N_ul'的子节AN_al,,其值为所述al ;查询所述节点N_al’的子节点,不存在子节点的值为所述tl,于是创建所述节点 N_al'的子节AN_tl,,其值为所述tl。至此,创建出图6 中 VTN_M2_N_u 1,_N_a 1,_N_t 1,路径。Si. 7 将最新生成的叶子节点N_tl,的地址,记录到所述卡片Card_kl中;S1.8 查询所述统计向量模板集合M{M1,M2},读取为空;依次更新节点N_tl’、N_ar、N_ur的时间为当前时间,流量值为会话Sel的流量 IOM ;依次更新节点N_al、N_ul、N_tl的时间为当前时间,流量值为会话Sel的流量10M。至此,对应第一种查询顺序,即通道、用户、应用顺序,得到统计数据如下通道tl的流量为IOM ;通道tl下用户Ul流量为IOM ;用户ul下应用al流量为 IOM0对应第二种查询顺序,即用户、应用、通道顺序,得到统计数据如下用户Ul流量为IOM ;用户Ul下应用al流量为IOM ;应用al下通道tl流量为10M。产生所述会话Se2(tl,ul, a3),流控设备按照上述步骤进行处理,区别之处如下1、创建图5中VTN_M1-N_tl-N_ul-N_a3路径,由于节点N_tl和N_ul已经存在,无 需重复创建,只需增加创建节点N_ul的子节点N_a3即可;2、创建图6中VTN_M2_N_ul,_N_a3,_N_tl”路径,由于节点N_ul,已经存在,无需 重复创建,只需增加创建节AN_ul’的子节点N_a3’,及节点N_a3’的子节点N_tl”即可;3、沿叶子节点N_tl”至其根节点VTN_M2路径生成统计信息过程,依次更新节点N_ tl”和N_a3’的流量值为5M,更新节点N_ul’流量值为15Μ,即原流量值IOM(会话Sel的流 量值10Μ)加上会话的流量5Μ之后的流量值;4、沿叶子节点N_a3至根节点VTN_M1路径生成统计信息过程,更新节点N_a3的流量值为5M,依次更新节点N_ul和节点N_tl的流量值为15M。至此,对应第一种查询顺序,即通道、用户、应用顺序,得到统计数据如下通道tl的流量为15M ;通道tl下用户Ul流量为15M ;用户ul下应用al流量为 10M,应用a3流量为5M。对应第二种查询顺序,即用户、应用、通道顺序,得到统计数据如下用户ul流量为15M ;用户Ul下应用al流量为10M,应用a3流量为5M ;应用al下 通道tl流量为IOM ;应用a3下通道tl流量为5M。应该注意,这里的通道tl有两个流量 值,其实并不矛盾。通道tl的流量为IOM表示对应于用户ul的应用al,其占用通道tl的 流量为10M;通道tl的流量为5M表示对应于用户ul的应用a3,其占用通道tl的流量为 5M。这是由用户的查询顺序所决定的,如果用户需要查看通道tl下所有的流量,其可以选 择查看上述第一种查询顺序的统计结果。产生所述会话Se3(tl,ul, al),流控设备按照上述步骤进行处理,区别之处如下1、图5中VTN_M1-N_tl-N_ul-N_al路径已经存在,无需重复创建;2、图6中VTN_M2_N_ul,_N_al,_N_tl,路径已经存在,无需重复创建;3、沿叶子节点N_tl’至其根节点VTN_M2路径生成统计信息过程,依次更新节点N_ tl’的流量值为12M,更新节AN_al’的流量值为12M,更新节AN_ul’为17Μ。4、沿叶子节点N_al至根节点VTN_M1路径生成统计信息过程,依次更新节点N_al 的流量值为12M,更新节点N_ul的流量值为17M,更新节点N_tl的流量值为17M。至此,对应第一种查询顺序,即通道、用户、应用顺序,得到统计数据如下通道tl的流量为17M ;通道tl下用户Ul流量为17M ;用户ul下应用al流量为 12M,应用a3流量为5M。对应第二种查询顺序,即用户、应用、通道顺序,得到统计数据如下用户Ul流量为17M ;用户Ul下应用al流量为12M,应用a3流量为5M ;应用al下 通道tl流量为12M ;应用a3下通道tl流量为5M。在本发明的递进式统计方法中,按照会话5元组(源地址、目的地址、源端口、目的 端口和通信协议)区分不同的会话。同时,当不同会话的所携带的统计元(如通道、用户、 应用)一致时,所述不同会话对应系统中同一个卡片,同时对应树中同一段路径。如本实施 例中所述会话Sel(tl,ul, al)和所述会话%3(tl,ul, al)所携带的统计元均为(tl,ul, al),所以其在系统中对应同一个卡片Card_kl,在树VT_M1中对应同一段路径VTN_M1_N_ tl-N_ul-N_al,在树 VT_M2 中对应同一段路径 VTN_M2_N_ul’ -N_al,_N_tl’。会话被删除 时,其所对应的卡片将被保留。当不同会话对应同一个卡片时,系统无需创建新的卡片,也 无需再次补充对应的统计向量树,只需按照后一会话所携带的信息,分别沿所述叶子节点 至根节点路径生成统计信息。这样可以减少重复创建卡片和补充树的过程,降低了系统性 能负荷。本发明的统计方法对于统计元的个数没有限制。当统计元的数量增加时,查询顺 序种类将会增加,传统的统计算法重复累加的计算量将会成倍增长,本发明的统计方法只 需相应增加树中路径的长度,运算量增加有限,更能体现本发明统计方法的优势。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通 技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有
11等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种递进式统计方法,其特征在于,所述递进式统计方法包括以下步骤51:创建由统计向量模板Mi(yil,yi2,. . . yim)组成的统计向量模板集合M{M1, M2,...,Mn},创建对应所述统计向量模板集合M{M1,M2,...,Mn}的统计向量树根节点集合 VTN{VTN_M1, VTN_M2,…,VTN_Mn};m和η为整数且均大于等于1;i为整数全局变量,且Ki彡η;yil,yi2,. . . yim为所述统计向量模板Mi (yil,yi2,· · · yim)中统计元;所述统计向量树根节点集合VTN{VTN_M1,VTN_M2, ... , VTN_Mn}包含对应η棵统计向 量树VT_Mi的根节点VTN_Mi ;52产生会话义,记录所述会话义的流量F_Se,查询是否存在对应所述会话%的卡片 Cardje,如果存在跳至S6 ;否则,创建所述卡片CardJe ;所述卡片Card_k用于记录对应所述会话Se的η个叶子节点的地址;53查询所述统计向量模板集合Μ{Μ1,Μ2,...,Mn},依次读取其中的统计向量模板 Mi(yil, yi2, ...yim);54判断读取的所述统计向量模板Mi(yil,yi2,...yim)是否为空,如果为空,跳到S6 ; 否则,查询所述统计向量树根节点集合VTN{VTN_M1,VTN_M2,. . .,VTN_Mn},读取对应所述统 计向量模板Mi (yi 1,yi2,. . . yim)的统计向量树根节点VTN_Mi,补充所述统计向量树VT_Mi 的节点;55将所述统计向量树VT_Mi最新生成的叶子节点的地址,记录到所述卡片CardJ^e 中,跳至所述S3;56依次读取所述卡片Cardjie中η个叶子节点的地址,分别沿所述η个叶子节点至其 相应根节点路径生成统计信息。
2.如权利要求1所述的递进式统计方法,其特征在于,所述S4中补充所述统计向量树 VT_Mi的节点,具体包括以下步骤S4_l 查询所述根节点VTN_Mi的子节点,如果存在所述子节点的值为所述yil,则定义 局部变量j初值为1 ;否则,创建所述根节点VTN_Mi的子节AN_yil,其值为所述yil,定义 局部变量j初值为1 ;S4_2 对局部变量j进行加1操作,查询节点N_yi (j-1)的子节点,如果存在所述子节 点的值为所述yij,则执行S4_3 ;否则,创建所述节点N_yi (j-1)的子节点N_yij,其值为所 述 yij ;S4_3 判断j是否等于m,如果是,则流程结束;否则,跳至所述S4_2。
3.如权利要求2所述的递进式统计方法,其特征在于,所述节点N_yij的信息包括该节 点的流量和时间。
4.如权利要求3所述的递进式统计方法,其特征在于,所述S6具体包括以下步骤S6_l 定义局部变量k初值为η ;S6_2 定义局部变量j初值为m ;S6_3 判断j是否为0,如果是,跳至S6_5 ;否则,将所述流量累加到节点N_ykj的 流量上,修改所述节的时间为当前时间;S6_4 对局部变量j进行减1操作;跳至所述S6_3 ;S6_5 对局部变量k进行减1操作;判断k是否为0,如果是,则流程结束;否则,跳至所 述 S6_2。
5.如权利要求2所述的递进式统计方法,其特征在于,所述节点N_yij的信息包括该节 点的流量、时间和速率&。
6.如权利要求5所述的递进式统计方法,其特征在于,所述S6具体包括以下步骤S6_l,定义局部变量k初值为η ;S6_2’ 定义局部变量j初值为m ;S6_3’ 判断j是否为0,如果是,跳至S6_6’ ;否则,将所述流量累加到节点N_ykj 的流量上,读取所述节点N_ykj的时间,并与当前时间做差,得到时间差t’ ;修改所述节点 N_ykj的时间为当前时间;读取预定统计周期tp ;S6_4’ 判断所述t’是否大于所述tp,如果是,修改所述节的所述速率k = F_Se/t';否则,修改所述节点N_ykj的所述速率k = 0 ;S6_5,对局部变量j进行减1操作;跳至S6_3,;S6_6’ 对局部变量k进行减1操作;判断k是否为0,如果是,则流程结束;否则,跳至 所述S6_2,。
7.如权利要求6所述的递进式统计方法,其特征在于,所述tp取值范围为5秒 ^ tp ^ 3600 秒。
8.如权利要求1所述的递进式统计方法,其特征在于,所述Sl中所述统计向量模板 Mi (yil,yi2,. . . yim)包括系统自带的统计向量模板和/或用户自定义的统计向量模板。
9.如权利要求1所述的递进式统计方法,其特征在于,所述统计向量模板集合M{M1, M2,. . .,Mn}和所述统计向量树根节点集合VTN{VTN_M1,VTN_M2,. . .,VTN_Mn}以数组结构 存储在系统中。
全文摘要
本发明公开了一种递进式统计方法,主要涉及网络数据统计领域。该方法包括以下步骤创建由统计向量模板Mi(yi1...yim)组成的统计向量模板集合M{M1...Mn}和对应的统计向量树根节点集合VTN{VTN_M1...VTN_Mn};产生会话Se;记录其流量;查询是否存在对应卡片,若存在生成统计信息;否则,创建卡片;查询M,依次读取Mi;判断Mi是否为空,若为空,生成统计信息;否则,查询VTN,补充VT_Mi的节点;将VT_Mi最新的叶子节点地址记录到卡片中,循环执行查询M,依次读取Mi。本发明减少了统计计算量,降低了对系统性能和内存的负荷。
文档编号G06F17/30GK102073695SQ20101060895
公开日2011年5月25日 申请日期2010年12月28日 优先权日2010年12月28日
发明者吴承阳, 董健, 董茂培 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1