CN106358054A - 一种集群视频分析方法和系统 - Google Patents
一种集群视频分析方法和系统 Download PDFInfo
- Publication number
- CN106358054A CN106358054A CN201510411837.XA CN201510411837A CN106358054A CN 106358054 A CN106358054 A CN 106358054A CN 201510411837 A CN201510411837 A CN 201510411837A CN 106358054 A CN106358054 A CN 106358054A
- Authority
- CN
- China
- Prior art keywords
- data slot
- data
- calculate node
- execution
- slot
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Abstract
本发明公开了一种集群视频分析方法和系统,所述方法和系统包括至少一个主计算节点和多个从计算节点,该方法包括:基于待执行视频数据的预定时长,将所述待执行视频数据划分为至少一个数据片段;将所述数据片段插入到执行数据队列;所述从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理。本发明根据时长对数据片段进行划分,使得数据片段的处理时间减少,防止了数据片段的滞留;另外,在排序时,根据数据片段的多个要素进行排序而非单一的根据数据片段的优先级进行排序,能够有效防止数据片段出现混乱;而在计算节点获取数据片段时,通过本发明所述的调度方法,能够实现合理的任务调度。
Description
技术领域
本发明属于智能视频分析领域,特别涉及一种集群视频分析方法和系统。
背景技术
现有技术中,集群分析系统在执行视频分析任务时,通常不会对任务进行划分,即使划分也是粗略划分,不会以任务的执行时间长度为单位进行划分,现有技术的不划分的方案或者粗划分的方案不适用于视频智能分析领域,且容易造成任务的执行时间过长、任务大量排队等问题。
另外,在任务进入任务调度队列后,现有技术通常将任务按照优先级顺序进行排序。实际上,视频分析任务有诸多因素需要考虑,例如任务的执行时间、取流时间、硬件资源需求等等。现有技术将任务以优先级作为排序的唯一条件,在实际执行任务时,往往容易造成任务顺序混乱等问题。
在执行视频分析任务时,现有技术通常采用主动推送的方式,即任务调度节点将任务主动推送到计算节点,然后计算节点执行该任务。然而,这种主动推送的方式往往会造成计算节点疲于应付任务调度节点的任务推送。现有技术中也有少许方案,采用计算节点主动获取任务的方式,即计算节点主动获取任务调度节点中的任务,但是这种主动获取任务的方式缺少对计算节点内部的任务调度方案。
因此,有必要基于现有的集群视频分析方法提出一种新型的集群视频分析方法,降低任务执行时间、防止任务滞留、防止任务顺序混乱以及合理地进行任务调度。
发明内容
本发明的目的是提供一种集群视频分析方法和系统,本发明根据时长对数据片段进行划分,使得数据片段的处理时间减少,防止了数据片段的滞留;另外,在排序时,根据数据片段的多个要素进行排序而非单一地根据数据片段的优先级进行排序,能够防止数据片段出现混乱;而在计算节点获取数据片段时,通过本发明所述的调度方法,能够实现合理的任务调度。
为实现上述目的,本发明的一个方面提供了一种集群视频分析方法,该方法用于集群系统,所述集群系统包括至少一个主计算节点和多个从计算节点,该方法包括:基于待执行视频数据的预定时长,将所述待执行视频数据划分为至少一个数据片段;将所述数据片段插入到执行数据队列;从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理。
其中,在所述将待执行视频数据划分为至少一个数据片段的步骤之前,还包括:根据预定时长对待分析的视频数据进行划分,以生成下一预定时长的待执行视频数据。
其中,所述将数据片段插入到执行数据队列的步骤进一步包括:获取所述数据片段的优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率的信息;根据获取到的所述信息以确定所述数据片段在执行数据队列中的排序。
其中,在所述从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理的步骤之前,还包括:从计算节点统计自身计算资源是否有空余,如果有空余则向执行数据队列请求获取数据片段。
其中,所述从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理的步骤进一步包括:判断所述数据片段所需要的资源是否超过该从计算节点目前空闲量;如果是,则重新进行数据片段的请求,否则获取所述数据片段并对所述数据片段进行处理。
其中,所述重新进行数据片段的请求的步骤包括:请求下一个数据片段;或者,选择暂停目前正在执行的数据片段直到该从计算节点的空闲量满足所述数据片段所需要的资源,再对所述数据片段进行请求。
其中,该方法还包括:从计算节点实时反馈数据片段执行情况以及上报从计算节点的资源使用情况。
根据本发明的另一方面,提供了一种集群视频分析系统,所述集群视频分析系统包括至少一个主计算节点和多个从计算节点,所述主计算节点包括:数据片段划分单元,用于基于待执行视频数据的预定时长,将所述待执行视频数据划分为至少一个数据片段;数据片段插入单元,用于将所述数据片段插入到执行数据队列;所述从计算节点包括:数据片段获取单元,用于从所述执行数据队列获取数据片段;数据片段处理单元,用于对所述获取的数据片段进行处理。
其中,所述主计算节点还包括周期性划分单元,用于根据预定时长对待分析的视频数据进行划分,以生成下一预定时长的待执行视频数据。
其中,所述数据片段插入单元包括:信息获取子单元,用于获取数据片段的优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率的信息;排序子单元,用于根据获取到的所述信息确定所述数据片段在执行数据队列中的排序。
其中,所述从计算节点还包括计算资源统计单元,用于统计自身计算资源是否有空余,如果有空余,所述数据片段获取单元向执行数据队列申请获取数据片段。
其中,所述从计算节点还包括资源匹配单元,用于判断所述数据片段所需要的资源是否超过该计算节点目前空闲量;所述数据片段获取单元,在资源匹配单元判断为是的情况下,重新进行数据片段的请求,否则获取所述数据片段。
其中,所述数据片段获取单元在资源匹配单元判断为是的情况下,重新进行数据片段的请求,具体为:主动请求下一个数据片段;或者,选择暂停目前正在执行的数据片段直到该从计算节点的空闲量满足所述数据片段所需要的资源,再对所述数据片段进行请求。
优选的,所述从计算节点还包括心跳上报单元,用于向主计算节点实时反馈任务执行情况以及上报计算节点的资源使用情况信息。
如上所述,本发明的集群视频分析方法和系统,能够防止数据片段的滞留和数据片段出现混乱,还能够实现合理的任务调度。
附图说明
图1是本发明的集群视频分析方法的流程示意图;
图2是本发明的步骤S2的流程示意图;
图3是本发明的步骤S3的流程示意图;
图4、5是本发明的集群视频分析系统的结构示意图;
图6是本发明的数据片段插入单元的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
集群技术(cluster)是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面相对较高的收益,其中的任务调度是集群系统中的核心技术。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个用户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
主动式计算节点是指通过主动式任务获取方式,由计算节点自主决定是否获取任务,当任务需要的计算节点核数高于计算节点自身计算资源时,由计算节点自行决定是否进行内部任务调整后获取该任务。
图1是本发明的集群视频分析方法的流程示意图。
本发明的集群视频分析方法用于集群系统,所述集群系统包括至少一个主计算节点和多个从计算节点。
如图1所示,本发明的集群视频分析方法包括:
步骤S1,基于待执行视频数据的预定时长,将所述待执行视频数据划分为至少一个数据片段。
本步骤中,将接收到的待分析的视频数据插入执行计划表中,将执行计划表内所有未标示为结束的待分析的视频数据,根据预定周期对待分析的视频数据进行划分,以生成下一周期(如半小时)的待执行视频数据,将生成的下一周期的待执行视频数据进行划分,划分为至少一个数据片段。
其中,所述待执行视频数据的信息包括但不限于待执行视频数据的ID、待执行视频数据的执行时间、待执行视频数据的取流时间、待执行视频数据的优先级和待执行视频数据的取流地址等信息。
待执行视频数据的执行时间标示了待执行视频数据预定执行开始时间和待执行视频数据的预定执行结束时间。
待执行视频数据的取流时间,是指待分析的视频数据的进行分析时的起始时间和结束时间。例如,待执行视频数据的时间段为5:00-6:00,该时间段5:00-6:00即为待执行视频数据的取流时间。
待执行视频数据的取流地址,待分析的视频数据通常存储在特定的介质中,例如,存储在NVR(Network Video Recorder,即网络硬盘录像机)中,当需要获取存储在NVR中的待分析的视频数据时,就需要知道该存储介质的地址,该地址即是待执行视频数据的取流地址。
举例来说,例如,商场环境下每天上午的11:00-11:30的时间段是人流高峰,可按照10分钟(即预定时长)每片将该时间段(即上午11:00-11:30)的待执行视频数据进行划分,即划分为3个数据片段。同样地,商场环境下每天的午夜时间11:00-11:30是人流低峰,此时可以不对该时间段(即午夜11:00-11:30)的待执行视频数据进行划分,即1个数据片段,直接对该数据片段进行处理,其目的是减少待执行视频数据的滞留时间。最后,将上述数据片段插入到执行数据队列。
本发明中,所述预定时长是一个经验值,可通过经验公式得到该预定时长。具体的,该预定时长随着待执行视频数据每次的运行时间的变化而不断变化。例如,在初始化时,可以设置该待执行视频数据的预定时长为任意时长(即初始时长),例如30分钟、40分钟或者其他值,假设一待执行视频数据的初始时长为30分钟,设该待执行视频数据的时间段为10:00-10:30(即待执行视频数据的取流时间),则此时该待执行视频数据对应的权重是固定值,例如1。随着该时间段(即10:00-10:30)的待执行视频数据的运行时间不断增加,其权重也在不断增加。后续的,在对该时间段(即10:00-10:30)的待执行视频数据进行划分时,将该权重作为参考值对待执行视频数据进行划分。例如,在初始化时按照半小时每片对该待执行视频数据进行划分,随着待执行视频数据的执行时间的不断增加,权重也在不断增加,后续在对待执行视频数据进行划分时,可能将该待执行视频数据划分成25分钟每片或20分钟每片等等。
需要说明的是,划分是将待执行视频数据根据待执行视频数据的预定时长划分为至少一个数据片段,用于集群内部并发执行及任务调度。
步骤S2,将所述数据片段插入到执行数据队列。
本步骤中,将步骤S1中划分为的至少一个数据片段插入到执行数据队列中,等待从计算节点的获取和处理。
步骤S3,从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理。
本步骤中,从计算节点主动从所述执行数据队列中获取数据片段,并对获取到的所述数据片段进行处理。
本步骤中,从计算节点实时(或每隔预定周期时间,例如5秒)扫描执行数据队列获取每个数据片段所需要的计算资源,当从计算节点发现自身计算资源有空余(即计算节点核数不为空)时,判断获取到的所述数据片段所需要的资源是否超过该从计算节点目前空闲量,当判断结果为否时,则获取所述数据片段并对所述数据片段进行处理。具体的,在计算节点对获取到的所述数据片段进行处理的过程中,修改该数据片段的执行状态,例如将执行状态改为正在运行或将所述数据片段进行锁定等等。
通过上述方法,将待执行视频数据按照预定时长进行划分,使得每个数据片段的处理时间减少,防止了数据片段的滞留;另外,在排序时,根据数据片段的多个要素进行排序而非单一的根据数据片段的优先级进行排序,能够防止数据片段的顺序出现混乱;当从计算节点主动获取任务时,通过本发明提供的任务调度方法,能够合理的进行任务调度。
可选的,在一实施方式中,在所述将待执行视频数据划分为至少一个数据片段的步骤之前,还包括:根据预定时长对待分析的视频数据进行划分,以生成下一预定时长的待执行视频数据。
具体来说,根据步骤S1中的预定时长对待分析的视频数据进行划分,以生成下一个预定时长的待执行视频数据。例如,以半小时为周期循环扫描整个执行计划表,生成下一半小时的待执行视频数据。同样的,该预定时长的计算公式及计算过程同上,此处不再赘述。
当接收到的待执行视频数据是一次性待执行视频数据时,直接对该待执行视频数据进行任务划分。具体来说,当接收到一次性待执行视频数据时,对该一次性待执行视频数据不生成执行计划表,即直接进行任务划分。其中,一次性待执行视频数据是指只执行一次的待执行视频数据,有别于计划的待执行视频数据,计划的待执行视频数据会按照配置原则周而复始地执行。
通过将待执行视频数据根据预定时长进行划分,可以确定出一天(即24小时)的待分析的视频数据生成的数据片段的数量以及每个数据片段的大小。
图2是本发明的步骤S2的流程示意图。
如图2所示,前述步骤S2将所述数据片段插入到执行数据队列进一步包括:
步骤S21,获取所述数据片段的优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率的信息。
本步骤中,在将所述数据片段插入执行数据队列时,获取每个数据片段的优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率的信息等等,进一步根据所述信息对所述数据片段进行排序。
步骤S22,根据获取到的所述信息以确定所述数据片段在执行数据队列中的排序。
本步骤中,根据步骤S21获取到的每个数据片段的优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率的信息等等,来确定所述数据片段在执行数据队列中的顺序。其中,所需要的计算节点核数是指在执行数据片段时所需要使用的计算节点核数。分辨率即画面分辨率,例如1080P表示画面分辨率为1920×1080。
具体的,当多个数据片段的优先级同为“高”时,进一步,按照数据片段的预定执行开始时间进行排序,当多个数据片段的预定执行开始时间相同时,进一步按照预定执行结束时间进行排序,按照前述顺序,以此类推。
举例来说,假设一个数据片段的预定执行开始时间是11:00-11:15,另一个数据片段的预定执行开始时间是11:15-11:30,则将执行时间早的数据片段(即预定执行开始时间早的数据片段)排在前面。假设一个数据片段的预定执行开始时间是11:00-11:15,另一任务的预定执行开始时间是11:00-11:10,则预定执行结束时间早的数据片段(即预定执行结束时间早的数据片段)排在前面。
本发明中,在对数据片段进行排序时可以按照优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率等信息进行排序,但不限于上述几种信息。可选的,可以根据上述某个信息进行数据片段的排序。优选的,根据本发明所述的上述几种信息对数据片段进行综合排序。举例来说,可以仅根据预定执行开始时间对数据片段进行排序,也可以根据预定执行开始时间和优先级对数据片段进行排序。
在一实施方式中,在所述从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理的步骤之前,还包括:从计算节点实时(或每隔预定时间周期,例如5秒)统计自身计算资源是否有空余,如果有空余,则向执行数据队列请求获取数据片段。具体来说,在从计算节点获取数据片段的过程中,从计算节点需要统计自身计算资源是否空余,在从计算节点资源有空余时,向执行数据队列请求获取数据片段。
图3是本发明的步骤S3的流程示意图。
如图3所示,前述步骤S3进一步包括:
步骤S31,判断所述数据片段所需要的资源是否超过该计算节点目前空闲量。
本步骤中,对获取到的每个数据片段,判断每个所述数据片段所需要的资源是否超过该从计算节点目前空闲量。
步骤S32,如果是,则重新进行数据片段的请求。
步骤S33,否则获取所述数据片段并对所述数据片段进行处理。
当步骤S2的判断结果为是时(即从计算节点的空闲量小于所述数据片段所需要的资源时),重新进行数据片段的请求。当步骤S2的判断结果为否时(即从计算节点的空闲量大于或等于所述数据片段所需要的资源时),获取所述数据片段并对所述数据片段进行处理。
在一实施方式中,前述所述重新进行数据片段的请求的步骤进一步包括:请求下一个数据片段;或者,选择暂停目前正在执行的数据片段直到该从计算节点的空闲量满足所述数据片段所需要的资源,再对所述数据片段进行请求。
具体来说,当判断结果为获取到的所述数据片段所需要的资源超过该从计算节点自身的目前空闲量时,表明计算节点无法承载所述数据片段,此时计算节点有两种处理方式:可以请求下一个数据片段;或者,选择暂停目前正在执行的数据片段(即在执行数据队列中,执行状态标示为正在执行或者锁定状态的数据片段)。当判断结果为获取到的所述数据片段未超过计算节点自身的目前空闲量时,执行步骤S3即该从计算节点获取所述数据片段并对所述数据片段进行处理。举例来说,当某个数据片段所需要的计算节点核数为2,而当前该计算节点的自身计算资源为1,此时该计算节点无法承接该数据片段,此时计算节点不请求该数据片段,而选择上述两种执行方式中的一种。
这里,用户可自定义设置根据数据片段的某些信息对正在执行的数据片段进行暂停,所述信息包括但不限于优先级、数据片段剩余进度等等。可选的,即可以单一的按照优先级的高低停止某个数据片段,或者可以单一的按照数据片段剩余进度停止某个任务,或者可以同时按照优先级的高低和任务剩余进度的长度停止某个数据片段。具体来说,可优先停止优先级别低的数据片段,或者优先停止剩余进度长的数据片段。
在一实施方式中,所述方法还包括:从计算节点实时反馈数据片段的执行情况以及上报该从计算节点的资源使用情况。
具体的,在从计算节点处理数据片段的过程中,该从计算节点实时(或每间隔预定时间周期,例如3秒)向任务调度服务反馈数据片段的执行情况(例如正在执行、或执行结束等)以及上报该从计算节点的资源使用情况(例如CPU占用情况、内存使用情况等等)。任务调度服务根据从计算节点实时上报的数据片段的执行状态以及自身的资源使用情况等,合理的进行任务调度。其中,任务调度是指针对划分完的数据片段及其优先级、执行时间等,结合从计算节点上报的资源使用情况,合理有效地进行数据片段的调度。计算最小单元状态是指能够使用视频分析算法完成一个视频分析任务的最小计算资源单位,例如,使用人脸算法完成一个视频分析任务需要的最小计算单元,可以提前计算出来,当计算节点的剩余计算单元不足最小计算单元时,不会申请数据片段。
如上所述,详细介绍了本发明的集群视频分析方法,如图1所示,本发明根据时长对待执行视频数据进行划分,使得数据片段的处理时间减少,防止了数据片段的滞留;另外,在排序时,根据数据片段的多个要素进行排序而非单一的根据数据片段的优先级进行排序,能够防止数据片段的顺序出现混乱;当计算节点主动获取任务时,通过本发明提供的任务调度方法,能够合理的进行任务调度。
图4、5是本发明的集群视频分析系统的结构示意图。
如图4、5所示,本发明的集群视频分析系统包括至少一个主计算节点1和多个从计算节点2。其中,主计算节点1包括数据片段划分单元11和数据片段插入单元12,从计算节点2包括数据片段获取单元21和数据片段处理单元22。
数据片段划分单元11,用于基于待执行视频数据的预定时长,将所述待执行视频数据划分为至少一个数据片段。具体来说,根据待执行视频数据的预定时长,将所述待执行视频数据划分为至少一个数据片段,并将所述至少一个数据片段发送到执行数据队列。
该模块的处理过程可参见方法部分的描述。
数据片段插入单元12连接到所述数据片段划分单元11,用于将所述数据片段插入到执行数据队列。具体来说,数据片段插入单元12将接收到的所述数据片段按照优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率等信息进行排序,但不限于上述几种信息。
该模块的处理过程可参见方法部分的描述。
数据片段获取单元21与所述数据片段插入单元12连接,用于从所述执行数据队列获取数据片段。具体来说,从计算节点中的数据片段获取单元21获取执行数据队列中的数据片段,当从计算节点的空闲量满足所述数据片段所需要的资源时,数据片段获取单元21能够获取到数据片段。
该模块的处理过程可参见方法部分的描述。
数据片段处理单元22连接到所述数据片段获取单元21,用于对所述获取的数据片段进行处理。具体来说,当数据片段获取单元21获取到所述数据片段时,将所述数据片段发送给数据片段处理单元22进行处理。
该模块的处理过程可参见方法部分的描述。
在一实施方式中,所述主计算节点1还包括周期性划分单元13,用于根据预定时长对待分析的视频数据进行划分,以生成下一个预定时长的待执行视频数据。
该模块的处理过程可参见方法部分的描述。
图6是本发明的数据片段插入单元的结构示意图。
如图6所示,所述数据片段插入单元12包括信息获取子单元20和排序子单元30。
信息获取子单元20,用于获取数据片段的优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率的信息。
排序子单元30与所述信息获取子单元20连接,用于根据获取到的所述信息确定所述数据片段在执行数据队列中的排序。
在一实施方式中,所述从计算节点2还包括计算资源统计单元23,用于统计自身计算资源是否有空余,如果有空余所述数据片段获取单元21向执行数据队列申请获取数据片段。具体来说,计算节点统计单元23统计自身计算资源是否有空余,当有空余时,通知数据片段获取单元21向执行数据队列发送数据片段获取的请求。
在一实施方式中,所述从计算节点还包括资源匹配单元24,用于判断所述数据片段所需要的资源是否超过该计算节点目前空闲量,所述数据片段获取单元21,在资源匹配单元判断为是的情况下,重新进行数据片段的请求,否则获取所述数据片段。具体来说,在数据片段获取单元21向执行数据队列获取数据片段之前,所述资源匹配单元24判断所述数据片段所需要的资源是否超过该计算节点目前空闲量,在资源匹配单元24的判断结果为是的情况下,重新进行数据片段的请求,在资源匹配单元24的判断结果为否的情况下,获取该数据片段。
在一实施方式中,所述数据片段获取单元21在资源匹配单元判断为是的情况下,重新进行数据片段的请求,具体为:主动请求下一个数据片段;或者,选择暂停目前正在执行的数据片段直到该计算节点的空闲量满足所述数据片段所需要的资源,再对所述数据片段进行请求。
在一实施方式中,所述从计算节点2还包括心跳上报单元25,用于向主计算节点1反馈任务执行情况以及上报计算节点的资源使用情况信息。具体来说,在从计算节点2处理数据片段的过程中,心跳上报单元25实时(或每间隔预定时间周期,例如3秒)上报数据片段的执行情况以及上报计算节点的资源使用情况信息给任务调度服务。
如上所述,本发明提供了一种集群视频分析方法和系统,本发明根据时长对待执行视频数据进行划分,使得数据片段的处理时间减少,防止了数据片段的滞留;而且在对数据片段进行排序时,根据数据片段的多个要素进行排序,防止数据片段顺序的混乱;同时,在计算节点获取数据片段时,按照本发明的调度方法,能够合理的对数据片段进行调度。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (14)
1.一种集群视频分析方法,该方法用于集群系统,所述集群系统包括至少一个主计算节点和多个从计算节点,该方法包括:
基于待执行视频数据的预定时长,将所述待执行视频数据划分为至少一个数据片段;
将所述数据片段插入到执行数据队列;
所述从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理。
2.根据权利要求1所述的方法,在所述将待执行视频数据划分为至少一个数据片段的步骤之前,还包括:
根据预定时长对待分析的视频数据进行划分,以生成下一预定时长的待执行视频数据。
3.根据权利要求1或2所述的方法,其中,所述将数据片段插入到执行数据队列的步骤包括:
获取所述数据片段的优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率的信息;
根据获取到的所述信息以确定所述数据片段在所述执行数据队列中的排序。
4.根据权利要求1或2所述的方法,在所述从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理的步骤之前,还包括:
从计算节点统计自身计算资源是否有空余,如果有空余则向执行数据队列请求获取数据片段。
5.根据权利要求1或2所述的方法,其中,所述从计算节点从所述执行数据队列获取数据片段并对所述数据片段进行处理的步骤包括:
判断所述数据片段所需要的资源是否超过该从计算节点目前空闲量;
如果是,则重新进行数据片段的请求,否则获取所述数据片段并对所述数据片段进行处理。
6.根据权利要求5所述的方法,所述重新进行数据片段的请求的步骤包括:
请求下一个数据片段;
或者,选择暂停目前正在执行的数据片段直到该从计算节点的空闲量满足所述数据片段所需要的资源,再对所述数据片段进行请求。
7.根据权利要求1或2所述的方法,该方法还包括:从计算节点实时反馈数据片段执行情况以及上报计算节点的资源使用情况。
8.一种集群视频分析系统,所述集群视频分析系统包括至少一个主计算节点和多个从计算节点,所述主计算节点(1)包括:
数据片段划分单元(11),用于基于待执行视频数据的预定时长,将所述待执行视频数据划分为至少一个数据片段;
数据片段插入单元(12),用于将所述数据片段插入到执行数据队列;
所述从计算节点(2)包括:
数据片段获取单元(21),用于从所述执行数据队列获取数据片段;
数据片段处理单元(22),用于对所述获取的数据片段进行处理。
9.根据权利要求8所述的系统,所述主计算节点还包括周期性划分单元(13),用于根据预定时长对待分析的视频数据进行划分,以生成下一预定时长的待执行视频数据。
10.根据权利要求8或9所述的系统,所述数据片段插入单元(12)包括:
信息获取子单元(20),用于获取数据片段的优先级、预定执行开始时间、预定执行结束时间、所需要的计算节点核数和分辨率的信息;
排序子单元(30),用于根据获取到的所述信息确定所述数据片段在执行数据队列中的排序。
11.根据权利要求8或9所述的系统,所述从计算节点(2)还包括计算资源统计单元(23),用于统计自身计算资源是否有空余,如果有空余,所述数据片段获取单元(21)向执行数据队列申请获取数据片段。
12.根据权利要求8或9所述的系统,所述从计算节点还包括资源匹配单元(24),用于判断所述数据片段所需要的资源是否超过该从计算节点目前空闲量;所述数据片段获取单元(21),在资源匹配单元(24)判断为是的情况下,重新进行数据片段的请求,否则获取所述数据片段。
13.根据权利要求12所述的系统,所述数据片段获取单元(21)在资源匹配单元判断为是的情况下,重新进行数据片段的请求,具体为:主动请求下一个数据片段;
或者,选择暂停目前正在执行的数据片段直到该从计算节点的空闲量满足所述数据片段所需要的资源,再对所述数据片段进行请求。
14.根据权利要求8或9所述的系统,所述从计算节点(2)还包括心跳上报单元(25),用于向所述主计算节点(1)实时反馈任务执行情况以及上报计算节点的资源使用情况信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510411837.XA CN106358054A (zh) | 2015-07-14 | 2015-07-14 | 一种集群视频分析方法和系统 |
PCT/CN2016/070437 WO2017008477A1 (zh) | 2015-07-14 | 2016-01-07 | 一种集群视频分析方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510411837.XA CN106358054A (zh) | 2015-07-14 | 2015-07-14 | 一种集群视频分析方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106358054A true CN106358054A (zh) | 2017-01-25 |
Family
ID=57756775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510411837.XA Pending CN106358054A (zh) | 2015-07-14 | 2015-07-14 | 一种集群视频分析方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106358054A (zh) |
WO (1) | WO2017008477A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109561346A (zh) * | 2018-12-25 | 2019-04-02 | 上海极链网络科技有限公司 | 一种视频的分布式解析方法及系统 |
CN109753849A (zh) * | 2017-11-03 | 2019-05-14 | 杭州海康威视数字技术股份有限公司 | 处理视频分析任务的方法和装置 |
CN109982066A (zh) * | 2017-12-27 | 2019-07-05 | 浙江宇视科技有限公司 | 诊断颗粒计算方法、装置及可读存储介质 |
CN112650880A (zh) * | 2020-11-30 | 2021-04-13 | 重庆紫光华山智安科技有限公司 | 视频分析方法、装置、计算机设备及存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061423B (zh) * | 2018-10-17 | 2023-09-26 | 杭州海康威视系统技术有限公司 | 一种数据处理方法、装置和管理节点 |
CN111290841B (zh) * | 2018-12-10 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 任务调度方法、装置、计算设备及存储介质 |
CN114449346B (zh) * | 2022-02-14 | 2023-08-15 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172690A1 (en) * | 2007-12-31 | 2009-07-02 | Zimmer Vincent J | System and Method for supporting metered clients with manycore |
CN102104496A (zh) * | 2010-12-23 | 2011-06-22 | 北京航空航天大学 | 一种云计算环境下中间数据的容错性优化方法 |
CN102866920A (zh) * | 2012-08-02 | 2013-01-09 | 杭州海康威视系统技术有限公司 | 主从结构分布式视频处理系统及其调度方法 |
CN102883145A (zh) * | 2012-09-28 | 2013-01-16 | 安科智慧城市技术(中国)有限公司 | 一种动态对象识别方法及系统 |
CN104915253A (zh) * | 2014-03-12 | 2015-09-16 | 中国移动通信集团河北有限公司 | 一种作业调度的方法及作业处理器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752574B (zh) * | 2011-04-18 | 2015-01-28 | 中兴通讯股份有限公司 | 一种视频监控系统及方法 |
CN103902966B (zh) * | 2012-12-28 | 2018-01-05 | 北京大学 | 基于序列时空立方体特征的视频交互事件分析方法及装置 |
-
2015
- 2015-07-14 CN CN201510411837.XA patent/CN106358054A/zh active Pending
-
2016
- 2016-01-07 WO PCT/CN2016/070437 patent/WO2017008477A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172690A1 (en) * | 2007-12-31 | 2009-07-02 | Zimmer Vincent J | System and Method for supporting metered clients with manycore |
CN102104496A (zh) * | 2010-12-23 | 2011-06-22 | 北京航空航天大学 | 一种云计算环境下中间数据的容错性优化方法 |
CN102866920A (zh) * | 2012-08-02 | 2013-01-09 | 杭州海康威视系统技术有限公司 | 主从结构分布式视频处理系统及其调度方法 |
CN102883145A (zh) * | 2012-09-28 | 2013-01-16 | 安科智慧城市技术(中国)有限公司 | 一种动态对象识别方法及系统 |
CN104915253A (zh) * | 2014-03-12 | 2015-09-16 | 中国移动通信集团河北有限公司 | 一种作业调度的方法及作业处理器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753849A (zh) * | 2017-11-03 | 2019-05-14 | 杭州海康威视数字技术股份有限公司 | 处理视频分析任务的方法和装置 |
CN109753849B (zh) * | 2017-11-03 | 2021-08-17 | 杭州海康威视数字技术股份有限公司 | 处理视频分析任务的方法和装置 |
CN109982066A (zh) * | 2017-12-27 | 2019-07-05 | 浙江宇视科技有限公司 | 诊断颗粒计算方法、装置及可读存储介质 |
CN109982066B (zh) * | 2017-12-27 | 2021-02-02 | 浙江宇视科技有限公司 | 诊断颗粒计算方法、装置及可读存储介质 |
CN109561346A (zh) * | 2018-12-25 | 2019-04-02 | 上海极链网络科技有限公司 | 一种视频的分布式解析方法及系统 |
CN112650880A (zh) * | 2020-11-30 | 2021-04-13 | 重庆紫光华山智安科技有限公司 | 视频分析方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017008477A1 (zh) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106358054A (zh) | 一种集群视频分析方法和系统 | |
CN106033371B (zh) | 一种视频分析任务的调度方法及系统 | |
US8185906B2 (en) | Method and apparatus for dynamically adjusting thread pool | |
CN112272203B (zh) | 一种集群业务节点选择方法、系统、终端及存储介质 | |
CN107291546A (zh) | 一种资源调度方法及装置 | |
US20160241486A1 (en) | Service Processing Method and System and Device | |
EP2503733B1 (en) | Data collecting method, data collecting apparatus and network management device | |
US20160266929A1 (en) | Cpu scheduling method, terminal device and processing device | |
CN105760487B (zh) | 历史数据清理方法及装置 | |
CN107515786B (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
US9189272B2 (en) | Information processing apparatus, computer program, and method for controlling execution of jobs | |
CN108062499B (zh) | 一种人脸识别的方法、系统及平台 | |
CN109656782A (zh) | 可视化调度监控方法、装置及服务器 | |
CN103761146B (zh) | 一种MapReduce动态设定slots数量的方法 | |
CN105892996A (zh) | 一种批量数据处理的流水线作业方法及装置 | |
CN106557369A (zh) | 一种多线程的管理方法及系统 | |
US20140317635A1 (en) | Computer system and divided job processing method and program | |
CN108268546B (zh) | 一种优化数据库的方法及装置 | |
US20150113542A1 (en) | Knapsack-based sharing-aware scheduler for coprocessor-based compute clusters | |
CN110928655A (zh) | 一种任务处理方法及装置 | |
CN111708627A (zh) | 基于分布式调度框架的任务调度方法以及装置 | |
CN106528288A (zh) | 一种资源管理方法、装置和系统 | |
CN105138405B (zh) | 基于待释放资源列表的MapReduce任务推测执行方法和装置 | |
CN112486642B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN111258746A (zh) | 资源分配方法和服务设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170125 |
|
RJ01 | Rejection of invention patent application after publication |