本发明专利技术公开了一种数据存储方法及装置,其中该方法包括:将存储介质按照其读写性能划分为不同的存储介质层,并基于每层存储介质层的权重值及预设容量参数计算该存储介质层的数据块大小;获取待存储数据的热度,并确定与该存储数据的热度对应读写性能的存储介质层为目标存储层;将所述待存储数据按照所述目标介质层的数据块大小划分为存储数据块,并将该存储数据块存储至所述目标存储层中。可见,本申请中能够充分结合高性能存储介质及低性能存储介质的优点,在一定程度上保证低成本的同时实现了高读写性能。
【技术实现步骤摘要】
本专利技术涉及数据存储
,更具体地说,涉及一种数据存储方法及装置。
技术介绍
在数据存储领域,随着SSD(固态硬盘)等高读写性能介质的技术更新,对存储性能要求较高的存储业务逐渐从低读写性能、大容量的传统存储介质转移到SSD等存储介质上。目前来看,SSD的单位存储价格要远大于机械硬盘等传统存储介质的单位存储价格,因此,对于海量数据存储业务,为了实现其存储的低成本及大容量通常需要基于传统存储介质实现,但是传统存储介质的读写性能较差,无法满足对于海量数据的频繁访问要求。综上所述,现有技术中提供的数据存储方案存在无法同时实现存储介质的低成本及高读写性能的问题。
技术实现思路
本专利技术的目的是提供一种数据存储方法及装置,以解决现有技术中提供的数据存储方案存在无法同时实现存储介质的低成本及高读写性能的问题。为了实现上述目的,本专利技术提供如下技术方案:一种数据存储方法,包括:将存储介质按照其读写性能划分为不同的存储介质层,并基于每层存储介质层的权重值及预设容量参数计算该存储介质层的数据块大小;获取待存储数据的热度,并确定与该存储数据的热度对应读写性能的存储介质层为目标存储层;将所述待存储数据按照所述目标介质层的数据块大小划分为存储数据块,并将该存储数据块存储至所述目标存储层中。优选的,还包括:将各层存储介质层中的存储数据块进行哈希计算,得到与每个存储数据块对应的块签名;将数据块大小相同的所述存储数据块的块签名存储至同一哈希组中。优选的,还包括:对各层所述存储介质层中存储的存储数据块进行实时监控;当任一存储数据块的热度变化且与当前存储介质层的读写性能不对应时,则确定该存储数据块为待迁移数据,并确定与该待迁移数据的当前热度对应读写性能的存储介质为目标迁移层;判断所述待迁移数据的数据块大小与所述目标迁移层的数据块大小是否相同,如果是,则将所述待迁移数据迁移至所述目标迁移层,如果否,则将所述待迁移数据迁移至所述目标迁移层后重新计算该待迁移数据对应数据块的哈希值,得到对应的块签名,并将该块签名存储至对应哈希组中。优选的,还包括:当有新数据需要写入时,确定所述新数据对应的存储介质层为目标写入层,其中,所述新数据的写入包括数据迁移、数据修改及数据写入;将所述新数据按照所述目标写入层的数据块大小进行合并或者划分,得到与所述目标写入层对应的存储数据块并将其存储至所述目标写入层中。优选的,得到与所述目标写入层对应的存储数据块并将其存储至所述目标写入层中,包括:将得到的与所述目标写入层对应的存储数据块进行哈希计算,得到对应的写入数据块签名;在与所述写入数据块签名对应的哈希组中查找是否存在相同的块签名,如果存在,则将该块签名对应的使用计数加1,如果不存在,则将所述写入数据块签名对应存储数据块存储至所述目标写入层中,并将所述写入数据块签名加入对应哈希组中。优选的,将所述写入数据块签名加入对应哈希组中之后,还包括:如果所述新数据的写入为数据修改,则将与所述新数据对应的原存储数据块的使用计数减1。优选的,还包括:如果各层存储介质中存在使用计数为0的存储数据块,则将该存储数据块放入LRU链表中。优选的,还包括:获取所述存储介质层中各存储数据块对应的元数据;基于所述元数据计算被修改的存储数据块及新写入的存储数据块的计数和,并确定该计数和与存储数据块总数的比值为元数据脏信息;当所述元数据脏信息大于对应阈值时,将所述存储介质中各存储数据的元数据更新至对应的存储磁盘。一种数据存储装置,包括:划分模块,用于将存储介质按照其读写性能划分为不同的存储介质层,并基于每层存储介质层的权重值及预设容量参数计算该存储介质层的数据块大小;确定模块,用于获取待存储数据的热度,并确定与该存储数据的热度对应读写性能的存储介质层为目标存储层;存储模块,用于将所述待存储数据按照所述目标介质层的数据块大小划分为存储数据块,并将该存储数据块存储至所述目标存储层中。优选的,还包括:管理模块,用于:将各层存储介质层中的存储数据块进行哈希计算,得到与每个存储数据块对应的块签名;将数据块大小相同的所述存储数据块的块签名存储至同一哈希组中。本专利技术提供了一种数据存储方法及装置,其中该方法包括:将存储介质按照其读写性能划分为不同的存储介质层,并基于每层存储介质层的权重值及预设容量参数计算该存储介质层的数据块大小;获取待存储数据的热度,并确定与该存储数据的热度对应读写性能的存储介质层为目标存储层;将所述待存储数据按照所述目标介质层的数据块大小划分为存储数据块,并将该存储数据块存储至所述目标存储层中。通过本申请公开的上述技术特征,利用高读写性能的存储介质层存储对应高热度的待存储数据,由此,保证了对于高热度数据的读写速率;并且,在不同的存储介质层中将存储的数据划分为对应的存储数据块,由此高性能存储介质层具有较小的存储数据块,充分增加了高性能存储介质的空间利用率,对于低读写性能的存储介质划分较大的存储数据块,以减小频繁数据访问带来的性能损耗。可见,本申请中能够充分结合高性能存储介质及低性能存储介质的优点,在一定程度上保证低成本的同时实现了高读写性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种数据存储方法的流程图;图2为本专利技术实施例提供的一种数据存储装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,其示出了本专利技术实施例提供的一种数据存储方法的流程图,可以包括以下步骤:S11:将存储介质按照其读写性能划分为不同的存储介质层,并基于每层存储介质层的权重值及预设容量参数计算该存储介质层的数据块大小。其中,按照存储介质的读写性能将其划分为不同的存储介质层,具体可以为将存储介质按照其读写性能的高低分为不同的存储介质层,如可以将存储介质分为三层,包括SSD层、10K转/分钟的SAS机械硬盘层和7.2K转/分钟的SATA机械硬盘层。而计算每层存储介质层的数据块大小时所利用的权重值和预设容量参数可以由工作人员根据实际需要进行确定,对数据块大小的确定是基于存储介质层的读写性能及容量来实现的,一般来说,存储介质层的读写性能越高,划分的数据块大小越小。仍然以上述例子进行说明,当存储介质层第一层至第三层分别为SSD层、10K转/分钟的SAS机械硬盘层和7.2K转/分钟的SATA机械硬盘层时,则计算对应数据块大小的公式可以为:数据块大小=4k*权重值*容量调整参数其中存储介质层对应的权重值可以选择三组取值,分别是:低权重:1(第一层)、2(第二层)、4(第三层)中权重:2(第一层)、16(第二层)、64(第三层)高权重:4(第一层)、32(第二层)、128(第三层)其中,权重的级别可以根据用户业务的io块大小的统计信息决定或本文档来自技高网...
【技术保护点】
一种数据存储方法,其特征在于,包括:将存储介质按照其读写性能划分为不同的存储介质层,并基于每层存储介质层的权重值及预设容量参数计算该存储介质层的数据块大小;获取待存储数据的热度,并确定与该存储数据的热度对应读写性能的存储介质层为目标存储层;将所述待存储数据按照所述目标介质层的数据块大小划分为存储数据块,并将该存储数据块存储至所述目标存储层中。
【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:将存储介质按照其读写性能划分为不同的存储介质层,并基于每层存储介质层的权重值及预设容量参数计算该存储介质层的数据块大小;获取待存储数据的热度,并确定与该存储数据的热度对应读写性能的存储介质层为目标存储层;将所述待存储数据按照所述目标介质层的数据块大小划分为存储数据块,并将该存储数据块存储至所述目标存储层中。2.根据权利要求1所述的方法,其特征在于,还包括:将各层存储介质层中的存储数据块进行哈希计算,得到与每个存储数据块对应的块签名;将数据块大小相同的所述存储数据块的块签名存储至同一哈希组中。3.根据权利要求2所述的方法,其特征在于,还包括:对各层所述存储介质层中存储的存储数据块进行实时监控;当任一存储数据块的热度变化且与当前存储介质层的读写性能不对应时,则确定该存储数据块为待迁移数据,并确定与该待迁移数据的当前热度对应读写性能的存储介质为目标迁移层;判断所述待迁移数据的数据块大小与所述目标迁移层的数据块大小是否相同,如果是,则将所述待迁移数据迁移至所述目标迁移层,如果否,则将所述待迁移数据迁移至所述目标迁移层后重新计算该待迁移数据对应数据块的哈希值,得到对应的块签名,并将该块签名存储至对应哈希组中。4.根据权利要求3所述的方法,其特征在于,还包括:当有新数据需要写入时,确定所述新数据对应的存储介质层为目标写入层,其中,所述新数据的写入包括数据迁移、数据修改及数据写入;将所述新数据按照所述目标写入层的数据块大小进行合并或者划分,得到与所述目标写入层对应的存储数据块并将其存储至所述目标写入层中。5.根据权利要求4所述的方法,其特征在于,得到与所述目标写入层对应的存储数据块并将其存储至所述目标写入层中,包括:将得到的与所述目标...
【专利技术属性】
技术研发人员:苑忠科,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南;41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。