视频掉线重连系统和方法

文档序号:8343120阅读:1629来源:国知局
视频掉线重连系统和方法
【技术领域】
[0001]本发明涉及视频监控领域,尤其涉及一种可以全面高效地实现视频掉线重连的方法。
【背景技术】
[0002]随着社会的发展,人们对安全防范的要求日益提高,视频监控已成为最重要的安防手段之一。随着监控设备的日益增加和监控系统的逐渐扩大,通信网络的稳定性是整个监控系统得以正常运行的重要保障。然而,既然涉及到通信网络,则必然存在网络掉线的问题,特别是近年来随着通信网络类型的多样性发展,尤其是无线通信技术的迅速普及,其稳定性尚无法达到传统有线通信的水平。因此,如何在通信网络出现问题时,即监控设备掉线后,通过在视频监控系统中提供全面高效的重连机制,使得在网络恢复正常时视频监控功能也能自动恢复正常,从而提高监控系统的异常恢复能力和用户体验,已成为一个亟须解决的问题。
[0003]对于上述监控设备掉线问题,虽然大部分视频监控厂商在其视频开发SDK(Software Development Kit软件开发工具包)中提供了一种检测网络异常情况并进行自动重连的功能,但此类做法仅限于当正在预览的视频监控设备检测到网络掉线后,进行的周期性重连操作,直到网络恢复正常。对于进行视频预览操作之前就已经发生断网的情况,尚没有较好的解决方案能够在网络恢复后得以使之前预览失败的视频自动开启。例如,当某条通信链路网络掉线后,用户尝试开启此条链路中的摄像头,传统的视频监控系统在检测到连接超时后就会因网络连接失败而结束本次操作,并不会保存本次操作信息并在网络恢复后重新执行预览操作。这会导致整个监控系统的异常恢复能力低下,进而导致用户体验较差的问题。

【发明内容】

[0004]本发明的目的在于克服现有技术中存在的不足,提供一种全面高效的视频掉线重连系统和该系统所采用的视频掉线重连方法,用于保证视频监控系统的全面高效的网络异常恢复能力。本发明采用的技术方案是:
一种视频掉线重连系统,包括:消息监听单元、定时重连单元、任务调度单元和任务执行单元;
所述消息监听单元,用于接收视频开发SDK发来的消息并进行解析,当收到的消息是网络预览失败消息时,则产生并向任务调度单元发送一个保存设备编号的调度任务,由任务调度单元将掉线监控设备编号放入待预览队列中;当收到的消息是报警重连成功消息时,则产生一个执行视频重连的调度任务并发送给任务调度单元;
所述定时重连单元,用于周期性执行视频重连任务,将重连调度信息发送给任务调度单元,从而将任务调度单元的待预览队列中的所有监控设备进行重连操作;定时重连单元受控于待预览队列,当任务调度单元中的所述待预览队列从非空转变为空,则暂停定时重连单元,从空转变为非空,则启动此定时重连单元;
所述任务调度单元,用于接收消息监听单元发来的任务信息并执行相应的操作任务;接收定时重连单元发来的重连调度信息;并向任务执行单元发送相应的重连调度信息;所述任务执行单元,用于根据所述任务调度单元发来的重连调度信息进行具体的任务执行操作,并将操作结果返回给任务调度单元。
[0005]一种视频掉线重连方法,包括下述步骤:
步骤S101,消息监听单元接收视频开发SDK上报的消息;
步骤S102,当收到的是网络预览失败消息时,消息监听单元从该消息中得到对应的掉线监控设备编号并发送给任务调度单元,任务调度单元将掉线监控设备编号放入待预览队列中;
步骤S103,当收到的是报警重连成功消息时,消息监听单元从该消息中查询出所对应的监控设备编号;并向任务调度单元发送附带有监控设备编号的视频重连请求;
步骤S104,任务调度单元收到视频重连请求并判断出该请求包含监控设备编号;
步骤S105,任务调度单元从待预览队列中查询是否包含此监控设备编号,若不存在,则结束本次任务,若存在,则将视频重连请求对应的任务交付任务执行单元进行视频重连操作;
步骤S106,任务执行单元判断所生成的操作结果,若视频重连失败,则结束本次任务,若视频重连成功,则从待预览队列中删除此视频设备编号并结束本次任务;
在上述步骤SlOl?S106进行的过程中,以下步骤同时进行:
步骤S201,判断任务调度单元中的待预览队列是否为空,当检测到非空时,定时重连单元开启运行定时重连任务进程;
步骤S202,定时重连单元周期性向任务调度单元发送视频重连请求,例如每10秒钟执行一次;
步骤S203,任务调度单元收到视频重连请求并判断出该请求中不包含设备编号;
步骤S204,任务调度单元遍历待预览队列,提取每个监控设备编号所对应的重连计数,若重连计数已超过所规定的阈值,则忽略当前监控设备编号并继续遍历待预览队列,若重连计数未超过阈值,则将重连计数加I并将附带有当前监控设备编号的视频重连请求发送给任务执行单元,重复此操作直到待预览队列中的所有设备编号已遍历完成;
步骤S205,任务执行单元收到视频重连请求后进行视频重连操作;
步骤S206,任务执行单元判断所生成的操作结果,若视频重连失败,则结束本次任务,若视频重连成功,则从待预览队列中删除此视频设备编号并结束本次任务。
[0006]进一步地,步骤S204中的阈值取3或4。
[0007]本发明的优点在于:本发明采用消息驱动和定时任务相结合的重连机制设计,提高了视频掉线重连的全面性和实时性,充分保证了系统的网络异常恢复能力。另外,定时重连单元的按需启动规则以及重连任务中执行阈值的设定,避免了系统任务膨胀,最大程度地减少了无谓的系统开销。
【附图说明】
[0008]图1为本发明的结构组成示意图。
[0009]图2为本发明的方法流程图。
【具体实施方式】
[0010]下面结合具体附图和实施例对本发明作进一步说明。
[0011]本发明提供一种全面高效的视频掉线重连系统和该系统所采用的视频掉线重连方法,用于保证视频监控系统的全面高效的网络异常恢复能力。本文所述的监控设备特指视频监控设备。
[0012]该视频掉线重连系统包括消息监听单元、定时重连单元、任务调度单元和任务执行单元。
[0013]所述消息监听单元,用于接收视频开发SDK发来的消息并进行解析,当收到的消息是网络预览失败消息时,则产生并向任务调度单元发送一个保存设备编号的调度任务,由任务调度单元将掉线监控设备编号放入待预览队列中;当收到的消息是报警重连成功消息时,则产生一个执行视频重连的调度任务并发送给任务调度单元;
视频开发SDK根据视频监控系统的网络状态,会定时向消息监听单元上报消息。比如当网络中的监控设备掉线时,发送网络预览失败消息,消息监听单元根据预览句柄,从视频监控系统的缓存中提取设备编号。(这是因为之前每次预览成功后都会生成一个预览句柄,然后由程序员把这个预览句柄连同设备编号一起放入缓存中,以供以后提取。)消息监听单元就将该网络预览失败消息所对应的监控设备编号发送给任务调度单元进行保存。当检测到网络又恢复正常的时候,视频开发SDK则会发送报警重连成功消息,消息监听单元收到该报警重连成功消息后,就解析报警重连成功消息中对应的监控设备编号,并将查找到的监控设备编号发送给任务调度单元用于恢复预览。
[0014]所述定时重连单元,用于周期性执行视频重连任务,将重连调度信息发送给任务调度单元,从而将任务调度单元的待预览队列中的所有监控设备进行重连操作;定时重连单元受控于待预览队列,当任务调度单元中的所述待预览队列从非空转变为空,则暂停定时重连单元,从空转变为非空,则启动此定时重连单元;
也就是说定时重连单元启动与否取决于所述任务调度单元中的所述待预览队列是否为空,若检测到从非空转变为空,则暂停定时重连单元,若检测到从空转变为非空,则启动此单元。
[0015]所述任务调度单元,用于接收消息监听单元发来的任务信息并执行相应的操作任务;接收定时重连单元发来的重连调度信息;并向任务执行单元发送相应的重连调度信息;
任务调度单元根据接收到的不同调度类型执行不同的操作任务。例如当收到视频重连请求后,将相关信息发送给任务执行单元进行视频重连操作。再例如当接收到消息监听单元发来的保存网络预览失败设备编号的请求时,就将此编号放入待预览队列中。待预览队列是等待重新进行预览的监控设备列表,是设备编号与重连计数的一个映射关系,所述重连计数是当前监控设备已经进行过的重连次数,初始为O。
[0016]所述任务执行单元,用于根据所述任务调度单元发来的重连调度信息进行具体的任务执行操作,并将操作结果返回给任务调度单元;
例如任务执行单元执行视频的重连任务并将操作结果返回给所述任务调度单元。此夕卜,如果是
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1