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

技术编号:18115162 阅读:26 留言:0更新日期:2018-06-03 08:18
本公开涉及一种数据存储方法、装置、存储介质及电子设备。所述方法包括:获取多张原始数据表,每张原始数据表具有相关联的表ID且每张原始数据表中的各行元素在原始数据表的范围内对应不同用户ID;将多张原始数据表转换成一张汇总数据表,汇总数据表中各行元素包括:用户ID,表ID以及将在表ID所关联的原始数据表中与用户ID对应的行元素中各数据进行组合处理后所得数据;创建至少一张目标数据表,并将每张目标数据表映射到同一映射空间的不同映射位置;根据汇总数据表中各行元素的用户ID和表ID,确定该行元素在映射空间的目标映射位置,并将该行元素存储到第一目标数据表。这样,可以解决庞大数据量引起的数据库性能不佳问题。

【技术实现步骤摘要】
数据存储方法、装置、存储介质及电子设备
本公开涉及数据处理领域,具体地,涉及一种数据存储方法、装置、存储介质及电子设备。
技术介绍
随着互联网的发展,存储的数据呈现指数增长。以网上考试为例,针对每一个用户的每一份答卷,在数据库中会创建相应的表,以存储用户所填写的试题答案,这样,每一张考卷都会创建一个表。在数据库中,每个表内字段相加的最大长度是有限制的,如果超出这个限制,会造成数据溢出,造成存储的数据出错。
技术实现思路
本公开的目的是提供一种数据存储方法、装置、存储介质及电子设备。为了实现上述目的,根据本公开的第一方面,提供一种数据存储方法。所述方法包括:获取多张原始数据表,其中,每张原始数据表具有相关联的表ID,并且每张原始数据表中的各行元素在该原始数据表的范围内对应于不同的用户ID;将所述多张原始数据表转换成一张汇总数据表,所述汇总数据表中的各行元素包括以下信息:用户ID,表ID,以及将在所述表ID所关联的原始数据表中、与所述用户ID对应的行元素中各数据进行组合处理后所得的数据;创建至少一张目标数据表,并将每张所述目标数据表映射到同一映射空间的不同映射位置;根据所述汇总数据表中各行元素中的用户ID和表ID,确定该行元素在所述映射空间中的目标映射位置,并将该行元素存储到第一目标数据表中,其中,所述第一目标数据表为其在所述映射空间中的映射位置位于所述目标映射位置之前、并且距离所述目标映射位置最近的目标数据表。可选地,所述根据所述汇总数据表中各行元素中的用户ID和表ID,确定该行元素在所述映射空间中的目标映射位置,包括:根据所述汇总数据表中各行元素中的用户ID和表ID,将所述用户ID和表ID组合后进行哈希运算,并将所得哈希值与所述映射空间的映射位置总数进行取余运算,所得结果作为该行元素在所述映射空间中的目标映射位置。可选地,所述将该行元素存储到第一目标数据表中,包括:判断所述第一目标数据表中存储的数据量是否已经达到预设阈值;在确定尚未达到所述预设阈值时,将该行元素存储到所述第一目标数据表中。可选地,所述方法还包括:在确定已经达到所述预设阈值时,创建新的目标数据表,并将所述新的目标数据表映射到所述映射空间中、所述第一目标数据表在所述映射空间中的映射位置与该行元素在所述映射空间中的目标映射位置之间的映射位置;将该行元素存储到所述新的目标数据表中。可选地,所述方法还包括:针对所述第一目标数据表中已存在的各行元素,根据所述各行元素在所述映射空间中的目标映射位置,分别将所述各行元素重新存储到其在所述映射空间中的映射位置位于该行元素在所述映射空间中的所述目标映射位置之前、并且距离该目标映射位置最近的目标数据表中。可选地,所述原始数据表为考卷答案数据表,每张所述原始数据表中的各行对应于不同的用户ID,各列对应于本张考卷中的各道试题,各行元素表示对应的用户在本张考卷中所填写的各道试题的答案;所述组合处理,包括:将在所述表ID所关联的原始数据表中、与所述用户ID对应的行元素中各答案进行编码,其中,试题的候选选项有N项,每个答案由N位二进制码表示,N个候选选项与N位二进制码一一对应,且所述N位二进制码中与答案中出现的候选选项相对应的二进制码被置1,与未出现的候选选项相对应的二进制码被置0;将在所述表ID所关联的原始数据表中、与所述用户ID对应的行元素中各答案的编码按照试题顺序进行组合。可选地,所述方法还包括:接收数据查询指令,所述数据查询指令包括目标用户ID和目标表ID;在接收到所述数据查询指令时,根据所述目标用户ID和所述目标表ID,确定与所述目标用户ID和所述目标表ID对应的元素在所述映射空间中的理论映射位置;根据所述理论映射位置,确定第二目标数据表,其中,所述第二目标数据表为其在所述映射空间中的映射位置位于所述理论映射位置之前、并且距离所述理论映射位置最近的目标数据表;根据所述目标用户ID和所述目标表ID查询所述第二目标数据表;当所述第二目标数据表中存在与所述目标用户ID和所述目标表ID相匹配的数据时,输出所述相匹配的数据。可选地,所述方法还包括:当获取到新的原始数据表时,将所述新的原始数据表中的信息添加到所述汇总数据表中,其中,所述新的原始数据表具有相关联的表ID,并且所述新的原始数据表中的各行元素在该原始数据表的范围内对应于不同的用户ID;针对所述汇总数据表中新添加的各行元素,执行所述根据所述汇总数据表中各行元素中的用户ID和表ID,确定该行元素在所述映射空间中的目标映射位置,并将该行元素存储到第一目标数据表中,其中,所述第一目标数据表为其在所述映射空间中的映射位置位于所述目标映射位置之前、并且距离所述目标映射位置最近的目标数据表的步骤。根据本公开的第二方面,提供一种数据存储装置。所述装置包括:获取模块,用于获取多张原始数据表,其中,每张原始数据表具有相关联的表ID,并且每张原始数据表中的各行元素在该原始数据表的范围内对应于不同的用户ID;转换模块,用于将所述多张原始数据表转换成一张汇总数据表,所述汇总数据表中的各行元素包括以下信息:用户ID,表ID,以及将在所述表ID所关联的原始数据表中、与所述用户ID对应的行元素中各数据进行组合处理后所得的数据;创建模块,用于创建至少一张目标数据表,并将每张所述目标数据表映射到同一映射空间的不同映射位置;存储模块,用于根据所述汇总数据表中各行元素中的用户ID和表ID,确定该行元素在所述映射空间中的目标映射位置,并将该行元素存储到第一目标数据表中,其中,所述第一目标数据表为其在所述映射空间中的映射位置位于所述目标映射位置之前、并且距离所述目标映射位置最近的目标数据表。根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所提供的方法的步骤。根据本公开的第四方面,提供一种电子设备,包括:本公开第三方面所提供的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。通过上述技术方案,将数据库中的数据按照一定的规则分散存储,可以减少数据存储空间、优化数据存储结构,进而解决庞大数据量引起的数据库性能不佳的问题,便于对数据库的数据添加、数据查询,并且可以提升数据查询、数据添加等的效率。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据本公开的一种实施方式提供的数据存储方法的流程图。图2A是根据本公开提供的数据存储方法中,原始数据表的一种示例性的表格示意图。图2B是根据本公开提供的数据存储方法中,原始数据表的另一种示例性的表格示意图。图2C是根据本公开提供的数据存储方法中,原始数据表的另一种示例性的表格示意图。图3A是根据本公开提供的数据存储方法中,汇总数据表的一种示例性的表格示意图。图3B是根据本公开提供的数据存储方法中,汇总数据表的另一种示例性的表格示意图。图4是根据本公开提供的数据存储方法中,目标数据表在映射空间中的映射位置的一种示例性的示意图。图5A是根据本公开的另一种实施方式提供的数据存储方法的流程图。图5B是根据本公开提供本文档来自技高网...
数据存储方法、装置、存储介质及电子设备

【技术保护点】
一种数据存储方法,其特征在于,所述方法包括:获取多张原始数据表,其中,每张原始数据表具有相关联的表ID,并且每张原始数据表中的各行元素在该原始数据表的范围内对应于不同的用户ID;将所述多张原始数据表转换成一张汇总数据表,所述汇总数据表中的各行元素包括以下信息:用户ID,表ID,以及将在所述表ID所关联的原始数据表中、与所述用户ID对应的行元素中各数据进行组合处理后所得的数据;创建至少一张目标数据表,并将每张所述目标数据表映射到同一映射空间的不同映射位置;根据所述汇总数据表中各行元素中的用户ID和表ID,确定该行元素在所述映射空间中的目标映射位置,并将该行元素存储到第一目标数据表中,其中,所述第一目标数据表为其在所述映射空间中的映射位置位于所述目标映射位置之前、并且距离所述目标映射位置最近的目标数据表。

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:获取多张原始数据表,其中,每张原始数据表具有相关联的表ID,并且每张原始数据表中的各行元素在该原始数据表的范围内对应于不同的用户ID;将所述多张原始数据表转换成一张汇总数据表,所述汇总数据表中的各行元素包括以下信息:用户ID,表ID,以及将在所述表ID所关联的原始数据表中、与所述用户ID对应的行元素中各数据进行组合处理后所得的数据;创建至少一张目标数据表,并将每张所述目标数据表映射到同一映射空间的不同映射位置;根据所述汇总数据表中各行元素中的用户ID和表ID,确定该行元素在所述映射空间中的目标映射位置,并将该行元素存储到第一目标数据表中,其中,所述第一目标数据表为其在所述映射空间中的映射位置位于所述目标映射位置之前、并且距离所述目标映射位置最近的目标数据表。2.根据权利要求1所述的方法,其特征在于,所述根据所述汇总数据表中各行元素中的用户ID和表ID,确定该行元素在所述映射空间中的目标映射位置,包括:根据所述汇总数据表中各行元素中的用户ID和表ID,将所述用户ID和表ID组合后进行哈希运算,并将所得哈希值与所述映射空间的映射位置总数进行取余运算,所得结果作为该行元素在所述映射空间中的目标映射位置。3.根据权利要求1所述的方法,其特征在于,所述将该行元素存储到第一目标数据表中,包括:判断所述第一目标数据表中存储的数据量是否已经达到预设阈值;在确定尚未达到所述预设阈值时,将该行元素存储到所述第一目标数据表中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在确定已经达到所述预设阈值时,创建新的目标数据表,并将所述新的目标数据表映射到所述映射空间中、所述第一目标数据表在所述映射空间中的映射位置与该行元素在所述映射空间中的目标映射位置之间的映射位置;将该行元素存储到所述新的目标数据表中。5.根据权利要求1所述的方法,其特征在于,所述原始数据表为考卷答案数据表,每张所述原始数据表中的各行对应于不同的用户ID,各列对应于本张考卷中的各道试题,各行元素表示对应的用户在本张考卷中所填写的各道试题的答案;所述组合处理,包括:将在所述表ID所关联的原始数据表中、与所述用户ID对应的行元素中各答案进行编码,其中,试题的候选选项有N项,每个答案由N位二进制码表示,N个候选选项与N位二进制码一一对应,且所述N位二进制码中与答案中出现的候选选项相对应的二进制码被置1,与未出现的候选选项相对应的二进制码被置0;将在所述表ID所关联的原始数据表中、与所述用户ID对应的行元素中各答案的编码按照试题顺序进行组合。6.根据权利要求1...

【专利技术属性】
技术研发人员:董洁
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁,21

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

1