一种业务数据分布式监控方法和分布式监控集群技术

技术编号:21340448 阅读:31 留言:0更新日期:2019-06-13 21:49
本发明专利技术公开了一种业务数据分布式监控方法和监控集群,其中监控方法包括如下步骤:1、建立分布式监控集群;所述分布式监控集群包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;2、建立监控采集处理队列;采集待监控业务数据,将数据加入监控采集处理队列的队尾;3、当监控采集处理队列不为空时,分发器获取各子处理服务器的状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;分发器从监控采集处理队列的队头获取数据,将获取到的数据分发给最为空闲的子处理服务器处理;子处理服务器对监控数据进行记录存储。该方法在突发大量请求时,监控性能不会影响到业务系统的正常运行。

A Distributed Monitoring Method for Business Data and Distributed Monitoring Cluster

The invention discloses a distributed monitoring method for business data and a monitoring cluster, in which the monitoring method includes the following steps: 1. establishing a distributed monitoring cluster; the distributed monitoring cluster includes a distributor and a plurality of sub-processor servers; each sub-processing server is connected with the distributor; 2. establishing a monitoring acquisition and processing queue; collecting the business data to be monitored, and implementing the distributed monitoring cluster. Data is added to the end of the queue of monitoring acquisition and processing; 3. When the monitoring acquisition and processing queue is not empty, the distributor obtains the status parameters of the sub-processing servers, which include the current expected processing completion time, the current amount of data to be processed and the amount of data being processed; the distributor obtains data from the head of the monitoring acquisition and processing queue and distributes the acquired data. The most idle sub-processing server is processed; the sub-processing server records and stores the monitoring data. When a large number of requests burst out, the monitoring performance will not affect the normal operation of the business system.

【技术实现步骤摘要】
一种业务数据分布式监控方法和分布式监控集群
本专利技术属于信息处理
,具体涉及一种业务数据的分布式监控方法和监控集群。
技术介绍
随着互联网大数据时代的来临,产生的数据量日益增加,每日产生的数据量轻松达到TB量级。同时网络客户也越来越多,加上各地区网络环境复杂,在提供服务给大量客户的同时,系统内部如何及时准确地监控这些数据变化,提前发现问题,解决问题成了一个系统运行的关键点。在现有技术中,监控系统往往复杂度高,搭建接入难度大,通常需要进行二次开发,以接入现有的业务系统,并且偏向实时数据的监控和报警。虽然有些涉及到监控数据持久化和可视化展现,但并不具备在不影响业务系统的性能下拥有记录高并发、海量数据的能力。综上,虽然目前有很多数据监控技术可供选择,但是关键实时系统的高稳定性和低延迟是重要的运行指标,如果由于监控逻辑的负载影响实时业务系统的性能,那么在设计上是有显著缺陷的。
技术实现思路
专利技术目的:本专利技术旨在提供一种动态可调的业务数据监控方法,在突发大量请求时,监控性能不会影响到业务系统的正常运行。技术方案:本专利技术一方面公开了一种业务数据分布式监控方法,包括如下步骤:(1)建立分布式监控集群;所述分布式监控集群包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;(2)建立监控采集处理队列;采集待监控业务数据,将数据加入监控采集处理队列的队尾;(3)当监控采集处理队列不为空时,分发器获取各子处理服务器的状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;分发器从监控采集处理队列的队头获取数据,将获取到的数据分发给最为空闲的子处理服务器处理;子处理服务器对监控数据进行记录存储。为了不影响业务系统的性能,分发器建立单独的数据采集线程来采集待监控业务数据;业务系统的主程序在需要对业务数据进行监控时,数据采集线程将待监控数据缓存到监控采集处理队列。分发器选择最为空闲的子处理服务器的步骤为:根据当前预计处理完时间和正在处理的数据量计算子处理服务器的数据处理速度;根据当前待处理数据量和数据处理速度计算等待时间;选择等待时间最小的子处理服务器为最为空闲的子处理服务器。另一方面,本专利技术公开了一种业务数据分布式监控集群,包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;所述分发器包括监控采集处理队列,将采集到的待监控业务数据加入监控采集处理队列的队尾;选择子处理服务器处理监控采集处理队列中的数据;子处理服务器向分发器上报状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;子处理服务器对监控数据进行记录存储。有益效果:与现有技术相比,本专利技术公开业务数据分布式监控方法和分布式监控集群通过构建包括一个分发器和多个子处理服务器来实现对业务数据的监控,子处理服务器可以根据需求水平扩展,实现高并发、海量数据的监控,且监控过程不会影响业务系统的正常运行。附图说明图1是本专利技术公开的业务数据分布式监控方法流程图;图2是本专利技术构建的业务数据分布式监控集群架构图。具体实施方式下面结合附图和具体实施方式,进一步阐明本专利技术。如图1所示,本专利技术公开了一种业务数据分布式监控方法,包括如下步骤:步骤1、建立分布式监控集群;所述分布式监控集群包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接进行双向通信;根据需求子处理服务器可以水平扩展;如图2所示,为本专利技术构建的分布式监控集群架构图,包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;步骤2、建立监控采集处理队列;采集待监控业务数据,将数据加入监控采集处理队列的队尾;在分发器中建立监控采集处理队列,缓存待监控的业务数据。为了不影响业务系统的正常运行,分发器建立单独的数据采集线程来采集待监控业务数据;业务系统的主程序在需要对业务数据进行监控时,数据采集线程将待监控数据缓存到监控采集处理队列,然后业务系统的主程序继续执行其实时逻辑处理,从而在本质上规避了监控操作可能产生的线程阻塞主线程或监控出现错误影响主线程业务处理的情况发生。对数据的监控由分布式监控集群来完成。步骤3、当监控采集处理队列不为空时,分发器获取各子处理服务器的状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;分发器从监控采集处理队列的队头获取数据,将获取到的数据分发给最为空闲的子处理服务器处理;子处理服务器对监控数据进行记录存储。分发器选择最为空闲的子处理服务器的步骤为:根据当前预计处理完时间和正在处理的数据量计算子处理服务器的数据处理速度;根据当前待处理数据量和数据处理速度计算等待时间;选择等待时间最小的子处理服务器为最为空闲的子处理服务器。通过上述操作,可以将监控任务均衡地分发至各子处理服务器,从而避免大量数据操作对系统整体性能的冲击,达到负载均衡。并且当所有子服务器的待处理任务数或预计完成任务总时间达到阈值后,分发器会自动报警,方便运维人员及时发现,解决问题。子处理服务器对监控数据进行记录存储,具体步骤为:(3.1)初始时,子处理服务器建立一级缓存和二级缓存,所述一级缓存为子处理服务器的内存,所述二级缓存为Redis;一级缓存和二级缓存的监控记录数均清零;(3.2)当子处理器接收到分发器分发的监控任务后,取出监控任务对应的监控数据的监控数据库名、监控表名称、操作类型和操作语句,并以“&”符号相连,组成监控数据特征字符串,对所述监控数据特征字符串进行MD5运算,计算出数据特征码;(3.3)以数据特征码和当天日期为关键字,查询一级缓存,当查询到监控记录数据后,将一级缓存的监控记录数加一,并对查询到的监控记录数据进行更新;(3.4)当在一级缓存中未查询到监控记录数据,以数据特征码和当天日期为关键字,查询二级缓存;当在二级缓存中查询到监控记录数据后,将二级缓存的监控记录数加一,并对查询到的监控记录数据进行更新,同时在一级缓存中新增所述监控记录数据;(3.5)当二级缓存中未查询到监控记录数据时,以数据特征码和当天日期为关键字,新建监控记录数据,并将新建的监控记录数据放入一级缓存和二级缓存中;(3.6)当一级缓存中的数据大小达到预设阈值后,根据最近最少使用算法,将最近最少使用的数据替换为最新任务运行的数据,其详细算法如下:给一级缓存中的每个监控记录都设置一个访问时间戳,当新的监控记录插入时,将一级缓存中的所有监控记录的时间戳加一,并将新的监控记录的时间戳设置为0;当在一级缓存中查询到监控数据后,将命中的监控记录的时间戳设置为0;当一级缓存中的数据大小达到预设阈值时,将时间戳最大的监控记录移除并存入二级缓存;(3.7)在每天预设的时间,将关键字为前一天的一级缓存数据移入二级缓存中,然后将关键字为前一天的二级缓存数据保存到数据库中,最后清空关键字为前一天日期的二级缓存。本文档来自技高网...

【技术保护点】
1.一种业务数据分布式监控方法,其特征在于,包括如下步骤:(1)建立分布式监控集群;所述分布式监控集群包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;(2)建立监控采集处理队列;采集待监控业务数据,将数据加入监控采集处理队列的队尾;(3)当监控采集处理队列不为空时,分发器获取各子处理服务器的状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;分发器从监控采集处理队列的队头获取数据,将获取到的数据分发给最为空闲的子处理服务器处理;子处理服务器对监控数据进行记录存储。

【技术特征摘要】
1.一种业务数据分布式监控方法,其特征在于,包括如下步骤:(1)建立分布式监控集群;所述分布式监控集群包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;(2)建立监控采集处理队列;采集待监控业务数据,将数据加入监控采集处理队列的队尾;(3)当监控采集处理队列不为空时,分发器获取各子处理服务器的状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;分发器从监控采集处理队列的队头获取数据,将获取到的数据分发给最为空闲的子处理服务器处理;子处理服务器对监控数据进行记录存储。2.根据权利要求1所述的业务数据分布式监控方法,其特征在于,分发器建立单独的数据采集线程来采集待监控业务数据;业务系统的主程序在需要对业务数据进行监控时,数据采集线程将待监控数据缓存到监控采集处理队列。3.根据权利要求1所述的业务数据分布式监控方法,其特征在于,步骤(3)中分发器选择最为空闲的子处理服务器的步骤为:根据当前预计处理完时间和正在处理的数据量计算子处理服务器的数据处理速度;根据当前待处理数据量和数据处理速度计算等待时间;选择等待时间最小的子处理服务器为最为空闲的子处理服务器。4.根据权利要求1所述的业务数据分布式监控方法,其特征在于,子处理服务器对监控数据进行记录存储的步骤为:(3.1)初始时,子处理服务器建立一级缓存和二级缓存,所述一级缓存为子处理服务器的内存,所述二级缓存为Redis;一级缓存和二级缓存的监控记录数均清零;(3.2)当子处理器接收到分发器分发的监控任务后,取出监控任务对应的监控数据的监控数据库名、监控表名称、操作类型和操作语句,并以“&”符号相连,组成监控数据特征字符串,对所述监控数据特征字符串进行MD5运算,计算出数据特征码;(3.3)以数据特征码和当天日期为关键字,查询一级缓存,当查询到监控记录数据后,将一级缓存的...

【专利技术属性】
技术研发人员:王海荣肖万来姚伯祥董天
申请(专利权)人:中科曙光南京研究院有限公司
类型:发明
国别省市:江苏,32

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

1