业务请求的处理方法、装置和系统与流程

文档序号:33491933发布日期:2023-03-17 20:20阅读:25来源:国知局
业务请求的处理方法、装置和系统与流程

1.本公开涉及通信领域,尤其是一种业务请求的处理方法、装置和系统。


背景技术:

2.移动通信领域中,运营商基于服务功能链(service function chaining,sfc)对用户的业务请求进行处理。sfc包括具有特定顺序的多个虚拟网络功能(virtual network function,vnf),每个vnf由对应的vnf实例调用对应的物理节点的资源,从而实现业务请求的处理。
3.然而,随着用户数量和业务流量的增长,导致核心网络拥塞以及云数据中心的物理节点的计算资源短缺的问题,从而导致业务请求的处理速度下降。
4.相关技术中,通过将sfc中的部分vnf从核心网络迁移到更靠近终端设备的边缘计算中心来解决这一问题。


技术实现要素:

5.发明人注意到,这种方式下,核心网络拥塞和云数据中心的计算资源短缺的问题虽然得到了缓解,但业务请求的处理速度的提高并不明显。
6.发明人经分析发现,这是由于在处理业务请求时,没有综合考虑边缘计算中心和云数据中心的多个链路的实际带宽负载情况。在业务流量大的情况下,链路的带宽负载不均衡,部分链路的带宽负载较高,从而导致这部分链路转发数据的时延较高,降低了业务请求的处理速度。
7.为了解决上述问题,本公开实施例提出了如下解决方案。
8.根据本公开实施例的一方面,提供一种业务请求的处理方法,包括:响应于包括至少一个业务请求的业务请求组,确定多种处理方案,每种处理方案包括每个业务请求对应的路径,所述路径包括多个虚拟网络功能vnf实例,每个vnf实例对应一个物理节点,其中,所述多个vnf实例对应的物理节点位于分布式的两个数据中心;确定每种处理方案的目标值,包括:基于多个链路中每个链路当前的第一带宽负载和该种处理方案需要占用该链路的第二带宽负载确定该链路的第三带宽负载,以得到多个第三带宽负载,所述多个链路由所述两个数据中心中的多个物理节点组成;基于所述多个第三带宽负载确定第一负载均衡参数,所述第一负载均衡参数为所述多个第三带宽负载中最高的第三带宽负载与所述多个第三带宽负载的平均值之比;和基于目标参数计算所述目标值,所述目标参数包括所述第一负载均衡参数,所述目标值与所述第一负载均衡参数正相关;以及将所述多种处理方案中目标值小于预设值的一种确定为对所述业务请求组进行处理的处理方案。
9.在一些实施例中,所述多个物理节点包括不处理业务的多个交换节点;确定每种处理方案的目标值还包括:基于每个交换节点当前的第一流量转发负载和该种处理方案需要占用该交换节点的第二流量转发负载确定该交换节点的第三流量转发负载,以得到多个第三流量转发负载;基于所述多个第三流量转发负载确定第二负载均衡参数,所述第二负
载均衡参数为所述多个第三流量转发负载中最高的第三流量转发负载与所述多个第三流量转发负载的平均值之比;其中,所述目标参数还包括所述第二负载均衡参数,所述目标值与所述第二负载均衡参数正相关。
10.在一些实施例中,确定每种处理方案的目标值还包括:基于每个物理节点当前的第一资源负载和该种处理方案需要占用该物理节点的第二资源负载确定该物理节点的第三资源负载,以得到多个第三资源负载;基于所述多个第三资源负载确定第三负载均衡参数,所述第三负载均衡参数为所述多个第三资源负载中最高的第三资源负载与所述多个第三资源负载的平均值之比;其中,所述目标参数还包括所述第三负载均衡参数,所述目标值与所述第三负载均衡参数正相关。
11.在一些实施例中,每个业务请求对应的路径在处理该业务请求时需要消耗所述多个链路的第一带宽;确定每种处理方案的目标值还包括:计算每种处理方案的总带宽,所述总带宽等于该种处理方案的每个业务请求对应的路径的第一带宽的总和;其中,所述目标参数还包括所述总带宽,所述目标值与所述总带宽正相关。
12.在一些实施例中,每个vnf实例运行时需要消耗第一资源,每个vnf实例处理所述业务请求组时需要消耗第二资源;确定每种处理方案的目标值还包括:计算每种处理方案的总资源,所述总资源等于该种处理方案的每个vnf实例的第一资源和第二资源的总和;其中,所述目标参数还包括所述总资源,所述目标值与所述总资源正相关。
13.在一些实施例中,每种处理方案满足约束条件,所述约束条件包括:每个业务请求对应的路径处理该业务请求所需的时长小于第一阈值。
14.在一些实施例中,所述两个数据中心包括边缘计算中心和云数据中心,所述多个vnf实例包括第一组vnf实例和在所述第一组vnf实例之后第二组vnf实例,所述第一组vnf实例对应的物理节点位于所述边缘计算中心,所述第二组vnf实例位于所述云数据中心;每个业务请求对应的路径处理该业务请求所需的时长小于第一阈值包括:所述第一组vnf实例处理该业务请求所需的第一时长小于第二阈值;所述第二组vnf实例处理该业务请求所需的第二时长小于第三阈值。
15.在一些实施例中,将所述多种处理方案中目标值小于预设值的一种确定为对所述业务请求组进行处理的处理方案包括:将所述多种处理方案中目标值最小的一种确定为对所述业务请求组进行处理的处理方案。
16.在一些实施例中,利用磷虾算法确定所述多种处理方案和所述目标值,其中,所述磷虾算法基于处于多种状态的n个粒子得到所述多种处理方案,n≥2,每个粒子在不同状态下的位置不同,每种处理方案与n个粒子中处于某一种状态的一个粒子对应;其中,每种处理方案的目标值是基于所述目标参数计算的对应的粒子的适应度;在计算得到n个粒子在某一种状态的适应度后切换到另一种状态,其中,在所述切换之前,按照如下方式对n个粒子执行混合交叉处理,包括:将第i个粒子与第n-i+1个粒子交换,其中,i为大于等于1且小于等于n的各个整数;在所述交换后,将n个粒子中的第j个粒子依次与第k个粒子交换,其中,j为大于等于1且小于n的任意一个整数,k为大于等于j+1且小于等于n的各个整数。
17.根据本公开实施例的另一方面,提供一种业务请求的处理装置,包括:第一确定模块,被配置为响应于包括至少一个业务请求的业务请求组,确定多种处理方案,每种处理方案包括每个业务请求对应的路径,所述路径包括多个虚拟网络功能vnf实例,每个vnf实例
对应一个物理节点,其中,所述多个vnf实例对应的物理节点位于分布式的两个数据中心;第二确定模块,被配置为确定每种处理方案的目标值,包括:基于多个链路中每个链路当前的第一带宽负载和该种处理方案需要占用该链路的第二带宽负载确定该链路的第三带宽负载,以得到多个第三带宽负载,所述多个链路由所述两个数据中心中的多个物理节点组成;基于所述多个第三带宽负载确定第一负载均衡参数,所述第一负载均衡参数为所述多个第三带宽负载中最高的第三带宽负载与所述多个第三带宽负载的平均值之比;和基于目标参数计算所述目标值,所述目标参数包括所述第一负载均衡参数,所述目标值与所述第一负载均衡参数正相关;以及第三确定模块,被配置为将所述多种处理方案中目标值小于预设值的一种确定为对所述业务请求组进行处理的处理方案。
18.根据本公开实施例的还一方面,提供一种业务请求的处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行上述任意一个实施例所述的业务请求的处理方法。
19.根据本公开实施例的还一方面,提供一种业务请求的处理系统,包括:上述任意一个实施例所述的业务请求的处理装置;和所述两个数据中心。
20.在一些实施例中,所述系统还包括:接入点,用于接入所述业务请求组。
21.根据本公开实施例的还一方面,提供一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述任意一个实施例所述的业务请求的处理方法。
22.根据本公开实施例的还一方面,提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一个实施例所述的业务请求的处理方法。
23.本公开实施例中,响应于业务请求组,确定多种处理方案,并基于反映每种处理方案下链路的负载均衡程度的第一负载均衡参数确定每种处理方案的目标值。然后,将目标值小于预设值的一种处理方案确定为对业务请求组进行处理的处理方案。如此,可以确保在处理业务请求组时多个链路之间的负载均衡,从而可以避免出现部分链路的带宽负载过高的情况,进而可以提高业务请求的处理速度。
24.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
25.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是根据本公开一些实施例的业务请求的处理方法的流程示意图;
27.图2是根据本公开一些实施例的确定每种处理方案的目标值的流程示意图;
28.图3是根据本公开一些实施例的业务请求的处理装置的结构示意图;
29.图4是根据本公开又一些实施例的务请求的处理装置的结构示意图;
30.图5是根据本公开一些实施例的业务请求的处理系统的结构示意图。
具体实施方式
31.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
32.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
33.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
34.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
35.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
36.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
37.图1是根据本公开一些实施例的业务请求的处理方法的流程示意图。
38.在步骤102,响应于包括至少一个业务请求的业务请求组,确定多种处理方案。
39.这里,每种处理方案包括每个业务请求对应的路径。每个路径包括多个虚拟网络功能(vnf)实例,并且,每个vnf实例对应一个物理节点。每种处理方案的多个vnf实例对应的物理节点位于分布式的两个数据中心。应理解,对于某个路径来说,多个vnf实例是按照先后顺序一一排布而形成该路径的。
40.例如,两个数据中心为边缘计算中心和云数据中心。边缘计算中心和云数据中心各自包括多个物理节点。
41.应理解,对于每种处理方案而言,不同业务请求对应的路径可以相同或不同。
42.在步骤104,确定每种处理方案的目标值。步骤104包括步骤1041~步骤1043。
43.在步骤1041,基于多个链路中每个链路当前的第一带宽负载和该种处理方案需要占用该链路的第二带宽负载确定该链路的第三带宽负载,以得到多个第三带宽负载。
44.这里,多个链路由两个数据中心中的多个物理节点组成。可以理解,多个链路为两个数据中心中任意两个相连的物理节点之间的链路的集合。
45.应理解,链路的带宽负载表示链路的带宽的利用率。
46.例如,可以获取每个链路的最大可用带宽和当前的带宽负载(即,第一带宽负载),并获取每个业务请求对应的数据量。可以基于每个业务请求的数据量和每个链路的最大可用带宽确定每种处理方案需要占用该链路的带宽负载(即,第二带宽负载)。然后,将每个链路当前的第一带宽负载和第二带宽负载相加,则可以得到该种处理方案下每个链路的第三带宽负载。
47.在步骤1042,基于多个第三带宽负载确定第一负载均衡参数。
48.这里,第一负载均衡参数为多个第三带宽负载中最高的第三带宽负载与多个第三带宽负载的平均值之比。
49.应理解,每种处理方案的第一负载均衡参数能够反映该种处理方案下,多个链路
的带宽的负载均衡程度。
50.第一负载均衡参数越接近1表示多个第三带宽负载中最高的第三带宽负载越接近多个第三带宽负载的平均值,这意味着多个链路之间带宽负载越均衡。第一负载均衡参数越大表示多个第三带宽负载中最高的第三带宽负载与多个第三带宽负载的平均值差距越大,这意味着多个链路之间带宽负载越不均衡。
51.在步骤1043,基于目标参数计算目标值。
52.这里,目标参数包括第一负载均衡参数,并且,目标值与第一负载均衡参数正相关。例如,目标值与第一负载均衡参数成正比。本公开实施例并不限于此,目标值也可以其他方式与第一负载均衡参数正相关。
53.在步骤106,将多种处理方案中目标值小于预设值的一种确定为对业务请求组进行处理的处理方案。
54.因每种处理方案的目标值与该种处理方案的第一负载均衡参数正相关,目标值小于预设值的一种处理方案则意味着该种处理方案下,多个链路之间的带宽负载足够均衡。
55.应理解,确定的处理方案的路径中的每个vnf实例调用对应的物理节点的资源处理业务请求。
56.上述实施例中,响应于业务请求组,确定多种处理方案,并基于反映每种处理方案下链路的负载均衡程度的第一负载均衡参数确定每种处理方案的目标值。然后,将目标值小于预设值的一种处理方案确定为对业务请求组进行处理的处理方案。如此,可以确保在处理业务请求组时多个链路之间的负载均衡,从而可以避免出现部分链路的带宽负载过高的情况,进而可以提高业务请求的处理速度。
57.另一方面,在部分链路的带宽负载过高的情况下,这些带宽转发数据的丢包率较高,从而会降低业务请求处理的成功率。本公开实施例可以避免出现部分链路的带宽负载过高的情况,从而可以提高业务请求处理的成功率。
58.下面结合一些实施例对图1所示的业务请求的处理方法进一步说明。
59.在一些实施例中,将多种处理方案中目标值最小的一种确定为对业务请求组进行处理的处理方案。如此,可以进一步提高业务请求的处理速度和成功率。
60.在一些实施例中,每种处理方案均满足约束条件。
61.在一些实施例中,约束条件包括:每个业务请求对应的路径处理该业务请求所需的时长小于第一阈值。如此,可以在找到最优处理方案的同时,确保该种处理方案下,每个业务请求对应的路径处理该业务请求所需的时长较短,从而可以进一步提高业务请求的处理速度,提高用户的满意度。
62.在一些实施例中,两个数据中心包括边缘计算中心和云数据中心。每个业务请求对应的路径的多个vnf实例包括第一组vnf实例和在第一组vnf实例之后第二组vnf实例。这里,第一组vnf实例对应的物理节点位于边缘计算中心,并且第二组vnf实例位于云数据中心。在这种情况下,第一组vnf实例处理该业务请求所需的第一时长小于第二阈值,并且,第二组vnf实例处理该业务请求所需的第二时长小于第三阈值。例如,可以基于用户的服务质量(quality of service,qos)策略确定第二阈值和第三阈值。
63.如此,可以进一步保证业务请求的处理速度,从而进一步提高用户的满意度。
64.本公开实施例确定的每种处理方案还可以满足其他约束条件,例如:每个链路的
第三带宽负载小于等于1;每个物理节点的第三资源负载小于等于1;每个业务请求的路径的第一个vnf实例对应的物理节点与该业务请求的接入的接入点连接等。在此不再赘述。后文将对第三资源负载进行说明。
65.在一些实施例中,步骤1043中的目标参数还包括第二负载均衡参数、第三负载均衡参数、总带宽和总资源中的至少一项。下面结合图2进一步说明。
66.图2是根据本公开一些实施例的确定每种处理方案的目标值的流程示意图。
67.如图2所示,确定每种处理方案的目标值除步骤1041~步骤1043外,还包括以下四组步骤中的至少一组:步骤1044~步骤1045;步骤1046~步骤1047;步骤1048;步骤1049。应理解,步骤1043在各组步骤之后执行。
68.在一些实施例中,多个物理节点包括不处理业务的多个交换节点。可以执行步骤1044~步骤1045以确定第二负载均衡参数。
69.在步骤1044,基于每个交换节点当前的第一流量转发负载和该种处理方案需要占用该交换节点的第二流量转发负载确定该交换节点的第三流量转发负载,以得到多个第三流量转发负载。
70.应理解,类似地,交换节点的流量转发负载表示交换节点需要转发的流量和可转发的最大流量之比。
71.例如,可以获取每个交换节点可转发的最大流量和当前的流量转发负载(即,第一流量转发负载)。可以基于每个业务请求的数据量和每个交换节点可转发的最大流量确定每种处理方案需要占用该交换节点的流量转发负载(即,第二流量转发负载)。然后,将每个交换节点当前的第一流量转发负载和第二流量转发负载相加,则可以得到每个交换节点的第三流量转发负载。
72.在步骤1045,基于多个第三流量转发负载确定第二负载均衡参数。
73.这里,第二负载均衡参数为多个第三流量转发负载中最高的第三流量转发负载与多个第三流量转发负载的平均值之比。
74.应理解,类似于第一负载均衡参数,每种处理方案的第二负载均衡参数能够反映该种处理方案下,多个交换节点的转发流量的负载均衡程度。
75.在这些实施例中,目标参数还包括第二负载均衡参数,并且,目标值与第二负载均衡参数正相关。例如,目标值与第二负载均衡参数成正比。如此,可以在保证多个链路之间的带宽负载均衡的同时,保证多个交换节点转发流量的负载均衡,从而避免出现部分交换节点转发流量过高的情况,进而可以进一步提高业务请求处理的速度和成功率。
76.在一些实施例中,可以执行步骤1046~步骤1047以确定第三负载均衡参数。
77.在步骤1046,基于每个物理节点当前的第一资源负载和该种处理方案需要占用该物理节点的第二资源负载确定该物理节点的第三资源负载,以得到多个第三资源负载。
78.每个物理节点的资源包括例如,中央处理器(cpu)资源、内存资源等。应理解,类似地,物理节点的资源负载表示物理节点的资源利用率。
79.例如,可以获取每个物理节点的最大可用资源和当前的资源负载(即,第一资源负载)。每个物理节点处理业务请求时需要消耗对应的资源。可以基于物理节点处理业务请求时需要消耗的资源和每个物理节点的最大可用资源确定每种处理方案需要占用该物理节点的资源负载(即,第二资源负载)。然后,将每个物理节点当前的第一资源负载和第二资源
负载相加,则可以得到每个物理节点的第三资源负载。
80.在步骤1047,基于多个第三资源负载确定第三负载均衡参数。
81.这里,第三负载均衡参数为多个第三资源负载中最高的第三资源负载与多个第三资源负载的平均值之比。
82.应理解,类似于第一负载均衡参数,每种处理方案的第三负载均衡参数能够反映该种处理方案下,多个物理节点之间的资源负载均衡程度。
83.在这些实施例中,目标参数还包括第三资源负载,并且,目标值与第三资源负载正相关。例如,目标值与第三负载均衡参数成正比。如此,可以在保证多个链路之间的带宽负载均衡的同时,保证多个物理节点之间的资源消耗的负载均衡,从而避免出现部分物理节点的资源负载过高的情况,进而可以进一步提高业务请求处理的速度和成功率。
84.在一些实施例中,每个业务请求对应的路径在处理该业务请求时需要消耗多个链路的第一带宽。可以执行步骤1048以确定总带宽。
85.在步骤1048,计算每种处理方案的总带宽。
86.这里,总带宽等于该种处理方案的每个业务请求对应的路径的第一带宽的总和。
87.应理解,当路径中相邻两个vnf实例对应同一物理节点时,总带宽较小。
88.以业务请求组包括业务请求1为例进行说明。该业务请求1的多个vnf实例按顺序依次为入侵防御系统(ips)实例、代理服务器(proxy)实例、防火墙(fws)实例、网络地址转换(nat)实例和深度报文检测(dpi)实例。第一组vnf实例(例如,ips实例、proxy实例、fws实例和nat实例)对应的物理节点位于边缘计算中心,第二组vnf实例(例如,dpi实例)对应的物理节点位于云数据中心。
89.在第一种处理方案中,第一组vnf实例均位于同一物理节点a,dpi实例位于物理节点b。在第二种处理方案中,ips实例和proxy实例位于物理节点a,fws实例和nat实例位于物理节点c,dpi实例位于物理节点b。在这种情况下,第一种处理方案的总带宽小于第二种处理方案的总带宽。
90.在这些实施例中,目标参数还包括总带宽,并且,目标值与总带宽正相关。例如,目标值与总带宽成正比。如此,可以在保证多个链路之间的带宽负载均衡的同时,进一步保证处理方案消耗的总带宽较小,从而可以以较低的时延处理完业务请求组,进一步提高业务请求的处理速度。
91.在一些实施例中,每个vnf实例运行时需要消耗第一资源,并且,每个vnf实例处理业务请求组时需要消耗第二资源。可以执行步骤1049以确定总资源。
92.在步骤1049,计算每种处理方案的总资源。
93.这里,每种处理方案的总资源等于该种处理方案的每个vnf实例的第一资源和第二资源的总和。
94.以业务请求组包括业务请求2和上述业务请求1为例进行说明。业务请求2的多个vnf实例也是ips实例、proxy实例、fws实例、nat实例和dpi实例。此外,业务请求1和业务请求2对应的数据量相等。
95.在第一种处理方案中,业务请求1和业务请求2对应相同的路径(即,由相同的ips实例1、proxy实例1、fws实例1、nat实例1和dpi实例1处理业务请求1和业务请求2);在第二种处理方案中,业务请求1和业务请求2对应不同的路径(例如,由ips实例1、proxy实例1、
fws实例1、nat实例1和dpi实例1处理业务请求1,而由ips实例2、proxy实例2、fws实例1、nat实例1和dpi实例1处理业务请求2)。因第二种处理方案需要运行更多数量的vnf实例,在这种情况下,第二种处理方案的总资源大于第一种处理方案的总资源。
96.在这些实施例中,目标参数还包括总资源,并且,目标值与总资源正相关。例如,目标值与总资源成正比。如此,可以在保证多个链路之间的带宽负载均衡的同时,进一步保证处理方案消耗的总资源较小,从而可以提高多个物理节点的资源利用率,进一步缓解物理节点的计算资源出现短缺的问题,进而进一步提高业务请求处理的成功率。
97.在一些实施例中,目标参数包括第一负载均衡参数、第二负载均衡参数、第三负载均衡参数、总带宽和总资源。如此,可以更进一步地提高业务请求的处理速度和成功率。
98.下面结合一些实施例进一步说明业务请求的处理方法。
99.在一些实施例中,利用磷虾算法确定多种处理方案和每种处理方案的目标值。
100.在又一些实施例中,利用磷虾算法确定多种处理方案和每种处理方案的目标值,并利用磷虾算法将多种处理方案中目标值最小的一种确定为对业务请求组进行处理的处理方案。
101.这里,磷虾算法基于处于多种状态的n个粒子得到多种处理方案,n≥2。每个粒子在不同状态下的位置不同,每种处理方案与n个粒子中处于某一种状态的一个粒子对应。每种处理方案的目标值是基于目标参数计算的对应的粒子的适应度。
102.例如,可以基于如下所示的适应度函数计算某一个粒子在某一种状态下的适应度f:
103.f=lbb+lbs+lbm+band+re;
104.其中,lbb表示第一负载均衡参数,lbs表示第二负载均衡参数,lbm表示第三负载均衡参数,band表示总带宽,re表示总资源。
105.在计算得到n个粒子在某一种状态的适应度后切换到另一种状态。
106.例如,每个粒子在某一种状态时各自处于对应的位置。在计算得到n个粒子在某一种状态的适应度后,按照预设的运动方式和n个粒子的适应度确定每个粒子的运动变量。运动变量包括运动的方向和距离。预设的运动方式包括例如,邻居诱导、觅食活动、随机扩散。每个粒子可以按照确定的运动变量运动到另一位置,从而实现一种状态到另一种状态的切换。
107.在找到最小适应度的粒子或者n个粒子的适应度相等后,将粒子对应的处理方案作为对业务请求组进行处理的处理方案。
108.发明人注意到,由于磷虾算法容易产生局部最优解,从而导致确定的处理方案不佳。有鉴于此,本公开提出如下解决方案。
109.在一些实施例中,在切换状态之前(即,在粒子按照确定的运动变量运动之前),按照如下方式对n个粒子执行混合交叉处理。
110.首先,将第i个粒子与第n-i+1个粒子交换,其中,i为大于等于1且小于等于n的各个整数。然后,将n个粒子中的第j个粒子依次与第k个粒子交换,其中,j为大于等于且小于n的任意一个整数,k为大于等于j+1且小于等于n的各个整数。
111.以n=5且j=3为例进行说明。5个粒子按次序分别为a、b、c、d和e。首先,将第i个粒子与第n-i+1个粒子交换,从而可以得到e、d、c、b和a。然后,将第j个粒子依次与第k个粒子
交换(即,第3个粒子c首先与第4个粒子b交换,再与第5个粒子a交换),从而可以得到e、d、b、a和c(即,在混合交叉处理之后,粒子e位于原粒子a的位置,粒子d位于原粒子b的位置,依次类推)。在执行完混合交叉处理之后,每个粒子再按照之前确定的运动变量运动。如此,可以增加磷虾算法中种群的多样性,解决磷虾算法容易产生局部最优解的问题,从而可以更准确地确定目标值最小的一种处理方案。
112.作为一些实现方式,可以按照如下方式建立磷虾算法的计算模型。
113.可以用二元组表示两个数据中心的多个物理节点和多个链路。二元组为例如,(n,es)。这里,n表示多个物理节点的集合,es表示多个链路的集合。例如,和属于n,用表示这两个物理节点之间的链路,属于es。可以用表示链路的时延。
114.n={m,c},m表示两个数据中心中的一个的物理节点的集合,c表示两个数据中心中的另一个的物理节点的集合。p表示用于接入业务请求的接入点的集合。
115.可以用五元组表示一个业务请求。五元组为例如,{nr,er,,}。这里,nr表示业务请求的vnf的集合,er表示vnf实例的集合,表示第一组vnf实例处理业务请求所需的时长的上限(即,第二阈值),表示第二组vnf实例处理业务请求所需的时长的上限(即,第三阈值),表示交换节点转发业务请求所需的时长的上限。
116.nr={mr,cr},mr表示调用两个数据中心中的一个的物理节点的资源实现的vnf的集合,cr表示调用两个数据中心中的另一个的物理节点的资源实现的vnf的集合。
117.每个物理节点的cpu资源小于等于1的约束条件可以例如,用以下公式表示:
[0118][0119]
其中,表示vnf实例在处理业务请求组中的第i个业务请求需要消耗对应的物理节点的cpu资源;表示物理节点上的vnf实例运行所需要消耗的cpu资源,表示物理节点的最大可用cpu资源。
[0120]
每个物理节点的内存资源小于等于1的约束条件可以例如,用以下公式表示:
[0121][0122]
其中,表示vnf实例在处理业务请求组中的第i个业务请求需要消耗对应的物理节点的内存资源;表示物理节点上的vnf实例运行所需要消耗的内存资源,表示物理节点的最大可用内存资源。
[0123]
每个链路的带宽负载小于等于1的约束条件可以例如,用以下公式表示:
[0124]
[0125]
其中,表示vnf实例与vnf实例占用物理节点与物理节点之间的链路的带宽负载,表示物理节点与物理节点之间的链路的最大可用带宽。
[0126]
第一组vnf实例处理对应的业务请求所需的时长的约束条件可以例如,用以下公式表示:
[0127][0128]
第二组vnf实例处理对应的业务请求所需的时长的约束条件可以例如,用以下公式表示:
[0129][0130]
第一负载均衡参数lbb可以例如,用以下公式计算:
[0131][0132]
其中,表示多个第三带宽负载中最高的第三带宽负载,表示多个第三带宽负载的平均值。
[0133]
第二负载均衡参数lbs可以例如,用以下公式计算:
[0134][0135]
其中,表示多个第三流量转发负载中最高的第三流量转发负载,表示多个第三流量转发负载的平均值。
[0136]
第三负载均衡参数lbm可以例如,用以下公式计算:
[0137][0138]
其中,表示多个第三资源负载中最高的第三资源负载,表示多个第三资源负载的平均值。
[0139]
总带宽band可以例如,用以下公式计算:
[0140][0141]
总资源re可以例如,用以下公式计算:
[0142][0143]
作为一些实现方式,预设的运动方式包括邻居诱导、觅食活动和随机扩散。例如,最大随机扩散速度d
max
等于0.005(m/s);诱导惯性权重wn和觅食惯性权重wf均等于0.9;最大诱导速度n
max
等于0.01(m/s);最大觅食速度vf等于0.02(m/s);随机扩散方向δ∈[-1,1];步长缩放因子c
t
等于0.5。
[0144]
图3是根据本公开一些实施例的业务请求的处理装置的结构示意图。
[0145]
如图3所示,业务请求的处理装置300包括第一确定模块301、第二确定模块302和第三确定模块303。
[0146]
第一确定模块301被配置为响应于包括至少一个业务请求的业务请求组,确定多种处理方案,每种处理方案包括每个业务请求对应的路径,路径包括多个虚拟网络功能vnf实例,每个vnf实例对应一个物理节点,其中,多个vnf实例对应的物理节点位于分布式的两个数据中心。
[0147]
第二确定模块302被配置为确定每种处理方案的目标值,包括:基于多个链路中每个链路当前的第一带宽负载和该种处理方案需要占用该链路的第二带宽负载确定该链路的第三带宽负载,以得到多个第三带宽负载,多个链路由两个数据中心中的多个物理节点组成;基于多个第三带宽负载确定第一负载均衡参数,第一负载均衡参数为多个第三带宽负载中最高的第三带宽负载与多个第三带宽负载的平均值之比;和基于目标参数计算目标值,目标参数包括第一负载均衡参数,目标值与第一负载均衡参数正相关。
[0148]
第三确定模块303被配置为将多种处理方案中目标值小于预设值的一种确定为对业务请求组进行处理的处理方案。
[0149]
图4是根据本公开又一些实施例的务请求的处理装置的结构示意图。
[0150]
如图4所示,业务请求的处理装置400包括存储器401以及耦接至该存储器401的处理器402,处理器402被配置为基于存储在存储器401中的指令,执行前述任意一个实施例的业务请求的处理方法。
[0151]
存储器401例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
[0152]
业务请求的处理装置400还可以包括输入输出接口403、网络接口404、存储接口405等。这些接口403、404、405之间、以及存储器401与处理器402之间例如可以通过总线406连接。输入输出接口403为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口404为各种联网设备提供连接接口。存储接口405为sd卡、u盘等外置存储设备提供连接接口。
[0153]
图5是根据本公开一些实施例的业务请求的处理系统的结构示意图。
[0154]
如图5所示,业务请求的处理系统包括业务请求的处理装置300/400和两个数据中心501。这里,两个数据中心包括多个物理节点和由多个物理节点构成的多个物理链路。
[0155]
在一些实施例中,业务请求的处理系统还包括未示出的接入点。接入点用于接入业务请求组。
[0156]
本公开实施例还提供了一种计算机可读存储介质,包括计算机程序指令,该计算
机程序指令被处理器执行时实现上述任意一个实施例的业务请求的处理方法。
[0157]
本公开实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任意一个实施例的业务请求的处理方法。
[0158]
至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
[0159]
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于业务请求的处理装置、系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0160]
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0161]
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0162]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0163]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0164]
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1