分布式存储系统和方法

文档序号:6483014阅读:146来源:国知局
专利名称:分布式存储系统和方法
技术领域
本发明涉及一种存储系统和方法,具体涉及一种分布式存储系统和方法。
背景技术
随着互联网的发展和用户宽带接入的普及,一些大型网站开始为个人用户提供数 据存储功能。普通用户只要接入互联网便可以将自己的数码照片、数据文件等信息存放到 此类系统中,也可以在任意时刻任意接入互联网的地点从该系统中获取已存入的文件信 息。该系统给普通用户提供极大便利的同时,也对系统的设计提出了更高的要求,该系统必 须要能支撑海量数据文件进行高速读写且有一定容灾能力。当前专业存储产品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(异步10)对文件进行读写,系统的整体性能大大提升,提高了 磁盘的利用率。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(异步10)对文件进行读写,系统的整体性能大大提升,提 高了磁盘的利用率;本发明由于提供了完善的界面管理软件,另外本发明还提供了数据恢 复的功能,及删除的数据在一定时间内还能恢复,真正实现了自动化管理的功能。
权利要求
一种分布式存储系统和方法,包括客户端访问接口、管理服务器及文件删除控制器;其特征在于还包括元数据服务器集群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,元数据服务器将所有文件处理完毕,迁移流程结束。
全文摘要
一种分布式存储系统和方法包括客户端访问接口、管理服务器及文件删除控制器、元数据服务器集群、数据存储服务器集群及数据库服务器集群;客户端访问接口分别与各服务器集群连接,管理服务器分别与元数据服务器集群连接,文件删除控制器分别与数据存储服务器集群及数据库服务器集群连接,元数据服务器集群、数据存储服务器集群及数据库服务器集群相互连接,元数据服务器集群分别与数据存储服务器集群两两连接,元数据服务器集群与数据存储服务器集群两两连接。本发明确保数据的可靠备份及迅速操作,系统的整体性能大大提升,并提供了完善的界面管理软件及数据恢复的功能,删除的数据在一定时间内还能恢复,真正实现了自动化管理的功能。
文档编号G06F17/30GK101997884SQ20091005657
公开日2011年3月30日 申请日期2009年8月18日 优先权日2009年8月18日
发明者崔博, 崔金峰, 李 杰, 林晨光 申请人:升东网络科技发展(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1