一种系统死锁的检测方法及系统,包括:获取多个线程的并发资源数据和调度序列信息,据以获取读锁写锁数据和抑制死锁数据;根据所述读锁写锁数据和所述抑制死锁数据,对每一所述线程构建一线程解锁模型全局读弧模型;处理所述线程解锁模型,以得到全局读弧模型全局读弧模型;获取预设死锁验证信息,根据所述全局读弧模型获取死锁检测数据。本发明专利技术解决了现有技术存在的死锁抑制效果较差的技术问题。
System deadlock detection method and system
【技术实现步骤摘要】
系统死锁的检测方法及系统
本专利技术涉及一种并发检错的方法,特别是涉及一种系统死锁的检测方法及系统。
技术介绍
并发程序常常伴随着不易被检测的并发错误,像是死锁,数据竞争等。由于这些并发错误在绝大多数执行顺序下不会出现,只有在某些特定的执行顺序下才会触发这些并发错误,因此常常需要花费较大的开销才能捕捉这些错误。系统的并发与资源的共享性是并发多线程的主要特征,其目的是提高系统的效率。死锁是并发系统必须解决的问题。综上所述,现有技术中存在死锁检测及抑制效果较差的技术问题。
技术实现思路
鉴于以上现有技术存在对并发死锁的抑制效果较差的技术问题,本专利技术的目的在于提供一种系统死锁的检测方法及系统,解决现有技术存在的对并发死锁的抑制效果较差的技术问题,一种系统死锁的检测方法,包括:获取多个线程的并发资源数据和调度序列信息,据以获取读锁写锁数据和抑制死锁数据;根据读锁写锁数据和抑制死锁数据,对每一线程构建一线程解锁全局读弧模型;处理线程解锁全局读弧模型,以得到全局读弧模型;获取预设死锁验证信息,根据全局读弧模型获取死锁检测数据。于本专利技术的一实施方式中,获取读锁写锁数据和抑制死锁数据的步骤,包括:获取每一线程的站点标记数据;根据站点标记数据获取分布存储数据;处理调度序列信息和分布存储数据,以获取分布数据操作信息;分析分布数据操作信息,以得到读锁写锁数据、抑制弧设置数据和抑锁变迁转换数据。于本专利技术的一实施方式中,构建线程解锁模型的步骤,包括:分析读锁写锁数据,得到变迁数据;提取抑制死锁数据中的抑制弧设置数据和抑锁变迁转换数据;根据变迁数据、抑制弧设置数据和抑锁变迁转换数据构造线程解锁模型。于本专利技术的一实施方式中,获取全局读弧模型的步骤,包括:获取化简信息;根据化简信息化简线程解锁模型,以得到线程简化模型;获取合成数据;根据所述合成数据处理线程简化模型,以得到全局读弧模型。于本专利技术的一实施方式中,获取并处理死锁数据的步骤,包括:分析全局读弧模型,以得到有向弧数据;处理有向弧数据,以得到读弧数据;根据读弧数据和预设死锁验证信息判断线程间是否存在共享障碍;若是,则判定被测系统死锁;若否,则判定被测系统正常。于本专利技术的一实施方式中,一种系统死锁的检测系统,包括:线程数据模块,用以获取多个线程的并发资源数据和调度序列信息,据以获取读锁写锁数据和抑制死锁数据;解锁模型构建模块,用以根据读锁写锁数据和抑制死锁数据,对每一线程构建一全局读弧模型,解锁模型构建模块与线程数据模块连接;全局模型构建模块,用以处理全局读弧模型,以得到读写状态数据,全局模型构建模块与解锁模型构建模块连接;死锁检测模块,用以获取预设死锁验证信息,根据全局读弧模型获取死锁检测数据,死锁检测模块与全局模型构建模块连接。于本专利技术的一实施方式中,线程数据模块,包括:站点模块,用以获取每一线程的站点标记数据;分布数据模块,用以根据站点标记数据获取分布存储数据,分布数据模块与站点模块连接;调度序列模块,用以处理调度序列信息和分布存储数据,以获取分布数据操作信息,调度序列模块与站点模块连接,调度序列模块与分布数据模块连接;分布分析模块,用以分析分布数据操作信息,以得到读锁写锁数据、抑制弧设置数据和抑锁变迁转换数据,分布分析模块与调度序列模块连接。于本专利技术的一实施方式中,解锁模型构建模块,包括:变迁数据模块,用以分析读锁写锁数据,得到变迁数据;抑锁数据提取模块,用以提取抑制死锁数据中的抑制弧设置数据和抑锁变迁转换数据;解锁模型模块,用以根据变迁数据、抑制弧设置数据和抑锁变迁转换数据构造线程解锁模型,解锁模型模块与变迁数据模块连接,解锁模型模块与抑锁数据提取模块连接。于本专利技术的一实施方式中,全局模型构建模块,包括:化简数据模块,用以获取化简信息;模型简化模块,用以根据所述化简信息化简所述线程解锁模型,以得到线程简化模型,模型简化模块与化简数据模块连接;合成数据模块,用于获取合成数据;合成模型处理模块,根据所述合成数据处理所述线程简化模型,以得到全局读弧模型,合成模型处理模块与模型简化模块连接,合成模型处理模块与合成数据模块连接。于本专利技术的一实施方式中,死锁检测模块,包括:有向弧模块,用以分析全局读弧模型,以得到有向弧数据;读弧数据模块,用以处理有向弧数据,以得到读弧数据,读弧数据模块与有向弧模块连接;死锁判断模块,用以根据读弧数据和预设死锁验证信息判断线程间是否存在共享障碍,死锁判断模块与读弧数据模块连接;死锁判定模块,用以在线程间存在共享障碍时,判定被测系统死锁,死锁判定模块与死锁判断模块连接;正常判定模块,用以在线程间不存在共享障碍时,判定被测系统正常,正常判定模块与死锁判断模块连接。如上所述,本专利技术目的在于提供的一种系统死锁的检测认证方法及系统克服现有技术的不足,提出一种新的分布式存储系统的死锁抑制方法。该系统通过构建检所分析模型例如读弧Petri网模型,并将抑制弧以及变迁转换引入的方法抑制并发式系统中的多线程出现死锁,同时通过对模型的合成及简化操作提高全局模型中死锁的检测效率。综上,本专利技术提供一种系统死锁的检测方法及系统,解决了现有技术存在的死锁抑制效果较差以及检测效率低的技术问题。附图说明图1显示为本专利技术的系统死锁的检测方法步骤示意图。图2显示为图1中步骤S1在一实施例中的具体流程步骤示意图。图3显示为本专利技术的读弧Petri网模型示意图。图4显示为图1中步骤S2在一实施例中的具体流程步骤示意图。图5显示为本专利技术的读写锁读弧模型示意图。图6显示为本专利技术的各站点的读弧Petri网模型示意图。图7显示为本专利技术的同步合成网模型示意图。图8显示为本专利技术的加抑制弧的读弧Petri网模型示意图。图9显示为本专利技术的加转换变迁的读弧Petri网模型示意图。图10显示为图1中步骤S3在一实施例中的具体流程步骤示意图。图11显示为本专利技术的化简模型示意图。图12显示为图1中步骤S4一实施例中的具体流程步骤示意图。图13显示为本专利技术的读弧化简模型示意图。图14显示为本专利技术的系统死锁的检测系统模块示意图。图15显示为图14中线程数据模块1在一实施例中的具体模块示意图。图16显示为图14中解锁模型构建模块2在一实施例中的具体模块示意图。图17显示为图14中全局模型构建模块3在一实施例中的具体模块示意图。图18显示为图14中死锁检测模块4在一实施例中的具体模块示意图。图19显示为哲学家就餐问题的Petri网模型示意图。图20显示为哲学家问题的公平控制器的Petri网模型示意图。图21显示为弱同步控制机制图。图22显示为弱同步控制运行结果示意图。元件标号说明1线程数据模块2解锁模型构建模块3全局模型构建模块4死锁检测模块11站点模块12分布数据模块13调度序列模块14分布分析模块<本文档来自技高网...
【技术保护点】
1.一种系统死锁的检测方法,其特征在于,包括:/n获取多个线程的并发资源数据和调度序列信息,据以获取读锁写锁数据和抑制死锁数据;/n根据所述读锁写锁数据和所述抑制死锁数据,对每一所述线程构建一线程解锁模型;/n处理所述线程解锁模型,以得到全局读弧模型;/n获取预设死锁验证信息,根据所述全局读弧模型获取死锁检测数据。/n
【技术特征摘要】
1.一种系统死锁的检测方法,其特征在于,包括:
获取多个线程的并发资源数据和调度序列信息,据以获取读锁写锁数据和抑制死锁数据;
根据所述读锁写锁数据和所述抑制死锁数据,对每一所述线程构建一线程解锁模型;
处理所述线程解锁模型,以得到全局读弧模型;
获取预设死锁验证信息,根据所述全局读弧模型获取死锁检测数据。
2.根据权利要求1所述的方法,其特征在于,所述获取读锁写锁数据和抑制死锁数据的步骤,包括:
获取每一所述线程的站点标记数据;
根据所述站点标记数据获取分布存储数据;
处理所述调度序列信息和所述分布存储数据,以获取分布数据操作信息;
分析所述分布数据操作信息,以得到所述读锁写锁数据、抑制弧设置数据和抑锁变迁转换数据。
3.根据权利要求1或2所述的方法,其特征在于,所述构建线程解锁模型的步骤,包括:
分析所述读锁写锁数据,得到变迁数据;
提取所述抑制死锁数据中的抑制弧设置数据和抑锁变迁转换数据;
根据所述变迁数据、所述抑制弧设置数据和所述抑锁变迁转换数据构造所述线程解锁模型。
4.根据权利要求1所述的方法,其特征在于,所述获取全局读弧模型的步骤,包括:
获取化简信息;
根据所述化简信息化简所述线程解锁模型,以得到线程简化模型;
获取合成数据;
根据所述合成数据处理所述线程简化模型,以得到全局读弧模型。
5.根据权利要求1所述的方法,其特征在于,所述获取并处理死锁数据的步骤,包括:
分析所述全局读弧模型,以得到有向弧数据;
处理所述有向弧数据,以得到读弧数据;
根据所述读弧数据和所述预设死锁验证信息判断所述线程间是否存在共享障碍;
若是,则判定所述被测系统死锁;
若否,则判定所述被测系统正常。
6.一种系统死锁的检测系统,其特征在于,包括:
线程数据模块,用以获取多个线程的并发资源数据和调度序列信息,据以获取读锁写锁数据和抑制死锁数据;
解锁模型构建模块,用以根据所述读锁写锁数据和所述抑制死锁数据,对...
【专利技术属性】
技术研发人员:郭绍翠,杨旭,
申请(专利权)人:烟台职业学院,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。