[发明专利]数据存储表的查询方法、分区服务器及电子设备在审
申请号: | 201811058605.0 | 申请日: | 2018-09-11 |
公开(公告)号: | CN110888870A | 公开(公告)日: | 2020-03-17 |
发明(设计)人: | 刘亚龙 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245 |
代理公司: | 北京市立方律师事务所 11330 | 代理人: | 刘延喜 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 查询 方法 分区 服务器 电子设备 | ||
本申请提供了一种数据存储表的查询方法、分区服务器及电子设备。该方法包括:接收客户端发送的查询请求,并根据查询请求确定查询条件及对应的查询类型;当查询类型为索引类型时,查询条件与列值相关,根据查询条件查询索引数据子表,以得到对应的行键;根据行键查询源数据子表,以得到查询结果并返回客户端。本申请通过一个数据存储表来存储索引数据和源数据,便于数据读写、数据迁移等情况下的数据管理,保证数据的一致性不被破坏,在查询数据时,在索引数据子表中可以快速查询到行键,并可以通过行键在源数据子表快速得到查询结果,有效提高数据的可靠性。
技术领域
本申请涉及数据处理技术领域,具体而言,本申请涉及一种数据存储表的数据写入方法、分区服务器及电子设备。
背景技术
伴随互联网信息技术的高速发展及深层次应用,数据的存储量呈现爆炸式增长,云计算与分布式系统成为了大数据量处理的主要趋势。其中,分布式数据库为结构化的大数据提供了高性能、高可靠性、易扩展的读写功能,在大型互联网公司中得到了广泛的应用,包括现常用来存储海量数据的HBase数据库等。
实际应用中,如图1所示,HBase的数据表是rowkey(行键)有序的,通过rowkey可以很快的定位到数据,这称之为“一级索引”。现有技术中,还可以采用社区开源的phoenix实现针对列的“二级索引”,如图2所示,其方案是通过在HBase数据表的基础上构建另一张对应的HBase表(图2中以col2列为例),索引列的value(列值)和原rowkey被反向插入新构建的HBase表中,使得索引列有序,从而能够根据索引列快速查询rowkey,以便在图1中通过rowkey快速定位到数据。
但是,这种方式的二级索引的实现有一个显而易见的缺点:需要在原HBase数据表的基础上多出一张索引HBase表,这导致了读写时操作这两张表格的难度加大,索引数据和原数据的一致性很难得到保障。并且即使能在读写时准确操作这两张表格,也很难避免迁移等外部操作会破坏其原有的对照依赖关系。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
第一方面,本申请提供了一种数据存储表的查询方法,所述数据存储表包括按列值排序的索引数据子表及相对应的按行键排序的源数据子表,该方法包括:
接收客户端发送的查询请求,并根据查询请求确定查询条件及对应的查询类型;
当查询类型为索引类型时,查询条件与列值相关,根据所述查询条件查询所述索引数据子表,以得到对应的行键;
根据所述行键查询所述源数据子表,以得到查询结果并返回客户端。
在一个可能的实现方式中,所述根据所述查询条件查询所述索引数据子表,包括:
根据所述查询条件,生成索引描述信息;
根据所述索引描述信息,扫描所述索引数据子表。
在一个可能的实现方式中,所述根据所述查询条件,生成索引描述信息,包括:
确定所述查询条件中各个列族分别对应的子查询条件;
确定各个子查询条件之间的逻辑关系;
根据各个子查询条件和所述逻辑关系生成索引描述信息。
在一个可能的实现方式中,根据所述索引描述信息,扫描所述索引数据子表,以得到对应的行键:包括:
分别根据各个子查询条件扫描所述索引数据子表,得到各个子查询条件分别对应的行键;
基于所述逻辑关系,根据各个子查询条件分别对应的行键得到所述查询条件对应的行键。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811058605.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置