一种云视频服务自适应资源调度系统和方法技术方案

技术编号:36227516 阅读:67 留言:0更新日期:2023-01-04 12:26
本发明专利技术提出一种云视频服务自适应资源调度系统和方法,属于数据处理和资源分配技术领域。所述系统包括主节点和若干从节点,所述主节点至少包括数据采集模块、数据处理预测模块、控制伸缩模块、副本控制器和接口服务器,所述从节点至少包括节点代理、代理网络规则以及若干基于应用容器引擎定义的容器集合,每个所述容器集合中包含若干容器。本发明专利技术获取节点的实时状态,通过模型计算出预测值,进一步判断需要扩容/缩减需求,以解决被动响应所带来的时间损耗。时间损耗。时间损耗。

【技术实现步骤摘要】
一种云视频服务自适应资源调度系统和方法


[0001]本专利技术属于数据处理和资源分配
,尤其涉及一种云视频服务自适应资源调度系统和方法。

技术介绍

[0002]云计算掀起了对计算资源、网络资源、管理存储资源进行统一调度管理的虚拟化共享化,使得计算机资源得到更加高效的利用。随着技术的发展,容器作为后起之秀,有效的将单个操作系统的资源划分到孤立的组中,相较于hypervisor的虚拟机,展现出轻便、启动速度快、环境依赖小的特点。然而容器的编排管理面临着被动的过程。目前,研究者多基于设置优先级调度策略来设计提高整体性能。受限于对研究的传统思路未能在架构机制上有所突破。
[0003]与传统虚拟机相比容器 更为轻便、启动速度在秒级、单机支持上千个容器、对环境依赖小、持续交付和部署、更轻松的维护和扩展优。自从 2013 年以来,随着容器技术的兴起,很多PaaS公有云厂商比如谷歌、IBM开始使用容器技术。对于部署微服务在实际工业生产环境中已经得到广泛实践与验证。目前很多的容器云平台通过Docker容器及Kubernetes等技术提供应用服务运行平台,Kubernetes是Google的开源项目,从内部项目Borg而来。目前各个云计算厂商比如谷歌、腾讯云、亚马逊、阿里云等,主要都有用Kubernetes进行对容器管理,它的主要设计目标是使部署和管理复杂的分布式系统变得容易,同时仍然受益于容器能够提高资源利用率。对于管理容器,Kubernetes提供了一个管理编排生态,包括容器的管理、资源监控、日志收集、服务发现、容器组网等功能。实现自动化运维提高运维效率,灵活调度、快速部署应用、弹性伸缩和动态分配调整应用资源,提高研发和运营效率。现在各大公司都主流使用容器进行虚拟化资源,使用Kubernetes进行容器的管理,极大的减少了运维人员的投入。
[0004]一般的Kubernetes调度策略注重重写调度策略,在预选函数、优选函数进行优化。这样的调度策略只是优化了资源配置策略,使得资源能够定制化分配,达到管理者的预期。在服务器提供服务的过程中服务质量很大程度上体现在服务响应速度上。也有许多学者做出优化但大多拘泥于优化策略,或者联合服务的全流程控制延迟来缩短响应时间,没有从架构方面作出改进。原有的架构来看,Kubernetes 在进行水平拓展时属于被动式响应扩容。
[0005]在Kubernetes集群中,Pod是业务类型的基础,也是K8S管理的最小单位级,它是一个或多个容器的组合Kubernetes提供的横向扩展特性 (Horizontal Pod Autoscaling,HPA),指的是基于一定的性能指标,对应用的负载请求变化进行判断,并动态的调整应用的实例数量。能够使得应用在负载请求较高时能够快速的自动扩展。弹性伸缩指的是系统在业务低谷时释放资源,从而保证服务集群的负载始终维持在一个合理的利用率区间之内。
[0006]HPA资源调度策略在用户群体较大,尤其是以微服务为主的互联网行业中具有非常多的现实意义。在互联网行业中,例如新浪微博,当有部分热点事件出现时,各应用服务
的负载请求是正常时的好几倍,且这些事件通常具备一定的偶然性,无法预判及提前准备。按照传统部署模式,服务的可用性将会受到严重影响。又或者出现资源利用率在绝大多数情况下不够充分,造成较大的浪费。因此,服务的弹性伸缩就显得尤为重要。在资源扩缩容过程中,一些资源是有相关性的,因此单独对某一类容器进行拓展,依旧不能提供更高质量的服务。
[0007]HPA作为一个调度控制器,通过周期性地检查应用的负载状态,并根据创建时设定的阈值进行对比,从而调整资源节点数量。但Kubernetes现有自动伸缩服务存在一定的问题,扩容阶段,由于HPA算法基于用户自定义的性能阈值,属于响应式扩容。在这个过程中,通过调度控制器下发新的应用实例到该实例启动成功能够对外服务,不同的应用有着不同的响应延迟,在这个过程中,将会造成用户体验的下降。因此,通过对Kubernetes的HPA算法以及各模块组件的功能实现的分析研究,需要对Kubernetes实现HPA的策略加以改进,从而提高整体资源利用率,减少应用的负载请求响应时间、优化资源调度。
[0008]可见,通过HPA的原理分析可知,Kubernetes弹性伸缩策略属于一种响应式伸缩,即冷启动式,其本质是根据Pod副本当前负载请求的实际情况计算伸缩量。t1时刻Pod副本负载过高触发扩容到t2时刻部署相应Pod,t3调度相应的服务,最后能够正常进行服务请求,完成扩容动作,整个过程存在明显的响应延迟现象。

技术实现思路

[0009]针对上述技术问题,本专利技术以缩短架构响应时间、提升服务质量为出发点,提出一种云视频服务自适应资源调度系统方案。
[0010]本专利技术第一方面公开了一种云视频服务自适应资源调度系统。所述系统包括主节点和若干从节点,所述主节点至少包括数据采集模块、数据处理预测模块、控制伸缩模块、副本控制器和接口服务器,所述从节点至少包括节点代理、代理网络规则以及若干基于应用容器引擎定义的容器集合,每个所述容器集合中包含若干容器。
[0011]其中,在主节点侧:所述数据采集模块被配置为,在当前时刻从各个从节点中采集数据,将采集到的数据转化成基于资源利用率的时间序列统计数据,所述采集到的数据包括每个从节点中每个容器集合中包含的容器的类别、各个类别容器的数量、每个容器的所述资源利用率;所述数据处理预测模块被配置为,利用所述基于资源利用率的时间序列统计数据预测下一时刻所需的各个类别的资源容量;所述控制伸缩模块被配置为,根据所述下一时刻所需的各个类别的资源容量确定下一时刻所需的所述各个类别的应用容器的数量,并进一步基于所述当前时刻所述每个从节点中每个容器集合中包含的容器的类别、所述各个类别容器的数量确定下一时刻所述容器集合和其中的应用容器的伸缩部署方案;所述副本控制器被配置为,经由所述接口服务器将分别与所述各个从节点对应的部署方案发送至所述各个从节点。
[0012]其中,在从节点侧:所述节点代理和所述代理网络规则基于接收到的所述部署方案,利用所述应用容器引擎定义对当前时刻的容器集合和其中各个类别的容器进行扩增或缩减,以完成调度部署。
[0013]根据本专利技术第一方面的系统,所述主节点和每个所述从节点上均挂载开源监控服务Prometheus,所述数据采集模块被配置为,利用开源监控服务Prometheus采集所述数据,
具体包括:调用用于监控容器数据的cAdvisor采集容器数据,并经由所述接口服务器提供给所述开源监控服务Prometheus;调用用于监控节点数据的节点导出器采集节点数据,并经由所述接口服务器提供给所述开源监控服务Prometheus;所述开源监控服务Prometheus持久化存储接收到的容器数据和节点数据,并形成指标对应参数的时间序列统计数据。
[0014]根据本专利技术第一方面的系统,所述数据处理预测模块具体被配置为,利用如下预测模型来预测下一时刻t所需的任一类别的资源容量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云视频服务自适应资源调度系统,其特征在于,所述系统包括主节点和若干从节点,所述主节点至少包括数据采集模块、数据处理预测模块、控制伸缩模块、副本控制器和接口服务器,所述从节点至少包括节点代理、代理网络规则以及若干基于应用容器引擎定义的容器集合,每个所述容器集合中包含若干容器;其中:在主节点侧:所述数据采集模块被配置为,在当前时刻从各个从节点中采集数据,将采集到的数据转化成基于资源利用率的时间序列统计数据,所述采集到的数据包括每个从节点中每个容器集合中包含的容器的类别、各个类别容器的数量、每个容器的所述资源利用率;所述数据处理预测模块被配置为,利用所述基于资源利用率的时间序列统计数据预测下一时刻所需的各个类别的资源容量;所述控制伸缩模块被配置为,根据所述下一时刻所需的各个类别的资源容量确定下一时刻所需的所述各个类别的应用容器的数量,并进一步基于所述当前时刻所述每个从节点中每个容器集合中包含的容器的类别、所述各个类别容器的数量确定下一时刻所述容器集合和其中的应用容器的伸缩部署方案;所述副本控制器被配置为,经由所述接口服务器将分别与所述各个从节点对应的部署方案发送至所述各个从节点;在从节点侧:所述节点代理和所述代理网络规则基于接收到的所述部署方案,利用所述应用容器引擎定义对当前时刻的容器集合和其中各个类别的容器进行扩增或缩减,以完成调度部署。2.根据权利要求1所述的一种云视频服务自适应资源调度系统,其特征在于,所述主节点和每个所述从节点上均挂载开源监控服务Prometheus,所述数据采集模块被配置为,利用开源监控服务Prometheus采集所述数据,具体包括:调用用于监控容器数据的cAdvisor采集容器数据,并经由所述接口服务器提供给所述开源监控服务Prometheus;调用用于监控节点数据的节点导出器采集节点数据,并经由所述接口服务器提供给所述开源监控服务Prometheus;所述开源监控服务Prometheus持久化存储接收到的容器数据和节点数据,并形成指标对应参数的时间序列统计数据。3.根据权利要求2所述的一种云视频服务自适应资源调度系统,其特征在于,所述数据处理预测模块具体被配置为,利用如下预测模型来预测下一时刻t所需的任一类别的资源容量y(t):y(t) = g(t)+ h(t)+ s(t)+ Q + ϵ
t
其中,g(t)表示增长趋势模型,h(t)表示节日效应模型,s(t)表示季节趋势模型,Q表示成本资源,
ϵ
t
表示波动噪声。4.根据权利要求3所述的一种云视频服务自适应资源调度系统,其特征在于,所述控制伸缩模块具体被配置为,基于所述当前时刻每个从节点中每个容器集合中包含的容器的类别、所述各个类别容器的数量确定下一时刻所述容器集合和其中的应用容器的伸缩部署方案,具体包括:执行第一约束:
在所述当前时刻,同一类型的容器分布在同一容器集合中时,在所述下一时刻,仅在该容器集合内对该类型的容器进行扩容或缩减,以达到该类型的容器的部署数量;在所述当前时刻,同一类型的容器分布在若干不同容器集合中时,在所述下一时刻,对包含同一类型容器的各个容器集合按照资源利用率从低到高的顺序进行排序,依次选取排序靠前的容器集合进行扩容或缩减,以达到该类型的容器的部署数量;在所述第一约束的基础上执行第二约束:在所述当前时刻,同一容器集合中仅包含同一类型的容器时,在所述下一时刻,仅在该容器集合内对该类型的容器进行扩容或缩减,以达到该类型的容器的部署数量;在所述当前时刻,同一容器集合中包含若干不同类型的容器时,在所述下一时刻,计算容器集合中不同类型的各个容器之间的资源利用率相关性,在对该容器集合中某一类型的容器进行扩容、缩容时,根据所述资源利用率相关性,对与所述某一类型的容器相关的其他类型的容器进行同步扩容、缩容。5.一种云视频服务自适应资源调度方法,其特征在于,所述方法基于云视频服务自适应资源调度系统来实现,所述系统包括主节点和若干从节点,所述主节点至少包括数据采集模块、数据处理预测模块、控制伸缩模块、副本控制器和接口服务器,所述从节点至少...

【专利技术属性】
技术研发人员:霍启正谢永强李忠博齐锦李少南
申请(专利权)人:军事科学院系统工程研究院网络信息研究所
类型:发明
国别省市:

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

1