深度win10- 绿色安全免费的win10系统下载站

今日更新 | 一键重装系统

当前位置: > 系统教程

未分类第1344页-综合分类信息

认证系统 时间:2023-04-06 人气: 147

自助下单地址(拼多多砍价,ks/qq/dy赞等业务):点我进入

摄像机NAS存储方案

NAS英文全称为NetworkAttachedStorage,可译为网络附加存储,是一种专业网络数据存储\备份设备。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。NAS是一种专用的存储/备份设备。NAS实际上是一个带有瘦服务器的存储设备,这种专用存储服务器使用专门开发嵌入式的操作系统,去掉了通用服务器操作系统上的大多数不适用的大多数计算功能网络存储设备的存储结构,而仅仅提供文件系统功能。另外采用NAS 技术的存储设备具备了磁盘阵列的高容量、高效能、高可靠等主要特征。因此采用NAS存储技术能很好的帮助用户实现以下功能: 1.快速地共享数据, 2.保存超大型文件,3.随意增加存储空间,4.数据安全保障。

NAS也可以理解为网络硬盘盒,里面内置硬盘的一个UPNP即插即用网络存储设备。NAS和SAN一个最大的区别可以用一句话来形容:“SAN是一个网络系统而NAS仅仅是一个设备”摄像机NAS存储方案主要是指摄像机不经过NVR或者视频平台,直接将NAS服务器挂着到自身文件系统中,并将音视频码流存储到该路径下,从而实现录像功能。下面将从3个方面来解析该方案的具体内容。

1, NAS术分析

NAS的全称为Network-Attached Storage,人们通常称之为“网络附加存储”或“网络存储设备”。NAS开始作为一种开放系统技术是由Sun公司于上个世纪80年代中期推出的NFS开始的。它是一种向用户提供文件级服务的专用数据存储设备,直接连到网络上,不再挂接服务器后端,避免给服务器增加I/O负载。

1.1 NAS所使用的协议

NAS目前采用的协议是NFS和CIFS。NFS(Network File System)协议是1985年由Sun公司开发的基于Unix环境下的网络文件系统。它采用TCP/IP,其主、从连线可覆盖整个互联网。也就是说,处在不同区域的NFS客户机也可通过互联网分享相隔万里的另一台NFS服务器的文件档案。NFS是Unix系统间实现磁盘文件共享的一种方法,支持应用程序在客户端通过网络存取位于服务器磁盘中数据的一种文件系统协议。相比之下,SAN采用的网络文件系统,作为高层协议,需要特别的文件服务器来管理磁盘数据,客户端以逻辑文件块的方式存取数据,文件服务器使用块映射存取真正的磁盘块,并完成磁盘格式和原数据管理。

CIFS(Common Internet File System)则是由微软开发,用于连接Windows 客户机和服务器的通用互联网文件系统。后来经过Unix服务器厂商的重新开发后,它可用于连接Windows客户机和Unix服务器,执行文件共享和打印等任务。它最早的由来是NetBIOS,这是微软开发的在局域网内实现基于Windows名称资源共享的API。之后,产生了基于NetBIOS的NetBEUI协议和NBT(NetBIOS OVER TCP/IP)协议。NBT协议进一步发展为SMB(Server Message Block Potocol)和CIFS协议。其中,CIFS用于Windows系统,而SMB广泛用于Unix和Linux,两者可互通。SMB协议还被称作LanManager协议。CIFS可籍由与支持SMB的服务器通信而实现共享。

1.2.NAS的构成和拓扑结构

对于NAS网络存储设备自身而言,它是直接连接到网络上,而不需像通常的存储设备那样挂接在服务器后,这样可最大程度减小服务器的I/O负载。下图是NAS的结构图。

摄像机nas存储方案

(图01,NAS结构图)

网络存储设备的存储结构_存储为web和设备所用格式灰色_图像超出了存储为web和设备所用格式的预期大小

NAS从结构上可以分解为存储设备、网络部分、控制器部分三部分。

存储设备可是磁盘和磁带,或是RAID磁盘阵列。因为NAS的市场定位,在SAN中采用的FC(Fiber Channel)技术和Fabric交换技术由于其成本较高,在中低端几乎没有选用。而SCSI技术则是在中端和部分高端NAS中广泛采用的技术。另外,iSCSI给存储带来了一个崭新的发展方向,SATA和SATA300等IDE技术也有用在低端NAS的存储设备上。这类存储设备拥有一个共有的特点就是低成本优势。

网络部分可支持各种网络技术,支持多种网络拓扑。虽然NAS理论上可支持各种拓扑结构和网络协议,但由于以太网技术是目前最普遍的一种局域网技术,特别是快速以太网络技术,数据传输率已经达到了1Gbps,且正在推出10Gbps 的标准和技术,这些都确定了以太网技术的霸主地位,因此以太网是NAS设备通常采用的技术。

控制器部分从结构和功能上讲就像是一个有着自己的CPU和自己的操作系统的瘦服务器(Thin Server),NAS实际上是一个专用的网络文件服务器。

NAS网络存储设备是直接通过数据网络向客户段提供文件共享的,它所连接的网络介质可以是局域网、广域网。下图是一种比较典型的NAS拓扑结构

摄像机nas存储方案

(图02,典型的NAS拓朴结构)

NAS与传统的以太网相连,使用的是TCP/IP协议,当需进行文件共享和访问时则利用NFS和CIFS以沟通Windows NT或Unix系统。NAS的这种结构奠定了它自身的优点,那就是配置灵活、管理方便,另外成本较低,不需要配置额外的网络配件。但因为NAS是直接与网络相连的,无疑在数据传输时会增加网络负担,一旦发生网络拥塞,其性能会大幅下降。所以NAS自身要受到网络传输能力的制约。

1.3 摄像机挂载NAS设备

网络摄像机一般使用linux系统,一般可以通过nfs协议去挂载NAS设备。通过mount命令挂载nfs目录的方法:

存储为web和设备所用格式灰色_网络存储设备的存储结构_图像超出了存储为web和设备所用格式的预期大小

mount -t nfs hostname(orIP):/directory /mount/point

具体例子:

Linux: mount –t nfs 192.168.0.1:/tmp /mnt/nfs

mount nfs的其它可选参数:

HARD mount 和SOFT MOUNT:HARD: NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX 下有的版本仍然会给出一些提示),直到MOUNT上.

SOFT:会在前台尝试与SERVER的连接,是默认的连接方式.当收到错误信息后终止mount尝试,并给出相关信息.例如:mount itnfs –o hard 192.168.0.10:/nfs /nfs

对于到底是使用hard还是soft的问题,这主要取决于你访问什么信息有关.例如你是想通过NFS协议来运行X PROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的是HARD方式的话,系统就会等待,直到能够重新与NFS SERVER建立连接传输信息.另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会话过程. rsize和wsize:文件传输尺寸设定:V3没有限定传输尺寸,V2最多只能设定为8k,可以使用rsize and wsize来进行设定.这两个参数的设定对于NFS的执行效能有较大的影响

bg:在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止.(通常在设定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)

fg:和bg正好相反,是默认的参数nfsvers=n:设定要使用的NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3

mountport:设定mount的端口

存储为web和设备所用格式灰色_网络存储设备的存储结构_图像超出了存储为web和设备所用格式的预期大小

port:根据server端export出的端口设定,例如如果server使用5555端口输出NFS,那客户端就需要使用这个参数进行同样的设定

timeo=n:设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输.默认值是7/10妙(0.7秒).如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问.

intr 允许通知中断一个NFS调用.当服务器没有应答需要放弃的时候有用处. udp:使用udp作为nfs协议的传输协议(NFS V2只支持UDP)

tcp:使用tcp作为nfs的传输协议

namlen=n:设定远程服务器所允许的最长文件名.这个值的默认是255

acregmin=n:设定最小的在文件更新之前cache时间,默认是3

acregmax=n:设定最大的在文件更新之前cache时间,默认是60

acdirmin=n:设定最小的在目录更新之前cache时间,默认是30

acdirmax=n:设定最大的在目录更新之前cache时间,默认是60

actimeo=n:将acregmin?acregmax?acdirmin?acdirmax设定为同一个数值,默认是没有启用.

图像超出了存储为web和设备所用格式的预期大小_网络存储设备的存储结构_存储为web和设备所用格式灰色

retry=n:设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试.默认的数值是10000 minutes

noac:关闭cache机制.

同时使用多个参数的方法:mount –tnfs –otimeo=3,udp,hard 192.168.0.30:/tmp /nfs请注意,NFS客户机和服务器的选项并不一定完全相同,而且有的时候会有冲突.比如说服务器以只读的方式导出,客户端却以可写的方式mount,虽然可以成功mount上,但尝试写入的时候就会发生错误.一般服务器和客户端配置冲突的时候,会以服务器的配置为准.

/etc /fstab的设定方法

/etc/fstab的格式如下:

fs_spec fs_filefs_type fs_optionsfs_dump fs_pass

fs_spec:该字段定义希望加载的文件系统所在的设备或远程文件系统,对于nfs 这个参数一般设置为这样:192.168.0.1:/NFS

fs_本地的挂载点

fs_type:对于NFS协议来说这个字段只要设置成nfs就可以了

fs_options:挂载的参数,可以使用的参数可以参考上面的mount参数.

存储为web和设备所用格式灰色_图像超出了存储为web和设备所用格式的预期大小_网络存储设备的存储结构

fs_dump 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0

fs_pass 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为 2.若该文件系统无需在启动时扫描则设置该字段为0 .

与NFS有关的一些命令介绍

nfsstat:查看NFS的运行状态,对于调整NFS的运行有很大帮助

rpcinfo: 查看rpc执行信息,可以用于检测rpc运行情况的工具.

具体实现时,通过上述命令我们可以监测实际应用场景的各种突发状况,从而采取对应的措施,防止出现设备死机或者录像文件丢失的情况。

2,录像格式

在将音视频数据存储到文件系统中时,一般我们需要将其按照某种封装格式进行封装,一般摄像机要存储的视频流编码格式是h264,h265等,音频编码格式是G 711,ACC等。而将对应的音视频数据封装起来,同时保留它们的同步信息,就需要封装格式。目前比较常见的封装格式有asf,AVI,ts,MKV,MP4等。

在对音视频数据进行封装时需要考虑的一个问题是当设备意外掉线(断电,断网,或者磁盘阵列异常)时,如何处理未完整的视频文件。一般各种封装格式都会在录像文件开始或者结束存放该文件的音视频信息,比如asf格式把音视频数据存放在固定大小的box块上,然后在文件结尾按照先后顺序写入每一个box 块的信息如时间戳,序号,类型等,这些信息都是在写完一个录像文件后才填到末尾的。当设备掉线时,这些信息会丢失,从而导致录像文件损坏,容易造成较

长时间的录像丢失。为防止该现象,一般在向录像文件写音视频数据的同时,我们会把录像信息写入一个临时文件,录像结束时会把这个临时文件删除。在开始新的录像文件时,先检查是否存在临时文件,若存在则说明之前设备出现掉线,这时候我们需要对上一个录像文件进行修复,把临时文件里的信息填写到录像文件末尾。

3,录像流程

正常的录像流程是先在制定路径打开一个文件,然后持续写入音视频数据,当数据量达到上限后关闭文件,重新打开新的录像文件。在具体实现时,我们需要将挂载、封装、录像三部分内容结合在一起。在代码中这个三部分分为3个单元。录像单元作为整个模块的驱动源,设置开始录像时,录像单元会调用挂载单元的接口,检查磁盘是否正常挂载,若是刚开始录像挂载单元会进入连接NAS 服务器流程网络存储设备的存储结构,该流程会根据前述的指令去登陆NAS服务器并挂载到指定目录下。挂载成功之后调用封装单元的接口,创建录像文件,然后从APP的sharebuf缓冲区按帧读取数据,再调用封装单元的接口将数据进行处理并写入文件,封装单元在对数据进行处理同时会对音视频信息进行统计,并将统计信息进行记录,当录像文件大小达到上限时(一般会按照指定大小或者时长来设置上限),封装单元执行关闭录像文件操作,该操作包含对录像文件的最终封装,关闭操作等。然后又回到刚开始的状态,重新打开新的录像文件。需要特别注意的是,在录像单元运作的同时,会创建一个专门的监视线程,用于判断录像单元是否卡住后者挂掉,这是针对NAS协议缺陷而设置的,当NAS服务器出现异常时,客户端程序会无期限的等待服务器的答复,容易造成死机。监视线程发现录像单元工作异常时,会采取对应措施进行处理,包括强制终止录像,断开NAS服务器等。

该模块包含的三个单元(挂载、封装、录像)接口按标准化设计,具有很强的扩展性,如果要增加新的协议如iscsi,或者增加新的封装格式等,只需要按照标准化接口实现新的协议和封装格式,就可以完成扩展。


更多精彩:西瓜影音播放器www.xitongtiandi.net

win7系统

win10系统

网友热搜

站长推荐

电脑软件

关于本站 | 下载声明 | 广告合作 | 网站地图 | RSS

Copyright 2019-2020 sdwin10.com 深度win10 版权所有 浙ICP备20007169号-11

声明: 本站非windows官方网站 所有软件和文章来自互联网 如有异议 请与本站联系