基于选举的节点服务器管理方法、装置及系统与流程

文档序号:11929897阅读:173来源:国知局
基于选举的节点服务器管理方法、装置及系统与流程

本发明涉及计算机数据处理技术领域,尤其涉及一种基于选举的节点服务器管理方法、装置及系统。



背景技术:

随着大数据时代的来临,分布式存储系统的应用越来越广泛,随之而来的是高效利用存储数据的计算需求,同时,为了提高实时性和强可用性,需要借助专门的节点服务器来主导生成和管理计算作业,该专门的节点服务器称之为管理(LEADER)节点服务器。

采用集群文件锁的方式来管理集群作业,虽然能够避免相同的计算作业被多次执行所造成的资源浪费,但是集群文件锁在使用上非常复杂并且难以管理。同时计算作业的生成需要通过LEADER节点服务器来进行管理,然而当前很多集群的LEADER节点服务器选择方法也主要以集群文件锁的方式来实现。

另外,在分布式存储系统下,当前的LEADER节点服务器选择方法过于随机化,各个节点服务器的地位通常是区域平等的。但是,在各种需要LEADER节点服务器的场景下,需要更优质的节点服务器作为LEADER节点服务器,绝不是任意的节点服务器都能够作为LEADER节点服务器。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种基于选举的节点服务器管理方法、装置及系统。所述技术方案如下:

一方面,提供了一种基于选举的节点服务器管理方法,包括如下步骤:

在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含节点服务器评估分值;

周期性的统计所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新;

根据所述节点服务器评估分值并结合选举策略,选举出管理节点服务器;

所述管理节点服务器根据所述节点服务器评估分值并结合任务分配策略,进行任务分配。

进一步的,所述在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含节点服务器评估分值的步骤具体包括:

每一个节点服务器分别在存储系统中注册各自的节点服务器信息文件,所述节点服务器信息文件包含该节点服务器的节点服务器评估分值;

或者在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含所有节点服务器的节点服务器评估分值。

进一步的,所述节点服务器评估分值由起始节点服务器评估分值减去损耗值得到,其中,所述起始节点服务器评估分值设置为固定值,所述损耗值根据损耗规则计算得出,所述损耗规则包括以下至少之一:

当节点服务器的总CPU使用率超过预设比例时,所述总CPU使用率乘以比例系数计算得到分值并加入损耗值;

当节点服务器的内存使用率超过预设比例时,所述内存使用率乘以比例系数计算得到分值并加入损耗值;

节点服务器的IOWAIT值和LOAD值直接加入损耗值。

进一步的,所述周期性的统计所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新的步骤具体包括:

每隔固定周期同时统计所有节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新;

或者每隔固定时间统计单个节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新,当对所有节点服务器的所述节点服务器评估分值统计完成后,对单个节点服务器的所述节点服务器评估分值进行下一周期的统计。

进一步的,所述选举策略包括以下至少之一:

最先完成信息注册的节点服务器,首先成为管理节点服务器;

当旧管理节点服务器的节点服务器评估分值低于固定比例的有效节点服务器的节点服务器评估分值时,节点服务器评估分值最高的有效节点服务器当选为新管理节点服务器;

当旧管理节点服务器变为无效节点服务器时,节点服务器评估分值最高的有效节点服务器当选为新管理节点服务器。

进一步的,所述有效节点服务器为能够周期性更新节点服务器信息文件的节点服务器;所述无效节点服务器为不能够周期性更新节点服务器信息文件的节点服务器。

进一步的,所述分配策略包括以下至少之一:

所述管理节点服务器根据所述有效节点服务器的所述节点服务器评估分值与当前未完成任务数,按照所述节点服务器评估分值越高分配任务越多的原则,进行任务分配;

当所述有效节点服务器变为所述无效节点服务器时,所述管理节点服务器将所述失效节点服务器承担的任务进行重新分配。

另一方面,提供了一种基于选举的节点服务器管理装置,包括:

注册模块,用于在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含节点服务器评估分值;

统计模块,用于周期性的统计所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新;

选举模块,用于根据所述节点服务器评估分值并结合选举策略,得出选举结果;

任务分配模块,用于在得出所述选举结果后,根据所述节点服务器评估分值并结合任务分配策略,进行任务分配。

进一步的,所述注册模块还用于:

分别为每一个节点服务器在存储系统中注册各自的节点服务器信息文件,所述节点服务器信息文件包含该节点服务器的节点服务器评估分值;

或者在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含所有节点服务器的节点服务器评估分值。

进一步的,所述统计模块还用于计算所述节点服务器评估分值,所述统计模块将起始节点服务器评估分值减去损耗值得到所述节点服务器评估分值,其中,所述起始节点服务器评估分值设置为固定值;

进一步的,所述统计模块还用于计算损耗值:

当节点服务器的总CPU使用率超过预设比例时,所述统计模块将所述总CPU使用率乘以比例系数计算得到分值并加入损耗值;

或者当节点服务器的内存使用率超过预设比例时,所述统计模块将所述内存使用率乘以比例系数计算得到分值并加入损耗值;

或者所述统计模块将节点服务器的IOWAIT值和LOAD值直接加入损耗值。

进一步的,所述统计模块还用于:

每隔固定周期同时统计所有节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新;

或者每隔固定时间统计单个节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新,当对所有节点服务器的所述节点服务器评估分值统计完成后,对单个节点服务器的所述节点服务器评估分值进行下一周期的统计。

进一步的,所述选举模块还用于:

将最先完成信息注册的节点服务器,选举为管理节点服务器;

或者当旧管理节点服务器的节点服务器评估分值低于固定比例的有效节点服务器时,将节点服务器评估分值最高的有效节点服务器选举为新管理节点服务器;

或者当旧管理节点服务器变为无效节点服务器时,将节点服务器评估分值最高的有效节点服务器选举为新管理节点服务器。

进一步的,所述有效节点服务器为在指定时间内能够更新节点服务器信息文件的节点服务器;所述无效节点服务器为在指定时间内未能够更新节点服务器信息文件的节点服务器。

进一步的,所述任务分配模块还用于:

根据所述有效节点服务器的所述节点服务器评估分值与当前未完成任务数,按照所述节点服务器评估分值越高分配任务越多的原则,进行任务分配;

或者当所述有效节点服务器变为所述无效节点服务器时,将所述失效节点服务器承担的任务进行重新分配。

再一方面,提供了一种存储系统,包括所述的基于选举的节点服务器管理装置。

本发明实施例提供的技术方案带来的有益效果是:

1)本发明提供的基于节点服务器评估分值的选举策略,克服了管理节点服务器选举的随机性,保证了性能最优的节点服务器成为LEADER节点服务器。

2)本发明提供的基于节点服务器评估分值的任务分配策略,按照节点服务器评估分值越高分配任务越多的原则,进行任务分配,更好地对有效节点服务器进行计算作业的分配与管理,避免了集群文件锁的复杂机制,实现了控制同一作业只在单一节点服务器上处理的效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的基于选举的节点服务器管理方法的流程示意图;

图2是本发明实施例二提供的基于选举的节点服务器管理装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施例一

本发明实施例提供了一种基于选举的节点服务器管理方法,参见图1,包括如下步骤:

S101:在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含节点服务器评估分值。

本步骤具体包括:每一个节点服务器分别在存储系统中注册各自的节点服务器信息文件,所述节点服务器信息文件包含该节点服务器的节点服务器评估分值;或者在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含所有节点服务器的节点服务器评估分值。

本步骤的优选实施方式为,每一个节点服务器分别在存储系统中注册各自的节点服务器信息文件,所述节点服务器信息文件包含该节点服务器的节点服务器评估分值,具体为所述的节点服务器信息文件与存储系统中的节点服务器是一一对应的,即每一个节点服务器对应一个节点服务器信息文件,在节点服务器信息文件中包含有本节点服务器的信息,例如节点服务器标识、节点服务器评估分值。其中,为了确保节点服务器信息文件与存储系统中的节点服务器一一对应,节点服务器标识需要在该存储系统中具有唯一性,例如选用IP标识,或者其他具有唯一性的标识。

在上述节点服务器信息文件与存储系统中的节点服务器一一对应的情况下,注册过程可以由本存储系统中的每一个节点服务器自主完成,具体来说,每一个节点服务器都能够访问存储系统中的服务器资源,因而,通过在指定的存储系统目录下各个节点服务器注册各自的节点服务器信息文件来实现这一注册过程。

上述注册过程还可以通过专门的部件进行注册,例如将注册功能集中给某个节点服务器完成,该节点服务器将采集系统中各个节点服务器的信息,为每一个节点服务器建立节点服务器信息文件。

本步骤中的另一实施方式为,在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含所有节点服务器的节点服务器评估分值,具体为该节点服务器信息文件包括所有节点服务器的信息,例如节点服务器标识、节点服务器评估分值,其中,为了确保节点服务器信息文件与存储系统中的节点服务器一一对应,节点服务器标识需要在该存储系统中具有唯一性,例如选用IP标识,或者其他具有唯一性的标识。在此前提下,该节点服务器信息文件的注册过程由存储系统完成,存储系统采集本系统中各个节点服务器的信息,并将这些节点服务器的信息在该节点服务器信息文件中进行整理。

本步骤中,所述节点服务器评估分值由起始节点服务器评估分值减去损耗值得到,其中,所述起始节点服务器评估分值设置为固定值,所述损耗值根据损耗规则计算得出,所述损耗规则包括以下至少之一:

1)当节点服务器的总CPU使用率超过预设比例时,所述总CPU使用率乘以比例系数计算得到分值并加入损耗值。例如总CPU使用率的预设比例为80%,比例系数为10,则损耗值增加8。

2)当节点服务器的内存使用率超过预设比例时,所述内存使用率乘以比例系数计算得到分值并加入损耗值。例如内存使用率的预设比例为80%,比例系数为10,则损耗值增加8。

3)节点服务器的IOWAIT值和LOAD值直接加入损耗值。例如IOWAIT值为2.5,则损耗值增加2.5,如果LOAD值为2,则损耗值增加2。

具体地,如果采取百分制,则上述起始节点服务器评估分值设置为100,如果采取十分制,则上述起始节点服务器评估分值设置为10。当然,起始节点服务器评估分值还可以设置为其他固定值,技术人员可以根据实际操作的便利程度进行设置。

需要注意的是,损耗值的计算不仅仅局限于上述损耗规则,技术人员可以根据实际应用来删除上述损耗规则,或者新增损耗规则。

S102:周期性的统计所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新。

由于各个节点服务器的CPU资源消耗、内存占用及系统性能情况总是在动态变化,各个节点服务器的性能不是一成不变的,因而需要周期性的对每个节点服务器的节点服务器评估分值进行重新统计,并且将重新统计后的节点服务器评估分值在节点服务器信息文件中进行更新,进而为下一步骤提供可靠的数据基础。

本步骤具体包括:每隔固定周期同时统计所有节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新;或者每隔固定时间统计单个节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新,当对所有节点服务器的所述节点服务器评估分值统计完成后,对单个节点服务器的所述节点服务器评估分值进行下一周期的统计。

本步骤的优选实施方式为,每隔固定周期同时统计所有节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新,具体为每隔固定周期,例如每隔两个机器周期,对所有节点服务器的节点服务器评估分值同时统计,并将节点服务器评估分值在所述节点服务器信息文件中进行更新,这样能够实时反映当下所有节点服务器的性能情况,为下一步骤提供可靠的数据基础。

需要注意的是,上述周期的选定是可变的,并且该周期与最终选举出来的管理节点服务器密切相关。例如,当选定的周期过长,会延长每一任管理节点服务器的管理期限,假设当前的管理节点服务器已不再适合作为管理节点服务器,因上述周期过长,会推迟管理节点服务器的更换,进而影响整个存储系统的处理任务的性能。当选定的周期过短,频繁的统计又会增加统计各个节点服务器信息的代价,进而占用较多资源,影响整个存储系统处理任务的性能。因而,系统资源丰富并且对性能要求高的系统,可以选定一个较短的周期;系统资源紧张对性能要求不高的系统,可以选定一个较长的周期。

本步骤中的另一实施方式为,每隔固定时间统计单个节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新,当对所有节点服务器的所述节点服务器评估分值统计完成后,对单个节点服务器的所述节点服务器评估分值进行下一周期的统计,本实施方式与上述优选实施方式的区别在于,本实施方式不是对所有节点服务器同时进行统计。采用不同时统计的实施方式,能够节省系统资源,但降低了统计的可靠性,因为各个节点服务器的性能是动态变化的,可以通过缩小统计的间隔时间来提高本实施方式的可靠性。

S103:根据所述节点服务器评估分值并结合选举策略,选举出管理节点服务器。

在本步骤中,总的选举原则是,选举性能最优异的节点服务器,即节点服务器评估分值最高的节点服务器,作为管理节点服务器。考虑到具体情况,较佳为同时结合选举策略,进行管理节点服务器的选举。

所述选举策略包括以下至少之一:

1)最先完成信息注册的节点服务器,首先成为管理节点服务器。在集群搭建初期,整个存储系统的节点服务器较少,第一个加入的节点服务器,也就是最先完成信息注册的节点服务器自动成为管理节点服务器,接管任务列表,进行任务分配。随着集群规模扩大,当有性能更优异的节点服务器大量出现时,会触发选举,例如超过一半的节点服务器比最先完成信息注册的节点服务器性能更优异,选举触发,进而选举出新的管理节点服务器。

2)当旧管理节点服务器的节点服务器评估分值低于固定比例的有效节点服务器的节点服务器评估分值时,节点服务器评估分值最高的有效节点服务器当选为新管理节点服务器。考虑到管理节点服务器的频繁变动不利于整个存储系统性能的发挥,进而需要对选举的触发进行限定。例如该固定比例设置为为50%,当旧管理节点服务器的节点服务器评估分值低于50%的有效节点服务器的节点服务器评估分值时,表明旧管理节点服务器的性能低于50%的有效节点服务器,此时,旧管理节点服务器已不适合继续作为管理节点服务器,自然需要重新选举新管理节点服务器。当旧管理节点服务器的节点服务器评估分值高于50%的有效节点服务器的节点服务器评估分值时,表明旧管理节点服务器的性能处于平均水平之上,仍然可以作为管理节点服务器。

需要注意的是,上述固定比例可以根据系统性能的具体要求进行设置,如果系统性能要求较高,可以设置成30%,进而保证管理节点服务器维持在较高的性能。

3)当旧管理节点服务器变为无效节点服务器时,节点服务器评估分值最高的有效节点服务器当选为新管理节点服务器。在这种情况下,必须进行管理节点服务器的选举,因为当旧管理节点服务器变为无效节点服务器时,旧管理节点服务器自然无法承担起管理职责,需要马上选举出新管理节点服务器。

上述选举策略,克服了管理节点服务器选举的随机性,能够保证符合预期的优质节点服务器,即节点服务器评估分值最高的节点服务器,成为管理节点服务器。同时,当所选举出的管理节点服务器即使仍然存活,但如果不能达到预期效果,影响到对计算作业生成与管理任务的处理效率,也能够及时选举出性能更优异的管理节点服务器。

在本步骤中,所述有效节点服务器为能够周期性更新节点服务器信息文件的节点服务器;所述无效节点服务器为不能够周期性更新节点服务器信息文件的节点服务器。假设节点服务器不能够周期性更新节点服务器信息文件,意味着该节点服务器脱落,与存储系统失去联系,也就成为了无效节点服务器。

S104:所述管理节点服务器根据节点服务器评估分值并结合任务分配策略,进行任务分配。

选举出的管理节点服务器将自动承接计算作业生成与分配的任务,当旧管理节点服务器失效后,由新管理节点服务器接替旧管理节点服务器未完成的任务。

本步骤中,所述分配策略包括以下至少之一:

1)所述管理节点服务器根据所述有效节点服务器的所述节点服务器评估分值与当前未完成任务数,按照所述节点服务器评估分值越高分配任务越多的原则,进行任务分配。

2)当所述有效节点服务器变为所述无效节点服务器时,所述管理节点服务器将所述失效节点服务器承担的任务进行重新分配。管理节点服务器随时关注有效节点服务器的变化,当发现有效节点服务器变为所述无效节点服务器时,及时为失效节点服务器的任务列表进行重新分配安排,并且还能够为新增的有效节点服务器进行任务分配。

上述任务分配策略,能够使所有生成的计算作业按照预期被处理完成,更好地对有效节点服务器进行计算作业的分配与管理,避免集群文件锁的复杂机制就能够实现控制同一作业只在单一节点服务器上处理的效果。

实施例二

参见图2,本发明实施例提供了一种基于选举的节点服务器管理装置,可以执行实施例一中提供的一种基于选举的节点服务器管理方法,包括:

注册模块211,用于在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含节点服务器评估分值。

统计模块212,用于周期性的统计所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新。

选举模块213,用于根据所述节点服务器评估分值并结合选举策略,得出选举结果。

任务分配模块214,用于在得出所述选举结果后,根据所述节点服务器评估分值并结合任务分配策略,进行任务分配。

在本实施例中,所述注册模块211还用于:

分别为每一个节点服务器在存储系统中注册各自的节点服务器信息文件,所述节点服务器信息文件包含该节点服务器的节点服务器评估分值。

或者在存储系统中注册节点服务器信息文件,所述节点服务器信息文件包含所有节点服务器的节点服务器评估分值。

在本实施例中,所述统计模块212还用于计算所述节点服务器评估分值,所述统计模块212将起始节点服务器评估分值减去损耗值得到所述节点服务器评估分值,其中,所述起始节点服务器评估分值设置为固定值。

所述统计模块212还用于计算损耗值:

当节点服务器的总CPU使用率超过预设比例时,所述统计模块212将所述总CPU使用率乘以比例系数计算得到分值并加入损耗值。

或者当节点服务器的内存使用率超过预设比例时,所述统计模块212将所述内存使用率乘以比例系数计算得到分值并加入损耗值。

或者所述统计模块212将节点服务器的IOWAIT值和LOAD值直接加入损耗值。

在本实施例中,所述统计模块212还用于:

每隔固定周期同时统计所有节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新。

或者每隔固定时间统计单个节点服务器的所述节点服务器评估分值,并将所述节点服务器评估分值在所述节点服务器信息文件中进行更新,当对所有节点服务器的所述节点服务器评估分值统计完成后,对单个节点服务器的所述节点服务器评估分值进行下一周期的统计。

在本实施例中,所述选举模块213还用于:

将最先完成信息注册的节点服务器,选举为管理节点服务器。

或者当旧管理节点服务器的节点服务器评估分值低于固定比例的有效节点服务器时,将节点服务器评估分值最高的有效节点服务器选举为新管理节点服务器。

或者当旧管理节点服务器变为无效节点服务器时,将节点服务器评估分值最高的有效节点服务器选举为新管理节点服务器。

在本实施例中,所述有效节点服务器为在指定时间内能够更新节点服务器信息文件的节点服务器;所述无效节点服务器为在指定时间内未能够更新节点服务器信息文件的节点服务器。

在本实施例中,所述任务分配模块214还用于:

根据所述有效节点服务器的所述节点服务器评估分值与当前未完成任务数,按照所述节点服务器评估分值越高分配任务越多的原则,进行任务分配。

或者当所述有效节点服务器变为所述无效节点服务器时,将所述失效节点服务器承担的任务进行重新分配。

实施例三

本发明实施例还提供了一种存储系统,包括实施例二中所述的基于选举的节点服务器管理装置。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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