流量数据采集方法、系统以及设备的制作方法

文档序号:7692935阅读:230来源:国知局
专利名称:流量数据采集方法、系统以及设备的制作方法
技术领域
本发明涉及网络管理技术,具体涉及一种流量数据采集方法、 一种流量 数据釆集系统,以及一种流量数据采集设备。
背景技术
为了监控网络资源的使用状况以实时了解网络是否处于繁忙状态,从而 确定是否需要对网络升级或扩容。现有作为流量数据采集设备的网管服务器 可以对网络中的各种流量进行采集。图1为现有技术中的流量数据采集过程的示意图。如图l所示,以基于简单网络管理协议(SNMP, Simple Network Management Protocol)实现流 量数据采集、流量数据采集设备为网管服务器为例,现有的一种流量数据采 集方法为网管服务器分别在当前采集间隔的前一次采集时刻Tl和后一次 采集时刻T2,两次向网络中同一被监控设备发送SNMP请求报文,请求获 取当前时刻的流量累积值,在被监控设备返回时刻Tl和T2对应的流量累 积值Countl和Count2之后,网管服务器通过公式(Count2 - Countl ) / ( T2 -Tl )计算出流量近似速率,作为计算得到的当前流量数据。其中,Count2 和Countl为被监控设备接收到SNMP请求报文时,从自身获取的当前流量 累积值,该流量累积值记录了从设备启动时刻到当前时刻的流量总和。当被 监控设备重启时,流量累积值从零开始记录。被监控设备返回的流量累积值一般是32比特(bit)的数据类型或64bit 的数据类型。当网络运行较长时间时,由于流量累积值是连续累加的,不管 是32bit还是64bit,都会出现溢出现象。当溢出时,(Count2 - Countl )小 于零,流量公式(Count2 - Countl ) / ( T2 - Tl )的运算结果将出现负值,这种(Count2 - Countl )小于零的现象称为"性能流量翻转"。在实际中, 网络出现性能流量翻转的概率比较高。对于流量而言,是不可能出现负值的, 因此,性能流量翻转时刻对应的流量数据计算值是一个错误值。目前,将性能流量翻转完全归结于流量累积值的溢出,现有解决方法是 在判定(Count2-Countl )小于零时,对于32bit的数据类型,将Count2无 条件加上232,对于64bit的数据类型,将Count2无条件加上264,使得(Count2 -Countl )大于零。这种解决方式能够在发生因溢出造成的性能流量翻转时, 保证流量计算值的正确。实际中,在网管服务器采集间隔期间,即T1和T2之间,由于人工清 空或重启等原因导致被监控设备的流量累积值被清零,并重新开始累积计 数,则当网管服务器查询时,该被监控设备返回的Count2小于Countl。如 果采用前述解决方法,将Count2加上232或264,则会导致计算得到的流量 数值陡然增加。目前,当出现Count2比Countl小的情况时,还可以将该异常凄t据点舍 弃,从而避免解决单纯的加上232或264而带来的计算的流量数据不准确的问 题。但是,这种舍弃方案只是一种规避措施,当网络翻转比较频繁,出现大 面积异常数据点时,如果将所有异常数据点丢弃,那么采集得到的流量数据 不连续,导致整个流量监控数据不可用。可见,目前的流量数据采集方案不能保证所采集流量数据的连续性和正 确性。发明内容有鉴于此,本发明提供了一种流量数据采集方法,能够保证所采集流量 数据的正确性和连续性。 该方法包括在判定被监控设备的流量累积值在采集间隔中被清零时,判断触发所述 清零的事件类型,确定与所述事件类型对应的被监控设备当前流量累积值以及该流量累积值的累积时间。其中,触发所述清零的事件类型包括重启事件和手工清零事件;当事件类型被确定为重启事件时,所述被监控设备当前流量累积值以及该流量累积值的累积时间分别为重启时刻到当前时刻的流量累积值和重启时刻 到当前时刻之间的时间长度;当事件类型被确定为手工清零事件时,所述被监控设备当前流量累积值 以及该流量累积值的累积时间分别为手工清零时刻到当前时刻的流量累积 值和手工清零时刻到当前时刻之间的时间长度。其中,判断所述清零的事件类型是通过检查被监控设备的启动累积时间以 及系统日志实现的;若,sysUpTime2小于T2减Tl的差值,则判定事件类型为重启;所述 sysUpTime2为所述采集间隔中的后一次采集时刻T2对应的被监控设备的启动 累积时间,所述T1为所述采集间隔中的前一次采集时刻;若,所述被监控设备中Tl到T2之间的系统日志记录了被监控设备的 流量统计值被手工清零时,则判定事件类型为手工清零。其中,将所述T2对应的被监控设备的流量累积值Count2确定为所述重启 时刻到当前时刻的流量累积值;将所述sysUpTime2确定为重启时刻到当前时刻 之间的时间长度。其中,将所述T2对应的被监控设备的流量累积值Count2确定为所述重启 时刻到当前时刻的流量累积值;将sysUpTime2减手工清零时刻T的差值确定 为手工清零时刻到当前时刻之间的时间长度。其中,所述T是从被监控设备提供的系统日志中获取的;或者,将记录 有手工清零事件的系统日志的获取时刻确定为所述T。较佳地,触发所述清零的事件类型进一步包括溢出事件; 判断所述清零的事件类型是根据被监控设备的流量累积值实现的;当 Count2小于Countl,且所述被监控设备没有被手工清零和重启时,则判定 事件类型为溢出;所述Countl和Count2分别为所述采集间隔中的前一次采集时刻Tl和后一次采集时刻T2对应的被监控设备的流量累积值。当事件类型被确定为溢出事件时,所述被监控设备的当前流量累积值 为Count2, - Countl,所述Count2,为Count2加上该Count2的数据类型能 够表示的最大值;所述当前流量累积值的累积时间为sysUpTime2-sysUpTimel;所述sysUpTimel和sysUpTime2分别为Tl和T2对应的启动 累积时间。较佳地,该方法进一步包括在判定被监控设备的流量累积值在所述采 集间隔中没有被清零时,采用公式(Count2 _ Countl ) / ( sysUpTime2-sysUpTimel )计算当前流量数据;其中,Countl和sysUpTimel分别为所述 采集间隔中的前一次采集时刻Tl对应的被监控设备的流量累积值和启动累 积时间;Count2和sysUpTime2分别为所述采集间隔中的后一次采集时刻T2 对应的流量累积值和启动累积时间。本发明还提供了 一种流量数据采集设备,能够保证所采集流量数据的正 确性和连续性。该设备包括清零判断单元和计算单元;其中,所述清零判断单元,用于判定被监控设备的流量累积值在采集间隔中被清 零时,确定触发所述清零的事件类型,将所确定的事件类型发送给所述计算单元;所述计算单元,确定与所接收的事件类型对应的被监控设备当前流量累积 值以及该流量累积值的累积时间。较佳地,所述计算单元进一步用于采用所确定的流量累积值除以该流量累 积值的累积时间,得到当前流量数据。其中,所述清零判断单元包括信息获取模块和判断模块;所述信息获取模块,用于分别获取所述采集间隔的前一次釆集时刻Tl对应的被监控设备的流量累积值Countl和启动累积时间sysUpTimel,以及所述采 集间隔的后 一次采集时刻T2对应的被监控设备的流量累积值Count2和启动累 积时间sysUpTime2,将获取的信息发送给所述判断模块;所述判断模块,用于根据接收自信息获取模块的信息判断被监控设备的流 量累积值是否在采集间隔中被清零以及触发所述清零的事件类型,将判断结果 发送给所述计算单元。所述判断模块进一步用于在判定sysUpTime2小于T2减Tl的差值时,确 定所述事件类型为重启;所述计算单元用于在所接收的判断结果显示发生重启 事件时,将Count2确定为被监控设备当前流量累积值,将sysUpTime2确定为 所述当前流量累积值的累积时间。所述信息获取模块进一步用于获取所述被监控设备的系统日志;所述判断 模块进一步用于,在Tl到T2之间的系统日志记录了被监控设备的流量统计值 被手工清零时,确定所述事件类型为手工清零;所述计算单元用于在所接收的判断结果显示发生手工清零事件时,将 Count2确定为被监控设备当前流量累积值,将sysUpTime2减手工清零时刻的 差值或将T2减手工清零时刻的差值确定为所述当前流量累积值的累积时间。较佳地,所述判断模块进一步用于,在确定Count2小于Countl且被监控 设备没有被手工清零和重启时,确定所述事件类型为溢出;所述计算单元进一步用于,在所接收的判断结果显示发生溢出事件时,将 Count2加上该Count2的数据类型能够表示的最大值,得到Count2,,采用公式 (Count2, - Countl ) / ( sysUpTime2 - sysUpTimel )计算当前流量数据。较佳地,所述计算单元进一步用于,在所接收的判断结果显示被监控设 备的流量累积值在所述采集间隔中未被清零时,采用公式(Count2-Countl ) / ( sysUpTime2 - sysUpTimel )计算当前流量数据。本发明还提供了一种流量数据采集系统,能够保证所釆集流量数据的正 确性和连续性。该系统包括数据流量数据采集设备和至少 一个被监控设备;所述流量数据采集设备判定所述被监控设备的流量累积值在采集间隔中被 清零时,确定触发所述清零的事件类型,确定与所述事件类型对应的被监控设备当前流量累积值以及该流量累积值的累积时间。根据以上技术方案可见,本发明实施例的流量数据采集方案在判断被监 控设备的流量累积值在采集间隔中被清零时,并非丟弃本次采集的数据,也不是单纯地在后一次采集流量累积值上增加232或264,而是根据触发清零的事件类型,获取与事件类型对应的被监控设备流量累积值及其累积时间。采 用所获取的流量累积值及其累积时间能够计算得到准确的流量数据,从而保 证所采集流量数据的正确性,不会出现性能数据陡然增加的情况。由于本发 明实施例在流量数据的采集过程中不丟弃异常数据点,不会出现丢点现象, 使得采集得到的数据具有连续性。


图1为现有技术中的流量数据采集过程的示意图。图2为本发明实施例中流量数据采集方法的流程图。 图3为本发明实施例中另一种判断顺序的流量图。 图4为本发明实施例中流量数据采集系统的结构示意图。 图5为图4中流量数据采集设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参考附图并举 实施例,对本发明进一步详细描述。本发明实施例提供了一种流量数据采集方案,其基本思想为判定被监 控设备的流量累积值在采集间隔中被清零时,判断触发清零的事件类型,根 据判断出的事件类型,确定与该事件类型对应的被监控设备当前流量累积值 以及该流量累积值的累积时间。当然,如果需要,在获取被监控设备当前流量累积值以其累积时间之后, 还可以计算出当前数据流量,计算公式为被监控设备当前流量累积值/该 当前流量累积值的累积时间。其中,触发清零的事件即为造成被监控设备的流量累积值被清零的事件,以下称为清零触发事件。清零触发事件的类型包括设备重启、流量累积 值被手工清零以及统计值溢出,等等。对于溢出事件类型,可以采用背景技 术中描述的现有计算方法进行计算。对于其它清零触发事件,采用清零时刻 到当前时刻的流量累积值除以其实际累积时间,便可以获得准确的流量数 据。其中,流量累积值的累积时间为清零时刻到当前时刻之间的时间长度。 具体地,对于重启来说,采用重启时刻到当前时刻的流量累积值除以重启时 刻到当前时刻之间的时间长度,得到当前流量数据;对于手工清零来说,采 用手工清零时刻到当前时刻的流量累积值除以手工清零时刻到当前时刻之间的时间长度,得到当前流量数据。根据以上所述可见,本发明在发现采集间隔中被监控设备的流量累加值 被清零并重新累加时,并不是将清零现象归结于溢出并采用现有处理溢出的 方式计算流量数据,而是根据清零触发事件类型,获取与清零原因对应流量 数据计算参数,包括流量累积值及其累积时间,这样就可以采用获取的计算 参数计算得到准确的流量数据,从而保证所采集流量数据的正确性,不会出现性能数据陡然增加的情况。因流量数据的采集过程中不丢弃异常数据点, 不会出现丢点现象,使得采集得到的数据具有连续性。下面,以支持SNMP的流量数据采集设备实现流量数据采集为例,对 本发明实施例中的技术方案进行详细描述。流量数据采集设备具体可以为网 管服务器。图2示出了本发明实施例中流量数据采集方法的流程图,如图2所示, 该方法包括以下步骤步骤201:网管服务器在T1时刻向被监控设备发送携带流量累积值变 量和时间变量的SNMP请求报文(SNMP Request),请求获取当前时刻的 流量累积值和流量累积时间。本实施例采用发送携带流量累积值变量Count和sysUpTime变量的 SNMP请求报文,请求获取流量累积值和流量累积时间。被监控设备收到 SNMP请求报文后,根据其所携带的变量返回相应数据。其中,sysUpTime1是系统启动累积时间,该变量为一个SNMP中的已定义时间变量,表示当前 时刻相对于被监控i殳备启动时刻的已运4亍时间。因此,可以将sysUpTime 的值作为对应于流量累积值的流量累积时间。当设备重启时,该sysUpTime 的值被清零并重新累积。在实际中,也可以釆用其它已有变量或自定义变量 作为流量累积时间变量携带在SNMP请求报文中。此外,SNMP请求报文中的流量累积值变量可以为SNMP中已有变量, 也可以为自定义变量;流量累积值变量可以为一个或多个,分别对应各个所 需测量的流量指标,流量指标例如接口输入流量累积值、接口输出流量累积 值等。步骤202:被监控设备根据接收到的SNMP请求报文,通过SNMP响应 (SNMP Response )报文返回当前流量累积值及流量累积时间。这里,监控设备返回SNMP Response ( Count 1, sysUpTimel )。其中, Countl和sysUpTimel分别为对应于Tl时刻的流量累积值和启动累积时间。步骤203 ~ 204:网管服务器在T2时刻向被监控设备发送携带流量累积 值变量和时间变量的SNMP请求报文,请求获取当前时刻的流量累积值和流 量累积时间;被监控设备根据接收到的SNMP请求报文,通过SNMP响应 报文返回当前流量累积值及流量累积时间。这里,监控设备返回SNMP Response ( Count2, sysUpTime2 )。其中, Count2和sysUpTime2分别为对应于T2时刻的流量累积值和启动累积时间。步骤205:网管服务器判断在T1到T2的采集间隔中,被监控设备中的 流量累积值是否被清零过,如果是,则确定清零触发事件类型并执行步骤 206;否则,执行步骤207。流量累积值清零的原因可能是人工清零、设备重启或流量累积值溢出。a)本发明实施例通过被监控设备返回的sysUpTime2判断被监控设备是 否在采集间隔中发生重启由于被重启设备的Count和sysUpTime都被清零, 因此当设备在Tl和T2之间发生重启时,该设备返回的sysUpTime2小于(T2 -Tl)。因此,当网管服务器判定sysUpTime2小于(T2-T1)的值时,确定Tl到T2的采集间隔中,被监控设备的流量累积值被清零过,并确定清零触发事件为重启事件。b )本发明实施例通过从被监控设备获取的系统日志(syslog )判断被监 控设备在采集间隔中是否发生人工清零网管服务器启动syslog接收,实时 接收来自被监控设备的syslog。当判定一皮监控设备返回的Count2小于Countl 时,分析Tl到T2之间的syslog内容,如果Tl到T2之间的syslog记录了 被监控设备的流量统计值被手工清零,则判定清零触发事件为手工清零事 件。其中,根据syslog内容判断该被监控设备是否在釆集间隔中发生人工清 零事件为已有技术。简单的说,syslog记载了被监控设备所发生的各种事件, 因此,网管服务器根据syslog记载的事件描述,判断所发生的事件是否为手 工清零事件。当然,在实际中,也可以不考虑Count2与Countl的大小关系,直接根 据syslog内容判断是否发生过手工清零事件。判断时机可以是接收到syslog 的时刻,也可以是收到Count2之后。与确定Count2小于Countl之后再判 断手工清零事件相比,这种直接判断的方式会增加网管服务器的判断次数, 从而消耗较多的网管服务器运行资源。c)本发明实施例在判定Count2小于Countl时,如果同时确定未发生 人工清零和重启,则确定发生溢出事件。步骤206:根据清零触发事件类型,确定与清零触发事件类型对应的被 监控设备当前流量累积值及其累积时间,并计算当前流量数据。本流程结束。下面描述重启、手工清零和溢出情况对应的流量数据计算操作。情况一、当步骤205判定清零触发事件类型为重启事件时,由于T1到 重启时刻T之间的流量统计数据丢失,不能纳入流量计算,因此采用重启时 刻T到T2之间的流量累积值除以(T2 -重启时刻T),即可得到当前流量 公式。由于被监控设备重启时Count和sysUpTime的值都被清零,因此Count2 为重启时刻T到T2之间的流量累积值,Count2的实际累积时间为(T2 -重 启时刻T) =sysUpTime2。此时,流量计算公式为Count2/sysUpTime2。情况二、当步骤205判定清零触发事件类型为人工清零事件时,由于Tl到手工清零时刻T之间的流量统计数据丢失,不能纳入流量计算,因此 采用手工清零时刻T到T2之间的流量累积值除以(T2-手工清零时刻T) 即可得到当前流量公式。人工清零时,将Count值清零,因此Count2为手 工清零时刻T到T2之间的流量累积值,Count2的实际累积时间为(T2 -手 工清零时刻T),因此,可以采用计算公式Count2/(T2-手工清零时刻T) 计算当前流量数据。但是,如果网管服务器的时钟和被监控设备的时钟基准 不一致,则T2-T的计算结果和实际累积实际具有很大偏差。鉴于此,较佳地,统一采用被监控设备侧时间,那么手工清零发生时的 计算公式为Count2/ ( sysUpTime2-手工清零时刻T),其中,手工清零时 刻T可以乂人syslog中获得。在实际中,还可以统一采用网管服务器侧时间,那么手工清零发生时的 计算公式为Count2/(T2-手工清零时刻T,),其中手工清零时刻T,为网管 服务器自身接收到记录有手工清零事件的syslog的接收时刻。情况三、当步骤205判定清零触发事件类型为溢出事件时,根据Count2 的数据类型,将Count2加上其数据类型所能表示的最大值,获得Count2,, 采用(Count2, - Countl ) / ( T2 - Tl )的公式,计算当前流量数据。较佳地,可以统一采用被监控设备侧时间计算当前流量数据,其计算公 式为(Count2, - Count 1 ) / ( sysUpTime2 - sysUpTimel )。步骤207:在没有流量累积值清零的情况下,采用正常情况下的流量数 据求取公式获得当前流量数据。本流程结束。具体来说,可以采用现有公式(Count2 - Count 1 ) / ( T2 - Tl )计算当 前流量数据。较佳地,可以采用被监控设备侧时间计算正确情况下的当前流量数据, 其计算公式为(Count2 - Countl) / ( sysUpTime2 - sysUpTimel )。 至此,本流程结束。在实际中,步骤205判断是否发生清零触发事件时,可以按照下述顺序1来4丸行即,先判断Count2是否小于Countl,如果是,则判定发生清零触发事件, 继而判断清零原因是重启或手工清零,如果都不是,则确定为溢出。但在实际中,可能出现被监控设备重启,但返回的Count2大于或等于 Countl的情况,这样,如果仍按照顺序1进行判断,则可能在出现重启时, 仍按照正常情况计算流量数据,得到不正确的流量数据。考虑到这种情况, 可以按照如下顺序2来执行各种清零触发事件的判断。顺序2的具体操作如 图3示出的步骤图3为本发明实施例中另一种判断顺序的流程图。如图3所示,该方法 包括以下步骤步骤301:在网络服务器在Tl和T2时刻分别获取Countl 、 sysUpTimel 、 Count2和sysUpTime2之后,判断sysUpTime2是否大于或等于(T2-T1), 如果是,则表明在Tl和T2两次采集之间,被监控设备没有发生过重启, 执行步骤302;否则,被监控设备在采集期间发生过重启,执行步骤306。步骤302:判断Count2是否大于或等于Countl,如果是,表明流量累 积值没有溢出,执行步骤307;否则,执行步骤303。步骤303:解析Tl到T2之间的syslog,检查是否存在被监控设备被手 工清零的情况,如果是,则执行步骤304 ~ 305;否则,判定出现溢出,执 行步骤308 ~ 309。其中,解析Tl到T2之间syslog的前提是,网管服务器启动syslog接 收,实时接收来自被监控设备的syslog。步骤304- 305:获取syslog记录的手工清零时刻T,按照公式Count2/ (sysUpTime2 - T)计算当前流量数据。本流程结束。步骤306:按照公式Count2/sysUpTime2计算当前流量数据。本流程结束。步骤307:按照公式(Count2 - Countl ) /(sysUpTime2 — sysUpTimel )计算当前流量数据。本流程结束。步骤308 - 309:根据Count2的数据类型,将Count2加上其数据类型 能够表示的最大值,得到Count2';按照计算公式(Count2'- Count 1 ) / (sysUpTime2-sysUpTimel )计算当前流量数据。如果数据类型是32bit,则 Count2加2";如果数据类型为64bit,则Count2加264。本流程结束。从以上流程可以看出,由于sysUpTime是SNMP协议的标准变量,支 持SNMP协议的被监控对象可识别sysUpTime,因此,采用sysUpTime返回 启动累积时间,无需对被监控设备进行任何修改即可实现本发明实施例中的 技术方案,进而降低了本发明实施例中技术方案的实现成本、提高了其可行 性,并使其具有较高的实用性。如果采用其它已有变量或自定义变量返回累积时间,也不需要对被监控 设备进行较大修改,只需要简单修改相关配置即可实现本发明实施例中的技 术方案。以上是对本发明实施例中的流量数据采集方法,下面,再对本发明实施 例中的流量数据采集系统和设备进行详细描述。图4为本发明实施例中流量数据采集系统的结构示意图。如图4所示, 以基于SNMP实现流量数据采集、流量数据采集设备为网管服务器为例,本 发明实施例中的流量数据采集系统包括至少一个网管服务器和至少一个被 监控设备。网管服务器,判定被监控设备的流量累积值在采集间隔中被清零时,判 断触发清零的事件类型,确定与判断出的事件类型对应的被监控设备当前流 量累积值以及该流量累积值的累积时间。当然,如果需要,该网管服务区在 获取被监控设备当前流量累积值以其累积时间之后,还可以计算出当前数据 流量,计算公式为被监控设备当前流量累积值/该当前流量累积值的累积 时间。本实施例中的网管服务器支持SNMP协议,通过发送携带流量累积值 变量和启动累积时间变量的SNMP请求报文,请求获取被监控设备的当前流 量累积值和启动累积时间。被监控设备,是网管服务器的管理对象,接收网管服务器发送的请求,返回请求处理结果。本实施例中的被监控设备支持SNMP协议,在接收到网 管服务器发送的SNMP请求报文后,将当前流量累积值和启动累积时间携带 在SNMP响应报文中,返回给网管服务器。图5为图4中网管服务器,即流量数据采集设备的结构示意图。如图5 所示,该网管服务器包括清零判断单元510和计算单元520,其中,清零判断单元510,用于在判定被监控设备的流量累积值在采集间隔中 被清零时,确定触发清零的事件类型,将所确定的事件类型发送给计算单元 520。清零判断单元510具体包括信息获取模块511和判断模块512。其中,信息获取模块511,用于分别在Tl时刻和T2时刻,从被监控设备获取 流量累积值Countl和Coimt2,以及该被监控设备的启动累积时间 sysUpTimel和sysUpTime2,将获耳又的信息发送给判断冲莫块512。具体地,该信息获取模块511包括发送子模块和接收子模块(发送子模 块和接收子模块在图5中未示出);其中,发送子模块,用于向被监控设备发送SNMP请求报文,该SNMP请求 报文中包括流量累积值变量Count和启动累积时间变量sysUpTime。此时, 被监控设备在接收到SNMP请求时,将当前流量累积值和启动累积时间携带 在SNMP响应报文中返回。接收子模块,用于接收被监控设备返回的携带流量累积值和启动累积时 间的SNMP响应才艮文。判断模块512,用于根据接收自信息获取模块511的信息判断被监控设 备的流量累积值是否在采集间隔中被清零并确定清零触发事件类型,将包括 是否清零以及清零触发事件类型的判断结果发送给计算单元520。具体地,判断才莫块512在判定sysUpTime2小于T2减Tl的差值时,确 定被监控设备的流量累积值在采集间隔中被清零,且清零触发事件类型为重 启事件;判断模块512在判定Count2小于Countl,且在Tl到T2之间,信息获取模块511从被监控设备获取的syslog显示被监控设备被手工清零时,确定 被监控设备的流量累积值在采集间隔中被清零,且清零触发事件类型为手工 清零事件;或者,判断模块512也可以不判断Count2与Countl之间的大小 差异,而直接根据T1到T2之间的syslog判断是否发生了手工清零事件;判断模块512还在判定Count2小于Countl,且没有被手工清零和重启 时,确定被监控设备的流量累积值在采集间隔中被清零,且清零触发事件类 型为溢出事件。以上就是网管服务器中清零判断单元510的具体结构和功能。下面对网 管服务器中的计算单元520的功能进行详细描述。计算单元520,用于接收来自清零判断单元510的判断结果,该判断结 果包括是否清零以及清零触发事件,判断结果显示被监控设备的流量累积值 在采集间隔中被清零时,该计算单元520确定与所接收的事件类型对应的被 监控设备当前流量累积值以及该流量累积值的累积时间。本实施例中,计算 单元520进一步用于采用所确定的流量累积值除以该流量累积值的累积时 间,得到当前流量数据。具体地,当清零触发事件为重启事件时,计算单元520采用公式 Count2/sysUpTime2计算当前流量数据;当清零触发事件为手工清零事件时,计算单元520采用公式Count2/( T2 -T)计算当前流量数据,该公式中的T为手工清零时刻,是所在网管服务 器接收记录有手工清零事件的syslog的时刻,该手工清零时刻为网管服务器 侧时间,或者;计算单元520采用公式Count2/ ( sysUpTime2 - T)计算当前 流量数据,该公式中的T为从syslog中获得的手工清零时刻,该手工清零时 刻为被监控设备侧时间。当清零触发事件为溢出事件时,计算单元520将Count2加上Count2的 数据类型能够表示的最大值,得到Count2,,采用公式(Count2,-Countl) / ( sysUpTime2 - sysUpTimel)计算当前流量数据。当然,当接收自清零判断单元510的判断结果显示被监控设备正常,即被监控设备的流量累积值在采集间隔中没有被清零时,计算单元520采用公 式(Count2 - Countl ) / ( sysUpTime2 - sysUpTimel )计算当前流量数据。由以上所述可以看出,本发明所提供的流量数据采集方法,能够针对不 同的清零原因进行有针对性的计算,从而提高了所计算流量数据的准确性。 而且,由于不舍弃任何数据点,不会出现所采集数据不连续的问题。综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。
权利要求
1、一种流量数据采集方法,其特征在于,该方法包括在判定被监控设备的流量累积值在采集间隔中被清零时,判断触发所述清零的事件类型,确定与所述事件类型对应的被监控设备当前流量累积值以及该流量累积值的累积时间。
2、 如权利要求l所述的方法,其特征在于,触发所述清零的事件类型包括 重启事件和手工清零事件;当事件类型被确定为重启事件时,所述被监控设备当前流量累积值以及该 流量累积值的累积时间分别为重启时刻到当前时刻的流量累积值和重启时刻 到当前时刻之间的时间长度;当事件类型被确定为手工清零事件时,所述被监控设备当前流量累积值以 及该流量累积值的累积时间分别为手工清零时刻到当前时刻的流量累积值和 手工清零时刻到当前时刻之间的时间长度。
3、 如权利要求2所述的方法,其特征在于,判断所述清零的事件类型是通 过检查被监控设备的启动累积时间以及系统日志实现的;若,sysUpTime2小于T2减Tl的差值,则判定事件类型为重启;所述 sysUpTime2为所述采集间隔中的后一次采集时刻T2对应的被监控设备的启动 累积时间,所述T1为所述采集间隔中的前一次采集时刻;若,所述被监控设备中Tl到T2之间的系统日志记录了被监控设备的流量 统计值被手工清零时,则判定事件类型为手工清零。
4、 如权利要求3所述的方法,其特征在于,将所述T2对应的被监控设备 的流量累积值Count2确定为所述重启时刻到当前时刻的流量累积值;将所述sysUpTime2确定为重启时刻到当前时刻之间的时间长度。
5、 如权利要求3所述的方法,其特征在于,将所述T2对应的被监控设备 的流量累积值Count2确定为所述重启时刻到当前时刻的流量累积值;将sysUpTime2减手工清零时刻T的差值确定为手工清零时刻到当前时刻之间的时间长度。
6、 如权利要求5所述的方法,其特征在于,所述T是从被监控设备提供的 系统日志中获取的;或者,将记录有手工清零事件的系统日志的获取时刻确定 为所述T。
7、 如权利要求2所述的方法,其特征在于,触发所述清零的事件类型进一 步包括溢出事件;判断所述清零的事件类型是根据被监控设备的流量累积值实现的;当 Count2小于Count 1,且所述被监控设备没有被手工清零和重启时,则判定事件 类型为溢出;所述Countl和Count2分别为所述釆集间隔中的前一次采集时刻 Tl和后一次采集时刻T2对应的被监控设备的流量累积值。
8、 如权利要求7所述的方法,其特征在于,当事件类型被确定为溢出事件 时,所述被监控设备的当前流量累积值为Count2, - Countl,所述Count2,为 Count2加上该Count2的数据类型能够表示的最大值;所述当前流量累积值的 累积时间为sysUpTime2 — sysUpTime 1; 所述sysUpTimel详口 sysUpTime2分另'J 为T1和T2对应的启动累积时间。
9、 如权利要求l所述的方法,其特征在于,该方法进一步包括在判定被 监控设备的流量累积值在所述采集间隔中没有被清零时,采用公式(Count2 -Countl ) / (sysUpTime2-sysUpTimel )计算当前流量数据;其中,Countl和 sysUpTime 1分别为所述采集间隔中的前一次采集时刻Tl对应的被监控设备的 流量累积值和启动累积时间;Count2和sysUpTime2分别为所述采集间隔中的 后一次采集时刻T2对应的流量累积值和启动累积时间。
10、 如权利要求1所述的方法,其特征在于,该方法进一步包括将被监 控设备的当前流量累积值除以该流量累积值的累积时间,得到当前流量数据。
11、 如权利要求4至9任意一项所述的方法,其特征在于,所述流量累积 值的获取方式为向被监控设备发送携带流量累积值变量Count的简单网络管 理协议SNMP请求报文,并接收返回的携带流量累积值的SNMP响应报文。
12、 如权利要求3、 4、 5、 6、 7或9所述的方法,其特征在于,所述启动累积时间的获取方式为向被监控设备发送携带启动累积时间变量sysUpTime 的SNMP请求报文,并接收返回的携带启动累积时间的SNMP响应报文。
13、 一种流量数据采集设备,其特征在于,该设备包括清零判断单元和计 算单元;其中,所述清零判断单元,用于判定被监控设备的流量累积值在采集间隔中被清 零时,确定触发所述清零的事件类型,将所确定的事件类型发送给所述计算单元;所述计算单元,确定与所接收的事件类型对应的^皮监控设备当前流量累积 值以及该流量累积值的累积时间。
14、 如权利要求13所述的设备,其特征在于,所述计算单元进一步用于采 用所确定的流量累积值除以该流量累积值的累积时间,得到当前流量数据。
15、 如权利要求13所述的设备,其特征在于,所述清零判断单元包括信息 获取模块和判断模块;所述信息获取模块,用于分别获取所述采集间隔的前一次采集时刻Tl对应 的被监控设备的流量累积值Countl和启动累积时间sysUpTimel,以及所述采 集间隔的后一次采集时刻T2对应的被监控设备的流量累积值Count2和启动累 积时间sysUpTime2,将获取的信息发送给所述判断模块;所述判断模块,用于根据接收自信息获取模块的信息判断被监控设备的流 量累积值是否在采集间隔中被清零以及触发所述清零的事件类型,将判断结果 发送给所述计算单元。
16、 如权利要求15所述的设备,其特征在于,所述判断模块进一步用于在 判定sysUpTime2小于T2减Tl的差值时,确定所述事件类型为重启;所述计算单元用于在所接收的判断结果显示发生重启事件时,将Count2确 定为被监控设备当前流量累积值,将sysUpTime2确定为所述当前流量累积值的 累积时间。
17、 如权利要求15所述的设备,其特征在于,所述信息获取模块进一步用 于获取所述被监控设备的系统日志;所述判断模块进一步用于,在Tl到T2之间的系统日志记录了被监控设备 的流量统计值被手工清零时,确定所述事件类型为手工清零;所述计算单元用于在所接收的判断结果显示发生手工清零事件时,将 Count2确定为被监控设备当前流量累积值,将sysUpTime2减手工清零时刻的 差值或将T2减手工清零时刻的差值确定为所述当前流量累积值的累积时间。
18、 如权利要求17所述的设备,其特征在于,所述判断模块进一步用于, 在确定Count2小于Countl且被监控设备没有被手工清零和重启时,确定所述 事件类型为溢出;所述计算单元进一步用于,在所接收的判断结果显示发生溢出事件时,将 Count2加上该Count2的数据类型能够表示的最大值,得到Count2,,采用公式 (Count2, - Count 1 ) / ( sysUpTime2 — sysUpTimel )计算当前流量数据。
19、 如权利要求15所述的设备,其特征在于,所述计算单元进一步用于, 在所接收的判断结果显示被监控设备的流量累积值在所述采集间隔中未被清零 时,采用公式(Count2 - Countl ) / ( sysUpTime2 - sysUpTimel )计算当前流量 数据。
20、 一种流量数据采集系统,其特征在于,该系统包括数据流量数据采集 设备和至少 一个被监控设备;所述流量数据采集设备判定所述被监控设备的流量累积值在采集间隔中被 清零时,确定触发所述清零的事件类型,确定与所述事件类型对应的被监控设 备当前流量累积值以及该流量累积值的累积时间。
21、 如权利要求20所述的系统,其特征在于,所述流量数据采集设备包括 清零判断单元和计算单元;其中,所述清零判断单元,用于判定被监控设备的流量累积值在采集间隔中被清 零时,确定触发所述清零的事件类型,将所确定的事件类型发送给所述参数确 定;所述计算单元,确定与所接收的事件类型对应的被监控设备当前流量累积 值以及该流量累积值的累积时间。
22、 如权利要求21所述的系统,其特征在于,所述清零判断单元包括信息 获取模块和判断模块;所述信息获取模块,用于分别获取所述采集间隔的前一次采集时刻Tl对应 的被监控设备的流量累积值Countl和启动累积时间sysUpTimel,以及所述采 集间隔的后一次采集时刻T2对应的被监控设备的流量累积值Count2和启动累 积时间sysUpTime2,将获取的信息发送给所述判断模块;所述判断模块,用于根据接收自信息获取模块的信息判断被监控设备的流 量累积值是否在采集间隔中被清零以及触发所述清零的事件类型,将判断结果 发送给所述计算单元。
23、 如权利要求22所述的系统,其特征在于,所述信息获取^莫块包括发送 子模块和接收子模块;所述发送子模块,用于向所述被监控设备发送SNMP请求报文,所述SNMP 请求报文中包括流量累积值变量和启动累积时间变量;所述接收子模块,用于接收所述被监控设备返回的携带流量累积值和启动 累积时间的SNMP响应l艮文;所述净皮监控设备在接收到SNMP请求时,将当前流量累积值和启动累积时 间携带在SNMP响应报文中返回。
24、 如权利要求22所述的系统,其特征在于,所述被监控设备向所述流量数据采集设备发送系统日志;所述信息获取模块进一步用于将所接收的系统日志作为判断是否发生手工 清零事件的依据发送给所述判断模块。
全文摘要
本发明公开了一种流量数据采集方法,该方法在判定被监控设备的流量累积值在采集间隔中被清零时,判断触发所述清零的事件类型,确定与所述事件类型对应的被监控设备当前流量累积值以及该流量累积值的累积时间。本发明还提供了一种流量数据采集系统和一种流量数据采集设备。使用本发明能够保证所采集流量数据的正确性,流量数据的采集过程中不丢弃异常数据,不会出现丢点现象,使得采集的流量数据具有连续性。
文档编号H04L12/24GK101237352SQ200810101378
公开日2008年8月6日 申请日期2008年3月5日 优先权日2008年3月5日
发明者曾勇刚 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1