1 .一种数据库的锁配置方法,包括:
获取到对数据库资源的排他锁请求;
根据所述排他锁请求获取所述数据库资源的排他锁;
若检测到未成功获取排他锁,获取所述数据库资源当前持有锁的类型;
若所述数据库资源当前持有锁的类型为共享锁,对所述数据库资源的锁状态添加预设
排他标记并设置为第一标记状态,所述预设排他标记的第一标记状态用于禁止所述排他锁
请求之外的共享锁请求和排他锁请求获取所述数据库资源的锁。
2 .根据权利要求1所述的数据库的锁配置方法,其中,
所述预设排他标记具有第二标记状态,所述第二标记状态允许所述排他锁请求之外的
共享锁请求和排他锁请求获取所述数据库资源的锁;
所述对所述数据库资源的锁状态添加预设排他标记的步骤之后包括:
在预设超时时间内尝试获取所述数据库资源的排他锁;
检测到在达到所述预设超时时间的情况下排他锁仍未获取成功,将所述预设排他标记
修改为第二标记状态。
3 .根据权利要求2所述的数据库的锁配置方法,其中,
所述数据库配置有预设请求队列,所述预设请求队列用于按照顺序放置对所述数据库
资源的锁请求,所述获取所述数据库资源当前持有锁的类型的步骤之前包括:
检查所述预设请求队列是否为空,若是,将所述排他锁请求放入预设请求队列并执行
所述获取所述数据库资源当前持有锁的类型的步骤;若否,将所述排他锁请求放入预设请
求队列并结束请求工作。
4 .根据权利要求3所述的数据库的锁配置方法,其中,
所述检查所述预设请求队列是否为空的步骤包括:检查所述数据库资源的锁状态是否
设置有预设等待标记,若是,判定所述预设请求队列已存在锁请求,执行将所述排他锁请求
放入预设请求队列并结束请求工作的步骤;
若否,判定所述预设请求队列为空,执行将所述排他锁请求放入预设请求队列并执行
所述获取所述数据库资源当前持有锁的类型的步骤,并且在所述数据库资源的锁状态设置
预设等待标记;
其中,所述预设等待标记用于指示所述预设请求队列中存在等待的锁请求。
5 .根据权利要求3所述的数据库的锁配置方法,其中,
所述获取到对数据库资源的排他锁请求包括:获取到所述预设请求队列中的排他锁请
求;
在获取到所述预设请求队列中的排他锁请求的情况下,所述检测到在达到预设超时时
间的情况下排他锁仍未获取成功的步骤之后包括:将所述排他锁请求在所述预设请求队列
的排序向后调整。
6 .根据权利要求3所述的数据库的锁配置方法,其中,
获取到对所述数据库资源的共享锁请求;
检查所述数据库资源的锁状态是否具有所述预设排他标记,若是,将所述共享锁请求
放入所述预设请求队列并结束请求工作;
若否,检查所述预设请求队列是否为空,若是,根据所述共享锁请求获取所述数据库资
权 利 要 求 书
1/2 页
2
评论