一种基于Argus视频监控的多用户竞争控制的方法及系统与流程

文档序号:16530768发布日期:2019-01-05 10:44阅读:162来源:国知局
一种基于Argus视频监控的多用户竞争控制的方法及系统与流程
本发明涉及视频监控领域,尤其涉及一种基于argus视频监控的多用户竞争控制的方法及系统。
背景技术
:多用户竞争指的是多个用户共同抢占同一个资源(如硬盘等)的情况,在现实环境中,摄像头是典型的有限的使用资源,往往存在很多用户需要控制摄像头的方向以及光圈等参数,而这就引发了如何控制竞争的问题,这个问题在多用户系统且一些资源有限的情况下经常出现,因此在现有软件技术中,如何有效的解决多用户竞争控制的问题,这既是一个重点也是一个难点。很多传统实现方案是简单的采用多线程和加锁技术来为每个用户单独提供服务。通常的情况是,先来的用户会将需要的资源加锁独占,而后来的用户由于无法拿到锁,于是对应的服务线程不得不挂起等待,一直等到独占资源的用户使用完毕,将资源释放出来以后,所有的等待线程才可以进入新一轮的资源抢占。若采用上述实现方法,对于资源的加锁状态如何控制就变得极为重要,如果先拿到锁的用户不能够正常地释放锁,那么后续的等待线程将一直陷入等待中,这样不仅系统资源会遭到浪费,更严重的会引起系统崩溃或宕机。技术实现要素:本发明的技术问题在于提供一种基于argus视频监控的多用户竞争控制的方法,以解决了argus视频监控系统中多用户竞争同一个摄像头资源的问题。同时,该方法也最大限度地做到节省系统资源,并及时给予用户反馈。为解决上述技术问题,本发明提供了一种基于argus视频监控的多用户竞争控制的方法,包括:s1:接收用户的占用请求;s2:基于用户的占用请求,检查是否存在该用户的信息,若存在,进行步骤s3;若不存在,告知用户抢占失败,同时将该用户创建为新的资源占用对象存入定时队列和查找字典,并启动定时任务,以备后续使用;s3:比较该用户与当前占用用户的优先级的高低,重新确定占用用户。可选的,所述用户的信息包括用户名、用户id、用户权限维持时间及用户优先级。可选的,在步骤s2中,通过查找字典检查是否存在该用户的信息,本发明的查找字典即hashmap数据结构,是一种key-value的计算机数据结构。可选的,在步骤s3中,若该用户的优先级高于当前占用用户,允许抢占,将资源占用对象修改为该用户,并重新设定定时;若该用户的优先级低于当前占用用户,告知用户抢占失败;若用户的优先级等于当前占用用户,进一步判断是否为同一用户,若为同一用户,则允许抢占,并重新设定定时,若非同一用户,告知用户抢占失败。可选的,在步骤s1之前还包括:存储各请求用户的信息。本发明的另一方面,提供了一种argus视频监控的多用户竞争控制系统,采用上述基于argus视频监控的多用户竞争控制的方法,其包括argus服务器、竞争模块、控制模块及若干视频监控设备,所述argus服务器接收占用请求进行协议解析,并向所述竞争模块发起用户信息检查,所述竞争模块对所述用户信息进行检查并锁定需占用的视频监控设备,若锁定成功,所述竞争模块向所述控制模块发起控制请求,所述控制模块控制相应视频监控设备,若锁定不成功,所述竞争模块将该锁定结果反馈至所述argus服务器。可选的,所述视频监控设备为摄像机。与现有技术相比,本发明的技术方案使用较少的线程,就能够控制多用户与多摄像头之间的竞争问题,节省了计算资源,最大化了线程利用率,保证系统的稳定运行。附图说明图1为发明实施例的基于argus视频监控的多用户竞争控制的方法的流程示意图。具体实施方式如图1所示,本发明实施例的基于argus视频监控的多用户竞争控制的方法,至少包括如下步骤:s1:接收用户的占用请求;s2:基于用户的占用请求,检查是否存在该用户的信息,若存在,进行步骤s3;若不存在,告知用户抢占失败,同时将该用户创建为新的资源占用对象存入定时队列和查找字典,并启动定时任务,以备后续使用;s3:比较该用户与当前占用用户的优先级的高低,重新确定占用用户。在本实施例中,用户的信息包括用户名、用户id、用户权限维持时间及用户优先级。在本发明的一个优选实施例中,步骤s1之前会对用户的相关信息进行存储。具体地,用户需要将自己的数据写入数据库中,比如用户id、用户优先级、用户权限的维持时间等数据。在数据库中,需要创建一张数据库表,数据库表的基本结构信息如表1:表1数据列名称数据列类型用户idvarchar用户名varchar用户权限维持时间int用户优先级int按照表1在数据库中创建好表格以后,就能够写入一些基本信息,并在代码层面按照第一步所述完成相应的代码,就能够完成相应的竞争控制了。在步骤s2中,采用查找字典对该用户的信息进行检查,确认该用户的信息是否已存储,避免重复创建实例对象带来的资源损耗。如果是新创建的实例对象,则可以直接进入定时队列,如果使用旧的数据,则需要进行后续步骤,概括来讲,需要检查优先级,如果是高优先级用户,就可以修改相应数据后进入定时队列。如果是相同优先级,则要检查是否为同一用户,如果是同一用户,则修改相应数据后进入定时队列;否则,可以直接拒绝。在步骤s3中,具体按如下方式确定占用用户:若该用户的优先级高于当前占用用户,允许抢占,将资源占用对象修改为该用户,并重新设定定时;若该用户的优先级低于当前占用用户,告知用户抢占失败;若用户的优先级等于当前占用用户,进一步判断是否为同一用户,若为同一用户,则允许抢占,并重新设定定时,若非同一用户,告知用户抢占失败。本发明的另一实施例提供了一种argus视频监控的多用户竞争控制系统,其采用上述基于argus视频监控的多用户竞争控制的方法,其包括argus服务器、竞争模块、控制模块及若干摄像机,用户发起占用请求,相对应的客户端向argus服务器发送占用请求,argus服务器接收占用请求进行协议解析,并向竞争模块发起用户信息检查,竞争模块对用户信息进行检查并锁定需占用的摄像机,若锁定成功,竞争模块向控制模块发起控制请求,控制模块控制相应摄像机,若锁定不成功,竞争模块将该锁定结果反馈至argus服务器,再通过客户端通知用户。在其他实施例中,视频监控设备也可为其他具有监视功能的监视器、录像机等。以上详细描述了本发明的具体实施例,应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本
技术领域
中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1