一种数据存储方法及装置与流程

文档序号:12747726阅读:185来源:国知局
一种数据存储方法及装置与流程

本发明涉及存储系统技术领域,更具体地说,涉及一种数据存储方法及装置。



背景技术:

随着目前网络及数据量的爆发式增长,对于数据的存储方案越来越得到人们的重要。

现有技术中用于实现数据存储的介质很多,如软盘、光盘、DVD、硬盘等。但是当用户需要利用这些存储介质存储海量数据时,往往无法通过一个存储介质实现,此时则需要将数据存储至不同的存储介质中。对应的,在需要访问存储的数据时,需要由用户先判断需访问的数据在哪个存储介质中,进而在对对应存储介质进行访问,实现数据的读写操作。很明显,这种方式需要用户自主去判断数据的存储介质进而去访问该存储介质实现数据操作,并不易于操作。

综上所述,如何提供一种易于用户操作的数据存储方案,是目前本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种数据存储方法及装置,易于用户操作。

为了实现上述目的,本发明提供如下技术方案:

一种数据存储方法,包括:

预先利用虚拟化技术将多个异构的存储设备合成对应的虚拟存储池,所述虚拟存储池中的逻辑地址与对应存储设备中的物理地址存在对应关系;

接收外界输入的数据读写请求,并利用所述虚拟存储池的映射层由所述数据读写请求中提取出目标逻辑地址,将该目标逻辑地址转换为对应的目标物理地址;

利用所述虚拟存储池的重定向层将所述数据读写请求转换成与所述目标物理地址对应的目标读写请求;

利用所述虚拟存储池的存储介质虚拟层提取所述目标读写请求中的目标物理地址,并对所述存储设备中与所述目标物理地址对应的位置进行访问,实现与所述数据读写请求对应的数据读写操作。

优选的,还包括:

预先对存储的数据被实现数据读写操作的访问频率进行统计,并将该数据存储至与其访问频率对应的存储设备中。

优选的,将该数据存储至与其访问频率对应的存储设备中,包括:

预先将所述存储设备按照其存取速度由高至低划分为固态硬盘存取介质、企业级机械硬盘及普通机械硬盘;

将所述访问频率大于或等于第一阈值的数据存储至所述固态硬盘中,访问频率大于或等于第二阈值且小于第一阈值的数据存储至所述企业级机械硬盘中,访问频率大于或等于第三阈值且小于第二阈值的数据存储至所述普通机械硬盘中。

优选的,还包括:

定时统计所述存储设备中数据的访问频率,并将访问频率发生变化的数据迁移至与其当前访问频率对应的存储设备中。

优选的,还包括:

计算所述存储设备的总容量及当前存储的数据所占容量,并当当前存储的数据所占容量与所述总容量的比值大于容量阈值时,发出对应的告警信息。

一种数据存储装置,包括:

虚拟化模块,用于预先利用虚拟化技术将多个异构的存储设备合成对应的虚拟存储池,所述虚拟存储池中的逻辑地址与对应存储设备中的物理地址存在对应关系;

地址映射模块,用于接收外界输入的数据读写请求,并利用所述虚拟存储池的映射层由所述数据读写请求中提取出目标逻辑地址,将该目标逻辑地址转换为对应的目标物理地址;

请求转换模块,用于利用所述虚拟存储池的重定向层将所述数据读写请求转换成与所述目标物理地址对应的目标读写请求;

数据访问模块,用于利用所述虚拟存储池的存储介质虚拟层提取所述目标读写请求中的目标物理地址,并对所述存储设备中与所述目标物理地址对应的位置进行访问,实现与所述数据读写请求对应的数据读写操作。

优选的,还包括:

数据分配模块,用于预先对存储的数据被实现数据读写操作的访问频率进行统计,并将该数据存储至与其访问频率对应的存储设备中。

优选的,所述数据分配模块包括:

数据分配单元,用于:预先将所述存储设备按照其存取速度由高至低划分为固态硬盘存取介质、企业级机械硬盘及普通机械硬盘;将所述访问频率大于或等于第一阈值的数据存储至所述固态硬盘中,访问频率大于或等于第二阈值且小于第一阈值的数据存储至所述企业级机械硬盘中,访问频率大于或等于第三阈值且小于第二阈值的数据存储至所述普通机械硬盘中。

优选的,还包括:

定时监测模块,用于定时统计所述存储设备中数据的访问频率,并将访问频率发生变化的数据迁移至与其当前访问频率对应的存储设备中。

优选的,还包括:

容量告警模块,用于计算所述存储设备的总容量及当前存储的数据所占容量,并当当前存储的数据所占容量与所述总容量的比值大于容量阈值时,发出对应的告警信息。

本发明提供了一种数据存储方法及装置,其中该方法包括:预先利用虚拟化技术将多个异构的存储设备合成对应的虚拟存储池,所述虚拟存储池中的逻辑地址与对应存储设备中的物理地址存在对应关系;接收外界输入的数据读写请求,并利用所述虚拟存储池的映射层由所述数据读写请求中提取出目标逻辑地址,将该目标逻辑地址转换为对应的目标物理地址;利用所述虚拟存储池的重定向层将所述数据读写请求转换成与所述目标物理地址对应的目标读写请求;利用所述虚拟存储池的存储介质虚拟层提取所述目标读写请求中的目标物理地址,并对所述存储设备中与所述目标物理地址对应的位置进行访问,实现与所述数据读写请求对应的数据读写操作。本申请公开的上述技术特征中,将多个异构的存储设备虚拟化得到对应的虚拟存储池,以提供简单的易于操作的存储空间,使得用户可以通过虚拟存储池直接确定出需访问数据的逻辑地址,进而输入对应的数据读写请求后,由虚拟存储池自动实现对该数据读写请求的处理进而实现对应的数据读写操作,易于用户操作。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种数据存储方法的流程图;

图2为本发明实施例提供的一种数据存储方法中逻辑地址到物理地址的转换示意图;

图3为本发明实施例提供的一种数据存储装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种数据存储方法的流程图,可以包括以下步骤:

S11:预先利用虚拟化技术将多个异构的存储设备合成对应的虚拟存储池,虚拟存储池中的逻辑地址与对应存储设备中的物理地址存在对应关系。

虚拟化技术是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源;这些资源的新虚拟部份是不受现有资源的架设方式、地域或物理组态所限制的。本申请中利用虚拟化技术对多个异构的存储设备进行处理,可以得到与这多个存储设备对应的虚拟存储池。存储虚拟池为存储设备(存储设备)的存储空间提供了一个逻辑抽象或映射,并可通过自身的组合,向外界提供按块划分的连续空间。简单来说,虚拟存储池是一种线性的逻辑寻址空间,其可以将多个小的存储设备合并成一个大的虚拟存储池,为上层系统提供足够大的线性逻辑寻址空间,从而使用户面对一个一致性较好的存储空间;同时,基于系统可扩展性的考虑,可以将不同的物理设备和存储系统通过各种变换映射到虚拟抽象层,并对其进行访问;也即虚拟存储池中的逻辑地址与对应存储设备中的物理地址存在对应关系,由此,如果需要访问存储设备中一物理地址对应的数据,可以利用虚拟存储池的逻辑地址来实现。

S12:接收外界输入的数据读写请求,并利用虚拟存储池的映射层由数据读写请求中提取出目标逻辑地址,将该目标逻辑地址转换为对应的目标物理地址。

虚拟存储池主要包括三层,分别为映射层、重定向层及存储介质虚拟层,其中,映射层存储有虚拟存储池中逻辑地址与存储设备中的物理地址之间的映射关系,具体来说,映射层是链接底层存储设备与上层逻辑存储的纽带,保存有从逻辑存储到物理存储的映射关系,逻辑存储盘与物理存储盘的映射关系可以表示为为m:n,也就是一块逻辑存储盘可以分布于多块不同的物理存储盘,一块物理存储盘也可以为多块不同的逻辑存储盘提供存储。映射层对应每一块逻辑存储盘可以保存有一份extents映射表,该映射表负责以extent为单位实现逻辑地址到物理地址的转换,如图2所示,该表项包括:

a)逻辑地址extent ID

b)逻辑地址extent LBA

c)物理地址extent ID

d)物理地址extent LBA。

S13:利用虚拟存储池的重定向层将数据读写请求转换成与目标物理地址对应的目标读写请求。

由于虚拟存储池是一种存储空间的逻辑视图,这种仅在逻辑上存在的设备只是一种中间的过渡层,因此,必须要由重定向层把对虚拟存储池的请求重定向为对实际存储设备的请求,即将数据读写请求转换为与目标物理地址对应的目标读写请求,从而实现对存储设备的访问。

S14:利用虚拟存储池的存储介质虚拟层提取目标读写请求中的目标物理地址,并对存储设备中与目标物理地址对应的位置进行访问,实现与数据读写请求对应的数据读写操作。

存储介质虚拟层主要用于实现整个控制程序的框架,它模仿标准的块设备驱动程序,负责向系统注册该虚拟存储池,并提供与物理硬盘驱动程序相同的系统接口,其可以直接利用目标物理地址对存储设备进行访问,从而实现对应的数据读写操作。另外需要说明的是,虚拟存储池包含的上述每层之间具有明确的接口,以实现对应的通信,从而最大限度的实现了各个层的独立性,对其中一层的修改并不影响其他层,不仅有利于上述各层对应程序的模块化,也便于对应代码的复用及实现可扩展性,包括底层存储设备的扩展。且上述各层实现对应的功能可以是自动实现的,即接收到数据读写请求后,虚拟存储池可以自动实现对于数据读写请求的处理,实现对应的数据读写操作,从而无需用户介入,易于操作。

本申请公开的上述技术特征中,将多个异构的存储设备虚拟化得到对应的虚拟存储池,以提供简单的易于操作的存储空间,使得用户可以通过虚拟存储池直接确定出需访问数据的逻辑地址,进而输入对应的数据读写请求后,由虚拟存储池自动实现对该数据读写请求的处理进而实现对应的数据读写操作,易于用户操作。

另外,本申请公开的上述技术方案支持的物理存储包括附网存储(Network-attached Storage,NAS)、存储局域网(Storage Area Network,SAN)和基于IP的存储等,具有通用性。

本发明实施例提供的一种数据存储方法,还可以包括:

预先对存储的数据被实现数据读写操作的访问频率进行统计,并将该数据存储至与其访问频率对应的存储设备中。

对于不同存取速度的存储设备,采用分层控制,以达到存取速度最优化。具体来说,可以将访问频率高的数据存储到存取速度高的存储设备中,对应的,将访问频率低的数据存储到存取速度低的存储设备中,从而优化了数据的存取速率,提高了数据的存取效率。

具体来说,将该数据存储至与其访问频率对应的存储设备中,可以包括:

预先将存储设备按照其存取速度由高至低划分为固态硬盘存取介质、企业级机械硬盘及普通机械硬盘;

将访问频率大于或等于第一阈值的数据存储至固态硬盘中,访问频率大于或等于第二阈值且小于第一阈值的数据存储至企业级机械硬盘中,访问频率大于或等于第三阈值且小于第二阈值的数据存储至普通机械硬盘中。

本发明实施例中涉及的存储设备可以包括本地ISCSI接口存储介质、网络存储介质等。具体的物理存储介质按照其存取速度可以分为传统机械硬盘(Nearline)、企业级机械硬盘(Enterprise)及SSD固态硬盘(FLASH/SSD),其中,存储设备中的基本存储单位可以为extent,大小可以均为64KB。上述阈值可以根据实际需要进行确定,访问频率大于或等于第一阈值的数据为最热点数据,将最热点数据分配至固态硬盘中,访问频率大于或等于第二阈值且小于第一阈值的数据为次热点数据,次热点数据分配至企业级机械硬盘中,访问频率大于或等于第三阈值且小于第二阈值的数据为非热点数据,非热点数据分配至普通机械硬盘中;从而保证整体数据存取速度的最优化。

本发明实施例提供的一种数据存储方法,还可以包括:

定时统计存储设备中数据的访问频率,并将访问频率发生变化的数据迁移至与其当前访问频率对应的存储设备中。

定时统计中的定时可以由用户根据实际需要进行设置,通过对数据访问频率的定时统计,将当前访问频率已经不符合当前所处存储设备对访问频率要求的数据转移至与其当前访问频率对应的存储设备中,从而进一步保证了整体数据存取速度的最优化。另外,在数据发生迁移后,需要对数据在映射层的映射关系进行修改,即将逻辑地址对应迁移数据的物理地址更新为该数据最新的物理地址,保证本发明中数据存储方法的顺利实现。而对于数据的迁移及存储设备的选取相关步骤也可以由虚拟存储池的存储介质虚拟层实现。

另外,对于特殊领域的存储需求还可以设置逻辑存储到物理存储的一种特殊模式:映像模式。在该模式下,一块逻辑存储盘对应一块物理存储盘,要求物理存储盘的存储容量要大于逻辑存储盘的存储容量。

本发明实施例提供的一种数据存储方法,还可以包括:

计算存储设备的总容量及当前存储的数据所占容量,并当当前存储的数据所占容量与总容量的比值大于容量阈值时,发出对应的告警信息。

容量阈值可以根据实际需要进行确定,当数据所占容量所总容量比值大于容量阈值时,可以发出对应的告警信息,以使得用户能够及时获知存储硬盘的使用情况,避免数据过多造成存储硬盘的故障出现。

本发明实施例还提供了一种数据存储装置,如图3所示,包括:

虚拟化模块11,用于预先利用虚拟化技术将多个异构的存储设备合成对应的虚拟存储池,虚拟存储池中的逻辑地址与对应存储设备中的物理地址存在对应关系;

地址映射模块12,用于接收外界输入的数据读写请求,并利用虚拟存储池的映射层由数据读写请求中提取出目标逻辑地址,将该目标逻辑地址转换为对应的目标物理地址;

请求转换模块13,用于利用虚拟存储池的重定向层将数据读写请求转换成与目标物理地址对应的目标读写请求;

数据访问模块14,用于利用虚拟存储池的存储介质虚拟层提取目标读写请求中的目标物理地址,并对存储设备中与目标物理地址对应的位置进行访问,实现与数据读写请求对应的数据读写操作。

本发明实施例提供的一种数据存储装置,还可以包括:

数据分配模块,用于预先对存储的数据被实现数据读写操作的访问频率进行统计,并将该数据存储至与其访问频率对应的存储设备中。

本发明实施例提供的一种数据存储装置,数据分配模块可以包括:

数据分配单元,用于:预先将存储设备按照其存取速度由高至低划分为固态硬盘存取介质、企业级机械硬盘及普通机械硬盘;将访问频率大于或等于第一阈值的数据存储至固态硬盘中,访问频率大于或等于第二阈值且小于第一阈值的数据存储至企业级机械硬盘中,访问频率大于或等于第三阈值且小于第二阈值的数据存储至普通机械硬盘中。

本发明实施例提供的一种数据存储装置,还可以包括:

定时监测模块,用于定时统计存储设备中数据的访问频率,并将访问频率发生变化的数据迁移至与其当前访问频率对应的存储设备中。

本发明实施例提供的一种数据存储装置,还可以包括:

容量告警模块,用于计算存储设备的总容量及当前存储的数据所占容量,并当当前存储的数据所占容量与总容量的比值大于容量阈值时,发出对应的告警信息。

本发明实施例提供的一种数据存储装置中相关部分的说明请参见本发明实施例提供的一种数据存储方法中对应部分的详细说明,在此不再赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1