CN102694860A - 一种云存储的数据处理方法、设备及系统 - Google Patents

一种云存储的数据处理方法、设备及系统 Download PDF

Info

Publication number
CN102694860A
CN102694860A CN2012101671076A CN201210167107A CN102694860A CN 102694860 A CN102694860 A CN 102694860A CN 2012101671076 A CN2012101671076 A CN 2012101671076A CN 201210167107 A CN201210167107 A CN 201210167107A CN 102694860 A CN102694860 A CN 102694860A
Authority
CN
China
Prior art keywords
meta data
client
data server
memory device
writing
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
CN2012101671076A
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.)
BANGNUO MEMORY SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Original Assignee
BANGNUO MEMORY SCIENCE AND TECHNOLOGY Co Ltd BEIJING
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 BANGNUO MEMORY SCIENCE AND TECHNOLOGY Co Ltd BEIJING filed Critical BANGNUO MEMORY SCIENCE AND TECHNOLOGY Co Ltd BEIJING
Priority to CN2012101671076A priority Critical patent/CN102694860A/zh
Publication of CN102694860A publication Critical patent/CN102694860A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

本发明涉及云存储技术领域,特别涉及一种云存储的数据处理方法、设备及系统,用于解决现有技术中存在的数据写入的处理时间长且效率低的问题。本发明实施例云存储的数据处理方法包括:元数据服务器集群中的元数据服务器在接收到来自写客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及参数信息生成待写入数据对应的元数据并存储;及向写客户端发送写入请求成功响应及存储信息,指示写客户端根据存储信息将待写入数据写入选定的存储设备对应的存储位置。本发明实施例避免了由于网络、硬件故障等原因造成某个元数据服务器不能正常存储元数据而无法向客户端返回成功响应时造成写入处理失败,提高了处理效率,缩短了处理时间。

Description

一种云存储的数据处理方法、设备及系统
技术领域
本发明涉及云存储技术领域,特别涉及一种云存储的数据处理方法、设备及系统。
背景技术
云存储系统指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统。云存储系统的架构如图1所示,包括:客户端10、元数据服务器集群11和存储设备集群12,其中,元数据服务器集群11包括至少一个元数据服务器,存储设备集群12包括至少一个存储设备。
现有的云存储系统的数据写入过程为:
客户端10与元数据服务器集群11中的任意一个元数据服务器(如元数据服务器S1)建立连接,向元数据服务器S1发送写入请求,并将待写入数据的参数信息(如该待写入数据的名称、大小、格式等相关信息)发送给元数据服务器S1,如图2所示;
元数据服务器S1根据收到的来自客户端10的写入请求,为该待写入数据分配存储设备及存储位置;根据该存储设备的标识、存储位置及待写入数据的参数信息生成该待写入数据对应的元数据,并存储该待写入数据对应的元数据;将生成的元数据以冗余方式存储于元数据服务器集群11中的其他所有元数据服务器(S2~Sn),以保证元数据的一致性;并在所有元数据服务器(S1~Sn)都完成更新后,由元数据服务器S1向客户端10返回成功响应,并将分配的存储设备的标识及存储位置发送给客户端10;
客户端10根据收到的存储设备的标识及存储位置,将待写入数据及其参数信息存储于该存储设备的相应位置。
在云存储系统的数据写入过程中,若元数据服务器集群中有一个元数据服务器出现故障而无法进行同步更新自身存储的元数据,则该写入请求失败。
综上所述,现有的云存储系统的数据写入过程中需要元数据服务器集群中的每个元数据服务器同步更新自身存储的元数据,使得数据写入的处理时间长、处理效率低;而且在数据写入过程中,只要有一个元数据服务器出现故障无法同步更新元数据就会造成该写入请求失败,就会造成写入处理失败。
发明内容
本发明实施例提供了一种云存储的数据处理方法、设备及系统,用于解决现有技术中存在的数据写入的处理时间长、处理效率低且在有元数据服务器出现故障时造成写入处理失败的问题。
本发明实施例提供了一种云存储的数据处理方法,包括:
元数据服务器集群中的元数据服务器在接收到来自写客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及接收到的待写入数据的参数信息生成待写入数据对应的元数据并存储;其中,所述存储信息包括选定的存储设备的标识及存储位置;
所述元数据服务器向所述写客户端发送写入请求成功响应及所述存储信息,指示所述写客户端根据所述存储信息将所述待写入数据写入选定的存储设备对应的存储位置。
本发明实施例提供了一种元数据服务器,包括:
处理模块,用于在接收到来自写客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及接收到的待写入数据的参数信息生成待写入数据对应的元数据并存储;其中,所述存储信息包括选定的存储设备的标识及存储位置;
响应反馈模块,用于向所述写客户端发送写入请求成功响应及所述存储信息,指示所述写客户端根据所述存储信息将所述待写入数据写入选定的存储设备对应的存储位置。
本发明实施例提供了一种写客户端,包括:
选择模块,用于从所述元数据服务器集群中选择一个元数据服务器,并向选定的元数据服务器发送写入请求及所述待写入数据的参数信息;及
写入模块,用于根据收到的来自元数据服务器发送的存储信息,将待写入数据写入选定的存储设备对应的存储位置。
本发明实施例提供了一种云存储系统,包括:
写客户端,用于从元数据服务器集群中选择一个元数据服务器,并向选定的元数据服务器发送写入请求及待写入数据的参数信息;以及根据收到的来自所述元数据服务器发送的存储信息,将所述待写入数据写入选定的存储设备对应的存储位置;
读客户端,用于向存储设备集群中的所有存储设备发送查询请求,以及接收所述存储设备返回的查询请求响应,并在查询成功时,接收来自所述存储设备发送的数据;
元数据服务器集群,包括至少两个元数据服务器,用于在接收到来自所述写客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及接收到的待写入数据的参数信息生成待写入数据对应的元数据并存储;其中,所述存储信息包括选定的存储设备的标识及存储位置;及向所述写客户端发送写入请求成功响应及所述存储信息,指示所述写客户端根据所述存储信息将所述待写入数据写入选定的存储设备对应的存储位置;
存储设备集群,包括至少一个存储设备,用于存储所述写客户端写入的所述待写入数据;及在接收到读客户端的查询请求后,将所述读客户端发送的待查询数据的索引信息与本地存储的元数据进行匹配,并在匹配成功后将该索引信息对应的数据发送给所述读客户端。
本发明实施例元数据服务器集群中的元数据服务器在接收到来自客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及待写入数据的参数信息生成待写入数据对应的元数据并存储;以及向客户端发送写入请求成功响应及存储信息,以指示客户端根据存储信息将待写入数据写入选定的存储设备对应的存储位置。由于本发明实施例元数据服务器在本地写入待写入数据对应的元数据后立即向客户端返回请求成功响应,而不需要将该元数据同步到其他元数据服务器之后再返回请求成功响应,从而避免由于网络、硬件故障等原因造成某个元数据服务器不能正常存储元数据而无法向客户端返回成功响应时,造成写入处理失败,同时也提高了整个云存储系统的数据写入处理效率,缩短了数据写入处理的时间。
附图说明
图1为背景技术中云存储系统的架构示意图;
图2为背景技术中客户端与元数据服务器集群之间的交互示意图;
图3为本发明实施例云存储的数据处理系统的结构示意图;
图4为本发明实施例写客户端的结构示意图;
图5为本发明实施例元数据服务器的结构示意图;
图6为本发明实施例读客户端的结构示意图;
图7为本发明实施例云存储的数据写入的处理方法的流程图;
图8为本发明实施例云存储的数据读取的处理方法的流程图;
图9为本发明实施例云存储系统中数据写入的处理过程的流程图;
图10为本发明实施例云存储系统中数据读取的处理过程的流程图。
具体实施方式
本发明实施例元数据服务器集群中的某元数据服务器在接收到来自客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及待写入数据的参数信息生成待写入数据对应的元数据并存储;以及向客户端发送写入请求成功响应及存储信息,以指示客户端根据存储信息将待写入数据写入选定的存储设备对应的存储位置;从而避免由于网络、硬件故障等原因造成某个元数据服务器不能正常存储元数据而无法向客户端返回成功响应时,造成写入处理失败,同时也提高了整个云存储系统的数据写入处理效率,缩短了数据写入处理的时间。
本发明实施例元数据服务器集群中的每一个元数据服务器响应客户端的访问(包括写入访问及读取访问),在收到写客户端的写入请求后为其分配存储空间,在接收到读客户端查询请求后,返回待读取文件对应的存储信息;元数据服务器存储有所有存储设备存储的数据对应的元数据等。
本发明实施例存储设备集群中的存储设备存储每个数据及其对应的元数据,负责文件的创建、删除等。
本发明实施例客户端包括写客户端及读客户端,客户端通过调用封装好的客户端应用接口,如应用程序编程接口API(Application ProgrammingInterface),访问元数据服务器和存储设备,其中,写客户端可以通过该接口进行写入数据等操作,读客户端可以通过该接口进行查询数据、读取数据等操作。
需要说明的是,本发明实施例写客户端的功能模块与读客户端的功能模块可以分别置于相互独立的两个客户端中,也可以是同一个客户端的功能模块,分别用以实现该客户端的写入与读取。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图3所示,本发明实施例云存储系统,包括:
写客户端20A,用于从元数据服务器集群30中选择一个元数据服务器300,并向选定的元数据服务器300发送写入请求及待写入数据的参数信息;以及根据收到的来自元数据服务器300发送的存储信息,将待写入数据写入选定的存储设备400对应的存储位置;
读客户端20B,用于向存储设备集群40中的所有存储设备400发送查询请求,以及接收存储设备400返回的查询请求响应,并在查询请求成功时,接收来自存储设备400发送的数据;
元数据服务器集群30,包括至少两个元数据服务器300,用于在接收到来自写客户端20A的写入请求后,从存储设备集群40中选择一个存储设备400,并根据存储信息及待写入数据的参数信息生成待写入数据对应的元数据并存储;及向写客户端20A发送写入请求成功响应及存储信息,指示写客户端20A根据存储信息将待写入数据写入选定的存储设备400对应的存储位置;
存储设备集群40,包括至少一个存储设备400,用于存储写客户端20A写入的待写入数据;及在接收到读客户端20B的查询请求后,将读客户端20B发送的待查询数据的索引信息与本地存储的元数据进行匹配,并在匹配成功后将该索引信息对应的数据发送给读客户端20B。
其中,本发明实施例待写入数据可以是视频文件、音频文件、图像文件、程序文件、文本文件等类型的文件。
本发明实施例参数信息用于表征该写入数据属性的相关信息,包括但不限于下列信息中的一种或多种:待写入数据的名称、大小、类型、格式、关键字、版本、安全权限、属性、说明等。
本发明实施例存储信息包括选定的存储设备的标识及存储位置。
本发明实施例待查询数据的索引信息为参数信息中的一种或多种信息;其中,参数信息包括数据的名称、大小、格式等表征该数据的相关信息。
如图4所示,本发明实施例的写客户端20A,包括:
选择模块200,用于从元数据服务器集群30中选择一个元数据服务器300,并向选定的元数据服务器300发送写入请求及待写入数据的参数信息;
写入模块210,用于根据收到的来自元数据服务器300发送的存储信息,将待写入数据写入选定的存储设备400对应的存储位置。
在具体实施过程中,选择模块200在确定写客户端20A需要写入数据时,从元数据服务器集群30中选择一个元数据服务器300,具体选择方式包括但不限于下列方式中的一种或多种:
根据元数据服务器集群30中各个元数据服务器的负载情况,选择负载最小的元数据服务器;
根据设定的算法(如hash算法)从元数据服务器集群30中选择元一个元数据服务器;
根据元数据服务器集群30中各元数据服务器与自己的物理连接距离,选择离该写客户端物理连接距离最近的元数据服务器;
随机从元数据服务器集群30中选择一个元数据服务器。
当然,选择模块200也可以采用其他的策略从数据服务器集群中选择一个元数据服务器,此处不再一一列举。
优选的,处理模块310可根据以下步骤获取存储设备集群的各存储设备的剩余容量:
存储设备集群40中的各存储设备定期(如每隔10s上报一次)上报自身的剩余容量信息;或
处理模块310在收到写入请求后,向存储设备集群40中所有的存储设备发送查询请求,并接收每个存储设备返回的剩余容量信息。
如图5所示,本发明实施例的元数据服务器300,包括:
处理模块310,用于在接收到来自写客户端20A的写入请求后,从存储设备集群中选择一个存储设备400,并根据存储信息及待写入数据的参数信息生成待写入数据对应的元数据并存储;其中,存储信息包括选定的存储设备的标识及存储位置;
响应反馈模块320,用于向写客户端20A发送写入请求成功响应及存储信息,指示写客户端20A根据存储信息将待写入数据写入选定的存储设备400对应的存储位置。
在具体实施过程中,处理模块310采用以下方式为写客户端20A分配存储设备:
从存储设备集群40中的剩余容量大于该待写入数据的容量的存储设备中随机选择一个存储设备;或
从存储设备集群40中剩余容量大于该待写入数据的容量的存储设备中选择一个剩余容量最大的存储设备。
当然,处理模块310还可以采用其他方式从存储设备集群40中选择一个存储设备存储该待写入数据,只要保证该待存储设备的容量大于该待写入数据的容量即可。
优选的,本发明实施例的元数据服务器300,还包括:
更新模块330,用于在确定自身处于空闲状态时,将本地存储的写入数据对应的元数据发送给元数据服务器集群30中除自身之外的其他元数据服务器,指示其他元数据服务器存储该元数据,以更新其他元数据服务器中存储的元数据。
在具体实施过程中,元数据服务器集群30中其他元数据服务器在更新完自身存储的元数据之后,向发起更新的元数据服务器发送更新完成响应。
由于本发明实施例元数据服务器集群中某一元数据服务器在根据存储信息及待写入数据的参数信息生成待写入数据对应的元数据后,立即向写客户端发送写入请求成功响应及存储信息,缩短了写客户端的等待时间,提高了数据写入处理的效率;该元数据服务器在自身处于空闲状态时,更新其他元数据服务器中存储的元数据,采用异步更新方式,以保证元数据的一致性。
在具体实施过程中,本发明实施例的存储设备集群40中选定的存储设备400在存储写客户端20A写入的待写入数据之后,分别向元数据服务器及写客户端返回写入成功响应。
需要说明的是,存储设备400不仅存储待写入数据,还存储该写入数据对应的元数据,以便于进行查询;其中,存储设备400的存储的元数据可以是由元数据服务器300提供,也可以由写客户端20A提供。
如图6所示,本发明实施例的读客户端20B,包括:
请求发送模块220,用于向存储设备集群中的所有存储设备发送查询请求;
其中,该查询请求中包括待查询数据对应的索引信息,该索引信息包括但不限于下列参数中一种或多种:
待查询数据的名称、大小、类型、格式、关键字、版本、安全权限、属性、说明等。
本发明实施例待查询数据可以是视频文件、音频文件、图像文件、程序文件、文本文件等类型的文件。
接收模块230,用于接收存储设备返回的查询请求响应,并在查询请求成功时,接收来自存储设备发送的待查询数据。
在具体实施过程中,请求发送模块220采用以下两种方式进行处理:
方式一、在收到来自元数据服务器集群30中的元数据服务器300返回的查询失败响应后,向存储设备集群40中的所有存储设备400发送查询请求;
方式二、在向元数据服务器集群30中的至少一个元数据服务器300发送查询请求的同时,向存储设备集群40中的所有存储设备400发送查询请求。
其中,方式一采用分级查询模式,在收到来自元数据服务器集群中的元数据服务器返回的查询失败响应后,向存储设备集群中的所有存储设备发送查询请求。
当然,读客户端20B在需要读取数据时,也可以仅向存储设备集群中的所有存储设备发送查询请求。
针对方式一,元数据服务器300在接收到来自读客户端20B的查询请求时,将待查询数据的索引信息与本地存储的元数据中的信息进行匹配,若匹配成功,则确定该待查询数据的存储信息,存储信息包括存储设备及存储位置,并将确定的存储信息发送给读客户端20B,指示读客户端20B根据存储信息向相应的存储设备发送读取请求,以读取待查询数据;
进一步,存储设备在收到来自读客户端20B的读取请求时,根据读取请求查找相应位置存储的数据,并将该数据发送给读客户端20B;
若匹配失败,则向读客户端20B返回查询失败响应;进一步,读客户端20B在收到查询失败响应后,向存储设备集群40中的所有存储设备400发送查询请求;
进一步,存储设备400在收到来自读客户端20B的查询请求后,将待查询数据的索引信息与本地存储的元数据中的信息进行匹配,若匹配成功,则将索引信息对应的数据发送给读客户端20B;若匹配失败,则向读客户端20B返回查询失败响应。
基于同一发明构思,本发明实施例中还提供了一种云存储的数据写入的处理方法,由于该方法解决问题的原理与元数据服务器及写客户端相似,因此该方法的实施可以参见元数据服务器及写客户端的实施,重复之处不再赘述。
如图7所示,本发明实施例云存储的数据写入的处理方法,包括以下步骤:
步骤701、元数据服务器集群中的元数据服务器在接收到来自写客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及待写入数据的参数信息生成待写入数据对应的元数据并存储;其中,存储信息包括选定的存储设备的标识及存储位置;
步骤702、元数据服务器向写客户端发送写入请求成功响应及存储信息,指示写客户端根据存储信息将待写入数据写入选定的存储设备对应的存储位置。
优选的,元数据服务器向写客户端发送请求成功响应及存储信息之后,还包括:
元数据服务器确定自身处于空闲状态时,将本地存储的待写入数据对应的元数据发送给元数据服务器集群中除自身之外的其他元数据服务器,指示其他元数据服务器存储元数据。
优选的,元数据服务器集群中的元数据服务器在接收到来自写客户端的写入请求之前,还包括:
写客户端从元数据服务器集群中选择一个元数据服务器,并向选定的元数据服务器发送写入请求及待写入数据的参数信息;
元数据服务器向写客户端发送写入请求成功响应及存储信息之后,还包括:
写客户端根据收到的来自元数据服务器发送的存储信息,将待写入数据写入选定的存储设备对应的存储位置。
优选的,写客户端根据下列步骤从元数据服务器集群中选择一个元数据服务器:
写客户端根据元数据服务器集群中各个元数据服务器的负载情况,选择负载最小的元数据服务器;或
写客户端根据设定的算法从元数据服务器集群中选择一个元数据服务器;或
写客户端根据元数据服务器集群中各元数据服务器与自己的物理连接距离,选择离写客户端物理连接距离最近的元数据服务器;或
写客户端随机从元数据服务器集群中选择一个元数据服务器。
优选的,选定的存储设备在存储待写入数据时,存储待写入数据对应的元数据。
基于同一发明构思,本发明实施例中还提供了一种云存储的数据读取的处理方法,由于该方法解决问题的原理与读客户端相似,因此该方法的实施可以参见读客户端的实施,重复之处不再赘述。
如图8所示,本发明实施例云存储的数据读取的处理方法,包括以下步骤:
步骤801、读客户端向存储设备集群中的所有存储设备发送查询请求;
步骤802、读客户端接收存储设备返回的查询请求响应,并在查询成功时,接收来自存储设备发送的待查询数据。
优选的,步骤801具体包括以下两种实施方式:
读客户端在收到来自元数据服务器集群中的元数据服务器返回的查询请求失败响应后,向存储设备集群中的所有存储设备发送查询请求;或者
读客户端在向元数据服务器集群中的至少一个元数据服务器发送查询请求的同时,向存储设备集群中的所有存储设备发送查询请求。
下面详细介绍本发明实施例云存储系统中数据写入的处理过程,如图9所示,包括以下步骤:
步骤901、写客户端根据设定的策略从元数据服务器集群中选定一个元数据服务器;
具体的,设定的策略包括但不限于下列方式中的一种或多种:
写客户端根据元数据服务器集群中各个元数据服务器的负载情况,选择负载最小的元数据服务器;
写客户端根据设定的算法(如hash算法)从元数据服务器集群中选择元一个元数据服务器;
写客户端根据元数据服务器集群中各元数据服务器与自己的物理连接距离,选择离该写客户端物理连接距离最近的元数据服务器;
写客户端随机从元数据服务器集群中选择一个元数据服务器。
当然,写客户端也可以采用其他的策略从数据服务器集群中选择一个元数据服务器,此处不再一一列举。
步骤902、写客户端向选定的元数据服务器发送写入请求,并将待写入数据的参数信息发送给该元数据服务器;
具体的,写客户端可以通过调用封装好的客户端应用接口(如API)访问元数据服务器和存储设备,写客户端可以通过该接口进行写入数据等操作。
待写入数据的参数信息用于表征该写入数据属性的相关信息,该参数信息包括但不限于下列信息中的一种或多种:
待写入数据的名称、大小、类型、格式、关键字、版本、安全权限、属性、说明等。
优选的,写客户端可以将待写入数据的参数信息置于写入请求中,并向选定的元数据服务器发送该写入请求。
步骤903、元数据服务器在收到写客户端发送的写入请求后,从存储设备集群中选择一个存储设备用于存储该待写入数据;
本步骤中元数据服务器可以从存储设备集群的剩余容量大于该待写入数据的容量的存储设备中随机选择一个存储设备;也可以从存储设备集群的剩余容量大于该待写入数据的容量的存储设备中选择一个剩余容量最大的存储设备。
当然,元数据服务器还可以采用其他方式从存储设备集群中选择一个存储设备存储该待写入数据,只要保证该待存储设备的容量大于该待写入数据的容量即可。
本步骤中元数据服务器可根据以下步骤获取存储设备集群的各存储设备的剩余容量:存储设备集群中的各存储设备定期(如每隔10s上报一次)上报自身的剩余容量信息;或元数据服务器在收到写入请求后,向存储设备集群中所有的存储设备发送查询请求,并接收每个存储设备返回的剩余容量信息。
步骤904、元数据服务器根据存储信息及待写入数据的参数信息生成该待写入数据对应的元数据并存储;其中,存储信息包括选定的存储设备的标识及存储位置;
步骤905、元数据服务器向写客户端发送请求成功响应,并向写客户端发送该存储信息;
该元数据服务器处于空闲状态时,将本次存储的待写入数据对应的元数据异步更新到元数据服务器集群中的其他元数据服务器中。
具体的,该元数据服务器可以通过懒更新(lazy update)方式,进行异步更新。
步骤906、写客户端在收到请求成功响应后,根据返回的存储设备的标识及存储位置,将该待写入数据写入相应存储设备的对应存储位置,已完成本次写入处理。
由于本发明实施例元数据服务器在本地写入待写入数据对应的元数据后立即向写客户端返回请求成功响应,而不需要将该元数据同步到其他元数据服务器之后再返回请求成功响应,从而避免由于网络、硬件故障等原因造成某个元数据服务器不能正常存储元数据而无法向客户端返回成功响应时,造成写入处理失败,同时也提高了整个云存储系统的数据写入处理效率,缩短了数据写入处理的时间。
本发明实施例云存储系统中数据读取的处理过程,如图10所示,包括以下步骤:
步骤1001、读客户端根据设定的策略从元数据服务器集群中选定一个元数据服务器;
具体策略请参见写入处理过程中对策略的说明,此处不再赘述。
步骤1002、读客户端向选定的元数据服务器发起查询请求,并将待查询数据的索引信息发送给该元数据服务器,以获取待查询数据的存储信息;
具体的,读客户端可以通过调用封装好的客户端应用接口(如API)访问元数据服务器和存储设备,读客户可以通过该接口进行读取数据、查询数据等操作。
待查询数据的索引信息为参数信息中的一种或多种信息;其中,参数信息包括数据的名称、大小、格式等表征该数据的相关信息。
步骤1003、元数据服务器在收到来自读客户端的查询请求后,将索引信息与本地存储的各数据对应的元数据进行匹配;
若匹配成功,则执行步骤1004;
若匹配失败,则执行步骤1005;
步骤1004、元数据服务器向读客户端发送待查询数据的存储信息,该存储信息包括存储该待查询数据的存储设备的标识及该待查询数据的存储位置;执行步骤1006;
步骤1005、元数据服务器向读客户端返回查询失败响应;执行步骤1008;
步骤1006、读客户端在收到该待查询数据对应的存储信息后,向相应存储设备发送查询请求,并向该存储设备发送该待查询数据的索引信息;执行步骤1007;
步骤1007、存储设备在收到读客户端的查询请求后,根据索引信息确定待查询数据,并将该待查询数据发送给读客户端,结束本流程;
步骤1008、读客户端在收到元数据服务器的请求失败响应后,向存储设备集群中所有的存储设备发送查询请求,并向所有存储设备发送该待查询数据的索引信息;执行步骤1009;
步骤1009、存储设备在收到读客户端的查询请求后,将索引信息与本地存储的所有数据对应的元数据进行匹配;
若匹配成功,则执行步骤1010;
若匹配失败,则执行步骤1011;
步骤1010、存储设备将确定的待查询数据发送给读客户端;
步骤1011、存储设备向读客户端返回查询失败响应。
本发明实施例的读客户端在数据读取的处理过程中采用分级搜索的方式,即先采用第一级的搜索,向元数据服务器发起查询请求,以获取文件的存储信息;若失败,则采用第二级的搜索,向存储有元数据冗余信息的每个数据存储设备发起查询请求,由于数据及其对应的元数据是一起存储在存储设备中的,此时查询结果是精确的,从而避免了由于写入过程采用异步更新带来的各个元数据服务器中存储的元数据有可能存在不一致的情况。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
本发明实施例元数据服务器集群中的元数据服务器在接收到来自客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及待写入数据的参数信息生成待写入数据对应的元数据并存储;以及向客户端发送写入请求成功响应及存储信息,以指示客户端根据存储信息将待写入数据写入选定的存储设备对应的存储位置。由于本发明实施例元数据服务器在本地写入待写入数据对应的元数据后立即向客户端返回请求成功响应,而不需要将该元数据同步到其他元数据服务器之后再返回请求成功响应,由于本发明实施例采用异步更新,从而避免由于网络、硬件故障等原因造成某个元数据不能正常存储而无法返回客户端存储成功的响应时,造成写入处理失败,同时也提高了整个云存储系统的数据写入处理效率,缩短了数据写入处理的时间。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种云存储的数据处理方法,其特征在于,所述方法包括:
元数据服务器集群中的元数据服务器在接收到来自写客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及接收到的待写入数据的参数信息生成待写入数据对应的元数据并存储;其中,所述存储信息包括选定的存储设备的标识及存储位置;
所述元数据服务器向所述写客户端发送写入请求成功响应及所述存储信息,指示所述写客户端根据所述存储信息将所述待写入数据写入选定的存储设备对应的存储位置。
2.如权利要求1所述的方法,其特征在于,所述元数据服务器向所述写客户端发送请求成功响应及所述存储信息之后,还包括:
所述元数据服务器确定自身处于空闲状态时,将本地存储的所述待写入数据对应的元数据发送给所述元数据服务器集群中除自身之外的其他元数据服务器,指示所述其他元数据服务器存储所述元数据。
3.如权利要求1或2所述的方法,其特征在于,所述元数据服务器集群中的元数据服务器在接收到来自写客户端的写入请求之前,还包括:
写客户端从所述元数据服务器集群中选择一个元数据服务器,并向选定的元数据服务器发送写入请求及所述待写入数据的参数信息;
所述元数据服务器向所述写客户端发送写入请求成功响应及所述存储信息之后,还包括:
所述写客户端根据收到的来自元数据服务器发送的存储信息,将所述待写入数据写入选定的存储设备对应的存储位置。
4.如权利要求3所述的方法,其特征在于,所述写客户端根据下列步骤从所述元数据服务器集群中选择一个元数据服务器:
所述写客户端根据所述元数据服务器集群中各个元数据服务器的负载情况,选择负载最小的元数据服务器;或
所述写客户端根据设定的算法从所述元数据服务器集群中选择一个元数据服务器;或
所述写客户端根据所述元数据服务器集群中各元数据服务器与自己的物理连接距离,选择离所述写客户端物理连接距离最近的元数据服务器;或
所述写客户端随机从所述元数据服务器集群中选择一个元数据服务器。
5.如权利要求1所述的方法,其特征在于,该方法还包括:
读客户端向存储设备集群中的所有存储设备发送查询请求;
所述读客户端接收所述存储设备返回的查询请求响应,并在查询成功时,接收来自所述存储设备发送的待查询数据。
6.如权利要求5所述的方法,其特征在于,所述读客户端向存储设备集群中的所有存储设备发送查询请求,包括:
所述读客户端在收到来自元数据服务器集群中的元数据服务器返回的查询请求失败响应后,向所述存储设备集群中的所有存储设备发送查询请求;或者
所述读客户端在向所述元数据服务器集群中的至少一个元数据服务器发送查询请求的同时,向所述存储设备集群中的所有存储设备发送查询请求。
7.一种元数据服务器,其特征在于,所述元数据服务器包括:
处理模块,用于在接收到来自写客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及接收到的待写入数据的参数信息生成待写入数据对应的元数据并存储;其中,所述存储信息包括选定的存储设备的标识及存储位置;
响应反馈模块,用于向所述写客户端发送写入请求成功响应及所述存储信息,指示所述写客户端根据所述存储信息将所述待写入数据写入选定的存储设备对应的存储位置。
8.如权利要求7所述的元数据服务器,其特征在于,所述元数据服务器还包括:
更新模块,用于在确定自身处于空闲状态时,将本地存储的所述待写入数据对应的元数据发送给所述元数据服务器集群中除自身之外的其他元数据服务器,指示所述其他元数据服务器存储所述元数据。
9.一种写客户端,其特征在于,所述写客户端包括:
选择模块,用于从所述元数据服务器集群中选择一个元数据服务器,并向选定的元数据服务器发送写入请求及所述待写入数据的参数信息;及
写入模块,用于根据收到的来自元数据服务器发送的存储信息,将待写入数据写入选定的存储设备对应的存储位置。
10.一种云存储系统,其特征在于,所述系统包括:
写客户端,用于从元数据服务器集群中选择一个元数据服务器,并向选定的元数据服务器发送写入请求及待写入数据的参数信息;以及根据收到的来自所述元数据服务器发送的存储信息,将所述待写入数据写入选定的存储设备对应的存储位置;
读客户端,用于向存储设备集群中的所有存储设备发送查询请求,以及接收所述存储设备返回的查询请求响应,并在查询成功时,接收来自所述存储设备发送的数据;
元数据服务器集群,包括至少两个元数据服务器,用于在接收到来自所述写客户端的写入请求后,从存储设备集群中选择一个存储设备,并根据存储信息及接收到的待写入数据的参数信息生成待写入数据对应的元数据并存储;其中,所述存储信息包括选定的存储设备的标识及存储位置;及向所述写客户端发送写入请求成功响应及所述存储信息,指示所述写客户端根据所述存储信息将所述待写入数据写入选定的存储设备对应的存储位置;
存储设备集群,包括至少一个存储设备,用于存储所述写客户端写入的所述待写入数据;及在接收到读客户端的查询请求后,将所述读客户端发送的待查询数据的索引信息与本地存储的元数据进行匹配,并在匹配成功后将该索引信息对应的数据发送给所述读客户端。
CN2012101671076A 2012-05-25 2012-05-25 一种云存储的数据处理方法、设备及系统 Pending CN102694860A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012101671076A CN102694860A (zh) 2012-05-25 2012-05-25 一种云存储的数据处理方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012101671076A CN102694860A (zh) 2012-05-25 2012-05-25 一种云存储的数据处理方法、设备及系统

Publications (1)

Publication Number Publication Date
CN102694860A true CN102694860A (zh) 2012-09-26

Family

ID=46860142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012101671076A Pending CN102694860A (zh) 2012-05-25 2012-05-25 一种云存储的数据处理方法、设备及系统

Country Status (1)

Country Link
CN (1) CN102694860A (zh)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103024053A (zh) * 2012-12-18 2013-04-03 华为技术有限公司 云存储方法、资源调度系统、云存储节点及系统
CN103856516A (zh) * 2012-12-03 2014-06-11 腾讯科技(深圳)有限公司 数据存储、读取方法及数据存储、读取装置
CN104102358A (zh) * 2014-07-18 2014-10-15 北京奇虎科技有限公司 隐私信息保护的方法及隐私信息保护装置
CN104104648A (zh) * 2013-04-02 2014-10-15 杭州信核数据科技有限公司 一种访问存储设备中的数据的方法、应用服务器和网络
CN104104731A (zh) * 2014-07-28 2014-10-15 浪潮(北京)电子信息产业有限公司 一种维护数据一致性的方法及装置
CN104580520A (zh) * 2015-01-29 2015-04-29 广州华多网络科技有限公司 一种运行互动业务的方法及装置
CN104679665A (zh) * 2013-12-02 2015-06-03 中兴通讯股份有限公司 一种实现分布式文件系统块存储的方法及系统
CN104731516A (zh) * 2013-12-18 2015-06-24 腾讯科技(深圳)有限公司 一种存取文件的方法、装置及分布式存储系统
CN105162623A (zh) * 2015-08-12 2015-12-16 深圳市瑞驰信息技术有限公司 一种云处理方法及云服务器
CN105224546A (zh) * 2014-06-04 2016-01-06 阿里巴巴集团控股有限公司 数据存储和查询方法及设备
CN105554030A (zh) * 2016-01-30 2016-05-04 安徽欧迈特数字技术有限责任公司 一种安全云存储方法
CN105635278A (zh) * 2015-12-30 2016-06-01 深圳市瑞驰信息技术有限公司 一种管理存储系统的元数据的方法以及元数据服务器
CN105912275A (zh) * 2016-04-27 2016-08-31 华为技术有限公司 在非易失性存储系统中建立连接的方法和装置
CN106101270A (zh) * 2016-08-05 2016-11-09 成都佳荣科技有限公司 数据分布式存储系统
CN106339176A (zh) * 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 中间文件处理方法、客户端、服务器和系统
WO2017114213A1 (zh) * 2015-12-31 2017-07-06 阿里巴巴集团控股有限公司 一种分布式存储系统升级方法和装置
CN107092437A (zh) * 2016-02-17 2017-08-25 杭州海康威视数字技术股份有限公司 数据写入、读取方法及装置、云存储系统
CN107133227A (zh) * 2016-02-26 2017-09-05 宏碁股份有限公司 为上传文件推荐云端存储装置的方法及使用该方法的装置
CN107547607A (zh) * 2016-06-24 2018-01-05 杭州海康威视数字技术股份有限公司 一种集群迁移方法及装置
CN107704201A (zh) * 2017-09-11 2018-02-16 厦门集微科技有限公司 数据存储处理方法及装置
CN108512877A (zh) * 2017-02-28 2018-09-07 腾讯科技(北京)有限公司 一种服务器集群中分享数据的方法和装置
CN108733822A (zh) * 2018-05-22 2018-11-02 北京百悟科技有限公司 一种文件存储方法、装置、电子设备及存储介质
CN109460182A (zh) * 2017-09-06 2019-03-12 杭州海康威视系统技术有限公司 一种数据存储、读取方法及装置
CN109831540A (zh) * 2019-04-12 2019-05-31 成都四方伟业软件股份有限公司 分布式存储方法、装置、电子设备及存储介质
CN109857391A (zh) * 2019-01-18 2019-06-07 山石网科通信技术股份有限公司 数据的处理方法及装置、存储介质和电子装置
CN110633046A (zh) * 2018-06-22 2019-12-31 北京东土科技股份有限公司 一种分布式系统的存储方法、装置、存储设备及存储介质
WO2020024649A1 (zh) * 2018-08-01 2020-02-06 阿里巴巴集团控股有限公司 数据处理方法和装置、服务器
WO2020024648A1 (zh) * 2018-08-01 2020-02-06 阿里巴巴集团控股有限公司 数据处理方法和装置、客户端、服务器
CN113126920A (zh) * 2021-04-02 2021-07-16 深圳市杉岩数据技术有限公司 对象存储批量读取及写入方法、客户端、存储网关及介质
CN114415980A (zh) * 2022-03-29 2022-04-29 维塔科技(北京)有限公司 多云集群数据管理系统、方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080317068A1 (en) * 2007-06-22 2008-12-25 Microsoft Corporation Server-assisted and peer-to-peer synchronization
CN102307221A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种云存储系统及其实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080317068A1 (en) * 2007-06-22 2008-12-25 Microsoft Corporation Server-assisted and peer-to-peer synchronization
CN102307221A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种云存储系统及其实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵黎斌: "面向云存储的分布式文件系统关键技术研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856516A (zh) * 2012-12-03 2014-06-11 腾讯科技(深圳)有限公司 数据存储、读取方法及数据存储、读取装置
CN103856516B (zh) * 2012-12-03 2018-05-25 腾讯科技(深圳)有限公司 数据存储、读取方法及数据存储、读取装置
CN103024053B (zh) * 2012-12-18 2015-11-25 华为技术有限公司 云存储方法、资源调度系统、云存储节点及系统
CN103024053A (zh) * 2012-12-18 2013-04-03 华为技术有限公司 云存储方法、资源调度系统、云存储节点及系统
CN104104648A (zh) * 2013-04-02 2014-10-15 杭州信核数据科技有限公司 一种访问存储设备中的数据的方法、应用服务器和网络
CN104679665A (zh) * 2013-12-02 2015-06-03 中兴通讯股份有限公司 一种实现分布式文件系统块存储的方法及系统
CN104731516A (zh) * 2013-12-18 2015-06-24 腾讯科技(深圳)有限公司 一种存取文件的方法、装置及分布式存储系统
CN104731516B (zh) * 2013-12-18 2019-03-01 腾讯科技(深圳)有限公司 一种存取文件的方法、装置及分布式存储系统
CN105224546B (zh) * 2014-06-04 2020-10-30 创新先进技术有限公司 数据存储和查询方法及设备
CN105224546A (zh) * 2014-06-04 2016-01-06 阿里巴巴集团控股有限公司 数据存储和查询方法及设备
CN104102358A (zh) * 2014-07-18 2014-10-15 北京奇虎科技有限公司 隐私信息保护的方法及隐私信息保护装置
CN104104731A (zh) * 2014-07-28 2014-10-15 浪潮(北京)电子信息产业有限公司 一种维护数据一致性的方法及装置
CN104580520A (zh) * 2015-01-29 2015-04-29 广州华多网络科技有限公司 一种运行互动业务的方法及装置
US11500812B2 (en) 2015-07-08 2022-11-15 Alibaba Group Holding Limited Intermediate file processing method, client, server, and system
CN106339176A (zh) * 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 中间文件处理方法、客户端、服务器和系统
CN106339176B (zh) * 2015-07-08 2020-04-10 阿里巴巴集团控股有限公司 中间文件处理方法、客户端、服务器和系统
CN105162623A (zh) * 2015-08-12 2015-12-16 深圳市瑞驰信息技术有限公司 一种云处理方法及云服务器
CN105162623B (zh) * 2015-08-12 2019-01-25 深圳市瑞驰信息技术有限公司 一种云处理方法及云服务器
CN105635278A (zh) * 2015-12-30 2016-06-01 深圳市瑞驰信息技术有限公司 一种管理存储系统的元数据的方法以及元数据服务器
US10884623B2 (en) 2015-12-31 2021-01-05 Alibaba Group Holding Limited Method and apparatus for upgrading a distributed storage system
WO2017114213A1 (zh) * 2015-12-31 2017-07-06 阿里巴巴集团控股有限公司 一种分布式存储系统升级方法和装置
CN105554030A (zh) * 2016-01-30 2016-05-04 安徽欧迈特数字技术有限责任公司 一种安全云存储方法
US11586673B2 (en) 2016-02-17 2023-02-21 Hangzhou Hikvision Digital Technology Co., Ltd. Data writing and reading method and apparatus, and cloud storage system
CN107092437A (zh) * 2016-02-17 2017-08-25 杭州海康威视数字技术股份有限公司 数据写入、读取方法及装置、云存储系统
CN107092437B (zh) * 2016-02-17 2019-11-22 杭州海康威视数字技术股份有限公司 数据写入、读取方法及装置、云存储系统
CN107133227A (zh) * 2016-02-26 2017-09-05 宏碁股份有限公司 为上传文件推荐云端存储装置的方法及使用该方法的装置
CN105912275A (zh) * 2016-04-27 2016-08-31 华为技术有限公司 在非易失性存储系统中建立连接的方法和装置
US10866911B2 (en) 2016-04-27 2020-12-15 Huawei Technologies Co., Ltd. Method and apparatus for establishing connection in non-volatile memory system
WO2017185996A1 (zh) * 2016-04-27 2017-11-02 华为技术有限公司 在非易失性存储系统中建立连接的方法和装置
CN107547607B (zh) * 2016-06-24 2020-12-25 杭州海康威视数字技术股份有限公司 一种集群迁移方法及装置
CN107547607A (zh) * 2016-06-24 2018-01-05 杭州海康威视数字技术股份有限公司 一种集群迁移方法及装置
CN106101270A (zh) * 2016-08-05 2016-11-09 成都佳荣科技有限公司 数据分布式存储系统
CN108512877B (zh) * 2017-02-28 2022-03-18 腾讯科技(北京)有限公司 一种服务器集群中分享数据的方法和装置
CN108512877A (zh) * 2017-02-28 2018-09-07 腾讯科技(北京)有限公司 一种服务器集群中分享数据的方法和装置
CN109460182A (zh) * 2017-09-06 2019-03-12 杭州海康威视系统技术有限公司 一种数据存储、读取方法及装置
CN109460182B (zh) * 2017-09-06 2020-10-30 杭州海康威视系统技术有限公司 一种数据存储、读取方法及装置
WO2019047875A1 (zh) * 2017-09-06 2019-03-14 杭州海康威视系统技术有限公司 一种数据存储、读取方法及装置
CN107704201A (zh) * 2017-09-11 2018-02-16 厦门集微科技有限公司 数据存储处理方法及装置
CN107704201B (zh) * 2017-09-11 2020-07-31 厦门集微科技有限公司 数据存储处理方法及装置
CN108733822A (zh) * 2018-05-22 2018-11-02 北京百悟科技有限公司 一种文件存储方法、装置、电子设备及存储介质
CN110633046A (zh) * 2018-06-22 2019-12-31 北京东土科技股份有限公司 一种分布式系统的存储方法、装置、存储设备及存储介质
US11106488B2 (en) 2018-08-01 2021-08-31 Advanced New Technologies Co., Ltd. Blockchain read/write data processing method, apparatus, and server
WO2020024648A1 (zh) * 2018-08-01 2020-02-06 阿里巴巴集团控股有限公司 数据处理方法和装置、客户端、服务器
WO2020024649A1 (zh) * 2018-08-01 2020-02-06 阿里巴巴集团控股有限公司 数据处理方法和装置、服务器
US11563805B2 (en) 2018-08-01 2023-01-24 Advanced New Technologies Co., Ltd. Method, apparatus, client terminal, and server for data processing
CN109857391A (zh) * 2019-01-18 2019-06-07 山石网科通信技术股份有限公司 数据的处理方法及装置、存储介质和电子装置
CN109831540B (zh) * 2019-04-12 2022-02-11 成都四方伟业软件股份有限公司 分布式存储方法、装置、电子设备及存储介质
CN109831540A (zh) * 2019-04-12 2019-05-31 成都四方伟业软件股份有限公司 分布式存储方法、装置、电子设备及存储介质
CN113126920A (zh) * 2021-04-02 2021-07-16 深圳市杉岩数据技术有限公司 对象存储批量读取及写入方法、客户端、存储网关及介质
CN114415980A (zh) * 2022-03-29 2022-04-29 维塔科技(北京)有限公司 多云集群数据管理系统、方法及装置
CN114415980B (zh) * 2022-03-29 2022-05-31 维塔科技(北京)有限公司 多云集群数据管理系统、方法及装置

Similar Documents

Publication Publication Date Title
CN102694860A (zh) 一种云存储的数据处理方法、设备及系统
CN102611745B (zh) 文件在线迁移方法、装置和系统
JP2019519025A (ja) 分散システムにおける範囲の分割および移動
CN104731516A (zh) 一种存取文件的方法、装置及分布式存储系统
CN102053982A (zh) 一种数据库信息管理方法和设备
CN103116618A (zh) 基于客户端持久缓存的远程文件系统镜像方法及系统
CN112559637B (zh) 基于分布式存储的数据处理方法、装置、设备以及介质
CN103037004A (zh) 云存储系统操作的实现方法和装置
CN103167026A (zh) 一种云存储环境数据处理方法、系统及设备
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
CN104144150A (zh) 利用元数据访问信息的方法、装置和系统
CN103138912A (zh) 数据同步方法及系统
CN103501319A (zh) 一种低延迟的面向小文件的分布式存储系统
CN104519078A (zh) 实现云存储的方法与装置
CN103607424A (zh) 一种服务器连接方法及服务器系统
CN105005611A (zh) 一种文件管理系统及文件管理方法
KR20100048130A (ko) 메타데이터 클러스터 기반의 분산형 스토리지 시스템 및 그동작 방법
CN104750757A (zh) 一种基于HBase的数据存储方法和设备
CN114422537B (zh) 多云存储系统、多云数据读写方法及电子设备
CN112866406A (zh) 一种数据存储方法、系统、装置、设备及存储介质
CN103491137A (zh) 数据同步系统和数据同步方法
CN114610680A (zh) 分布式文件系统元数据管理方法、装置、设备及存储介质
CN104517067A (zh) 访问数据的方法、装置及系统
US8489698B2 (en) Apparatus and method for accessing a metadata
CN103905512A (zh) 一种数据处理方法和设备

Legal Events

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

Application publication date: 20120926