[发明专利]一种数据库查询方法及装置在审
申请号: | 201610072382.8 | 申请日: | 2016-02-02 |
公开(公告)号: | CN105740445A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 李晖;陈梅 | 申请(专利权)人: | 贵州大学;贵州优联博睿科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京联创佳为专利事务所(普通合伙) 11362 | 代理人: | 韩炜 |
地址: | 550025 贵州省贵阳市花*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 查询 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库查询方法及装置。
背景技术
联机分析处理(OLAP)系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员。
目前,国内外已有不少学者在具体的应用环境中对OLAP系统性能提升做过较为深入的研究。现有技术中,采用了基于语义缓存的方法降低查询响应时间、提升查询效率。基于数据块的缓存方法,在一定程度上提高了缓存的重复利用率。一种基于代价的缓存替换算法,提升了查询效率。采用了冷启动和预测管理技术相结合的方式,在缓存中保留最有利于后续查询的查询语句,这在一定程度上提上了OLAP查询效率。但其使用预测管理技术来预测用户查询轨迹的前提是收集到足够多的用户查询日志。收集的日志越多,其预测的准确率将越准。这种方式并不适用于系统构建之初时的优化,并且其没有考虑到数据负载情况。而利用缓存的方法确实能在一定程度上提升OLAP的查询效率,但缓存替换算法的好坏是直接影响OLAP查询效率的关键,缓存替换策略包括:
(1)基于Least-Recently-Used(LRU)策略的方法:淘汰最长时间未使用的数据。
(2)基于Least-Frequently-Used(LFU)策略的方法:淘汰近期最不频繁使用的数据。
(3)基于Size策略的方法:淘汰数据量最大的数据。
(4)基于LRU-Threshold策略的方法:使用LRU算法淘汰超过某一阈值的数据。
(5)基于Log(Size)+LRU策略的方法:使用LRU算法淘汰数据量最大的数据。
上述5类缓存技术具有各自的特点,均侧重考虑缓存数据的一个或多个方面的特点(数据大小、访问频繁度和访问时间)。5种替换算法都没有考虑到数据负载情况、返回结果集大小和不用缓存时直接从数据仓库中查询所需的时间,导致数据库查询效率较低。
发明内容
本发明提供一种数据库查询方法及装置,解决现有技术中数据库查询没有考虑到数据负载情况、返回结果集大小和不用缓存时直接从数据仓库中查询所需的时间,导致数据库查询效率较低的技术问题。
本发明的目的是通过以下技术方案实现的:
一种数据库查询方法,包括:
接收数据查询请求;
判断所述数据查询请求对应的查询语句是否存在于缓存中;
当所述查询语句存在于缓存中时,更新所述查询语句的执行频率和时间戳,并从缓存中取出所述查询语句对应的数据集并返回;
当所述查询语句不存在于缓存中时,从数据库中获取所述查询语句对应的数据集,判断缓存的剩余空间大小是否小于特定阈值,当缓存的剩余空间大小小于所述特定阈值时,删除缓存中的数据,更新所述查询语句的执行频率和时间戳,将所述查询语句及所述查询语句对应的数据集添加进缓存中,并返回所述数据集,其中,删除的总数据量大于所述特定阈值;当缓存的剩余空间大小大于所述特定阈值时,更新所述查询语句的执行频率和时间戳,将所述查询语句及所述查询语句对应的数据集添加进缓存中,并返回所述数据集。
前述数据库查询方法,所述特定阈值D为Size+MaxSize/4,其中,Size为所述查询语句对应的数据集的大小,MaxSize为缓存空间的大小。
前述数据库查询方法,所述删除缓存中的数据,包括:
根据查询语句执行次数和访问时间,对所述缓存中的查询语句进行排序;
删除所述缓存中最新执行的查询语句及所述最新执行的查询语句对应的数据集;
删除查询效益值最小的查询语句及对应的数据集。
前述数据库查询方法,所述根据查询语句执行次数和访问时间,对所述缓存中的查询语句进行排序,包括:
根据R值,对所述缓存中的查询语句进行排序,其中,R值为a*Rate+NewRank,a为常数,Rate为查询语句的执行次数,NewRank为查询语句按照时间戳新旧程度的排名。
前述数据库查询方法,所述查询效益值C为QueryTime/Size,其中,QueryTime为执行查询语句的查询时间,Size为查询语句对应的数据集的大小。
一种数据库查询装置,包括:
接收模块,用于接收数据查询请求;
判断模块,用于判断所述数据查询请求对应的查询语句是否存在于缓存中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州大学;贵州优联博睿科技有限公司,未经贵州大学;贵州优联博睿科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610072382.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高效实用的可调节式镊子
- 下一篇:装载机用轮胎