CN116257324A - 一种服务集群弹性伸缩方法、装置、电子设备及存储介质 - Google Patents
一种服务集群弹性伸缩方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116257324A CN116257324A CN202310202803.4A CN202310202803A CN116257324A CN 116257324 A CN116257324 A CN 116257324A CN 202310202803 A CN202310202803 A CN 202310202803A CN 116257324 A CN116257324 A CN 116257324A
- Authority
- CN
- China
- Prior art keywords
- service cluster
- log
- value
- resource
- parameter
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种服务集群弹性伸缩方法、装置、电子设备及存储介质。在本申请实施例中,能够获取服务集群系统的日志数据;基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务;根据资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩。本申请实现了服务集群的智能化弹性伸缩;不仅智能化预估资源需求、精准化实现资源弹性伸缩,而且资源使用动态管理、整体用量大大降低,同时采用交感神经机制配合LSTM神经网络能够应付资源需求的高频波动突发情况。
Description
技术领域
本申请涉及网络技术领域,具体涉及一种服务集群弹性伸缩方法、装置、电子设备及存储介质。
背景技术
互联网应用由于面向受众广泛,特别是大型互联网应用用户规模巨大、访问频繁,对应用服务器集群的要求比较高,要求其提供稳定高效的业务操作和访问,在技术上要确保高性能和高可用性,要求实现这两点,需要复杂的系统性考量和体系设计。所以,许多互联网企业特别是用户规模巨大的互联网企业长期持续投入大量人力、财力和物力去尽量保证上述目标的实现,但仍然会不时出现互联网应用系统瘫痪的事件。
目前,市场上针对前述问题,应对措施分为两个主要方向:其一是采用冗余资源作为后备,在出现问题时能够快速切换保证业务连续性;另一种是采用主动限制/业务降级的方式限定用户访问的上限和核心范围,当大量用户访问超出系统能承受的范围时将超限用户挡在外面排队。这些措施都没有从根本上解决问题,存在以下不足:互联网用户的行为习惯各式各样,且因系统不同导致的个性化差异很大而无法用统一方法提取有效信息;采用冗余资源作为后备的措施容易造成资源的长期浪费;另外采用主动限制/业务降级的方式短期内应急可以,与长远来说不断扩大用户规模是相违背的。也有企业认为用户增长是递增的、可以逐步升级资源上限来满足,但这样未考虑到用户访问规模是上下振荡的而非简单的单调上升的,而且振荡的峰、谷差距可能很大,某一时期的资源上限是无法对这些兼顾的。
发明内容
本申请实施例提供一种服务集群弹性伸缩方法、装置、电子设备及存储介质,本申请能够基于系统日志数据,并利用深度学习网络,克服日志数据非结构化且因系统不同导致的个性化差异很大而无法用统一方法提取有效信息的困难,创造性地构建日志步流人工智能模型,并结合业务数据,构建当前互联网应用内容各个服务所需资源的决策树,提前预判资源需求,实现服务集群的智能化弹性伸缩。
第一方面,本申请实施例提供了一种服务集群弹性伸缩方法,包括:获取服务集群系统的日志数据;基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务;根据资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩。
在一些实施例中,基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值,包括:构建日志步流(Log Step Stream)人工智能模型,日志步流人工智能模型包括第一堆叠式LSTM(Long Short-Term Memory)深度学习神经网络;从服务集群系统的日志数据中获取不同日志步的参数值向量,日志步为一种环境参数对应的日志类型;根据不同日志步的参数值向量得到多维特征空间矩阵,多维特征空间矩阵的每一列表示一个日志步的参数值序列,多维特征空间矩阵的每一行表示一个时间实例;利用第一堆叠式LSTM深度学习神经网络对多维特征空间矩阵进行预测,得到系统环境运行参数预测值。
在一些实施例中,利用第一堆叠式LSTM深度学习神经网络对多维特征空间矩阵进行预测,得到系统环境运行参数预测值之前,还包括:获取多维特征空间矩阵中相同日志步的参数值向量对应的所有值;确定所有值对应的平均值以及标准差;根据平均值以及标准差对多维特征空间矩阵中相同日志步的参数值向量对应的所有值进行归一化,得到归一化后的多维特征空间矩阵。
在一些实施例中,基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值之前,还包括:构建日志异常检测模型,日志异常检测模型包括第二堆叠式LSTM深度学习神经网络;获取服务集群系统的日志数据中的日志步序列数据;将指定服务的日志步序列数据输入至第二堆叠式LSTM深度学习神经网络中,第二堆叠式LSTM深度学习神经网络输出为日志步序列数据中不同关键词的概率分布;取概率值最大的关键词为预测结果值;当预测结果值超出检测阈值范围时,启动异常处理决策机制。
在一些实施例中,基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务,包括:构建决策树,决策树包括若干决策节点和叶子节点,每个决策节点对应一个条件判断机制;基于系统环境运行参数预测值,并根据决策树中上一个决策节点对应的条件判断机制进入到下一个决策节点,直到到达决策树的叶子节点,得到预测结果;根据预测结果启动预测结果对应的决策任务。
在一些实施例中,基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务,还包括:当系统环境运行参数预测值存在异常,且服务集群系统发生故障时,启动故障预案;当系统环境运行参数预测值存在异常,且服务集群系统未发生故障时,启动异常预案;当系统环境运行参数预测值不存在异常,且服务集群系统的运行时间处于运营活动期间时,启动运营活动预案;当系统环境运行参数预测值不存在异常、服务集群系统的运行时间未处于运营活动期间、系统环境运行参数预测值在采样窗口期内增长且增长速率处于第i档位时,启动第i档位资源扩充任务,i为正整数;当系统环境运行参数预测值不存在异常、服务集群系统的运行时间未处于运营活动期间、系统环境运行参数预测值在采样窗口期内降低、且降低加速度以及周期复合值均大于设定阈值时,启动资源收缩任务。
在一些实施例中,当系统环境运行参数预测值不存在异常、服务集群系统的运行时间未处于运营活动期间、系统环境运行参数预测值在采样窗口期内降低、且降低加速度以及周期复合值均大于设定阈值时,启动资源收缩任务,还包括:建立由参数轴和时间轴构成的平面坐标系;基于平面坐标系,将历史参数实际值与当前参数对应的系统环境运行参数预测值进行拟合,得到拟合线,历史参数实际值与服务集群系统的历史时刻日志数据对应,当前参数与服务集群系统的当前时刻日志数据对应;根据拟合线确定降低加速度,降低加速度为拟合线在平面坐标系上的斜率;将降低加速度映射为第一权重值p1;基于初始采样周期c,获取初始采样周期c内的波动次数;将初始采样周期c内的波动次数映射成第二权重值p2;根据第一权重值p1以及第二权重值p2计算周期复合值m,周期复合值m=c*(p1+p2)。
在一些实施例中,启动第i档位资源扩充任务,还包括:利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源扩充调度,完成资源扩充任务。
在一些实施例中,基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值之前,还包括:当服务集群系统需要进行应急扩容时,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源应急扩容调度,完成应急扩容任务。
第二方面,本申请实施例提供了一种服务集群弹性伸缩的装置,包括:日志获取模块,用于获取服务集群系统的日志数据;参数预测模块,用于基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;任务启动模块,用于基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务;资源调度模块,用于根据资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩。
第三方面,本申请实施例提供了一种电子设备,包括存储器存储有多条指令;处理器从存储器中加载指令,以执行本申请实施例所提供的任一种服务集群弹性伸缩方法中的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请实施例所提供的任一种服务集群弹性伸缩方法中的步骤。
本申请实施例可以先获取服务集群系统的日志数据;然后基于日志步流人工智能模型,再对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;接着基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务;最后根据资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩。
本发明基于系统日志数据利用深度学习网络,克服日志数据非结构化且因系统不同导致的个性化差异很大而无法用统一方法提取有效信息等困难,创造性地构建日志步流人工智能模型,并结合业务数据,构建当前互联网应用内容各个服务所需资源的决策树,提前预判资源需求,并辅以监控、预警等措施,实现服务集群的智能化弹性伸缩。不仅智能化预估资源需求、精准化实现资源弹性伸缩,而且资源使用动态管理、整体用量大大降低,采用交感神经机制配合LSTM神经网络能够应付资源需求的高频波动突发情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的服务集群弹性伸缩方法的场景示意图;
图2a是本申请实施例提供的服务集群弹性伸缩方法的流程示意图;
图2b是本申请实施例提供的第一堆叠式LSTM深度学习神经网络结构示意图;
图2c是本申请实施例提供的决策树的结构示意图;
图2d是本申请实施例提供的平滑折线拟合示意图;
图3是本申请实施例提供的一种服务集群弹性伸缩装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种服务集群弹性伸缩方法、装置、电子设备及存储介质。
其中,该服务集群弹性伸缩的装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在一些实施例中,该服务集群弹性伸缩的装置还可以集成在多个电子设备中,比如,服务集群弹性伸缩的装置可以集成在多个服务器中,由多个服务器来实现本申请的服务集群弹性伸缩方法。
在一些实施例中,服务器也可以以终端的形式来实现。
例如,参考图1,该电子设备可以包括服务集群系统10、存储终端11、服务器12等,服务集群系统10包括多台服务器,存储终端11可以存储服务集群系统的日志数据等,服务集群系统10、存储终端11、服务器12之间相互通信连接,在此不再赘述。
其中,服务器10可以包括处理器和存储器等。服务器10可以先获取服务集群系统的日志数据;然后基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;再基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务;接着根据资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩等。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
在本实施例中,提供了一种涉及信息处理的服务集群弹性伸缩方法,如图2a所示,应用于服务器中,该服务集群弹性伸缩方法的具体流程可以如下:
200、服务器获取服务集群系统的日志数据。
本申请实施例中,服务集群系统为把多台服务器通过快速通信链路连接起来,外面来的负载通过一定的资源调度机制动态地分配到这些服务器中去,从而达到超级服务器才有的高性能、高可用。
另外,日志数据包括系统环境运行参数及用户的访问数据。本申请实施例将应用服务的历史日志收集起来进行深度学习,用以实现对后续系统运行参数和用户访问的预估。
日志数据为时间序列数据,每条日志都有相应的时间戳;同时,日志数据是程序员在代码中通过构建包含参数的字符串在运行时用专门语句写入日志文件的,各处文字组织即字符串有很大的随意性,所以本申请实施例采用NLP(自然语言处理)技术,具体为LSTM(Long Short-Term Memory)深度学习神经网络,以实现系统环境运行参数预测及异常预测。
210、服务器基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值。
在一些实施例中,基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值,包括:构建日志步流(Log Step Stream)人工智能模型,日志步流人工智能模型包括第一堆叠式LSTM(Long Short-Term Memory)深度学习神经网络;从服务集群系统的日志数据中获取不同日志步的参数值向量,日志步为一种环境参数对应的日志类型;根据不同日志步的参数值向量得到多维特征空间矩阵,多维特征空间矩阵的每一列表示一个日志步的参数值序列,多维特征空间矩阵的每一行表示一个时间实例;利用第一堆叠式LSTM深度学习神经网络对多维特征空间矩阵进行预测,得到系统环境运行参数预测值。
在本申请实施例中,对于服务集群系统运行时的环境参数日志数据,相同的日志步类型定时生成不同的参数值,比如CPU、内存的使用率,而对于大型互联网应用,还有更为详细的JVM堆内存使用情况,涉及到堆内在的年轻代(YoungGen)、老年代(OldGen)、元空间(Metaspace)的分配及回收情况以及栈空间的使用情况的具体参数值,因此,相同日志步(即相同环境参数对应的日志类型)的参数值向量能够形成一个参数值向序列,而不同日志步的序列形成一个多维特征空间,可以将其存储到一个矩阵中,即得到多维特征空间矩阵,其中每一列表示一个日志步的参数值序列,而每一行表示一个时间实例。为了防止矩阵变得稀疏,在本申请其他实施例中,还可以将每一行表示一个时间实例范围,以便每一行对应该时间范围内的多个日志消息。
在一些实施例中,利用第一堆叠式LSTM深度学习神经网络对多维特征空间矩阵进行预测,得到系统环境运行参数预测值之前,还包括:获取多维特征空间矩阵中相同日志步的参数值向量对应的所有值;确定所有值对应的平均值以及标准差;根据平均值以及标准差对多维特征空间矩阵中相同日志步的参数值向量对应的所有值进行归一化,得到归一化后的多维特征空间矩阵。
在本申请实施例中,当对数键值较多且/或存在较大的参数值向量时,矩阵仍会非常稀疏。此外,异常检测过程有一定的延迟,并且难以确定每个范围的长度。因此,本申请实施例具体时间实例范围值在训练前可以通过数据样本分析后确定。本申请实施例以某个查询总数(SUM)、列表(LIST)及详情(DETAIL)的服务日志为例,说明矩阵生成过程:
上面日志数据以每行日志的时间戳为一个时间实例(如第一行的“1666059614226”),日志步为SUM、LIST、DETAIL三种,参数值有一种,即查询所耗时间(elapsed),转换为如下多维特征空间矩阵:
,该矩阵中不同的日志步(比如SUM和LIST)的参数值向量是正交的,这样便于每个日志步的参数值向量序列作为一个单独的时间序列来训练,如上面矩阵中时间步为SUM的参数值向量的时间序列为:{[1666059614226,SUM,120],[1666059614428,SUM,380]}。这样,每个日志步的参数值向量序列作为一个输入,输入前还要用训练数据中相同日志步的所有值的平均值和标准差对每个向量中的值进行归一化,然后使用第一堆叠式LSTM深度学习神经网络进行建模。如图2b所示,将一个日志步的参数值序列输入第一堆叠式LSTM深度学习神经网络中,通过第一堆叠式LSTM深度学习神经网络输出参数值序列的预测值,从而为后续的决策树提供输入基准值。第一堆叠式LSTM深度学习神经网络使模型深度更深,提取的特征更深层次,从而使预测更准确。
在本申请实施例中,还开发了例外反馈机制,以适应一些特殊场景对资源需求的突变式增加,比如运营优惠活动期间的用户访问量一般来说肯定是激增的,这时通过读取业务数据中的运营活动时间段等信息来将落入其中的日志排除在训练集外;而且,该系统通过对历史运营优惠活动以图表展示及分析的方式,供操作员设定新的运营活动时提供参考的资源需求。
在一些实施例中,基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值之前,还包括:构建日志异常检测模型,日志异常检测模型包括第二堆叠式LSTM深度学习神经网络;获取服务集群系统的日志数据中的日志步序列数据;将指定服务的日志步序列数据输入至第二堆叠式LSTM深度学习神经网络中,第二堆叠式LSTM深度学习神经网络输出为日志步序列数据中不同关键词的概率分布;取概率值最大的关键词为预测结果值;当预测结果值超出检测阈值范围时,启动异常处理决策机制。
在本申请实施例中,日志异常包含两部分内容:一是系统环境运行参数预测值超出阈值;二是对日志步流中出现的特定日志步关键字进行检测。系统环境运行参数预测值超出阈值则被认为是异常的,比如用户访问某个服务的耗时超过某个阈值,为了确保模型的合理性和准确性,在训练时对验证样本集预测向量与实际向量之间的误差建模为高斯分布,这样在部署运行时,如果预测值与观测值向量的误差在上述高斯分布的高可信区间内,则认为输入日志项的参数值向量是正常的,否则认为异常,本申请实施例对可信区间的置信度采用95%,再结合日志步异常关键字以及其他维度,比如系统日志的CPU使用率、内存利用率以及JVM的GC日志中的相关指标值和异常关键字(Out Of Memory等错误日志),以多重数据维度冗余检测的方式确保异常被及时检测出来,实际环境中运行数月检测出数十个异常,准确率非常高。
另外,本申请实施例中日志步流中的特定日志步关键字检测采用第二堆叠式LSTM深度学习神经网络,第二堆叠式LSTM深度学习神经网络的结构与第一堆叠式LSTM深度学习神经网络的结构相同或相似。只不过第二堆叠式LSTM深度学习神经网络的输入为指定服务的日志步序列数据,第二堆叠式LSTM深度学习神经网络的输出为不同关键词的概率分布,取概率值最大的关键词为预测结果,并据此判定是否为异常。另外,除了模型外,还有对即时出现的异常关键词,本申请实施例还可以通过代码进行及时处理。
220、服务器基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务。
在一些实施例中,基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务,包括:构建决策树,决策树包括若干决策节点和叶子节点,每个决策节点对应一个条件判断机制;基于系统环境运行参数预测值,并根据决策树中上一个决策节点对应的条件判断机制进入到下一个决策节点,直到到达决策树的叶子节点,得到预测结果;根据预测结果启动预测结果对应的决策任务。
在本申请实施例中,决策节点为通过条件判断而进行分支选择的节点。如:将某个样本中的属性值(特征值)与决策节点上的值进行比较,从而判断它的流向。叶子节点为没有子节点的节点,表示最终的决策结果。
本申请实施例基于前述的深度学习结果,即系统环境运行参数预测值或日志异常,再采用决策树的一组嵌套的规则进行预测。在决策树的每个决策节点处,根据判断结果进入一个分支,反复执行这种操作直到到达叶子节点,得到预测结果。这些规则均通过机器学习的训练得到的,而非人工制定。
在一些实施例中,基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务,还包括:当系统环境运行参数预测值存在异常,且服务集群系统发生故障时,启动故障预案;当系统环境运行参数预测值存在异常,且服务集群系统未发生故障时,启动异常预案;当系统环境运行参数预测值不存在异常,且服务集群系统的运行时间处于运营活动期间时,启动运营活动预案;当系统环境运行参数预测值不存在异常、服务集群系统的运行时间未处于运营活动期间、系统环境运行参数预测值在采样窗口期内增长且增长速率处于第i档位时,启动第i档位资源扩充任务,i为正整数;当系统环境运行参数预测值不存在异常、服务集群系统的运行时间未处于运营活动期间、系统环境运行参数预测值在采样窗口期内降低、且降低加速度以及周期复合值均大于设定阈值时,启动资源收缩任务。
具体地,如图2c所示,决策树首先加入“是否异常”的决策节点,以决定进入两个不同分支,异常分支再进一步判断严重程度而决定采用不同的预案措施,预案措施可以包含启动与主环境对称并在平时保持Standby状态的备用环境、报警及多渠道通知管理人员等措施。
进入非异常分支后首先要将运营活动排除,一般而言,运营活动期间由于有优惠促销会导致用户访问理及相应环境资源需求激增,需要人工接管管理,当处于运营活动期间时,本申请实施例启动运营活动预案。
非运营活动的分支里再进一步判断环境参数值在采样窗口期内是增加还是减少,分别进入两个分支,当系统环境运行参数预测值在采样窗口期内增长且增长速率处于第一档位(对应于高档位)时,启动第一档位资源扩充任务(对应于高档位资源扩充任务);当系统环境运行参数预测值在采样窗口期内增长且增长速率处于第二档位(对应于中档位)时,启动第二档位资源扩充任务(对应于中档位资源扩充任务);当系统环境运行参数预测值在采样窗口期内增长且增长速率处于第三档位(对应于低档位)时,启动第三档位资源扩充任务(对应于低档位资源扩充任务)。
另外,当系统环境运行参数预测值在采样窗口期内降低、且降低加速度以及周期复合值均大于设定阈值时,启动资源收缩任务。
在一些实施例中,当系统环境运行参数预测值不存在异常、服务集群系统的运行时间未处于运营活动期间、系统环境运行参数预测值在采样窗口期内降低、且降低加速度以及周期复合值均大于设定阈值时,启动资源收缩任务,还包括:建立由参数轴和时间轴构成的平面坐标系;基于平面坐标系,将历史参数实际值与当前参数对应的系统环境运行参数预测值进行拟合,得到拟合线,历史参数实际值与服务集群系统的历史时刻日志数据对应,当前参数与服务集群系统的当前时刻日志数据对应;根据拟合线确定降低加速度,降低加速度为拟合线在平面坐标系上的斜率;将降低加速度映射为第一权重值p1;基于初始采样周期c,获取初始采样周期c内的波动次数;将初始采样周期c内的波动次数映射成第二权重值p2;根据第一权重值p1以及第二权重值p2计算周期复合值m,周期复合值m=c*(p1+p2)。
在本申请实施例中,采样窗口时长采用平滑拟合算法进行处理,即对历史参数实际值与当前参数预测值在平面坐标系上构成的点集用平滑折线进行拟合,如图2d所示,平面坐标系包括第一轴和第二轴,第一轴为时间轴,第二轴为参数轴,将历史参数实际值与当前参数预测值在平面坐标系上构成的点集用平滑折线进行拟合。若是当系统环境运行参数预测值在采样窗口期内降低,则考虑降低加速度和周期复合值这两个指标的值是否大于设定阈值,若大于设定阈值则启动资源收缩任务,降低加速度以平滑拟合折线在平面坐标系中的斜率为准,折线越陡斜率越大,这时要同时参考周期复合值,主要是一段时间内的平滑折线按时长及斜率折算的权重算出下降周期复合值,只有同时该值同时达到其阈值时才触发任务,因为有些资源使用下降只是进程内短暂的资源清理,比如Java进程的GC,并不代表业务访问量的下降。若平滑拟合折线呈上升之势,则进一步判断增速是处于高、中低三个档位的哪一种,以决定启动相应档位的资源扩充任务。
本申请实施例中,对于平滑拟合拆线有两种情况要考量:越平缓(斜率小)或越平滑(波动小)的一般说明是系统确实因业务访问逐步减少等原因对资源的需求逐步降低;否则,急促的降低(斜率大)可能是诸如Java进程GC资源清理回收导致瞬时资源变多而额外要求的资源需求就变少等原因,而波动大也有可能是频繁的GC等造成的,这些都是短暂的非真正的资源需求变小,所以对于这种情况需将采样周期适当放大,具体采用下降斜率值和初始采样周期c内的波动次数分别映射成第一权重值p1和第二权重值p2,然后计算成周期复合值m=c*(p1+p2)。本申请实施例中第一权重值p1可以为1.5,第二权重值p2可以为2。
在本申请其他实施例中,第一权重值p1和第二权重值p2也可根据实际情况进行调整,比如用户访问请求时有大量数据返回的应用的p1值要设定大一些,因为对大量数据处理分配的大块内存堆后清理后瞬时释放的也大;对于需要复杂计算(需要频繁GC)的应用则p2可以设置大一些。
在一些实施例中,启动第i档位资源扩充任务,还包括:利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源扩充调度,完成资源扩充任务。
230、服务器根据资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩。
在一些实施例中,基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值之前,还包括:当服务集群系统需要进行应急扩容时,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源应急扩容调度,完成应急扩容任务。
本申请实施例中,通过基于日志的深度学习产生的模型进行参数预测开始,依次判断是否异常、是否运营活动以及是否缩容(资源需求减少),每个分支启动相应的处理机制或预案,最终通过基于k8s框架的资源调度作业去实施缩、扩容的动作;另外,同时在现场启动应急扩容检测程序,即基于交感神经原理的快速反应机制,若需要应急式资源扩容,也将调用资源调度作业,并叠加在前述基于预测结果的资源需求之上。这样,保证正常使用和紧急使用相结合,最终实现高效实用的智能化资源弹性伸缩。
在本申请实施例中,资源弹性伸缩为启动一系列不同策略的任务,依据是决策树的预测结果,任务执行框架采用基于k8s的开源容器集群框架,充分利用k8s的pod弹性伸缩机制,具体分为两种:神经网络驱动(RNN-Driven)和交感神经驱动(Sympathetic nervous-Driven),神经网络驱动可以采用HPS(Horizontal Pod Scaler)弹性伸缩机制,交感神经驱动可以采用VPS(Vertical Pod Scaler)和HPS(Horizontal Pod Scaler)两种。
本申请实施例神经网络驱动的pod弹性伸缩即采用前述LSTM神经网络及决策树预测结果启动相应任务,考虑架构的简约性,这类弹性伸缩主要采用HPS(Horizontal PodScaler)即水平弹性伸缩。进行水平弹性伸缩时按要求执行扩容或缩容,且根据要求里的参数值确定扩容和缩容的Pod数量,即通过增加或降低资源供给来满足该应用服务资源需求的增或降。
在本申请实施例中,从堆叠式LSTM深度学习神经网络到决策树,再到基于k8s的资源弹性伸缩处理流程可以满足正常业务访问波动需求,但对于短暂的资源使用波动而言,不能满足其延迟,如应用服务所在服务器突然启动其他任务占用CPU和内存资源等紧急情况,这时本申请实施例可以采用交感神经驱动(Sympathetic nervous-Driven)的Pod弹性伸缩机制。
在本申请实施例中,交感神经驱动的Pod弹性伸缩是一种应急性扩容机制,能够独立、快捷地完成设定的动作,设定在k8s集群的管理配置领域,通过autoscale设定自动伸缩策略,本申请实施例交感神经驱动的Pod弹性伸缩是在前述神经网络驱动伸缩基础上的独立伸缩,举个例子,若神经网络驱动伸缩基础值是10,那么交感神经驱动的Pod弹性伸缩后的值是叠加其上的,可以是11、12、15等,但缩容后最低值为10,即不影响前述结果的最低线。交感神经驱动的Pod弹性伸缩可以采用VPS(Vertical Pod Scaler)和HPS(HorizontalPod Scaler)两种类型,首先效率优先,先在初次分配中采用VPS快速调整分配给Pod的内存或CPU,待满足二次周期且稳定在指定区间时再调整为HPS即使用增、减Pod的方式,以实现架构的简约。
目前,互联网用户的行为习惯各式各样,甚至面向全球的互联网应用的用户的作息习惯都不一样,而且工作/学习日(时段)与休息日(时段)的访问习惯相差很大,加之节假日、运营促销活动等等因素,导致用户并发访问规模的峰、谷出现有很大的不可预测及差别可能有着天壤之别,甚至对于运营促销活动等自发因素有考虑并备有预案的情况下,也有可能预估不足或预估过剩,导致资源准备不足或资源浪费。对于现有技术的缺陷和不足,本发明智能化预估资源需求、精准化实现资源弹性伸缩,很好地解决具体互联网应用的用户访问量波动提前预测并弹性伸缩分配的问题,通过基于日志的历史数据的深度学习,找到用户访问的变化规律,包含每天的变化规律,也包含更长时间范围的变化规律如月、年等,因为LSTM神经网络具有长时记忆功能,可以很好地解决日志历史数据时间跨度大引起长序列训练过程中存在的梯度消失和梯度爆炸问题。这样就可以使得资源利用率达到最大。
另外,目前采用冗余资源备用以防突发情况的做法,会造成资源的长期浪费,一个大型互联网应用的服务器集群可能在数百、数千甚至更大规模,以及相关的网络设备及带宽资源,冗余一套出来长期保持备用等待状态会造成资源的浪费;而且,为了保证运行资源出问题时能够快速切换备用资源,还需要将备用资源时刻保持加电正常运行状态;另外,为了保证不受意外停电等因素影响,最好还要将主、备资源异地分开存放,等等诸如此类的考量和安排,导致围绕这些冗余资源产生的额外的运维成本也是巨大的。对于现有技术的缺陷和不足,本发明资源使用动态管理、整体用量大大降低。本发明对于互联网应用的不同服务的资源需求使用动态管理,无需使用冗余整套资源;而且,动态的伸、缩管理对不同的服务资源此消彼涨式需求进行削峰填谷式的资源整体调控,合理利用资源,也大大节省了资源,使得整体资源用量相对于传统的多套冗余的静态方式而言大大的降低了。
而且,目前现有技术采用主动限制/业务降级的方式实现上是自缚手脚,短期内应急可以,与长远来说不断扩大用户规模是相违背的。也有企业觉得用户增长是递增的、可以逐步升级资源上限来满足,但这样未考虑到用户访问规模是上下振荡的而非简单的单调上升的,而且振荡的峰、谷差距可能很大,某一时期的资源上限是无法对这些兼顾的。对于现有技术的缺陷和不足,本发明采用交感神经机制配合LSTM神经网络能够应付突发情况,除了可以应对基于应用服务的用户访问量本身引起的资源变化外,对于突发因素特别是外部突发因素引起的资源需求的高频波动,也可以快速应对,因为其中的交感神经机制因直接部署在现场、响应迅速,大部分情况下无需主动限制/业务降级。
本发明基于系统日志数据并利用深度学习网络,克服日志数据非结构化且因系统不同导致的个性化差异很大而无法用统一方法提取有效信息等困难,创造性地构建日志步流人工智能模型,并结合业务数据,构建当前互联网应用内容各个服务所需资源的决策树,提前预判资源需求,并辅以监控、预警等措施,实现服务集群的智能化弹性伸缩。不仅智能化预估资源需求、精准化实现资源弹性伸缩,而且资源使用动态管理、整体用量大大降低,采用交感神经机制配合LSTM神经网络能够应付资源需求的高频波动突发情况。
为了更好地实施以上方法,本申请实施例还提供一种服务集群弹性伸缩的装置,该服务集群弹性伸缩的装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以服务集群弹性伸缩装置具体集成在电子设备中为例,对本申请实施例的方法进行详细说明。
例如,如图3所示,该服务集群弹性伸缩装置可以包括:日志获取模块310、参数预测模块320、任务启动模块330和资源调度模块340。日志获取模块310,配置于获取服务集群系统的日志数据;参数预测模块320,配置于基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;任务启动模块330,配置于基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务;资源调度模块340,配置于根据资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩。
在一些实施例中,参数预测模块320包括向量处理模块,向量处理模块配置于:构建日志步流(Log Step Stream)人工智能模型,日志步流人工智能模型包括第一堆叠式LSTM(Long Short-Term Memory)深度学习神经网络;从服务集群系统的日志数据中获取不同日志步的参数值向量,日志步为一种环境参数对应的日志类型;根据不同日志步的参数值向量得到多维特征空间矩阵,多维特征空间矩阵的每一列表示一个日志步的参数值序列,多维特征空间矩阵的每一行表示一个时间实例;利用第一堆叠式LSTM深度学习神经网络对多维特征空间矩阵进行预测,得到系统环境运行参数预测值。
在一些实施例中,参数预测模块320还包括归一化模块,归一化模块配置于:获取多维特征空间矩阵中相同日志步的参数值向量对应的所有值;确定所有值对应的平均值以及标准差;根据平均值以及标准差对多维特征空间矩阵中相同日志步的参数值向量对应的所有值进行归一化,得到归一化后的多维特征空间矩阵。
在一些实施例中,该服务集群弹性伸缩装置还包括异常检测模块,异常检测模块配置于:构建日志异常检测模型,日志异常检测模型包括第二堆叠式LSTM深度学习神经网络;获取服务集群系统的日志数据中的日志步序列数据;将指定服务的日志步序列数据输入至第二堆叠式LSTM深度学习神经网络中,第二堆叠式LSTM深度学习神经网络输出为日志步序列数据中不同关键词的概率分布;取概率值最大的关键词为预测结果值;当预测结果值超出检测阈值范围时,启动异常处理决策机制。
在一些实施例中,任务启动模块330包括决策树构建模块,决策树构建模块配置于:构建决策树,决策树包括若干决策节点和叶子节点,每个决策节点对应一个条件判断机制;基于系统环境运行参数预测值,并根据决策树中上一个决策节点对应的条件判断机制进入到下一个决策节点,直到到达决策树的叶子节点,得到预测结果;根据预测结果启动预测结果对应的决策任务。
在一些实施例中,任务启动模块330还包括任务启动子模块,任务启动子模块配置于:当系统环境运行参数预测值存在异常,且服务集群系统发生故障时,启动故障预案;当系统环境运行参数预测值存在异常,且服务集群系统未发生故障时,启动异常预案;当系统环境运行参数预测值不存在异常,且服务集群系统的运行时间处于运营活动期间时,启动运营活动预案;当系统环境运行参数预测值不存在异常、服务集群系统的运行时间未处于运营活动期间、系统环境运行参数预测值在采样窗口期内增长且增长速率处于第i档位时,启动第i档位资源扩充任务,i为正整数;当系统环境运行参数预测值不存在异常、服务集群系统的运行时间未处于运营活动期间、系统环境运行参数预测值在采样窗口期内降低、且降低加速度以及周期复合值均大于设定阈值时,启动资源收缩任务。
在一些实施例中,任务启动子模块还包括拟合模块,拟合模块配置于:建立由参数轴和时间轴构成的平面坐标系;基于平面坐标系,将历史参数实际值与当前参数对应的系统环境运行参数预测值进行拟合,得到拟合线,历史参数实际值与服务集群系统的历史时刻日志数据对应,当前参数与服务集群系统的当前时刻日志数据对应;根据拟合线确定降低加速度,降低加速度为拟合线在平面坐标系上的斜率;将降低加速度映射为第一权重值p1;基于初始采样周期c,获取初始采样周期c内的波动次数;将初始采样周期c内的波动次数映射成第二权重值p2;根据第一权重值p1以及第二权重值p2计算周期复合值m,周期复合值m=c*(p1+p2)。
在一些实施例中,任务启动子模块还包括资源扩充模块,资源扩充模块配置于:利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源扩充调度,完成资源扩充任务。
在一些实施例中,服务集群弹性伸缩装置还包括应急模块,应急模块配置于:当服务集群系统需要进行应急扩容时,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源应急扩容调度,完成应急扩容任务。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的服务集群弹性伸缩装置基于系统日志数据利用深度学习网络,克服日志数据非结构化且因系统不同导致的个性化差异很大而无法用统一方法提取有效信息等困难,创造性地构建日志步流人工智能模型,并结合业务数据,构建当前互联网应用内容各个服务所需资源的决策树,提前预判资源需求,并辅以监控、预警等措施,实现服务集群的智能化弹性伸缩。不仅智能化预估资源需求、精准化实现资源弹性伸缩,而且资源使用动态管理、整体用量大大降低,采用交感神经机制配合LSTM神经网络能够应付资源需求的高频波动突发情况。
本申请实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。
在一些实施例中,该服务集群弹性伸缩装置还可以集成在多个电子设备中,比如,服务集群弹性伸缩装置可以集成在多个服务器中,由多个服务器来实现本申请的服务集群弹性伸缩方法。
在本实施例中,将以本实施例的电子设备是服务器为例进行详细描述,比如,如图4所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403、输入模块404以及通信模块405等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。在一些实施例中,处理器401可包括一个或多个处理核心;在一些实施例中,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,在一些实施例中,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入模块404,该输入模块404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该服务器还可包括通信模块405,在一些实施例中通信模块405可以包括无线模块,服务器可以通过该通信模块405的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块405可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现服务集群弹性伸缩装置中的各种功能
在一些实施例中,还提出一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述任一种服务集群弹性伸缩方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本申请实施例可以基于系统日志数据并利用深度学习网络,克服日志数据非结构化且因系统不同导致的个性化差异很大而无法用统一方法提取有效信息等困难,创造性地构建日志步流人工智能模型,并结合业务数据,构建当前互联网应用内容各个服务所需资源的决策树,提前预判资源需求,并辅以监控、预警等措施,实现服务集群的智能化弹性伸缩。不仅智能化预估资源需求、精准化实现资源弹性伸缩,而且资源使用动态管理、整体用量大大降低,采用交感神经机制配合LSTM神经网络能够应付资源需求的高频波动突发情况。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种服务集群弹性伸缩方法中的步骤。例如,该指令可以执行如下步骤:先获取服务集群系统的日志数据;然后基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;再基于决策树模型,根据系统环境运行参数预测值启动资源收缩任务;接着根据资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩等。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中提供的服务集群弹性伸缩的方面或者服务集群弹性伸缩的方面的各种可选实现方式中提供的方法。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种服务集群弹性伸缩方法中的步骤,因此,可以实现本申请实施例所提供的任一种服务集群弹性伸缩方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种服务集群弹性伸缩方法、装置、服务器和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种服务集群弹性伸缩方法,其特征在于,包括:
获取服务集群系统的日志数据;
基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;
基于决策树模型,根据所述系统环境运行参数预测值启动资源收缩任务;
根据所述资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩。
2.如权利要求1的服务集群弹性伸缩方法,其特征在于,所述基于日志步流人工智能模型,对所述服务集群系统的日志数据进行预测,得到系统环境运行参数预测值,包括:
构建日志步流人工智能模型,所述日志步流人工智能模型包括第一堆叠式LSTM深度学习神经网络;
从所述服务集群系统的日志数据中获取不同日志步的参数值向量,所述日志步为一种环境参数对应的日志类型;
根据所述不同日志步的参数值向量得到多维特征空间矩阵,所述多维特征空间矩阵的每一列表示一个日志步的参数值序列,所述多维特征空间矩阵的每一行表示一个时间实例;
利用所述第一堆叠式LSTM深度学习神经网络对所述多维特征空间矩阵进行预测,得到系统环境运行参数预测值。
3.如权利要求2的服务集群弹性伸缩方法,其特征在于,所述利用所述第一堆叠式LSTM深度学习神经网络对所述多维特征空间矩阵进行预测,得到系统环境运行参数预测值之前,还包括:
获取所述多维特征空间矩阵中相同日志步的参数值向量对应的所有值;
确定所述所有值对应的平均值以及标准差;
根据所述平均值以及标准差对所述多维特征空间矩阵中相同日志步的参数值向量对应的所有值进行归一化,得到归一化后的多维特征空间矩阵。
4.如权利要求1的服务集群弹性伸缩方法,其特征在于,所述基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值之前,还包括:
构建日志异常检测模型,所述日志异常检测模型包括第二堆叠式LSTM深度学习神经网络;
获取所述服务集群系统的日志数据中的日志步序列数据;
将所述指定服务的日志步序列数据输入至所述第二堆叠式LSTM深度学习神经网络中,所述第二堆叠式LSTM深度学习神经网络输出为所述日志步序列数据中不同关键词的概率分布;
取概率值最大的关键词为预测结果值;
当所述预测结果值超出检测阈值范围时,启动异常处理决策机制。
5.如权利要求1的服务集群弹性伸缩方法,其特征在于,所述基于决策树模型,根据所述系统环境运行参数预测值启动资源收缩任务,包括:
构建决策树,所述决策树包括若干决策节点和叶子节点,每个决策节点对应一个条件判断机制;
基于所述系统环境运行参数预测值,并根据所述决策树中上一个决策节点对应的条件判断机制进入到下一个决策节点,直到到达所述决策树的叶子节点,得到预测结果;
根据所述预测结果启动所述预测结果对应的决策任务。
6.如权利要求5的服务集群弹性伸缩方法,其特征在于,所述基于决策树模型,根据所述系统环境运行参数预测值启动资源收缩任务,还包括:
当所述系统环境运行参数预测值存在异常,且服务集群系统发生故障时,启动故障预案;
当所述系统环境运行参数预测值存在异常,且服务集群系统未发生故障时,启动异常预案;
当所述系统环境运行参数预测值不存在异常,且所述服务集群系统的运行时间处于运营活动期间时,启动运营活动预案;
当所述系统环境运行参数预测值不存在异常、所述服务集群系统的运行时间未处于运营活动期间、所述系统环境运行参数预测值在采样窗口期内增长且增长速率处于第i档位时,启动第i档位资源扩充任务,i为正整数;
当所述系统环境运行参数预测值不存在异常、所述服务集群系统的运行时间未处于运营活动期间、所述系统环境运行参数预测值在采样窗口期内降低、且降低加速度以及周期复合值均大于设定阈值时,启动资源收缩任务。
7.如权利要求6的服务集群弹性伸缩方法,其特征在于,所述当所述系统环境运行参数预测值不存在异常、所述服务集群系统的运行时间未处于运营活动期间、所述系统环境运行参数预测值在采样窗口期内降低、且降低加速度以及周期复合值均大于设定阈值时,启动资源收缩任务,还包括:
建立由参数轴和时间轴构成的平面坐标系;
基于平面坐标系,将历史参数实际值与当前参数对应的所述系统环境运行参数预测值进行拟合,得到拟合线,所述历史参数实际值与所述服务集群系统的历史时刻日志数据对应,当前参数与服务集群系统的当前时刻日志数据对应;
根据所述拟合线确定降低加速度,所述降低加速度为所述拟合线在所述平面坐标系上的斜率;
将所述降低加速度映射为第一权重值p1;
基于初始采样周期c,获取初始采样周期c内的波动次数;
将所述初始采样周期c内的波动次数映射成第二权重值p2;
根据所述第一权重值p1以及所述第二权重值p2计算周期复合值m,所述周期复合值m=c*(p1+p2)。
8.如权利要求6的服务集群弹性伸缩方法,其特征在于,所述启动第i档位资源扩充任务,还包括:
利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源扩充调度,完成资源扩充任务。
9.如权利要求1的服务集群弹性伸缩方法,其特征在于,所述基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值之前,还包括:
当所述服务集群系统需要进行应急扩容时,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源应急扩容调度,完成应急扩容任务。
10.一种服务集群弹性伸缩装置,其特征在于,包括:
日志获取模块,用于获取服务集群系统的日志数据;
参数预测模块,用于基于日志步流人工智能模型,对服务集群系统的日志数据进行预测,得到系统环境运行参数预测值;
任务启动模块,用于基于决策树模型,根据所述系统环境运行参数预测值启动资源收缩任务;
资源调度模块,用于根据所述资源收缩任务,利用神经网络驱动或交感神经驱动的pod弹性伸缩机制进行资源调度,完成服务集群弹性伸缩。
11.一种电子设备,其特征在于,包括处理器和存储器,存储器存储有多条指令;处理器从存储器中加载指令,以执行如权利要求1~9任一项的服务集群弹性伸缩方法中的步骤。
12.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行权利要求1~9任一项的服务集群弹性伸缩方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310202803.4A CN116257324A (zh) | 2023-03-03 | 2023-03-03 | 一种服务集群弹性伸缩方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310202803.4A CN116257324A (zh) | 2023-03-03 | 2023-03-03 | 一种服务集群弹性伸缩方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116257324A true CN116257324A (zh) | 2023-06-13 |
Family
ID=86679049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310202803.4A Pending CN116257324A (zh) | 2023-03-03 | 2023-03-03 | 一种服务集群弹性伸缩方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116257324A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311999A (zh) * | 2023-12-01 | 2023-12-29 | 中航信移动科技有限公司 | 一种服务集群的资源调度方法、存储介质及电子设备 |
CN117648173A (zh) * | 2024-01-26 | 2024-03-05 | 杭州阿里云飞天信息技术有限公司 | 资源调度方法以及装置 |
-
2023
- 2023-03-03 CN CN202310202803.4A patent/CN116257324A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117311999A (zh) * | 2023-12-01 | 2023-12-29 | 中航信移动科技有限公司 | 一种服务集群的资源调度方法、存储介质及电子设备 |
CN117311999B (zh) * | 2023-12-01 | 2024-01-26 | 中航信移动科技有限公司 | 一种服务集群的资源调度方法、存储介质及电子设备 |
CN117648173A (zh) * | 2024-01-26 | 2024-03-05 | 杭州阿里云飞天信息技术有限公司 | 资源调度方法以及装置 |
CN117648173B (zh) * | 2024-01-26 | 2024-05-14 | 杭州阿里云飞天信息技术有限公司 | 资源调度方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116257324A (zh) | 一种服务集群弹性伸缩方法、装置、电子设备及存储介质 | |
Ghobaei‐Arani et al. | A learning‐based approach for virtual machine placement in cloud data centers | |
US9239740B2 (en) | Program partitioning across client and cloud | |
US20120144219A1 (en) | Method of Making Power Saving Recommendations in a Server Pool | |
US11269677B2 (en) | System and method to analyze and optimize application level resource and energy consumption by data center servers | |
US8954971B2 (en) | Data collecting method, data collecting apparatus and network management device | |
CN107734035A (zh) | 一种云计算环境下的虚拟集群自动伸缩方法 | |
CA3032409A1 (en) | Distributed resource electrical demand forecasting system and method | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
CN112052092A (zh) | 一种风险感知的边缘计算任务分配方法 | |
KR102556186B1 (ko) | 인공 지능 개발 플랫폼의 관리 방법 및 장치, 매체 | |
CN115495231A (zh) | 一种高并发任务复杂场景下的动态资源调度方法及系统 | |
CN117972367B (zh) | 一种数据存储预测方法、数据存储子系统及智能计算平台 | |
CN118012719B (zh) | 容器运行状态监测方法、智能计算云操作系统及计算平台 | |
CN114138977A (zh) | 日志处理方法、装置、计算机设备和存储介质 | |
CN116643844A (zh) | 面向电力超算云资源自动扩展的智能化管理系统及方法 | |
Van Kleek et al. | A practical activity capture framework for personal, lifetime user modeling | |
Hu et al. | Survey of grid resource monitoring and prediction strategies. | |
Ghiasi et al. | Smart virtual machine placement using learning automata to reduce power consumption in cloud data centers | |
CN112052087B (zh) | 动态资源调整与迁移的深度学习训练系统及方法 | |
CN115129565A (zh) | 日志数据处理方法、装置、系统、设备和介质 | |
WO2023154051A1 (en) | Determining root causes of anomalies in services | |
CN112862423A (zh) | 分布式新能源电站管理方法、系统、终端设备及计算机可读存储介质 | |
Zhu et al. | Optimal bandwidth allocation for web crawler systems | |
Yu et al. | Integrating clustering and regression for workload estimation in the cloud |
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 |