数据处理方法、装置及电子设备制造方法及图纸

技术编号:30414282 阅读:40 留言:0更新日期:2021-10-24 16:16
本公开实施例提供了一种数据处理方法、装置及电子设备,属于数据处理技术领域,该方法包括:获取待读取的目标记录的标识,其中,所述目标记录为数据集合中的任一记录;在预先存储的记录标识与记录存储区域的第一对应关系中,根据所述目标记录的标识,查找所述目标记录的存储区域;在所述数据集合对应的存储空间中,获取所述目标记录的存储区域内存储的压缩数据,其中,所述压缩数据包括至少一个指针;根据预设的指针与样本数据的第二对应关系,将所述压缩数据的指针替换为对应的样本数据,得到所述目标记录的全部数据。通过本公开的数据处理方案,提高了数据读取操作的效率,减少了不必要的解压操作和缓存占用。要的解压操作和缓存占用。要的解压操作和缓存占用。

【技术实现步骤摘要】
数据处理方法、装置及电子设备


[0001]本公开涉及数据处理
,尤其涉及一种数据处理方法、装置及电子设备。

技术介绍

[0002]数据库的数据由很多条记录Record组成,称为数据集合。为了区分数据集合中的每一条记录,将记录进行编号。为缩减数据存储空间,通常要将数据压缩存储。现有的数据压缩方案为:将数据集合中的全部记录划分为多个块,每个块包含若干条编号相邻的记录,使用通用的压缩算法单独对每个分块进行整块的压缩。再对多个分块建立一个索引,称为块索引。
[0003]在进行数据读取时,需要利用块索引定位到待查找的记录编号所在的块,解压该块,然后从中提取对应编号的那条记录,丢弃其它记录。这样就会造成多余的解压操作和缓存占用。
[0004]可见,现有的数据读取操作存在多余的解压操作和缓存占用的技术问题。

技术实现思路

[0005]有鉴于此,本公开实施例提供一种数据处理方法、装置及电子设备,至少部分解决现有技术中存在的问题。
[0006]第一方面,本公开实施例提供了一种数据处理方法,包括:
[0007]获取待读取的目标记录的标识,其中,所述目标记录为数据集合中的任一记录;
[0008]在预先存储的记录标识与记录存储区域的第一对应关系中,根据所述目标记录的标识,查找所述目标记录的存储区域;
[0009]在所述数据集合对应的存储空间中,获取所述目标记录的存储区域内存储的压缩数据,其中,所述压缩数据包括至少一个指针;
[0010]根据预设的指针与样本数据的第二对应关系,将所述压缩数据的指针替换为对应的样本数据,得到所述目标记录的全部数据。
[0011]根据本公开实施例的一种具体实现方式,所述获取待读取的目标记录的标识的步骤之前,所述方法还包括:
[0012]从所述数据集合中抽取样本数据;
[0013]创建指针与样本数据的所述第二对应关系;
[0014]针对所述数据集合中的每个记录,查找所述记录的全部数据片段和所述样本数据中均存在的目标片段;
[0015]基于所述第二对应关系,将所述记录中的所述目标片段替换为所述目标片段对应的指针,得到所述记录的压缩数据;
[0016]将所述数据集合的全部记录对应的压缩数据存储到所述数据集合对应的存储空间;
[0017]创建所述数据集合的全部记录的记录标识与记录存储区域的所述第一对应关系。
[0018]根据本公开实施例的一种具体实现方式,所述创建指针与样本数据的所述第二对应关系的步骤,包括:
[0019]利用所抽取的样本数据创建全局字典,其中,所述样本数据中每个数据片段均对应所述全局字典中的一个指针。
[0020]根据本公开实施例的一种具体实现方式,所述创建所述数据集合的全部记录的记录标识与记录存储区域的所述第一对应关系的步骤,包括:
[0021]创建索引数组,其中,所述索引数组的每个元素包含1个记录的记录标识和记录存储区域。
[0022]根据本公开实施例的一种具体实现方式,所述数据集合的记录总量为N,其中,N为大于2的正整数;
[0023]所述索引数组的元素总数为(N+1),第i个元素包含第i个记录的记录标识和第i个记录在所述数据集合的存储空间中的起始存储位置,第(N+1)个元素包含所述数据集合对应的存储空间的总长度,i小于或者等于N;
[0024]所述在预先存储的记录标识与记录存储区域的第一对应关系中,根据所述目标记录的标识,查找所述目标记录的存储区域的步骤,包括:
[0025]在所述索引数组中,根据所述目标记录的标识查找所述目标记录的起始存储位置,和所述目标记录的下一邻接记录的起始存储位置;
[0026]将所述目标记录的下一邻接记录的起始存储位置减去所述目标记录的起始存储位置,得到所述目标记录的存储长度;
[0027]根据所述目标记录的起始存储位置和所述目标记录的存储长度,确定所述目标记录在所述数据集合的存储空间中的存储区域。
[0028]根据本公开实施例的一种具体实现方式,所述查找所述记录的全部数据片段和所述样本数据中均存在的目标片段的步骤,包括:
[0029]利用全局匹配算法,查找所述记录的全部数据片段和所述样本数据中均存在的目标片段。
[0030]根据本公开实施例的一种具体实现方式,所述基于所述第二对应关系,将所述记录中的所述目标片段替换为所述目标片段对应的指针,得到所述记录的压缩数据的步骤,包括:
[0031]判断所述目标片段的实际长度是否大于或者等于第一预设长度;
[0032]若所述目标片段的实际长度大于或者等于第一预设长度,将所述记录中的所述目标片段替换为所述目标片段对应的指针。
[0033]根据本公开实施例的一种具体实现方式,所述判断所述目标片段的实际长度是否大于或者等于第一预设长度的步骤之后,所述方法还包括:
[0034]判断所述目标片段的实际长度是否小于所述第一预设长度且大于或者等于所述第二预设长度,其中,所述第一预设长度大于所述第二预设长度;
[0035]若所述目标片段的实际长度小于所述第一预设长度且大于或者等于所述第二预设长度,利用预设的局部压缩算法得到所述记录的编码,作为所述记录的压缩数据;
[0036]所述根据预设的指针与样本数据的第二对应关系,将所述压缩数据的指针替换为对应的样本数据,得到所述目标记录的全部数据的步骤还包括:
[0037]利用预设的局部解压缩算法解压所述记录的压缩数据,得到所述目标记录的全部数据。
[0038]根据本公开实施例的一种具体实现方式,所述判断所述目标片段的实际长度是否小于所述第一预设长度且大于或者等于所述第二预设长度步骤之后,所述方法还包括:
[0039]若所述目标片段的实际长度小于所述第二预设长度,将所述目标片段保留在所述记录中,得到所述记录的压缩数据。
[0040]根据本公开实施例的一种具体实现方式,所述利用全局匹配算法,查找所述记录的全部数据片段和所述样本数据中均存在的所述目标片段的步骤,包括:
[0041]利用双数组前缀树算法和后缀数组算法来查找所述记录的全部数据片段和所述样本数据中均存在的所述目标片段。
[0042]根据本公开实施例的一种具体实现方式,所述利用双数组前缀树算法和后缀数组算法来查找所述记录的全部数据片段和所述样本数据中均存在的所述目标片段的步骤,包括:
[0043]对后缀数组进行宽度优先遍历,生成前缀树,其中,所述前缀树包含结点关系和压缩路径;
[0044]利用所述前缀树,根据所述记录的全部数据片段和所述样本数据,创建双数组前缀树;
[0045]利用所述双数组前缀树,查找所述目标片段。
[0046]第二方面,本公开实施例提供了一种数据处理装置,包括:
[0047]第一获取模块,用于获取待读取的目标记录的标识,其中,所述目标记录为数据集合中的任一记录;
[0048]查找模块,用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获取待读取的目标记录的标识,其中,所述目标记录为数据集合中的任一记录;在预先存储的记录标识与记录存储区域的第一对应关系中,根据所述目标记录的标识,查找所述目标记录的存储区域;在所述数据集合对应的存储空间中,获取所述目标记录的存储区域内存储的压缩数据,其中,所述压缩数据包括至少一个指针;根据预设的指针与样本数据的第二对应关系,将所述压缩数据的指针替换为对应的样本数据,得到所述目标记录的全部数据。2.根据权利要求1所述的方法,其特征在于,所述获取待读取的目标记录的标识的步骤之前,所述方法还包括:从所述数据集合中抽取样本数据;创建指针与样本数据的所述第二对应关系;针对所述数据集合中的每个记录,查找所述记录的全部数据片段和所述样本数据中均存在的目标片段;基于所述第二对应关系,将所述记录中的所述目标片段替换为所述目标片段对应的指针,得到所述记录的压缩数据;将所述数据集合的全部记录对应的压缩数据存储到所述数据集合对应的存储空间;创建所述数据集合的全部记录的记录标识与记录存储区域的所述第一对应关系。3.根据权利要求2所述的方法,其特征在于,所述创建指针与样本数据的所述第二对应关系的步骤,包括:利用所抽取的样本数据创建全局字典,其中,所述样本数据中每个数据片段均对应所述全局字典中的一个指针。4.根据权利要求3所述的方法,其特征在于,所述创建所述数据集合的全部记录的记录标识与记录存储区域的所述第一对应关系的步骤,包括:创建索引数组,其中,所述索引数组的每个元素包含1个记录的记录标识和记录存储区域。5.根据权利要求4所述的方法,其特征在于,所述数据集合的记录总量为N,其中,N为大于2的正整数;所述索引数组的元素总数为(N+1),第i个元素包含第i个记录的记录标识和第i个记录在所述数据集合的存储空间中的起始存储位置,第(N+1)个元素包含所述数据集合对应的存储空间的总长度,i小于或者等于N;所述在预先存储的记录标识与记录存储区域的第一对应关系中,根据所述目标记录的标识,查找所述目标记录的存储区域的步骤,包括:在所述索引数组中,根据所述目标记录的标识查找所述目标记录的起始存储位置,和所述目标记录的下一邻接记录的起始存储位置;将所述目标记录的下一邻接记录的起始存储位置减去所述目标记录的起始存储位置,得到所述目标记录的存储长度;根据所述目标记录的起始存储位置和所述目标记录的存储长度,确定所述目标记录在所述数据集合的存储空间中的存储区域。
6.根据权利要求3所述的方法,其特征在于,所述查找所述记录的全部数据片段和所述样本数据中均存在的目标片段的步骤,包括:利用全局匹配算法,查找所述记录的全部数据片段和所述样本数据中均存在的目标片段。7.根据权利要求6所述的方法,其特征在于,所述基于所述第二对应关系,将所述记录中的所述目标片段替换为所述目标片段对应的指针,得到所述记录的压缩数据的步骤,包括:判断所述目标片段的实际长度是否大于或者等于第一预设长度;若所述...

【专利技术属性】
技术研发人员:雷鹏
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

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

1