论文部分内容阅读
随着工业互联网的快速发展,工业生产中的各个环节中也都大量应用了信息技术,这使得企业在生产经营中积累了大量的数据,这些数据为工厂科学分析和优化生产提供了数据基础,专业的数据分析人员利用数据驱动的建模技术在参数预测、性能优化方面建立诸多的模型应用。但是将开发的工业模型部署生产环境中时却面临着许多的问题和限制,首先工业数据具有实时性、隐私性的特点,需要在靠近数据源端进行采集和处理,且实际生产中需要构建大量的模型,重复开发同类模型,效率低,浪费人力资源,需要自动的模型构建,同时模型在提供服务的期间,缺乏专业人员的管理,也没有自我改进和进化,无法提供长期有效的价值。此外,大量模型服务部署在边缘计算网关处,资源受到限制,传统部署方式是按照服务流量峰值进行静态分配,无法有效的利用有限的资源。所以模型在为实际生产提供服务时有着很多需要解决的现实问题。本文针对模型服务实际部署中遇到的困难,构建了基于预测的工业模型服务弹性调度平台,解决模型服务缺乏生命周期管理和更新的问题,能够根据请求量的大小动态地对服务所需要的资源进行分配。本文主要研究工作如下:通过研究大数据、弹性伸缩等技术,搭建了一个支撑模型服务运行的弹性平台,并且所有功能模块通过容器技术封装实现,提高服务部署的效率,首先利用Kafka和Spark技术构建实时处理架构,解决工业数据实时采集和计算的问题,并存储在平台数据库当中,为模型服务的更新提供数据基础。传统的模型一旦构建部署上线后,缺乏专门人员去管理,时间一长,模型的精准度就会开始下降,针对这个问题,平台支持模型服务的生命周期管理,模型能够自动的重训练和更新,设计模型训练可以利用历史数据和新数据重新训练模型文件、模型通过容器滚动更新的方式无缝切换,并通过任务调度功能将模型更新过程中各模块按流程运行,实现模型自动化的更新。因为工业数据的复杂性,平台中会部署越来越多的模型服务,为了满足潜在的负载需求,通常会按照访问峰值的能力配置资源,这样造成了非高峰期的资源浪费,大大降低了资源利用率,平台所能部署的模型服务也会减少。由于工业现场资源有限,所以提出了基于预测的弹性调度架构来管理模型服务容器数量,主要包括监控模块、资源调度模块和模型服务伸缩组,监控模块除了会采集宿主机和容器资源使用指标,还增加了传统监控系统中缺乏的服务应用请求量和响应时间的采集。资源调度模块使用随机森林算法对请求量历史数据构建预测模型,预测多步之后的请求量,提前对模型服务伸缩组进行资源分配,考虑了容器的启动时间,减少响应式伸缩分配资源滞后的缺点,并设计了缩容计数值来避免伸缩抖动。结合Rancher容器管理平台的功能开发实现了本文所提出的平台,并将其应用于某化工精馏塔厂,为其提供参数预测、故障诊断服务。通过仿真实验,验证了模型服务在新数据生成后能够进行自动的模型更新切换,保持服务长期的服务质量。也通过与响应式的弹性策略对比以及真实负载下的测试,验证了本平台的弹性策略具有可用性和可伸缩性。结果说明了平台在提高资源有效使用的同时,也能很好保持模型服务在预测精准度和响应时间两方面的服务质量,这对于帮助企业实现科学决策和优化生产,提高经济效益有着重要的意义。