发明内容
有鉴于此,本发明的目的在于提供一种基于计算机网络的视频监控系统,其使用灵活可以大规模推广应用。
为了达到上述目的,本发明的一个实施方式提供了一种基于计算机网络的视频监控系统,其包括有功能服务器、数据库服务器以及应用服务器。其中功能服务器通过计算机网络与应用服务器连接,应用服务器通过计算机网络与数据库服务器连接。功能服务器与数据库服务器通过计算机网络分别与应用服务器进行数据交换,而功能服务器与数据库服务器不能通过计算机网络进行直接的数据交换需要通过应用服务器进行中转完成。
在不同实施方式中,本发明涉及的视频监控系统所包括的功能服务器,可以包括有事件服务器、录像服务器、网络服务器等服务器中的一种或多种。
在不同实施方式中,本发明涉及的视频监控系统还包括有客户端,该客户端包括有用于向该应用服务器输入指令的输入装置以及显示输入指令结果的显示装置。
在不同实施方式中,本发明涉及的视频监控系统还包括有终端摄像装置用于采集预定区域的视频信息。
在不同实施方式中,用于连接本发明涉及的视频监控系统各组件的计算机网络包括局域网、宽域网、互联网中的一种或多种。
进一步的,在本发明的又一个实施方式中,其揭示了一种用于本发明涉及的网络视频监控系统的告警设置方法。其包括有以下步骤,该视频监控系统的客户端通过网络服务器向应用服务器发出指定系统包括的终端摄像装置进行告警设置的指令,并指定该终端摄像装置的布防的起始时间。应用服务器接收指令,并向系统包括的事件服务器发出指令。事件服务器发出指令指定该预定终端摄像装置进行告警设置。其中,当布防终止时间到达时,若终端摄像装置未发现异常情况,则应用服务器会通知事件服务器,向终端摄像装置发出撤防通知。而若在布防时间内,终端摄像装置发现异常情况,则通知事件服务器,向应用服务器发出报警通知;应用服务器接到报警信息后会根据预定规则进行报警处理。
在不同实施方式中,该网络视频监控系统还包括有发光、发声装置,应用服务器的报警方式为启动该等发光、发声装置.
在不同实施方式中,终端摄像装置的布防方式为移动侦测及传感器报警方式,或是红外线传感器触发报警方式。
在不同实施方式中,应用服务器的报警方式可以是向用户的设定手机号码发送手机短信的方式,这样可有效的保护了用户的隐私,同时又可及时的使用户收到报警信息,进而做出适当的措施进行告警处理。
本发明的又一个实施方式提供了一种本发明涉及的视频监控系统发送手机短信的方法,其中该网络视频监控系统还包括有短信接口。该短信接口包括有SOAP模块及短信模块。
进一步的,短信接口与外部的信息交换是通过SOAP模块基于SOAP协议下进行的,而短信模块内储存有多种短信发送协议,例如,CNGP(ChinaNetcom Short Message Gateway Protocol)、SMPP(Short Message Peer to Peer)等等,使得其能与分布在全国各地的网通、联通和移动的短信网关服务器连接,并通过这些短信网关服务器将短信发送给目标用户。
当系统需要发送短信到预定手机号码时,应用服务器会将短信内容信息及预定手机号码以SOAP协议下的指令形式发送给短信接口的SOAP模块,SOAP模块确认接收到的指令有效后,会调用短信模块,短信模块会根据手机号码选择其相应的运营商的短信网关服务器,并进行登陆。完成登陆后,指令该短信网关服务器将预定短信发送到预定手机号码上。
进一步的,在本发明的又一个实施方式中,其揭示了一种用于本发明涉及的网络视频监控系统的录像设置方法。其包括有以下步骤,该视频监控系统的客户端通过网络服务器向应用服务器发出指定系统包括的终端摄像装置进行录像设置的指令,并指定录像的起始时间。应用服务器接收指令,并向系统包括的录像服务器发出录像指令。录像服务器接收该指定终端摄像装置发出的视频信息并开始进行录像。录像时间到,录像服务器通知应用服务器录像完成,并完成录像资料的存储。
在不同实施方式中,应用服务器会将存储的录像资料的地址信息传输给系统包括的数据库服务器,并存储于其上;当客户端需要调阅该录像资料时,应用服务器会调阅数据库服务器中存储的相应的录像资料的地址信息,并将该地址信息传送给所述客户端。客户端根据该地址信息调阅录像资料。
进一步的,本发明的有一个实施方式中提供了一种针对本发明涉及的网络视频监控系统所使用的录像负载均衡方法,可有效的解决,系统中录像服务器由于负载量过大,所导致的问题。其包括有以下步骤。赋予系统中包括的每一终端摄像装置及录像服务器一个唯一的URI标识。其中URI的格式主要有两部分组成,第一部分为名称,第二部分为域名。每台录像服务器只能属于某一个域,一个域中可以有多个录像服务器。应用服务器根据终端摄像装置的URI标示,解析出其第二段域名部分,该域名为该终端摄像装置所属域的域名。然后应用服务器会从该域中选择一个录像服务器负责接受并处理来在应用服务器的录像请求。
在不同实施方式中,应用服务器选择同一个域中的某一个录像服务器的方式为,可以是根据该域中全部录像服务器的资源利用率的高低来进行选择,首先选择资源利用率最低的录像服务器负责接受并处理来在应用服务器的录像请求。其中资源利用率,可以是该录像服务器的CPU利用率、内存利用率、I/O硬盘读写能力以及网络带宽等等。
进一步的,在本发明涉及的又一个实施方式中,提供了一种可用于本发明涉及的网络视频监控系统的数据管理方法。其可有效地进行本发明涉及的网络视频监控系统中产生的庞大的数据管理。可以有效地克服现有网络视频监控系统应用单机数据管理方法中,出现的各种缺点。例如,系统数据都存储于单机客户端,用户更换客户端操作时,所有的信息将全部需要重新输入或重新进行系统配置等等。
其中本发明涉及的数据管理方法为采用集中存储到服务器上进行集中管理的方式,客户端登陆后,会将属于其的数据直接从服务器上进行下载,这样,不论用户使用同一客户端还是新的客户端,都可延续上次操作继续进行。
具体其可以是包括有以下步骤,为系统中所包括的各种设备赋予账户信息,并将这些账户信息存储于系统的指定服务器上。赋予不同的用户不同的账户信息,每个账户信息对应于系统中特定的一个或多个设备,且这些用户的账户信息也是存储于系统的服务器上。用户在客户端通过其账户信息进行登录,登陆完成后,系统会将对应于该用户账户信息的设备的信息下载到该客户端。用户在客户端可根据自身需要对这些信息进行修改。最终,对这些设备所做出的修改所形成的对应于该账户信息的系统设置信息,会上传给系统服务器进行保存。用户下次再在客户端登陆时,系统服务器会自动将上次其系统配置信息下载到该客户端上,以供用户进行操作。
在不同实施方式中,用户在客户端的登陆,是通过系统的代理服务器及注册服务器完成的。
在不同实施方式中,客户端登陆软件可以是一种多画面监控软件。在用户再次登陆后,其会自动向系统服务器询问自身版本信息是否为当前系统使用版本,若不是,会自动从系统服务器上下载最新版本。
进一步的,客户端与系统间的信息交换是基于SIP协议进行的。
进一步的,本发明的有一个实施方式,提供了一种可用于以上本发明涉及的网络视频监控系统中,所涉及的系统配置信息修改储存的方法。其中,这些涉及的系统中的配置信息可以视为是包括有多个页面组,若按照现有的页面组的管理方式,每次都将对页面组中的管理所产生的变更信息(在一种实施方式中,也就是系统的配置信息)都存储于服务器,这样完成一次完整地修改,客户端与服务器间的数据交换无疑是很频繁的,也就相应的占用了系统大量的资源,这样,在这个数据交换的过程中,服务器对于用户的点击响应将会异常缓慢。
本发明的一个实施方式提出了一种新型的页面组管理方法,其采用ajax技术,可带给用户完美的操作便捷性,以及全新的用户体验。服务器的访问次数较现有模式可以减少50%,数据访问流量可以减少80%以上,用户点击响应明显改善。
进一步的,组管理操作包括了:添加、删除、修改组名以及编辑组内设备等4项基本功能。具体实现如下:第一次使用,客户端从服务器下载所有组及组内设备信息。这些信息在页面上的组织不使用以往的服务器直接写客户端页面的方式,而是从服务器下载组的最基本信息,信息到达客户端后由客户端浏览器重新组织这些信息并呈现在页面上。这样的用户操作完全在客户端实现,减少了绝大部分的网络访问,减轻了服务器的压力。同时,在客户端的修改过程中,所产生的中间更新信息均是存储于客户端的cookie上,而非每一次的修改操作,都要和服务器进行数据交换并将更新信息存储于服务器上。而是在修改最终完成后,将最终的确定信息提交到服务器。最终由服务器完成组信息保存于服务器中。
相对于现有技术,本发明具有以下优点:
1.各个功能服务器无须频繁访问数据库,解决了数据库服务器瓶颈的问题;
2.只有应用服务器可以直接访问数据库服务器,使得数据库服务器安全性得到保证;
3.各服务器之间的消息传递由应用服务器负责调度、通知,保证了整个系统的实时性;
4.整个视频监控系统可以根据需要,方便的增减使用的服务器,使得系统可根据具体需要进行扩容或缩小规模。
5.短信息发送功能使得系统用户可以更快更及时的了解最新信息,同时也可有效地保护了用户的隐私;
6.系统数据集中统一管理,使得系统更为有效的运转,同时用户可摆脱现有系统单机版运作时,由于更换客户端所带来的问题;
7.系统修改过程中的配置信息,存储于客户端的cookie中,只有最终配置信息才会上传系统服务器,这样,可大量节省系统服务器的资源,有效的解决了系统响应慢的问题。
具体实施方式
针对现有技术中的视频监控系统的缺点,本发明提出了一种基于计算机网络的适合广泛应用的视频网络监控系统。
在一个实施方式中,请参阅图1所示,一种基于计算机网络的视频监控系统100,其包括有数据库服务器101、应用服务器(Application Server,也可称为AS消息管理器)102、代理服务器(Proxy)103、事件服务器104、录像服务器105、网络服务器(Web Server)106以及客户端107。
在不同实施方式中,用于连接该等服务器的计算机网络,可以是互联网(internet)、局域网或宽域网中的一种或多种。在一种实施方式中,用于连接各服务器的计算机网络为局域网,而客户端则是通过互联网与系统的服务器连接。
在不同实施方式中,视频监控系统100中包括的各功能服务器中,代理服务器是用于客户端与终端摄像装置登陆并注册到系统100上的服务器(在其他实施方式中,其也可以在单独包括一个注册服务器,并不限定)。事件服务器是用于负责通知终端摄像装置布防,告警发生时处理告警消息的服务器。录像服务器是用于负责进行录像和录像存储的服务器。而数据库服务器是用于储存系统所有信息的服务器。网络服务器是用来提供网络服务的服务器。
进一步的,客户端107通常包括有用于输入指令的输入装置108(比如鼠标、键盘、轨迹球、触摸屏等等)及用于显示输入指令执行结果的输出装置109(比如显示屏、打印机等等)。
进一步的,视频网络监控系统100还包括有终端摄像装置110用于收集其所在预定区域的视频信息。用户可通过客户端107的输入装置108及显示装置109监控到不同终端摄像装置监控到的预定区域的情况。在不同实施方式中,客户端107可以是笔记本电脑,也可以是台式电脑,或是其他可以与网络连接的电子装置,例如,手机、个人数位助理PDA等等。终端摄像装置可以是摄像头,其可以是通过互联网与系统100连接。
进一步的,由于客户端和终端摄像装置由于是属于系统100的可扩展组件,因此,其在使用前,通常是需要向系统100注册的,获得系统100认可后,其才可以使用系统100的资源。
在一种客户端及终端摄像装置登陆及注册的实施方式中,其包括有以下步骤:
第一步,终端摄像装置110及客户端107的账户申请。
如果客户端在监控系统中还没有账户,用户需要向监控系统100进行账户申请,为终端摄像装置110及客户端107分别获得账户信息。账户信息通常由账户名及密码组成。用户将终端摄像装置110的账户名及密码植入终端摄像装置110并将其保存入终端摄像装置110的存储模块内,这样终端摄像装置110就可以利用账户信息登录到网络视频监控系统100。用户也可以利用客户端的账户名及密码登录到系统中。在用户获得客户端及终端摄像装置账户信息的同时,系统自身也会将客户端账户信息及其对应的终端摄像装置110的账户信息存储于系统内,以备两者登陆系统时进行验证。
其中在一个客户端及终端摄像装置的账户信息的实施方式中,终端摄像装置被植入的账户名为张三@vimicro.com、密码为111111,其对应的客户端的账户名为李四@vimicro.com,其密码为000000。在不同实施方式中,一个客户端可对应于多个终端摄像装置;或是一个终端摄像装置也可对应于多个客户端。
第二步,终端摄像装置110及客户端107的登录。
通常而言,用户一般通过一个客户端应用程序,输入其账户信息,以进行客户端登陆。如此,当用户通过客户端应用程序将客户端账户信息通过计算机网络输送给代理服务器103进行登陆时,其对应的终端摄像装置也会调用客户端应用程序自动向代理服务器103发送登录请求。具体来讲,即终端摄像装置会根据客户端应用程序将存储于其内的账户名和密码取出,并将账户名和密码发送给代理服务器103。
接收到客户端及终端摄像装置的登录请求后,代理服务器103会通过查询系统内存储的账户信息,以确定客户端及终端摄像装置是否为系统内的用户。如果找到相应的账户信息,则认为其是系统内的用户,登录成功。若否,则认为其不是系统内的用户,反馈登录失败的信息。
进一步的,用户可以通过账户名李四@vimicro.com和其密码将任何一台接入计算机网络的电脑或手持设备作为客户端向代理服务器102发送登录请求。同理,终端摄像装置也是如此,在任何位置,只要接入计算机网络,就可在客户端登陆的同时,自行进行登陆。
第三步,客户端及终端摄像装置的注册。
登录成功之后,在客户端程序的支持下,终端摄像装置向代理服务器103发送注册请求,代理服务器103在确定其接收到的是注册请求后可自行进行注册信息处理或是将其转发给系统100,由系统进行注册信息处理。其中在一个实施方式中,注册请求包括终端摄像装置110请求将其当前的系统信息向系统100进行注册。其中终端摄像装置的系统信息包括其地址信息、温度、湿度等等信息,当然此时终端摄像装置会安装有温度、湿度传感器;地址信息包括IP地址及端口等等。如果终端摄像装置是第一次提出注册请求,那么系统将储存所有终端摄像装置110的系统信息。如果终端摄像装置110不是第一次提出注册请求,那么系统100将仅仅是将与上次注册信息不同的部分系统信息作更新,其中尤其是将终端摄像装置的地址信息刷新为当前地址信息。
在不同实施方式中,客户端和终端摄像装置的注册请求与登录请求是一起发送给代理服务器103的。而在又一个实施方式中,终端摄像装置也可以是在客户端程序的支持下定时的向代理服务器103发送注册请求。
本发明提供的终端摄像装置110的此种设置,使得终端摄像装置无论被移动到哪里,只要它可以被连接到系统100所使用的计算机网络上,其都会主动向系统100注册其地址信息,以使客户端可以通过代理服务器103找到它。这样,终端摄像装置就可以按照用户的需求被安装到任何位置,还能保持与代理服务器103的联系。
同理,对于客户端也是类似,当客户端107登录后,客户端也会向代理服务器103发送注册请求,代理服务器103在确定其接收到的是注册请求后进行账户信息注册,或是转发给系统,由系统进行注册信息处理。客户端进行注册的系统信息包括其地址信息、名称、上次登录时间等信息,地址信息包括IP地址及端口。尤其是,向系统注册客户端当前的地址信息。注册过程与终端摄像装置类似,此处不再赘述。客户端的此种设计也使用户不仅限于使用固定的硬件设备对终端摄像装置进行监控,而可以随时随地选择不同的适用硬件设备作为客户端,进行系统登陆。
进一步的,相较于现有技术,本发明网络视频监控系统包括的应用服务器,在一个实施方式中,其是通过计算机网络单独与数据库服务器101连接。事件服务器104、录像服务器105、网络服务器106则是通过计算机网络与应用服务器102连接,但并不通过计算机网络120与数据库服务器101连接。客户端107通过计算机网络120与网络服务器106连接。
这样,由于应用服务器的引入,其为系统100可带来以下优点,但不限于。
首先,使得各服务器间的数据交换改为以应用服务器为中转进行的,也就是说其他各功能服务器只需直接和应用服务器进行数据交换,而不在需要访问数据库服务器了,从而解决了数据库服务器流量瓶颈的问题。
其次,由于,只有应用服务器才能够直接访问数据库。这样,使得数据库服务器安全性得到保证。
第三,应用服务器可从数据库中将相关信息装载到内存当中,经过加工,转换成对各服务器有用的信息,然后传递给各服务器。这样,各服务器之间的消息传递由应用服务器负责调度、通知,保证了整个系统的实时性。
第四,在一定程度上,由于应用服务器的数量是可增减的,且与其连接的服务器的数量也是可增减的。这样,整个视频监控系统可以根据需要,方便的增减使用的服务器,使得系统可根据具体需要进行扩容或缩小规模。
进一步的,应用服务器在系统中的使用,可以包括完成系统的告警设置、录像设置、录像负载分配等功能。通过它可以将事件服务器、录像服务器、网络服务器等有机的联系起来,协同工作。以下将分别结合具体的实施方式对应用服务器的功能作进一步的说明。
在一个使用应用服务器进行告警设置的实施方式中,其实施流程,请参阅图2所示。用户通过客户端107的输入装置108输入“告警设置”指令,要求终端摄像装置进行布防以及确定布防的起止时间,该指令经由网络服务器106会传送给应用服务器102。此时客户可离开客户端,不需在监控客户端的显示装置。
应用服务器102会通过事件服务器104要求终端摄像装置110进行布防。对于终端摄像装置的布防方式,可以是根据移动侦测和传感器报警的原理进行布防。具体来讲,就是当终端摄像装置侦测到其所监控的区域出现了运动物体,其运动的速度及时间均超过预设时间及预设速度时,其就会发送告警信息通知事件服务器104。在其他实施方式中.其也可以是红外线报警,当有物体触发红外线时,其就会发送告警信息通知事件服务器104。
进一步的,若在布防期间,未出现异常情况,当布防时间到达时,应用服务器会通知事件服务器,然后事件服务器则会通知终端摄像装置解除布防。
而当布防时间内,终端摄像装置发现其所监控的区域内出现了达到报警条件的异常情况时,例如,以红外布防为例,布防红外线被触发。其会立即将报警信息发给事件服务器,事件服务器在通知应用服务器。
应用服务器接到由事件服务器发出的报警信息时,其可根据预设的规则向相应的设备发出指令进行报警。例如,在终端摄像装置上设置发光或发声的设备,当应用服务器接收到告警信息时,就发送指令要求相应报警设备进行报警操作,例如,发声或发光等等。同时系统也可设定,在应用服务器收到报警信息的同时,即可启动系统录像功能,以获得现场资料。
进一步的,在其他实施方式中,应用服务器会将布防的信息传递给数据库服务器,并存储于数据库服务器上。当客户端输入指令要求查阅以往所进行的布防信息时,应用服务器会在接收到指令后,调阅数据库服务器上的存储记录,找到相应的记录后,会装载在自身的内存中,加工成对应于客户端的消息类型,反馈给客户端。
进一步的,从以上告警设置的实施方式中可以看出,相较于现有的视频监控系统,本发明网络视频监控系统使用应用服务器102来替代数据库服务器101完成接收告警设置、通知布防、转发告警信息、取消布防等等操作,其根据接收到的不同功能服务器发出的信息,相应的提取存储于数据库服务器内的数据,并将其装载到自身内存当中,经过加工,转换成对各功能服务器有用的消息,然后通过调用相应的网络服务,实现各服务器之间的消息通知。整个过程,就好比是在同一台机器上进行,既方便快捷,又安全可靠。
进一步的,对于发光、发声等报警方式在一些对于公共区域的监控的实施方式中,是适合的。例如,博物馆晚间的监控。但对于有些情况下,是不太适合的,例如,在对于私人区域的监控中,也许用户需要保护个人的隐私,其还是需要一种比较隐蔽的报警方式的。
因此,在又一个实施方式中,本发明涉及的网络视频监控系统还包括有短信发送功能,这样,告警信息就可通过短信的形式发送到用户指定的手机上,即可有效的保护了用户的隐私,又可使用户及时的掌握监控区域的情况,进而及时做出正确应对。
在一个实施方式中,本发明涉及的基于计算机网络的视频监控系统100还进一步包括有短信接口以用于实现系统的短信发送功能。其中短信接口包括有SOAP(简单对象访问协议,Simple Object Access Protocol,SOAP)模块及短信模块,其可以是设置于系统的应用服务器103内,但并不限于。
本发明的短信接口引入目前先进的SOAP协议技术,由于SOAP协议是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息。因此,SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)等等。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。这样,该技术的引入,大大的增强了本发明兼容能力,并可以支持不同的系统平台、数据格式和多种连接方式。
进一步的,短信接口与外部的信息交换是通过SOAP模块基于SOAP协议下进行的,而短信模块内储存有多种短信发送协议,例如,CNGP(ChinaNetcom Short Message Gateway Protocol)、SMPP(Short Message Peer to Peer)等等,使得其能与分布在全国各地的网通、联通和移动的短信网关服务器连接,并通过这些短信网关服务器将短信发送给目标用户。
进一步的,短信接口所包括的各模块的处理流程如下:
1、SOAP模块的处理流程:
1.1 判断接收到的有应用服务器发来的短信内容及目的号码有效性。
1.2 判断短信模块与短信网关连接的有效性,如连接无效重新连接并唤醒短信模块的接收线程。
1.3 以相应的短信协议构造消息包,发送短信并返回结果
2、短信模块的处理流程:
2.1 短信模块发送短信的流程:
2.1.1 创建TCP Socket,连接短信网关。
2.1.2 发送登陆请求包,并接收登陆请求的响应,确定登陆成功。
2.1.3 提交短信发送请求。
2.2 短信模块接收线程的处理流程:
2.2.1 从与远程短信网关已经建立的连接中接收数据。
2.2.2 根据接收结果判断连接是否还有效。
2.2.3 如无效则阻塞接收线程,等待短信模块重新与短信网关连接时唤醒此线程。
2.2.4 处理收到的请求及响应,即反馈给系统短信已发送成功。
用户在客户端进行告警设置的同时,会向系统内输入告警短信息的内容及预定接收此短消息的手机号码(在其他实施方式中,也可以是只输入预定手机号码,告警短信内容由系统产生),应用服务器及短信接口的SOAP模块则会分别储存这些信息。一旦终端摄像装置发现异常情况,即可通过事件服务器将告警信息发送给应用服务器,应用服务器则会调用其预先存储的短信息内容及手机号码,并以指令的形式根据SOAP协议发送给短信接口的SOAP模块,其后短信接口的SOAP模块则会根据自身存储的相应信息进行核对,若符合,则调用短信模块发送短信。
进一步的,对于短信所使用的文字,可以是中文,也可以是英文。且,短信模块还可以支持短信群发,以及语音短信发送等等。例如,当最初输入的手机号码为多个时,就可以进行短信群发。而如果目标接收短信的手机号码所属的运营商,可以提供语音短信功能,则短信模块就可以发送语音短信到其上。
进一步的,系统所具有的短信发送功能,并不只限于以上发送报警短信,也可用于其他系统消息通知方面。且,发送的短信的内容,也并不限于为用户自行输入的内容,也可以是系统所设定的内容。只要用户预先将预定接收消息的手机号码输入系统即可,系统会自行存储该号码,并在需要的情况,向该号码发送相应的信息。
进一步的,在国内网络视频监控领域,还未见到有上述短信发送功能的监控系统,可以说,本发明所涉及的具有短信发送功能的网络视频监控系统弥补了这一空白。
在一个使用应用服务器进行定时录像设置的实施方式中,其实施流程,请参阅图3所示。用户通过客户端107的输入装置108输入“定时录像设置”指令,并经由网络服务器106将此指令传送给应用服务器102。此时客户可离开客户端,不需在监控客户端的显示装置。而当录像完成后,客户可在任何需要的情况下通过应用服务器102来调阅存储于系统中的录像,并可通过客户端107的显示装置109观看录像。
当应用服务器102接收到的客户端107的指令是“定时录像设置”指令时,则产生“启动定时录像”请求,并通知录像服务器105启动定时录像。当设定的录像时间到达时,应用服务器102则会相应产生“停止定时录像”消息,并通知录像服务器105停止录像。录制的录像数据可以是存储于数据库服务器101中的数据库内,也可以是存储于自身上,或其他设备上,并不限定。以备客户在需要的情况下调阅观看。
在不同实施方式中,当录像完成后,系统也可设定要求应用服务器102调用短信接口,向客户发送录像完成的提醒短信息。
在不同实施方式中,用户也可以通过客户端107的输入装置108输入提前终止录像的指令,经由网络服务器106转发给应用服务器102,再由应用服务器102通知录像服务器105停止录像,并将已完成的录像数据存储于系统指定位置。
而当用户需要调阅已录制的录像时,在一种实施方式中,其可通过客户端107的输入装置108将调阅指令发送给应用服务器102。应用服务器102接收到来自网络服务器106转发的调阅指令后,会直接访问数据库服务器101,获得相关录像资料的地址,然后将录像资料地址经过网络服务器106发送到客户端107上,客户端即可根据地址调用录像资料,而用户即可通过客户端107的显示装置109观看录像数据。
从以上录像设置的实施方式中可以看出,在现有视频监控系统中,本该由数据库服务器101完成的接收录像设置、取消录像设置等操作中,根据不同数据指令类型提取其数据库中存储的相应的应对数据,以及实现这些不同类型的应对数据分别与相应的各功能服务器间作出数据交换的操作,全部由应用服务器102完成。而必须由数据库服务器101参与的录像数据存储、录像数据调阅等操作中,数据库服务器101也只是与单一的应用服务器102间进行数据交换,而不需与别的功能服务器进行数据交换,使得数据库服务器101仅仅实现数据存储及读取的功能,而与数据库服务器内存储的数据不直接相关的其他的,用于应对各功能服务器发出的信息的不同类型的数据则全部由应用服务器102产生,并与其他功能服务器进行数据交换。如此,应用服务器102分担了数据库服务器101的一大部分任务,也是极大地减轻了数据库服务器101的负载。
进一步的,由于终端摄像装置的录像操作是由录像服务器进行的,那么由于录像服务器的自身硬件的限制,使得其不可能无限制的连接终端摄像装置,并进行相应的录像操作。而如前所述,系统中的终端摄像装置及客户端的数量都是没有限制的。有可能是,一个客户端对应于多个终端摄像装置,或是一个终端摄像装置对应于多个客户端。这样,若当同属于一个录像服务器的多个终端摄像装置均接到录像指令时,由于负载过大的问题,很可能导致录像服务器不能正常工作。若只是单纯的进行录像服务器硬件升级,在系统扩展增加了终端摄像装置后,问题还是存在。而或是增加录像服务器的数量,则会出现系统资源浪费的问题,因为并不是随时都会出现,属于同一录像服务器的全部终端摄像装置同时需要进行录像操作。而通过增加应用服务器将系统中的所有录像服务器集中管理,统一分配录像负载任务,则可有效地解决这一问题。
在一个实施方式中,其实施流程,如图4所示。进一步的,应用服务器选择系统中包括的多个录像服务器中的一个进行录像的规则可以是,根据系统中各录像服务器的资源使用率的低高,选择一个资源使用率最低的录像服务器接收录像指令。进一步的,录像服务器的资源使用率可以是录像服务器自身硬件性能指标,例如,CPU使用率、内存使用率、硬盘I/O读写性能等等,也可以是其网络资源性能,例如,其带宽资源等等。也可以是以上两者的结合。
进一步的,在又一个实施方式中,系统可以是赋予其所包括的每一个录像服务器及终端摄像装置一个唯一的URI标示。在一种实施方式中,每个URI标示可以是网址的形式,其包括有名称和域名两部分。进一步的,对于域名部分,其命名方式可以是按照目前通用的父域名及子域名的方式进行。例如,域名shanghai.vimicro.com的父域名可以是vimicro.com,而其子域名可以是1.shanghai.vimicro.com。每一个城名下属的子域名的数量并无限制。可根据实际情况,自行设定。
进一步的,在其他实施方式中,也可以是不同的URI标示,但具有相同的域名,也就是说名字不同,域名相同,例如一个终端摄像装置的URI标示和一个录像服务器的URI标示,分别是摄像头1@shanghai.vimicro.com及录像服务器1@shanghai.vimicro.com。在不同实施方式中,并不限定系统中具有相同域名的URI标示的数量。例如,可以有多个终端摄像装置和多个录像服务器的域名是相同的。
进一步的,根据URI标示中域名部分的区别,应用服务器在分配录像负载任务时,也可以是根据系统对于终端摄像装置及录像服务器域名的命名规则进行任务分配。
例如,在一个实施方式中,当应用服务器接到客户端发出的要求指定终端摄像装置进行录像时,应用服务器会先确定该指定的终端摄像装置的URI标示中的域名,然后,应用服务器会寻找与其具有相同域名的录像服务器,若其只有一个,则就将录像任务分配给它;若是有多个,则可以是根据以上所揭示的根据各录像服务器的资源利用率的低高进行分配,也可以是按顺序进行分配;若是没有找到与其具有相同域名的录像服务器,则就寻找具有其域名的父域名的录像服务器,找到后,按照前述规则分配任务,若还是没有,则在寻找具有其父域名的父域名的录像服务器,以此类推,直到找到并分配任务为止。
例如,在一个实施方式中,如图5所示,系统500包括的第一、第二、第三、第四及第五终端摄像装置511、512、513、514、515的URI标示可以分别是:摄像头1@shanghai.vimicro.com、摄像头2@beijing.vimicro.com、摄像头3@beijing.vimicro.com、摄像头4@shenzhen.vimicro.com、摄像头5@shenzhen.vimicro.com;第一、第二、第三、第四录像服务器521、522、523、524的URI标示分别为:录像服务器1@vimicro.com、录像服务器2@beijing.vimicro.com、录像服务器3@shenzhen.vimicro.com、录像服务器4@shenzhen.vimicro.com。
当系统500包括的应用服务器501接收到来自客户端指定第三终端摄像装置513进行录像的指令时,其会先分析第三终端摄像装置513的URI标示,确定其域名部分为beijing.vimicro.com,然后其会寻找与其具有相同域名的录像服务器,发现只有一个第二录像服务器522的域名为beijing.vimicro.com,其就会将录像任务分配给第二录像服务器522。
当应用服务器接到由客户端输入的指定第一终端摄像装置511进行录像的指令时,其还是会先分析第一终端摄像装置511的URI标示,确定其域名部分为shanghai.vimicro.com,然后其会寻找与其具有相同域名的录像服务器,发现没有具有此域名的录像服务器,其就会进一步寻找是否有具有域名shanghai.vimicro.com父域名的录像服务器,发现第一录像服务器521的域名为vimicro.com,为域名shanghai.vimicro.com的父域名,其就会将第一终端摄像装置511的录像任务分配给第一录像服务器521。
当应用服务器接到由客户端输入的指定第五终端摄像装置515进行录像的指令时,其还是会先分析第五终端摄像装置515的URI标示,确定其域名部分为shenzhen.vimicro.com,然后其会寻找与其具有相同域名的录像服务器,发现有两个具有此域名的录像服务器:第三录像服务器523及第四录像服务器524,这时,其可以按照先后顺序依次分配录像任务给两者中的一个,下次则分配给另一个;也可以是根据两个录像服务器资源使用率的高低,将录像任务分配给资源使用低的录像服务器。
综上所述,可以看出,当网络视频监控系统引入应用服务器时,其无论是在系统扩展性,还是在系统运行效率上,都有了极大的提高。应用服务器由于其自身强大的数据处理能力完全可以代替或部分代替数据库服务器实现布防撤防、录像监控等功能。通过它可以将事件服务器、录像服务器、短信网关服务器及数据库服务器等功能服务器有机的联系起来,协同工作。应用服务器作为整个视频监控应用系统的枢纽,能够将对来自短信网关服务器、录像服务器、事件服务器、数据库服务器等服务器的不同类型的数据进行处理加工和转发,然后通过调用相应的网络服务器(也可直接发送,不通过调用相应的网络服务器),实现各功能服务器之间的消息通知。整个过程,就好比是在同一台机器上进行,既方便快捷,又安全可靠。
进一步的,由以上揭示的内容,可以看出,本发明涉及的网络视频监控系统的组成硬件数量庞大,其正常运转时,所产生的数据量是极为庞大的。进而本发明又进一步的提出了一种适用于本发明所涉及的网络视频监控系统所使用的数据集中管理方法,其可以使得本发明涉及的网络视频监控系统能够高效率的运转,而不会因为系统组件数量过多功能过全,而导致客户端在使用系统不同功能时,系统响应过慢。
在一个实施方式中,本发明涉及的数据集中管理方法,其可以表现为一个用于本发明网络视频监控系统所使用的一个多画面客户端软件,该软件可以是使用C++语言编写完成。在一种实施方式中,其登陆后的操作界面,请参阅图6所示。
进一步的,本发明数据集中管理方法采用了C/S(Client/Server)架构,如此使得全部的系统数据均是存储于系统的服务器上,并由服务器根据不同输入指令或是系统设定,将对应于不同指令的信息,下载到客户端上,供用户操作。如此,用户操作不在是固定在一个指定的客户端,而是任意一个可通过网络连接到系统的电子设备。
进一步的,在一个实施方式中,系统采用了SIP协议。因此,系统中涉及的一些功能服务器可以统称为SIP平台服务器,其包括有代理服务器、用于账户注册的注册服务器以及媒体服务器等等。
进一步的,系统数据的集中管理,首先体现在用户账户信息以及设备账户信息的集中管理方面。
系统全部的用户的账户信息,全部存储与系统服务器上,当不同用户通过客户端进行系统登陆时,系统会将输入的账户信息与系统储存的账户信息比对,若有此信息,则认为是系统用户,接受其登陆及注册。
其次,系统内全部设备的信息也是全部集中存储于系统服务器内。每次系统启动后,就会自动进行其自身的设备登陆。例如,系统包括的终端摄像装置会根据设定自动登陆到系统上。当然,其也可以是对应于其用户账户,当其相应的用户账户进行系统登陆时,其在进行系统登陆。
第三,不同用户对于系统的配置信息统一存储于系统的服务器上。每次用户完成的系统修改,都将存储于系统服务器上。如此,当用户下次登陆系统时,系统服务器会自动地将上次完成的配置信息下载到其所使用的客户端上,供用户继续操作。
进一步的,在一个实施方式中,当用户通过客户端进行系统登陆时,其首先输入用户名及密码。系统验证接受其登陆后,会自动地将上一次该账户所作的系统配置信息返回到该客户端上。这些系统相关的配置信息包括有注册服务器地址和端口、属于该用户的摄像头列表等等。
进一步的,用户对于系统下载到客户端的这些系统信息是可以修改的。例如,系统将属于该用户账户可支配的系统设备的列表(例如,终端摄像装置)下载到客户端,在初始系统设置中,这些终端摄像装置都会有一个名称。但这些名称也许并不适合用户使用。因此,用户为方便使用就会修改这些设备的名称使得其更便于自己使用这些设备。因此,在修改的过程中,也就产生了一些系统配置信息。
进一步的,用户还可进行事件订阅操作,例如,前面揭示的报警信息的短信通知以及终端设备在线、离线信息等等。当用户进行这些事件订阅时,其登陆后,系统会自动地向相关信息发送到其所在的客户端上。其中数据流向,请参阅图7所示。由于该图示中,大部分数据流向的说明已在前文中有所说明,因此,此处不再赘述。
进一步的,对于以上涉及的用户在客户端对其所能操控的硬件设备进行配置以及进行系统事件订阅时,若使用现有的配置方法,即每次对配置的修改,都要将结果存储于服务器上,那么,客户端与系统服务器之间的数据交换就会相当频繁,服务器的资源利用率会很高。这时,若系统中有很多用户同时在进行这种修改,那么用来存储系统配置信息的服务器,可能会因为数据流量过大,其响应会变得异常缓慢。如果增加服务器的数量来改善这种情况,而又因为这种大量用户同时在线修改系统配置的可能性不大,而造成系统资源的极大的浪费。
因此,本发明的又一个实施方式是提供了一种用于本发明网络视频监控系统的配置数据保存方法,也可以说是一种页面组管理方法。其使用了java\jsp技术中涉及的ajax技术,能带给用户完美的操作便捷性,以及全新的用户体验。如此,服务器的访问次数较现有模式可以减少50%,数据访问流量可以减少80%以上,用户点击响应明显改善。
在一个实施方式中,请在参阅图6所示,本发明涉及的多画面客户端软件就是一种具有多个页面的页面组。这些页面中所包括的系统配置信息,都是可以供用户通过客户端进行修改的,这种修改可以是包括有添加、删除、修改组名以及编辑组内设备等4项基本功能。具体操作如下。
当第一次使用时,客户端从服务器下载其初始的配置信息。该初始画面可参阅图6所示。
由于客户端具有修改功能,因此用户可根据自身需要通过客户端对其初始的系统设置进行修改。例如,以图式中设备列表中列出的全部设备为例,在初始设置中,这些属于该用户的设备只是统一列在其上,并无任何说明。若用户拥有的设备数量巨大,则很不方便其进行管理。因此用户需要对此进行修改,以方便使用。具体可以是,将这些设备分组,并以不同的命名区别,这样,用户在使用时,就可一目了然,方便使用。进一步的,对于同一组内的设备命名,用户也可根据需要自行修改,以方便使用。
例如,在一种实施方式中,客户端从服务器中下载了属于其支配的全部设备列表(由于这些数据由服务器集中管理,因此,可一次完成到客户端的下载),例如,20个终端摄像装置。用户根据这些终端摄像装置所处的位置将其分组,比如同属于第一区域的5个终端摄像装置归为第一组,同属于第二区域的8个终端摄像装置归为第二组,同属于第三区域的7个终端摄像装置归为第三组。进一步的,对于同一组内的终端摄像装置,也可以是根据在该区域的具体位置进行分别命名,例如,按所处方向,可分为东终端摄像装置等等。通过这样的设置,可使得用户更加方便的监控其所监控的区域,当其需要察看具体某一区域的监控时,只需根据自己设定的命名找到相应的终端摄像装置即可。
进一步的,在修改过程中,配置的信息并非像现有技术中那样,每一次的修改,都需要提交给服务器,并由服务器进行保存,直到修改完成为止。而是将这些更新的配置信息存储于客户端的临时cookie中,这些配置修改可以是添加组、删除组等等操作。这样的用户操作完全在客户端实现,减少了绝大部分的网络访问,同时减轻了服务器的压力。用户在完成所有操作后最后执行保存,客户端将存于临时cookie中的信息提交到服务器。最终由服务器完成组信息保存于服务器中。
进一步的,由于临时cookie中会有保存时间期限的问题。因此,有时候,可能会发生一些意外事件,使得用户在进行组管理时,出现死机等情况,这样,是属于修改过程中,客户端并未完成全部修改。所以,也就不可能提交配置信息给服务器进行存储,这样,下次登录时,如果时间超过了临时cookie中设定的时间,那么由于临时cookie中没有了上次操作的信息,因此,就需要用户再重新进行上次的操作。为改善这种情况,本发明的又一个实施方式中就是提供一个备份cookie,在客户端将更新的配置信息存储于临时cookie中的同时,将更新的配置信息也存储于备份cookie中。这一预存选项的选择可以是根据用户需要,自行设定。
如果用户在客户端设置自动预存选项后,客户端就会判断用户的组管理操作是否暂停或结束(例如,若鼠标或键盘操作停止一段时间以上,或是设定时间自动存储),如果用户操作结束,客户端即将当前操作结果存于备份cookie内(在一种实施方式中,此备份cookie信息将永不过期,直到服务器端保存完成后清除这个cookie),并等待客户端下一步操作。当用户执行保存后,客户端首先判断最终操作信息与上次存储于备份cookie中的预存信息是否一致,如果不一致,用最终操作信息更新预存信息。然后客户端向服务器发送一个保存提示,由服务器取得客户端预存cookie里的组信息,并完成最终的保存。
如果,用户在操作过程中,出现了突发事件,使得服务器不能完成最终配置信息的存储。那么,若其打开了预存模式,客户端在下次启动后,其会自动比较临时cookie与备份cookie中存储的信息,并确定哪一个存储的信息是比较近的,然后提取较近的配置信息,提醒用户是否恢复。预存模式提供了一个由于误操作或网络连接异常断开后的恢复机制,用户只需在重新打开页面后即可找回最后的组管理操作状态。
进一步的,以上提及的本发明涉及的组管理方法是应用于本发明涉及多画面客户端软件中的一个实施方式。由图6可以看到,其在初始的情况下,是已经经过初步设置的,而并不是在一个画面上直接列出全部的信息,是经过初步分组的,只显示了该用户所能控制的设备信息,并非是显示了系统包括的全部的设备信息。而这个初步系统设置的过程,也可以是通过本发明涉及的组管理方法进行的,也就是说,对系统进行初步设定时,使用本发明涉及的组管理方法。
在一个实施方式中,对系统全部设备有操作控制权限的系统管理员,在通过客户端登陆到系统时,系统全部的资源信息,会下载到此客户端上,例如,如图8所示,系统管理员则会根据不同系统用户所控制的不同系统设备,将属于同一个用户控制的系统资源的信息,分在一个大组内,例如,操作完成后的形式可参阅图9所示。这个过程中,进行组管理时所产生的过程更新信息是存储于客户端的cookie中,而非系统服务器的,直到最后完成组管理,最终的信息将提交服务器并存储于服务器中。这样,当这个用户在客户端登录时,下载在其客户端的设备信息,就仅为其所能控制的设备信息,例如,用户1,其登陆到系统上后,系统下载到其所使用的客户端的属于其的系统初始配置信息,就只有用户1组内的信息,而不会包括其他用户所能控制的设备信息。另外,本发明使用客户端即可进行系统配置,也使得系统的管理员可随时随地的进行系统修改。
进一步的,在以上说明书内容中,提及到的服务器的名称,例如代理服务器、注册服务器等等,其指代的可以是一种逻辑上的服务器,并不一定对应于一个现实中的硬件服务器。而现实中的硬件服务器可以是具有以上提及的多个服务器的功能。