[发明专利]一种基于Redis的网络锁处理方法及设备有效
申请号: | 202011374843.X | 申请日: | 2020-11-30 |
公开(公告)号: | CN112486694B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 张建彬 | 申请(专利权)人: | 浪潮通用软件有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F16/23 |
代理公司: | 北京君慧知识产权代理事务所(普通合伙) 11716 | 代理人: | 董延丽 |
地址: | 250101 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 redis 网络 处理 方法 设备 | ||
1.一种基于Redis的网络锁处理方法,其特征在于,所述方法包括:
接收用户的业务操作请求;
根据所述请求对应的业务操作的加锁参数,判断所述业务操作是否存在对应的互斥操作;
确定所述业务操作对应的互斥操作未加锁的情况下,获取信号量;
对所述业务操作加锁,并将加锁信息写入Redis中存储;
根据所述请求对应的业务操作的加锁参数,判断所述业务操作是否存在对应的互斥操作之前,所述方法还包括:
基于网络控制配置信息表,获取所述业务操作请求对应的业务操作的RedisMap数据;
从所述RedisMap数据中,获取所述业务操作的加锁参数;
将加锁信息写入Redis中存储之后,所述方法还包括:
将所述加锁信息持久化到关系型数据库中;
若持久化失败,则释放锁并重新加锁;
获取信号量之后,所述方法还包括:
确定加锁失败;
从Redis存储的加锁信息表中,获取所述业务操作对应的加锁信息,作为加锁失败原因,返回给用户。
2.根据权利要求1所述的一种基于Redis的网络锁处理方法,其特征在于,获取信号量,具体包括:
判断信号量是否存在;
在信号量存在的情况下,确定所述业务操作未被加锁,获取所述信号量;
在信号量不存在的情况下,确定所述业务操作已被加锁,退出等待;其中,首次执行所述业务操作时,初始化所述信号量并获取。
3.根据权利要求1所述的一种基于Redis的网络锁处理方法,其特征在于,对所述业务操作加锁之后,所述方法还包括:
执行所述业务操作;
在所述业务操作完成之后,接收所述业务操作的完成指令,对所述业务操作解锁。
4.根据权利要求1所述的一种基于Redis的网络锁处理方法,其特征在于,对所述业务操作加锁之后,所述方法还包括:
确定所述业务操作开始执行时,对所述业务操作解锁。
5.根据权利要求1所述的一种基于Redis的网络锁处理方法,其特征在于,对所述业务操作加锁之后,所述方法还包括:
确定所述业务操作已完成,且所述业务操作仍未解锁,对所述业务操作执行异常解锁操作。
6.根据权利要求1所述的一种基于Redis的网络锁处理方法,其特征在于,将所述加锁信息持久化到关系型数据库中之后,所述方法还包括:
根据Redis中的加锁信息,确定各业务操作的加锁情况;
若无法从Redis中获取加锁信息,则从所述关系型数据库中获取所述加锁信息。
7.一种基于Redis的网络锁处理设备,其特征在于,所述处理设备包括:
处理器;
及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-6任一项所述的一种基于Redis的网络锁处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通用软件有限公司,未经浪潮通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011374843.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:图纸的展示方法和装置、存储介质、电子装置
- 下一篇:一种食品发酵设备