本发明涉及通信技术领域,尤其涉及一种业务链系统的性能管理方法、装置。
背景技术:
随着sdn(softwaredefinednetwork,软件定义网络)、nfv(networkfunctionvirtualization,网络功能虚拟化)等虚拟化概念及技术的不断应用,传统网络也在向虚拟化方向不断演进和发展。业务链(servicefunctionchain)技术通过增加业务链报文头,在业务服务节点中定义相应的业务链处理方式,从而可以方便地实现业务节点的灵活处理,简化灵活多变的业务链配置要求,提高业务节点的处理效率。目前,业界的sfc(servicefunctionchain,业务链)系统典型的组网结构以及组件类型如图1所示,业务链系统整体包括业务链流分类器cf、业务功能节点sf1,sf2,sf3,sf4,业务功能转发节点sff1,sff2、业务链控制器sfc控制器以及用户app页面等几个部分。其中,sfc控制器与其他业务链节点互联并传递相关控制消息。
在图1中,业务链的处理流程为:app下发业务链策略到sfc控制器,sfc控制器根据相关业务链拓扑生成相应的业务链数据并将这些数据下发到cf、sff以及sf的各个节点。用户报文进入业务链流分类器后,分类器进行业务链报文封装后,业务链顺序经过业务链sff以及sf节点后,解封装业务链报文头,然后报文发往传统网络。在图1的业务链典型结构中,sfc控制器只对业务链系统中各个网元节点下发转发策略表、流分类表等规则属性,但是缺乏对业务链相关节点,尤其是业务链系统中业务处理和sf业务节点的性能指标的监控。这种缺失导致业务链系统无法满足不同等级用户对于业务链网络中同类sf业务节点的性能 特定需求,而且,当正在工作的sf业务节点出现性能不足的告警时,也不能快速切换,从而使业务链系统的可靠性大幅下降。
技术实现要素:
有鉴于此,本发明要解决的一个技术问题是提供一种业务链系统的性能管理方法及装置。
一种业务链系统的性能管理方法,包括:业务链控制器的监控模块接收到业务链系统的性能指标数据;所述监控模块接收到业务节点的监控代理模块发送的节点性能数据;所述业务链控制器基于所述性能指标数据和所述节点性能数据选取业务节点建立业务链,并对此业务链中的功能节点进行监控和管理。
根据本发明的一个实施例,进一步的,包括:在所述业务节点启动后,所述业务节点的监控代理模块向所述监控模块发送注册请求;所述监控模块记录所述业务节点的注册信息,并向所述监控代理模块返回注册响应消息;所述注册信息包括:业务节点的id;所述监控代理模块接收到注册响应消息后,定时向所述监控模块发送与其对应的业务节点的节点性能数据。
根据本发明的一个实施例,进一步的,包括:所述监控模块接收到所述监控代理模块发送的与其对应的业务节点的节点性能数据后,根据业务节点的id更新存储在本地的节点性能数据,并向所述监控代理模块返回响应消息。
根据本发明的一个实施例,进一步的,所述建立业务链包括:所述监控模块接收到所述业务编排器通过北向接口发送的所述性能指标数据;所述监控模块向注册的业务节点发送性能数据查询请求;在线的业务节点通过监控代理模块将其当前的节点性能数据发送给所述监控模块;将所述性能指标数据和所述节点性能数据进行比对,如果所述业务节点的性能数据满足所述性能指标数据,则所述业务链控制器选取所述业务节点建立业务链。
根据本发明的一个实施例,进一步的,所述对此业务链中的功能节 点进行监控和管理包括:在所述业务链运行的过程中,当判断所述业务链中的业务节点的节点性能数据超过告警阈值时,则所述监控模块中断此业务节点的服务,并且所述监控模块从已注册的业务节点中选取节点性能数据满足所述性能指标数据的业务节点进行替换。
根据本发明的一个实施例,进一步的,包括:已注册的业务节点的所述监控代理模块定时将节点性能数据发送给所述监控模块;所述业务链控制器判断所述业务链中的业务节点的节点性能数据是否超过预设的告警阈值;如果否,则所述业务链控制器在本地更新节点性能数据并通过所述监控模块返回响应消息;如果是,则所述业务链控制器在本地存储的同类业务节点中选择性能负荷最低的一个业务节点并通过所述监控模块向其发送业务替换请求;在接收到被选出的业务节点的监控代理模块发送的业务替换请求响应消息后,所述业务链控制器通知被选出的业务节点响应用户业务链路径选择请求;所述业务链控制器向被性能告警的业务节点发送业务路径卸载消息,中断其服务,并向业务链中的其他节点通告被选出的业务节点的节点路径。
根据本发明的一个实施例,进一步的,所述监控模块和所述监控代理模块之间的消息交互采用的协议包括:openflow协议、netconf协议。
根据本发明的一个实施例,进一步的,所述性能指标数据包括:接口带宽指标、业务节点内存指标、业务节点cpu占用指标、业务节点session会话数指标。
一种业务链系统的性能管理装置,包括:监控模块和监控代理模块;所述监控模块设置在业务链控制器内,所述监控代理模块设置在业务节点内;所述监控模块包括:指标配置接收单元,用于接收业务编排器发送的业务链系统的性能指标数据;性能数据接收单元,用于接收所述监控代理模块发送的节点性能数据;节点性能管理单元,用于基于所述性能指标数据和所述节点性能数据选取业务节点建立业务链,并对此业务链中的功能节点进行监控和管理。
根据本发明的一个实施例,进一步的,所述监控代理模块,包括:节点性能采集模块,用于采集业务节点的节点性能数据;节点数据上报 单元,用于在所述业务节点启动后,向所述性能数据接收单元发送注册请求;其中,所述性能数据接收单元记录所述业务节点的注册信息,并返回注册响应消息;所述注册信息包括:业务节点的id;所述节点数据上报单元在接收到注册响应消息后,定时向所述性能数据接收单元发送业务节点的节点性能数据。
根据本发明的一个实施例,进一步的,所述监控模块包括:性能数据存储单元;所述性能数据接收单元接收所述节点数据上报单元发送的节点性能数据后,根据业务节点的id更新存储在所述性能数据存储单元中的节点性能数据,并返回响应消息。
根据本发明的一个实施例,进一步的,所述指标配置接收单元接收到所述业务编排器通过北向接口发送的所述性能指标数据;所述性能数据接收单元向注册的业务节点发送性能数据查询请求;其中,所述节点数据上报单元将当前的节点性能数据发送给所述监控模块;所述节点性能管理单元将所述性能指标数据和所述节点性能数据进行比对,如果所述业务节点的性能数据满足所述性能指标数据,则选取所述业务节点;其中,所述业务链控制器根据选取的所述业务节点建立业务链。
根据本发明的一个实施例,进一步的,在所述业务链运行的过程中,当所述节点性能管理单元判断所述业务链中的业务节点的节点性能数据超过告警阈值时,则所述节点性能管理单元中断此业务节点的服务,并从已注册的业务节点中选取节点性能数据满足所述性能指标数据的业务节点进行替换。
根据本发明的一个实施例,进一步的,所述监控模块包括:管理信令下发单元;所述监控代理模块包括:信令接收单元;所述节点数据上报单元定时将节点性能数据发送给所述性能数据接收单元;所述节点性能管理单元判断所述业务链中的业务节点的节点性能数据是否超过预设的告警阈值;如果否,则所述节点性能管理单元在所述性能数据存储单元更新节点性能数据;如果是,则所述节点性能管理单元在所述性能数据存储单元中存储的同类业务节点中选择性能负荷最低的一个业务节点,并通过所述管理信令下发单元向所述信令接收单元发送业务替换请 求;在接收到所述信令接收单元发送的业务替换请求响应消息后,所述管理信令下发单元通知所述信令接收单元响应用户业务链路径选择请求;所述管理信令下发单元向被性能告警的业务节点发送业务路径卸载消息,中断其服务,并向业务链中的其他节点通告被选出的业务节点的节点路径。
根据本发明的一个实施例,进一步的,所述性能数据接收单元和所述节点数据上报单元之间的消息交互采用的协议包括:openflow协议、netconf协议。
根据本发明的一个实施例,进一步的,所述性能指标数据包括:接口带宽指标、业务节点内存指标、业务节点cpu占用指标、业务节点session会话数指标。
本发明的业务链系统的性能管理方法、装置,增加了业务链性能管理监控机制,使业务链控制器能够对业务节点的性能实时监控,使业务链控制器的功能得到完善;通过增加性能管理监控机制,能够使业务链系统满足用户或者第三方业务的特定性能需求,为客户构建具有性能保障的业务链,增加了业务链系统的可用性;通过增加业务链控制器对业务节点的性能管理,能够对运行的业务链进行业务节点的及时替换,增加了业务链系统的可靠性,也提高了业务功能节点的使用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中的业务链系统的构架示意图;
图2为根据本发明的业务链系统的性能管理方法的一个实施例的流程示意图;
图3为根据本发明的业务链系统的性能管理方法的一个实施例中的 监控模块和监控代理模块的部署示意图。
图4为根据本发明的业务链系统的性能管理方法的一个实施例中的监控模块采集节点性能数据的流程示意图;
图5为根据本发明的业务链系统的性能管理方法的一个实施例中的建立业务链的流程示意图;
图6为根据本发明的业务链系统的性能管理方法的一个实施例中的业务链动态调整的流程示意图;
图7、图8为业务链系统中的业务节点替换的示意图,其中,图7为替换前的业务链走向图,图8为替换后的业务链走向图;
图9为监控模块与监控代理模块之间交互的yang模型的消息格式图;
图10为根据本发明的业务链系统的性能管理装置的一个实施例的模块示意图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。下面结合各个图和实施例对本发明的技术方案进行多方面的描述。
图2为根据本发明的业务链系统的性能管理方法的一个实施例的流程示意图,如图2所示:
步骤101,业务链控制器的监控模块接收到业务链系统的性能指标数据。
步骤102,监控模块接收到业务节点的监控代理模块发送的节点性能数据。业务节点即业务功能节点,下文中简称为业务节点。
步骤103,业务链控制器基于性能指标数据和节点性能数据选取业 务节点建立业务链,并对此业务链中的功能节点进行监控和管理。
监控模块和监控代理模块之间的消息交互采用的协议包括:openflow协议、netconf协议等。性能指标数据包括:接口带宽指标、业务节点内存指标、业务节点cpu占用指标、业务节点session会话数指标等。
本发明的业务链系统的性能管理方法,能够对业务链的节点性能和资源使用进行管理和调度,克服了当前业务链没有性能控制和管理功能的问题,能够满足不同用户对于性能的需求以及可靠性切换要求。
如图3所示,在业务链控制器中增加监控模块perf_monitor模块,同时在业务链域内的各个业务节点sf1,sf2,sf3,sf4上增加监控代理模块perf_agent模块。app或业务编排器向业务链控制器下发带有性能要求的业务链建链请求,业务链控制器通过监控模块接收监控代理模块发送的关于业务节点的实时性能数据,并对数据进行存储和管理以及建链策略判决。
在业务节点启动后,业务节点的监控代理模块向监控模块发送注册请求。监控模块记录业务节点的注册信息,并向监控代理模块返回注册响应消息。注册信息包括:业务节点的id等。监控代理模块接收到注册响应消息后,定时向监控模块发送与其对应的业务节点的节点性能数据。
监控模块接收到监控代理模块发送的与其对应的业务节点的节点性能数据后,根据业务节点的id更新存储在本地的节点性能数据,并向监控代理模块返回响应消息。
图4为根据本发明的业务链系统的性能管理方法的一个实施例中的监控模块采集节点性能数据的流程示意图,如图3所示:
步骤201,业务节点正常启动后,业务节点通过代理模块perf_agent模块向业务链控制器的监控模块perf_monitor模块发送注册请求。
步骤202,业务链控制器的perf_monitor模块响应perf_agent模块的请求并记录该业务节点的id等注册信息,并返回代理模块注册响应消息。
步骤203,业务节点的perf_agent模块收到响应报文后,定时每隔30秒向业务链控制器的perf_monitor模块发送本节点的性能指标数据信息。间隔时间可以根据性能需求配置调整。
步骤204,业务链控制器的perf_monitor模块收到不同业务节点的perf_agent模块发送的本节点资源消息后,根据节点id更新本地的性能指标数据表项并返回代理节点响应消息。
用户、app或业务编排器可以根据自身的性能需求,建立业务链系统,性能需求包括但不限于下列指标,如接口带宽不小于xxgbps;业务节点内存不小于xxg;业务节点cpu占用小于xx%以及业务节点session会话数不小于xx万等。
监控模块接收到业务编排器通过北向接口发送的性能指标数据。监控模块向注册的业务节点发送性能数据查询请求,在线的业务节点通过监控代理模块将其当前的节点性能数据发送给监控模块。将性能指标数据和节点性能数据进行比对,如果业务节点的性能数据满足性能指标数据,则业务链控制器选取业务节点建立业务链。
图5为根据本发明的业务链系统的性能管理方法的一个实施例的建立业务链的流程示意图,如图5所示:
步骤301,用户通过app页面配置业务节点的性能指标数据。
步骤302,app通过北向接口将性能指标发送给业务链控制器,业务链控制器的perf_monitor模块根据接收的指标数据向注册的业务节点发送性能数据查询请求。
步骤303,在线的业务节点通过perf_agent模块响应查询请求并携带本节点当前的性能采集数据发送给业务链控制器的perf_monitor模块。
步骤304,业务链控制器的perf_monitor模块收到某个业务节点的perf_agent模块发送的性能数据后与用户配置指标进行比对。
步骤306,如果该业务节点的性能数据满足用户指标,则业务链控制器记录该业务节点的节点性能数据,并通知该业务节点响应用户的建链请求。
步骤307,如果同一类业务节点上送的节点性能数据均没有满足用 户性能指标,则业务链控制器向app返回建立业务链失败消息。
在业务链运行的过程中,当判断业务链中的业务节点的节点性能数据超过告警阈值时,则监控模块中断此业务节点的服务,并且监控模块从已注册的业务节点中选取节点性能数据满足性能指标数据的业务节点进行替换。
已注册的业务节点的监控代理模块定时将节点性能数据发送给监控模块。业务链控制器判断业务链中的业务节点的节点性能数据是否超过预设的告警阈值,如果否,则业务链控制器在本地更新节点性能数据并通过监控模块返回响应消息;如果是,则业务链控制器在本地存储的同类业务节点中选择性能负荷最低的一个业务节点并通过监控模块向其发送业务替换请求。
在接收到被选出的业务节点的监控代理模块发送的业务替换请求响应消息后,业务链控制器通知被选出的业务节点响应用户业务链路径选择请求。业务链控制器向被性能告警的业务节点发送业务路径卸载消息,中断其服务,并向业务链中的其他节点通告被选出的业务节点的节点路径。
图6为根据本发明的业务链系统的性能管理方法的一个实施例的业务链动态调整的流程示意图,如图6所示:
步骤401,业务节点的perf_agent模块定时上报自身性能数据。
步骤402,业务链控制器的perf_monitor模块根据配置的告警阈值判断业务节点性能是否正常,如果是,进入步骤404,如果否,进入步骤403。
步骤403,业务节点的节点性能数据没有超过阈值,则业务链控制器的perf_monitor模块更新节点性能数据并返回响应消息。
步骤404,如果某业务节点的节点性能数据超过阈值门限,业务链控制器的perf_monitor模块在本地存储的当前系统中同类业务节点中选择性能负荷最低的一个业务节点,并向其发送业务替换请求。
步骤405,被选出的业务节点的perf_agent模块响应请求消息后,业务链控制器的perf_monitor模块通知其响应用户业务链路径选择请求, 并向性能告警的业务节点发送业务路径卸载消息,中断其服务。并向业务链其他节点通告替换的业务节点的节点路径。
上述实施例中的业务链系统的性能管理方法,可以指导业务链系统进行性能监控和管理,以此满足用户的性能定制化需求以及业务链运行中因业务节点性能不足的可靠性切换。
如图7所示,sf1和sf2两个业务节点在业务链系统中提供相同的业务能力(例如均提供dpi能力),sf3和sf4两个业务节点在业务链系统中提供相同的业务能力(例如均提供firewall能力)。当某用户通过app页面配置个人业务链需要经过dpi和firewall两个业务功能进行串接,并且用户指定dpi业务功能的接入带宽必须满足10gbps,firewall业务功能需要满足session处理能力达到5万条/秒。
app会通过北向接口(如采用restful协议)将用户性能指标需求下发给sfc控制器。sfc控制器接收到用户性能指标消息后,分别向sf1和sf2发送dpi业务的性能数据请求,并向sf3和sf4发送防火墙业务的性能数据请求。sf1和sf2分别将各自节点当前的性能参数通过消息上送到sfc控制器的监控模块,sf3和sf4也完成同样流程。
sfc控制器收到dpi和firewall的多个sf业务节点的消息后,sfc控制器的监控模块通过比对确定sf1的接口带宽满足用户dpi业务性能指标,而sf3的session会话数满足用户firewall业务性能指标。sfc控制器的监控模块确定sf1和sf3两个业务节点建立用户的业务链系统,并依据原有业务链路径计算等步骤完成业务链建立流程。
用户流量经过业务链分类器后就会通过业务转发节点sff将用户业务上送到sf1的dpi业务节点和sf3的firewall业务节点进行业务处理,满足了用户特定的性能要求。
如图8所示,当一个业务链正常运行时,用户流量经过sf1提供的dpi业务功能及sf3提供的firewall业务功能,业务链系统配置cpu使用率告警阈值为80%。系统运行过程中某时刻,sfc控制器的监控模块收到sf1的定时上报性能数据发现其cpu_usage=85%,超过告警阈值,监控模块会从提供dpi业务功能的sf节点中选择cpu使用性能最优且其他 性能数据均正常的sf2节点来替代sf1节点,sfc控制器将sf2节点业务路径等信息通知业务链其他网元进行更新,同时向sf1节点发送业务卸载消息标记。当用户下一条流经过业务分类器时,用户流量就会经由sff转发节点上送sf2和sf3进行业务处理。
sfc控制器的监控模块跟sf的监控代理模块间的消息交互可以采用openflow协议扩展字段也可以采用基于yang模型的netconf协议来完成。消息报文中应包括的内容如下:
data字段消息传递具体性能数据接口如下表1所示:
表1-性能数据接口的字段表
通过yang模型方式实现agent代理模块将本节点的状态信息、cpu、内存、带宽以及会话等性能数据使用情况上送到控制器监控节点的消息模型,如图9所示。yang模型是一种数据建模语言,用来建模由netconf协议、netconf远端过程调用(rpcs)和netconf通知(notification)操作的配置数据和状态数据。
上述实施例中的业务链系统的性能管理方法,使业务链系统能够满足用户和第三方服务对业务链性能的特定需求,增加了业务链系统的定制化服务功能和可用性,并可以使运行中的业务链系统能够对业务节点 进行性能告警监控并动态调整业务节点,增加了业务链系统的可靠性。
如图10所示,本发明提供一种业务链系统的性能管理装置,包括:监控模块51和监控代理模块52。监控模块51设置在业务链控制器内,监控代理模块52设置在业务节点内。
app/业务编排器负责下发用户的性能指标参数到监控模块51。监控模块51负责接收用户的性能指标以及各个监控代理模块52上报的本节点性能数据,并将数据进行管理,与用户下发的性能指标参数进行比对和判决。各个监控代理模块52负责采集本节点的性能数据并上送控制器以及接收控制器下发的信令消息。
指标配置接收单元511接收业务编排器发送的业务链系统的性能指标数据。性能数据接收单元513接收监控代理模块52发送的节点性能数据。节点性能管理单元512基于性能指标数据和节点性能数据选取业务节点建立业务链,并对此业务链中的功能节点进行监控和管理。
节点性能采集模块524采集业务节点的节点性能数据,并将节点性能数据放入性能数据缓存单元523。节点数据上报单元521在业务节点启动后,向性能数据接收单元513发送注册请求。性能数据接收单元513记录业务节点的注册信息,并返回注册响应消息。注册信息包括:业务节点的id等。节点数据上报单元521在接收到注册响应消息后,定时向性能数据接收单元513发送业务节点的节点性能数据。
性能数据接收单元513接收节点数据上报单元521发送的节点性能数据后,根据业务节点的id更新存储在性能数据存储单元515中的节点性能数据,并返回响应消息。
指标配置接收单元511接收到业务编排器通过北向接口发送的性能指标数据。性能数据接收单元513向注册的业务节点发送性能数据查询请求。节点数据上报单元521将当前的节点性能数据发送给监控模块,节点性能管理单元512将性能指标数据和节点性能数据进行比对,如果业务节点的性能数据满足性能指标数据,则选取业务节点,业务链控制器根据选取的业务节点建立业务链。
在业务链运行的过程中,当节点性能管理单元512判断业务链中的 业务节点的节点性能数据超过告警阈值时,则节点性能管理单元中断此业务节点的服务,并从已注册的业务节点中选取节点性能数据满足性能指标数据的业务节点进行替换。
节点数据上报单元521定时将节点性能数据发送给性能数据接收单元513。节点性能管理单元512判断业务链中的业务节点的节点性能数据是否超过预设的告警阈值,如果否,则节点性能管理单元512在性能数据存储单元515中更新节点性能数据,如果是,则节点性能管理单元512在性能数据存储单元515中存储的同类业务节点中选择性能负荷最低的一个业务节点,并通过管理信令下发单元514向信令接收单元522发送业务替换请求。
在接收到信令接收单元522发送的业务替换请求响应消息后,管理信令下发单元514通知信令接收单元522响应用户业务链路径选择请求。管理信令下发单元514向被性能告警的业务节点发送业务路径卸载消息,中断其服务,并向业务链中的其他节点通告被选出的业务节点的节点路径。
上述实施例提供的业务链系统的性能管理方法、装置,增加了业务链性能管理监控机制,使业务链控制器能够对业务节点的性能实时监控,使业务链控制器的功能得到完善;通过增加性能管理监控机制,能够使业务链系统满足用户或者第三方业务的特定性能需求,为客户构建具有性能保障的业务链,增加了业务链系统的可用性;通过增加业务链控制器对业务节点的性能管理,能够对运行的业务链进行业务节点的及时替换,增加了业务链系统的可靠性,也提高了业务功能节点的使用效率。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因 而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。