一种流量动态可控的系统监控数据采集方法技术方案

技术编号:9864919 阅读:160 留言:0更新日期:2014-04-02 21:56
本发明专利技术涉及数据采集和流量控制领域,具体是一种流量动态可控的系统监控数据采集方法,所述的流量动态可控的监控数据采集方法主要分为三个部分,分别是监控数据异步采集处理,流量控制开启检测和流控数据合并机制;所述的监控数据异步采集处理方法如下:通过调用系统线程接口,监控模块在初始化后启动一个单独的监控数据处理线程负责系统数据的多目标处理输出;动态流控的一个总周期可以划分为两个阶段:流控检测阶段Td和流控执行阶段Te。本发明专利技术同现有技术相比,其优点在于:通过流速权控制算法,保证关键实时系统的平稳运行,能够有效地满足不同监控目标的监控数据采集需求,并通过特征数据的合并方法,保证了落地数据的质量。

【技术实现步骤摘要】
[
]本专利技术涉及数据采集和流量控制领域,具体是。[
技术介绍
]系统状态数据采集模块可以实时记录程序的运行情况、错误的发生现场等数据,并输出采集的数据到多个目标如屏幕,文件和数据库,从而帮助开发人员和运维人员了解系统状态、审计操作流程、排查错误原因、存档系统数据等。因此,在关键实时系统的开发和运行中,特别是对于具有高可用性目标的交易系统来说,数据采集模块的良好设计与实现不仅有利于代码重用,而且对于系统的稳定高效运行具有重要的意义。当今主流的监控数据采集框架或多或少都借鉴了Log4j库的设计理念。Log4j实现了一个基于Java的数据记录工具框架,在Log4j中定义了 3个重要概念,分别是Logger、Appender和Layout:Logger用于定义不同的数据采集对象;Appender描述输出流,如屏幕、文件、⑶I组件、Socket服务器、NT事件记录器、syslog进程服务等,通过为Logger指定一个Appender,可以区分不同对象的输出目标;Layout用于指定监控信息的输出格式,通过为Appender来指定一个Layout,可以决定监控信息以何种格式输出,比如是否有带有时间戳,是否包含文件位置信息等,通过这三个组件协同的工作,Log4j为监控数据采集行为控制提供了极大的灵活性,此外,基于预定义的等级和过滤器,可以自由地选择需要记录的数据。Log4j虽然功能强大,但是该库只是面向Java语言的,因此基于Log4j机制的其他语言替代库相继应运而生,Log4c便是模仿Log4j原理的C语言实现。类似地,它通过定义Category, Appender和Layout三个属性唯一确定一个数据采集对象,Log4c不支持异步数据米集。Log4g同样是C语言的一个实现,它基于glib的GObject开发,支持异步数据输出,此外Log4g还支持面向CouchDB的数据记录,便于日后利用基于NoSQL环境的大数据分析。Log4cplus和Log4cxx是C++的Log4j实现,它们具有线程安全、灵活输出、以及多粒度控制的特点,但Log4cplus的移植性不高,而Log4cxx虽然通过使用APR增强了移植性,但是APR本身增加了系统的依赖性。此外,Hog作为一款比较新的数据采集库,通过定义不同的fsync阈值来实现记录监控数据落地请求和磁盘10工作的异步处理。可以看到,现有的各种数据采集模块虽然能够实现监控信息的输出,但是在设计上都比较简单,缺乏针对系统状态变化时的动态流量调整,因此在应用系统的实时运行中,如果突然出现大量错误信息需要写文件等情况,会在一段时间内集中产生主机磁盘冲击,此时文件10读写便会成为系统瓶颈,显著降低系统的整体性能。此外,部分数据采集模块(如log4c)为了实现数据的及时输出,采用同步落地机制,那么在进行数据落地时会阻塞主逻辑的运行,应用进程需要等待10输出完成才能继续后续代码的执行,于是在监控事件大量突发时,可能会因为磁盘10吊住主程序的逻辑,从而对生产环境中实时程序的请求响应产生灾难性的影响。综上,虽然目前有很多监控数据采集框架可供选择,但是关键实时系统的高稳定性和低延迟是重要的运行指标,如果由于监控逻辑的负载影响实时业务程序的运行和业务处理的及时响应,那么在设计上是有显著缺陷的。系统状态数据的采集可以帮助管理人员快速了解系统的运行情况、审计操作流程和排查错误原因,但是对于某些关键实时系统,如证券交易系统的稳定性和高可用性是衡量其设计运行水平的首要指标,那么在监控的事件(如系统错误等)频繁发生的情况下,大规模的数据采集和落地反而会对系统的整体性能和稳定性产生显著影响,严重时甚至会阻塞主应用程序的逻辑。[
技术实现思路
]本专利技术的目的就是为了解决交易实时系统的系统状态数据的采集过程中,大规模的数据采集和落地会对系统的整体性能和稳定性产生显著影响的技术问题,实现在大规模数据采集和落地时既保证实时系统的平稳运行,又可以有效地满足特征数据的采集和分发工作的。为了实现上述目的,专利技术,所述的流量动态可控的监控数据采集方法主要分为三个部分,分别是监控数据异步采集处理,流量控制开启检测和流控数据合并机制;所述的监控数据异步采集处理方法如下:通过调用系统线程接口,监控模块在初始化后启动一个单独的监控数据处理线程负责系统数据的多目标处理输出;单独的监控数据处理线程不停轮询数据输出请求队列,一旦发现有新的请求时,就从队头弹出数据记录并执行真正的输出请求,一直到将队列中的记录处理完毕;所述的流量控制开启检测方法如下:监控数`采集库的采集接口在进行数据入队操作时,会实时检查系统监控事件的发生频率,并动态调整采集数据的流量,从而避免大量数据操作对系统整体性能的冲击,流控算法首先在流控检测周期内计数到达队列的数据请求数目,一旦该请求数达到或超过请求数阈值,就立即开启流量控制机制,并一直持续到流控执行周期的时间段结束。因此,动态流控的一个总周期可以划分为两个阶段:流控检测阶段^和流控执行阶段!;;所述的流控数据合并机制方法如下:在流控执行周期,监控数据采集库的采集接口不再将新到的数据加入数据输出请求队列,而是通过初始化时的哈希表进行相同特征数据的合并,从而降低实际数据流量的目标,数据的合并机制是:对于未出现过的特征数据类型,在哈希表里面增加一条;否则,只增加相同记录类型的计数。所述的单独的监控数据处理线程的数据输出工作为屏幕打印或进行磁盘文件写入或通过网络传输数据至远程的数据库服务器。所述的流控检测周期设为0,表示始终不执行流控;如果数据输出请求数阈值设为0,表示始终执行流控机制。所述的监控数据异步采集处理方法需在采集模块初始化时选定异步数据输出请求队列长度,队列长度过小会导致大量监控数据无法入队而被丢弃,所述的异步数据输出请求队列长度选定方法如下:监控事件数据的到达和监控事件数据的落地之差即为该时间段的队列长度的变化量△,在上一个交易日DT_1;$ ei表示第i秒内发生的事件数,对每条采集的数据定义了m个输出目标,每个输出目标可以通过性能测试数据的平均值获得其单条数据处理时间的v = K ,期望值_那么单位时间内m个目标的总服务速度(可以处理的数据)为m /fJjj综本文档来自技高网
...

【技术保护点】
一种流量动态可控的系统监控数据采集方法,其特征在于所述的流量动态可控的监控数据采集方法主要分为三个部分,分别是监控数据异步采集处理,流量控制开启检测和流控数据合并机制;所述的监控数据异步采集处理方法如下:通过调用系统线程接口,监控模块在初始化后启动一个单独的监控数据处理线程负责系统数据的多目标处理输出;单独的监控数据处理线程不停轮询数据输出请求队列,一旦发现有新的请求时,就从队头弹出数据记录并执行真正的输出请求,一直到将队列中的记录处理完毕;所述的流量控制开启检测方法如下:监控数据采集库的采集接口在进行数据入队操作时,会实时检查系统监控事件的发生频率,并动态调整采集数据的流量,从而避免大量数据操作对系统整体性能的冲击,流控算法首先在流控检测周期内计数到达队列的数据请求数目,一旦该请求数达到或超过请求数阈值,就立即开启流量控制机制,并一直持续到流控执行周期的时间段结束。因此,动态流控的一个总周期可以划分为两个阶段:流控检测阶段Td和流控执行阶段Te;所述的流控数据合并机制方法如下:在流控执行周期,监控数据采集库的采集接口不再将新到的数据加入数据输出请求队列,而是通过初始化时的哈希表进行相同特征数据的合并,从而降低实际数据流量的目标,数据的合并机制是:对于未出现过的特征数据类型,在哈希表里面增加一条;否则,只增加相同记录类型的计数。...

【技术特征摘要】
1.一种流量动态可控的系统监控数据采集方法,其特征在于所述的流量动态可控的监控数据采集方法主要分为三个部分,分别是监控数据异步采集处理,流量控制开启检测和流控数据合并机制;所述的监控数据异步采集处理方法如下:通过调用系统线程接口,监控模块在初始化后启动一个单独的监控数据处理线程负责系统数据的多目标处理输出;单独的监控数据处理线程不停轮询数据输出请求队列,一旦发现有新的请求时,就从队头弹出数据记录并执行真正的输出请求,一直到将队列中的记录处理完毕;所述的流量控制开启检测方法如下:监控数据采集库的采集接口在进行数据入队操作时,会实时检查系统监控事件的发生频率,并动态调整采集数据的流量,从而避免大量数据操作对系统整体性能的冲击,流控算法首先在流控检测周期内计数到达队列的数据请求数目,一旦该请求数达到或超过请求数阈值,就立即开启流量控制机制,并一直持续到流控执行周期的时间段结束。因此,动态流控的一个总周期可以划分为两个阶段:流控检测阶段Td和流控执行阶段?;;所述的流控数据合并机制方法如下:在流控执行周期,监控数据采集库的采集接口不再将新到的数据加入数据输出请求队列,而是通过初始化时的哈希表进行相同特征数据的合并,从而降低实际数据流量的目标,数据的合并机制是:对于未出现过的特征数据类型,在哈希表里面增加一条;否则,只增加相同记录类型的计数。2.如权利要求1所述的一种流量动态可控的系统监控数据采集方法,其特征在于所述的单独的监控数据处理线程的数据输出工作为屏...

【专利技术属性】
技术研发人员:金鑫武剑锋王泊刘凯陈雷王程程惠敏顺黄寅飞白硕
申请(专利权)人:上海证券交易所
类型:发明
国别省市:上海;31

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

1