CN101997884B - 分布式存储系统和方法 - Google Patents
分布式存储系统和方法 Download PDFInfo
- Publication number
- CN101997884B CN101997884B CN200910056572.0A CN200910056572A CN101997884B CN 101997884 B CN101997884 B CN 101997884B CN 200910056572 A CN200910056572 A CN 200910056572A CN 101997884 B CN101997884 B CN 101997884B
- 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.)
- Active
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 (6)
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两两连接;
该方法包括分布式存储系统的写数据的方法、分布式存储系统的读数据的方法、分布式存储系统的删除数据的方法、分布式存储系统的数据自动修复的方法及数据迁移的方法;
所述分布式存储系统的写数据的方法至少包括以下步骤:
步骤W1,调用者调用客户端访问接口的写接口;
步骤W2,客户端访问接口的写接口尝试连接最优的元数据服务器,如果成功则进入步骤W4,否则进入步骤W3;
步骤W3,客户端访问接口的写接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤W4,否则出错,并跳到步骤W13;
步骤W4,客户端访问接口向元数据服务器发送创建文件的指令,并将数据的大小信息发送给元数据服务器;
步骤W5,元数据服务器生成文件名,并将新创建的文件信息连同文件名一起存入数据库集群A,如果出错则跳到步骤W11,否则进入步骤W6;
步骤W6,元数据服务器从数据存储服务器集群A和数据存储服务器集群B中挑选出两个服务器进行文件的存储,如果无法挑选出两台服务器,则跳到步骤W11,否则进入步骤W7;
步骤W7,元数据服务器挑选出两台数据存储服务器,并发送信号,命令挑选出的两台数据存储服务器进入待写状态;
步骤W8,元数据服务器返回给客户端成功消息,并将数据存储服务器列表及新创建的文件名一并返回;
步骤W9,客户端访问接口根据网络情况从两台数据存储服务器中选出最优的一台服务器,将文件数据发送给最优数据存储服务器,下称其为数据存储服务器A,另一台称数据存储服务器B;
步骤W10,数据存储服务器A收到文件数据后,将文件保存到本地,并将数据发送给数据存储服务器B,等待数据存储服务器B保存结果,如果数据存储服务器A或数据存储服务器B任意一方保存文件失败,则进入W11,否则进入步骤W12;
步骤W11,返回出错结果给客户端访问接口,进入步骤W13;
步骤W12,返回正确结果给客户端访问接口,进入步骤W13;
步骤W13,客户端访问接口将结果返回给调用者。
2.根据权利要求1所述的分布式存储方法,其特征在于:所述的元数据服务器集群A、元数据服务器集群B、数据存储服务器集群A及数据存储服务器集群B是由一个或多个同一类型的服务器组成的服务器集群;数据库服务器集群A及数据库服务器集群B是由一个或多个同一类型的数据库服务器组成的数据库服务器集群;所述的元数据服务器集群B、数据存储服务器集群B及数据库服务器集群B分别是元数据服务器集群A、数据存储服务器集群A及数据库服务器集群A的数据备份服务器。
3.根据权利要求1所述的分布式存储方法,其特征在于:所述的分布式存储系统的读数据的方法至少包括以下步骤:
步骤R1,调用者调用客户端访问接口的读接口;
步骤R2,客户端访问接口的读接口尝试连接最优的元数据服务器,如果成功则进入步骤R4,否则进入步骤R3;
步骤R3,客户端访问接口的读接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤R4,否则出错,并跳到步骤R11;
步骤R4,客户端访问接口向元数据服务器发送读的指令,并将所要读文件的文件名发送给元数据服务器;
步骤R5,元数据服务器从数据库服务器中查询所要读的文件的文件名的元信息,若数据存在则返回文件所在的数据存储服务器列表,否则返回出错信息给客户端访问接口;
步骤R6,若元数据服务器返回的结果显示有错误发生,则跳转至步骤R9,否则进行步骤R7;
步骤R7,客户端访问接口从元数据服务器返回的数据存储服务器列表中选择一个最优的进行数据访问,如果访问成功则进入步骤R10,否则进入步骤R8;
步骤R8,客户端访问接口选择另一个数据存储服务器进行数据访问,如果访问成功则进入步骤R10,否则进入步骤R9;
步骤R9,返回出错结果给客户端访问接口,进入步骤R11;
步骤R10,返回正确结果给客户端访问接口,进入步骤R11;
步骤R11,客户端访问接口将结果返回给调用者。
4.根据权利要求1所述的分布式存储方法,其特征在于:所述的分布式存储系统的删除数据的方法至少包括以下步骤:
步骤D1,调用者调用客户端访问接口的删除接口;
步骤D2,客户端访问接口的删除接口尝试连接最优的元数据服务器,如果成功则进入步骤D4,否则进入步骤D3;
步骤D3,客户端访问接口的删除接口尝试连接在另一个互备的元数据服务器,如果成功则进入步骤D4,否则出错,并跳到步骤D6;
步骤D4,客户端访问接口向元数据服务器发送删除的指令,并将所要删除文件的文件名发送给元数据服务器;
步骤D5,元数据服务器从数据库服务器中查询所要删除的文件的文件名的元信息,并将所要删除的文件删除,并将结果返回给客户端访问接口;
步骤D6,客户端访问接口将调用结果返回给调用者。
5.根据权利要求1所述的分布式存储方法,其特征在于:所述的分布式存储系统的数据自动修复的方法至少包括以下步骤:
步骤F1,数据存储服务器发现数据损坏,发消息给元数据服务器;
步骤F2,元数据服务器挑选出一台待写数据存储服务器,向选出的待写数据存储服务器发消息,并将选出的待写数据存储服务器设置为待写状态;
步骤F3,元数据服务器查找出损坏数据的另一份数据所在的数据存储服务器,向另一份数据所在的数据存储服务器发消息命令,并将指定数据发送给待写数据存储服务器;
步骤F4,待写数据存储服务器接收数据,写入磁盘,并将结果返回给发送方数据存储服务器;
步骤F5,发送方数据存储服务器接收到结果后,将结果传回元数据服务器,流程结束。
6.根据权利要求1所述的分布式存储方法,其特征在于:所述的分布式存储系统的数据迁移的方法至少包括以下步骤:
步骤M1,管理员通过管理服务器主动向一台元数据存储服务器发送迁移指令,迁移某台数据存储服务器上的所有数据;
步骤M2,元数据服务器从数据库服务器中查找出所有在待迁移的数据存储服务器上存储的文件信息;
步骤M3,元数据服务器依次为待迁移的文件挑选出一台新的数据存储服务器,并命令原数据存储服务器将数据发送到新的存储服务器上;
步骤M4,元数据服务器将所有文件处理完毕,迁移流程结束。
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 CN101997884A (zh) | 2011-03-30 |
CN101997884B true 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) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904917A (zh) * | 2011-07-28 | 2013-01-30 | 北京邮电大学 | 海量图片的处理系统及其方法 |
CN103067433B (zh) * | 2011-10-24 | 2016-04-20 | 阿里巴巴集团控股有限公司 | 一种分布式存储系统的数据迁移方法、设备和系统 |
CN102523105B (zh) * | 2011-11-30 | 2014-03-26 | 广东电子工业研究院有限公司 | 一种数据存储的故障恢复方法及其适用的数据分布架构 |
JP2013117869A (ja) * | 2011-12-02 | 2013-06-13 | Sony Corp | 表示制御装置、表示制御方法、およびプログラム |
CN102638362B (zh) * | 2011-12-14 | 2018-09-04 | 中兴通讯股份有限公司 | 一种用户产生内容的管理方法和系统 |
CN102820998B (zh) * | 2012-08-27 | 2015-09-23 | 南京云创存储科技有限公司 | 实现面向办公应用的双机容错服务系统及其数据存储方法 |
CN102904948A (zh) * | 2012-09-29 | 2013-01-30 | 南京云创存储科技有限公司 | 一种超大规模低成本存储系统 |
CN103973583B (zh) * | 2013-01-28 | 2017-11-07 | 中兴通讯股份有限公司 | 分布式文件系统优化负载均衡的方法及系统 |
CN103218175B (zh) * | 2013-04-01 | 2015-10-28 | 无锡成电科大科技发展有限公司 | 多租户的云存储平台访问控制系统 |
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结构系统高可用的方法 |
CN103761275B (zh) * | 2014-01-09 | 2018-04-13 | 广东浪潮大数据研究有限公司 | 一种分布式文件系统中元数据的管理方法 |
CN104954157B (zh) * | 2014-03-27 | 2018-12-04 | 中国移动通信集团湖北有限公司 | 一种故障自愈方法及系统 |
CN104378423B (zh) * | 2014-11-13 | 2018-04-17 | 普华基础软件股份有限公司 | 元数据集群分布式存储系统及读取、写入存储数据的方法 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
CN104462484B (zh) * | 2014-12-18 | 2018-05-22 | 北京奇虎科技有限公司 | 数据处理方法、数据处理器及系统 |
CN105159603B (zh) * | 2015-08-18 | 2018-01-12 | 福建省海峡信息技术有限公司 | 一种分布式数据存储系统的修复方法 |
CN105187552B (zh) * | 2015-09-29 | 2019-02-22 | 北京奇艺世纪科技有限公司 | 一种文件异地灾备的方法和装置 |
CN105205182B (zh) * | 2015-10-28 | 2019-02-01 | 北京奇虎科技有限公司 | 多机房部署系统及跨机房的业务数据处理方法 |
CN105404474A (zh) * | 2015-12-07 | 2016-03-16 | 上海爱数信息技术股份有限公司 | 一种异构分布式存储系统的数据迁移方法 |
CN105930345A (zh) * | 2016-04-05 | 2016-09-07 | 国网浙江省电力公司湖州供电公司 | 基于分布式实时数据库的层次索引方法 |
CN106777225B (zh) | 2016-12-26 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 一种数据的迁移方法和系统 |
CN109391647B (zh) * | 2017-08-04 | 2021-08-17 | 杭州海康威视系统技术有限公司 | 存储资源回收方法、装置及系统 |
CN110096220B (zh) | 2018-01-31 | 2020-06-26 | 华为技术有限公司 | 一种分布式存储系统、数据处理方法和存储节点 |
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 | 杭州视洞科技有限公司 | 一种基于端侧的多机房数据同步与部署方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101374177A (zh) * | 2007-08-21 | 2009-02-25 | 上海鸣啸实业发展有限公司 | 用于公共空间的交通导向信息发布系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100337218C (zh) * | 2005-02-23 | 2007-09-12 | 北京邦诺存储科技有限公司 | 网络存储系统中的数据管理方法及其构建的网络存储系统 |
US8255420B2 (en) * | 2006-05-23 | 2012-08-28 | Noryan Holding Corporation | Distributed storage |
CN201726424U (zh) * | 2009-08-18 | 2011-01-26 | 升东网络科技发展(上海)有限公司 | 分布式存储系统 |
-
2009
- 2009-08-18 CN CN200910056572.0A patent/CN101997884B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101374177A (zh) * | 2007-08-21 | 2009-02-25 | 上海鸣啸实业发展有限公司 | 用于公共空间的交通导向信息发布系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101997884A (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101997884B (zh) | 分布式存储系统和方法 | |
CN201726424U (zh) | 分布式存储系统 | |
US9996430B2 (en) | Systems and methods of unified reconstruction in storage systems | |
US9514208B2 (en) | Method and system of stateless data replication in a distributed database system | |
CN101501668B (zh) | 通过身份保持的企业服务可利用性 | |
CN103415842B (zh) | 用于数据管理虚拟化的系统和方法 | |
US20100115332A1 (en) | Virtual machine-based on-demand parallel disaster recovery system and the method thereof | |
CN109582443A (zh) | 基于分布式存储技术的虚拟机备份系统 | |
RU2463646C2 (ru) | Динамическое преобразование интерфейса командной строки (cli) для сгруппированных объектов программного обеспечения | |
CN102158540A (zh) | 分布式数据库实现系统及方法 | |
JP2005523517A (ja) | ディザスタ・リカバリのための方法およびシステム | |
US11442820B2 (en) | Systems and methods of unified reconstruction in storage systems | |
US10402377B1 (en) | Data recovery in a distributed computing environment | |
CN102012933A (zh) | 分布式文件系统及利用其存储数据和提供服务的方法 | |
CN101594256A (zh) | 容灾方法、装置和系统 | |
CN105404561A (zh) | 一种分布式存储的纠删码实现方法及装置 | |
CN103294167A (zh) | 一种基于数据行为的低能耗集群存储复制装置和方法 | |
JP2013543179A (ja) | アイテム単位でのリカバリー | |
CN112800019A (zh) | 基于Hadoop分布式文件系统的数据备份方法及系统 | |
CN103294704A (zh) | 文件同步系统及方法 | |
CN114090344B (zh) | 用于容器集群的删除备份资源的方法、装置、设备及介质 | |
US7836025B1 (en) | Method and apparatus for using pointers within a nonvolatile system memory of a network file computer system | |
CN114385755A (zh) | 一种分布式存储系统 | |
CN102647308A (zh) | 一种分布式文件系统的自动测试方法 | |
CN113946471A (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 | ||
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. |