CN115955581A - 一种实时视频处理方法、装置、设备及存储介质 - Google Patents
一种实时视频处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115955581A CN115955581A CN202310246608.1A CN202310246608A CN115955581A CN 115955581 A CN115955581 A CN 115955581A CN 202310246608 A CN202310246608 A CN 202310246608A CN 115955581 A CN115955581 A CN 115955581A
- Authority
- CN
- China
- Prior art keywords
- target
- time period
- subfile
- metadata
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 229
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 69
- 230000008569 process Effects 0.000 claims description 32
- 238000003379 elimination reaction Methods 0.000 claims description 29
- 230000008030 elimination Effects 0.000 claims description 28
- 238000012216 screening Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 14
- 230000037430 deletion Effects 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 abstract description 25
- 238000007726 management method Methods 0.000 description 62
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实时视频处理方法、装置、设备及存储介质,涉及视频处理技术领域。该方法应用于存储业务系统,包括:获取用户发送的视频数据处理请求;若所述视频数据处理请求为写请求,则通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;若所述视频数据处理请求为读请求,则通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。通过存储业务系统执行包含视频写入和读取的视频应用业务,实现取流业务与视频数据存储的解耦,录像检索只需检索作为全局元数据的通道元数据,长时间范围内的检索也能做到秒级返回。
Description
技术领域
本发明涉及视频处理技术领域,特别涉及一种实时视频处理方法、装置、设备及存储介质。
背景技术
目前,面对海量视频数据存储压力,如安防监控行业的实时视频存储是将摄像机产生的实时视频流进行7×24小时不间断的录像,以便后续对这些录像进行点播、下载、计算等应用,因此,对存储设备的容量、读写性能、可靠性、扩展性等都提出了更高的要求。
相关技术中,一种实现方案是将NVR(NetworkVideoRecorder,网络视频录像机)进行集群化管理,集群内包括网络编码器、多个网络视频存储器(即NVR)和一个NVR管理器,各NVR支持将网络编码器编码输出的音视频数据直接保存在NVR上,同时各NVR响应客户端或网络编码器的访问请求、查询或回放或存储录像数据,即取流业务与视频数据存储耦合在NVR内,且一个完整的视频数据可能存放在多个存储节点上,查询时需要挨个进行检索,将所有存储节点的返回结果进行合并后才返回给调用者,无法做到录像检索的秒级返回。
发明内容
有鉴于此,本发明的目的在于提供一种实时视频处理方法、装置、设备及介质,能够实现取流业务与视频数据存储的解耦,提高视频检索速度。其具体方案如下:
第一方面,本发明公开了一种实时视频处理方法,应用于存储业务系统,包括:
获取用户发送的视频数据处理请求;
若所述视频数据处理请求为写请求,则通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;
若所述视频数据处理请求为读请求,则通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。
可选的,所述存储业务系统包括预设接口模块、中心服务和节点服务;
所述预设接口模块用于执行所述获取用户发送的视频数据处理请求的操作;
所述中心服务用于执行所述根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据的操作,以及所述通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据的操作;
所述节点服务用于执行所述将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件的操作。
可选的,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还包括:
通过所述预设接口模块获取通道创建请求;
利用所述中心服务根据所述通道创建请求对应的通道标识判断所述目标通道是否存在,若不存在,则创建通道并将对应的元数据存储至所述存储业务系统内的中心数据库,若存在则返回通道存在响应。
可选的,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还包括:
通过所述节点服务对所述目标通道当前占用的块文件进行空间检测,并根据检测结果判断是否满足块文件获取条件;
若满足,则从空闲块文件中筛选出新的块文件作为所述目标块文件,若不满足,则将所述当前占用的块文件作为所述目标块文件。
可选的,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还包括:
通过所述节点服务判断当前是否满足时间段生成条件,若满足则在所述目标块文件中生成新的时间段子文件作为所述目标时间段子文件,若不满足则将当前占用的时间段子文件作为所述目标时间段子文件。
可选的,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,包括:
通过所述中心服务为所述写请求分配对应的存储节点,通过目标通道将所述写请求对应的待存储视频发送给所述存储节点,以便所述存储节点对应的节点服务将所述待存储视频写入目标块文件中的目标时间段子文件。
可选的,所述实时视频处理方法,还包括:
若写失败,则向所述中心服务申请重新分配新的存储节点,并通过所述新的存储节点对应的节点服务,将所述待存储视频写入目标块文件中的目标时间段子文件。
可选的,所述根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据,包括:
通过所述节点服务根据写入的目标块文件和目标时间段子文件的信息,更新本地数据库中所述目标时间段子文件的元数据和所述目标块文件的元数据并发送给所述中心服务;
所述中心服务基于所述目标时间段子文件的元数据和所述目标块文件的元数据更新中心数据库中的所述目标通道的元数据。
可选的,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件的过程中,还包括:
从多个包含所述存储业务系统的服务器对应的所有中心服务中选举出主服务,并利用所述主服务对所有服务器进行负载均衡和数据一致性管理。
可选的,所述实时视频处理方法,还包括:
通过所述节点服务生成本地存储节点对应的节点元数据,并将所述节点元数据同步给所述中心服务。
可选的,所述通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据,包括:
通过所述中心服务确定所述读请求对应的时间范围,并通过查询所述目标通道的元数据确定出所述时间范围对应的第一时间段子文件列表,并将所述第一时间段子文件列表反馈给所述用户对应的管理平台,以便所述管理平台通过所述第一时间段子文件列表中每个时间段子文件对应的节点服务读取相应的视频数据。
可选的,所述管理平台通过所述第一时间段子文件列表中每个时间段子文件对应的节点服务读取相应的视频数据,包括:
所述管理平台向所述第一时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送读取指令;
获取到所述读取指令的节点服务通过查询本地数据库确定所述读取指令对应的时间段子文件的元数据,并根据该时间段子文件的元数据确定目标关键帧在块文件的偏移量,并根据所述偏移量定位到物理存储地址后进行持续的数据读取。
可选的,所述实时视频处理方法,还包括:
通过所述预设接口模块获取用户发送的针对目标视频的操作指令;所述操作指令包括锁定指令或解锁指令;
通过所述中心服务根据所述操作指令确定所述目标视频对应的第二时间段子文件列表,并向所述第二时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送状态修改指令,以便将所述第二时间段子文件列表中的时间段子文件的状态修改为锁定状态或解锁状态。
可选的,所述向所述第二时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送状态修改指令之后,还包括:
根据所述第二时间段子文件列表中的时间段子文件的状态,通过所述节点服务更新本地数据库中的时间段子文件的元数据和块文件的元数据,并发送给所述中心服务,以便所述中心服务基于所述时间段子文件的元数据和所述块文件的元数据更新中心数据库中对应的通道的元数据。
可选的,所述实时视频处理方法,还包括:
按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,并在删除后更新相应的时间段子文件的元数据和块文件的元数据。
可选的,所述按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,包括:
通过所述中心服务按照第一预设周期查询所述目标通道的元数据,筛选出超过预设存储周期且状态为非锁定状态的时间段子文件作为待删除时间段子文件;
通过所述中心服务向所述待删除时间段子文件对应的节点服务发送针对所述待删除时间段子文件的删除指令,以便将所述待删除时间段子文件的状态设置为淘汰状态。
可选的,所述按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,包括:
通过所述节点服务按照第二预设周期查询所述目标通道对应的块文件的元数据,筛选出处于非读写状态且对应的所有时间段子文件的状态为淘汰状态的块文件作为待删除块文件;
通过所述节点服务淘汰所述块文件并删除所述待删除块文件对应的所有时间段子文件。
第二方面,本发明公开了一种实时视频处理装置,应用于存储业务系统,包括:
请求获取模块,用于获取用户发送的视频数据处理请求;
写模块,用于若所述视频数据处理请求为写请求,则通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;
检索模块,用于若所述视频数据处理请求为读请求,则通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。
第三方面,本发明公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的实时视频处理方法。
第四方面,本发明公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的实时视频处理方法。
本发明中,通过存储业务系统获取用户发送的视频数据处理请求;若所述视频数据处理请求为写请求,则存储业务系统会通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;若所述视频数据处理请求为读请求,则存储业务系统会通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。
可见,通过构建存储业务系统执行包含视频写入和视频读取的视频应用业务,数据存储层只负责数据存储,实现取流业务与视频数据存储的解耦,同时通过通道来维护实时产生的视频流的写入操作,从而通道的元数据作为全局元数据,录像检索只需检索通道的元数据,由此长时间范围内的检索也能做到秒级返回,提高了视频检索速度。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种实时视频处理方法流程图;
图2为本发明提供的一种具体的实时视频写入方法时序图;
图3为本发明提供的一种具体的元数据关系示意图;
图4为本发明提供的一种具体的实时视频读取方法时序图;
图5为本发明提供的一种具体的视频数据删除方法时序图;
图6为本发明提供的一种具体的视频锁定解锁方法流程图;
图7为本发明提供的一种具体的存储业务系统结构示意图;
图8为本发明提供的一种具体的块文件结构示意图;
图9为本发明提供的一种具体的存储业务系统与管理平台和存储层的关系示意图;
图10为本发明提供的一种实时视频处理装置结构示意图;
图11为本发明提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,将NVR进行集群化管理,集群内包括网络编码器、多个网络视频存储器(即NVR)和一个NVR管理器,各NVR支持将网络编码器编码输出的音视频数据直接保存在NVR上,同时各NVR响应客户端或网络编码器的访问请求、查询或回放或存储录像数据,即取流业务与视频数据存储耦合在NVR内,且一个完整的视频数据可能存放在多个存储节点上,查询时需要挨个进行检索,将所有存储节点的返回结果进行合并后才返回给调用者,无法做到录像检索的秒级返回。为克服上述技术问题,本发明提出一种实时视频处理方法,能够实现取流业务与视频数据存储的解耦,提高视频检索速度,提高实时视频存储性能。
本发明实施例公开了一种实时视频处理方法,应用于存储业务系统,参见图1所示,该方法可以包括以下步骤:
步骤S11:获取用户发送的视频数据处理请求。
本实施例中,首先获取用户所在管理平台发送的视频数据处理请求,该视频数据处理请求包括写请求和读请求。本实施例中,所述存储业务系统包括预设接口模块、中心服务和节点服务;所述预设接口模块用于执行所述获取用户发送的视频数据处理请求的操作;即首先通过预设接口模块获取管理平台发送的视频数据处理请求,上述预设接口模块为预先创建的统一接口,用于为管理平台提供使用存储系统的接口。
步骤S12:若所述视频数据处理请求为写请求,则通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据。
本实施例中,若视频数据处理请求为写请求,则通过目标通道将写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,此时也建立了目标通道与目标块文件的对应关系,目标通道与目标时间段子文件的对应关系,以及目标块文件与目标时间段子文件的对应关系。可以理解的是,存储视频的最小单元为帧(frame),读/写数据都是以帧为单位,本实施例中,将时间段子文件(segment)作为直接存储视频帧的容器,理论上它是可以存储任意多的帧,没有上限设定,但因其他条件的限制会导致每个时间段子文件包含的帧数据是有限的,并且连续的画面组(GOP,GroupofPictures)不一定会存储在同一时间段子文件上;块文件(Block)是存储系统内部配置管理的概念,是将存储数据层的存储资源抽象出来的逻辑存储空间,1个块文件对应1个或多个时间段子文件,且1个时间段子文件对应唯一1个块文件;本实施例中。通道(Channel)标识一个产生实时视频流的摄像机,即可以采用一个通道来处理一个摄像机产生的视频流,形成一个通道与一个摄像机的唯一对应关系,并且通道名称可以采用对应的摄像机设备ID(Identity document,身份标识号),以保证唯一性,在写入时通道会将当前占用的块文件写满后再选择一个空的块文件继续写入,由此实现视频流的实时存储,即1个通道对应1个或多个块文件,且1个块文件对应唯一1个通道。然后,根据目标块文件及目标时间段子文件的信息更新目标通道的元数据,目标通道的元数据即可作为全局元数据。
本实施例中,具体可以通过节点服务执行所述将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件的操作,通过所述中心服务执行所述根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据的操作。即将存储业务系统分离出不同的服务进程来生成和管理不同类型的元数据,不同服务进程承担不同的业务功能,进一步提高系统性能。
本实施例中,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还可以包括:通过所述预设接口模块获取通道创建请求;利用所述中心服务根据所述通道创建请求对应的通道标识判断所述目标通道是否存在,若不存在,则创建通道并将对应的元数据存储至所述存储业务系统内的中心数据库,若存在则返回通道存在响应。即管理平台先向中心服务进行创建通道操作,如果通道已经创建可以省略该操作,例如图2所示,具体可以根据通道标识判断相应的通道是否存在,若不存在则创建通道并存储通道元数据。
本实施例中,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还可以包括:通过所述节点服务对所述目标通道当前占用的块文件进行空间检测,并根据检测结果判断是否满足块文件获取条件;若满足,则从空闲块文件中筛选出新的块文件作为所述目标块文件,若不满足,则将所述当前占用的块文件作为所述目标块文件。例如图2所示,即管理平台在开始数据写入或者判断出当前块文件已经写满的情况下,向中心服务进行新块文件的申请。上述空间检测是指对当前块文件剩余空间检测,预先配置了块文件最大预留空间,当判断当前写入帧是关键帧时会检测当前块文件的剩余空间,如果小于块文件最大预留空间时,将结束向当前块文件的写入,向中心服务进行存储节点的申请,这样就保证了块文件的第一个时间段子文件的第一帧必定为关键帧,即若当前块文件剩余空间不够存储一个画面组则重新选一个块文件写入。同时,通道申请存储节点时优先将该通道未写满的块文件写满后再给该通道分配新的块文件,能够做到大部分的情况下每个通道某一时刻只占用一个未写满的块文件,避免空间浪费,降低成本。
本实施例中,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还可以包括:通过所述节点服务判断当前是否满足时间段生成条件,若满足则在所述目标块文件中生成新的时间段子文件作为所述目标时间段子文件,若不满足则将当前占用的时间段子文件作为所述目标时间段子文件。具体的,节点服务在以下几种情况下会生成新的时间段子文件:(1)需要在新的块文件上写入数据,节点服务将在新的块文件上生成一个新的时间段子文件;(2)在同一个块文件上,如果当前写入的帧数据时间与上一帧写入数据时间间隔超过最大阈值(该值可通过配置文件进行设置,默认可以为10秒)时,节点服务将生成一个新的时间段子文件;(3)在同一个块文件上,如果当前写入的帧数据时间比上一次的帧数据早时,节点服务将生成一个新的时间段子文件,此种场景一般是服务器校时导致,避免了相同的时间段范围内的新写入的数据覆盖已写入数据的问题。
本实施例中,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,可以包括:通过所述中心服务为所述写请求分配对应的存储节点,通过目标通道将所述写请求对应的待存储视频发送给所述存储节点,以便所述存储节点对应的节点服务将所述待存储视频写入目标块文件中的目标时间段子文件。即针对写请求,首先由中心服务为该请求分配对应的存储节点,由该存储节点执行向存储层的数据写入,本实施例能够对接多种类型的存储数据层,并兼容各种物理存储设备,管理平台直接向中心服务分配的存储节点的节点服务交互进行持续的数据流写入。
本实施例中,所述实时视频处理方法,还可以包括:若写失败,则向所述中心服务申请重新分配新的存储节点,并通过所述新的存储节点对应的节点服务,将所述待存储视频写入目标块文件中的目标时间段子文件。即向节点服务写入数据失败,无论在写入数据时遇到什么问题导致写入失败后都会向中心服务申请新的存储节点,然后向新的存储节点继续数据的写入,这些操作用户都是无感知的,除非整个存储系统内存储节点均无法进行写入了才会返回写入失败的结果。
本实施例中,所述根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据,可以包括:通过所述节点服务根据写入的目标块文件和目标时间段子文件的信息,更新本地数据库中所述目标时间段子文件的元数据和所述目标块文件的元数据并发送给所述中心服务;所述中心服务基于所述目标时间段子文件的元数据和所述目标块文件的元数据更新中心数据库中的所述目标通道的元数据。即通道的元数据作为全局元数据,具体是根据通道对应的文件块和时间段子文件的元数据不断完善的。
本实施例中,所述实时视频处理方法,还可以包括:通过所述节点服务生成本地存储节点对应的节点元数据,并将所述节点元数据同步给所述中心服务。即节点元数据包括关键字(Key):节点名称(HostName),值(Value):节点地址、节点状态(在线、离线)、块文件总数和空闲块文件个数,节点服务承担将当前节点信息同步给中心服务、时间段子文件管理、块文件管理、数据读写等功能。
例如图3所示,本实施例中,存储业务系统有4种类型元数据,分别为节点的元数据、通道的元数据、块文件的元数据、时间段子文件的元数据,元数据的存储结构定义为键值(Key-Value)的模式。节点的元数据,主要描述的是分配给节点服务的存储资源大小、节点服务状态相关的信息,用来进行节点服务状态监控和存储资源负载均衡相关的处理。通道的元数据、块文件的元数据、时间段子文件的元数据是与视频业务相关的元数据,他们之间是有关联的。元数据最小单位只到时间段子文件,没有帧数据包或者帧数据的元数据,并且也没有帧数据的索引文件,只有存储帧数据的块文件,这种方案很大程度上提高了数据写入的性能。为了避免数据定位在数据块文件上多次跳动导致数据读取性能低下,时间段子文件元数据里记录了该时间段子文件包含的关键帧信息列表。通道元数据与块文件元数据是一对多的关系,块文件元数据与时间段子文件元数据也是一对多的关系。每个通道可以使用多个块文件,每个块文件只属于一个通道,当一个块文件被某个通道占用后就不能再被其它通道使用。一个块文件包含1个或者多个时间段子文件,时间段子文件只会存在于一个块文件上,不能跨越块文件存在。
本实施例中,通道元数据的Key为通道标识(ChannelName),由用户传入并保证唯一性,一般情况下为通道ID或设备ID;通道元数据的Value包括但不限于循环类型、循环周期、占用的块文件列表、块ID、节点地址、未写满块文件列表、块ID、节点地址、时间段子文件列表、时间段子文件ID、开始时间、结束时间、录像类型标识、节点地址和、时间段子文件状态(正常、过期、锁定)。块文件元数据中Key为块文件标识(BlockId),由节点名称、文件名称(可以是自加数)拼接的字符串;块文件元数据中Value包括但不限于节点地址、块文件名称、文件对齐大小、文件大小、文件引擎、所属通道标识(ChannelName)、时间段子文件个数、第一帧时间、最后一帧时间、最后一帧偏移地址、块文件状态(空闲块、已写满、未写满、已淘汰)。时间段子文件元数据中Key为时间段子文件标识(SegmentId),由块文件标识、时间段子文件名称(可以是自加数)拼接的字符串;Value包括但不限于节点地址、开始时间、结束时间、所属通道标识(ChannelName)、所在块文件标识(BlockId)、时间段子文件状态(正常、淘汰、锁定)、关键帧列表、帧时间和在块文件的偏移地址。
例如图2所示为数据写入流程,包括:
1)管理平台先向中心服务进行创建通道操作,如果通道已经创建可以省略该操作;
2)管理平台在开始数据写入或者判断出当前块已经写满的情况下,向中心服务进行写入节点(即上述存储节点)的申请;
3)管理平台直接向中心服务分配的写入节点的节点服务交互进行持续的数据流写入;
4)节点服务收到数据后判断是否需要选择新的块文件写入,如果需要选择新的块文件则执行5)操作,如果不需要选择新块文件则执行6)操作;
5)从空闲块文件列表里选择块文件,并生成新的时间段子文件;
6)选择通道当前占用的块文件,判断是否需要生成新的时间段子文件,如果需要生成则生成新的时间段子文件元数据,如果不需要则更新当前时间段子文件信息;
7)将数据写入块文件映射的物理存储单元里,成功写入后将更新数据库里的块文件元数据和时间段子文件元数据;
8)循环执行3)、4)、5)、6)、7)操作,实现实时视频数据存储。
本实施例中,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件的过程中,还可以包括:从多个包含所述存储业务系统的服务器对应的所有中心服务中选举出主服务,并利用所述主服务对所有服务器进行负载均衡和数据一致性管理。可以理解的是,每个服务器节点都会运行一个中心服务,为了能够避免通道重复创建、负载均衡时出现某节点负载瞬间蜂拥、数据一致性等问题,各服务器节点上的中心服务通过选主算法选出一个主服务用来进行与预设接口模块进行某些指令交互、负载均衡、节点监控等功能。中心服务是高可用的,当前的主服务或者主服务所在的服务器节点宕掉后,其它服务器节点上运行的中心服务会通过选主算法进行重新选出一个主服务来承担所有的业务功能。理想状态下,集群性能与各节点性能总和正线性相关;即10个节点构成的存储集群的IO、容量是集群中10个节点I/O和容量的总和。但由于负载均衡不能达到绝对的平衡状态,节点数增多时空间利用率有部分下降,并且还有网络等外部环境的影响,整体性能很难达到线性增长。该业务存储系统由中心服务的主服务来统一的进行负载均衡和保证集群数据的一致性。由此,每个节点能够处理所有的业务,并且负载均衡考虑到了流量和存储空间两个维度,所以能够在业务不中断的情况进行节点的增删操作。
步骤S13:若所述视频数据处理请求为读请求,则通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。
本实施例中,若获取到的是读请求,通过查询全局元数据,即目标通道的元数据,即可确定出读请求所需的目标视频数据的位置,即所在的块文件和时间段子文件,从而实现视频检索。本实施例中,具体可以通过所述中心服务执行所述通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据的操作。
可见,本实施例中所述存储业务系统包括预设接口模块、中心服务和节点服务;其中,预设接口模块用于执行所述获取用户发送的视频数据处理请求的操作;中心服务用于执行所述为所述写请求分配对应的目标节点的操作,以及所述通过查询通道元数据实现视频检索的操作;节点服务用于执行所述将所述写请求对应的待存储视频写入所述目标节点内目标存储单元对应的物理存储地址的操作。相比于相关技术中,将视频应用业务与存储系统耦合,无法将所有NVR的存储资源虚拟化管理,可靠性、扩容性、兼容性都不尽人意;本实施例中,取流业务与存储系统隔离,不同的服务进程承担不同的业务功能,并且,数据读写是与节点服务直接交互,没有中转和瓶颈,并且大部分的情况下视频流与存储设备之间无需网络交互,提高了实时视频存储性能,提高了视频存储系统的可靠性、扩展性和兼容性。
本实施例中,所述通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据,包括以下步骤:
步骤S21:通过所述中心服务确定所述读请求对应的时间范围,并通过查询所述目标通道的元数据确定出所述时间范围对应的第一时间段子文件列表。
步骤S22:将所述第一时间段子文件列表反馈给所述用户对应的管理平台,以便所述管理平台通过所述第一时间段子文件列表中每个时间段子文件对应的节点服务读取相应的视频数据。
由上述可知通道的元数据为全局元数据,因此通过查询通道的元数据定位所查询的时间范围涉及的所有时间段子文件形成第一时间段列表,然后从第一时间段列表中每个时间段子文件对应的节点服务读取相应的视频数据,得到查询的时间范围对应的视频数据。
本实施例中,所述管理平台通过所述第一时间段子文件列表中每个时间段子文件对应的节点服务读取相应的视频数据,包括:所述管理平台向所述第一时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送读取指令;获取到所述读取指令的节点服务通过查询本地数据库确定所述读取指令对应的时间段子文件的元数据,并根据该时间段子文件的元数据确定目标关键帧在块文件的偏移量,并根据所述偏移量定位到物理存储地址后进行持续的数据读取。
例如图4所示,数据读取流程包括:
1)管理平台通过预设接口模块(即软件开发工具包,Software Development Kit,SDK)先向中心服务进行枚举通道,如果管理平台明确直到要进行读取那个通道的数据时,该操作可以省略;
2)管理平台通过SDK向中心服务进行录像检索;
3)中心服务根据检索条件查询通道的所有时间段列表,返回所有符合条件的时间段列表;
4)管理平台通过SDK向时间段子文件所在的节点服务直接进行数据读取;
5)节点服务收到数据读取指令后将对应的时间段子文件的元数据从数据库里加载到内存中;
6)根据读取的开始时间定位到最接近的关键帧在块文件上的偏移量;
7)根据偏移量定位到数据的存储位置进行持续的读取数据;
8)循环执行4)、5)、6)、7)操作直至完成所有数据的读取。
本实施例中还包括数据删除方法,具体包括如下步骤:
S31:按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除;
S32:在删除后更新相应的时间段子文件的元数据和块文件的元数据。
即通过周期性的检测已存储的视频数据,淘汰早期视频,避免无用视频占用过多内存。
本实施例中,所述按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,可以包括:通过所述中心服务按照第一预设周期查询所述目标通道的元数据,筛选出超过预设存储周期且状态为非锁定状态的时间段子文件作为待删除时间段子文件;通过所述中心服务向所述待删除时间段子文件对应的节点服务发送针对所述待删除时间段子文件的删除指令,以便将所述待删除时间段子文件的状态设置为淘汰状态。
本实施例中,所述按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,可以包括:通过所述节点服务按照第二预设周期查询所述目标通道对应的块文件的元数据,筛选出处于非读写状态且对应的所有时间段子文件的状态为淘汰状态的块文件作为待删除块文件;通过所述节点服务淘汰所述块文件并删除所述待删除块文件对应的所有时间段子文件。
即例如图5所示,数据删除包含时间段子文件检测和块文件检测,数据淘汰的过程分为时间段子文件淘汰和块文件淘汰回收两部分,时间段子文件淘汰由中心服务处理,块文件淘汰回收由节点服务处理,这种方案在资源占用可以忽略不计的情况下完成。其中时间段子文件检测为中心服务定时检测通道元数据,对每个通道的时间段子文件列表进行检测判断,判断时间段子文件是否锁定,如果锁定不删除,如果未锁定则进一步判断,如果时间段子文件的结束时间超过存储周期,中心服务向时间段子文件所在的节点服务发送该时间段子文件的淘汰指令;节点服务更新时间段子文件的状态并向数据库更新该时间段子文件的元数据;中心服务将该时间段子文件信息从通道元数据里清除,并向数据库更新该通道的元数据,继续循环执行上述操作。对块文件检测通过节点服务定时检测所有非空闲块文件,判断块文件是否正在进行读或者写操作,如果是则进行下一个块文件的检测,如果否则检测块文件所有时间段子文件的状态,检测时间段子文件的状态是否有锁定的,有锁定则进行下一个块文件的检测,未有锁定则检测所有时间段子文件状态是否都是淘汰状态,否则进行下一个块文件的检测,是则将块文件回收为空闲块,删除块文件上的所有时间段子文件元数据,并向数据库更新块文件信息和时间段子文件元数据,并向中心服务同步信息,循环执行上述操作。
本实施例针对分布式实时视频的存储,提出将不同类型元数据进行关联,并分离出不同的服务进程来承担生成和管理不同类型的元数据以及承担不同的业务功能的方法,解决了相关技术存在的录像检索慢、空间浪费、无法兼容多种类型的数据存储层的问题,基于实时视频流的特性,研制出符合安防监控业务使用场景的高性能、高可靠、易扩展、能够兼容各种物理存储设备的视频存储系统。
相关技术中,取流业务与数据存储系统的耦合限制了业务故障切换和存储空间的使用,比如某个存储节点故障,故障节点的取流和存储业务将会切换到其它存储节点,在故障节点恢复后将再对取流和存储业务进行负载均衡,会导致在存储周期内某些通道占用的未写满的物理存储空间的浪费。本实施例中分布式实时视频存储业务层,将取流业务与数据存储系统隔离,将不同类型的视频业务元数据使用一对多的方式进行关联起来,并将存储系统分离出不同的服务进程来生成和管理不同类型的元数据,不同的服务进程承担不同的业务功能,具备动态的故障切换。
由上可见,本实施例中通过存储业务系统获取用户发送的视频数据处理请求;若所述视频数据处理请求为写请求,则存储业务系统会通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;若所述视频数据处理请求为读请求,则存储业务系统会通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。可见,通过构建存储业务系统执行包含视频写入和视频读取的视频应用业务,数据存储层只负责数据存储,实现取流业务与视频数据存储的解耦,同时通过通道来维护实时产生的视频流的写入操作,从而通道的元数据作为全局元数据,录像检索只需检索通道的元数据,由此长时间范围内的检索也能做到秒级返回,提高了视频检索速度。
本发明实施例公开了一种具体的视频锁定解锁方法,参见图6所示,该方法可以包括以下步骤:
步骤S41:通过所述预设接口模块获取用户发送的针对目标视频的操作指令;所述操作指令包括锁定指令或解锁指令。
步骤S42:通过所述中心服务根据所述操作指令确定所述目标视频对应的第二时间段子文件列表,并向所述第二时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送状态修改指令,以便将所述第二时间段子文件列表中的时间段子文件的状态修改为锁定状态或解锁状态。
本实施例中,通过锁定状态可以设置时间段子文件的状态,设定为锁定状态的时间段子文件不会被删除,可以对观看的时间段子文件或特殊的需要保留的时间段子文件锁定,通过解锁后时间段子文件可删除。
本实施例中,所述向所述第二时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送状态修改指令之后,还可以包括:根据所述第二时间段子文件列表中的时间段子文件的状态,通过所述节点服务更新本地数据库中的时间段子文件的元数据和块文件的元数据,并发送给所述中心服务,以便所述中心服务基于所述时间段子文件的元数据和所述块文件的元数据更新中心数据库中对应的通道的元数据。
即管理平台通过统一接口进行录像的锁定或者解锁操作,中心服务根据锁定时间范围找出该时间范围所覆盖的所有时间段子文件,向符合条件的时间段子文件所在的节点服务发送锁定/解锁指令,节点服务收到锁定/解锁指令后更新时间段子文件的元数据,中心服务收到节点服务的执行成功返回结果后将更新通道元数据。
由上可见,本实施例中通过所述预设接口模块获取用户发送的针对目标视频的操作指令;所述操作指令包括锁定指令或解锁指令;通过所述中心服务根据所述操作指令确定所述目标视频对应的第二时间段子文件列表,并向所述第二时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送状态修改指令,以便将所述第二时间段子文件列表中的时间段子文件的状态修改为锁定状态或解锁状态。通过对时间段子文件的锁定和解锁操作,提高时间段子文件处理的灵活性。
相应的,本发明实施例还公开了一种存储业务系统,该系统包括:
预设接口模块31,用于获取用户发送的视频数据处理请求;
节点服务32,用于将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件;
中心服务33,用于根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据,以及通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。
本实施例公开的存储业务系统可以包括5个服务模块,例如图7所示,分别为预设接口模块(SDK)、中心服务、中心元数据库、节点服务、本地节点元数据库。每个存储节点服务器上都运行着这些服务模块,对于每个单个存储节点服务器而言,本身又是相对独立的存储业务系统,支持该系统的一切功能特征,能够处理SDK的任何操作。
其中,预设接口模块31(SDK)为管理平台提供使用的API(ApplicationProgrammingInterface,应用程序接口),对管理平台使用功能进行简化封装,将内部交互操作进行了简化封装成对数据的增删改查,不暴露或者指定具体通信的节点、交互接口以及参数。将存储系统的存储空间虚拟化,若干节点资源联合组成一个庞大的存储空间,用户不用关心或者指定某个具体的业务指派到哪个具体的节点上,最终提供静态/动态链接库给管理平台使用。
数据写入操作对于管理平台来说,调用写入接口能够源源不断的进行数据写入,而SDK要进行数据存储节点申请、块文件写满检测、数据写入失败后的存储节点迁移等操作处理,但是对于管理平台来说这些都是无感知的。当管理平台开始写入数据或者检测到当前块文件写满后,SDK要向中心服务申请存储节点,得到中心服务返回分配的存储节点地址和块文件ID后,SDK将会与分配的节点服务持续通讯进行数据写入直到块文件写满为止。SDK每次向节点服务写入数据时,节点服务会返回给SDK写入是否成功、块文件ID、块文件剩余空间大小,SDK需要根据当前写入块的剩余空间大小进行块文件是否写满检测,该系统会有一个块文件最大预留空间设置,当SDK判断当前写入帧是关键帧时会检测当前块文件的剩余空间,如果小于块文件最大预留空间设置时,将结束向当前块文件的写入,向中心服务进行存储节点的申请,这样就保证了块文件的第一个时间段子文件的第一帧必定为关键帧。SDK向节点服务写入数据失败,无论SDK在写入数据时遇到什么问题导致写入失败后都会向中心服务申请新的存储节点,然后向新的存储节点继续数据的写入,这些操作用户都是无感知的,除非整个存储系统无法进行写入了才会返回写入失败的结果。
数据读取时,即管理平台检索某通道时间范围的数据时,该时间范围可能跨越了多个时间段子文件,有的时间段子文件只涵盖部分数据,并且该时间范围所包含的多个时间段子文件很可能分布在不同的节点上,管理平台需要向不同的节点服务去读取数据,还要做时间段子文件间的切换,但这些对管理平台来说都是无感知的,SDK要处理向时间段子文件所在的节点服务通信读取数据、时间段子文件之间的定位切换等操作。
其中,中心服务33具备服务高可用、集群管理、负载均衡、通道管理、业务处理等主要功能。它承担管理系统中的所有节点服务,并对存储数据层提供的存储资源进行统一的均衡分配,支持多个管理平台使用该系统,避免管理平台向该系统里重复创建通道,只处理指令操作,不处理数据读写操作。中心服务集群通过选举算法选出一个主服务来完成所承担的功能,该主服务生成和管理系统中节点信息和通道信息的全局元数据,保证全局元数据的数据一致性。
即每个服务器节点都会运行一个中心服务,为了能够避免通道重复创建、负载均衡时出现某节点负载瞬间蜂拥、数据一致性等问题,各服务器节点上的中心服务通过选主算法选出一个主服务用来进行与SDK进行某些指令交互、负载均衡、节点监控等功能。中心服务是高可用的,当前的主服务或者主服务所在的服务器节点宕掉后,其它服务器节点上运行的中心服务会通过选主算法进行重新选出一个主服务来承担所有的业务功能,能够实现系统的高可用性。
同时,中心服务管理集群里所有的节点服务,对节点服务的状态和资源信息进行监控,节点服务启动后会向中心服务注册,并将自己所在节点的节点地址、块文件总数、空闲块文件个数等信息同步给中心服务,中心服务收到节点服务的注册和同步的节点信息后,将把该节点的状态置为在线,并将该节点的节点元数据更新。随后的运行过程中,节点服务会定时向中心服务发送保活心跳,如果中心服务超过时间间隔没有收到某节点上的节点服务发送过来的保活心跳时,将会把该节点的状态置为离线状态。
理想状态下,集群性能与各节点性能总和正线性相关。如10个节点构成的存储集群的IO、容量是集群中10个节点I/O和容量的总和。但由于负载均衡不能达到绝对的平衡状态,节点数增多时空间利用率有部分下降,并且还有网络等外部环境的影响,整体性能很难达到线性增长。该存储系统由中心服务的主服务来统一的进行负载均衡和保证集群数据的一致性。中心服务在进行负载均衡的依据为如下几点:(1)根据节点的空闲块个数进行负载大小的判断;(2)优先将SDK通道写入申请分配到同一个服务器节点上运行的节点服务进行数据写入,尽量避免服务器节点间进行数据的网络传输;(3)尽量做到每个通道当前只占用一个未写满的块文件,如果由于节点故障导致一个通道占用一个及以上未写满块文件时,在该通道申请存储节点时要优先将未写满的块文件写满,避免空间浪费,因为一个块文件被某通道占用后,其它通道将无法再使用。
中心服务还用于全局元数据管理。节点信息和通道信息是存储系统的全局元数据,存储在中心元数据库的集群里。由中心服务进行统一操作,中心服务启动时会将节点信息和通道信息的元数据从中心数据库里加载到内存中,在运行过程中会定期将内存里的节点信息和通道信息持久化更新到中心元数据库的集群里。
具体的,节点元数据管理:节点服务启动后会向中心服务注册,并将自己所管理的块文件总数和空闲块文件个数上报给中心服务,中心服务会生成或者更新该节点服务的节点元数据,在节点服务运行过程中会与中心服务一直进行心跳保活,当节点服务所管理的块文件总数和空闲块文件个数发生变化时,会实时上报给中心服务来更新该节点服务的节点元数据。中心服务会监控集群中各节点服务的在线状态,某节点服务状态改变时,中心服务会更新该节点服务的节点元数据里的状态值。
具体的,通道元数据管理:SDK向中心服务进行创建某通道时,中心服务将生成该通道的通道元数据,如果该通道的通道元数据已经存在则中心服务将返回给SDK通道已存在的错误信息,保证集群里的通道不会重复创建。某通道在选择新的块文件写入数据时会将选择的块文件相关信息同步给中心服务更新该通道的通道元数据,数据写入的过程中会定时将时间段子文件的相关信息同步给中心服务来更新该通道的通道元数据。某通道占用的块文件到期淘汰回收后,将该块文件相关信息同步给中心服务更新该通道的通道元数据。
中心服务还用于录像检索。中心服务收到检索某通道的录像指令时,将根据检索条件的开始时间、结束时间、录像标识等条件查询该通道信息的元数据里的时间段子文件列表,根据时间段子文件列表的信息与检索条件进行判断,将满足检索条件的时间段子文件的列表返回给SDK,SDK根据时间段子文件列表里的时间段子文件ID、节点地址、开始时间、结束时间直接与时间段子文件所在服务器节点上的节点服务通信进行数据读取。由于录像检索只需向中心服务进行检索,并且中心服务将元数据都缓存在内存中,所以该操作只需进行内存查询,即使长时间范围的录像检索也能做到秒级返回。
中心服务还用于录像锁定。本实施例的存储系统对录像锁定的最小单位为时间段子文件,所以在对某时间范围内的数据进行锁定时,会将该时间范围内所涵盖的所有时间段子文件都会锁定,时间段子文件的锁定会直接影响到块文件的淘汰,每个块文件上只要有一个时间段子文件是锁定状态,则该块文件就无法进行淘汰,除非该时间段子文件被解锁后该块文件才能正常的被淘汰。录像锁定由中心服务来处理,中心服务收到锁定某通道时间范围的录像时,将根据锁定的时间范围检索该通道的通道元数据,将符合时间范围的所有时间段子文件的状态设置为锁定,并向该时间段子文件所在的节点服务发送锁定当前时间段子文件的指令,节点服务收到锁定指令后将该时间段子文件的状态置为锁定。录像解锁指令也由中心服务来处理,中心服务收到解锁某通道时间范围的录像时,将根据时间范围检索该通道的通道元数据,将符合时间范围的所有时间段子文件的锁定状态清除,并向该时间段子文件所在的节点服务发送解锁当前时间段子文件的指令,节点服务收到解锁指令将该时间段子文件的状态置为正常。锁定录像检索,与录像检索一样的流程,在对符合条件的时间段子文件增加了是否锁定的判断。
中心服务还用于时间段子文件淘汰检测。录像数据如果不被锁定则不会永久存在,都有一定的存储周期,会对每个通道会设置它的存储周期,当录像数据超过存储周期后将会被淘汰清除,录像数据淘汰清除的最小单位也是时间段子文件,即是当前时间段子文件上的所有录像数据都超过存储周期才会被淘汰清除。本发明的录像淘汰分为时间段子文件淘汰以及块文件淘汰,中心服务负责时间段子文件的淘汰,中心服务会定期遍历通道元数据,对每个通道的时间段子文件列表进行检测判断,如果某时间段子文件的结束时间超过存储周期,并且该时间段子文件的状态不是锁定,则将该时间段子文件的状态设置为已淘汰,并向该时间段子文件所在的节点服务发送设置时间段子文件状态为淘汰的指令。
可见,分离出的中心服务进程是高可用的集群架构,由一个主服务生成和管理全局的通道元数据,并统一处理除了数据读写操作外的所有业务操作。
其中,中心元数据库是用数据库集群来存储中心服务管理的全局元数据,只会有一个主中心服务来操作数据库,数据库集群保证数据库里的数据一致性和数据库集群的高可用。
其中,节点服务32承担将当前节点信息同步给中心服务、时间段子文件管理、块文件管理、数据读写等功能。管理平台是直接向节点服务进行数据读写,没有中转服务,不会出现数据读写的性能瓶颈。系统中各节点服务器上的节点服务之间是相互独立的,没有主从之分,每个节点服务只对分配给自己的存储资源进行自产自销,也只管理当前自己节点的块文件信息和时间段子文件元数据,由于在数据写入时,要频繁的更新块文件信息和时间段子文件元数据,为了避免系统中所有节点服务并发的去数据库里更新元数据,所以每个节点服务将自己节点的块文件信息和时间段子文件元数据存储到当前节点服务器上运行的本地节点元数据库。
即存储系统里的每个节点服务都作为独立节点存在,每个节点服务只管理自己所分配的存储资源,将根据存储资源的大小以及固定块文件的大小抽象出多个逻辑块文件并生成块文件元数据,在数据写入过程中会动态生成时间段子文件元数据,块文件元数据和时间段子文件元数据保存在本地节点元数据库中,节点服务运行过程中会定时向中心服务同步信息。
节点服务用于块文件管理,具体的,分配给节点服务的存储空间资源都具体到多个固定大小的块文件来进行管理,固定大小可进行配置,如固定大小为1G时,当分配给节点服务的存储空间为1T,那也就是说该节点服务最多有1024个块文件来进行数据存储。以及,用于块文件创建,具体的,当节点服务第一次启动时,根据分配的存储空间抽象出该节点服务所管理的逻辑块文件,并将块文件总数和空闲块文件个数(此时空闲块文件个数与总的块文件个数相等)同步给中心服务,启动一个线程调用对接的存储数据层提供的接口创建物理的存储单元(文件、对象等),并生成块文件元数据并存储在本地节点元数据库里,块文件元数据在节点服务运行过程中会一直在内存中缓存。以及,用于块文件淘汰,节点服务定时检测块文件元数据,如果某块文件包含的所有时间段子文件状态都是已淘汰,并且没有进行数据读写操作,那么该块文件将被淘汰回收为空闲块文件。如果某块文件上有被锁定的时间段子文件,那么将无法淘汰回收该块文件。淘汰回收为空闲块的过程是将块文件元数据除了基本信息外的其它字段都清空,并将空闲块文件个数加一,并同步给中心服务,对于存储数据层物理存储单元上的数据不进行删除操作。以及,用于块文件分配,块文件分配是基于通道,一个块文件只属于一个通道,当某个块文件分配给某通道占用后,在它被淘汰回收之前将不能再被其他通道所使用,所以如果负载均衡机制有缺陷的话,将会导致某些通道长时间占用未写满的块文件而导致空间浪费。
节点服务还用于时间段子文件管理。一个时间段子文件只能属于一个块文件,也即是一个时间段子文件包含的所有视频帧数据只会存储在一个块文件所映射的物理存储单元上,当某一通道的数据写满一个块文件后,要在一个新的块文件上写数据时,那新块文件上的数据必须是属于新的时间段子文件,由于其它条件的改变,一个块文件上可能包含多个时间段子文件。节点服务将时间段子文件元数据存储在本地数据库里,将正在写入或读取的时间段子文件元数据加载到内存中缓存。
节点服务还用于数据写入,节点服务将数据成功写入到块文件映射的物理存储单元上后,更新当前节点里的块文件信息和时间段子文件信息的元数据,并定时向中心服务同步信息。写入数据的最小单元是帧,向块文件映射的物理存储单元写入数据是要对齐写入。数据写入到块文件上的结构如图8所示,开头有固定大小的空间(若干字节)用于存储块文件头信息,块文件头信息包括数据写入对齐大小,块文件所属的通道ID,块文件第一帧时间等信息。紧跟着文件头后将存储帧数据,帧数据的格式是先存储帧头,然后是数据,帧头包括标签字符串如“slic”,帧所在的时间段子文件ID,帧时间,数据长度,帧标识等,数据即为帧的实际数据。使用这种数据结构进行数据存储,在元数据都丢失的情况下,也可以通过遍历扫描所有的块文件映射的物理存储单元进行元数据的重构。
节点服务还用于数据读取。管理平台会通过SDK直接向某时间段子文件所在的节点服务进行该时间段子文件的数据读取,节点服务在收到读取指令后,会将对应的时间段子文件元数据从数据库里加载到内存中,通过读取的开始时间和元数据里记录的关键帧列表定位到要读取的第一帧数据在块文件上的偏移量,根据该偏移量的值开始持续从块文件映射的物理存储单元里读取数据。
节点服务还用于与数据系统引擎对接。本实施例中存储业务系统可以对接物理磁盘、文件系统、块设备、对象存储、第三方存储系统等多种类型的存储数据层,该项操作由节点服务来承担,节点服务使用引擎插件的方式来实现,每种类型的存储数据层对应一个引擎插件,引擎插件里将存储数据层的接口/协议进行封装实现,节点服务只需调用引擎插件的统一接口而无需关注具体数据存储层实现差异,如果有新的数据存储层需要对接,只需实现对应该数据存储层的引擎插件就能做到动态兼容。
可见,分离出的节点服务进程是单点的架构,相互之间是独立存在无需交互,每个节点服务进程生成和管理本地节点的块文件信息和时间段子文件元数据,并承担数据读写操作,保障读写操作无性能瓶颈。
其中,本地节点元数据库是单点数据库用来存储节点服务生成和管理的块文件信息和时间段子文件元数据。系统中所有节点服务器上运行的本地节点元数据库都是相互独立的,它们之间不会组成集群,只与当前节点服务器上运行的节点服务进行通信交互。
上述存储业务系统与管理平台和存储层的关系如图9所示,向上提供统一的接口对接管理平台,并且将从前端设备取流的功能也封装在SDK里,由管理平台的服务进程调用,向下通过不同的数据系统引擎来适配不同的存储数据层。
相应的,本发明实施例还公开了一种实时视频处理装置,参见图10所示,该装置包括:
请求获取模块11,用于获取用户发送的视频数据处理请求;
写模块12,用于若所述视频数据处理请求为写请求,则通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;
检索模块13,用于若所述视频数据处理请求为读请求,则通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。
由上可见,通过存储业务系统获取用户发送的视频数据处理请求;若所述视频数据处理请求为写请求,则存储业务系统会通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;若所述视频数据处理请求为读请求,则存储业务系统会通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。可见,通过构建存储业务系统执行包含视频写入和视频读取的视频应用业务,数据存储层只负责数据存储,实现取流业务与视频数据存储的解耦,同时通过通道来维护实时产生的视频流的写入操作,从而通道的元数据作为全局元数据,录像检索只需检索通道的元数据,由此长时间范围内的检索也能做到秒级返回,提高了视频检索速度。
在一些具体实施例中,所述存储业务系统包括预设接口模块、中心服务和节点服务;
所述预设接口模块用于执行所述获取用户发送的视频数据处理请求的操作;
所述中心服务用于执行所述根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据的操作,以及所述通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据的操作;
所述节点服务用于执行所述将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件的操作。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
通道创建请求获取单元,用于通过所述预设接口模块获取通道创建请求;
通道创建单元,用于利用所述中心服务根据所述通道创建请求对应的通道标识判断所述目标通道是否存在,若不存在,则创建通道并将对应的元数据存储至所述存储业务系统内的中心数据库,若存在则返回通道存在响应。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
块文件确定单元,用于通过所述节点服务对所述目标通道当前占用的块文件进行空间检测,并根据检测结果判断是否满足块文件获取条件;若满足,则从空闲块文件中筛选出新的块文件作为所述目标块文件,若不满足,则将所述当前占用的块文件作为所述目标块文件。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
时间段生成单元,用于通过所述节点服务判断当前是否满足时间段生成条件,若满足则在所述目标块文件中生成新的时间段子文件作为所述目标时间段子文件,若不满足则将当前占用的时间段子文件作为所述目标时间段子文件。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
存储节点分配单元,用于通过所述中心服务为所述写请求分配对应的存储节点,通过目标通道将所述写请求对应的待存储视频发送给所述存储节点,以便所述存储节点对应的节点服务将所述待存储视频写入目标块文件中的目标时间段子文件。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
节点重新分配单元,用于若写失败,则向所述中心服务申请重新分配新的存储节点,并通过所述新的存储节点对应的节点服务,将所述待存储视频写入目标块文件中的目标时间段子文件。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
块文件元数据更新单元,用于通过所述节点服务根据写入的目标块文件和目标时间段子文件的信息,更新本地数据库中所述目标时间段子文件的元数据和所述目标块文件的元数据并发送给所述中心服务;
通道元数据更新单元,用于所述中心服务基于所述目标时间段子文件的元数据和所述目标块文件的元数据更新中心数据库中的所述目标通道的元数据。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
负载均衡单元,用于从多个包含所述存储业务系统的服务器对应的所有中心服务中选举出主服务,并利用所述主服务对所有服务器进行负载均衡和数据一致性管理。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
节点元数据同步单元,用于通过所述节点服务生成本地存储节点对应的节点元数据,并将所述节点元数据同步给所述中心服务。
在一些具体实施例中,所述检索模块13具体可以包括:
视频检索单元,用于通过所述中心服务确定所述读请求对应的时间范围,并通过查询所述目标通道的元数据确定出所述时间范围对应的第一时间段子文件列表,并将所述第一时间段子文件列表反馈给所述用户对应的管理平台,以便所述管理平台通过所述第一时间段子文件列表中每个时间段子文件对应的节点服务读取相应的视频数据。
在一些具体实施例中,所述视频检索单元具体可以包括:
读取指令发送单元,用于所述管理平台向所述第一时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送读取指令;
数据读取单元,用于获取到所述读取指令的节点服务通过查询本地数据库确定所述读取指令对应的时间段子文件的元数据,并根据该时间段子文件的元数据确定目标关键帧在块文件的偏移量,并根据所述偏移量定位到物理存储地址后进行持续的数据读取。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
操作指令获取单元,用于通过所述预设接口模块获取用户发送的针对目标视频的操作指令;所述操作指令包括锁定指令或解锁指令;
状态修改单元,用于通过所述中心服务根据所述操作指令确定所述目标视频对应的第二时间段子文件列表,并向所述第二时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送状态修改指令,以便将所述第二时间段子文件列表中的时间段子文件的状态修改为锁定状态或解锁状态。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
状态更新单元,用于根据所述第二时间段子文件列表中的时间段子文件的状态,通过所述节点服务更新本地数据库中的时间段子文件的元数据和块文件的元数据,并发送给所述中心服务,以便所述中心服务基于所述时间段子文件的元数据和所述块文件的元数据更新中心数据库中对应的通道的元数据。
在一些具体实施例中,所述实时视频处理装置具体可以包括:
删除单元,用于按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,并在删除后更新相应的时间段子文件的元数据和块文件的元数据。
在一些具体实施例中,所述删除单元具体可以包括:
待删除时间段筛选单元,用于通过所述中心服务按照第一预设周期查询所述目标通道的元数据,筛选出超过预设存储周期且状态为非锁定状态的时间段子文件作为待删除时间段子文件;
状态设置单元,用于通过所述中心服务向所述待删除时间段子文件对应的节点服务发送针对所述待删除时间段子文件的删除指令,以便将所述待删除时间段子文件的状态设置为淘汰状态。
在一些具体实施例中,所述删除单元具体可以包括:
待删除块文件确定单元,用于通过所述节点服务按照第二预设周期查询所述目标通道对应的块文件的元数据,筛选出处于非读写状态且对应的所有时间段子文件的状态为淘汰状态的块文件作为待删除块文件;
删除单元,用于通过所述节点服务淘汰所述块文件并删除所述待删除块文件对应的所有时间段子文件。
进一步的,本发明实施例还公开了一种电子设备,参见图11所示,图中的内容不能被认为是对本发明的使用范围的任何限制。
图11为本发明实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的实时视频处理方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括视频数据处理请求在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是WindowsServer、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的实时视频处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本发明实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的实时视频处理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种实时视频处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种实时视频处理方法,其特征在于,应用于存储业务系统,包括:
获取用户发送的视频数据处理请求;
若所述视频数据处理请求为写请求,则通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;
若所述视频数据处理请求为读请求,则通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。
2.根据权利要求1所述的实时视频处理方法,其特征在于,所述存储业务系统包括预设接口模块、中心服务和节点服务;
所述预设接口模块用于执行所述获取用户发送的视频数据处理请求的操作;
所述中心服务用于执行所述根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据的操作,以及所述通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据的操作;
所述节点服务用于执行所述将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件的操作。
3.根据权利要求2所述的实时视频处理方法,其特征在于,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还包括:
通过所述预设接口模块获取通道创建请求;
利用所述中心服务根据所述通道创建请求对应的通道标识判断所述目标通道是否存在,若不存在,则创建通道并将对应的元数据存储至所述存储业务系统内的中心数据库,若存在则返回通道存在响应。
4.根据权利要求2所述的实时视频处理方法,其特征在于,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还包括:
通过所述节点服务对所述目标通道当前占用的块文件进行空间检测,并根据检测结果判断是否满足块文件获取条件;
若满足,则从空闲块文件中筛选出新的块文件作为所述目标块文件,若不满足,则将所述当前占用的块文件作为所述目标块文件。
5.根据权利要求2所述的实时视频处理方法,其特征在于,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件之前,还包括:
通过所述节点服务判断当前是否满足时间段生成条件,若满足则在所述目标块文件中生成新的时间段子文件作为所述目标时间段子文件,若不满足则将当前占用的时间段子文件作为所述目标时间段子文件。
6.根据权利要求2所述的实时视频处理方法,其特征在于,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,包括:
通过所述中心服务为所述写请求分配对应的存储节点,通过目标通道将所述写请求对应的待存储视频发送给所述存储节点,以便所述存储节点对应的节点服务将所述待存储视频写入目标块文件中的目标时间段子文件。
7.根据权利要求6所述的实时视频处理方法,其特征在于,还包括:
若写失败,则向所述中心服务申请重新分配新的存储节点,并通过所述新的存储节点对应的节点服务,将所述待存储视频写入目标块文件中的目标时间段子文件。
8.根据权利要求2所述的实时视频处理方法,其特征在于,所述根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据,包括:
通过所述节点服务根据写入的目标块文件和目标时间段子文件的信息,更新本地数据库中所述目标时间段子文件的元数据和所述目标块文件的元数据并发送给所述中心服务;
所述中心服务基于所述目标时间段子文件的元数据和所述目标块文件的元数据更新中心数据库中的所述目标通道的元数据。
9.根据权利要求2所述的实时视频处理方法,其特征在于,所述通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件的过程中,还包括:
从多个包含所述存储业务系统的服务器对应的所有中心服务中选举出主服务,并利用所述主服务对所有服务器进行负载均衡和数据一致性管理。
10.根据权利要求2所述的实时视频处理方法,其特征在于,还包括:
通过所述节点服务生成本地存储节点对应的节点元数据,并将所述节点元数据同步给所述中心服务。
11.根据权利要求2所述的实时视频处理方法,其特征在于,所述通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据,包括:
通过所述中心服务确定所述读请求对应的时间范围,并通过查询所述目标通道的元数据确定出所述时间范围对应的第一时间段子文件列表,并将所述第一时间段子文件列表反馈给所述用户对应的管理平台,以便所述管理平台通过所述第一时间段子文件列表中每个时间段子文件对应的节点服务读取相应的视频数据。
12.根据权利要求11所述的实时视频处理方法,其特征在于,所述管理平台通过所述第一时间段子文件列表中每个时间段子文件对应的节点服务读取相应的视频数据,包括:
所述管理平台向所述第一时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送读取指令;
获取到所述读取指令的节点服务通过查询本地数据库确定所述读取指令对应的时间段子文件的元数据,并根据该时间段子文件的元数据确定目标关键帧在块文件的偏移量,并根据所述偏移量定位到物理存储地址后进行持续的数据读取。
13.根据权利要求2所述的实时视频处理方法,其特征在于,还包括:
通过所述预设接口模块获取用户发送的针对目标视频的操作指令;所述操作指令包括锁定指令或解锁指令;
通过所述中心服务根据所述操作指令确定所述目标视频对应的第二时间段子文件列表,并向所述第二时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送状态修改指令,以便将所述第二时间段子文件列表中的时间段子文件的状态修改为锁定状态或解锁状态。
14.根据权利要求13所述的实时视频处理方法,其特征在于,所述向所述第二时间段子文件列表中每个时间段子文件所在存储节点的节点服务发送状态修改指令之后,还包括:
根据所述第二时间段子文件列表中的时间段子文件的状态,通过所述节点服务更新本地数据库中的时间段子文件的元数据和块文件的元数据,并发送给所述中心服务,以便所述中心服务基于所述时间段子文件的元数据和所述块文件的元数据更新中心数据库中对应的通道的元数据。
15.根据权利要求2至14任一项所述的实时视频处理方法,其特征在于,还包括:
按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,并在删除后更新相应的时间段子文件的元数据和块文件的元数据。
16.根据权利要求15所述的实时视频处理方法,其特征在于,所述按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,包括:
通过所述中心服务按照第一预设周期查询所述目标通道的元数据,筛选出超过预设存储周期且状态为非锁定状态的时间段子文件作为待删除时间段子文件;
通过所述中心服务向所述待删除时间段子文件对应的节点服务发送针对所述待删除时间段子文件的删除指令,以便将所述待删除时间段子文件的状态设置为淘汰状态。
17.根据权利要求16所述的实时视频处理方法,其特征在于,所述按照所述目标通道对应的预设周期定时对所述目标通道对应的时间段子文件和块文件进行检测,筛选出满足淘汰条件的时间段子文件和块文件进行删除,包括:
通过所述节点服务按照第二预设周期查询所述目标通道对应的块文件的元数据,筛选出处于非读写状态且对应的所有时间段子文件的状态为淘汰状态的块文件作为待删除块文件;
通过所述节点服务淘汰所述块文件并删除所述待删除块文件对应的所有时间段子文件。
18.一种实时视频处理装置,其特征在于,包括:
请求获取模块,用于获取用户发送的视频数据处理请求;
写模块,用于若所述视频数据处理请求为写请求,则通过目标通道将所述写请求对应的待存储视频写入存储节点下目标块文件中的目标时间段子文件,并根据所述目标块文件及所述目标时间段子文件的信息更新所述目标通道的元数据;
检索模块,用于若所述视频数据处理请求为读请求,则通过查询所述目标通道的元数据确定所述读请求对应的目标视频数据。
19.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至17任一项所述的实时视频处理方法。
20.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至17任一项所述的实时视频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310246608.1A CN115955581A (zh) | 2023-03-15 | 2023-03-15 | 一种实时视频处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310246608.1A CN115955581A (zh) | 2023-03-15 | 2023-03-15 | 一种实时视频处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115955581A true CN115955581A (zh) | 2023-04-11 |
Family
ID=87282882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310246608.1A Pending CN115955581A (zh) | 2023-03-15 | 2023-03-15 | 一种实时视频处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115955581A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117880553A (zh) * | 2024-03-13 | 2024-04-12 | 济南浪潮数据技术有限公司 | 流媒体存储方法、系统、服务器、电子设备和存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081577A (zh) * | 2011-01-12 | 2011-06-01 | 厦门雅迅网络股份有限公司 | Flash存储器的数据存储结构及其数据操作方式 |
CN102760136A (zh) * | 2011-04-29 | 2012-10-31 | 苏州科达科技有限公司 | 一种基于快速视频数据存储的文件系统的控制方法 |
CN103077200A (zh) * | 2012-12-27 | 2013-05-01 | 深圳市赛为智能股份有限公司 | 一种音视频存储索引方法及装置 |
CN103581626A (zh) * | 2013-11-04 | 2014-02-12 | 浙江宇视科技有限公司 | 一种视频监控系统及其视频存储信息记录方法 |
CN104700037A (zh) * | 2013-12-10 | 2015-06-10 | 杭州海康威视系统技术有限公司 | 保护云存储视频数据的方法及其系统 |
CN105721809A (zh) * | 2014-12-02 | 2016-06-29 | 联咏科技股份有限公司 | 储存方法与录像系统 |
CN108093207A (zh) * | 2016-11-23 | 2018-05-29 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、获取方法及装置 |
CN108228829A (zh) * | 2018-01-03 | 2018-06-29 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN110941591A (zh) * | 2019-11-22 | 2020-03-31 | 浪潮电子信息产业股份有限公司 | 一种文件删除方法、装置、设备及可读存储介质 |
CN111104063A (zh) * | 2019-12-06 | 2020-05-05 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法、装置及电子设备和存储介质 |
CN112019788A (zh) * | 2020-08-27 | 2020-12-01 | 杭州海康威视系统技术有限公司 | 数据存储方法、装置、系统及存储介质 |
CN112272291A (zh) * | 2020-10-28 | 2021-01-26 | 重庆紫光华山智安科技有限公司 | 视频存储方法、装置、管理设备及可读存储介质 |
CN112307263A (zh) * | 2020-10-29 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种文件存储方法、装置、设备及介质 |
CN113297424A (zh) * | 2021-06-11 | 2021-08-24 | 杭州海康威视系统技术有限公司 | 录像计划配置、录像内容查询方法及装置 |
CN114741552A (zh) * | 2022-04-27 | 2022-07-12 | 安徽睿极智能科技有限公司 | 一种自定义格式的录像文件存储方法及介质 |
-
2023
- 2023-03-15 CN CN202310246608.1A patent/CN115955581A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081577A (zh) * | 2011-01-12 | 2011-06-01 | 厦门雅迅网络股份有限公司 | Flash存储器的数据存储结构及其数据操作方式 |
CN102760136A (zh) * | 2011-04-29 | 2012-10-31 | 苏州科达科技有限公司 | 一种基于快速视频数据存储的文件系统的控制方法 |
CN103077200A (zh) * | 2012-12-27 | 2013-05-01 | 深圳市赛为智能股份有限公司 | 一种音视频存储索引方法及装置 |
CN103581626A (zh) * | 2013-11-04 | 2014-02-12 | 浙江宇视科技有限公司 | 一种视频监控系统及其视频存储信息记录方法 |
CN104700037A (zh) * | 2013-12-10 | 2015-06-10 | 杭州海康威视系统技术有限公司 | 保护云存储视频数据的方法及其系统 |
CN105721809A (zh) * | 2014-12-02 | 2016-06-29 | 联咏科技股份有限公司 | 储存方法与录像系统 |
CN108093207A (zh) * | 2016-11-23 | 2018-05-29 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、获取方法及装置 |
CN108228829A (zh) * | 2018-01-03 | 2018-06-29 | 北京百度网讯科技有限公司 | 用于生成信息的方法和装置 |
CN110941591A (zh) * | 2019-11-22 | 2020-03-31 | 浪潮电子信息产业股份有限公司 | 一种文件删除方法、装置、设备及可读存储介质 |
CN111104063A (zh) * | 2019-12-06 | 2020-05-05 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法、装置及电子设备和存储介质 |
CN112019788A (zh) * | 2020-08-27 | 2020-12-01 | 杭州海康威视系统技术有限公司 | 数据存储方法、装置、系统及存储介质 |
CN112272291A (zh) * | 2020-10-28 | 2021-01-26 | 重庆紫光华山智安科技有限公司 | 视频存储方法、装置、管理设备及可读存储介质 |
CN112307263A (zh) * | 2020-10-29 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种文件存储方法、装置、设备及介质 |
CN113297424A (zh) * | 2021-06-11 | 2021-08-24 | 杭州海康威视系统技术有限公司 | 录像计划配置、录像内容查询方法及装置 |
CN114741552A (zh) * | 2022-04-27 | 2022-07-12 | 安徽睿极智能科技有限公司 | 一种自定义格式的录像文件存储方法及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117880553A (zh) * | 2024-03-13 | 2024-04-12 | 济南浪潮数据技术有限公司 | 流媒体存储方法、系统、服务器、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2227016B1 (en) | A content buffering, querying method and point-to-point media transmitting system | |
EP1364510B1 (en) | Method and system for managing distributed content and related metadata | |
US6539381B1 (en) | System and method for synchronizing database information | |
EP1892921B1 (en) | Method and system for managing distributed content and related metadata | |
US6047309A (en) | Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics | |
CN107566463B (zh) | 一种提高存储可用性的多云存储管理系统 | |
US8099402B2 (en) | Distributed data storage and access systems | |
US10579595B2 (en) | Method and device for calling a distributed file system | |
US8954976B2 (en) | Data storage in distributed resources of a network based on provisioning attributes | |
US9445162B2 (en) | Interactive personal/internet protocol television reservation system, reservation plan management method and device | |
CN109344122B (zh) | 一种基于文件预创策略的分布式元数据管理方法及系统 | |
CN109756573B (zh) | 一种基于区块链的文件系统 | |
EP3285186B1 (en) | Methods and procedures for timestamp-based indexing of items in real-time storage | |
CN111050188B (zh) | 一种数据流调度方法、系统、设备及介质 | |
CN112416892A (zh) | 一种应急视频数据云储存系统 | |
CN115955581A (zh) | 一种实时视频处理方法、装置、设备及存储介质 | |
KR20100073151A (ko) | 비대칭 클러스터 파일 시스템 | |
WO2023280053A1 (zh) | 数据处理方法、系统、电子设备及存储介质 | |
CN109871365A (zh) | 一种分布式文件系统 | |
CN111381766B (zh) | 一种磁盘动态加载的方法和云存储系统 | |
US20230205638A1 (en) | Active-active storage system and data processing method thereof | |
CN114254150B (zh) | 一种基于区块链的分布式视频存储系统及存储方法 | |
KR100826870B1 (ko) | 컨텐츠의 부적절한 삭제방지를 위한 컨텐츠 제공 시스템,컨텐츠 제공방법 및 그 컨텐츠 관리방법 | |
CN115061630A (zh) | 一种数据迁移方法、装置、设备及介质 | |
CN112347036B (zh) | 一种云存储系统的云间迁移方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |