[发明专利]一种数据存储方法和装置在审
申请号: | 201910090893.6 | 申请日: | 2019-01-30 |
公开(公告)号: | CN111506582A | 公开(公告)日: | 2020-08-07 |
发明(设计)人: | 叶树军 | 申请(专利权)人: | 普天信息技术有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 孙清然;王琦 |
地址: | 100080 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 | ||
本申请公开了一种数据存储方法和装置,其中方法包括:当数据提供设备首次需要增加数据记录至预设的数据库表时,从数据库表中获取所述设备当前可用的记录标识,利用其将数据记录增加到数据库表中,利用预设的标识扩展数量,对该记录标识进行号码扩展,将所得到的标识号码范围保存在内存中,并将数据库表中该设备可用的记录标识更新为该标识号码范围的最大值加1;当所述设备在首次之后需要增加数据记录至数据库表时,控制当前需要增加数据记录的线程逐一访问内存获取记录标识,并利用该记录标识将数据记录保存至数据库表中,当标识号码范围中的记录标识均被使用时,触发对内存中的标识号码范围进行更新。采用本发明可以减少对数据库访问的压力。
技术领域
本发明涉及计算机应用技术,特别是涉及一种数据存储方法和装置。
背景技术
采用分布式架构的系统中,数据在存储和读取时都需要一个能够唯一区分数据记录的标识,这个标识通常称为序列号或ID。确保ID的唯一性是在系统设计时,尤其是数据库使用分库分表的时候,需要解决的问题。
目前,在采用分布式架构的系统中,数据提供设备每次向数据库中增加一条新的数据记录时,需要先从数据库中获取可用的数据记录标识,然后,再将该数据记录标识与该新增的数据记录关联在一起增加到数据库中。
上述数据记录的增加方法中,由于每增加一条新数据记录时都要先执行ID获取操作,使得在数据高并发场景下,对数据库的访问次数过大,从而导致数据库的访问压力很大。
发明内容
有鉴于此,本发明的主要目的在于提供一种数据存储方法和装置,可以有效降低新增数据记录对数据库的访问压力。
为了达到上述目的,本发明提出的技术方案为:
一种数据存储方法,包括:
当数据提供设备首次需要增加数据记录至预设的数据库表时,从所述数据库表中获取所述数据提供设备当前可用的记录标识,利用所述记录标识将所述数据记录增加到所述数据库表中,利用预设的标识扩展数量,对所述记录标识进行号码扩展,将号码扩展得到的标识号码范围保存在所述数据提供设备的内存中,并将所述数据库表中该数据提供设备可用的记录标识更新为所述标识号码范围的最大值加1;所述数据库表至少包括记录标识字段;
当数据提供设备在所述首次之后需要增加数据记录至所述数据库表时,采用同步控制的方式,控制当前需要增加数据记录的线程逐一访问内存获取相应可用的记录标识,并利用所获取的记录标识将相应需要增加的数据记录保存至所述数据库表中,当所述标识号码范围中的记录标识均被使用时,触发对内存中的所述标识号码范围进行更新。;
当数据提供设备在所述首次之后需要增加数据记录至所述数据库表时,采用同步控制的方式,控制当前需要增加数据记录的线程逐一访问内存获取相应可用的记录标识,并利用所获取的记录标识将相应需要增加的数据记录保存至所述数据库表中,当所述标识号码范围中的记录标识均被使用时,触发对内存中的所述标识号码范围进行更新。
较佳地,所述标识号码范围为[a,b],其中,a为当前获取的所述记录标识;b=a+n-1,n为所述标识扩展数量。
较佳地,所述采用同步控制的方式,控制当前需要增加数据记录的线程逐一访问内存获取相应可用的记录标识,并利用所获取的记录标识将相应需要增加的数据记录保存至所述数据库表中,当所述标识号码范围中的记录标识均被使用时,触发对内存中的所述标识号码范围进行更新包括:
a1、所述数据提供设备采用同步控制的方式,从本数据提供设备中当前需要增加数据记录的线程中,选择出一个线程,作为当前可以增加数据记录的工作线程,并阻塞其他所述线程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于普天信息技术有限公司,未经普天信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910090893.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置