一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种元数据集群负载均衡方法、装置、终端及存储介质与流程

2022-04-14 02:42:02 来源:中国专利 TAG:


1.本发明涉及元数据集群负载均衡领域,具体涉及一种元数据集群负载均衡方法、装置、终端及存储介质。


背景技术:

2.元数据的操作通常位于关键路径上,使得mds(元数据服务)集群对于整体性能很重要,mds同时也面临分布式文件系统中扩展性的挑战,集群中mds数量不断增加时,元数据操作就需要更大程度的相互依存关系, 使mds扩展时的一致性和一致性管理更加困难,如何随元数据服务数量增加而保证集群整体性能是需要解决的问题。
3.当前发挥元数据服务集群性能的方式有两种:静态负载均衡和动态负载均衡。静态负载均衡需要人工干预,需要事先知道用户的目录结构以及应用特性,手动将目录导出至不同mds进行压力负载;动态负载均衡可动态适应各种压力模型,适应性更广复杂性也更高。但当前的动态负载均衡方法过程中,各个元数据服务独立均衡,无法获取全局负载信息,均衡效果一般。


技术实现要素:

4.为解决上述问题,本发明提供一种元数据集群负载均衡方法、装置、终端及存储介质,集群中各元数据服务向其他元数据服务发送自身负载信息,各元数据服务计算后最终形成全局的负载信息,各元数据服务基于全局负载信息进行负载均衡,提高均衡效果。
5.第一方面,本发明的技术方案提供一种元数据集群负载均衡方法,包括以下步骤:主元数据服务发起负载收集请求;计算文件目录的元数据热度值,各个元数据服务根据元数据热度值计算自身负载,并将自身负载信息发送至其余各个元数据服务;各元数据服务根据所有元数据服务负载计算平均负载,并根据自身负载与平均负载差距判断是否进行负载均衡。
6.进一步地,计算文件目录的元数据热度值,具体为:元数据热度值=读相关操作次数*1 写相关操作次数*2。
7.进一步地,各个元数据服务根据元数据热度值计算自身负载,具体包括:元数据服务自身负载=a1*auth热度 a2*all热度 a3*客户端请求处理速率 a4*消息队列长度 a5*cpu平均占用率;其中,auth热度为文件目录中属于相应元数据服务的元数据热度值,all热度为文件目录中所有元数据的元数据热度值;a1、a2、a3、a4、a5分别是各个相应项目的权重。
8.进一步地,a1、a2、a3、a4、a5的取值分别为0.8、0.2、1、10和10。
9.进一步地,各元数据服务根据所有元数据服务负载计算平均负载具体包括:步骤一,根据以下公式计算所有元数据服务负载之和;元数据服务负载之和=a*m0 m1
……
mn;
其中,m0为主元数据服务负载,a为主元数据服务负载的系数,该系数大于1;mi为第i个元数据服务负载,i=1、2、

、n;步骤二,根据以下公式计算平均负载;平均负载=元数据服务负载之和/元数据服务个数。
10.进一步地,根据自身负载与平均负载差距判断是否进行负载均衡,具体包括:若自身负载与平均负载差距超过平均负载的50%则进行负载均衡,并将差距缩小到平均负载的25%以内。
11.第二方面,本发明的技术方案提供一种元数据集群负载均衡装置,包括,负载收集请求发起模块:主元数据服务发起负载收集请求;负载计算发送模块:计算文件目录的元数据热度值,各个元数据服务根据元数据热度值计算自身负载,并将自身负载信息发送至其余各个元数据服务;负载均衡判断模块:各元数据服务根据所有元数据服务负载计算平均负载,并根据自身负载与平均负载差距判断是否进行负载均衡。
12.第三方面,本发明的技术方案提供一种终端,包括:存储器,用于存储单主机多磁盘簇通信程序;处理器,用于执行所述单主机多磁盘簇通信程序时实现如上述任一项所述单主机多磁盘簇通信方法的步骤。
13.第四方面,本发明的技术方案提供一种计算机可读存储介质,所述可读存储介质上存储有元数据集群负载均衡程序,所述元数据集群负载均衡程序被处理器执行时实现如上述任一项所述元数据集群负载均衡方法的步骤。
14.本发明提供的一种元数据集群负载均衡方法、装置、终端及存储介质,相对于现有技术,具有以下有益效果:集群中各元数据服务向其他元数据服务发送自身负载信息,各元数据服务计算后最终形成全局的负载信息,各元数据服务基于全局负载信息进行负载均衡,提高均衡效果,根据当前业务压力情况在全局实现元数据负载的均衡,大幅提升系统对不同业务负载的自动适应能力,简化部署,简化现网局点使用。
附图说明
15.为了更清楚的说明本技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本发明实施例一提供的一种元数据集群负载均衡方法流程示意图。
17.图2为本发明提供的一种元数据集群负载均衡方法一具体实施例原理示意图。
18.图3为本发明实施例二提供的一种元数据集群负载均衡装置结构示意框图。
19.图4为本发明实施例三提供的一种终端的结构示意图。
具体实施方式
20.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。显然,所描述的实施例仅仅是本技术一部分实施例,而不是
全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.实施例一针对当前动态负载均衡方法过程中,各个元数据服务独立均衡,无法获取全局负载信息,均衡效果一般的问题,本实施例一提供一种元数据集群负载均衡方法,负载计算考虑mds自身进程负载的请求数、消息队列长度、cpu负载。主元数据服务(mds0)定期发起负载收集请求命令,其他元数据服务(mds)接受到主元数据服务的负载请求命令后,就将自身的负载情况发送给其他所有元数据服务。所有元数据服务收集到所有元数据服务的负载情况后,计算平均负载值,并决定是否发起负载均衡动作。
22.如图1所示为本实施例一提供的一种元数据集群负载均衡方法流程示意图,包括以下步骤。
23.s101,主元数据服务发起负载收集请求。
24.用户选择一个元数据服务作为主元数据服务,由该主元数据服务定期向其他各个元数据服务发起负载收集请求,当然,主元数据服务本身也进行负载计算。
25.s102,计算文件目录的元数据热度值,各个元数据服务根据元数据热度值计算自身负载,并将自身负载信息发送至其余各个元数据服务。
26.本实施例中,所计算自身负载与元数据热度值相关,因此先计算文件目录的元数据热度值,之后各个元数据服务根据相关元数据热度值计算自身负载,并将自身负载与其他各个元数据服务共享。例如,各个元数据服务将自身计算的负载和其他元数据服务存放到负载集合中,之后从该集合中提取各负载数据进行计算。
27.s103,各元数据服务根据所有元数据服务负载计算平均负载,并根据自身负载与平均负载差距判断是否进行负载均衡。
28.各元数据服务获取到所有元数据服务的负载数据,计算所有负载之和,进而计算平均负载,根据自身负载与平均负载之间的差距判断是否进行负载均衡。
29.本实施例一提供的一种元数据集群负载均衡方法,集群中各元数据服务向其他元数据服务发送自身负载信息,各元数据服务计算后最终形成全局的负载信息,各元数据服务基于全局负载信息进行负载均衡,提高均衡效果,根据当前业务压力情况在全局实现元数据负载的均衡,大幅提升系统对不同业务负载的自动适应能力,简化部署,简化现网局点使用。
30.为进一步理解本发明,以下结合上述步骤,基于本发明原理,提供一具体实施例,该具体实施例包括以下步骤,如图2所示为该具体实施例原理示意图,包括mds0~mdsn共n 1个元数据服务,其中mds0为主元数据服务。
31.步骤一,主元数据服务定期发起负载收集请求。
32.用户根据需要设定定期时间,例如每隔2小时发起一次负载收集请求。
33.步骤二,计算文件目录的元数据热度值。
34.该具体实施例中,通过以下公式计算文件目录的元数据热度值。
35.元数据热度值=读相关操作次数*1 写相关操作次数*2。
36.其中,读相关操作包括getattr\lookup\open(r)\readdir(n)\readahead\lookupino等,写相关操作包括create\open(wr)\link\unlink\rename\setattr\
truncate\setlayout\setxattr\rmxattr\mknod等。
37.具体计算时,监测一定时间段内的读写相关操作,从而计算元数据热度值。
38.步骤三,各个元数据服务根据元数据热度值计算自身负载。
39.可以理解的是,包括主元数据服务在内,所有元数据服务根据元数据热度值计算自身负载。
40.该具体实施例中,通过以下公式计算元数据服务自身负载。
41.元数据服务自身负载=a1*auth热度 a2*all热度 a3*客户端请求处理速率 a4*消息队列长度 a5*cpu平均占用率。
42.其中,auth热度为文件目录中属于相应元数据服务的元数据热度值,all热度为文件目录中所有元数据的元数据热度值;a1、a2、a3、a4、a5分别是各个相应项目的权重。
43.例如计算第i个元数据服务的自身负载,则auth热度为文件目录中属于该第i个元数据服务的元数据热度值。
44.各个相应项目的权重a1、a2、a3、a4、a5可根据测试以及经验确定,具体地,a1、a2、a3、a4、a5的取值可分别为0.8、0.2、1、10和10。
45.即,元数据服务自身负载=0.8*auth热度 0.2*all热度 客户端请求处理速率 10*消息队列长度 10*cpu平均占用率。
46.步骤四,各元数据服务根据所有元数据服务负载计算平均负载。
47.计算平均负载,需要首先计算总负载,该具体实施例中,考虑到主元数据服务承担一些特殊的任务,因此要求分配给主元数据服务的负载比其他少,进而计算总负载时,将主元数据服务的负载乘以一个大于1的系数,具体地,通过以下公式计算总负载。
48.元数据服务负载之和=a*m0 m1
……
mn。
49.其中,m0为主元数据服务负载,a为主元数据服务负载的系数,该系数大于1;mi为第i个元数据服务负载,i=1、2、

、n。
50.例如,a的取值为1.2。
51.进而计算平均负载,平均负载=元数据服务负载之和/元数据服务个数。
52.步骤五,各个元数据服务根据自身负载与平均负载差距判断是否进行负载均衡。
53.若自身负载与平均负载之间的差距较小,则无需进行负载均衡,否则需要进行负载均衡。
54.具体地,若自身负载与平均负载差距超过平均负载的50%则进行负载均衡,并将差距缩小到平均负载的25%以内。
55.实施例二本实施例二提供一种元数据集群负载均衡装置,用于实现前述的元数据集群负载均衡方法。
56.如图3所示为本实施例二提供的一种元数据集群负载均衡装置结构示意框图,包括以下功能模块。
57.负载收集请求发起模块101:主元数据服务发起负载收集请求。
58.用户选择一个元数据服务作为主元数据服务,由该主元数据服务定期向其他各个元数据服务发起负载收集请求,当然,主元数据服务本身也进行负载计算。
59.负载计算发送模块102:计算文件目录的元数据热度值,各个元数据服务根据元数
据热度值计算自身负载,并将自身负载信息发送至其余各个元数据服务。
60.该模块通过以下公式计算文件目录的元数据热度值。
61.元数据热度值=读相关操作次数*1 写相关操作次数*2。
62.其中,读相关操作包括getattr\lookup\open(r)\readdir(n)\readahead\lookupino等,写相关操作包括create\open(wr)\link\unlink\rename\setattr\truncate\setlayout\setxattr\rmxattr\mknod等。
63.具体计算时,监测一定时间段内的读写相关操作,从而计算元数据热度值。
64.该模块通过以下公式计算元数据服务自身负载。
65.元数据服务自身负载=a1*auth热度 a2*all热度 a3*客户端请求处理速率 a4*消息队列长度 a5*cpu平均占用率。
66.其中,auth热度为文件目录中属于相应元数据服务的元数据热度值,all热度为文件目录中所有元数据的元数据热度值;a1、a2、a3、a4、a5分别是各个相应项目的权重。
67.例如计算第i个元数据服务的自身负载,则auth热度为文件目录中属于该第i个元数据服务的元数据热度值。
68.各个相应项目的权重a1、a2、a3、a4、a5可根据测试以及经验确定,具体地,a1、a2、a3、a4、a5的取值可分别为0.8、0.2、1、10和10。
69.即,元数据服务自身负载=0.8*auth热度 0.2*all热度 客户端请求处理速率 10*消息队列长度 10*cpu平均占用率。
70.负载均衡判断模块103:各元数据服务根据所有元数据服务负载计算平均负载,并根据自身负载与平均负载差距判断是否进行负载均衡。
71.计算平均负载,需要首先计算总负载,该具体实施例中,考虑到主元数据服务承担一些特殊的任务,因此要求分配给主元数据服务的负载比其他少,进而计算总负载时,将主元数据服务的负载乘以一个大于1的系数,具体地,通过以下公式计算总负载。
72.元数据服务负载之和=a*m0 m1
……
mn。
73.其中,m0为主元数据服务负载,a为主元数据服务负载的系数,该系数大于1;mi为第i个元数据服务负载,i=1、2、

、n。
74.例如,a的取值为1.2。
75.进而计算平均负载,平均负载=元数据服务负载之和/元数据服务个数。
76.若自身负载与平均负载之间的差距较小,则无需进行负载均衡,否则需要进行负载均衡。
77.具体地,若自身负载与平均负载差距超过平均负载的50%则进行负载均衡,并将差距缩小到平均负载的25%以内。
78.本实施例二提供的一种元数据集群负载均衡装置,集群中各元数据服务向其他元数据服务发送自身负载信息,各元数据服务计算后最终形成全局的负载信息,各元数据服务基于全局负载信息进行负载均衡,提高均衡效果,根据当前业务压力情况在全局实现元数据负载的均衡,大幅提升系统对不同业务负载的自动适应能力,简化部署,简化现网局点使用。
79.实施例三图4为本发明实施例提供的一种终端装置400的结构示意图,包括:处理器410、存
储器420及通信单元430。所述处理器410用于实现存储器420中保存的元数据集群负载均衡程序时实现以下步骤:s101,主元数据服务发起负载收集请求。
80.s102,计算文件目录的元数据热度值,各个元数据服务根据元数据热度值计算自身负载,并将自身负载信息发送至其余各个元数据服务。
81.s103,各元数据服务根据所有元数据服务负载计算平均负载,并根据自身负载与平均负载差距判断是否进行负载均衡。
82.本发明提供的一种元数据集群负载均衡方法,集群中各元数据服务向其他元数据服务发送自身负载信息,各元数据服务计算后最终形成全局的负载信息,各元数据服务基于全局负载信息进行负载均衡,提高均衡效果,根据当前业务压力情况在全局实现元数据负载的均衡,大幅提升系统对不同业务负载的自动适应能力,简化部署,简化现网局点使用。
83.在一些具体实施例中,所述处理器410执行存储器420中保存的元数据集群负载均衡子程序时,具体可以实现:元数据热度值=读相关操作次数*1 写相关操作次数*2。
84.在一些具体实施例中,所述处理器410执行存储器420中保存的元数据集群负载均衡子程序时,具体可以实现:元数据服务自身负载=a1*auth热度 a2*all热度 a3*客户端请求处理速率 a4*消息队列长度 a5*cpu平均占用率;其中,auth热度为文件目录中属于相应元数据服务的元数据热度值,all热度为文件目录中所有元数据的元数据热度值;a1、a2、a3、a4、a5分别是各个相应项目的权重。
85.在一些具体实施例中,所述处理器410执行存储器420中保存的元数据集群负载均衡子程序时,具体可以实现: a1、a2、a3、a4、a5的取值分别为0.8、0.2、1、10和10。
86.在一些具体实施例中,所述处理器410执行存储器420中保存的元数据集群负载均衡子程序时,具体可以实现:步骤一,根据以下公式计算所有元数据服务负载之和:元数据服务负载之和=a*m0 m1
……
mn;其中,m0为主元数据服务负载,a为主元数据服务负载的系数,该系数大于1;mi为第i个元数据服务负载,i=1、2、

、n;步骤二,根据以下公式计算平均负载:平均负载=元数据服务负载之和/元数据服务个数。
87.在一些具体实施例中,所述处理器410执行存储器420中保存的元数据集群负载均衡子程序时,具体可以实现:若自身负载与平均负载差距超过平均负载的50%则进行负载均衡,并将差距缩小到平均负载的25%以内。
88.该终端装置400包括处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
89.其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。
90.处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各
个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integrated circuit,简称ic) 组成,例如可以由单颗封装的ic 所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器410可以仅包括中央处理器(central processing unit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
91.通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
92.实施例四本发明还提供一种计算机存储介质,这里所说的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
93.计算机存储介质存储有元数据集群负载均衡程序,所述元数据集群负载均衡程序被处理器执行时实现以下步骤:s101,主元数据服务发起负载收集请求。
94.s102,计算文件目录的元数据热度值,各个元数据服务根据元数据热度值计算自身负载,并将自身负载信息发送至其余各个元数据服务。
95.s103,各元数据服务根据所有元数据服务负载计算平均负载,并根据自身负载与平均负载差距判断是否进行负载均衡。
96.本发明提供的一种元数据集群负载均衡方法,集群中各元数据服务向其他元数据服务发送自身负载信息,各元数据服务计算后最终形成全局的负载信息,各元数据服务基于全局负载信息进行负载均衡,提高均衡效果,根据当前业务压力情况在全局实现元数据负载的均衡,大幅提升系统对不同业务负载的自动适应能力,简化部署,简化现网局点使用。
97.在一些具体实施例中,所述可读存储介质中存储的元数据集群负载均衡子程序被处理器执行时,具体可以实现:元数据热度值=读相关操作次数*1 写相关操作次数*2。
98.在一些具体实施例中,所述可读存储介质中存储的元数据集群负载均衡子程序被处理器执行时,具体可以实现:元数据服务自身负载=a1*auth热度 a2*all热度 a3*客户端请求处理速率 a4*消息队列长度 a5*cpu平均占用率;其中,auth热度为文件目录中属于相应元数据服务的元数据热度值,all热度为文件目录中所有元数据的元数据热度值;a1、a2、a3、a4、a5分别是各个相应项目的权重。
99.在一些具体实施例中,所述可读存储介质中存储的元数据集群负载均衡子程序被处理器执行时,具体可以实现:a1、a2、a3、a4、a5的取值分别为0.8、0.2、1、10和10。
100.在一些具体实施例中,所述可读存储介质中存储的元数据集群负载均衡子程序被处理器执行时,具体可以实现:步骤一,根据以下公式计算所有元数据服务负载之和:元数据服务负载之和=a*m0 m1
……
mn;其中,m0为主元数据服务负载,a为主元数据服务负载的系数,该系数大于1;mi为第i个元数据服务负载,i=1、2、

、n;步骤二,根据以下公式计算平均负载:平均负载=元数据服务负载之和/元数据服务个数。
101.在一些具体实施例中,所述可读存储介质中存储的元数据集群负载均衡子程序被
处理器执行时,具体可以实现:若自身负载与平均负载差距超过平均负载的50%则进行负载均衡,并将差距缩小到平均负载的25%以内。
102.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
103.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
104.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
105.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
106.以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献