CN112799905A - 一种软件运行的监测方法、系统及相关装置 - Google Patents
一种软件运行的监测方法、系统及相关装置 Download PDFInfo
- Publication number
- CN112799905A CN112799905A CN202110008638.XA CN202110008638A CN112799905A CN 112799905 A CN112799905 A CN 112799905A CN 202110008638 A CN202110008638 A CN 202110008638A CN 112799905 A CN112799905 A CN 112799905A
- Authority
- CN
- China
- Prior art keywords
- index data
- type
- aggregation
- intelligent terminal
- set time
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000012544 monitoring process Methods 0.000 title claims abstract description 84
- 230000002776 aggregation Effects 0.000 claims abstract description 114
- 238000004220 aggregation Methods 0.000 claims abstract description 114
- 238000012545 processing Methods 0.000 claims abstract description 26
- 230000004931 aggregating effect Effects 0.000 claims abstract description 17
- 238000006116 polymerization reaction Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 11
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 15
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
- G06F11/3082—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种软件运行的监测方法、系统及相关装置,其中,该软件运行的监测方法包括:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型;基于聚合类型每间隔第一设定时间对指标数据进行聚合处理;将聚合处理后的指标数据发送给后台智能终端,以进行存储。通过上述方式,本申请中的软件运行的监测方法通过将单次记录的指标数据进行聚合,以转换成汇总统计指标后发送给后台智能终端存储,能够有效降低客户端和后台智能终端在时序指标的传输、存储及计算上的消耗,且根据聚合类型的不同,能够适用于各类不同的业务场景,其应用范围也得到了极大的扩展。
Description
技术领域
本申请涉及软件系统监控的技术领域,尤其涉及一种软件运行的监测方法、系统及相关装置。
背景技术
通常时序数据的指标可以用于智能终端上的软件监控的场景,如对业务订单数量的监控,且具有明显的时间信息在里面,如可以用指标来表示时间戳为“1234”购买“item2(商品2)”且状态为“success(成功)”的订单数量为10。时序数据的数据存储有数据量大的特点,拿监控数据来举例,如果我们采集的监控数据的时间间隔是1s,那一个监控项每天会产生86400个数据点,若有10000个监控项,则一天就会产生864000000个数据点。在物联网场景下,这个数字会更大。整个数据的规模,是TB甚至是PB级的。
可以看出时序数据库存储原始的数据点,存储压力会非常大;同理,在查询时,如果查询时间粒度超过存储粒度时,也需要额外的聚合计算,消耗性能。在软件系统领域,往往需要实时监控当前软件的运行情况;以保证我们的软件能够对外提供可靠的服务。在软件系统的监控领域,一般有两种方案来监控软件的运行情况。
方案一,通过日志系统或者日志链路,通过客户端将软件的日志(主动推送或者被动拉取的方式)传输到后端的系统进行计算以及存储展示,以实时查看软件的运行情况。该方法通过传输软件全量的日志来实现实时查看软件在最近的时间是否有错误日志、异常日志等未预期的情况产生。方案二,通过设计好的指标,直接采集指标到后端系统进行指标的存储与展示。在这种方案中,指标上都需要带有机器名的标签(以区分是哪台机器上报的指标),对于机器监控的监控比较有效,而无法满足业务场景的监控需求。
然而,对于方案一,存在日志无法精确分类、链路过长、成本高的问题。首先,由于软件打印的日志中通常有多种类型,并不是所有的日志都对软件运行状态的监控有用;二是整体日志采集的流程较长,链路的流程为软件系统将日志写入磁盘,日志采集客户端读取磁盘上的文件并通过网络上传日志,最后通过日志解析再写入后端的存储,在时效性上有一定的滞后;三是通过日志的方式实现监控,整体后端系统的(传输/计算/存储)成本会随着软件系统的业务量线性增加,在软件系统业务量非常大时,通过日志实现的监控往往成本上难以接受。对于方案二,通过设计好的指标传输,在成本上有着比较大的优势,但是适用的场景比较窄;对于涉及到多台机器的联合指标时,如订单总量的监控场景,指标分散在多台机器上的软件系统,在后端难以联合处理。该方案主要适用于机器监控等场景,在一些开源系统被广泛使用。
发明内容
本申请提供了一种软件运行的监测方法、系统及相关装置,该软件运行的监测方法能够有效解决现有方法对存储和计算的消耗较大,以及不适用于业务场景下的软件监控通用场景的问题。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种软件运行的监测方法,其中,该软件运行的监测方法包括:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型;基于聚合类型每间隔第一设定时间对指标数据进行聚合处理;将聚合处理后的指标数据发送给后台智能终端,以进行存储。
其中,指标数据还包括指标名称,指标名称的数量包括至少两个,基于聚合类型每间隔第一设定时间对指标数据进行聚合处理的步骤包括:根据指标名称对指标数据进行分类,以基于每一类的指标数据的聚合类型每间隔第一设定时间分别对相应的指标数据进行聚合处理。
其中,指标数据还包括计数类型,计数类型的数量包括至少两个,基于聚合类型每间隔第一设定时间对指标数据进行聚合处理的步骤包括:根据计数类型对指标数据进行分类,以基于每一类的指标数据的聚合类型每间隔第一设定时间分别对相应的指标数据进行计数。
其中,将聚合处理后的指标数据发送给后台智能终端,以进行存储的步骤包括:将聚合处理后的指标数据发送给后台智能终端,以使后台智能终端每间隔第二设定时间对其接收到的指标数据进行聚合处理并存储。
其中,将聚合处理后的指标数据发送给后台智能终端,以进行存储的步骤之后,还包括:删除当前已发送的聚合处理后的指标数据。
其中,聚合类型为求和类型,基于聚合类型每间隔第一设定时间对指标数据进行聚合处理的步骤包括:基于求和类型每间隔第一设定时间对指标数据进行求和处理。
其中,指标数据还包括时间戳,聚合类型为瞬时类型,基于聚合类型每间隔第一设定时间对指标数据进行聚合处理的步骤包括:基于瞬时类型每间隔第一设定时间将时间戳靠后的指标数据覆盖时间戳靠前的指标数据。
其中,聚合类型为最大值类型,基于聚合类型每间隔第一设定时间对指标数据进行聚合处理的步骤包括:基于最大值类型每间隔第一设定时间获取当前指标数据中的最大值。
其中,聚合类型为最小值类型,基于聚合类型每间隔第一设定时间对指标数据进行聚合处理的步骤包括:基于最小值类型每间隔第一设定时间获取当前指标数据中的最小值。
其中,聚合类型为求和类型,指标数据还包括计数类型,计数类型的数量包括两个,基于聚合类型每间隔第一设定时间对指标数据进行聚合处理的步骤包括:根据计数类型对指标数据进行分类,以基于求和类型每间隔第一设定时间将分类得到的两类指标数据分别进行计数求和;对分别计数求和后的两类指标数据的比值进行计算。
其中,指标数据还包括统计对象类型,统计对象类型包括总耗时、总统计次数、最大耗时以及最小耗时,总耗时和统计次数的聚合类型为求和类型,最大耗时的聚合类型为最大值类型,最小耗时的聚合类型为最小值类型,基于聚合类型每间隔第一设定时间对指标数据进行聚合处理的步骤包括:每间隔第一设定时间对指标数据的耗时和统计次数进行求和处理,以得到指标数据的总耗时和总统计次数;获取指标数据耗时统计中的最大值和最小值;计算总耗时与统计次数的比值,以获取指标数据当前的平均耗时。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种软件运行的监测系统,其中,该软件运行的监测系统包括相互通信连接的智能终端和后台智能终端;其中,智能终端用于实时获取其目标软件运行中的指标数据,指标数据包括聚合类型,以基于聚合类型每间隔第一设定时间对指标数据进行聚合处理,并将聚合处理后的指标数据发送给后台智能终端进行存储。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种智能终端,其中,该智能终端包括相互耦接的存储器和处理器,存储器存储有程序数据,处理器用于执行程序数据,以实现如上任一项所述的软件运行的监测方法。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机可读存储介质,其中,该计算机可读存储介质存储有程序数据,该程序数据能够被执行以实现如上任一所述的软件运行的监测方法。
本申请的有益效果是:区别于现有技术,本申请中的软件运行的监测方法在实时获取目标软件运行中的指标数据后,基于指标数据的聚合类型每间隔第一设定时间对指标数据进行聚合处理,进而将聚合处理后的指标数据发送给后台智能终端进行存储,以通过将单次记录的指标数据进行聚合,以转换成汇总统计指标后发送给后台智能终端存储,能够有效降低客户端和后台智能终端在时序指标的传输、存储及计算上的消耗,且根据聚合类型的不同,能够适用于各类不同的业务场景,其应用范围也得到了极大的扩展。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请软件运行的监测方法第一实施方式的流程示意图;
图2是本申请软件运行的监测方法第二实施方式的流程示意图;
图3是本申请软件运行的监测方法第三实施方式的流程示意图;
图4是本申请软件运行的监测方法第四实施方式的流程示意图;
图5是本申请软件运行的监测方法第五实施方式的流程示意图;
图6是本申请软件运行的监测方法第六实施方式的流程示意图;
图7是本申请软件运行的监测方法第七实施方式的流程示意图;
图8是本申请软件运行的监测方法一具体实施方式的流程示意图;
图9是本申请软件运行的监测系统一实施方式的结构示意图;
图10是本申请智能终端一实施方式的结构示意图;
图11是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,均属于本申请保护的范围。
请参阅图1,图1是本申请软件运行的监测方法第一实施方式的流程示意图。本实施方式包括如下步骤:
S11:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型。
现今,随着各种终端应用程序逐渐被开发出来,并得到应用,在智能终端上对相应的各类软件的运行情况进行实时监控,以保证各类软件能够对外提供可靠的服务,也逐渐成为首先需要被实现的任务。而在对软件运行进行实时监控的过程中,通常又不可避免的会涉及到对客户端上的时序数据及预设的指标数据进行获取和统计存储。
其中,该时序数据是基于时间的一系列的数据。在有时间的坐标中将这些数据点连成线,往过去看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警。
而在通常情况,该时序数据的指标可以用于软件运行的监控场景。例如,在对客户端的业务订单数量的监控中,就有明显的时间信息在里面,其可以用一指标来表示时间戳为“1234”购买“item2”且状态为“success”的订单数量为10。
其中,因时序数据的数据存储具有数据量较大的特点,在智能终端(客户端)及其相应的后台智能终端(后台服务器)上,还需要对该时序数据进行处理,比如,对该时序数据对应的指标数据进行聚合处理,以降低最终写入时序数据库的指标数量的目的。
具体地,在本实施方式中,智能终端首先对其目标软件运行中的指标数据进行实时获取,也即,实时获取智能终端中旨在进行监控的软件在其运行中所产生的指标数据。
其中,该指标数据包括聚合类型,也即该指标数据预先根据当前具体的业务场景设置有相应的聚合类型。而目标软件的数量可以包括一个也可以包括多个,也即,当目标软件的数量为多个,且分别对应于不同的业务场景时,该聚合类型也相应的具有多个。
可理解的是,智能终端能够通过设计好的指标,直接采集指标到后台智能终端进行指标的存储与展示。
可选地,该智能终端为个人计算机、手机以及平板电脑等任一合理的集成有软件系统的智能终端中的一种,本申请对此不做限定。
S12:基于聚合类型每间隔第一设定时间对指标数据进行聚合处理。
进一步地,在获取到目标软件运行中的指标数据后,基于预先设定的该指标数据的聚合类型每间隔第一设定时间对指标数据进行一次聚合处理,以将第一设定时间内产生的所有同类的多个指标聚合为一个,以能够有效降低相应的指标数据占用智能终端的存储和运算资源。
可选地,该第一设定时间为1S、2S或3S等任一合理的时间,优选为2S,以保证智能终端在对指标数据进行聚合时,能够有效兼顾其存储资源和计算资源的合理分配及运行。
可理解的是,通过设置指标数据的聚合类型,比如,在指标传输时根据具体的业务场景添加聚合类型,以在指标数据传输的过程中,通过使用一些网络流的计算技术,能够根据指标数据的聚合类型处理该指标数据,从而达到降低最终写入时序数据库的指标数据的数量的目的,进而使时序数据库在写入和查询方面的压力都大大降低。
在一些具体的实施方式中,如上述业务订单的例子,在通过添加指标数据的type类型(聚合类型),并指定该type类型为SUM求和类型后,则在多个指标数据进行聚合时,能够采用求和的方式将多个同类指标转换成一个指标,以达到降低指标数量的目的。
可选地,指标数据的聚合类型的数量具体包括1个、3个或4个等任一合理的个数,其中,以该聚合类型的数量为4个,且具体为如下4个为例,则可知:
SUM:求和类型,表示同类指标数据在聚合时,进行求和处理。比如,计算订单总数量,统计指标数据中出现错误的总数量等场景。
GAUGE:仪表盘(瞬时)类型,表示同类指标数据在聚合时,将时间戳靠后的值覆盖时间戳靠前的值,也即前值会丢失。则可知,该仪表盘类型具体适用于硬件监控场景中的指标数据,如cpu(中央处理器)的使用率、idle(集成开发环境),内存的使用率等。
MAX:最大值类型,保留前值和后值中的最大值。
MIN:最小值类型,保留前值和后值中的最小值。
可理解的,本申请中的软件运行的监测方法可以是由如上四种聚合类型衍生出的任一监控场景中的应用方法。
S13:将聚合处理后的指标数据发送给后台智能终端,以进行存储。
具体地,将聚合处理后的指标数据发送给后台智能终端,以通过后台智能终端进行存储及相应的统计分析处理,从而能够有效降低指标数据占用客户端的存储、运算资源。
可选地,该后台智能终端为个人计算机及服务器等任一合理的集成有软件系统的智能终端中的一种,本申请对此不做限定。
可理解的,从软件开发者的角度来看,一般对于单次的指标是有感知的(如单次接口的耗时,单次订单的状态),而对于由多个单次的指标组合成的汇总指标在统计上却存在有困难,而在我们实现的trace-agent(调试软硬件系统)中,通过这种聚合方式巧妙地解决了这个问题,也即,让软件的开发人员只需要关注单次的统计数据,而聚合后的汇总数据通过本实施方式中软件运行的监测方法自动统计完成。
且经试验验证,极大地降低了智能终端的链路中的数据量,使得整个监控链路的资源不会随着业务规模的线性增长,而支撑了高峰期100w/s(万/秒)的监控数据打点。
进一步地,可以理解的,在一具体实施方式中,该指标数据还包括指标名称,且该指标名称的数量包括至少两个,以上所述S12具体还包括:根据指标名称对指标数据进行分类,以基于每一类的指标数据的聚合类型每间隔第一设定时间分别对相应的指标数据进行聚合处理。
可理解的,对于同一聚合类型的指标数据,在其指标名称不同时,比如,不同机器,或不同软件系统,或同一软件系统中的不同商品对应产生的同一聚合类型的指标数据,还需进一步根据相应的指标名称对指标数据进行分类,以每间隔第一设定时间分别对每一类的指标数据进行相应的聚合处理,比如,基于求和类型对获取到的指标数据进行求和处理。
进一步地,可以理解的,在一具体实施方式中,指标数据还包括计数类型,计数类型的数量包括至少两个,且以上所述S12具体包括:根据计数类型对指标数据进行分类,以基于每一类的指标数据的聚合类型每间隔第一设定时间分别对相应的指标数据进行计数。
可理解的,对于同一聚合类型,且同一指标名称下的指标数据,在其计数类型不同时,比如,分别统计下单成功、下单失败及下单总数量所对应产生的同一聚合类型的指标数据时,还需进一步根据相应的计数类型对指标数据进行分类,以每间隔第一设定时间分别对每一类的指标数据进行相应的聚合处理,比如,基于求和类型对获取到的指标数据进行求和处理。
而在其他实施例中,当存在有同一聚合类型,不同指标名称下的指标数据,且其中的每一指标名称下的指标数据又进一步包括有不同的计数类型时,上述S12还可以包括:首先根据指标名称对指标数据进行分类,以进一步根据每一类指标名称下的指标数据的计数类型再次对每一类指标名称下的指标数据进行分类,进而每间隔第一设定时间分别对每一计数类型下的指标数据进行相应的聚合处理。
进一步地,可以理解的,在一具体实施方式中,以上所述S13具体包括:将聚合处理后的指标数据发送给后台智能终端,以使后台智能终端每间隔第二设定时间对其接收到的指标数据进行聚合处理并存储。
可理解的,在客户端将聚合处理后的指标数据发送给后台智能终端,也即后台服务器后,为节省后台服务器的存储运算资源,该后台服务器也可以每间隔第二设定时间对其接收到的指标数据进行相应的聚合处理后,再进行存储。
其中,后台服务器对指标数据进行的聚合处理也是基于该指标数据的聚合类型进行的,也即同于客户端对该指标数据所进行的聚合处理程序。
可选地,该第二设定时间为9S、10S或11S等任一合理的时间,优选为10S,且第二设定时间为第一设定时间的整数倍,比如,第二设定时间是第一设定时间的3倍或5倍等任一合理的倍数,以保证统计数据的准确。
可理解的是,当第一设定时间2S,而第二设定时间3S时,在第二设定时间内后台服务器会间隔接收到一个,或两个聚合处理的指标数据,进而导致平稳的指标统计出现锯齿状,如2S内的数据都是1SUM,而3S内的统计会变成2、1、2、1、2、1…这样的序列,从而造成统计上的不准确,违背了监控的初衷。
进一步地,可以理解的,在一具体实施方式中,以上所述S13之后,还包括:删除当前已发送的聚合处理后的指标数据,以解放智能终端上无效的指标数据所占用的存储运算资源。
区别于现有技术,本申请中的软件运行的监测方法在实时获取目标软件运行中的指标数据后,基于指标数据的聚合类型每间隔第一设定时间对指标数据进行聚合处理,进而将聚合处理后的指标数据发送给后台智能终端进行存储,以通过将单次记录的指标数据进行聚合,以转换成汇总统计指标后发送给后台智能终端存储,能够有效降低客户端和后台智能终端在时序指标的传输、存储及计算上的消耗,且根据聚合类型的不同,能够适用于各类不同的业务场景,其应用范围也得到了极大的扩展。
请参阅图2,图2是本申请软件运行的监测方法第二实施方式的流程示意图。本实施方式的软件运行的监测方法是图1中的软件运行的监测方法的一细化实施方式的流程示意图,且其中的聚合类型具体为求和类型,本实施方式包括如下步骤:
S21:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型。
其中,S21与图1中的S11相同,具体请参阅S11及其相关的文字描述,在此不再赘述。
S22:基于求和类型每间隔第一设定时间对指标数据进行求和处理。
具体地,在获取到聚合类型为求和类型的指标数据后,基于求和类型每间隔第一设定时间对该指标数据进行求和处理,也即,将第一设定时间内智能终端产生的所有聚合类型为求和类型的指标数据进行叠加求和,以聚合为一个指标数据。
其中,Counter:计数类型,统计某一类数据的数量。对于同类数据,会采用加和的方式进行聚合,适用于计算订单总数量,统计指标数据中出现错误的总数量等场景。
S23:将聚合处理后的指标数据发送给后台智能终端,以进行存储。
其中,S23与图1中的S13相同,具体请参阅S13及其相关的文字描述,在此不再赘述。
请参阅图3,图3是本申请软件运行的监测方法第三实施方式的流程示意图。本实施方式的软件运行的监测方法是图1中的软件运行的监测方法的一细化实施方式的流程示意图,且其中的指标数据还包括时间戳,聚合类型具体为瞬时类型,本实施方式包括如下步骤:
S31:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型。
其中,S31与图1中的S11相同,具体请参阅S11及其相关的文字描述,在此不再赘述。
S32:基于瞬时类型每间隔第一设定时间将时间戳靠后的指标数据覆盖时间戳靠前的指标数据。
具体地,在获取到聚合类型为瞬时类型的指标数据后,基于瞬时类型每间隔第一设定时间将时间戳靠后的指标数据覆盖时间戳靠前的指标数据,也即,最终得到聚合后的时间戳最靠后的一个指标数据。
其中,Gauge:统计某种数据的瞬间值,对于同类的数据,时间戳靠后的值会覆盖前值,适用于硬件监控场景中的指标数据,如cpu(中央处理器)的使用率、idle(cpu的空闲率),内存的使用率等。
S33:将聚合处理后的指标数据发送给后台智能终端,以进行存储。
其中,S33与图1中的S13相同,具体请参阅S13及其相关的文字描述,在此不再赘述。
请参阅图4,图4是本申请软件运行的监测方法第四实施方式的流程示意图。本实施方式的软件运行的监测方法是图1中的软件运行的监测方法的一细化实施方式的流程示意图,且其中的聚合类型具体为最大值类型,本实施方式包括如下步骤:
S41:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型。
其中,S41与图1中的S11相同,具体请参阅S11及其相关的文字描述,在此不再赘述。
S42:基于最大值类型每间隔第一设定时间获取当前指标数据中的最大值。
具体地,在获取到聚合类型为最大值类型的指标数据后,基于最大值类型每间隔第一设定时间获取当前指标数据中的最大值,也即,仅保留相应指标数据的前值和后值中的最大值。
S43:将聚合处理后的指标数据发送给后台智能终端,以进行存储。
其中,S43与图1中的S13相同,具体请参阅S13及其相关的文字描述,在此不再赘述。
请参阅图5,图5是本申请软件运行的监测方法第五实施方式的流程示意图。本实施方式的软件运行的监测方法是图1中的软件运行的监测方法的一细化实施方式的流程示意图,且其中的聚合类型具体为最小值类型,本实施方式包括如下步骤:
S51:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型。
其中,S51与图1中的S11相同,具体请参阅S11及其相关的文字描述,在此不再赘述。
S52:基于最小值类型每间隔第一设定时间获取当前指标数据中的最小值。
具体地,在获取到聚合类型为最小值类型的指标数据后,基于最小值类型每间隔第一设定时间获取当前指标数据中的最大值,也即,仅保留相应指标数据的前值和后值中的最小值。
S53:将聚合处理后的指标数据发送给后台智能终端,以进行存储。
其中,S53与图1中的S13相同,具体请参阅S13及其相关的文字描述,在此不再赘述。
请参阅图6,图6是本申请软件运行的监测方法第六实施方式的流程示意图。本实施方式的软件运行的监测方法是图1中的软件运行的监测方法的一细化实施方式的流程示意图,且其中的聚合类型具体为求和类型,而指标数据还包括计数类型,且计数类型的数量包括两个,本实施方式包括如下步骤:
S61:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型。
其中,S61与图1中的S11相同,具体请参阅S11及其相关的文字描述,在此不再赘述。
S62:根据计数类型对指标数据进行分类,以基于求和类型每间隔第一设定时间将分类得到的两类指标数据分别进行计数求和。
具体地,在获取到聚合类型为求和类型的指标数据,而该指标数据还包括计数类型,且计数类型的数量包括两个时,首先根据计数类型对该指标数据进行分类,基于求和类型每间隔第一设定时间将分类得到的两类指标数据分别进行计数求和,也即,对两个不同计数类型的指标数据分别进行计数求和,以得到两个统计值。
S63:对分别计数求和后的两类指标数据的比值进行计算。
进一步地,对分别计数求和后的两类指标数据的比值进行计算,也即将上述计数求和后得到的两个统计值中的一个确定为分子,一个确定为分母,以求取两者的比值。
由此可知,本实施方式中的指标数据的聚合类型可理解为统计比率类型,如下所示:
Ratio:统计比率类型,最常用的场景统计某商品的订单成功率,因而会涉及到统计订单的总数量及其中的下单成功的数量,以求取比值,从而得到该订单成功率。而在其他实施例中,还可以应用于其他需要求取比值的场景中,且分别对应记录了两个field(单数),一个分子,一个分母,都是SUM类型,在聚合计算时,用分子值除以分母值,即可得到比率类型。
S64:将聚合处理后的指标数据发送给后台智能终端,以进行存储。
其中,S64与图1中的S13相同,具体请参阅S13及其相关的文字描述,在此不再赘述。
请参阅图7,图7是本申请软件运行的监测方法第七实施方式的流程示意图。本实施方式的软件运行的监测方法是图1中的软件运行的监测方法的一细化实施方式的流程示意图,且其中的指标数据还包括统计对象类型,统计对象类型包括总耗时、总统计次数、最大耗时以及最小耗时,总耗时和统计次数的聚合类型为求和类型,最大耗时的聚合类型为最大值类型,最小耗时的聚合类型为最小值类型,本实施方式包括如下步骤:
S71:实时获取目标软件运行中的指标数据,其中,指标数据包括聚合类型。
其中,S71与图1中的S11相同,具体请参阅S11及其相关的文字描述,在此不再赘述。
S72:每间隔第一设定时间对指标数据的耗时和统计次数进行求和处理,以得到指标数据的总耗时和总统计次数。
具体地,在获取到目标软件运行中的指标数据时,每间隔第一设定时间对指标数据的耗时和统计次数进行求和处理,也即计算得到指标数据在第一设定时间内的总耗时和总统计次数。
其中,该总耗时可理解为指标数据在第一设定时间内总的运行耗损时间,而总统计次数对应于运行统计的总次数。
S73:获取指标数据耗时统计中的最大值和最小值。
进一步地,分别获取得到指标数据耗时统计中的最大值和最小值。
S74:计算总耗时与统计次数的比值,以获取指标数据当前的平均耗时。
又进一步地,在得到指标数据耗时统计中的最大值和最小值后,求取总耗时与统计次数的比值,以进而得到指标数据当前的平均耗时。
由此可知,本实施方式中的指标数据的聚合类型可理解为统计耗时的类型,如下所示:
Timer:统计耗时的类型,原理也是记录多个field,利用field之前的运算来达到统计的目的,记录了四个field(总耗时(SUM,timerSum),统计次数(SUM,timerCount),最大耗时(MAX,timerMax),最小耗时(MIN,timerMin),在计算时,用timerSum值除以timerCount值,即可得到平均的耗时。
S75:将聚合处理后的指标数据发送给后台智能终端,以进行存储。
其中,S75与图1中的S13相同,具体请参阅S13及其相关的文字描述,在此不再赘述。
请参阅图8,图8是本申请软件运行的监测方法一具体实施方式的流程示意图。本实施方式包括如下步骤:
S81:记录指标。
具体地,首先对运行于智能终端上的旨在进行监控的软件所产生的指标数据进行记录。
S82:构造带聚合类型的时序指标添加到本地队列。
进一步地,基于记录的指标数据构造相应的带聚合类型的时序指标,以添加到智能终端的本地队列中。
S83:异步拉取指标计算时间片信息构造哈希值。
具体地,异步拉取出带聚合类型的时序指标对应的计算时间片信息,以构造出哈希值(hashkey)。
S84:比对槽位中的指标是否命中哈希值。
进一步地,比对智能终端的槽位中的指标是否命中哈希值。
其中,如果槽位中的指标命中了哈希值,则执行S85,如果槽位中的指标未命中哈希值,则执行S86。
S85:根据聚合类型与同哈希值的指标做合并操作。
具体地,当智能终端的槽位中的指标命中了哈希值时,则根据聚合类型与同哈希值的指标做合并操作。
S86:添加到槽位中。
具体地,当智能终端的槽位中的指标未命中哈希值时,则将该指标添加到槽位中。
S87:定时刷新发送到后端服务。
具体地,将合并操作后的指标,或添加到槽位中的指标发送到后端服务,并定时刷新智能终端。
基于总的发明构思,本申请还提供了一种智能终端,请参阅图9,图9是本申请软件运行的监测系统一实施方式的结构示意图。其中,该软件运行的监测系统91包括相互通信连接的智能终端911和后台智能终端912。
其中,智能终端911用于实时获取其目标软件运行中的指标数据,指标数据包括聚合类型,以基于聚合类型每间隔第一设定时间对指标数据进行聚合处理,并将聚合处理后的指标数据发送给后台智能终端912进行存储。
可选地,该智能终端为个人计算机、手机以及平板电脑等任一合理的集成有软件系统的智能终端中的一种,本申请对此不做限定。
可选地,该第一设定时间为1S、2S或3S等任一合理的时间,优选为2S,以保证智能终端在对指标数据进行聚合时,能够有效兼顾其存储资源和计算资源的合理分配及运行。
可选地,该后台智能终端为个人计算机及服务器等任一合理的集成有软件系统的智能终端中的一种,本申请对此不做限定。
可理解的,该智能终端911存储有相应程序数据,以能够实现如上任一项所述的软件运行的监测方法,在此不再赘述。
基于总的发明构思,本申请还提供了一种智能终端,请参阅图10,图10是本申请智能终端一实施方式的结构示意图。其中,该智能终端101包括相互耦接的存储器1011和处理器1012,存储器1011存储有程序数据,处理器1012用于执行程序数据,以实现如上任一项所述的软件运行的监测方法。
基于总的发明构思,本申请还提供了一种计算机可读存储介质,请参阅图11,图11是本申请计算机可读存储介质一实施方式的结构示意图。其中,该计算机可读存储介质111存储有程序数据1111,该程序数据1111能够被执行以实现如上任一所述的软件运行的监测方法。
在一个实施方式中,计算机可读存储介质111可以是终端中的存储芯片、硬盘或者是移动硬盘或者优盘、光盘等其他可读写存储的工具,还可以是服务器等等。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,处理器或存储器的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个处理器与存储器实现的功能可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或连接可以是通过一些接口,装置或单元的间接耦合或连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
区别于现有技术,本申请中的软件运行的监测方法在实时获取目标软件运行中的指标数据后,基于指标数据的聚合类型每间隔第一设定时间对指标数据进行聚合处理,进而将聚合处理后的指标数据发送给后台智能终端进行存储,以通过将单次记录的指标数据进行聚合,以转换成汇总统计指标后发送给后台智能终端存储,能够有效降低客户端和后台智能终端在时序指标的传输、存储及计算上的消耗,且根据聚合类型的不同,能够适用于各类不同的业务场景,其应用范围也得到了极大的扩展。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (14)
1.一种软件运行的监测方法,其特征在于,所述软件运行的监测方法包括:
实时获取目标软件运行中的指标数据,其中,所述指标数据包括聚合类型;
基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理;
将聚合处理后的所述指标数据发送给后台智能终端,以进行存储。
2.根据权利要求1所述的软件运行的监测方法,所述指标数据还包括指标名称,所述指标名称的数量包括至少两个,所述基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理的步骤包括:
根据所述指标名称对所述指标数据进行分类,以基于每一类的所述指标数据的所述聚合类型每间隔所述第一设定时间分别对相应的所述指标数据进行聚合处理。
3.根据权利要求1所述的软件运行的监测方法,所述指标数据还包括计数类型,所述计数类型的数量包括至少两个,所述基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理的步骤包括:
根据所述计数类型对所述指标数据进行分类,以基于每一类的所述指标数据的所述聚合类型每间隔所述第一设定时间分别对相应的所述指标数据进行计数。
4.根据权利要求1所述的软件运行的监测方法,所述将聚合处理后的所述指标数据发送给后台智能终端,以进行存储的步骤包括:
将聚合处理后的所述指标数据发送给所述后台智能终端,以使所述后台智能终端每间隔第二设定时间对其接收到的所述指标数据进行聚合处理并存储。
5.根据权利要求1所述的软件运行的监测方法,所述将聚合处理后的所述指标数据发送给后台智能终端,以进行存储的步骤之后,还包括:
删除当前已发送的聚合处理后的所述指标数据。
6.根据权利要求1所述的软件运行的监测方法,所述聚合类型为求和类型,所述基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理的步骤包括:
基于所述求和类型每间隔所述第一设定时间对所述指标数据进行求和处理。
7.根据权利要求1所述的软件运行的监测方法,所述指标数据还包括时间戳,所述聚合类型为瞬时类型,所述基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理的步骤包括:
基于所述瞬时类型每间隔所述第一设定时间将所述时间戳靠后的所述指标数据覆盖所述时间戳靠前的所述指标数据。
8.根据权利要求1所述的软件运行的监测方法,所述聚合类型为最大值类型,所述基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理的步骤包括:
基于所述最大值类型每间隔所述第一设定时间获取当前所述指标数据中的最大值。
9.根据权利要求1所述的软件运行的监测方法,所述聚合类型为最小值类型,所述基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理的步骤包括:
基于所述最小值类型每间隔所述第一设定时间获取当前所述指标数据中的最小值。
10.根据权利要求1所述的软件运行的监测方法,所述聚合类型为求和类型,所述指标数据还包括计数类型,所述计数类型的数量包括两个,所述基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理的步骤包括:
根据所述计数类型对所述指标数据进行分类,以基于所述求和类型每间隔第一设定时间将分类得到的两类所述指标数据分别进行计数求和;
对分别计数求和后的两类所述指标数据的比值进行计算。
11.根据权利要求1所述的软件运行的监测方法,所述指标数据还包括统计对象类型,所述统计对象类型包括总耗时、总统计次数、最大耗时以及最小耗时,所述总耗时和所述统计次数的所述聚合类型为求和类型,所述最大耗时的所述聚合类型为最大值类型,所述最小耗时的所述聚合类型为最小值类型,所述基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理的步骤包括:
每间隔所述第一设定时间对所述指标数据的耗时和统计次数进行求和处理,以得到所述指标数据的总耗时和总统计次数;
获取所述指标数据耗时统计中的最大值和最小值;
计算所述总耗时与所述统计次数的比值,以获取所述指标数据当前的平均耗时。
12.一种软件运行的监测系统,其特征在于,所述软件运行的监测系统包括相互通信连接的智能终端和后台智能终端;
其中,所述智能终端用于实时获取其目标软件运行中的指标数据,所述指标数据包括聚合类型,以基于所述聚合类型每间隔第一设定时间对所述指标数据进行聚合处理,并将聚合处理后的所述指标数据发送给所述后台智能终端进行存储。
13.一种智能终端,其特征在于,所述智能终端包括相互耦接的存储器和处理器;
所述存储器存储有程序数据;
所述处理器用于执行所述程序数据,以实现如权利要求1-11中任一项所述的软件运行的监测方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序数据,所述程序数据能够被执行以实现如权利要求1-11中任一项所述的软件运行的监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008638.XA CN112799905A (zh) | 2021-01-05 | 2021-01-05 | 一种软件运行的监测方法、系统及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008638.XA CN112799905A (zh) | 2021-01-05 | 2021-01-05 | 一种软件运行的监测方法、系统及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112799905A true CN112799905A (zh) | 2021-05-14 |
Family
ID=75808270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110008638.XA Pending CN112799905A (zh) | 2021-01-05 | 2021-01-05 | 一种软件运行的监测方法、系统及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799905A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117596297A (zh) * | 2024-01-17 | 2024-02-23 | 中国海洋大学 | 一种复杂虚拟仪器软件聚合方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108427725A (zh) * | 2018-02-11 | 2018-08-21 | 华为技术有限公司 | 数据处理方法、装置和系统 |
CN110221950A (zh) * | 2019-06-18 | 2019-09-10 | 杭州朗和科技有限公司 | 监控数据的处理方法、介质、装置和计算设备 |
CN111107084A (zh) * | 2019-12-18 | 2020-05-05 | 北京达佳互联信息技术有限公司 | 一种监控方法、装置、电子设备及存储介质 |
CN111309511A (zh) * | 2020-02-26 | 2020-06-19 | 平安国际智慧城市科技股份有限公司 | 一种应用运行数据的处理方法、装置及终端 |
-
2021
- 2021-01-05 CN CN202110008638.XA patent/CN112799905A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108427725A (zh) * | 2018-02-11 | 2018-08-21 | 华为技术有限公司 | 数据处理方法、装置和系统 |
CN110221950A (zh) * | 2019-06-18 | 2019-09-10 | 杭州朗和科技有限公司 | 监控数据的处理方法、介质、装置和计算设备 |
CN111107084A (zh) * | 2019-12-18 | 2020-05-05 | 北京达佳互联信息技术有限公司 | 一种监控方法、装置、电子设备及存储介质 |
CN111309511A (zh) * | 2020-02-26 | 2020-06-19 | 平安国际智慧城市科技股份有限公司 | 一种应用运行数据的处理方法、装置及终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117596297A (zh) * | 2024-01-17 | 2024-02-23 | 中国海洋大学 | 一种复杂虚拟仪器软件聚合方法 |
CN117596297B (zh) * | 2024-01-17 | 2024-04-19 | 中国海洋大学 | 一种复杂虚拟仪器软件聚合方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143286B (zh) | 一种云平台日志管理方法及系统 | |
CN108446210A (zh) | 系统性能的度量方法、存储介质和服务器 | |
CN111339175B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN112307057A (zh) | 数据的处理方法及装置、电子设备、计算机存储介质 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
CN108845914A (zh) | 性能测试报告的生成方法、电子装置及可读存储介质 | |
CN111240876B (zh) | 微服务的故障定位方法、装置、存储介质及终端 | |
US11635985B2 (en) | Using degree of completeness of real-time data to maximize product revenue | |
CN111274256A (zh) | 基于时序数据库的资源管控方法、装置、设备及存储介质 | |
CN112054915B (zh) | 客户端异常预警的处理方法、装置、系统及计算设备 | |
CN112069049A (zh) | 数据监控管理方法、装置、服务器及可读存储介质 | |
CN114780335A (zh) | 监测数据的关联方法、装置、计算机设备和存储介质 | |
CN110266555B (zh) | 用于分析网站服务请求的方法 | |
CN112799905A (zh) | 一种软件运行的监测方法、系统及相关装置 | |
CN111431733B (zh) | 服务告警覆盖信息的评估方法及装置 | |
CN112734227A (zh) | 一种大数据决策系统及方法 | |
US11797366B1 (en) | Identifying a root cause of an error | |
CN113836187A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN115713395A (zh) | 一种基于Flink的用户风控管理方法、装置及设备 | |
EP4209933A1 (en) | Data processing method and apparatus, and electronic device and storage medium | |
CN112131276A (zh) | 一种数据统计的方法、电子设备及可读存储介质 | |
CN115220984A (zh) | 一种业务应用监控方法、装置及电子设备、存储介质 | |
Chakraborty et al. | Observability | |
CN112148491B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210514 |
|
RJ01 | Rejection of invention patent application after publication |