一种低延迟的流量解析处理方法技术

技术编号:13906006 阅读:102 留言:0更新日期:2016-10-26 10:22
一种低延迟的流量解析处理方法,包括:接收各采集机的上报数据,放入第一任务队列;处理线程以多线程、多级队列处理端口流量数据;按设备IP多线程并发执行;使用缓存技术对第二执行队列中的设备IP数据进行预解析,即根据采集回来的基础信息补全端口数据;将第二执行队列中的设备IP数据与前一次的设备IP数据进行对比,计算出该时刻设备IP数据的流速;将流量信息存入数据库。本发明专利技术提供一种大数据量下的多线程、高吞吐量、高效率的端口流量差分算法。本发明专利技术能够对多个采集机、大批量上报的高密度的数据快速解析处理,处理完数据后入库。本发明专利技术可以应用于类似系统信息数据的收集、低延迟的集中处理。

【技术实现步骤摘要】

本专利技术涉及一种流量解析处理方法。特别是涉及一种用于大并发,高吞吐量及低延迟情况下的低延迟的流量解析处理方法
技术介绍
网管系统保证及时反应端口流量数据信息。流量数据原始数据来源于全国各地的数据采集机对设备(路由器、交换机、bas等通信设备)的snmp采集,通过网络上传至本系统,进行加工处理并展现到前台。数据流程包括有:1、各地市采集机采集到端口的流量信息、并上传到数据处理中心;2、数据处理中心根据采集回来的端口基本信息查找对应端口,补全端口数据;3、根据当前采集到的数据与上次(一次或多次)采集到的数据进行对比、差分计算出当前时间段的流量;4、入端口流量库。由于端口数量非常多,采集回来的数据量非常大(每个端口一分钟采集一次),且要求尽可能快速的处理数据,必须设计一套及时、准确处理流量的方法,才能满足大规模运营商集中管理各分公司的流量监控体系的需求。目前需要解决的问题如下:1、数据量非常的大,需要多线程执行;2、由于数据量大、可能会有延迟、堆积,对于相同的端口必须要线性执行(系统根据不同时间点的流量进行差分,如果后面的数据先执行,影响差分后数据的准确性);3、前台端口信息可能发生变化(更换设备、扩容、缩容、更换板卡等操作)。
技术实现思路
本专利技术所要解决的技术问题是,提供一种用于大数据量下的多线程、高吞吐量、高效率的低延迟的流量解析处理方法。本专利技术所采用的技术方案是:一种低延迟的流量解析处理方法,包括如下步骤:1)接收各采集机的上报数据,放入第一任务队列;2)处理线程以多线程、多级队列处理端口流量数据;3)按设备IP多线程并发执行;4)使用缓存技术对第二执行队列中的端口流量数据进行预解析,即根据采集回来的基础信息补全端口数据;5)将补全端口数据的端口流量数据与前一次的端口流量数据进行对比,计算出端口的流速;6)将流量信息存入数据库。步骤1)包括:(1)以文件的形式多线程接收各采集机上报的多个IP下多个端口在同一时刻的端口流量数据;(2)将接收到的各采集机上报的端口流量数据按照采集机IP地址归类后存入磁盘备份并记录该路径;(3)将接收到的采集机上报的端口流量数据放入第一任务队列,通知后续线程处理端口数据流量,然后返回第(1)步。步骤2)包括:(1)若干个处理线程依次从第一任务队列上接收端口流量数据;(2)判断在第一执行队列中是否有相同的采集机的端口流量数据正在处理,如果没有进入第(3)步,否则进入第(4)步;(3)如果第一执行队列中没有相同采集机的端口流量数据,则从第一任务队列中删除端口流量数据,并将所删除的端口流量数据加入到第一执行队列中,进入第(5)步;(4)如果第一执行队列中有相同采集机的端口流量数据,则返回第(2)步等待;(5)对从第一任务队列中移入到第一执行队列中的端口流量数据进行解析,将端口流量数据以设备IP为单位分组,加入到第二任务队列,通知第二任务队列处理线程处理数据;(6)删除第一执行队列中的端口流量数据,唤醒第(2)步中等待的线程,返回第(1)步。步骤3)包括:(1)若干个处理线程接收第二任务队列中的数据,并判断第二执行队列中是否有相同设备IP的端口流量数据任务正在执行;(2)如果没有则从第二任务队列中删除任务,并将所删除的任务加入到第二执行队列中,执行后续步骤,后续步骤执行完成后移除第二执行队列中处理完成的端口流量数据并返回第(1)步,否则继续判断。步骤4)包括:(1)读取第二执行队列中的设备IP和端口索引;(2)先根据设备IP和端口索引从端口缓存里面读取具体端口,端口缓存内存入有端口IP、端口索引和数据库中对应的具体端口或者数据库中没有具体端口的空数据,具体端口包括端口主键和端口计数器数据;如果端口缓存里存在具体端口则使用,缓存里不存在具体端口则进入第(3)步;(3)当缓存里没有存在具体端口,要根据设备IP和端口索引从数据库里面加载端口主键和端口计数器数据组成具体端口,放入端口缓存中,如果数据库里没有端口主键和端口计数器数据,则使用空数据组成具体端口,放入端口缓存中;(4)通过第(2)步和第(3)步中得到具体端口且有端口主键和端口计数器数据,进入下一步,否则丢弃该端口的流量信息;(5)定期清理缓存,将达到设定时间的数据清理掉。步骤5)包括:(1)读取当前第二执行队列的设备IP数据中端口的流量;(2)将读取的流量减去上一次设备IP数据中端口的流量,除以对应的时间差,计算出端口的流速;(3)如果平均流速为负数,则在本次流量上再加上具体端口中的端口计数器的数值,再执行第(2)步的计算后,进入步骤6),如果为正进入步骤6)。步骤6)包括:(1)将步骤5)中计算出来平均流速和步骤4)中所取的具体端口中的端口主键转换成入库SQL;(2)与数据库建立连接;(3)执行入库SQL。本专利技术的一种低延迟的流量解析处理方法,提供一种大数据量下的多线程、高吞吐量、高效率的端口流量差分算法。本专利技术能够对多个采集机、大批量上报的高密度的数据快速解析处理,处理完数据后入库。本专利技术可以应用于类似系统信息数据的收集、低延迟的集中处理。附图说明图1是本专利技术接收各采集机上报数据并放入任务队列的流程图;图2是本专利技术读取第一任务队列(采集机分组)及处理流程图;图3是本专利技术读取第二任务队列(设备IP分组)及处理流程图;图4是本专利技术缓存端口数据处理流程图。具体实施方式下面结合实施例和附图对本专利技术的一种低延迟的流量解析处理方法做出详细说明。本专利技术的一种低延迟的流量解析处理方法,包括如下步骤:1)接收各采集机的上报数据,放入第一任务队列;如图1所示,包括:(1)以文件的形式多线程接收各采集机上报的多个IP下多个端口在同一时刻的端口流量数据;(2)将接收到的各采集机上报的端口流量数据按照采集机IP地址归类后存入磁盘备份并记录该路径;(3)将接收到的采集机上报的端口流量数据放入第一任务队列,通知后续线程处理端口数据流量,然后返回第(1)步。2)处理线程以多线程、多级队列处理端口流量数据;如图2所示,包括:(1)若干个处理线程依次从第一任务队列上接收端口流量数据;(2)判断在第一执行队列中是否有相同的采集机的端口流量数据正在处理,如果没有进入第(3)步,否则进入第(4)步;(3)如果第一执行队列中没有相同采集机的端口流量数据,则从第一任务队列中删除端口流量数据,并将所删除的端口流量数据加入到第一执行队列中,进入第(5)步;(4)如果第一执行队列中有相同采集机的端口流量数据,则返回第(2)步等待;(5)对从第一任务队列中移入到第一执行队列中的端口流量数据进行解析,将端口流量数据以设备IP为单位分组,加入到第二任务队列,通知第二任务队列处理线程处理数据;(6)删除第一执行队列中的端口流量数据,唤醒第(2)步中等待的线程,返回第(1)步。在第2)步骤中多线程并发执行,可能引起数据的不准确。本专利技术对采集机进行先后约束,即保证了数据的正确性。但是,由于各采集机上报的数据并不均匀,数据量相差很大,各处理线程间存在部分线程一直在运行、部分线程一直在等待的问题,不能充分发挥处理器的性能。本专利技术在根据采集机分组的基础上,将读取到的数据再次根据端口所在设备IP分组,放入队列,再次以多线程执行,保证了数据的正确性。详细步骤如下:3)按设备IP多线程本文档来自技高网...

【技术保护点】
一种低延迟的流量解析处理方法,其特征在于,包括如下步骤:1)接收各采集机的上报数据,放入第一任务队列;2)处理线程以多线程、多级队列处理端口流量数据;3)按设备IP多线程并发执行;4)使用缓存技术对第二执行队列中的端口流量数据进行预解析,即根据采集回来的基础信息补全端口数据;5)将补全端口数据的端口流量数据与前一次的端口流量数据进行对比,计算出端口的流速;6)将流量信息存入数据库。

【技术特征摘要】
1.一种低延迟的流量解析处理方法,其特征在于,包括如下步骤:1)接收各采集机的上报数据,放入第一任务队列;2)处理线程以多线程、多级队列处理端口流量数据;3)按设备IP多线程并发执行;4)使用缓存技术对第二执行队列中的端口流量数据进行预解析,即根据采集回来的基础信息补全端口数据;5)将补全端口数据的端口流量数据与前一次的端口流量数据进行对比,计算出端口的流速;6)将流量信息存入数据库。2.根据权利要求1所述的一种低延迟的流量解析处理方法,其特征在于,步骤1)包括:(1)以文件的形式多线程接收各采集机上报的多个IP下多个端口在同一时刻的端口流量数据;(2)将接收到的各采集机上报的端口流量数据按照采集机IP地址归类后存入磁盘备份并记录该路径;(3)将接收到的采集机上报的端口流量数据放入第一任务队列,通知后续线程处理端口数据流量,然后返回第(1)步。3.根据权利要求1所述的一种低延迟的流量解析处理方法,其特征在于,步骤2)包括:(1)若干个处理线程依次从第一任务队列上接收端口流量数据;(2)判断在第一执行队列中是否有相同的采集机的端口流量数据正在处理,如果没有进入第(3)步,否则进入第(4)步;(3)如果第一执行队列中没有相同采集机的端口流量数据,则从第一任务队列中删除端口流量数据,并将所删除的端口流量数据加入到第一执行队列中,进入第(5)步;(4)如果第一执行队列中有相同采集机的端口流量数据,则返回第(2)步等待;(5)对从第一任务队列中移入到第一执行队列中的端口流量数据进行解析,将端口流量数据以设备IP为单位分组,加入到第二任务队列,通知第二任务队列处理线程处理数据;(6)删除第一执行队列中的端口流量数据,唤醒第(2)步中等待的线程,返回第(1)步。4.根据权利要求1所述的一种低延迟的流量解析处理方法,其特征在于,步骤3)包括:(1)若干个处理线程接收第二任务队列中的...

【专利技术属性】
技术研发人员:张乐华俞力杰
申请(专利权)人:北京英诺威尔科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1