待信息时,全局锁资源管理模块为当前线程分配一个等待信息结构,并且缓存在当前线程
上。
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
相关文档
评论