CN115858309B - 面向分布式系统的数据监控方法、装置和电子设备 - Google Patents
面向分布式系统的数据监控方法、装置和电子设备 Download PDFInfo
- Publication number
- CN115858309B CN115858309B CN202211742819.6A CN202211742819A CN115858309B CN 115858309 B CN115858309 B CN 115858309B CN 202211742819 A CN202211742819 A CN 202211742819A CN 115858309 B CN115858309 B CN 115858309B
- Authority
- CN
- China
- Prior art keywords
- data
- monitoring
- module
- original data
- determining
- 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.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000012806 monitoring device Methods 0.000 claims abstract 2
- 238000004364 calculation method Methods 0.000 claims description 47
- 238000005192 partition Methods 0.000 claims description 47
- 238000013507 mapping Methods 0.000 claims description 22
- 230000004931 aggregating effect Effects 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 8
- 238000004220 aggregation Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000010792 warming Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本公开提供了一种面向分布式系统的数据监控方法、装置和电子设备,涉及人工智能领域,具体涉及云计算、分布式处理、数据分发技术,可应用在智能云场景下。具体实现方案为:获取原始数据;确定与原始数据对应的监控规则;根据监控规则的规则标识、原始数据的维度和与维度对应的值,生成目标标识;将原始数据分发至与目标标识对应的线程;以及利用线程对原始数据进行监控。
Description
技术领域
本公开涉及人工智能领域,具体涉及云计算、分布式处理、数据分发技术,可应用在智能云场景下。
背景技术
时序数据指的是时间序列数据,是一类非常重要的数据。可以从现实世界中采集得到天然的时序数据。例如,在进行全球变暖分析时,可以采集各地近年来的温度,每个温度都带有时间的信息,表示这个温度的采集时间。温度和温度的采集时间构成时序数据。根据这些时序数据可以以间维度对温度的变化趋势进行分析。
而在庞大的计算机系统中,对大量时序数据的实时、高效监控和分析,有助于发现系统中的各种异常问题。以内容分发网络(CDN)系统为例,CDN系统通常有成百上千个节点遍布在各个地域,为用户提供可以就近访问的高速网络服务。在同一时刻,整个CDN系统可能同时服务了上千万个用户和请求。为了发现其中存在的异常,并及时处理止损,可以实时采集代表系统各种状态的时序数据,并对这些海量的时序数据进行实时的监控和告警。海量的时序数据对监控系统的性能和功能都提出了较高的要求。
发明内容
本公开提供了一种面向分布式系统的数据监控方法、装置、设备、存储介质以及程序产品。
根据本公开的一方面,提供了一种面向分布式系统的数据监控方法,包括:获取原始数据;确定与所述原始数据对应的监控规则;根据所述监控规则的规则标识、所述原始数据的维度和与所述维度对应的值,生成目标标识;将所述原始数据分发至与所述目标标识对应的线程;以及利用所述线程对所述原始数据进行监控。
根据本公开的另一方面,提供了一种面向分布式系统的数据监控装置,包括:获取模块,用于获取原始数据;确定模块,用于确定与所述原始数据对应的监控规则;生成模块,用于根据所述监控规则的规则标识、所述原始数据的维度和与所述维度对应的值,生成目标标识;分发模块,用于将所述原始数据分发至与所述目标标识对应的线程;以及监控模块,用于利用所述线程对所述原始数据进行监控。
本公开的另一个方面提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所示的方法。
根据本公开实施例的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开实施例所示的方法。
根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开实施例所示方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的可以应用数据监控方法和装置的示例性系统架构;
图2示意性示出了根据本公开的实施例的数据监控方法的流程图;
图3示意性示出了根据本公开的实施例的由原始数据确定的时序图;
图4示意性示出了根据本公开的实施例的将原始数据分发至与目标标识对应的线程的示意图;
图5示意性示出了根据本公开的实施例的对原始数据进行数值运算的方法的示意图;
图6示意性示出了根据本公开的实施例的对原始数据进行逻辑运算的方法的示意图;
图7示意性示出了根据本公开的实施例的将多个计算结果聚合的方法的示意图;
图8示意性示出了根据本公开另一实施例的数据监控方法的流程图;
图9示意性示出了根据本公开的实施例的数据监控方法的示意图;
图10示意性示出了根据本公开实施例的数据监控装置的框图;
图11示意性示出了可以用来实施本公开的实施例的示例电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
以下将结合图1对本公开提供的数据监控方法和装置的系统架构进行描述。
图1示意性示出了根据本公开实施例的可以应用数据监控方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括展示层110、计算层120和存储层130。
其中,展示层110例如可以包括告警展示平台111、元信息管理平台112。告警展示平台111可以用于展示报警信息。元信息管理平台112可以用于管理监控规则等元信息。
计算层120例如可以包括分布式运行环境121。在分布式运行环境121中可以以分布式的方式实时处理数据监控任务。分布式运行环境121例如可以包括Flink和Yarn。另外计算层120还可以用于规则管理、权限管理、基础数据管理、服务运维等。
存储层130例如可以包括消息队列131和配置存储库132。其中,消息队列131可以用于存储用户写入的原始数据。用户可以按照约定的格式将数据写入到消息队列131。其中,约定的格式可以根据实际需要设置,本公开对此不作具体限定。计算层120在执行数据监控任务时可以从消息队列131获取原始数据,并对原始数据进行监控。消息队列131例如可以包括kafka。配置存储库132可以用于存储监控规则等配置信息。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
以下将结合图2对本公开提供的数据监控方法进行描述。该方法可以面向分布式系统。
图2示意性示出了根据本公开的实施例的数据监控方法的流程图。
如图2所示,该数据监控方法200包括在操作S210,获取原始数据。
根据本公开的实施例,原始数据例如可以为时序数据。根据本公开的实施例,原始数据可以例如可以包括指标名、维度、与维度对应的值、时间粒度和时间戳等。其中,指标名可以用于表示数据的名称。维度可以表示数据的维度,例如可以包括省份、运营商等。时间粒度可以表示数据的间隔时长。时间戳可以表示数据所对应的时刻。
在操作S220,确定与原始数据对应的监控规则。
根据本公开的实施例,监控规则可以用于表示如何对进行数据监控。本实施例中,可以预先设置一个或多个监控规则,每个监控规则可以用到一种或多种原始数据。
然后,在操作S230,根据监控规则的规则标识、原始数据的维度和与维度对应的值,生成目标标识。
根据本公开的实施例,每个监控规则设置有规则标识,用于唯一地标识该监控规则。
在操作S240,将原始数据分发至与目标标识对应的线程。
根据本公开的实施例,目标标识可以用于确定用于监控原始数据的线程。如果多个原始数据所对应的目标标识相同,则用于监控该多个原始数据的线程相同。通过根据监控规则的规则标识、原始数据的维度和与维度对应的值,生成目标标识,将原始数据分发至与目标标识对应的线程,可以使得同一个监控所需要的数据能被汇聚到一起进行处理,从而提高处理效率。
在操作S250,利用线程对原始数据进行监控。
根据本公开的实施例,例如可以利用线程对原始数据的数值大小、变化趋势等进行监控。
根据本公开的实施例的数据监控方法,具有较强的处理性能、较好的时效性和有效性,也可以应对大规模时序数据下复杂的监控场景,提升了监控的便捷性。
根据本公开的实施例,例如可以将监控规则、每个监控配置需要用到数据记录在数据分发配置信息中。基于此,可以加载数据分发配置信息。然后根据数据分发配置信息,确定映射关系数据。其中,映射关系数据包括多个数据以及与多个数据中每个数据对应的监控规则。基于此,例如可以获取映射关系数据。确定映射关系数据中与原始数据对应的监控规则。
以下将结合图3和具体实施例对本公开提供的数据监控方法进行描述。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图3示意性示出了根据本公开的实施例的由原始数据确定的时序图。
如图3所示,可以根据服务各省和运营商的用户请求数进行监控。基于此,每个用户请求数可以生成一个原始数据。其中,原始数据的指标名可以为userpv.pro.isp,维度可以包括prov(省份)和isp(运营商),prov所对应的值可以为江西,isp所对应的值可以为ct,时间粒度可以为1min(分钟),时间戳分别为t1、t2、t3、t4、t5和t6。
本实施例中,可以对每时刻的原始数据进行统计,从而得到如图3所示的时序图。根据时序图所对应的趋势,确定监控结果。例如,趋势如果出现大幅上升或下降,则可以确定监控结果为数据异常。然后可以相应地生成报警信息。
根据本公开的另一实施例,例如可以将数据分发配置信息转换为哈希映射(hashmap)格式,作为映射关系数据。其中,映射关系数据包括key(键)和value(值),key可以为原始数据,value可以为用到该原始数据的映射规则。
如果遍历数据分发配置信息中所有的监控规则,查找每个监控规则是否用到了对应的原始数据,时间复杂度是O(N),其中,N是配置的个数。而根据本公开的实施例,通过在配置加载的时候,将数据分发配置信息转换成原始数据和监控规则一对多关系的形式,在读取到指标数据之后,O(1)时间内直接可以获取到原始数据关联到哪些监控规则,提高了处理速度。
根据本公开的实施例,例如可以根据监控规则的规则标识、原始数据的维度和与维度对应的值,进行哈希计算,得到哈希计算结果,作为目标标识。接下来,可以将原始数据分发至与目标标识对应的线程进行监控。
以下将结合图4和具体实施例对本公开提供的将原始数据分发至与目标标识对应的线程的方法进行描述。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图4示意性示出了根据本公开的实施例的将原始数据分发至与目标标识对应的线程的示意图。
如图4所示,原始数据可以如表1所示
原始数据 | 指标名 | 维度以及对应的值 | 监控规则的标识 |
1 | userpv.pro.isp | prov=江西,isp=dx | 规则a |
2 | userpv.pro.isp | prov=上海,isp=yd | 规则b |
3 | userpv.pro.isp | prov=宁夏,isp=lt | 规则a |
表1
基于此,可以根据规则a,prov=江西,isp=dx进行哈希计算得到目标标识1,根据规则b,prov=上海,isp=yd进行哈希计算得到目标标识2,根据规则a,prov=宁夏,isp=lt进行哈希计算得到目标标识3。然后可以分配与目标标识1对应的数据监控线程1用于检测原始数据1的异常,分配与目标标识2对应的数据监控线程2用于检测原始数据2的异常,分配与目标标识3对应的数据监控线程3用于检测原始数据3的异常。
根据本公开的另一实施例,监控规则中可以配置任意的数值运算、逻辑运算以及数值运算和逻辑运算的组合。另外,监控规则也可以嵌套监控规则。
根据本公开的另一实施例,例如还可以对原始数据进行数值运算和/或逻辑运算,得到计算结果。根据计算结果,确定监控结果。例如,可以利用线程执行以下操作:根据预先编译的表达式,对原始数据进行数值运算和/或逻辑运算,得到计算结果。根据计算结果,确定监控结果。其中,数值运算例如可以包括加减乘除等计算。逻辑计算例如可以包括大于、小于、等于、与、或等等。表达式例如可以包括四则运算式、布尔逻辑计算式等。本实施例中,通过预先编译表达式,可以较大地提升计算性能。
以下将结合图5和具体实施例对本公开提供的对原始数据进行数值运算的方法进行描述。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图5示意性示出了根据本公开的实施例的对原始数据进行数值运算的方法的示意图。
如图5所示,原始数据可以包括成功数指标和失败数指标。示例性地,本实施例中,可以根据以下表达式计算成功率:
sr=s/(s+f)
其中,sr为成功率,s为成功数指标,f为失败数指标。
接着,可以确定成功率是否异常,得到监控结果。
以下将结合图5和具体实施例对本公开提供的对原始数据进行逻辑运算的方法进行描述。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图6示意性示出了根据本公开的实施例的对原始数据进行逻辑运算的方法的示意图。
如图6所示,原始数据可以包括成功数指标和失败数指标。示例性地,本实施例中,可以根据以下表达式计算成功率:
sr=s/(s+f)
其中,sr为成功率,s为成功数指标,f为失败数指标。
可以根据以下表达式总数指标:
sum=s+f
其中,sum为总数指标。
然后,可以确定针对成功率的监控结果和针对失败数指标的监控结果。例如,可以确定成功率是否大于成功率阈值,如果大于则确定针对成功率的监控结果为1,否则,确定针对成功率的监控结果为0。另外,可以确定总数是否大于总数阈值,如果大于则确定针对总数指标的监控结果为1,否则,确定针对总数的监控结果为0。
接下来,可以根据以下表达式计算总的监控结果:
r=j1&&j2
其中,r为总的监控结果,j1为成功率判断结果,j2为总数判断结果。本实施例中,r=1,则表示正常,r=0,则表示异常。
根据本公开的另一实施例,还可以获取与多个原始数据一一对应的多个计算结果。然后将多个计算结果聚合,得到聚合计算结果。接着根据聚合计算结果,确定监控结果。通过将计算结果聚合,对聚合计算结果进行监控,可以将细粒度的监控转化为更粗粒度的监控,从而可以提升监控的有效性。
以下将结合图7和具体实施例对本公开提供的将多个计算结果聚合的方法进行描述。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图7示意性示出了根据本公开的实施例的将多个计算结果聚合的方法的示意图。
如图7所示,原始数据可以包括成功数指标。示例性地,本实施例中,可以按照成功数指标所对应的运营商维度,对多个成功数指标进行聚合。例如,可以将对应于同一运营商的多个成功数指标进行聚合,然后对聚合后的成功数指标进行监控,得到监控结果。
根据本公开的另一实施例,在从数据源获取原始数据之后,可以将原始数据写入消息队列。然后可以从消息队列中获取原始数据。
基于此,图8示意性示出了根据本公开另一实施例的数据监控方法的流程图。
如图8所示,该数据监控方法800还可以包括在操作S860,获取多个分区的负载信息。
在操作S870,根据多个分区的负载信息,确定多个分区中的目标分区。
根据本公开的实施例,可以通过设置多个partition(分区)的方式,来支持海量数据的实时接入。例如,可以根据主题(topic)划分为多个分区(Partition),根据分区规则选择把原始数据存储到对应分区中。
在操作S880,将原始数据写入目标分区。
示例性地,本实施例中,例如可以根据负载信息,确定负载最低的分区作为目标分区,将原始数据存储至目标分区中,从而将原始数据将均匀地存储至到不同的分区中,使各分区负载均衡。
在操作S890,依次获取多个分区中的每个数据,并将每个数据写入消息队列。
在操作S8100,从消息队列中获取原始数据。
另外分区可以支持水平扩展,如果分区的负载均高于负载阈值,可以新增分区来分担存储压力,其中,负载阈值可以根据实际需要设置。由此,多个订阅者可以从一个或者多个分区中同时消费数据,从而提高对海量数据的处理能力。
根据本公开的实施例,例如还可以根据监控结果,生成报警信息。例如,当监控结果显示数据异常的情况下,可以生成报警信息,用于警示下游的运维人员。根据本公开的另一实施例,在预定时间内生成的报警信息的数量多于数量阈值的情况下,将预定时间内生成的报警信息合并,得到合并报警信息。然后输出合并报警信息。其中,预定时间可以根据实际需要设置。本实施例中,通过在预定时间内产生大量报警的情况下,自动合并报警信息,可以减少报警信息的数量,进而减少下游运维人员的处理难度。
根据本公开的实施例,例如还可以确定当前统计周期内接收到的原始数据的数量和上一统计周期内接收到的原始数据的数量之间的差值。在差值小于或等于差值阈值的情况下,输出报警信息。在差值大于差值阈值的情况下,屏蔽报警信息,即不输出报警信息。其中,差值阈值可以根据实际需要设置。
如果数据延迟(如发生了写入或者读取故障),会导致下游大量的误报。本实施例中,通过环比检测数据量是否有突降,如果有严重突降,则自动熔断,不向下游进行报警,从而可以减少下游的误报。
根据本公开的另一实施例,例如还可以确定数据接收延迟量。在数据接收延迟量小于或等于延迟量阈值的情况下,输出报警信息。在数据接收延迟量大于延迟量阈值的情况下,屏蔽报警信息,即不输出报警信息。其中,延迟阈值可以根据实际需要设置。示例性地,本实施例中,例如可以由数据收到的时刻减去与数据对应的时刻得到数据接收延迟量。本实施例中,通过自动分析指标的延迟情况,如果延迟有突增,则自动熔断,不向下游进行报警,从而可以减少下游因数据延迟产生的误报。
根据本公开的实施例的数据监控方法,还可以支持对动态的数据集合进行监控。例如,可以预设配置接口,用户可以对原有数据集合中的数据进行更新,即调整需要监控的数据,生成新的数据集合,然后将新的数据集合输入该配置接口,从而可以对该新的数据集合中的数据进行监控。
下面参考图9,结合具体实施例对上文所示的数据监控方法做进一步说明。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
图9示意性示出了根据本公开的实施例的数据监控方法的示意图。
根据本公开的实施例,数据监控方法可以由分布式实时处理任务模块执行。其中,分布式实时处理任务模块可以包括两大部分逻辑功能,分别是基础分布式功能和用户处理逻辑功能。分布式基础功能包括分布式运行环境相关的基础功能,如通信、资源分配、资源管理等。这部分可以采用开源的框架来实现,例如采用Flink大数据处理框架和Yarn资源管理框架。示例性地,可以通过kafka的多分区(Partition)的方式,来支持海量数据的实时接入。kafka可以将主题划分为多个分区,会根据分区规则选择把消息存储到哪个分区中,使得消息被均匀的分布到不同的分区中,从而实现负载均衡和水平扩展。另外,多个订阅者可以从一个或者多个分区中同时消费数据,从而可以提高针对海量数据的处理能力。监控判断逻辑计算可以采用Flink来实现,通过Flink强大计算能力,支持海量数据的监控判断。数据只需要经过一次kakfa,然后被flink计算任务消费判断并告警,具备低时延的特性。
根据本公开的实施例,原始数据可以包括时序数据。配置库存储有监控规则。
根据本公开的实施例,用户处理逻辑功能例如图9所示,分布式实时处理任务模块可以包括以下子模块:配置加载模块、数据加载模块、数据分发模块、异常检测模块、告警检测模块、告警过滤模块、告警发送模块。其中,配置加载模块可以负责从配置库加载监控规则,然后广播到对应的下游子模块,以便下游子模块根据监控规则对数据进行监控。数据加载模块负责从kafka中实时获取时序数据。数据分发模块按照预定的分发规则,将时序数据复制分发到下游的处理子模块,其中,分发规则例如可以包括将时序数据分发给负载最小的处理子模块。异常检测模块可以根据配置的监控规则,对接收到的数据进行计算,得到计算结果,并对计算结果进行异常判断,判断各时间点的数据是否有异常,得到监控结果,然后将监控结果发送给下游子模块。告警检测模块根据配置的告警规则,进行是否需要告警的判断,判断各时间点的数据是否需要进行告警,如果需要告警把告警信息发送到下游。告警过滤模块根据过滤规则,对告警进行过滤,其中,过滤规则例如可以包括:1、在预定时间内生成的报警信息的数量多于数量阈值的情况下,将预定时间内生成的报警信息合并;2、在差值大于差值阈值的情况下,屏蔽报警信息;3、在数据接收延迟量大于延迟量阈值的情况下,屏蔽报警信息。告警发送模块可以根据告警发送配置,将告警信息进行发送。其中所有的模块都是一个或者多个线程中运行的,保证能够处理足够大规模的时序数据,线程数量可以配置化扩展。
根据本公开的另一实施例,还可以为每个监控规则设定自定义的延迟策略和数据粒度。基于此,可以根据延迟策略,检测延迟一定时间再触发计算,其中,延迟时间长度可以根据需要设置。在延迟时间内收集原始数据和/或合并后的原始数据。例如,可以采用Flink的定时器机制来实现延迟时间计算。Timer(定时器)是Flink提供的基于处理时间、事件时间定时触发执行的机制。例如,基于该定时器机制,可以在时间轮中注册计算事件,等经过约定的延迟时间后,时间轮把计算事件发送出来,然后执行计算事件。在异常检测告警检测等模块,每个并行线程在计算相同数据周期的时序曲线(即规则标识、维度和维度的值相同)时可以共享一个定时器。相比于每个时序曲线设置一个定时器的方式,可以减少了定时器注册和触发的开销,提升了计算性能。
根据本公开的另一实施例,还可以支持配置化的监控动态的时序曲线集合,动态更新监控对象集合,对于无需监控的曲线不进行监控,减少误报。
以下将结合图10对本公开提供的数据监控装置进行描述。该装置可以面向分布式系统。
图10示意性示出了根据本公开实施例的数据监控装置的框图。
如图10所示,装置1000包括获取模块1010、确定模块1020、生成模块1030、分发模块1040和监控模块1050。
获取模块1010,用于获取原始数据。
确定模块1020,用于确定与原始数据对应的监控规则。
生成模块1030,用于根据监控规则的规则标识、原始数据的维度和与维度对应的值,生成目标标识。
分发模块1040,用于将原始数据分发至与目标标识对应的线程。
监控模块1050,用于利用线程对原始数据进行监控。
根据本公开的实施例,上述装置还可以包括:负载信息获取模块,用于获取多个分区的负载信息;分区确定模块,用于根据所述多个分区的负载信息,确定所述多个分区中的目标分区;第一写入模块,用于将所述原始数据写入所述目标分区;以及第二写入模块,用于依次获取所述多个分区中的每个数据,并将所述每个数据写入所述消息队列,其中,所述获取模块包括:原始数据获取子模块,用于从消息队列中获取所述原始数据。
根据本公开的实施例,所述确定模块可以包括:映射关系数据获取子模块,用于获取映射关系数据,其中,所述映射关系数据包括多个数据以及与所述多个数据中每个数据对应的监控规则;以及规则确定子模块,用于确定所述映射关系数据中与所述原始数据对应的监控规则。
根据本公开的实施例,上述装置还可以包括:加载模块,用于加载数据分发配置信息;以及映射关系数据确定模块,用于根据所述数据分发配置信息,确定所述映射关系数据。
根据本公开的实施例,所述生成模块可以包括:计算子模块,用于根据所述监控规则的规则标识、所述原始数据的维度和与所述维度对应的值,进行哈希计算,得到哈希计算结果,作为所述目标标识。
根据本公开的实施例,监控模块可以包括:监控子模块,用于利用所述线程执行以下操作:根据预先编译的表达式,对所述原始数据进行数值运算和/或逻辑运算,得到计算结果;以及根据所述计算结果,确定监控结果。
根据本公开的实施例,上述装置还可以包括:计算结果获取模块,用于获取与多个原始数据一一对应的多个计算结果;聚合模块,用于将所述多个计算结果聚合,得到聚合计算结果;以及结果确定模块,用于根据所述聚合计算结果,确定监控结果。
根据本公开的实施例,上述装置还可以包括:报警信息生成模块,用于根据所述监控结果,生成报警信息;以及合并模块,用于在预定时间内生成的报警信息的数量多于数量阈值的情况下,将所述预定时间内生成的报警信息合并,得到合并报警信息;以及输出模块,用于输出所述合并报警信息。
根据本公开的实施例,上述装置还可以包括:差值确定模块,用于确定当前统计周期内接收到的原始数据的数量和上一统计周期内接收到的原始数据的数量之间的差值;以及第一屏蔽模块,用于在所述差值大于差值阈值的情况下,屏蔽所述报警信息。
根据本公开的实施例,上述装置还可以包括:延迟确定模块,用于确定数据接收延迟量;以及第二屏蔽模块,用于在所述数据接收延迟量大于延迟量阈值的情况下,屏蔽所述报警信息。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图11示意性示出了可以用来实施本公开的实施例的示例电子设备1100的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(ROM)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(RAM)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如数据监控方法。例如,在一些实施例中,数据监控方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的数据监控方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据监控方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(″Virtual Private Server″,或简称″VPS″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (20)
1.一种面向分布式系统的数据监控方法,包括:
从消息队列中获取原始数据;
确定与所述原始数据对应的监控规则,其中,所述监控规则用于表示对所述原始数据进行监控的方式,每个所述监控规则与一个或多个所述原始数据对应;
根据所述监控规则的规则标识、所述原始数据的维度和与所述维度对应的值,生成目标标识;
将所述原始数据分发至与所述目标标识对应的线程,其中,所述线程用于监控具有相同目标标识的多个原始数据;以及
利用所述线程对所述原始数据进行监控;
所述利用所述线程对所述原始数据进行监控包括:
利用所述线程执行以下操作:
根据预先编译的表达式,对所述原始数据进行数值运算和/或逻辑运算,得到计算结果;以及
通过判断所述计算结果是否异常,确定监控结果。
2.根据权利要求1所述的方法,还包括:
获取多个分区的负载信息;
根据所述多个分区的负载信息,确定所述多个分区中的目标分区;
将所述原始数据写入所述目标分区;以及
依次获取所述多个分区中的每个数据,并将所述每个数据写入所述消息队列。
3.根据权利要求1所述的方法,其中,所述确定与所述原始数据对应的监控规则包括:
获取映射关系数据,其中,所述映射关系数据包括多个数据以及与所述多个数据中每个数据对应的监控规则;以及
确定所述映射关系数据中与所述原始数据对应的监控规则。
4.根据权利要求3所述的方法,还包括:
加载数据分发配置信息;以及
根据所述数据分发配置信息,确定所述映射关系数据。
5.根据权利要求1所述的方法,其中,所述根据所述监控规则的规则标识、所述原始数据的维度和与所述维度对应的值,生成目标标识,包括:
根据所述监控规则的规则标识、所述原始数据的维度和与所述维度对应的值,进行哈希计算,得到哈希计算结果,作为所述目标标识。
6.根据权利要求1所述的方法,还包括:
获取与多个原始数据一一对应的多个计算结果;
将所述多个计算结果聚合,得到聚合计算结果;以及
根据所述聚合计算结果,确定监控结果。
7.根据权利要求1或6所述的方法,还包括:
根据所述监控结果,生成报警信息;以及
在预定时间内生成的报警信息的数量多于数量阈值的情况下,将所述预定时间内生成的报警信息合并,得到合并报警信息;以及
输出所述合并报警信息。
8.根据权利要求7所述的方法,还包括:
确定当前统计周期内接收到的原始数据的数量和上一统计周期内接收到的原始数据的数量之间的差值;以及
在所述差值大于差值阈值的情况下,屏蔽所述报警信息。
9.根据权利要求7所述的方法,还包括:
确定数据接收延迟量;以及
在所述数据接收延迟量大于延迟量阈值的情况下,屏蔽所述报警信息。
10.一种面向分布式系统的数据监控装置,包括:
获取模块,用于从消息队列中获取原始数据;
确定模块,用于确定与所述原始数据对应的监控规则,其中,所述监控规则用于表示对所述原始数据进行监控的方式,每个所述监控规则与一个或多个所述原始数据对应;
生成模块,用于根据所述监控规则的规则标识、所述原始数据的维度和与所述维度对应的值,生成目标标识;
分发模块,用于将所述原始数据分发至与所述目标标识对应的线程,其中,所述线程用于监控具有相同目标标识的多个原始数据;以及
监控模块,用于利用所述线程对所述原始数据进行监控;
其中,所述监控模块包括:
监控子模块,用于利用所述线程执行以下操作:
根据预先编译的表达式,对所述原始数据进行数值运算和/或逻辑运算,得到计算结果;以及
通过判断所述计算结果是否异常,确定监控结果。
11.根据权利要求10所述的装置,还包括:
负载信息获取模块,用于获取多个分区的负载信息;
分区确定模块,用于根据所述多个分区的负载信息,确定所述多个分区中的目标分区;
第一写入模块,用于将所述原始数据写入所述目标分区;以及
第二写入模块,用于依次获取所述多个分区中的每个数据,并将所述每个数据写入所述消息队列。
12.根据权利要求10所述的装置,其中,所述确定模块包括:
映射关系数据获取子模块,用于获取映射关系数据,其中,所述映射关系数据包括多个数据以及与所述多个数据中每个数据对应的监控规则;以及
规则确定子模块,用于确定所述映射关系数据中与所述原始数据对应的监控规则。
13.根据权利要求12所述的装置,还包括:
加载模块,用于加载数据分发配置信息;以及
映射关系数据确定模块,用于根据所述数据分发配置信息,确定所述映射关系数据。
14.根据权利要求10所述的装置,其中,所述生成模块,包括:
计算子模块,用于根据所述监控规则的规则标识、所述原始数据的维度和与所述维度对应的值,进行哈希计算,得到哈希计算结果,作为所述目标标识。
15.根据权利要求10所述的装置,还包括:
计算结果获取模块,用于获取与多个原始数据一一对应的多个计算结果;
聚合模块,用于将所述多个计算结果聚合,得到聚合计算结果;以及
结果确定模块,用于根据所述聚合计算结果,确定监控结果。
16.根据权利要求10或15所述的装置,还包括:
报警信息生成模块,用于根据所述监控结果,生成报警信息;以及
合并模块,用于在预定时间内生成的报警信息的数量多于数量阈值的情况下,将所述预定时间内生成的报警信息合并,得到合并报警信息;以及
输出模块,用于输出所述合并报警信息。
17.根据权利要求16所述的装置,还包括:
差值确定模块,用于确定当前统计周期内接收到的原始数据的数量和上一统计周期内接收到的原始数据的数量之间的差值;以及
第一屏蔽模块,用于在所述差值大于差值阈值的情况下,屏蔽所述报警信息。
18.根据权利要求16所述的装置,还包括:
延迟确定模块,用于确定数据接收延迟量;以及
第二屏蔽模块,用于在所述数据接收延迟量大于延迟量阈值的情况下,屏蔽所述报警信息。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211742819.6A CN115858309B (zh) | 2022-12-30 | 2022-12-30 | 面向分布式系统的数据监控方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211742819.6A CN115858309B (zh) | 2022-12-30 | 2022-12-30 | 面向分布式系统的数据监控方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115858309A CN115858309A (zh) | 2023-03-28 |
CN115858309B true CN115858309B (zh) | 2023-12-22 |
Family
ID=85656698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211742819.6A Active CN115858309B (zh) | 2022-12-30 | 2022-12-30 | 面向分布式系统的数据监控方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858309B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597860A (zh) * | 2019-09-12 | 2019-12-20 | 中国工商银行股份有限公司 | 数据识别方法及其装置、电子设备和介质 |
CN110865921A (zh) * | 2019-11-08 | 2020-03-06 | 拉扎斯网络科技(上海)有限公司 | 数据监控方法、装置、可读存储介质和电子设备 |
CN111290916A (zh) * | 2020-02-18 | 2020-06-16 | 深圳前海微众银行股份有限公司 | 大数据监控方法、装置、设备及计算机可读存储介质 |
CN111369354A (zh) * | 2018-12-25 | 2020-07-03 | 航天信息股份有限公司 | 面向区块链应用的数据监控方法、装置及存储介质 |
CN111444067A (zh) * | 2020-05-18 | 2020-07-24 | 湖南御家科技有限公司 | 一种基于规则引擎的配置化系统监控方法、装置及设备 |
CN112035571A (zh) * | 2020-08-19 | 2020-12-04 | 深圳乐信软件技术有限公司 | 一种数据同步方法、装置、设备和存储介质 |
WO2020253381A1 (zh) * | 2019-06-17 | 2020-12-24 | 深圳壹账通智能科技有限公司 | 数据监控方法、装置、计算机设备和存储介质 |
CN112131013A (zh) * | 2019-06-25 | 2020-12-25 | 顺丰科技有限公司 | 分布式系统中调用链的监控方法、装置、设备及存储介质 |
KR20220156493A (ko) * | 2022-01-21 | 2022-11-25 | 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 | 관측 정보 처리 방법, 관측 정보 처리 장치, 전자장비, 저장매체 및 컴퓨터 프로그램 |
-
2022
- 2022-12-30 CN CN202211742819.6A patent/CN115858309B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111369354A (zh) * | 2018-12-25 | 2020-07-03 | 航天信息股份有限公司 | 面向区块链应用的数据监控方法、装置及存储介质 |
WO2020253381A1 (zh) * | 2019-06-17 | 2020-12-24 | 深圳壹账通智能科技有限公司 | 数据监控方法、装置、计算机设备和存储介质 |
CN112131013A (zh) * | 2019-06-25 | 2020-12-25 | 顺丰科技有限公司 | 分布式系统中调用链的监控方法、装置、设备及存储介质 |
CN110597860A (zh) * | 2019-09-12 | 2019-12-20 | 中国工商银行股份有限公司 | 数据识别方法及其装置、电子设备和介质 |
CN110865921A (zh) * | 2019-11-08 | 2020-03-06 | 拉扎斯网络科技(上海)有限公司 | 数据监控方法、装置、可读存储介质和电子设备 |
CN111290916A (zh) * | 2020-02-18 | 2020-06-16 | 深圳前海微众银行股份有限公司 | 大数据监控方法、装置、设备及计算机可读存储介质 |
CN111444067A (zh) * | 2020-05-18 | 2020-07-24 | 湖南御家科技有限公司 | 一种基于规则引擎的配置化系统监控方法、装置及设备 |
CN112035571A (zh) * | 2020-08-19 | 2020-12-04 | 深圳乐信软件技术有限公司 | 一种数据同步方法、装置、设备和存储介质 |
KR20220156493A (ko) * | 2022-01-21 | 2022-11-25 | 베이징 바이두 넷컴 사이언스 테크놀로지 컴퍼니 리미티드 | 관측 정보 처리 방법, 관측 정보 처리 장치, 전자장비, 저장매체 및 컴퓨터 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
CN115858309A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111049705B (zh) | 一种监控分布式存储系统的方法及装置 | |
CN108270618B (zh) | 告警判定的方法、装置及告警系统 | |
CN102694868B (zh) | 一种集群系统实现及任务动态分配方法 | |
CN113762906B (zh) | 任务周期延迟的告警方法、装置、设备及存储介质 | |
CN110493043B (zh) | 一种分布式态势感知调用方法和装置 | |
CN113448812A (zh) | 微服务场景下的监控告警方法及装置 | |
CN105871581A (zh) | 云计算中报警信息的处理方法及装置 | |
WO2023207689A1 (zh) | 一种变更风险评估方法、设备及存储介质 | |
CN114461407B (zh) | 数据处理方法、装置、分发服务器、系统及存储介质 | |
CN116010220A (zh) | 一种告警诊断方法、装置、设备及存储介质 | |
CN115858309B (zh) | 面向分布式系统的数据监控方法、装置和电子设备 | |
CN110493218B (zh) | 一种态势感知虚拟化的方法和装置 | |
CN116668264A (zh) | 一种告警聚类的根因分析方法、装置、设备及存储介质 | |
CN116662001A (zh) | 一种事件处理方法及装置 | |
CN114756301B (zh) | 日志处理方法、装置和系统 | |
CN116260703A (zh) | 分布式消息服务节点cpu性能故障自恢复方法及装置 | |
CN114338472B (zh) | 地图服务器的容量测试方法、装置、设备、介质及产品 | |
CN115514618A (zh) | 告警事件的处理方法、装置、电子设备和介质 | |
CN102930046B (zh) | 数据处理方法、计算节点及系统 | |
CN114706893A (zh) | 故障检测方法、装置、设备及存储介质 | |
CN115220131A (zh) | 气象数据质检方法及系统 | |
JP7097408B2 (ja) | 局所的ホットスポットを処理する方法、装置、電子デバイス及び記憶媒体 | |
CN114035906A (zh) | 虚拟机迁移方法、装置、电子设备及存储介质 | |
CN114661562A (zh) | 一种数据告警方法、装置、设备及介质 | |
CN110493071B (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 |