一种分布式对象处理的方法及系统的制作方法

文档序号:7987880阅读:140来源:国知局
一种分布式对象处理的方法及系统的制作方法
【专利摘要】本发明提供了一种分布式对象处理的方法及系统,方法包括:应用服务器接收客户端的请求信息,该请求信息包括对象的标识信息;应用服务器将请求信息转发给目录服务器;目录服务器根据接收到的请求信息中的对象的标识信息,查找到对象所在的对象存储集群中至少一个对象存储服务器;目录服务器将所述请求信息转发至查找到的至少一个对象存储服务器;对象存储服务器接收到所述请求消息后,与客户端建立连接,并根据请求信息进行操作。通过基于分布式对象存储的架构,能够提供网盘服务器所需要的大规模的非结构化数据存储,于此同时,通过保存对象的多个副本,保证了对象存储的安全性。
【专利说明】一种分布式对象处理的方法及系统
【技术领域】
[0001]本发明属于通信【技术领域】,尤其涉及一种分布式对象处理的方法及系统。
【背景技术】
[0002]伴随着信息技术的不断发展,人们已经不再满足于将越来越多的数据存储于个人计算机上或者移动硬盘等物理存储介质上,而可以提供高扩展性的空间、灵活的传输和共享机制以及可靠方便的访问接口的网盘服务器,成为存放和共享数据的新兴方式。
[0003]网盘服务器的主要功能是让用户使用多种终端(例如个人电脑、手机等),通过互联网,将文件上传至网盘服务器,并通过互联网访问和操作已上传的文件。就网盘服务器的功能来说,网盘服务器与传统的以数据为主的互联网应用相近,所以现有的网盘服务器架构也大多参照目前较为成熟的互联网应用架构分为三层:表现层,逻辑层和数据层。其中表现层响应HTTP (HTTP-Hypertexttransfer protocol,超文本传送协议)请求并生成相应的页面,逻辑层负责处理业务逻辑,而数据层负责数据的持久化和存储,各层之间还会部署缓存以提高性能。表现层和逻辑层一般由高级网络编程语言如Java,PHP,C#,Python等实现,并且部署在应用服务器上,多个应用服务器同时运行并且进行负载均衡以处理大量用户发送的并发请求。所有应用服务器与数据层连接,数据层负责保存和维护所有的系统数据,由多台数据服务器构成。与其他的互联网应用类似,用户信息、日志以及系统信息等结构化数据存储于关系型数据库中,如MySQL, Oracle, SQLServer等成熟的商业化数据库是大多数网络应用的首选。
[0004]目前的网盘服务器的架构主要参照的是传统的互联网应用,传统互联网应用以提供结构化数据的展现和管理为主,例如文字、数据、日志等,这类数据结构清晰,相互的关系非常明确,适合以关系型数据库的二维表进行存储和管理,而且通过使用缓存、分布式部署等技术也能够提供较好的性能。
[0005]然而,现有的网盘服务器的架构有其无法避免的缺点:网盘服务器需要保存用户上传的各种文件,文件的大小及类型都只能由用户自己掌控。随着用户上传的文件的数量的不断增长,网盘服务器中需要处理大量无规律文件,而管理这些文件以及文件相关联的各种信息的工作是传统的关系型数据库难以胜任的。

【发明内容】

[0006]本发明实施例的目的在于提供一种分布式对象处理的方法及分布式对象处理的系统,旨在解决现有技术中网盘服务器难以对大规模的非结构化数据存储的问题。
[0007]本发明实施例是这样实现的,一种分布式对象处理的方法,方法包括:应用服务器接收客户端的请求信息,请求信息包括对象的标识信息;应用服务器将请求信息转发给目录服务器;目录服务器根据接收到的请求信息中的对象的标识信息,查找到对象所在的对象存储集群中至少一个对象存储服务器;目录服务器将请求信息转发至查找到的至少一个对象存储服务器;对象存储服务器接收到请求消息后,与客户端建立连接,并根据请求信息进行操作。
[0008]本发明实施例还提供了一种分布式对象处理的系统,包括:至少一个应用服务器、至少一个目录服务器和对象存储集群,对象存储集群包括至少一个对象存储服务器,其中应用服务器用于接收客户端的请求信息,并将请求信息转发给目录服务器,请求信息中包括对象的标识信息;目录服务器用于根据接收到的对象的标识信息,查找到对象所在的对象存储集群中至少一个对象存储服务器,以及将请求信息转发给查找到的至少一个对象存储服务器;对象存储服务器接收到请求消息后,与客户端建立连接,并根据请求信息进行操作。
[0009]本发明实施例与现有技术相比,有益效果在于:首先,通过基于分布式对象存储的架构,能够提供网盘服务器所需要的大规模的非结构化数据存储,于此同时,通过保存对象的多个副本,保证了对象存储的安全性。
[0010]其次,由于使用对象作为底层存储单位,使得作为分布式对象存储的架构中的表现层和逻辑层的高级编程语言可以直接使用存储数据,无需做数据到对象的映射和转换,降低了分布式对象存储的架构实现的复杂度,有效节省了开发成本。
[0011 ] 最后,在本发明的实施例中,可以通过简单的横向扩展来增加分布式对象存储的架构的容量和或者提高分布式对象存储的架构的性能,而不需要对分布式对象存储的架构统进行复杂的修改,有效降低成本。
【专利附图】

【附图说明】
[0012]图1是本发明实施例提供的一种分布式对象处理的方法流程图;
[0013]图2是本发明实施例提供的对象处理的示意图;以及
[0014]图3是本发明实施例提供的一种分布式对象处理的系统结构图。
【具体实施方式】
[0015]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0016]本发明实施例提出的分布式对象处理的方法中采用分布式对象存储的架构,其中目录服务器可根据接收到的请求信息中的对象的标识信息,查找到对象所在对象集群中的至少一个对象存储服务器,然后目录服务器将请求信息转发至查找到的至少一个对象存储服务器;接收到请求消息的至少一个对象存储服务器与客户端建立连接,并根据请求信息对对象存储服务器的本地存储的对象进行操作。下面结合图1具体说明根据本发明的一个实施例的、适于解决上述技术问题的一种分布式对象处理的方法的流程图。
[0017]如图1所示,本发明的实施例提供的一种分布式对象处理的方法,该方法包括如下步骤:
[0018]步骤S102、应用服务器接收客户端的请求信息,请求信息中包括对象的标识信息。
[0019]在本发明的一些实施例中,应用服务器上可部署有中间件,中间件是一种独立的系统软件或服务程序,分布式对象处理架构借助中间件可在不同的服务器之间共享资源。
[0020]在步骤S102中,客户端可与应用服务器上的中间件进行交互,应用服务器上的中间件根据不同的客户端渲染出相应的用户界面与客户端交互。中间件可由高级网络语言实现,在分布式对象处理的架构中各应用服务器独立运行,避免与其他的应用服务器进行任何交互,以保证数据的一致性。应用服务器中的中间件可通过对后台数据层的访问,获取分布式对象处理的架构中对象存储服务器所存储的对象的相关信息,并将获取的对象的相关信息返回给客户端。在本发明实施例中,对象可以二进制文件的形式存储于对象存储服务器中,每个对象的标识信息可以是对象的名称的哈希值,也就是利用哈希算法计算对象的名称的哈希值,将该哈希值作为对象的标识信息。
[0021]步骤S104、应用服务器将请求信息转发给目录服务器。
[0022]在本发明的一些实施例中,目录服务器是对象存储服务器与应用服务器之间的代理,通过目录服务器的公用接口,应用服务器中的中间件可以通过网络协议对实际存储于对象存储服务器的对象进行操作,该操作包括:对象的读写操作或者对象的删除操作。
[0023]步骤S106、目录服务器根据接收到的对象的标识信息,查找到对象所在的对象存储集群中至少一个对象存储服务器。
[0024]在本发明的一些实施例中,可将多个对象存储服务器组成对象存储集群,通过定时的UDP (User Datagram Protocol,用户数据包协议)广播,每个对象存储服务器将本身的地址信息、容量信息、负载信息和性能信息等对象存储服务器的相关在集群内进行广播,但是对象存储服务器不监听其他服务器的广播消息,互相之间没有任何通信,每一个都只负责对象存储服务器本地的对象存储。具体地,目录服务器接收对象存储集群中所有对象存储服务器的广播消息,广播消息包括:对象存储服务器的地址信息、对象存储服务器的容量信息、对象存储服务器的负载信息、对象存储服务器的性能信息中的任意一个或多个;目录服务器根据接收到的广播消息,在本地存储并维护至少一个对象存储服务器的列表,对象存储服务器的列表中记录有所有对象存储服务器的相关信息,相关信息包括:对象存储服务器的性能信息和/或对象存储服务器的容量信息。
[0025]在分布式对象处理的架构中,目录服务器的一个重要作用就是查找对象所在的对象存储集群中至少一个对象存储服务器,如图2所示,当客户端304向应用服务器301发送对象的请求消息,应用服务器301将该请求消息转发给目录服务器302,然后目录服务器303会根据预定的寻址机制查找到该对象所在的对象存储集群中的至少一个对象存储服务器303,然后将对象请求转发给相应的至少一个对象存储服务器303,对象的传输实际发生在客户端304与对象存储服务器303之间,从而使得目录服务器302的开销很小。利用预定的寻址机制,分布式对象处理的架构中的对象存储集群可以实现接收多个客户端的并发请求,使得分布式对象处理的架构的带宽可以得到充分利用,同时也避免了分布式对象处理的架构出现瓶颈。
[0026]可选地,预定的寻址机制是指根据对象的标识信息,查找到该对象所在的至少一个对象存储服务器。寻址机制原理描述如下:首先目录服务器接收对象存储集群中所有对象存储服务器的广播消息,在本地存储并维护一个对象存储服务器的列表。然后目录服务器采用哈希算法,用于计算对象的标识信息的哈希值。理想情况下,哈希值能做到均匀分布。然后目录服务器将所有对象存储服务器划分为至少一个对象存储服务器组,每个对象存储器组对应一段的哈希值范围,哈希值范围的大小可以平均分配,也可以根据对象存储服务器的性能、容量等赋予不同的权重。例如:性能越好,容量越大的对象存储服务器组,所分配到的哈希值范围越大。为对象存储集群内所有对象存储服务器组分配完成后可以得到有一张有序的映射表,该映射表中的映射范围覆盖了哈希算法的所有可能产生的哈希值,而且在映射表中所有对象存储服务器可以跟其对应的哈希值范围确定先后顺序。
[0027]也就是,目录服务器将对象存储集群中所有对象存储服务器划分为至少一个对象存储服务器组,对象存储服务器组中包括至少一个对象存储服务器;目录服务器将每个对象存储服务器组对应至少一段的哈希值范围,并将其对应关系记录到映射表中。目录服务器根据哈希值范围,对映射表中的对象存储服务器组进行排序。
[0028]当需要到对象存储服务器中查找或者插入对象时,首先计算对象的标识信息的哈希值,并根据该哈希值查询映射表,就可以确定该对象存储于哪个对象存储服务器上。
[0029]在本发明实施例中,目录服务器可以对对象存储服务器组中的对象存储服务器进行排序,并将对象存储服务器的顺序记录到映射表中。由于在目录服务器所维护的映射表中,如果对象存储服务器是有序的,在向某个对象存储服务器写入对象时,可以同时向该对象存储服务器之后的若干个对象存储服务器也写入同样的对象,以达到备份的目的。在查找对象的时候,如果发现在某个对象存储服务器上找不到应该存在的对象,或者对象存储服务器失效,目录服务器就会根据映射表,在原目标对象存储服务器之后的位置上进行查找,便可以取得丢失的对象。具体地,在步骤S160中,目录服务器根据接收到的对象的标识信息,查找对象可能会在的对象存储服务器;如果查找的对象存储服务器上没有所述对象,则根据映射表中的对象存储服务器的顺序继续查找,以确定对象所在的对象存储服务器。
[0030]在本发明的一些实施例中,目录服务器根据对象的标识信息,获取与对象的标识信息对应的哈希值;然后目录服务器根据获取的对象的标识信息的哈希值,以及映射表中对象存储服务器组与哈希值范围的对应关系,查找对象所在的对象服务器组。
[0031]步骤S108、目录服务器将请求信息转发至查找到的至少一个对象存储服务器。
[0032]步骤S110、对象存储服务器接收到请求消息后,与客户端建立连接,并根据请求信息对本地存储的对象进行操作。
[0033]在本发明的一些实施例中,由对象存储服务器(Object Server)与目录服务器(Index Server)构成数据层。对象存储服务器用于对本地的对象进行读写、和/或删除的操作。对象以二进制文件的形式存储于对象存储服务器中,每个对象以对象的标识信息的哈希值为唯一标识ID,在写入新的对象时,如果发现对象存储服务器中已存在与新的对象的标识ID相同的标识ID时,则新的对象将覆盖旧的对象。也就是,通过对象的标识ID判断对象存储服务器本地存储的对象中是否与新的对象相同,如果相同,则新的对象将覆盖对象存储服务器本地存储的对象。
[0034]在本发明的一些实施例中,分布式对象处理的架构的备份策略可以根据实际要求灵活配置。在目录服务器所维护的映射表中,对象存储服务器是有序的,再向某个对象存储服务器写入对象时,可以同时向该对象存储服务器之后的若干个对象存储服务器也写入同样的对象以达到备份的目的。在查找对象的时候,若发现在某个对象存储服务器上找不到应该存在的对象,或者对象存储服务器失效,目录服务器就会根据映射表,在原目标对象存储服务器之后的位置上进行查找,便可以取得丢失的对象。也就是,根据映射表中的对象存储服务器的顺序,将新的对象同时写入到至少一个对象存储服务器之后的至少一个对象存储服务器中,通过将对象的副本存储在多个对象存储服务器上,以实现对象的备份。[0035]在本发明的一些实施例中,根据分布式对象处理的架构的需求,可以对目录服务器或对象存贮服务器进行横向扩展。
[0036]当增加至少一个新的目录服务器时,将其他目录服务器中的映射表复制到新的目录服务器中,新的目录服务器接收对象存储集群中所有对象存储服务器的广播消息。也就是只需要在新的目录服务中构建一个与其他目录服务器一样的映射表,并将目录服务器加入到集群当中接收对象存储服务器的广播。在存在多个目录服务器的分布式对象处理的架构中,必须保证所有的目录服务器的映射表的一致性,以确保数据的一致性。
[0037]当增加至少一个新的对象存储服务器到对象存储集群中时,目录服务器30分配给新的对象存储服务器至少一段哈希值范围;如果在映射表中存在与新的对象存储服务器对应的哈希值范围相同的哈希值范围,将对应相同哈希值范围的对象存储服务器中的对象复制到新的对象存储服务器中。也就是,将新的对象存储服务器加入对象存储集群,目录服务器收到新的对象存储服务器的广播消息后,首先查找新的对象存储服务器所对应的哈希值范围,若分配给新的对象存储服务器的哈希值范围已拥有对应的对象存储于原来的对象存储服务器上,则需要将对象复制到新的对象存储服务器上。
[0038]在本发明的一些实施例中,将对象复制到新的对象存储服务器中后,方法还包括:对应相同哈希值范围的对象存储服务器将本地存储的对象删除,释放存储空间。也就是,完成复制后更新所有目录服务器的映射表,使相应对象的地址能够正确映射到新的对象存储服务器上,最后删除原对象存储服务器上的对象,释放空间。
[0039]下面结合图3说明根据本发明又一个实施例的、适于解决上述问题的一种分布式对象处理的系统。
[0040]如图3所示,分布式对象处理的系统,包括:至少一个应用服务器301、至少一个目录服务器302和对象存储集群,该对象存储集群包括至少一个对象存储服务器303,其中应用服务器301用于接收客户端304的请求信息,并将请求信息转发给目录服务器302,请求信息中包括对象的标识信息;目录服务器302用于根据接收到的对象的标识信息,查找到对象所在的对象存储集群中的至少一个对象存储服务器303,以及将请求信息转发给对象存储集群中相应的至少一个对象存储服务器303 ;对象存储服务器303接收到请求消息后,与客户端304建立连接,并根据请求信息进行操作,该操作包括对象的读写操作,对象的删除操作。
[0041]在本发明的一些实施例中,目录服务器302还用于获取对象存储集群中所有对象存储服务器303的相关信息,将对象存储集群中所有对象存储服务器303划分为至少一个对象存储服务器组,对象存储服务器组中包括至少一个对象存储服务器303 ;以及将每个对象存储服务器组对应至少一段的哈希值范围,并将其对应关系记录到映射表中。
[0042]在本发明的一些实施例中,目录服务器302还用于根据哈希值范围,对映射表中的对象存储服务器组进行排序。
[0043]在本发明的一些实施例中,目录服务器302还用于对对象存储服务器组中的对象存储服务器303进行排序,并将对象存储服务器303的顺序记录到映射表中。
[0044]在本发明的一些实施例中,目录服务器303根据接收到的对象的标识信息,查找所述对象可能会在的对象存储服务器;如果查找的所述对象存储服务器上没有所述对象,则根据映射表中的对象存储服务器的顺序,在顺序上靠近所述对象存储服务器的其他对象存储服务器上,以确定对象所在的对象存储服务器。
[0045]在本发明的一些实施例中,目录服务器303接收对象存储集群中所有对象存储服务器的广播消息,广播消息包括:对象存储服务器的地址信息、对象存储服务器的容量信息、对象存储服务器的负载信息、对象存储服务器的性能信息中的任意一个或多个;目录服务器303根据接收到的广播消息,在本地存储并维护至少一个对象存储服务器的列表,对象存储服务器的列表中记录有所有对象存储服务器的相关信息,相关信息包括:对象存储服务器的性能信息和/或对象存储服务器的容量信息。
[0046]在本发明的一些实施例中,目录服务器302根据对象的标识信息,获取与对象的标识信息对应的哈希值;目录服务器302根据获取的对象的标识信息的哈希值,以及映射表中对象存储服务器组与哈希值范围的对应关系,查找所述对象所在的对象服务器组。
[0047]在本发明的一些实施例中,目录服务器302分配给新的对象存储服务器至少一段哈希值范围,如果在映射表中存在与新的对象存储服务器对应的哈希值范围相同的哈希值范围,将对应相同哈希值范围的对象存储服务器中的对象复制到新的对象存储服务器中。
[0048]本发明实施例与现有技术相比,有益效果在于:首先,通过基于分布式对象存储的架构,能够提供网盘服务器所需要的大规模的非结构化数据存储,于此同时,通过保存对象的多个副本,保证了对象存储的安全性。
[0049]其次,由于使用对象作为底层存储单位,使得作为分布式对象存储的架构中的表现层和逻辑层的高级编程语言可以直接使用存储数据,无需做数据到对象的映射和转换,降低了分布式对象存储的架构实现的复杂度,有效节省了开发成本。
[0050]最后,在本发明的实施例中,可以通过简单的横向扩展来增加分布式对象存储的架构的容量和或者提高分布式对象存储的架构的性能,而不需要对分布式对象存储的架构统进行复杂的修改,有效降低成本。
[0051]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种分布式对象处理的方法,其特征在于,所述方法包括: 应用服务器接收客户端的请求信息,所述请求信息包括对象的标识信息; 所述应用服务器将所述请求信息转发给目录服务器; 所述目录服务器根据接收到的请求信息中的对象的标识信息,查找到所述对象所在的对象存储集群中至少一个对象存储服务器; 所述目录服务器将所述请求信息转发至查找到的至少一个对象存储服务器; 所述对象存储服务器接收到所述请求消息后,与所述客户端建立连接,并根据所述请求信息进行操作。
2.如权利要求1所述的方法,其特征在于,所述方法还包括: 所述目录服务器获取对象存储集群中所有对象存储服务器的相关信息; 所述目录服务器将所述对象存储集群中所有对象存储服务器划分为至少一个对象存储服务器组,所述对象存储服务器组中包括至少一个对象存储服务器; 所述目录服务器将每个对象存储服务器组对应至少一段的哈希值范围,并将其对应关系记录到映射表中。
3.如权利要求2所述的方法,其特征在于,所述方法还包括: 所述目录服务器根据哈希值范围,对所述映射表中的对象存储服务器组进行排序。
4.如权利要求3所述的方法,其特征在于,所述方法还包括: 所述目录服务器对所述对象存储服务器组中的对象存储服务器进行排序,并将所述对象存储服务器的顺序记录到所述映射表中。
5.如权利要求4所述的方法,其特征在于,如果需要在对象存储服务器中写入新的对象时,所述方法还包括: 如果所述对象存储服务器本地存储的对象中存在与新的对象相同的旧的对象时,在所述对象存储服务器中所述新的对象将覆盖所述旧的对象。
6.如权利要求5所述的方法,其特征在于,所述方法还包括: 根据所述映射表中的对象存储服务器的顺序,将所述新的对象同时写入到所述对象存储服务器之后的至少一个对象存储服务器中。
7.如权利要求6所述的方法,其特征在于,所述目录服务器根据接收到的所述对象的标识信息,查找所述对象所在的至少一个对象存储服务器的步骤包括: 所述目录服务器根据接收到的所述对象的标识信息,查找所述对象可能会在的对象存储服务器; 如果查找的所述对象存储服务器上没有所述对象,则根据所述映射表中的对象存储服务器的顺序,在顺序上靠近所述对象存储服务器的其他对象存储服务器上继续查找,以确定所述对象所在的对象存储服务器。
8.如权利要求2所述的方法,其特征在于,所述目录服务器获取对象存储集群中所有对象存储服务器的相关信息的步骤包括: 所述目录服务器接收对象存储集群中所有对象存储服务器的广播消息,所述广播消息包括:对象存储服务器的地址信息、对象存储服务器的容量信息、对象存储服务器的负载信息、对象存储服务器的性能信息中的任意一个或多个; 所述目录服务器根据接收到的广播消息,在本地存储并维护至少一个对象存储服务器的列表,所述对象存储服务器的列表中记录有所有对象存储服务器的相关信息,所述相关信息包括:对象存储服务器的性能信息和/或对象存储服务器的容量信息。
9.如权利要求2所述的方法,其特征在于,所述目录服务器根据接收到的所述对象的标识信息,查找所述对象所在的至少一个对象存储服务器的步骤包括: 所述目录服务器根据所述对象的标识信息,获取与所述对象的标识信息对应的哈希值; 所述目录服务器根据获取的所述对象的标识信息的哈希值,以及所述映射表中对象存储服务器组与哈希值范围的对应关系,查找所述对象所在的对象服务器组。
10.如权利要求2所述的方法,其特征在于,当增加至少一个新的目录服务器时,所述方法还包括: 将其他目录服务器中的映射表复制到所述新的目录服务器中; 所述新的目录服务器接收所述对象存储集群中所有对象存储服务器的广播消息。
11.如权利要求2所述的方法,其特征在于,当增加至少一个新的对象存储服务器到对象存储集群中时,所述方法还包括: 所述目录服务器分配给所述新的对象存储服务器至少一段哈希值范围; 如果在所述映射表中存在与新的对象存储服务器对应的哈希值范围相同的哈希值范围,将对应相同哈希值范围的对象存储服务器中的对象复制到新的对象存储服务器中。
12 .如权利要求7所述的方法,其特征在于,将对象复制到新的对象存储服务器中之后,所述方法还包括: 对应相同哈希值范围的对象存储服务器将本地存储的对象删除,释放存储空间。
13.—种分布式对象处理的系统,其特征在于,包括:至少一个应用服务器、至少一个目录服务器和对象存储集群,所述对象存储集群包括至少一个对象存储服务器,其中 所述应用服务器用于接收客户端的请求信息,并将所述请求信息转发给目录服务器,所述请求信息中包括对象的标识信息; 所述目录服务器用于根据接收到的所述对象的标识信息,查找到所述对象所在的对象存储集群中至少一个对象存储服务器,以及将所述请求信息转发给查找到的至少一个对象存储服务器; 所述对象存储服务器接收到所述请求消息后,与所述客户端建立连接,并根据所述请求信息进行操作。
14.如权利要求1所述的系统,其特征在于,所述目录服务器还用于获取对象存储集群中所有对象存储服务器的相关信息,将所述对象存储集群中所有对象存储服务器划分为至少一个对象存储服务器组,所述对象存储服务器组中包括至少一个对象存储服务器;以及将每个对象存储服务器组对应至少一段的哈希值范围,并将其对应关系记录到映射表中。
15.如权利要求14所述的系统,其特征在于,所述目录服务器还用于根据哈希值范围,对所述映射表中对至少一个对象存储服务器组进行排序。
16.如权利要求15所述的系统,其特征在于,所述目录服务器还用于对所述对象存储服务器组中的对象存储服务器进行排序,并将所述对象存储服务器的顺序记录到所述映射表中。
17.如权利要求16所述的系统,其特征在于,所述目录服务器根据接收到的所述对象的标识信息,查找所述对象可能会在的对象存储服务器;如果查找的所述对象存储服务器上没有所述对象,则根据所述映射表中的对象存储服务器的顺序,在顺序上靠近所述对象存储服务器的其他对象存储服务器上继续查找,以确定所述对象所在的对象存储服务器。
18.如权利要求17所述的系统,其特征在于,所述目录服务器接收对象存储集群中所有对象存储服务器的广播消息,所述广播消息包括:对象存储服务器的地址信息、对象存储服务器的容量信息、对象存储服务器的负载信息、对象存储服务器的性能信息中的任意一个或多个;所述目录服务器根据接收到的广播消息,在本地存储并维护至少一个对象存储服务器的列表,所述对象存储服务器的列表中记录有所有对象存储服务器的相关信息,所述相关信息包括:对象存储服务器的性能信息和/或对象存储服务器的容量信息。
19.如权利要求14所述的系统,其特征在于,所述目录服务器根据所述对象的标识信息,获取与所述对象的标识信息对应的哈希值;所述目录服务器根据获取的所述对象的标识信息的哈希值,以及所述映射表中对象存储服务器组与哈希值范围的对应关系,查找所述对象所在的对象服务器组。
20.如权利要求14所述的系统,其特征在于,所述目录服务器分配给新的对象存储服务器至少一段哈希值范围,如果在所述映射表中存在与新的对象存储服务器对应的哈希值范围相同的哈希值范围,将对应相同哈希值范围的对象存储服务器中的对象复制到新的对象存储服务器中 。
【文档编号】H04L29/08GK103888499SQ201210562620
【公开日】2014年6月25日 申请日期:2012年12月21日 优先权日:2012年12月21日
【发明者】林栋 , 须成忠, 李宇飞 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1