用于分布式系统的调度方法、装置及电子设备与流程

文档序号:11917920阅读:来源:国知局

技术特征:

1.一种用于分布式系统的调度方法,其特征在于,包括:

分布式系统的资源提供单位通过分布式系统的管理中心获取该分布式系统中的资源提供单位数量,以及该资源提供单位本身在所有资源提供单位中的资源提供单位顺序号M;

通过分布式系统的管理中心获取资源消耗单位数量,所述资源消耗单位被顺序编号;

将所述资源消耗单位数量除以所述分布式系统中的资源提供单位数量,获得每个资源提供单位应当承担的资源消耗单位平均承担数量N,N为取整后的数值;

所述资源提供单位根据自己在所有资源提供单位中的顺序号M以及平均分配的原则,按照资源消耗单位编号的顺序,从资源消耗单位中提取数量为N或者(N-1)或者(N+1)的资源消耗单位,作为分配给自己的资源消耗单位。

2.根据权利要求1所述的用于分布式系统的调度方法,其特征在于,所述资源提供单位为在分布式系统中的机器,所述资源消耗单位为处理待分配的任务项的线程组。

3.根据权利要求1所述的用于分布式系统的调度方法,其特征在于,所述资源提供单位为处理待分配的任务项的线程组,所述资源消耗单位为待分配的任务项。

4.根据权利要求1所述的用于分布式系统的调度方法,其特征在于,若所述资源消耗单位平均承担数量N的取整方式为:去除所述资源消耗单位数量除以所述分布式系统中的资源提供单位数量所获得值的小数位;

此时,所述按照资源消耗单位编号的顺序,从资源消耗单位中提取数量为N或者(N-1)或者(N+1)的资源消耗单位,是从资源消耗单位中提取数量为N或者(N+1)的资源消耗单位,包括:

将资源消耗单位承担数量N乘以资源提供单位数量获取取整资源消耗单位数量;

将资源消耗单位数量减去取整资源消耗单位数量获取剩余资源消耗单位数量X;

对于资源提供单位顺序号M的数值小于等于剩余资源消耗单位数量X的数值的资源提供单位,按照资源提供单位顺序号M的顺序,从资源消耗单位中按照资源消耗单位编号的顺序提取数量为N+1的资源消耗单位;

为资源提供单位顺序号M的数值大于剩余资源消耗单位数量X的数值的资源提供单位,按照资源提供单位顺序号M的顺序,从资源消耗单位中按照资源消耗单位编号的顺序提取数量为N的资源消耗单位。

5.根据权利要求1所述的用于分布式系统的调度方法,其特征在于,若所述资源消耗单位承担数量N的取整方式为:所述资源消耗单位数量除以所述分布式系统中的资源提供单位数量所获得值,若存在小数位,则取大于该获得值的最小整数;

此时,所述按照资源消耗单位编号的顺序,从资源消耗单位中提取数量为N或者(N-1)或者(N+1)的资源消耗单位,是从资源消耗单位中提取数量为N或者(N-1)的资源消耗单位,包括:

将资源消耗单位承担数量N乘以资源提供单位数量获取取整资源消耗单位数量;

将取整资源消耗单位数量减去资源消耗单位数量获取多余资源消耗单位数量Y;

对于资源提供单位顺序号M的数值小于等于多余资源消耗单位数量Y的数值的资源提供单位,按照资源提供单位顺序号M的顺序,从资源消耗单位中按照资源消耗单位编号的顺序提取数量为(N-1)的资源消耗单位;

为资源提供单位顺序号M的数值大于多余资源消耗单位数量Y的数值的资源提供单位,按照资源提供单位顺序号M的顺序,从资源消耗单位中按照资源消耗单位编号的顺序提取数量为N的资源消耗单位。

6.一种用于分布式系统的调度装置,其特征在于,包括:

资源提供单位获取单元,用于分布式系统的资源提供单位通过分布式系统的管理中心获取该分布式系统中的资源提供单位数量,以及该资源提供单位本身在所有资源提供单位中的资源提供单位顺序号M;

编号单元,用于通过分布式系统的管理中心获取资源消耗单位数量,所述资源消耗单位被顺序编号;

承担数量计算单元,用于将所述资源消耗单位数量除以所述分布式系统中的资源提供单位数量,获得每个资源提供单位应当承担的资源消耗单位平均承担数量N,N为取整后的数值;

资源消耗单位分配单元,用于所述资源提供单位根据自己在所有资源提供单 位中的顺序号M以及平均分配的原则,按照资源消耗单位编号的顺序,从资源消耗单位中提取数量为N或者(N-1)或者(N+1)的资源消耗单位,作为分配给自己的资源消耗单位。

7.根据权利要求6所述的用于分布式系统的调度装置,其特征在于,若所述承担数量计算单元,具体用于去除所述资源消耗单位数量除以所述分布式系统中的资源提供单位数量所获得值的小数位,则所述资源消耗单位分配单元,包括:取整计算子单元、剩余数计算子单元、第一资源消耗单位分配子单元以及第二资源消耗单位分配子单元;

所述取整计算子单元,用于从资源消耗单位中提取数量为N或者(N+1)的资源消耗单位,将资源消耗单位承担数量N乘以资源提供单位数量获取取整资源消耗单位数量;

所述剩余数计算子单元,用于将资源消耗单位数量减去取整资源消耗单位数量获取剩余资源消耗单位数量X;

所述第一资源消耗单位分配子单元,用于对于资源提供单位顺序号M的数值小于等于剩余资源消耗单位数量X的数值的资源提供单位,按照资源提供单位顺序号M的顺序,从资源消耗单位中按照资源消耗单位编号的顺序提取数量为N+1的资源消耗单位;

所述第二资源消耗单位分配子单元,用于为资源提供单位顺序号M的数值大于剩余资源消耗单位数量X的数值的资源提供单位,按照资源提供单位顺序号M的顺序,从资源消耗单位中按照资源消耗单位编号的顺序提取数量为N的资源消耗单位。

8.根据权利要求6所述的用于分布式系统的调度装置,其特征在于,若所述承担数量计算单元,具体用于若存在小数位,则取大于该获得值的最小整数,则所述资源消耗单位分配单元,包括:取整计算子单元、多余数计算子单元、第一资源消耗单位分配子单元以及第二资源消耗单位分配子单元;

所述取整计算子单元,用于从资源消耗单位中提取数量为N或者(N-1)的资源消耗单位,将资源消耗单位承担数量N乘以资源提供单位数量获取取整资源消耗单位数量;

所述多余数计算子单元,用于将取整资源消耗单位数量减去资源消耗单位数量获取多余资源消耗单位数量Y;

所述第一资源消耗单位分配子单元,用于对于资源提供单位顺序号M的数值小于等于多余资源消耗单位数量Y的数值的资源提供单位,按照资源提供单位顺序号M的顺序,从资源消耗单位中按照资源消耗单位编号的顺序提取数量为(N-1)的资源消耗单位;

所述第二资源消耗单位分配子单元,用于为资源提供单位顺序号M的数值大于多余资源消耗单位数量Y的数值的资源提供单位,按照资源提供单位顺序号M的顺序,从资源消耗单位中按照资源消耗单位编号的顺序提取数量为N的资源消耗单位。

9.一种电子设备,其特征在于,所述电子设备包括:

显示器;

处理器;

存储器,用于存储分布式系统的调度程序,所述程序在被所述处理器读取执行时,执行如下操作:分布式系统的资源提供单位通过分布式系统的管理中心获取该分布式系统中的资源提供单位数量,以及该资源提供单位本身在所有资源提供单位中的资源提供单位顺序号M;通过分布式系统的管理中心获取资源消耗单位数量,所述资源消耗单位被顺序编号;将所述资源消耗单位数量除以所述分布式系统中的资源提供单位数量,获得每个资源提供单位应当承担的资源消耗单位平均承担数量N,N为取整后的数值;所述资源提供单位根据自己在所有资源提供单位中的顺序号M以及平均分配的原则,按照资源消耗单位编号的顺序,从资源消耗单位中提取数量为N或者(N-1)或者(N+1)的资源消耗单位,作为分配给自己的资源消耗单位。

10.一种用于分布式系统的调度方法,其特征在于,包括:

读取zookeeper系统中存储的控制信息;所述控制信息包括在zookeeper系统中注册的服务器,以及分布式系统中需要执行的具体策略,所述具体策略描述不同的具体执行方式以及各个具体执行方式对线程组数量的要求;

按照所述在zookeeper系统中注册的服务器数量,以及所述需要执行的具体策略,重新计算各个服务器需要分配的线程组数量;

将所述在zookeeper系统中注册的服务器作为资源提供单位,将所述需要分配的线程组作为资源消耗单位,并使用权利要求1-5任意一项所述的用于分布式系统的调度方法,为服务器配置相应的线程组,包括分配新的线程组,以 及停止已经启动的线程组。

11.根据权利要求10所述的用于分布式系统的调度方法,其特征在于,所述控制信息还包括:在zookeeper系统中注册的线程组,以及待处理的任务项;

在所述为服务器配置相应的线程组的步骤之后,包括:

按照所述在zookeeper系统中注册的线程组数量,以及所述待处理的任务项,计算各个线程组需要分配的任务项数量;

将所述在zookeeper系统中注册的线程组数量作为资源提供单位,将所述需要处理的任务项作为资源消耗单位,并使用权利要求1-5任意一项所述的用于分布式系统的调度方法,为各个线程组配置相应的任务项,包括对已经分配的任务项重新分配、为进程组分配新的任务项以及消除需要停止的任务项。

12.根据权利要求11所述的用于分布式系统的调度方法,其特征在于,所述zookeeper系统中存储的控制信息被存储在服务器本地,并以服务器本地存储的控制信息作为该服务器执行分布式任务调度的依据;若zookeeper系统出现异常,则直接以服务器本地存储的控制信息执行分布式任务调度。

13.根据权利要求10或者11所述的用于分布式系统的调度方法,其特征在于,在所述读取zookeeper系统中存储的控制信息之前,包括:

各个服务器具有重新加载字段Reload;

各个服务器具有间隔固定时间就读取所述重新加载字段Reload的值的守护线程;

若所述守护线程读取到的所述重新加载字段Reload的值为true,则进入所述读取zookeeper系统中存储的控制信息的步骤;并将所述重新加载字段Reload的值设置为false。

14.根据权利要求13所述的用于分布式系统的调度方法,其特征在于,包括:

对所述zookeeper系统持续监听;若出现以下任意事项则设置所述重新加载字段Reload为true:zookeeper系统重启、zookeeper系统配置变化、zookeeper系统存储的控制信息变化、服务器初始化。

15.根据权利要求10或者11所述的用于分布式系统的调度方法,其特征在于,所述分布式系统的各个线程组分别设置有对应该线程组的加载判断字段Needload;

所述各个线程组分别具有间隔固定时间就读取所述加载判断字段Needload的值的线程组守护进程;

若所述线程组守护进程读取到的所述重新加载字段Needload的值为true,则进入所述按照所述在zookeeper系统中注册的线程组数量,以及所述需要处理的任务项,计算各个线程组需要分配的任务项数量的步骤;并将所述加载判断字段Needload的值设置为false。

16.根据权利要求12所述的用于分布式系统的调度方法,其特征在于,在所述为各个线程组配置相应的任务项的步骤之后,包括:

读取zookeeper的控制信息版本号;

获取服务器的控制信息版本号;

判断服务器的版本号是否与zookeeper的版本号相同;

若否,则读取存储在服务器本地的重新加载字段Reload,并将所述重新加载字段的取值修改为true。

17.根据权利要求14所述的用于分布式系统的调度方法,其特征在于,各个服务器设置有服务器运行标志字段isRunning;该服务器运行标志字段在服务器正常运行的情况下为true;当所述服务器需要退出系统时,则设置服务器运行标志字段isRunning设置为false,并停止服务器初始化线程、停止系统守护线程、停止服务器的所有线程组、注销服务器与zookeeper的连接。

18.一种用于分布式系统的调度装置,其特征在于,包括:

控制信息读取单元,用于读取zookeeper系统中存储的控制信息;所述控制信息包括在zookeeper系统中注册的服务器,以及分布式系统中需要执行的具体策略,所述具体策略描述不同的具体执行方式以及各个具体执行方式对线程组数量的要求;

重新计算单元,用于按照所述在zookeeper系统中注册的服务器数量,以及所述需要执行的具体策略,重新计算各个服务器需要分配的线程组数量;

线程组分配单元,用于将所述在zookeeper系统中注册的服务器作为资源提供单位,将所述需要分配的线程组作为资源消耗单位,并使用权利要求1-5任意一项所述的用于分布式系统的调度方法,为服务器配置相应的线程组,包括分配新的线程组,以及停止已经启动的线程组。

19.根据权利要求18所述的用于分布式系统的调度装置,其特征在于,所 述控制信息读取单元,读取的所述控制信息还包括:在zookeeper系统中注册的线程组,以及待处理的任务项;

所述用于分布式系统的调度装置,还包括:

任务项计算单元,用于在所述为服务器配置相应的线程组之后,按照所述在zookeeper系统中注册的线程组数量,以及所述待处理的任务项,计算各个线程组需要分配的任务项数量;

任务项分配单元,用于将所述在zookeeper系统中注册的线程组数量作为资源提供单位,将所述需要处理的任务项作为资源消耗单位,并使用权利要求1-5任意一项所述的用于分布式系统的调度方法,为各个线程组配置相应的任务项,包括对已经分配的任务项重新分配、为进程组分配新的任务项以及消除需要停止的任务项。

20.根据权利要求19所述的用于分布式系统的调度装置,其特征在于,包括:控制信息存储单元,用于将所述zookeeper系统中存储的控制信息存储在服务器本地,并以服务器本地存储的控制信息作为该服务器执行分布式任务调度的依据;若zookeeper系统出现异常,则直接以服务器本地存储的控制信息执行分布式任务调度。

21.一种电子设备,其特征在于,所述电子设备包括:

显示器;

处理器;

存储器,用于存储分布式系统的调度程序,所述程序在被所述处理器读取执行时,执行如下操作:读取zookeeper系统中存储的控制信息;所述控制信息包括在zookeeper系统中注册的服务器,以及分布式系统中需要执行的具体策略,所述具体策略描述不同的具体执行方式以及各个具体执行方式对线程组数量的要求;按照所述在zookeeper系统中注册的服务器数量,以及所述需要执行的具体策略,重新计算各个服务器需要分配的线程组数量;将所述在zookeeper系统中注册的服务器作为资源提供单位,将所述需要分配的线程组作为资源消耗单位,并使用权利要求1-5任意一项所述的用于分布式系统的调度方法,为服务器配置相应的线程组,包括分配新的线程组,以及停止已经启动的线程组。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1