CN112131079A - 数据监控方法、装置、电子设备和存储介质 - Google Patents
数据监控方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112131079A CN112131079A CN202011003958.8A CN202011003958A CN112131079A CN 112131079 A CN112131079 A CN 112131079A CN 202011003958 A CN202011003958 A CN 202011003958A CN 112131079 A CN112131079 A CN 112131079A
- Authority
- CN
- China
- Prior art keywords
- test
- monitoring
- index value
- account
- version software
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 252
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012360 testing method Methods 0.000 claims abstract description 272
- 230000002159 abnormal effect Effects 0.000 claims abstract description 49
- 238000012806 monitoring device Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 122
- 230000005856 abnormality Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 102100038919 Dynein axonemal assembly factor 1 Human genes 0.000 description 4
- 101000955707 Homo sapiens Dynein axonemal assembly factor 1 Proteins 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 238000009933 burial Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 101100063532 Arabidopsis thaliana DMP9 gene Proteins 0.000 description 1
- 241000723353 Chrysanthemum Species 0.000 description 1
- 235000005633 Chrysanthemum balsamita Nutrition 0.000 description 1
- 230000007488 abnormal function Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Abstract
本公开关于数据监控方法、装置、电子设备和存储介质,所述方法包括:分别建立第一账号组和第二账号组,并向第一账号组和第二账号组中的用户账号分别发送针对稳定版本软件和测试版本软件的升级提醒消息;获取升级至稳定版本软件的第一测试账号产生的第一原始数据和升级至测试版本软件的第二测试账号产生的第二原始数据;根据第一原始数据和第二原始数据,分别确定第一监控指标值和第二监控指标值;根据第一监控指标值和第二监控指标值,确定测试版本软件是否存在状态异常。该方法能够保证运行状态检测的准确性,并获得较高的状态监控精度。
Description
技术领域
本公开涉及软件开发领域,尤其涉及数据监控方法、装置、电子设备和存储介质。
背景技术
在软件测试及维护过程中,往往需要通过软件预设的埋点获取用户使用软件的原始数据,以便通过原始数据对应的业务指标获知软件的运行状态。
在相关技术中,一种方式是通过比较灰度版本软件与线上版本软件的人均指标差异判断软件的运行状态,但是由于灰度版本软件与线上版本软件之间的用户量级差距悬殊,因此难以保证所获取人均指标数据的准确性。另一种方式是通过对已经发布的线上版本软件进行指标监控确定软件的运行状态,但该方式在软件正式发布前无法知晓并消除其可能存在的漏洞,而且通常用户行为会导致线上版本软件的运行存在明显的时间周期性,因此难以监控到海量用户数据中的微小数据波动,监控精度较低。
发明内容
本公开提供了数据监控方法、装置、电子设备和存储介质,以至少解决相关技术中对于软件运行状态监控精度较低的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提出一种数据监控方法,包括:
分别建立第一账号组和第二账号组,并向所述第一账号组和所述第二账号组中的用户账号分别发送针对稳定版本软件和测试版本软件的升级提醒消息;
获取升级至所述稳定版本软件的第一测试账号产生的第一原始数据和升级至所述测试版本软件的第二测试账号产生的第二原始数据;
根据所述第一原始数据和所述第二原始数据,分别确定第一监控指标值和第二监控指标值;
根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常。
可选的,所述分别建立第一账号组和第二账号组,包括:
根据预设的至少一个分组维度确定第一数量的用户账号以建立第一账号组,并根据所述至少一个分组维度确定第二数量的用户账号以建立第二账号组;所述第一数量和所述第二数量之间的差值不大于预设数量。
可选的,所述获取升级至所述稳定版本软件的第一测试账号产生的第一原始数据和升级至所述测试版本软件的第二测试账号产生的第二原始数据,包括:
接收所述第一测试账号提供的所述第一原始数据,所述第一原始数据被所述稳定版本软件中预置的对应于所述第一监控指标的第一埋点采集得到;
接收所述第二测试账号提供的所述第二原始数据,所述第二原始数据被所述测试版本软件中预置的对应于所述第二监控指标的第二埋点采集得到。
可选的,所述根据所述第一原始数据和所述第二原始数据,分别确定第一监控指标值和第二监控指标值,包括:
确定第一监控指标值和第二监控指标值对应的预设求取方式;
根据所述预设求取方式,分别采用所述第一监控数据和所述第二监控数据求取所述第一监控指标值和第二监控指标值,所述第一监控指标值和第二监控指标值分别用于表征所述稳定版本软件和所述测试版本软件的运行状态。
可选的,所述根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常,包括:
确定所述第一监控指标值和第二监控指标值之间的指标差值;
在所述指标差值大于预设的差值阈值的情况下,
若所述第二测试账号的数量大于预设的数量阈值,则判定所述测试版本软件存在对应于所述第二监控指标值的状态异常;否则,
若所述第二测试账号的数量不大于所述数量阈值,则根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常。
可选的,所述根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常,包括:
确定所述第一监控指标值和第二监控指标值之间的指标差值;
在所述第二测试账号的数量大于预设的数量阈值的情况下,若所述指标差值大于预设的差值阈值,则判定所述测试版本软件存在对应于所述第二监控指标值的状态异常;
在所述第二测试账号的数量不大于预设的数量阈值的情况下,若所述指标差值大于预设的差值阈值,则根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常。
可选的,还包括:
在所述指标差值不大于预设的差值阈值的情况下,判定所述测试版本软件不存在对应于所述第二监控指标值的状态异常。
可选的,所述根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常,包括:
在所述第二监控指标值处于所述预设置信区间内的情况下,判定所述测试版本软件不存在对应于所述第二监控指标值的状态异常;否则,
在所述第二监控指标值处于所述预设置信区间外的情况下,判定所述测试版本软件存在对应于所述第二监控指标值的状态异常。
可选的,所述测试版本软件对应于待发布软件,所述方法还包括:
在确定所述测试版本软件存在状态异常的情况下,获取所述测试版本软件对应的异常原因;
根据所述异常原因调整所述待发布软件中对应于所述状态异常的功能组件,以消除所述待发布软件中存在的所述状态异常。
根据本公开实施例的第二方面,提出一种数据监控装置,包括:
软件升级模块,被配置为分别建立第一账号组和第二账号组,并向所述第一账号组和所述第二账号组中的用户账号分别发送针对稳定版本软件和测试版本软件的升级提醒消息;
数据获取模块,被配置为获取升级至所述稳定版本软件的第一测试账号产生的第一原始数据和升级至所述测试版本软件的第二测试账号产生的第二原始数据;
指标确定模块,被配置为根据所述第一原始数据和所述第二原始数据,分别确定第一监控指标值和第二监控指标值;
异常确定模块,被配置为根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常。
可选的,所述软件升级模块,还被配置为:
根据预设的至少一个分组维度确定第一数量的用户账号以建立第一账号组,并根据所述至少一个分组维度确定第二数量的用户账号以建立第二账号组;所述第一数量和所述第二数量之间的差值不大于预设数量。
可选的,所述数据获取模块,还被配置为:
接收所述第一测试账号提供的所述第一原始数据,所述第一原始数据被所述稳定版本软件中预置的对应于所述第一监控指标的第一埋点采集得到;
接收所述第二测试账号提供的所述第二原始数据,所述第二原始数据被所述测试版本软件中预置的对应于所述第二监控指标的第二埋点采集得到。
可选的,所述指标确定模块,还被配置为:
确定第一监控指标值和第二监控指标值对应的预设求取方式;
根据所述预设求取方式,分别采用所述第一监控数据和所述第二监控数据求取所述第一监控指标值和第二监控指标值,所述第一监控指标值和第二监控指标值分别用于表征所述稳定版本软件和所述测试版本软件的运行状态。
可选的,所述异常确定模块,还被配置为:
确定所述第一监控指标值和第二监控指标值之间的指标差值;
在所述指标差值大于预设的差值阈值的情况下,
若所述第二测试账号的数量大于预设的数量阈值,则判定所述测试版本软件存在对应于所述第二监控指标值的状态异常;否则,
若所述第二测试账号的数量不大于所述数量阈值,则根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常。
可选的,所述异常确定模块,还被配置为:
确定所述第一监控指标值和第二监控指标值之间的指标差值;
在所述第二测试账号的数量大于预设的数量阈值的情况下,若所述指标差值大于预设的差值阈值,则判定所述测试版本软件存在对应于所述第二监控指标值的状态异常;
在所述第二测试账号的数量不大于预设的数量阈值的情况下,若所述指标差值大于预设的差值阈值,则根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常。
可选的,还包括:
非异常判定模块,被配置为在所述指标差值不大于预设的差值阈值的情况下,判定所述测试版本软件不存在对应于所述第二监控指标值的状态异常。
可选的,所述异常确定模块,还被配置为:
在所述第二监控指标值处于所述预设置信区间内的情况下,判定所述测试版本软件不存在对应于所述第二监控指标值的状态异常;否则,
在所述第二监控指标值处于所述预设置信区间外的情况下,判定所述测试版本软件存在对应于所述第二监控指标值的状态异常。
可选的,所述测试版本软件对应于待发布软件,所述装置还包括:
原因获取模块,被配置为在确定所述测试版本软件存在状态异常的情况下,获取所述测试版本软件对应的异常原因;
组件调整模块,被配置为根据所述异常原因调整所述待发布软件中对应于所述状态异常的功能组件,以消除所述待发布软件中存在的所述状态异常。
根据本公开实施例的第三方面,提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一实施例所述的数据监控方法。
根据本公开实施例的第四方面,提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面中任一实施例所述的数据监控方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例,在分别建立的两账号组中提醒用户升级稳定版本软件和测试版本软件,然后通过升级后的测试账号上传的分别对应于两版本软件的原始数据确定相应的监控指标值,最后根据两版本软件分别对应的监控指标值之间的差异确定测试版本软件是否存在状态异常。可见,该方案将两组账号作为样本,观察对比在两版本软件中对应的数据表现,能够精确判断预设指标的正确性。通过互相对比的方式排除无关干扰项,保证了埋点上报的原始数据真实准确,进而保证了监控到的指标值和软件运行状态的准确性。而且,相对于线上版本软件的海量用户,两组账号中测试账号数量都较少,从而即便是较为微小的数据波动也能被准确检测到,因此监控精度较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据本公开的实施例示出的一种数据监控方法流程图;
图2是根据本公开的实施例示出的另一种数据监控方法流程图;
图3是根据本公开的实施例示出的又一种数据监控方法流程图;
图4是根据本公开的实施例示出的一种数据监控装置的示意框图;
图5是根据本公开的实施例示出的一种电子设备的结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在软件测试及维护过程中,往往需要通过软件预设的埋点获取用户使用软件的原始数据,以便通过原始数据对应的业务指标获知软件的运行状态。
在相关技术中,一种方式是通过比较灰度版本与线上版本的人均指标判断软件运行状态,但是由于灰度版本软件与线上版本软件之间的用户量级差距悬殊,因此难以保证所获取人均指标数据的准确性。另一种方式是通过对已经发布的线上版本软件进行指标监控确定软件的运行状态,但是在软件正式发布前无法知晓并消除其可能存在的漏洞,而且由于用户行为往往导致线上版本软件的运行存在明显的时间周期性,因此可能难以监控到海量用户数据中的微小数据波动,监控精度较低。
为解相关技术中存在的上述技术问题,本公开提出一种数据监控方法,同时将两组账号作为样本,通过观察对比在两版本软件中对应的数据表现,确定测试版本软件是否存在状态异常。
图1是本说明书一示例性实施例示出的一种数据监控方法的流程图。如图1所示,该方法可以应用于服务器等数据监控设备,可以包括以下步骤:
步骤102,分别建立第一账号组和第二账号组,并向所述第一账号组和所述第二账号组中的用户账号分别发送针对稳定版本软件和测试版本软件的升级提醒消息。
在本实施例中,首先需要建立第一账号组和第二账号组,其中,第一账号组和第二账号组所包含的用户账号的数量、类型等可以尽量接近,以保证升级软件的测试账号尽量相近。其中,本公开涉及到的稳定版本软件和测试版本软件可以是对应于同一APP(Application,应用程序)的不同版本软件,下文将该APP称作原始版本软件——稳定版本软件和测试版本软件都是用于升级(或称更新)原始版本软件的软件,二者不同之处在于,稳定版本软件仅由第一账号组的用户账号进行升级,测试版本软件仅由第二账号组的用户账号进行升级。其中,稳定版本软件的软件主体可以为该APP对应的已发布且经过验证的稳定版本,其版本号可以与测试版本软件的版本号对应设置,以示区分;测试版本软件的软件主体可以为该APP对应的待测试的新版本软件。
在一实施例中,为保证第一账号组和第二账号组中所包含的用户账号尽量接近,可以根据预设的至少一个分组维度确定第一数量的用户账号以建立第一账号组,并根据上述至少一个分组维度确定第二数量的用户账号以建立第二账号组;其中第一数量和第二数量之间的差值不大于预设数量。另外,上述分组维度应当尽可能全面,例如可以包括安装软件的设备类型、软件发布平台、设备常用的网络类型、用户账号的账号属性等,不再赘述。对于上述任一分组维度,可以将该维度下的所有备选账号平均分配至第一账号组和第二账号组。
可以理解的是,在其他因素接近的前提下,上述第一数量和第二数量越接近,第一账号组和第二账号组中进行升级对应的测试账号的数量应当也越接近,进而两账号组所采集的原始数据越能够反映反映两软件之间的差异,因此应当尽量保证第一数量和第二数量接近,如可以设置第一数量等于第二数量。另外,上述第一数量和第二数量越大,则所采集的原始数据越真实、越全面,越有助于发现测试版本软件的状态异常(如测试版本软件存在BUG),但相应的,在功能异常的情况下,影响范围也越大,因此,上述第一数量和第二数量的具体取值应当根据软件实际用户数量、功能升级情况及业务需求等多种实际因素进行确定,本公开对此并不进行限制。
在建立上述第一账号组和第二账号组后,可以向第一账号组中所有用户账号发送针对稳定版本软件的升级提醒消息,以提醒第一账号组中的所有用户账号升级至稳定版本软件;同时,向第二账号组中所有用户账号发送针对测试版本软件的升级提醒消息,以提醒第二账号组中的所有用户账号升级值测试版本软件。其中,向第一账号组中用户账号发送的账号提醒消息可以携带稳定版本软件的版本信息、升级链接等信息;向第二账号组中用户账号发送的账号提醒消息可以携带测试版本软件的版本信息、升级链接等信息,上述版本信息可以包括版本号,还可以包括版本功能介绍等信息,本公开并不对此进行限制。上述升级提醒消息可以发送至少一次,但应当保证同时针对第一账号组和第二账号组中用户账号发送升级提醒消息,或者在不同时刻向第一账号组和第二账号组中用户账号发送升级提醒消息的情况下,应当保证向第一账号组和第二账号组的用户账号发送的升级提醒消息次数相同,以针对第一账号组和第二账号组的用户账号实现尽量相同的提醒效果。
用户账号接收到上述升级提醒消息后,可以响应于该升级提醒消息更新相应版本的软件,第一账号组中升级至稳定版本软件的用户账号即为第一测试账号,第二账号组中升级至测试版本软件的用户账号即为第二测试账号。因为第一账号组和第二账号组中的用户数量较为接近,所以在正常情况下,第一账号组中升级至稳定版本软件的第一测试账号的账号数量和第二账号组中升级至测试版本软件的第二测试账号的账号数量也会较为接近。从而,在实际升级完成(如升级提醒消息发送次数达到预设次数或发送时长达到预设时长)后,可以确定相应的第一测试账号和第二测试账号的账号数量:若第二测试账号的账号数量与第一测试账号的账号数量差值(如数量绝对差值或数量差值占第一测试账号的账号数量的比值)超出预设值,则可以将账号数量较多的测试账号中的部分超出部分剔除,以减小或消除测试账号数量差值带来的分析误差。相应的,可以剔除数量差值较大的用户账号所对应分组维度下的测试账号。
步骤104,获取升级至所述稳定版本软件的第一测试账号产生的第一原始数据和升级至所述测试版本软件的第二测试账号产生的第二原始数据。
在一实施例中,可以在稳定版本软件和测试版本软件中预置用于采集软件使用数据的数据埋点。其中,因为稳定版本软件和测试版本软件的功能可能存在差异,所以稳定版本软件和测试版本软件中的数据埋点可以不完全相同,本实施例仅关注二者中相同的全部或部分数据埋点及其采集的原始数据。对于稳定版本软件或测试版本软件,其中任一数据埋点可以与该软件对应的某一待监控指标一一对应,即该数据埋点采集的原始数据仅用于计算该待监控指标,相应的,该待监控指标仅使用该数据埋点采集的原始数据进行计算得到。当然,任一数据埋点也可以对应于多个待监控指标,或者多个数据埋点可以对应于同一待监控指标,本公开对于上述对应关系并不进行限制。但需要说明的是,上述“任一数据埋点”指稳定版本软件或测试版本软件中的数据埋点,而并非指某一待测试账号所登录电子设备安装的该软件中的该数据埋点——上述稳定版本软件中的任一第一埋点对应于所有第一测试账号所登录电子设备安装的该软件中的该数据埋点,上述测试版本软件中的任一第二埋点对应于所有第二测试账号所登录电子设备安装的该软件中的该数据埋点。软件运行过程之中,所有测试账号中的相应埋点可以各自按照预设规则独立采集并上报相应电子设备对应的原始数据。本实施例仅以对用于任一监控指标的任一埋点所采集原始数据的处理过程为例进行说明。
在一实施例中,可以接收第一测试账号提供的第一原始数据,该第一原始数据被稳定版本软件中预置的对应于第一监控指标的第一埋点采集得到;接收第二测试账号提供的第二原始数据,该第二原始数据被测试版本软件中预置的对应于第二监控指标的第二埋点采集得到。实际上,上述原始数据被埋点采集后,由安装埋点所在软件的电子设备发送至本实施例方案的数据监控设备,例如服务器。由软件中预置的埋点采集数据并提供,能够从源头上保证原始数据的真实性。
步骤106,根据所述第一原始数据和所述第二原始数据,分别确定第一监控指标值和第二监控指标值。
在一实施例中,在获取到上述原始数据后,可以根据原始数据求取(或称计算)对应于预设的监控指标的监控指标值,其中,第一监控指标值和第二监控指标值分别用于表征稳定版本软件和测试版本软件的运行状态。例如,可以先确定第一监控指标值和第二监控指标值的预设求取方式,再通过该预设求取方式分别采用第一监控数据和第二监控数据求取第一监控指标值和第二监控指标值。其中,上述第一监控指标值和第二监控指标值都对应于预设的监控指标(监控指标值即为监控指标的数值),该监控指标对应的上述预设求取方式可以为预设的计算公式、推理模型等,本公开并不对此进行限制。上述监控指标值的计算过程中可以仅使用上述第一原始数据(或第二原始数据),或者,为保证计算结果的准确性,也可以同时使用上述第一原始数据(或第二原始数据)和其他埋点采集的其他原始数据,此时可以在同时获取到上述第一原始数据(或第二原始数据)和其他原始数据时求取上述第一监控指标值(或第二监控指标值)。
步骤108,根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常。
在本实施例中,确定测试版本软件是否存在状态异常的过程,即为确定测试版本软件是否存在对应于第二监控指标值的状态异常的过程。可以同时根据第一监控指标值和第二监控指标值之间的差异和提供上述第二原始数据的第二测试账号的数量,确定上述测试版本软件是否存在对应于第二监控指标值的状态异常。其中,上述差异和数量的比较顺序可以不同。例如在一实施例中,可以先比较第二测试账号的差值再比较第二测试账号的数量,以便减少针对账号数量的统计工作量。即先确定第一监控指标值和第二监控指标值之间的指标差值,然后在该指标差值大于预设的差值阈值的情况下,对第二测试账号的数量进行判断:若第二测试账号的数量大于预设的数量阈值,则判定测试版本软件存在对应于第二监控指标值的状态异常;否则,若第二测试账号的数量不大于数量阈值,则可以的根据第二监控指标值对应的预设置信区间确定测试版本软件是否存在对应于第二监控指标值的状态异常。
在另一实施例中,可以先确定第一监控指标值和第二监控指标值之间的指标差值;然后在第二测试账号的数量大于预设的数量阈值的情况下,对指标差值进行判断:若上述指标差值大于预设的差值阈值,则判定测试版本软件存在对应于第二监控指标值的状态异常;在第二测试账号的数量不大于预设的数量阈值的情况下,若上述指标差值大于预设的差值阈值,则根据第二监控指标值对应的预设置信区间确定测试版本软件是否存在对应于第二监控指标值的状态异常。
可以理解的是,该实施例中第二测试账号的数量指的是:第二账号组的所有第二测试账号中,向服务器提供上述第二原始数据(及对应于上述待测监控指标)的测试账号的数量,而并非指第二账号组的所有第二测试账号,特此说明。另外,对于上述指标差值等于预设的差值阈值,或第二测试账号的数量等于预设的数量阈值的特殊情况,可以根据预设规则进行处理,例如,可以将上述指标差值等于预设的差值阈值视为上述指标差值小于预设的差值阈值进行上述处理,或者,可以将第二测试账号的数量等于预设的数量阈值视为第二测试账号的数量大于预设的数量阈值进行上述处理,不再赘述。上述差值阈值和数量阈值,应当根据具体应用场景及业务需求进行确定,本公开并不对此进行限制。
进一步的,在上述两实施例中,若上述指标差值不大于预设的差值阈值,则可以直接判定测试版本软件不存在对应于第二监控指标值的状态异常,以减少比较操作的步骤,简化异常判定操作。
在测试账号数量较少时,由于数据本身的原因可能导致数据波动比较大,因此这只单一的数值阈值进行判断难以得到准确的判断结果,此时可以从统计学角度计算波动的置信区间。在一实施例中,可以在第二监控指标值处于预设置信区间内的情况下,判定测试版本软件不存在对应于第二监控指标值的状态异常;否则,在第二监控指标值处于预设置信区间外的情况下,判定测试版本软件存在对应于第二监控指标值的状态异常。通过符合统计规律的置信区间判断数据量较少时是否存在状态异常,既能检测出数据的微小波动,又能够保证判定结果的准确性。
在一实施例中,测试版本软件可以应用于功能测试,此时,其对应于需要进行正式发布的待发布软件,该待发布软件种具有与测试版本软件相同的部分或全部功能组件。此时,在确定出测试版本软件存在状态异常的情况下,可以获取测试版本软件对应的异常原因,然后根据该异常原因调整待发布软件中对应于状态异常的功能组件,以消除待发布软件中存在的状态异常。上述调整功能组件的过程,即为根据查找到的上述异常原因对待发布软件存在相同异常的功能组件进行修复(修改BUG)的过程。因为上述测试版本软件中存在状态异常,而且待发布软件中包含对应于该状态异常的功能组件,所以若上线待发布软件,则其很可能也出现状态异常。而基于灰度发布的测试版本软件的上述状态异常对待发布软件进行相应的调整后,上述功能组件的错误能够被消除,从而避免将上述错误带入到将要正式发布的软件(待发布软件)中,进而避免待发布软件上线后可能出现的状态异常。
根据本公开的实施例,在建立的两账号组中分别提醒用户升级稳定版本软件和测试版本软件,然后通过升级后的测试账号上传的分别对应于两版本软件的原始数据确定相应的监控指标值,最后根据两版本软件分别对应的监控指标值之间的差异确定测试版本软件是否存在状态异常。可见,上述实施例将同样量级的两组账号作为样本,观察对比在两版本软件中对应的数据表现,精确判断预设指标的正确性。通过互相对比的方式排除无关干扰项,保证了埋点上报的原始数据真实准确,进而保证了监控到的指标值和软件运行状态的准确性。而且,相对于线上版本软件的海量用户,两组账号中测试账号数量都较少,从而即便是较为微小的数据波动也能被准确检测到,因此监控精度较高。
下面结合图2对本公开的上述方案进行详细说明。图2是根据本公开的实施例示出的另一种数据监控方法流程图;如图2所示,该方法可以包括:
步骤202,分别建立第一账号组和第二账号组。
第一账号组和第二账号组所包含的用户账号的数量、类型等应当尽量接近,以保证升级软件的测试账号尽量相近。其中,上述用户账号可以为原始版本软件对应的用户账号,该原始版本软件为升级至稳定版本软件或测试版本软件之前,用户对应的电子设备上安装的应用程序,该原始版本软件可以为一种或多种(区别于上述稳定版本软件和测试版本软件)版本软件。本公开对于对于上述稳定版本软件和测试版本软件实现的具体功能及用户账号的具体类型并不进行限制,例如,在原始版本软件为直播软件的情况下,上述用户账号可以为主播账号和/或观众账号;在原始版本软件为即时通讯软件的情况下,上述用户账号可以为个人和/或机构通讯账号,不再赘述。
在一实施例中,为保证第一账号组和第二账号组所包含的用户账号尽量接近,可以根据预设的至少一个分组维度确定第一数量的用户账号以建立第一账号组,并按照与上述至少一个分组维度相同的维度确定第二数量的用户账号以建立第二账号组;上述第一数量和第二数量之间的差值不大于预设数量。其中,上述分组维度应当尽可能全面,例如可以包括安装软件的设备类型,如品牌、机型、操作系统类型等;软件发布平台,如设备厂家自建发布平台、开源平台或其他第三方平台等;设备常用的网络属性,如网络类型、IP地址归属地等;甚至用户账号的账号属性,如账号注册时长、账号等级、账号登录频率、平均登陆时长等,不再赘述。对于上述任一分组维度,可以将该维度下的所有备选账号平均分配至第一账号组和第二账号组。另外,上述预设数量应当尽量小,如在第一数量和第二数量为100万的情况下,上述预设数量可以为1万、1千甚至更低,或者预设为第一数量或第二预设数量的1%、0.5%等,当然,上述预设数量也可以为零,即设置第一数量与第二数量相等。上述第一数量和第二数量的具体取值应当根据软件实际用户数量,功能升级情况及业务需求等多种实际因素进行确定,本公开对此并不进行限制。
步骤204,分别向两账号组中的用户账号发送升级提醒消息。
在建立上述第一账号组和第二账号组后,可以向第一账号组中所有用户账号发送针对稳定版本软件的升级提醒消息,以提醒第一账号组中的所有用户账号升级至稳定版本软件;同时,向第二账号组中所有用户账号发送针对测试版本软件的升级提醒消息,以提醒第二账号组中的所有用户账号升级值测试版本软件。其中,向第一账号组中用户账号发送的账号提醒消息可以携带稳定版本软件的版本信息、升级链接等信息;向第二账号组中用户账号发送的账号提醒消息可以携带测试版本软件的版本信息、升级链接等信息,上述版本信息可以包括版本号,还可以包括版本功能介绍等信息,本公开并不对此进行限制。
另外,为对稳定版本软件和测试版本软件进行有效区分,可以将二者的版本号相应设置,如可以将稳定版本软件的版本号设置为6.1.0.1,将测试版本软件的版本号设置为6.2.0.1;或者将稳定版本软件的版本号设置为Alpha 6.1,将测试版本软件的版本号设置为Beta 6.1等,不再赘述。
为针对第一账号组和第二账号组的用户账号实现尽量相同的提醒效果,上述升级提醒消息可以发送至少一次,而且应当保证同时针对第一账号组和第二账号组中用户账号发送升级提醒消息;或者在不同时刻向第一账号组和第二账号组中用户账号发送升级提醒消息的情况下,应保证向第一账号组和第二账号组的用户账号发送升级提醒消息的次数相同。
用户账号接收到上述升级提醒消息后,可以响应于该升级提醒消息更新相应版本的软件。第一账号组中升级至稳定版本软件的用户账号即为第一测试账号,第二账号组中升级至测试版本软件的用户账号即为第二测试账号。
因为第一账号组和第二账号组中的用户数量较为接近,所以在正常情况下,第一账号组中升级至稳定版本软件的第一测试账号的账号数量和第二账号组中升级至测试版本软件的第二测试账号的账号数量也会较为接近。进一步的,为减小或消除测试账号数量差值带来的分析误差,可以在升级提醒消息发送次数达到预设次数或发送时长达到预设时长后,确定相应的第一测试账号和第二测试账号的账号数量:若第二测试账号的账号数量与第一测试账号的账号数量的数量绝对差值(数量绝对差值占第一测试账号的账号数量的比值)超出预设值,则可以将账号数量较多的测试账号中的部分超出部分剔除。例如,在上述第一数量和第二数量均为100万,第一测试账号的数量为30万,而第二测试账号的数量为30.6万的情况下,若上述数量绝对差值的预设值为5千,则可以剔除多余的1千个第二测试账号;或者,在更严格的条件下,可以剔除多余的6千个第二测试账号,以保证第二测试账号和第一测试账号的数量相同(均为30万个)。
其中在剔除上述账号时,可以剔除数量差值较大的用户账号所对应分组维度下的测试账号。例如,承接于上述场景,若30.6万个第二测试账号中,安卓(Android)操作系统和iOS操作系统均为15.3万个,而账号等级为1级和2级的账号分别为20万和10.6万,则可以按照账号等级这一分组维度,从账号等级为1级的20万个测试账号中剔除6千个,以尽量减少账号等级对结果的不利影响。
步骤206,分别接收第一账号组中的第一测试账号和第二账号组中的第二测试账号提供的原始数据。
在本实施例中,稳定版本软件和测试版本软件中均预置有用于采集软件使用数据的数据埋点,这些数据埋点可以用于采集并上报页面展示数据或页面操作行为数据。软件运行过程之中,所有测试账号中的相应埋点可以各自按照预设规则独立采集并上报相应电子设备对应的原始数据。
对于稳定版本软件或测试版本软件,其中任一数据埋点可以与该软件对应的待监控指标具有多种对应关系,本公开对于上述对应关系并不进行限制。例如,任一数据埋点可以与任一待监控指标一一对应,如访问数埋点可以唯一对应于访问次数这一监控指标:仅根据访问数埋点上报的原始数据即可计算得到访问次数。又例如,任一数据埋点也可以对应于多个待监控指标,如跳转页面埋点既可以用于计算跳出率(Bounce Rate)指标,又可以用于计算页面停留时长指标。再例如,多个数据埋点也可以对应于同一待监控指标,不再赘述。
步骤208,利用原始数据计算预设监控指标对应的第一指标值和第二指标值。
在一实施例中,可以先确定对应于第一指标值和第二指标值的指标计算方式,如计算公式、推理模型等。以计算公式为例,可以将上述第一原始数据代入该计算公式计算得到第一指标值,并将上述第二原始数据代入该公式计算得到第二指标值。当然,对于用户停留时长等指标来说,埋点上报的原始数据即可直接作为指标值,而无需经过公式计算。
其中,上述第一指标值和第二指标值对应的监控指标可以为测试版本软件对应的业务核心指标,如DAU(Daily Active User,日活跃用户数量)、PCU(Peak ConcurrentUsers,最高同时在线用户数量)、平均在线时长等指标,当然,也可以为其他业务指标或非业务指标,本公开并不对此进行限制。而且,计算监控指用到的原始数据,可以为任一时刻对应的数据,也可以为任一时间段对应的数据,但是,计算任一监控指标对应的第一监控值所用的第一原始数据和计算第二监控值所用的第二原始数据应当分别对应同一时刻或同一时间段,即使用同一时刻(或同一时间段内)稳定版本软件和测试版本软件分别对应的原始数据,基于相同的计算方式计算得到同一监控指标对应得不同监控值,以保证上述监控值之间的差异能够准确表征两版本软件之间的差异。
步骤210,确定第一指标值和第二指标值之间的指标差值。
直接根据上述第一监控值和第二监控值计算二者的差值,或者计算该差值与第一监控值之间的比值(当然,也可以计算该差值与第二监控值之间的比值)。例如,可以直接计算第一日活DAU1与第二日活DAU2之间的差值D_DAU,也可以计算该差值D_DAU与第一日活DAU1之间的比值:D_DAU/DAU1*100%。当然,还可以采用其他的指标差值计算方式和表现形式,本公开并不对此进行限制。
步骤212,判断指标差值是否大于预设的差值阈值。
计算得到上述指标差值后,可以根据该指标差值与第二测试账号数量综合确定测试版本软件是否存在对应于第二监控指标值的状态异常。
在一实施例中,可以先确定针对上述监控指标预设的差值阈值,并基于该差值阈值进行判断:若计算得到的上述指标差值不大于预设的差值阈值,则可直接判断测试版本软件不存在对应于第二监控指标值的状态异常;否则,若指标差值大于预设的差值阈值,则说明有可能存在对应于第二监控指标值的状态异常,转入步骤214作进一步判断。
例如,若针对日活这一监控指标的预设差值阈值为3%,则在通过D_DAU/DAU1*100%计算出的指标差值为1.6%的情况下,可直接判断测试版本软件不存在日活方面的状态异常;反之,若计算的指标差值为3.3%,则说明有可能存在对应于第二监控指标值的状态异常,此时可以转入步骤214作进一步判断。
步骤214,判断第二测试账号数量是否大于预设的数量阈值。
此时,可以确定针对第二测试账号预设的数量阈值,并基于该数量阈值进行判断:若第二测试账号的数量大于该数量阈值,则说明在测试账号数量较多的情况下仍然发生了较大的数据波动,因此可以直接判定存在对应于第二监控指标值的状态异常;否则,若第二测试账号的数量不大于该数量阈值,则说明在测试账号数量较少的情况下发生较大的数据波动,但因为测试账号数量较少,所以难以确定该数据波动是由状态异常引起还是正常的数据波动。可以理解的是,在数据量较小的情况下,状态异常的发生通常符合正态分布,因此可以转入步骤216,通过第二监控指标值对应的置信区间进一步判断该数据波动是否由状态异常引起。
例如,在针对日活这一监控指标对应的第二测试账号数量的数量阈值为5万的情况下,若第二测试账号的数量为7.5万,则可直接判断测试版本软件存在日活方面的状态异常;反之,若第二测试账号的数量为4.2万,则转入步骤216作进一步判断。
步骤216,判断第二指标值是否处于预设的置信区间内。
此时,可以确定第二监控指标值对应的置信区间,并基于该置信区间进行判断:若第二指标值位于该置信区间内,则说明第二指标值可信,进而可以判定不存在对应于第二监控指标值的状态异常;反之,若第二指标值位于该置信区间外,则说明第二指标值不可信,此时可以判定存在对应于第二监控指标值的状态异常。
其中,可以通过下述方式确定第二指标值对应的置信区间:将对应于第二测试账号的正常的历史账号数量作为样本计算样本均值和方差S,其中,上述正常的历史账号数量即为历史版本中对应于监控指标且已经被验证的真实数据;然后确定对应于监控指标的置信水平α,该置信水平可以与该监控指标的重要性呈正相关,并确定出第二测试账号的数量n,最后根据下式(1)计算相应的置信区间:
其中,上述置信水平α可以采用诸如“3ε原则”等方式确定,如可以设置置信水平α为95%、98%、99%等,本公开并不对此进行限制。上式的具体计算过程可以参见相关技术中公开的内容,此处不再赘述。
在一实施例中,测试版本软件可以为用于前期功能测试的测试软件,此时,其对应于需要进行正式发布的待发布软件,该待发布软件中具有与测试版本软件相同的部分或全部功能组件。此时,在确定出测试版本软件存在状态异常的情况下,可以获取测试版本软件对应的异常原因;然后根据该异常原因调整待发布软件中对应于状态异常的功能组件,以消除待发布软件中可能存在的状态异常。当然,上述测试版本软件也可以为上述待发布软件,此时可以根据上述异常原因调整该待发布软件中的相应功能组件,以消除可能存在的状态异常。
实际上,在执行上述步骤212-216的过程中,也可以优先判断第二测试账号的数量是否达到预设的数量阈值,然后再判断指标差值是否大于预设阈值,下面结合图3对该过程进行详细介绍。图3是根据本公开的实施例示出的又一种数据监控方法流程图;如图3所示,该方法可以包括:
步骤302,分别建立第一账号组和第二账号组。
步骤304,分别向两账号组中的用户账号发送升级提醒消息。
步骤306,分别接收第一账号组中的第一测试账号和第二账号组中的第二测试账号提供的原始数据。
步骤308,利用原始数据计算预设监控指标对应的第一指标值和第二指标值。
步骤310,确定第一指标值和第二指标值之间的指标差值。
上述步骤302-310的具体过程与前述图2对应的步骤202-210并不存在本质区别,可参见前述内容,此处不再赘述。
步骤312,判断第二测试账号数量是否大于预设的数量阈值。
首先,确定针对第二测试账号预设的数量阈值,并进行判断:若第二测试账号的数量大于该数量阈值,则说明测试账号数量较多,可以转入步骤314A进一步判断指标差值是否大于预设的差值阈值;否则,若第二测试账号的数量小于该数量阈值,则说明测试账号数量较少,可以转入步骤314B进一步判断指标差值是否大于预设的差值阈值。
步骤314A,判断指标差值是否大于预设的差值阈值。
此时,判断指标差值是否大于预设的差值阈值:若指标差值大于预设的差值阈值,则说明在测试账号数量较多的情况下仍然发生了较大的数据波动,因此可以直接判定存在对应于第二监控指标值的状态异常;否则,若指标差值不大于预设的差值阈值,则说明并未发生较大的数据波动,因此可以直接判定不存在对应于第二监控指标值的状态异常。
步骤314B,判断指标差值是否大于预设的差值阈值。
此时,可以判断指标差值是否大于预设的差值阈值:若指标差值大于预设的差值阈值,则说明在测试账号数量较少的情况下发生了较大的数据波动,但因为测试账号数量较少,所以难以确定该数据波动是由状态异常引起还是正常的数据波动。可以理解的是,在数据量较小的情况下,状态异常的发生通常符合正态分布,因此可以转入步骤216,通过第二监控指标值对应的置信区间进一步判断该数据波动是否由状态异常引起。否则,若指标差值不大于预设的差值阈值,则说明并未发生较大的数据波动,因此可以直接判定不存在对应于第二监控指标值的状态异常。
步骤316,判断第二指标值是否处于预设的置信区间内。
上述步骤312-316的具体判断内容与前述图2对应的步骤212-216并不存在本质区别,可参见前述内容,此处不再赘述。
与前述数据监控方法的实施例相对应地,本公开还提出了数据监控装置的实施例。
图4是根据本公开的实施例示出的一种数据监控装置的示意框图。本实施例所示的数据监控装置可以适用于数据监控应用,该应用可以为软件发布或软件测试服务中的功能单元,也可以为独立的数据监控程序。该装置可以应用在服务器中,上述服务器可以为包含一独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器等,本公开并不对此进行限制。
如图4所示,所述数据监控装置可以包括:
软件升级模块401,被配置为分别建立第一账号组和第二账号组,并向所述第一账号组和所述第二账号组中的用户账号分别发送针对稳定版本软件和测试版本软件的升级提醒消息;
数据获取模块402,被配置为获取升级至所述稳定版本软件的第一测试账号产生的第一原始数据和升级至所述测试版本软件的第二测试账号产生的第二原始数据;
指标确定模块403,被配置为根据所述第一原始数据和所述第二原始数据,分别确定第一监控指标值和第二监控指标值;
异常确定模块404,被配置为根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常。
可选的,所述软件升级模块401,还被配置为:
根据预设的至少一个分组维度确定第一数量的用户账号以建立第一账号组,并根据所述至少一个分组维度确定第二数量的用户账号以建立第二账号组;所述第一数量和所述第二数量之间的差值不大于预设数量。
可选的,所述数据获取模块402,还被配置为:
接收所述第一测试账号提供的所述第一原始数据,所述第一原始数据被所述稳定版本软件中预置的对应于所述第一监控指标的第一埋点采集得到;
接收所述第二测试账号提供的所述第二原始数据,所述第二原始数据被所述测试版本软件中预置的对应于所述第二监控指标的第二埋点采集得到。
可选的,所述指标确定模块403,还被配置为:
确定第一监控指标值和第二监控指标值对应的预设求取方式;
根据所述预设求取方式,分别采用所述第一监控数据和所述第二监控数据求取所述第一监控指标值和第二监控指标值,所述第一监控指标值和第二监控指标值分别用于表征所述稳定版本软件和所述测试版本软件的运行状态。
可选的,所述异常确定模块404,还被配置为:
确定所述第一监控指标值和第二监控指标值之间的指标差值;
在所述指标差值大于预设的差值阈值的情况下,
若所述第二测试账号的数量大于预设的数量阈值,则判定所述测试版本软件存在对应于所述第二监控指标值的状态异常;否则,
若所述第二测试账号的数量不大于所述数量阈值,则根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常。
可选的,所述异常确定模块404,还被配置为:
确定所述第一监控指标值和第二监控指标值之间的指标差值;
在所述第二测试账号的数量大于预设的数量阈值的情况下,若所述指标差值大于预设的差值阈值,则判定所述测试版本软件存在对应于所述第二监控指标值的状态异常;
在所述第二测试账号的数量不大于预设的数量阈值的情况下,若所述指标差值大于预设的差值阈值,则根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常。
可选的,还包括:
非异常判定模块405,被配置为在所述指标差值不大于预设的差值阈值的情况下,判定所述测试版本软件不存在对应于所述第二监控指标值的状态异常。
可选的,所述异常确定模块404,还被配置为:
在所述第二监控指标值处于所述预设置信区间内的情况下,判定所述测试版本软件不存在对应于所述第二监控指标值的状态异常;否则,
在所述第二监控指标值处于所述预设置信区间外的情况下,判定所述测试版本软件存在对应于所述第二监控指标值的状态异常。
可选的,所述测试版本软件对应于待发布软件,所述装置还包括:
原因获取模块406,被配置为在确定所述测试版本软件存在状态异常的情况下,获取所述测试版本软件对应的异常原因;
组件调整模块407,被配置为根据所述异常原因调整所述待发布软件中对应于所述状态异常的功能组件,以消除所述待发布软件中存在的所述状态异常。
本公开的实施例还提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的数据监控方法。
本公开的实施例还提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的数据监控方法。
本公开的实施例还提出一种计算机程序产品,所述计算机程序产品被配置为执行上述任一实施例所述的数据监控方法。
图5是根据本公开的实施例示出的一种电子设备的示意框图。例如,电子设备500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件518。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述数据监控方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在电子设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件508包括在电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当电子设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件518发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到电子设备500的打开/关闭状态,组件的相对定位,例如所述组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
图像采集组件516可以用于采集被摄对象的图像数据,以形成关于被摄对象的图像,并可以对该图像进行必要的处理。该图像采集组件516可以包括相机模组,相机模组中的图像传感器(Sensor)通过镜头感应来自被摄对象的光线,将得到的感光数据提供给图像信号处理器(ISP,Image Signal Processing),由后者根据感光数据生成对应于被摄对象的图像。其中,上述图像传感器可以为CMOS传感器或CCD传感器,当然,也可以为红外传感器、深度传感器等;相机模组可以内置在电子设备500中,也可以为电子设备500的外接模组;上述ISP可以内置在相机模组中,也可以外挂在上述电子设备中(不在相机模组内)。
通信组件518被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件518经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件518还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述数据监控方法。
在本公开一实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由电子设备500的处理器520执行以完成上述数据监控方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (10)
1.一种数据监控方法,其特征在于,包括:
分别建立第一账号组和第二账号组,并向所述第一账号组和所述第二账号组中的用户账号分别发送针对稳定版本软件和测试版本软件的升级提醒消息;
获取升级至所述稳定版本软件的第一测试账号产生的第一原始数据和升级至所述测试版本软件的第二测试账号产生的第二原始数据;
根据所述第一原始数据和所述第二原始数据,分别确定第一监控指标值和第二监控指标值;
根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常。
2.根据权利要求1所述的方法,其特征在于,所述分别建立第一账号组和第二账号组,包括:
根据预设的至少一个分组维度确定第一数量的用户账号以建立第一账号组,并根据所述至少一个分组维度确定第二数量的用户账号以建立第二账号组;所述第一数量和所述第二数量之间的差值不大于预设数量。
3.根据权利要求1所述的方法,其特征在于,所述获取升级至所述稳定版本软件的第一测试账号产生的第一原始数据和升级至所述测试版本软件的第二测试账号产生的第二原始数据,包括:
接收所述第一测试账号提供的所述第一原始数据,所述第一原始数据被所述稳定版本软件中预置的对应于所述第一监控指标的第一埋点采集得到;
接收所述第二测试账号提供的所述第二原始数据,所述第二原始数据被所述测试版本软件中预置的对应于所述第二监控指标的第二埋点采集得到。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一原始数据和所述第二原始数据,分别确定第一监控指标值和第二监控指标值,包括:
确定第一监控指标值和第二监控指标值对应的预设求取方式;
根据所述预设求取方式,分别采用所述第一监控数据和所述第二监控数据求取所述第一监控指标值和第二监控指标值,所述第一监控指标值和第二监控指标值分别用于表征所述稳定版本软件和所述测试版本软件的运行状态。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常,包括:
确定所述第一监控指标值和第二监控指标值之间的指标差值;
在所述指标差值大于预设的差值阈值的情况下,
若所述第二测试账号的数量大于预设的数量阈值,则判定所述测试版本软件存在对应于所述第二监控指标值的状态异常;否则,
若所述第二测试账号的数量不大于所述数量阈值,则根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常,包括:
确定所述第一监控指标值和第二监控指标值之间的指标差值;
在所述第二测试账号的数量大于预设的数量阈值的情况下,若所述指标差值大于预设的差值阈值,则判定所述测试版本软件存在对应于所述第二监控指标值的状态异常;
在所述第二测试账号的数量不大于预设的数量阈值的情况下,若所述指标差值大于预设的差值阈值,则根据所述第二监控指标值对应的预设置信区间确定所述测试版本软件是否存在对应于所述第二监控指标值的状态异常。
7.根据权利要求5或6所述的方法,其特征在于,还包括:
在所述指标差值不大于预设的差值阈值的情况下,判定所述测试版本软件不存在对应于所述第二监控指标值的状态异常。
8.一种数据监控装置,其特征在于,包括:
软件升级模块,被配置为分别建立第一账号组和第二账号组,并向所述第一账号组和所述第二账号组中的用户账号分别发送针对稳定版本软件和测试版本软件的升级提醒消息;
数据获取模块,被配置为获取升级至所述稳定版本软件的第一测试账号产生的第一原始数据和升级至所述测试版本软件的第二测试账号产生的第二原始数据;
指标确定模块,被配置为根据所述第一原始数据和所述第二原始数据,分别确定第一监控指标值和第二监控指标值;
异常确定模块,被配置为根据所述第一监控指标值和第二监控指标值,确定所述测试版本软件是否存在状态异常。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的数据监控方法。
10.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的数据监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011003958.8A CN112131079B (zh) | 2020-09-22 | 数据监控方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011003958.8A CN112131079B (zh) | 2020-09-22 | 数据监控方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131079A true CN112131079A (zh) | 2020-12-25 |
CN112131079B CN112131079B (zh) | 2024-05-14 |
Family
ID=
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905463A (zh) * | 2021-02-07 | 2021-06-04 | 广州虎牙科技有限公司 | 软件测试监控方法、装置、电子设备及可读存储介质 |
CN113312257A (zh) * | 2021-05-24 | 2021-08-27 | 深圳市中科明望通信软件有限公司 | 版本识别方法、装置、存储介质及计算机设备 |
CN114817820A (zh) * | 2022-06-30 | 2022-07-29 | 深圳希施玛数据科技有限公司 | 网站数据升级的预警方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446222A (zh) * | 2018-03-05 | 2018-08-24 | 百度在线网络技术(北京)有限公司 | 应用测试方法、装置及设备 |
CN109344073A (zh) * | 2018-10-17 | 2019-02-15 | 平安普惠企业管理有限公司 | 应用软件测试方法、装置、计算机设备及存储介质 |
CN110033156A (zh) * | 2018-12-14 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种业务活动效果的确定方法及装置 |
CN110728323A (zh) * | 2019-10-12 | 2020-01-24 | 中诚信征信有限公司 | 目标类型用户的识别方法、装置、电子设备及存储介质 |
CN111311336A (zh) * | 2020-03-17 | 2020-06-19 | 北京嘀嘀无限科技发展有限公司 | 一种策略执行的测试跟踪方法和系统 |
CN111625720A (zh) * | 2020-05-21 | 2020-09-04 | 广州虎牙科技有限公司 | 数据决策项目执行策略的确定方法、装置、设备和介质 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446222A (zh) * | 2018-03-05 | 2018-08-24 | 百度在线网络技术(北京)有限公司 | 应用测试方法、装置及设备 |
CN109344073A (zh) * | 2018-10-17 | 2019-02-15 | 平安普惠企业管理有限公司 | 应用软件测试方法、装置、计算机设备及存储介质 |
CN110033156A (zh) * | 2018-12-14 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 一种业务活动效果的确定方法及装置 |
CN110728323A (zh) * | 2019-10-12 | 2020-01-24 | 中诚信征信有限公司 | 目标类型用户的识别方法、装置、电子设备及存储介质 |
CN111311336A (zh) * | 2020-03-17 | 2020-06-19 | 北京嘀嘀无限科技发展有限公司 | 一种策略执行的测试跟踪方法和系统 |
CN111625720A (zh) * | 2020-05-21 | 2020-09-04 | 广州虎牙科技有限公司 | 数据决策项目执行策略的确定方法、装置、设备和介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905463A (zh) * | 2021-02-07 | 2021-06-04 | 广州虎牙科技有限公司 | 软件测试监控方法、装置、电子设备及可读存储介质 |
CN112905463B (zh) * | 2021-02-07 | 2023-10-27 | 广州虎牙科技有限公司 | 软件测试监控方法、装置、电子设备及可读存储介质 |
CN113312257A (zh) * | 2021-05-24 | 2021-08-27 | 深圳市中科明望通信软件有限公司 | 版本识别方法、装置、存储介质及计算机设备 |
CN113312257B (zh) * | 2021-05-24 | 2023-09-22 | 深圳市中科明望通信软件有限公司 | 版本识别方法、装置、存储介质及计算机设备 |
CN114817820A (zh) * | 2022-06-30 | 2022-07-29 | 深圳希施玛数据科技有限公司 | 网站数据升级的预警方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528389B (zh) | 系统流畅性的性能评测方法、装置及终端 | |
CN111221733A (zh) | 信息处理方法、装置、移动终端及存储介质 | |
CN106990989B (zh) | 控制应用程序安装的方法及装置 | |
CN111274131A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN106253996B (zh) | 灵敏度衰减测试方法及装置 | |
CN111340808A (zh) | 屏幕显示监控方法及装置、电子设备、存储介质 | |
CN105446854B (zh) | 功耗检测方法、系统及终端 | |
CN109766247B (zh) | 基于系统数据监控的报警设置方法及系统 | |
CN116069612A (zh) | 一种异常定位方法、装置和电子设备 | |
CN114217803A (zh) | 页面功能问题处理方法、装置及电子设备 | |
CN113157256A (zh) | 接口代码的生成方法、装置、电子设备、存储介质及产品 | |
CN112685269A (zh) | 数据的获取方法、装置、电子设备及存储介质 | |
CN112131079B (zh) | 数据监控方法、装置、电子设备和存储介质 | |
CN112131079A (zh) | 数据监控方法、装置、电子设备和存储介质 | |
CN115408277A (zh) | 一种接口测试方法及装置 | |
CN106446827B (zh) | 虹膜识别功能检测方法和装置 | |
CN113885914A (zh) | 应用程序处理方法、装置、电子设备及存储介质 | |
CN109981406B (zh) | 测试方法、装置、系统和计算机可读存储介质 | |
CN107526683B (zh) | 应用程序功能冗余度的检测方法、装置及存储介质 | |
CN111782508A (zh) | 自动测试方法、装置、电子设备和存储介质 | |
CN111913850A (zh) | 数据异常检测方法、装置、设备和存储介质 | |
CN111599446A (zh) | 医疗显示设备的管理方法及相关设备 | |
CN111984532A (zh) | 一种基于小程序的异常处理方法及装置 | |
CN111427566B (zh) | 适于模拟接口平台的数据处理方法和装置、服务器 | |
CN113206772B (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 |