1 .一种闩锁请求方法,其特征在于,包括:
接收对应的数据库节点发起的第一闩锁请求,所述第一闩锁请求包括所述数据库节点
的待封锁对象及对应的闩封锁模式;
根据所述第一闩锁请求查找所述数据库节点对应的本地控制信息,所述本地控制信息
包括历史第一闩锁请求和本地闩锁授权信息;
如果查找结果满足请求发送条件,则向提供闩锁授权的第一数据库发送第二闩锁请
求,所述第二闩锁请求包括所述待封锁对象、所述闩封锁模式和所述数据库节点的实例标
识;
将所述第一闩锁请求存入所述历史第一闩锁请求;所述第一闩锁请求还包括所述数据
库节点当前所服务用户的用户标识;
当接收到所述第一数据库发送的所述待封锁对象的闩锁授权信息时,将所述闩锁授权
信息存入所述本地闩锁授权信息并将所述历史第一闩锁请求中所述第一闩锁请求清除;
根据所述用户标识向所述数据库节点发送授权通知。
2.根据权利要求1所述的方法,其特征在于,所述请求发送条件包括:未授权条件和未
请求条件。
3 .根据权利要求2所述的方法,其特征在于,所述未授权条件包括:所述本地闩锁授权
信息中不包括所述待封锁对象或所述本地闩锁授权信息中所述待封锁对象对应的授权闩
封锁模式的等级低于所述闩封锁模式的等级;
所述未请求条件包括:所述历史第一闩锁请求中不包括所述待封锁对象或所述历史第
一闩锁请求中所述待封锁对象对应的历史闩封锁模式的等级低于所述闩封锁模式的等级;
其中,所述闩封锁模式包括共享模式和等级大于所述共享模式的独占模式。
4 .根据权利要求1所述的方法,其特征在于,还包括:
接收所述第一数据库发送的权限回收请求,所述权限回收请求包括回收对象;
如果所述本地闩锁授权信息中不存在所述回收对象或所述回收对象对应的引用计数
为零,则向所述第一数据库发送回收响应信息;否则登记所述权限回收请求。
5 .根据权利要求1所述的方法,其特征在于,还包括:
当接收到所述第一闩锁请求时,将所述封锁对象对应的引用计数加一;
当接收到所述对应数据库节点发起的释放信息时,将所述引用计数减一;
当所述引用计数为零且存在所述第一数据库发送的权限回收请求时,向所述第一数据
库发送回收响应信息。
6 .一种闩锁授权方法,其特征在于,包括:
接收提供闩锁请求的第二数据库发送的第二闩锁请求,所述第二闩锁请求包括所述第
二数据库的待封锁对象、对应的闩封锁模式和所述第二数据库的实例标识;
根据所述第二闩锁请求查找数据库集群对应的全局控制信息,所述全局控制信息包括
历史第二闩锁请求和全局闩锁授权信息;
如果查找结果满足请求授权条件,则向所述第二数据库发送所述待封锁对象的闩锁授
权信息,所述闩锁授权信息包括所述待封锁对象、所述闩封锁模式和所述第二数据库的实
例标识;
如果所述历史第二闩锁请求中不包括所述封锁对象且存在占 用所述待封锁对象的冲
权 利 要 求 书
1/3 页
2
评论