[发明专利]数据存储方法和装置有效
申请号: | 201710252256.5 | 申请日: | 2017-04-18 |
公开(公告)号: | CN108733317B | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 王贞锋 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 装置 | ||
本申请公开了数据存储方法和装置。该方法的一具体实施方式包括:根据预设的多叉树的映射表,确定多叉树的待存储节点集合中每个待存储节点的编码信息,编码信息包括:父节点级别、第一序号和第二序号;根据待存储节点集合中每个待存储节点的编码信息生成每个待存储节点的包括数据头和数据体的待存储数据,其中,数据头包括父节点级别和第一序号,数据体包括第二序号;将数据头不同的待存储数据分别存储;将数据头相同的待存储数据合并存储,以使得合并存储后的待存储数据共用相同的数据头,并且数据体是数据头相同的每个待存储数据的数据体进行按位或运算的结果。该实施方式实现了多叉树类型数据的压缩存储。
技术领域
本申请涉及计算机技术领域,具体涉及持久化存储技术领域,尤其涉及数据存储方法和装置。
背景技术
项目开发中常能遇到一些存储和查询多叉树类型数据的场景。如,全国行政区域划表数据为多叉树结构,含有国家、省、市、县、镇五级地址。在电子商务商家平台,每个商家要对不同的地区设定不同的计费规则。当规则地区对应关系量大时,会出现数据存储量大、缓存进服务容器占用内存空间大的问题。
现有持久化存储方案中以字符串类型存储全部地区整型主键标识。采用缓存数据到服务容器中查找方案,构建地区主键标识为键(key)的哈希(hash)数据结构,进行hash查找。
当规则地区数据多时,持久化存储占用磁盘空间大,缓存数据到服务容器内存导致内存空间占用大。
发明内容
本申请的目的在于提出一种改进的数据存储方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请实施例提供了一种数据存储方法该方法包括:根据预设的多叉树的映射表,确定多叉树的待存储节点集合中每个待存储节点的编码信息,其中,映射表用于表征多叉树的节点与编码信息的对应关系,编码信息包括:父节点级别、第一序号和第二序号,第一序号为待存储节点的父节点在父节点级别中的序号,第二序号为待存储节点在兄弟节点中的序号;根据待存储节点集合中每个待存储节点的编码信息生成每个待存储节点的包括数据头和数据体的待存储数据,其中,数据头包括父节点级别和第一序号,数据体包括第二序号;将数据头不同的待存储数据分别存储;将数据头相同的待存储数据合并存储,以使得合并存储后的待存储数据共用相同的数据头,并且数据体是数据头相同的每个待存储数据的数据体进行按位或运算的结果。
在一些实施例中,数据头包括基本字节和用于指示数据头是否包括扩展字节的扩展标志;以及根据待存储节点集合中每个待存储节点的编码信息生成每个待存储节点的包括数据头和数据体的待存储数据,包括:在基本字节中按预设的长度存储每个待存储节点的父节点级别;根据每个待存储节点的第一序号的长度和基本字节的长度确定是否需要增加扩展字节;若需要增加扩展字节则将扩展标志置位,并在基本字节和扩展字节中存储每个待存储节点的第一序号;否则,在基本字节中存储每个待存储节点的第一序号。
在一些实施例中,数据体包括基本字节和用于指示数据体是否包括扩展字节的扩展标志;以及根据待存储节点集合中每个待存储节点的编码信息生成每个待存储节点的包括数据头和数据体的待存储数据,包括:根据每个待存储节点的第二序号的长度和基本字节的长度确定是否需要增加扩展字节;若需要增加扩展字节则将扩展标志置位,并在基本字节和扩展字节中共同存储每个待存储节点的第二序号;否则,在基本字节中存储每个待存储节点的第二序号。
在一些实施例中,在基本字节中存储每个待存储节点的第二序号,包括:将第二序号作为位置标识,并将位置标识指示的数据体中对的位置处的比特位置位。
在一些实施例中,该方法还包括:从合并存储后的待存储数据的数据头中解析出父节点级别、第一序号;从合并存储后的待存储数据的数据体中解析出第二序号;通过映射表将解析出的父节点级别、第一序号和第二序号转换成节点。
在一些实施例中,该方法还包括:检测转换成的节点是否与待存储节点一致;若不一致,则生成告警信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710252256.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置