[发明专利]一种结构化数据存储方法及装置在审

专利信息
申请号: 201210143681.8 申请日: 2012-05-09
公开(公告)号: CN103389992A 公开(公告)日: 2013-11-13
发明(设计)人: 蒋锦鹏 申请(专利权)人: 北京百度网讯科技有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京鸿德海业知识产权代理事务所(普通合伙) 11412 代理人: 袁媛
地址: 100085 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 结构 数据 存储 方法 装置
【说明书】:

技术领域

发明涉及数据处理技术领域,特别是涉及一种结构化数据存储方法及装置。

背景技术

在spider架构融合应用中,LinkCache需要对Link的相关属性数据进行存储。Link数据的特点是字段数量很多,但大部分字段都很短,甚至是bit(比特)位字段,因此数据存储效率对于数据性能的影响较大。另一方面,在实际应用中,Link数据的schema(结构体)经常会涉及字段的修改,因此对于数据灵活性也具有较高的要求。

在现有技术中,紧密二进制存储方法的效率很高,但灵活性太差,不能做到schema动态修改,无法适用于Link数据的实际存储应用。XML、JSON等基于tag的文本序列化方式具有较高的灵活性,但所需占用的额外存储空间较多,造成存储和传输性能的低下;protobuf是Google公司所提供的一种开源的结构化数据打包方法,与XML、JSON相比,protobuf使用二进制tag代替了文本tag,一定程度上降低了打包容量大小,提升了存储效率。但它仍然存储了字段名或字段序号等元信息,当字段本身内容较少时,会造成存储空间的严重浪费。

发明内容

为解决上述技术问题,本发明实施例提供一种结构化数据存储方法及装置,可以提供接近紧密二进制存储的高效率,同时又具有较好的数据升级灵活性,技术方案如下:

本发明实施例提供一种结构化数据存储方法,包括:

生成待存储结构体的标识信息;

确定待存储结构体中待存储字段的类型;

在存储空间中,依次写入结构体的标识信息、结构体的定长数据部分和结构体的变长数据部分,生成序列化结构体数据;

建立所述标识信息与所述序列化结构体存储格式的唯一对应关系。

根据本发明的一种具体实施方式,所述生成该结构体的标识信息,包括:

根据待存储结构体的名称,利用哈希算法生成该结构体的标识信息。

根据本发明的一种具体实施方式,所述写入结构体的定长数据部分,包括:

写入结构体的字节边界定长字段;

写入结构体的比特边界定长字段。

根据本发明的一种具体实施方式,所述写入结构体的定长数据部分,还包括:

写入结构体可选字段的属性值。

根据本发明的一种具体实施方式,所述写入结构体的变长数据部分,包括:

写入结构体的字节边界变长字段;

写入结构体的比特边界变长字段。

根据本发明的一种具体实施方式,在待写入的变长字段为非数组类型的情况下:

依次写入该字段的长度标识以及字段内容。

根据本发明的一种具体实施方式,在待写入的变长字段为数组类型的情况下:

首先写入该数组的长度标识,然后分别依次写入该数组中每个元素的长度标识以及元素的内容。

本发明实施例还提供一种结构化数据存储装置,包括:

标识信息生成单元,用于生成待存储结构体的标识信息;

类型确定单元,用于确定待存储结构体中待存储字段的类型;

写入单元,用于在存储空间中,依次写入结构体的标识信息、结构体的定长数据部分和结构体的变长数据部分,生成序列化结构体数据;

关联单元,用于建立所述标识信息与所述序列化结构体存储格式的唯一对应关系。

根据本发明的一种具体实施方式,所述标识信息生成单元具体用于:

根据待存储结构体的名称,利用哈希算法生成该结构体的标识信息。

根据本发明的一种具体实施方式,所述写入单元中包括定长部分写入子单元,具体用于:

写入结构体的字节边界定长字段;

写入结构体的比特边界定长字段。

根据本发明的一种具体实施方式,所述定长部分写入子单元,还用于:

写入结构体可选字段的属性值。

根据本发明的一种具体实施方式,所述写入单元中包括变长部分写入子单元,具体用于:

写入结构体的字节边界变长字段;

写入结构体的比特边界变长字段。

根据本发明的一种具体实施方式,所述变长部分写入子单元,在待写入的变长字段为非数组类型的情况下,依次写入该字段的长度标识以及字段内容。

根据本发明的一种具体实施方式,所述变长部分写入子单元,在待写入的变长字段为数组类型的情况下,首先写入该数组的长度标识,然后分别依次写入该数组中每个元素的长度标识以及元素的内容。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210143681.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top