CN112416602B - 一种分布式数据流资源弹性伸缩增强插件及增强方法 - Google Patents
一种分布式数据流资源弹性伸缩增强插件及增强方法 Download PDFInfo
- Publication number
- CN112416602B CN112416602B CN202011434620.8A CN202011434620A CN112416602B CN 112416602 B CN112416602 B CN 112416602B CN 202011434620 A CN202011434620 A CN 202011434620A CN 112416602 B CN112416602 B CN 112416602B
- Authority
- CN
- China
- Prior art keywords
- decision
- data stream
- plug
- controller
- recommendation
- 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
Links
Images
Classifications
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种分布式数据流资源弹性伸缩增强插件及增强方法。该插件与用于分布式数据流资源弹性伸缩的伸缩控制器连接;插件包括:决策器、决策模型和伸缩操作样本库;伸缩控制器通过第一接口将数据流注册到插件;伸缩控制器通过第二接口将每个状态下资源伸缩的最优决策发送至插件;伸缩操作样本库用于记录每个状态资源伸缩的最优决策;决策模型用于根据伸缩操作样本库记录的最优决策对接收到的数据流进行预测,生成预测决策;决策器用于根据预测决策确定推荐决策,决策器通过第二接口将推荐决策返回至伸缩控制器;伸缩控制器根据推荐决策对当前数据流进行伸缩操作。本发明可以提高资源弹性伸缩的准确度和效率。
Description
技术领域
本发明涉及数据流资源分配领域,特别是涉及一种分布式数据流资源弹性伸缩增强插件及增强方法。
背景技术
分布式数据流应用通常提供长生命周期的实时数据处理服务。典型的流处理场景通常伴随着数据流负载的波动。例如,社交网站情感分析服务在夜间的数据量将大幅降低,传感器数据的流量通常和设备使用频率有关。数据流负载突然升高或降低,将对执行实时数据处理操作的分布式数据流产生影响。当负载突然升高,为分布式数据流所分配资源可能无法满足计算需求,导致处理速率不能与数据流入速率保持一致;当负载突然降低,分布式数据流可能占用了过多的资源,导致资源的浪费。因此,数据流需要弹性伸缩控制器来完成资源随负载量的弹性伸缩。数据流应用通常将资源抽象成实例,每个实例包含一定数量的CPU核数和内存。弹性伸缩控制器通过自动控制数据流所使用的实例数量,来进行资源的伸缩操作。
现有的资源弹性伸缩控制器通过响应式的调整策略,使数据流资源量可以应对当前的数据产生速率。一般来说,数据流应用由多个计算节点组成,每个计算节点的资源分配最小单位为“实例”。通过增加或减少实例的数量,可以动态的为数据流增加或减少计算资源。
假设数据流的某计算节点数据流入速率为λ,通过观察该计算节点当前的计算状态,可以测量出该节点的数据处理能力为λp。理论上,为该计算节点分配λ/λp个实例,就可以应对当前的数据流入速率。由于数据流可能存在“一对一”或“多对一”的节点连接关系,因此每个节点的λ可以根据上游节点的输出速率计算得出。从数据源节点开始,根据拓扑排序的顺序依次遍历计算节点,就可以计算出每个节点应分配的实力数量。
以上计算过程可以通过对数据流各个节点的流量进行监控,完成快速的最优实例数量的计算,但由于实际情况下,增加实例数量往往不能带来线性的性能提升,导致实例数量的分配无法一步完成。由于分布式程序网络传输开销或异构机器的计算能力不同等因素,该方法需要迭代多次“计算实例数量-验证是否最优”的过程,直至根据当前数据负载计算得出的实例数量不再发生变化。与基于规则的弹性伸缩控制器相比,这种基于计算的控制器已经能够更快的完成弹性资源伸缩。但实验证明,该方法仍然需要多次尝试来完成一次资源弹性伸缩。
发明内容
本发明的目的是提供一种分布式数据流资源弹性伸缩增强插件及增强方法,以提高资源弹性伸缩的准确度和效率。
为实现上述目的,本发明提供了如下方案:
一种分布式数据流资源弹性伸缩增强插件,所述插件与用于分布式数据流资源弹性伸缩的伸缩控制器连接;所述插件包括:决策器、决策模型和伸缩操作样本库;
所述伸缩控制器通过第一接口将数据流注册到所述插件;所述伸缩控制器通过第二接口将每个状态下资源伸缩的最优决策发送至所述插件,所述最优决策为使得当前状态下数据流资源量适配当前输入数据量的资源分配决策;
所述伸缩操作样本库用于记录每个状态资源伸缩的最优决策;所述决策模型用于根据所述伸缩操作样本库记录的最优决策对接收到的数据流进行预测,生成预测决策;所述决策模型为机器学习模型;所述决策器用于根据所述预测决策确定推荐决策,所述推荐决策为所述预测决策或当前伸缩控制器生成的决策;所述决策器通过所述第二接口将所述推荐决策返回至所述伸缩控制器;
所述伸缩控制器根据所述推荐决策对当前数据流进行伸缩操作。
可选的,所述插件通过HTTP接口与所述伸缩控制器连接。
可选的,所述伸缩控制器还用于完成伸缩操作后,确定所述伸缩操作对应的推荐决策的决策质量,并将所述决策质量通过第三接口反馈至所述插件;所述推荐决策的决策质量为所述推荐决策是否为最优,当所述推荐决策为最优时,所述插件将所述推荐决策作为最优决策存储至所述伸缩操作样本库;
所述第一接口、所述第二接口和所述第三接口均为HTTP接口。
可选的,所述决策器用于根据所述预测决策的不确定度确定推荐决策;当所述预测决策的不确定度大于阈值时,将所述伸缩控制器生成的决策确定为推荐决策;当所述预测决策的不确定度不大于阈值时,将所述预测决策确定为推荐决策。
本发明还提供一种分布式数据流资源弹性伸缩增强插件的增强方法,所述分布式数据流资源弹性伸缩增强插件的增强方法应用于上述的分布式数据流资源弹性伸缩增强插件,所述分布式数据流资源弹性伸缩增强插件的增强方法包括:
获取当前数据流;
根据当前数据流,采用决策模型基于伸缩操作样本库生成预测决策;
获取当前伸缩控制器生成的决策;
根据所述预测决策,基于决策器确定推荐决策;所述推荐决策为所述预测决策或当前伸缩控制器生成的决策;
基于所述推荐决策采用所述伸缩控制器对当前数据流进行伸缩操作。
可选的,所述根据当前数据流,采用决策模型基于伸缩操作样本库生成预测决策,具体包括:
基于所述伸缩操作样本库对所述决策模型进行训练,得到训练好的决策模型;
采用训练好的决策模型对当前数据流进行预测,生成预测决策。
可选的,所述根据所述预测决策,基于决策器确定推荐决策,具体包括:
基于所述决策器,判断所述预测决策的不确定度是否大于阈值;
当所述预测决策的不确定度大于阈值时,将所述伸缩控制器生成的决策确定为推荐决策;
当所述预测决策的不确定度不大于阈值时,将所述预测决策确定为推荐决策。
可选的,所述基于所述推荐决策采用所述伸缩控制器对当前数据流进行伸缩操作,之后还包括:
当伸缩控制器完成伸缩操作后,确定所述伸缩操作对应的推荐决策的决策质量;所述推荐决策的决策质量为所述推荐决策是否为最优;
当所述推荐决策为最优时,将所述推荐决策作为最优决策存储至所述伸缩操作样本库。
可选的,所述当伸缩控制器完成伸缩操作后,确定所述伸缩操作对应的推荐决策的决策质量,具体包括:
通过判断所述推荐决策是否满足收敛条件,确定所述伸缩操作对应的推荐决策是否为最优;当所述推荐决策满足收敛条件时,确定所述伸缩操作对应的推荐决策最优;当所述推荐决策不满足收敛条件时,确定所述伸缩操作对应的推荐决策不是最优。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明插件使用的伸缩操作采样过程,可以在不干扰现有伸缩控制器工作的前提下,逐渐收集学习样本,用于模型训练。该样本收集过程无额外的开销,使该插件可以“开箱即用”。而且在使用机器学习模型拟合样本后,没有直接使用模型预测值作为最终结果,而是在综合考虑模型预测质量和当前的伸缩控制器给出的决策后,做出最终的决策。这有利于保证该插件不会为伸缩控制器带来负面的影响,可以增强现有的弹性伸缩控制器的决策精度,实现仅使用一个决策即可完成弹性资源伸缩操作。快速的资源伸缩,在分布式数据流资源分配不足时,将快速提高数据处理能力;在资源分配过多时,将减少资源的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明分布式数据流资源弹性伸缩增强插件的架构图;
图2为本发明决策模型生成预测决策的流程示意图;
图3为本发明决策器确定推荐决策的流程示意图;
图4为本发明伸缩控制器反馈决策质量的流程示意图;
图5为本发明分布式数据流资源弹性伸缩增强插件的增强方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明分布式数据流资源弹性伸缩增强插件的架构图。如图1所示,本发明分布式数据流资源弹性伸缩增强插件包括决策器1、决策模型2和伸缩操作样本库3。本发明的插件通过HTTP接口与用于分布式数据流资源弹性伸缩的伸缩控制器连接,通过简单的接口即可完成集成。本发明的插件通过HTTP后端将决策器1、决策模型2和伸缩操作样本库3三个部分与现有的伸缩控制器连接,完成数据传输和功能调用。在被集成后,该插件不会影响现有的弹性伸缩控制器的工作方式,仅在后续的资源伸缩操作中提供推荐的伸缩决策(各计算节点的所需实例数量)。弹性伸缩控制器需要在使用该推荐决策后,将该决策是否可以完成伸缩反馈至插件。通过不断的学习控制器的决策,使插件推荐的决策越来越精准。
本发明的插件包括3个HTTP接口,分别为:注册数据流接口、更新决策接口和推荐决策质量反馈接口。注册数据流接口用于将新的数据流注册到插件。对于多租户的分布式数据流框架,通常需要运行众多的数据流作业。该插件同样支持多租户。调用注册数据流接口,并将数据流拓扑结构作为参数注册至插件。数据流的拓扑结构使用JSON格式表示,记录各个计算节点名称、初始实例数量以及节点连接关系。该JSON格式的信息将被作为参数通过HTTP请求发送至插件。插件将返回能够唯一标识数据流的ID,方便后续的接口进行该数据流的决策更新与推荐。
现有的弹性伸缩控制器在数据流资源不足或过多时进行资源调整,例如提高或降低计算节点的并行度。更新决策接口用于在弹性伸缩控制器进行资源伸缩操作时,将当前数据流状态下对应的操作发送至插件,供插件学习在该状态下应当作出的决策。该方法使用两个指标来表示数据流状态。第一个指标为数据流当前吞吐量,反映了当前数据负载量大小;第二个指标为每个节点输入队列中等待被计算的队列长度,反映了在当前资源配置下,数据流各节点的“压力”。弹性伸缩控制器通常需要使用多次决策来完成一次资源伸缩,本发明将最后一次决策的结果作为最优决策,因为该决策可以使数据流资源量恰好适配当前的输入数据量。伸缩控制器通过将各状态下对应的最优决策发送至插件,使插件收集到在不同状态下需要做出的决策,并保存至伸缩操作样本库。该操作是使插件可以学习最佳决策的前提。在插件收集到的决策信息较少时,不足以训练出准确的决策模型,因此插件将直接返回伸缩控制器的决策;当决策模型可以以较低的不确定度(Uncertainty)进行预测时,插件将模型预测的决策返回,作为推荐决策。
推荐决策质量反馈接口用于反馈插件推荐的决策质量,以便判断是否该推荐决策为最优。
本发明将预测计算节点实例数量的问题定义为回归问题。由于样本维度较低,且预测值为整数,因此较为容易使用机器学习模型进行拟合。同时由于本发明需要对预测结果的质量加以判断,因此使用分布估计来代替值估计,使用贝叶斯线性回归进行样本的学习。如图2所示,本发明的决策模型针对数据流中的每个计算节点单独构建模型。本发明插件的更新决策接口支持对单个计算节点或多个计算节点的样本更新。在实际场景中,可能数据流中的某个节点对资源更敏感(如数据流拓扑结构中计算操作最为密集的节点),因此被更频繁的进行弹性伸缩。这导致伸缩操作样本库中,不同计算节点的样本数量可能不同。样本包含数据流状态及该状态下对应的最优实例数量。通过单独对每个计算节点训练模型,预测不同状态下对应的最优实例数量,达到资源配置推荐的目的。该操作将在插件后端持续运行,对新的样本进行持续的学习。
由于决策模型本身无法保证预测结果的准确性,因此,本发明采用一种基于阈值的判断方法来增强该插件的稳定性。如图3所示,当弹性伸缩控制器调用更新决策接口时,不断被训练的决策模型将会根据当前数据流的状态做出决策,即预测计算节点所需的实例数量。由于该插件采用的贝叶斯线性回归的预测结果为分布,依据输出的分布信息即可以计算不确定度,并使用预测结果的不确定度来判断模型对准确预测的把握大小。当模型输出的不确定度小于或等于阈值η时,决策器将认为该预测是准确的,进而使用该预测实例数量代替伸缩控制器给出的决策中对应节点的实例数量;当输出的不确定度大于阈值η时,决策器将认为准确预测的把握不大,因此将忽略该预测结果,直接使用伸缩控制器的实例数量。将各节点所对应的实例数量称为一个决策。经过以上步骤,决策器可以生成最终的推荐决策,并返回给伸缩控制器。
该决策器策略,将在样本不足时暂时使用伸缩控制器给出的决策,在模型逐渐准确后,直接给出精准的资源伸缩决策。现有的伸缩控制器在集成该插件后,可以从该插件得到逐渐准确的决策,并最终实现一个决策即可完成资源伸缩操作。
伸缩操作样本库记录了数据流在每种状态下所对应的最优决策,即在不同的数据负载下,数据流的每个计算节点所需的实例数量。本发明插件为了完成对不同状态下的最优决策的学习,首先定义了如何表示数据流状态。当数据流的某个节点计算资源不足时,将会产生反压现象,此时数据将会堆积在上游计算节点的输出队列。通过监控数据流各个计算节点的输出队列以及当前数据流的吞吐量,来衡量当前数据流的处理数据的负载状态。弹性伸缩控制器通常需要多个决策完成资源的伸缩,以降低数据流的压力。而该伸缩操作将通过接口存储至插件的伸缩操作样本库,用来学习最优决策。
何时进行资源伸缩操作,依赖于弹性伸缩控制器的实现。判断是否需要进行资源伸缩操作的常见方法包括比较数据输入流量和数据流应用吞吐量额差异、监测数据处理延迟变化等。当弹性伸缩控制器判断需要进行伸缩操作时,将根据其伸缩策略的得到决策D。伸缩控制器生成决策的常见方法包括基于规则的资源重分配策略,或基于排队论模型的资源使用量建模。本插件将伸缩控制策略视为黑盒,不关注其通过何种方式获得决策D。由于资源伸缩控制器通常需要多个决策才能达到收敛,因此本发明关注如何更准确的一步达到最优决策(即决策满足收敛条件,如数据流吞吐量与输入流量匹配)。如图4所示,控制器生成的决策在执行之前,被调用更新决策接口,发送至本插件,供插件生成推荐决策。在获取由插件的决策模型并结合决策器策略得到的推荐决策后,弹性伸缩控制器将执行该推荐决策,以完成当前步骤的资源伸缩,并观察该决策是否收敛。收敛结果即该推荐决策的质量结果将通过调用推荐决策质量反馈接口发送至插件,当该推荐决策收敛时,确定该推荐决策为当前状态的最优决策。收敛方式的判定与伸缩控制器的实现有关。例如,吞吐量与输入数据流量差距小于某个阈值,或控制器做出多次决策保持不变等等。
随着数据流负载的变化,弹性伸缩控制器执行的最优决策将逐渐的被存储至伸缩操作样本库。样本包含了在特定的数据流状态下,计算节点对应的最优实例数量。
基于上述架构图,本发明还提供一种分布式数据流资源弹性伸缩增强插件的增强方法,图5为本发明分布式数据流资源弹性伸缩增强插件的增强方法的流程示意图。如图5所示,本发明分布式数据流资源弹性伸缩增强插件的增强方法包括以下步骤:
步骤100:获取当前数据流。
步骤200:根据当前数据流,采用决策模型基于伸缩操作样本库生成预测决策。首先,基于伸缩操作样本库对所述决策模型进行训练,得到训练好的决策模型;然后,采用训练好的决策模型对当前数据流进行预测,生成预测决策。随着数据流负载的变化,弹性伸缩控制器的最优决策将逐渐的被存储至伸缩操作样本库,其中的样本包含了在特定的数据流状态下,计算节点对应的最优实例数量。在插件收集到的决策信息较少时,不足以训练出准确的决策模型,当插件收集到的决策信息足够时,本插件使用机器学习方法,生成决策模型,可以完成对最优实例数量的预测。
步骤300:获取当前伸缩控制器生成的决策。
步骤400:根据预测决策,基于决策器确定推荐决策。推荐决策为预测决策或当前伸缩控制器生成的决策。当决策模型可以以较低的不确定度进行预测时,即决策模型生成的预测决策的不确定度小于或等于阈值时,插件将决策模型生成的预测决策返回,作为推荐决策;当决策模型生成的预测决策的不确定度大于阈值时,插件将伸缩控制器生成的决策返回,作为推荐决策。
步骤500:基于推荐决策采用伸缩控制器对当前数据流进行伸缩操作。在获取由插件的决策模型并结合决策器策略得到的推荐决策后,伸缩控制器将执行该推荐决策,以完成当前步骤的资源伸缩。
当伸缩控制器完成伸缩操作后,通过判断所述推荐决策是否满足收敛条件,确定所述伸缩操作对应的推荐决策是否为最优,即确定所述伸缩操作对应的推荐决策的决策质量;
当所述推荐决策满足收敛条件时,确定所述伸缩操作对应的推荐决策最优,将所述推荐决策作为最优决策存储至所述伸缩操作样本库。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种分布式数据流资源弹性伸缩增强插件,其特征在于,所述插件与用于分布式数据流资源弹性伸缩的伸缩控制器连接;所述插件包括:决策器、决策模型和伸缩操作样本库;
所述伸缩控制器通过第一接口将数据流注册到所述插件;所述伸缩控制器通过第二接口将每个状态下资源伸缩的最优决策发送至所述插件,所述最优决策为使得当前状态下数据流资源量适配当前输入数据量的资源分配决策;
所述伸缩操作样本库用于记录每个状态资源伸缩的最优决策;所述决策模型用于根据所述伸缩操作样本库记录的最优决策对接收到的数据流进行预测,生成预测决策;所述决策模型为机器学习模型;所述决策器用于根据所述预测决策确定推荐决策,所述推荐决策为所述预测决策或当前伸缩控制器生成的决策;所述决策器通过所述第二接口将所述推荐决策返回至所述伸缩控制器;
所述伸缩控制器根据所述推荐决策对当前数据流进行伸缩操作;
所述决策器用于根据所述预测决策确定推荐决策,具体包括:
当决策模型输出的不确定度小于或等于阈值η时,决策器将认为该预测是准确的,进而使用该预测实例数量代替伸缩控制器给出的决策中对应节点的实例数量;当输出的不确定度大于阈值η时,决策器将认为准确预测的把握不大,因此将忽略该预测结果,直接使用伸缩控制器的实例数量,将各节点所对应的实例数量称为一个决策,经过以上步骤,决策器可以生成最终的推荐决策,并返回给伸缩控制器。
2.根据权利要求1所述的分布式数据流资源弹性伸缩增强插件,其特征在于,所述插件通过HTTP接口与所述伸缩控制器连接。
3.根据权利要求2所述的分布式数据流资源弹性伸缩增强插件,其特征在于,所述伸缩控制器还用于完成伸缩操作后,确定所述伸缩操作对应的推荐决策的决策质量,并将所述决策质量通过第三接口反馈至所述插件;所述推荐决策的决策质量为所述推荐决策是否为最优,当所述推荐决策为最优时,所述插件将所述推荐决策作为最优决策存储至所述伸缩操作样本库;
所述第一接口、所述第二接口和所述第三接口均为HTTP接口。
4.一种分布式数据流资源弹性伸缩增强插件的增强方法,其特征在于,所述分布式数据流资源弹性伸缩增强插件的增强方法应用于权利要求1-3任一项所述的分布式数据流资源弹性伸缩增强插件,所述分布式数据流资源弹性伸缩增强插件的增强方法包括:
获取当前数据流;
根据当前数据流,采用决策模型基于伸缩操作样本库生成预测决策;
获取当前伸缩控制器生成的决策;
根据所述预测决策,基于决策器确定推荐决策;所述推荐决策为所述预测决策或当前伸缩控制器生成的决策;
基于所述推荐决策采用所述伸缩控制器对当前数据流进行伸缩操作;
所述根据所述预测决策,基于决策器确定推荐决策,具体包括:
当决策模型输出的不确定度小于或等于阈值η时,决策器将认为该预测是准确的,进而使用该预测实例数量代替伸缩控制器给出的决策中对应节点的实例数量;当输出的不确定度大于阈值η时,决策器将认为准确预测的把握不大,因此将忽略该预测结果,直接使用伸缩控制器的实例数量,将各节点所对应的实例数量称为一个决策,经过以上步骤,决策器可以生成最终的推荐决策,并返回给伸缩控制器。
5.根据权利要求4所述的分布式数据流资源弹性伸缩增强插件的增强方法,其特征在于,所述根据当前数据流,采用决策模型基于伸缩操作样本库生成预测决策,具体包括:
基于所述伸缩操作样本库对所述决策模型进行训练,得到训练好的决策模型;
采用训练好的决策模型对当前数据流进行预测,生成预测决策。
6.根据权利要求4所述的分布式数据流资源弹性伸缩增强插件的增强方法,其特征在于,所述基于所述推荐决策采用所述伸缩控制器对当前数据流进行伸缩操作,之后还包括:
当伸缩控制器完成伸缩操作后,确定所述伸缩操作对应的推荐决策的决策质量;所述推荐决策的决策质量为所述推荐决策是否为最优;
当所述推荐决策为最优时,将所述推荐决策作为最优决策存储至所述伸缩操作样本库。
7.根据权利要求6所述的分布式数据流资源弹性伸缩增强插件的增强方法,其特征在于,所述当伸缩控制器完成伸缩操作后,确定所述伸缩操作对应的推荐决策的决策质量,具体包括:
通过判断所述推荐决策是否满足收敛条件,确定所述伸缩操作对应的推荐决策是否为最优;当所述推荐决策满足收敛条件时,确定所述伸缩操作对应的推荐决策最优;当所述推荐决策不满足收敛条件时,确定所述伸缩操作对应的推荐决策不是最优。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011434620.8A CN112416602B (zh) | 2020-12-10 | 2020-12-10 | 一种分布式数据流资源弹性伸缩增强插件及增强方法 |
PCT/CN2021/124859 WO2022121519A1 (zh) | 2020-12-10 | 2021-10-20 | 一种分布式数据流资源弹性伸缩增强插件及增强方法 |
US17/791,484 US11853801B2 (en) | 2020-12-10 | 2021-10-20 | Plug-in for enhancing resource elastic scaling of distributed data flow and method for enhancing plug-in for enhancing resource elastic scaling of distributed data flow |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011434620.8A CN112416602B (zh) | 2020-12-10 | 2020-12-10 | 一种分布式数据流资源弹性伸缩增强插件及增强方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112416602A CN112416602A (zh) | 2021-02-26 |
CN112416602B true CN112416602B (zh) | 2022-09-16 |
Family
ID=74775464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011434620.8A Active CN112416602B (zh) | 2020-12-10 | 2020-12-10 | 一种分布式数据流资源弹性伸缩增强插件及增强方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11853801B2 (zh) |
CN (1) | CN112416602B (zh) |
WO (1) | WO2022121519A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416602B (zh) | 2020-12-10 | 2022-09-16 | 清华大学 | 一种分布式数据流资源弹性伸缩增强插件及增强方法 |
CN113393399A (zh) * | 2021-06-22 | 2021-09-14 | 武汉云漫文化传媒有限公司 | 一种用于Maya的颜色指定增强插件及其颜色增强方法 |
CN116089477B (zh) * | 2023-04-10 | 2023-08-08 | 荣耀终端有限公司 | 分布式训练方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941489A (zh) * | 2018-09-21 | 2020-03-31 | 北京京东尚科信息技术有限公司 | 流处理引擎的伸缩方法和装置 |
CN112000473A (zh) * | 2020-08-12 | 2020-11-27 | 中国银联股份有限公司 | 深度学习模型的分布式训练方法以及装置 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7889651B2 (en) * | 2007-06-06 | 2011-02-15 | International Business Machines Corporation | Distributed joint admission control and dynamic resource allocation in stream processing networks |
US8799916B2 (en) * | 2011-02-02 | 2014-08-05 | Hewlett-Packard Development Company, L. P. | Determining an allocation of resources for a job |
US9262216B2 (en) * | 2012-02-14 | 2016-02-16 | Microsoft Technologies Licensing, LLC | Computing cluster with latency control |
US11488040B2 (en) * | 2014-05-22 | 2022-11-01 | The Bank Of New York Mellon | System and methods for prediction communication performance in networked systems |
GB2541625A (en) * | 2014-05-23 | 2017-02-22 | Datarobot | Systems and techniques for predictive data analytics |
US9848041B2 (en) * | 2015-05-01 | 2017-12-19 | Amazon Technologies, Inc. | Automatic scaling of resource instance groups within compute clusters |
US10481948B2 (en) * | 2015-08-25 | 2019-11-19 | Box, Inc. | Data transfer in a collaborative file sharing system |
US10509683B2 (en) * | 2015-09-25 | 2019-12-17 | Microsoft Technology Licensing, Llc | Modeling resource usage for a job |
US10419530B2 (en) * | 2015-11-02 | 2019-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | System and methods for intelligent service function placement and autoscale based on machine learning |
US11036552B2 (en) * | 2016-10-25 | 2021-06-15 | International Business Machines Corporation | Cognitive scheduler |
CN106534307B (zh) | 2016-11-14 | 2019-07-16 | 青岛银行股份有限公司 | 基于负载均衡动态配置插件的云环境弹性负载均衡方法 |
US20180205616A1 (en) * | 2017-01-18 | 2018-07-19 | International Business Machines Corporation | Intelligent orchestration and flexible scale using containers for application deployment and elastic service |
US20180255122A1 (en) * | 2017-03-02 | 2018-09-06 | Futurewei Technologies, Inc. | Learning-based resource management in a data center cloud architecture |
CN107580023B (zh) * | 2017-08-04 | 2020-05-12 | 山东大学 | 一种动态调整任务分配的流处理作业调度方法及系统 |
US20190138974A1 (en) * | 2017-09-18 | 2019-05-09 | Sunago Systems, Inc. | Systems and devices for parcel transportation management |
US11074470B2 (en) * | 2017-12-06 | 2021-07-27 | La Société Dataperformers Inc. | System and method for automatically improving gathering of data using a data gathering device |
US11645277B2 (en) * | 2017-12-11 | 2023-05-09 | Google Llc | Generating and/or utilizing a machine learning model in response to a search request |
US10719363B2 (en) * | 2018-01-22 | 2020-07-21 | Vmware, Inc. | Resource claim optimization for containers |
US10628762B2 (en) * | 2018-04-09 | 2020-04-21 | Microsoft Technology Licensing, Llc | Learning power grid characteristics to anticipate load |
US20210326185A1 (en) * | 2018-09-26 | 2021-10-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, first agent and computer program product controlling computing resources in a cloud network for enabling a machine learning operation |
CN111130834B (zh) | 2018-11-01 | 2021-05-07 | 大唐移动通信设备有限公司 | 一种网络弹性策略的处理方法及装置 |
US20200320428A1 (en) * | 2019-04-08 | 2020-10-08 | International Business Machines Corporation | Fairness improvement through reinforcement learning |
KR20190110073A (ko) * | 2019-09-09 | 2019-09-27 | 엘지전자 주식회사 | 인공 지능 모델을 갱신하는 인공 지능 장치 및 그 방법 |
US11182216B2 (en) * | 2019-10-09 | 2021-11-23 | Adobe Inc. | Auto-scaling cloud-based computing clusters dynamically using multiple scaling decision makers |
US11567495B2 (en) * | 2019-12-11 | 2023-01-31 | Toyota Motor Engineering & Manufacturing North America, Inc. | Methods and systems for selecting machine learning models to predict distributed computing resources |
US11676039B2 (en) * | 2020-02-21 | 2023-06-13 | International Business Machines Corporation | Optimal interpretable decision trees using integer linear programming techniques |
CN111880899B (zh) * | 2020-07-27 | 2022-08-16 | 山东迪特智联信息科技有限责任公司 | 一种基于云原生架构的大数据流处理方法和装置 |
US11687380B2 (en) * | 2020-09-10 | 2023-06-27 | International Business Machines Corporation | Optimizing resource allocation for distributed stream processing systems |
CN112416602B (zh) | 2020-12-10 | 2022-09-16 | 清华大学 | 一种分布式数据流资源弹性伸缩增强插件及增强方法 |
-
2020
- 2020-12-10 CN CN202011434620.8A patent/CN112416602B/zh active Active
-
2021
- 2021-10-20 US US17/791,484 patent/US11853801B2/en active Active
- 2021-10-20 WO PCT/CN2021/124859 patent/WO2022121519A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941489A (zh) * | 2018-09-21 | 2020-03-31 | 北京京东尚科信息技术有限公司 | 流处理引擎的伸缩方法和装置 |
CN112000473A (zh) * | 2020-08-12 | 2020-11-27 | 中国银联股份有限公司 | 深度学习模型的分布式训练方法以及装置 |
Non-Patent Citations (1)
Title |
---|
流数据处理中负载突发感知的弹性资源分配;李丽娜等;《计算机学报》;20170819;第41卷(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022121519A1 (zh) | 2022-06-16 |
US11853801B2 (en) | 2023-12-26 |
CN112416602A (zh) | 2021-02-26 |
US20230129969A1 (en) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416602B (zh) | 一种分布式数据流资源弹性伸缩增强插件及增强方法 | |
JP7094352B2 (ja) | タスク並列処理の実現方法、装置、機器及び媒体 | |
Le Nguyen et al. | Deep convolutional LSTM network-based traffic matrix prediction with partial information | |
WO2016107180A1 (zh) | 网络数据流类型检测方法及装置 | |
US7941387B2 (en) | Method and system for predicting resource usage of reusable stream processing elements | |
Luo et al. | Intelligent Virtual Machine Provisioning in Cloud Computing. | |
CN114143326B (zh) | 负载调节方法、管理节点以及存储介质 | |
CN111325310A (zh) | 一种数据预测方法、装置及存储介质 | |
CN109634744A (zh) | 一种基于云平台资源分配的精确匹配方法,设备及存储介质 | |
CN104254083B (zh) | 预测业务热点的方法及装置 | |
CN111385142A (zh) | 基于Kubernetes的自适应伸缩web容器的方法 | |
CN117707747B (zh) | 基于资源使用率预测的作业超量分配调度方法及系统 | |
CN110191015B (zh) | 基于cpi指标的云服务性能智能预测方法和装置 | |
CN113810234B (zh) | 微服务链路拓扑处理方法、装置及可读存储介质 | |
CN108897673B (zh) | 系统容量评估方法与装置 | |
KR20200072589A (ko) | Gpu 연산 기반의 딥러닝을 이용한 선호 콘텐츠 추천 장치 및 그 방법 | |
CN103825963B (zh) | 虚拟服务迁移方法 | |
CN105791010A (zh) | 基于用户隐含特征和协同过滤的服务质量QoS预测方法 | |
CN109711555B (zh) | 一种预测深度学习模型单轮迭代时间的方法和系统 | |
KR20130090628A (ko) | 모바일 클라우드를 위한 온톨로지 기반의 가상 머신 할당 장치 및 그 방법 | |
CN115185683A (zh) | 一种基于动态优化模型的云平台流处理资源分配方法 | |
CN107133104B (zh) | 一种分布式流数据处理方法 | |
CN106533730B (zh) | Hadoop集群组件指标的采集方法及装置 | |
CN115860856A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115766482A (zh) | 基于int和机器学习的服务质量预测方法 |
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 |