一种适配QoS的方法和装置转让专利

申请号 : CN201410745161.3

文献号 : CN105743808B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 俞柏峰顾炯炯林沐晖俞洲毛凌志

申请人 : 华为技术有限公司

摘要 :

本发明提供一种适配QoS的方法和装置,涉及计算机领域,PCIe端点根据配置模板动态配置虚拟设备,满足了不同业务的QoS要求。本发明的实施例提供的方法包括:确定利用输入输出I/O资源的第一业务的QoS需求;根据所述第一业务的QoS需求生成所述第一业务的SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;根据第一业务的SLA包含的服务质量需求值生成第一业务的配置模板;其中,配置模板包含的软硬件资源所提供的服务质量值的和等于第一业务的服务质量需求值之和;向第一PCIe端点发送配置模板,指示第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备。

权利要求 :

1.一种适配服务质量QoS的方法,其特征在于,包括:确定利用输入输出I/O资源的第一业务的服务质量QoS需求;其中,所述第一业务运行在第一物理主机上,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务,所述第一业务的QoS需求由至少一个服务质量需求值表示;

根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;

根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板;其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;

向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。

2.根据权利要求1所述的适配QoS的方法,其特征在于,所述方法还包括:实时地检测所述虚拟设备的相关指标;

若所述相关指标大于预设阈值,则更新所述SLA;

根据更新后的SLA更新所述配置模板;

其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。

3.根据权利要求1所述的适配QoS的方法,其特征在于,所述软硬件资源包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。

4.根据权利要求3所述的适配QoS的方法,其特征在于,所述方法还包括:实时地检测所述虚拟设备的相关指标;

若所述相关指标大于预设阈值,则更新所述SLA;

根据更新后的SLA更新所述配置模板;

其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。

5.根据权利要求1或3所述的适配QoS的方法,其特征在于,所述方法还包括:存储所述配置模板;

当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;

其中,所述第二业务运行在所述第一物理主机上。

6.根据权利要求5所述的适配QoS的方法,其特征在于,所述方法还包括:实时地检测所述虚拟设备的相关指标;

若所述相关指标大于预设阈值,则更新所述SLA;

根据更新后的SLA更新所述配置模板;

其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。

7.根据权利要求5所述的适配QoS的方法,其特征在于,所述方法还包括:当接收到迁移所述第一业务的迁移指令时,向第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;

其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。

8.根据权利要求7所述的适配QoS的方法,其特征在于,所述方法还包括:实时地检测所述虚拟设备的相关指标;

若所述相关指标大于预设阈值,则更新所述SLA;

根据更新后的SLA更新所述配置模板;

其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。

9.一种适配QoS的装置,其特征在于,包括:

确定单元,用于确定利用输入输出I/O资源的第一业务的服务质量QoS需求;其中,所述第一业务运行在第一物理主机上,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务,所述第一业务的QoS需求由至少一个服务质量需求值表示;

生成单元,用于根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;

其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;

以及,根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板;

其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;

发送单元,用于向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。

10.根据权利要求9所述的适配QoS的装置,其特征在于,所述装置还包括:检测单元,用于实时地检测所述虚拟设备的相关指标;

所述生成单元,还用于若所述相关指标大于预设阈值,则更新所述SLA;

根据更新后的SLA更新所述配置模板;

其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。

11.根据权利要求9所述的适配QoS的装置,其特征在于,所述软硬件资源包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。

12.根据权利要求11所述的适配QoS的装置,其特征在于,所述装置还包括:检测单元,用于实时地检测所述虚拟设备的相关指标;

所述生成单元,还用于若所述相关指标大于预设阈值,则更新所述SLA;

根据更新后的SLA更新所述配置模板;

其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。

13.根据权利要求9或11所述的适配QoS的装置,其特征在于,所述装置还包括:存储单元,用于存储所述配置模板;

所述发送单元,还用于当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;

其中,所述第二业务运行在所述第一物理主机上。

14.根据权利要求13所述的适配QoS的装置,其特征在于,所述装置还包括:检测单元,用于实时地检测所述虚拟设备的相关指标;

所述生成单元,还用于若所述相关指标大于预设阈值,则更新所述SLA;

根据更新后的SLA更新所述配置模板;

其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。

15.根据权利要求13所述的适配QoS的装置,其特征在于,所述发送单元,还用于当接收到迁移所述第一业务的迁移指令时,向第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;

其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。

说明书 :

一种适配QoS的方法和装置

技术领域

[0001] 本发明涉及计算机领域,尤其涉及一种适配QoS的方法和装置。

背景技术

[0002] 高速外围组件互联(英文:Peripheral Component Interconnect Express,缩写:PCIe)端点为一种通过虚拟化软件和相应的硬件逻辑给物理主机提供不同的输入输出(英文:Input-Out,缩写:I/O)视图的融合设备,目前,越来越多的数据中心采用PCIe端点组成融合基础架构(Converged Infrastructure),将数据中心的计算、存储、网络三大核心资源进行融合,建立成一个统一的、可弹性扩展的、高效的全新数据中心架构。在该架构中,PCIe端点连接物理主机的中央处理器(英文:Central Processing Unit,缩写:CPU)和数据中心的I/O资源(如存储设备、计算设备、网络设备等),将资源池中的I/O资源进行融合,并通过虚拟设备提供给物理主机运行某业务。
[0003] 由于不同的业务对于虚拟设备的服务有不同的诉求,例如,有的业务要求高带宽而对延时不在意;而需要处理快速交易的业务则需要低延时反而对带宽不是很重要等等,因此,在为不同的物理主机提供不同的虚拟设备的同时,还需要满足使用该虚拟设备的不同业务的服务质量(英文:Quality of Service,缩写:QoS)要求。可见,如何根据业务的服务质量要求灵活地为各个物理主机的虚拟主机配置虚拟设备是亟需解决的一个问题。

发明内容

[0004] 本发明的实施例提供一种适配QoS的方法和装置,满足了不同业务的QoS要求。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 第一方面,本发明实施例提供一种适配服务质量QoS的方法,包括:
[0007] 确定利用输入输出I/O资源的第一业务的服务质量QoS需求;其中,所述第一业务运行在第一物理主机上,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务,所述第一业务的QoS需求由至少一个服务质量需求值表示;
[0008] 根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;
[0009] 根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板;其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
[0010] 向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
[0011] 在第一方面的第一种可能的实现方式中,结合第一方面,
[0012] 所述软硬件资源包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
[0013] 在第一方面的第二种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式,所述方法还包括:存储所述配置模板;
[0014] 当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
[0015] 其中,所述第二业务运行在所述第一物理主机上。
[0016] 在第一方面的第三种可能的实现方式中,结合第一方面的第二种可能的实现方式,所述方法还包括:当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
[0017] 其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
[0018] 在第一方面的第四种可能的实现方式中,结合第一方面至第一方面的第三种可能的实现方式中的任一种实现方式,所述方法还包括:
[0019] 实时地检测所述虚拟设备的相关指标;
[0020] 若所述相关指标大于预设阈值,则更新所述SLA;
[0021] 根据更新后的SLA更新所述配置模板;
[0022] 其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
[0023] 第二方面,本发明实施例提供一种适配QoS的装置,包括:
[0024] 确定单元,用于确定利用输入输出I/O资源的第一业务的服务质量QoS需求;其中,所述第一业务运行在第一物理主机上,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务,所述第一业务的QoS需求由至少一个服务质量需求值表示;
[0025] 生成单元,用于根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;
[0026] 以及,根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板;其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
[0027] 发送单元,用于向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
[0028] 在第二方面的第一种可能的实现方式中,结合第二方面,
[0029] 所述软硬件资源包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
[0030] 在第二方面的第二种可能的实现方式中,结合第二方面或第二方面的第一种可能的实现方式,所述适配QoS的装置还包括:
[0031] 存储单元,用于存储所述配置模板;
[0032] 所述发送单元,还用于当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
[0033] 其中,所述第二业务运行在所述第一物理主机上。
[0034] 在第二方面的第三种可能的实现方式中,结合第二方面的第二种可能的实现方式,
[0035] 所述发送单元,还用于当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
[0036] 其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
[0037] 在第二方面的第四种可能的实现方式中,结合第二方面至第二方面的第三种可能的实现方式中的任一种实现方式,
[0038] 所述装置还包括:
[0039] 检测单元,用于实时地检测所述虚拟设备的相关指标;
[0040] 所述生成单元,还用于若所述相关指标大于预设阈值,则更新所述SLA;根据更新后的SLA更新所述配置模板;
[0041] 其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
[0042] 由上可知,本发明实施例提供一种适配QoS的方法和装置,首先确定利用输入输出I/O资源的第一业务的服务质量QoS需求,然后根据所述第一业务的QoS需求生成所述第一服务等级协议SLA,再根据所述SLA生成用于配置执行第一业务的虚拟设备的配置模板,其中,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和,最后,向第一PCIe端点发送所述配置模板,指示第一PCIe端点根据该配置模板配置虚拟设备。由于,配置模板包含的软硬件资源所提供的服务质量值之和与业务的QoS需求相等,所以,PCIe端点根据该配置模板动态配置的虚拟设备在执行业务时,能够向业务提供满足业务的QoS需求的I/O资源。

附图说明

[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1为本发明实施例提供的一种应用场景示意图;
[0045] 图2为本发明实施例提供的一种PCIe端点为物理主机提供I/O资源的示意图;
[0046] 图3为本发明实施例提供的一种适配QoS的方法流程图。
[0047] 图4为本发明实施例提供的一种虚拟机迁移情况下适配QoS的示意图;
[0048] 图5为本发明实施例提供的一种适配QoS的装置的结构图;
[0049] 图5A为本发明实施例提供的一种适配QoS的装置的结构图;
[0050] 图5B为本发明实施例提供的一种适配QoS的装置的结构图;
[0051] 图6为本发明实施例提供的一种适配QoS的装置的结构图。

具体实施方式

[0052] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053] 如图1所示,示出了本发明适配服务质量(英文:Quality of Service,缩写:QoS)的方法的实施环境的网络架构。该实施环境的系统可以包括至少一个物理主机10、至少一个PCIe端点20、至少一个输入/输出(英文:Input/Out,缩写:I/O)资源30以及适配QoS的装置40。其中,物理主机10由中央处理器(英文:Central Processing Unit,缩写:CPU)、内存以及输入输出设备构成,可以包含至少一个虚拟机(英文:Virtual Machine,缩写:VM),虚拟机可以利用物理主机10中的部分资源和/或I/O资源的全部或部分资源运行某一业务;PCIe端点20的一端与物理主机10连接,另一端与I/O资源连接,PCIe端点20有自身的网络,可以将I/O资源30组成的I/O资源池中各设备的能力进行融合,生成具有不同功能的虚拟设备,通过该虚拟设备将I/O资源的部分能力或者全部能力提供给物理主机10;I/O资源30可以为计算设备、存储设备、网络设备等实体设备;适配QoS的装置40为本实施例提供的适配QoS的装置,可以为一台包含管理软件的管理服务器,用于管理所有的硬件组件(如物理主机、PCIe端点以及I/O资源)、监控整个系统的利用率、智能地部署数据的图形以及优化系统环境的操作,实现对该实施环境的运行和维护。
[0054] 图2示出了上述PCIe端点20给物理主机提供I/O资源的示意图。如图2所示,PCIe端点20通过逻辑引擎、队列缓存以及相应的软件(图2中未示出)将I/O资源30的部分能力或者全部能力提供给物理主机10,其中,逻辑引擎、队列缓存以及相应的软件以虚拟设备的形式表现出来;PCIe端点通过不同功能的逻辑引擎为物理主机提供不同逻辑功能的虚拟设备,并使用相应的软件驱动逻辑引擎的运行,同时,每个逻辑引擎使用队列缓存作为PCIe端点和I/O资源通信的缓冲。例如,如图2所示,当PCIe端点给物理主机10提供具有计算功能的虚拟设备a时,使用具有计算功能的逻辑引擎及一定数量的队列缓存,并使用相应驱动软件驱动该逻辑引擎的运行;当PCIe端点给物理主机10提供具有存储功能的虚拟设备时,使用具有存储功能的逻辑引擎及一定数量的队列缓存,并使用相应驱动软件驱动该逻辑引擎运行。
[0055] 不难理解,在本发明的实时环境中,虚拟设备的服务质量特性对是否能够满足利用I/O资源的业务的服务质量要求有至关重要的作用,然而,由于虚拟设备的服务质量特性是由PCIe端点配置的,所以,在本发明实施例中,若要使得虚拟设备提供的服务满足业务的服务质量要求,则需要PCIe端点合理的配置逻辑引擎、队列缓存以及相应软件来实现。此外,本领域普通技术人员可以理解,图2所示仅为示意,其并不对PCIe端点通过逻辑引擎、队列缓存以及相应的软件(图2中未示出)配置虚拟设备构成限定。例如,PCIe端点还可以通过比图2所示的逻辑引擎和队列缓存更多或者更少的逻辑组件配置虚拟设备,或者与图2所示仅通过逻辑引擎、队列缓存及相应软件配置虚拟设备。
[0056] 图3为第一实施例提供的适配QoS的方法的流程图。如图3所示,该方法可以包括:
[0057] 301、确定利用输入输出I/O资源的第一业务的服务质量QoS需求。
[0058] 其中,所述第一业务为运行在物理主机上的任一业务,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务;由于上述图2中已提到PCIe端点通过虚拟设备将I/O资源提供给物理主机中的虚拟机使用,所以,该步骤中利用输入输出I/O资源的业务的QoS需求实际上是业务对PCIe配置的虚拟设备的QoS需求。
[0059] 所述第一业务的QoS需求可以由下述至少一个服务质量需求值表示:吞吐量、时延、带宽、丢包率、抖动。
[0060] 优选的,本发明实施例中,可以根据业务的业务类型确定利用I/O资源的业务的QoS需求;例如,若业务是快速交付业务(如银行支付业务),则确定利用I/O资源的业务需要低时延;若业务为多媒体业务,则确定利用I/O资源的业务需要大带宽。
[0061] 此外,还可以根据历史数据库的统计确定利用I/O资源的业务的QoS需求;例如,根据对某电商业务的QoS需求的统计可知:在一些特定的时间内(如淘宝在双十一期间)会有大量的突发访问需求,此时该业务则需要大带宽,而在其他一些时间段(如淡季)因用户访问量大幅度降低,则无此需求。
[0062] 302、根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA。
[0063] 其中,服务等级协议(Service Level Agreement,SLA)是服务提供商和用户双方之间协商而确定的关于服务质量等级的协议和合同,该协议或合同的制定使该服务提供商和用户对服务、优先权和责任等达成共识。SLA主要包括两部分:(1)商业部分,如签约双方、权力责任、计费规则等;(2)技术部分,如源、目的节点地址、预留带宽大小、时延、抖动、丢包等服务质量需求值,以及其他一些与网络相关的技术参数。需要说明的是,本发明实施例生成的SLA仅包含服务对象以及服务质量需求值,如第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;其他部分则不在本实施例的讨论范围之内。例如,一快速交付业务1的时延要求为:小于等于0.5ms,则针对该业务生成的SLA为:业务1,时延:小于等于0.5ms。
[0064] 303、根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板。
[0065] 其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
[0066] 所述软硬件资源可以包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
[0067] 优选的,可以根据第一业务的SLA包含的服务质量需求值以及每种软硬件资源提供的服务质量值,自定义组合配置模板包含的软硬件资源的种类以及数量;例如:假设第一业务的SLA中要求带宽10M,每个逻辑引擎能提供2M带宽、每个队列缓存能提供1M带宽,则生成的配置模板可以为:逻辑引擎4个、队列缓存2个;或者,逻辑引擎3个、队列缓存4个等组合方式。
[0068] 还可以根据第一业务的SLA包含的服务质量需求值、以及预设的服务质量需求值与软硬件资源的映射关系生成配置模板;例如:第一业务SLA中要求带宽10M,预设映射关系为:5M带宽=逻辑引擎1个+队列缓存2个+中断向量2个,则为第一业务生成的配置模板可以为:2倍*(逻辑引擎1个+队列缓存2个+中断向量2个),即逻辑引擎2个、队列缓存4个、中断向量4个。
[0069] 304、向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备。
[0070] 其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
[0071] 进一步的,为了便于后期PCIe端点为具有同样QoS需求的业务配置同样功能的虚拟设备,所述方法还包括:存储所述配置模板;
[0072] 当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
[0073] 其中,所述第二业务运行在所述第一物理主机上。
[0074] 或者,当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
[0075] 其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
[0076] 如此,当运行业务的第一物理主机中的虚拟机从第一物理主机迁移至第二物理主机时,可以直接将存储的与该业务对应的配置模板应用于与第二物理主机连接的PCIe端点,由该PCIe端点根据该配置模板配置虚拟设备,通过该虚拟设备给业务提供I/O资源,保证迁移后的虚拟设备能够很好的满足业务的QoS需求,同时,由于该配置模板预先存储,当为相同QoS需求配置虚拟设备时,可以直接应用,大大缩短了适配QoS的时间。
[0077] 例如,图4为本发明实施例提供的一种虚拟机迁移情况下适配QoS的示意图,如图4所示,包括物理主机1、物理主机2、与物理主机1以及存储设备和计算设备连接的PCIe端点1、与物理主机2连接的PCIe端点2,其中,物理主机1包含虚拟机1和虚拟机2,PCIe端点1根据虚拟设备b的配置模板配置虚拟设备b,并将存储设备的能力通过虚拟设备b提供给虚拟机
2,以满足虚拟机2上业务的QoS需求。当虚拟机2从物理主机1迁移至物理主机2时,为了保证运行在虚拟机2上业务的QoS需求,此时,需要与物理主机2连接的PCIe端点2与存储设备连接,同时调用已存储的虚拟设备b的配置模板,根据该虚拟模板配置具有相同QoS特性的虚拟设备b,并将PCIe端点1中虚拟设备b当前状态与PCIe端点2中虚拟设备b的状态相同步。
[0078] 进一步的,本发明实施例中,还可以根据PCIe配置的虚拟设备的利用情况,动态的更新配置模板,具体的,所述方法还包括:
[0079] 实时地检测所述虚拟设备的相关指标;
[0080] 若所述相关指标大于预设阈值,则更新所述SLA;
[0081] 根据更新后的SLA更新所述配置模板;
[0082] 其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
[0083] 优选的,可以通过QoS传感器实时地检测所述虚拟设备的相关指标。
[0084] 其中,所述更新所述SLA包括:根据所述虚拟设备的相关指标增加或者降低所述SLA中包含的服务质量需求值。
[0085] 例如,若检测到逻辑引擎的利用率大于等于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量不能满足业务的QoS需求,此时,为了保证满足QoS需求,可以增加SLA中包含的服务质量需求值,根据该更新的SLA的增加配置模板中包含的逻辑引擎数量;若检测到逻辑引擎的利用率小于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量能够满足业务的QoS需求且有很大的剩余空间,为了确保资源利用率,此时,可以降低SLA中包含的服务质量需求值,根据该更新的SLA的降低配置模板中包含的逻辑引擎数量;其中,预设阈值根据需要设置,本发明实施例对比不进行限定。
[0086] 由上可知,本发明实施例提供一种适配QoS的方法和装置,首先确定利用输入输出I/O资源的第一业务的服务质量QoS需求,然后根据所述第一业务的QoS需求生成所述第一服务等级协议SLA,再根据所述SLA生成用于配置执行第一业务的虚拟设备的配置模板,其中,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和,最后,向第一PCIe端点发送所述配置模板,指示第一PCIe端点根据该配置模板配置虚拟设备。由于,配置模板包含的软硬件资源所提供的服务质量值之和与业务的QoS需求相等,所以,PCIe端点根据该配置模板动态配置的虚拟设备在执行业务时,能够向业务提供满足业务的QoS需求的I/O资源。
[0087] 图5为第二实施例提供的适配QoS的装置40的结构图,如图5所示,可以包括:
[0088] 确定单元401,用于确定利用输入输出I/O资源的第一业务的服务质量QoS需求。
[0089] 其中,所述第一业务为运行在物理主机上的任一业务,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务;由于上述图2中已提到PCIe端点通过虚拟设备将I/O资源提供给物理主机中的虚拟机使用,所以,该步骤中利用输入输出I/O资源的业务的QoS需求实际上是业务对PCIe配置的虚拟设备的QoS需求。
[0090] 所述第一业务的QoS需求可以由下述至少一个服务质量需求值表示:吞吐量、时延、带宽、丢包率、抖动。
[0091] 生成单元402,用于根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;
[0092] 以及,根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板。
[0093] 其中,服务等级协议(Service Level Agreement,SLA)是服务提供商和用户双方之间协商而确定的关于服务质量等级的协议和合同,该协议或合同的制定使该服务提供商和用户对服务、优先权和责任等达成共识。SLA主要包括两部分:(1)商业部分,如签约双方、权力责任、计费规则等;(2)技术部分,如源、目的节点地址、预留带宽大小、时延、抖动、丢包等服务质量需求值,以及其他一些与网络相关的技术参数。需要说明的是,本发明实施例生成的SLA仅包含服务对象以及服务质量需求值,如第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;其他部分则不在本实施例的讨论范围之内。例如,一快速交付业务1的时延要求为:小于等于0.5ms,则针对该业务生成的SLA为:业务1,时延:小于等于0.5ms。
[0094] 其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
[0095] 所述软硬件资源可以包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
[0096] 发送单元403,用于向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备。
[0097] 其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
[0098] 进一步的,所述确定单元401,具体用于:根据业务的业务类型确定利用I/O资源的业务的QoS需求;例如,若业务是快速交付业务(如银行支付业务),则确定利用I/O资源的业务需要低时延;若业务为多媒体业务,则确定利用I/O资源的业务需要大带宽。
[0099] 或者,根据历史数据库的统计确定利用I/O资源的业务的QoS需求;例如,根据对某电商业务的QoS需求的统计可知:在一些特定的时间内(如淘宝在双十一期间)会有大量的突发访问需求,此时该业务则需要大带宽,而在其他一些时间段(如淡季)因用户访问量大幅度降低,则无此需求。
[0100] 进一步的,所述生成单元402,具体用于:
[0101] 根据第一业务的SLA包含的服务质量需求值以及每种软硬件资源提供的服务质量值,自定义组合配置模板包含的软硬件资源的种类以及数量;例如:假设第一业务的SLA中要求带宽10M,每个逻辑引擎能提供2M带宽、每个队列缓存能提供1M带宽,则生成的配置模板可以为:逻辑引擎4个、队列缓存2个;或者,逻辑引擎3个、队列缓存4个等组合方式。
[0102] 或者,根据第一业务的SLA包含的服务质量需求值、以及预设的服务质量需求值与软硬件资源的映射关系生成配置模板;例如:第一业务SLA中要求带宽10M,预设映射关系为:5M带宽=逻辑引擎1个+队列缓存2个+中断向量2个,则为第一业务生成的配置模板可以为:2倍*(逻辑引擎1个+队列缓存2个+中断向量2个),即逻辑引擎2个、队列缓存4个、中断向量4个。
[0103] 进一步的,为了便于后期PCIe端点为具有同样QoS需求的业务配置同样功能的虚拟设备,如图5A所示,所述适配QoS的装置还包括:存储单元404,用于存储所述配置模板;
[0104] 所述发送单元403,还用于当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
[0105] 其中,所述第二业务运行在所述第一物理主机上。
[0106] 或者,当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
[0107] 其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
[0108] 如此,当运行业务的第一物理主机中的虚拟机从第一物理主机迁移至第二物理主机时,可以直接将存储的与该业务对应的配置模板应用于与第二物理主机连接的PCIe端点,由该PCIe端点根据该配置模板配置虚拟设备,通过该虚拟设备给业务提供I/O资源,保证迁移后的虚拟设备能够很好的满足业务的QoS需求,同时,由于该配置模板预先存储,当为相同QoS需求配置虚拟设备时,可以直接应用,大大缩短了适配QoS的时间。
[0109] 例如,图4为本发明实施例提供的一种虚拟机迁移情况下适配QoS的示意图,如图4所示,包括物理主机1、物理主机2、与物理主机1以及存储设备和计算设备连接的PCIe端点1、与物理主机2连接的PCIe端点2,其中,物理主机1包含虚拟机1和虚拟机2,PCIe端点1根据虚拟设备b的配置模板配置虚拟设备b,并将存储设备的能力通过虚拟设备b提供给虚拟机
2,以满足虚拟机2上业务的QoS需求。当虚拟机2从物理主机1迁移至物理主机2时,为了保证运行在虚拟机2上业务的QoS需求,此时,需要与物理主机2连接的PCIe端点2与存储设备连接,同时调用已存储的虚拟设备b的配置模板,根据该虚拟模板配置具有相同QoS特性的虚拟设备b,并将PCIe端点1中虚拟设备b当前状态与PCIe端点2中虚拟设备b的状态相同步。
[0110] 进一步的,为了根据PCIe配置的虚拟设备的利用情况,动态的更新配置模板,如图5B所示,所述适配QoS的装置还包括:
[0111] 检测单元405,用于实时地检测所述虚拟设备的相关指标;
[0112] 所述生成单元402,还用于若所述相关指标大于预设阈值,则更新所述SLA;
[0113] 根据更新后的SLA更新所述配置模板;
[0114] 其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
[0115] 示例性的,所述检测单元405,具体用于通过QoS传感器实时地检测所述虚拟设备的相关指标。
[0116] 示例性的,所述生成单元402,具体用于根据所述虚拟设备的相关指标增加或者降低所述SLA中包含的服务质量需求值。
[0117] 例如,若检测到逻辑引擎的利用率大于等于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量不能满足业务的QoS需求,此时,为了保证满足QoS需求,可以增加SLA中包含的服务质量需求值,根据该更新的SLA的增加配置模板中包含的逻辑引擎数量;若检测到逻辑引擎的利用率小于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量能够满足业务的QoS需求且有很大的剩余空间,为了确保资源利用率,此时,可以降低SLA中包含的服务质量需求值,根据该更新的SLA的降低配置模板中包含的逻辑引擎数量;其中,预设阈值根据需要设置,本发明实施例对比不进行限定。
[0118] 由上可知,本发明实施例提供一种适配QoS的装置40,首先确定利用输入输出I/O资源的第一业务的服务质量QoS需求,然后根据所述第一业务的QoS需求生成所述第一服务等级协议SLA,再根据所述SLA生成用于配置执行第一业务的虚拟设备的配置模板,其中,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和,最后,向第一PCIe端点发送所述配置模板,指示第一PCIe端点根据该配置模板配置虚拟设备。由于,配置模板包含的软硬件资源所提供的服务质量值之和与业务的QoS需求相等,所以,PCIe端点根据该配置模板动态配置的虚拟设备在执行业务时,能够向业务提供满足业务的QoS需求的I/O资源。
[0119] 图6为第二实施例提供的适配QoS的装置60的结构图,如图6所示,该装置可以包括:处理器601、存储器602、通信单元603,至少一个通信总线604,用于实现这些装置之间的连接和相互通信;
[0120] 处理器601可能是一个中央处理器(英文:central processing unit,简称为CPU);
[0121] 存储器602,可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);或者非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);或者上述种类的存储器的组合,并向处理器601提供指令和数据;
[0122] 通信单元603,用于与外部网元之间进行数据传输。
[0123] 处理器601,用于确定利用输入输出I/O资源的第一业务的服务质量QoS需求;
[0124] 根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;
[0125] 根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板。
[0126] 其中,所述第一业务为运行在物理主机上的任一业务,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务;由于上述图2中已提到PCIe端点通过虚拟设备将I/O资源提供给物理主机中的虚拟机使用,所以,该步骤中利用输入输出I/O资源的业务的QoS需求实际上是业务对PCIe配置的虚拟设备的QoS需求。
[0127] 所述第一业务的QoS需求可以由下述至少一个服务质量需求值表示:吞吐量、时延、带宽、丢包率、抖动。
[0128] 所述服务等级协议(Service Level Agreement,SLA)是服务提供商和用户双方之间协商而确定的关于服务质量等级的协议和合同,该协议或合同的制定使该服务提供商和用户对服务、优先权和责任等达成共识。SLA主要包括两部分:(1)商业部分,如签约双方、权力责任、计费规则等;(2)技术部分,如源、目的节点地址、预留带宽大小、时延、抖动、丢包等服务质量需求值,以及其他一些与网络相关的技术参数。需要说明的是,本发明实施例生成的SLA仅包含服务对象以及服务质量需求值,如第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;其他部分则不在本实施例的讨论范围之内。例如,一快速交付业务1的时延要求为:小于等于0.5ms,则针对该业务生成的SLA为:业务1,时延:小于等于0.5ms。
[0129] 其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
[0130] 所述软硬件资源可以包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
[0131] 通信单元603,用于向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备。
[0132] 其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
[0133] 进一步的,所述处理器601,具体用于:根据业务的业务类型确定利用I/O资源的业务的QoS需求;例如,若业务是快速交付业务(如银行支付业务),则确定利用I/O资源的业务需要低时延;若业务为多媒体业务,则确定利用I/O资源的业务需要大带宽。
[0134] 或者,根据历史数据库的统计确定利用I/O资源的业务的QoS需求;例如,根据对某电商业务的QoS需求的统计可知:在一些特定的时间内(如淘宝在双十一期间)会有大量的突发访问需求,此时该业务则需要大带宽,而在其他一些时间段(如淡季)因用户访问量大幅度降低,则无此需求。
[0135] 进一步的,所述处理器601,具体用于:
[0136] 根据第一业务的SLA包含的服务质量需求值以及每种软硬件资源提供的服务质量值,自定义组合配置模板包含的软硬件资源的种类以及数量;例如:假设第一业务的SLA中要求带宽10M,每个逻辑引擎能提供2M带宽、每个队列缓存能提供1M带宽,则生成的配置模板可以为:逻辑引擎4个、队列缓存2个;或者,逻辑引擎3个、队列缓存4个等组合方式。
[0137] 或者,根据第一业务的SLA包含的服务质量需求值、以及预设的服务质量需求值与软硬件资源的映射关系生成配置模板;例如:第一业务SLA中要求带宽10M,预设映射关系为:5M带宽=逻辑引擎1个+队列缓存2个+中断向量2个,则为第一业务生成的配置模板可以为:2倍*(逻辑引擎1个+队列缓存2个+中断向量2个),即逻辑引擎2个、队列缓存4个、中断向量4个。
[0138] 进一步的,为了便于后期PCIe端点为具有同样QoS需求的业务配置同样功能的虚拟设备,所述处理器601,还用于存储所述配置模板;
[0139] 所述通信单元603,还用于当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
[0140] 其中,所述第二业务运行在所述第一物理主机上。
[0141] 或者,当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
[0142] 其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
[0143] 如此,当运行业务的第一物理主机中的虚拟机从第一物理主机迁移至第二物理主机时,可以直接将存储的与该业务对应的配置模板应用于与第二物理主机连接的PCIe端点,由该PCIe端点根据该配置模板配置虚拟设备,通过该虚拟设备给业务提供I/O资源,保证迁移后的虚拟设备能够很好的满足业务的QoS需求,同时,由于该配置模板预先存储,当为相同QoS需求配置虚拟设备时,可以直接应用,大大缩短了适配QoS的时间。
[0144] 例如,图4为本发明实施例提供的一种虚拟机迁移情况下适配QoS的示意图,如图4所示,包括物理主机1、物理主机2、与物理主机1以及存储设备和计算设备连接的PCIe端点1、与物理主机2连接的PCIe端点2,其中,物理主机1包含虚拟机1和虚拟机2,PCIe端点1根据虚拟设备b的配置模板配置虚拟设备b,并将存储设备的能力通过虚拟设备b提供给虚拟机
2,以满足虚拟机2上业务的QoS需求。当虚拟机2从物理主机1迁移至物理主机2时,为了保证运行在虚拟机2上业务的QoS需求,此时,需要与物理主机2连接的PCIe端点2与存储设备连接,同时调用已存储的虚拟设备b的配置模板,根据该虚拟模板配置具有相同QoS特性的虚拟设备b,并将PCIe端点1中虚拟设备b当前状态与PCIe端点2中虚拟设备b的状态相同步。
[0145] 进一步的,为了根据PCIe配置的虚拟设备的利用情况,动态的更新配置模板,所述处理器601,还用于:
[0146] 实时地检测所述虚拟设备的相关指标;
[0147] 若所述相关指标大于预设阈值,则更新所述SLA;
[0148] 根据更新后的SLA更新所述配置模板;
[0149] 其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
[0150] 示例性的,所述处理器601,具体用于通过QoS传感器实时地检测所述虚拟设备的相关指标。
[0151] 示例性的,所述处理器601,具体用于根据所述虚拟设备的相关指标增加或者降低所述SLA中包含的服务质量需求值。
[0152] 例如,若检测到逻辑引擎的利用率大于等于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量不能满足业务的QoS需求,此时,为了保证满足QoS需求,可以增加SLA中包含的服务质量需求值,根据该更新的SLA的增加配置模板中包含的逻辑引擎数量;若检测到逻辑引擎的利用率小于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量能够满足业务的QoS需求且有很大的剩余空间,为了确保资源利用率,此时,可以降低SLA中包含的服务质量需求值,根据该更新的SLA的降低配置模板中包含的逻辑引擎数量;其中,预设阈值根据需要设置,本发明实施例对比不进行限定。
[0153] 由上可知,本发明实施例提供一种适配QoS的装置60,首先确定利用输入输出I/O资源的第一业务的服务质量QoS需求,然后根据所述第一业务的QoS需求生成所述第一服务等级协议SLA,再根据所述SLA生成用于配置执行第一业务的虚拟设备的配置模板,其中,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和,最后,向第一PCIe端点发送所述配置模板,指示第一PCIe端点根据该配置模板配置虚拟设备。由于,配置模板包含的软硬件资源所提供的服务质量值之和与业务的QoS需求相等,所以,PCIe端点根据该配置模板动态配置的虚拟设备在执行业务时,能够向业务提供满足业务的QoS需求的I/O资源。
[0154] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0155] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。