基于大规模分布式运维系统的机房资源预测方法及装置与流程

文档序号:25543369发布日期:2021-06-18 20:40阅读:90来源:国知局
基于大规模分布式运维系统的机房资源预测方法及装置与流程

本发明涉及运维技术领域,特别是涉及基于大规模分布式运维系统的机房资源预测方法及装置。



背景技术:

随着大数据时代的到来,人工智能、云计算技术日渐成熟和火热,传统的运维系统已经不能满足日益增长的需求,智能运维技术成为了大数据时代的热门话题。目前,越来越多的运维系统逐渐发展成了分布广、规模大的大规模分布式运维系统。如何高效提升大规模分布式运维系统的运维效率,降低运维成本,维护业务的稳定执行是一个不能忽视的任务。

然而,现有的大规模分布式运维系统缺少机房资源的预测与分配机制,阻碍了运维效率的进一步提升。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供基于大规模分布式运维系统的机房资源预测方法及装置,为大规模分布式运维系统添加机房资源的预测与分配机制,从而提高运维效率。

为实现上述目的及其他相关目的,本发明提供一种基于大规模分布式运维系统的机房资源预测方法,包括:以各机房服务器为结点,以各所述机房服务器被共用的关系为边,以各所述机房服务器自身配置为属性,构建机房图;对所述机房图的所有结点进行向量表示;通过各结点向量、各所述机房服务器自身配置及资源使用率组成的时间序列,对未来各所述机房服务器的资源使用率进行预测,以在各所述机房服务器的高峰使用时间段进行预警。

于本发明一实施例中,对所述机房图的所有结点进行向量表示的实现方式包括:通过deepwalk算法在所述机房图中随机游走;通过skip-gram模型对游走序列进行训练;通过多轮迭代得到每个所述结点的嵌入表示。

于本发明一实施例中,所述对未来资源使用率进行预测之前的训练采用长短时记忆网络来实现;所述长短时记忆网络的输入特征包括:各所述结点向量、各所述机房服务器自身配置及资源使用率。

于本发明一实施例中,所述方法还包括:基于预测得到的各所述机房服务器的资源使用率趋势,提供资源分配方案。

为实现上述目的及其他相关目的,本发明提供一种基于大规模分布式运维系统的机房资源预测装置,包括:机房网络构建模块,用于以各机房服务器为结点,以各所述机房服务器被共用的关系为边,以各所述机房服务器自身配置为属性,构建机房图;机房网络图嵌入模块,用于对所述机房图的所有结点进行向量表示;时间序列预测模块,用于通过各结点向量、各所述机房服务器自身配置及资源使用率组成的时间序列,对未来各所述机房服务器的资源使用率进行预测,以在各所述机房服务器的高峰使用时间段进行预警。

于本发明一实施例中,对所述机房图的所有结点进行向量表示的实现方式包括:通过deepwalk算法在所述机房图中随机游走;通过skip-gram模型对游走序列进行训练;通过多轮迭代得到每个所述结点的嵌入表示。

于本发明一实施例中,所述时间序列预测模块对未来资源使用率进行预测之前的训练采用长短时记忆网络来实现;所述长短时记忆网络的输入特征包括:各所述结点向量、各所述机房服务器自身配置及资源使用率。

于本发明一实施例中,所述装置还包括:资源调度分配模块,用于基于预测得到的各所述机房服务器的资源使用率趋势,提供资源分配方案。

为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的基于大规模分布式运维系统的机房资源预测方法。

为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的基于大规模分布式运维系统的机房资源预测方法。

如上所述,本发明的基于大规模分布式运维系统的机房资源预测方法及装置,首先,构建机房图和该图的嵌入表示,以得到机房结点的嵌入向量;然后,结合机房结点的自身属性、资源使用率的时序信息对机房服务器未来资源使用率进行预测,对资源高峰使用时间段进行预警,从而便于大规模分布式运维系统后续为机房分配相应的资源,提高运维效率。

附图说明

图1显示为本发明一实施例中的基于大规模分布式运维系统的机房资源预测方法的流程示意图。

图2显示为本发明一实施例中的构建机房图并进行向量表示的示意图。

图3显示为本发明一实施例中的基于大规模分布式运维系统的机房资源预测装置的模块示意图。

图4显示为本发明一实施例中的基于大规模分布式运维系统的机房资源预测装置的具体场景示意图。

图5显示为本发明一实施例中的电子设备的结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

请参阅图1,本实施例提供一种基于大规模分布式运维系统的机房资源预测方法,包括以下步骤:

s11:以各机房服务器为结点,以各所述机房服务器被共用的关系为边,以各所述机房服务器自身配置为属性,构建机房图;

具体的,本步骤将机房服务器看作图的结点,将机房服务器被同一个人共用的机会看作边,将机房服务器自身配置看作属性,以此构建机房图。

例如,定义机房图为g=(v,e,a),其中,v为所有机房服务器的集合,e为所有机房服务器关系的集合,a代表结点属性的集合,在本专利中结点属性是服务器的使用率等。如果两台机房服务器被同一个人共同使用,则e=(v1,v2)=1,否则为0。于此,v1和v2皆是v中的元素,e是e中的元素。在图2的示例中,机房服务器有5个,也即v包括v1~v5共五个机房结点,且e1=(v1,v2)=1,e2=(v1,v3)=1,e3=(v4,v2)=1,e4=(v3,v5)=1,e5=(v4,v5)=0。

通过构建机房图生成图向量,能够挖掘机房服务器之间的潜在关系和信息,通过建立机房结点之间的公共关系,使得机房结点之间产生内在联系,具备了相关性。

需要说明的是,由于有些机房服务器往往具有类似的工作状态和相同的工作负载,因此资源高峰使用率在这些相似机房结点上是存在共性的,通过构建机房图有助于在后续步骤中提升机房资源预测的准确率。

s12:对所述机房图的所有结点进行向量表示;

具体的,对机房图的所有机房结点进行向量表示,即构建映射f:v→rd,其中d表示向量的维度,较佳的,设d为128维。详细而言,本步骤采用deepwalk算法在机房图中随机游走,运用skip-gram模型对游走序列训练,通过多轮迭代得到每个机房结点的嵌入表示。参阅图2,在图2的示例中,每行方块代表一个向量,每个方块代表向量的分量。该向量就是embedding向量,是“服务器关系”信息的隐含表示,每个分量没有单独的实际含义。由于每个分量数值大小不一样,因此用了不同颜色。实际的向量类似于(0.56,-1.02,...,-0.27,0.08)。

s13:通过各结点向量、各所述机房服务器自身配置及资源使用率组成的时间序列,对未来各所述机房服务器的资源使用率进行预测,以在各所述机房服务器的高峰使用时间段进行预警。

具体的,通过机房结点向量、自身属性和资源使用率组成的时间序列对未来资源使用率进行预测,训练方法采用深度学习的长短时记忆网络(lstm),通过将机房结点嵌入向量、自身属性和时序信息进行训练。采用目前较为先进的基于深度学习的时间序列预测方法,通过对未来资源使用率的预测,得到未来的资源利用发展趋势,可以针对性地、准确地得到高峰使用时间段,从而进行预警。

详细而言,本步骤额外加入机房结点向量作为lstm的输入特征,使资源使用率的预测能够获取机房服务器之间的关系型信息,即lstm的输入特征包括机房服务器属性、机房服务器资源使用率和机房服务器嵌入向量。

进一步地,在一实施例中,在步骤s13之后还包括步骤:基于预测得到的各所述机房服务器的资源使用率趋势,提供资源分配方案。

具体地,由于提前预测了机房服务器未来的资源使用率趋势,所以能对某些即将达到高峰的机房服务器做出提前预警,从而为高峰时间段的资源分配提供合理的、高效的资源分配方案,如平衡高峰流量等,从而提高了大规模分布式运维系统的运维管控能力。

实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如:软盘、硬盘、磁带)、光介质(如:dvd)、或者半导体介质(如:固态硬盘solidstatedisk(ssd))等。

参阅图3,本实施例提供一种基于大规模分布式运维系统的机房资源预测装置30,作为一款软件搭载于电子设备中,以在运行时执行前述方法实施例所述的基于大规模分布式运维系统的机房资源预测方法。由于本系统实施例的技术原理与前述方法实施例的技术原理相似,因而不再对同样的技术细节做重复性赘述。

本实施例的基于大规模分布式运维系统的机房资源预测装置30具体包括:机房网络构建模块31、机房网络图嵌入模块32、时间序列预测模块33,进一步地,预测装置30还包括资源调度分配模块34。

机房网络构建模块31用于执行前述方法实施例介绍的步骤s11,机房网络图嵌入模块32用于执行前述方法实施例介绍的步骤s12,时间序列预测模块33用于执行前述方法实施例介绍的步骤s13,资源调度分配模块34用于基于预测得到的各所述机房服务器的资源使用率趋势,提供资源分配方案。

详细而言,机房图构建模块31定义机房结点、路径和属性,构建机房图,以满足图嵌入模块32的输入要求;机房图嵌入模块32通过图嵌入技术对机房图进行嵌入表示,提取机房图的表示向量(向量包含了机房结点之间的关系信息),用于时间序列预测模块33的输入;时间序列预测模块33通过现有的时序信息和图嵌入向量,预测机房结点资源的未来发展趋势,得到未来资源利用率及其发展趋势,特别是预测出高峰段并预警;资源调度分配模块34基于时间序列预测模块33计算得到的资源利用发展趋势,提取高峰时间段,对应产生相应的资源调度分配方案。

本领域技术人员应当理解,图3实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,时间序列预测模块33可以为单独设立的处理元件,也可以集成在某一个芯片中实现,此外,也可以以程序代码的形式存储于存储器中,由某一个处理元件调用并执行时间序列预测模块33的功能。其它模块的实现与之类似。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

在图4所示的示例中,数据层的机房网络由机房网络构建模块31构建,模型层的网络嵌入模型由机房网络图嵌入模块32执行以得到结果层的嵌入向量,时间序列预测模块33利用模型层的时间序列模型基于数据层的机房资源时间序列得到结果层的未来机房资源利用率,资源调度分配模块34基于未来机房资源利用率在应用层输出自动化资源分配方案。

参阅图5,本实施例提供一种电子设备50,电子设备50可以是台式机、便携式电脑等设备。详细的,电子设备50至少包括通过总线51连接的:存储器52、处理器53,其中,存储器52用于存储计算机程序,处理器53用于执行存储器52存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。

上述提到的系统总线可以是外设部件互连标准(peripheralpomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

综上所述,本发明的基于大规模分布式运维系统的机房资源预测方法及装置,基于图嵌入技术,提取图嵌入向量,计算图结点中的潜在信息;基于深度学习的时间序列预测方法,提取时序信息,将其与图特征信息融合共同预测未来时段的流量趋势和高峰时间段,并依照未来发展趋势给出可靠的合理资源分配的方案。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1