一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据迁移过程中的数据处理方法、服务器及存储系统与流程

2021-10-24 05:40:00 来源:中国专利 TAG:互联网 数据处理 迁移 过程中 器及


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.基于所述迁移分配信息,更新所述服务器存储空间利用率表,并返回执行根据所述服务器存储空间利用率表,从所有所述第三服务器中筛选出空间利用率最低的第五服务器的步骤,循环至所述服务器存储空间利用率表中所有所述第三服务器的存储空间利用率的均方差不超过预设阈值,以为所述存储系统中的所有数据池分配数据迁移后所属的服务器。
35.第二方面,本发明还提出了一种数据迁移过程中的数据处理装置,包括:
36.请求接收模块,用于在数据迁移过程中,接收用户的数据处理请求;所述数据处理请求包括读请求或写请求;
37.请求解析模块,用于对所述数据处理请求进行解析,获得所述数据处理请求对应的目标数据池;
38.服务器确定模块,用于根据所述目标数据池的迁移状态,从源服务器与目标服务器中确定待处理服务器;其中,所述源服务器为所述目标数据池迁移前所属的服务器,所述目标服务器为所述目标数据池迁移后所属的服务器;数据处理模块,用于对所述待处理服
务器进行相应的数据处理。
39.第三方面,本发明还提出了一种元数据服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据迁移过程中的数据处理程序,所述数据迁移过程中的数据处理程序配置为实现上述方法的步骤。
40.第四方面,本发明还提出了一种分布式存储系统,包括:
41.元数据服务器;以及
42.至少一台服务器,所有所述服务器均与所述元数据服务器连接。
43.第五方面,本发明还提出了一种计算机程序产品,包括可执行的程序代码,其中,所述程序代码在由处理器执行时执行如上述的数据迁移过程中的数据处理方法。
44.本发明实施例提出的一种数据迁移过程中的数据处理方法,该方法在数据处理请求对应的目标数据池处于迁移中状态时,从数据迁移前的源服务器与数据迁移后的目标服务器中确定待处理服务器,并对待处理服务器进行数据处理。如此,数据进行迁移的过程中,可以正常处理读请求和写请求,不产生脏数据,并保证数据迁移正常进行、不发生中断。
附图说明
45.图1为本发明实施例中元数据服务器示意图;
46.图2为本发明数据迁移过程中的数据处理方法的第一实施例的流程示意图;
47.图3为本发明数据迁移过程中的数据处理方法的第二实施例的流程示意图;
48.图4为本发明数据迁移过程中的数据处理方法的第三实施例的流程示意图;
49.图5为本发明数据迁移过程中的数据处理方法的第四实施例的流程示意图;
50.图6为本发明数据迁移过程中的数据处理装置第一实施例的功能模块示意图;
51.图7为本发明数据迁移过程中的数据处理装置第一实施例的细化功能模块示意图。
52.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
53.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
54.相关技术中,在进行数据迁移时,为了不产生脏数据,如数据迁移时又产生了新的需要迁移的数据,或者原数据在迁移过程中被修改,需要暂停业务服务,在数据迁移完成后再重新开放业务服务。
55.为了解决这一问题,提出本发明的在数据迁移过程中的数据处理方法的各个实施例。本发明在数据处理请求对应的目标数据池处于迁移中状态时,从数据迁移前的源服务器与数据迁移后的目标服务器中确定待处理服务器,并对进行数据处理。这样,数据进行迁移的过程中,可以正常处理读请求和写请求,不产生脏数据,保证迁移过程正常进行、不发生中断。
56.参照图1,图1为本发明实施例方案涉及的硬件运行环境的元数据服务器的推荐设备结构示意图。
57.通常,该元数据服务器包括至少一个处理器301、存储器302以及存储在存储器上并可在处理器上运行的数据迁移过程中的数据处理程序。
58.处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。
59.存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本技术中方法实施例提供的数据迁移过程中的数据处理方法。
60.在一些实施例中,元数据服务器还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。通信接口303用于接收用户发送的数据处理请求。在一些实施例中,处理器301、存储器302和通信接口303被集成在同一芯片或电路板上;在一些其他实施例中,处理器301、存储器302和通信接口303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
61.本领域技术人员可以理解,图1中示出的结构并不构成对元数据服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
62.进一步的,本发明还提供了一种存储系统,该存储系统还包括上述的元数据服务器以及至少一个存储服务器。其中,所有存储服务器均与元数据服务器连接。
63.本发明实施例提供了一种数据迁移过程中的数据处理方法,参照图2,图2为本发明数据迁移过程中的数据处理方法的第一实施例的流程示意图。
64.本实施例中,数据迁移过程中的数据处理方法可应用于分布式存储系统化的元数据服务器中,该分布式存储系统还包括至少一个存储服务器。下文以该实施例使用于分布式存储系统中元数据服务器为例进一步阐述。本领域技术人员在本技术公开的基础上容易想到该方法使用于传统集中式存储系统或者云存储系统或者其他存储系统时的情形,本实施例对此并不赘述。
65.元数据服务器只有一个服务器s0时,服务器s0拥有整个数据池集合c
p
。有两个服务器时,服务器s0、s1共同拥有整个数据池集合c
p
,其中,s0拥有数据池集合c
p0
,s1拥有数据池集合c
p1
,c
p0
∈c
p
,c
p1
∈c
p
,c
p0
∩c
p1
=φ,c
p0
∪c
p1
=c
p
。多个服务器以此类推。
66.本实施例中,数据迁移过程中的数据处理方法包括以下步骤:
67.步骤s101、在数据迁移过程中,接收用户的数据处理请求。
68.数据迁移过程中表示全部需要迁移的数据中的至少一部分还未完成迁移。本步骤中接收到用户办理业务的数据处理请求在数据迁移过程中,且在此过程中,本实施例不暂停数据迁移任务,也不暂停处理用户发起的数据处理请求。其中,数据处理请求包括读请求或写请求。
69.步骤s102、获得数据处理请求对应的目标数据池。
70.数据处理请求携带有其指向的数据文件的信息,该数据文件具有唯一id。该唯一id可根据存储服务器网卡物理mac地址 文件名来生成。在该数据处理请求中该数据文件指向的数据池即为目标数据池。
71.该步骤中,可通过解析数据处理请求得到目标数据池,或者从目标数据池直接提取出目标数据池。
72.步骤s103、根据目标数据池的迁移状态,从源服务器与目标服务器中确定待处理服务器;其中,源服务器为目标数据池迁移前所属的服务器,目标服务器为目标数据池迁移后所属的服务器。
73.本实施例中,元数据服务器内置有第一状态信息表。其中,第一状态信息表中存储有所有数据池的迁移状态信息以及任一数据池所属的存储服务器信息,且存储服务器信息包括数据池迁移前所属的源服务器信息以及迁移后所属的目标服务器信息。
74.如,第一状态信息表为表1所示的数据池与服务器映射关系表。
75.表1
[0076][0077]
第一状态信息表中存储有所有数据池的迁移状态信息,以及数据池所属的存储服务器信息。
[0078]
其中迁移状态信息包括稳定状态、待迁移状态以及迁移中状态三种:
[0079]
其中,稳定状态为数据已经迁移完成或者已经全部复制到迁移路径上的目标服务器中。此时,第一状态信息表中该数据池映射的存储服务器为当前所属的服务器,即迁移后所属的目标服务器。如,在第一状态信息表的存储服务器一栏中,对于数据池p
i
,其所属存储服务器信息为“s
k”,s
k
为迁移完成后所属的目标服务器。
[0080]
待迁移状态为数据池已经分配有相应的目标服务器,但是还未开始迁移。此时,第一状态信息表中该数据池映射的存储服务器包括数据池数据迁移前所属的源服务器以及迁移后所属的目标服务器。如,在第一状态信息表的存储服务器一栏中,对于数据池p
i
,其所属存储服务器信息为“s
i
|s
k”,从而反应其迁移路径,s
i
为数据池p
i
数据迁移前所属的源服务器,s
k
为迁移后所属的目标服务器。
[0081]
迁移中状态即数据池中的数据正在迁移,但是还有部分未完成迁移。此时,第一状态信息表中该数据池映射的存储服务器包括数据池数据迁移前所属的源服务器以及迁移后所属的目标服务器。
[0082]
三种状态可通过在数据池与服务器映射关系表中使用不同的赋值表示。如
pstate0表示稳定状态、pstate1表示待迁移状态、pstate2表示迁移中状态。
[0083]
该步骤中,元数据服务器可读取第一状态信息表中该目标数据池的迁移状态信息的赋值,从而确定目标数据池正处于稳定状态、待迁移状态以及迁移中状态中的哪一种。
[0084]
在确定好目标数据池的迁移状态后,即可从源服务器与目标服务器中确定待处理服务器。待处理服务器可进行相应的操作,从而在数据迁移过程中也可响应于数据处理请求,执行相应的数据处理。
[0085]
步骤s104、对待处理服务器进行相应的数据处理。
[0086]
在确定好需要执行数据处理的待处理服务器后,在相应的待处理服务器执行相应的数据处理即可,如根据写请求写入数据文件,或者根据读请求读取数据文件。
[0087]
本实施例中,确定目标数据池的迁移状态后,从数据迁移前的源服务器与数据迁移后的目标服务器中确定待处理服务器,并对进行数据处理。这样,数据进行迁移的过程中,可以正常处理数据处理请求,不产生脏数据,保证迁移过程正常进行、不发生中断。
[0088]
容易理解的,若目标数据池处于待迁移状态,此时目标数据池中的数据文件还未开始迁移,因此,可将目标数据池的源服务器作为待处理服务器进行读取,产生的数据可在后续的迁移中一并迁移,从而不会产生脏数据,也可正常执行数据处理。
[0089]
若目标数据池处于稳定状态,此时目标数据池的全部数据文件均完成迁移,因此,可将目标数据池的目标服务器作为待处理服务器进行读写。此时,由于目标数据池的状态稳定,也不会产生脏数据,并可正常执行数据处理。
[0090]
在一具体实施例中,所述数据处理请求为写请求。此时,本实施例中,方法包括:
[0091]
步骤s101

、在数据迁移过程中,接收用户的写请求。
[0092]
步骤s102

、获得写请求对应的目标数据池。
[0093]
由于数据处理请求为写请求,写请求即在存储系统中新增数据文件。元数据服务器可根据数据处理请求解析得到写请求欲写入的数据文件将属于的目标数据池。
[0094]
步骤s103

、若所述目标数据池处于迁移中状态,则将所述目标服务器作为待处理服务器。
[0095]
步骤s104、对待处理服务器进行相应的数据处理。
[0096]
具体而言,若数据处理请求为写请求,通过将目标数据池迁移后的目标服务器作为待处理服务器进行数据处理,即将新增数据文件写入数据池待迁移至的目标服务器内。
[0097]
确定写请求的待处理服务器是目标数据池迁移后的目标服务器,即将新增数据文件直接写入到目标服务器中,从而防止源服务器在迁移过程中产生脏数据。该写入的新增数据文件写入的具体位置可为分配给目标数据池的存储空间。如此,数据进行迁移的过程中,可以正常处理读请求和写请求,不产生脏数据,保证迁移过程正常进行、不发生中断。
[0098]
在一具体实施例中,所述数据处理请求为读请求。此时,本实施例中,方法包括:
[0099]
步骤s101〞、在数据迁移过程中,接收用户的读请求。
[0100]
步骤s102〞、获得写请求对应的目标数据池。
[0101]
由于数据处理请求为读请求,读请求即读取已经存储的数据文件,元数据服务器可根据数据处理请求解析得到读请求欲读取的数据文件所属的目标数据池。
[0102]
步骤s103〞、若所述目标数据池处于迁移中状态,则将所述源服务器作为待处理服务器。
[0103]
步骤s104、对待处理服务器进行相应的数据处理。
[0104]
具体而言,若数据处理请求为读请求时,通过将目标数据池迁移前的源服务器作为待处理服务器进行数据处理,即从源服务器读取目标文件。
[0105]
确定读请求的待处理服务器是目标数据池迁移前的源服务器,即从源服务器读取所需的数据文件,从而防止读取失败。
[0106]
本实施例中,确定目标数据池的迁移状态后,若数据处理请求为写请求,通过将目标数据池迁移后的目标服务器作为待处理服务器进行数据处理,即将新增数据文件写入数据池待迁移至的目标服务器内,若数据处理请求为读请求时,通过将目标数据池迁移前的源服务器作为待处理服务器进行数据处理,即从源服务器读取目标文件。如此,数据进行迁移的过程中,可以正常处理读请求和写请求,不产生脏数据,保证迁移过程正常进行、不发生中断。
[0107]
此外,基于本发明上述数据迁移过程中的数据处理方法第一实施例,提出本发明数据迁移过程中的数据处理方法的第二实施例。参阅图3,图3为本发明数据迁移过程中的数据处理方法的第二实施例的流程示意图。容易理解的,由于数据池中空间占用不同,存在空间占用率较高的数据池中目标数据文件较多,还需要进一步确定目标数据文件的迁移状态,以避免数据读取失败。
[0108]
本实施例中数据迁移过程中的数据处理方法包括以下步骤:
[0109]
步骤s201、在数据迁移过程中,接收用户的读请求。
[0110]
步骤s202、对所述读请求进行解析,获得读请求对应的目标数据文件。
[0111]
步骤s203、将所述目标数据文件所属的数据池作为目标数据池。
[0112]
步骤s204、若所述目标数据池处于迁移中状态,则确定目标数据文件的迁移状态。
[0113]
目标数据文件为该次读请求所欲读取的数据文件。本实施例中,元数据服务器可通过第二状态信息表读取任一数据文件的迁移状态信息。
[0114]
如表2所示,第二状态信息表为元数据服务器内置的数据文件与数据池映射关系表。
[0115]
表2
[0116][0117][0118]
第二状态信息表中存储有所有数据文件的迁移状态信息,以及任一数据文件所属的数据池信息。其中迁移状态信息包括稳定状态、待迁移状态以及迁移中状态三种。
[0119]
其中,稳定状态为该数据文件已经迁移完成或者已经全部复制到迁移路径上的目
标服务器中。此时,第二状态信息表中该数据文件所属的数据池映射的服务器信息可通过实时读取第一状态信息表来获取。
[0120]
待迁移状态为数据文件所属的数据池进入待迁移状态或者迁移中状态,但是该数据文件还未开始迁移。
[0121]
迁移中状态即数据文件正在迁移。
[0122]
容易理解的,三种状态可通过在第二状态信息表中使用不同的赋值表示。如:fstate0表示稳定状态,fstate1表示待迁移状态,fstate2表示迁移中状态。
[0123]
该步骤中,元数据服务器可通过读取第二状态信息表的方式确定该目标数据文件的迁移状态信息,从而确定目标数据文件具体正处于稳定状态、待迁移状态以及迁移中状态中的哪一种。
[0124]
步骤s205、若目标数据文件处于迁移中状态或者迁移前状态,则将源服务器作为待处理服务器。
[0125]
具体而言,若元数据服务器通过读取第二状态信息表确定目标数据文件为迁移中状态,元数据服务器可通过读取第一状态信息表确定该目标数据文件所属的数据池映射的服务器信息。
[0126]
目标数据池处于迁移中状态,则目标数据池映射的服务器信息包括该目标数据池数据迁移前所属的源服务器以及迁移后所属的目标服务器。此时,为了避免读取失败,可将该目标数据池数据迁移前所属的源服务器作为待处理服务器,从而可以成功读取到目标数据文件。
[0127]
且当目标数据池属于迁移前状态,则目标数据池映射的服务器信息也包括该目标数据池迁移前所属的源服务器以及迁移后所属的目标服务器。此时,为了避免读取失败,可将该目标数据池数据迁移前所属的源服务器作为待处理服务器,从而可以成功读取到目标数据文件。
[0128]
容易理解的,若目标数据文件处于稳定状态,此时,目标数据文件已经完成了迁移,此时,可将该目标数据池数据迁移后所属的目标服务器作为待处理服务器,从而可以成功读取到目标数据文件。
[0129]
步骤s206、对待处理服务器进行相应的数据处理。
[0130]
在确定好需要执行数据处理的待处理服务器后,在相应的待处理服务器读取目标数据文件即可。
[0131]
本实施例中,通过对处于迁移中状态的数据池进一步确定该数据池内目标数据文件的迁移状态信息,从而可进一步确保在数据迁移过程中数据处理成功进行,保证数据处理的可靠性。
[0132]
在一些实施例中,元数据服务器内部署有第一状态信息表,第一状态信息表中存储有所有数据池的迁移状态信息以及任一数据池所属的存储服务器信息,且存储服务器信息包括数据池迁移前所属的源服务器信息以及迁移后所属的目标服务器信息。而在数据迁移完成后,任一数据文件,任一数据池均处于稳定状态,此时,元数据服务器可根据数据池所属的目标服务器更新第一状态信息表中的存储服务器信息。更新后,第一状态信息表中任一数据池映射的存储服务器信息仅有其迁移后所属目标服务器的信息,即其当前所属服务器的信息。
[0133]
此外,本发明实施例提供了一种数据迁移方法中数据处理方法的第三实施例,参照图4,图4为本发明数据迁移方法中数据处理方法的第三实施例的流程示意图。
[0134]
容易理解的,在分布式存储系统中,由于存储服务器的数量增多,即分布式存储系统的状态发生变化导致分布式存储系统中产生迁移任务。
[0135]
本实施例中,在步骤s101之前还包括以下步骤:
[0136]
步骤a10、从存储系统中确定新增服务器。
[0137]
本实施例中,可接收存储系统的第一状态变更信息。其中,第一状态变更信息用于表示存储系统中的服务器数量增多,且第一状态变更信息包括新增服务器信息,新增服务器信息包括新增服务器的磁盘空间信息。
[0138]
从而可基于第一状态信息确定存储系统的新增服务器。
[0139]
元数据服务器接收到存储系统的第一状态变更信息后,即可获取到新增服务器的数量,地址、每个新增服务器的磁盘空间大小、每个新增服务器具有的数据池以及每个数据池的磁盘空间大小等信息。其中,新增服务器的磁盘空间信息可通过新建一临时表格来记载。
[0140]
如数据存储服务器数量n变为m,其中m>n>0。新增数据存储服务器数量k=m

n,新增数据存储服务器集合为c
s
,新增的数据存储服务器s
n0
、s
n1

……
s
nk
‑1∈c
s

[0141]
步骤a20、根据服务器存储空间利用率表,从所有存储服务器和所有新增服务器中筛选出空间利用率最高的第一存储服务器,并从所有新增服务器中筛选出磁盘空间最大的第二存储服务器。其中,所述服务器存储空间利用率表存储有所有服务器和所有新增服务器的存储空间利用率信息,以及所有所述新增服务器的磁盘空间信息。
[0142]
元数据服务器内置有服务器存储空间利用率表,每个存储服务器的存储空间利用率为ρ,且ρ=u/d,其中,u为数据文件已占用的存储服务器的磁盘空间,d为存储服务器总的磁盘空间。
[0143]
同时元数据服务器即可根据第一状态变更信息,更新服务器存储空间利用率表,以使服务器存储空间利用率表存储有所有存储服务器和所有新增服务器的存储空间利用率信息。此时,元数据服务器根据接收的第一状态变更信息,将新增服务器的存储空间利用率信息,以及每个新增服务器总的磁盘空间信息添加至服务器存储空间利用率表内,从而可掌握每个存储服务器的使用情况。
[0144]
本步骤中,元数据服务器读取服务器存储空间利用率表中的ρ的值,可从所有存储服务器和所有新增服务器中筛选出ρ
max
所属的第一存储服务器s
m
。元数据服务器从所有新增服务器集合c
s
中筛选出磁盘空间最大的第二存储服务器s
ni

[0145]
其中,若ρ
max
所属的存储服务器有多个时,将最先到达该空间利用率的存储服务器确定为第一存储服务器。
[0146]
步骤a30、从第一存储服务器的所有数据池中筛选出空间占用最大的待分配数据池。
[0147]
步骤a40、将第二存储服务器分配为待分配数据池中空间占用最大的数据池迁移后所属的目标服务器,并生成迁移分配信息。
[0148]
元数据服务器内可还具有数据池的空间占用统计表,元数据服务器读取数据池的空间占用统计表,从而可筛选出第一存储服务器s
m
内磁盘占用空间最大的数据池p
m
。p
m
为待
数据迁移的数据池,其迁移的目标对象分配为第二存储服务器s
ni
。元数据服务器可根据该分配结果生成迁移分配信息,并将其保存。迁移分配信息可作为临时文件保存。
[0149]
步骤a50、基于迁移分配信息,更新服务器存储空间利用率表,并返回执行步骤a20,循环至服务器存储空间利用率表中所有存储服务器和所有新增服务器的存储空间利用率的均方差不超过预设阈值,以为所述存储系统中的所有数据池分配数据迁移后所属的服务器。
[0150]
该步骤中,由于p
m
分配至s
ni
,导致s
m
的存储空间利用率在迁移后会发生变化。此时,可更新服务器存储空间利用率表,以将该变化反应至服务器存储空间利用率表中。且由于p
m
分配至s
ni
,s
ni
的磁盘空间也会发生变化,元数据服务器可根据该迁移分配信息,即更新新增服务器的磁盘空间信息,如前文的临时表格。
[0151]
元数据服务器再次执行步骤a20,可筛选出第一存储服务器s
m2
以及分配后磁盘空间最大的第二存储服务器s
ni2
。再将s
m2
中磁盘占用空间最大的数据池p
m2
作为待数据迁移的数据池,其迁移的目标对象分配为第二存储服务器s
ni2
。容易理解的,在筛选过程中,s
m
也可属于新增服务器集合c
s
。从而,如此循环,直到该存储系统中所有存储服务器的存储空间利用率均方差不超过预设阈值,如该预设阈值为10%。每次执行一次前述步骤,元数据服务器可以获得一条迁移分配信息,循环结束后,可获得多条迁移分配信息,存储有相应的数据池的分配结果。从而为所述存储系统中的所有数据池分配数据迁移后所属的服务器
[0152]
此时,可根据所述多个迁移分配信息,更新第一状态信息表中相应数据池所属的存储服务器信息,以使存储服务器信息包括数据池迁移前所属的源服务器信息以及迁移后所属的目标服务器信息。
[0153]
元数据服务器基于所有迁移分配信息,将分配后形成的迁移路径作为数据池所属的存储服务器信息添加至第一状态信息表中,从而,可在数据迁移后,确保存储系统中所有服务器的磁盘利用率相对平均,以充分利用服务器资源。在更新完第一状态信息表后,可删除所有迁移分配信息。
[0154]
如,在第一状态信息表的存储服务器一栏中,对于数据池p
m
可将其存储服务器信息由“s
m”更新为“s
m
|s
ni”,从而反应其迁移路径。
[0155]
此外,在本发明数据迁移中数据处理方法的第三实施例的基础上,提出本发明数据迁移中数据处理方法的第四实施例。参照图5,图5为本发明数据迁移中数据处理方方法的第四实施例的流程示意图。
[0156]
容易理解的,在分布式存储系统中,由于存储服务器的数量减少,即有一部分存储服务器保留在分布式存储系统中,但是另一部分存储服务器离开该分布式存储系统,导致分布式存储系统中产生迁移任务,需要将减少的该部分存储服务器中的数据迁移至保留的存储服务器中。
[0157]
本实施例中,数据迁移方法在步骤s101之前还包括以下步骤:
[0158]
步骤b10、根据服务器存储空间利用率表,从所有第三存储服务器中筛选出空间利用率最低的第五存储服务器。
[0159]
本步骤中,元数据服务器可接收存储系统的第二状态变更信息;第二状态变更信息用于表示存储系统中的服务器数量减少,且第二状态变更信息包括存储系统中服务器数量减少后保留的第三存储服务器的信息、减少的第四存储服务器的信息以及第四存储器中
数据池与服务器的映射表。
[0160]
元数据服务器接收到存储系统的状态变更信息后,即可获取到减少的存储服务器的数量、地址、每个减少的存储服务器具有的数据池以及每个数据池的磁盘空间大小等信息。
[0161]
如数据存储服务器数量n变为m,其中n>m>0。减少数据存储服务器数量k=n

m,所有第四存储服务器集合为c
d
,第四存储服务器s
d0
、s
d1

……
s
dk
‑1∈c
d

[0162]
第四存储器中数据池与服务器的映射表用于表示其中所有第四存储服务器中任一数据池属于哪一个第四存储服务器中。
[0163]
元数据服务器根据服务器存储空间利用率表中的ρ的值,从所有的缩容后保留的第三存储服务器中筛选出空间利用率ρ
min
所属的第五存储服务器。
[0164]
步骤b20、从所有第四服务器的所有数据池中筛选出空间占用最大的待分配数据池。
[0165]
步骤b30、将第五存储服务器分配为待分配数据池的目标服务器,并生成迁移分配信息。
[0166]
元数据服务器内可还具有数据池的空间占用统计表,元数据服务器读取数据池的空间占用统计表,从而可从减少的数据存储服务器集合c
d
中筛选出占用空间最大的数据池p
dm
。p
dm
为待数据迁移的数据池,其迁移的目标对象分配为第五存储服务器。元数据服务器可根据该分配结果生成迁移分配信息,并将其保存。迁移分配信息可为临时文件。
[0167]
步骤b40、基于迁移分配信息,更新服务器存储空间利用率表和第四存储器中数据池与服务器的映射表,并返回执行步骤b10,循环至服务器存储空间利用率表中所有第三存储服务器的存储空间利用率的均方差不超过预设阈值,以为所述存储系统中的所有数据池分配数据迁移后所属的服务器。
[0168]
该步骤中,由于p
dm
分配至第五存储服务器,导致第五存储服务器的存储空间利用率在迁移后会发生变化。此时,可更新服务器存储空间利用率表,以将该变化反应至服务器存储空间利用率表中。且由于p
dm
分配至第五存储服务器,第四存储服务器集合c
d
的数据池也会发生变化,元数据服务器可根据该迁移分配信息,更新第四存储器中数据池与服务器的映射表。如,将上述的p
dm
从该表中删除。
[0169]
元数据服务器再次执行步骤b10,可筛选出新的第五存储服务器。将新的第五存储服务器分配为初次分配后所有第四存储服务器的所有数据池中空间占用最大的数据池p
dm2
迁移后所属的目标服务器,并生成迁移分配信息。
[0170]
从而,如此循环,直到该存储系统中所有存储服务器的存储空间利用率均方差不超过预设阈值,如该预设阈值为10%。每次执行一次前述步骤,元数据服务器可以获得一条迁移分配信息,循环结束后,可获得多条迁移分配信息,存储有相应的数据池的分配结果。从而为所述存储系统中的所有数据池分配数据迁移后所属的服务器。
[0171]
本实施例中,还可根据多个迁移分配信息,更新第一状态信息表中相应数据池所属的存储服务器信息,以使存储服务器信息包括数据池数据迁移前所属的源服务器以及迁移后所属的目标服务器。
[0172]
元数据服务器更新所有迁移分配信息,将分配后形成的迁移路径作为数据池所属的存储服务器信息添加至第一状态信息表中,从而,可在数据迁移后,确保存储系统中所有
服务器的磁盘利用率相对平均,以充分利用服务器资源。
[0173]
参照图6,图6为本发明数据迁移过程中的数据处理装置第一实施例的结构框图。
[0174]
如图所示,本实施例中数据迁移过程中的数据处理装置100包括:
[0175]
请求接收模块110,用于在数据迁移过程中,接收用户的数据处理请求;
[0176]
数据池获得模块120,用于获得数据处理请求对应的目标数据池;
[0177]
服务器确定模块130,用于根据目标数据池的迁移状态,从源服务器与目标服务器中确定待处理服务器;其中,源服务器为目标数据池迁移前所属的服务器,目标服务器为目标数据池迁移后所属的服务器;以及
[0178]
数据处理模块140,用于对所述待处理服务器进行相应的数据处理。
[0179]
本实施例中,数据迁移过程中的数据处理装置中的服务器确定模块130确定目标数据池的迁移状态后,从数据迁移前的源服务器与数据迁移后的目标服务器中确定待处理服务器,并通过数据处理模块140进行数据处理,这样,数据进行迁移的过程中,可以正常处理读请求和写请求,不产生脏数据,保证迁移过程正常进行、不发生中断。
[0180]
作为一种实施方式,若数据处理请求为写请求,服务器确定模块130用于若所述目标数据池处于迁移中状态,则将所述目标服务器作为待处理服务器。
[0181]
作为一种实施方式,若数据处理请求为读请求,服务器确定模块130用于若所述目标数据池处于迁移中状态,则将所述源服务器作为待处理服务器。
[0182]
作为一种实施方式,数据池获得模块120还用于对所述读请求进行解析,获得所述读请求对应的目标数据文件;将所述目标数据文件所属的数据池作为所述目标数据池。
[0183]
服务器确定模块130用于确定所述目标数据文件的迁移状态;若所述迁移状态为迁移中状态或者迁移前状态,则将所述源服务器作为待处理服务器。
[0184]
作为一种实施方式,参阅图7,数据迁移过程中的数据处理装置还包括:
[0185]
新增服务器确定模块400,用于从所述存储系统中确定新增服务器。
[0186]
筛选模块600,用于根据服务器存储空间利用率表,从所有所述服务器和所有新增服务器中筛选出空间利用率最高的第一存储服务器,并从所有所述新增服务器中筛选出磁盘空间最大的第二存储服务器;其中,所述服务器存储空间利用率表存储有所有服务器和所有新增服务器的存储空间利用率信息,以及所有所述新增服务器的磁盘空间信息;
[0187]
数据池筛选模块,用于从所述第一存储服务器的所有数据池中筛选出空间占用最大的待分配数据池
[0188]
迁移分配模块700,用于将第二存储服务器分配为待分配数据池的目标服务器,并生成迁移分配信息;
[0189]
循环执行模块800,用于基于迁移分配信息,更新服务器存储空间利用率表与新增服务器的磁盘空间信息,并返回执行根据服务器存储空间利用率表,从所有所述服务器和所有新增服务器中筛选出空间利用率最高的第一存储服务器,并从所有所述新增服务器中筛选出磁盘空间最大的第二存储服务器的步骤,循环至服务器存储空间利用率表中所有存储服务器和所有新增服务器的存储空间利用率的均方差不超过预设阈值,以为所述存储系统中的所有数据池分配数据迁移后所属的服务器。
[0190]
作为一种实施方式,数据迁移过程中的数据处理装置中:
[0191]
筛选模块500还用于根据服务器存储空间利用率表,从所有第三存储服务器中筛
选出空间利用率最低的第五存储服务器;从所有所述第四服务器的所有数据池中筛选出空间占用最大的待分配数据池;
[0192]
迁移分配模块600还用于将第五存储服务器分配为待分配服务器的目标服务器,并生成迁移分配信息;
[0193]
循环执行模块700还用于基于所述迁移分配信息,更新所述服务器存储空间利用率表,并返回执行根据所述服务器存储空间利用率表,从所有所述第三服务器中筛选出空间利用率最低的第五服务器的步骤,循环至所述服务器存储空间利用率表中所有所述第三服务器的存储空间利用率的均方差不超过预设阈值,以为所述存储系统中的所有数据池分配数据迁移后所属的服务器。
[0194]
本发明数据迁移过程中的数据处理装置其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
[0195]
进一步的,本发明还提供了一种计算机可读存储介质,存储介质上存储有数据迁移过程中的数据处理程序,数据迁移过程中的数据处理程序配置为实现上述的数据迁移过程中的数据处理方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0196]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
[0197]
进一步的,本发明还提供了一种计算机程序产品,包括可执行的程序代码,其中,程序代码在由处理器执行时执行如上述实施例中的数据迁移过程中的数据处理方法。
[0198]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜