CN113419935A - 移动端性能监控方法、装置、设备及存储介质 - Google Patents
移动端性能监控方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113419935A CN113419935A CN202110691258.0A CN202110691258A CN113419935A CN 113419935 A CN113419935 A CN 113419935A CN 202110691258 A CN202110691258 A CN 202110691258A CN 113419935 A CN113419935 A CN 113419935A
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- performance
- information
- monitoring method
- configuration
- 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
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/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/3452—Performance evaluation by statistical analysis
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及软件监控领域,公开了一种移动端性能监控方法、装置、设备及存储介质。该方法包括:采用预置拦截器获取运行信息并进行过滤,得到移动端的系统类型、运行方法和运行参数;根据系统类型,选取动态监控方法替换对应的运行方法;根据运行参数,采用动态监控方法统计移动端的性能监控结果;获取移动端的配置信息,并根据配置信息,选取与移动端相适应的性能对照参数;对比性能对照参数和性能监控结果,并根据对比的结果,判断移动端当前是否发生异常;若发生异常,则上报性能检测结果至服务端并进行异常提示处理。本发明还涉及区块链技术,所述运行信息存储于区块链中。本发明实现了业务逻辑和性能监督的隔离,提升了性能监控的可扩展性。
Description
技术领域
本发明涉及软件监控领域,尤其涉及一种移动端性能监控方法、装置、设备及存储介质。
背景技术
移动互联网时代,移动应用在我们的生活中参与度越来越高,一款受用户青睐、好评的应用,用户体验必然要非常好,可以通过性能监控系统实时监测移动应用在执行过程中的各项性能参数,主要包含:页面渲染时长、内存消耗、卡顿、crash、耗电量、cpu使用率等。性能监控系统通过对移动应用的实时监控,准确的针对各个指标采集到有价值的数据,为移动端应用持续优化提供支持。
目前市面上有很多类似的移动端应用监控系统,一般通过一个配置文件配置每个页面对应的API,在API请求中基类中统一埋点。这种方式在随着业务的增长和变更,这个配置文件的维护会变得越来越困难,比如配置不全、误配页面对应的API、冗余配置等,即现有移动端性能监控方法的维护性能较差。
发明内容
本发明的主要目的在于解决现有移动端性能监控方法在应用场景迁移时较为困难的技术问题。
本发明第一方面提供了一种移动端性能监控方法,包括:当移动端上传运行信息至对应的服务端时,采用预置拦截器获取所述运行信息并进行过滤,得到所述移动端当前的系统类型、运行方法和运行参数;根据所述移动端的系统类型,选取对应的动态监控方法,并采用选取的动态监控方法替换对应的运行方法;根据所述运行参数,采用所述动态监控方法对所述移动端进行性能统计,得到所述移动端当前的性能监控结果;获取所述移动端的配置信息,并根据所述配置信息,选取与所述移动端相适应的性能对照参数;对比所述性能对照参数和所述性能监控结果,并根据对比的结果,判断所述移动端当前是否发生异常;若发生异常,则上报所述性能检测结果至所述服务端并进行异常提示处理。
可选的,在本发明第一方面的第一种实现方式中,所述采用选取的动态监控方法替换对应的运行方法包括:确定选取的动态监控方法的标识符和切点位置,并根据所述切点位置确定选取的各动态监控方法对应切入的运行方法;通过所述标识符,采用选取的动态方法替换确定对应切入的运行方法。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述运行参数,采用所述动态监控方法对所述移动端进行性能统计,得到所述移动端当前的性能监控结果包括:采用所述运行参数在所述移动端上运行动态监控方法,并收集动态监控方法在运行过程中的回调信息;根据所述回调信息,统计所述移动端在运行动态监控方法时的性能监控参数,得到所述移动端当前的性能监控结果。
可选的,在本发明第一方面的第三种实现方式中,所述采用所述运行参数在所述移动端上运行动态监控方法,并收集动态监控方法在运行过程中的回调信息包括:采用所述运行参数在所述移动端上运行动态监控方法,当监测到所述动态监控方法在运行过程中进行回调处理时,记录回调处理的回调时长和回调参数;统计所述动态监控方法在运行过程中所有回调处理的回调参数和回调时长,得到所述动态监控方法在运行过程中的回调信息。
可选的,在本发明第一方面的第四种实现方式中,所述根据所述配置信息,选取与所述移动端相适应的性能对照参数包括:解析所述配置信息,得到所述移动端对应的配置标识信息,其中,所述配置标识信息包括硬件配置标识和软件配置标识;采用所述硬件配置标识遍历预置的硬件配置性能表,从所述硬件配置性能表中筛选出与所述硬件配置相适应的第一性能对照参数,以及采用所述软件配置标识遍历预置的软件配置性能表,从所述软件配置性能表中筛选出与所述软件配置相适应的第二性能对照参数;组合所述第一性能对照参数和所述第二性能对照参数,得到与所述移动端相适应的性能对照参数。
可选的,在本发明第一方面的第五种实现方式中,,在所述获取所述移动端的配置信息,并根据所述配置信息,选取与所述移动端相适应的性能对照参数之后,还包括:每隔预设周期,获取所述移动端当前的配置信息,并对比当前的配置信息和上一周期的配置信息,得到配置对比结果;根据所述配置对比结果判断所述移动端是否新增软件配置或硬件配置;若新增,则根据新增的软件配置或硬件配置,配置新的性能对照参数并进行更新。
本发明第二方面提供了一种移动端性能监控装置,包括:拦截模块,用于当移动端上传运行信息至对应的服务端时,采用预置拦截器获取所述运行信息并进行过滤,得到所述移动端当前的系统类型、运行方法和运行参数;选取模块,用于根据所述移动端的系统类型,选取对应的动态监控方法,并采用选取的动态监控方法替换对应的运行方法;统计模块,用于根据所述运行参数,采用所述动态监控方法对所述移动端进行性能统计,得到所述移动端当前的性能监控结果;获取模块,用于获取所述移动端的配置信息,并根据所述配置信息,选取与所述移动端相适应的性能对照参数;对比模块,用于对比所述性能对照参数和所述性能监控结果,并根据对比的结果,判断所述移动端当前是否发生异常;异常提示模块,用于若发生异常,则上报所述性能检测结果至所述服务端并进行异常提示处理。
可选的,在本发明第二方面的第一种实现方式中,所述选取模块包括:选取单元,用于确定选取的动态监控方法的标识符和切点位置,并根据所述切点位置确定选取的各动态监控方法对应切入的运行方法;替换单元,用于通过所述标识符,采用选取的动态方法替换确定对应切入的运行方法。
可选的,在本发明第二方面的第二种实现方式中,所述统计模块包括:收集单元,用于采用所述运行参数在所述移动端上运行动态监控方法,并收集动态监控方法在运行过程中的回调信息;统计单元,用于根据所述回调信息,统计所述移动端在运行动态监控方法时的性能监控参数,得到所述移动端当前的性能监控结果。
可选的,在本发明第二方面的第三种实现方式中,所述收集单元还用于:采用所述运行参数在所述移动端上运行动态监控方法,当监测到所述动态监控方法在运行过程中进行回调处理时,记录回调处理的回调时长和回调参数;统计所述动态监控方法在运行过程中所有回调处理的回调参数和回调时长,得到所述动态监控方法在运行过程中的回调信息。
可选的,在本发明第二方面的第四种实现方式中,所述获取模块包括:解析单元,用于解析所述配置信息,得到所述移动端对应的配置标识信息,其中,所述配置标识信息包括硬件配置标识和软件配置标识;筛选单元,用于采用所述硬件配置标识遍历预置的硬件配置性能表,从所述硬件配置性能表中筛选出与所述硬件配置相适应的第一性能对照参数,以及采用所述软件配置标识遍历预置的软件配置性能表,从所述软件配置性能表中筛选出与所述软件配置相适应的第二性能对照参数;组合单元,用于组合所述第一性能对照参数和所述第二性能对照参数,得到与所述移动端相适应的性能对照参数。
可选的,在本发明第二方面的第五种实现方式中,所述移动端性能监控装置还包括更新模块,所述更新模块用于:每隔预设周期,获取所述移动端当前的配置信息,并对比当前的配置信息和上一周期的配置信息,得到配置对比结果;根据所述配置对比结果判断所述移动端是否新增软件配置或硬件配置;若新增,则根据新增的软件配置或硬件配置,配置新的性能对照参数并进行更新。
本发明第三方面提供了一种移动端性能监控设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述移动端性能监控设备执行上述的移动端性能监控方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的移动端性能监控方法。
本发明提供的技术方案中,在移动应用启动后,移动端上传运行信息至对应的服务端时,先获取上报服务端的运行信息,利用本发明方法采用语言的动态性,进行运行方法替换,在自定义替换后的动态监控方法中进行性能统计操作,监控过程中无异常则一直监控,若有异常则上报性能统计结果进行报警处理,把监控系统和上层业务系统进行隔离,根据不同的应用场景,在监控系统中进行相应性能参照参数和动态监控方法的更新即可,降低了本发明技术方案的场景迁移难度,并使得监控系统和业务逻辑之间的耦合度降低,提高程序的可重用性,同时提高了业务开发的效率,代码侵入小。
附图说明
图1为本发明实施例中移动端性能监控方法的第一个实施例示意图;
图2为本发明实施例中移动端性能监控方法的第二个实施例示意图;
图3为本发明实施例中移动端性能监控方法的第三个实施例示意图;
图4为本发明实施例中移动端性能监控装置的一个实施例示意图;
图5为本发明实施例中移动端性能监控装置的另一个实施例示意图;
图6为本发明实施例中移动端性能监控设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种移动端性能监控方法、装置、设备及存储介质,采用预置拦截器获取运行信息并进行过滤,得到移动端的系统类型、运行方法和运行参数;根据系统类型,选取对应的动态监控方法并替换对应的运行方法;根据运行参数,采用动态监控方法对移动端进行性能统计,得到移动端当前的性能监控结果;获取移动端的配置信息,并根据配置信息,选取与移动端相适应的性能对照参数;对比性能对照参数和性能监控结果,并根据对比的结果,判断移动端当前是否发生异常;若发生异常,则上报性能检测结果至服务端并进行异常提示处理。实现业务逻辑和性能监督的隔离,提升了性能监控的可扩展性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中移动端性能监控方法的第一个实施例包括:
101、当移动端上传运行信息至对应的服务端时,采用预置拦截器获取运行信息并进行过滤,得到移动端当前的系统类型、运行方法和运行参数;
可以理解的是,本发明的执行主体可以为移动端性能监控装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。需要强调的是,为进一步保证上述运行信息的私密和安全性,上述运行信息还可以存储于一区块链的节点中。
本实施例中,在移动端在运行某移动应用时,将运行信息发送至服务端,通过预先定义好的拦截器拦截发送的运行信息,其中,拦截器可以通过AOP(AspectOrientedProgramming,面向切面编程)进行定义,AOP用于抽取多个运行方法,比如安全验证、日志记录等,并进行运行方法的代替,以在系统运行时将代替方法插拔式地融入到业务逻辑中,减少系统中的重复代码,有效地降低系统中业务层和监控层的耦合度。
具体的,拦截器采用基于J2EE的反转控制(Inversion ofControl,IoC)策略,由IoC容器管理,由XML(Extensible Markup Language,可扩展标记语言)配置文件定义。因此,当移动端运行移动应用时,根据运行信息的名称,通过IoC容器查找到目标对象,便可以由IoC容器使用代理机制自动生成动态代理对象,通过动态代理对象对运行信息进行过滤,抽取出移动端当前运行移动应用的运行方法和运行参数,比如在页面在家过程中,页面进入方法:viewWillAppear,页面完全显示方法:viewDidAppear等。
102、根据移动端的系统类型,选取对应的动态监控方法,并采用选取的动态监控方法替换对应的运行方法;
本实施例中,在开发阶段,针对不同移动端的系统类型,配置相应的动态监控方法,实现不同业务系统的AOP编程,将监控系统和上层业务系统进行隔离,使得监控系统和业务逻辑之间的耦合度降低,提高监控系统的可重用性,同时提高开发效率,降低代码的侵入性。此处根据移动端的系统类型,可以直接选取相绑定的动态监控方法替换对应的运行方法。
具体的,动态监控方法可以采用Objective-C进行编写,并加入面向对象特性和Smalltalk式的消息传递机制,其核心在于采用C语言和编程语言写的Runtime库;动态监控方法包括:class_addMethod,class_getInstanceMethod,class_replaceMethod,method_exchangeImplementations,是Objective-C提供的动态性支持的API(ApplicationProgramming Interface,应用程序接口)。
103、根据运行参数,采用动态监控方法对移动端进行性能统计,得到移动端当前的性能监控结果;
本实施例中,将运行参数输入动态监控方法,执行动态监控方法,并在执行过程中对移动端的进行性能统计,即可得到当前移动端在执行动态监控方法时的性能监控结果。
具体的,运行参数包括各类型的地址信息,比如页面跳转URL、用户类文件位置、源文件位置、扩展目录位置、类文件、各类型API的源位置等,包括移动应用的版本信息、虚拟机参数等。
另外,在采用动态监控方法对移动端进行性能统计时,可以根据动检监控方法的运行信息进行统计,比如在页面加载过程中,利用class_addMethod,class_getInstanceMethod,class_replaceMethod,method_exchangeImplementations等RunTime提供的方法,通过不同阶段的回调统计页面加载时长、消耗内存等性能,即为移动端当前的性能监控结果。
104、获取移动端的配置信息,并根据配置信息,选取与移动端相适应的性能对照参数;
本实施例中,在开发阶段,针对不同的硬件配置和软件配置,定制不同的性能对照参数作为该硬件配置或者弱碱配置的性能标准。故此处只需要获取当前移动端的配置信息,从配置信息中确定移动端中的硬件配置和软件配置,并以此选取预先关联的性能对照参数,以评价该移动端的性能。
105、对比性能对照参数和性能监控结果,并根据对比的结果,判断移动端当前是否发生异常;
本实施例中,性能对照参数设置了不同硬件配置和不同软件配置的阈值,比如页面渲染时长的阈值、内容异常提示峰值、FPS卡顿阈值等,性能监控结果中包含有多个性能监控参数。对比性能监控参数和对应性能对照参数的数值大小,若性能监控参数大于性能对照参数,即可确定当前移动端运行异常,无法得到正常响应,反之则确定当前移动端运行正常。
具体的,比如性能监控结果中现实移动端页面刷新的渲染时长为0.5s,而性能对照参数中页面渲染时长的阈值为0.1s,则可确定当前移动端页面刷新发生异常。
106、若发生异常,则上报性能检测结果至服务端并进行异常提示处理。
本实施例中,在移动端发生异常时,根据将性能检测结果上报给服务端进行异常提示处理,由服务端进一步判别移动端的异常情况并以代码标识,比如LOF可以用于标识帧丢失、帧失步异常提示。
本发明实施例中,在移动应用启动后,移动端上传运行信息至对应的服务端时,先获取上报服务端的运行信息,利用本发明方法采用语言的动态性,进行运行方法替换,在自定义替换后的动态监控方法中进行性能统计操作,监控过程中无异常则一直监控,若有异常则上报性能统计结果进行报警处理,把监控系统和上层业务系统进行隔离,从而使得监控系统和业务逻辑之间的耦合度降低,提高程序的可重用性,同时提高了业务开发的效率,代码侵入小。
请参阅图2,本发明实施例中移动端性能监控方法的第二个实施例包括:
201、当移动端上传运行信息至对应的服务端时,采用预置拦截器获取运行信息并进行过滤,得到移动端当前的系统类型、运行方法和运行参数;
202、根据移动端的系统类型,选取对应的动态监控方法;
203、确定选取的动态监控方法的标识符和切点位置,并根据切点位置确定选取的各动态监控方法对应切入的运行方法;
204、通过标识符,采用选取的动态方法替换确定对应切入的运行方法;
本实施例中,在动态监控方法的配置过程,包括创建标识符并配置标识符值,封装通过ResourceLoader实现的动态监控方法的工具类,然后指定动态监控方法的切点位置;在动态监控方法替换运行方法的过程中,先通过切点位置指定每个动态监控方法需要替换的运行方法,然后通过标识符采用对应的动态监控方法对运行方法进行重写,即可实现动态监控方法的替换。
需要说明的是,一个移动应用流程包括多个连接点,连接点一般为对应于不同运行方法的调用;连接点与AOP交叉,即为切点位置,此处切点位置一般为待处理的运行方法;AOP框架在切点位置执行通知,用以具体实现AOP的动态监控方法,其中,通知的类型可以包括前置通知、后置通知、环绕通知和异常通知等。
可以理解,性能监控拦截器的通知类型为环绕通知,环绕通知是指包围一个切点位置的通知,用于在调用切点位置指定的运行方法之前,以及在执行切点位置指定的动态监控方法之后执行,并可以控制是否执行切点位置,以及何时执行切点位置。
205、根据运行参数,采用动态监控方法对移动端进行性能统计,得到移动端当前的性能监控结果;
206、获取移动端的配置信息,并解析配置信息,得到移动端对应的配置标识信息,其中,配置标识信息包括硬件配置标识和软件配置标识;
207、采用硬件配置标识遍历预置的硬件配置性能表,从硬件配置性能表中筛选出与硬件配置相适应的第一性能对照参数,以及采用软件配置标识遍历预置的软件配置性能表,从软件配置性能表中筛选出与软件配置相适应的第二性能对照参数;
208、组合第一性能对照参数和第二性能对照参数,得到与移动端相适应的性能对照参数;
本实施例中,预先在硬件配置表中罗列各硬件配置的第一性能对照参数,比如CPU的使用率、电池的耗电量、主机的停机情况等,在软件配制表中逻辑各软件配置的第二性能对照表,比如移动应用的回调时长、内存消耗、FPS值等,通过不同的硬件配置和软件配置与硬件配置表的第一性能对照参数和软件配置表中的第二性能对照参数相关联,此处即可直接根据移动端的配置信息选取得到对应的第一性能对照参数和第二性能对照参数。
另外,后期也可以随着硬件配置升级、软件配置升级、网络升级,定制不同的标准,扩展性能好。具体如下所示:
(1)每隔预设周期,获取移动端当前的配置信息,并对比当前的配置信息和上一周期的配置信息,得到配置对比结果;
(2)根据配置对比结果判断移动端是否新增软件配置或硬件配置;
(3)若新增,则根据新增的软件配置或硬件配置,配置新的性能对照参数并进行更新。
209、对比性能对照参数和性能监控结果,并根据对比的结果,判断移动端当前是否发生异常;
210、若发生异常,则上报性能检测结果至服务端并进行异常提示处理。
本发明实施例中,详细介绍了通过切点位置每个动态监控方法对应切入的运行方法,形成一个切面,对整体移动端应用的运行过程进行替换,在不侵入业务逻辑的情况下对移动端应用的运行进行监控,实现监控和业务逻辑的隔离,降低代码侵入性。
请参阅图3,本发明实施例中移动端性能监控方法的第三个实施例包括:
301、当移动端上传运行信息至对应的服务端时,采用预置拦截器获取运行信息并进行过滤,得到移动端当前的系统类型、运行方法和运行参数;
302、根据移动端的系统类型,选取对应的动态监控方法,并采用选取的动态监控方法替换对应的运行方法;
303、采用运行参数在移动端上运行动态监控方法,并收集动态监控方法在运行过程中的回调信息;
304、根据回调信息,统计移动端在运行动态监控方法时的性能监控参数,得到移动端当前的性能监控结果;
本实施例中,在采用运行才书在移动端上运行动态监控方法时,涉及到回调函数的调用,比如在页面加载过程中,通过回调函数确定何时调用class_addMethod,class_getInstanceMethod,class_replaceMethod,method_exchangeImplementations等动态监控方法,期间回调函数执行时,会产生回调信息,即类似于回调函数的运行日志。
其中,回调函数介于移动应用和动态监测方法之间,移动应用运行时,通常会通过API调用动态监控方法,回调函数限定了调用动态监控方法的时间或条件。在动态监控方法运行过程中,可以包括一个回调函数或者多个回调函数,决定和改变动态监控方法的运行行径,记录不同阶段的回调信息中的性能监控参数,得到移动端当前的性能监控结果。具体如下所示:
(1)采用运行参数在移动端上运行动态监控方法,当监测到动态监控方法在运行过程中进行回调处理时,记录回调处理的回调时长和回调参数;
(2)统计动态监控方法在运行过程中所有回调处理的回调参数和回调时长,得到动态监控方法在运行过程中的回调信息。
具体的,比如在移动应用的账号登录时,用户点击登录后,页面跳转至Controller,然后再跳转至注册页面,接着跳转到登录页面,最后登录成功时跳转到回调页面URL(Uniform Resource Locator,统一资源定位器),可记录每个跳转的时间戳作为回调时长,内存消耗、FPS值、CPU使用率、耗电量、停机等情况作为回调参数,然后统计各时间戳可以确定各阶段跳转的页面渲染时长,内存消耗量、FPS值等性能监控结果。
305、获取移动端的配置信息,并根据配置信息,选取与移动端相适应的性能对照参数;
306、对比性能对照参数和性能监控结果,并根据对比的结果,判断移动端当前是否发生异常;
307、若发生异常,则上报性能检测结果至服务端并进行异常提示处理。
本发明实施例中,详细介绍了在执行动态监控方法的过程中,根据不同阶段的回调,记录下对应的回调信息,并通过统计回调信息,得到该移动端应用在执行过程中的性能监控结果,实现移动端运行的性能监控。
上面对本发明实施例中移动端性能监控方法进行了描述,下面对本发明实施例中移动端性能监控装置进行描述,请参阅图4,本发明实施例中移动端性能监控装置一个实施例包括:
拦截模块401,用于当移动端上传运行信息至对应的服务端时,采用预置拦截器获取所述运行信息并进行过滤,得到所述移动端当前的系统类型、运行方法和运行参数;
选取模块402,用于根据所述移动端的系统类型,选取对应的动态监控方法,并采用选取的动态监控方法替换对应的运行方法;
统计模块403,用于根据所述运行参数,采用所述动态监控方法对所述移动端进行性能统计,得到所述移动端当前的性能监控结果;
获取模块404,用于获取所述移动端的配置信息,并根据所述配置信息,选取与所述移动端相适应的性能对照参数;
对比模块405,用于对比所述性能对照参数和所述性能监控结果,并根据对比的结果,判断所述移动端当前是否发生异常;
异常提示模块406,用于若发生异常,则上报所述性能检测结果至所述服务端并进行异常提示处理。
本发明实施例中,在移动应用启动后,移动端上传运行信息至对应的服务端时,先获取上报服务端的运行信息,利用本发明方法采用语言的动态性,进行运行方法替换,在自定义替换后的动态监控方法中进行性能统计操作,监控过程中无异常则一直监控,若有异常则上报性能统计结果进行报警处理,把监控系统和上层业务系统进行隔离,从而使得监控系统和业务逻辑之间的耦合度降低,提高程序的可重用性,同时提高了业务开发的效率,代码侵入小。
请参阅图5,本发明实施例中移动端性能监控装置的另一个实施例包括:
拦截模块401,用于当移动端上传运行信息至对应的服务端时,采用预置拦截器获取所述运行信息并进行过滤,得到所述移动端当前的系统类型、运行方法和运行参数;
选取模块402,用于根据所述移动端的系统类型,选取对应的动态监控方法,并采用选取的动态监控方法替换对应的运行方法;
统计模块403,用于根据所述运行参数,采用所述动态监控方法对所述移动端进行性能统计,得到所述移动端当前的性能监控结果;
获取模块404,用于获取所述移动端的配置信息,并根据所述配置信息,选取与所述移动端相适应的性能对照参数;
对比模块405,用于对比所述性能对照参数和所述性能监控结果,并根据对比的结果,判断所述移动端当前是否发生异常;
异常提示模块406,用于若发生异常,则上报所述性能检测结果至所述服务端并进行异常提示处理。
具体的,所述选取模块402包括:
选取单元4021,用于确定选取的动态监控方法的标识符和切点位置,并根据所述切点位置确定选取的各动态监控方法对应切入的运行方法;
替换单元4022,用于通过所述标识符,采用选取的动态方法替换确定对应切入的运行方法。
具体的,所述统计模块403包括:
收集单元4031,用于采用所述运行参数在所述移动端上运行动态监控方法,并收集动态监控方法在运行过程中的回调信息;
统计单元4032,用于根据所述回调信息,统计所述移动端在运行动态监控方法时的性能监控参数,得到所述移动端当前的性能监控结果。
具体的,所述收集单元4031还用于:
采用所述运行参数在所述移动端上运行动态监控方法,当监测到所述动态监控方法在运行过程中进行回调处理时,记录回调处理的回调时长和回调参数;
统计所述动态监控方法在运行过程中所有回调处理的回调参数和回调时长,得到所述动态监控方法在运行过程中的回调信息。
具体的,所述获取模块404包括:
解析单元4041,用于解析所述配置信息,得到所述移动端对应的配置标识信息,其中,所述配置标识信息包括硬件配置标识和软件配置标识;
筛选单元4042,用于采用所述硬件配置标识遍历预置的硬件配置性能表,从所述硬件配置性能表中筛选出与所述硬件配置相适应的第一性能对照参数,以及采用所述软件配置标识遍历预置的软件配置性能表,从所述软件配置性能表中筛选出与所述软件配置相适应的第二性能对照参数;
组合单元4043,用于组合所述第一性能对照参数和所述第二性能对照参数,得到与所述移动端相适应的性能对照参数。
具体的,所述移动端性能监控装置还包括更新模块407,所述更新模块407用于:
每隔预设周期,获取所述移动端当前的配置信息,并对比当前的配置信息和上一周期的配置信息,得到配置对比结果;
根据所述配置对比结果判断所述移动端是否新增软件配置或硬件配置;
若新增,则根据新增的软件配置或硬件配置,配置新的性能对照参数并进行更新。
本发明实施例中,详细介绍了通过切点位置每个动态监控方法对应切入的运行方法,形成一个切面,对整体移动端应用的运行过程进行替换,在不侵入业务逻辑的情况下对移动端应用的运行进行监控,实现监控和业务逻辑的隔离,降低代码侵入性;另外,详细介绍了在执行动态监控方法的过程中,根据不同阶段的回调,记录下对应的回调信息,并通过统计回调信息,得到该移动端应用在执行过程中的性能监控结果,实现移动端运行的性能监控。
上面图4和图5从模块化功能实体的角度对本发明实施例中的移动端性能监控装置进行详细描述,下面从硬件处理的角度对本发明实施例中移动端性能监控设备进行详细描述。
图6是本发明实施例提供的一种移动端性能监控设备的结构示意图,该移动端性能监控设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对移动端性能监控设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在移动端性能监控设备600上执行存储介质630中的一系列指令操作。
移动端性能监控设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的移动端性能监控设备结构并不构成对移动端性能监控设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种移动端性能监控设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述移动端性能监控方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述移动端性能监控方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种移动端性能监控方法,其特征在于,所述移动端性能监控方法包括:
当移动端上传运行信息至对应的服务端时,采用预置拦截器获取所述运行信息并进行过滤,得到所述移动端当前的系统类型、运行方法和运行参数;
根据所述移动端的系统类型,选取对应的动态监控方法,并采用选取的动态监控方法替换对应的运行方法;
根据所述运行参数,采用所述动态监控方法对所述移动端进行性能统计,得到所述移动端当前的性能监控结果;
获取所述移动端的配置信息,并根据所述配置信息,选取与所述移动端相适应的性能对照参数;
对比所述性能对照参数和所述性能监控结果,并根据对比的结果,判断所述移动端当前是否发生异常;
若发生异常,则上报所述性能检测结果至所述服务端并进行异常提示处理。
2.根据权利要求1所述的移动端性能监控方法,其特征在于,所述采用选取的动态监控方法替换对应的运行方法包括:
确定选取的动态监控方法的标识符和切点位置,并根据所述切点位置确定选取的各动态监控方法对应切入的运行方法;
通过所述标识符,采用选取的动态方法替换确定对应切入的运行方法。
3.根据权利要求1所述的移动端性能监控方法,其特征在于,所述根据所述运行参数,采用所述动态监控方法对所述移动端进行性能统计,得到所述移动端当前的性能监控结果包括:
采用所述运行参数在所述移动端上运行动态监控方法,并收集动态监控方法在运行过程中的回调信息;
根据所述回调信息,统计所述移动端在运行动态监控方法时的性能监控参数,得到所述移动端当前的性能监控结果。
4.根据权利要求3所述的移动端性能监控方法,其特征在于,所述采用所述运行参数在所述移动端上运行动态监控方法,并收集动态监控方法在运行过程中的回调信息包括:
采用所述运行参数在所述移动端上运行动态监控方法,当监测到所述动态监控方法在运行过程中进行回调处理时,记录回调处理的回调时长和回调参数;
统计所述动态监控方法在运行过程中所有回调处理的回调参数和回调时长,得到所述动态监控方法在运行过程中的回调信息。
5.根据权利要求1-4中任一项所述的移动端性能监控方法,其特征在于,所述根据所述配置信息,选取与所述移动端相适应的性能对照参数包括:
解析所述配置信息,得到所述移动端对应的配置标识信息,其中,所述配置标识信息包括硬件配置标识和软件配置标识;
采用所述硬件配置标识遍历预置的硬件配置性能表,从所述硬件配置性能表中筛选出与所述硬件配置相适应的第一性能对照参数,以及采用所述软件配置标识遍历预置的软件配置性能表,从所述软件配置性能表中筛选出与所述软件配置相适应的第二性能对照参数;
组合所述第一性能对照参数和所述第二性能对照参数,得到与所述移动端相适应的性能对照参数。
6.根据权利要求5所述的移动端性能监控方法,其特征在于,在所述获取所述移动端的配置信息,并根据所述配置信息,选取与所述移动端相适应的性能对照参数之后,还包括:
每隔预设周期,获取所述移动端当前的配置信息,并对比当前的配置信息和上一周期的配置信息,得到配置对比结果;
根据所述配置对比结果判断所述移动端是否新增软件配置或硬件配置;
若新增,则根据新增的软件配置或硬件配置,配置新的性能对照参数并进行更新。
7.一种移动端性能监控装置,其特征在于,所述移动端性能监控装置包括:
拦截模块,用于当移动端上传运行信息至对应的服务端时,采用预置拦截器获取所述运行信息并进行过滤,得到所述移动端当前的系统类型、运行方法和运行参数;
选取模块,用于根据所述移动端的系统类型,选取对应的动态监控方法,并采用选取的动态监控方法替换对应的运行方法;
统计模块,用于根据所述运行参数,采用所述动态监控方法对所述移动端进行性能统计,得到所述移动端当前的性能监控结果;
获取模块,用于获取所述移动端的配置信息,并根据所述配置信息,选取与所述移动端相适应的性能对照参数;
对比模块,用于对比所述性能对照参数和所述性能监控结果,并根据对比的结果,判断所述移动端当前是否发生异常;
异常提示模块,用于若发生异常,则上报所述性能检测结果至所述服务端并进行异常提示处理。
8.根据权利要求7所述的移动端性能监控装置,其特征在于,所述选取模块包括:
选取单元,用于确定选取的动态监控方法的标识符和切点位置,并根据所述切点位置确定选取的各动态监控方法对应切入的运行方法;
替换单元,用于通过所述标识符,采用选取的动态方法替换确定对应切入的运行方法。
9.一种移动端性能监控设备,其特征在于,所述移动端性能监控设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述移动端性能监控设备执行如权利要求1-6中任意一项所述的移动端性能监控方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-6中任一项所述移动端性能监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691258.0A CN113419935B (zh) | 2021-06-22 | 2021-06-22 | 移动端性能监控方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110691258.0A CN113419935B (zh) | 2021-06-22 | 2021-06-22 | 移动端性能监控方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113419935A true CN113419935A (zh) | 2021-09-21 |
CN113419935B CN113419935B (zh) | 2023-10-20 |
Family
ID=77789846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110691258.0A Active CN113419935B (zh) | 2021-06-22 | 2021-06-22 | 移动端性能监控方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419935B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036017A (zh) * | 2021-10-25 | 2022-02-11 | 苏州臻璇数据信息技术有限公司 | 基于切面技术的加强方法和装置 |
CN114416466A (zh) * | 2021-12-13 | 2022-04-29 | 北京罗克维尔斯科技有限公司 | Cpu使用率监控方法、装置、设备及存储介质 |
CN114706734A (zh) * | 2022-06-02 | 2022-07-05 | 支付宝(杭州)信息技术有限公司 | 业务应用的监控方法和监控系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542444A (zh) * | 2017-07-31 | 2019-03-29 | 华为软件技术有限公司 | Java应用的监控方法、装置、服务器和存储介质 |
CN111444065A (zh) * | 2020-05-18 | 2020-07-24 | 江苏电力信息技术有限公司 | 一种基于AspectJ的移动端性能指标监控方法 |
CN112650656A (zh) * | 2019-10-09 | 2021-04-13 | 北京京东尚科信息技术有限公司 | 性能监控方法、装置、设备、服务器及存储介质 |
CN112749062A (zh) * | 2021-01-18 | 2021-05-04 | 广州虎牙科技有限公司 | 服务端程序监控方法、装置、计算机设备及存储介质 |
-
2021
- 2021-06-22 CN CN202110691258.0A patent/CN113419935B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542444A (zh) * | 2017-07-31 | 2019-03-29 | 华为软件技术有限公司 | Java应用的监控方法、装置、服务器和存储介质 |
CN112650656A (zh) * | 2019-10-09 | 2021-04-13 | 北京京东尚科信息技术有限公司 | 性能监控方法、装置、设备、服务器及存储介质 |
CN111444065A (zh) * | 2020-05-18 | 2020-07-24 | 江苏电力信息技术有限公司 | 一种基于AspectJ的移动端性能指标监控方法 |
CN112749062A (zh) * | 2021-01-18 | 2021-05-04 | 广州虎牙科技有限公司 | 服务端程序监控方法、装置、计算机设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114036017A (zh) * | 2021-10-25 | 2022-02-11 | 苏州臻璇数据信息技术有限公司 | 基于切面技术的加强方法和装置 |
CN114416466A (zh) * | 2021-12-13 | 2022-04-29 | 北京罗克维尔斯科技有限公司 | Cpu使用率监控方法、装置、设备及存储介质 |
CN114706734A (zh) * | 2022-06-02 | 2022-07-05 | 支付宝(杭州)信息技术有限公司 | 业务应用的监控方法和监控系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113419935B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113419935B (zh) | 移动端性能监控方法、装置、设备及存储介质 | |
CN112256542B (zh) | 基于eBPF的微服务系统性能检测方法、装置和系统 | |
CN107704360B (zh) | 监控数据的处理方法、设备、服务器及存储介质 | |
CN106997314B (zh) | 用于分布式系统的异常处理方法、装置及系统 | |
CN110750426A (zh) | 服务状态监测方法、装置、电子设备及可读存储介质 | |
US10341182B2 (en) | Method and system for detecting network upgrades | |
CN112989330A (zh) | 容器的入侵检测方法、装置、电子设备及存储介质 | |
CN109740345A (zh) | 一种监控进程的方法及装置 | |
CN111400367A (zh) | 业务报告生成方法、装置、计算机设备和存储介质 | |
CN104980421A (zh) | 一种批量请求处理方法及系统 | |
CN112084091B (zh) | 一种系统行为审计方法、装置、终端及存储介质 | |
CN112445686A (zh) | 内存泄漏检测方法、装置以及计算机可读存储介质 | |
CN113608964A (zh) | 一种集群自动化监控方法、装置、电子设备及存储介质 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
CN114138483A (zh) | 一种虚拟化资源管理方法、装置、服务器、系统及介质 | |
US10313179B1 (en) | Systems and methods for network element access analysis, collision avoidance, and fault resolution | |
CN113411209A (zh) | 一种分布式的密码服务全链路检测系统及方法 | |
CN111309557B (zh) | 一种多操作系统的监控方法、装置、设备和介质 | |
CN111309986A (zh) | 大数据采集与共享系统 | |
CN114465766B (zh) | 基于ssh的远程访问方法、装置、电子设备和存储介质 | |
CN113285824B (zh) | 一种监控网络配置命令安全性的方法及装置 | |
CN110874303B (zh) | 数据采集方法、装置以及设备 | |
CN109686017A (zh) | 一种税控设备管理方法及系统 | |
CN110730193B (zh) | 保障网络安全的方法、装置、服务器和存储介质 | |
CN114422186A (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 |