CN104268286A - 一种查询热数据的方法 - Google Patents
一种查询热数据的方法 Download PDFInfo
- Publication number
- CN104268286A CN104268286A CN201410561983.6A CN201410561983A CN104268286A CN 104268286 A CN104268286 A CN 104268286A CN 201410561983 A CN201410561983 A CN 201410561983A CN 104268286 A CN104268286 A CN 104268286A
- Authority
- CN
- China
- Prior art keywords
- data
- server end
- query
- buffer queue
- dsc data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种查询热数据的方法,首先在实时监控***下,服务器端预先查询热数据,将查询到的热数据缓存在服务器端的内存中;当客户端进行热数据查询时,所述服务器端在预先缓存的数据中执行数据查询操作;向所述客户端返回查询结果。该方法能够提高客户端的查询效率和响应速度,并降低数据库的查询压力。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种查询热数据的方法。
背景技术
目前,在实时监控***的场景下,通常只会关注最新时间段的业务数据,根据业务需求可以是最近30分钟、最近1小时、甚至于最近几个小时的数据,这部分被关注的数据可以称之为热数据,当热数据失去时效性后,称之为冷数据。随着时间的推移,热数据会变为冷数据,最新接收到的数据变为热数据。实时监控***经常要对热数据进行频繁的查询,这类查询要求能够快速响应,以便及时的在实时监控***中显示出来。
现有技术方案中,客户端首先发出查询条件,服务器端接收到查询条件后,将查询条件组装为结构化查询语言SQL(Structured Query Language),再传递到数据库,数据库解析该SQL语句,从硬盘中取出数据后返回查询结果,服务器端将查询结果重组后传递给客户端,但在该方案中,当需要查询的结果数据很多,并发查询很频繁时,数据库的查询压力会很大,无法做到快速响应。
发明内容
本发明的目的是提供一种查询热数据的方法,该方法能够提高客户端的查询效率和响应速度,并降低数据库的查询压力。
一种查询热数据的方法,所述方法包括:
在实时监控***下,服务器端预先查询热数据,将查询到的热数据缓存在服务器端的内存中;
当客户端进行热数据查询时,所述服务器端在预先缓存的数据中执行数据查询操作;
向所述客户端返回查询结果。
由上述本发明提供的技术方案可以看出,上述方法能够提高客户端的查询效率和响应速度,并降低数据库的查询压力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例所提供查询热数据的方法流程示意图;
图2为本发明实施例所述服务器端定时维护缓存区的流程示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例所述方法针对实时监控***,客户端向服务器端的查询时间段是递增的,且时间的查询范围一定在热数据生命周期的时间段内。下面将结合附图对本发明实施例作进一步地详细描述,如图1所示为本发明实施例所提供查询热数据的方法流程示意图,所述方法包括:
步骤11:在实时监控***下,服务器端预先查询热数据,将查询到的热数据缓存在服务器端的内存中;
在该步骤中,服务器端可以通过结构化查询语言SQL预先向数据查询热数据,也可以使用别的查询语言查询数据库。
步骤12:当客户端进行热数据查询时,所述服务器端在预先缓存的数据中执行数据查询操作;
在该步骤中,当客户端进行热数据查询时,所述服务器端首先接收所述客户端发来的热数据查询请求,该查询请求中包含了各种查询参数,例如查询时间,查询的业务单元以及过滤条件等(例如特定维度的数据,或者是全部的数据);
然后,所述服务器端解析所述查询请求,并确定查询计划;
所述服务器端根据所述查询计划在缓存队列中查询数据;这里,缓存队列中包含时间字段、业务维度和指标,其中时间字段精确到秒;
再把获得的查询结果返回给所述客户端。
在上述操作中,服务器端根据所述查询计划在缓存队列中查询数据的过程可以是:
服务器端首先根据所述查询请求确定业务单元,也就是查询服务器端的哪张缓存表;
然后对所述业务单元所确定的缓存表按照时间范围筛选,如果有过滤条件则按照过滤条件筛选,过滤掉不需要的数据,并将相同维度的数据汇总后作为查询结果。
步骤13:向所述客户端返回查询结果。
通过上述的操作步骤,就可以提高客户端的查询效率和响应速度,并降低数据库的查询压力。
另外,在具体实现中,所述服务器端还可以定时维护缓存区,将失效的冷数据从所述缓存区中移除,这样客户端查询就无需访问数据库,如图2所示为本发明实施例所述服务器端定时维护缓存区的流程示意图,其过程具体为:
步骤21:服务器端首先启动一个后台线程,周期性的执行以下步骤操作;
其执行频率根据需要设定,通常为几秒或者10秒。
步骤22:查询所述服务器端缓存队列中最后一条数据的时间戳,将所述时间戳减去一个查询周期得到查询的时间起点;
这里,为了降低上一次查询数据不完整的情况,将所述时间戳减去一个查询周期(查询频率)得到查询的时间起点;且如果缓存队列中没有数据,查询时间的起点则是***时间减去一个时间周期。
步骤23:根据所述时间起点生成SQL查询语句,向数据库发送查询请求,从所述数据库中获得业务数据;
步骤24:将所述业务数据放入所述缓存队列;
在该步骤中,如果相同时间相同维度的数据在缓存队列中已经存在,则将所述业务数据更新到缓存队列中,否则***到缓存队列中;按照该规则,在缓存队列中的数据是顺序且按照时间递增的数据队列。
步骤25:根据业务需求取得热数据的生命周期,并将缓存的生命周期设定为比所述热数据的生命周期长;
举例来说,假如热数据的生命周期是1个小时,考虑数据的冗余性,且缓存的生命周期比热数据的生命周期长,那么缓存的生命周期可以设定为1小时30分钟。
步骤26:再次取得所述缓存队列中最后一条数据的时间戳,将所述时间戳减去所述缓存的生命周期得到冷数据的时间终点;
在该步骤中,所得到的时间也是热数据的时间起点。
步骤27:从所述缓存队列中删除所述时间终点之前的全部数据,使所述缓存队列中保留的全是热数据。
综上所述,通过本发明实施例所述方法在服务器端缓存并定时维护热数据,能够提高客户端的查询效率和响应速度,并降低数据库的查询压力。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (5)
1.一种查询热数据的方法,其特征在于,所述方法包括:
在实时监控***下,服务器端预先查询热数据,将查询到的热数据缓存在服务器端的内存中;
当客户端进行热数据查询时,所述服务器端在预先缓存的数据中执行数据查询操作;
向所述客户端返回查询结果。
2.根据权利要求1所述查询热数据的方法,其特征在于,所述服务器端在预先缓存的数据中执行数据查询操作,具体包括:
所述服务器端接收所述客户端发来的热数据查询请求;
所述服务器端解析所述查询请求,并确定查询计划;
所述服务器端根据所述查询计划在缓存队列中查询数据;
将获得的查询结果返回给所述客户端。
3.根据权利要求2所述查询热数据的方法,其特征在于,所述服务器端根据所述查询计划在缓存队列中查询数据,具体包括:
所述服务器端首先根据所述查询请求确定业务单元;
对所述业务单元所确定的缓存表按照时间范围筛选,如果有过滤条件则按照过滤条件筛选,过滤掉不需要的数据,并将相同维度的数据汇总后作为查询结果。
4.根据权利要求1所述查询热数据的方法,其特征在于,所述方法还包括:
所述服务器端定时维护缓存区,将失效的冷数据从所述缓存区中移除。
5.根据权利要求4所述查询热数据的方法,其特征在于,所述服务器端定时维护缓存区,将失效的冷数据从所述缓存区中移除,具体包括:
所述服务器端首先启动一个后台线程,周期性的执行以下操作;
查询所述服务器端缓存队列中最后一条数据的时间戳,将所述时间戳减去一个查询周期得到查询的时间起点;
根据所述时间起点生成SQL查询语句,向数据库发送查询请求,从所述数据库中获得业务数据;
将所述业务数据放入所述缓存队列,如果相同时间相同维度的业务数据在缓存队列中已经存在,则将所述业务数据更新到所述缓存队列中,否则***到所述缓存队列中;
根据业务需求取得热数据的生命周期,并将缓存的生命周期设定为比所述热数据的生命周期长;
再次取得所述缓存队列中最后一条数据的时间戳,将所述时间戳减去所述缓存的生命周期得到冷数据的时间终点;
从所述缓存队列中删除所述时间终点之前的全部数据,使所述缓存队列中保留的全是热数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410561983.6A CN104268286A (zh) | 2014-10-21 | 2014-10-21 | 一种查询热数据的方法 |
CN201510102977.9A CN104636500B (zh) | 2014-10-21 | 2015-03-09 | 一种查询热数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410561983.6A CN104268286A (zh) | 2014-10-21 | 2014-10-21 | 一种查询热数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104268286A true CN104268286A (zh) | 2015-01-07 |
Family
ID=52159807
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410561983.6A Pending CN104268286A (zh) | 2014-10-21 | 2014-10-21 | 一种查询热数据的方法 |
CN201510102977.9A Active CN104636500B (zh) | 2014-10-21 | 2015-03-09 | 一种查询热数据的方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510102977.9A Active CN104636500B (zh) | 2014-10-21 | 2015-03-09 | 一种查询热数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN104268286A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468707A (zh) * | 2015-11-19 | 2016-04-06 | 北京锐安科技有限公司 | 一种基于缓存的数据处理方法及装置 |
CN106202080A (zh) * | 2015-04-30 | 2016-12-07 | ***通信集团公司 | 一种网页渲染方法、服务器及终端设备 |
CN106776921A (zh) * | 2016-11-30 | 2017-05-31 | 天脉聚源(北京)科技有限公司 | 一种处理查询的方法及装置 |
CN108197289A (zh) * | 2018-01-18 | 2018-06-22 | 吉浦斯信息咨询(深圳)有限公司 | 一种数据存储结构、数据存储查询方法、终端及介质 |
CN110795395A (zh) * | 2018-07-31 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 文件部署***和文件部署方法 |
CN112699142A (zh) * | 2020-12-29 | 2021-04-23 | 平安普惠企业管理有限公司 | 冷热数据处理方法、装置、电子设备及存储介质 |
WO2021249027A1 (zh) * | 2020-06-10 | 2021-12-16 | 深圳云天励飞技术股份有限公司 | 数据存储方法、装置、终端设备及存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750715A (zh) * | 2013-12-27 | 2015-07-01 | ***通信集团公司 | 缓存***中数据淘汰方法、装置、***及相关服务器设备 |
CN106776632A (zh) * | 2015-11-23 | 2017-05-31 | 北京国双科技有限公司 | 数据查询方法及装置 |
CN105808661B (zh) * | 2016-02-29 | 2019-03-08 | 浪潮天元通信信息***有限公司 | 一种数据查询的方法及装置 |
CN107463514B (zh) * | 2017-08-16 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN109063086A (zh) * | 2018-07-26 | 2018-12-21 | 中兴飞流信息科技有限公司 | 结构化查询语言的执行方法、装置、服务器和存储介质 |
CN109358805B (zh) * | 2018-09-03 | 2021-11-30 | 中新网络信息安全股份有限公司 | 一种数据缓存方法 |
CN109274760A (zh) * | 2018-10-19 | 2019-01-25 | 西安瑜乐文化科技股份有限公司 | 一种移动开发冷热数据拆分方法 |
CN112231317B (zh) * | 2020-09-25 | 2023-05-09 | 浙江三维通信科技有限公司 | 数据的查询方法、装置、电子装置和存储介质 |
CN113254477A (zh) * | 2021-06-04 | 2021-08-13 | 威讯柏睿数据科技(北京)有限公司 | 一种基于内存的数据获取方法和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950823B2 (en) * | 2002-12-23 | 2005-09-27 | International Business Machines Corporation | Transparent edge-of-network data cache |
CN103177005B (zh) * | 2011-12-21 | 2016-08-03 | 深圳市腾讯计算机***有限公司 | 一种数据访问的处理方法和*** |
CN103514106B (zh) * | 2012-06-20 | 2016-06-22 | 北京神州泰岳软件股份有限公司 | 一种数据缓存方法 |
-
2014
- 2014-10-21 CN CN201410561983.6A patent/CN104268286A/zh active Pending
-
2015
- 2015-03-09 CN CN201510102977.9A patent/CN104636500B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202080A (zh) * | 2015-04-30 | 2016-12-07 | ***通信集团公司 | 一种网页渲染方法、服务器及终端设备 |
CN105468707A (zh) * | 2015-11-19 | 2016-04-06 | 北京锐安科技有限公司 | 一种基于缓存的数据处理方法及装置 |
CN106776921A (zh) * | 2016-11-30 | 2017-05-31 | 天脉聚源(北京)科技有限公司 | 一种处理查询的方法及装置 |
CN106776921B (zh) * | 2016-11-30 | 2020-10-09 | 天脉聚源(北京)科技有限公司 | 一种处理查询的方法及装置 |
CN108197289A (zh) * | 2018-01-18 | 2018-06-22 | 吉浦斯信息咨询(深圳)有限公司 | 一种数据存储结构、数据存储查询方法、终端及介质 |
CN108197289B (zh) * | 2018-01-18 | 2021-09-14 | 吉浦斯信息咨询(深圳)有限公司 | 一种数据存储结构、数据存储查询方法、终端及介质 |
CN110795395A (zh) * | 2018-07-31 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 文件部署***和文件部署方法 |
CN110795395B (zh) * | 2018-07-31 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 文件部署***和文件部署方法 |
WO2021249027A1 (zh) * | 2020-06-10 | 2021-12-16 | 深圳云天励飞技术股份有限公司 | 数据存储方法、装置、终端设备及存储介质 |
CN112699142A (zh) * | 2020-12-29 | 2021-04-23 | 平安普惠企业管理有限公司 | 冷热数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104636500B (zh) | 2018-10-16 |
CN104636500A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268286A (zh) | 一种查询热数据的方法 | |
CN102937980B (zh) | 一种集群数据库数据查询方法 | |
CN107832401B (zh) | 数据库数据访问方法、***、装置及计算机可读存储介质 | |
CN102169507B (zh) | 一种分布式实时搜索引擎的实现方法 | |
CN103353873B (zh) | 基于时间度量数据实时查询服务的优化实现方法及*** | |
CN105426467B (zh) | 一种用于Presto的SQL查询方法及*** | |
EP4270211A3 (en) | High-throughput distributed transaction management for globally consistent sharded oltp system and method of implementing | |
CN104331492A (zh) | 一种缓存多实例数据的方法及装置 | |
CN103049521B (zh) | 可实现多属性复合条件查询的虚拟表索引***及方法 | |
CN104572979A (zh) | 一种处理结构化查询语言sql的方法及装置 | |
CN109684416A (zh) | 一种高并发实时历史数据存储*** | |
CN104573128A (zh) | 一种业务数据的处理方法、装置及服务器 | |
CN101510209A (zh) | 实现实时检索的方法、***和服务器 | |
CN102012931A (zh) | 过滤式缓存方法及其装置、缓存*** | |
CN102867070A (zh) | 更新key-value分布式存储***缓存的方法 | |
CN104216957A (zh) | 一种视频元数据的查询***及查询方法 | |
CN101178651A (zh) | 一种软件版本更新提示的方法、***及装置 | |
KR20210121315A (ko) | 데이터베이스 동기화 | |
CN109189783B (zh) | 一种时序数据库表结构改变处理方法 | |
CN103631972B (zh) | 一种列访问感知的数据缓存方法及*** | |
CN108076376B (zh) | 一种基于视频云存储***的视频定位回放方法及装置 | |
CN102968507A (zh) | 基于缓存表的数据查询方法 | |
CN103761102A (zh) | 一种统一数据服务平台及其实现方法 | |
CN103761255A (zh) | NoSQL方式数据存储的优化方法及*** | |
CN114036226A (zh) | 一种数据同步方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |