CN110765094B - 文件创建方法、装置、系统及存储介质 - Google Patents
文件创建方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN110765094B CN110765094B CN201911019557.9A CN201911019557A CN110765094B CN 110765094 B CN110765094 B CN 110765094B CN 201911019557 A CN201911019557 A CN 201911019557A CN 110765094 B CN110765094 B CN 110765094B
- Authority
- CN
- China
- Prior art keywords
- file
- identifier
- target
- root directory
- capacity
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供的文件创建方法、装置、系统及存储介质,涉及视频文件系统领域,应用于视频文件系统中数据存储节点,该方法包括:获取多个文件创建请求;多个文件创建请求包含多个文件标识和所多个文件标识所属的根目录标识;根据根目录标识确定与每个文件标识对应的目标容量空间标识;目标容量空间标识对应的目标容量空间属于根目录标识对应的多个容量空间;将每个文件标识对应的文件创建至与目标容量空间标识对应的目标容量空间中。本申请节省了遍历查询的时间,能够并发处理同一根目录上的多个文件创建请求,提高了创建文件效率。
Description
技术领域
本申请涉及视频文件系统领域,具体而言,涉及文件创建方法、装置、系统及存储介质。
背景技术
目前的文件存储方案一般都采用分布式文件系统架构,分布式文件系统存储容量大,同时具有可扩展和可并发等性能。其中,视频监控文件系统是专门针对监控视频文件的文件系统,在存储视频信息之前,通常需要先创建用于存储视频信息的文件,因此,当视频文件系统接收到大量的文件创建请求,尤其是当同一目录下存在大量的创建文件请求时,如何保证创文件创建的效率,提高文件创建并发数是提高文件系统性能的关键问题。
在现有技术中,针对同一个目录下的多个文件创建请求,通常需要遍历查询根目录容量和存储节点容量是否满足创建文件需求,且在遍历的过程中一次只能处理一个创建文件请求,不能实现在同一目录上并发处理请求的目的,使得创建文件的效率低,时间开销大。
发明内容
有鉴于此,本发明的目的在于提供文件创建方法、装置、系统及存储介质,用以实现在同一根目录上并发处理请求,提高创建文件的效率,节省时间开销的有益效果。
为了实现上述目的,本发明实施例采取的技术方案如下:
第一方面,本申请提供一种文件创建方法,应用于视频文件系统中数据存储节点,所述方法包括:
获取多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的根目录标识;
根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;
将每个所述文件标识对应的文件创建至与所述目标容量空间标识对应的目标容量空间中。
可选地,所述数据存储节点获得文件创建请求的步骤,包括:接收中央存储管理设备发送的所述多个文件创建请求。
可选地,当所述数据存储节点包括多个逻辑单元号LUN时,每个所述LUN对应一个LUN标识,每个所述LUN上具有多个容量空间;所述根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识的步骤,包括:根据所述多个文件标识确定目标LUN标识;根据所述根目录标识和所述目标LUN标识确定每个所述文件标识对应的所述目标容量空间标识。
可选地,当所述数据存储节点包括一个LUN时,所述一个LUN对应一个LUN标识;所述一个LUN上具有多个容量空间,所述根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识的步骤包括:根据所述根目录标识和所述一个LUN标识确定每个所述文件标识对应的所述目标容量空间标识。
第二方面,本申请实施例提供一种文件创建方法,应用于视频文件系统中的中央存储管理设备,所述视频文件系统还包括多个数据存储节点,所述方法包括:
接收多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的根目录标识;
根据所述多个文件标识确定目标数据存储节点标识,以使所述目标数据存储节点标识对应的目标存储节点根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;
向所述目标数据存储节点标识对应的目标存储节点发送所述多个文件创建请求,以使所述目标数据存储节点将每个所述文件标识对应的文件创建至所述目标容量空间标识对应的目标容量空间中。
可选地,所述接收多个文件创建请求步骤之前,还包括:向所述多个数据存储节点分配所述根目录标识对应的多个容量空间。
第三方面,本申请实施例提供一种文件创建装置,包括:获取模块、确定模块和创建模块。获取模块用于获取多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的根目录标识;确定模块,用于根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;创建模块,用于将每个所述文件标识对应的文件创建至与所述目标容量空间标识对应的目标容量空间中。
第四方面,本申请实施例提供一种文件创建装置,包括:接收模块、确定模块和发送模块。
接收模块,用于接收多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的根目录标识;
确定模块,用于根据所述多个文件标识确定目标数据存储节点标识,以使所述目标数据存储节点标识对应的目标存储节点根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;
发送模块,用于向所述目标数据存储节点标识对应的目标存储节点发送所述多个文件创建请求,以使所述目标数据存储节点将每个所述文件标识对应的文件创建至所述目标容量空间标识对应的目标容量空间中。
第五方面,本申请实施例一种文件创建系统,包括至少一个中央存储管理设备和多个数据存储设备,所述数据存储设备用于执行如第一方面所述的文件创建方法,所述中央存储管理设备用于执行如第二方面所述的文件创建方法。
第六方面,本申请实施例一个存储介质,其上存储有计算机程序,所述计算机程序用于执行如第一方面或第二方面所述的文件创建方法。
与现有技术相比,本申请具有以下有益效果:
本申请提供的一种文件创建方法、装置、系统及存储介质,应用于视频文件系统中的数据存储节点的文件创建方法,首先获取多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的根目录标识;然后根据所述根目录标识确定与每个所述文件标识对应的目标容量空间;所述目标容量空间属于所述根目录标识对应的多个容量空间;最后将每个所述文件标识对应的文件创建至与所述文件标识对应的目标容量空间中。与现有技术相比,该方法在获取到文件创建请求后不需要遍历查询根目录容量和数据存储节点容量,而是根据文件标识和根目录直接获取用于创建的目标容量空间,不仅节省了遍历查询的时间开销,同时能够并发的处理多个文件创建请求,提高了创建文件的效率。同时,应用于视频文件系统中的中央存储管理设备的文件创建方法,首先接收多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的根目录标识;再根据所述多个文件标识确定目标数据存储节点标识,以使所述目标数据存储节点标识对应的目标存储节点根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;最后向所述目标数据存储节点标识对应的目标存储节点发送所述多个文件创建请求,以使所述目标数据存储节点将每个所述文件标识对应的文件创建至所述目标容量空间标识对应的目标容量空间中。与现有技术相比,该方法在接收到文件创建请求后,不需要通过遍历查询容量的方法的来确定目标存储节点,而是直接根据文件标识确定用于创建文件的目标存储节点,节省了遍历带来的时间开销。同时,由于根目录的容量空间被分配到多个存储节点上,所以可以并发地根据根目录标识确定用于创建文件的目标容量空间,实现了并发创建文件的目的,提高了文件创建效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一种视频文件系统架构示意图;
图2为本申请提供的一种根目录容量划分机制;
图3为本申请提供的一种文件创建方法的流程图;
图4为本申请实施例提供的另一种文件创建方法的流程图;
图5为本申请实施例提供的另一种文件创建方法的流程图;
图6为本申请实施例提供的另一种文件创建方法的流程图;
图7为本申请实施例提供的另一种文件创建方法的流程图;
图8为本申请实施例提供的一种文件创建装置的结构框图;
图9为本申请实施例提供的另一种文件创建装置的结构框图;
图10为本申请实施例提供的一种文件创建系统示意图。
图标:101-中央存储管理设备;102-数据存储节点;103-计算机;104-摄像机;1021-逻辑单元号;70-文件创建装置;701-获取模块;702-确定模块;703-创建模块;80-文件创建装置;801-接收模块;802-确定模块;803-发送模块;90-文件创建系统。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,视频文件系统是专门针对监控视频文件的文件系统,在存储大量的视频监控信息之前,通常需要先创建文件来存储视频监控数据,视频数据以文件的形式存储之后,能够方便后期的查询与访问。
为了清楚的介绍视频文件系统创建文件的过程,本申请首先介绍一种视频文件系统架构,并结合视频系统架构的组成部分介绍视频文件系统的文件创建过程,参见图1,图1为一种视频文件系统架构示意图,该视频文件系统包括中央存储管理设备(CentralManagement,简称CM)101、多个数据存储节点(Data Note,简称DN)102、计算机103和多个摄像机104。
CM 101可以用于维护视频文件系统中根目录的容量信息和DN102的容量信息,当CM 101获得创建文件的请求消息时,可以根据遍历查询这些容量信息以确定满足文件创建需求的DN。
DN 102可以是用于存储文件数据的存储服务器、磁盘、或其他存储介质等,DN 102可以调用底层命令来进行文件创建。DN 102中还包括逻辑单元号(Logical Unit Number,简称LUN)1021,LUN 1021可以用来存储创建的文件数据。
摄像机104可以将采集到视频图像并发送给计算机103,计算机103在接收到视频图像数据后需要创建文件对接收到的视频数据进行存储,并将创建文件的请求消息并发送给CM 101,CM 101接收到创建文件的请求后将请求消息发送给DN 102,以使DN 102完成文件创建任务。
需要说明的是,图1所示的视频文件系统仅仅是为了实例,在一种可能的实现方式,图1中的CM 101可以采用一主多备的方式设置,即在正常情况下只有一个CM在工作,出现故障时会切换到备用CM上,相应地,每个DN下可以连接多个LUN,这种实现方式下的视频文件系统可以称之为集群版视频文件系统。在另一种可能实现的方式中,图1所示的系统中也可以仅设置一台CM,相应地,每个DN中只连接一个LUN,这种实现方式下的系统可以称之为单机版视频文件系统。还需要说明的是,集群版和单机版视频文件系统仅仅是为了区分两种不同实现方式下的视频文件系统,其具体设置方式这里不做限制。
在现有技术中,当计算机将属于同一个根目录的文件创建请求并发送给CM时,CM会根据多个创建文件大小遍历查询所对应的根目录容总量和数据存储节点容量满足创建文件的需求之后再进行文件创建,但是CM在遍历根查询根目录信息和DN容量信息时耗时较久,并且在遍历过程,为了保证数据一致性,同时只能有一个文件请求线程同时查询根目录容量和DN容量,这样就不能实现在同一根目录上并发处理文件创建请求的目的,使得创建文件的效率低,时间开销大。
例如,参见图1,假设当CM 101获得多个文件创建请求都属于同一个根目录,首先会根据多个文件的大小去查询根目录的容量是否满足创建请求,当查询到根目录的容量满足了第一个文件的创建需求时,CM 101根据第一个文件的大小继续遍历查询多个DN 102的容量是否满足要求,在这个过程中,为了保证数据一致性,CM 101只能处理第一个文件创建请求去查询根目录容量和DN容量,而不能处理剩余的文件请求,因此造成了不能并发处理属于同一根目录的多个文件创建请求的缺点。
为了解决上述问题,本申请提出一种根目录容量预分配的策略,示例性地,参见图2,图2为本申请提供的一种根目录容量划分机制,该策略是CM将根目录的容量分割成多个容量空间(slot),并将多个容量空间分配到各个DN上。
例如,参见图2,假设图1提供的视频文件系统中存在根目录1(root 1)、根目录2(root 2)以及R个数据存储节点DN1~DNR,则CM可以将根目录1的容量分割成n个容量空间,即slot 1~slot n,可以将根目录2的容量分割成m个容量空间,即slot 1~slot m,将根目录的容量分割之后,CM可以分别将这n和m个容量空间分别分配到R个DN上。
针对同一个DN而言,其可以拥有多个容量空间,而每个容量空间来自不同的根目录,例如,继续参见图2,DN 2可以同时拥有根目录1对应的容量空间slot 1和根目录2对应的容量空间slot 1,则DN 2上拥有的容量空间可以表示为:“slot 1.root 1”、“slot1.root 2”。
CM将根目录容量分配给DN后,当有属于同一个根目录的多个文件创建请求并发到来时,不用再遍历查询根目录容量和DN容量,而是直接通过预设的算法获得每个文件对应的目标容量空间来进行多个文件的创建,由于没有遍历查询的过程,CM和DN可以同时处理多个创建文件请求,从而可以实现在同一根目录上并发处理文件请求的目的,提高了创建文件的效率,节省了时间开销。
下面将基于图2提供的一种根目录容量预分配策略,详细介绍本申请实施例提供的一种文件创建方法,为了便于理解本申请实施例的技术方案,本申请实施例将结合图1,首先以图1中的DN 102为执行主体来介绍创建文件的技术方案。
示例性地,图3为本申请提供的一种文件创建方法的流程图,参见图3,该文件创建方法包括以下步骤:
步骤501、获取多个文件创建请求。
可选地,多个文件创建请求中包含多个文件标识和多个文件标识所属的根目录标识,其中,文件标识可以是文件名、文件的特定密级标识等,文件标识可以表征待创建文件的唯一身份属性。同理,根目录标识可以是根目录名,根目录的特定密级标识等,用于表征根目录的唯一身份属性。
步骤502、根据根目录标识确定与每个文件标识对应的目标容量空间标识。
可选地,目标容量空间标识对应的目标容量空间属于根目录标识对应的多个容量空间。目标容量空间标识可以是类似于文件标识的名称,例如,参见图2,对于根目录1而言,目标容量空间标识可以是slot 1、slot 2、slot 3…slotn等容量空间对应的编号,用以区分不同的容量空间。
步骤503、将每个文件标识对应的文件创建至目标容量空间标识对应的目标容量空间中。
可选地,对于待创建文件而言,其所对应的文件标识是固定的,那么根据上述步骤502所得到的目标容量空间标识也为固定的容量空间标识,也即,在本申请实施例中,目标容量空间标识与待创建文件(或待创建文件标识)为一一对应的关系。而如上所述,对于每个容量空间而言,容量空间对应的容量空间标识也可以表明容量空间的唯一身份属性,因此,目标容量空间标识对应的目标容量空间与待创建文件之间也为一一对应的关系。
本申请提供的一种文件创建方法,应用于视频文件系统中的数据存储节点,该方法首先获取多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的根目录标识;然后根据所述根目录标识确定与每个所述文件标识对应的目标容量空间;所述目标容量空间属于所述根目录标识对应的多个容量空间;最后将每个所述文件标识对应的文件创建至与所述文件标识对应的目标容量空间中。与现有技术相比,本申请在获取到文件创建请求后不需要遍历查询根目录容量和数据存储节点容量,而是根据文件标识和根目录直接获取用于创建的目标容量空间,不仅节省了遍历查询的时间开销,同时能够并发的处理多个文件创建请求,提高了创建文件的效率。
可选地,DN获取的多个文件创建请求可以是接收如图1所示的CM发送的多个文件创建请求。
上述实施例描述的文件创建的方法中,DN在获得文件请求中的文件标识后,需要确定文件标识对应的目标容量空间,当图1所示系统为集群版视频文件系统时,为了详细描述DN从多个LUN中确定多个文件标识对应的目标容量空间标识的过程,在图3的基础上,给出一种确定目标容量空间标识的可能的实现方式,参见图4,图4为本申请实施例提供的另一种文件创建方法的流程图,其中,步骤502的一种实现方式为:
步骤502a-1、根据多个文件标识确定目标LUN标识。
可以理解的是,DN连接的每个LUN也可以具有对应的LUN标识,LUN标识可以是类似于文件标识的名称,例如:LUN名称可以是LUN 1、LUN 2、LUN 3…LUN n等LUN的编号,用以区分不同的LUN。同样的,对于每个LUN而言,LUN对应的LUN标识也可以表明LUN的唯一身份属性。
可以理解的,在本申请实施例中,确定目标LUN标识的方式可以是通过计算多个文件标识对应的哈希值的方式来确定。而针对计算多个文件标识对应的哈希值的实现方式,可以利用文件标识除以LUN的总数,将得到的余数作为每个文件标识对应的哈希值,然后根据哈希值从不同的LUN标识中确定出目标LUN标识。
例如,参见图1,假设该DN 102存在四个LUN,其对应的LUN标识分别为LUN 1、LUN2、LUN 3和LUN 4,对于某一个待创建文件F的文件名计算其对应的哈希值为3,则可以确定LUN 3为目标LUN标识。
需要说明的是,根据哈希值确定目标LUN标识的方式仅仅为示例性的说明,在本公开实施例的其他实施方式中,也可以是根据其他预设算法,实现对目标LUN标识的确定。例如,若存在LUN标识依次为LUN 1至LUN n的n个LUN,则预设算法可以是从1至n中随机产生一个值x,则产生的值x所对应的LUN x即为目标LUN标识。此外,该预设算法还可以是指对哈希值按照规则进行其他运算,以得到唯一的LUN标识,对于预设算法的具体类型,本公开不作限定。
步骤502a-2、根据根目录标识和目标LUN标识确定每个文件标识对应的目标容量空间标识。
可选地,由于每个LUN上具有多个容量空间,每个容量空间来自不同的根目录,所以可以根据根目录标识和目标LUN标识确定出每个所述文件标识对应的目标容量空间标识,该目标容量空间标识对应的目标容量空间属于同一个根目录。
可选地,在另一种可能的实现方式中,当图1所示系统为单机版视频文件系统时,DN仅仅连接有一个LUN,DN可以直接将此LUN作为目标LUN,因此,在图3的基础上给出另一种确定目标容量空间标识的实现方式,参见图5,图5为本申请实施例提供的另一种文件创建方法的流程图,其中,步骤502的另一种实现方式为:
步骤502b-1、根据根目录标识和一个LUN标识确定每个文件标识对应的目标容量空间标识。
可选地,由于待创建文件的大小不固定,所以用于创建文件的容量空间不能保证被用完。为了不浪费空间,DN中可以存储回收容量空间(recyle slot),当每个根目录的容量空间有小部分容量剩余时,即将该部分容量作为回收容量空间,当文件标识对应的目标容量空间不满足创建文件需求时,DN可以向CM申请回收容量空间来进行文件创建,这样一来就能提高每个容量空间的空间利用率,避免了空间浪费。
上述实施例描述了当DN获得多个文件创建请求后执行的文件创建方法,为了介绍当如图1所示的CM 101获得文件创建请求后执行的文件创建方法,下面将以图1中的CM 101为执行主体来介绍本申请实施例提供的一种文件创建方法,图6为本申请实施例提供的另一种文件创建方法的流程图,参见图6,该文件创建方法包括以下步骤:
步骤601、接收多个文件创建请求。
可选地,多个文件创建请求包含多个文件标识和多个文件标识所属的根目录标识。
步骤602、根据多个文件标识确定目标数据存储节点标识,以使目标数据存储节点标识对应的目标存储节点根据根目录标识确定与每个文件标识对应的目标容量空间标识。
可选地,每个DN具有对应的DN标识,DN标识可以是类似于文件标识的DN名称,如:DN名称可以是DN1、DN 2、DN 3…DNn等DN的编号,用以区分不同的DN;另外,DN标识也可以是每个DN设备特有的设备号,例如,若DN为存储服务器,则DN标识可以是该存储服务器的设备号。同样的,对于每个DN而言,DN对应的DN标识也可以表明DN的唯一身份属性。同理,每个目标容量空间也具有用于区分身份的目标容量空间标识。
可选地,目标容量空间标识对应的目标容量空间属于根目录标识对应的多个容量空间。
步骤603、向目标数据存储节点发送多个文件创建请求,以使目标数据存储节点将每个文件标识对应的文件创建至目标容量空间中。
本申请提供的一种文件创建方法,应用于视频文件系统中的中央存储管理设备,该方法首先接收多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的根目录标识;再根据所述多个文件标识确定目标数据存储节点标识,以使所述目标数据存储节点标识对应的目标存储节点根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;最后向所述目标数据存储节点标识对应的目标存储节点发送所述多个文件创建请求,以使所述目标数据存储节点将每个所述文件标识对应的文件创建至所述目标容量空间标识对应的目标容量空间中。与现有技术相比,该方法在接收到文件创建请求后,不需要通过遍历查询容量的方法的来确定目标存储节点,而是直接根据文件标识确定用于创建文件的目标存储节点,节省了遍历带来的时间开销。同时,由于根目录的容量空间被分配到多个存储节点上,所以可以并发地根据根目录标识确定用于创建文件的目标容量空间,实现了并发创建文件的目的,提高了文件创建效率。
可选地,对于步骤602中根据多个文件标识确定目标数据存储节点标识的方式,可以是通过计算多个文件标识对应的哈希值确定目标数据存储节点标识,针对计算多个文件标识对应的哈希值的实现方式,可以利用文件标识除以数据存储节点的总数,将得到的余数作为每个文件标识对应的哈希值,然后根据哈希值从不同的数据存储节点标识中确定出目标数据存储节点标识。
例如,参见图1,若存在四个DN,其对应的DN标识分别为DN 1、DN 2、DN 3,DN 4,对于某一个待创建文件P的文件名计算其对应的哈希值为2,则可以确定DN 2为目标DN标识。
需要说明的是,该根据哈希值确定目标DN标识的方式仅仅为示例性的说明,在本公开实施例的其他实施方式中,也可以是根据其他预设算法,实现对目标DN标识的确定。例如,若存在DN标识依次为DN 1至DN n的n个DN,则预设算法可以是从1至n中随机产生一个值x,则所产生的值x所对应的DN x即为目标DN标识。此外,该预设算法还可以是指对哈希值按照规则进行其他运算,以得到唯一的DN标识,对于预设算法的具体类型,本公开不作限定。
可选地,CM根据文件标识确定的目标存储节点需要进一步确定用于创建文件的目标容量空间之后才能进行文件创建,那么为了描述目标存储节点拥有的容量空间来源,下面在图6的基础上,给出一种存储节点获得容量空间的可能的实现方式,参见图7,图7为本申请实施例提供的另一种文件创建方法的流程图,即在步骤601之前,还包括:
步骤600、向多个数据存储节点分配根目录标识对应的多个容量空间。
可选地,CM将根目录标识对应的多个容量空间分配给各个数据存储节点后,获得文件创建请求的目标存储节点可以根据根目录标识确定出用于创建文件的容量空间,对于一个根目录而言,由于每个数据存储节点上都拥有该根目录分配的容量空间,所以可以并发的确定目标容量空间,实现并发处理文件创建请求的效果。
图8示出了本申请实施例提供的一种文件创建装置的组成示意图,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该文件创建装置70可以包括:获取模块701、确定模块702和创建模块703。
获取模块701,用于获取多个文件创建请求。
可选地,多个文件创建请求包含多个文件标识和多个文件标识所属的根目录标识。
确定模块702,用于根据根目录标识确定与每个文件标识对应的目标容量空间标识。
可选地,目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间。
创建模块703,用于将每个文件标识对应的文件创建至与目标容量空间标识对应的目标容量空间中。
可以理解的是,获取模块701、确定模块702和创建模块703可以分别用来执行步骤501、步骤502和步骤503以实现相应的技术效果。
本申请实施例提供的一种文件创建装置,包括获取模块、确定模块和创建模块,获取模块用于获取多个文件创建请求;多个文件创建请求包含多个文件标识和多个文件标识所属的根目录标识。确定模块用于根据根目录标识确定与每个文件标识对应的目标容量空间标识;目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间,创建模块用于将每个文件标识对应的文件创建至与目标容量空间标识对应的目标容量空间中。该文件创建装置可以实现应用于数据存储节点的文件创建方法的有益效果。
可选地,当所述数据存储节点包括多个LUN时,每个所述LUN对应一个LUN标识,每个所述LUN上具有多个容量空间,确定模块702可以具体用于根据多个文件标识确定目标LUN标识;根据根目录标识和目标LUN标识确定每个文件标识对应的目标容量空间标识。
可选地,当数据存储节点包括一个LUN时,一个LUN对应一个LUN标识;所述一个LUN上具有多个容量空间,该确定模块702具体用于根据根目录标识和一个LUN标识确定每个文件标识对应的目标容量空间标识。
可以理解的是,确定模块702还可以用来执行步骤502a-1、步骤502a-2和步骤502b-1以实现相应的技术效果。
上述实施例提供的一种文件创建装置70,可以设置于如图1所示的DN中,用以实现应用于数据存储节点中的文件创建方法,以实现相应的技术效果。
当如图1所示的系统中,CM获得多个文件创建请求时,CM需要执行相应的文件创建方法来确定用于创建文件的目标DN,因此,本申请实施例还提供了一种文件创建装置,该文件创建装置可以设置于如图1所示的CM中,用以实现应用于中央存储管理设备中的文件创建方法,以实现相应的技术效果。
示例性地,图9示出了本申请实施例提供的另一种文件创建装置的组成示意图,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述实施例中相应内容。该文件创建装置80可以包括:接收模块801、确定模块802和发送模块803。
接收模块801,用于接收多个文件创建请求。
可选地,多个文件创建请求包含多个文件标识和多个文件标识所属的根目录标识。
确定模块802,用于根据多个文件标识确定目标数据存储节点标识,以使所述目标数据存储节点标识对应的目标存储节点根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识。
可选地,目标容量空间标识对应的目标容量空间属于根目录标识对应的多个容量空间。
发送模块803,用于向目标数据存储节点标识对应的目标存储节点发送多个文件创建请求,以使目标数据存储节点将每个文件标识对应的文件创建至目标容量空间标识对应的目标容量空间中。
可以理解的是,接收模块801、确定模块802、发送模块803可以分别执行步骤601、步骤602和步骤603以实现相应的技术效果。
本申请实施例提供了一种文件创建装置,包括接收模块、确定模块和发送模块。接收模块用于接收多个文件创建请求;多个文件创建请求包含多个文件标识和多个文件标识所属的根目录标识;确定模块用于根据多个文件标识确定目标数据存储节点标识,以使所述目标数据存储节点标识对应的目标存储节点根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;目标容量空间标识对应的目标容量空间属于根目录标识对应的多个容量空间;发送模块用于向目标数据存储节点标识对应的目标存储节点发送多个文件创建请求,以使目标数据存储节点将每个文件标识对应的文件创建至目标容量空间标识对应的目标容量空间中,该文件创建装置可以实现应用于中央存储管理设备的文件创建方法的有益效果。
可选地,文件创建装置80还包括分配模块,在接收模块801接收多个文件创建请求之前,分配模块用于向多个数据存储节点分配根目录标识对应的多个容量空间。
可以理解的是,分配模块可以用来执行步骤600以实现相应的技术效果。
本申请实施例还提供了一种文件创建系统,如图10所示,该文件创建系统90包括如图1所示的中央存储管理设备101和多个数据存储节点102,数据存储节点102中可以设置有文件创建装置70,用于执行应用于数据存储节点102中的文件创建方法,中央存储管理设备101中可以设置有文件创建装置80,用于执行应用于中央存储管理设备101中的文件创建方法。
本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序可以用于执行应用于数据存储节点中的文件创建方法或者是应用于中央存储管理设备侧的文件创建方法以实现相应的技术效果。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种文件创建方法,其特征在于,应用于视频文件系统中数据存储节点,所述视频文件系统还包括中央存储管理设备;所述方法包括:
接收所述中央存储管理设备根据根目录容量分割的带有根目录标识的多个容量空间;
获取多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的所述根目录标识;
根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;
将每个所述文件标识对应的文件创建至与所述目标容量空间标识对应的目标容量空间中。
2.根据权利要求1所述的文件创建方法,其特征在于,所述数据存储节点获得文件创建请求的步骤,包括:
接收中央存储管理设备发送的所述多个文件创建请求。
3.根据权利要求1所述的文件创建方法,其特征在于,当所述数据存储节点包括多个逻辑单元号LUN时,每个所述LUN对应一个LUN标识,每个所述LUN上具有多个容量空间;所述根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识的步骤,包括:
根据所述多个文件标识确定目标LUN标识;
根据所述根目录标识和所述目标LUN标识确定每个所述文件标识对应的所述目标容量空间标识。
4.根据权利要求1所述的方法,其特征在于,当所述数据存储节点包括一个LUN时,所述LUN对应一个LUN标识;所述LUN上具有多个容量空间,所述根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识的步骤包括:
根据所述根目录标识和所述一个LUN标识确定每个所述文件标识对应的所述目标容量空间标识。
5.一种文件创建方法,其特征在于,应用于视频文件系统中的中央存储管理设备,所述视频文件系统还包括多个数据存储节点,所述方法包括:
将根目录容量分割成多个容量空间,并将带有根目录标识的多个容量空间分配给所述多个数据存储节点;
接收多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的所述根目录标识;
根据所述多个文件标识确定目标数据存储节点标识,以使所述目标数据存储节点标识对应的目标存储节点根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;
向所述目标数据存储节点标识对应的目标存储节点发送所述多个文件创建请求,以使所述目标数据存储节点将每个所述文件标识对应的文件创建至所述目标容量空间标识对应的目标容量空间中。
6.根据权利要求5所述的文件创建方法,其特征在于,所述接收多个文件创建请求步骤之前,还包括:
向所述多个数据存储节点分配所述根目录标识对应的多个容量空间。
7.一种文件创建装置,其特征在于,包括:
接收模块,用于接收中央存储管理设备根据根目录容量分割的带有根目录标识的多个容量空间;
获取模块,用于获取多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的所述根目录标识;
确定模块,用于根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;
创建模块,用于将每个所述文件标识对应的文件创建至与所述目标容量空间标识对应的目标容量空间中。
8.一种文件创建装置,其特征在于,包括:
分配模块,用于将根据根目录容量分割成多个容量空间,并将带有根目录标识的多个容量空间分配给多个数据存储节点;
接收模块,用于接收多个文件创建请求;所述多个文件创建请求包含多个文件标识和所述多个文件标识所属的所述根目录标识;
确定模块,用于根据所述多个文件标识确定目标数据存储节点标识,以使所述目标数据存储节点标识对应的目标存储节点根据所述根目录标识确定与每个所述文件标识对应的目标容量空间标识;所述目标容量空间标识对应的目标容量空间属于所述根目录标识对应的多个容量空间;
发送模块,用于向所述目标数据存储节点标识对应的目标存储节点发送所述多个文件创建请求,以使所述目标数据存储节点将每个所述文件标识对应的文件创建至所述目标容量空间标识对应的目标容量空间中。
9.一种文件创建系统,其特征在于,包括至少一个中央存储管理设备和多个数据存储设备,所述数据存储设备用于执行如权利要求1~4任一项所述的文件创建方法,所述中央存储管理设备用于执行如权利要求5~6任一项所述的文件创建方法。
10.一个存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于执行如权利要求1~4或如权利要求5~6任一项所述的文件创建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911019557.9A CN110765094B (zh) | 2019-10-24 | 2019-10-24 | 文件创建方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911019557.9A CN110765094B (zh) | 2019-10-24 | 2019-10-24 | 文件创建方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765094A CN110765094A (zh) | 2020-02-07 |
CN110765094B true CN110765094B (zh) | 2020-08-11 |
Family
ID=69333874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911019557.9A Active CN110765094B (zh) | 2019-10-24 | 2019-10-24 | 文件创建方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765094B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737204B (zh) | 2020-06-12 | 2024-03-19 | 北京百度网讯科技有限公司 | 文件目录遍历方法、装置、设备和介质 |
CN113312133B (zh) * | 2021-06-17 | 2022-06-24 | 浙江齐安信息科技有限公司 | 操作方法、系统及存储介质 |
CN113553306B (zh) * | 2021-07-27 | 2023-07-21 | 重庆紫光华山智安科技有限公司 | 数据处理方法及数据存储管理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855294A (zh) * | 2012-08-13 | 2013-01-02 | 北京联创信安科技有限公司 | 一种智能哈希数据布局方法、集群存储系统及其方法 |
CN103123631A (zh) * | 2011-11-21 | 2013-05-29 | 阿里巴巴集团控股有限公司 | 文案的生成、网页文案的展示方法、装置及网站服务器 |
US9165003B1 (en) * | 2004-11-29 | 2015-10-20 | Netapp, Inc. | Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system |
CN108241710A (zh) * | 2016-12-27 | 2018-07-03 | 中移(苏州)软件技术有限公司 | 一种文件创建方法、装置以及文件查询方法、装置 |
CN108959300A (zh) * | 2017-05-19 | 2018-12-07 | 华为技术有限公司 | 文件存储方法和存储装置 |
CN109165197A (zh) * | 2018-08-29 | 2019-01-08 | 江苏奇异点网络有限公司 | 一种文件处理方法、终端及服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996563B2 (en) * | 2010-04-06 | 2015-03-31 | Tokutek, Inc. | High-performance streaming dictionary |
US10048954B2 (en) * | 2016-09-21 | 2018-08-14 | International Business Machines Corporation | Accelerating software builds |
CN110221782A (zh) * | 2019-06-06 | 2019-09-10 | 重庆紫光华山智安科技有限公司 | 视频文件处理方法及装置 |
CN110275873A (zh) * | 2019-06-28 | 2019-09-24 | 重庆紫光华山智安科技有限公司 | 文件存储方法、装置、存储管理设备及存储介质 |
-
2019
- 2019-10-24 CN CN201911019557.9A patent/CN110765094B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9165003B1 (en) * | 2004-11-29 | 2015-10-20 | Netapp, Inc. | Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system |
CN103123631A (zh) * | 2011-11-21 | 2013-05-29 | 阿里巴巴集团控股有限公司 | 文案的生成、网页文案的展示方法、装置及网站服务器 |
CN102855294A (zh) * | 2012-08-13 | 2013-01-02 | 北京联创信安科技有限公司 | 一种智能哈希数据布局方法、集群存储系统及其方法 |
CN108241710A (zh) * | 2016-12-27 | 2018-07-03 | 中移(苏州)软件技术有限公司 | 一种文件创建方法、装置以及文件查询方法、装置 |
CN108959300A (zh) * | 2017-05-19 | 2018-12-07 | 华为技术有限公司 | 文件存储方法和存储装置 |
CN109165197A (zh) * | 2018-08-29 | 2019-01-08 | 江苏奇异点网络有限公司 | 一种文件处理方法、终端及服务器 |
Non-Patent Citations (1)
Title |
---|
"基于并发策略的分布式文件系统性能优化防范";赵铁柱、袁华强;《网络安全技术与应用》;20130715(第07期);论文第17-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110765094A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765094B (zh) | 文件创建方法、装置、系统及存储介质 | |
CN107667363B (zh) | 具有多种可选数据处理策略的基于对象的存储集群 | |
US8793286B2 (en) | Hierarchical multi-tenancy management of system resources in resource groups | |
US7266649B2 (en) | Storage apparatus and area allocation method | |
CN106294190B (zh) | 一种存储空间管理方法及装置 | |
US20130218934A1 (en) | Method for directory entries split and merge in distributed file system | |
US10915365B2 (en) | Determining a quantity of remote shared partitions based on mapper and reducer nodes | |
CN109542861B (zh) | 一种文件管理方法、装置和系统 | |
KR20120018178A (ko) | 객체 저장부들의 네트워크상의 스웜-기반의 동기화 | |
US9104501B2 (en) | Preparing parallel tasks to use a synchronization register | |
US20170344546A1 (en) | Code dispersion hash table-based map-reduce system and method | |
CN109976907B (zh) | 任务分配方法和系统、电子设备、计算机可读介质 | |
EP3739440A1 (en) | Distributed storage system, data processing method and storage node | |
CN113515364B (zh) | 一种数据迁移的方法及装置、计算机设备和存储介质 | |
CN110198330B (zh) | 镜像下载方法和装置 | |
CN107844372B (zh) | 一种内存分配的方法、系统 | |
CN104254839A (zh) | 用于分割单链表以供分配存储器元素的系统和方法 | |
CN111163186B (zh) | 一种id生成方法、装置、设备和存储介质 | |
US10387043B2 (en) | Writing target file including determination of whether to apply duplication elimination | |
US9898518B2 (en) | Computer system, data allocation management method, and program | |
US20150220612A1 (en) | Computer, control device for computer system, and recording medium | |
CN104426965A (zh) | 自管理存储方法和系统 | |
CN110798492B (zh) | 数据存储方法及装置、数据处理系统 | |
US11086689B2 (en) | Method for automatically and dynamically assigning the responsibility for tasks to the available computing components in a highly distributed data-processing system | |
CN111125011B (zh) | 一种文件处理方法、系统及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |