[发明专利]一种高性能的数据序列化及反序列化系统在审
申请号: | 202111288484.0 | 申请日: | 2021-11-02 |
公开(公告)号: | CN114116074A | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 李朝铭;王建华 | 申请(专利权)人: | 山东新一代信息产业技术研究院有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济南市高新*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 性能 数据 序列 系统 | ||
1.一种高性能的数据序列化及反序列化系统,其特征在于,
包括一个或一个以上的数据结构描述文件、形成序列化反序列化相关代码的可执行模块、一个或一个以上的使用生成的序列化反序列化相关代码的节点应用;
先以描述的形式定义一个或一个以上要交换/传输的数据结构,然后可执行模块分析要交换/传输的数据结构描述并生成相关序列化和反序列化代码;节点应用包含上述生成的序列化代码进行序列化;序列化后的数据待交换/传输后,另一节点应用包含上述生成的反序列化代码进行反序列化。
2.如权利要求1所述的系统,其特征在于,
要交换/传输的数据结构描述文件定义兼容ROS的格式,采用C++中的变量定义格式,每个成员包含类型声明及成员名称,可以加注释,每行一个成员定义说明,多行定义多个成员。
3.如权利要求2所述的系统,其特征在于,
可执行模块为代码自动生成工具,它可以解析要交换/传输的数据结构描述,并生成C++语言支持的结构定义(C++.h头文件),同时生成针对该C++结构的序列化函数和反序列化函数(C++.cpp文件)。
4.如权利要求3所述的系统,其特征在于,
节点应用包含上述生成的.h头文件和.cpp文件,节点应用经过计算对.h头文件定义的结构进行赋值后,可以调用上述生成的.cpp文件中序列化函数进行序列化;序列化后的数据待交换/传输后,另一节点应用可以调用上述生成的.cpp文件中反序列化函数进行反序列化给上述生成.h头文件定义的结构变量赋值,节点应用中使用该结构可进一步计算。
5.如权利要求3所述的系统,其特征在于,
代码自动生成工具生成的序列化函数,针对定长的基础类型变量直接保存其值,针对变长的指针型变量则保存值长度和值内容,针对对象型变量也保存值长度和值内容。
6.如权利要求3所述的系统,其特征在于,
代码自动生成工具生成的反序列化函数,利用代码生成的不同指针,直接指向不同变量内容所在地址,并还原到结构对应的成员变量上。
7.如权利要求3所述的系统,其特征在于,
代码自动生成工具生成序列化函数和反序列化函数,针对不同的结构描述文件生成不同代码的序列化函数和反序列化函数。
8.如权利要求7所述的系统,其特征在于,
代码自动生成工具生成序列化函数和反序列化函数,对不同的结构描述文件生成的函数名称相同,同时利用了C++命名空间特性,确保对不同的结构描述文件序列化和反序列化调用正确的函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东新一代信息产业技术研究院有限公司,未经山东新一代信息产业技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111288484.0/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置