[发明专利]一种死锁检测方法及装置在审

专利信息
申请号: 201310732689.2 申请日: 2013-12-26
公开(公告)号: CN103761182A 公开(公告)日: 2014-04-30
发明(设计)人: 陈凯 申请(专利权)人: 上海华为技术有限公司
主分类号: G06F11/36 分类号: G06F11/36;G06F9/46
代理公司: 深圳市深佳知识产权代理事务所(普通合伙) 44285 代理人: 胡丽萍
地址: 200121 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 死锁 检测 方法 装置
【说明书】:

技术领域

发明涉及计算机技术领域,特别涉及死锁检测方法及装置。

背景技术

计算机程序中多进程/线程的死锁是指两个或两个以上的进程/线程在执行过程中,因竞争共享资源而造成的一种互相等待使用共享资源的异常现象,通常会导致整个计算机程序的服务瘫痪(挂死)。一般死锁的发生主要有如下几种类型:相互排斥、循环等待、部分分配和缺少优先权等。

在计算机程序开发和设计过程中,为了避免死锁,需要从预防和检测的环节进行改进,现有技术中对于死锁的检测,主要是监控进程/线程获取资源锁信息,然后建立资源锁图,从资源锁图中判断是否存在死锁。但是对于很多大型的计算机程序来说,代码量较大,运行时涉及的进程和线程众多,则资源锁的需求数量也大,使得生成资源锁图及从资源锁图中搜索等检测死锁的操作需要消耗大量时间和系统资源,性能不是很好。

发明内容

本发明实施例提供死锁检测方法及装置,降低死锁检测的消耗时间和资源。

本发明实施例第一方面提供一种死锁检测装置,包括:

储存单元,用于储存应用程序的资源锁的使用信息,所述使用信息中包括资源锁的占用信息和/或等待信息,及所述资源锁的时间信息;

信息获取单元,用于如果所述储存单元中储存的资源锁是互斥锁,且所述资源锁的操作时间大于或等于预置时间,则获取所述资源锁的占用信息和/或等待信息;所述资源锁的操作时间是根据所述资源锁的时间信息得到的;

锁判断单元,用于根据所述信息获取单元获取的占用信息和/或等待信息判断所述资源锁是否为死锁;

死锁信息输出单元,用于根据所述锁判断单元的判断结果,输出所述资源锁为死锁的信息。

本发明实施例第一方面的第一种可能的实现方式中,所述装置还包括:

信息记录单元,用于当应用程序的线程/进程操作所述资源锁时,将操作的所述资源锁的使用信息记录到所述储存单元中。

结合本发明实施例第一方面的第一种可能实现方式,在本发明实施例第一方面的第二种可能实现方式中,所述信息记录单元,具体包括:

等待记录单元,用于如果应用程序的线程/进程申请所述资源锁对应资源时,将等待所述资源锁的线程/进程的信息和等待时间记录到所述储存单元中;

占用记录单元,用于如果申请所述资源锁对应资源成功时,删除所述储存单元中等待所述资源锁的线程/进程的信息和等待时间,并将占用所述资源锁的线程/进程的信息和占用时间记录到所述储存单元中;

释放记录单元,用于如果释放所述资源锁对应资源时,删除所述储存单元中占用所述资源锁的线程/进程的信息和占用时间。

结合本发明实施例第一方面的第一种可能实现方式,在本发明实施例第一方面的第三种可能实现方式中,所述装置还包括:

调用单元,用于调用系统通用库中的锁操作函数,对所述资源锁对应资源进行操作。

结合本发明实施例第一方面,或第一方面的第一种到第三种可能实现方式中任一种可能实现方式,在本发明实施例第一方面的第四种可能实现方式中,所述锁判断单元具体包括如下至少一个判断单元:第一判断单元、第二判断单元、第三判断单元和第四判断单元,其中:

第一判断单元,用于如果第一线程/进程占用第二线程/进程所等待的资源锁,且所述第二线程/进程占用所述第一线程/进程占用的资源锁,则确定第一线程/进程和第二线程/进程占用的资源锁为死锁;

第二判断单元,用于如果所述第一线程/进程占用执行某项操作的部分资源锁,所述第二线程/进程占用执行所述某项操作的另一部分资源锁,则确定所述部分资源锁和所述另一部分资源锁为死锁;

第三判断单元,用于如果第一线程/进程等待第二线程/进程所占用的资源锁,第二线程/进程等待第三线程/进程所占用的资源锁,第三线程/进程等待第一线程/进程所占用的资源锁,则确定所述第一线程/进程、第二线程/进程和第三线程/进程所占用的资源锁为死锁;

第四判断单元,用于如果第一线程/进程占用某一资源锁的时间超过预置的占用时间,则确定所述第一线程/进程的占用的资源锁为死锁。

结合本发明实施例第一方面,或第一方面的第一种到第三种可能实现方式中任一种可能实现方式,在本发明实施例第一方面的第五种可能实现方式中,所述装置还包括:

释放单元,用于如果所述死锁对应的线程/进程退出时,释放所述死锁对应的资源。

本发明实施例第二方面提供一种死锁检测方法,包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华为技术有限公司,未经上海华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310732689.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top