[发明专利]对象序列化和反序列化方法及相关装置有效
申请号: | 201810150509.2 | 申请日: | 2018-02-13 |
公开(公告)号: | CN108415741B | 公开(公告)日: | 2020-08-04 |
发明(设计)人: | 周江;张丽;王建行;周洪斌;李建颖;罗德志;王枭 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 对象 序列 方法 相关 装置 | ||
1.一种对象序列化方法,其特征在于,所述方法包括:
通过反射机制获取对象和与所述对象对应的类型指针;
根据所述对象的类型指针确定该对象的类型;
若该对象的类型为基本类型,则将该对象的类型指针、以及该对象的值进行序列化;
若该对象的类型不为基本类型的对象,则将该对象的类型指针、该对象的各个成员对象各自的类型指针、成员对象的名称、以及成员对象的值进行序列化,其中,各成员对象的类型指针、名称和值在序列化结果中对应存储。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据预置的对象类型与类型标识的对应关系,确定该对象对应的类型标识;
进行序列化时,将该对象的类型标识一起进行序列化。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
从对象的序列化结果中获取该对象的类型标识;
根据类型标识和显示方式之间的对应关系,确定该对象的显示方式;
根据确定的显示方式显示该对象。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述方法还包括:
将完成序列化的对象存储在已序列化对象集合中;
获取该对象的类型指针之前,还包括:
确定该对象不在所述已序列化对象集合中。
5.根据权利要求1-3中任一所述的方法,其特征在于,获取与所述对象对应的类型指针之前,所述方法还包括:
确定该对象不为空对象。
6.根据权利要求1-3中任一所述的方法,其特征在于,根据所述对象的类型指针确定该对象的类型之后,所述方法还包括
在预先配置的忽略列表中查询是否存在该对象的类型;
若存在,则不序列化该对象;
若不存在,则执行若为基本类型的对象,则将该对象的类型指针、以及该对象的值进行序列化;若不为基本类型的对象,则将该对象的类型指针、该对象的各个成员对象各自的类型指针、成员对象的名称、以及成员对象的值进行序列化,其中,各成员对象的类型指针、名称和值在序列化结果中对应存储的步骤。
7.一种对象反序列化方法,其特征在于,包括:
获取对象的序列化结果,该序列化结果中包括该对象的类型指针;
根据该对象的类型指针,创建该对象,其中,若该对象为基本类型从序列化结果中获取该对象的值进行反序列化;若该对象不为基本类型,则根据序列化结果该对象的各成员对象的类型指针创建成员对象,并根据各成员对象的名称和值进行反序列化。
8.根据权利要求7所述的方法,其特征在于,所述序列化结果中还包括对象的类型标识,所述根据该对象的类型指针,创建该对象之前,还包括:
确定该类型指针的长度为预设长度,和/或,
确定该类型指针的长度为预设长度、且该对象的类型标识在预设值范围内。
9.一种对象序列化装置,其特征在于,所述装置包括:
获取模块,用于通过反射机制获取对象和与所述对象对应的类型指针;
类型确定模块,用于根据所述对象的类型指针确定该对象的类型;
序列化模块,用于若该对象的类型为基本类型,则将该对象的类型指针、以及该对象的值进行序列化;若该对象的类型不为基本类型,则将该对象的类型指针、该对象的各个成员对象各自的类型指针、成员对象的名称、以及成员对象的值进行序列化,其中,各成员对象的类型指针、名称和值在序列化结果中对应存储。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
类型ID确定模块,根据预置的对象类型与类型标识的对应关系,确定该对象对应的类型标识;
所述序列化模块,用于进行序列化时,将该对象的类型标识一起进行序列化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810150509.2/1.html,转载请声明来源钻瓜专利网。