[发明专利]数据序列化、数据反序列化方法、装置和计算机设备在审
申请号: | 201911154417.2 | 申请日: | 2019-11-22 |
公开(公告)号: | CN111124551A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 王嘉兴;李升林 | 申请(专利权)人: | 矩阵元技术(深圳)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F8/41;G06F16/25 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 徐焕;周达 |
地址: | 518061 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 序列 方法 装置 计算机 设备 | ||
1.一种数据序列化方法,其特征在于,包括:
获取目标代码,其中,所述目标代码包括用户定义的目标数据的结构体类型定义信息和序列化函数签名;
根据所述目标代码确定所述序列化函数签名和所述结构体类型定义信息;
根据所述序列化函数签名和所述结构体类型定义信息生成目标序列化函数;
获取待序列化的目标数据,并根据所述目标序列化函数对所述目标数据进行序列化处理,得到对应的目标字节流。
2.根据权利要求1所述的方法,其特征在于,所述目标代码包括中间码;
相应的,获取目标代码,包括:
获取目标源码,其中,所述目标源码包括序列化函数签名的源码以及目标数据的结构体类型定义信息的源码;
对所述目标源码进行编译,生成中间码。
3.根据权利要求1所述的方法,其特征在于,所述目标数据的结构体类型定义信息包括多个结构体中各结构体的结构体类型定义信息和指针信息;
根据所述序列化函数签名和所述结构体类型定义信息生成目标序列化函数,包括:
根据所述序列化函数签名和所述多个结构体中各结构体的结构体类型定义信息和指针信息生成所述多个结构体中各个结构体的写入函数;
根据所述各个结构体的写入函数,生成目标序列化函数。
4.根据权利要求3所述的方法,其特征在于,根据所述序列化函数签名和所述多个结构体中各结构体的结构体类型定义信息和指针信息生成多个结构体中各个结构体的写入函数,包括:
按照以下方式生成所述多个结构体中当前结构体的写入函数:
获取上一个结构体的指针信息,并根据所述上一个结构体的指针信息确定出当前结构体,其中,所述多个结构体中的第一个结构体是根据所述序列化函数签名中的第一个参数确定的;
根据所述当前结构体的结构体类型定义信息和指针信息,生成与所述当前结构体对应的写入函数。
5.根据权利要求3所述的方法,其特征在于,还包括:
在生成所述多个结构体中各个结构体的写入函数的过程中,在预设的映射表中记录所述各结构体以及所述各结构体对应的写入函数。
6.根据权利要求1所述的方法,其特征在于,所述目标数据为环结构,包括多个结点,所述结构体类型定义信息包括数据类型信息和指针信息;
相应地,根据所述目标序列化函数,对所述目标数据进行序列化处理,得到对应的目标字节流,包括:
根据所述目标序列化函数,对所述目标数据中的多个结点中各结点进行序列化处理,得到所述各结点对应的字节流,其中,在生成所述各结点对应的字节流的过程中,在预设备忘录中记录所述各结点以及所述各结点对应的字节流的首地址,使得在再次遇到相同结点的情况下,生成指向所述结点的首地址的指针。
7.根据权利要求1所述的方法,其特征在于,所述目标字节流包括:数据头、地址标记段和数据段;
其中,所述数据头中包括:版本号、校验码、地址标记段长度以及数据段长度;所述地址标记段包括目标地址和指针级别,用于表明所述目标地址中的数据类型为所述指针级别的指针;所述数据段中包括所述目标数据的数据信息。
8.一种数据反序列化方法,其特征在于,包括:
获取目标代码,其中,所述目标代码包括用户定义的目标结构体类型定义信息和反序列化函数签名;
根据所述目标代码确定所述目标结构体类型定义信息和所述反序列化函数签名;
根据所述目标结构体类型定义信息和所述反序列化函数签名,生成目标反序列化函数;
获取待反序列化的目标字节流,并根据所述目标反序列化函数对所述目标字节流进行反序列化处理,得到所述目标字节流对应的目标数据,其中,所述目标数据的结构体类型定义信息为所述目标结构体类型定义信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于矩阵元技术(深圳)有限公司,未经矩阵元技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911154417.2/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置