一种资源分配方法和装置制造方法及图纸

技术编号:18668054 阅读:27 留言:0更新日期:2018-08-14 20:35
一种资源分配方法和装置,用于为同一资源分配单位内共享资源的多个处理单元分配资源,一次资源分配过程包括:资源分配装置确定所述多个处理单元存储的数据量;根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,存储的数据量越大的处理单元分配的资源越多。本申请可以使资源利用更加充分。

Method and device for resource allocation

A resource allocation method and apparatus for allocating resources to multiple processing units sharing resources within the same resource allocation unit. A resource allocation process includes: a resource allocation apparatus determines the amount of data stored by the plurality of processing units; and a data stored according to the plurality of processing units is the amount of data stored by the plurality of processing units. The more resources allocated, the larger the amount of data stored, the more resources allocated by the processing unit. This application can make resources more fully utilized.

【技术实现步骤摘要】
一种资源分配方法和装置
本专利技术涉及计算机技术,更具体地,涉及一种资源分配方法和装置。
技术介绍
在包括多个处理节点的系统中,资源分配是非常常见的一种操作。相关技术的资源分配多是对这些处理节点分配相同的资源,或者根据这些处理节要承担的业务分配不同的资源。但这些资源分配方法在一定程度上并不能够充分有效地利用资源。以分布式数据库系统为例,其架构如图1所示,其处理节点包括主节点与子节点组成。主节点只存放元数据。子节点负责实际数据存储和计算。一个子节点一般是独立启动的一个或多个操作系统进程,分配拥有的磁盘存储空间、磁盘传输带宽、内存、处理器、网络带宽等资源。多个子节点可能一起运行在同一机器上,该多个子节点共享该机器的资源。如果该机器上还运行有其他应用程序,则需要该多个节点的共享资源进行限制即做资源隔离。在为该多个子节点分配共享资源时,一般的做法是,对每个子节点单独进行资源分配且分配固定的资源。例如,每个子节点分配8G内存、2Mbps网络带宽等。本专利技术的专利技术人研究发现,子节点在运行时所需的资源实际上和其存储的数据量是有关系的,数据量越大时对其他资源的需求也越大。而采用现有方法进行资源分配,由于资源固定,会造成数据在各个子节点分布不均时,发生数据量较大的子节点资源不够,而其他子节点的资源未充分利用的情况。以内存为例,某个节点的数据量是60G,而其他节点是40G,有60G数据的节点所需内存实际上更多,但却和其他节点分配了同样的内存;而有40G数据的节点所需内存较少,分配的内存可能未能充分使用。这里处理节点所需资源与存储数据量之间的关系,在其他的系统如查询系统、业务系统等中也是存在的。在这些系统中,相关技术的资源分配方法同样也不能做到对资源的充分利用。
技术实现思路
本专利技术实施例提供了一种资源分配方法,用于为同一资源分配单位内共享资源的多个处理单元分配资源,一次资源分配过程包括:确定所述多个处理单元存储的数据量;根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,存储的数据量越大的处理单元分配的资源越多。本专利技术实施例还提供了一种资源分配装置,包括为同一资源分配单位内共享资源的多个处理单元分配资源的资源分配模块,所述资源分配模块包括:确定单元,设置为:确定所述多个处理单元存储的数据量;分配单元,设置为:根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,存储的数据量越大的处理单元分配的资源越多。本专利技术实施例还提供了一种资源分配装置,包括存储器和处理器,其中:所述存储器设置为:保存程序代码;所述处理器设置为:读取所述程序代码,执行以下处理:为同一资源分配单位内共享资源的多个处理单元分配资源,一次资源分配过程包括:确定所述多个处理单元存储的数据量;及,根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,存储的数据量越大的处理单元分配的资源越多。上述资源分配方案可以使资源利用更加充分。附图说明图1是分布式数据库系统的架构图;图2是本专利技术实施例一资源分配方法的流程图;图3是本专利技术实施例一中作为示例的分布式数据库系统子节点分组的示意图;图4是本专利技术实施例二资源分配装置的模块图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。实施例一本实施例提供一种资源分配方法,用于为同一资源分配单位内共享资源的多个处理单元进行资源的动态分配。这里的资源分配单位是可以进行资源分配的硬件或软件实体,如一台物理机或虚拟机,一台机器内的一个资源组,也可以是统一分配多台机器资源的系统。这里的处理单元是可以存储数据和处理数据的任何单元。本实施例是以分布式数据库系统位于同一物理机或虚拟机中的多个子节点为示例进行说明。如图2所示,本实施例资源分配方法的一次资源分配过程包括:步骤110,确定所述多个处理单元存储的数据量;对于处理单元存储的数据量(指实际存储的数据量而不是分配的磁盘空间),可以通过操作系统监控为处理单元分配的磁盘空间中已存储的数据量获取。也可以由处理单元所属的系统对处理单元的写入、删除等带来的数据量的变化进行统计而得到。步骤120,根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,存储的数据量越大的处理单元分配的资源越多。本实施例中,所述分配的资源包括以下一种或多种:内存、处理器、网络带宽、磁盘传输带宽和临时磁盘空间。这些资源中,可以只有部分资源根据存储的数据量来分配,其他资源按其他方式如按预定值分配的方式分配。本实施例中,为存储的数据量越大的处理单元分配越多资源可以有多种具体的方式,例如,为所述多个处理节点分配的资源与所述多个处理单元存储的数据量成正比,这里说的成正比并不要求精确到非常小的资源单位,可以按照设定的最小的资源分配单位调整,例如可分配的内存空间为10M时,如果两个处理节点即处理节点A和处理节点B存储的数据量的比例是1:2,内存以1M为最小单位进行分配,则可以给处理节点A分配3M内存,给处理节点B分配7M内存。除了按正比分配外,还可以按照预设的存储数据量与内存容量的对应关系来分配,例如,可分配的磁盘空间为100G,内存容量为1G,如果处理节点存储的数据量为0~10G,则对应分配的内存容量为100M,如果存储的数据量为10~20G,则对应分配的内存容量为200M,依此类推。这里可以采用的算法是很多的,需要说明的是,这里说的存储的数据量越大的含义与采用的具体算法有关的,例如上面第2个示例中,如果一个处理节点存储的数据量为11G,另一个处理节点存储的数据量为13G,按照预设的存储数据量与内存容量的对应关系来分配时,两个处理节点存储的数据量在同一取值区间即10~20G,将视为相等而均分配200M的内存。但在总体上,需要为存储的数据量越大的处理单元分配越多资源,以取得充分利用资源的效果。本实施例中,为多个处理单元分配的资源可以是所述多个处理节点所在资源分配单位所有的资源,也可以是部分资源。例如,为分布式数据库系统位于同一物理机或虚拟机中的多个子节点分配资源时,可以将物理机或虚拟机拥有的资源留出一部分给其他应用使用,而只给多个子节点分配其中的部分资源,即做资源隔离。本实施例中,可以采用但不局限于以下方式实现动态分配:按照设定时间间隔,每隔一段时间启动一次资源分配过程;或者监控到所述多个处理单元存储的数据量发生变化时,启动一次资源分配过程;或者监控到所述多个处理单元存储的数据量的变化超过设定的阈值时,启动一次资源分配过程。资源分配的具体方式可以采用与相关技术相同的方式,这里不再赘述。下面用一个示例进行说明。如图3所示,本示例涉及的是分布式数据库系统,该分布式数据库系统包括主节点和多个子节点。先对所有子节点进行分组,将位于同一物理机或虚拟机中的多个子节点分为一组,这里假定均是每两个子节点一组。每个组分配固定的共享资源,本示例中,为组内每一子节点分配一种或多种资源时,根据该子节点存储的数据量占组内所有子节点存储的总数据量的比例进行动态分配(如每5分钟调整一次)。例如,某一组内包括两个节点即节点1与节点2分,则某一种资源的分配公式为:为节点1分配的资源=组内可分配的资源*(节点1本文档来自技高网
...

【技术保护点】
1.一种资源分配方法,为同一资源分配单位内共享资源的多个处理单元进行资源的动态分配,其中一次资源分配过程包括:确定所述多个处理单元存储的数据量;根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,存储的数据量越大的处理单元分配的资源越多。

【技术特征摘要】
1.一种资源分配方法,为同一资源分配单位内共享资源的多个处理单元进行资源的动态分配,其中一次资源分配过程包括:确定所述多个处理单元存储的数据量;根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,存储的数据量越大的处理单元分配的资源越多。2.如权利要求1所述的方法,其特征在于:所述分配的资源包括以下一种或多种:内存;处理器;网络带宽;磁盘传输带宽;临时磁盘空间。3.如权利要求1所述的方法,其特征在于:根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,包括:为所述多个处理节点分配的资源与所述多个处理单元存储的数据量成正比。4.如权利要求1或2或3所述的方法,其特征在于:所述为同一资源分配单位内共享资源的多个处理单元进行资源的动态分配,包括:按照设定时间间隔,每隔一段时间启动一次资源分配过程;或者监控到所述多个处理单元存储的数据量发生变化时,启动一次资源分配过程;或者监控到所述多个处理单元存储的数据量的变化超过设定的阈值时,启动一次资源分配过程。5.如权利要求1或2或3所述的方法,其特征在于:所述同一资源分配单位内的多个处理单元是分布式数据库系统位于同一物理机或虚拟机中的多个子节点。6.一种资源分配装置,包括资源分配模块,设置为:为同一资源分配单位内共享资源的多个处理单元进行资源的动态分配,所述资源分配模块包括用于完成一次资源分配过程的确定单元和分配单元,其中:所述确定单元设置为:确定所述多个处理单元存储的数据量;所述分配单元设置为:根据所述多个处理单元存储的数据量为所述多个处理单元分配资源,存储的数据量越大的处理单元分配的资源...

【专利技术属性】
技术研发人员:张广舟范孝剑
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1