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

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

本发明实施例涉及存储技术领域,特别是涉及一种数据存储方法及装置。



背景技术:

随着大数据、云技术的迅猛发展,存储技术得到了相应的发展,为了满足大数据下用户对数据读取速度的需求,存储系统的自动分层技术应用而生。

自动分层技术分为数据分析和数据迁移两部分,根据数据使用的频率高低,动态的将这些数据划分为多层次的热数据和冷数据,并分布存储于不同访问速率的存储设备中。自动分层功能是将不同热度的数据块自动地、智能地分布在不同的存储层。以指定时间为一个周期,对写入数据的i/o活动性和延迟程度进行监控,并得出一份性能日志。基于这份性能日志,分层算法会生产一个迁移计划,将活跃度高的热点数据迁移到高性能的存储层,反过来,将活跃度较低的冷数据迁移到低性能的存储层,从而提供高性能、大容量和低成本存储系统解决方案。

存储层按照不同性能的硬盘类型区分,现有的自动分层技术一般分为3层或4层,当主机i/o写入存储端时,默认写入第2层进行存储。然而,针对一些数据在写入后的一个周期或几个周期内读取活跃性低或读取活跃性相当高时,就必须要等待一个周期后,才能通过分层技术将数据迁移到对应性能的存储层,执行数据迁移工作也必然会影像系统的工作负载。

可见,如果将数据直接按照默认的操作写在第二次存储,在周期到来时,不可避免的会进行热点数据向上迁移、冷点数据向下迁移,给整个存储系统造成工作负载,此外,在迁移之前,用户在读取这些存储数据时,会由于访问速率较低难以满足用户需求,用户使用体验不佳。



技术实现要素:

本发明实施例的目的是提供一种数据存储方法及装置,以降低存储系统的工作负载,提升用户的使用体验。

为解决上述技术问题,本发明实施例提供以下技术方案:

本发明实施例一方面提供了一种数据存储方法,包括:

获取待写入存储端的数据,及用户输入的所述数据的源热点度;

根据所述源热点度,将所述数据发送至存储端相应的存储层。

可选的,所述获取待写入存储端的数据,及用户输入的所述数据的源热点度包括:

当接收到用户写入数据时,向所述用户展示卷存储属性界面;

接收所述用户输入的卷存储属性,所述卷存储属性为存储数据的当前卷在所述存储端的存储位置,以用于表示所述数据对应的源热点度。

可选的,在所述将所述数据发送至存储端相应的存储层之后,还包括:

向所述用户发送存储所述数据的存储层信息,并发送是否更改存储所述数据的卷的存储属性,所述存储属性为存储数据的当前卷在所述存储端的存储位置;

当接收到用户输入的更改存储属性的指令后,根据所述指令将所述数据发送至更改后的存储层,以用于存储所述数据。

本发明实施例另一方面提供了一种数据存储装置,包括:

数据获取模块,用于获取待写入存储端的数据,及用户输入的所述数据的源热点度;

存储数据模块,用于根据所述源热点度,将所述数据发送至存储端相应的存储层。

可选的,所述数据获取模块包括:

展示单元,用于当接收到用户写入数据时,向所述用户展示卷存储属性界面;

接收单元,用于接收所述用户输入的卷存储属性,所述卷存储属性为存储数据的当前卷在所述存储端的存储位置,以用于表示所述数据对应的源热点度。

可选的,还包括存储更改模块,所述存储更改模块包括:

发送更改指令单元,用于向所述用户发送存储所述数据的存储层信息,并发送是否更改存储所述数据的卷的存储属性,所述存储属性为存储数据的当前卷在所述存储端的存储位置;

更改单元,用于当接收到用户输入的更改存储属性的指令后,根据所述指令将所述数据发送至更改后的存储层,以用于存储所述数据。

本发明实施例提供了一种数据存储方法,获取待写入存储端的数据,及用户输入的数据的源热点度;根据源热点度,将数据发送至存储端相应的存储层,以实现数据的存储。

本申请提供的技术方案的优点在于,在数据进行存储前,根据用户输入的当前存储数据的已知热点度,将数据存储在与热点度相对应的存储层内,主机端将已知热点度的数据直接写入对应的存储层,在数据写入存储后,虽然在指定周期内还是会被进行性能分析,但是避免了第一次不必要的数据迁移工作,节省了已知的、不必要的数据迁移工作,从而降低迁移工作对系统造成的工作负载,有利于提高整个系统的稳定性与可靠性;此外,预先根据用户的输入的数据热点度对数据存储,按照用户的需求分配已知热点度的数据,提升了用户的使用体验。

此外,本发明实施例还针对数据存储方法提供了相应的实现装置,进一步使得所述方法更具有实用性,所述装置具有相应的优点。

附图说明

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

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

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

图3为本发明实施例提供的数据存储装置的一种具体实施方式结构图;

图4为本发明实施例提供的数据存储装置的另一种具体实施方式结构图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。

首先参见图1,图1为本发明实施例提供的一种数据存储方法的流程示意图,本发明实施例可包括以下内容:

s101:获取待写入存储端的数据,及用户输入的数据的源热点度。

源热点度为待写入数据的用户认为的活跃度,热点度的高低决定数据存储在存储端的位置,即热点度越高,存储层越高,热点度越低,存储层越低。

由于写入的数据在刚写入时的访问频率,与一段时间之后的访问频率可能不同,故存储时的热点度为源热点度。

用户通过主机端将数据写入存储端时,一般默认的会将数据写入存储端的第二层,然后在指定的周期内,对写入存储端的数据的i/o活动性和延迟程度进行监控,并得出一份性能日志,根据这份性能日志对各个数据进行迁移,将活跃度高的热点数据迁移到高性能的存储层,反过来,将活跃度较低的冷数据迁移到低性能的存储层。

而当用户知道待写入的数据的活跃度,即热点度,例如当前用户写入的数据为一份日志文档,用户对该文档需要随时进行写操作,那么该文档为热点度较高的数据,假设存储端分为三层,那么该文档可存储在第三层。如果按照默认的将该文档存储在第二层,那么在第一周期后,该文档必然会向上迁移至第三层,且文档在第二层与第三层的访问速率必然不同,第三层的读写速率比较高,导致用户在读取数据时,使用体验不佳。

鉴于上述情景,本申请可在数据存储在存储端前,直接将已知热点度的数据存储在相应的存储层,一种具体的实施方式可为:

当接收到用户写入数据时,向用户展示卷存储属性界面;

接收用户输入的卷存储属性,卷存储属性为存储数据的当前卷在存储端的存储位置,以用于表示数据对应的源热点度。

当然,用户在写入数据时,还可直接将源热点度同时写入,主机端在获取数据同时,解析得到热点度。

此外,还可以在存储端创建新卷时,给新卷选择适当的存储层,即指定卷位于某一存储层,然后提供给主机端使用。

需要说明的是,本申请适用于包含多种硬盘类型的存储环境,并且是否执行这一操作依赖于存储池是否开启自动分层功能或者具备自动分层的条件。

s102:根据源热点度,将数据发送至存储端相应的存储层。

在本发明实施例提供的技术方案中,在数据进行存储前,根据用户输入的当前存储数据的已知热点度,将数据存储在与热点度相对应的存储层内,主机端将已知热点度的数据直接写入对应的存储层,在数据写入存储后,虽然在指定周期内还是会被进行性能分析,但是避免了第一次不必要的数据迁移工作,节省了已知的、不必要的数据迁移工作,从而降低迁移工作对系统造成的工作负载,有利于提高整个系统的稳定性与可靠性;此外,预先根据用户的输入的数据热点度对数据存储,按照用户的需求分配已知热点度的数据,提升了用户的使用体验。

进一步,考虑到用户在输入源热点度数据后,可能会对数据的存储位置进行更改,鉴于此,基于上述实施例,请参阅图2,在根据源热点度,将数据发送至存储端相应的存储层之后,本申请还可包括:

s103:向用户发送存储数据的存储层信息,并发送是否更改存储数据的卷的存储属性,存储属性为存储数据的当前卷在存储端的存储位置;

s104:当接收到用户输入的更改存储属性的指令后,根据指令将数据发送至更改后的存储层,以用于存储数据。

可通过cli命令行或者gui界面,在创建卷时可以选择存储层,也可以在创建了卷以后,对卷的这一属性进行更改。

举例来说,当前用户写入的数据为一份小时日志文档,用户对该文档每小时需要随时进行写操作,那么该文档为热点度较高的数据,假设存储端分为四层,根据用户输入的热点度当前该文档发送至在第三层,由于该文档的读取频率较高,那么在第一周期后,该文档必然会向上迁移至第四层,且文档在第三层与第四层的访问速率必然不同,第三层的读写速率比较高,导致用户在读取数据时,使用体验不佳。故,用户在在经过考虑后,为了避免指定周期后的迁移工作,可将存储日志文档的卷的存储属性更改为第四层。

当然,在预设时间内,例如30s内,没有接受到用户输入的更改指令,那么就按照s102选择的存储层进行存储。

通过对当前存储数据的卷的属性进行更改,实现当前数据存储位置的变化,在进行存储之前,为用户提供更改位置的指令,可有效的避免错误输入操作的发生,有利于提升用户的使用体验。

本发明实施例还针对数据存储方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的数据存储装置进行介绍,下文描述的数据存储装置的装置与上文描述的数据存储装置方法可相互对应参照。

参见图3,图3为本发明实施例提供的数据存储装置在一种具体实施方式下的结构图,该装置可包括:

数据获取模块301,用于获取待写入存储端的数据,及用户输入的数据的源热点度。

存储数据模块302,用于根据源热点度,将数据发送至存储端相应的存储层。

可选的,在本实施例的一些实施方式中,请参阅图4,所述装置例如还可以包括存储更改模块303,所述存储更改模块303具体可包括:

发送更改指令单元,用于向用户发送存储数据的存储层信息,并发送是否更改存储数据的卷的存储属性,存储属性为存储数据的当前卷在存储端的存储位置;

更改单元,用于当接收到用户输入的更改存储属性的指令后,根据指令将数据发送至更改后的存储层,以用于存储数据。

可选的,在本实施例的另一些实施方式中,所述数据获取模块301具体还可包括:

展示单元,用于当接收到用户写入数据时,向用户展示卷存储属性界面;

接收单元,用于接收用户输入的卷存储属性,卷存储属性为存储数据的当前卷在存储端的存储位置,以用于表示数据对应的源热点度。

本发明实施例所述数据存储装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。

由上可知,本发明实施例在数据进行存储前,根据用户输入的当前存储数据的已知热点度,将数据存储在与热点度相对应的存储层内,主机端将已知热点度的数据直接写入对应的存储层,在数据写入存储后,虽然在指定周期内还是会被进行性能分析,但是避免了第一次不必要的数据迁移工作,节省了已知的、不必要的数据迁移工作,从而降低迁移工作对系统造成的工作负载,有利于提高整个系统的稳定性与可靠性;此外,预先根据用户的输入的数据热点度对数据存储,按照用户的需求分配已知热点度的数据,提升了用户的使用体验。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种数据存储方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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