[发明专利]数据查询方法、服务器及计算机可读存储介质在审
申请号: | 201711019826.2 | 申请日: | 2017-10-26 |
公开(公告)号: | CN107918642A | 公开(公告)日: | 2018-04-17 |
发明(设计)人: | 刘俊国 | 申请(专利权)人: | 深圳市金立通信设备有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 郝传鑫,熊永强 |
地址: | 518040 广东省深圳市福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 服务器 计算机 可读 存储 介质 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据查询方法、服务器及计算机可读存储介质。
背景技术
互联网中的很多业务场景中都需要用到分页拉取数据,例如微信消息过多时,拉取第N页消息,购物网站下单过多时,拉取第N页订单,或者浏览搜索结果时,查看第N页内容等。在分页拉取数据的过程中,应用服务器根据客户端请求访问数据库,并获取需要的数据。
在现有的高并发大流量的互联网架构中,数据库中存储了大量的数据,且根据需要进行了分库处理。因此分页拉取数据涉及到跨库获取数据,现有的处理方法很多时候都通过服务层修改数据库查询语句,扩大数据召回量,在内存中进行大量排序来换取业务无损并且数据精确。这将消耗大量服务器内存并降低服务性能。
发明内容
有鉴于此,本发明实施例提供一种数据查询方法、服务器及计算机可读存储介质,可在无需增加大量内存消耗的情况下高性能完成业务需求。
为了解决上述技术问题,本发明实施例第一方面提供了一种数据查询方法,所述方法包括:
获取针对数据库的数据查询请求,所述数据库包括根据业务主键切分得到的多个数据分库,根据所述数据查询请求确定分库查询条件,并从各分库获取满足所述分库查询条件的业务数据,所述分库查询条件包括数据查询键值,所述数据查询键值为所述数据库的非业务主键。
从各分库获取到的业务数据中确定一个最小查询键值数据,确定所述最小查询键值数据在各分库中的相对偏移量,进而计算所述最小查询键值数据的全局偏移量;
根据所述最小查询键值数据的全局偏移量,计算从各分库获取到的各个业务数据的全局偏移量;
根据所述各个数据的全局偏移量,输出满足所述数据查询请求的业务数据。
相应地,本发明实施例第二方面还提供了一种服务器,所述服务器包括用于执行上述第一方面方法的单元。
相应地,本发明实施例第三方面还提供了一种服务器,所述服务器包括处理器、通信接口和存储器,所述处理器、通信接口和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,:
相应的,本发明实施例第四方面还提供了一种计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面提供的任一情况下的数据查询方法。
可以看出,在本发明实施例提供的技术方案中,数据查询服务器首先获取针对数据库的查询请求,然后根据该查询请求的条件获取满足分库查询条件的业务数据;从这些业务数据中获取最小查询键值数据,并确定该最小查询键值数据在各分库中的相对偏移量;获取最小查询键值数据与每个分库对应的最大键值数据之间的所有二次查询业务数据,计算获得最小查询键值的全局偏移量,并根据它确定之前获取二次查询业务数据对应的全局偏移量;根据二次查询业务数据的全局偏移量,输出满足初始查询请求的业务数据。可以看出,在这个过程中,由于是根据查询请求条件从分库中获取满足要求的业务数据,并且根据最小查询键值数据与每个分库对应的最大键值数据获得二次查询业务数据及其全局偏移量,最终获得查询结果,整个过程中只涉及到查询偏移量附近的少量业务数据,大大降低了内存消耗,并且能高性能地完成查询任务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据查询方法的示意流程图;
图2是本发明实施例提供的一种确定最小查询键值数据在各分库中的相对偏移量的示意流程图;
图3是本发明实施例提供的一种具体的数据查询过程的示意流程图;
图4是本发明实施例提供的一种服务器示意框图;
图5是本发明另一实施例提供的一种服务器示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市金立通信设备有限公司,未经深圳市金立通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711019826.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种蕨麻汁生产流水线
- 下一篇:环保节能电磁加热食用菌杀菌锅
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置