数据处理方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:33447154 阅读:12 留言:0更新日期:2022-05-19 00:32
本申请提供了一种数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品;方法包括:对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,其中,所述二进制格式的第二数据中包括有序键查找表;获取查询请求,并从所述查询请求中提取目标字段;基于所述有序键查找表确定与所述目标字段匹配的值查询结果,并对与所述值查询结果对应的目标存储地址进行读取处理,得到值读取结果;其中,所述目标存储地址是对所述二进制格式的第二数据进行指针转换处理得到的。通过本申请,能够提高数据读取以及查询效率。能够提高数据读取以及查询效率。能够提高数据读取以及查询效率。

【技术实现步骤摘要】
数据处理方法、装置、设备、存储介质及程序产品


[0001]本申请涉及大数据技术,尤其涉及一种数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品。

技术介绍

[0002]JS对象简谱(JSON,JavaScript Object Notation)是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,可以有效地提升网络传输效率。
[0003]相关技术把文本JSON转为二进制格式,从而实现更快的遍历速度,更小的占用尺寸,它主要被用作数据库中的数据存储和网络传输格式。但是针对需求更快解析速度、更小传输体积以及更低内存消耗的网络产品,相关技术无法满足相应需求。

技术实现思路

[0004]本申请实施例提供一种数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够提高数据读取以及解析效率。
[0005]本申请实施例的技术方案是这样实现的:
[0006]本申请实施例提供一种数据处理方法,包括:
[0007]对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,其中,所述二进制格式的第二数据中包括有序键查找表;
[0008]获取查询请求,并从所述查询请求中提取目标字段;
[0009]基于所述有序键查找表确定与目标字段匹配的值查询结果,并对与所述值查询结果对应的目标存储地址进行读取处理,得到值读取结果;
>[0010]其中,所述目标存储地址是对所述二进制格式的第二数据进行指针转换处理得到的。
[0011]本申请实施例提供一种数据处理装置,包括:
[0012]序列化模块,用于对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,其中,所述二进制格式的第二数据中包括有序键查找表;
[0013]查询模块,用于获取查询请求,并从所述查询请求中提取目标字段;
[0014]所述查询模块,还用于基于所述有序键查找表确定与目标字段匹配的值查询结果,并对与所述值查询结果对应的目标存储地址进行读取处理,得到值读取结果;其中,所述目标存储地址是对所述二进制格式的第二数据进行指针转换处理得到的。
[0015]在上述方案中,所述第二数据包括引导位以及后续位,所述序列化模块,还用于:当所述第一数据的数据类型为第一基本类型时,对所述第一基本类型进行二进制编码处理,得到所述第一数据的引导位;其中,所述第一基本类型包括以下至少之一:单精度浮点型、双精度浮点型、无符号整型、有符号整型,所述引导位的长度为八位;对所述第一数据进
行二进制编码处理,得到所述第一数据的后续位;其中,当所述第一基本类型为单精度浮点型时,所述后续位的长度为四字节;当所述第一基本类型为双精度浮点型时,所述后续位的长度为八字节;当所述第一基本类型为无符号整型时,所述后续位的长度为所述无符号整型的位数;当所述第一基本类型为有符号整型时,所述后续位的长度为所述有符号整型的位数。
[0016]在上述方案中,所述第二数据包括引导位,所述序列化模块,还用于:当所述第一数据的数据类型为第二基本类型时,对所述第二基本类型进行二进制编码处理,得到所述第一数据的引导位,其中,所述第二基本类型包括以下至少之一:布尔型、空对象型、设定数字型。
[0017]在上述方案中,所述第二数据包括引导位以及后续位,所述序列化模块,还用于:当所述第一数据的数据类型为第三基本类型时,对所述第三基本类型进行二进制编码处理,得到所述第一数据的引导位;其中,所述第三基本类型包括字符串型,所述引导位的长度为三位;对所述第一数据的字符串偏移量进行二进制编码处理,得到二进制格式的字符串偏移量;根据所述二进制格式的字符串偏移量,确定所述第一数据的后续位。
[0018]在上述方案中,所述序列化模块,还用于:当在字符串池中未查询到对应所述第一数据的字符串时,确定所述字符串偏移量为零,并将所述二进制格式的字符串偏移量以及所述第一数据的字符串值的二进制编码,组合为所述第一数据的后续位;当在字符串池中查询到对应所述第一数据中的字符串时,将所述二进制格式的字符串偏移量确定为所述第一数据的后续位。
[0019]在上述方案中,所述第二数据包括引导位以及后续位,所述序列化模块,还用于:当所述第一数据的数据类型为第五基本类型时,对所述第五基本类型进行二进制编码处理,得到所述第一数据的引导位;其中,所述第五基本类型包括对象型,所述引导位的长度为一位;对所述第一数据的对象数据量进行二进制编码处理,得到二进制格式的对象数据量;对所述第一数据的字符串池偏移量进行二进制编码处理,得到二进制格式的字符串池偏移量;对所述第一数据的键查找表进行二进制编码处理,得到二进制格式的键查找表;对所述第一数据的值查找表进行二进制编码处理,得到二进制格式的值查找表;将所述二进制格式的对象数据量、所述二进制格式的字符串池偏移量、所述二进制格式的键查找表、所述二进制格式的值查找表以及所述第一数据的每个数据值的二进制编码,组合为所述第一数据的后续位。
[0020]在上述方案中,所述序列化模块,还用于:获取所述第一数据中每个所述对象数据的键标识;对多个所述键标识进行升序排序处理,并获取每个相邻键标识之间的标识差值;从排序在首位的键标识以及至少一个所述标识差值中获取最大值;将最大值的位数编码为所述键查找表的表类型位,并将每个所述标识差值以及排序在首位的键标识编码为所述键查找表的键标识位;其中,所述键标识位的长度符合所述键查找表的表类型位对应的位数。
[0021]在上述方案中,序列化模块,还用于:获取第一数据中每个对象数据的数据值;将最大的数据值的位数编码为值查找表的二进制格式的表类型位,并将每个对象数据的数据值编码为值查找表的二进制格式的值位;其中,每个数据值对应的二进制格式的值位的长度符合值查找表的表类型位对应的位数。
[0022]在上述方案中,所述字符串偏移量的数据类型是变长整型,所述序列化模块,还用
于:获取所述字符串偏移量的二进制编码;对所述二进制编码进行解析处理,得到至少一个解析结果;按照至少一个解析结果的位置顺序针对每个所述解析结果执行以下处理:当所述解析结果不包括所述字符串偏移量的二进制编码的末位时,将零作为对应所述解析结果的控制位,并将所述解析结果作为所述储存位;当所述解析结果包括所述字符串偏移量的二进制编码的末位时,将一作为对应所述解析结果的控制位,并将所述解析结果作为所述储存位;将对应相同所述解析结果的控制位以及储存位组合为对应所述解析结果的字节,并将每个所述解析结果的字节组成所述二进制格式的字符串偏移量。
[0023]在上述方案中,所述第二数据包括引导位以及后续位,所述序列化模块,还用于:当所述第一数据的数据类型为第四基本类型时,对所述第四基本类型进行二进制编码处理,得到所述第一数据的引导位;其中,所述第四基本类型包括数组型,所述引导位的长度为两位;对所述第一数据本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,其中,所述二进制格式的第二数据中包括有序键查找表;获取查询请求,并从所述查询请求中提取目标字段;基于所述有序键查找表确定与目标字段匹配的值查询结果,并对与所述值查询结果对应的目标存储地址进行读取处理,得到值读取结果;其中,所述目标存储地址是对所述二进制格式的第二数据进行指针转换处理得到的。2.根据权利要求1所述的方法,其特征在于,所述第二数据包括引导位以及后续位,所述对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,包括:当所述第一数据的数据类型为第一基本类型时,对所述第一基本类型进行二进制编码处理,得到所述第一数据的引导位;其中,所述第一基本类型包括以下至少之一:单精度浮点型、双精度浮点型、无符号整型、有符号整型,所述引导位的长度为八位;对所述第一数据进行二进制编码处理,得到所述第一数据的后续位;其中,当所述第一基本类型为单精度浮点型时,所述后续位的长度为四字节;当所述第一基本类型为双精度浮点型时,所述后续位的长度为八字节;当所述第一基本类型为无符号整型时,所述后续位的长度为所述无符号整型的位数;当所述第一基本类型为有符号整型时,所述后续位的长度为所述有符号整型的位数。3.根据权利要求1所述的方法,其特征在于,所述第二数据包括引导位,所述对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,包括:当所述第一数据的数据类型为第二基本类型时,对所述第二基本类型进行二进制编码处理,得到所述第一数据的引导位,其中,所述第二基本类型包括以下至少之一:布尔型、空对象型、设定数字型。4.根据权利要求1所述的方法,其特征在于,所述第二数据包括引导位以及后续位,所述对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,包括:当所述第一数据的数据类型为第三基本类型时,对所述第三基本类型进行二进制编码处理,得到所述第一数据的引导位;其中,所述第三基本类型包括字符串型,所述引导位的长度为三位;对所述第一数据的字符串偏移量进行二进制编码处理,得到二进制格式的字符串偏移量;根据所述二进制格式的字符串偏移量,确定所述第一数据的后续位。5.根据权利要求4所述的方法,其特征在于,所述根据所述二进制格式的字符串偏移量,确定所述第一数据的后续位,包括:当在字符串池中未查询到对应所述第一数据的字符串时,确定所述字符串偏移量为零,并将所述二进制格式的字符串偏移量以及所述第一数据的字符串值的二进制编码,组合为所述第一数据的后续位;当在字符串池中查询到对应所述第一数据中的字符串时,将所述二进制格式的字符串偏移量确定为所述第一数据的后续位。6.根据权利要求4

5任一项所述的方法,其特征在于,所述字符串偏移量的数据类型是
变长整型,所述对所述第一数据的字符串偏移量进行二进制编码处理,得到二进制格式的字符串偏移量,包括:获取所述字符串偏移量的二进制编码;对所述二进制编码进行解析处理,得到至少一个解析结果;按照至少一个解析结果的位置顺序针对每个所述解析结果执行以下处理:当所述解析结果不包括所述字符串偏移量的二进制编码的末位时,将零作为对应所述解析结果的控制位,并将所述解析结果作为储存位;当所述解析结果包括所述字符串偏移量的二进制编码的末位时,将一作为对应所述解析结果的控制位,并将所述解析结果作为所述储存位;将对应相同所述解析结果的控制位以及储存位组合为对应所述解析结果的字节,并将每个所述解析结果的字节组成所述二进制格式的字符串偏移量。7.根据权利要求1所述的方法,其特征在于,所述第二数据包括引导位以及后续位,所述对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,包括:当所述第一数据的数据类型为第四基本类型时,对所述第四基本类型进行二进制编码处理,得到所述第一数据的引导位;其中,所述第四基本类型包括数组型,所述引导位的长度为两位;对所述第一数据的数组容量进行二进制编码处理,得到二进制格式的数组容量;对所述第一数据的数组查找表进行二进制编码处理,得到二进制格式的数组查找表;将所述二进制格式的数组容量、所述二进制格式的数组查找表以及所述第一数据的数组值的二进制编码,组合为所述第一数据的后续位。8.根据权利要求7所述的方法,其特征在于,所述对所述第一数据的数组查找表进行二进制编码处理,得到二进制格式的数组查找表,包括:获取所述第一数据中每个所述数组值的数组偏移量;将最大的数组偏移量的位数编码为所述数组查找表的二进制格式的表类型位,并将每个所述数组值的数组偏移量编码为所述数组查找表的二进制格式的偏移量位;其中,每个所述数组值对应的二进制格式的偏移量位的长度符合所述二进制格式的表类型位对应的位数。9.根据权利要求1所述的方法,其特征在于,所述第二数据包括引导位以及后续位,所述有序键查找表包括键查找表,所述对文本格式的第一数据进行序列化处理,得到二进制格式的第二数据,包括:当所述第一数据的数据类型为第五基本类型时,对所述第五基本类型进行二进制编码处理,得到所述第一数据的引导位;其中,所述第五基本类型包括对象型,所述引导位的长度为一位;对所述第一数据的对象数据量进行二进制编码处理,得到二进制格式的对象数据量;对所述第一数据的字符串池偏移量进行二进制编码处理,得到二进制格式的字符串池偏移量;对所述第一数据的键查找表进行二进制编码处理,得到二进制格式的键查找表;对所述第一数据的值查找表进行二进制编码处理,得到二进制格式的值查找表;将所述二进制格式的对象数据量、所述二进制格式的字符串池偏移量、所述二进制格
式的键查找表、所述二进制格式的值查找表以及所述第一数据的每个数据值的二进制编码,组合...

【专利技术属性】
技术研发人员:陈元
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1