云服务事件及服务等级合约数据的向量化方法

文档序号:25420235发布日期:2021-06-11 21:31阅读:163来源:国知局
云服务事件及服务等级合约数据的向量化方法

本发明涉及云服务器的网络安全的技术领域,旨在发明一种云服务事件及其服务等级合约数据的向量化方法。



背景技术:

云服务器(cloudserver)是执行应用程序和信息处理贮存的物理或虚拟基础设施。它通过虚拟化软件将物理服务器划分为多个虚拟服务器,应用基础架构即服务(infrastructureasaservice,iaas)架构来处理工作负载并贮存信息,使得用户可以通过在线接口远程访问虚拟服务器功能。阿里云云服务器(elasticcomputeservice,ecs)是一种简单高效且处理能力可弹性伸缩的iaas级云计算服务,参见图1所示的云服务器结构图。云服务是云服务器的进程(process)按特定协议的请求而回复信息的行为。而云服务日志是服务行为的痕迹记录。

网络安全是保护网络系统的硬件、软件及其数据免受攻击、侵入、干扰、破坏或未经授权访问等以及意外突发事件,使其处于稳定可靠运行的状态,并且保障网络数据的机密性,完整性,真实性,可用性以及抗抵赖性的能力。在ecs结构中,安全组本质上是通过一些规则来限定访问流量(即哪些应用可以被访问)的虚拟防火墙,具备状态检测和数据包过滤能力,用于在云端划分安全域。安全组规则可以允许或者禁止ecs实例的外网和内网的出入方向的访问。也就是通过配置安全组规则,可以控制安全组内ecs实例的入流量和出流量。一台ecs实例必须至少属于一个安全组。在创建实例时,需要选择一个安全组用于网络访问控制。

大数据计算服务(maxcompute)是阿里巴巴自主研发用于处理结构化和半结构化大数据的云计算服务。它采用抽象的作业处理框架将不同场景的计算任务统一在同一个平台之上,共享安全、存储、数据管理和资源调度,为来自不同用户需求的数据处理任务提供统一的编程接口和界面。它支持兼容标准语法的sql处理、扩展的mapreduce编程框架等。

服务等级合约(servicelevelagreement,sla)是服务提供商和客户之间为确保服务的预期水平而正式协商的合约。它规定阿里云向客户提供的云服务的服务可用性等级指标及赔偿方案。而违规是指云服务提供商或客户未达到合约的行为。若云服务提供商所提供的云服务的计算性能(例如,可用性、安全性等)未达到服务合约要求,则将被问责。

云服务事件一般以云服务日志的形式保存,日志数据量大且离散、非连续,此外还包含非数值的字符串。而云服务等级指标大多以自然语言或字符来描述,且与云服务日志有语义间隔。无论是服务日志数据还是等级指标数据都尚不能直接参与计算,更不利于实体状态或实体联系等事件违规的神经网络深度判定。

目前已有数据向量化方法,在处理云服务事件及其等级合约数据上存在以下四点不足:

第一是依赖上下文或词库的向量化方法受有结构数据和词库的约束,它仅能向量化有限的字符串,尚无法处理大量且任意字符串,更不适用于处理无结构数据。此外,该方法适应性不强且耗时,输入不同数据须再次训练模型;

第二是处理时序数据的传统向量化方法不适用于处理非时序数据;

第三是已有指标量化方法仅单一地考虑时间、或资源使用情况等指标,还难以综合向量化诸如时间、数量、操作、资源使用情况等多方指标。

第四是未具体向量化到服务事件及其合约数据。

由此可见,目前已有的数据向量化方法尚不能处理离散非时序的事件碎片数据,与此同时还尚不能处理多指标的合约数据,缺乏从日志数据转违规语义的途径,更需构造从日志数据转违规语义的指标。



技术实现要素:

为了解决已有方法尚不能同时处理离散非时序的事件碎片数据,以及多指标合约数据的技术问题。本发明给出一种云服务事件及其等级合约数据的向量化方法。本发明方法首先形式化云服务事件并构造事件的状态元;其次,形式化服务等级合约并从中提取违规元及其指标;其三,映射事件状况与服务等级之间的联系,得出“状态元-违规元”的联系元组;其四,依据“状态元-违规元”的联系元组与指标,构造出“状况-指标”联系元组;其五,依据量化规则来量化“状况-指标”联系元组;最后生成云服务事件的“状况-指标”向量样本。

本发明云服务事件及其等级合约数据的向量化方法的优点在于:

①本发明方法通过形式化云服务事件及其合约,并分别从中构造出状态元与违规元,给出一个从事件及其合约数据语义转违规语义的途径。

②本发明方法不受日志数据是否完整的约束,只需诸如非连续等的碎片数据,即可生成数据。

③本发明方法相对于高维向量仅有一个维度来描述数据的向量化方法,产生较少冗余维度,且给计算和贮存带来较少压力。

④本发明方法可同时综合诸如时间、数量、操作、资源使用情况等多方指标来度量事件。

⑤本发明方法生成可用作实体自身状态变化事件、或实体间联系事件的违规判定。

⑥本发明方法可扩展用于入侵检测、事件调查以及追踪溯源等用途。

附图说明

图1是云服务器ecs结构图。

图2是本发明的云服务事件及其等级合约的映射图。

图3是本发明的一种云服务事件及其等级合约数据的向量化方法的流程图。

图4是本发明中状态元的量化流程图。

图5是应用knn判定长尾违规的准确率、精确率和召回率。

图6是应用knn判定长尾违规的误判率。

具体实施方式

下面将结合附图对本发明做进一步的详细说明。

本发明处理的对象是云服务日志及其云服务等级合约数据(servicelevelagreement,sla)。每一条云服务日志是来源于大数据计算服务存储/计算层中的mrjob模块、sqljob模块等。大数据计算服务为阿里云专有云企业版,在2020年11月18日发表的《大数据计算服务产品简介》的第11页中。产品版本:v3.12.0。《大数据计算服务maxcompute服务等级合约》的版本生效日期为2018年02月01日。

在本发明中,sla约束云服务的责任,且用户以作业job为单位向云服务提交需求。因此,sla最完整能映射出来的单位是作业。若作业job的要求恰巧由某个任务task来承担,则可以把责任映射到该任务task上。

形式化云服务事件

云服务日志记录作业的执行状况。一条日志记录一个实例的运行状况。一个作业由一个或多个任务组成,而一个任务由一个或多个实例组成。

在本发明中,作业,记为job;任务,记为task。

所述job中存在有多个任务,采用集合形式表达任务集为mta,且

表示属于job的第一个任务。

表示属于job的第二个任务。

表示属于job的第i个任务。

表示属于job的最后一个任务。

为了方便说明本发明,下角标i表示任务的标识号,即也称为任意一个任务。下角标m表示任务的总数目。

在本发明中,实例,记为inst;任意一个任务中存在有多个实例,采用集合形式表达实例集为

表示属于任意一个任务的第一个实例。

表示属于任意一个任务的第二个实例。

表示属于任意一个任务的第j个实例。

表示属于任意一个任务的最后一个实例。

为了方便说明本发明,下角标j表示实例的标识号,即也称为任务下的任意一个实例。下角标n表示实例的总数目。

云服务事件中包含的字段内容

在本发明中,将任意一条实例记录作为一次云服务事件。那么,任意一条实例包含的云服务事件字段内容,记为

start_time表示实例的开始时刻。end_time表示实例的结束时刻。machine_id表示云服务器标识。task_name表示任务名。job_name表示作业名。inst_name表示实例名。seq_no表示实例重试的次数。total_seq_no表示实例重试的总次数。status表示实例的状态。cpu_avg表示实例的平均cpu利用量。cpu_max表示实例的最大cpu利用量。mem_avg表示实例的平均内存利用量。mem_max表示实例的最大内存利用量。

在本发明中,云服务事件字段内容是用来构建云服务事件状态元集合和云服务事件违规元集合的元素。

在本发明中,若云服务事件状态元集合中的某一状态元是涉及违反云服务事件违规元集合中的某一违规元的因素,则云服务事件的状态元就是违规元。

云服务事件的状态元

在本发明中,云服务事件中的每一个字段是句子的组成元素。应用句子结构成分方法,用双竖线划分出句子的主语部分和谓语部分。一次云服务事件用“主谓句式”的表述式记为sys_event,且sys_event=[时段],(特定)实例||[重试]呈态<载荷>。

参见图2所示本发明给出的云服务事件及其等级合约的映射图中,在本发明中,用七个状态元构成了云服务事件状态元集合,记为event_status,且

在本发明中,七个状态元分别是:

时长状态元time,描述云服务事件的时长状态,其表示为time={start_time,end_time}。

位置状态元location,描述云服务事件的位置状态,其表示为location={machine_id,job_name,task_name}。

数量状态元number,描述云服务事件的数量状态,其表示为number={inst_name}。

重试状态元retry,描述云服务事件的重试状态,其表示为retry={seq_no,total_seq_no}。

操作状态元operation,描述云服务事件的操作状态,其表示为operation={status}。

cpu载荷状态元cpu,描述云服务事件的cpu载荷状态,其表示为cpu={cpu_avg,cpu_max}。

内存载荷状态元mem,描述云服务事件的内存载荷状态,其表示为mem={mem_avg,mem_max}。

云服务事件的违规元

在本发明中,云服务事件违规元集合,记为violation,且

vf_longtail表示实例级的时长元-违规元。

vf_location表示实例级的位置元-违规元。

vf_number表示作业级的数量元-违规元。

vf_retry表示实例级的重试元-违规元。

vf_operation表示实例级的操作元-违规元。

vf_cpu表示实例级的cpu载荷元-违规元。

vf_mem表示实例级的内存载荷元-违规元。

在本发明中,违规元是指云服务事件-状况规约中涉及违反规定的元素。从所述slas中提取出的违规元构建得到云服务事件违规元集合

形式化服务等级合约

参见图2所示本发明构造的云服务事件及其等级合约的映射图中,如果云服务事件的违规元体现在句子sys_event=[时段],(特定)实例||[重试]呈态<载荷>的谓语和定状补修饰成分上。而多次事件的突发数量违规元体现在句子sys_event=[时段],(特定)实例||[重试]呈态<载荷>的主语(例如数量状态元number)的统计值上。

在本发明中,依据大数据计算服务maxcompute服务等级合约,设定云服务事件-状况规约slas。slas包括7条规约,采用集合形式表示为:

sla4inst_time表示实例级的时长元规约。sla4inst_location表示实例级的位置元规约。sla4job_number表示作业级的数量元规约。sla4inst_retry表示实例级的重试元规约。sla4inst_operation表示实例级的操作规约。sla4inst_cpu表示实例级的cpu载荷规约。sla4inst_mem表示实例级的内存载荷规约。

实例级的时长元规约

实例级的时长元规约,记为sla4inst_time。所述sla4inst_time是指时长状态元time的规约。中文表述为:若任务中某实例的运行时段大于等于3倍全部实例的平均运行时段,则该实例发生长尾。

将中文表述的实例级时长状态元规约形式化为公式(1):

v表示谓词判定的条件。

当所述v的谓词判定结果是则违反了公式(1),记为违规-实例级的时长元规约,即该状态元是违规元vf_longtail。

当所述v的谓词判定结果不是则为满足实例级时长元规约。

谓词islongtail(·)表示实例的运行时段大于或等于长尾指标。

longtail_metric表示实例长尾的指标。

n表示任务中实例的总数目。

表示实例的结束时刻。

表示实例的开始时刻。

表示实例的运行时段。

从sla4task_time提取出实例级的时长违规元及其指标。

在sla4task_time中,涉嫌违规约的元素是实例的运行时段,即反映在时长状态元上。因此,时长元-违规元vf_longtail为实例的运行时段,表示为vf_longtail=<end_time,start_time>。

实例长尾违规的指标longtail_metric为3倍全部实例的平均运行时段,表示为

实例级的位置元规约

实例级的位置元规约,记为sla4inst_location。所述sla4inst_location是指位置状态元location的规约。其中文表述为:若某台云服务器上有一个实例处于失败状态,则该实例禁用这台机器。若该实例启用被禁用的机器,则视该实例发生位置越界,即位置违规。

将中文表述的实例级位置元规约形式化为公式(3):

v表示谓词判定的条件。

当所述v的谓词判定结果是则违反了公式(3),记为违规-实例级的位置元规约,即该状态元是违规元vf_location。

当所述v的谓词判定结果不是则为满足实例级位置元规约。

谓词isusued(·)表示实例的状态为usued(云服务器状态是否可用)。

谓词isfailed(·)表示实例的状态为failed(失败状态)。

forbidden_machine表示被禁用的云服务器的标识。

表示运行实例的云服务器的标识。

表示运行实例的另一台云服务器的标识。

表示实例的状态。

从sla4inst_location提取出实例级的位置违规元及其指标。

在sla4inst_location中,涉及违规的元素是承载实例运行的云服务器的标识,即反应在位置状态元上。作业名和任务名能够唯一标识实例。因此,位置元-违规元vf_location表示为vf_location={machine_id,job_name,task_name}。

而位置违规的指标location_metric为被禁用机的器标识,表示为location_metric={machine_id}。

作业级的数量元规约

作业级的数量元规约,记为sla4job_number。所述sla4job_number是指数量状态元number的规约。其中文表述为:若作业的reduce实例数超过2000,或作业的map实例数超过8000,则该作业的实例数超限。

将中文表述的作业级数量元规约形式化为公式(5):

rnumber_metric=2000(8)

mnumber_metric=8000(9)

v表示谓词判定的条件。

当所述v的谓词判定结果是则违反了公式(5),记为违规-作业级的数量元规约,即该状态元是违规元vf_number。

当所述v的谓词判定结果不是则为满足作业级数量元规约。

谓词isoverrednumber(·)表示作业的reduce实例数超过其数量指标。

谓词isovermapnumber(·)表示作业的map实例数超过其数量指标。

谓词isreducetask(·)表示变元是reduce任务。

谓词ismaptask(·)表示变元是map任务。

rinstnumberofjob表示一个作业中的reduce实例数。

minstnumberofjob表示一个作业中的map实例数。

rnumber_metric表示一个作业中reduce实例数指标。

mnumber_metric表示一个作业中map实例数指标。

表示实例所属的任务名。

从sla4job_number提取出作业级的数量违规元及其指标。

在sla4job_number中,涉嫌违规的元素是实例数,即反映在数量状态元上。因此,位置元-违规元vf_number表示为vf_number={inst_name}。

数量违规的指标是作业的reduce实例数超过2000,或作业的map实例数超过8000,故作业级的数量违规指标number_metric表示为number_metric={2000,8000}。

实例级的重试元规约

实例级的重试元规约,记为sla4inst_retry。所述sla4inst_retry是指重试状态元retry的规约。其中文表述为:若map实例或reduce实例失败后重试次数超过3次,则该实例重试超限。

将中文表述的实例级重试元规约形式化为公式(10)

v表示谓词判定的条件。

当所述v的谓词判定结果是则违反了公式(10),记为违规-实例级的重试元规约,即该状态元是违规元vf_retry。

当所述v的谓词判定结果不是则为满足实例级重试元规约。

谓词isoverretry(·)表示实例的重试次数或重试总次数超过重试违规指标。

谓词isfailed(·)表示实例的状态为failed(失败状态)。

谓词isreducetask(·)表示变元是reduce任务。

谓词ismaptask(·)表示变元是map任务。

表示实例的重试次数和重试总次数。

retry_metric表示重试违规指标。

从sla4inst_retry提取出实例级的重试违规元及其指标。

在sla4inst_retry中,涉嫌违规的元素是实例的重试次数或重试总次数,即反映在重试状态元上。因此,重试元-违规元vf_retry表示为vf_retry={seq_no,total_seq_no}。其重试违规指标retry_metric={3}。

实例级的操作元规约

实例级的操作元规约,记为sla4inst_operation。所述sla4inst_operation是指操作状态元operation的规约。其中文表述为:若实例因自身某些操作(例如实例超过重启次数等),且实例failed状态,则该实例操作违规;若实例因cpu或内存载荷超过其限额而被系统中断,且实例为interrupted状态,则该实例操作违规。

将中文表述的实例级操作元规约形式化为公式(12):

retry_metric=3(13)

v表示谓词判定的条件。

当所述v的谓词判定结果是则违反了公式(12),记为违规-实例级的操作元规约,即该状态元是违规元vf_operation。

当所述v的谓词判定结果不是则为满足实例级操作元规约。

谓词isfailed(·)表示实例的状态为failed(失败状态)。

谓词isoverretry(·)表示实例的重试次数或重试总次数超过重试违规指标。

谓词isreducetask(·)表示变元是reduce任务。

谓词ismaptask(·)表示变元是map任务。

谓词isinterrupted(·)表示实例状态为interrupted(中断状态)。

谓词isoverplancpu(·)表示实例的cpu载荷超过计划的cpu载荷限额。

谓词isoverplanmem(·)表示实例的内存载荷超过计划的内存载荷限额。

表示实例的cpu载荷。

表示实例的内存载荷。

表示实例的重试次数和重试总次数。

从sla4inst_operation提取出实例级的操作违规元及其指标。

在sla4inst_operation中,涉嫌违规的元素是实例的状态,即反映在操作元上。因此,操作元-违规元vf_operation表示为vf_operation={status}。

其中,实例的failed(失败状态)和interrupted(中断状态)是操作违规的体现。因此实例级的操作违规指标operation_metric表示为operation_metric={'failed','interrupted'}。

实例级的cpu载荷元规约

实例级的cpu载荷元规约,记为sla4inst_cpu。所述sla4inst_cpu是指cpu载荷状态元cpu的规约。其中文表述为:若实例的cpu载荷超过其限额(例如计划的cpu载荷),则该实例cpu载荷超限。

将中文表述的实例级cpu载荷元规约形式化为公式(14):

v表示谓词判定的条件。

当所述v的谓词判定结果是则违反了公式(14),记为违规-实例级的cpu载荷元规约,即该状态元是违规元vf_cpu。

当所述v的谓词判定结果不是则为满足实例级cpu载荷元规约。

谓词isoverplancpu(·)表示实例的cpu载荷超过计划的cpu载荷限额。

从sla4inst_cpu提取出实例级的cpu载荷违规元及其指标。

在sla4inst_cpu中,涉嫌违规的元素是实例的cpu载荷,即反映在cpu载荷状态元上。因此,cpu载荷元-违规元vf_cpu表示为vf_cpu={cpu_avg,cpu_max}。

cpu载荷违规的指标是系统分配给实例的cpu载荷限额plan_cpu,故实例级的cpu载荷违规指标cpu_metric={plan_cpu}。

实例级的内存载荷元规约

实例级的内存载荷元规约,记为sla4inst_mem。所述sla4inst_mem是指内存载荷状态元mem的规约。其中文表述为:若实例的内存载荷超过其限额(例如计划的内存载荷),则该实例内存载荷超限。

将中文表述的实例级内存载荷元规约形式化为公式(15):

v表示谓词判定的条件。

当所述v的谓词判定结果是则违反了公式(15),记为违规-实例级的内存载荷元规约,即该状态元是违规元vf_mem。

当所述v的谓词判定结果不是则为满足实例内存载荷元规约。

谓词isoverplanmem(·)表示实例的内存载荷超过计划的内存载荷限额。

从sla4inst_mem提取出实例级的内存载荷违规元及其指标。

在sla4inst_mem中,涉嫌违规的元素是实例的内存载荷,即反映在内存载荷状态元上。因此,内存载荷元-违规元vf_mem={mem_avg,mem_max}。

内存载荷违规的指标是系统分配给实例的内存载荷限额plan_mem,故实例级的内存载荷违规指标mem_metric={plan_mem}。

在本发明中,云服务日志来源于阿里云大数据计算服务(maxcompute)的存储/计算层中的mrjob模块、sqljob模块。它记录阿里云存储/计算集群中云服务器执行作业的状况。服务等级合约来自生效日期为2018年02月01日的版本。

参见图3所示,本发明的一种云服务事件及其等级合约数据的向量化方法,包括有下列步骤:

步骤一,形式化云服务事件;

步骤101,云服务器日志收集;

收集云服务器执行作业的日志记录,日志记录中的作业记为job,job中存在有多个任务,采用集合形式表达任务集为

中存在有多个实例,采用集合形式表达实例集为

本发明运行的云服务日志记录来源于alibabaclustertracev2018数据集。

步骤102,设置云服务事件的字段内容;

将任务下的任意一个实例记录作为一次云服务事件,那么云服务事件字段内容,记为

所述所述中的下角标i表示任务的标识号,下角标j表示实例的标识号。

步骤二,构造云服务事件的状态元;

步骤201,云服务事件的主谓句式表达;

在本发明中,云服务事件中的每一个字段是句子的组成元素。应用句子结构成分方法,用双竖线划分出句子的主语部分和谓语部分。一次云服务事件用“主谓句式”的表述式记为sys_event,且sys_event=[时段],(特定)实例||[重试]呈态<载荷>。

步骤202,基于状态元表征的云服务事件的状况;

在本发明中,采用主谓句式sys_event=[时段],(特定)实例||[重试]呈态<载荷>对实例集各个实例的字段语义进行句子结构成分划分,构造出云服务事件的状态元集合,记为event_status,所述event_status包含的内容有:

在本发明中,云服务事件的时长状态元time用于描述云服务事件的时长状态,所述time={start_time,end_time}。

在本发明中,云服务事件的位置状态元location用于描述云服务事件的位置状态,所述location={machine_id,job_name,task_name}。

在本发明中,云服务事件的数量状态元number用于描述云服务事件的数量状态,所述number={inst_name}。

在本发明中,云服务事件的重试状态元retry用于描述云服务事件的重试状态,所述retry={seq_no,total_seq_no}。

在本发明中,云服务事件的操作状态元operation用于描述云服务事件的操作状态,所述operation={status}。

在本发明中,云服务事件的cpu载荷状态元cpu用于cpu载荷元cpu描述云服务事件的cpu载荷状态,所述cpu={cpu_avg,cpu_max}。

在本发明中,云服务事件的内存载荷状态元mem用于内存载荷元mem描述云服务事件的内存载荷状态,所述mem={mem_avg,mem_max}。

对于任意一个云服务事件字段内容构造得到的云服务事件状态元集合为:

步骤三,形式化云服务事件的服务等级合约;

在本发明中,基于大数据计算服务maxcompute服务等级合约,并结合云服务事件字段内容构建得到云服务事件-状况规约slas,其包括7条规约。

所述

实例级的时长元规约

实例级的位置元规约

作业级的数量元规约

实例级的重试元规约

实例级的操作规约

实例级的cpu载荷规约

实例级的内存载荷规约

步骤四,提取违规元;

在本发明中,符合步骤三制定的规约中的元素,则作为违规元。

在本发明中,违规元是指云服务事件-状况规约中涉及违反规定的元素。从所述slas中提取出的违规元构建得到云服务事件违规元集合

在本发明中,违反实例级的时长元规约sla4inst_time,称为时长元-违规元vf_longtail:所述vf_longtail=<end_time,start_time>。

在本发明中,违反实例级的位置元规约sla4inst_location,称为位置元-违规元vf_location:所述vf_location={machine_id,job_name,task_name}。

在本发明中,违反作业级的数量元规约sla4job_number,称为数量元-违规元vf_number:所述vf_number={inst_name}。

在本发明中,违反实例级的重试元规约sla4inst_retry,称为重试元-违规元vf_retry:

所述vf_retry={seq_no,total_seq_no}。

在本发明中,违反实例级的操作元规约sla4inst_operation,称为操作元-违规元vf_operation:

所述vf_operation={status}。

在本发明中,违反实例级的cpu载荷元规约sla4inst_cpu,称为cpu载荷元-违规元vf_cpu:

所述vf_cpu={cpu_avg,cpu_max}。

在本发明中,违反实例级的内存载荷元规约sla4inst_mem,称为内存载荷元-违规元vf_mem:

所述vf_mem={mem_avg,mem_max}。

在本发明中,违规是指未达到云服务事件-状况规约的行为。事件违规是指云服务事件违反规约则所述违规。

在本发明中,违规元是指涉及违反规约中的因素。违规元揭示云服务事件违规的本质,从而能够为准确地判定违规生成出所需的向量样本,故需要发现所述云服务事件违规的因素(即违规元),它成为云服务事件的违规元。为从多个方面考虑云服务事件可能涉嫌违规的因素,因此,本发明构造出云服务事件状态元集合

步骤五,提取指标;

在本发明中,从云服务事件-状况规约以及云服务事件违规元集合提取出违规限制值作为违规指标,得到规约-指标集合metric。

所述

在本发明中,从实例级的时长元规约sla4inst_time和“时长元-违规元”vf_longtail,提取出时长违规指标longtail_metric:

在本发明中,从实例级的位置元规约sla4inst_location和位置元-违规元vf_location,提取出位置违规指标location_metric:所述location_metric={machine_id}。

在本发明中,从作业级的数量元规约sla4job_number和数量元-违规元vf_number,提取出数量违规指标number_metric:所述number_metric={2000,8000}。

在本发明中,从实例级的重试元规约sla4inst_retry和重试元-违规元vf_retry,提取出重试违规指标retry_metric:所述retry_metric={3}。

在本发明中,从实例级的操作元规约sla4inst_operation和操作元-违规元vf_operation,提取出操作违规指标operation_metric:所述operation_metric={'failed','interrupted'}。

在本发明中,从实例级的cpu载荷元规约sla4inst_cpu和cpu载荷元-违规元vf_cpu,提取出cpu载荷违规指标cpu_metric:所述cpu_metric={plan_cpu}。

在本发明中,从实例级的内存载荷元规约sla4inst_mem和内存载荷元-违规元vf_mem,提取出内存违规指标mem_metric:所述mem_metric={plan_mem}。

步骤六,映射构建状况元-违规元-联系组;

在本发明中,依据云服务事件状态元集合及其云服务事件违规元集合映射出状态元-违规元联系元组,从而得到状况元-违规元-联系元组集,记为psv。

psv_time表示“时长状态元-时长违规元”联系元组。

psv_location表示“位置状态元-位置违规元”联系元组。

psv_number表示“数量状态元-数量违规元”联系元组。

psv_retry表示“重试状态元-重试违规元”联系元组。

psv_operation表示“操作状态元-操作违规元”联系元组。

psv_cpu表示“cpu载荷状态元-cpu载荷违规元”联系元组。

psv_mem表示“内存载荷状态元-内存载荷违规元”联系元组。

在本发明中,依据事件的时长状态元time及其违规元vf_longtail,映射出时长状态元-时长违规元联系元组psv_time:

psv_time=(end_time,start_time)。

在本发明中,依据事件的位置状态元location及其违规元vf_location,映射出位置状态元-位置违规元联系元组psv_location:

所述psv_location=(machine_id,job_name,task_name)。

在本发明中,依据数量状态元number及其违规元vf_number,映射出数量状态元-数量违规元联系元组psv_number:

所述psv_number=(inst_name)。

在本发明中,依据事件的重试状态元retry及其违规元vf_retry,映射出重试状态元-重试违规元联系元组psv_retry:

所述psv_retry=(seq_no,total_seq_no)。

在本发明中,依据事件的操作状态元operation及其违规元vf_operation,映射出操作状态元-操作违规元联系元组psv_operation:

所述psv_operation=(status)。

在本发明中,依据事件的cpu载荷状态元cpu及其违规元vf_cpu,映射出“cpu载荷状态元-cpu载荷违规元”联系元组psv_cpu:

所述psv_cpu=(cpu_avg,cpu_max)。

在本发明中,依据事件的内存载荷状态元mem及其违规元vf_mem,映射出“内存载荷状态元-内存载荷违规元”联系元组psv_mem:

所述psv_mem=(mem_avg,mem_max)。

在本发明中,若云服务事件的状态元是涉及违反规约的因素,则该事件的状态元是违规元。

步骤七,构造状况元-指标元-联系组;

步骤701,依据映射出的状况元-违规元-联系元组集以及提取出的规约-指标集合构造云服务事件的状态元-指标元-元组集合,记为psm。

所述

在本发明中,时长状态元-时长违规元指标元组

在本发明中,位置状态元-位置违规元指标元组

在本发明中,数量状态元-数量违规元指标元组

在本发明中,重试状态元-重试违规元指标元组

在本发明中,操作状态元-操作违规元指标元组

在本发明中,cpu载荷状态元-cpu载荷违规元指标元组

在本发明中,内存载荷状态元-内存载荷违规元指标元组

步骤702,依据状态元-指标元-元组集合将状况事件与指标做笛卡尔积,构造出云服务事件的状况-指标联系元组,记为rsm;

所述rsm=(event_status,metric)

event_status表示实例状况事件。

metric表示事件的违规指标。

在本发明中,构造的云服务事件状况-指标联系元组

在本发明中,依据事件的状态元、规约的违规元及其指标的关系,可知若云服务事件的状态元不符合或超出指标,则该云服务事件违规。

步骤八,生成云服务事件的状况-指标向量化样本;

本发明的向量化方法是类比自然语言的word2vec方法,将云服务事件与其服务等级合约数据量化为向量。

参见图4所示的状态元量化流程图,读入实例集遍历每个实例状况事件

若任意一实例的状态元不为空,则抽取出位置状态元值和数量状态元值中的数值;将操作元值映射为不同的整数值(“terminated”态映射为数值0,“ready”态映射为数值1,“running”态映射为数值2,“terminating”态映射为数值3,“interrupted”态映射为数值4,“failed”态映射为数值5);若时长状态元、重试状态元、cpu载荷状态元以及内存载荷状态元的值为数值,则保存其数值;若cpu载荷状态元、内存载荷状态元的值存在空值,则将其填为数值0。

若任意一实例的状态元为空,则说明已遍历且量化完所述的所有状态元最后保存状态元的量化结果至文件中。

违规指标中涉及到实例的状态与事件状态元的量化相同,操作违规指标除外。也就是,操作违规指标除了实例的失败状态和中断状态与事件状态元的量化相同外(即“interrupted”态映射为数值4,'failed'态映射为数值5),其它状态均映射为数值0。

最终生成出云服务事件的“状况-指标”向量样本。

在本发明中,选取来源于alibabaclustertracev2018数据集的一个作业,生成出云服务事件的“状况-指标”向量样本。

例如,来源于alibabaclustertracev2018数据集的一次云服务实例状况事件所述

例如,采用本发明方法向量化事件得到的向量样本sample;

所述

左端括号中的第1行表示事件的时长状态元。

左端括号中的第2行表示事件的位置状态元。

左端括号中的第3行表示事件的数量状态元。

左端括号中的第4行表示事件的重试状态元。

左端括号中的第5行表示事件的操作状态元。

左端括号中的第6行表示事件的cpu载荷状态元。

左端括号中的第7行表示事件的内存载荷状态元。

右端括号中的第1行表示事件的长尾违规指标。

右端括号中的第2行表示事件的位置违规指标。

右端括号中的第3行表示事件的数量违规指标。

右端括号中的第4行表示事件的重试违规指标。

右端括号中的第5行表示事件的操作违规指标。

右端括号中的第6行表示事件的cpu载荷违规指标。

右端括号中的第7行表示事件的内存载荷违规指标。

步骤九,验证;

将本发明的云服务事件及服务等级合约的向量化方法安装到k近邻knn模型中,形成改进的knn模型。从alibabaclustertracev2018数据集中,任意选取云服务事件作为模型的训练集和测试集来判定云服务事件是否违规,其中“1”签表示违规,“0”签表示不违规,如表1所示。

表1改进knn模型输入本方法生成的向量样本

参见图5和图6所示,实验结果表明本发明方法应用改进的knn模型可以准确地判定云服务事件的违规情况:误判率均维持在0.06%以下,准确率和召回率均保持99%及以上。并且本发明方法仅以少数“1”签样本数就可取得低误判、高精度的技术效果。这可在违规、异常检测或溯源等方面,为ecs结构安全组规则的配置提供依据,进而达到网络访问控制的效果,提高虚拟防火墙的状态检测和数据包过滤能力。

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