大数据技术发端于IT领域,当前在互联网、电子商务中应用得最为成熟。Google公司根据用户海量的搜索日志,成功预测病情在北美的蔓延情况;通过分析处理大量的语料库,为用户提供精准的在线翻译。亚马逊根据用户过往的购买行为,分析出特定用户群的购买“口味”,从而在自己的网站中提供精准的广告推荐。而国内的淘宝网,通过分析网民浏览商品的日志,给买家提供到特定商品的关联匹配。
在其他行业,大数据的使用也屡见不鲜:
在卫生行业,基于全民的电子档案与电子病历库正在构建。通过全民电子病历库,我们能分析全民的健康状况,监控相关疾病的蔓延走势,为做好卫生防范措施提供参考。
在电力行业,通过分析大区域的用电记录,能够优化电力企业管理模式,提升企业经营水平,为基建决策提供有力参考,提高智能控制水平,加强电力的协同管理。同样对于整个国家,通过分析用电情况,在宏观掌握国家的经济状况,为制定经济政策提供参考。
在物流行业,通过分析大量以往的配送记录,在宏观上掌握大类物品的流向,提前把物品运送到特定区域,提高送货效率。在国外,一家大型的超市,通过分析交通与商品大体流向,能在精确的时间范围内,把特定类商品送到特定的门店,减少库存时间,提高周转率,创造企业利润。
同样,在安防领域,大数据也得到广泛使用。
大数据助力安防行业
经过一段时间的摸索,大数据助力安防行业的发展取得相当的成效,部分企业如海康威视等已经有了较多的成熟项目案例。
在智慧交通方面,海康威视借助大数据技术,交通管理系统能够在恶劣的网络环境,对城区交通要道进行拍摄与录制,同时把图片与视频数据输往后端的大数据处理平台。通过后端大数据处理,识别繁忙的路段,提前做好交通分流措施。借助车牌识别技术,综合各卡口的过车记录,能够分析特定车辆的运行轨迹。同样,通过对大量行车违法记录的模式识别,能在特定路段对具有违规倾向的车辆进行报警,比如在高架桥,高速公路上。通过对城市周边主要卡口大量的行车记录分析,能识别出异常的进出城的记录,做好防范措施。
在公安执法方面,海康威视通过人脸识别技术,提高对犯罪嫌疑人追查的效率。通过对大量异常行为的模式特征提取,能提前判别违法行为,比如在火车站,通过对扒手外观打扮,行为举止,作案时的动作特征分析,能够提前把嫌疑信息告知车站治安人员,提高执法的效率。
在平安城市、智能家居,方方面面,安防大数据也引领很多新奇的应用。
安防大数据当前面临的技术难点
然而,伴随着大数据在安防领域越来越深入的应用,也突现出一些技术难点。在IT领域,大数据技术发展较为成熟,针对不同的应用场景有较为丰富的技术选型以及技术路线,其中很多技术可以移植应用到安防领域中。但IT与安防毕竟是两个不同的领域,两者之间存在很多不一样的地方。最大的不同,就是数据本身的不同,主要体现在一下方面:
数据类型不同。在IT领域,大数据处理的对象往往是网页索引、用户行为、日志记录等字符型数据,这些是结构化、方便计算识别处理的数据。而在安防领域,数据往往以图片、音频、视频等非结构化的数据,往往计算机不能直接识别,这些数据只有在人面前才显得有意义。
数据量在数量级上的不同。在互联网领域,单条日志记录一般在一百字节之内,到了1PB的日志记录,已经是一个足够大的量。但在安防领域,一张普通的缩略图就几百KB,如果考虑高清摄像,高清视频,这个数量要更大。一个普通的中等城市,在主要交通卡口拍摄的图片,一年下来就能积压几个PB的数据,如果考虑视频,这个数据量更大。
对数据的实时性要求不同。在互联网行业,以日志型数据分析为主的典型应用中,对实时性要求没那么高,比如淘宝的推荐系统,是否分析最近一个小时用户的浏览记录对于推荐效果关系不大。而在安防领域,前端摄像头录制的都是实时流,这是一个不间断的数据流,最近录制的数据超过一定时间没有得到有效保存,将会永远被丢失。
针对安防领域与IT领域在数据本身上的异同,把适合IT领域常规的大数据技术搬到安防领域就会碰到一些技术难点,表现如下:
存储成本问题。在IT领域,海量的数据往往保存在分布式存储系统中,为了提高数据的可靠性,一份数据往往复制成几份相同的副本,分别保存在不同的节点中,当其中一些副本丢失时,可以从其他节点读出数据。比如在Hadoop中,一份数据往往在集群中保存了相同的3份。如果有1PB的原始数据,则至少要占用3PB的磁盘空间。而在安防领域,几个交通卡口的视频,在一个较短的时间内,如果不覆盖之前的数据,就能轻易积压几个PB。由于图像、音频、视频数据本身的量太大,生搬传统的多副本策略成本过高,我们需要设计出一些更高效同时不损失可用性的方案。
小文件存储问题。这个问题是大数据技术面临的一个共性问题,但在安防领域可能又突现得较为严重。在互联网,小文本、图片、音乐都是小文件,当层积较多时,都面临如何存取这些海量小文件的问题。而在安防行业,小文件主要以图片为主,比如一个城市的主要交通卡口在一年内,就能产生百亿张图片。对于这些海量的小文件的存储,涉及到大量元数据的管理,保证存取的性能是问题的关键。
当然,问题并不可怕,通过分析研究安防应用场景,我们摸索出一些贴合安防大数据的解决方案。
解决问题的方向
引入擦除码(ErasureCode)技术,节省存储空间。擦除码是一个在通信理论中的术语,其基本思想就是:一条原始信息由K个符号构成,在信息发送前,通过某种具有冗余功能的数学映射,生成由(K+M)个符号组成的编码后的信息,然后把编码后的信息通过信道发送给接受方,由于信道的不可靠特性,在信息传输的过程中可能会丢失几个符号,接受方在接受到信息后,只要丢失的符号不超过M个,则接受方在剩余的符号中通过逆向的数学变换,能还原出由K个符号组成的原始信息。
原始信息由[A、B、C]三个符号组成,现在通过编码函数f对其进行编码,生成编码后的信息为[a、b、c、d、e],编码后的信息在信道上进行传输,在传输的过程中由于某种原因符号a与b丢失了,接受方只接受到了三个符号[c、d、e],接受方通过解码函数-f(实际上就是编码函数的逆函数)进行解码,能够计算出原始的信息[A、B、C]。由上可看出,信道虽然不可靠,但在信道上丢失的两个符号并不影响我们整个信息的传输,我们唯一要做的工作就是在发送信息前与接收信息后做一定的编码与解码工作。
受上面思想的启迪,在分布式存储系统中,一个大文件分成若干块,这些不同的块分发到不同的节点中,现在假设一个文件由K个数据块组成,我们通过编码后变成(K+M)个编码块,再把这(K+M)个编码块分发到不同的节点中。现在由于集群中几个节点失败,丢失了几个块,只要丢失的块数不超过M,我们依然能从其他节点中读入K个编码块,通过解码运算,得出我们之前的K个数据块,也就还原出那个完整的文件。而在分布式系统中,超过M个数据节点同时失效的可能性很小,由此可以看出,虽然存在节点失败的情况,但依然不影响我们数据存储的可靠性。这里引入额外的存储空间为(M/K)倍,而传统的N副本策略,引入的额外存储空间为(N-1)倍,通过调节M与K的关系,我们能把存储空间降到1.3倍,这与传统Hadoop占用存储空3倍相比,具有巨大的节省价值。
在安防工程实践中,我们通过数据分条带,优化编码分组策略,进行高效快速的编解码计算,既保证数据存取的性能,又节省了大量的磁盘空间。如图-2,数据横向分条带,同一个条带内,左边为原始数据(K=4),右边为编码后的数据(M=2),存储时,把同一个条带内的所有数据分发到分布式系统上的不同节点。当处于同一个条带内的数据丢失块数不超过2时,依然能从剩下的数据块中通过解码计算出原始的数据。
建立索引,小文件合并成大文件集中存储。对于大量的数据,单机无法存储,借助分布式存储技术,将数据分散存储到不同的节点上。但主流的HDFS分布式存储系统适合存储少量的大文件,就是文件个数较少,但单个文件的很大。如果大量的小文件朴素的存放在HDFS中,由于要管理的元数据巨大,严重印象集群的可扩展性,以及文件本身的存储性能。解决问题的思路是,把大量的小文件合成一个大文件,同时对这些小文件建立索引,索引信息集中管理。当要读取文件时,先查找索引信息,根据查找出的索引信息再定位到那个大文件具体位置,读出小文件。
如图-3,上面为把若干小文件合成一个大的文件,下面为针对这些小文件建立的索引,所有的索引又合成一个索引文件。在工程实践中,我们又对索引文件的结构进行了优化,引入了哈希索引结构,由于哈希定位过程相当过,所以提升了小文件的读取性能。同时,由于索引文件很小,我们除把索引文件持久化到底层文件系统,还同时把索引信息读入内存,这样极大提升了文件存取效率。
结语
随着大数据技术的逐步发展与深入应用,它会给我们带来越来越多的潜在价值。当安防行业进入就计算化时代后,各种前端设备采集大量的图片、音频、视频,这个数据在一个较小的区域一个较短的时间内,就能积攒海量的数据,要掌握并且成功挖掘出这些数据的价值,更好的为安防服务,急需我们掌握大数据技术。目前,安防行业仅有海康威视等极个别企业掌握了该项技术。
由于安防行业和IT互联网行业存在差异,我们在借鉴互联网大数据技术的同时,也要深入研究我们的安防场景,探索一些贴切安防应用的大数据技术。安防大数据第一阶段要解决安防大数据的存储问题,当解决好存储问题后,我们进入到安防大数据分析处理阶段,当我们具备娴熟的分析处理技术后,可以进入深度学习,多维数据挖掘的深入应用。这一路还很漫长,我们慢慢探索,精益求精,一定能让安防大数据更好的服务安防业,保证我们的幸福安康。
该文观点仅代表作者,本站仅提供信息存储空间服务,转载请注明出处。若需了解详细的安防行业方案,或有其它建议反馈,欢迎联系我们。