CN116910586A - 系统异常崩溃识别方法、装置、计算机设备及存储介质 - Google Patents

系统异常崩溃识别方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116910586A
CN116910586A CN202211586813.4A CN202211586813A CN116910586A CN 116910586 A CN116910586 A CN 116910586A CN 202211586813 A CN202211586813 A CN 202211586813A CN 116910586 A CN116910586 A CN 116910586A
Authority
CN
China
Prior art keywords
data
crash
crash data
system crash
abnormal
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
Application number
CN202211586813.4A
Other languages
English (en)
Inventor
李建明
钟鑫
黄海辉
赵智勇
林志云
张磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Fujian Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Fujian Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Fujian Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202211586813.4A priority Critical patent/CN116910586A/zh
Publication of CN116910586A publication Critical patent/CN116910586A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本申请涉及一种系统异常崩溃识别方法、装置、计算机设备及存储介质,涉及安全管控技术领域。该方法包括:获取系统崩溃数据集,该系统崩溃数据集中包含系统崩溃数据,该系统崩溃数据用于指示移动端应用发生的崩溃事件;通过无监督模型对系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据;该无监督模型是基于统计学判别法以及孤立森林算法构建的模型;对候选异常崩溃数据进行筛选,获取异常崩溃数据。通过上述方法,可以实现对系统异常崩溃数据的自动识别,避免了人工识别并上报所造成的时延和误差,提高了运维效率;同时叠加多层次的筛选识别,可以提高对异常崩溃数据的识别准确率,从而提高基于异常崩溃数据进行系统运维的准确性。

Description

系统异常崩溃识别方法、装置、计算机设备及存储介质
技术领域
本申请实施例涉及安全管控技术领域,特别涉及一种系统异常崩溃识别方法、装置、计算机设备及存储介质。
背景技术
随着移动互联网技术的推广与应用,移动终端取得了良好的发展,用户的数量迅速增加,移动互联网技术的出现极大改变了人们的工作和生活方式。但多技术、多应用的融合以及多样化的需求,对移动终端的功能、应用提出了更高要求,尤其是在当下可应用于云端服务的各类功能产品竞争愈演愈烈的情况下,对移动端应用监控运维的新进程提出了更高的要求。
传统应用监控运维通常是被动地通过用户投诉等方式,来获取系统运行及业务办理情况,系统故障只能做好“亡羊补牢”,非实时监控的方式给系统运营管理带来很大的压力。
发明内容
本申请实施例提供了一种系统异常崩溃识别方法、装置、计算机设备及存储介质,可以提高对异常崩溃数据的识别准确率,从而提高基于异常崩溃数据进行的系统运维的准确性。该技术方案如下:
一方面,提供了一种系统异常崩溃识别方法,所述方法包括:
获取系统崩溃数据集,所述系统崩溃数据集中包含系统崩溃数据,所述系统崩溃数据用于指示移动端应用发生的崩溃事件;
通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据;所述无监督模型是基于统计学判别法以及孤立森林算法构建的模型;
对所述候选异常崩溃数据进行筛选,获取异常崩溃数据。
另一方面,提供了一种系统异常崩溃识别装置,所述装置包括:
数据获取模块,用于获取系统崩溃数据集,所述系统崩溃数据集中包含系统崩溃数据,所述系统崩溃数据用于指示移动端发生的崩溃事件;
识别模块,用于通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据;所述无监督模型是基于统计学判别法以及孤立森林算法构建的模型;
数据筛选模块,用于对所述候选异常崩溃数据进行筛选,获取异常崩溃数据。
在一种可能的实现方式中,所述装置还包括:
聚类模块,用于在通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据之前,对所述系统崩溃数据集中的系统崩溃数据进行聚类处理,获得聚类结果;所述聚类结果包含多个数据分组,每个所述数据分组对应一个崩溃类型;
所述识别模块,用于通过所述无监督模型,基于各个所述系统崩溃数据所处所述数据分组的崩溃类型,对各个所述系统崩溃数据进行识别,获得所述候选异常崩溃数据。
在一种可能的实现方式中,所述识别模块,包括:
标准获取子模块,用于基于每个数据分组中的所述系统崩溃数据,获取各个崩溃类型对应的正态分布基准线;
数据判断子模块,用于通过统计学判别法中的3-Sigma算法对各个所述系统崩溃数据进行判断,将不符合目标正态分布基准线的所述系统崩溃数据,确定为第一候选异常崩溃数据;所述目标正态分布基准线是所述系统崩溃数据所处的所述数据分组的崩溃类型的正态分布基准线;
数据过滤子模块,用于通过孤立森林算法对所述系统崩溃数据集中的所述系统崩溃数据进行过滤,将过滤出的独立森林节点对应的所述系统崩溃数据确定为第二候选异常崩溃数据;
数据确定子模块,用于将所述第一候选异常崩溃数据与所述第二候选异常崩溃数据的集合,确定为所述候选异常崩溃数据。
在一种可能的实现方式中,所述数据过滤子模块,用于提取各个所述系统崩溃数据中n个维度的数据内容;n为正整数;
对n个维度的所述数据内容进行向量化处理,获得各个所述系统崩溃数据的多维数组;
轮询n个维度,基于各个所述多维数组建立孤立树,获得n个维度各自对应的所述孤立树;
获取各个多维数组在n个维度的所述孤立树中的高度的平均高度;
将所述平均高度高于高度阈值的所述多维数组对应的所述系统崩溃数据确定为所述第二候选异常崩溃数据。
在一种可能的实现方式中,所述n个维度包括:所述崩溃名称,崩溃时间,所述崩溃类型,错误码,状态码,终端型号以及操作系统版本。
在一种可能的实现方式中,所述系统崩溃数据来源于不同的平台或操作系统;
所述数据获取模块,用于对采集到的初始系统崩溃数据进行预处理,获得所述系统崩溃数据;所述系统崩溃数据的数据标准一致;
所述预处理包括:对所述错误码进行二值化处理,对所述状态码进行二值化处理,以及对崩溃内容进行解析获得所述崩溃名称中的至少一种。
在一种可能的实现方式中,所述崩溃类型包括:启动错误,视图错误,点击错误,请求错误,数据错误,SDK错误,内核错误,本地错误,以及应用无响应。
另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现上述的系统异常崩溃识别方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述的系统异常崩溃识别方法。
另一方面,提供了一种计算机程序产品,所述计算机程序产品包括至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述各种可选实现方式中提供的系统异常崩溃识别方法。
本申请提供的技术方案可以包括以下有益效果:
本申请实施例提供的系统异常崩溃识别方法,在获取到系统崩溃数据集后,通过基于统计学判别法以及鼓励森林算法构建的无监督模型对系统崩溃数据进行识别,以识别出其中的候选异常崩溃数据,再对获得的候选异常崩溃数据进行进一步筛选,从而获取到其中的异常崩溃数据。通过上述方法,可以实现对系统异常崩溃数据的自动识别,避免了人工识别并上报所造成的时延和误差,提高了运维效率;同时,通过无监督模型进行自动识别,同时叠加多层次的筛选识别,可以提高对异常崩溃数据的识别准确率,从而提高基于异常崩溃数据进行的系统运维的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示出了本申请一示例性实施例提供的系统异常崩溃识别方法对应的系统异常崩溃识别系统的示意图;
图2示出了本申请一示例性实施例提供的系统异常崩溃识别方法的流程图;
图3示出了本申请一示例性实施例提供的系统异常崩溃识别方法的流程图;
图4示出了本申请一示例性实施例实处的采集组件的结构示意图;
图5是本申请一示例性实施例提供的数据采集过程中进行用户行为数据关联的流程图;
图6是本申请一示例性实施例提供的数据采集过程中进行移动端行为请求与后端服务调用链关联的流程图;
图7示出了本申请一示例性实施例提供的系统异常崩溃识别装置的方框图;
图8是根据一示例性实施例示出的计算机设备的结构框图;
图9是根据一示例性实施例示出的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1示出了本申请一示例性实施例提供的系统异常崩溃识别方法对应的系统异常崩溃识别系统的示意图,如图1所示,该系统异常崩溃识别系统可以包括采集组件110,数据处理组件120,数据存储组件130以及可视化展示管控组件140,上述各个组件可以实现为彼此独立的计算机设备,或者,也可以集成在同一计算机设备中,本申请对此不进行限制。
其中,该采集组件110具有对移动端应用进行数据采集的能力;在本申请实施例中,该采集组件110可以通过非侵入的方式采集移动端的数据,并能在采集移动端的数据的过程中,同步为采集数据打上用户行为的链路标签。
该数据处理组件120具有对采集到的数据进行处理的能力。通过外部网关分发到内部网关,经过数据分发器Flume进行解压分发,存储至kafka数据库,通过Flink处理器获取前置存储数据,并进行数据清洗、聚合。同时对打上用户行为的链路标签的数据进行行为轨迹还原。
该数据存储组件130具有提供数据存储的能力,能够实时将数据处理组件120清晰后的数据保存至ES(Elastic Search,搜索服务器)中,以实现实时数据查询能力。
该可视化展示管理组件140具有向运维人员提供移动端行为轨迹、移动端事件列表、移动端崩溃分析、移动端体验监控、前端用户响应体验监控等场景的功能。同时,该可视化展示管理控件140还可以向运维人员提供黑白名单配置功能,以使得运维人员可以通过该功能实现对监测对象进行自定义管理设置,以确定数据收集对象。
可选的,系统通过白名单的方式管控用户探针的开关配置,从而实现对数据收集对象的设置;此时,用户登录有安装SDK探针的应用后,SDK探针获取用户标识,并通过http请求将数据发送到远程配置程序,远程配置程序默认探针开关为关闭状态,并保存到mysql。系统运维人员通过后台管理端修改mysql中的白名单配置,来管控用户白名单探针开关,比如,将探针开关状态修改为开启状态或关闭状态。同时系统提供批量启用、禁用、全量关闭功能,方便运维人员远程快速对安装SDK探针的应用以及用户进行关停操作,提升探针安全管控能力。
可选的,系统还可以通过黑名单的方式实现探针过滤功能。以对业务场景进行过滤;此时,系统运维人员通过后台管理端配置相关业务场景URL来管控业务采集粒度大小。同时系统提供批量启用、禁用功能,方便运维人员远程快速对安装SDK探针的应用进行业务采集关停操作,以及第三方组件页面若不兼容,可以通过该功能配置过滤页面,去除该页面相关探针,实现灵活控制应用的采集页面。
通过黑白名单的配置,可以提高探针开关配置以及探针进行数据采集范围的配置的灵活性和准确性,从而使得数据采集对象和数据采集范围可以基于实际需求进行设置。
移动端崩溃分析是指通过特征工程对崩溃特征进行处理分析的过程,在本申请实施例中提供了一种系统异常崩溃识别的方法,可以实现对系统异常崩溃的自动实时识别,提高系统运维效率,同时能够提高系统异常崩溃识别的准确率,从而提高基于异常崩溃数据进行的系统运维的准确性。
图2示出了本申请一示例性实施例提供的系统异常崩溃识别方法的流程图,该方法可以由计算机设备执行,该计算机设备可以包含如图1所示的系统异常崩溃识别系统中的可视化展示管理组件;该计算机设备可以实现为服务器或者终端;如图2所示,该系统异常崩溃识别方法可以包括以下步骤:
步骤210,获取系统崩溃数据集,该系统崩溃数据集中包含系统崩溃数据,该系统崩溃数据用于指示移动端应用发生的崩溃事件。
该系统崩溃数据集中的系统崩溃数据可以是从移动端实时采集的移动端数据中,用于指示移动端应用发生崩溃事件的数据;该系统崩溃数据集中的系统崩溃数据可以来源于同一移动端的不同移动端应用。
可选的,该系统崩溃数据可以指示崩溃事件的崩溃发生时间、崩溃发生所在页面、崩溃堆栈、崩溃代码行,崩溃内存地址,终端型号、影响用户、操作系统类型等等。
步骤220,通过无监督模型对系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据;该无监督模型是基于统计学判别法以及孤立森林算法构建的模型。
也就是说,在获取到系统崩溃数据集后,计算机设备可以使用统计学判别法以及孤立森林算法对系统崩溃数据进行异常检测,以确定系统崩溃数据为常规崩溃还是异常崩溃;其中,统计学判别法是指基于数学算法过滤掉符合或者近符合正态分布基准线的正样本(即属于常规崩溃的系统崩溃数据),输出不符合正态分布基准线的负样本(即属于异常崩溃的系统崩溃数据);孤立森林算法是指基于系统异常崩溃数据集中的系统异常崩溃数据构建孤立森林,将孤立森林中的独立森林节点作为异常崩溃节点输出,即将独立森林节点对应的系统崩溃数据确定为是异常崩溃数据。
可选的,基于崩溃程度的不同,还可以将异常崩溃划分为严重崩溃、重要崩溃以及轻微崩溃等多个崩溃等级,本申请对此不进行限制。
步骤230,对候选异常崩溃数据进行筛选,获取异常崩溃数据。
在一种可能的实现方式中,计算机设备可以直接将候选异常崩溃数据确定为异常崩溃数据。
或者,在另一种可能的实现方式中,为了提高异常崩溃数据的获取准确性,还可以进一步对候选异常崩溃数据进行筛选,以获取异常崩溃数据。
在一种可能的实现方式中,计算机设备可以通过有监督模型对候选异常崩溃数据进行进一步筛选,以获得异常崩溃数据。
综上所述,本申请实施例提供的系统异常崩溃识别方法,在获取到系统崩溃数据集后,通过基于统计学判别法以及鼓励森林算法构建的无监督模型对系统崩溃数据进行识别,以识别出其中的候选异常崩溃数据,再对获得的候选异常崩溃数据进行进一步筛选,从而获取到其中的异常崩溃数据。通过上述方法,可以实现对系统异常崩溃数据的自动识别,避免了人工识别并上报所造成的时延和误差,提高了运维效率;同时,通过无监督模型进行自动识别,同时叠加多层次的筛选识别,可以提高对异常崩溃数据的识别准确率,从而提高基于异常崩溃数据进行的系统运维的准确性。
图3示出了本申请一示例性实施例提供的系统异常崩溃识别方法的流程图,该方法可以由计算机设备执行,该计算机设备可以包含如图1所示的系统异常崩溃识别系统中的可视化展示管理组件;该计算机设备可以实现为服务器或者终端;如图3所示,该系统异常崩溃识别方法可以包括以下步骤:
步骤310,获取系统崩溃数据集,该系统崩溃数据集中包含系统崩溃数据,该系统崩溃数据用于指示移动端应用发生的崩溃事件。
在本申请实施例中,该系统崩溃数据可以是通过SDK探针监听移动端应用中的XCrash(崩溃)事件获得的数据。该SDK探针可以通过非侵入式方式采集移动端应用的数据。
在一种可能的实现方式中,系统崩溃数据集中的系统崩溃数据来源于不同的平台或操作系统;由于不同平台,不同操作系统中的崩溃特征不一致,因此,在后续进行特征处理时,会存在数据标准不一致的问题,因此,在获取到初始对系统崩溃数据之后,需要对初始系统崩溃数据进行预处理,已获得数据标准一致的系统崩溃数据;该方法还包括:
对采集到的初始系统崩溃数据进行预处理,获得系统崩溃数据;该系统崩溃数据的数据标准一致;
该预处理包括:对错误码进行二值化处理,对状态码进行二值化处理,以及对崩溃内容进行解析获得崩溃名称中的至少一种。
其中,对错误码进行二值化处理的方式是基于业务系统对错误码的定义进行处理的:在错误码不等于0时,设置为1,在错误码等于0时,设置为0。
对状态码进行二值化处理的方式基于HTTP状态码标准定义进行处理的,在状态码<400时,设置为0,在状态码>=400时,设置为1。
步骤320,对系统崩溃数据集中的系统崩溃数据进行聚类处理,获得聚类结果;该聚类结果包含多个数据分组,每个数据分组对应一个崩溃类型。
可选的,崩溃类型可以包括:启动错误(Boot Error),视图错误(View Error),点击错误(Click Error),请求错误(Request Error),数据错误(Data Error),SDK错误(SDKError)内核错误(Kernel Error),本地错误(Native Error),以及应用无响应(Application Not Responding,ANR)。
在本申请实施例中,计算机设备可以基于K-Means算法对系统崩溃数据进行聚类,以获得聚类结果。
步骤330,通过无监督模型,基于各个系统崩溃数据所处数据分组的崩溃类型,对各个系统崩溃数据进行识别,获得候选异常崩溃数据。
可选的,该过程可以实现为:
S3301,基于每个数据分组中的系统崩溃数据,获取各个崩溃类型对应的正态分布基准线。
在本申请实施例中,计算机设备可以基于各个数据分组中包含的系统数据的分布情况,获取各个数据分组各自对应的崩溃类型的正态分布基准线。
在一种可能的实现方式中,为了提高获得的崩溃类型的正态分布基准线的准确性,计算机设备可以在对系统崩溃数据进行聚类处理时,进行多维度视角聚类,比如,计算机设备可以从系统级、应用级、组件级以及代码级等多个维度视角分别对系统崩溃数据进行聚类,以获得系统崩溃数据在多个维度视角下的聚类结果;从而基于多个维度视角下的聚类结果,综合确定不同崩溃类型对应的正态分布基准线。示意性的,对于一个崩溃类型而言,其对应的正态分布基准线可以是多个维度视角下的正态分布基准线的均值。
S3302,通过统计学判别法中的3-Sigma算法对各个系统崩溃数据进行判断,将不符合目标正态分布基准线的系统崩溃数据,确定为第一候选异常崩溃数据;该目标正态分布基准线是系统崩溃数据所处的数据分组的崩溃类型的正态分布基准线。
以一个系统崩溃数据的判断过程为例,在通过3-Sigma算法对系统崩溃数据进行判断时,需要以该系统崩溃数据对应的崩溃类型的正态分布基准线为标准进行判断,若该系统崩溃数据符合或近符合其对应的崩溃类型的正态分布基准线,则确定该系统崩溃数据为发生常规崩溃事件时产生的数据;若该系统崩溃数据不符合其对应的崩溃类型的正态分布基准线,则确定该系统崩溃数据为发生异常崩溃事件时产生的数据,将其输出为第一候选异常崩溃数据。
遍历系统崩溃数据集中的各个系统崩溃数据,对各个系统崩溃数据依次进行判断,以输出系统崩溃数据集中的各个第一候选异常崩溃数据。
S3303,通过孤立森林算法对系统崩溃数据集中的系统崩溃数据进行过滤,将过滤出的独立森林节点对应的系统崩溃数据确定为第二候选异常崩溃数据。
在一种可能的实现方式中,通过孤立森林算法对系统崩溃数据集中的系统崩溃数据进行过滤,获取第二候选异常崩溃数据的过程可以实现为:
提取各个系统崩溃数据中n个维度的数据内容;n为正整数;
对n个维度的数据内容进行向量化处理,获得各个系统崩溃数据的多维数组;
轮询n个维度,基于各个多维数组建立孤立树,获得n个维度各自对应的孤立树;
获取各个多维数组在n个维度的孤立树中的高度的平均高度;
将平均高度高于高度阈值的多维数组对应的系统崩溃数据确定为第二候选异常崩溃数据。
其中,可选的,n个维度包括:崩溃名称,崩溃时间,崩溃类型,错误码,状态码,终端型号以及操作系统版本。
以n个维度中的任意一个维度(以下称为目标维度)为例,基于各个多维数组建立孤立树的过程可以实现为:
获取各个多维数组在该目标维度下的最大值和最小值;
从最大值和最小值之间随机选取一个界限值;
基于小于界限值或者大于等于界限值的判断条件,将各个多维数组分为两组;
在划分获得的两组数组中分别进行界限值的确定和界限值判断的过程;
重复上述过程,直至获得的数组不可再分,确定目标维度对应的孤立树建立完成。
其他维度下的孤立树的建立过程与目标维度的孤立树的建立过程相同,此处不再赘述;轮询n个维度,获得n个维度各自对应的孤立树,从而形成孤立森林。
在每棵孤立树中,路径长度越短表示越先被孤立出来,越有可能是异常值,也就是说多维数组对应的节点在孤立树中的高度越高,也有可能是异常值,因此,在获取到n个维度各自对应的孤立树后,统计各个多维数组在n个维度的孤立树中的高度,以获得各个多维数组在n个维度的孤立树中的高度的平均值。
在获取到各个多维数组在n个维度的孤立树中的高度的平均高度后,可以对该平均高度进行归一化处理,生成各个多维数组的异常值分数;异常值分数越接近1,该多维数组对应的节点越可能是异常点;异常值分数越接近0,该多维数组对应的节点越可能是正常点;若大部分多维数组的异常值分数都接近于0.5,则表示整个系统崩溃数据集中系统崩溃数据没有明显的异常值。
可选的,计算机设备可以将平均高度高于高度阈值的多维数组对应的系统崩溃数据确定为第二候选异常崩溃数据;对应的,将异常值分数大于分数阈值的多维数组对应的系统崩溃数据确定为第二候选异常崩溃数据;其中,该高度阈值或分数阈值可以基于实际需求进行设置,示意性的,可以将高度阈值设置为孤立森林的整体高度的平均值,将分数阈值设置为0.5,本申请对此不进行限制。
S3304,将第一候选异常崩溃数据与第二候选异常崩溃数据的集合,确定为候选异常崩溃数据。
可选的,为了保证获取的候选异常崩溃数据的完整性,可以将第一候选异常崩溃数据与第二候选异常崩溃数据的并集,确定为候选异常崩溃数据。
或者,为了保证提高获取的候选异常崩溃数据的准确性,可以将第一候选异常崩溃数据与第二候选异常崩溃数据的交集,确定为候选异常崩溃数据。
步骤340,对候选异常崩溃数据进行筛选,获取异常崩溃数据。
在本申请实施例中,计算机设备可以通过有监督模型对候选异常崩溃数据进行筛选,以通过进一步判定获得异常崩溃数据。
可选的,该有监督模型可以是基于XGBoost(Extreme Gradient Boosting)算法构建的模型。
在本申请实施例中,有监督模型以无监督算法结果(即候选异常崩溃数据)作为模型输入,内部以决策树的方式对数据进行正则化处理,以获得各个候选异常崩溃数据的判断结果;可选的,该有监督模型可以输出样本在决策树中的预测值;示意性的,当预测值>=0.8时,确认该候选异常崩溃数据为异常崩溃数据。
该有监督模型可以是基于样本数据集训练获得的,该样本数据集中可以包含具有常规崩溃标签的样本数据,以及,具有异常崩溃标签的样本数据;通过将样本数据集中的样本数据输入到有监督模型中进行崩溃类型判断,获得有监督模型输出的样本数据的崩溃类型判断结果,并基于崩溃类型判断结果与崩溃标签之间的差异对有监督模型进行训练,直至损失函数的损失值收敛,或者,有监督模型的判断准确性达到准确性阈值。
综上所述,本申请实施例提供的系统异常崩溃识别方法,在获取到系统崩溃数据集后,通过基于统计学判别法以及鼓励森林算法构建的无监督模型对系统崩溃数据进行识别,以识别出其中的候选异常崩溃数据,再对获得的候选异常崩溃数据进行进一步筛选,从而获取到其中的异常崩溃数据。通过上述方法,可以实现对系统异常崩溃数据的自动识别,避免了人工识别并上报所造成的时延和误差,提高了运维效率;同时,通过无监督模型进行自动识别,同时叠加多层次的筛选识别,可以提高对异常崩溃数据的识别准确率,从而提高基于异常崩溃数据进行的系统运维的准确性。
进一步的,在对获得的候选异常崩溃数据进行进一步筛选时,通过有监督模型进行判断,可以进一步提高对异常崩溃数据的识别准确率。
在本申请实施例中,在系统异常崩溃识别的过程中,涉及对系统崩溃数据的采集;对数据的采集过程可以由如图1所示的系统异常崩溃识别系统中的采集组件执行,在本申请中,该采集组件中可以包含分别对应于不同的采集平台的子功能组件,图4示出了本申请一示例性实施例实处的采集组件的结构示意图,如图4所示,该采集组件中可以包含对应于Android系统的第一子功能组件410,以及对应于IOS系统的第二子功能组件420;
其中,该第一子功能组件410在采集Android系统中的数据时,主要利用ASM字节码增强技术,实现H5页面JS动态插码对移动端数据的采集。该第二子功能组件420在采集IOS系统中的数据时,主要基于Method Swizzling(方法交换)利用AOP(Aspect OrientedProgramming,面向切面编程)特性,实现非侵入式动态插码。
Android与IOS系统探针数据采集都无需提供源代码即可对应用嵌入所需代码,SDK探针注入到APP后,在将APP安装到移动端后即可使用。采集的数据范围包括APP环境信息、APP启停信息、APP页面浏览情况信息、APP崩溃信息、用户行为操作信息、错误代码、错误信息字段、请求头、响应体、请求参数等。
在本申请实施例中,该采集组件在通过探针采集移动端的数据的过程中,还能同步为采集数据打上用户行为的链路标签。图5是本申请一示例性实施例提供的数据采集过程中进行用户行为数据关联的流程图,如图5所示,该数据采集过程中进行用户行为数据关联的过程可以实现为:
步骤501,探针采集用户在移动端应用中的点击事件的数据时,将点击事件对应的clickId存入clickId变量中。
click代表前端用户的点击操作数据,clickId代表点击事件的唯一标识,用户的每次点击操作都会有一条记录,详细记录点击元素对象,位置,时间等信息。
步骤502,判断当前页面与点击操作的执行页面是否是同一页面;若是,则执行步骤503,否则,执行步骤504。
其中,若clickId对应点击事件储存的pageId与当前页面的pageId一致,则判定为两者是同一页面。
当前页面是基于点击操作进行页面更新后的页面。
步骤503,获取当前页面的clickId。
步骤504,获取前一个页面clickId。
步骤505,在获取前一页面的clickId的情况下,探针采集新页面的加载页面信息。
其中,新页面在加载页面信息时,生成pageId,如是后端请求返回页面则同步与后端调用链traceId关联;响应页面资源时,在页面资源中增加pageId字段,用于两者关联。其中pageId代表一个页面的唯一标识,存在于一个页面实例的完整生命周期内;resourceId代表本次资源操作的唯一标识,一个页面实例包含多个resource记录。
步骤506,在采集的页面信息中增加获取到的clickId字段,用于页面和点击事件的关联;在采集的点击事件中增加pageId字段,用于点击事件和页面的关联;在采集页面资源信息时,增加pageId字段,用于页面资源与页面的关联。
从而将clickId字段、pageId字段以及resourceId字段相关联,从而实现对用户行为链路的标记,以便于在存在系统异常数据时,可以基于系统异常数据中的行为链路标记进行行为轨迹还原和追踪,便于系统维护的进行。
该采集组件在通过探针采集移动端的数据的过程中,还可以建立移动端行为请求与后端服务调用链之间的关联关系,图6是本申请一示例性实施例提供的数据采集过程中进行移动端行为请求与后端服务调用链关联的流程图,如图6所示,该过程可以实现为:
步骤601,移动端用户行为操作在发起后端请求的情况下,探针检测到当前服务被调用时,生成traceid。
步骤602,若后端请求返回页面,则探针将返回页面的pageId与后端调用链traceid关联,形成前后端串联的完整的分布式调用链数据。
在建立上述关联的基础上,在用户行为轨迹页面,点击调用链按钮,则可进行后端关联的服务调用链查询。
通过在数据采集过程中进行用户行为数据关联,以及对移动端行为请求与后端服务调用链关联,可以在确定存在系统异常崩溃数据时,基于上述关联关系,回溯该系统异常崩溃数据对应的数据轨迹,从而便于系统维护和问题排查,提高系统运维的效率和效果。
图7示出了本申请一示例性实施例提供的系统异常崩溃识别装置的方框图,该系统异常崩溃识别装置可以实现如图2或图3所示实施例的全部或部分步骤,如图7所示,该系统异常崩溃识别装置包括:
数据获取模块710,用于获取系统崩溃数据集,所述系统崩溃数据集中包含系统崩溃数据,所述系统崩溃数据用于指示移动端发生的崩溃事件;
识别模块720,用于通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据;所述无监督模型是基于统计学判别法以及孤立森林算法构建的模型;
数据筛选模块730,用于对所述候选异常崩溃数据进行筛选,获取异常崩溃数据。
在一种可能的实现方式中,所述装置还包括:
聚类模块,用于在通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据之前,对所述系统崩溃数据集中的系统崩溃数据进行聚类处理,获得聚类结果;所述聚类结果包含多个数据分组,每个所述数据分组对应一个崩溃类型;
所述识别模块720,用于通过所述无监督模型,基于各个所述系统崩溃数据所处所述数据分组的崩溃类型,对各个所述系统崩溃数据进行识别,获得所述候选异常崩溃数据。
在一种可能的实现方式中,所述识别模块720,包括:
标准获取子模块,用于基于每个数据分组中的所述系统崩溃数据,获取各个崩溃类型对应的正态分布基准线;
数据判断子模块,用于通过统计学判别法中的3-Sigma算法对各个所述系统崩溃数据进行判断,将不符合目标正态分布基准线的所述系统崩溃数据,确定为第一候选异常崩溃数据;所述目标正态分布基准线是所述系统崩溃数据所处的所述数据分组的崩溃类型的正态分布基准线;
数据过滤子模块,用于通过孤立森林算法对所述系统崩溃数据集中的所述系统崩溃数据进行过滤,将过滤出的独立森林节点对应的所述系统崩溃数据确定为第二候选异常崩溃数据;
数据确定子模块,用于将所述第一候选异常崩溃数据与所述第二候选异常崩溃数据的集合,确定为所述候选异常崩溃数据。
在一种可能的实现方式中,所述数据过滤子模块,用于提取各个所述系统崩溃数据中n个维度的数据内容;n为正整数;
对n个维度的所述数据内容进行向量化处理,获得各个所述系统崩溃数据的多维数组;
轮询n个维度,基于各个所述多维数组建立孤立树,获得n个维度各自对应的所述孤立树;
获取各个多维数组在n个维度的所述孤立树中的高度的平均高度;
将所述平均高度高于高度阈值的所述多维数组对应的所述系统崩溃数据确定为所述第二候选异常崩溃数据。
在一种可能的实现方式中,所述n个维度包括:所述崩溃名称,崩溃时间,所述崩溃类型,错误码,状态码,终端型号以及操作系统版本。
在一种可能的实现方式中,所述系统崩溃数据来源于不同的平台或操作系统;
所述数据获取模块710,用于对采集到的初始系统崩溃数据进行预处理,获得所述系统崩溃数据;所述系统崩溃数据的数据标准一致;
所述预处理包括:对所述错误码进行二值化处理,对所述状态码进行二值化处理,以及对崩溃内容进行解析获得所述崩溃名称中的至少一种。
在一种可能的实现方式中,所述崩溃类型包括:启动错误,视图错误,点击错误,请求错误,数据错误,SDK错误,内核错误,本地错误,以及应用无响应。
综上所述,本申请实施例提供的系统异常崩溃识别装置,在获取到系统崩溃数据集后,通过基于统计学判别法以及鼓励森林算法构建的无监督模型对系统崩溃数据进行识别,以识别出其中的候选异常崩溃数据,再对获得的候选异常崩溃数据进行进一步筛选,从而获取到其中的异常崩溃数据。通过上述方法,可以实现对系统异常崩溃数据的自动识别,避免了人工识别并上报所造成的时延和误差,提高了运维效率;同时,通过无监督模型进行自动识别,同时叠加多层次的筛选识别,可以提高对异常崩溃数据的识别准确率,从而提高基于异常崩溃数据进行的系统运维的准确性。
图8示出了本申请一示例性实施例示出的计算机设备800的结构框图。该计算机设备可以实现为本申请上述方案中的服务器。所述计算机设备800包括中央处理单元(Central Processing Unit,CPU)801、包括随机存取存储器(Random Access Memory,RAM)802和只读存储器(Read-Only Memory,ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述计算机设备800还包括用于存储操作系统809、应用程序810和其他程序模块811的大容量存储设备806。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read Only Memory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM)闪存或其他固态存储器技术,CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备806可以统称为存储器。
根据本申请的各种实施例,所述计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备800可以通过连接在所述系统总线805上的网络接口单元807连接到网络808,或者说,也可以使用网络接口单元807来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集存储于存储器中,中央处理器801通过执行该至少一条指令、至少一段程序、代码集或指令集来实现上述各个实施例所示的系统异常崩溃识别方法中的全部或部分步骤。
图9示出了本申请一个示例性实施例示出的计算机设备900的结构框图。该计算机设备900可以实现为上述的信息处理模型生成设备或者信息处理设备,比如:智能手机、平板电脑、笔记本电脑、台式电脑、智能手表及电视等。计算机设备900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备900包括有:处理器901和存储器902。
在一些实施例中,计算机设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907和电源908中的至少一种。
在一些实施例中,计算机设备900还包括有一个或多个传感器909。该一个或多个传感器909包括但不限于:加速度传感器910、陀螺仪传感器911、压力传感器912、光学传感器913以及接近传感器914。
本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在一示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该计算机程序由处理器加载并执行以实现上述系统异常崩溃识别方法中的全部或部分步骤。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在一示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括至少一条计算机程序,该计算机程序由处理器加载并执行上述图2或图3任一实施例所示的系统异常崩溃识别方法的全部或部分步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种系统异常崩溃识别方法,其特征在于,所述方法包括:
获取系统崩溃数据集,所述系统崩溃数据集中包含系统崩溃数据,所述系统崩溃数据用于指示移动端应用发生的崩溃事件;
通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据;所述无监督模型是基于统计学判别法以及孤立森林算法构建的模型;
对所述候选异常崩溃数据进行筛选,获取异常崩溃数据。
2.根据权利要求1所述的方法,其特征在于,在通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据之前,所述方法还包括:
对所述系统崩溃数据集中的系统崩溃数据进行聚类处理,获得聚类结果;所述聚类结果包含多个数据分组,每个所述数据分组对应一个崩溃类型;
所述通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据,包括:
通过所述无监督模型,基于各个所述系统崩溃数据所处所述数据分组的崩溃类型,对各个所述系统崩溃数据进行识别,获得所述候选异常崩溃数据。
3.根据权利要求2所述的方法,其特征在于,所述通过所述无监督模型,基于各个所述系统崩溃数据的崩溃类型,对各个所述系统崩溃数据进行识别,获得所述候选异常崩溃数据,包括:
基于每个数据分组中的所述系统崩溃数据,获取各个崩溃类型对应的正态分布基准线;
通过统计学判别法中的3-Sigma算法对各个所述系统崩溃数据进行判断,将不符合目标正态分布基准线的所述系统崩溃数据,确定为第一候选异常崩溃数据;所述目标正态分布基准线是所述系统崩溃数据所处的所述数据分组的崩溃类型的正态分布基准线;
通过孤立森林算法对所述系统崩溃数据集中的所述系统崩溃数据进行过滤,将过滤出的独立森林节点对应的所述系统崩溃数据确定为第二候选异常崩溃数据;
将所述第一候选异常崩溃数据与所述第二候选异常崩溃数据的集合,确定为所述候选异常崩溃数据。
4.根据权利要求3所述的方法,其特征在于,所述通过孤立森林算法对所述系统崩溃数据集中的所述系统崩溃数据进行过滤,将过滤出的独立森林节点对应的所述系统崩溃数据确定为第二候选异常崩溃数据,包括:
提取各个所述系统崩溃数据中n个维度的数据内容;n为正整数;
对n个维度的所述数据内容进行向量化处理,获得各个所述系统崩溃数据的多维数组;
轮询n个维度,基于各个所述多维数组建立孤立树,获得n个维度各自对应的所述孤立树;
获取各个多维数组在n个维度的所述孤立树中的高度的平均高度;
将所述平均高度高于高度阈值的所述多维数组对应的所述系统崩溃数据确定为所述第二候选异常崩溃数据。
5.根据权利要求4所述的方法,其特征在于,所述n个维度包括:所述崩溃名称,崩溃时间,所述崩溃类型,错误码,状态码,终端型号以及操作系统版本。
6.根据权利要求5所述的方法,其特征在于,所述系统崩溃数据来源于不同的平台或操作系统;所述方法还包括:
对采集到的初始系统崩溃数据进行预处理,获得所述系统崩溃数据;所述系统崩溃数据的数据标准一致;
所述预处理包括:对所述错误码进行二值化处理,对所述状态码进行二值化处理,以及对崩溃内容进行解析获得所述崩溃名称中的至少一种。
7.根据权利要求4所述的方法,其特征在于,所述崩溃类型包括:启动错误,视图错误,点击错误,请求错误,数据错误,SDK错误,内核错误,本地错误,以及应用无响应。
8.一种系统异常崩溃识别装置,其特征在于,所述装置包括:
数据获取模块,用于获取系统崩溃数据集,所述系统崩溃数据集中包含系统崩溃数据,所述系统崩溃数据用于指示移动端发生的崩溃事件;
识别模块,用于通过无监督模型对所述系统崩溃数据集中的系统崩溃数据进行识别,获得候选异常崩溃数据;所述无监督模型是基于统计学判别法以及孤立森林算法构建的模型;
数据筛选模块,用于对所述候选异常崩溃数据进行筛选,获取异常崩溃数据。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至7任一所述的系统异常崩溃识别方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至7任一所述的系统异常崩溃识别方法。
CN202211586813.4A 2022-12-09 2022-12-09 系统异常崩溃识别方法、装置、计算机设备及存储介质 Pending CN116910586A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211586813.4A CN116910586A (zh) 2022-12-09 2022-12-09 系统异常崩溃识别方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211586813.4A CN116910586A (zh) 2022-12-09 2022-12-09 系统异常崩溃识别方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116910586A true CN116910586A (zh) 2023-10-20

Family

ID=88361483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211586813.4A Pending CN116910586A (zh) 2022-12-09 2022-12-09 系统异常崩溃识别方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116910586A (zh)

Similar Documents

Publication Publication Date Title
CN110198310B (zh) 一种网络行为反作弊方法、装置及存储介质
CN109800258B (zh) 数据文件部署方法、装置、计算机设备及存储介质
CN113283185B (zh) 联邦模型训练、客户画像方法、装置、设备及介质
CN105630682A (zh) 移动终端自动收集及分析崩溃的系统和方法
CN113505272B (zh) 基于行为习惯的控制方法和装置、电子设备和存储介质
CN111931809A (zh) 数据的处理方法、装置、存储介质及电子设备
CN115269438A (zh) 针对图像处理算法的自动化测试方法及装置
CN115620243B (zh) 基于人工智能的污染源监测方法、系统及云平台
CN114531340B (zh) 日志获取方法、装置、电子设备、芯片及存储介质
CN114513341B (zh) 恶意流量检测方法、装置、终端及计算机可读存储介质
CN116910586A (zh) 系统异常崩溃识别方法、装置、计算机设备及存储介质
CN113360313B (zh) 一种基于海量系统日志的行为分析方法
CN113672496B (zh) 一种基于余弦相似度的测试方法及系统
CN111858285B (zh) 视频操作行为的异常识别方法、装置、服务器及存储介质
CN114996080A (zh) 数据处理方法、装置、设备及存储介质
CN114090650A (zh) 一种样本数据识别方法、装置、电子设备及存储介质
CN105391602A (zh) 一种数据采集测试方法和装置
CN113886631A (zh) 视频档案生成方法、装置及存储介质
CN113781068A (zh) 线上问题解决方法、装置、电子设备和存储介质
CN106528577B (zh) 一种设置待清理文件的方法和装置
CN113434404B (zh) 校验灾备系统可靠性的自动化业务验证方法及装置
CN116225338B (zh) 基于时序信息与存储信息的数据处理方法及装置
CN115314404B (zh) 服务优化方法、装置、计算机设备及存储介质
CN113535594B (zh) 业务场景测试用例的生成方法、装置、设备和存储介质
CN111913700B (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