本发明涉及摄像设备、系统、摄像设备的控制方法和计算机可读存储介质。
背景技术:
网络照相机已经提供了响应于来自客户端的请求而向客户端提供图像的web服务功能。近年来,网络照相机也可以作为客户端来操作,并且通过连接到云服务器来发送图像。
存在已知的以下技术,该技术在如上所述存在多个使用时或者存在多个连接时,停止执行不必要的服务和功能并且不接受对这样的服务和功能的请求。日本特开2005-165750公开了用于根据是否存在已添加的可选功能来确定是否接受访问请求的技术。此外,日本特开2015-125657公开了用于建立与服务器的多个连接并维持其它连接直到完成特定内容的获取为止的技术。
另一方面,考虑到网络照相机被用作云客户端的情况,由于图像和设置是经由云服务器发送和接收的,因此网络照相机本身不需要提供用于回应来自一般客户端的请求而返回响应的web服务。此外,由于通过停止web服务,可以防止一般大众访问网络照相机,并且有望提高安全性,因此存在停止web服务的需求。
然而,利用上述专利文献中公开的技术,如果在网络照相机正在作为云客户端而操作时停止web服务,则在连接到云的故障的情况下,难以判断发生故障是因为到云服务器的路径中存在问题还是因为网络照相机本身中存在问题。
技术实现要素:
鉴于以上,提供了使得可以在提高网络照相机的安全性的同时识别故障发生的原因的技术。
本典型实施例的一个方面涉及一种摄像设备,包括:摄像单元,其被配置为拍摄图像;通信单元,其被配置为经由网络与客户端和服务器通信;以及处理单元,其被配置为执行用于与所述客户端通信的第一处理和用于与所述服务器通信的第二处理,其中,与所述客户端的通信和与所述服务器的通信包括所述图像的发送,以及在所述第一处理和所述第二处理已经开始之后,在所述通信单元已经建立与所述服务器的通信的情况下,所述处理单元停止所述第一处理,以及在所述通信单元没有建立与所述服务器的通信的情况下,所述处理单元不停止所述第一处理。
本典型实施例的另一方面涉及一种系统,包括:摄像设备,其包括:摄像单元,其被配置为拍摄图像,通信单元,其被配置为经由网络与客户端和服务器通信,以及处理单元,其被配置为执行用于与所述客户端通信的第一处理和用于与所述服务器通信的第二处理,其中,与所述客户端的通信和与所述服务器的通信包括所述图像的发送,以及在所述第一处理和所述第二处理已经开始之后,在所述通信单元已经建立与所述服务器的通信的情况下,所述处理单元停止所述第一处理,以及在所述通信单元没有建立与所述服务器的通信的情况下,所述处理单元不停止所述第一处理;服务器,用于存储由所述摄像设备拍摄的图像;以及客户端,用于从所述服务器或所述摄像设备获得由所述摄像设备拍摄的图像。
本典型实施例的又一方面涉及一种摄像设备的控制方法,所述摄像设备包括:摄像单元,其被配置为拍摄图像;通信单元,其被配置为经由网络与客户端和服务器通信;以及处理单元,其被配置为执行用于与所述客户端通信的第一处理和用于与所述服务器通信的第二处理,所述控制方法包括:使用所述处理单元开始所述第一处理;使用所述处理单元开始所述第二处理;使用所述通信单元做出建立与所述服务器的通信的尝试;以及在已经建立与所述服务器的通信的情况下,停止使用所述处理单元的所述第一处理,其中,在所述停止中,在尚未建立与所述服务器的通信的情况下,所述处理单元不停止所述第一处理,以及与所述客户端的通信和与所述服务器的通信包括所述图像的发送。
本典型实施例的又一方面涉及一种计算机可读存储介质,其存储有包括指令的一个或多个程序,所述指令在被图像处理设备的处理器执行时使处理单元进行以下操作,所述图像处理设备包括被配置为拍摄图像的摄像单元、被配置为经由网络与客户端和服务器通信的通信单元、以及被配置为执行与所述客户端通信的第一处理和与所述服务器通信的第二处理的所述处理单元:开始所述第一处理;开始所述第二处理;使用所述通信单元做出建立与所述服务器的通信的尝试;以及在已经建立与所述服务器的通信的情况下,停止所述第一处理,其中,在所述停止中,在尚未建立与所述服务器的通信的情况下,不停止所述第一处理,以及与所述客户端的通信和与所述服务器的通信包括所述图像的发送。
根据以下(参考附图)对典型实施例的描述,本发明的其它特征将变得明显。
附图说明
图1是示出与典型实施例相对应的系统结构的示例的图。
图2a是示出与典型实施例相对应的网络照相机的硬件结构的示例的图。
图2b是示出与典型实施例相对应的网络照相机的软件结构的示例的图。
图3是示出与典型实施例相对应的网络照相机的启动时的处理的示例的流程图。
图4是示出与典型实施例相对应的事件处理的示例的流程图。
图5是示出与典型实施例相对应的用于根据连接状态停止web服务的处理的示例的流程图。
图6是示出与典型实施例相对应的云处理的示例的流程图。
图7是示出与典型实施例相对应的web服务的控制的示例的流程图。
图8是示出与典型实施例相对应的接收到设置时的处理的示例的流程图。
图9是示出与典型实施例相对应的连接状态改变时的处理的示例的流程图。
图10是示出与典型实施例相对应的超时发生的处理的示例的流程图。
具体实施方式
[第一实施例]
下面,将基于附图详细描述典型实施例。图1是示出与实施例相对应的系统10的结构的示例的图。与本实施例相对应的系统10被配置成使得网络照相机110和客户端120经由局域网130连接,并且云服务器140经由广域网150连接。
网络照相机110是包括摄像单元并将拍摄的图像经由局域网130分发到客户端120的摄像设备(或拍摄设备、图像生成设备、通信设备)。网络照相机110还将所拍摄的图像经由局域网130和广域网150发送到云服务器140。
客户端120是能够访问网络照相机110、获得图像、改变网络照相机110的设置、以及进行诸如调焦控制等的照相机控制的客户端设备。另一方面,客户端120还可以经由局域网130和广域网150获得云服务器140所保持的图像。另外,客户端120可以经由云服务器140配置网络照相机110的设置。客户端120例如可以被实现为诸如个人计算机(pc)、移动电话、智能电话和平板终端等的任意信息处理设备、通信设备或终端设备等。
云服务器140是用于接受来自网络照相机110的连接请求并接收和存储图像的服务器设备。此外,云服务器140响应于来自客户端120的图像获得请求来分发所存储的图像,并且还将客户端120所存储的各种类型的设置发送到网络照相机110。
尽管为了简单说明而假设存在一个网络照相机,但是可以存在两个或更多个网络照相机。此外,除了客户端120之外,还可以存在用于访问网络照相机110并接收和累积图像的其它客户端。局域网130和广域网150包括满足例如
接着,将参考图2a描述网络照相机110的硬件结构的示例。作为本实施例的网络照相机110的硬件结构,cpu201、主存储设备202、辅助存储设备203、摄像接口(i/f)205、网络i/f207和照相机控制i/f208经由内部总线204彼此连接。这里,主存储设备202是如下的可读写高速存储设备:其通常是ram;加载有os、各种类型的程序和各种类型的数据;并且还用作os和各种类型的程序的工作区域。
辅助存储设备203是如下的非易失性存储设备:其通常是闪速存储器、hdd或sd卡等;用作os、各种类型的程序和各种类型的数据的永久存储区域;并且还用作各种类型的数据的临时存储区域。稍后将描述网络照相机110的主存储设备202和辅助存储设备203中存储的各种类型的程序等的详情。
摄像i/f205连接到包括诸如ccd和cmos等的图像传感器和镜头的照相机单元206,将从照相机单元206获得的图像数据转换并压缩成预定格式,并将所得到的图像数据传输到主存储设备202。照相机控制i/f208也连接到照相机单元206;各种类型的照相机控制被传输到照相机单元206,并且控制结果被返回到照相机控制i/f208。网络i/f207是用于连接到上述网络130的i/f,并且负责经由诸如以太网等的通信介质与客户端120等通信。
接着,将参考图2b描述网络照相机110的基于软件的功能结构的示例。使cpu201能够用作操作系统(os)210、服务器处理单元211、照相机控制单元212、图像生成单元213、搜索响应单元214和云处理单元215其中之一的程序被加载在主存储设备202上。当cpu201执行各个加载的程序时,cpu201可以用作各个处理块。
下面描述由各个处理块实现的功能。os210控制整个网络照相机110。os210的典型功能包括:诸如文件系统等的辅助存储设备203的管理;诸如虚拟存储等的存储器管理;诸如多任务等的处理管理;以及网络i/f207的管理。服务器处理单元211是用于进行与客户端120通信所用的处理的处理单元,并且响应于从客户端120接收到的请求而进行涉及由图像生成单元213生成的图像数据的分发、请求中包括的控制信息和信息的获得等的处理。服务器处理单元211可以用作客户端120的所谓web服务器;在本实施例中,假设由服务器处理单元211执行的处理包括web服务的一部分。服务器处理单元211提供web服务,即响应于请求,进行到图像生成单元213和照相机控制单元212的中继,并且基于来自中继目的地的结果来将对应的响应发送到客户端120。服务器处理单元211经由网络i/f207和局域网130与外部设备通信。
照相机控制单元212基于从服务器处理单元211接收到的控制信息来调整照相机功能。调整通常涉及照相机单元206的控制和控制结果的通知。控制信息包括例如用于确定透镜位置的调焦控制。图像生成单元213经由摄像i/f205生成由照相机单元206生成的图像数据。然后,对所生成的图像数据进行编码。编码方法可以是jpeg,或者可应用涉及诸如h.264/avc和h.265/hevc等的图像压缩的编码方法。注意,除了本实施例的编码方法之外,可以使用其它图像压缩方法。
搜索响应单元214对例如于来自客户端120的用以搜索网络中的网络照相机110的服务的请求做出响应。在本实施例中,假设对搜索请求的响应也包括在web服务中。对搜索请求的响应可以是zeroconf,通常是多播dns,或者可以是upnp(通用即插即用)或ws-discovery(web服务动态发现)等;除了这些之外,只要可以实现装置搜索,可以以任何方式实现响应。尽管在本实施例的描述中独立地设置搜索响应单元214和服务器处理单元211,但是搜索响应单元214的功能可以包括在服务器处理单元211中。
云处理单元215是用于进行与云服务器140通信所用的处理的处理单元;云处理单元215与云服务器140交换信息,并且还处理从云服务器140接收到的信息。云处理单元215向云服务器140发出连接请求,并响应于来自云服务器140的获得请求而发送由图像生成单元213生成的图像数据。此外,云处理单元215从云服务器140接收设置和控制信息,并配置/进行对网络照相机110的各种类型的设置/控制。各种类型的设置包括web服务的停止和开始。当接收到停止web服务的设置时,停止服务器处理单元211和搜索响应单元214的操作,并且停止web服务。另一方面,当接收到开始web服务的设置时,启动服务器处理单元211和搜索响应单元214,并且开始web服务。在web服务的停止和开始的控制中,除了web服务的设置之外,还可以考虑与云服务器140的连接状态。此外,响应于请求,云处理单元215进行到图像生成单元213和照相机控制单元212的中继,并且基于来自中继目的地的结果向云服务器140发送对应的响应。
接着,将描述本实施例中的处理的流程。图3是示出用于在网络照相机110启动时根据与云服务器140的连接状态来控制web服务的处理的示例的流程图。例如,当网络照相机110的电源接通时,可以开始图3的处理。
首先,在步骤s301中,cpu201通过开始作为服务器处理单元211和搜索响应单元214的操作来开始web服务。接着,在步骤s302中,cpu201基于主存储设备202中存储的设置值来判断是否使用云。该设置值由客户端120或云服务器140经由例如服务器处理单元211预先设置,并且被存储到主存储设备202和辅助存储设备203中。在客户端120上,用户可以选择关于网络照相机110而使用云(云服务器140)的设置和不使用云的设置其中之一,并且该设置值可以直接发送到网络照相机110或者经由云服务器140提供。
如果在步骤s302中判断为设置是使用云,则处理进入步骤s303。另一方面,如果判断为设置是不使用云,则本处理结束。在步骤s303中,cpu201通过执行预定程序而开始作为云处理单元215的操作来启动云处理单元215。在下一步骤s304中,cpu201作为云处理单元215做出连接到云服务器140的尝试。更具体地,通过进行tcp的三次握手来建立tcp连接,然后利用tls(传输层安全)连接的建立来发送http请求。
此后,在步骤s305中,cpu201作为云处理单元215判断与云服务器140的连接是否成功。如果判断为连接已经成功,则处理进入步骤s306。在步骤s306中,cpu201作为云处理单元215执行事件处理。在事件处理中,根据连接是否已经有效来控制web服务的开始和停止。另一方面,如果在步骤s305中判断为连接已经失败,则处理返回到步骤s304,并且再次进行连接尝试。稍后将参考图4描述步骤s306的事件处理的详情。一旦cpu201执行了事件处理,则本处理结束。
接着,将参考图4描述图3的步骤s306中的事件处理的详情。该处理不仅可以在步骤s306的事件处理的定时处开始,而且可以在来自云服务器140的事件发生时开始。
首先,在步骤s401中,cpu201作为云处理单元215判断是否已从云服务器140接收到设置信息。如果判断为已经接收到设置信息,则处理进入步骤s402。另一方面,如果判断为没有接收到设置信息,则本处理结束。在步骤s402中,cpu201作为云处理单元215判断所接收到的设置信息中是否包括web服务设置。如果判断为包括web服务设置,则处理进入步骤s403。另一方面,如果判断为不包括web服务设置,则本处理结束。
在步骤s403中,cpu201作为云处理单元215判断所接收到的web服务设置的设置值是否为假(表示不使用的设置)。如果在步骤s403中判断为web服务设置的设置值为假,则处理进入步骤s404,并且cpu201通过停止作为服务器处理单元211和搜索响应单元214的操作来停止web服务。另一方面,如果在步骤s403中判断为web服务设置的值不是假而是真,则处理进入步骤s405,并且web服务开始。这是在网络照相机110启动之后、当从云服务器140接收到设置信息时运行的处理。在步骤s404和s405之后,本处理结束。
在本实施例中,如已经参考图4所描述的,当web服务设置的值为假时,判断为与云服务器140的连接已经变为有效。除此之外,可以判断为连接已经变为有效的情况的示例包括:云处理单元215在连接到云服务器140时已经接收到认证成功响应的情况、云处理单元215已经接收到来自云服务器140的照相机控制请求的情况、以及云处理单元215已经接收到来自云服务器140的图像发送请求的情况。
此外,当网络照相机110具有led时,led可以用于提供关于云处理单元215和云服务器140之间的通信状态的通知(也称为显示或通告等)。例如,led可以用于向用户通知与云服务器140的连接是否已经变为有效。led不仅可以在与云服务器140的连接已经变为有效时使用,而且还可以用于其它目的,并且另外,led可以具有单一颜色。通常,led具有三种模式,即熄灭、稳定点亮和闪光,并且可以经由用户设置来设置在网络照相机110正在操作时led是稳定点亮还是闪光。由于这三种模式都被使用,因此难以表现唯一表示直到与云服务器140的连接变为有效为止的状态的通知。
另一使用目的的示例是在删除网络照相机110的设置值以恢复初始设置的操作、或更新图2b所示的网络照相机110的软件的固件更新操作时重写辅助存储设备203。在辅助存储设备203的更新期间拔出电源将引起图2b的软件发生故障并且不能恢复的问题。因此,直到与云服务器的连接变为有效为止的时间和辅助存储设备203的更新由不同的模式表现。它们可以通过例如改变闪光模式而彼此区分。更具体地,例如,可以改变闪光期间的稳定点亮和稳定点亮之间的间隔。
如上所述,在本实施例中,在网络照相机110启动时启动web服务,此后,进行与云服务器140的连接,并且对云服务器140进行关于是否继续web服务的询问。然后,根据云服务器140提供的web服务设置的值,控制web服务的开始或停止;这样,可以在确保云服务器140和网络照相机110之间的连接安全之后确定是否继续web服务。此外,当不能进行与云服务器140的连接时,维持web服务的启动状态。因此,即使当网络照相机110作为云客户端而操作时与云的连接发生故障,也可以识别该故障发生的原因。此外,当可以识别故障发生的原因时,可以通过停止web服务来防止从一般公众访问网络照相机110,从而维持安全性。另外,即使当不能进行与云服务器140的连接时,由于web服务处于启动状态,因此可以迅速地对故障的发生进行原因分析。
[第二实施例]
下面描述第二实施例。在上述第一实施例中,当网络照相机110和云服务器140之间的连接已被建立时,根据web服务设置来控制web服务的提供的开始和停止。相反,在本实施例中,监视网络照相机110和云服务器140之间的连接状态,并且即使连接状态已经改变,例如,在连接已建立的情况下,也在一定时间段内维持web服务的提供的状态而不改变。
与本实施例相对应的系统的结构以及网络照相机的硬件结构和软件结构与图1、2a和2b中所示的结构相同;因此,省略对它们的描述。
下面参考图5描述与本实施例相对应的网络照相机110中的处理。图5是示出用于根据网络照相机110中的连接状态停止web服务的处理的示例的流程图。例如,当照相机的电源接通时,可以开始本处理。
一旦处理已开始,在步骤s501中,cpu201首先通过执行预定程序而开始作为服务器处理单元211和搜索响应单元214的操作来启动web服务。接着,在步骤s502中,cpu201基于主存储设备202中存储的设置值来判断是否使用云。该判断与图3的步骤s302的处理相同。如果判断为设置是使用云,则处理进入步骤s503,并且如果判断为设置是不使用云,则本处理结束。在步骤s503中,cpu201通过执行预定程序开始作为云处理单元215的操作,并执行云处理。此后,本处理结束。
接着,将参考图6描述图5的步骤s503中的云处理的详情。图6是在确认连接状态的情况下云处理单元215执行的处理的流程图。如使用图5所描述的,在使用云的设置的情况下,云处理单元215被启动并且开始处理。
在处理开始之后,在步骤s601至s603中,云处理单元215首先进行表示在步骤s610中的web服务的控制中要使用的状态(状况)的值的初始设置。在web服务的控制中使用三种状态:“web服务设置”、“连接状态”和“等待状态”。web服务设置的设置值是分别意味着要使用web服务和不使用web服务的“真”和“假”之一。作为“连接状态”,设置表示与云服务器140的连接状态的值;表示连接状态的值是“连接”,并且表示断开状态的值是“断开”。此外,“等待状态”的设置值是以下两种类型之一:“空闲”和“等待”。在初始状态下,该设置值为空闲;当与云服务器140的连接的实际状态正在改变时(改变期间),该设置值改变为等待,并且当这样的改变没有正在发生时,该设置值保持空闲。
在本实施例中,连接状态的改变期间例如表示在连接状态从断开改变为连接或者从连接改变为断开之后直到经过一定时间段为止的状态。可选地,连接状态的改变期间表示在连接状态从断开改变为连接之后直到在经过一定时间段之前恢复断开状态为止的状态,或者在连接状态从连接改变为断开之后直到在经过一定时间段之前恢复连接状态为止的状态。在本实施例中,将一定时间段设置为超时时间段,并且当连接状态已经改变时开始测量超时时间段。
在步骤s601中,云处理单元215将真作为初始值分配给web服务设置的设置值。在下一步骤s602中,云处理单元215将空闲作为初始值分配给等待状态的设置值。在下一步骤s603中,云处理单元215将断开作为初始值分配给连接状态的设置值。在下一步骤s604中,云处理单元215尝试连接到云服务器140。此后,在步骤s605中,云处理单元215进行连接事件监视。本实施例中的连接事件监视是监视与网络照相机110和云服务器140之间的连接有关的事件的操作。所监视的事件包括连接尝试成功的成功事件、连接尝试失败的失败事件、连接状态已改变为断开状态的断开事件、以及已接收到字符串的事件。
在步骤s606中,云处理单元215判断连接尝试是否失败作为监视结果。如果判断为连接尝试失败,则处理进入步骤s607,并且云处理单元215再次尝试连接到云服务器140。此后,在步骤s605中再次进行连接事件监视。如果在步骤s606中判断为事件不是连接尝试中的失败,则处理进入步骤s608。在步骤s608中,云处理单元215判断事件是否是连接尝试中的成功。如果判断为事件是连接尝试中的成功,则处理进入步骤s610,并且控制web服务。关于web服务的控制,使用在步骤s601、s602和s603中初始化的三个状态值来控制web服务的启动和停止。稍后将参考图7描述步骤s610的处理的详情。
如果在步骤s608中判断为事件不是连接尝试中的成功,则处理进入步骤s609,并且云处理单元215判断事件是否是与云服务器140的连接的断开。如果判断为事件是断开,则处理进入步骤s611。在步骤s611中,云处理单元215再次尝试连接到云服务器140。在连接尝试之后,在步骤s610中控制web服务,并且在步骤s605中进行连接事件监视的处理。此后,在步骤s606中判断事件是否是连接尝试中的失败,并且在步骤s608中判断事件是否是连接尝试中的成功;这些步骤之后是它们各自的分支处理。
如果在步骤s609中判断为事件不是与云服务器140的连接的断开,则处理进入步骤s612。在等同于已经从云服务器140接收到字符串的情况的这种情况下,在步骤s612中云处理单元215判断事件是否是字符串的接收。如果在步骤s612中判断为事件是字符串的接收,则处理分支到步骤s610,并且控制web服务。在步骤s610的web服务的控制之后,进行步骤s605的连接事件监视的处理。稍后将参考图7描述步骤s610的处理的详情。如果在步骤s612中判断为事件不是字符串的接收,则处理分支到步骤s613。
在步骤s613中,云处理单元215判断是否已接收到停止信号。如果在步骤s613中判断为接收到停止信号,则处理分支到步骤s614,并且开始终止处理。如果判断为没有接收到停止信号,则处理分支到步骤s605,并且进行连接事件监视的处理。在步骤s614中,云处理单元215判断是否为连接尝试当前正在进行中或连接当前被建立。如果在步骤s614中判断为连接尝试当前正在进行中或者连接当前被建立,则处理分支到步骤s615,并且进行用于断开与云服务器140的连接的处理。此后,本处理结束。另一方面,如果在步骤s614中判断为连接尝试当前未在进行中并且连接当前未建立并且断开,则本处理结束。处理的结束使得返回到作为调用源的图5的步骤s503。
接着,将参考图7描述图6的步骤s610中的用于控制web服务的处理的详情。例如,当已经从云服务器140接收到设置时、当与云服务器140的连接状态已经改变时、以及当已经经过超时时间段时,在图6的步骤s610中调用本处理。
首先,当与云服务器140的连接建立时,可以从云服务器140接收设置信息。因此,在步骤s701中,云处理单元215判断是否已从云服务器140接收到设置信息。如果判断为已经接收到设置信息,则处理进入步骤s702。在步骤s702中,云处理单元215进行接收设置时的处理,并结束本处理。稍后将参考图8描述步骤s702中的接收设置时的处理的详情。
如果在步骤s701中判断为没有接收到设置信息,则处理进入步骤s703,并且云处理单元215判断连接状态是否已改变。由于在步骤s608中判断为连接尝试成功之后或者在步骤s609中判断为与云服务器的连接已断开之后执行步骤s610的处理,因此根据这些情况判断连接状态是否已改变。如果判断为连接状态已改变,则处理分支到步骤s704。如果判断为连接状态没有改变,则处理分支到步骤s705。在步骤s704中,云处理单元215进行连接状态改变时的处理,并结束本处理。稍后将参考图9描述步骤s704的处理的详情。
在步骤s705中,云处理单元215判断是否经过了超时时间段。如将参考图9描述的,当等待状态被设置为等待时,登记超时,并且测量自连接状态的开始起经过的时间段。在步骤s705中,判断该经过的时间段是否已经达到超时时间段。如果在步骤s705中判断为经过的时间段已经达到超时时间段,则处理分支到步骤s706。如果判断为经过的时间段没有达到超时时间段,则本处理结束。在步骤s706中,云处理单元215进行用于超时发生的处理。稍后将参考图10描述步骤s706的处理的详情。
接着,将参考图8描述图7的步骤s702中的处理的详情。图8是示出当已经从云服务器140接收到设置信息时由云处理单元215执行的处理的示例的流程图。当已经从云服务器接收到设置时,在图7的步骤s702中执行该处理。
首先,在步骤s801中,云处理单元215判断所接收的web服务设置是否存在改变。这里,存在改变的情况表示web服务设置的设置值已经从假改变为真的情况,或者设置值已经从真改变为假的情况。如果判断为存在改变,则处理分支到步骤s802。如果判断为不存在改变,则本处理结束。
云处理单元215保持之前接收的web服务设置的设置值,并且当新接收到的设置值与所保持的设置值不同时,判断为web服务设置中存在改变。当从云服务器140接收到web服务设置的设置值时,用作云处理单元215的cpu201可以将该设置值保持在主存储设备202中。在新接收到web服务设置时,cpu201将主存储设备202中保持的先前设置值更新为新接收到的设置值。
在步骤s802中,云处理单元215判断接收到的web服务设置的设置值是否为假。如果判断为设置值为假,则处理分支到步骤s803,将假分配给web服务设置的设置值,此外,在步骤s804中,将web服务的停止分配给稍后执行的作为回调的动作。
如果在步骤s802中判断为设置值为真,则处理分支到步骤s805,云处理单元215将真分配给web服务设置,并将web服务的开始分配给在步骤s806中稍后执行的作为回调的动作。在步骤s804和s806之后,处理进入步骤s807,并且在步骤s807中云处理单元215判断等待状态是否为空闲。如果判断为等待状态是空闲,则处理分支到步骤s808。例如,当在图6的启动处理中空闲保持被分配给等待状态时,处理分支到步骤s808。如果在步骤s807中判断为等待状态是等待,则当前处理结束。在等待状态是等待(自进行连接或断开起没有经过一定时间段的状态)的情况下,处理被暂停,直到在经过一定时间段之后等待状态变为空闲为止。这样,在本实施例中,即使在web服务设置中存在改变,在等待状态为等待期间也不改变与web服务有关的操作。
在下一步骤s808中,判断连接状态是否是连接。如果判断为连接状态是连接,则处理分支到步骤s809,并且如果判断为连接状态是断开,则处理结束。在下一步骤s809中,执行与步骤s804或s806中的分配相对应的动作。如果在步骤s804中分配了web服务的停止,则cpu201停止作为服务器处理单元211和搜索响应单元214的操作。如果在步骤s806中分配了web服务的开始,则cpu201开始作为服务器处理单元211和搜索响应单元214的操作。连接状态是断开的情况被认为是与云服务器140的连接已经断开的状态,并且等待状态是等待的情况被认为是自连接起没有经过一定时间段的状态;因此,在这种情况下,认为不需要执行与步骤s804或s806中的分配相对应的动作,并且处理在不执行该动作的情况下结束。
接着,将参考图9描述图7的步骤s704中的连接状态改变时的处理。图9是针对与云服务器140的连接状态已改变的情况的处理的流程图。关于连接状态的改变,当连接状态已经改变时,使用超时而不立即判断为已经进行了断开或连接;这样,实现了防止颤动。web服务的开始和停止是代价高昂的,因为它们是处理的启动和终止。由于连接状态可能经历颤动,因此使用超时来抑制代价高昂的处理的启动和终止。当与云服务器140的连接状态已改变时,在图7的步骤s704中执行本处理。
首先,在步骤s901中,云处理单元215判断等待状态是否为空闲。如果判断为等待状态是空闲,则处理分支到步骤s902,并且如果判断为等待状态是等待,则处理分支到步骤s904。这里,当连接状态改变时,处理根据等待状态的值而分支。
在下一步骤s902中云处理单元215登记超时并开始测量经过的时间段,并且在随后的步骤s903中将等待状态改变为等待。因此,在连接状态从连接改变为断开的情况下,或者在连接状态从断开改变为连接的情况下,设置超时。
另一方面,在步骤s904中云处理单元215删除超时,并在随后的步骤s905中将等待状态改变为空闲。这样,在等待状态被设置为等待之后所经过的时间段达到超时时间段之前连接状态已经改变的情况下,等待状态被再次设置回空闲。一旦步骤s904和s906的处理结束,本处理结束。注意,在图9的流程图中,即使连接状态已经改变,连接状态本身的设置值也不改变,而仅改变等待状态的设置值。这是因为在超时时间段经过之后,换句话说,在同一连接状态经过了一定时间段之后,连接状态改变。
接着,将参考图10描述图7的步骤s706中的处理的详情。图10是云处理单元215在图9中登记的超时时间段到期时执行的处理的流程图。当判断为发生了超时时,在图7的步骤s706中执行本处理。当在等待状态是等待的情况下发生超时时,在步骤s1001中云处理单元215首先删除所登记的超时。在下一步骤s1002中,云处理单元215将等待状态改变为空闲。然后,在步骤s1003中,判断连接状态是否是断开。如果在步骤s1003中判断为连接状态是断开,则处理分支到步骤s1004。在图9中,当连接状态已改变时,维持连接状态而不改变,但是代替地改变等待状态。因此,在步骤s1004中,云处理单元215等待直到经过了一定时间段为止,并将连接状态改变为连接。这是因为当连接状态的值是断开并且等待状态是等待时,这意味着在连接状态从断开向连接改变之后已经经过了超时时间段。此后,在步骤s1005中,云处理单元215将web服务的停止分配给作为回调的动作。
如果在步骤s1003中判断为连接状态是连接,则处理分支到步骤s1006。在图9中,当连接状态改变时,维持连接状态而不改变,但是代替地改变等待状态。因此,在步骤s1006中,云处理单元215也等待直到经过了一定时间段为止,并将连接状态改变为断开。这是因为当连接状态的值是连接并且等待状态是等待时,这意味着在连接状态从连接向断开改变之后已经经过了超时时间段。然后,在步骤s1007中,云处理单元215将web服务的开始分配给动作的设置值。
在步骤s1005和s1007的处理之后,在步骤s1008中云处理单元215判断web服务设置的设置值是否为假。在启动时(步骤s501),将真分配给web服务设置的设置值,并且当从云服务器140接收到设置时更新设置值(步骤s803、s805)。如果在步骤s1008中判断为web服务设置为假,则处理进入步骤s1009,并且云处理单元215执行与步骤s1005、s1007中的分配相对应的动作。如果web服务的停止被分配给动作的设置值,则cpu201停止作为服务器处理单元211和搜索响应单元214的操作。如果web服务的开始被分配给动作的设置值,则cpu201开始作为服务器处理单元211和搜索响应单元214的操作,并结束本处理。如果在步骤s1008中判断为web服务设置的设置值为真,则云处理单元215结束处理而不执行动作。这是因为判断为web服务设置具有比连接状态的改变更高的优先级,并且忽略连接/断开状态的改变。
如上所述,在本实施例中,监视网络照相机110和云服务器140之间的连接状态,并且即使连接状态已经改变,也在一定时间段内维持web服务的提供状态而不改变。这样,当在考虑与云服务器140的连接状态和web服务设置两者的情况下判断为连接有效时,停止web服务;因此,可以维持高安全性。另外,当不能与云服务器140进行连接时,由于web服务处于启动状态,因此可以对故障的发生迅速地进行原因分析。尽管以上描述了实施例,但实施例并不限定于上述内容,并且在实施例的要旨范围内能够进行各种变形和改变。
其它实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。
虽然已经参考典型实施例描述了本发明,但应理解,本发明不限于所公开的典型实施例。以下权利要求的范围符合最宽的解释,以包含所有这类修改以及等同结构和功能。
1.一种摄像设备,包括:
摄像单元,其被配置为拍摄图像;
通信单元,其被配置为经由网络与客户端和服务器通信;以及
处理单元,其被配置为执行用于与所述客户端通信的第一处理和用于与所述服务器通信的第二处理,
其中,与所述客户端的通信和与所述服务器的通信包括所述图像的发送,以及
在所述第一处理和所述第二处理已经开始之后,在所述通信单元已经建立与所述服务器的通信的情况下,所述处理单元停止所述第一处理,以及在所述通信单元没有建立与所述服务器的通信的情况下,所述处理单元不停止所述第一处理。
2.根据权利要求1所述的摄像设备,其中
所述通信单元从所述服务器接收表示是否执行所述第一处理的设置值,以及
在所述设置值具有表示不执行所述第一处理的值的情况下,所述处理单元停止所述第一处理,以及在所述设置值具有表示要执行所述第一处理的值的情况下,即使在已经建立与所述服务器的通信之后,所述处理单元也不停止所述第一处理。
3.根据权利要求2所述的摄像设备,其中
在所述通信单元已经建立与所述服务器的通信之后并且在经过一定时间段之后,所述处理单元停止所述第一处理。
4.根据权利要求3所述的摄像设备,还包括
保持单元,其被配置为保持所述设置值,
其中,在所述通信单元从所述服务器新接收到的设置值使所述保持单元所保持的设置值从表示要执行所述第一处理的值改变为表示不执行所述第一处理的值的情况下,所述处理单元不停止所述第一处理,直到经过一定时间段为止。
5.根据权利要求1所述的摄像设备,其中
在所述第一处理已经停止之后由所述通信单元进行的与所述服务器的通信已经断开的情况下,所述处理单元开始所述第一处理。
6.根据权利要求5所述的摄像设备,其中
在由所述通信单元进行的与所述服务器的通信已经断开之后,在经过一定时间段之后,所述处理单元开始所述第一处理。
7.根据权利要求1所述的摄像设备,其中
所述处理单元通过执行所述第一处理而用作针对所述客户端的web服务器。
8.根据权利要求7所述的摄像设备,其中
所述第一处理包括对从所述客户端接收到的搜索请求的响应。
9.根据权利要求1所述的摄像设备,还包括
通知单元,其被配置为给出与所述服务器的通信的状态的通知。
10.一种系统,包括:
摄像设备,其包括:
摄像单元,其被配置为拍摄图像,
通信单元,其被配置为经由网络与客户端和服务器通信,以及
处理单元,其被配置为执行用于与所述客户端通信的第一处理和用于与所述服务器通信的第二处理,
其中,与所述客户端的通信和与所述服务器的通信包括所述图像的发送,以及
在所述第一处理和所述第二处理已经开始之后,在所述通信单元已经建立与所述服务器的通信的情况下,所述处理单元停止所述第一处理,以及在所述通信单元没有建立与所述服务器的通信的情况下,所述处理单元不停止所述第一处理;服务器,用于存储由所述摄像设备拍摄的图像;以及
客户端,用于从所述服务器或所述摄像设备获得由所述摄像设备拍摄的图像。
11.一种摄像设备的控制方法,所述摄像设备包括:摄像单元,其被配置为拍摄图像;通信单元,其被配置为经由网络与客户端和服务器通信;以及处理单元,其被配置为执行用于与所述客户端通信的第一处理和用于与所述服务器通信的第二处理,所述控制方法包括:
使用所述处理单元开始所述第一处理;
使用所述处理单元开始所述第二处理;
使用所述通信单元做出建立与所述服务器的通信的尝试;以及
在已经建立与所述服务器的通信的情况下,停止使用所述处理单元的所述第一处理,
其中,在所述停止中,在尚未建立与所述服务器的通信的情况下,所述处理单元不停止所述第一处理,以及
与所述客户端的通信和与所述服务器的通信包括所述图像的发送。
12.一种计算机可读存储介质,其存储有包括指令的一个或多个程序,所述指令在被图像处理设备的处理器执行时使处理单元进行以下操作,所述图像处理设备包括被配置为拍摄图像的摄像单元、被配置为经由网络与客户端和服务器通信的通信单元、以及被配置为执行与所述客户端通信的第一处理和与所述服务器通信的第二处理的所述处理单元:
开始所述第一处理;
开始所述第二处理;
使用所述通信单元做出建立与所述服务器的通信的尝试;以及
在已经建立与所述服务器的通信的情况下,停止所述第一处理,
其中,在所述停止中,在尚未建立与所述服务器的通信的情况下,不停止所述第一处理,以及
与所述客户端的通信和与所述服务器的通信包括所述图像的发送。
技术总结