[发明专利]程序运行故障诊断方法及装置、计算设备和存储介质在审
申请号: | 202210606857.2 | 申请日: | 2022-05-31 |
公开(公告)号: | CN114911645A | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 张茂巡 | 申请(专利权)人: | 重庆云内核智能科技有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/48 |
代理公司: | 北京华夏正合知识产权代理事务所(普通合伙) 11017 | 代理人: | 韩登营 |
地址: | 401122 重庆*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 运行 故障诊断 方法 装置 计算 设备 存储 介质 | ||
本申请实施例涉及计算机技术领域,且涉及一种程序运行故障诊断方法及装置、计算设备和存储介质。具体方案为:构造步骤,包括在待诊断程序运行的过程中,针对触发执行的当前事件,根据当前事件与其上级事件的关系构造事件树;其中,上级事件是触发当前事件的事件;检查步骤,包括检查事件树的深度;建步骤,包括在事件树的深度大于等于预先设置的深度阈值的情况下,根据事件树构建有向图;检测步骤,包括对有向图执行环检测;诊断步骤,包括根据环检测的结果,得到待诊断程序的故障诊断结果。本申请实施例在待诊断程序运行过程中实现程序运行故障诊断,将故障定位到事件关联的脚本,避免无限循环关系导致进程假死,提高系统可靠性和资源利用率。
技术领域
本发明涉及计算机技术领域,尤其涉及程序运行故障诊断方法及装置、计算设备和存储介质。
背景技术
目前,基于事件驱动的软件设计应用广泛于各个领域。从底层操作系统内核的进程调度、I/O事件,到应用层UI界面(User Interface,用户界面)、WEB(World Wide Web,全球广域网)网页的鼠标点击、键盘输入事件,都采用了事件模型来解决连续、随机出现的问题。一方面,绝大部分事件模型中的事件都是独立的,多个触发事件之间没有任何联系,即一次事件触发后完成的动作是有限且可预知的。另一方面,在一个由事件驱动脚本运行的系统中,由于脚本可以灵活编写任意代码,事件触发后的动作无法预知,且有可能会级联触发任意其他事件。在无法通过静态分析获得事件之间的触发关系时,如果在多个脚本的事件触发关系中存在循环,将会导致系统陷入事件的无限循环中,占用系统资源且可能导致进程假死。
发明内容
鉴于现有技术的以上问题,本申请实施例提供一种程序运行故障诊断方法及装置、计算设备和存储介质,可在待诊断程序运行的过程中实现程序运行故障诊断,可将故障信息定位到事件关联的脚本,避免因无限循环关系导致的进程假死,提高系统的可靠性和资源利用率。
为达到上述目的,本申请第一方面提供了一种程序运行故障诊断方法,包括:
构造步骤,包括在待诊断程序运行的过程中,针对触发执行的当前事件,根据所述当前事件与其上级事件的关系构造事件树;其中,所述上级事件是触发所述当前事件的事件;
检查步骤,包括检查所述事件树的深度;
构建步骤,包括在所述事件树的深度大于等于预先设置的深度阈值的情况下,根据所述事件树构建有向图;
检测步骤,包括对所述有向图执行环检测;
诊断步骤,包括根据所述环检测的结果,得到所述待诊断程序的故障诊断结果。
作为第一方面的一种可能的实现方式,所述方法还包括:
在待诊断程序运行的过程中,将所述当前事件添加到事件队列;
将所述事件队列的队首元素依次从所述事件队列中取出,针对所述队首元素执行所述构造步骤、所述检查步骤、所述构建步骤、所述检测步骤和所述诊断步骤。
作为第一方面的一种可能的实现方式,所述针对触发执行的当前事件,根据所述当前事件与其上级事件的关系构造事件树,包括:
将所述上级事件的实例设置到线程本地变量中;
在所述上级事件触发执行的过程中,根据所述线程本地变量获取所述当前事件与其上级事件的关系;
根据所述当前事件与其上级事件的关系构造事件树;
从所述线程本地变量中移除所述上级事件的实例。
作为第一方面的一种可能的实现方式,所述根据所述当前事件与其上级事件的关系构造事件树,包括:
在所述事件树中,将所述当前事件与其上级事件建立父子事件关系;
更新所述事件树的深度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆云内核智能科技有限公司,未经重庆云内核智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210606857.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种骨科创伤组合式接骨板
- 下一篇:一种超声波洁牙器换能器