CN110244901B - 任务分配方法及装置、分布式存储*** - Google Patents
任务分配方法及装置、分布式存储*** Download PDFInfo
- Publication number
- CN110244901B CN110244901B CN201810185894.4A CN201810185894A CN110244901B CN 110244901 B CN110244901 B CN 110244901B CN 201810185894 A CN201810185894 A CN 201810185894A CN 110244901 B CN110244901 B CN 110244901B
- Authority
- CN
- China
- Prior art keywords
- storage node
- storage
- node
- available
- available storage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012216 screening Methods 0.000 claims abstract description 42
- 238000001914 filtration Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种任务分配方法及装置、分布式存储***,属于存储技术领域。所述方法包括:在接收到终端发送的存储请求后,确定分布式存储***中的多个可用存储节点;获取所述多个可用存储节点中每个可用存储节点在预设时间段内的分配次数,其中,可用存储节点的分配次数为可用存储节点被分配存储任务的次数;当所述多个可用存储节点中存在分配次数小于分配次数阈值的至少一个可用存储节点时,在所述至少一个可用存储节点中筛选目标存储节点;基于所述存储请求为所述目标存储节点分配待执行的存储任务。本申请解决分布式存储***中的负载均衡程度较低的问题,本申请用于存储任务的分配。
Description
技术领域
本申请涉及存储技术领域,特别涉及一种任务分配方法及装置、分布式存储***。
背景技术
随着网络通信技术的发展,分布式存储***得到了广泛的应用。分布式存储***可以包括:管理节点,以及该管理节点管理的多个存储节点。终端能够通过该管理节点和存储节点在分布式存储***中存储数据。
相关技术中,当终端需要在分布式存储***中存储数据时,终端可以向管理节点发送存储请求。之后,管理节点可以根据该存储请求,为多个存储节点中的目标存储节点分配存储任务,并指示终端通过该目标存储节点进行数据的存储。
由于相关技术中,需要在分布式存储***中存储数据的终端越来越多,因此管理节点需要分别分配多个存储任务。若管理节点将多个存储任务均分配给同一个存储节点,则该存储节点的写数据负载较大,导致整个分布式存储***中的负载均衡程度较低。
发明内容
本申请提供了一种任务分配方法及装置、分布式存储***,可以解决分布式存储***中的负载均衡程度较低的问题,所述技术方案如下:
第一方面,提供了一种任务分配方法,用于管理节点,所述方法包括:
在接收到终端发送的存储请求后,确定分布式存储***中的多个可用存储节点;
获取所述多个可用存储节点中每个可用存储节点在预设时间段内的分配次数,其中,可用存储节点的分配次数为可用存储节点被分配存储任务的次数;
当所述多个可用存储节点中存在分配次数小于分配次数阈值的至少一个可用存储节点时,在所述至少一个可用存储节点中筛选目标存储节点;
基于所述存储请求为所述目标存储节点分配待执行的存储任务。
可选的,在所述至少一个可用存储节点中筛选目标存储节点之前,所述方法还包括:
根据所述每个可用存储节点的分配次数,确定所述多个可用存储节点的分配次数平均值;
将所述分配次数平均值的M倍确定为所述分配次数阈值,M≥1。
可选的,M=1.3。
可选的,所述方法还包括:
接收所述分布式存储节点中每个存储节点发送的负载信息,所述每个存储节点发送的负载信息用于指示所述每个存储节点的写数据负载值;
根据所述每个存储节点发送的负载信息,确定所述每个存储节点的写数据负载值;
所述确定分布式存储***中的多个可用存储节点,包括:
将所述分布式存储***中写数据负载值小于预设负载阈值的存储节点作为所述可用存储节点。
可选的,在所述至少一个可用存储节点中筛选目标存储节点,包括:
在所述至少一个可用存储节点中筛选分配次数最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中筛选写数据负载值最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中筛选分配次数和写数据负载值之和最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中随机筛选目标存储节点。
可选的,所述方法还包括:
当所述多个可用存储节点中不存在分配次数小于分配次数阈值的可用存储节点时,在所述多个可用存储节点中筛选目标存储节点。
第二方面,提供了一种任务分配装置,用于管理节点,所述任务分配装置包括:
第一确定模块,用于在接收到终端发送的存储请求后,确定分布式存储***中的多个可用存储节点;
获取模块,用于获取所述多个可用存储节点中每个可用存储节点在预设时间段内的分配次数,其中,可用存储节点的分配次数为可用存储节点被分配存储任务的次数;
第一筛选模块,用于在所述多个可用存储节点中存在分配次数小于分配次数阈值的至少一个可用存储节点时,在所述至少一个可用存储节点中筛选目标存储节点;
分配模块,用于基于所述存储请求为所述目标存储节点分配待执行的存储任务。
可选的,所述任务分配装置还包括:
第二确定模块,用于根据所述每个可用存储节点的分配次数,确定所述多个可用存储节点的分配次数平均值;
第三确定模块,用于将所述分配次数平均值的M倍确定为所述分配次数阈值,M≥1。
可选的,M=1.3。
可选的,所述任务分配装置还包括:
接收模块,用于接收所述分布式存储节点中每个存储节点发送的负载信息,所述每个存储节点发送的负载信息用于指示所述每个存储节点的写数据负载值;
第四确定模块,用于根据所述每个存储节点发送的负载信息,确定所述每个存储节点的写数据负载值;
所述第一确定模块用于将所述分布式存储***中写数据负载值小于预设负载阈值的存储节点作为所述可用存储节点。
可选的,所述第一筛选模块用于:
在所述至少一个可用存储节点中筛选分配次数最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中筛选写数据负载值最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中筛选分配次数和写数据负载值之和最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中随机筛选目标存储节点。
可选的,所述任务分配装置还包括:
第二筛选模块,用于在所述多个可用存储节点中不存在分配次数小于分配次数阈值的可用存储节点时,在所述多个可用存储节点中筛选目标存储节点。
第三方面,提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现第一方面所述的方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
第五方面,提供了一种分布式存储***,所述分布式存储***包括管理节点和多个存储节点,所述管理节点包括第二方面或第三方面所述的任务分配装置。
本申请提供的技术方案带来的有益效果是:
本发明实施例提供的任务分配方法中,在分配待执行的存储任务前,通过比较每个可用存储节点的分配次数与分配次数阈值,以确定分配次数较小的可用存储节点,并在这些可用存储节点中筛选用于执行存储任务的目标存储节点。从而避免了管理节点为同一个存储节点分配较多的存储任务,提高了分布式存储***的负载值均衡程度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的任务分配方法所涉及的应用环境示意图;
图2为本发明实施例提供的一种任务分配方法的方法流程图;
图3为本发明实施例提供的另一种任务分配方法的方法流程图;
图4为本发明实施例提供的一种任务分配装置的结构示意图;
图5为本发明实施例提供的另一种任务分配装置40的结构示意图;
图6为本发明实施例提供的又一种任务分配装置40的结构示意图;
图7为本发明实施例提供的再一种任务分配装置40的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1为本发明实施例提供的任务分配方法所涉及的应用环境示意图,如图1所示,该应用环境包括分布式存储***0和终端1。分布式存储***0可以包括:管理节点01,以及该管理节点01管理的多个存储节点02(图1中以管理节点01共管理三个存储节点为例,这三个存储节点分别为第一存储节点、第二存储节点和第三存储节点)。终端1可以通过管理节点01和存储节点02在分布式存储***0中存储数据。
可选的,管理节点01可以为一个服务器,或者多个服务器组成的服务器集群;管理节点还可以称为元数据管理服务器(英文:metadata service;简称:MDS),存储节点还可以称为对象存储设备(英文:object storage device;简称:OSD)。管理节点01可以与终端1以及存储节点02建立通信连接。
图2为本发明实施例提供的一种任务分配方法的方法流程图,该任务分配方法可以用于图1中的管理节点,如图2所示,该任务分配方法包括:
步骤201、在接收到终端发送的存储请求后,确定分布式存储***中的多个可用存储节点;
步骤202、获取多个可用存储节点中每个可用存储节点在预设时间段内的分配次数,其中,可用存储节点的分配次数为可用存储节点被分配存储任务的次数;
步骤203、当多个可用存储节点中存在分配次数小于分配次数阈值的至少一个可用存储节点时,在至少一个可用存储节点中筛选目标存储节点;
步骤204、基于存储请求为目标存储节点分配待执行的存储任务。
综上所述,本发明实施例提供的任务分配方法中,在分配待执行的存储任务前,通过比较每个可用存储节点的分配次数与分配次数阈值,以确定分配次数较小的可用存储节点,并在这些可用存储节点中筛选用于执行存储任务的目标存储节点。从而避免了管理节点为同一个存储节点分配较多的存储任务,提高了分布式存储***的负载值均衡程度。
图3为本发明实施例提供的另一种任务分配方法的方法流程图,该任务分配方法可以用于图1中的分布式存储***。如图3所示,该任务分配方法包括:
步骤301、存储节点向管理节点发送负载信息。执行步骤302。
需要说明的是,每个存储节点向管理节点发送的负载信息可以用于指示该每个存储节点的写数据负载值。如第一存储节点向管理节点发送的负载信息可以用于指示第一存储节点的写数据负载值。需要说明的是,存储节点的写数据负载值为用于反映存储节点的写数据负载的数值,存储节点的写数据负载与存储节点的写数据负载值正相关。
可选的,该分布式存储***中的每个存储节点均可以每隔预设时间段向管理节点发送负载信息,以告知管理节点该存储节点的写数据负载值。管理节点可以对每个存储节点的负载信息进行存储,并在再次接收到同一存储节点发送的负载信息后,对该存储节点的负载信息进行更新。
步骤302、终端向管理节点发送存储请求。执行步骤303。
当用户需要控制终端在分布式存储***中存储数据时,用户可以在终端上操作,以触发终端向管理节点发送存储请求。
步骤303、管理节点根据每个存储节点发送的负载信息,确定每个存储节点的写数据负载值。执行步骤304。
管理节点在接收到终端发送的存储请求后,可以获取预先存储的每个存储节点发送的负载信息,并根据每个存储节点发送的负载信息,确定每个存储节点的写数据负载值。
步骤304、管理节点将分布式存储***中写数据负载值小于预设负载阈值的多个存储节点作为多个可用存储节点。执行步骤305。
管理节点上预先存储由预设负载阈值,管理节点在确定分布式存储***中每个存储节点的写数据负载值后,可以将每个存储节点的写数据负载值与该预设负载阈值进行比较,以确定该多个存储节点中写数据负载值小于该预设负载阈值的多个存储节点,并将该多个存储节点作为可用存储节点。
例如,假设第一存储节点的写数据负载值为95%,第二存储节点的写数据负载值为50%,第三存储节点的写数据负载值为40%,预设负载阈值为80%。则管理节点可以将第二存储节点和第二存储节点均作为可用存储节点,此时,分布式存储***中共存在两个可用存储节点。
在步骤304中管理节点通过预设负载阈值在分布式存储***中的多个存储节点中筛选出了多个可用存储节点,该可用存储节点也即是写数据负载值较小的存储节点,该可用存储节点可以继续被分配存储任务,但若继续给非可用存储节点分配存储任务,则会导致非可用存储节点无法正常运行。
步骤305、管理节点获取多个可用存储节点中每个可用存储节点在预设时间段内的分配次数。执行步骤306。
可用存储节点的分配次数为该可用存储节点被分配存储任务的次数。
可选的,在步骤302之前,管理节点在每次为一个存储节点分配存储任务后,均可以记录该存储节点被分配存储任务的次数。并且,管理节点还可以定时对记录的次数进行清零(例如管理节点可以每小时对记录的次数进行一次清零)。
示例的,假设在步骤302之前的第一时刻,管理节点为第一存储节点分配了存储任务,则管理节点可以记录该第一存储节点的分配次数为1。此时,管理节点可以记录:第一存储节点的分配次数为1,第二存储节点的分配次数为0,第三存储节点的分配次数为0。若管理节点在第二时刻为第二存储节点分配了存储任务,则管理节点可以将第二存储节点的分配次数由0更新为1。此时,管理节点可以记录:第一存储节点的分配次数为1,第二存储节点的分配次数为1,第三存储节点的分配次数为0。需要说明的是,若第二时刻该分布式存储***中新加入了第四存储节点,则该第四存储节点为未被分配存储任务的存储节点,该管理节点可以记录该第四存储节点的分配次数为0。
管理节点在步骤305中可以获取之前记录的每个可用存储节点的分配次数,该分配次数为上次清零到当前时刻(也即预设时间段)内的分配次数。
步骤306、管理节点根据每个可用存储节点的分配次数,确定多个可用存储节点的分配次数平均值。执行步骤307。
管理节点在获取到每个可用存储节点的分配次数后,可以获取多个可用存储节点的分配次数的平均值(即分配次数平均值)。
示例的,假设多个可用存储节点包括n个可用存储节点,则该n个可用存储节点的分配次数平均值avg=(osd1+osd2+…+osdn)/n,其中,osd1表示n个可用存储节点中第一个可用存储节点的分配次数,osd2表示n个可用存储节点中第二个可用存储节点的分配次数,osdn表示n个可用存储节点中第n个可用存储节点的分配次数。
步骤307、管理节点将分配次数平均值的M倍确定为分配次数阈值。执行步骤308。
在确定分配次数平均值后,管理节点可以将分配次数平均值乘以M,以得到分配次数阈值,M≥1。
可选的,M=1,此时,该分配次数阈值等于分配次数平均值。可选的,M=1.3,此时,该分配次数阈值为分配次数平均值的1.3倍。需要说明的是,本发明实施例中以M等于1或1.3为例,实际应用中M还可以为大于或等于1的其他数值,本发明实施例对此不作限定。
步骤308、管理节点判断多个可用存储节点中是否存在分配次数小于分配次数阈值的至少一个可用存储节点。若多个可用存储节点中存在分配次数小于分配次数阈值的至少一个可用存储节点,则执行步骤309;若多个可用存储节点中不存在分配次数小于分配次数阈值的至少一个可用存储节点,则执行步骤310。
管理节点可以将每个可用存储节点的分配次数与该分配次数阈值进行比较,以确定每个可用存储节点的分配次数是否小于分配次数阈值。示例的,管理节点可以将每个可用存储节点的分配次数与该分配次数阈值进行做差,当得到的差值小于零时,确定该可用存储节点的分配次数小于该分配次数阈值。
可选的,管理节点在确定每个可用存储节点的分配次数,以及分配次数平均值后,还可以无需执行步骤307和步骤308,而是直接判断每个可用存储节点的分配次数是否满足预设条件,该预设条件可以为(osdx–avg)/avg<M-1,其中,osdx为n个可用存储节点中的第x个可用存储节点的分配次数。若某一存储节点的分配次数满足该预设条件,则管理节点可以确定该存储节点的分配次数小于分配次数阈值。
步骤309、管理节点在至少一个可用存储节点中筛选目标存储节点。执行步骤311。
在确定负载值小于预设负载阈值,且分配次数小于分配次数阈值的至少一个可用存储节点后,管理节点可以在该至少一个可用存储节点中筛选一个存储节点作为目标存储节点。管理节点在至少一个可用存储节点中筛选目标存储节点的方式可以多种多样,本发明实施例中将以以下的四种筛选方式进行举例说明。
在第一种筛选方式中,管理节点可以基于步骤307中确定的每个可用存储节点的分配次数,在至少一个可用存储节点中筛选分配次数最小的可用存储节点为目标存储节点。
在第二种筛选方式中,管理节点可以基于步骤305中确定的每个可用存储节点的写数据负载值,在至少一个可用存储节点中筛选写数据负载值最小的可用存储节点为目标存储节点。
在第三种筛选方式中,管理节点可以基于步骤305中确定的每个可用存储节点的写数据负载值,以及步骤307中确定的每个可用存储节点的分配次数,计算每个可用存储节点的写数据负载值和分配次数之和。之后,管理节点可以在至少一个可用存储节点中筛选分配次数和写数据负载值之和最小的可用存储节点为目标存储节点。也即是,管理节点可以将写数据负载值和分配次数均较小的可用存储节点作为目标存储节点,以进一步提高多个可用存储节点的负载均衡程度。
在第四种筛选方式中,管理节点可以在至少一个可用存储节点中随机筛选一个存储节点作为目标存储节点。
步骤310、管理节点在多个可用存储节点中筛选目标存储节点。执行步骤311。
当分布式存储***中的多个可用存储节点中并不存在分配次数小于分配次数阈值的可用存储节点时,可以表明此时该多个可用存储节点的分配次数比较均衡,此时管理节点可以在该多个可用存储节点中筛选目标存储节点。
管理节点在多个可用存储节点中筛选目标存储节点的过程可以参考步骤309中在至少一个可用存储节点中筛选目标存储节点的步骤,本发明实施例在此不做赘述。
步骤311、管理节点基于存储请求为目标存储节点分配待执行的存储任务。
在筛选得到目标存储节点后,管理节点可以基于终端发送的存储请求,为目标存储节点分配待执行的存储任务。终端还可以指示终端通过该目标存储节点进行数据的存储。之后,终端就可以通过被分配存储任务的目标存储节点在分布式存储***中进行数据的存储。
管理节点在为该目标存储节点分配存储任务后,管理节点可以将记录的该目标存储节点的分配次数加一。
需要说明的是,本发明实施例中以步骤304管理节点确定出的可用存储节点的个数为多个为例,实际应用中,若管理节点确定出的可用存储节点的个数为1时,管理节点可以直接将这一个可用存储节点作为目标存储节点,并为该目标存储节点分配待执行的存储任务。若管理节点确定出的可用存储节点的个数为0,则可以表明当前分布式存储***中并不存在能够继续分配存储任务的存储节点。此时,管理节点可以禁止继续分配存储任务,或者管理节点可以在当前的所有存储节点中选择一个存储节点,并为该存储节点分配存储任务。
相关技术中,管理节点可以根据终端发送的存储请求,为多个存储节点中的目标存储节点分配存储任务,并指示终端通过该目标存储节点进行数据的存储。且通常情况下,若分布式存储***进行了扩容,也即分布式存储***中出现了新增的存储节点,则管理节点会将较多个存储任务均分配给该新增的存储节点,从而导致该新增的存储节点的写数据负载较大,导致整个分布式存储***中的负载均衡程度较低。
而本发明实施例中,无论该分布式存储***是否扩容,管理节点均根据每个存储节点的写数据负载值和分配次数进行合理的分配存储任务,从而避免了在出现新增的存储节点时,管理节点将多个存储任务均分配给该新增的存储节点。提高了分布式存储***中的负载均衡程度。
综上所述,本发明实施例提供的任务分配方法中,在分配待执行的存储任务前,通过比较每个可用存储节点的分配次数与分配次数阈值,以确定分配次数较小的可用存储节点,并在这些可用存储节点中筛选用于执行存储任务的目标存储节点。从而避免了管理节点为同一个存储节点分配较多的存储任务,提高了分布式存储***的负载值均衡程度。
图4为本发明实施例提供的一种任务分配装置的结构示意图,该任务分配装置可以用于管理节点,如图4所示,该任务分配装置40可以包括:
第一确定模块401,用于在接收到终端发送的存储请求后,确定分布式存储***中的多个可用存储节点;
获取模块402,用于获取多个可用存储节点中每个可用存储节点在预设时间段内的分配次数,其中,可用存储节点的分配次数为可用存储节点被分配存储任务的次数;
第一筛选模块403,用于在多个可用存储节点中存在分配次数小于分配次数阈值的至少一个可用存储节点时,在至少一个可用存储节点中筛选目标存储节点;
分配模块404,用于基于存储请求为目标存储节点分配待执行的存储任务。
综上所述,本发明实施例提供的任务分配装置中,在分配模块分配待执行的存储任务前,第一筛选模块结合第一确定模块和获取模块通过比较每个可用存储节点的分配次数与分配次数阈值,以确定分配次数较小的可用存储节点,分配模块在这些可用存储节点中筛选用于执行存储任务的目标存储节点。从而避免了管理节点为同一个存储节点分配较多的存储任务,提高了分布式存储***的负载值均衡程度。
图5为本发明实施例提供的另一种任务分配装置40的结构示意图,如图5所示,在图4的基础上,该任务分配装置40还可以包括:
第二确定模块405,用于根据每个可用存储节点的分配次数,确定多个可用存储节点的分配次数平均值;
第三确定模块406,用于将分配次数平均值的M倍确定为分配次数阈值,M≥1。
可选的,M=1.3。
可选的,图6为本发明实施例提供的又一种任务分配装置40的结构示意图,如图6所示,在图5的基础上,该任务分配装置40还可以包括:
接收模块407,用于接收分布式存储节点中每个存储节点发送的负载信息,每个存储节点发送的负载信息用于指示每个存储节点的写数据负载值;
第四确定模块408,用于根据每个存储节点发送的负载信息,确定每个存储节点的写数据负载值;
第一确定模块401用于将分布式存储***中写数据负载值小于预设负载阈值的存储节点作为可用存储节点。
可选的,第一筛选模块403可以用于:
在至少一个可用存储节点中筛选分配次数最小的可用存储节点为目标存储节点;
或者,在至少一个可用存储节点中筛选写数据负载值最小的可用存储节点为目标存储节点;
或者,在至少一个可用存储节点中筛选分配次数和写数据负载值之和最小的可用存储节点为目标存储节点;
或者,在至少一个可用存储节点中随机筛选目标存储节点。
可选的,图7为本发明实施例提供的再一种任务分配装置40的结构示意图,如图7所示,在图5的基础上,该任务分配装置40还可以包括:
第二筛选模块409,用于在多个可用存储节点中不存在分配次数小于分配次数阈值的可用存储节点时,在多个可用存储节点中筛选目标存储节点。
综上所述,本发明实施例提供的任务分配装置中,在分配模块分配待执行的存储任务前,第一筛选模块结合第一确定模块和获取模块通过比较每个可用存储节点的分配次数与分配次数阈值,以确定分配次数较小的可用存储节点,分配模块在这些可用存储节点中筛选用于执行存储任务的目标存储节点。从而避免了管理节点为同一个存储节点分配较多的存储任务,提高了分布式存储***的负载值均衡程度。
本发明实施例提供了一种计算机设备,包括处理器和存储器,其中,存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现上述任务分配方法。
本发明实施例还提供了一种计算机可读存储介质,存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任务分配方法。
需要说明的是,本发明实施例提供的任务分配方法实施例与任务分配装置实施例以及分布式存储***实施例均可以互相参考,本发明实施例对此不做限定。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (7)
1.一种任务分配方法,其特征在于,用于管理节点,所述方法包括:
在接收到终端发送的存储请求后,接收分布式存储***中每个存储节点发送的负载信息,所述每个存储节点发送的负载信息用于指示所述每个存储节点的写数据负载值,所述每个存储节点的写数据负载值用于正相关地反映所述每个存储节点的写数据负载;根据所述每个存储节点发送的负载信息,确定所述每个存储节点的写数据负载值;将所述分布式存储***中写数据负载值小于预设负载阈值的存储节点作为可用存储节点,所述存储请求用于指示用户需要控制所述终端在所述分布式存储***中存储数据;
当所述可用存储节点为多个时,获取所述多个可用存储节点中每个可用存储节点在预设时间段内的分配次数,所述管理节点用于定时对所述每个可用存储节点的分配次数进行清零,所述分配次数为可用存储节点从上次清零时刻到当前时刻内被分配存储任务的次数;根据所述每个可用存储节点在所述预设时间段内的分配次数,确定所述多个可用存储节点的分配次数平均值;
将所述分配次数平均值的M倍确定为分配次数阈值,M≥1,当所述多个可用存储节点中存在所述分配次数小于所述分配次数阈值的至少一个可用存储节点时,在所述至少一个可用存储节点中筛选目标存储节点,当所述多个可用存储节点中不存在所述分配次数小于所述分配次数阈值的可用存储节点时,确定所述多个可用存储节点的分配次数是均衡的,在所述多个可用存储节点中筛选所述目标存储节点;或者,判断所述每个可用存储节点在所述预设时间段内的分配次数是否满足预设条件,并从满足所述预设条件的可用存储节点中筛选所述目标存储节点,所述预设条件为所述分配次数与所述分配次数平均值的差值除以所述分配次数平均值小于M减1;
基于所述存储请求为所述目标存储节点分配待执行的存储任务,以使所述终端通过所述目标存储节点进行数据存储;将所述目标存储节点的分配次数加1,以更新所述目标存储节点的分配次数。
2.根据权利要求1所述的方法,其特征在于,M=1.3。
3.根据权利要求1所述的方法,其特征在于,在所述至少一个可用存储节点中筛选目标存储节点,包括:
在所述至少一个可用存储节点中筛选分配次数最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中筛选写数据负载值最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中筛选分配次数和写数据负载值之和最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中随机筛选目标存储节点。
4.一种任务分配装置,其特征在于,用于管理节点,所述装置包括:
第一确定模块,用于在接收到终端发送的存储请求后,确定分布式存储***中的多个可用存储节点,所述存储请求用于指示用户需要控制所述终端在所述分布式存储***中存储数据;
获取模块,用于获取所述多个可用存储节点中每个可用存储节点在预设时间段内的分配次数,所述管理节点用于定时对所述每个可用存储节点的分配次数进行清零,所述分配次数为可用存储节点从上次清零时刻到当前时刻内被分配存储任务的次数;
第二确定模块,用于根据所述每个可用存储节点在所述预设时间段内的分配次数,确定所述多个可用存储节点的分配次数平均值;
第三确定模块,用于将所述分配次数平均值的M倍确定为分配次数阈值,M≥1;
第一筛选模块,用于在所述多个可用存储节点中存在所述分配次数小于所述分配次数阈值的至少一个可用存储节点时,在所述至少一个可用存储节点中筛选目标存储节点;
第二筛选模块,用于在所述多个可用存储节点中不存在所述分配次数小于所述分配次数阈值的可用存储节点时,确定所述多个可用存储节点的分配次数是均衡的,在所述多个可用存储节点中筛选所述目标存储节点;
所述装置还包括用于判断所述每个可用存储节点在所述预设时间段内的分配次数是否满足预设条件,并从满足所述预设条件的可用存储节点中筛选所述目标存储节点的模块,所述预设条件为所述分配次数与所述分配次数平均值的差值除以所述分配次数平均值小于M减1;
分配模块,用于基于所述存储请求为所述目标存储节点分配待执行的存储任务,以使所述终端通过所述目标存储节点进行数据存储;
所述装置还包括用于将所述目标存储节点的分配次数加1,以更新所述目标存储节点的分配次数的模块;
所述装置还包括:
接收模块,用于接收所述分布式存储***中每个存储节点发送的负载信息,所述每个存储节点发送的负载信息用于指示所述每个存储节点的写数据负载值,所述每个存储节点的写数据负载值用于正相关地反映所述每个存储节点的写数据负载;
第四确定模块,用于根据所述每个存储节点发送的负载信息,确定所述每个存储节点的写数据负载值;
所述第一确定模块用于将所述分布式存储***中写数据负载值小于预设负载阈值的存储节点作为所述可用存储节点。
5.根据权利要求4所述的任务分配装置,其特征在于,M=1.3。
6.根据权利要求4所述的任务分配装置,其特征在于,所述第一筛选模块用于:
在所述至少一个可用存储节点中筛选分配次数最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中筛选写数据负载值最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中筛选分配次数和写数据负载值之和最小的可用存储节点为所述目标存储节点;
或者,在所述至少一个可用存储节点中随机筛选目标存储节点。
7.一种分布式存储***,其特征在于,所述分布式存储***包括管理节点和多个存储节点,所述管理节点包括权利要求4至6任一所述的任务分配装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810185894.4A CN110244901B (zh) | 2018-03-07 | 2018-03-07 | 任务分配方法及装置、分布式存储*** |
PCT/CN2019/076048 WO2019170011A1 (zh) | 2018-03-07 | 2019-02-25 | 任务分配方法及装置、分布式存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810185894.4A CN110244901B (zh) | 2018-03-07 | 2018-03-07 | 任务分配方法及装置、分布式存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110244901A CN110244901A (zh) | 2019-09-17 |
CN110244901B true CN110244901B (zh) | 2021-03-26 |
Family
ID=67845838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810185894.4A Active CN110244901B (zh) | 2018-03-07 | 2018-03-07 | 任务分配方法及装置、分布式存储*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110244901B (zh) |
WO (1) | WO2019170011A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11580321B2 (en) * | 2019-04-08 | 2023-02-14 | Ares Technologies, Inc. | Systems, devices, and methods for machine learning using a distributed framework |
CN110648076A (zh) * | 2019-09-27 | 2020-01-03 | 苏州达家迎信息技术有限公司 | 任务分配方法、装置、设备及存储介质 |
CN111176840B (zh) * | 2019-12-20 | 2023-11-28 | 青岛海尔科技有限公司 | 分布式任务的分配优化方法和装置、存储介质及电子装置 |
CN112256204B (zh) * | 2020-10-28 | 2022-06-03 | 重庆紫光华山智安科技有限公司 | 存储资源分配方法、装置、存储节点及存储介质 |
CN114900518A (zh) * | 2022-04-02 | 2022-08-12 | 中国光大银行股份有限公司 | 有向分布式网络的任务分配方法、装置、介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701916A (zh) * | 2013-12-31 | 2014-04-02 | 赛凡信息科技(厦门)有限公司 | 分布式存储***的动态负载均衡方法 |
CN103810244A (zh) * | 2013-12-09 | 2014-05-21 | 北京理工大学 | 一种基于数据分布的分布式数据存储***的扩容方法 |
CN104144127A (zh) * | 2013-05-08 | 2014-11-12 | 华为软件技术有限公司 | 负载均衡方法和负载均衡器 |
CN106161610A (zh) * | 2016-06-29 | 2016-11-23 | 华为技术有限公司 | 一种分布式存储的方法和*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765572B (zh) * | 2015-03-25 | 2017-12-19 | 华中科技大学 | 一种节能的虚拟存储服务器***及其调度方法 |
CN106550003B (zh) * | 2015-09-23 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 负载均衡的控制方法、装置及*** |
US10034407B2 (en) * | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center |
CN106131227A (zh) * | 2016-08-31 | 2016-11-16 | 浪潮(北京)电子信息产业有限公司 | 负载平衡方法、元数据服务器***及负载平衡*** |
CN107465729B (zh) * | 2017-07-25 | 2020-09-22 | 北京计算机技术及应用研究所 | 基于访问次数排名的虚拟节点副本调整***及方法 |
-
2018
- 2018-03-07 CN CN201810185894.4A patent/CN110244901B/zh active Active
-
2019
- 2019-02-25 WO PCT/CN2019/076048 patent/WO2019170011A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144127A (zh) * | 2013-05-08 | 2014-11-12 | 华为软件技术有限公司 | 负载均衡方法和负载均衡器 |
CN103810244A (zh) * | 2013-12-09 | 2014-05-21 | 北京理工大学 | 一种基于数据分布的分布式数据存储***的扩容方法 |
CN103701916A (zh) * | 2013-12-31 | 2014-04-02 | 赛凡信息科技(厦门)有限公司 | 分布式存储***的动态负载均衡方法 |
CN106161610A (zh) * | 2016-06-29 | 2016-11-23 | 华为技术有限公司 | 一种分布式存储的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN110244901A (zh) | 2019-09-17 |
WO2019170011A1 (zh) | 2019-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110244901B (zh) | 任务分配方法及装置、分布式存储*** | |
US11546644B2 (en) | Bandwidth control method and apparatus, and device | |
CN108780386B (zh) | 一种数据存储的方法、装置和*** | |
EP3419247B1 (en) | Method and device for storage resource allocation for video cloud storage | |
US20190042659A1 (en) | Data writing and reading and apparatus and cloud storage system | |
CN108881512B (zh) | Ctdb的虚拟ip均衡分配方法、装置、设备及介质 | |
CN109002259B (zh) | 一种归置组所属硬盘分配方法、***、装置及存储介质 | |
EP3293969A1 (en) | Method of terminal-based conference load-balancing, and device and system utilizing same | |
CN107656807B (zh) | 一种虚拟资源的自动弹性伸缩方法及装置 | |
CN108845877B (zh) | 管理内存的方法、装置和*** | |
EP3745678B1 (en) | Storage system, and method and apparatus for allocating storage resources | |
CN105242983A (zh) | 一种数据存储方法以及一种数据存储管理服务器 | |
CN111309644B (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
CN110795244A (zh) | 一种任务分配方法、装置、设备及介质 | |
CN112269661B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN114385370B (zh) | 内存分配方法、***、设备及介质 | |
CN111399761B (zh) | 存储资源分配方法、装置及设备、存储介质 | |
CN112214288B (zh) | 基于Kubernetes集群的Pod调度方法、装置、设备和介质 | |
CN109413117B (zh) | 分布式数据计算方法、装置、服务器及计算机存储介质 | |
CN112398892B (zh) | 服务分配方法、装置及设备 | |
CN106021026B (zh) | 一种备份方法及装置 | |
CN109005071B (zh) | 一种决策部署方法和调度设备 | |
CN107491270B (zh) | 一种多控存储***的资源访问方法及装置 | |
CN115794396A (zh) | 资源分配的方法、***和电子设备 | |
CN115080253A (zh) | Gpu任务的分配方法、装置、电子设备和存储介质 |
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 |