一种容器的任务调度方法及装置与流程

文档序号:12595754阅读:185来源:国知局
一种容器的任务调度方法及装置与流程

本发明涉及云计算技术领域,特别是涉及一种容器的任务调度方法及装置。



背景技术:

容器是应用服务器中位于组件和平台之间的接口集合。随着容器技术的兴起,越来越多的软件系统开始采用以容器的形式分发和部署。在基于容器的任务处理系统中,容器的调度器担负着将用户任务分发至服务器的职责。

在具体实施中由于有多个用户和多个服务器在参与,如何将每个用户任务分发到当前系统中的哪些服务器来执行是调度器的一个重要处理任务。如果调度器的任务调度方法不合理,则不仅导致服务器的应用成本非常高,甚至有些情况下不能保证所有的用户任务得到处理或者超出了服务器的处理能力。

由此可见,如何将大量的用户任务合理的分配至相应的服务器进行处理是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种容器的任务调度方法及装置,用于将大量的用户任务合理的分配至相应的服务器从而保证所有的用户任务都得到处理,其次能够确保分发到每个服务器的任务总和不超过服务器自身的计算能力,且总体的使用成本最低。

为解决上述技术问题,本发明提供一种容器的任务调度方法,包括:

获取服务器集群的状态参数,所述状态参数包括各服务器的启用费用、各服务器的当前计算能力、各用户到各服务器的单位任务传输费用、用户的任务需求量;

将所述状态参数转换为线性规划对应的数学模型,所述数学模型中以总费用最低作为目标函数,以各用户的任务需求量和各服务器的最大负载能力作为约束条件;

对所述数学模型进行求解以得到对应的目标服务器和任务分配量。

优选地,所述对所述数学模型进行求解以得到对应的目标服务器和任务分配量具体为:

将所述数学模型转换为线性规划的标准形式;

对所述标准形式进行求解。

优选地,所述对所述标准形式进行求解具体包括:

根据所述目标服务器的个数相对于所述服务器集群中的总个数的比重,将所述标准形式转化为基于L1范数对应的稀疏性约束的压缩感知算法数学模型;

采用压缩感知算法求解所述压缩感知算法数学模型。

优选地,还包括:

存储所述状态参数,以及所述目标服务器和所述任务分配量。

为解决上述技术问题,本发明还提供一种容器的任务调度装置,包括:

获取单元,用于获取服务器集群的状态参数,所述状态参数包括各服务器的启用费用、各服务器的当前计算能力、各用户到各服务器的单位任务传输费用、用户的任务需求量;

模型构建单元,用于将所述状态参数转换为线性规划对应的数学模型,所述数学模型中以总费用最低作为目标函数,以各用户的任务需求量和各服务器的最大负载能力作为约束条件;

计算单元,用于对所述数学模型进行求解以得到对应的目标服务器和任务分配量。

优选地,所述计算单元具包括:

转换模块,用于将所述数学模型转换为线性规划的标准形式;

计算模块,用于对所述标准形式进行求解。

优选地,所述计算模块具体用于根据所述目标服务器的个数相对于所述服务器集群中的总个数的比重,将所述标准形式转化为基于L1范数对应的稀疏性约束的压缩感知算法数学模型,并采用压缩感知算法求解所述压缩感知算法数学模型。

优选地,还包括:

存储单元,用于存储所述状态参数,以及所述目标服务器和所述任务分配量。

本发明所提供的容器的任务调度方法及装置,将任务调度的过程转换为一个线性规划的数学模型,通过对数学模型进行求解即可得到任务调度的结果。由于该数学模型中,以总费用最低作为目标函数,以各用户的任务需求量和各服务器的最大负载能力作为约束条件,因此,该方法能够保证所有的用户任务都得到处理,其次能够确保分发到每个服务器的任务总和不超过服务器自身的计算能力,且总体的使用成本最低。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种容器的任务调度方法的流程图;

图2为本发明实施例提供的另一种容器的任务调度方法的流程图;

图3为本发明实施例提供的一种容器的任务调度装置的结构图。

具体实施方式

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

本发明的核心是提供一种容器的任务调度方法及装置,用于将大量的用户任务合理的分配至相应的服务器从而保证所有的用户任务都得到处理,其次能够确保分发到每个服务器的任务总和不超过服务器自身的计算能力,且总体的使用成本最低。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种容器的任务调度方法的流程图。如图1所示,容器的任务调度方法包括以下步骤。

S10:获取服务器集群的状态参数,状态参数包括各服务器的启用费用、各服务器的当前计算能力、各用户到各服务器的单位任务传输费用、用户的任务需求量。

S11:将状态参数转换为线性规划对应的数学模型,数学模型中以总费用最低作为目标函数,以各用户的任务需求量和各服务器的最大负载能力作为约束条件。

S12:对数学模型进行求解以得到对应的目标服务器和任务分配量。

在具体实施中,首先要知道服务器集群的状态参数,为了便于采用公式描述,下文中将这些参数采用相应的字母进行表示。

设第i个服务器被启用时产生的固定费用,即服务器的启用费用为ai,用户j到服务器i的单位任务传输费用为cij,服务器的当前计算能力为bi,用户j的任务需求量是dj。令变量

令变量xij表示从用户j传输到服务器i的任务传输量,则线性规划对应的数学模型为:

其中,第一组约束条件,即表示每个用户的计算需求都必须满足;第二组约束条件,即表示不能超出服务器i的最大负载能力。

由此可见,通过步骤S11就可以将容器的调度问题转换为一个线性规划对应的数学模型,通过对上述数学模型进行求解即可得到目标服务器和任务分配量。需要说明的是,这里的目标服务器是服务器集群中被选中的服务器,即在求解得到的服务器,任务传输量就是xij的求解结果。

另外,对上述数学模型的求解有多种形式,但是考虑到计算效率的问题,作为优选的实施方式,步骤S12具体为:

将数学模型转换为线性规划的标准形式;

对标准形式进行求解。

对上述数学模型转换为线性规划的标准形式后,就可以按照对标准形式的求解方式进求解。可以理解的是,对于标准形式的求解过程为现有技术,本实施例不再赘述。线性规划的标准形式为:

其中,x0为上式中的f,x为xi,j和yi组成的向量,A为cij和ai组成的矩阵,b为bi组成的向量。

在具体实施中,由于服务器集群中的服务器数量较大,并且用户的任务需求量也较多,这样在对标准形式计算过程中运算量也是较大,无疑增加了计算的时间。因此在上述实施例的基础上,对标准形式进行求解具体包括:

根据目标服务器的个数相对于服务器集群中的总个数的比重,将标准形式转化为基于L1范数对应的稀疏性约束的压缩感知算法数学模型;

采用压缩感知算法求解压缩感知算法数学模型。

在上式基础上,考虑在现实生产环境中,对每一个用户的任务需求量,只分发到服务器集群中的少量节点运行,即相对于整个服务器集群来说,只有少量的服务器在运行,那么x存在稀疏性,使用L1范数表示,即需要满足:

min|x|1

由此,以上线性规划问题可转化为基于L1稀疏性约束的压缩感知问题:

其中,∈为无限趋近于0的数。

至此,容器任务调度问题便可采用压缩感知算法求解。可以理解的是,压缩感知算法为现有技术,因此,本实施例不再赘述。

本实施例提供的容器的任务调度方法,将任务调度的过程转换为一个线性规划的数学模型,通过对数学模型进行求解即可得到任务调度的结果。由于该数学模型中,以总费用最低作为目标函数,以各用户的任务需求量和各服务器的最大负载能力作为约束条件,因此,该方法能够保证所有的用户任务都得到处理,其次能够确保分发到每个服务器的任务总和不超过服务器自身的计算能力,且总体的使用成本最低。

图2为本发明实施例提供的另一种容器的任务调度方法的流程图。如图2所示,作为优选的实施方式,在上述实施例的基础上,还包括:

S20:存储状态参数,以及目标服务器和任务分配量。

为了便于后期查看每个用户和每个服务器之间的对应关系,以及统计服务器的任务执行量,在本实施例中,将状态参数,即各服务器的启用费用、各服务器的当前计算能力、各用户到各服务器的单位任务传输费用、用户的任务需求量以及目标服务器和任务分配量均存储下来,这样在后期可以随时调取查验。

与上述容器的任务调度方法相对应的,本发明还公开一种容器的任务调度。由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。图3为本发明实施例提供的一种容器的任务调度装置的结构图。如图3所示,容器的任务调度装置包括:

获取单元10,用于获取服务器集群的状态参数,状态参数包括各服务器的启用费用、各服务器的当前计算能力、各用户到各服务器的单位任务传输费用、用户的任务需求量;

模型构建单元11,用于将状态参数转换为线性规划对应的数学模型,数学模型中以总费用最低作为目标函数,以各用户的任务需求量和各服务器的最大负载能力作为约束条件;

计算单元12,用于对数学模型进行求解以得到对应的目标服务器和任务分配量。

作为优选地实施方式,计算单元具包括:

转换模块,用于将数学模型转换为线性规划的标准形式;

计算模块,用于对标准形式进行求解。

作为优选地实施方式,计算模块具体用于根据目标服务器的个数相对于服务器集群中的总个数的比重,将标准形式转化为基于L1范数对应的稀疏性约束的压缩感知算法数学模型,并采用压缩感知算法求解压缩感知算法数学模型。

作为优选地实施方式,还包括:

存储单元,用于存储状态参数,以及目标服务器和任务分配量。

本实施例提供的容器的任务调度装置,将任务调度的过程转换为一个线性规划的数学模型,通过对数学模型进行求解即可得到任务调度的结果。由于该数学模型中,以总费用最低作为目标函数,以各用户的任务需求量和各服务器的最大负载能力作为约束条件,因此,该装置能够保证所有的用户任务都得到处理,其次能够确保分发到每个服务器的任务总和不超过服务器自身的计算能力,且总体的使用成本最低。

以上对本发明所提供的容器的任务调度方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1