一种实现多种视频监控设备兼容的方法、装置和系统的制作方法

文档序号:6379818阅读:393来源:国知局
专利名称:一种实现多种视频监控设备兼容的方法、装置和系统的制作方法
一种实现多种视频监控设备兼容的方法、装置和系统技术领域
本发明属于视频监控领域,尤其涉及一种实现多种视频监控设备兼容的方法、装置和系统。
背景技术
视频监控系统是一种防范能力较强的综合系统,也是安全防范系统的重要组成部分。视频监控系统以其直观、准确、及时和信息内容丰富而广泛应用于许多场合。近年来,随着国内对视频监控的需求不断增加,视频设备生产厂商也不断增长,然而,由于安防产业发展时间较短,尚未形成完善的行业标准。各个视频设备生产厂商根据各自企业的发展制定了各自相应的企业标准,并由此形成了各不相同的软件开发工具包(Software Development Kit, SDK)。所谓SDK,是由视频设备生产厂商提供、实现与设备通讯的接口和实现设备视频流编解码的接口。由于视频设备生产厂商提供的SDK各不相同,甚至同一视频设备生产厂商在不同时期的开发的系列产品其SDK也存在很大差异,这种视频设备生产厂商提供的SDK “各自为政”的现象为视频监控系统的设备接入带来了巨大的挑战。例如, 用户在不同时期采购了不同品牌的视频设备,因此,如何使用相同的视频监控系统兼容不同SDK的视频设备生产厂商提供的视频设备成为业界亟需解决的问题之一。
对于上述问题,现有技术提供的一种方法是将视频设备生产厂商提供的SDK进行二次封装,形成接口统一的插件。视频监控系统客户端在与视频监控系统的前端设备交互时,其主进程通过调用插件的方式来实现对这些视频设备的兼容。
由于插件本质上与动态链接库文件相当,因此,上述现有技术提供的方法缺陷在于随着视频设备种类的增加,加载时间不断增加,而且由于不同视频设备生产厂商提供的 SDK的稳定性不一致,某个SDK出现严重错误时,容易导致整个视频监控系统客户端的程序不稳定。发明内容
本发明的目的在于提供一种实现多种视频设备兼容的方法、装置和系统,旨在解决现有技术因视频设备生产厂商提供的SDK出错对视频监控系统客户端程序造成不稳定的问题。
本发明是这样实现的,一种实现多种视频监控设备兼容的方法,所述方法包括
接收用户发送的操作指令;
根据所述操作指令对应的设备类型,通过主进程的统一接口向与视频监控设备对应的子进程发送所述操作指令,所述子进程具备与所述统一接口对应的接口 ;
若所述子进程对所述操作指令没有正常响应,则对所述子进程进行重启以便继续向所述子进程发送所述操作指令。
本发明的另一目的在于提供一种实现多种视频监控设备兼容的装置,所述装置包括主进程模块,所述主进程模块包括接收子模块、发送子模块和控制子模块;
所述接收子模块,用于接收用户发送的操作指令;
所述发送子模块,用于根据所述操作指令对应的设备类型,通过主进程的统一接口向与视频监控设备对应的子进程发送所述操作指令,所述子进程具备与所述统一接口对应的接口 ;
所述控制子模块,用于若所述子进程对所述操作指令没有正常响应,则对所述子进程进行重启以便继续向所述子进程发送所述操作指令。
本发明的另一目的在于提供一种实现多种视频监控设备兼容的系统,所述系统包括视频前端设备和控制设备,所述控制设备包括主进程模块和子进程模块;
所述视频前端设备,用于对视频数据进行处理并将处理结果返回所述子进程模块;
所述主进程模块,用于接收用户发送的操作指令,根据所述操作指令对应的设备类型,通过主进程的统一接口向与视频监控设备对应的子进程发送所述操作指令,若所述子进程对所述操作指令没有正常响应,则对所述子进程进行重启以便继续向所述子进程发送所述操作指令,所述子进程具备与所述统一接口对应的接口 ;
所述子进程模块,用于接收所述主进程模块向与视频监控设备对应的子进程发送的操作指令,与所述视频前端设备进行通信以获取所述视频前端设备对视频数据进行处理的处理结果。
从上述本发明实施例可知,一方面,在子进程对通过主进程的统一接口向这些子进程发送的操作指令没有正常响应时,可以重启子进程以便继续向子进程发送操作指令, 因此,与现有技术将视频设备生产厂商提供的SDK进行二次封装形成接口统一的插件相比,本发明实施例提供的方法在视频设备生产厂商提供的SDK出现异常时,并不会影响客户端主进程的正常运行,保证了视频监控系统的稳定性;另一方面,由于每个视频设备对应的子进程具备与主进程的统一接口对应的接口,因此,新增视频设备时,只需要根据SDK增加相应的子进程,无需修改主进程,从而保证了视频监控系统较强的独立性和良好的扩展性。


图I是本发明第一实施例提供的实现多种视频设备兼容的方法流程示意图
图2是本发明第一实施例提供的实现多种视频设备兼容的装置结构示意图
图3是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图4是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图5是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图6_a是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图6_b是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图6-c是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图6_d是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图6_e是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图6_f是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图6_g是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图
图6_h是本发明另一实施例提供的实现多种视频设备兼容的装置结构示意图7_a是本发明第一实施例提供的实现多种视频设备兼容的系统结构示意图7_b是本发明另一实施例提供的实现多种视频设备兼容的系统架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图I示出了本发明第一实施例提供的实现多种视频设备兼容的方法流程示意图, 包括步骤S101、步骤S102和步骤S103,详述如下
步骤S101,接收用户发送的操作指令。
在本发明实施例中,主进程提供人机接口,接收用户通过该接口发送的操作指令, 该操作指令实现对视频设备进行的某种操作。例如,用户需要对某个视频设备进行参数设置,则主进程接收用户发送的参数设置指令;又如,用户想要接收某个视频设备的报警信息,则主进程接收用户发送的监听设备指令。
步骤S102,根据该操作指令对应的设备类型,通过主进程的统一接口向与视频设备对应的子进程发送操作指令,该子进程具备与该统一接口对应的接口。
与现有技术对视频设备生产厂商提供的SDK进行二次封装不同,在本发明实施例中,主进程具有一个统一接口。针对每个视频设备生产厂商提供的SDK,开发出相应的子进程,这些子进程都具备与主进程的统一接口对应的接口,以便主进程同时与多个子进程通讯时,主进程通过该接口对子进程进行调用。由于一个视频设备对应由一个子进程管理,而主进程具有一个统一接口,因此,按照本发明实施例提供的方法,在新增视频设备时,只需要根据SDK增加相应的子进程,无需修改主进程,如此,保证了视频监控系统的独立性和扩展性。
由于子进程未必时刻处于启动状态,为了避免无效操作指令的发送,在本发明实施例中,通过主进程的统一接口向与视频设备对应的子进程发送操作指令之前,可以进一步判断该子进程是否启动,在此之前,还需要判断子进程有没有向主进程注册,如果没有注册,则启动子进程。若子进程已经启动,则直接向该子进程发送操作指令,若子进程没有启动,则启动该子进程后,再向该子进程发送操作指令。由于子进程启动后,会向主进程注册并发送心跳信息因。因此,在本发明实施例中,若主进程一段时间未收到正常心跳信息后, 则判断该子进程仍然没有启动或死掉,从而应该执行重启子进程的操作。
步骤S103,若该子进程对操作指令没有正常响应,则对该子进程进行重启以便继续向该子进程发送操作指令。
由于视频设备生产厂商提供的SDK兼容性差、易出错,短时间内对子进程的频繁调用、大量的并发操作以及视频设备长时间的运行,子进程未必对发送的操作指令能够进行正常响应。在本发明实施例中,通过主进程的统一接口向与视频设备对应的子进程发送操作指令之后,可以进一步判断子进程对操作指令是否正常响应,具体方法是若子进程对操作指令返回的是正常反馈信息,例如,确认(ACKnowledge,ACK)信息等,则判断子进程对该操作指令正常响应,若子进程返回的是非确认(Non-ACKnowledge,NACK)信息或者未返回任何信息,则判断该子进程对该操作指令没有正常响应,该子进程处于异常状态。
若子进程对发送指令没有正常响应,则对该子进程进行重启,以便继续向该子进程发送操作指令。与现有技术对SDK进行二次封装形成接口统一的插件不同,在本发明实施例中,根据SDK开发出来的子进程是可执行的程序,因此,即使子进程对发送指令不能正常响应,可以给出重启子进程的提示,不致对客户端运行的主进程造成不稳定甚至造成整个系统的崩溃。
由于视频监控系统不同于普通的应用软件,而是于实时性要求较高的系统,用户要求能够尽快查看到实时图像或者接收到报警信息等,因此,若多次(次数可以根据用户需要进行设定)对该子进程进行重启后,该子进程仍然不能对操作指令进行正常响应,则对运行主进程和子进程的计算机或计算机系统进行重启。
需要说明的是,在主进程进行启动后,可以对将与之通讯的子进程进行管理,包括对子进程的生命周期进行管理,例如何时应该启动子进程,以及定时检测子进程的状态,以便在程序运行结束时关闭子进程,等等。
从上述实现多种视频设备兼容的方法可知,一方面,在子进程对通过主进程的统一接口向这些子进程发送的操作指令没有正常响应时,可以重启子进程以便继续向子进程发送操作指令,因此,与现有技术将视频设备生产厂商提供的SDK进行二次封装形成接口统一的插件相比,本发明实施例提供的方法在视频设备生产厂商提供的SDK出现异常时, 并不会影响客户端主进程的正常运行,保证了视频监控系统的稳定性;另一方面,由于每个视频设备对应的子进程具备与主进程的统一接口对应的接口,因此,新增视频设备时,只需要根据SDK增加相应的子进程,无需修改主进程,从而保证了视频监控系统较强的独立性和良好的扩展性。
为了清楚地说明本发明实施例提供的实现多种视频监控设备兼容的方法,以下给出两个具体实施例。
实施例一
SI,用户通过客户端主进程提供的接口发送参数设置指令以对某个视频设备进行参数设置,主进程接收该参数设置指令;
S2,主进程检测该视频设备对应的子进程是否已启动,若未启动则启动该子进
S3,若对应的子进程已启动,主进程则向该子进程发送参数设置指令;
在S3之后,子进程可能不能正常响应该参数设置指令,其可能的原因包括视频设备生产厂商提供的SDK兼容性差、易出错,短时间内对子进程的频繁调用、大量的并发操作以及视频设备长时间的运行,等等。
S4,若子进程不能正常响应参数设置指令,则主进程重启该子进程,并再次发送参数设置指令;
S5,若子进程接受参数设置指令后正确设置参数,并返回正常,则完成操作。
实施例二
S’ 1,用户通过客户端主进程提供的接口发送监听设备指令以接收某个视频设备的报警信息,主进程接收该监听设备指令;
S’ 2,主进程检测该视频设备对应的子进程是否已启动,若未启动则启动该子进
S’ 3,若对应的子进程已启动,主进程则向该子进程发送监听设备指令;
S’ 4,子进程接收监听设备指令后,自动监听设备上报的信息,看是否有报警信息上报,并向主进程发送正常信息;
S’ 5,若一段时间未能正常收到上报的信息,子进程向主进程发送异常信息;
S’ 6,主进程收到异常信息,重启该子进程;
S’ 7,主进程连续多次(次数可以按照实际情况设置)重启子进程后仍然收到异常信息,则重新启动计算机。
此处计算机指运行主进程和子进程的计算机系统,由于视频监控系统的特殊性, 不是普通的应用软件,对于实时性的要求较高,如果只是发送错误报告,最终无法接受报警信息,可能给用户带来较大的损失,所以最好采用重启计算机的方式,尽快回复系统运行。
请参阅附图2,是本发明第一实施例提供的实现多种视频设备兼容的装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图2示例的实现多种视频设备兼容的装置包括主进程模块21,主进程模块21包括接收子模块211、发送子模块212 和控制子模块213,其中
接收子模块211,用于接收用户发送的操作指令;
发送子模块212,用于根据该操作指令对应的设备类型,通过主进程的统一接口向与视频设备对应的子进程发送该操作指令,子进程具备与该统一接口对应的接口 ;
控制子模块213,用于若子进程对该操作指令没有正常响应,则对该子进程进行重启以便继续向该子进程发送操作指令。
需要说明的是,以上实现多种视频设备兼容的装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将实现多种视频设备兼容的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的接收子模块,可以是具有执行前述接收用户发送的操作指令的硬件,例如接收器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的发送子模块,可以是具有执行前述根据操作指令对应的设备类型,通过主进程的统一接口向与视频设备对应的子进程发送该操作指令功能的硬件, 例如发送器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
附图2示例的主进程模块21进一步包括第一判断子模块301,如附图3所示,本发明另一实施例提供的实现多种视频设备兼容的装置。第一判断子模块301用于判断子进程对操作指令是否正常响应。
附图3示例的第一判断子模块301包括第一判断单元401,如附图4所示,本发明另一实施例提供的实现多种视频设备兼容的装置。第一判断单元401用于若子进程对操作指令返回正常反馈信息,例如,ACK信息,则判断该子进程对该操作指令正常响应。
附图2示例的主进程模块21也可以进一步包括第二判断子模块501和启动子模块502,如附图5所示,本发明另一实施例提供的实现多种视频设备兼容的装置,其中
第二判断子模块501,用于判断子进程是否启动;
启动子模块502,用于若子进程没有启动,则启动该子进程。
附图2至附图5任一示例的主进程模块21也可以进一步包括管理子模块601,如附图6-a至附图6-d所示,本发明另一实施例提供的实现多种视频设备兼容的装置。管理子模块601用于在主进程启动后,对子进程进行管理,包括对子进程的生命周期进行管理,例如何时应该启动子进程,以及定时检测子进程的状态,以便在程序运行结束时关闭子进程,坐坐寸寸ο
附图2至附图5任一示例的装置也可以进一步包括子进程模块602,如附图6_e至附图6-h所示,本发明另一实施例提供的实现多种视频设备兼容的装置,子进程模块602用于接收发送子模块向与视频设备对应的子进程发送的操作指令,以及将从前端视频设备获取的数据发送到主进程模块21等等。
请参阅附图7_a,是本发明第一实施例提供的实现多种视频设备兼容的系统结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图7-a示例的实现多种视频设备兼容的系统包括视频前端设备71和控制设备72,控制设备72包括主进程模块 721和子进程模块722,其中
视频前端设备71,用于对视频数据进行处理并将处理结果返回子进程模块;
主进程模块721,用于接收用户发送的操作指令,根据该操作指令对应的设备类型,通过主进程的统一接口向与视频设备对应的子进程发送该操作指令,若子进程对该操作指令没有正常响应,则对子进程进行重启以便继续向子进程发送该操作指令,子进程具备与统一接口对应的接口;
子进程模块722,用于接收主进程模块721向与视频设备对应的子进程发送的操作指令,与视频前端设备71进行通信以获取视频前端设备71对视频数据进行处理的处理结果并反馈至主进程模块721等等。
附图7-b示出了附图7-a示例的实现多种视频设备兼容的系统的连接示意图,控制设备72和多种视频前端设备71通过网络连接,主进程模块721通过统一接口与子进程模块722交互。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现多种视频设备兼容的方法,其特征在于,所述方法包括 接收用户发送的操作指令; 根据所述操作指令对应的设备类型,通过主进程的统ー接ロ向与视频设备对应的子进程发送所述操作指令,所述子进程具备与所述统ー接ロ对应的接ロ ; 若所述子进程对所述操作指令没有正常响应,则对所述子进程进行重启以便继续向所述子进程发送所述操作指令。
2.如权利要求I所述的方法,其特征在于,所述通过主进程的统ー接ロ向与视频设备对应的子进程发送所述操作指令之后进ー步包括 判断所述子进程对所述操作指令是否正常响应。
3.如权利要求2所述的方法,其特征在干,所述判断所述子进程对所述操作指令是否正常响应为若所述子进程对所述操作指令返回正常反馈信息,则判断所述子进程对所述操作指令正常响应。
4.如权利要求I所述的方法,其特征在于,所述通过主进程的统ー接ロ向与视频设备对应的子进程发送所述操作指令之前进ー步包括 判断所述子进程是否启动; 若所述子进程没有启动,则启动所述子进程。
5.如权利要求I至4任意一项所述的方法,其特征在于,所述方法还包括 在所述主进程启动后,对所述子进程进行管理。
6.一种实现多种视频设备兼容的装置,其特征在于,所述装置包括主进程模块,所述主进程模块包括接收子模块、发送子模块和控制子模块; 所述接收子模块,用于接收用户发送的操作指令; 所述发送子模块,用于根据所述操作指令对应的设备类型,通过主进程的统ー接ロ向与视频设备对应的子进程发送所述操作指令,所述子进程具备与所述统ー接ロ对应的接Π ; 所述控制子模块,用于若所述子进程对所述操作指令没有正常响应,则对所述子进程进行重启以便继续向所述子进程发送所述操作指令。
7.如权利要求6所述的装置,其特征在于,所述主进程模块进一歩包括 第一判断子模块,用于判断所述子进程对所述操作指令是否正常响应;或者, 所述主进程模块进一歩包括 第二判断子模块,用于判断所述子进程是否启动; 启动子模块,用于若所述子进程没有启动,则启动所述子进程。
8.如权利要求7所述的装置,其特征在于,所述第一判断子模块包括 第一判断単元,用于若所述子进程对所述操作指令返回正常反馈信息,则判断所述子进程对所述操作指令正常响应。
9.如权利要求6至8任意一项所述的装置,其特征在于,所述装置还包括子进程模块,用于接收所述发送子模块向与视频设备对应的子进程发送的操作指令;所述主进程模块还包括管理子模块,用于在所述主进程启动后,对所述子进程进行管理。
10.ー种实现多种视频设备兼容的系统,其特征在于,所述系统包括视频前端设备和控制设备,所述控制设备包括主进程模块和子进程模块;所述视频前端设备,用于对视频数据进行处理并将处理结果返回所述子进程模块; 所述主进程模块,用于接收用户发送的操作指令,根据所述操作指令对应的设备类型,通过主进程的统ー接ロ向与视频设备对应的子进程发送所述操作指令,若所述子进程对所述操作指令没有正常响应,则对所述子进程进行重启以便继续向所述子进程发送所述操作指令,所述子进程具备与所述统ー接ロ对应的接ロ; 所述子进程模 块,用于接收所述主进程模块向与视频设备对应的子进程发送的操作指令,与所述视频前端设备进行通信以获取所述视频前端设备对视频数据进行处理的处理结果O
全文摘要
本发明适用于视频监控领域,尤其涉及一种实现多种视频监控设备兼容的方法、装置和系统。在本发明实施例中,所述方法包括接收用户发送的操作指令;根据操作指令对应的设备类型,通过主进程的统一接口向与视频监控设备对应的子进程发送操作指令,子进程具备与所述统一接口对应的接口;若子进程对操作指令没有正常响应,则对子进程进行重启以便继续向子进程发送操作指令。本发明提供的方法在视频设备生产厂商提供的SDK出现异常时,保证了视频监控系统的稳定性;由于每个视频设备对应的子进程具备与主进程的统一接口对应的接口,因此,新增视频设备时,只需要根据SDK增加相应的子进程,从而保证了视频监控系统较强的独立性和良好的扩展性。
文档编号G06F9/44GK102984500SQ20121041541
公开日2013年3月20日 申请日期2012年10月26日 优先权日2012年10月26日
发明者郭家栋 申请人:安科智慧城市技术(中国)有限公司, 杭州天视智能系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1