码流获取方法、装置及系统与流程

文档序号:18940330发布日期:2019-10-23 01:06阅读:436来源:国知局
码流获取方法、装置及系统与流程
本发明涉及视频监控
技术领域
,特别涉及一种码流获取方法、装置及系统。
背景技术
:视频监测系统是安保系统中重要组成部分,能够实现对多个区域的实时监控。该视频监测系统可以包括:管理节点、工作节点和视频监测节点,该视频监测节点是指前端摄像头或网络摄像机等具有视频监控功能的设备。该管理节点可以向工作节点下发取流任务,该取流任务用于指示该工作节点从视频监测节点中获取视频流,该视频流是视频监测节点将采集到的视频数据进行编码得到的。通常情况下,为了避免由于断网或断电等引起的工作节点的通信连接异常所造成的数据丢失,需要设置备用工作节点,该备用工作节点也需要从视频监测节点中获取视频流,此时,工作节点与备用工作节点中均存储了相同的视频流,因此,目前的视频监测系统中通常会存储大量的相同的冗余数据,并且,备用工作节点会额外的增加网络开销。技术实现要素:本申请提供了一种码流获取方法、装置及系统,可以解决现有的备用工作节点会额外的增加网络开销问题。所述技术方案如下:第一方面,提供了一种码流获取方法,应用于视频监测系统中的第一工作节点,所述视频监测系统包括:管理节点、多个工作节点和至少一个视频监测节点组,所述多个工作节点包括所述第一工作节点,所述方法包括:在确定所述第一工作节点为备节点,且确定所述第一工作节点对应的目标主节点后,与所述目标主节点需要获取视频流的目标视频监测节点组建立通信连接;监测所述目标主节点;当在第一监测时长内监测到所述目标主节点出现故障时,通过所述通信连接从所述目标视频监测节点组获取视频流,所述第一监测时长小于所述管理节点用于监测所述目标主节点是否出现故障的第二监测时长。可选的,在所述通过所述通信连接从所述目标视频监测节点组获取视频流之后,所述方法还包括:当在监测到所述目标主节点出现故障后的预设时长内未接收到所述管理节点发送的切换指令时,停止通过所述通信连接从所述目标视频监测节点组获取视频流,所述预设时长大于或等于所述第二监测时长与所述第一监测时长的时长差,所述切换指令为所述管理节点在所述第二监测时长内监测到所述目标主节点出现故障后生成的,用于指示所述第一工作节点代替所述目标主节点获取视频流;当在监测到所述目标主节点出现故障后的预设时长内接收到所述管理节点发送的切换指令时,保持通过所述通信连接从所述目标视频监测节点组获取视频流。可选的,在所述与所述目标主节点需要获取视频流的目标视频监测节点组建立通信连接之前,所述方法还包括:接收所述管理节点发送的指示信息,所述指示信息用于标识所述视频监测系统中的主节点、备节点以及视频监测节点组的对应关系;基于所述指示信息确定所述第一工作节点为备节点,且确定所述第一工作节点对应的目标主节点。可选的,所述多个工作节点依次首尾连接形成通信闭环,所述指示信息包括链表和对应关系表,所述链表记录有所述通信闭环上的每个工作节点的标识以及排布顺序,所述对应关系表记录有主工作节点的标识与视频监测节点组的对应关系,所述基于所述指示信息确定所述第一工作节点为备节点,且确定所述第一工作节点对应的目标主节点,包括:基于所述第一工作节点的标识查询所述链表中的第二工作节点的标识,所述第二工作节点为与所述第一工作节点相邻且位于所述第一工作节点的指定位置的工作节点,所述指定位置为所述第一工作节点之前或之后的位置;基于所述第二工作节点的标识查询所述对应关系表;当所述对应关系表中记录有所述第二工作节点的标识时,确定所述第二工作节点为所述目标主节点,且所述第一工作节点为备节点。可选的,在所述与所述目标主节点需要获取视频流的目标视频监测节点组建立通信连接之前,所述方法还包括:在所述对应关系表中查询所述第二工作节点的标识所对应的视频监测节点组以得到所述目标视频监测节点组。可选的,所述方法还包括:在监测到所述目标主节点出现故障后的预设时长内继续监测所述目标主节点;所述当在监测到所述目标主节点出现故障后的预设时长内未接收到所述管理节点发送的切换指令时,停止通过所述通信连接从所述目标视频监测节点组获取视频流,包括:当在监测到所述目标主节点出现故障后的预设时长内未接收到所述管理节点发送的切换指令,且所述预设时长内监测到所述目标主节点恢复正常时,停止通过所述通信连接从所述目标视频监测节点组获取视频流;所述当在监测到所述目标主节点出现故障后的预设时长内接收到所述管理节点发送的切换指令时,保持通过所述通信连接从所述目标视频监测节点组获取视频流,包括:当在监测到所述目标主节点出现故障后的预设时长内接收到所述管理节点发送的切换指令,且所述预设时长内监测到所述目标主节点仍然故障时,保持通过所述通信连接从所述目标视频监测节点组获取视频流。可选的,所述方法还包括:在第一监测时长内监测到所述目标主节点出现故障后,与第三工作节点建立通信连接,以形成新的通信闭环,所述第三工作节点为与所述第二工作节点相邻且位于所述第二工作节点的指定位置的工作节点;基于所述第三工作节点的标识查询所述对应关系表;当所述对应关系表中记录有所述第三工作节点的标识时,确定所述第三工作节点为所述第一工作节点的新的目标主节点,且所述第一工作节点为备节点。可选的,所述第一监测时长小于预设的允许视频数据丢失的门限时长,所述第二监测时长大于预设的网络波动时长,所述预设的网络波动时长大于所述预设的允许视频数据丢失的门限时长。第二方面,提供了一种码流获取装置,应用于视频监测系统中的第一工作节点,所述视频监测系统包括:管理节点、多个工作节点和至少一个视频监测节点组,所述多个工作节点包括所述第一工作节点,所述装置包括:第一通信连接建立模块,用于在确定所述第一工作节点为备节点,且确定所述第一工作节点对应的目标主节点后,与所述目标主节点需要获取视频流的目标视频监测节点组建立通信连接;第一监测模块,用于监测所述目标主节点;第一获取模块,用于当在第一监测时长内监测到所述目标主节点出现故障时,通过所述通信连接从所述目标视频监测节点组获取视频流,所述第一监测时长小于所述管理节点用于监测所述目标主节点是否出现故障的第二监测时长。可选的,所述装置还包括:停止获取模块,用于当在监测到所述目标主节点出现故障后的预设时长内未接收到所述管理节点发送的切换指令时,停止通过所述通信连接从所述目标视频监测节点组获取视频流,所述预设时长大于或等于所述第二监测时长与所述第一监测时长的时长差,所述切换指令为所述管理节点在所述第二监测时长内监测到所述目标主节点出现故障后生成的,用于指示所述第一工作节点代替所述目标主节点获取视频流;第二获取模块,用于当在监测到所述目标主节点出现故障后的预设时长内接收到所述管理节点发送的切换指令时,保持通过所述通信连接从所述目标视频监测节点组获取视频流。可选的,所述装置还包括:接收模块,用于接收所述管理节点发送的指示信息,所述指示信息用于标识所述视频监测系统中的主节点、备节点以及视频监测节点组的对应关系;第一确定模块,用于基于所述指示信息确定所述第一工作节点为备节点,且确定所述第一工作节点对应的目标主节点。可选的,所述多个工作节点依次首尾连接形成通信闭环,所述指示信息包括链表和对应关系表,所述链表记录有所述通信闭环上的每个工作节点的标识以及排布顺序,所述对应关系表记录有主工作节点的标识与视频监测节点组的对应关系,所述第一确定模块,还用于:基于所述第一工作节点的标识查询所述链表中的第二工作节点的标识,所述第二工作节点为与所述第一工作节点相邻且位于所述第一工作节点的指定位置的工作节点,所述指定位置为所述第一工作节点之前或之后的位置;基于所述第二工作节点的标识查询所述对应关系表;当所述对应关系表中记录有所述第二工作节点的标识时,确定所述第二工作节点为所述目标主节点,且所述第一工作节点为备节点。可选的,所述装置还包括:第一查询模块,用于在所述对应关系表中查询所述第二工作节点的标识所对应的视频监测节点组以得到所述目标视频监测节点组。可选的,所述装置还包括:第二监测模块,用于在监测到所述目标主节点出现故障后的预设时长内继续监测所述目标主节点;所述停止获取模块,还用于:当在监测到所述目标主节点出现故障后的预设时长内未接收到所述管理节点发送的切换指令,且所述预设时长内监测到所述目标主节点恢复正常时,停止通过所述通信连接从所述目标视频监测节点组获取视频流;所述第二获取模块,还用于:当在监测到所述目标主节点出现故障后的预设时长内接收到所述管理节点发送的切换指令,且所述预设时长内监测到所述目标主节点仍然故障时,保持通过所述通信连接从所述目标视频监测节点组获取视频流。可选的,所述装置还包括:第二通信连接建立模块,在第一监测时长内监测到所述目标主节点出现故障后,与第三工作节点建立通信连接,以形成新的通信闭环,所述第三工作节点为与所述第二工作节点相邻且位于所述第二工作节点的指定位置的工作节点;第二查询模块,用于基于所述第三工作节点的标识查询所述对应关系表;第二确定模块,用于当所述对应关系表中记录有所述第三工作节点的标识时,确定所述第三工作节点为所述第一工作节点的新的目标主节点,且所述第一工作节点为备节点。可选的,所述第一监测时长小于预设的允许视频数据丢失的门限时长,所述第二监测时长大于预设的网络波动时长,所述预设的网络波动时长大于所述预设的允许视频数据丢失的门限时长。第三方面,提供了一种视频监测系统,包括:管理节点、多个工作节点和至少一个视频监测节点组,所述多个工作节点包括第一工作节点,所述第一工作节点包括权利要求第一方面所述的码流获取装置。可选的,所述管理节点用于向每个工作节点发送指示信息,所述指示信息用于标识所述视频监测系统中的主节点、备节点以及视频监测节点组的对应关系;所述管理节点还用于在所述第二监测时长内监测到所述目标主节点出现故障后,生成切换指令,所述切换指令用于指示所述第一工作节点代替所述目标主节点获取视频流。本发明实施例提供的技术方案带来的有益效果是:本发明实施例提供的码流获取方法、装置及系统,在第一工作节点确定其为备节点,且确定第一工作节点对应的目标主节点后,第一工作节点与该目标主节点需要获取视频流的目标视频监测节点组建立通信连接,该第一工作节点在监测出目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流,有效的避免了视频监测系统中会存储大量的相同的冗余数据,且避免了备节点增加额外的网络开销。并且,由于第一工作节点用于监测目标主节点是否出现故障的第一监测时长较小,管理节点用于监测目标主节点是否出现故障的第二监测时长较大,因此有效避免了视频监测系统出现视频数据丢失的现象,同时能够提高视频监测系统的稳定性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种码流获取方法所涉及的视频监测系统的结构示意图;图2是本发明实施例提供的一种码流获取方法的流程图;图3是本发明实施例提供的另一种码流获取方法的流程图;图4a是本发明实施例提供的一种视频监测系统的结构示意图;图4b是本发明实施例提供的一种除故障的目标主节点之外的工作节点的连接关系示意图;图5是本发明实施例提供的另一种视频监测系统的结构示意图;图6是本发明实施例提供的另一种除故障的目标主节点之外的工作节点的连接关系示意图;图7a是本发明实施例提供的一种码流获取装置的框图;图7b是本发明实施例提供的另一种码流获取装置的框图;图7c是本发明实施例提供的又一种码流获取装置的框图;图7d是本发明实施例提供的再一种码流获取装置的框图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。请参考图1,图1是本发明实施例提供的一种码流获取方法所涉及的视频监测系统的结构示意图,该视频监测系统10可以包括:管理节点101、多个工作节点102和至少一个视频监测节点组103。该管理节点101可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。工作节点102可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。视频监测节点组103是由至少一个监测摄像机组成的摄像机集合,每个监控摄像机可以获取视频信息,并将获取的视频信息进行编码得到视频流,每个监控摄像机可以将编码得到的视频流发送给一个工作节点。管理节点101与每个工作节点102建立有通信连接,工作节点102与需要获取视频流的视频监控节点组103建立通信连接。需要说明的是,本发明实施例中所谓的通信连接,可以是通过有线网络或者无线网络建立的通信连接。本发明实施例提供了一种码流获取方法,请参考图2,图2是本发明实施例提供的一种码流获取方法的流程图,该方法应用于视频监测系统中的第一工作节点,该视频监测系统可以为图1示出的视频监测系统,该第一工作节点为多个工作节点102中的一个工作节点,该方法可以包括:步骤201、在确定第一工作节点为备节点,且确定第一工作节点对应的目标主节点后,与目标主节点需要获取视频流的目标视频监测节点组建立通信连接。步骤202、监测目标主节点。步骤203、当在第一监测时长内监测到目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流。该第一监测时长小于管理节点用于监测目标主节点是否出现故障的第二监测时长。综上所述,本发明实施例提供的码流获取方法,在第一工作节点确定其为备节点,且确定第一工作节点对应的目标主节点后,第一工作节点与该目标主节点需要获取视频流的目标视频监测节点组建立通信连接,该第一工作节点在监测出目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流,有效的避免了视频监测系统中会存储大量的相同的冗余数据,且避免了备节点增加额外的网络开销。在本发明实施例中,管理节点可以管理每个工作节点,使得每个工作节点作为视频监测系统中的主节点和/或备节点,其中,该主节点用于从对应的视频监控节点组获取视频流。当一个工作节点作为视频监测系统中的主节点时,该视频监测系统中还存在另一个工作节点作为与该主节点对应的备节点,该备节点能够在监测到对应的主节点出现故障时,从该主节点对应的视频监测节点组获取视频数据。示例的,当第一工作节点被管理节点确定为备节点时,在该第一工作节点确定该第一工作节点对应的目标主节点后,第一工作节点需要与目标主节点建立通信连接,且需要与目标主节点对应的目标视频监测节点组建立通信连接,例如,该第一工作节点可以向该目标视频监测节点组发送通信连接建立请求,在该第一工作节点接收到该目标视频监测节点组发送的通信连接建立响应后,该第一工作节点即可实现与该目标视频监测节点组之间建立通信连接。若第一工作节点在监测到目标主节点出现故障时,第一工作节点能够通过通信连接直接从目标视频监测节点组获取视频流。通常情况下,第一工作节点与管理节点均能够监测出目标主节点是否出现故障,第一工作节点需要第一监测时长确定出目标主节点出现故障,管理节点需要第二监测时长确定出目标主节点出现故障。在相关技术中,当管理节点监测到目标主节点出现故障时,管理节点可以控制其他的工作节点从与该目标主节点对应的目标监测视频节点组获取视频流,若第二监测时长较小,目标主节点可能由于网络波动出现暂时性故障,此时,目标主节点并不是真正的发生了故障,当目标主节点恢复正常时,管理节点又需要控制目标主节点从目标监测视频节点组获取视频流,导致管理节点需要反复的管理工作节点,进而导致视频监系统的稳定性较差;若第二监测时长较大,管理节点需要较长的时间才能感知到目标主节点出现故障,此时,视频监测系统可能会出现视频数据丢失的现象。而在本发明实施例中,第一监测时长通常需要小于预设的允许视频数据丢失的门限时长,第二监测时长通常需要大于预设的网络波动时长,该预设的网络波动时长远大于预设的允许视频数据丢失的门限时长,通常情况下,该预设的网络波动时长为秒级别的时长,该预设的允许视频数据丢失的门限时长为毫秒级别的时长,例如,第一监测时长需要小于50毫秒,第二监测时长需要大于5秒。当在第一监测时长内监测到目标主节点出现故障时,第一工作节点能够通过通信连接从目标视频监测节点组获取视频流,有效的避免了视频监测系统出现视频数据丢失的现象,并且避免了目标主节点可能由于网络波动出现暂时性故障后,管理节点反复对工作节点进行管理的现象,进而提高了视频监测系统的稳定性。本发明实施例中,视频监测系统中管理节点管理多个工作节点,本发明实施例以第一工作节点为例进行说明,其他工作节点的工作流程可以参考该第一工作节点,请参考图3,图3是本发明实施例提供的另一种码流获取方法的流程图,可以应用于图1示出的视频监测系统,如图3所示,该方法可以包括:步骤301、管理节点向管理的多个工作节点发送指示信息。在本发明实施例中,管理节点可以向其管理的所有工作节点以广播或组播的形式发送指示信息,使得每个工作节点均能够接收到指示信息,该指示信息用于标识视频监测系统中的主节点、备节点以及视频监测节点组的对应关系。由于每个工作节点都可以被管理节点确定为主节点和/或备节点,因此,该视频监测系统中的一部分(或全部)工作节点可以作为主节点,并能够从对应的视频监测节点组获取视频流,该视频监测系统中每个主节点均对应有一个备节点,该备节点能够在监测到主节点出现故障后,从该主节点对应的视频监测节点组获取视频流。以下实施例是以第一工作节点被管理节点确定为备节点,目标主节点被管理节点确定为与第一工作节点对应的主节点为例进行示意性说明的。步骤302、第一工作节点基于指示信息确定该第一工作节点为备节点,且确定该第一工作节点对应的目标主节点。实际应用中,第一工作节点在基于指示信息确定该第一工作节点为备节点,且确定该第一工作节点对应的目标主节点后,为了便于后续第一工作节点能够监测目标主节点,需要保证第一工作节点与目标主节点之间建立通信连接。在本发明实施例中,在管理节点发送指示信息之前,若视频监测系统中的各个工作节点未预先建立通信连接,每个工作节点在接收到管理节点发送的指示信息后,基于该指示信息与其他的工作节点建立通信连接,从而保证了第一工作节点与目标主节点之间建立了通信连接;若视频监测系统中的各个工作节点按照预设的顺序预先建立通信连接,管理节点向每个工作节点发送的指示信息中主节点与备节点的对应关系是根据该预设的顺序确定的,从而保证第一工作节点与目标主节点分别为多个工作节点中建立有通信连接的两个工作节点。视频监测系统中的各个工作节点按照是否预先建立有通信连接,其所执行的码流获取方法不同,本发明实施例以以下两种可实现方式为例进行示意性说明:在第一种可实现方式中,若各个工作节点未预先建立通信连接,请参考图4a,图4a是本发明实施例提供的一种视频监测系统的结构示意图,该视频监测系统中的多个工作节点可以包括:工作节点a1、工作节点b1和工作节点c1,在管理节点o向每个工作节点发送的指示信息之前,工作节点a1、工作节点b1和工作节点c1之间均未建立通信连接。在管理节点o向每个工作节点发送的指示信息之后,工作节点a1、工作节点b1和工作节点c1之间可以基于该指示信息建立通信连接,例如,该指示信息记录的主节点、备节点以及视频监测节点组的对应关系为:工作节点a1为主节点,工作节点a1与视频监测节点组a对应,工作节点a1对应的备节点为工作节点b1;工作节点b1为主节点,工作节点b1与视频监测节点组b对应,工作节点b1对应的备节点为工作节点c1。此时,工作节点a1与工作节点b1之间建立通信连接,工作节点b1与工作节点c1之间建立通信连接。实际应用中,管理节点发送的指示信息中的主节点、备节点以及视频监测节点组的对应关系记录在对应关系列表中,每个工作节点在接收到指示信息后,需要查询对应关系列表,从而可以确定出其为主节点还是备节点。在第二种可实现方式中,若各个工作节点预先建立通信连接,如图5所示,图5是本发明实施例提供的另一种视频监测系统的结构示意图,该视频监测系统中的多个工作节点依次首尾连接形成通信闭环,此时,管理节点o发送的指示信息可以包括链表和对应关系表。该链表记录有通信闭环上的每个工作节点的标识以及排布顺序,例如,该链表记录的工作节点标识为:工作节点a2、工作节点b2、工作节点c2和工作节点d2,该链表记录的工作节点的排布顺序为:工作节点a2、工作节点b2、工作节点c2、工作节点d2和工作节点a2依次循环排序。该对应关系表记录有主工作节点的标识与视频监测节点组的对应关系,例如,假设工作节点a2、工作节点b2和工作节点c2为主工作节点,该主工作节点的标识与视频监测节点组的对应关系可以参考表1。表1工作节点a2视频监测节点组a工作节点b2视频监测节点组b工作节点c2视频监测节点组c根据表1可知,工作节点a2与视频监测节点组a对应,该工作节点a2能够从视频监控节点组a获取视频流;工作节点b2与视频监测节点组b对应,该工作节点b2能够从视频监控节点组b获取视频流;工作节点c2与视频监测节点组c对应,该工作节点c2能够从视频监控节点组c获取视频流。对于第二种可实现方式中,上述步骤302可以包括如下几个子步骤:子步骤3021、第一工作节点基于第一工作节点的标识查询链表中的第二工作节点的标识。该第二工作节点为与第一工作节点相邻且位于第一工作节点的指定位置的工作节点,该指定位置为第一工作节点之前或之后的位置。例如,如图5所示,假设第一工作节点为工作节点b2,工作节点b2在接收到管理节点发送的指示信息后,该工作节点b2基于指示信息中的链表查询与该工作节点b2相邻的工作节点为:工作节点a2或工作节点c2。若指定位置为第一工作节点之前的位置,该工作节点b2可以确定出工作节点a2为第二工作节点;若指定位置为第一工作节点之后的位置,该工作节点b2可以确定出工作节点c2为第二工作节点。子步骤3022、第一工作节点基于第二工作节点的标识查询对应关系表。示例的,基于第二工作节点的标识查询对应关系表,当对应关系列表中存在第二工作节点的标识时,执行子步骤3022;当对应关系列表中不存在第二工作节点的标识时,结束动作。子步骤3023、当对应关系表中记录有第二工作节点的标识时,第一工作节点确定第二工作节点为目标主节点,且第一工作节点为备节点。例如,假设在子步骤3021中第一工作节点查询得到的第二工作节点为工作节点a2,对应关系列表(例如表1)中记录有第二工作节点的工作标识,此时,可以确定出工作节点a2为目标主节点,工作节点b1为备节点。需要说明的是,视频监测系统中的每个工作节点均可以作为主节点和/或备节点,例如,如图5所示,假设工作节点a2、工作节点b2和工作节点c2为主节点,工作节点b2为工作节点a2的备节点,工作节点c2为工作节点b2的备节点,工作节点d2为工作节点c2的备节点,该工作节点b2和工作节点c2既可以作为主节点也可以作为备节点,工作节点d2只作为备节点,工作节点a2只作为主节点。还需要说明的是,由于第二种可实现方式中视频监测系统中的各个工作节点预先建立通信连接,在每个工作节点接收到管理节点发送的指示信息后,主节点无需再与对应的备节点建立通信连接,因此第二种可实现方式中的视频监测系统相对于第一种可实现方式中的视频监测系统的响应速度较快。步骤303、第一工作节点与目标主节点需要获取视频流的目标视频监测节点组建立通信连接。对于上述第一种可实现方式,如图4a所示,在执行完上述步骤302后,工作节点b1需要与视频监测节点组a建立通信连接,工作节点c1需要与视频监测节点组b建立通信连接。对于上述第二种可实现方式,如图5所示,执行完上述步骤302后,第一工作节点若确定出其为备工作节点,且与该备工作节点对应的目标主节点为第二工作节点,第一工作节点还需要在对应的关系列表中查询第二工作节点的标识所对应的视频监测节点组,该查询得到的视频监测节点组即为与目标主节点需要获取视频流的目标视频监测节点组,此时,第一工作节点可以与视频监测节点组建立通信连接,进而便于后续在监测到目标主节点故障时,能够直接从目标监测节点组获取视频流。例如,如图5所示,当第一工作节点为工作节点b2,第二工作节点为工作节点a2时,工作节点b2查询表1可以得到:工作节点a2与视频监测节点组a对应,此时,该工作节点b2需要与视频监测节点组a建立通信连接,同理可以得到:当第一工作节点为工作节点c2,第二工作节点为工作节点b2时,工作节点c2需要与视频监测节点组b建立通信连接;当第一工作节点为工作节点d2,第二工作节点为工作节点c2时,工作节点d2需要与视频监测节点组c建立通信连接。步骤304、第一工作节点监测目标主节点。实际应用中,第一工作节点与目标主节点之间建立有通信连接,该第一工作节点能够监测目标主节点是否出现故障,当第一工作节点监测到目标主节点出现故障时,执行步骤305;当第一工作节点监测到目标主节点未出现故障时,重复执行步骤304。示例的,第一工作节点能够周期性的向目标主节点发送心跳包,目标主节点在接收到第一工作节点发送的心跳包后,能够基于该心跳包生成心跳反馈包,并将该心跳反馈包发送给第一工作节点,该心跳反馈包用于向第一工作节点指示目标主节点的通信连接正常。若第一工作节点在第一监测时长内未接收到目标主节点发送的心跳反馈包,第一工作节点确定目标主节点出现故障,执行步骤305;若第一工作节点在第一监测时长内接收到目标主节点发送的心跳反馈包后,第一工作节点确定目标主节点未出现故障,重复执行步骤304。步骤305、当第一工作节点在第一监测时长内监测到目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流。在本发明实施例中,在执行完步骤303后,第一工作节点已经与目标监测节点组建立了通信连接,第一工作节点在第一监测时长内监测到目标主节点出现故障后,第一工作节点可以通过通信连接从目标监测节点组获取视频流。需要说明的是,第一工作节点与目标视频监测节点组建立通信连接后,第一工作节点还需要预留剩余中央处理器(英文:centralprocessingunit;简称:cpu)核数和剩余内存,使得在第一工作节点监测到目标主节点出现故障后,第一工作节点能够从目标视频监测节点组获取视频流。需要说明的是,在步骤303中,在第一工作节点与目标视频监测节点组建立通信连接后,第一工作节点与目标视频监测节点组之间并没有数据交换,在第一工作节点监测到目标主节点出现故障后,第一工作节点与目标视频监测节点组之间存在数据交换,从而有效的避免了视频监测系统中会存储大量的相同的冗余数据,且避免了备节点增加额外的网络开销。实际应用中,若该目标主节点既是与第一工作节点对应的主节点,又是与另一个主节点对应的备节点,在该目标主节点出现故障后,没有备节点监测该另一个主节点,进而可能会导致视频监测系统中的视频数据丢失。为了避免视频监测系统中的视频数据丢失,对于第一种可实现方式,在第一工作节点监测到目标主节点故障后,第一工作节点还要向管理节点发送用于指示目标主节点故障的指令,在管理节点确定该目标节点为另一个主节点的备节点后,向第一工作节点发送用于指示将其作为与另一个主节点的对应的备节点指令,此时,该第一工作节点与另一个主节点建立通信连接,且与该另一个主节点对应的视频监测节点组建立通信连接。例如,如图4a所示,假设第一工作节点为工作节点c1,目标主节点为工作节点b1,在工作节点c1监测到工作节点b1出现故障后,该工作节点c1需要向管理节点o发送用于指示工作节点b1出现故障的指令,在管理节点o确定该工作节点b1为工作节点a1的备节点后,该管理节点o向工作节点c1发送用于指示工作节点c1作为工作节点a1的备节点指令,此时,如图4b所示,工作节点c1与工作节点a1建立通信连接,且与视频监测节点组a建立通信连接。对于上述第二种可实现方式,第一工作节点在第一监测时长内监测到目标主节点出现故障后,还需要与第三工作节点建立通信连接,以形成新的通信闭环,该第三工作节点为与第二工作节点(也即是目标主节点)相邻且位于第二工作节点的指定位置的工作节点;第一工作节点基于第三工作节点的标识查询对应关系表;当对应关系表中记录有第三工作节点的标识时,第一工作节点确定该第三工作节点为所述第一工作节点的新的目标主节点,且第一工作节点为备节点。例如,如图5所述,假设第一工作节点为工作节点c2,第二工作节点为工作节点b2,当工作节点c2监测到工作节点b2出现故障时,该工作节点c2能够从视频监测节点组b获取视频流,工作节点c2还需要与工作节点a2建立通信连接,从而可以形成新的通信闭环,例如,该新的通信闭环可以参考图6,该工作节点a2即为第三工作节点,对应关系表中记录了工作节点a2与视频监测节点组a对应,此时,工作节点c2确定工作节点a2为新的目标主节点,且确定出其为与工作节点c2对应的备节点。在第二种可实现方式中,在目标主节点出现故障后,第一工作节点无需向管理节点上报,可以直接监测目标主节点作为备节点时对应的主节点,因此有效的简化了工作节点与管理节点之间的交互过程,进一步的提高了视频监测系统的响应速度。步骤306、第一工作节点在监测到目标主节点出现故障后判断预设时长内是否接收到管理节点发送的切换指令。示例的,当第一工作节点在监测到目标主节点出现故障后的预设时长内未接收到管理节点发送的切换指令时,执行步骤307;当第一工作节点在监测到目标主节点出现故障后的预设时长内接收到管理节点发送的切换指令时,执行步骤308。在本发明实施例中,视频监测系统中的管理节点能够监测其管理的工作节点是否出现故障,因此管理节点能够监测目标主节点是否出现故障,在管理节点监测到目标主节点出现故障后,该管理节点可以向第一工作节点发送切换指令。通常情况下,第一监测时长需要小于管理节点用于监测目标主节点是否出现故障的第二监测时长,使得视频监测系统的稳定性较高。在本发明实施例中,该预设时长大于或等于第二监测时长与第一监测时长的时间差,该切换指令为管理节点在第二监测时长内监测到目标主节点出现故障后生成的,该切换指令用于指示第一工作节点代替目标主节点从目标监测节点组获取视频流。步骤307、当第一工作节点在监测到所述目标主节点出现故障后的预设时长内未接收到所述管理节点发送的切换指令时,停止通过所述通信连接从所述目标视频监测节点组获取视频流。在本发明实施例中,目标主节点可能是由于网络波动出现暂时性故障,由于第一工作节点监测目标主节点出现故障的第一监测时长小于管理节点监测目标主节点出现故障的第二监测时长,因此第一工作节点可以暂时性的从目标监测节点组获取视频流,在目标主节点恢复正常后,目标主节点又能够从目标监测节点组获取视频流,此时,管理节点可能不会监测到目标主节点出现故障,进而不会生成切换指令,第一工作节点也不会在预设时长内接收到管理节点发送的切换指令,第一工作节点停止从目标监测节点组获取视频流。由此可知,当第一监测时长小于第二监测时长时,可以避免由于目标主节点由于网络波动出现暂时性故障后,管理节点反复管理目标主节点的现象,进而有效提高了视频监测系统的稳定性。步骤308、当第一工作节点在监测到所述目标主节点出现故障后的预设时长内接收到所述管理节点发送的切换指令时,保持通过所述通信连接从所述目标视频监测节点组获取视频流。在本发明实施例中,在第一工作节点监测到目标主节点故障后,若管理节点也监测到了目标主节点故障,则管理节点会生成切换指令,并将该切换指令发送给第一工作节点,此时,第一工作节点会在预设时长内接收到管理节点发送的切换指令后,保持从目标视频监测节点组获取视频流。需要说明的是,本发明实施例是以第一工作节点在监测到目标主节点出现故障后的预设时长内是否接收到管理节点发送的切换指令,来确定是否需要采用第一工作节点代替目标主节点从目标监测节点组获取视频流的。实际应用中,为了提高视频监测系统中是否需要采用第一工作节点代替目标主节点的准确性,第一工作节点可以在监测到目标主节点出现故障后的预设时长内继续监测目标主节点,通常若第一工作节点在预设时长内重新接收到目标主节点发送的心跳反馈包后,第一工作节点可以确定出其在预设时长内恢复正常;若第一工作节点在预设时长内未接收到目标主节点发送的心跳反馈包后,第一工作节点可以确定出其在预设时长内仍然故障。通过判断在预设时长内监测目标主节点是否恢复正常,以及在判断在预设时长内是否接收到管理节点发送的切换指令,来确定是否需要采用第一工作节点代替主工作节点从目标监测节点组获取视频流,此时,存在以下四种情况:第一种情况,当第一工作节点在监测到目标主节点出现故障后的预设时长内未接收到管理节点发送的切换指令,且在预设时长内监测到目标主节点恢复正常时,第一工作节点停止通过通信连接从目标监测视频节点组获取视频流,此时,视频监测系统中第一工作节点无需代替主工作节点。第二种情况,当第一工作节点在监测到目标主节点出现故障后的预设时长内接收到管理节点发送的切换指令,且在预设时长内监测到目标主节点仍然故障时,第一工作节点保持通过通信连接从目标监测视频节点组获取视频流,此时,视频监测系统中第一工作节点需要代替主工作节点。第三种情况,当第一工作节点在监测到目标主节点出现故障后的预设时长内未接收到管理节点发送的切换指令,且在预设时长内监测到目标主节点仍然故障时,第一工作节点向管理节点发送告警信息,在接收到管理节点发送的用于指示停止进行视频流获取的停止指令后,停止通过通信连接从目标视频监测节点组获取视频流,此时,视频监测系统中第一工作节点无需代替主工作节点。第四种情况,当第一工作节点在监测到目标主节点出现故障后的预设时长内接收到管理节点发送的切换指令,且在预设时长内监测到目标主节点恢复正常时,第一工作节点保持通过通信连接从目标监测视频节点组获取视频流,此时,视频监测系统中第一工作节点需要代替主工作节点。实际应用中,管理节点还可以根据负载均衡算法周期性的重新管理视频监测系统中正常的工作节点,使得每个工作节点的负载(也即,剩余cpu核数以及剩余内存)大致相同,从而避免了在第一工作节点替代目标主节点从目标监测节点组获取视频流后,该第一工作节点的负载过大(也即,剩余cpu核数较小以及剩余内存较小),而其他的工作节点的负载较小,而降低了视频监测系统的稳定性的问题。需要说明的是,本发明实施例提供的码流获取的方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。综上所述,本发明实施例提供的码流获取方法,在第一工作节点确定其为备节点,且确定第一工作节点对应的目标主节点后,第一工作节点与该目标主节点需要获取视频流的目标视频监测节点组建立通信连接,该第一工作节点在监测出目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流,有效的避免了视频监测系统中会存储大量的相同的冗余数据,且避免了备节点增加额外的网络开销。并且,由于第一工作节点用于监测目标主节点是否出现故障的第一监测时长较小,管理节点用于监测目标主节点是否出现故障的第二监测时长较大,因此有效避免了视频监测系统出现视频数据丢失的现象,同时能够提高视频监测系统的稳定性。本发明实施例还提供了一种码流获取装置,应用于视频监测系统中的第一工作节点,该视频监测系统包括:管理节点、多个工作节点和至少一个视频监测节点组,多个工作节点包括第一工作节点,如图7a所示,图7a是本发明实施例提供的一种码流获取装置700的框图,该码流获取装置700可以包括:第一通信连接建立模块701,用于在确定第一工作节点为备节点,且确定第一工作节点对应的目标主节点后,与目标主节点需要获取视频流的目标视频监测节点组建立通信连接。第一监测模块702,用于监测目标主节点。第一获取模块703,用于当在第一监测时长内监测到目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流,第一监测时长小于管理节点用于监测目标主节点是否出现故障的第二监测时长。综上所述,本发明实施例提供的码流获取装置,在第一工作节点确定其为备节点,且确定第一工作节点对应的目标主节点后,第一工作节点与该目标主节点需要获取视频流的目标视频监测节点组建立通信连接,该第一工作节点在监测出目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流,有效的避免了视频监测系统中会存储大量的相同的冗余数据,且避免了备节点增加额外的网络开销。可选的,请参考图7b,图7b是本发明实施例提供的另一种码流获取装置700的框图,该码流获取装置700还可以包括:停止获取模块704,用于当在监测到目标主节点出现故障后的预设时长内未接收到管理节点发送的切换指令时,停止通过通信连接从目标视频监测节点组获取视频流,预设时长大于或等于第二监测时长与第一监测时长的时长差,切换指令为管理节点在第二监测时长内监测到目标主节点出现故障后生成的,用于指示第一工作节点代替目标主节点获取视频流。第二获取模块705,用于当在监测到目标主节点出现故障后的预设时长内接收到管理节点发送的切换指令时,保持通过通信连接从目标视频监测节点组获取视频流。可选的,请参考图7c,图7c是本发明实施例提供的又一种码流获取装置700的框图,该码流获取装置700还可以包括:接收模块706,用于接收管理节点发送的指示信息,指示信息用于标识视频监测系统中的主节点、备节点以及视频监测节点组的对应关系。第一确定模块707,用于基于指示信息确定第一工作节点为备节点,且确定第一工作节点对应的目标主节点。可选的,多个工作节点依次首尾连接形成通信闭环,指示信息包括链表和对应关系表,链表记录有通信闭环上的每个工作节点的标识以及排布顺序,对应关系表记录有主工作节点的标识与视频监测节点组的对应关系,如图7c所示,第一确定模块707,还用于:基于第一工作节点的标识查询链表中的第二工作节点的标识,第二工作节点为与第一工作节点相邻且位于第一工作节点的指定位置的工作节点,指定位置为第一工作节点之前或之后的位置;基于第二工作节点的标识查询对应关系表;当对应关系表中记录有第二工作节点的标识时,确定第二工作节点为目标主节点,且第一工作节点为备节点。可选的,如图7c所示,该码流获取装置700还可以包括:第一查询模块708,用于在对应关系表中查询第二工作节点的标识所对应的视频监测节点组以得到目标视频监测节点组。可选的,该码流获取装置还可以包括:第二监测模块,用于在监测到目标主节点出现故障后的预设时长内继续监测目标主节点。如图7b所示,停止获取模块704,还用于:当在监测到目标主节点出现故障后的预设时长内未接收到管理节点发送的切换指令,且预设时长内监测到目标主节点恢复正常时,停止通过通信连接从目标视频监测节点组获取视频流;第二获取模块705,还用于:当在监测到目标主节点出现故障后的预设时长内接收到管理节点发送的切换指令,且预设时长内监测到目标主节点仍然故障时,保持通过通信连接从目标视频监测节点组获取视频流。可选的,如图7d所示,图7d是本发明实施例提供的再一种码流获取装置700的框图,该码流获取装置700还可以包括:第二通信连接建立模块709,在第一监测时长内监测到目标主节点出现故障后,与第三工作节点建立通信连接,以形成新的通信闭环,第三工作节点为与第二工作节点相邻且位于第二工作节点的指定位置的工作节点。第二查询模块710,用于基于第三工作节点的标识查询对应关系表。第二确定模块711,用于当对应关系表中记录有第三工作节点的标识时,确定第三工作节点为第一工作节点的新的目标主节点,且第一工作节点为备节点。综上所述,本发明实施例提供的码流获取装置,在第一工作节点确定其为备节点,且确定第一工作节点对应的目标主节点后,第一工作节点与该目标主节点需要获取视频流的目标视频监测节点组建立通信连接,该第一工作节点在监测出目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流,有效的避免了视频监测系统中会存储大量的相同的冗余数据,且避免了备节点增加额外的网络开销。并且,由于第一工作节点用于监测目标主节点是否出现故障的第一监测时长较小,管理节点用于监测目标主节点是否出现故障的第二监测时长较大,因此有效避免了视频监测系统出现视频数据丢失的现象,同时能够提高视频监测系统的稳定性。本发明实施例还提供了一种视频监测系统,该视频监测系统可以包括:管理节点、多个工作节点和至少一个视频监测节点组,多个工作节点包括第一工作节点,该第一工作节点包括图7a至图7d任一所述的码流获取装置700。该视频监测系统可以为图1、图4a或图5示出的视频监测系统。可选的,管理节点用于向每个工作节点发送指示信息,指示信息用于标识视频监测系统中的主节点、备节点以及视频监测节点组的对应关系。管理节点还用于在第二监测时长内监测到目标主节点出现故障后,生成切换指令,切换指令用于指示第一工作节点代替目标主节点获取视频流。综上所述,本发明实施例提供的码流获取系统,在第一工作节点确定其为备节点,且确定第一工作节点对应的目标主节点后,第一工作节点与该目标主节点需要获取视频流的目标视频监测节点组建立通信连接,该第一工作节点在监测出目标主节点出现故障时,通过通信连接从目标视频监测节点组获取视频流,有效的避免了视频监测系统中会存储大量的相同的冗余数据,且避免了备节点增加额外的网络开销。并且,由于第一工作节点用于监测目标主节点是否出现故障的第一监测时长较小,管理节点用于监测目标主节点是否出现故障的第二监测时长较大,因此有效避免了视频监测系统出现视频数据丢失的现象,同时能够提高视频监测系统的稳定性。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本发明实施例还提供了一种计算机设备,包括处理器和存储器,其中,存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现图2或图3示出的码流获取方法。本发明实施例还提供了一种存储介质,该存储介质存储有计算机程序,当该存储介质中的程序由处理器执行时,能够执行图2或图3示出的码流获取方法。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1