一种弹性用户云计算资源的安全保护方法与流程

文档序号:18411301发布日期:2019-08-13 18:16阅读:195来源:国知局
一种弹性用户云计算资源的安全保护方法与流程

本发明属于网络通信技术领域,更为具体地讲,涉及一种弹性用户云计算资源的安全保护方法。



背景技术:

随着计算平台硬件能力的不断提升,虚拟化技术也愈发成熟。在过去的十年中,云计算逐渐发展成为it领域一大研究与发展的重点方向。各大互联网厂商纷纷推出了自己的云计算平台,向中小型企业及个人提供云计算服务。而除了售卖虚拟化计算资源以外,云服务提供商同时需要对用户购买的虚拟化服务进行安全保障。

网络功能虚拟化(nfv)是由欧洲电信标准组织(etsi)从网络运营商的角度出发提出的一种软件和硬件分离的架构,主要是希望通过标准化的it虚拟化技术,采用业界标准的大容量服务器、存储和交换机承载各种各样的网络软件功能,实现软件的灵活加载,从而可以在数据中心、网络节点和用户端等不同位置灵活的部署配置。nfv打破了网络物理设备层和逻辑业务层之间的绑定关系,每个物理设备被虚拟化的网元所取代,能够对虚拟网元进行管理配置以满足独特的需求。

通过使用nfv可以减少甚至移除现有网络中部署的中间件,它能够让单一的物理平台运行不同的应用程序,用户/租户可以通过多版本和多租户同时使用网络功能。并且nfv支持全新的方法实现弹性、服务保证、测试诊断和安全监控。它能够促进软件网络环境中的新网络功能和服务的创新,nfv适用于任何数据平面和控制平面功能、固定或移动网络,也适合需要实现可伸缩性的自动化管理和配置。为了更加充分的利用资源,虚拟化云服务提供商往往期望提高资源的利用率、减少闲置率进而提高收益。

当前,云计算的设计和销售模式中,用户购买指定大小的虚拟化计算服务是获得了完全匹配的虚拟化资源量。在用户购买了虚拟化计算资源,运行了自己的网络服务之后,云服务提供商通常还需要为其提供网络安全服务,以保障其网络服务的正常运行和访问速度,同时保障自身平台的安全性。这一服务已成为各大云服务提供商的基础服务,即使用户不购买额外的安全处理功能,也必须提供最基础的网络服务访问安全质量保障。

而这一部分虚拟化网路安全功能的资源开销是可以由云服务提供商自主控制和弹性调整的。同时,这一部分的数据流量也是变化波动较大的,例如当用户将数据写入虚拟化计算资源期间,又如当用户网络服务迎来高峰期时,就有较大的数据带宽需求,对应了较大的数据带宽安全需求;当用户服务开始计算处理新写入的数据时,或网络服务进入低谷期,此时的通信带宽大量闲置,若此时以高峰期的带宽给该用户分配了较大的安全处理资源,就造成的极大的浪费。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种弹性用户云计算资源的安全保护方法,实现用户对闲置虚拟化资源的充分利用,以及用户流量激增时的动态处理。

为实现上述发明目的,本发明一种弹性用户云计算资源的安全保护方法,其特征在于,包括以下步骤:

(1)、初始化网络拓扑g

(1.1)、记录g中所有节点node信息,包括节点编号node_id和节点cpu数量node_cpu_num;

(1.2)、记录g中所有链路edge信息,包括链路编号edge_id、链路带宽容量edge_bw和链路权重w,并初始化w=1;

(2)、设置安全服务功能cpu-bw映射表集合

为每种安全服务功能设置一个cpu-bw映射表,所有类型的安全服务功能对应的cpu-bw映射表构成安全服务功能cpu-bw映射表集合;

(3)、设置k最短路(k-shortestpath,ksp)多级索引数据结构ksp_dict,其中,ksp_dict中存储由起始节点编号和终止节点编号对应的索引,一级索引为起始节点编号,二级索引为终止节点编号,对应值为k最短路信息;

(4)、设置用户安全需求集合t和用户安全解决方案集合s

(4.1)、设置用户安全需求集合t,并初始化t为空集;其中,t中存储的元素为用户安全需求t,t包含起始节点编号、终止节点编号、申请带宽容量和安全处理服务功能类型序列sf,sf的格式为:sf={sf1,sf2,…,sfu},共计u个用户安全处理服务功能类型sf;

(4.2)、设置用户安全解决方案集合s,并初始化s为空集;其中,s中存储的元素为用户安全解决方案s,s包括当前能够处理的总带宽bw_sum、各个安全服务功能所占用的总cpu数量集合r_sum、安全服务功能链集合sfc;

其中,r_sum的格式为:r_sum={r1,r2,…,ru},ru表示第u个用户安全处理服务功能所占用的总cpu数量;

sfc的格式为:sfc={sfc1,sfc2,…,sfcq},且所有安全服务功能链按照安全服务功能链长度递增的方式排列,sfcq表示第q个安全服务功能链sfc;

进一步地,每个安全服务功能链sfc包括安全服务功能实例集合sfi,sfi的格式为:sfi={sfi1,sfi2,…sfiu},sfiu表示第u个用户的安全服务功能实例sfi,每个sfi又包括占用cpu数量集合为r、能处理的带宽bw和对应的路径path;其中,r的格式为:r={r1,r2,…ru},path的格式为:path={node_id0,node_id1,…,node_idv},其中,node_id0是起始节点编号,node_idv是终止节点编号;

(5)、用户安全需求处理

(5.1)、开启安全需求监听线程,监听t中是否有未处理的用户安全需求t,如果有,则取出未处理的t,进入步骤(5.2),否则,跳转至步骤(6);

(5.2)、设置用户安全需求t对应的用户安全解决方案s,并初始化s中bw_sum值为bw值;通过bw_sum查找到对应类型安全服务功能获取相应的cpu-bw映射表,再通过bw_sum查找到对应类型安全服务功能所需的cpu数量,并赋值给r中r;初始化sfc为空集;

(5.3)、根据t的起始节点编号和终止节点编号,从ksp_dict中查找出对应起始节点与终止节点之间的k最短路径;

(5.4)、从k最短路径中,筛选出路径剩余带宽最小值大于bw,且路径中所有节点剩余cpu数量大于部署安全服务功能所需的cpu数量,且路径长度最短的一条路径,记为sp;

(5.5)、在sp中剩余cpu数量充足的节点上分别依次部署多个类型sfi,再将对应节点剩余cpu数量减去新建sfi消耗的cpu数量的差值赋值给对应节点,作为该节点剩余cpu数量;

(5.6)、遍历sp中各个链路edge,将每个链路edge的剩余带宽减去bw_sum的差值赋值给对应链路edge,作为该链路的剩余带宽;

(5.7)、将sfc加入到sfc中,并将s加入s中,然后返回至步骤(5.1);

(6)、业务带宽处理

(6.1)、设置遍历因子i,初始化i的值为1;

(6.2)、若i小于等于s集合的大小,则执行步骤(6.3),否则,跳转至步骤(6.4);

(6.3)、取s中第i个解决方案s,并对s进行弹性管理;

(6.3.1)、设置多余带宽bwrest,并初始化bwrest等于bw_sum减去s对应用户业务数据的当前带宽;

(6.3.2)、将bw_sum赋值为s对应用户业务数据的当前带宽;

(6.3.3)、设置遍历因子j,初始化j的值为sfc的集合大小;

(6.3.4)、比较遍历因子j的大小,若j大于0,则取sfc中第j个sfc,并对第j个sfc执行以下子步骤;否则,跳转至步骤(6.3.5);

(6.3.4.1)、设置待释放带宽bwrelease,若bwrest小于bw,则初始化bwrelease值为bwrest;否则,初始化bwrelease值为bw;

(6.3.4.2)、将bw减去bwrelease的差值重新赋值给bw,如果赋值后的bw为0,则将sfc从sfc中移除;同时,根据对应sfi的安全服务功能类型获取对应的cpu-bw映射表,再通过带宽大小bwrelease查找安全服务功能所需减少的cpu数量,将各sfi对应的cpu数量值r进行自减;

(6.3.4.3)、将bwrest减去bwrelease的差值重新赋值给bwrest,如果赋值后的bwrest为0,则跳转至步骤(6.4);

(6.3.4.4)、将j自减1,并跳转至步骤(6.3.4);

(6.3.5)、将i自增1,并跳转至步骤(6.2);

(6.4)、重新初始化i的值为1;

(6.5)、若i小于等于当前sfi的数量,则取出第i个sfi,并执行以下子步骤,否则,跳转至步骤(7);

(6.5.1)、设置当前sfi的弹性优化范围为sfi关联的所有sfc的链路交集;

(6.5.2)、在弹性优化范围内,寻找相同类型的sfi,计算每个可合并sfi的合并收益,作为备选方案;

(6.5.3)、判断当前是否存在备选方案,如果有备选方案,则在弹性优化范围内选择备选方案对多个sfi进行合并,然后将i赋值为1,进入步骤(7);否则,i自增1,返回步骤(6.5);

(7)、资源弹性管理

(7.1)、依次检查所有用户业务数据的带宽大小,找到第一个用户业务数据的带宽超过该用户对应的安全解决方案s所能处理的总带宽bw_sum的用户,然后进入步骤(7.2);若所有用户中均未找到,则跳转至步骤(8);

(7.2)、设置安全服务需要增加的带宽容量bwadd,并初始化bwadd值为找到的用户的业务数据带宽减去该用户对应的安全解决方案s所能处理的总带宽bw_sum的差值;

(7.3)、修改该用户安全解决方案s,将bw_sum与bwadd的和重新赋值给bw_sum;然后,根据对应类型安全服务功能获取相应的cpu-bw映射表,再通过bw_sum查找到对应类型安全服务功能所需的cpu数量,并赋值给r中的r;

(7.4)、根据t的起始节点编号和终止节点编号,从ksp_dict中查找出对应起始节点与终止节点之间的k最短路径;

(7.5)、从k最短路径中,筛选出路径剩余带宽最小值大于bwadd,且路径中所有节点剩余cpu数量大于部署安全服务功能所需的cpu数量,且路径长度最短的一条路径,记为sp*

(7.6)、在sp*中剩余cpu数量充足的节点上分别依次部署多个类型sfi,再将对应节点剩余cpu数量减去新建sfi消耗的cpu数量的差值赋值给对应节点,作为该节点剩余cpu数量;

(7.7)、遍历sp*中各个链路edge,将每个链路edge的剩余带宽减去bw_sum的差值赋值给对应链路edge,作为该链路的剩余带宽;

(7.8)、将sfc加入到sfc中,然后重复步骤(7.1);

(8)、弹性用户云计算资源的安全服务结束。

本发明的发明目的是这样实现的:

本发明一种弹性用户云计算资源的安全保护方法,从用户的历史带宽使用量去预测用户未来一段时间内的带宽使用情况,然后将预测带宽与额定带宽之间的差值对应的安全处理资源用于为其他用户提供同样的安全服务;而当原用户使用超过预测带宽时,立即为共享安全处理资源的其他用户创建新的安全处理资源进行承载,同时保证了原用户的安全服务质量;这样使云服务提供商有了动态分配基础安全处理功能的能力,又能为用户和自身平台提供安全保障,同时还节省了虚拟化资源。

同时,本发明一种弹性用户云计算资源的安全保护方法还具有以下有益效果:

(1)、高利用率;本发明所提出的弹性安全保护方法,结合虚拟机与容器技术,在保障已有安全服务的同时,能够更加充分利用计算资源。

(2)、可靠性;本发明在提供了安全功能服务的同时,保障了用户业务流增长时的安全可靠。

(3)、兼容性;本发明对底层的云服务支撑平台没有特殊的限制要求,仅针对所需的安全服务部署与调度进行优化。

附图说明

图1是本发明一种弹性用户云计算资源的安全保护方法流程图;

图2是用户安全需求处理流程图;

图3是业务带宽处理流程图;

图4是弹性资源管理流程图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明一种弹性用户云计算资源的安全保护方法流程图。

在本实施例中,如图1所示,本发明一种弹性用户云计算资源的安全保护方法,包括以下步骤:

s1、初始化网络拓扑g

安全保护网络是为云计算资源提供安全保护方法的基础,安全保护网络拓扑应由交换设备(物理交换机)与计算设备(物理服务器)以及物理链路组成。交换设备与物理链路组成交换网络。每台交换设备通过物理链路连接若干台计算设备,并且一台计算设备只能连接一台交换设备;

s1.1、记录g中所有节点node信息,节点node为一个逻辑概念,是一台交换设备及其相连接的所有计算设备整合而成的,节点node信息包括节点编号node_id和节点cpu数量node_cpu_num;

s1.2、记录g中所有链路edge信息,包括链路编号edge_id、链路带宽容量edge_bw和链路权重w,并初始化w=1。

s2、设置安全服务功能cpu-bw映射表集合

为每种安全服务功能设置一个cpu-bw映射表,所有类型的安全服务功能对应的cpu-bw映射表构成安全服务功能cpu-bw映射表集合;其中,安全服务功能cpu-bw映射表支持双向索引,用于存放每种安全服务功能需要的cpu数量及对应的最大带宽容量bw。

s3、设置k最短路(k-shortestpath,ksp)多级索引数据结构ksp_dict,其中,k最短路信息是由k个较短路径信息组成的列表,并以较短路径信息中路径长度递增的形式排列,具体保存格式为:起始节点与终止节点之间所有路径经过的节点的编号;ksp_dict中存储由起始节点编号和终止节点编号对应的索引,一级索引为起始节点编号,二级索引为终止节点编号,对应值为k最短路信息。

s4、设置用户安全需求集合t和用户安全解决方案集合s

s4.1、设置用户安全需求集合t,并初始化t为空集;其中,t中存储的元素为用户安全需求t,t包含起始节点编号、终止节点编号、申请带宽容量和安全处理服务功能类型序列sf,sf的格式为:sf={sf1,sf2,…,sfu},共计u个用户安全处理服务功能类型sf;

s4.2、设置用户安全解决方案集合s,并初始化s为空集;其中,s中存储的元素为用户安全解决方案s,s包括当前能够处理的总带宽bw_sum、各个安全服务功能所占用的总cpu数量集合r_sum、安全服务功能链集合sfc;

其中,r_sum的格式为:r_sum={r1,r2,…,ru},ru表示第u个用户安全处理服务功能所占用的总cpu数量;

sfc的格式为:sfc={sfc1,sfc2,…,sfcq},且所有安全服务功能链按照安全服务功能链长度递增的方式排列,sfcq表示第q个安全服务功能链sfc;

进一步地,每个安全服务功能链sfc包括安全服务功能实例集合sfi,sfi的格式为:sfi={sfi1,sfi2,…sfiu},sfiu表示第u个用户的安全服务功能实例sfi,每个sfi又包括占用cpu数量集合为r、能处理的带宽bw和对应的路径path;其中,r的格式为:r={r1,r2,…ru},path的格式为:path={node_id0,node_id1,…,node_idv},其中,node_id0是起始节点编号,node_idv是终止节点编号;

s5、用户安全需求处理,如图2所示;

s5.1、开启安全需求监听线程,监听t中是否有未处理的用户安全需求t,如果有,则取出未处理的t,进入步骤s5.2,否则,跳转至步骤s6;

s5.2、设置用户安全需求t对应的用户安全解决方案s,并初始化s中bw_sum值为bw值;通过bw_sum查找到对应类型安全服务功能获取相应的cpu-bw映射表,再通过bw_sum查找到对应类型安全服务功能所需的cpu数量,并赋值给r中r;初始化sfc为空集;

s5.3、根据t的起始节点编号和终止节点编号,从ksp_dict中查找出对应起始节点与终止节点之间的k最短路径;

s5.4、从k最短路径中,筛选出路径剩余带宽最小值大于bw,且路径中所有节点剩余cpu数量大于部署安全服务功能所需的cpu数量,且路径长度最短的一条路径,记为sp;

s5.5、在sp中剩余cpu数量充足的节点上分别依次部署多个类型sfi,再将对应节点剩余cpu数量减去新建sfi消耗的cpu数量的差值赋值给对应节点,作为该节点剩余cpu数量;

s5.6、遍历sp中各个链路edge,将每个链路edge的剩余带宽减去bw_sum的差值赋值给对应链路edge,作为该链路的剩余带宽;

s5.7、将sfc加入到sfc中,并将s加入s中,然后返回至步骤s5.1;

s6、业务带宽处理,具体流程如图3所示;

s6.1、设置遍历因子i,初始化i的值为1;

s6.2、若i小于等于s集合的大小,则执行步骤s6.3,否则,跳转至步骤s6.4;

s6.3、取s中第i个解决方案s,并对s进行弹性管理;

s6.3.1、设置多余带宽bwrest,并初始化bwrest等于bw_sum减去s对应用户业务数据的当前带宽;

s6.3.2、将bw_sum赋值为s对应用户业务数据的当前带宽;

s6.3.3、设置遍历因子j,初始化j的值为sfc的集合大小;

s6.3.4、比较遍历因子j的大小,若j大于0,则取sfc中第j个sfc,并对第j个sfc执行以下子步骤;否则,跳转至步骤s6.3.5;

s6.3.4.1、设置待释放带宽bwrelease,若btswer小于bw,则初始化bwrelease值为bwrest;否则,初始化bwrelease值为bw;

s6.3.4.2、将bw减去bwrelease的差值重新赋值给bw,如果赋值后的bw为0,则将sfc从sfc中移除;同时,根据对应sfi的安全服务功能类型获取对应的cpu-bw映射表,再通过带宽大小bwrelease查找安全服务功能所需减少的cpu数量,将各sfi对应的cpu数量值r进行自减;

s6.3.4.3、将btswer减去bwrelease的差值重新赋值给bwrest,如果赋值后的bwrest为0,则跳转至步骤s6.4;

s6.3.4.4、将j自减1,并跳转至步骤s6.3.4;

s6.3.5、将i自增1,并跳转至步骤s6.2;

s6.4、重新初始化i的值为1;

s6.5、若i小于等于当前sfi的数量,则取出第i个sfi,并执行以下子步骤,否则,跳转至步骤s7;

s6.5.1、设置当前sfi的弹性优化范围为sfi关联的所有sfc的链路交集;

s6.5.2、在弹性优化范围内,寻找相同类型的sfi,计算每个可合并sfi的合并收益,作为备选方案;

在本实施例中,合并收益的计算方式为:每个sfi所占用的资源为整型数值,而承载的相关服务功能链的某一项服务功能类型所消耗的资源为浮点型数值,因而,将多个sfi相关部分闲置资源合并,当闲置资源量大于1后便可以释放相关整型数值的资源,而合并开销主要为sfi合并所需成本,可根据实际系统应用而确定。

s6.5.3、判断当前是否存在备选方案,如果有备选方案,则在弹性优化范围内选择备选方案对多个sfi进行合并,然后将i赋值为1,进入步骤s7;否则,i自增1,返回步骤s6.5;

s7、资源弹性管理,具体流程如图4所示;

s7.1、依次检查所有用户业务数据的带宽大小,找到第一个用户业务数据的带宽超过该用户对应的安全解决方案s所能处理的总带宽bw_sum的用户,然后进入步骤s7.2;若所有用户中均未找到,则跳转至步骤s8;

s7.2、设置安全服务需要增加的带宽容量bwadd,并初始化bwadd值为找到的用户的业务数据带宽减去该用户对应的安全解决方案s所能处理的总带宽bw_sum的差值;

s7.3、修改该用户安全解决方案s,将bw_sum与bwadd的和重新赋值给bw_sum;然后,根据对应类型安全服务功能获取相应的cpu-bw映射表,再通过bw_sum查找到对应类型安全服务功能所需的cpu数量,并赋值给r中的r;

s7.4、根据t的起始节点编号和终止节点编号,从ksp_dict中查找出对应起始节点与终止节点之间的k最短路径;

s7.5、从k最短路径中,筛选出路径剩余带宽最小值大于bwadd,且路径中所有节点剩余cpu数量大于部署安全服务功能所需的cpu数量,且路径长度最短的一条路径,记为sp*

s7.6、在sp*中剩余cpu数量充足的节点上分别依次部署多个类型sfi,再将对应节点剩余cpu数量减去新建sfi消耗的cpu数量的差值赋值给对应节点,作为该节点剩余cpu数量;

s7.7、遍历sp*中各个链路edge,将每个链路edge的剩余带宽减去bw_sum的差值赋值给对应链路edge,作为该链路的剩余带宽;

s7.8、将sfc加入到sfc中,然后重复步骤s7.1;

s8、弹性用户云计算资源的安全服务结束。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

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