CN112650578A - 数据处理方法、调度平台、视频存储平台和视频处理引擎 - Google Patents
数据处理方法、调度平台、视频存储平台和视频处理引擎 Download PDFInfo
- Publication number
- CN112650578A CN112650578A CN201910969920.7A CN201910969920A CN112650578A CN 112650578 A CN112650578 A CN 112650578A CN 201910969920 A CN201910969920 A CN 201910969920A CN 112650578 A CN112650578 A CN 112650578A
- Authority
- CN
- China
- Prior art keywords
- video
- processed
- passenger flow
- processing engine
- task
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 458
- 238000003860 storage Methods 0.000 title claims abstract description 201
- 238000003672 processing method Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000012806 monitoring device Methods 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
Abstract
本公开涉及一种数据处理方法、调度平台、视频存储平台和视频处理引擎。该方法应用于调度平台时可以包括:从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息;确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;根据各个视频处理引擎对应的任务队列,为各个视频处理引擎分配待处理客流视频任务。本公开可以根据视频处理引擎的负载动态分配待处理客流视频任务,从而实现最大化利用算力资源,提高数据处理速度。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、调度平台、视频存储平台和视频处理引擎。
背景技术
随着人工智能时代的到来,客流视频数据成为分析目标顾客的真实需求,以及制定有针对性的营销策略的重要技术手段。对防盗、店铺安全运营也有重要的意义。目前,对客流视频数据的数据处理采用实时处理的方式,将监控区域内所有的监控装置全部接入视频处理引擎,以完成对监控区域内客流的实时统计。但是,由于不同时段、不同区域的客流密度不同,对算力资源的需求不同,对客流视频数据进行实时处理的方式无法实现视频处理引擎的负载均衡,导致不同时段、不同区域的客流视频数据的处理进度难以协调。
发明内容
有鉴于此,本公开提出了一种数据处理方法、调度平台、视频存储平台和视频处理引擎,使得可以根据视频处理引擎的负载动态分配待处理客流视频任务,从而实现最大化利用算力资源,提高数据处理速度。
根据本公开的第一方面,提供了一种数据处理方法,所述方法应用于调度平台,所述方法包括:从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息,所述视频存储平台中存储有对从客流监控装置采集到的客流视频以所述目标时长为单位进行划分得到的多个待处理客流视频;确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括所述目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理客流视频任务。
根据本公开的第二方面,提供了一种数据处理方法,所述方法应用于视频存储平台,所述方法包括:从客流监控装置中采集客流视频;以目标时长为单位对采集到的所述客流视频进行划分,得到多个待处理客流视频;对所述多个待处理客流视频进行存储。
根据本公开的第三方面,提供了一种数据处理方法,所述方法应用于视频处理引擎,所述方法包括:向调度平台发送任务获取请求;接收所述调度平台返回的待处理客流视频任务,所述待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息;根据所述存储信息,从视频存储平台中获取所述待处理客流视频;对所述待处理客流视频进行客流统计,得到数据处理结果。
根据本公开的第四方面,提供了一种数据处理方法,所述方法应用于调度平台,所述方法包括:从视频存储平台中获取目标个数的待处理视频任务,一个待处理视频任务中包括目标时长的待处理视频对应的存储信息,所述视频存储平台中存储有对从监控装置采集到的视频以所述目标时长为单位进行划分得到的多个待处理视频;确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括所述目标个数的待处理视频任务中分配给该视频处理引擎的待处理视频任务;根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理视频任务,每个视频处理引擎用于根据分配给该视频处理引擎的待处理视频任务中包括的存储信息获取待处理视频,以及对获取到的待处理视频中包括的目标对象进行统计。
根据本公开的第五方面,提供了一种调度平台,包括:获取模块,用于从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息,所述视频存储平台中存储有对从客流监控装置采集到的客流视频以所述目标时长为单位进行划分得到的多个待处理客流视频;确定模块,用于确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括所述目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;分配模块,用于根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理客流视频任务。
根据本公开的第六方面,提供了一种调度平台,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述第一方面所述的数据处理方法。
根据本公开的第七方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述第一方面所述的数据处理方法。
根据本公开的第八方面,提供了一种视频存储平台,包括:采集模块,用于从客流监控装置中采集客流视频;划分模块,用于以目标时长为单位对采集到的所述客流视频进行划分,得到多个待处理客流视频;存储模块,用于对所述多个待处理客流视频进行存储。
根据本公开的第九方面,提供了一种视频存储平台,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述第二方面所述的数据处理方法。
根据本公开的第十方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述第二方面所述的数据处理方法。
根据本公开的第十一方面,提供了一种视频处理引擎,包括:发送模块,用于向调度平台发送任务获取请求;接收模块,用于接收所述调度平台返回的待处理客流视频任务,所述待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息;获取模块,用于根据所述存储信息,从视频存储平台中获取所述待处理客流视频;数据处理模块,用于对所述待处理客流视频进行客流统计,得到数据处理结果。
根据本公开的第十二方面,提供了一种视频处理引擎,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述第三方面所述的数据处理方法。
根据本公开的第十三方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述第三方面所述的数据处理方法。
根据本公开的第十四方面,提供了一种调度平台,包括:获取模块,用于从视频存储平台中获取目标个数的待处理视频任务,一个待处理视频任务中包括目标时长的待处理视频对应的存储信息,所述视频存储平台中存储有对从监控装置采集到的视频以所述目标时长为单位进行划分得到的多个待处理视频;确定模块,用于确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括所述目标个数的待处理视频任务中分配给该视频处理引擎的待处理视频任务;分配模块,用于根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理视频任务,每个视频处理引擎用于根据分配给该视频处理引擎的待处理视频任务中包括的存储信息获取待处理视频,以及对获取到的待处理视频中包括的目标对象进行统计。
根据本公开的第十五方面,提供了一种调度平台,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述第四方面所述的数据处理方法。
根据本公开的第十六方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述第四方面所述的数据处理方法。
调度平台从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息,视频存储平台中存储有对从客流监控装置采集到的客流视频以目标时长为单位进行划分得到的多个待处理客流视频,调度平台确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括该目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务,进而调度平台根据各个视频处理引擎对应的任务队列,为各个视频处理引擎分配待处理客流视频任务,使得可以根据视频处理引擎的负载动态分配待处理客流视频任务,从而实现最大化利用算力资源,提高数据处理速度。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出本公开一实施例的一种应用场景示意图;
图2示出本公开一实施例的一种数据处理系统的示意图;
图3示出本公开一实施例的一种数据处理方法的流程示意图;
图4示出本公开一实施例的一种数据处理方法的流程示意图;
图5示出本公开一实施例的一种数据处理方法的流程示意图;
图6示出本公开一实施例的一种数据处理方法的流程示意图;
图7示出本公开一实施例的一种数据处理方法的流程示意图;
图8示出本公开一实施例的一种调度平台的结构示意图;
图9示出本公开一实施例的一种视频存储平台的结构示意图;
图10示出本公开一实施例的一种视频处理引擎的结构示意图;
图11示出本公开一实施例的一种调度平台的结构示意图;
图12示出本公开一实施例的一种电子设备的结构示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
在符合所在国的适用法律法规要求的情况下(例如,对用户切实通知,数据采集在用户可视/知情区域,等),可以在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
为了方便本领域技术人员理解本公开实施例提供的技术方案,下面先对相关技术以及技术方案实现的技术环境进行说明。
视频客流统计技术,采用独特的人头检测算法,通过视频分析检测运动目标,实现精确地客流统计,以实现防盗、安全、运营分析等目的。随着人工智能时代的到来,客流视频统计分析成为指导商家运营的一种越来越重要的技术手段。相关技术中,通过在监控区域(例如,商场内)设置客流监控装置,客流监控装置对监控区域进行视频采集,得到客流视频。客流监控装置采集到的客流视频直接传输至视频处理引擎(例如,一个或多个摄像头对接一个视频处理引擎),视频处理引擎对客流视频进行实时的数据处理。但是,由于不同时段、不同区域的客流密度不同,对算力资源的需求不同(例如,营业时间中上午11点至下午3点时间段之间,店铺A所在区域的客流密度较大,即店铺A所在区域的监控装置采集到的客流视频需要较多的算力资源),对客流视频进行实时处理的方式无法实现视频处理引擎的负载均衡,导致不同时段、不同区域的客流视频的处理进度难以协调。
本公开提供的数据处理方法可以通过一系列的流程方法,通过调度平台从视频存储平台中获取待处理客流视频任务,并根据视频处理引擎的负载动态地为视频处理引擎分配待处理客流视频任务,从而实现最大化利用算力资源,确保各个视频处理引擎的负载均衡,提高数据处理速度。
下面通过一个具体的应用场景说明本公开各个实施例提供的数据处理方法。
图1示出本公开一实施例的一种应用场景示意图。如图1所示,在监控区域设置客流监控装置100(例如,摄像头),通过客流监控装置100对监控区域进行视频采集得到客流视频。此后,可以通过图2所示的数据处理系统实现视频处理引擎200对客流监控装置100采集得到的客流视频的客流统计分析。
图2示出本公开一实施例的一种数据处理系统的示意图。图2所示的数据处理系统中包括客流监控装置100、视频处理引擎200、视频存储平台300、调度平台400和目标局域网500。其中,视频存储平台300可以是视频处理引擎200对应的本地存储装置,还可以是独立的具备存储功能的存储装置,本公开对此不做具体限定。视频存储平台300和视频处理引擎200可以都处于目标局域网500中,使得当视频存储平台300是独立的具备存储功能的存储装置时,视频处理引擎200仍然可以像访问本地文件一样,根据存储地址直接读取到视频存储平台300中存储的共享文件。
图3示出本公开一实施例的一种数据处理方法的流程示意图。图3是图2中各个组成部分的交互处理流程图。如图3所示,步骤1,视频存储平台300获取客流监控装置100采集到的客流视频。步骤2,视频存储平台300以目标时长为单位对客流视频进行划分得到多个待处理客流视频,便于后续基于负载均衡为视频处理引擎200分配待处理客流视频任务。目标时长可以根据实际情况调整,本公开对此不做具体限定。步骤3,视频存储平台300在目标局域网500中对多个待处理客流视频进行共享存储。步骤4,调度平台400从视频存储平台300中获取目标个数的待处理客流视频任务,即获取目标个数的待处理客流视频的存储信息。其中,目标个数可以根据实际情况调整,本公开对此不做具体限定。步骤5,调度平台400确定各个视频处理引擎200对应的任务队列,进而基于各个视频处理引擎200对应的任务队列,基于负载均衡为各个视频处理引擎200分配待处理客流视频任务。步骤6,调度平台400接收目标视频处理引擎200发送的任务获取请求,其中,目标视频处理引擎200为各个视频处理引擎中的某一个。步骤7,调度平台400判断目标视频处理引擎200对应的任务队列中是否包括待处理客流视频任务,若是,则执行步骤8,若否,则执行步骤9。步骤8,调度平台400从目标视频处理引擎200对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎200,进而目标视频处理引擎200执行步骤16。步骤9,调度平台400判断目标视频处理引擎200以外的其它视频处理引擎对应的任务队列中是否包括待处理客流视频任务,若否,则执行步骤10,若是,则执行步骤11。步骤10,重复执行上述步骤4、5、7、8。步骤11,调度平台400遍历目标视频处理引擎200以外的其它视频处理引擎,将任务队列中包括的待处理客流视频任务最多的视频处理引擎确定为高负载视频处理引擎。步骤12,调度平台400判断高负载视频处理引擎对应的任务队列中包括的待处理客流视频是否大于预设阈值,若是,则执行步骤13,若否,则执行步骤14。其中,预设阈值可以根据实际情况设置,本公开对此不做具体限制。步骤13,调度平台400从高负载视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎200,进而目标视频处理引擎200执行步骤16。步骤14,调度平台400生成一个空视频任务。步骤15,调度平台400向目标视频处理引擎200发送该空视频任务,以提示目标视频处理引擎200当前没有待处理客流视频任务。步骤16,目标视频处理引擎200从视频存储平台300中获取待处理客流视频任务对应的待处理客流视频,并对待处理客流视频进行客流统计,得到数据处理结果。
下面结合附图详细介绍本公开提供的数据处理方法。
图4示出本公开一实施例的一种数据处理方法的流程示意图。图4所示的方法可以应用于调度平台,如图4所示,该方法可以包括:
步骤S41,从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息,视频存储平台中存储有对从客流监控装置采集到的客流视频以目标时长为单位进行划分得到的多个待处理客流视频。
步骤S42,确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务。
步骤S43,根据各个视频处理引擎对应的任务队列,为各个视频处理引擎分配待处理客流视频任务。
其中,客流监控装置可以是具备视频采集功能的设备,例如,摄像头。客流监控装置可以设置于商场、超市、电影院、地铁站、火车站等多种存在客流分析需求的场所。客流监控装置对监控区域进行视频采集,并将采集得到客流视频传输至视频存储平台进行持久化存储。
图5示出本公开一实施例的一种数据处理方法的流程示意图。图5所示的方法可以应用于视频存储平台,如图5所示,该方法可以包括:
步骤S51,从客流监控装置中采集客流视频。
步骤S52,以目标时长为单位对采集到的客流视频进行划分,得到多个待处理客流视频。
步骤S53,对多个待处理客流视频进行存储。
视频存储平台可以通过实时流传输协议(Real Time Streaming Protocol,RTSP)从客流监控装置中实时获取客流视频并进行持久化存储。
为了便于调度平台后续基于负载均衡调度视频处理引擎对客流视频进行数据处理,视频存储平台采用/data/${客流监控装置ip}/video_${timestamp}.mov的格式,以目标时长为单位对采集到的客流视频进行划分,得到多个待处理客流视频,并对划分得到的多个待处理客流视频进行存储。例如,以目标时长1分钟为单位对采集到的20分钟客流视频进行划分,得到20个待处理客流视频。
在一种可能的实现方式中,视频存储平台处于目标局域网中;多个待处理客流视频在目标局域网内共享。
视频存储平台可以将本机存储的多个待处理客流视频的存储信息(存储地址)目录在目标局域网内共享,使得位于目标局域网内的其它设备在获取到某一待处理客流视频的存储信息后,就可以以访问本地文件类似的方式直接读取到被共享的该待处理客流视频。
视频存储平台可以和调度平台集成在一起进行布局,视频存储平台和调度平台也可以分别布局在不同的位置,本公开对此不做具体限定。
调度平台从视频存储平台中获取目标个数的待处理客流视频任务,其中,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息。
在一示例中,在目标个数的待处理客流视频任务中,来自每个客流监控装置的待处理客流视频任务的数目相同,以协调各个客流监控装置对应的客流视频的处理进度。
例如,视频存储平台从20个客流监控装置中分别获取20分钟客流视频,以目标时长1分钟为单位对从任一客流监控装置中获取的20分钟客流视频进行划分,得到任一客流监控装置对应的20个待处理客流视频。调度平台从视频存储平台中获取任一客流监控装置对应的1个待处理客流视频的存储信息,即获取任一客流监控装置对应的1个待处理客流视频任务,得到20个(目标个数)的待处理客流视频任务。
在一种可能的实现方式中,从视频存储平台中获取目标个数的待处理客流视频任务,包括:确定视频存储平台中存储的每个待处理客流视频的处理优先级;根据处理优先级由高到低,获取目标个数的待处理客流视频任务。
视频存储平台可以对其中存储的每个待处理客流视频进行预处理,确定每个待处理客流视频的处理优先级。
在一示例中,视频存储平台对其中存储的每个待处理客流视频进行预处理,判断该待处理客流视频是否指示紧急状况或突发事件;若是,则将该待处理客流视频的处理优先级设置为高优先级;若否,则将该待处理客流视频的处理优先级设置为默认的低优先级。
对每个待处理客流视频进行预处理,确定该待处理客流视频的处理优先级的方式除了可以采用上述方式外,还可以采用其它方式,本公开对此不做具体限定。
视频存储平台可以将每个待处理客流视频的处理优先级上报调度平台,使得调度平台在为每个视频处理引擎分配待处理客流视频任务的过程中,根据处理优先级由高到低从视频存储平台中获取目标个数的待处理客流视频任务,以便于优先对处理优先级较高的待处理客流视频进行数据处理操作。
调度平台根据从视频存储平台获取到的目标个数的待处理客流视频,确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务。
例如,视频处理引擎的个数为5,调度平台从视频存储平台获取20个(目标个数)待处理客流视频,进而将20个待处理客流视频平均分配到每个视频处理引擎,得到每个视频处理引擎对应的包括4个待处理客流视频任务的任务队列,以实现各个视频处理引擎的负载均衡。
在一种可能的实现方式中,视频存储平台中包括各个视频处理引擎对应的本地存储装置,目标个数的待处理客流视频任务是从各个视频处理引擎对应的本地存储装置中获取得到的;其中,针对任一视频处理引擎,从该视频处理引擎对应的本地存储装置中获取到的待处理客流视频任务优先分配给该视频处理引擎对应的任务队列。
例如,视频处理引擎A、B、C均具备对应的本地存储装置a、b、c,本地存储装置a、b、c共同构成视频存储平台。调度平台从视频存储平台获取6个(目标个数)待处理客流视频任务,具体地:从本地存储装置a中获取2个待处理客流视频任务,从本地存储装置b中获取2个待处理客流视频任务,从本地存储装置c中获取2个待处理客流视频任务。为了减少网络传输带来的耗时,调度平台将从本地存储装置a中获取2个待处理客流视频任务分配至视频处理引擎A对应的任务队列,将从本地存储装置b中获取2个待处理客流视频任务分配至视频处理引擎B对应的任务队列,将从本地存储装置c中获取2个待处理客流视频任务分配至视频处理引擎C对应的任务队列。
在一种可能的实现方式中,确定各个视频处理引擎对应的任务队列,包括:根据每个待处理客流视频任务的权限信息,确定各个视频处理引擎对应的任务队列,每个待处理客流视频任务的权限信息用于指示具备该待处理客流视频任务的处理权限的视频处理引擎,每个视频处理引擎对应的任务队列包括目标个数的待处理客流视频任务中分配给该视频处理引擎且该视频处理引擎具备处理权限的待处理客流视频任务。
为了确保数据的隐私性,某些待处理客流视频仅能由对该待处理客流视频具备处理权限的视频处理引擎进行处理,而不能由其它视频处理引擎进行处理。例如,从银行的客流监控装置采集到的客流视频划分得到的待处理客流视频所对应的待处理客流视频任务具备权限信息,该权限信息用于指示该待处理客流视频仅能由特定的视频处理引擎D进行处理,而不能由其它视频处理引擎进行处理。
在一示例中,调度平台对待处理客流视频任务的权限信息进行管理,在从视频存储平台中获取到目标个数的待处理客流视频任务之后,根据每个待处理客流视频任务的权限信息,将该待处理客流视频任务分配至对该待处理客流视频任务指示的待处理客流视频具备处理权限的视频处理引擎对应的任务队列。
下面详细介绍调度平台确定每个视频处理引擎对应的任务队列之后,根据各个视频处理引擎对应的任务队列,基于负载均衡,动态地为各个视频处理引擎分配待处理客流视频任务。
在一种可能的实现方式中,根据各个视频处理引擎对应的任务队列,为各个视频处理引擎分配待处理客流视频任务,包括:接收目标视频处理引擎发送的任务获取请求,目标视频处理引擎为各个视频处理引擎中的一个;判断目标视频处理引擎对应的任务队列中是否包括待处理客流视频任务,得到第一判断结果;根据第一判断结果,为目标视频处理引擎分配待处理客流视频任务。
根据第一判断结果,为目标视频处理引擎分配待处理客流视频任务,包括下述两种方式:
1、在一种可能的实现方式中,第一判断结果为:目标视频处理引擎对应的任务队列中包括待处理客流视频任务;根据第一判断结果,为目标视频处理引擎分配待处理客流视频任务,包括:从目标视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎。
当目标视频处理引擎对应的任务队列中包括待处理客流视频任务,即目标视频处理引擎尚未处理完其对应的任务队列中包括的待处理客流视频任务,调度平台直接从目标视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎。
2、在一种可能的实现方式中,第一判断结果为:目标视频处理引擎对应的任务队列中不包括待处理客流视频任务;根据第一判断结果,为目标视频处理引擎分配待处理客流视频任务,包括:判断目标视频处理引擎以外的其它视频处理引擎对应的任务队列中是否包括待处理客流视频任务,得到第二判断结果;根据第二判断结果,为目标视频处理引擎分配待处理客流视频任务。
当目标视频处理引擎对应的任务队列中不包括待处理客流视频任务,即目标视频处理引擎已经处理完其对应的任务队列中包括的待处理客流视频任务,调度平台查看目标视频处理引擎以外的其它视频处理引擎是否已经处理完自身对应的任务队列中包括的待处理客流视频任务,以确定从视频存储平台获取的目标个数的待处理客流视频任务是否全部处理完。
根据第二判断结果,为目标视频处理引擎分配待处理客流视频任务,包括下述两种方式:
2.1、在一种可能的实现方式中,第二判断结果为:目标视频处理引擎以外的其它视频处理引擎对应的任务队列中都不包括待处理客流视频任务;根据第二判断结果,为目标视频处理引擎分配待处理客流视频任务,包括:再次从视频存储平台中获取目标个数的待处理客流视频任务;再次确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括再次获取的目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;从目标视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎。
当目标视频处理引擎以外的其它视频处理引擎对应的任务队列中都不包括待处理客流视频任务,即从视频存储平台获取的目标个数的待处理客流视频任务已经全部处理完,则调度平台再次从视频存储平台中获取目标个数的待处理客流视频任务分配到各个视频处理引擎对应的任务队列,进而从目标视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎。
2.2、在一种可能的实现方式中,第二判断结果为:目标视频处理引擎以外的至少部分其它视频处理引擎对应的任务队列中包括待处理客流视频任务;根据第二判断结果,为目标视频处理引擎分配待处理客流视频任务,包括:遍历目标视频处理引擎以外的其它视频处理引擎对应的任务队列,将任务队列中包括的待处理客流视频任务最多的视频处理引擎确定为高负载视频处理引擎;判断高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数是否大于预设阈值,得到第三判断结果;根据第三判断结果,为目标视频处理引擎分配待处理客流视频任务。
当目标视频处理引擎以外的至少部分其它视频处理引擎对应的任务队列中包括待处理客流视频任务,即从视频存储平台获取的目标个数的待处理客流视频任务尚未全部处理完,则调度平台查看高负载视频处理引擎(任务队列中包括的待处理客流视频任务最多)对应的任务队列中包括的待处理客流视频任务的个数是否大于预设阈值。
根据第三判断结果,为目标视频处理引擎分配待处理客流视频任务,包括下述两种方式:
2.2.1、在一种可能的实现方式中,第三判断结果为:高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数大于预设阈值;根据第三判断结果,为目标视频处理引擎分配待处理客流视频任务,包括:从高负载视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎。
当高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数大于预设阈值,即高负载视频处理引擎的负载过大,此时,调度平台从高负载视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎(需确保目标视频处理引擎对从高负载视频处理引擎对应的任务队列中拉取的该待处理客流视频任务指示的待处理客流视频具备处理权限),以降低高负载视频处理引擎的负载,实现视频处理引擎之间的负载均衡,最大化利用各个视频处理引擎的算力资源,提高数据处理速度。
其中,预设阈值的具体取值可以根据实际情况确定,本公开对此不做限定。
2.2.2、在一种可能的实现方式中,第三判断结果为:高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数小于等于预设阈值;根据第三判断结果,为目标视频处理引擎分配待处理客流视频任务,包括:生成一个空视频任务;将空视频任务发送至目标视频处理引擎,空视频任务用于提示目标视频处理引擎当前没有待处理客流视频任务。
当高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数小于等于预设阈值,即高负载视频处理引擎的负载并不是很大,此时,为了减少网络传输带来的耗时,无需对高负载视频处理引擎对应的任务队列进行调整,调度平台生成空视频任务发送至目标视频处理引擎,以提示目标视频处理引擎当前没有待处理客流视频任务,使得目标视频处理引擎暂停数据处理,等待其它视频处理引擎处理完其对应的任务队列中包括待处理客流视频任务,即等待完全处理完从视频存储平台获取的目标个数的待处理客流视频任务。
目标视频处理引擎对接收到的待处理客流视频任务进行数据处理操作。由于目标视频处理引擎为各个视频处理引擎中的一个,下述以任一视频处理引擎为例详细描述数据处理过程。
图6示出本公开一实施例的一种数据处理方法的流程示意图。图6所示的方法可以应用于视频处理引擎,如图6所示,该方法可以包括:
步骤S61,向调度平台发送任务获取请求。
步骤S62,接收调度平台返回的待处理客流视频任务,待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息。
步骤S63,根据存储信息,从视频存储平台中获取待处理客流视频。
步骤S64,对待处理客流视频进行客流统计,得到数据处理结果。
在一种可能的实现方式中,视频存储平台与多个视频处理引擎都处于目标局域网中。
由于视频存储平台与视频处理引擎都处于目标局域网中,使得当视频处理引擎接收到调度平台发送的待处理客流视频任务之后,就可以根据该待处理客流视频任务中包括的目标时长的待处理客流视频对应的存储信息,以访问本地文件类似的方式直接读取到目标局域网中被视频存储平台共享的该待处理客流视频。
在一示例中,调度平台向目标视频处理引擎发送待处理客流视频任务时,还可以发送图像压缩指示。
当待处理客流视频任务对应的待处理客流视频为客流密度较大的场所(例如,KFC)采集得到的和/或客流密度较大的时间段(例如,营业时间中上午11点至下午3点时间段之间)采集得到的,调度平台向视频处理引擎发送图像压缩指示,使得视频处理引擎获取到待处理客流视频任务对应的待处理客流视频之后,首先对待处理客流视频进行图像压缩,然后再对压缩后的待处理客流视频进行客流统计,得到数据处理结果,以提高数据处理速度。
在一示例中,调度平台向目标视频处理引擎发送待处理客流视频任务时,还可以发送预设超时时间。
调度平台向目标视频处理引擎发送待处理客流视频任务时同时发送预设超时时间,使得视频处理引擎对待处理客流视频任务对应的待处理客流视频进行数据处理时,若处理时长超过预设超时时间,则强行结束对该待处理客流视频任务的处理,以避免算力资源的浪费。
在一种可能的实现方式中,还包括:向调度平台发送提示信息,提示信息用于指示已完成对待处理客流视频任务的数据处理。
视频处理引擎完成对从调度平台处接收到的待处理客流视频任务的数据处理之后,向调度平台返回提示信息,调度平台接收该提示信息,进而根据该提示信息以了解视频处理引擎的数据处理进度。
调度平台从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息,视频存储平台中存储有对从客流监控装置采集到的客流视频以目标时长为单位进行划分得到的多个待处理客流视频,调度平台确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括该目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务,进而调度平台根据各个视频处理引擎对应的任务队列,为各个视频处理引擎分配待处理客流视频任务,使得可以根据视频处理引擎的负载动态分配待处理客流视频任务,从而实现最大化利用算力资源,提高数据处理速度。
基于视频统计技术,可以通过视频分析检测运动目标,实现对视频中目标对象的精确统计,以实现在工厂、物流等场景下对目标对象的监测统计,其中,目标对象可以是工人、物料、流水线等,这里不做具体限定。
图7示出本公开一实施例的一种数据处理方法的流程示意图。图7所示的方法可以应用于调度平台,如图7所示,该方法可以包括:
步骤S71,从视频存储平台中获取目标个数的待处理视频任务,一个待处理视频任务中包括目标时长的待处理视频对应的存储信息,视频存储平台中存储有对从监控装置采集到的视频以目标时长为单位进行划分得到的多个待处理视频。
步骤S72,确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括目标个数的待处理视频任务中分配给该视频处理引擎的待处理视频任务。
步骤S73,根据各个视频处理引擎对应的任务队列,为各个视频处理引擎分配待处理视频任务,每个视频处理引擎用于根据分配给该视频处理引擎的待处理视频任务中包括的存储信息获取待处理视频,以及对获取到的待处理视频中包括的目标对象进行统计。
图7所示数据处理方法的具体处理流程与上述图4-图6所示的数据处理方法的具体处理流程类似,仅将上述图4-图6所示的数据处理方法中对待处理客流视频进行客流统计,替换为对待处理视频中的目标对象进行统计,其它处理过程类似,此处不再赘述。
图8示出本公开一实施例的一种调度平台的结构示意图。图8所示的调度平台可以用于实现图4所示方法实施例的步骤,调度平台800包括:
获取模块801,用于从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息,视频存储平台中存储有对从客流监控装置采集到的客流视频以目标时长为单位进行划分得到的多个待处理客流视频;
确定模块802,用于确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;
分配模块803,用于根据各个视频处理引擎对应的任务队列,为各个视频处理引擎分配待处理客流视频任务。
在一种可能的实现方式中,分配模块803具体用于:
接收目标视频处理引擎发送的任务获取请求,目标视频处理引擎为多个视频处理引擎中的一个;
判断目标视频处理引擎对应的任务队列中是否包括待处理客流视频任务,得到第一判断结果;
根据第一判断结果,为目标视频处理引擎分配待处理客流视频任务。
在一种可能的实现方式中,第一判断结果为:目标视频处理引擎对应的任务队列中包括待处理客流视频任务;
分配模块803具体用于:
从目标视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎。
在一种可能的实现方式中,第一判断结果为:目标视频处理引擎对应的任务队列中不包括待处理客流视频任务;
分配模块803具体用于:
判断目标视频处理引擎以外的其它视频处理引擎对应的任务队列中是否包括待处理客流视频任务,得到第二判断结果;
根据第二判断结果,为目标视频处理引擎分配待处理客流视频任务。
在一种可能的实现方式中,第二判断结果为:目标视频处理引擎以外的其它视频处理引擎对应的任务队列中都不包括待处理客流视频任务;
分配模块803具体用于:
再次从视频存储平台中获取目标个数的待处理客流视频任务;
再次确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括再次获取的目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;
从目标视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎。
在一种可能的实现方式中,第二判断结果为:目标视频处理引擎以外的至少部分其它视频处理引擎对应的任务队列中包括待处理客流视频任务;
分配模块803具体用于:
遍历目标视频处理引擎以外的其它视频处理引擎对应的任务队列,将任务队列中包括的待处理客流视频任务最多的视频处理引擎确定为高负载视频处理引擎;
判断高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数是否大于预设阈值,得到第三判断结果;
根据第三判断结果,为目标视频处理引擎分配待处理客流视频任务。
在一种可能的实现方式中,第三判断结果为:高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数大于预设阈值;
分配模块803具体用于:
从高负载视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至目标视频处理引擎。
在一种可能的实现方式中,第三判断结果为:高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数小于等于预设阈值;
分配模块803具体用于:
生成一个空视频任务;
将空视频任务发送至目标视频处理引擎,空视频任务用于提示目标视频处理引擎当前没有待处理客流视频任务。
在一种可能的实现方式中,视频存储平台中包括各个视频处理引擎对应的本地存储装置,目标个数的待处理客流视频任务是从各个视频处理引擎对应的本地存储装置中获取得到的;
其中,针对任一视频处理引擎,从该视频处理引擎对应的本地存储装置中获取到的待处理客流视频任务优先分配给该视频处理引擎对应的任务队列。
在一种可能的实现方式中,确定模块802具体用于:
根据每个待处理客流视频任务的权限信息,确定各个视频处理引擎对应的任务队列,每个待处理客流视频任务的权限信息用于指示具备该待处理客流视频任务的处理权限的视频处理引擎,每个视频处理引擎对应的任务队列包括目标个数的待处理客流视频任务中分配给该视频处理引擎且该视频处理引擎具备处理权限的待处理客流视频任务。
在一种可能的实现方式中,获取模块801具体用于:
确定视频存储平台中存储的每个待处理客流视频的处理优先级;
根据处理优先级由高到低,获取目标个数的待处理客流视频任务。
在一种可能的实现方式中,视频存储平台与多个视频处理引擎都处于目标局域网中;
视频存储平台中存储的待处理客流视频在目标局域网内共享。
在一种可能的实现方式中,调度平台800还包括:
接收模块,用于接收目标视频处理引擎返回的提示信息,提示信息用于指示已完成对接收到的待处理客流视频任务的数据处理;
提示信息是目标视频处理引擎根据接收到的待处理客流视频任务获取待处理客流视频,并对获取到的待处理客流视频进行客流统计得到数据处理结果之后向调度平台800返回的。
本公开提供的调度平台800能够实现图4所示方法实施例中的各个步骤,并实现相同的技术效果,为避免重复,这里不再赘述。
图9示出本公开一实施例的一种视频存储平台的结构示意图。图9所示的视频存储平台可以用于实现图5所示方法实施例的步骤,视频存储平台900包括:
采集模块901,用于从客流监控装置中采集客流视频;
划分模块902,用于以目标时长为单位对采集到的客流视频进行划分,得到多个待处理客流视频;
存储模块903,用于对多个待处理客流视频进行存储。
在一种可能的实现方式中,视频存储平台900处于目标局域网中;
多个待处理客流视频在目标局域网内共享。
本公开提供的视频存储平台900能够实现图5所示方法实施例中的各个步骤,并实现相同的技术效果,为避免重复,这里不再赘述。
图10示出本公开一实施例的一种视频处理引擎的结构示意图。图10所示的视频处理引擎可以用于实现图6所示方法实施例的步骤,视频处理引擎1000包括:
发送模块1001,用于向调度平台发送任务获取请求;
接收模块1002,用于接收调度平台返回的待处理客流视频任务,待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息;
获取模块1003,用于根据存储信息,从视频存储平台中获取待处理客流视频;
数据处理模块1004,用于对待处理客流视频进行客流统计,得到数据处理结果。
在一种可能的实现方式中,发送模块1001,还用于向调度平台发送提示信息,提示信息用于指示已完成对待处理客流视频任务的数据处理。
本公开提供的视频处理引擎1000能够实现图6所示方法实施例中的各个步骤,并实现相同的技术效果,为避免重复,这里不再赘述。
图11示出本公开一实施例的一种调度平台的结构示意图。图11所示的调度平台可以用于实现图7所示方法实施例的步骤,调度平台1100包括:
获取模块1101,用于从视频存储平台中获取目标个数的待处理视频任务,一个待处理视频任务中包括目标时长的待处理视频对应的存储信息,视频存储平台中存储有对从监控装置采集到的视频以目标时长为单位进行划分得到的多个待处理视频;
确定模块1102,用于确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括目标个数的待处理视频任务中分配给该视频处理引擎的待处理视频任务;
分配模块1103,用于根据各个视频处理引擎对应的任务队列,为各个视频处理引擎分配待处理视频任务,每个视频处理引擎用于根据分配给该视频处理引擎的待处理视频任务中包括的存储信息获取待处理视频,以及对获取到的待处理视频中包括的目标对象进行统计。
图12示出本公开一实施例的电子设备的结构示意图。如图12所示,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成调度平台/视频存储平台/视频处理引擎。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备可执行图4-7所示方法实施例执行的方法,并实现上述图4-7所示方法实施例的功能,本说明书实施例在此不再赘述。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图4-7所示实施例中的数据处理方法,并具体执行图4-7所示方法实施例的步骤。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (30)
1.一种数据处理方法,其特征在于,所述方法应用于调度平台,所述方法包括:
从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息,所述视频存储平台中存储有对从客流监控装置采集到的客流视频以所述目标时长为单位进行划分得到的多个待处理客流视频;
确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括所述目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;
根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理客流视频任务。
2.根据权利要求1所述的方法,其特征在于,根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理客流视频任务,包括:
接收目标视频处理引擎发送的任务获取请求,所述目标视频处理引擎为所述各个视频处理引擎中的一个;
判断所述目标视频处理引擎对应的任务队列中是否包括待处理客流视频任务,得到第一判断结果;
根据所述第一判断结果,为所述目标视频处理引擎分配待处理客流视频任务。
3.根据权利要求2所述的方法,其特征在于,所述第一判断结果为:所述目标视频处理引擎对应的任务队列中包括待处理客流视频任务;
根据所述第一判断结果,为所述目标视频处理引擎分配待处理客流视频任务,包括:
从所述目标视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至所述目标视频处理引擎。
4.根据权利要求2所述的方法,其特征在于,所述第一判断结果为:所述目标视频处理引擎对应的任务队列中不包括待处理客流视频任务;
根据所述第一判断结果,为所述目标视频处理引擎分配待处理客流视频任务,包括:
判断所述目标视频处理引擎以外的其它视频处理引擎对应的任务队列中是否包括待处理客流视频任务,得到第二判断结果;
根据所述第二判断结果,为所述目标视频处理引擎分配待处理客流视频任务。
5.根据权利要求4所述的方法,其特征在于,所述第二判断结果为:所述目标视频处理引擎以外的其它视频处理引擎对应的任务队列中都不包括待处理客流视频任务;
根据所述第二判断结果,为所述目标视频处理引擎分配待处理客流视频任务,包括:
再次从所述视频存储平台中获取所述目标个数的待处理客流视频任务;
再次确定所述各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括再次获取的所述目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;
从所述目标视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至所述目标视频处理引擎。
6.根据权利要求4所述的方法,其特征在于,所述第二判断结果为:所述目标视频处理引擎以外的至少部分其它视频处理引擎对应的任务队列中包括待处理客流视频任务;
根据所述第二判断结果,为所述目标视频处理引擎分配待处理客流视频任务,包括:
遍历所述目标视频处理引擎以外的其它视频处理引擎对应的任务队列,将任务队列中包括的待处理客流视频任务最多的视频处理引擎确定为高负载视频处理引擎;
判断所述高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数是否大于预设阈值,得到第三判断结果;
根据所述第三判断结果,为所述目标视频处理引擎分配待处理客流视频任务。
7.根据权利要求6所述的方法,其特征在于,所述第三判断结果为:所述高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数大于所述预设阈值;
根据所述第三判断结果,为所述目标视频处理引擎分配待处理客流视频任务,包括:
从所述高负载视频处理引擎对应的任务队列中拉取一个待处理客流视频任务发送至所述目标视频处理引擎。
8.根据权利要求6所述的方法,其特征在于,所述第三判断结果为:所述高负载视频处理引擎对应的任务队列中包括的待处理客流视频任务的个数小于等于所述预设阈值;
根据所述第三判断结果,为所述目标视频处理引擎分配待处理客流视频任务,包括:
生成一个空视频任务;
将所述空视频任务发送至所述目标视频处理引擎,所述空视频任务用于提示所述目标视频处理引擎当前没有待处理客流视频任务。
9.根据权利要求1或5所述的方法,其特征在于,所述视频存储平台中包括所述各个视频处理引擎对应的本地存储装置,所述目标个数的待处理客流视频任务是从所述各个视频处理引擎对应的本地存储装置中获取得到的;
其中,针对任一视频处理引擎,从该视频处理引擎对应的本地存储装置中获取到的待处理客流视频任务优先分配给该视频处理引擎对应的任务队列。
10.根据权利要求1或5所述的方法,其特征在于,确定各个视频处理引擎对应的任务队列,包括:
根据每个待处理客流视频任务的权限信息,确定各个视频处理引擎对应的任务队列,所述每个待处理客流视频任务的权限信息用于指示具备该待处理客流视频任务的处理权限的视频处理引擎,每个视频处理引擎对应的任务队列包括所述目标个数的待处理客流视频任务中分配给该视频处理引擎且该视频处理引擎具备处理权限的待处理客流视频任务。
11.根据权利要求1或5所述的方法,其特征在于,从视频存储平台中获取目标个数的待处理客流视频任务,包括:
确定所述视频存储平台中存储的每个待处理客流视频的处理优先级;
根据处理优先级由高到低,获取所述目标个数的待处理客流视频任务。
12.根据权利要求1所述的方法,其特征在于,所述视频存储平台与所述多个视频处理引擎都处于目标局域网中;
所述视频存储平台中存储的待处理客流视频在所述目标局域网内共享。
13.根据权利要求3、5、7任一项所述的方法,其特征在于,拉取一个待处理客流视频任务发送至所述目标视频处理引擎之后,所述方法还包括:
接收所述目标视频处理引擎返回的提示信息,所述提示信息用于指示已完成对接收到的待处理客流视频任务的数据处理;
所述提示信息是所述目标视频处理引擎根据接收到的待处理客流视频任务获取待处理客流视频,并对获取到的待处理客流视频进行客流统计得到数据处理结果之后向所述调度平台返回的。
14.一种数据处理方法,其特征在于,所述方法应用于视频存储平台,所述方法包括:
从客流监控装置中采集客流视频;
以目标时长为单位对采集到的所述客流视频进行划分,得到多个待处理客流视频;
对所述多个待处理客流视频进行存储。
15.根据权利要求14所述的方法,其特征在于,所述视频存储平台处于目标局域网中;
所述多个待处理客流视频在所述目标局域网内共享。
16.一种数据处理方法,其特征在于,所述方法应用于视频处理引擎,所述方法包括:
向调度平台发送任务获取请求;
接收所述调度平台返回的待处理客流视频任务,所述待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息;
根据所述存储信息,从视频存储平台中获取所述待处理客流视频;
对所述待处理客流视频进行客流统计,得到数据处理结果。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
向所述调度平台发送提示信息,所述提示信息用于指示已完成对所述待处理客流视频任务的数据处理。
18.一种数据处理方法,其特征在于,所述方法应用于调度平台,所述方法包括:
从视频存储平台中获取目标个数的待处理视频任务,一个待处理视频任务中包括目标时长的待处理视频对应的存储信息,所述视频存储平台中存储有对从监控装置采集到的视频以所述目标时长为单位进行划分得到的多个待处理视频;
确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括所述目标个数的待处理视频任务中分配给该视频处理引擎的待处理视频任务;
根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理视频任务,每个视频处理引擎用于根据分配给该视频处理引擎的待处理视频任务中包括的存储信息获取待处理视频,以及对获取到的待处理视频中包括的目标对象进行统计。
19.一种调度平台,其特征在于,包括:
获取模块,用于从视频存储平台中获取目标个数的待处理客流视频任务,一个待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息,所述视频存储平台中存储有对从客流监控装置采集到的客流视频以所述目标时长为单位进行划分得到的多个待处理客流视频;
确定模块,用于确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括所述目标个数的待处理客流视频任务中分配给该视频处理引擎的待处理客流视频任务;
分配模块,用于根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理客流视频任务。
20.一种调度平台,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-13任一项所述的数据处理方法。
21.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-13任一项所述的数据处理方法。
22.一种视频存储平台,其特征在于,包括:
采集模块,用于从客流监控装置中采集客流视频;
划分模块,用于以目标时长为单位对采集到的所述客流视频进行划分,得到多个待处理客流视频;
存储模块,用于对所述多个待处理客流视频进行存储。
23.一种视频存储平台,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求14-15任一项所述的数据处理方法。
24.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求14-15任一项所述的数据处理方法。
25.一种视频处理引擎,其特征在于,包括:
发送模块,用于向调度平台发送任务获取请求;
接收模块,用于接收所述调度平台返回的待处理客流视频任务,所述待处理客流视频任务中包括目标时长的待处理客流视频对应的存储信息;
获取模块,用于根据所述存储信息,从视频存储平台中获取所述待处理客流视频;
数据处理模块,用于对所述待处理客流视频进行客流统计,得到数据处理结果。
26.一种视频处理引擎,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求16-17任一项所述的数据处理方法。
27.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求16-17任一项所述的数据处理方法。
28.一种调度平台,其特征在于,包括:
获取模块,用于从视频存储平台中获取目标个数的待处理视频任务,一个待处理视频任务中包括目标时长的待处理视频对应的存储信息,所述视频存储平台中存储有对从监控装置采集到的视频以所述目标时长为单位进行划分得到的多个待处理视频;
确定模块,用于确定各个视频处理引擎对应的任务队列,每个视频处理引擎对应的任务队列包括所述目标个数的待处理视频任务中分配给该视频处理引擎的待处理视频任务;
分配模块,用于根据所述各个视频处理引擎对应的任务队列,为所述各个视频处理引擎分配待处理视频任务,每个视频处理引擎用于根据分配给该视频处理引擎的待处理视频任务中包括的存储信息获取待处理视频,以及对获取到的待处理视频中包括的目标对象进行统计。
29.一种调度平台,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求18所述的数据处理方法。
30.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求18所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910969920.7A CN112650578A (zh) | 2019-10-12 | 2019-10-12 | 数据处理方法、调度平台、视频存储平台和视频处理引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910969920.7A CN112650578A (zh) | 2019-10-12 | 2019-10-12 | 数据处理方法、调度平台、视频存储平台和视频处理引擎 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112650578A true CN112650578A (zh) | 2021-04-13 |
Family
ID=75343037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910969920.7A Pending CN112650578A (zh) | 2019-10-12 | 2019-10-12 | 数据处理方法、调度平台、视频存储平台和视频处理引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650578A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686801A (zh) * | 2023-01-03 | 2023-02-03 | 融科联创(天津)信息技术有限公司 | 一种基于云计算的工业大数据处理系统 |
WO2024045780A1 (zh) * | 2022-08-29 | 2024-03-07 | 华为技术有限公司 | 视频解析方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150055467A1 (en) * | 2013-08-26 | 2015-02-26 | Vmware, Inc. | Traffic and load aware dynamic queue management |
WO2018121738A1 (zh) * | 2016-12-30 | 2018-07-05 | 北京奇虎科技有限公司 | 流数据任务的处理方法和装置 |
CN108363713A (zh) * | 2017-12-20 | 2018-08-03 | 武汉烽火众智数字技术有限责任公司 | 视频图像信息解析装置、系统及方法 |
CN109803114A (zh) * | 2017-11-17 | 2019-05-24 | 中国电信股份有限公司 | 监控前端控制方法、装置和视频监控系统 |
-
2019
- 2019-10-12 CN CN201910969920.7A patent/CN112650578A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150055467A1 (en) * | 2013-08-26 | 2015-02-26 | Vmware, Inc. | Traffic and load aware dynamic queue management |
WO2018121738A1 (zh) * | 2016-12-30 | 2018-07-05 | 北京奇虎科技有限公司 | 流数据任务的处理方法和装置 |
CN109803114A (zh) * | 2017-11-17 | 2019-05-24 | 中国电信股份有限公司 | 监控前端控制方法、装置和视频监控系统 |
CN108363713A (zh) * | 2017-12-20 | 2018-08-03 | 武汉烽火众智数字技术有限责任公司 | 视频图像信息解析装置、系统及方法 |
Non-Patent Citations (1)
Title |
---|
杨建光;: "动态扩容视频存储分发系统设计", 电子测试, no. 09, 5 May 2016 (2016-05-05), pages 10 - 12 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024045780A1 (zh) * | 2022-08-29 | 2024-03-07 | 华为技术有限公司 | 视频解析方法、装置和存储介质 |
CN115686801A (zh) * | 2023-01-03 | 2023-02-03 | 融科联创(天津)信息技术有限公司 | 一种基于云计算的工业大数据处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180293687A1 (en) | Ridesharing management for autonomous vehicles | |
US20170206786A1 (en) | Parking space management using virtual parking spaces | |
CN109117260A (zh) | 一种任务调度方法、装置、设备和介质 | |
CN110401720B (zh) | 信息处理方法、装置、系统、应用服务器和介质 | |
US10165058B2 (en) | Dynamic local function binding apparatus and method | |
US10594984B2 (en) | Monitoring target object by multiple cameras | |
TWI529622B (zh) | Video image distribution method | |
CN111429091A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN112650578A (zh) | 数据处理方法、调度平台、视频存储平台和视频处理引擎 | |
US20230236896A1 (en) | Method for scheduling compute instance, apparatus, and system | |
CN104170375A (zh) | 用于群组视频分发的体系结构和系统 | |
CN111776896A (zh) | 电梯调度方法和装置 | |
US11087382B2 (en) | Adapting digital order to venue service queue | |
CN116319810A (zh) | 分布式系统的流量控制方法、装置、设备、介质及产品 | |
CN114851210A (zh) | 基于云平台的机器人调度方法及调度云平台 | |
CN115391051A (zh) | 视频计算任务调度方法、设备及计算机可读介质 | |
CN115081983A (zh) | 派单方法、装置、设备及存储介质 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN111160283B (zh) | 一种数据接入方法、装置、设备和介质 | |
US20180098102A1 (en) | Limited use media access tokens | |
CN110083357B (zh) | 界面构建方法、装置、服务器及存储介质 | |
CN111461779A (zh) | 地图信息处理的方法、装置、可读存储介质和电子设备 | |
CN107749946B (zh) | 道路停车泊位拍摄方法、系统、计算机装置及计算机可读存储介质 | |
US20200177841A1 (en) | Obtaining video from vehicles | |
CN110991312A (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 |