存储管理方法、装置、电子设备及存储介质与流程

1.本技术涉及存储技术领域,具体而言,涉及一种存储管理方法、装置、电子设备及存储介质。
背景技术:
2.随着大数据时代的到来,数据量不断增加,这带动对存储的大量需求,传统的单一存储介质已经不能满足存储需求。因此提出一种分层存储技术,其一般是将用户经常访问或者近期产生的数据定义为热数据,其他数据定义为冷数据,热数据存储在可以快速读取的存储介质中,冷数据存储在读取速度慢的存储介质中,这样可以降低存储数据的成本。
3.而目前的方式,一般是将数据先存储在热数据对应的存储介质中,等一段时间后,将其迁移到冷数据对应的存储介质中存储,这样就会导致原本是热数据而被迁移到冷数据对应的存储介质,使得对热数据的访问变为频繁读取冷数据对应的存储介质中的数据,从而降低存储系统的整体性能。
技术实现要素:
4.本技术实施例的目的在于提供一种存储管理方法、装置、电子设备及存储介质,用以改善现有的存储方式导致存储系统的整体性能较低的问题。
5.第一方面,本技术实施例提供了一种存储管理方法,所述方法包括:
6.获取已存储的虚拟机的运行数据的当前存储区域,其中,存储区域包括热数据层和冷数据层,所述运行数据在初始存储时优先存储在所述热数据层;
7.根据所述运行数据的数据属性识别所述运行数据的数据热度类型,所述数据热度类型包括热数据和冷数据;
8.将所述数据热度类型与所述当前存储区域匹配,获得匹配结果;
9.根据所述匹配结果对所述运行数据进行存储管理。
10.在上述实现过程中,通过根据虚拟机的运行数据的数据属性识别运行数据的数据热度类型,并将数据热度类型与运行数据的当前存储区域进行匹配,以确定热数据是否存储在热数据层、冷数据是否存储在冷数据层,如此可根据匹配结果对运行数据进行存储管理,比如对不匹配的数据进行迁移,从而可使得不同数据热度类型的数据能够存储在对应的存储区域中,这样可使得一些热数据大多数情况下均在热数据层,而不会长时间在冷数据层,进而可有效提高存储系统整体的性能。
11.可选地,所述数据属性包括数据所属的业务、数据访问频率、数据访问时间、数据来源中的至少一种;
12.根据所述运行数据的数据属性识别所述运行数据的数据热度类型,包括以下至少一种判断方式:
13.若所述运行数据所属的业务为目标业务,则确定所述运行数据的数据热度类型为热数据;
14.若所述运行数据的数据访问频率大于设定频率,则确定所述运行数据的数据热度类型为热数据;
15.若所述运行数据的数据访问时间为设定时间段,则确定所述运行数据的数据热度类型为热数据;
16.若所述运行数据的数据来源为设定来源,则确定所述运行数据的数据热度类型为热数据。
17.在上述实现过程中,通过基于上述的数据属性对运行数据的数据热度类型进行识别,可有效识别出热数据和冷数据,实现热数据的准确识别。
18.可选地,若所述数据属性包括数据访问频率,通过以下方式获取所述数据访问频率:
19.通过所述虚拟机运行的设定进程监听所述运行数据的数据访问频率。
20.在上述实现过程中,通过虚拟机中的设定进程来监听数据的数据访问频率,如此可不用采用额外的资源来监听,通过现有的进程即可实现,实现资源的合理利用。
21.可选地,若数据属性包括数据所属的业务、数据访问频率、数据访问时间以及数据来源中的至少两种,在所述热数据层中,根据每种属性所确定的热数据分配有相应的存储比例;
22.若根据目标数据属性确定所述运行数据的数据热度类型为热数据且所述匹配结果为所述数据热度类型与所述当前存储区域不匹配,则所述根据所述匹配结果对所述运行数据进行存储管理,包括:
23.根据所述目标数据属性确定的热数据在热数据层中的存储比例,将所述运行数据迁移到所述热数据层。这样可确保不同类型的热数据按照对应的存储比例均能存储到热数据层中。
24.可选地,所述获取已存储的虚拟机的运行数据的当前存储区域,包括:
25.获取所述运行数据在云硬盘的存储位置;
26.根据所述云硬盘的存储位置确定所述运行数据在存储系统中的当前存储区域。
27.可选地,所述获取所述运行数据在云硬盘的存储位置,包括:
28.通过文件系统获取数据与云硬盘存储位置的映射关系;
29.通过所述文件系统根据所述映射关系确定所述运行数据在所述云硬盘的存储位置。
30.在上述实现过程中,通过文件系统可快速获得数据与云硬盘存储位置的映射关系。
31.可选地,所述获取所述运行数据在云硬盘的存储位置,包括:
32.在所述虚拟机对应的宿主机中创建新接入服务,所述新接入服务用于探测数据在云硬盘的存储位置;
33.通过文件系统接收对所述运行数据的读请求;
34.通过所述文件系统将所述读请求转换为对所述云硬盘的io请求,以及将所述io请求发送给所述新接入服务;
35.通过所述新接入服务获取所述io请求对应的云硬盘的存储位置,以及将该存储位置确定为所述运行数据所在的云硬盘的存储位置。
36.在上述实现过程中,通过新建一个新接入服务来获取数据与云硬盘存储位置的映射关系,如此可适用于无法通过文件系统获取映射关系的场景。
37.可选地,所述根据所述匹配结果对所述运行数据进行存储管理,包括:
38.若所述匹配结果为所述数据热度类型与所述当前存储区域不匹配,则将所述运行数据迁移到另一个数据层。如此可将不匹配的数据迁移到对应的存储区域,从而实现冷热数据的分层存储,提高存储性能。
39.第二方面,本技术实施例提供了一种存储管理装置,所述装置包括:
40.存储区域确定模块,用于获取已存储的虚拟机的运行数据的当前存储区域,其中,存储区域包括热数据层和冷数据层,所述运行数据在初始存储时优先存储在所述热数据层;
41.热度类型确定模块,用于根据所述运行数据的数据属性识别所述运行数据的数据热度类型,所述数据热度类型包括热数据和冷数据;
42.匹配模块,用于将所述数据热度类型与所述当前存储区域匹配,获得匹配结果;
43.管理模块,用于根据所述匹配结果对所述运行数据进行存储管理。
44.第三方面,本技术实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
45.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
46.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
47.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
48.图1为本技术实施例提供的一种存储管理方法的流程图;
49.图2为本技术实施例提供的一种云硬盘位置与存储系统的数据块之间的位置映射关系示意图;
50.图3为本技术实施例提供的一种通过新接入服务来获取数据与云硬盘位置的映射关系的结构示意图;
51.图4为本技术实施例提供的一种存储管理装置的结构框图;
52.图5为本技术实施例提供的一种用于执行存储管理方法的电子设备的结构示意图。
具体实施方式
53.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整
地描述。
54.需要说明的是,本发明实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
55.本技术实施例提供一种存储管理方法,该方法通过根据虚拟机的运行数据的数据属性识别运行数据的数据热度类型,并将数据热度类型与运行数据的当前存储区域进行匹配,以确定热数据是否存储在热数据层、冷数据是否存储在冷数据层,如此可根据匹配结果对运行数据进行存储管理,比如对不匹配的数据进行迁移,从而可使得不同数据热度类型的数据能够存储在对应的存储区域中,这样可使得一些热数据大多数情况下均在热数据层,而不会长时间在冷数据层,进而可有效提高存储系统整体的访问性能。
56.请参照图1,图1为本技术实施例提供的一种存储管理方法的流程图,该方法包括如下步骤:
57.步骤s110:获取已存储的虚拟机的运行数据的当前存储区域。
58.其中,存储区域包括热数据层和冷数据层。可以理解地,可以预先对存储系统的多个存储介质进行分层,比如将一些读写性能高的存储介质划分为热数据层,以实现数据的快速读写,将一些读写性能低的存储介质划分为冷数据层,具体划分的规则和存储介质的个数可以根据实际情况灵活设置。
59.本技术中将数据存储在热数据层和冷数据层,可以理解为是一种分层存储技术,分层存储是一种将数据按照需求划分为多个层次,并根据不同层次的数据需求使用不同的存储介质和技术的方法。在超融合系统中,分层存储一般有两层,ssd层,也叫热数据层,通常用于存储需要快速访问的数据,另一层为机械硬盘层,也叫冷数据层,通常用于存储大量访问较少的数据。
60.可以理解地,对于热数据层和冷数据层的划分还可以有其他方式,比如将ssd中的缓存作为热数据层,其余空间作为冷数据层,这种方式也能实现数据的分层存储,从而可以将不同读取需求的数据存放入不同的数据层。
61.虚拟机的运行数据包括有数据库数据、各种服务的数据以及各种应用软件的数据等,这些运行数据在初始存储时可优先存储在热数据层,这样对于一些原本是热数据的运行数据,可以确保其始终能够在热数据层而不被迁移,实现热数据的高访问性能。
62.在一些实施方式中,运行数据在初始存储时,可以先进行粗略识别,比如对于一些系统文件,如系统日志和系统操作数据,这些数据一般只在开机的时候会读取一次,或者只是写入一次就不读取了,对于这些数据如果还存储在热数据层,则会使得热数据层的存储空间浪费,所以在初始存储时,就可以将这些数据存储在冷数据层。后续进行数据热度类型识别后,这些数据也是冷数据,因此也不会触发数据迁移,从而减少数据迁移资源的占用。
63.步骤s120:根据运行数据的数据属性识别运行数据的数据热度类型。
64.其中,数据热度类型包括热数据和冷数据,热数据可以理解为是一些访问比较高的数据,冷数据可以理解为是一些访问较少的数据。可以理解的,数据热度类型在实际应用中还可以细分,比如还包括温数据,温数据是介于热数据和冷数据之间的一种数据,比如可
以是一些访问不高但是也不低的数据。当然也可以对热数据进行进一步细分,比如分为第一热数据、第二热数据等,这样可以对于不同的数据实现更细化的存储,进一步提升整个存储系统的性能。
65.可以理解地,如果针对数据热度类型进行细分,那么在划分数据层时,也可以划分为多层,比如包括热数据层、温数据层和冷数据层等,数据层的划分与数据热度类型的划分对应,即多少种数据热度类型,则对应多少个数据层,具体的划分规则在实际情况下可以灵活选择。
66.在一些实施方式中,数据属性可以包括数据所属的业务、数据访问频率、数据访问时间、数据来源中的至少一种。
67.其中,数据所属的业务可以理解为虚拟机运行的具体业务,比如病毒扫描、流量监控、数据筛选等业务;数据来源可以是指具体哪种数据,比如某个应用软件的运行数据、某个服务进程的数据、某个数据库的数据等。可以理解地,在实际应用中,可以根据实际情况灵活配置数据属性。并且,数据属性也不仅仅包含上述所列举的几种,实际情况下可以根据需求配置更多的数据属性,以从更多方面来识别数据热度类型。
68.在具体识别时,可以包括以下至少一种判断方式:
69.若运行数据所属的业务为目标业务,则确定运行数据的数据热度类型为热数据,否则为冷数据;
70.若运行数据的数据访问频率大于设定频率,则确定运行数据的数据热度类型为热数据,否则为冷数据;
71.若运行数据的数据访问时间为设定时间段,则确定运行数据的数据热度类型为热数据,否则为冷数据;
72.若运行数据的数据来源为设定来源,则确定运行数据的数据热度类型为热数据,否则为冷数据。
73.其中,目标业务可以是用户自己定义的,其可以根据实际需求灵活配置,比如对于数据筛选的业务,其数据可能需要频繁读取,所以可以认为该业务的数据属于热数据。数据访问频率也可从一方面反映数据的热度,如果访问频繁,说明数据的热度较高,这里的设定频率可以根据实际情况灵活设置。数据访问时间也可反映数据的热度,比如如果访问时间为最近访问,表示该数据的热度较高,设定时间段可以是指靠近当前时间的一个时间段,比如当前时间之前的4小时,如果在这个时间段内运行数据有被访问,则认为其是热数据。对于一些设定来源的数据也可认为是热数据,比如如果是某些数据库的数据,而这些数据库的数据会被频繁读取,则可认为是热数据。
74.也就是说,如果运行数据满足上述至少一种判断方式,则可认为其是热数据,如果均不满足上述判断方式,则可认为是冷数据。
75.步骤s130:将数据热度类型与当前存储区域进行匹配,获得匹配结果。
76.这里进行匹配的目的是为了判断热数据是否存储在热数据层,冷数据是否存储在冷数据层,原则上热数据应该存储在热数据层,而冷数据应用存储在冷数据层,但是由于在初始存储时是优先将数据存储在热数据层,而如果热数据层的存储空间满了之后,则会将数据存储在冷数据层,这样就会使得有些原本是热数据可能存储在了冷数据层,而原本是冷数据存储在了热数据层,所以还需要对这些误存储的数据进行识别。
77.比如如果运行数据的数据热度类型为热数据,而当前存储区域为冷数据层,则认为两者不匹配,如果运行数据的数据热度类型为热数据,而当前存储区域为热数据层,则认为两者匹配,反之也同理,如果运行数据的数据热度类型为冷数据,而当前存储区域为热数据层,则认为两者不匹配,如果运行数据的数据热度类型为冷数据,而当前存储区域为冷数据层,则认为两者匹配。
78.步骤s140:根据匹配结果对运行数据进行存储管理。
79.通过上述判断匹配的方式,如果匹配结果为数据热度类型与当前存储区域不匹配,则将运行数据迁移到另一个数据层。比如运行数据的数据热度类型为热数据,当前存储区域为冷数据层,则将运行数据迁移到热数据层,如果运行数据的数据热度类型为冷数据,当前存储区域为热数据层,则将运行数据迁移到冷数据层。当然,如果匹配结果为数据热度类型与当前存储区域匹配,则不对运行数据进行迁移,而是针对不匹配的数据进行迁移,如此可确保热数据大多数情况下能够处于热数据层,而不会长时间处于冷数据层,热数据层的访问性能比冷数据层一般要高很多,所以把热数据存储在热数据层,才能避免冷数据层中的热数据被频繁访问而出现性能瓶颈的问题,本方案可有效实现对冷热数据的分层存储,提高数据存储性能。
80.在一些实施方式中,为了节约存储管理资源,上述方法的执行时间可以设定一个周期,比如每隔一段时间后执行上述方法,即每隔一段时间对数据进行上述方法的存储管理,实现数据的迁移。换言之,如果迁移周期一到,则触发执行上述方法步骤。
81.在上述实现过程中,通过根据虚拟机的运行数据的数据属性识别运行数据的数据热度类型,并将数据热度类型与运行数据的当前存储区域进行匹配,以确定热数据是否存储在热数据层、冷数据是否存储在冷数据层,如此可根据匹配结果对运行数据进行存储管理,比如对不匹配的数据进行迁移,从而可使得不同数据热度类型的数据能够存储在对应的存储区域中,这样可使得一些热数据大多数情况下均在热数据层,而不会长时间在冷数据层,进而可有效提高存储系统整体的性能。
82.在上述实施例的基础上,若上述的数据属性包括数据访问频率,可通过以下方式获取数据访问频率:通过虚拟机运行的设定进程监听运行数据的数据访问频率。
83.其中,设定进程可以是指宿主机上的多个虚拟机共有的进程,比如agent进程,这样可不影响虚拟机的现有业务。在超融合系统中,虚拟机一般都要运行agent进程,主要用于收集虚拟机的统计信息和虚拟机的配置在线修改,而本方案中,为该agent进程增加一个数据监控功能,即用于监听数据的数据访问频率,比如统计数据的读写次数,进而根据读写次数来获得数据访问频率。
84.可以理解地,设定进程也可以是其他进程,比如可以是用户所创建的一个新进程,这个新进程运行在各个虚拟机中,用于监听各自虚拟机中数据的数据访问频率。或者设定进程还可以是各个虚拟机所共有的其他进程,这样也无需创建新进程,只需要对现有的进程添加新功能即可。
85.在一些实施方式中,如果数据属性包括上述的多种属性,那么可以先对数据采用除数据访问频率外的其他属性进行识别,只有在其他属性无法识别或者其他属性均识别到数据为冷数据时,则再启用设定进程来监听数据的数据访问频率,这样如果通过其他属性就能够识别运行数据为热数据,则就不用启用设定进程监听数据访问频率,而只有在其他
属性无法识别时再启用设定进程监听,如此可减少设定进程的资源占用,使得设定进程有更多的资源去实现主功能(比如agent进程的主功能为收集虚拟机的统计信息和虚拟机配置的在线修改)。
86.在另一些实施方式中,在统计数据访问频率时,设定进程还可以过滤掉一些数据,比如对系统操作数据和系统日志等较大概率是冷数据的运行数据可不进行统计,因为这部分数据一开始存储时就放在了冷数据层,且很大概率上这些数据依然是冷数据,所以设定进程可以排除这些数据,对其余的数据进行数据访问频率的统计,这样可以减少设定进程的工作,提高设定进程的工作效率。
87.在上述实施例的基础上,若数据属性包括数据所属的业务、数据访问频率、数据访问时间以及数据来源中的至少两种,则在热数据层中,根据每种属性所确定的热数据分配有相应的存储比例。
88.比如,在热数据层中,属于目标业务的热数据(可称为重要业务数据)在热数据层中所占的存储比例为a%,数据访问时间在设定时间段内的热数据(可称为最近访问的数据)在热数据层中所占的存储比例为b%,对于数据访问频率大于设定频率的热数据(可称为最频繁使用的数据),其在热数据层中所占的存储比例为c%,假如热数据层只存储这三种类型的热数据,那么a%+b%+c%《100%,剩余空间为预留空间,用于存储新创建的数据块。
89.而可能有的热数据既满足属于目标业务又满足其数据访问频率大于设定频率,这种情况下,可以设置热数据优先占用的存储空间,比如设置热数据优先占用目标业务对应的热数据的存储空间,如果该存储空间不够用,则再占用数据访问频率对应的热数据的存储空间。也就是说,可以如果热数据层这些数据类型的热数据的存储比例均被占用完后,热数据就需要存储到冷数据层,等待下次迁移周期到时,若热数据层释放掉一些存储空间后,再将热数据存储到热数据层中。
90.在一些实施方式中,在进行数据存储管理时,若根据目标数据属性确定运行数据的数据热度类型为热数据且匹配结果为数据热度类型与当前存储区域不匹配的情况下,则可以根据目标数据属性确定的热数据在热数据层中的存储比例,将运行数据迁移到热数据层。
91.其中,目标数据属性是指上述数据属性中的一种,比如目标数据属性是数据访问频率,其对应的存储比例为c%,这样在迁移时,可以先计算热数据层中目标数据属性对应的剩余存储空间,如果运行数据所占的存储空间不超过该剩余存储空间,则可将运行数据全部迁移到热数据层,如果超过剩余存储空间,则可选择部分运行数据迁移到热数据层,剩余的运行数据可等待下次迁移,或者若其他数据属性在热数据层中还有剩余存储空间,则可将剩余的运行数据迁移到热数据层中其他数据属性对应的存储空间中。
92.在另一些实施方式中,除了按照匹配结果进行迁移管理外,按照各种热数据在热数据层的存储比例来进行迁移管理(这种方式下,目标数据属性为多种)还包括:比如先统计重要业务数据的总量是否有超过设定阈值(a%),如果没有,则全部标记为待迁热数据,如果超过阈值,则按照数据访问频率进行排序,将排序在前面的数据标记为待迁热数据,对于剩下的未标记的数据,按照数据访问时间进行排序,把访问时间最近的b%的数据标记为待迁热数据,最后在剩下的数据中,按照数据访问频率进行排序,将排在前面的c%数据标
记为待迁热数据,如此可统计出需要迁移的数据。
93.然后再判断这些待迁热数据有多少数据已经在热数据层中,对于这些已经存储在热数据层中的待迁热数据,则可不用操作,然后判断热数据层中有哪些不属于待迁热数据,将这些不是待迁热数据的数据迁移到冷数据层存储,并将在冷数据层中的待迁热数据迁移到热数据层,从而可以按照各种热数据所占的存储比例来进行迁移,达到在热数据层中将各种热数据按照对应的存储比例存储。
94.在超融合系统中,虚拟机使用的虚拟硬盘(即云硬盘)是存储系统的块存储,虚拟硬盘的大小可能是几gb到几tb之间,块存储在底层可以看成由多个小数据块组成,在分布式块存储系统中,虚拟机发送给存储系统的请求是读写块设备的某个位置,存储系统根据收到的位置和长度信息转换为读写某个小数据块,进而实现数据的读写。
95.所以,在获取运行数据的当前存储区域时,需要先获取运行数据在云硬盘的存储位置,然后根据云硬盘的存储位置确定运行数据在存储系统中的当前存储区域。
96.如图2所示,图中第一层是数据与云硬盘的映射关系,该映射关系是由虚拟机中的文件系统建立和维护的,第二层是云硬盘与底层存储系统的映射关系,该映射关系是由分布式存储系统建立和维护的,可以直接通过存储系统查询出来。
97.所以,在一些实施方式中,可以通过文件系统获取数据与云硬盘存储位置的映射关系,然后根据映射关系确定运行数据在云硬盘的存储位置。
98.这种方式下,文件系统可以通过一些系统调用来直接映射关系,比如xfs和ext4文件系统可以通过fiemap系统调用获取上述的映射关系。
99.而在其他情况下,可能有的文件系统并不能通过上述调用来获取映射关系,对于这种场景,本技术实施例中提供一种实现方式,包括:在虚拟机对应的宿主机中创建新接入服务,该新接入服务用于探测数据在云硬盘的存储位置,然后通过文件系统接收对运行数据的读请求,并且将读请求转换为对云硬盘的io请求,以及将io请求发送给新接入服务,通过新接入服务获取io请求对应的云硬盘的存储位置,以及将该存储位置确定为运行数据所在的云硬盘的存储位置。
100.如图3所示,左边是虚拟机中正常数据读写的io路径,为了实现云硬盘与数据的位置映射关系的获取,本方案把云硬盘在宿主机上面生成出来,文件系统也挂载在宿主机上,可以理解为是为宿主机提供一个访问云硬盘的接口,宿主机和虚拟机看到的是同一个云硬盘和文件系统。虚拟机中原本有一个接入服务,这个接入服务是用来处理虚拟机中对数据的正常读写。
101.在宿主机上重新创建一个新接入服务,该新接入服务和虚拟机的接入服务一样,只是新接入服务在启动时可以携带一个标识,用于指示该新接入服务只用来探测数据在云硬盘的存储位置,不能用于普通的io读写。
102.用户对于数据的读写请求都会发送给这个新接入服务,并且虚拟机的接入服务互不影响,新接入服也不会接收到虚拟机发过来的io请求,这样这两个文件系统读取到的数据是一样的,所以这时只需要在宿主机上,对文件系统中的数据进行读操作,即文件系统接收到读请求,然后将读请求转换为对云硬盘的io请求,然后将io请求发送给新接入服务。此时新接入服务接收到io请求后,会把io请求的云硬盘的位置记录下来,这些位置就是运行数据所在的云硬盘的存储位置,等所有数据读取完成之后,就可以获得数据与云硬盘位置
的映射关系。新接入服务获取到位置信息后,就把io请求直接返回,而不会转发给存储系统进行真实数据的读取,这样整个探测过程不需要消耗存储系统的磁盘带宽,大大提高了探测的速度。
103.在一些实施方式中,在获取数据与云硬盘存储位置的映射关系的方式中,可以优先通过文件系统来获取,如果文件系统获取不到,则再通过新建新接入服务的方式获取。或者先新建了一个新接入服务,而不启用,在文件系统获取不到映射关系时,再启用新接入服务进行获取,如此可实现映射关系的快速获取。
104.在上述实施例中识别出热数据后,可以先获取到这些热数据在云硬盘的存储位置,然后将存储位置发送给存储系统,存储系统即可根据存储位置确定出这些数据是存储在哪些小数据块中,并将这些小数据块标识为热数据块,表示热数据所在的数据块,后续进行数据迁移时,可以知晓热数据所在的位置,从而可直接判断热数据所在的存储区域,判断其是否需要进行迁移,比如判断这些热数据块是否是在冷数据层,如果是,则需要迁移,如果不是,则不需要迁移。
105.由于数据可能一直在不断增多,所占用的位置也会越来越多,所以可以通过上述的agent进程定期重新获取所有热数据在云硬盘的位置信息并发送给存储系统,存储系统根据云硬盘的位置信息更新对应的热数据所在的存储位置,即更新其对应的热数据块。
106.在上述实现过程中,通过新建一个新接入服务来获取数据与云硬盘存储位置的映射关系,如此可适用于无法通过文件系统获取映射关系的场景。
107.所以,本技术实施例中,通过对数据的数据热度类型进行识别,可自动识别出虚拟机中的重要业务数据,例如一个数据库文件,并将这个数据存储在热数据层中,这样可确保重要业务数据的读写都在热数据层中,保证了业务的读写性能达标。并且,本技术中是针对虚拟机中的业务数据来设置,而不是针对整个虚拟机,可以减少一些跟业务无关的数据落在热数据层中,提高了空间利用率。例如一个虚拟机可能有100gb的大小,而其中重要业务数据只有10gb,其余都是一些系统操作数据和系统日志,所以通过识别这些数据,可以将对应的数据放入对应的存储区域,避免热数据统计不准确而影响重要业务性能的问题,而不是将整个虚拟机的所有数据都存放在热数据层中,如此可以更好的利用热数据层的存储空间,有效提高存储系统整体的性能,也能支持更多的虚拟机业务。
108.请参照图4,图4为本技术实施例提供的一种存储管理装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置200与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
109.可选地,所述装置200包括:
110.存储区域确定模块210,用于获取已存储的虚拟机的运行数据的当前存储区域,其中,存储区域包括热数据层和冷数据层,所述运行数据在初始存储时优先存储在所述热数据层;
111.热度类型确定模块220,用于根据所述运行数据的数据属性识别所述运行数据的数据热度类型,所述数据热度类型包括热数据和冷数据;
112.匹配模块230,用于将所述数据热度类型与所述当前存储区域匹配,获得匹配结果;
113.管理模块240,用于根据所述匹配结果对所述运行数据进行存储管理。
114.可选地,所述数据属性包括数据所属的业务、数据访问频率、数据访问时间、数据来源中的至少一种;所述热度类型确定模块220,用于通过以下至少一种判断方式识别数据热度类型:
115.若所述运行数据所属的业务为目标业务,则确定所述运行数据的数据热度类型为热数据;
116.若所述运行数据的数据访问频率大于设定频率,则确定所述运行数据的数据热度类型为热数据;
117.若所述运行数据的数据访问时间为设定时间段,则确定所述运行数据的数据热度类型为热数据;
118.若所述运行数据的数据来源为设定来源,则确定所述运行数据的数据热度类型为热数据。
119.可选地,若所述数据属性包括数据访问频率,通过以下方式获取所述数据访问频率:
120.通过所述虚拟机运行的设定进程监听所述运行数据的数据访问频率。
121.可选地,若数据属性包括数据所属的业务、数据访问频率、数据访问时间以及数据来源中的至少两种,在所述热数据层中,根据每种属性所确定的热数据分配有相应的存储比例;
122.若根据目标数据属性确定所述运行数据的数据热度类型为热数据且所述匹配结果为所述数据热度类型与所述当前存储区域不匹配,则所述管理模块240,用于根据所述目标数据属性确定的热数据在热数据层中的存储比例,将所述运行数据迁移到所述热数据层。
123.可选地,所述存储区域确定模块210,用于获取所述运行数据在云硬盘的存储位置;根据所述云硬盘的存储位置确定所述运行数据在存储系统中的当前存储区域。
124.可选地,所述存储区域确定模块210,用于通过文件系统获取数据与云硬盘存储位置的映射关系;通过所述文件系统根据所述映射关系确定所述运行数据在所述云硬盘的存储位置。
125.可选地,所述存储区域确定模块210,用于在所述虚拟机对应的宿主机中创建新接入服务,所述新接入服务用于探测数据在云硬盘的存储位置;通过文件系统接收对所述运行数据的读请求;通过所述文件系统将所述读请求转换为对所述云硬盘的io请求,以及将所述io请求发送给所述新接入服务;通过所述新接入服务获取所述io请求对应的云硬盘的存储位置,以及将该存储位置确定为所述运行数据所在的云硬盘的存储位置。
126.可选地,所述管理模块240,用于若所述匹配结果为所述数据热度类型与所述当前存储区域不匹配,则将所述运行数据迁移到另一个数据层。
127.需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。
128.请参照图5,图5为本技术实施例提供的一种用于执行存储管理方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器310,例如cpu,至少一个通信接口320,至少一个存储器330和至少一个通信总线340。其中,通信总线340用于实现这些组件直
接的连接通信。其中,本技术实施例中设备的通信接口320用于与其他节点设备进行信令或数据的通信。存储器330可以是高速ram存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器330可选的还可以是至少一个位于远离前述处理器的存储装置。存储器330中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器310执行时,电子设备执行上述图1所示方法过程。
129.可以理解,图5所示的结构仅为示意,所述电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
130.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。
131.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:
132.获取已存储的虚拟机的运行数据的当前存储区域,其中,存储区域包括热数据层和冷数据层,所述运行数据在初始存储时优先存储在所述热数据层;
133.根据所述运行数据的数据属性识别所述运行数据的数据热度类型,所述数据热度类型包括热数据和冷数据;
134.将所述数据热度类型与所述当前存储区域匹配,获得匹配结果;
135.根据所述匹配结果对所述运行数据进行存储管理。
136.综上所述,本技术实施例提供一种存储管理方法、装置、电子设备及存储介质,该方法通过根据虚拟机的运行数据的数据属性识别运行数据的数据热度类型,并将数据热度类型与运行数据的当前存储区域进行匹配,以确定热数据是否存储在热数据层、冷数据是否存储在冷数据层,如此可根据匹配结果对运行数据进行存储管理,比如对不匹配的数据进行迁移,从而可使得不同数据热度类型的数据能够存储在对应的存储区域中,这样可使得一些热数据大多数情况下均在热数据层,而不会长时间在冷数据层,进而可有效提高存储系统整体的性能。
137.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
138.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
139.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
140.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另
一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
141.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种存储管理方法,其特征在于,所述方法包括:获取已存储的虚拟机的运行数据的当前存储区域,其中,存储区域包括热数据层和冷数据层,所述运行数据在初始存储时优先存储在所述热数据层;根据所述运行数据的数据属性识别所述运行数据的数据热度类型,所述数据热度类型包括热数据和冷数据;将所述数据热度类型与所述当前存储区域匹配,获得匹配结果;根据所述匹配结果对所述运行数据进行存储管理。2.根据权利要求1所述的方法,其特征在于,所述数据属性包括数据所属的业务、数据访问频率、数据访问时间、数据来源中的至少一种;根据所述运行数据的数据属性识别所述运行数据的数据热度类型,包括以下至少一种判断方式:若所述运行数据所属的业务为目标业务,则确定所述运行数据的数据热度类型为热数据;若所述运行数据的数据访问频率大于设定频率,则确定所述运行数据的数据热度类型为热数据;若所述运行数据的数据访问时间为设定时间段,则确定所述运行数据的数据热度类型为热数据;若所述运行数据的数据来源为设定来源,则确定所述运行数据的数据热度类型为热数据。3.根据权利要求2所述的方法,其特征在于,若所述数据属性包括数据访问频率,通过以下方式获取所述数据访问频率:通过所述虚拟机运行的设定进程监听所述运行数据的数据访问频率。4.根据权利要求2所述的方法,其特征在于,若数据属性包括数据所属的业务、数据访问频率、数据访问时间以及数据来源中的至少两种,在所述热数据层中,根据每种属性所确定的热数据分配有相应的存储比例;若根据目标数据属性确定所述运行数据的数据热度类型为热数据且所述匹配结果为所述数据热度类型与所述当前存储区域不匹配,则所述根据所述匹配结果对所述运行数据进行存储管理,包括:根据所述目标数据属性确定的热数据在热数据层中的存储比例,将所述运行数据迁移到所述热数据层。5.根据权利要求1所述的方法,其特征在于,所述获取已存储的虚拟机的运行数据的当前存储区域,包括:获取所述运行数据在云硬盘的存储位置;根据所述云硬盘的存储位置确定所述运行数据在存储系统中的当前存储区域。6.根据权利要求5所述的方法,其特征在于,所述获取所述运行数据在云硬盘的存储位置,包括:通过文件系统获取数据与云硬盘存储位置的映射关系;通过所述文件系统根据所述映射关系确定所述运行数据在所述云硬盘的存储位置。7.根据权利要求5所述的方法,其特征在于,所述获取所述运行数据在云硬盘的存储位
置,包括:在所述虚拟机对应的宿主机中创建新接入服务,所述新接入服务用于探测数据在云硬盘的存储位置;通过文件系统接收对所述运行数据的读请求;通过所述文件系统将所述读请求转换为对所述云硬盘的io请求,以及将所述io请求发送给所述新接入服务;通过所述新接入服务获取所述io请求对应的云硬盘的存储位置,以及将该存储位置确定为所述运行数据所在的云硬盘的存储位置。8.根据权利要求1所述的方法,其特征在于,所述根据所述匹配结果对所述运行数据进行存储管理,包括:若所述匹配结果为所述数据热度类型与所述当前存储区域不匹配,则将所述运行数据迁移到另一个数据层。9.一种存储管理装置,其特征在于,所述装置包括:存储区域确定模块,用于获取已存储的虚拟机的运行数据的当前存储区域,其中,存储区域包括热数据层和冷数据层,所述运行数据在初始存储时优先存储在所述热数据层;热度类型确定模块,用于根据所述运行数据的数据属性识别所述运行数据的数据热度类型,所述数据热度类型包括热数据和冷数据;匹配模块,用于将所述数据热度类型与所述当前存储区域匹配,获得匹配结果;管理模块,用于根据所述匹配结果对所述运行数据进行存储管理。10.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-8任一所述的方法。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-8任一所述的方法。
技术总结
本申请提供一种存储管理方法、装置、电子设备及存储介质,涉及存储技术领域。该方法通过根据虚拟机的运行数据的数据属性识别运行数据的数据热度类型,并将数据热度类型与运行数据的当前存储区域进行匹配,以确定热数据是否存储在热数据层、冷数据是否存储在冷数据层,如此可根据匹配结果对运行数据进行存储管理,比如对不匹配的数据进行迁移,从而可使得不同数据热度类型的数据能够存储在对应的存储区域中,这样可使得一些热数据大多数情况下均在热数据层,而不会长时间在冷数据层,进而可有效提高存储系统整体的性能。可有效提高存储系统整体的性能。可有效提高存储系统整体的性能。
技术研发人员:陈仲涛
受保护的技术使用者:北京天融信科技有限公司 北京天融信软件有限公司
技术研发日:2023.06.16
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/