CN101997884A - 分布式存储系统和方法 - Google Patents

分布式存储系统和方法 Download PDF

Info

Publication number
CN101997884A
CN101997884A CN2009100565720A CN200910056572A CN101997884A CN 101997884 A CN101997884 A CN 101997884A CN 2009100565720 A CN2009100565720 A CN 2009100565720A CN 200910056572 A CN200910056572 A CN 200910056572A CN 101997884 A CN101997884 A CN 101997884A
Authority
CN
China
Prior art keywords
data
server
data storage
server cluster
client
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.)
Granted
Application number
CN2009100565720A
Other languages
English (en)
Other versions
CN101997884B (zh
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.)
Shanghai spades Interactive Network Technology Co., Ltd.
Original Assignee
Shengdong Network Technology Development (Shanghai) 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 Shengdong Network Technology Development (Shanghai) Co Ltd filed Critical Shengdong Network Technology Development (Shanghai) Co Ltd
Priority to CN200910056572.0A priority Critical patent/CN101997884B/zh
Publication of CN101997884A publication Critical patent/CN101997884A/zh
Application granted granted Critical
Publication of CN101997884B publication Critical patent/CN101997884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

一种分布式存储系统和方法包括客户端访问接口、管理服务器及文件删除控制器、元数据服务器集群、数据存储服务器集群及数据库服务器集群;客户端访问接口分别与各服务器集群连接,管理服务器分别与元数据服务器集群连接,文件删除控制器分别与数据存储服务器集群及数据库服务器集群连接,元数据服务器集群、数据存储服务器集群及数据库服务器集群相互连接,元数据服务器集群分别与数据存储服务器集群两两连接,元数据服务器集群与数据存储服务器集群两两连接。本发明确保数据的可靠备份及迅速操作,系统的整体性能大大提升,并提供了完善的界面管理软件及数据恢复的功能,删除的数据在一定时间内还能恢复,真正实现了自动化管理的功能。

Description

分布式存储系统和方法
技术领域
本发明涉及一种存储系统和方法,具体涉及一种分布式存储系统和方法。
背景技术
随着互联网的发展和用户宽带接入的普及,一些大型网站开始为个人用户提供数据存储功能。普通用户只要接入互联网便可以将自己的数码照片、数据文件等信息存放到此类系统中,也可以在任意时刻任意接入互联网的地点从该系统中获取已存入的文件信息。该系统给普通用户提供极大便利的同时,也对系统的设计提出了更高的要求,该系统必须要能支撑海量数据文件进行高速读写且有一定容灾能力。当前专业存储产品SAN、NAS等由于成本较高,并不适用于互联网的应用。因此我们需要设计更为适用的分布式存储系统来支撑用户的需求。当前云计算时代已经到来,通过软件程序将成百上千台PC服务器组成一个分布式系统的技术已经可行。
发明内容
本发明的目的是提供一种分布式存储系统和方法,它基于Linux操作系统,采用高效的TCP/IP网络互联技术,将数百台服务器连接起来,组成一个统一的能够支撑海量数据存储的分布式系统。
本发明分布式存储系统和方法的目的是通过以下技术方案实现的:一种分布式存储系统和方法,包括客户端访问接口、管理服务器及文件删除控制器;还包括元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A、数据存储服务器集群B、数据库服务器集群A及数据库服务器集群B。
所述的客户端访问接口分别与元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A及数据存储服务器集群B连接;所述的客户端访问接口包括写接口、读接口及删除接口。
所述的管理服务器分别与元数据服务器集群A及元数据服务器集群B连接;所述的管理服务器还包括管理数据库。
所述的文件删除控制器分别与数据存储服务器集群A、数据存储服务器集群B及数据库服务器集群B连接。
所述的元数据服务器集群A及元数据服务器集群B通过TCP协议连接,相互检测对方状态;数据存储服务器集群A及数据存储服务器集群B通过TCP协议互连,相互备份文件数据;数据库服务器集群A及数据库服务器集群B通过TCP协议相连,数据从数据库服务器集群A备份到数据库服务器集群B。
所述的元数据服务器集群A及元数据服务器集群B分别与数据存储服务器集群A及数据存储服务器集群B两两连接。
所述的元数据服务器集群A、元数据服务器集群B分别与数据库服务器集群A及数据库服务器集群B两两连接。
上述的分布式存储系统和方法,其中,所述的元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A及数据存储服务器集群B是由一个或多个同一类型的服务器组成的服务器集群;数据库服务器集群A及数据库服务器集群B是由一个或多个同一类型的数据库服务器组成的数据库服务器集群;所述的元数据服务器集群B、数据存储服务器集群B及数据库服务器集群B分别是元数据服务器集群A、数据存储服务器集群A及数据库服务器集群A的数据备份服务器。
上述的分布式存储系统和方法,其中,该方法包括分布式存储系统的写数据的方法、分布式存储系统的读数据的方法、分布式存储系统的删除数据的方法、分布式存储系统的数据自动修复的方法及分布式存储系统的数据迁移的方法。
上述的分布式存储系统和方法,其中,所述的分布式存储系统的写数据的方法至少包括以下步骤:
步骤1,调用者调用客户端访问接口的写接口。
步骤2,客户端访问接口的写接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3。
步骤3,客户端访问接口的写接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤13。
步骤4,客户端访问接口向元数据服务器发送创建文件的指令,并将数据的大小等信息发送给元数据服务器。
步骤5,元数据服务器生成文件名,并将新创建的文件信息连同文件名一起存入数据库集群A,如果出错则跳到步骤11,否则进入步骤6。
步骤6,元数据服务器从数据存储服务器集群A和数据存储服务器集群B中挑选出两个服务器进行文件的存储,如果无法挑选出两台服务器,则跳到步骤11,否则进入步骤7。
步骤7,元数据服务器挑选出的两台数据存储服务器,并发送信号,命令选出的两台数据存储服务器进入待写状态。
步骤8,元数据服务器返回给客户端成功消息,并将数据存储服务器列表及新创建的文件名一并返回。
步骤9,客户端访问接口根据网络情况从两台数据存储服务器中选出最优的一台服务器,将文件数据发送给最优数据存储服务器,下称其为数据存储服务器A,另一台称数据存储服务器B。
步骤10,数据存储服务器A收到文件数据后,将文件保存到本地,并将数据发送给数据存储服务器B,等待数据存储服务器B保存结果。如果数据存储服务器A或数据存储服务器B任意一方保存文件失败,则进入11,否则进入步骤12。
步骤11,返回出错结果给客户端访问接口,进入步骤13。
步骤12,返回正确结果给客户端访问接口,进入步骤13。
步骤13,客户端访问接口将结果返回给调用者。
上述的分布式存储系统和方法,其中,所述的分布式存储系统的读数据的方法至少包括以下步骤:
步骤1,调用者调用客户端访问接口的读接口。
步骤2,客户端访问接口的读接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3。
步骤3,客户端访问接口的读接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤11。
步骤4,客户端访问接口向元数据服务器发送读的指令,并将所要读文件的文件名发送给元数据服务器。
步骤5,元数据服务器从数据库服务器中查询所要读的文件的文件名的元信息,若数据存在则返回文件所在的数据存储服务器列表,否则返回出错信息给客户端访问接口。
步骤6,若元数据服务器返回的结果显示有错误发生,则跳转至步骤9。否则进行步骤7。
步骤7,客户端访问接口从元数据服务器返回的数据存储服务器列表中选择一个最优的进行数据访问,如果访问成功则进入步骤10,否则进入步骤8。
步骤8,客户端访问接口选择另一个数据存储服务器进行数据访问,如果访问成功则进入步骤10,否则进入步骤9。
步骤9,返回出错结果给客户端访问接口,进入步骤11。
步骤10,返回正确结果给客户端访问接口,进入步骤11。
步骤11,客户端访问接口将结果返回给调用者。
上述的分布式存储系统和方法,其中,所述的分布式存储系统的删除数据的方法至少包括以下步骤:
步骤1,调用者调用客户端访问接口的删除接口。
步骤2,客户端访问接口的删除接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3。
步骤3,客户端访问接口的删除接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤6。
步骤4,客户端访问接口向元数据服务器发送删除的指令,并将所要删除文件的文件名发送给元数据服务器。
步骤5,元数据服务器从数据库服务器中查询所要删除的文件的文件名的元信息,并将所要删除的文件删除,并将结果返回给客户端访问接口。
步骤6,客户端访问接口将调用结果返回给调用者。
上述的分布式存储系统和方法,其中,所述的分布式存储系统的数据自动修复的方法至少包括以下步骤:
步骤1,数据存储服务器发现数据损坏,发消息给元数据服务器。
步骤2,元数据服务器挑选出一台待写数据存储服务器,向选出的待写数据存储服务器发消息,并将选出的待写数据存储服务器设置为待写状态。
步骤3,元数据服务器查找出损坏数据的另一份数据所在的数据存储服务器,向另一份数据所在的数据存储服务器发消息命令,并将指定数据发送给待写数据存储服务器。
步骤4,待写数据存储服务器接收数据,写入磁盘,并将结果返回给发送方数据存储服务器。
步骤5,发送方数据存储服务器接收到结果后,将结果传回元数据服务器,流程结束。
上述的分布式存储系统和方法,其中,所述的分布式存储系统的数据迁移的方法至少包括以下步骤:
步骤1,管理员通过管理服务器主动向一台元数据存储服务器发送迁移指令,迁移某台数据存储服务器上的所有数据。
步骤2,元数据服务器从数据库服务器中查找出所有在待迁移的数据存储服务器上存储的文件信息。
步骤3,元数据服务器依次为待迁移的文件挑选出一台新的数据存储服务器,并命令原数据存储服务器将数据发送到新的存储服务器上。
步骤4,元数据服务器将所有文件处理完毕,迁移流程结束。
本发明分布式存储系统和方法由于采用了上述方案,使之与现有技术相比,具有以下的优点和积极效果:
1、本发明分布式存储系统和方法由于采用了元数据服务器集群B、数据存储服务器集群B及数据库服务器集群B,确保了数据的可靠备份,确保了有部分服务器损坏时,用户对数据的读写等操作迅速迁移。
2、本发明分布式存储系统和方法由于采用先进的基于消息的网络编程模型,数据存储部分采用了高效的AIO(异步IO)对文件进行读写,系统的整体性能大大提升,提高了磁盘的利用率。
3、本发明分布式存储系统和方法由于提供了完善的界面管理软件,另外本发明还提供了数据恢复的功能,及删除的数据在一定时间内还能恢复,真正实现了自动化管理的功能。
附图说明
附图1是本发明分布式存储系统和方法网络架构模块图。
附图2是本发明分布式存储系统和方法的写数据的方法的流程图。
附图3是本发明分布式存储系统和方法的读数据的方法的流程图。
附图4是本发明分布式存储系统和方法的删除数据的方法的流程图。
附图5是本发明分布式存储系统和方法的数据的自动修复的方法的流程图。
附图6是本发明分布式存储系统和方法的数据迁移的方法的流程图。
具体实施方式
请参见附图1所示,本发明分布式存储系统和方法,包括客户端访问接口1、管理服务器2及文件删除控制器3;还包括元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A、数据存储服务器集群B、数据库服务器集群A及数据库服务器集群B。所有集群A和集群B的服务器都可部署在两个机房,以达到双机房相互备份的目的。如果条件不允许,实际部署中也可将其部署在一个机房,当一个机房失效时,另一个机房仍然能提供主要的服务,以此达到机房数据冗余的目的。
元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A、数据存储服务器集群B、数据库服务器集群A及数据库服务器集群B均有主备机制,当这个系统中的任意一方失效时,客户端访问接口1均能迅速切换到另一方进行访问,整过过程对上层透明。当一方数据遭到损坏时,系统会自动检测到,并发起迁移流程,保持数据的多冗余性。A或B表明了这两类服务器集群互做备份。
客户端访问接口分别与元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A及数据存储服务器集群B连接;客户端访问接口1包括写接口、读接口及删除接口,通过客户端访问接口1访问本系统时会跟据其所在网络的情况自动选择集群A或集群B进行访问,已达到最优访问的目的。
管理服务器2分别与元数据服务器集群A及元数据服务器集群B连接;管理服务器2还包括管理数据库,用来检测元数据服务器及与元数据服务器连接的数据库服务器的状态。如果出现异常情况(如服务器失效),管理服务器2会向管理员发出报警信息。管理服务器2负责从元数据服务器上收集整个系统的信息,并记录到管理数据库中。管理员也可以通过管理服务器2来控制整个系统。
文件删除控制器3分别与数据存储服务器集群A、数据存储服务器集群B及数据库服务器集群B连接,文件删除控制器负责定时删除已经过期的数据文件,用来进行数据的清理。
元数据服务器集群A及元数据服务器集群B通过TCP协议连接,相互检测对方状态;数据存储服务器集群A及数据存储服务器集群B通过TCP协议互连,相互备份文件数据;数据库服务器集群A及数据库服务器集群B通过TCP协议相连,数据从数据库服务器集群A备份到数据库服务器集群B。
元数据服务器集群A及元数据服务器集群B分别与数据存储服务器集群A及数据存储服务器集群B两两连接,元数据服务器会监控数据存储服务器的状态,如果数据存储服务器失效,则元数据服务器会将其从可用列表中剔除;如果数据存储服务器恢复,则元数据服务器又会将其加入可用列表。
元数据服务器集群A、元数据服务器集群B分别与数据存储服务器集群A连接,用来写入读取存储文件的元数据(节点)信息;元数据服务器集群A、元数据服务器集群B分别与数据存储服务器集群B连接,当数据库服务器集群A失效时,数据库服务器集群B为元数据服务器提供数据访问功能。
元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A及数据存储服务器集群B是由一个或多个同一类型的服务器组成的服务器集群;数据库服务器集群A及数据库服务器集群B是由一个或多个同一类型的数据库服务器组成的数据库服务器集群;所述的元数据服务器集群B、数据存储服务器集群B及数据库服务器集群B分别是元数据服务器集群A、数据存储服务器集群A及数据库服务器集群A的数据备份服务器。数据库服务器集群A和数据库服务器集群B保存了数据文件的元数据信息,如文件大小、创建时间、所在数据存储服务器的位置等信息,数据库服务器集群B是数据库服务器集群A的备份服务器,当数据库服务器集群A失效时数据库服务器集群B为元数据服务器提供服务。
本发明分布式存储系统和方法的数据库服务器集群主要用来存储数据的元信息,数据表结构设计如下:
文件名字段,由元数据服务器生成的系统唯一的文件名。
数据存储服务器1字段,文件所在的第一个数据存储服务器名称。
数据存储服务器1文件位置字段,文件在第一个数据存储服务器上的位置。
数据存储服务器1是否可用字段,表明该文件在第一个数据存储服务器上是否可用。数据存储服务器2字段,文件所在的第二个数据存储服务器名称。
数据存储服务器2文件位置字段,文件在第二个数据存储服务器上的位置。
数据存储服务器2是否可用字段,表明该文件在第二个数据存储服务器上是否可用。
文件大小字段,表明了文件数据的大小。
文件类型字段,表明了文件数据的类型,如图片文件、普通数据文件等。
文件验证信息字段,用来验证当前文件是否有损坏。
文件创建时间字段,表明了文件的创建时间。
本发明分布式存储系统和方法包括分布式存储系统的写数据的方法、分布式存储系统的读数据的方法、分布式存储系统的删除数据的方法、分布式存储系统的数据自动修复的方法及分布式存储系统的数据迁移的方法。
请参见附图2所示,附图2是本发明分布式存储系统和方法的写数据的方法的流程图,包括如下步骤:
步骤1,调用者调用客户端访问接口的写接口。
步骤2,客户端访问接口的写接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3。
步骤3,客户端访问接口的写接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤13。
步骤4,客户端访问接口向元数据服务器发送创建文件的指令,并将数据的大小等信息发送给元数据服务器。
步骤5,元数据服务器生成文件名,并将新创建的文件信息连同文件名一起存入数据库集群A,如果出错则跳到步骤11,否则进入步骤6。
步骤6,元数据服务器从数据存储服务器集群A和数据存储服务器集群B中挑选出两个服务器进行文件的存储,如果无法挑选出两台服务器,则跳到步骤11,否则进入步骤7。
步骤7,元数据服务器挑选出的两台数据存储服务器,并发送信号,命令挑选出的两台数据存储服务器进入待写状态。
步骤8,元数据服务器返回给客户端成功消息,并将数据存储服务器列表及新创建的文件名一并返回。
步骤9,客户端访问接口根据网络情况从两台数据存储服务器中选出最优的一台服务器,将文件数据发送给最优数据存储服务器,下称其为数据存储服务器A,另一台称数据存储服务器B。
步骤10,数据存储服务器A收到文件数据后,将文件保存到本地,并将数据发送给数据存储服务器B,等待数据存储服务器B保存结果。如果数据存储服务器A或数据存储服务器B任意一方保存文件失败,则进入11,否则进入步骤12。
步骤11,返回出错结果给客户端访问接口,进入步骤13。
步骤12,返回正确结果给客户端访问接口,进入步骤13。
步骤13,客户端访问接口将结果返回给调用者。
请参见附图3所示,附图3是本发明分布式存储系统和方法的读数据的方法的流程图,包括如下步骤:
步骤1,调用者调用客户端访问接口的读接口。
步骤2,客户端访问接口的读接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3。
步骤3,客户端访问接口的读接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤11。
步骤4,客户端访问接口向元数据服务器发送读的指令,并将所要读文件的文件名发送给元数据服务器。
步骤5,元数据服务器从数据库服务器中查询所要读的文件的文件名的元信息,若数据存在则返回文件所在的数据存储服务器列表,否则返回出错信息给客户端访问接口。
步骤6,若元数据服务器返回的结果显示有错误发生,则跳转至步骤9。否则进行步骤7。
步骤7,客户端访问接口从元数据服务器返回的数据存储服务器列表中选择一个最优的进行数据访问,如果访问成功则进入步骤10,否则进入步骤8。
步骤8,客户端访问接口选择另一个数据存储服务器进行数据访问,如果访问成功则进入步骤10,否则进入步骤9。
步骤9,返回出错结果给客户端访问接口,进入步骤11。
步骤10,返回正确结果给客户端访问接口,进入步骤11。
步骤11,客户端访问接口将结果返回给调用者。
请参见附图4所示,附图4是本发明分布式存储系统和方法的删除数据的方法的流程图,包括如下步骤:
步骤1,调用者调用客户端访问接口的删除接口。
步骤2,客户端访问接口的删除接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3。
步骤3,客户端访问接口的删除接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤6。
步骤4,客户端访问接口向元数据服务器发送删除的指令,并将所要删除文件的文件名发送给元数据服务器。
步骤5,元数据服务器从数据库服务器中查询所要删除的文件的文件名的元信息,并将所要删除的文件删除,并将结果返回给客户端访问接口。
步骤6,客户端访问接口将调用结果返回给调用者。
请参见附图5所示,附图5是本发明分布式存储系统和方法的数据的自动修复的方法的流程图,包括如下步骤:
步骤1,数据存储服务器发现数据损坏,发消息给元数据服务器。
步骤2,元数据服务器挑选出一台待写数据存储服务器,向选出的待写数据存储服务器发消息,并将选出的待写数据存储服务器设置为待写状态。
步骤3,元数据服务器查找出损坏数据的另一份数据所在的数据存储服务器,向另一份数据所在的数据存储服务器发消息命令,并将指定数据发送给待写数据存储服务器。
步骤4,待写数据存储服务器接收数据,写入磁盘,并将结果返回给发送方数据存储服务器。
步骤5,发送方数据存储服务器接收到结果后,将结果传回元数据服务器,流程结束。
请参见附图6所示,附图6是本发明分布式存储系统和方法的数据迁移的方法的流程图,包括如下步骤:
步骤1,管理员通过管理服务器主动向一台元数据存储服务器发送迁移指令,迁移某台数据存储服务器上的所有数据。
步骤2,元数据服务器从数据库服务器中查找出所有在待迁移的数据存储服务器上存储的文件信息。
步骤3,元数据服务器依次为待迁移的文件挑选出一台新的数据存储服务器,并命令原数据存储服务器将数据发送到新的存储服务器上。
步骤4,元数据服务器将所有文件处理完毕,迁移流程结束。
本发明分布式存储系统和方法的需求如下:需要开发分布式网络框架,将数百台机器组成一个统一的分布式存储系统;该系统每天至少能容纳3000万个平均大小为80KB的文件存储量;该系统中存储的数据多份冗余,当一份数据损坏时,系统能自动侦测并予以修复;机器的部署采取多机房冗余策略,当一个机房出现故障时,整个系统仍能对外提供主要服务;系统需有较强的可扩展性,当系统无法支撑用户海量数据存储时,可以在管理端简单的通过增加机器数量的方法来提高整体集群的负载能力;提供用户友好的部署和管理程序,让非专业人事也能轻松管理系统,以实现整个系统的管理自动化。
综上所述,本发明分布式存储系统和方法由于采用了元数据服务器集群B、数据存储服务器集群B及数据库服务器集群B,确保了数据的可靠备份,确保了有部分服务器损坏时,用户对数据的读写等操作迅速迁移;本发明由于采用先进的基于消息的网络编程模型,数据存储部分采用了高效的AIO(异步IO)对文件进行读写,系统的整体性能大大提升,提高了磁盘的利用率;本发明由于提供了完善的界面管理软件,另外本发明还提供了数据恢复的功能,及删除的数据在一定时间内还能恢复,真正实现了自动化管理的功能。

Claims (8)

1.一种分布式存储系统和方法,包括客户端访问接口、管理服务器及文件删除控制器;其特征在于:还包括元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A、数据存储服务器集群B、数据库服务器集群A及数据库服务器集群B;
所述的客户端访问接口分别与元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A及数据存储服务器集群B连接;所述的客户端访问接口包括写接口、读接口及删除接口;
所述的管理服务器分别与元数据服务器集群A及元数据服务器集群B连接;所述的管理服务器还包括管理数据库;
所述的文件删除控制器分别与数据存储服务器集群A、数据存储服务器集群B及数据库服务器集群B连接;
所述的元数据服务器集群A及元数据服务器集群B通过TCP协议连接,相互检测对方状态;数据存储服务器集群A及数据存储服务器集群B通过TCP协议互连,相互备份文件数据;数据库服务器集群A及数据库服务器集群B通过TCP协议相连,数据从数据库服务器集群A备份到数据库服务器集群B;
所述的元数据服务器集群A及元数据服务器集群B分别与数据存储服务器集群A及数据存储服务器集群B两两连接;
所述的元数据服务器集群A、元数据服务器集群B分别与数据库服务器集群A及数据库服务器集群B两两连接。
2.根据权利要求1所述的分布式存储系统和方法,其特征在于:所述的元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A及数据存储服务器集群B是由一个或多个同一类型的服务器组成的服务器集群;数据库服务器集群A及数据库服务器集群B是由一个或多个同一类型的数据库服务器组成的数据库服务器集群;所述的元数据服务器集群B、数据存储服务器集群B及数据库服务器集群B分别是元数据服务器集群A、数据存储服务器集群A及数据库服务器集群A的数据备份服务器。
3.根据权利要求1所述的分布式存储系统和方法,其特征在于:该方法包括分布式存储系统的写数据的方法、分布式存储系统的读数据的方法、分布式存储系统的删除数据的方法、分布式存储系统的数据自动修复的方法分布式存储系统的及数据迁移的方法。
4.根据权利要求3所述的分布式存储系统和方法,其特征在于:所述的分布式存储系统的写数据的方法至少包括以下步骤:
步骤1,调用者调用客户端访问接口的写接口;
步骤2,客户端访问接口的写接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3;
步骤3,客户端访问接口的写接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤13;
步骤4,客户端访问接口向元数据服务器发送创建文件的指令,并将数据的大小等信息发送给元数据服务器;
步骤5,元数据服务器生成文件名,并将新创建的文件信息连同文件名一起存入数据库集群A,如果出错则跳到步骤11,否则进入步骤6;
步骤6,元数据服务器从数据存储服务器集群A和数据存储服务器集群B中挑选出两个服务器进行文件的存储,如果无法挑选出两台服务器,则跳到步骤11,否则进入步骤7;
步骤7,元数据服务器挑选出的两台数据存储服务器,并发送信号,命令挑选出的两台数据存储服务器进入待写状态;
步骤8,元数据服务器返回给客户端成功消息,并将数据存储服务器列表及新创建的文件名一并返回;
步骤9,客户端访问接口根据网络情况从两台数据存储服务器中选出最优的一台服务器,将文件数据发送给最优数据存储服务器,下称其为数据存储服务器A,另一台称数据存储服务器B;
步骤10,数据存储服务器A收到文件数据后,将文件保存到本地,并将数据发送给数据存储服务器B,等待数据存储服务器B保存结果。如果数据存储服务器A或数据存储服务器B任意一方保存文件失败,则进入11,否则进入步骤12;
步骤11,返回出错结果给客户端访问接口,进入步骤13;
步骤12,返回正确结果给客户端访问接口,进入步骤13;
步骤13,客户端访问接口将结果返回给调用者。
5.根据权利要求3所述的分布式存储系统和方法,其特征在于:所述的分布式存储系统的读数据的方法至少包括以下步骤:
步骤1,调用者调用客户端访问接口的读接口;
步骤2,客户端访问接口的读接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3;
步骤3,客户端访问接口的读接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤11;
步骤4,客户端访问接口向元数据服务器发送读的指令,并将所要读文件的文件名发送给元数据服务器;
步骤5,元数据服务器从数据库服务器中查询所要读的文件的文件名的元信息,若数据存在则返回文件所在的数据存储服务器列表,否则返回出错信息给客户端访问接口;
步骤6,若元数据服务器返回的结果显示有错误发生,则跳转至步骤9。否则进行步骤7;
步骤7,客户端访问接口从元数据服务器返回的数据存储服务器列表中选择一个最优的进行数据访问,如果访问成功则进入步骤10,否则进入步骤8;
步骤8,客户端访问接口选择另一个数据存储服务器进行数据访问,如果访问成功则进入步骤10,否则进入步骤9;
步骤9,返回出错结果给客户端访问接口,进入步骤11;
步骤10,返回正确结果给客户端访问接口,进入步骤11;
步骤11,客户端访问接口将结果返回给调用者。
6.根据权利要求3所述的分布式存储系统和方法,其特征在于:所述的分布式存储系统的删除数据的方法至少包括以下步骤:
步骤1,调用者调用客户端访问接口的删除接口;
步骤2,客户端访问接口的删除接口尝试连接最优的元数据服务器,如果成功则进入步骤4,否则进入步骤3;
步骤3,客户端访问接口的删除接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤4,否则出错,并跳到步骤6;
步骤4,客户端访问接口向元数据服务器发送删除的指令,并将所要删除文件的文件名发送给元数据服务器;
步骤5,元数据服务器从数据库服务器中查询所要删除的文件的文件名的元信息,并将所要删除的文件删除,并将结果返回给客户端访问接口;
步骤6,客户端访问接口将调用结果返回给调用者。
7.根据权利要求3所述的分布式存储系统和方法,其特征在于:所述的分布式存储系统的数据自动修复的方法至少包括以下步骤:
步骤1,数据存储服务器发现数据损坏,发消息给元数据服务器;
步骤2,元数据服务器挑选出一台待写数据存储服务器,向选出的待写数据存储服务器发消息,并将选出的待写数据存储服务器设置为待写状态;
步骤3,元数据服务器查找出损坏数据的另一份数据所在的数据存储服务器,向另一份数据所在的数据存储服务器发消息命令,并将指定数据发送给待写数据存储服务器;
步骤4,待写数据存储服务器接收数据,写入磁盘,并将结果返回给发送方数据存储服务器;
步骤5,发送方数据存储服务器接收到结果后,将结果传回元数据服务器,流程结束。
8.根据权利要求3所述的分布式存储系统和方法,其特征在于:所述的分布式存储系统的数据迁移的方法至少包括以下步骤:
步骤1,管理员通过管理服务器主动向一台元数据存储服务器发送迁移指令,迁移某台数据存储服务器上的所有数据;
步骤2,元数据服务器从数据库服务器中查找出所有在待迁移的数据存储服务器上存储的文件信息;
步骤3,元数据服务器依次为待迁移的文件挑选出一台新的数据存储服务器,并命令原数据存储服务器将数据发送到新的存储服务器上;
步骤4,元数据服务器将所有文件处理完毕,迁移流程结束。
CN200910056572.0A 2009-08-18 2009-08-18 分布式存储系统和方法 Active CN101997884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910056572.0A CN101997884B (zh) 2009-08-18 2009-08-18 分布式存储系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910056572.0A CN101997884B (zh) 2009-08-18 2009-08-18 分布式存储系统和方法

Publications (2)

Publication Number Publication Date
CN101997884A true CN101997884A (zh) 2011-03-30
CN101997884B CN101997884B (zh) 2014-05-14

Family

ID=43787465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910056572.0A Active CN101997884B (zh) 2009-08-18 2009-08-18 分布式存储系统和方法

Country Status (1)

Country Link
CN (1) CN101997884B (zh)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523105A (zh) * 2011-11-30 2012-06-27 广东电子工业研究院有限公司 一种数据存储的故障恢复方法及其适用的数据分布架构
CN102638362A (zh) * 2011-12-14 2012-08-15 中兴通讯股份有限公司 一种用户产生内容的管理方法和系统
CN102820998A (zh) * 2012-08-27 2012-12-12 南京云创存储科技有限公司 实现面向办公应用的双机容错服务系统及其数据存储方法
CN102904948A (zh) * 2012-09-29 2013-01-30 南京云创存储科技有限公司 一种超大规模低成本存储系统
CN102904917A (zh) * 2011-07-28 2013-01-30 北京邮电大学 海量图片的处理系统及其方法
CN103067433A (zh) * 2011-10-24 2013-04-24 阿里巴巴集团控股有限公司 一种分布式存储系统的数据迁移方法、设备和系统
CN103218175A (zh) * 2013-04-01 2013-07-24 无锡成电科大科技发展有限公司 多租户的云存储平台访问控制系统
CN103473328A (zh) * 2013-09-17 2013-12-25 中电长城网际系统应用有限公司 一种基于mysql的数据库云及其建立方法
CN103618788A (zh) * 2013-11-26 2014-03-05 曙光信息产业股份有限公司 一种支持b/s结构系统高可用的方法
CN103761275A (zh) * 2014-01-09 2014-04-30 浪潮电子信息产业股份有限公司 一种分布式文件系统中元数据的管理方法
CN103959229A (zh) * 2011-12-02 2014-07-30 索尼公司 显示控制设备、显示控制方法和程序
CN103973583A (zh) * 2013-01-28 2014-08-06 中兴通讯股份有限公司 分布式文件系统优化负载均衡的方法及系统
CN104253832A (zh) * 2013-06-26 2014-12-31 北京神州泰岳软件股份有限公司 远端文件管理方法及系统
CN104378423A (zh) * 2014-11-13 2015-02-25 普华基础软件股份有限公司 元数据集群分布式存储系统及读取、写入存储数据的方法
CN104462484A (zh) * 2014-12-18 2015-03-25 北京奇虎科技有限公司 数据处理方法、数据处理器及系统
CN104954157A (zh) * 2014-03-27 2015-09-30 中国移动通信集团湖北有限公司 一种故障自愈方法及系统
CN105159603A (zh) * 2015-08-18 2015-12-16 福建省海峡信息技术有限公司 一种分布式数据存储系统的修复方法
CN105187552A (zh) * 2015-09-29 2015-12-23 北京奇艺世纪科技有限公司 一种文件异地灾备的方法和装置
CN105205182A (zh) * 2015-10-28 2015-12-30 北京奇虎科技有限公司 多机房部署系统及跨机房的业务数据处理方法
CN105404474A (zh) * 2015-12-07 2016-03-16 上海爱数信息技术股份有限公司 一种异构分布式存储系统的数据迁移方法
CN105718484A (zh) * 2014-12-04 2016-06-29 中兴通讯股份有限公司 写文件、读文件、删除文件、查询文件的方法及客户端
CN105930345A (zh) * 2016-04-05 2016-09-07 国网浙江省电力公司湖州供电公司 基于分布式实时数据库的层次索引方法
CN106777225A (zh) * 2016-12-26 2017-05-31 腾讯科技(深圳)有限公司 一种数据的迁移方法和系统
CN108763436A (zh) * 2018-05-25 2018-11-06 福州大学 一种基于ElasticSearch与HBase的分布式数据存储系统
WO2019024910A1 (zh) * 2017-08-04 2019-02-07 杭州海康威视系统技术有限公司 存储资源回收方法、装置及系统
CN110096220A (zh) * 2018-01-31 2019-08-06 华为技术有限公司 一种分布式存储系统、数据处理方法和存储节点
CN110222509A (zh) * 2019-06-12 2019-09-10 四川长虹电器股份有限公司 一种智能设备数据储存系统及方法
CN110636122A (zh) * 2019-09-11 2019-12-31 中移(杭州)信息技术有限公司 分布式存储方法、服务器、系统、电子设备以及存储介质
CN112449018A (zh) * 2020-11-25 2021-03-05 杭州视洞科技有限公司 一种基于端侧的多机房数据同步与部署方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652090A (zh) * 2005-02-23 2005-08-10 北京邦诺存储科技有限公司 网络存储系统中的数据管理方法及其构建的网络存储系统
CN101374177A (zh) * 2007-08-21 2009-02-25 上海鸣啸实业发展有限公司 用于公共空间的交通导向信息发布系统
CN101449559A (zh) * 2006-05-23 2009-06-03 诺燕控股公司 分布式存储器
CN201726424U (zh) * 2009-08-18 2011-01-26 升东网络科技发展(上海)有限公司 分布式存储系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652090A (zh) * 2005-02-23 2005-08-10 北京邦诺存储科技有限公司 网络存储系统中的数据管理方法及其构建的网络存储系统
CN101449559A (zh) * 2006-05-23 2009-06-03 诺燕控股公司 分布式存储器
CN101374177A (zh) * 2007-08-21 2009-02-25 上海鸣啸实业发展有限公司 用于公共空间的交通导向信息发布系统
CN201726424U (zh) * 2009-08-18 2011-01-26 升东网络科技发展(上海)有限公司 分布式存储系统

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904917A (zh) * 2011-07-28 2013-01-30 北京邮电大学 海量图片的处理系统及其方法
CN103067433A (zh) * 2011-10-24 2013-04-24 阿里巴巴集团控股有限公司 一种分布式存储系统的数据迁移方法、设备和系统
CN103067433B (zh) * 2011-10-24 2016-04-20 阿里巴巴集团控股有限公司 一种分布式存储系统的数据迁移方法、设备和系统
CN102523105A (zh) * 2011-11-30 2012-06-27 广东电子工业研究院有限公司 一种数据存储的故障恢复方法及其适用的数据分布架构
CN102523105B (zh) * 2011-11-30 2014-03-26 广东电子工业研究院有限公司 一种数据存储的故障恢复方法及其适用的数据分布架构
CN103959229A (zh) * 2011-12-02 2014-07-30 索尼公司 显示控制设备、显示控制方法和程序
CN102638362A (zh) * 2011-12-14 2012-08-15 中兴通讯股份有限公司 一种用户产生内容的管理方法和系统
CN102820998A (zh) * 2012-08-27 2012-12-12 南京云创存储科技有限公司 实现面向办公应用的双机容错服务系统及其数据存储方法
CN102820998B (zh) * 2012-08-27 2015-09-23 南京云创存储科技有限公司 实现面向办公应用的双机容错服务系统及其数据存储方法
CN102904948A (zh) * 2012-09-29 2013-01-30 南京云创存储科技有限公司 一种超大规模低成本存储系统
CN103973583A (zh) * 2013-01-28 2014-08-06 中兴通讯股份有限公司 分布式文件系统优化负载均衡的方法及系统
CN103218175A (zh) * 2013-04-01 2013-07-24 无锡成电科大科技发展有限公司 多租户的云存储平台访问控制系统
CN103218175B (zh) * 2013-04-01 2015-10-28 无锡成电科大科技发展有限公司 多租户的云存储平台访问控制系统
CN104253832A (zh) * 2013-06-26 2014-12-31 北京神州泰岳软件股份有限公司 远端文件管理方法及系统
CN104253832B (zh) * 2013-06-26 2018-01-09 北京神州泰岳软件股份有限公司 远端文件管理方法及系统
CN103473328A (zh) * 2013-09-17 2013-12-25 中电长城网际系统应用有限公司 一种基于mysql的数据库云及其建立方法
CN103618788A (zh) * 2013-11-26 2014-03-05 曙光信息产业股份有限公司 一种支持b/s结构系统高可用的方法
CN103761275A (zh) * 2014-01-09 2014-04-30 浪潮电子信息产业股份有限公司 一种分布式文件系统中元数据的管理方法
CN103761275B (zh) * 2014-01-09 2018-04-13 广东浪潮大数据研究有限公司 一种分布式文件系统中元数据的管理方法
CN104954157B (zh) * 2014-03-27 2018-12-04 中国移动通信集团湖北有限公司 一种故障自愈方法及系统
CN104954157A (zh) * 2014-03-27 2015-09-30 中国移动通信集团湖北有限公司 一种故障自愈方法及系统
CN104378423A (zh) * 2014-11-13 2015-02-25 普华基础软件股份有限公司 元数据集群分布式存储系统及读取、写入存储数据的方法
CN104378423B (zh) * 2014-11-13 2018-04-17 普华基础软件股份有限公司 元数据集群分布式存储系统及读取、写入存储数据的方法
CN105718484A (zh) * 2014-12-04 2016-06-29 中兴通讯股份有限公司 写文件、读文件、删除文件、查询文件的方法及客户端
CN104462484B (zh) * 2014-12-18 2018-05-22 北京奇虎科技有限公司 数据处理方法、数据处理器及系统
CN104462484A (zh) * 2014-12-18 2015-03-25 北京奇虎科技有限公司 数据处理方法、数据处理器及系统
CN105159603B (zh) * 2015-08-18 2018-01-12 福建省海峡信息技术有限公司 一种分布式数据存储系统的修复方法
CN105159603A (zh) * 2015-08-18 2015-12-16 福建省海峡信息技术有限公司 一种分布式数据存储系统的修复方法
CN105187552A (zh) * 2015-09-29 2015-12-23 北京奇艺世纪科技有限公司 一种文件异地灾备的方法和装置
CN105187552B (zh) * 2015-09-29 2019-02-22 北京奇艺世纪科技有限公司 一种文件异地灾备的方法和装置
CN105205182A (zh) * 2015-10-28 2015-12-30 北京奇虎科技有限公司 多机房部署系统及跨机房的业务数据处理方法
CN105205182B (zh) * 2015-10-28 2019-02-01 北京奇虎科技有限公司 多机房部署系统及跨机房的业务数据处理方法
CN105404474A (zh) * 2015-12-07 2016-03-16 上海爱数信息技术股份有限公司 一种异构分布式存储系统的数据迁移方法
CN105930345A (zh) * 2016-04-05 2016-09-07 国网浙江省电力公司湖州供电公司 基于分布式实时数据库的层次索引方法
CN106777225A (zh) * 2016-12-26 2017-05-31 腾讯科技(深圳)有限公司 一种数据的迁移方法和系统
US11010358B2 (en) 2016-12-26 2021-05-18 Tencent Technology (Shenzhen) Company Limited Data migration method and system
WO2019024910A1 (zh) * 2017-08-04 2019-02-07 杭州海康威视系统技术有限公司 存储资源回收方法、装置及系统
CN109391647A (zh) * 2017-08-04 2019-02-26 杭州海康威视系统技术有限公司 存储资源回收方法、装置及系统
CN110096220A (zh) * 2018-01-31 2019-08-06 华为技术有限公司 一种分布式存储系统、数据处理方法和存储节点
CN110096220B (zh) * 2018-01-31 2020-06-26 华为技术有限公司 一种分布式存储系统、数据处理方法和存储节点
US11262916B2 (en) 2018-01-31 2022-03-01 Huawei Technologies Co., Ltd. Distributed storage system, data processing method, and storage node
CN108763436A (zh) * 2018-05-25 2018-11-06 福州大学 一种基于ElasticSearch与HBase的分布式数据存储系统
CN110222509A (zh) * 2019-06-12 2019-09-10 四川长虹电器股份有限公司 一种智能设备数据储存系统及方法
CN110636122A (zh) * 2019-09-11 2019-12-31 中移(杭州)信息技术有限公司 分布式存储方法、服务器、系统、电子设备以及存储介质
CN112449018A (zh) * 2020-11-25 2021-03-05 杭州视洞科技有限公司 一种基于端侧的多机房数据同步与部署方法

Also Published As

Publication number Publication date
CN101997884B (zh) 2014-05-14

Similar Documents

Publication Publication Date Title
CN201726424U (zh) 分布式存储系统
CN101997884B (zh) 分布式存储系统和方法
US11677687B2 (en) Switching between fault response models in a storage system
US11086555B1 (en) Synchronously replicating datasets
CN101501668B (zh) 通过身份保持的企业服务可利用性
CN110119377B (zh) 面向Docker容器的在线迁移系统实现和优化方法
US8161321B2 (en) Virtual machine-based on-demand parallel disaster recovery system and the method thereof
CN104378423A (zh) 元数据集群分布式存储系统及读取、写入存储数据的方法
RU2013126471A (ru) Обеспечение прозрачной отработки отказа в файловой системе
CN103597463A (zh) 恢复服务的自动配置
CN102314503A (zh) 一种索引方法
JP5868986B2 (ja) アイテム単位でのリカバリー
CN103051681A (zh) 一种面向分布式文件系统的协作式日志系统
CN111309524A (zh) 分布式存储系统故障恢复方法、装置、终端及存储介质
CN107229540A (zh) 一种基于时间点的数据库恢复方法及系统
CN105404561A (zh) 一种分布式存储的纠删码实现方法及装置
CN115202929B (zh) 数据库集群备份系统
CN112800019A (zh) 基于Hadoop分布式文件系统的数据备份方法及系统
US7836025B1 (en) Method and apparatus for using pointers within a nonvolatile system memory of a network file computer system
CN114385755A (zh) 一种分布式存储系统
CN102932476B (zh) 网络存储同步系统
CN113946471A (zh) 基于对象存储的分布式文件级备份方法及系统
CN104572339A (zh) 基于分布式文件系统的数据备份还原系统及方法
JP2012008934A (ja) 分散ファイルシステム及び分散ファイルシステムにおける冗長化方法
US20230135583A1 (en) Distributed storage systems and methods to provide change tracking integrated with scalable databases

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160530

Address after: 201800, room 8, building 25, 2260 North Street, Wai Gang Town, Shanghai, Jiading District

Patentee after: Shanghai spades Interactive Network Technology Co., Ltd.

Address before: 2415 room 2, Gangcheng Road, Pudong New Area, Shanghai, 201204

Patentee before: Shengdong Network Technology Development (Shanghai) Co., Ltd.