一种分布式的网络测量数据统计分析方法与流程

文档序号:11234465阅读:892来源:国知局
本发明属于网络通信领域,具体涉及一种分布式的网络测量数据统计分析方法。
背景技术
:高速网络的数据采集分析是分析数据传输性能、诊断网络故障、判定分组传输服务质量的重要手段和方法之一。网络数据的被动测量和分析处理作为一种具有开销小、采集测量准确并且不影响网络既有用户业务等优点的网络测量方法而得到广泛应用。一般而言,网络被动测量方法通过在网络中部署探针设备和数据分析服务器设备实现。探针设备类似于公路上的监控摄像头,是连接到网络中需要监控和分析的热点位置,在不影响正常通信的情况下对通过的数据进行采集和处理的设备。数据分析服务器类似于城市中的交通管理中心的监控调度室,服务器实时搜集、分析、处理并向管理员呈现各个探针设备采集到的网络数据。被动测量方法在工作时首先由探针设备对通过的数据进行采集并将其原封不动地发送给数据分析服务器;数据分析服务器周期地汇总探针设备上报的原始数据并对其进行比对、分析和处理,将最终分析的结果呈现给网络管理人员。数据分析服务器呈现出的结果一般是关于全网时延、带宽和跳数等有关的网络性能指标。随着网络规模、探针数量以及网络上的数据流量的增大,传统的被动网络测量分析方法面临如下几个问题。(1)传输带宽无法满足需求随着网络业务流量的增大和探针数量的增加,采集的数据量可能达到几十tb的量级。如此巨量数据的实时汇总给网络传输带宽带来巨大的挑战。假设一次布置了50个探针设备规模的网络测量实例,每个探针采集1路g比特接口,则负责实时传输采集数据的网络应该具备至少50gbps的传送能力,这在实际网络中是不可想象的。(2)集中式处理能力无法满足要求随着网络业务流量的增大和探针数量的增加,对数据分析服务器的处理能力提出越来越高的要求,常见配置的服务器已经很难满足海量采集数据的处理需求。替换和升级数据处理服务器的成本越来越高,并且极为不便。另一方面,探针设备具备弱处理能力和低数据吞吐量(即流经每一个探针设备的数据流量相对于汇总到数据处理服务器的所有探针的原始数据而言非常少)的特征,而数据分析服务器具有强处理能力和高数据吞吐量的特征。中国专利201220245806.3公开了一种分布式数据统计系统,用于均衡数据处理任务和提高数据处理效率;该系统采用标准http协议,并且并未定义与网络测量相关的统计分析方法,不适合应用于对数据融合处理有较高要求的网络测量领域的分布式数据分析处理。技术实现要素:本发明的目的在于提供一种分布式的网络测量数据统计分析方法,解决在大数据量和多探针设备的网络测量数据实时分析处理问题。实现本发明目的的技术方案为:一种分布式网络测量数据统计分析方法,包括以下步骤:步骤1,数据分析服务器下发流表;步骤2,各个网络探针设备对流经本节点的局部数据进行预处理;步骤3,数据分析服务器根据所搜集的各个探针设备的预处理结果进行融合处理。与现有技术相比,本发明的显著优点为:(1)网络探针设备除采集功能外还具备一定的存储和计算能力,通过调度服务的指令,对采集数据执行过滤、预处理、融合、存储、统计以及回调等操作,从而通过勤务网络(连接服务器和探针设备的网络)仅向数据分析服务器传输有限数据量,进而可以高效利用勤务网络的传输带宽。(2)探针设备根据数据分析服务器下发的数据分析规则对采集的原始数据进行匹配、预处理和融合操作;操作完成后将前端处理结果和部分融合后数据通过勤务网发送给数据分析服务器,数据分析服务器接收到融合数据后对各探针汇总的数据预处理结果和融合数据进行融合处理并最终提交用户;通过分布式的两级处理方式,大大降低了勤务网的带宽压力。(3)本发明将需要较高计算量和较大数据处理量的数据分析任务调度到多个网络探针设备中执行,从而达到将计算负载在全网计算节点中均衡的目标;例如:用户需要对采集数据中满足特定约束的数据进行统计分析,则数据分析服务器可以将数据流约束条件、实时性需求和统计指标等信息下发到指定的探针设备;网络探针设备则根据数据分析服务器下发的任务需求对采集数据进行实时流匹配、处理和统计并最终将处理结果回送数据分析服务器;本发明能够大大降低数据分析服务器的计算负担,均衡全网的计算开销。附图说明图1是本发明分布式网络测量数据统计分析方法示意图。具体实施方式结合图1,一种分布式网络测量数据统计分析方法,包括以下步骤:步骤1,数据分析服务器下发流表;步骤2,各个网络探针设备对流经本节点的局部数据进行预处理;步骤3,数据分析服务器根据所搜集的各个探针设备的预处理结果进行融合处理。进一步的,所述预处理包括数据匹配过滤、数据流量统计、数据时延统计和数据跳数统计。进一步的,数据分析服务器和探针设备之间通过主从式的命令应答方式进行交互。进一步的,数据分析服务器向探针设备下发数据流表,数据流表包括标识域、统计域和操作域;标识域用来标识感兴趣的数据流,统计域用来记录预处理统计结果,操作域用来定义探针设备针对特定数据流所执行的操作。进一步的,数据分析服务器向探针设备下发的数据流表标识域包括原ip地址、目的ip地址、源端口号、目的端口号、协议号以及其他用户自定的报文数据标识。进一步的,数据分析服务器向探针设备下发的数据流表统计域包括持续时间、数据流量、包流量、时延、跳数以及其他用户自定义统计量。进一步的,数据分析服务器的融合处理方法包括max-min操作、加性操作和乘性操作这些融合处理方法。进一步的,数据分析服务器和探针设备交互的命令主要包括流表操作类命令、数据回取类命令和采集报告类命令,所述流表操作类命令包括添加流表、删除流表和更改流表,所述数据回取类命令包括回取统计量命令和回取数据命令,所述采集报告类命令包括数据采集报告命令和统计量报告命令。下面对本发明技术方案进行详细说明。本发明的分布式网络测量数据统计分析方法主要由交互协议、流表结构和融合处理方法及各部分构成。(一)交互协议该分布式网络测量数据分析方法架构涉及到数据分析服务器与探针设备之间的一系列数据交互,这些数据交互必须在一个统一的协议约定下有序完成,从而实现分布式的数据分析功能。总体而言,数据分析服务器与探针设备之间是主从关系,一般由数据分析服务器发起命令,探针设备进行应答的方式进行交互。个别情况下也可以由探针设备主动发起上报操作。具体协议交互流程区分数据分析服务器和探针设备讨论。探针设备:(1)接收数据分析服务器命令;(2)是否可以执行该命令?是则继续执行,否则跳到第4步;(3)执行并发送确认执行消息给数据分析服务器,跳到第5步;(4)发送拒绝确认消息给数据分析服务器;(5)跳回第1步。数据分析服务器:(1)等待用户指令;(2)发送用户命令给探针设备;(3)等待探针设备的确认;(4)是否超时?是则继续,否则跳到第1步;(5)是否超过重传次数?是则继续,否则重传并跳到第3步;(6)跳到第1步。系统协议中数据分析服务器下发的命令主要承载于命令消息中,系统支持的命令消息如下:(1)添加流表命令探针设备收到该命令后,保存该命令消息里数据流表用于匹配数据流(数据流即是可以标识网络中数据的特定的特征,具有相同特征的数据归属于同一个流)。并标记其是否需要实时回传、存储和回复确认应答。(2)删除流表命令探针设备收到该命令后,删除对应的图表并回复确认应答。(3)更改流表命令探针设备收到该命令后,更改对应的数据流表,并回复确认应答。(4)回取统计量命令取回目前为止特定数据流表所对应的统计量结果。探针设备收到该命令后,回送统计量报告消息并稍带确认应答。(5)回取数据命令取回目前为止特定数据流表所对应的所有存储数据。探针设备收到该命令后,回送与该流表所对应的所有存储数据,全部存储数据回送结束后发送确认应答。下表为命令消息说明:表1探针设备收到某些命令后会向数据分析服务器上报报告数据。有些报告数据数量庞大,需要多个报文传输,在最后传输完毕后,探针设备会传送应答消息给数据分析服务器。探针设备传送的报告消息如下:(1)采集数据报告消息探针设备发送采集数据报告消息最后以应答消息结束。(2)统计量报告消息探针设备发送统计量报告消息,并以应答消息结束。下表为报告消息说明:表2(二)流表结构本发明涉及的分布式网络测量数据分析方法是面向流的实时数据分析。所有探针设备对流的提取、预处理以及统计记录等操作都是以数据分析服务器提供的一系列流表为依据。每个流表描述了探针设备对流的标识和操作,具体包括标识域、统计域以及操作域。如表3所示,标识域由以下字段组成。表3(1)匹配字段匹配字段决定了使用报文头部的哪些区域进行流标识。通用的标准区域包括源ip地址、目的ip地址、源端口、目的端口以及协议字段。对于某些有专用场景需求的用户可以在流表中添加若干自定义字段。自定义字段允许用户采用自定义的方式命名,但不可与标准报头字段重复。(2)最大字段长度该字段规定了用于流匹配字段的最大长度,标准报头字段的最大匹配长度是固定的。例如源ip地址的最大匹配长度为32比特。用户自定字段的最大匹配长度有用户定义,但是不得超过带采集报文的有效长度。(3)逻辑判定字段该字段的值决定了对应记录的匹配规则与其他记录的匹配规则的逻辑关系。例如:某个流表总的匹配规则是源ip为a并且目的ip为b,则该流表的流标识域中的源ip地址记录的逻辑判定域为"and",目的ip地址记录的逻辑判定域也为"and"。(4)取值范围字段该字段决定了对应记录匹配字段的取值范围。当探针设备采集到的某个数据的匹配报头字段的值落入该取值范围,则代表该报文属于该流,否则不命中。取值范围以一系列数据集合表示。例如{(3,15),(125,1024)}等等。另外,如果本字段不设置任何匹配过滤,则可以设置为全部接受(all)。(5)偏移量与偏移长度字段标准协议匹配区域的名称本身就代表了该匹配字段在报头中所处的位置,例如:源ip地址为ip报头的第4-7个字节。但用户自定义匹配字段的位置一般处于自定义应用层头部,需要用户手动指定位置。偏移量和偏移长度两个字段配合则可以指定用户自定匹配字段在数据包中的位置。例如用户通过将自定义匹配字段的偏移量和偏移长度分别设置为100和4,则代表用户希望通过在报文的第100个字节开始的4个字节的数据值判定采集报文是否属于该流表指定操作的流。另外,当流标识域有多个匹配记录时,其优先级按照先通用标准区域后自定义区域的顺序。统计域由以下几个字段组成:(1)持续时间该统计量代表从表项建立开始,该流的持续了多长时间,该持续时间为最后一个到达报文的到达时刻。数据分析服务器执行取回该字段的操作后,返回值为[tf1…tfn]序列,该序列代表各个探针设备返回的该流最后一个包的时间戳(已排序),数据分析服务器将取最大值标识持续时间统计量。(2)数据流量该统计量代表该流目前为止的流量指标,单位为比特每秒。数据分析服务器执行取回该字段的操作后,返回值为[(lp1,tp1)…(lpn,tpn)]数据对序列,该序列中的每个数据对儿代表一个特定探针设备上探测的针对同一个数据的时间戳tp1和报文长度lpn,数据分析服务器将对其进行后续处理从而标识该统计量。(3)包流量该统计量代表该流目前为止的流量指标,单位为报文每秒。数据分析服务器执行取回该字段的操作后,数据分析服务器返回的值为[tp1…tpn]数据序列,该序列中的每个数据代表一个特定探针设备上探测的特定数据的时间戳,数据分析服务器将对其进行后续处理从而标识该统计量。(4)时延该统计量代表该流目前为止的端到端和点到点的时延指标。数据分析服务器执行取回该字段的操作后,返回的值为[t1…tn]数据序列,该序列中的每个数据代表一个特定探针设备上探测的特定报文的时间戳,数据分析服务器将对其进行后续处理从而标识该统计量。(5)跳数该统计量代表该流目前为止的端到端的跳数指标。数据分析服务器执行取回该字段的操作后,返回的值为[ttl1…ttln]数据序列,该序列中的每个数据代表一个特定探针设备上探测的特定报文的ttl字段值,数据分析服务器将对其进行后续处理从而标识该统计量。(6)其他统计量其他自定义统计量的键值和数据值为用户自定义的数值和处理方法。操作域主要由探针设备针对特定标识域所执行的操作和动作,由用户自定义执行。表4为统计域健值与数据值,其中键值为该统计量的标识,可以是流表识,也可以是某个数据包标识(如ipid)。[(lp1,tp1)…(lpn,tpn)]为(报文长度,时间戳)数据对儿序列,[ttl1…ttln]为报文中的ttl序列。表4统计量键值数据值持续时间流标识[tf1…tfn]数据流量ipid[(lp1,tp1)…(lpn,tpn)]包流量ipid[tp1…tpn]时延ipid[t1…tn]跳数ipid[ttl1…ttln](三)融合处理方法当数据分析服务器执行统计量取回操作后,探针设备将把经过排序生成的对应的统计数据对传送至数据分析服务器。此时,数据分析服务器将启动后处理(融合处理)过程,该过程对数据处理后将向用户输出所需的统计量信息,具体的融合处理方法有以下几类:(1)max-min操作类该类操作主要是对属于某个键值的数据集取最大最小操作,从而实现统计量的计算。例如对于流持续时间操作,数据分析服务器将执行如下计算:duration=max([tf1…tfn])其中,[tf1…tfn]为n个探针设备目前为止的最后一个报文到达的时间戳。数据分析服务器所取得最大值即为该流的最大持续时间。其他涉及max-min操作统计量涵盖最大报文长度和最小跳数等等。(2)加性操作类该类操作主要是对属于某个键值的数据集取加性加减法操作,从而实现统计量的计算。例如对于时延操作,数据分析服务器将执行如下计算:delay=max([t1…tn])-min(t1…tn)其中,[t1…tn]为每个探针设备上报的时间戳信息,该序列的最大与最小值之间的差值即为端到端时延统计量。类似的操作还包括跳数统计量等。(3)乘性操作类该类操作主要是对属于某个键值的数据集取乘法或者除法操作,从而实现统计量的计算。例如对于流量操作,数据分析服务器将执行如下计算:其中,tpn为探针设备n上报的采集报文p的时间戳信息,lpn为探针设备n上报的报文p的长度,该序列的长度之和与时间差之商即为探针设备n的流量统计量。类似的操作还包括包流量等。另外,上述的融合处理方法可以采用逐值计算的方法(即每采集到一个数据计算一次),也可以采用bucket的计算方法(即取一个计算周期例如10秒,对该周期内的数据的计算结果即为该段时间的代表性统计结果)。总体而言bucket的方法计算量小,统计量数值抖动小,能够体现系统稳态特性。下面参考附图并结合实施例来详细说明本发明。实施例结合图1,一种分布式的网络测量数据统计分析方法,包括以下步骤:第一步,在网络中配置至少1台数据分析服务器和若干台探针设备。第二步,数据分析服务器根据用户配置的输入,通过添加流表命令对探针设备配置数据流表。第三步,探针设备根据数据分析服务器下发配置的流表开始工作,对采集到的数据进行预处理和存储并将其对应的统计值和原始数据存储在探针设备中。第四步,数据分析服务器根据用户的操作,通过回取统计量命令或者回取数据命令,获取某一个特定的或者全部的探针设备的采集数据和统计量数据。第五步,探针设备接收到数据分析服务器的回取命令后,搜集本地预处理结果或者原始数据。探针设备通过数据报告消息或者统计量报告消息将预处理结果上报至数据分析服务器。第六步,数据分析服务器接收到探针设备上报的数据消息或者统计量消息,进行融合处理,并将融合处理后的结果向网络管理用户呈现。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1