CN110362494B - 微服务状态信息展示的方法、模型训练方法以及相关装置 - Google Patents

微服务状态信息展示的方法、模型训练方法以及相关装置 Download PDF

Info

Publication number
CN110362494B
CN110362494B CN201910652769.4A CN201910652769A CN110362494B CN 110362494 B CN110362494 B CN 110362494B CN 201910652769 A CN201910652769 A CN 201910652769A CN 110362494 B CN110362494 B CN 110362494B
Authority
CN
China
Prior art keywords
micro
service
parameters
training
network model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910652769.4A
Other languages
English (en)
Other versions
CN110362494A (zh
Inventor
方俊贤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910652769.4A priority Critical patent/CN110362494B/zh
Publication of CN110362494A publication Critical patent/CN110362494A/zh
Application granted granted Critical
Publication of CN110362494B publication Critical patent/CN110362494B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了微服务状态信息展示的方法、模型训练方法以及相关装置,通过获取节点在设置时间内的微服务运维参数,从而根据神经网络模型和微服务运维参数得到微服务状态参数,最终展示微服务的状态,与传统比较临界值或心跳测试的方式比较更加准确,解决了传统方法容易出现误判并展示错误微服务状态的技术问题。

Description

微服务状态信息展示的方法、模型训练方法以及相关装置
技术领域
本申请涉及人工智能技术领域,尤其涉及微服务状态信息展示的方法、模型训练方法以及相关装置。
背景技术
微服务架构是一项在云中部署应用和服务的新技术。微服务通常会部署到多个节点中,首先在预发布的环境下进行运行一段时间,若没有发现异常,则发布。发布后进入运维环境。从预发布环境到运维环境时,需要预测微服务是否会出现异常,以暂停发布或修正异常。
预测微服务是否出现异常可以是通过检测关键运维参数的临界值,若该临界值超出某阈值,则说明微服务出现异常。或者是通过对微服务进行心跳测试,若微服务失去响应或者响应延迟,则说明微服务出现异常。
但这些方法经常出现误判,展示错误的微服务状态,导致工作人员作出错误处理。
发明内容
本申请实施例提供了一种微服务状态信息展示的方法以及相关装置,用于解决传统方法容易出现误判并展示错误微服务状态的技术问题。
本申请实施例第一方面提供了一种微服务状态信息展示的方法,包括:
获取微服务参数,所述微服务参数为微服务节点在设置时间内的微服务运维参数,所述微服务节点部署有微服务;
通过训练好的神经网络模型获取所述微服务参数所对应的微服务状态参数,所述微服务状态参数用于表示所述微服务在目标时刻异常或正常,所述目标时刻为所述设置时间后的任意时刻;
根据所述微服务状态参数确定所述微服务的状态信息;
展示所述微服务的状态信息。
本申请实施例第二方面提供了一种神经网络模型训练的方法,包括:
获取训练参数,所述训练参数包括微服务节点在设置时间内的微服务运维参数以及所述微服务节点在所述设置时间内的实际微服务状态参数,所述微服务节点上部署有微服务,所述实际微服务状态参数用于表示所述微服务在目标时刻异常或正常,所述目标时刻为所述设置时间后的任意时刻;
通过待训练神经网络模型获取所述训练参数所对应的预测结果;
根据所述预测结果以及所述实际微服务状态参数,采用损失函数对所述待训练神经网络模型进行训练,直至所述损失函数达到收敛状态或训练次数达到预设值,训练后的所述待训练神经网络模型应用于上述第一方面的微服务状态信息展示的方法。
本申请实施例第三方面提供了一种微服务状态展示的装置,包括:
获取单元,用于获取微服务参数,所述微服务参数为微服务节点在设置时间内的微服务运维参数,所述微服务节点部署有微服务;
处理单元,用于通过训练好的神经网络模型获取所述微服务参数所对应的微服务状态参数,所述微服务状态参数用于表示所述微服务在目标时刻异常或正常,所述目标时刻为所述设置时间后的任意时刻;
所述处理单元,还用于根据所述微服务状态参数确定所述微服务的状态信息;
展示单元,用于展示所述微服务的状态信息。
在一种可能的设计中,在本申请实施例第三方面的一种实现方式中,所述微服务运维参数包括所述微服务与数据库的连接参数,所述微服务的更改参数,所述微服务节点的内存参数,CPU参数,线程参数以及虚拟内存参数的至少一种参数。
在一种可能的设计中,在本申请实施例第三方面的一种实现方式中,所述获取单元还用于确定所述设置时间内的设置时间间隔;根据设置时间间隔获取所述设置时间间隔所对应的所述微服务运维参数。
在一种可能的设计中,在本申请实施例第三方面的一种实现方式中,所述处理单元还用于对所述微服务参数进行归一化处理,得到归一化微服务参数;通过所述神经网络模型获取所述归一化微服务参数所对应的微服务状态参数。
本申请实施例第四方面提供了一种神经网络模型训练的装置,包括:
获取单元,用于获取训练参数,所述训练参数包括微服务节点在设置时间内的微服务运维参数以及所述微服务节点在所述设置时间内的实际微服务状态参数,所述微服务节点上部署有微服务,所述实际微服务状态参数用于表示所述微服务在目标时刻异常或正常,所述目标时刻为所述设置时间后的任意时刻;
训练单元,用于通过待训练神经网络模型获取所述训练参数所对应的预测结果;
训练单元,还用于根据所述预测结果以及所述实际微服务状态参数,采用损失函数对所述待训练神经网络模型进行训练,直至所述损失函数达到收敛状态或训练次数达到预设值,训练后的所述待训练神经网络模型应用于上述第一方面的微服务状态信息展示的方法。
在一种可能的设计中,在本申请实施例第四方面的一种实现方式中,所述损失函数为所述待训练神经网络模型的预测结果与所述实际微服务状态参数之间的均方误差。
在一种可能的设计中,在本申请实施例第四方面的一种实现方式中,训练单元还用于获取批处理参数,所述批处理参数包括批大小和迭代参数;训练单元还用于根据所述批处理参数和所述待训练神经网络模型获取所述训练参数所对应的预测结果。
本申请实施例第五方面提供了一种终端设备,包括:包括一个或一个以上中央处理器,存储器,输入输出接口,有线或无线网络接口,电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述微服务状态展示的装置上执行所述存储器中的指令操作以执行第一方面的方法。
本申请实施例第六方面提供了一种服务器,包括:包括一个或一个以上中央处理器,存储器,输入输出接口,有线或无线网络接口,电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述神经网络模型训练的装置上执行所述存储器中的指令操作以执行第二方面的方法。
本申请第七方面提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如第一方面或第二方面的方法。
本申请第八方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面或第二方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例获取节点在设置时间内的微服务运维参数,从而根据神经网络模型和微服务运维参数得到微服务状态参数,最终展示微服务的状态,与传统比较临界值或心跳测试的方式比较更加准确,解决了传统方法容易出现误判并展示错误微服务状态的技术问题。
附图说明
图1为本申请实施例中微服务在节点上的架构示意图;
图2为本申请实施例中微服务预发布和运维过程的示意图;
图3为本申请实施例提供的一种微服务状态信息展示的方法的流程图;
图4为本申请实施例中长短期记忆网络模型的示意图;
图5为本申请实施例中长短期记忆网络模型中记忆细胞结构图;
图6为本申请实施例中将微服务参数输入长短期记忆网络模型的示意图;
图7为本申请实施例中神经网络模型训练的方法的流程图;
图8为本申请实施例中通过训练参数对待训练神经网络模型进行训练的示意图;
图9为本申请实施例中应用例的微服务状态信息展示图;
图10为本申请实施例中用于对照的实际的微服务状态信息展示图;
图11为本申请实施例中预测微服务状态与实际微服务状态的对比图;
图12为本申请实施例提供的微服务状态展示的装置的示意图;
图13为本申请实施例提供的神经网络模型训练的装置的示意图;
图14是本申请实施例提供的一种终端设备的结构示意图;
图15是本申请实施例提供的一种服务器结构示意图。
具体实施方式
本申请实施例提供了一种微服务状态信息展示的方法以及相关装置,用于解决传统方法容易出现误判并展示错误微服务状态的技术问题。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着机器学习技术研究和进步,机器学习技术在多个领域展开研究和应用,例如微服务状态预测与展示,数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用等,相信随着技术的发展,机器学习技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及机器学习的微服务状态信息展示等技术,具体通过如下实施例进行说明:
应理解,随着现代社会的发展,微服务技术越来越受到人们的重视。微服务是指是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块为基础,利用模组化的方式组合出复杂的大型应用程序。各小型功能区块使用与语言无关的应用程序编程接口(application programming interface,API)(API也称为操作)相互通讯。
图1为本申请实施例中微服务在节点上的架构示意图。可以理解的是,一个微服务可以配置在一个或多个节点上,一个节点可以配置有一个或多个微服务。微服务通过代理服务器(proxy nginx)与节点连接,代理服务器上有微服务的配置信息(configs)。图1中为节点01与节点02配置有微服务。每个节点中包括服务注册中心(consul、eureka或zookeeper等),例如consul是开源的一个使用go语言开发的服务发现、配置管理中心服务。内置了服务注册与发现框架、分布一致性协议实现、健康检查、多数据中心方案,不再需要依赖其他工具。服务部署简单,只有一个可运行的二进制的包。可以在每个节点上都部署有该配置管理中心。还可以安装有配置模板,用于适应不同的微服务。节点中还配置有一个或多个微服务容器(container),微服务容器可以采用应用容器引擎(docker容器),也可以采用其他类型的容器,此处具体不做限定。
根据如图1所示的微服务架构,开发人员可以在多个节点上部署微服务,并且进一步开发测试,最终投入使用。
图2为本申请实施例中微服务预发布和运维过程的示意图,微服务首先由开发团队开发,通过vagrant工具创建和部署虚拟化开发环境,通过应用容器引擎docker创建容器,通过业务流程管理开发平台(AWS平台)管理开发环境,形成微服务的开发框架,然后通过修订控制系统(the revision control system)不断对微服务进行开发和更新版本,修订控制系统是开发环境的心脏,存储产品的软件代码,系统配置和硬件设计。期间,开发团队决定产品的目录的结构和分值的策略。修订控制系统首先生成服务器,用于执行持续集成,并通过人工数据库存储持续集成后的产出,通过程序包管理器将可交付的版本生成程序安装包,并且该程序安装包可以由命令行安装。当微服务在开发环境开发完成后,可以通过程序安装包将程序发送到测试环境。该测试环境也可以通过vagrant工具创建和部署虚拟化开发环境,通过应用容器引擎docker创建容器,通过业务流程管理开发平台(AWS平台)管理测试环境,在测试环境中安装新的版本,又称为蓝线发布。蓝线发布后,质量保证小组(QAteam)在测试环境中对微服务进行集成测试以及性能测试,并且,该版本的微服务经质量保证小组通过集成测试以及性能测试确定没有问题后,便将旧的服务器换下,用交付准备服务器替代,也成为绿线部署。然后,发布管理团队(release management team)需要确保交付准备服务器上的版本质量可以切换到产品服务器上,因为测试自动化无法完全保证质量,所以,需要发布管理团队的介入。当微服务切换到产品服务器上时,可由运营团队进行管理。
可以理解的是,当微服务部署到预发布环境(蓝线发布)时,微服务是否会发生异常需要进行检测和判定。若微服务没有发生异常,则可以初步判断集成测试或性能测试没有异常,更有自信地将微服务部署到正式运维的环境,即绿线部署。若微服务发生异常,则工作人员可以得到该异常的信息并作出相应的处理,例如反馈给开发团队,使得开发团队进行漏洞修复,并且暂定发布到绿线,具体做何种处理此处不做具体限定。
因此,当微服务部署到预发布环境(蓝线发布)时,微服务是否会发生异常在微服务开发中非常重要。本申请实施例提供了一种微服务状态信息展示的方法以及相关装置,通过获取节点在设置时间内的微服务运维参数,从而根据神经网络模型和微服务运维参数得到微服务状态参数,最终展示微服务的状态,下面将详细描述本申请实施例提供的一种微服务状态信息展示的方法以及相关装置。
请参阅图3,图3为本申请实施例提供的一种微服务状态信息展示的方法的流程图,本申请实施例提供的一种微服务状态信息展示的方法包括:
301、获取微服务参数,微服务参数为微服务节点在设置时间内的微服务运维参数,微服务节点部署有微服务;
在本申请实施例中,终端设备或服务器首先获取微服务参数,具体获取的参数类型可以是微服务节点在设置时间内的微服务运维参数,例如,多节点下,微服务与数据库的连接、CPU/内存耗用的情况、事务的状态、线程、交换,作为预测的特征集。
可以理解的是,本申请实施例首先确定设置时间,设置时间是根据具体情况进行设定,例如,需要预测60分钟后的微服务状态,则需要获取60分钟的微服务运维参数,若需要预测2000分钟后的微服务状态,则需要获取2000分钟的微服务运维参数,具体设定多少分钟不做限定。
微服务节点上部署有微服务,如图1所示节点01和节点02为微服务节点,可以部署微服务,具体此处不再赘述。
302、通过神经网络模型获取微服务参数所对应的微服务状态参数,微服务状态参数用于表示微服务目标时刻异常或正常;
在本申请实施例中,获取到微服务参数后,可以将微服务参数输入训练好的神经网络模型,从而获取微服务参数所对应的微服务状态参数。
可以理解的是,微服务状态参数用于表示微服务在目标时刻异常或正常,目标时刻为设置时间后的任意时刻,例如,设置时间为某天的13点至14点,则目标时刻可以是14点01分或14点02分等,在训练模型之前设定该神经网络模型预测的目标时刻,然后训练该神经网络模型对该目标时刻的预测,最终输入微服务参数对该目标时刻进行预测,微服务状态参数可以用1或0表示,例如1表示微服务异常,0表示微服务正常。在实际应用中,也可以用其他方式表示,具体此处不做限定。
在本申请实施例中,神经网络模型可以采用循环神经网络(recurrent neuralnetworks,RNN),长短期记忆网络模型(long short-term memory,LSTM),基于门控循环单元的循环神经网络(gated recurrent unit,GRU)或其他神经网络模型。在实际应用中,可以根据实际情况选择合适的神经网络模型,具体此处不做限定。长短期记忆网络是一种时间循环神经网络,下面就长短期记忆网络模型对本申请实施例进行详细的解释。
图4为本申请实施例中长短期记忆网络模型的示意图。本申请实施例中的长短期记忆网络模型中,参数时间步长time step为60,层数LSTM layer为4,每个神经网络层LSTMlayer包含60个记忆细胞cells,每个记忆细胞cells包含50个单元units,随机失活参数Dropout为0.4。并且,该长短期记忆网络模型的输入为微服务参数,长短期记忆网络模型的输出为微服务状态参数。在实际应用中,长短期记忆网络模型的参数也可以采用其他数值,例如层数选择为6,时间步长time step设定为80,具体此处不做限定。
图5为本申请实施例中长短期记忆网络模型中记忆细胞结构图。本申请实施例中,输入的参数为Xt=[x11 x12 … x1N],其中,N为微服务参数的个数。Ct-1为上一个记忆细胞的单元状态(cell state),即旧的记忆,ht-1为上一个记忆细胞的输出,Ct为记忆细胞的单元状态,ht为上一个记忆细胞的输出。图5中从左往右第一个框计算公式为ft=σ(Wf·[ht-1,Xt]+bf),表示控制流量,第二个框计算公式为it=σ(Wi·[ht-1,Xt]+bi),表示控制流量,第三个框计算公式为tt=tanh(Wc·[ht-1,Xt]+bc),表示增加新的记忆,第四个公式为Ot=σ(Wo·[ht-1,Xt]+bo),表示控制流量。最上面乘号的计算公式为ft*Ct-1,表示将需保留的旧的记忆加入运算,接下来加号的计算公式为Ct=ft*Ct-1+it*tt,表示需保留的旧的记忆加上需加入的新的记忆,加号下面乘号的计算公式为it*tt,表示需加入的新的记忆。记忆细胞的输出ht=Ot*tanh(Ct)。上述是长短期记忆网络模型前向计算。
应理解,本申请实施例中采用的长短期记忆网络模型已训练完成,具备预测能力,即输入微服务参数后,能够得到微服务状态参数。具体训练过程可参考其他本申请实施例。
在本申请实施例中,将微服务参数输入长短期记忆网络模型可以由以下方式实现:
将预设参数按照时间分成多段序列,每段时间序列具有N*time step个微服务参数,例如,第一段时间序列包括某天13:00至14:00的微服务参数,第二段时间序列包括同天13:01至14:01的微服务参数,以此类推。在本申请实施例中,微服务参数的数目为N,时间步长time step的数目为P,时间序列的段数为M+1,M+1为输入神经网络模型的训练样本数或者预测样本数,例如以分钟为单位,预测14:01至15:01的微服务状态,则需要输入13:00至14:00、13:01至14:01、13:02至14:02…14:00至15:00这60段时间队列,可以形成以下时间队列:
(Xt):第一段时间序列的输入数据:
Figure GDA0003037396000000071
(Xt+1):第二段时间序列的输入数据:
Figure GDA0003037396000000072
(Xt+2):第三段时间序列的输入数据:
Figure GDA0003037396000000073
以此类推,直到:
(Xt+M):第M+1段时间序列的输入数据:
Figure GDA0003037396000000074
在本申请实施例中,若设定时间序列中微服务参数以一分钟为单位,则设定时间序列的段数为60时,则将60段时间队列的数据输入到长短期记忆网络模型,可以预测得到60分钟的微服务状态。
图6为本申请实施例中将微服务参数输入长短期记忆网络模型的示意图,请参阅图6,将微服务参数依次输入长短期记忆网络模型,一般是将每段时间序列按顺序输入长短期记忆网络模型。具体可以是将第一段时间序列输入后,再输入第二段时间序列,也可以是其他输入顺序,具体此处不做限定。经过长短期记忆网络模型里记忆细胞的计算,最终得到微服务状态参数。
303、根据微服务状态参数确定微服务的状态信息;
在本申请实施例中,可以设定微服务状态参数为1,则微服务的状态信息为异常,微服务状态参数为0,则微服务的状态信息为正常,也可以设定其他实现方式,例如设定微服务状态参数大于异常阈值,则微服务的状态信息为异常,微服务状态参数不大于异常阈值,则微服务的状态信息为正常,具体此处不做限定。
可以理解的是,可以是多个微服务状态参数确定一个微服务的状态信息,例如3个微服务状态参数的平均值大于异常阈值,则确定微服务的状态信息为异常,3个微服务状态参数的平均值不大于于异常阈值,则确定微服务的状态信息为正常。
可以理解的是,微服务状态参数可以表示某时间内的微服务的状态信息,例如微服务状态参数[1,30],微服务状态参数中第一个数值为1时表示微服务的状态信息为异常,微服务状态参数中第一个数值为0时表示微服务的状态信息为正常,微服务状态参数中第二个数值表示该微服务状态参数对应的时间段,即微服务状态参数[1,30]表示第30分钟的微服务的状态信息为异常。
304、展示微服务的状态信息。
在本申请实施例中,若微服务的状态信息为异常,则展示该展示微服务的状态信息为异常,若微服务的状态信息为正常,则展示该展示微服务的状态信息为正常,展示的方式可以是发出提示音或提示语音,也可以是显示在显示屏上,在实际应用中,还可以是输出表格或输出图表,具体此处不做限定。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例还提供微服务状态信息展示的方法的一个可选实施例,微服务运维参数包括微服务与数据库的连接参数,微服务的更改参数,微服务节点的内存参数,CPU参数,线程参数以及虚拟内存参数的至少一种参数。
在本申请实施例中,微服务运维参数根据特征集中的参数类型进行收集。可以根据实际情况具体设定需要收集的参数类型。本申请实施例提供特征集如表1所示,表1为本申请实施例中微服务运维参数的特征集。
表1
Figure GDA0003037396000000081
Figure GDA0003037396000000091
需要说明的是,微服务可以与多个数据库建立连接,则有多个微服务与数据库的连接参数,也可以是多个微服务与一个数据库建立连接,则也有多个微服务与数据库的连接参数。
如表1所示,微服务使用的数据库的连接数目表示与该微服务建立连接的数据库数目。微服务建立一数据库的连接所需花费的时间表示微服务与数据库建立连接花费的时间,若微服务与多个数据库建立连接或多个微服务与一个数据库建立连接,则根据该参数类型可以获取到多个微服务参数。微服务从JDBC连接池中使用的JDBC的连接数目表示微服务与使用的JDBC(Java DataBase Connectivity)的数目。表1中,JVM是Java VirtualMachine(Java虚拟机)的缩写。
在本申请实施例中,根据表1中26个特征可以获取得到多个微服务参数,由于多个节点上可能部署有多个微服务,且微服务可以与多个数据库连接,多个微服务可能与一个数据库连接,在实际应用中,微服务参数的数量一般比26个特征多,例如可以获取到232个微服务参数。
可以理解的是,这些微服务参数都是在设置时间内的,例如,设置时间为一分钟,则表1中第一个特征获取到的微服务参数可以是1分钟内微服务使用的数据库的连接数目为5,若在这一分钟内微服务使用的数据库的连接数目有变化,则可以随机选取其中一个数目作为该分钟的连接数目,或者取平均值作为连接数目,具体此处不做限定。为避免一分钟内微服务使用的数据库的连接数目有变化的情况,还可以设定每隔一分钟才获取一次该连接数目。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例还提供微服务状态信息展示的方法的一个可选实施例,获取微服务参数包括:确定设置时间内的设置时间间隔;根据设置时间间隔获取设置时间间隔所对应的微服务运维参数。
在本申请实施例中,可以设定设置时间间隔。例如,设置时间为60分钟,而设置时间间隔为1分钟,则可以根据设置时间间隔每隔一分钟获取一次微服务运维参数,设置时间为60分钟则获取60次,每次间隔一分钟。获取一次微服务运维参数可以获取到多个微服务运维参数,这些微服务运维参数对应该次的获取时间,可以理解的是,在计算机实现上,可以在微服务运维参数上加上标注,用于标注该微服务运维参数获取的时间。
可选地,在上述图3对应的各个实施例的基础上,本申请实施例还提供微服务状态信息展示的方法的一个可选实施例,获取微服务参数之后,方法还包括:对微服务参数进行归一化处理,得到归一化微服务参数;通过神经网络模型获取微服务参数所对应的微服务状态参数,包括:通过神经网络模型获取归一化微服务参数所对应的微服务状态参数。
在本申请实施例中,可以对微服务参数进行归一化,归一化是指将微服务参数的数值按比例转换到0到1之间。由于微服务参数众多,它们的上限和下限都各不相同,差异较大,将这些微服务参数进行归一化,使得数值在0到1之间,能够提高模型运算效率。
归一化的具体实现方式为按照归一化公式对每个微服务参数进行处理。归一化公式为:
Normalization X=[X–min(X)]/[max(X)–min(X)];
其中,Normalization X为归一化微服务参数,X为当前进行归一化处理的微服务参数的数值,min(X)为当前进行归一化处理的微服务参数的最小值,max(X)为当前进行归一化处理的微服务参数的最大值。该归一化处理实际上是用当前值减去最小值再除以上下限的差值,得到的结果能够在0到1之间,并且大小与当前值正相关。
在实际应用中,还可以采用其他归一化的手段,具体此处不做限定。
本申请实施例还提供归一化的实现方式如下:
In[294]:sc=MinMaxScaler(feature_range=(0,1))
In[295]:training_set_scaled=sc.fit_transform(training_set)
/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.p y:595:DataConversionWarning:Data with input dtype object was converted tofloat64by MinMaxScaler.warnings.warn(msg,DataConversionWarning)
In[296]:training_set_scaled
Out[296]:array([[0.123,0.456,…0.789]
[0.111,0.222,…0.333]
[0.000,0.999,…0.111]])
可以理解的是,计算机可以迅速完成多个微服务参数的计算,然后一并输出归一化微服务参数。在具体实现中,可以调用工具本身自带的归一化函数进行处理,也可以设计独立的计算公式进行处理。
上述是本申请实施例利用训练完成的神经网络模型进行微服务状态信息展示的详细描述,下面将对该神经网络模型的训练过程进行详细的描述。
神经网络模型的训练一般需要训练样本,以及训练算法函数,本申请实施例具体以长短期记忆网络模型进行解释,其他神经网络模型的训练不再赘述。
图7为本申请实施例中神经网络模型训练的方法的流程图,请参阅图7,本申请实施例提供神经网络模型训练的方法的一个实施例包括以下步骤:
701、获取训练参数,训练参数包括微服务节点在设置时间内的微服务运维参数以及微服务节点在设置时间内的实际微服务状态参数,微服务节点上部署有微服务,实际微服务状态参数用于表示微服务在目标时刻异常或正常;
在本申请实施例中,训练参数包括微服务运维参数以及实际微服务状态参数。微服务运维参数与图3所示的微服务状态信息展示的方法的各个实施例中的微服务运维参数类似,具体此处不再赘述。目标时刻为设置时间后的任意时刻。
而实际微服务状态参数为表示微服务在设置时间内异常或正常的参数,可以是1表示异常以及0表示正常。该实际微服务状态参数已由其他方式计算完成,即实际微服务状态参数已知,例如通过人工方式标注某段时间内的微服务状态为异常,则该段时间对应的实际微服务状态参数都为1,其他标书为正常的时间段对应的实际微服务状态参数为0。
可以理解的是,本申请实施例训练时使用的微服务和节点可以与利用训练完的神经网络模型进行微服务状态信息展示时使用的微服务和节点相同,因而可以更加准确地进行微服务的状态判断。在实际应用中,也可以不相同,以解决某些无法完成训练的情况。
702、通过待训练神经网络模型获取训练参数所对应的预测结果;
在本申请实施例中,待训练神经网络模型与使用的神经网络模型的向前算法类似,即本申请实施例步骤702与前述图3所示的微服务状态信息展示的方法的步骤302类似,此处不再赘述。
需要说明的是,预测结果实际上为神经网络计算得到的微服务状态参数,该预测结果亦可以用1表示异常,0表示正常。
703根据预测结果以及实际微服务状态参数,采用损失函数对待训练神经网络模型进行训练,直至损失函数达到收敛状态或训练次数达到预设值。
在本申请实施例中,损失函数描述预测结果以及实际微服务状态参数的相似程度,可以是交叉熵(cross entropy),均方误差(mean-square error,MSE),或者是其他损失函数,具体此处不做限定。
在本申请实施例中,损失函数达到收敛状态可以是该损失函数小于某阈值,或者该损失函数大小变化不大,在实际应用中,还可以有其他收敛方式,具体此处不做限定。
在本申请实施例中,训练的终止条件还可以是训练次数达到预设值,每对待训练神经网络模型进行一次训练,则训练次数加一,当训练次数达到预设值则训练完成。这种情况一般用于损失函数无法收敛的时候。
可以理解的是,训练后的待训练神经网络模型应用于基于图3所示的微服务状态信息展示的方法的各个实施例。
在本申请实施例中,还可以采用自适应性学习率Adam算法进行训练优化。
可选地,在上述图7对应的各个实施例的基础上,本申请实施例还提供神经网络模型训练的方法的一个可选实施例,损失函数为待训练神经网络模型的预测结果与实际微服务状态参数之间的均方误差。
在本申请实施例中,损失函数具体为均方误差(mean-square error,MSE):
Figure GDA0003037396000000111
其中,MSE为均方误差,y为实际微服务状态参数,
Figure GDA0003037396000000112
为预测结果值,m为每次进行一个epoch训练时
Figure GDA0003037396000000113
的个数。均方误差用于描述神经网络模型的预测能力,当均方误差达到预设阈值时,可以认为收敛。
可选地,在上述图7对应的各个实施例的基础上,本申请实施例还提供神经网络模型训练的方法的一个可选实施例,通过待训练神经网络模型获取训练参数所对应的预测结果包括:获取批处理参数,批处理参数包括批大小和迭代参数;根据批处理参数和待训练神经网络模型获取训练参数所对应的预测结果。
在本申请实施例中,可以采用批处理的方式进行训练优化,即每次训练采用其中的一小批训练参数进行训练。批大小(Batch size)为每次训练采用训练参数的批数目,一般以一段时间内的训练参数为一批,例如一分钟内的训练参数为一批训练参数,一批训练参数中可以包括多个训练参数。例如,设置Batch size为32,则每次训练取其中32批训练参数进行训练,训练完后则进行下一个32批训练参数的训练。
迭代参数(epoch)为每个训练参数参与训练的次数。训练时,可以将训练参数一批一批地进行训练,当所有训练参数都训练了一遍时,表明对该待训练神经网络模型进行了一次完整的训练,迭代次数加一,当迭代次数达到epoch时,可以认为训练已经完成。
图8为本申请实施例中通过训练参数对待训练神经网络模型进行训练的示意图。在本申请实施例中,可以设定Batch size为32,则一次输入了32批训练参数进行训练,每批训练参数包括了232个微服务运维参数,且时间步长(time step)是60,则每次输入的参数为Input=Batch size*time step*metrics=32*60*232,其中,metrics表示微服务运维参数的数目。图8中每个输入的框里面均有232个微服务运维参数,例如第一细胞第1批输入中包括232个微服务运维参数。
在本申请实施例中,神经网络模型为长短期记忆网络模型。将微服务运维参数输入神经网络模型后,每批训练参数经过长短期记忆网络模型中记忆细胞内50个单元的运算,每个单元输出一个预测结果以及一个单元状态,例如第一细胞第1批输出有50个预测结果,当32批训练参数训练完成后,每个记忆细胞输出预测结果为Short Term Memory=Batch size*number of units=32*50,每个记忆细胞输出单元状态集合为Long TermMemory=Batch size*number of units=32*50。在长短期记忆网络模型中,时间步长参数为60,因此长短期记忆网络模型的输出为Output=Batch size*time step*number ofunits=32*60*50。
经过神经网络模型的计算后的输出可以用于判断微服务状态为异常或正常。上述的32*60*50个参数可以用于判断32个时间序列的微服务状态。一般每一批训练参数对应一段时间,经过神经网络模型的计算后的输出对应于目标时刻,目标时刻为设置时间后的任意时刻,由人工预先设定,训练时的目标时刻与应用模型时的目标时刻相同,例如训练时设定了目标时刻为60分钟后的第一分钟的微服务状态,则训练好的神经网络模型预测的是60分钟后的第一分钟的微服务状态,输入一批训练参数,在本申请实施例中,经过神经网络模型的计算后可以输出time step*number of units=60*50,可以根据这些输出的预测结果判断目标时刻的微服务状态为异常或正常,可以是采用平均值的方式,还可以采用判断为异常的参数是否多于判断为正常的参数来进行综合判断,具体此处不做限定。
在实际应用中,神经网络模型的输出还可以用于其他判断方式,例如判断在60分钟后的微服务状态,具体此处不做限定。
基于上述图3对应的各个实施例以及图7对应的各个实施例,本申请实施例提供包括模型训练以及微服务状态信息展示的应用例。
首先,在预发布环境下,每个1分钟从部署有微服务的预设节点中获取节点以及微服务的运维数据,共获取了12900分钟的运维数据。
然后,初始化长短期记忆网络模型,设定长短期记忆网络模型的参数为时间步长为60,记忆细胞中单元数为50,长短期记忆网络模型的层数为4;
通过12900分钟的运维数据对长短期记忆网络模型进行训练,具体以批大小Batchsize=32进行训练,迭代参数(epochs)为100,即进行100个epochs的训练,以均方误差(mean-square error,MSE)度量微服务布署预测模型的预测能力,训练过程为:
Epoch 86/100
12900/12900[==============================]-177s 14ms/step–loss:0.0023
Epoch 87/100
12900/12900[==============================]-177s 14ms/step–loss:0.0022
Epoch 88/100
12900/12900[==============================]-177s 14ms/step–loss:0.0023
Epoch 89/100
12900/12900[==============================]-177s 14ms/step–loss:0.0023
Epoch 90/100
12900/12900[==============================]-177s 14ms/step–loss:0.0022
Epoch 91/100
12900/12900[==============================]-178s 14ms/step–loss:0.0022
Epoch 92/100
12900/12900[==============================]-176s 14ms/step–loss:0.0022
Epoch 93/100
12900/12900[==============================]-178s 14ms/step–loss:0.0022
Epoch 94/100
12900/12900[==============================]-177s 14ms/step–loss:0.0023
Epoch 95/100
当达到100个epochs的训练后,完成长短期记忆网络模型的训练。
模型训练完后,进行微服务状态信息检测与展示,具体包括:
在预发布环境下,每隔1分钟从部署有微服务的预设节点中获取节点以及微服务的运维数据,共获取了9912分钟的运维数据,每分钟有232个微服务运维参数,运维数据的类型包括如表1所示的类型。
将9912分钟的运维数据输入训练好的长短期记忆网络模型,获取到微服务状态参数,微服务状态参数中1表示微服务异常,0表示微服务正常。实现过程为:
In[407]:X_test.shape
Out[407]:(9912,60,232)
In[408]:y_test.shape
Out[408]:(9912,)
根据微服务状态参数确定微服务的状态信息,即微服务状态在各个时间段的状态为正常或异常。
以图表方式展示该微服务的状态信息。图9为本申请实施例中应用例的微服务状态信息展示图,可以看出,在近2000分钟前微服务状态参数为1,说明微服务的状态信息为在近2000分钟前微服务均处于异常。因此可以直观地看到微服务状态在各个时间段的状态。
为说明本申请实施例能够准确预测微服务状态,通过人工观察得到微服务在各个时间段的状态,实际结果如图10所示,图10为本申请实施例中用于对照的实际的微服务状态信息展示图。从图10可以看出,在近2000分钟前实际微服务状态参数为1,说明微服务的状态信息为在近2000分钟前实际上微服务均处于异常。
将图9与图10合并起来比较,可以得出图11,图11为本申请实施例中预测微服务状态与实际微服务状态的对比图,可以看出,预测微服务状态与实际微服务状态的数值重合,说明本申请实施例提供的方法能够准确地预测微服务状态。
下面将对本申请实施例提供的微服务状态展示的装置进行详细的描述,请参阅图12,图12为本申请实施例提供的微服务状态展示的装置的示意图,本申请实施例提供的微服务状态展示的装置1200包括:
获取单元1201,用于获取微服务参数,微服务参数为微服务节点在设置时间内的微服务运维参数,微服务节点部署有微服务;
处理单元1202,用于通过神经网络模型获取微服务参数所对应的微服务状态参数,微服务状态参数用于表示微服务在目标时刻异常或正常,目标时刻为设置时间后的任意时刻;
处理单元1202,还用于根据微服务状态参数确定微服务的状态信息;
展示单元1203,用于展示微服务的状态信息。
可选地,在上述图12对应的各个实施例的基础上,本申请实施例还提供微服务状态展示的装置的一个可选实施例,微服务运维参数包括微服务与数据库的连接参数,微服务的更改参数,微服务节点的内存参数,CPU参数,线程参数以及虚拟内存参数的至少一种参数。
可选地,在上述图12对应的各个实施例的基础上,本申请实施例还提供微服务状态展示的装置的一个可选实施例,获取单元1201还用于确定设置时间内的设置时间间隔;根据设置时间间隔获取设置时间间隔所对应的微服务运维参数。
可选地,在上述图12对应的各个实施例的基础上,本申请实施例还提供微服务状态展示的装置的一个可选实施例,处理单元1202还用于对微服务参数进行归一化处理,得到归一化微服务参数;通过神经网络模型获取归一化微服务参数所对应的微服务状态参数。
下面将对本申请实施例提供的神经网络模型训练的装置进行详细的描述,请参阅图13,图13为本申请实施例提供的神经网络模型训练的装置的示意图,本申请实施例提供的神经网络模型训练的装置1300包括:
获取单元1301,用于获取训练参数,训练参数包括微服务节点在设置时间内的微服务运维参数以及微服务节点在设置时间内的实际微服务状态参数,微服务节点上部署有微服务,实际微服务状态参数用于表示微服务在目标时刻异常或正常,目标时刻为设置时间后的任意时刻;
训练单元1302,用于通过待训练神经网络模型获取训练参数所对应的预测结果;
训练单元1302,还用于根据预测结果以及实际微服务状态参数,采用损失函数对待训练神经网络模型进行训练,直至损失函数达到收敛状态或训练次数达到预设值,训练后的待训练神经网络模型应用于上述图3对应的各个实施例的微服务状态信息展示的方法。
可选地,在上述图13对应的各个实施例的基础上,本申请实施例还提供神经网络模型训练的装置的一个可选实施例,损失函数为待训练神经网络模型的预测结果与实际微服务状态参数之间的均方误差。
可选地,在上述图13对应的各个实施例的基础上,本申请实施例还提供神经网络模型训练的装置的一个可选实施例,训练单元1302还用于获取批处理参数,批处理参数包括批大小和迭代参数;训练单元还用于根据批处理参数和待训练神经网络模型获取训练参数所对应的预测结果。
本申请实施例还提供了另一种图像显示控制装置,如图14所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图14示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图14,手机包括:射频(radio frequency,RF)电路1410、存储器1420、输入单元1430、显示单元1440、传感器1450、音频电路1460、无线保真(wireless fidelity,WiFi)模块1470、处理器1480、以及电源1490等部件。本领域技术人员可以理解,图14中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对手机的各个构成部件进行具体的介绍:
RF电路1410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1480处理;另外,将设计上行的数据发送给基站。通常,RF电路1410包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路1410还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器1420可用于存储软件程序以及模块,处理器1480通过运行存储在存储器1420的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1430可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1430可包括触控面板1431以及其他输入设备1432。触控面板1431,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1431上或在触控面板1431附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1431可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1480,并能接收处理器1480发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1431。除了触控面板1431,输入单元1430还可以包括其他输入设备1432。具体地,其他输入设备1432可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1440可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1440可包括显示面板1441,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板1441。进一步的,触控面板1431可覆盖显示面板1441,当触控面板1431检测到在其上或附近的触摸操作后,传送给处理器1480以确定触摸事件的类型,随后处理器1480根据触摸事件的类型在显示面板1441上提供相应的视觉输出。虽然在图14中,触控面板1431与显示面板1441是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1431与显示面板1441集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1450,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1441的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1441和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1460、扬声器1461,传声器1462可提供用户与手机之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出;另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频数据,再将音频数据输出处理器1480处理后,经RF电路1410以发送给比如另一手机,或者将音频数据输出至存储器1420以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图14示出了WiFi模块1470,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1480是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1420内的软件程序和/或模块,以及调用存储在存储器1420内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1480可包括一个或多个处理单元;可选的,处理器1480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1480中。
手机还包括给各个部件供电的电源1490(比如电池),可选的,电源可以通过电源管理系统与处理器1480逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1480还具有以下功能:
获取微服务参数,微服务参数为微服务节点在设置时间内的微服务运维参数,微服务节点部署有微服务;
通过神经网络模型获取微服务参数所对应的微服务状态参数,微服务状态参数用于表示微服务在目标时刻异常或正常,目标时刻为设置时间后的任意时刻;
根据微服务状态参数确定微服务的状态信息;
展示微服务的状态信息。
展示微服务的状态信息可以通过显示单元1440进行展示。
微服务运维参数包括微服务与数据库的连接参数,微服务的更改参数,微服务节点的内存参数,CPU参数,线程参数以及虚拟内存参数的至少一种参数。
在本申请实施例中,该终端所包括的处理器1480还具有以下功能:
确定设置时间内的设置时间间隔;
根据设置时间间隔获取设置时间间隔所对应的微服务运维参数。
在本申请实施例中,该终端所包括的处理器1480还具有以下功能:
对微服务参数进行归一化处理,得到归一化微服务参数;
通过神经网络模型获取归一化微服务参数所对应的微服务状态参数。
图15是本申请实施例提供的一种服务器结构示意图,该服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1522(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。
服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,和/或,一个或一个以上操作系统1541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图15所示的服务器结构。
在本申请实施例中,CPU1522具体用于:
获取训练参数,训练参数包括微服务节点在设置时间内的微服务运维参数以及微服务节点在设置时间内的实际微服务状态参数,微服务节点上部署有微服务,实际微服务状态参数用于表示微服务在目标时刻异常或正常,目标时刻为设置时间后的任意时刻;
通过待训练神经网络模型获取训练参数所对应的预测结果;
根据预测结果以及实际微服务状态参数,采用损失函数对待训练神经网络模型进行训练,直至损失函数达到收敛状态或训练次数达到预设值,训练后的待训练神经网络模型应用于微服务状态信息展示。
损失函数为待训练神经网络模型的预测结果与实际微服务状态参数之间的均方误差。
在本申请实施例中,CPU1522还用于:
获取批处理参数,批处理参数包括批大小和迭代参数;
根据批处理参数和待训练神经网络模型获取训练参数所对应的预测结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种微服务状态信息展示的方法,其特征在于,包括:
获取微服务参数,所述微服务参数为微服务节点在设置时间内的微服务运维参数,所述微服务节点部署有微服务;
通过训练好的神经网络模型获取所述微服务参数所对应的微服务状态参数,所述微服务状态参数用于表示所述微服务在目标时刻异常或正常,所述目标时刻为所述设置时间后的任意时刻;
根据所述微服务状态参数确定所述微服务的状态信息;
展示所述微服务的状态信息。
2.根据权利要求1所述的方法,其特征在于,所述微服务运维参数包括所述微服务与数据库的连接参数,所述微服务的更改参数,所述微服务节点的内存参数,CPU参数,线程参数以及虚拟内存参数的至少一种参数。
3.根据权利要求1所述的方法,其特征在于,所述获取微服务参数包括:
确定所述设置时间内的设置时间间隔;
根据设置时间间隔获取所述设置时间间隔所对应的所述微服务运维参数。
4.根据权利要求1所述的方法,其特征在于,所述获取微服务参数之后,所述方法还包括:
对所述微服务参数进行归一化处理,得到归一化微服务参数;
所述通过训练好的神经网络模型获取所述微服务参数所对应的微服务状态参数,包括:
通过所述神经网络模型获取所述归一化微服务参数所对应的微服务状态参数。
5.一种神经网络模型训练的方法,其特征在于,包括:
获取训练参数,所述训练参数包括微服务节点在设置时间内的微服务运维参数以及所述微服务节点在所述设置时间内的实际微服务状态参数,所述微服务节点上部署有微服务,所述实际微服务状态参数用于表示所述微服务在目标时刻异常或正常,所述目标时刻为所述设置时间后的任意时刻;
通过待训练神经网络模型获取所述训练参数所对应的预测结果;
根据所述预测结果以及所述实际微服务状态参数,采用损失函数对所述待训练神经网络模型进行训练,直至所述损失函数达到收敛状态或训练次数达到预设值,训练后的所述待训练神经网络模型应用于权利要求1至4任一项所述的微服务状态信息展示的方法。
6.根据权利要求5所述的方法,其特征在于,
所述损失函数为所述待训练神经网络模型的预测结果与所述实际微服务状态参数之间的均方误差。
7.根据权利要求5所述的方法,其特征在于,所述通过待训练神经网络模型获取所述训练参数所对应的预测结果包括:
获取批处理参数,所述批处理参数包括批大小和迭代参数;
根据所述批处理参数和所述待训练神经网络模型获取所述训练参数所对应的预测结果。
8.一种微服务状态展示的装置,其特征在于,包括:
获取单元,用于获取微服务参数,所述微服务参数为微服务节点在设置时间内的微服务运维参数,所述微服务节点部署有微服务;
处理单元,用于通过训练好的神经网络模型获取所述微服务参数所对应的微服务状态参数,所述微服务状态参数用于表示所述微服务在目标时刻异常或正常,所述目标时刻为所述设置时间后的任意时刻;
所述处理单元,还用于根据所述微服务状态参数确定所述微服务的状态信息;
展示单元,用于展示所述微服务的状态信息。
9.一种神经网络模型训练的装置,其特征在于,包括:
获取单元,用于获取训练参数,所述训练参数包括微服务节点在设置时间内的微服务运维参数以及所述微服务节点在所述设置时间内的实际微服务状态参数,所述微服务节点上部署有微服务,所述实际微服务状态参数用于表示所述微服务在目标时刻异常或正常,所述目标时刻为所述设置时间后的任意时刻;
训练单元,用于通过待训练神经网络模型获取所述训练参数所对应的预测结果;
训练单元,还用于根据所述预测结果以及所述实际微服务状态参数,采用损失函数对所述待训练神经网络模型进行训练,直至所述损失函数达到收敛状态,训练后的所述待训练神经网络模型应用于权利要求1至4任一项所述的微服务状态信息展示的方法。
10.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的方法。
CN201910652769.4A 2019-07-18 2019-07-18 微服务状态信息展示的方法、模型训练方法以及相关装置 Active CN110362494B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910652769.4A CN110362494B (zh) 2019-07-18 2019-07-18 微服务状态信息展示的方法、模型训练方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910652769.4A CN110362494B (zh) 2019-07-18 2019-07-18 微服务状态信息展示的方法、模型训练方法以及相关装置

Publications (2)

Publication Number Publication Date
CN110362494A CN110362494A (zh) 2019-10-22
CN110362494B true CN110362494B (zh) 2021-06-15

Family

ID=68220353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910652769.4A Active CN110362494B (zh) 2019-07-18 2019-07-18 微服务状态信息展示的方法、模型训练方法以及相关装置

Country Status (1)

Country Link
CN (1) CN110362494B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11870858B2 (en) 2022-02-01 2024-01-09 International Business Machines Corporation Intelligent, fast-forwarded health checks within service mesh

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825589B (zh) * 2019-11-07 2024-01-05 字节跳动有限公司 用于微服务系统的异常检测方法及其装置和电子设备
CN112817785A (zh) * 2019-11-15 2021-05-18 亚信科技(中国)有限公司 一种微服务系统的异常检测方法及装置
CN110889450B (zh) * 2019-11-27 2023-08-11 腾讯科技(深圳)有限公司 超参数调优、模型构建方法和装置
CN111124671B (zh) * 2019-12-10 2023-05-16 广州小鹏汽车科技有限公司 批推理动态等待方法、服务器和计算机可读存储介质
CN112256537B (zh) * 2020-11-12 2024-03-29 腾讯科技(深圳)有限公司 模型运行状态的展示方法、装置、计算机设备和存储介质
US20220172037A1 (en) * 2020-11-30 2022-06-02 International Business Machines Corporation Proactive anomaly detection
CN112506657B (zh) * 2020-12-09 2022-04-08 上海交通大学 基于强化学习的面向微服务的资源管理系统
CN113220582A (zh) * 2021-05-25 2021-08-06 蔚来汽车科技(安徽)有限公司 微服务测试方法和系统、存储介质
CN113190417A (zh) * 2021-06-01 2021-07-30 京东科技控股股份有限公司 微服务状态检测方法、模型的训练方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832578A (zh) * 2017-11-07 2018-03-23 四川大学 基于态势变化模型的数据处理方法及装置
CN108093046A (zh) * 2017-12-18 2018-05-29 江苏润和软件股份有限公司 一种基于前馈控制的云应用容器资源调度方法
WO2019016106A1 (fr) * 2017-07-18 2019-01-24 Worldline Systeme d'apprentissage machine pour diverses applications informatiques
CN109474685A (zh) * 2018-11-16 2019-03-15 中国银行股份有限公司 一种基于微服务架构下的服务监控方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818970B (zh) * 2019-03-07 2021-04-30 腾讯科技(深圳)有限公司 一种数据处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019016106A1 (fr) * 2017-07-18 2019-01-24 Worldline Systeme d'apprentissage machine pour diverses applications informatiques
CN107832578A (zh) * 2017-11-07 2018-03-23 四川大学 基于态势变化模型的数据处理方法及装置
CN108093046A (zh) * 2017-12-18 2018-05-29 江苏润和软件股份有限公司 一种基于前馈控制的云应用容器资源调度方法
CN109474685A (zh) * 2018-11-16 2019-03-15 中国银行股份有限公司 一种基于微服务架构下的服务监控方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Anomaly Detection in Microservice Infrastructures;JONATHAN OHLSSON;《Digitala Vetenskapliga Arkivet》;20181231;全文 *
一种基于神经网络的微服务模型;刘先莉等;《西南科技大学学报》;20190331;第34卷(第1期);第86-91页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11870858B2 (en) 2022-02-01 2024-01-09 International Business Machines Corporation Intelligent, fast-forwarded health checks within service mesh

Also Published As

Publication number Publication date
CN110362494A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN110362494B (zh) 微服务状态信息展示的方法、模型训练方法以及相关装置
CN110598802B (zh) 一种内存检测模型训练的方法、内存检测的方法及装置
US11494595B2 (en) Method , apparatus, and storage medium for annotating image
CN108304758B (zh) 人脸特征点跟踪方法及装置
US10673707B2 (en) Systems and methods for managing lifecycle and reducing power consumption by learning an IoT device
CN110163367B (zh) 一种终端部署方法和装置
CN111813532B (zh) 一种基于多任务机器学习模型的图像管理方法及装置
CN108665890A (zh) 操作语音识别服务的方法、电子设备和支持该设备的系统
CN109670174B (zh) 一种事件识别模型的训练方法和装置
WO2021089008A1 (zh) 一种分子间的结合活性预测方法及装置
CN110634474B (zh) 一种基于人工智能的语音识别方法和装置
CN110704661A (zh) 一种图像分类方法和装置
CN110069715A (zh) 一种信息推荐模型训练的方法、信息推荐的方法及装置
WO2020108457A1 (zh) 目标对象的控制方法、装置、设备及存储介质
CN110399720A (zh) 一种文件检测的方法以及相关装置
EP3671441A1 (en) Application management method and apparatus, storage medium, and electronic device
CN108764176A (zh) 一种动作序列识别方法、系统及设备和存储介质
CN105468161A (zh) 指令执行方法和装置
CN111598169B (zh) 一种模型训练方法、游戏测试方法、模拟操作方法及装置
CN109886408A (zh) 一种深度学习方法及装置
CN112907255A (zh) 一种用户分析方法和相关装置
CN110448909B (zh) 一种应用中目标角色的结果输出方法和装置以及介质
CA3097036A1 (en) Selecting a neural network architecture for a supervised machine learning problem
CN113822435B (zh) 一种用户转化率的预测方法及相关设备
CN110738318B (zh) 网络结构运行时间评估及评估模型生成方法、系统和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant