一种缓存补录方法和装置的制造方法
【技术领域】
[0001] 本发明涉及存储技术领域,尤其涉及一种缓存补录方法和装置。
【背景技术】
[0002] ANR(Automatic Network Replenishment Technology,断网智能补录技术)是一 种结合本地存储和网络存储的技术。具备ANR技术的视频编码设备会在网络出现故障时自 动启用本地存储,该过程通常称为缓存;网络恢复后再将视频编码设备存储在本地的录像 数据同步至视频管理服务器,该过程通常称为补录。
[0003] 在视频监控领域中,通常由视频管理服务器主动根据本地录像缺失时间段向视 频编码设备检索需补录的录像,其中检索精度为秒级,再将获取的视频编码设备存储在本 地的录像数据写入存储设备。同时为便于事后分析录像数据,通常将视频画面进行时间 OSD (On Screen Display,屏幕菜单式调节方式)叠加处理后再进行存储,即通常存储的录 像数据中已叠加时间0SD信息。
[0004] 由于视频编码设备和视频管理服务器的时间晶振频率不同或硬件的差异,两者间 存在时间不同步的问题。在网络故障发生后,视频编码设备与视频管理服务器间无法通过 信令进行时间同步。当两者时间不同步时,后续补录的录像与已有录像存在衔接不连续引 起的事后取证关键线索丢失的问题和回放画面卡顿、回放画面上的时间0SD跳秒等体验差 的问题。
【发明内容】
[0005] 有鉴于此,本发明提供一种缓存补录方法和装置,保证网络恢复后补录的视频编 码设备的本地存储录像与视频管理服务器上已有录像无缝衔接,解决录像数据不完整引起 的事后取证关键线索丢失的问题及解决录像数据不完整或录像数据重复引起的回放画面 卡顿和回放画面上时间0SD跳秒等体验性差的问题。
[0006] 该缓存补录方法,应用于视频监控系统,所述视频监控系统包括视频编码设备和 视频管理服务器,其特征在于,所述方法包括:
[0007] 视频编码设备在网络发生故障后,根据固定周期校正系统时间,并根据已校正的 系统时间进行本地存储,且本地存储的录像数据已进行时间0SD叠加处理;
[0008] 视频管理服务器在网络故障恢复后,发送录像检索请求,所述录像检索请求包括 已校正的检索时间段;
[0009] 视频编码设备根据所述录像检索请求检索本地存储的录像数据,并对匹配的录像 数据进行I帧组完整性检查,将包含完整I帧组时间信息的录像时间段作为检索结果返 回;
[0010] 视频管理服务器判断所述检索结果所携带的录像时间段是否与请求的检索时间 段一致,如果不一致,则校正补录时间段;
[0011] 视频管理服务器发送录像数据流请求,并接收视频编码设备发送的录像数据流, 同时根据已校正的补录时间段将接收的录像数据写入存储设备。
[0012] 优选地,所述根据固定周期进行系统时间校正,包括:视频编码设备获取其与视频 管理服务器间每次时间同步前后的系统时间差值,同时根据该时间差值计算每相差TI时 间的间隔T,并取T的绝对值| T |作为网络故障后校正系统时间的固定周期,其中TI时间单 位为毫秒;如果间隔T为正数,则每经过固定周期| T |,取当前系统时间与TI的和作为校正 后的系统时间;如果间隔T为负数,则每经过固定周期|T|,取当前系统时间与TI的差作为 校正后的系统时间。
[0013] 优选地,所述已校正的检索时间段的计算方式,包括:视频管理服务器获取视频 编码设备存储异常的时间间隔NVR_IPCOffLineTI和视频管理服务器与视频编码设备间的 时间差值NVR_IPC_TD,并根据所述NVR_IPCOffLineTI和NVR_IPC_TD计算视频管理服务 器与视频编码设备间每秒钟的时间差值TS,其中TS = NVR_IPC_TD/NVR_IPCOffLineTI, 且NVR_IPCOffLineTI、NVR_IPC_TD及TS的单位为毫秒;视频管理服务器统计补录时间段, 所述补录时间段的补录起始时间为NVRBeginT,补录结束时间为NVREndT,其中NVRBeginT 和NVREndT的单位为毫秒;视频管理服务器校正检索时间段,所述检索时间段的检索起始 时间为 IPCBeginT,其中 IPCBeginT = NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)), 所述检索时间段的检索结束时间为IPCEndT,其中IPCEndT = NVREndT-((NVREndT-NVR_ IPCOfflineT) *TS) ),NVR_IPCOfflineT 为网络故障发生时的系统时间,且 IPCBeginT、 IPCEndT 及 NVR_IPCOfflineT 的单位为毫秒。
[0014] 优选地,所述录像I帧组完整性检查,包括:视频编码设备本地存储时在每个I帧 组的I帧帧头部分记录该I帧组最后一个P帧的结束时间;如果检索结束时间访问到的数 据帧不是其所在I帧组的最后一个P帧,则将最后一个P帧的时间信息作为检索结果中录 像时间段的结束时间返回。
[0015] 优选地,所述校正补录时间段,包括:视频编码设备返回的检索结果,包括录像起 始时间NewIPCBenginT和录像结束时间NewIPCEndT,其中NewIPCBenginT和NewIPCEndT的 单位为毫秒;如果录像起始时间NewIPCBenginT与检索起始时间IPCBeginT不相同,则校正 补录的起始时间NewNVRBenginT,其中NewNVRBenginT=NewIPCBenginT+(NewIPCBenginT -NVR_IPCOfflineT)*TS ;如果录像结束时间NewIPCEndT与检索结束时间IPCEndT不相同, 则校正补录的结束时间NewNVREndT,其中NewNVREndT=NewIPCEndT+(NewIPCEndT-NVR_ IPCOfflineT)*TS〇
[0016] 基于同样的构思,本发明提供一种缓存补录装置,应用于视频监控系统,包括视频 编码设备和视频管理服务器,其特征在于,所述装置包括:
[0017] 存储时间校正模块,用于在网络故障发生后,视频编码设备根据固定周期进行系 统时间校正,并根据已校正的系统时间进行本地存储,且本地存储的录像数据已进行时间 0SD叠加处理;
[0018] 检索时间校正模块,用于在网络故障恢复后,视频管理服务器发送录像检索请求, 所述录像检索请求包括已校正的检索时间段;
[0019] 录像I帧组完整性检查模块,用于视频编码设备根据所述录像检索请求检索本地 存储的录像数据,并对匹配的录像数据进行I帧组完整性检查,将包含完整I帧组时间信息 的录像时间段作为检索结果返回;
[0020] 补录时间校正模块,用于视频管理服务器判断所述检索结果所携带的录像时间段 是否与请求的检索时间段一致,如果不一致,则校正补录时间段;
[0021] 录像补录模块,用于视频管理服务器发送录像数据流请求,并接收视频编码设备 发送的录像数据流,同时根据已校正的补录时间段将接收的录像数据写入存储设备。
[0022] 优选地,所述存储时间校正模块,还包括:通过视频编码设备获取其与视频管理服 务器间每次时间同步前后的系统时间差值,同时根据该时间差值计算每相差TI时间的间 隔T,并取T的绝对值|T|作为网络故障后校正系统时间的固定周期,其中TI时间单位为毫 秒;如果间隔T为正数,则每经过固定周期|T|,取当前系统时间与TI的和作为校正后的系 统时间;如果间隔T为负数,则每经过固定周期|T|,取当前系统时间与TI的差作为校正后 的系统时间。
[0023] 优选地,所述检索时间校正模块,还包括:视频管理服务器获取视频编码设备 存储异常的时间间隔NVR_IPCOffLineTI和视频管理服务器与视频编码设备间的时间差 值NVR_IPC_TD,并根据所述NVR_IPCOffLineTI和NVR_IPC_TD计算视频管理服务器与视 频编码设备间每秒钟的时间差值TS,其中TS = NVR_IPC_TD/NVR_IPCOffLineTI,且NVR_ IPCOffLineTI、NVR_IPC_TD及TS的单位为毫秒;视频管理服务器统计补录时间段,所述 补录时间段的补录起始时间为NVRBeginT,补录结束时间为NVREndT,其中NVRBeginT和 NVREndT的单位为毫秒;视频管理服务器校正检索时间段,所述检索时间段的检索起始时 间为 IPCBeginT,其中 IPCBeginT = NVRBeginT-((NVRBeginT-NVR_IPCOfflineT)*TS)), 所述检索时间段检索结束时间为IPCEndT,其中IPCEndT = NVREndT- ((NVREndT-NVR_ IPCOfflineT) *TS) ),NVR_IPCOfflineT 为网络故障发生时的系统时间,且 IPCBeginT、 IPCEndT 及 NVR_IPCOfflineT 的单位为毫秒。
[0024] 优选地,所述录像I帧组完整性检查模块,还包括:视频编码设备本地存储时在每 个I帧组的I帧帧头部分记录该I帧组最后一个P帧的结束时间;如果检索结束时间访问 到的数据帧不是其所在I帧组的最后一个P帧,则将最后一个P帧的时间信息作为检索结 果中录像时间段的结束时间返回。
[0025] 优选地,所述补录时间校正模块,还包括:视频编码设备返回的检索结果,包 括录像起始时间NewIPCBenginT和录像结束时间NewIPCEndT,其中NewIPCBenginT和 NewIPCEndT的单位为毫秒;如果录像起始时间NewIPCBenginT与检索起始时间IPCBeginT 不相同,则校正补录的起始时间NewNVRBenginT,其中NewNVRBeng