[发明专利]基于redis的分配递增整型数据的方法在审
申请号: | 202110952548.6 | 申请日: | 2021-08-19 |
公开(公告)号: | CN113806384A | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 许勇 | 申请(专利权)人: | 紫光云(南京)数字技术有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/22 |
代理公司: | 南京苏博知识产权代理事务所(普通合伙) 32411 | 代理人: | 赖忠辉 |
地址: | 211800 江苏省南京市浦口区江浦街*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 redis 分配 递增 整型 数据 方法 | ||
本发明涉及数据处理领域,具体涉及一种基于redis的分配递增整型数据的方法,包括:redis分布式锁锁住用户ID;在redis系统中存入key和value对应的值;基于key值对redis中的整形数组进行数据分配;redis分布式锁解锁。从而可利用redis作为第三方工具,利用本专利提出的分配算法,分配出递增的整型数据,或者是获取其中被释放的整型数据,目的是防止资源的重复分配;保证数据库的数据资源与redis的数据一致性;使用redis分布式锁锁住用户,防止多个用户抢夺整型资源分配过程。
技术领域
本发明涉及数据处理领域,尤其涉及一种基于redis的分配递增整型数据的方法。
背景技术
在分布式应用时代,多用户并发场景下,需要为用户分配某项资源的标识,可以为其分配一个递增的整型资源,但是不同于单体应用,是存在着重复分配的风险。
发明内容
本发明的目的在于提供一种基于redis的分配递增整型数据的方法,旨在防止资源的重复分配。
为实现上述目的,本发明提供了一种基于redis的分配递增整型数据的方法,包括:redis分布式锁锁住用户ID;
在redis系统中存入key和value对应的值;
基于key值对redis中的整形数组进行数据分配;
redis分布式锁解锁。
其中,所述在redis系统中存入key和value对应的值的具体步骤是:
将设定的key和value存入redis系统;
根据key值查询redis存储的整型数组,如果没有值,就从数据库查询出来存入redis的key对应的整型数组中。
其中,所述基于key值对redis中的整形数组进行数据分配的具体步骤是:
整形数组进行升序排序;
遍历该数组,按顺序两两比较相邻的数值,若差值大于一,则分配其中小值加1,存入redis中key对应的数组和数据库中,若差值小于1继续遍历该数组,直至数组的最后一个值;
到数组最后一个值时则将较大值加1,获取该数值并存入redis中key对应的数组中和数据库中。
其中,所述整形数组进行升序排序之前,所述步骤还包括:如果不存在数据,则将初始化数据整型数字1存入redis的key对应的数组中和数据库中。
其中,所述到数组最后一个值时则将较大值加1,获取该数值并存入redis中key对应的数组中和数据库中之后,所述步骤还包括:
若需释放整型数字资源,则删除数据库中的资源,并且从redis的key对应的数组中移除。
本发明的一种基于redis的分配递增整型数据的方法,包括:redis分布式锁锁住用户ID;在redis系统中存入key和value对应的值;基于key值对redis中的整形数组进行数据分配;redis分布式锁解锁。从而可利用redis作为第三方工具,利用本专利提出的分配算法,分配出递增的整型数据,或者是获取其中被释放的整型数据,目的是防止资源的重复分配;保证数据库的数据资源与redis的数据一致性;使用redis分布式锁锁住用户,防止多个用户抢夺整型资源分配过程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种基于redis的分配递增整型数据的方法的分配逻辑图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云(南京)数字技术有限公司,未经紫光云(南京)数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110952548.6/2.html,转载请声明来源钻瓜专利网。