CN113268422A - 基于分级量化的卡顿检测方法、装置、设备及存储介质 - Google Patents
基于分级量化的卡顿检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113268422A CN113268422A CN202110564859.5A CN202110564859A CN113268422A CN 113268422 A CN113268422 A CN 113268422A CN 202110564859 A CN202110564859 A CN 202110564859A CN 113268422 A CN113268422 A CN 113268422A
- Authority
- CN
- China
- Prior art keywords
- information
- stuck
- state
- target
- preset
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 153
- 238000013139 quantization Methods 0.000 title claims abstract description 57
- 238000012544 monitoring process Methods 0.000 claims abstract description 78
- 230000008859 change Effects 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000000605 extraction Methods 0.000 claims abstract description 19
- 238000010835 comparative analysis Methods 0.000 claims abstract description 4
- 238000005457 optimization Methods 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 31
- 238000004458 analytical method Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition 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/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- 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/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/3409—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 for performance assessment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,应用于智慧医疗领域中,提供一种基于分级量化的卡顿检测方法、装置、设备及存储介质,用于提高卡顿检测信息对卡顿问题定位的协助性。基于分级量化的卡顿检测方法包括:对待监控事件的运行循环进行状态监听和信息提取得到监听变化状态信息;对监听变化状态信息中待分析状态信息进行匹配分析得到待计算状态信息;对待计算状态信息依次进行状态区域耗时和对比分析得到目标卡顿状态信息;对目标卡顿状态信息依次进行频率统计和匹配得到目标卡顿级别信息;基于目标卡顿状态信息确定卡顿检测信息,并按照上传策略信息将卡顿检测信息进行上传。此外,本发明还涉及区块链技术,卡顿检测信息可存储于区块链中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于分级量化的卡顿检测方法、装置、设备及存储介质。
背景技术
随着移动终端相关技术的发展,对于移动终端的性能需求也越来越强烈,而移动终端的应用运行流畅度为性能需求中的其中一种。目前,对于应用运行流畅度的检测方法,一般采用统计1秒内屏幕刷新的次数的画面每秒传输帧数(frames per second,FPS)监测方法,或者,采用基于线程启动一个后台任务worker线程,通过worker线程因特网包探索器ping主线程,并根据ping的响应信息的后台任务检测方法。
但是,由于画面每秒传输帧数监测方法中存在转场动画会影响FPS数值,闲置状态下会有一定的性能损耗的问题,以及后台任务检测方法中存在主线程出现堵塞直到空闲期间都无法回包,ping之间的卡顿存在漏查情况的问题,导致了卡顿检测的效率和准确性较低,且检测所得的卡顿信息简便、单一和有效可用性较低,因而,导致了卡顿检测信息对卡顿问题定位的协助性较低。
发明内容
本发明提供一种基于分级量化的卡顿检测方法、装置、设备及存储介质,用于提高卡顿检测信息对卡顿问题定位的协助性。
本发明第一方面提供了一种基于分级量化的卡顿检测方法,包括:
获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对所述待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息;
对所述监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息;
对所述待计算状态信息依次进行状态区域耗时计算和基于所述预设时长阀值的对比分析,得到目标卡顿状态信息;
将所述目标卡顿状态信息依次进行基于所述状态切换时长的频率统计以及基于所述预设卡顿级别信息的匹配,得到目标卡顿级别信息;
抓取所述目标卡顿状态信息对应的目标信息,将所述目标卡顿级别信息和所述目标信息确定为卡顿检测信息,并按照所述上传策略信息将所述卡顿检测信息进行上传,所述目标信息包括堆栈信息、日志信息和函数调用栈信息。
可选的,在本发明第一方面的第一种实现方式中,所述对所述监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息,包括:
基于预设时段的窗口,对所述监听变化状态信息进行滑动和读取,得到待分析状态信息;
通过预置的快速模式匹配算法,将所述待分析状态信息和预设的事件完成状态信息进行移动匹配,并将移动匹配成功的待分析状态信息确定为初始状态信息;
计算所述初始状态信息和预设的事件完成状态信息的目标相似度,将所述目标相似度大于预设目标值的初始状态信息确定为待计算状态信息。
可选的,在本发明第一方面的第二种实现方式中,所述对所述待计算状态信息依次进行状态区域耗时计算和基于所述预设时长阀值的对比分析,得到目标卡顿状态信息,包括:
获取所述待计算状态信息的状态区域的目标时间戳,并对所述目标时间戳进行差值计算,得到状态切换时长,所述目标时间戳包括所述待计算状态信息中第一预设状态的时间戳,以及第二预设状态的时间戳;
判断所述状态切换时长是否大于或等于所述预设时长阀值,若所述状态切换时长大于或等于所述预设时长阀值,则将所述待计算状态信息确定为初始卡顿状态信息;
对所述初始卡顿状态信息进行卡顿时间验证,并将验证通过的初始卡顿状态信息确定为目标卡顿状态信息。
可选的,在本发明第一方面的第三种实现方式中,所述将所述目标卡顿状态信息依次进行基于所述状态切换时长的频率统计以及基于所述预设卡顿级别信息的匹配,得到目标卡顿级别信息,包括:
基于所述状态切换时长,对所述目标卡顿状态信息进行分类,得到多个分类卡顿状态信息集,一个分类卡顿状态信息集对应一种状态切换时长;
对所述多个分类卡顿状态信息集的状态切换时长进行次数统计和连续性分析,得到卡顿频率;
生成所述卡顿频率的结构化查询语言,通过所述结构化查询语言,对所述预设卡顿级别信息进行检索,得到目标卡顿级别信息。
可选的,在本发明第一方面的第四种实现方式中,所述抓取所述目标卡顿状态信息对应的目标信息,将所述目标卡顿级别信息和所述目标信息确定为卡顿检测信息,并按照所述上传策略信息将所述卡顿检测信息进行上传,所述目标信息包括堆栈信息、日志信息和函数调用栈信息,包括:
调用预置的抓取接口,对所述目标卡顿状态信息对应的堆栈信息、日志信息以及函数调用栈信息进行抓取,得到目标信息,并将所述目标信息和所述目标卡顿级别信息确定为卡顿检测信息;
基于所述上传策略信息,通过预置的消息队列和上传接口,将所述卡顿检测信息发送至服务器。
可选的,在本发明第一方面的第五种实现方式中,所述获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对所述待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息,包括:
基于预设获取条件从服务器中,获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息;
通过预置的观察者接口和信号量机制,对所述待监控事件的运行循环进行状态值变化的监听和信息融合,得到监听变化状态信息。
可选的,在本发明第一方面的第六种实现方式中,所述抓取所述目标卡顿状态信息对应的目标信息,将所述目标卡顿级别信息和所述目标信息确定为卡顿检测信息,并按照所述上传策略信息将所述卡顿检测信息进行上传之后,还包括:
接收基于上传后的卡顿检测信息的卡顿优化信息,根据所述卡顿优化信息对所述待监控事件进行逻辑优化。
本发明第二方面提供了一种基于分级量化的卡顿检测装置,包括:
监听提取模块,用于获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对所述待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息;
过滤匹配模块,用于对所述监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息;
计算对比模块,用于对所述待计算状态信息依次进行状态区域耗时计算和基于所述预设时长阀值的对比分析,得到目标卡顿状态信息;
统计匹配模块,用于将所述目标卡顿状态信息依次进行基于所述状态切换时长的频率统计以及基于所述预设卡顿级别信息的匹配,得到目标卡顿级别信息;
上传模块,用于抓取所述目标卡顿状态信息对应的目标信息,将所述目标卡顿级别信息和所述目标信息确定为卡顿检测信息,并按照所述上传策略信息将所述卡顿检测信息进行上传,所述目标信息包括堆栈信息、日志信息和函数调用栈信息。
可选的,在本发明第二方面的第一种实现方式中,所述过滤匹配模块具体用于:
基于预设时段的窗口,对所述监听变化状态信息进行滑动和读取,得到待分析状态信息;
通过预置的快速模式匹配算法,将所述待分析状态信息和预设的事件完成状态信息进行移动匹配,并将移动匹配成功的待分析状态信息确定为初始状态信息;
计算所述初始状态信息和预设的事件完成状态信息的目标相似度,将所述目标相似度大于预设目标值的初始状态信息确定为待计算状态信息。
可选的,在本发明第二方面的第二种实现方式中,所述计算对比模块具体用于:
获取所述待计算状态信息的状态区域的目标时间戳,并对所述目标时间戳进行差值计算,得到状态切换时长,所述目标时间戳包括所述待计算状态信息中第一预设状态的时间戳,以及第二预设状态的时间戳;
判断所述状态切换时长是否大于或等于所述预设时长阀值,若所述状态切换时长大于或等于所述预设时长阀值,则将所述待计算状态信息确定为初始卡顿状态信息;
对所述初始卡顿状态信息进行卡顿时间验证,并将验证通过的初始卡顿状态信息确定为目标卡顿状态信息。
可选的,在本发明第二方面的第三种实现方式中,所述统计匹配模块具体用于:
基于所述状态切换时长,对所述目标卡顿状态信息进行分类,得到多个分类卡顿状态信息集,一个分类卡顿状态信息集对应一种状态切换时长;
对所述多个分类卡顿状态信息集的状态切换时长进行次数统计和连续性分析,得到卡顿频率;
生成所述卡顿频率的结构化查询语言,通过所述结构化查询语言,对所述预设卡顿级别信息进行检索,得到目标卡顿级别信息。
可选的,在本发明第二方面的第四种实现方式中,所述上传模块具体用于:
调用预置的抓取接口,对所述目标卡顿状态信息对应的堆栈信息、日志信息以及函数调用栈信息进行抓取,得到目标信息,并将所述目标信息和所述目标卡顿级别信息确定为卡顿检测信息;
基于所述上传策略信息,通过预置的消息队列和上传接口,将所述卡顿检测信息发送至服务器。
可选的,在本发明第二方面的第五种实现方式中,所述监听提取模块具体用于:
基于预设获取条件从服务器中,获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息;
通过预置的观察者接口和信号量机制,对所述待监控事件的运行循环进行状态值变化的监听和信息融合,得到监听变化状态信息。
可选的,在本发明第二方面的第六种实现方式中,所述基于分级量化的卡顿检测装置,还包括:
优化模块,用于接收基于上传后的卡顿检测信息的卡顿优化信息,根据所述卡顿优化信息对所述待监控事件进行逻辑优化。
本发明第三方面提供了一种基于分级量化的卡顿检测设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于分级量化的卡顿检测设备执行上述的基于分级量化的卡顿检测方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于分级量化的卡顿检测方法。
本发明提供的技术方案中,获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息;对监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息;对待计算状态信息依次进行状态区域耗时计算和基于预设时长阀值的对比分析,得到目标卡顿状态信息;将目标卡顿状态信息依次进行基于状态切换时长的频率统计以及基于预设卡顿级别信息的匹配,得到目标卡顿级别信息;抓取目标卡顿状态信息对应的目标信息,将目标卡顿级别信息和目标信息确定为卡顿检测信息,并按照上传策略信息将卡顿检测信息进行上传,目标信息包括堆栈信息、日志信息和函数调用栈信息。本发明实施例中,能够根据终端信息以及待监控事件对应的应用程序的量级和复杂程度,来灵活调整卡顿检测信息的判定信息,提高了后续获取的卡顿检测信息的准确性,提高了待计算状态信息的准确性,提高了后续对待计算状态信息的卡顿分析的准确性,通过根据卡顿频率获取目标卡顿级别信息,丰富了卡顿检测信息,提高了卡顿检测信息的有效可用性,提高了卡顿检测的效率和准确性较低,从而提高了卡顿检测信息对卡顿问题定位的协助性。
附图说明
图1为本发明实施例中基于分级量化的卡顿检测方法的一个实施例示意图;
图2为本发明实施例中基于分级量化的卡顿检测方法的另一个实施例示意图;
图3为本发明实施例中基于分级量化的卡顿检测装置的一个实施例示意图;
图4为本发明实施例中基于分级量化的卡顿检测装置的另一个实施例示意图;
图5为本发明实施例中基于分级量化的卡顿检测设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于分级量化的卡顿检测方法、装置、设备及存储介质,提高了卡顿检测信息对卡顿问题定位的协助性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于分级量化的卡顿检测方法的一个实施例包括:
101、获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息。
可以理解的是,本发明的执行主体可以为基于分级量化的卡顿检测装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以终端为执行主体为例进行说明。
终端(移动终端)获取待监控事件对应的终端信息,将终端信息发送至服务器,并接收服务器下发的预设时长阀值、预设卡顿级别信息和上传策略信息,其中,终端信息包括系统信息和机型信息,待监控事件可包括但不限于对移动终端的应用程序的运行,以及移动终端的用户界面的操作和切换。通过获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,能够灵活地根据终端信息以及待监控事件对应的应用程序的量级和复杂程度,对预设时长阀值、预设卡顿级别信息和上传策略信息进行调整,提高了后续获取的卡顿检测信息的准确性。
终端获得用户授权后,调用预置的观察者接口,该观察者接口可为CFRunLoopObserverRef,对待监控事件的运行循环的状态值进行实时监听,当监听到状态值发生切换时,提取对应的状态信息,从而得到观察监听状态信息,并通过预置的信号量机制,该信号量机制可为dispatch_semaphore_t,调用待监控事件的处理子线程,对待监控事件的运行循环的主线程进行任务切换监听并提取相关信息,得到线程监听状态信息,将观察监听状态信息和线程监听状态信息中相同的状态确定为监听变化状态信息,或者将观察监听状态信息和线程监听状态信息合并后作为监听变化状态信息,其中,监听变化状态信息包括但不限于变化的状态所表示的字段、字段值、表达式和注释。
102、对监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息。
终端从监听变化状态信息中获取预设时段内的待分析状态信息,通过预设的事件完成状态信息,对待分析状态信息进行匹配分析,得到待计算状态信息。进一步地,终端获取监听变化状态信息的状态时间,以及预设时段的起始时刻和末端时刻,通过起始时刻和末端时刻,对状态时间进行端点识别区间划分,得到时段区间,按照时段区间,对监听变化状态信息进行划分,从而得到待分析状态信息。
其中,预设的事件完成状态信息用于指示预先设定的完整事件或任务执行完成时依次发生的表示运行卡顿的状态信息序列,如:预设的事件完成状态信息为:依次为表示“即将处理timer事件”、“即将处理source事件”、“即将进入睡眠”、“被唤醒的状态”和“退出”的状态信息,该状态信息序列中的状态信息可为状态字段和状态值,状态信息序列中的状态信息也可为状态表达式。
终端通过计算预设的事件完成状态信息与待分析状态信息的状态相似度,根据状态相似度和预设的相似度阈值确定待计算状态信息,如:终端生成待分析状态信息的结构化查询语言,通过结构化查询语言对预设的事件完成状态信息进行查询,得到查询状态信息集,计算待分析状态信息和查询状态信息集的状态相似度,判断该状态相似度是否大于预设的相似度阈值,若是,则将对应的待分析状态信息确定为待计算状态信息,若否,则返回判断值;或者,终端也可生成待分析状态信息的待分析序列,以及预设的事件完成状态信息分别对应的多个事件完成序列,计算待分析序列分别与多个事件完成序列的相似度,得到状态相似度,判断该状态相似度是否大于预设的相似度阈值,若是,则将对应的待分析状态信息确定为待计算状态信息,若否,则返回判断值。
103、对待计算状态信息依次进行状态区域耗时计算和基于预设时长阀值的对比分析,得到目标卡顿状态信息。
终端对待计算状态信息进行状态区域耗时计算,得到状态切换时长,并将状态切换时长与预设时长阀值进行对比分析,得到目标卡顿状态信息。进一步地,终端获取待计算状态信息的状态区域中的第一预设状态(状态区域中起始端的状态)的当前时间戳,第一预设状态可为kCFRunLoopBeforeSources状态,即为第一状态时间,并获取待计算状态信息的状态区域中的第二预设状态(状态区域中末端的状态)的当前时间戳,即为第二状态时间,第二预设状态为kCFRunLoopBeforeWaiting状态,计算第一状态时间和第二状态时间的差值,得到状态切换时长,判断状态切换时长是否大于或等于预设时长阀值,若否,则将对应的待计算状态信息确定为非卡顿状态信息,若是,则将对应的待计算状态信息确定为初始卡顿状态信息,终端对初始卡顿状态信息进行验证,将验证通过的初始卡顿状态信息确定为目标卡顿状态信息。
其中,可选的,终端可通过获取初始卡顿状态信息对应的运行函数,对该运行函数进行出入口插桩、过滤和黑名单配置,得到插桩处理函数,对该插桩处理函数运行的函数耗时进行统计,得到插桩函数时长,判断该插桩函数时长是否大于预设函数运行阈值,若否,则对初始卡顿状态信息进行重新的获取分析,若是,则将初始卡顿状态信息确定为目标卡顿状态信息,以实现对初始卡顿状态信息的验证,以避免非卡顿信息的误判,提高了目标卡顿状态信息的准确性。
104、将目标卡顿状态信息依次进行基于状态切换时长的频率统计以及基于预设卡顿级别信息的匹配,得到目标卡顿级别信息。
终端通过状态切换时长,对目标卡顿状态信息进行频率统计得到卡顿频率,并将卡顿频率与预设卡顿级别信息进行匹配,得到目标卡顿级别信息。进一步地,终端计算状态切换时长与预设正常时长的差值,得到超时时长,并调用预置的统计脚本,对目标卡顿状态信息进行基于超时时长的排序和统计,得到卡顿频率,并生成卡顿频率的键值,通过键值对预设卡顿级别信息进行键值对匹配,从而得到目标卡顿级别信息。
其中,该卡顿频率包括目标卡顿状态信息的状态切换时长、状态切换时长的次数以及次数之间的连贯性,如:连续5次超时80ms、单次超时150ms。预设卡顿级别信息的数据存储格式可为散列表。预设卡顿级别信息包括次数、次数之间的连贯性、程度词和级别,如:持续轻微级别Lv1、持续中度级别Lv2、单次轻微级别Lv3、单次中度级别Lv4和单次严重级别Lv5。
105、抓取目标卡顿状态信息对应的目标信息,将目标卡顿级别信息和目标信息确定为卡顿检测信息,并按照上传策略信息将卡顿检测信息进行上传,目标信息包括堆栈信息、日志信息和函数调用栈信息。
终端通过预置界面获取用户点击生成的用户授权信息,检测到获得用户授权信息后,调用预置的抓取接口,对目标卡顿状态信息对应的堆栈信息、日志信息和函数调用栈信息进行检索和抓取,得到目标信息,将目标卡顿级别信息和目标信息确定为卡顿检测信息。其中,堆栈信息可包括但不限于二进制库名、调用方法的地址、模块地址和偏移地址等。
终端可调用预置的移动终端网络协议架构,该移动终端网络协议架构用于与服务器建立数据传输通道,该传输协议可为基于长期演进技术升级版(long term evolution-advanced,LTE-A)的设备间直接通信协议架构,通过该移动终端网络协议架构,基于上传策略信息将卡顿检测信息进行发送至服务器。
本发明实施例中,能够根据终端信息以及待监控事件对应的应用程序的量级和复杂程度,来灵活调整卡顿检测信息的判定信息,提高了后续获取的卡顿检测信息的准确性,提高了待计算状态信息的准确性,提高了后续对待计算状态信息的卡顿分析的准确性,通过根据卡顿频率获取目标卡顿级别信息,丰富了卡顿检测信息,提高了卡顿检测信息的有效可用性,提高了卡顿检测的效率和准确性较低,从而提高了卡顿检测信息对卡顿问题定位的协助性。本方案可应用于智慧医疗领域中,从而推动智慧城市的建设。
请参阅图2,本发明实施例中基于分级量化的卡顿检测方法的另一个实施例包括:
201、获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息。
具体地,终端基于预设获取条件从服务器中,获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息;通过预置的观察者接口和信号量机制,对待监控事件的运行循环进行状态值变化的监听和信息融合,得到监听变化状态信息。
终端基于预设获取条件,向服务器发送获取请求,该获取请求包括待监控事件、终端系统信息和终端机型信息,服务器接受该获取请求后,向终端下发待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,其中,该预设获取条件包括获取的时间和/或获取请求触发条件,如:终端启动计时器,当计时器计时到预设时刻,向服务器发送获取请求;或者,每间隔预设时长,向服务器发送获取请求;或者,当终端监测到应用程序启动时(即获取请求触发条件),向服务器发送获取请求。
终端通过预置的观察者接口,对待监控事件的运行循环进行状态值变化的监听和信息提取,得到第一监听状态信息,通过预置的信号量机制,调用待监控事件的处理子线程,对待监控事件的运行循环的主线程进行任务切换监听和信息提取,得到第二监听状态信息,将第一监听状态信息和第二监听状态信息进行去重合并,得到监听变化状态信息。通过结合观察者接口和信号量机制的监听和验证,提高了监听变化状态信息的准确性。
202、对监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息。
具体地,终端基于预设时段的窗口,对监听变化状态信息进行滑动和读取,得到待分析状态信息;通过预置的快速模式匹配算法,将待分析状态信息和预设的事件完成状态信息进行移动匹配,并将移动匹配成功的待分析状态信息确定为初始状态信息;计算初始状态信息和预设的事件完成状态信息的目标相似度,将目标相似度大于预设目标值的初始状态信息确定为待计算状态信息。
终端通过预置的滑动窗口算法创建预设时段的窗口,对监听变化状态信息进行窗口元素读取,得到待分析状态信息。终端生成预设的事件完成状态信息的事件完成字符串,该事件完成字符串的数量包括一个或一个以上,一个事件完成字符串对应一个状态信息序列,以及待分析状态信息的待分析字符串;终端通过预置的快速模式匹配算法,将待分析字符串和事件完成字符串进行移动匹配,并将移动匹配成功的待分析状态信息确定为初始状态信息,通过预置的第一相似度算法,计算初始状态信息和预设的事件完成状态信息的第一相似度,通过预置的第二相似度算法,计算初始状态信息和预设的事件完成状态信息的第二相似度,第一相似度算法与第二相似度算法不相同,第一相似度算法与第二相似度算法为任意计算相似度的算法,对第一相似度算法和第二相似度算法进行加权求和,得到目标相似度,判断目标相似度是否大于预设目标值,若否,则返回判断信息,若是,则将对应的初始状态信息确定为待计算状态信息。
通过基于预设时段的窗口、快速模式匹配算法和目标相似度判断,提高了待计算状态信息的准确性。通过获取待计算状态信息,提高了后续对待计算状态信息的卡顿分析的准确性。
203、对待计算状态信息依次进行状态区域耗时计算和基于预设时长阀值的对比分析,得到目标卡顿状态信息。
具体地,终端获取待计算状态信息的状态区域的目标时间戳,并对目标时间戳进行差值计算,得到状态切换时长,目标时间戳包括待计算状态信息中第一预设状态的时间戳,以及第二预设状态的时间戳;判断状态切换时长是否大于或等于预设时长阀值,若状态切换时长大于或等于预设时长阀值,则将待计算状态信息确定为初始卡顿状态信息;对初始卡顿状态信息进行卡顿时间验证,并将验证通过的初始卡顿状态信息确定为目标卡顿状态信息。
终端获取待计算状态信息对应的执行日志信息,从执行日志信息中提取第一预设状态(状态区域中起始端的状态)的时间戳,以及第二预设状态(状态区域中起始端的状态)的时间戳,从而得到状态区域的目标时间戳,计算区域起始时间和区域末端时间的差值,得到状态切换时长,其中,第一预设状态可为kCFRunLoopBeforeSources状态,第二预设状态可为kCFRunLoopBeforeWaiting状态。状态区域为相邻的第一预设状态和第二预设状态之前的区域,如:待计算状态信息中的状态依次为A1、B1、C1、D1、A2、B2、C2、D2、A3、B3、C3、D3、A4、B4、C4、D4,A为第一预设状态,D为第二预设状态,A1、B1、C1、D1为一个状态区域,A2、B2、C2、D2为一个状态区域,A3、B3、C3、D3为一个状态区域,A4、B4、C4、D4为一个状态区域。
终端判断状态切换时长是否大于或等于预设时长阀值,若否,则重新获取待计算状态信息,并对重新获取的待计算状态信息再次进行状态区域耗时计算和基于预设时长阀值的对比分析,从而得到目标卡顿状态信息;若是,则将待计算状态信息确定为初始卡顿状态信息,获取初始卡顿状态信息对应的程序帧执行时间,并判断程序帧执行时间是否为预设卡顿执行时间,若否,则重新获取待计算状态信息,并对重新获取的待计算状态信息再次进行状态区域耗时计算和基于预设时长阀值的对比分析,从而得到目标卡顿状态信息,若是,则将初始卡顿状态信息确定为目标卡顿状态信息,避免了非卡顿信息的误判,提高了目标卡顿状态信息的准确性。
204、将目标卡顿状态信息依次进行基于状态切换时长的频率统计以及基于预设卡顿级别信息的匹配,得到目标卡顿级别信息。
具体地,终端基于状态切换时长,对目标卡顿状态信息进行分类,得到多个分类卡顿状态信息集,一个分类卡顿状态信息集对应一种状态切换时长;对多个分类卡顿状态信息集的状态切换时长进行次数统计和连续性分析,得到卡顿频率;生成卡顿频率的结构化查询语言,通过结构化查询语言,对预设卡顿级别信息进行检索,得到目标卡顿级别信息。
终端计算预设正常时长与状态切换时长的差值,得到超时时长,将目标卡顿状态信息分类为超时时长分别对应的分类卡顿状态信息集,并按照时间顺序,将分类后的分类卡顿状态信息集中的目标卡顿状态信息进行排序,从而得到多个分类卡顿状态信息集,如:超时时长为80ms、100ms、150ms和250ms,则将目标卡顿状态信息分类为80ms、100ms、150ms和250ms分别对应的分类卡顿状态信息集。
终端统计各分类卡顿状态信息集的状态切换时长的数量,并获取两个状态切换时长分别对应的状态区域两端的状态时间,并根据状态时间确定相邻两个状态切换时长对应的时间区间,判断多个分类卡顿状态信息集的状态时间是否存在该时间区间中,若是,则判定为连续性,若否,则判定为非连续性,从而得到卡顿频率,例如:以多个分类卡顿状态信息集中的一个分类卡顿状态信息集进行举例说明,该分类卡顿状态信息集为80ms对应的分类卡顿状态信息集,该分类卡顿状态信息集中的状态切换时长的数量为5个,依次为状态切换时长为状态切换时长F1-F5,以相邻两个状态切换时长的状态切换时长F1和状态切换时长F2为例说明,状态切换时长F1对应的状态区域两端的状态时间分别为10:20:30.180和10:20:30.260,状态切换时长F2对应的状态区域两端的状态时间为10:20:31.300和10:20:31.380,则将10:20:30.260和10:20:31.300确定为状态切换时长F1和状态切换时长F2的时间区间[10:20:30.260,10:20:31.300],则通过该时间区间[10:20:30.260,10:20:31.300],判断多个分类卡顿状态信息集的状态时间是否存在时间区间[10:20:30.260,10:20:31.300]中,若是,则判定为非连续性,若否,则判定为连续性,并依次同理判断状态切换时长F2和状态切换时长F3、状态切换时长F3和状态切换时长F4、状态切换时长F4和状态切换时长F5,若状态切换时长F2和状态切换时长F3、状态切换时长F3和状态切换时长F4、状态切换时长F4和状态切换时长F5的判定结果均为连续性,则可得卡顿频率为连续5次超时80ms。
终端调用预置的脚本生成卡顿频率的结构化查询语言,通过结构化查询语言,对预设卡顿级别信息进行检索,得到目标卡顿级别信息。通过根据卡顿频率获取目标卡顿级别信息,丰富了卡顿检测信息,提高了卡顿检测信息的有效可用性。
205、抓取目标卡顿状态信息对应的目标信息,将目标卡顿级别信息和目标信息确定为卡顿检测信息,并按照上传策略信息将卡顿检测信息进行上传,目标信息包括堆栈信息、日志信息和函数调用栈信息。
具体地,终端调用预置的抓取接口,对目标卡顿状态信息对应的堆栈信息、日志信息以及函数调用栈信息进行抓取,得到目标信息,并将目标信息和目标卡顿级别信息确定为卡顿检测信息;基于上传策略信息,通过预置的消息队列和上传接口,将卡顿检测信息发送至服务器。
终端获得用户授权后,调用预置的抓取接口,抓取卡顿状态对应的堆栈信息、日志信息以及运行循环主线程的堆栈上下文信息,并根据堆栈上下文信息抓取函数调用栈信息,从而得到目标信息。终端根据上传策略信息,将卡顿检测信息写入预置的消息队列,并生成消息队列的上传请求,可调用预置的通信接口和通信协议,将上传请求发送至服务器。其中,上传策略信息可包括上传时间条件、上传数量条件和上传的触发条件中至少一种,例如:上传时间条件为隔一天上传,上传数量条件为累计100条数据上传,上传的触发条件为应用程序启动时上传。实现了对卡顿检测信息的及时反馈,便于后续对卡顿检测信息的定位分析,从而提高了卡顿检测所得的卡顿信息对卡顿问题定位的协助性。
206、接收基于上传后的卡顿检测信息的卡顿优化信息,根据卡顿优化信息对待监控事件进行逻辑优化。
服务器接收到终端上传的卡顿检测信息,将卡顿检测信息进行归类处理,得到归类卡顿信息,并根据归类卡顿信息,对预置数据库中存储的优化策略进行遍历,得到对应的目标优化策略,将归类卡顿信息和目标优化策略渲染至预置显示界面,开发人员通过预置显示界面,对归类卡顿信息和目标优化策略进行查阅和编辑,得到卡顿优化信息,预置显示界面将卡顿优化信息发送至服务器,服务器通过预置的通信协议和通信接口,将卡顿优化信息发送至终端。
终端接收到服务器发送的卡顿优化信息后,根据卡顿优化信息对待监控事件进行代码封装优化和代码执行效率优化,以实现逻辑优化,其中,代码封装优化的执行过程可包括但不限于通过预置正则表达式,对待监控事件的代码文本内容进行过滤;对待监控事件的代码量进行简化和删减,以及对待监控事件的代码进行重用性增加,代码执行效率优化的执行过程包括但不限于for循环业务逻辑的消除,排序算法(冒泡排序算法、插入排序算法和希尔排序算法等)的代码执行次数的选择,以及调整UI处理方式等。方便了开发人员基于卡顿检测信息的卡顿问题定位,提高了卡顿优化信息的卡顿问题定位的准确性,提高了卡顿检测所得的卡顿信息对卡顿问题定位的协助性,进而提高了卡顿的优化效率。
本发明实施例中,不仅能够根据终端信息以及待监控事件对应的应用程序的量级和复杂程度,来灵活调整卡顿检测信息的判定信息,提高了后续获取的卡顿检测信息的准确性,提高了待计算状态信息的准确性,提高了后续对待计算状态信息的卡顿分析的准确性,通过根据卡顿频率获取目标卡顿级别信息,丰富了卡顿检测信息,提高了卡顿检测信息的有效可用性,提高了卡顿检测的效率和准确性较低,从而提高了卡顿检测信息对卡顿问题定位的协助性,还能够方便了开发人员基于卡顿检测信息的卡顿问题定位,提高了卡顿优化信息的卡顿问题定位的准确性,提高了卡顿检测所得的卡顿信息对卡顿问题定位的协助性,进而提高了卡顿的优化效率。本方案可应用于智慧医疗领域中,从而推动智慧城市的建设。
上面对本发明实施例中基于分级量化的卡顿检测方法进行了描述,下面对本发明实施例中基于分级量化的卡顿检测装置进行描述,请参阅图3,本发明实施例中基于分级量化的卡顿检测装置一个实施例包括:
监听提取模块301,用于获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息;
过滤匹配模块302,用于对监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息;
计算对比模块303,用于对待计算状态信息依次进行状态区域耗时计算和基于预设时长阀值的对比分析,得到目标卡顿状态信息;
统计匹配模块304,用于将目标卡顿状态信息依次进行基于状态切换时长的频率统计以及基于预设卡顿级别信息的匹配,得到目标卡顿级别信息;
上传模块305,用于抓取目标卡顿状态信息对应的目标信息,将目标卡顿级别信息和目标信息确定为卡顿检测信息,并按照上传策略信息将卡顿检测信息进行上传,目标信息包括堆栈信息、日志信息和函数调用栈信息。
上述基于分级量化的卡顿检测装置中各个模块的功能实现与上述基于分级量化的卡顿检测方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明实施例中,能够根据终端信息以及待监控事件对应的应用程序的量级和复杂程度,来灵活调整卡顿检测信息的判定信息,提高了后续获取的卡顿检测信息的准确性,提高了待计算状态信息的准确性,提高了后续对待计算状态信息的卡顿分析的准确性,通过根据卡顿频率获取目标卡顿级别信息,丰富了卡顿检测信息,提高了卡顿检测信息的有效可用性,提高了卡顿检测的效率和准确性较低,从而提高了卡顿检测信息对卡顿问题定位的协助性。本方案可应用于智慧医疗领域中,从而推动智慧城市的建设。
请参阅图4,本发明实施例中基于分级量化的卡顿检测装置的另一个实施例包括:
监听提取模块301,用于获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息;
过滤匹配模块302,用于对监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息;
计算对比模块303,用于对待计算状态信息依次进行状态区域耗时计算和基于预设时长阀值的对比分析,得到目标卡顿状态信息;
统计匹配模块304,用于将目标卡顿状态信息依次进行基于状态切换时长的频率统计以及基于预设卡顿级别信息的匹配,得到目标卡顿级别信息;
上传模块305,用于抓取目标卡顿状态信息对应的目标信息,将目标卡顿级别信息和目标信息确定为卡顿检测信息,并按照上传策略信息将卡顿检测信息进行上传,目标信息包括堆栈信息、日志信息和函数调用栈信息;
优化模块306,用于接收基于上传后的卡顿检测信息的卡顿优化信息,根据卡顿优化信息对待监控事件进行逻辑优化。
可选的,过滤匹配模块302还可以具体用于:
基于预设时段的窗口,对监听变化状态信息进行滑动和读取,得到待分析状态信息;
通过预置的快速模式匹配算法,将待分析状态信息和预设的事件完成状态信息进行移动匹配,并将移动匹配成功的待分析状态信息确定为初始状态信息;
计算初始状态信息和预设的事件完成状态信息的目标相似度,将目标相似度大于预设目标值的初始状态信息确定为待计算状态信息。
可选的,计算对比模块303还可以具体用于:
获取待计算状态信息的状态区域的目标时间戳,并对目标时间戳进行差值计算,得到状态切换时长,目标时间戳包括待计算状态信息中第一预设状态的时间戳,以及第二预设状态的时间戳;
判断状态切换时长是否大于或等于预设时长阀值,若状态切换时长大于或等于预设时长阀值,则将待计算状态信息确定为初始卡顿状态信息;
对初始卡顿状态信息进行卡顿时间验证,并将验证通过的初始卡顿状态信息确定为目标卡顿状态信息。
可选的,统计匹配模块304还可以具体用于:
基于状态切换时长,对目标卡顿状态信息进行分类,得到多个分类卡顿状态信息集,一个分类卡顿状态信息集对应一种状态切换时长;
对多个分类卡顿状态信息集的状态切换时长进行次数统计和连续性分析,得到卡顿频率;
生成卡顿频率的结构化查询语言,通过结构化查询语言,对预设卡顿级别信息进行检索,得到目标卡顿级别信息。
可选的,上传模块305还可以具体用于:
调用预置的抓取接口,对目标卡顿状态信息对应的堆栈信息、日志信息以及函数调用栈信息进行抓取,得到目标信息,并将目标信息和目标卡顿级别信息确定为卡顿检测信息;
基于上传策略信息,通过预置的消息队列和上传接口,将卡顿检测信息发送至服务器。
可选的,监听提取模块301还可以具体用于:
基于预设获取条件从服务器中,获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息;
通过预置的观察者接口和信号量机制,对待监控事件的运行循环进行状态值变化的监听和信息融合,得到监听变化状态信息。
上述基于分级量化的卡顿检测装置中各模块和各单元的功能实现与上述基于分级量化的卡顿检测方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明实施例中,不仅能够根据终端信息以及待监控事件对应的应用程序的量级和复杂程度,来灵活调整卡顿检测信息的判定信息,提高了后续获取的卡顿检测信息的准确性,提高了待计算状态信息的准确性,提高了后续对待计算状态信息的卡顿分析的准确性,通过根据卡顿频率获取目标卡顿级别信息,丰富了卡顿检测信息,提高了卡顿检测信息的有效可用性,提高了卡顿检测的效率和准确性较低,从而提高了卡顿检测信息对卡顿问题定位的协助性,还能够方便了开发人员基于卡顿检测信息的卡顿问题定位,提高了卡顿优化信息的卡顿问题定位的准确性,提高了卡顿检测所得的卡顿信息对卡顿问题定位的协助性,进而提高了卡顿的优化效率。本方案可应用于智慧医疗领域中,从而推动智慧城市的建设。
上面图3和图4从模块化功能实体的角度对本发明实施例中的基于分级量化的卡顿检测装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于分级量化的卡顿检测设备进行详细描述。
图5是本发明实施例提供的一种基于分级量化的卡顿检测设备的结构示意图,该基于分级量化的卡顿检测设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于分级量化的卡顿检测设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在基于分级量化的卡顿检测设备500上执行存储介质530中的一系列指令操作。
基于分级量化的卡顿检测设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的基于分级量化的卡顿检测设备结构并不构成对基于分级量化的卡顿检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供一种基于分级量化的卡顿检测设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于分级量化的卡顿检测设备执行上述基于分级量化的卡顿检测方法中的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行基于分级量化的卡顿检测方法的步骤。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于分级量化的卡顿检测方法,其特征在于,所述基于分级量化的卡顿检测方法包括:
获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对所述待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息;
对所述监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息;
对所述待计算状态信息依次进行状态区域耗时计算和基于所述预设时长阀值的对比分析,得到目标卡顿状态信息;
将所述目标卡顿状态信息依次进行基于所述状态切换时长的频率统计以及基于所述预设卡顿级别信息的匹配,得到目标卡顿级别信息;
抓取所述目标卡顿状态信息对应的目标信息,将所述目标卡顿级别信息和所述目标信息确定为卡顿检测信息,并按照所述上传策略信息将所述卡顿检测信息进行上传,所述目标信息包括堆栈信息、日志信息和函数调用栈信息。
2.根据权利要求1所述的基于分级量化的卡顿检测方法,其特征在于,所述对所述监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息,包括:
基于预设时段的窗口,对所述监听变化状态信息进行滑动和读取,得到待分析状态信息;
通过预置的快速模式匹配算法,将所述待分析状态信息和预设的事件完成状态信息进行移动匹配,并将移动匹配成功的待分析状态信息确定为初始状态信息;
计算所述初始状态信息和预设的事件完成状态信息的目标相似度,将所述目标相似度大于预设目标值的初始状态信息确定为待计算状态信息。
3.根据权利要求1所述的基于分级量化的卡顿检测方法,其特征在于,所述对所述待计算状态信息依次进行状态区域耗时计算和基于所述预设时长阀值的对比分析,得到目标卡顿状态信息,包括:
获取所述待计算状态信息的状态区域的目标时间戳,并对所述目标时间戳进行差值计算,得到状态切换时长,所述目标时间戳包括所述待计算状态信息中第一预设状态的时间戳,以及第二预设状态的时间戳;
判断所述状态切换时长是否大于或等于所述预设时长阀值,若所述状态切换时长大于或等于所述预设时长阀值,则将所述待计算状态信息确定为初始卡顿状态信息;
对所述初始卡顿状态信息进行卡顿时间验证,并将验证通过的初始卡顿状态信息确定为目标卡顿状态信息。
4.根据权利要求1所述的基于分级量化的卡顿检测方法,其特征在于,所述将所述目标卡顿状态信息依次进行基于所述状态切换时长的频率统计以及基于所述预设卡顿级别信息的匹配,得到目标卡顿级别信息,包括:
基于所述状态切换时长,对所述目标卡顿状态信息进行分类,得到多个分类卡顿状态信息集,一个分类卡顿状态信息集对应一种状态切换时长;
对所述多个分类卡顿状态信息集的状态切换时长进行次数统计和连续性分析,得到卡顿频率;
生成所述卡顿频率的结构化查询语言,通过所述结构化查询语言,对所述预设卡顿级别信息进行检索,得到目标卡顿级别信息。
5.根据权利要求1所述的基于分级量化的卡顿检测方法,其特征在于,所述抓取所述目标卡顿状态信息对应的目标信息,将所述目标卡顿级别信息和所述目标信息确定为卡顿检测信息,并按照所述上传策略信息将所述卡顿检测信息进行上传,所述目标信息包括堆栈信息、日志信息和函数调用栈信息,包括:
调用预置的抓取接口,对所述目标卡顿状态信息对应的堆栈信息、日志信息以及函数调用栈信息进行抓取,得到目标信息,并将所述目标信息和所述目标卡顿级别信息确定为卡顿检测信息;
基于所述上传策略信息,通过预置的消息队列和上传接口,将所述卡顿检测信息发送至服务器。
6.根据权利要求1所述的基于分级量化的卡顿检测方法,其特征在于,所述获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对所述待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息,包括:
基于预设获取条件从服务器中,获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息;
通过预置的观察者接口和信号量机制,对所述待监控事件的运行循环进行状态值变化的监听和信息融合,得到监听变化状态信息。
7.根据权利要求1-6中任一项所述的基于分级量化的卡顿检测方法,其特征在于,所述抓取所述目标卡顿状态信息对应的目标信息,将所述目标卡顿级别信息和所述目标信息确定为卡顿检测信息,并按照所述上传策略信息将所述卡顿检测信息进行上传之后,还包括:
接收基于上传后的卡顿检测信息的卡顿优化信息,根据所述卡顿优化信息对所述待监控事件进行逻辑优化。
8.一种基于分级量化的卡顿检测装置,其特征在于,所述基于分级量化的卡顿检测装置包括:
监听提取模块,用于获取待监控事件对应的预设时长阀值、预设卡顿级别信息和上传策略信息,并对所述待监控事件的运行循环进行状态监听和信息提取,得到监听变化状态信息;
过滤匹配模块,用于对所述监听变化状态信息依次进行基于预设时段的过滤和基于预设事件完成状态信息的匹配分析,得到待计算状态信息;
计算对比模块,用于对所述待计算状态信息依次进行状态区域耗时计算和基于所述预设时长阀值的对比分析,得到目标卡顿状态信息;
统计匹配模块,用于将所述目标卡顿状态信息依次进行基于所述状态切换时长的频率统计以及基于所述预设卡顿级别信息的匹配,得到目标卡顿级别信息;
上传模块,用于抓取所述目标卡顿状态信息对应的目标信息,将所述目标卡顿级别信息和所述目标信息确定为卡顿检测信息,并按照所述上传策略信息将所述卡顿检测信息进行上传,所述目标信息包括堆栈信息、日志信息和函数调用栈信息。
9.一种基于分级量化的卡顿检测设备,其特征在于,所述基于分级量化的卡顿检测设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于分级量化的卡顿检测设备执行如权利要求1-7中任意一项所述的基于分级量化的卡顿检测方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述基于分级量化的卡顿检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110564859.5A CN113268422B (zh) | 2021-05-24 | 2021-05-24 | 基于分级量化的卡顿检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110564859.5A CN113268422B (zh) | 2021-05-24 | 2021-05-24 | 基于分级量化的卡顿检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268422A true CN113268422A (zh) | 2021-08-17 |
CN113268422B CN113268422B (zh) | 2024-05-03 |
Family
ID=77232406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110564859.5A Active CN113268422B (zh) | 2021-05-24 | 2021-05-24 | 基于分级量化的卡顿检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268422B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130131438A1 (en) * | 2011-11-19 | 2013-05-23 | Yale University | System and Method for Regulating Brain Activity |
CN108197032A (zh) * | 2018-01-23 | 2018-06-22 | 武汉斗鱼网络科技有限公司 | Ios应用的主线程卡顿监测方法、介质、设备及系统 |
CN108243032A (zh) * | 2016-12-26 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 一种服务等级信息的获取方法、装置及设备 |
CN110716642A (zh) * | 2019-09-29 | 2020-01-21 | 上海连尚网络科技有限公司 | 一种调节显示界面的方法与设备 |
CN111738053A (zh) * | 2020-04-15 | 2020-10-02 | 上海摩象网络科技有限公司 | 一种跟踪对象确定方法、设备和手持相机 |
-
2021
- 2021-05-24 CN CN202110564859.5A patent/CN113268422B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130131438A1 (en) * | 2011-11-19 | 2013-05-23 | Yale University | System and Method for Regulating Brain Activity |
CN108243032A (zh) * | 2016-12-26 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 一种服务等级信息的获取方法、装置及设备 |
CN108197032A (zh) * | 2018-01-23 | 2018-06-22 | 武汉斗鱼网络科技有限公司 | Ios应用的主线程卡顿监测方法、介质、设备及系统 |
CN110716642A (zh) * | 2019-09-29 | 2020-01-21 | 上海连尚网络科技有限公司 | 一种调节显示界面的方法与设备 |
CN111738053A (zh) * | 2020-04-15 | 2020-10-02 | 上海摩象网络科技有限公司 | 一种跟踪对象确定方法、设备和手持相机 |
Also Published As
Publication number | Publication date |
---|---|
CN113268422B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7325584B2 (ja) | アラームログ圧縮方法、装置、およびシステム、並びに記憶媒体 | |
CN110225417B (zh) | 数据处理方法及服务器、检测卡顿的方法及服务器 | |
CN109104336B (zh) | 服务请求处理方法、装置、计算机设备及存储介质 | |
CN106156628B (zh) | 一种用户行为分析方法及装置 | |
CN102891852B (zh) | 基于报文分析的协议格式自动推断方法 | |
KR101496632B1 (ko) | 안심 콘텐츠 서비스를 위한 시스템 및 이를 위한 방법 | |
CN112434039A (zh) | 数据的存储方法、装置、存储介质以及电子装置 | |
CN111639138A (zh) | 数据处理方法、装置、设备及存储介质 | |
Kung et al. | {CloudSense}: Continuous {Fine-Grain} Cloud Monitoring with Compressive Sensing | |
CN112350854B (zh) | 一种流量故障定位方法、装置、设备及存储介质 | |
CN108228432A (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN113987492A (zh) | 一种告警事件的确定方法及装置 | |
CN110365673B (zh) | 一种隔离网络攻击面的方法、服务器和系统 | |
CN115994079A (zh) | 测试方法、装置、电子设备、存储介质及程序产品 | |
CN115190083B (zh) | 应用于智能设备的数据传输方法及装置 | |
CN110781950B (zh) | 一种报文处理方法及装置 | |
CN110351273B (zh) | 一种网络追踪长链条攻击的方法、装置和系统 | |
CN113268422A (zh) | 基于分级量化的卡顿检测方法、装置、设备及存储介质 | |
CN115426363B (zh) | 智能板材加工工厂的数据采集方法及终端 | |
CN111901199A (zh) | 一种基于海量数据的快速预警匹配实现方法 | |
US11216352B2 (en) | Method for automatically analyzing bottleneck in real time and an apparatus for performing the method | |
CN112165638A (zh) | 基于云计算的视频直播处理方法及服务器 | |
CN114598731B (zh) | 集群日志采集方法、装置、设备及存储介质 | |
CN115664992A (zh) | 网络运行数据的处理方法、装置、电子设备及介质 | |
CN115344633A (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 |