一种多nvt事件处理方法、nvc及安防监控平台的制作方法

文档序号:7550786阅读:810来源:国知局
专利名称:一种多nvt事件处理方法、nvc及安防监控平台的制作方法
技术领域
本发明属于计算机安防监控技术领域,尤其涉及一种多NVT事件处理方法、NVC及安防监控平台。
背景技术
近年来,随着数字视频监控市场的发展,各安防企业生产的不同网络监控设备间的兼容性问题越来越严峻,关于业界统一标准问题的讨论也越来越多。开放性网络视频接口论坛(Open Network Video Interface Forum, Onvif)在2008年由Axis、Bosch和Sony三家企业联合推出,是全球影响力最大的网络视频监控行业标准组织,其目的是以公开、开放的原则共同制定开放性网络视频监控行业标准。Onvif标准为网络监控设备之间的信息交换定义通用协议,包括设备发现、实时视频、音频、元数据和控制信息等。网络监控设备对Onvif标准的遵循,使终端用户、集成商和生产厂商能够轻松地获得更高的性价比、更灵活的解决方案、更大的市场扩张机会以及更低的风险。在安防监控平台中,对前端网络摄像机(在Onvif标准中简称NVT,Network VideoTransmitter)告警的采集、管理是一项重要组成部分。Onvif对告警的处理通过事件(event)方式实现,NVT将其产生的告警(例如移动侦测,开关量报警输入)描述为事件并传向后端设备(在Onvif标准中简称NVC, Network Video Client), NVC再对各类事件分析处理并产生相应联动。Onvif标准中提供了两种事件处理接口,Basic NotificationInterface 和 Real-time Pull-Point Notification Interface。其中因为更高的实时性和更好的防火墙穿透能力,Pull-Point方式更受推荐。在Onvif标准的核心规范中对Pull-Point方式的工作过程进行了描述:步骤1:NVC 使用 CreatePullPointSubscriptionRequest 向 NVT 注册感兴趣的事
件主题。步骤2:NVT评估注册信息并向NVC返回注册成功应答CreatePullPointSubscriptionResponse或者注册错误信息。步骤3:NVC根据NVT返回的应答中包含的代表其生成的SubscriptionManager的WS-EndpointReference 向 NVT 发送 PullMessages 请求。步骤4:当NVT检测到有事件发生时,立即通过PullMessages应答向NVC返回事件描述;如果指定时间内未发生事件,返回超时。NVC在接收到应答后可立即发起新的PullMessages 请求。步骤5:NVC使用UnSubscribeRequest向NVT注销事件主题,NVT销毁SubscriptionManager 并使用 UnSubscribeResponse 向 NVC 返回应答。上述步骤描述了 NVC与NVT之间一对一的Pull-Point方式工作流程,但是实际应用中仍存在几点问题:1.实际安防监控平台中,一台NVC往往接入多路NVT(例如256路),而在Onvif标准中并未阐述如何对这种一对多的模型进行有效的事件管理。
2.标准中描述的工作流程采用同步阻塞方式的网络连接,NVC在发起PullMessages请求后阻塞等待NVT的应答。

发明内容
本发明实施例提供了一种多NVT事件处理方法、NVC及安防监控平台,旨在解决现有的Onvif标准未涵盖多路NVT的问题。一方面,提供一种多NVT事件处理方法,所述方法包括:向前端网络摄像机NVT注册感兴趣的事件主题;注册成功后,创建一个事件注册节点,并将所述事件注册节点加入事件注册池中,所述事件注册节点中包括:NVT事件主题、NVT事件服务地址、租约期限和NVT返回的代表其生成的 SubscriptionManager 的 WS-EndpointReference ;根据所述WS-EndpointReference 向 NVT 发送 PullMessages 连接请求;连接成功后,创建一个包含连接上下文信息的事件连接节点,所述事件连接节点中包括连接套接字socket、NVT事件服务地址和代表NVT生成的SubscriptionManager的WS-EndpointReference,并将所述事件连接节点加入事件连接池中;以异步多路复用方式监听事件连接池中的所有socket ;当接收到NVT发送的事件消息时,从接收到事件消息的socket上读取所述事件消息并断开与NVT的PullMessages连接;对所述事件消息进行处理;根据所述事件连接节点中包含的连接上下文信息重建与NVT的PullMessages连接;如果重建连接成功,则根据当前的连接套接字socket更新事件连接池中相应的事件连接节点;如果重建连接失败,则从事件连接池中删除相应的事件连接节点。另一方面,提供一种NVC,所述NVC包括:注册单元,用于向前端网络摄像机NVT注册感兴趣的事件主题;事件注册池创建单元,用于注册成功后,创建一个事件注册节点,并将所述事件注册节点加入事件注册池中,所述事件注册节点中包括=NVT事件主题、NVT事件服务地址、租约期限和 NVT 返回的代表其生成的 SubscriptionManager 的 WS-EndpointReference ;连接请求单兀,用于根据所述WS-EndpointReference向NVT发送PullMessages连接请求;事件连接池创建单元,用于连接成功后,创建一个包含连接上下文信息的事件连接节点,所述事件连接节点中包括连接套接字socket、NVT事件服务地址和代表NVT生成的SubscriptionManager的WS-EndpointReference,并将所述事件连接节点加入事件连接池中;监听单元,用于以异步多路复用方式监听事件连接池中的所有socket ;连接断开单元,用于当接收到NVT发送的事件消息时,从接收到事件消息的socket上读取所述事件消息并断开与NVT的PullMessages连接;事件处理单元,用于对所述事件消息进行处理;
第一连接重建单元,用于根据所述事件连接节点中包含的连接上下文信息重建与NVT 的 PullMessages 连接;事件连接节点更新单元,用于如果重建连接成功,则根据当前的连接套接字socket更新事件连接池中相应的事件连接节点;事件连接节点删除单元,用于如果重建连接失败,则从事件连接池中删除相应的事件连接节点。再一方面,提供一种安防监控平台,所述安防监控平台包括多个NVT和如上所述的 NVC。在本发明实施例中,通过创建事件注册池对注册事件统一管理,创建事件连接池对活跃PullMessages连接统一管理,很好地提出了以异步方式同时监听多路NVT事件的模型。该方法工作于NVC端,通用、可靠,可对各类遵循Onvif标准的前端网络摄像机进行事
件管理。


图1是本发明实施例一提供的多NVT事件处理方法的实现流程图;图2是本发明实施例二提供的NVC的结构框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在本发明实施例中,通过创建事件注册池对注册事件统一管理,创建事件连接池对活跃PullMessages连接统一管理,很好地提出了以异步方式同时监听多路NVT事件的模型。以下结合具体实施例对本发明的实现进行详细描述:实施例一图1示出了本发明实施例一提供的多NVT事件处理方法的实现流程,以NVC为例进行说明,详述如下:在步骤SlOl中,向前端网络摄像机NVT注册感兴趣的事件主题。在本实施例中,后端设备NVC 调用 CreatePullPointSubscriptionRequest 向 NVT注册感兴趣的事件主题,如果注册成功,则执行步骤S102。在步骤S102中,注册成功后,则创建一个事件注册节点,并将所述事件注册节点加入事件注册池中,所述事件注册节点中包括=NVT事件主题、NVT事件服务地址、租约期限和 NVT 返回的代表其生成的 SubscriptionManager 的 WS-EndpointReference。在本实施例中,当NVC 调用 CreatePullPointSubscriptionRequest 向 NVT 注册感兴趣的事件主题时,如果注册成功,则创建一个包含注册信息的事件注册节点,然后将该事件注册节点添加到事件注册池中去。该事件注册节点中包括的信息有=NVT事件服务地址、注册事件主题、租约期限和NVT返回的代表其生成的SubscriptionManager的WS-EndpointReference0 NVC使用事件注册池保存所有注册成功的事件信息。
权利要求
1.一种多NVT事件处理方法,其特征在于,所述方法包括: 向前端网络摄像机NVT注册感兴趣的事件主题; 注册成功后,创建一个事件注册节点,并将所述事件注册节点加入事件注册池中,所述事件注册节点中包括:NVT事件主题、NVT事件服务地址、租约期限和NVT返回的代表其生成的 SubscriptionManager 的 WS-EndpointReference ; 根据所述 WS-EndpointReference 向 NVT 发送 PullMessages 连接请求; 连接成功后,创建一个包含连接上下文信息的事件连接节点,所述事件连接节点中包括连接套接字socket、NVT事件服务地址和代表NVT生成的SubscriptionManager的WS-EndpointReference,并将所述事件连接节点加入事件连接池中; 以异步多路复用方式监听事件连接池中的所有socket ; 当接收到NVT发送的事件消息时,从接收到事件消息的socket上读取所述事件消息并断开与NVT的PullMessages连接; 对所述事件消息进行处理; 根据所述事件连接节点中包含的连接上下文信息重建与NVT的PullMessages连接;如果重建连接成功,则根据当前的连接套接字socket更新事件连接池中相应的事件连接节点; 如果重建连接失败,则从事件连接池中删除相应的事件连接节点。
2.如权利要求1所述的方法,其特征在于,所述方法还包括: 定期监测事件注册池和事件连接池; 如果事件注册池中的事件注册节点的剩余的租约期限小于设定阈值,则对所述事件注册节点进行续约; 对于已经注册但未连接的NVT事件主题,则重建与NVT的PullMessages连接; 如果连接成功,则创建事件连接节点并将所述事件连接节点加入事件连接池中。
3.如权利要求1所述的方法,其特征在于,所述方法还包括: 监测NVT是否重新上线; 如果有NVT重新上线,则尝试对与该NVT关联的事件续约并重建与该NVT的PullMessages 连接; 所述尝试对与该NVT关联的事件续约并重建与该NVT的PulIMessages连接具体包括: 遍历事件注册池;查找与该NVT关联的事件注册节点; 对该事件注册节点进行续约; 如果续约成功,则直接根据该事件注册节点中保存的WS-EndpointReference重建与该 NVT 的 PullMessages 连接; 如果续约失败,则对该事件注册节点中保存的NVT事件主题、NVT事件服务地址重新注册,如果注册成功,则根据该NVT返回的代表其新生成的SubscriptionManager的WS-EndpointReference更新该事件注册节点,并根据该新生成的WS-EndpointReference重建与该NVT的PullMessages连接。
4.如权利要求1所述的方法,其特征在于,所述方法还包括: 使用数据库记录所有注册成功的事件的信息,当NVC重新上线时,根据所述数据库中记录的事件的信息重建事件注册池和事件连接池。
5.如权利要求1所述的方法,其特征在于,所述方法还包括: 注销事件时,先断开与NVT之间的PullMessages连接,再依次从事件连接池和事件注册池中删除相应的节点。
6.一种NVC,其特征在于,所述NVC包括: 注册单元,用于向前端网络摄像机NVT注册感兴趣的事件主题; 事件注册池创建单元,用于注册成功后,创建一个事件注册节点,并将所述事件注册节点加入事件注册池中,所述事件注册节点中包括=NVT事件主题、NVT事件服务地址、租约期限和 NVT 返回的代表其生成的 SubscriptionManager 的 WS-EndpointReference ; 连接请求单元,用于根据所述WS-EndpointReference向NVT发送PullMessages连接请求; 事件连接池创建单元,用于连接成功后,创建一个包含连接上下文信息的事件连接节点,所述事件连接节点中包括连接套接字socket、NVT事件服务地址和代表NVT生成的SubscriptionManage r的WS-EndpointReference,并将所述事件连接节点加入事件连接池中; 监听单元,用于以异步多路复用方式监听事件连接池中的所有socket ; 连接断开单元,用于当接收到NVT发送的事件消息时,从接收到事件消息的socket上读取所述事件消息并断开与NVT的PullMessages连接; 事件处理单元,用于对所述事件消息进行处理; 第一连接重建单元,用于根据所述事件连接节点中包含的连接上下文信息重建与NVT的 PullMessages 连接; 事件连接节点更新单元,用于如果重建连接成功,则根据当前的连接套接字socket更新事件连接池中相应的事件连接节点; 事件连接节点删除单元,用于如果重建连接失败,则从事件连接池中删除相应的事件连接节点。
7.如权利要求6所述的NVC,其特征在于,所述NVC还包括: 监测单元,用于定期监测事件注册池和事件连接池; 续约单元,用于如果事件注册池中的事件注册节点的剩余的租约期限小于设定阈值,则对所述事件注册节点进行续约; 第二连接重建单元,用于对于已经注册但未连接的NVT事件主题,则重建与NVT的PullMessages 连接; 如果连接成功,则创建事件连接节点并将所述事件连接节点加入事件连接池中。
8.如权利要求6所述的NVC,其特征在于,所述NVC还包括: 上线监测单元,用于监测NVT是否重新上线; 第三连接重建单元,用于如果有NVT重新上线,则尝试对与该NVT关联的事件续约并重建与该NVT的PullMessages连接; 所述第三连接重建单元包括: 遍历模块,用于遍历事件注册池,查找与该NVT关联的事件注册节点; 续约模块,用于对该事件注册节点进行续约; 第一连接重建模块,用于如果续约成功,则直接根据该事件注册节点中保存的WS-EndpointReference 重建与该 NVT 的 PullMessages 连接; 第二连接重建模块,用于如果续约失败,则对该事件注册节点中保存的NVT事件主题、NVT事件服务地址重新注册,如果注册成功,则根据该NVT返回的代表其新生成的SubscriptionManager的WS-EndpointReference更新该事件注册节点,并根据该新生成的WS-EndpointReference 重建与该 NVT 的 PullMessages 连接。
9.如权利要求6所述的NVC,其特征在于,所述NVC还包括: 数据库单元,用于使用数据库记录所有注册成功的事件的信息,当NVC重新上线时,根据所述数据库中记录的事件的信息重建事件注册池和事件连接池。
10.如权利要求6所述的NVC,其特征在于,所述NVC还包括: 事件注销单元,用于注销事件时,先断开与NVT之间的PullMessages连接,再依次从事件连接池 和事件注册池中删除相应的节点。
全文摘要
本发明适用于计算机安防监控技术领域,提供了一种多NVT事件处理方法、NVC及安防监控平台,所述方法包括向前端网络摄像机NVT注册感兴趣的事件主题;注册成功后,创建一个事件注册节点,并将其加入事件注册池中,根据WS-EndpointReference向NVT发送连接请求;连接成功后,创建一个包含连接上下文信息的事件连接节点,并将其加入事件连接池中;以异步多路复用方式监听事件连接池中的所有socket;当接收到NVT发送的事件消息时,从接收到事件消息的socket上读取所述事件消息并断开与NVT的连接;对所述事件消息进行处理。本发明,很好地提出了以异步方式同时监听多路NVT事件的模型。
文档编号H04N7/18GK103107991SQ20131002162
公开日2013年5月15日 申请日期2013年1月21日 优先权日2013年1月21日
发明者胡冰, 梅海峰, 詹东晖 申请人:深圳远立科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1