序列化方法、反序列化方法、序列化装置及反序列化装置与流程

文档序号:11828763阅读:来源:国知局

技术特征:

1.一种序列化方法,其特征在于,包括:

确定目标对象的存储结构类型;

在序列器池中,获取与所述目标对象的存储结构类型对应的目标序列器;其中,所述目标序列器中保存有所述目标对象的元数据,所述元数据用于表示所述目标对象的存储内容类型;

触发所述目标序列器将所述目标对象写入所述序列。

2.根据权利要求1所述的序列化方法,其特征在于,所述目标对象的存储结构类型为非数组,所述目标对象为非数组对象,所述目标序列器为非数组对象序列器;

相应地,所述触发所述目标序列器将所述目标对象写入所述序列,包括触发所述非数组对象序列器执行以下步骤:

在堆内存中,获取所述非数组对象的若干个基本类型字段;

按照预先确定的字节切分长度,切分所述若干个基本类型字段,获得若干个数据项;其中,所述字节切分长度为大于1的值;

将所述若干个数据项写入所述序列。

3.根据权利要求2所述的序列化方法,其特征在于,所述非数组对象的堆内存区域划分为首部与身体部分,所述身体部分包含所述基本类型字段;

其中,所述字节切分长度的确定步骤,具体为:

获取所述非数组对象的字节长度、所述首部的字节长度及所述身体部分的字节长度;其中,所述非数组对象的字节长度为第一数值的整数倍,所述第一数值为合数,所述首部的字节长度为所述第一数值的因数的整数倍;

将所述因数确定为字节切分长度。

4.根据权利要求2所述的序列化方法,其特征在于,还包括:

当所述非数组对象中存储有引用类型字段时,将所述引用类型字段指向的对象写入所述序列器。

5.根据权利要求1所述的序列化方法,其特征在于,所述目标对象的存储结构类型为基本类型数组,所述目标对象为基本类型数组对象,所述目标序列器为基本类型数组对象序列器;

相应地,所述触发所述目标序列器将所述目标对象写入所述序列,包括:触发所述基本类型数组对象序列器执行以下步骤:

获取所述基本类型数组对象的全部数组元素;其中,所述数组元素的类型为基本类型;

将所述全部数组元素写入所述序列。

6.根据权利要求1所述的序列化方法,其特征在于,还包括:

在未获取到目标序列器的情况下,生成与所述目标对象对应的目标序列器类;

对所述目标序列器类进行实例化,以获得目标序列器。

7.根据权利要求6所述的序列化方法,其特征在于,所述目标对象对应的类为非数组对象类,所述非数组对象类包含若干个字段;

相应地,所述生成与所述目标对象对应的目标序列器类,包括:

依据预设切分规则,在所述若干个字段的堆内存中确定若干个切分点;

针对每个所述切分点,生成各自对应的堆内存序列写入方法,以获得所述非数组对象的目标序列器类;其中,所述堆内存序列写入方法用于将所述非数组对象在堆内存中存储的字段写入序列中。

8.一种反序列化方法,其特征在于,包括:

在序列中,获取序列器的索引;其中,所述序列中包括序列器的索引及对象字节流;

在序列器池中,获取与所述序列器的索引对应的目标序列器;

获取所述目标序列器中存储的元数据;

触发所述目标序列器依据所述元数据,将所述序列中的对象字节流生成目标对象。

9.一种序列化装置,其特征在于,包括:

对象类型确定模块,用于确定目标对象的存储结构类型;

序列器获取模块,用于在序列器池中,获取与所述目标对象的存储结构类型对应的目标序列器;其中,所述目标序列器中保存有所述目标对象的元数据,所述元数据用于表示所述目标对象的存储内容类型;

序列器序列化模块,用于触发所述目标序列器将所述目标对象写入所述序列。

10.一种反序列化装置,其特征在于,包括:

序列器索引获取模块,用于在序列中,获取序列器的索引;其中,所述序列中包括序列器的索引及对象字节流;

序列器获取模块,用于在序列器池中,获取与所述序列器的索引对应的目标序列器;

元数据获取模块,用于获取所述目标序列器中存储的元数据;

序列器反序列化模块,用于触发所述目标序列器依据所述元数据,将所述序列中的对象字节流生成目标对象。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1