大数据环境下的数据对象迁移方法和装置与流程

文档序号:33525630发布日期:2023-03-22 07:12阅读:46来源:国知局
大数据环境下的数据对象迁移方法和装置与流程

1.本公开涉及数据处理技术领域,尤其涉及大数据环境下的数据对象迁移方法和装置。


背景技术:

2.随着互联网技术的迅速发展,网络数据呈现出快速的增长趋势,尤其是基于物联网、移动互联网、互联网等的应用的不断扩展,产生了海量数据。对海量数据的分析和应用往往会带来极大的经济价值,然而,在对海量数据进行处理时,海量数据的存储是其基础。
3.随着对象存储技术的不断发展,用于存储数据对象的存储设备常常采用混合存储介质。如何将数据对象存储至合适的存储设备,以辅助提高存储设备的性能和使用寿命是非常重要的。


技术实现要素:

4.本公开提供了一种大数据环境下的数据对象迁移方法和装置,以至少在一定程度上解决相关技术中的技术问题之一。本公开的技术方案如下:根据本公开的一方面,提供了一种大数据环境下的数据对象迁移方法,包括:获取多个存储设备,并获取存储于所述多个存储设备中的多个第一数据对象;对所述多个存储设备进行划分,以得到多种设备类型的存储设备;其中,所述设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型;获取各所述第一数据对象的访问信息,并根据各所述第一数据对象的访问信息,确定各所述第一数据对象的读写属性;其中,所述读写属性包括热偏读、热偏写和冷读写;根据各所述第一数据对象的读写属性和对应的存储设备的设备类型,从各所述第一数据对象中确定待迁移的第二数据对象;将所述第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。
5.根据本公开的另一方面,提供了一种大数据环境下的数据对象迁移装置,包括:第一获取模块,用于获取多个存储设备,并获取存储于所述多个存储设备中的多个第一数据对象;划分模块,用于对所述多个存储设备进行划分,以得到多种设备类型的存储设备;其中,所述设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型;第二获取模块,用于获取各所述第一数据对象的访问信息;第一确定模块,用于根据各所述第一数据对象的访问信息,确定各所述第一数据对象的读写属性;其中,所述读写属性包括热偏读、热偏写和冷读写;第二确定模块,用于根据各所述第一数据对象的读写属性和对应的存储设备的设备类型,从各所述第一数据对象中确定待迁移的第二数据对象;第一迁移模块,用于将所述第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。
6.根据本公开的又一方面,提供了一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现本公开上述一方面提出的大数据环境下的数据对象迁移方法。
7.根据本公开的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开上述一方面提出的大数据环境下的数据对象迁移方法。
8.根据本公开的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述一方面提出的大数据环境下的数据对象迁移方法。
9.本公开的实施例提供的技术方案至少带来以下有益效果:获取多个存储设备,并获取存储于多个存储设备中的多个第一数据对象;对多个存储设备进行划分,以得到多种设备类型的存储设备;其中,设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型;获取各第一数据对象的访问信息,并根据各第一数据对象的访问信息,确定各第一数据对象的读写属性;其中,读写属性包括热偏读、热偏写和冷读写;根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象;将第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。由此,通过判断各数据对象的读写属性和各数据对象所存储的存储设备的设备类型是否匹配的方式,来从各数据对象中确定读写属性与对应存储设备的设备类型不匹配的待迁移的数据对象,并将该待迁移的数据对象迁移至设备类型与其读写属性匹配的存储设备中,可以提升存储设备的性能和使用寿命。
10.本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
11.本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本公开实施例一所提供的大数据环境下的数据对象迁移方法的流程示意图;图2为本公开实施例二所提供的大数据环境下的数据对象迁移方法的流程示意图;图3为本公开实施例三所提供的大数据环境下的数据对象迁移方法的流程示意图;图4为本公开实施例四所提供的大数据环境下的数据对象迁移方法的流程示意图;图5为本公开所提供的多个存储设备的划分流程示意图;图6为本公开所提供的确定各第一数据对象的热度值和读写频率比的流程示意图;图7为本公开所提供的确定各第一数据对象的读写属性的流程示意图;图8为本公开所提供的第二数据对象的迁移流程示意图;
图9为本公开实施例五所提供的大数据环境下的数据对象迁移装置的结构示意图;图10示出了适于用来实现本发明实施方式的示例性电子设备的框图。
具体实施方式
12.下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
13.随着基于物联网、移动互联网、互联网等的应用的不断扩展,产生了海量数据,对海量数据的分析和应用往往会带来极大的经济价值。然而,在对海量数据进行处理时,海量数据的存储与计算是海量数据处理的基础。
14.在越来越大的存储需求面前,由于传统的单点存储方式的容量和价格等方面的局限性,在数据存储的过程中,传统的单点存储方式已经不能够满足用户对存储容量的需求。而分布式存储系统通过集群、网络等方式连接起来,从而形成一个逻辑上的存储实体,可以对外提供统一的存储服务,且在数据的存储过程中,可以通过自身机制将数据存放在特定的一个或者一些存储设备上,从而可以实现存储资源的有效整合,在逻辑上实现了存储设备容量上的扩充以及存储成本的低廉。
15.然而,随着对象存储技术的不断发展,用于存储数据对象的存储设备常常采用混合存储介质,此时,数据对象应该存放在合适的存储设备中,比如,读高热的数据对象应该存储在固态硬盘等高速存储设备中,而不经常访问的冷数据对象应该存储在非易失性的存储设备中。然而,在实际应用中,使用一致性hash(哈希)等随机存储策略,并不会区分存储设备的不同,这可能会导致部分数据对象存储在不合适的存储设备中。数据对象的错误放置往往会导致存储设备的使用寿命下降,同时也会影响整个系统的读写性能,造成写入读取延迟、系统响应延迟等问题。
16.针对上述存在的至少一项问题,本公开提出一种大数据环境下的数据对象迁移方法和装置。
17.下面参考附图描述本公开实施例的大数据环境下的数据对象迁移方法和装置。
18.图1为本公开实施例一所提供的大数据环境下的数据对象迁移方法的流程示意图。
19.本公开实施例以该大数据环境下的数据对象迁移方法被配置于大数据环境下的数据对象迁移装置中来举例说明,该大数据环境下的数据对象迁移装置可以应用于任一电子设备中,以使该电子设备可以执行数据对象迁移功能。
20.其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑(personal computer,简称pc)、移动终端、服务器等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
21.如图1所示,该大数据环境下的数据对象迁移方法可以包括以下步骤:步骤101,获取多个存储设备,并获取存储于多个存储设备中的多个第一数据对象。
22.在本公开实施例中,存储设备可以包括ssd(solid statedrives,固态硬盘)和hdd
(hard diskdrive,机械硬盘)。
23.在本公开实施例中,第一数据对象可以是存储于多个存储设备中的数据对象。
24.作为一种可能的实现方式,可以采用一致性hash算法将多个第一数据对象及其副本均匀存储至多个存储设备。
25.在本公开实施例中,可以获取多个存储设备,并可以获取存储于多个存储设备中的多个第一数据对象。
26.步骤102,对多个存储设备进行划分,以得到多种设备类型的存储设备;其中,设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型。
27.在本公开实施例中,设备类型可以包括热偏读设备类型、热偏写设备类型以及冷设备类型。
28.在本公开实施例中,对多个存储设备进行划分,可以得到多种设备类型的存储设备,即可以确定各存储设备的设备类型。
29.比如,假设存在3个ssd,4个hdd,可以将3个ssd中的2个ssd划分为热偏度设备类型的存储设备,将3个ssd中剩余的一个ssd和4个hdd中的2个hdd划分为热偏写设备类型的存储设备,将4个hdd中剩余的两个hdd划分为冷设备类型的存储设备。
30.需要说明的是,上述对多个存储设备划分的示例仅是示例性的,在实际应用中,可以根据需要对多个存储设备进行划分。
31.步骤103,获取各第一数据对象的访问信息,并根据各第一数据对象的访问信息,确定各第一数据对象的读写属性;其中,读写属性包括热偏读、热偏写和冷读写。
32.在本公开实施例中,访问信息可以用于指示第一数据对象的读取记录、写入记录等。
33.在本公开实施例中,读写属性可以包括热偏读、热偏写和冷读写。其中,热偏读用于指示对应数据对象的读访问次数、读访问频率、读访问时长等与读操作相关的参数的取值相对较高。即,指示对应数据对象偏向于被读取,而不偏向于被写入。热偏写用于指示数据对象的写访问次数、写访问频率、写访问时长等与写操作相关的参数的取值相对较高。即,指示对应数据对象偏向于被写入,而不偏向于被读取。冷读写用于指示对应数据对象的读访问次数、读访问频率、读访问时长等与读操作相关的参数的取值相对较低,且指示对应数据对象的写访问次数、写访问频率、写访问时长等与写操作相关的参数的取值相对较低,即指示对应数据对象很少或没有被读取和被写入。
34.在本公开实施例中,可以获取各第一数据对象的访问信息,并可以根据各第一数据对象的访问信息,确定各第一数据对象的读写属性。
35.步骤104,根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象。
36.在本公开实施例中,第二数据对象的数量可以为但不限于为一个,本公开对此不做限制。
37.在本公开实施例中,可以根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象。比如,针对任一第一数据对象,可以确定该第一数据对象的读写属性与存储该第一数据对象的存储设备的设备类型是否匹配,在该第一数据对象的读写属性与存储该第一数据对象的存储设备的设备类型不匹配
的情况下,可以将该第一数据对象作为第二数据对象。
38.举例而言,当第一数据对象的读写属性为热偏读,而存储该第一数据对象的存储设备的设备类型为热偏写设备类型或冷设备类型时,可以确定该第一数据对象的读写属性与存储该第一数据对象的存储设备的设备类型不匹配,因此,可以将该第一数据对象作为第二数据对象。
39.再例如,当第一数据对象的读写属性为热偏写,而存储该第一数据对象的存储设备的设备类型为热偏读设备类型或冷设备类型时,可以确定该第一数据对象的读写属性与存储该第一数据对象的存储设备的设备类型不匹配,因此,可以将该第一数据对象作为第二数据对象。
40.又例如,当第一数据对象的读写属性为冷读写,而存储该第一数据对象的存储设备的设备类型为热偏读设备类型或热偏写设备类型时,可以确定该第一数据对象的读写属性与存储该第一数据对象的存储设备的设备类型不匹配,因此,可以将该第一数据对象作为第二数据对象。
41.步骤105,将第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。
42.在本公开实施例中,可以预先建立设备类型与读写属性之间的匹配关系,比如,热偏读设备类型与读写属性中的热偏读之间具有匹配关系,热偏写设备类型与读写属性中的热偏写之间具有匹配关系,冷设备类型与冷读写之间具有匹配关系。
43.在本公开实施例中,在确定第二数据对象的读写属性之后,可以从上述匹配关系中确定与第二数据对象的读写属性匹配的设备类型,并可以查询多个存储设备的设备类型,以根据设备类型,从多个存储设备中确定与第二数据对象的读写属性匹配的存储设备。
44.在本公开实施例中,针对任意一个第二数据对象,可以将该第二数据对象迁移至设备类型与该第二数据对象的读写属性匹配的存储设备。
45.本公开实施例的大数据环境下的数据对象迁移方法,通过获取多个存储设备,并获取存储于多个存储设备中的多个第一数据对象;对多个存储设备进行划分,以得到多种设备类型的存储设备;其中,设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型;获取各第一数据对象的访问信息,并根据各第一数据对象的访问信息,确定各第一数据对象的读写属性;其中,读写属性包括热偏读、热偏写和冷读写;根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象;将第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。由此,通过判断各数据对象的读写属性和各数据对象所存储的存储设备的设备类型是否匹配的方式,来从各数据对象中确定读写属性与对应存储设备的设备类型不匹配的待迁移的数据对象,并将该待迁移的数据对象迁移至设备类型与其读写属性匹配的存储设备中,可以提升存储设备的性能和使用寿命。
46.为了清楚说明本公开上述实施例中,是如何对多个存储设备进行划分,以得到多种设备类型的存储设备的,本公开还提出一种大数据环境下的数据对象迁移方法。
47.图2为本公开实施例二所提供的大数据环境下的数据对象迁移方法的流程示意图。
48.如图2所示,该大数据环境下的数据对象迁移方法可以包括以下步骤:步骤201,获取多个存储设备,并获取存储于多个存储设备中的多个第一数据对
象。
49.步骤201的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
50.步骤202,遍历多个存储设备,以获取多个存储设备的类型属性信息和选取属性信息。
51.在本公开实施例中,类型属性信息可以包括ssd和hdd。
52.在本公开实施例中,选取属性信息可以用于指示存储设备是否被选取。
53.在本公开实施例中,通过遍历多个存储设备,可以获取多个存储设备的类型属性信息和选取属性信息,即确定任一存储设备是ssd还是hdd,和确定该任一存储设备是否被选取。
54.步骤203,根据类型属性信息和选取属性信息,将多个存储设备划分为多种设备类型的存储设备。
55.需要说明的是,步骤102中对设备类型的解释说明同样适用于该实施例,在此不做赘述。
56.在本公开实施例中,可以根据类型属性信息和选取属性信息,将多个存储设备划分为多种设备类型的存储设备。
57.作为一种可能的实现方式,可以通过以下方式将多个存储设备划分为多种设备类型的存储设备:1.在遍历多个存储设备之前,可以将各存储设备的选取属性信息初始化为false(即未被选取);2.遍历多个存储设备,在任一存储设备为ssd,且该任一存储设备的选取属性信息为false,且被划分为热偏读设备类型的存储设备的数量小于第一设定数量的情况下,可以将该任一存储设备划分为热偏读设备类型的存储设备,并修改该任一存储设备的选取属性信息为true(即已被选取);在被划分为热偏读设备类型的存储设备的数量等于第一设定数量,和/或,已完成多个存储设备的遍历操作,和/或,多个存储设备的选取属性信息均为true的情况下,停止将多个存储设备划分为热偏读设备类型的存储设备的操作;3.重新遍历多个存储设备,当任一存储设备为ssd,且该任一存储设备的选取属性信息为false的情况下,可以将该任一存储设备划分为热偏写设备类型的存储设备,并修改该任一存储设备的选取属性信息为true(即已被选取)。
58.当任一存储设备为hdd,且该任一存储设备的选取属性信息为false,且被划分为热偏写设备类型的类型属性信息为hdd的存储设备的数量小于第二设定数量的情况下,可以将该任一存储设备划分为热偏写设备类型的存储设备,并记录被划分为热偏写设备类型的类型属性信息为hdd的存储设备的数量,以及将该任一存储设备的选取属性信息修改为true;当任一存储设备为hdd,且该任一存储设备的选取属性信息为false,且被划分为热偏写设备类型的类型属性信息为hdd的存储设备的数量等于第二设定数量时,可以停止将多个存储设备划分为热偏写设备类型的存储设备的操作,并可以将该任一存储设备划分为冷设备类型的存储设备。
59.在本公开实施例中,第一设定数量可以预先设定的,且第一设定数量是根据类型属性信息为ssd的存储设备的数量而设定的,比如,第一设定数量小于类型属性信息为ssd的存储设备的数量,或者,第一设定数量等于类型属性信息为ssd的存储设备的数量。
60.比如,类型属性信息为ssd的存储设备的数量为3,第一设定数量可以为2。
61.在本公开实施例中,第二设定数量可以为预先设定的,且第二设定数量是根据类型属性信息为hdd的存储设备的数量而设定的,比如,第二设定数量小于类型属性信息为hdd的存储设备的数量。
62.比如,类型属性信息为hdd的存储设备的数量为4,第二设定数量可以为2。
63.由此,可以实现将多个存储设备划分为多个设备类型的存储设备。
64.步骤204,获取各第一数据对象的访问信息,并根据各第一数据对象的访问信息,确定各第一数据对象的读写属性;其中,读写属性包括热偏读、热偏写和冷读写。
65.步骤205,根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象。
66.步骤206,将第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。
67.步骤204至206的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
68.本公开实施例的大数据环境下的数据对象迁移方法,通过遍历多个存储设备,以获取多个存储设备的类型属性信息和选取属性信息;根据类型属性信息和选取属性信息,将多个存储设备划分为多种设备类型的存储设备。由此,可以实现根据多个存储设备的类型属性信息和选取属性信息,来将多个存储设备有效划分为多个设备类型的存储设备。
69.为了清楚说明本公开上述任一实施例中,是如何获取各第一数据对象的访问信息的,本公开还提出一种大数据环境下的数据对象迁移方法。
70.图3为本公开实施例三所提供的大数据环境下的数据对象迁移方法的流程示意图。
71.如图3所示,该大数据环境下的数据对象迁移方法可以包括以下步骤:步骤301,获取多个存储设备,并获取存储于多个存储设备中的多个第一数据对象。
72.步骤302,对多个存储设备进行划分,以得到多种设备类型的存储设备;其中,设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型。
73.步骤301至步骤302的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
74.步骤303,在设定时段内,记录各第一数据对象的读访问频率、写访问频率、访问时间和访问次数。
75.在本公开实施例中,设定时段可以是预先设定的,且设定时段包括起始时间和结束时间,比如,设定时段的起始时间可以为当前时刻,设定时段的起始时间与结束时间之间的时长为预先设定的,比如,起始时间与结束时间之间的时长可为半天、1天、2天等。例如设定时段可以为[2022年11月15日05:11,2022年11月16日05:11]、[2022年11月15日05:11,2022年11月15日17:11]等等。
[0076]
需要说明的是,上述对设定时段的设置的示例仅是示例性的,在实际应用中,可以根据需要对设定时段进行设置,本公开对此不做限制。
[0077]
在本公开实施例中,在设定时段内,可以记录各第一数据对象的读访问频率、写访问频率、访问时间和访问次数。
[0078]
作为一种可能的实现方式,在设定时段内,可以记录各第一数据对象的读访问次数、写访问次数和访问时间;可以根据读访问次数和设定时段的时长,确定读访问频率,并可以根据写访问次数和设定时段的时长,确定读访问频率;根据读访问次数和写访问次数之和,确定访问次数。
[0079]
步骤304,根据记录的各第一数据对象的读访问频率、写访问频率、访问时间和访问次数,确定各第一数据对象对应的多个维度的访问信息。
[0080]
在本公开实施例中,多个维度的访问信息比如可以包括读访问频率、写访问频率、最近访问时间和访问次数等,本公开对此不做限制。
[0081]
在本公开实施例中,可以根据记录的各第一数据对象的访问时间,确定最近访问时间。
[0082]
作为一种示例,可以根据记录的各第一数据对象的访问时间,从任一数据对象的访问时间中确定距离设定时段的结束时间最近的时间,并将该距离设定时段的结束时间最近的时间作为该任一数据对象的最近访问时间。
[0083]
在本公开实施例中,可以根据记录的各第一数据对象的读访问频率、写访问频率、访问时间和访问次数,确定各第一数据对象对应的多个维度的访问信息。
[0084]
步骤305,根据各第一数据对象的访问信息,确定各第一数据对象的读写属性;其中,读写属性包括热偏读、热偏写和冷读写。
[0085]
步骤306,根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象。
[0086]
步骤307,将第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。
[0087]
步骤305至步骤307的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
[0088]
本公开实施例的大数据环境下的数据对象迁移方法,通过在设定时段内,记录各第一数据对象的读访问频率、写访问频率、访问时间和访问次数;根据记录的各第一数据对象的读访问频率、写访问频率、访问时间和访问次数,确定各第一数据对象对应的多个维度的访问信息。由此,可以实现对各第一数据对象的访问信息的有效获取。
[0089]
为了清楚说明本公开上述任一实施例中,是如何根据各第一数据对象的访问信息,确定各第一数据对象的读写属性的,本公开还提出一种大数据环境下的数据对象迁移方法。
[0090]
图4为本公开实施例四所提供的大数据环境下的数据对象迁移方法的流程示意图。
[0091]
如图4所示,该大数据环境下的数据对象迁移方法可以包括以下步骤:步骤401,获取多个存储设备,并获取存储于多个存储设备中的多个第一数据对象。
[0092]
步骤402,对多个存储设备进行划分,以得到多种设备类型的存储设备;其中,设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型。
[0093]
步骤403,在设定时段内,记录各第一数据对象的读访问频率、写访问频率、访问时间和访问次数。
[0094]
步骤404,根据记录的各第一数据对象的读访问频率、写访问频率、访问时间和访
问次数,确定各第一数据对象对应的多个维度的访问信息。
[0095]
步骤401至步骤404的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
[0096]
步骤405,根据各第一数据对象的访问信息,确定各第一数据对象的热度值。
[0097]
在本公开实施例中,可以根据各第一数据对象的访问信息,确定各第一数据对象的热度值。
[0098]
在本公开实施例的一种可能的实现方式中,针对任一第一数据对象,可以获取与该第一数据对象对应的多个维度的访问信息匹配的判断矩阵,以根据判断矩阵,确定多个维度对应的权重;并可以根据第一数据对象对应的多个维度的访问信息和多个维度对应的权重,确定第一数据对象的热度值。
[0099]
需要说明的是,判断矩阵可以是基于大量的实验基础上获取的,或者也可以根据人工经验确定,本公开对此不做限制。
[0100]
作为一种示例,针对任一第一数据对象,假设该第一数据对象对应的多个维度的访问信息包括读访问频率r、写访问频率z、最近访问时间t和访问次数m,获取的与上述第一数据对象对应的四个维度的访问信息匹配的判断矩阵a为:;(1)其中,i∈[1,4],j∈[1,4],a
ij
》0,a
ij
*a
ji
=1,a
ii
=1,a
ij
表示第i个维度对第j个维度的重要性,第1个维度为读访问频率,第2个维度为写访问频率,第3个维度为最近访问时间,第4个维度为访问次数。
[0101]
可以根据公式(2)确定判断矩阵a的多个特征值λ:;(2)其中,w为判断矩阵a的特征向量。
[0102]
从各特征值中可以确定最大特征值λ
max
,并可以根据特征值λ
max
和矩阵a的阶数q,按照以下公式(3)确定一致性指标ci:;(3)再根据矩阵a的阶数q,查找到与q对应的平均随机一致性指标ri,并根据以下公式(4)确定一致性比例cr:;(4)当cr小于第一设定数值(比如0.1、0.08等)时,表明判断矩阵a有比较满意的一致性,此时,可以通过一致性检验;而当cr未小于设定数值时,表明判断矩阵a的不一致程度不符合要求,此时,不通过一致性检验,并可以重新获取新的判断矩阵a,以重新进行一致性检验。
[0103]
当判断矩阵a通过一致性检验的情况下,可以按照以下公式(5)对判断矩阵a的每
一个元素a
ij
进行归一化处理:;(5)其中,i∈[1,4],j∈[1,4],p
ij
为对判断矩阵a的每一个元素a
ij
进行归一化处理后的值。
[0104]
在对判断矩阵a的每一个元素进行归一化处理后,可以根据以下公式(6)确定四个维度中每一个维度对应的权重wi:;(6)其中,i∈[1,4],q为4。
[0105]
根据第一数据对象对应的四个维度的访问信息(即读访问频率r、写访问频率z、最近访问时间t和访问次数m)和四个维度对应的权重wi(i∈[1,4]),可以根据以下公式(7)确定该第一数据对象的热度值heat:;(7)需要说明的是,上述仅以第一数据对象对应的多个维度的访问信息为四个维度的访问信息进行示例,在实际应用中,第一数据对象对应的多个维度的访问信息还可以为3个维度的访问信息,或者5个维度的访问信息等,本公开对此不做限制。
[0106]
步骤406,针对任一第一数据对象,根据对应多个维度的访问信息中的读访问频率和写访问频率,确定读写频率比。
[0107]
在本公开实施例中,针对第一数据对象,可以根据对应多个维度的访问信息中的读访问频率和写访问频率,确定读写频率比。
[0108]
比如,假设第一数据对象对应的多个维度的访问信息中的读访问频率为r和写访问频率z,读写频率比f为r/z。
[0109]
步骤407,根据各第一数据对象对应的读写频率比和热度值,确定各第一数据对象的读写属性。
[0110]
在本公开实施例中,可以根据各第一数据对象对应的读写频率比和热度值,确定各第一数据对象的读写属性。
[0111]
作为一种示例,针对任一第一数据对象,当该第一数据对象的读写频率比相对较大,且该第一数据对象的热度值相对较大时,可以确定该第一数据对象的读写属性为热偏读;而当第一数据对象的读写频率比相对较小,且该第一数据对象的热度值相对较大时,可以确定该第一数据对象的读写属性为热偏写;而当第一数据对象的热度值相对较小时,可以确定该第一数据对象的读写属性为冷读写。
[0112]
作为另一种示例,标记第一数据对象的数量为n,可以根据以下方式确定各第一数据对象的读写属性:1.针对任一第一数据对象,当该任一数据对象的读写频率比f大于第二设定数值
(比如1、2等)时,则可以将该任一第一数据对象的读写属性初始化为热读;否则,当该任一数据对象的读写频率比f小于或等于第二设定数值时,则可以将该任一第一数据对象的读写属性初始化为热写;2.根据各第一数据对象对应的热度值,按照热度值从大到小的顺序对各第一数据对象的位置索引进行排序,以得到各第一数据对象的序号。
[0113]
比如,第一数据对象的数量为3,各第一数据对象分别为第一数据对象d1、第二数据对象d2和第三数据对象d3,各第一数据对象的热度值大小为:第三数据对象d3的热度值》第二数据对象d2的热度值》第一数据对象d1的热度值;按照各第一数据对象的热度值从大到小的顺序对各第一数据对象的位置索引进行排序,得到的各第一数据对象的序号分别为:第三数据对象d3的序号为1、第二数据对象d2的序号为2、第一数据对象d1的序号为3。
[0114]
3.按照热度值的排序依次遍历各第一数据对象,在当前遍历的第一数据对象的序号小于或者等于第三设定数值,且当前遍历的第一数据对象的读写属性为热读时,将该当前遍历的第一数据对象的读写属性更新为热偏读;在当前遍历的第一数据对象的序号小于或者等于第三设定数值,且当前遍历的第一数据对象的读写属性为热写时,将该当前遍历的第一数据对象的读写属性更新为热偏写;在当前遍历的第一数据对象的序号大于第三设定数值时,将该当前遍历的第一数据对象的读写属性更新为冷读写。
[0115]
其中,第三设定数值可以是预先设定的,比如,第三设定数值可以为3nk/2(k+p),其中,n为第一数据对象的数量,k为存储设备为ssd的数量,p为存储设备为hhd的数量。
[0116]
由此,基于各第一数据对象对应的读写频率比和热度值,可以实现对各第一数据对象的读写属性的有效确定。
[0117]
步骤408,根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象。
[0118]
步骤408的执行过程可以参见本公开任一实施例的执行过程,在此不做赘述。
[0119]
在本公开实施例的一种可能的实现方式中,可以将各第一数据对象按照对应热度值由大至小排序,以得到排序序列,并可以依次遍历排序序列中的各第一数据对象,以获取当前遍历的第一数据对象的读写属性和对应的存储设备;在当前遍历的第一数据对象的读写属性与当前遍历的第一数据对象对应的存储设备(即存储当前遍历的第一数据对象的存储设备)的设备类型不匹配时,可以将当前遍历的第一数据对象,作为第二数据对象。
[0120]
需要说明的是,步骤105中对读写属性和设备类型匹配的解释说明同样适用于该实施例中,在此不做赘述。
[0121]
还需要说明的是,在依次遍历排序序列中的各第一数据对象时,可以是按照正向的从大到小的顺序遍历,或者也可以按照反向的从小到大的顺序遍历,本公开对此不做限制。
[0122]
作为一种示例,在将各第一数据对象按照热度值由大到小排序,得到排序序列,并依次遍历排序序列中的各第一数据对象,假设当前遍历的第一数据对象的读写属性为热偏读,存储该当前遍历的第一数据对象的存储设备为ssd3;将该当前遍历的第一数据对象的读写属性热偏读和该当前遍历的第一数据对象的存储设备ssd3的设备类型(热偏写设备类型)进行匹配,确定该当前遍历的第一数据对象的读写属性热偏读与当前遍历的第一数据
对象对应的存储设备ssd3的设备类型不匹配,此时,表明该当前遍历的第一数据对象对应的存储设备ssd3不适合存储该当前遍历的第一数据对象,因此,可以将该当前遍历的第一数据对象作为待迁移的第二数据对象。
[0123]
由此,可以有效且准确的确定各第一数据对象中需要被迁移的数据对象,以便于后续对需要被迁移的数据对象进行迁移。
[0124]
在本公开实施例的还一种可能的实现方式中,还可以获取初始化的数据迁移队列和初始化的空闲设备集合;可以将第二数据对象插入数据迁移队列,并可以将第二数据对象对应的存储设备加入空闲设备集合。
[0125]
在本公开实施例中,数据迁移队列可以用于存储需要被迁移的第二数据对象,比如,标记数据迁移队列为transferlist。
[0126]
在本公开实施例中,空闲设备集合可以用于记录存储第二数据对象的存储设备,比如,标记空闲设备集合为freelist。
[0127]
比如,初始化数据迁移队列transferlist和初始化空闲设备集合freelist,假设存在第二数据对象1、第二数据对象2、第二数据对象3、第二数据对象4,第二数据对象1对应的存储设备为ssd1,第二数据对象2对应的存储设备为ssd2,第二数据对象3对应的存储设备为hdd3,第二数据对象4对应的存储设备为ssd3,则可以将第二数据对象1、第二数据对象2、第二数据对象3和第二数据对象4依次插入数据迁移队列,并可以将上述4个第二数据对象对应的存储设备加入空闲设备集合,此时,空闲设备集合freelist为{ssd1,ssd2,hdd3,ssd3}。
[0128]
步骤409,将第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。
[0129]
步骤409的执行过程可以参见本公开任一实施例的执行过程,在此不做赘述。
[0130]
为了实现将第二数据对象有效迁移至设备类型与对应读写属性匹配的存储设备,作为一种可能的实现方式,可以依次从数据迁移队列拉取队列元素;针对当前拉取的队列元素,可以遍历空闲设备集合中的空闲存储设备,以将遍历的空闲存储设备的设备类型与当前拉取的队列元素的读写属性进行匹配;响应于遍历的空闲存储设备的设备类型与当前拉取的队列元素的读写属性匹配,可以将队列元素迁移至遍历的空闲存储设备。
[0131]
仍以上述示例进行说明,从数据迁移队列拉取队列元素第二数据对象1,针对第二数据对象1,遍历空闲设备集合freelist{ssd1,ssd2,hdd3,ssd3}中的空闲存储设备,并将遍历的空闲存储设备的设备类型与当前拉取的队列元素的读写属性进行匹配;比如,当第二数据对象1的读写属性与遍历的空闲存储设备ssd3的设备类型匹配,可以将该队列元素第二数据对象1迁移至遍历的空闲存储设备ssd3。
[0132]
作为另一种可能的实现方式,在将队列元素迁移至设备类型与队列元素的读写属性匹配的遍历的空闲存储设备之后,可以将该遍历的空闲存储设备从空闲设备集合中移除。
[0133]
仍以上述示例进行说明,当队列元素第二数据对象1迁移至遍历的空闲存储设备ssd3之后,可以将遍历的空闲存储设备ssd3从空闲设备集合freelist{ssd1,ssd2,hdd3,ssd3}中移除,该空闲存储设备更新为{ssd1,ssd2,hdd3}。
[0134]
作为再一种可能的实现方式,当空闲设备集合中的空闲存储设备的设备类型与当前拉取的队列元素的读写属性均不匹配的情况下,可以从所有的存储设备中随机选取目标
存储设备,且该目标存储设备的设备类型与当前拉取的队列元素的读写属性匹配。
[0135]
仍以上述示例进行说明,当队列元素第二数据对象2的读写属性与空闲设备集合freelist{ssd1,ssd2,hdd3,ssd3}中的空闲存储设备的设备类型均不匹配的情况下,可以从所有的存储设备ssd1,ssd2,ssd3,hdd1,hdd2,hdd3,hdd4中随机选取目标存储设备,且该目标存储设备的设备类型与队列元素第二数据对象2的读写属性匹配,比如,目标存储设备为hdd2,且该目标存储设备的设备类型与第二数据对象2的读写属性匹配。
[0136]
作为还一种可能的实现方式,在数据迁移队列为空的情况下,表明数据迁移队列无待迁移的第二数据对象,此时可以结束数据对象的迁移操作,并可以在设定时长后,重新执行本公开中任一实施例的大数据环境下的数据对象迁移方法的步骤,以将存储在不合适的存储设备中的数据对象进行迁移。
[0137]
其中,设定时长可以是预先设定的,比如,可以为10日、20日、30日等等,本公开对此不做限制。
[0138]
本公开实施例的大数据环境下的数据对象迁移方法,通过根据各第一数据对象的访问信息,确定各第一数据对象的热度值;针对第一数据对象,根据对应多个维度的访问信息中的读访问频率和写访问频率,确定读写频率比;根据第一数据对象对应的读写频率比和热度值,确定第一数据对象的读写属性。由此,可以有效且准确地确定各第一数据对象的读写属性。
[0139]
为了更加清楚地说明上述各实施例,下面结合下述示例对本公开的大数据环境下的数据对象迁移方法进行说明。
[0140]
步骤1.获取m个存储设备,并获取存储于上述m个存储设备中的n个第一数据对象。
[0141]
其中,m个存储设备对应的对象存储设备集合osd为:osd={osd1,osd2,osd3,

,osdm};其中,对象存储设备集合osd中包括k个ssd,p个hhd,m=k+p,且每一个存储设备可以设置选取属性信息selected,并初始化各存储设备的选取属性信息selected为false(即未被选取);其中,n个第一数据对象及其副本通过一致性hash均匀分布至对象存储设备集合osd中的存储设备中,且任一第一数据对象对应的元数据metadata可以记录该任一第一数据对象的主从副本的位置索引,且元数据末尾可以扩展2个字节,其中一个字节用于存储数据对象的热度值heat,另一个字节用于存储读写属性type。
[0142]
步骤2.建立热偏读设备集合lista,热偏写设备集合listb,冷设备集合listc,并初始化lista、listb和listc为空,其中,热偏读设备集合lista用于存储设备类型为热偏读设备类型的存储设备,热偏写设备集合listb用于存储设备类型为热偏写设备类型的存储设备,冷设备集合listc用于存储设备类型为冷设备类型的存储设备。
[0143]
步骤3.依次遍历对象存储设备集合osd中的存储设备,在当前遍历的存储设备为ssd,且该当前遍历的存储设备的选取属性信息selected为false,且热偏读设备集合lista中元素的数量小于k/2的情况下,可以将该当前遍历的存储设备加入热偏读设备集合lista,并将该当前遍历的存储设备的选取属性信息selected更新为true;在热偏读设备集合lista中元素的数量等于k/2的情况下,可以转入步骤4。
[0144]
作为一种示例,以对对象存储集合osd中的存储设备设置选取属性信息进行示例,
可以使用一个selected数组来描述是否选取或选择过对象存储集合osd中的存储设备osdi(i∈[1,m]),比如,可以先定义boolean[]selected= new boolean[m],以用于表示对象存储集合osd中的存储设备是否被选取;如果对象存储集合osd中第i个存储设备osdi未被选取,那么selected[i-1]=false;如果对象存储集合osd中第i个存储设备osdi已被选取,那么selected[i-1]=true;由此,在后续遍历对象存储设备集合osd时,只需要访问对应的selected数组即可知道对象存储设备集合osd中的存储设备是否被选取。
[0145]
步骤4.重新依次遍历对象存储设备集合osd中的存储设备,在当前遍历的存储设备为ssd,且该当前遍历的存储设备的选取属性信息selected为false时,可以将该当前遍历的存储设备直接加入热偏写设备集合listb,并将该当前遍历的存储设备的选取属性信息selected更新为true;在完成对对象存储设备集合osd中的存储设备的遍历操作之后,可以转入步骤5。
[0146]
步骤5.再次依次遍历对象存储设备集合osd中的存储设备,在当前遍历的存储设备的选取属性信息selected为false的情况下,可以将该当前遍历的存储设备加入冷设备集合listc中;在完成对对象存储设备集合osd中的存储设备的变遍历操作之后,可以转入步骤6。
[0147]
步骤6.将冷设备集合listc中的前k/2个元素加入热偏写设备集合listb中。
[0148]
由此,通过执行步骤2至步骤6,可以实现将多个存储设备划分到多个设备类型的集合中,并确定各存储设备的设备类型,图5为多个存储设备的划分流程示意图。
[0149]
步骤7.在设定时段(比如[2022年11月15日05:11,2022年11月16日05:11])内,可以记录存储在多个存储设备上的各第一数据对象的四个维度(读访问频率、写访问频率、最近访问时间和访问次数)的访问信息,并将读访问频率、写访问频率、最近访问时间和访问次数这些维度作为各第一数据对象的影响因子。
[0150]
步骤8.针对任一第一数据对象,获取与第一数据对象对应的上述多个维度(即多个影响因子)的q*q(q=4)的判断矩阵a(与步骤405中的示例相同)。
[0151]
需要说明的是,判断矩阵可以是基于大量的实验基础上获取的,或者也可以人工确定(比如可以采用专家群体的判断性结论而确定),本公开对此不做限制。
[0152]
步骤9.可以采用上述公式(2)确定判断矩阵a的多个特征值λ,可以从各特征值中确定最大特征值λ
max
;采用上述公式(3)确定一致性指标ci,以及根据矩阵a的阶数q查找到与q对应的平均随机一致性指标ri,采用上述公式(4)可以确定一致性比例cr;当cr小于0.1时,表明判断矩阵a有比较满意的一致性,此时,可以通过一致性检验,可以转入步骤10;而当cr未小于0.1时,表明判断矩阵a不一致程度不符合要求,此时,不通过一致性检验,并可以重新获取新的判断矩阵a,即返回步骤8,以重新进行一致性检验,比如,可以根据专家群体判断,对判断矩阵a中的元素重新赋值。
[0153]
步骤10.采用上述公式(5)对判断矩阵a中的每一个元素a
ij
进行归一化处理,并采用上述公式(6)确定四个维度中每一个维度对应的权重wi(i∈[1,4])。
[0154]
步骤11.根据任一第一数据对象对应的四个维度的访问信息(即读访问频率r、写访问频率z、最近访问时间t和访问次数m)和四个维度对应的权重wi(i∈[1,4]),可以根据上述公式(7)确定该任一第一数据对象的热度值heat,并可以根据该任一第一数据对象对应多个维度的访问信息中的读访问频率r和写访问频率z,确定读写频率比f为r/z。
[0155]
由此,通过步骤7至步骤11,可以准确确定各第一数据对象的热度值和读写频率比,图6为确定各第一数据对象的热度值和读写频率比的流程示意图。
[0156]
步骤12.(1)可以将各第一数据对象按照对应热度值由大至小排序,以得到排序序列,比如,可以构建热度值列表heatlist,该热度值列表可以存储按照降序排列的各第一数据对象的地址索引。
[0157]
(2)可以根据各第一数据对象的读写频率比,初始化各第一数据对象的读写属性;比如,当该任一第一数据对象的读写频率比大于1时,可以初始化该任一第一数据对象的读写属性type为读热rh;当该任一第一数据对象的读写频率比未大于1时,可以初始化该任一第一数据对象的读写属性type为读热wh。
[0158]
步骤13.按照各第一数据对象的热度值从大到小的顺序,依次遍历各第一数据对象,当任一第一数据对象的序号小于或者等于3nk/2(k+p),且该任一第一数据对象的读写属性type为读热rh时,可以将该任一第一数据对象的读写属性type更新为热偏读handr;当该任一第一数据对象的序号小于或者等于3nk/2(k+p),且该任一第一数据对象的读写属性type为写热wh时,可以将该任一第一数据对象的读写属性type更新为热偏读handw;当该任一第一数据对象的序号大于3nk/2(k+p),可以将该任一第一数据对象的读写属性type更新为冷读写cold。
[0159]
由此,通过步骤12至步骤13,可以有效确定各第一数据对象的读写属性,图7为确定各第一数据对象的读写属性的流程示意图。
[0160]
步骤14.获取初始化的数据迁移队列transferlist和初始化的空闲设备集合freelist;依次遍历排序序列中的各第一数据对象,以获取当前遍历的第一数据对象的读写属性type和对应的存储设备的设备类型;响应于当前遍历的第一数据对象的读写属性type与当前遍历的第一数据对象对应的存储设备的设备类型不匹配,将当前遍历的第一数据对象,作为第二数据对象,并可以将该第二数据对象插入数据迁移队列transferlist,以及将该第二数据对象对应的存储设备加入空闲设备集合freelist,并可以将该第二数据对象的存储设备标记为逻辑删除状态。
[0161]
步骤15.当数据迁移队列transferlist中队列元素的数量不为0时,可以依次从数据迁移队列transferlist拉取队列元素;针对当前拉取的队列元素,可以遍历空闲设备集合freelist中的空闲存储设备,以将遍历的空闲存储设备的设备类型与当前拉取的队列元素的读写属性进行匹配;响应于遍历的空闲存储设备的设备类型与当前拉取的队列元素的读写属性type匹配,将队列元素迁移至遍历的空闲存储设备,并可以从空闲设备集合中移除该遍历的空闲存储设备。当数据迁移队列transferlist中队列元素的数量为0时,可以转入步骤16。
[0162]
由此,通过步骤14至步骤15,可以实现将存储在不合适的存储设备中的第二数据对象迁移至合适的(或正确的)存储设备中,图8为第二数据对象的迁移流程示意图。
[0163]
步骤16.完成数据对象迁移,在设定时长(比如30*24*60*60s(second,秒))后,可以返回步骤1,以将存储在不合适的存储设备中的数据对象进行迁移。
[0164]
本公开的大数据环境下的数据对象迁移方法,首先将所有的数据对象的存储设备划分为三种类型的存储设备,即热偏读设备类型的存储设备、热偏写设备类型的存储设备和冷设备类型的存储设备;其次,根据所有数据对象的在一段时间内的访问信息,提取出四
个对数据对象的热度值影响较大的影响因子,并确定各数据对象的读写频率比,并根据四个影响因子确定所有数据对象的热度值;再者,对各数据对象按照热度值的降序进行排序,并根据各数据对象的读写频率比和热度值,确定各数据对象的读写属性;最后,根据各数据对象的读写属性和各数据对象所存储的存储设备的设备类型,从各数据对象中确定存储在不合适的存储设备中的数据对象,并通过迁移队列将该存储在不合适的存储设备的数据对象迁移至正确的存储设备中。由此,基于数据对象的读写属性和数据对象所存储的存储设备的设备类型的匹配结果,可以准确确定需要迁移的数据对象,从而可以实现对需要迁移的数据对象进行迁移,提高存储设备的寿命和读写性能,并可以有效降低系统延迟。
[0165]
与上述图1至图4实施例提供的大数据环境下的数据对象迁移方法相对应,本公开还提供一种大数据环境下的数据对象迁移装置,由于本公开实施例提供的大数据环境下的数据对象迁移装置与上述图1至图4实施例提供的大数据环境下的数据对象迁移方法相对应,因此在大数据环境下的数据对象迁移方法的实施方式也适用于本公开实施例提供的大数据环境下的数据对象迁移装置,在本公开实施例中不再详细描述。
[0166]
图9为本公开实施例五所提供的大数据环境下的数据对象迁移装置的结构示意图。
[0167]
如图9所示,该大数据环境下的数据对象迁移装置900可以包括:第一获取模块901、划分模块902、第二获取模块903、第一确定模块904、第二确定模块905及第一迁移模块906。
[0168]
其中,第一获取模块901,用于获取多个存储设备,并获取存储于多个存储设备中的多个第一数据对象。
[0169]
划分模块902,用于对多个存储设备进行划分,以得到多种设备类型的存储设备;其中,设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型。
[0170]
第二获取模块903,用于获取各第一数据对象的访问信息。
[0171]
第一确定模块904,用于根据各第一数据对象的访问信息,确定各第一数据对象的读写属性;其中,读写属性包括热偏读、热偏写和冷读写。
[0172]
第二确定模块905,用于根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象。
[0173]
第一迁移模块906,用于将第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。
[0174]
在本公开实施例的一种可能的实现方式中,划分模块902,用于:遍历多个存储设备,以获取多个存储设备的类型属性信息和选取属性信息;根据类型属性信息和选取属性信息,将多个存储设备划分为多种设备类型的存储设备。
[0175]
在本公开实施例的一种可能的实现方式中,第二获取模块903,用于:在设定时段内,记录各第一数据对象的读访问频率、写访问频率、访问时间和访问次数;根据记录的各第一数据对象的读访问频率、写访问频率、访问时间和访问次数,确定各第一数据对象对应的多个维度的访问信息。
[0176]
在本公开实施例的一种可能的实现方式中,第一确定模块904,用于:根据各第一数据对象的访问信息,确定各第一数据对象的热度值;针对任一第一数据对象,根据对应多个维度的访问信息中的读访问频率和写访问频率,确定读写频率比;根据各第一数据对象
对应的读写频率比和热度值,确定各第一数据对象的读写属性。
[0177]
在本公开实施例的一种可能的实现方式中,第一确定模块904,用于:针对任一第一数据对象,获取与第一数据对象对应的多个维度的访问信息匹配的判断矩阵;根据判断矩阵,确定多个维度对应的权重;根据第一数据对象对应的多个维度的访问信息和多个维度对应的权重,确定第一数据对象的热度值。
[0178]
在本公开实施例的一种可能的实现方式中,第二确定模块905,用于:将各第一数据对象按照对应热度值由大至小排序,以得到排序序列;依次遍历排序序列中的各第一数据对象,以获取当前遍历的第一数据对象的读写属性和对应的存储设备;响应于当前遍历的第一数据对象的读写属性与当前遍历的第一数据对象对应的存储设备的设备类型不匹配,将当前遍历的第一数据对象,作为第二数据对象。
[0179]
在本公开实施例的一种可能的实现方式中,该大数据环境下的数据对象迁移装置900可以包括:第三获取模块,用于获取初始化的数据迁移队列和初始化的空闲设备集合。
[0180]
第二迁移模块,用于将第二数据对象插入数据迁移队列。
[0181]
加入模块,用于将第二数据对象对应的存储设备加入空闲设备集合。
[0182]
在本公开实施例的一种可能的实现方式中,第一迁移模块906,用于:依次从数据迁移队列拉取队列元素;针对当前拉取的队列元素,遍历空闲设备集合的空闲存储设备,以将遍历的空闲存储设备的设备类型与当前拉取的队列元素的读写属性进行匹配;响应于遍历的空闲存储设备的设备类型与当前拉取的队列元素的读写属性匹配,将队列元素迁移至遍历的空闲存储设备。
[0183]
在本公开实施例的一种可能的实现方式中,该大数据环境下的数据对象迁移装置900可以包括:移除模块,用于从空闲设备集合中移除遍历的空闲存储设备。
[0184]
本公开实施例的大数据环境下的数据对象迁移装置,通过获取多个存储设备,并获取存储于多个存储设备中的多个第一数据对象;对多个存储设备进行划分,以得到多种设备类型的存储设备;其中,设备类型包括热偏读设备类型、热偏写设备类型以及冷设备类型;获取各第一数据对象的访问信息,并根据各第一数据对象的访问信息,确定各第一数据对象的读写属性;其中,读写属性包括热偏读、热偏写和冷读写;根据各第一数据对象的读写属性和对应的存储设备的设备类型,从各第一数据对象中确定待迁移的第二数据对象;将第二数据对象迁移至设备类型与对应读写属性匹配的存储设备。由此,通过判断各数据对象的读写属性和各数据对象所存储的存储设备的设备类型是否匹配的方式,来从各数据对象中确定读写属性与对应存储设备的设备类型不匹配的待迁移的数据对象,并将该待迁移的数据对象迁移至设备类型与其读写属性匹配的存储设备中,可以提升存储设备的性能和使用寿命。
[0185]
为了实现上述实施例,本公开还提出一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现本公开前述任一实施例提出的大数据环境下的数据对象迁移方法。
[0186]
为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开前述任一实施例提出的大数据环境
下的数据对象迁移方法。
[0187]
为了实现上述实施例,本公开还一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如本公开前述任一实施例提出的大数据环境下的数据对象迁移方法。
[0188]
如图10所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0189]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture;以下简称:isa)总线,微通道体系结构(micro channelarchitecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(video electronics standards association;以下简称:vesa)局域总线以及外围组件互连(peripheralcomponent interconnection;以下简称:pci)总线。
[0190]
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0191]
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(random access memory;以下简称:ram)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compact disc read only memory;以下简称:cd-rom)、数字多功能只读光盘(digital video disc read only memory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
[0192]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
[0193]
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(local areanetwork;以下简称:lan),广域网(widearea network;以下简称:wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单
元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0194]
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
[0195]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、
ꢀ“
示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0196]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0197]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
[0198]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0199]
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0200]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介
质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0201]
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0202]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1