[发明专利]基于自适应乐观锁的文件锁定方法、系统及存储介质在审
申请号: | 202110294190.2 | 申请日: | 2021-03-19 |
公开(公告)号: | CN112988687A | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 朱黎;刘远;郭镔 | 申请(专利权)人: | 北京明略昭辉科技有限公司 |
主分类号: | G06F16/176 | 分类号: | G06F16/176;G06F9/50;G06F9/54 |
代理公司: | 青岛清泰联信知识产权代理有限公司 37256 | 代理人: | 赵燕 |
地址: | 100089 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 自适应 乐观 文件 锁定 方法 系统 存储 介质 | ||
1.一种基于自适应乐观锁的文件锁定方法,其特征在于,包括:
访问请求获取步骤,用于接收一客户端的文件访问请求并通过一等待队列缓存所述访问请求对应的锁请求;
锁冲突判断步骤,用于当已分配锁发生资源释放时,获取所述等待队列中队首锁请求,判断所述队首锁请求是否与所述队首锁请求对应的文件中已有锁请求的范围存在冲突;
请求处理步骤,用于当所述队首锁请求与所述文件中已存在的锁请求无冲突时,赋予所述队首锁请求对应的资源;反之,根据所述队首锁请求与所述已有锁请求的冲突范围是否属于扩展范围获取释放资源。
2.根据权利要求1所述的基于自适应乐观锁的文件锁定方法,其特征在于,所述请求处理步骤进一步包括:
请求资源赋予步骤,用于当所述队首锁请求与所述文件中已有锁请求无冲突时,赋予所述队首锁请求对应的资源;
扩展范围判断步骤,用于判断所述队首锁请求与所述已有锁请求的冲突范围是否属于扩展范围;
资源释放步骤,用于若所述冲突范围属于拓展范围,则当所述已有锁请求所属客户端释放所述扩展范围资源时,根据所述队首锁请求对所述扩展范围进行加锁,并将所述队首锁请求移出所述等待队列;否则,所述队首锁请求等待所述已有锁请求释放资源并执行所述锁冲突判断步骤。
3.根据权利要求2所述的基于自适应乐观锁的文件锁定方法,其特征在于,所述请求资源赋予步骤进一步包括:
唯一锁请求处理步骤,用于判断所述队首锁请求是否为所述等待队列中唯一的锁请求,若所述队首锁请求为所述等待队列中唯一的锁请求,则根据乐观锁机制对所述队首锁请求对应的资源的扩展范围加锁并将所述队首锁请求移出所述等待队列;
客户端锁请求获取步骤,用于若所述队首锁请求不是所述等待队列中唯一的锁请求,则依序遍历所述等待队列中锁请求并获取所述客户端的锁请求;
锁请求处理步骤,用于若所述等待队列中所述客户端的锁请求为所述队首锁请求,则根据乐观锁机制对所述队首锁请求对应的资源进行加锁并将所述队首锁请求移出所述等待队列;
扩展锁请求处理步骤,用于若所述等待队列中所述客户端的锁请求为包括所述队首锁请求的至少二锁请求,则根据所述至少二锁请求在所述等待队列的位置进行锁请求处理。
4.根据权利要求3所述的基于自适应乐观锁的文件锁定方法,其特征在于,扩展锁请求处理步骤进一步包括:
锁请求位置获取步骤,用于判断所述至少二锁请求是否位于所述等待队列的预设位置,若所述至少二锁请求位于所述等待队列的预设位置,则根据乐观锁机制对所述队首锁请求对应的资源的扩展范围加锁并将所述队首锁请求移出所述等待队列;否则,根据所述队首锁请求对应的资源进行加锁并将所述队首锁请求移出所述等待队列。
5.一种基于自适应乐观锁的文件锁定系统,其特征在于,包括:
访问请求获取模块,用于接收一客户端的文件访问请求并通过一等待队列缓存所述访问请求对应的锁请求;
锁冲突判断模块,用于当已分配锁发生资源释放时,获取所述等待队列中队首锁请求,判断所述队首锁请求是否与所述队首锁请求对应的文件中已有锁请求的范围存在冲突;
请求处理模块,用于当所述队首锁请求与所述文件中已存在的锁请求无冲突时,赋予所述队首锁请求对应的资源;反之,判断所述队首锁请求与所述已有锁请求的冲突范围是否属于扩展范围并获取释放资源。
6.根据权利要求5所述的基于自适应乐观锁的文件锁定系统,其特征在于,所述请求处理模块进一步包括:
请求资源赋予模块,用于当所述队首锁请求与所述文件中已有锁请求无冲突时,赋予所述队首锁请求对应的资源;
扩展范围判断模块,用于判断所述队首锁请求与所述已有锁请求的冲突范围是否属于扩展范围;
资源释放模块,用于若所述冲突范围属于拓展范围,则当所述已有锁请求所属客户端释放所述扩展范围资源时,根据所述队首锁请求对相应资源加锁,并将所述队首锁请求移出所述等待队列;否则,所述队首锁请求等待所述已有锁请求释放资源并进入所述锁冲突判断模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京明略昭辉科技有限公司,未经北京明略昭辉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110294190.2/1.html,转载请声明来源钻瓜专利网。