云平台负载运行方法

文档序号:10515755阅读:395来源:国知局
云平台负载运行方法
【专利摘要】本发明提供了一种云平台负载运行方法,该方法包括:云平台的控制节点计算数据服务器的负载平衡程度和业务调度效能,以选择最优业务调度策略。本发明提出了一种云平台负载运行方法,提高了云平台数据服务器的吞吐率,优化了数据服务器对外服务性能,具有更好的调度平衡效果。
【专利说明】
云平台负载运行方法
技术领域
[0001] 本发明设及云计算,特别设及一种云平台负载运行方法。
【背景技术】
[0002] 云计算作为一种新型的计算模式和服务模式,它将大量的计算业务分布式的分派 给由底层云平台计算机硬件组成的资源池中,在科研、生产和贸易服务领域有着广泛应用。 由于数据服务器资源池是由海量的硬件资源共同组成的,而且计算机数量非常庞大,组成 复杂,资源的配置差异较大,当大规模的计算业务需要数据服务器处理时,运时就会导致数 据服务器的负载不平衡。而负载的不平衡会造成吞吐率的下降W及响应时间的增加,在一 定程度上影响了云平台为用户提供的服务质量。针对云计算数据服务器,不同的业务调度 策略会造成整个系统具有不同的负载分配情况,从而导致具有不同的执行效率和对外计算 服务能力,最优的业务调度策略应该是一种能够使整个云计算系统产生负载平衡效果的策 略。在现有的负载平衡策略中,往往需要维护额外的历史数据,运将导致系统的冗余负载, 并且估计负载的效果并不是非常理想。

【发明内容】

[0003] 为解决上述现有技术所存在的问题,本发明提出了一种云平台负载运行方法,包 括:
[0004] 云平台的控制节点计算数据服务器的负载平衡程度和业务调度效能,W选择最优 业务调度策略。
[0005] 优选地,所述控制节点包括调度策略模块、调度控制模块、估计模块W及监控器模 块;所述控制节点根据当前云平台中的计算节点信息计算出每个计算节点的剩余资源量, W及每台计算节点中的虚拟机的运行状态;调度策略模块由主控制节点触发,其他控制节 点同样设置调度策略模块,在主控制节点出现异常状态下,其他控制节点选取处理能力最 高的节点作为主控制节点;
[0006] 当计算节点上监控器确定有用户请求业务时,用户通过自身的发送模块将请求业 务的信息发送给监控器模块,监控器模块获取特定时间段内用户请求业务的资源量和数据 服务器中计算节点的剩余资源量信息,包括处理器剩余和存储器剩余,监控器模块将运些 信息整理后发送给解析模块;
[0007] 解析模块动态解析收集到的业务信息和计算节点的计算节点信息,进行具体的解 析过程,在解析完成后将数据通过解析模块发送给估计模块;当估计模块接收来自解析发 送的数据时,立即解析其接收的数据,在估计模块完成性能参数的计算和估计,即使用选定 的业务调度策略后调度业务的效能和负载平衡度值;
[000引所述估计模块将估计的信息、计算节点状态信息W及请求业务的信息发送给调度 策略模块,然后生成相应的调度策略,将调度策略和相关信息传送给调度控制器,调度控制 器解析最终得到的数据并发送指令到相应的计算节点的接收模块,控制器控制和执行调度 业务;最后,将特定时间段内收集的业务请求调度到通过调度策略模块找到的最优计算节 点上;
[0009] 用户模块在一个特定时间段内收集到多个用户的业务请求信息,将运些用户的业 务请求信息汇总,然后将运些业务请求信息通过用户模块内部的预处理模块形成一个用户 请求通过发送模块传递给业务调度系统内部的监控器模块;当系统处理完毕后将计算结果 发送给用户端的接收模块,接收模块再通过预处理模块将计算信息分类,并且分别返回给 请求的用户;其中预处理模块将零散的业务聚集汇成业务调度系统能够识别的业务类型。
[0010] 本发明相比现有技术,具有W下优点:
[0011] 本发明提出了一种云平台负载运行方法,提高了云平台数据服务器的吞吐率,优 化了数据服务器对外服务性能,具有更好的调度平衡效果。
【附图说明】
[0012] 图1是根据本发明实施例的云平台负载运行方法的流程图。
【具体实施方式】
[0013] 下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描 述。结合运样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利 要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节W 便提供对本发明的透彻理解。出于示例的目的而提供运些细节,并且无运些具体细节中的 一些或者所有细节也可W根据权利要求书实现本发明。
[0014] 本发明的一方面提供了一种云平台负载运行方法。图1是根据本发明实施例的云 平台负载运行方法流程图。
[0015] 本发明根据业务调度方法的体系结构,分解成多个功能模块,共同组成一个完整 的业务调度系统。然后,在系统体系结构的基础上,提出了一种云计算平台下的业务调度方 法,实现了云平台数据服务器的负载平衡。在本发明所运行的体系结构中,控制节点的功能 是根据当前调度策略与最优调度策略和随机调度策略进行业务调度,调度完成后比较Ξ种 策略在云平台数据服务器整体负载平衡程度和调度业务的效能,然后根据估计的结果找出 一个最优的业务调度策略。控制节点可W根据当前云平台中的计算节点信息计算出哪个计 算节点的剩余资源量是多少W及每台计算节点中的虚拟机的运行状态。同时,在业务调度 策略中还有用于接收业务调度的请求和计算节点状态信息等控制节点,运种节点的作用是 控制调度方法的执行流程和周期。
[0016] 所有的节点通过网络直接或间接的互相连接组成了云平台数据服务器。只有主控 制节点才能触发调度策略模块,由控制节点决定最终的业务调度策略。在其他控制节点同 样设置调度策略模块,在主控制节点出现异常状态下,其他控制节点会选取处理能力最高 的节点作为主控制节点,然后让其节点内的业务调度模块进行工作。
[0017] 在业务调度策略的控制节点包括调度策略模块、调度控制模块W及监控器模块; 计算节点包括发送模块和接收模块;用户端包括用于发送业务请求的发送模块和用于接收 计算结果的接收模块。整体逻辑流程如下:首先,当计算节点上监控器确定有用户请求业务 时,用户通过发送模块将请求业务的信息发送给监控器模块,监控器模块获取了特定时间 段内用户请求业务的资源量和数据服务器中计算节点的剩余资源量信息,包括处理器剩余 和存储器剩余,监控器模块会将运些信息整理后发送给下一级模块,即解析模块。
[0018] 解析模块动态的解析收集到的业务信息和计算节点的计算节点信息,进行具体的 解析过程,在解析完成后将数据通过解析模块发送给估计模块。当估计模块接收来自解析 发送的数据时,立即解析其接收的数据。本发明的估计模块需要完成性能参数的计算和估 计,即使用本发明的业务调度策略后调度业务的效能和负载平衡度值。
[0019] 估计模块将估计的信息、计算节点状态信息W及请求业务的信息发送给调度策略 模块,然后根据本发明提出的方法生成相应的调度策略,然后将调度策略和相关信息传送 给调度控制器,调度控制器解析最终得到的数据并发送指令到相应的计算节点的接收模 块,控制器的作用是控制和执行调度业务。最后,将特定时间段内收集的业务请求调度到通 过调度策略模块找到的最优计算节点上。
[0020] 用户模块触发整个系统正常运转,在一个特定时间段内收集到的多个用户的业务 请求信息,用户模块将运些用户的业务请求信息汇总,然后将运些业务请求信息通过用户 模块内部的预处理模块形成一个用户请求通过发送模块传递给业务调度系统内部的监控 器模块。当系统处理完毕后将计算结果发送给用户端的接收模块,接收模块再通过预处理 模块将计算信息分类,并且分别返回给请求的用户。在运部分里,预处理模块起着重要作 用,它将零散的业务聚集汇成业务调度系统能够识别的业务类型。
[0021] 监控器模块负责监控和传递用户和计算节点云平台的实时状态信息。当监控器模 块开始监控时,收集用户的业务请求信息和云平台内部计算节点的负载信息,并将运些信 息通过内部的预处理模块存储到数据库中,数据库利用链表来存储业务信息和计算节点信 息。
[0022] 当特定时间段内结束时,将数据库里存储的用户请求的业务信息和计算节点信息 发送给解析模块进行解析,发送完毕后,将内部的数据库立即发送到回收模块,清空数据 库,准备接收下一个特定时间段内的用户请求业务信息和计算节点信息。
[0023] 解析模块利用解向量表示为寻找的最优业务调度策略。将业务调度问题解析为将 特定时间段内收到的业务请求调度到云平台数据服务器中由多个计算节点组成的最优计 算节点集合中的问题。业务调度问题的解可W表示为一个N维解向量,每个元素代表处理用 户业务请求的最优计算节点的一个元组。若在相同的网络带宽下,数据服务器中有η台可用 的计算节点,运些计算节点使用空间共享分配策略。云平台数据服务器优化每个特定时间 段。本发明定义了一个四元组¥={5,11(,^,^}来描述,5表示为一组可用的计算节点集合,5 (n,t) = {si,S2, . . .,Sn},t表示调度开始时间。ΤΚ表示特定时间段内用户业务请求的集合, TK(m,At,t) = {tki,tk2,--,thm} dL。为集合S中η台计算节点当前处理器剩余的集合,L。 (n,t) = {?Λ,?Λ,. . .,1Λ}。以为集合S中η台计算节点在时亥Ijt的存储器剩余的集合,Lm(n,t) =化im,lA,...,1Λ}。得到计算节点集合,同时也是找到的符合最优业务调度策略,运个计 算节点集合能够满足当前所处理的业务集合的性能约束。
[0024] 估计模块包括系统性能估计模块和完成时间估计模块。系统性能估计模块评价和 计算本系统的性能指标,可W为本发明业务调度策略提供可靠数据,从而提高了系统执行 的精确度。而完成时间估计模块为用户和系统提供估计完成时间,也就是期望完成时间,在 运里用te表示系统和用户对业务的期望完成时间,确定系统期望的业务执行完成时间te。当 确定期望完成时间后,估计模块会将期望完成时间信息传送给监控器模块,监控器模块会 W指令的形式发送给用户端的接收模块,然后用户接收模块会在短时间内通过预处理模块 告之当前请求业务的用户。当第一个特定时间段内的业务开始执行到处理完毕,运个时间 段称为实际执行完成时间,系统生成一个实际执行完成时间tf,在理想状态下用户期望完 成时间与实际完成时间几乎相等,但是,在实际的业务调度过程中会受到网络、传输延迟、 计算节点负载等因素的制约,必然大于实际的执行完成时间。用户在请求业务之前会对业 务的执行完成时间有一个期望值,而系统在实际的执行过程中,业务的完成时间并不一定 等于用户的期望值,为了描述用户的对业务执行完成时间的容忍程度,使系统更加精准、高 效的运行,需要使用函数作为评价依据,即完成时间容忍度函数TD:
[0025] TD = l-(t 广 te)/tf
[0026] 即当实际完成时间大于期望完成时间时,则容忍度会随着业务实际执行完成时间 的增加而逐渐减小。每个特定时间段内的业务执行完成后,根据容忍程度的变化做出相应 的调整。
[0027] 调度策略模块内部有一个接收数据的模块。当估计模块将数据信息传递到调度策 略模块内部的数据输入模块时,由于运些数据混合在一起而且杂乱无章。此时,就需要将运 些混合的数据进行解调,得到计算节点的信息,W及特定时间段内用户请求的业务量。解调 完成后,分别对两类数据进行操作,业务量模块内部计算出此时的请求业务的资源量,并W 此时的业务资源量作为约束值。然后,计算节点负载模块内部则根据计算节点的处理器剩 余和存储器剩余计算出云平台中每一台计算节点的实时剩余资源量。根据当前的请求业务 量,将云平台内计算节点剩余资源量大于请求业务量的计算节点组成一个计算节点集合, 通过计算节点集合模块与业务调度方法的交互,最终得到业务调度策略,然后将最优调度 策略发送给调度控制模块。
[0028] 当业务调度方法内部执行完毕后,将其生成的调度策略发送给调度控制模块,调 度控制模块控制生成的调度策略W指令的形式通知云平台,并将待处理的业务分派到各个 计算节点,W确保业务的顺利执行,并且同时保证算法的高效性、健壮性。调度控制模块内 部实现流程如下:当接收模块接到来自调度策略模块的数据后,将数据发送给内部的数据 输入模块,输入模块向调度策略预处理模块和云平台计算节点模块分别输入两个数据,业 务调度方法调度策略和云平台计算节点集合PH。预处理模块根据输入的业务调度方法策略 生成最终的最优调度策略。运时,云平台计算节点模块将云平台内的计算节点组成集合PH, 然后将PH集合发送到最优调度策略模块,最优调度策略模块根据输入的计算节点集合进行 挑选处理业务最优的计算节点,并且组成一个最优计算节点集合ST,ST集合中存放着云平 台中计算节点的位置W及编号信息,需要将集合中的信息W指令的形式封装起来,然后将 指令信息发送给云平台计算节点模块,至此,调度控制模块内部工作完成。
[0029] 当计算节点云平台模块接收到来自系统内部的调度控制模块的指令信息后,将指 令信息传递给内部的输入模块,输入模块将业务集合和调度指令分别发送到请求业务模块 和解调指令模块,然后解调指令模块将收到的指令解调,并传送到调度模块,与此同时,请 求业务模块同样将业务集合传送给调度模块。调度模块根据计算节点指令信息,选择相应 的计算节点。当计算节点选择完成后,将业务集合中的业务快速的调度到相应的计算节点 上进行处理业务,业务完成后,将计算结果返回到系统中的接收模块,然后接收模块再将计 算结果发送给用户,至此,云平台计算节点模块的内部工作完成,并且开始进行下一个特定 时间段的业务调度。
[0030] 本发明提出的业务调度方法将云平台数据服务器收集到的业务请求调度到云平 台的目标计算节点上,实现业务的高效调度。首先,根据评价计算节点性能的适应性函数、 当前计算节点的处理器剩余和存储器剩余计算出当前全部计算节点的服务性能,依据当前 用户请求业务量的大小对云平台内部的计算节点进行条件挑选,将计算节点剩余资源量大 于业务请求集合的总资源量的计算节点组成一个集合,该集合是对云平台数据服务器的一 个整体性约束。然后将计算节点集合中k台计算节点抽象成k个聚类点并且分别与云平台中 全部计算节点进行聚类,将每台计算节点的处理器剩余量和存储器剩余量抽象为计算节点 的两个属性,根据计算节点的两个属性计算计算节点之间的近似度,然后由近似度给定一 个阔值,将计算节点之间的近似度在阔值内的计算节点加入到一个新的集合。当集合中的 元素不再变化时,运个集合就是聚类的最后结果。最后,将待处理的业务调度至最终集合中 的计算节点。数据服务器中计算节点聚类的过程就是找到处理业务最优计算节点的过程, 初始时云平台数据服务器有η台计算节点,当根据每台计算节点的资源剩余和请求业务量 的大小进行第一次挑选,运时会得到一个集合,此时集合内的计算节点数小于等于η,而第 二次挑选出的结果集合内的计算节点的性能在一定程度上满足了当前用户的需求。
[0031] 步骤1:假设数据服务器有η台计算节点组成一个集合Η,为了满足聚类点的性能约 束,本发明对数据服务器中的全部计算节点进行一个约束条件限制,将计算节点的剩余资 源量以作为度量标准,Li定义如下:
[0032] k = aLc+0Lm
[0033] 其中 α+β=1
[0034] Lc为处理器剩余;Lm为存储器剩余;α为处理器权重;β为存储器权重;α和β值的确定 采用ΒΡ神经网络学习获取,根据计算节点性能的适应性函数,获取整个数据服务器中计算 节点的各项性能监控数据,包括处理器和存储器数据,可W计算出当前云平台数据服务器 中η台计算节点的剩余资源量。将约束值定义为:特定时间段内接收到的业务请求集合的总 资源量,即:
[0035]
[0036] 其中,LR表示为业务请求集合的总资源量,怎;^表示为业务请求集合中第i个业务 的资源量。定义一个空集S,计算出业务请求集合的总资源量LR,当Li〉L則寸,将i计算节点调 度至集合S中,否则继续寻找,当η台计算节点与约束值比较完成后得到的集合S,集合S = (si,S2,S3----,Sm},即为聚类点的集合,m<n。
[0037] 步骤2:根据计算节点性能的适应性函数得到每台计算节点的性能值,通过和约束 值的限定,本发明将数据服务器中性能相对较好的计算节点调度至集合S中。将计算节点的 处理器剩余和存储器剩余作为计算节点的两个属性。设S= { S1,S2,S3--,Sm}为m个计算节 点组成的集合,对集合S中的计算节点的处理器剩余进行降序排序,处理器剩余大的排列在 前,假设Sj为处理器剩余最大的计算节点,将乍为聚类点,则计算近似度的公式为:
[003引
[0039] s(;si,sj)二 l/cKsi,Sj)
[0040] 为计算节点j的第k个属性,由此计算出计算节点j与计算节点i之间的近似度s (Si'Sj):
[0041]
[0042] 步骤3: Wsj为聚类点,计算sj与集合Η中各个元素之间的近似度值。根据近似度给 定一个阔值U,如果近似度大于阔值U,则将该元素加入新集合S'中。然后集合对安照计算节 点处理器剩余的降序依次选择聚类点,分别计算与集合Η中元素的近似度,将阔值大于U的 元素调度至集合S'中,当集合S'中元素不再变化时,则迭代结束,集合S'为最终的聚类结 果,即S' = {si',S2 '. . . Sq'},其中q<m<n。
[0043] 步骤4:将数据服务器接收的业务请求调度至集合S'中的计算节点,然后集合S'中 的计算节点处理请求的业务集合,处理完成后将结果返回给用户。从集合S'中计算节点开 始处理业务到处理完成,将运段时间作为特定时间段,数据服务器在特定时间段内接收的 业务请求数作为下一次待处理的业务。
[0044] 步骤5:在下一时间段内重复步骤1-4的上述过程。
[0045] 综上所述,本发明提出了一种云平台负载运行方法,提高了云平台数据服务器的 吞吐率,优化了数据服务器对外服务性能,具有更好的调度平衡效果。
[0046] 显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可W用通用 的计算系统来实现,它们可W集中在单个的计算系统上,或者分布在多个计算系统所组成 的网络上,可选地,它们可W用计算系统可执行的程序代码来实现,从而,可W将它们存储 在存储系统中由计算系统来执行。运样,本发明不限制于任何特定的硬件和软件结合。
[0047] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者运种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种云平台负载运行方法,其特征在于,包括: 云平台的控制节点计算数据服务器的负载平衡程度和业务调度效能,以选择最优业务 调度策略。2. 根据权利要求1所述的方法,其特征在于,所述控制节点包括调度策略模块、调度控 制模块、估计模块以及监控器模块;所述控制节点根据当前云平台中的计算节点信息计算 出每个计算节点的剩余资源量,以及每台计算节点中的虚拟机的运行状态;调度策略模块 由主控制节点触发,其他控制节点同样设置调度策略模块,在主控制节点出现异常状态下, 其他控制节点选取处理能力最高的节点作为主控制节点; 当计算节点上监控器确定有用户请求业务时,用户通过自身的发送模块将请求业务的 信息发送给监控器模块,监控器模块获取特定时间段内用户请求业务的资源量和数据服务 器中计算节点的剩余资源量信息,包括处理器剩余和存储器剩余,监控器模块将这些信息 整理后发送给解析模块; 解析模块动态解析收集到的业务信息和计算节点的计算节点信息,进行具体的解析过 程,在解析完成后将数据通过解析模块发送给估计模块;当估计模块接收来自解析发送的 数据时,立即解析其接收的数据,在估计模块完成性能参数的计算和估计,即使用选定的业 务调度策略后调度业务的效能和负载平衡度值; 所述估计模块将估计的信息、计算节点状态信息以及请求业务的信息发送给调度策略 模块,然后生成相应的调度策略,将调度策略和相关信息传送给调度控制器,调度控制器解 析最终得到的数据并发送指令到相应的计算节点的接收模块,控制器控制和执行调度业 务;最后,将特定时间段内收集的业务请求调度到通过调度策略模块找到的最优计算节点 上; 用户模块在一个特定时间段内收集到多个用户的业务请求信息,将这些用户的业务请 求信息汇总,然后将这些业务请求信息通过用户模块内部的预处理模块形成一个用户请求 通过发送模块传递给业务调度系统内部的监控器模块;当系统处理完毕后将计算结果发送 给用户端的接收模块,接收模块再通过预处理模块将计算信息分类,并且分别返回给请求 的用户;其中预处理模块将零散的业务聚集汇成业务调度系统能够识别的业务类型。
【文档编号】H04L29/08GK105872109SQ201610438965
【公开日】2016年8月17日
【申请日】2016年6月17日
【发明人】张敬华, 程映忠, 王松
【申请人】四川新环佳科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1