一种基于超时因子的大规模网络数据采集方法及装置与流程

文档序号:22505817发布日期:2020-10-13 09:43阅读:136来源:国知局
一种基于超时因子的大规模网络数据采集方法及装置与流程

本发明涉及网络监控技术领域,特别是涉及一种基于超时因子的大规模网络数据采集方法及装置。



背景技术:

中国电信网管专家服务是一项与中国电信大网网络监控中心联接,为客户提供一站式的涵盖线路和网络设备的远程监控管理服务。网管专家系统可以统一第三方平台、自主平台、二层网络自服务监控平台、七层流量监控、机房管家、itsm平台等多平台的数据、客户和配置信息,提升了对客户需求的响应速度,增加了客户的感知度。

然而,现有技术的网管专家服务监控的设备数量大,如何在极短时间内(最小采集频率为10秒)完成大量设备的数据采集和处理工作是目前系统面临的一大难题。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种基于超时因子的大规模网络数据采集方法及装置,赋予系统面对大规模数据采集得自适应能力,避免出现数据采集任务堆积得情况,有效提高数据采集效率及平台的整体监控灵敏度。

为达上述目的,本发明提出一种基于超时因子的大规模网络数据采集方法,包括如下步骤:

步骤s1,定时调度模块从数据库中加载采集任务信息;

步骤s2,定时调度模块为超时因子不等于0的设备生成采集任务,并加入采集任务队列;

步骤s3,并行数据采集模块从采集任务队列中获取并执行采集任务,根据超时因子设置采集超时时间;

步骤s4,判断采集任务是否成功执行,若成功执行则进入步骤s5执行步骤s5,若失败则进入步骤s7执行步骤s7;

步骤s5,将采集的数据加入数据队列;

步骤s6,并行数据处理模块从所述数据队列中获取并处理数据,存储到数据库中;

步骤s7,并行数据采集模块更新超时设备信息表中该设备的超时因子;

步骤s8,超时因子控制模块以固定频率探测超时因子为0的设备,如果设备恢复上线,则调整该设备的超时因子为最大值;

步骤s9,监听系统是否关闭,如果未关闭则执行步骤s1,否则释放资源。

优选地,所述采集任务信息包括但不限于任务id、任务名称、数据类型、任务类别、调度规则。

优选地,步骤s2进一步包括:

步骤s200,所述定时调度模块从数据库中检索需要执行该任务且超时因子不等于0的所有网元信息;

步骤s201,为每个需要执行作业的网元生成采集任务;

步骤s202,将单个网元的采集任务加入采集任务队列中;

优选地,所述采集任务信息包括但不限于任务类型、根网元id、客户id、绑定服务的网元id、绑定服务的网元基本信息、绑定的服务项信息、执行该任务的驱动类全称以及采集协议类型。

优选地,步骤s3,设置采集超时时间=超时因子*默认采集超时时间。

优选地,于步骤s4中,若采集任务的执行时间超过采集超时时间,则采集任务失败。

优选地,于步骤s7中,每次采集任务失败时调整所述超时设备信息表中该设备的超时因子,采用如下调整公式:

新的超时因子=原超时因子-固定值。

为达到上述目的,本发明还提供一种大规模网络监控数据的采集装置,包括:

定时调度模块,用于从数据库中加载采集任务信息,为超时因子不等于0的设备生成采集任务并加入采集任务队列;

并行数据采集模块,从所述采集任务队列中获取采集任务,根据超时因子设置采集超时时间,执行采集任务,并将采集的数据发送到数据队列,调整采集任务失败的设备的超时因子,调整公式为:新的超时因子=原超时因子-固定值,超时因子最小值为0;

并行数据处理模块,用于从所述数据队列中获取数据,并进行数据归并、计算等处理后存储到数据库中;

超时因子控制模块,用于从数据库中读取超时因子为0的设备并探测是否已恢复上线,对于已恢复的设备,设置其超时因子为最大值。

优选地,所述并行数据采集模块根据超时因子设置采集超时时间=超时因子*默认的采集超时时间。

优选地,所述并行数据采集模块利用如下调整公式调整采集任务失败的设备的超时因子:新的超时因子=原超时因子-固定值。

与现有技术相比,本发明一种基于超时因子的大规模网络数据采集方法及装置引入超时因子,根据采集任务的失败次数调整超时因子,赋予了系统面对大规模数据采集的自适应能力,避免了采集失败(目标设备离线、线路断线等原因)造成的采集任务堆积的情况,有效地提高了数据采集效率及系统的整体监控灵敏度。

附图说明

图1为本发明一种基于超时因子的大规模网络数据采集方法的步骤流程图;

图2为本发明一种基于超时因子的大规模网络数据采集装置的系统架构图;

图3为本发明实施例之基于超时因子的大规模网络数据采集方法的流程图。

具体实施方式

以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。

图1为本发明一种基于超时因子的大规模网络数据采集方法的步骤流程图。如图1所示,本发明一种基于超时因子的大规模网络数据采集方法,包括如下步骤:

步骤s1,定时调度模块从数据库中加载采集任务信息。

在本发明具体实施例中,采用java虚拟机作为基础运行环境,利用java虚拟机启动定时调度模块。所述采集任务信息包括但不限于任务id、任务名称、数据类型、任务类别、调度规则,所述调度规则可以按照秒、分钟、小时、天、月、年为时间单位进行设置。

步骤s2,对于超时因子不等于0的设备生成采集任务,并加入采集任务队列。

具体地,步骤s2进一步包括:

步骤s200,所述定时调度模块从数据库中检索需要执行采集任务且超时因子不等于0的所有网元信息;

步骤s201,为每个需要执行作业的网元生成采集任务;

步骤s202,将单个网元的采集任务加入采集任务队列中;

所述采集任务信息包括但不限于任务类型、根网元id、客户id、绑定服务的网元id、绑定服务的网元基本信息、绑定的服务项信息、执行该任务的驱动类全称以及采集协议类型。

步骤s3,并行数据采集模块的线程池从采集任务队列中获取并执行采集任务,根据超时因子设置采集超时时间。

在本发明具体实施例中,目标设备采集超时时间=超时因子*默认的采集超时时间。

步骤s4,判断采集任务是否成功执行,如果成功执行则执行步骤s5,如果采集任务的执行时间超过采集超时时间,则采集任务失败,执行s7。

步骤s5,将采集的数据加入数据队列;

步骤s6,并行数据处理模块从数据队列中获取并处理数据,存储到数据库中;

步骤s7,并行数据采集模块更新超时设备信息表中该设备的超时因子,所述超时设备信息表存储于数据库中,并且所述超时设备信息表中存储了各设备及其对应的超时因子的关系。

本发明具体实施例中,超时因子调整公式为:新的超时因子=原超时因子–0.35,超时因子最小值为0,最大值为1(初始值)。

步骤s8,超时因子控制模块以固定频率探测超时因子为0的设备,如果设备恢复上线,则调整该设备的超时因子为最大值。具体地,超时因子控制模块定期从数据库中读取超时因子为0的设备并探测是否已恢复上线,对于已恢复的设备,设置其超时因子为最大值。

步骤s9,监听系统是否关闭,如果未关闭则执行步骤s1,否则释放资源。

具体地,步骤s9进一步包括:

步骤s900,如果系统关闭,则释放资源;

步骤s901,如果系统未关闭,则执行步骤s1。

图2为本发明一种基于超时因子的大规模网络数据采集装置的系统架构图。如图2所示,本发明一种基于超时因子的大规模网络数据采集装置,包括:

定时调度模块201,用于从数据库中加载采集任务信息,为超时因子不等于0的设备生成采集任务并加入采集任务队列;

并行数据采集模块202,从采集任务队列中获取采集任务,设置采集超时时间=超时因子*默认的采集超时时间,执行采集任务,并将采集的数据发送到数据队列,调整采集任务失败的设备的超时因子,在本发明具体实施例中,其调整公式为:新的超时因子=原超时因子-固定值,超时因子最小值为0;

并行数据处理模块203,用于从所述数据队列中获取数据,并进行数据归并、计算等处理后存储到数据库中;

超时因子控制模块204,用于定期从数据库中读取超时因子为0的设备并探测是否已恢复上线,对于已恢复的设备,设置其超时因子为最大值。

实施例

如图3所示,为本发明方法的一个实施例,在本实施例中,所述监控数据采集方法应用于中国电信网管专家服务平台,其采用本发明之基于超时因子的大规模网络数据采集方法在采集频率为10秒的情况下采集14000台设备的icmp数据信息。具体步骤如下:

步骤1,使用java虚拟机启动定时调度类com.ideal.netcare.v6.dcs.service.scheduler.jobscheduler的实例jobscheduler。

步骤2,jobscheduler从数据库中读取icmp数据类型的采集信息。

步骤3,jobscheduler根据调度规则(每10秒采集一次)定期执行icmp采集任务。

步骤4,jobscheduler从数据库中检索需要执行该采集任务的所有网元信息,同时检索超时设备信息表,为每个超时因子不等于0的网元生成icmp采集任务,加入采集任务队列。

步骤5,并行数据采集类com.ideal.netcare.v6.dcs.service.data.datacollector的实例datacollector根据任务信息中的采集驱动名称com.ideal.netcare.v6.dcs.service.driver.internal.icmpdriver获取采集驱动实例icmpdriver。

步骤6,采集驱动实例icmpdriver根据任务类型执行discovery或schedule方法获取设备属性信息或动态icmp监控数据,根据超时设备信息表faileddevice中的超时因子设置采集超时时间=超时因子*默认的采集超时时间,采集成功后将采集到的数据发送给数据队列;若采集失败,则将失败的信息更新到超时设备信息表中,更新规则为:新的超时因子=原超时因子-0.35;当计算值小于0时,设置为0。。

步骤7,并行数据处理类com.ideal.netcare.v6.dcs.service.data.dataprocessor的实例dataprocessor从数据队列中获取数据并进行归并、计算处理后存储到数据库中。

步骤8,超时因子控制类com.ideal.netcare.v6.dcs.service.controller.monitorcontroller的实例monitorcontroller定时检测超时因子为0的设备,当设备恢复上线时,设置该设备的超时因子为1。

步骤9,监听系统是否关闭,若系统关闭,则释放资源;若系统未关闭,则执行步骤2。

综上所述,本发明一种基于超时因子的大规模网络数据采集方法及装置引入超时因子,根据采集任务的失败次数调整超时因子,赋予了系统面对大规模数据采集的自适应能力,避免了采集失败(目标设备离线、线路断线等原因)造成的采集任务堆积的情况,有效地提高了数据采集效率及系统的整体监控灵敏度。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1