数据存储方法和存储设备的制作方法

文档序号:6779138阅读:104来源:国知局

专利名称::数据存储方法和存储设备的制作方法
技术领域
:本发明涉及通讯领域,尤其涉及一种数据存储方法和存储设备。技术背景随着经济的发展,人们对安防的需求越来越高,视频监控作为安防领域的重要組成部分近年来得到了飞速发展,已经从早期的特定领域专用系统发展成目前的数字化、多网点、多领域、大数据量的视频监控系统。视频监控技术主要包括视频采集、数据回放和数据存储几个方面。视频监控系统的基本原理是利用摄像头/摄像机获取视频信息,再由编码器对获取的视频信息进行编码,把视频数据数字化。数字化的视频数据除了用于实时监控,还可以先存储起来以供后续的回放。目前在视频监控领域,音视频数据的存储方式主要有两种,一种是在磁盘上创建文件系统,通过文件系统'进行音视频数据的写入和读取。第二种是不在磁盘上创建任何文件系统,直接对磁盘进行音视频数据的写入和读取,也可称为数据直存技术。数据直存技术的典型组网示意图如图1所示,其中,每台前端编码器(Encoder),i匀3虫立通过iSCSI(internetSmallComputerSystemInterface,Internet小型计算机系统接口)协议将数据存入IPSAN(StorageAreaNetwork,存储区域网络)设备中,iSCSI协议将远端的IPSAN中的存储资源,以本地磁盘设备的形式提供给前端编码器使用,进行数据的读写。因此编码器在对磁盘读写的过程中,并不对磁盘进行文件系统划分和格式化操作,而是直接按磁盘扇区来进行块读写操作。存储的数据按照块边界(也可理解为磁盘扇区的边界)对齐进行存储,若干数量的块组成一个存储单元,块和存储单元的大小固定。现有技术中,数据在磁盘中的存储格式示意图如图2所示。其中如数据属于哪一个编码器。媒体数据采用两级索引方式,磁盘中第一个块为主索引块(即一级索引),之后为固定长度的存储单元。主索引块中的索引信息记录了所有存储单元存储的首记录时间戳(即第一条记录的时间戳),每条索引信息记录年、月、日、小时、分的具体时间数值。各存储单元中的第一个块为存储单元索引块(即二级索引),该索引块记录了本存储单元内所有I帧组(编码过程中,一系列图像如连续25帧进行编码后,会形成一个不可分割的整体,在进行媒体数据存储时,这个整体也是不能打破的,每个整体称为一个I帧组,每个I帧组存储时对应一个时间)数据的时间戳和存储位置偏移量,偏移量以本存储单元内的基地址为参考点。二级索引中,二级索引标识中记录了二级索引信息的数量,每条索引信息(二级索引1、二级索引2.....二级索引n)记录I帧组的年、月、日、小时、分、秒的具体时间数值,以及存储位置偏移量。通过釆用二级索引方式,查询的时间粒度可以精确到秒的数量级。对于采用上述方式组织的存储数据可以进一步分为索引数据(也称为元数据)和媒体数据,数据的存储区域从功能上可以分为索引区和数据区,通过索引区中的数据可以完成^!某体数据的查询、寻址等操作,对于该部分索引区一般也可以称为元数据区,其未经过编码器处理。而对于数据区存储的媒体数据而言,是真正的经过编码器处理过的媒体流数据。现有技术中存在的问题在于元数据与媒体数据在存储时混杂在一起,导致数据读写操作需要在存储元数据和存储媒体数据的存储区域中切换进行寻道,增加了存储设备的硬盘的寻道时间,导致读写操作的效率较低。另夕卜,在存储中涉及大量重复数据,造成存储资源浪费。
发明内容本发明提供一种数据存储方法和存储设备,用于在进行元数据和媒体数据的存储时,提高数据读写效率,并避免大量重复数据的写入。本发明提供了一种数据存储方法,包括接收到对于媒体数据的写请求时,将所述媒体数据的数据分片进行压缩后得到媒体分片索引,在已建立的各数据分片的分片复用对应关系中搜索匹配是否已存在相同的媒体分片索引;所述数据分片的分片复用对应关系中包括媒体分片索引、分片物理地址以及引用计数的对应关系,所述媒体分片索引由数据分片的内容压缩后得到;所述分片物理地址,用于标识所述数据分片的内容在存储设备中的实际物理地址;所述引用计数,用于标识所述数据分片的内容被复用的次数;当所述搜索匹配结果为不存在时,为所述媒体数据的数据分片分配在所述存储设备中的实际物理地址,将所述数据分片存储到所述实际物理地址;新建关于所述数据分片的分片复用对应关系,其中所述对应关系中的引用计数为0,所述分片物理地址为分配的所述存储设备中的实际物理地址;建立所述分配的实际物理地址与所述写请求中携带的虚拟设备的物理地址的映射;当所述搜索匹配结果为存在时,在所述各数据分片的分片复用对应关系中,增加所述搜索匹配得到的数据分片的引用计数;建立所述搜索匹配得到的数据分片的分片物理地址与所迷写请求中携带的虚拟设备的物理地址的映射。其中,所述分片复用对应关系中还包括读活跃度,用于标识所述数据分片被读请求操作的次数;所述读活跃度以固定间隔时间进行递减;当接收到对媒体数据的读请求时,将所述读请求中携带的虛拟设备的物理地址映射为存储设备中的实际物理地址,在所述已建立的各数据分片的分片复用对应关系中对所述实际物理地址进行搜索匹配;所述搜索匹配结果为存在时,还包括增加所述搜索匹配到的分片物理地址对应的数据分片的读活跃度。其中,若存储已存在的数据分片的分片复用对应关系的空间达到上限时,则选择已存在的数据分片的分片复用对应关系中引用计数最低、或读活跃度最低者并删除。其中,所述分片复用对应关系中还包括所述数据分片的内容时,当接收到对媒体数据的读请求时,将所迷读请求中携带的虛拟设备的物理地址映射为存储设备中的实际物理地址,在所述已建立的各数据分片的分片复用对应于元数据的读请求或写请求时,将所述读请求据转换得到的实际物理地址处理所述对于元数据的读请求或写请求;其中,所述存储设备的用于存储元数据的区域和用于存储媒体数据的区域分别具有连续的物理地址。本发明还提供了一种存储设备,包括处理单元,用于接收到对于媒体数据的写请求时,将所述媒体数据的数据分片进行压缩后得到媒体分片索引,在已建立的各数据分片的分片复用对应关系中搜索匹配是否已存在相同的媒体分片索引;当所述搜索匹配结果为址,将所述数据分片存储到所述实际物理地址;在分片复用单元中新建关于所述数据分片的分片复用对应关系,其中所述对应关系中的引用计数为0,所述分片物理地址为分配的所述存储设备中的实际物理地址;建立所述分配的实际物理地址与所述写请求中携带的虛拟设备的物理地址的映射;当所述搜索匹配结果为存在时,在所述各数据分片的分片复用对应关系中,增加所述搜索匹配得到的数据分片的引用计数;建立所述搜索匹配得到的数据分片的分片物理地址与所述写请求中携带的虛拟设备的物理地址的映射;分片复用单元,用于存储数据分片的分片复用对应关系,将所述分片复用对应关系提供给所述处理单元;所述数据分片的分片复用对应关系中包括媒体分片索引、分片物理地址以及引用计数的对应关系,所述媒体分片索引由数据分片的内容压缩后得到;所述分片物理地址,用于标识所述数据分片的内容在存储设备中的实际物理地址;所述引用计数,用于标识所述数据分片的内容被复用的次数;。其中,所述分片复用单元存储的分片复用对应关系中还包括读活跃度,用于标识所述数据分片的内容被读请求操作的次数;所述读活跃度以固定间隔时间进4亍递减;所述处理单元还用于当接收到对媒体数据的读请求时,将所述读请求建立的各数据分片的分片复用对应关系中对所述实际物理地址进行搜索匹配;所述搜索匹配结杲为存在时,还包括增加所述分片复用单元存储的分片复用对应关系中所述搜索匹配到的分片物理地址对应的数据分片的读活跃度。其中,所述分片复用单元还用于若存储已存在的数据分片的分片复用对应关系的空间达到上限时,则选择已存在的数据分片的分片复用对应关系中引用计数最低、或读活跃度最低者并删除。其中,所述分片复用单元还用于在所述分片复用对应关系中存储所述数据分片的内容;所述处理单元还用于,当接收到对媒体数据的读请求时,将所述读请求建立的各数据分片的分片复用对应关系中对所述实际物理地址进行搜索匹配,当搜索匹配结果为存在时,从所述分片复用对应关系中获取对应的数据分片的内容。。其中,所述处理单元还用于接收到对于元数据的读请求或写请求时,将所述读请求或写请求涉及的虚拟设备的物理地址映射为存储设备中的实际物理地址;根据转换得到的实际物理地址处理所述对于元数据的读请求或写请求;其中,所述存储设备的用于存储元数据的区域和用于存储媒体数据的区域分别具有连续的物理地址。与现有技术相比,本发明具有以下优点在进行媒体数据的存储时,针对媒体数据进行分片数据分析,重用已存储的数据分片,如此避免大量重复数据的写入,特别是对于存在大量静态景观的监控场景避免了数据重复。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中数据直存技术的典型组网示意图;图2是现有技术中数据在磁盘中的存储格式示意图;图3是本发明中提供的数据操作方法的流程图4是本发明中提供的虛拟存储设备与后端存储设备间进行地址映射的示意图5是本发明中一应用场景的示意图6是本发明中提供的数据存储设备的控制装置的结构示意图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供了一种数据存储方法,用于对元数据和/或媒体数据进行操作,如图3所示,该方法包括步骤s301、接收到对于媒体数据的写请求时,将媒体数据的数据分片进行压缩后得到4某体分片索引。步骤s302、在已建立的各数据分片的分片复用对应关系中搜索匹配是否已存在相同的媒体分片索引;若未匹配到则进行步骤s303,否则进行步骤s304。其中,数据分片的分片复用对应关系中包括々某体分片索引、分片物理地址以及引用计数的对应关系,媒体分片索引由数据分片的内容压缩后得到;分片物理地址,用于标识数据分片的内容在存储设备中的实际物理地址;引用计数,用于标识数据分片的内容被复用的次数;步骤s303、当搜索匹配结果为不存在时,为媒体数据的数据分片分配在存储设备中的实际物理地址,将数据分片存储到实际物理地址;新建关于数据分片的分片复用对应关系,其中对应关系中的引用计数为0,分片物理地址为分配的所述存储设备中的实际物理地址;建立分配的实际物理地址与写请求中携带的虚拟设备的物理地址的映射。步骤s304、当搜索匹配结果为存在时,在各数据分片的分片复用对应关系中,增加搜索匹配得到的数据分片的引用计数;建立搜索匹配得到的数据分片的分片物理地址与写请求中携带的虚拟设备的物理地址的映射。之后,对于已经存储的媒体数据,接收到对媒体数据的读请求时,将读建立的各数据分片的分片复用对应关系中对实际物理地址进行搜索匹配;搜索匹配结果为存在时,获取搜索匹配到的分片物理地址对应的数据分片的内容并发送;搜索匹配结果为不存在时,在存储设备的实际物理地址中读取分片数据的内容并发送。另外,接收到对于元数据的读请求或写请求时,将读请求或写请求涉及的虚拟设备的物理地址映射为存储设备中的实际物理地址;根据转换得到的实际物理地址处理对于元数据的读请求或写请求;其中,该存储设备的用于存储元数据的区域和用于存储媒体数据的区域分别具有连续的物理地址。以下结合具体的应用场景,描述本发明中的数据操作方法的具体实施方式。对于前端编码器而言,其通过iSCSI方式发送的读写请求中涉及的物理地址所对应的组织形式如上述图2所示,即元数据的存储区域与媒体数据的存储区域在存储时混杂在一起。本发明提供的方法中,将前端编码器读写请求的物理地址进行相应的读写操作。在后端存储设备中,元数据的存储区域与媒体数据的存储区域是分开的独立区域。其示意图如图4所示。其中,虚拟设备为前端编码器读写请求所涉及的设备,与现有技术中前端编码器存储数据使用的存储设备的结构相同,因此无需对前端编码器进行改动。后端存储设备包括第一物理设备和第二物理设备,二者可以为不同的物理设备、或相同的物理设备中的不同存储空间。其中,后端存储设备可以建立在较为可靠的物理阵列上(如RAID10),并分配多个索引区,包括全局凄t据区、一级索引、二级索引等区域,之后再将各区域中的物理地址与虚拟设备中对应的物理地址统一建立地址映射。在地址映射方式上,前端编码器读写的虚拟设备中的所有元数据的存储区域被映射到第二物理设备上,虛拟设备中的所有媒体数据的存储区域被映射到第一物理设备上。因此,在物理设备中,元数据的存储区域与媒体数据的存储区域分别是连续的。对比现有技术中元数据的存储区域与媒体数据的存储区域混杂排布的方式,在根据接收到的读请求进行"读取元数据(如索引)^^某体数据操作一读取元数据(如索引)^i某体数据操作....,,的流程中,无需交替读取元数据存储区和媒体数据存储区,从而缩短了磁盘寻址时间和数据处理时间。采用上述地址映射功能后,当前端编码器EC通过iSCSI方式使用存储设备的存储资源,存储设备接收到iSCSI的读写请求(涉及的物理地址为虚拟设备中的物理地址)时,考虑多媒体数据的特点,根据读写请求涉及的数据的类型(元数据或媒体数据)进行相应处理。该读写请求涉及的数据的类型的判断方法包括但不限于(1)获取读写操作涉及的中的物理地址,当该地址为元数据存储区时,该读写操作涉及的数据为元数据;该地址为媒体数据存储区时,该读写搡作涉及的数据为媒体数据;(2)接收到携带数据的写请求时,直接获取写请求中携带的数据的数据类型。考虑到现有技术中不同摄像头采集的数据中存在大量重复数据、造成存储空间浪费的缺陷,本发明提出了分片复用功能,用于节省大量重复数据占据的存储空间。分片复用功能的原理在于,对于待存储的媒体数据,当存储设备中已经存储有与该待存储的媒体数据相同的媒体数据时,直接将该待存储的媒体数据的存储位置指向存储设备中已存在的相同的媒体数据的物理地址,实现已存储数据的复用。以下对该分片复用功能进行详细描述在启用分片分析复用的情况下,存储设备内会建立包括媒体分片索引、数据分片、分片物理地址、引用计数、读活跃度的数据表。其中,媒体分片索引,用于进行数据分片的搜索匹配,其根据数据分片得到,在对数据分片进行压缩后,将压缩得到的内容作为该数据分片的媒体分片索引;数据分片,用于存储媒体数据,大小通常为512字节的整数倍;址;引用计数,用于标识该数据分片被复用的次数;读活跃度,用于标识该数据分片被读请求操作的次数。该数据表的一个具体形式可以如下表1所示表l.数据表具体形式<table>tableseeoriginaldocumentpage13</column></row><table>需要说明的是,上述表1中,存储"数据分片"的目的在于,当需要对数据分片的内容进行读取时,直接从内存中读取数据分片即可,无需到存储设备的磁盘中读取数据,从而减少对磁盘的操作,缩短对操作请求的响应时间。但是,在表1中存储"数据分片"将显著增加对内存容量的消耗,因此在内存容量有限的情况下,可以通过限制数据表中表项的数量的方式限制数据表对内存的占用。另外,也可以不采用在数据表中保存数据分片的形式,此时将减少数据表对内存的占用,不会减少对磁盘的搡作。但是并不影响本发明要实现的减少重复数据对磁盘空间的占用这一发明目的。存储设备初始化启动时,会扫描磁盘头部阵列使用位图,位图中对所有已经被数据分片占据的存储空间进行了标识。存储设备同时从磁盘中读取各已使用位图对应的数据分片的表项,在内存中建立数据表。该数据表(例如表l所示的结构)会有最大容量限制,如系统的内存容量为4G,则可以使用2G内存或是固定10240条表项数量建立该映射表。对于超出部分的数据表,保留在存储设备的磁盘中而无需读取到内存中。将上述数据表读取到内存后,即可根据该数据表以分片复用的方式对前端编码器发送的读写请求进行相应的处理。同时随着存储设备中数据的变化,存储设备的内存中的数据表的内容将同时变化。内存中的数据表的内容变化方式将在下文进行详细描述。在存储设备关闭时,可以将内存中的数据表重新存储到存储设备的^兹盘中,待下次启动时从磁盘中读取。在处理时,需要根据读写请求涉及的数据的类型(元数据或媒体数据)进行相应处理。该读写请求涉及的数据的类型的判断方法参见前文的描述,在此不进行重复说明。以下分别对不同类型的数据的处理方式进行介绍(一)携带元数据的写请求当从编码器接收到写请求且写请求中的数据为索引数据等元数据时,根据写请求中携带的物理地址,将写请求中携带的物理地址映射为后端存储设备中的实际物理地址,将写请求中的元数据存储在映射后得到的实际物理地址。该映射后的实际物理地址可以为空的物理地址或已经保存了索引数据的物理地址,对于后一种情况,属于将已分配的物理地址进行循环复写的情况。(二)对元数据的读请求当从编码器外的第三方设备接收到读请求且判断读请求中涉及的数据为索引数据等元数据时,根据读请求中携带的物理地址,将读请求中携带的物理地址映射为后端存储"i殳备中的实际物理地址,读耳又映射后的实际物理地址中存储的元数据,并发送给第三方设备。第三方设备可以根据接收到的元数据对存储设备中的媒体数据进行读取操作。接收到第三方设备对媒体数据的读请求时,处理方法参见下列(四)中的介绍。(三)携带媒体数据的写请求当从编码器接收到写请求且写请求中的数据为媒体数据时,不会直接根据编码器发送的写请求中携带的物理地址进行映射以存储该媒体数据,而是需要判断在存储设备是否已经存在此媒体数据。具体的,基于现有技术中存储设备扇区的结构,读写请求所操作的数据为512字节的整数倍,即每个数据分片的大小为512字节的整数倍。存储设备首先对接收到的媒体数据进行切分,得到长度为512字节的整数倍的数据分片。之后将切分得到的数据分片进行压缩,压缩时可使用Lempel-Ziv(LZ)算法,将数据分片压缩后的结果作为媒体分片索引,在上述表1所示的数据表中搜索匹配,即搜索表1所示的数据表中是否存在一Index与数据分片压缩后的结果相同。搜索算法可以直接利用线性匹配,也可以通过Hash算法组织数据表进行搜索匹配。如搜索匹配结果为不存在,则为该数据分片分配后端存储设备的磁盘空间中的实际物理地址,建立编码器发送的写请求中携带的物理地址与该实际物理地址的映射,将数据分片写入后端存储设备中的实际物理地址,同时在磁盘阵列头部区段的位图中将分配的磁盘空间标识为使用,并在内存的数据表中新建关于该数据分片的表项。初始情况下的该数据分片的表项中,媒体分片索引为该数据分片压缩后的结果,数据分片为该数据分片的内容,分片物理地址为该数据分片在后端存储设备中的物理地址,引用计数为O,读活跃度为0。当内存的数据表中内容已经超出数据表的存储上限时,则剔除数据表之前存在的引用计数最低、或读活跃度最低的表项。如搜索匹配结果为存在,则增加该已存在的数据分片的引用计数。并需要建立编码器发送的写请求中携带的物理地址与匹配到的已存在的数据分片的分片物理地址(即后端存储设备中的实际物理地址)的映射。(四)对媒体数据的读请求当从第三方设备接收到读请求且判断读请求中涉及的数据为媒体数据时,根据读请求中携带的物理地址,将读请求中携带的物理地址映射为后端存储设备中的实际物理地址,之后根据映射结果在内存的数据表中搜索匹配分片物理地址。如搜索匹配结果为存在,则直接将匹配到的分片物理地址对应的数据分片向第三方设备发送(对于数据分片在数据表中的情况),同时提高该数据分片的读活跃度。各数据分片的活跃度可以以固定间隔时间进行递减,直至为0。通过从数据表的内容中直接读取分片数据,可以避免对后端存储设备中磁盘的操作,提高了对读请求的处理性能。当数据表的内容中不包括分片数据时,可以从^兹盘中分片的物理地址读取数据分片向第三方设备发送。如搜索匹配结果为不存在,则在后端存储设备的磁盘中读取映射后的物理地址中存储的分片数据,并发送给第三方设备。数据读取时,直接先搜索数据表内容,存在就直接返回,避免磁盘请求,并提高相应分片数据的读活跃度,当然该活跃度会固定间隔时间进行递减,直至为0。以下结合一个具体的应用场景,描述本发明中数据存储方法的具体实施方式,如图5所示。假设初始情况下,存储设备的内存中的数据表为空,则(1)编码器发送媒体数据写请求将数据D(此应用场景中假设数据D的大小同存储设备中存储的数据分片的大小相同,否则需要首先对数据D进行切分,其实现原理相似)写入地址2;处理方式为将地址2映射为地址Bl,将凄t据D写入Bl,向编码器响应写入成功;并在内存中建立以下表项媒体分片索引数据分片分片物理地址引用计数读活跃度Index1DBl00(2)编码器发送索引数据写请求将数据D对应的索引数椐(即元数据)S写入地址1(地址2对应的索引数据存储地址)处理方式为将地址l映射为地址Al,将索引数据S写入A1,响应写入成功。(3)第三方设备需要调用存储设备中存储的媒体数据时,先通过调用索引数据获取力某体数据存储的地址。则第三方设备发送读请求读地址1中的索引数据;处理方式为将地址1映射为地址A1,从A1读取索引数据S,向第三方设备发送响应。(4)第三方设备根据读取的索引数据S,可以获知需要调取的媒体数据存储在地址2,则发送读请求读取地址2中的数据;处理方式为将地址2映射为地址B1,在表项中查找Bl,可以找到B1对应的记录,则向第三方设备返回Bl对应的数据分片D,读活跃度+1。(5)编码器发送纟某体数据写请求将数据D写入地址4;处理方式为根据数据D的内容查找表项,可以找到,将引用计数+1,并建立地址4与地址B1的映射关系,响应写入成功。(6)编码器发送索引数据写请求将数据D对应的索引数据S,写入地址3(地址4对应的索引凄史据存储地址);处理方式为将地址4映射为地址A2,将索引数据S,写入A2,响应写入成功。(7)第三方设备需要调用存储设备中存储的媒体数据时,先通过调用索引数据获取纟!某体数据存储的地址。则第三方设备发送读请求读地址3中的索引数据;处理方式为将地址3映射为地址A2,从A2读取索引数据S,,向第三方设备发送响应。(8)第三方设备根据读取的索引数据S,,可以获知需要调取的媒体数据存储在地址4,则发送读请求读取地址4中的数据;处理方式为将地址4映射为地址B1,在表项中查找Bl,可以找到B1对应的记录,则向第三方设备返回地址B1对应的数据分片D,读活跃度+1。本发明中存储设备的数据分片分析功能也可以在存储设备之外的服务器中实现,另外由于位置相近的编码器可能使用同一台存储设备的不同分区进行存储并由同一台第三方设备进行数据读取,服务器可以根据按编码器部署的物理位置进行分布式部署。服务器位于存储设备前端,当收到读请求时,首先进行分析,如果读请求涉及的数据分片在自身内存的数据表中已存在,则直接发送数据分片,并修改关于该数据分片的引用计数及地址映射即可,减少了编码器和第三方设备与存储设备中间网络的数据传输量。本发明还提供了一种存储设备,用于对存储设备中的元数据和媒体数据进行操作,所述存储设备的用于存储元数据的区域和用于存储媒体数据的区域分别具有连续的物理地址;其结构如图6所示,包括处理单元10,用于接收到对于媒体数据的写请求时,将士某体数据的数据分片进行压缩后得到媒体分片索引,在已建立的各数据分片的分片复用对应关系中搜索匹配是否已存在相同的媒体分片索引;当搜索匹配结果为不存在时,为媒体数据的数据分片分配在存储设备中的实际物理地址,将数据分片存储到实际物理地址;在分片复用单元20中新建关于数据分片的分片复用对应关系,其中对应关系中的引用计数为0,分片物理地址为分配的存储设备中的实际物理地址;建立分配的实际物理地址与写请求中携带的虛拟设备的物理地址的映射;当搜索匹配结果为存在时,在各数据分片的分片复用对应关系中,增加搜索匹配得到的数据分片的引用计数;建立搜索匹配得到的数据分片的分片物理地址与写请求中携带的虚拟设备的物理地址的映射;分片复用单元20,用于存储数据分片的分片复用对应关系,将分片复用对应关系提供给处理单元10;数据分片的分片复用对应关系中包括i某体分片索引、分片物理地址以及引用计数的对应关系,媒体分片索引由数据分片的内容压缩后得到;分片物理地址,用于标识数据分片的内容在存储设备中的实际物理地址;引用计数,用于标识数据分片的内容被复用的次数;。其中,分片复用单元20存储的分片复用对应关系中还包括读活跃度,用于标识数据分片的内容被读请求操作的次数;读活跃度以固定间隔时间进行递减;当处理单元IO接收到对媒体数据的读请求时,将读请求中携带的虛拟设备的物理地址映射为存储设备中的实际物理地址,在已建立的各数据分片的分片复用对应关系中对实际物理地址进行搜索匹配;搜索匹配结果为存在时,还包括增加分片复用单元存储的分片复用对应关系中搜索匹配到的分片物理地址对应的数据分片的读活跃度。其中,分片复用单元20还用于若存储已存在的数据分片的分片复用对应关系的空间达到上限时,则选择已存在的数据分片的分片复用对应关系中引用计数最低、或读活跃度最低者并删除。其中,分片复用单元20还用于在分片复用对应关系中存储数据分片的内容;处理单元10还用于,当接收到对媒体数据的读请求时,将读请求中携数据分片的分片复用对应关系中对实际物理地址进行搜索匹配,当搜索匹配结果为存在时,从分片复用对应关系中获取对应的数据分片的内容。其中,处理单元10还用于接收到对于元数据的读请求或写请求时,将址;根据转换得到的实际物理地址处理对于元数据的读请求或写请求。本发明提供的上述方法和装置中,在存储设备中将元数据和媒体数据分开存储,在进行元数据和媒体数据的操作时,将操作涉及的物理地址映射为存储设备中的实际物理地址,并进行相应的操作,由于元数据和媒体数据分别存储在连续的存储区域中,因此提高了数据读写效率。另外,通过将元数据放置在高冗余的磁盘阵列,媒体数据分布在较低冗余的阵列中,且分散分布,提高整体数据的可靠性。本发明中还针对媒体数据进行分片数据分析,重用已有的分片数据,如此避免大量重复数据的写入,特别是对于存在大量静态景观的监控场景避免了数据重复。最后,可以部署独立数据分析功能,并进行分片区分布式部署,由于相邻摄像头数据相关性越强,因此通过提前分析,降低编码器到存储设备之间的网络带宽需求量,进而緩解对存储的压力。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的单元或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的单元可以按照实施例描述进4亍分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的单元可以合并为一个单元,也可以进一步拆分成多个子单元。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。权利要求1、一种数据存储方法,其特征在于,包括接收到对于媒体数据的写请求时,将所述媒体数据的数据分片进行压缩后得到媒体分片索引,在已建立的各数据分片的分片复用对应关系中搜索匹配是否已存在相同的媒体分片索引;所述数据分片的分片复用对应关系中包括媒体分片索引、分片物理地址以及引用计数的对应关系,所述媒体分片索引由数据分片的内容压缩后得到;所述分片物理地址,用于标识所述数据分片的内容在存储设备中的实际物理地址;所述引用计数,用于标识所述数据分片的内容被复用的次数;当所述搜索匹配结果为不存在时,为所述媒体数据的数据分片分配在所述存储设备中的实际物理地址,将所述数据分片存储到所述实际物理地址;新建关于所述数据分片的分片复用对应关系,其中所述对应关系中的引用计数为0,所述分片物理地址为分配的所述存储设备中的实际物理地址;建立所述分配的实际物理地址与所述写请求中携带的虚拟设备的物理地址的映射;当所述搜索匹配结果为存在时,在所述各数据分片的分片复用对应关系中,增加所述搜索匹配得到的数据分片的引用计数;建立所述搜索匹配得到的数据分片的分片物理地址与所述写请求中携带的虚拟设备的物理地址的映射。2、如权利要求l所述的方法,其特征在于,所述分片复用对应关系中还包括读活跃度,用于标识所述数据分片被读请求操作的次数;所述读活跃度以固定间隔时间进行递减;当接收到对媒体数据的读请求时,将所述读请求中携带的虚拟设备的物理地址映射为存储设备中的实际物理地址,在所述已建立的各数据分片的分片复用对应关系中对所述实际物理地址进行搜索匹配;所述搜索匹配结果为存在时,还包括增加所述搜索匹配到的分片物理地址对应的数据分片的读活3夭度。3、如权利要求2所述的方法,其特征在于,若存储已存在的数据分片的分片复用对应关系的空间达到上限时,则选择已存在的数据分片的分片复用对应关系中引用计数最低、或读活跃度最低者并删除。4、如权利要求l所述的方法,其特征在于,所述分片复用对应关系中还包括所述数据分片的内容时,当接收到对媒体数据的读请求时,将所述读请已建立的各数据分片的分片复用对应关系中对所述实际物理地址进行搜索匹配,当搜索匹配结果为存在时,从所述分片复用对应关系中获取对应的数据分片的内容。5、如权利要求l所述的方法,其特征在于,还包括接收到对于元数据的读请求或写请求时,将所述读请求或写请求涉及的虚拟设备的物理地址映射为存储设备中的实际物理地址;根据转换得到的实际物理地址处理所述对于元数据的读请求或写请求;其中,所述存储设备的用于存储元数据的区域和用于存储媒体数据的区域分别具有连续的物理地址。6、一种存储设备,其特征在于,包括处理单元,用于接收到对于媒体数据的写请求时,将所述媒体数据的数据分片进行压缩后得到媒体分片索引,在已建立的各数据分片的分片复用对应关系中搜索匹配是否已存在相同的媒体分片索引;当所述搜索匹配结果为不存在时,为所述^某体数据的数据分片分配在所述存储设备中的实际物理地址,将所述数据分片存储到所述实际物理地址;在分片复用单元中新建关于所述数据分片的分片复用对应关系,其中所述对应关系中的引用计数为0,所实际物理地址与'所述写请求中携带的虚拟设备的物理地址的映射;当所述搜索匹配结果为存在时,在所述各数据分片的分片复用对应关系中,增加所述搜索匹配得到的数据分片的引用计数;建立所述搜索匹配得到的数据分片的分片物理地址与所述写请求中携带的虚拟设备的物理地址的映射;分片复用单元,用于存储数据分片的分片复用对应关系,将所述分片复用对应关系提供给所述处理单元;所述数据分片的分片复用对应关系中包括媒体分片索引、分片物理地址以及引用计数的对应关系,所述媒体分片索引由数据分片的内容压缩后得到;所述分片物理地址,用于标识所述数据分片的内容在存储设备中的实际物理地址;所述引用计数,用于标识所述数据分片的内容被复用的次数;。7、如权利要求6所述的存储设备,其特征在于,所述分片复用单元存储的分片复用对应关系中还包括读活跃度,用于标识所述数据分片的内容被读请求操作的次数;所述读活^夭度以固定间隔时间进行递减;所述处理单元还用于当接收到对媒体数据的读请求时,将所述读请求建立的各数据分片的分片复用对应关系中对所述实际物理地址进行搜索匹配;所述搜索匹配结果为存在时,还包括增加所述分片复用单元存储的分片复用对应关系中所述搜索匹配到的分片物理地址对应的数据分片的读活跃度。8、如权利要求7所述的存储设备,其特征在于,所述分片复用单元还用于若存储已存在的数据分片的分片复用对应关系的空间达到上限时,则选择已存在的数据分片的分片复用对应关系中引用计数最低、或读活跃度最低者并删除。9、如权利要求6所述的存储设备,其特征在于,所述分片复用单元还用于在所述分片复用对应关系中存储所述数据分片的内容;所述处理单元还用于,当接收到对媒体数据的读请求时,将所述读请求建立的各数据分片的分片复用对应关系中对所述实际物理地址进行搜索匹配,当搜索匹配结果为存在时,从所述分片复用对应关系中获取对应的数据分片的内容。10、如权利要求6所述的存储设备,其特征在于,所述处理单元还用于接收到对于元数据的读请求或写请求时,将所述读请求或写请求涉及的虚拟设备的物理地址映射为存储设备中的实际物理地址;根据转换得到的实际物理地址处理所述对于元数据的读请求或写请求;其中,所述存储设备的用于存储元数据区域和用于存储媒体数据的区域分别具有连续的物理地址。全文摘要本发明公开了一种数据存储方法和存储设备。其中,在存储设备中将元数据和媒体数据分开存储,在进行元数据和媒体数据的操作时,将操作涉及的物理地址映射为存储设备中的实际物理地址,并进行相应的操作,由于元数据和媒体数据分别存储在连续的存储区域中,因此提高了数据读写效率。另外,针对媒体数据进行分片数据分析,重用已存储的数据分片,如此避免大量重复数据的写入,特别是对于存在大量静态景观的监控场景避免了数据重复。文档编号G11B27/32GK101656094SQ20091017694公开日2010年2月24日申请日期2009年9月25日优先权日2009年9月25日发明者强丁申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1