[发明专利]一种数据并发竞争冲突检测分析方法及系统有效
申请号: | 202210023261.X | 申请日: | 2022-01-10 |
公开(公告)号: | CN114035970B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 赵熙 | 申请(专利权)人: | 南京云信达科技有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 并发 竞争 冲突 检测 分析 方法 系统 | ||
1.一种数据并发竞争冲突检测分析方法,其特征在于,包括以下步骤:
S1、基于系统临界资源保护接口情况信息生成并发送mutex互斥资源接口的监控指令;
S2、对监控指令进行处理,创建对应mmap内存存储区,并对对应的mutex互斥资源接口进行hook;
S3、当线程访问mutex互斥资源接口时,判断内存存储区中是否存在当前的mutex互斥资源接口地址,如果是,则结束;如果否,则对mmap内存存储区中的数据进行更新,并进入步骤S4;
S4、当mmap内存存储区中持有count为负时,获取并根据当前锁持有者的线程情况信息采用对应的死锁检测方法进行死锁判定,生成死锁检测结果,并进行异常输出;包括:判断持有count是否为负,如果否,则结束;如果是,则获取当前锁持有者的线程情况信息;判断当前锁持有者的线程情况信息是否为单线程,如果是,则判断线程位图的bit使用位数量是否为1,若是,则为非死锁,若否,则为死锁,记录持有死锁的相关记录,并进行异常输出;如果否,则根据资源持有者位图和等待资源位图结合进行死锁判断,当且仅当线程持有者的所有占用资源在同一位图中为非死锁状态,线程的两个位图进行逻辑与操作,运算后的结果若为真则为非死锁状态,记录持有死锁的相关记录,并进行异常输出。
2.根据权利要求1所述的一种数据并发竞争冲突检测分析方法,其特征在于,所述存储区包括锁地址链表、资源持有者位图和等待资源位图。
3.根据权利要求2所述的一种数据并发竞争冲突检测分析方法,其特征在于,所述锁地址链表包括计数器count、时间戳、线程id和线程位图。
4.根据权利要求3所述的一种数据并发竞争冲突检测分析方法,其特征在于,所述步骤S3包括:
当线程访问mutex互斥资源接口时,判断当前锁地址链表是否存在当前的mutex地址,如果是,则结束;如果否,则对线程位图进行标记,并将mutex地址、线程id、时间戳、计数器count和标记后的线程位图存放至mmap内存存储区;
判断count是否为0,如果是,则更新资源持有者位图;如果否,则更新等待资源位图,并进入步骤S4。
5.一种数据并发竞争冲突检测分析系统,其特征在于,包括系统临界资源客户端模块、系统临界资源hook模块、数据更新模块以及死锁冲突检测模块,其中:
系统临界资源客户端模块,用于基于系统临界资源保护接口情况信息生成并发送mutex互斥资源接口的监控指令;
系统临界资源hook模块,用于对监控指令进行处理,创建对应mmap内存存储区,并对对应的mutex互斥资源接口进行hook;
数据更新模块,用于当线程访问mutex互斥资源接口时,判断内存存储区中是否存在当前的mutex互斥资源接口地址,如果是,则结束;如果否,则对mmap内存存储区中的数据进行更新,并进入死锁冲突检测模块;
死锁冲突检测模块,用于当mmap内存存储区中持有count为负时,获取并根据当前锁持有者的线程情况信息采用对应的死锁检测方法进行死锁判定,生成死锁检测结果,并进行异常输出;包括:用于判断持有count是否为负,如果否,则结束;如果是,则获取当前锁持有者的线程情况信息;判断当前锁持有者的线程情况信息是否为单线程,如果是,则判断线程位图的bit使用位数量是否为1,若是,则为非死锁,若否,则为死锁,记录持有死锁的相关记录,并进行异常输出;如果否,则根据资源持有者位图和等待资源位图结合进行死锁判断,当且仅当线程持有者的所有占用资源在同一位图中为非死锁状态,线程的两个位图进行逻辑与操作,运算后的结果若为真则为非死锁状态,记录持有死锁的相关记录,并进行异常输出。
6.根据权利要求5所述的一种数据并发竞争冲突检测分析系统,其特征在于,还包括资源回溯模块,用于回溯死锁相关业务线程。
7.根据权利要求5所述的一种数据并发竞争冲突检测分析系统,其特征在于,还包括解锁模块,用于提供接锁的处理,通过扫描锁地址链表,找到死锁的mutex地址,进行解锁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京云信达科技有限公司,未经南京云信达科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210023261.X/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置