暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
一种数据库中锁资源监控方法及装置_CN116089100A_北京万里开源软件有限公司.pdf
34
21页
0次
2024-04-25
免费下载
(19)国家知识产权局
(12)发明专利申请
(10)申请公布号
(43)申请公布日
(21)申请号 202310038785 .0
(22)申请日 2023 .01 .12
(71)申请人 北京万里开源软件有限公司
地址 100000 北京市丰台区海鹰路6号院9
号楼3层3107
(72)发明人 娄帅 邓岳林 
(74)专利代理机构 北京冠和权律师事务所
11399
专利代理师 郑延斌
(51)Int.Cl .
G06F
9/52
(2006 .01)
G06F
16/22
(2019 .01)
G06F
11/30
(2006 .01)
(54)发明名称
一种数据库中锁资源监控方法及装置
(57)摘要
本发明提供一种数据库中锁资源监控方法
及装置其方法包括统一封装和管理数据库中使
用的锁资源添加全局锁资源等待管理模块
锁资源持有和等待关系发生变化时更新对应锁
资源的管理信息和全局锁资源等待管理模块中
的信息通过直接查询表的方式访问锁资源的全
局锁资源等待管理模块构建锁资源的等待关
本发明在数据库系统中的系统锁资源使
对锁资源结构和使用接口进行封装为系统
锁资源等待关系提供监控数据对系统锁资源的
监控进行优化为数据库系统因为系统锁资源发
生等待后提供直接的监控方式提升了数据库
系统的易用性和运维性
权利要求书4页 说明书13页 附图3页
CN 116089100 A
2023.05.09
CN 116089100 A
1 .一种数据库中锁资源监控方法其特征在于包括
S1统一封装和管理数据库中使用的锁资源
S2添加全局锁资源等待管理模块
S3在锁资源持有和等待关系发生变化时更新对应锁资源的管理信息和全局锁资源
等待管理模块中的信息
S4通过直接查询表的方式访问锁资源的全局锁资源等待管理模块构建锁资源的等
待关系
2.根据权利要求1所述的一种数据库中锁资源监控方法其特征在于S1包括
S101封装锁资源根据不同锁资源类型封装不同类型的数据库系统锁资源管理具体
的锁资源锁资源类型包括互斥锁资源类型和读写锁资源类型
S102初始化锁资源对于互斥锁资源类型初始化包含的系统互斥锁赋值标识字符
将持有锁资源线程ID置空对于读写锁资源类型初始化包含的系统读写锁赋值标识
字符串将持有锁资源线程ID链表初始化
S103获取锁资源
对于互斥锁资源类型在获取锁资源前将互斥锁当前线程ID及当前等待时间点
加入全局锁资源等待管理模块在获取锁资源时调用系统接口对系统互斥锁加锁在获取
锁资源后更新持有锁资源的线程ID和持有者获取到锁的时间点将当前获取的互斥锁线
程ID赋值给持有锁资源的线程ID更新持有者获取到锁的时间点并将当前线程请求的互
斥锁从全局锁等待管理模块移除
对于读写锁资源类型在获取锁资源前将读写锁当前线程ID请求锁的模式以及当
前等待时间点加入全局锁资源等待管理模块在获取锁资源时调用系统接口对系统读写
锁加锁在获取锁资源后更新持有锁资源线程ID链表持有者获取到锁的时间点及持
有锁的模式如果为读模式更新持有锁的模式为读模式并将当前获取到读写锁的线程ID
加入持有锁资源线程ID链表如果为写模式更新持有锁的模式为写模式将当前获取到读
写锁的线程ID加入持有锁资源的线程ID链表更新持有者获取到锁的时间点为当前时间
并将当前线程请求的读写锁从全局锁等待管理模块中移除
S104释放锁资源对于互斥锁资源类型在释放锁资源前更新持有锁资源的线程ID
为NULL在释放锁资源时调用系统接口对系统互斥锁解锁对于读写锁资源类型在释放
锁资源前将当前线程ID从持有锁资源的线程ID链表中移除在释放锁资源时调用系统接
口对系统读写锁解锁
S105销毁锁资源对于互斥锁资源类型调用系统接口对互斥锁进行销毁对于读写
锁资源类型调用系统接口对读写锁进行销毁
3 .根据权利要求1所述的一种数据库中锁资源监控方法其特征在于S2包括
S201对于互斥锁资源类型记录等待互斥锁的线程ID锁类型获取锁的开始时间点
以及封装后的互斥锁
S202对于读写锁资源类型记录等待读写锁的线程ID锁类型获取锁的模式获取锁
的开始时间点以及封装后的读写锁
S203一个线程在同一时刻只出现一个锁资源的等待在线程获取锁资源前将对应
的等待信息加入全局锁资源等待管理模块线程第一次向全局锁资源等待管理模块加入等
权 利 要 求 书
1/4
2
CN 116089100 A
2
待信息时全局锁资源管理模块为当前线程分配一个等待信息结构并且缓存在当前线程
上。
4 .根据权利要求1所述的一种数据库中锁资源监控方法其特征在于S3包括
S301在获取锁资源时调用对应类型的锁资源的获取接口在接口内部更新对应锁资
源的管理信息和线程在全局锁资源等待管理模块中的信息
S302在释放锁资源时调用对应的类型的锁资源的释放接口在接口内部更新对应锁
资源的管理信息
S303更新锁资源的管理信息的和全局锁资源等待管理模块的信息
5 .根据权利要求1所述的一种数据库中锁资源监控方法其特征在于S4包括
S401构建锁资源等待关系通过遍历全局锁资源等待管理模块找到处于等待状态的
锁资源根据等待线程ID和锁资源的当前持有者构成等待边如果当前锁类型为读写锁
构成若干个等待边将等待边的信息描述为九元组模式信息
S402通过访问表的方式显示等待关系根据九元组模式信息创建一个拥有九个字段
的锁资源等待表锁资源等待表的字段与等待的九元组模式信息相对应在表的查询接口
使用S401步骤中构建锁资源等待关系的方法构建等待边信息查询锁资源等待表时
直接返回生成的等待边数据
6 .一种数据库中锁资源监控装置其特征在于包括
锁资源结构封装模块用于统一封装和管理数据库中使用的锁资源
添加模块用于添加全局锁资源等待管理模块
锁资源接口封装模块用于在锁资源持有和等待关系发生变化时更新对应锁资源的
管理信息和全局锁资源等待管理模块中的信息
锁资源等待关系查询模块用于通过直接查询表的方式访问锁资源的全局锁资源等待
管理模块构建锁资源的等待关系
7 .根据权利要求6所述的一种数据库中锁资源监控装置其特征在于锁资源结构封装
模块包括锁资源封装单元锁资源初始化单元锁资源获取单元锁资源释放单元和锁资源
销毁单元
锁资源封装单元用于根据不同锁资源类型封装不同类型的数据库系统锁资源管理
具体的锁资源锁资源类型包括互斥锁资源类型和读写锁资源类型
锁资源初始化单元用于对于互斥锁资源类型初始化包含的系统互斥锁赋值标识字
符串将持有锁资源线程ID置空对于读写锁资源类型初始化包含的系统读写锁赋值标
识字符串将持有锁资源线程ID链表初始化
锁资源获取单元用于对于互斥锁资源类型在获取锁资源前将互斥锁当前线程ID
及当前等待时间点加入全局锁资源等待管理模块在获取锁资源时调用系统接口对系
统互斥锁加锁在获取锁资源后更新持有锁资源的线程ID和持有者获取到锁的时间点
当前获取的互斥锁线程ID赋值给持有锁资源的线程ID更新持有者获取到锁的时间点
将当前线程请求的互斥锁从全局锁等待管理模块移除
对于读写锁资源类型在获取锁资源前将读写锁当前线程ID请求锁的模式以及当
前等待时间点加入全局锁资源等待管理模块在获取锁资源时调用系统接口对系统读写
锁加锁在获取锁资源后更新持有锁资源线程ID链表持有者获取到锁的时间点及持
权 利 要 求 书
2/4
3
CN 116089100 A
3
of 21
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。