本发明涉及NFV(Network Functions Virtualization,网络功能虚拟化)领域,尤其涉及一种云虚拟网元控制方法和装置以及无线网络控制器。
背景技术:
随着智能终端和移动互联网的发展,“通信”早已脱离传统的话音和短信,人与人广泛连接,甚至物物相连也成为可期的未来。2012年10月,AT&T、英国电信、德国电信等运营商在欧洲电信标准协会(ETSI)成立了NFV ISG组织。该组织致力于推动“网络功能虚拟化”(Network Functions Virtualization)。
NFV简单理解就是把电信设备从目前的专用平台迁移到通用的X86COTS服务器上。当前电信网络使用的各种设备,均是基于私有平台部署的,各网元硬件资源无法互用,扩容需要增加硬件,缩容则硬件闲置,造成浪费;而在NFV方法中,各种网元变成了独立的应用,可以灵活部署在基于标准的服务器、存储、交换机构建的统一平台上,这样软硬件解耦,每个应用可以通过快速增加减少虚拟资源来达到快速缩扩容的目的,大大提升网络的弹性。
因此在一个3G云业务网络中,传统的RNC(Radio Network Controller,无线网络控制器)、CN(core net,核心网)、NodeB(基站)网元都已以VNF的形式存在,无线控制器网元(RNC、BTS(Base Transceiver Station,基站发射台))等网元要适应云环境下需求,支持弹性伸缩功能。
云平台上基于虚机弹性伸缩的算法有很多,但是绝大多数基于互联网业务实现的算法,根据服务器的硬件资源(CPU,内存,磁盘I/O(输入/输出)、网络带宽)和网络利用率等进行弹性伸缩,但是对电信行业来讲,话务量才是最重要的,这些信息不够且不能直接反映业务负荷。
无线控制器网元与基站(NodeB/BTS)、邻接控制器和CN都存在多种无线协议、传输协议对接,需要配置多种对接协议参数。各业务节点(这里指虚机)的业务负荷跟在该节点上的协议处理情况紧密相关,一旦某条CCP(Communication Control Port,连接控制端口)信令链路在某业务节点上建立好了,使用该NodeB的很多UE(终端)测量报告等信息必须从该业务节点走,各业务节点处理同等用户数目情况下,与未建立CCP信令链路的业务节点比,CPU(中央处理器)负荷会更高。
因此,目前已有的云平台下弹性伸缩的算法并不适用于虚拟环境下的无线网络控制器,需提出一种适合于虚拟环境下的无线网络控制器上虚拟网元实现弹性伸缩的方法。
技术实现要素:
本发明提供了一种云虚拟网元控制方法和装置以及无线网络控制器,克服现有技术中存在的弹性伸缩算法未考虑对接协议参数和业务量的缺陷,解决现有技术中没有可适用于云虚拟环境下的无线网络控制器上弹性伸缩的方法。
为解决上述技术问题,本发明提供了一种云虚拟网元控制方法,包括以下步骤:
建立弹性管理组,所述弹性管理组包含至少一个用于管理站点的站点资源的业务节点;
获取所述弹性管理组内各业务节点的负荷信息和当前未被业务节点管理的站点的检测结果;
根据所述负荷信息和所述检测结果将站点弹性分配到业务节点上管理。
进一步的,所述根据负荷信息和所述检测结果将站点弹性分配到业务节点上管理包括:
当所述检测结果为不存在未被管理的站点时,根据所述业务节点的负荷信息判断所述弹性管理组内是否存在需要缩回业务节点;
当所述检测结果为存在未被管理的站点时,根据所述业务节点的负荷信息确定是否需要在所述弹性管理组内使用已有业务节点或弹出新业务节点对所述未被管理的站点进行管理。
进一步的,所述负荷信息至少包括所述业务节点下被管理的站点数;
所述当检测结果为不存在未被管理的站点时,根据业务节点的负荷信息判断所述弹性管理组内是否存在需要缩回的业务节点包括:当所述弹性管理组中,存在被管理的站点数小于第一站点空闲值的业务节点,且所述业务节点被管理的站点数不大于其他业务节点的剩余可管理站点数之和,则将所述业务节点缩回,并将所述业务节点内被管理的站点迁移至其他业务节点进行管理。
进一步的,所述负荷信息还包括所述业务节点的资源占用率;
在将所述管理的站点数小于第一站点空闲值的业务节点缩回、并将所述业务节点内管理的站点迁移至其他业务节点进行管理之前,还包括:判断所述业务节点的资源占用率是否小于第一资源空闲值,若为是,且所述业务节点的资源占用率不大于所述弹性管理组内其他业务节点的剩余资源占用率之和,则将所述业务节点缩回,并将所述业务节点管理的站点迁移至其他业务节点进行管理。
进一步的,所述当存在未被管理的站点时,根据业务节点的负荷信息确定是否需要分配给已有业务节点管理,或者在所述弹性管理组内弹出新业务节点对所述未被管理的站点进行管理包括:
当所述弹性管理组中,存在某业务节点,该业务节点上被管理的站点数小于第一站点警戒值,则将所述未被管理的站点分配至所述业务节点进行管理。
当所述弹性管理组中,所有业务节点下被管理的站点数均不小于第一站点警戒值,则在所述弹性管理组中弹出新业务节点对所述未被管理的站点进行管理。
进一步的,所述站点资源包括第一类型站点资源和第二类型站点资源;所述弹性管理组包括第一弹性管理组和第二弹性管理组,所述第一弹性管理组内的业务节点和第二弹性管理组内的业务节点分别对所述站点的第一类型站点资源和第二类型站点资源进行管理,且同一站点的所述第一类型站点资源和第二类型站点资源配置有关联参数。
进一步的,所述负荷信息至少包括所述第一弹性管理组和第二弹性管理组内的业务节点下被管理的站点数;所述当不存在未被管理的站点时,根据业务节点的负荷信息判断所述弹性管理组内是否存在需要缩回的业务节点包括:
当所述第一弹性管理组中,存在某业务节点,其管理的站点数小于第二站点空闲值,且所述业务节点管理的站点数不大于所述第一弹性管理组内其他业务节点的剩余可管理站点数之和,则将所述业务节点缩回,并将所述业务节点管理的站点迁移至所述第一弹性管理组内其他业务节点进行管理;
当所述第二弹性管理组中,存在某业务节点,其管理的站点数小于第三站点空闲值,且所述业务节点管理的站点数不大于所述第二弹性管理组内其他业务节点的剩余可管理站点数之和,则将所述业务节点缩回,并将所述业务节点管理的站点迁移至所述第二弹性管理组内其他业务节点进行管理。
进一步的,所述负荷信息还包括所述业务节点的资源占用率;
在所述将管理的站点数小于第二站点空闲值的业务节点缩回、并将所述业务节点管理的站点迁移至其他业务节点进行管理之前,还包括:判断所述业务节点的资源占用率是否小于第二资源空闲值,若为是,且所述业务节点的资源占用率不大于所述第一弹性管理组内其他业务节点的剩余资源占用率之和,则将所述业务节点缩回,并将所述业务节点管理的站点迁移至所述第一弹性管理组内其他业务节点进行管理;
在所述将管理的站点数小于第三站点空闲值的业务节点缩回、并将所述业务节点管理的站点迁移至其他业务节点进行管理之前,还包括:判断所述业务节点的资源占用率是否小于第三资源空闲值,若为是,且所述业务节点的资源占用率不大于所述第二弹性管理组内其他业务节点的剩余资源占用率之和,则将所述业务节点缩回,并将所述业务节点管理的站点迁移至所述第二弹性伸缩组内其他业务节点进行管理。
进一步的,当存在未被管理的节点时,根据业务节点的负荷信息确定是否需要分配给已有业务节点管理,或者在所述弹性管理组内新弹出业务节点对所述未被管理的站点进行管理包括:
获取该未被管理站点上的站点资源类型;
当该未被管理站点的站点资源类型存在第一类型站点资源时:
若在所述第一弹性管理组中,所有业务节点下管理的站点数均不小于第二站点警戒值,则在所述第一弹性管理组中新弹出业务节点,对该未被管理的站点的第一类型站点资源进行管理;
若在所述第一弹性管理组中,存在某业务节点,其管理的站点数小于第二站点警戒值,则直接由已有业务节点对该未被管理的站点的第一类型站点资源进行管理。
当该未被管理站点的站点资源类型存在第二类型站点资源时:
若在所述第二弹性管理组中,所有业务节点下被管理的站点数均不小于第三站点警戒值,则在所述第二弹性管理组中新弹出业务节点,对该未被管理的站点的第二类型站点资源进行管理;
若在所述第二弹性管理组中,存在某业务节点,其管理的站点数小于第三站点警戒值,则直接由已有业务节点对该未被管理的站点的第二类站点资源进行管理。
进一步的,所述直接由已有业务节点对该未被管理的站点的第一类型站点资源进行管理包括:
若在所述管理的站点数小于第二站点警戒值的业务节点中,存在管理的站点数大于第二站点空闲值的业务节点,即某存在业务节点,其管理的站点数大于第二站点空闲值且小于第二站点警戒值,则直接将所述未被管理的站点的第一类型站点资源分配至所述业务节点进行管理;
所述直接由已有业务节点对该未被管理的站点的第二类型站点资源进行管理包括:
若在所述被管理的站点数小于第三站点警戒值的业务节点中,存在管理的站点数大于第三站点空闲值的业务节点,即某存在业务节点,其管理的站点数大于第三站点空闲值且小于第三站点警戒值,则直接将所述未被管理的站点的第二类型站点资源分配至所述业务节点进行管理。
进一步的,在所述获取弹性管理组内各业务节点的负荷信息和当前检测未被管理站点的检测结果之前,还包括:判断是否符合获取条件;所述获取条件包括以下条件中至少一种:在新增配置了所述站点资源的站点时;到达预设的时间;所述弹性管理组中有站点被删除时;整系统上电时;主动查询所述弹性管理组中各业务节点以及所述业务节点下被管理的站点的信息时。
为解决上述技术问题,本发明还提供了一种云虚拟网元控制装置,包括建立模块,获取模块,管理模块;
所述建立模块用于建立弹性管理组,所述弹性管理组包含至少一个用于管理站点的站点资源的业务节点;
所述获取模块用于获取所述弹性管理组内各个业务节点的负荷信息和当前未被业务节点管理的站点的检测结果;
所述管理模块用于根据所述负荷信息和所述检测结果将站点弹性分配到业务节点上管理。
进一步的,所述管理模块包括判断子模块;
所述判断子模块用于当所述检测结果为不存在未被管理的站点时,根据所述业务节点的负荷信息判断所述弹性管理组内是否存在需要缩回的业务节点。若所述弹性管理组中,存在被管理的站点数小于第一站点空闲值的业务节点,且所述业务节点管理的站点数不大于其他业务节点的剩余可管理站点数之和,且若所述业务节点的资源占用率小于第一资源空闲值,且所述业务节点的资源占用率不大于所述弹性管理组内其他业务节点的剩余资源占用率之和,则需要将业务节点缩回;
当所述检测结果为存在未被管理的站点时,根据所述业务节点的负荷信息确定是否需要在所述弹性管理组内新弹出业务节点。当存在未被管理的站点时,且所述弹性管理组中,所有业务节点下被管理的站点数均不小于第一站点警戒值,需要新弹出业务节点。
进一步的,所述管理模块还包括缩回子模块,所述缩回子模块执行业务节点缩回动作。
进一步的,所述管理模块还包括弹出子模块,在所述弹性管理组中执行新弹出业务节点动作。
进一步的,所述管理模块还包括配置管理子模块,所述配置管理子模块用于以站点为单位进行资源配置管理。
进一步的,所述管理模块还包括通知子模块,所述通知子模块用于通知配置管理子模块,站点资源将由哪个业务节点管理,若需要迁移,则通知业务节点将相关业务实例进行迁移。
进一步的,所述站点资源包括第一类型站点资源和第二类型站点资源;所述管理模块分别对所述站点的第一类型站点资源和第二类型站点资源进行管理,且同一站点的所述第一类型站点资源和第二类型站点资源配置有关联参数。
进一步的,所述管理模块还包括第一判断子模块用于:
当所述检测结果为不存在未被管理的站点,且所述第一弹性管理组中,存在被管理的站点数小于第二站点空闲值的业务节点,且所述业务节点被管理的站点数不大于其他所述第一子弹性业务组内的业务节点的剩余可管理站点数之和,则需要将所述被管理的站点数小于第二站点空闲值的业务节点缩回;
当所述检测结果为存在未被管理的站点时,根据所述业务节点的负荷信息确定是否需要在所述第一弹性管理组内新弹出业务节点。当存在未被管理的站点时,且所述第一弹性管理组中,所有业务节点下被管理的站点数均不小于第二站点警戒值,需要新弹出业务节点;否则在第一弹性管理组内选择一个已有业务节点,其管理的站点数小于第二站点警戒值。
所述管理模块还包括第二判断子模块用于:
当所述检测结果为不存在未被管理的站点,且所述第二弹性管理组中,存在被管理的站点数小于第三站点空闲值的业务节点,且所述业务节点被管理的站点数不大于其他所述第二子弹性业务组内的业务节点的剩余可管理站点数之和,则将需要将所述被管理的站点数小于第三站点空闲值的业务节点缩回。
当所述检测结果为存在未被管理的站点时,根据所述业务节点的负荷信息确定是否需要在所述第二弹性管理组内新弹出业务节点。当存在未被管理的站点时,且所述第二弹性管理组中,所有业务节点下被管理的站点数均不小于第三站点警戒值,需要新弹出业务节点;否则在第二弹性管理组内选择一个已有业务节点,其管理的站点数小于第三站点警戒值。
进一步的,所述第一判断子模块还用于:
在所述将被管理的站点数小于第一站点空闲值的业务节点执行缩回动作之前,判断所述业务节点的资源占用率是否小于第二资源空闲值,若为是,且所述业务节点的资源占用率不大于所述第一弹性管理组内其他业务节点的剩余资源占用率之和,则需要将所述业务节点缩回;
所述第二判断子模块还用于:
在所述将被管理的站点数小于第三站点空闲值的业务节点缩回动作之前,判断所述业务节点的资源占用率是否小于第三资源空闲值,若为是,且所述业务节点的资源占用率不大于所述第二弹性管理组内其他业务节点的剩余资源占用率之和,则需要将所述业务节点缩回。
进一步的,所述管理模块还包括类型获取子模块,所述类型获取子模块用于获取该未被管理站点上的站点资源类型;
当该未被管理站点的站点资源类型存在第一类型站点资源时,该站点资源被第一弹性伸缩组内的业务节点管理。
当该未被管理站点的站点资源类型存在第二类型站点资源时,该站点资源被第二弹性伸缩组内的业务节点管理。
为了解决上述技术问题,本发明还提供了一种无线网络控制器,包括上述的云虚拟网元控制装置。
本发明的有益效果:
本发明提供的一种云虚拟网元控制方法和装置以及采用该装置的无线网络控制器,该无线网络控制器上设置有云虚拟网元控制装置,该云虚拟网元控制装置通过建立弹性管理组,用弹性管理组中的业务节点对站点的网络资源站点资源进行管理,然后获取业务节点的负荷信息和未被管理的站点信息,根据该负荷信息和未被管理的站点信息对弹性管理组中的业务节点进行管理,实现了无线网络控制器上业务节点等虚拟网元的弹性伸缩控制,提高了系统的弹性容量。随着配置站点的增加/减少,话务量的增大/减少,系统不需要再像以前一样,通过增加/减少硬件来进行扩/缩容,而是自动根据站点数进行扩/缩容,提高了效率。
附图说明
图1为本发明提供的云虚拟网元控制方法的流程图;
图2为本发明实施例一提供的站点资源管理示意图;
图3为本发明实施例一提供的云虚拟网元控制方法的流程图;
图4为本发明实施例二提供的站点资源管理示意图;
图5为本发明实施例二提供的云虚拟网元控制方法的流程图;
图6为本发明方法提供的云虚拟网元控制装置的示意图;
图7为本发明方法提供的无线网络控制器结构示意图。
具体实施方式
在计算机领域,虚拟化技术通常是在一个硬件平台上模拟出多个独立的虚拟机或虚拟容器。在采用了虚拟化技术后,程序或软件的运行不一定独享底层的物理计算资源。由专门云平台可实现,根据具体资源要求(如CPU工作能力、内存大小、硬盘大小等)生成虚拟机或虚拟容器。
为描述方便,后面以业务节点来代表被虚拟化了的可独立处理业务的处理节点。
由于各业务节点地位是平等的,因此弹性伸缩算法必须由一个集中点才能实施,在本系统中,该集中点称为主节点,本发明中,弹性伸缩算法在主节点上实施。
另外,各业务节点上根据处理不同协议的需要,可加载不同的业务协议模块,具有相同业务协议模块的业务节点加入同一个弹性伸缩组。若各业务节点上加载的业务协议模块完全相同,所有业务节点都在同一个弹性伸缩组中。而若各业务节点上加载的业务协议模块不同,则会有多个弹性伸缩组。
根据无线网络控制器与站点之间的业务交互过程可知,如图5所示,在本发明中,对一个站点来说,无线控制器需要管理的资源至少可分为无线公共资源(无线信令链路、小区、公共传输信道)、无线专用资源(UE)、传输公共资源(传输信令链路)、传输专用资源(公共传输信道对应的传输用户面承载、UE对应的传输用户面承载)。
本发明中做上述拆分,主要因为无线公共资源、无线专用资源、传输公共资源、传输专用资源都可以由不同的业务协议模块处理。这些站点资源也可以被拆分为几种不同类型的站点资源,例如将传输信令链路、公共传输信道对应的传输用户面承载都归类于传输公共资源或者是将小区单独拆分为一种资源类型等,但是总的说来,不外乎是两种情况:
1)站点的这些资源集中由一个业务节点管理。
2)站点的这些资源拆分后,由多个业务节点管理。
本发明就以上述两种情况进行描述,站点资源仅描述拆分为无线资源(无线公用资源和专用资源总和)和传输资源(传输公用资源和专用资源总和)两种资源,其他拆分情况可依次类推,都在本发明保护范围内。
下面结合附图对技术方案的实施作进一步的详细描述。
图1表示一种云虚拟网元控制方法,包括:
S101,建立弹性管理组,该弹性管理组包含至少一个用于管理站点的站点资源的业务节点;
S102,获取弹性管理组内各业务节点的负荷信息和当前未被业务节点管理的站点的检测结果;
S103,根据负荷信息和检测结果将站点弹性分配到业务节点上管理。
弹性管理组内的业务节点对分配了站点资源的站点进行管理,会表征出相应的业务负荷信息值,这个负荷信息可以是被管理的站点的数量、业务节点当前的资源占用率;其中业务节点当前的资源占用率可以通过查询当前业务节点的资源占用率得到,也可以通过查询业务节点下各个站点的资源占用率再取和。而资源占用率在本实施例中优选为业务节点CPU占用率或站点的CPU占用率之和。
当系统中新增了站点时,首先要对站点进行站点资源的配置,然后需要将配置好的站点分配给相应的弹性伸缩组内的业务节点进行管理,这时就需要获取未被管理的站点信息,包括站点的个数,站点资源类型等站点的特征信息。
在获取业务节点的负荷信息和当前检测未被管理站点的检测结果之前,还包括判断是否符合获取条件;获取条件包括以下条件中的至少一个:新增配置了站点资源的站点时;到达预设的时间;所述弹性管理组中有站点被删除时;整系统上电时;主动查询所述弹性管理组中各业务节点以及所述业务节点下被管理的站点的信息时。上述均是获取业务节点的负荷信息和未被管理的站点信息的时机。
当获取到当前各个业务节点的负荷信息以及检测结果后,就可以针对业务节点进行调节了,这里的调节方式包括弹出业务节点,缩回业务节点以及直接将站点添加到已有的业务节点中。弹出一个业务节点,是指使非工作态的业务节点进入工作态,而这一过程通常来说是将业务节点上电;缩回业务节点,是指使工作态的业务节点进入非工作态,而这一过程通常来说是将该业务节点下电。
实施例一
本实施例提供了一种云虚拟网元控制方法,本实施例中的站点资源具体为无线资源和传输资源,且未对该站点资源进行分类管理;该站点资源在站点上的分布如图2所示。对图2所示的站点进行管理的流程如图3所示,包括:
S301,以站点为单位,组织并配置相关无线资源和传输资源参数。这里的以站点为单位是指将同一站点的无线资源和传输资源建立对应关系。
S302,创建弹性管理组并上电,弹性管理组内有用于管理站点的站点资源的业务节点。
S303,获取弹性管理组内各业务节点的站点负荷信息。
弹性管理组内的业务节点对站点的资源进行管理,会表征出相应的业务负荷,这个站点负荷可以是被管理的站点的数量、业务节点当前的资源占用率;其中业务节点当前的资源占用率可以通过查询当前业务节点的资源占用率得到,也可以通过查询业务节点下各个站点的资源占用率再取和。而资源占用率在本实施例中优选为业务节点CPU占用率或站点的CPU占用率之和。
这里,可通过定时上报,或主节点主动请求的方式获取上述信息。
S304,发现某站点无业务节点管理,根据弹性管理组中各业务节点管理的站点数进行站点的分配。
这里,发现某站点无业务节点管理,可以有多种方法,可以是上电时,也可以是系统新增站点时,也可以通过定时查询站点信息。
在进行管理时,提及到相关术语:第一站点空闲值、第一站点警戒值、第一资源空闲值。
第一站点空闲值、第一资源空闲值都是预设的阈值,表示为弹性管理组中的业务节点在正常情况下不浪费资源的下限值,在本实施例中将第一站点空闲值优选的设定为业务节点可管理的最大站点数的10%,同样的,第一资源空闲值同样也优选的设定为业务节点能容纳的最大资源占用率的10%,具体可根据业务节点空载时的CPU占用率给出。该百分比可以根据实际的情况进行调节,甚至可以直接设定一个定值而跟业务节点的管理能力无关,都是可以的。
第一站点警戒值是预设的阈值,表示为弹性管理组中的业务节点正常工作的站点数的安全值,本实施例中优选设定为业务节点可管理的站点数的最大值的70%,当然,该第一站点警戒值也可以设定为其他百分比,甚至设定为固定值,都是可以的。
S3041,如果当前所有各业务节点管理的站点数都超过第一站点警戒值,则进行业务节点的扩张动作,弹出一个业务节点,该业务节点与弹性管理组内业务节点加载的业务协议完全相同,并加入该弹性管理组中。将该站点分配至该业务节点管理,本次管理流程结束。
S3042,如果当前至少有一个业务节点管理的站点数低于第一站点警戒值但大于第一站点空闲值,选择其中一个业务节点,将该站点分配至该业务节点管理,本次管理流程结束。
S305,未发现新增站点,即所有站点都已由业务节点管理,此时,若发现某业务节点上管理的站点数低于第一站点空闲值,且该业务节点的CPU占用率低于第一资源空闲值,根据弹性管理组中业务节点数量和各业务节点管理的站点数信息,进行业务节点的缩回动作。
这里,发现业务节点管理的站点数低于空闲值有多种方法。可以是当系统中有站点被删除时进行检查,也可以通过各业务节点定时上报,也可以主动查询各业务节点时进行检查。
业务节点的CPU占用率可以由业务节点直接上报,也可以通过业务节点上管理的所有站点的CPU占用率累加得到。
S3051,如果弹性管理组内其他业务节点的能力总和可以全部接受此业务节点的业务,即弹性管理组内其他业务节点剩余可管理的站点数和剩余CPU占用率之和分别大于等于该业务节点管理的站点数和CPU占用率,则通知待缩回业务节点,将其管理的所有站点迁到弹性管理组内目标业务节点上。具体如下:
1)确定目标业务节点。
确定目标业务节点时,可以选择弹性管理组内当前管理站点数最少的业务节点,也可以按照一定分配策略,仅分配给CPU占用率偏低的几个业务节点,或者每个业务节点都分相同数目的新站点数。
2)管理这些站点的业务实例进行迁移。
待缩回业务节点将这些站点上已经建立好的业务实例迁移到目标业务节点上,这些站点的资源后续由目标业务节点进行管理。
3)通知有业务联系的业务节点。
在被迁移站点的业务实例进行迁移时及迁移成功后,需要及时通知有业务关联的业务节点。
S3052,缩回该空闲的业务节点,本次管理流程结束。
在系统运行过程中,重复执行S303~S3052,来实现对站点业务量的弹性伸缩控制。
实施例二
本实施例提供了一种云虚拟网元控制方法,本实施例中的站点资源分为无线资源和传输资源,分别由第一弹性管理组中的业务节点和第二弹性管理组中的业务节点来管理,请参见图4所示。对图4所示的站点的管理过程请参见图5,包括:
S501,传输资源以站点为单位组织并配置,无线资源以站点为单位组织并配置。同一站点的传输资源和无线资源虽然是分开管理,但是还是属于同一个站点。
S502,建立第一弹性管理组和第二弹性管理组,管理无线资源的业务节点加入对应的第一弹性管理组,管理传输资源的业务节点加入对应的第二弹性管理组。
S503,获取各弹性管理组内各业务节点管理的站点负荷信息。
弹性管理组内的业务节点对站点的资源进行管理,会表征出相应的业务负荷,这个站点负荷可以是被管理的站点的数量、业务节点当前的资源占用率;其中业务节点当前的资源占用率可以通过查询当前业务节点的资源占用率得到,也可以通过查询业务节点下各个站点的资源占用率再取和。而资源占用率在本实施例中优选为业务节点CPU占用率或站点的CPU占用率之和。
这里,可通过定时上报,或主动请求的方式获取上述信息。
S504,发现某站点的无线资源无业务节点管理,根据第一弹性管理组各业务节点管理的站点数进行站点的分配。
在进行管理时,提及到相关术语:第二站点空闲值、第二站点警戒值、第二资源空闲值。
第二站点空闲值、第二资源空闲值都是预设的阈值,表示为第一弹性管理组中的业务节点在正常情况下不浪费资源的下限值,在本实施例中将第二站点空闲值优选的设定为业务节点可管理的最大站点数的10%,同样的,第二资源空闲值同样也优选的设定为第一弹性伸缩组中业务节点能容纳的最大资源占用率的10%,具体可根据业务节点空载时的CPU占用率给出。该百分比可以根据实际的情况进行调节,甚至可以直接设定一个定值而跟业务节点的管理能力无关,都是可以的。
第二站点警戒值是预设的阈值,表示为第一弹性管理组中的业务节点正常工作的站点数的安全值,本实施例中优选设定为业务节点可管理的站点数的最大值的70%,当然,该第二站点警戒值也可以设定为其他百分比,甚至设定为固定值,都是可以的。
这里,发现某站点的无线资源无业务节点管理,可以有多种方法,可以是上电时,也可以是新增站点无线资源配置时,也可以通过定时查询整系统站点无线资源信息。
S5041,如果当前所有各业务节点管理的站点数都超过第二站点警戒值,则进行业务节点的扩张动作,弹出一个业务节点,该业务节点与第一弹性管理组内业务节点加载的业务协议完全相同,并加入第一弹性管理组中。将该站点分配至该业务节点管理,本次管理流程结束。
S5042,如果当前至少有一个业务节点管理的站点数低于第二站点警戒值但大于第二站点空闲值,选择其中一个业务节点,将该站点分配至该业务节点管理,本次弹性分配流程结束。
S505,发现某站点的传输资源无业务节点管理,主节点根据第二弹性管理组中各业务节点管理的站点数进行站点的分配。
在进行管理时,提及到相关术语:第三站点空闲值、第三站点警戒值、第三资源空闲值。
第三站点空闲值、第三资源空闲值都是预设的阈值,表示为第二弹性管理组中的业务节点在正常情况下不浪费资源的下限值,在本实施例中将第三站点空闲值优选的设定为业务节点可管理的最大站点数的10%,同样的,第三资源空闲值同样也优选的设定为第二弹性伸缩组中业务节点能容纳的最大资源占用率的10%,具体可根据业务节点空载时的CPU占用率给出。该百分比可以根据实际的情况进行调节,甚至可以直接设定一个定值而跟业务节点的管理能力无关,都是可以的。
第三站点警戒值是预设的阈值,表示为第二弹性管理组中的业务节点正常工作的站点数的安全值,本实施例中优选设定为业务节点可管理的站点数的最大值的70%,当然,该第三站点警戒值也可以设定为其他百分比,甚至设定为固定值,都是可以的。
第三站点空闲值与第二站点空闲值取值可以相同,也可以不同。对于第三站点警戒值与第二站点警戒值的取值情况是类似的。对于第三资源空闲值与第二资源空闲值的取值情况也是类似的。
这里,发现某站点的传输资源无业务节点管理,可以有多种方法,可以是上电时,也可以是新增站点传输资源配置时,也可以通过定时查询整系统站点传输资源信息。
S5051,如果当前所有各业务节点管理的站点数都超过第三站点警戒值,则进行业务节点的扩张动作,弹出一个业务节点,该业务节点与第二弹性管理组内业务节点加载的业务协议完全相同,并加入第二弹性管理组中。将该站点分配至该业务节点管理,本次管理流程结束。
S5052,如果当前至少有一个业务节点管理的站点数低于第三站点警戒值但大于第三站点空闲值,选择其中一个业务节点,将该站点分配至该业务节点管理,本次管理流程结束。
S506,所有站点的无线资源都已由业务节点管理,发现第一弹性管理组内某业务节点上管理的无线资源的站点数低于第二站点空闲值,且该业务节点的CPU占用率低于第二资源空闲值,主节点根据第一弹性管理组中各业务节点管理的站点数信息,进行业务节点的缩回。
这里,发现业务节点管理的站点数低于空闲值有多种方法。可以是当有站点被缩回时进行检查,也可以通过各业务节点定时上报,也可以在主动查询各业务节点时进行检查。
S5061,如果第一弹性管理组内其他业务节点的能力总和可以全部接受此业务节点的业务,即弹性管理组内其他业务节点剩余可管理的站点数和剩余CPU占用率之和分别大于等于该业务节点管理的站点数和CPU占用率,则主节点通知待缩回业务节点,需要将其管理的所有站点迁到目标业务节点上。具体如下:
1)确定目标业务节点。
确定目标业务节点时,可以选择第一弹性管理组内当前管理站点数最少的业务节点,也可以按照一定分配策略,仅分配给CPU占用率偏低的几个业务节点,或者每个业务节点都分相同数目的新站点数。
2)管理这些站点的无线资源的业务实例进行迁移。
待缩回业务节点将这些站点上已经建立好的无线资源业务实例迁移到目标业务节点上,这些站点的无线资源后续由目标业务节点进行管理。
3)通知有业务联系的业务节点。
在被迁移站点的无线资源业务实例进行迁移时及迁移成功后,需要及时通知管理该站点传输资源的业务节点上的传输业务实例及其他有业务关联的业务节点。
S5062,缩回该空闲的业务节点,本次管理流程结束。
S507,所有站点的传输资源都已由业务节点管理,发现某业务节点上管理的传输资源的站点数低于第三站点空闲值,且该业务节点的CPU占用率低于第三资源空闲值,根据第二弹性管理组中各业务节点管理的站点数信息,进行站点的缩回动作。
S5071,如果第二弹性管理组内其他业务节点的能力总和可以全部接受此业务节点的业务,即弹性管理组内其他业务节点剩余可管理的站点数和剩余CPU占用率之和分别大于等于该业务节点管理的站点数和CPU占用率,则主节点通知待缩回业务节点,需要将其管理的所有站点迁到目标业务节点上。具体如下:
1)确定目标业务节点。
确定目标业务节点时,可以选择第二弹性管理组内当前管理站点数最少的业务节点,也可以按照一定分配策略,仅分配给CPU占用率偏低的几个业务节点,或者每个业务节点都分相同数目的新站点数。
2)管理这些站点的传输资源的业务实例进行迁移。
待缩回业务节点将这些站点上已经建立好的传输资源业务实例迁移到目标业务节点上,这些站点的传输资源后续由目标业务节点进行管理。
3)通知有业务联系的业务节点。
在被迁移站点的传输资源业务实例进行迁移时及迁移成功后,需要及时通知管理该站点无线资源的业务节点上的无线业务实例及其他有业务关联的业务节点。
S5072,缩回该负荷低的业务节点,本次弹性收缩流程结束。
在系统运行过程中,重复执行S503~S5072,来实现对站点业务量的弹性伸缩控制。
在上述两个实施例的实现过程中,关键在于弹性伸缩指标的判断,下面用具体公式来进一步描述弹性伸缩算法。
SiteNum 表示业务节点上报的站点总数
Site(i).Load 表示站点i的CPU负荷
CPU.Idle 表示业务节点CPU空闲值
CPU.High 表示业务节点CPU警戒值
SiteMax 表示业务节点管理的最大站点数
Hv 表示业务节点管理的站点警戒线系数,可取为0.7
Lv 表示业务节点管理的站点空闲系数,可取为0.1
SiteHv 表示业务节点管理的站点警戒值,可以直接定义一个值,也可以定义为SiteMax*Hv
SiteLv 表示业务节点管理的站点空闲值,可以直接定义一个值,也可以定义为SiteMax*Lv
A1、A2、Am 表示弹性伸缩组A中的业务节点编号,设一个弹性组中有m个业务节点
设该业务节点A上管理的站点为1,2,..n,则
业务节点的CPU负荷
1)弹性扩展指标
当弹性伸缩组内所有业务节点管理的站点数都超过警戒值时,则进行弹出动作。
2)弹性收缩指标
若某个业务节点X,其站点数低于空闲值,且X业务节点上的CPU负荷低于CPU空闲值,即
(X.SiteNum<SiteLv)∩(CPU(X)<CPU.Idle)
并且同一个弹性伸缩组内,其他业务节点上可管理的剩余站点数足够,有能力接管该业务节点上的站点。
注,因为之前每个业务节点在分配站点时,是以SiteHv作为警戒线的,并未达到SiteMax这个绝对上限。并且若某个业务节点A(i)接管了业务节点X的k个站点后,CPU负荷不会超过CPU警戒线,
直到X上所有站点都能被成功接收,则进行缩回动作。
与上述控制方法相对应,本发明还提供一种云虚拟网元控制装置。
如图6所示,云虚拟网元控制装置600包括建立模块601,获取模块602,管理模块603;
建立模块601用于建立弹性管理组,该弹性管理组包含至少一个用于管理站点的站点资源的业务节点;
获取模块602用于获取所述弹性管理组内各个业务节点的负荷信息和当前未被业务节点管理的管理站点的检测结果;
管理模块603用于根据所述负荷信息和所述检测结果将站点弹性分配到业务节点上管理。
获取模块602包括负荷获取子模块6021和站点获取子模块6022,分别用于获取业务节点的负荷信息和获取未被管理的站点的检测结果。
管理模块603包括判断子模块6031,根据各业务节点上的站点负荷和未被管理的站点检测结果,确定是否需要进行业务节点的弹出、缩回。具体为:
当存在未被业务节点管理的站点时,如果弹性管理组内所有业务节点上管理的站点数都超过警戒值,则进行业务节点的弹出动作。
如果弹性伸缩组内存在某个业务节点,其管理的站点数在站点的空闲值与警戒值之间,则不进行弹出或缩回动作。
如果弹性伸缩组内存在某个业务节点,其管理的站点数低于站点的空闲值,且该业务节点的资源低于资源空闲值,且其他业务节点剩余管理能力总和可以全部接受此业务节点的业务,则进行业务节点的缩回动作。
管理模块603还包括缩回子模块6032,用于执行业务节点缩回动作。
管理模块603还包括弹出子模块6033,用于执行业务节点弹出动作。
管理模块603还包括配置管理子模块6034,用于以站点为单位进行资源配置管理。
管理模块603还包括通知子模块6035,用于通知配置管理子模块,站点资源将由哪个业务节点管理,若需要迁移,则通知业务节点将相关业务实例进行迁移。
管理模块603还包括类型获取子模块6036,用于获取该未被管理站点上的站点资源类型;
当该未被管理站点的站点资源类型存在第一类型站点资源时,该站点资源被第一弹性伸缩组内的业务节点管理。
当该未被管理站点的站点资源类型存在第二类型站点资源时,该站点资源被第二弹性伸缩组内的业务节点管理。
上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。比如若将站点资源分为第一站点资源和第二站点资源,那么判断子模块也可拆分为第一判断子模块和第二判断子模块等。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。
本发明还提供一种无线网络控制器,如图7所示,其中包含上述的云虚拟网元控制装置600。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。