表格数据存储方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33284901 阅读:11 留言:0更新日期:2022-04-30 23:49
本发明专利技术提供了一种表格数据存储方法、装置、电子设备及存储介质,涉及表格存储领域。在本发明专利技术中,所述方法通过获取包含多个列数据的待存储表格,并根据每一列数据的数据分布特征,从多个预设存储策略中确定每一列数据的列存储策略,再根据每一列数据的列存储策略对每一列数据进行存储。本发明专利技术基于每一列数据的数据分布特征确定相应的列存储策略,并根据每一列数据的列存储策略实现对每一列数据的存储,从而避免了按行存储表格时,由于各列数据长度不一导致的内存空间浪费,以及固定的存储策略导致的无法动态添加列数据。导致的无法动态添加列数据。导致的无法动态添加列数据。

【技术实现步骤摘要】
表格数据存储方法、装置、电子设备及存储介质


[0001]本专利技术涉及表格存储领域,具体而言,涉及一种表格数据存储方法、装置、电子设备及存储介质。

技术介绍

[0002]大型游戏开发过程中,需要对大量的配置数据进行操作,其中,游戏策划配置表格中数据的量尤其巨大,现有的表格数据存储方法是面向“行”的,即表格被逐行存储,具体为预先定义一结构体类型,然后按照该结构体类型对表格的每一行数据进行编译,然后将各行数据编译后的结构体数据按顺序存储。由于表格的每一行数据编译后的结构体数据所占据的内存空间是相同的,表格中存在空白单元格则会造成内存空间的浪费,若对表格添加新的列数据,则需要重新确定定义规则,并重新对表格的每一行数据进行编译,此时,设备必须处于宕机状态。

技术实现思路

[0003]为了克服现有技术的不足,本专利技术实施例提供了一种表格数据存储方法、装置、电子设备及存储介质。
[0004]本专利技术实施例采用的技术方案如下:
[0005]第一方面,本专利技术实施例提供了一种表格数据存储方法,所述方法包括:
[0006]获取待存储表格,所述待存储表格包含多个列数据;
[0007]根据每一所述列数据的数据分布特征,从多个预设存储策略中确定每一所述列数据的列存储策略;
[0008]根据每一所述列数据的列存储策略,对每一所述列数据进行存储。
[0009]在一种可能实现的方式中,所述根据每一所述列数据的数据分布特征,从多个预设存储策略中确定每一所述列数据的列存储策略的步骤,包括:
[0010]针对所述多个列数据中的任一目标列数据,对所述目标列数据进行划分,得到至少一个数据单元;
[0011]根据所述目标列数据的每一所述数据单元的数据分布特征,从多个预设存储策略中确定所述目标列数据的每一所述数据单元的单元存储策略;
[0012]将每一所述列数据的所有单元存储策略确定为每一所述列数据的列存储策略。
[0013]在一种可能的实现方式中,所述目标列数据包括多个非空值元素,所述针对所述多个列数据中的任一目标列数据,对所述目标列数据进行划分,得到至少一个数据单元的步骤包括:
[0014]判断所述目标列数据的非空值元素个数是否大于预设值;
[0015]若所述目标列数据的非空值元素个数不大于所述预设值,将所述目标列数据的所有元素作为一个数据单元;
[0016]若所述目标列数据的非空值元素个数大于所述预设值,按照所述预设值将所述列
数据划分为多个数据单元。
[0017]在一种可能的实现方式中,每一所述预设存储策略包括策略标签,所述根据所述目标列数据的每一所述数据单元的数据分布特征,从多个预设存储策略中确定所述目标列数据的每一所述数据单元的单元存储策略的步骤包括:
[0018]针对所述目标列数据中的任一目标数据单元,根据所述目标数据单元的数据分布特征及每一所述预设存储策略的策略标签,确定多个候选存储策略;
[0019]计算所述目标数据单元按照每一所述候选存储策略进行存储所占用的内存;
[0020]将内存最小的所述候选存储策略确定为所述目标数据单元的单元存储策略。
[0021]在一种可能的实现方式中,每一所述列数据预先划分成至少一个数据单元,每一所述数据单元对应一个单元存储策略,所述根据每一所述列数据的列存储策略,对每一所述列数据进行存储的步骤包括:
[0022]针对任一目标列数据的任一目标数据单元,根据所述目标数据单元的单元存储策略,生成所述目标数据单元的结构体数据;
[0023]将每一所述列数据的所有数据单元的结构体数据进行存储。
[0024]第二方面,本专利技术实施例提供了一种表格数据存储装置,所述装置包括:
[0025]获取模块,用于获取待存储表格,所述待存储表格包含多个列数据;
[0026]确定模块,用于根据每一所述列数据的数据分布特征,从多个预设存储策略中确定每一所述列数据的列存储策略;
[0027]存储模块,用于根据每一所述列数据的列存储策略,对每一所述列数据进行存储。
[0028]在一种可能的实现方式中,所述确定模块在用于根据每一所述列数据的数据分布特征,从多个预设存储策略中确定每一所述列数据的列存储策略时,具体用于:
[0029]针对所述多个列数据中的任一目标列数据,对所述目标列数据进行划分,得到至少一个数据单元;
[0030]根据所述目标列数据的每一所述数据单元的数据分布特征,从多个预设存储策略中确定所述目标列数据的每一所述数据单元的单元存储策略;
[0031]将每一所述列数据的所有单元存储策略确定为每一所述列数据的列存储策略。
[0032]在一种可能的实现方式中,每一所述列数据预先划分成至少一个数据单元,每一所述数据单元对应一个单元存储策略,所述存储模块在用于根据每一所述列数据的列存储策略,对每一所述列数据进行存储时,具体用于:
[0033]针对任一目标列数据的任一目标数据单元,根据所述目标数据单元的单元存储策略,生成所述目标数据单元的结构体数据;
[0034]将每一所述列数据的所有数据单元的结构体数据进行存储。
[0035]第三方面,本专利技术实施例提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如第一方面所述的方法。
[0036]第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
[0037]相较于现有技术,本专利技术实施例提供的一种表格数据存储方法、装置、电子设备及存储介质,所述方法通过获取包含多个列数据的待存储表格,并根据每一列数据的数据分
布特征,从多个预设存储策略中确定每一列数据的列存储策略,再根据每一列数据的列存储策略对每一列数据进行存储。由于本专利技术实施例基于每一列数据的数据分布特征确定相应的列存储策略,并根据每一列数据的列存储策略实现对每一列数据的存储,从而避免了按行存储表格时,由于各列数据长度不一导致的内存空间浪费,以及固定的存储策略导致的无法动态添加列数据。
附图说明
[0038]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0039]图1A为本专利技术实施例提供的一种表格数据示意图;
[0040]图1B为本专利技术实施例提供的一种现有的表格数据存储方法示意图;
[0041]图2为本专利技术实施例提供的一种表格数据存储方法流程图;
[0042]图3为本专利技术实施例提供的一种基于列数据的数据分布特征确定列存储策略的方法流程图;
[0043]图4为本专利技术实施例提供的一种基于列数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种表格数据存储方法,其特征在于,所述方法包括:获取待存储表格,所述待存储表格包含多个列数据;根据每一所述列数据的数据分布特征,从多个预设存储策略中确定每一所述列数据的列存储策略;根据每一所述列数据的列存储策略,对每一所述列数据进行存储。2.根据权利要求1所述的方法,其特征在于,所述根据每一所述列数据的数据分布特征,从多个预设存储策略中确定每一所述列数据的列存储策略的步骤,包括:针对所述多个列数据中的任一目标列数据,对所述目标列数据进行划分,得到至少一个数据单元;根据所述目标列数据的每一所述数据单元的数据分布特征,从多个预设存储策略中确定所述目标列数据的每一所述数据单元的单元存储策略;将每一所述列数据的所有单元存储策略确定为每一所述列数据的列存储策略。3.根据权利要求2所述的方法,其特征在于,所述目标列数据包括至少一个非空值元素,所述针对所述多个列数据中的任一目标列数据,对所述目标列数据进行划分,得到至少一个数据单元的步骤包括:判断所述目标列数据的非空值元素个数是否大于预设值;若所述目标列数据的非空值元素个数不大于所述预设值,将所述目标列数据的所有非空值元素作为一个数据单元;若所述目标列数据的非空值元素个数大于所述预设值,按照所述预设值将所述列数据划分为多个数据单元。4.根据权利要求2所述的方法,其特征在于,每一所述预设存储策略包括策略标签,所述根据所述目标列数据的每一所述数据单元的数据分布特征,从多个预设存储策略中确定所述目标列数据的每一所述数据单元的单元存储策略的步骤包括:针对所述目标列数据中的任一目标数据单元,根据所述目标数据单元的数据分布特征及每一所述预设存储策略的策略标签,确定多个候选存储策略;计算所述目标数据单元按照每一所述候选存储策略进行存储所占用的内存;将内存最小的所述候选存储策略确定为所述目标数据单元的单元存储策略。5.根据权利要求1所述的方法,其特征在于,每一所述列数据预先划分成至少一个数据单元,每一所述数据单元对应一个单元存储策略...

【专利技术属性】
技术研发人员:李新
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:

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

1