[发明专利]一种查询数据的方法及装置有效
申请号: | 201210359116.5 | 申请日: | 2012-09-21 |
公开(公告)号: | CN103678408B | 公开(公告)日: | 2017-03-01 |
发明(设计)人: | 陈锐发 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 郭润湘 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 查询 数据 方法 装置 | ||
技术领域
本申请涉及互联网技术领域,尤其涉及一种查询数据的方法及装置。
背景技术
目前,在数据库中查询数据时,经常采用分页查询的方法进行查询。在采用分页查询的方法进行数据查询时,用户需要输入条件区间、排序规则、查询页码,数据库则先提取出条件区间内的所有数据,再根据排序规则对提取出的数据进行排序,最后在排序后的数据中,确定相应页码的数据返回给用户。
例如,输入的条件区间为最近两天,排序规则为时间的先后顺序,查询页码为第2页,则数据库先提取出最近两天内的所有数据,再按照时间先后顺序对提取出的数据进行排序,假设每一页包括10条数据,则第2页包括的数据即为第11~20条,从而数据库将排序后的第11~20条数据返回给用户。
上述分页查询的方法是应用在单个数据库中的查询方法。
在现有技术中,为了解决单个数据库的容量有限、访问压力大的问题,通常采用分库分表的方法存储数据。具体的,将数据进行水平拆分,把数据按照一定的规则离散到多个分库中的方法进行数据的存储。
例如,部署两个分库:A库、B库。对于要存储的一个数据来说,如果该数据的流水号是奇数,则存储在A库中,如果该数据的流水号是偶数,则存储在B库中。
采用A库和B库存储数据时,如果仍要采用分页查询的方法查询最近两天内的第2页数据,则需要通过客户端分别获取存储在A库和B库中的最近两天内的所有数据,再将获取的A库和B库中分别存储的最近两天内的数据按照时间先后顺序进行排序,最后将排序后的第2页数据提供给用户。
可见,在现有技术中,在分库分表的场景下进行分页查询时,客户端需要获取各分库中存储的条件区间内的所有数据,由于各分库中存储的条件区间内的数据往往是大量的,因此这必然会产生大量的网络通信,从而增大网络的压力。
发明内容
本申请提供一种查询数据的方法及装置,用以解决现有技术中的分页查询方法会增大网络的压力的问题。
本申请实施例提供一种查询数据的方法,包括:
客户端根据输入的查询页码以及预设的每页中包含的数据的数量,确定要从每个分库中获取的数据的数量N;并
根据输入的条件区间以及排序规则,从每个分库中获取所述条件区间内按照所述排序规则排序后的前N条数据;以及
按照所述排序规则,对获取到的数据进行排序,并根据所述查询页码提供相应的数据。
本申请实施例提供一种查询数据的装置,包括:
确定模块,用于根据输入的查询页码以及预设的每页中包含的数据的数量,确定要从每个分库中获取的数据的数量N;
获取模块,用于根据输入的条件区间以及排序规则,从每个分库中获取所述条件区间内按照所述排序规则排序后的前N条数据;
提供模块,用于按照所述排序规则,对获取到的数据进行排序,并根据所述查询页码提供相应的数据。
本申请实施例提供一种查询数据的方法及装置,该方法客户端根据输入的查询页码以及每页中包含的数据的数量,确定要从每个分库中获取的数据的数量N,再根据输入的条件区间和排序规则,从每个分库中获取该条件区间内按照该排序规则排序后的前N条数据,最后按照该排序规则对获取到的数据排序,并根据查询页码提供相应的数据。通过上述方法,客户端在分库分表的场景下进行分页查询时,无需从各分库中获取条件区间内的所有数据,而只需从各分库中获取条件区间内的一部分数据即可,从而可以减少客户端获取数据时所产生的网络通信,有效的减轻了网络的压力。
附图说明
图1为本申请实施例提供的查询数据的过程;
图2为本申请实施例提供的查询数据的装置结构示意图。
具体实施方式
由于现有技术中在分库分表的场景下进行分页查询时,客户端需要从各分库中获取条件区间内的所有数据,而各分库中存储的条件区间内的所有数据往往是大量的,因此客户端获取这些大量的数据必然会产生大量的网络通信,造成网络压力的增大。本申请实施例的核心思想在于:在能够满足向用户提供其所要查询的数据的条件下,尽量减少从各个分库中获取的数据的数量,从而达到减少获取数据所产生的网络通信的目的,以减轻网络的压力。
下面结合说明书附图,对本申请实施例进行详细描述。
图1为本申请实施例提供的查询数据的过程,包括以下步骤:
S101:客户端根据输入的查询页码以及预设的每页中包含的数据的数量,确定要从每个分库中获取的数据的数量N。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210359116.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置