CN109873858A - 一种业务数据分布式监控方法和分布式监控集群 - Google Patents
一种业务数据分布式监控方法和分布式监控集群 Download PDFInfo
- Publication number
- CN109873858A CN109873858A CN201811607086.9A CN201811607086A CN109873858A CN 109873858 A CN109873858 A CN 109873858A CN 201811607086 A CN201811607086 A CN 201811607086A CN 109873858 A CN109873858 A CN 109873858A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- data
- server
- subprocessing
- distributor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种业务数据分布式监控方法和监控集群,其中监控方法包括如下步骤:1、建立分布式监控集群;所述分布式监控集群包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;2、建立监控采集处理队列;采集待监控业务数据,将数据加入监控采集处理队列的队尾;3、当监控采集处理队列不为空时,分发器获取各子处理服务器的状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;分发器从监控采集处理队列的队头获取数据,将获取到的数据分发给最为空闲的子处理服务器处理;子处理服务器对监控数据进行记录存储。该方法在突发大量请求时,监控性能不会影响到业务系统的正常运行。
Description
技术领域
本发明属于信息处理技术领域,具体涉及一种业务数据的分布式监控方法和监控集群。
背景技术
随着互联网大数据时代的来临,产生的数据量日益增加,每日产生的数据量轻松达到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)在每天预设的时间,将关键字为前一天的一级缓存数据移入二级缓存中,然后将关键字为前一天的二级缓存数据保存到数据库中,最后清空关键字为前一天日期的二级缓存。
Claims (6)
1.一种业务数据分布式监控方法,其特征在于,包括如下步骤:
(1)建立分布式监控集群;所述分布式监控集群包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;
(2)建立监控采集处理队列;采集待监控业务数据,将数据加入监控采集处理队列的队尾;
(3)当监控采集处理队列不为空时,分发器获取各子处理服务器的状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;分发器从监控采集处理队列的队头获取数据,将获取到的数据分发给最为空闲的子处理服务器处理;子处理服务器对监控数据进行记录存储。
2.根据权利要求1所述的业务数据分布式监控方法,其特征在于,分发器建立单独的数据采集线程来采集待监控业务数据;业务系统的主程序在需要对业务数据进行监控时,数据采集线程将待监控数据缓存到监控采集处理队列。
3.根据权利要求1所述的业务数据分布式监控方法,其特征在于,步骤(3)中分发器选择最为空闲的子处理服务器的步骤为:
根据当前预计处理完时间和正在处理的数据量计算子处理服务器的数据处理速度;
根据当前待处理数据量和数据处理速度计算等待时间;
选择等待时间最小的子处理服务器为最为空闲的子处理服务器。
4.根据权利要求1所述的业务数据分布式监控方法,其特征在于,子处理服务器对监控数据进行记录存储的步骤为:
(3.1)初始时,子处理服务器建立一级缓存和二级缓存,所述一级缓存为子处理服务器的内存,所述二级缓存为Redis;一级缓存和二级缓存的监控记录数均清零;
(3.2)当子处理器接收到分发器分发的监控任务后,取出监控任务对应的监控数据的监控数据库名、监控表名称、操作类型和操作语句,并以“&”符号相连,组成监控数据特征字符串,对所述监控数据特征字符串进行MD5运算,计算出数据特征码;
(3.3)以数据特征码和当天日期为关键字,查询一级缓存,当查询到监控记录数据后,将一级缓存的监控记录数加一,并对查询到的监控记录数据进行更新;
(3.4)当在一级缓存中未查询到监控记录数据,以数据特征码和当天日期为关键字,查询二级缓存;当在二级缓存中查询到监控记录数据后,将二级缓存的监控记录数加一,并对查询到的监控记录数据进行更新,同时在一级缓存中新增所述监控记录数据;
(3.5)当二级缓存中未查询到监控记录数据时,以数据特征码和当天日期为关键字,新建监控记录数据,并将新建的监控记录数据放入一级缓存和二级缓存中;
(3.6)当一级缓存中的数据大小达到预设阈值后,根据最近最少使用算法,将最近最少使用的数据替换为最新任务运行的数据,其详细算法如下:
给一级缓存中的每个监控记录都设置一个访问时间戳,当新的监控记录插入时,将一级缓存中的所有监控记录的时间戳加一,并将新的监控记录的时间戳设置为0;当在一级缓存中查询到监控数据后,将命中的监控记录的时间戳设置为0;当一级缓存中的数据大小达到预设阈值时,将时间戳最大的监控记录移除并存入二级缓存;
(3.7)在每天预设的时间,将关键字为前一天的一级缓存数据移入二级缓存中,然后将关键字为前一天的二级缓存数据保存到数据库中,最后清空关键字为前一天日期的二级缓存。
5.一种业务数据分布式监控集群,其特征在于,包括一个分发器和多个子处理器服务器;每个子处理服务器均与分发器连接;
所述分发器包括监控采集处理队列,将采集到的待监控业务数据加入监控采集处理队列的队尾;选择子处理服务器处理监控采集处理队列中的数据;
子处理服务器向分发器上报状态参数,所述状态参数包括:当前预计处理完成时间、当前待处理数据量、正在处理的数据量;子处理服务器对监控数据进行记录存储。
6.根据权利要求5所述的业务数据分布式监控集群,其特征在于,分发器中包括单独的数据采集线程来采集待监控业务数据;业务系统的主程序在需要对业务数据进行监控时,数据采集线程将待监控数据缓存到监控采集处理队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811607086.9A CN109873858B (zh) | 2018-12-27 | 2018-12-27 | 一种业务数据分布式监控方法和分布式监控集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811607086.9A CN109873858B (zh) | 2018-12-27 | 2018-12-27 | 一种业务数据分布式监控方法和分布式监控集群 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109873858A true CN109873858A (zh) | 2019-06-11 |
CN109873858B CN109873858B (zh) | 2021-03-30 |
Family
ID=66917204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811607086.9A Active CN109873858B (zh) | 2018-12-27 | 2018-12-27 | 一种业务数据分布式监控方法和分布式监控集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109873858B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641531A (zh) * | 2020-05-12 | 2020-09-08 | 国家计算机网络与信息安全管理中心 | 一种基于dpdk的数据包分发和特征提取方法 |
CN113761296A (zh) * | 2020-09-04 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务处理方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530349A (zh) * | 2013-09-30 | 2014-01-22 | 乐视致新电子科技(天津)有限公司 | 一种缓存更新方法及设备 |
CN103747060A (zh) * | 2013-12-26 | 2014-04-23 | 惠州华阳通用电子有限公司 | 一种基于流媒体服务集群的分布式监控系统及方法 |
CN104363300A (zh) * | 2014-11-26 | 2015-02-18 | 浙江宇视科技有限公司 | 一种服务器集群中计算任务分布式调度装置 |
US20170208121A1 (en) * | 2016-01-20 | 2017-07-20 | International Business Machines Corporation | Server pool management |
CN107104961A (zh) * | 2017-04-21 | 2017-08-29 | 中国电子科技集团公司第二十八研究所 | 基于ZooKeeper的分布式实时视频监控处理系统 |
CN107124468A (zh) * | 2017-05-31 | 2017-09-01 | 飞智控(天津)科技有限公司 | 基于云计算的无人机监控系统及监控方法 |
CN107451146A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 利用多级缓存读取数据的方法和缓存数据的多级缓存装置 |
CN108776934A (zh) * | 2018-05-15 | 2018-11-09 | 中国平安人寿保险股份有限公司 | 分布式数据计算方法、装置、计算机设备及可读存储介质 |
-
2018
- 2018-12-27 CN CN201811607086.9A patent/CN109873858B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530349A (zh) * | 2013-09-30 | 2014-01-22 | 乐视致新电子科技(天津)有限公司 | 一种缓存更新方法及设备 |
CN103747060A (zh) * | 2013-12-26 | 2014-04-23 | 惠州华阳通用电子有限公司 | 一种基于流媒体服务集群的分布式监控系统及方法 |
CN104363300A (zh) * | 2014-11-26 | 2015-02-18 | 浙江宇视科技有限公司 | 一种服务器集群中计算任务分布式调度装置 |
US20170208121A1 (en) * | 2016-01-20 | 2017-07-20 | International Business Machines Corporation | Server pool management |
CN107451146A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 利用多级缓存读取数据的方法和缓存数据的多级缓存装置 |
CN107104961A (zh) * | 2017-04-21 | 2017-08-29 | 中国电子科技集团公司第二十八研究所 | 基于ZooKeeper的分布式实时视频监控处理系统 |
CN107124468A (zh) * | 2017-05-31 | 2017-09-01 | 飞智控(天津)科技有限公司 | 基于云计算的无人机监控系统及监控方法 |
CN108776934A (zh) * | 2018-05-15 | 2018-11-09 | 中国平安人寿保险股份有限公司 | 分布式数据计算方法、装置、计算机设备及可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641531A (zh) * | 2020-05-12 | 2020-09-08 | 国家计算机网络与信息安全管理中心 | 一种基于dpdk的数据包分发和特征提取方法 |
CN111641531B (zh) * | 2020-05-12 | 2021-08-17 | 国家计算机网络与信息安全管理中心 | 一种基于dpdk的数据包分发和特征提取方法 |
CN113761296A (zh) * | 2020-09-04 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109873858B (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104778188B (zh) | 一种分布式设备日志采集方法 | |
CN103999077B (zh) | 包含可管理性子系统以实时监视和管理数据中心资源的方法 | |
CN110047014A (zh) | 一种基于负荷曲线和历史电量的用户电量数据修复方法 | |
US11005700B2 (en) | System and method for quickly determining reasonable alarm threshold of network | |
US8270410B2 (en) | Sampling techniques | |
CN107193909A (zh) | 数据处理方法及系统 | |
CN109213752A (zh) | 一种基于cim的数据清洗转换方法 | |
CN109739919A (zh) | 一种用于电力系统的前置机和采集系统 | |
CN101018150A (zh) | 一种电信设备性能数据采集的方法及系统 | |
CN103020169A (zh) | 一种电力数据的有效性及唯一性处理方法 | |
CN106506266A (zh) | 基于GPU、Hadoop/Spark混合计算框架的网络流量分析方法 | |
CN108399231A (zh) | 一种数据采集方法及Flume数据采集客户端 | |
CN109873858A (zh) | 一种业务数据分布式监控方法和分布式监控集群 | |
CN108369550B (zh) | 实时更改来自不同源的数据 | |
CN111737325A (zh) | 一种基于大数据技术的电力数据分析方法和装置 | |
CN110637292A (zh) | 用于查询资源高速缓存的系统和方法 | |
CN109308290A (zh) | 一种基于cim的高效数据清洗转换方法 | |
US20210303575A1 (en) | Offloading statistics collection | |
CN109460345A (zh) | 实时数据的计算方法及系统 | |
CN109344137A (zh) | 一种日志存储方法及系统 | |
Cao et al. | Timon: A timestamped event database for efficient telemetry data processing and analytics | |
CN109977139A (zh) | 基于类结构化查询语句的数据处理方法和装置 | |
CN110069565A (zh) | 一种分布式数据库数据批量处理的方法及装置 | |
CN108304527A (zh) | 一种数据提取方法 | |
CN111209314A (zh) | 一种电力信息系统海量日志数据实时处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |