一种用于微服务老化的预测与抗衰方法技术

技术编号:24497451 阅读:17 留言:0更新日期:2020-06-13 03:36
本发明专利技术提供的一种用于微服务老化的预测与抗衰方法,利用深度学习的方法,预测在分布式云平台中出现服务质量下降的微服务,通过对每个微服务所占用的资源情况,来评估微服务老化的情况;利用容器垂直自动扩缩容技术,能够根据观测到的CPU,内存,磁盘的利用率,容器自动调整资源的大小;本发明专利技术相比于传统的虚拟化技术,迁移的时间大大缩减。所以,本发明专利技术中提出的微服务抗衰的技术,系统可以实现无缝恢复,很有意义和价值。

A prediction and anti-aging method for microservice aging

【技术实现步骤摘要】
一种用于微服务老化的预测与抗衰方法
本专利技术涉及老化学与抗衰学领域,具体是涉及一种用于微服务老化的预测与抗衰方法。
技术介绍
现代软件的设计正在悄悄地向微服务转变。特别是随着云计算的发展,越来越多的软件系统被部署在云中以分布式方式工作。这些微服务系统有两个共同特征,即长期运行和高复杂性,这就增加了资源耗尽和故障的风险。随着故障或资源耗尽的累积,微服务系统可能遭受着缓慢的性能下降,故障率增加甚至崩溃。这种现象被称为“微服务老化”。微服务老化是一个受许多因素影响的复杂过程,如微服务错误,资源利用,工作负载等。微服务系统资源枯竭是一个普遍的现象。例如,由于连续记录,磁盘空间已耗尽。随着微服务老化程度的增加,系统性能下降,导致QoS下降。当QoS低于预设阈值时,微服务系统进入未服务状态,也称为“伪故障”。企业系统(尤其是云平台)中的微服务老化导致的意外中断可能导致可观的收入损失。一项调查显示,IT停机时间平均每年可达14小时,导致损失265亿美金。因此,预测和抵消微服务老化引起的故障是构建负责任的微服务系统的关键。在许多场景中都会出现软件老化的现象,包括操作系统,Web服务器,实时系统。然而,并没有人去研究微服务在长期运行过程当中产生的老化现象。此外,对于传统的单体应用中,软件系统作为一个整体,去检测老化现象会相对容易一些。然而,随着云计算成为了一种流行之后,微服务相继出现,这无疑增加了灵活性和复杂性,对于微服务的老化也变得更加复杂。一种有效且常用的抵消微服务老化的方法是“微服务抗衰”技术。它通过清理故障,在发生完全或部分新状态故障之前主动恢复系统。抗衰技术的好处在很大程度上取决于进行抗衰的时间。停机时间或者由此类操作引起的开销是不可忽略的,频繁的抗衰可能会对系统可用性造成负面影响。相反,理想的抗衰策略是在系统接近故障时恢复系统。
技术实现思路
本专利技术的目的在于提供一种用于微服务老化的预测与抗衰方法,解决了现有的解决微服务老化的抗衰方法存在频繁的抗衰会对系统的可用性造成负面影响的问题。为了达到上述目的,本专利技术采用的技术方案是:本专利技术提供的一种用于微服务老化的预测方法,包括以下步骤:步骤1,将被测微服务的未完成的请求数作为输入参数;步骤2,获取输入参数的性能指标,所述性能指标包括网络吞吐量、CPU的使用情况、内存的使用情况和磁盘的使用情况;步骤3,构建深度学习网络,结合步骤2获得的性能指标,计算每个性能指标导致每个微服务发生QoS冲突的概率值;步骤4,当步骤3中的微服务发生QoS冲突的概率值大于等于80%时,采用较低级别的跟踪机制,用以检测微服务发生QoS冲突的影响因素,影响因素包括网络吞吐量、CPU的使用情况、内存的使用情况和磁盘的使用情况;步骤5,根据步骤4得到的微服务发生QoS冲突的影响因素,计算每个微服务的老化率;步骤6,根据步骤5中得到的微服务老化率,确定微服务老化的具体原因。优选地,步骤3中,构建深度学习网络,具体方法是:所述深度学习网络包括输入层、隐含层和输出层,其中,将步骤2中获取的性能指标作为输入层的输入,所述输入层中的每个神经元代表一个微服务,输入层中的神经元按照拓扑顺序排列;所述输出层中的每个神经元代表一个微服务,输出层中的神经元按照拓扑顺序排列;所述隐含层采用的是CNN+LSTM模型,包括卷积层、循环层和最终层;其中,卷积层是通过提取标准CNN模型的卷积层和最大池化层进行构造;所述循环层为LSTM网络;所述最终层为SoftMax。优选地,步骤5中,通过下式计算每个微服务的老化率:式中,Es(t)表示为微服务老化率;Ufi表示为第fi个特征码依次耗尽资源的单位。优选地,步骤6中,确定微服务发生老化的具体原因,具体的方法是:每个微服务对应的所有影响因素中,最高老化率所对应的影响因素为发生微服务老化的具体原因。一种用于微服务老化的抗衰系统,包括CVAMaster节点、SourceServer节点、NFS节点、CloudDeployManager模块,其中,SourceServer节点、NFS节点、CloudDeployManager模块均与CVAMaster节点连接;所述CVAMaster节点用于控制各个节点的任务流和数据流的走向;所述SourceServer节点为监控资源收集器,用于收集每个微服务的资源使用情况;所述NFS节点用于当作业为有状态作业时,存储容器的检查点和镜像文件;所述CloudDeployManager模块为集群管理器的组件。一种用于微服务老化的抗衰方法,基于所述的一种用于微服务老化的抗衰系统,包括以下步骤:步骤1,发出操作请求;步骤2,CVAMaster节点在CloudDeployManager模块中创建执行作业所需的启动项,启动项包括唯一的ID信息,并判断当前作业的状态,所述当前作业状态为有状态或无状态;步骤3,CloudDeployManager模块执行当前作业,且通过SourceServer节点分别收集CPU资源的占用情况、内存资源的占用情况和磁盘资源的占用情况;步骤4,根据步骤3采集得到的资源占用情况,计算新资源;步骤5,将步骤4计算得到的新资源与旧资源进行匹配,若新资源与旧资源匹配成功,则继续执行当前作业;若两者匹配不成功,则CVAMaster根据作业状态执行不同的操作;具体地:若当前作业为有状态时,则根据新资源在集群管理器中创建新的容器,并进行容器的迁移;若当前作业为无状态时,则根据新资源在集群管理器中创建新的容器,并进行容器的重启。优选地,所述步骤4中,新资源的计算公式是:新资源=观察值的中位数+绝对偏差b。优选地,步骤5中,若新资源与旧资源匹配不成功,且当前作业为有状态时,CVAMaster节点向docker发送两条指令,其中一条指令是创建容器的检查点;另一条是创建包含该容器生成数据的镜像;同时将所创建的检查点和镜像信息发送给CVAMaster节点;所述CVAMaster节点将所创建的检查点和镜像信息存储到NFS节点中;集群管理器根据新资源的值申请资源,在集群管理器中创建新的容器;并将检查点和镜像下载到所选服务器,然后还原容器,实现容器的迁移。优选地,步骤5中,若新资源与旧资源匹配不成功,且当前作业为无状态时,集群管理器根据新资源的值申请资源,在集群管理器中创建新的容器,实现容器的重启。与现有技术相比,本专利技术的有益效果是:本专利技术提供的一种用于微服务老化的预测方法,利用深度学习的方法,预测在分布式云平台中出现服务质量下降的微服务,通过对每个微服务所占用的资源情况,来评估微服务老化的情况。本专利技术提供的一种用于微服务老化的抗衰系统及方法,提出了容器垂直自动扩缩容技术,能够根据观测到的CPU,内存,磁盘的利用率,容器自动调整资源的大小。本专利技术提出的新资源的计算公式推翻了之前用户凭经验定义资源大小的方式,很好地提高本文档来自技高网
...

【技术保护点】
1.一种用于微服务老化的预测方法,其特征在于,包括以下步骤:/n步骤1,将被测微服务的未完成的请求数作为输入参数;/n步骤2,获取输入参数的性能指标,所述性能指标包括网络吞吐量、CPU的使用情况、内存的使用情况和磁盘的使用情况;/n步骤3,构建深度学习网络,结合步骤2获得的性能指标,计算每个性能指标导致每个微服务发生QoS冲突的概率值;/n步骤4,当步骤3中的微服务发生QoS冲突的概率值大于等于80%时,采用较低级别的跟踪机制,用以检测微服务发生QoS冲突的影响因素,影响因素包括网络吞吐量、CPU的使用情况、内存的使用情况和磁盘的使用情况;/n步骤5,根据步骤4得到的微服务发生QoS冲突的影响因素,计算每个微服务的老化率;/n步骤6,根据步骤5中得到的微服务老化率,确定微服务老化的具体原因。/n

【技术特征摘要】
1.一种用于微服务老化的预测方法,其特征在于,包括以下步骤:
步骤1,将被测微服务的未完成的请求数作为输入参数;
步骤2,获取输入参数的性能指标,所述性能指标包括网络吞吐量、CPU的使用情况、内存的使用情况和磁盘的使用情况;
步骤3,构建深度学习网络,结合步骤2获得的性能指标,计算每个性能指标导致每个微服务发生QoS冲突的概率值;
步骤4,当步骤3中的微服务发生QoS冲突的概率值大于等于80%时,采用较低级别的跟踪机制,用以检测微服务发生QoS冲突的影响因素,影响因素包括网络吞吐量、CPU的使用情况、内存的使用情况和磁盘的使用情况;
步骤5,根据步骤4得到的微服务发生QoS冲突的影响因素,计算每个微服务的老化率;
步骤6,根据步骤5中得到的微服务老化率,确定微服务老化的具体原因。


2.根据权利要求1所述的一种用于微服务老化的预测方法,其特征在于,步骤3中,构建深度学习网络,具体方法是:
所述深度学习网络包括输入层、隐含层和输出层,其中,将步骤2中获取的性能指标作为输入层的输入,所述输入层中的每个神经元代表一个微服务,输入层中的神经元按照拓扑顺序排列;
所述输出层中的每个神经元代表一个微服务,输出层中的神经元按照拓扑顺序排列;
所述隐含层采用的是CNN+LSTM模型,包括卷积层、循环层和最终层;其中,卷积层是通过提取标准CNN模型的卷积层和最大池化层进行构造;所述循环层为LSTM网络;所述最终层为SoftMax。


3.根据权利要求1所述的一种用于微服务老化的预测方法,其特征在于,步骤5中,通过下式计算每个微服务的老化率:



式中,Es(t)表示为微服务老化率;表示为第fi个特征码依次耗尽资源的单位。


4.根据权利要求1所述的一种用于微服务老化的预测方法,其特征在于,步骤6中,确定微服务发生老化的具体原因,具体的方法是:
每个微服务对应的所有影响因素中,最高老化率所对应的影响因素为发生微服务老化的具体原因。


5.一种用于微服务老化的抗衰系统,其特征在于,包括CVAMaster节点、SourceServer节点、NFS节点、CloudDeployManager模块,其中,SourceServer节点、NFS节点、CloudDeployManager模块均与CVAMaster节点连接;所述CVAMaster节点用于控...

【专利技术属性】
技术研发人员:吴晓军岳靖薛云庆
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

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

1