[发明专利]一种对K/V格式的数据快速存储和查询方法有效
申请号: | 201710649925.2 | 申请日: | 2017-08-02 |
公开(公告)号: | CN107423425B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 朱攀 | 申请(专利权)人: | 德比软件(上海)有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/14 |
代理公司: | 上海沪慧律师事务所 31311 | 代理人: | 朱九皋 |
地址: | 201203 上海市浦东新区中国(上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 格式 数据 快速 存储 查询 方法 | ||
1.一种对 K/V 格式的数据快速存储和查询方法,其特征在于:它包括如下操作步骤:
S1、分离对数据的读和写操作;该读操作就是查询操作,该写操作就是存储操作;
S2、在磁盘上分片存储数据;将数据按照预定的分片算法存储到不同的文件分片,分片算法除了要求性能高效外,还需确保同一个 K 的数据存储在同一个分片文件上;
S3、建立数据索引;定时读取分片文件,将数据索引后重新存储到索引文件;
S4、实施读操作;
所述S2进一步包括如下步骤:
步骤S201:为了充分利用 CPU 资源,根据计算机 CPU 的核心数启动同数量的数据分片服务;
步骤S202:计算机收到客户端发来的写请求,参数为 K 和 V,将写请求随机发给任一分片服务;
步骤S203:预先设置文件的分片总数 N,分片文件编号 A 的算法公式为:A = crc32(K) % N;根据公式可算出当前请求的 K 的分片文件编号 A;
步骤204:数据分片服务利用 CPU、内存和磁盘资源把数据写入编号为 A 的分片文件上;分片文件中存储的数据内容是T:Key:Value,T是操作类型,Key:Value 是数值对。
2.根据权利要求1所述的对 K/V 格式的数据快速存储和查询方法,其特征在于:所述S3、S4进一步包括如下步骤:
步骤S301:为了充分利用 CPU 资源,根据CPU的核心数启动同数量的索引服务;
步骤S302:根据CPU的核心数启动同数量的数据查询服务;
步骤S303:索引服务并发的将分片文件中的数据读取出来,根据索引规则建立文件索引重新存储数据;
步骤S304:查询服务收到客户端的查询请求,将请求按K并发的根据K的索引信息在索引文件中查找并读取数据,并将符合条件的数据汇总后返回给客户端。
3.根据权利要求2所述的对 K/V 格式的数据快速存储和查询方法,其特征在于:所述的步骤S303的具体做法是:把索引文件分成以64K为单位的物理存储块,一个索引文件是由连续的64K大小的存储块构成,将分片文件中的数据顺序读出并重新写入索引文件,读取数据的时候以一个存储块作为基本读取单位,索引服务会记录每条数据的K对应的存储块地址,并将每个K的索引信息报告给查询服务,以提高查询速度。
4.根据权利要求2或3所述的对 K/V 格式的数据快速存储和查询方法,其特征在于:所述的步骤S203中crc32 替换为 MD5、SHA1、SHA256、SHA384、SHA512的数据摘要算法。
5.根据权利要求2或3所述的对 K/V 格式的数据快速存储和查询方法,其特征在于:所述的数据分片文件和索引文件是磁盘文件,或是任意的存储介质或存储服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于德比软件(上海)有限公司,未经德比软件(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710649925.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电动汽车车顶充电装置
- 下一篇:梳齿交换机械车库的活动插头装置及位置交换
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置