[发明专利]基于非分片键的大数据分库方法、系统、装置及存储介质在审
申请号: | 202211693719.9 | 申请日: | 2022-12-28 |
公开(公告)号: | CN115982165A | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 曾金梁;林克;钟培勋;戴少椰;方树榕 | 申请(专利权)人: | 天翼物联科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 孙浩 |
地址: | 510335 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分片 数据 方法 系统 装置 存储 介质 | ||
本发明公开一种基于非分片键的大数据分库方法、系统、装置及存储介质,涉及数据库技术领域。获取分片键和对应的非分片键并确定分库数量,根据非分片键计算检索因子后将检索因子与分片键组合,得到融合分片键,在分库阶段,根据融合分片键和分库数量确定目标分库,并进行路由分库,在检索阶段,根据检索因子和分库数量定位分库,并进行单库检索。本申请通过把非分片键检索因子融合到分片键中,当通过非分片键检索数据时,根据检索因子算法得到该非分片键的检索因子,通过检索因子精准定位到分库,做到单库检索,极大的提高检索效率。
技术领域
本发明涉及数据库技术领域,尤其涉及一种基于非分片键的大数据分库方法、系统、装置及存储介质。
背景技术
当平台产生的数据量越来越大时,需要对数据进行水平切分,比如订单中心,最常见的水平切分方式是按照订单ID取模分库,如图2所示,通过订单ID(oid)取模,将数据分布到多个数据库实例上去,增加服务实例个数,降低单库数据量,以达到扩容的目的。水平切分后,按订单ID的查询可以直接路由到库,如图3所示,假设访问oid=124的订单数据,取模后能够直接定位db-order1。
而在一些订单检索业务中,可能需要按某些关键的非分片键进行检索,比如按用户ID来检索订单数据,如图4,此时由于无法通过用户ID(uid)来确定订单数据存储的分库,只能通过全量库扫描的方式去查询该uid相关的订单数据,全量库扫描效率低下,用户体验不佳且可能造成系统超时异常,影响系统稳定性和可用性。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于非分片键的大数据分库方法、系统、装置及存储介质,能够提高非分片键的分库检索效率。
一方面,本发明实施例提供了一种基于非分片键的大数据分库方法,包括以下步骤:
获取分片键和对应的非分片键并确定分库数量;
根据所述非分片键计算检索因子;
将所述检索因子与所述分片键组合,得到融合分片键;
根据所述融合分片键和所述分库数量确定目标分库,并进行路由分库;
根据所述检索因子和所述分库数量定位分库,并进行单库检索。
根据本发明一些实施例,所述确定分库数量包括以下步骤:
获取在第一时间窗口内数据插入的第一平均响应时间;
获取在第二时间窗口内数据查询的第二平均响应时间;
根据所述第一平均响应时间和所述第二平均响应时间确定分库数量。
根据本发明一些实施例,所述根据所述第一平均响应时间和所述第二平均响应时间确定分库数量包括以下步骤:
当所述第一平均响应时间大于第一阈值且所述第二平均响应时间大于第二阈值,则将预设数量的两倍作为分库数量,反之,将所述预设数量作为分库数量。
根据本发明一些实施例,所述根据所述非分片键计算检索因子包括以下步骤:
将所述非分片键转化为字节数组形态,得到第一字节数据;
根据所述分库数量确定字节长度;
取所述第一字节数据中的最后字节长度的数据作为检索因子。
根据本发明一些实施例,所述根据所述分库数量确定字节长度包括以下步骤:
计算分库数量以2为底的对数,得到对数值;
当所述对数值为整数,则将所述对数值作为字节长度;
当所述对数值不是整数,则将对数值取整加1后得到字节长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天翼物联科技有限公司,未经天翼物联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211693719.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置