具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
集群虚拟化资源管理平台,是一种可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务。集群虚拟化资源管理平台具有服务化、声明式等优势,已经在信息技术领域大规模部署。例如,以Kubernetes(一种容器编排引擎)为例, Kubernetes已基于其具有的服务化、声明式的优势,在信息技术领域大规模部署。但是,目前集群虚拟化资源管理平台能实现针对软件的管控,当需要对硬件进行管控时,往往需要额外的管控系统,不利于提升管理效率。同时,软件和硬件的管控界面分离,不利于简化管控操作,也不利于实现软件和硬件的联合管控。
针对上述技术问题,在本申请一些实施例中,提供了一种解决方案,以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一实施例提供的硬件资源管理方法的流程示意图。如图1所示,该方法包括:
步骤101、主节点通过接口服务组件,根据已注册的硬件设备的接口的信息,对所述硬件设备的接口进行监测。
步骤102、通过所述接口服务组件,在监测到所述硬件设备的接口的状态数据不满足设定条件时,将所述硬件设备的接口的状态数据发送至硬件控制器组件。
步骤103、通过硬件控制器组件,根据所述硬件设备的接口的状态数据以及所述硬件设备的资源处理策略,执行对应的资源处理操作。
本实施例的执行主体可以是部署在云端的集群虚拟化资源管理平台中的主节点。在一些实施例中,该集群虚拟化资源管理平台基于Kubernetes(一种容器编排引擎)实现,以下实施例中将以Kubernetes为例进行示例性说明。Kubernetes集群中的主节点(即Master节点),该主节点可以是Kubernetes集群中的一台服务器,该服务器基于其上运行的Master组件,对Kubernetes集群中的各个节点实现控制、调度、管理等。其中,主节点上部署有接口服务组件(Application Programming Interface Server,APIServer)以及硬件控制器组件。
其中,APIServer是Kubernetes系统提供的用于对象的增、删、查、改、盯(监听)的服务端组件。在本实施例中,主节点可基于APIServer的盯(监听)的功能,实时获取硬件设备的运行状态。
在本实施例中,可预先在APIServer处注册硬件设备的接口的信息。进而,主节点可通过APIServer,根据已注册的硬件设备的接口的信息,对硬件设备的接口进行监测。在本实施例中,待检测的硬件设备,可以是Kubernetes集群中的硬件服务器以及交换机中的至少一种,还可以是路由器、网关设备等。本实施例不做限制。硬件设备的接口,可包括硬件设备的一个接口或者多个接口,本实施例不做限制。
APIServer监测到硬件设备的接口的状态数据不满足设定的条件时,可向订阅(subscribe)该接口的变化信息的硬件控制器组件发送该接口的状态数据。接口的状态数据用于表示硬件设备是否在预期状态下运行。硬件设备未在预期状态下运行时的接口的状态数据,可认为是不满足设定条件的状态数据。例如,接口的状态数据不满足设定条件可以包括:接口的状态数据大于或者小于期望值、接口未返回有效数据、接口的状态数据超出设定的数值范围等等。
在主节点中,控制器组件(Controller)用于负责维护集群的状态,比如故障检测、自动扩展、滚动更新等。其中,每个资源可对应一个控制器组件,每个控制器组件可通过APIServer实时监测各个资源的状态。当集群中的资源发生状态变化时,该资源对应的硬件控制器组件可尝试将该资源的状态调整到预期状态。例如,当集群中的资源因故障发生异常时,该资源对应的硬件控制器组件可尝试将该资源的状态由故障后的状态恢复到预期状态,以保证集群中的资源使始终处于期望状态。例如,当集群中的资源压力较大需要扩容时,该资源对应的硬件控制器组件可尝试自动进行资源扩展,以将其他可用的资源添加到指定的资源池中。又例如,当集群中的硬件资源处于空闲状态时,该硬件资源对应的硬件控制器组件可尝试自动进行资源缩减,以将该硬件资源从资源池中移除,从而优化集群资源分布。
在本实施例中,硬件控制器组件,指的是硬件资源在主节点中对应的控制器,即主节点中用于管控硬件的Controller。硬件控制器组件中内置有管理硬件设备的自动化程序。基于硬件控制器组件,可将集群中的硬件设备作为资源,当硬件设备的状态发生变化时,APIServer可基于硬件设备的接口的状态数据监测到该变化。硬件控制器组件可对该硬件设备的状态变化,执行对应的处理操作,以尝试将硬件设备的状态调整到预期状态。
在本实施例中,当Kubernetes集群中存在多个需要进行管理的硬件设备时,可在主节点上为每个硬件设备部署一个硬件控制器组件,以用于管理对应的硬件设备。也可在主节点上为多个硬件设备部署同一个硬件控制器组件。例如,在一些实施例中,Kubernetes集群中待管理的硬件设备包括:多台硬件服务器设备以及多台交换机设备。相应地,主节点中可部署有每台硬件服务器对应的硬件控制器组件以及每台交换机设备对应的硬件控制器组件。
其中,硬件控制器组件,接收到APIServer发送的硬件设备的接口的状态数据后,可根据该接口的状态数据以及硬件设备的资源处理策略,对该硬件设备执行对应的资源处理操作。其中,资源处理策略,可以是预先通过主节点对应的客户端配置的。在部署硬件控制器组件时,可根据资源处理策略,定制硬件控制器的执行逻辑,以使得硬件控制器组件可自动执行资源处理策略。其中,资源处理策略可包括:硬件设备的异常处理策略、在硬件设备所在的资源池添加可用硬件设备的策略,或者,将硬件设备从指定资源池中移除的策略等等,本实施例包含但不限于此。其中,硬件设备的类型不同时,异常处理策略可以不同;硬件设备的异常类型不同时,异常处理策略也可以不同,将在后续实施例中进行具体介绍,此处不赘述。
在本实施例中,集群虚拟化资源管理平台中的主节点部署有接口服务组件以及硬件控制器组件,主节点可基于接口服务组件,根据已注册的硬件设备的接口的信息,对硬件设备的接口进行监测,并在监测到该硬件设备的接口的状态数据不满足设定条件时,将该硬件设备的接口的状态数据发送至硬件控制器组件。主节点可基于硬件控制器组件,根据硬件设备的接口的状态数据以及硬件设备的资源处理策略,对该硬件设备执行对应的资源处理操作。进而,在集群虚拟化资源管理平台中实现了硬件设备的自动化运维,无需额外部署专门的硬件管理系统,有利于降低硬件设备的管理成本,并提升硬件设备的管理效率。
同时,基于上述实施例,可根据管理需求在主节点上部署软件管理器组件,从而,主节点对应的客户端可作为软件管理器组件和硬件管理器组件的编辑以及管理操作的统一入口,可避免硬件和软件的管控界面分离,有利于简化软件、硬件的管控操作。除此之外,主节点上同时部署有软件管理器组件和硬件管理器组件,有利于实现软件、硬件的联合管控操作。
在本申请的上述以及下述各实施例中,向主节点添加待管理的硬件设备时,主节点对应的客户端生成硬件设备对应的硬件资源配置文件,并将该硬件资源配置文件发送至主节点。主节点通过解析该硬件资源配置文件,获取待管理的硬件设备的接口的信息。以下将进行示例性说明。
可选地,该硬件资源配置文件,可基于Kubernetes提供的自定义新的资源的方式进行配置。Kubernetes提供了一种基于CRD(CustomResourceDefinitions,用户资源自定义)的方式对Kubernetes进行功能扩展的机制。通过CRD配置的文件又可称为CR(CustomResource,用户资源)文件。
因此,存在硬件设备的管理需求时,用户(例如研发人员)可根据硬件设备的接口的信息生成CR文件(即,硬件资源配置文件),并通过主节点的客户端将该CR文件发送至主节点的APIServer,以注册用于硬件设备管理/监测的用户资源。即:将硬件设备的接口的信息作为一种用户资源,并基于CR文件动态地对硬件设备进行增加、删除。
基于此,在一些示例性的实施例中,主节点通过接口服务组件,根据已注册的硬件设备的接口的信息,对所述硬件设备的接口进行监测之前,可通过接口服务组件,接收客户端发送的硬件资源配置文件,该硬件资源配置文件包含待管理的硬件设备的接口的信息。从而,主节点可通过接口服务组件,根据待管理的硬件设备的接口的信息,对该硬件设备的接口进行监听。
在这种实施方式中,基于Kubernetes提供的CRD机制,可在主节点中注册待管理的硬件资源。需要更新硬件设备时,可通过客户端向主节点下发新的CR文件,可实现硬件设备的灵活扩展。
在一些示例性的实施例中,硬件资源配置文件中,可包括硬件设备的接口的期望值。其中,该期望值,可以是一个具体的数值,可以是多个数值,也可以是一个或者多个数值范围,本实施例不做限制。例如,在一些场景中,对服务器设备而言,其风扇接口的期望值可以是风扇的转速,或者,风扇的转速的范围。在另一些场景中,对交换机设备而言,其波特率接口的期望值可以是具体的波特率值,也可以是波特率的范围,不再赘述。
基于此,接口服务组件在监测到硬件设备的接口的状态数据时,可判断硬件接口的状态数据与硬件设备的接口的期望值是否匹配。若硬件接口的状态数据与硬件设备的接口的期望值匹配,则可确定硬件设备处于正常的运行状态下。若硬件接口的状态数据与硬件设备的接口的期望值不匹配,则可确定硬件设备出现了异常,此时接口服务组件可将硬件设备的接口的状态数据发送至硬件控制器组件。
可选地,将硬件设备以CRD的方式扩展为API资源时,硬件控制器组件可预先向接口服务组件订阅该硬件设备对应的CRD资源变更信息。对接口服务组件来说,硬件设备的接口的状态数据与期望值不同时,可认为该硬件设备对应的CRD资源发生可变化。此时,可向订阅该CRD资源变更信息的硬件控制器组件发送该CRD资源的变化值,即该硬件设备的接口的状态数据。
在这种实施方式中,用户可通过硬件资源配置文件配置硬件设备的接口的期望值,可实现硬件设备灵活管控。
在一些可选的实施例中,如图2所示,主节点中还部署有适配器组件(Adaptor)。其中,该适配器组件主要用于进行协议的转换。当不同硬件设备采用的接口协议与主节点中的硬件控制器组件或者接口服务组件采用的接口协议不同时,适配器组件可在硬件设备与硬件控制器组件以及硬件设备与接口服务组件之间进行数据格式的转换。
基于此,主节点通过硬件控制器组件,根据硬件设备的接口的状态数据以及所述硬件设备的资源处理策略,对硬件设备执行对应的资源处理时,可首先通过硬件控制器组件,根据硬件设备的接口的状态数据以及硬件设备的资源处理策略,确定对硬件设备的控制指令。确定控制指令后,主节点可通过硬件控制器组件,将该控制指令发送至适配器组件。适配器组件,可对该控制指令进行协议转换,得到与硬件设备遵循的协议匹配的目标控制指令,并可将该目标控制指令发送至硬件设备。
其中,不同的硬件设备可能遵循不同的接口协议,视具体情况而定,本实施例不做限制。例如,在一些实施例中,如图2所示,适配器组件可将硬件控制器组件发送的控制指令,转化为符合IPMI(Intelligent Platform Management Interface, 智能平台管理接口)、NETCONF(基于XML的网络配置协议)或SNMP(Simple Network Management Protocol,简单网络管理协议)的目标控制指令,以便于硬件设备能够识别并执行该目标控制指令。应当理解,除上述接口协议之外,适配器组件可将硬件控制器组件发送的控制指令转化为符合其他接口协议要求的指令,不再一一列举。
除可将对硬件控制器组件发送的控制指令进行格式转化之外,适配器组件还可对硬件设备上传至主节点的接口数据进行格式转换。
可选地,针对每一硬件设备而言,其在任一运行状态下,可通过对应的接口向主节点发送接口的状态数据。当硬件设备的接口采用的接口协议与主节点采用的接口协议不同时,主节点可通过适配器组件接收应硬件设备的接口的状态数据,并进行数据格式转换。例如,硬件设备可采用IPMI、NETCONF或SNMP进行接口通信。如图2所示,当主节点采用Http(Hypertext Transfer Protocol,超文本传输协议)进行接口通信时,适配器组件可将硬件设备发送的消息转化为Http消息后再发送至接口服务组件,不再赘述。
可选地,处理策略实现为硬件扩展策略时,硬件控制器组件,根据硬件设备的接口的状态数据以及硬件设备的资源处理策略,确定的控制指令可包括:将可用的其他硬件设备添加到该硬件设备对应的资源池的指令。
可选地,处理策略实现为硬件缩减策略时,硬件控制器组件,根据硬件设备的接口的状态数据以及硬件设备常处理策略,确定的控制指令可包括:将该硬件设备从指定资源池中移除的指令。
可选地,处理策略实现为异常处理策略时,在本实施例中,硬件控制器组件,根据硬件设备的接口的状态数据以及硬件设备的异常处理策略,确定的控制指令可包括:下电指令、硬件设备重启指令、接口重启指令以及期望值重置指令中的至少一种。
其中,具体下发何种控制指令,可在硬件控制器组件的异常处理策略中进行配置。在异常处理策略中,可预先配置硬件设备的接口的状态数据满足不同条件时,执行何种异常处理操作。例如,当服务器设备的风扇的转速低于设定速度阈值时,可重新设置风扇的转速。当交换机设备的波特率低于设定波特率阈值时,可重启交换机。当服务器的硬盘无法执行读写操作时,可对服务器执行下电操作,不再一一赘述。
在一些可选的实施例中,当硬件设备的运行状态异常时,为避免影响硬件设备上运行的应用软件的运行,可在对硬件设备进行异常处理之前,对硬件设备上的应用软件进行迁移处理。以下将进行示例性说明。
可选地,若硬件控制器组件根据硬件设备的接口的状态数据以及硬件设备的异常处理策略,确定对硬件设备的控制指令为下电指令或硬件设备重启指令,则需要对硬件设备上的应用软件进行迁移,以降低对应用软件运行状态的影响。
确定需要对硬件设备上的应用软件进行迁移后,主节点可通过硬件控制器组件,向接口服务组件发送针对应用软件的迁移指令。其中,应用软件作为一种资源,可由主节点中的其他控制器组件进行管理,且其他控制组件可向接口服务组件订阅与该应用软件相关的资源变更事件。当接口服务组件接收到针对应用软件的迁移指令后,可认为检测到了应用软件对应的资源变更事件。此时,接口服务组件,可向应用软件关联的目标控制器组件发送该迁移指令,以使得目标控制器组件将该应用软件从该硬件设备迁出。
可选地,在应用软件从硬件设备迁出后,硬件控制器组件可向硬件设备发送下电指令或硬件设备重启指令,以尝试恢复硬件设备的运行状态。
例如,在一种应用场景中,当服务器设备的网卡接口的状态数据出现异常,且根据服务器设备的异常处理策略确定需要重启服务器时,服务器设备对应的硬件管理器组件可向接口服务组件发送迁移服务器上的应用软件至其他处于健康状态下的服务器节点上的指令。应用软件迁移完毕后,服务器设备对应的硬件管理器组件可向适配器组件发送服务器重启指令。适配器将服务器重启指令转换为该服务器能够识别的指令后,下发至该服务器,进而该服务器可通过重启操作来尝试恢复网卡。
值得说明的是,主节点通过硬件控制器组件,对硬件设备执行资源处理策略对应的资源处理操作之后,可持续监测硬件设备的运行状态,并可根据监测到的运行状态不断协调控制,直至硬件设备的运行状态满足设定条件。
可选地,主节点可通过接口服务组件,实时监测硬件设备的接口的状态数据,并判断监测到的硬件设备的接口的状态数据是否满足设定条件。若不满足设定条件,则将硬件设备的接口的状态数据发送至硬件控制器组件。
对硬件设备执行资源处理操作之后,主节点可通过硬件控制器判断对硬件设备执行资源处理操作之后的设定时长后,是否接收到接口服务组件发送的所述硬件设备的接口的状态数据。其中,该设定时长,指的是硬件设备接收到控制指令之后执行控制指令所需的时长。该设定的时长,可根据经验进行设置,例如可设置为2s、3s、5s等等,本实施例不做限制。
若执行该资源处理操作之后的设定时长后,硬件控制器组件仍旧接收到接口服务组件发送的该硬件设备的接口的状态数据,则可认为执行该资源处理操作之后的设定时长后,硬件设备仍旧未恢复到预期的运行状态。此时,主节点可通过硬件控制器组件,则重复执行对硬件设备的资源处理操作,直至硬件设备的接口的状态数据满足设定条件。
例如,在一种应用场景中,主节点通过接口服务组件监测到服务器A的风扇的转速低于设定转速范围的下限值,并通过服务器A对应的硬件控制器组件向服务器A发送将风扇转速重置为预期值的指令。若主节点通过硬件控制器组件向服务器A发送上述指令的5s后,主节点仍旧通过硬件控制器组件接收到了接口服务组件发送的服务器的风扇的转速低于设定转速范围的下限值的消息。那么,可认为上一次异常处理操作失败。主节点可再次通过硬件控制器组件向服务器发送将风扇转速重置为预期值的指令。若本次发送指令的5s后,主节点未通过接口服务组件监测到服务器的风扇的转速低于设定转速范围的下限值的消息,则可确定服务器的风扇的运行状态满足预期状态,可不再执行异常处理操作。
本申请上述以及下述各实施例提供的硬件资源管理方法中,集群虚拟化资源管理平台每次确定针对硬件设备的资源处理策略后,可通过终端设备与用户(例如运维人员、研发人员等)进行交互,从而向用户展示自动化硬件资源管理的策略并可接收用户的反馈信息。以下将进行示例性说明。
其中,终端设备可与集群虚拟化资源管理平台中的主节点建立通信连接,接收集群虚拟化资源管理平台的主节点发送的硬件设备的接口状态数据以及待执行的资源处理策略。其中,该硬件状态数据由所述主节点通过监测该硬件设备的接口获取,待执行的资源处理策略可以是预先部署在硬件控制器组件中的,具体可参考前述实施例的记载。
终端设备接收到硬件设备的接口状态数据以及待执行的资源处理策略后,可展示该接口状态数据以及处理策略,以供用户查看。可选地,该待执行的资源处理策略,包括:对该硬件设备进行异常处理的策略、在该硬件设备所在的资源池添加可用硬件设备的策略或者将该硬件设备从指定资源池中移除的策略,具体可参考前述实施例的记载。
用户可根据实际经验判断是否采用该处理策略对硬件设备执行对应的资源处理操作。若该处理策略可解决该接口状态数据指示的问题,则用户可确认该处理策略;响应用户针对该处理策略的确认操作,终端设备可向该主节点发送确认指令,以使得主节点根据该处理策略对硬件设备执行对应的资源处理操作。
若该处理策略无法解决该接口状态数据指示的问题,则用户可手动输入处理策略,以使得主节点可根据用户输入的资源处理策略对硬件设备执行对应的资源处理操作。
可选的,在这种实施方式中,主节点接收到用户的反馈后,根据接口状态数据以及实际执行的资源处理策略,自适应学习针对不同接口状态数据的资源处理策略,从而可对硬件控制器组件内置的资源处理策略进行动态更新。当接口服务组件再次检测到该接口状态数据时,可根据更新后的资源处理策略执行对应的资源处理操作,不再赘述。
前述各实施例提供的硬件资源管理方法,还可应用于云网融合系统中对移动通信网络对应的硬件设备进行管理。以下将进行示例性说明。
图3为本申请一示例性实施例提供的云网融合系统中的硬件资源管理方法的流程示意图,如图3所示,该方法包括:
步骤301、云网络中的集群虚拟化资源管理平台,通过接口服务组件,根据已注册的硬件设备的接口的信息,对所述硬件设备的接口进行监测;所述硬件设备上部署有云网络中的移动通信网络的网元。
步骤302、在监测到所述硬件设备的接口的状态数据不满足设定条件时,将所述硬件设备的接口的状态数据发送至所述集群虚拟化资源管理平台中的硬件控制器组件。
步骤303、通过所述硬件控制器组件,根据所述硬件设备的接口的状态数据以及所述硬件设备的资源处理策略,执行对应的资源处理操作。
本实施例中,如图4所示,云网融合系统包括:云网络,该云网络中部署有集群虚拟化资源管理平台以及移动通信网络中待管理的硬件设备。其中,该硬件设备上部署有移动通信网络中的网元。在一些实施例中,该网元可实现为移动通信网络中的核心网中的网元(即核心网中的功能实体)。
例如,当移动通信网络实现为5G网络时,硬件设备上部署的5G核心网(5G CoreNetwork,5GC)的网元可包括但不限于以下网络功能和实体:鉴权服务器功能(Authentication Server Function,AUSF)、用户平面功能(User plane Function,UPF)、接入和移动性管理功能(Access and Mobility Management Function,AMF)、统一数据管理(Unified Data Management,UDM)、网络开放功能(Network Exposure Function,NEF)、会话管理功能(Session Management Function,SMF)、网络切片选择功能(NetworkSliceSelection Function,NSSF)、网络存储功能(NF Repository Function,NRF)、策略控制功能(Policy Control function,PCF)、应用层功能(Application Function,AF)等网元,如图4所示。其中,每个网元可单独使用一套设备,或者,多个网元可共用一套硬件设备,本实施例不做限制。
本实施例的执行主体可以是集群虚拟化资源管理平台中的主节点。在一些实施例中,该集群虚拟化资源管理平台基于Kubernetes实现,以下实施例中将以Kubernetes为例进行示例性说明。Kubernetes集群中的主节点(即Master节点),该主节点可以是Kubernetes集群中的一台服务器,该服务器基于其上运行的Master组件,对Kubernetes集群中的各个节点实现控制、调度、管理等。其中,主节点上部署有接口服务组件(Application Programming Interface Server,APIServer)以及硬件控制器组件。
其中,APIServer是Kubernetes系统提供的用于对象的增、删、查、改、盯(监听)的服务端组件。在本实施例中,主节点可基于APIServer的盯(监听)的功能,实时获取硬件设备的运行状态。
在本实施例中,可预先在APIServer处注册硬件设备的接口的信息。进而,主节点可通过APIServer,根据已注册的硬件设备的接口的信息,对硬件设备的接口进行监测。在本实施例中,待检测的硬件设备,可以是Kubernetes集群中的硬件服务器以及交换机中的至少一种,还可以是路由器、网关设备等。本实施例不做限制。硬件设备的接口,可包括硬件设备的一个接口或者多个接口,本实施例不做限制。
APIServer监测到硬件设备的接口的状态数据不满足设定的条件时,可向订阅(subscribe)该接口的变化信息的硬件控制器组件发送该接口的状态数据。接口的状态数据用于表示硬件设备是否在预期状态下运行。硬件设备未在预期状态下运行时的接口的状态数据,可认为是不满足设定条件的状态数据。例如,接口的状态数据不满足设定条件可以包括:接口的状态数据大于或者小于期望值、接口未返回有效数据、接口的状态数据超出设定的数值范围等等。
在主节点中,控制器组件(Controller)用于负责维护集群的状态,比如故障检测、自动扩展、滚动更新等。其中,每个资源可对应一个控制器组件,每个控制器组件可通过APIServer实时监测各个资源的状态。当集群中的资源发生状态变化时,该资源对应的硬件控制器组件可尝试将该资源的状态调整到预期状态。例如,当集群中的资源因故障发生异常时,该资源对应的硬件控制器组件可尝试将该资源的状态由故障后的状态恢复到预期状态,以保证集群中的资源使始终处于期望状态。例如,当集群中的资源压力较大需要扩容时,该资源对应的硬件控制器组件可尝试自动进行资源扩展,以将其他可用的资源添加到可用的资源池中。又例如,当集群中的硬件资源处于空闲状态时,该硬件资源对应的硬件控制器组件可尝试自动进行资源缩减,以将该硬件资源从资源池中移除,从而优化集群资源分布。
在本实施例中,硬件控制器组件,指的是硬件资源在主节点中对应的控制器,即主节点中用于管控硬件的Controller。硬件控制器组件中内置有管理硬件设备的自动化程序。基于硬件控制器组件,可将集群中的硬件设备作为资源,当硬件设备的状态发生变化时,APIServer可基于硬件设备的接口的状态数据监测到该变化。硬件控制器组件可对该硬件设备的状态变化,执行对应的处理操作,以尝试将硬件设备的状态调整到预期状态。
在本实施例中,当Kubernetes集群中存在多个需要进行管理的硬件设备时,可在主节点上为每个硬件设备部署一个硬件控制器组件,以用于管理对应的硬件设备。也可在主节点上为多个硬件设备部署同一个硬件控制器组件。例如,在一些实施例中,Kubernetes集群中待管理的硬件设备包括:多台硬件服务器设备以及多台交换机设备。相应地,主节点中可部署有每台硬件服务器对应的硬件控制器组件以及每台交换机设备对应的硬件控制器组件。
其中,硬件控制器组件,接收到APIServer发送的硬件设备的接口的状态数据后,可根据该接口的状态数据以及硬件设备的资源处理策略,对该硬件设备执行对应的资源处理操作。其中,资源处理策略,可以是预先通过主节点对应的客户端配置的。在部署硬件控制器组件时,可根据资源处理策略,定制硬件控制器的执行逻辑,以使得硬件控制器组件可自动执行资源处理策略。其中,资源处理策略可包括:硬件设备的异常处理策略、在硬件设备所在的资源池添加可用硬件设备的策略,或者,将硬件设备从指定资源池中移除的策略等等,本实施例包含但不限于此。其中,硬件设备的类型不同时,异常处理策略可以不同;硬件设备的异常类型不同时,异常处理策略也可以不同,将在后续实施例中进行具体介绍,此处不赘述。
在本实施例中,云网络中的集群虚拟化资源管理平台的主节点部署有接口服务组件以及硬件控制器组件,主节点可基于接口服务组件,根据已注册的、部署有移动通信网络的网元的硬件设备的接口的信息,对硬件设备的接口进行监测,并在监测到该硬件设备的接口的状态数据不满足设定条件时,将该硬件设备的接口的状态数据发送至硬件控制器组件。主节点可基于硬件控制器组件,根据硬件设备的接口的状态数据以及硬件设备的资源处理策略,对该硬件设备执行对应的资源处理操作。进而,在集群虚拟化资源管理平台中实现了移动通信网络的网元对应的硬件设备的自动化运维,无需额外部署专门的硬件管理系统,有利于降低云网融合系统中对移动通信所需的硬件设备的管理成本,并提升移动通信网络中的硬件设备的管理效率。
同时,基于上述实施例,可根据管理需求在主节点上部署软件管理器组件(即网元管理组件),从而,主节点对应的客户端可作为软件管理器组件和硬件管理器组件的编辑以及管理操作的统一入口,可避免硬件和软件的管控界面分离,有利于简化软件、硬件的管控操作。即,用户可在统一的界面上实现对网元的管理以及对部署有网元的硬件设备的管理,从而实现移动通信网络中的软件、硬件的联合管控操作。
在本申请的上述以及下述各实施例中,向主节点添加待管理的部署有移动通信网络中的网元的硬件设备时,主节点对应的客户端可生成硬件设备对应的硬件资源配置文件,并将该硬件资源配置文件发送至主节点。主节点通过解析该硬件资源配置文件,获取待管理的硬件设备的接口的信息,具体可参考前述实施例的记载,此处不再赘述。
在一些示例性的实施例中,硬件资源配置文件中,可包括硬件设备的接口的期望值。其中,该期望值,可以是一个具体的数值,可以是多个数值,也可以是一个或者多个数值范围,本实施例不做限制。例如,在一些场景中,对服务器设备而言,其风扇接口的期望值可以是风扇的转速,或者,风扇的转速的范围。在另一些场景中,对交换机设备而言,其波特率接口的期望值可以是具体的波特率值,也可以是波特率的范围,不再赘述。
基于此,接口服务组件在监测到硬件设备的接口的状态数据时,可判断硬件接口的状态数据与硬件设备的接口的期望值是否匹配。若硬件接口的状态数据与硬件设备的接口的期望值匹配,则可确定硬件设备处于正常的运行状态下。若硬件接口的状态数据与硬件设备的接口的期望值不匹配,则可确定硬件设备出现了异常,此时接口服务组件可将硬件设备的接口的状态数据发送至硬件控制器组件。
可选地,将硬件设备以CRD的方式扩展为API资源时,硬件控制器组件可预先向接口服务组件订阅该硬件设备对应的CRD资源变更信息。对接口服务组件来说,硬件设备的接口的状态数据与期望值不同时,可认为该硬件设备对应的CRD资源发生可变化。此时,可向订阅该CRD资源变更信息的硬件控制器组件发送该CRD资源的变化值,即该硬件设备的接口的状态数据。
在这种实施方式中,用户可通过硬件资源配置文件配置硬件设备的接口的期望值,可实现硬件设备灵活管控。其中,对硬件设备的管控,可包括:对网元所在的硬件设备进行自动化异常处理、自动化资源扩展以及自动化资源缩减等等。以下将结合具体的例子进行说明。
例如,在一种云网融合系统中,主节点可通过5G核心网的多个网元所在的服务器的接口,监测该多个网元所在的服务器的状态。若主节点通过接口服务组件监测到网元a所在的服务器A的内存的占用率大于设定占用率阈值,则主节点可通过服务器A对应的硬件控制器组件向服务器A发送释放空闲内存的指令。若主节点通过接口服务组件监测服务器A的风扇的转速小于设定的转速阈值,则主节点可通过服务器A对应的硬件控制器组件向服务器A发送重置风扇转速的指令,以确保服务器A的良好散热。
若主节点通过接口服务组件监测到网元b所在的服务器B处于空载状态,则主节点可通过服务器B对应的硬件控制器组件向服务器B发送退出网元b对应的资源池的指令,以优化资源利用情况。
若主节点通过接口服务组件监测到当网元c所在的服务器C的访问压力大于设定压力阈值时,则主节点可通过服务器C对应的硬件控制器组件向可用的服务器D发送加入网元c对应的资源池的指令,以进行资源扩展。
基于上述实施例,在云网融合系统中,集群虚拟化资源管理平台可实现对移动通信网络中的网元所在的硬件设备进行自动化运维,加大降低了运维成本。
图3以及图4所示的云网融合系统中的硬件资源管理方法,可应用在直播场景中。在直播场景中,图4所示的云网融合系统可通过移动通信网络执行直播流的传输操作。当直播流量较大时,移动通信网络承载较大的传输压力。在这种情况下,可基于图3示意的方法,扩增移动通信网络中的用于数据传输的硬件资源。
云网络中的集群虚拟化资源管理平台,可通过接口服务组件,根据已注册的硬件设备的接口的信息,对该硬件设备的接口进行监测。该硬件设备上部署有云网络中的移动通信网络的网元。在基于移动通信网络提供直播服务的过程中,当网元所在的硬件设备的压力较大时,接口服务组件可通过硬件设备的接口监测到硬件设备的接口状态数据。例如,CPU利用率、硬盘利用率、内存利用率、带宽占用率等等。若接口状态数据不满足设定条件,则接口服务组件可将该硬件设备的接口的状态数据发送至该硬件设备的硬件控制器组件。例如,当CPU利用率、硬盘利用率、内存利用率以及带宽占用率中的至少一种接口状态数据大于各自对应的利用率阈值时,接口服务组件可认为监听到了硬件资源变化,并可将监听到的上述接口状态数据发送至该硬件设备的硬件控制器组件。
硬件控制器组件可根据该硬件设备的接口的状态数据以及硬件设备的资源处理策略,增加直播服务所需的硬件资源。例如,当接口状态数据指示CPU利用率、硬盘利用率、内存利用率以及带宽占用率中的至少一种接口状态数据大于各自对应的利用率阈值时,可认为该服务器的访问压力较大,此时可执行硬件设备的扩展策略。硬件控制器组件可向其他可用的服务器发送加入直播服务对应的资源池的指令,以实现直播服务的硬件资源扩容。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
图5示意了本申请一示例性实施例提供的服务器的结构示意图,该服务器可实现为集群虚拟化资源管理平台中的主节点。如图5所示,该服务器包括:存储器501以及处理器502。
存储器501,用于存储计算机程序,并可被配置为存储其它各种数据以支持在服务器上的操作。这些数据的示例包括用于在服务器上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
其中,存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器502,与存储器501耦合,用于执行存储器501中的计算机程序,以用于:通过接口服务组件,根据已注册的硬件设备的接口的信息,对所述硬件设备的接口进行监测,并在监测到所述硬件设备的接口的状态数据不满足设定条件时,将所述硬件设备的接口的状态数据发送至所述硬件控制器组件;通过所述硬件控制器组件,根据所述硬件设备的接口的状态数据以及所述硬件设备的资源处理策略,执行对应的资源处理操作。
进一步可选地,处理器502在通过所述接口服务组件,根据已注册的硬件设备的接口的信息,对所述硬件设备的接口进行监测之前,还用于:通过所述接口服务组件,接收客户端发送的硬件资源配置文件,所述硬件资源配置文件包含待管理的硬件设备的接口的信息。
进一步可选地,所述硬件资源配置文件还包括:所述硬件设备的接口的期望值;处理器502在在监测到所述硬件设备的接口的状态数据不满足设定条件时,将所述硬件设备的接口的状态数据发送至所述硬件控制器组件时,具体用于:将所述硬件设备的接口的状态数据与所述硬件设备的接口的期望值进行对比;若所述硬件设备的接口的状态数据与所述硬件设备的接口的期望值不匹配,则将所述硬件设备的接口的状态数据发送至所述硬件控制器组件。
进一步可选地,所述主节点还包括:适配器组件;处理器502在通过所述硬件控制器组件,根据所述硬件设备的接口的状态数据以及所述硬件设备的资源处理策略,执行对应的资源处理操作时,具体用于:通过所述硬件控制器组件,根据所述硬件设备的接口的状态数据以及所述硬件设备的资源处理策略,确定对所述硬件设备的控制指令;通过所述硬件控制器组件,将所述控制指令发送至所述适配器组件;通过所述适配器组件,对所述控制指令进行协议转换,得到与所述硬件设备遵循的协议匹配的目标控制指令;通过所述适配器组件,将所述目标控制指令发送至所述硬件设备。
进一步可选地,所述控制指令包括:下电指令、硬件设备重启指令、接口重启指令以及期望值重置指令中的至少一种。
进一步可选地,若所述目标指令为所述下电指令或所述硬件设备重启指令,则处理器502在通过所述硬件控制器组件,将所述控制指令发送至所述适配器组件之前,还用于:通过所述硬件控制器组件,向所述接口服务组件发送针对所述硬件设备上的应用软件的迁移指令;通过所述接口服务组件,向所述应用软件关联的目标控制器组件发送所述迁移指令,以使所述目标控制器组件将所述应用软件从所述硬件设备迁出。
进一步可选地,处理器502在通过所述硬件控制器组件,根据所述硬件设备的接口的状态数据以及所述硬件设备的资源处理策略,执行对应的资源处理操作之后,还用于:通过所述硬件控制器组件,判断执行所述处理操作之后的设定时长后,是否接收到所述接口服务组件发送的所述硬件设备的接口的状态数据;若为是,则重复执行对所述硬件设备的处理操作,直至所述硬件设备的接口的状态数据满足所述设定条件。
进一步可选地,所述硬件设备,包括:硬件服务器设备或交换机设备。
进一步,如图5所示,该服务器还包括:通信组件503、电源组件504等其它组件。图5中仅示意性给出部分组件,并不意味着服务器只包括图4所示组件。
其中,通信组件503被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,电源组件504,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本实施例中,集群虚拟化资源管理平台中的主节点部署有接口服务组件以及硬件控制器组件,主节点可基于接口服务组件,根据已注册的硬件设备的接口的信息,对硬件设备的接口进行监测,并在监测到该硬件设备的接口的状态数据不满足设定条件时,将该硬件设备的接口的状态数据发送至硬件控制器组件。主节点可基于硬件控制器组件,根据硬件设备的接口的状态数据以及硬件设备的资源处理策略,对该硬件设备执行对应的资源处理操作。进而,在集群虚拟化资源管理平台中实现了硬件设备的自动化运维,无需额外部署专门的硬件管理系统,有利于降低硬件设备的管理成本,并提升硬件设备的管理效率。
图5所示的服务器还可在云网融合系统中执行硬件资源管理,其中,该云网融合系统包括:云网络,所述云网络中部署有集群虚拟化资源管理平台以及移动通信网络中待管理的硬件设备,所述硬件设备上部署有移动通信网络中的网元;所述集群虚拟化资源管理平台的主节点部署有:接口服务组件以及硬件控制器组件。处理器502具体用于:通过所述接口服务组件,根据已注册的硬件设备的接口的信息,对所述硬件设备的接口进行监测,并在监测到所述硬件设备的接口的状态数据不满足设定条件时,将所述硬件设备的接口的状态数据发送至所述硬件控制器组件;通过所述硬件控制器组件,根据所述硬件设备的接口的状态数据以及所述硬件设备的资源处理策略,执行对应的资源处理操作。
进一步可选地,处理器502在通过所述接口服务组件,根据已注册的硬件设备的接口的信息,对所述硬件设备的接口进行监测之前,还用于:通过所述接口服务组件,接收客户端发送的硬件资源配置文件,所述硬件资源配置文件包含待管理的硬件设备的接口的信息。
进一步可选地,所述硬件资源配置文件还包括:所述硬件设备的接口的期望值;处理器502在在监测到所述硬件设备的接口的状态数据不满足设定条件时,将所述硬件设备的接口的状态数据发送至所述硬件控制器组件时,具体用于:将所述硬件设备的接口的状态数据与所述硬件设备的接口的期望值进行对比;若所述硬件设备的接口的状态数据与所述硬件设备的接口的期望值不匹配,则将所述硬件设备的接口的状态数据发送至所述硬件控制器组件。
在这种实施方式中,在云网融合系统中,基于集群虚拟化资源管理平台实现了对移动通信网络中的网元所在的硬件设备进行自动化运维,加大降低了运维成本。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述实施例中可由服务器执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,其中,当计算机程序被处理器执行时,致使处理器实现上述实施例中可由服务器执行的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。