数据处理方法及装置制造方法及图纸

技术编号:18894004 阅读:27 留言:0更新日期:2018-09-08 10:44
本申请实施例公开了数据处理方法及装置,所述方法包括:获取存储在第一存储单元的第一数据,并将第一数据存储到第二存储单元中,第一存储单元为目标服务器中的存储单元,第二存储单元为扩容服务器中的存储单元;在第一数据成功存储到第二存储单元后,获取第二存储单元的当前数据量以及第一存储单元的当前数据量;确认第二存储单元的当前数据量小于第一存储单元的当前数据量;获取存储在第一存储单元的第二数据,并将第二数据存储到第二存储单元中,第二数据为扩容服务器在存储第一数据的过程中客户端请求存储至第二存储单元中的数据。采用本申请实施例,可避免迁移过程中写入的数据被正在迁移的数据覆盖,提升数据的可靠性。

Data processing method and device

The embodiment of the present application discloses a data processing method and apparatus, which include: acquiring the first data stored in the first storage unit and storing the first data in the second storage unit, the first storage unit being the storage unit in the target server and the second storage unit being the storage unit in the expansion server; After the first data is successfully stored in the second storage unit, the current data amount of the second storage unit and the first storage unit are obtained; the current data amount of the second storage unit is confirmed to be less than the current data amount of the first storage unit; the second data stored in the first storage unit is obtained and the second data is stored The second data is the data that the client requests to be stored in the second storage unit during the storage of the first data by the expansion server. By adopting the embodiment of the present application, the data written in the migration process can be avoided to be overwritten by the migrating data and the reliability of the data can be improved.

【技术实现步骤摘要】
数据处理方法及装置
本申请涉及通信
,尤其涉及数据处理方法及装置。
技术介绍
分布式存储系统,是将数据分散存储在多个服务器上。以图1所示的分布式存储系统的结构示意图为例,该分布式存储系统包括服务器1-3,每个服务器均包括三个存储盘(例如存储盘0、存储盘1以及存储盘2)。分布式存储系统在进行数据存储之前,需要进行分区,例如服务器1中的存储盘0、服务器2中的存储盘1和服务器3中的存储盘2组成分区1,服务器1中的存储盘1、服务器2中的存储盘0和服务器3中的存储盘0组成分区2。当分布式存储系统接收到数据存储请求时,可以选择分区,并将数据存储到选择的分区所包含的各个存储盘中。当分布式存储系统的存储容量不足时,需要进行扩容。在扩容过程中,因为数据要在各服务器均匀分布实现负载均衡,所以需要后台进行数据迁移。以图1为例,如果扩容的是服务器4,经过负载均衡计算,分区1中服务器3的存储盘2将被服务器4中的存储盘1替代,即将服务器3的存储盘2中存储的数据迁移到服务器4的存储盘1中。在数据迁移的过程中,客户端(client)有数据需要写入服务器4中的存储盘1中,若客户端请求存储的数据和数据迁移过程中所迁移的数据针对的是同一个对象,则如何避免迁移过程中写入的数据被正在迁移的数据覆盖是目前亟需解决的技术问题。
技术实现思路
本申请实施例所要解决的技术问题在于,提供数据处理方法及装置,可避免迁移过程中写入的数据被正在迁移的数据覆盖,提升数据的可靠性。第一方面,本申请实施例提供了一种数据处理方法,扩容服务器可以获取存储在第一存储单元的第一数据,并将第一数据存储到第二存储单元中。在第一数据成功存储到第二存储单元后,扩容服务器获取第二存储单元的当前数据量,以及第一存储单元的当前数据量。扩容服务器确认第二存储单元的当前数据量小于第一存储单元的当前数据量,然后扩容服务器获取存储在第一存储单元的第二数据,并将第二数据存储到第二存储单元中。其中,扩容服务器可以包括至少一个存储盘,各个存储盘可以包括至少一个存储单元。第一存储单元为目标服务器的第一存储盘中的存储单元。第二存储单元为扩容服务器的第二存储盘中的存储单元。目标服务器需要迁移数据至扩容服务器。其中,第二数据为扩容服务器在存储第一数据的过程中客户端请求存储至第二存储单元中的数据。在该技术方案中,在数据迁移过程中接收到客户端发送的数据存储请求时,扩容服务器可以记录需要从第一存储单元迁移至第二存储单元的第一数据和客户端请求存储的第二数据的数据量总和,在数据迁移完成后,扩容服务器可以在第一存储单元中获取客户端请求存储的第二数据,并将第二数据存储到第二存储单元中,可避免迁移过程中写入的数据被正在迁移的数据覆盖,提升数据的可靠性。可选的,扩容服务器获取存储在第一存储单元的第一数据之前,可以向主服务器发送单元标识获取请求,并从主服务器接收单元标识集合。进一步的,扩容服务器获取存储在第一存储单元的第一数据,并将第一数据存储到第二存储单元中,具体可以为:扩容服务器获取存储在第一单元标识所对应第一存储单元的第一数据,并将第一数据存储到第一单元标识所对应第二存储单元中。其中,单元标识获取请求携带第二存储盘所属分区的分区标识。主服务器包括第一存储盘所属分区中的主存储盘。单元标识集合包括分区标识所对应分区中主存储盘所包含的各个存储单元的单元标识。其中,第一存储盘所包含的各个存储单元的单元标识分别与主存储盘所包含的各个存储单元的单元标识相同,且第二存储盘所包含的各个存储单元的单元标识分别与主存储盘所包含的各个存储单元的单元标识相同。例如,主存储盘包括十个存储单元,存储单元的单元标识分别为plog1-plog10,则第一存储盘也包括十个存储单元,第一存储盘所包含的存储单元的单元标识分别为plog1-plog10,第二存储盘也包括十个存储单元,第二存储盘所包含的存储单元的单元标识分别为plog1-plog10,扩容服务器可以获取存储在第一存储盘的plog1中的第一数据,并将该第一数据存储到第二存储盘的plog1中。可选的,扩容服务器获取存储在第一单元标识所对应第一存储单元的第一数据,并将第一数据存储到第一单元标识所对应第二存储单元中之后,还可以将第一单元标识从单元标识集合中删除。可选的,扩容服务器获取第二存储单元的当前数据量,以及第一存储单元的当前数据量之前,还可以接收来自客户端的第一数据存储请求,第一数据存储请求携带第一单元标识,确定单元标识集合中存在第一单元标识,获取第一存储单元在数据迁移前的数据量,将第一存储单元在数据迁移前的数据量与第二数据的数据量相加,得到第一存储单元的当前数据量。其中,第一数据存储请求用于指示客户端请求将第二数据存储至第一单元标识所对应第二存储单元中。可选的,当第二数据未成功存储到第二存储盘所属分区所包含的任一存储盘中时,扩容服务器可以向服务层发送存储失败消息,扩容服务器通过持久层接收第二数据存储请求,第二数据存储请求携带目标分区标识和第二单元标识,并将所述第二数据存储到所述第二单元标识所对应第三存储单元中。其中,目标分区标识对应分区与第二存储盘所属的分区不相同,且目标分区标识对应分区所包含的各个存储盘能够存储数据。第三存储单元为扩容服务器的第三存储盘中的存储单元,第三存储盘所属分区的分区标识为目标分区标识。第二方面,本申请实施例提供一种数据处理方法,扩容服务器可以获取存储在第一存储单元的第一数据,并将第一数据存储到第二存储单元中。在存储第一数据的过程中,扩容服务器接收来自客户端的第一数据存储请求,第一数据存储请求携带第二存储单元的第一单元标识。扩容服务器向服务层发送错误消息。扩容服务器对服务层响应错误消息创建的第四存储单元分配第二存储盘的存储盘空间。扩容服务器通过持久层接收第三数据存储请求,第三数据存储请求携带第四存储单元的第三单元标识。扩容服务器将第二数据存储到第三单元标识所对应的第四存储单元中。其中,扩容服务器可以包括至少一个存储盘,各个存储盘可以包括至少一个存储单元。第一存储单元为目标服务器的第一存储盘中的存储单元。第二存储单元为扩容服务器的第二存储盘中的存储单元。目标服务器需要迁移数据至扩容服务器。在该技术方案中,在数据迁移过程中接收到客户端发送的数据存储请求时,扩容服务器可以将数据存储请求所请求存储的第二数据存储到新建的第四存储单元中,可避免迁移过程中写入的数据被正在迁移的数据覆盖,实现写入的数据与正在迁移的数据的互斥,提升数据的可靠性。可选的,扩容服务器获取存储在第一存储单元的第一数据之前,可以向主服务器发送单元标识获取请求,从主服务器接收单元标识集合。进一步的,扩容服务器获取存储在第一存储单元的第一数据,并将第一数据存储到第二存储单元中,具体可以为:获取存储在第一单元标识所对应第一存储单元的第一数据,并将第一数据存储到第一单元标识所对应第二存储单元中。其中,单元标识获取请求携带第二存储盘所属分区的分区标识,主服务器包括第一存储盘所属分区中的主存储盘。单元标识集合包括分区标识所对应分区中主存储盘所包含的各个存储单元的单元标识,第一存储盘所包含的各个存储单元的单元标识分别与主存储盘所包含的各个存储单元的单元标识相同,且第二存储盘所包含的各个存储单元的单元标识分别与主本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法应用于扩容服务器,所述扩容服务器包括至少一个存储盘,各个存储盘包括至少一个存储单元,所述方法包括:获取存储在第一存储单元的第一数据,并将所述第一数据存储到第二存储单元中,所述第一存储单元为目标服务器的第一存储盘中的存储单元,所述第二存储单元为所述扩容服务器的第二存储盘中的存储单元,所述目标服务器需要迁移数据至所述扩容服务器;在所述第一数据成功存储到所述第二存储单元后,获取所述第二存储单元的当前数据量,以及所述第一存储单元的当前数据量;确认所述第二存储单元的当前数据量小于所述第一存储单元的当前数据量;获取存储在所述第一存储单元的第二数据,并将所述第二数据存储到所述第二存储单元中,所述第二数据为所述扩容服务器在存储所述第一数据的过程中客户端请求存储至所述第二存储单元中的数据。

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法应用于扩容服务器,所述扩容服务器包括至少一个存储盘,各个存储盘包括至少一个存储单元,所述方法包括:获取存储在第一存储单元的第一数据,并将所述第一数据存储到第二存储单元中,所述第一存储单元为目标服务器的第一存储盘中的存储单元,所述第二存储单元为所述扩容服务器的第二存储盘中的存储单元,所述目标服务器需要迁移数据至所述扩容服务器;在所述第一数据成功存储到所述第二存储单元后,获取所述第二存储单元的当前数据量,以及所述第一存储单元的当前数据量;确认所述第二存储单元的当前数据量小于所述第一存储单元的当前数据量;获取存储在所述第一存储单元的第二数据,并将所述第二数据存储到所述第二存储单元中,所述第二数据为所述扩容服务器在存储所述第一数据的过程中客户端请求存储至所述第二存储单元中的数据。2.如权利要求1所述的方法,其特征在于,所述获取存储在第一存储单元的第一数据之前,还包括:向主服务器发送单元标识获取请求,所述单元标识获取请求携带所述第二存储盘所属分区的分区标识,所述主服务器包括所述第一存储盘所属分区中的主存储盘;从所述主服务器接收单元标识集合,所述单元标识集合包括所述分区标识所对应分区中主存储盘所包含的各个存储单元的单元标识,所述第一存储盘所包含的各个存储单元的单元标识分别与所述主存储盘所包含的各个存储单元的单元标识相同,且所述第二存储盘所包含的各个存储单元的单元标识分别与所述主存储盘所包含的各个存储单元的单元标识相同;所述获取存储在第一存储单元的第一数据,并将所述第一数据存储到第二存储单元中包括:获取存储在第一单元标识所对应第一存储单元的第一数据,并将所述第一数据存储到所述第一单元标识所对应第二存储单元中。3.如权利要求2所述的方法,其特征在于,所述获取存储在第一单元标识所对应第一存储单元的第一数据,并将所述第一数据存储到所述第一单元标识所对应第二存储单元中之后,还包括:将所述第一单元标识从所述单元标识集合中删除。4.如权利要求3所述的方法,其特征在于,所述获取所述第二存储单元的当前数据量,以及所述第一存储单元的当前数据量之前,还包括:接收来自所述客户端的第一数据存储请求,所述第一数据存储请求携带所述第一单元标识,所述第一数据存储请求用于指示所述客户端请求将所述第二数据存储至所述第一单元标识所对应第二存储单元中;确定所述单元标识集合中存在所述第一单元标识;获取所述第一存储单元在数据迁移前的数据量;将所述第一存储单元在数据迁移前的数据量与所述第二数据的数据量相加,得到所述第一存储单元的当前数据量。5.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述第二数据未成功存储到所述第二存储盘所属分区所包含的任一存储盘中时,向服务层发送存储失败消息;通过持久层接收第二数据存储请求,所述第二数据存储请求携带目标分区标识和第二单元标识,所述目标分区标识所对应分区与所述第二存储盘所属的分区不相同,且所述目标分区标识所对应分区所包含的各个存储盘能够存储数据;将所述第二数据存储到所述第二单元标识所对应第三存储单元中,所述第三存储单元为所述扩容服务器的第三存储盘中的存储单元,所述第三存储盘所属分区的分区标识为所述目标分区标识。6.一种数据处理方法,其特征在于,所述方法应用于扩容服务器,所述扩容服务器包括至少一个存储盘,各个所述存储盘包括至少一个存储单元,所述方法包括:获取存储在第一存储单元的第一数据,并将所述第一数据存储到第二存储单元中,所述第一存储单元为目标服务器的第一存储盘中的存储单元,所述第二存储单元为所述扩容服务器的第二存储盘中的存储单元,所述目标服务器需要迁移数据至所述扩容服务器;在存储所述第一数据的过程中,接收来自客户端的第一数据存储请求,所述第一数据存储请求携带所述第二存储单元的第一单元标识;向服务层发送错误消息;对所述服务层响应所述错误消息创建的第四存储单元分配所述第二存储盘的存储盘空间;通过持久层接收第三数据存储请求,所述第三数据存储请求携带所述第四存储单元的第三单元标识;将所述第二数据存储到所述第三单元标识所对应的第四存储单元中。7.如权利要求6所述的方法,其特征在于,所述获取存储在第一存储单元的第一数据之前,还包括:向主服务器发送单元标识获取请求,所述单元标识获取请求携带所述第二存储盘所属分区的分区标识,所述主服务器包括所述第一存储盘所属分区中的主存储盘;从所述主服务器接收单元标识集合,所述单元标识集合包括所述分区标识所对应分区中主存储盘所包含的各个存储单元的单元标识,所述第一存储盘所包含的各个存储单元的单元标识分别与所述主存储盘所包含的各个存储单元的单元标识相同,且所述第二存储盘所包含的各个存储单元的单元标识分别与所述主存储盘所包含的各个存储单元的单元标识相同;所述获取存储在第一存储单元的第一数据,并将所述第一数据存储到第二存储单元中包括:获取存储在第一单元标识所对应第一存储单元的第一数据,并将所述第一数据存储到所述第一单元标识所对应第二存储单元中。8.如权利要求7所述的方法,其特征在于,所述获取存储在第一单元标识所对应第一存储单元的第一数据...

【专利技术属性】
技术研发人员:汪正洋张雷
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1