分布网络管理架构中的负载均衡的制作方法
【专利摘要】公开了一种在多个网络管理处理元件间分发网络管理处理负载的方法。每个网络管理处理元件是集群的一个成员,一个成员为更新集群状态的集群头部,该集群的成员跟随该集群状态。该方法包括:集群头部监控该集群成员上的网络管理处理负载。该方法还包括,在检测到该集群负载不均衡时,一旦该多个成员的子集处理的任务已经被完成,集群头部更新该集群状态,以发起在该集群的多个成员的至少一个子集上的网络管理处理负载的自动再均衡。还公开了一种用于控制通信网络的分发处理的方法以及一种网络管理处理元件。
【专利说明】
分布网络管理架构中的负载均衡
技术领域
[0001]本发明涉及一种用于在集群的多个网络管理处理元件间分发网络管理处理负载的方法和装置。该网络例如可以是通信网络。本发明还涉及一种计算机程序配置的产品,当在计算机上运行时,该产品被配置为执行在集群的多个网络管理处理元件间分发网络管理处理负载的方法。
【背景技术】
[0002]近年来,由移动网络管理系统管理的网络元件的数量有了显著的增长。例如在GSM系统中,网络元件的数量接近于数百网络元件的程度。在LTE中,具有成千上万个网络元件的网络并不罕见。移动网络越来越多地异构,并且可以运行包括2G、WCDMA、LTE以及无线LAN的多个不同的无线技术。复杂无线架构可以被实施以支持诸如宏小区、微小区、微微小区以及毫微微小区的移动网络、架构。
[0003]运行这些网络的管理系统所在的电脑同样演进,许多计算实体目前以高度分布的方式运行,通常使用云手段部署在刀片式服务器上。这样的分布式体系结构通常支持构成该云的计算实体的基本无缝加入或移除,以及调整被分配到该云的物理和虚拟机器二者。
[0004]用于通信网络的管理系统已经发展为吸收上述讨论的分发架构的优势。这样的管理系统允许分发体系结构的处理功率被利用,从而管理大异构移动通信网络。个体的管理应用经常被设计为水平缩放:多个应用实例在单独的进程中并行运行,每个应用实例执行所管理的网络的一小部分负载。管理应用的性能进而通过增大或减小在任意给定时间运行的应用实例的数量,可以被简单地调整。整个通信网络的处理负载可以在管理应用的不同示例间均衡,例如,将网络元件在所有应用实例上平均划分,或者测量由每一网络元件生成的负载,以及基于这些测量规划负载分布。
[0005]目前对于分布计算平台中正在运行的负载均衡的手段聚焦于,在分布计算体系架构中提供支持,允许应用灵活地增加以及减小正在运行的实例数量。但是,在通信网络管理的情况下,网络管理应用和它们控制网络元件之间使用的语义呈现出此类支持的实际实现是高度有挑战的。通常,管理应用采用状态会话语义与网络元件交互。一个应用建立与网络元件的管理会话,执行一些操作,之后关闭该会话。这样的管理会话可以被用于收集统计信息,执行配置操作或者接收事件流。管理应用的特定实例通常被要求在特定的管理会话期间掌控特定的网络元件。一些管理会话,例如包括用于报警或事件收集的会话可能会非常长时期地存活,恶化了用于负载均衡目的在管理应用实例之间的网络元件的再分发。
[0006]在被管理的网络中,通过修改应用的拓扑,通过来自先前未知的网络元件的输入连接或者通过发现网络元件,可以通知管理应用网络元件的增加与移除。通过管理应用拓扑并且通过基于分发计算平台,可以通知管理应用该应用的管理实例数目的变化。每次网络元件被加入到网络中或者从网络移除时,管理应用实例的配置被修改,该实例被重新初始化。当管理应用中的实例数量被调整时,该应用的实例数目被修改,该应用的多个实例的配置被修改,多个实例的每一个被重新初始化。如上提及的,管理应用和受控网络元件之间使用的面向会话的语义表示这些实例的修改以及重新归一化可能有问题。为了将网络元件的分配从一个管理应用实例改变到另一个,网络元件以及所述“老的”原始实例必须被关停,在被管理元件和所述“新的”管理实例之间建立管理会话。
[0007]目前的系统或者通过人工分配网络元件至管理应用实例,或者通过使用集中化算法,来解决应用实例中负载均衡的难点。在管理应用实例之间重分布的执行进而必须被集中控制,这要求单个操作在所有相关的网络元件以及应用实例上的协作。每个被修改的应用实例必须被关闭,其新的配置及该实例必须被重启。这样的过程对于自动化是不灵活且难度高的,至少部分因为在所有修改的网络元件上要求的高度协作度。集中化过程中要求的复杂负载均衡算法难以实施,并且在应用实例失败的情况下,该实例承担的负载不能被自动地在其他实例中重新分配。
【发明内容】
[0008]本发明的一个目的是,提供一种消除或降低上文提及的缺点的至少一个或多个的方法和装置。
[0009]根据本发明的第一方面,提供了一种在多个网络管理处理元件上分发网络管理处理负载的方法。每个网络管理处理元件是集群的成员,一个成员是更新集群状态的集群头部,该集群的成员跟随该集群状态。该方法包括,集群头部监控在集群成员上的网络管理处理负载,并且,在检测到该集群负载不均衡时,一旦该多个成员的子集处理的任务已经被完成,所述集群头部更新该集群状态,以发起在该集群的多个成员的至少一个子集上的网络管理处理负载的自动再均衡。
[0010]在一些示例中,一旦多个成员的子集处理的所有任务已经完成,在多个集群成员的至少一个子集上的网络管理处理负载的自动再均衡可以发生。
[0011]非均衡的集群负载可以被检测作为域活动的结果,例如,包括新的或移除的网络元件,网络元件上活动功能的变化,或者网络元件状态的变化。可替代地或者附加地,非均衡的集群负载可以被检测为集群活动的结果,例如包括,成员加入或移除随后的集群成员变化,或者由单个集群成员负责的网络管理处理负载的变化。
[0012]在一些示例中,集群的子集可以包括该集群的所有成员。在其他示例中,该子集可以包括少于该集群所有成员的成员。
[0013]在一些示例中,再均衡网络管理处理负载的步骤可以包括,在当前任务处理完成后,暂停该多个成员的子集的每个成员的操作,并且在延迟该子集的所有成员之后,自动地再均衡网络管理处理负载。暂停操作可以包括在当前任务完成的同时暂停新的任务的初始化。
[0014]在一些示例中,自动再均衡该负载的步骤可以包括,从该集群的开始成员池中加入网络管理处理元件至该子集,或者将网络管理处理元件从该子集移除至该集群的开始成员池。
[0015]在进一步示例中,根据特定的池最大和最小的占有限制,成员可以被启动或添加,或者停止以及移除。该池的成员可以包括已经被启动但是还未具备分配给它们的任何网络管理处理负载的网络管理处理元件。
[0016]在一些示例中,自动再均衡的步骤可以包括该子集的至少一个成员运行负载均衡算法,以根据在集群成员之间共享的处理负载数据,设置由所述网络管理处理元件处理的网络管理处理负载。
[0017]在一些示例中,该方法进一步包括检测该集群已经从第一状态改变到第二状态,并且一旦正处理的任务已经完成,将集群成员的状态从第一状态改变为第二状态。在一些示例中,第一状态可以是运行状态,第二状态可以是暂停状态。
[0018]在一些示例中,改变集群成员状态的步骤可以包括在当前任务的处理完成后暂停集群成员的操作,并且将集群成员的状态从第一状态改变为第二状态。
[0019]在一些示例中,该方法还包括在出现触发事件时检查集群状态,其中触发事件可以包括时限超期或者网络事件的至少一个。在一些示例中,时限可以是重复的时限,从而基于周期化的基础执行查看集群状态,在一些示例中,该基础可以由网络事件的发生而被暂
¥r O
[0020]根据本方面的另一方面,提供了一种计算机程序配置的产品,在计算机上运行时,被配置为执行根据本发明的第一方面的方法。计算机程序产品的示例可以被集成到诸如网络管理处理元件的装置中。该计算机程序产品可以被存储在计算机可读介质或它的云上,例如作为可下载数据信号的信号格式,或者它可以是任何其他的格式。一些或所有计算机程序产品可以从互联网下载可得。
[0021]根据本发明的另一方面,提供了一种分发用于控制通信网络的处理的方法。该网络包括多个节点,由多个处理元件的集群控制,每个处理元件是集群的成员。该集群的一个成员是更新集群状态的集群头部,所述集群的成员跟随所述集群状态。该方法还包括根据本发明的第一方面的执行步骤。
[0022]根据本发明的另一方面,公开了一种网络管理处理元件,其操作为包括多个网络管理元件的集群的成员,该集群的一个成员是该集群的头部,被配置为更新该集群状态。所述网络管理处理元件包括检测器,被配置为检测集群状态的更新,以及负载均衡器,被配置为一旦由多个成员的子集正执行的任务已经完成时,参照该集群的多个成员的至少一个子集,重新均衡由网络管理处理元件处理的网络管理处理负载。
[0023]在一些示例中,该处理元件还可以包括元件状态管理器,被配置为暂停该元件的操作。
[0024]在一些示例中,该检测器可以被配置为,检测该集群从第一状态改变到第二状态,该元件状态管理器可以被配置为,一旦正处理的任务已经完成,将该网络管理处理元件的状态从第一状态改变为第二状态。
[0025]在一些示例中,负载均衡器可以被配置为,运行负载均衡算法,以根据集群成员之间共享的处理负载数据,设置网络管理处理元件所处理的网络管理处理负载。
[0026]在一些示例中,网络管理处理元件进一步可以包括检查单元,被配置为在发生触发事件时检查集群状态,其中,触发事件包括时限超期或者网络事件的至少一个。该检测器可以被配置为,基于检查单元提供至检测器的信息,检测集群状态的更新。
[0027]在一些示例中,网络管理处理单元进一步可包括监控器,被配置为监控集群成员上的网络管理处理负载,以及集群状态管理器,被配置为在检测到所监控的网络处理负载不均衡时,更新集群状态。
[0028]在一些示例中,网络管理处理元件进一步可以包括标识单元,被配置为确定网络管理处理元件是否作为集群头部操作。
[0029]根据本发明的另一方面,提供了一种作为集群的集群头部运作的网络管理处理元件,包括多个网络管理处理元件。所述网络管理处理元件包括监控器,被配置为监控该集群成员上的网络管理处理负载,以及集群状态管理器,被配置为在检测到所监控的网络处理负载不均衡时,更新集群状态。
[0030]根据本发明的又一方面,提供了一种运行为包括多个网络管理处理元件的集群的成员的网络管理处理元件,该集群的一个成员是该集群的头部,被配置为更新集群状态。该网络管理处理单元包括处理器和存储器,该存储器存储可由处理器执行的指令,通过该处理器,网络管理处理元件可操作地检测集群状态的更新,并且,一旦多个成员的子集正在处理的任务已经完成时,参考该集群的多个成员的至少一个子集,再均衡由网络管理处理元件处理的网络管理处理负载。
【附图说明】
[0031]为了更好理解本发明,并更清楚地示出本发明如何带来效果,现在将以示例的方式参考以下附图,其中:
[0032]图1是图示了用于分发网络管理处理负载的一种方法中的步骤的流程图;
[0033]图2是图示了图1的方法中的步骤如何被实现的流程图;
[0034]图3是网络管理处理元件中的功能单元的简化框图;
[0035]图4是另一网络管理处理元件的简化框图;
[0036]图5是集群成员间共享数据的表示;
[0037]图6a和6b是图示了用于集群成员启动和关闭的方法步骤的流程图;
[0038]图7是图示了集群和成员状态的状态图;
[0039]图8是图示了状态管理过程中步骤的流程图;
[0040]图9是图示了集群状态管理过程中步骤的流程图,该过程可以被执行作为图8的状态管理过程的一部分;以及
[0041]图10是用于分发网络管理处理负载的一种方法的示例的示意性执行。
【具体实施方式】
[0042]本发明的方面提供了一种用于在多个网络管理处理元件上分发网络管理处理负载的方法。该方法的示例允许在网络管理应用的多个实例上的网络管理处理的分布式动态负载均衡。图1是图示了这样的方法100的步骤的流程图。每个网络管理处理单元可以运行网络管理应用的单个实例,每个处理元件是协作集群的成员。该集群的一个成员是集群头部,并更新集群状态。该集群的个体成员跟随该集群状态。
[0043]参看图1,在第一步骤110中,集群头部监控在集群成员上的网络管理处理负载。随后在步骤120中,该集群头部确定该集群负载是否不均衡。该确定可以基于域和/或集群规贝1J,该规则指定事件和/或处理指示负载不均衡的负载测量。如果集群负载不均衡(在步骤120中,是),在步骤130中,一旦由该多个成员的子集正处理的任务已经完成,该集群头部更新该集群状态,以发起在该集群的多个成员的至少一个子集上的网络管理处理负载的自动再均衡。
[0044]图2图示了为实现步骤130的自动再均衡可能发生的子步骤。参照图2,在步骤132中,集群成员确定当前任务是否完成。这可以包括当前任务的全部或者子集,将在下文中更详细地讨论。一旦当前任务已经完成(步骤132中,是),集群成员在步骤134中暂停操作,并且等待,直到要对负载再均衡的该子集的所有成员已经被暂停。成员的暂停可以通过成员状态的变化来指示。一旦所有子集成员已经被暂停(步骤136中,是),在步骤138,集群成员继续自动化再均衡该子集成员之间的网络管理处理负载。自动再均衡可以包括,该子集的至少一个成员运行负载均衡算法,以根据在集群成员之间共享的处理负载数据,设置其网络管理处理负载。可替代或附加地,再均衡可以包括,从开始但未负载的成员池中加入网络管理处理元件至该子集,或者将元件从该子集移除至该池。下文将参看图5-10具体讨论这些步骤的每。
[0045]执行上文描述的方法(例如接收合适的计算机可读指令)的装置可以被集成在网络管理处理元件内。图3图示了可以执行图1和2步骤(例如根据从计算机程序接收的计算机可读指令)的网络管理处理元件200的功能单元。将理解的是,图3图示的单元是功能性单元,可以以任何适合的硬件和/或软件的组合实现。
[0046]参看图3,网络管理处理元件200包括检测器240和负载均衡器250。该元件还包括检查单元260,成员状态管理器270,标识单元280,监控器292以及集群状态管理器294。监控器292和集群状态管理器294可以被集中在集群管理单元290中。
[0047]处理器240被配置为检测集群状态已经被更新。检测器240可以基于检查单元260所提供的信息检测集群状态的更新,检查单元260被配置为进行集群状态的周期性检测并通知检测器240集群状态,从而允许检测器240检测集群状态从先前状态到新状态的更新。负载均衡器250被配置为影响集群子集的成员之间的网络处理负载的负载均衡。负载均衡器250可以被配置为运行负载均衡算法,以根据集群成员之间共享的处理负载数据设置其网络管理处理负载。网络管理处理负载可以基于子集成员而设置,该子集包括一个或多个成员,该成员可以从被启动但未分配的负载的成员池中添加或移除。检测器240在检测到集群的更新状态后,通过负载均衡器250发起负载均衡。该发起可以通过元件状态管理器270执行。元件状态管理器可以被配置为在接收来自检测器250的消息后,一旦当前任务已经完成,暂停该元件的操作,随后更新该元件的状态以反映集群的状态。一旦该子集所有成员具有反映该集群状态的状态,状态元件管理器可以触发负载均衡器250执行负载均衡。
[0048]如上讨论的,集群的一个成员是集群头部,并更新集群状态。集群的任何成员可以操作为集群头部,元件200可以包括标识单元280,其可以被配置为确定元件200是否被要求作为集群头部运行。这可以基于标识单元280中编程的算法而确定。元件200还包括监控器292和集群状态管理器294,组合在集群管理单元290中。如果标识单元280确定元件200被要求作为集群头部运行,标识单元280可以被配置为指示集群管理单元290运行监控和集群状态管理。监控器292可以被配置为监控集群成员间的网络管理处理负载,集群状态管理器294可以被配置为基于监控的集群负载更新集群状态。处理元件200的单元的功能在下文将参照图5到10具体描述。
[0049]在另一示例中,参看图4,网络管理处理单元300包括处理器355和存储器365。存储器355包括可由处理器365执行的指令,从而处理元件300可操作地执行上文描述的图1和2的步骤。
[0050]现在将具体描述例如根据图3和4的处理元件所执行的图1和2的方法操作。
[0051]如上讨论的,本发明的方面包括在集群的成员的至少一个子集之间的网络管理处理负载的负载均衡。每个网络管理处理元件可以运行网络管理应用的单个实例,每个处理元件是协同集群的成员之一。每个集群成员自主运行,与其他所有集群成员分享状态和数据信息。集群状态和数据随后被用于协作集群成员之间的负载均衡。在以下讨论中,在包括所有集群成员的子集间的负载均衡被解释为一个示例,但是在只包含一些集群成员的子集上的均衡也可以由该方法实现,如在稍后的示例中讨论的。
[0052]集群成员间共享的状态和数据信息在图5中图示。管理应用的整体状态由集群状态402表示,有助于协调负载均衡的任何通用数据被保持为集群数据404。集群数据可以包括该应用正管理的网络元件的当前列表,在触发再均衡之前可以忍受的单个集群成员承受的负载不均衡级别,集群成员可以去激活的负载级别上限,或者集群成员可以被激活的负载级别下限。
[0053]对于集群的每个成员的记录406被保持为共享信息,为所有成员可见。成员ID408唯一地标识了集群中的成员,成员状态410表示所标识成员在给定时刻的状态。成员数据412是特定于成员的任何数据,例如正由该成员管理的网络元件的当前列表。采用任何适合的分发共享信息的方法,信息在集群成员间共享。用于分发共享信息的适当的算法可以包括分发哈希表或者集群成员之间的过程通信(IPC)。
[0054]每个集群成员在任何给定时间根据集群负载被启动或关闭。用于成员启动500和关闭600的序列在图6a和6b中图示。参看图6a,当集群成员启动时,他首先在步骤510检查集群信息是否被初始化。如果集群信息未被初始化(步骤510,否),该集群成员是要启动的第一个成员,在步骤520,它初始化共享信息中的集群状态和数据。在步骤530,集群成员随后初始化其成员状态和数据,并存储该信息于共享信息,由其唯一标识索引。如果在步骤510集群成员确定集群数据已经被初始化(步骤510,是),随后该成员直接继续到在步骤530初始化其状态和数据。集群成员随后在步骤540开始周期化过程,其在固定间隔内运行,以监控和更新其状态。该周期化过程进一步在下文参看图8讨论。
[0055]参照图6b,当集群成员被关闭时,在步骤610,集群成员首先停止其周期化过程。随后,在步骤620,集群成员从共享集群信息中清除其成员状态和数据。
[0056]如上所提及的,个体集群成员的状态紧随其所属的集群的状态。这通过图8的周期性过程实现,效果在图7中图示。集群状态有效地引导集群成员的状态,当前的成员状态被设置为集群成员所要求的下一状态。参看图7,如果集群状态从状态S2转变到状态Sn-1,该集群中的成员也会从状态2转变到状态Sn-1,执行该转变所必需的任何特定的操作。在一些示例中,所有集群成员可以转变到集群状态。在其他示例中,集群状态变化可以被设置为仅应用到集群的一些成员。集群数据例如可以被更新为,集群状态改变中隐含的集群成员的状态。
[0057]在一些示例操作中,集群状态不会从状态Sx转变到状态Sy,直到所有集群成员具有初始的状态Sx。因此,如果集群状态转变从状态SI到状态S2,继续到状态Sn-1,集群状态通常不会转变到状态Sn-Ι,直到所有要求的集群成员已经到达状态S2。在异常情况下,例如重设以消除错误时,集群状态可以转变到初始状态SI,导致所有集群成员也重置。在其他示例中,当集群状态再次改变时,集群成员可以停止尝试更新其状态至集群状态。因此,如果集群状态从状态SI改变到状态S2并继续到Sn-1,在从状态S2改变到状态Sn-1的时刻,集群成员仍没有从状态SI转变到状态S2,集群成员可以终止尝试转变到状态S2,并发起尝试转变到状态Sn-1。
[0058]每个集群成员自主且异步管理其状态,不参照其他集群成员,不与其他成员同步,来监控集群状态。只要集群状态不改变,集群成员不需要执行任何动作。
[0059]集群成员通过周期地运行图8中所图示的状态管理序列,跟随集群状态。根据该序列,集群成员周期地检查集群的状态,确定集群状态是否已经被更新,如果是,执行以更新其自身状态以匹配集群状态。状态管理序列可以由元件300的处理器355或由元件状态管理器270协同元件200的检查单元260、检测器240、标识单元280以及集群管理单元290执行。
[0060]参照图8,在第一步骤702中,集群成员检查其是否被要求作为集群头部,更新集群状态。在给定时刻,仅有一个集群成员运行为集群头部,负责监控集群内的网络管理处理负载,并更新集群状态。确定哪一集群成员运行为集群头部的规则应当识别单个运行的集群成员,其中集群成员能够在运行时间自主执行。两个可能的规则是使用具有最低ID的集群成员或者最早的集群成员,二者能够由集群成员在运行时间通过核实图5图示的共享数据而确定。运作为集群头部的成员是否要被关闭,这将会反映在集群数据中(如图6b所指示),以及选择规则会导致不同的成员确定下次图8的过程运行时,其要运行为集群头部。确定要运作为集群头部的集群成员的规则可以被存储在元件300的处理器或者元件200的标识单元280中。
[0061]如果集群成员确定其需要运行为集群头部(步骤702,是),集群成员继续在步骤704,执行图9图示并在下文描述的集群状态检查周期化过程。在集群状态检查周期化过程完成后,集群成员在步骤706继续检查集群成员的个体状态是否匹配集群状态。如果集群成员在步骤702确定其不需要运行为集群头部(步骤702,否),其直接进行到步骤706。如果集群成员状态匹配集群状态(步骤706,是),随后在该成员的部分上不需要进一步操作,该过程可以终止。但是,如果在步骤706,集群成员确定其状态与集群状态不匹配(步骤706,否),集群成员继续到步骤708,检查到当前集群状态的转变是否已经由状态管理过程的先前迭代所要求。如果到新的集群状态的转变已经被要求(步骤708,是),该成员在步骤710检查是否被要求执行转变到新状态的所有操作已经完成。如果所有要求的操作完成(步骤710,是),集群成员在步骤712更新其状态,并退出处理。
[0062]回到步骤708,如果转变到新状态仍未被要求(步骤708,否),该成员随后在步骤714检查转变到该新的集群状态之外的状态是否已经被要求。如果是(步骤714,是),在步骤716该集群成员取消转变到该状态的操作,随后进行到步骤718,发起转变到新的集群状态的操作。该成员随后退出该过程。如果没有其他状态转变被要求(步骤714,否),该成员直接进行到步骤718,发起转变到新的集群状态的操作。状态管理的后续迭代将检查发起的操作是否已经完成,并且如果是,将设置集群成员的新状态。
[0063]状态转变的一个示例是从运行状态转变到暂停状态,以发起并作为负载均衡的准备。执行这一转变的操作可以包括取消正处于针对网络元件的管理会话上的任何任务,终止面向这些网络元件的会话。支持集群成员进入暂停状态所需的精准操作可以取决于运行于集群成员上的管理应用。在一些情况下,需要采用网络元件执行复杂的面向交易的会话关闭以实现有序关闭。在其他情况下,通信信道的简单断开可能足够。在进一步示例中,可能达到折衷,其中尝试以有序方式关闭网络元件的会话,但是,如果在一定时间会话未能终止,该连接可能超时,状态转换受影响,而不论余下任务的完成状态如何。被要求在进入暂停状态前完成的任务可以包括,例如从网络元件到管理应用的统计或计费数据的文件转换。当被要求转变到暂停状态时,集群成员可以延缓任一新的文件传送,不过在暂停操作之前完成所有进行中的传送。
[0064]状态转变的另一示例是从暂停状态到运行状态的转变。进行这一转变的操作可以包括负载均衡,对于集群成员运行自主的负载均衡算法,从而允许该成员使用共享数据计算和设置其管理负载。通过对每个网络元件建立管理会话,且针对该网络元件开始管理任务,该操作结束。
[0065]在进一步示例中,通过确定要均衡处理负载的该子集的所有成员已经进入暂停状态,可以提示运行负载均衡算法。例如,集群成员可以在集群共享数据中检查成员状态数据。一旦所需要的子集集群成员已经进入暂停状态,通过每个集群成员运行其自主的负载均衡算法,可以执行负载均衡。一旦集群成员已经终止其负载均衡算法,它可以在共享数据中设置指示负载均衡完成的标记。一旦所有相关标记已被设置,集群头部随后是集群成员,可以转变回运行状态。参照图10进一步讨论在运行和暂停状态之间的示例转变。
[0066]负载均衡算法的一个简单示例是集群成员确定其在运行的集群成员集中的位置,并基于该位置管理一组网络元件。因此,如果有10000个网络元件要管理以及10个集群成员,第六个集群成员将管理网络元件6000到6999。其他算法可以被设计,管理应用可以规定要使用的算法。集群成员自主执行它们的负载均衡算法,根据一些示例,可以完全地独立地执行。在其他示例中,集群成员之间的对等通信可以被用于负载再均衡的一部分。
[0067]图9图示了集群状态检查周期过程,由集群头部执行,作为图8的状态管理过程的一部分。集群状态检查周期过程可以由元件300的处理器或者元件200的集群管理单元实施。参看图8和9,如果在步骤702中,集群成员确定其被要求运行为集群头部,那么它进行到步骤704,执行集群状态检查周期过程,如图9所示。在第一步骤704a,集群头部激发用于当前状态转变的管理域规则。这些规则允许集群头部在步骤704b确定,基于被管理域,是否需要集群状态改变。可以基于被管理域触发状态变化的规则包括新的或移除的网络元件,网络元件上激活功能的改变或者网络元件的状态的改变。可以设置规则,使得在一天的某一时间触发状态变化。这样,可以确保,即使检测到新的网络元件,它们仅在一天的某一时刻引入到系统。域规则可以被存储为共享集群数据的一部分,从而可由所有集群成员获取,因为根据用于选择集群头部的特定算法,任何集群成员可能运行为集群头部。
[0068]如果从域中触发了状态变化(在步骤704b,是),在步骤704c由集群头部更新集群状态。在步骤704c,集群头部同样更新集群数据。典型的域集群数据可以包括要管理的网络元件的新列表以及针对这些网络元件的事件率统计。集群成员可以在执行它们的自主负载均衡算法时使用这一数据。
[0069]集群成员随后进行到步骤704d,以激发确定从集群点角度是否确保状态变化的规贝1J。如果从域点的角度未确保状态变化(步骤704b,否),集群头部直接进行到步骤704d。在步骤704e,集群规则允许集群头部确定在集群的基础上是否要求集群状态变化。集群规则可以被设置以确定集群成员人数是否因为成员加入或移除而变化,以及当前管理负载是否足够地均衡。集群规则同样可以被存储为共享集群数据的一部分。
[0070]如果集群状态变化从该集群触发(在步骤704e,是),集群头部随后进行到步骤704f,确定当前集群大小是否最优。如果从集群中加入或移除成员是适合的(在步骤704f,否),集群头部进行到步骤704g,以要求通过根本的分布计算机制修改集群成员人数。这可以包括,由于总体重负载启动集群成员或者在总体轻负载时期关闭集群成员。如果未要求集群成员人数修改(在步骤704f,是),或者一旦在步骤704g中被要求,所述集群头部进行到步骤704h,更新集群状态。集群数据还可以在步骤704h更新用于集群成员的参数,该参数在执行它们的自主负载均衡算法时被使用。
[0071]一旦在步骤704h中已经更新了集群状态,集群头部随后返回到图8的状态管理方法的步骤706。如果基于步骤704d获得的集群规则,不要求集群状态变化(在步骤704e,否),集群头部直接回到步骤706。集群头部进而在参照图8的步骤706到718中的集群状态检查其自身状态之前,执行其作为集群头部的功能。
[0072]图8和9的过程可以在周期间隔(例如10秒)内运行。根据特定的网络条件管理应用等可以选择其他时间周期。图8的过程还可以由特定的事件触发,包括诸如加入网络元件等网络时间,或者诸如加入集群成员等集群事件。在一些示例中,要求施加周期性更新,以确保集群成员之间的有序协同。如此,自上次运行该序列后发生的任何网络或集群加入被考虑,用于该过程的下次运行。
[0073]图8和9图示了参看图1和2描述的功能如何实现。集群的一个成员运行为集群头部,选择基础算法,基于根据集群内部共享的数据每个集群成员可以运行该算法。集群头部监控集群处理负载,并且如果由域和集群规则确定处理负载保证更新集群状态,其更新集群状态。集群成员检测更新的集群状态,并执行必要的操作以跟随该集群状态,支持后续的负载均衡。
[0074]上述讨论使用包含集群所有成员的集群子集之间的负载均衡的示例。然而,如前所述,同样可以执行只包括一些集群成员的集群子集之间的负载均衡。例如,在图9的集群状态检查过程中可能确定少量的集群成员是重负载的,一些集群成员是轻负载的。在这种情况下,集群头部可以要求使用部分暂停状态仅在受影响的集群成员集上的部分负载均衡。集群头部可以将集群成员设置为部分暂停状态,并设置集群数据,以指示应当执行负载均衡的集群成员。在图8的状态管理过程中,在确定集群状态已经更新为部分暂停时,集群成员首先检查它是否应当参加负载均衡状态改变,并且只有在此情况下,跟随集群状态执行从运行到部分暂停以及从部分暂停到运行的转变。从运行到部分暂停以及回到运行的转变操作可以与从运行到暂停再到运行的转变操作相同。
[0075]要在其上执行负载均衡的子集同样可以通过从池中添加成员或者移除成员到池来调整。这样的集群成员池可以被用于减轻负载上的快速增长。启动的成员集合可以被保持在该池中,不分配任何负载。当负载上出现快速增长时,一些管理负载可以被传送至池中的成员。当负载降低,集群成员可以被返回到该池。该池的最小和最大尺寸,以及用于增加和减小该池的块尺寸可以是可配置的。当池大小降低到最小尺寸下时,新的集群成员被启动并加入到该池。当池大小上升到其最大值上时,集群成员被停止并从池中移除。
[0076]图10图示了用于本文描述的分发网络管理处理负载的方法的示例操作。在图10的示例中,管理应用在执行,并使用6个自主集群成员Ml到M6以处理其管理负载。
[0077]在时刻to,该集群和所有集群成员被表示为停止。该应用在时刻^启动,集群成员采用图6a的步骤启动。
[0078]集群成员之一确定它要运行为集群头部,并在时刻tl设置集群状态为运行。具体在图8中,集群成员Ml到M6的周期过程允许集群成员读取集群状态变化,并触发从停止状态到运行状态的转变操作的运行。在本示例中,负载均衡被执行为到运行状态的转变的一部分,负载均衡算法进而在每个成员中执行,该算法分配管理网络元件的一部分至每一成员。在执行负载均衡算法后,每个成员针对有问题的网络元件建立网络会话,开始针对这些网络元件执行管理任务,并将其状态设置为运行。到时刻t2,所有集群成员具有运行状态。
[0079]从时刻t2到时刻t3,该应用正常执行,不执行负载均衡。在时刻t3,集群头部通过图9的过程检测到网络元件已经被加入到网络,它将集群状态设置为暂停。集群成员Ml到M6执行的图8的周期过程导致集群成员读取集群状态变化,并触发它们从运行状态到暂停状态的转变操作的执行。每个成员要求管理任务的完成,并暂停任何新的任务的初始化。一旦任务已经停止,每个成员将其状态设置为暂停。到时刻t4,所有集群成员已经表示为暂停。
[0080]在时刻t5,集群头部再次将集群状态设置为运行。集群成员Ml到M6的周期过程再次读取集群状态变化,并触发它们从运行状态到暂停状态的转变操作的执行。负载均衡再次被执行为到运行状态的转变的一部分,面对网络元件的对话被再次建立。到时刻U,所有集群成员具有运行状态。
[0081]从时刻t6到时刻t7,该应用正常执行;不执行负载均衡。在时刻t7,集群头部通过图9的过程检测到集群负载不均衡,将集群状态设置为暂停。集群成员Ml到M6的周期过程读取这一变化,并执行到暂停状态的改变。到时刻t8,所有集群成员已经表示为暂停。在时刻t9,集群头部再次将集群状态设置为运行,到时刻t1Q,所有集群成员再次转变到运行状态。
[0082]根据上述示例的变形,一旦集群成员Ml到M6从共享数据建立了每个其他成员将其状态设置为暂停,可以执行负载均衡。一旦它已经完成负载均衡,每个成员随后可以设置标记。一旦设置了所有标记,集群头部将集群状态设置为运行,这一操作由集群成员跟随。
[0083]上述的方法可以用于处理负载的负载均衡的大范围的管理应用。一个示例包括从网络元件收集和处理事件。在这样的管理应用中,网络元件可以随时被加入网络或者从网络移除。分布管理系统的许多示例被用于从个体的网络元件收集和处理事件,在任何时刻运行的实例数量可以根据当前网络大小、当前事件负荷而变化,这是因为特定示例的失败。本文描述的负载均衡方法可以被用于这样的系统,以公平地均衡在所有运行实例上管理负载。
[0084]本发明的方面进而提供了一种支持管理应用自动地以自主方式均衡许多分布实例上的处理负载的方法。协作某一成员扮演集群头部且集群成员跟随该集群头部状态的集群的使用,支持管理应用自动处理域的变化(例如网络元件的加入或移除),并自动地调整当前运行示例上的负载。管理实例的加入或移除同样可以被自动地累计以适应负载过程的变化,并最优化能耗或处理应用实例的失败。
[0085]本发明的示例提供鲁棒性和灵活性二者。一旦管理应用的两个或多个实例根据本发明的方面运行,不存在单点的失败,因为任何实例的失败将通过剩余实例之间的均衡而补偿。集群头部实例的失败将简单导致新成员确定,其需要在下次运行图8的周期过程时运行为集群头部。
[0086]本发明的示例是高度可配置的:用于触发负载均衡的域和集群规则在每个状态管理过程运行中被设置和修改。集群成员所使用的负载均衡算法可以从简单到高度复杂延展,同样可以在运行时间修改。此外,该方法可应用到被设计运行于分布实例上的大范围的应用。
[0087]应当指出,上述示例仅为图示而非限制本发明,本领域技术人员将能够在不脱离附加权利要求的范围内涉及许多替代实施例。单词“包括”不排除元件或步骤的存在,而不是权利要求中列出的,“一”或“一个”不排除多个,单个处理器或者其他单元可以执行权利要求中列举的多个单元的功能。权利要求中任何参考标记不应当被解释为限制它们的范围。
【主权项】
1.一种在多个网络管理处理元件上分发网络管理处理负载的方法,每个网络管理处理元件是集群的成员,一个成员是更新集群状态的集群头部,并且所述集群的成员跟随所述集群状态,所述方法包括: 所述集群头部监控在所述集群的成员上的网络管理处理负载;以及 在检测到所述集群负载不均衡时,一旦所述多个成员的子集处理的任务已经完成,所述集群头部更新所述集群状态,以发起在所述集群的多个成员的至少子集上的网络管理处理负载的自动再均衡。2.根据权利要求1所述的方法,其中再均衡所述网络管理处理负载的步骤包括: 在当前任务的处理完成后,暂停所述多个成员的子集的每个成员的操作; 在所述子集的所有成员暂停后,自动再均衡所述网络管理处理负载。3.根据权利要求2所述的方法,其中所述自动再均衡负载的步骤包括: 从该集群的开始成员池中加入网络管理处理元件至该子集,或者 将网络管理处理元件从该子集移除至该集群的开始成员池。4.根据权利要求2或3所述的方法,其中所述自动再平衡负载的步骤包括: 该子集的至少一个成员运行负载均衡算法,以根据在集群成员之间共享的处理负载数据,设置由所述网络管理处理元件处理的网络管理处理负载。5.根据前述任何一项权利要求所述的方法,其中所述方法进一步包括: 检测该集群已经将状态从第一状态改变到第二状态; 一旦正处理的任务已经完成,将集群成员的状态从第一状态改变为第二状态。6.根据权利要求5所述的方法,其中所述改变集群成员状态的步骤包括: 在当前任务的处理完成后暂停成员的操作; 将集群成员的状态从第一状态改变为第二状态。7.根据权利要求5或6所述的方法,进一步包括: 出现触发事件时检查集群状态;其中触发事件包括时限超期或者网络事件的至少一个。8.—种计算机程序产品,其配置为在计算机上运行以执行根据权利要求1到7任何一项所述的方法。9.一种分发用于控制通信网络的处理的方法,所述网络包括多个节点,所述网络由多个处理元件的集群控制,每个处理元件是集群的成员之一,一个成员是更新集群状态的集群头部,并且所述集群的成员跟随所述集群状态,该方法包括根据权利要求1到7任何一项所述的步骤。10.—种网络管理处理元件,其运行为包括多个网络管理元件的集群的成员,该集群的一个成员是该集群的头部,其配置为更新该集群状态;所述网络管理处理元件包括: 检测器,其配置为检测集群状态的更新;以及 负载均衡器,其配置为一旦由多个成员的子集正执行的任务已经完成时,参照该集群的多个成员的至少一个子集,重新均衡由网络管理处理元件处理的网络管理处理负载。11.根据权利要求10所述的网络管理处理元件,进一步包括:元件状态管理器,其配置为暂停所述元件的操作。12.根据权利要求11所述的网络管理处理元件,其中所述检测器被配置为检测该集群已经将状态从第一状态改变到第二状态,并且其中所述元件状态管理器被配置为,一旦正处理的任务已经完成,将网络管理处理元件的状态从第一状态改变为第二状态。13.根据权利要求10到12任何一项所述的网络管理处理元件,其中负载均衡器可以被配置为,运行负载均衡算法,以根据集群成员之间共享的处理负载数据,设置网络管理处理元件所处理的网络管理处理负载。14.根据权利要求10到13任何一项所述的网络管理处理元件,进一步包括: 检查单元,其配置为在发生触发事件时检查集群状态,其中,触发事件包括时限超期或者网络事件的至少一个。15.根据权利要求10到14任何一项所述的网络管理处理元件,进一步包括: 监控器,其配置为监控集群成员上的网络管理处理负载,以及 集群状态管理器,其配置为在检测到所监控的网络处理负载不均衡时,更新集群状态。16.根据权利要求15所述的网络管理处理元件,进一步包括: 标识单元,其配置为确定网络管理处理元件是否作为集群头部操作。17.—种作为集群的集群头部运作的网络管理处理元件,包括多个网络管理处理元件,所述网络管理处理元件包括: 监控器,其配置为监控该集群成员上的网络管理处理负载,以及 集群状态管理器,其配置为在检测到所监控的网络处理负载不均衡时,更新集群状态。18.—种网络管理处理元件,运行为包括多个网络管理元件的集群的成员,该集群的一个成员是该集群的头部,其配置为更新该集群状态;所述网络管理处理元件包括处理器和存储器,所述存储器包括可以由所述处理器执行的指令,据此所述网络管理处理元件可操作为: 检测集群状态的更新;以及 一旦由多个成员的子集正执行的任务已经完成时,参照该集群的多个成员的至少一个子集,再均衡由网络管理处理元件处理的网络管理处理负载。19.根据权利要求18所述的网络管理处理元件,其中所述网络管理处理元件进一步可操作为:暂停所述元件的操作。20.根据权利要求18到19任何一项所述的网络管理处理元件,其中所述网络管理处理元件进一步可操作为: 检测该集群已经将状态从第一状态改变到第二状态;以及 一旦正处理的任务已经完成,将网络管理处理元件的状态从第一状态改变为第二状??τ O21.根据权利要求18到20任何一项所述的网络管理处理元件,其中所述网络管理处理元件进一步可操作为:运行负载均衡算法,以根据集群成员之间共享的处理负载数据,设置所述网络管理处理元件所处理的网络管理处理负载。22.根据权利要求18到21任何一项所述的网络管理处理元件,其中所述网络管理处理元件进一步可操作为: 在发生触发事件时检查集群状态,其中,触发事件包括时限超期或者网络事件的至少一个。23.根据权利要求18到22任何一项所述的网络管理处理元件,其中所述网络管理处理元件进一步可操作为: 监控集群成员上的网络管理处理负载,以及 在检测到所监控的网络处理负载不均衡时,更新集群状态。24.根据权利要求23所述的网络管理处理元件,其中所述网络管理处理元件进一步可操作为: 确定所述网络管理处理元件是否作为集群头部操作。
【文档编号】H04L29/08GK106068626SQ201380081856
【公开日】2016年11月2日
【申请日】2013年10月23日 公开号201380081856.X, CN 106068626 A, CN 106068626A, CN 201380081856, CN-A-106068626, CN106068626 A, CN106068626A, CN201380081856, CN201380081856.X, PCT/2013/72195, PCT/EP/13/072195, PCT/EP/13/72195, PCT/EP/2013/072195, PCT/EP/2013/72195, PCT/EP13/072195, PCT/EP13/72195, PCT/EP13072195, PCT/EP1372195, PCT/EP2013/072195, PCT/EP2013/72195, PCT/EP2013072195, PCT/EP201372195
【发明人】L·法隆, S·阿胡坦
【申请人】瑞典爱立信有限公司