一种序列化方法、反序列化方法及相关设备技术

技术编号:11044960 阅读:80 留言:0更新日期:2015-02-18 11:18
本发明专利技术提供的一种序列化方法、反序列化方法及相关设备,获取普通类的需要序列化的属性及属性类型信息,将所述需要序列化的属性添加系列化描述信息,以使得将普通类标记为可序列化类,加载所述序列化信息及属性类型信息到内存序列化配置通过将序列化信息,无需额外的配置文件,支持静态编译检查,减少配置出错可能,支持自定义需要序列化的属性,支持多种基本类型和自定义类型,实现简单、处理效率高,扩展方便。

【技术实现步骤摘要】
一种序列化方法、反序列化方法及相关设备
本专利技术属于计算机领域,特别涉及一种序列化方法、反序列化方法及相关设备。
技术介绍
对象序列化/反序列化技术广泛应用于计算机领域,大量使用于系统备份、网络 通讯等涉及到数据交换的场景,主要实现将对象串行化为二进制字节流,进而可保存在存 储设备或和其他系统交换数据。 目前主流的序列化技术会将对象的所有属性都进行序列化,无法自定义需要序列 化的属性,在一些经常发生大数据量交换的行业应用中,如电信、金融行业,通常会自定义 通讯格式,并且只需要序列化对象中的部分属性,以达到提高序列化效率,节省传输带宽的 目的,无法直接使用主流的序列化技术。 现有技术中,中国专利(专利号:200910190251)公开了一种对象序列化方法、对 象反序列化方法、装置及系统,描述了对象中属性增减,引起反序列化失败的问题,中国专 利(专利号:201310596703)公开了一种对象序列化方法和装置,描述了序列化结果必须与 目标对象结构严格映射,无法满足灵活的序列化需求的问题,但是都没有解决用户自定义 序列化属性的问题。
技术实现思路
有鉴于此,本专利技术实施例提供了一种序列化方法、反序列化方法及相关设备。 本专利技术的一个目的是提供一种序列化方法,所述序列化方法包括: 在可序列化类为需要序列化的属性添加可序列化注解,将属性标记为可序列化属 性; 对可序列化类,加载类信息及类中所有可序列化属性信息到内存,形成预加载序 列化信息; 根据预加载序列化信息,获取待处理字节序列中所有可序列化属性,并根据序列 化顺序排序; 获取实例化对象中需要序列化的属性; 根据所述内存中加载的所述序列化信息和属性类型信息对所述实例化对象需要 序列化的属性序列化,并将所述实例化对象序列化后的属性值输出至字节序列。 作为一种优选的方案,在所述获取实例化对象中需要序列化的属性中,所述方法 具体包括: 依次获取实例化对象的需要序列化的属性,并将所述属性按循序排序。 作为一种优选的方案,在根据所述内存中加载的所述序列化信息和属性类型信息 对所述实例化对象需要序列化的属性序列化,并将所述实例化对象序列化后的属性值输出 至字节序列中,所述方法具体包括: 根据属性名字预加载的序列化信息缓存中查找对应的序列化信息,根据序列化信 息和属性类型信息,将实例化对象序列化后的属性值格式化输出到字节序列。 作为一种优选的方案,在所述将实例化对象序列化后的属性值格式化输出到字节 序列中,所述方法具体包括: 所述将实例化对象序列化后的属性值采用序号、长度或编码的形式格式化输出到 字节序列中。 本专利技术的另一个目的是提供一种反序列化方法,所述序列化方法包括: 在可序列化类为需要序列化的属性添加可序列化注解,将属性标记为可序列化属 性; 对可序列化类,加载类信息及类中所有可序列化属性信息到内存,形成预加载序 列化信息; 根据预加载序列化信息,获取待处理字节序列中所有可序列化属性,并根据序列 化顺序排序; 获取待处理字节序列的内容; 根据所述内存中加载的所述序列化信息和属性类型信息将所述字节序列中的内 容转换为属性值。 作为一种优选的方案,在所述获取实例化对象中需要序列化的属性中,所述方法 具体包括: 依次获取实例化对象的需要序列化的属性,并将所述属性按循序排序。 作为一种优选的方案,在所述将所述字节序列中的内容转换为属性值中,所述方 法具体包括: 并将所述内容按照属性类型信息进行格式化,将格式化的所述内容存入所述实例 化对象的属性值中。 本专利技术的另一个目的是提供一种序列化装置,其特征在于,所述序列化装置包 括: 第一获取单元,用于在可序列化类为需要序列化的属性添加可序列化注解,将属 性标记为可序列化属性; 第一标记单元,用于对可序列化类,加载类信息及类中所有可序列化属性信息到 内存,形成预加载序列化信息; 第一加载单元,用于根据预加载序列化信息,获取待处理字节序列中所有可序列 化属性,并根据序列化顺序排序; 第二获取单元,用于获取实例化对象中需要序列化的属性; 第一输出单元,用于根据所述内存中加载的所述序列化信息和属性类型信息对所 述实例化对象需要序列化的属性序列化,并将所述实例化对象序列化后的属性值输出至字 节序列。 作为一种优选的方案,所述第一获取单元还用于依次获取实例化对象的需要序列 化的属性,并将所述属性按循序排序。 作为一种优选的方案,所述第一输出单元还用于根据属性名字预加载的序列化信 息缓存中查找对应的序列化信息,根据序列化信息和属性类型信息,将实例化对象序列化 后的属性值格式化输出到字节序列。 作为一种优选的方案,所述第一输出单元还用于所述将实例化对象序列化后的属 性值采用序号、长度或编码的形式格式化输出到字节序列中。 本专利技术的另一个目的是提供一种反序列化装置,其特征在于,所述序列化装置包 括: 第一获取单元,用于在可序列化类为需要序列化的属性添加可序列化注解,将属 性标记为可序列化属性; 第一标记单元,用于对可序列化类,加载类信息及类中所有可序列化属性信息到 内存,形成预加载序列化信息; 第一加载单元,用于根据预加载序列化信息,获取待处理字节序列中所有可序列 化属性,并根据序列化顺序排序; 第二获取单元,用于待处理字节序列的内容; 第一转换单元,用于根据所述内存中加载的所述序列化信息和属性类型信息将所 述字节序列中的内容转换为属性值。 作为一种优选的方案,所述第一标记单元还用于依次获取实例化对象的需要序列 化的属性,并将所述属性按循序排序。 作为一种优选的方案,所述第一转换单元还用于将所述内容按照属性类型信息进 行格式化,将格式化的所述内容存入所述实例化对象的属性值中。 从以上技术方案可以看出,本专利技术实施例具有以下优点: 本专利技术提供的一种序列化方法、反序列化方法及相关设备,获取普通类的需要序 列化的属性及属性类型信息,将所述需要序列化的属性添加系列化描述信息,以使得将普 通类标记为可序列化类,加载所述序列化信息及属性类型信息到内存序列化配置通过将序 列化信息,无需额外的配置文件,支持静态编译检查,减少配置出错可能,支持自定义需要 序列化的属性,支持多种基本类型和自定义类型,实现简单、处理效率高,扩展方便。 【附图说明】 图1是本专利技术序列化方法的一种实施例的流程图; 图2是本专利技术序列化方法的另一种实施例的流程图; 图3是本专利技术反序列化方法的一种实施例的流程图; 图4是本专利技术反序列化方法的另一种实施例的流程图; 图5是本专利技术序列化装置的一种实施例的结构图; 图6是本专利技术反序列化方法的一种实施例的结构图。 【具体实施方式】 本专利技术实施例提供了一种序列化方法、反序列化方法及相关设备,实现简单、处理 效率高,扩展方便。 为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的 附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本专利技术一部分的实施例,而不是全本文档来自技高网
...
一种序列化方法、反序列化方法及相关设备

【技术保护点】
一种序列化方法,其特征在于,所述序列化方法包括:在类声明文件中对类及其属性声明添加可序列化的注解信息,将普通类标记为可序列化类;在可序列化类为需要序列化的属性添加可序列化注解,将属性标记为可序列化属性;对可序列化类,加载类信息及类中所有可序列化属性信息到内存,形成预加载序列化信息;序列化信息获取实例化对象中需要序列化的属性;根据所述内存中加载的所述序列化信息和属性类型信息对所述实例化对象需要序列化的属性序列化,并将所述实例化对象序列化后的属性值输出至字节序列。

【技术特征摘要】
1. 一种序列化方法,其特征在于,所述序列化方法包括: 在类声明文件中对类及其属性声明添加可序列化的注解信息,将普通类标记为可序列 化类; 在可序列化类为需要序列化的属性添加可序列化注解,将属性标记为可序列化属性; 对可序列化类,加载类信息及类中所有可序列化属性信息到内存,形成预加载序列化 信息; 序列化信息获取实例化对象中需要序列化的属性; 根据所述内存中加载的所述序列化信息和属性类型信息对所述实例化对象需要序列 化的属性序列化,并将所述实例化对象序列化后的属性值输出至字节序列。2. 根据权利要求1所述的方法,其特征在于,在所述获取实例化对象中需要序列化的 属性中,所述方法具体包括: 依次获取实例化对象的需要序列化的属性,并将所述属性按循序排序。3. 根据权利要求1所述的方法,其特征在于,在根据所述内存中加载的所述序列化信 息和属性类型信息对所述实例化对象需要序列化的属性序列化,并将所述实例化对象序列 化后的属性值输出至字节序列中,所述方法具体包括: 根据属性名字预加载的序列化信息缓存中查找对应的序列化信息,根据序列化信息和 属性类型信息,将实例化对象序列化后的属性值格式化输出到字节序列。4. 根据权利要求1所述的方法,其特征在于,在所述将实例化对象序列化后的属性值 格式化输出到字节序列中,所述方法具体包括: 所述将实例化对象序列化后的属性值采用序号、长度或编码的形式格式化输出到字节 序列中。5. -种反序列化方法,其特征在于,所述序列化方法包括: 在类声明文件中对类及其属性声明添加可序列化的注解信息,将普通类标记为可序列 化类; 在可序列化类为需要序列化的属性添加可序列化注解,将属性标记为可序列化属性; 对可序列化类,加载类信息及类中所有可序列化属性信息到内存,形成预加载序列化 信息; 根据预加载序列化信息,获取待处理字节序列中所有可序列化属性,并根据序列化顺 序排序; 获取待处理字节序列的内容; 根据所述内存中加载的所述序列化信息和属性类型信息将所述字节序列中的内容转 换为属性值。6. 根据权利要求5所述的方法,其特征在于,在所述获取实例化对象中需要序列化的 属性中,所述方法具体包括: 依次获取实例化对象的需要序列化的属性,并将所述属性按循序排序。7....

【专利技术属性】
技术研发人员:邓国宇蓝洪波
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1