[发明专利]一种分布式系统分库分表后非分片键字段查询数据的方法有效
申请号: | 202110052017.1 | 申请日: | 2021-01-15 |
公开(公告)号: | CN112380276B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 李长彬 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/22;G06F16/28 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 蒋秀清 |
地址: | 610094 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 系统 分库分表后非 分片 字段 查询 数据 方法 | ||
本发明公开了一种分布式系统分库分表后非分片键字段查询数据的方法,其是将索引实体对象存储到Elasticsearch,当向Elasticsearch发起数据查询时,通过Elasticsearch提供的API获取到索引数据对应的分片键字段值,然后通过分片算法工具定位到具体对应的分片上进行数据查询操作,最终将查询结果返回,实现数据查询。本发明解决了现有技术通过非分片键字段进行数据查询时存在严重的系统性能损耗和数据单点以及索引数据难于平滑扩容的问题,更适应当前系统开发、测试和使用的需求,实用价值更高。
技术领域
本发明涉及一种分布式系统分库分表后非分片键字段查询数据的方法。
背景技术
在系统开发阶段,通常会涉及到分库分表的应用系统,目前一般是通过非分片键字段进行数据查询,而现有常用的查询方法有如下几种:
1、遍历查询方法
如一个用户表,该表有序号、姓名、手机号等字段,按照分片算法:序号%分片数得到分片结果,假如分片数为64片,如果用序号进行查询则通过分片算法得到具体某一分片然后进行数据查询操作,如果用手机号进行查询则会最多到64个分片上进行数据查询,直到查询到数据后返回结果。
2、多线程并行查询方法
例如,将上述64个分片通过手机号进行查询的方式构建为64个查询任务并结合java线程池和Future特性,批量发起异步查询最终调用Future的get方法返回查询结果。
3、新增二级索引数据表的查询方法
二级索引数据表主要用来维护非分片键字段和分片键字段的关系,如果通过非分片键字段进行查询,则首先从二级索引数据表查询到分片键字段值,然后用该值发起查询得到结果(如上述用户表,需要新建一个二级索引数据表,该表有手机号、用户序号字段(同用户表序号),当使用手机号进行查询的时候,首先到二级索引数据表进行查询,如果没有查询到用户序号则直接返回空结果,如查询到用户序号则通过分片算法定位到具体某一分片上进行数据查询操作并返回结果)。
以上第一种方式,最坏的情况下要按照分片数发起相应次数的数据库查询,因此该方案存在严重的性能损耗和数据单点问题。
第二种方式,如果分片数过大,则同样存在严重的系统性能损耗和数据单点问题。
第三种方式,随着数据量的增加,二级索引数据表会面临单数据节点存储和性能瓶颈问题,同样也会面临需要分库分表的手段来解决二级索引数据表的性能问题,如后续需要通过身份证号进行查询,则需要新加另外一个二级索引数据表来维护存储身份证号和用户序号的关系。如此一来,该方案就会存在因需要维护多张二级索引数据表而导致后续数据扩容带来的数据迁移问题,并且在单节点不可用的情况下,还会导致整个应用都不能正常对外提供服务。
发明内容
本发明的目的在于提供一种分布式系统分库分表后非分片键字段查询数据的方法,解决现有技术通过非分片键字段进行数据查询时存在严重的系统性能损耗和数据单点以及索引数据难于平滑扩容的问题。
为实现上述目的,本发明采用的技术方案如下:
一种分布式系统分库分表后非分片键字段查询数据的方法,其是将索引实体对象存储到Elasticsearch,当向Elasticsearch发起数据查询时,通过Elasticsearch提供的API获取到索引数据对应的分片键字段值,然后通过分片算法工具定位到具体对应的分片上进行数据查询操作,最终将查询结果返回,实现数据查询;所述索引实体对象包含有用作主键的序号字段,以及数据分片键字段和其它非分片键字段。
具体地,将索引实体对象存储到Elasticsearch的具体步骤如下:
(1.1)将索引实体对象转换为JSON字符串格式,得到Elasticsearch文档对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110052017.1/2.html,转载请声明来源钻瓜专利网。