关键词:
表计识别
分布式系统
时序卷积网络
资源分配
M/D/1排队模型
摘要:
仪表与人们生活息息相关,但是极端环境部署的仪表会给抄表人员带来风险,表计识别系统的远程抄表能力有助于克服这一风险。大多数基于视觉的表计识别系统依赖深度神经网络进行读数识别,对算力有较高要求,云计算天然具有高度的集群扩展性,云端部署表计识别系统有利于满足较高的算力需求。基于视觉的表计识别系统属于一种大规模图像识别系统,普遍对易扩展性、资源分配效率等方面有较高要求。本文针对表计识别系统的实际需求,主要完成了以下工作:1、针对表计识别系统对易扩展性、资源分配效率等方面的需求,本文设计实现了一种基于分布式系统的表计识别系统:(1)针对表计识别系统业务特点,本文设计了三层架构用于构建基于分布式系统的表计识别系统,三层架构有利于提取业务共性,降低耦合性。(2)针对表计识别系统故障检测困难、容器管理松散的问题,设计了基于Kubernetes的表计识别系统架构,并在Kubernetes基础上拓展了Prometheus自动监控模块、ELK分布式日志收集分析模块用于解决这些问题。(3)针对表计识别系统资源分配不理想的问题,设计了预测式自动伸缩模块用于改进资源分配。2、针对资源分配的预测问题,聚焦TCN(Temporal Convolutional Networks)容易丢失周期关键特征的问题,以及丢失相邻数据变化趋势的问题,本文提出了一种基于多特征融合的CPU使用率预测模型,该模型提取周期关键特征和上升趋势特征,并结合TCN网络模型,实现对CPU使用率预测。该算法明显提升TCN预测性能,且未增加TCN模型的参数数量,有利于提升资源分配性能。3、针对响应式自动伸缩存在资源分配滞后和资源利用率低的问题,本文提出了一种基于M/D/1队列忙期时长的自动伸缩算法,该方法利用M/D/1排队模型对从流量网关卸载任务到算法服务的全过程进行建模,设计了用于改进资源分配的优化目标和约束条件,并搜索最优解。相对于响应式自动伸缩方法,本文方法有效解决了资源分配滞后问题,提高了资源利用率。本文基于采集的表计运行数据,进行了测试。实验结果表明,本文设计实现的表计识别系统,实现了功能需求,并具有规范化容器管理流程和较好的故障定位功能。在所完成的预测式自动伸缩模块中,本文提出的预测算法,对比TCN的baseline方法,在CPU使用率上的预测精度更高,其中MSE提升约7.7%,RMSE提升约4.0%,MAE提升约7.9%,提升约1.1%。本文提出的基于M/D/1队列忙期时长的自动伸缩算法,对比Kubernetes响应式自动伸缩算法,不仅解决了资源分配滞后问题,而且具有更高资源利用率。