CN109783443A - 一种分布式存储系统中海量数据的冷热判断方法 - Google Patents
一种分布式存储系统中海量数据的冷热判断方法 Download PDFInfo
- Publication number
- CN109783443A CN109783443A CN201811594303.5A CN201811594303A CN109783443A CN 109783443 A CN109783443 A CN 109783443A CN 201811594303 A CN201811594303 A CN 201811594303A CN 109783443 A CN109783443 A CN 109783443A
- Authority
- CN
- China
- Prior art keywords
- data
- hash
- cold
- hash table
- hot
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式存储系统中数据冷热的判断方法,采用多版本的哈希表来统计数据的访问频度,并据此确定数据的冷热状况。该方法主要包括:选取合适数量的哈希函数,并在每次数据访问时将访问的索引通过这些哈希函数计算出对应的哈希结果,然后增加这些哈希结果在当前版本哈希表中对应位置的值;经过多次访问后,通过切换当前版本的哈希表以及移除所有版本哈希表的首位来进行衰减,以降低老旧信息的影响;最后通过统计所有版本哈希表中的数据访问信息来确定数据的冷热。相对于该领域其他方法,该方法可以在使用相同大小的内存空间时,提供更高的冷热数据判断准确率,有利于冷热数据的分别处理,从而提高系统性能。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种分布式存储系统中海量数据的冷热判断方法。
背景技术
随着互联网、云计算、物联网等技术的广泛发展和应用,数据呈现出爆炸性增长,时时刻刻都会产生海量的数据需要处理及存储,这对存储系统的性能和可靠性提出了巨大的挑战。海量数据的存储目前普遍使用分布式存储解决方案,比较著名的分布式存储系统有谷歌的GFS(Google File System)、GFS的开源版本HDFS(Hadoop Distributed FileSystem)、微软的WAS(Windows Azure Storage)以及Ceph等。但统计数据显示,分布式存储系统中绝大部分数据属于冷数据,很少被访问,访问主要集中于少量的热数据。因此,区分分布式存储系统中的热数据和冷数据并分别对其进行管理是提高分布式系统性能的重要手段。
区分数据的冷热需关注两种属性:一是数据访问的时刻与当前的间隔,二是数据在单位时间内的访问频率。现有的分析确定分布式存储系统中数据冷热属性的方法主要是记录数据的访问时间,然后再根据当前时间与预设的时间间隔来计算上述两个参数。然而随着数据规模的增加,内存中将无法记录海量的数据访问信息。这种方法在处理海量数据访问时,会占用大量的计算资源,并带来大量的存储开销,当超过内存大小时会导致过多的磁盘IO,严重影响系统性能。
发明内容
本发明的目的在于提供一种分布式存储系统中海量数据的冷热判断方法,以解决上述问题。
为实现上述目的,本发明采用以下技术方案:
一种分布式存储系统中海量数据的冷热判断方法,包括以下步骤:
步骤1,构建一个分布式存储系统,并确定该分布式系统的数据访问方式;
步骤2,在内存中建立一个散列表,用以记录该分布式系统的数据访问情况,一共采用V个散列表,其中负责记录当前数据访问信息的散列表CHT共有M位,每一位大小都为bits,故其占用的空间大小为M×V bits;
步骤3,选取K个均匀的哈希函数为Data ID进行散列;
步骤4,将步骤3中的哈希结果映射到散列表的对应位置上,用于统计映射到这一位的数据被访问的总次数。
步骤5,经过访问周期T后,执行散列表切换;
步骤6,进行数据冷热判断。
进一步的,步骤1中,根据文件存储系统中的路径名+文件名,或块存储系统中的数据块+偏移量,或对象存储系统中的存储池+对象名来确定文件访问的Data ID;根据DataID,唯一确定某一数据;在分布式存储系统运行时,若有数据访问发生,则根据Data ID记录本次数据访问。
进一步的,步骤2中,当前版本散列表CHT的大小为V,其他版本的散列表每一位的大小依次递减;即多版本散列表中每一位的大小依次为V,V-1,V-2…1;总体需要大小的内存空间。
进一步的,步骤4中,步骤3产生的K个结果在散列表中对应的K位均增加1;若有某一位的Vbits已经全部置为1,则这一位保持不变。
进一步的,步骤5中,采用轮询方式选定下一个散列表,新的CHT需要将其每一位的大小置为Vbits,并将其内容全部置为0;其他散列表则需要进行降级,将其首位全部置为0,以降低其权重。
进一步的,步骤6中,首先根据数据的Data ID进行K次哈希计算,再根据计算的结果访问散列表对应的K个位置,将这K个位置的访问记录转换为整形,并选出其中的最小值作为数据在该时间段内的访问频度;使用该方法依次得出数据在其他版本的散列表中的访问频度,然后加和,计算出数据的热度H;最后将H与设定的阈值S比较,如果大于S,则认为该数据是热数据,否则视为冷数据。
与现有技术相比,本发明有以下技术效果:
本发明采用多哈希的思想,通过数据映射来统计访问情况,不需要为每个数据ID保存一份记录,减少了存储空间占用以及数据ID查找的时间,可以在有限内存空间的情况下,较为高效地判断海量数据的冷热状况。
本发明采用多版本的哈希表,设计了哈希表的降级规则,并根据访问的时间点来确定访问次数的权重,充分考虑了数据访问频率和访问时间局部性的影响,能够较为准确地判断海量数据的冷热状况。
附图说明
图1为本发明的方法结构示意图;
图2为哈希表切换示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步地详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明的基本构想,并不用于限定本发明。本领域技术人员可由本说明书所表述的内容了解本发明的其它优点与功效。本发明还可以有其它不同的具体实施方式加以实施或应用,本说明书的各项细节也可以有基于不同观点与应用,在没有违背本发明精神下可以进行各种修饰或改变。
本发明具体实施方式提供了一种分布式存储系统中海量数据的冷热判断方法,通过选取合适数量的哈希函数,并在每次数据访问时将访问的索引通过这些哈希函数计算出对应的哈希结果,然后增加这些哈希结果在当前版本哈希表中对应位置的值;经过多次访问后,通过切换当前版本的哈希表以及移除所有版本哈希表的首位来进行衰减,以降低老旧信息的影响;最后通过统计所有版本哈希表中的数据访问信息来确定数据的冷热,从而提高数据冷热判断的准确率,进而提高了系统性能。下面将参考附图分步骤详细描述本发明。
步骤1:构建一个分布式存储系统,并确定该分布式系统的数据访问方式。目前主流的分布式存储系统主要包括文件存储,块存储和对象存储。根据文件存储系统中的路径名+文件名,或块存储系统中的数据块+偏移量,或对象存储系统中的存储池+对象名来确定文件访问的Data ID。根据Data ID,可以唯一确定某一数据。在分布式存储系统运行时,若有数据访问发生,则根据Data ID记录本次数据访问。
步骤2:在内存中建立一个散列表,用以记录该分布式系统的数据访问情况,如附图1所示。一共采用V个散列表,其中负责记录当前数据访问信息的散列表称为CurrentHash Table(CHT),它共有共有M位,每一位大小都为Vbits,故其占用的空间大小为M×Vbits。其他版本的散列表每一位的大小依次递减。散列表位的大小代表着其权重,由于CHT中的信息均为最新的信息,理应占据最高的比重;其他散列表版本越靠前,其储存的信息就越老旧,其每一位的大小就应该越小。故多版本散列表中每一位的大小依次为V,V-1,V-2…1。总体来看,本方法需要在内存中开辟bits大小的空间。
步骤3:选取K个合适的哈希函数为Data ID进行散列,如附图1所示。若将每个数据的访问路径都记录在内存中,将会产生大量的内存开销,故采用了散列的思想,将Data ID映射到哈希表对应的位置上。由于本方法对哈希碰撞带来的错误比较敏感,故选择了数据映射比较均匀的哈希算法,并同时采用了K个哈希函数进行映射,以减少Data ID在映射的过程中产生哈希碰撞的概率。
步骤4:将步骤3中的哈希结果映射到散列表的对应位置上,如附图1所示。散列表共有M位,故需处理第二步中哈希函数的结果,使其均匀的分布在0到M-1之间。这里与布隆过滤器比较相似,不同之处在于,布隆过滤器的每一位大小都是1bit,而我们采用的散列表的每一位大小都为Vbits,用于统计映射到这一位的数据被访问的总次数。由于采用了K个哈希函数,故产生了K个哈希结果,这K个结果在散列表中对应的K位均增加1,以记录该次访问。若有某一位的Vbits已经全部置为1,表明其被访问的频率很高,超过了可记录上限,一定会被判断为热数据,故这一位保持不变;
步骤5:经过访问周期T后,执行散列表切换,其过程如附图2所示。步骤3、4重复进行T次以后,CHT已经基本写满,产生了较严重的哈希碰撞。这时需要切换当前的散列表。由于CHT中储存的是0~T内的访问信息,CHT之后的散列表依次存储了(V-1)T~VT,(V-2)T~(V-1)T…2T~T内的数据访问信息,故需将CHT切换为储存信息最老旧的散列表,即采用轮询方式选定下一个散列表。新的CHT需要将其每一位的大小置为Vbits,并将其内容全部置为0。其他散列表则需要进行降级,将其首位全部置为0,以降低其权重。
步骤6:进行数据冷热判断。首先根据数据的Data ID进行K次哈希计算,再根据计算的结果访问散列表对应的K个位置,将这K个位置的访问记录转换为整形,并选出其中的最小值作为数据在该时间段内的访问频度。使用该方法依次得出数据在其他版本的散列表中的访问频度,然后加和,计算出数据的热度H。最后将H与设定的阈值S比较,如果大于S,则认为该数据是热数据,否则视为冷数据。
Claims (6)
1.一种分布式存储系统中海量数据的冷热判断方法,其特征在于,包括以下步骤:
步骤1,构建一个分布式存储系统,并确定该分布式系统的数据访问方式;
步骤2,在内存中申请一段连续空间作为散列表,用以记录该分布式系统的数据访问情况,一共采用V个散列表,其中负责记录当前数据访问信息的散列表CHT共有M位,每一位大小都为Vbits,占用的空间大小为M×V bits;
步骤3,选取K个均匀的哈希函数为Data ID进行散列;
步骤4,将步骤3中的哈希结果映射到当前版本散列表的对应位置上,用于统计映射到这一位的数据被访问的总次数;
步骤5,经过访问周期T后,执行散列表切换;
步骤6,进行数据冷热判断。
2.根据权利要求1所述的一种分布式存储系统中海量数据的冷热判断方法,其特征在于,步骤1中,根据文件存储系统中的路径名+文件名,或块存储系统中的数据块+偏移量,或对象存储系统中的存储池+对象名来确定文件访问的Data ID;根据Data ID,唯一确定某一数据;在分布式存储系统运行时,若有数据访问发生,则根据Data ID记录本次数据访问。
3.根据权利要求1所述的一种分布式存储系统中海量数据的冷热判断方法,其特征在于,步骤2中,当前版本散列表CHT的大小为V,其他版本的散列表每一位的大小依次递减;即多版本散列表中每一个散列表的大小依次为V,V-1,V-2…1,总体需要大小的内存空间。
4.根据权利要求1所述的一种分布式存储系统中海量数据的冷热判断方法,其特征在于,步骤4中,步骤3产生的K个结果在散列表中对应的K位均增加1;若有某一位的Vbits已经全部置为1,则这一位保持不变。
5.根据权利要求1所述的一种分布式存储系统中海量数据的冷热判断方法,其特征在于,步骤5中,采用轮询方式选定下一个散列表,新的CHT需要将其每一位的大小置为Vbits,并将其内容全部置为0;其他散列表则需要进行降级,将其首位全部置为0,以降低其权重。
6.根据权利要求1所述的一种分布式存储系统中海量数据的冷热判断方法,其特征在于,步骤6中,首先根据数据的Data ID进行K次哈希计算,再根据计算的结果访问散列表对应的K个位置,将这K个位置的访问记录转换为整形,并选出其中的最小值作为数据在该时间段内的访问频度;使用该方法依次得出数据在其他版本的散列表中的访问频度,然后加和,计算出数据的热度H;最后将H与设定的阈值S比较,如果大于S,则认为该数据是热数据,否则视为冷数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811594303.5A CN109783443A (zh) | 2018-12-25 | 2018-12-25 | 一种分布式存储系统中海量数据的冷热判断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811594303.5A CN109783443A (zh) | 2018-12-25 | 2018-12-25 | 一种分布式存储系统中海量数据的冷热判断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109783443A true CN109783443A (zh) | 2019-05-21 |
Family
ID=66498159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811594303.5A Pending CN109783443A (zh) | 2018-12-25 | 2018-12-25 | 一种分布式存储系统中海量数据的冷热判断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783443A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI688958B (zh) * | 2019-08-23 | 2020-03-21 | 群聯電子股份有限公司 | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 |
CN112052190A (zh) * | 2020-09-03 | 2020-12-08 | 杭州电子科技大学 | 一种基于布隆过滤器和二级lru表的固态硬盘热数据识别方法 |
CN112445416A (zh) * | 2019-09-02 | 2021-03-05 | 群联电子股份有限公司 | 冷区域判断方法、存储器控制电路单元与存储器存储装置 |
CN113360553A (zh) * | 2020-03-03 | 2021-09-07 | 中国移动通信集团贵州有限公司 | 一种数据冷热程度评估方法及服务器 |
CN114461143A (zh) * | 2022-01-11 | 2022-05-10 | 上海英方软件股份有限公司 | 一种海量数据的冷热数据区分方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140250155A1 (en) * | 2011-11-17 | 2014-09-04 | Huawei Technologies Co., Ltd. | Metadata storage and management method for cluster file system |
CN104424256A (zh) * | 2013-08-28 | 2015-03-18 | 华为技术有限公司 | 布隆过滤器生成方法和装置 |
CN104951403A (zh) * | 2015-07-06 | 2015-09-30 | 中国科学技术大学 | 一种低开销且无差错的冷热数据识别方法 |
CN105094700A (zh) * | 2015-07-15 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 云存储系统中分层存储的数据热度计算方法和装置 |
CN106354433A (zh) * | 2016-08-30 | 2017-01-25 | 北京航空航天大学 | 分布式内存存储系统的热点数据挖掘方法及装置 |
-
2018
- 2018-12-25 CN CN201811594303.5A patent/CN109783443A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140250155A1 (en) * | 2011-11-17 | 2014-09-04 | Huawei Technologies Co., Ltd. | Metadata storage and management method for cluster file system |
CN104424256A (zh) * | 2013-08-28 | 2015-03-18 | 华为技术有限公司 | 布隆过滤器生成方法和装置 |
CN104951403A (zh) * | 2015-07-06 | 2015-09-30 | 中国科学技术大学 | 一种低开销且无差错的冷热数据识别方法 |
CN105094700A (zh) * | 2015-07-15 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 云存储系统中分层存储的数据热度计算方法和装置 |
CN106354433A (zh) * | 2016-08-30 | 2017-01-25 | 北京航空航天大学 | 分布式内存存储系统的热点数据挖掘方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI688958B (zh) * | 2019-08-23 | 2020-03-21 | 群聯電子股份有限公司 | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 |
CN112445416A (zh) * | 2019-09-02 | 2021-03-05 | 群联电子股份有限公司 | 冷区域判断方法、存储器控制电路单元与存储器存储装置 |
CN112445416B (zh) * | 2019-09-02 | 2022-11-22 | 群联电子股份有限公司 | 冷区域判断方法、存储器控制电路单元与存储器存储装置 |
CN113360553A (zh) * | 2020-03-03 | 2021-09-07 | 中国移动通信集团贵州有限公司 | 一种数据冷热程度评估方法及服务器 |
CN112052190A (zh) * | 2020-09-03 | 2020-12-08 | 杭州电子科技大学 | 一种基于布隆过滤器和二级lru表的固态硬盘热数据识别方法 |
CN114461143A (zh) * | 2022-01-11 | 2022-05-10 | 上海英方软件股份有限公司 | 一种海量数据的冷热数据区分方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783443A (zh) | 一种分布式存储系统中海量数据的冷热判断方法 | |
CN111064808B (zh) | 一种基于分布式存储系统的负载均衡方法及装置 | |
CN107122126B (zh) | 数据的迁移方法、装置和系统 | |
US20190370239A1 (en) | Large range lookups for b^e-tree | |
TWI696922B (zh) | 目標位置搜尋方法和裝置 | |
WO2015188006A1 (en) | Method and apparatus of matching text information and pushing a business object | |
US20150127905A1 (en) | Cache Modeling Using Random Sampling and a Timestamp Histogram | |
CN110704336B (zh) | 一种数据缓存方法及装置 | |
US20190079976A1 (en) | Optimized access for hierarchical low cardinality value synopsis in analytical databases | |
US10915533B2 (en) | Extreme value computation | |
US20170270183A1 (en) | Sensor data management apparatus, sensor data management method, and computer program product | |
CN108255886B (zh) | 推荐系统的评估方法及装置 | |
CN112286459A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN106294815B (zh) | 一种url的聚类方法及装置 | |
WO2014067298A1 (zh) | 实时检索信息获取方法、装置及服务器 | |
CN113010526A (zh) | 基于对象存储服务的存储方法及装置 | |
CN107229575A (zh) | 缓存性能的评估方法及装置 | |
JPWO2019168599A5 (zh) | ||
CN110858912A (zh) | 流媒体缓存方法和系统、缓存策略服务器、流服务节点 | |
CN106649143B (zh) | 一种访问缓存的方法、装置及电子设备 | |
WO2022111095A1 (zh) | 一种产品推荐方法、装置、计算机存储介质及系统 | |
JP4208079B2 (ja) | データベースサーバ、プログラム、記録媒体、及び制御方法 | |
CN109491619A (zh) | 缓存数据处理方法、装置和系统 | |
CN108984572B (zh) | 网站信息推送方法及装置 | |
CN113901007A (zh) | 一种面向ai训练的海量小文件分布式缓存方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190521 |