[发明专利]序列化装置和序列化方法有效
申请号: | 201210480564.0 | 申请日: | 2012-11-22 |
公开(公告)号: | CN102981884A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 蒋生锋 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 序列 化装 方法 | ||
1.一种序列化装置,其特征在于,包括:
第一判断单元,用于在所述序列化装置对源对象进行序列化时,判断所述源对象的类型是否为预设简单类型,若不是,则判定所述源对象的类型为预设复杂类型;
第一转换单元,用于在所述源对象的类型为预设简单类型的情况下,将所述源对象的状态信息转换为待存储数据;
第一获取单元,用于在所述源对象的类型为预设复杂类型的情况下,获取所述源对象中属性值不为空的属性,并根据所述属性生成相应的描述数据,将所述描述数据缓存至临时字节流中,以及根据所述属性对应的类型对所述属性的值进行序列化,并将序列化的结果数据缓存至所述临时字节流中;
计算单元,用于计算所述描述数据的字节流长度和所述结果数据的字节流长度之和,以作为所述源对象的字节流长度;
存储单元,用于将所述待存储数据保存至目标字节流中,并将所述源对象的字节流长度序列化至所述目标字节流中,以及将所述描述数据和所述结果数据保存至所述目标字节流中。
2.根据权利要求1所述的序列化装置,其特征在于,所述第一判断单元还用于判断所述源对象的类型是否为空数据类型,若是,则将所述空数据类型对应的标识保存至所述目标字节流中,若不是,则判断所述源对象的类型是否为预设简单类型。
3.根据权利要求1所述的序列化装置,其特征在于,所述存储单元还用于将所述源对象的类型对应的标识保存至所述目标字节流中;所述第一获取单元还用于获取所述目标字节流中的所述标识;以及所述序列化装置还包括:
第二判断单元,用于根据所述标识判断待反序列化的数据的类型是否为预设简单类型;
第二获取单元,用于在所述第二判断单元的判断结果为是的情况下,获取所述字节流中除了所述标识对应的字节的其他字节,并将所述其他字节转换为相应的对象;
第三判断单元,用于判断目标对象和所述相应的对象的类型是否相同;
第二转换单元,用于在所述第三判断单元的判断结果为否的情况下,将所述相应的对象的类型转换为所述目标对象的类型;
第一数值返回单元,用于将所述相应的对象赋值给所述目标对象,或将转换后的所述相应的对象赋值给所述目标对象;
第三获取单元,用于在所述第二判断单元的判断结果为否的情况下,从所述字节流中获取所述描述数据,并获取所述目标对象中的目标属性的信息,查询与所述目标属性的名称相同的所述描述数据所描述的属性,根据所述描述数据反序列化出对象;
第四判断单元,用于判断反序列化出来的对象的类型和所述目标对象的类型是否相同;
第三转换单元,用于在所述第四判断单元的判断结果为否的情况下,将所述反序列化出来的对象的类型转换为所述目标对象的类型;
第二数值返回单元,用于将所述反序列化出来的对象赋值给所述目标对象的相应的属性,或将转换后的对象赋值给所述目标对象的相应的属性。
4.根据权利要求3所述的序列化装置,其特征在于,所述第二判断单元还用于判断待反序列化数据的类型是否为空数据类型,若是,则结束反序列化操作,若不是,则根据所述标识判断待反序列化数据的类型是否为预设简单类型。
5.根据权利要求1至4中任一项所述的序列化装置,其特征在于,所述预设简单类型包括以下至少一种:布尔、浮点数、双精度浮点数、短整数、整数、长整数、日期、字符串和集合;以及所述预设复杂类型包括以下至少一种:类和结构。
6.一种序列化方法,其特征在于,包括:
步骤202,在对源对象进行序列化时,判断所述源对象的类型是否为预设简单类型,若不是预设简单类型,则判定所述源对象的类型为预设复杂类型;
步骤204,若所述源对象的类型为预设简单类型,则将所述源对象的状态信息转换为待存储数据,并将所述待存储数据保存至目标字节流中;
步骤206,若所述源对象的类型为预设复杂类型,则获取所述源对象中属性值不为空的属性,并根据所述属性生成相应的描述数据,将所述描述数据缓存至临时字节流,以及根据所述属性对应的类型对所述属性的值进行序列化,并将序列化的结果数据缓存至临时字节流;
步骤208,计算所述描述数据的字节流长度和所述结果数据的字节流长度之和,以作为所述源对象的字节流长度,并将所述源对象的字节流长度序列化至所述目标字节流中,以及将所述描述数据和所述结果数据保存至所述目标字节流中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210480564.0/1.html,转载请声明来源钻瓜专利网。