基于启发式强化学习的韧性云环境故障注入方法技术

技术编号:20627758 阅读:27 留言:0更新日期:2019-03-20 17:21
本发明专利技术公开了一种基于启发式强化学习的韧性云环境故障注入方法,包括设置韧性云环境故障注入类型,构建故障注入效果学习的训练节点,选取多个故障注入对象和故障注入类型进行动态组合,形成多步故障注入序列,向设定的对象在不同时间点依次实施故障注入,通过韧性云环境故障注入的累积奖赏函数计算累积奖赏值,对累积奖赏值进行比较,将累积奖赏值最高的故障注入序列,循环迭代。本方法能够对韧性信息云环境的IaaS层、PaaS层、SaaS层进行联动故障注入,模拟产生不同跨层混合的故障事件,针对选定的故障注入对象,生成最优的故障注入策略,实现最佳的故障注入效果。

Fault Injection Method for Resilient Cloud Environment Based on Heuristic Reinforcement Learning

The invention discloses a fault injection method for a resilient cloud environment based on heuristic reinforcement learning, which includes setting up fault injection types for a resilient cloud environment, constructing training nodes for fault injection effect learning, selecting multiple fault injection objects and fault injection types for dynamic combination, forming a multi-step fault injection sequence, and implementing fault injection sequentially to the set objects at different time points. In addition, the cumulative reward value is calculated by the cumulative reward function of fault injection in the tough cloud environment. The cumulative reward value is compared, and the fault injection sequence with the highest cumulative reward value is iterated. This method can inject the fault into the IaaS layer, PaaS layer and SaaS layer of the tough information cloud environment, simulate the mixed fault events of different cross-layers, and generate the optimal fault injection strategy for the selected fault injection objects, so as to achieve the best fault injection effect.

【技术实现步骤摘要】
基于启发式强化学习的韧性云环境故障注入方法
本专利技术涉及一种故障注入方法,特别是涉及一种基于启发式强化学习的韧性云环境故障注入方法。
技术介绍
韧性云环境是在继承和发展共用信息基础设施的基础上,引入新的理念、模式和技术手段等,使其更具灵活、适变、抗毁等韧性能力特征,能够更好地实现各类基础资源的汇聚,根据不同任务背景动态组建任务系统、获取相关保障信息等,支撑快速形成遂行海空联合作战等多样化战场任务的能力。同时,在遭受部分节点失效、瘫痪、毁伤的情况能够降级运行,可识别和预测影响任务执行的各种异常,快速采取主动响应控制措施与策略,保障核心任务的完成。因此,为了充分验证韧性云环境在复杂赛博威胁环境下的自适应调整、自重构与任务持续保障等能力,亟需在试验环境下模拟云环境实际运行过程中可能出现的内部故障和外部威胁场景,按照一定时间顺序,依次向韧性云环境注入物理基础设施、平台、服务、数据等混合式故障,致使云环境资源出现失效、过载、流量等异常,旨在验证韧性云环境在遭受物理毁伤、节点失效等条件下韧性能力。现有的故障注入方法大多面向云计算平台和虚拟化系统方面,提出了面向虚拟机、虚拟化管理层等对象的故障注入工具和集成架构,用于实现分散的故障注入工具统一管理,提供给测试人员,达到以多样化的手段模拟注入目标系统不同层次的故障,提高自动化测试程度。现有故障注入方法存在以下问题:1)故障注入对象主要针对的是服务器、虚拟机、虚拟机管理器与网络等,缺乏针对云平台数据层、服务层以及部署于云平台上应用系统的故障注入;2)缺乏考虑故障注入对象以及故障类别如何优选,如何对多种故障注入的时序进行编排,以达到最佳的故障注入条件,全方位的测试出云环境的韧性能力。
技术实现思路
专利技术目的:本专利技术要解决的技术问题是提供一种基于启发式强化学习的韧性云环境故障注入方法,能够对韧性信息云环境的IaaS层、PaaS层、SaaS层进行联动故障注入,模拟产生不同跨层混合的故障事件,针对选定的故障注入对象,生成最优的故障注入策略,实现最佳的故障注入效果。技术方案:本专利技术所述的基于启发式强化学习的韧性云环境故障注入方法,包括以下步骤:(1)设置韧性云环境故障注入类型;(2)构建故障注入效果学习的训练节点,训练节点包括韧性云环境中虚拟机、虚拟机上部署的服务、数据库、网络节点,在训练节点上分别部署故障注入工具、监控工具和数据收集工具;(3)根据当前韧性云环境需保障的核心任务,选取多个故障注入对象和故障注入类型进行动态组合,形成多步故障注入序列;(4)依据所述的多步故障注入序列,向设定的对像在不同时间点依次实施故障注入;(5)执行完每步故障注入后,通过部署于训练节点上的数据收集工具,实时采集韧性云环境试验数据,通过韧性云环境故障注入的累积奖赏函数计算累积奖赏值,对累积奖赏值进行比较,将累积奖赏值最高的故障注入序列,作为故障注入的启发式规则;(6)将故障注入的启发式规则应用到下一轮故障注入序列中去,选择相应的故障类别、故障注入对象、故障注入手段,进行故障注入时序编排,生成故障注入序列,重复上述过程,循环迭代。为了对韧性信息云环境的IaaS层、PaaS层、SaaS层进行联动故障注入,步骤(1)所述的故障注入类型包括以下5层18类故障:第1层是计算资源故障,包括5类故障:服务器/虚拟机宕机、服务器/虚拟机高CPU负载、服务器/虚拟机高内存负载、服务器/虚拟机高IO负载和服务器/虚拟机恶意失效;第2层是通信网络故障,包括5类故障:网络节点毁伤、网络链路毁伤、网络区域毁伤、网络持续丢包和网络高延迟;第3层是平台故障,包括3类故障:服务容器过载、服务容器宕机失效和服务容器恶意失效;第4层是数据故障,包括2类故障:数据库访问过载和数据库异常关闭;第5层是服务故障,包括3类故障:非预期服务请求过载、服务无响应和服务失效。所述的多步故障注入序列为韧性云环境所处状态ai时可选取的故障注入操作集合,描述如下:A={a1,a2,a3,....an},A(x)=a1→a3→...→aj,其中,ai(i=1,...n)为不同类型的故障注入操作,A(x)表示从韧性云环境初始状态x出发,执行的多步故障注入序列。为了度量韧性云环境故障注入效果,从注入的故障最大化影响韧性云环境持续保障的核心任务完成效果的角度,采用任务完成率指标度量故障注入效果,得出故障注入的累计奖赏函数,累积奖赏函数为:其中,为从韧性云环境初始状态x出发,执行t+1步故障注入序列后所获得的平均累积奖赏值,x′是初始状态x执行动作a后转移到的状态,a′是策略π在x′上选择的动作,γ为用于计算累计回报的折扣因子,为初始状态x下执行动作a后,转移到状态x′获得的瞬时奖赏。所述的瞬时奖赏如下式所示:其中,Taskrate(x')为韧性云环境所处状态x′时任务完成率,通过韧性云环境在遭受攻击后实际任务完成量Taskreal(x')与预期任务完成量TaskMax之比进行度量。韧性云环境状态空间是指韧性云环境在不同时刻各类资源的运行状态,具体通过计算资源、通信网络资源、数据资源与服务资源共4类资源的状态进行描述,所述方法中还包括建立韧性云环境状态空间模型:Scom={rcpu,rmem,mem,IO},Snet={bath,delay,loss,outtr,intr}Sdata={exeTime,capacity,respcount},Sservice={respTime,thougput,usernum};其中,Scom、Snet、Sdata、Sservice分别表示计算资源状态、通信网络状态、数据状态与服务状态,rcpu、rmem、mem、IO分别表示韧性云环境的IaaS层CPU利用率、内存利用率、可利用的内存大小和IO读取速率,bath、delay、loss、outtra、intra分别表示通信网络的可用带宽、通信时延、丢包率和流入流出流量大小,exeTime、capacity、respcount分别表示数据库的查询语句执行响应时间、数据库可用的存储容量大小、每秒钟数据库访问请求数量,respTime、thougput、usernum分别表示韧性云环境的服务响应时间、服务吞吐量、并发用户数量。有益效果:本方法能够与现有技术比具有一下优点:(1)从韧性云环境的IaaS层、PaaS层、DaaS层、SaaS层,提出了涵盖计算资源、通信网络、平台、数据、服务共5类18种故障,全面覆盖韧性云环境4层故障注入需求;(2)采用强化学习思想生成最优的故障注入策略,提出基于韧性云环境核心任务完成率的故障注入效果度量方法,作为故障注入动作的奖赏函数,确保故障注入策略向导致核心任务完成率下降的方向迭代与优化;(3)为了提高强化学习效率,通过设计大量历史故障注入样本/案例,学习故障注入手段与注入对象的启发式规则,指导韧性云环境故障注入策略选择,旨在实现最佳的故障注入效果。附图说明图1是韧性云环境故障注入类型示意图;图2是韧性云环境故障注入效果学习训练框架图;图3是韧性云环境故障注入方法框架图;图4是韧性云环境故障注入强化学习流程。具体实施方式如图1所示,通过分析韧性信息服务云环境中物理基础资源、平台、数据库、服务等资源易出现的物理硬件与软件故障,根据韧性云环境的Ia本文档来自技高网
...

【技术保护点】
1.一种基于启发式强化学习的韧性云环境故障注入方法,其特征在于包括以下步骤:(1)设置韧性云环境故障注入类型;(2)构建故障注入效果学习的训练节点,训练节点包括韧性云环境中虚拟机、虚拟机上部署的服务、数据库、网络节点,在训练节点上分别部署故障注入工具、监控工具和数据收集工具;(3)根据当前韧性云环境需保障的核心任务,选取多个故障注入对象和故障注入类型进行动态组合,形成多步故障注入序列;(4)依据所述的多步故障注入序列,向设定的对象在不同时间点依次实施故障注入;(5)执行完每步故障注入后,通过部署于训练节点上的数据收集工具,实时采集韧性云环境试验数据,通过韧性云环境故障注入的累积奖赏函数计算累积奖赏值,对累积奖赏值进行比较,将累积奖赏值最高的故障注入序列,作为故障注入的启发式规则;(6)将故障注入的启发式规则应用到下一轮故障注入序列中去,选择相应的故障类别、故障注入对象、故障注入手段,进行故障注入时序编排,生成故障注入序列,重复上述过程,循环迭代。

【技术特征摘要】
1.一种基于启发式强化学习的韧性云环境故障注入方法,其特征在于包括以下步骤:(1)设置韧性云环境故障注入类型;(2)构建故障注入效果学习的训练节点,训练节点包括韧性云环境中虚拟机、虚拟机上部署的服务、数据库、网络节点,在训练节点上分别部署故障注入工具、监控工具和数据收集工具;(3)根据当前韧性云环境需保障的核心任务,选取多个故障注入对象和故障注入类型进行动态组合,形成多步故障注入序列;(4)依据所述的多步故障注入序列,向设定的对象在不同时间点依次实施故障注入;(5)执行完每步故障注入后,通过部署于训练节点上的数据收集工具,实时采集韧性云环境试验数据,通过韧性云环境故障注入的累积奖赏函数计算累积奖赏值,对累积奖赏值进行比较,将累积奖赏值最高的故障注入序列,作为故障注入的启发式规则;(6)将故障注入的启发式规则应用到下一轮故障注入序列中去,选择相应的故障类别、故障注入对象、故障注入手段,进行故障注入时序编排,生成故障注入序列,重复上述过程,循环迭代。2.根据权利要求1所述的基于启发式强化学习的韧性云环境故障注入方法,其特征在于,步骤(1)所述的故障注入类型包括以下5层18类故障:第1层是计算资源故障,包括5类故障:服务器/虚拟机宕机、服务器/虚拟机高CPU负载、服务器/虚拟机高内存负载、服务器/虚拟机高IO负载和服务器/虚拟机恶意失效;第2层是通信网络故障,包括5类故障:网络节点毁伤、网络链路毁伤、网络区域毁伤、网络持续丢包和网络高延迟;第3层是平台故障,包括3类故障:服务容器过载、服务容器宕机失效和服务容器恶意失效;第4层是数据故障,包括2类故障:数据库访问过载和数据库异常关闭;第5层是服务故障,包括3类故障:非预期服务请求过载、服务无响应和服务失效。3.根据权利要求1所述的基于启发式强化学习的韧性云环境故障注入方法,其特征在于,步骤(3)中所述的多步故障注入序列为韧性云环境所处状态ai时可选取的故障注入操作集合,描述如下:A={a1,a2,a3,....an},A(x)=a1→a3→...→aj,其中,ai(i...

【专利技术属性】
技术研发人员:周芳丁峰郭成昊丁冉程文迪俞杰李玉萍
申请(专利权)人:中国电子科技集团公司第二十八研究所
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1