发明内容
本发明实施例提供数据存储管理方法、数据存储管理装置和系统。
本发明实施例提供的一种数据存储管理方法,包括:
接收文件写入请求,所述文件写入请求包含所述请求写入的文件的类型信息;
根据预置的类型信息和存储设备的对应关系,为所述请求写入的文件分配所述文件的类型信息对应的存储设备。
本发明实施例提供的一种数据存储管理装置,包括:
接收单元,用于接收文件写入请求,所述文件写入请求包含所述请求写入的文件的类型信息;
分配单元,用于根据预置的类型信息和存储设备的对应关系,为所述请求写入的文件分配所述文件的类型信息对应的存储设备。
本发明实施例提供的一种应用服务器,包括:
文件获取单元,用于获得需要保存的文件;
信息生成单元,用于根据使用文件的应用程序生成文件的类型信息;
写入控制单元,用于向数据存储管理装置发送文件写入请求,所述文件写入请求包含写入文件对应的类型信息。
本发明实施例提供的一种数据存储系统,包括:应用服务器和数据存储管理装置和存储阵列;
应用服务器,用于在获得需要保存的文件时并根据使用文件的应用程序生成文件的类型信息;并向所述数据存储管理装置发送文件写入请求;
数据存储管理装置,用于接收所述应用服务器文件写入请求,所述文件写入请求包括:所述文件写入请求包含所述请求写入的文件的类型信息;并在存储阵列中为所述请求写入的文件分配所述文件的类型信息对应的存储设备;
所述存储阵列与数据存储管理装置相连,用于在数据存储管理装置的控制下,存储文件数据。
本发明实施例根据预置的类型信息和存储设备的对应关系,为所述请求写入的文件分配所述文件的类型信息对应的存储设备。由于不同类型的文件对存储设备的要求是不同的,例如:有的文件可能需要高速的读写、有的文件可能需要更高安全性,因此对不同类型的文件区分存储,实现了文件存储过程中对存储设备的选择,进而使得在数据的读写过程中可以充分发挥非同质存储阵列中不同存储设备的性能优势。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供数据存储管理方法、数据存储管理装置和系统,下面进行详细说明。
实施例一、一种数据存储管理方法,流程如图1所示,包括:
A1,数据存储管理设备接收文件写入请求,文件写入请求包含请求写入的文件的类型信息;
本发明实施例中,对文件进行划分,并标识文件的类型信息,文件的划分可以有多种方式,可以按照使用文件的应用程序对文件读写的要求进行划分、如:视频播放程序对应的视频文件需要更快的存储和读取速度、银行数据、用户数据需要更好的安全性等。
下面简单的将文件划分为两个类型,即高速型和普通型;数据存储管理装置接收的属性信息中包含文件的类型(高速类型或普通类型)。
高速型,具有高每秒读写次数(Input Output per Second。IOPS)属性;
普通型,为对读写速度没有特殊要求的属性类型。
A2,根据预置的类型信息和存储设备的对应关系,为请求写入的文件分配文件的类型信息对应的存储设备。
本实施例中,若将文件类型划分为高速型和普通型;则可以采取下述方式根据文件类型分配存储设备。
若文件类型为高速型,则为文件分配闪存式存储设备;闪存式存储设备是以闪存(Flash)为存储介质的设备;若文件类型为普通文件类型,则为文件分配磁介质存储设备。
常见的闪存式存储设备有固态硬盘、安全数码卡(Secure Digital MemoryCard,SD Card)等类似的设备。常见的磁介质存储设备有磁介质硬盘、磁带、软盘等。
本发明实施例根据预置的类型信息和存储设备的对应关系,为请求写入的文件分配文件的类型信息对应的存储设备。由于不同类型的文件对存储设备的要求是不同的,例如:有的文件可能需要高速的读写、有的文件可能需要更高安全性,因此对不同类型的文件区分存储,实现了文件存储过程中对存储设备的选择,进而使得在数据的读写过程中可以充分发挥非同质存储阵列中不同存储设备的性能优势。
实施例二、一种数据存储管理方法,流程如图2所示,包括:
B1,数据存储管理装置接收文件写入请求,文件写入请求包含请求写入的文件的类型信息。
本实施例中,所述文件写入请求可以是由应用服务器发送的,所述文件的类型信息可以由应用服务器在获得需要保存的文件时根据文件的应用程序生成。
文件写入请求可以是文件输入输出(Input/Output,IO)请求,通过输入输出请求携带的标识,可以区分“写入”还是“读取”。
B2,数据存储管理装置获取文件写入请求中的文件体积信息;
可以理解,文件写入请求中需要包含文件体积信息,以便于数据存储管理装置根据体积信息以及各个存储设备的容量分配存储空间。
B3,数据存储管理装置根据文件的类型信息获得对应的存储设备;
本实施例中,为了为不同类型的文件分配不同的存储设备,可以预先在数据存储管理装置内保存各个文件类型对应的存储设备,如:高速型对应固态硬盘存储设备、普通型对应磁介质存储设备。
本发明实施例中,文件的类型信息可以采取多种方式表示文件的类型,具体的表示方式不构成对本发明的限制。以上述的高速型和普通型为例,可以通过携带一个标识来表示,如:HIGH指示高速型、LOW指示普通型,还可以通过一个标志位来表示,1为高速型、0则为普通型、还可以是携带HIGH标识则为高速型、不携带标识则默认为普通型。
B4,数据存储管理装置根据文件体积信息在存储设备上为文件分配存储空间。在基于网络附着存储(Network Attached Storage,NAS)的存储系统中具体的分配存储空间的过程通过分配逻辑块的方式实现。
实施例三、一种数据存储管理方法,流程图如图3所示,包括:
C1,应用服务器获得需要保存的文件并根据使用文件的应用程序生成文件的类型信息;
本实施例中,需要保存的文件可以是应用服务器生成的,也可以是用户发送给应用服务器进行保存的。
本实施例中,首先在应用服务器的文件系统上,扩展了文件系统中的文件结构(file struct)的属性字段,用以区分不同性质的应用程序访问的文件。比如扩展属性可以是:高IOPS属性(用于视频点播文件),协议定义为:
#define HIGH_IOPS 0x10
应用服务器上的进程创建文件,命令为:
fd=fopen(PATH,mode|HIGH_IOPS);
当用户写入文件时,应用服务器上的网络文件系统根据应用程序生成该文件的类型信息,通过远程过程调用将文件的访问请求传输到数据存储管理装置,应用服务器和数据存储管理装置间的传输协议和结构符合IP LAN标准。
C2,应用服务器发送的包含文件的类型信息的文件写入请求给存储管理设备;
C3,数据存储管理装置接收文件写入请求,文件写入请求包含请求写入的文件的类型信息。
控制器文件系统解析输入的写入请求,便可以得知文件模式中是否带有文件类型信息,以及文件类型信息的具体内容。
文件写入请求可以是文件输入输出(Input/Output,IO)请求,通过输入输出请求携带的标识,可以区分“写入”还是“读取”。
C4,数据存储管理装置获取文件写入请求中的文件体积信息;
可以理解,文件写入请求中需要包含文件体积信息,以便于数据存储管理装置根据体积信息以及各个存储设备的容量分配存储空间。
C5,数据存储管理装置根据文件的类型信息获得对应的存储设备;
本实施例中,为了为不同类型的文件分配不同的存储设备,可以预先在数据存储管理装置内保存各个文件类型对应的存储设备类型列表,如:高速型对应固态硬盘存储设备、普通型对应磁介质存储设备。
数据存储管理装置解析得到该文件写入请求中包含HIGH_IOPS标识,则可以查找该标识的对应的存储设备类型,本例中,数据存储管理装置查找得到HIGH_IOPS标识对应固态硬盘,则决定将该文件写入到固态硬盘。
C6,数据存储管理装置根据文件体积信息在存储设备上为文件分配逻辑块。
数据存储管理装置在在分配逻辑块时,使用块(block)分配算法,根据文件的大小在上述步骤为文件分配block,同时记录这些使用的block,以使得在进行数据读取的时候,可以找到存储的文件。
C7,接收请求写入的文件,并将文件写入分配的存储设备。
本发明实施例中,请求写入的文件可以和步骤C1的文件写入请求一起发送给数据存储管理装置,数据存储管理装置为文件分配逻辑块后,则可以将文件写入到对应的块地址,可以理解,请求写入的文件也可以不和文件写入请求一起发送给数据存储管理装置,可以根据实际的情况,后续发送给数据存储管理装置进行存储,如:在逻辑块分配完毕后,应用服务器再将文件发送给数据存储管理装置进行存储。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
实施例四,一种数据存储管理装置,结构示意图如图4所示,包括:
接收单元410,用于接收文件写入请求,文件写入请求包含请求写入的文件的类型信息;
分配单元420,用于根据预置的类型信息和存储设备的对应关系,为请求写入的文件分配文件的类型信息对应的存储设备。
在实际应用中,分配单元420可以包括:
体积信息获取子单元421,用于获取所述文件写入请求中的文件体积信息;
存储设备分配子单元422,用于根据所述文件的类型信息获取对应的存储
设备;
存储空间分配子单元423,用于根据所述文件体积信息在所述存储设备上为所述请求写入的文件分配存储空间。
本实施例中的数据存储管理装置还可以包括:写入处理单元430,用于接收请求写入的文件,并将文件写入分配单元分配的存储设备。
实施例五、一种应用服务器,结构示意图如图5所示,包括:
文件获取单元510,用于获得需要保存的文件;
信息生成单元520,用于根据使用文件的应用程序生成文件的类型信息;
写入控制单元530,用于向数据存储管理装置发送文件写入请求,所述文件写入请求包含写入文件对应的类型信息。
实施例六、一种数据存储系统,结构示意图如图6所示,包括:应用服务器610、数据存储管理装置620和存储阵列630;
应用服务器610,用于在获得需要保存的文件时并根据使用文件的应用程序生成文件的类型信息;并向数据存储管理装置发送文件写入请求;
数据存储管理装置620,用于接收应用服务器文件写入请求,文件写入请求包括:文件写入请求包含请求写入的文件的类型信息;并在存储阵列630中根据预置的类型信息和存储设备的对应关系,为请求写入的文件分配文件的类型信息对应的存储设备;
存储阵列630与数据存储管理装置620相连,用于在数据存储管理装置620的控制下,存储文件数据。
本实施例中,数据存储管理装置620可以和多个应用服务器610相连,为多个应用服务器提供数据存储服务。
以上对本发明实施例所提供的数据存储管理方法、数据存储管理装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。