[发明专利]分布式环境下的数据查询方法、装置及存储介质在审
申请号: | 201811360217.8 | 申请日: | 2018-11-15 |
公开(公告)号: | CN109656968A | 公开(公告)日: | 2019-04-19 |
发明(设计)人: | 倪一鸣;安兴朝 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/25 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫 |
地址: | 100032 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标数据源 数据查询 直接访问 部署 分布式环境 查询请求 存储介质 数据源 查询结果集 数据库查询 查询 查询结果 单元布置 单元接收 调用目标 服务 并发 返回 访问 统一 | ||
本发明公开了一种分布式环境下的数据查询方法、装置及存储介质,所述方法包括:从源部署单元接收查询请求;根据所述查询请求确定访问的目标数据源;判断所述源部署单元是否能直接访问所述目标数据源;当所述源部署单元不能直接访问目标数据源时,并发调用目标数据源的数据查询微服务进行数据库查询;根据所述数据查询微服务返回的查询结果获得查询结果集。本发明在源部署单元不能直接访问目标数据源时,提供数据查询微服务对目标数据源进行查询,解决了各数据源分部署单元布置时,数据无法统一查询的问题。
技术领域
本发明涉及信息检索技术领域,更具体地说,涉及一种分布式环境下的数据查询方法、装置存储介质。
背景技术
应用使用了分库分表之后,会根据不同的数据分布部署不同的服务器资源,应用服务器只能访问本部署单元所能直接访问的数据源中的业务数据,而无法访问其他部署单元的数据源中的数据。
现有技术中,在分库分表之后,应用的访问路由会根据不同的数据分布,将应用的请求转发到对应的应用服务器上,如果不存在跨数据源的数据查询请求,这种路由方式不会出现问题,而一旦业务的查询请求需要访问不同的数据源,传统访问方式就无法满足需求,无法进行数据的统一查询。
发明内容
为解决上述问题,本发明实施例提供一种分布式环境下的数据查询方法、装置及存储介质,能够在分布式环境下对跨数据源的查询请求进行处理。
本发明实施例的第一方面提供一种分布式环境下的数据查询方法,所述方法包括:从源部署单元接收查询请求;根据所述查询请求确定访问的目标数据源;判断所述源部署单元是否能直接访问所述目标数据源;当所述源部署单元不能直接访问目标数据源时,并发调用目标数据源的数据查询微服务进行数据库查询;根据所述数据查询微服务返回的查询结果获得查询结果集。
进一步地,所述数据查询微服务是使用Hession协议封装的、以微服务方式提供的数据查询接口。
进一步地,根据所述数据查询微服务返回的查询结果获得查询结果集包括:获取所述数据查询微服务返回的查询子结果集;对所有的查询子结果集进行排序、合并,获取最终的查询结果集;其中,在对所述查询子结果集进行排序、合并的过程中,定时释放内存。
进一步地,根据所述查询请求确定访问的目标数据源包括:
获取部署单元相关信息,所述部署单元相关信息包括部署单元与数据源之间的映射关系、数据源与数据篮子之间的映射关系;根据所述查询请求中的数据分布键计算与所述数据分布键对应的目标数据篮子;根据所述目标数据篮子和所述数据源与数据篮子之间的映射关系确定所述查询请求的目标数据源。
进一步地,判断所述源部署单元是否能直接访问所述目标数据源包括:
根据所述部署单元与数据源之间的映射关系判断是否存在所述源部署单元不能直接访问的目标数据源。
进一步地,在所述并发调用所述目标数据源提供的数据查询微服务对所述目标数据源进行数据库查询之前:根据所述目标数据源的编号对数据分布键分组;使用多线程控制器按照目标数据源维度对调用所述数据查询微服务进行并发处理。
可选地,若所述查询请求中没有数据分布键,则在所述并发调用所述目标数据源提供的数据查询微服务对所述目标数据源进行数据库查询之前,
使用多线程控制器按照所述部署单元相关信息中的所有数据源维度进行并发处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811360217.8/2.html,转载请声明来源钻瓜专利网。