APP下载

电力视频大数据的动态自适应复合存储策略*

2018-12-18王晓涛刘晨曦王一丁

科技与创新 2018年23期
关键词:分块存储系统节点

王晓涛,刘晨曦,王一丁



电力视频大数据的动态自适应复合存储策略*

王晓涛1,刘晨曦1,王一丁2

(1.国网四川省电力公司阿坝供电公司,四川 阿坝藏族羌族自治州 624000;2.中国科学院成都分院,四川 成都 610041)

针对电力视频监控数据总体量大、不同监控视频点击热度不同的特点,提出了结合复制策略读取速度快与编码冗余策略数据冗余度低特点的电力视频监控数据动态自适应复合存储方案,并设计了客户端参与译码过程的辅助数据重构策略。对构建的复合存储原型系统进行了性能测试与分析,结果表明,该复合方案能够实现数据的动态冗余调整,存储数据最少仅需要0.32倍的数据冗余,便可保证具有“6个9”的高可靠度。系统在高可靠性的要求下,数据冗余度会随着存储时间的延长而持续下降。因此,该系统适用于数据量不断增加的电力视频监控大数据的存储。

纠删码;复合存储;视频数据;冗余

1 概述

近年来,随着无人值守变电站、无人机巡线和智能电网的建设[1],视频监控数据已成为电力大数据中重要组成部 分[2]。每年,仅无人巡线模式采集的紫外、红外图像就已达TB级,而且采集的视频数据量有大幅增加的趋势[3]。同时,电力视频大数据具有采集节点多、节点分布广泛、数据存储量大、访问不均等特点。因此,在实际的视频监控存储系统运行中,为了实现存储视频的价值与存储资源消耗之间的平衡,一般采取设置固定存储时长、定期删除历史视频数据的手段,以减缓电力视频监控数据给存储系统带来的压力。

2 数据的存储策略

近些年,虽然随着云计算技术的发展,一些电力数据逐渐从本地迁移到云端[4-5],但针对电力视频数据存储方面的研究,仍然采用复制备份策略保证数据的可靠性与可用性[6],并未针对电力视频数据的特征进行基础存储架构上的改进与优化。随着数据量的持续增加,备份策略将大大增加整个系统的数据冗余量,同时,增加了硬件设施、电力消耗、占地面积与支出成本。

针对持续增加的数据存储规模,为了降低存储硬件与能耗成本,利用纠删码对数据进行低冗余度存储,已经逐渐被学术界和企业界所重视[7]。微软的云存储系统Azure采用了LRC(12,2,2)编码方法[8],Facebook的存储体系中也从早期RS(10,4)发展到LRC(10,6,5)[9]。Google将RS(6,3)编码引入到其Colossus系统中,由于技术保密,并未对外公布技术细节。百度也将纠删码方法引入其存储系统中[10]。有研究者将纠删码应用于Apache Hadoop开源项目,以减小系统的数据冗余[11]。国内亦有学者根据纠删码特点提出了针对性的存储架构与高性能的编码方案[12-13]。

虽然采用纠删码技术具有低于复制备份策略的数据冗余,提供了更高的数据可靠性,但如何在保证系统数据可靠性与客户访问响应速率的前提下,降低系统数据冗余,仍是构建低冗余度、高可靠性电力视频大数据存储系统需要深入研究的问题。对于电力视频数据而言,不同时段的监控视频数据的价值也不尽相同。如相关人员对智能变电站设备进行检查和维护、电力系统出现异常时的视频监控数据则需要进行长时间高可靠性保存,用于后期经常性的调用分析。这些时段的视频数据与其他时间段视频数据相比,应该具有更高的冗余度与可用度。因此,视频监控数据具有不同时段访问与可靠性要求不同的特点。所以,需要更加精准的电力视频大数据的存储管理方案。随着时间的推移,不同时段视频数据价值会发生变化。因此,有必要对其进行不同冗余度的存储,以最低的成本提供适当级别的可靠度,从而以最低的成本实现数据价值最大化。

为此,本文针对电力视频大数据的存储特征与不同时段重要性不同的特点,提出了兼顾编码冗余与备份策略优点的自适应动态复合存储方案,设计了系统冗余数据随时间变化而动态变化的存储策略,实现了一个海量电力视频数据存储原型系统,并验证了方案的可行性。

3 电力视频数据复合存储方案

本文针对电力视频数据的价值特点与读取特征设计了复合存储方案。本方案利用纠删码冗余策略保证电力视频数据的基础可靠性,而对点击频率较高时段视频数据进行附加备份,从而保证电力视频数据整体的低冗余度和重要时段视频数据的高可用性。存储系统由若干存储子集构成,可以按照存储子集进行规模扩展。存储子集中的存储节点个数由系统所选择使用的纠删码的码字确定。存储节点包括文件存储节点和校验存储节点。

实施时,存储子集按照时间段对监控视频文件进行均匀分块,视频块是多帧连续视频图像的集合。系统按照2备份策略,对文件分块进行存储,然后对分块按照顺序进行校验计算获取校验块。视频文件分块存储到文件存储节点NF上,校验块存储到校验存储节点NR上。在系统运行过程中,利用视频文件分块的被读取频率将被统计,如果外部读取该文件分块所需带宽大于本文件块所在节点的输出带宽,则将增加该文件分块备份到文件存储节点NF上。当系统中存在多个原文件分块备份时,备份文件分块的读取频率长时间低于被设定值,则该备份分块将被删除,系统仅保留单个原视频文件块与校验冗余数据块。因此,存储系统内的复制文件块也会随着时间的推移、数据块热度的消退而被删除,仅保留编码冗余来保证数据整体的低冗余度、高可靠性存储。

3.1 视频数据编码存储算法

本电力视频存储原型系统在运行前,需要根据存储子集节点、可靠性需求构造出如式(1)所示的存储编码矩阵:

编码矩阵其可分为上下两个部分,其中为(×)×(×)的单位阵,´为由“0”“1”元素组成的规模为(×)×(×)的矩阵,其中,1≤≤;1≤≤。m为×的单位阵,i,j为规模为×的由“0”“1”构成的方阵。在编码过程中,行向量元素个数将与文件分块个数相同,行向量中元素为“1”的所有位置所对应的文件分块之间将进行异或运算,计算出该行向量所对应的校验数据块,则有:

·=. (2)

式(2)中:为原始数据块顺序集合;为原始数据块与校验数据块的顺序集合。

译码过程则根据矩阵构造出聚合矩阵,有·(+)·=0,其中,用下式表示:

3.2 恢复数据的验证机制

实现时,客户端首先计算已经重构出电力视频文件块的哈希函数值,将哈希值上传到源文件服务器,并与源文件服务器中已经存储的该文件块的哈希值进行比较。如果哈希值相同,则允许上传该电视视频文件分块;如果哈希值不同,则说明客户端重构出的数据块并不正确,则系统会启动内部恢复机制对该数据块进行恢复,并将恢复出的文件块提供给客户端使用。同时,为了增加系统的安全性验证,客户端提供的文件分块也可能是已经被恶意篡改的文件块,因此,源文件服务器也将拒绝该文件块的上传。如果系统接收了该文件块,待文件块接收完毕后,源文件服务器将对该文件再次进行哈希值验证,以免在数据块上传过程中出现未知错误。本系统利用SHA-512算法计算哈希值[14]。将整个文件的哈希值作为该文件的代表指纹。系统将每个文件的代表指纹放在存储节点内存中,文件分块所产生的哈希值将放在磁盘中,这样可以加快文件的查询与使用效率。系统将文件块哈希值、存储路径、文件信息等摘要信息统一放在一张表中,这样可以提高系统验证速率。

4 性能测试与结果分析

作者根据本文所述编译码流程与算法以及系统体系架构构建了电力视频大数据自适应动态复合存储原型系统,使用编码参数为(6,3,4)的二进制RS码,即系统共有6个存储节点,其中3个数据存储节点,3个校验数据存储节点,且系统容许任意3个存储节点出现损毁,而系统仍然能够重构出原文件。本原型系统中6个节点为普通计算机,CPU为Intel(R)Celeron M@2.0 GHz,1.5 GB内存,惠普ST336753LW磁盘,标称带宽为80 MB/s,32位Windows7操作系统。存储节点内部利用1 000 Mbps网络进行链接。即系统存储节点并发磁盘I/O带宽小于网络带宽。客户端所选配置同上,客户端与存储系统也通过1 000 Mbps网络连接。测试电力视频为阿坝电网某监控数据,数据格式为RMVB格式,数据量为1 138 MB,监控时长为7 227 s。

4.1 编译码时关键性能分析

本研究首先对编译码与文件块校验过程中CPU的利用率进行了测试,以确定本复合方案给系统带来的计算负载。本研究对在文件复制、编码、译码、HASH计算过程中客户端CPU的利用率进行了监测。在对测试视频文件进行磁盘级复制时,CPU平均利用率为4.8%;而测试视频文件产生等数据量的校验数据时,CPU平均利用率为9.3%;对丢失视频文件块进行重构时,CPU平均利用率为9.7%.客户端利用SHA-512对一份丢失数据块进行哈希值计算时[15],CPU利用率为25%,达到单核极限。因此,编码校验冗余策略的引入,并不会降低系统的I/O性能,反而大大降低了系统的数据冗余。显然,本复合存储方案是可行的。

4.2 数据可靠性比较分析

本存储系统每个存储节点是独立同分布的。如果为单节点的可用性,数据块的可用概率为1-,数据可用性的正态分布标准差记为ε,且原文件分块个数为,为复制策略的数据冗余度,则有下式成立[15]:

在编码冗余策略中,数据冗余度记为,则有下式成立:

本系统单个存储节点在运行365 d时间里,如果有一天不可用,则存储节点可靠度= 0.997.如果要求数据具有“6个9”的高可靠度,则数据的不可用概率= 0.000 001,则数据可用性的正态分布的标准方差ε为5.由式(4)可知,利用复制策略若保证“6个9”的数据可靠度,则需要2.378倍的数据冗余,如图1所示。由式(5)可知,而利用纠删码策略最大需要1.32倍的数据冗余,只需要产生0.32倍的原始文件大小的冗余数据量即可保证“6个9”的高文件可用度,如图2所示。

图1 复制策略冗余度分析图

图2 编码策略冗余度分析图

由于编码方法是将文件分块均匀分布在不同存储节点上,增加了系统对外服务的并发性,减少了因为客户端集中读取而给系统造成的读取分布不均的情况。显然,当存储节点规模不断扩大时,利用纠删码冗余策略能够在保证系统数据高可用度的同时,明显降低了其数据冗余。因此,这对于日益增长的电力视频数据存储来讲具有重要的意义。

5 结束语

本文介绍了一种针对电力视频大数据特征的海量数据存储架构。该种存储架构兼具了数据访问的可用性与系统存储的高效性。本存储系统根据电力数据随时间变化访问频度不同的特征,以水平阵列纠删编码作为数据可靠性保证策略的基础存储方案。作者实现了该电力视频大数据存储系统平台原型系统,并对核心指标进行了性能测试,验证了存储策略的有效性,且本存储体系结构具有通用性,适用于不同结构类型海量数据存储。因此,本文提出的自适应动态复合存储策略对于构建低冗余度、高可靠性电力视频大数据存储系统具有较强的现实意义。

[1]张东霞,苗新,刘丽平,等.智能电网大数据技术发展研究[J].中国电机工程学报,2015,35(01):2-12.

[2]李志海,张天兵,彭启伟,等.基于同一平台的电力视频数据网络建设及组网策略[J].电力科学与技术学报,2012,27(04):64-69.

[3]宋亚奇,周国亮,朱永利,等.云平台下输变电设备状态监测大数据存储优化与并行处理[J].中国电机工程学报,2015,35(02):255-267.

[4]宋爱波,万雨桐,贡欢,等.海量多维数据的存储与查询研究[J].计算机工程与应用,2016,52(13):25-28.

[5]陈德军,高晓军,王义飞.基于AHP的云存储负载均衡研究[J].计算机工程与应用,2015,51(07):56–59.

[6]杨俊杰,廖卓凡,冯超超,等.大数据存储架构和算法研究综述[J].计算机应用,2016,36(09):2465-2471.

[7]刘海波,董玉杰.基于MooseFS的纠删码存储方法设计和实现[J].计算机工程与应用,2017,53(06):91-96.

[8]HUANG C,SIMITCI H,XU Y,et al.Erasure coding in Windows Azure storage[C]//2012 USENIX Annual Technical Conference,Boston,USA,2012:15-26.

[9]MAHESWARAN S,MEGASTHENIS A,DIMITRIS P. XORing Elephants:Novel Erasure Codes for Big Data [C]//The 39th International Conference on Very Large Data Bases,Trento,Italy,2013:6(05):325-336.

[10]LAI C, JIAN S, YANG L,et al.Atlas:Baidu's key-value storage system for cloud data.Proceedings of the 31st symposium on mass storage systems and technologies[J]. Santa Clara USA,2015.

[11]XIA M,SAXENA M,BLAUM M,et al.A table of two erasure codes in HDFS[C]//Proceedings of the 13th USENIX Conference on File and Storage Technologies, Santa Clara,USA,2015:213-226.

[12]陈峥.一类新的阵列纠删码理论及应用研究[D].北京:中国科学院研究生院,2009.

[13]唐聃,杨昊澎,王福超.基于多斜率码链的阵列纠删码[J].计算机应用,2017,37(04):936-940.

[14]李鸿强,苗长云,石博雅,等.单向散列函数SHA-512的优化设计[J].计算机工程,2007,33(07):130-165.

[15]刘刚.分布式存储系统中基于纠错码的容错机制研究[D].武汉:华中科技大学,2007.

王晓涛(1981—),男,硕士,工程师,研究领域为电力数据存储、智能电网。刘晨曦(1983—),女,硕士,高级工程师,研究领域为智能电网、存储系统。王一丁(1983—),男,博士,CCF会员,副研究员,研究领域为编码理论、大数据、海量数据存储。

四川省科技支撑计划(No.2017KZ0026)

2095-6835(2018)23-0037-03

TM76

A

10.15913/j.cnki.kjycx.2018.23.037

〔编辑:张思楠〕

猜你喜欢

分块存储系统节点
面向量化分块压缩感知的区域层次化预测编码
分层式大数据存储系统缓存调度策略与性能优化
钢结构工程分块滑移安装施工方法探讨
基于图连通支配集的子图匹配优化算法
一种基于链路稳定性的最小MPR选择算法
一种面向不等尺寸分块海量数据集的并行体绘制算法
结合概率路由的机会网络自私节点检测算法
采用贪婪启发式的异构WSNs 部分覆盖算法*
分块矩阵初等变换的妙用
天河超算存储系统在美创佳绩