视频监控环网中数据存储的方法及编码器
技术领域
本发明涉及一种视频监控环形网络,具体涉及一种视频监控环网中数据存储的方法及编码器。
背景技术
随着视频监控发展越来越迅速,对于EC(Encoder,编码器)应用功能的需求也越来越多,其中包括24小时不间断工作以及备份存储。例如在高速公路这种特殊的监控场景中,可以基于RRPP(Rapid Ring Protection Protocol,快速环网保护协议),利用编码器来组建RRPP环,这样既可以减少布线投资又可以提高设备的可靠性。一旦物理线路或者环上的设备发生故障,RRPP环可以自动检测出故障并放开非主节点,不会影响监控的实况以及存储业务。
一般在RRPP环上需要部署几十个甚至是几百个编码器,监控所产生的视频流需要保存在位于监控中心的存储设备上。而每个编码器分别与放在监控中心的存储设备建立iSCSI(Internet Small Computer System Interface,因特网小型计算机系统接口)连接。图1所示的RRPP环网包括5台编码器,即编码器101至编码器105,该5台编码器分别与存储设备106之间,通过交换机107以及VM服务器(VM:video management)同IP网络建立iSCSI连接,监控所产生的视频流需要保存在位于监控中心的存储设备106上。这样的话,存储设备106需要建立并维护与编码器数量相同的全部的5条iSCSI并行连接。随着编码器的数量以及随之产生的并行连接数的增多,存储设备106的故障概率也会随之大增,所以这种编码器的组网连接方式对存储设备的性能要求很高。
在其他的视频监控环形网络应用环境中,例如基于STP(Spanning Tree Protocol,生成树协议),或者RPR(Resilient Packet Ring,弹性分组环)来组建的可以进行备份的网络连接,其同样存在着类似的技术问题。
发明内容
有鉴于此,本发明的主要目的是针对具备大量编码器的视频监控环网中的存储设备,由于并行连接数过多,容易发生故障的技术问题,提供一种视频监控环网中数据存储的方法及编码器。
为达到上述目的,本发明提供的技术方案如下:
一种视频监控环网中数据存储的方法,所述视频监控环网包括多个编码器,多个所述编码器与视频管理VM服务器相连接,所述VM服务器通过IP网络与存储设备相连接,包括以下步骤:
以多个所述编码器中的至少一个编码器为主编码器,以其余的为非主编码器;
所述主编码器与所述存储设备建立iSCSI会话连接,通过该iSCSI会话连接,将自身的视频流数据传输给所述存储设备;
每个所述非主编码器与所述主编码器建立iSCSI会话连接,将各自的视频流的数据传输给所述主编码器,所述视频流数据中携带分配给该视频流数据的逻辑单元号LUN;然后所述主编码器将多个所述非主编码器传输来的携带有LUN的视频流数据,通过该主编码器与所述存储设备建立的iSCSI会话连接传输给所述存储设备;
所述存储设备根据LUN将视频流数据存储在相应的存储空间。
优选的,以多个所述编码器中的至少一个编码器为主编码器,以其余的为非主编码器的步骤具体为:
所述编码器向所述VM服务器注册时,向所述VM服务器发送添加了优先级字段的注册消息;
所述VM服务器比较多个所述编码器的优先级,优先级最高的至少一个所述编码器为主编码器,其余的非主编码器。
优选的,每个所述非主编码器与所述主编码器建立iSCSI会话连接具体为:
VM服务器通过注册响应消息告知各编码器环网中的主编码器和非主编码器,每个所述非主编码器作为发起端与作为目标端的主编码器建立iSCSI会话连接。
优选的,所述主编码器将多个所述非主编码器传输来的携带有LUN的视频流数据,通过该主编码器与所述存储设备建立的iSCSI会话连接传输给所述存储设备,具体为:
所述主编码器直接将多个所述非主编码器传输来的视频流的数据重新封装,通过该主编码器与所述存储设备建立的iSCSI会话连接传输给所述存储设备。
优选的,该方法进一步包括,
以多个所述编码器中的一个编码器为备份编码器,该备份编码器与所述主编码器保持心跳连接,当所述主编码器发生宕机时,所述备份编码器接管所述主编码器上的IP地址。
优选的,所述环网为RRPP环网或者STP环网或者RPR环网。
一种编码器,应用在视频监控环网中,所述视频监控环网包括多个所述编码器,多个所述编码器与视频管理VM服务器相连接,所述VM服务器通过IP网络与存储设备相连接,每个所述编码器包括:
会话建立模块,用于多个所述编码器之间以及所述编码器与存储设备之间建立iSCSI会话连接;
数据传输模块,用于多个所述编码器之间以及所述编码器与存储设备之间的视频流数据传输;
其中,
作为主编码器时,所述编码器通过所述会话建立模块与所述存储设备以及非主编码器建立iSCSI会话连接,通过所述数据传输模块,将自身的视频流数据以及承载在所述主编码器与非主编码器ISCSI会话上的携带有LUN的视频流数据传输给所述存储设备;
作为非主编码器时,所述编码器通过所述会话建立模块与所述主编码器建立iSCSI会话连接,通过所述数据传输模块,将各自的视频流的数据传输给所述主编码器,所述视频流数据中携带分配给该视频流数据的逻辑单元号LUN。
优选的,所述编码器还包括:
字段添加模块,用于在所述编码器向所述VM服务器注册时,向所述VM服务器发送的注册消息中添加优先级字段,
注册响应消息接收模块,用于接收VM服务器返回注册响应消息,该响应消息包括环网中的主编码器和非主编码器信息,并将主和非主编码器信息通知会话建立模块。
优选的,所述编码器还包括:
会话建立模块还用于,当会话建立模块接收到环网主编码器和非主编码器的信息时,若自身作为非主编码器,会话建立模块发起与主编码器的iSCSI会话连接,当自身作为主编码器时,会话建立模块接收非主编码器的ISCSI会话连接。
优选的,所述编码器还包括:
备份模块,作为备份编码器的所述编码器,通过所述备份模块与作为主编码器的所述编码器保持心跳连接,当所述主编码器发生宕机时,所述备份编码器接管所述主编码器上的IP地址。
本发明的视频监控环网中数据存储的方法及编码器具有以下的有益效果:
本发明的视频监控环网中数据存储的方法,在环网中选出一台或者多台主编码器,再由所述主编码器与存储设备建立iSCSI会话连接,从而减少了存储设备上的iSCSI会话连接数量。由于iSCSI会话连接的数量较少,使存储设备的故障率大大降低,同时,每条iSCSI会话连接的串行处理方式也有效的提高了存储设备数据处理的效率。
附图说明
图1是现有技术中的RRPP环网的编码器组网情况的示意图;
图2是本发明的视频监控环网中数据存储的方法在RRPP环网中的一种具体实施方式的编码器组网情况的示意图;
图3是适用本发明的视频监控环网中数据存储的方法的一种编码器的具体实施方式的模块组件结构示意图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明的目的是:一个环形组网上的编码器设备只与存储设备建立一个或者少数的几个因特网小型计算机系统接口iSCSI会话连接,依靠此一个或者少数的几个iSCSI会话连接来传输环上所有的编码器的视频监控的存储数据,从而可以大大的减少存储设备上的iSCSI会话连接数量,降低存储设备的技术指标,使存储设备可以为更多的编码器提供存储服务。
一种视频监控环网,如图2所示,其包括,五个编码器(编码器201至编码器205),VM服务器(VM:video management),以及存储设备206。所述五个编码器与所述交换机207相连接,所述交换机207连接到VM服务器,再通过IP网络与所述存储设备206相连接,多个所述编码器视频流的数据通过iSCSI会话连接传输给所述存储设备206进行存储。
五个所述编码器包括一个主编码器(编码器201)和四个非主编码器(编码器202至编码器205);所述主编码器与所述存储设备建立iSCSI会话连接;每个所述非主编码器与所述主编码器建立iSCSI会话连接;每个所述非主编码器与所述主编码器之间的iSCSI会话连接,用来将四个所述非主编码器的视频流的数据,传输给所述主编码器;所述主编码器与所述存储设备206之间的iSCSI会话连接,用来将四个所述非主编码器传输过来的以及所述主编码器的视频流的数据,传输给所述存储设备206。
上述视频监控环网中数据存储的方法,如图2所示,该方法是通过在环形组网环上选举出一个主编码器,由该主编码器与存储设备206建立iSCSI会话连接,环上的多个非主编码器分别与该主编码器建立连接,并传输视频流的数据来实现发明目的。其具体包括以下步骤:
首先,在RRPP环上选择一个编码器为主编码器。具体的说,在编码器(编码器201至编码器205)向VM服务器注册时,在注册消息里添加优先级字段,该消息发送到所述VM服务器,由所述VM服务器比较属于同一个RRPP域中编码器的优先级,优先级最高的编码器则为主编码器;如果优先级都一样,则比较编码器的IP地址大小,IP地址最大的则为主编码器。优先级次优或者IP地址次大的则为备份编码器。在本实施例中,优先级最高的编码器201为主编码器,编码器202为备份编码器。在判断决定出主编码器和备份编码器后,VM通过注册响应消息告诉RRPP域中所有的编码器(编码器201至编码器205),环网中编码器201是主编码器,编码器202-编码器205是非主编码器。所述VM服务器207通过注册响应消息告诉编码器的消息还包括一IP地址,由主编码器(编码器201)负责利用该IP地址与存储设备206建立iSCSI会话连接。该IP地址一般采用虚IP地址。主编码器(编码器201)与备份编码器(编码器202)之间进行心跳保活,如果备份编码器(编码器202)监测到主编码器(编码器201)宕机,则接管主编码器(编码器201)上的IP地址,承担起主编码器的角色,其他的编码器依然通过上述IP地址传输视频流数据,网络流量不会中断,对实际的iSCSI会话以及存储业务均没有任何影响。
RRPP环上的非主编码器(除了编码器201以外的编码器)分别与所述主编码器(编码器201)建立ISCSI连接。当VM服务器发回的注册响应消息,编码器201至编码器205根据里面的填充字段来判断自身为主编码器还是非主编码器,并且还提取出该注册响应消息中的IP地址。经过判断自身为主编码器,即编码器201,则该主编码器在网络接口上应用此IP地址。而经过判断自身为非主编码器,即编码器202至编码器205,则所述非主编码器分别与所述主编码器(编码器201)的IP地址建立起iSCSI会话连接。所述主编码器(编码器201)作为Target端(目标端),而非主编码器(编码器202至编码器205)作为initiator端(发起端),建立iSCSI会话连接。
主编码器(编码器201)与存储设备建立iSCSI会话连接。具体的说,一方面,存储设备206为每个监控摄像头中工作的编码器分配存储资源,主编码器(编码器201)与存储设备206只建立起一个iSCSI会话连接,全部的编码器的视频流的数据都挂载在一个Target资源下,利用不同的逻辑单元号(LUN号)来区分不同的编码器的视频流的数据。另一方面,非主编码器(编码器202至编码器205)与主编码器(编码器201)之间建立起iSCSI连接后,主编码器(编码器201)作为存储虚拟化设备,自身不提供物理的存储资源,直接把非主编码器(编码器202至编码器205)发送过来的视频流的数据重新封装,在主编码器(编码器201)与存储设备206之间建立的iSCSI会话连接上传输。所述存储设备206同一时间仅仅处理上述一条iSCSI连接传输的数据,将视频流的数据存储起来,这种串行处理的方式可以提高该存储设备206数据存储处理效率。
其中,当非主编码器(编码器202至编码器205)作为Initiator端向作为主编码器(编码器201)的Target端发起iSCSI连接,非主编码器(编码器202至编码器205)分配给摄像头存储资源的LUN号为X。而作为initiator端的主编码器(编码器201)向存储设备发起iSCSI连接,请求写入实际的存储资源的LUN号也为X。主编码器(编码器201)与所述非主编码器(编码器202至编码器205)之间的iSCSI连接,主编码器(编码器201)与存储设备206之间的iSCSI连接,上述两个iSCSI连接中所传输的视频流的数据,均依靠LUN号是否相同来对应。
在另外的数据存储的方法的实施例中,也可以选取两个或者更多个编码器作为主编码器,例如以两个主编码器为例,在包括有50台编码器的RRPP环形网络中,可以选取第1和第50台编码器分别作为主编码器,而将其他编码器作为非主编码器。第1和第50台编码器,这两台主编码器分别与存储设备进行iSCSI会话连接,在整个RRPP环形网络中,只是设有这两条编码器与存储设备建立的iSCSI会话连接。对于非主编码器,其中一部分非主编码器分别与第1台主编码器建立iSCSI会话连接,而剩下的非主编码器分别与第50台主编码器建立iSCSI会话连接(可以为第2至第30台编码器分别与第1台编码器建立iSCSI会话连接,而第31至第49台编码器分别与第50台编码器建立iSCSI会话连接)。这样,与第1台编码器建立iSCSI会话连接的非主编码器以及第1台编码器,通过第1台编码器与存储设备进行iSCSI会话连接,将视频流的数据传输给所述存储设备;而与第50台编码器建立iSCSI会话连接的非主编码器以及第50台编码器,通过第50台编码器与与存储设备进行iSCSI会话连接,将视频流的数据传输视频流的数据。在这种具体实施方式中,存储设备是采用串行的处理方式分别进行存储上述两条iSCSI会话连接传输过来的视频流的数据,而只是并行的处理方式处理两条同时建立的iSCSI会话连接。少量的iSCSI会话连接使这种存储视频流的数据的方式的故障率大大降低,同时,每条iSCSI会话连接的串行处理方式也有效的提高了存储设备数据处理的效率。
图3显示了本发明的数据存储的方法适用的一种编码器的实施方式,该编码器包括:会话建立模块、数据传输模块、字段添加模块、注册响应消息接收模块、以及备份模块。本实施例的编码器应用在视频监控环网中,所述视频监控环网包括多个所述编码器,多个所述编码器与视频管理VM服务器相连接,所述VM服务器通过IP网络与存储设备相连接。
所述会话建立模块,用于多个所述编码器之间或者所述编码器与存储设备之间建立iSCSI会话连接;所述数据传输模块,用于多个所述编码器之间或者所述编码器与存储设备之间的视频流数据传输;所述字段添加模块,用于在所述编码器向所述VM服务器注册时,向所述VM服务器发送的注册消息中添加优先级字段。所述注册响应消息接收模块,用于接收VM服务器返回注册响应消息,该响应消息包括环网中的主编码器和非主编码器信息,并将主副编码器信息通知会话建立模块。
所述编码器可以作为主编码器,非主编码器,或者备份编码器。所述VM服务器比较多个所述编码器的优先级,优先级最高的一个所述编码器为主编码器,其余的非主编码器,并在非主编码器中的一个为备份编码器。VM服务器通过注册响应消息告知各编码器环网中的主编码器和非主编码器。
作为主编码器时,所述编码器通过所述会话建立模块与所述存储设备建立iSCSI会话连接,通过所述数据传输模块,将自身的视频流数据传输给所述存储设备;
作为非主编码器时,所述编码器通过所述会话建立模块与所述主编码器建立iSCSI会话连接,具体的说是,当会话建立模块接收到环网主副编码器(主编码器和非主编码器)的信息时,若自身作为非主编码器,会话建立模块发起与主编码器的iSCSI会话连接,当自身作为主编码器时,会话建立模块接收非主编码器的ISCSI会话连接;所述编码器通过所述数据传输模块,将各自的视频流的数据传输给所述主编码器,所述视频流数据中携带分配给该视频流数据的逻辑单元号LUN;作为主编码器的所述编码器通过所述数据传输模块,将作为非主编码器的所述编码器传输来的携带有LUN的视频流数据传输给所述存储设备,所述存储设备根据LUN将视频流数据存储在相应的存储空间。
作为备份编码器时,所述编码器通过所述备份模块与作为主编码器的所述编码器保持心跳连接,当所述主编码器发生宕机时,VM服务器将原主编码器的IP分配给备份编码器,所述备份编码器接管所述主编码器上的IP地址,承担起原来的所述主编码器的作用。
本发明的数据存储的方法适用于常见的视频监控的环网网络,例如STP、RPR等。在STP和RPR环网中,减少存储设备的iSCSI会话连接数量的数据存储的方法,其处理细节与RRPP环网中完全一致,因为STP、RPR和RRPP都是二层协议,而承载在TCP上的iSCSI协议是三层协议,其对二层的网络拓扑变换不感知,不受二层的网络拓扑变换的影响。所以,本发明的实施例1中的方法,同样可适用由于STP和RPR等环网中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。