CN103888499B - 一种分布式对象处理的方法及系统 - Google Patents
一种分布式对象处理的方法及系统 Download PDFInfo
- Publication number
- CN103888499B CN103888499B CN201210562620.5A CN201210562620A CN103888499B CN 103888499 B CN103888499 B CN 103888499B CN 201210562620 A CN201210562620 A CN 201210562620A CN 103888499 B CN103888499 B CN 103888499B
- Authority
- CN
- China
- Prior art keywords
- server
- object storage
- storage server
- list
- information
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种分布式对象处理的方法及系统,方法包括:应用服务器接收客户端的请求信息,该请求信息包括对象的标识信息;应用服务器将请求信息转发给目录服务器;目录服务器根据接收到的请求信息中的对象的标识信息,查找到对象所在的对象存储集群中至少一个对象存储服务器;目录服务器将所述请求信息转发至查找到的至少一个对象存储服务器;对象存储服务器接收到所述请求消息后,与客户端建立连接,并根据请求信息进行操作。通过基于分布式对象存储的架构,能够提供网盘服务器所需要的大规模的非结构化数据存储,于此同时,通过保存对象的多个副本,保证了对象存储的安全性。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种分布式对象处理的方法及系统。
背景技术
伴随着信息技术的不断发展,人们已经不再满足于将越来越多的数据存储于个人计算机上或者移动硬盘等物理存储介质上,而可以提供高扩展性的空间、灵活的传输和共享机制以及可靠方便的访问接口的网盘服务器,成为存放和共享数据的新兴方式。
网盘服务器的主要功能是让用户使用多种终端(例如个人电脑、手机等),通过互联网,将文件上传至网盘服务器,并通过互联网访问和操作已上传的文件。就网盘服务器的功能来说,网盘服务器与传统的以数据为主的互联网应用相近,所以现有的网盘服务器架构也大多参照目前较为成熟的互联网应用架构分为三层:表现层,逻辑层和数据层。其中表现层响应HTTP(HTTP-Hypertexttransfer protocol,超文本传送协议)请求并生成相应的页面,逻辑层负责处理业务逻辑,而数据层负责数据的持久化和存储,各层之间还会部署缓存以提高性能。表现层和逻辑层一般由高级网络编程语言如Java,PHP,C#,Python等实现,并且部署在应用服务器上,多个应用服务器同时运行并且进行负载均衡以处理大量用户发送的并发请求。所有应用服务器与数据层连接,数据层负责保存和维护所有的系统数据,由多台数据服务器构成。与其他的互联网应用类似,用户信息、日志以及系统信息等结构化数据存储于关系型数据库中,如MySQL,Oracle,SQLServer等成熟的商业化数据库是大多数网络应用的首选。
目前的网盘服务器的架构主要参照的是传统的互联网应用,传统互联网应用以提供结构化数据的展现和管理为主,例如文字、数据、日志等,这类数据结构清晰,相互的关系非常明确,适合以关系型数据库的二维表进行存储和管理,而且通过使用缓存、分布式部署等技术也能够提供较好的性能。
然而,现有的网盘服务器的架构有其无法避免的缺点:网盘服务器需要保存用户上传的各种文件,文件的大小及类型都只能由用户自己掌控。随着用户上传的文件的数量的不断增长,网盘服务器中需要处理大量无规律文件,而管理这些文件以及文件相关联的各种信息的工作是传统的关系型数据库难以胜任的。
发明内容
本发明实施例的目的在于提供一种分布式对象处理的方法及分布式对象处理的系统,旨在解决现有技术中网盘服务器难以对大规模的非结构化数据存储的问题。
本发明实施例是这样实现的,一种分布式对象处理的方法,方法包括:应用服务器接收客户端的请求信息,请求信息包括对象的标识信息;应用服务器将请求信息转发给目录服务器;目录服务器根据接收到的请求信息中的对象的标识信息,查找到对象所在的对象存储集群中至少一个对象存储服务器;目录服务器将请求信息转发至查找到的至少一个对象存储服务器;对象存储服务器接收到请求消息后,与客户端建立连接,并根据请求信息进行操作。
本发明实施例还提供了一种分布式对象处理的系统,包括:至少一个应用服务器、至少一个目录服务器和对象存储集群,对象存储集群包括至少一个对象存储服务器,其中应用服务器用于接收客户端的请求信息,并将请求信息转发给目录服务器,请求信息中包括对象的标识信息;目录服务器用于根据接收到的对象的标识信息,查找到对象所在的对象存储集群中至少一个对象存储服务器,以及将请求信息转发给查找到的至少一个对象存储服务器;对象存储服务器接收到请求消息后,与客户端建立连接,并根据请求信息进行操作。
本发明实施例与现有技术相比,有益效果在于:首先,通过基于分布式对象存储的架构,能够提供网盘服务器所需要的大规模的非结构化数据存储,于此同时,通过保存对象的多个副本,保证了对象存储的安全性。
其次,由于使用对象作为底层存储单位,使得作为分布式对象存储的架构中的表现层和逻辑层的高级编程语言可以直接使用存储数据,无需做数据到对象的映射和转换,降低了分布式对象存储的架构实现的复杂度,有效节省了开发成本。
最后,在本发明的实施例中,可以通过简单的横向扩展来增加分布式对象存储的架构的容量和或者提高分布式对象存储的架构的性能,而不需要对分布式对象存储的架构统进行复杂的修改,有效降低成本。
附图说明
图1是本发明实施例提供的一种分布式对象处理的方法流程图;
图2是本发明实施例提供的对象处理的示意图;以及
图3是本发明实施例提供的一种分布式对象处理的系统结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提出的分布式对象处理的方法中采用分布式对象存储的架构,其中目录服务器可根据接收到的请求信息中的对象的标识信息,查找到对象所在对象集群中的至少一个对象存储服务器,然后目录服务器将请求信息转发至查找到的至少一个对象存储服务器;接收到请求消息的至少一个对象存储服务器与客户端建立连接,并根据请求信息对对象存储服务器的本地存储的对象进行操作。下面结合图1具体说明根据本发明的一个实施例的、适于解决上述技术问题的一种分布式对象处理的方法的流程图。
如图1所示,本发明的实施例提供的一种分布式对象处理的方法,该方法包括如下步骤:
步骤S102、应用服务器接收客户端的请求信息,请求信息中包括对象的标识信息。
在本发明的一些实施例中,应用服务器上可部署有中间件,中间件是一种独立的系统软件或服务程序,分布式对象处理架构借助中间件可在不同的服务器之间共享资源。
在步骤S102中,客户端可与应用服务器上的中间件进行交互,应用服务器上的中间件根据不同的客户端渲染出相应的用户界面与客户端交互。中间件可由高级网络语言实现,在分布式对象处理的架构中各应用服务器独立运行,避免与其他的应用服务器进行任何交互,以保证数据的一致性。应用服务器中的中间件可通过对后台数据层的访问,获取分布式对象处理的架构中对象存储服务器所存储的对象的相关信息,并将获取的对象的相关信息返回给客户端。在本发明实施例中,对象可以二进制文件的形式存储于对象存储服务器中,每个对象的标识信息可以是对象的名称的哈希值,也就是利用哈希算法计算对象的名称的哈希值,将该哈希值作为对象的标识信息。
步骤S104、应用服务器将请求信息转发给目录服务器。
在本发明的一些实施例中,目录服务器是对象存储服务器与应用服务器之间的代理,通过目录服务器的公用接口,应用服务器中的中间件可以通过网络协议对实际存储于对象存储服务器的对象进行操作,该操作包括:对象的读写操作或者对象的删除操作。
步骤S106、目录服务器根据接收到的对象的标识信息,查找到对象所在的对象存储集群中至少一个对象存储服务器。
在本发明的一些实施例中,可将多个对象存储服务器组成对象存储集群,通过定时的UDP(User Datagram Protocol,用户数据包协议)广播,每个对象存储服务器将本身的地址信息、容量信息、负载信息和性能信息等对象存储服务器的相关在集群内进行广播,但是对象存储服务器不监听其他服务器的广播消息,互相之间没有任何通信,每一个都只负责对象存储服务器本地的对象存储。具体地,目录服务器接收对象存储集群中所有对象存储服务器的广播消息,广播消息包括:对象存储服务器的地址信息、对象存储服务器的容量信息、对象存储服务器的负载信息、对象存储服务器的性能信息中的任意一个或多个;目录服务器根据接收到的广播消息,在本地存储并维护至少一个对象存储服务器的列表,对象存储服务器的列表中记录有所有对象存储服务器的相关信息,相关信息包括:对象存储服务器的性能信息和/或对象存储服务器的容量信息。
在分布式对象处理的架构中,目录服务器的一个重要作用就是查找对象所在的对象存储集群中至少一个对象存储服务器,如图2所示,当客户端304向应用服务器301发送对象的请求消息,应用服务器301将该请求消息转发给目录服务器302,然后目录服务器303会根据预定的寻址机制查找到该对象所在的对象存储集群中的至少一个对象存储服务器303,然后将对象请求转发给相应的至少一个对象存储服务器303,对象的传输实际发生在客户端304与对象存储服务器303之间,从而使得目录服务器302的开销很小。利用预定的寻址机制,分布式对象处理的架构中的对象存储集群可以实现接收多个客户端的并发请求,使得分布式对象处理的架构的带宽可以得到充分利用,同时也避免了分布式对象处理的架构出现瓶颈。
可选地,预定的寻址机制是指根据对象的标识信息,查找到该对象所在的至少一个对象存储服务器。寻址机制原理描述如下:首先目录服务器接收对象存储集群中所有对象存储服务器的广播消息,在本地存储并维护一个对象存储服务器的列表。然后目录服务器采用哈希算法,用于计算对象的标识信息的哈希值。理想情况下,哈希值能做到均匀分布。然后目录服务器将所有对象存储服务器划分为至少一个对象存储服务器组,每个对象存储器组对应一段的哈希值范围,哈希值范围的大小可以平均分配,也可以根据对象存储服务器的性能、容量等赋予不同的权重。例如:性能越好,容量越大的对象存储服务器组,所分配到的哈希值范围越大。为对象存储集群内所有对象存储服务器组分配完成后可以得到有一张有序的映射表,该映射表中的映射范围覆盖了哈希算法的所有可能产生的哈希值,而且在映射表中所有对象存储服务器可以跟其对应的哈希值范围确定先后顺序。
也就是,目录服务器将对象存储集群中所有对象存储服务器划分为至少一个对象存储服务器组,对象存储服务器组中包括至少一个对象存储服务器;目录服务器将每个对象存储服务器组对应至少一段的哈希值范围,并将其对应关系记录到映射表中。目录服务器根据哈希值范围,对映射表中的对象存储服务器组进行排序。
当需要到对象存储服务器中查找或者插入对象时,首先计算对象的标识信息的哈希值,并根据该哈希值查询映射表,就可以确定该对象存储于哪个对象存储服务器上。
在本发明实施例中,目录服务器可以对对象存储服务器组中的对象存储服务器进行排序,并将对象存储服务器的顺序记录到映射表中。由于在目录服务器所维护的映射表中,如果对象存储服务器是有序的,在向某个对象存储服务器写入对象时,可以同时向该对象存储服务器之后的若干个对象存储服务器也写入同样的对象,以达到备份的目的。在查找对象的时候,如果发现在某个对象存储服务器上找不到应该存在的对象,或者对象存储服务器失效,目录服务器就会根据映射表,在原目标对象存储服务器之后的位置上进行查找,便可以取得丢失的对象。具体地,在步骤S160中,目录服务器根据接收到的对象的标识信息,查找对象可能会在的对象存储服务器;如果查找的对象存储服务器上没有所述对象,则根据映射表中的对象存储服务器的顺序继续查找,以确定对象所在的对象存储服务器。
在本发明的一些实施例中,目录服务器根据对象的标识信息,获取与对象的标识信息对应的哈希值;然后目录服务器根据获取的对象的标识信息的哈希值,以及映射表中对象存储服务器组与哈希值范围的对应关系,查找对象所在的对象服务器组。
步骤S108、目录服务器将请求信息转发至查找到的至少一个对象存储服务器。
步骤S110、对象存储服务器接收到请求消息后,与客户端建立连接,并根据请求信息对本地存储的对象进行操作。
在本发明的一些实施例中,由对象存储服务器(Object Server)与目录服务器(Index Server)构成数据层。对象存储服务器用于对本地的对象进行读写、和/或删除的操作。对象以二进制文件的形式存储于对象存储服务器中,每个对象以对象的标识信息的哈希值为唯一标识ID,在写入新的对象时,如果发现对象存储服务器中已存在与新的对象的标识ID相同的标识ID时,则新的对象将覆盖旧的对象。也就是,通过对象的标识ID判断对象存储服务器本地存储的对象中是否与新的对象相同,如果相同,则新的对象将覆盖对象存储服务器本地存储的对象。
在本发明的一些实施例中,分布式对象处理的架构的备份策略可以根据实际要求灵活配置。在目录服务器所维护的映射表中,对象存储服务器是有序的,再向某个对象存储服务器写入对象时,可以同时向该对象存储服务器之后的若干个对象存储服务器也写入同样的对象以达到备份的目的。在查找对象的时候,若发现在某个对象存储服务器上找不到应该存在的对象,或者对象存储服务器失效,目录服务器就会根据映射表,在原目标对象存储服务器之后的位置上进行查找,便可以取得丢失的对象。也就是,根据映射表中的对象存储服务器的顺序,将新的对象同时写入到至少一个对象存储服务器之后的至少一个对象存储服务器中,通过将对象的副本存储在多个对象存储服务器上,以实现对象的备份。
在本发明的一些实施例中,根据分布式对象处理的架构的需求,可以对目录服务器或对象存贮服务器进行横向扩展。
当增加至少一个新的目录服务器时,将其他目录服务器中的映射表复制到新的目录服务器中,新的目录服务器接收对象存储集群中所有对象存储服务器的广播消息。也就是只需要在新的目录服务中构建一个与其他目录服务器一样的映射表,并将目录服务器加入到集群当中接收对象存储服务器的广播。在存在多个目录服务器的分布式对象处理的架构中,必须保证所有的目录服务器的映射表的一致性,以确保数据的一致性。
当增加至少一个新的对象存储服务器到对象存储集群中时,目录服务器30分配给新的对象存储服务器至少一段哈希值范围;如果在映射表中存在与新的对象存储服务器对应的哈希值范围相同的哈希值范围,将对应相同哈希值范围的对象存储服务器中的对象复制到新的对象存储服务器中。也就是,将新的对象存储服务器加入对象存储集群,目录服务器收到新的对象存储服务器的广播消息后,首先查找新的对象存储服务器所对应的哈希值范围,若分配给新的对象存储服务器的哈希值范围已拥有对应的对象存储于原来的对象存储服务器上,则需要将对象复制到新的对象存储服务器上。
在本发明的一些实施例中,将对象复制到新的对象存储服务器中后,方法还包括:对应相同哈希值范围的对象存储服务器将本地存储的对象删除,释放存储空间。也就是,完成复制后更新所有目录服务器的映射表,使相应对象的地址能够正确映射到新的对象存储服务器上,最后删除原对象存储服务器上的对象,释放空间。
下面结合图3说明根据本发明又一个实施例的、适于解决上述问题的一种分布式对象处理的系统。
如图3所示,分布式对象处理的系统,包括:至少一个应用服务器301、至少一个目录服务器302和对象存储集群,该对象存储集群包括至少一个对象存储服务器303,其中应用服务器301用于接收客户端304的请求信息,并将请求信息转发给目录服务器302,请求信息中包括对象的标识信息;目录服务器302用于根据接收到的对象的标识信息,查找到对象所在的对象存储集群中的至少一个对象存储服务器303,以及将请求信息转发给对象存储集群中相应的至少一个对象存储服务器303;对象存储服务器303接收到请求消息后,与客户端304建立连接,并根据请求信息进行操作,该操作包括对象的读写操作,对象的删除操作。
在本发明的一些实施例中,目录服务器302还用于获取对象存储集群中所有对象存储服务器303的相关信息,将对象存储集群中所有对象存储服务器303划分为至少一个对象存储服务器组,对象存储服务器组中包括至少一个对象存储服务器303;以及将每个对象存储服务器组对应至少一段的哈希值范围,并将其对应关系记录到映射表中。
在本发明的一些实施例中,目录服务器302还用于根据哈希值范围,对映射表中的对象存储服务器组进行排序。
在本发明的一些实施例中,目录服务器302还用于对对象存储服务器组中的对象存储服务器303进行排序,并将对象存储服务器303的顺序记录到映射表中。
在本发明的一些实施例中,目录服务器303根据接收到的对象的标识信息,查找所述对象可能会在的对象存储服务器;如果查找的所述对象存储服务器上没有所述对象,则根据映射表中的对象存储服务器的顺序,在顺序上靠近所述对象存储服务器的其他对象存储服务器上,以确定对象所在的对象存储服务器。
在本发明的一些实施例中,目录服务器303接收对象存储集群中所有对象存储服务器的广播消息,广播消息包括:对象存储服务器的地址信息、对象存储服务器的容量信息、对象存储服务器的负载信息、对象存储服务器的性能信息中的任意一个或多个;目录服务器303根据接收到的广播消息,在本地存储并维护至少一个对象存储服务器的列表,对象存储服务器的列表中记录有所有对象存储服务器的相关信息,相关信息包括:对象存储服务器的性能信息和/或对象存储服务器的容量信息。
在本发明的一些实施例中,目录服务器302根据对象的标识信息,获取与对象的标识信息对应的哈希值;目录服务器302根据获取的对象的标识信息的哈希值,以及映射表中对象存储服务器组与哈希值范围的对应关系,查找所述对象所在的对象服务器组。
在本发明的一些实施例中,目录服务器302分配给新的对象存储服务器至少一段哈希值范围,如果在映射表中存在与新的对象存储服务器对应的哈希值范围相同的哈希值范围,将对应相同哈希值范围的对象存储服务器中的对象复制到新的对象存储服务器中。
本发明实施例与现有技术相比,有益效果在于:首先,通过基于分布式对象存储的架构,能够提供网盘服务器所需要的大规模的非结构化数据存储,于此同时,通过保存对象的多个副本,保证了对象存储的安全性。
其次,由于使用对象作为底层存储单位,使得作为分布式对象存储的架构中的表现层和逻辑层的高级编程语言可以直接使用存储数据,无需做数据到对象的映射和转换,降低了分布式对象存储的架构实现的复杂度,有效节省了开发成本。
最后,在本发明的实施例中,可以通过简单的横向扩展来增加分布式对象存储的架构的容量和或者提高分布式对象存储的架构的性能,而不需要对分布式对象存储的架构统进行复杂的修改,有效降低成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种分布式对象处理的方法,其特征在于,所述方法包括:
应用服务器接收客户端的请求信息,所述请求信息包括对象的标识信息;
所述应用服务器将所述请求信息转发给目录服务器;
所述目录服务器根据接收到的请求信息中的对象的标识信息,查找到所述对象所在的对象存储集群中至少一个对象存储服务器;
所述目录服务器将所述请求信息转发至查找到的至少一个对象存储服务器;
所述对象存储服务器接收到所述请求消息后,与所述客户端建立连接,并根据所述请求信息进行操作;
所述方法还包括:
所述目录服务器获取对象存储集群中所有对象存储服务器的相关信息;
所述目录服务器将所述对象存储集群中所有对象存储服务器划分为至少一个对象存储服务器组,所述对象存储服务器组中包括至少一个对象存储服务器;
所述目录服务器将每个对象存储服务器组对应至少一段的哈希值范围,并将其对应关系记录到映射表中;所述方法还包括:
所述目录服务器根据哈希值范围,对所述映射表中的对象存储服务器组进行排序;
所述方法还包括:
所述目录服务器对所述对象存储服务器组中的对象存储服务器进行排序,并将所述对象存储服务器的顺序记录到所述映射表中;
其中所述目录服务器根据接收到的请求信息中的对象的标识信息,查找到所述对象所在的对象存储集群中至少一个对象存储服务器,包括:
所述目录服务器根据接收到的对象的标识信息,查找对象所在的对象存储服务器;如果查找的对象存储服务器上没有所述对象,则根据映射表中的对象存储服务器的顺序继续查找,以确定对象所在的对象存储服务器;
当增加至少一个新的对象存储服务器到对象存储集群中时,所述方法还包括:
所述目录服务器分配给所述新的对象存储服务器至少一段哈希值范围;
如果在所述映射表中存在与新的对象存储服务器对应的哈希值范围相同的哈希值范围,将对应相同哈希值范围的对象存储服务器中的对象复制到新的对象存储服务器中。
2.如权利要求1所述的方法,其特征在于,如果需要在对象存储服务器中写入新的对象时,所述方法还包括:
如果所述对象存储服务器本地存储的对象中存在与新的对象相同的旧的对象时,在所述对象存储服务器中所述新的对象将覆盖所述旧的对象。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述映射表中的对象存储服务器的顺序,将所述新的对象同时写入到所述对象存储服务器之后的至少一个对象存储服务器中。
4.如权利要求3所述的方法,其特征在于,所述目录服务器根据接收到的所述对象的标识信息,查找所述对象所在的至少一个对象存储服务器的步骤包括:
所述目录服务器根据接收到的所述对象的标识信息,查找所述对象可能会在的对象存储服务器;
如果查找的所述对象存储服务器上没有所述对象,则根据所述映射表中的对象存储服务器的顺序,在顺序上靠近所述对象存储服务器的其他对象存储服务器上继续查找,以确定所述对象所在的对象存储服务器。
5.如权利要求1所述的方法,其特征在于,所述目录服务器获取对象存储集群中所有对象存储服务器的相关信息的步骤包括:
所述目录服务器接收对象存储集群中所有对象存储服务器的广播消息,所述广播消息包括:对象存储服务器的地址信息、对象存储服务器的容量信息、对象存储服务器的负载信息、对象存储服务器的性能信息中的任意一个或多个;
所述目录服务器根据接收到的广播消息,在本地存储并维护至少一个对象存储服务器的列表,所述对象存储服务器的列表中记录有所有对象存储服务器的相关信息,所述相关信息包括:对象存储服务器的性能信息和/或对象存储服务器的容量信息。
6.如权利要求1所述的方法,其特征在于,所述目录服务器根据接收到的所述对象的标识信息,查找所述对象所在的至少一个对象存储服务器的步骤包括:
所述目录服务器根据所述对象的标识信息,获取与所述对象的标识信息对应的哈希值;
所述目录服务器根据获取的所述对象的标识信息的哈希值,以及所述映射表中对象存储服务器组与哈希值范围的对应关系,查找所述对象所在的对象服务器组。
7.如权利要求1所述的方法,其特征在于,当增加至少一个新的目录服务器时,所述方法还包括:
将其他目录服务器中的映射表复制到所述新的目录服务器中;
所述新的目录服务器接收所述对象存储集群中所有对象存储服务器的广播消息。
8.如权利要求4所述的方法,其特征在于,将对象复制到新的对象存储服务器中之后,所述方法还包括:
对应相同哈希值范围的对象存储服务器将本地存储的对象删除,释放存储空间。
9.一种分布式对象处理的系统,其特征在于,包括:至少一个应用服务器、至少一个目录服务器和对象存储集群,所述对象存储集群包括至少一个对象存储服务器,其中
所述应用服务器用于接收客户端的请求信息,并将所述请求信息转发给目录服务器,所述请求信息中包括对象的标识信息;
所述目录服务器用于根据接收到的所述对象的标识信息,查找到所述对象所在的对象存储集群中至少一个对象存储服务器,以及将所述请求信息转发给查找到的至少一个对象存储服务器;
所述对象存储服务器接收到所述请求消息后,与所述客户端建立连接,并根据所述请求信息进行操作;
所述目录服务器还用于获取对象存储集群中所有对象存储服务器的相关信息,将所述对象存储集群中所有对象存储服务器划分为至少一个对象存储服务器组,所述对象存储服务器组中包括至少一个对象存储服务器;以及将每个对象存储服务器组对应至少一段的哈希值范围,并将其对应关系记录到映射表中;所述目录服务器还用于根据哈希值范围,对所述映射表中对至少一个对象存储服务器组进行排序;
所述目录服务器还用于对所述对象存储服务器组中的对象存储服务器进行排序,并将所述对象存储服务器的顺序记录到所述映射表中;
其中所述目录服务器根据还用于,接收到的对象的标识信息,查找对象所在的对象存储服务器;如果查找的对象存储服务器上没有所述对象,则根据映射表中的对象存储服务器的顺序继续查找,以确定对象所在的对象存储服务器;
所述目录服务器分配给新的对象存储服务器至少一段哈希值范围,如果在所述映射表中存在与新的对象存储服务器对应的哈希值范围相同的哈希值范围,将对应相同哈希值范围的对象存储服务器中的对象复制到新的对象存储服务器中。
10.如权利要求9所述的系统,其特征在于,所述目录服务器根据接收到的所述对象的标识信息,查找所述对象可能会在的对象存储服务器;如果查找的所述对象存储服务器上没有所述对象,则根据所述映射表中的对象存储服务器的顺序,在顺序上靠近所述对象存储服务器的其他对象存储服务器上继续查找,以确定所述对象所在的对象存储服务器。
11.如权利要求10所述的系统,其特征在于,所述目录服务器接收对象存储集群中所有对象存储服务器的广播消息,所述广播消息包括:对象存储服务器的地址信息、对象存储服务器的容量信息、对象存储服务器的负载信息、对象存储服务器的性能信息中的任意一个或多个;所述目录服务器根据接收到的广播消息,在本地存储并维护至少一个对象存储服务器的列表,所述对象存储服务器的列表中记录有所有对象存储服务器的相关信息,所述相关信息包括:对象存储服务器的性能信息和/或对象存储服务器的容量信息。
12.如权利要求9所述的系统,其特征在于,所述目录服务器根据所述对象的标识信息,获取与所述对象的标识信息对应的哈希值;所述目录服务器根据获取的所述对象的标识信息的哈希值,以及所述映射表中对象存储服务器组与哈希值范围的对应关系,查找所述对象所在的对象服务器组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210562620.5A CN103888499B (zh) | 2012-12-21 | 2012-12-21 | 一种分布式对象处理的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210562620.5A CN103888499B (zh) | 2012-12-21 | 2012-12-21 | 一种分布式对象处理的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103888499A CN103888499A (zh) | 2014-06-25 |
CN103888499B true CN103888499B (zh) | 2018-08-14 |
Family
ID=50957217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210562620.5A Active CN103888499B (zh) | 2012-12-21 | 2012-12-21 | 一种分布式对象处理的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103888499B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871951A (zh) * | 2015-01-21 | 2016-08-17 | 上海可鲁系统软件有限公司 | 一种工业物联网分布式业务凭证处理方法 |
CN105871950A (zh) * | 2015-01-21 | 2016-08-17 | 上海可鲁系统软件有限公司 | 一种工业物联网自动接入和数据授权的管理方法及系统 |
CN105187523B (zh) * | 2015-08-28 | 2019-02-22 | 北京奇艺世纪科技有限公司 | 一种目录访问方法及装置 |
CN106713391B (zh) * | 2015-11-13 | 2019-12-27 | 北京新媒传信科技有限公司 | 一种session信息的共享方法和共享系统 |
CN105978944A (zh) * | 2016-04-26 | 2016-09-28 | 乐视控股(北京)有限公司 | 对象存储方法和装置 |
CN107317831A (zh) * | 2016-04-27 | 2017-11-03 | 上海炬宏信息技术有限公司 | 基于内存数据库的网站访问方法 |
CN107678906B (zh) * | 2016-08-01 | 2021-01-29 | 杭州海康威视数字技术股份有限公司 | 硬盘管理方法和系统 |
CN108616762B (zh) * | 2016-12-12 | 2019-11-19 | 视联动力信息技术股份有限公司 | 一种视联网服务器的共享方法及视联网服务器 |
CN106850819A (zh) * | 2017-02-17 | 2017-06-13 | 深圳市中博睿存信息技术有限公司 | 一种提高对象存储安全性的方法及系统 |
CN107153515B (zh) * | 2017-05-10 | 2020-04-03 | 郑州云海信息技术有限公司 | 一种多控集群存储信息处理系统及方法 |
CN107454167A (zh) * | 2017-08-04 | 2017-12-08 | 深圳市元征科技股份有限公司 | 请求处理方法及服务器 |
CN108769111B (zh) * | 2018-04-17 | 2020-01-24 | 平安科技(深圳)有限公司 | 一种服务器连接方法、计算机可读存储介质及终端设备 |
CN109451029A (zh) * | 2018-11-16 | 2019-03-08 | 浪潮电子信息产业股份有限公司 | 一种分布式对象存储的数据缓存方法、装置、设备及介质 |
CN110377611B (zh) * | 2019-07-12 | 2022-07-15 | 北京三快在线科技有限公司 | 积分排名的方法及装置 |
CN111885098B (zh) * | 2020-06-03 | 2021-06-29 | 中邮消费金融有限公司 | 对象存储集群的代理访问方法、系统及计算机设备 |
CN112650721A (zh) * | 2020-12-29 | 2021-04-13 | 杭州趣链科技有限公司 | 一种文件存储方法、装置、系统以及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719141A (zh) * | 2009-12-24 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 基于目录对象的文件处理方法和系统 |
CN101997823A (zh) * | 2009-08-17 | 2011-03-30 | 联想(北京)有限公司 | 一种分布式文件系统及其数据访问方法 |
CN102158546A (zh) * | 2011-02-28 | 2011-08-17 | 中国科学院计算技术研究所 | 一种集群文件系统及其文件服务方法 |
CN102737127A (zh) * | 2012-06-20 | 2012-10-17 | 厦门聚海源物联网络技术有限公司 | 一种海量数据存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8015146B2 (en) * | 2008-06-16 | 2011-09-06 | Hitachi, Ltd. | Methods and systems for assisting information processing by using storage system |
-
2012
- 2012-12-21 CN CN201210562620.5A patent/CN103888499B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997823A (zh) * | 2009-08-17 | 2011-03-30 | 联想(北京)有限公司 | 一种分布式文件系统及其数据访问方法 |
CN101719141A (zh) * | 2009-12-24 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 基于目录对象的文件处理方法和系统 |
CN102158546A (zh) * | 2011-02-28 | 2011-08-17 | 中国科学院计算技术研究所 | 一种集群文件系统及其文件服务方法 |
CN102737127A (zh) * | 2012-06-20 | 2012-10-17 | 厦门聚海源物联网络技术有限公司 | 一种海量数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103888499A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103888499B (zh) | 一种分布式对象处理的方法及系统 | |
CN103237046B (zh) | 支持混合云存储应用的分布式文件系统及实现方法 | |
CN104133882B (zh) | 一种基于hdfs的小文件处理方法 | |
Hasan et al. | A survey of peer-to-peer storage techniques for distributed file systems | |
CN106790434B (zh) | 网络数据的管理方法、网络附属存储网关及存储服务系统 | |
CN103338242B (zh) | 一种基于多级缓存的混合云存储系统和方法 | |
US7797275B2 (en) | System and method of time-based cache coherency maintenance in user file manager of object-based storage system | |
KR101672901B1 (ko) | 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템 | |
CN106775446A (zh) | 基于固态硬盘加速的分布式文件系统小文件访问方法 | |
CN104601724B (zh) | 上传和下载文件的方法及系统 | |
CN101442558B (zh) | 一种为p2sp网络提供索引服务的方法和系统 | |
CN105138571B (zh) | 分布式文件系统及其存储海量小文件的方法 | |
CN108763436A (zh) | 一种基于ElasticSearch与HBase的分布式数据存储系统 | |
CN103605698A (zh) | 一种用于分布异构数据资源整合的云数据库系统 | |
CN105824723B (zh) | 一种对公有云存储账户的数据进行备份的方法及系统 | |
CN102882985A (zh) | 基于云存储的文件共享方法 | |
WO2001025965A2 (en) | Data management for netcentric computing systems | |
CN103179193B (zh) | 用于分布式应用系统的数据传输系统和数据传输方法 | |
CN106713391A (zh) | 一种session信息的共享方法和共享系统 | |
Xu et al. | Building a large-scale object-based active storage platform for data analytics in the internet of things | |
CN109542861A (zh) | 一种文件管理方法、装置和系统 | |
CN106294870A (zh) | 基于对象的分布式云存储方法 | |
CN107408239B (zh) | 通过多个邮箱在通信应用中进行海量数据管理的架构 | |
EP2695362B1 (en) | Multi-user cache system | |
Blomer et al. | A fully decentralized file system cache for the CernVM-FS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |