一种基于容器云的软负载资源处理方法及装置与流程

文档序号:16312415发布日期:2018-12-19 05:20阅读:172来源:国知局
一种基于容器云的软负载资源处理方法及装置与流程
本发明涉及负载均衡
技术领域
,具体涉及一种基于容器云的软负载资源处理方法及装置。
背景技术
随着互联网和云计算技术的迅速发展,使得基于虚拟化的web应用成为目前最重要最广泛的应用。目前基于web应用的信息交换量呈指数增长,应用服务器面临着访问量急剧增加的压力,对其响应能力和处理能力都带来了极高的要求,为此需对数据中心的各项资源进行有效整合,数据中心的资源控制与调度对于业务的正常运转起着决定性作用。由于客观存在的服务器内存、cpu处理速度和其他相关方面的因素,当进行业务扩展、热点活动的推出或周期性的业务高峰时,软负载服务器无法及时的对所有的请求进行处理,必然会造成软负载队列堵塞、应答迟缓、请求丢失、甚至导致业务无法访问等情况。在高并发高流量的业务高峰期中,现有技术根据一定策略手动进行软负载的扩展,在进行业务扩展、热点活动推出或周期性的业务高峰时,以虚拟机为单位手动对软负载进行扩展,当热点活动结束或业务高峰回归正常后,再手动的以虚拟机为单位进行软负载的回收。现有技术主要是根据经验来手动进行软负载的扩展与回收,同时以虚拟机为基础,无法快速的响应软负载资源的需求,造成业务访问不稳定。具体地,现有的软负载资源处理方法的原理如图1所示,当用户对应用系统进行大并发访问时,首先通过硬负载或lvs进行硬负载均衡,同时为了保证业务的正常访问,再接入软负载。数据中心会根据软负载当前的使用压力情况及运维的历史经验,由运维人员手动的对数据中心软负载服务器以虚拟机为单位进行提前部署。这样能够在某种程度上保证部署在数据中心的业务不会因为访问量过大而导致软负载压力过大导致宕机等问题。通常在下面几种情况下,数据中心的业务访问将出现故障:1)在业务访问量突发增长时,现有技术的软负载采用虚拟机方式,部署周期长,灵活性差,对软负载需求得不到及时响应;2)热点活动的推出或周期性的业务高峰,在这两种情况下,一般业务流量一般缺少经验值或很难根据经验值来进行前期预测,同时也无法根据当前的软负载的资源使用情况来做预判;3)一般影响业务正常访问的因素很多,各种因素导致的各项资源短缺都会影响业务的正常运行和访问,导致线上业务不能正常提供给用户访问,当发生以上问题时,现有技术只能在故障发生时做被动处理,以虚拟机为单位,为过载的软负载分配资源,存在资源浪费的情况。在故障严重的情况下,将导致大部分用户无法对业务系统进行访问,这对于大型的或核心的系统而言,是不可接受的。技术实现要素:本发明实施例提供一种基于容器云的软负载资源处理方法及装置,用于解决现有的软负载资源处理方法以虚拟机为单位进行手动资源扩缩造成资源部署复杂、资源浪费的问题。本发明实施例提供了一种基于容器云的软负载资源处理方法,包括:获取软负载资源池的多个时刻的软负载队列长度,所述多个时刻的软负载队列长度中至少包括当前时刻的软负载队列长度;根据所述多个时刻的软负载队列长度获取队列突变信息;根据所述队列突变信息以软负载容器为单位对软负载资源进行处理。可选地,根据所述多个时刻的软负载队列长度获取队列突变信息,包括:根据所述多个时刻的软负载队列长度获取第一队列突变因子和第二队列突变因子,所述第一队列突变因子为所述当前时刻之前的队列突变因子,所述第二队列突变因子为包括所述当前时刻的队列突变因子;根据所述第一队列突变因子和所述第二队列突变因子的差值获取队列突变信息。可选地,根据如下公式获取所述第一队列突变因子:根据如下公式获取所述第二队列突变因子:其中,ε1表示第一队列突变因子,ε2表示第二队列突变因子;n表示获取的软负载队列长度的个数;x表示所述当前时刻的软负载队列长度,xi表示距离当前时刻相差i的软负载队列长度。可选地,所述根据所述队列突变信息以软负载容器为单位对软负载资源进行处理,包括:若所述第二队列突变因子与所述第二队列突变因子的差大于第一预设阈值,则对软负载资源以软负载容器为单位进行扩容;若所述第一队列突变因子与所述第二队列突变因子的差大于第一预设阈值时,则对软负载资源以软负载容器为单位进行缩容;可选地,当所述第一队列突变因子与所述第二队列突变因子的差的绝对值小于第一预设阈值时,所述方法还包括:根据当前时刻的软负载队列长度、并发量和响应时间获取资源处理的权重值;若所述资源处理的权重值大于第二预设阈值,则对软负载资源以软负载容器为单位进行扩容;若所述资源处理的权重值小于第三预设阈值时,则对软负载资源以软负载容器为单位进行缩容。可选地,所述根据当前时刻的软负载队列长度、并发量和响应时间获取资源处理的权重值,包括:根据当前时刻的软负载队列长度并发量和响应时间分别获取所述当前时刻的软负载队列长度的程度系数、所述并发量的程度系数和所述响应时间的程度系数;根据所述当前时刻的软负载队列长度的程度系数、所述并发量的程度系数和所述响应时间的程度系数获取资源处理的权重值。本发明实施例提供一种基于容器云的软负载资源处理装置,包括:软负载队列长度获取单元,用于获取软负载资源池的多个时刻的软负载队列长度,所述多个时刻的软负载队列长度中至少包括当前时刻的软负载队列长度;队列突变信息获取单元,用于根据所述多个时刻的软负载队列长度获取队列突变信息;处理单元,用于根据所述队列突变信息以软负载容器为单位对软负载资源进行处理。可选地,所述队列突变信息获取单元包括:队列突变因子获取模块,用于根据所述多个时刻的软负载队列长度获取第一队列突变因子和第二队列突变因子,所述第一队列突变因子为所述当前时刻之前的队列突变因子,所述第二队列突变因子为包括所述当前时刻的队列突变因子;队列突变信息获取模块,用于根据所述第一队列突变因子和所述第二队列突变因子的差值获取队列突变信息。本发明实施例提供一种电子设备,包括:处理器、存储器和总线;其中,处理器和存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的基于容器云的软负载资源处理方法。本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述的基于容器云的软负载资源处理方法。本发明实施例提供的基于容器云的软负载资源处理方法及装置,获取软负载资源池的多个时刻的软负载队列长度,所述多个时刻的软负载队列长度中至少包括当前时刻的软负载队列长度;根据所述多个时刻的软负载队列长度获取队列突变信息;根据所述队列突变信息以软负载容器为单位对软负载资源进行处理。本发明实施例基于容器化技术,整合底层资源,软负载服务与应用服务共享资源,提高了资源利用率;容器化软负载服务,弥补了现有技术不能快速部署软负载服务的缺陷,以软负载容器为单位自动对软负载资源进行动态扩容或缩容,减少系统因高并发高流量或突发流量而引起的业务中断。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术的软负载资源处理方法的原理图;图2是本发明一个实施例的基于容器云的软负载资源处理方法的流程示意图;图3是本发明一个实施例的基于容器云的软负载资源处理方法的原理图;图4是本发明一个实施例的基于容器云的软负载资源处理装置的结构示意图;图5是本发明一个实施例的电子设备的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。现有技术尽管可以通过运维经验和软负载服务器的cpu、内存等使用情况来对软负载资源进行人工调度,保证业务的正常访问,但在绝大多数情况下,很难预测业务的并发请求量和对业务需求的快速响应,造成不能够及时的对软负载资源进行动态扩缩,导致数据中心的业务访问出现故障和正常的业务资源无法得到充分的利用。现有技术中软负载均衡弹性伸缩能力较弱,部署方式采用虚拟机为单位构建,扩展流程复杂,部署时间较长。在业务量突增时无法进行快速的部署扩展和动态调度,造成业务故障,同时软负载均衡不能自动进行缩容,系统资源存在一定的预留和浪费。图2是本发明一个实施例的基于容器云的软负载资源处理方法的流程示意图。需要说明的是,容器云以容器为资源分割和调度的基本单位,封装整个软件运行时环境,提供用于构建、发布和运行分布式应用的平台。如图2所示,该实施例的方法包括:s21:获取软负载资源池的多个时刻的软负载队列长度,所述多个时刻的软负载队列长度中至少包括当前时刻的软负载队列长度;需要说明的是,本发明实施例的软负载资源池中包括多个软负载容器,每个软负载容器(如图3所示)均运行有软负载服务。软负载队列中保存了待处理的并发请求,待处理的并发请求的个数即为软负载队列的长度。在实际应用中,宿主master节点通过数据中心软负载资源池的性能和日志数据获取多个时刻的软负载队列长度。s22:根据所述多个时刻的软负载队列长度获取队列突变信息;可理解的是,若当前时刻和前面的整个时间段在软负载队列的长度上存在较大差异,则说明业务请求量变化较大,则需对软负载进行扩容或缩容。因此,本发明实施例通过多个时刻的软负载队列长度获取队列突变信息,可通过队列突变信息对软负载资源进行动态扩容或缩容。s23:根据所述队列突变信息以软负载容器为单位对软负载资源进行处理;可理解的是,对软负载资源的处理过程包括对软负载资源的扩容和缩容;对软负载资源的扩容指的是增加软负载容器,对软负载资源的缩容指的是减少软负载容器。在实际应用中,如果需要进行弹性扩缩则宿主master节点给数据中心软负载资源池发出弹性扩缩指令进行软负载扩缩容并记录该弹性扩缩事件。如果数据中心软负载资源池不能满足弹性扩展所需要的资源需求,则通知超级管理员对资源池进行扩展处理,并重新进行弹性调度。本发明实施例提供的基于容器云的软负载资源处理方法,基于容器化技术,整合底层资源,软负载服务与应用服务共享资源,提高了资源利用率;容器化软负载服务,弥补了现有技术不能快速部署软负载服务的缺陷,以软负载容器为单位自动对软负载资源进行动态扩容或缩容,减少系统因高并发高流量或突发流量而引起的业务中断。在本发明实施例的一种可选的实施方式中,与图2中的方法类似,根据所述多个时刻的软负载队列长度获取队列突变信息,包括:根据所述多个时刻的软负载队列长度获取第一队列突变因子和第二队列突变因子,所述第一队列突变因子为所述当前时刻之前的队列突变因子,所述第二队列突变因子为包括所述当前时刻的队列突变因子;根据所述第一队列突变因子和所述第二队列突变因子的差值获取队列突变信息。具体地,根据如下公式获取所述第一队列突变因子:根据如下公式获取所述第二队列突变因子:其中,ε1表示第一队列突变因子,ε2表示第二队列突变因子;n表示获取的软负载队列长度的个数;x表示所述当前时刻的软负载队列长度,xi表示距离当前时刻相差i的软负载队列长度。举例来说,当前时刻为12点,获取12点、11点和10点三个时刻对应的软负载队列的长度。根据第一队列突变因子的计算公式计算得到不包括当前时刻12点的队列突变因子,根据第二队列突变因子的计算公式计算得到包括当前时刻12点的队列突变因子。进一步地,所述根据所述队列突变信息以软负载容器为单位对软负载资源进行处理,包括:若所述第二队列突变因子与所述第二队列突变因子的差大于第一预设阈值,则对软负载资源以软负载容器为单位进行扩容;若所述第一队列突变因子与所述第二队列突变因子的差大于第一预设阈值,则对软负载资源以软负载容器为单位进行缩容;进一步地,当所述第一队列突变因子与所述第二队列突变因子的差的绝对值小于第一预设阈值时,所述方法还包括:根据当前时刻的软负载队列长度、并发量和响应时间获取资源处理的权重值;若所述资源处理的权重值大于第二预设阈值时,则对软负载资源以软负载容器为单位进行扩容;若所述资源处理的权重值小于第三预设阈值时,则对软负载资源以软负载容器为单位进行缩容。需要说明的是,本发明实施例的并发量指的是正在处理的并发请求的个数。可理解的是,当根据队列突变因子判断获知软负载队列没有发生突变,则根据当前时刻的软负载队列长度、并发量和响应时间对软负载资源进行处理。具体地,所述根据当前时刻的软负载队列长度、并发量和响应时间获取资源处理的权重值,包括:根据当前时刻的软负载队列长度并发量和响应时间分别获取所述当前时刻的软负载队列长度的程度系数、所述并发量的程度系数和所述响应时间的程度系数;根据所述当前时刻的软负载队列长度的程度系数、所述并发量的程度系数和所述响应时间的程度系数获取资源处理的权重值。在实际应用中,获取上述三个指标的程度系数需要根据赋值参考表进行赋值,此操作可以针对不同的应用场景和时间段,动态化的由管理员分配。赋值参考表如表1所示:表1赋值参考表极端重要强烈重要明显重要975根据赋值参考表进行归一化处理,得出上述三个指标对应的程度系数。xi_norm即为指标的程度系数,具体的计算方法如下:其中xi表示赋值参考表中的第i项的值。举例来说,当前时刻软负载队列长度为10,并发量为100;响应时间为30(单位为ms)根据相对应的重要程度,获取上述三个指标的程度系数。(假设队列长度的重要程度:9;并发量的重要程度:7;响应时间的重要程度:5)。因此,当前时刻软负载队列长度的程度系数为9/21;并发量的程度系数为7/21;响应时间的程度系数为5/21。三者相加得出一个值。以这个值与上下限阈值对比。在实际应用中,可根据实际的运行状况,经过多次实验,得出最合适的上下限阈值,也可以根据软负载需求,由管理员手动指定上下限阈值。在实际应用中,通过调用硬负载接口,来更新后端的软负载实例。先启动软负载实例和加载信息,再更新硬负载信息,保证业务接入时,无感知。本发明实施例结合容器化技术,对底层资源进行整合,软负载服务和应用服务共享资源池,最大化利用数据中心的资源,减少资源的浪费和冗余,提升数据中心的资源使用率。对于数据中心的容器云环境,具有较好的推广价值。对软负载服务进行容器化,可以实现软负载资源的动态扩展和弹性伸缩能力,能够有效提升数据中心的响应时间,针对大流量和大并发业务,能够快速的进行对软负载资源进行伸缩。并通过两级判断机制,对软负载使用情况进行综合考虑,加入队列变异因子,能够对软负载状态进行更加准确的判断,实现细粒度的弹性扩缩资源,在大规模生产环境下具有较强的实践价值。图4是本发明一个实施例的基于容器云的软负载资源处理装置的结构示意图。如图4所示,该实施例的装置包括软负载队列长度获取单元41、队列突变信息获取单元42和处理单元43,具体地:软负载队列长度获取单元41,用于获取软负载资源池的多个时刻的软负载队列长度,所述多个时刻的软负载队列长度中至少包括当前时刻的软负载队列长度;队列突变信息获取单元42,用于根据所述多个时刻的软负载队列长度获取队列突变信息;处理单元43,用于根据所述队列突变信息以软负载容器为单位对软负载资源进行处理。本发明实施例提供的基于容器云的软负载资源处理装置,基于容器化技术,整合底层资源,软负载服务与应用服务共享资源,提高了资源利用率;容器化软负载服务,弥补了现有技术不能快速部署软负载服务的缺陷,以软负载容器为单位自动对软负载资源进行动态扩容或缩容,减少系统因高并发高流量或突发流量而引起的业务中断。进一步地,队列突变信息获取单元42包括:队列突变因子获取模块,用于根据所述多个时刻的软负载队列长度获取第一队列突变因子和第二队列突变因子,所述第一队列突变因子为所述当前时刻之前的队列突变因子,所述第二队列突变因子为包括所述当前时刻的队列突变因子;队列突变信息获取模块,用于根据所述第一队列突变因子和所述第二队列突变因子的差值获取队列突变信息。本发明实施例的基于容器云的软负载资源处理装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。图5是本发明一个实施例的电子设备的结构示意图。参照图5,电子设备包括:处理器(processor)51、存储器(memory)52和总线53;其中,处理器51和存储器52通过总线53完成相互间的通信;处理器51用于调用存储器52中的程序指令,以执行上述各方法实施例所提供的基于容器云的软负载资源处理方法。此外,上述的存储器52中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。本实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的基于容器云的软负载资源处理方法。本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的基于容器云的软负载资源处理方法。本发明实施例提供的基于容器云的软负载资源处理方法及装置,获取软负载资源池的多个时刻的软负载队列长度,所述多个时刻的软负载队列长度中至少包括当前时刻的软负载队列长度;根据所述多个时刻的软负载队列长度获取队列突变信息;根据所述队列突变信息以软负载容器为单位对软负载资源进行处理。本发明实施例基于容器化技术,整合底层资源,软负载服务与应用服务共享资源,提高了资源利用率;容器化软负载服务,弥补了现有技术不能快速部署软负载服务的缺陷,以软负载容器为单位自动对软负载资源进行动态扩容或缩容,减少系统因高并发高流量或突发流量而引起的业务中断。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。需要说明的是术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1