一种结构化数据的序列化、反序列化方法及装置制造方法及图纸

技术编号:15616820 阅读:85 留言:0更新日期:2017-06-14 03:33
本申请提供了一种结构化数据的序列化、反序列化方法及装置,所述方法包括:获取n个结构化数据分别对应的属性值组;根据所述n个结构化数据分别对应的属性值组,生成一组序列化数据;所述序列化数据包括n条记录,其中,第i条记录包括m

【技术实现步骤摘要】
一种结构化数据的序列化、反序列化方法及装置
本申请涉及计算机
,尤其是涉及一种结构化数据的序列化、反序列化方法及装置。
技术介绍
随着大数据时代的到来,越来越多的服务商发布了结构化数据的处理平台,这些处理平台能够对结构化数据提供序列化和反序列化处理。结构化数据的序列化指的是将原始的结构化数据转换成具有特定格式的序列化数据,以方便根据序列化数据进行传输等操作。而反序列化是序列化的逆过程,能够将具有特定格式的序列化数据恢复成原始的结构化数据。目前,一种常用的序列化方法基于谷歌公司提出的protobuf协议,基于该协议将至少一个结构化数据进行序列化时,具体的序列化过程包括:各个结构化数据分别具有对应的属性值集合,将所有结构化数据转换成一个message对象,其中,该message对象包括至少一个域(field),每个field包括标签信息(tag)和值信息(value),在各个field的value中存储各个结构化数据的属性值集合。例如,结构化数据order1具有属性值集合:a1、a2和a3,结构化数据order2具有属性值集合:b1、b2和b3,根据protobuf协议的规定,将结构化数据order1和order2转换为message对象a,message对象a具有6个field,这6个field的value中分别存储有a1、a2、a3、b1、b2和b3。然而,在这种序列化方式中,由于需要将结构化数据转换成message对象,而message对象的大小具有一定的限制,例如需要满足小于一定的字节,上述限制可能会导致无法实现序列化。
技术实现思路
本申请解决的技术问题在于提供一种结构化数据的序列化、反序列化方法及装置,以解决由于message对象的大小限制而导致的无法实现序列化的问题。为此,本申请解决技术问题的技术方案是:本申请提供了一种结构化数据的序列化方法,包括:获取n个结构化数据,n≥1;获取所述n个结构化数据分别对应的属性值组;根据所述n个结构化数据分别对应的属性值组,生成一组序列化数据;所述序列化数据包括n条记录,其中,第i条记录包括mi+1个域,1≤i≤n,mi≥1,前mi个域的值信息中存储有所述第i条记录的数据组,所述数据组为所述n个结构化数据中第i个结构化数据对应的属性值组,第mi+1个域的标签信息中存储有第一特定标识,用于标识所述第i条记录的结束;所述序列化数据在所述n条记录之后还包括特定域,所述特定域的标签信息中存储有第二特定标识,用于标识所述序列化数据的结束。可选的,所述n条记录中分别存储有各个记录对应的校验值;其中,所述第i条记录中,第mi+1个域的值信息存储有所述第i条记录对应的校验值,所述第i条记录对应的校验值根据所述第i个结构化数据对应的属性值组获取。可选的,所述特定域包括第一特定域和/或第二特定域;所述第一特定域的标签信息存储有第一子标识,值信息存储有总校验值,所述总校验值根据所述n条记录分别对应的校验值获取;所述第二特定域的标签信息存储有第二子标识,值信息存储有总记录数,所述总记录数具体为n。可选的,所述第一特定标识和所述第二特定标识均为大于预设阈值的数值,所述预设阈值根据标签信息的域标识的最大可用范围确定。本申请提供了一种序列化数据的反序列化方法,包括:获取一组序列化数据,所述序列化数据包括n条记录,其中,第i条记录包括mi+1个域,1≤i≤n,n≥1,mi≥1,前mi个域的值信息中存储有所述第i条记录的数据组,第mi+1个域的标签信息中存储有第一特定标识,用于标识所述第i条记录的结束,所述序列化数据在所述n条记录之后还包括特定域,所述特定域的标签信息存储有第二特定标识,用于标识所述序列化数据的结束;从所述序列化数据中获取n个结构化数据分别对应的属性值组,其中,第i个结构化数据对应的属性值组从所述第i条记录的数据组中获取;根据所述n个结构化数据分别对应的属性值组,生成所述n个结构化数据。可选的,还包括:从所述序列化数据中获取n条记录分别对应的校验值,其中,所述第i条记录对应的校验值从所述第i条记录中第mi+1个域的值信息中获取;根据所述n个结构化数据分别对应的属性值组以及所述n条记录分别对应的校验值,对所述序列化数据进行校验。可选的,若在所述n条记录之后的特定域包括第一特定域,所述方法还包括:从所述第一特定域的值信息中获取总校验值,根据所述n条记录分别对应的校验值以及所述总校验值,对所述序列化数据进行校验;若在所述n条记录之后的特定域包括第二特定域,所述方法还包括:从所述第二特定域的值信息中获取总记录数,根据所述总记录数以及所述序列化数据包括的记录数,对所述序列化数据进行校验;其中,所述第一特定域的标签信息中存储有第一子标识,所述第二特定域的标签信息中存储有第二子标识。可选的,所述第一特定标识和所述第二特定标识均为大于预设阈值的数值,所述预设阈值根据标签信息的域标识的最大可用范围确定。本申请提供了一种序列化数据的保存方法,包括:服务器创建会话;所述服务器将所述会话的会话标识发送至客户端;所述服务器接收所述客户端分布式地发送的多个数据块,每个数据块与所述会话标识相关联,每个数据块包括一组或多组序列化数据;所述服务器接收所述客户端发送的数据块保存列表,所述数据块保存列表用于标识出待保存的所有数据块;若所述多个数据块与所述数据块保存列表匹配,所述服务器保存所述多个数据块。可选的,所述一组或多组序列化数据中的任一组序列化数据包括n条记录,其中,第i条记录包括mi+1个域,1≤i≤n,n≥1,mi≥1,前mi个域的值信息存储有所述第i条记录的数据组,第mi+1个域的标签信息存储有第一特定标识,用于标识所述第i条记录的结束,该组序列化数据在所述n条记录之后还包括特定域,所述特定域的标签信息存储有第二特定标识,用于标识该组序列化数据的结束。可选的,还包括:若所述多个数据块与所述数据块保存列表不匹配,所述服务器向所述客户端发送数据块缺失列表,所述数据块缺失列表用于标识出属于所述数据块保存列表且不属于所述多个数据块的数据块;所述服务器接收所述客户端分布式地发送的所述数据块缺少列表中标识的数据块。本申请提供了一种序列化数据的下载方法,包括:服务器将保存的序列化数据的总组数发送至客户端;所述服务器接收所述客户端发送的下载信息,所述下载信息指示出所述客户端待下载的序列化数据的组数标识;所述服务器将所述组数标识对应的序列化数据分布式地发送至所述客户端。可选的,所述保存的序列化数据中的任一组序列化数据包括n条记录,其中,第i条记录包括mi+1个域,1≤i≤n,n≥1,mi≥1,前mi个域的值信息存储有所述第i条记录的数据组,第mi+1个域的标签信息存储有第一特定标识,用于标识所述第i条记录的结束,该组序列化数据在所述n条记录之后还包括特定域,所述特定域的标签信息存储有第二特定标识,用于标识该组序列化数据的结束。本申请提供了一种序列化装置,包括:数据获取单元,用于获取n个结构化数据,n≥1;属性值获取单元,用于获取所述n个结构化数据分别对应的属性值组;数据生成单元,用于根据所述n个结构化数据分别对应的属性值组,生成一组序列化数据;所述序列化数据包括n条记录,其中,第i条记本文档来自技高网...
一种结构化数据的序列化、反序列化方法及装置

【技术保护点】
一种结构化数据的序列化方法,其特征在于,包括:获取n个结构化数据,n≥1;获取所述n个结构化数据分别对应的属性值组;根据所述n个结构化数据分别对应的属性值组,生成一组序列化数据;所述序列化数据包括n条记录,其中,第i条记录包括m

【技术特征摘要】
1.一种结构化数据的序列化方法,其特征在于,包括:获取n个结构化数据,n≥1;获取所述n个结构化数据分别对应的属性值组;根据所述n个结构化数据分别对应的属性值组,生成一组序列化数据;所述序列化数据包括n条记录,其中,第i条记录包括mi+1个域,1≤i≤n,mi≥1,前mi个域的值信息中存储有所述第i条记录的数据组,所述数据组为所述n个结构化数据中第i个结构化数据对应的属性值组,第mi+1个域的标签信息中存储有第一特定标识,用于标识所述第i条记录的结束;所述序列化数据在所述n条记录之后还包括特定域,所述特定域的标签信息中存储有第二特定标识,用于标识所述序列化数据的结束。2.根据权利要求1所述的序列化方法,其特征在于,所述n条记录中分别存储有各个记录对应的校验值;其中,所述第i条记录中,第mi+1个域的值信息存储有所述第i条记录对应的校验值,所述第i条记录对应的校验值根据所述第i个结构化数据对应的属性值组获取。3.根据权利要求2所述的序列化方法,其特征在于,所述特定域包括第一特定域和/或第二特定域;所述第一特定域的标签信息存储有第一子标识,值信息存储有总校验值,所述总校验值根据所述n条记录分别对应的校验值获取;所述第二特定域的标签信息存储有第二子标识,值信息存储有总记录数,所述总记录数具体为n。4.根据权利要求1所述的序列化方法,其特征在于,所述第一特定标识和所述第二特定标识均为大于预设阈值的数值,所述预设阈值根据标签信息的域标识的最大可用范围确定。5.一种序列化数据的反序列化方法,其特征在于,包括:获取一组序列化数据,所述序列化数据包括n条记录,其中,第i条记录包括mi+1个域,1≤i≤n,n≥1,mi≥1,前mi个域的值信息中存储有所述第i条记录的数据组,第mi+1个域的标签信息中存储有第一特定标识,用于标识所述第i条记录的结束,所述序列化数据在所述n条记录之后还包括特定域,所述特定域的标签信息存储有第二特定标识,用于标识所述序列化数据的结束;从所述序列化数据中获取n个结构化数据分别对应的属性值组,其中,第i个结构化数据对应的属性值组从所述第i条记录的数据组中获取;根据所述n个结构化数据分别对应的属性值组,生成所述n个结构化数据。6.根据权利要求5所述的反序列化方法,其特征在于,还包括:从所述序列化数据中获取n条记录分别对应的校验值,其中,所述第i条记录对应的校验值从所述第i条记录中第mi+1个域的值信息中获取;根据所述n个结构化数据分别对应的属性值组以及所述n条记录分别对应的校验值,对所述序列化数据进行校验。7.根据权利要求5所述的反序列化方法,其特征在于,若在所述n条记录之后的特定域包括第一特定域,所述方法还包括:从所述第一特定域的值信息中获取总校验值,根据所述n条记录分别对应的校验值以及所述总校验值,对所述序列化数据进行校验;若在所述n条记录之后的特定域包括第二特定域,所述方法还包括:从所述第二特定域的值信息中获取总记录数,根据所述总记录数以及所述序列化数据包括的记录数,对所述序列化数据进行校验;其中,所述第一特定域的标签信息中存储有第一子标识,所述第二特定域的标签信息中存储有第二子标识。8.根据权利要求5所述的反序列化方法,其特征在于,所述第一特定标识和所述第二特定标识均为大于预设阈值的数值,所述预设阈值根据标签信息的域标识的最大可用范围确定。9.一种序列化数据的保存方法,其特征在于,包括:服务器创建会话;所述服务器将所述会话的会话标识发送至客户端;所述服务器接收所述客户端分布式地发送的多个数据块,每个数据块与所述会话标识相关联,每个数据块包括一组或多组序列化数据;所述服务器接收所述客户端发送的数据块保存列表,所述数据块保存列表用于标识出待保存的所有数据块;若所述多个数据块与所述数据块保存列表匹配,所述服务器保存所述多个数据块。10.根据权利要求9所述的保存方法,其特征在于,所述一组或多组序列化数据中的任一组序列化数据包括n条记录,其中,第i条记录包括mi+1个域,1≤i≤n,n≥1,mi≥1,前mi个域的值信息存储有所述第i条记录的数据组,第mi+1个域的标签信息存储有第一特定标识,用于标识所述第i条记录的结束,该组序列化数据在所述n条记录之后还包括特定域,所述特定域的标签信息存储有第二特定标识,用于标识该组序列化数据的结束。11.根据权利要求9所述的保存方法,其特征在于,还包括:若所述多个数据块与所述数据块保存列表不匹配,所述服务器向所述客户端发送数据块缺失列表,所述数据块缺失列表用于标识出属于所述数据块保存列表且不属于所述多个数据块的数据块;所述服务器接收所述客户端分布式地发送的所述数据块缺少列表中标识的数据块。12.一种序列化数据的下载方法,其特征在于,包括:服务器将保存的序列化数据的总组数发送至客户端;所述服务器接收所述客户端发送的下载信息,所述下载信息指示出所述客户端待下载的序列化数据的组数标识;所述服务器将所述组数标识对应的序列化数据分布式地发送至所述客户端。13.根据权利要求12所述的下载方法,其特征在于,所述保存的序列化数据中的任一组序列化数据包括n条记录,其中,第i条记录包括mi+1个域,1≤i≤n,n≥1,mi≥1,前mi个域的值信息存储有所述第i条记录的数据组,第mi+1个域的标签信息存储有第一特定标识,用于标识所述第i条记录的结束,该组序列化数据在所述n条记录之后还包括特定域,所述特定域的标签信息存储有第二特定标识,用于标识该组序列化数据的结束。14.一种序列化装置,其特征在于,包括:数据获取单元,用于获取n个结构化数据,n≥1;属性值获取单元,...

【专利技术属性】
技术研发人员:李勇勇蔡瀛王升功
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1