CN107122136A - 一种容量获取方法及装置 - Google Patents
一种容量获取方法及装置 Download PDFInfo
- Publication number
- CN107122136A CN107122136A CN201710279260.0A CN201710279260A CN107122136A CN 107122136 A CN107122136 A CN 107122136A CN 201710279260 A CN201710279260 A CN 201710279260A CN 107122136 A CN107122136 A CN 107122136A
- Authority
- CN
- China
- Prior art keywords
- value
- slice
- data
- type
- resource
- 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
Links
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
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0653—Monitoring storage devices or 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种容量获取方法及装置,应用于云存储CDS系统中的CDV,所述方法包括:获取所述slice位图区中值为第一预设值的位,所述第一预设值表示位对应的slice数据块已被占用;确定所述值为第一预设值的位对应的slice数据块中数据的数据类型;确定每一数据类型各自对应的值为第一预设值的位的个数;基于所述个数与所述slice数据块的容量确定所述每一数据类型的数据各自在所述slice数据区中的已使用容量。应用该方法,可以实现准确高效地获取CDV中逻辑资源的已使用容量。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种容量获取方法及装置。
背景技术
视频监控系统与CDS(Cloud Direct Storage,云存储)系统相结合的情况下,视频监控系统中的前端设备(例如,卡口)采集到监控数据后,首先向CDS系统中的主CDV(CloudData storage Virtual cloud,云数据存储)节点服务器(以下简称CDV)请求存储节点信息,主CDV根据所记录的其他各个CDV的资源使用情况,按照负载均衡策略选择其中一个CDV,将所选择的CDV的信息(例如设备编码)返回给前端设备,之后,前端设备向该所选择的CDV请求分配逻辑资源,并将监控数据写入所分配的逻辑资源中。
其中,主CDV获取其他各个CDV的资源使用情况的过程包括:其他各个CDV中的逻辑资源被分配出去,并写入监控数据后,则将自身的当前已使用容量加上被分配出去的逻辑资源的空间大小;其他各个CDV中的逻辑资源被释放后,则将自身的当前已使用容量减去被释放的逻辑资源的空间大小。其他各个CDV每隔预设时长,例如15秒钟,将自身的当前已使用容量上报给主CDV,从而主CDV可以获取其他各个CDV的资源使用情况。
由上述描述可知,其他各个CDV中逻辑资源的占用情况发生变化时,采用在内存中进行加减操作的方式更新当前已使用容量,由于很有可能出现不可预知的加减失败,从而很有可能导致主CDV所获取的其他各个CDV的资源使用情况与其实际资源使用情况并不相符,那么,后续很有可能导致CDV中的逻辑资源得不到充分利用,或者出现写满溢出的情况。
发明内容
有鉴于此,本申请提供一种容量获取方法及装置,以实现准确高效地获取CDV中逻辑资源的已使用容量。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种容量获取方法,应用于云存储CDS系统中的CDV,所述CDV中包括多个逻辑资源,所述逻辑资源中包括索引区和slice数据区,所述索引区中包括slice位图区,所述slice数据区包括多个slice数据块,所述多个slice数据块具有相同的容量,所述方法包括:
获取所述slice位图区中值为第一预设值的位,所述第一预设值表示位对应的slice数据块已被占用;
确定所述值为第一预设值的位对应的slice数据块中数据的数据类型;
确定每一数据类型各自对应的值为第一预设值的位的个数;
基于所述个数与所述slice数据块的容量确定所述每一数据类型的数据各自在所述slice数据区中的已使用容量。
可选的,所述索引区中还包括资源描述位图区;
所述确定所述值为第一预设值的位对应的slice数据块中数据的数据类型包括:
在所述资源描述位图区中,获取与所述slice位图区中值为第一预设值的位对应的位;
根据所述对应的位上的值查找预设的类型值与数据类型的对应关系,得到与所述值对应的数据类型,将与所述值对应的数据类型确定为所述值为第一预设值的位对应的slice数据块中数据的数据类型。
可选的,所述方法还包括:
当接收到前端设备发送的逻辑资源请求消息时,确定待存储资源的数据类型;
根据所述待存储资源的数据类型查找所述类型值与数据类型的对应关系,得到所述待存储资源的数据类型所对应的第一类型值;
获取所述资源描述区中值为所述第一类型值的位;
将所述slice位图区中值为第二预设值,且与所述值为第一类型值的位所对应的位确定为参考位,所述第二预设值表示位对应的slice数据块未被占用;
在所述参考位对应的slice数据块中确定待分配slice数据块;
向所述前端设备发送所述待分配slice数据块的块信息。
可选的,所述逻辑资源的创建过程包括:
接收到逻辑资源创建指令,确定待创建的逻辑资源所对应的数据类型;
根据所述待创建的逻辑资源所对应的数据类型查找预设的数据类型与RAID阵列类型的对应关系,得到所述待创建的逻辑资源所对应的RAID阵列类型;
在属于所述待创建的逻辑资源所对应的RAID阵列类型的RAID阵列上创建逻辑资源。
可选的,所述资源描述位图区的创建过程包括:
为所述slice数据块配置对应的数据类型后,根据所述对应的数据类型查找所述类型值与数据类型的对应关系,得到所述slice数据块对应的类型值;
在资源描述位图区中,将与所述slice数据块对应的位上的值置为所述slice数据块对应的类型值。
根据本申请实施例的第二方面,提供一种容量获取装置,应用于云存储CDS系统中的CDV,所述CDV中包括多个逻辑资源,所述逻辑资源中包括索引区和slice数据区,所述索引区中包括slice位图区,所述slice数据区包括多个slice数据块,所述多个slice数据块具有相同的容量,所述装置包括:
第一获取模块,用于获取所述slice位图区中值为第一预设值的位,所述第一预设值表示位对应的slice数据块已被占用;
类型确定模块,用于确定所述值为第一预设值的位对应的slice数据块中数据的数据类型;
个数确定模块,用于确定每一数据类型各自对应的值为第一预设值的位的个数;
容量确定模块,用于基于所述个数与所述slice数据块的容量确定所述每一数据类型的数据各自在所述slice数据区中的已使用容量。
可选的,所述索引区中还包括资源描述位图区;
所述类型确定模块包括:
获取子模块,用于在所述资源描述位图区中,获取与所述slice位图区中值为第一预设值的位对应的位;
第一查找子模块,用于根据所述对应的位上的值查找预设的类型值与数据类型的对应关系,得到与所述值对应的数据类型,将与所述值对应的数据类型确定为所述值为第一预设值的位对应的slice数据块中数据的数据类型。
可选的,所述装置还包括:
第一确定模块,用于当接收到前端设备发送的逻辑资源请求消息时,确定待存储资源的数据类型;
第一查找模块,用于根据所述待存储资源的数据类型查找所述类型值与数据类型的对应关系,得到所述待存储资源的数据类型所对应的第一类型值;
第二获取模块,用于获取所述资源描述区中值为所述第一类型值的位;
第二确定模块,用于将所述slice位图区中值为第二预设值,且与所述值为第一类型值的位所对应的位确定为参考位,所述第二预设值表示位对应的slice数据块未被占用;
第三确定模块,用于在所述参考位对应的slice数据块中确定待分配slice数据块;
发送模块,用于向所述前端设备发送所述待分配slice数据块的块信息。
可选的,所述装置还包括:
接收模块,用于接收到逻辑资源创建指令,确定待创建的逻辑资源所对应的数据类型;
第二查找模块,用于根据所述待创建的逻辑资源所对应的数据类型查找预设的数据类型与RAID阵列类型的对应关系,得到所述待创建的逻辑资源所对应的RAID阵列类型;
创建模块,用于在属于所述待创建的逻辑资源所对应的RAID阵列类型的RAID阵列上创建逻辑资源。
可选的,所述装置还包括:
第三查找模块,用于为所述slice数据块配置对应的数据类型后,根据所述对应的数据类型查找所述类型值与数据类型的对应关系,得到所述slice数据块对应的类型值;
设置模块,用于在资源描述位图区中,将与所述slice数据块对应的位上的值置为所述slice数据块对应的类型值。
由上述实施例可见,在本申请中,通过在逻辑资源划分为索引区与slice数据区,并将slice数据区划分为多个容量相等的slice数据块,在索引区中通过slice位图区描述每个slice数据块的被占用情况,从而可以通过扫描索引区即可以准确高效地获取逻辑资源的已使用容量,并且由于CDV上报给主CDV的已使用容量与实际的已使用容量相符,从而可以避免CDV中的逻辑资源得不到充分利用,或者出现写满溢出的情况;同时,通过在索引区中对每个slice数据块所对应的数据类型区别标识,可以准确获取不同类型的数据各自在逻辑资源中的已使用容量。
附图说明
图1A为本申请实施例实现容量获取方法的一个应用场景示意图;
图1B为CDV与逻辑资源之间关系,以及逻辑资源的一种示例;
图1C为逻辑资源中索引区的一种示例;
图1D为资源描述位图区的一种示例;
图1E为slice位图区的一种示例;
图2为本申请容量获取方法的一个实施例流程图;
图3为本申请容量获取方法的另一个实施例流程图;
图4为本申请容量获取装置所在CDV的一种硬件结构图;
图5为本申请容量获取装置的一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参见图1A,为本申请实施例实现容量获取方法的一个应用场景示意图。
图1A中所示例的应用场景中包括视频监控系统11与CDS系统12,其中,视频监控系统11中包括前端设备111、管理服务器112,以及数据库服务器113;CDS系统中包括CDS客户端121、CDM(Cloud Data Management,云数据管理服务器)122、CDV123至CDV12n。
在CDS系统12中,CDM122可以在CDV123至CDV12n中选取主CDV,例如,将CDV123选取为主CDV,具体选取过程本申请不再详述。用户(图1A中并未示出)可以通过CDS客户端121所提供的UI界面(图1A中并未示出)获取CDM122中的配置信息,例如主CDV123的设备编码,CDV124至CDV12n的设备编码、容量信息等。用户可以根据该配置信息向CDM122发送逻辑资源创建指令,例如,所发送的逻辑资源创建指令表示“创建一个容量大小为1024M的资源池”,CDM122则可以根据该逻辑资源创建指令在CDV124至CDV12n上创建逻辑资源。
在视频监控数据存储过程中,以前端设备111采集到一张图片为例,前端设备111首先向主CDV123请求存储节点信息,主CDV123根据本地所记录的CDV124至CDV12n的资源使用情况,按照负载均衡策略选取其中一个CDV,例如选取CDV124,则将CDV124的信息,例如CDV124的设备编码返回给前端设备111。后续,前端设备111向CDV124请求分配逻辑资源,CDV124根据自身的资源使用情况,以及待存储图片的大小分配逻辑资源,将所分配的逻辑资源的信息,例如,逻辑资源id、slice id、偏移量等返回给前端设备111。后续,前端设备111可以通过iSCSI协议,将采集到的图片写入该所分配的逻辑资源。后续,CDV124可以记录该图片所存储的逻辑资源的信息,以及该图片的大小;同时,生成固定格式的URL地址返回给前端设备111。前端设备111接收到该URL地址后,将该URL地址发送给管理服务器112,由管理服务器112将该URL地址存入数据库服务器113中。
在上述视频监控数据存储过程中,主CDV123获取CDV124至CDV12n的资源使用情况的过程包括:CDV124至CDV12n定期将自身的资源使用情况上报至主CDV123,那么主CDV123可以定期更新本地所记录的CDV124至CDV12n的资源使用情况。具体的,以CDV124为例,初始情况下,CDV124的资源使用空间为0,即CDV124的当前已使用容量为0,当CDV124中的部分逻辑资源被分配出去,且写入监控数据时,CDV124可以将自身的当前已使用容量加上该部分逻辑资源的空间大小;当CDV124中的部分逻辑资源被释放时,CDV124可以将自身的当前已使用容量减去被释放的逻辑资源的空间大小,通过该种方式,CDV124可以实时记录自身的当前已使用容量,并且,CDV124定期将自身的当前已使用容量上传至主CDV123。
由上述过程可知,CDV124至CDV12n各自的资源使用情况发生变化时,采用在内存中进行加减操作的方式,更新自身的当前已使用容量,而在内存中进行加减操作时,很有可能出现不可预知的加减失败,那么,将很有可能导致主CDV123所记录的CDV124至CDV12n的资源使用情况与其实际的资源使用情况并不相符,那么,在视频监控数据存储过程中,将导致CDV124至CDV12n中的逻辑资源得不到充分利用,或者出现写满溢出的情况。
为了解决上述问题,本申请提供一种容量获取方法及装置,以实现准确高效的获取CDV中逻辑资源的已使用容量。
在本申请中,以CDV124为例,CDV124中可以包括多个逻辑资源,每个逻辑资源中可以包括索引区和slice数据区,slice数据区中又可以包括多个具有相同容量大小的slice数据块,例如,每个slice数据块的容量大小为64M。如图1B所示,为CDV与逻辑资源之间关系,以及逻辑资源的一种示例。
在本申请中,逻辑资源中的索引区又可以包括索引描述区、slice位图区,以及目录索引区;索引描述区中又包括目录索引描述区、slice位图描述区,以及资源描述位图区,如图1C所示,为逻辑资源中索引区的一种示例。
在索引描述区中,目录索引描述区用于描述目录索引区在逻辑资源中的起始地址以及目录索引区的大小。slice位图描述区用于描述slice位图区在逻辑资源中的起始地址以及slice位图区的大小。资源描述位图区用来描述为slice数据区中的每个slice数据块所配置的数据类型,通俗的说,即用来描述哪些slice数据块被配置为用于存储视频数据,哪些slice数据块被配置为用于存储过车图片数据,哪些slice数据块被配置为用于存储业务告警图片数据,哪些slice数据块被配置为用于存储大数据分析数据,等等。
为了实现资源描述位图区简洁地描述slice数据区中的每个slice数据块所配置的数据类型,在本申请中,可以预先设置类型值与数据类型的对应关系,在为slice数据块配置对应的数据类型后,可以根据该对应的数据类型查找该对应关系,以得到slice数据块对应的类型值,之后,在资源描述位图区中,将与slice数据块对应的位上的值置为该slice数据块对应的类型值。
例如,如下表1,为类型值与数据类型对应关系的一种示例:
表1
类型值 | 数据类型 |
1 | 视频数据 |
2 | 大数据分析数据 |
3 | 过车图片数据 |
4 | 业务告警图片数据 |
… | … |
根据上述表1以及上述描述,若slice数据块被配置为用于存储视频数据,那么资源描述位图区中,与该slice数据块对应的位上的值为“1”;若slice数据块被配置为用于存储大数据分析数据,那么资源描述位图区中,与该slice数据块对应的位上的值为“2”;若slice数据块被配置为用于存储过车图片数据,那么资源描述位图区中,与该slice数据块对应的位上的值为“3”;若slice数据块被配置为用于存储业务告警图片数据,那么资源描述位图区中,与该slice数据块对应的位上的值为“4”;等等。如图1D所示,为资源描述位图区的一种示例。
Slice位图区用于描述slice数据块的占用情况,具体的,slice位图区中的每一位可以对应一个slice数据块,若slice数据块已被占用,在slice位图区中,与该slice数据块对应的位上的值可以为第一预设值,例如为“1”;若slice数据块未被占用,在slice位图区中,与该slice数据块对应的位上的值可以为第二预设值,例如为“0”。如图1E所示,为slice位图区的一种示例。
如图1D与图1E所示,资源描述位图区中的每一位对应一个slice数据块,slice位图区中的每一位也对应一个slice数据块,那么,对应于同一个slice数据块的资源描述位图区中的位,与slice位图区中的位之间也可以具有对应关系。
在本申请中,当slice数据块的占用情况发生变化时,可以在slice位图区中修改与该slice数据块对应的位上的值,例如,初始情况下,slice数据块1未被占用,在slice位图区中,与slice数据块1对应的位上的值为0,后续,若slice数据块1被占用,在slice位图区中,将与slice数据块1对应的位上的值修改为1。
目录索引区用于描述用户目录信息以及当前用户目录所占用的slice数据块集。
基于上述描述,对本申请提供的容量获取方法进行说明。
请参见图2,为本申请容量获取方法的一个实施例流程图,该图2所示例的方法在上述图1A所示应用场景的基础上,可应用于图1A中所示例的CDV124至CDV12n中的任一台CDV上,该方法可以包括以下步骤:
步骤201:获取slice位图区中值为第一预设值的位,第一预设值表示位对应的slice数据块已被占用。
在本申请中,可以基于图1C中所示例的索引区中的slice位图描述区确定slice位图区的起始地址与slice位图区的大小,从而基于slice位图区的起始地址与slice位图区的大小在索引区中获取slice位图区。
后续,扫描slice位图区中的每一位,获取值为第一预设值(为1)的位,例如,在图1E所示例的slice位图区中,共包括23个值为第一预设值的位,即slice数据区中存在23个已被占用的slice数据块。
步骤202:确定值为第一预设值的位对应的slice数据块中数据的数据类型。
在本申请中,首先可以在图1D所示例的资源描述位图区中,获取与步骤201中所获取到的值为第一预设值的位对应的位。
后续,可以根据该对应的位上的值查找上述表1所示例的类型值与数据类型的对应关系,得到与该对应的位上的值所对应的数据类型,将该数据类型确定为值为第一预设值的位对应的slice数据块中数据的数据类型。
例如,以图1E所示例的slice位图区中左上角的位为例,该位对应图1D中左上角的位,图1D中左上角的位上的值为“1”,根据“1”查找上述表1,可以得到“1”对应的数据类型为“视频数据”,即与图1E所示例的slice位图区中左上角的位对应的slice数据块中数据的数据类型为“视频数据”。
步骤203:确定每一数据类型各自对应的值为第一预设值的位的个数。
在本申请中,结合图1D所示例的资源描述位图区与图1E所示例的slice位图区,可以得到“视频数据”所对应的值为第一预设值的位的个数为5,“大数据分析数据”所对应的值为第一预设值的位的个数为4,“过车图片数据”所对应的值为第一预设值的位的个数为6,“业务告警图片数据”所对应的值为第一预设值的位的个数为8。
步骤204:基于个数与slice数据块的容量,确定每一数据类型的数据各自在所述slice数据区中的已使用容量。
在本申请中,假设slice数据块的容量为64M,那么,可以得出视频数据在slice数据区中的已使用容量为5*64M=320M,大数据分析数据在slice数据区中的已使用容量为4*64M=256M,过车图片数据在slice数据区中的已使用容量为6*64M=384M,业务告警图片数据在slice数据区中的已使用容量为8*64M=512M。
由上述实施例可见,在本申请中,通过在逻辑资源划分为索引区与slice数据区,并将slice数据区划分为多个容量相等的slice数据块,在索引区中通过slice位图区描述每个slice数据块的被占用情况,从而可以通过扫描索引区即可以准确高效地获取逻辑资源的已使用容量,并且由于CDV上报给主CDV的已使用容量与实际的已使用容量相符,从而可以避免CDV中的逻辑资源得不到充分利用,或者出现写满溢出的情况;同时,通过在索引区中对每个slice数据块所对应的数据类型区别标识,可以准确获取不同类型的数据各自在逻辑资源中的已使用容量。
此外,在视频监控环境下,图片、视频、大数据分析等类型的数据共存于同一个CDS系统,且不同类型的数据对安全性的要求不同,例如,图片类型的数据相对于视频类型的数据较为重要,那么,则可以为图片类型的数据设置较高的安全性。为了实现这一目的,在本申请中,用户所发送的逻辑资源创建指令不仅可以表示创建的资源池的大小,还可以表示出资源池所存储数据的数据类型,例如,用户所发送的逻辑资源创建指令表示“创建一个容量大小为1024M的图片资源池”,那么当CDV接收到逻辑资源创建指令后,可以确定待创建的逻辑资源所对应的数据类型,例如为图片,之后,可以根据该待创建的逻辑资源所对应的数据类型查找预设的数据类型与RAID阵列类型的对应关系,得到该待创建的逻辑资源所对应的RAID阵列类型,例如为RAID6,后续,CDV则可以在属于RAID6的RAID阵列上创建逻辑资源。
需要说明的是,在本申请中,设置数据类型与RAID阵列类型的对应关系时,遵从数据类型所要求的安全性越高,其对应的RAID阵列类型的安全性越高的原则。
请参见图3,为本申请容量获取方法的另一个实施例流程图,该图3所示例的方法,在上述图1A所示应用场景,以及图2所示方法的基础上,着重描述了如何分配逻辑资源,包括以下步骤:
步骤301:当接收到前端设备发送的逻辑资源请求消息时,确定待存储资源的数据类型。
步骤302:根据所待存储资源的数据类型查找类型值与数据类型的对应关系,得到待存储资源的数据类型所对应的第一类型值。
步骤303:获取资源描述区中值为第一类型值的位。
步骤304:将slice位图区中值为第二预设值,且与值为第一类型值的位所对应的位确定为参考位,第二预设值表示位对应的slice数据块未被占用。
步骤305:在参考位对应的slice数据块中确定待分配slice数据块。
步骤306:向前端设备发送待分配slice数据块的块信息。
举例来说,假设待存储资源的数据类型为“视频数据”,则可以根据上述表1得到“视频数据”对应的类型值,为了描述方便,将该对应的类型值称为第一类型值,例如为“1”;后续,可以在图1D所示例的资源描述区中获取值为“1”的位,例如,第一行和第二行中的位;之后,在图1E所示例的slice位图区中,获取与值为第一类型值的位所对应的且值为第二预设值(为0)的位,为了描述方便,将这些位称为参考位,例如,图1E中第一行的后三位以及第二行中的位为参考位。
后续,CDV124可以根据待存储资源的大小在参考位所对应的slice数据块中确定待分配slice数据块,CDV124将待分配slice数据块的块信息,例如slice id,偏移量等等发送给前端设备111。
由上述实施例可见,通过根据预先配置的slice数据块对应的数据类型为待存储资源分配slice数据块,可以实现较好地管理逻辑资源中存储的数据,使得同一数据类型的数据可以在逻辑资源中连续存储,可以提高后续数据读取的效率。
与前述容量获取方法的实施例相对应,本申请还提供了容量获取装置的实施例。
本申请容量获取装置的实施例可以应用在云存储CDS系统中的CDV上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在CDV的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请容量获取装置所在CDV的一种硬件结构图,除了图*所示的处理器41、内存42、网络接口43、以及非易失性存储器44之外,实施例中装置所在的CDV通常根据该CDV的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5,为本申请容量获取装置的一个实施例框图,该装置可以应用于云存储CDS系统中的CDV,所述CDV中可以包括多个逻辑资源,所述逻辑资源中可以包括索引区和slice数据区,所述索引区中可以包括slice位图区,所述slice数据区可以包括多个slice数据块,所述多个slice数据块可以具有相同的容量,所述装置包括:第一获取模块51、类型确定模块52、个数确定模块53、容量确定模块54。
其中,第一获取模块51,可以用于获取所述slice位图区中值为第一预设值的位,所述第一预设值表示位对应的slice数据块已被占用;
类型确定模块52,可以用于确定所述值为第一预设值的位对应的slice数据块中数据的数据类型;
个数确定模块53,可以用于确定每一数据类型各自对应的值为第一预设值的位的个数;
容量确定模块54,可以用于基于所述个数与所述slice数据块的容量确定所述每一数据类型的数据各自在所述slice数据区中的已使用容量。
在一实施例中,所述索引区中还包括资源描述位图区;
所述类型确定模块52可以包括(图5中并未示出):
获取子模块,用于在所述资源描述位图区中,获取与所述slice位图区中值为第一预设值的位对应的位;
第一查找子模块,用于根据所述对应的位上的值查找预设的类型值与数据类型的对应关系,得到与所述值对应的数据类型,将与所述值对应的数据类型确定为所述值为第一预设值的位对应的slice数据块中数据的数据类型。
在一实施例中,所述装置还可以包括(图5中并未示出):
第一确定模块,用于当接收到前端设备发送的逻辑资源请求消息时,确定待存储资源的数据类型;
第一查找模块,用于根据所述待存储资源的数据类型查找所述类型值与数据类型的对应关系,得到所述待存储资源的数据类型所对应的第一类型值;
第二获取模块,用于获取所述资源描述区中值为所述第一类型值的位;
第二确定模块,用于将所述slice位图区中值为第二预设值,且与所述值为第一类型值的位所对应的位确定为参考位,所述第二预设值表示位对应的slice数据块未被占用;
第三确定模块,用于在所述参考位对应的slice数据块中确定待分配slice数据块;
发送模块,用于向所述前端设备发送所述待分配slice数据块的块信息。
在一实施例中,所述装置还可以包括(图5中并未示出):
接收模块,用于接收到逻辑资源创建指令,确定待创建的逻辑资源所对应的数据类型;
第二查找模块,用于根据所述待创建的逻辑资源所对应的数据类型查找预设的数据类型与RAID阵列类型的对应关系,得到所述待创建的逻辑资源所对应的RAID阵列类型;
创建模块,用于在属于所述待创建的逻辑资源所对应的RAID阵列类型的RAID阵列上创建逻辑资源。
在一实施例中,所述装置还可以包括(图5中并未示出):
第三查找模块,用于为所述slice数据块配置对应的数据类型后,根据所述对应的数据类型查找所述类型值与数据类型的对应关系,得到所述slice数据块对应的类型值;
设置模块,用于在资源描述位图区中,将与所述slice数据块对应的位上的值置为所述slice数据块对应的类型值。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种容量获取方法,应用于云存储CDS系统中的CDV,其特征在于,所述CDV中包括多个逻辑资源,所述逻辑资源中包括索引区和slice数据区,所述索引区中包括slice位图区,所述slice数据区包括多个slice数据块,所述多个slice数据块具有相同的容量,所述方法包括:
获取所述slice位图区中值为第一预设值的位,所述第一预设值表示位对应的slice数据块已被占用;
确定所述值为第一预设值的位对应的slice数据块中数据的数据类型;
确定每一数据类型各自对应的值为第一预设值的位的个数;
基于所述个数与所述slice数据块的容量确定所述每一数据类型的数据各自在所述slice数据区中的已使用容量。
2.根据权利要求1所述的方法,其特征在于,所述索引区中还包括资源描述位图区;
所述确定所述值为第一预设值的位对应的slice数据块中数据的数据类型包括:
在所述资源描述位图区中,获取与所述slice位图区中值为第一预设值的位对应的位;
根据所述对应的位上的值查找预设的类型值与数据类型的对应关系,得到与所述值对应的数据类型,将与所述值对应的数据类型确定为所述值为第一预设值的位对应的slice数据块中数据的数据类型。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当接收到前端设备发送的逻辑资源请求消息时,确定待存储资源的数据类型;
根据所述待存储资源的数据类型查找所述类型值与数据类型的对应关系,得到所述待存储资源的数据类型所对应的第一类型值;
获取所述资源描述区中值为所述第一类型值的位;
将所述slice位图区中值为第二预设值,且与所述值为第一类型值的位所对应的位确定为参考位,所述第二预设值表示位对应的slice数据块未被占用;
在所述参考位对应的slice数据块中确定待分配slice数据块;
向所述前端设备发送所述待分配slice数据块的块信息。
4.根据权利要求1所述的方法,其特征在于,所述逻辑资源的创建过程包括:
接收到逻辑资源创建指令,确定待创建的逻辑资源所对应的数据类型;
根据所述待创建的逻辑资源所对应的数据类型查找预设的数据类型与RAID阵列类型的对应关系,得到所述待创建的逻辑资源所对应的RAID阵列类型;
在属于所述待创建的逻辑资源所对应的RAID阵列类型的RAID阵列上创建逻辑资源。
5.根据权利要求2所述的方法,其特征在于,所述资源描述位图区的创建过程包括:
为所述slice数据块配置对应的数据类型后,根据所述对应的数据类型查找所述类型值与数据类型的对应关系,得到所述slice数据块对应的类型值;
在资源描述位图区中,将与所述slice数据块对应的位上的值置为所述slice数据块对应的类型值。
6.一种容量获取装置,应用于云存储CDS系统中的CDV,其特征在于,所述CDV中包括多个逻辑资源,所述逻辑资源中包括索引区和slice数据区,所述索引区中包括slice位图区,所述slice数据区包括多个slice数据块,所述多个slice数据块具有相同的容量,所述装置包括:
第一获取模块,用于获取所述slice位图区中值为第一预设值的位,所述第一预设值表示位对应的slice数据块已被占用;
类型确定模块,用于确定所述值为第一预设值的位对应的slice数据块中数据的数据类型;
个数确定模块,用于确定每一数据类型各自对应的值为第一预设值的位的个数;
容量确定模块,用于基于所述个数与所述slice数据块的容量确定所述每一数据类型的数据各自在所述slice数据区中的已使用容量。
7.根据权利要求6所述的装置,其特征在于,所述索引区中还包括资源描述位图区;
所述类型确定模块包括:
获取子模块,用于在所述资源描述位图区中,获取与所述slice位图区中值为第一预设值的位对应的位;
第一查找子模块,用于根据所述对应的位上的值查找预设的类型值与数据类型的对应关系,得到与所述值对应的数据类型,将与所述值对应的数据类型确定为所述值为第一预设值的位对应的slice数据块中数据的数据类型。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于当接收到前端设备发送的逻辑资源请求消息时,确定待存储资源的数据类型;
第一查找模块,用于根据所述待存储资源的数据类型查找所述类型值与数据类型的对应关系,得到所述待存储资源的数据类型所对应的第一类型值;
第二获取模块,用于获取所述资源描述区中值为所述第一类型值的位;
第二确定模块,用于将所述slice位图区中值为第二预设值,且与所述值为第一类型值的位所对应的位确定为参考位,所述第二预设值表示位对应的slice数据块未被占用;
第三确定模块,用于在所述参考位对应的slice数据块中确定待分配slice数据块;
发送模块,用于向所述前端设备发送所述待分配slice数据块的块信息。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收到逻辑资源创建指令,确定待创建的逻辑资源所对应的数据类型;
第二查找模块,用于根据所述待创建的逻辑资源所对应的数据类型查找预设的数据类型与RAID阵列类型的对应关系,得到所述待创建的逻辑资源所对应的RAID阵列类型;
创建模块,用于在属于所述待创建的逻辑资源所对应的RAID阵列类型的RAID阵列上创建逻辑资源。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第三查找模块,用于为所述slice数据块配置对应的数据类型后,根据所述对应的数据类型查找所述类型值与数据类型的对应关系,得到所述slice数据块对应的类型值;
设置模块,用于在资源描述位图区中,将与所述slice数据块对应的位上的值置为所述slice数据块对应的类型值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710279260.0A CN107122136B (zh) | 2017-04-25 | 2017-04-25 | 一种容量获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710279260.0A CN107122136B (zh) | 2017-04-25 | 2017-04-25 | 一种容量获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107122136A true CN107122136A (zh) | 2017-09-01 |
CN107122136B CN107122136B (zh) | 2021-02-02 |
Family
ID=59726289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710279260.0A Active CN107122136B (zh) | 2017-04-25 | 2017-04-25 | 一种容量获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122136B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829356A (zh) * | 2018-06-27 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种数据处理方法及相关设备 |
CN109753224A (zh) * | 2017-11-03 | 2019-05-14 | 浙江宇视科技有限公司 | 存储结构及存储结构配置方法 |
CN111404978A (zh) * | 2019-09-06 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种数据存储方法及云存储系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853278A (zh) * | 2010-05-19 | 2010-10-06 | 苏州迈科网络安全技术有限公司 | 数据存储系统应用方法 |
CN101950273A (zh) * | 2010-09-26 | 2011-01-19 | 中国人民解放军海军工程大学 | 一种dsp数据区动态管理方法 |
CN101976181A (zh) * | 2010-10-15 | 2011-02-16 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
CN101997919A (zh) * | 2010-11-16 | 2011-03-30 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
CN102253871A (zh) * | 2011-07-13 | 2011-11-23 | 重庆大学 | 一种数据备份、还原方法、装置及系统 |
US20120185413A1 (en) * | 2011-01-14 | 2012-07-19 | International Business Machines Corporation | Specifying Physical Attributes of a Cloud Storage Device |
CN103777897A (zh) * | 2012-10-17 | 2014-05-07 | 国际商业机器公司 | 用于在主要存储位置和辅助存储位置之间复制数据的方法和系统 |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
CN104699416A (zh) * | 2013-12-10 | 2015-06-10 | 杭州海康威视系统技术有限公司 | 一种数据存储系统以及一种数据存储方法 |
CN105426366A (zh) * | 2014-08-19 | 2016-03-23 | 西安慧泽知识产权运营管理有限公司 | 一种对数据资源进行有效管理的方法 |
US20160139814A1 (en) * | 2007-07-13 | 2016-05-19 | Samsung Electronics Co., Ltd. | Cache memory device and data processing method of the device |
CN106021466A (zh) * | 2016-05-17 | 2016-10-12 | 浙江大华技术股份有限公司 | 一种存储数据的方法及装置 |
-
2017
- 2017-04-25 CN CN201710279260.0A patent/CN107122136B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160139814A1 (en) * | 2007-07-13 | 2016-05-19 | Samsung Electronics Co., Ltd. | Cache memory device and data processing method of the device |
CN101853278A (zh) * | 2010-05-19 | 2010-10-06 | 苏州迈科网络安全技术有限公司 | 数据存储系统应用方法 |
CN101950273A (zh) * | 2010-09-26 | 2011-01-19 | 中国人民解放军海军工程大学 | 一种dsp数据区动态管理方法 |
CN101976181A (zh) * | 2010-10-15 | 2011-02-16 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
CN101997919A (zh) * | 2010-11-16 | 2011-03-30 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
US20120185413A1 (en) * | 2011-01-14 | 2012-07-19 | International Business Machines Corporation | Specifying Physical Attributes of a Cloud Storage Device |
CN102253871A (zh) * | 2011-07-13 | 2011-11-23 | 重庆大学 | 一种数据备份、还原方法、装置及系统 |
CN103777897A (zh) * | 2012-10-17 | 2014-05-07 | 国际商业机器公司 | 用于在主要存储位置和辅助存储位置之间复制数据的方法和系统 |
CN104699416A (zh) * | 2013-12-10 | 2015-06-10 | 杭州海康威视系统技术有限公司 | 一种数据存储系统以及一种数据存储方法 |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
CN105426366A (zh) * | 2014-08-19 | 2016-03-23 | 西安慧泽知识产权运营管理有限公司 | 一种对数据资源进行有效管理的方法 |
CN106021466A (zh) * | 2016-05-17 | 2016-10-12 | 浙江大华技术股份有限公司 | 一种存储数据的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753224A (zh) * | 2017-11-03 | 2019-05-14 | 浙江宇视科技有限公司 | 存储结构及存储结构配置方法 |
CN108829356A (zh) * | 2018-06-27 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种数据处理方法及相关设备 |
CN111404978A (zh) * | 2019-09-06 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种数据存储方法及云存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107122136B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105933376B (zh) | 一种数据操作方法,服务器及存储系统 | |
CN105068758B (zh) | 面向并行数据采集的分布式文件系统数据i/o优化方法 | |
CN108845877B (zh) | 管理内存的方法、装置和系统 | |
US20070043771A1 (en) | Disaggregated resources and access methods | |
CN107105050B (zh) | 一种业务对象的存储、下载方法及系统 | |
CN103324533B (zh) | 分布式数据处理方法、装置及系统 | |
CN107026876B (zh) | 一种文件数据访问系统及方法 | |
CN107122136A (zh) | 一种容量获取方法及装置 | |
CN111209090B (zh) | 一种云平台中虚拟机的创建方法、组件及服务器 | |
CN109085999A (zh) | 数据处理方法及处理系统 | |
CN107092686A (zh) | 一种基于云存储平台的文件管理方法及装置 | |
US10057348B2 (en) | Storage fabric address based data block retrieval | |
CN108933847A (zh) | 一种地址快速分配的方法及装置 | |
CN106060131B (zh) | 一种分配dns服务器的方法和装置 | |
CN106027356B (zh) | 一种隧道标识的转换方法及装置 | |
CN111372027B (zh) | 视频文件的存储方法及装置、存储介质、电子装置 | |
CN110012050A (zh) | 消息处理、存储方法、装置及系统 | |
EP3745284A1 (en) | Model parameter fusion method and apparatus | |
CN101141482B (zh) | 网络资源管理系统及方法 | |
CN104462129B (zh) | 分布式文件存储和查询方法及存取系统 | |
KR20170081977A (ko) | 효율적으로 파일을 생성하기 위한 분산 파일 시스템 및 방법 | |
CN108089934A (zh) | 集群管理方法及集群服务器 | |
CN111404828B (zh) | 实现全局流控的方法及装置 | |
CN105450679A (zh) | 进行数据云存储的方法及系统 | |
CN105426125B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221107 Address after: 250101 4th floor, building 5, zone A2, Hanyu Jingu, Shunhua South Road, high tech Zone, Jinan City, Shandong Province Patentee after: Jinan Yushi Intelligent Technology Co.,Ltd. Address before: 310051 Zhejiang Jiangling Hangzhou Road, Binjiang District, Jiangling, 88, No. 10 South Block 1-11. Patentee before: ZHEJIANG UNIVIEW TECHNOLOGIES Co.,Ltd. |