[发明专利]基于Ignite缓存架构的数据查询方法及系统在审
申请号: | 201910041334.6 | 申请日: | 2019-01-16 |
公开(公告)号: | CN111444222A | 公开(公告)日: | 2020-07-24 |
发明(设计)人: | 范东;孙迁;汪金忠 | 申请(专利权)人: | 苏宁易购集团股份有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/27 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 黄玉东 |
地址: | 210000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 ignite 缓存 架构 数据 查询 方法 系统 | ||
本发明公开一种基于Ignite缓存架构的数据查询方法及系统,通过Ignite缓存架构设置中间缓存层能够有效的提高查询速度。该方法包括:步骤S1,设置缓存算法,将根据缓存算法得到的查询对象按照优先级顺序暂存于缓冲池中;步骤S2,基于查询对象启动调度任务从对应的外部数据源中抽取缓存数据保存于Ignite分布式节点;步骤S4,接收用户发起的查询请求,当Ignite分布式节点中存储有与查询请求匹配的查询对象时,则将对应的缓存数据关联后反馈输出,否则直接访问外部数据源获取与查询对象匹配的结果数据反馈输出;该系统包括上述方案所提的方法。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于Ignite缓存架构的数据查询方法及系统。
背景技术
随着互联网公司的业务逐步扩大,针对海量数据的查询往往需要耗费较长的时间,尤其对于复杂的热点数据查询,在高并发下往往对计算层、存储层带来较高压力,可能会出现查询结果延迟的情况。另外,在实际应用的过程中,对于复杂项目中底层数据的存储会涉及到多种外部数据源,例如RDBMS、NoSQL和HDFS等,由于其存储的介质较多,因此不同的查询指令会路由到不同的外部数据源,现有技术中通常采用在各个数据存储层本身做热点数据缓存的方法来提高查询速度,但此种方法只适用于实时热点数据的查询,若用户想查询非热点数据如同期数据,则另需访问外部数据源查询,显然此种情况下的查询速度仍较缓慢。
发明内容
本发明的目的在于提供一种基于Ignite缓存架构的数据查询方法及系统,通过Ignite缓存架构设置中间缓存层能够有效的提高查询速度。
为了实现上述目的,本发明的一方面基于Ignite缓存架构的数据查询方法,包括:
步骤S1,设置缓存算法,将根据缓存算法得到的查询对象按照优先级顺序暂存于缓冲池中;
步骤S2,基于所述查询对象启动调度任务从对应的外部数据源中抽取缓存数据保存于Ignite分布式节点;
步骤S4,接收用户发起的查询请求,当Ignite分布式节点中存储有与所述查询请求匹配的查询对象时,则将对应的缓存数据关联后反馈输出,否则直接访问外部数据源获取与查询对象匹配的结果数据反馈输出。
优选地,在步骤S2和步骤S4之间还包括:
步骤S3:预估用户的查询请求,定期更新Ignite分布式节点中存储的缓存数据。
较佳地,所述步骤1中,设置缓存算法,将根据缓存算法得到的查询结果按照优先级顺序暂存于缓冲池中的方法包括:
所述缓存算法用于筛选出查询频率高和查询耗时长的查询对象;
基于筛选出查询对象的权重结果按照TopN排序暂存于缓冲池中,其中,所述权重结果为查询频率的权重值与查询耗时的权重值之和。
优选地,所述步骤2中,基于所述查询对象启动调度任务从对应的外部数据源中抽取缓存数据保存于Ignite分布式节点的方法包括:
通过创建类的形式采用SQL语法创建多个用于缓存数据集的存储表;
基于所述查询对象分别启动调度任务从对应的外部数据源中抽取缓存数据保存于相同或者不同的节点中,所述节点包括至少一个存储表。
进一步地,在基于所述查询对象分别启动调度任务从对应的外部数据源中抽取缓存数据保存于相同或者不同的节点中之后还包括:
对所述节点中的缓存数据进行缓存持久化操作,以使重启服务时缓存数据能够在节点内存上自动被加载。
优选地,当Ignite分布式节点中存储有与所述查询请求匹配的查询对象时,则将对应的缓存数据关联后反馈输出的方法包括:
根据用户发起的查询请求从对应的节点中匹配查询对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁易购集团股份有限公司,未经苏宁易购集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910041334.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:深度数据的传输方法及其装置
- 下一篇:一种双坩埚