本发明涉及软件定义安全领域,具体涉及基于软件定义安全的云资源管理方法及管理系统。
背景技术:
1、软件定义网络(software defined network,sdn)是网络虚拟化的一种实现方式。其核心技术openflow通过将网络设备的控制平面与数据平面分离开来,控制平面的逻辑控制功能是由sdn控制器实现的,sdn交换机实现数据平面的数据转发功能,这种网络架构通过逻辑上集中的sdn控制器和开放的openflow标准接口,由控制器根据业务逻辑需求以软件定义的方式实现灵活、快速的转发行为,减轻了数据平面的负担,从而提升网络管理的效率和网络性能。
2、随着sdn的逐渐发展,它在控制层与数据层的分离、开放的api 接口和软件编程的优势受到广泛关注,将这些网络演进的特征应用于安全领域,产生了软件定义安全(software defined security,sds)的概念,通过控制平面和安全数据平面相分离,将网络安全设备的接入模式、实现功能、部署方式解耦,在底层将网络安全设备虚拟化形成安全资源池,顶层通过软件定义的方式进行自动化管理,实现新业务安全需求的快速开发和部署。
3、然而由于现代通信技术的发展,应用场景多变,业务请求多种多样,数据流量爆发式增长,使得传统的安全资源管理与分配方式已不适合sds等应用环境,而基于sdn/nfv 架构的网络切片正是解决这些问题的关键技术。网络切片通过网络功能虚拟化(networkfunction virtualization,nfv)与sdn技术相结合,将底层物理网络资源抽象为虚拟资源,同时将物理网络抽象为逻辑网络,通过差异化地定制网络切片实例(network sliceinstance,nsi)来为切片用户提供功能化服务,以提供更加完整的隔离、差异化、高效和友好运营的网络能力。网络切片要求切片具备统一编排和自适应的调整能力,现有的网络切片编排技术尚不成熟,主要是以资源整体利用率为优化目标,由于不同用户的资源需求量、需求资源的类型、已占用的资源量差异化较大,一味地寻求资源利用最大化会导致用户之间对稀缺的安全资源发生恶性竞争,使得安全资源分配的公平性失衡,严重降低了部分用户的服务质量。
技术实现思路
1、为克服现有的安全资源分配策略缺乏公平性的问题,本发明提供一种基于软件定义安全的云资源管理方法及管理系统,通过采集用户已使用的安全服务资源的历史记录,分析并生成用户资源再分配的优先权值,利用带权的公平算法为用户公平地分配资源。
2、为实现上述目的,本发明提供的基于软件定义安全的云资源管理方法,所述的方法包括:
3、步骤1)统计具有相同安全服务需求的用户组成用户集,根据用户的安全服务需求生成网络切片,所述的网络切片包含一组有序连接的vnf,每个vnf用于实现相应的安全服务功能;
4、步骤2)随机生成一个粒子群,并对群中各粒子位置进行初始化,每个粒子位置均表示网络切片的一个云资源映射策略集,所述的云资源映射策略集包含网络切片中所有vnf的云资源映射策略;
5、步骤3)统计用户在一段时间内已占用的云资源,利用云资源占用信息为用户生成资源优先分配权值;
6、步骤4)根据用户的资源优先分配权值和网络切片的云资源映射策略集,为用户生成对应的公平权重系数,利用最大最小公平算法按公平权重系数计算用户集中各用户能够从网络切片分取的资源量,组成云资源分配策略集;
7、步骤5)累计已满足资源需求的用户数量,将用户数量作为优化目标,采用粒子群算法对目标进行优化,在最大迭代运算次数完成后输出最优位置上的粒子所对应的云资源映射策略集;
8、步骤6)依照最优的云资源映射策略集对各vnf执行云资源映射,并按云资源分配策略集为各用户分配资源。
9、进一步优选地,所述的步骤2)包括:为粒子群构建一个多维空间,粒子在多维空间中的位置表示为一个多维向量,多维向量的每一维表示网络切片中一个vnf的云资源映射策略。
10、进一步优选地,所述的步骤3)包括:
11、为每个用户设置相同时间长度的观察窗,在观察窗中查询每个单位时间内已占用云资源的资源量和安全服务等级,根据时间衰减规则计算用户对云资源的占用度值:
12、
13、其中,表示时间衰减参数,和分别表示用户u在第i个单位时间内已占用云资源的资源量和安全服务等级值,n表示观察窗内单位时间总计数;
14、进一步定义用户的资源优先分配权值:
15、
16、其中,表示设定的资源优先分配权值的最大值。
17、进一步优选地,所述的步骤4)中公平权重系数生成过程为:
18、根据云资源映射策略集统计网络切片中所有vnf的云资源映射总量,以资源属性计算每个用户资源需求量与云资源映射总量之间的相关度值:
19、
20、其中,、和表示用户u关于带宽、计算和存储属性的资源需求量,、和表示网络切片关于带宽、计算和存储属性的云资源映射总量,、和表示用户u关于带宽、计算和存储属性的偏好系数;
21、进一步计算用户关于当前云资源映射策略集的公平权重系数:
22、
23、然后对公平权重系数进行归一化处理,得到归一化的公平权重系数:
24、
25、其中,和分别表示用户集中公平权重系数的最小值和最大值。
26、进一步优选地,所述的步骤4)中计算用户集中各用户能够从网络切片分取的资源量过程为:
27、步骤401)根据用户资源需求量和公平权重系数计算用户的单位权重资源需求量:
28、
29、根据云资源映射总量和各用户的公平权重系数计算单位权重资源分配量:
30、
31、其中,表示第u个用户的资源需求量,m表示用户集中用户总计数,表示云资源映射总量;
32、步骤402)为各用户执行第一次资源分配:
33、
34、其中,表示第u个用户在第一次分配中获得的资源量,表示最小值输出函数;
35、步骤403)如果不存在第u个用户满足,执行步骤407),否则执行步骤404);
36、步骤404)判断如果网络切片的资源无剩余,执行步骤407),如果资源有剩余,则计算网络切片的资源剩余量:
37、
38、从用户集中移除的用户,重新计算剩余用户的单位权重资源分配量:
39、
40、其中,表示用户集中剩余用户总计数,表示第t个剩余用户的公平权重系数;
41、计算剩余用户的单位权重资源剩余需求量:
42、
43、其中,表示第t个剩余用户的单位权重资源需求量;进一步判断用户集中如果不存在的剩余用户,则执行步骤406),否则执行步骤405);
44、步骤405)为剩余用户执行第二次资源分配:
45、
46、其中,表示第t个剩余用户在第二次分配中获得的资源量,表示第t个剩余用户的单位权重资源剩余需求量,然后重复执行步骤404)和步骤405);
47、步骤406)将网络切片的资源剩余量平均分配给所有剩余用户,执行步骤407);
48、步骤407)结束资源分配过程。
49、进一步优选地,所述的步骤5)进一步包括:
50、对粒子的速度和位置进行迭代更新:
51、
52、
53、其中,表示第j个粒子在第k次迭代中第d维的速度,和表示加速系数,分别调节向个体最优粒子和全局最优粒子移动的最大步长,令和,表示第k次迭代中生成的两个随机数,表示第j个粒子在第k次迭代中第d维上的位置,表示第j个粒子在第k次迭代中第d维上个体极值点的位置,表示粒子群在第k次迭代中第d维上全局极值点的位置。
54、本发明还提供了一种基于软件定义安全的云资源管理系统,所述的系统包括:切片生成模块、粒子群构建模块、分配权值生成模块、资源公平分配模块、资源配置优化模块、资源调度模块;
55、切片生成模块:统计具有相同安全服务需求的用户组成用户集,根据用户的安全服务需求生成网络切片,所述的网络切片包含一组有序连接的vnf,每个vnf用于实现相应的安全服务功能;
56、粒子群构建模块:随机生成一个粒子群,并对群中各粒子位置进行初始化,每个粒子位置均表示网络切片的一个云资源映射策略集,所述的云资源映射策略集包含网络切片中所有vnf的云资源映射策略;
57、分配权值生成模块:统计用户在一段时间内已占用的云资源,利用云资源占用信息为用户生成资源优先分配权值;
58、资源公平分配模块:根据用户的资源优先分配权值和网络切片的云资源映射策略集,为用户生成对应的公平权重系数,利用最大最小公平算法按公平权重系数计算用户集中各用户能够从网络切片分取的资源量,组成云资源分配策略集;
59、资源配置优化模块:累计已满足资源需求的用户数量,将用户数量作为优化目标,采用粒子群算法对目标进行优化,在最大迭代运算次数完成后输出最优位置上的粒子所对应的云资源映射策略集;
60、资源调度模块:依照最优的云资源映射策略集对各vnf执行云资源映射,并按云资源分配策略集为各用户分配资源。
61、本发明的云资源管理方法及管理系统的有益效果:
62、基于安全服务接入多用户中产生的资源抢占和调度问题,本发明采用带权的最大最小公平算法计算用户集中各用户能够从网络切片分取的资源量,在保障所有用户满足最小共享资源量的条件下,将还未分配的资源集中起来分配给需要“大资源”用量的用户,使用户总是按照递增的顺序获得资源,每个用户不可能获得比自己需求更多的资源,当用户的剩余需求都不能够被满足时,总是会等价地对切片的剩余资源进行公平分享,从而改善了资源分配的公平性问题。
63、通过统计用户在一段时间内已占用的云资源,即观察用户已占用云资源的资源量和安全服务等级信息,然后根据时间衰减规则计算用户的资源优先分配权值,利用资源优先分配权值生成与公平算法相关的公平权重系数,资源优先分配权值反应的是用户对资源占用程度的历史情况,用户曾经占用的资源越多,则计算得到的资源优先分配权值和公平权重系数越低,其再次被分配到的资源也就越少,反之则被分配到的资源越多,进一步提高了资源分配的公平性。
64、本发明还采用粒子群算法对网络切片的云资源映射策略集进行优化,累计已满足资源需求的用户数量并作为优化目标,采用粒子群算法对目标进行优化,在最大迭代运算次数内找到满足用户数量最多的云资源映射策略集,然后依照最优的云资源映射策略集对网络切片编排,最后按照已生成的云资源分配策略集从编排好的网络切片中分配资源给用户;通过将粒子群算法与公平分配算法相结合,使资源分配结果在符合公平分配原则的基础上,尽最大程度保障了多数用户的服务质量。