CN104731516B - 一种存取文件的方法、装置及分布式存储系统 - Google Patents

一种存取文件的方法、装置及分布式存储系统 Download PDF

Info

Publication number
CN104731516B
CN104731516B CN201310698906.0A CN201310698906A CN104731516B CN 104731516 B CN104731516 B CN 104731516B CN 201310698906 A CN201310698906 A CN 201310698906A CN 104731516 B CN104731516 B CN 104731516B
Authority
CN
China
Prior art keywords
file
metadata
server cluster
data server
index
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
Application number
CN201310698906.0A
Other languages
English (en)
Other versions
CN104731516A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310698906.0A priority Critical patent/CN104731516B/zh
Publication of CN104731516A publication Critical patent/CN104731516A/zh
Application granted granted Critical
Publication of CN104731516B publication Critical patent/CN104731516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种在在分布式存储系统中存取文件的方法、装置及分布式存储系统。在一个实施例中,上述方法包括:接收客户端上传的文件;向所述元数据服务器集群发送文件索引获取请求以获取所述元数据服务器集群返回的元数据索引;将所述文件或者所述文件的分片发送给选择的数据服务器集群进行存储;以及将所述文件或者所述文件的分片在所述选择的数据服务器集群内的存储索引、所述选择的数据服务器集群的标识以及所述元数据索引发送给所述元数据服务器集群进行关联存储。根据上述的方法、装置及系统,由于数据是被存储在位于不同数据中心的数据服务器集群内,因此可降低数据中心的分布式存储系统的运营成本。

Description

一种存取文件的方法、装置及分布式存储系统
技术领域
本发明涉及数据传输技术,尤其涉及一种存取文件的方法、装置及分布式存储系统。
背景技术
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
然而现有的分布式存储系统中,为了确保存储安全,需要在一个数据中心内至少保存各个文件的一份副本。在互联网的业务场景下,随着业务数据量的不断增大,即使只保存一份副本,最终会超过单个数据中心的带宽及机器数量的承载能力。
发明内容
有鉴于此,有必要提供一种在分布式存储系统中存取文件的方法、装置及分布式存储系统,其可降低数据中心的运营成本。
一种在分布式存储系统中存取文件的方法,所述分布式存储系统包括:元数据服务器集群以及多个数据服务器集群;每个数据服务器集群内包括多台数据服务器,所述多个数据服务器集群体内的服务器至少分布在两个不同的数据中心内;所述方法包括:
接收客户端上传的文件;
向所述元数据服务器集群发送文件索引获取请求以获取所述元数据服务器集群返回的元数据索引;
将所述文件或者所述文件的分片发送给选择的数据服务器集群进行存储;以及
将所述文件或者所述文件的分片在所述选择的数据服务器集群内的存储索引、所述选择的数据服务器集群的标识以及所述元数据索引发送给所述元数据服务器集群进行关联存储。
一种在分布式存储系统中存取文件的装置,包括:
上传请求接收模块,用于接收客户端上传的文件;
文件索引请求模块,用于向所述元数据服务器集群发送文件索引获取请求以获取所述元数据服务器集群返回的元数据索引;
文件存储模块,用于将所述文件或者所述文件的分片发送给选择的数据服务器集群进行存储;以及
文件索引提交模块,用于将所述文件或者所述文件的分片在所述选择的数据服务器集群内的存储索引、所述选择的数据服务器集群的标识以及所述元数据索引发送给所述元数据服务器集群进行关联存储。
一种分布式存储系统,包括:
入口服务器、元数据服务器集群以及多个数据服务器集群;每个数据服务器集群内包括多台数据服务器,所述多个数据服务器集群体内的服务器至少分布在两个不同的数据中心内;
所述入口服务器用于:接收客户端上传的文件;向所述元数据服务器集群发送文件索引获取请求;
所述元数据服务器集群用于:根据所述文件索引获取请求返回元数据索引;
所述入口服务器还用于:将所述文件或者所述文件的分片发送给选择的数据服务器集群;
所述数据服务器用于:接收所述入口服务器上传的文件;存储所述文件;
所述入口服务器还用于:将所述文件在数据服务器集群内的存储索引以及所存储的数据服务器集群的标识提交给所述元数据服务器集群;
所述元数据服务器集群还用于:存储所述入口服务器提交的所述文件在数据服务器集群内的存储索引以及对应的数据服务器集群的标识。
根据上述的方法、装置及系统,元数据与数据正文分别存储在元数据服务器集群与数据服务器集群中,而且数据服务器集群是分布在不同的数据中心内。因此,可以避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为第一实施例提供的分布式存储系统的架构示意图。
图2为图1的分布式存储系统中元数据服务器集群的一个实施例的架构示意图。
图3为图1的分布式存储系统中入口服务器的结构框图。
图4为图1的分布式存储系统上传文件时的交互示意图。
图5为图1的分布式存储系统下载文件时的交互示意图。
图6为图1的分布式存储系统删除文件时的交互示意图。
图7为图1的分布式存储系统更新文件时的交互示意图。
图8为第二实施例提供的在分布式存储系统存储文件的方法流程图。
图9为第三实施例提供的在分布式存储系统存储文件的方法流程图。
图10为第四实施例提供的在分布式存储系统存储文件的方法流程图。
图11为第五实施例提供的在分布式存储系统存储文件的方法流程图。
图12为第六实施例提供的在分布式存储系统存储文件的装置结构框图。
图13为第七实施例提供的在分布式存储系统存储文件的装置结构框图。
图14为第八实施例提供的在分布式存储系统存储文件的装置结构框图。
图15为第九实施例提供的在分布式存储系统存储文件的装置结构框图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
数据中心
数据中心(data center),指用于安置计算机系统及相关部件的设施,例如电信和储存系统。一般它包含冗余和备用电源,冗余数据通信连接,环境控制(例如空调、灭火器)和安全设备。
服务器
服务器是指安装有特定服务器应用程序的计算机,其用于通过计算机网络接收客户端的网络请求,并根据预定协议对接收的网络请求进行响应,从而提供或帮助提供某种网络服务。上述的预定协议包括但并不限于:传输控制协议(Transmission ControlProtocol,TCP)、超文本传输协议(Hypertext Transfer Protocol,HTTP)、用户数据协议(User Datagram Protocol,UDP)、文件传输协议(File Transfer Protocol,FTP)等。
服务器集群
服务器集群是指两台或者更多服务器的集合。服务器集群内的全部或者大部分服务器构成一个分布式网络系统,从而共同向客户端提供一种或多个网络服务。服务器集群内可包括一台或者多台调度服务器,用于统一控制服务器集群内的各服务器,例如提供路由功能,根据客户端的请求给客户端指定由哪个服务器向该客户端提供网络服务。
客户端
客户端与服务器相对,其为采用预定协议与服务器进行网络通讯的终端设备,其具体实施包括但并不限于另一台服务器、台式电脑、笔记本电脑、平板电脑、智能手机、多媒体电视、智能眼镜、智能手表以及其他电子装置。
键-值(Key-Value)存储系统
Key-value存储系统是指一种非关系型数据库,其是指按照提供的键给存储内容(Value)分配存储空间、并获取对应的值。相比于传统的关系型数据库,其具有高并发、高性能的优势。
第一实施例
图1为第一实施例提供的分布式存储系统的架构示意图。如图1所示,分布式存储系统100部署在两个或更多(图1中仅示出两个)数据中心10、20内。数据中心10内包括元数据服务器集群101、第一数据服务器集群102、以及一台或多台服务器103。数据中心20内包括第二数据服务器集群104以及一台或多台服务器105。其中,服务器103与服务器105共同构成第三数据服务器集群106。分布式存储系统100用于根据入口服务器200的请求进行文件的存储(上传)、下载、更新、或者删除等操作。
元数据服务器集群101内的多台服务器自身构成一个分布式存储系统,用于存储文件的元数据。上述的分布式存储系统例如可为上述的Key-Value存储系统。而上述的元数据例如可包括文件的索引信息,例如文件是否被分片、文件或文件分片存储在哪一个数据服务器集群内等等。元数据服务器集群101还可根据客户端的请求返回对应的元数据。
在一个实例中,元数据服务器集群101构成一个基于一致性哈希的全对等分布式存储系统,客户端在要访问某个文件的元数据时,通过元数据索引采用固定的哈希算法,将元数据索引映射到一个哈希环的一段区间上,然后查找分布式路由信息,找到该哈希环区间对应的元数据服务器,并最终将对于该元数据的读写请求发送到存储该数据的元数据服务器上。
然而,元数据服务器集群101构成的分布式存储系统并不限于上述的对等分布式架构。参阅图2,其为元数据服务器集群101另一个实施例的架构示意图。如图2所示,元数据服务器集群101包括主控服务器201、以及元数据服务器202。其中主控服务器201用于根据客户端203(例如图1所示入口服务器200)的请求分配并返回元数据服务器202的地址或标识。元数据服务器202用于根据客户端提交的元数据索引存储或返回对应的元数据。
第一数据服务器集群102、第二数据服务器集群104、以及第三数据服务器集群106分别构成一个分布式存储系统,用于存储文件或者文件分片。与元数据服务器集群101相似,第一数据服务器集群102、第二数据服务器集群104、以及第三数据服务器集群106即可以为基于一致性哈希的全对等分布式存储系统,也可以是类似于图2所示的具有主控服务器的分布式存储系统。
入口服务器200相对于分布式存储系统100而言是其客户端,但入口服务器200自身仍然可以为通过网络向其他终端提供某种网络服务的服务器。也就是说入口服务器200例如可为网络(Web)应用服务器,其可接收其他终端(如用户使用的电脑、手机、平板电脑等等)上传的信息/文件,并将这些信息/文件提交给分布式存储系统100进行存储。当然,入口服务器200也可以仅仅是用户终端,而不是服务器。
参阅图3,其为上述的入口服务器200的一个实施例的结构框图。如图3所示,入口服务器200包括:存储器202、处理器204以及网络模块206。可以理解,图3所示的结构仅为示意,其并不对入口服务器200的结构造成限定。例如,入口服务器200还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器202可用于存储软件程序以及模块,处理器204通过运行存储在存储器202内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器202可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器202可进一步包括相对于处理器204远程设置的存储器,这些远程存储器可以通过网络连接至入口服务器200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块206用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,传输模块206可包括处理器、随机存储器、转换器、晶体振荡器等元件。
上述的软件程序以及模块包括:操作系统122以及应用服务模块124。其中操作系统122例如可为LINUX,UNIX,WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。应用服务模块124运行在操作系统122的基础上,并通过操作系统122的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,应用服务模块124用于接向网络上的其他终端提供某种网络服务。上述的软件程序以及模块还可包括存储模块126,其用于将来自其他终端的信息/文件提交到分布式存储系统100进行存储。当然,存储模块126也可以作为应用服务模块124的一个子模块。
参阅图4,其为本实施例的分布式存储系统存储文件时的交互示意图。如图4所示,用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200上传文件。在接收到用户终端300上传的文件后,入口服务器200需要将其提交至分布式存储系统100进行存储,其具体过程描述如下。
首先,入口服务器200向元数据服务器集群101发送文件索引获取请求以获取元数据服务器集群101返回的元数据索引。文件索引获取请求内可包括文件的一些元数据,例如文件长度、文件名、文件特征码等。
元数据服务器集群101在接收到文件索引获取请求后,向用于存储元数据的分布式文件存储系统申请建立一条新的记录,该新记录的内容可包括上述的文件索引获取请求内的元数据如文件长度、文件名、文件特征码等。元数据服务器集群101将上述的新记录的键作为文件的元数据索引返回给入口服务器200。
在接收到元数据服务器集群101返回的元数据索引后,入口服务器200可将文件提交给数据服务器集群服务器102/104/106等进行存储。具体地,先判断文件是否超过预定的大小,若是,则需要对文件进行分片处理,并对每个分片进行存储操作;若否,无须进行分片,可以直接进行存储操作。
存储操作可包括以下步骤:为要存储的文件或者分片选择一个数据服务器集群;然后将要存储的文件或者分片发送到选择的数据服务器集群中进行存储。
在一个实例中,为要存储的文件或者分片选择一个数据服务器集群包括以下步骤:根据预定的路由规则为当前的文件或者分片选择一个数据服务器集群。例如,根据哈希算法将文件的唯一标识符映射到哈希环的一段空间内,然后再根据哈希环内不同空间与数据服务集群的对应关系获取与当前文件或者分片对应的数据服务器集群。
在另一个实例中,为要存储的文件或者分片选择一个数据服务器集群包括以下步骤:向元数据服务器集群发送数据服务器集群分配请求;并接收元数据服务器集群返回的数据服务器集群的入口地址或者标识。采用这种方式,元数据服务器集群除了存储文件的元数据外,还可根据预定的规则进行数据服务器集群的分配。可以理解,数据服务器集群的分配规则可以根据具体的需要进行定制。例如,其可同样采用上述的哈希环映射的方法,可以根据上传文件的用户所在的位置为其选择地理距离最近的数据服务器集群,还可以结合不同数据服务器集群的处理能力进行负载均衡处理。此外,上述的数据服务器集群分配请求还可是发送给单独设置的用于进行数据服务器集群分配的服务器集群,而不是元数据服务器集群。
在为当前文件或者分片选择一个数据服务器集群后,将当前的文件或者分片发送至选择的数据服务器集群。
相应地,选择的数据服务器集群会接收到入口服务器200发送的文件或者分片。如前所述,数据服务器集群本身包括一个分布式存储系统,接收到的文件或才分片是由该分布式存储系统进行存储。该分布式存储系统将当前文件或者分片存储在一个具体的数据服务器中。可以理解,数据服务器集群内的分布式存储系统会记录文件或者分片的存储索引(键)与具体的数据服务器的对应关系。此外,用于存储当前文件或者分片的记录的存储索引可以由数据服务器集群生成,也可以是由入口服务器200提供。若是由数据服务器集群生成的,数据服务器集群在完成当前文件或者分片的存储后,还可将生成的存储索引发送给入口服务器200。
在完成当前文件或者分片的存储操作后,入口服务器200将文件或者分片的存储索引以及对应的数据服务器集群的标识提交给元数据服务器101进行存储。
相应地,元数据服务器集群101接收入口服务器200发送的文件或者分片的存储索引以及对应的数据服务器集群的标识,并与上述的元数据索引进行关联存储。即,更新与上述的元数据索引对应的记录,将当前文件或者分片的存储索引以及对应的数据服务器集群的标识以追加的方式存储在上述的记录中。
参阅图5,其为本实施例的分布式存储系统下载文件时的交互示意图。如图5所示,用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件下载请求。该文件下载请求是与一个或多个目标文件关联的。在接收到用户终端300的文件下载请求后,入口服务器200需要从分布式存储系统100中获取目标文件并返回至用户终端300,其具体过程描述如下。
首先,入口服务器200向元数据服务器集群101发送元数据查询请求以获取元数据服务器集群101返回的元数据。元数据查询请求内应包括目标文件的元数据索引。
元数据服务器集群101在接收到元数据查询请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起存储索引读取请求以读取与该键对应的元数据,并将获取的元数据返回至入口服务器200。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。然后,入口服务器200分别向对应的数据服务器集群发送下载请求,该下载请求内可包括上述的存储索引。
相应地,数据服务器集群102/104/106会接收到入口服务器200发送的下载请求,从下载请求中解析出存储索引,根据存储索引在数据服务器集群102/104/106内的分布式存储系统中获取对应的文件或进分片,并将获取的文件或者分片返回给入口服务器200。
入口服务器200接收数据集群服务器102/104/106返回的文件或者分片。若为分片,在获取所有的分片后将所有分片组装成完整的文件。然后入口服务器200将完整的文件发送给用户终端300。
参阅图6,其为本实施例的分布式存储系统删除文件时的交互示意图。如图6所示,用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件删除请求。该文件删除请求是与一个或多个目标文件关联的。在接收到用户终端300的文件删除请求后,入口服务器200需要从分布式存储系统100中删除目标文件的元数据及文件内容,其具体过程描述如下。
首先,入口服务器200向元数据服务器集群101发送文件索引删除请求以获取元数据服务器集群101返回的元数据并使元数据服务器集群101删除目标文件的元数据。文件索引删除请求内应包括目标文件的元数据索引。
元数据服务器集群101在接收到文件索引删除请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起元数据读取请求以读取与该键对应的元数据,并将获取的元数据返回至入口服务器200。此外,在将元数据返回至入口服务器200中后,还将与该元数据索引对应的记录删除。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。然后,入口服务器200分别向数据服务器集群发送删除请求,该删除请求内可包括上述的存储索引。
相应地,数据服务器集群102/104/106会接收到入口服务器200发送的删除请求,从删除请求中解析出存储索引,根据存储索引在数据服务器集群102/104/106内的分布式存储系统中删除对应的文件或进分片。
参阅图7,其为本实施例的分布式存储系统更新文件时的交互示意图。如图7所示,用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件更新请求。该文件更新请求是与一个或多个目标文件关联的,且文件更新请求内应包括更新涉及的数据,例如删除的数据、替换的数据、追加的数据。在接收到用户终端300的文件更新请求后,入口服务器200需要在分布式存储系统100中进行数据更新操作,其具体过程描述如下。
首先,入口服务器200向元数据服务器集群101发送元数据查询请求以获取元数据服务器集群101返回的元数据。元数据查询请求内应包括目标文件的元数据索引。
元数据服务器集群101在接收到元数据查询请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起元数据读取请求以读取与该元数据索引对应的元数据,并将获取的元数据返回至入口服务器200。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。入口服务器200分析更新所涉及的数据,从而找出更新所涉及的分片。然后,入口服务器200分别向所涉及的分片对应的数据服务器集群发送更新请求,该更新请求内可包括上述的存储索引以及更新后的数据。
相应地,数据服务器集群102/104/106会接收到入口服务器200发送的更新请求,从更新请求中解析出存储索引以及更新后的数据,根据存储索引以及更新后的数据在数据服务器集群102/104/106内的分布式存储系统中进行内容更新操作。
可以理解,由于分片的大小是一定的,因此更新操作可能会使得分片的长度超过预定值。此时,可以将不能保存在原文片中的内容重新进行分片,并提交至数据服务器集群进行存储,并将存储索引提交给元数据服务器集群101进行存储。
本实施例的分布式存储系统100中,元数据与数据正文分别存储在元数据服务器集群101与数据服务器集群102/104/106中,而且数据服务器集群102/104/106是分布在不同的数据中心内。因此,可以避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
第二实施例
第二实施例提供一种在分布式存储系统中存取文件的方法,其可用于图1所示的入口服务器200中。参阅图8,本实施例的方法包括以下步骤:
步骤S201、接收客户端上传的文件。
此处的客户端例如是指图1所示的用户终端300。用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200上传文件。相应地,入口服务器200接收用户终端300上传的文件。
步骤S202、向所述元数据服务器集群发送文件索引获取请求以获取所述元数据服务器集群返回的元数据索引。
文件索引获取请求内可包括文件的一些元数据,例如文件长度、文件名、文件特征码等。元数据服务器集群101在接收到文件索引获取请求后,向用于存储元数据的分布式文件存储系统申请建立一条新的记录,该新记录的内容可包括上述的文件索引获取请求内的元数据如文件长度、文件名、文件特征码等;而该新记录的键(Key)可为文件的唯一标识符。元数据服务器集群101将上述的新记录的键作为文件的索引返回给入口服务器200。
步骤S203、将所述文件或者所述文件的分片发送给选择的数据服务器集群进行存储。
具体地,先判断文件是否超过预定的大小,若是,则需要对文件进行分片处理,然后对每个分片进行存储操作;若否,无须进行分片,可以直接进行存储操作。
存储操作可包括以下步骤:为要存储的文件或者分片选择一个数据服务器集群;然后将要存储的文件或者分片发送到选择的数据服务器集群中进行存储。入口服务器200可以根据预定的规则选择数据服务器集群或者向元数据服务器集群101请求分配数据服务器集群。
步骤S204、将所述文件或者分片在所述选择的数据服务器集群内的存储索引、所述选择的数据服务器集群的标识以及所述元数据索引发送给所述元数据服务器集群进行关联存储。
所述文件或者分片在所述选择的数据服务器集群内的存储索引是指所述文件或者分片在数据服务器集群内的分布式存储系统内的键。关联存储例如是指上述的存储索引以及数据服务器集群的标识可保存在以所述元数据索引为键的记录内。
根据本实施例的在分布式存储系统中存取文件的方法,元数据与数据正文分别存储在元数据服务器集群与数据服务器集群中,而且数据服务器集群是分布在不同的数据中心内。因此,可以避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
第三实施例
第三实施例提供一种在分布式存储系统中存取文件的方法,其可用于图1所示的入口服务器200中。参阅图9,本实施例的方法包括以下步骤:
步骤S301,接收所述客户端的文件下载请求。
用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件下载请求。该文件下载请求是与一个或多个目标文件关联的。
步骤S302,向所述元数据服务器集群发送元数据查询请求以获取所述元数据服务器集群返回的所述至少一个目标文件的元数据。
入口服务器200向元数据服务器集群101发送元数据查询请求以获取元数据服务器集群101返回的元数据。元数据查询请求内应包括上述的至少一个目标文件的元数据索引。
步骤S303,从所述目标文件的元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识。
元数据服务器集群101在接收到元数据查询请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起存储索引读取请求以读取与该键对应的元数据,并将获取的元数据返回至入口服务器200。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。
步骤S304,向与所述至少一个目标文件所存储的数据服务器集群发送下载请求以获取所述至少一个目标文件。
根据数据服务器集群向外提供的接口提交下载请求,在下载请求中包括存储索引作为参数。
步骤S305,将所述至少一个目标文件返回所述客户端。
数据服务器集群会接收到入口服务器200发送的下载请求,从下载请求中解析出存储索引,根据存储索引在数据服务器集群内的分布式存储系统中获取对应的文件或进分片,并将获取的文件或者分片返回给入口服务器200。
如果是完整文件,可以直接返回入口服务器200,如果是分片,可以将分片直接返回入口服务器200,也可以在获取所有分片后组装成完整的文件后返回给入口服务器200。
根据本实施例的方法,可通过部署在不同数据中心内的分布式存储系统提供文件下载服务,可避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
第四实施例
第四实施例提供一种在分布式存储系统中存取文件的方法,其可用于图1所示的入口服务器200中。参阅图10,本实施例的方法包括以下步骤:
步骤S401,接收所述客户端的文件删除请求。
用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件删除请求。该文件删除请求是与一个或多个目标文件关联的。
步骤S402,向所述元数据服务器集群发送文件索引删除请求以使所述元数据服务器集群返回并删除所述至少一个目标文件的元数据。
入口服务器200向元数据服务器集群101发送文件索引删除请求以获取元数据服务器集群101返回的元数据并使元数据服务器集群101删除目标文件的元数据。文件索引删除请求内应包括目标文件的元数据索引。
元数据服务器集群101在接收到文件索引删除请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起元数据读取请求以读取与该键对应的元数据,并将获取的元数据返回至入口服务器200。此外,除了将元数据返回至入口服务器200,还将与该元数据索引对应的记录删除。
步骤S403,从所述元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。
步骤S404,根据所述至少一个目标文件的存储索引向对应的数据服务器集群发送文件删除请求以使所述数据服务器集群删除对应的文件或者分片。
入口服务器200分别向数据服务器集群发送删除请求,该删除请求内可包括上述的存储索引。相应地,数据服务器集群会接收到入口服务器200发送的删除请求,从删除请求中解析出存储索引,根据存储索引在数据服务器集群内的分布式存储系统中删除对应的文件或进分片。
根据本实施例的方法,可通过部署在不同数据中心内的分布式存储系统提供文件删除服务,可避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
第五实施例
第五实施例提供一种在分布式存储系统中存取文件的方法,其可用于图1所示的入口服务器200中。参阅图11,本实施例的方法包括以下步骤:
步骤S501,接收所述客户端的文件更新请求。
用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件更新请求。该文件更新请求是与一个或多个目标文件关联的。
步骤S502,向所述元数据服务器集群发送元数据查询请求以获取所述元数据服务器集群返回的与所述至少一个目标文件的元数据。
入口服务器200向元数据服务器集群101发送元数据查询请求以获取元数据服务器集群101返回的元数据。元数据查询请求内应包括目标文件的元数据索引。
元数据服务器集群101在接收到元数据查询请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起元数据读取请求以读取与该元数据索引对应的元数据,并将获取的元数据返回至入口服务器200。
步骤S503,从所述目标文件的元数据中解析出所述目标文件的存储索引以及所存储的数据服务器集群的标识。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。
步骤S504,根据所述至少一个目标文件的存储索引向所述数据服务器集群发送文件更新请求以使所述数据服务器集群更新对应的文件或者分片。
入口服务器200分析更新所涉及的数据,从而找出更新所涉及的分片。然后,入口服务器200分别向所涉及的分片对应的数据服务器集群发送更新请求,该更新请求内可包括上述的存储索引以及更新后的数据。相应地,数据服务器集群会接收到入口服务器200发送的更新请求,从更新请求中解析出存储索引以及更新后的数据,根据存储索引以及更新后的数据在数据服务器集群内的分布式存储系统中进行内容更新操作。
根据本实施例的方法,可通过部署在不同数据中心内的分布式存储系统提供文件更新服务,可避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
第六实施例
第六实施例提供一种在分布式存储系统中存取文件的装置,其可用于图1所示的入口服务器200中。参阅图12,本实施例的装置包括:上传请求接收模块61、文件索引请求模块62、文件存储模块63、以及文件索引提交模块64。
上传请求接收模块61用于接收客户端上传的文件。此处的客户端例如是指图1所示的用户终端300。用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200上传文件。相应地,入口服务器200接收用户终端300上传的文件。
文件索引请求模块62用于向所述元数据服务器集群发送文件索引获取请求以获取所述元数据服务器集群返回的元数据索引。文件索引获取请求内可包括文件的一些元数据,例如文件长度、文件名、文件特征码等。元数据服务器集群101在接收到文件索引获取请求后,向用于存储元数据的分布式文件存储系统申请建立一条新的记录,该新记录的内容可包括上述的文件索引获取请求内的元数据如文件长度、文件名、文件特征码等;而该新记录的键(Key)可为文件的唯一标识符。元数据服务器集群101将上述的新记录的键作为文件的索引返回给入口服务器200。
文件存储模块63用于将所述文件或者所述文件的分片发送给选择的数据服务器集群进行存储。具体地,先判断文件是否超过预定的大小,若是,则需要对文件进行分片处理,然后对每个分片进行存储操作;若否,无须进行分片,可以直接进行存储操作。
存储操作可包括以下步骤:为要存储的文件或者分片选择一个数据服务器集群;然后将要存储的文件或者分片发送到选择的数据服务器集群中进行存储。入口服务器200可以根据预定的规则选择数据服务器集群或者向元数据服务器集群101请求分配数据服务器集群。上述的选择数据服务器集群的操作例如可由集群选择模块65进行。
文件索引提交模块64用于将所述文件或者分片在所述选择的数据服务器集群内的存储索引、所述选择的数据服务器集群的标识以及所述元数据索引发送给所述元数据服务器集群进行关联存储。
所述文件或者分片在所述选择的数据服务器集群内的存储索引是指所述文件或者分片在数据服务器集群内的分布式存储系统内的键。关联存储例如是指上述的存储索引以及数据服务器集群的标识可保存在以所述元数据索引为键的记录内。
根据本实施例的在分布式存储系统中存取文件的装置,元数据与数据正文分别存储在元数据服务器集群与数据服务器集群中,而且数据服务器集群是分布在不同的数据中心内。因此,可以避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
第七实施例
第七实施例提供一种在分布式存储系统中存取文件的装置,其可用于图1所示的入口服务器200中。参阅图13,本实施例的装置包括:下载请求接收模块71、文件索引查询模块72、存储索引解析模块73、文件下载模块74、文件返回模块75。
下载请求接收模块71用于接收所述客户端的文件下载请求。用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件下载请求。该文件下载请求是与一个或多个目标文件关联的。
文件索引查询模块72用于向所述元数据服务器集群发送元数据查询请求以获取所述元数据服务器集群返回的所述至少一个目标文件的元数据。入口服务器200向元数据服务器集群101发送元数据查询请求以获取元数据服务器集群101返回的元数据。元数据查询请求内应包括上述的至少一个目标文件的元数据索引。
存储索引解析模块用于从所述目标文件的元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识。
元数据服务器集群101在接收到元数据查询请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起存储索引读取请求以读取与该键对应的元数据,并将获取的元数据返回至入口服务器200。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。
文件下载模块74用于向与所述至少一个目标文件所存储的数据服务器集群发送下载请求以获取所述至少一个目标文件。
根据数据服务器集群向外提供的接口提交下载请求,在下载请求中包括存储索引作为参数。
文件返回模块75用于将所述至少一个目标文件返回所述客户端。
数据服务器集群会接收到入口服务器200发送的下载请求,从下载请求中解析出存储索引,根据存储索引在数据服务器集群内的分布式存储系统中获取对应的文件或进分片,并将获取的文件或者分片返回给入口服务器200。
如果是完整文件,可以直接返回入口服务器200,如果是分片,可以将分片直接返回入口服务器200,也可以在获取所有分片后组装成完整的文件后返回给入口服务器200。
根据本实施例的装置,可通过部署在不同数据中心内的分布式存储系统提供文件下载服务,可避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
第八实施例
第八实施例提供一种在分布式存储系统中存取文件的装置,其可用于图1所示的入口服务器200中。参阅图13,本实施例的装置包括:删除请求接收模块81、文件索引删除模块82、存储索引解析模块83、以及文件删除模块84。
删除请求接收模块81用于接收所述客户端的文件删除请求。
用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件删除请求。该文件删除请求是与一个或多个目标文件关联的。
文件索引删除模块82用于向所述元数据服务器集群发送文件索引删除请求以使所述元数据服务器集群返回并删除所述至少一个目标文件的元数据。
入口服务器200向元数据服务器集群101发送文件索引删除请求以获取元数据服务器集群101返回的元数据并使元数据服务器集群101删除目标文件的元数据。文件索引删除请求内应包括目标文件的元数据索引。
元数据服务器集群101在接收到文件索引删除请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起元数据读取请求以读取与该键对应的元数据,并将获取的元数据返回至入口服务器200。此外,除了将元数据返回至入口服务器200,还将与该元数据索引对应的记录删除。
存储索引解析模块83用于从所述元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。
文件删除模块84用于根据所述至少一个目标文件的存储索引向对应的数据服务器集群发送文件删除请求以使所述数据服务器集群删除对应的文件或者分片。
入口服务器200分别向数据服务器集群发送删除请求,该删除请求内可包括上述的存储索引。相应地,数据服务器集群会接收到入口服务器200发送的删除请求,从删除请求中解析出存储索引,根据存储索引在数据服务器集群内的分布式存储系统中删除对应的文件或进分片。
根据本实施例的装置,可通过部署在不同数据中心内的分布式存储系统提供文件删除服务,可避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
第九实施例
第九实施例提供一种在分布式存储系统中存取文件的装置,其可用于图1所示的入口服务器200中。参阅图11,本实施例的装置包括:更新请求接收模块91、文件索引查询模块92、存储索引解析模块93、以及文件更新模块94。
更新请求接收模块91用于接收所述客户端的文件更新请求。
用户终端300可通过运行的应用程序(如浏览器)登陆入口服务器200提供的网络应用,并通过该网络应用向入口服务器200发送文件更新请求。该文件更新请求是与一个或多个目标文件关联的。
文件索引查询模块92用于向所述元数据服务器集群发送元数据查询请求以获取所述元数据服务器集群返回的与所述至少一个目标文件的元数据。
入口服务器200向元数据服务器集群101发送元数据查询请求以获取元数据服务器集群101返回的元数据。元数据查询请求内应包括目标文件的元数据索引。
元数据服务器集群101在接收到元数据查询请求后,从中解析出目标文件的元数据索引,根据该元数据索引向其内的分布式存储系统发起元数据读取请求以读取与该元数据索引对应的元数据,并将获取的元数据返回至入口服务器200。
存储索引解析模块93用于从所述目标文件的元数据中解析出所述目标文件的存储索引以及所存储的数据服务器集群的标识。
在接收到元数据服务器集群101返回的元数据后,入口服务器200可从元数据中解析出文件或者分片所存储的数据服务器集群,以及对应的存储索引。
存储索引解析模块93用于根据所述至少一个目标文件的存储索引向所述数据服务器集群发送文件更新请求以使所述数据服务器集群更新对应的文件或者分片。
入口服务器200分析更新所涉及的数据,从而找出更新所涉及的分片。然后,入口服务器200分别向所涉及的分片对应的数据服务器集群发送更新请求,该更新请求内可包括上述的存储索引以及更新后的数据。相应地,数据服务器集群会接收到入口服务器200发送的更新请求,从更新请求中解析出存储索引以及更新后的数据,根据存储索引以及更新后的数据在数据服务器集群内的分布式存储系统中进行内容更新操作。
根据本实施例的装置,可通过部署在不同数据中心内的分布式存储系统提供文件更新服务,可避免所有数据存储在一个数据中心容易导致数量超过单一数据中心的承载量的问题。降低数据中心的分布式存储系统的运营成本。
此外,可以理解,上述各实施例的装置仅为示例性说明,并不对本发明实施例提供的在电子装置中启动应用程序的装置做出任何限制,本领域普通技术人员可以将以上各实施例进行组合、稍加变化而得出新的技术方案,这些技术方案也应包含在上述的方法、装置及系统的范围内。
此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的方法。
以上所述,仅是本发明的实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (15)

1.一种在分布式存储系统中存取文件的方法,所述分布式存储系统包括:元数据服务器集群以及多个数据服务器集群;每个数据服务器集群内包括多台数据服务器,所述多个数据服务器集群体内的服务器至少分布在两个不同的数据中心内;其特征在于,所述方法包括:
接收客户端上传的文件;
向所述元数据服务器集群发送文件索引获取请求以获取所述元数据服务器集群返回的元数据索引;其中,所述元数据服务器集群根据所述文件索引获取请求向用于存储元数据的分布式存储系统申请建立一条新的记录,所述记录的内容为所述文件索引获取请求内的元数据;所述记录的键为所述元数据索引;
将所述文件或者所述文件的分片发送给选择的数据服务器集群进行存储;以及
将所述文件或者所述文件的分片在所述选择的数据服务器集群内的存储索引、所述选择的数据服务器集群的标识以及所述元数据索引发送给所述元数据服务器集群进行关联存储;其中,所述存储索引是由所述选择的数据服务器集群在完成当前文件或者分片的存储之后所生成的;所述元数据服务器集群进行关联存储包括:所述元数据服务器集群根据所述元数据索引查找对应的记录,将所述存储索引及所述选择的数据服务器集群的标识以追加的方式存储在所述记录中。
2.如权利要求1所述的在分布式存储系统中存取文件的方法,其特征在于,所述方法还包括:
接收所述客户端的文件下载请求,所述文件下载请求与至少一个目标文件关联;
向所述元数据服务器集群发送元数据查询请求以获取所述元数据服务器集群返回的所述至少一个目标文件的元数据;
从所述目标文件的元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识;
向与所述至少一个目标文件所存储的数据服务器集群发送下载请求以获取所述至少一个目标文件;以及
将所述至少一个目标文件返回所述客户端。
3.如权利要求1所述的在分布式存储系统中存取文件的方法,其特征在于,所述方法还包括:
接收所述客户端的文件删除请求,所述文件删除请求与至少一个目标文件关联;
向所述元数据服务器集群发送文件索引删除请求以使所述元数据服务器集群返回并删除所述至少一个目标文件的元数据;
从所述元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识;以及
根据所述至少一个目标文件的存储索引向对应的数据服务器集群发送文件删除请求以使所述数据服务器集群删除对应的文件或者分片。
4.如权利要求1所述的在分布式存储系统中存取文件的方法,其特征在于,所述方法还包括:
接收所述客户端的文件更新请求,所述文件更新请求与至少一个目标文件关联;
向所述元数据服务器集群发送元数据查询请求以获取所述元数据服务器集群返回的与所述至少一个目标文件的元数据;
从所述目标文件的元数据中解析出所述目标文件的存储索引以及所存储的数据服务器集群的标识;
根据所述至少一个目标文件的存储索引向所述数据服务器集群发送文件更新请求以使所述数据服务器集群更新对应的文件或者分片。
5.如权利要求1所述的在分布式存储系统中存取文件的方法,其特征在于,所述方法还包括:
根据预定的规则选择一个数据服务器集群;或者
向所述元数据服务器集群发送数据服务器分配请求以获取所述元数据服务器集群选择的数据服务器集群;
所述文件/分片是被发送到所述被选择的数据服务器集群中进行存储。
6.一种在分布式存储系统中存取文件的装置,所述分布式存储系统包括:元数据服务器集群以及多个数据服务器集群;每个数据服务器集群内包括多台数据服务器,所述多个数据服务器集群体内的服务器至少分布在两个不同的数据中心内;其特征在于,所述装置包括:
上传请求接收模块,用于接收客户端上传的文件;
文件索引请求模块,用于向所述元数据服务器集群发送文件索引获取请求以获取所述元数据服务器集群返回的元数据索引;其中,所述元数据服务器集群根据所述文件索引获取请求向用于存储元数据的分布式存储系统申请建立一条新的记录,所述记录的内容为所述文件索引获取请求内的元数据;所述记录的键为所述元数据索引;
文件存储模块,用于将所述文件或者所述文件的分片发送给选择的数据服务器集群进行存储;以及
文件索引提交模块,用于将所述文件或者所述文件的分片在所述选择的数据服务器集群内的存储索引、所述选择的数据服务器集群的标识以及所述元数据索引发送给所述元数据服务器集群进行关联存储;其中,所述存储索引是由所述选择的数据服务器集群在完成当前文件或者分片的存储之后所生成的;所述元数据服务器集群进行关联存储包括:所述元数据服务器集群根据所述元数据索引查找对应的记录,将所述存储索引及所述选择的数据服务器集群的标识以追加的方式存储在所述记录中。
7.如权利要求6所述的在分布式存储系统中存取文件的装置,其特征在于,所述装置还包括:
下载请求接收模块,用于接收所述客户端的文件下载请求,所述文件下载请求与至少一个目标文件关联;
文件索引查询模块,用于向所述元数据服务器集群发送元数据查询请求以获取所述元数据服务器集群返回的所述至少一个目标文件的元数据;
存储索引解析模块,用于从所述目标文件的元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识;
文件下载模块,用于向与所述至少一个目标文件所存储的数据服务器集群发送下载请求以获取所述至少一个目标文件;以及
文件返回模块,用于将所述至少一个目标文件返回所述客户端。
8.如权利要求6所述的在分布式存储系统中存取文件的装置,其特征在于,所述装置还包括:
删除请求接收模块,用于接收所述客户端的文件删除请求,所述文件删除请求与至少一个目标文件关联;
文件索引删除模块,用于向所述元数据服务器集群发送文件索引删除请求以使所述元数据服务器集群返回并删除所述至少一个目标文件的元数据;
存储索引解析模块,用于从所述元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识;以及
文件删除模块,用于根据所述至少一个目标文件的存储索引向对应的数据服务器集群发送文件删除请求以使所述数据服务器集群删除对应的文件或者分片。
9.如权利要求6所述的在分布式存储系统中存取文件的装置,其特征在于,所述装置还包括:
更新请求接收模块,用于接收所述客户端的文件更新请求,所述文件更新请求与至少一个目标文件关联;
文件索引查询模块,用于向所述元数据服务器集群发送元数据查询请求以获取所述元数据服务器集群返回的与所述至少一个目标文件的元数据;
存储索引解析模块,从所述目标文件的元数据中解析出所述目标文件的存储索引以及所存储的数据服务器集群的标识;
文件更新模块,用于根据所述至少一个目标文件的存储索引向所述数据服务器集群发送文件更新请求以使所述数据服务器集群更新对应的文件或者分片。
10.如权利要求6所述的在分布式存储系统中存取文件的装置,其特征在于,所述装置还包括:
集群选择模块,用于根据预定的规则选择一个数据服务器集群;或者向所述元数据服务器集群发送数据服务器分配请求以获取所述元数据服务器集群选择的数据服务器集群;
所述文件/分片是被发送到所述数据服务器集群选择模块选择的数据服务器集群中进行存储。
11.一种分布式存储系统,其特征在于,包括:
入口服务器、元数据服务器集群以及多个数据服务器集群;每个数据服务器集群内包括多台数据服务器,所述多个数据服务器集群体内的服务器至少分布在两个不同的数据中心内;
所述入口服务器用于:接收客户端上传的文件;向所述元数据服务器集群发送文件索引获取请求;
所述元数据服务器集群用于:根据所述文件索引获取请求返回元数据索引;
所述入口服务器还用于:将所述文件或者所述文件的分片发送给选择的数据服务器集群;
所述数据服务器用于:接收所述入口服务器上传的文件;存储所述文件;
所述入口服务器还用于:将所述文件在数据服务器集群内的存储索引以及所存储的数据服务器集群的标识提交给所述元数据服务器集群;
所述元数据服务器集群还用于:存储所述入口服务器提交的所述文件在数据服务器集群内的存储索引以及对应的数据服务器集群的标识。
12.如权利要求11所述的分布式存储系统,其特征在于,
所述入口服务器还用于:接收所述客户端的文件下载请求,所述文件下载请求与至少一个目标文件关联;向所述元数据服务器集群发送元数据查询请求;
所述元数据服务器集群还用于:返回所述至少一个目标文件的元数据;
所述入口服务器还用于:从所述元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识;根据所述至少一个目标文件的存储索引向对应的数据服务器集群发送下载请求;
所述数据服务器集群还用于:根据所述入口服务器发送的下载请示返回对应的文件;
所述入口服务器还用于:将所述至少一个目标文件返回所述客户端。
13.如权利要求11所述的分布式存储系统,其特征在于,
所述入口服务器还用于:接收所述客户端的文件删除请求,所述文件删除请求与至少一个目标文件关联;向所述元数据服务器集群发送文件索引删除请求;
所述元数据服务器集群还用于:返回并删除所述至少一个目标文件的元数据;
所述入口服务器还用于:从所述元数据中解析出所述至少一个目标文件的存储索引以及所存储的数据服务器集群的标识;根据所述至少一个目标文件的存储索引向对应的数据服务器集群发送文件删除请求;
所述数据服务器集群还用于:根据所述入口服务器发送的文件删除请求删除对应的文件或者分片。
14.如权利要求11所述的分布式存储系统,其特征在于,
所述入口服务器还用于:接收所述客户端的文件更新请求,所述文件更新请求与至少一个目标文件关联;向所述元数据服务器集群发送元数据查询请求;
所述元数据服务器集群还用于:根据所述元数据查询请求返回所述至少一个目标文件的元数据;
所述入口服务器还用于:从所述目标文件的元数据中解析出所述目标文件的存储索引以及所存储的数据服务器集群的标识;根据所述至少一个目标文件的存储索引向所述数据服务器集群发送文件更新请求;
所述数据服务器集群还用于:根据所述入口服务器发送的文件更新请求更新对应的文件或者分片。
15.如权利要求11所述的分布式存储系统,其特征在于,
所述入口服务器还用于:根据预定的规则选择一个数据服务器集群;或者向所述元数据服务器集群发送数据服务器分配请求以获取所述元数据服务器集群选择的数据服务器集群;
所述文件/分片是被发送到所述入口服务器选择模块选择的数据服务器集群中进行存储。
CN201310698906.0A 2013-12-18 2013-12-18 一种存取文件的方法、装置及分布式存储系统 Active CN104731516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310698906.0A CN104731516B (zh) 2013-12-18 2013-12-18 一种存取文件的方法、装置及分布式存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310698906.0A CN104731516B (zh) 2013-12-18 2013-12-18 一种存取文件的方法、装置及分布式存储系统

Publications (2)

Publication Number Publication Date
CN104731516A CN104731516A (zh) 2015-06-24
CN104731516B true CN104731516B (zh) 2019-03-01

Family

ID=53455453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310698906.0A Active CN104731516B (zh) 2013-12-18 2013-12-18 一种存取文件的方法、装置及分布式存储系统

Country Status (1)

Country Link
CN (1) CN104731516B (zh)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516313A (zh) * 2015-12-10 2016-04-20 国网四川省电力公司信息通信公司 一种用于大数据的分布式存储系统
CN105589960A (zh) * 2015-12-22 2016-05-18 北京奇虎科技有限公司 基于多个数据库集群的数据请求处理方法及装置
CN105740048B (zh) * 2016-01-26 2019-03-08 华为技术有限公司 一种镜像管理方法、装置及系统
CN107656695B (zh) * 2016-07-25 2020-12-25 杭州海康威视数字技术股份有限公司 一种数据存储、删除方法、装置及分布式存储系统
CN106354840B (zh) * 2016-08-31 2020-01-07 北京小米移动软件有限公司 文件处理方法、装置及分布式文件系统
CN107872489B (zh) * 2016-09-28 2020-06-05 杭州海康威视数字技术股份有限公司 一种文件切片上传方法、装置及云存储系统
CN106161120B (zh) * 2016-10-08 2019-04-09 电子科技大学 动态均衡负载的分布式元数据管理方法
CN106599046B (zh) * 2016-11-09 2020-06-30 北京同有飞骥科技股份有限公司 分布式文件系统的写入方法及装置
CN106453665B (zh) * 2016-12-16 2019-06-07 东软集团股份有限公司 基于分布式缓存系统的数据缓存方法、服务器和系统
CN108810043B (zh) * 2017-04-28 2021-11-02 北京云中融信网络科技有限公司 一种存储评论信息的方法和装置
CN108810565A (zh) * 2017-04-28 2018-11-13 华为技术有限公司 存储、调度媒体资源的方法、装置及分布式存储系统
CN107147748B (zh) * 2017-07-07 2019-12-17 北京金山安全管理系统技术有限公司 文件上传方法和装置
CN107612972A (zh) * 2017-08-17 2018-01-19 深圳市优品壹电子有限公司 数据存储方法及装置
CN107623719A (zh) * 2017-08-17 2018-01-23 深圳市优品壹电子有限公司 数据获取方法及装置
CN108021688B (zh) * 2017-12-15 2019-05-21 北京明朝万达科技股份有限公司 一种数据处理方法及装置
CN108121511B (zh) * 2017-12-21 2022-05-27 北京猫盘技术有限公司 一种分布式边缘存储系统中的数据处理方法、装置及设备
CN110334072A (zh) * 2018-03-22 2019-10-15 腾讯科技(深圳)有限公司 一种分布式文件系统、文件更新方法及装置
CN108595121B (zh) * 2018-04-17 2021-03-02 湖北文理学院 数据存储方法和装置
CN108710681B (zh) * 2018-05-18 2022-02-22 腾讯科技(深圳)有限公司 文件获取方法、装置、设备及存储介质
CN108959549A (zh) * 2018-06-29 2018-12-07 北京奇虎科技有限公司 数据写入方法、装置、计算设备及计算机存储介质
CN109062500B (zh) * 2018-07-05 2021-11-19 北京奇艺世纪科技有限公司 一种元数据管理服务器、数据存储系统及数据存储方法
CN109271363B (zh) * 2018-09-17 2023-05-26 平安科技(深圳)有限公司 一种文件存储的方法及设备
CN110958211B (zh) * 2018-09-27 2022-05-27 安徽华峪文化科技有限公司 一种基于区块链的数据处理系统及方法
CN109361741A (zh) * 2018-09-29 2019-02-19 上海优谦智能科技有限公司 利用去分布式传输技术对个人信息进行保护的系统
CN111262822B (zh) * 2018-12-03 2022-04-19 中国电信股份有限公司 文件存储方法、装置、区块链节点和系统
CN109726212A (zh) * 2018-12-29 2019-05-07 杭州宏杉科技股份有限公司 数据存储系统及方法
CN109976668A (zh) * 2019-03-14 2019-07-05 北京达佳互联信息技术有限公司 数据删除方法、数据删除装置和计算机可读存储介质
CN110138732B (zh) * 2019-04-03 2022-03-29 平安科技(深圳)有限公司 访问请求的响应方法、装置、设备及存储介质
CN110008257B (zh) * 2019-04-10 2024-04-16 深圳市腾讯计算机系统有限公司 数据处理方法、装置、系统、计算机设备和存储介质
CN110290171A (zh) * 2019-05-15 2019-09-27 陈菡 一种数据管理方法及装置、电子设备
CN110362535B (zh) * 2019-07-12 2022-05-31 中国农业银行股份有限公司 一种文件管理方法、装置及系统
CN110633580A (zh) * 2019-09-20 2019-12-31 徐州医科大学附属医院 一种面向xml数据的安全分布式存储方法
CN110830580B (zh) * 2019-11-12 2023-04-18 腾讯云计算(北京)有限责任公司 一种存储数据同步方法及装置
CN111026751B (zh) * 2019-11-22 2024-02-09 北京金山云网络技术有限公司 分布式表格的处理方法、装置、系统及电子设备
CN111212111B (zh) * 2019-12-17 2022-05-13 腾讯科技(深圳)有限公司 对象存储服务管理方法及电子设备
CN111026936B (zh) * 2019-12-18 2023-10-20 鹏城实验室 交互主题的数据认知方法、装置、终端及计算机存储介质
CN113535068A (zh) * 2020-04-21 2021-10-22 华为技术有限公司 数据读取方法和系统
CN111737052B (zh) * 2020-06-19 2023-07-07 中国工商银行股份有限公司 分布式对象存储系统及方法
CN111814020A (zh) * 2020-06-23 2020-10-23 五八有限公司 一种数据的获取方法和装置
CN112015820A (zh) * 2020-09-01 2020-12-01 杭州欧若数网科技有限公司 分布式图数据库实现的方法、系统、电子装置和存储介质
CN112583904B (zh) * 2020-12-04 2023-05-19 北京百度网讯科技有限公司 文件上传方法、装置、设备以及存储介质
CN112650721A (zh) * 2020-12-29 2021-04-13 杭州趣链科技有限公司 一种文件存储方法、装置、系统以及设备
WO2022141021A1 (zh) * 2020-12-29 2022-07-07 杭州趣链科技有限公司 一种文件存储方法、装置、系统以及设备
CN113507516A (zh) * 2021-07-06 2021-10-15 深圳海付移通科技有限公司 文件服务方法、接入服务器、计算机设备和存储介质
CN113434518B (zh) * 2021-08-26 2021-12-03 西安热工研究院有限公司 时序数据库查询方法、系统、设备及存储介质
CN114401261A (zh) * 2021-12-29 2022-04-26 中国电信股份有限公司 文件下载方法及装置
CN114598716A (zh) * 2022-04-02 2022-06-07 西湖大学 一种分布式文件存储系统、方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673271A (zh) * 2008-09-09 2010-03-17 青岛海信传媒网络技术有限公司 分布式文件系统及其文件分片方法
CN102694860A (zh) * 2012-05-25 2012-09-26 北京邦诺存储科技有限公司 一种云存储的数据处理方法、设备及系统
CN102833294A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 基于云存储的文件处理方法、系统及服务器集群系统
CN103067419A (zh) * 2011-10-19 2013-04-24 北大方正集团有限公司 一种分布式文件系统及在该系统中控制文件存储的方法
CN103078936A (zh) * 2012-12-31 2013-05-01 网宿科技股份有限公司 基于gfs的分布式文件系统的元数据分级存储方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868508B2 (en) * 2010-02-09 2014-10-21 Google Inc. Storage of data in a distributed storage system
KR101585146B1 (ko) * 2010-12-24 2016-01-14 주식회사 케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673271A (zh) * 2008-09-09 2010-03-17 青岛海信传媒网络技术有限公司 分布式文件系统及其文件分片方法
CN102833294A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 基于云存储的文件处理方法、系统及服务器集群系统
CN103067419A (zh) * 2011-10-19 2013-04-24 北大方正集团有限公司 一种分布式文件系统及在该系统中控制文件存储的方法
CN102694860A (zh) * 2012-05-25 2012-09-26 北京邦诺存储科技有限公司 一种云存储的数据处理方法、设备及系统
CN103078936A (zh) * 2012-12-31 2013-05-01 网宿科技股份有限公司 基于gfs的分布式文件系统的元数据分级存储方法和系统

Also Published As

Publication number Publication date
CN104731516A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
CN104731516B (zh) 一种存取文件的方法、装置及分布式存储系统
US11775569B2 (en) Object-backed block-based distributed storage
US10515058B2 (en) Unified file and object data storage
US10740350B2 (en) Peer-to-peer synchronization protocol for multi-premises hosting of digital content items
US9852147B2 (en) Selective synchronization and distributed content item block caching for multi-premises hosting of digital content items
US11943291B2 (en) Hosted file sync with stateless sync nodes
US10691718B2 (en) Synchronization protocol for multi-premises hosting of digital content items
US10521116B2 (en) System and method for managing object store
CN110401724B (zh) 文件管理方法、文件传输协议服务器及存储介质
US10187255B2 (en) Centralized configuration data in a distributed file system
US20080189294A1 (en) Method and apparatus for sharing content
US10503693B1 (en) Method and system for parallel file operation in distributed data storage system with mixed types of storage media
US10579597B1 (en) Data-tiering service with multiple cold tier quality of service levels
CN104603762A (zh) 利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问
CN106339267B (zh) 一种对象查询方法及服务端
US10970250B2 (en) System, data management method, and file server
US10402373B1 (en) Filesystem redirection
CN116743785A (zh) 基于雾计算的云网数据存储方法、装置、设备及介质
CN110347656A (zh) 文件存储系统中请求的管理方法和装置
US20150227534A1 (en) Method for processing data query using information-centric network
JP2017123040A (ja) サーバー装置、分散ファイルシステム、分散ファイルシステム制御方法、および、プログラム
KR102459465B1 (ko) 정보 중심 네트워킹 기반 저장기능 통합 인-네트워크 컴퓨팅 처리 방법 및 시스템
CN117082142A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190730

Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.