文件操作方法及装置制造方法及图纸

技术编号:8765520 阅读:144 留言:0更新日期:2013-06-07 22:44
本发明专利技术提供了一种文件操作方法及装置,其中,文件操作方法包括:获取分布式文件系统的文件操作指令,分布式文件系统中至少一个服务器的根目录下设置有至少两级子目录,第一级子目录包括至少一个业务子目录,第二级子目录包括至少一个用户根目录,一个业务子目录对应于一个业务,一个用户根目录对应于一个用户,一个业务子目录和一个用户根目录在其所在的服务器上的名称和级别固定,一个用户根目录的数据完整地设置于一个服务器上;根据文件操作指令,使用业务子目录的名称和用户根目录的名称查找目标文件夹;对查找到的目标文件夹下的文件执行文件操作指令指定的文件操作。通过本发明专利技术,简化了元数据集群设计。

【技术实现步骤摘要】
文件操作方法及装置
本申请涉及网络
,特别是涉及一种分布式文件系统的文件操作方法及装置。
技术介绍
分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与其他节点相连。分布式文件系统的设计基于客户机/服务器模式,一个典型的网络可能包括多个供用户访问的服务器。在分布式文件系统中,文件(和目录)的数量极其庞大,尤其是对于海量小文件的分布式文件系统,文件和目录的数量更为巨大。以TFS(TaobaoFileSystem,淘宝文件系统)为例,TFS用于存储淘宝网主站的数据,例如商品图片、商品描述、交易快照、社区图片等等,这些数据的一个突出特点是单个文件尺寸较小,通常不大于1MB,但是数量巨大。对于当前的这些分布式文件系统,一般都要在一个集群内支撑众多的业务,而每个业务又要服务上亿的客户,因而使得系统内的文件(和目录)的数目极其庞大,必须采用分布式集群来提供对元数据的存储以及查询和修改等操作。但是,当元数据放入集群后,对文件的操作,如把一个目录(或文件)移动到另一个目录的操作,可能要在两台服务器上才能完成。然而,元数据的特性要求高可靠性、高可用性、高一致性,这种跨服务器的一致性和原子性给元数据集群的设计带来极大挑战。现有的可以支持海量文件的元数据集群,为了能够做到高可靠性、高可用性、高一致性,要么采用价格高昂的大内存、大处理能力的服务器,要么采用复杂的分布式协议,或者干脆在一定程度上牺牲掉一致性,但即使这样,元数据集群的设计也十分复杂,开发维护成本极高。总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够在满足业务需求的情况下,降低元数据集群的设计复杂度和实现成本。
技术实现思路
本申请所要解决的技术问题是提供一种分布式文件系统的文件操作方法及装置,能够在满足业务需求的情况下,降低元数据集群的设计复杂度和实现成本。为了解决上述问题,本申请公开了一种文件操作方法,包括:获取分布式文件系统的文件操作指令,所述分布式文件系统中至少一个服务器的根目录下设置有至少两级子目录,其中,第一级子目录包括至少一个业务子目录,第二级子目录包括至少一个用户根目录,一个所述业务子目录对应于一个业务,一个所述用户根目录对应于一个用户,一个所述业务子目录和一个所述用户根目录在其所在的服务器上的名称和级别固定,并且,一个所述用户根目录的数据完整地设置于一个服务器上;根据所述文件操作指令,使用所述业务子目录的名称和所述用户根目录的名称查找目标文件夹;对查找到的所述目标文件夹下的文件执行所述文件操作指令指定的文件操作。优选地,所述文件操作指令中包括所述业务子目录的名称和所述用户根目录的名称。优选地,所述文件操作指令通过以下方式获取:根据所述文件操作指令中的所述业务子目录的名称和所述用户根目录的名称,使用一致性哈希算法,确定所述业务子目录的名称和所述用户根目录的名称所在的服务器,并将所述文件操作指令发送给所述服务器;所述服务器接收并获取所述文件操作指令。优选地,当所述文件操作指令指定对文件进行移动时,该文件在其所在的用户根目录范围内移动。优选地,当所述文件操作指令指定对文件进行修改时,该文件所在的服务器先对存储器中的该文件进行修改,然后在缓存中对该文件进行相同的修改,或者删除该文件在所述缓存中的数据。为了解决上述问题,本申请还公开了一种文件操作装置,包括:获取模块,用于获取分布式文件系统的文件操作指令,所述分布式文件系统中至少一个服务器的根目录下设置有至少两级子目录,其中,第一级子目录包括至少一个业务子目录,第二级子目录包括至少一个用户根目录,一个所述业务子目录对应于一个业务,一个所述用户根目录对应于一个用户,一个所述业务子目录和一个所述用户根目录在其所在的服务器上的名称和级别固定,并且,一个所述用户根目录的数据完整地设置于一个服务器上;查找模块,用于根据所述文件操作指令,使用所述业务子目录的名称和所述用户根目录的名称查找目标文件夹;操作模块,用于对查找到的所述目标文件夹下的文件执行所述文件操作指令指定的文件操作。优选地,所述文件操作指令中包括所述业务子目录的名称和所述用户根目录的名称。优选地,所述获取模块通过以下方式获取文件操作指令:客户端或所述分布式文件系统根据所述文件操作指令中的所述业务子目录的名称和所述用户根目录的名称,使用一致性哈希算法,确定所述业务子目录的名称和所述用户根目录的名称所在的服务器,并将所述文件操作指令发送给所述服务器;所述服务器的所述获取模块接收并获取所述文件操作指令。优选地,当所述文件操作指令指定对文件进行移动时,该文件在其所在的用户根目录范围内移动。优选地,当所述文件操作指令指定对文件进行修改时,该文件所在的服务器的所述操作模块先对所述服务器的存储器中的该文件进行修改,然后在所述服务器的缓存中对该文件进行相同的修改,或者删除该文件在所述缓存中的数据。与现有技术相比,本申请具有以下优点:本申请在对业务行为进行了充分分析的基础上,在分布式文件系统,尤其是在海量小文件的分布式文件系统的服务器中建立固定的两级目录,且使每一个用户根目录的数据都完整地设置于一个服务器上,实现了采用固定目录前辍对分布式文件系统的文件操作,这种只在一定范围内的分布式文件系统的文件操作有效满足了元数据的原子性和一致性需求,使得分布式文件系统既能最大限度的满足业务需求,又简化了元数据集群设计,且实现简单,有效降低了元数据集群设计的实现成本。附图说明图1是根据本申请实施例一的一种文件操作方法的步骤流程图;图2是根据本申请实施例二的一种文件操作方法的步骤流程图;图3是图2所示实施例中的一种文件系统目录的示意图;图4是根据本申请实施例三的一种文件操作方法的步骤流程图;图5是根据本申请实施例四的一种文件操作装置的结构框图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。实施例一参照图1,其示出了根据本申请实施例一的一种文件操作方法的步骤流程图。本实施例的文件操作方法包括以下步骤:步骤S102:获取分布式文件系统的文件操作指令。其中,该分布式文件系统中至少一个服务器的根目录下设置有至少两级子目录,第一级子目录包括至少一个业务子目录,第二级子目录包括至少一个用户根目录,一个业务子目录对应于一个业务,一个用户根目录对应于一个用户,一个业务子目录和一个用户根目录在其所在的服务器上的名称和级别固定,并且,一个用户根目录的数据完整地设置于一个服务器上。也即,在本申请中,至少有一个分布式文件系统中的服务器上设置有固定的两级子目录。第一级子目录直接设置于服务器的根目录下,为业务目录,其对应于一个业务。第二级子目录设置于第一级子目录下,为一个用户名目录,其对应于一个用户。本申请中,用户使用广义的概念,其有可能是一个实际的用户,如淘宝网上的卖家A,也有可能是一个非实际用户,如根据设定规则拆分出来的业务等等。此外,本申请中,一个用户的所有数据(包括下级子目录和文件)完整地设置于一个服务器上,以避免跨服务器操作和查找。本实施例中,获取分布式文件系统的文件操作指令的服务器具有上述设置。步骤S104:根据文件操作指令,使用业务子目录的名称和用户根目录的名称查找目本文档来自技高网
...
文件操作方法及装置

【技术保护点】
一种文件操作方法,其特征在于,包括:获取分布式文件系统的文件操作指令,所述分布式文件系统中至少一个服务器的根目录下设置有至少两级子目录,其中,第一级子目录包括至少一个业务子目录,第二级子目录包括至少一个用户根目录,一个所述业务子目录对应于一个业务,一个所述用户根目录对应于一个用户,一个所述业务子目录和一个所述用户根目录在其所在的服务器上的名称和级别固定,并且,一个所述用户根目录的数据完整地设置于一个服务器上;根据所述文件操作指令,使用所述业务子目录的名称和所述用户根目录的名称查找目标文件夹;对查找到的所述目标文件夹下的文件执行所述文件操作指令指定的文件操作。

【技术特征摘要】
1.一种文件操作方法,其特征在于,包括:获取分布式文件系统的文件操作指令,所述分布式文件系统中至少一个服务器的根目录下设置有至少两级子目录,其中,第一级子目录包括至少一个业务子目录,第二级子目录包括至少一个用户根目录,一个所述业务子目录对应于一个业务,一个所述用户根目录对应于一个用户,一个所述业务子目录和一个所述用户根目录在其所在的服务器上的名称和级别固定,并且,一个所述用户根目录的所有数据完整地设置于同一个服务器上;根据所述文件操作指令,使用所述业务子目录的名称和所述用户根目录的名称查找目标文件夹;对查找到的所述目标文件夹下的文件执行所述文件操作指令指定的文件操作;所述文件操作包括移动、改名、增加、或删除;当所述文件操作指令指定对文件进行移动时,该文件在其所在的用户根目录范围内移动;当所述文件操作指令指定对文件进行修改时,该文件所在的服务器先对存储器中的该文件进行修改,然后在缓存中对该文件进行相同的修改,或者删除该文件在所述缓存中的数据。2.根据权利要求1所述的方法,其特征在于,所述文件操作指令中包括所述业务子目录的名称和所述用户根目录的名称。3.根据权利要求2所述的方法,其特征在于,所述文件操作指令通过以下方式获取:根据所述文件操作指令中的所述业务子目录的名称和所述用户根目录的名称,使用一致性哈希算法,确定所述业务子目录的名称和所述用户根目录的名称所在的服务器,并将所述文件操作指令发送给所述服务器;所述服务器接收并获取所述文件操作指令。4.一种文件操作装置,其特征在于,包括:获取模块,用于获取分布式...

【专利技术属性】
技术研发人员:褚大鹏
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1