云平台系统、管理方法、设备及存储介质与流程

文档序号:17761783发布日期:2019-05-24 21:45阅读:195来源:国知局
本发明涉及云计算和数据领域,具体地说,涉及一种利用剩余资源完成数据处理作业的云平台系统、管理方法、设备及存储介质。
背景技术
::在目前云计算的发展趋势之下,容器云平台脱颖而出,以其在资源使用角度快速灵活的特性,赢得了用户的信任,成为了更多人的选择,但是部署的服务并没有完全利用他们所申请的资源,造成了不少的资源剩余。同时随着业务规模的增大,数据分析挖掘创造的价值有目共睹,而且数据处理作业又是一种消耗计算资源的场景。数据计算中,计算资源的成本已经成为了负担。如何利用剩余资源为数据处理作业提供条件,既能充分保证服务的需求,也能满足数据的计算,成为了一个探索的方向。在云平台上,所有拥有的可分配的计算资源被抽象成了可分配资源量(allocatable),服务对资源的需求被抽象成了需求资源量(request),每当新建服务时,可分配资源量会进行更新为减掉新建服务所需要的需求资源量,即可分配资源量会随着服务变化而变化。但是,给服务分配了对应的需求资源量之后,服务在实际使用的情况上来看,并不会全部用完或者占有,尤其是在cpu的使用上,实际用率相对低,即实际使用资源量小于需求资源量。将分配的需求资源量与实际使用资源量的差值定义为可用资源量(available),可利用可用资源量来描述实际资源的剩余情况。实际上,当一个宿主机上可分配资源量已经所剩无几时,可用资源量还会有一定的剩余。同样在云平台上,可分别采用需求资源量和限定资源量(limit)来描述一个服务对资源的需求以及限制,限定资源量就是设定的一个服务使用资源的上限,一个服务所需要的需求资源量不能超过限定资源量。云平台上的各个服务可根据其对cpu资源的使用情况进行划分,可简单划分为计算密集型和i/o密集型,在实际的场景下,一个云平台包括若干个子平台,其中,一部分子平台用于计算密集型服务,其余大部分子平台用于i/o密集型服务。对于用于计算密集型服务的子平台来说,由于其cpu大部分时间用来计算或逻辑判断等,因此,cpu的可用资源量几乎为零;而用于i/o密集型服务的子平台,由于其cpu大部分的状况是在等i/o(硬盘/内存)的读/写,因此,cpu的可用资源量相对就比较充裕,如充分利用用于i/o密集型服务的子平台的这部分可用资源量完成计算密集型子平台的数据处理作业,整个云平台资源利用率将大大得到提升。需要说明的是,在上述
背景技术
:部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现要素:针对现有技术中的问题,本发明的目的在于提供了一种云平台系统、管理方法、设备及存储介质,该系统通过将节点管理器设置于容器,完成数据处理作业在容器中完成,本发明充分利用云平台的剩余资源,优化了资源利用的情况,提升资源利用率,降低成本。本发明的实施例提供了一种云平台设备,用于采用节点管理器执行数据处理作业,所述节点管理器包括第一节点管理器和第二节点管理器;所述系统包括至少一个第一子平台和至少一个第二子平台,其中:所述第一子平台包括资源管理器和多个所述第一节点管理器;所述第二子平台包括容器模块和多个所述第二节点管理器,所述容器模块用于创建容器并加载所述第一节点管理器的镜像文件,以配置形成所述第二节点管理器;所述资源管理器用于接收数据处理作业请求,所述数据处理作业请求包括作业的需求资源量;所述资源管理器用于根据所述需求资源量将所述数据处理作业调度至各个所述节点管理器;所述节点管理器用于执行接收到的所述数据处理作业。优选地,所述云平台系统还包括驱动模块,所述驱动模块用于监控每个所述节点管理器执行所述数据处理作业的状态,如果其中一个所述节点管理器执行所述数据处理作业失败或者异常,则将执行异常的所述数据处理作业发送至所述资源管理器。优选地,所述第二子平台用于i/o密集型服务的平台。优选地,每个所述第二子平台还包括检测模块、判断模块和配置模块;所述检测模块用于检测第二子平台的内存的可用资源量;所述判断模块用于判断检测到的所述可用资源量是否大于设定的第一阈值;所述配置模块用于根据所述判断模块的判断结果决定是否回收分配给所述第二节点管理器的资源。优选地,创建的加载所述第一节点管理器的所述容器设定有限定资源量,所述限定资源量为第二阈值,各个所述节点管理器的容器的需求资源量与所述第二阈值的比值小于所述第二子平台的其他容器的需求资源量与限定资源量的比值;所述检测模块还用于检测所述第二子平台的各个容器的内存的需求资源量与限定资源量的比值;所述判断模块还用于选择具有最小的内存需求资源量与限定资源量比值的所述容器。本发明的实施例还提供了一种云平台管理方法,采用上述云平台系统,所述云平台管理方法包括以下步骤:所述资源管理器接收数据处理作业的请求,所述数据处理作业的请求包括作业的需求资源量;所述资源管理器根据所述需求资源量将所述数据处理作业调度至各个所述节点管理器;所述节点管理器执行接收到的所述数据处理作业。优选地,所述云平台系统还包括驱动模块,所述云平台管理方法还包括以下步骤:所述驱动模块监控每个所述节点管理器执行所述数据处理作业的状态,如果其中一个所述节点管理器执行所述数据处理作业失败或者异常,则将执行异常的所述数据处理作业发送至所述资源管理器。优选地,每个所述第二子平台还包括检测模块、判断模块和配置模块,所述云平台管理方法还包括以下步骤:所述检测模块检测第二子平台的内存的可用资源量;所述判断模块判断检测到的所述可用资源量是否大于设定的第一阈值;若否,则所述配置模块回收分配给所述第二节点管理器的资源。优选地,所述云平台管理方法还包括在所述容器模块创建容器并加载所述第一节点管理器的镜像文件配置以形成所述第二节点管理器时,设定所述容器的限定资源量为第二阈值,各个所述节点管理器的容器的需求资源量与所述第二阈值的比值小于所述第二子平台的其他容器的需求资源量与限定资源量的比值;所述配置模块回收分配给所述第二节点管理器的资源步骤包括:所述检测模块检测所述第二子平台的各个容器的内存的需求资源量与限定资源量的比值;所述判断模块选择具有最小的内存需求资源量与限定资源量比值的所述容器;所述配置模块回收选择的所述容器中的资源。本发明的实施例还提供了一种云平台设备,包括:处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述云平台管理方法的步骤。本发明的实施例还提供了一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述云平台管理方法的步骤。本发明提供的云平台系统,当云平台有剩余资源时,将剩余资源用来进行数据处理作业,而当云平台资源紧张时,将资源收回,实现了利用云平台剩余资源完成数据处理作业,同时保证其他服务的稳定运行,本发明采用动态调度资源方式进行资源的调度,可提升云平台系统整体的资源利用率。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例的云平台系统的结构示意图;图2为本发明一实施例的云平台管理方法的流程图;图3为本发明一实施例的根据可用资源量判断是否回收分配给第二节点管理器的资源的流程图;图4为本发明一实施例的配置模块回收分配给所述第二节点管理器的资源步骤的流程图;图5为本发明一实施例的云平台设备的结构示意图;图6为本发明一实施例的计算机可读存储介质的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。图1为本发明一实施例的云平台系统的结构示意图,该云平台系统用于采用节点管理器执行数据处理任务,所述节点管理器包括第一节点管理器和第二节点管理器;具体地,该系统包括至少一个第一子平台m100和至少一个第二子平台m200,其中:所述第一子平台m100包括资源管理器和多个所述第一节点管理器;所述第二子平台m200包括容器模块和多个所述第二节点管理器,所述容器模块用于创建容器并加载所述第一节点管理器的镜像文件配置,以形成所述第二节点管理器;所述资源管理器用于接收数据处理作业请求,所述数据处理作业请求包括作业的需求资源量;所述资源管理器用于根据所述需求资源量将所述数据处理作业调度至各个所述节点管理器;所述节点管理器用于执行接收到的所述数据处理作业。对于一个数据处理作业来说,主要由三个模块了完成,即资源管理器(resourcemanager)和多个节点管理器(nodemanager)以及数据处理作业所需要的元数据,元数据一般存储于的数据节点(datanode),节点管理器实际负责的数据处理作业的计算功能。在实施例中,第一子平台m100可以看成是用于计算密集型服务的平台,第二子平台m100则用于i/o密集型服务。本发明的第一子平台的一部分节点管理器通过容器的方式运行在第二子平台上,具体来说,即通过第二子平台m200的容器模块创建容器,创建的容器加载第一节点管理器的镜像文件配置形成第二节点管理器。第二子平台m200创建的第二节点管理器的数量可根据第二子平台的实际使用情况而定。当然,各个节点管理器的可用资源是否能满足所述需求资源量是各个节点管理器是否能被调度到的条件之一。在本发明的一实施例中,该云平台系统还包括驱动模块(driver)m300,驱动模块用于监控每个所述节点管理器执行所述数据处理作业的状态,如果其中一个所述节点管理器执行所述数据处理作业失败或者异常,则将执行异常的所述数据处理作业发送至所述资源管理器。驱动模块防止数据处理作业的由于执行中断等引起的漏执行。在本发明的一些实施例中,每个第二子平台m200还包括检测模块、判断模块和配置模块;所述检测模块用于检测第二子平台m200的内存的可用资源量;所述判断模块用于判断检测到的所述可用资源量是否大于设定的第一阈值;所述配置模块用于根据所述判断模块的判断结果决定是否回收分配给所述第二节点管理器的资源。在本发明的一些实施例中,在创建的加载所述第一节点管理器的所述容器时,云平台系统可设定所述容器的限定资源量,所述限定资源量为第二阈值,各个所述节点管理器的容器的需求资源量与所述第二阈值的比值小于所述第二子平台m200的其他容器的需求资源量与限定资源量的比值(r/l)。此处的第二阈值实际中需结合云平台的具体参数而设定,主要是云平台上所要运行的各个服务(服务a、服务b、服务c或服务d)容器的r/l,设置一个较大的第二阈值,譬如第二阈值为10m,基本能满足加载了第一节点管理器容器的r/l小于第二子平台的其他服务容器的r/l。所述检测模块还用于检测所述第二子平台m200的各个容器的内存的需求资源量与限定资源量的比值;所述判断模块还用于选择具有最小的内存需求资源量与限定资源量比值的所述容器。所述检测模块实时监控第二子平台的可用资源量,因此,可以拟合历史资源的使用情况,据此生成可部署于第二子平台上的第二节点管理器的数量的曲线,根据曲线的变化,动态的调整第二节点管理器的数量,达到更加灵活的资源利用。由于本发明的云平台系统的第二节点管理器与元数据不在同一子平台,在第二节点管理器从datanode中获取作业所需要的元数据,以及计执行完数据处理作业后将产生的新的数据在写回datanode中均需要一定量的网络带宽的消耗,因此,对第二节点管理器的容器网络带宽需进行合理的设置。图2为本发明一实施例的云平台管理方法的流程图,该管理方法采用上述云平台系统,包括以下步骤:s100、所述资源管理器接收数据处理作业的请求;所述数据处理作业的请求包括作业的需求资源量;s200、所述资源管理器根据所述需求资源量将所述数据处理作业调度至各个所述节点管理器;s300、所述节点管理器执行接收到的所述数据处理作业;在一实施例中,每个所述第二子平台还包括驱动模块,所述云平台管理方法还包括以下步骤:所述驱动模块监控每个所述节点管理器执行所述数据处理作业的状态,如果其中一个所述节点管理器执行所述数据处理作业失败或者异常,则将执行异常的所述数据处理作业发送至所述资源管理器。在本发明的一些实施例中,每个所述第二子平台还包括检测模块、判断模块和配置模块,所述云平台管理方法还包括以下步骤:s400、所述检测模块检测第二子平台的内存的可用资源量;s500、所述判断模块判断检测到的所述可用资源量是否大于设定的第一阈值;若否,则执行s600步骤、所述配置模块回收分配给所述第二节点管理器的资源,见图3。在本发明的一些实施例中,所述云平台管理方法还包括在所述容器模块创建容器并加载所述第一节点管理器的镜像文件配置以形成所述第二节点管理器时,设定所述容器的限定资源量为第二阈值,各个所述节点管理器的容器的需求资源量与所述第二阈值的比值小于所述第二子平台的其他容器的需求资源量与限定资源量的比值。此时,所述配置模块回收分配给所述第二节点管理器的资源步骤包括:s601所述检测模块检测所述第二子平台的各个容器的内存的需求资源量与限定资源量的比值;s602所述判断模块选择具有最小的内存需求资源量与限定资源量比值的所述容器;s603所述配置模块回收选择的所述容器中的资源,见图4。在s602步骤中,所述判断模块选择出多个具有较小的内存需求资源量与限定资源量比值的所述容器,并对这些容器r/l值的大小排序,以此作为第二子平台可用资源量下降时,配置模块所要回收的容器的优先级顺序。下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元610可以执行如图2中所示的步骤。存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储平台等。本发明实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行实现分拣云平台管理方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。综上所述,本发明提供了一种云平台系统,用于采用节点管理器执行数据处理作业,所述节点管理器包括第一节点管理器和第二节点管理器;所述系统包括至少一个第一子平台和至少一个第二子平台,其中:所述第一子平台包括资源管理器和多个所述第一节点管理器;所述第二子平台包括容器模块和多个所述第二节点管理器,所述容器模块用于创建容器并加载所述第一节点管理器的镜像文件配置以形成所述第二节点管理器;所述资源管理器用于接收数据处理作业请求,所述数据处理作业请求包括作业的需求资源量;所述资源管理器用于根据所述需求资源量将所述数据处理作业调度至各个所述节点管理器;所述节点管理器用于执行接收到的所述数据处理作业。本发明提供的云平台系统,当云平台有剩余资源时,将剩余资源用来进行数据处理作业,而当云平台资源紧张时,将资源收回,实现了利用云平台剩余资源完成数据处理作业,同时保证其他服务的稳定运行,本发明采用动态调度资源方式进行资源的调度,可提升云平台系统整体的资源利用率,降低成本。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1