1 .一种数据库的事务请求处理方法,其特征在于,所述方法包括:
接收针对数据库中第一数据行的更新事务请求;
若存储引擎中存在所述第一数据行对应的第一热行更新等待队列,则将所述更新事务
请求写入所述第一热行更新等待队列;
若所述存储引擎中不存在所述第一数据行对应的第一热行更新等待队列,则确定所述
存储引擎中所述第一数据行对应的第一行锁等待队列的队列长度;
当所述第一行锁等待队列的队列长度超过预设长度阈值时,在所述存储引擎中为所述
第一数据行创建对应的所述第一热行更新等待队列,将所述更新事务请求写入所述第一热
行更新等待队列;
响应于预设触发信号,将所述第一热行更新等待队列中的更新事务请求加入所述第一
行锁等待队列。
2.根据权利要求1所述的数据库的事务请求处理方法,其特征在于,所述响应于预设触
发信号,将所述第一热行更新等待队列中的更新事务请求加入所述第一行锁等待队列包
括:
监测所述第一行锁等待队列中是否有更新事务请求接收到所述第一数据行的行锁;
若监测到有,则产生第一预设触发信号,所述预设触发信号包括所述第一预设触发信
号;
响应于所述第一预设触发信号,将所述第一热行更新等待队列中位于队首的首更新事
务请求加入所述第一行锁等待队列。
3 .根据权利要求1所述的数据库的事务请求处理方法,其特征在于,所述响应于预设触
发信号,将所述第一热行更新等待队列中的更新事务请求加入所述第一行锁等待队列包
括:
监测所述第一热行更新等待队列中各更新事务请求的等待时长;
在监测到所述等待时长超过预设时长时,产生第二预设触发信号,所述预设触发信号
包括所述第二预设触发信号;
响应于所述第二预设触发信号,将所述等待时长超过预设时长的目标更新事务请求加
入所述第一行锁等待队列。
4 .根据权利要求3所述的数据库的事务请求处理方法,其特征在于,在响应于所述第二
预设触发信号,将所述等待时长超过预设时长的目标更新事务请求加入所述第一行锁等待
队列之后,所述方法还包括:
对所述第一行锁等待队列进行死锁检测,确定所述第一行锁等待队列中产生死锁的死
锁更新事务请求;
对所述死锁更新事务请求进行回滚操作。
5 .根据权利要求1所述的数据库的事务请求处理方法,其特征在于,所述方法还包括:
在所述第一行锁等待队列的队列长度未超过所述预设长度阈值时,将所述更新事务请
求写入所述第一行锁等待队列。
6 .根据权利要求1所述的数据库的事务请求处理方法,其特征在于,在接收针对数据库
中第一数据行的更新事务请求之后,所述方法还包括:
确定所述存储引擎中各数据行对应的更新事务请求的事务总数量;
权 利 要 求 书
1/2 页
2
评论