CN103902230A - 一种数据处理方法、设备和系统 - Google Patents

一种数据处理方法、设备和系统 Download PDF

Info

Publication number
CN103902230A
CN103902230A CN201210581713.2A CN201210581713A CN103902230A CN 103902230 A CN103902230 A CN 103902230A CN 201210581713 A CN201210581713 A CN 201210581713A CN 103902230 A CN103902230 A CN 103902230A
Authority
CN
China
Prior art keywords
data block
pointer
memory device
target data
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201210581713.2A
Other languages
English (en)
Inventor
杜宇健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201210581713.2A priority Critical patent/CN103902230A/zh
Publication of CN103902230A publication Critical patent/CN103902230A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据处理方法、设备和系统,所述方法应用于分布式数据存储系统,包括:存储设备接收写请求后,根据接收到的写请求确定出目标数据块;若目标数据块中包含指向目标数据块的副本的指针,则根据该指针将写请求重定向到存储该副本的存储设备,否则,在写请求对应的目标数据块中写入数据,并向存储有目标数据块的副本的存储设备发送指针设置消息,以指示在目标数据块的副本中设置指向写请求对应的目标数据块的指针。通过采用本发明,可以缩短数据更新时间,提高响应速度。

Description

一种数据处理方法、设备和系统
技术领域
本发明涉及通信技术领域,尤其涉及一种数据处理方法、设备和系统。
背景技术
对于海量数据的存储处理的技术趋势是采用分布式存储系统,但是,由于分布式存储系统通常构建在X86服务器集群上,系统可靠性要低于传统阵列。
为了解决该问题,现有技术提出了一种多副本存储方式。多副本存储系统中具有多个存储设备,数据的读请求可以均衡到各个存储设备上,同时,对于数据的写请求采用强一致处理方式,即每次写入数据时,需要依次在所有存储设备中成功写入数据后,才能返回成功消息。
但是,在多副本存储系统中采用强一致处理方式处理写请求时,由于每次写入新数据时,都需要依次对系统中的所有存储设备中的数据副本进行更新,因此,现有技术中的强一致处理方式延长了数据更新时间,降低了响应速度。
发明内容
本发明实施例提供一种数据处理方法、设备和系统,以缩短数据更新时间,提高响应速度。
为达到上述目的,本发明实施例提供了一种数据处理方法,应用于分布式数据存储系统,其特征在于,所述方法包括:
存储设备接收写请求后,根据接收到的写请求确定出目标数据块;若所述目标数据块中包含指向所述目标数据块的副本的指针,则根据该指针将所述写请求重定向到存储该副本的存储设备,否则,在所述写请求对应的目标数据块中写入数据,并向存储有所述目标数据块的副本的存储设备发送指针设置消息,以指示在所述目标数据块的副本中设置指向所述写请求对应的目标数据块的指针。
优选的,所述向存储有所述目标数据块的副本的存储设备发送指针设置消息,具体包括:
向存储有所述目标数据块的副本的所有存储设备发送指针设置消息。
优选的,还包括:
所述存储设备接收到其它存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针。
优选的,所述向存储有所述目标数据块的副本的存储设备发送指针设置消息,具体包括:
向存储有所述目标数据块的副本的一个存储设备发送指针设置消息。
优选的,还包括:
所述存储设备接收到其它存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针,并向另一个存储有该目标数据块的副本、且未接收到所述指针设置消息的存储设备转发所述指针设置消息。
优选的,所述分布式数据存储系统中还包括管理设备,所述方法还包括:
存储设备接收所述管理设备发送的数据整理消息;其中,所述数据整理消息为所述管理设备周期检测各存储设备中是否设置有指针,并向检测到设置有指针的存储设备发送的;
所述存储设备根据所述数据整理消息,查询本设备存储的数据块中设置的指针,并针对查询到的每个指针,读取该指针指向的数据块中的数据,将读取到的数据写入该指针所在的数据块中,并删除该数据块中的指针。
优选的,所述方法还包括:
存储设备接收到读请求后,根据接收到的读请求确定出目标数据块;若所述读请求对应的目标数据块中包含指向所述读请求对应的目标数据块的副本的指针,则所述存储设备根据该指针将所述读请求重定向到存储该副本的存储设备;否则,所述存储设备读取所述读请求对应的目标数据块中的数据。
优选的,所述分布式数据存储系统中还包括管理设备,所述存储设备接收到的写请求是由客户端从所述管理设备获取到写请求对应的目标数据块的地址后根据该地址发送的;
所述存储设备在所述写请求对应的目标数据块中写入数据,之后还包括:
所述存储设备向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的地址的对应关系,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系;
所述存储设备在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针,之后还包括:
所述存储设备向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的副本的地址,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系。
本发明实施例提供了一种存储设备,应用于分布式数据存储系统,其特征在于,所述存储设备包括:
写操作处理单元,用于在本设备接收到写请求后,根据所述写请求确定出目标数据块,若定出的目标数据块中包含指向所述目标数据块的副本的指针时,则根据该指针将所述写请求重定向到存储该副本的存储设备,否则,在所述写请求对应的目标数据块中写入数据;
通知单元,用于在所述写操作处理单元在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的存储设备发送指针设置消息,以指示在所述目标数据块的副本中设置指向所述写请求对应的目标数据块的指针。
优选的,所述通知单元,具体用于在所述写操作处理单元在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的所有存储设备发送指针设置消息。
优选的,所述存储设备还包括指针设置单元;
所述指针设置单元,用于在本设备接收到其他存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针。
优选的,所述通知单元,具体用于在所述写操作处理单元在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的一个存储设备发送指针设置消息。
优选的,所述存储设备还包括指针设置单元;
所述指针设置单元,用于在本设备接收到其它存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针,并向另一个存储有该目标数据块的副本、且未接收到所述指针设置消息的存储设备转发所述指针设置消息。
优选的,所述分布式数据存储系统中还包括管理设备,所述存储设备还包括:
数据整理单元,用于在本设备接收到管理设备发送的数据整理消息后,根据所述数据整理消息,查询本设备存储的数据块中设置的指针,并针对查询到的每个指针,读取该指针指向的数据块中的数据,将读取到的数据写入该指针所在的数据块中,并删除该数据块中的指针;其中,所述数据整理消息为所述管理设备周期检测各存储设备中是否设置有指针,并向检测到设置有指针的存储设备发送的。
优选的,所述存储设备还包括:
读操作处理单元,用于在本设备接收到读请求后确定出目标数据块,若确定出的目标数据块中包含指向所述读请求对应的目标数据块的副本的指针,则根据该指针将所述读请求重定向到存储该副本的存储设备;否则,读取所述读请求对应的目标数据块中的数据。
优选的,所述分布式数据存储系统中还包括管理设备,所述存储设备接收到的写请求是由客户端从所述管理设备获取到写请求对应的目标数据块的地址后根据该地址发送的;所述存储设备还包括更新请求单元;
所述更新请求单元,用于在所述写操作处理单元在所述写请求对应的目标数据块中写入数据后,向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的地址的对应关系,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系;以及,用于在所述指针设置单元在目标数据块的副本中设置指向该目标数据块的指针后,向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的副本的地址,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系。
本发明实施例提供了一种分布式数据处理系统,其特征在于,包括管理设备以及如上所述的存储设备;
所述管理设备,用于周期检测各存储设备中是否设置有指针,并向检测到设置有指针的存储设备发送数据整理消息。
通过由存储设备在根据客户端发送的写请求在数据块中写入数据后,通知其他存储设备建立指向所述数据块的指针,避免了每次写入数据时,都需要依次更新所有存储设备中的数据,从而缩短了数据更新时间,提高了响应速度。
附图说明
图1为本发明实施例提供的分布式数据存储系统的系统架构示意图;
图2为本发明实施例提供的数据处理流程示意图;
图3为本发明实施例提供的数据处理流程示意图;
图4为本发明实施例提供的数据整理流程示意图;
图5为本发明实施例提供的存储设备的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的分布式数据存储系统的系统架构示意图。在该分布式数据存储系统中包含多个存储设备,存储设备可由服务器实现,这些服务器构成服务器集群。分布式数据存储系统中,通常还设置有管理设备,管理设备中存储有数据标识和数据块地址的对应关系表,用于为访问该分布式数据存储系统的客户端设备提供数据块地址信息。客户端设备与存储设备和管理设备之间可采用C/S(客户端/服务器)架构。该分布式数据存储系统中,数据采用多副本方式存储,通常为三个副本。
下面以每个数据块有三个副本,并且各副本分别存储于不同的存储设备为例,对本发明实施例进行详细说明。
图2示出了基于上述分布式数据存储系统的数据写处理流程。
当客户端需要向该分布式存储系统写入数据时,该客户端首先从管理设备获取所要访问的数据的地址信息。
具体的,当客户端需要更新分布式数据存储系统中存储的数据时,向管理设备发送地址请求,地址请求中携带了需要更新的数据的标识。管理设备根据地址请求中的数据标识查找本地存储的数据标识与数据地址的对应关系表,并通过地址响应将查找到的数据块地址发送给客户端。优选的,管理设备可以根据负载均衡等策略,在存储有与该数据标识对应的数据的所有存储设备中,选择负载最小的存储设备,将该存储设备中的与该数据标识对应的数据块地址发送给客户端。
需要说明的是,若客户端需要向分布式数据存储系统写入新的数据时,其向管理设备发送的地址请求中没有携带数据标识,此种情况下,管理设备将未存储数据的数据块的地址发送给客户端。
客户端获取到数据块地址后,向相应存储设备发送写请求。写请求中携带了数据块地址和需要写入的数据。
如图2所示,存储设备接收到写请求后的处理流程可包括:
步骤201,存储设备接收到写请求后,根据该写请求中携带的目标数据块地址信息,定位到该写请求的目标数据块。
步骤202,若该目标数据块中包含指向该目标数据块副本的指针,则转入步骤203,否则,转入步骤204。
步骤203,存储设备根据该指针将写请求重定向到存储有该目标数据块副本的存储设备。
步骤204,存储设备在该目标数据块中写入数据,并向存储有该目标数据块副本的所有其它存储设备发送指针设置消息,以指示在该目标数据块的副本中设置指向该目标数据块的指针。
进一步的,在本发明实施例提供的流程中,若存储设备接收到其他存储设备发送的指针设置消息后,在指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针。
上述流程中,当存储有该目标数据块副本的存储设备接收到重定向来的写请求后,由于该存储设备上的该目标数据块副本中没有设置指针(指针所指向的数据块,其中不再会设置指针),因此根据接收到的写请求进行数据写操作,并向存储有该数据块副本的所有其它存储设备发送指针设置消息,以指示在该数据块的副本中设置指向该数据块的指针。
上述流程中,当存储设备接收到其它存储设备发送来的指针设置消息后,根据该指针设置消息定位到本设备上的相应数据块副本,若该数据块副本中设置有指针,则根据该指针设置消息中携带的完成数据写操作的数据块的地址,更新该数据块副本中的指针,若该数据块副本中没有设置指针,则根据该指针设置消息中携带的完成数据写操作的数据块的地址,在该数据块副本中设置指针。
下面以一具体应用场景对上述流程进行说明。本应用场景中,客户端需要更新数据ID=1的数据,该数据有三个副本,分别存储于存储设备N1的数据块B1、存储设备N2的数据块B2和存储设备N3的数据块B3,其中,数据块B1中存储有原始数据,数据块B2和数据块B3中存储有指向数据块B1的指针。
当存储设备N2接收到写请求后,获取其中携带的数据块B2的地址以及值为1的数据ID,根据数据块B2的地址定位到数据块B2,发现数据块B2中存储的为指向数据块B1的指针,因此存储设备N2将写请求中携带的数据块地址修改为数据块B1的地址,并将该写请求重定向到存储设备N1。
存储设备N1接收到写请求后,获取其中携带的数据块B1的地址以及值为1的数据ID,根据数据块B1的地址定位到数据块B1,并根据写请求向数据块B1中写入数据。
在写操作完成后,存储设备N1向存储设备N2和存储设备N3发送指针设置消息,以指示在数据块B1的副本中设置指向数据块B1的指针。存储设备N2接收到指针设置消息后,发现数据块B2中已经设置了指向数据块B1的指针,因此不需要设置指针。存储设备N3接收到指针设置消息后,发现数据块B3中已经设置了指向数据块B1的指针,因此不需要设置指针。
优选的,存储设备N1完成数据写操作后,还可以向管理设备发送数据更新消息,数据更新消息中携带了数据块B1的地址和本次写入的数据的标识(ID=1),以通知管理设备更新该数据块地址和标识的对应关系。
优选的,存储设备N2和存储设备N3可以在接收到指针设置消息后,向管理设备发送指针设置成功消息,指针设置成功消息中携带了指针所在数据块的地址和本次写入的数据的标识,以通知管理设备更新该数据块地址和标识的对应关系。
优选的,存储设备N2和存储设备N3可以在接收到指针设置消息后,向发送该指针设置消息的存储设备N1返回指针设置成功消息,以通知指针设置完成。存储设备N1在接收到存储设备N2和存储设备N3返回的指针设置成功消息后,向发起该写请求的客户端返回数据写入成功消息。
对于数据块B1、数据块B2和数据块B3中都存储有原始数据的场景,若存储设备N1接收到写请求,则存储设备N1根据写请求在数据块B1中写入数据,并向存储设备N2和存储设备N3发送指针设置消息,由存储设备N2和存储设备N3在数据块B2和数据块B3中设置指向数据块B1的指针,并删除数据块B2和数据块B3中存储的原始数据。
优选的,存储设备N1完成数据写操作后,还可以向管理设备发送数据更新消息,数据更新消息中携带了数据块B1的地址和本次写入的数据的标识,以通知管理设备更新该数据块地址和标识的对应关系。
优选的,存储设备N2和存储设备N3在完成指针设置后,向发送该指针设置消息的存储设备N1返回指针设置成功消息,以通知指针设置完成。存储设备N1在接收到存储设备N2和存储设备N3返回的指针设置成功消息后,向发起该写请求的客户端返回数据写入成功消息。
优选的,存储设备N2和存储设备N3在设置指针成功后,可以向管理设备发送指针设置成功消息,指针设置成功消息中携带了指针所在数据块的地址和本次写入的数据的标识,以通知管理设备更新该数据块地址和标识的对应关系。
优选的,对于存储设备N2和存储设备N3,当其接收到指针设置消息时,可以在数据块B2和数据块B3中存储的原始数据的前端设置指向数据块B1的指针,并在向存储设备B1返回指针设置成功消息之后,再将数据块B2和数据块B3中存储的原始数据删除,以进一步提高数据处理的响应速度。
上述流程中关于指针更新的一种替换方案是:存储设备在该目标数据块中写入数据,并向存储有该目标数据块副本的一个存储设备发送指针设置消息,以指示在该目标数据块的副本中设置指向该目标数据块的指针,在该替换方案中,存储设备接收到其它存储设备发送的指针设置消息后,在指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针,并向另一个存储有该目标数据块的副本、且未接收到指针设置消息的存储设备转发指针设置消息。
例如,存储设备N1完成数据写入后,向存储设备N2发送指针设置消息。存储设备N2根据指针设置消息完成指针设置后,向存储设备N3转发该指针设置消息。存储设备N3根据指针设置消息完成指针设置后,不再向其它存储设备转发指针设置消息,具体实现与现有技术中对分布式数据存储系统中的多个存储设备中的数据进行更新类似,在此不再赘述。
图3示出了基于上述分布式数据存储系统的数据读处理流程,需要说明的是,对于数据读处理,客户端同样需要向管理设备获取数据块的地址,具体流程与数据写处理时的获取数据块地址的流程相同,在此不再赘述。
如图3所示,存储设备接收到读请求后的处理流程可包括:
步骤301,存储设备接收到读请求后,根据该读请求中携带的目标数据块地址信息,定位到该读请求的目标数据块。
步骤302,若该目标数据块中包含指向该目标数据块副本的指针,则转入步骤303,否则,转入304。
步骤303,存储设备根据该指针将读请求重定向到存储有该目标数据块副本的存储设备。
步骤304,存储设备读取目标数据块中的数据,并将数据返回给客户端。
下面以一具体应用场景对上述流程进行说明。本应用场景中,客户端需要读取数据ID=1的数据,该数据有三个副本,分别存储于存储设备N1的数据块B1、存储设备N2的数据块B2和存储设备N3的数据块B3,其中,数据块B1和数据块B2中存储有指向数据块B3的指针,数据块B3中存储有数据。
当存储设备N1接收到读请求后,获取其中携带的数据块B1的地址以及值为1的数据ID,根据数据块B1的地址定位到数据块B1,发现数据块B1中存储的为指向数据块B3的指针,因此将该读请求中携带的数据块地址修改为数据块B3的地址,并将该读请求重定向到存储设备N3。
存储设备N3接收到该读请求后,根据其中携带的数据块B3的地址定位到数据块B3,读取数据块B3中存储的数据,并将该数据返回给客户端。
图4示出了基于上述分布式数据存储系统的数据整理流程,管理设备会周期检测分布式数据存储系统中的所有存储设备中是否存在指针,并在检测到指针后,向该指针所在的存储设备发送数据整理消息,以通知该存储设备读取该指针指向的数据块中的数据,并进行相应处理,以提高数据分布式数据处理系统中的数据的一致性。
如图4所示,存储设备接收到数据整理消息后的处理流程可包括:
步骤401,存储设备根据数据整理消息,查询本设备存储的数据块中设置的指针。
步骤402,存储设备针对查询到的每个指针,读取该指针指向的数据块中的数据。
步骤403,存储设备将读取到的数据写入该指针所在的数据块中,并删除该数据块中的指针。
在实际应用中,本发明实施例中提供的数据处理方法主要用于存在大量写操作的分布式数据存储系统中,以最大化的提高数据处理速度。
基于与上述方法实施例相同的技术构思,本发明实施例中提供了一种存储设备,如图5所示,该存储设备包括:
写操作处理单元501,用于在本设备接收到写请求后,根据所述写请求确定出目标数据块,若定出的目标数据块中包含指向所述目标数据块的副本的指针时,则根据该指针将所述写请求重定向到存储该副本的存储设备,否则,在所述写请求对应的目标数据块中写入数据;
通知单元502,用于在所述写操作处理单元501在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的所有存储设备发送指针设置消息,以指示在所述目标数据块的副本中设置指向所述写请求对应的目标数据块的指针。
所述通知单元502,具体用于在在所述写操作处理单元501在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的所有存储设备发送指针设置消息。
所述存储设备还包括指针设置单元503;
所述指针设置单元503,用于在本设备接收到其他存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针。
所述通知单元502,具体用于在所述写操作处理单元501在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的一个存储设备发送指针设置消息。
所述存储设备还包括指针设置单元503;
所述指针设置单元503,用于在本设备接收到其它存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针,并向另一个存储有该目标数据块的副本、且未接收到所述指针设置消息的存储设备转发所述指针设置消息。
所述分布式数据存储系统中还包括管理设备,所述存储设备还包括:
数据整理单元504,用于在本设备接收到管理设备发送的数据整理消息后,根据所述数据整理消息,查询本设备存储的数据块中设置的指针,并针对查询到的每个指针,读取该指针指向的数据块中的数据,将读取到的数据写入该指针所在的数据块中,并删除该数据块中的指针;其中,所述数据整理消息为所述管理设备周期检测各存储设备中是否设置有指针,并向检测到设置有指针的存储设备发送的。
所述存储设备还包括:
读操作处理单元505,用于在本设备接收到读请求后确定出目标数据块,若确定出的目标数据块中包含指向所述读请求对应的目标数据块的副本的指针,则根据该指针将所述读请求重定向到存储该副本的存储设备;否则,读取所述读请求对应的目标数据块中的数据。
所述分布式数据存储系统中还包括管理设备,所述存储设备接收到的写请求是由客户端从所述管理设备获取到写请求对应的目标数据块的地址后根据该地址发送的;所述存储设备还包括更新请求单元506;
所述更新请求单元506,用于在所述写操作处理单元501在所述写请求对应的目标数据块中写入数据后,向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的地址的对应关系,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系;以及,用于在所述指针设置单元503在目标数据块的副本中设置指向该目标数据块的指针后,向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的副本的地址,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系。
本发明实施例中还提供了一种分布式数据处理系统,该系统包括管理设备以及如上所述的存储设备;
所述管理设备,用于周期检测各存储设备中是否设置有指针,并向检测到设置有指针的存储设备发送数据整理消息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (17)

1.一种数据处理方法,应用于分布式数据存储系统,其特征在于,所述方法包括:
存储设备接收写请求后,根据接收到的写请求确定出目标数据块;若所述目标数据块中包含指向所述目标数据块的副本的指针,则根据该指针将所述写请求重定向到存储该副本的存储设备,否则,在所述写请求对应的目标数据块中写入数据,并向存储有所述目标数据块的副本的存储设备发送指针设置消息,以指示在所述目标数据块的副本中设置指向所述写请求对应的目标数据块的指针。
2.如权利要求1所述的方法,其特征在于,所述向存储有所述目标数据块的副本的存储设备发送指针设置消息,具体包括:
向存储有所述目标数据块的副本的所有存储设备发送指针设置消息。
3.如权利要求2所述的方法,其特征在于,还包括:
所述存储设备接收到其它存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针。
4.如权利要求1所述的方法,其特征在于,所述向存储有所述目标数据块的副本的存储设备发送指针设置消息,具体包括:
向存储有所述目标数据块的副本的一个存储设备发送指针设置消息。
5.如权利要求4所述的方法,其特征在于,还包括:
所述存储设备接收到其它存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针,并向另一个存储有该目标数据块的副本、且未接收到所述指针设置消息的存储设备转发所述指针设置消息。
6.如权利要求1所述的方法,其特征在于,所述分布式数据存储系统中还包括管理设备,所述方法还包括:
存储设备接收所述管理设备发送的数据整理消息;其中,所述数据整理消息为所述管理设备周期检测各存储设备中是否设置有指针,并向检测到设置有指针的存储设备发送的;
所述存储设备根据所述数据整理消息,查询本设备存储的数据块中设置的指针,并针对查询到的每个指针,读取该指针指向的数据块中的数据,将读取到的数据写入该指针所在的数据块中,并删除该数据块中的指针。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
存储设备接收到读请求后,根据接收到的读请求确定出目标数据块;若所述读请求对应的目标数据块中包含指向所述读请求对应的目标数据块的副本的指针,则所述存储设备根据该指针将所述读请求重定向到存储该副本的存储设备;否则,所述存储设备读取所述读请求对应的目标数据块中的数据。
8.如权利要求1所述的方法,其特征在于,所述分布式数据存储系统中还包括管理设备,所述存储设备接收到的写请求是由客户端从所述管理设备获取到写请求对应的目标数据块的地址后根据该地址发送的;
所述存储设备在所述写请求对应的目标数据块中写入数据,之后还包括:
所述存储设备向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的地址的对应关系,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系;
所述存储设备在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针,之后还包括:
所述存储设备向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的副本的地址,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系。
9.一种存储设备,应用于分布式数据存储系统,其特征在于,所述存储设备包括:
写操作处理单元,用于在本设备接收到写请求后,根据所述写请求确定出目标数据块,若定出的目标数据块中包含指向所述目标数据块的副本的指针时,则根据该指针将所述写请求重定向到存储该副本的存储设备,否则,在所述写请求对应的目标数据块中写入数据;
通知单元,用于在所述写操作处理单元在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的存储设备发送指针设置消息,以指示在所述目标数据块的副本中设置指向所述写请求对应的目标数据块的指针。
10.如权利要求9所述的存储设备,其特征在于,所述通知单元,具体用于在所述写操作处理单元在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的所有存储设备发送指针设置消息。
11.如权利要求10所述的存储设备,其特征在于,所述存储设备还包括指针设置单元;
所述指针设置单元,用于在本设备接收到其他存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针。
12.如权利要求9所述的存储设备,其特征在于,所述通知单元,具体用于在所述写操作处理单元在所述写请求对应的目标数据块中写入数据后,向存储有所述目标数据块的副本的一个存储设备发送指针设置消息。
13.如权利要求12所述的存储设备,其特征在于,所述存储设备还包括指针设置单元;
所述指针设置单元,用于在本设备接收到其它存储设备发送的指针设置消息后,在所述指针设置消息所指示的目标数据块的副本中设置指向该目标数据块的指针,并向另一个存储有该目标数据块的副本、且未接收到所述指针设置消息的存储设备转发所述指针设置消息。
14.如权利要求9所述的存储设备,其特征在于,所述分布式数据存储系统中还包括管理设备,所述存储设备还包括:
数据整理单元,用于在本设备接收到管理设备发送的数据整理消息后,根据所述数据整理消息,查询本设备存储的数据块中设置的指针,并针对查询到的每个指针,读取该指针指向的数据块中的数据,将读取到的数据写入该指针所在的数据块中,并删除该数据块中的指针;其中,所述数据整理消息为所述管理设备周期检测各存储设备中是否设置有指针,并向检测到设置有指针的存储设备发送的。
15.如权利要求9所述的存储设备,其特征在于,所述存储设备还包括:
读操作处理单元,用于在本设备接收到读请求后确定出目标数据块,若确定出的目标数据块中包含指向所述读请求对应的目标数据块的副本的指针,则根据该指针将所述读请求重定向到存储该副本的存储设备;否则,读取所述读请求对应的目标数据块中的数据。
16.如权利要求9所述的存储设备,其特征在于,所述分布式数据存储系统中还包括管理设备,所述存储设备接收到的写请求是由客户端从所述管理设备获取到写请求对应的目标数据块的地址后根据该地址发送的;所述存储设备还包括更新请求单元;
所述更新请求单元,用于在所述写操作处理单元在所述写请求对应的目标数据块中写入数据后,向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的地址的对应关系,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系;以及,用于在所述指针设置单元在目标数据块的副本中设置指向该目标数据块的指针后,向所述管理设备发送数据更新消息,所述数据更新消息中携带了更新后的数据的标识和所述目标数据块的副本的地址,以通知所述管理设备更新本地存储的数据标识和数据块地址的对应关系。
17.一种分布式数据处理系统,其特征在于,包括管理设备以及如权利要求14所述的存储设备;
所述管理设备,用于周期检测各存储设备中是否设置有指针,并向检测到设置有指针的存储设备发送数据整理消息。
CN201210581713.2A 2012-12-27 2012-12-27 一种数据处理方法、设备和系统 Pending CN103902230A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210581713.2A CN103902230A (zh) 2012-12-27 2012-12-27 一种数据处理方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210581713.2A CN103902230A (zh) 2012-12-27 2012-12-27 一种数据处理方法、设备和系统

Publications (1)

Publication Number Publication Date
CN103902230A true CN103902230A (zh) 2014-07-02

Family

ID=50993580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210581713.2A Pending CN103902230A (zh) 2012-12-27 2012-12-27 一种数据处理方法、设备和系统

Country Status (1)

Country Link
CN (1) CN103902230A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104238963A (zh) * 2014-09-30 2014-12-24 华为技术有限公司 一种数据存储方法、存储装置及存储系统
CN106570029A (zh) * 2015-10-12 2017-04-19 阿里巴巴集团控股有限公司 分布式关系型数据库的数据处理方法及系统
CN107451172A (zh) * 2016-03-31 2017-12-08 阿里巴巴集团控股有限公司 用于版本管理系统的数据同步方法及设备
WO2019127017A1 (zh) * 2017-12-26 2019-07-04 华为技术有限公司 存储系统中存储设备的管理方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104238963A (zh) * 2014-09-30 2014-12-24 华为技术有限公司 一种数据存储方法、存储装置及存储系统
CN104238963B (zh) * 2014-09-30 2017-08-11 华为技术有限公司 一种数据存储方法、存储装置及存储系统
CN106570029A (zh) * 2015-10-12 2017-04-19 阿里巴巴集团控股有限公司 分布式关系型数据库的数据处理方法及系统
CN106570029B (zh) * 2015-10-12 2021-01-12 创新先进技术有限公司 分布式关系型数据库的数据处理方法及系统
CN107451172A (zh) * 2016-03-31 2017-12-08 阿里巴巴集团控股有限公司 用于版本管理系统的数据同步方法及设备
CN107451172B (zh) * 2016-03-31 2021-05-28 阿里巴巴集团控股有限公司 用于版本管理系统的数据同步方法及设备
WO2019127017A1 (zh) * 2017-12-26 2019-07-04 华为技术有限公司 存储系统中存储设备的管理方法及装置
CN110199270A (zh) * 2017-12-26 2019-09-03 华为技术有限公司 存储系统中存储设备的管理方法及装置
US11321021B2 (en) 2017-12-26 2022-05-03 Huawei Technologies Co., Ltd. Method and apparatus of managing mapping relationship between storage identifier and start address of queue of storage device corresponding to the storage identifier

Similar Documents

Publication Publication Date Title
US10089012B1 (en) Zero on demand operations based on zeroed chunk tables of storage drive objects stored in main memory
CN105260136B (zh) 数据读写方法及分布式存储系统
JP6731783B2 (ja) 改ざん検知システム、及び改ざん検知方法
JP5733124B2 (ja) データ管理装置、データ管理システム、データ管理方法、及びプログラム
CN102801784A (zh) 一种分布式数据存储方法及设备
CN103902623A (zh) 用于在存储系统上存取文件的方法和系统
US11402998B2 (en) Re-placing data within a mapped-RAID environment comprising slices, storage stripes, RAID extents, device extents and storage devices
CN103198090A (zh) 用于优化虚拟桌面环境中的存储分配的方法和系统
CN104834688A (zh) 一种二级索引建立方法和装置
CN108268216B (zh) 数据处理方法、装置及服务器
CN105138281B (zh) 一种物理磁盘的共享方法及装置
CN103942209A (zh) 数据处理方法
CN111241108A (zh) 基于键值对kv系统的索引方法、装置、电子设备和介质
CN105141672A (zh) 一种数据存储方法、装置及系统
CN103902230A (zh) 一种数据处理方法、设备和系统
CN110851474A (zh) 数据查询方法、数据库中间件、数据查询设备及存储介质
CA3154763A1 (en) Data operation method, device and system
CN111475105A (zh) 监控数据存储方法、设备、服务器及存储介质
CN115470156A (zh) 基于rdma的内存使用方法、系统、电子设备和存储介质
CN104956340A (zh) 可扩展数据重复删除
CN110825309B (zh) 数据读取方法、装置及系统、分布式系统
CN111796766A (zh) 一种数据的存储方法、装置及计算机系统
CN110352410A (zh) 跟踪索引节点的访问模式以及预提取索引节点
CN104951244A (zh) 用于存取数据的方法和设备
CN111666184A (zh) 固态驱动器ssd硬盘测试方法、装置及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140702

RJ01 Rejection of invention patent application after publication