【技术实现步骤摘要】
序列化方法、反序列化方法以及相关装置
[0001]本申请涉及计算机数据结构
,特别是涉及一种序列化方法、反序列化方法以及相关装置。
技术介绍
[0002]结构化数据是指使用统一的格式或数据结构存储的数据,其每一个数据域都有明确的含义,计算机可以非常快速高效地访问结构化数据的内容。序列化是指把对象转换为字节序列的过程称为对象的序列化;反序列化是指把字节序列恢复为对象的过程称为对象的反序列化。序列化的数据适合于计算机存储以及网络传输,而反序列化的对象适合于存放在计算机内存中,供算法进行处理和访问。在深度学习领域,通常把训练好的模型数据通过序列化的方法后存储到文件,然后在另外一个设备上读取文件,进行反序列化,获得模型数据结构后进行后续的处理(比如前向推理)。
[0003]目前,序列化数据一般需要进行反序列化后得到结构化数据,才能供程序进行高效访问。比如Google公司的protobuf协议就提供了序列化和反序列化功能,被广泛应用于深度学习领域的模型结构中。Flatbuffer是Google提供的另一套序列化框架,其中 ...
【技术保护点】
【技术特征摘要】
1.一种序列化方法,其特征在于,包括:获取第一集合、第二集合和第一映射关系表;其中,所述第一集合用于存储已序列化对象的第一地址,所述第二集合用于存储待序列化对象的第一地址,所述第一映射关系表用于存储所述第一地址与对应的已序列化对象在序列化数据中的绝对偏移值之间的映射关系;针对所述第二集合中的每个第二地址,将与所述第二地址对应的所述待序列化对象写入已序列化对象形成的序列化数据中,并将所述待序列化对象在所述序列化数据中的绝对偏移值写入所述第一映射关系表;响应于所述已序列化对象存在对应的引用对象,获得所述已序列化对象在序列化数据中的绝对偏移值和对应的引用对象的绝对偏移值之间的相对偏移值,并将所述相对偏移值写入所述序列化数据。2.根据权利要求1所述的序列化方法,其特征在于,所述响应于所述已序列化对象存在对应的引用对象,获得所述已序列化对象的绝对偏移值和对应的引用对象的绝对偏移值之间的相对偏移值,并将所述相对偏移值写入所述序列化数据的步骤之前,包括:响应于所述第二集合为空,遍历所述第一集合中的所有所述已序列化对象的第一地址;针对每个所述已序列化对象,利用所述第一地址和所述第一映射关系表获得所述已序列化对象在所述序列化数据中的绝对偏移值,并遍历所述已序列化对象对应的所有引用对象。3.根据权利要求2所述的序列化方法,其特征在于,所述获得所述已序列化对象的绝对偏移值和对应的所述引用对象的绝对偏移值之间的相对偏移值的步骤,包括:从所述第一映射关系表中获得所述引用对象在所述序列化数据中的绝对偏移值;将所述引用对象的绝对偏移值和所述已序列化对象的绝对偏移值作差以获得所述已序列化对象和所述引用对象之间的相对偏移值。4.根据权利要求1所述的序列化方法,其特征在于,所述针对所述第二集合中的每个第二地址,将与所述第二地址对应的所述待序列化对象写入已序列化对象形成的序列化数据中,并将所述待序列化对象在所述序列化数据中的绝对偏移值写入所述第一映射关系表的步骤之后,还包括:响应于所述已序列化对象不存在对应的引用对象,将所述序列化数据中相应位置处的相对偏移值设置为预设值。5.根据权利要求1所述的序列化方法,其特征在于,所述针对所述第二集合中的每个第二地址,将与所述第二地址对应的所述待序列化对象写入已序列化对象形成的序列化数据中,并将所述待序列化对象在所述序列化数据中的绝对偏移值写入所述第一映射关系表的步骤之前,包括:获得所有所述待序列化对象的内存值,并根据所述内存值的大小顺序获得每个所述待序列化对象在所述序列化数据中的第二地址。6.一种反序列化方法,其特征在于,包括:获取第三集合、第四集合和第二映射关系表;其中,所述第三集合用于存储已反序列化对象在序列...
【专利技术属性】
技术研发人员:韩建强,陈波扬,
申请(专利权)人:浙江大华技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。