[发明专利]一种高性能的数据序列化及反序列化系统在审
申请号: | 202111288484.0 | 申请日: | 2021-11-02 |
公开(公告)号: | CN114116074A | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 李朝铭;王建华 | 申请(专利权)人: | 山东新一代信息产业技术研究院有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济南市高新*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 性能 数据 序列 系统 | ||
本发明提供一种高性能的数据序列化及反序列化系统,属于数据处理领域,本发明先以描述的形式定义一个或一个以上要交换/传输的数据结构,然后可执行模块分析要交换/传输的数据结构描述并生成相关序列化和反序列化代码。节点应用包含上述生成的序列化代码进行序列化;序列化后的数据待交换/传输后,另一节点应用包含上述生成的反序列化代码进行反序列化。本发明以自动生成针对性序列化函数和反序列化函数代码的方式,对数据进行序列化和反序列化,使用方便,编程量小,可适用于消息、服务、参数等不同通信方式,性能很高,达到较传统方法可提高百倍的效果。
技术领域
本发明涉及数据处理领域,尤其涉及一种高性能的数据序列化及反序列化系统。
背景技术
在网络通信和通用数据交换等应用场景中,不同的系统、不同的网络、不同的进程间中会有大量的数据参与交换或网络传输,需要频繁对数据进行序列化和反序列化操作。序列化是将结构数据或对象转换成能够被存储和传输(例如网络传输)的格式,同时应当要保证这个序列化结果在之后(可能在另一个计算环境中)能够被重建回原来的结构数据或对象,被重建回原来的格式就是反序列化。目前常用的序列化方案是将数据转成json格式,但是这种方式序列化速度慢,并且序列化后的网络传输数据所占空间明显增大,从而导致节点之间接收数据慢,处理数据慢的情况。近几年也有使用protobuf的序列化方案,相对于json的方案在序列化结果和序列化速度上有较大的提升,但相对于一般的网络数据更为庞大,并且传输数据中含有大量的无需处理数据。也有采用二进制编码,基本数据类型及对象的字段都带有类型编码ID、对象编码中带上编码总长度等,比字符串编码占用空间小一些。不论是json、protobuf或是一般的二进制编码,性能还不够快,吞吐量还不够高,对于实时性强、数据量大的场景,都不能满足要求。
发明内容
为了解决以上技术问题,本发明提供了一种高性能的数据序列化及反序列化系统,它是在C++开发环境中,针对要交换/传输的数据组成,直接生成相应的序列化程序源代码和反序列化程序源代码,这些代码可嵌入到应用程序中在需要时直接作为函数调用,生成的序列化数据占用空间小,性能较传统的序列化及反序列化方法提高百倍甚至千倍以上。
本发明的技术方案是:
一种高性能的数据序列化及反序列化系统,包括一个或多个数据结构描述文件、形成序列化反序列化相关程序的可执行模块、一个或多个使用生成的序列化反序列化相关代码的节点应用。
先以描述的形式定义一个或多个要交换/传输的数据结构,然后可执行模块分析要交换/传输的数据结构描述并生成相关序列化和反序列化代码。节点应用包含上述生成的序列化代码进行序列化;序列化后的数据待交换/传输后,另一节点应用包含上述生成的反序列化代码进行反序列化。
其中,
要交换/传输的数据结构描述文件定义兼容ROS的格式,采用C++中类似的变量定义格式,每个成员包含类型声明及成员名称,可以加注释,每行一个成员定义说明,多行定义多个成员。
可执行模块为代码自动生成工具,它可以解析要交换/传输的数据结构描述,并生成C++语言支持的结构定义(C++.h头文件),同时生成针对该C++结构的序列化函数和反序列化函数(C++.cpp文件)。
节点应用包含上述生成的.h头文件和.cpp文件,节点应用经过必要的计算对.h头文件定义的结构进行赋值后,可以调用上述生成的.cpp文件中序列化函数进行序列化;序列化后的数据待交换/传输后,另一节点应用或节点应用另一模块可以调用上述生成的.cpp文件中反序列化函数进行反序列化给上述生成.h头文件定义的结构变量赋值,节点应用中使用该结构可进一步计算。
进一步的,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东新一代信息产业技术研究院有限公司,未经山东新一代信息产业技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111288484.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置