CN102063270A - 一种写操作方法及装置 - Google Patents

一种写操作方法及装置 Download PDF

Info

Publication number
CN102063270A
CN102063270A CN201010609767.6A CN201010609767A CN102063270A CN 102063270 A CN102063270 A CN 102063270A CN 201010609767 A CN201010609767 A CN 201010609767A CN 102063270 A CN102063270 A CN 102063270A
Authority
CN
China
Prior art keywords
file
clip
data
write
clip file
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.)
Granted
Application number
CN201010609767.6A
Other languages
English (en)
Other versions
CN102063270B (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec 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 Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN201010609767A priority Critical patent/CN102063270B/zh
Publication of CN102063270A publication Critical patent/CN102063270A/zh
Application granted granted Critical
Publication of CN102063270B publication Critical patent/CN102063270B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明实施例公开了一种写操作方法及装置。本发明实施例的方法包括:拦截写操作请求,写操作请求包含文件数据、文件数据所属的目标文件的类型及名称;将写操作请求中包含的文件数据进行分片,其中分片的大小与文件系统中预置的片段文件的存储大小相同,片段文件的存储大小为预置的RAID条带存储大小的整数倍;根据写操作请求中包含的文件数据所属的目标文件的类型及名称获取文件数据将要写入的片段文件;将分片之后的文件数据写入所获取的片段文件对应的RAID条带中。本发明实施例还包括写操作装置,用于提高系统的IO性能。

Description

一种写操作方法及装置
技术领域
本发明涉及数据存储系统性能优化领域,尤其涉及一种写操作方法及装置。
背景技术
在视频监控及流媒体系统中,媒体文件的容量逐渐增大,大多数流媒体文件都有几百兆,对这些媒体文件的写入与读出操作要求流媒体系统有足够的带宽及较高的输入输出(IO,Input/Output)性能,为了保证能够高效的对媒体文件进行写入和读取的操作,对现有流媒体系统的IO性能的改善变得更加急迫。在现有的流媒体系统中,存储系统大多采用独立磁盘冗余阵列(RAID,Redundant Array of Independent Disk)的方式存储数据,可以有效利用磁盘的IO带宽,提高系统的总体IO性能。
但是,发明人在研发过程中发现,在采用RAID的方式存储文件数据时,由于上层文件系统将大量流媒体文件随机进行分片并存储系统的raid组的多个raid条带中,当流媒体系统往RAID条带中写入数据时,大多时候所写入的RAID条带中已经存储有旧数据,为了确保数据的准确性,都要先把该位置的旧数据和该条带对应的校验数据读出来之后,与新写的数据计算出新的校验,再把新数据和新校验写入条带。这种每次写入数据前都要读出数据的现象就叫写惩罚,使得系统难以充分利用磁盘的IO带宽,系统的IO性能较差。
发明内容
本发明实施例提供了一种写操作方法及装置,用于提高系统的IO性能。
本发明实施例的方法包括:拦截写操作请求,写操作请求包含文件数据、文件数据所属的目标文件的类型及名称;将写操作请求中包含的文件数据进行分片,其中分片的大小与文件系统中预置的片段文件的存储大小相同,片段文件的存储大小为预置的RAID条带存储大小的整数倍;根据写操作请求中包含的文件数据所属的目标文件的类型及名称获取文件数据将要写入的片段文件;将分片之后的文件数据写入所获取的片段文件对应的RAID条带中。
本发明实施例的装置包括:拦截模块,用于拦截写操作请求,写操作请求包含文件数据、文件数据所属的目标文件的类型及名称;分片模块,用于将写操作请求中包含的文件数据进行分片,其中分片的大小与文件系统中预置的片段文件的存储大小相同,片段文件的存储大小为预置的RAID条带存储大小的整数倍;获取模块,用于根据写操作请求中包含的文件数据所属的目标文件的类型及名称获取文件数据将要写入的片段文件;写入模块,用于将分片之后的文件数据写入所获取的片段文件对应的RAID条带中。
从以上技术方案可以看出,本发明实施例具有以下优点:
通过将接收到的写操作中包含的文件数据进行分片,将分片之后的文件数据存储到片段文件中,其中文件分片大小等于包含一个或多个RAID条带的片段文件的存储大小,使得写操作请求中的文件数据能够按RAID条带对齐的方式进行存储,写入数据时不需要将已有的数据读出,避免了写惩罚的产生,提高系统的IO性能。
附图说明
图1为本发明实施例一种写操作方法的一个示意图;
图2为本发明实施例一种写操作方法的另一示意图;
图3为本发明实施例一种读操作方法的一个示意图;
图4为本发明实施例一种删除文件操作方法的一个示意图;
图5为本发明实施例一种文件改名操作方法的一个示意图;
图6为本发明实施例一种写操作装置的一个示意图;
图7为本发明实施例获取模块的一个示意图;
图8为本发明实施例写入模块的一个示意图;
图9为本发明实施例一种读操作装置的一个示意图;
图10为本发明实施例一种删除文件操作装置的一个示意图;
图11为本发明实施例一种文件改名操作装置的一个示意图。
具体实施方式
本发明实施例提供了一种写操作方法及装置,用于提高系统的IO性能。
请参阅图1,为本发明实施例一种写操作方法的一个实施例,包括:
101、拦截写操作请求;
在现有的流媒体系统中,一般包括应用系统、文件系统及存储系统,存储系统大多采用大容量的独立磁盘冗余阵列(RAID,Redundant Array ofIndependent Disk)存储数据,可以有效利用磁盘的IO带宽,提高系统的总体IO性能。需要说明的是,本发明实施例的方法工作在应用系统和文件系统之间。
系统将拦截写操作请求,写操作请求中包含需要写入的文件数据,文件数据的大小,文件数据所属目标文件的类型及名称,及文件数据在目标文件中的当前写文件位置。
102、将写操作请求中包含的文件数据进行分片,其中分片的大小与文件系统中预置的片段文件的存储大小相同,且片段文件的存储大小为预置的RAID条带存储大小的整数倍;
系统拦截写操作请求之后,将写操作请求中包含的文件数据进行分片,其中,文件系统中的片段文件用于对存储资源进行管理,存储资源可以包括RAID条带,片段文件包含一个或多个RAID条带,片段文件的存储大小为预置的RAID条带存储空间大小的整数倍,称为片段文件与RAID条带对齐。在现有的存储系统中,RAID条带是指将RAID的存储空间划分为大小相等的存储块。
例如,若拦截到的写文件操作请求中文件数据大小为240MB,系统中的片段文件的存储空间为80MB,包含8个RAID条带,每个RAID条带的存储空间为10MB,则可将写操作请求中包含的240MB的文件数据分成3片,每片的大小均为80MB。
需要说明的是,当文件数据的大小不是片段文件存储大小的整数倍时,仍然将文件数据按片段文件的存储大小进行分片,最后剩余的小于片段文件存储空间的文件数据也称为一片,例如,当文件数据大小为220MB,片段文件的存储空间为80MB,则将文件数据分成3片,其中前2片的数据大小为80MB,第三片的数据大小为60MB。
103、根据写操作请求中包含的文件数据所属的目标文件的类型及名称获取文件数据将要写入的片段文件;
在对文件数据进行分片后,根据写操作请求中包含的文件数据所属的目标文件的类型及名称获取目标文件,并从目标文件对应的片段文件中获取文件数据将要写入的片段文件。
104、将分片之后的文件数据写入所获取的片段文件对应的RAID条带中;
系统获取到文件数据将要写入的片段文件之后,将分片之后的片段文件写入所获取的片段文件的RAID条带中。
由于文件数据的按文件系统中的片段文件的存储大小进行分片,使得数据大小与片段文件存储大小相同的分片文件可以写满一个片段文件,即一个片段文件中包含的RAID条带都将写满数据。需要说明的是,当一个分片文件的数据大小小于片段文件存储大小时,该分片文件仍将写入对应的片段文件中,且当数据写入操作在该片段文件的某个RAID条带写满之后结束,则完成了写文件操作,当数据写入操作没有写满该片段文件的某个RAID条带就结束,则系统将采用补零的方式将未写满的RAID条带写满,保证已经写入数据的RAID条带都已经写满。例如,文件数据大小为225MB,片段文件为80MB,且片段文件包含8个存储空间为10MB的RAID条带,文件数据被分为3个分片文件,前两片的大小为80MB,第三片的大小为65MB,则分片文件将顺序写入3个片段文件中,其中第3个片段文件中只写入65MB的数据,在该片段文件的第7个RAID条带结束数据写入,且该条带未写满,则系统将采用补零的方式将第7个RAID条带写满。
在本发明实施例中,通过将写操作中的文件数据进行分片,且分片的大小与文件系统中的按RAID条带容量整数倍创建的片段文件大小相同,使得数据在写入片段文件时能够写满片段文件中的RAID条带,系统在写入数据时需要在一个空的raid条带中写入,不需要将已有的数据读出,不会产生写惩罚,提高了系统的IO性能。
为了更好的理解技术,请参阅图2为本发明实施例一种写操作方法的另一实施例,包括:
201、拦截写操作请求;
系统将拦截应用系统的写操作请求,写操作请求中包含需要写入的文件数据,文件数据的大小,文件数据所属目标文件的类型及名称,及文件数据在目标文件中的当前写文件位置。
202、将写操作请求中包含的文件数据进行分片,其中分片的大小与文件系统中预置的片段文件的存储大小相同,片段文件的存储大小为RAID条带预置存储大小的整数倍;
步骤202与图1所示实施例中的步骤102描述的内容相同,此处不再赘述。
203、判断写操作请求中包含的文件数据所属的目标文件是否存在,若存在,则执行步骤205,若不存在,则执行步骤204;
系统拦截的写操作请求中包含文件数据所属的目标文件的类型及名称,系统将根据该目标文件的类型及名称获取文件数据将要写入的片段文件,但由于该片段文件存储在文件数据所属的目标文件对应的目标文件目录中,则系统先将获取文件数据所属的目标文件,再在目标文件对应的片段文件目录中获取文件数据将写入的片段文件,因此,本发明实施例中,系统将判断写操作请求中的文件数据所属的目标文件是否存在。
204、创建目标文件及目标文件对应的片段文件目录;
当写操作请求中包含的文件数据所属的目标文件不存在时,系统将根据目标文件的类型创建目标文件及目标文件对应的片段文件目录,创建之后,将从系统的空闲片段文件池中移动若干个片段文件至片段文件目录中,且移入的片段文件的数目至少为文件数据分片的数目,其中,片段文件目录用于存放目标文件的片段文件,目标文件的片段文件用于存储文件数据,且片段文件目录中的片段文件将按系统预置的方式或者由用户进行编号。例如:创建文件名为test.ts的目标文件,同时建立一个与目标文件对应的片段目录名为test.ts.segment,片段文件名从1开始编号,如:
test.ts.segment/1.dat;
test.ts.segment/2.dat;
test.ts.segment/3.dat。
如写操作的文件数据对应的是目标文件的片段文件1,则将文件数据写入test.ts.segment/1.dat;
205、根据写操作请求中包含的文件数据的大小及当前写文件位置,确定文件数据将要写入的片段文件的编号;
目标文件及目标文件对应的片段文件目录创建之后,或者判断写操作请求对应的目标文件存在时,系统将根据写操作请求中包含的文件数据的大小及当前写文件位置,确定文件数据将要写入的片段文件的编号,其中,当前写文件位置表示文件数据写入时在片段文件的起始位置。
206、根据得到的片段文件的编号判断将写入文件数据的片段文件是否存在,若不存在,则执行步骤207,若存在,则执行步骤209;
若经过步骤203判断之后发现目标文件已经存在,则目标文件对应的片段文件目录中包含的片段文件也许已经执行了其他的写文件操作,剩余的片段文件存储空间不够完成此次写文件操作的情况,因此系统将根据文件数据将要写入的片段文件的编号判断所需的片段文件是否存在。
207、移动空闲片段文件到文件数据所属的目标文件对应的目标文件目录下;
当将要写入数据的片段文件不存在或部分存在时,系统将从空闲片段文件池中移动空闲片段文件到文件数据所属的目标文件对应的目标文件目录下,本实施例中的移动,并不是物理意义上的移动,可以是把片段文件的所在的目标文件目录进行更改,移动的空闲片段文件的数目为目标文件目录下缺少的片段文件的个数,例如,文件数据写入需要3个片段文件,目标文件目录下只有1个片段文件可用于数据的写入,则从空闲片段文件池中移动2个片段文件到目标文件目录下。其中空闲片段文件池中包含未使用的空闲片段文件,空闲片段文件池在系统的初始化过程中建立,用于保存空闲片段文件。
208、将移入的空闲片段文件的编号修改为文件数据将要写入的片段文件的编号;
步骤207中将空闲片段文件移入到目标文件目录下,为了使得文件数据能够写入对应编号的片段文件,系统将修改移入的空闲片段文件的编号。
在步骤205中系统得到文件数据将要写入的片段文件的编号,因此系统将移入的片段文件的编号修改为文件数据将要写入的片段文件的编号,使得写操作请求中的文件数据能够写入对应编号的片段文件。例如当文件数据将要写入的片段文件的编号为1,2,3,则将移入的空闲片段文件按1.dat,2.dat,3.dat进行编号。
209、将文件数据写入对应的片段文件的RAID条带中。
当目标文件对应的片段文件目录下存在文件数据将要写入的片段文件时,系统将写操作请求中文件数据写入所属目标文件对应的片段文件中,完成写操作的优化处理。
需要说明的是,由于通常条带存储容量较大,对数据量较小的文件一个条带就可以存储,因此不需要对数据量小的文件再进行分片存储,在本发明实施例中,对数据量较大的文件效果较好,例如媒体文件等,因此,本发明实施例中可以判断拦截的写操作对应的目标文件类型是否是预先指定的文件类型,如果是,则按本发明实施例描述的技术方案对写操作进行优化处理,如果不是,则按现有技术中对文件写入方式进行处理。若系统只对特定类型的文件本发明实施例描述的方案进行写操作,则系统将通过初始化流程预先设置文件数据所属的目标文件类型、文件数据所需存储空间的最小值及文件数据分片的大小等参数等等,例如:系统设置文件为以“.ts”为后缀,大于或等于80MB的文件,且文件的分片大小为80MB,则系统拦截的写操作请求中的文件数据所属的目标文件类型为“.ts”为后缀且大于或等于80MB的文件。同时,在初始化过程中,系统将创建片段文件,所创建的片段文件的存储空间具有和存储系统中RAID存储空间整数倍大小相同的存储空间,且都保存在空闲片段文件池中,供后续的操作使用。
在本发明实施例中,将写操作请求中的文件数据写入所属目标文件对应的片段文件的处理方法有以下几种,分别为:
1)系统的存储空间分为两个部分:高速写cache存储空间和慢速存储空间,当目标文件及目标文件对应的片段文件建立在高速写cache存储空间时,系统将写操作请求中的文件数据写入高速写cache存储空间中目标文件对应的片段文件中。
若将文件数据写入高速写cache存储空间中,当预置的固定周期结束时,或者系统检测到高速写cache存储空间的剩余容量小于预置的数值时,系统将高速写cache存储空间中的所有片段文件迁移到慢速存储空间上,释放高速写cache存储空间中的冷片段文件,其中冷片段文件为在固定周期内访问量少于系统预置数值的片段文件。
按以上方法处理写操作请求时,高速写cache存储空间及慢速存储空间是系统将存储空间分成的两个部分,通过将高速写cache存储空间中的片段文件迁移到慢速存储空间并释放高速写cache存储空间的冷片段文件,使得访问量高的片段文件可以保存在高速写cache存储空间上,能够有效的提高系统访问目标文件的效率,可以实现片段文件的写cache特性。
2)系统的存储空间分为一级高速存储空间和二级慢速存储空间时,当目标文件及目标文件对应的片段文件同时建立在一级高速存储空间和二级慢速存储空间上时,系统将把写操作请求中的文件数据写入一级高速存储空间中所述目标文件对应的片段文件中。
文件数据写入一级高速存储空间后,当预置的固定周期结束后,或者系统检测到一级高速存储空间的剩余空间小于预置的数值时,系统将把一级高速存储空间中的冷片段文件迁移到二级慢速存储空间上,并释放一级高速存储空间中的冷片段文件,其中冷片段文件为访问次数小于预置次数的片段文件。
按照以上方法处理写操作请求,可以实现片段文件级分层迁移功能的分级存储特性。
3)系统的存储空间分为一级高速存储空间和二级慢速存储空间时,系统可以在一级高速存储空间和二级慢速存储空间建立目标文件及目标文件对应的片段文件目录,即建立文件分片池,系统将把写操作请求中的文件数据写入二级慢速存储空间中目标文件对应的片段文件中。
文件数据写入二级慢速存储空间之后,预置的固定周期结束后,系统将对二级慢速存储空间中访问次数大于预置次数的片段文件进行统计,并将片段文件迁移到一级高速存储空间上,迁移之后,将释放二级慢速存储空间中访问次数大于预置次数的片段文件。
按照以上方法对写操作请求进行处理,也可以实现片段文件分级迁移功能的分级存储特性。
在方法2)及3)中,系统将存储空间分为一级高速存储空间及二级慢速存储空间,其中一级高速存储空间用于保存访问量大的片段文件,二级慢速存储空间用于保存访问量小的片段文件(即冷片段文件),通过片段文件的迁移,能够有效的对片段文件进行管理,实现片段文件分级迁移功能的分级存储特性。
在本发明实施例中,通过拦截系统的写操作请求,将文件数据按用于存储数据的片段文件的存储大小进行分片,使得文件数据能够按RAID条带对齐的方式写入片段文件中,由于片段文件中的条带将写满数据,使得数据写入之前不需要将已有数据读出,不会有写惩罚产生,提高了系统的IO性能,同时通过将系统的存储空间进行分级,可以实现片段文件级写cache特性及片段文件级分层迁移功能的分级存储特性。
在本发明实施例中,不仅可以对写操作请求进行IO性能的优化处理,还可以读操作请求进行优化处理,请参阅图3,为本发明实施例中一种读操作方法的一个实施例,包括:
301、拦截应用系统的读操作请求;
系统将拦截应用系统的读操作请求。
302、获取目标文件对应的片段文件;
系统根据读操作请求中包含的目标文件名和读文件位置信息得到目标文件对应的片段文件,其中片段文件为包含若干个预置存储大小的RAID条带且按RAID条带对齐方式写入数据的片段文件;
303、从片段文件中读取文件数据。
系统将从获取到的片段文件中读取文件数据的内容。
需要说明的是,系统还可以对删除操作请求进行优化处理,请参阅图4,为本发明实施例中一种删除文件操作方法的实施例,包括:
401、拦截应用系统的删除文件操作请求;
系统将拦截应用系统的删除文件操作请求。
402、确定目标文件对应的片段文件目录;
系统将根据删除文件操作请求中包含的目标文件的名称信息获取目标文件及目标文件对应的片段文件目录。
403、释放片段文件目录中的片段文件;
系统确定目标文件对应的片段文件目录之后,将片段文件目录中下的片段文件释放回空闲片段文件池中。
404、删除片段文件目录及目标文件。
片段文件被释放之后,系统将删除目标文件及目标文件对应的用于存储片段文件的片段文件目录。
需要说明的是,系统还可以对文件改名操作进行优化处理,请参阅图5,为本发明实施例中一种文件改名操作方法的实施例,包括:
501、拦截应用系统的文件改名操作请求;
系统将拦截应用系统的文件改名操作请求。
502、获得目标文件及目标文件对应的片段文件目录;
系统将根据文件改名操作中包含的文件名获得目标文件及目标文件对应的片段文件目录。
503、修改目标文件及目标文件对应的片段文件目录的名称。
系统获得目标文件及目标文件对应的片段文件目录之后,将根据文件改名操作请求中包含的名称修改目标文件及目标文件对应的片段文件目录的名称。
在本发明实施例的图3,4所示的实施例中,对读操作请求及删除操作请求中,由于片段文件是按RAID条带对齐的方式创建及写入数据的,使得在执行操作时,能够从写满的RAID条带中读出数据或删除数据,有效的避免了碎片的产生。
请参阅图6,为本发明实施例一种写操作装置,包括:
拦截模块601,用于拦截写操作请求,写操作请求包含文件数据、文件数据所属的目标文件的类型及名称;
分片模块602,用于将写操作请求中包含的文件数据进行分片,其中分片的大小与文件系统中预置的片段文件的存储大小相同,片段文件的存储大小为预置的RAID条带存储大小的整数倍;
获取模块603,用于根据写操作请求中包含的文件数据所属的目标文件的类型及名称获取文件数据将要写入的片段文件;
写入模块604,用于将分片之后的文件数据写入所获取的片段文件对应的RAID条带中。
在本发明实施例中,装置还包括:
补零模块605,用于当最后写入数据的RAID条带没有写满时,采用补零的方式写满最后写入数据的RAID条带。
在本发明实施例中,通过拦截系统的写操作,并将写操作中的文件数据按照预置的片段文件的存储大小进行分片,将分片后的文件数据写入按RAID对应的片段文件中,使得写操作请求中的文件数据能够按RAID条带对齐的方式进行存储,写入数据时不需要将已有的数据读出,避免了写惩罚的产生,提高系统的IO性能。
为更好的理解技术,将对图6所示的实施例中的获取模块603进行详细介绍,请参阅图7,为本发明实施例获取模块的实施例,包括:
目标文件获取模块701,用于按照文件数据所属的目标文件的类型及名称获取目标文件;
编号确定模块702,用于根据写操作请求中包含的文件数据的大小及当前写文件位置,确定文件数据将要写入的目标文件的片段文件的编号;
片段文件获取模块703,用于根据片段文件的编号获取对应的片段文件。
其中,目标文件获取模块701还包括:
目标文件判断模块7011,用于根据文件数据所属的目标文件的类型及名称判断目标文件是否存在;
创建模块7012,用于当目标文件不存在时,创建目标文件及目标文件对应的片段文件目录,片段文件目录下保存着目标文件的片段文件。
其中,片段文件获取模块703包括:
片段文件判断模块7031,用于根据片段文件的编号判断将要写入文件数据的片段文件是否存在;
空闲片段文件获取模块7032,用于当将要写入文件数据的片段文件不存在时,移动空闲片段文件到文件数据所属的目标文件对应的目标文件目录下;
编号修改模块7033,用于将移入的空闲片段文件的编号修改为文件数据将要写入的片段文件的编号。
为加深对技术的理解,请参阅8,为本发明实施例写入模块的实施例。包括:
写入模块604包括以下三组模块中的任意一种,分别为:
1)第一写入模块801,用于当目标文件及目标文件对应的片段文件建立在高速写cache存储空间时,将写操作中的文件数据写入高速写cache存储空间目标文件对应的片段文件中;
第一迁移模块802,用于当预置的固定周期结束或者检测到高速写cache存储空间的剩余空间小于预置的数值时,将高速写cache存储空间中的片段文件迁移到慢速存储空间上;
第一释放模块803,用于释放高速写cache存储空间中的冷片段文件。
2)第二写入模块804,用于当目标文件及目标文件对应的片段文件同时建立在一级高速存储空间和二级慢速存储空间时,将写操作中的文件数据写入一级高速存储空间中目标文件对应的片段文件中;
第二迁移模块805,用于当预置的固定周期结束或者检测到一级高速存储空间的剩余空间小于预置的数值时,将一级高速存储空间中的冷片段文件迁移到二级慢速存储空间上;
第二释放模块806,用于释放一级高速存储空间中的冷片段文件。
3)第三写入模块807,用于当目标文件及目标文件对应的片段文件同时建立在一级高速存储空间和二级慢速存储空间时,将写操作中的文件数据写入二级慢速存储空间中目标文件对应的片段文件中;
统计模块808,预置的固定周期结束时,统计得到二级慢速存储空间中访问次数大于预置次数的片段文件;
第三迁移模块809,用于将片段文件迁移到一级高速存储空间上;
第三释放模块810,释放二级慢速存储空间中的访问次数大于预置次数的片段文件。
在本发明实施例中,写入模块604将写操作中的文件数据写入目标文件对应的片段文件中有以下三种情况,分别为:
1)若目标文件及目标文件对应的片段文件建立在高速写cache存储空间上,第一写入模块801将写操作中的文件数据写入高速写cache存储空间目标文件对应的片段文件中,当预置的固定周期结束或者检测到高速写cache存储空间的剩余空间小于预置的数值时,第一迁移模块802将高速写cache存储空间中的片段文件迁移到慢速存储空间上,并由第一释放模块803释放高速写cache存储空间中的冷片段文件。
2)若目标文件及目标文件对应的片段文件同时建立在一级高速存储空间和二级慢速存储空间上,第二写入模块804将写操作中的文件数据写入一级高速存储空间中目标文件对应的片段文件中,当预置的固定周期结束或者检测到一级高速存储空间的剩余空间小于预置的数值时,第二迁移模块805将一级高速存储空间中的冷片段文件迁移到二级慢速存储空间上,并由第二释放模块806释放一级高速存储空间中的冷片段文件。
3)若目标文件及目标文件对应的片段文件同时建立在一级高速存储空间和二级慢速存储空间上,第三写入模块807将写操作中的文件数据写入二级慢速存储空间中目标文件对应的片段文件中,预置的固定周期结束时,统计模块808将统计得到二级慢速存储空间中访问次数大于预置次数的片段文件并将结果发送给第三迁移模块809,第三迁移模块809将访问次数大于预置次数的片段文件迁移到一级高速存储空间上,片段文件迁移后,第三释放模块810将释放二级慢速存储空间中的访问次数大于预置次数的片段文件。
需要说明的是,在现有的流媒体系统中,一般包括应用系统、文件系统及存储系统,存储系统大多采用大容量的RAID存储数据。在本发明实施例中,可以通过在流媒体系统中插入插件的方式达到对特定类型的目标文件进行优化处理的目的,例如插件可以夹在应用系统与文件系统之间,包括用于设置参数的配置模块,用于拦截文件操作的拦截处理模块,及用于创建片段文件、给片段文件分配存储空间、释放片段文件的文件分片池处理模块,在本发明实施例中,插件所包含的功能也可由流媒体系统中原有的系统去完成,并不一定要用添加插件的形式,在实际应用中优化方式的具体实施方法根据情况而定,此处不做限定。
本发明实施例是系统处理写操作使用的优化装置,系统还可以通过拦截特定的文件操作的方式优化处理读操作,删除文件操作,文件改名操作等,请分别参看图9,图10,图11。
请参阅图9,为本发明实施例一种读操作装置,包括:
拦截模块901,用于拦截应用系统的读操作请求;
第一获取模块902,用于拦截模块901拦截读操作请求后,根据读操作请求中所包含的文件名和读文件位置信息得到目标文件对应的片段文件;
读取模块903,从目标文件对应的片段文件中读取文件数据。
请参阅图10,为本发明实施例一种删除文件操作装置,包括:
拦截模块1001,用于拦截应用系统的删除文件操作请求;
第二获取模块1002,用于拦截模块拦截删除文件操作请求后,根据删除文件操作中包含的文件的名称信息获取目标文件对应的片段文件目录;
片段文件释放模块1003,用于将片段文件目录中的片段文件释放回空闲片段文件池中;
删除模块1004,用于删除片段文件目录及目标文件。
请参阅图11,为本发明实施例一种文件改名操作装置,包括:
拦截模块1101,用于拦截应用系统的文件改名操作请求;
第三获取模块1102,用于拦截模块1101拦截文件改名操作请求后,根据文件改名操作包含的文件名获得目标文件及目标文件对应的片段文件目录;
改名模块1103,用于根据文件改名操作请求修改目标文件及目标文件对应的片段文件目录的名称。
在本发明实施例图9,10,11所示实施例中,描述的是对按RAID条带对齐方式写入数据的片段文件的读操作、删除文件操作及文件改名操作的优化处理,由于其中的片段文件中被写入数据的RAID条带都处于写满的状态,使得有效的减少碎片的产生。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种写操作方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种写操作方法,其特征在于,包括:
拦截写操作请求,所述写操作请求包含文件数据、所述文件数据所属的目标文件的类型及名称;
将所述写操作请求中包含的文件数据进行分片,其中分片的大小与文件系统中预置的片段文件的存储大小相同,所述片段文件的存储大小为预置的RAID条带存储大小的整数倍;
根据所述写操作请求中包含的文件数据所属的目标文件的类型及名称获取所述文件数据将要写入的片段文件;
将分片之后的文件数据写入所获取的片段文件对应的RAID条带中。
2.根据权利要求1所述的方法,其特征在于,所述写操作请求还包括所述文件数据的大小及当前写文件位置;
所述根据所述写操作请求中包含的文件数据所属的目标文件的类型及名称获取文件数据将要写入的片段文件包括:
按照所述文件数据所属的目标文件的类型及名称获取目标文件;
根据写操作请求中包含的文件数据的大小及当前写文件位置,确定所述文件数据在将要写入的所述目标文件的片段文件的编号;
根据所述片段文件的编号获取对应的片段文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述文件数据所属的目标文件的类型及名称获取目标文件包括:
根据所述文件数据所属的目标文件的类型及名称判断所述目标文件是否存在;
若不存在,则创建目标文件及所述目标文件对应的片段文件目录,所述片段文件目录下保存着所述目标文件的片段文件。
4.根据权利要求2所述的方法,其特征在于,所述根据所述片段文件的编号获取对应的片段文件包括:
根据所述片段文件的编号判断将要写入所述文件数据的片段文件是否存在;
若不存在,则移动空闲片段文件到所述文件数据所属的目标文件对应的目标文件目录下;
将移入的空闲片段文件的编号修改为所述文件数据将要写入的片段文件的编号。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述将分片之后的文件数据写入所获取的片段文件对应的RAID条带中之后还包括:
当最后写入数据的RAID条带没有写满时,采用补零的方法写满所述最后写入数据的RAID条带。
6.一种写操作装置,其特征在于,包括:
拦截模块,用于拦截写操作请求,所述写操作请求包含文件数据、所述文件数据所属的目标文件的类型及名称;
分片模块,用于将所述写操作请求中包含的文件数据进行分片,其中分片的大小与文件系统中预置的片段文件的存储大小相同,所述片段文件的存储大小为预置的RAID条带存储大小的整数倍;
获取模块,用于根据所述写操作请求中包含的文件数据所属的目标文件的类型及名称获取文件数据将要写入的片段文件;
写入模块,用于将分片之后的文件数据写入所获取的片段文件对应的RAID条带中。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
目标文件获取模块,用于按照所述文件数据所属的目标文件的类型及名称获取目标文件;
编号确定模块,用于根据写操作请求中包含的文件数据的大小及当前写文件位置,确定文件数据将要写入的目标文件的片段文件的编号;
片段文件获取模块,用于根据所述片段文件的编号获取对应的片段文件。
8.根据权利要求7所述的装置,其特征在于,所述目标文件获取模块包括:
目标文件判断模块,用于根据所述文件数据所属的目标文件的类型及名称判断所述目标文件是否存在;
创建模块,用于当所述目标文件不存在时,创建目标文件及所述目标文件对应的片段文件目录,所述片段文件目录下保存着所述目标文件的片段文件。
9.根据权利要求7所述的装置,其特征在于,所述片段文件获取模块包括:
片段文件判断模块,用于根据所述片段文件的编号判断将要写入所述文件数据的片段文件是否存在;
空闲片段文件获取模块,用于所述当将要写入文件数据的片段文件不存在时,移动空闲片段文件到所述文件数据所属的目标文件对应的目标文件目录下;
编号修改模块,用于将移入的空闲片段文件的编号修改为所述文件数据将要写入的片段文件的编号。
10.根据权利要求6至9任意一项所述的装置,其特征在于,所述装置还包括:
补零模块,用于当最后写入数据的RAID条带没有写满时,采用补零的方式写满所述最后写入数据的RAID条带。
CN201010609767A 2010-12-28 2010-12-28 一种写操作方法及装置 Active CN102063270B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010609767A CN102063270B (zh) 2010-12-28 2010-12-28 一种写操作方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010609767A CN102063270B (zh) 2010-12-28 2010-12-28 一种写操作方法及装置

Publications (2)

Publication Number Publication Date
CN102063270A true CN102063270A (zh) 2011-05-18
CN102063270B CN102063270B (zh) 2012-09-19

Family

ID=43998564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010609767A Active CN102063270B (zh) 2010-12-28 2010-12-28 一种写操作方法及装置

Country Status (1)

Country Link
CN (1) CN102063270B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360273A (zh) * 2011-09-26 2012-02-22 北京邦诺存储科技有限公司 控制存储器与非易失性缓存装置协同存储的设备和方法
CN102708107A (zh) * 2011-12-13 2012-10-03 北京安天电子设备有限公司 一种追加式文件存储的方法及系统
CN102819406A (zh) * 2012-07-04 2012-12-12 浙江宇视科技有限公司 一种前端数据存储方法及装置
CN103197987A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 一种数据备份的方法、数据恢复的方法及系统
CN104102724A (zh) * 2014-07-22 2014-10-15 浪潮电子信息产业股份有限公司 一种基于视频监控数据的写入方法
CN105117168A (zh) * 2015-08-17 2015-12-02 联想(北京)有限公司 一种信息处理方法和电子设备
CN106445423A (zh) * 2016-12-06 2017-02-22 郑州云海信息技术有限公司 基于nvram存储系统直接纠删码的优化方法和系统
CN107948233A (zh) * 2016-10-13 2018-04-20 华为技术有限公司 处理写请求或读请求的方法、交换机、控制节点
CN108491290A (zh) * 2018-03-28 2018-09-04 新华三技术有限公司 一种数据写入方法及装置
CN109992445A (zh) * 2019-04-11 2019-07-09 苏州浪潮智能科技有限公司 一种修改写操作的处理方法、装置、电子设备及存储介质
CN110471623A (zh) * 2019-07-31 2019-11-19 深圳市博实结科技有限公司 硬盘文件写入方法、装置、计算机设备和存储介质
CN112860599A (zh) * 2019-11-28 2021-05-28 中国电信股份有限公司 数据缓存处理方法、装置以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094547A (ja) * 2002-08-30 2004-03-25 Toshiba Corp Raidコントローラ及びraidコントローラにおけるディスクアレイ制御方法
CN201397674Y (zh) * 2009-04-21 2010-02-03 北京国科环宇空间技术有限公司 一种存储设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094547A (ja) * 2002-08-30 2004-03-25 Toshiba Corp Raidコントローラ及びraidコントローラにおけるディスクアレイ制御方法
CN201397674Y (zh) * 2009-04-21 2010-02-03 北京国科环宇空间技术有限公司 一种存储设备

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360273A (zh) * 2011-09-26 2012-02-22 北京邦诺存储科技有限公司 控制存储器与非易失性缓存装置协同存储的设备和方法
CN102708107A (zh) * 2011-12-13 2012-10-03 北京安天电子设备有限公司 一种追加式文件存储的方法及系统
CN103197987A (zh) * 2012-01-04 2013-07-10 中兴通讯股份有限公司 一种数据备份的方法、数据恢复的方法及系统
CN102819406A (zh) * 2012-07-04 2012-12-12 浙江宇视科技有限公司 一种前端数据存储方法及装置
CN104102724A (zh) * 2014-07-22 2014-10-15 浪潮电子信息产业股份有限公司 一种基于视频监控数据的写入方法
CN105117168A (zh) * 2015-08-17 2015-12-02 联想(北京)有限公司 一种信息处理方法和电子设备
CN107948233B (zh) * 2016-10-13 2021-01-08 华为技术有限公司 处理写请求或读请求的方法、交换机、控制节点
CN107948233A (zh) * 2016-10-13 2018-04-20 华为技术有限公司 处理写请求或读请求的方法、交换机、控制节点
CN106445423A (zh) * 2016-12-06 2017-02-22 郑州云海信息技术有限公司 基于nvram存储系统直接纠删码的优化方法和系统
CN108491290A (zh) * 2018-03-28 2018-09-04 新华三技术有限公司 一种数据写入方法及装置
CN108491290B (zh) * 2018-03-28 2021-07-23 新华三技术有限公司 一种数据写入方法及装置
CN109992445A (zh) * 2019-04-11 2019-07-09 苏州浪潮智能科技有限公司 一种修改写操作的处理方法、装置、电子设备及存储介质
CN110471623A (zh) * 2019-07-31 2019-11-19 深圳市博实结科技有限公司 硬盘文件写入方法、装置、计算机设备和存储介质
CN110471623B (zh) * 2019-07-31 2023-12-29 深圳市博实结科技股份有限公司 硬盘文件写入方法、装置、计算机设备和存储介质
CN112860599A (zh) * 2019-11-28 2021-05-28 中国电信股份有限公司 数据缓存处理方法、装置以及存储介质
CN112860599B (zh) * 2019-11-28 2024-02-02 中国电信股份有限公司 数据缓存处理方法、装置以及存储介质

Also Published As

Publication number Publication date
CN102063270B (zh) 2012-09-19

Similar Documents

Publication Publication Date Title
CN102063270B (zh) 一种写操作方法及装置
US10031675B1 (en) Method and system for tiering data
KR101377147B1 (ko) 직접적인 데이터 파일 저장 메모리들에서의 데이터 통합 및가비지 수집
CN100454313C (zh) 将文件储存至一数据储存装置的方法及该数据储存装置
CN104090847B (zh) 一种固态存储设备的地址分配方法
CN105589812B (zh) 磁盘碎片整理方法、装置及主机
CN103020174B (zh) 相似性分析方法、装置及系统
CN110612511B (zh) 使用流选择性地向分配区域中存储数据
TWI476676B (zh) 用於使用不同叢集尺寸的儲存裝置之檔案系統
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
EP2972747B1 (en) Data storage, file and volume system providing mutliple tiers
CN103631940A (zh) 一种应用于hbase数据库的数据写入方法及系统
CN112771493B (zh) 将写入流分离到多个分区中
CN103761053A (zh) 一种数据处理方法和装置
US20130111153A1 (en) Distributed storage system, apparatus and method for managing a distributed storage in consideration of latency elements
CN103514210A (zh) 小文件处理方法及装置
CN104462389A (zh) 基于分级存储的分布式文件系统实现方法
US20140250282A1 (en) Storage system
CN104123237A (zh) 海量小文件分级存储方法及系统
JP2005208950A (ja) 記憶装置の複製データ格納システムと複製データ格納方法および複製データ格納プログラム
CN102096679A (zh) 一种索引段合并和写入磁盘的方法及装置
CN100580669C (zh) 在Flash存储介质上的关于文件分配表的缓存实现方法
US20170255393A1 (en) Storage device and storage method
KR100907477B1 (ko) 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법
KR101686346B1 (ko) 하이브리드 ssd 기반 하둡 분산파일 시스템의 콜드 데이터 축출방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220829

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.