[发明专利]一种分布式优先级排队锁的实现方法有效

专利信息
申请号: 201611118040.1 申请日: 2016-12-07
公开(公告)号: CN106775974B 公开(公告)日: 2019-12-10
发明(设计)人: 姚文俊;杨松;季统凯 申请(专利权)人: 国云科技股份有限公司
主分类号: G06F9/48 分类号: G06F9/48
代理公司: 44332 广东莞信律师事务所 代理人: 余伦
地址: 523808 广东省东莞市松山湖高*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及分布式并发和JAVA开发技术领域,特别是一种分布式优先级排队锁的实现方法。本发明首先给需要执行操作的请求设置一个优先级;然后开始获取锁,判断数据库中的互斥字段是否为空,如果不为空,则获取锁失败,否则判断是否队列中有正在等待对象,自己是否在队列中,队列中第一位是不是自己,如果是,则设置互斥字段,否则获取锁失败。设置互斥字段成功则为获取锁成功,请求处理完成后则释放互斥字段;获取锁失败时,如果请求不在队列中,则提升优先级,如果优先级提升到预定值,则加入队列,如此循环,直到成功获取锁,或者超时。本发明解决了请求可能获取不到锁、锁获取效率不高、优先级不灵活问题,可用在并发量大、需要优先处理特定请求的分布式环境中。
搜索关键词: 一种 分布式 优先级 排队 实现 方法
【主权项】:
1.一种分布式优先级排队锁的实现方法,其特征在于:所述的方法包括如下步骤:/n步骤1:给每个请求设置一个优先级和优先级策略,并开始获取锁;/n步骤2:判断数据库互斥字段是否为空,如果为空,则执行步骤3,如果不为空则执行步骤6;/n步骤3:判断队列是否有等待请求,如果没有等待的请求,则执行步骤9,如果有等待的请求,则执行步骤4;/n步骤4:判断请求自己是否在队列中,如果在队列中,则执行步骤5;否则执行步骤6;/n步骤5:判断请求自己是否在第一位,如果是第一位,则执行步骤9;否则等待一段时间后,重新执行步骤2,继续获取锁;/n步骤6:根据优先级策略提升请求的优先级策略;/n步骤7:优先级是否达到阈值,如果优先级达到预设的优先级阈值,则执行步骤8,否则等待一段时间后,重新执行步骤2,继续获取锁;/n步骤8:把请求放入到排队队列,重新执行步骤2,继续获取锁;/n步骤9:设置数据库互斥字段,如果设置成功,则执行步骤10,如果设置失败,执行步骤6;/n步骤10:处理请求并且把数据库互斥字段清空,流程结束。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201611118040.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top