CN102566942A - 一种文件条带化写入方法、装置及系统 - Google Patents

一种文件条带化写入方法、装置及系统 Download PDF

Info

Publication number
CN102566942A
CN102566942A CN2011104463757A CN201110446375A CN102566942A CN 102566942 A CN102566942 A CN 102566942A CN 2011104463757 A CN2011104463757 A CN 2011104463757A CN 201110446375 A CN201110446375 A CN 201110446375A CN 102566942 A CN102566942 A CN 102566942A
Authority
CN
China
Prior art keywords
file
striping
storage server
writes
storage
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.)
Pending
Application number
CN2011104463757A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2011104463757A priority Critical patent/CN102566942A/zh
Publication of CN102566942A publication Critical patent/CN102566942A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开一种文件条带化写入的方法、装置和系统,其中该方法包括获取所述文件的写入数据大小;当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器,从而实现IO压力分散到不同的存储服务器中,有效缓解某个存储服务器的IO压力过大的情况,保证IO操作更加均衡的分布在所有的存储服务器上。

Description

一种文件条带化写入方法、装置及系统
技术领域
本发明涉及文件系统领域,特别是一种文件的条带化写入方法、装置及系统。
背景技术
由于互联网应用的不断发展,特别是虚拟化云计算的兴起,已经开创了一个新的计算模式。为了响应这种发展,被共享的数据的大小也大大增长。用户不光要处理标准的HTML(Hypertext MarkupLanguage)文档,还会访问其它各种数据,例如音频数据、视频数据、游戏数据等等。这样就需要有能够容纳大数据的数据存储,并且同时还能对数据进行高速、可靠的访问。
本地文件系统由于单个节点本身的局限性,已经很难满足海量数据存取的需要了,因而不得不借助分布式文件系统(分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于物理机/服务器模式),把系统负载转移到多个节点上。通常情况下,在分布式文件系统中,读写一个文件只会经过一个存储服务器,而当该文件比较大时,其读写速度与吞吐量,会受限于这单台存储服务器的计算能力。
为了解决上述问题,引入了条带化技术。条带化技术重新组织数据,它让数据分片在多台存储服务器上,以便并行存取。这样,对于大文件的读写,会同时利用多台存储服务器的能力,提高文件的读写速度与吞吐量。然而,条带化无法对小文件(小于一个条带化片大小,一般为128k)进行分片存取,所以针对大量小文件的场景,其改进效果甚微,一般不采用条带化技术。
云计算提供了诸如低能耗、高利用率、安全、方便、共享等优点,它必须具备两大基础技术——虚拟化和数据中心自动化,即虚拟化集群技术。虚拟化集群中,同时存在大量大文件,例如镜像文件(大小在10G以上)和大量小文件,例如配置文件(几K~几十K)等。为了提高镜像文件的读写速度,分布式文件系统需要开启条带化,按序从某个(例如第一个)存储服务器开始分条带片存取。但此时,小于一个条带化片的小文件,却都只会放在某个(例如第一个)存储服务器中。在虚拟化集群的桌面办公场景下,一般会在固定的时间点,同时启动或者关闭大量虚拟机(Virtual Machine,VM)。如果启用条带化技术,虚拟机的配置文件都会放在某个(例如第一个)存储服务器上,如果同时启动或关闭大量虚拟机,某个存储服务器的IO操作会异常频繁,进而成为系统瓶颈。
目前有两种主流的分布式存储方案,第一种以Glusterfs和CLVM(Clustered Logical Volume Manager)为代表的存储方案,它们均采用条带化分片存储,文件被划分为固定长度的数据分片,以轮转(Round-Robin)方式存储在所有的存储服务器上,但是该存储方案主要针对大文件存储场景设计,存在如下缺点:在虚拟化集群场景下,同时存在大量大文件和大量小文件,小文件会堆积在第一个存储服务器上,例如同时启动和关闭虚拟机时,第一个存储服务器会成为IO瓶颈,甚至影响整个集群系统。第二种是以DCFS3(Dawning clusterFile system v3)和PVFS(Parallel Virtual File System)为代表的存储方案,它们也采用条带化分片存储,文件被划分为固定长度的数据分片,以轮转(Round-Robin)方式存储在一组存储服务器上,但是和第一种方案一样,无法解决IO操作频繁的小文件造成的存储服务器瓶颈问题。
发明内容
本发明实施例提供一种分布式文件系统的写入方法、装置以及一种分布式文件系统,有效解决虚拟化集群等环境下存储服务器因IO压力过大而造成的系统性能瓶颈问题。
为此,本发明实施例提供如下技术方案:
本发明实施例提供一种文件条带化写入方法,所述方法应用于包括多个存储服务器的分布式文件系统中,所述方法包括:
获取所述文件的写入数据大小;
当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;
以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
本发明实施例还提供一种终端,其特征在于,所述装置应用于包括多个存储服务器的分布式文件系统中,所述装置包括:
文件写入数据获取单元,用于获取所述文件的写入数据大小;
初始位置确定单元,用于当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;
文件条带化写入单元,用于以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
本发明实施例还提供一种分布式文件系统,该系统包括:终端和多个存储服务器,其中:
所述终端用于:获取所述文件的写入数据大小;当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
所述存储服务器用于:接收所述终端写入的文件的条带化片,并将所述文件的条带化片存储在自身。
可见,本发明实施例提供一种文件条带化写入的方法、装置和系统,通过获取文件的写入数据大小;在该文件是IO操作频繁的文件,且该文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器,从而实现IO压力分散到不同的存储服务器中,有效缓解某个存储服务器的IO压力过大的情况,提高了分布式文件系统的存储性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件条带化写入方法的流程示意图;
图2为本发明实施例提供的另一种文件条带化写入方法的具体流程示意图;
图3为本发明实施例提供的一种终端的逻辑结构示意图;
图4为本发明实施例提供的一种分布式文件系统的逻辑结构示意图;
图5本发明实施例提供的一种分布式文件系统的物理部署示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,为本发明实施例提供的一种文件条带化写入方法的流程示意图,详见图1,该方法应用于包括多个存储服务器的分布式文件系统中,包括:
步骤S101、获取所述文件的写入数据大小;
文件的写入数据大小可以包括文件元数据和文件数据等内容,实际代表文件需要写入存储服务器的数据;该文件的元数据可以包括:文件的inode结构和文件的扩展属性。
步骤S102、当所述文件是输入输出IO(Input/Output)操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;
具体的,根据所述文件的元数据中的第一字段确定所述文件是IO操作频繁的文件,其中,所述第一字段用于表示所述文件是否为IO操作频繁的文件。在一种实现方式下,所述第一字段为文件inode结构中的io-bound字段,当io-bound等于1时,确定所述文件为IO操作频繁的文件,当io-bound不等于1时,确定所述文件不为IO操作频繁的文件,inode数据结构是用来标识一个文件或者目录的数据结构,与文件或者目录是一一对应的,在文件系统范围内都是通用的。在创建文件时,通过指定添加的字段值来表明此文件是否是IO操作频繁的,例如在inode中添加字段io-bound(字段名称可以是自定义的任意名称,io-bound是举例说明,并无限制的意思),如果该文件是IO操作频繁的,则io-bound的值为1,否则,io-bound的值为0。文件是否是IO操作频繁的可以通过虚拟化集群中的管理服务得知,例如虚拟化集群中大量的虚拟机配置文件、链接克隆的父镜像文件就属于IO操作频繁的文件;在另一种实现方式下,还可以在文件的扩展属性中增加一个字段作为第一字段,表示该文件是否为IO操作频繁的文件。以上两种方式都可以在文件创建的时候实现,本领域技术人员容易通过上述方法得出具体实施方式,在此不再赘述。。
现有技术的文件系统条带化参数在文件系统初始化时就已经确定,条带化参数包括存储服务器的个数、条带化片大小、条带化初始放置位置等。其中存储服务器的个数由实际需求确定,条带化片大小一般默认为128K,条带化初始放置位置通常将缺省的某个存储服务器作为所有文件的条带化初始位置。
本发明实施例提供的文件条带化写入方法在判断出文件是IO操作频繁的文件,且文件的写入数据大小小于文件条带化片大小,即该文件只能放在一个存储服务器上时,从多个存储服务器中选取当前IO压力最小的存储服务器,或者从多个存储服务器中随机选取一个存储服务器,作为文件条带化的初始放置位置,而不是以缺省的某服务器作为初始放置位置,以避免这个服务器成为IO操作瓶颈。
其中,在一种优选的实现方式下,文件写入终端(可以实现为分布式文件系统的客户端)接收并统计每个存储服务器反馈的当前IO压力,这些IO压力状况可以保存在一个结构体中,也可以不保存,在需要的时候即时获取;在另一种实现方式下,存储服务器的IO压力状况可以事先存储在文件写入终端(可以是一个客户端)中,由人为修改或更新。
步骤S103、以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
值得一提的是,对于文件写入数据小于文件条带化片的情况,在条带化写入执行完成后,该文件实际上被全部写入了上述步骤S102确定的初始放置位置服务器中。
进一步的,该方法还可以包括:
当所述文件不是IO操作频繁的文件时,选择文件条带化的缺省初始服务器;以所述文件条带化的缺省初始服务器作为文件条带化写入的初始位置,将文件条带化写入所述存储服务器。
再进一步的,该方法还可以包括:
当所述文件是IO操作频繁的文件,且所述文件的写入数据大小大于文件条带化片的大小时,选择文件条带化的缺省初始服务器;以所述文件条带化的缺省初始服务器作为文件条带化写入的初始位置,将文件条带化写入所述存储服务器。
请参阅图2,为本发明实施例提供的另一种文件条带化写入方法的具体流程示意图,如图2所示,该方法包括:
步骤S201、获取文件inode的数据结构,从中得到添加的标识字段io-bound的值;
步骤S202、判断io-bound字段的值是否为1,若不为1,执行步骤S203,若为1执行步骤S204。
步骤S203、如果文件io-bound字段的值不等于1(假设等于0),此时该文件不是IO操作频繁的文件,选择缺省即默认的存储服务器作为文件条带化的初始放置位置,然后执行文件条带化写入;
步骤S204、判断文件的写入数据大小是否小于或等于文件的条带化片大小(默认为128K),若是,执行步骤205;若否,执行步骤206。
步骤S205、根据动态策略选择条带化初始位置;
优选地,所述动态策略可以采用如下两种存储服务器动态选择方法:
方法一:最小负载法,根据存储服务器的IO压力情况选取当前IO压力最小的存储服务器作为文件条带化的初始放置位置。在虚拟化集群的存储客户端一侧,每个存储服务器的相关信息都有一个结构体来保存,从该结构体中可以获取存储服务器的IO压力情况。
方法二:随机方法,每次随机选取一个存储服务器作为文件条带化地初始放置位置。
需要说明的是,文件条带化地初始放置位置还可以通过其它动态策略来选择,上述两种动态选择方法只是举例说明的优选方案,并无限制的意思。
步骤S206、选择缺省的存储服务器作为文件条带化的初始放置位置;
这种情况即该文件是IO操作频繁的文件,但是该文件的写入数据大小比条带化片大小大,所以该文件执行条带化写入之后会至少被存储在两个存储服务器中,因此对IO性能瓶颈的影响不是很大。
值得一提的是,还可以根据实际需要设定一个阈值,该阈值可以设置为大于条带化片大小,步骤S204的文件写入数据大小与这个阈值作比较,若大于此阈值,就选择缺省存储服务器作为条带化的默认初始位置;若小于此阈值,再采用本发明实施例提供的动态策略动态选择一个或多个存储服务器作为条带化的第一轮条带存入位置。
步骤S204如果文件io-bound字段的值等于1,此时该文件是IO操作频繁的文件,执行步骤S205;
步骤S205如果文件io-bound字段的值等于1且文件写入数据大小大于条带化片大小,选择首个存储服务器作为文件条带化的初始放置位置。此时该文件属于IO操作频繁的文件,但是其条带化写入至少两个存储服务器,所以动态选择条带化初始位置的效果并不明显;
步骤S206如果文件io-bound字段的值等于1且文件写入数据大小不大于(小于等于)条带化片大小,根据最小负载法或者随机方法动态选择条带化初始位置。此时该文件属于IO操作频繁的文件,且大小小于条带化片大小,条带化初始放置位置即文件的全部内容的放置位置;
步骤S207条带化初始位置确定之后执行文件的条带化写入。
本发明实施例还提供一种文件条带化初始放置位置的确定方法,该方法针对的是标识字段被添加到文件的扩展属性中的情况,方法步骤与上述实施例步骤基本相同,不同之处在于标识IO操作是否频繁的标识字段从文件的扩展属性中获取。本领域普通技术人员通过上述实施例的方法步骤很容易得出该方法的步骤,在此不再赘述。
综上所述,本发明实施例提供一种文件条带化写入的方法,通过获取文件的写入数据大小;在该文件是IO操作频繁的文件,且该文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器,从而实现IO压力分散到不同的存储服务器中,有效缓解某个存储服务器的IO压力过大的情况,保证IO操作更加均衡的分布在所有的存储服务器上,提高了分布式文件系统的存储性能。
请参阅图3,为本发明实施例提供的一种终端,该终端装置应用于包括多个存储服务器的分布式文件系统中,如图3所示,该终端包括:
文件写入数据获取单元11,用于获取所述文件的写入数据大小;
初始位置确定单元12,用于当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;
具体的,根据所述文件的元数据中的第一字段确定所述文件是IO操作频繁的文件,其中,所述第一字段用于表示所述文件是否为IO操作频繁的文件。在一种实现方式下,所述第一字段为文件inode结构中的io-bound字段,当io-bound等于1时,确定所述文件为IO操作频繁的文件,当io-bound不等于1时,确定所述文件不为IO操作频繁的文件,inode数据结构是用来标识一个文件或者目录的数据结构,与文件或者目录是一一对应的,在文件系统范围内都是通用的。在创建文件时,通过指定添加的字段值来表明此文件是否是IO操作频繁的,例如在inode中添加字段io-bound(字段名称可以是自定义的任意名称,io-bound是举例说明,并无限制的意思),如果该文件是IO操作频繁的,则io-bound的值为1,否则,io-bound的值为0。文件是否是IO操作频繁的可以通过虚拟化集群中的管理服务得知,例如虚拟化集群中大量的虚拟机配置文件、链接克隆的父镜像文件就属于IO操作频繁的文件;在另一种实现方式下,还可以在文件的扩展属性中增加一个字段作为第一字段,表示该文件是否为IO操作频繁的文件。以上两种方式都可以在文件创建的时候实现,本领域技术人员容易通过上述方法得出具体实施方式,在此不再赘述。。
文件条带化写入单元13,用于以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
进一步的,所述初始位置确定单元12还用于:用于当所述文件不是IO操作频繁的文件时,或者,当所述文件是IO操作频繁的文件,且所述文件的写入数据大小大于文件条带化片的大小时,选择文件条带化的缺省初始服务器;
所述文件条带化写入单元13还用于:以所述文件条带化的缺省初始服务器作为文件条带化写入的初始位置,将文件条带化写入所述存储服务器。
进一步的,所述初始位置确定单元12还用于:接收并统计所述每个存储服务器反馈的当前IO压力。
需要说明的是,以上模块划分仅供本领域普通技术人员参考,并无限定的意思。
综上所述,本发明实施例提供一种终端,通过获取文件的写入数据大小;在该文件是IO操作频繁的文件,且该文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器,从而实现IO压力分散到不同的存储服务器中,有效缓解某个存储服务器的IO压力过大的情况,保证IO操作更加均衡的分布在所有的存储服务器上,提高了分布式文件系统的存储性能。
请参阅图4,为本发明实施例提供的一种分布式文件系统的逻辑结构示意图,如图4所示,该系统包括:
三个物理机作为服务存储器(图中以存储服务器20、30、40示意,但不限于此)和一个物理机作为终端10(图中以一个物理机示意,但是终端也可以为多个,本发明实施例并没有限定的意思),所述物理机10上存在两个虚拟机(图中以VM1和VM2示意,但不限于此),存储服务器20、存储服务器30、存储服务器40与物理机10通过计算机网络相连,形成一个以终端10为中心的分布式文件系统。
其中,终端10用于获取所述文件的写入数据大小;当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
存储服务器20等用于接收终端10写入的文件的条带化片,并将所述文件的条带化片存储在自身。
进一步的,终端10还用于当所述文件不是IO操作频繁的文件时,或者,当所述文件是IO操作频繁的文件,且所述文件的写入数据大小大于文件条带化片的大小时,选择文件条带化的缺省初始服务器;以所述文件条带化的缺省初始服务器作为文件条带化写入的初始位置,将文件条带化写入所述存储服务器。
进一步的,终端10还用于:接收并统计所述每个存储服务器反馈的当前IO压力。
进一步的,该系统还可以包括一个或多个网络存储设备;相应的,所述存储服务器还用于接收所述终端写入的文件的条带化片,并将所述文件的条带化片存储到所述网络存储设备中;所述网络存储设备用于存储所述文件的条带化片。
图5本发明实施例提供的一种分布式文件系统的物理部署示意图,该系统具有两个虚拟机VM1和VM2的物理机10装载所述分布式文件系统的客户端程序,从而成为该分布式系统的存储客户端;三台物理主机分别都装载所述分布式文件系统的服务端程序,从而成为三个存储服务器20、30、40;另外,存储服务器20、30、40都与存储域网络(Storage Area Network,SAN)相连,SAN可以为分布式文件系统提供容量更大的存储服务。本发明实施例中的存储服务器20、30、40可以将文件存储在自身;也可以管理文件的存储,即将文件根据实际需要存储与之具有通信连接的在SAN中。
综上所述,本发明实施例提供一种分布式文件系统,通过获取文件的写入数据大小;在该文件是IO操作频繁的文件,且该文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器,从而实现IO压力分散到不同的存储服务器中,有效缓解某个存储服务器的IO压力过大的情况,保证IO操作更加均衡的分布在所有的存储服务器上,提高了分布式文件系统的存储性能。
进一步的,该系统还可以将文件存储在容量更大、速度更快的网络存储设备中,大大提高分布式文件的存储性能。
本领域普通技术人员可以理解实现前述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件(如处理器)来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如前述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种文件条带化写入方法,其特征在于,所述方法应用于包括多个存储服务器的分布式文件系统中,所述方法包括:
获取所述文件的写入数据大小;
当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;
以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
2.根据权利要求1所述的方法,其特征在于,所述文件是IO操作频繁的文件是通过如下方法来确定的:
根据所述文件的元数据中的第一字段确定所述文件是IO操作频繁的文件,其中,所述第一字段用于表示所述文件是否为IO操作频繁的文件。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当所述文件不是IO操作频繁的文件时,选择文件条带化的缺省初始服务器;
以所述文件条带化的缺省初始服务器作为文件条带化写入的初始位置,将文件条带化写入所述存储服务器。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
当所述文件是IO操作频繁的文件,且所述文件的写入数据大小大于文件条带化片的大小时,选择文件条带化的缺省初始服务器;
以所述文件条带化的缺省初始服务器作为文件条带化写入的初始位置,将文件条带化写入所述存储服务器。
5.根据权利要求1至4任一所述的方法,其特征在于,在所述从所述多个存储服务器中选取当前IO压力最小的存储服务器的步骤之前,所述方法还包括:
接收并统计所述每个存储服务器反馈的当前IO压力。
6.根据权利要求2所述的方法,其特征在于,所述文件元数据包括:文件的inode结构,或者,文件的扩展属性。
7.根据权利要求1至6任一所述的方法,其特征在于,所述文件的写入数据包括:文件的元数据和文件的数据。
8.一种终端,其特征在于,所述装置应用于包括多个存储服务器的分布式文件系统中,所述装置包括:
文件写入数据获取单元,用于获取所述文件的写入数据大小;
初始位置确定单元,用于当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;
文件条带化写入单元,用于以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
9.根据权利要求8所述的装置,其特征在于,所述初始位置确定单元具体用于:
根据所述文件的元数据中的第一字段确定所述文件是IO操作频繁的文件,其中,所述第一字段用于表示所述文件是否为IO操作频繁的文件。
10.根据权利要求8或9所述的装置,其特征在于,
所述初始位置确定单元还用于:用于当所述文件不是IO操作频繁的文件时,或者,当所述文件是IO操作频繁的文件,且所述文件的写入数据大小大于文件条带化片的大小时,选择文件条带化的缺省初始服务器;
所述文件条带化写入单元还用于:以所述文件条带化的缺省初始服务器作为文件条带化写入的初始位置,将文件条带化写入所述存储服务器。
11.根据权利要求8至10任一所述的装置,其特征在于,所述初始位置确定单元还用于:接收并统计所述每个存储服务器反馈的当前IO压力。
12.一种分布式文件系统,其特征在于,所述系统包括:终端和多个存储服务器,其中:
所述终端用于:获取所述文件的写入数据大小;当所述文件是输入输出IO操作频繁的文件,且所述文件的写入数据大小小于或者等于文件条带化片大小时,从所述多个存储服务器中选取当前IO压力最小的存储服务器,或者从所述多个存储服务器中随机选取一个存储服务器;以当前IO压力最小的存储服务器,或者随机选取的一个存储服务器作为文件条带化的初始位置,将所述文件条带化写入所述存储服务器。
所述存储服务器用于:接收所述终端写入的文件的条带化片,并将所述文件的条带化片存储在自身。
13.根据权利要求12所述的系统,其特征在于,所述终端还用于;
当所述文件不是IO操作频繁的文件时,或者,当所述文件是IO操作频繁的文件,且所述文件的写入数据大小大于文件条带化片的大小时,选择文件条带化的缺省初始服务器;以所述文件条带化的缺省初始服务器作为文件条带化写入的初始位置,将文件条带化写入所述存储服务器。
14.根据权利要求12或13所述的系统,其特征在于,所述终端还用于:接收并统计所述每个存储服务器反馈的当前IO压力。
15.根据权利要求12至14任一所述的系统,其特征在于,所述系统还包括网络存储设备;
所述存储服务器还用于:接收所述终端写入的文件的条带化片,并将所述文件的条带化片存储到所述网络存储设备中;
所述网络存储设备用于:存储所述文件的条带化片。
CN2011104463757A 2011-12-28 2011-12-28 一种文件条带化写入方法、装置及系统 Pending CN102566942A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104463757A CN102566942A (zh) 2011-12-28 2011-12-28 一种文件条带化写入方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104463757A CN102566942A (zh) 2011-12-28 2011-12-28 一种文件条带化写入方法、装置及系统

Publications (1)

Publication Number Publication Date
CN102566942A true CN102566942A (zh) 2012-07-11

Family

ID=46412467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104463757A Pending CN102566942A (zh) 2011-12-28 2011-12-28 一种文件条带化写入方法、装置及系统

Country Status (1)

Country Link
CN (1) CN102566942A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077245A (zh) * 2013-01-18 2013-05-01 浪潮电子信息产业股份有限公司 一种利用集群计算节点空闲硬盘空间扩展并行文件系统的方法
CN104780228A (zh) * 2015-05-09 2015-07-15 北京银信长远科技股份有限公司 提升网络内容服务器效率的方法
US9648103B2 (en) 2014-02-11 2017-05-09 Red Hat, Inc. Non-uniform file access in a distributed file system
CN106936888A (zh) * 2015-12-30 2017-07-07 五八同城信息技术有限公司 数据收集的方法、装置及系统
CN108196791A (zh) * 2017-12-29 2018-06-22 北京奇虎科技有限公司 基于多个存储设备的数据访问方法及装置
WO2020125362A1 (zh) * 2018-12-18 2020-06-25 深圳先进技术研究院 文件系统及数据布局方法
CN113835637A (zh) * 2020-03-19 2021-12-24 北京奥星贝斯科技有限公司 一种数据的写入方法、装置以及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000592A (zh) * 2006-01-12 2007-07-18 国际商业机器公司 非破坏性多路径设备驱动器更新系统和方法
CN101866359A (zh) * 2010-06-24 2010-10-20 北京航空航天大学 一种机群文件系统中的小文件存储和访问方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000592A (zh) * 2006-01-12 2007-07-18 国际商业机器公司 非破坏性多路径设备驱动器更新系统和方法
CN101866359A (zh) * 2010-06-24 2010-10-20 北京航空航天大学 一种机群文件系统中的小文件存储和访问方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077245A (zh) * 2013-01-18 2013-05-01 浪潮电子信息产业股份有限公司 一种利用集群计算节点空闲硬盘空间扩展并行文件系统的方法
US9648103B2 (en) 2014-02-11 2017-05-09 Red Hat, Inc. Non-uniform file access in a distributed file system
CN104780228A (zh) * 2015-05-09 2015-07-15 北京银信长远科技股份有限公司 提升网络内容服务器效率的方法
CN106936888A (zh) * 2015-12-30 2017-07-07 五八同城信息技术有限公司 数据收集的方法、装置及系统
CN108196791A (zh) * 2017-12-29 2018-06-22 北京奇虎科技有限公司 基于多个存储设备的数据访问方法及装置
WO2020125362A1 (zh) * 2018-12-18 2020-06-25 深圳先进技术研究院 文件系统及数据布局方法
CN113835637A (zh) * 2020-03-19 2021-12-24 北京奥星贝斯科技有限公司 一种数据的写入方法、装置以及设备

Similar Documents

Publication Publication Date Title
CN102566942A (zh) 一种文件条带化写入方法、装置及系统
EP3631612B1 (en) File system for shingled magnetic recording (smr)
CN101957863B (zh) 数据并行处理方法、装置及系统
CN102546782A (zh) 一种分布式系统及其数据操作方法
US11093143B2 (en) Methods and systems for managing key-value solid state drives (KV SSDS)
CN103180830A (zh) 中央处理器资源分配方法和计算节点
CN101944124A (zh) 分布式文件系统管理方法、装置以及对应的文件系统
CN102142032B (zh) 一种分布式文件系统的数据读写方法及系统
CN110347651A (zh) 基于云存储的数据同步方法、装置、设备及存储介质
US9940331B1 (en) Proactive scavenging of file system snaps
CN102841759A (zh) 一种针对超大规模虚拟机集群的存储系统
CN102982182B (zh) 一种数据存储规划方法及装置
CN102622412A (zh) 一种分布式文件系统中的并发写入方法及装置
CN105408875B (zh) 在存储器接口上的分布式过程执行和文件系统
CN109379448A (zh) 一种文件分布式部署方法、装置、电子设备及存储介质
CN106815254A (zh) 一种数据处理方法和装置
CN104272242A (zh) 创建加密存储体
CN107402950A (zh) 基于分库分表的文件处理方法和装置
CN109471843A (zh) 一种元数据缓存方法、系统及相关装置
US11416176B2 (en) Function processing using storage controllers for load sharing
CN103634383A (zh) 基于移动终端的多链接分段下载方法和移动终端
CN102945275A (zh) 文件碎片整理方法、装置及设备
CN105049524B (zh) 一种基于hdfs的大规模数据集装载的方法
CN109189341A (zh) 分布式存储系统的目录负载均衡方法、装置、设备及介质
CN101630332B (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120711