存储图像数据的方法和装置

文档序号:1492818 发布日期:2020-02-04 浏览:4次 >En<

阅读说明:本技术 存储图像数据的方法和装置 (Method and apparatus for storing image data ) 是由 周晓超 周文斋 于 2018-07-24 设计创作,主要内容包括:本发明公开了一种存储图像数据的方法和装置,属于网络技术领域。所述方法包括:在向服务器传输拍摄的图像数据的过程中,以第一时长为检测周期,检测与服务器之间的网络连接状态;当检测到网络连接状态为连接失败时,将检测周期调节为第二时长,其中,所述第二时长小于第一时长;当连续预设数目个检测周期检测到网络连接状态为连接失败时,确定与所述服务器之间发生网络连接故障,将缓存器中缓存的图像数据和后续拍摄的图像数据存储到本地的非易失存储器中。采用本发明,可以减小图像数据丢失的可能性。(The invention discloses a method and a device for storing image data, and belongs to the technical field of networks. The method comprises the following steps: in the process of transmitting the shot image data to the server, detecting the network connection state between the server and the server by taking the first duration as a detection period; when the network connection state is detected to be a connection failure, adjusting the detection period to be a second time length, wherein the second time length is less than the first time length; and when the network connection state is detected to be connection failure in a continuous preset number of detection periods, determining that network connection failure occurs between the server and the network, and storing the image data cached in the buffer and the subsequently shot image data into a local nonvolatile memory. By adopting the invention, the possibility of image data loss can be reduced.)

存储图像数据的方法和装置

技术领域

本发明涉及网络技术领域,特别涉及一种存储图像数据的方法和装置。

背景技术

随着网络的飞速发展,网络摄像机逐渐进入到教育、医疗、商业等领域,在各领域中发挥着重要作用。目前,网络摄像机拍摄得到的照片或视频通常上传到服务器中进行存储,用此方式减少本地存储器存储容量的限制。

当网络摄像机进行拍摄时,将拍摄到的图像数据临时存储在缓存中,缓存中分为多个缓存单元,当一个缓存单元存满后,网络摄像机就将这个缓存单元中的数据上传到服务器中。当缓存中的所有缓存单元都存满后,网络摄像机在存储后续的图像数据时,会从最先存储数据的缓存单元开始按顺序覆盖已存储的图像数据。同时,网络摄像机具备检测断网的机制,周期性地向服务器端口发送网络检测信令,当连续三次的检测服务器端口处于连接失败的状态,则确定网络摄像机与服务器连接断开,即发生了网络故障,网络摄像机将拍摄到的图像数据缓存的图像数据和后续拍摄的图像数据存储到本地存储器中。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

在上述方案中,从发生网络故障到网络摄像机检测并处理网络故障存在一定的响应时间,这段响应时间比较长,使存储在缓存中的图像数据可能会被覆盖,导致这部分图像数据丢失。

发明内容

为了解决现有技术的问题,本发明实施例提供了一种存储图像数据的方法和装置。所述技术方案如下:

第一方面,提供了一种存储图像数据的方法,所述方法包括:

在向服务器传输拍摄的图像数据的过程中,以第一时长为检测周期,检测与所述服务器之间的网络连接状态;

当检测到网络连接状态为连接失败时,将检测周期调节为第二时长,其中,所述第二时长小于所述第一时长;

当连续预设数目个检测周期检测到网络连接状态为连接失败时,确定与所述服务器之间发生网络连接故障,将缓存器中缓存的图像数据和后续拍摄的图像数据存储到本地的非易失存储器中。

可选地,所述第二时长为所述第一时长的1/n,其中,n为正整数。

可选地,所述将检测周期调节为第二时长之后,还包括:

当检测到网络连接状态为连接成功时,将所述检测周期调节为所述第一时长。

可选地,所述方法还包括:

当连续预设数目个检测周期检测到网络连接状态为连接失败时,将所述检测周期调节为所述第一时长。

可选地,所述方法还包括:

当检测到网络连接状态为连接成功时,向所述服务器传输所述非易失存储器中的图像数据,并向所述服务器传输后续拍摄的图像数据。

可选地,所述方法还包括:

持续在拍摄的图像数据中获取关键帧数据,进行备份,当备份的关键帧数据的数据量达到预设阈值时,对最先备份的关键帧数据进行覆盖;

当连续预设数目个检测周期检测到网络连接状态为连接失败时,将当前备份的关键帧数据复制到所述非易失存储器中;

当检测到网络连接状态为连接成功时,向所述服务器传输复制的关键帧数据。

可选地,所述方法还包括:

当任一图像数据存入缓存器时,为所述任一图像数据添加第一状态标签,当为所述任一图像数据申请到所述服务器的目标存储地址时,将所述任一图像数据的所述第一状态标签修改为第二状态标签,当开始向所述服务器上传所述任一图像数据时,将所述任一图像数据的所述第二状态标签修改为第三状态标签,当所述任一图像数据上传完毕时,将所述任一图像数据的所述第三状态标签修改为第四状态标签;

所述将缓存器中缓存的图像数据和后续拍摄的图像数据存储到本地的非易失存储器中,包括:

将缓存器中缓存的状态标签不是第四状态标签的图像数据,存储到本地的非易失存储器中;

在所述非易失存储器中,将状态标签为第二状态标签或第三状态标签的图像数据的状态标签修改为第一状态标签。

可选地,所述方法还包括:

当在所述任一图像数据的状态标签为第二状态标签或第三状态标签的情况下,接收到所述服务器发送的所述目标存储地址的占用通知时,将所述任一图像数据的状态标签修改为第一状态标签。

第二方面,提供了一种存储图像数据的装置,所述装置包括:

网络模块,用于在向服务器传输拍摄的图像数据的过程中,以第一时长为检测周期,检测与所述服务器之间的网络连接状态;

处理器,用于当所述网络模块检测到网络连接状态为连接失败时,将检测周期调节为第二时长,其中,所述第二时长小于所述第一时长;

所述处理器,用于当连续预设数目个检测周期检测到网络连接状态为连接失败时,确定与所述服务器之间发生网络连接故障,将缓存器中缓存的图像数据和后续拍摄的图像数据存储到本地的非易失存储器中。

可选地,所述第二时长为所述第一时长的1/n,其中,n为正整数。

可选地,所述处理器,还用于:

将检测周期调节为第二时长之后,当所述网络模块检测到网络连接状态为连接成功时,将所述检测周期调节为所述第一时长。

可选地,所述处理器,还用于:

当所述网络模块连续预设数目个检测周期检测到网络连接状态为连接失败时,将所述检测周期调节为所述第一时长。

可选地,所述处理器还用于:

当所述网络模块检测到网络连接状态为连接成功时,向所述服务器传输所述非易失存储器中的图像数据,并向所述服务器传输后续拍摄的图像数据。

可选地,所述处理器还用于:

持续在拍摄的图像数据中获取关键帧数据,进行备份,当备份的关键帧数据的数据量达到预设阈值时,对最先备份的关键帧数据进行覆盖;

当所述网络模块连续预设数目个检测周期检测到网络连接状态为连接失败时,将当前备份的关键帧数据复制到所述非易失存储器中;

当所述网络模块检测到网络连接状态为连接成功时,通过所述网络模块向所述服务器传输复制的关键帧数据。

可选地,所述处理器还用于:

当任一图像数据存入缓存器时,为所述任一图像数据添加第一状态标签,当为所述任一图像数据申请到所述服务器的目标存储地址时,将所述任一图像数据的所述第一状态标签修改为第二状态标签,当通过所述网络模块开始向所述服务器上传所述任一图像数据时,将所述任一图像数据的所述第二状态标签修改为第三状态标签,当所述任一图像数据上传完毕时,将所述任一图像数据的所述第三状态标签修改为第四状态标签;

所述处理器还用于:

将缓存器中缓存的状态标签不是第四状态标签的图像数据,存储到本地的非易失存储器中;

在所述非易失存储器中,将状态标签为第二状态标签或第三状态标签的图像数据的状态标签修改为第一状态标签。

可选地,所述处理器还用于:

当在所述任一图像数据的状态标签为第二状态标签或第三状态标签的情况下,通过所述网络模块接收到所述服务器发送的所述目标存储地址的占用通知时,将所述任一图像数据的状态标签修改为第一状态标签。

第三方面,一种计算机设备,其特征在于,所述计算机设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现如上述第一方面所述的方法步骤。

第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述第一方面所述的存储图像数据的方法。

本发明实施例提供的技术方案带来的有益效果至少包括:

本发明实施例中,在按照检测周期,对网络摄像机与服务器之间的网络连接状态进行检测时,当检测到网络连接状态为连接失败时,将检测周期调节为更短的时长,这样,可以更快的确定是否与服务器之间发生网络连接故障,即缩短了从发生网络故障到网络摄像机检测并处理网络故障的响应时间,减小存储在缓存中的图像数据被覆盖的可能性,即减小了图像数据丢失的可能性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种存储图像数据的方法的流程图;

图2是本发明实施例提供的一种存储图像数据的方法的示意图;

图3是本发明实施例提供的一种存储图像数据的方法的示意图;

图4是本发明实施例提供的一种存储图像数据的方法的示意图;

图5是本发明实施例提供的一种存储图像数据的装置的结构示意图;

图6是本发明实施例提供的一种网络摄像机的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种存储图像数据的方法,该方法可以由网络摄像机实现。其中,网络摄像机配置有本地的非易失存储器。

网络摄像机可以包括处理器、存储器、收发器、图像检测部件等部件。处理器,可以为CPU(Central Processing Unit,中央处理单元)等,可以用于按照检测周期检测与服务器之间的网络连接状态、调节检测周期、确定与服务器之间发生网络连接故障、将缓存器中缓存的图像数据存储到本地的非易失存储器等处理。存储器,可以为RAM(Random AccessMemory,随机存取存储器),Flash(闪存),非易失存储器等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如拍摄的图像数据、第一时长、第二时长、网络连接状态、预设数目、缓存的图像数据等。收发器,可以用于与其它设备进行数据传输,例如,向服务器上传拍摄的图像数据,可以包括天线、匹配电路、调制解调器等。图像检测部件可以是摄像头等。网络摄像机还可以包括屏幕、图像检测部件、音频输出部件和音频输入部件等。屏幕可以用于拍摄到的图像数据。音频输出部件可以是音箱、耳机等。音频输入部件可以是麦克风等。

如图1所示,该方法的处理流程可以包括如下的步骤:

在步骤101中,在向服务器传输拍摄的图像数据的过程中,以第一时长为检测周期,检测与服务器之间的网络连接状态。

在实施中,网络摄像机可以用于拍摄视频或抓图,并上传到服务器中进行存储,如图2中的传输线路①所示,用此方式减少本地存储器存储容量的限制。

在向服务器传输拍摄的图像数据的过程中,网络摄像机具备检测断网的机制,以第一时长为检测周期,周期性地向服务器端口发送网络检测信令,以此确定与服务器之间的网络连接状态。

在步骤102中,当检测到网络连接状态为连接失败时,将检测周期调节为第二时长,其中,第二时长小于第一时长。

在实施中,通过上述步骤周期性地确定网络连接状态后,当检测到网络连接状态为连接失败时,说明当前网络摄像机可能与服务器的连接出现故障,为了尽快确定是否与服务器断开了连接,可以将检测周期调整为第二时长,该第二时长时比第一时长短的时长。这样,可以减少判断网络连接状态的时间,尽快确定是否与服务器断开了连接,提高了检测的效率。

可选地,第二时长为第一时长的1/n,其中,n为正整数。

在实施中,技术人员可以将第二时长设置为第一时长的1/n,按照技术人员多次试验的经验,可以将第二时长设置为第一时长的1/5。

可选地,在检测到网络连接状态为连接失败后,当检测到网络连接状态为连接成功时,将检测周期调节为第一时长。

在实施中,当检测到网络连接状态为连接失败后,又检测到网络连接状态为连接成功时,说明当前网络是畅通的,即可以与服务器进行数据的传输,因此,这种情况下不必太过频繁的检测网络连接状态,以免浪费资源,因此,这种情况下,可以将检测周期重新调整为第一时长。

可选地,当连续预设数目个检测周期检测到网络连接状态为连接失败时,将检测周期调节为第一时长。

在实施中,根据技术人员的设定,当连续预设数目个检测周期检测到网络连接状态为连接失败时,就可以确定网络摄像机与服务器断开连接,无法进行数据的传输。因此,这种情况下不必太过频繁的检测网络连接状态,以免浪费资源,因此,这种情况下,将检测周期重新调整为第一时长。

在步骤103中,当连续预设数目个检测周期检测到网络连接状态为连接失败时,确定与服务器之间发生网络连接故障,将缓存器中缓存的图像数据和后续拍摄的图像数据存储到本地的非易失存储器中。

在实施中,技术人员可以预先设定当连续预设数目个检测周期检测到网络连接状态为连接失败时,即确定与服务器之间发生网络连接故障,如连续三次检测到网络连接状态为连接失败时,就确定与服务器之间发生网络连接故障,这样,可以提高检测的准确性。

当确定与服务器连接失败后,为了保留与服务器断开连接这段时间内网络摄像机拍摄的图像数据,可以将当前缓存器中缓存的图像数据和后续拍摄的图像数据存储到本地的非易失存储器中进行保存。

可选地,当网络摄像机与服务器重新连接后,可以将图像数据备份到服务器中,相应的处理如下:当检测到网络连接状态为连接成功时,向服务器传输非易失存储器中的图像数据,并向服务器传输后续拍摄的图像数据。

在实施中,当网络摄像机重新检测到网络连接状态为连接成功时,说明当前网络摄像机与服务器建立连接,可以进行数据的传输,这种情况下,为了减轻本地的非易失存储器的容量带来的限制,可以将存储在非易失存储器中的图像数据备份到服务器中,如图2中的传输线路②所示,同时将后续拍摄的图像数据正常的传输到服务器中。

这样,当非易失存储器的存储容量不足时,可以使用新拍摄的图像数据,对非易失存储器中的图像数据进行覆盖处理,这样可以使非易失存储器具有覆盖机制,避免存储容量带来的限制,又可以避免具有覆盖机制的非易失存储器使存储的图像数据发生丢失。

可选地,为了减少从发生网络故障到网络摄像机检测并处理网络故障的这段时间内丢失的图像数据,可以进行如下处理:持续在拍摄的图像数据中获取关键帧数据,进行备份,当备份的关键帧数据的数据量达到预设阈值时,对最先备份的关键帧数据进行覆盖;当连续预设数目个检测周期检测到网络连接状态为连接失败时,将当前备份的关键帧数据复制到非易失存储器中;当检测到网络连接状态为连接成功时,向服务器传输复制的关键帧数据。

在实施中,在将拍摄的图像数据临时存储在缓存器中时,缓存器与预设的存储区(即第一存储区)进行关联,缓存器的存储指针指向第一存储区。在缓存器中提取这些图像数据的关键帧数据,将这些关键帧数据备份存储在第一存储区中。如果网络连接正常的情况下,网络摄像机在将拍摄到的图像数据上传到服务器的同时,将获取到的关键帧数据采用覆盖机制不断备份到第一存储区中。

当连续预设数目个检测周期检测到网络连接状态为连接失败时,即网络摄像机检测到与服务器断开连接时,将拍摄到的图像数据存储在本地的非易失存储器的同时,网络摄像机不对第一存储区进行数据覆盖,而是为后续获取的关键帧数据新申请一个存储空间,即为第二存储区,如图3所示,将与缓存器关联的存储指针指向第二存储区,即将后续提取的关键帧数据一覆盖机制临时存储在第二存储区中。这样,就可以保留从发生网络故障到网络摄像机检测并处理网络故障的这段时间内拍摄的图像数据的关键帧,即保留丢失的图像数据的重要图像。

在网络摄像机与服务器连接成功后,网络摄像机可以将发生网络故障到网络摄像机检测并处理网络故障这段时间缓存的关键帧数据、整个网络故障期间存储在本地的非易失存储器中的图像数据、以及与服务器连接后拍摄到的图像数据上传到服务器中。

需要说明的是,上述图像数据可以按照预设大小的图像数据形成一个完整的图像文件进行管理,例如256M的图像数据为一个完整文件。在网络摄像机将图像数据上传到服务器的过程中,可以按照预设单位数值将图像数据分成多个图像数据单元进行上传,例如按照1M的图像数据为一个图像数据单元进行上传。上述图像文件的预设大小数值以及图像数据单元的预设单位数值均取决于本地的非易失存储器的存储格式。

可选地,上述图像数据可以采用四种不同的状态标签来标注图像数据的状态,当任一图像数据存入缓存器时,为任一图像数据添加第一状态标签,当为任一图像数据申请到服务器的目标存储地址时,将任一图像数据的第一状态标签修改为第二状态标签,当开始向服务器上传任一图像数据时,将任一图像数据的第二状态标签修改为第三状态标签,当任一图像数据上传完毕时,将任一图像数据的第三状态标签修改为第四状态标签。

一个可能的实施例中,对于上述四种状态标签,可以用于在数据备份的过程中,根据上述四种状态标签在备份过程的转化过程是:第一状态标签→第二状态标签→第三状态标签→第四状态标签,如下表1所示。

表1

状态标签 状态解释
第一状态标签 待分配数据
第二状态标签 已分配数据
第三状态标签 完成数据
第四状态标签 正常文件

当检测有图像数据存储在缓存器中时,网络摄像机将缓存器中存储的图像数据确定为第一状态标签。第一状态标签表示需要备份的文件,当网络摄像机与服务器重新建立连接后,网络摄像机检测到标有第一状态标签的图像数据时,为该图像数据分配在服务器的存储位置。

为图像数据分配了在服务器的存储位置后,将图像数据的状态标签修改为第二状态标签。第二状态标签表示已经在网络存储介质上完成了存储位置的分配,等待进行数据备份。

按照分配的存储位置,将图像数据备份服务器中,在备份开始时,将图像数据的状态标签修改为第三状态标签。第三状态标签表示正在进行图像数据发送到服务器中。

当一个完整的图像文件完成备份后,将本地的非易失存储器中的这个完整的图像文件中的图像数据的状态标签修改为第四状态标签。第四状态标签表示备份完成后的状态,此类图像数据属于已经备份完成的图像数据,不会触发备份。

可选地,当网络摄像机检测到与服务器之间发生网络连接故障时,在将缓存器中缓存的图像数据和后续拍摄的图像数据存储到本地的非易失存储器中时,可以按照图像数据的状态标签来区分哪些图像数据需要存储到本地的非易失存储器中,相应的处理步骤可以如下:将缓存器中缓存的状态标签不是第四状态标签的图像数据,存储到本地的非易失存储器中;在非易失存储器中,将状态标签为第二状态标签或第三状态标签的图像数据的状态标签修改为第一状态标签。

一个可能的实施例中,由于第四状态标签用于表示图像数据已完成备份,因此,缓存器中标示有第四状态标签的图像数据是已经备份到服务器的图像数据,因此,缓存器中状态标签为第四状态标签的图像数据不需要存储到本地的非易失存储器中,因此,网络摄像机将不是第四状态标签的图像数据(即状态标签为第一状态标签、第二状态标签、第三状态标签的图像数据)存储到本地的非易失存储器中,以使当网络摄像机与服务器重新连接后,这些图像数据可以备份到服务器中。

将状态标签为第一状态标签、第二状态标签、第三状态标签的图像数据存储到非易失存储器后,将状态标签为第二状态标签或第三状态标签的图像数据的状态标签修改为第一状态标签,以便当网络摄像机与服务器重新建立连接后,为这些需要备份到服务器的图像数据申请在服务器中的存储地址,使得这些图像数据可以顺利备份到服务器中。

需要说明的是,上述将存储在非易失存储器中的、状态标签为第二状态标签或第三状态标签的图像数据的状态标签修改为第一状态标签的操作,可以如上述步骤发生在将图像数据存储到非易失存储器后进行,除此之外也可以是,当网络摄像机与服务器重新建立连接后,网络摄像机检测非易失存储器中是否存在有状态标签为第二状态标签或第三状态标签的图像数据,如果存在,则将这些图像数据的状态标签修改为第一状态标签。本发明对该修改处理发生的时间不做限制。

需要说明的是,在图像数据进行备份的过程中,对于每一份需要备份的图像数据,都经过上述四个状态的转换。另外,上述四个状态标签不仅可以用于图像数据,还可以用于管理存储空间的配置文件,以此标示存储空间的状态。对于服务器上的管理存储空间的配置文件,可以具有三种状态标签,其在备份过程的转化过程是:第二状态标签→第三状态标签→第四状态标签。

当网络摄像机为本地的非易失存储器中的图像数据申请在服务器的存储空间后,管理该存储空间的配置文件的状态标签修改为第二状态标签,表示该空间已被预定,等待图像数据的存入。

当网络摄像机将本地的非易失存储器中的图像数据开始上传到服务器时,将管理该存储空间的配置文件的状态标签修改为第三状态标签,表示该存储空间正在进行数据接收。

当网络摄像机将本地的非易失存储器中的完整的图像文件中的图像数据上传到服务器时,将管理该存储空间的配置文件的状态标签修改为第四状态标签,表示该存储空间已完成完整的图像文件的存入,服务器根据该图像文件对图像文件索引进行更新,使得可以通过图像文件索引查询该图像文件,即该存储空间存储的图像数据可以被查看或下载。

可选地,对于上述状态转换的过程,可能由于检测异常或执行出现错误,这种情况下,可以通过对图像数据的状态标签进行修改来进行修正,相应的操作步骤可以如下:当在任一图像数据的状态标签为第二状态标签或第三状态标签的情况下,接收到服务器发送的目标存储地址的占用通知时,将任一图像数据的状态标签修改为第一状态标签。

一个可能的实施例中,当图像数据的状态标签为第二状态标签时,如图4中的①所示,即已经为图像数据申请了在服务器的存储位置时,网络摄像机与服务器的连接又出现故障或为该图像数据分配的存储空间被优先级更高的其他线程占用时,可以将状态标签修改为第一状态标签,重新为该图像数据申请存储位置。

当存储在本地的非易失存储器中的图像数据的状态标签为第三状态标签时,如图4中的②所示,即图像数据正在上传到服务器的过程中时,网络摄像机与服务器的连接又出现故障导致图像数据不能正常上传到服务器,或为该图像数据分配的存储空间被优先级更高的其他线程占用时,将该图像数据的状态标签修改为第一状态标签,重新为该图像数据申请存储位置。

需要说明的是,除了对图像数据的状态标签进行修改外,还可以对管理存储空间的配置文件的状态标签进行修改,从而对异常情况进行修正。

当存储在服务器的存储空间中的图像数据的状态标签为第三状态标签时,如图4中的③所示,即完整的图像文件的图像数据还未完成传输时,网络摄像机与服务器的连接又出现故障导致图像数据不能正常上传到服务器,则将服务器中接收的这部分图像数据的状态标签修改为第四状态标签,这样,由于不是完整的图像文件,因此这部分图像数据不能更新索引,当服务器检测到有图像数据的状态标签为第四状态标签,但索引中查不到该图像数据时,判定该图像数据为无效的图像数据,该存储空间可以被重新申请,该存储空间中的图像数据可以被新存入的图像数据覆盖掉,这样可以避免存储空间一直被无效数据占用。

当管理存储空间的配置文件的状态标签为第二状态标签时,如图4中的④所示,即该存储空间已经被预定时,检测到网络摄像机与服务器再次发生网络故障,或本地的非易失存储器被损坏,即图像数据无法正常存入该存储空间时,这种情况下,可以将该管理存储空间的配置文件的状态标签修改为第四状态标签,使得该存储空间可以被其它图像数据申请,避免存储空间被浪费。

当检测到存储在服务器中的图像数据的状态标签为第一状态标签时,如图4中的⑤所示,即检测到有图像数据的状态标签为非正常的第一状态标签时,例如已经备份了的图像数据的状态标签为第一状态标签时,将该图像数据的状态标签修改为第四状态标签,使这些图像数据成为无需备份的图像数据。

需要说明的是,对于上述存储在服务器中的数据,当服务器的存储空间即将被存满时,用户可以选择优先保留备份时间早的图像数据,也可以优先保留最近备份的图像数据。

当用户选择优先保留备份时间早的图像数据时,如果服务器检测到存储容量不足,则拒绝存储网络摄像机发送的图像数据。

当用户选择优先保留最近备份的图像数据时,如果服务器检测到存储容量不足时,则按照图像数据的存储顺序,依次覆盖最先存储的图像数据。

本发明实施例中,在按照检测周期,对网络摄像机与服务器之间的网络连接状态进行检测时,当检测到网络连接状态为连接失败时,将检测周期调节为更短的时长,这样,可以更快的确定是否与服务器之间发生网络连接故障,即缩短了从发生网络故障到网络摄像机检测并处理网络故障的响应时间,减小存储在缓存中的图像数据被覆盖的可能性,即减小了图像数据丢失的可能性。

基于相同的技术构思,本发明实施例还提供了一种存储图像数据的装置,该装置可以为上述实施例中的网络摄像机,如图5所示,该装置包括:网络模块510和处理器520。

该网络模块510,被配置为在向服务器传输拍摄的图像数据的过程中,以第一时长为检测周期,检测与服务器之间的网络连接状态;

该处理器520,被配置为当检测到网络连接状态为连接失败时,将检测周期调节为第二时长,其中,所述第二时长小于第一时长;

该处理器520还被配置为当连续预设数目个检测周期检测到网络连接状态为连接失败时,确定与所述服务器之间发生网络连接故障,将缓存器中缓存的图像数据和后续拍摄的图像数据存储到本地的非易失存储器中。

可选地,所述第二时长为所述第一时长的1/n,其中,n为正整数。

可选地,所述处理器520,还被配置为:

将检测周期调节为第二时长之后,当网络模块510检测到网络连接状态为连接成功时,将所述检测周期调节为所述第一时长。

可选地,所述处理器520,还被配置为:

当网络模块510连续预设数目个检测周期检测到网络连接状态为连接失败时,将所述检测周期调节为所述第一时长。

可选地,所述处理器520还被配置为:

当网络模块510检测到网络连接状态为连接成功时,通过网络模块510向所述服务器传输所述非易失存储器中的图像数据,并向所述服务器传输后续拍摄的图像数据。

可选地,所述处理器520还被配置为:

持续在拍摄的图像数据中获取关键帧数据,进行备份,当备份的关键帧数据的数据量达到预设阈值时,对最先备份的关键帧数据进行覆盖;

当网络模块510连续预设数目个检测周期检测到网络连接状态为连接失败时,将当前备份的关键帧数据复制到所述非易失存储器中;

当网络模块510检测到网络连接状态为连接成功时,通过网络模块510向所述服务器传输复制的关键帧数据。

可选地,所述处理器520还被配置为:

当任一图像数据存入缓存器时,为所述任一图像数据添加第一状态标签,当为所述任一图像数据申请到服务器的目标存储地址时,将所述任一图像数据的所述第一状态标签修改为第二状态标签,当通过网络模块510开始向所述服务器上传所述任一图像数据时,将所述任一图像数据的所述第二状态标签修改为第三状态标签,当所述任一图像数据上传完毕时,将所述任一图像数据的所述第三状态标签修改为第四状态标签;

所述处理器520还被配置为:

将缓存器中缓存的状态标签不是第四状态标签的图像数据,存储到本地的非易失存储器中;

在所述非易失存储器中,将状态标签为第二状态标签或第三状态标签的图像数据的状态标签修改为第一状态标签。

可选地,所述处理器520还被配置为:

当在所述任一图像数据的状态标签为第二状态标签或第三状态标签的情况下,通过网络模块510接收到所述服务器发送的所述目标存储地址的占用通知时,将所述任一图像数据的状态标签修改为第一状态标签。

本发明实施例中,在按照检测周期,对网络摄像机与服务器之间的网络连接状态进行检测时,当检测到网络连接状态为连接失败时,将检测周期调节为更短的时长,这样,可以更快的确定是否与服务器之间发生网络连接故障,即缩短了从发生网络故障到网络摄像机检测并处理网络故障的响应时间,减小存储在缓存中的图像数据被覆盖的可能性,即减小了图像数据丢失的可能性。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

需要说明的是:上述实施例提供的存储图像数据的装置在存储图像数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络摄像机的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储图像数据的装置与存储图像数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图6是本发明实施例提供的一种网络摄像机的结构框图。通常,网络摄像机600包括有:处理器601和存储器602。

处理器601可以包括一个或多个处理核心,比如4核心处理器、10核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中提供的存储图像数据的方法。

在一些实施例中,网络摄像机600还可选包括有:***设备接口603和至少一个***设备。具体地,***设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。

***设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和***设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和***设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它网络摄像机进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。

触摸显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏605还具有采集在触摸显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。触摸显示屏605用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏605可以为一个,设置网络摄像机600的前面板;在另一些实施例中,触摸显示屏605可以为至少两个,分别设置在网络摄像机600的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏605可以是柔性显示屏,设置在网络摄像机600的弯曲表面上或折叠面上。甚至,触摸显示屏605还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏605可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。

摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路607用于提供用户和网络摄像机600之间的音频接口。音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在网络摄像机600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。

定位组件608用于定位网络摄像机600的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源609用于为网络摄像机600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,网络摄像机600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。

加速度传感器611可以检测以网络摄像机600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器612可以检测网络摄像机600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对网络摄像机600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器613可以设置在网络摄像机600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在网络摄像机600的侧边框时,可以检测用户对网络摄像机600的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,可以根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器614用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置网络摄像机600的正面、背面或侧面。当网络摄像机600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商Logo集成在一起。

光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。

接近传感器616,也称距离传感器,通常设置在网络摄像机600的正面。接近传感器616用于采集用户与网络摄像机600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与网络摄像机600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与网络摄像机600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图6中示出的结构并不构成对网络摄像机600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本发明实施例中,在按照检测周期,对网络摄像机与服务器之间的网络连接状态进行检测时,当检测到网络连接状态为连接失败时,将检测周期调节为更短的时长,这样,可以更快的确定是否与服务器之间发生网络连接故障,即缩短了从发生网络故障到网络摄像机检测并处理网络故障的响应时间,减小存储在缓存中的图像数据被覆盖的可能性,即减小了图像数据丢失的可能性。

在示例性实施例中,还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述实施例中的识别动作类别的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:行车轨迹记录方法、装置及行车轨迹分享系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类