买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于数据库乐观锁的并发IP分配方法_紫光云技术有限公司_202010123986.7 

申请/专利权人:紫光云技术有限公司

申请日:2020-02-27

公开(公告)日:2023-08-25

公开(公告)号:CN111339099B

主分类号:G06F16/22

分类号:G06F16/22;G06F16/2455;G06F16/248;G06F9/52;H04L61/5007

优先权:

专利状态码:有效-授权

法律状态:2023.08.25#授权;2020.07.21#实质审查的生效;2020.06.26#公开

摘要:本发明创造提供了一种基于数据库乐观锁的并发IP分配方法,包括:S1、在数据库中建立ipallocations数据表;用于存储每个子网被分配与释放的ip;S2、申请IP地址,查询ipallocations数据表中当前子网内是否存在已分配的最大IP。本发明创造支持高并发分配IP,可以更好的满足用户需求,同时通过采用数据库乐观锁与唯一索引,确保了IP的唯一性,同时本方法还有利于节省内存空间,支持连续自增IP申请,可以有效防止配置冲突问题;本发明创造可以满足单线程每秒生成100+记录,多线程情况下支持5000+记录,有利于减少内存的使用,优化程序。

主权项:1.一种基于数据库乐观锁的并发IP分配方法,其特征在于,包括:S1、在数据库中建立ipallocations数据表;用于存储每个子网被分配与释放的ip;S2、申请IP地址,查询ipallocations数据表中当前子网内是否存在已分配的最大IP;S3、若存在最大IP,则将当前IP加1形成新IP,并判断新IP是否超出子网的范围,若新IP未超范围,则将新IP写入数据库,返回IP;若新IP超范围,则查询ipallocations数据表中是否存在被释放的IP,若ipallocations数据表中存在被释放的IP,则更新被释放的IP,返回IP结束,若不存在被释放的IP,则抛出IP资源池耗尽异常;S4、若不存在最大IP,则以子网的第一个IP生成一条记录写入数据库,写入成功则返回第一个IP给用户,申请IP流程结束;写入不成功,则重新进行步骤S2;所述ipallocations数据表的结构包括:id;字段描述为varchar64,非null,主键;ip_address;字段描述为varchar64,非null;subnet_id;字段描述为varchar64,非null,subnet_id与ip_address组成唯一索引;allocated;字段描述为int2,非null;1代表已经被分配,0代表未被分配;ip_index;字段描述为bigint20,非null;用于记录subnet内部ip的索引顺序;所述步骤S2中,查询最大IP的具体方法如下:查询ipallocations数据表中subnet_id=@subnet_idandallocated=1andip_index0的数据,按照ip_index倒序取最大的记录;所述步骤S3中,新IP写入数据库的具体步骤如下:S31、从ipallocations数据表查询subnet_id对应的记录A,将从ipallocations表中查询到数据的ip_address加1,校验新的ip地址是否在记录A的first_ip与last_ip范围之内;S32、若新的ip地址不在范围之内,则查询ipallocations表中subnet_id=@subnet_idandallocated=0的数据取一条,若查询到数据则执行数据更新,更新数据的allocated状态为1,若执行数据更新成功,则返回ip结束,不成功则抛出ip耗尽异常;S33、将新生成的ip存储在表ipallocations中,若成功则返回ip结束,否则执行步骤S2;所述步骤S4中,生成记录写入数据库的具体步骤如下:S41、从ipallocations数据表中查询subnet_id对应的记录进行写入,若数据库IP集合内没有对应的记录,则自动生成一条IP地址对应的数据记录,并去除保留的IP;S42、将步骤S41中查询结果的first_ip作为结果存储到表ipallocations中,其中allocated=1,ip_index=1,ip_address=@first_ip,若数据保存成功,则返回first_ip给用户,申请IP流程结束。

全文数据:

权利要求:

百度查询: 紫光云技术有限公司 一种基于数据库乐观锁的并发IP分配方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术