[发明专利]数据序列化、反序列化方法、设备、系统、介质及产品有效
申请号: | 202110854592.3 | 申请日: | 2021-07-28 |
公开(公告)号: | CN113312344B | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 孟庆义;李飞飞;沈春辉;杨成虎 | 申请(专利权)人: | 阿里云计算有限公司 |
主分类号: | G06F16/215 | 分类号: | G06F16/215;G06F16/22 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 刘戈;张爱 |
地址: | 310012 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 序列 方法 设备 系统 介质 产品 | ||
1.一种数据序列化方法,包括:
确定待序列化的多行数据,每行数据对应多个列;
将所述多行数据序列化为包含元数据部分和数据部分的行组数据,所述元数据部分用于描述所述多行数据对应的表结构,所述数据部分用于描述所述多行数据中的值;
其中,所述多行数据对应的数据库表为非关系型数据库表,所述表结构包括所述多个列的列信息、主键列的列数和非主键列的列数,所述将所述多行数据序列化为包含元数据部分和数据部分的行组数据,包括:
对所述表结构中的多个列信息、主键列的列数和非主键列的列数进行序列化,为每个列信息的序列化结果拼接相应的长度数据,并使得每个列信息的序列化结果的拼接结果和所述主键列的列数的序列化结果以及所述非主键列的列数的序列化结果一起按序排列,以得到行组数据中的元数据部分;
对所述多行数据中的值进行序列化,为每个值的序列化结果拼接相应的长度数据,并使得每个值的序列化结果的拼接结果按序排列,以得到行组数据中的数据部分。
2.根据权利要求1所述的方法,所述多行数据中的值包括所述多行数据中主键列的多个第一值和非主键列的多个第二值,且所述第一值和所述第二值的序列化结果的拼接结果,按照先第一值后第二值的顺序,或者,先第二值后第一值的顺序排列。
3.根据权利要求2所述的方法,所述多个第二值包括所述多行数据中非主键列中的多个非空值;所述方法还包括:生成用于描述所述多行数据中非主键列中的非空值的位置的位图,对所述位图进行序列化,并将所述位图的序列化结果和所述列信息的序列化结果的拼接结果一起按序排列。
4.一种数据反序列化方法,包括:
获取待反序列化的行组数据,所述行组数据包含元数据部分和数据部分,所述元数据部分用于描述多行数据对应的表结构,所述数据部分用于描述所述多行数据中的值;
对所述元数据部分进行反序列化,以生成所述表结构;
根据生成的所述表结构对所述数据部分进行解析,以确定所述数据部分所描述的值在所述表结构中的行列位置,并根据所述行列位置对所述数据部分所描述的至少部分值进行反序列化;
其中,所述元数据部分包括按序排列的多个列信息的序列化结果的拼接结果以及两个列数的序列化结果,所述多个列信息的序列化结果的拼接结果是通过对每个列信息的序列化结果拼接相应的长度数据得到;所述对所述元数据部分进行反序列化,以生成所述表结构,包括:
对所述多个列信息的序列化结果的拼接结果进行解析,得到多个列信息的序列化结果;
对所述多个列信息的序列化结果进行反序列化,得到所述多个列信息;
根据每个列信息的序列化结果的拼接结果在所述元数据部分中的排列位置,确定所述列信息对应的列号;
根据所述多个列信息以及所述多个列信息分别对应的列号,生成所述表结构;
对所述两个列数的序列化结果进行反序列化,得到两个列数;
根据每个列数的序列化结果在所述元数据部分中的排列位置,确定所述列数是主键列的列数还是非主键列的列数;
根据确定的主键列的列数和非主键列的列数,设置所生成的表结构中的主键和非主键;
所述数据部分包括按序排列的多个值的序列化结果的拼接结果,所述多个值的序列化结果的拼接结果是通过对每个值的序列化结果拼接相应的长度数据得到;所述根据生成的所述表结构对所述数据部分进行解析,以确定所述数据部分所描述的值在所述表结构中的行列位置,包括:
对所述多个值的序列化结果的拼接结果进行解析,得到所述多个值的序列化结果;
根据所述表结构以及每个值的序列化结果的拼接结果在所述数据部分中的排列位置,确定所述值的序列化结果与所述表结构中行列位置的对应关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里云计算有限公司,未经阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110854592.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置