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