一种多监测任务多目标高效IP端性能监测调度方法及系统技术方案

技术编号:21777308 阅读:20 留言:0更新日期:2019-08-03 23:13
本发明专利技术公开了一种多监测任务多目标高效IP端性能监测调度方法及系统,在linux操作系统环境基于测量服务的高效多监测任务多目标IP端性能监测调度方法,可以在单个监测主机上实现多监测任务多目标设备的自动周期性测量,能够解决测量耗时问题、资源耗费问题、网络侵扰问题、测量误差问题。

A Multi-Task, Multi-Target and High-Efficiency IP-End Performance Monitoring Scheduling Method and System

【技术实现步骤摘要】
一种多监测任务多目标高效IP端性能监测调度方法及系统
本专利技术属于网络运行维护
,特别涉及一种多监测任务多目标高效IP端性能监测调度方法及系统。
技术介绍
在IP网络的运行维护中,通常需要部署一些监测系统,以周期性地获取多个目标的时延、丢包、时延抖动等IP端性能数据,用于图形化呈现或统计分析。这些监测系统需要部署监测软件在某监测主机(或探针)上,为了实现监测功能开发、部署的灵活性,通常将用户监测需求生成界面功能与监测实现功能划分成两种不同的组件,分别采用相同或不同的开发平台进行开发,再进行集成。这两种组件可以部署在同一主机(集成中式监测)或不同主机上(分布式监测)。每种监测需求被定义为一个任务,可以实现按同一监测策略获取一组目标设备的IP端性能数据,任务信息由界面组件按指定接口方式通知监测实现组件,用户可能产生多个监测任务,因此监测主机(或探针)需要支持多个监测任务的调度管理。现有技术采用以下方案进行检测:方案一:多线程方式多任务调度:该方案采用多线程方法,为每个任务创建一个任务线程,其主进程流程如下:1)初始化监测模块及任务接收模块;2)检查是否收到新监测任务,若有新任务则创建一个新任务线程(每个任务线程对应一个监测任务,在线程中实现该任务监测功能),跳转到3);若无新的监测任务,则直接跳转到3);3)检查主进程是否收到退出信号,若收到退出信号则跳转到4);若没收到退出信号,则时延1毫秒,再跳转到2);4)主进程结束处理。该方案有如下缺点:1)采用多线程方案,每个任务线程对应一个监测任务,若每个任务再创建子线程,将增加程序复杂性,增加资源占用率。2)每个任务线程负责实现多个目标监测,每轮测量耗时较大,效率不高。3)当线程数增加到一定数值(如线程数>50),会产生的端性能误差较大。4)多线程并行发包,会增加对网络的侵扰。方案二:多子进程方式多任务调度:中国专利201510360110.3一种串并结合的高效多目标IP端性能监测调度方法,可以在一定程序上实现高效的测量,其主进程流程如下:1)初始化监测模块及任务接收模块;2)检查是否收到新监测任务,若有新任务则创建任务子进程(每个子进程对应一个监测任务,在子进程中实现该任务监测功能),跳转到3);若无新的监测任务,则直接跳转到3);3)检查主进程是否收到退出信号,若收到退出信号则跳转到4);若没收到退出信号,则时延1毫秒,再跳转到2);4)主进程结束处理。该方案有如下缺点:1)每个任务对应一个任务进程,当进程数增多时(如进程数>50),会导致每个任务的得到的端性能数据产生较大误差。2)多进程并行发包,会增加对网络的侵扰。
技术实现思路
本专利技术的目的是针对现有技术的缺陷,提供一种多监测任务多目标高效IP端性能监测调度方法及系统。为了实现上述目的,本专利技术采用以下技术方案:一种多监测任务多目标高效IP端性能监测调度方法,包括以下步骤:步骤1:接收本地或远程的端性能监测任务;步骤2:为收到的每一个监测任务创建一个端性能任务解析进程;步骤3:解析任务策略文件,根据监测策略,一次性或周期性地发送一组设备的端性能测量请求,测量请求封装在linux消息中;步骤4:在内存中创建一张全局测量请求链表,将收到的测量请求加入全局请求链表,并循环扫描此链表,根据链表中的请求执行一轮测量,统计并上报测量结果。进一步的,步骤3中监测策略包括短包数、短包长度、长包数、长包长度、任务标识、上报IP、设备数量和每个目标设备标识。进一步的,步骤4的监测调度采用以下步骤:建立两个线程,一个是发包线程,只负责发包及统计每轮测量的结果;另一个是收包线程,只负责接收响应包,根据收到的响应包修改RTT测量值动态数组中对应设备、相应序号包的RTT值;发包线程与收包线程并行运行;在发包线程内发包是串行工作模式,并在连续两个包之间加入时延;发包线程循环根据请求链表建立当前需要测量任务目标设备的RTT测量值动态数组,开始一轮测量,测量完毕,直接根据RTT测量值动态数组计算端性能数据,并上报测量结果,删除动态数组。进一步的,发包线程执行过程如下:步骤3.1:检查全局测量请求链表内是否有测量请求,若有进入步骤3.2,若没有进入步骤3.5;步骤3.2:创建设备RTT测量值动态数组,根据动态数组执行一轮发包;步骤3.3:休眠200ms;步骤3.4:统计设备测量结果后上报本轮测量结果;步骤3.5:检测是否有结束信号,若没有,休眠1ms后返回步骤3.1,若有进入步骤3.6;步骤3.6:结束处理。进一步的,收包线程执行过程如下:步骤4.1:创建ICMP接收原生套接字;步骤4.2:等待收包,超时为200ms,如果收到设备的响应报文,进入步骤4.3,如果没有收到则进入步骤4.5;步骤4.3:记录响应报文的接收时间tr,检查响应报文设备索引、包序号信息,并验证是否是合法的响应报文,如果是进入步骤4.4,如果不是返回步骤4.2;步骤4.4:根据响应报文中的发送时间ts、设备号i、包序号信息k,根据式1计算设备i的第k个包的RTT值:Device[i].RTT[k]=tr-ts(1)并填写设备RTT测量值动态数组对应项的RTT值,返回步骤4.2;步骤4.5:检测是否有结束信号,若没有,返回步骤4.2,若有进入步骤4.6;步骤4.6:结束处理。进一步的,RTT测量值动态数组中,每项存储的信息包括:任务标识、上报IP、短包数、短包长度、长包数、长包长度、目标设备标识、目标设备IP和目标设备RTT数组,所述目标设备RTT数组用于存放发往该设备每个包的往返时延。一种多监测任务多目标高效IP端性能监测调度系统,包括:监测主控模块、端性能任务解析模块和端性能测量服务模块;所述监测主控模块用于接收端性能监测任务,根据每一个任务创建一个子进程加载于端性能任务解析模块,并管理所创建的端性能任务解析子进程,向界面系统或监测中心报告当前活动的监测任务信息;所述端性能任务解析模块用于解析任务策略文件,根据监测策略,一次性或周期性地向端性能测量服务模块发送一组设备的端性能测量请求,测量请求封装在linux消息中;所述端性能测量服务模块用于循环接收端性能任务解析模块的测量请求,将测量请求加入全局请求链表,根据链表执行一轮测量,统计并上报测量结果。进一步的,端性能测量服务模块包括主模块、请求接收线程模块、发包线程模块和收包线程模块;其中所述主模块用于初始化运行环境,并控制请求接收线程模块、发包线程模块和收包线程模块的启动和结束;所述请求接收线程模块用于接收多个监测任务解析模块发来的测量请求,将测量请求加入全局请求链表;发包线程模块用于循环检查全局请求链表,根据请求链表创建设备RTT信息数组,按数组执行一轮发包,等待响应超时,统计测量结果后上报测量结果;所述收包线程模块用于接收响应报文,根据响应报文中的信息填写指定设备、指定发包对应的单个RTT值。进一步的,测量结果包括平均往返时延、时延抖动和丢包率。进一步的,响应报文中的信息包括设备索引、包序号。本专利存在如下几个关键技术:1)基于监测服务的多监测任务多目标IP端性能监测调度技术,避免采用多线程或多进程解决多监测任务需求时的系统资源消耗,如CPU资源、内存资源、套接字资源;2)串并结合的高本文档来自技高网
...

【技术保护点】
1.一种多监测任务多目标高效IP端性能监测调度方法,其特征在于包括以下步骤:步骤1:接收本地或远程的端性能监测任务;步骤2:为收到的每一个监测任务创建一个端性能任务解析进程;步骤3:解析任务策略文件,根据监测策略,一次性或周期性地发送一组设备的端性能测量请求,测量请求封装在linux消息中;步骤4:在内存中创建一张全局测量请求链表,将收到的测量请求加入全局请求链表,并循环扫描此链表,根据链表中的请求执行一轮测量,统计并上报测量结果。

【技术特征摘要】
1.一种多监测任务多目标高效IP端性能监测调度方法,其特征在于包括以下步骤:步骤1:接收本地或远程的端性能监测任务;步骤2:为收到的每一个监测任务创建一个端性能任务解析进程;步骤3:解析任务策略文件,根据监测策略,一次性或周期性地发送一组设备的端性能测量请求,测量请求封装在linux消息中;步骤4:在内存中创建一张全局测量请求链表,将收到的测量请求加入全局请求链表,并循环扫描此链表,根据链表中的请求执行一轮测量,统计并上报测量结果。2.根据权利要求1所述的多监测任务多目标高效IP端性能监测调度方法,其特征在于:所述步骤3中监测策略包括短包数、短包长度、长包数、长包长度、任务标识、上报IP、设备数量和每个目标设备标识。3.根据权利要求1所述的多监测任务多目标高效IP端性能监测调度方法,其特征在于:所述步骤4的监测调度采用以下步骤:建立两个线程,一个是发包线程,只负责发包及统计每轮测量的结果;另一个是收包线程,只负责接收响应包,根据收到的响应包修改RTT测量值动态数组中对应设备、相应序号包的RTT值;发包线程与收包线程并行运行;在发包线程内发包是串行工作模式,并在连续两个包之间加入时延;发包线程循环根据请求链表建立当前需要测量任务目标设备的RTT测量值动态数组,开始一轮测量,测量完毕,直接根据RTT测量值动态数组计算端性能数据,并上报测量结果,删除动态数组。4.根据权利要求3所述的多监测任务多目标高效IP端性能监测调度方法,其特征在于:所述发包线程执行过程如下:步骤3.1:检查全局测量请求链表内是否有测量请求,若有进入步骤3.2,若没有进入步骤3.5;步骤3.2:创建设备RTT测量值动态数组,根据动态数组执行一轮发包;步骤3.3:休眠200ms;步骤3.4:统计设备测量结果后上报本轮测量结果;步骤3.5:检测是否有结束信号,若没有,休眠1ms后返回步骤3.1,若有进入步骤3.6;步骤3.6:结束处理。5.根据权利要求3所述的多监测任务多目标高效IP端性能监测调度方法,其特征在于:所述收包线程执行过程如下:步骤4.1:创建ICMP接收原生套接字;步骤4.2:等待收包,超时为200ms,如果收到设备的响应报文,进入步骤4.3,如果没有收到则进入步骤4.5;步骤4.3:记录响应报文的接收时间tr,检查响应报文设备索引、包序号信息,并验证是否是合法的响应报文,如果是进入步骤4.4,如果不是返回步骤4.2;步...

【专利技术属性】
技术研发人员:李兵王晓宁
申请(专利权)人:上海锵戈科技有限公司
类型:发明
国别省市:上海,31

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

1