当前位置: 首页 > 专利查询>湖南大学专利>正文

分布式计算平台下基于QoS约束的视频流处理方法和系统技术方案

技术编号:27510570 阅读:28 留言:0更新日期:2021-03-02 18:40
本发明专利技术公开了一种分布式计算平台下基于QoS约束的视频流处理方法,其首先针对视频流处理特性将QoS定义为算子的准确度以及时延,并且基于此重新定义了视频流数据处理的编程模型。再将该模型发布至分布式处理框架,平台根据用户提交的处理过程,首先对各个算子进行分析,预先确定需求的准确度以及时延需求的资源量。再根据应用的数据依赖关系,对多个算子组合的情况(串行、并行、串行转并行、并行转串行)估计整个应用处理过程中应该分配的资源判断是否能满足要求并且根据之前的对算子的分析能够得到处理时间的估计时延。然后根据时延情况以及数据流的输入得到数据处理的窗口大小,再根据用户预估的视频流通路数对资源的总量进行估计。量进行估计。量进行估计。

【技术实现步骤摘要】
分布式计算平台下基于QoS约束的视频流处理方法和系统


[0001]本专利技术属于分布式计算
,更具体地,涉及一种分布式计算平台下基于QoS约束的视频流处理方法和系统。

技术介绍

[0002]随着视频处理技术的不断提升,摄像头的部署数量也不断在增加,这也意味着越来越多的实时视频流需要得到及时的处理。视频流处理由于其数据量大、计算量也大,数据时效性强等特点,不但对软硬件平台要求高,应用开发也相对复杂,一直是一个门槛较高的研究领域。
[0003]现有的大数据处理平台(例如Spark、Flink、Storm等)都提供了数据流处理模型,并且提供自动的数据分割、任务调度、负载均衡、数据缓存、数据通信等功能,其大幅度降低了系统开发的复杂度,并能够适应大容量和高并发的高通量需求;此外,其还能够直接通过增加计算资源,在不修改软件的前提下提升视频的处理性能和计算规模。
[0004]然而,现有基于大数据处理平台的数据流处理模型仍然具有一些不可忽略的技术问题:第一、由于该数据流处理模型仅仅只能适用于处理固定的数据流处理任务,其先对任务进行划分,然后在各个处理器上对划分后的任务并行执行,却无法对任务参数进行修改,因此无法满足不同用户对任务的具体需求(例如不同任务对应的处理时延和准确度等);第二、由于该数据流处理模型是根据系统的运行效率或用户的设定进行系统资源的分配和调度,而不能根据任务的具体需求(例如不同任务对应的处理时延和准确度等)进行分配和调度,从而会造成系统资源分配和调度的效率偏低;第三、由于该数据流处理模型主要基于用户自身定义每次处理的数据流处理窗口(即每次处理的视频流数据量),在处理模型的处理量过大时,会导致用户不能及时得到响应。

技术实现思路

[0005]针对现有技术的以上缺陷或改进需求,本专利技术提供了一种分布式计算平台下基于QoS约束的视频流处理方法和系统,其目的在于,解决现有基于大数据处理平台的数据流处理模型由于无法对任务参数进行修改,因此无法满足不同用户对任务的具体需求的技术问题,以及由于不能根据任务的具体需求进行分配和调度,导致系统资源分配和调度的效率偏低的技术问题,以及由于该数据流处理模型主要基于用户自身定义每次处理的数据流处理窗口,导致处理模型的处理量过大时,用户不能及时得到响应的技术问题。
[0006]为实现上述目的,按照本专利技术的一个方面,提供了一种分布式计算平台下基于QoS约束的视频流处理方法,包括以下步骤:
[0007](1)获取用户提交的视频流数据处理请求,该视频流数据处理请求包括视频流数据的来源信息、视频流数据的处理函数、视频流数据的分组函数和聚合函数、以及处理函数使用的视频流数据的初始值d,其中d为任意大于0的正整数;
[0008](2)根据步骤(1)获取的视频流数据的函数中数据之间的依赖关系建立处理序列,
并根据步骤(1)获取的视频流数据处理请求中视频流数据的函数的类型将该处理序列划分为多个处理阶段,所有的处理阶段构成处理阶段集合S={S1,S2...S
m
},其中m表示处理阶段集合中的处理阶段总数;
[0009](3)针对步骤(2)得到的处理阶段集合S中仅包括处理函数的每一个处理阶段而言,利用模拟退火启发式搜索算法获得该处理阶段内每个处理函数小于其最大时延L、最小准确度A并且使用系统资源价值最低的处理函数配置信息,所有的处理函数配置信息构成处理函数配置信息集合处理函数配置信息集合其中处理函数配置信息表示处理函数的配置信息是由处理阶段集合S中第x1个处理阶段S
x1
中第x2个处理函数P
q
产生,x1∈[1,m],x2∈[1,nx2],nm为处理阶段集合S中第m个处理阶段的处理函数总数,nx2为处理阶段集合S中第x2个处理阶段中处理函数的总数,q∈[1,n]。
[0010](4)针对步骤(2)得到的阶段集合中每个处理阶段中的每个处理函数而言,根据步骤(1)得到的处理函数的最大时延L以及步骤(3)得到的处理函数配置信息确定该处理函数的视频流窗口,将每个处理阶段的所有处理函数的视频流窗口中的最小视频流窗口作为该处理阶段对应的视频流窗口,所有处理阶段的视频流窗口构成集合NS={NS1,NS2,...,NS
m
}。
[0011](5)针对步骤(2)得到的处理阶段集合S中仅包括处理函数的每一个处理阶段而言,根据每个处理阶段内处理函数中数据之间的依赖关系建立该处理阶段对应的有向无环图,所有处理阶段对应的有向无环图构成有向无环图集合H;
[0012](6)对于步骤(5)得到的处理阶段集合S对应的有向无环图集合中的每个有向无环图而言,使用广度优先遍历算法将该有向无环图划分为多个层次,所有层次构成该有向无环图对应的层次集合B={B1,B2,...B
num4
},其中B
count
表示有向无环图中的第count层,num4表示划分的层次总数,且count∈[1,num4]。
[0013](7)根据步骤(6)得到的每个有向无环图对应的层次集合B确定与该有向无环图对应的处理阶段的资源分配总量集合和并行通量,并从处理阶段集合S的所有资源分配总量集合和所有并行通量中选择最大资源分配总量集合Umax和最大并行通量kmax;
[0014](8)向集群管理结点申请启动kmax个任务的进程,将最大资源分配总量集合Umax分配给每个进程,并从集群管理结点获取每个进程的网络地址,所有进程的网络地址组成集合
[0015](9)使用步骤(3)获取的处理函数配置信息集合Q中每个处理函数对应的可更改参数集合替换步骤(2)得到的处理阶段集合S中处理阶段内对应处理函数对应的可更改参数集合,并将处理阶段集合S中的每个处理阶段对应的的视频流窗口设置为步骤(4)获取的对应处理阶段对应的视频流窗口,并将处理阶段集合S中的每个处理阶段封装成单个任务,所有任务构成任务集合E={E1,E2,...,E
m
},其中E
num5
表示第num5个处理阶段封装成的任务,且num5∈[1,m];
[0016](10)针对步骤(9)得到的任务集合中的每一个任务而言,将该任务复制kmax份,并根据步骤(8)得到的网络地址集合中的网络地址将复制后的kmax份任务发送给所有进程,并接收每个进程在执行任务过程中每隔周期T返回的进程执行信息PE
t5
,其中所有进程执行任务期间返回的任务执行情况构成进程执行信息集合PE={PE1,PE2,...,PE
mmax
},其中t5∈
[1,k
max
],T为任意大于零的自然数。
[0017](11)根据步骤(10)获得的进程执行信息集合PE将所需转移剩余处理时间长的进程待处理的视频流数据转移到所需剩余处理时间短的进程。
[0018]优选地,视频流数据的来源信息包括视频流数据的存储位置和存储速率r;
[0019]视频流数据的处理函数包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式计算平台下基于QoS约束的视频流处理方法,其特征在于,包括以下步骤:(1)获取用户提交的视频流数据处理请求,该视频流数据处理请求包括视频流数据的来源信息、视频流数据的处理函数、视频流数据的分组函数和聚合函数、以及处理函数使用的视频流数据的初始值d,其中d为任意大于0的正整数;(2)根据步骤(1)获取的视频流数据的函数中数据之间的依赖关系建立处理序列,并根据步骤(1)获取的视频流数据处理请求中视频流数据的函数的类型将该处理序列划分为多个处理阶段,所有的处理阶段构成处理阶段集合S={S1,S2...S
m
},其中m表示处理阶段集合中的处理阶段总数;(3)针对步骤(2)得到的处理阶段集合S中仅包括处理函数的每一个处理阶段而言,利用模拟退火启发式搜索算法获得该处理阶段内每个处理函数小于其最大时延L、最小准确度A并且使用系统资源价值最低的处理函数配置信息,所有的处理函数配置信息构成处理函数配置信息集合函数配置信息集合其中处理函数配置信息表示处理函数的配置信息是由处理阶段集合S中第x1个处理阶段S
x1
中第x2个处理函数P
q
产生,x1∈[1,m],x2∈[1,nx2],nm为处理阶段集合S中第m个处理阶段的处理函数总数,nx2为处理阶段集合S中第x2个处理阶段中处理函数的总数,q∈[1,n]。(4)针对步骤(2)得到的阶段集合中每个处理阶段中的每个处理函数而言,根据步骤(1)得到的处理函数的最大时延L以及步骤(3)得到的处理函数配置信息确定该处理函数的视频流窗口,将每个处理阶段的所有处理函数的视频流窗口中的最小视频流窗口作为该处理阶段对应的视频流窗口,所有处理阶段的视频流窗口构成集合NS={NS1,NS2,...,NS
m
}。(5)针对步骤(2)得到的处理阶段集合S中仅包括处理函数的每一个处理阶段而言,根据每个处理阶段内处理函数中数据之间的依赖关系建立该处理阶段对应的有向无环图,所有处理阶段对应的有向无环图构成有向无环图集合H;(6)对于步骤(5)得到的处理阶段集合S对应的有向无环图集合中的每个有向无环图而言,使用广度优先遍历算法将该有向无环图划分为多个层次,所有层次构成该有向无环图对应的层次集合B={B1,B2,...B
num4
},其中B
count
表示有向无环图中的第count层,num4表示划分的层次总数,且count∈[1,num4]。(7)根据步骤(6)得到的每个有向无环图对应的层次集合B确定与该有向无环图对应的处理阶段的资源分配总量集合和并行通量,并从处理阶段集合S的所有资源分配总量集合和所有并行通量中选择最大资源分配总量集合Umax和最大并行通量kmax;(8)向集群管理结点申请启动kmax个任务的进程,将最大资源分配总量集合Umax分配给每个进程,并从集群管理结点获取每个进程的网络地址,所有进程的网络地址组成集合(9)使用步骤(3)获取的处理函数配置信息集合Q中每个处理函数对应的可更改参数集合替换步骤(2)得到的处理阶段集合S中处理阶段内对应处理函数对应的可更改参数集合,并将处理阶段集合S中的每个处理阶段对应的的视频流窗口设置为步骤(4)获取的对应处理阶段对应的视频流窗口,并将处理阶段集合S中的每个处理阶段封装成单个任务,所有任务构成任务集合E={E1,E2,...,E
m
},其中E
num5
表示第num5个处理阶段封装成的任务,且
num5∈[1,m];(10)针对步骤(9)得到的任务集合中的每一个任务而言,将该任务复制kmax份,并根据步骤(8)得到的网络地址集合中的网络地址将复制后的kmax份任务发送给所有进程,并接收每个进程在执行任务过程中每隔周期T返回的进程执行信息PE
t5
,其中所有进程执行任务期间返回的任务执行情况构成进程执行信息集合PE={PE1,PE2,...,PE
kmax
},其中t5∈[1,k
max
],T为任意大于零的自然数。(11)根据步骤(10)获得的进程执行信息集合PE将所需转移剩余处理时间长的进程待处理的视频流数据转移到所需剩余处理时间短的进程。2.根据权利要求1所述的分布式计算平台下基于QoS约束的视频流处理方法,其特征在于,视频流数据的来源信息包括视频流数据的存储位置和存储速率r;视频流数据的处理函数包括该视频流数据的并行通路数k、处理函数的最大时延L和最低准确度A、以及该处理函数对应的可更改参数集合V={G1,G2,...G
h
},其中h表示可更改参数的总数。3.根据权利要求1或2所述的分布式计算平台下基于QoS约束的视频流处理方法,其特征在于,可更改参数集合V中的第num个可更改参数G
num
表示为五元组:G
num
={vn
num
,vmin
num
,vmax
num
,vstep
num
,voptimal
num
}其中num∈[1,h],vn
num
表示第num个可更改参数G
num
的变量名,vmin
num
表示第num个可更改参数G
num
的最小值,vmax
num
表示第num个可更改参数G
num
的最大值,vstep
num
表示从vmin
num
到vmax
num
的步进值,voptimal
num
表示能够使该处理函数获得最佳准确度的、第num个可更改参数的参考值,vmin
num
和vmax
num
为任意自然数,且vmin
num
<vmax
num
;处理阶段集合S中第x1个处理阶段S
x1
中第x2个处理函数P
q
的配置信息表示为四元组:其中表示处理函数P
q
对应的可更改参数集合,表示将P
q
的可更改参数替换为V后得到的处理函数P

q
的准确度,表示视频流数据量为d时,处理函数P

k
的执行时间,表示处理函数P

q
执行时服务器的系统资源使用量集合。4.根据权利要求1至3中任意一项所述的分布式计算平台下基于QoS约束的视频流处理方法,其特征在于,步骤(3)具体包括如下子步骤:(3-1)设置计数器i=1;(3-2)判断i是否等于处理阶段集合S中处理阶段的总数m,如果是则过程结束,否则转入步骤(3-3);(3-3)判断处理阶段集合S中处理阶段的第i阶段是否只包含处理函数,如果是转入步骤(3-4),否则转入步骤(3-12)(3-4)设置计数器j=0;(3-5)获取处理阶段集合S中第i个处理阶段S
i
中第j个处理函数P
j
对应的可更改参数集合V
j
,获取可更改参数集合V
j
中所有可更改参数的参考值组成的参考值集合V
optimal

{voptimal1,voptimal2...voptimal
h
},将可更改参数集合V
j
更新为参考值V
optimal
,并获得此时参考值集合V
optimal
对应的处理函数P
optimal
,执行该处理函数P
optimal
,以获得处理结果集合T
optimal
,其中voptimal
num1
表示参考值集合V
optimal
中的第num1个可更改参数的参考值,且num1∈[1,h]。(3-6)获取处理阶段集合S中第i个处理阶段S
i
中第j个处理函数P
j
中的可更改参数集合V
j
,从中随机选择多个可更改参数组成新的可更改参数集合V

j
={v1,v2,...,v
h
},其中v
num2
表示新的可更改参数集合V

j
中的第num2个可更改参数,v
num
∈[vmin
num2
,vmax
num2
],并且v
num2
能被vstep
num2
整除,num2∈[1,h];(3-7)将可更改参数集合V
j
更新为新的可更改参数集合V
j

,并获得此时新的可更改参数集合V
j

对应的处理函数P
j

,执行该处理函数P
j

,以获得处理结果集合T
j

,根据处理结果集合T
optimal
和T
j

计算处理函数P
j

的准确度a
j

,并保存处理函数P
j

对视频流数据量为d的视频流数据的执行时间l
j

;(3-8)获取处理函数P
j

执行时服务器的系统资源使用量集合U

j
={u1,u2,u3...u
f
},并根据系统资源使用量U

j
计算服务器消耗的系统资源价值r
j
;其中u
x
表示第x类系统资源的系统资源使用量,f表示系统资源类型的总数,且有x∈[1,f]。(3-9)根据处理函数P
j

的准确度a...

【专利技术属性】
技术研发人员:阳王东唐艳阳李肯立邹骁锋郭大为陈岑李克勤
申请(专利权)人:湖南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1