[发明专利]获取微服务健康状态指标的方法和微服务异常诊断方法有效
申请号: | 202110740846.9 | 申请日: | 2021-07-01 |
公开(公告)号: | CN113467421B | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 周朋朋;王阳;李振宇;谢高岗 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G05B23/02 | 分类号: | G05B23/02 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 获取 微服 健康 状态 指标 方法 异常 诊断 | ||
本发明提供获取微服务健康状态指标的方法和微服务异常诊断方法,包括:获取微服务的健康状态指标;获得基于微服务所处物理机的硬件状态数据;基于所述微服务的健康状态指标以及微服务所处物理机的硬件状态数据利用BP神经网络对微服务的异常进行判断,其中所述BP神经网络利用微服务的健康状态指标以及微服务所处物理机的硬件状态数据的样本数据训练。本发明能够为复杂的微服务模块提供高速、高准确性的异常诊断。
技术领域
本发明涉及微服务领域,具体涉及获取微服务健康状态指标的方法和微服务异常诊断方法。
背景技术
计算机技术的飞速发展带来更强的处理能力、更多的存储空间以及更快的网络环境。这使得应用可以为更多的人群服务,面临更大的负载压力。随着应用内部逻辑复杂性的不断提升,其开发和运维面临着越来越多的挑战。为了降低开发和运维的成本,越来越多的应用开始以微服务框架来实现业务的开发与部署。微服务将应用的功能拆分为若干个细小的功能模块。各个功能模块之间通过网络进行交互。然而,随着微服务模块的细分,微服务的稳定性也面临较大的挑战。单个应用可能由几十个或上百个微服务模块构成,各个微服务模块异构,这使得微服务经常会面临各种异常。
为了提升微服务的可用性,降低微服务异常恢复的开销,现有的工作针对微服务异常诊断进行了深入的研究。现有的部分工作通过对微服务模块的增加、删除,自动化的注入某些特定的异常,自定义测试场景等方法来验证微服务的稳定性与鲁棒性,针对可能存在异常的微服务模块提出单点异常。上述的方法大多只实现了微服务性能的测试以及单点的异常诊断,未能对微服务异常的根因做出分析。还有部分工作通过构建微服务的调用关系或依赖关系的方式来实现微服务异常的根因定位。但是,这些方法的微服务关系图的构建缺乏普适性。它们要么需要数据中有特定的信息支持,要么关系图的构建需要大量的人工参与,因而存在关系图构建效率低、应用场景受限的缺点。
微服务模块之间通过网络交互完成复杂的业务。这些研究工作有些针对微服务本身,将各个微服务模块看做是独立的点进行单独的分析与研究。另外一些充分考虑微服务之间的交互特征,试图构建微服务的调用关系来实现微服务异常的根因定位。按照其是否使用关联诊断,可以将上述研究工作划分为两大类:单体诊断类及根因定位类。
单体诊断类主要关注各个微服务模块的稳定性、模块性能以及是否具有行为异常。这些方法大多使用系统的硬件数据或日志数据作为数据输入指标。Düllmann(2017)[1]研究了微服务在云端的性能变化情况。它将云端部署的微服务模块做定时的增加和删除来观察这种架构的变化对微服务模块整体性能的影响。相同的作者,Düllmann and vanHoorn(2017)[2]提出了一种定义微服务拓扑的框架,通过异常的注入来验证微服务模块的鲁棒性。与之类似,Gremlin[3]提出了一种更加灵活的微服务异常验证方法。它可以让用户自定义一些测试场景,然后Gremlin将其翻译到相应的网络环境中,实现微服务的测试和诊断。然而,这些研究方法大多针对微服务模块本身、或微服务网络进行诊断,而无法对异常的根因做出明确具体地分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110740846.9/2.html,转载请声明来源钻瓜专利网。