CN109495297B - 基于启发式强化学习的韧性云环境故障注入方法 - Google Patents

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

Info

Publication number
CN109495297B
CN109495297B CN201811306085.0A CN201811306085A CN109495297B CN 109495297 B CN109495297 B CN 109495297B CN 201811306085 A CN201811306085 A CN 201811306085A CN 109495297 B CN109495297 B CN 109495297B
Authority
CN
China
Prior art keywords
fault injection
cloud environment
tough
service
fault
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811306085.0A
Other languages
English (en)
Other versions
CN109495297A (zh
Inventor
周芳
丁峰
郭成昊
丁冉
程文迪
俞杰
李玉萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN201811306085.0A priority Critical patent/CN109495297B/zh
Publication of CN109495297A publication Critical patent/CN109495297A/zh
Application granted granted Critical
Publication of CN109495297B publication Critical patent/CN109495297B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

基于启发式强化学习的韧性云环境故障注入方法
技术领域
本发明涉及一种故障注入方法,特别是涉及一种基于启发式强化学习的韧性云环境故障注入方法。
背景技术
韧性云环境是在继承和发展共用信息基础设施的基础上,引入新的理念、模式和技术手段等,使其更具灵活、适变、抗毁等韧性能力特征,能够更好地实现各类基础资源的汇聚,根据不同任务背景动态组建任务系统、获取相关保障信息等,支撑快速形成遂行海空联合作战等多样化战场任务的能力。同时,在遭受部分节点失效、瘫痪、毁伤的情况能够降级运行,可识别和预测影响任务执行的各种异常,快速采取主动响应控制措施与策略,保障核心任务的完成。因此,为了充分验证韧性云环境在复杂赛博威胁环境下的自适应调整、自重构与任务持续保障等能力,亟需在试验环境下模拟云环境实际运行过程中可能出现的内部故障和外部威胁场景,按照一定时间顺序,依次向韧性云环境注入物理基础设施、平台、服务、数据等混合式故障,致使云环境资源出现失效、过载、流量等异常,旨在验证韧性云环境在遭受物理毁伤、节点失效等条件下韧性能力。
现有的故障注入方法大多面向云计算平台和虚拟化系统方面,提出了面向虚拟机、虚拟化管理层等对象的故障注入工具和集成架构,用于实现分散的故障注入工具统一管理,提供给测试人员,达到以多样化的手段模拟注入目标系统不同层次的故障,提高自动化测试程度。现有故障注入方法存在以下问题: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出发,执行的多步故障注入序列。
为了度量韧性云环境故障注入效果,从注入的故障最大化影响韧性云环境持续保障的核心任务完成效果的角度,采用任务完成率指标度量故障注入效果,得出故障注入的累计奖赏函数,累积奖赏函数为:
Figure BDA0001853651410000021
其中,
Figure BDA0001853651410000031
为从韧性云环境初始状态x出发,执行t+1步故障注入序列后所获得的平均累积奖赏值,x′是初始状态x执行动作a后转移到的状态,a′是策略π在x′上选择的动作,γ为用于计算累计回报的折扣因子,
Figure BDA0001853651410000032
为初始状态x下执行动作a后,转移到状态x′获得的瞬时奖赏。
所述的瞬时奖赏如下式所示:
Figure BDA0001853651410000033
其中,Taskrate(x')为韧性云环境所处状态x′时任务完成率,通过韧性云环境在遭受攻击后实际任务完成量Taskreal(x')与预期任务完成量TaskMax之比进行度量。
韧性云环境状态空间是指韧性云环境在不同时刻各类资源的运行状态,具体通过计算资源、通信网络资源、数据资源与服务资源共4类资源的状态进行描述,所述方法中还包括建立韧性云环境状态空间模型:
Scom={rcpu,rmem,mem,IO},Snet={bath,delay,loss,outtr,in tr}
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所示,通过分析韧性信息服务云环境中物理基础资源、平台、数据库、服务等资源易出现的物理硬件与软件故障,根据韧性云环境的IaaS层、PaaS层、DaaS层、SaaS层体系架构,提出了韧性云环境故障分类体系,包括:计算资源、通信网络、平台、数据、服务共5层18类故障。
(1)计算资源故障
从计算资源的物理毁伤、资源过载、网络攻击三个维度,提出了涵盖服务器/虚拟机宕机、服务器/虚拟机高CPU负载、服务器/虚拟机高内存负载、服务器/虚拟机高IO负载、服务器/虚拟机恶意失效共5类故障。
其中,服务器/虚拟机宕机故障是指由于物理毁伤、电源故障等物理原因,导致服务器、虚拟机瘫痪,停止对外服务。
服务器/虚拟机高CPU负载故障是指由于CPU占用率持续居高不小,使得服务器/虚拟机的业务处理能力下降,无法正常满足业务处理所要求的时延、容量等方面的要求。
服务器/虚拟机高内存负载故障是指内存占用率不断攀升,业务处理进程无法正常工作,不能满足业务处理所要求的时延、容量等方面的要求。
服务器/虚拟机高IO负载故障是指由于IO处理量过高,使得服务器/虚拟机的业务处理能力下降,无法满足正常的情报、态势等业务数据的实时接入与处理能力要求。
服务器/虚拟机恶意失效故障是指由于遭受拒绝服务、恶意代码等攻击,导致服务器、虚拟机丢包以及停止对外提供服务。
(2)通信网络故障
本专利从通信网络遭受的物理毁伤与网络攻击两个维度,提出了通信网络节点毁伤、链路毁伤、区域毁伤、网络持续丢包、网络高延迟共5类故障,该类故障用于支撑韧性云环境IaaS层的故障注入需求。
其中,网络节点毁伤故障是指由于网络路由节点被毁,导致经过该路由节点的流量中断,无法完成信息传输。
网络链路毁伤故障是指由于网络通信链路被断开,导致经过该链路的流量中断。
网络区域毁伤故障是指由于网络某区域内的节点或链路被毁,导致经过该区域内的所有流量中断与通信瘫痪。
网络高延迟/持续丢包故障是指通信网络在遭受外部的拒绝服务类、恶意代码类等攻击条件下,使得通信网络中流量出现暴涨等异常,导致网络传输时延持续增加、丢包率上升,甚至网络阻塞和瘫痪。
(3)平台故障
平台层属于云环境的中间层,提供私有镜像仓库管理、容器集群管理、应用快速部署、业务系统动态编排等功能,可根据任务需要按需加载应用动态启动运行,满足应用系统功能临机组织构建的需求。本专利从服务容器毁伤的角度,提出服务容器过载、服务容器宕机失效、服务容器恶意失效共3类故障,该层故障用于支持云环境PaaS层故障注入需求。
其中,服务容器过载故障是指服务容器由于CPU、内存利用率持续过高,导致服务容器的吞吐量居高不下,无法正常满足业务处理所要求的时延和容量等要求。
服务容器宕机失效故障是指由于服务容器运行环境变异或部署软件异常,导致服务容器异常关闭,停止对外服务,其上运行的应用软件无法访问。
服务容器恶意失效故障是指由于服务容器在遭受外部恶意代码攻击条件下,使得服务容器运行失效,无法响应请求,其上运行的应用软件无法访问。
(4)数据故障
数据层主要完成海量结构化、非结构、半结构数据的综合管理,提供关系型数据库、内存数据库、文件系统等各类数据存储平台的统一访问和数据存储能力。本专利从数据库访问性能下降、数据库无法访问的角度,提出了数据库访问过载、数据库异常关闭等典型故障,该层故障用于满足云环境DaaS层故障注入需求。
其中,数据库访问过载故障是指由于存在大量非预期的数据库访问请求,导致数据库访问请求处理持续过高,无法正常满足应用系统对数据库的查询、实时数据的存储等处理要求。
数据库异常关闭故障是指由于停电、操作系统、CPU硬件故障等物理原因,导致数据库异常关闭,数据库的所有事务都非正常终止,使得应用服务和业务系统无法正常获取数据库中数据,如空海情数据、战场实时态势信息等。
(5)服务故障
本专利从服务降效、失效的角度,提出了非预期服务请求过载、服务无响应、服务失效共3种故障,该层故障用于支持云环境SaaS层故障注入需求。
其中,非预期服务请求过载故障是指由于大量非法用户在某段时间内提交并发服务请求(如态势订阅服务请求),导致正常合法用户的服务请求无法及时高效得到响应和处理。
服务无响应故障是指由于服务自身运行崩溃或通信失败、服务依赖的其它服务失效、服务依赖的数据失效等条件下,发生服务长时间无法对外提供服务。
服务失效故障是指由于服务在遭受外部网络攻击条件、注入半合法的业务数据攻击下,导致服务失效与运行故障。
在上述分析的基础上,共提出了5种18类韧性云环境故障类别,如表1所示。
表1韧性云环境故障类型
Figure BDA0001853651410000061
针对态势接入服务、数据库等存储型的节点,应优先选择内存/IO资源过载故障,触发态势接入服务降效,使其难以接收完整的实时数据,即对于韧性云环境不同类型资源,同一故障注入方法和工具所产生的效果差异较大。因此,采用免模型强化学习方法,开展大量探索式的故障注入试验,从某初始状态出发,执行多步故障注入攻击,对每步故障注入后产生的效果进行度量,得到多步故障注入轨迹,选择最优的故障注入执行序列,作为韧性云环境故障注入的启发式规则,具体实施过程描述如下。
步骤1:构建故障注入效果学习的训练节点,如图2所示,包括韧性云环境中虚拟机、虚拟机上部署的服务、数据库、网络节点。在训练节点上分别部署故障注入工具、监控工具和数据收集工具。其中,故障注入工具涵盖:CPU/内存/IO资源过载压测工具、虚拟机宕机工具、网络节点/链路毁伤工具。
监控工具部署在各个虚拟机节点上,用于监控虚拟机及服务运行状态,监控工具的统计信息将周期性发送给学习代理,以捕获/检测韧性云环境发生的故障情况。
数据收集工具用于收集训练节点上与核心任务完成率指标计算相关的试验数据,针对战场态势接入任务,其收集的试验数据包含:实时接收的空情目标数量、海情目标数量、陆情目标数量。针对战场态势保障任务,其收集的试验数据包含:态势用户提交服务请求数量、提交态势订阅请求的时刻、接收态势信息的时刻。
步骤2:规划故障注入对象和故障注入类型,向设定的对像在不同时间点依次实施故障注入。根据当前韧性云环境需保障的核心任务,建立影响核心任务完成的资源集,并针对每类资源设计出适应的故障集。在此基础上,对故障注入对象与故障类别进行动态组合,形成故障注入的样本实例,具体如表2所示。
表2故障注入对象和类型
Figure BDA0001853651410000071
Figure BDA0001853651410000081
步骤3:执行完每步故障注入后,通过部署于训练节点上的数据采集工具,实时采集韧性云环境试验数据,完成核心任务完成率指标的评估计算,度量故障注入的效果,通过累积奖赏函数计算所获得的累积奖赏值,对累积奖赏值进行比较,得出最优的故障注入执行序列,作为故障注入的启发式规则,完成强化学习的过程,具体强化学习流程如图3所示。最后将故障注入的启发式规则应用到下一轮故障注入序列中,根据启发式规则描述,选择相应的故障类别、故障注入对象、故障注入手段,进行故障注入时序编排,生成故障注入序列。依次重复上述过程,循环迭代。
启发式规则的生成算法如表3所示。
表3启发式规则的生成算法
Figure BDA0001853651410000082
Figure BDA0001853651410000091
累积奖赏函数用于度量韧性云环境故障注入效果,具体从注入的故障最大化影响韧性云环境持续保障的核心任务完成效果的角度,采用任务完成率指标度量故障注入效果,若任务完成率越低,则故障注入效果更优。根据任务完成率的计算模型,得出故障注入的累计奖赏函数:
Figure BDA0001853651410000092
Figure BDA0001853651410000093
为从韧性云环境初始状态x出发,执行t+1步故障注入序列后所获得的平均累积奖赏值;
Figure BDA0001853651410000094
分别为从韧性云环境初始状态x出发,执行t步故障注入序列后所获得的平均累积奖赏值;同理定义
Figure BDA0001853651410000095
x′是韧性云环境所处状态x执行动作a后转移到的状态,a′是策略π在x′上选择的动作,
Figure BDA0001853651410000096
为韧性云环境在状态x下故障注入智能体执行动作a后,转移到状态x′所获得的瞬时奖赏。
本方法中采用任务完成率值大小度量瞬时奖赏,即实施故障注入a操作后,任务完成率越高,则获得的瞬时奖赏值越小,表现当前故障注入取得的效果最优;反之,若任务完成率越高,则获得的瞬时奖赏值越大;因此,建立了基于任务完成率的瞬时奖赏度量函数,如下式所示:
Figure BDA0001853651410000097
Figure BDA0001853651410000098
归一化为[0,10],取值10表示获得的奖赏值最大;当任务完成率为100%时,
Figure BDA0001853651410000099
为0时,表示当前故障注入动作对韧性云环境核心任务完成情况无影响,其获得的奖赏为零。当任务完成率为0时,
Figure BDA00018536514100000910
取最大值10,表示当前故障注入动作导致韧性云环境核心任务无法完成,即获得的奖赏最大。γ为折扣因子,用于计算累计回报。Taskrate(x')为韧性云环境所处状态x′时核心任务完成率,任务完成率是指韧性云环境在遭受扰动后实际的任务完成量与预期要求完成的任务量之比,表现为满足预定要求的任务完成程度,其度量模型如下:
Figure BDA0001853651410000101
式中,Taskreal(x')为韧性云环境所处状态x′时实际完成的任务量,TaskMax为预期要求完成的任务量。
下面以战场态势保障任务为例,给出了战场态势任务完成率的度量模型。战场态势保障任务是指在规定时间内成功保障指挥所系统用户按需获取订阅的战场态势信息任务,其度量模型如下:
Figure BDA0001853651410000102
N成功(ui)=SubTime(ui)<T0(态势订阅响应阀值时间),
其中,用户ui的态势订阅响应时间SubTime(ui)指用户提交态势订阅请求的时刻到接受态势反馈信息的时间间隔。
如图3所示,考虑到韧性云环境状态转移函数、动作选择概率与故障注入奖赏函数难以进行建模,本方法基于启发式规则的韧性云环境故障注入建立强化学习模型。强化学习模型构建过程描述如下:利用蒙特卡洛试验方法,设计各类故障注入样本,通过开展n次样本试验,计算故障注入后得到的累积奖赏,作为每次试验得到的故障注入试验结果,在多次样本试验平均的基础上进行故障注入策略的评估与改善。基于启发式规则的韧性云环境故障注入强化学习模型LR描述如下:
LR=(S,A,P,R,γ),
式中,S为韧性云环境的有限状态集,A为故障注入器采取的有限动作集,即可实施的故障注入操作,P:S×A×S→R为故障注入器在状态si下执行动作a达到状态sj的转移概率,R为故障注入器在状态si下执行动作a达到状态sj所获得的瞬时奖赏,γ为故障注入器执行故障后产生奖赏的折扣因子。
建立的韧性云环境状态空间是指韧性云环境在不同时刻各类资源的运行状态,具体通过计算资源、通信网络资源、数据资源与服务资源共4类资源的状态进行描述,如下式所示:
S={Scom,Snet,Sdata,Sservice}
Scom={rcpu,rmem,mem,IO},Snet={bath,delay,loss,outtr,in tr}
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:并发用户数量,表示韧性云环境能够同时承载使用系统功能的用户数量。

Claims (5)

1.一种基于启发式强化学习的韧性云环境故障注入方法,其特征在于包括以下步骤:
(1)设置韧性云环境故障注入类型;
(2)构建故障注入效果学习的训练节点,训练节点包括韧性云环境中虚拟机、虚拟机上部署的服务、数据库、网络节点,在训练节点上分别部署故障注入工具、监控工具和数据收集工具;
(3)根据当前韧性云环境需保障的核心任务,选取多个故障注入对象和故障注入类型进行动态组合,形成多步故障注入序列;
(4)依据所述的多步故障注入序列,向设定的对象在不同时间点依次实施故障注入;
(5)执行完每步故障注入后,通过部署于训练节点上的数据收集工具,实时采集韧性云环境试验数据,通过韧性云环境故障注入的累积奖赏函数计算累积奖赏值,对累积奖赏值进行比较,将累积奖赏值最高的故障注入序列,作为故障注入的启发式规则;
所述的韧性云环境故障注入的累积奖赏函数为:
Figure FDA0002735593500000011
其中,
Figure FDA0002735593500000012
为从韧性云环境初始状态x出发,执行t+1步故障注入序列后所获得的平均累积奖赏值,x′是初始状态x执行动作a后转移到的状态,a′是策略π在x′上选择的动作,γ为用于计算累计回报的折扣因子,
Figure FDA0002735593500000013
为初始状态x下执行动作a后,转移到状态x′获得的瞬时奖赏;
(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=1,...n)为不同类型的故障注入操作,A(x)表示从韧性云环境初始状态x出发,执行的多步故障注入序列。
4.根据权利要求1所述的基于启发式强化学习的韧性云环境故障注入方法,其特征在于所述的瞬时奖赏如下式所示:
Figure FDA0002735593500000021
其中,Taskrate(x')为韧性云环境所处状态x′时任务完成率,通过韧性云环境在遭受攻击后实际任务完成量Taskreal(x')与预期任务完成量TaskMax之比进行度量。
5.根据权利要求1所述的基于启发式强化学习的韧性云环境故障注入方法,其特征在于还包括建立韧性云环境状态空间模型:
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分别表示韧性云环境的服务响应时间、服务吞吐量、并发用户数量。
CN201811306085.0A 2018-11-05 2018-11-05 基于启发式强化学习的韧性云环境故障注入方法 Active CN109495297B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811306085.0A CN109495297B (zh) 2018-11-05 2018-11-05 基于启发式强化学习的韧性云环境故障注入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811306085.0A CN109495297B (zh) 2018-11-05 2018-11-05 基于启发式强化学习的韧性云环境故障注入方法

Publications (2)

Publication Number Publication Date
CN109495297A CN109495297A (zh) 2019-03-19
CN109495297B true CN109495297B (zh) 2021-02-02

Family

ID=65693785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811306085.0A Active CN109495297B (zh) 2018-11-05 2018-11-05 基于启发式强化学习的韧性云环境故障注入方法

Country Status (1)

Country Link
CN (1) CN109495297B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328814B (zh) * 2022-10-13 2023-04-14 苏州浪潮智能科技有限公司 基于镜像对的故障注入方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106130809A (zh) * 2016-09-07 2016-11-16 东南大学 一种基于日志分析的IaaS云平台网络故障定位方法及系统
CN107579846A (zh) * 2017-08-23 2018-01-12 昆明理工大学 一种云计算故障数据检测方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9721086B2 (en) * 2013-03-15 2017-08-01 Advanced Elemental Technologies, Inc. Methods and systems for secure and reliable identity-based computing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106130809A (zh) * 2016-09-07 2016-11-16 东南大学 一种基于日志分析的IaaS云平台网络故障定位方法及系统
CN107579846A (zh) * 2017-08-23 2018-01-12 昆明理工大学 一种云计算故障数据检测方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云计算系统故障注入平台的研究与设计;柴森;《中国优秀硕士学位论文全文数据库》;20170215(第02期);第15-22页 *

Also Published As

Publication number Publication date
CN109495297A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN108040062B (zh) 一种基于证据推理规则的网络安全态势评估方法
Cámara et al. Reasoning about sensing uncertainty and its reduction in decision-making for self-adaptation
CN115348159A (zh) 基于自编码器和服务依赖图的微服务故障定位方法及装置
Teo et al. Formalization of emergence in multi-agent systems
CN113077052A (zh) 用于稀疏奖励环境的强化学习方法、装置、设备及介质
CN110336815A (zh) 基于区块链的攻击防御方法、装置、设备及可读存储介质
CN113902116A (zh) 一种面向深度学习模型推理批处理优化方法与系统
CN109495297B (zh) 基于启发式强化学习的韧性云环境故障注入方法
CN115511186A (zh) 一种深度学习训练时长的预测管理方法、装置及设备
CN114936083A (zh) 基于微服务的拟态web执行体高效调度的方法及装置
CN107347064A (zh) 基于神经网络算法的云计算平台态势预测方法
CN105933138B (zh) 一种时空维度相结合的云服务可信态势评估与预测方法
Sheng et al. Network traffic anomaly detection method based on chaotic neural network
CN117580046A (zh) 一种基于深度学习的5g网络动态安全能力调度方法
CN111679970A (zh) 机器人软件系统运行环境状态预测方法
CN109978138A (zh) 基于深度强化学习的结构可靠度抽样方法
Buga et al. Towards modeling monitoring of smart traffic services in a large-scale distributed system
CN114679335A (zh) 电力监控系统网络安全风险评估训练、评估方法及设备
Youness et al. A behavior and delay equivalent petri net model for performance evaluation of communication protocols
CN111815442B (zh) 一种链接预测的方法、装置和电子设备
Xu et al. Fault diagnosis for the virtualized network in the cloud environment using reinforcement learning
CN116933272B (zh) 一种游戏漏洞实时分析方法、装置及系统
CN117879970B (zh) 一种网络安全防护方法及系统
Patel et al. CrystalBox: Future-Based Explanations for Input-Driven Deep RL Systems
Liu et al. HelpCloud: hierarchy health evaluation for private cloud

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant