本发明涉及云平台技术领域,具体地说,涉及一种具备水平伸缩功能的云平台系统。
背景技术:
云平台中一个很关键的技术就是资源的虚拟化,并根据不同业务在不同时间对资源需求的不同特点,来动态地调节平衡虚拟化资源的配置,从而实现在现有物理资源规模情况下资源的高效利用。虚拟化资源的分配调度策略便成为云平台技术研究的重点之一。水平层面的伸缩是基于虚拟机层面来实现资源的动态配置,通过增减虚拟机的数量来完成资源的补充和释放,但目前,水平层面的伸缩仅仅通过负载效果对比进行调节,并未考虑经济效益,导致负载需求难以直接转化为资源请求,且粗粒度的资源划分,导致严重的资源浪费。
技术实现要素:
本发明的目的在于提供一种具备水平伸缩功能的云平台系统,以解决上述背景技术中提出的问题。
为实现上述技术问题的解决,本发明的目的之一在于,提供一种具备水平伸缩功能的云平台系统,包括资源管理单元、效益分析单元、作业调度单元和容器管理单元;所述资源管理单元用于接收用户的作业提交申请,并将作业放入等待队列中;所述效益分析单元用于通过经济效益度量系统资源价值,从而反映实际的资源利用率;所述作业调度单元,将待调度作业按照单位规模资源出价从大到小排序;所述容器管理单元用于集群间水平伸缩方式为作业分配资源,将作业派发到新建集群。
作为本技术方案的进一步改进,所述资源管理单元包括接收作业模块、作业队列模块和队列更新模块,所述接收作业模块用于接收用户的作业提交申请;所述作业队列模块用于对待调度作业按序进行排列;所述队列更新模块用于对待调度作业排序进行更新。
作为本技术方案的进一步改进,所述效益分析单元包括作业资源需求分析模块、资源成本分析模块和资源分配量分析模块,所述资源需求分析模块用于分析作业资源需求量;所述资源成本分析模块用于分析资源成本效率;所述资源分配量分析模块用于分析实际作业分配资源量。
作为本技术方案的进一步改进,所述作业资源需求分析模块中,用
其中,
作为本技术方案的进一步改进,所述资源成本分析模块的公式如下:
其中,
作为本技术方案的进一步改进,所述资源分配量分析模块的公式如下:
其中,
其中,
由于系统运行需要一定的资源占用,一般地,
整理后得:
作为本技术方案的进一步改进,所述作业调度单元包括作业资源分析获取模块和作业资源排序模块,所述作业资源分析获取模块用于获取效益分析单元分析后的作业数据;所述作业资源排序模块用于对分析后的作业数据进行排序。
所述作业资源排序模块采用快速排序算法,其算法包括如下步骤:
a、如果s中的元素的数目为0或1,就返回;
b、选择s中的任意一个元素v,v叫做支点;
c、将s-{v}分成两个分开的部分;分别为l={x属于s-{v}|x<=v}和r={x属于s-{v}|x>=v};
d、依次返回quicksort(l)、v和quicksort(r)的结果。
作为本技术方案的进一步改进,所述容器管理单元包括活跃集群模块、最小规模集群模块和调度模块;所述活跃集群模块用于获取作业时刻所有活跃集群;所述最小规模集群模块用于获取作业时刻中所有活跃集群内的最小集群规模;所述调度模块用于将作业调度到最小集群规模内。
用
其中,
本发明的目的之二在于,提供一种具备水平伸缩功能的云平台装置,包括处理器、存储器以及存储在存储器中并在处理器上运行的计算机程序,处理器用于执行计算机程序时实现上述任一的具备水平伸缩功能的云平台系统。
本发明的目的之三在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一的具备水平伸缩功能的云平台系统。
与现有技术相比,本发明的有益效果:该具备水平伸缩功能的云平台系统中,通过经济效益度量系统资源价值,从而反映实际的资源利用率,优先调度单位规模出价高的作业更有利于提高系统效益,在保证服务质量的基础上,提高资源利用率。
附图说明
图1为实施例1的云平台系统整体框图;
图2为实施例1的资源管理单元模块框图;
图3为实施例1的效益分析单元模块框图;
图4为实施例1的作业调度单元模块框图;
图5为实施例1的容器管理单元模块框图;
图6为实施例1的云平台装置结构示意图。
图中各个标号意义为:
100、资源管理单元;101、接收作业模块;102、作业队列模块;103、队列更新模块;
200、效益分析单元;201、作业资源需求分析模块;202、资源成本分析模块;203、资源分配量分析模块;
300、作业调度单元;301、作业资源分析获取模块;302、作业资源排序模块;
400、容器管理单元;401、活跃集群模块;402、最小规模集群模块;403、调度模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1-6所示,本实施例提供一种具备水平伸缩功能的云平台系统,包括资源管理单元100、效益分析单元200、作业调度单元300和容器管理单元400;资源管理单元100用于接收用户的作业提交申请,并将作业放入等待队列中;效益分析单元200用于通过经济效益度量系统资源价值,从而反映实际的资源利用率;作业调度单元300,将待调度作业按照单位规模资源出价从大到小排序;容器管理单元400用于集群间水平伸缩方式为作业分配资源,将作业派发到新建集群。
本实施例中,资源管理单元100包括接收作业模块101、作业队列模块102和队列更新模块103,接收作业模块101用于接收用户的作业提交申请;作业队列模块102用于对待调度作业按序进行排列;队列更新模块103用于对待调度作业排序进行更新。
进一步的,效益分析单元200包括作业资源需求分析模块201、资源成本分析模块202和资源分配量分析模块203,资源需求分析模块201用于分析作业资源需求量;资源成本分析模块202用于分析资源成本效率;资源分配量分析模块203用于分析实际作业分配资源量。
具体的,作业资源需求分析模块201中,用
其中,
再进一步的,资源成本分析模块202的公式如下:
其中,
此外,资源分配量分析模块203的公式如下:
其中,
其中,
由于系统运行需要一定的资源占用,一般地,
整理后得:
除此之外,作业调度单元300包括作业资源分析获取模块301和作业资源排序模块302,作业资源分析获取模块301用于获取效益分析单元200分析后的作业数据;作业资源排序模块302用于对分析后的作业数据进行排序。
其中,作业资源排序模块302采用快速排序算法,其算法包括如下步骤:
a、如果s中的元素的数目为0或1,就返回;
b、选择s中的任意一个元素v,v叫做支点;
c、将s-{v}剩下的元素在s中分成两个分开的部分;分别为l={x属于s-{v}|x<=v}和r={x属于s-{v}|x>=v};
d、依次返回quicksort(l)、v和quicksort(r)的结果。
值得说明的是,容器管理单元400包括活跃集群模块401、最小规模集群模块402和调度模块403;活跃集群模块401用于获取作业时刻所有活跃集群;最小规模集群模块402用于获取作业时刻中所有活跃集群内的最小集群规模;调度模块403用于将作业调度到最小集群规模内。
其中,用
其中,
参阅图6,示出了本实施例所涉及的提供一种具备水平伸缩功能的云平台装置结构示意图,该装置包括处理器、存储器和总线。
处理器包括一个或一个以上处理核心,处理器通过总线与处理器相连,存储器用于存储程序指令,处理器执行存储器中的程序指令时实现上述的具备水平伸缩功能的云平台系统。
可选的,存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随时存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述的具备水平伸缩功能的云平台系统。
可选的,本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面具备水平伸缩功能的云平台系统。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储与一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。