网络管理系统中的事件处理的制作方法

文档序号:12289862阅读:326来源:国知局
网络管理系统中的事件处理的制作方法与工艺

本发明涉及在电信网络的网络管理系统中处理事件数据。



背景技术:

网络管理系统越来越多地使用事件来监视电信服务和网络的状态。电信事件能够具有许多类型,并且能够来自许多源。典型的类型是告警、性能计数器、会话事件或CDR。此类事件可来自不同的节点,如基站、网关或路由器,并且可使用不同传输机制,如第三代合作伙伴计划(3GPP)集成参考点(IRP)、简单网络管理协议(SNMP)或网络配置协议(NETCONF)。事件是用于网络管理系统的重要信息源。近年来,网络从这些传统源生成的事件数量已经大幅增加,并且基于事件的机制现在用于提供有关网络和服务状态以及会话,传统上性能计数器的域的信息。

图1显示接收事件的示例电信管理系统10。事件消耗组件(ECC)能够消耗来自每个传入源的事件流,并且应用能够使用某些类型的事件以便提供某一功能性。应用A到N使用来自网络5的事件。ECC接收来自网络5中网络元素的事件,并且将它们转发到应用。

通常,诸如应用B等特定应用要求的事件的集合是在ECC中可用的事件的总集合的子集。ECC能够保持应转发到每个应用的事件的转发列表,并且只将那些事件转发到每个特定应用。此转发列表可在ECC上配置,或者如果ECC提供用于应用的预订接口,则它可动态构建。

为缩放系统(如图1中所示的系统),允许部署多个ECC实例和每个应用的多个实例是必要的。实例可遍及多个物理计算机。图2显示具有多个ECC实例和每个应用的多个实例的系统的示例。每个ECC实例处置朝向网络元素的特定集合的会话,该集合是受管理网络5中网络元素的全集的子集。每个应用实例携带其应用的总工作负载的子集。系统是全网状的,即,每个ECC连接到每个应用实例。如图2中的在ECC实例与应用实例之间的全网状转发方案未缩放超过极小的池大小,并且对于大型网络管理系统是不可行的。随着ECC实例和应用实例的数量增加,在适配器与应用之间的事件负载由于事件的大量副本(duplication)而呈指数性增加。在具有甚至数十个ECC实例和应用实例的系统中,事件负载显然变得不可接受。

现有网络管理系统遭受到一个或更多个可能缺陷。例如,它们可难以缩放,或者它们只可允许在系统的消费者(ECC)侧上或系统的应用侧上缩放。消费者向应用或应用的实例转发的方式能够要求难以配置的转发方案。



技术实现要素:

本发明的方面提供一种操作通信网络的网络管理系统的方法。方法包括确定网络管理系统中消费者池的成员。消费者布置成接收来自通信网络的网络元素的网络管理事件数据。方法包括确定网络管理系统中网络管理应用的实例池的成员。网络管理应用的实例布置成处理网络管理事件数据。方法包括确定在消费者池与网络管理应用的实例池之间的映射。映射定义用于转发网络事件数据的连接。每个连接定义在消费者池的成员与网络管理应用的实例池的成员之间。

映射可受到约束,使得消费者池的任何成员连接到网络管理应用的实例池的单个成员。

映射可受到约束,使得来自特定网络元素的所有网络管理事件数据被转发到网络管理应用的实例池的单个成员。

映射可允许网络管理应用的实例池的任何成员连接到网络管理事件消费者池的不止一个成员。

确定网络管理系统中消费者池的成员的步骤可包括接收来自消费者的所述消费者是消费者池的成员的指示。

确定网络管理应用的实例池的成员的步骤可包括接收来自实例的所述实例是网络管理应用的实例池的成员的指示。

确定网络管理系统中消费者池的成员的步骤可包括确定消费者接收的来自网络节点的事件类型。

确定网络管理系统中网络管理应用的实例池的成员的步骤可包括确定网络管理应用的实例想接收来自消费者的事件类型。

方法可还包括确定网络管理系统中的更改包括至少以下之一:新成员到消费者池的添加;消费者池的现有成员的移除。

方法可还包括确定网络管理系统中的更改包括至少以下之一:新成员到网络管理应用的实例池的添加;网络管理应用的实例池的现有成员的移除。

如果确定更改,则可更新或重复确定在消费者池与网络管理应用的实例池之间的映射的步骤。

映射可在循环的基础上执行。

循环映射可包括选择网络管理消费者池的成员的步骤(i)。映射可还包括选择网络管理应用的实例池的成员的步骤(ii)。映射可还包括将在(i)选择的成员映射到在步骤(ii)选择的成员的步骤(iii)。映射可还包括选择网络管理消费者池的下一成员,并且重复步骤(ii)和(iii)的步骤(iv)。映射可还包括重复(iv),直至已选择网络管理消费者池的所有员的步骤(v),其中在循环的基础上从网络管理应用的实例池选择在步骤(ii)选择的成员。

映射可基于负载。负载可以是在网络管理事件消费者池的成员与网络管理应用的实例池的成员之间单独连接的业务负载。另外或备选地,负载可以是网络管理应用的实例池的成员的处理负载。

映射可在网络管理应用的实例池的成员之间均匀分布负载。

可以有多个网络管理应用,每个网络管理应用包括网络管理应用的实例池。

映射可受到约束,使得消费者池的任何成员连接到网络管理应用的每个相应实例池中的单个成员。

可以有多个消费者池。这些池可根据消费者类型布置,每个消费者接收来自网络元素的子集的事件。

映射可允许至少以下之一:相同消费者类型的池中的一个或更多个消费者连接到应用的相同实例;不同消费者类型的池中的一个或更多个消费者连接到应用的相同实例。

相同消费者类型事件的池的不同成员可布置成接收来自通信网络的不同网络元素的事件。

方法可由网络管理系统的控制器执行。控制器可以是网络管理系统的中央控制器,或者控制器可以是网络管理系统中多个控制器之一。

本发明的另一方面提供一种用于网络管理系统的控制器。网络管理系统包括网络管理事件消费者池和网络管理应用的实例池。控制器包括处理器和存储器。存储器包含可由处理器执行的指令,由此控制器操作以确定网络管理系统中消费者池的成员。消费者布置成接收来自通信网络的网络元素的网络管理事件数据。控制器操作以确定网络管理系统中网络管理应用的实例池的成员。网络管理应用的实例布置成处理网络管理事件数据。控制器操作以确定在消费者池与网络管理应用的实例池之间的映射。映射定义用于转发网络管理事件数据的连接,每个连接定义在消费者池的成员与网络管理应用的实例池的成员之间。

本发明的另一方面提供用于网络管理系统的设备,网络管理系统包括网络管理事件消费者池和网络管理应用的实例池。设备适用于确定网络管理系统中消费者池的成员,其中,消费者布置成接收来自通信网络的网络元素的网络管理事件数据。设备适用于确定网络管理系统中网络管理应用的实例池的成员,其中,网络管理应用的实例布置成处理网络管理事件数据。设备适用于确定在消费者池与网络管理应用的实例池之间的映射,映射定义用于转发网络管理事件数据的连接,每个连接定义在消费者池的成员与网络管理应用的实例池的成员之间。

设备可适用于执行方法的任何所描述或声明的特征。

本发明的另一方面提供用于网络管理系统的设备,网络管理系统包括网络管理事件消费者池和网络管理应用的实例池。设备包括配置成确定网络管理系统中消费者池的成员的第一模块。消费者布置成接收来自通信网络的网络元素的网络管理事件数据。设备包括配置成确定网络管理系统中网络管理应用的实例池的成员的第二模块。网络管理应用的实例布置成处理网络管理事件数据。设备包括配置成确定在消费者池与网络管理应用的实例池之间的映射的第三模块。映射定义用于转发网络管理事件数据的连接,每个连接定义在消费者池的成员与网络管理应用的实例池的成员之间。

本发明的另一方面提供一种包括携带指令的机器可读介质的计算机程序产品,指令在由处理器执行时促使处理器执行方法的任何所描述或声明的步骤。

此处所描述的功能性能够在硬件、由处理设备执行的软件中实现,或者由硬件和软件的组合实现。处理设备能够包含计算机、处理器、状态机、逻辑阵列或任何其它适合的处理设备。处理设备能够是通用处理器,通用处理器执行软件以促使通用处理器执行要求的任务,或者处理设备能够专用于执行要求的功能。本发明的另一方面提供机器可读指令(软件),指令在由处理器执行时,执行任何所描述的方法。机器可读指令可存储在电子存储器装置、硬盘、光盘或其它机器可读存储介质上。机器可读介质能够是非暂时性机器可读介质。术语“非暂时性机器可读介质”包括除暂时性、传播信号外的所有机器可读媒体。机器可读指令能够经网络连接下载到存储介质。

附图说明

本发明的实施例将通过仅限于示例的方式,参照附图进行描述,其中:

图1显示带有消费者和应用的网络管理系统;

图2显示带有多个消费者和多个应用(具有在消费者与应用之间完全网状互连)的网络管理系统;

图3A显示根据实施例的网络管理系统;

图3B显示接收来自网络元素的事件的消费者池;

图4显示消费者以及应用的实例;

图5显示在网络管理系统中使用的消费者图;

图6显示在网络管理系统中使用的应用图;

图7显示在网络管理系统中使用的连接图;

图8显示在一个消费者池与一个应用的实例之间的连接;

图9显示在消费者与多个应用之间的连接;

图10显示根据实施例的操作网络管理系统的方法;

图11显示更新应用图的方法;

图12显示更新消费者图的方法;

图13显示使用循环方案,形成连接的方法;

图14显示配置消费者和应用实例的方法;

图15A和15B显示使用负载感知分配方案,形成连接的方法;

图16显示在消费者转发事件数据的方法;

图17显示在网络管理系统中控制器的功能单元的简化图;

图18显示带有分布式控制器的网络管理系统;

图19显示在消费者与应用的多个实例之间的连接;

图20显示用于基于计算机的实施的设备。

具体实施方式

图3A以示意图方式显示通信网络5和用于网络5的网络管理系统(NMS) 10。网络管理系统10通常包括事件消耗组件(ECC) 21、31、41和应用A、B……N。事件消耗组件接收或者“消耗”源于通信网络5中网络元素6、7、8的事件。术语“消费者”将可与事件消耗组件(ECC)交换使用。应用A、B……N接收来自一个或更多个消费者21、31、41的事件,并且对那些事件执行处理。例如,应用可检查接收的来自两个网络元素的事件,以确保在那些网络元素之间的切换在正确执行。另一示例应用可使用来自携带部分最终用户会话的各种网络元素(如无线电、核和/或回程节点)的事件,以诊断该会话正执行地有多好。

网络5中的网络元素6、7、8使用诸如简单网络管理协议(SNMP)、文件传送协议(FTP)、网络配置协议(NETCONF)或用于携带事件数据的某一其它协议等协议,与消费者21、31、41进行通信。事件能够包括以下的一项或更多项:告警(例如,硬件故障、设备过热、软件重启、由侵入者引起的门告警(door alarm)的告警)、性能计数器、会话事件(例如,在无线网络的小区之间切换的报告、有关无线网络的小区中信号的功率的测量报告、最终用户会话设置和拆除(tear down)消息)及呼叫细节记录(CDR)。

每个消费者21、31、41能够具有类型,类型识别其在消耗并且具有的可用于转发的事件的集合的类别。消耗来自特定类型的网络元素的事件的消费者一般具有相同类型。例如,能够有基站消费者、核心网络消费者、NMS节点消费者。消耗相同类型的事件(一个或更多个)的一组消费者实例21、31、41形成消费者池20、30、40。池20、30、40内的每个消费者能够称为消费者实例或池的成员。基站事件的消费者可具有BaseStationConsumer类型,并且来自核心网络节点的事件的消费者可具有CoreNetworkConsumer类型。特定类型的所有消费者编组到单个池中。消费者实例21、31、41消耗来自网络中其类型的网络元素(IE)的子集的事件。可跨消费者池20、30、40中的实例取平衡处理负载。在图3A中,形状用于以示意图方式表示在消费者与NE(该消费者接收来自其的事件数据)之间的关系。图3B显示在消费者21与NE 7之间关系的简单示例。考虑到在消费者类型三角形的池20中有消费者的三个实例21和发送事件数据到池20的九个NE 7。消费者类型三角形的第一实例21能够消耗来自NE 1-3的事件,消费者类型三角形的第二实例21能够消耗来自NE 4-6的事件,并且消费者类型三角形的第三实例21能够消耗来自NE 7-9的事件。这样,跨消费者类型三角形的三个实例21在NMS 10分布接收的来自网络5的节点7的事件处理负载。实际消费者实例21可处理来自数量更大得多的NE的事件。

每个消费者类型的每池能够有不同数量的消费者实例。图3的示例显示在消费者类型“圆形”的池20中的六个消费者21、在类型“三角形”的池30中的三个消费者31和在类型“正方形”的池40中事件类型“正方形”的一个消费者41。特定类型的消费者的实例的数量可根据诸如网络中NE的数量、来自NE的事件负载、在NMS 10的可用资源等因素动态改变。

每个应用A、B……N能够有一个或更多个实例。应用实例51、61、71是相应应用池50、60、70的成员。应用池50、60、70中的所有应用实例51、61、71执行相同类型的任务,并且分担那些任务的负载。消费者实例21、31、41可将事件转发到不止一个应用A、B……N。有利的是,只将每个事件转发到要求它的每个应用一次。每个应用实例51、61、71从消费者的一个或更多个池20、30、40接收来自事件的转发的集合的事件。为使应用实例的任务正确执行,应用实例51、61、71应接收来自网络5中NE的特定集合的事件。

称为事件消耗池控制器(ECPC)的控制器11确定池20、30、40、50、60、70的成员,并且控制在消费者20、30、40的池与应用实例50、60、70之间的连接的集合15。映射12定义连接的集合。ECPC 11自动建立和保持在事件消费者与应用之间的连接,以便每个应用接收它要求的事件。有利的是,在消费者与应用之间设定了最小数量的连接。有利的是,事件的副本不从消费者发送到应用。有利的是,每个连接上的事件负载得以平衡。

图3A中显示的NMS能够在一个节点上或在节点的集合上实施。实际上,NMS 10内显示的每个功能单元是单独的运行实体。在运行时间,能够以任何方便的方式分配功能单元,如:一个节点上的所有单元;单独节点上的每个单元;一个节点上的所有ECC单元;一个节点上的所有应用单元。在可行部署中,ECC组件可在云中节点的簇上运行,并且每个应用和ECPC也可在其自己的簇中运行。ECPC 11的功能性能够由NMS的集中式控制实体执行,该控制实体能够实施为单个节点或者由节点的簇实施。备选地,能够跨NMS中的多个实体分布ECPC 11的功能性,如在每个池20、30、40、50、60、70中的头节点。

ECPC 11控制在消费者21、31、41与应用51、61、71之间的连接。这能够描述为网络管理事件消费者池到网络管理应用的实例池的映射。映射定义用于转发网络事件数据的连接15。每个连接定义在网络管理事件消费者池的成员与网络管理应用的实例池的成员之间。在最简单的情况下,可以有单个网络管理事件消费者池(例如,池20)和网络管理应用(例如,应用A)的单个实例池。每个消费者池或应用池中实例的数量可动态改变。消费者池、应用池或两者的数量可动态改变。池的大小可自动修改以处理当前事件和应用负载。至少一个实施例的优点在于它促进NMS的大小的缩放。另一优点是方法避免了对消费者和应用实例的复杂手动配置的需要。

图4显示图3A的单个消费者实例21和单个应用实例51。消费者实例21具有转发事件的PS(池发送器)22。每个应用实例51包括接收事件的PR(池接收器)52。PS 22能够将事件发送到不同应用A、B……N中的PR 52。有利的是,任何PS 22只将事件发送到特定应用的一个PR 52。ECPC 11能够确保连接建立,以便消费者池中的每个PS连接到每个应用(事件转发到其)中的最多一个PR。这样,将来自由消费者池处置的所有NE的事件转发到每个应用。使用处置该NE的消费者的PS-PR对连接,始终将来自特定NE 7的事件转发到相同应用实例。

诸如基于框架的事件相关系统等消耗事件的应用要求来自特定NE的特定事件应在相同应用实例中相关。例如,应将针对基站上的特定小区的事件全部转发到相同聚合应用,以便在该应用实例中能够全部计算诸如用于该小区的掉话计数等统计。在此方法中,由于来自特定消费者(及该消费者服务的NE)的所有事件被转发到应用中的一个实例,因此,保证了特定事件出现在单个应用实例中。

当将消费者实例21、31、41或应用实例51、61、71添加到相应消费者池或应用池,或从中移除时,ECPC 11能够自动重新平衡PS-PR连接。有用于应用实例到消费者实例的分配的各种可能算法,如:循环分配、负载感知分配。在负载感知分配中,使用在消费者和/或应用实例上事件负载的实际或估计的测量,将消费者池中的消费者实例指派到应用池中的应用实例。

事件消耗池控制器(ECPC) 11、消费者实例21中的池发送器(PS) 22和应用实例51中的池接收器(PR) 52交互13,14以提供事件的平衡消耗。在一个实施例中,这些软件实体能够使用诸如分布式哈希表等过程间通信机制以可靠地共享控制信息。过程间通信机制跨软件实体分布连接管理信息,并且允许控制消息在那些实体之间传递。

图5到7中显示了在软件实体之间共享的数据结构的示例。取决于实施,这些数据结构可中央存储在ECPC 11,或者数据可跨消费者和应用分布。

图5显示用于保持每个消费者21、31、41的类型和它具有的可用的事件列表的消费者图100。特定类型的消费者被一起编组为消费者池20。图5中显示的BaseStationConsumerPool 20、CoreNetworkConsumerPool 30和IMSNodeConsumerPool 40是消费者池的示例。每个消费者实例21、31、41配置有指定其消费者类型和它能够消耗的事件类型列表的消费者记录105。如图3B解释的一样,每个消费者实例21、31、41接收来自网络5的NE 6、7、8的子集的事件。ECPC 11使用消费者图100管理每个消费者池20、30、40。如上所述,消费者图100可在ECPC 11中央存储,或者消费者图的内容可以以分布式方式存储在每个消费者,或每个消费者池的头节点。在中央存储的情况下,ECPC 11可接收来自消费者的数据以创建消费者记录105(例如,通过发现加入池的新消费者)。在分布式存储情况下,ECPC 11可预订从消费者发送的在消费者存储的消费者记录的任何更改的通知。这样,ECPC 11注意到可要求更改在消费者与应用之间映射的NMS的任何更改。分布式存储方案例如能够使用现有分布式存储Hazelcast™。Hazelcast™允许所有运行的实例(ECPC 11,消费者,应用)访问由Hazelcast™管理的图,好像它们是本地图一样。

图6显示用于保持每个应用A、B……N要求的事件的类型和身份的应用图110。每个应用实例51、61、71配置有消费者类型和它们要求的事件列表的应用记录115。ECPC 11保持应用图110,并且使用由每个PR发送到它的消费者类型和事件列表(在它们启动时),为每个应用A、B……N创建和保持应用池50、60、70。每个应用实例51、61、71被分配到其应用A、B……N的池。类似于消费者图,应用图110可在ECPC 11中央存储,或者应用图的内容可以以分布式方式存储在每个应用实例,或每个应用池的头节点。在中央存储的情况下,ECPC 11可接收来自应用的数据以创建应用记录115(例如,通过发现加入池的新应用)。在分布式存储的情况下,ECPC 11可预订从应用发送的应用记录的任何更改的通知。分布式存储方案例如能够使用Hazelcast™。这样,ECPC 11注意到可要求更改在消费者与应用之间映射的NMS的任何更改。

ECPC 11构建和保持池连接(pooled connection)图120,以管理在消费者21、31、41与应用实例51、61、71之间的连接。图7中的示例显示每个PS 22将事件发送到每个应用A、B……N(其要求将事件转发给它)中的单个PR 52。图7显示使用循环分配方案创建的池连接图120的示例。循环分配方案以升序连接PS实例22和PR实例52,在到达池中的最后实例时在池中第一实例重启分配。例如,六个PS实例连接到三个PR实例。PS-1连接到PR-A-1,PS-2连接到PR-A-2,PS-2连接到PR-A-3,PS-4连接到PR-A-1(返回到PR池的第一实例),PS-5连接到PR-A-2(通过PR池的实例按顺序继续),以及PS-6连接到PR-A-3。

在此示例中,能够看到,每个消费者实例21、31、41只连接到应用的一个实例51、61、71,例如,(池20的)PS-1只连接到(应用池50)的PR-A-1,并且不连接到相同应用池50的PR-A-2或PR-A-3。此条件对所有消费者实例PS-1到PS-10成立。应用的实例可接收来自相同消费者类型的不同消费者实例的事件,例如,PR-A-1接收来自相同消费者池20的PS-1和PS-4的事件。应用的实例可接收来自不同消费者类型的消费者实例的事件,例如,PR-A-1接收来自(消费者池20的)PS-1和(消费者池40的)PS-10的事件。

能够使用更复杂的分配方案,如考虑在池实例上当前负载的方案。通过侦听有关消费者图(100,图5)和应用图(110,图6)的更改的通知,ECPC 11能够自动管理在PS与PR之间的连接。在任一图100、110更改时,ECPC 11使用其分配算法,适当地更新在消费者实例21、31、41与应用实例51、61、71之间的连接15。

图8显示在BaseStation ConsumerPool 20中的六个实例21与应用A池50中的三个实例51之间的连接15。此处,每个PR实例接收来自两个PS实例的事件。图9显示馈给(feeding)应用程序A、B和N中的PR实例的IMSNodeConsumerPool 40中单个消费者实例41的PS和应用程序A、B和N中的PR实例之间的连接。

图10显示操作通信网络5的网络管理系统10的方法。方法能够由诸如上述ECPC等控制器执行。方法确定151网络管理系统10中的消费者池。可以有单个消费者池(例如,池20,图3A)或多个消费者池(例如,池20、30、40)。消费者布置成接收来自通信网络5的网络元素5、6、7的网络管理事件数据。方法可确定152消费者接收的事件类型。在集中式控制器11的情况下,控制器可通过接收的来自消费者的信息13(图3A,4),通过在控制器与消费者之间的信令交换13,确定消费者池的成员。方法可初始化153消费者图,如图5的消费者图100。

方法确定154网络管理系统10中网络管理应用的实例池。可以有应用的单个实例池(例如,池50,图3A)或多个池,其中每个应用一个池(例如,池50、60、70)。网络管理应用的实例池布置成处理网络管理事件数据。方法可确定155要由应用的实例接收的事件类型。在集中式控制器11的情况下,控制器可通过接收的来自应用的实例的信息14(图3A,4),或通过在控制器与应用的实例之间的信令交换14,确定应用的实例池的成员。方法可初始化应用图,如图6的应用图110。

方法确定157在消费者池与网络管理应用的实例池之间的映射。映射定义用于转发网络事件数据的连接。图7中显示了示例连接图。每个连接定义在消费者池的成员与网络管理应用的实例池的成员之间。映射受到约束,使得消费者池的任何成员连接到网络管理应用的实例池的单个成员。映射的确定能够使用循环分配方案158A、基于负载的分配方案158B或某一其它方法。方法能够被重复。例如,方法可检测159系统中的更改,并且随后返回到步骤151和154,或者到步骤157。可响应于池的成员的任何检测到的更改,更新消费者图和/或应用图。方法可确定新映射,或者可更新现有映射。系统的更改例如可由以下引起:至少一个消费者的添加或移除;应用的至少一个实例的添加或移除;至少一个应用的添加或移除。下面描述系统的一些可能更改。

对消费者池的消费者添加和从消费者池移除

当新消费者启动时,将消费者的记录(105,图5)插入消费者图(100,图5)中。如果用于消费者类型的消费者池未已经在消费者图中存在,则创建一个消费者池。在数据以分布式方式存储在消费者的实施中,消费者对图进行更改以添加新消费者记录(和消费者池)。ECPC 11监视图,并且检测图何时更改。在数据中央存储在ECPC 11的实施中,ECPC 11能够发现新消费者的到达,并且聚集来自新消费者的信息。

在消费者关闭时,从消费者图和池中移除其记录。如果它是消费者池的最后实例,则从消费者图移除消费者池本身。

对应用池的应用实例添加和从应用池移除

在发现(或启动)应用的新实例时,将应用实例的记录插入应用图(110,图6)中。如果用于应用的应用池未已经在应用图中存在,则创建一个应用池。如上所述,对于消费者图,数据能够以分布式方式存储或者中央存储在ECPC 11。

在应用实例关闭时,从应用图和池中移除其记录。如果它是应用池的最后实例,则从应用图移除应用池本身。

对消费者或应用图更改的ECPC处置

如果应用实例被添加到应用图或从中被移除,则ECPC 11构建所有消费者池的列表,消费者池馈给应用池(其中更改已发生)。它通过消费者池列表迭代,并且使用如在本说明书别处描述的那些过程(循环分配,负载感知分配等)等过程在列表上的每个消费者池与所述应用池之间重新分配连接。图11中显示由ECPC 11执行的示例方法。在步骤161,ECPC 11接收应用其中更改已发生的更改的通知,如新应用实例的添加或现有应用实例的移除。在步骤162,ECPC 11读取在应用其中更改已发生的更改中涉及的消费者类型列表。在步骤164,分配(在添加新应用实例的情况下)或重新分配(在移除现有应用实例的情况下)连接。重复此直至达到消费者类型列表的末尾(步骤163)。

如果消费者被添加到消费者图或从中被移除,则ECPC 11构建所有应用池的列表,应用池由消费者池(其中更改已发生)馈给。它通过应用池列表迭代,并且使用如上述那些过程等过程在列表上的每个应用池与所述消费者池之间重新分配连接。图12中显示由ECPC 11执行的示例方法。在步骤165,ECPC 11接收消费者图更改的通知,如新消费者的添加或现有消费者的移除。在步骤166,ECPC 11读取在消费者图更改中涉及的应用列表。在步骤168,分配(在添加新消费者的情况下)或重新分配(在移除现有消费者的情况下)连接。重复此直至达到应用列表的末尾(步骤167)。

如上所述,有各种方式,其中能够执行消费者与应用池之间映射(157,图10)。现在描述一些可能的分配方案,但将理解的是,其它分配方案也能够使用。分配方案能够使用有关消费者或应用实例的负载的实际测量或负载的估计,或者硬件(实例运行在其上)的不同能力(如不同CPU,存储器带宽)以更公平地散布事件负载。

在消费者与应用池之间的循环分配

图13显示在消费者池实例与应用池实例之间连接分配的循环方案。这是最简单的分配方案之一。首先,在步骤171,清除在消费者池与应用池之间的所有现有连接。算法随后跨消费者池中的实例列表迭代,并且在消费者池中下一PS和应用池中下一PR(在每个列表中出现时)之间创建连接。如果达到应用池列表的末尾,则算法选择第一实例作为应用列表上的下一实例。详细而言,步骤172选择第一(下一)消费者池成员,并且步骤174选择第一(下一)应用池成员。在步骤177,连接在步骤172选择的消费者池成员和在步骤174选择的应用池成员。方法随后选择下一消费者池成员(步骤178),并且重复步骤174、176和177,直至达到消费者池的末尾。步骤175、176确保在达到应用池的末尾时,方法返回应用池的第一成员,由此提供应用池成员的循环选择。图7中显示由循环分配产生的连接图的示例。

方法确保池中的每个消费者实例连接到要求来自该消费者池的事件的每个应用中的一个且只有一个应用实例。只要消费者池中的所有消费者实例连接到每个应用池中的单个(即,一个且只有一个)应用实例,则不存在对应用池中所有应用实例连接到消费者池中消费者实例的要求。

图14显示一旦在消费者与应用之间的映射已确定便执行的方法。为连接PS到PR,向消费者实例通知应用实例的PS的地址(步骤181),并且向应用实例通知消费者实例的PR的地址(步骤182)。在步骤183,连接记录在连接图(120,图7)中。

在消费者与应用池之间的负载感知分配

图15A、15B显示的方法描述在消费者池实例中的PS与应用池实例中的PR之间连接的负载感知分配。图15A显示应用实例添加到池的情况。如果检测到201新应用实例,则方法检查202应用中每个实例的每个PS-PR连接,以确定哪些连接在携带最重的业务负载。这些连接的可配置百分比被移动203到新应用实例。每个PS-PR连接又与其当前应用实例断开连接,并且重新连接到新应用实例。如果检测204到应用实例的移除,则算法创建205最小负载的应用列表。被删除的应用实例的每个PS-PR连接被移动206并且跨最小负载应用实例分布。

图15B显示消费者实例添加到池的情况。如果检测到210新的消费者实例,则算法创建211最小负载的应用实例列表。创建212从每个新的消费者实例到那些最小负载的应用实例的PS-PR连接。如果检测到213消费者实例的移除,则算法创建214最重负载的应用实例列表。这些连接的可配置百分比被移动215到原来携带用于删除的消费者实例的负载的应用实例。

此方法虽然比上述循环算法更复杂,但具有在连接更改期间引起更少中断的优点。

事件消耗

图16显示在接收网络管理事件时在消费者实例执行的方法的示例。事件由消费者实例接收。步骤221读取由该消费者的池发送器(PS)服务的池接收器(PR)列表。步骤222、223通过PR的列表依次继续。步骤224确定当前选择的PR是否要求接收的事件。如果是,则在步骤225将事件转发到当前选择的PR。此方法具有将事件数据发送到要求该事件数据的应用实例的PR的功能。

图16中显示的方法直接且有效,因为在PS与PR(它在转发到该PR)之间的所有连接已经由ECPC 11建立。每次接收到事件,则执行此方法,并且由于其简单性,执行时间极短,并且方法中用于事件消耗的资源使用极低。

不止一个ECPC 11可在系统中运行以给出冗余,其中一个ECPC被指定为主ECPC。如果主ECPC失败,则过程监视机制能够通知其它ECPC,并且另一ECPC能够被指定为主ECPC。假设所有连接信息均可靠地共享,则新主ECPC能够从失败的主ECPC停止管理之处恢复预订的管理。

在另一实例失败时,通过根据需要提供要投入服务的新实例,可能在NMS 10中提供冗余。另一可能性是具有实例的镜像集合(例如,镜像对),其中一个实例保持备用。在此情况下,消费者21、31、41能够将事件数据发送到主要应用实例和形成镜像集合的一部分的一个或更多个应用实例。要注意的是,这不违反“一个消费者连接到一个应用实例”规则,因为事件数据被发送到充当单个实例的实例的集合(主要+备用)。

至少一个实施例可具有一个或更多个以下优点。至少一个实施例可允许以可缩放方式在事件消费者池与应用实例池之间连接的自动处置,避免了对手动配置的需要。至少一个实施例可允许消费者池和应用池独立增大或降低大小,允许基于事件的网络管理系统轻松地缩放。池的使用能够允许要跨池的成员平衡处理传入事件的任务。池的大小能够修以处理当前事件负载。至少一个实施例可很好地进行缩放,因为无事件的副本。事件只从消费者转发到要求它们的应用。至少一个实施例可通过基于主导负载来自动调整池大小,自动适应实例消费者和应用实例经历的负载更改。至少一个实施例可允许池内的冗余。如果消费者或应用实例或ECPC失败,其它运行的消费者或应用实例或ECPC能够自动吸收失败的实体的负载。至少一个实施例可避免应用为负载平衡创建其自己的转发机制的需要。至少一个实施例可允许事件数据的更快转发,因为在池发送器与池接收器之间的所有连接是预配置的,无需基于事件的内容来转发数据。

图17示出在NMS 10中使用的可执行图10和/或图13-16的步骤的控制实体250的功能单元。将理解的是,图17中示出的单元是功能单元,并且可在硬件和/或软件的任何适当组合中实现。控制实体250可对应于集中式ECPC 11,或者对应于在分布式ECPC的节点之一实施的功能性。第一模块251配置成确定NMS 10中消费者21、31、41的池20、30、40的成员。第二模块252配置成确定NMS 10中网络管理应用(A,B,N)的实例51、61、71的池50、60、70的成员。第三模块253配置成确定在消费者21的池20与网络管理应用的实例51的池50之间的映射。

有几种可能方式,可以以所述方式实施用于确定连接的数据和控制的存储:

(i)数据中央存储并且集中控制;

(ii)数据以分布式方式存储并且集中控制;

(iii)数据以分布式方式存储并且分布式控制(完全分布式);

在选择(i)中,中央ECPC 11能够聚集和存储有关一个或更多个消费者池和一个或更多个应用池的成员的所有信息。消费者图(100,图5)和应用图(110,图6)能够存储在中央ECPC 11。中央ECPC 11也能够确定一个或更多个消费者池的成员到一个或更多个应用池的成员的映射。

在选择(ii)中,有关一个或更多个消费者池和一个或更多个应用池的成员的信息以分布式方式跨池存储。例如,节点可使用Hazelcast™。无需中央ECPC在本地存储此数据。中央ECPC 11能够确定一个或更多个消费者池的成员到一个或更多个应用池的成员的映射。在形成映射时,ECPC 11能够从存储信息的分布式位置访问信息。可选地,在确定连接映射时,ECPC可在本地缓存完整的连接图和/或应用图。

在选择(iii)中,有关一个或更多个消费者池和一个或更多个应用池的成员的信息以分布式方式跨池存储。无中央ECPC在本地存储此数据。每个节点可存储系统的总体信息的子集(例如,消费者可存储有关本身和池中相邻消费者的信息),或者每个节点可存储系统的总体信息的完整集合。本地控制器确定一个或更多个消费者池的成员到一个或更多个应用池的成员的映射。有多个控制器。图18以示意图方式显示带有控制器的分布式集合的NMS的示例。控制器261、262、263、264与每个消费者池20、30关联。每个控制器261、262、263、264能够包括图17中显示的功能单元或功能单元的子集。每个控制器261、262、263、264可执行图10和/或图13-16的步骤。有与消费者池20关联的第一控制器261和与消费者池30关联的另一控制器262。类似地,控制器与每个应用池50、60关联。有与应用池50关联的第一控制器263和与应用池60关联的另一控制器264。控制器261、262、263、264可形成消费者/应用实例的一部分(如控制器261A,263A所显示的),或者可与消费者/应用实例分开。控制器261、262、263、264可与池中的头消费者(或应用)关联,或者形成其一部分。与池关联的控制器能够配置成聚集有关该池的成员的信息,并且与其它控制器共享信息。这样,每个控制器261、262、263、264通过接收的来自其它控制器的信息,确定消费者池的成员和应用池的成员。用于在一个或更多个消费者池和一个或更多个应用池的成员之间形成映射的功能性能够位于每个控制器261、262、263、264。在一个示例中,每个控制器可负责为总体系统的子集确定连接映射。例如,如果每个消费者池有控制器,则该控制器能够负责从该消费者池中的消费者确定映射。在每个消费者一个控制器的示例中,该控制器能够负责从该消费者确定映射。

在上述示例中,在消费者池与一个或更多个网络管理应用的实例池之间的映射能够受到约束,使得消费者池的任何成员连接到网络管理应用的实例的池50的单个成员51。这确保来自特定网络元素的所有网络管理事件数据被转发到网络管理应用的实例的池50的单个成员51。通常,消费者的数量比网络管理应用的实例的数量更大(得多)。在一些情况下,如消费者的数量小于网络管理应用的实例的数量的情况下,有利的是,消费者池的成员可连接到多于网络管理应用的实例的池50的单个成员51。在此情况下,配置了多个连接,使得来自特定网络元素的所有网络管理事件数据被转发到网络管理应用的实例的池50的单个成员51。图19显示消费者1连接到应用实例A-1和A-2的映射的示例。连接被形成,使得来自NE1和NE2的所有网络管理事件数据被转发到应用实例A-1,并且来自NE3和NE4的所有网络管理事件数据被转发到应用实例A-2。这样,应用实例始终接收来自特定网络元素的所有网络管理事件数据。上述任何分配方法(循环,负载感知)能够被修改成遵循图19中显示的布置的类型。

图20示出示范处理设备300,该设备可实施为任何形式的计算和/或电子装置,并且在其中可实施上述系统和方法的实施例。处理设备301能够在控制器(ECPC) 11或在托管消费者或应用实例之一的设备提供。处理设备可实施在图10和13-16的任一图形中显示的方法。处理设备300包括一个或更多个处理器301,处理器301可以是用于执行指令以控制装置的操作的微处理器、控制器或任何其它适合类型的处理器。处理器301经一个或更多个总线306连接到装置的其它组件。处理器可执行指令303可使用诸如存储器302等任何计算机可读媒体提供。处理器可执行指令303能够包括用于实施所述方法的功能性的指令。存储器302是任何适合的类型,如只读存储器(ROM)、随机存取存储器(RAM)、诸如磁或光存储装置等任何类型的存储装置。能够提供另外的存储器304以存储处理器301使用的数据305。处理设备300包括用于与其它网络实体对接的一个或更多个网络接口308。

得益于前面的描述和相关联的图形中所呈现的教导,本领域技术人员将想到本公开发明的修改和其它实施例。因此,要理解的是,本发明并不限于公开的特定实施例,并且修改和其它实施例意在包括在本公开内容的范围内。虽然在本文中可采用特定的术语,但它们只是以一般性和描述性意义使用,并且不是为了限制的目的。

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