学术咨询

让论文发表更省时、省事、省心

基于直播视频数据高性能分布式储存系统设计实现

时间:2019年05月24日 分类:电子论文 次数:

摘要:本文通过在线视频数据的特点研究了高性能分布式存储系统的设计方案。鉴于传统储存方案的缺点,为了更好地解决磁盘碎片存储性能下降的问题,本文对逻辑卷结构进行了设计。系统磁盘可以直接写入非结构化的数据,降低了系统管理器的运行负荷,提高了存储

  摘要:本文通过在线视频数据的特点研究了高性能分布式存储系统的设计方案。鉴于传统储存方案的缺点,为了更好地解决磁盘碎片存储性能下降的问题,本文对逻辑卷结构进行了设计。系统磁盘可以直接写入非结构化的数据,降低了系统管理器的运行负荷,提高了存储系统的性能。通过系统优化,旨在提高服务器的检索精度以及容错能力。从测试结果来看,在降低PC端成本的基础上,单台读服务器可以的视频写入速度得到了较大的提升,可同时对300路以上的超清视频较好地存储。

  关键词:直播视频数据;视频存储;视频写入;分布式系统

电信技术

  随着移动互联网技术的推进,移动直播业务井喷,移动直播系统智能化、高清化的发展趋势日益明显。移动直播行业的快速发展使企业需要重新设计或优化移动直播存储系统,即加大对摄像头清晰度与直播视频写入的研究。传统的网络存储方案是以接口协议为基础,流媒体的服务器磁盘一般为阵列挂载的方式,即数据的保存需要借助第三方渠道,尤其是视频文件的存储主要为文件集中保存的形式。经过第三方服务器的存储较易发生单点故障等情况。

  直播视频存储需要系统不间断地运行,在多数视频不断写入的基础上,传统的视频存储方式会增加碎片文件的数量,不仅不利于后续视频文件的存储,而且极有可能会降低存储系统的性能[1]。由此可见,为了更好了改善直播视频存储效果,必须对传统的视频存储模式加以改变,通过分布式云储存等新技术可以实现中小系统文件、视频长时间地存储。

  第一,分布式云数据存储系统的数据量大。随着移动直播平台的兴起,视频直播数量的大幅增加,直播平台每日写入的视频数据量较大,又因为直播视频的存储时间一般为1~3个月,所以直播视频的存储系统必须能够长时间地保存视频、图片或文件,并且线性拓展性较高。第二,直播视频的码率并非随机,这主要是移动视频直播平台提供的分辨率所决定的。

  第三,写密集。分布式云存储打破了“二八定律”,直播视频的写入操作占据总时间的80%以上[2]。一般情况下,移动直播视频平台会实时保存直播视频数据,便于平台用户事后点播回放,部分优秀的直播视频甚至会永久地被保存。面对这一情况,分布式存储系统设计的重点是改善写入带宽的效果。第四,不间断地服务。传统的数据存储一般会选择在线用户较少的时间段进行系统维护,通常不会对平台的经营与其他活动造成影响[3]。而移动直播平台的用户数量大、涉及面广,主播的直播时长存在较大的差异,一般为30分钟以上,也可能3~4小时会更长时间。长时间的在线直播需要平台保存大量的视频数据,直播平台的升级与维护必须在不影响视频的写入与存储的基础上进行。

  1系统总体设计

  1.1系统构件设计

  直播业务数据的并发量高、视频数据量大,传统的文件系统难以符合在线视频的写入与存储的需求,采用传统的文件存储模式往往存在较大的问题。首先,传统的文件存储模式一般是静态的,难以确保在线视频数据写入、存储的连续性。如果系统需要写入大量的超清视频,系统需要通过大量文件描述符的来回切换实现视频的存储[4]。

  文中设计的高性能分布式储存系统通过Zab协议使接节点保证一致性,提供用户命名、分布式同步、分组服务集中式服务框架。同时,利用Raft一致性协议,提供Http+JSON的应用程序编辑接口,使用gossip形成动态集群,提供分级键或分级值的存储方式,实现数据的存储。本文搭建消息中间件主要通过以下两种方式:1)采用C++编写,通过Brokerless架构,与底层网络的应用程序编辑接口相似。2)采用Java编写,设计为代理模式,可为系统提供丰富的功能。

  在服务发现方面,ServiceInstance启动时会生成独特的ServicePath,并利用Creat方法生成节点,并通过一定的方法获取集群数据。针对该路径有子节点的服务器,搜寻全部的子节点列表,并访问其他数据,之后检测集群是否发生变化。针对该路径没有子节点的服务器,将watcher设置在集群路径中。系统采用分组存储方式可以大幅提高视频储存的灵活性、实用性等。针对重点储存的视频数据,系统管理员可以选择存储位置,倘若存储服务器访问人数较多,为了确保视频写入的质量与降低存储服务器的运行负荷,管理员可以合理选择另一个存储服务器[8]。

  另外,通过增加存储组可以较好地适应直播业务量较大的情况,扩大了存储服务器的规模。本系统通过分开存储视频数据与其它数据的方式,改善视频流、元数据的存储效果。将两者存储在不同的磁盘中,如果其中一方进行读写,另一方受到的影响会较小。直播平台在处理质量不高的视频数据时,不会影响其他的系统数据。鉴于视频直播平台视频流编码格式的特殊性,本文建立了高效的信息检索系统,其能够精确到秒级。旨在实现视频流数据的有效管理。逻辑卷由多个磁盘构成,各个磁盘或者磁盘分区的存储空间一致,有利于下存储空间的拓展。数据块是存储空间的重要单位,其主要负责视频流写入空间的分配,数据块每次分配视频存储空间时,会改变对应的位图[9]。鉴于视频直播平台会定期清除低质量的视频数据,即回收保存数据的数据块,容量大小设置为500兆左右。

  1.2视频管理设计

  直播业务主要由主播通过官方客户端上传视频,主播老师可以通过PC端或手机端随时随地的发起直播,直播时长一般为30分钟以上。直播时间较长会增加储存服务器的负荷,难以实现储存系统的动态扩容。本文对视频管理的设计如下:首先,直播老师通过pc端或移动端开启直播,视频流数据主要包括了标识、时长、分辨率等。其次,状态管理器会通过数据视频流数据发挥调控作用,在系统中查询可储存的服务器,并在检索系统中增加相应的记录,并将存储数据通过客户端反馈给直播老师[9]。

  与此同时,储存服务器会进行相应的写入操作,即写入视频的标识、时长等。之后,储存服务器会进一步处理视频流,并将解析的信息存储到数据块中,并在检索系统中增加相关描述。最后,主播老师直播完毕后,储存服务器会进行返回操作。部分用户收到时间、地点的限制,在直播老师直播阶段无法观看视频,部分用户或事后点播回看。

  直播视频的回放需要进行检索操作,高精度的检索系统使数据传输的次数大幅减少,提高了用户观看回放视频的体验。视频检索步骤主要有:首先,用户在搜索框中输入视频名称、时长、分辨率等检索内容。之后由状态管理器参考用户的检索内容在数据库中查找已存储的视频,并检索到符合条件的视频。经过存储服务器对视频进行编号后,根据系统情况科学选择存储空间,返回互联网协议地址[10]。基于用户的读请求,存储服务器会借助检索系统对数据块检索,读出相应的视频。最后由服务器将检索到的视频传输至客户端。

  1.3存储空间管理

  直播视频的保存时间存在较大的不确定性,针对不同的视频内容,直播平台往往会选择不同的视频的存储时间。因为磁盘的存储空间有限、部分教学视频的实用性不强,难以吸引平台用户,直播平台可能会清除部分视频。视频的清除步骤如下:状态管理根据视频的存储时间定期清除相关视频内容,其对视频的清除起着主要的控制作用。

  之后通知保存视频的存储服务器将对应的索引删除,并修改存储信息的数据块位图。由于分布式存储系统在清除视频时只需要修改数据块的位图,其视频清除效率较高。在数据块分配方式的改变下,其视频流数据的清除是动态的,并且写入的数据块也是不间断的[11-12]。在本设计方案中,相邻数据块的分配与处理是同步的,因此,存储服务器不会受长时间运行的影响而效率低下。

  2测试与评估

  2.1参数测试

  系统磁盘的写入不仅受缓冲区的影响,还与数据块相关。为了进一步分析磁盘写入的影响因素,本文将采用不同大小的数据快,同时改变每路数据流下缓冲区的大小。以单台存储服务器为例,向其发送200路数据流的写入请求,在不对比特率大小限制的情况下检测系统最大吞吐率。数据块在[64,256]区间范围内、缓冲区大小在128KB的情况下,规模较小数据块的写入速度快于实验前。当数据块大小在[128,400]区间范围内,写入速度先上升后下降。值得注意的是,在速度上升阶段,其与缓冲区大小的变化呈正比。

  2.2单机性能评估

  为了更好地进行单机性能的评估,文中对100路~400路的超清视频的并发写入展开测试。在超清视频被写入1台存储服务器的过程中,在视频路数为100左右的情况下,输入带宽为150兆每秒,其速度与系统总分带宽相同,系统可以较快地写入超清视频[13-14]。之后将视频路数上升至400兆每秒时,总带宽速度高达200兆每秒,超清视频依旧能够被较快地写入。

  在之后的测试中,笔者继续增加视频路数,结果表明:系统的写入速度随着视频路数的增加而增加。但对于第四代拓展文件系统而言,其写入速度与视频路数呈反比的变化关系,正是因为系统在储存文件时需要打开大量的文件表,使系统内存消耗增加。除此之外,存储时需对文件描述符频繁地切换,进一步降低了的拓展文件系统的写入速度[15]。

  3结论

  高性能分布式存储系统可以实现超清视频的直接写入,不需要通过第三方服务器的传输,提高了系统的存储性能。本文的分布式存储系统采用二级检索系统,减少了状态管理器保存元数据的数量,使状态管理器能够保持高效率的运行状态[16]。

  本文的测试结果显示,在视频路数不断增加的情况下,存储服务器的写入超清视频的速度可高达200兆每秒,并且写入速度与视频路数数量的变化呈正比。其次,本文的检索系统的检索精度较高,可精确到秒级,能够更好地面对几万人同时检索直播视频,提高了用户的体验。本文设局的分布式存储系统可以实现直播业务系统的扩展,更好地满足用户与直播平台运营的需求。

  参考文献:

  [1]操顺德,华宇,冯丹,等.面向海量高清视频数据的高性能分布式存储系统[J].软件学报,2017,28(8):1999-2009.

  [2]李洪奇,朱丽萍,孙国玉,等.面向海量小文件的分布式存储系统设计与实现[J].计算机工程与设计,2016,37(1):86-92.

  [3]田敬波.面向物联网的海量高性能分布式系统架构及实现[J].电信技术,2017,8(7):39-41.

  [4]冯浩,贾年.面向海量无线电监测数据的分布式存储系统研究[J].成都工业学院学报,2015(2):25-28.

  [5]罗刚.面向海量存储的高性能元数据分布模型设计[J].空军预警学院学报,2016,30(1):44-48.

  通信技术类刊物推荐:《电信技术》(月刊)创刊于1954年,人民邮电出版社主办。是我国电网信领域创刊最早的杂志。始终紧跟我国通信事业前进的步伐,及时介绍新技术和新产品,交流网络建设和运营维护管理经验。集指导性、知识性、实用性为一体,现已成为我国通信领域读者面最广、发行量最大的杂志。

  

NOW!

Take the first step of our cooperation迈出我们合作第一步

符合规范的学术服务 助力您的学术成果走向世界


点击咨询学术顾问