[发明专利]一种数据处理方法、装置及数据查询系统在审
申请号: | 201611147798.8 | 申请日: | 2016-12-13 |
公开(公告)号: | CN106777085A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 刘志鹏;邹存璐;张延凤;韩宇;孙浩 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 数据 查询 系统 | ||
技术领域
本发明数据查询技术领域,尤其涉及一种数据处理方法、装置及数据查询系统。
背景技术
Apache Kylin是大数据量的秒级SQL查询引擎,其原理是通过预计算所有可能的维度组合存储在Hbase中,查询时解析SQL以获取维度和度量信息,然后再从hbase中扫描获取数据返回。
Kylin中SQL引擎使用的是Calcite进行SQL解析、优化和部分算子的运算,由于Calcite的计算是完全基于内存的,因此,当Kylin中一个查询需要从hbase中获取大量记录时,内存会逐渐成为瓶颈。考虑到SQL查询通常是基于历史数据的,而历史数据最重要的特性是不可变性,对于不经常变化的数据,缓存是最常用也是最有效的提升性能的办法。Kylin并不是对每个查询结果均进行缓存,对于每一个查询,其会根据该查询扫描的记录总数是否超过设定阈值判断是否需要缓存结果,如果查询扫描的记录总数超过设定阈值,则进行缓存。
请参阅图1,示出了现有技术中的Kylin架构,从图1中可以看出,Kylin架构中的多个查询服务器是独立的,对于每个查询服务器而言,其只能将数据缓存在本机的内存中,然而本机的内存有限,其可能无法对所有查询结果进行缓存,并且,由于各个查询服务器均将数据缓存在本机的内存中,而各个查询服务器又相互独立,这会导致查询服务器响应客户端查询请求的速度时快时慢,并且造成不必要的资源浪费。
发明内容
有鉴于此,本发明提供了一种数据处理方法、装置及数据查询系统,用以解决现有技术中数据查询服务器将数据缓存在本机的内存中,而本机内存有限,其可能导致无法对所有查询结果进行缓存,并且,查询服务器响应客户端查询请求的速度时快时慢,并且造成不必要的资源浪费的问题,其技术方案如下:
一种数据处理方法,应用于数据查询系统中的查询服务器,所述查询服务器设置有连接外部缓存系统的接口,并通过所述接口与所述外部缓存系统连接,所述外部缓存系统用于缓存查询请求和与所述查询请求对应的目标数据;
优选地,所述数据处理方法包括:
当接收到来自客户端的第一查询请求时,从所述第一查询请求中提取目标查询参数;
将所述目标查询参数按预设规则处理成第二查询请求,并在所述外部缓存系统中查询所述第二查询请求;
当在所述外部缓存系统中未查询到所述第二查询请求时,将所述第二查询请求存储至所述外部缓存系统中,并从目标数据库中查询与所述第二查询请求对应的目标数据;
将与所述第二查询请求对应的目标数据与所述第二查询请求对应存储在所述外部缓存系统中。
所述数据处理方法还包括:
当在所述外部缓存系统中查询到所述第二查询请求时,在所述外部缓存系统中获取与所述第二查询请求对应的目标数据;
将与所述第二查询请求对应的目标数据反馈给所述客户端。
优选地,在所述外部缓存系统中获取与所述第二查询请求对应的目标数据之前,所述数据处理方法还包括:
判断与所述第二查询请求对应的目标数据在所述外部缓存系统中缓存的时间是否晚于在所述目标数据库的最新更新时间;
当与所述第二查询请求对应的目标数据在所述外部缓存系统中缓存的时间晚于在所述目标数据库的最新更新时间时,执行所述从所述外部缓存系统中获取与所述第二查询请求对应的目标数据。
优选地,所述数据处理方法还包括:
当与所述第二查询请求对应的目标数据在所述外部缓存系统中缓存的时间早于在所述目标数据库的最新更新时间时,从所述外部缓存系统中清除与所述第二查询请求对应的目标数据;
从所述目标数据库中重新查询与所述第二查询请求对应的目标数据,并将重新查询到的目标数据与所述第二查询请求对应存储至所述外部缓存系统中。
优选地,在将所述第二查询请求存储至所述外部缓存系统之后,所述数据处理方法还包括:
在所述外部缓存系统中,与所述第二查询请求对应的目标数据的存储位置处写入目标指示信息,所述目标指示信息用于指示正在查询与所述第二查询请求对应的目标数据;
所述将与所述第二查询请求对应的目标数据与所述第二查询请求对应存储在所述外部缓存系统中,包括:
在从目标数据库中获得与所述第二查询请求对应的目标数据之后,将与所述第二查询请求对应的目标数据的存储位置处的所述目标指示信息更新为与所述第二查询请求对应的目标数据。
优选地,所述数据处理方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611147798.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置