CN109067619B - 一种微服务治理的弹性容量调度方法及处理终端 - Google Patents

一种微服务治理的弹性容量调度方法及处理终端 Download PDF

Info

Publication number
CN109067619B
CN109067619B CN201811117391.XA CN201811117391A CN109067619B CN 109067619 B CN109067619 B CN 109067619B CN 201811117391 A CN201811117391 A CN 201811117391A CN 109067619 B CN109067619 B CN 109067619B
Authority
CN
China
Prior art keywords
micro
sample
service
neural network
weight value
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.)
Expired - Fee Related
Application number
CN201811117391.XA
Other languages
English (en)
Other versions
CN109067619A (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.)
Hainan Civil Aviation Cares Co ltd
Original Assignee
Hainan Civil Aviation Cares 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 Hainan Civil Aviation Cares Co ltd filed Critical Hainan Civil Aviation Cares Co ltd
Priority to CN201811117391.XA priority Critical patent/CN109067619B/zh
Publication of CN109067619A publication Critical patent/CN109067619A/zh
Application granted granted Critical
Publication of CN109067619B publication Critical patent/CN109067619B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种微服务治理的弹性容量调度方法及处理终端,所述方法包括如下步骤:步骤1:设置微服务治理系统中的资源池;步骤2:预设微服务治理系统的基础数据;步骤3:对微服务系统和微服务系统的实例设置相应的权重值;步骤4:对设置好相应权重的微服务系统接入至微服务治理系统;步骤5:数据采集;步骤6:数据清洗;步骤7:样本分离;步骤8:对样本进行计算,得到三类线性样本集;步骤9:对微服务治理系统的神经网络进行训练,得到训练后的神经网络;步骤10:使用训练后的神经网络对微服务系统的系统权重值进行计算,根据计算出的系统权重值判断执行调度动作。本发明减少人工干预和资源池资源的滥用,降低故障率,提高系统效率。

Description

一种微服务治理的弹性容量调度方法及处理终端
技术领域
本发明涉及容量调度处理技术领域,具体是一种微服务治理的弹性容量调度方法及处理终端。
背景技术
在系统运维工作中,随着设备的迭代更新,工作流程也越来越复杂,而目前对系统运维通常依赖于人工完成,而人工运维的效率、可靠度都比较低,且因为人工运维管理而导致系统故障多发,导致系统运维的所有故障原因中,运维管理方面的原因所占比重非常之高,远远超过技术或产品因素所占的比重,对微服务治理也同样存在这一的问题。可见基于人工治理的微服务治理,也难以达到高效维持微服务系统的运行。
对微服务治理的一种有效途径是通过人工神经网络或人工智能,采用智能的算法应用于微服务治理中,让传统人工决策驱动的运维过程转变成系统自主决策驱动的过程,能够提高系统的预判能力、稳定性和降低IT成本。
发明内容
针对现有技术的不足,本发明的目的之一提供一种微服务治理的弹性容量调度方法,其能够解决需依赖人工的微服务治理而导致效率低下的问题;
本发明的目的之二提供一种处理终端,其能够解决需依赖人工的微服务治理而导致效率低下的问题。
实现本发明的目的之一的技术方案为:一种微服务治理的弹性容量调度方法,其特征在于:包括如下步骤:
步骤1:设置微服务治理系统中的资源池,包括对每个服务器设置相应的权重值;
步骤2:预设微服务治理系统的基础数据,基础数据包括:
采集周期;
日志信息;
内存信息;
堆栈信息;
线程信息;
连接数信息;
包括心跳时间戳的心跳信息;
建立微服务系统权重值与调度动作的映射关系,不同的系统权重值表示执行不同的调度动作,权重0表示容量适中,不需要对容量进行调度,权重-1表示需要进行缩容,权重1表示需要进行扩容;
步骤3:对微服务系统和微服务系统的实例设置相应的初始的权重值;
步骤4:对设置好相应权重的微服务系统接入至微服务治理系统;
步骤5:数据采集,微服务治理系统以步骤2中设置的采集周期采集微服务系统中的日志信息、内存信息、堆栈信息、线程信息、连接数信息和包括心跳时间戳的心跳信息;
步骤6:数据清洗,将步骤5采集到的数据按微服务系统的类别进行整理,得到各个微服务系统类别下的分类数据,然后将分类数据按照微服务系统的实例进行分类,得到各个实例下的类别数据,最后对类别数据进行统计和过滤数据,统计和过滤数据包括:
记录时间戳;
统计采集周期内的心跳丢包率;
统计异常数;
内存使用率;
堆栈使用大小;
线程池使用率;
连接数;
经过步骤6处理后的数据进行转换,并生成样本数据;
步骤7:样本分离,对步骤6获得的样本数据进行分类,得到样本A、样本B和样本C;
步骤8:采用公式①对步骤7的样本进行计算,分别得到样本A、样本B和样本C对应的三类线性样本集:
f(x)=w1*x1+w2*x2+…+wm*xm+b------①
式中,xi(i=1,2,3,...,m)表示实例x在i属性的取值,属性包括心跳丢包率、连接数、异常数、内存使用率、线程池使用率和堆栈使用大小,wi(i=1,2,3,...,m)表示对应xi的权重值,b为常数;
步骤9:对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络;
步骤10:使用训练后的神经网络对微服务系统的系统权重值进行计算,根据计算出的系统权重值来判断执行相应操作,所述相应操作包括扩容、缩容和维持中的一种;当训练后的神经网络对网络微服务系统计算出的系统权重值为1而需要微服务系统进行扩容时,还包括计算资源池的使用率:
若资源池使用率达到100%,则需要执行释放另外一个微服务系统下的实例权重值最小对应的服务器资源,如果实例权重值最小对应的服务器资源全部被使用而不能释放服务器资源,则释放第二小实例权重值对应的服务器资源,依次类推,直至释放服务器资源成功或者全微服务系统均未有服务器资源可释放而停止扩容;
当训练后的神经网络对网络微服务系统计算出的系统权重值为0,则维持;
当训练后的神经网络对网络微服务系统计算出的系统权重值为-1,则执行缩容操作。
进一步地,所述样本A的筛选指标包括:心跳丢包率为70%以上、连接数低于设定值的10%、异常数占比高于70%和内存使用率低于10%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据判断为需要容量收缩的样本A;
样本B的筛选指标包括:心跳丢包率低于20%、连接数高于设定值的70%、异常数占比低于20%和内存使用率高于80%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据为判断为需要容量收缩的样本B;
除去样本A和样本B的其余样本数据作为样本C,样本C不执行任何收缩和扩容操作。
进一步地,所述对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络,具体由如下子步骤实现:
步骤9-1:将经过步骤8处理后的三类线性样本集输入至微服务治理系统中的神经网络;
步骤9-2:神经网络依据线性样本集中的微服务系统名称,并从微服务系统中的元数据提取当前微服务治理系统上一次的运算集,并将运算集当作输入参数一同运算,其中,元数据包括微服务系统编号、微服务系统名称、本次运算过程生成的权重值、算法维护的高峰期时段、算法维护资源池资源的权重值、算法维护系统权重值和算法维护微服务权重值;
步骤9-3:神经网络对输入的线性样本集进行加权,经过神经网络运算后,当判断权重值不再下沉后,结束神经网络的运算,得到微服务治理系统的权重值,从而得到训练后的神经网络,并将神经网络运算产生的运算集迭代更新到元数据中,元数据作为下一次神经网络运算的输入。
实现本发明的目的之二的技术方案为:一种处理终端,其包括,存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行如下步骤:
步骤1:设置微服务治理系统中的资源池,包括对每个服务器设置相应的权重值;
步骤2:预设微服务治理系统的基础数据,基础数据包括:
采集周期;
日志信息;
内存信息;
堆栈信息;
线程信息;
连接数信息;
包括心跳时间戳的心跳信息;
建立微服务系统权重值与调度动作的映射关系,不同的系统权重值表示执行不同的调度动作,权重0表示容量适中,不需要对容量进行调度,权重-1表示需要进行缩容,权重1表示需要进行扩容;
步骤3:对微服务系统和微服务系统的实例设置相应的初始的权重值;
步骤4:对设置好相应权重的微服务系统接入至微服务治理系统;
步骤5:数据采集,微服务治理系统以步骤2中设置的采集周期采集微服务系统中的日志信息、内存信息、堆栈信息、线程信息、连接数信息和包括心跳时间戳的心跳信息;
步骤6:数据清洗,将步骤5采集到的数据按微服务系统的类别进行整理,得到各个微服务系统类别下的分类数据,然后将分类数据按照微服务系统的实例进行分类,得到各个实例下的类别数据,最后对类别数据进行统计和过滤数据,统计和过滤数据包括:
记录时间戳;
统计采集周期内的心跳丢包率;
统计异常数;
内存使用率;
堆栈使用大小;
线程池使用率;
连接数;
经过步骤6处理后的数据进行转换,并生成样本数据;
步骤7:样本分离,对步骤6获得的样本数据进行分类,得到样本A、样本B和样本C;
步骤8:采用公式①对步骤7的样本进行计算,分别得到样本A、样本B和样本C对应的三类线性样本集:
f(x)=w1*x1+w2*x2+…+wm*xm+b------①
式中,xi(i=1,2,3,...,m)表示实例x在i属性的取值,属性包括心跳丢包率、连接数、异常数、内存使用率、线程池使用率和堆栈使用大小,wi(i=1,2,3,...,m)表示对应xi的权重值,b为常数;
步骤9:对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络;
步骤10:使用训练后的神经网络对微服务系统的系统权重值进行计算,根据计算出的系统权重值来判断执行相应操作,所述相应操作包括扩容、缩容和维持中的一种;当训练后的神经网络对网络微服务系统计算出的系统权重值为1而需要微服务系统进行扩容时,还包括计算资源池的使用率:
若资源池使用率达到100%,则需要执行释放另外一个微服务系统下的实例权重值最小对应的服务器资源,如果实例权重值最小对应的服务器资源全部被使用而不能释放服务器资源,则释放第二小实例权重值对应的服务器资源,依次类推,直至释放服务器资源成功或者全微服务系统均未有服务器资源可释放而停止扩容;
当训练后的神经网络对网络微服务系统计算出的系统权重值为0,则维持;
当训练后的神经网络对网络微服务系统计算出的系统权重值为-1,则执行缩容操作。
进一步地,所述样本A的筛选指标包括:心跳丢包率为70%以上、连接数低于设定值的10%、异常数占比高于70%和内存使用率低于10%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据判断为需要容量收缩的样本A;
样本B的筛选指标包括:心跳丢包率低于20%、连接数高于设定值的70%、异常数占比低于20%和内存使用率高于80%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据为判断为需要容量收缩的样本B;
除去样本A和样本B的其余样本数据作为样本C,样本C不执行任何收缩和扩容操作。
进一步地,所述对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络,具体由如下子步骤实现:
步骤9-1:将经过步骤8处理后的三类线性样本集输入至微服务治理系统中的神经网络;
步骤9-2:神经网络依据线性样本集中的微服务系统名称,并从微服务系统中的元数据提取当前微服务治理系统上一次的运算集,并将运算集当作输入参数一同运算,其中,元数据包括微服务系统编号、微服务系统名称、本次运算过程生成的权重值、算法维护的高峰期时段、算法维护资源池资源的权重值、算法维护系统权重值和算法维护微服务权重值;
步骤9-3:神经网络对输入的线性样本集进行加权,经过神经网络运算后,当判断权重值不再下沉后,结束神经网络的运算,得到微服务治理系统的权重值,从而得到训练后的神经网络,并将神经网络运算产生的运算集迭代更新到元数据中,元数据作为下一次神经网络运算的输入。
本发明的有益效果为:本发明通过采集微服务系统的基础数据和设定的权重值进行计算,使得系统拥有能够“接近”甚至“达到”专业人员的任务决策能力,再结合资源池的管控功能,最终可实现高可靠的弹性容量调度,减少人工干预、减少资源池资源的滥用,还能监控系统状态特征、降低故障率,提高系统效率。因此,本发明在企业降低IT运维成本、提高生产力方面,具有实际的应用意义。
附图说明
图1为本发明的结构示意图;
图2本发明较佳实施例的流程图;
图3本发明一种处理终端的结构示意图;
图中MSi(j)(i=1,2,3,…n,j=1,2,3,…n)表示第i个微服务系统的第j个实例,MSi(i=1,2,3,…n)表示第i个微服务系统。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
如图1和图2所示,一种微服务治理的弹性容量调度方法,包括如下步骤:
步骤1:设置微服务治理系统中的资源池,包括:设置网络段,并对每个网络段设置相应的权重值,在本实施例中,可将网络段设为192.168.9.2-192.168.9.254号段、权重为1,192.168.3.2-192.168.3.254号段、权重为2;
对机架进行编号,并对每个机架设置相应的权重值,比如编号为U1、权重为1,编号为U2、权重为2;
对服务器进行编号,并对每个服务器设置相应的权重值,如编号为SER1、权重为1,编号为SER2、权重为2;
对主机设置网络地址IP,网络地址IP取自网络段中的网络地址,并对每个主机设置相应的权重值,如主机IP为192.168.9.2、权重为1,主机IP为192.168.3.2、权重为2;
通过以上处理,获得网络段、机架、服务器和主机之间的映射关系,即可知道一个网络段中有哪些机架,一个机架上有哪些服务器,一个服务器中运行了哪些主机;
步骤2:预设微服务治理系统的基础数据,基础数据包括:
心跳数据模型:系统名称、实例ID、主机IP、主机端口、心跳时间戳;
心跳周期,例如设置为5秒、30秒、1分钟、5分钟、10分钟;
采集周期,例如设置为5分钟、10分钟、30分钟、1小时、2小时、6小时、12小时、1天、3天、7天;
日志信息模型:系统名称、实例ID、主机IP、主机端口、时间戳、日志类型、日志内容;
内存信息模型:系统名称、实例ID、主机IP、主机端口、时间戳、内存最大值、内存最小值、当前使用值;
堆栈信息模型:系统名称、实例ID、主机IP、主机端口、时间戳、堆大小、栈大小;
设置调度动作的权重,通过设置不同权重值来表示执行不同的调度动作,本实施例中,权重0表示容量适中,不需要对容量进行调度,权重-1表示需要进行缩容,权重1表示需要进行扩容;
设置系统运行高峰期,初始设定为09:00-11:00;
步骤3:对微服务系统和微服务系统的实例设置相应的初始的权重值,微服务系统是指搭载了实际使用数据的业务系统,比如用户系统、资产系统等等,微服务系统可以构成集群,实例是指微服务系统中的应用在某个服务器上的业务系统,一个微服务系统可以包括多个实例,多个微服务系统可以构成一个集群,比如将用户系统构成一个集群,该集群包括多个服务器,第一台服务器部署的用户系统是一个实例,第二台服务器部署的用户系统又是另一个实例,比如微服务系统1的权重为1,微服务系统2的权重为2,微服务系统1的实例a的权重为1,微服务系统1的实例b的权重为2,权重的大小根据实例所在的服务器的硬件性能决定,服务器的硬件性能越高,赋予的权重值越大,反之赋予的权重值越小,具体权重赋值多少根据实际情况选定,但权重的赋值在0-100之间选取;
步骤4:对设置好相应权重的微服务系统接入至微服务治理系统,微服务治理系统是指搭载了本发明算法的系统;
步骤5:数据采集,微服务治理系统以步骤2中设置的采集周期采集微服务系统中的日志信息、内存信息、堆栈信息、线程信息、连接数信息和包括心跳时间戳的心跳信息;
步骤6:数据清洗,由于步骤5采集的数据是混乱的,需要将步骤5采集到的数据按微服务系统的类别进行整理,得到各个微服务系统类别下的分类数据,比如将属于用户系统的数据都分类在对应用户系统的微服务系统中,然后将分类数据按照微服务系统的实例进行分类,即将同一实例的数据分类到对应的实例中去,得到各个实例下的类别数据;最后对类别数据进行统计和过滤数据,统计和过滤数据包括:
记录时间戳;
心跳信息:统计采集周期内的心跳丢包率;
日志信息,统计异常数,简称为系统异常数,以及运行异常类型的日志数量,简称为运行异常数,系统异常数和运行异常数统一称为异常数,即异常数包括系统异常数和运行异常数,这里所谓异常类型的日志可通过程序自行判断,比如采用Java程序,异常日志分为两类,一种是Error异常,代表了Java虚拟机本身的错误,也就是系统异常类型的日志;另一种就是Exception异常,代表程序运行时发生的各种不期望发生的事件,也就是运行异常类型的日志;
内存信息:计算内存使用率;
堆栈信息:计算堆栈使用大小;
线程信息:计算线程池使用率;
连接信息:提取连接数;
经过步骤6处理后的数据进行转换,并生成样本数据,样本数据的格式如下:
{系统:PSMS,
实例:[
实例a:{
ID:0123456789,
主机:192.168.9.2,
端口号:8080,
权重:1,
心跳信息的丢包率:70%,
日志信息:[
{系统异常数:10},{运行异常数:50}
],
内存使用率:30%,
线程池使用率:50%,
连接数20,
堆栈信息:[
{堆大小:128k},{栈大小:1Mb}
]
}
],
时间戳:2018-08-08 08:08:08.000,
系统权重:1,
高峰期:09:00-11:00
采集周期:1分钟
}
步骤7:样本分离,对步骤6获得的样本数据进行分类,本实施例分为3类:
需要弹性容量收缩的样本A,样本A的筛选指标包括:心跳丢包率为70%以上,连接数低于设定值的10%,连接数的设定值根据实际情况进行预设,比如预设连接数的设定值为100,异常数占比高于70%,异常数占比是指异常数据数量占所有数据数量的比例,内存使用率低于10%,当样本数据满足心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,即可判断该样本数据为需要弹性容量收缩的样本A;
需要弹性扩容的样本B,样本B的筛选指标包括:心跳丢包率低于20%,连接数高于设定值的70%,异常数占比低于20%,内存使用率高于80%,当样本数据满足心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,即可判断该样本数据为需要弹性容量收缩的样本B;
除去样本A和样本B的其余样本数据作为样本C,样本C不执行任何收缩和扩容操作;
步骤8:采用公式(1)对步骤7的样本进行计算,目的在于将样本A、样本B和样本C各自中的混乱数据进行分类排序,分别得到样本A、样本B和样本C对应的三类线性样本集:
f(x)=w1*x1+w2*x2+…+wm*xm+b (1)
式中,xi(i=1,2,3,...,m)表示实例x在i属性的取值,属性包括心跳丢包率、连接数、异常数、内存使用率、线程池使用率和堆栈使用大小,wi(i=1,2,3,...,m)表示对应xi的权重值,b为常数,b取值为0-10;
步骤9:对微服务治理系统的神经网络进行训练,包括如下子步骤:
步骤9-1:将经过步骤8处理后的三类线性样本集输入至微服务治理系统中的神经网络;
步骤9-2:神经网络依据线性样本集中的微服务系统名称,并从微服务系统中的元数据提取当前微服务治理系统上一次的运算集,并将运算集当作输入参数一同运算,其中,元数据包括微服务系统编号、微服务系统名称、本次运算过程生成的权重值、算法维护的高峰期时段、算法维护资源池资源的权重值、算法维护系统权重值和算法维护微服务权重值,元数据初始设为空的数据集,当神经网络第一次运算后产生的运算结果输入至元数据,即得到元数据的一个非空的数据集;
步骤9-3:神经网络对输入的线性样本集进行加权,经过神经网络运算后,当判断权重值不再下沉后,结束神经网络的运算,得到微服务治理系统的权重值,也即得到训练后的神经网络,并将神经网络运算产生的运算集迭代更新到元数据中,元数据作为下一次神经网络运算的输入;
步骤10:使用训练后的神经网络对微服务系统的系统权重值进行计算,以判断执行扩容或缩容或维持操作,当训练后的神经网络对网络微服务系统计算出的系统权重值为1,表示当前微服务系统需要进行扩容,随后计算资源池的使用率:
Figure GDA0002425479740000161
若资源池使用率达到100%,表明当前微服务系统没有服务器可以用来扩容,则需要执行释放另外一个微服务系统下的实例权重值最小对应的服务器资源,如果实例权重值最小对应的服务器资源全部被使用而不能释放服务器资源,则释放第二小实例权重值对应的服务器资源,依次类推,直至释放服务器资源成功或者全微服务系统均未有服务器资源可释放而停止扩容;比如,微服务吸引1包括实例a和实例b,实例a的实例权重值为1,实例b的实例权重值为2,微服务系统2包括实例a和实例c,当神经网络计算出的微服务系统2的权重值为1,表明需要扩容,随后计算出的资源池使用率为100%,表明微服务系统2中没有服务器资源可以扩容,此时需要释放微服务系统1的较小实例权重值的实例a的服务器资源,当实例a的服务器资源也被全部使用而不能释放时,则释放权重第二小的实例b,依次类推,直至释放服务器资源成功或者全微服务系统均未有服务器资源可释放而停止扩容;
当训练后的神经网络对网络微服务系统计算出的系统权重值为0,则维持,维持即可;
当训练后的神经网络对网络微服务系统计算出的系统权重值为-1,则执行缩容操作,所谓缩容是指将当期微服务系统下的服务器资源提供给其他需要扩容的微服务系统使用而达到减小容量的目的,具体缩容过程与扩容过程类似,这里就不赘述了。
通过以方法,可以实现微服务治理的弹性容量调度,减少了人为干预,减少了人工运维管理的工作量,提高了系统运维管理的效率。
如图3所示,本发明还涉及一种实现以上方法的实体装置的处理终端100,其包括,
存储器101,用于存储程序指令;
处理器102,用于运行所述程序指令,以执行如下步骤:
步骤1:设置微服务治理系统中的资源池,包括对每个服务器设置相应的权重值;
步骤2:预设微服务治理系统的基础数据,基础数据包括:
采集周期;
日志信息;
内存信息;
堆栈信息;
线程信息;
连接数信息;
包括心跳时间戳的心跳信息;
建立微服务系统权重值与调度动作的映射关系,不同的系统权重值表示执行不同的调度动作,权重0表示容量适中,不需要对容量进行调度,权重-1表示需要进行缩容,权重1表示需要进行扩容;
步骤3:对微服务系统和微服务系统的实例设置相应的初始的权重值;
步骤4:对设置好相应权重的微服务系统接入至微服务治理系统;
步骤5:数据采集,微服务治理系统以步骤2中设置的采集周期采集微服务系统中的日志信息、内存信息、堆栈信息、线程信息、连接数信息和包括心跳时间戳的心跳信息;
步骤6:数据清洗,将步骤5采集到的数据按微服务系统的类别进行整理,得到各个微服务系统类别下的分类数据,然后将分类数据按照微服务系统的实例进行分类,得到各个实例下的类别数据,最后对类别数据进行统计和过滤数据,统计和过滤数据包括:
记录时间戳;
统计采集周期内的心跳丢包率;
统计异常数;
内存使用率;
堆栈使用大小;
线程池使用率;
连接数;
经过步骤6处理后的数据进行转换,并生成样本数据;
步骤7:样本分离,对步骤6获得的样本数据进行分类,得到样本A、样本B和样本C;
步骤8:采用公式①对步骤7的样本进行计算,分别得到样本A、样本B和样本C对应的三类线性样本集:
f(x)=w1*x1+w2*x2+…+wm*xm+b------①
式中,xi(i=1,2,3,...,m)表示实例x在i属性的取值,属性包括心跳丢包率、连接数、异常数、内存使用率、线程池使用率和堆栈使用大小,wi(i=1,2,3,...,m)表示对应xi的权重值,b为常数;
步骤9:对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络;
步骤10:使用训练后的神经网络对微服务系统的系统权重值进行计算,根据计算出的系统权重值来判断执行相应操作,所述相应操作包括扩容、缩容和维持中的一种;当训练后的神经网络对网络微服务系统计算出的系统权重值为1而需要微服务系统进行扩容时,还包括计算资源池的使用率:
若资源池使用率达到100%,则需要执行释放另外一个微服务系统下的实例权重值最小对应的服务器资源,如果实例权重值最小对应的服务器资源全部被使用而不能释放服务器资源,则释放第二小实例权重值对应的服务器资源,依次类推,直至释放服务器资源成功或者全微服务系统均未有服务器资源可释放而停止扩容;
当训练后的神经网络对网络微服务系统计算出的系统权重值为0,则维持;
当训练后的神经网络对网络微服务系统计算出的系统权重值为-1,则执行缩容操作。
进一步地,所述样本A的筛选指标包括:心跳丢包率为70%以上、连接数低于设定值的10%、异常数占比高于70%和内存使用率低于10%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据判断为需要容量收缩的样本A;
样本B的筛选指标包括:心跳丢包率低于20%、连接数高于设定值的70%、异常数占比低于20%和内存使用率高于80%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据为判断为需要容量收缩的样本B;
除去样本A和样本B的其余样本数据作为样本C,样本C不执行任何收缩和扩容操作。
进一步地,所述对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络,具体由如下子步骤实现:
步骤9-1:将经过步骤8处理后的三类线性样本集输入至微服务治理系统中的神经网络;
步骤9-2:神经网络依据线性样本集中的微服务系统名称,并从微服务系统中的元数据提取当前微服务治理系统上一次的运算集,并将运算集当作输入参数一同运算,其中,元数据包括微服务系统编号、微服务系统名称、本次运算过程生成的权重值、算法维护的高峰期时段、算法维护资源池资源的权重值、算法维护系统权重值和算法维护微服务权重值;
步骤9-3:神经网络对输入的线性样本集进行加权,经过神经网络运算后,当判断权重值不再下沉后,结束神经网络的运算,得到微服务治理系统的权重值,从而得到训练后的神经网络,并将神经网络运算产生的运算集迭代更新到元数据中,元数据作为下一次神经网络运算的输入。
对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

Claims (6)

1.一种微服务治理的弹性容量调度方法,其特征在于:包括如下步骤:
步骤1:设置微服务治理系统中的资源池,包括对每个服务器设置相应的权重值;
步骤2:预设微服务治理系统的基础数据,基础数据包括:
采集周期;
日志信息;
内存信息;
堆栈信息;
线程信息;
连接数信息;
包括心跳时间戳的心跳信息;
建立微服务系统权重值与调度动作的映射关系,不同的系统权重值表示执行不同的调度动作,权重0表示容量适中,不需要对容量进行调度,权重-1表示需要进行缩容,权重1表示需要进行扩容;
步骤3:对微服务系统和微服务系统的实例设置相应的初始的权重值;
步骤4:对设置好相应权重的微服务系统接入至微服务治理系统;
步骤5:数据采集,微服务治理系统以步骤2中设置的采集周期采集微服务系统中的日志信息、内存信息、堆栈信息、线程信息、连接数信息和包括心跳时间戳的心跳信息;
步骤6:数据清洗,将步骤5采集到的数据按微服务系统的类别进行整理,得到各个微服务系统类别下的分类数据,然后将分类数据按照微服务系统的实例进行分类,得到各个实例下的类别数据,最后对类别数据进行统计和过滤数据,统计和过滤数据包括:
记录时间戳;
统计采集周期内的心跳丢包率;
统计异常数;
内存使用率;
堆栈使用大小;
线程池使用率;
连接数;
经过步骤6处理后的数据进行转换,并生成样本数据;
步骤7:样本分离,对步骤6获得的样本数据进行分类,得到样本A、样本B和样本C,样本A为需要容量收缩的样本,样本B为需要容量收缩的样本,除去样本A和样本B的其余样本数据作为样本C,样本C不执行任何收缩和扩容操作;
步骤8:采用公式①对步骤7的样本进行计算,分别得到样本A、样本B和样本C对应的三类线性样本集:
f(x)=w1*x1+w2*x2+…+wm*xm+b------①
式中,xi(i=1,2,3,...,m)表示实例x在i属性的取值,属性包括心跳丢包率、连接数、异常数、内存使用率、线程池使用率和堆栈使用大小,wi(i=1,2,3,...,m)表示对应xi的权重值,b为常数;
步骤9:对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络;
步骤10:使用训练后的神经网络对微服务系统的系统权重值进行计算,根据计算出的系统权重值来判断执行相应操作,所述相应操作包括扩容、缩容和维持中的一种;当训练后的神经网络对网络微服务系统计算出的系统权重值为1而需要微服务系统进行扩容时,还包括计算资源池的使用率,
若资源池使用率达到100%,则需要执行释放另外一个微服务系统下的实例权重值最小对应的服务器资源,如果实例权重值最小对应的服务器资源全部被使用而不能释放服务器资源,则释放第二小实例权重值对应的服务器资源,依次类推,直至释放服务器资源成功或者全微服务系统均未有服务器资源可释放而停止扩容;
当训练后的神经网络对网络微服务系统计算出的系统权重值为0,则维持;
当训练后的神经网络对网络微服务系统计算出的系统权重值为-1,则执行缩容操作。
2.根据权利要求1所述的微服务治理的弹性容量调度方法,其特征在于:所述样本A的筛选指标包括:心跳丢包率为70%以上、连接数低于设定值的10%、异常数占比高于70%和内存使用率低于10%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据判断为需要容量收缩的样本A;
样本B的筛选指标包括:心跳丢包率低于20%、连接数高于设定值的70%、异常数占比低于20%和内存使用率高于80%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据为判断为需要容量收缩的样本B;
除去样本A和样本B的其余样本数据作为样本C,样本C不执行任何收缩和扩容操作。
3.根据权利要求1所述的微服务治理的弹性容量调度方法,其特征在于:所述对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络,具体由如下子步骤实现:
步骤9-1:将经过步骤8处理后的三类线性样本集输入至微服务治理系统中的神经网络;
步骤9-2:神经网络依据线性样本集中的微服务系统名称,并从微服务系统中的元数据提取当前微服务治理系统上一次的运算集,并将运算集当作输入参数一同运算,其中,元数据包括微服务系统编号、微服务系统名称、本次运算过程生成的权重值、算法维护的高峰期时段、算法维护资源池资源的权重值、算法维护系统权重值和算法维护微服务权重值;
步骤9-3:神经网络对输入的线性样本集进行加权,经过神经网络运算后,当判断权重值不再下沉后,结束神经网络的运算,得到微服务治理系统的权重值,从而得到训练后的神经网络,并将神经网络运算产生的运算集迭代更新到元数据中,元数据作为下一次神经网络运算的输入。
4.一种处理终端,其特征在于:包括,
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行如下步骤:
步骤1:设置微服务治理系统中的资源池,包括对每个服务器设置相应的权重值;
步骤2:预设微服务治理系统的基础数据,基础数据包括:
采集周期;
日志信息;
内存信息;
堆栈信息;
线程信息;
连接数信息;
包括心跳时间戳的心跳信息;
建立微服务系统权重值与调度动作的映射关系,不同的系统权重值表示执行不同的调度动作,权重0表示容量适中,不需要对容量进行调度,权重-1表示需要进行缩容,权重1表示需要进行扩容;
步骤3:对微服务系统和微服务系统的实例设置相应的初始的权重值;
步骤4:对设置好相应权重的微服务系统接入至微服务治理系统;
步骤5:数据采集,微服务治理系统以步骤2中设置的采集周期采集微服务系统中的日志信息、内存信息、堆栈信息、线程信息、连接数信息和包括心跳时间戳的心跳信息;
步骤6:数据清洗,将步骤5采集到的数据按微服务系统的类别进行整理,得到各个微服务系统类别下的分类数据,然后将分类数据按照微服务系统的实例进行分类,得到各个实例下的类别数据,最后对类别数据进行统计和过滤数据,统计和过滤数据包括:
记录时间戳;
统计采集周期内的心跳丢包率;
统计异常数;
内存使用率;
堆栈使用大小;
线程池使用率;
连接数;
经过步骤6处理后的数据进行转换,并生成样本数据;
步骤7:样本分离,对步骤6获得的样本数据进行分类,得到样本A、样本B和样本C,样本A为需要容量收缩的样本,样本B为需要容量收缩的样本,除去样本A和样本B的其余样本数据作为样本C,样本C不执行任何收缩和扩容操作;
步骤8:采用公式①对步骤7的样本进行计算,分别得到样本A、样本B和样本C对应的三类线性样本集:
f(x)=w1*x1+w2*x2+…+wm*xm+b------①
式中,xi(i=1,2,3,...,m)表示实例x在i属性的取值,属性包括心跳丢包率、连接数、异常数、内存使用率、线程池使用率和堆栈使用大小,wi(i=1,2,3,...,m)表示对应xi的权重值,b为常数;
步骤9:对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络;
步骤10:使用训练后的神经网络对微服务系统的系统权重值进行计算,根据计算出的系统权重值来判断执行相应操作,所述相应操作包括扩容、缩容和维持中的一种;当训练后的神经网络对网络微服务系统计算出的系统权重值为1而需要微服务系统进行扩容时,还包括计算资源池的使用率,
若资源池使用率达到100%,则需要执行释放另外一个微服务系统下的实例权重值最小对应的服务器资源,如果实例权重值最小对应的服务器资源全部被使用而不能释放服务器资源,则释放第二小实例权重值对应的服务器资源,依次类推,直至释放服务器资源成功或者全微服务系统均未有服务器资源可释放而停止扩容;
当训练后的神经网络对网络微服务系统计算出的系统权重值为0,则维持;
当训练后的神经网络对网络微服务系统计算出的系统权重值为-1,则执行缩容操作。
5.根据权利要求4所述的处理终端,其特征在于:所述样本A的筛选指标包括:心跳丢包率为70%以上、连接数低于设定值的10%、异常数占比高于70%和内存使用率低于10%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据判断为需要容量收缩的样本A;
样本B的筛选指标包括:心跳丢包率低于20%、连接数高于设定值的70%、异常数占比低于20%和内存使用率高于80%,当样本数据满足以上心跳丢包率、连接数、异常数占比和内存使用率中的任一个指标,将该样本数据为判断为需要容量收缩的样本B;
除去样本A和样本B的其余样本数据作为样本C,样本C不执行任何收缩和扩容操作。
6.根据权利要求4所述的处理终端,其特征在于:所述对微服务治理系统的神经网络进行训练,得到微服务治理系统的权重值,从而得到训练后的神经网络,具体由如下子步骤实现:
步骤9-1:将经过步骤8处理后的三类线性样本集输入至微服务治理系统中的神经网络;
步骤9-2:神经网络依据线性样本集中的微服务系统名称,并从微服务系统中的元数据提取当前微服务治理系统上一次的运算集,并将运算集当作输入参数一同运算,其中,元数据包括微服务系统编号、微服务系统名称、本次运算过程生成的权重值、算法维护的高峰期时段、算法维护资源池资源的权重值、算法维护系统权重值和算法维护微服务权重值;
步骤9-3:神经网络对输入的线性样本集进行加权,经过神经网络运算后,当判断权重值不再下沉后,结束神经网络的运算,得到微服务治理系统的权重值,从而得到训练后的神经网络,并将神经网络运算产生的运算集迭代更新到元数据中,元数据作为下一次神经网络运算的输入。
CN201811117391.XA 2018-09-25 2018-09-25 一种微服务治理的弹性容量调度方法及处理终端 Expired - Fee Related CN109067619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811117391.XA CN109067619B (zh) 2018-09-25 2018-09-25 一种微服务治理的弹性容量调度方法及处理终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811117391.XA CN109067619B (zh) 2018-09-25 2018-09-25 一种微服务治理的弹性容量调度方法及处理终端

Publications (2)

Publication Number Publication Date
CN109067619A CN109067619A (zh) 2018-12-21
CN109067619B true CN109067619B (zh) 2020-06-09

Family

ID=64765768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811117391.XA Expired - Fee Related CN109067619B (zh) 2018-09-25 2018-09-25 一种微服务治理的弹性容量调度方法及处理终端

Country Status (1)

Country Link
CN (1) CN109067619B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220172037A1 (en) * 2020-11-30 2022-06-02 International Business Machines Corporation Proactive anomaly detection
CN112506657B (zh) * 2020-12-09 2022-04-08 上海交通大学 基于强化学习的面向微服务的资源管理系统
CN114650450A (zh) * 2020-12-17 2022-06-21 中盈优创资讯科技有限公司 一种基于时序关联分析实现iptv智能扩容方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107180017B (zh) * 2016-03-11 2021-05-28 阿里巴巴集团控股有限公司 一种样本序列化方法和装置
CN107231264A (zh) * 2017-07-25 2017-10-03 北京百度网讯科技有限公司 用于管理云服务器的容量的方法和装置
CN107734066A (zh) * 2017-11-16 2018-02-23 郑州云海信息技术有限公司 一种数据中心综合管理系统服务治理方法
CN108197251A (zh) * 2017-12-29 2018-06-22 百度在线网络技术(北京)有限公司 一种大数据运行维护分析方法、装置及服务器

Also Published As

Publication number Publication date
CN109067619A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
JP7325584B2 (ja) アラームログ圧縮方法、装置、およびシステム、並びに記憶媒体
CN109861844B (zh) 一种基于日志的云服务问题细粒度智能溯源方法
CN109067619B (zh) 一种微服务治理的弹性容量调度方法及处理终端
US7895012B2 (en) Systems and methods for organizing and storing data
WO2012155455A1 (zh) 一种基于web平台的日志分析方法及系统
CN108521339B (zh) 一种基于集群日志的反馈式节点故障处理方法及系统
CN105872068A (zh) 一种云平台以及基于该云平台的自动化运检方法
CN107508722B (zh) 一种业务监控方法和装置
CN103312544B (zh) 一种控制终端上报日志文件的方法、设备和系统
DE102014103488A1 (de) Ausgeglichenes Scheduling mit gemischten Abfrage-Lasten
CN113448812A (zh) 微服务场景下的监控告警方法及装置
CN110489317B (zh) 基于工作流的云系统任务运行故障诊断方法与系统
WO2020211253A1 (zh) 分布式系统中主机数量弹性伸缩方法、装置和计算机设备
CN105653322A (zh) 运维服务器和服务器事件的处理方法
CN108446170B (zh) 一种基于机器学习的dns线程管理方法、装置和服务器
CN111339052A (zh) 一种非结构化日志数据处理方法及装置
EP3202091A1 (en) Operation of data network
CN106502856A (zh) 一种信息处理方法及装置
CN102546235A (zh) 云计算环境下面向web应用的性能诊断方法和系统
CN112202909A (zh) 一种计算机存储系统在线升级方法及系统
CN104714875A (zh) 一种分布式的自动化采集的方法
CN111694721A (zh) 一种微服务的故障监测方法和装置
CN109684279B (zh) 一种数据处理方法及系统
CN114675956B (zh) 一种基于Kubernetes集群之间Pod配置及调度的方法
WO2019138073A1 (en) Method for monitoring devices in a network, computerized system and application program interface

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200609