CN102521260A - 数据预热方法及装置 - Google Patents
数据预热方法及装置 Download PDFInfo
- Publication number
- CN102521260A CN102521260A CN2011103693785A CN201110369378A CN102521260A CN 102521260 A CN102521260 A CN 102521260A CN 2011103693785 A CN2011103693785 A CN 2011103693785A CN 201110369378 A CN201110369378 A CN 201110369378A CN 102521260 A CN102521260 A CN 102521260A
- Authority
- CN
- China
- Prior art keywords
- hot spot
- spot data
- data piece
- candidate
- sum
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 11
- 238000012216 screening Methods 0.000 claims description 53
- 238000010438 heat treatment Methods 0.000 claims description 20
- 238000007792 addition Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 abstract description 10
- 241001269238 Data Species 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 208000033999 Device damage Diseases 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009997 thermal pre-treatment Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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
-
- 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/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据预热方法及装置,涉及数据库技术领域,提高了数据库***的响应速度,减缓对磁盘的频繁IO,提高了数据库***的整体性能。所述方法包括:当数据库启动时,分别从闪存设备上读取命中率信息和硬盘上读取用户配置信息;获取用户配置信息中的预设热点数据表和命中率信息中的热点数据表的并集;从并集中确定待加载热点数据块的总数;按照所述存储比例,确定将要存储到共享缓冲区和闪存设备中的待加载热点数据块;将待加载热点数据块分别存储到共享缓冲区和闪存设备中。本发明实施例适用于数据预热处理过程中。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据预热方法及装置。
背景技术
随着数据库技术的快速发展,数据库存储***呈现以下特点:
固态硬盘(Solid-State Drive,SSD),相变存储器等新型存储设备和传统的磁盘设备构成混合存储环境。基于闪存的SSD同传统磁盘相比,具有性能高、能耗低等优势,价格和容量介于内存和传统磁盘之间。预计今后长时间内,各种类型的硬盘设备将同时存在,混合存储成为主流的存储配置;随着应用越来越多,用户数据量越来越大,传统的数据存储导致的输入输出(Input/Output,IO)瓶颈问题就会凸显出来;一些重要的应用需求要求数据库***具有快速、及时、准确的响应。
在现有技术中,在主存和外部存储器之间提供一个带有缓存的控制器设备来实现预先加载下一个请求的数据,请求到来时将数据转移到主存。或者是把闪存设备用作二级缓存,在主存的缓冲区满时,将需要被替换出缓冲区的部分数据块写入闪存设备中,而且在数据库启动阶段没有根据用户的实际使用情况对一些热点数据进行预加载。
在现有技术中,在数据库启动后的初期,客户端的请求数据量大而且业务非常繁忙时,会导致数据库***的响应效率降低,IO非常繁忙,影响数据库***的整体性能。
发明内容
本发明的实施例提供一种数据预热方法及装置,提高了数据库***的响应速度,减缓对磁盘的频繁IO,提高了数据库***的整体性能。
本发明实施例采用如下技术方案:
一种数据预热方法,包括:
当数据库启动时,分别取命中率信息和读取用户配置信息,其中所述命中率信息包括:热点数据表,所述用户配置信息包括:预设热点数据表,将待加载热点数据块存储到共享缓冲区和闪存设备中的存储比例,共享缓冲区的大小,闪存设备的存储能力,待加载热点数据块的总数的偏差值;
获取所述用户配置信息中的预设热点数据表和所述命中率信息中的热点数据表的并集;
根据存储比例、共享缓冲区的大小、闪存设备的大小、热点数据块的大小、偏差值从所述并集中确定待加载热点数据块的总数;
按照所述存储比例,确定将要存储到所述共享缓冲区和闪存设备中的待加载热点数据块;
将所述待加载热点数据块分别存储到所述共享缓冲区和闪存设备中。
一种数据预热装置,包括:
读取单元,用于当数据库启动时,分别取命中率信息和读取用户配置信息,其中所述命中率信息包括:热点数据表,所述用户配置信息包括:预设热点数据表,将待加载热点数据块存储到共享缓冲区和闪存设备中的存储比例,共享缓冲区的大小,闪存设备的存储能力,待加载热点数据块的总数的偏差值;
获取单元,用于获取所述用户配置信息中的预设热点数据表和所述命中率信息中的热点数据表的并集;
第一处理单元,用于根据存储比例、共享缓冲区的大小、闪存设备的大小、热点数据块的大小、偏差值从所述并集中确定待加载热点数据块的总数;
第二处理单元,用于按照所述存储比例,确定将要存储到所述共享缓冲区和闪存设备中的待加载热点数据块;
存储单元,用于将所述待加载热点数据块分别存储到所述共享缓冲区和闪存设备中。
本发明实施例提供的一种数据预热方法及装置,在数据库启动时,根据用户的实际使用情况将一些热点数据块预先存储到共享缓冲区和闪存设备中。本发明实施例解决了现有技术中在数据库启动,客户端的请求数据量大而且业务非常繁忙时,会导致数据库***的响应效率降低,IO非常繁忙,影响数据库***的整体性能的问题,提高了数据库***的响应速度,减缓对磁盘的频繁IO,提高了数据库***的整体性能。
附图说明
图1为本发明实施例一提供的一种数据预热方法的主要操作步骤流程图;
图2为本发明实施例一提供的一种数据预热方法的HDM在数据库***中管理热点数据的示意图;
图3为本发明实施例一提供的一种数据预热方法的整体操作步骤流程图;
图4为本发明实施例二提供的一种数据预热装置的主要结构图;
图5为本发明实施例二提供的一种数据预热装置中处理单元的结构图;
图6为本发明实施例二提供的一种数据预热装置中第四处理子单元的主要结构图;
图7为本发明实施例二提供的一种数据预热装置中第四处理子单元的整体结构图;
图8为本发明实施例二提供的一种数据预热装置的整体结构图。
具体实施方式
下面结合附图对本发明实施例一种数据预热方法及装置进行详细描述。
实施例一
本发明实施例提供的一种数据预热方法,如图1所示,包括:
101、当数据库启动时,分别取命中率信息和读取用户配置信息,其中所述命中率信息包括:热点数据表,所述用户配置信息包括:预设热点数据表,将待加载热点数据块存储到共享缓冲区和闪存设备中的存储比例,共享缓冲区的大小,闪存设备的存储能力,待加载热点数据块的总数的偏差值;
102、获取所述用户配置信息中的预设热点数据表和所述命中率信息中的热点数据表的并集;
103、根据存储比例、共享缓冲区的大小、闪存设备的大小、热点数据块的大小、偏差值从所述并集中确定待加载热点数据块的总数;
104、按照所述存储比例,确定将要存储到所述共享缓冲区和闪存设备中的待加载热点数据块;
105、将所述待加载热点数据块分别存储到所述共享缓冲区和闪存设备中。
本发明实施例提供的一种数据预热方法,在数据库启动时,根据用户的实际使用情况对一些热点数据进行预热。本发明实施例解决了现有技术中在数据库启动后的初期,客户端的请求数据量大而且业务非常繁忙时,会导致数据库***的响应效率降低,IO非常繁忙,影响数据库***的整体性能的问题,提高了数据库***的响应速度,减缓对磁盘的频繁IO,提高了数据库***的整体性能。
本发明主要是在数据库***中增加一个热点数据管理模块(hotdata management,HDM)来进行数据预热处理。如图2所示,为HDM在数据库***中管理热点数据的示意图。
具体应用时,如图3所示,操作流程如下:
301、当数据库启动时,分别取命中率信息和读取用户配置信息,其中所述命中率信息包括:热点数据表,所述用户配置信息包括:预设热点数据表,将待加载热点数据块存储到共享缓冲区和闪存设备中的存储比例,共享缓冲区的大小,闪存设备的存储能力,待加载热点数据块的总数的偏差值。
所述命中率信息从闪存设备上读取,用户配置信息从硬盘上读取,并将所述命中率信息和用户配置信息存储在主存的共享缓冲区中。
所述命中率信息中包括热点数据表,以及热点数据表的命中次数及排名,热点数据块的命中率及排名。
当数据库启动,无法从闪存设备上读取所述命中率信息时,从硬盘上读取所述命中率信息。
302、获取所述用户配置信息中的预设热点数据表和所述命中率信息中的热点数据表的并集。
根据存储比例、共享缓冲区的大小、闪存设备的大小、热点数据块的大小、偏差值从所述并集中确定待加载热点数据块的总数。具体包括如下子步骤3031-3034:
3031、根据存储比例、共享缓冲区的大小、闪存设备的大小和热点数据块的大小,计算待加载热点数据块的总数的门限值。
具体是根据计算待加载热点数据块的总数的门限值,其中TDB为待加载热点数据块的总数的门限值,a1为存储到所述共享缓冲区的待加载热点数据块的存储比例,a2为存储到所述闪存设备的待加载热点数据块的存储比例,且0≤a1≤1,0≤a2≤1,BufCapacity为所述共享缓冲区的大小,Capacity为所述闪存设备的大小,BlockSize为热点数据块的大小。
3032、根据所述待加载热点数据块的总数的门限值、所述并集中的热点数据表的总数、所述并集中的热点数据块的总数,计算候选热点数据表的个数TCT,其中所述候选热点数据表是所述并集中命中次数最高的前TCT个热点数据表。
3033、根据所述待加载热点数据块的总数的门限值、所述候选热点数据表中的热点数据块的总数、所述并集中的热点数据块的总数,计算每个候选热点数据表中的候选热点数据块的个数。
具体是根据计算每个候选热点数据表中的候选热点数据块的个数,其中BN为每个候选热点数据表中的候选热点数据块的个数,TBN为每个候选热点数据表中的热点数据块的总数,TDB为所述待加载热点数据块的总数的门限值,TB为所述并集中的热点数据块的总数。
3034、从所述候选热点数据表中的候选热点数据块中筛选出待加载热点数据块,得到待加载热点数据块的总数。具体包括步骤304-311:
304、根据FB=THNTCT/2×BRBN计算每个候选热点数据表的筛选基数值,其中FB为每个候选热点数据表的筛选基数值,THNTCT/2为第个候选热点数据表的命中次数,BRBN为每个候选热点数据表中的热点数据块命中率最高的第BN个热点数据块的命中率。
305、根据PB=PT×QB计算每个候选热点数据表中的候选热点数据块的命中次数,其中PB为每个候选热点数据表中的候选热点数据块的命中次数,PT为每个候选热点数据表的命中次数,QB为每个候选热点数据表中候选热点数据块的命中率。
306、将所述候选数据表中命中次数大于等于所述候选热点数据表的所述筛选基数值的所有第一候选热点数据块相加,得到第一筛选热点数据块的总数。
307、判断所述第一筛选热点数据块的总数是否在所述待加载热点数据块的总数的门限值加减偏差值的范围内。
308、当所述第一筛选热点数据块的总数在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,确定所述第一候选热点数据块为待加载热点数据块,得到待加载热点数据块的总数。
记录下每个候选热点数据表的筛选基数值。
309、当所述第一筛选热点数据块的总数不在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,将所述筛选基数值与预设倍数相乘,得到新的筛选基数值。
此处存在两种情况:
当所述第一筛选热点数据块的总数大于所述待加载热点数据块的总数的门限值与偏差值之和时,将所述筛选基数值加倍;
当所述第一筛选热点数据块的总数小于所述待加载热点数据块的总数的门限值与偏差值之差时,将所述筛选基数值减半。
例如,偏差值可设为1或2。
310、将所述候选数据表中命中次数大于等于所述新的筛选基数值的所有第二候选热点数据块相加,得到第二筛选热点数据块的总数。
311、当所述第二筛选热点数据块的总数在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,确定所述第二候选热点数据块为待加载热点数据块,得到待加载热点数据块的总数。
记录下每个所述热点数据表的新的筛选基数值。
最终得到的筛选基数值作为下一次数据库重启时的初步筛选基数值。
312、按照所述存储比例,确定将要存储到所述共享缓冲区和闪存设备中的待加载热点数据块;
313、将所述待加载热点数据块分别存储到所述共享缓冲区和闪存设备中。
为存储在所述闪存设备中的热点数据块在所述共享缓冲区中建立散表(HASH)索引,便于读取所述闪存设备中的热点数据块。
314、当数据库运行时,实时统计热点数据的命中率信息,并更新存储到所述闪存设备。
更新存储到所述闪存设备上的命中率信息,是便于在下次数据库重启时读取利用。
315、将所述闪存设备上的数据备份到所述硬盘,其中所述备份数据包括更新的命中率信息。
将最近更新的命中率信息备份到所述硬盘上,是防止所述闪存设备损坏、脱落、更换等特殊情况发生时无法读取命中率信息。
本发明不仅限于SSD+HDD(hard disk drive,硬盘驱动器)方式的存储***,还可以应用于各种混合存储***。
对于热点数据预加载不仅限于加载热点数据表,也可适用于对索引数据表的热点统计。
实施例二
本发明实施例提供的一种数据预热装置40,如图4所示,包括读取单元401,获取单元402,第一处理单元403、第二处理单元404和存储单元405。
其中,读取单元401,用于当数据库启动时,分别取命中率信息和读取用户配置信息,其中所述命中率信息包括:热点数据表,所述用户配置信息包括:预设热点数据表,将待加载热点数据块存储到共享缓冲区和闪存设备中的存储比例,共享缓冲区的大小,闪存设备的存储能力,待加载热点数据块的总数的偏差值;
获取单元402,用于获取所述用户配置信息中的预设热点数据表和所述命中率信息中的热点数据表的并集;
第一处理单元403,用于根据存储比例、共享缓冲区的大小、闪存设备的大小、热点数据块的大小、偏差值从所述并集中确定待加载热点数据块的总数;
第二处理单元404,用于按照所述存储比例,确定将要存储到所述共享缓冲区和闪存设备中的待加载热点数据块;
存储单元405,于将所述待加载热点数据块分别存储到所述共享缓冲区和闪存设备中。
本发明实施例提供的一种数据预热装置,在数据库启动时,根据用户的实际使用情况对一些热点数据进行预热。本发明实施例解决了现有技术中在数据库启动后的初期,客户端的请求数据量大而且业务非常繁忙时,会导致数据库***的响应效率降低,IO非常繁忙,影响数据库***的整体性能的问题,提高了数据库***的响应速度,减缓对磁盘的频繁IO,提高了数据库***的整体性能。
本发明实施例提供的一种数据预热装置,还包括:
当数据库启动,无法从闪存设备上读取所述命中率信息时,从硬盘上读取所述命中率信息。
本发明实施例提供的一种数据预热装置,如图5所示,其中,第一处理单元403包括:
第一处理子单元501,用于根据存储比例、共享缓冲区的大小、闪存设备的大小和热点数据块的大小,计算待加载热点数据块的总数的门限值。
具体是根据计算待加载热点数据块的总数的门限值,其中TDB为待加载热点数据块的总数的门限值,a1为存储到所述共享缓冲区的待加载热点数据块的存储比例,a2为存储到所述闪存设备的待加载热点数据块的存储比例,且0≤a1≤1,0≤a2≤1,BufCapacity为所述共享缓冲区的大小,Capacity为所述闪存设备的大小,BlockSize为热点数据块的大小。
第二处理子单元502,用于根据所述待加载热点数据块的总数的门限值、所述并集中的热点数据表的总数、所述并集中的热点数据块的总数,计算候选热点数据表的个数TCT,其中所述候选热点数据表是所述并集中命中次数最高的前TCT个热点数据表。
第三处理子单元503,用于根据所述待加载热点数据块的总数的门限值、所述候选热点数据表中的热点数据块的总数、所述并集中的热点数据块的总数,计算每个候选热点数据表中的候选热点数据块的个数。
具体是根据计算每个候选热点数据表中的候选热点数据块的个数,其中BN为每个候选热点数据表中的候选热点数据块的个数,TBN为每个候选热点数据表中的热点数据块的总数,TDB为所述待加载热点数据块的总数的门限值,TB为所述并集中的热点数据块的总数。
第四处理子单元504,用于从所述候选热点数据表中的候选热点数据块中筛选出待加载热点数据块,得到待加载热点数据块的总数。
本发明实施例提供的一种数据预热装置,如图6所示,其中,第四处理子单元504包括:
基准模块601,用于根据FB=THNTCT/2×BRBN计算每个候选热点数据表的筛选基数值,其中FB为每个候选热点数据表的筛选基数值,THNTCT/2为第个候选热点数据表的命中次数,BRBN为每个候选热点数据表中的热点数据块命中率最高的第BN个热点数据块的命中率;
计算模块602,用于根据PB=PT×QB计算每个候选热点数据表中的候选热点数据块的命中次数,其中PB为每个候选热点数据表中的候选热点数据块的命中次数,PT为每个候选热点数据表的命中次数,QB为每个候选热点数据表中候选热点数据块的命中率;
第一获取模块603,用于将所述候选数据表中命中次数大于等于所述候选热点数据表的所述筛选基数值的所有第一候选热点数据块相加,得到第一筛选热点数据块的总数;
第二获取模块604,用于当所述第一筛选热点数据块的总数在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,确定所述第一候选热点数据块为待加载热点数据块,,得到待加载热点数据块的总数。
本发明实施例提供的一种数据预热装置,如图7所示,其中,第四处理子单元504还包括:
处理模块701,用于当所述第一筛选热点数据块的总数不在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,将所述筛选基数值与预设倍数相乘,得到新的筛选基数值;
第三获取模块702,用于将所述候选数据表中命中次数大于等于所述新的筛选基数值的所有第二候选热点数据块相加,得到第二筛选热点数据块的总数;
第四获取模块703,用于当所述第二筛选热点数据块的总数在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,确定所述第二候选热点数据块为待加载热点数据块,得到待加载热点数据块的总数。
本发明实施例提供的一种数据预热装置80,如图8所示,还包括统计单元406和备份单元407。
其中,统计单元406,用于当数据库运行时,实时统计热点数据的命中率信息,并更新存储到所述闪存设备;
备份单元407,用于将所述闪存设备上的数据备份到所述硬盘,其中所述备份数据包括更新的命中率信息。
本装置操作过程,参见上述数据预热方法的实现过程。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种数据预热方法,其特征在于,包括:
当数据库启动时,分别取命中率信息和读取用户配置信息,其中所述命中率信息包括:热点数据表,所述用户配置信息包括:预设热点数据表,将待加载热点数据块存储到共享缓冲区和闪存设备中的存储比例,共享缓冲区的大小,闪存设备的存储能力,待加载热点数据块的总数的偏差值;
获取所述用户配置信息中的预设热点数据表和所述命中率信息中的热点数据表的并集;
根据存储比例、共享缓冲区的大小、闪存设备的大小、热点数据块的大小、偏差值从所述并集中确定待加载热点数据块的总数;
按照所述存储比例,确定将要存储到所述共享缓冲区和闪存设备中的待加载热点数据块;
将所述待加载热点数据块分别存储到所述共享缓冲区和闪存设备中。
2.根据权利要求1所述的一种数据预热方法,其特征在于,所述根据存储比例、共享缓冲区的大小、闪存设备的大小、热点数据块的大小从所述并集中确定待加载热点数据块的总数,具体步骤包括:
根据存储比例、共享缓冲区的大小、闪存设备的大小和热点数据块的大小,计算待加载热点数据块的总数的门限值;
根据所述待加载热点数据块的总数的门限值、所述并集中的热点数据表的总数、所述并集中的热点数据块的总数,计算候选热点数据表的个数TCT,其中所述候选热点数据表是所述并集中命中次数最高的前TCT个热点数据表;
根据所述待加载热点数据块的总数的门限值、所述候选热点数据表中的热点数据块的总数、所述并集中的热点数据块的总数,计算每个候选热点数据表中的候选热点数据块的个数;
从所述候选热点数据表中的候选热点数据块中筛选出待加载热点数据块,得到待加载热点数据块的总数。
3.根据权利要求2所述的一种数据预热方法,其特征在于,所述根据存储比例、共享缓冲区的大小、闪存设备的大小和热点数据块的大小,计算待加载热点数据块的总数的门限值包括:
根据计算待加载热点数据块的总数的门限值,其中TDB为待加载热点数据块的总数的门限值,a1为存储到所述共享缓冲区的待加载热点数据块的存储比例,a2为存储到所述闪存设备的待加载热点数据块的存储比例,且0≤a1≤1,0≤a2≤1,BufCapacity为所述共享缓冲区的大小,Capacit y为所述闪存设备的大小,BlockSize为热点数据块的大小。
5.根据权利要求2所述的一种数据预热方法,其特征在于,所述根据所述待加载热点数据块的总数的门限值、所述候选热点数据表中的热点数据块的总数、所述并集中的热点数据块的总数,计算每个候选热点数据表中的候选热点数据块的个数包括:
根据计算每个候选热点数据表中的候选热点数据块的个数,其中BN为每个候选热点数据表中的候选热点数据块的个数,TBN为每个候选热点数据表中的热点数据块的总数,TDB为所述待加载热点数据块的总数的门限值,TB为所述并集中的热点数据块的总数。
6.根据权利要求2所述的一种数据预热方法,其特征在于,所述从所述候选热点数据表中的候选热点数据块中筛选出待加载热点数据块,得到待加载热点数据块的总数包括:
根据FB=THNTCT/2×BRBN计算每个候选热点数据表的筛选基数值,其中FB为每个候选热点数据表的筛选基数值,THNTCT/2为第个候选热点数据表的命中次数,BRBN为每个候选热点数据表中的热点数据块命中率最高的第BN个热点数据块的命中率;
根据PB=PT×QB计算每个候选热点数据表中的候选热点数据块的命中次数,其中PB为每个候选热点数据表中的候选热点数据块的命中次数,PT为每个候选热点数据表的命中次数,QB为每个候选热点数据表中候选热点数据块的命中率;
将所述候选数据表中命中次数大于等于所述候选热点数据表的所述筛选基数值的所有第一候选热点数据块相加,得到第一筛选热点数据块的总数;
当所述第一筛选热点数据块的总数在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,确定所述第一候选热点数据块为待加载热点数据块,得到待加载热点数据块的总数。
7.根据权利要求6所述的一种数据预热方法,其特征在于,还包括:
当所述第一筛选热点数据块的总数不在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,将所述筛选基数值与预设倍数相乘,得到新的筛选基数值;
将所述候选数据表中命中次数大于等于所述新的筛选基数值的所有第二候选热点数据块相加,得到第二筛选热点数据块的总数;
当所述第二筛选热点数据块的总数在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,确定所述第二候选热点数据块为待加载热点数据块,得到待加载热点数据块的总数。
8.根据权利要求1所述的一种数据预热方法,其特征在于,所述方法还包括:
当数据库运行时,实时统计热点数据的命中率信息,并更新存储到所述闪存设备;
将所述闪存设备上的数据备份到所述硬盘,其中所述备份数据包括更新的命中率信息。
9.一种数据预热装置,其特征在于,包括:
读取单元,用于当数据库启动时,分别取命中率信息和读取用户配置信息,其中所述命中率信息包括:热点数据表,所述用户配置信息包括:预设热点数据表,将待加载热点数据块存储到共享缓冲区和闪存设备中的存储比例,共享缓冲区的大小,闪存设备的存储能力,待加载热点数据块的总数的偏差值;
获取单元,用于获取所述用户配置信息中的预设热点数据表和所述命中率信息中的热点数据表的并集;
第一处理单元,用于根据存储比例、共享缓冲区的大小、闪存设备的大小、热点数据块的大小、偏差值从所述并集中确定待加载热点数据块的总数;
第二处理单元,用于按照所述存储比例,确定将要存储到所述共享缓冲区和闪存设备中的待加载热点数据块;
存储单元,用于将所述待加载热点数据块分别存储到所述共享缓冲区和闪存设备中。
10.根据权利要求9所述的一种数据预热装置,其特征在于,第一处理单元包括:
第一处理子单元,用于根据存储比例、共享缓冲区的大小、闪存设备的大小和热点数据块的大小,计算待加载热点数据块的总数的门限值;
第二处理子单元,用于根据所述待加载热点数据块的总数的门限值、所述并集中的热点数据表的总数、所述并集中的热点数据块的总数,计算候选热点数据表的个数TCT,其中所述候选热点数据表是所述并集中命中次数最高的前TCT个热点数据表;
第三处理子单元,用于根据所述待加载热点数据块的总数的门限值、所述候选热点数据表中的热点数据块的总数、所述并集中的热点数据块的总数,计算每个候选热点数据表中的候选热点数据块的个数;
第四处理子单元,用于从所述候选热点数据表中的候选热点数据块中筛选出待加载热点数据块,得到待加载热点数据块的总数。
12.根据权利要求9所述的一种数据预热装置,其特征在于,第二处理子单元具体用于根据计算候选热点数据表的个数TCT,其中TCT为候选热点数据表的个数,TT为所述并集中的热点数据表的总数,TDB为所述待加载热点数据块的总数的门限值,TB为所述并集中的热点数据块的总数。
14.根据权利要求9所述的一种数据预热装置,其特征在于,第四处理子单元包括:
基准模块,用于根据FB=THNTCT/2×BRBN计算每个候选热点数据表的筛选基数值,其中FB为每个候选热点数据表的筛选基数值,THNTCT/2为第个候选热点数据表的命中次数,BRBN为每个候选热点数据表中的热点数据块命中率最高的第BN个热点数据块的命中率;
计算模块,用于根据PB=PT×QB计算每个候选热点数据表中的候选热点数据块的命中次数,其中PB为每个候选热点数据表中的候选热点数据块的命中次数,PT为每个候选热点数据表的命中次数,QB为每个候选热点数据表中候选热点数据块的命中率;
第一获取模块,用于将所述候选数据表中命中次数大于等于所述候选热点数据表的所述筛选基数值的所有第一候选热点数据块相加,得到第一筛选热点数据块的总数;
第二获取模块,用于当所述第一筛选热点数据块的总数在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,确定所述第一候选热点数据块为待加载热点数据块,得到待加载热点数据块的总数。
15.根据权利要求9所述的一种数据预热装置,其特征在于,第四处理子单元还包括:
处理模块,用于当所述第一筛选热点数据块的总数不在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,将所述筛选基数值与预设倍数相乘,得到新的筛选基数值;
第三获取模块,用于将所述候选数据表中命中次数大于等于所述新的筛选基数值的所有第二候选热点数据块相加,得到第二筛选热点数据块的总数;
第四获取模块,用于当所述第二筛选热点数据块的总数在所述待加载热点数据块的总数的门限值加减偏差值的范围内时,确定所述第二候选热点数据块为待加载热点数据块,得到待加载热点数据块的总数。
16.根据权利要求9所述的一种数据预热装置,其特征在于,所述装置还包括:
统计单元,用于当数据库运行时,实时统计热点数据的命中率信息,并更新存储到所述闪存设备;
备份单元,用于将所述闪存设备上的数据备份到所述硬盘,其中所述备份数据包括更新的命中率信息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110369378.5A CN102521260B (zh) | 2011-11-18 | 2011-11-18 | 数据预热方法及装置 |
EP12850309.1A EP2765522B1 (en) | 2011-11-18 | 2012-03-23 | Method and device for data pre-heating |
PCT/CN2012/072863 WO2013071726A1 (zh) | 2011-11-18 | 2012-03-23 | 数据预热方法及装置 |
US14/278,707 US9569489B2 (en) | 2011-11-18 | 2014-05-15 | Method and apparatus for data preheating |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110369378.5A CN102521260B (zh) | 2011-11-18 | 2011-11-18 | 数据预热方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102521260A true CN102521260A (zh) | 2012-06-27 |
CN102521260B CN102521260B (zh) | 2014-04-02 |
Family
ID=46292182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110369378.5A Active CN102521260B (zh) | 2011-11-18 | 2011-11-18 | 数据预热方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9569489B2 (zh) |
EP (1) | EP2765522B1 (zh) |
CN (1) | CN102521260B (zh) |
WO (1) | WO2013071726A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942315A (zh) * | 2014-04-22 | 2014-07-23 | 杭州邦盛金融信息技术有限公司 | 一种基于装载因子的缓存数据预加载与替换方法 |
CN105988720A (zh) * | 2015-02-09 | 2016-10-05 | ***通信集团浙江有限公司 | 数据存储装置和方法 |
CN106708819A (zh) * | 2015-07-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种数据缓存的预热方法及其装置 |
CN106970920A (zh) * | 2016-01-14 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种用于数据库数据迁移的方法与设备 |
CN107025177A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN109284236A (zh) * | 2018-08-28 | 2019-01-29 | 北京三快在线科技有限公司 | 数据预热方法、装置、电子设备及存储介质 |
CN109960612A (zh) * | 2019-03-07 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 一种确定数据存储占比的方法、装置及服务器 |
CN111813740A (zh) * | 2019-04-11 | 2020-10-23 | ***通信集团四川有限公司 | 一种文件分层存储方法及服务器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102020210104A1 (de) | 2020-08-10 | 2022-02-10 | Disco Corporation | Verfahren zum bearbeiten eines substrats |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030037049A1 (en) * | 2001-05-11 | 2003-02-20 | Guenter Weigelt | Dynamic buffer allocation |
CN101067820A (zh) * | 2007-06-08 | 2007-11-07 | 北京大学 | 预取对象的方法 |
CN102141963A (zh) * | 2010-01-28 | 2011-08-03 | 阿里巴巴集团控股有限公司 | 一种数据分析方法和设备 |
CN102222107A (zh) * | 2011-06-28 | 2011-10-19 | 中国联合网络通信集团有限公司 | 数据存取***及其数据存取方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239644A (en) | 1988-03-28 | 1993-08-24 | Hitachi, Ltd. | Data preloading method and system for using a buffer |
US6463509B1 (en) * | 1999-01-26 | 2002-10-08 | Motive Power, Inc. | Preloading data in a cache memory according to user-specified preload criteria |
US7073030B2 (en) * | 2002-05-22 | 2006-07-04 | International Business Machines Corporation | Method and apparatus providing non level one information caching using prefetch to increase a hit ratio |
JP2004118305A (ja) * | 2002-09-24 | 2004-04-15 | Sharp Corp | キャッシュメモリ制御装置 |
JP4686305B2 (ja) * | 2005-08-26 | 2011-05-25 | 株式会社日立製作所 | ストレージ管理システムおよびその方法 |
US7640353B2 (en) * | 2006-04-27 | 2009-12-29 | Microsoft Corporation | Guided random seek support for media streaming |
CN1945552A (zh) * | 2006-11-03 | 2007-04-11 | 中兴通讯股份有限公司 | 数据预读装置及其数据读取方法 |
JP5147296B2 (ja) * | 2007-05-31 | 2013-02-20 | 株式会社日立製作所 | 計算機システム、データベース管理方法及びプログラム |
US8868831B2 (en) * | 2009-09-14 | 2014-10-21 | Oracle International Corporation | Caching data between a database server and a storage system |
US8239640B2 (en) * | 2008-10-09 | 2012-08-07 | Dataram, Inc. | System for controlling performance aspects of a data storage and access routine |
US8086816B2 (en) * | 2008-10-20 | 2011-12-27 | Dataram, Inc. | Method for controlling performance aspects of a data storage and access routine |
KR101189766B1 (ko) * | 2008-12-22 | 2012-10-10 | 한국전자통신연구원 | 데이터 서버로 분산 수집된 접근 횟수 기반의 핫 데이터 관리 방법 |
US20100199036A1 (en) * | 2009-02-02 | 2010-08-05 | Atrato, Inc. | Systems and methods for block-level management of tiered storage |
CN101668046B (zh) | 2009-10-13 | 2012-12-19 | 成都市华为赛门铁克科技有限公司 | 资源缓存方法及其装置、*** |
US8825685B2 (en) * | 2009-11-16 | 2014-09-02 | Symantec Corporation | Selective file system caching based upon a configurable cache map |
US8566483B1 (en) * | 2009-12-17 | 2013-10-22 | Emc Corporation | Measuring data access activity |
US8429346B1 (en) * | 2009-12-28 | 2013-04-23 | Emc Corporation | Automated data relocation among storage tiers based on storage load |
US8478731B1 (en) * | 2010-03-31 | 2013-07-02 | Emc Corporation | Managing compression in data storage systems |
US20110246721A1 (en) * | 2010-03-31 | 2011-10-06 | Sony Corporation | Method and apparatus for providing automatic synchronization appliance |
US9256381B1 (en) * | 2011-09-29 | 2016-02-09 | Emc Corporation | Managing degraded storage elements in data storage systems |
-
2011
- 2011-11-18 CN CN201110369378.5A patent/CN102521260B/zh active Active
-
2012
- 2012-03-23 EP EP12850309.1A patent/EP2765522B1/en active Active
- 2012-03-23 WO PCT/CN2012/072863 patent/WO2013071726A1/zh active Application Filing
-
2014
- 2014-05-15 US US14/278,707 patent/US9569489B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030037049A1 (en) * | 2001-05-11 | 2003-02-20 | Guenter Weigelt | Dynamic buffer allocation |
CN101067820A (zh) * | 2007-06-08 | 2007-11-07 | 北京大学 | 预取对象的方法 |
CN102141963A (zh) * | 2010-01-28 | 2011-08-03 | 阿里巴巴集团控股有限公司 | 一种数据分析方法和设备 |
CN102222107A (zh) * | 2011-06-28 | 2011-10-19 | 中国联合网络通信集团有限公司 | 数据存取***及其数据存取方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942315A (zh) * | 2014-04-22 | 2014-07-23 | 杭州邦盛金融信息技术有限公司 | 一种基于装载因子的缓存数据预加载与替换方法 |
CN103942315B (zh) * | 2014-04-22 | 2017-03-22 | 杭州邦盛金融信息技术有限公司 | 一种基于装载因子的缓存数据预加载与替换方法 |
CN105988720A (zh) * | 2015-02-09 | 2016-10-05 | ***通信集团浙江有限公司 | 数据存储装置和方法 |
CN106708819A (zh) * | 2015-07-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种数据缓存的预热方法及其装置 |
TWI734681B (zh) * | 2015-07-17 | 2021-08-01 | 香港商阿里巴巴集團服務有限公司 | 資料緩存的預熱方法及其裝置 |
CN106970920A (zh) * | 2016-01-14 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种用于数据库数据迁移的方法与设备 |
CN107025177A (zh) * | 2016-02-01 | 2017-08-08 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN109284236A (zh) * | 2018-08-28 | 2019-01-29 | 北京三快在线科技有限公司 | 数据预热方法、装置、电子设备及存储介质 |
CN109960612A (zh) * | 2019-03-07 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 一种确定数据存储占比的方法、装置及服务器 |
CN109960612B (zh) * | 2019-03-07 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 一种确定数据存储占比的方法、装置及服务器 |
CN111813740A (zh) * | 2019-04-11 | 2020-10-23 | ***通信集团四川有限公司 | 一种文件分层存储方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
US20140250102A1 (en) | 2014-09-04 |
WO2013071726A1 (zh) | 2013-05-23 |
EP2765522A1 (en) | 2014-08-13 |
EP2765522A4 (en) | 2014-11-26 |
CN102521260B (zh) | 2014-04-02 |
EP2765522B1 (en) | 2019-03-13 |
US9569489B2 (en) | 2017-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521260A (zh) | 数据预热方法及装置 | |
Lu et al. | Wisckey: Separating keys from values in ssd-conscious storage | |
RU2653278C2 (ru) | Способ и устройство хранения для распределенной файловой системы | |
US20140006687A1 (en) | Data Cache Apparatus, Data Storage System and Method | |
Luo et al. | On performance stability in LSM-based storage systems (extended version) | |
CN101763437B (zh) | 高速缓冲存储实现方法及装置 | |
US8572312B2 (en) | Data de-duplication and solid state memory device | |
Cao et al. | Sliding {Look-Back} Window Assisted Data Chunk Rewriting for Improving Deduplication Restore Performance | |
Puttaswamy et al. | Frugal storage for cloud file systems | |
CN101582076A (zh) | 一种基于数据库的重复数据删除方法 | |
CN103678166A (zh) | 一种采用固态硬盘作为计算机高速缓存的实现方法及*** | |
JP2018520420A (ja) | ハイブリッドオブジェクトストレージデバイスのためのキャッシュアーキテクチャおよびアルゴリズム | |
CN107817945A (zh) | 一种混合内存结构的数据读取方法和*** | |
CN102982122A (zh) | 一种适用于海量存储***的重复数据删除方法 | |
EP3789883A1 (en) | Storage fragment managing method and terminal | |
US20080082489A1 (en) | Row Identifier List Processing Management | |
Yang et al. | {SmartDedup}: Optimizing Deduplication for Resource-constrained Devices | |
WO2022105585A1 (zh) | 数据存储方法、装置、设备及存储介质 | |
Li et al. | HiLSM: an LSM-based key-value store for hybrid NVM-SSD storage systems | |
CN111752931A (zh) | 一种用于newsql数据库管理***的智能存储表实现方法及*** | |
CN103823634A (zh) | 一种支持无随机写模式的数据处理方法及*** | |
CN102385624B (zh) | 一种面向分布式文件***的日志数据组织的方法 | |
KR101666440B1 (ko) | 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법 | |
CN105138277A (zh) | 一种固态盘阵列的缓存管理方法 | |
Athanassoulis et al. | Flash in a DBMS: Where and How? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220214 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |