掌桥专利:专业的专利平台
掌桥专利
首页

资源调度方法、通信系统、设备及存储介质

文献发布时间:2024-04-18 19:58:53


资源调度方法、通信系统、设备及存储介质

技术领域

本申请涉及互联网技术领域,尤其涉及一种资源调度方法、通信系统、设备及存储介质。

背景技术

机顶盒或机上盒,又可称作数字视频变换盒(Set Top Box,STB),是一个连接电视机与外部信号源的设备。它可以将压缩的数字信号转成电视内容,并在电视机上显示出来。随着通信、互联网技术的发展,以及三网融合时代到来,机顶盒也朝着智能化方向发展。发展至今,机顶盒数量高达到亿级,设备种类繁多,性能层次不齐。在此情况下,如此繁多的新老设备,也对广电运营商在机顶盒上的信息投放产生了阻塞。

随着通信、云计算技术的发展,借助云计算技术,可在云端模拟机顶盒运行环境,并通过流化服务的方式,为本地机顶盒提供应用服务。用户在硬件能力较弱的老旧设备上,也可以流畅获取广电媒体资源,摆脱对本地机顶盒能力的强依赖。

发明内容

本申请的多个方面提供一种资源调度方法、通信系统、设备及存储介质,用以提供一种新的云端机顶盒并实现新的云端机顶盒的资源调度。

本申请实施例提供一种资源调度方法,适用于通信系统中的管控节点;所述通信系统还包括:第一资源组和第二资源组;所述第一资源组包括:至少一台服务设备;所述第二资源组包括:至少一台云服务器;其中,所述管控节点和所述第二资源组部署于公有云网络;所述第一资源组部署于用户机房的私有网络;所述私有网络与所述公有云网络通信连接;所述第一资源组和所述第二资源组由所述管控节点统一调度;所述服务设备和所述云服务器中部署有机顶盒的应用启动器对应的容器实例;

所述方法包括:

响应于所述用户机房中的机顶盒服务设备发送的启动器请求,获取所述第一资源组的容器水位和所述第二资源组的容器水位;

从所述第一资源组和所述第二资源组中,确定容器水位满足设定的第一水位要求的目标资源组;所述目标资源组包括:所述第一资源组和/或所述第二资源组;

在所述目标资源组包括所述第一资源组的情况下,从所述第一资源组的容器实例中,调度空闲的目标容器实例为所述机顶盒服务设备提供所述应用启动器所需数据。

本申请实施例还提供一种通信系统,包括:管控节点、第一资源组和第二资源组;所述第一资源组包括:至少一台服务设备;所述第二资源组包括:至少一台云服务器;其中,所述管控节点和所述第二资源组部署于公有云网络;所述第一资源组部署于用户机房的私有网络;所述私有网络与所述公有云网络通信连接;

所述第一资源组和所述第二资源组由所述管控节点统一调度;所述服务设备和所述云服务器中部署有机顶盒的应用启动器对应的容器实例;

所述用户机房还包括:机顶盒服务设备;所述机顶盒服务设备用于向所述管控节点发送启动器请求;

所述管控节点用于执行权利要求上述资源调度方法中的步骤。

本申请实施例还提供一种计算设备,包括:存储器、处理器及通信组件;其中,所述存储器,用于存储计算机程序;

所述处理器耦合至所述存储器及所述通信组件,用于执行所述计算机程序以用于执行权利要求上述资源调度方法中的步骤。

本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求上述资源调度方法中的步骤。

在本申请实施例中,本申请实施例提供一种新的云端机顶盒,包括:位于用户机房的私有网络中的第一资源组及位于公有云网络中的第二资源组,第一资源组和第二资源组部署有机顶盒的应用启动器,且第一资源组和第二资源组由公有云网络中的管控节点统一调度。其中,在资源调度时,可根据第一资源组的容器水位和第二资源组的容器水位,确定容器水位满足水位要求的目标资源组;且在目标资源组包括第一资源组的情况下,优先从第一资源组调度空闲的容器实例提供应用启动器所需数据。一方面,由于第一资源组部署于用户机房的私有网络,相较于位于公有云网络中的第二资源组,可提供更快的应用启动器服务,降低应用启动器的请求的响应延时。另一方面,由于第一资源组为用户预先购买的,公有云中的第二资源组是需要用户按量及使用时间付费的,因此,优先调度预先付费的第一资源组的资源,可降低用户的使用成本。而且,应用启动器所需的数据在用户机房,可满足用户对数据安全性的需求。

此外,本申请实施例提供的云端机顶盒,还可将原来运行在用户本地机顶盒内越来越复杂的应用软件,迁移至云端运行,消除本地机顶盒的硬件差异,较低对机顶盒的硬件要求,可在不替换所有机顶盒的前提下,让用户体验到新的应用,满足客户的运营推广需求。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为传统网络电视系统的结构示意图;

图2为本申请实施例提供的通信系统的结构示意图;

图3为本申请实施例提供的应用启动器的桌面示意图;

图4为本申请实施例提供的通信系统的又一结构示意图;

图5为本申请实施例提供的通信系统的资源调度过程示意图;

图6为本申请实施例提供的云服务器动态伸缩过程示意图;

图7为本申请实施例提供的资源调度方法的流程示意图;

图8为本申请实施例提供的计算设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示,当前网络电视系统,通常使用本地的机顶盒作为应用启动器(Launcher)的运行设备。机顶盒一端连接本地显示设备,如电视;一端连接网络,向广播电视数据中心完成认证鉴权后,从广播电视数据中心获取媒体资源,并通过本地显示设备播放媒体资源。因此,机顶盒作为一个本地化的设备,支撑用户侧的操作行为。

现有机顶盒数量高达到亿级,设备种类繁多,性能层次不齐。在此情况下,如此繁多的新老设备,也对广电运营商在机顶盒上的信息投放、功能和体验升级产生了阻塞,主要表现在以下几个方面:第一,非智能机顶盒存量大,阻碍行业创新。用户只能通过传统方式观看电视节目,应用模式单一,用户体验不佳;第二,无法安装新应用和新体验。现存机顶盒终端中,老旧的机顶盒终端因性能或系统的限制,无法安装时下主流新应用,用户体验受限;第三,机顶盒的运维管理出现瓶颈。现网中存在多家设备厂商的几百款硬件型号机顶盒,多个后台平台共存,给用户带来服务体验不一致的同时,也造成了设备统一运维成本过高的问题。鉴于以上情况,在设备保有量如此巨大的情况下,更换机顶盒终端将带来巨大的成本开销。

随着通信、云计算技术的发展,借助云计算技术,可在云端模拟机顶盒运行环境,并通过流化服务的方式,为用户本地机顶盒提供应用服务。这种云端机顶盒,无需用户更换本地的机顶盒,在有新应用时,可由云端机顶盒将新应用的视频流推送至用户本地。因此,用户无需更换本地机顶盒,也可体验新应用。用户在硬件能力较弱的现有机顶盒设备上,也可以流畅获取广电媒体资源,摆脱对本地硬件能力的强依赖。

本申请实施例提供一种新的云端机顶盒,包括:位于用户机房的私有网络中的第一资源组及位于公有云网络中的第二资源组,第一资源组和第二资源组部署有机顶盒的应用启动器,且第一资源组和第二资源组由公有云网络中的管控节点统一调度。其中,在资源调度时,可根据第一资源组的容器水位和第二资源组的容器水位,确定容器水位满足水位要求的目标资源组;且在目标资源组包括第一资源组的情况下,优先从第一资源组调度空闲的容器实例提供应用启动器所需数据。一方面,由于第一资源组部署于用户机房的私有网络,相较于位于公有云网络中的第二资源组,可提供更快的应用启动器服务,降低应用启动器的请求的响应延时。另一方面,由于第一资源组为用户预先购买的,公有云中的第二资源组是需要用户按量及使用时间付费的,因此,优先调度预先付费的第一资源组的资源,可降低用户的使用成本。而且,应用启动器所需的数据在用户机房,可满足用户对数据安全性的需求。

此外,本申请实施例提供的云端机顶盒,还可将原来运行在用户本地机顶盒内越来越复杂的应用软件,迁移至云端运行,消除本地机顶盒的硬件差异,较低对机顶盒的硬件要求,可在不替换所有机顶盒的前提下,让用户体验到新的应用,满足客户的运营推广需求。

以下结合附图,详细说明本申请各实施例提供的技术方案。

应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。

图2为本申请实施例提供的通信系统的结构示意图。如图2所示,该通信系统主要包括:管控节点10、第一资源组20和第二资源组30。在本实施例中,管控节点10和第二资源组30部署于公有云网络。第二资源组30的数量可为1个或多个。多个是指2个或2个以上。每个第二资源组30包括:至少一台云服务器301。其中,云服务器301为弹性扩展的基础设施即服务(Infrastructure as a Service,IaaS)级别的云计算服务。云服务器可免去客户采购硬件的前期准备,让用户便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。云服务器301可根据用户实际资源需求灵活进行弹性伸缩。

其中,第一资源组20部署于用户机房的私有网络中。第一资源组20的数量可为1个或多个。多个是指2个或2个以上。每个第一资源组20包括:至少一台服务设备201。一般服务设备201为多台。多台是指2台或2台以上。第一资源组20及每个第一资源组20包含的服务设备201的数量及规格,均由用户机房的所有者购买定制后,部署到用户机房。因此,一般第一资源组20及服务设备201的数量一旦部署到用户机房,是固定不变的,不支持弹性伸缩。

在本实施例中,用户机房可为机顶盒服务设备40所在的机房,如广播电视运营商的机房。私有网络可为虚拟私有云(Virtual Private Cloud,VPC)网络。

用户机房向机顶盒的用户(普通用户)提供媒体资源,通过机顶盒在用户本地的显示设备上播放。在本实施例中,为了实现媒体资源的本地化存储,在用户机房本地部署第一资源组20。

第一资源组20为将公有云的计算、存储、网络等基础设施以软硬一体方式,延伸部署到用户的本地机房,满足数据安全、数据本地处理、低延时等需求的全托管云服务。第一资源组20是公有云在用户的本地数据中心的延伸,是在用户本地机房或互联网数据中心(Internet Data Center,IDC)部署的由公有云纳管的基础设施资源,并由公有云中的管控节点10对第一资源组20进行管理和维护。

在本实施例中,第一资源组20和第二资源组30构成新的云端机顶盒。具体地,第一资源组20的服务设备201中及第二资源组30的云服务器301中,均部署有机顶盒的应用启动器(Launcher)对应的容器实例。容器实例可为Docker容器,如容器组(如Pod)等。

应用启动器为传统机顶盒中安装的应用程序,用于启动其它应用。其它应用可为提供媒体资源的应用。应用启动器的桌面可如图3所示,用户可通过操作应用启动器的桌面启动其它应用程序,如图3的A-D应用等。

本实施例提供的新的云端机顶盒,可利用第一资源组实现视频数据的本地存储,满足用户对数据安全性的需求;通过第二资源组对家庭机顶盒引入其他新型应用服务,如视频类应用、游戏类应用等,避免了老旧机顶盒的硬件更换,可降低机顶盒的更换成本。通过公有云中的管控节点10,可在云端完成机顶盒的软件升级和统一运维管理,实现降本增效。

在本实施例中,用户机房的私有网络与公有云网络通信连接。在一些实施例中,私有网络与公有云网络之间可通过虚拟网卡进行通信连接。其中,虚拟网卡为私有网络(如VPC)中的虚拟网络接口,用于连接云服务器与私有网络。

第一资源组20和第二资源组30由管控节点10统一调度。管控节点10可通过对第一资源组20和第二资源组30进行混合调度,向设置于用户机房的机顶盒服务设备40提供应用启动器服务。

在第一资源组20和第二资源组30向机顶盒服务设备40提供应用启动器服务之前,还需在第一资源组20和第二资源组30中部署应用启动器对应的容器实例。由于第一资源组20是用户机房的所有者(如广播电视运营商)购买定制的,第一资源组20提供的资源是固定不变的,因此,第一资源组20中最多可部署的容器实例的数量,是不能弹性扩展的。

对于第一资源组20,管控节点10可在第一资源组20中的服务设备201上部署应用启动器对应的容器实例。具体地,如图4所示,用户机房的私有网络中可部署有容器服务节点202。管控节点10可通过控制容器服务节点202,在服务设备201上部署容器实例。

具体地,管控节点10可控制容器服务节点202,进行容器实例初始化,主要包括:准备虚拟网卡等相关组件以及写入环境信息。进一步,管控节点10还可控制容器服务节点202进行容器环境初始化,并在容器环境中安装应用启动器,以得到应用启动器对应的容器实例。同一应用启动器对应的容器实例占用的资源是相同的,每台服务设备201上部署的容器实例的数量是一定的。

对于第二资源组30,管控节点10可在第二资源组30中的云服务器301上部署应用启动器对应的容器实例。具体地,如图4所示,公有云网络中部署有容器服务节点302。管控节点10可通过控制容器服务节点302,在云服务器301上部署容器实例。云服务器301是具有一定资源规格的,云服务器301上可部署的容器实例也是有一定限制的。

云服务器301是支持弹性伸缩的,可根据实际资源需求,对云服务器301进行动态伸缩。相应地,如图4所示,公有云网络中还部署有实例管控节点303。管控节点10可通过实例管控节点303,对云服务器301进行动态伸缩。关于对云服务器进行动态伸缩的具体实施方式,将在下文实施例中进行详述,在此暂不赘述。

基于第一资源组20及第二资源组30中部署的应用启动器对应的容器实例,本申请实施例提供相应地混合调度方法,下面进行具体说明。

如图2所示,机顶盒服务设备40可根据实际需求,向管控节点10发送启动器请求。该启动器请求用于请求机顶盒的应用启动器。在一些实施例中,机顶盒可在启动过程中,向机顶盒服务设备40请求应用启动器。相应地,机顶盒服务设备40可响应于该请求,向管控节点10发送启动器请求。

结合图2和图5,管控节点10可响应于启动器请求,获取第一资源组20的容器水位和第二资源组30的容器水位。在本申请实施例中,容器水位可为已使用的容器实例的水位,即已使用的容器实例占全部容器实例的比例。相应地,第一资源组20的容器水位,可用第一资源组20中已使用的容器实例占第一资源组20中全部容器实例的比例表征。第二资源组30的容器水位,可用第二资源组30中已使用的容器实例占第二资源组30中全部容器实例的比例表征。

当然,容器水位也可为未使用容器(即空闲容器)的水位,即未使用容器(即空闲容器)占全部容器实例的比例。相应地,第一资源组20的容器水位,可用第一资源组20中未使用容器占第一资源组20中全部容器实例的比例表征。第二资源组30的容器水位,可用第二资源组30中未使用容器占第二资源组30中全部容器实例的比例表征。

不管容器水位是已使用的容器实例的水位,还是未使用容器的水位,均可表征资源组(第一资源组或第二资源组)中可调度的容器实例的情况,基于此,管控节点10可根据第一资源组20的容器水位和第二资源组30的容器水位,从第一资源组20和第二资源组30中确定容器水位满足设定的第一水位要求的目标资源组。其中,目标资源组可能全部为第一资源组,也可能全部为第二资源组;当然,也可能既包括第一资源组,也包括第二资源组。即目标资源组包括:第一资源组和/或第二资源组,具体包括哪些资源组由资源组的容器水位是否满足设定的第一水位要求决定。目标资源组具有空闲的容器实例,为机顶盒服务设备40提供应用启动器所需数据。

其中,容器水位的表征方式不同,对应的设定的第一水位要求不同。在一些实施例中,容器水位以上述已使用的容器实例的水位表征,则设定的第一水位要求可实现为:资源组中已使用的容器实例的水位小于设定的第一水位阈值。即资源组中已使用的容器实例的水位,小于设定的第一水位阈值,则确定该资源组满足设定的第一水位要求,可确定为目标资源组。第一水位阈值可根据实际需求进行灵活设置。一般地,第一水位阈值大于50%,第一水位阈值可为50%-100%之间的任意值。例如,第一水位阈值可为70%、75%、80%、90%或者100%等。

相应地,管控节点10可根据第一资源组中已使用的容器实例的水位和第二资源组中已使用的容器实例的水位,从第一资源组和第二资源组中确定已使用的容器实例的水位小于设定的第一水位阈值的资源组,作为目标资源组。即图5中的水位调度。

在一些实施例中,容器水位以上述空闲的容器实例的水位表征,则设定的第一水位要求可实现为:资源组中空闲的容器实例的水位大于设定的第一水位阈值。即资源组中空闲的容器实例的水位,大于设定的第一水位阈值,则确定该资源组满足设定的第一水位要求,可确定为目标资源组。第一水位阈值可根据实际需求进行灵活设置。一般地,第一水位阈值小于50%,可为0%-50%之间的任意值。如第一水位阈值可为0%、5%、10%、20%、30%或者40%等。

相应地,管控节点10可根据第一资源组中空闲的容器实例的水位和空闲的容器实例的水位,从第一资源组和所述第二资源组中确定已使用的容器实例的水位大于设定的第一水位阈值的资源组,作为目标资源组。

目标资源组具有空闲的容器实例,为机顶盒服务设备40提供应用启动器所需数据。应用启动器所需数据主要是指应用启动器的首页的投放内容数据。由于第一资源组20部署在用户机房的私有网络中,具有用户本地服务的优势。一是,第一资源组20相较于位于公有云网络中的第二资源组30,可提供更快的应用启动器服务,降低响应延时。二是,第一资源组20部署于用户机房的私有网络,可满足用户对数据安全性的需求。因此,可设置第一资源组的调度优先级高于第二资源组,在资源调度时,优先调度第一资源组中的容器实例,即图5中的“优先级调度”。基于此,若目标资源组包括第一资源组20,则可从确定为目标资源组的第一资源组中,调度空闲的目标容器实例为机顶盒服务设备40提供应用启动器所需数据。这样,一方面,由于第一资源组20部署于用户机房的私有网络,相较于位于公有云网络中的第二资源组30,可提供更快的应用启动器服务,降低应用启动器的请求的响应延时。而且,第一资源组部署于用户机房的私有网络,可满足用户对数据安全性的需求。另一方面,由于第一资源组20为用户预先购买的,公有云中的第二资源组是需要用户按量及使用时间付费的,因此,优先调度预先付费的第一资源组的资源,可降低用户的使用成本。

相应地,若目标资源组不包括第一资源组,则管控节点10可从确定为目标资源组的第二资源组中,调度空闲的目标容器实例为机顶盒服务设备40提供应用启动器所需数据。

具体地,目标容器实例可将目标容器实例的实例信息发送至机顶盒服务设备40(对应图5中的“应用数据传输”)。其中,目标容器实例的实例信息可包括:目标容器实例的网际协议(Internet Protocol,IP)地址及验证信息等。机顶盒服务设备40可基于目标容器实例的实例信息与目标容器实例建立通信连接,之后,从目标容器实例获取应用启动器对应的流化数据。进一步,机顶盒服务设备40可将应用启动器对应的流化数据提供至机顶盒(附图中未示出),机顶盒可渲染应用启动器对应的流化数据,以在显示设备上展示应用启动器的桌面(如图3所示)。机顶盒的用户可通过操作应用启动器的桌面,启动其它应用。

在本申请实施例中,除了提供位于用户机房的私有网络中的第一资源组和位于公有云网络中的第二资源组的混合资源调度方式之外,用户机房的所有者,即云端机顶盒的用户,也可指定使用的资源组(对应图5中的“指定资源调度”)。相应地,启动器请求可包括:指定使用的资源组的标识。该指定使用的资源组可为第一资源组或第二资源组。相应地,在启动器请求包括指定使用的资源组的标识的情况下,管控节点10还可根据指定使用的资源组的标识,获取指定使用的资源组的容器水位;在指定使用的资源组的容器水位满足上述设定的第一水位要求的情况下,从指定使用的资源组中,调度空闲的容器实例为机顶盒服务设备40提供应用启动器所需数据(对应图5中的“指定资源调度”)。

相应地,若指定使用的资源组的容器水位不满足上述设定的第一水位要求,可向机顶盒服务设备40返回资源不足提示信息等。当然,若指定使用的资源组的容器水位不满足上述设定的第一水位要求,管控节点10也可采用上述用户机房的私有网络中的第一资源组和位于公有云网络中的第二资源组的混合资源调度方式,确定目标容器实例,具体确定过程可参见上述实施例的相关内容,在此不再赘述。

若启动器请求不包括指定使用的资源组的标识,则可采用上述用户机房的私有网络中的第一资源组和位于公有云网络中的第二资源组的混合资源调度方式,确定目标容器实例,具体确定过程可参见上述实施例的相关内容,在此不再赘述。

如图5所示,在一些实施例中,还可采用指定环境的资源调度方式,即图5中“指定环境调度”。指定环境是指指定目标资源组的使用环境是线上环境,还是测试环境。用户机房的所有者,即云端机顶盒的用户,可指定使用环境。启动器请求中携带有指定使用环境。管控节点10还可根据指定使用环境,从第一资源组和第二资源组中,获取使用环境为指定使用环境的资源组;在使用环境为指定使用环境的资源组的容器水位满足上述设定的第一水位要求的情况下,从使用环境为指定使用环境的资源组中,调度空闲的容器实例为机顶盒服务设备40提供应用启动器所需数据。若使用环境为指定使用环境的资源组包括第一资源组,则从第一资源组中,调度空闲的容器实例为机顶盒服务设备40提供应用启动器所需数据。

如图5所示,管控节点10在响应启动器请求之前,还可对用户信息进行校验。具体地,管控节点10可从启动器请求中,获取用户信息;并对用户信息进行校验。可选地,管控节点10可将启动器请求中携带的用户信息,在预先存储的已注册的用户信息中进行查询;若在已注册的用户信息中查询到启动器请求中携带的用户信息,则确定启动器请求中携带的用户信息通过校验。进一步,可获取该用户申请的资源信息(即图5中的用户资源信息),可包括:申请使用的云服务器的规格,及第一资源组中服务设备的规格等。在资源调度时,为该用户分配的资源不超过该用户申请的资源信息。当然,还可获取该用户的用户调度规则,即用户设置的调度规则是水位调度、指定资源调度、指定环境调度及优先级调度中的具体何种调度方式。

本申请实施例除了提供基于新的云端机顶盒的资源调度方式之外,本申请实施例提供的通信系统,也支持公有云中云服务器的动态伸缩。相应地,如图6所示,管控节点10可监测云服务器扩容事件;在监测到发生云服务器扩容事件的情况下,在公有云网络中扩展新的目标云服务器(即图6中的“云服务器生产”);以及,在目标云服务器上创建应用启动器对应的容器实例。其中,在目标云服务器上创建应用启动器对应的容器实例可包括:实例初始化、容器环境初始化、应用启动器安装(即图6中的“应用安装”)及容器拉起等步骤。其中,关于实例初始化、容器环境初始化、应用启动器安装及容器拉起的描述,可参见上述实施例的相关内容,在此不再赘述。进一步,在容器实例创建完成后,可将目标云服务器上线,供管控节点10调度,即图6中的“节点上线”。

在本申请实施例中,不限定云服务器扩容事件的具体实施方式。在一些实施例中,通信系统支持水位扩容。相应地,管控节点10可监测第一资源组与第二资源组的整体容器水位。在监测到整体容器水位满足设定的第二水位要求的情况下,确定监测到云服务器扩容事件。

其中,第一资源组与第二资源组的整体容器水位,可为第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的整体水位,可用第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的总数量,占第一容器组中容器实例和第二容器组中容器实例的总数量的比例进行表征。相应地,第二水位要求可实现为:第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的整体水位,大于或等于设定的第二水位阈值。第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的整体水位,大于或等于设定的第二水位阈值,可表征通信系统中的空闲的容器实例不足,因此,需要扩展新的云服务器来部署新的容器实例。在该实施例中,不限定第二水位阈值的具体取值,一般地,第二水位阈值大于50%,可为50%-100%的任意值。例如,第二水位阈值可为70%、75%、80%、90%或者100%等。

相应地,管控节点10可在监测到第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的整体水位,大于或等于设定的第二水位阈值的情况下,确定监测到云服务器扩容事件。

当然,第一资源组与第二资源组的整体容器水位,可为第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的整体水位,可用第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的总数量,占第一容器组中容器实例和第二容器组中容器实例的总数量的比例进行表征。相应地,第二水位要求可实现为:第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的整体水位,小于或等于设定的第二水位阈值。第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的整体水位,小于或等于设定的第二水位阈值,可表征通信系统中的空闲的容器实例不足,因此,需要扩展新的云服务器来部署新的容器实例。在该实施例中,不限定第二水位阈值的具体取值,一般地,第二水位阈值小于50%,可为0%-50%之间的任意值。例如,第二水位阈值可为0%、5%、10%、20%、30%或者40%等。

相应地,管控节点10可在监测到第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的整体水位,小于或等于设定的第二水位阈值的情况下,确定监测到云服务器扩容事件。

当然,本申请实施例除了支持水位触发扩容方式之外,还可支持定时触发扩容和/或手动触发扩容等。对于定时触发扩容方式,可预先设置云服务器扩容时间。管控节点10可在监测到设定的云服务器扩容时间到达时,确定监测到云服务器扩容事件。

云服务器扩容时间可由公有云的运维人员或者用户机房的持有者,根据先验知识灵活设置。当然,也可根据以往容器实例的历史使用数据来确定容器实例的使用高峰时间。容器实例的历史使用数据可包括:容器实例的历史使用时间及历史使用量等。

基于此,管控节点10可获取通信系统中容器实例的历史使用数据。进一步,管控节点10可根据容器实例的历史使用数据,预测容器实例的使用高峰时间。

在本申请实施例中,不限定管控节点10根据容器实例的历史使用数据,预测容器实例的使用高峰时间的具体实施方式。

在一些实施例中,管控节点10可从容器实例的历史使用数据中,获取容器实例的历史使用时间;进一步,可对容器实例的历史使用时间进行统计分析,以得到容器实例的使用时间规律信息;之后,可根据容器实例的使用时间规律信息,预测容器实例的使用高峰时间等。例如,可根据容器实例的使用时间规律信息,确定各时间段容器实例的使用量;根据各时间段容器实例的使用量,预测容器实例的使用高峰时间等。

在另一些实施例中,为了提高预测使用高峰时间的准确度,可引入神经网络模型。在本申请实施例中,不限定神经网络模型的具体实现形式。可选地,神经网络模型可为卷积神经网络(Convolutional Neural Network,CNN)、深度学习神经网络(Deep-LearningNeural Network,DNN)、循环神经网络(Recurrent Neural Network,RNN)或卷积神经张量网络(Convolutional neural tensor network,CNTN)等,但不限于此。

神经网络模型用于对使用高峰时间进行预测,定义为高峰期预测模型。高峰期预测模型以损失函数最小化为训练目标,以通信系统中容器实例的历史使用数据为训练样本,对初始神经网络模型进行训练得到的。其中,训练样本使用的容器实例的历史使用数据,可为使用高峰时间在线预测使用的历史使用数据之前的容器实例的使用数据。其中,高峰期预测模型的输入可为:容器实例的历史使用数据,输出为:预测出的使用高峰时间。

其中,损失函数可表示为:模型训练预测出的使用高峰时间,与实际使用高峰时间之间的差异。

基于训练完成的高峰期预测模型,可将容器实例的历史使用数据输入至高峰期预测模型。进一步,在高峰期预测模型,可根据容器实例的历史使用数据,预测容器实例的使用高峰时间。其中,用于在线预测容器实例的使用高峰时间的历史使用数据,可为距离当前时间最近一段时间(如最近一周、最近2周、最近一个月或最近数个月等)的历史使用数据等。

在预测出容器实例的使用高峰时间之后,可根据预测出的使用高峰时间,确定云服务器扩容时间。云服务器扩容时间在预测出的使用高峰时间之前。例如,将预测出的使用高峰时间之前的设定时长(如半小时、1小时或者2小时等)的时间,作为云服务器扩容时间等。这样,可在容器实例的使用高峰期之前,实现云服务器及应用启动器对应的容器实例的动态扩容,可缓解机顶盒使用高峰期的资源紧张,满足高峰期使用需求。

对于上述手动触发扩容方式,可提供云服务器扩容接口。该云服务扩容接口可实现为触发按钮,也可实现为应用编程接口(Application Programming Interface,API)。公有云的运维人员或者用户机房的持有者可通过触发云服务器扩容接口,手动触发云服务器扩容。相应地,管控节点10可在在监测到针对云服务器扩容接口的触发时,确定监测到云服务器扩容事件。

上述实施例示出的云服务器扩容事件的实现形式仅为示例性说明,并不构成限定。管控节点10在监测到云服务器扩容事件的情况下,可在公有云网络中扩展新的目标云服务器;并在目标云服务器上创建应用启动器对应的容器实例,从而实现云服务器及容器实例的动态扩展。

本申请实施例提供的通信系统,除了支持云服务器动态扩容之外,还支持云服务器动态缩容。相应地,管控节点10可监测云服务器缩容事件;在监测到发生云服务器缩容事件的情况下,确定待销毁的云服务器,并删除待销毁的云服务器中的容器实例(图6中“容器删除”及“容器组件回收”);之后,可销毁待销毁的云服务器,以释放待销毁的云服务器占用的物理资源(图6中“云服务器销毁”)。具体地,管控节点10可在删除待销毁的云服务器中的容器实例之前,先将待销毁的云服务器下线(图6中“节点下线”),这样,管控节点10在资源调度时不会再对待销毁的云服务器进行调度。

在本申请实施例中,不限定云服务器缩容事件的具体实施方式。在一些实施例中,通信系统支持水位缩容。相应地,管控节点10可监测第二资源组中云服务器各自的容器水位;并在监测到第二资源组30中存在容器水位持续在设定时长内不满足设定的第三水位要求的情况下,确定监测到云服务器缩容事件。

各云服务器的容器水位是指单个云服务器的容器水位。单个云服务器的容器水位可为单个云服务器中已使用的容器实例的水位,可用单个云服务器中已使用的容器实例的数量,占该云服务器中云服务器的总数量的比例进行表征。相应地,第三水位要求可实现为:单个云服务器中已使用的容器实例的水位在持续设定时长(如1小时、2小时、6小时、8小时、12小时、1天、2天、1周或者更长时间)内,均小于或等于设定的第三水位阈值。单个云服务器中已使用的容器实例的水位持续设定时长内,均小于或等于设定的第三水位阈值,可表征该云服务器中空闲的容器实例较多,云服务器持续在设定时长内的资源利用率低,因此,可对持续资源利用率低的云服务器进行缩容处理。在该实施例中,不限定第三水位阈值的具体取值,一般地,第三水位阈值小于50%。例如,第三水位阈值可为0%-50%之间的任意值,例如,第三水位阈值可为0%、1%、5%。10%、15%、20%、25%或者30%、40%等。

相应地,管控节点10可在监测到第二资源组30中存在已使用容器实例的水位持续设定时长,均小于或等于设定的第三水位阈值的情况下,确定监测到云服务器缩容事件;并确定已使用容器实例的水位持续设定时长,均小于或等于设定的第三水位阈值的云服务器,为待销毁的云服务器。

当然,单个云服务器的容器水位,可为单个云服务器中空闲的容器实例的水位,可用单个云服务器中空闲的容器实例的数量,占该云服务器中容器实例的总数量的比例进行表征。相应地,第三水位要求可实现为:单个云服务器中空闲的容器实例的水位持续设定时长(如1小时、2小时、6小时、8小时、12小时、1天、2天、1周或者更长时间),均大于或等于设定的第三水位阈值。单个云服务器中空闲的容器实例的水位持续设定时长,大于或等于设定的第三水位阈值,可表表征该云服务器中空闲的容器实例较多,云服务器持续在设定时长内的资源利用率低,因此,可对持续资源利用率低的云服务器进行缩容处理。在该实施例中,不限定第三水位阈值的具体取值,一般地,第三水位阈值大于50%,可为50%-100%之间的任意值。例如,第三水位阈值可为70%、75%、80%、85%、90%、95%或者100%等。

相应地,管控节点10可在监测到第二资源组30中存在空闲的容器实例水位持续设定时长,大于或等于设定的第三水位阈值的情况下,确定监测到云服务器缩容事件。

当然,本申请实施例除了支持水位触发缩容方式之外,还可支持定时触发缩容和/或手动触发缩容等。公有云的运维人员或者用户机房的所有者人员,可自主设置缩容方式。可选地,以资源组为单位,设置该资源组的缩容方式。设置的缩容方式可为水位触发、定时触发及手动触发中的任意一种,当然,也可为多种方式的结合。例如,可设置第二资源组的缩容触发方式为:水位触发与定时触发相结合,或者水位触发与手动触发相结合等。

对于定时触发缩容方式,可预先设置各第二资源组的云服务器缩容时间。不同第二资源组的云服务器缩容时间可能相同,也可不同。管控节点10可在监测到设定的云服务器缩容时间到达时,确定监测到云服务器缩容事件;并确定云服务器缩容时间到达的第二资源组中的云服务器,为待销毁的云服务器。

云服务器缩容时间可由公有云的运维人员或者用户机房的所有者,根据先验知识灵活设置。

对于上述手动触发缩容方式,可提供云服务器缩容接口。该云服务缩容接口可实现为触发按钮,也可实现为API。公有云的运维人员或者用户机房的持有者可通过触发云服务器缩容接口,手动触发云服务器缩容。每个第二资源组具有独立的云服务器缩容接口。相应地,管控节点10可在监测到针对云服务器缩容接口的触发时,确定监测到云服务器扩容事件;并确定云服务器缩容接口被触发的第二资源组中的云服务器,为待销毁的云服务器。

对于水位触发缩容和定时触发缩容相结合的缩容方式,管控节点10可监测第二资源组中各云服务器的容器水位;并在第二资源组中存在容器水位不满足上述第三水位要求的云服务器,且该第二资源组对应的云服务器触发时间到达时,确定监测到云服务器缩容事件;并确定云服务器触发时间到达的第二资源组中,容器水位不满足上述第三水位要求的云服务器为待销毁的云服务器。

上述实施例示出的云服务器扩容事件的实现形式仅为示例性说明,并不构成限定。管控节点10在监测到云服务器缩容事件的情况下,可确定待销毁的云服务器,并删除待销毁的云服务器中的容器实例,之后,销毁待销毁的云服务器,从而实现云服务器及容器实例的动态缩容。

本申请实施例提供的基于用户私有网络中的第一资源组和公有云网络中的第二资源组,混合部署机顶盒的应用启动器对应的容器实例的方式,提供了一种新的云端机顶盒。基于该新的云端机顶盒,可将原来运行在用户本地机顶盒内越来越复杂的应用软件,迁移至云端运行,消除本地机顶盒的硬件差异,较低对机顶盒的硬件要求,可在不替换所有机顶盒的前提下,让用户体验到新的应用,满足客户的运营推广需求。

除了上述通信系统之外,本申请实施例还提供资源调度方法,下面对本申请实施例提供的资源调度方法进行示例性说明。

图7为本申请实施例提供的资源调度方法的流程示意图。如图7所示,该资源调度方法主要包括:

701、接收用户机房中的机顶盒服务设备发送的启动器请求。

702、响应于启动器请求,获取第一资源组的容器水位和第二资源组的容器水位。

703、从第一资源组和第二资源组中,确定容器水位满足设定的第一水位要求的目标资源组;目标资源组包括:第一资源组和/或第二资源组。

704、在目标资源组包括第一资源组的情况下,从第一资源组的容器实例中,调度空闲的目标容器实例为机顶盒服务设备提供应用启动器所需数据。

本实施例提供的资源调度方法主要适用于通信系统中的管控节点。其中,通信系统还包括:第一资源组和第二资源组。第一资源组包括:至少一台服务设备;第二资源组包括:至少一台云服务器。其中,管控节点和第二资源组部署于公有云网络;第一资源组部署于用户机房的私有网络;私有网络与公有云网络通信连接。第一资源组和第二资源组由管控节点统一调度。服务设备和云服务器中部署有机顶盒的应用启动器对应的容器实例。

关于通信系统及通信系统中各设备、装置及组件的描述,可参见上述系统实施例的相关内容,在此不再赘述。

在本实施例中,第一资源组和第二资源组构成新的云端机顶盒。具体地,第一资源组的服务设备中及第二资源组的云服务器中,均部署有机顶盒的应用启动器(Launcher)对应的容器实例。容器实例可为Docker容器,如容器组(如Pod)等。

本实施例提供的新的云端机顶盒,可利用第一资源组实现视频数据的本地存储;通过第二资源组对家庭机顶盒引入其他新型应用服务,如视频类应用、游戏类应用等,避免了老旧机顶盒的硬件更换,可降低机顶盒的更换成本。通过公有云中的管控节点,可在云端完成机顶盒的软件升级和统一运维管理,实现降本增效。

在本实施例中,用户机房的私有网络与公有云网络通信连接。在一些实施例中,私有网络与公有云网络之间可通过虚拟网卡进行通信连接。其中,虚拟网卡为私有网络(如VPC)中的虚拟网络接口,用于连接云服务器与私有网络。

第一资源组和第二资源组由管控节点统一调度。管控节点可通过对第一资源组和第二资源组进行混合调度,向设置于用户机房的机顶盒服务设备提供应用启动器所需数据。

机顶盒服务设备可根据实际需求,向管控节点发送启动器请求。该启动器请求用于请求机顶盒的应用启动器。在一些实施例中,机顶盒可在启动过程中,向机顶盒服务设备请求应用启动器。相应地,机顶盒服务设备可响应于该请求,向管控节点发送启动器请求。

相应地,针对管控节点,在步骤701中,接收启动器请求;并在步骤702中,响应于启动器请求,获取第一资源组的容器水位和第二资源组的容器水位。在本申请实施例中,容器水位可为已使用的容器实例的水位,即已使用的容器实例占全部容器实例的比例。相应地,第一资源组的容器水位,可用第一资源组中已使用的容器实例占第一资源组中全部容器实例的比例表征。第二资源组的容器水位,可用第二资源组中已使用的容器实例占第二资源组中全部容器实例的比例表征。

当然,容器水位也可为未使用容器(即空闲容器)的水位,即未使用容器(即空闲容器)占全部容器实例的比例。相应地,第一资源组的容器水位,可用第一资源组中未使用容器占第一资源组中全部容器实例的比例表征。第二资源组的容器水位,可用第二资源组中未使用容器占第二资源组中全部容器实例的比例表征。

不管容器水位是已使用的容器实例的水位,还是未使用容器的水位,均可表征资源组(第一资源组或第二资源组)中可调度的容器实例的情况,基于此,在步骤703中,可根据第一资源组的容器水位和第二资源组的容器水位,从第一资源组和第二资源组中确定容器水位满足设定的第一水位要求的目标资源组。其中,目标资源组可能全部为第一资源组,也可能全部为第二资源组;当然,也可能既包括第一资源组,也包括第二资源组。即目标资源组包括:第一资源组和/或第二资源组,具体包括哪些资源组由资源组的容器水位是否满足设定的第一水位要求决定。目标资源组具有空闲的容器实例,为机顶盒服务设备提供应用启动器所需数据。

其中,容器水位的表征方式不同,对应的设定的第一水位要求不同。在一些实施例中,容器水位以上述已使用的容器实例的水位表征,则设定的第一水位要求可实现为:资源组中已使用的容器实例的水位小于设定的第一水位阈值。相应地,可根据第一资源组中已使用的容器实例的水位和第二资源组中已使用的容器实例的水位,从第一资源组和第二资源组中确定已使用的容器实例的水位小于设定的第一水位阈值的资源组,作为目标资源组。

在一些实施例中,容器水位以上述空闲的容器实例的水位表征,则设定的第一水位要求可实现为:资源组中空闲的容器实例的水位大于设定的第一水位阈值。相应地,可根据第一资源组中空闲的容器实例的水位和空闲的容器实例的水位,从第一资源组和所述第二资源组中确定已使用的容器实例的水位大于设定的第一水位阈值的资源组,作为目标资源组。

目标资源组具有空闲的容器实例,为机顶盒服务设备提供应用启动器所需数据。由于第一资源组部署在用户机房的私有网络中,具有用户本地服务的优势。一是,第一资源组相较于位于公有云网络中的第二资源组可提供更快的应用启动器服务,降低响应延时。二是,第一资源组部署在用户机房的私有网络,由第一资源组提供应用启动器所需数据,可满足用户对数据安全性的要求。因此,可设置第一资源组的调度优先级高于第二资源组,在资源调度时,优先调度第一资源组中的容器实例。基于此,若目标资源组包括第一资源组,则在步骤704中,可从确定为目标资源组的第一资源组中,调度空闲的目标容器实例为机顶盒服务设备提供应用启动器所需数据。这样,一方面,由于第一资源组部署于用户机房的私有网络,相较于位于公有云网络中的第二资源组,可提供更快的应用启动器服务,降低应用启动器的请求的响应延时。而且,第一资源组部署在用户机房的私有网络,由第一资源组提供应用启动器所需数据,可满足用户对数据安全性的要求。另一方面,由于第一资源组为用户预先购买的,公有云中的第二资源组是需要用户按量及使用时间付费的,因此,优先调度预先付费的第一资源组的资源,可降低用户的使用成本。

相应地,若目标资源组不包括第一资源组,则可从确定为目标资源组的第二资源组中,调度空闲的目标容器实例为机顶盒服务设备提供应用启动器所需数据。

关于目标容器实例为机顶盒服务设备提供应用启动器所需数据的实现方式,可参见上述实施例的相关内容,在此不再赘述。

在本申请实施例中,除了提供位于用户机房的私有网络中的第一资源组和位于公有云网络中的第二资源组的混合资源调度方式之外,用户机房的所有者,即云端机顶盒的用户,也可指定使用的资源组。相应地,启动器请求可包括:指定使用的资源组的标识。该指定使用的资源组可为第一资源组或第二资源组。相应地,还可根据指定使用的资源组的标识,获取指定使用的资源组的容器水位;在指定使用的资源组的容器水位满足上述设定的第一水位要求的情况下,从指定使用的资源组中,调度空闲的容器实例为机顶盒服务设备提供应用启动器所需数据。

相应地,若指定使用的资源组的容器水位不满足上述设定的第一水位要求,可向机顶盒服务设备返回资源不足提示信息等。当然,若指定使用的资源组的容器水位不满足上述设定的第一水位要求,也可采用上述用户机房的私有网络中的第一资源组和位于公有云网络中的第二资源组的混合资源调度方式,确定目标容器实例,具体确定过程可参见上述实施例的相关内容,在此不再赘述。

在一些实施例中,还可采用指定环境的资源调度方式。指定环境是指指定目标资源组的使用环境是线上环境,还是测试环境。用户机房的所有者,即云端机顶盒的用户,可指定使用环境。启动器请求中携带有指定使用环境。还可根据指定使用环境,从第一资源组和第二资源组中,获取使用环境为指定使用环境的资源组;在使用环境为指定使用环境的资源组的容器水位满足上述设定的第一水位要求的情况下,从使用环境为指定使用环境的资源组中,调度空闲的容器实例为机顶盒服务设备提供应用启动器所需数据。若使用环境为指定使用环境的资源组包括第一资源组,则从第一资源组中,调度空闲的容器实例为机顶盒服务设备提供应用启动器所需数据。

本申请实施例除了提供基于新的云端机顶盒的资源调度方式之外,本申请实施例提供的通信系统,也支持公有云中云服务器的动态伸缩。相应地,可监测云服务器扩容事件;在监测到发生云服务器扩容事件的情况下,在公有云网络中扩展新的目标云服务器;以及,在目标云服务器上创建应用启动器对应的容器实例。

在本申请实施例中,不限定云服务器扩容事件的具体实施方式。在一些实施例中,通信系统支持水位扩容。相应地,可监测第一资源组与第二资源组的整体容器水位。在监测到整体容器水位满足设定的第二水位要求的情况下,确定监测到云服务器扩容事件。

其中,第一资源组与第二资源组的整体容器水位,可为第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的整体水位,可用第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的总数量,占第一容器组中容器实例和第二容器组中容器实例的总数量的比例进行表征。相应地,第二水位要求可实现为:第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的整体水位,大于或等于设定的第二水位阈值。第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的整体水位,大于或等于设定的第二水位阈值,可表征通信系统中的空闲的容器实例不足,因此,需要扩展新的云服务器来部署新的容器实例。

相应地,可在监测到第一容器组中已使用的容器实例和第二容器组中已使用的容器实例的整体水位,大于或等于设定的第二水位阈值的情况下,确定监测到云服务器扩容事件。

当然,第一资源组与第二资源组的整体容器水位,可为第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的整体水位,可用第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的总数量,占第一容器组中容器实例和第二容器组中容器实例的总数量的比例进行表征。相应地,第二水位要求可实现为:第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的整体水位,小于或等于设定的第二水位阈值。第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的整体水位,小于或等于设定的第二水位阈值,可表征通信系统中的空闲的容器实例不足,因此,需要扩展新的云服务器来部署新的容器实例。

相应地,可在监测到第一容器组中空闲的容器实例和第二容器组中空闲的容器实例的整体水位,小于或等于设定的第二水位阈值的情况下,确定监测到云服务器扩容事件。

当然,本申请实施例除了支持水位触发扩容方式之外,还可支持定时触发扩容和/或手动触发扩容等。对于定时触发扩容方式,可预先设置云服务器扩容时间。可在监测到设定的云服务器扩容时间到达时,确定监测到云服务器扩容事件。

云服务器扩容时间可由公有云的运维人员或者用户机房的持有者,根据先验知识灵活设置。当然,也可根据以往容器实例的历史使用数据来确定容器实例的使用高峰时间。容器实例的历史使用数据可包括:容器实例的历史使用时间及历史使用量等。

基于此,可获取通信系统中容器实例的历史使用数据。进一步,可根据容器实例的历史使用数据,预测容器实例的使用高峰时间。关于根据容器实例的历史使用数据,预测容器实例的使用高峰时间的具体实施方式,可参见上述实施例的相关内容,在此不再赘述。

在预测出容器实例的使用高峰时间之后,可根据预测出的使用高峰时间,确定云服务器扩容时间。云服务器扩容时间在预测出的使用高峰时间之前。例如,将预测出的使用高峰时间之前的设定时长(如半小时、1小时或者2小时等)的时间,作为云服务器扩容时间等。这样,可在容器实例的使用高峰期之前,实现云服务器及应用启动器对应的容器实例的动态扩容,可缓解机顶盒使用高峰期的资源紧张,满足高峰期使用需求。

对于上述手动触发扩容方式,可提供云服务器扩容接口。该云服务扩容接口可实现为触发按钮,也可实现为API。公有云的运维人员或者用户机房的持有者可通过触发云服务器扩容接口,手动触发云服务器扩容。相应地,可在在监测到针对云服务器扩容接口的触发时,确定监测到云服务器扩容事件。

上述实施例示出的云服务器扩容事件的实现形式仅为示例性说明,并不构成限定。在监测到云服务器扩容事件的情况下,可在公有云网络中扩展新的目标云服务器;并在目标云服务器上创建应用启动器对应的容器实例,从而实现云服务器及容器实例的动态扩展。

本申请实施例提供的通信系统,除了支持云服务器动态扩容之外,还支持云服务器动态缩容。相应地,可监测云服务器缩容事件;在监测到发生云服务器缩容事件的情况下,确定待销毁的云服务器,并删除待销毁的云服务器中的容器实例;之后,可销毁待销毁的云服务器,以释放待销毁的云服务器占用的物理资源。

在本申请实施例中,不限定云服务器缩容事件的具体实施方式。在一些实施例中,通信系统支持水位缩容。相应地,可监测第二资源组中云服务器各自的容器水位;并在监测到第二资源组中存在容器水位持续在设定时长内不满足设定的第三水位要求的情况下,确定监测到云服务器缩容事件。

各云服务器的容器水位是指单个云服务器的容器水位。单个云服务器的容器水位可为单个云服务器中已使用的容器实例的水位,可用单个云服务器中已使用的容器实例的数量,占该云服务器中云服务器的总数量的比例进行表征。相应地,第三水位要求可实现为:单个云服务器中已使用的容器实例的水位持续设定时长(如1小时、2小时、6小时、8小时、12小时、1天、2天、1周或者更长时间)内,均小于或等于设定的第三水位阈值。单个云服务器中已使用的容器实例的水位持续设定时长内,均小于或等于设定的第三水位阈值,可表征该云服务器中空闲的容器实例较多,云服务器持续在设定时长内的资源利用率低,因此,可对持续资源利用率低的云服务器进行缩容处理。

相应地,可在监测到第二资源组中存在已使用容器实例的水位持续设定时长,均小于或等于设定的第三水位阈值的情况下,确定监测到云服务器缩容事件;并确定已使用容器实例的水位持续设定时长,均小于或等于设定的第三水位阈值的云服务器,为待销毁的云服务器。

当然,单个云服务器的容器水位,可为单个云服务器中空闲的容器实例的水位,可用单个云服务器中空闲的容器实例的数量,占该云服务器中容器实例的总数量的比例进行表征。相应地,第三水位要求可实现为:单个云服务器中空闲的容器实例的水位持续设定时长(如1小时、2小时、6小时、8小时、12小时、1天、2天、1周或者更长时间),均大于或等于设定的第三水位阈值。单个云服务器中空闲的容器实例的水位持续设定时长,大于或等于设定的第三水位阈值,可表表征该云服务器中空闲的容器实例较多,云服务器持续在设定时长内的资源利用率低,因此,可对持续资源利用率低的云服务器进行缩容处理。相应地,可在监测到第二资源组中存在空闲的容器实例水位持续设定时长,大于或等于设定的第三水位阈值的情况下,确定监测到云服务器缩容事件。

当然,本申请实施例除了支持水位触发缩容方式之外,还可支持定时触发缩容和/或手动触发缩容等。公有云的运维人员或者用户机房的所有者人员,可自主设置缩容方式。可选地,以资源组为单位,设置该资源组的缩容方式。设置的缩容方式可为水位触发、定时触发及手动触发中的任意一种,当然,也可为多种方式的结合。例如,可设置第二资源组的缩容触发方式为:水位触发与定时触发相结合,或者水位触发与手动触发相结合等。

对于定时触发缩容方式,可预先设置各第二资源组的云服务器缩容时间。不同第二资源组的云服务器缩容时间可能相同,也可不同。可监测第二资源组云服务器缩容时间;并在监测到设定的云服务器缩容时间到达时,确定监测到云服务器缩容事件;并确定云服务器缩容时间到达的第二资源组中的云服务器,为待销毁的云服务器。

云服务器缩容时间可由公有云的运维人员或者用户机房的所有者,根据先验知识灵活设置。

对于上述手动触发缩容方式,可提供云服务器缩容接口。该云服务缩容接口可实现为触发按钮,也可实现为API。公有云的运维人员或者用户机房的持有者可通过触发云服务器缩容接口,手动触发云服务器缩容。每个第二资源组具有独立的云服务器缩容接口。相应地,可在监测到针对云服务器缩容接口的触发时,确定监测到云服务器扩容事件;并确定云服务器缩容接口被触发的第二资源组中的云服务器,为待销毁的云服务器。

对于水位触发缩容和定时触发缩容相结合的缩容方式,可监测第二资源组中各云服务器的容器水位;并在第二资源组中存在容器水位不满足上述第三水位要求的云服务器,且该第二资源组对应的云服务器触发时间到达时,确定监测到云服务器缩容事件;并确定云服务器触发时间到达的第二资源组中,容器水位不满足上述第三水位要求的云服务器为待销毁的云服务器。

上述实施例示出的云服务器扩容事件的实现形式仅为示例性说明,并不构成限定。在监测到云服务器缩容事件的情况下,可确定待销毁的云服务器,并删除待销毁的云服务器中的容器实例,之后,销毁待销毁的云服务器,从而实现云服务器及容器实例的动态缩容。

本申请实施例提供的基于用户私有网络中的第一资源组和公有云网络中的第二资源组,混合部署机顶盒的应用启动器对应的容器实例的方式,提供了一种新的云端机顶盒。基于该新的云端机顶盒,可将原来运行在用户本地机顶盒内越来越复杂的应用软件,迁移至云端运行,消除本地机顶盒的硬件差异,较低对机顶盒的硬件要求,可在不替换所有机顶盒的前提下,让用户体验到新的应用,满足客户的运营推广需求。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤701和702的执行主体可以为设备A;又比如,步骤701的执行主体可以为设备A,步骤702的执行主体可以为设备B;等等。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如701、702等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。

相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述资源调度方法中的步骤。

图8为本申请实施例提供的计算设备的结构示意图。该计算设备可实现为通信系统中的管控节点。通信系统还包括:第一资源组和第二资源组;第一资源组包括:至少一台服务设备;第二资源组包括:至少一台云服务器;其中,管控节点和第二资源组部署于公有云网络;第一资源组部署于用户机房的私有网络;私有网络与公有云网络通信连接;第一资源组和第二资源组由管控节点统一调度;服务设备和云服务器中部署有机顶盒的应用启动器对应的容器实例。

如图8所示,该计算设备主要包括:存储器80a、处理器80b及通信组件80c。存储器80a,用于存储计算机程序。

处理器80b耦合至存储器80a及通信组件80c,用于执行计算机程序以用于:通过通信组件80c接收用户机房中的机顶盒服务设备发送的启动器请求;响应于启动器请求,获取第一资源组的容器水位和第二资源组的容器水位;从第一资源组和第二资源组中,确定容器水位满足设定的第一水位要求的目标资源组;目标资源组包括:第一资源组和/或第二资源组;以及,在目标资源组包括第一资源组的情况下,从第一资源组的容器实例中,调度空闲的目标容器实例为机顶盒服务设备提供应用启动器所需数据。

在一些实施例中,容器水位以已使用的容器实例的水位表征。相应地,第一资源组的容器水位以第一资源组的已使用的容器实例的水位进行表征;第二资源组的容器水位以第二资源组的已使用的容器实例的水位进行表征;设定的第一水位要求包括:资源组的已使用的容器实例的水位小于设定的第一水位阈值。相应地,处理器80b在从第一资源组和第二资源组中确定容器水位满足设定的第一水位要求的目标资源组时,具体用于:根据第一资源组中已使用的容器实例的水位和第二资源组中已使用的容器实例的水位,从第一资源组和第二资源组中确定已使用的容器实例的水位小于设定的第一水位阈值的资源组,作为目标资源组。

在一些实施例中,启动器请求包括:指定使用的资源组的标识;指定使用的资源组为第一资源组或第二资源组。处理器80b还用于:根据指定使用的资源组的标识,获取指定使用的资源组的容器水位;以及,在指定使用的资源组的容器水位满足设定的第一水位要求的情况下,从指定使用的资源组中,调度空闲的容器实例为机顶盒服务设备提供应用启动器所需数据。相应地,在指定使用的资源组的容器水位不满足设定的第一水位要求的情况下,向机顶盒服务设备返回资源不足提示信息。

可选地,处理器80b可在启动器请求包括指定使用的资源组的标识的情况下,根据指定使用的资源组的标识,获取指定使用的资源组的容器水位;以及,在指定使用的资源组的容器水位满足设定的第一水位要求的情况下,从指定使用的资源组中,调度空闲的容器实例为机顶盒服务设备提供应用启动器所需数据。

相应地,处理器80b还可用于:在启动器请求包括指定使用的资源组的标识的情况下,执行上述从第一资源组和第二资源组中,确定容器水位满足设定的第一水位要求的目标资源组;目标资源组包括:第一资源组和/或第二资源组;以及,在目标资源组包括第一资源组的情况下,从第一资源组的容器实例中,调度空闲的目标容器实例为机顶盒服务设备提供应用启动器所需数据的操作。其中,目标资源组不包括指定使用的资源组。

在一些实施例中,处理器80b还用于:监测云服务器扩容事件;在监测到发生云服务器扩容事件的情况下,在公有云网络中扩展新的目标云服务器;并目标云服务器上创建应用启动器对应的容器实例。

可选地,处理器80b在监测云服务器扩容事件时,具体用于:

监测第一资源组与第二资源组的整体容器水位;以及在监测到整体容器水位满足设定的第二水位要求的情况下,确定监测到云服务器扩容事件;或者,监测云服务器扩容时间;在监测到设定的云服务器扩容时间到达时,确定监测到云服务器扩容事件;或者,在监测到针对云服务器扩容接口的触发事件时,确定监测到云服务器扩容事件。

在一些实施例中,整体容器水位是第一资源组中已使用的容器实例与第二资源组中已使用的整体水位;第二水位要求包括:第一资源组中已使用的容器实例与第二资源组中已使用的整体水位,大于或等于设定的第二水位阈值。相应地,处理器80b在确定监测到云服务器扩容事件时,具体用于:在监测到第一资源组中已使用的容器实例与第二资源组中已使用的整体水位,大于或等于设定的第二水位阈值的情况下,确定监测到云服务器扩容事件。

可选地,处理器80b还用于:在监测云服务器扩容时间之前,获取通信系统中的容器实例的历史使用数据;根据历史使用数据,预测容器实例的使用高峰时间;

根据使用高峰时间,确定云服务器扩容时间。

在另一些实施例中,处理器80b还用于:监测云服务器缩容事件;在监测到发生云服务器缩容事件的情况下,确定待销毁的云服务器;删除待销毁的云服务器上的容器实例;并销毁待销毁的云服务器,以释放待销毁的云服务器占用的物理资源。

可选地,处理器80b在监测云服务器缩容事件时,具体用于:监测第二资源组中各云服务器的容器水位;在云服务器中存在容器水位持续设定时长内不满足设定的第三水位要求的情况下,确定监测到云服务器缩容事件。相应地,处理器80b在确定待销毁的云服务器时,具体用于:确定容器水位不满足设定的第三水位要求的云服务器,为待销毁的云服务器;

或者,

处理器80b在监测云服务器缩容事件时,具体用于:监测第二资源组的云服务器缩容时间;在监测到第二资源组的云服务器缩容时间到达时,确定监测到云服务器缩容事件。相应地,处理器80b在确定待销毁的云服务器时,具体用于:确定云服务器缩容时间到达的第二资源组中的云服务器,为待销毁的云服务器;

或者,

处理器80b在监测云服务器缩容事件时,具体用于:监测第二资源组对应的云服务器缩容接口的触发;在监测到第二资源组对应的云服务器缩容接口被触发时,确定监测到云服务器缩容事件。相应地,处理器80b在确定待销毁的云服务器时,具体用于:确定云服务器缩容接口被触发的第二资源组中的云服务器,为待销毁的云服务器;

或者,

处理器80b在监测云服务器缩容事件时,具体用于:监测第二资源组中各云服务器的容器水位及第二资源组的云服务器缩容时间;在云服务器中存在容器水位持续设定时长内不满足设定的第三水位要求,且第二资源组的云服务器缩容时间到达时,确定监测到云服务器缩容事件。相应地,处理器80b在确定待销毁的云服务器时,具体用于:确定云服务器缩容时间到达的第二资源组中容器水位不满足设定的第三水位要求的云服务器,为待销毁的云服务器。

可选地,各云服务器的容器水位,为单个云服务器中已使用的容器实例的水位;设定的第三水位要求包括:单个云服务器中已使用的容器实例的水位在持续设定时长内,均小于设定的第三水位阈值。

在一些可选实施方式中,如图8所示,该计算设备还可以包括:电源组件80d等组件。在一些实施例中,计算设备可实现为电脑、工作站等终端设备。相应地,计算设备还可包括:显示组件80e及音频组件80f等可选组件。图8中仅示意性给出部分组件,并不意味着计算设备必须包含图8所示全部组件,也不意味着计算设备只能包括图8所示组件。

在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM),可擦除可编程只读存储器(Electrical Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable Read Only Memory,PROM),只读存储器(Read Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。

在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为专用集成电路(Application Specific Integrated Circuit,ASIC)芯片;或者为先进精简指令集(Reduced Instruction Set Compute,RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System on Chip,SoC)等等,但不限于此。

在本申请实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如无线保真(Wireless Fidelity,WiFi),2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还可基于近场通信(Near Field Communication,NFC)技术、射频识别(Radio Frequency Identification,RFID)技术、红外数据协会(Infrared DataAssociation,IrDA)技术、超宽带(Ultra Wide Band,UWB)技术、蓝牙(Bluetooth,BT)技术或其他技术来实现。

在本申请实施例中,显示组件可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(Touch Panel,TP)。如果显示组件包括触摸面板,显示组件可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

在本申请实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

在本申请实施例中,音频组件可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(Microphone,MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。例如,对于具有语言交互功能的设备,可通过音频组件实现与用户的语音交互等。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

还需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(或系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(如CPU等)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(Random-Access Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash RAM)。内存是计算机可读介质的示例。

计算机的存储介质为可读存储介质,也可称为可读介质。可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(Digital Video Disc,DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(Transitory Media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上内容仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 资源调度方法、系统及电子设备和存储介质
  • 存储设备测试方法、存储设备测试系统及存储介质
  • 一种后端存储设备的管理方法、装置、设备以及存储介质
  • 存储设备在线检测方法、装置、设备及可读存储介质
  • 存储方法、存储系统、电子设备及存储介质
  • 资源调度方法、资源调度装置、资源调度设备及存储介质
  • 资源调度方法、资源调度装置、电子设备和可读存储介质
技术分类

06120116513003