CN111984200A - 海量视频数据存储系统 - Google Patents
海量视频数据存储系统 Download PDFInfo
- Publication number
- CN111984200A CN111984200A CN202010888535.2A CN202010888535A CN111984200A CN 111984200 A CN111984200 A CN 111984200A CN 202010888535 A CN202010888535 A CN 202010888535A CN 111984200 A CN111984200 A CN 111984200A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- disk
- buffer
- storage server
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 18
- 239000000872 buffer Substances 0.000 claims description 57
- 238000011084 recovery Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000005059 dormancy Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 3
- 239000012634 fragment Substances 0.000 description 15
- 238000012360 testing method Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 238000005265 energy consumption Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000007958 sleep Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 101100226366 Arabidopsis thaliana EXT3 gene Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 208000034420 multiple type III exostoses Diseases 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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/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/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/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0614—Improving the reliability of 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/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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- 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)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
海量视频数据存储系统,属于数据存储领域,为解决优化现有海量视频数据分布式存储系统性能的问题,包括存储服务器集群,其通过心跳协议周期性向状态管理器反馈其使用情况,客户端,其向状态管理器发起数据存储请求,状态管理器,其接收由客户端发起的数据存储请求,根据反馈情况向存储服务器集群进行存储任务的分配,存储服务器集群的空闲的存储服务器接受存储任务,客户端将视频流通过该存储服务器中虚拟机文件系统绑定的SSD和磁盘进行数据的写入操作,并由状态管理器定期对存储服务器集群的过期的数据进行空间的回收,效果是了优化现有海量视频数据分布式存储系统性能。
Description
技术领域
本发明属于数据存储领域,涉及一种海量视频数据存储系统。
背景技术
随着智慧交通、平安城市、数字物流等项目的推进和实施,城市监控产生数据量突破PB级,并有向EB级甚至ZB级发展的趋势。区别于文件或数据表等结构化数据,视频监控具有数据量大、内部结构复杂、写密集、码流恒定高并发的特性,对存储系统提出了更高的性能要求,为保证分布式视频监控系统能够持续稳定的对外提供服务,数据实时高效地写入和长期有效地存储成为目前研究的热点问题。现有面向海量视频监控的分布式存储系统常基于文件系统或裸设备设计。基于文件系统的存储模型受操作系统层管理,经过系统自带Buffer产生数据的二次缓存,在随机写入模式下磁头频繁移动寻址造成大量的磁盘碎片,都将影响系统IO性能。同时,文件系统需要维护索引节点管理信息和属性信息,这对于内部结构复杂的视频数据来说是冗余数据,会增加系统数据处理量,不利于视频数据的高效存储。基于裸设备的存储模型直接由应用程序控制读写,规避操作系统层的缓存从而改善了IO效率,但应对高并发视频流时视频数据存储位置分散,磁盘内部碎片随之产生,在系统断电和故障后存在较大的失效概率,系统可靠性不高。为改善系统修复故障的能力,现有技术提出使用多副本或纠删码的容错冗余策略,其中三模冗余将数据副本分散存储在系统的不同节点上,解决了数据的快速恢复,但造成了空间的浪费;纠删码虽提高了空间利用率,但应对单磁盘故障数据恢复过程使用数据量巨大,故障节点数量随修复时间增加,超过系统容错限制后,不再提供任何服务。降低能耗和延长磁盘寿命是大型视频监控存储系统十分关注的问题,系统长时间处理高IO操作,磁盘磨损会大幅度降低使用寿命。对此,渡边等人设计了磁盘节能机制,在睡眠计划中磁盘被分为活动、空闲和备用状态,一定程度降低了磁盘的损耗,但睡眠磁盘再次唤醒时的响应延迟限制了系统服务质量。孙志卓,张全新等人提出采用新的Ripple-RAID,保持了局部并行的节能性,但应对大型磁盘阵列的系统节能效果不佳。
发明内容
为解决优化现有海量视频数据分布式存储系统性能的问题,本发明提出如下技术方案:一种海量视频数据存储系统,包括存储服务器集群,其通过心跳协议周期性向状态管理器反馈其使用情况,客户端,其向状态管理器发起数据存储请求,状态管理器,其接收由客户端发起的数据存储请求,根据反馈情况向存储服务器集群进行存储任务的分配,存储服务器集群的空闲的存储服务器接受存储任务,客户端将视频流通过该存储服务器中虚拟机文件系统绑定的SSD和磁盘进行数据的写入操作,并由状态管理器定期对存储服务器集群的过期的数据进行空间的回收;
存储服务器写入状态下完成数据的存储和读取过程,此时开启读写磁头,盘片以100%转速处于最高的处理速度;数据存储任务结束到下一次接受存储请求期间,进行数据的容错,此时磁盘处于一级休眠,进行元数据及视频数据的容错和备份,此时关闭读写磁头,磁盘盘片转速降低30%,规避磁头移动带来的额外开销;完成容错且未接受其他任务的磁盘处于二级休眠,降低盘片速度至50%;读取请求下完成数据的检索和读取操作,此时再次开启读写磁头;
SSD的高速缓冲结构由超级块、缓冲区位图和缓冲区片段组成,位于头部的超级块单元用于记录创建时间、缓冲区片段大小、数量及分配情况的参数信息,超级块中文件magic格式设置为0xEF53有效,在格式化时完成;超级块后的缓冲区位图用于描述缓冲区片段的使用情况,其内部为对应数量的二进制描述符;高速缓冲结构的剩余部分由大量的缓冲区片段构成,缓冲区片段是数据临时组织空间分配和回收的基本单位,片段的大小设置为16MB,当剩余空间不足分配一个缓冲区片段时则保留剩余空间不用,缓冲区片段遵循按序分配,由于视频数据自身按时有序,某一路视频流的最后一个Gop段由缓冲区写出后就进行片段回收;
磁盘的逻辑存储结构由超级块、数据块位图、一级索引块、二级索引块及数据块构成,位于头部的超级块中文件magic格式为0xCD53有效,一级索引块存放视频流ID、起止时间、码流类型及Gop帧组信息,二级索引块存放Gop段的详细信息;
缓存映射策略支多块HHD使用同一块SSD作为缓存盘,设置“echo”语句将cacheset缓存盘的“cset.uuid”attach到普通磁盘的物理位置实现映射,并同时设置缓存映射写回方式为“writeback”;
视频数据写入操作按照视频流存储请求时间进行排序,利用缓冲区对其进行并发调制,将多线程并发写任务转化成单线程顺序写任务,缓冲区和数据块采用一对一的分配方式,一个数据块只存储某一路视频流,视频流缓冲区片段编号呈相邻递增关系;
混合容错策略对元数据和视频数据进行分类容错,其中,针对元数据,通过结构化分析获取元数据属性,据此属性提取分离出元数据,并用三模冗余进行元数据容错;针对视频数据,通过改进的Liberation码进行容错,将视频流以GOP帧组为单位分成N个数据块,与编码矩阵进行矩阵运算获得数据元素,将隶属于同一校验集合Pi、Qi的数据元素通过XOR操作得到pi、qi校验元素,根据编码原理中不同校验集合存在相同数据的特性,采用Pi校验集合进行单节点故障恢复;单节点故障数据恢复时,将数据划分为x、(w-x)两部分,其中w为故障节点上元素总数,x为Pi校验集合恢复元素个数,(w-x)为Qi校验集合恢复元素个数,由于二者存在相同数据Y,恢复数据步骤如下:
有益效果:本发明DOSS提出Bcache混合存储技术+高速缓冲区,有效提高机械硬盘的随机写入性能,改变了并发视频数据的写入方式,规避了磁盘内部碎片的产生,有效地提高了系统写入速率,实现视频数据存储位置的物理连续,实验结果证明,单台存储服务器在500路视频流下,本方案的写入速率平稳且维持在294MB/s左右,比基于裸设备的存储模型高约36%,系统应对万级以上并发视频流吞吐量成为瓶颈时,可通过横向增加存储服务器数量提高系统吞吐量的峰值。“多副本+改进Liberation码”的混合容错策略保证系统可靠性的同时减少约40%存储空间,改进后的Liberation码通过两个校验集合同时对丢失数据进行恢复,能有效减少正常磁盘数据读取量。多级磁盘调度策略均衡系统物理磁盘最低能耗和较低重启延迟,实现12000路并发视频流下仍有约10%的休眠磁盘。
附图说明
图1海量视频数据存储方案示意图。
图2存储服务器集群优化方案示意图。
图3视频存储结构示意图。
图4存储服务器扩容流程示意图。
图5视频数据写入流程示意图。
图6Liberation码原理图。
图7多级磁盘调度结构示意图。
图8缓冲区大小测试图。
图9单台存储服务器下存储模型对比测试图。
图10 400路视频流磁盘写入速率图。
图11集群写入性能吞吐量对比测试图。
图12磁盘休眠百分比测试图。
具体实施方式
本发明主要从存储效率、磁盘空间优化和降低能耗三个方面提供技术手段以实现优化现有海量视频数据分布式存储系统性能的目的。在现有方案中,裸设备应对高并发随机读写时,会使得磁盘内部产生碎片而影响IO效率,造成数据存储不连续,为解决该问题,本发明提出使用SSD固态硬盘作为缓存盘,通过多路并发调制实现视频数据的顺序写入,提升系统写入效率。本发明还针对多副本冗余造成的空间浪费问题,提出“多副本+改进Liberation码”混合容错策略,保证数据可靠性、提高存储空间利用率。本发明对于大型存储系统长期运转带来的磁盘磨损和反应延迟无法兼顾问题,基于ioctl系统调用设计多级磁盘调度策略,延长磁盘使用寿命、降低完全休眠模式的唤醒延迟。
为提高普通磁盘的随机写入性能,本发明设计如图1所示的海量视频数据存储方案,优化了存储服务器集群结构,引入Bcache混合存储技术和缓存映射机制,在每个普通磁盘阵列前增设一块SSD固态硬盘,并通过缓冲映射机制实现固态硬盘和磁盘阵列的连接。存储系统通过心跳协议周期性反馈存储服务器集群使用情况给状态管理器,状态管理器接收由客户端发起的数据存储请求后,根据反馈情况进行存储任务的分配,由空闲存储服务器完成数据写入操作。
对于上述整体方案,本方案对存储服务器集群的优化,如图2所示,为平衡磁盘节能和唤醒延迟问题,在存储服务器集群中设置写入状态、一级休眠、二级休眠和读取状态四种磁盘工作模式,取消常规磁盘空闲状态时完全关闭工作模式,旨在按需控制读写磁头关闭和盘片转速。为减少并发视频流随机写入造成的磁盘内部碎片,在固态硬盘上设计高速缓冲区,对视频流多路并发调制。在三模冗余基础上引入改进Liberation码,对视频数据进行压缩存储,降低数据副本造成的空间浪费。为进一步的提高后期分布式视频流的检索速率,在逻辑磁盘存储结构中增加元数据建立的一级、二级数据索引单元。
对于上述整体方案,本方案对视频存储优化,如图3所示,为规避多路并发视频流随机写入产生的内部碎片,有效提高写入效率,本方案设计了高速缓冲区和数据逻辑存储区对视频数据进行处理。通过Bcache混合存储技术中缓存映射策略实现二者的连接,利用SSD(Solid State Disk)固态硬盘对写入数据进行高速缓冲,以Gop帧组为单位为每一路视频流分配固定大小的缓冲区片段,提供多路并发调制实现视频数据由缓冲区到数据块的顺序写入。
(1)SSD的高速缓冲结构由超级块、缓冲区位图和缓冲区片段3个部分组成,在头部设计超级块单元,记录创建时间、缓冲区片段大小、数量及分配情况的参数信息,文件magic格式设置为0xEF53有效,在格式化时完成。超级块后设计缓冲区位图用来描述缓冲区片段的使用情况,其内部为对应数量的二进制描述符。剩余部分由大量的缓冲区构成,缓冲区是数据临时组织空间分配和回收的基本单位,片段的大小设置为16MB,当剩余空间不足分配一个缓冲区时则保留剩余空间不用,缓冲区片段遵循按序分配,由于视频数据自身按时有序,某一路视频流的最后一个Gop段由缓冲区写出后就进行片段回收。
(2)磁盘的逻辑存储结构由超级块、数据块位图、一级索引块、二级索引块及数据块5个部分构成,设计头部超级块中文件magic格式为0xCD53有效,一级索引块存放视频流ID、起止时间、码流类型及Gop帧组信息,二级索引块存放Gop段的详细信息。
(3)缓存映射:缓存映射策略支多块HHD使用同一块SSD作为缓存盘,设置“echo”语句将cache set缓存盘的“cset.uuid”attach到普通磁盘的物理位置实现映射,并同时设置缓存映射写回方式为“writeback”。
裸设备是未经格式化的特殊字符设备,不被Unix/Linux通过文件系统进行管理,造成其空间大小管理不灵活,难以按实际应用需求实时进行扩容。为此,本方案引入逻辑卷(Logical Volume,LV)实现单服务器扩容和系统扩容功能。单台存储服务器内部扩容流程如图4所示,逻辑卷组(Volume Group,VG)的未分配空间满足扩容需求,从卷组中增加指定大小的空间到目标逻辑卷并进行重新识别,当卷组剩余空间不足时,追加额外物理磁盘,逻辑卷通过LVM技术创建并格式化物理空间,设置rawdevices文件绑定/dev/raw/raw[*]后即可使用。
物理磁盘数量的增加会提高单台存储服务器的工作负荷,影响系统的反应延迟和IO性能,因此不能无限制的增加磁盘数量,当上述存储服务器内部扩容不能满足需求且吞吐量成为瓶颈后,本方案采用外部横向增加存储服务器数量的方式,提高系统存储容量的同时可解决吞吐量的限制。
并发视频流写入流程如图5所示,按照视频流存储请求时间进行排序,利用缓冲区对其进行并发调制,将多线程并发写任务转化成单线程顺序写任务,降低随机并发写入过程中读写磁头频繁移动造成的存取性能低下问题,由于缓冲区和数据块采用一对一的分配方式,一个数据块只存储某一路视频流,视频流缓冲区片段编号呈相邻递增关系,因此保证视频数据物理存储位置连续。
在保证海量视频监控系统可靠性的同时,为节省存储空间,本方案采用混合容错策略对元数据和视频数据进行分类容错。其中,针对占用空间小且直接利用率高的元数据,通过结构化分析获取元数据属性,据此属性提取分离出元数据,并用三模冗余进行元数据容错,保证数据读取的高可用性。针对占用空间大但直接使用率较低的视频数据,本发明设计改进的Liberation码进行容错,Liberation码原理如图6所示(w为元素个数,k为数据磁盘数量),由于影响编码效率的主要因素是XOR操作次数,且此操作次数受编码矩阵中元素“1”个数的影响,而Liberation码中编码矩阵有较经典RS、EVENODD等纠删码更少的元素“1”数量,从而具有更高编码效率。
将视频流以GOP帧组为单位分成N个数据块,与编码矩阵进行矩阵运算获得数据元素,将隶属于同一校验集合Pi、Qi的数据元素通过XOR操作得到pi、qi校验元素。根据编码原理中不同校验集合存在相同数据的特性,取代传统Liberation码仅采用Pi校验集合进行单节点故障恢复,减少需从正常磁盘读取的数据量,缩短了故障修复的时间。
单节点故障数据恢复时,将数据划分为x、(w-x)两部分,其中w为故障节点上元素总数,x为Pi校验集合恢复元素个数,(w-x)为Qi校验集合恢复元素个数,由于二者存在相同数据Y,由此可知恢复数据过程:
至此,在数据恢复的过程中前个数据由校验集合Pi进行恢复,后个数据由校验集合Qi进行恢复,则需要读取元素个数为假设取k=11、w=11,传统方法元素读取量为w2=121,改进方法读取量为减少了约24%的元素读取个数,随着元素数量和磁盘个数的不断增加,元素读取量降低的百分比无限趋近于25%。三模冗余将三份原始数据存储在磁盘中,存储空间相当于增加了200%,改进的Liberation码将一份原始数据和校验数据同时存储在磁盘上,由jurasure库编码实验得出的空间占用率较三模冗余模式平均减少40%左右。
本方案设计“多副本+改进Liberation码”的混合容错策略,相比常用存储系统采用的三模冗余容错策略能够节省约40%的空间占用,比传统Liberation码单故障节点数据恢复减少25%约的元素读取量,很大程度的缩短数据修复的时间;
在一种方案中,本发明基于Linux下的ioctl系统调用的多级磁盘调度,基于ioctl系统调用编写盘片转速控制函数,并通过控制命令实现盘片转速变换。如图7所示,不同时段不同任务,通过switch{case}结构实现不同工作模式下的转速设置。数据存储和读取过程中开启磁头,盘片转速100%以实现最高的处理速度,数据存储任务结束到下一次存储请求期间,进行元数据及视频数据的分类容错,此时关闭读写磁头,磁盘盘片转速降低30%,规避磁头移动带来的额外开销,能够节省36%的能耗,此时磁盘恢复响应时间在3s之内;完成容错且未接受其他任务的磁盘,降低盘片速度至50%,磁盘恢复响应时间在6s左右,此时能够实现约40%的能源节省。多级磁盘调度策略因规避了不必要的全速运转和完全休眠模式,能够在节省能源的同时实现磁盘的低延迟唤醒。
本方案DOSS提出Bcache混合存储技术+高速缓冲区,有效提高机械硬盘的随机写入性能,改变了并发视频数据的写入方式,规避了磁盘内部碎片的产生,有效地提高了系统写入速率,实现视频数据存储位置的物理连续,实验结果证明,单台存储服务器在500路视频流下,本方案的写入速率平稳且维持在294MB/s左右,比基于裸设备的存储模型高约36%,系统应对万级以上并发视频流吞吐量成为瓶颈时,可通过横向增加存储服务器数量提高系统吞吐量的峰值。“多副本+改进Liberation码”的混合容错策略保证系统可靠性的同时减少约40%存储空间,改进后的Liberation码通过两个校验集合同时对丢失数据进行恢复,能有效减少正常磁盘数据读取量。多级磁盘调度策略均衡系统物理磁盘最低能耗和较低重启延迟,实现12000路并发视频流下仍有约10%的休眠磁盘。
测试和结果评估:为验证本方案的有效性,基于图1的系统架构对环境进行配置,测试过程中选用相同配置的20台存储服务器,具体参数如下:两个2.4GHz Intel Xeon处理器、8G内存、1*1TB SSD固态硬盘、6*1TB SATA机械硬盘,操作系统镜像采用CentOS-7-x86_64-NetInstall-1810,纠删码编码库选择Jerasure-1.2,状态管理器和客户端使用普通客户机,实验测试视频流由恒定码流发生器产生,视频流的码流大小为4Mbit/s,分辨率为1920*1080P。
缓冲区大小对磁盘写入性能影响分析:通过改变缓冲区大小测试和分析此参数对磁盘写性能的影响,选择64KB至4MB 7个不同大小参数进行测试,实验为达到最大吞吐量,对单台存储服务器发起不限比特率大小的100路视频流[3],实验结果如图8所示,64k和128k的缓冲区平均写入速率分别为130.8MB/s和150MB/s,缓冲区过小导致连续两次写入调用期间磁盘转过待写位置,多转一圈寻址造成写性能低下,随缓冲区的不断增大平均写入速率先上升后下降,速率由256K时247.3MB/s历经512K的267MB/s上升到1MB下的296.1MB/s,随后由于缓冲区的不断增大使得偏移量减小,写性能受到影响而下降,从2MB时262.4MB/s下降到4MB下的231.1MB/s。
单服务器写入性能测试:为验证优化存储策略在应对海量实际高并发视频数据时的写入性能优势,采用50-500路4Mbit/s的视频流[3]对单台存储服务器进行测试,与现有存储模型[1,2,3,4]平均写入速度对比如图9所示。并发视频流为50路和100路时,五种存储方案平均写入速率无较大差别,分别约为25MB/s和50MB/s,随并发路数增至200,文献[1]中基于文件系统的THNVR模型平均写入速率达到峰值为85.05MB/s,随后下降至约75.11MB/s,文献[2]中基于文件系统设计CSM存储模型,当并发路数达到300路时实现约150MB/s的最大平均写入速率。文献[3]中基于裸设备的逻辑存储结构,在200至500路并发流下平均写入速率由100.4MB/s上升至216.3MB/s,基于文献[3]设计的文献[4],在并发路数由200升至500路时,平均写入速率从106.7MB/s增长至221.3MB/s,本方案磁盘的写入速率保持增长趋势由117.5MB/s升至294.7MB/s。其中并发路数为400路时,如图10所示,文献[1、2]由于文件系统二次缓存导致写入速率瓶颈,写入速率分别为63.5MB/s和149.3MB/s,同时随机写入造成的磁盘碎片以及频繁IO操作引起了较大的速率波动。文献[3、4]中逻辑存储结构写入速率分别达到205.2MB/s、209.7MB/s,在应对高并发数据产生的内部碎片时存储速率出现周期性跌幅,本方案利用Bcache混合存储技术,一方面避免了磁盘内部碎片的产生,另一方面基于裸磁盘设计数据块,很好规避了系统的二次缓存,因此显著的提高数据的写入效率,实验结果表明写入速率在260.6MB/s下平稳波动。
集群写入性能对比测试:为验证DOSS对外提供高并发数据存储服务的质量和能力,需要对其进行大量并发测试,实验环境将20台存储服务器按照DOSS优化存储策略构成的分布式存储系统,分别进行2000、4000、6000、8000、10000、12000路的数据并发实验,并与文献[1,2,3,4]中的测试结果进行对比分析,测试结果如图11所示。THNVR系统[1]吞吐量由3Gbps增长到18Gbps,增幅随并发路数的增多不断减小;DSFS系统[2]吞吐量由8Gbps上升至33Gbps;DVSS系统[3]在并发路数由2000至12000路的过程中,吞吐量由8Gbps上涨到45Gbps,文献4在并发路数增到12000路时,吞吐量从8.3Gbps增至46.1Gbps,本方案的存储系统处理并发量达到12000路时,系统吞吐量达到54Gbps,之后随并发数据量的不断提高,系统吞吐量增量逐渐减小达到最大吞吐量。
磁盘休眠百分比测试:为验证多级磁盘调度策略系统节能效果,进行如下的仿真实验,采用20台存储服务器的120个HHD磁盘,为评估磁盘本身性能,模拟环境不包含内存缓存。实验结果如图12所示,EXT3文件系统和基于EXT3文件系统的RAID阵列,在并发视频路数达到5000路时休眠磁盘比例以为零,xfs文和基于xfs的RAID磁盘阵列在9500路并发视频流下休眠百分比也趋近于零,DSFS系统在处理11000路并发视频流时也无休眠磁盘,而DOSS应对12000路并发视频流存储任务时,系统还存在约10%的磁盘处于休眠模式,且处于一级休眠的磁盘能够实现2s左右的唤醒,处于二级休眠的磁盘能够在约6s的时间重启。由此得出,本方案的多级磁盘调度策略在应对海量高并发视频流时,能保证较高写性能的同时减少系统磁盘损耗和重启延迟。
以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。
参考文献
[1]Wu Jianyua,Gu Yu,Ju Dapeng,et al.THNVR:distributed large-scalesurveillance video storage system[J].Computer Engineering&Applications,2009,45(31):56-59.
[2]Duan Hancong,Zhan Wenhan,Min Geyong,et al.A high-performancedistributed file system for large-scale concurrent HD video streams[J].Concurrency and Computation Practice and Experience,2015,27(13):3510-3522.
[3]操顺德,华宇,冯丹,等.面向海量高清视频数据的高性能分布式存储系统[J].软件学报,2017,28(8):1999-2009.(Cao Shunde,Hua Yu,Feng Dan,et al.High-Performance distributed storage system for large-scale high-definition videodata[J].Journal of Software,2017,28(8):1999-2009.)
[4]Li Junfeng,Xiao Yezhi,Wen Manhua,et al.Design and implementationof high performance distributed storage system based on live video data[J].Electronic Design Engineerin,2019,27(05):53-56.
Claims (1)
1.一种海量视频数据存储系统,其特征在于:包括
存储服务器集群,其通过心跳协议周期性向状态管理器反馈其使用情况,
客户端,其向状态管理器发起数据存储请求,
状态管理器,其接收由客户端发起的数据存储请求,根据反馈情况向存储服务器集群进行存储任务的分配,存储服务器集群的空闲的存储服务器接受存储任务,客户端将视频流通过该存储服务器中虚拟机文件系统绑定的SSD和磁盘进行数据的写入操作,并由状态管理器定期对存储服务器集群的过期的数据进行空间的回收;
存储服务器写入状态下完成数据的存储和读取过程,此时开启读写磁头,盘片以100%转速处于最高的处理速度;数据存储任务结束到下一次接受存储请求期间,进行数据的容错,此时磁盘处于一级休眠,进行元数据及视频数据的容错和备份,此时关闭读写磁头,磁盘盘片转速降低30%,规避磁头移动带来的额外开销;完成容错且未接受其他任务的磁盘处于二级休眠,降低盘片速度至50%;读取请求下完成数据的检索和读取操作,此时再次开启读写磁头;
SSD的高速缓冲结构由超级块、缓冲区位图和缓冲区片段组成,位于头部的超级块单元用于记录创建时间、缓冲区片段大小、数量及分配情况的参数信息,超级块中文件magic格式设置为0xEF53有效,在格式化时完成;超级块后的缓冲区位图用于描述缓冲区片段的使用情况,其内部为对应数量的二进制描述符;高速缓冲结构的剩余部分由大量的缓冲区片段构成,缓冲区片段是数据临时组织空间分配和回收的基本单位,片段的大小设置为16MB,当剩余空间不足分配一个缓冲区片段时则保留剩余空间不用,缓冲区片段遵循按序分配,由于视频数据自身按时有序,某一路视频流的最后一个Gop段由缓冲区写出后就进行片段回收;
磁盘的逻辑存储结构由超级块、数据块位图、一级索引块、二级索引块及数据块构成,位于头部的超级块中文件magic格式为0xCD53有效,一级索引块存放视频流ID、起止时间、码流类型及Gop帧组信息,二级索引块存放Gop段的详细信息;
缓存映射策略支多块HHD使用同一块SSD作为缓存盘,设置“echo”语句将cache set缓存盘的“cset.uuid”attach到普通磁盘的物理位置实现映射,并同时设置缓存映射写回方式为“writeback”;
视频数据写入操作按照视频流存储请求时间进行排序,利用缓冲区对其进行并发调制,将多线程并发写任务转化成单线程顺序写任务,缓冲区和数据块采用一对一的分配方式,一个数据块只存储某一路视频流,视频流缓冲区片段编号呈相邻递增关系;
混合容错策略对元数据和视频数据进行分类容错,其中,针对元数据,通过结构化分析获取元数据属性,据此属性提取分离出元数据,并用三模冗余进行元数据容错;针对视频数据,通过改进的Liberation码进行容错,将视频流以GOP帧组为单位分成N个数据块,与编码矩阵进行矩阵运算获得数据元素,将隶属于同一校验集合Pi、Qi的数据元素通过XOR操作得到pi、qi校验元素,根据编码原理中不同校验集合存在相同数据的特性,采用Pi校验集合进行单节点故障恢复;单节点故障数据恢复时,将数据划分为x、(w-x)两部分,其中w为故障节点上元素总数,x为Pi校验集合恢复元素个数,(w-x)为Qi校验集合恢复元素个数,由于二者存在相同数据Y,恢复数据步骤如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010888535.2A CN111984200B (zh) | 2020-08-28 | 2020-08-28 | 海量视频数据存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010888535.2A CN111984200B (zh) | 2020-08-28 | 2020-08-28 | 海量视频数据存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111984200A true CN111984200A (zh) | 2020-11-24 |
CN111984200B CN111984200B (zh) | 2024-04-12 |
Family
ID=73440913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010888535.2A Active CN111984200B (zh) | 2020-08-28 | 2020-08-28 | 海量视频数据存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984200B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113099263A (zh) * | 2021-03-31 | 2021-07-09 | 康佳集团股份有限公司 | 超高清多路图像传输方法、系统及计算机可读存储介质 |
CN113542822A (zh) * | 2021-07-12 | 2021-10-22 | 中国银行股份有限公司 | 影像文件传输方法及装置 |
CN114461139A (zh) * | 2021-12-29 | 2022-05-10 | 天津中科曙光存储科技有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN114489519A (zh) * | 2022-04-18 | 2022-05-13 | 创新科技术有限公司 | 一种io请求的处理方法、装置、设备及可读存储介质 |
CN114491145A (zh) * | 2022-01-27 | 2022-05-13 | 北京中电兴发科技有限公司 | 一种基于流存储的元数据设计方法 |
CN115994236A (zh) * | 2023-03-23 | 2023-04-21 | 杭州派迩信息技术有限公司 | 一种航空数据的协同处理方法及系统 |
CN116578741A (zh) * | 2023-07-12 | 2023-08-11 | 南京奥看信息科技有限公司 | 视图混合存储方法、装置及系统 |
CN117880553A (zh) * | 2024-03-13 | 2024-04-12 | 济南浪潮数据技术有限公司 | 流媒体存储方法、系统、服务器、电子设备和存储介质 |
CN118400568A (zh) * | 2024-06-28 | 2024-07-26 | 四川新视创伟超高清科技有限公司 | 超高清视频图像动态存储方法及存储系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175216A (zh) * | 2007-10-17 | 2008-05-07 | 南京大学 | 一种基于多描述编码和错误隐藏的混合视频容错方法 |
CN101488104A (zh) * | 2009-02-26 | 2009-07-22 | 北京世纪互联宽带数据中心有限公司 | 一种实现高效安全存储的系统和方法 |
US20090259665A1 (en) * | 2008-04-09 | 2009-10-15 | John Howe | Directed placement of data in a redundant data storage system |
US8549222B1 (en) * | 2008-02-12 | 2013-10-01 | Netapp, Inc. | Cache-based storage system architecture |
CN104516967A (zh) * | 2014-12-25 | 2015-04-15 | 国家电网公司 | 一种电力系统海量数据管理系统及其使用方法 |
US10019362B1 (en) * | 2015-05-06 | 2018-07-10 | American Megatrends, Inc. | Systems, devices and methods using solid state devices as a caching medium with adaptive striping and mirroring regions |
CN109062505A (zh) * | 2018-07-13 | 2018-12-21 | 南瑞集团有限公司 | 一种缓存策略写入分层硬件架构下的写性能优化方法 |
-
2020
- 2020-08-28 CN CN202010888535.2A patent/CN111984200B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101175216A (zh) * | 2007-10-17 | 2008-05-07 | 南京大学 | 一种基于多描述编码和错误隐藏的混合视频容错方法 |
US8549222B1 (en) * | 2008-02-12 | 2013-10-01 | Netapp, Inc. | Cache-based storage system architecture |
US20090259665A1 (en) * | 2008-04-09 | 2009-10-15 | John Howe | Directed placement of data in a redundant data storage system |
CN101488104A (zh) * | 2009-02-26 | 2009-07-22 | 北京世纪互联宽带数据中心有限公司 | 一种实现高效安全存储的系统和方法 |
CN104516967A (zh) * | 2014-12-25 | 2015-04-15 | 国家电网公司 | 一种电力系统海量数据管理系统及其使用方法 |
US10019362B1 (en) * | 2015-05-06 | 2018-07-10 | American Megatrends, Inc. | Systems, devices and methods using solid state devices as a caching medium with adaptive striping and mirroring regions |
CN109062505A (zh) * | 2018-07-13 | 2018-12-21 | 南瑞集团有限公司 | 一种缓存策略写入分层硬件架构下的写性能优化方法 |
Non-Patent Citations (1)
Title |
---|
江冕;牛中盈;张淑萍;: "视频监控存储系统的设计与实现", 计算机工程与设计, no. 12 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113099263A (zh) * | 2021-03-31 | 2021-07-09 | 康佳集团股份有限公司 | 超高清多路图像传输方法、系统及计算机可读存储介质 |
CN113542822A (zh) * | 2021-07-12 | 2021-10-22 | 中国银行股份有限公司 | 影像文件传输方法及装置 |
CN113542822B (zh) * | 2021-07-12 | 2023-01-06 | 中国银行股份有限公司 | 影像文件传输方法及装置 |
CN114461139A (zh) * | 2021-12-29 | 2022-05-10 | 天津中科曙光存储科技有限公司 | 业务处理方法、装置、计算机设备和存储介质 |
CN114491145A (zh) * | 2022-01-27 | 2022-05-13 | 北京中电兴发科技有限公司 | 一种基于流存储的元数据设计方法 |
CN114489519A (zh) * | 2022-04-18 | 2022-05-13 | 创新科技术有限公司 | 一种io请求的处理方法、装置、设备及可读存储介质 |
CN115994236A (zh) * | 2023-03-23 | 2023-04-21 | 杭州派迩信息技术有限公司 | 一种航空数据的协同处理方法及系统 |
CN116578741A (zh) * | 2023-07-12 | 2023-08-11 | 南京奥看信息科技有限公司 | 视图混合存储方法、装置及系统 |
CN116578741B (zh) * | 2023-07-12 | 2023-10-20 | 南京奥看信息科技有限公司 | 视图混合存储方法、装置及系统 |
CN117880553A (zh) * | 2024-03-13 | 2024-04-12 | 济南浪潮数据技术有限公司 | 流媒体存储方法、系统、服务器、电子设备和存储介质 |
CN118400568A (zh) * | 2024-06-28 | 2024-07-26 | 四川新视创伟超高清科技有限公司 | 超高清视频图像动态存储方法及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111984200B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984200B (zh) | 海量视频数据存储系统 | |
Pinheiro et al. | Exploiting redundancy to conserve energy in storage systems | |
Bostoen et al. | Power-reduction techniques for data-center storage systems | |
US5537588A (en) | Partitioned log-structured file system and methods for operating the same | |
US7516346B2 (en) | System and method for dynamically changing the power mode of storage disks based on redundancy and system load | |
US8082389B2 (en) | Apparatus and method for mirroring data between nonvolatile memory and a hard disk drive | |
Pinheiro et al. | Energy conservation techniques for disk array-based servers | |
WO2022017002A1 (zh) | 一种垃圾回收方法及装置 | |
Sun et al. | DPPDL: a dynamic partial-parallel data layout for green video surveillance storage | |
Nam et al. | Assuring demanded read performance of data deduplication storage with backup datasets | |
JPH07110788A (ja) | ディスクキャッシュ装置 | |
Deng et al. | Architectures and optimization methods of flash memory based storage systems | |
US7761659B2 (en) | Wave flushing of cached writeback data to a storage array | |
WO2006097037A1 (fr) | Systeme tampon de stockage en reseau expansible haut debit | |
Llopis et al. | Survey of energy-efficient and power-proportional storage systems | |
CN101566930B (zh) | 虚拟磁盘驱动系统和方法 | |
Gafsi et al. | Modeling and performance comparison of reliability strategies for distributed video servers | |
JPH11288387A (ja) | ディスクキャッシュ装置 | |
Mao et al. | GRAID: A green RAID storage architecture with improved energy efficiency and reliability | |
Xie et al. | MICRO: A multilevel caching-based reconstruction optimization for mobile storage systems | |
CN111897486A (zh) | 一种基于软件定义的智能统一存储系统 | |
CN112379825A (zh) | 基于数据特征分池的分布式数据存储方法及装置 | |
Lin et al. | Buffer-aware data migration scheme for hybrid storage systems | |
CN101976179B (zh) | 一种垂直型分组并行分布校验的磁盘阵列的构建方法 | |
CN117348789A (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 |