[发明专利]一种分布式优先级排队锁的实现方法有效
申请号: | 201611118040.1 | 申请日: | 2016-12-07 |
公开(公告)号: | CN106775974B | 公开(公告)日: | 2019-12-10 |
发明(设计)人: | 姚文俊;杨松;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 44332 广东莞信律师事务所 | 代理人: | 余伦 |
地址: | 523808 广东省东莞市松山湖高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 优先级 排队 实现 方法 | ||
1.一种分布式优先级排队锁的实现方法,其特征在于:所述的方法包括如下步骤:
步骤1:给每个请求设置一个优先级和优先级策略,并开始获取锁;
步骤2:判断数据库互斥字段是否为空,如果为空,则执行步骤3,如果不为空则执行步骤6;
步骤3:判断队列是否有等待请求,如果没有等待的请求,则执行步骤9,如果有等待的请求,则执行步骤4;
步骤4:判断请求自己是否在队列中,如果在队列中,则执行步骤5;否则执行步骤6;
步骤5:判断请求自己是否在第一位,如果是第一位,则执行步骤9;否则等待一段时间后,重新执行步骤2,继续获取锁;
步骤6:根据优先级策略提升请求的优先级策略;
步骤7:优先级是否达到阈值,如果优先级达到预设的优先级阈值,则执行步骤8,否则等待一段时间后,重新执行步骤2,继续获取锁;
步骤8:把请求放入到排队队列,重新执行步骤2,继续获取锁;
步骤9:设置数据库互斥字段,如果设置成功,则执行步骤10,如果设置失败,执行步骤6;
步骤10:处理请求并且把数据库互斥字段清空,流程结束。
2.根据权利要求1所述的分布式优先级排队锁的实现方法,其特征在于:所述优先级策略是设置互斥字段失败后优先级增加的步长或者是根据公式计算出新的优先级;
所述数据库互斥字段是指这个字段只能一个请求进行设置更新,一旦一个请求操作成功,则其他请求无法进行操作成功。
3.根据权利要求1所述的分布式优先级排队锁的实现方法,其特征在于:
所述排队队列是请求的队列,在此队列中请求按照顺序来获取锁,并且系统会优先处理队列中的请求。
4.根据权利要求2所述的分布式优先级排队锁的实现方法,其特征在于:
所述排队队列是请求的队列,在此队列中请求按照顺序来获取锁,并且系统会优先处理队列中的请求。
5.根据权利要求1至4任一项所述的分布式优先级排队锁的实现方法,其特征在于:
所述的阈值是预先设定的一个优先级值,当请求的优先级达到这个值之后,将进入到排队队列中。
6.根据权利要求1至4任一项所述的分布式优先级排队锁的实现方法,其特征在于:所述的获取锁是指获取一个令牌,只有拿到这个令牌请求才能执行,避免请求并发处理导致数据出错。
7.根据权利要求5所述的分布式优先级排队锁的实现方法,其特征在于:所述的获取锁是指获取一个令牌,只有拿到这个令牌请求才能执行,避免请求并发处理导致数据出错。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611118040.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:移动终端以及应用的入口信息批量转移的方法和装置
- 下一篇:进程调度方法及装置