一种数据中心间服务功能体的部署调整方法及装置转让专利

申请号 : CN201510582734.X

文献号 : CN105141617B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 洪佩琳张泓周伟杨柯

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

摘要 :

本发明公开了一种数据中心间服务功能体的部署调整方法及装置,方法包括:根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级;根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置;根据所确定的所述各个服务功能体的部署优先级及所述各个服务功能体的可行部署位置建立搜索树;在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案;根据所述第二部署方案部署所述各个服务功能体。本发明能够动态调整服务功能体的部署,最小化路由开销。

权利要求 :

1.一种数据中心间服务功能体的部署调整方法,其特征在于,包括:

根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级;

根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置;

根据所确定的所述各个服务功能体的部署优先级及所述各个服务功能体的可行部署位置建立搜索树;

在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案;

根据所述第二部署方案部署所述各个服务功能体;

所述预设条件包括:每个服务功能体上有数据流经过,每个转发节点不处于过载状态,各段链路均不处于拥塞状态和服务功能体迁移总开销小于预设迁移总开销阈值。

2.根据权利要求1所述的方法,其特征在于,在所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级之前,还包括:根据预设时间内数据流的请求信息计算所述第一部署方案中各段链路的状态信息,并统计在所述预设时间内所述第一部署方案的路由总开销;

当任意一段链路处于拥塞状态和/或在所述预设时间内所述第一部署方案的路由总开销大于预设路由总开销阈值,则执行所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级的步骤。

3.根据权利要求2所述的方法,其特征在于,所述根据预设时间内数据流的请求信息计算所述第一部署方案中各段链路的状态信息具体如下:其中Sk表示链路段k的状态信息,mt表示所述预设时间t内数据

流总数量,c表示大于0小于1的常数, 表示倒数第i个数据流的请求信息,(1-c)i表示倒数第i个数据流的权重;当Sk大于预设链路门限阈值时,表示路段k处于拥塞状态。

4.根据权利要求1所述的方法,其特征在于,任意一个服务功能体处理的数据量为所述任意一个服务功能体所在的服务功能链处理的数据流的流量总和,所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级包括:确定处理的数据量越大的服务功能体的部署优先级越高。

5.根据权利要求1所述的方法,其特征在于,所述根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置包括:确定任意一个服务功能体的可行部署位置为所述任意一个服务功能体所在的服务功能链对应的转发路径上包括的所有转发节点的位置的并集。

6.根据权利要求5所述的方法,其特征在于,所述根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置之后,还包括:确定各个服务功能体的各个可行部署位置的优先级,具体包括:所处转发路径的数量越多的转发节点,该转发节点的位置作为可行部署位置的优先级越高;进一步地,对于所处转发路径的数量相同的转发节点,数据处理能力越高的转发节点,该转发节点的位置作为可行部署位置的优先级越高。

7.根据权利要求6所述的方法,其特征在于,所述搜索树的顶层由部署优先级最高的服务功能体的可行部署位置构成,所述搜索树的底层由部署优先级最低的服务功能体的可行部署位置构成,所述搜索树的中间层由部署优先级居中的服务功能体的可行部署位置构成,所述搜索树每层包含的各个可行部署位置按照所述各个可行部署位置的优先级排序分布。

8.根据权利要求7所述的方法,其特征在于,在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案包括:在所述搜索树中,自顶而下,按照每层包含的可行部署位置的优先级依次查找满足预设条件且路由开销最小的第二部署方案。

9.根据权利要求8所述的方法,其特征在于,在查找的过程中,如果在确定顶层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找中间层和底层的服务功能体的部署位置;或者在查找的过程中,如果在确定顶层及中间层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找底层的服务功能体的部署位置。

10.一种数据中心间服务功能体的部署调整装置,其特征在于,包括:

第一确定单元,用于根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级;

第二确定单元,用于根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置;

建立单元,用于根据所述第一确定单元确定的所述各个服务功能体的部署优先级及所述第二确定单元确定的所述各个服务功能体的可行部署位置建立搜索树;

查找单元,用于在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案;

处理单元,用于根据所述第二部署方案部署所述各个服务功能体;

所述预设条件包括:每个服务功能体上有数据流经过,每个转发节点不处于过载状态,各段链路均不处于拥塞状态和服务功能体迁移总开销小于预设迁移总开销阈值。

11.根据权利要求10所述的装置,其特征在于,所述装置还包括:

统计单元,用于根据预设时间内数据流的请求信息计算所述第一部署方案中各段链路的状态信息,并统计在所述预设时间内所述第一部署方案的路由总开销;

当任意一段链路处于拥塞状态和/或在所述预设时间内所述第一部署方案的路由总开销大于预设路由总开销阈值,则触发所述第一确定单元执行所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级的步骤。

12.根据权利要求11所述的装置,其特征在于,所述统计单元根据如下公式计算所述第一部署方案中各段链路的状态信息:其中Sk表示链路段k的状态信息,mt表示所述预设时间t内数据

流总数量,c表示大于0小于1的常数, 表示倒数第i个数据流的请求信息,(1-c)i表示倒数第i个数据流的权重;当Sk大于预设链路门限阈值时,表示路段k处于拥塞状态。

13.根据权利要求10所述的装置,其特征在于,任意一个服务功能体处理的数据量为所述任意一个服务功能体所在的服务功能链处理的数据流的流量总和,所述第一确定单元具体用于,确定处理的数据量越大的服务功能体的部署优先级越高。

14.根据权利要求10所述的装置,其特征在于,所述第二确定单元具体用于,确定任意一个服务功能体的可行部署位置为所述任意一个服务功能体所在的服务功能链对应的转发路径上包括的所有转发节点的位置的并集。

15.根据权利要求14所述的装置,其特征在于,所述装置还包括:

第三确定单元,用于在所述第二确定单元确定所述各个服务功能体的可行部署位置之后,确定各个服务功能体的各个可行部署位置的优先级,具体包括:确定所处转发路径的数量越多的转发节点,该转发节点的位置作为可行部署位置的优先级越高;进一步地,对于所处转发路径的数量相同的转发节点,确定数据处理能力越高的转发节点,该转发节点的位置作为可行部署位置的优先级越高。

16.根据权利要求15所述的装置,其特征在于,所述搜索树的顶层由部署优先级最高的服务功能体的可行部署位置构成,所述搜索树的底层由部署优先级最低的服务功能体的可行部署位置构成,所述搜索树的中间层由部署优先级居中的服务功能体的可行部署位置构成,所述搜索树每层包含的各个可行部署位置按照所述各个可行部署位置的优先级排序分布。

17.根据权利要求16所述的装置,其特征在于,所述查找单元具体用于,在所述搜索树中,自顶而下,按照每层包含的可行部署位置的优先级依次查找满足预设条件且路由开销最小的第二部署方案。

18.根据权利要求17所述的装置,其特征在于,在查找的过程中,如果所述查找单元在确定顶层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找中间层和底层的服务功能体的部署位置;或者在查找的过程中,如果所述查找单元在确定顶层及中间层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找底层的服务功能体的部署位置。

说明书 :

一种数据中心间服务功能体的部署调整方法及装置

技术领域

[0001] 本发明实施例涉及通信技术领域,尤其涉及一种数据中心间服务功能体的部署调整方法及装置。

背景技术

[0002] 网络运营商向用户提供的服务通常包括防火墙过滤服务、负载均衡服务以及转发代理服务等,云网络,特别是增值服务(Value Added Service,VAS)云,提供了一个服务功能体(Service Function,SF)的资源池,在该资源池中部署了多个服务功能体,服务功能体可以是固定的也可以是位置可调的。服务功能链(Service Function Chain,SFC)由服务功能体构成,服务功能链基于网络功能虚拟化(Network Function Visualization,NFV)、网络覆盖层技术以及软件定义网络(Software Defined Network,SDN),以提供更为灵活的网络服务功能为目标,利用服务功能链中智能控制平面与业务流分类器,实现更细粒度的服务供应与服务路径划分。
[0003] 数据中心间部署服务功能体可以为用户提供增值服务,在数据中心之间,可以通过合理部署服务功能体降低路由开销。然而现有技术中,经常会出现服务功能体集中部署于网络的入口或者网络的中心的部署场景,这种部署方案会造成网络局部拥塞严重,负载不均衡,且随着数据流请求的动态变化,现有部署方案无法自适应地进行调整,导致路由开销过大。

发明内容

[0004] 有鉴于此,本发明实施例提供了一种数据中心间服务功能体的部署调整方法及装置,能够动态调整服务功能体的部署,最小化路由开销。
[0005] 第一方面,本发明实施例提供了一种数据中心间服务功能体的部署调整方法,包括:
[0006] 根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级;
[0007] 根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置;
[0008] 根据所确定的所述各个服务功能体的部署优先级及所述各个服务功能体的可行部署位置建立搜索树;
[0009] 在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案;
[0010] 根据所述第二部署方案部署所述各个服务功能体。
[0011] 结合第一方面,在第一方面的第一种实施方式中,在所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级之前,还包括:
[0012] 根据预设时间内数据流的请求信息计算所述第一部署方案中各段链路的状态信息,并统计在所述预设时间内所述第一部署方案的路由总开销;
[0013] 当任意一段链路处于拥塞状态和/或在所述预设时间内所述第一部署方案的路由总开销大于预设路由总开销阈值,则执行所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级的步骤。
[0014] 结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述根据预设时间内数据流的请求信息计算所述第一部署方案中各段链路的状态信息具体如下:
[0015] 其中Sk表示链路段k的状态信息,mt表示所述预设时间t内i
数据流总数量,c表示大于0小于1的常数, 表示倒数第i个数据流的请求信息,(1-c) 表示倒数第i个数据流的权重;当Sk大于预设链路门限阈值时,表示路段k处于拥塞状态。
[0016] 结合第一方面,在第一方面的第三种实施方式中,任意一个服务功能体处理的数据量为所述任意一个服务功能体所在的服务功能链处理的数据流的流量总和,所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级包括:
[0017] 确定处理的数据量越大的服务功能体的部署优先级越高。
[0018] 结合第一方面,在第一方面的第四种实施方式中,所述根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置包括:
[0019] 确定任意一个服务功能体的可行部署位置为所述任意一个服务功能体所在的服务功能链对应的转发路径上包括的所有转发节点的位置的并集。
[0020] 结合第一方面的第四种实施方式,在第一方面的第五种实施方式中,所述根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置之后,还包括:
[0021] 确定各个服务功能体的各个可行部署位置的优先级,具体包括:所处转发路径的数量越多的转发节点,该转发节点的位置作为可行部署位置的优先级越高;进一步地,对于所处转发路径的数量相同的转发节点,数据处理能力越高的转发节点,该转发节点的位置作为可行部署位置的优先级越高。
[0022] 结合第一方面的第五种实施方式,在第一方面的第六种实施方式中,所述搜索树的顶层由部署优先级最高的服务功能体的可行部署位置构成,所述搜索树的底层由部署优先级最低的服务功能体的可行部署位置构成,所述搜索树的中间层由部署优先级居中的服务功能体的可行部署位置构成,所述搜索树每层包含的各个可行部署位置按照所述各个可行部署位置的优先级排序分布。
[0023] 结合第一方面的第六种实施方式,在第一方面的第七种实施方式中,在所述搜索树中,自顶而下,按照每层包含的可行部署位置的优先级依次查找满足预设条件且路由开销最小的第二部署方案。
[0024] 结合第一方面的第七种实施方式,在第一方面的第八种实施方式中,在查找的过程中,如果在确定顶层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找中间层和底层的服务功能体的部署位置;或者
[0025] 在查找的过程中,如果在确定顶层及中间层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找底层的服务功能体的部署位置。
[0026] 结合第一方面的第七种、或第八种实施方式,在第一方面的第九种实施方式中,所述预设条件包括:每个服务功能体上有数据流经过,每个转发节点不处于过载状态,各段链路均不处于拥塞状态和服务功能体迁移总开销小于预设迁移总开销阈值。
[0027] 第二方面,本发明实施例提供的一种数据中心间服务功能体的部署调整装置,包括:
[0028] 第一确定单元,用于根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级;
[0029] 第二确定单元,用于根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置;
[0030] 建立单元,用于根据所述第一确定单元确定的所述各个服务功能体的部署优先级及所述第二确定单元确定的所述各个服务功能体的可行部署位置建立搜索树;
[0031] 查找单元,用于在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案;
[0032] 处理单元,用于根据所述第二部署方案部署所述各个服务功能体。
[0033] 结合第二方面,在第二方面的第一种实施方式中,所述装置还包括:
[0034] 统计单元,用于根据预设时间内数据流的请求信息计算所述第一部署方案中各段链路的状态信息,并统计在所述预设时间内所述第一部署方案的路由总开销;
[0035] 当任意一段链路处于拥塞状态和/或在所述预设时间内所述第一部署方案的路由总开销大于预设路由总开销阈值,则触发所述第一确定单元执行所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级的步骤。
[0036] 结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述统计单元根据如下公式计算所述第一部署方案中各段链路的状态信息:
[0037] 其中Sk表示链路段k的状态信息,mt表示所述预设时间t内数据流总数量,c表示大于0小于1的常数, 表示倒数第i个数据流的请求信息,(1-c)i表示倒数第i个数据流的权重;当Sk大于预设链路门限阈值时,表示路段k处于拥塞状态。
[0038] 结合第二方面,在第二方面的第三种实施方式中,任意一个服务功能体处理的数据量为所述任意一个服务功能体所在的服务功能链处理的数据流的流量总和,所述第一确定单元具体用于,确定处理的数据量越大的服务功能体的部署优先级越高。
[0039] 结合第二方面,在第二方面的第四种实施方式中,所述第二确定单元具体用于,确定任意一个服务功能体的可行部署位置为所述任意一个服务功能体所在的服务功能链对应的转发路径上包括的所有转发节点的位置的并集。
[0040] 结合第二方面的第四种实施方式,在第二方面的第五种实施方式中,所述装置还包括:
[0041] 第三确定单元,用于在所述第二确定单元确定所述各个服务功能体的可行部署位置之后,确定各个服务功能体的各个可行部署位置的优先级,具体包括:确定所处转发路径的数量越多的转发节点,该转发节点的位置作为可行部署位置的优先级越高;进一步地,对于所处转发路径的数量相同的转发节点,确定数据处理能力越高的转发节点,该转发节点的位置作为可行部署位置的优先级越高。
[0042] 结合第二方面的第五种实施方式,在第二方面的第六种实施方式中,所述搜索树的顶层由部署优先级最高的服务功能体的可行部署位置构成,所述搜索树的底层由部署优先级最低的服务功能体的可行部署位置构成,所述搜索树的中间层由部署优先级居中的服务功能体的可行部署位置构成,所述搜索树每层包含的各个可行部署位置按照所述各个可行部署位置的优先级排序分布。
[0043] 结合第二方面的第六种实施方式,在第二方面的第七种实施方式中,所述查找单元具体用于,在所述搜索树中,自顶而下,按照每层包含的可行部署位置的优先级依次查找满足预设条件且路由开销最小的第二部署方案。
[0044] 结合第二方面的第七种实施方式,在第二方面的第八种实施方式中,在查找的过程中,如果所述查找单元在确定顶层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找中间层和底层的服务功能体的部署位置;或者
[0045] 在查找的过程中,如果所述查找单元在确定顶层及中间层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找底层的服务功能体的部署位置。
[0046] 结合第二方面的第七种、或第八种实施方式,在第二方面的第九种实施方式中,所述预设条件包括:每个服务功能体上有数据流经过,每个转发节点不处于过载状态,各段链路均不处于拥塞状态和服务功能体迁移总开销小于预设迁移总开销阈值。
[0047] 从以上技术方案可以看出,本发明实施例具有以下优点:
[0048] 本发明实施例中,在需要对现有部署方案进行部署调整时,会根据现有部署方案中服务功能体处理的数据量确定服务功能体的部署优先级,并根据服务功能体所在的服务功能链对应的转发路径确定服务功能体的可行部署位置,然后根据服务功能体的部署优先级及可行部署位置建立搜索树,在搜索树中查找满足预设条件且路由总开销最小的部署方案,根据查找到的部署方案重新部署服务功能体,从而实现了最小化路由开销的目的。

附图说明

[0049] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050] 图1为本发明数据中心间服务功能体的部署调整方法一个实施例示意图;
[0051] 图2为现有技术中服务功能体的部署方案一个实施例示意图;
[0052] 图3为本发明搜索树一个实施例示意图;
[0053] 图4为本发明数据中心间服务功能体的部署调整装置一个实施例示意图;
[0054] 图5为本发明数据中心间服务功能体的部署调整装置另一实施例示意图。

具体实施方式

[0055] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056] 请参阅图1,本发明数据中心间服务功能体的部署调整方法一个实施例包括:
[0057] 步骤101、根据第一部署方案中各个服务功能体处理的数据量确定各个服务功能体的部署优先级;
[0058] 具体实现中,第一部署方案可以是网络中已有的服务功能体部署方案,后面的第二部署方案则是重新确定的调整部署方案。由于每个服务功能体对网络的贡献程度不同,本实施例中,可以根据各个服务功能体处理的数据量确定各个服务功能体对网络的贡献程度,对网络贡献程度越高的服务功能体,其部署优先级也就越高。确定各个服务功能体的部署优先级之后,在后续的调整部署方案中,可以优先部署优先级较高的服务功能体,使优先级较高的服务功能体可以经过网络中心,减少路径冗余。
[0059] 步骤102、根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置;
[0060] 服务功能体优化部署的理想状态是:使服务功能体所在的服务功能链的服务功能路径和其对应的数据转发路径之间偏差最小,即尽可能使得服务功能路径相对于其数据转发路径没有冗余路径。而真实的部署场景中很难实现这一理想状态,为了尽量逼近这一理想状态,降低优化部署方案的搜索算法开销和部署成本,可以将每一个服务功能体的可行部署位置限定在其所在的服务功能链对应的数据转发路径所包括的转发节点的位置上,并可由运营商限定转发节点的数量,转发节点可以为交换机。
[0061] 步骤103、根据所确定的所述各个服务功能体的部署优先级及所述各个服务功能体的可行部署位置建立搜索树;
[0062] 搜索树的各层由不同部署优先级的服务功能体的可行部署位置构成,一层包括一个部署优先级的服务功能体的可行部署位置。
[0063] 步骤104、在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案;
[0064] 预设条件可根据实际网络中各节点或设备自身的属性,及网络的基本部署需求确定。路由开销与线路时延、线路带宽、跳数、线路占有率等因素有关,实际中可选用上述一种或几种因素综合来计算路由开销,具体在本发明实施例中,可利用线路总时延来计算路由总开销。
[0065] 步骤105、根据所述第二部署方案部署所述各个服务功能体。
[0066] 即根据最新确定的部署方案重新部署上述各个服务功能体,以使得路由总开销最小。
[0067] 为便于理解,下面以一个具体实施例说明本发明提供的部署调整方法。假设网络中现有的服务功能体部署方案如图2所示,图2中SF表示服务功能体,S表示转发节点,DC表示数据中心。图2中包括三个服务功能体SF1、SF2及SF3,这三个服务功能体所在的服务功能链包括:DC1->SF1->SF2->DC2,DC1->SF1->SF3->DC4,DC3->SF3->DC4。其中,服务功能链DC1->SF1->SF2->DC2对应两条转发路径:S2->S1->S3及S2->S4->S3;服务功能链DC1->SF1->SF3->DC4对应转发路径S2->S4->S5;服务功能链DC3->SF3->DC4对应转发路径S4->S5。
[0068] 初始时服务功能体按照图2所示部署,可能可以满足需求,但由于网络具有较强的动态性,一段时间以后,随着网络中数据流分布发生变化,初始部署方案可能已无法满足需求,因此,可以在初始部署之后,周期性地监测网络数据,以判断初始部署方案是否还能满足需求,若不满足,则触发重新部署。
[0069] 具体判断是否需要触发重新部署的方法可以是:统计预设时间内数据流的需求信息,根据预设时间内数据流的需求信息计算当前部署方案中各段链路的状态信息,具体可利用如下公式计算各段链路的状态信息:
[0070] 其中Sk表示链路段k的状态信息,mt表示所述预设时间t内数据流总数量,c表示大于0小于1的常数,c一般取值可以为10-6或者10-9, 表示倒数第i个数据流的请求信息,(1-c)i表示倒数第i个数据流的权重。由于周期性采样具有较大的突发性,瞬间的突发负载可能会触发重新部署,因此,为了避免这种突发性导致的不必要的触发部署,本实施例中,采用滑动窗口技术,即在上述公式中为不同时刻的数据流分配不同的权重,由于最新的数据流需求信息对当前网络调整的影响较大,故其权重较大,较为陈旧的数据流需求信息对当前网络调整的影响较小,故其权重随之减小,数据流需求信息在时间窗口t中出现的时间越早,其权重越小。
[0071] 当计算得到Sk大于预设链路门限阈值时,则表示路段k处于拥塞状态。当网络中任意一段链路(即任意两个转发节点间的链路段)处于拥塞状态,则可以触发重新部署。上述数据流需求信息可以包括数据流请求的转发路径及所需的传输带宽,对应地,预设链路门限阈值可以是该段链路可允许请求的最大带宽。
[0072] 具体判断是否需要触发重新部署的方法还可以是:统计在所述预设时间内当前部署方案的路由总开销,若路由总开销大于预设路由总开销阈值,则触发重新部署。
[0073] 另外,还可以将上述两种方法相结合来判断是否需要重新触发部署,即当任意一段链路处于拥塞状态且在所述预设时间内当前部署方案的路由总开销大于预设路由总开销阈值时,触发重新部署。
[0074] 在确定触发重新部署之后,可以确定当前部署方案中各个服务功能体处理的数据量,任意一个服务功能体处理的数据量为所述任意一个服务功能体所在的服务功能链处理的数据流的流量总和。例如网络中每个服务功能链处理的数量流的流量如下表所示:
[0075]序号 SFC 流量
1 DC1->SF1->SF2->DC2 100
2 DC1->SF1->SF3->DC4 75
3 DC3->SF3->DC4 45
[0076] 则根据上表可以计算出SF1处理的数据量为100+75=175,SF2处理的数据量为100,SF3处理的数据量为75+45=120。根据各个服务功能体处理的数据量确定各个服务功能体的部署优先级,即处理的数据量越大的服务功能体的部署优先级越高,则上面的例子中部署优先级由高到低依次是SF1、SF3、SF2。
[0077] 在确定各个服务功能体的部署优先级之后,可以确定各个服务功能体的可行部署位置,本实施例中,任意一个服务功能体的可行部署位置为该服务功能体所在的服务功能链对应的转发路径上包括的所有转发节点的位置的并集。具体在图2中,从DC1到DC2的数据流要经过转发节点S2、S1、S3或S2、S4、S3,则DC1到DC2之间服务功能体SF1及SF2的可行部署位置包括(S1、S2、S3、S4),从DC1到DC4的数据流要经过转发节点S2、S4、S5,则DC1到DC4之间服务功能体SF1及SF3的可行部署位置包括(S2、S4、S5),从DC3到DC4的数据流要经过转发节点S4、S5,则DC3到DC4之间服务功能体SF3的可行部署位置包括(S4、S5)。综合上述数据最终可得SF1的可行部署位置包括(S1、S2、S3、S4、S5),SF2的可行部署位置包括(S1、S2、S3、S4),SF3的可行部署位置包括(S2、S4、S5)。
[0078] 接下来确定每个服务功能体的各个可行部署位置的优先级,确定的方法为:所处转发路径的数量越多的转发节点,该转发节点的位置作为可行部署位置的优先级越高;进一步地,对于所处转发路径的数量相同的转发节点,确定数据处理能力越高的转发节点,该转发节点的位置作为可行部署位置的优先级越高。每个转发节点的数据处理能力可为与该转发节点相连的所有链路的出口及入口的带宽之和。
[0079] 则对于SF1的5个可行部署位置,S2处于三条转发路径,S1和S5均只处于一条转发路径,S3和S4都处于两条转发路径,则S2的优先级最高,S3和S4次之,S1和S5优先级最低;对于所处转发路径的数量相同的两组转发节点S3和S4及S1和S5需做进一步的判断,假设每条链路的带宽相同均为1,则S3和S4的数据处理能力分别为2和3,S4的优先级高于S3,S1和S5的数据处理能力分别为2和1,则S1的优先级高于S5,最终SF1的5个可行部署位置的优先级从高到低依次是S2、S4、S3、S1、S5。同理可得SF3的3个可行部署位置的优先级从高到低依次是S2、S4、S5,SF5的4个可行部署位置的优先级从高到低依次是S2、S4、S3、S1。
[0080] 接下来基于上面计算得到的每个服务功能体的部署优先级,每个服务功能体可行部署位置及可行部署位置优先级建立搜索树,所建立的搜索树可如图3所示,所述搜索树的顶层由部署优先级最高的服务功能体SF1的可行部署位置构成,所述搜索树的底层由部署优先级最低的服务功能体SF2的可行部署位置构成,所述搜索树的中间层由部署优先级居中的服务功能体SF3的可行部署位置构成,所述搜索树每层包含的各个可行部署位置按照所述各个可行部署位置的优先级排序分布。
[0081] 在上面所建立的搜索树中查找查找满足预设条件且路由总开销最小的新的部署方案。具体查找的方法可以为:在所述搜索树中,自顶而下,按照每层包含的可行部署位置的优先级依次查找满足预设条件且路由开销最小的新的部署方案。
[0082] 预设条件包括每个服务功能体上有数据流经过,每个转发节点不处于过载状态,各段链路均不处于拥塞状态和服务功能体迁移开销小于预设迁移开销阈值。
[0083] 其中,每个转发节点不处于过载状态可以指每个转发节点上连接的服务功能体数量不超过预设数量阈值,或者每个转发节点上通过的流量不超过预设流量阈值。
[0084] 由于服务功能体重新部署时涉及服务功能体的迁移,迁移过程中拆卸和加载服务功能体均存在开销,因此需要考虑迁移开销。本实施例中,可以考虑使用凸函数 对这一过程进行描述,bs=1表示服务功能体s的位置发生了变化, 表示服务功能体s转移到节点v上的转移开销, 受到多个因素的制约,包括占用存储空间的开销、计算资源的占用开销、拆卸与安装过程的开销以及服务功能体给转发节点v及其周围链路带来的额外的开销,实际中,需要保证所有服务功能体的迁移总开销小于预设迁移总开销阈值。
[0085] 具体的查找过程例如:先确定SF1的部署位置为S2,再确定SF3的部署位置为S2,最后确定SF2的部署位置为S4,如果这个部署方案满足所述预设条件且该部署方案下的路由总开销小于预设路由总开销阈值,则将该部署方案及其路由总开销记录下来。依次类推,记录满足所述预设条件且路由总开销小于预设路由总开销阈值的部署方案及其路由总开销,最终选取路由总开销最小的部署方案作为新的部署方案。或者在得到第一个及第二个满足预设条件且路由开销小于预设路由总开销阈值的部署方案之后,比较两个部署方案的路由总开销,记录二者中路由开销较小的部署方案,在得到第三个满足预设条件且路由开销小于预设路由总开销阈值的部署方案之后,比较第三个部署方案与之前记录的路由总开销较小的部署方案的路由总开销,记录二者中路由总开销较小的部署方案,依次迭代,最终得到满足预设条件且路由总开销最小的部署方案作为新的部署方案,根据新的部署方案重新部署各个服务功能体。
[0086] 另外,在按照上述方法查找的过程中,如果在确定顶层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找中间层和底层的服务功能体的部署位置,返回到顶层的下一个候选位置继续查找;或者在查找的过程中,如果在确定顶层及中间层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找底层的服务功能体的部署位置,返回到中间层的下一个候选位置继续查找。即当某一搜索路径一定不能达到最优解时则不再继续向搜索树深处搜索。由于每一级搜索都会加入新的服务功能体,加入新的服务功能体将导致服务功能路径与数据转发路径的差距加大,因此搜索路径越深,当前的路由开销就会越大,因此,当搜索过程未结束而当前路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件时,则停止在该搜索路径的搜索,以减小搜索范围,提高搜索效率。
[0087] 本实施例中,在需要对现有部署方案进行部署调整时,会根据现有部署方案中服务功能体处理的数据量确定服务功能体的部署优先级,根据服务功能体所在的服务功能链对应的转发路径确定服务功能体的可行部署位置并确定可行部署位置的优先级,然后根据服务功能体的部署优先级及可行部署位置及可行部署位置优先级建立搜索树,在搜索树中查找满足预设条件且路由总开销最小的部署方案,根据查找到的部署方案重新部署服务功能体,从而实现了最小化路由开销的目的。
[0088] 下面请参阅图4,本发明数据中心间服务功能体的部署调整装置一个实施例包括:
[0089] 第一确定单元401,用于根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级;
[0090] 第二确定单元402,用于根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置;
[0091] 建立单元403,用于根据所述第一确定单元确定的所述各个服务功能体的部署优先级及所述第二确定单元确定的所述各个服务功能体的可行部署位置建立搜索树;
[0092] 查找单元404,用于在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案;
[0093] 处理单元405,用于根据所述第二部署方案部署所述各个服务功能体。
[0094] 进一步地,上述装置还包括:
[0095] 统计单元406,用于根据预设时间内数据流的请求信息计算所述第一部署方案中各段链路的状态信息,并统计在所述预设时间内所述第一部署方案的路由总开销;
[0096] 当任意一段链路处于拥塞状态和/或在所述预设时间内所述第一部署方案的路由总开销大于预设路由总开销阈值,则触发所述第一确定单元401执行所述根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级的步骤。
[0097] 进一步地,所述统计单元406根据如下公式计算所述第一部署方案中各段链路的状态信息:
[0098] 其中Sk表示链路段k的状态信息,mt表示所述预设时间t内数据流总数量,c表示大于0小于1的常数, 表示倒数第i个数据流的请求信息,(1-c)i表示倒数第i个数据流的权重;当Sk大于预设链路门限阈值时,表示路段k处于拥塞状态。
[0099] 进一步地,任意一个服务功能体处理的数据量为所述任意一个服务功能体所在的服务功能链处理的数据流的流量总和,所述第一确定单元401具体用于,确定处理的数据量越大的服务功能体的部署优先级越高。
[0100] 进一步地,所述第二确定单元402具体用于,确定任意一个服务功能体的可行部署位置为所述任意一个服务功能体所在的服务功能链对应的转发路径上包括的所有转发节点的位置的并集。
[0101] 进一步地,所述装置还包括:
[0102] 第三确定单元407,用于在所述第二确定单元402确定所述各个服务功能体的可行部署位置之后,确定各个服务功能体的各个可行部署位置的优先级,具体包括:确定所处转发路径的数量越多的转发节点,该转发节点的位置作为可行部署位置的优先级越高;进一步地,对于所处转发路径的数量相同的转发节点,确定数据处理能力越高的转发节点,该转发节点的位置作为可行部署位置的优先级越高。
[0103] 进一步地,所述搜索树的顶层由部署优先级最高的服务功能体的可行部署位置构成,所述搜索树的底层由部署优先级最低的服务功能体的可行部署位置构成,所述搜索树的中间层由部署优先级居中的服务功能体的可行部署位置构成,所述搜索树每层包含的各个可行部署位置按照所述各个可行部署位置的优先级排序分布。
[0104] 进一步地,所述查找单元404具体用于,在所述搜索树中,自顶而下,按照每层包含的可行部署位置的优先级依次查找满足预设条件且路由开销最小的第二部署方案。
[0105] 进一步地,在查找的过程中,如果所述查找单元404在确定顶层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找中间层和底层的服务功能体的部署位置;或者
[0106] 在查找的过程中,如果所述查找单元404在确定顶层及中间层的服务功能体的部署位置之后,路由总开销已大于预设路由总开销阈值和/或已不满足所述预设条件,则停止继续向下查找底层的服务功能体的部署位置。
[0107] 进一步地,所述预设条件包括:每个服务功能体上有数据流经过,每个转发节点不处于过载状态,各段链路均不处于拥塞状态和服务功能体迁移总开销小于预设迁移总开销阈值。
[0108] 本实施例中,在需要对现有部署方案进行部署调整时,第一确定单元会根据现有部署方案中服务功能体处理的数据量确定服务功能体的部署优先级,第二确定单元根据服务功能体所在的服务功能链对应的转发路径确定服务功能体的可行部署位置,并由第三确定单元确定可行部署位置的优先级,然后建立单元根据服务功能体的部署优先级及可行部署位置及可行部署位置优先级建立搜索树,查找单元在搜索树中查找满足预设条件且路由总开销最小的部署方案,处理单元根据查找到的部署方案重新部署服务功能体,从而实现了最小化路由开销的目的。
[0109] 请参阅图5,本发明部署调整装置另一实施例包括处理器501及存储器502,其中处理器501调用存储器502中存储的软件程序以执行下列步骤:
[0110] 根据第一部署方案中各个服务功能体处理的数据量确定所述各个服务功能体的部署优先级;
[0111] 根据所述各个服务功能体所在的服务功能链对应的转发路径确定所述各个服务功能体的可行部署位置;
[0112] 根据所确定的所述各个服务功能体的部署优先级及所述各个服务功能体的可行部署位置建立搜索树;
[0113] 在所述搜索树上查找满足预设条件且路由总开销最小的第二部署方案;
[0114] 根据所述第二部署方案部署所述各个服务功能体。
[0115] 另外,本实施例的部署调整装置还可以执行前述方法实施例中的其他步骤,此处不再赘述。
[0116] 另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0117] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0118] 以上对本发明实施例所提供的一种数据中心间服务功能体的部署调整方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。