CN111722783B - 数据存储方法及装置 - Google Patents
数据存储方法及装置 Download PDFInfo
- Publication number
- CN111722783B CN111722783B CN201910213752.9A CN201910213752A CN111722783B CN 111722783 B CN111722783 B CN 111722783B CN 201910213752 A CN201910213752 A CN 201910213752A CN 111722783 B CN111722783 B CN 111722783B
- Authority
- CN
- China
- Prior art keywords
- storage
- target
- pool
- storage pool
- identifier
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Abstract
本发明公开了一种数据存储方法及装置,属于存储技术领域。所述方法包括:接收数据存储请求,所述数据存储请求携带目标存储池标识和待存储的数据;根据所述目标存储池标识和存储池信息表,确定所述目标存储池标识对应的存储设备,所述存储池信息表用于记录多个存储池标识以及各自对应的存储特性和存储设备的设备标识;将所述数据存储至所述目标存储池标识对应的存储设备中。本发明在需要存储数据时,用户无需在大量存储设备中进行一一查看和挑选,而可以直接选择相应存储特性的存储池,即可自动分配对应的存储设备进行数据存储,提高了数据存储的便利性和灵活性。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种数据存储方法及装置。
背景技术
在视频监控领域中,存储设备是不可或缺的一部分,例如,NVR(Network VideoRecorde,网络硬盘录像机)设备是一种常见的存储设备。当视频监控系统中需要存储的数据较多时,往往需要部署大量的存储设备,如何使用这些存储设备进行数据存储,成为一个值得关注的问题。
相关技术中,不同的存储设备可能具有不同的存储特性,如循环覆盖类型(周期覆盖、容量覆盖)不同,或数据安全类型(单个磁盘存储、磁盘阵列存储)不同。用户可以根据其存储需求以及各个存储设备的存储特性,从各个存储设备中,选择存储特性满足其存储需求的存储设备来进行数据存储,如选择循环覆盖类型为周期覆盖、数据安全类型为磁盘阵列存储的存储设备。
上述技术在进行数据存储时,需要用户根据各个存储设备的存储特性,从中选择满足其存储需求的存储设备,当存储设备较多时,用户需要在多个存储设备中逐一查看和挑选,这种数据存储方式的便利性和灵活性较差。
发明内容
本发明实施例提供了一种数据存储方法及装置,可以解决相关技术便利性和灵活性较差的问题。所述技术方案如下:
第一方面,提供了一种数据存储方法,所述方法包括:
接收数据存储请求,所述数据存储请求携带目标存储池标识和待存储的数据;
根据所述目标存储池标识和存储池信息表,确定所述目标存储池标识对应的存储设备,所述存储池信息表用于记录多个存储池标识以及各自对应的存储特性和存储设备的设备标识;
将所述数据存储至所述目标存储池标识对应的存储设备中;
其中,对于所述存储池信息表中的每个存储池标识,所述存储池标识对应的存储设备具备所述存储池标识对应的存储特性。
在一种可能实现方式中,所述根据所述目标存储池标识和存储池信息表,确定所述目标存储池标识对应的存储设备,包括:
根据所述目标存储池标识和所述存储池信息表,确定所述目标存储池标识对应的各个存储设备;
按照预设选取规则,从所述目标存储池标识对应的各个存储设备中选取一个存储设备。
在一种可能实现方式中,所述按照预设选取规则,从所述目标存储池标识对应的各个存储设备中选取一个存储设备,包括:
从所述目标存储池标识对应的各个存储设备中随机选取一个存储设备;或,从所述目标存储池标识对应的各个存储设备中选取剩余容量最大的一个存储设备。
在一种可能实现方式中,所述对于所述存储池信息表中的每个存储池标识,所述存储池标识对应的存储设备具备所述存储池标识对应的存储特性,包括:
对于所述存储池信息表中的每个存储池标识,所述存储池标识对应的存储设备中包含目标存储资源,所述目标存储资源是指存储特性为所述存储池标识对应的存储特性的存储资源,所述存储资源包括磁盘和硬盘卷。
在一种可能实现方式中,所述存储池信息表用于记录多个存储池标识以及各自对应的存储特性、多个存储设备的设备标识和每个存储设备中所述目标存储资源的资源标识,所述资源标识包括磁盘标识和硬盘卷标识。
在一种可能实现方式中,所述待存储的数据为录像计划,所述录像计划用于指示从前端设备获取视频流并存储;
所述将所述数据存储至所述目标存储池标识对应的存储设备中之后,所述方法还包括:
创建所述录像计划的录像计划标识;
将所述录像计划标识、所述目标存储池标识和所述目标存储池标识对应的存储设备的设备标识记录在录像计划信息表中,所述录像计划信息表用于记录多个录像计划以及各自对应的存储池标识和存储设备的设备标识。
在一种可能实现方式中,所述目标存储池标识对应的存储特性为目标存储特性,
所述接收数据存储请求之前,所述方法还包括:
获取多个存储设备的设备信息,每个存储设备的设备信息包括设备标识和存储特性;
接收存储池创建请求,所述存储池创建请求携带所述目标存储特性;
当所述多个存储设备中存在具备所述目标存储特性的至少一个存储设备时,创建所述目标存储池标识;
将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中。
在一种可能实现方式中,所述获取多个存储设备的设备信息,包括:
当接收到对任一存储设备的设备添加请求时,为所述任一存储设备生成对应的设备标识;
向所述任一存储设备发送信息获取请求;
接收所述任一存储设备发送的存储资源信息,所述存储资源信息包括所述任一存储设备中各个存储资源的资源标识、存储容量和存储特性,所述存储容量包括总容量和剩余容量;
将所述任一存储设备中各个存储资源的存储特性作为所述任一存储设备的存储特性。
在一种可能实现方式中,所述接收所述任一存储设备发送的存储资源信息,包括:
接收所述任一存储设备发送的磁盘信息,所述磁盘信息包括所述任一存储设备中各个磁盘的磁盘标识、存储容量和存储特性;或,
接收所述任一存储设备发送的硬盘卷信息,所述硬盘卷信息包括所述任一存储设备中各个硬盘卷的硬盘卷标识、存储容量和存储特性。
在一种可能实现方式中,所述接收所述任一存储设备发送的存储资源信息之后,所述方法还包括:
将所述任一存储设备的设备标识和存储资源信息对应记录在设备信息表中。
在一种可能实现方式中,所述存储池创建请求还携带目标存储容量,
所述当所述多个存储设备中存在具备所述目标存储特性的至少一个存储设备时,创建存储池标识,包括:
当所述多个存储设备中存在所述至少一个存储设备,且所述至少一个存储设备中目标存储资源的剩余容量总和大于或等于所述目标存储容量时,执行创建目标存储池标识的步骤,所述目标存储资源的存储特性为所述目标存储特性。
在一种可能实现方式中,所述将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中,包括:
将所述目标存储池标识、存储池容量、所述目标存储特性、所述至少一个存储设备的设备标识和所述至少一个存储设备中所述目标存储资源的资源标识对应记录在所述存储池信息表中,所述存储池容量为所述至少一个存储设备中所述目标存储资源的剩余容量总和。
在一种可能实现方式中,所述将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中之后,所述方法还包括:
获取新的存储设备的设备信息;
接收扩容请求,所述扩容请求携带所述目标存储池标识;
根据所述目标存储池标识和所述存储池信息表,确定所述目标存储池标识对应的所述目标存储特性;
根据所述目标存储特性,从所述新的存储设备中,确定具备所述目标存储特性的存储设备;
在所述存储池信息表中,将所述新的存储设备中具备所述目标存储特性的存储设备的设备标识、所述目标存储池标识和所述目标存储特性对应记录。
在一种可能实现方式中,所述将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中之后,所述方法还包括:
接收缩容请求,所述缩容请求携带所述目标存储池标识;
根据所述目标存储池标识和所述存储池信息表,从所述存储池信息表中删除所述目标存储池标识对应的至少一个存储设备的设备标识。
第二方面,提供了一种数据存储装置,所述装置包括:
接收模块,用于接收数据存储请求,所述数据存储请求携带目标存储池标识和待存储的数据;
确定模块,用于根据所述目标存储池标识和存储池信息表,确定所述目标存储池标识对应的存储设备,所述存储池信息表用于记录多个存储池标识以及各自对应的存储特性和存储设备的设备标识;
存储模块,用于将所述数据存储至所述目标存储池标识对应的存储设备中;
其中,对于所述存储池信息表中的每个存储池标识,所述存储池标识对应的存储设备具备所述存储池标识对应的存储特性。
在一种可能实现方式中,所述确定模块用于:
根据所述目标存储池标识和所述存储池信息表,确定所述目标存储池标识对应的各个存储设备;
按照预设选取规则,从所述目标存储池标识对应的各个存储设备中选取一个存储设备。
在一种可能实现方式中,所述确定模块用于:
从所述目标存储池标识对应的各个存储设备中随机选取一个存储设备;或,从所述目标存储池标识对应的各个存储设备中选取剩余容量最大的一个存储设备。
在一种可能实现方式中,对于所述存储池信息表中的每个存储池标识,所述存储池标识对应的存储设备中包含目标存储资源,所述目标存储资源是指存储特性为所述存储池标识对应的存储特性的存储资源,所述存储资源包括磁盘和硬盘卷。
在一种可能实现方式中,所述存储池信息表用于记录多个存储池标识以及各自对应的存储特性、多个存储设备的设备标识和每个存储设备中所述目标存储资源的资源标识,所述资源标识包括磁盘标识和硬盘卷标识。
在一种可能实现方式中,所述待存储的数据为录像计划,所述录像计划用于指示从前端设备获取视频流并存储;
所述装置还包括:
第一创建模块,用于创建所述录像计划的录像计划标识;
所述存储模块还用于将所述录像计划标识、所述目标存储池标识和所述目标存储池标识对应的存储设备的设备标识记录在录像计划信息表中,所述录像计划信息表用于记录多个录像计划以及各自对应的存储池标识和存储设备的设备标识。
在一种可能实现方式中,所述目标存储池标识对应的存储特性为目标存储特性,
获取模块,用于获取多个存储设备的设备信息,每个存储设备的设备信息包括设备标识和存储特性;
所述接收模块还用于接收存储池创建请求,所述存储池创建请求携带所述目标存储特性;
第二创建模块,用于当所述多个存储设备中存在具备所述目标存储特性的至少一个存储设备时,创建所述目标存储池标识;
所述存储模块还用于将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中。
在一种可能实现方式中,所述获取模块用于:
当接收到对任一存储设备的设备添加请求时,为所述任一存储设备生成对应的设备标识;
向所述任一存储设备发送信息获取请求;
接收所述任一存储设备发送的存储资源信息,所述存储资源信息包括所述任一存储设备中各个存储资源的资源标识、存储容量和存储特性,所述存储容量包括总容量和剩余容量;
将所述任一存储设备中各个存储资源的存储特性作为所述任一存储设备的存储特性。
在一种可能实现方式中,所述获取模块用于:
接收所述任一存储设备发送的磁盘信息,所述磁盘信息包括所述任一存储设备中各个磁盘的磁盘标识、存储容量和存储特性;或,
接收所述任一存储设备发送的硬盘卷信息,所述硬盘卷信息包括所述任一存储设备中各个硬盘卷的硬盘卷标识、存储容量和存储特性。
在一种可能实现方式中,所述存储模块还用于将所述任一存储设备的设备标识和存储资源信息对应记录在设备信息表中。
在一种可能实现方式中,所述存储池创建请求还携带目标存储容量,
所述第二创建模块用于当所述多个存储设备中存在所述至少一个存储设备,且所述至少一个存储设备中目标存储资源的剩余容量总和大于或等于所述目标存储容量时,执行创建目标存储池标识的步骤,所述目标存储资源的存储特性为所述目标存储特性。
在一种可能实现方式中,所述存储模块用于将所述目标存储池标识、存储池容量、所述目标存储特性、所述至少一个存储设备的设备标识和所述至少一个存储设备中所述目标存储资源的资源标识对应记录在所述存储池信息表中,所述存储池容量为所述至少一个存储设备中所述目标存储资源的剩余容量总和。
在一种可能实现方式中,所述获取模块还用于获取新的存储设备的设备信息;
所述接收模块还用于接收扩容请求,所述扩容请求携带所述目标存储池标识;
所述确定模块还用于根据所述目标存储池标识和所述存储池信息表,确定所述目标存储池标识对应的所述目标存储特性;
所述确定模块还用于根据所述目标存储特性,从所述新的存储设备中,确定具备所述目标存储特性的存储设备;
所述存储模块还用于在所述存储池信息表中,将所述新的存储设备中具备所述目标存储特性的存储设备的设备标识、所述目标存储池标识和所述目标存储特性对应记录。
在一种可能实现方式中,所述装置还包括:
所述接收模块还用于接收缩容请求,所述缩容请求携带所述目标存储池标识;
删除模块,用于根据所述目标存储池标识和所述存储池信息表,从所述存储池信息表中删除所述目标存储池标识对应的至少一个存储设备的设备标识。
第三方面,提供了一种服务器,包括一个或多个处理器和一个或多个存储器;所述一个或多个存储器,用于存放至少一条指令;所述一个或多个处理器,用于执行所述一个或多个存储器上所存放的至少一条指令,实现第一方面任一种实现方式所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有至少一条指令,所述至少一条指令被处理器执行时实现第一方面任一种实现方式所述的方法步骤。
本发明实施例提供的技术方案带来的有益效果至少包括:
通过将多个存储设备采用存储池的方式进行虚拟化管理,具备相同存储特性的存储设备可以采用同一个存储池进行集中管理,这样在需要存储数据时,用户无需在大量存储设备中进行一一查看和挑选,而可以直接选择相应存储特性的存储池,即可自动分配对应的存储设备进行数据存储,提高了数据存储的便利性和灵活性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据存储系统的示意图;
图2是本发明实施例提供的一种数据存储方法的流程图;
图3是本发明实施例提供的一种数据存储方法的流程图;
图4是本发明实施例提供的一种数据存储装置的结构示意图;
图5是本发明实施例提供的一种数据存储装置的结构示意图;
图6是本发明实施例提供的一种数据存储装置的结构示意图;
图7是本发明实施例提供的一种数据存储装置的结构示意图;
图8是本发明实施例提供的一种服务器800的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种数据存储系统的示意图,该数据存储系统可以包括终端101、服务器102和多个存储设备103。
其中,终端101可以是PC(PersonalComputer,个人计算机)、手机等用户设备。终端101可以通过可视化的界面与用户进行交互,如用户可以在界面上进行相应操作,触发终端101向服务器发送数据存储请求。
服务器102采用SAC(Storage Access Component,边缘域调度管理存储接入框架),提供存储接入服务,例如,服务器102可以根据终端101发送的数据存储请求,将数据存储至存储设备103中。
多个存储设备103包括多种类型的存储设备,例如,多个存储设备103可以包括NVR设备和CVR(Central Video Recorder,视频中心存储)设备,NVR设备中可以包含一个或多个磁盘,每个磁盘是一个单独的物理磁盘。CVR设备中可以包含一个或多个硬盘卷,硬盘卷是一个逻辑盘,每个硬盘卷的存储空间可以来自不同的磁盘。
图2是本发明实施例提供的一种数据存储方法的流程图。参见图2,该方法包括:
201、接收数据存储请求,该数据存储请求携带目标存储池标识和待存储的数据;
202、根据该目标存储池标识和存储池信息表,确定该目标存储池标识对应的存储设备,该存储池信息表用于记录多个存储池标识以及各自对应的存储特性和存储设备的设备标识;
203、将该数据存储至该目标存储池标识对应的存储设备中;
其中,对于该存储池信息表中的每个存储池标识,该存储池标识对应的存储设备具备该存储池标识对应的存储特性。
本发明实施例提供的方法,通过将多个存储设备采用存储池的方式进行虚拟化管理,具备相同存储特性的存储设备可以采用同一个存储池进行集中管理,这样在需要存储数据时,用户无需在大量存储设备中进行一一查看和挑选,而可以直接选择相应存储特性的存储池,即可自动分配对应的存储设备进行数据存储,提高了数据存储的便利性和灵活性。
在一种可能实现方式中,该根据该目标存储池标识和存储池信息表,确定该目标存储池标识对应的存储设备,包括:
根据该目标存储池标识和该存储池信息表,确定该目标存储池标识对应的各个存储设备;
按照预设选取规则,从该目标存储池标识对应的各个存储设备中选取一个存储设备。
在一种可能实现方式中,该按照预设选取规则,从该目标存储池标识对应的各个存储设备中选取一个存储设备,包括:
从该目标存储池标识对应的各个存储设备中随机选取一个存储设备;或,
从该目标存储池标识对应的各个存储设备中选取剩余容量最大的一个存储设备。
在一种可能实现方式中,该对于该存储池信息表中的每个存储池标识,该存储池标识对应的存储设备具备该存储池标识对应的存储特性,包括:
对于该存储池信息表中的每个存储池标识,该存储池标识对应的存储设备中包含目标存储资源,该目标存储资源是指存储特性为该存储池标识对应的存储特性的存储资源,该存储资源包括磁盘和硬盘卷。
在一种可能实现方式中,该存储池信息表用于记录多个存储池标识以及各自对应的存储特性、多个存储设备的设备标识和每个存储设备中该目标存储资源的资源标识,该资源标识包括磁盘标识和硬盘卷标识。
在一种可能实现方式中,该待存储的数据为录像计划,该录像计划用于指示从前端设备获取视频流并存储;
该将该数据存储至该目标存储池标识对应的存储设备中之后,该方法还包括:
创建该录像计划的录像计划标识;
将该录像计划标识、该目标存储池标识和该目标存储池标识对应的存储设备的设备标识记录在录像计划信息表中,该录像计划信息表用于记录多个录像计划以及各自对应的存储池标识和存储设备的设备标识。
在一种可能实现方式中,该目标存储池标识对应的存储特性为目标存储特性,
该接收数据存储请求之前,该方法还包括:
获取多个存储设备的设备信息,每个存储设备的设备信息包括设备标识和存储特性;
接收存储池创建请求,该存储池创建请求携带该目标存储特性;
当该多个存储设备中存在具备该目标存储特性的至少一个存储设备时,创建该目标存储池标识;
将该目标存储池标识、该目标存储特性和该至少一个存储设备的设备标识对应记录在该存储池信息表中。
在一种可能实现方式中,该获取多个存储设备的设备信息,包括:
当接收到对任一存储设备的设备添加请求时,为该任一存储设备生成对应的设备标识;
向该任一存储设备发送信息获取请求;
接收该任一存储设备发送的存储资源信息,该存储资源信息包括该任一存储设备中各个存储资源的资源标识、存储容量和存储特性,该存储容量包括总容量和剩余容量;
将该任一存储设备中各个存储资源的存储特性作为该任一存储设备的存储特性。
在一种可能实现方式中,该接收该任一存储设备发送的存储资源信息,包括:
接收该任一存储设备发送的磁盘信息,该磁盘信息包括该任一存储设备中各个磁盘的磁盘标识、存储容量和存储特性;或,
接收该任一存储设备发送的硬盘卷信息,该硬盘卷信息包括该任一存储设备中各个硬盘卷的硬盘卷标识、存储容量和存储特性。
在一种可能实现方式中,该接收该任一存储设备发送的存储资源信息之后,该方法还包括:
将该任一存储设备的设备标识和存储资源信息对应记录在设备信息表中。
在一种可能实现方式中,该存储池创建请求还携带目标存储容量,
该当该多个存储设备中存在具备该目标存储特性的至少一个存储设备时,创建存储池标识,包括:
当该多个存储设备中存在该至少一个存储设备,且该至少一个存储设备中目标存储资源的剩余容量总和大于或等于该目标存储容量时,执行创建目标存储池标识的步骤,该目标存储资源的存储特性为该目标存储特性。
在一种可能实现方式中,该将该目标存储池标识、该目标存储特性和该至少一个存储设备的设备标识对应记录在该存储池信息表中,包括:
将该目标存储池标识、存储池容量、该目标存储特性、该至少一个存储设备的设备标识和该至少一个存储设备中该目标存储资源的资源标识对应记录在该存储池信息表中,该存储池容量为该至少一个存储设备中该目标存储资源的剩余容量总和。
在一种可能实现方式中,该将该目标存储池标识、该目标存储特性和该至少一个存储设备的设备标识对应记录在该存储池信息表中之后,该方法还包括:
获取新的存储设备的设备信息;
接收扩容请求,该扩容请求携带该目标存储池标识;
根据该目标存储池标识和该存储池信息表,确定该目标存储池标识对应的该目标存储特性;
根据该目标存储特性,从该新的存储设备中,确定具备该目标存储特性的存储设备;
在该存储池信息表中,将该新的存储设备中具备该目标存储特性的存储设备的设备标识、该目标存储池标识和该目标存储特性对应记录。
在一种可能实现方式中,该将该目标存储池标识、该目标存储特性和该至少一个存储设备的设备标识对应记录在该存储池信息表中之后,该方法还包括:
接收缩容请求,该缩容请求携带该目标存储池标识;
根据该目标存储池标识和该存储池信息表,从该存储池信息表中删除该目标存储池标识对应的至少一个存储设备的设备标识。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
本发明实施例中,对于任一存储设备而言,该存储设备具备该存储设备中各个存储资源的存储特性,该存储资源可以是磁盘,也可以是硬盘卷。例如,如果存储设备为NVR设备,则该NVR设备的存储资源可以是NVR设备中的各个磁盘,该NVR设备具备各个磁盘的存储特性。如果存储设备为CVR设备,则该CVR设备的存储资源可以是CVR设备中的各个硬盘卷,该CVR设备具备各个硬盘卷的存储特性。
存储特性可以包括多种类型,对于两个存储资源而言,如果这两个存储资源的该多种类型均相同,则可以认为这两个存储资源的存储特性相同,如果这两个存储资源的任一种类型不同,则可以认为这两个存储资源的存储特性不同。例如,存储特性可以包括第一类型和第二类型,其中,第一类型可以为循环覆盖类型,第二类型可以为数据安全类型。例如,NVR设备中有两个磁盘,其中一个磁盘具备循环覆盖类型为A、数据安全类型为B的存储特性,另一个磁盘具备循环覆盖类型为C、数据安全类型为D的存储特性,则该NVR设备具备环覆盖类型为A、数据安全类型为B的存储特性,以及循环覆盖类型为C、数据安全类型为D的存储特性。
循环覆盖类型决定存储设备自动删除数据的方式,循环覆盖类型可以包括不覆盖、周期覆盖和容量覆盖,不覆盖是指不会自动对数据进行删除,周期覆盖是指周期性自动对数据进行删除,容量覆盖是指容量占满后对数据进行删除。上述举例中的A和C可以为不覆盖、周期覆盖和容量覆盖中的任一种。
数据安全类型决定存储设备存储数据的方式,数据安全类型可以包括单盘存储和RAID(Redundant Arrays of Independent Drives,独立磁盘冗余阵列)存储,单盘存储是指数据存储在单个磁盘上,当该单个磁盘发生故障时,会导致数据丢失;RAID存储是将数据以块为单位分布到多个磁盘上进行存储,当单块磁盘出现故障时,不会导致数据丢失。其中,RAID存储可以包括RAID5存储、RAID6存储以及其他等级的RAID存储。上述举例中的C和D可以为单盘存储、RAID5存储和RAID6存储中的任一种。
本发明实施例中,服务器可以维护有设备信息表、存储池信息表和录像计划信息表。
(1)设备信息表
设备信息表用于记录终端请求服务器添加的存储设备的设备信息,包括设备标识,也即是设备ID(Identification,标识),还可以包括IP(Internet Protocol Address,互联网协议地址)地址、端口和存储资源信息(磁盘信息或硬盘卷信息)。
在一个示例中,设备信息表的格式可以如表1所示:
表1
其中,磁盘容量即为磁盘的存储容量,包括总容量和剩余容量。
(2)存储池信息表
存储池信息表用于记录终端请求服务器创建的存储池的存储池信息,包括存储池标识、存储设备的设备标识和存储资源的资源标识。对于NVR设备而言,存储资源的资源标识也即是磁盘标识,对于CVR设备而言,存储资源的资源标识也即是硬盘卷标识。
在一个示例中,设备信息表的格式可以如表2所示:
表2
(3)录像计划信息表
录像计划信息表示用于记录终端向服务器发送的录像计划信息,包括录像计划标识、存储池标识和存储设备的设备标识,还可以包括存储资源的资源标识。
在一个示例中,设备信息表的格式可以如表3所示:
表3
字段 | Key | 备注 |
rec_plan_id | Primary | 表示唯一一个录像计划 |
pool_info | 存储池ID和设备ID |
本发明实施例中,终端可以向服务器发送创建存储池请求,该创建存储池请求用于请求服务器创建具备某种存储特性的存储池,服务器在接收到该创建存储池请求时,可以根据该存储特性,从设备信息表中确定具备该存储特性的各个存储设备,基于该各个存储设备的存储资源创建一个存储池,具体地,服务器可以创建一个存储池标识,将该各个存储设备的设备标识与该存储池标识和该存储特性对应记录在存储池信息表中。当终端需要进行数据存储时,终端可以向服务器发送数据存储请求,该数据存储请求用于请求服务器将数据存储至某种存储特性的存储池中,服务器在接收到该数据存储请求时,可以查询存储池信息表,将数据发送至对应的存储设备中进行存储。下面将在图3对应的实施例中的步骤301至步骤304对存储池的创建过程进行说明,在步骤305至步骤307对数据的存储过程进行说明。
图3是本发明实施例提供的一种数据存储方法的流程图。该方法由服务器执行,参见图3,该方法包括:
301、获取多个存储设备的设备信息,每个存储设备的设备信息包括设备标识和存储特性。
其中,设备标识用于唯一标识一个存储设备,不同存储设备的设备标识不同,每个存储设备的存储特性包括该存储设备中各个存储资源的存储特性。
在一种可能实现方式中,该步骤301可以包括下述步骤a1至步骤a3:
步骤a1、当接收到对任一存储设备的设备添加请求时,为该任一存储设备生成对应的设备标识。
其中,该设备添加请求可以由终端发送给服务器,例如,用户可以在终端上进行设备添加操作,该用户可以是具有存储设备管理权限的技术人员,如用户可以在终端上填写待添加的存储设备的IP地址和端口,还可以填写用户名和密码,终端在获取到用户填写的信息后,可以将这些信息携带在设备添加请求中发送给服务器。其中,IP地址和端口用于服务器确定该存储设备,用户名和密码用于服务器获取对该存储设备的访问权限,从该存储设备获取相关信息。
当服务器接收到对任一存储设备的设备添加请求时,可以对该存储设备生成一个设备标识,并将该存储设备的设备标识和设备添加请求中携带的信息(如IP地址、端口)记录在设备信息表中,服务器对不同的存储设备可以生成不同的设备标识。
步骤a2、向该任一存储设备发送信息获取请求。
服务器在接收到任一存储设备的信息获取请求后,可以向该存储设备发送信息获取请求,以获取该存储设备的相关信息。
步骤a3、接收该任一存储设备发送的存储资源信息,将该任一存储设备中各个存储资源的存储特性作为该任一存储设备的存储特性,该存储资源信息包括该任一存储设备中各个存储资源的资源标识、存储容量和存储特性,该存储容量包括总容量和剩余容量。
在一种可能实现方式中,该步骤a3可以包括:接收该任一存储设备发送的磁盘信息,该磁盘信息包括该任一存储设备中各个磁盘的磁盘标识、存储容量和存储特性;或,接收该任一存储设备发送的硬盘卷信息,该硬盘卷信息包括该任一存储设备中各个硬盘卷的硬盘卷标识、存储容量和存储特性。
例如,当该任一存储设备为NVR设备时,该存储资源信息为NVR设备的磁盘信息。当该任一存储设备为CVR设备时,该存储资源信息为CVR设备的硬盘卷信息。
以该任一存储设备为NVR设备、该NVR设备中有两个磁盘为例,该NVR设备返回的磁盘信息中可以包括其中一个磁盘的磁盘标识(Disk11)、存储容量(总容量2000GB、剩余容量1000GB)和存储特性(循环覆盖类型为不覆盖、数据安全类型为单盘存储),以及另一个磁盘的磁盘标识(Disk12)、存储容量(总容量1000GB、剩余容量500GB)和存储特性(循环覆盖类型为不覆盖、数据安全类型为RAID6存储)。
在一种可能实现方式中,该接收该任一存储设备发送的存储资源信息之后,服务器可以将该任一存储设备的设备标识和存储资源信息对应记录在设备信息表中。对于NVR设备而言,服务器可以将NVR设备的设备标识和磁盘信息对应记录在该设备信息表中;对于CVR设备而言,服务器可以将CVR设备的设备标识和硬盘卷信息对应记录在该设备信息表中。
在一个示例中,服务器在设备信息表中记录的设备及其存储资源可以如表4所示:
表4
当然,表4仅是一个示例,设备信息表中还可以记录其他信息,如存储设备的用户名和密码等,本发明实施例对此不做限定。
通过在接收到存储设备的设备添加请求时,为存储设备生成唯一的设备标识,并从存储设备获取设备信息,这样服务器可以通过一个设备信息表,来维护各个存储设备的设备信息,使得各个存储设备的设备信息被集中管理起来。
302、接收存储池创建请求,该存储池创建请求携带目标存储特性。
其中,该存储池创建请求可以由终端发送给服务器,例如,用户可以在终端上进行相应操作,如用户可以在终端上填写目标存储特性,包括循环覆盖类型和数据安全类型,终端在获取到用户填写的该目标存储特性后,可以将该目标存储特性携带在存储池创建请求中发送给服务器。
在一种可能实现方式中,该存储池创建请求还可以携带目标存储容量。通过向服务器发送目标存储容量,使得服务器可以得知终端希望创建多大的存储池,从而准确挑选存储设备来创建符合用户需求的存储池。
303、当该多个存储设备中存在具备该目标存储特性的至少一个存储设备时,创建目标存储池标识。
其中,至少一个存储设备可以为具备目标存储特性的一个或多个存储设备。
本发明实施例中,服务器可以根据存储池创建请求中携带的目标存储特性,以及已获取到的多个存储设备的设备信息,确定该多个存储设备中是否存在具备目标存储特性的存储设备,也即是,确定该多个存储设备中是否存在包含目标存储资源的存储设备,该目标存储资源可以是存储特性为目标存储特性的磁盘,也可以是存储特性为目标存储特性的硬盘卷。目标存储资源的循环覆盖类型与目标存储特性所指示的循环覆盖类型相同,且目标存储资源的数据安全类型与目标存储特性所指示的数据安全类型相同。
针对服务器将该多个存储设备的设备信息记录在设备信息表中的情况,服务器可以根据该目标存储特性,查询该设备信息表,如果该多个存储设备中存在具备目标存储特性的一个或多个存储设备时,则将该一个或多个存储设备作为至少一个存储设备,执行创建目标存储池标识的步骤。例如,服务器可以在NVR设备中,挑选循环覆盖类型、数据安全类型与目标存储特性所指示的循环覆盖类型、数据安全类型相同的磁盘,在CVR设备中,挑选循环覆盖类型、数据安全类型与目标存储特性所指示的循环覆盖类型、数据安全类型相同的硬盘卷。当然,如果该多个存储设备中没有循环覆盖类型、数据安全类型与目标存储特性所指示的循环覆盖类型、数据安全类型相同的磁盘或硬盘卷,则创建存储池失败。
在一种可能实现方式中,针对存储池创建请求还携带目标存储容量,该步骤303可以包括:当该多个存储设备中存在至少一个存储设备,且该至少一个存储设备中目标存储资源的剩余容量总和大于或等于该目标存储容量时,执行创建目标存储池标识的步骤,该目标存储资源的存储特性为该目标存储特性。
服务器可以根据存储池创建请求中携带的目标存储特性,在NVR设备中挑选存储特性为目标存储特性的磁盘,在CVR设备中挑选存储特性为目标存储特性的硬盘卷。进而,服务器可以将挑选到的所有磁盘和硬盘卷的剩余容量相加,如果剩余容量总和大于或等于目标存储容量,则可以执行创建目标存储池标识的步骤。如果剩余容量总和小于目标存储容量,则创建存储池失败,服务器可以向终端返回错误指示信息。
通过在目标磁盘和目标硬盘卷的剩余容量总和大于或等于存储池创建请求中携带的目标存储容量时,才创建存储池标识,使得创建的存储池能够满足用户对存储容量的需求。
304、将该目标存储池标识、该目标存储特性和该至少一个存储设备的设备标识对应记录在该存储池信息表中,该存储池信息表用于记录多个存储池标识以及各自对应的存储特性和存储设备的设备标识。
其中,对于该存储池信息表中的每个存储池标识,该存储池标识对应的多个存储设备具备该存储池标识对应的存储特性。
在一种可能实现方式中,对于该存储池信息表中的每个存储池标识,该存储池标识对应的存储设备中包含目标存储资源,该目标存储资源是指存储特性为该存储池标识对应的存储特性的存储资源。对于NVR设备而言,存储资源为磁盘,目标存储资源是指存储特性为该存储池标识对应的存储特性的磁盘;对于CVR设备而言,存储资源为硬盘卷,目标存储资源是指存储特性为该存储池标识对应的存储特性的硬盘卷。
通过存储池信息表,将各个存储设备与同一存储池标识对应起来,实现了具备相同存储特性的存储设备的统一管理。
相应地,存储池信息表中还可以记录存储设备中目标存储资源的资源标识,这样该存储池信息表用于记录多个存储池标识以及各自对应的存储特性、多个存储设备的设备标识和每个存储设备中目标存储资源的资源标识,该资源标识包括磁盘标识和硬盘卷标识。
例如,目标存储特性为:循环覆盖类型为不覆盖、数据安全类型为单盘存储,则服务器可以查询存储池信息表,挑选到设备NVR1及其磁盘Disk11和设备CVR1及其硬盘卷Volume 11,其容量总和为3000GB,大于待创建的存储池容量(目标存储容量),则服务器可以创建存储池ID为POOL1,创建存储池成功,服务器在存储池信息表中记录的信息可以如表5所示:
表5
通过在存储池信息表中记录具备相同存储特性的存储设备,以及这些存储设备中具备该相同存储特性的存储资源(磁盘、硬盘卷),使得服务器可以通过该存储池信息表,快速确定具备任一种存储特性的存储设备以及其中的存储资源。
在一种可能实现方式中,该步骤304可以包括:将该目标存储池标识、存储池容量、该目标存储特性、该至少一个存储设备的设备标识和该至少一个存储设备中目标存储资源的资源标识对应记录在该存储池信息表中。其中,该存储池容量为该至少一个存储设备中目标存储资源的剩余容量总和。
对于该至少一个存储设备中的每个存储设备,如果该存储设备为NVR设备,则服务器可以将该存储设备中目标磁盘的磁盘标识、该存储设备的设备标识、该存储池标识、存储池容量和该目标存储特性对应记录在该存储池信息表中;如果该存储设备为CVR设备,则服务器可以将该存储设备中目标硬盘卷的硬盘卷标识、该目标设备的设备标识、该存储池标识、存储池容量和该目标存储特性对应记录在该存储池信息表中。其中,该目标磁盘是指存储特性为该目标存储特性的磁盘,该目标硬盘卷是指存储特性为该目标存储特性的硬盘卷,该存储池容量为该至少一个存储设备中目标磁盘和目标硬盘卷的剩余容量总和。
需要说明的是,上述步骤301至步骤304为可选步骤,通过虚拟化技术整合存储资源,对存储资源进行集中管理,将具备相同存储特性的多个存储设备抽象为一个虚拟的存储池,实现存储设备的虚拟化管理。步骤301至步骤304不是进行数据存储之前必须执行的步骤,如果在进行数据存储之前,已经创建了目标存储池标识,则服务器可以直接执行后续步骤305至步骤307,也即是,本发明实施例提供的数据存储方法可以仅包括后续步骤305至步骤307。
305、接收数据存储请求,该数据存储请求携带目标存储池标识和待存储的数据。
本发明实施例中,该数据存储请求可以由终端发送给服务器。例如,终端可以显示存储池选择界面,该存储池选择界面上可以提供有多个存储池标识以及每个存储池标识对应的存储特性,用户可以根据自己对存储特性的需求,选择目标存储池标识,并选择待存储的数据,终端在检测到用户的选择操作后,可以将该目标存储池标识和该待存储的数据携带在数据存储请求中发送给服务器。
在一种可能实现方式中,该待存储的数据可以为录像计划,该录像计划用于指示从前端设备获取视频流并存储。通过向存储设备发送录像计划,使得存储设备可以按照录像计划,从前端设备拉取对应的视频流进行存储。
306、根据该目标存储池标识和存储池信息表,确定该目标存储池标识对应的存储设备。
在一种可能实现方式中,该步骤306可以包括:根据该目标存储池标识和该存储池信息表,确定该目标存储池标识对应的各个存储设备;按照预设选取规则,从该目标存储池标识对应的各个存储设备中选取一个存储设备。例如,服务器可以选取目标存储池标识对应的NVR设备及其磁盘,或选取目标存储池标识对应的CVR设备及其硬盘卷。
该按照预设选取规则,从该目标存储池标识对应的各个存储设备中选取一个存储设备,包括:从该目标存储池标识对应的各个存储设备中随机选取一个存储设备;或,从该目标存储池标识对应的各个存储设备中选取剩余容量最大的一个存储设备。
通过随机选取目标存储池标识对应的一个存储设备进行数据存储,在满足用户存储需求的前提下,可以减少计算量。通过选取剩余容量最大的一个存储设备进行数据存储,有利于实现负载均衡。
需要说明的是,本发明实施例是以服务器选取一个存储设备为例进行说明,可以理解的是,服务器也可以选取多个存储设备,本发明实施例对此不做限定。
307、将该数据发送给该目标存储池标识对应的存储设备。
本发明实施例中,服务器可以将数据存储请求中携带的数据发送给目标存储池标识对应的存储设备,由该存储设备对数据进行存储,具体地,由该存储设备中具备目标存储特性的存储资源进行数据存储。
在一种可能实现方式中,服务器可以根据该目标存储池标识和存储池信息表,确定该目标存储池标识对应的存储设备中的目标存储资源,该目标存储资源的存储特性为目标存储特性。服务器在将数据发送给目标存储池标识对应的存储设备时,同时还可以将该目标存储资源的资源标识发送给该存储设备,使得该存储设备可以将该数据存储至该目标存储资源中,以满足用户对存储特性的需求。
在一种可能实现方式中,针对数据为录像计划的情况,服务器将还可以创建该录像计划的录像计划标识;将该录像计划标识、该目标存储池标识、该目标存储池标识对应的存储设备的设备标识记录在录像计划信息表中,该录像计划信息表用于记录多个录像计划以及各自对应的存储池标识和存储设备的设备标识。当然,服务器还可以将该目标存储池标识对应的存储设备中目标存储资源的资源标识记录在录像计划信息表中。
例如,数据存储请求中携带的目标存储池标识为POOL1,也即是,终端向存储池POOL1发送录像计划,存储池POOL1中包含NVR1及其对应的Disk11和CVR1及其对应的Volume11,如果服务器随机挑选到的设备是NVR1及其Disk11,则服务器可以将录像计划发送到NVR1,并与Disk11进行绑定,也即是,将录像计划存储到Disk11中,创建录像计划ID为Plan01,则终端向服务器发送录像计划成功,服务器在录像计划信息表中记录的信息可以如表6所示:
表6
录像计划ID | 存储池ID | 设备ID | 磁盘/硬盘卷ID |
Plan01 | POOL1 | NVR1 | Disk11 |
如果终端再次向存储池POOL1发送录像计划,服务器随机挑选到的设备是CVR1及其Volume11,则服务器可以将录像计划发送到CVR1,并与Volume11进行绑定,也即是,将录像计划存储到Volume11中,创建录像计划ID为Plan02,则终端向服务器发送录像计划成功,服务器在录像计划表中记录的信息可以如表7所示:
表7
录像计划ID | 存储池ID | 设备ID | 磁盘/硬盘卷ID |
Plan01 | POOL1 | NVR1 | Disk11 |
Plan02 | POOL1 | CVR1 | Volume11 |
通过采用录像计划信息表的方式,来记录录像计划所在存储设备和存储资源,这样服务器可以将该录像计划信息表提供给用户,使得用户可以根据各个存储设备存储的录像计划,得知各个存储设备根据录像计划所获取的视频流。
可选地,本发明实施例除了可以创建存储池,还可以进行存储池扩容和存储池缩容,存储池扩容是指对存储池信息表中某个存储池标识对应的存储设备进行扩充,也即是,增加该存储池标识对应的存储设备的数量,存储池缩容是指对存储池信息表中某个存储池标识对应的存储设备进行扩充缩减,也即是,减少该存储池标识对应的存储设备的数量。下面以对目标存储池标识对应的存储池进行扩容和缩容为例,对存储池扩容和存储池缩容的过程进行说明,对其他存储池标识对应的存储池进行扩容和缩容的过程同理。
(1)存储池扩容
在一种可能实现方式中,存储池扩容的过程可以包括下述步骤b1至步骤b5:
步骤b1、获取新的存储设备的设备信息。
服务器在创建目标存储池标识,将目标存储池标识以及其对应的存储设备的设备标识记录在存储池信息表中后,还可以获取新的存储设备的设备信息,该新的存储设备与步骤301中多个存储设备的获取过程同理,不再赘述。
步骤b2、接收扩容请求,该扩容请求携带目标存储池标识。
该扩容请求可以由终端发送给服务器,例如,用户可以在终端上进行相应操作,如用户可以在终端上填写待扩容的目标存储池标识,终端在获取到用户填写的该目标存储池标识后,可以将该目标存储池标识携带在扩容请求中发送给服务器。
步骤b3、根据该目标存储池标识和该存储池信息表,确定该目标存储池标识对应的该目标存储特性。
服务器可以根据扩容请求中携带的目标存储池标识,查询存储池信息表,得到目标存储池标识对应的存储特性,也即是目标存储特性。
步骤b4、根据该目标存储特性,从该新的存储设备中,确定具备该目标存储特性的存储设备。
本发明实施例中,具备目标存储特性的存储设备是指包含目标存储资源的存储设备,该目标存储资源包括存储特性为目标存储特性的磁盘或硬盘卷。服务器可以根据目标存储特性所指示的循环覆盖类型和数据安全类型,在新的NVR设备中挑选具备相同循环覆盖类型和数据安全类型的磁盘,在CVR设备中挑选具备相同循环覆盖类型和数据安全类型的硬盘卷。对于每个新的存储设备,服务器可以根据该新的存储设备的设备信息,确定该新的存储设备是否包含目标存储资源,如果包含,则确定该新的存储设备具备目标存储特性。
步骤b5、在该存储池信息表中,将该新的存储设备中具备该目标存储特性的存储设备的设备标识、该目标存储池标识和该目标存储特性对应记录。
本发明实施例中,服务器在确定具备目标存储特性的一个或多个存储设备后,对于该一个或多个存储设备中的每个存储设备,服务器可以将该存储设备的设备标识与目标存储池标识和该目标存储特性对应记录在存储池信息表中。当然,服务器还可以将该一个或多个存储设备中目标存储资源的资源标识与该目标存储池标识和该目标存储特性对应记录。
需要说明的是,步骤b2中的扩容请求还可以携带第一存储容量,相应地,服务器在步骤b3中可以根据目标存储池标识和该存储池信息表,确定该目标存储池标识对应的存储池容量,服务器在执行步骤b5之前,可以从步骤b4确定的存储设备中,选取容量总和为该第一存储容量与存储池容量之差的一个或多个存储设备,将该一个或多个存储设备的设备标识与该目标存储池标识和该目标存储特性对应记录在存储池信息表中。相应地,服务器还可以更新存储池信息表中该目标存储池标识对应的存储池容量,将原来存储池容量加上该一个或多个存储设备中目标存储资源的存储容量,得到新的存储池容量。
例如,新添加的存储设备的设备信息可以如下表8所示:
表8
如果对POOL1进行扩容,则服务器需要挑选出循环覆盖类型为不覆盖、数据安全类型为单盘存储的磁盘或硬盘卷,如服务器可以挑选出NVR3及其对应的Disk32,CVR3及其对应的Volume31,POOL1扩容前的存储池容量为3000GB,Disk32和Volume31的存储容量总和为1000GB,则更新后的POOL1信息可以如下表9所示:
表9
(2)存储池缩容
在一种可能实现方式中,存储池缩容的过程可以包括下述步骤c1至步骤c2:
步骤c1、接收缩容请求,该缩容请求携带目标存储池标识。
该缩容请求可以由终端发送给服务器,例如,用户可以在终端上进行相应操作,如用户可以在终端上填写待缩容的目标存储池标识,终端在获取到用户填写的该目标存储池标识后,可以将该目标存储池标识携带在缩容请求中发送给服务器。
步骤c2、根据该目标存储池标识和该存储池信息表,从该存储池信息表中删除该目标存储池标识对应的至少一个存储设备的设备标识。
服务器可以根据缩容请求中携带的目标存储池标识,查询存储池信息表,确定该目标存储池标识对应的各个存储设备以及该各个存储设备中的目标存储资源(存储特性为目标存储特性的磁盘或硬盘卷)。然后,服务器从该存储池信息表中,删除该各个存储设备中至少一个存储设备以及该至少一个存储设备中的目标存储资源。
需要说明的是,步骤c1中的缩容请求还可以携带第二存储容量,相应地,服务器在步骤c2中可以根据目标存储池标识和该存储池信息表,确定该目标存储池标识对应的各个存储设备,以及该目标存储池标识对应的存储池容量,然后,服务器可以从该目标存储池标识对应的各个存储设备中,选取容量总和为该存储池容量与该第二存储容量之差的一个或多个存储设备,从存储池信息表中,删除该一个或多个存储设备的设备标识以及该一个或多个存储设备中目标存储资源的资源标识。相应地,服务器还可以更新存储池信息表中该目标存储池标识对应的存储池容量,将原来存储池容量减去删除的存储设备中目标存储资源的存储容量,得到新的存储池容量。
例如,服务器可以对POOL1进行缩容,删除NVR1及其对应的Disk11,POOL1缩容前的容量4500GB,Disk11的存储容量为1000GB,则更新后的存储池信息表可以如表10所示:
表10
需要说明的是,存储池扩容时由于并没有删减存储设备及其磁盘或硬盘卷,因而存储在其中的录像计划并不会发生变化。而存储池缩容时由于涉及到删减存储设备及其中的硬盘或硬盘卷,因而服务器可以将这些被删减的存储设备及其硬盘或硬盘卷中所存储的录像计划,转移到其他未被删减的存储设备及其硬盘或硬盘卷中。
本发明实施例提供的技术方案可以将各个存储设备进行虚拟化管理,屏蔽了不同类型的存储设备的差异性,提高了存储设备的使用便利性,还可以创建超大容量存储池,满足海量存储需求。用户通过终端发送录像计划时,可以直接将录像计划发送到存储池即可,由服务器分配满足用户存储需求的存储设备进行存储,提高了用户进行数据存储的便利性。另外,不同类型的存储设备均可以通过存储池进行管理,可以实现NVR设备和CVR设备的混合虚拟化管理。
本发明实施例提供的方法,通过将多个存储设备采用存储池的方式进行虚拟化管理,具备相同存储特性的存储设备可以采用同一个存储池进行集中管理,这样在需要存储数据时,用户无需在大量存储设备中进行一一查看和挑选,而可以直接选择相应存储特性的存储池,即可自动分配对应的存储设备进行数据存储,提高了数据存储的便利性和灵活性。
图4是本发明实施例提供的一种数据存储装置的结构示意图。参照图4,该装置包括:
接收模块401,用于接收数据存储请求,该数据存储请求携带目标存储池标识和待存储的数据;
确定模块402,用于根据该目标存储池标识和存储池信息表,确定该目标存储池标识对应的存储设备,该存储池信息表用于记录多个存储池标识以及各自对应的存储特性和存储设备的设备标识;
存储模块403,用于将该数据存储至该目标存储池标识对应的存储设备中;
其中,对于该存储池信息表中的每个存储池标识,该存储池标识对应的存储设备具备该存储池标识对应的存储特性。
在一种可能实现方式中,该确定模块402用于:
根据该目标存储池标识和该存储池信息表,确定该目标存储池标识对应的各个存储设备;
按照预设选取规则,从该目标存储池标识对应的各个存储设备中选取一个存储设备。
在一种可能实现方式中,该确定模块402用于:
从该目标存储池标识对应的各个存储设备中随机选取一个存储设备;或,
从该目标存储池标识对应的各个存储设备中选取剩余容量最大的一个存储设备。
在一种可能实现方式中,对于该存储池信息表中的每个存储池标识,该存储池标识对应的存储设备中包含目标存储资源,该目标存储资源是指存储特性为该存储池标识对应的存储特性的存储资源,该存储资源包括磁盘和硬盘卷。
在一种可能实现方式中,该存储池信息表用于记录多个存储池标识以及各自对应的存储特性、多个存储设备的设备标识和每个存储设备中该目标存储资源的资源标识,该资源标识包括磁盘标识和硬盘卷标识。
在一种可能实现方式中,该待存储的数据为录像计划,该录像计划用于指示从前端设备获取视频流并存储;
参见图5,该装置还包括:
第一创建模块404,用于创建该录像计划的录像计划标识;
该存储模块403还用于将该录像计划标识、该目标存储池标识和该目标存储池标识对应的存储设备的设备标识记录在录像计划信息表中,该录像计划信息表用于记录多个录像计划以及各自对应的存储池标识和存储设备的设备标识。
在一种可能实现方式中,该目标存储池标识对应的存储特性为目标存储特性,
参见图6,该装置还包括:
获取模块405,用于获取多个存储设备的设备信息,每个存储设备的设备信息包括设备标识和存储特性;
该接收模块401还用于接收存储池创建请求,该存储池创建请求携带该目标存储特性;
第二创建模块406,用于当该多个存储设备中存在具备该目标存储特性的至少一个存储设备时,创建该目标存储池标识;
该存储模块403还用于将该目标存储池标识、该目标存储特性和该至少一个存储设备的设备标识对应记录在该存储池信息表中。
在一种可能实现方式中,该获取模块405用于:
当接收到对任一存储设备的设备添加请求时,为该任一存储设备生成对应的设备标识;
向该任一存储设备发送信息获取请求;
接收该任一存储设备发送的存储资源信息,该存储资源信息包括该任一存储设备中各个存储资源的资源标识、存储容量和存储特性,该存储容量包括总容量和剩余容量;
将该任一存储设备中各个存储资源的存储特性作为该任一存储设备的存储特性。
在一种可能实现方式中,该获取模块405用于:
接收该任一存储设备发送的磁盘信息,该磁盘信息包括该任一存储设备中各个磁盘的磁盘标识、存储容量和存储特性;或,
接收该任一存储设备发送的硬盘卷信息,该硬盘卷信息包括该任一存储设备中各个硬盘卷的硬盘卷标识、存储容量和存储特性。
在一种可能实现方式中,该存储模块403还用于将该任一存储设备的设备标识和存储资源信息对应记录在设备信息表中。
在一种可能实现方式中,该存储池创建请求还携带目标存储容量,
该第二创建模块406用于当该多个存储设备中存在该至少一个存储设备,且该至少一个存储设备中目标存储资源的剩余容量总和大于或等于该目标存储容量时,执行创建目标存储池标识的步骤,该目标存储资源的存储特性为该目标存储特性。
在一种可能实现方式中,该存储模块403用于将该目标存储池标识、存储池容量、该目标存储特性、该至少一个存储设备的设备标识和该至少一个存储设备中该目标存储资源的资源标识对应记录在该存储池信息表中,该存储池容量为该至少一个存储设备中该目标存储资源的剩余容量总和。
在一种可能实现方式中,该获取模块405还用于获取新的存储设备的设备信息;
该接收模块401还用于接收扩容请求,该扩容请求携带该目标存储池标识;
该确定模块402还用于根据该目标存储池标识和该存储池信息表,确定该目标存储池标识对应的该目标存储特性;
该确定模块402还用于根据该目标存储特性,从该新的存储设备中,确定具备该目标存储特性的存储设备;
该存储模块403还用于在该存储池信息表中,将该新的存储设备中具备该目标存储特性的存储设备的设备标识、该目标存储池标识和该目标存储特性对应记录。
在一种可能实现方式中,参见图7,该装置还包括:
该接收模块401还用于接收缩容请求,该缩容请求携带该目标存储池标识;
删除模块407,用于根据该目标存储池标识和该存储池信息表,从该存储池信息表中删除该目标存储池标识对应的至少一个存储设备的设备标识。
本发明实施例提供的装置,通过将多个存储设备采用存储池的方式进行虚拟化管理,具备相同存储特性的存储设备可以采用同一个存储池进行集中管理,这样在需要存储数据时,用户无需在大量存储设备中进行一一查看和挑选,而可以直接选择相应存储特性的存储池,即可自动分配对应的存储设备进行数据存储,提高了数据存储的便利性和灵活性。
需要说明的是:上述实施例提供的数据存储装置在数据存储时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据存储装置与数据存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本发明实施例提供的一种服务器800的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central ProcessingUnits,CPU)801和一个或多个存储器802,其中,该存储器802中存储有至少一条指令,该至少一条指令由该处理器801加载并执行以实现上述各个方法实施例提供的数据存储方法。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器800还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种存储有至少一条指令的计算机可读存储介质,例如存储有至少一条指令的存储器,上述至少一条指令被处理器执行时实现上述实施例中的数据存储方法。例如,该计算机可读存储介质可以是只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,上述程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种数据存储方法,其特征在于,所述方法包括:
接收数据存储请求,所述数据存储请求携带目标存储池标识和待存储的数据;
根据所述目标存储池标识和存储池信息表,确定所述目标存储池标识对应的存储设备,所述存储池信息表用于记录多个存储池标识以及各自对应的存储特性和存储设备的设备标识;
将所述数据存储至所述目标存储池标识对应的存储设备中;
其中,对于所述存储池信息表中的每个存储池标识,所述存储池标识对应的存储设备中包含目标存储资源,所述目标存储资源是指存储特性为所述存储池标识对应的存储特性的存储资源,所述存储资源包括磁盘和硬盘卷。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标存储池标识和存储池信息表,确定所述目标存储池标识对应的存储设备,包括:
根据所述目标存储池标识和所述存储池信息表,确定所述目标存储池标识对应的各个存储设备;
按照预设选取规则,从所述目标存储池标识对应的各个存储设备中选取一个存储设备。
3.根据权利要求2所述的方法,其特征在于,所述按照预设选取规则,从所述目标存储池标识对应的各个存储设备中选取一个存储设备,包括:
从所述目标存储池标识对应的各个存储设备中随机选取一个存储设备;或,
从所述目标存储池标识对应的各个存储设备中选取剩余容量最大的一个存储设备。
4.根据权利要求1所述的方法,其特征在于,所述存储池信息表用于记录多个存储池标识以及各自对应的存储特性、多个存储设备的设备标识和每个存储设备中所述目标存储资源的资源标识,所述资源标识包括磁盘标识和硬盘卷标识。
5.根据权利要求1所述的方法,其特征在于,所述待存储的数据为录像计划,所述录像计划用于指示从前端设备获取视频流并存储;
所述将所述数据存储至所述目标存储池标识对应的存储设备中之后,所述方法还包括:
创建所述录像计划的录像计划标识;
将所述录像计划标识、所述目标存储池标识和所述目标存储池标识对应的存储设备的设备标识记录在录像计划信息表中,所述录像计划信息表用于记录多个录像计划以及各自对应的存储池标识和存储设备的设备标识。
6.根据权利要求1所述的方法,其特征在于,所述目标存储池标识对应的存储特性为目标存储特性,
所述接收数据存储请求之前,所述方法还包括:
获取多个存储设备的设备信息,每个存储设备的设备信息包括设备标识和存储特性;
接收存储池创建请求,所述存储池创建请求携带所述目标存储特性;
当所述多个存储设备中存在具备所述目标存储特性的至少一个存储设备时,创建所述目标存储池标识;
将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中。
7.根据权利要求6所述的方法,其特征在于,所述获取多个存储设备的设备信息,包括:
当接收到对任一存储设备的设备添加请求时,为所述任一存储设备生成对应的设备标识;
向所述任一存储设备发送信息获取请求;
接收所述任一存储设备发送的存储资源信息,所述存储资源信息包括所述任一存储设备中各个存储资源的资源标识、存储容量和存储特性,所述存储容量包括总容量和剩余容量;
将所述任一存储设备中各个存储资源的存储特性作为所述任一存储设备的存储特性。
8.根据权利要求7所述的方法,其特征在于,所述接收所述任一存储设备发送的存储资源信息,包括:
接收所述任一存储设备发送的磁盘信息,所述磁盘信息包括所述任一存储设备中各个磁盘的磁盘标识、存储容量和存储特性;或,
接收所述任一存储设备发送的硬盘卷信息,所述硬盘卷信息包括所述任一存储设备中各个硬盘卷的硬盘卷标识、存储容量和存储特性。
9.根据权利要求7所述的方法,其特征在于,所述接收所述任一存储设备发送的存储资源信息之后,所述方法还包括:
将所述任一存储设备的设备标识和存储资源信息对应记录在设备信息表中。
10.根据权利要求7所述的方法,其特征在于,所述存储池创建请求还携带目标存储容量,
所述当所述多个存储设备中存在具备所述目标存储特性的至少一个存储设备时,创建所述目标存储池标识,包括:
当所述多个存储设备中存在所述至少一个存储设备,且所述至少一个存储设备中目标存储资源的剩余容量总和大于或等于所述目标存储容量时,执行创建目标存储池标识的步骤,所述目标存储资源的存储特性为所述目标存储特性。
11.根据权利要求7所述的方法,其特征在于,所述将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中,包括:
将所述目标存储池标识、存储池容量、所述目标存储特性、所述至少一个存储设备的设备标识和所述至少一个存储设备中目标存储资源的资源标识对应记录在所述存储池信息表中,所述存储池容量为所述至少一个存储设备中所述目标存储资源的剩余容量总和。
12.根据权利要求6所述的方法,其特征在于,所述将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中之后,所述方法还包括:
获取新的存储设备的设备信息;
接收扩容请求,所述扩容请求携带所述目标存储池标识;
根据所述目标存储池标识和所述存储池信息表,确定所述目标存储池标识对应的所述目标存储特性;
根据所述目标存储特性,从所述新的存储设备中,确定具备所述目标存储特性的存储设备;
在所述存储池信息表中,将所述新的存储设备中具备所述目标存储特性的存储设备的设备标识、所述目标存储池标识和所述目标存储特性对应记录。
13.根据权利要求6所述的方法,其特征在于,所述将所述目标存储池标识、所述目标存储特性和所述至少一个存储设备的设备标识对应记录在所述存储池信息表中之后,所述方法还包括:
接收缩容请求,所述缩容请求携带所述目标存储池标识;
根据所述目标存储池标识和所述存储池信息表,从所述存储池信息表中删除所述目标存储池标识对应的至少一个存储设备的设备标识。
14.一种数据存储装置,其特征在于,所述装置包括:
接收模块,用于接收数据存储请求,所述数据存储请求携带目标存储池标识和待存储的数据;
确定模块,用于根据所述目标存储池标识和存储池信息表,确定所述目标存储池标识对应的存储设备,所述存储池信息表用于记录多个存储池标识以及各自对应的存储特性和存储设备的设备标识;
存储模块,用于将所述数据存储至所述目标存储池标识对应的存储设备中;
其中,对于所述存储池信息表中的每个存储池标识,所述存储池标识对应的存储设备中包含目标存储资源,所述目标存储资源是指存储特性为所述存储池标识对应的存储特性的存储资源,所述存储资源包括磁盘和硬盘卷。
15.一种服务器,其特征在于,包括一个或多个处理器和一个或多个存储器;所述一个或多个存储器,用于存放至少一条指令;所述一个或多个处理器,用于执行所述一个或多个存储器上所存放的至少一条指令,实现权利要求1-13任一项所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有至少一条指令,所述至少一条指令被处理器执行时实现权利要求1-13任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910213752.9A CN111722783B (zh) | 2019-03-20 | 2019-03-20 | 数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910213752.9A CN111722783B (zh) | 2019-03-20 | 2019-03-20 | 数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111722783A CN111722783A (zh) | 2020-09-29 |
CN111722783B true CN111722783B (zh) | 2023-03-31 |
Family
ID=72563122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910213752.9A Active CN111722783B (zh) | 2019-03-20 | 2019-03-20 | 数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111722783B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220935B (zh) * | 2021-05-28 | 2023-03-24 | 杭州海康威视系统技术有限公司 | 录像数据的存储、查询方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021506A (zh) * | 2016-05-23 | 2016-10-12 | 深圳市中博科创信息技术有限公司 | 集群系统的文件存储方法及装置 |
CN107423301A (zh) * | 2016-05-24 | 2017-12-01 | 华为技术有限公司 | 一种数据处理的方法、相关设备及存储系统 |
CN109032521A (zh) * | 2018-07-25 | 2018-12-18 | 星环信息科技(上海)有限公司 | 存储卷创建方法、装置、服务器及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10037340B2 (en) * | 2014-01-21 | 2018-07-31 | Red Hat, Inc. | Tiered distributed storage policies |
US10084861B2 (en) * | 2016-03-01 | 2018-09-25 | Netapp, Inc. | Systems and methods for managing resources in networked environment |
-
2019
- 2019-03-20 CN CN201910213752.9A patent/CN111722783B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021506A (zh) * | 2016-05-23 | 2016-10-12 | 深圳市中博科创信息技术有限公司 | 集群系统的文件存储方法及装置 |
CN107423301A (zh) * | 2016-05-24 | 2017-12-01 | 华为技术有限公司 | 一种数据处理的方法、相关设备及存储系统 |
CN109032521A (zh) * | 2018-07-25 | 2018-12-18 | 星环信息科技(上海)有限公司 | 存储卷创建方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111722783A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960915B2 (en) | Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card | |
US9276959B2 (en) | Client-configurable security options for data streams | |
US9794135B2 (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
US9858322B2 (en) | Data stream ingestion and persistence techniques | |
CN111399764B (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN107092686B (zh) | 一种基于云存储平台的文件管理方法及装置 | |
CN110908774B (zh) | 一种资源调度方法、设备、系统及存储介质 | |
CN113810230A (zh) | 对容器集群中的容器进行网络配置的方法、装置及系统 | |
CN101815095A (zh) | 一种san存储资源统一管理和分配方法 | |
CN108268211A (zh) | 一种数据处理方法及装置 | |
CN105912698A (zh) | 磁盘中数据文件的删除方法及系统 | |
CN110706148B (zh) | 人脸图像处理方法、装置、设备和存储介质 | |
CN107943423A (zh) | 云系统中存储资源的管理方法和计算机可读存储介质 | |
CN111722783B (zh) | 数据存储方法及装置 | |
CN114356521A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
CN112328363B (zh) | 一种云硬盘挂载方法及其装置 | |
CN103425684A (zh) | 数据库的操作方法及装置 | |
CN105307130A (zh) | 一种资源分配方法及系统 | |
CN111274004A (zh) | 进程实例管理方法、装置及计算机存储介质 | |
CN110555075B (zh) | 数据处理方法、装置、电子设备以及计算机可读存储介质 | |
CN107493181B (zh) | 虚拟扩展端口的指示方法和装置 | |
CN112347036B (zh) | 一种云存储系统的云间迁移方法及装置 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN112637033B (zh) | 一种基于硬件业务板卡的vlan分配方法、装置及设备 | |
CN114879907A (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 |