一种分布式计算平台中视频数据迁移方法及装置与流程

文档序号:12829574阅读:192来源:国知局
一种分布式计算平台中视频数据迁移方法及装置与流程
本发明涉及视频数据处理
技术领域
,特别是涉及一种分布式计算平台中视频数据迁移方法及装置。
背景技术
:随着科学技术的发展,每天产生的视频数据越来越多,例如:监控视频数据,为了对所产生的大量视频数据进行处理,分布式计算平台应运而生,分布式计算平台运行在分布式集群上,其中,分布式集群一般包括多个物理存储节点和一个管理节点,物理存储节点用于存储视频数据以及处理视频数据,管理节点用于对存储节点进行管理。现有技术中通过分布式集群进行视频数据放置时,是一个随机放置的过程,例如:将视频数据集合中的视频数据随机分配至分布式集群中的各个物理存储节点中,其中,一个视频数据对应一个物理存储节点。由于现有技术中通过分布式集群进行视频数据放置时是面向存储视频数据考虑的,即将视频数据存储到各个物理存储节点即可,因此,在视频数据放置之后,产生某个物理存储节点的负载很大,某个物理存储节点的负载很小的情况。当分布式集群需要进行视频数据计算时,管理节点将检测集群中各个物理存储节点的负载情况,将负载较大的物理存储节点上的视频数据迁移到负载较低的物理存储节点上,即在集群内部进行大量的视频数据迁移以使负载均衡,导致集群内部产生大量的网络传输,使得集群内部网络资源消耗较大。技术实现要素:本发明实施例的目的在于提供一种分布式计算平台中视频数据迁移方法及装置,以减少集群内部网络资源的消耗。具体技术方案如下:一种分布式计算平台中视频数据迁移方法,应用于分布式集群中的管理节点,所述分布式集群还包括n个物理存储节点,所述方法包括:预估视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间,其中,所述第一物理存储节点为所述n个物理存储节点中的任意一个物理存储节点;基于所述各个待分配视频数据在第一物理存储节点上的运行时间,以及所述各个物理存储节点的当前负载,预估所述各个物理存储节点对应的当前待分配视频数据队列,其中,各个当前待分配视频数据队列为可使各个物理存储节点负载均衡的队列;在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移。可选的,所述预估视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间的步骤,包括:根据第一物理存储节点上的相对速度因子,计算视频数据集合中的各个待分配视频数据在所述第一物理存储节点上的运行时间,其中,每一物理存储节点设置有一相对速度因子。可选的,所述基于所述各个待分配视频数据在第一物理存储节点上的运行时间,以及所述各个物理存储节点的当前负载,预估所述各个物理存储节点对应的当前待分配视频数据队列的步骤,包括:根据所述运行时间的长短,对所述待分配视频数据进行排序,得到所述待分配视频数据的第一排列顺序;基于所述第一排列顺序确定一第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第二物理存储节点,将所述第一待分配视频数据分配至所述第二物理存储节点对应的当前待分配视频数据队列中,并基于已分配的第一待分配视频数据,预估所述第二物理存储节点的当前负载;判断所述视频数据集合中的第二待分配视频数据的数量是否为1,其中,所述第二待分配视频数据为未分配到各个物理存储节点对应的当前待分配视频数据队列中的待分配视频数据;如果是,将所述第二待分配视频数据确定为第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第三物理存储节点,将所述第一待分配视频数据分配至所述第三物理存储节点对应的当前待分配视频数据队列中;如果否,返回执行基于所述第一排列顺序确定一第一待分配视频数据的步骤。可选的,所述在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移的步骤,包括:针对每个当前待分配视频数据队列,判断该当前待分配视频数据队列中待分配视频数据的数量是否大于预设数量;如果大于,将该当前待分配视频数据队列中的预设数量个待分配视频数据放置到对应的物理存储节点中运行,并根据运行结果确定所对应的物理存储节点上的当前相对速度因子,基于所述当前相对速度因子,计算该当前待分配视频数据队列中除所述预设数量个待分配视频数据以外的待分配视频数据的总运行时间;基于所计算出的多个总运行时间,判断各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移,得到各个物理存储节点对应的目标待分配视频数据队列,将所得到的各个目标待分配视频数据队列作为各个物理存储节点对应的当前待分配视频数据队列,返回执行针对每个当前待分配视频数据队列,判断该当前待分配视频数据队列中待分配视频数据的数量是否大于预设数量的步骤;如果未大于,将该当前待分配视频数据队列中的所有待分配视频数据放置到对应的物理存储节点中运行。可选的,所述基于所计算出的多个总运行时间,判断各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据的步骤,包括:分别确定最大总运行时间对应的第四物理存储节点,和最小总运行时间对应的第五物理存储节点;确定所述第四物理存储节点对应的当前待分配视频数据队列中的运行时间最小的第三待分配视频数据,预估将所述第三待分配视频数据迁移至所述第五物理存储节点后,所述第三待分配视频数据在所述第五物理存储节点上的第三运行时间;基于所述最大总运行时间、所述最小总运行时间以及所述第三运行时间,判断所述第三待分配视频数据是否为待迁移视频数据,如果是,确定各个当前待分配视频数据队列中存在待迁移视频数据。一种分布式计算平台中视频数据迁移装置,应用于分布式集群中的管理节点,所述分布式集群还包括n个物理存储节点,所述装置包括:运行时间预估模块,用于预估视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间,其中,所述第一物理存储节点为所述n个物理存储节点中的任意一个物理存储节点;当前待分配视频数据队列预估模块,用于基于所述各个待分配视频数据在第一物理存储节点上的运行时间,以及所述各个物理存储节点的当前负载,预估所述各个物理存储节点对应的当前待分配视频数据队列,其中,各个当前待分配视频数据队列为可使各个物理存储节点负载均衡的队列;迁移模块,用于在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移。可选的,所述运行时间预估模块,具体用于:根据第一物理存储节点上的相对速度因子,计算视频数据集合中的各个待分配视频数据在所述第一物理存储节点上的运行时间,其中,每一物理存储节点设置有一相对速度因子。可选的,所述当前待分配视频数据队列预估模块,包括:第一排列顺序确定单元,用于根据所述运行时间的长短,对所述待分配视频数据进行排序,得到所述待分配视频数据的第一排列顺序;当前负载预估单元,用于基于所述第一排列顺序确定一第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第二物理存储节点,将所述第一待分配视频数据分配至所述第二物理存储节点对应的当前待分配视频数据队列中,并基于已分配的第一待分配视频数据,预估所述第二物理存储节点的当前负载;判断单元,用于判断所述视频数据集合中的第二待分配视频数据的数量是否为1,如果是,触发第一确定单元,如果否,触发第二确定单元,其中,所述第二待分配视频数据为未分配到各个物理存储节点对应的当前待分配视频数据队列中的待分配视频数据;所述第一确定单元,用于将所述第二待分配视频数据确定为第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第三物理存储节点,将所述第一待分配视频数据分配至所述第三物理存储节点对应的当前待分配视频数据队列中;所述第二确定单元,用于触发所述当前负载预估单元。可选的,所述迁移模块,包括:第二判断单元,用于针对每个当前待分配视频数据队列,判断该当前待分配视频数据队列中待分配视频数据的数量是否大于预设数量,如果大于,触发总运行时间计算单元,如果未大于,触发运行单元;所述总运行时间计算单元,用于将该当前待分配视频数据队列中的预设数量个待分配视频数据放置到对应的物理存储节点中运行,并根据运行结果确定所对应的物理存储节点上的当前相对速度因子,基于所述当前相对速度因子,计算该当前待分配视频数据队列中除所述预设数量个待分配视频数据以外的待分配视频数据的总运行时间;第三判断单元,用于基于所计算出的多个总运行时间,判断各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,触发迁移单元;所述迁移单元,用于对所存在待迁移视频数据进行数据迁移,得到各个物理存储节点对应的目标待分配视频数据队列,将所得到的各个目标待分配视频数据队列作为各个物理存储节点对应的当前待分配视频数据队列,触发第二判断单元;所述运行单元,用于将该当前待分配视频数据队列中的所有待分配视频数据放置到对应的物理存储节点中运行。可选的,所述第三判断单元,具体用于:分别确定最大总运行时间对应的第四物理存储节点,和最小总运行时间对应的第五物理存储节点;确定所述第四物理存储节点对应的当前待分配视频数据队列中的运行时间最小的第三待分配视频数据,预估将所述第三待分配视频数据迁移至所述第五物理存储节点后,所述第三待分配视频数据在所述第五物理存储节点上的第三运行时间;基于所述最大总运行时间、所述最小总运行时间以及所述第三运行时间,判断所述第三待分配视频数据是否为待迁移视频数据,如果是,确定各个当前待分配视频数据队列中存在待迁移视频数据。本发明实施例,可以基于各个待分配视频数据在第一物理存储节点上的运行时间,以及各个物理存储节点的当前负载,预估各个物理存储节点对应的当前待分配视频数据队列,然后在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移。由此,通过预估的方式,得到负载均衡的将要放置到各个物理存储节点上的视频数据的当前待分配视频数据队列,并通过实时监测的方式对各个当前待分配视频数据队列中的视频数据进行迁移,使得各个当前待分配视频数据队列一直为可使各个物理存储节点负载均衡的队列,因此,在将视频数据集合中的各个待分配视频数据放置到对应的物理存储节点运行后,无需再进行数据移动以达到负载均衡,减少了集群内部网络资源的消耗。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的分布式计算平台中视频数据迁移方法的流程示意图;图2为预估各个物理存储节点对应的当前待分配视频数据队列的流程示意图;图3为将第一待分配视频数据分配至第二物理存储节点对应的当前待分配视频数据队列中的流程示意图;图4为对待迁移视频数据进行数据迁移的流程示意图;图5为确定各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据的流程示意图;图6为本发明实施例提供的分布式计算平台中视频数据迁移装置的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了解决现有技术问题,本发明实施例提供了一种分布式计算平台中视频数据迁移方法及装置。下面首先对本发明实施例所提供的一种分布式计算平台中视频数据迁移方法进行介绍。需要说明的是,本发明实施例所提供的一种分布式计算平台中视频数据迁移方法应用于分布式集群中的管理节点,其中,分布式集群还可以包括n个物理存储节点,物理存储节点用于存储视频数据以及处理视频数据,管理节点用于对物理存储节点进行管理。如图1所示,本发明实施例提供的一种分布式计算平台中视频数据迁移方法,可以包括:s101:预估视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间。为了避免在将视频数据集合中的待分配视频数据放置到物理存储节点上后,出现某个物理存储节点的负载很大,某个物理存储节点的负载很小的情况,可以预估视频数据集合中的各个待分配视频数据的大概运行时间。预估视频数据集合中的各个待分配视频数据的大概运行时间的方式可以为:预估视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间,其中,第一物理存储节点可以为n个物理存储节点中的任意一个物理存储节点。上述预估视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间,可以包括:根据第一物理存储节点上的相对速度因子,计算视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间,其中,每一物理存储节点设置有一相对速度因子。由于各个待分配视频数据的运行时间是预估的,因此,可以将各个待分配视频数据在任意一个物理存储节点上运行的运行时间,作为所预估的各个待分配视频数据的运行时间。例如:分布式集群中包括物理存储节点a和物理存储节点b,视频数据集合中包括待分配视频数据m和待分配视频数据n,则可以将物理存储节点a作为第一物理存储节点,将待分配视频数据m在物理存储节点a上的运行时间作为所预估的待分配视频数据m的运行时间,将待分配视频数据n在物理存储节点a上的运行时间作为所预估的待分配视频数据n的运行时间。其中,每个物理存储节点设置相对速度因子的过程可以为:1、基于视频视频数据,定义两种集合,分别为:分辨率集合与帧率集合,其中,定义集合的过程为:将不同的分辨率定义为分辨率集合r={r1,r2,…,rm},m表示分辨率集合r中共有m种分辨率,rm表示分辨率集合r中的第m种分辨率;将不同的帧率定义为帧率集合f={f1,f2,…,fn},其中n表示帧率集合f中有n种帧率,fn表示帧率集合f中第n种帧率。将分辨率集合r和帧率集合f的笛卡尔积作为标准视频质量集合q:q=r×f例如:r={r1,r2},f={f1,f2},那么q={(r1,f1),(r1,f2),(r2,f1),(r2,f2)}。其中,集合q中的每一个元素,例如(r1,f1)或者(r1,f2),表示一个标准视频质量级别qr,一般一个待分配视频数据包含多个子视频数据,一个待分配视频数据中的多个子视频数据的qr相同,为集合q中的一种。2、在得到标准视频质量级别后,通过多个待分配视频数据确定各个物理存储节点上的相对速度因子,其中,此处的待分配视频数据为用于确定各个物理存储节点上的相对速度因子的视频数据。详细的,确定各个物理存储节点上的相对速度因子的过程为:bli=qi·tsi其中,i为一个待分配视频数据中的第i个子视频数据,k为一个待分配视频数据所包含的子视频数据的总数,bli为第i个子视频数据的基本长度,qi为第i个子视频数据的标准视频质量级别的权重,tsi为第i个子视频数据的数据长度,为第i个子视频数据的起始时间,第i个子视频数据的终止时间,jbl为一个待分配视频数据的基本长度,vj为第i个子视频数据在物理存储节点j上运行时的运行速度,tj为一个待分配视频数据在物理存储节点j上的运行时间,dpvi,j为通过第i个子视频数据的标准视频质量级别计算出的在物理存储节点j的相对速度因子。根据上述公式推导出一个待分配视频数据在物理存储节点j上的运行时间为:根据以下公式计算每个物理存储节点所设置的相对速度因子:dpvj·ts=tdpvj=(dpv1,j,…,dpvn,j)ts=(ts1,…tsh…tsm)t=(t1,…th…,tm)ttsh=(tsh1,…tshl…tshn)t其中,dpvj为物理存储节点j上的dpvi,j的集合,ts为所有待分配视频数据起止时间的集合,t为各个待分配视频数据在各个物理存储节点上运行的总时间的转置,tsh为待分配视频数据h的起止时间的转置,th为待分配视频数据h在各个物理存储节点上运行的总时间,tshl(h=1,…,m;l=1,…,n,)为待分配视频数据h中标准视频质量权重为l的各个子视频数据的起止时间的总和。由于dpvj·ts=t为一非齐次线性方程组,当且仅当r=(ts)=r(ts,t)=z时,该非齐次线性方程组有唯一解,通过管理节点所记录的目标预设数量个待分配视频数据在各个物理存储节点上的运行时间,可以得到一系列的z元一次方程,通过求解这些z元一次方程,得到很多dpvi,j的值,为了保证时间预测模型的稳定性,可以使用最近三次的dpvi,j的值平均值作为物理存储节点j上的相对速度因子。由此,得到每个物理存储节点设置的相对速度因子。上述根据第一物理存储点上的相对速度因子,计算视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间,可以包括:根据以下公式计算视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间:其中,tp为一个待分配视频数据在第一物理存储节点上的运行时间,为通过第i个子视频数据的标准视频质量级别计算出的第一物理存储节点上的相对速度因子,tsi为一个待分配视频数据中的第i个子视频数据的起止时间,i为一个待分配视频数据中的第i个子视频数据,p为第一物理存储节点,k为一个待分配视频数据所包含的子视频数据的总数。由此,建立了时间预测模型,即通过该时间预测模型用于预估视频数据的运行时间。s102:基于各个待分配视频数据在第一物理存储节点上的运行时间,以及各个物理存储节点的当前负载,预估各个物理存储节点对应的当前待分配视频数据队列。为了避免在将视频数据集合中的待分配视频数据放置到物理存储节点上后,再进行视频数据迁移以达到负载均衡,在预估出各个待分配视频数据在第一物理存储节点上的运行时间后,可以获得各个物理存储节点的当前负载,以确定各个物理存储节点当前的负载能力,其中,物理存储节点的负载为物理存储节点上已有的视频数据在该物理存储节点上运行所需要的时间。然后基于各个待分配视频数据在第一物理存储节点上的运行时间,以及各个物理存储节点的当前负载,预估各个物理存储节点对应的当前待分配视频数据队列,且各个当前待分配视频数据队列为可使各个物理存储节点负载均衡的队列,即在未将视频数据集合中的待分配视频数据放置到物理存储节点上之前,预先确定可使各个物理存储节点负载均衡的队列。参考图2,s102可以包括:s1021:根据运行时间的长短,对待分配视频数据进行排序,得到待分配视频数据的第一排列顺序。为了确定各个物理存储节点对应的当前待分配视频数据队列,需要获知各个运行时间的大小关系,因此,可以根据运行时间的长短,对待分配视频数据进行排序,得到待分配视频数据的第一排列顺序。其中,根据运行时间的长短,对待分配视频数据进行排序的方式有多种,可以为按照运行时间从小到大的顺序排列,也可以按照从小到大的顺序排列。s1022:基于第一排列顺序确定一第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第二物理存储节点,将第一待分配视频数据分配至第二物理存储节点对应的当前待分配视频数据队列中,并基于已分配的第一待分配视频数据,预估第二物理存储节点的当前负载。在得到待分配视频数据的第一排列顺序后,基于第一排列顺序确定一第一待分配视频数据,为了确定各个物理存储节点对应的当前待分配视频数据队列,需要基于各个物理存储节点的当前负载,确定一第二物理存储节点,然后将第一待分配视频数据分配至第二物理存储节点对应的当前待分配视频数据队列中。在将第一待分配视频数据分配至第二物理存储节点对应的当前待分配视频数据队列中后,代表已分配的第一待分配视频数据将要在第二物理存储节点上运行,当已分配的第一待分配视频数据在第二物理存储节点上运行后将导致第二物理存储节点的当前负载的改变,因此,需要基于已分配的第一待分配视频数据,预估第二物理存储节点的当前负载。上述基于已分配的第一待分配视频数据,预估第二物理存储节点的当前负载,可以为:根据第二物理存储节点上的相对速度因子预估已分配的第一待分配视频数据在第二物理存储节点上的第四运行时间,将所预估的第四运行时间以及第二物理存储节点原有的负载(即在未分配第一待分配视频数据之前的第二物理存储节点的当前负载)之和确定为第二物理存储节点的当前负载。上述基于第一排列顺序确定一第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第二物理存储节点,将第一待分配视频数据分配至第二物理存储节点对应的当前待分配视频数据队列中,可以为:通过负载均衡的方式进行分配。参见图3,s1022可以包括:s10221:根据第一排列顺序,确定最长运行时间对应的第一待分配视频数据。在确定第一排列顺序后,确定最长运行时间对应的第一待分配视频数据。s10222:根据各个物理存储节点的当前负载的大小,对n个物理存储节点进行排序,得到n个物理存储节点的第二排列顺序,根据第二排列顺序,确定最小负载对应的第二物理存储节点。为了确定各个物理存储节点对应的当前待分配视频数据队列,需要获知各个物理存储节点的当前负载的大小关系,因此,可以根据各个物理存储节点的当前负载的大小,对n个物理存储节点进行排序,得到n个物理存储节点的第二排列顺序,然后根据第二排列顺序,确定最小负载对应的第二物理存储节点。其中,根据各个物理存储节点的当前负载的大小,对n个物理存储节点进行排序的方式有多种,可以为按照当前负载从小到大的顺序排列,也可以按照从小到大的顺序排列。s10223:将第一待分配视频数据分配至第二物理存储节点对应的当前待分配视频数据队列中。在得到第一待分配视频数据以及第二物理存储节点后,将第一待分配视频数据分配至第二物理存储节点对应的当前待分配视频数据队列中。为了方便理解,下面通过一具体实施例,对图3所示方法进行详细描述:例如:假设视频数据集合中包含待分配视频数据1、待分配视频数据2、待分配视频数据3、待分配视频数据4、待分配视频数据5、待分配视频数据6和待分配视频数据7,预估的各个待分配视频数据在第一物理存储节点上的运行时间如下表:分布式集群包括3个物理存储节点,分别为:物理存储节点a、物理存储节点b和物理存储节点c,假设各个物理存储节点的当前负载如下表所示:物理存储节点a物理存储节点b物理存储节点c2min11min5min根据运行时间的长短,对待分配视频数据1-7按照运行时间从大到小的顺序进行排序,得到第一排列顺序:第一待分配视频数据4、1、2、3、6、5、7;根据第一排列顺序,确定最长运行时间对应的第一待分配视频数据4;根据各个物理存储节点的当前负载的大小,对物理存储节点a、物理存储节点b和物理存储节点c按照当前负载从小到大的顺序进行排列,得到第二排列顺序:物理存储节点a、物理存储节点c、物理存储节点b;根据第二排列顺序,确定最小负载对应的第二物理存储节点a;将第一待分配视频数据4分配至第二物理存储节点a对应的当前待分配视频数据队列中如下表所示:物理存储节点a物理存储节点b物理存储节点c第一待分配视频数据4s1023:判断视频数据集合中的第二待分配视频数据的数量是否为1,如果是,执行步骤s1024,如果否,返回执行步骤s1022。在预估出改变后的第二物理存储节点的当前负载后,为了将视频数据集合中的所有待分配视频数据均分配至各个物理存储节点对应的当前待分配视频数据队列中,需要判断视频数据集合中的第二待分配视频数据的数量是否为1,即判断视频数据集合中未分配的待分配视频数据的数量是否为1,并根据判断结果执行后续步骤。其中,第二待分配视频数据为未分配到各个物理存储节点对应的当前待分配视频数据队列中的待分配视频数据。s1024:将第二待分配视频数据确定为第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第三物理存储节点,将第一待分配视频数据分配至第三物理存储节点对应的当前待分配视频数据队列中。在判断第二待分配视频数据的数量为1时,即只存在一个第二待分配视频数据,此时,将该存在的一个第二待分配视频数据确定为第一待分配视频数据,由于第二物理存储节点的当前负载已经改变,因此,基于各个物理存储节点的当前负载,确定一第三物理存储节点,将第一待分配视频数据分配至第三物理存储节点对应的当前待分配视频数据队列中。在判断第二待分配视频数据的数量不为1时,即存在多个第二待分配视频数据,此时,需要返回执行步骤s1022,以便于将所存在的多个第二待分配视频数据分配到各个物理存储节点对应的当前待分配视频数据队列中。为了方便理解,下面通过一具体实施例,对图2所示方法进行详细描述:例如:承接上述例子,已分配第一待分配视频数据4,假设根据第二物理存储a节点上的相对速度因子预估已分配的第一待分配视频数据4在第二物理存储节点a的第四运行时间为5min,则基于所预估的第四运行时间以及第二物理存储节点a原有的负载,预估第二物理存储节点a的当前负载为:2min+5min=7min,则各个物理存储节点的当前负载如下表所示:物理存储节点a物理存储节点b物理存储节点c7min11min5min判断视频数据集合中的第二待分配视频数据的数量是否为1,由于视频数据集合中还存在待分配视频数据1、待分配视频数据2、待分配视频数据3、待分配视频数据5、待分配视频数据6和待分配视频数据7,即第二待分配视频数据的数量为6,因此,根据第一排列顺序,确定最长运行时间对应的第一待分配视频数据1;根据各个物理存储节点的当前负载的大小,对物理存储节点a、物理存储节点b和物理存储节点c按照当前负载从小到大的顺序进行排列,得到第二排列顺序:物理存储节点c、物理存储节点a、物理存储节点b;根据第二排列顺序,确定最小负载对应的第二物理存储节点c;将第一待分配视频数据1分配至第二物理存储节点c对应的当前待分配视频数据队列中,得到各个物理存储节点对应的当前待分配视频数据队列如下表所示:物理存储节点a物理存储节点b物理存储节点c第一待分配视频数据4第一待分配视频数据1由于已分配第一待分配视频数据1,假设根据第二物理存储节点c上的相对速度因子预估已分配的第一待分配视频数据1在第二物理存储节点c上的第四运行时间为3min,则基于所预估的第四运行时间以及第二物理存储节点c原有的负载,预估第二物理存储节点c的当前负载为:5min+3min=8min,则各个物理存储节点的当前负载如下表所示:物理存储节点a物理存储节点b物理存储节点c7min11min8min判断视频数据集合中第二待分配视频数据的数量是否为1,由于视频数据集合中还存在待分配视频数据2、待分配视频数据3、待分配视频数据5、待分配视频数据6和待分配视频数据7,即第二待分配视频数据的数量为5,因此,根据第一排列顺序,确定最长运行时间对应的第一待分配视频数据2;根据各个物理存储节点的当前负载的大小,对物理存储节点a、物理存储节点b和物理存储节点c按照当前负载从小到大的顺序进行排列,得到第二排列顺序:物理存储节点a、物理存储节点c、物理存储节点b;根据第二排列顺序,确定最小负载对应的第二物理存储节点a;将第一待分配视频数据2分配至第二物理存储节点a对应的当前待分配视频数据队列中,得到各个物理存储节点对应的当前待分配视频数据队列如下表所示:物理存储节点a物理存储节点b物理存储节点c第一待分配视频数据4第一待分配视频数据1第一待分配视频数据2如此继续计算直至将视频数据集合中的所有待分配视频数据分配至各个物理存储节点对应的当前待分配视频数据队列中,假设最终得到的各个物理存储节点对应的当前待分配视频数据队列如下表所示:物理存储节点a物理存储节点b物理存储节点c第一待分配视频数据4第一待分配视频数据3第一待分配视频数据1第一待分配视频数据2第一待分配视频数据5第一待分配视频数据6第一待分配视频数据7s103:在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移。在预估出各个物理存储节点对应的当前待分配视频数据队列后,即可将当前待分配视频数据队列中的待分配视频数据放置到对应的物理存储节点中运行。由于各个物理存储节点在运行对应的当前待分配视频数据队列中的待分配视频数据时,也可能同时在接收其它的视频数据进行运行,或者遇到了故障使得自身的运行能力降低,因此,为了保证各个物理存储节点负载均衡,在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,需要实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移。参见图4,s103可以包括:s1031:针对每个当前待分配视频数据队列,判断该当前待分配视频数据队列中待分配视频数据的数量是否大于预设数量,如果大于,执行步骤s1032,如果未大于,执行步骤s1035。针对每个当前待分配视频数据队列,判断该当前待分配视频数据队列中待分配视频数据的数量是否大于预设数量,如果大于,说明该当前待分配视频数据队列中存在可迁移的视频数据。s1032:将该当前待分配视频数据队列中的预设数量个待分配视频数据放置到对应的物理存储节点中运行,并根据运行结果确定所对应的物理存储节点上的当前相对速度因子,基于当前相对速度因子,计算该当前待分配视频数据队列中除预设数量个待分配视频数据以外的待分配视频数据的总运行时间。在当前待分配视频数据队列中待分配视频数据的数量大于预设数量的情况下,将该当前待分配视频数据队列中的预设数量个待分配视频数据放置到对应的物理存储节点中运行。由于该预设数量个待分配视频数据在对应的物理存储节点上运行后,将导致对应的物理存储节点上的当前相对速度因子的改变,进一步导致了各个当前待分配视频数据队列的总运行时间的改变,因此,需要基于运行结果确定所对应的物理存储节点上的当前相对速度因子,详细的计算当前相对速度因子的方法参见步骤s101,在此不再赘述。在确定出当前相对速度因子后,基于当前相对速度因子,计算该当前待分配视频数据队列中除预设数量个待分配视频数据以外的待分配视频数据的总运行时间,即每个待分配视频数据队列中未处理的待分配视频数据的运行时间的总和。s1033:基于所计算出的多个总运行时间,判断各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,执行步骤s1034,如果不存在,不做任何处理。为了使各个物理存储节点负载均衡,在计算出多个总运行时间之后,需要判断各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,并进行后续步骤。参见图5,s1033可以包括:s10331:分别确定最大总运行时间对应的第四物理存储节点,和最小总运行时间对应的第五物理存储节点。为了使各个物理存储节点负载均衡,需要使分布式集群中物理存储节点对应的最大总运行时间与最小总运行时间之间的目标差值是最小的,因此,分别确定最大总运行时间对应的第四物理存储节点,和最小总运行时间对应的第五物理存储节点。s10332:确定第四物理存储节点对应的当前待分配视频数据队列中的运行时间最小的第三待分配视频数据,预估将第三待分配视频数据迁移至第五物理存储节点后,第三待分配视频数据在第五物理存储节点上的第三运行时间。在确定了第四物理存储节点和第五物理存储节点后,确定第四物理存储节点对应的当前待分配视频数据队列中的运行时间最小的第三待分配视频数据,并预估将第三待分配视频数据迁移至第五物理存储节点后,第三待分配视频数据在第五物理存储节点上的第三运行时间,预估第三运行时间的方法参见步骤s101,在此不再赘述。s10333:基于最大总运行时间、最小总运行时间以及第三运行时间,判断第三待分配视频数据是否为待迁移视频数据,如果是,确定各个当前待分配视频数据队列中存在待迁移视频数据,如果否,不做任何处理。上述基于最大总运行时间、最小总运行时间以及第三运行时间,判断第三待分配视频数据是否为待迁移视频数据,可以包括:计算最大总运行时间与最小总运行时间的第一差值;计算最大总运行时间与第三待分配视频数据在第四物理存储节点上的第五运行时间的第二差值,以及,计算最小总运行时间与第三运行时间之和得到第一结果;计算第二差值与所述第一结果的第三差值的绝对值;判断第一差值与第三差值的绝对值之差是否大于预设差值阈值,如果是,确定第三待分配视频数据为待迁移视频数据。详细的,通过以下公式判断第一差值与第三差值的绝对值之差是否大于预设差值阈值:y=ltjmax-ltjminy-x>thrsh其中,y为第一差值,ltjmax为最大总运行时间,ltjmin为最小总运行时间,x为第三差值,为第五运行时间,为第三运行时间,thrsh为预设差值阈值。为了使分布式集群中物理存储节点对应的最大总运行时间与最小总运行时间之间的目标差值是最小的,需要预估将第三待分配视频数据迁移至第五物理存储节点之前的目标差值与将第三待分配视频数据迁移至第五物理存储节点之后的目标差值之差是否大于预设差值阈值,如果是,则表明将第三待分配视频数据迁移至第五物理存储节点之后,使得将要放置到各个物理存储节点上运行的待分配视频数据的总运行时间变化较大,因此,可将第三待分配视频数据迁移至第五物理存储节点,确定第三待分配视频数据为待迁移视频数据。为了方便理解,下面通过一具体实施例,对图5所示方法进行详细描述:例如:假设预设数量为1,假设所计算出的多个总运行时间如下表所示:物理存储节点a物理存储节点b物理存储节点c18min17min19min确定最大总运行时间对应的第四物理存储节点为物理存储节点c,和最小总运行时间对应的第五物理存储节点为物理存储节点b;假设各个物理存储节点对应的当前待分配视频数据队列中的各个待分配视频数据的运行时间如下表所示:物理存储节点a物理存储节点b物理存储节点c待分配视频数据4,6min待分配视频数据3,10min待分配视频数据1,9min待分配视频数据2,12min待分配视频数据5,7min待分配视频数据6,3min待分配视频数据7,7min确定第四物理存储节点c对应的当前待分配视频数据队列中的运行时间最小的第三待分配视频数据6,预估将第三待分配视频数据6迁移至第五物理存储节点b后,第三待分配视频数据6在第五物理存储节点b上的第三运行时间;假设第三运行时间为8min,计算最大总运行时间与最小总运行时间的第一差值为19min-17min=2min;计算最大总运行时间与第三待分配视频数据6在第四物理存储节点c上的第五运行时间的第二差值为19min-3min=16min;以及,计算最小总运行时间与第三运行时间之和得到第一结果为17min+8min=25min;计算第二差值与所述第一结果的第三差值为16min-25min=-9min,第三差值的绝对值为9min;判断第一差值与第三差值的绝对值之差是否大于预设差值阈值,即2min-9min=-7min;假设预设差值阈值为5min,由于-7min未大于5min,因此,确定第三待分配视频数据6不为待迁移视频数据。s1034:对所存在的待迁移视频数据进行数据迁移,得到各个物理存储节点对应的目标待分配视频数据队列,将所得到的各个目标待分配视频数据队列作为各个物理存储节点对应的当前待分配视频数据队列,返回执行步骤s1031。在确定各个当前待分配视频数据队列中存在待迁移视频数据后,对所存在的待迁移视频数据进行数据迁移,其中,对所存在的待迁移视频数据进行数据迁移可以为:将待迁移视频数据迁移至对应的物理存储节点,即承接步骤s10333在确定第三待分配视频数据为待迁移视频数据后,将第三待分配视频数据迁移至第五物理存储节点。在对待迁移视频数据迁移进行数据迁移后,得到迁移后的各个物理存储节点对应的目标待分配视频数据队列,并将所得到的各个目标待分配视频数据队列作为各个物理存储节点对应的当前待分配视频数据队列,由于得到了视频数据迁移后的当前待分配视频数据队列,为了保证各个物理存储节点负载均衡,返回执行步骤s1031。s1035:将该当前待分配视频数据队列中的所有待分配视频数据放置到对应的物理存储节点中运行。当判断该当前待分配视频数据队列中待分配视频数据的数量未大于预设数量时,说明该当前待分配视频数据队列中不存在可迁移的视频数据,此时,将该当前待分配视频数据队列中的所有待分配视频数据放置到对应的物理存储节点中运行即可。应用上述实施例,可以基于各个待分配视频数据在第一物理存储节点上的运行时间,以及各个物理存储节点的当前负载,预估各个物理存储节点对应的当前待分配视频数据队列,然后在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移。由此,通过预估的方式,得到负载均衡的将要放置到各个物理存储节点上的视频数据的当前待分配视频数据队列,并通过实时监测的方式对各个当前待分配视频数据队列中的视频数据进行迁移,使得各个当前待分配视频数据队列一直为可使各个物理存储节点负载均衡的队列,因此,在将视频数据集合中的各个待分配视频数据放置到对应的物理存储节点运行后,无需再进行数据移动以达到负载均衡,减少了集群内部网络资源的消耗。相对于上述方法实施例,如图6所示,本发明实施例还提供了一种分布式计算平台中视频数据迁移装置,应用于分布式集群中的管理节点,所述分布式集群还包括n个物理存储节点,所述装置包括:运行时间预估模块601,用于预估视频数据集合中的各个待分配视频数据在第一物理存储节点上的运行时间,其中,所述第一物理存储节点为所述n个物理存储节点中的任意一个物理存储节点;当前待分配视频数据队列预估模块602,用于基于所述各个待分配视频数据在第一物理存储节点上的运行时间,以及所述各个物理存储节点的当前负载,预估所述各个物理存储节点对应的当前待分配视频数据队列,其中,各个当前待分配视频数据队列为可使各个物理存储节点负载均衡的队列;迁移模块603,用于在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移。应用上述实施例,可以基于各个待分配视频数据在第一物理存储节点上的运行时间,以及各个物理存储节点的当前负载,预估各个物理存储节点对应的当前待分配视频数据队列,然后在各个物理存储节点运行对应的当前待分配视频数据队列中的待分配视频数据时,实时监测各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,对所存在的待迁移视频数据进行数据迁移。由此,通过预估的方式,得到负载均衡的将要放置到各个物理存储节点上的视频数据的当前待分配视频数据队列,并通过实时监测的方式对各个当前待分配视频数据队列中的视频数据进行迁移,使得各个当前待分配视频数据队列一直为可使各个物理存储节点负载均衡的队列,因此,在将视频数据集合中的各个待分配视频数据放置到对应的物理存储节点运行后,无需再进行数据移动以达到负载均衡,减少了集群内部网络资源的消耗。在一种实现方式中,所述运行时间预估模块601,可以具体用于:根据第一物理存储节点上的相对速度因子,计算视频数据集合中的各个待分配视频数据在所述第一物理存储节点上的运行时间,其中,每一物理存储节点设置有一相对速度因子。在一种实现方式中,所述当前待分配视频数据队列预估模块602,可以包括:第一排列顺序确定单元,用于根据所述运行时间的长短,对所述待分配视频数据进行排序,得到所述待分配视频数据的第一排列顺序;当前负载预估单元,用于基于所述第一排列顺序确定一第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第二物理存储节点,将所述第一待分配视频数据分配至所述第二物理存储节点对应的当前待分配视频数据队列中,并基于已分配的第一待分配视频数据,预估所述第二物理存储节点的当前负载;判断单元,用于判断所述视频数据集合中的第二待分配视频数据的数量是否为1,如果是,触发第一确定单元,如果否,触发第二确定单元,其中,所述第二待分配视频数据为未分配到各个物理存储节点对应的当前待分配视频数据队列中的待分配视频数据;所述第一确定单元,用于将所述第二待分配视频数据确定为第一待分配视频数据,基于各个物理存储节点的当前负载,确定一第三物理存储节点,将所述第一待分配视频数据分配至所述第三物理存储节点对应的当前待分配视频数据队列中;所述第二确定单元,用于触发所述当前负载预估单元。在一种实现方式中,所述迁移模块603,可以包括:第二判断单元,用于针对每个当前待分配视频数据队列,判断该当前待分配视频数据队列中待分配视频数据的数量是否大于预设数量,如果大于,触发总运行时间计算单元,如果未大于,触发运行单元;所述总运行时间计算单元,用于将该当前待分配视频数据队列中的预设数量个待分配视频数据放置到对应的物理存储节点中运行,并根据运行结果确定所对应的物理存储节点上的当前相对速度因子,基于所述当前相对速度因子,计算该当前待分配视频数据队列中除所述预设数量个待分配视频数据以外的待分配视频数据的总运行时间;第三判断单元,用于基于所计算出的多个总运行时间,判断各个当前待分配视频数据队列中是否存在满足视频数据迁移条件的待迁移视频数据,如果存在,触发迁移单元;所述迁移单元,用于对所存在待迁移视频数据进行数据迁移,得到各个物理存储节点对应的目标待分配视频数据队列,将所得到的各个目标待分配视频数据队列作为各个物理存储节点对应的当前待分配视频数据队列,触发第二判断单元;所述运行单元,用于将该当前待分配视频数据队列中的所有待分配视频数据放置到对应的物理存储节点中运行。在一种实现方式中,所述第三判断单元,可以具体用于:分别确定最大总运行时间对应的第四物理存储节点,和最小总运行时间对应的第五物理存储节点;确定所述第四物理存储节点对应的当前待分配视频数据队列中的运行时间最小的第三待分配视频数据,预估将所述第三待分配视频数据迁移至所述第五物理存储节点后,所述第三待分配视频数据在所述第五物理存储节点上的第三运行时间;基于所述最大总运行时间、所述最小总运行时间以及所述第三运行时间,判断所述第三待分配视频数据是否为待迁移视频数据,如果是,确定各个当前待分配视频数据队列中存在待迁移视频数据。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1