This manual provides a serialization and deserialization method, device and equipment, the method comprises the following steps: pre superclass configuration metadata tag, the tag number indicating the superclass metadata for reserved attribute number. Serialization, to obtain the corresponding data object to be serialized sub class attribute indicates the parent class based on metadata tags and the number of data objects in the sub class rank, determine the attribute number attribute and attribute; read the data objects in the corresponding value; then, the attribute number and attribute the attribute values are serialized, the serialized data obtained.
【技术实现步骤摘要】
序列化与反序列化方法、装置及设备
本说明书涉及计算机
,尤其涉及序列化与反序列化方法、装置及设备。
技术介绍
序列化(serialization)和反序列化(deserialization)是计算机领域常用的技术。序列化用于将对象的数据信息转换成可保持格式或可传输格式的序列化数据,例如序列化数据可以是二进制数据流,从而能够对序列化数据进行保存或者传输等操作。反序列化为序列化的逆过程,用于将序列化数据转换为对象的数据信息。针对存在继承关系的子类的对象进行序列化时,如果在序列化端和反序列化端确定解析协议所需要用到的子类后,发生父类扩展属性的情况,例如父类后续增加属性,则会导致子类属性编码序号改变。此时序列化端和反序列化端必须同时升级两端的类,否则导致反序列化异常。鉴于此,需要提供一种支持父类扩展属性的方案。
技术实现思路
为克服相关技术中存在的问题,本说明书提供了序列化与反序列化方法、装置及设备。一种序列化方法,预先对父类配置元数据标签,所述元数据标签用于指示为所述父类预留的属性序号的数量,所述方法包括:获得待序列化的数据对象对应的子类,所述子类继承于所述父类;基于 ...
【技术保护点】
一种序列化方法,预先对父类配置元数据标签,所述元数据标签用于指示为所述父类预留的属性序号的数量,所述方法包括:获得待序列化的数据对象对应的子类,所述子类继承于所述父类;基于所述父类的元数据标签所指示的数量以及所述数据对象的属性在所述子类中的属性排位,确定所述属性的属性序号;读取所述数据对象中所述属性对应的属性值;将所述属性的属性序号和属性值进行序列化,获得序列化数据。
【技术特征摘要】
1.一种序列化方法,预先对父类配置元数据标签,所述元数据标签用于指示为所述父类预留的属性序号的数量,所述方法包括:获得待序列化的数据对象对应的子类,所述子类继承于所述父类;基于所述父类的元数据标签所指示的数量以及所述数据对象的属性在所述子类中的属性排位,确定所述属性的属性序号;读取所述数据对象中所述属性对应的属性值;将所述属性的属性序号和属性值进行序列化,获得序列化数据。2.根据权利要求1所述的方法,所述基于所述父类的元数据标签所指示的数量以及所述数据对象的属性在所述子类中的属性排位,确定所述属性的属性序号,包括:将基于所述数据对象的属性在所述子类中的属性排位获得的序号,与所述父类的元数据标签所指示的数量相加,获得所述属性的属性序号。3.根据权利要求1所述的方法,所述将所述属性的属性序号和属性值进行序列化,获得序列化数据,包括:将所述属性的属性序号编码作为键值对的键信息;将所述属性的属性值编码作为键值对的值信息;按所述属性序号的顺序将由键信息和值信息构成的键值对写入所述数据对象的结果数据流,所述结果数据流作为所述数据对象的序列化数据。4.根据权利要求1至3任一项所述的方法,所述方法还包括:将所述属性的属性序号和属性值进行序列化时,还将所述属性的属性类型进行序列化。5.根据权利要求1至3任一项所述的方法,所述方法还包括:将所述属性的属性序号和属性值进行序列化时,还将所述属性值的长度值进行序列化。6.一种反序列化方法,预先对父类配置元数据标签,所述元数据标签用于指示为所述父类预留的属性序号的数量,所述方法包括:获取序列化数据;获得所述序列化数据对应的子类,所述子类继承于所述父类;基于所述父类的元数据标签所指示的数量以及所述子类中属性的属性排位,确定所述属性的属性序号,获得所述属性与所述属性序号的映射关系;将所述序列化数据进行解析,根据所述映射关系以及解析获得的属性序号和属性值对待重建数据对象的属性进行赋值。7.根据权利要求6所述的方法,所述基于所述父类的元数据标签所指示的数量以及所述子类中属性的属性排位,确定所述属性的属性序号,获得所述属性与所述属性序号的映射关系,包括:将基于所述子类中属性的属性排位获得的序号,与所述父类的元数据标签所指示的数量相加,获得所述属性的属性序号。8.一种序列化装置,预先对父类配置元数据标签,所述元数据标签用于指示为所述父类预留的属性序号的数量,所述装置包括:类获得模块,用于获得待序列化的数据对象对应的子类,所述子类继承于所述父类;序号确定模块,用于基于所述父类的元数据标签所指示的数量以及所述数据对象的属性在所述子类中的属性排位,确定所述属性的属性序号;值读取模块,用于读取所述数据对象中所述属性对应的属性值;序列化模块,用于将所述属性的属性序号和属性值进行序列...
【专利技术属性】
技术研发人员:王文通,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。