非规则数据存储方法、装置及存储介质制造方法及图纸

技术编号:28294928 阅读:20 留言:0更新日期:2021-04-30 16:18
本发明专利技术提供一种非规则数据存储方法、装置及存储介质,包括:获取接收的源数据的数据长度,基于数据长度确定对源数据进行保存的存储单元类型,每个存储单元类型中的存储单元分别包括标识位区、动态信息区、基础数据区以及尾部存储区;若数据长度小于等于最小的存储单元类型的宽数据区长度,或大于相邻两个存储单元类型中前一个存储单元类型的基础数据区和尾部存储区之和、小于等于后一个存储单元类型宽数据区长度中的任意一种时;将与源数据对应的存储单元类型中的存储单元划分为第一标识位区和合并后的第一宽数据区对所述源数据存储,其中合并后的第一宽数据区为第一动态信息区与第一基础数据区合并后的区。

【技术实现步骤摘要】
非规则数据存储方法、装置及存储介质
本专利技术涉及数据存储技术,尤其涉及一种非规则数据存储方法、装置及存储介质。
技术介绍
内存具有非常高的读写性能,在有高并发、高性能需求的业务场景中,通常使用内存做为应用服务的热点数据缓存,即能减轻下游应用或数据库的处理压力,又能提高应用服务的吞吐量和响应能力。在现有技术的本地缓存过程中,为了避免资源的浪费,应用服务通常都部署在虚拟机或容器内,但是本地内存可用空间有限,通常可用内存只有几G,使得本地内存的缓存量较少。并且,本地缓存当前所采取的方案都需要基于编程语言提供的数据结构或第三方工具实现,由于不同的数据可能会有不同的语言方式,在数据保存时会将内存使用量放大很多,使得本地缓存的有效存储效率降低。在本地内存的存储量较少、存储效率较低的情况下,会使得本地缓存后续的数据调取、处理性能降低。
技术实现思路
本专利技术实施例提供一种非规则数据存储方法、装置及存储介质,具有存储量高且处理速度、效率高、性能高等优点。本专利技术实施例的第一方面,提供一种非规则数据存储方法,包括:获取接收的源数据的数据长度,基于所述数据长度确定对源数据进行保存的存储单元类型,其中所述数据长度与不同存储单元类型预先对应设置,每个存储单元类型中的存储单元分别包括标识位区、动态信息区、基础数据区以及尾部存储区;若所述数据长度小于等于最小的存储单元类型的宽数据区长度,或大于相邻两个存储单元类型中前一个存储单元类型的基础数据区和尾部存储区之和、小于等于后一个存储单元类型宽数据区长度中的任意一种时;将与所述源数据对应的存储单元类型中的存储单元划分为第一标识位区和第一宽数据区对所述源数据存储,其中所述第一宽数据区为第一动态信息区与第一基础数据区合并后的区。可选地,在第一方面的一种可能实现方式中,若所述数据长度大于相邻两个存储单元类型中前一个存储单元类型的宽数据区长度、小于等于后一个存储单元类型中基础数据长度与尾部存储结构长度之和时;将与所述源数据对应的存储单元类型中的存储单元划分为第二标识位区、第二动态信息区、第二基础数据区以及尾部存储区对所述源数据分别存储。可选地,在第一方面的一种可能实现方式中,将与所述源数据对应的存储单元类型中的存储单元划分为第一标识位区和第一宽数据区对所述源数据存储包括:将源数据中除标识信息以外的信息存储至第一宽数据区,将源数据的标识信息存储于第一标识位区,其中所述标识信息通过以下方式计算,计算第一宽数据区与源数据实际长度的差值;将差值与预设值求和得到标识信息;所述存储单元划分为第二标识位区、第二动态信息区、第二基础数据区以及尾部存储区对所述源数据分别存储包括:获取尾部存储区的索引信息,所述索引信息包括段索引和单元索引;将所述段索引存储于所述第二标识位区;将所述单元索引存储于所述第二动态信息区。可选地,在第一方面的一种可能实现方式中,所述存储单元划分为第二标识位区、第二动态信息区、第二基础数据区以及尾部存储区对所述源数据分别存储包括:对所述源数据拆分为前段数据和后段数据,将前段数据存储于所述第二基础数据区,所述前段数据的长度与所述第二基础数据区长度相同;将后段数据存储于尾部存储区。可选地,在第一方面的一种可能实现方式中,将后段数据存储于尾部存储区包括:将所述后段数据首先存储至空闲的尾部存储区,并获取该空闲的尾部存储区的段索引和单元索引;若当前不存在空闲的尾部存储区,则新建尾部段存储区,将所述剩余的源数据存储于新建尾部存储区后获取其段索引和单元索引。可选地,在第一方面的一种可能实现方式中,所述第一标识位区与合并后的第一宽数据区构成首部存储结构;接收源数据,获取与源数据对应的组索引,依次对组索引下的首部存储结构内的数据与源数据比较;若比较结果为相同,则不再对源数据进行保存;若比较结果为不同,则确定组索引下空闲的首部存储结构对所述源数据存储。可选地,在第一方面的一种可能实现方式中,若不存在空闲的首部存储结构,则随机选择一个首部存储结构以及首部存储结构对应的尾部索引;若所述随机选择的首部存储结构存在尾部索引,则清除尾部存储单元内数据,并记录改所述清除的尾部为空闲状态。清除所述随机选择的首部存储结构内的数据,将所述随机选择的首部存储结构对所述源数据存储。可选地,在第一方面的一种可能实现方式中,所述第二标识位区、第二动态信息区、第二基础数据区构成首部存储结构,尾部存储区构成尾部存储结构;接收源数据,获取与源数据对应的组索引,依次对组索引下的首部存储结构内的数据与前段数据比较;若比较结果为相同,则从第二标识位区和第二动态信息区获取尾部存储结构的段索引和单元索引,再次对尾部存储结构内的数据和后段数据比较;若比较结果为不同,将所述后段数据首先存储至空闲的尾部存储结构,并获取该空闲的尾部存储结构的段索引和单元索引。可选地,在第一方面的一种可能实现方式中,若当前不存在空闲的尾部存储结构,则新建尾部段存储区,将所述剩余的源数据存储于新建尾部存储区对应的尾部存储结构后获取其段索引和单元索引;确定组索引下空闲的首部存储结构对所述前段数据存储;若不存在空闲的首部存储结构,则随机选择一个首部存储结构以及该首部存储结构对应的尾部索引;若所述随机选择的首部存储单元存在尾部索引,则清除尾部存储结构内的数据,并将所述尾部存储结构标注为空闲状态;清除所述随机选择的首部存储结构内数据,将对所述前段数据存储。本专利技术实施例的第二方面,提供一种非规则数据存储装置,包括:获取模块,用于获取接收的源数据的数据长度,基于所述数据长度确定存储单元类型,其中所述数据长度与不同存储单元类型预先对应设置,存储单元包括标识位区、动态信息区、基础数据区以及尾部存储区;判断模块,用于若所述数据长度小于等于最小存储存储单元的宽数据区长度,或大于相邻两个存储单元中前一个存储单元的基础数据区和尾部存储区之和、小于等于后一个存储单元宽数据区长度中的任意一种时;存储划分模块,用于将所述存储单元划分为第一标识位区和合并后的第一宽数据区对所述源数据存储,其中所述合并后的第一宽数据区为第一动态信息区与第一宽数据区合并后的区。本专利技术实施例的第三方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现本专利技术第一方面及第一方面各种可能设计的所述方法。本专利技术提供的一种非规则数据存储方法、装置及存储介质,在数据的存储过程中将不同的存储单元分成了有限的不同长度首部存储结构类型和固定统一长度尾部存储结构。使数据存储时,根据源数据长度选择合适存储空间,既可减少存储空间浪费,又能实现占用的存储空间对齐,方便快速查找,具有存储量高且处理速度快、效率高、性能高等优点。并且,本专利技术通过优化存储结构设计,并根据数据特征进行存储结构的分配,本文档来自技高网...

【技术保护点】
1.一种非规则数据存储方法,其特征在于,包括:/n获取接收的源数据的数据长度,基于所述数据长度确定对源数据进行保存的存储单元类型,其中所述数据长度与不同存储单元类型预先对应设置,每个存储单元类型中的存储单元分别包括标识位区、动态信息区、基础数据区以及尾部存储区;/n若所述数据长度小于等于最小的存储单元类型的宽数据区长度,或大于相邻两个存储单元类型中前一个存储单元类型的基础数据区和尾部存储区之和、小于等于后一个存储单元类型宽数据区长度中的任意一种时;/n将与所述源数据对应的存储单元类型中的存储单元划分为第一标识位区和第一宽数据区对所述源数据存储,其中所述第一宽数据区为第一动态信息区与第一基础数据区合并后的区。/n

【技术特征摘要】
1.一种非规则数据存储方法,其特征在于,包括:
获取接收的源数据的数据长度,基于所述数据长度确定对源数据进行保存的存储单元类型,其中所述数据长度与不同存储单元类型预先对应设置,每个存储单元类型中的存储单元分别包括标识位区、动态信息区、基础数据区以及尾部存储区;
若所述数据长度小于等于最小的存储单元类型的宽数据区长度,或大于相邻两个存储单元类型中前一个存储单元类型的基础数据区和尾部存储区之和、小于等于后一个存储单元类型宽数据区长度中的任意一种时;
将与所述源数据对应的存储单元类型中的存储单元划分为第一标识位区和第一宽数据区对所述源数据存储,其中所述第一宽数据区为第一动态信息区与第一基础数据区合并后的区。


2.根据权利要求1所述的非规则数据存储方法,其特征在于,
若所述数据长度大于相邻两个存储单元类型中前一个存储单元类型的宽数据区长度、小于等于后一个存储单元类型中基础数据长度与尾部存储结构长度之和时;
将与所述源数据对应的存储单元类型中的存储单元划分为第二标识位区、第二动态信息区、第二基础数据区以及尾部存储区对所述源数据分别存储。


3.根据权利要求1所述的非规则数据存储方法,其特征在于,
将与所述源数据对应的存储单元类型中的存储单元划分为第一标识位区和合并后的第一宽数据区对所述源数据存储包括:
将源数据中除标识信息以外的信息存储至第一宽数据区,将源数据的标识信息存储于第一标识位区,其中所述标识信息通过以下方式计算,
计算第一宽数据区与源数据实际长度的差值;
将差值与预设值求和得到标识信息。


4.根据权利要求2所述的非规则数据存储方法,其特征在于,
所述存储单元划分为第二标识位区、第二动态信息区、第二基础数据区以及尾部存储区对所述源数据分别存储包括:
获取尾部存储区的索引信息,所述索引信息包括段索引和单元索引;
将所述段索引存储于所述第二标识位区;
将所述单元索引存储于所述第二动态信息区;
所述存储单元划分为第二标识位区、第二动态信息区、第二基础数据区以及尾部存储区对所述源数据分别存储包括:
对所述源数据拆分为前段数据和后段数据,将前段数据存储于所述第二基础数据区,所述前段数据的长度与所述第二基础数据区长度相同;
将后段数据存储于尾部存储区。


5.根据权利要求4所述的非规则数据存储方法,其特征在于,
将后段数据存储于尾部存储区包括:
将所述后段数据首先存储至空闲的尾部存储区,并获取该空闲的尾部存储区的段索引和单元索引;
若当前不存在空闲的尾部存储区,则新建尾部段存储区,将所述剩余的源数据存储于新建尾部存储区后获取其段索引和单元索引。


6.根据权利要求1所述的非规则数据存储方法,其特征在于,
所述第一标识位区与合并后的第一宽数据区构...

【专利技术属性】
技术研发人员:曲远汶
申请(专利权)人:同盾科技有限公司同盾控股有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1