公开/公告号CN112861478B
专利类型发明专利
公开/公告日2022-07-05
原文格式PDF
申请/专利权人 广西师范大学;
申请/专利号CN202110145205.9
申请日2021-02-02
分类号G06F40/151(2020.01);G06F40/205(2020.01);G06F40/211(2020.01);G06F40/30(2020.01);G06F16/36(2019.01);
代理机构北京永创新实专利事务所 11121;
代理人冀学军
地址 541504 广西壮族自治区桂林市育才路15号、王城1号
入库时间 2022-08-23 13:58:38
法律状态公告日
法律状态信息
法律状态
2022-07-05
授权
发明专利权授予
技术领域
本发明涉及云服务器的网络安全的技术领域,更特别地说,是指一种面向云服务事件联系的时变状态空间向量构造方法。
背景技术
云服务器(Elastic Compute Service,ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。云服务器帮助用户快速构建更稳定、安全的应用,降低开发运维的难度和整体IT(Internet Technology)成本,使您能够更专注于核心业务的创新。云服务日志是指ECS运行时产生的一个过程和经历的记录。
网络安全是指通过采用各种技术和管理措施,使网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,网络系统连续可靠正常地运行,网络服务不中断。从而确保网络数据的保密性、完整性、可用性、可控性、可审查性的特性。
大数据计算服务(MaxCompute)是阿里巴巴内部发展的一个高效能、低成本,高可用的EB级大数据计算服务,在集团内部每天处理超过EB级的数据量。MaxCompute是面向大数据处理的分布式系统,主要提供结构化数据的存储和计算,是阿里巴巴云计算整体解决方案中最核心的主力产品之一。
云服务具有时变特性。云服务安全事件发生之前可能已经有前兆,其中,云服务事件之间的异常交互是导致云服务安全事件发生的重要因素,揭示云服务事件之间的联系可为安全溯源提供机遇。一些学者希望通过仅有的残片数据,发现这些云服务事件之间的联系。现已有可通过输入序列数据,采用神经网络等,抽取联系。而云服务事件具有时变特性,以日志的形式呈现,数据量大,包含大量字符串,并非序列数据,且为无结构化数据,尚不能直接参与运算,更不能利用不确定性的神经网络发现云服务事件之间的联系。
目前已有构造空间向量的方法,在处理无结构化的云服务日志存在几点不足:
第一是需要建立在词库的基础上,因词库的有限性,只能表示有限的符号为向量,这类方法即无法处理任意字符串,更不能处理无结构的云服务日志。
第二是建立在词频的基础上,因大数据离散性高,词频不足以区分云服务日志的每一个词。
第三是建立在编码的基础上,因云服务日志的稀疏特性,导致表示出的向量有了大量无意义的值,给存储以及计算造成了巨大的负担。
由此可见,现有的构造向量技术尚不能处理非句法结构的云服务日志,缺乏从数据语义转联系语义的途径,这些不足制约了将云服务日志转换为状态向量。
发明内容
为了解决现有技术中不能从云服务日志到联系的时变状态空间向量的技术问题,本发明提出了一种面向云服务事件联系的时变状态空间向量的构造方法。本发明方法首先依据云服务日志各字段的含义,以及汉语的句法化结构,调整云服务日志记录的各个字段位置,使无结构化的云服务日志记录符合汉语的常式句式,并抽取出句子使之能够成为一个云服务事件。句法化云服务日志记录可确定云服务记录的各个字段之间的关系;构造云服务事件的语义本体,依据云服务事件的各个维以及各个维之间的关系,给出语义本体,使之成为一个整体;类比处理自然语言的word2vec方法,抽象word2vec方法,给出变换函数;将该思想应用于云服务事件,设立映射规则,映射云服务事件为状态空间向量。应用笛卡尔积的方法,面向联系构造云服务事件的联系样本。
本发明的一种面向云服务事件联系的时变状态空间向量的构造方法,其特征在于有下列步骤:
步骤一,解读云服务日志,明确云服务日志的每一条记录的各字段含义;
步骤101,收集一段时间里的云服务日志记录,采用集合形式表示为云服务日志集
步骤102,设置字段内容格式,记为FCF;
步骤103,采用字段内容格式FCF对云服务日志集
步骤二,句法化处理,构建句法化-日志集;
步骤201,设置句法化结构集,记为SSY;
步骤202,将字段含义表征的日志集CSL
步骤四,依据云服务事件的语义本体判断日志-事件的属性;
步骤401,设置云服务事件的语义本体,记为CSE;
所述CSE=
步骤402,日志-事件的属性判断;
采用CSE=
所述
步骤六,构造时变状态空间向量;
步骤601,依据日志-属性匹配日志-映射规则,得到规则匹配后的标记日志;
对日志-属性集
在本发明中,所述规则匹配后的标记日志集
读入日志-事件集
如果该日志-事件中记录的字段属于状态属性status,则应用映射状态的规则,映射该字段为状态维的向量,并赋值给Svalues(状态集合);
如果日志-事件中记录的字段属于重试属性RETRY或载荷属性LOAD,则应用Z分的映射规则,映射该字段为重试维或载荷维的向量,并赋值给Zvalues(标准分集合);
如果日志-事件中记录的字段属于时间属性time,则直接赋值给Tvalues(时刻集合);
最后,应用日志-映射规则集
遍历完成所有日志-事件和日志-映射规则,从而构造得到云服务日志的状态空间向量;
步骤七,面向时变空间向量-日志之间的联系,构造云服务的事件-关联向量;
对时变空间向量-日志集
事件-关联向量对的数目为z(z-1)对,z表示云服务日志的总条数。
本发明面向云服务事件联系的时变状态空间向量的构造方法的优点在于:
①采用汉语句式,句法化云服务日志记录,使之成为一个事件,处理无结构化的记录为结构化的事件,给出一个从数据语义转联系语义的途径。
②应用BNF、标准分等设立映射规则,向量化云服务事件,以较少的规则处理任意量的云服务日志,生成与服务事件向量。
③在难于建立词库、统计词频的情况下,可将云服务日志构造成向量;
④构建多层句法结构,可多层次匹配云服务日志;
⑤构建云服务事件的语义本体,可判断“日志-事件”的属性;
⑥构造云服务事件联系的向量对样本,设立筛选伪标签的规则,应用半监督SVM预测云服务事件之间的联系,可检验构造状态空间向量的有效性。
附图说明
图1是云服务日志。
图2是本发明的一种面向云服务事件联系的时变状态空间向量的构造方法的流程图。
图3是本发明的句法化结构图。
图4是本发明中进行映射规则匹配的流程图。
图5是本发明中时变状态空间向量的构造示意图。
具体实施方式
下面将结合附图和实施例对本发明做进一步的详细说明。
本发明处理的对象是云服务日志,参见图1所示的云服务日志记录,每一条云服务日志是来源于大数据计算服务(MaxCompute)的存储/计算层中的MR job模块、SQL job模块等。大数据计算服务(MaxCompute)为阿里云专有云企业版,在2020年11月18日发表的《大数据计算服务产品简介》的第11页中。产品版本:V3.12.0。
云服务日志,记为Log,多条云服务日志采用集合形式表示记为云服务日志集
Log
Log
Log
Log
Log
Log
在本发明中,为了方便说明,Log
在本发明中,Log
设置字段内容格式
在本发明中,设置的字段内容格式,记为FCF,且
表1字段内容中包含的中文语音和实现的功能
参见图3所示本发明设计的句法化结构图中,分为五层结构,从上至下的句法化包含的内容就越多。
在本发明中,句法化结构A是指将云服务日志从自然语言的角度划分为主语和谓语结构。句法化结构A表示为SY_A=主语||谓语。
在本发明中,句法化结构B是指是指将云服务日志从自然语言的角度划分为主语、谓语和补语结构。句法化结构B表示为SY_B=主语||谓语<补语>。
在本发明中,句法化结构C是指是指将云服务日志从自然语言的角度划分为归属定语、主语、谓语和补语结构。句法化结构C表示为SY_C=(归属定语)主语||谓语<补语>。
在本发明中,句法化结构D是指是指将云服务日志从自然语言的角度划分为时间状语、归属定语、主语、谓语和补语结构。句法化结构D表示为SY_D=[时间状语](归属定语)主语||谓语<补语>。
在本发明中,句法化结构E是指是指将云服务日志从自然语言的角度划分为方式状语、时间状语、归属定语、主语、谓语和补语结构。句法化结构E表示为SY_E=[时间状语](归属定语)主语||[方式状语]谓语<补语>。
在本发明中,将上述的句法化结构采用集合形式表示为,句法化结构集SSY,且
在本发明中,依据类比NLP(Natural Language Processing)的word2vec方法,设定的日志-映射规则集LLNLP,所述日志-映射规则集LLNLP中包括有12个日志-映射规则,采用集合形式表示为
日志-映射规则一,记为rule4job。rule4job是指应用BNF处理云服务日志中的“job_name”字段,取作业名的作业号。
rule4job描述为
日志-映射规则二,记为rule4machine。rule4machine是指应用BNF处理云服务日志中的“machine_id”字段,取云服务器的机器号。
rule4machine描述为
日志-映射规则三,记为rule4task。rule4task是指应用BNF处理云服务日志中的“task_name”字段,取任务名的任务号为无符号整数。
rule4task描述为
日志-映射规则四,记为rule4dep。rule4dep是指取任务名中的依赖串作为任务关联维,在任务关联维(依赖串)中,令符号DEP表示任务依赖,且DEP={dep
rule4dep描述为DEP={dep
日志-映射规则五,记为rule4inst。rule4inst是指应用BNF处理云服务日志中的“inst_name”字段,取实例名的实例号。
rule4inst描述为
日志-映射规则六,记为rule4time。rule4time是指开始时刻或结束时刻为数值,取其开始时刻或结束时刻为无符号整数即可。
rule4time描述为
日志-映射规则七,记为rule4incident_status。rule4incident_status是指“Failed”或“Interrupted”状态,表示该实例为异常实例,映射为“-1”。
rule4incident_status描述为
日志-映射规则八,记为rule4unknown_status。rule4unknown_status是指“Ready”、“Running”或“Terminating”状态,表示该实例尚未输出结果,列为未知,映射为“0”。
rule4unknown_status描述为
日志-映射规则九,记为rule4normal_status。rule4normal_status是指“Terminated”状态表示该实例已经输出结果,列为正常情况,映射为“+1”。
rule4normal_status描述为
日志-映射规则十,记为rule4retry。rule4retry是指计算“seq_no”和“total_seq_no”两个字段值的Z分。蕴含着该实例是否发生重启。
rule4retry描述为
日志-映射规则十一,记为rule4load。rule4load是指计算“cpu_avg”、“cpu_max”、“mem_avg”和“mem_max”四个字段值的Z分。蕴含着该实例所需硬件资源的情况。
rule4load描述为
日志-映射规则十二,记为rule4null。rule4null是指将该字段的所有值求标准分。空值填“0”值。当实例出现某些状态时,“cpu_avg”、“cpu_max”、“mem_avg”和“mem_max”字段存在空值现象。
rule4null描述为:
在本发明中,针对云服务事件设置有6种状态属性,分别为Failed状态、Interrupted状态、Ready状态、Running状态、Terminating状态和Terminated状态,依据状态值的含义设定的日志-映射规则是规则七至规则九。
Failed为失败状态、Interrupted为中断状态、Ready为就绪状态、Running为运行状态、Terminating为准备终结状态和Terminated为终结状态。
在本发明中,云服务日志是来源于大数据计算服务(MaxCompute)的存储/计算层中的MR job模块、SQL job模块。
参见图2所示,本发明的一种面向云服务事件联系的时变状态空间向量的构造方法,包括有下列步骤:
步骤一,解读云服务日志,明确云服务日志的每一条记录的各字段含义;
步骤101,收集一段时间里的云服务日志记录,采用集合形式表示为云服务日志集
云服务日志的内容请参见图1所示。本发明运行的云服务日志记录来源于Alibabacluster trace v2018数据集。
步骤102,设置字段内容格式,记为FCF;
所述
步骤103,采用字段内容格式FCF对云服务日志集
步骤二,句法化处理,构建句法化-日志集;
一般地,从自然语言的角度,用基础的句法化结构[状语],(定语)主语||(状语)谓语<补语>|(定语)宾语<补语>的句式能够描述任意一条字段含义表征的日志
在本发明中,采用句法化结构集SSY对字段含义表征的日志集
步骤201,设置句法化结构集,记为SSY;
所述
步骤202,将字段含义表征的日志集CSL
所述
例如,对
对
例如,对
对
例如,对
对
例如,对
对
例如,对
对
例如,对
对
记录下上述举例得到的不同句法化结构处理后的日志,得到:
步骤三,依据汉语习惯,构造日志-事件集;
在本发明中,依据汉语习惯,将句法化-日志集
所述
例如,事件描述的
用事件描述第一条字段格式日志的句法化-日志
例如,事件描述的
例如,事件描述的
例如,事件描述的
用事件描述第j条字段格式日志的句法化-日志
例如,事件描述的
用事件描述第y条字段格式日志的句法化-日志
例如,事件描述的
用事件描述最后一条字段格式日志的句法化-日志
记录下上述举例得到的事件描述后的日志-事件,得到:
步骤四,依据云服务事件的语义本体判断日志-事件的属性;
在本发明中,为描述日志-事件集
步骤401,设置云服务事件的语义本体,记为CSE;
所述CSE=
ID是标识属性,指标识云服务事件施事者的属性。如作业名,任务名、实例名、机器编号。在本发明中,针对标识属性ID,应用巴克斯范式(Backus-Naur Form,简称BNF),并根据BNF表达式设立日志-映射规则。
DEP是关联属性,指描述云服务事件之间联系的属性。如日志归属某任务,这些任务与任务之间存在依赖关系,在云服务事件中,该属性蕴含在任务名中,本发明面向云服务事件之间的联系构造向量,即抽取依赖关系作为一个单独的属性。
time是时间属性,指描述云服务事件的起始时刻与结束时刻的属性。
status是状态属性,指描述云服务事件呈现何种状态的属性。
RETRY是重试属性,指描述云服务事件是否存在重启的属性。
LOAD是载荷属性,指描述云服务事件使用硬件资源的属性。
SR是句法关系,指描述在同一个云服务事件中的标识属性、依赖属性、时间属性、状态属性、重试属性和载荷属性之间的关系。
步骤402,日志-事件的属性判断;
采用CSE=
所述
例如,第一条日志-属性
例如,第二条日志-属性
例如,第i条日志-属性
例如,第j条日志-属性
例如,第y条日志-属性
例如,最后一条日志-属性
步骤五,设置日志-映射规则集,记为LLNLP;
在本发明中,日志-映射规则集LLNLP是依据类比NLP(Natural LanguageProcessing)的word2vec方法来设定的。
NLP的word2vec方法抽象为
{word}表示待映射的字或词。
{(word,vector)}表示词库,词与向量一一对应的集合。
{word′s_vector}表示为词向量集合。
在本发明中,word2vec方法适用的词库实际上是词转向量的映射规则,将该思想应用于处理日志-事件集
所述
例如:
步骤六,构造时变状态空间向量;
步骤601,依据日志-属性匹配日志-映射规则,得到规则匹配后的标记日志;
对日志-属性集
在本发明中,所述规则匹配后的标记日志集
例如,第一条规则匹配后的标记日志
例如,第二条规则匹配后的标记日志
例如,第i条规则匹配后的标记日志
例如,第j条规则匹配后的标记日志
例如,第y条规则匹配后的标记日志
例如,最后一条规则匹配后的标记日志
步骤602,对规则映射后的标记日志进行31维度的时变状态空间向量构造,得到时变空间向量-日志集,记为CSL_LLNLP
在本发明中,所述时变空间向量-日志集
例如,第一条时变空间向量-日志
例如,第二条时变空间向量-日志
例如,第i条时变空间向量-日志
例如,第j条时变空间向量-日志
例如,第y条时变空间向量-日志
例如,最后一条时变空间向量-日志
参见图4所示,读入日志-事件集
如果该日志-事件中记录的字段属于状态属性status,则应用映射状态的规则,映射该字段为状态维的向量,并赋值给Svalues(状态集合);
如果日志-事件中记录的字段属于重试属性RETRY或载荷属性LOAD,则应用Z分的映射规则,映射该字段为重试维或载荷维的向量,并赋值给Zvalues(标准分集合);
如果日志-事件中记录的字段属于时间属性time,则直接赋值给Tvalues(时刻集合);
最后,应用日志-映射规则集
遍历完成所有日志-事件和日志-映射规则,从而构造得到云服务日志的状态空间向量。
在本发明中,选取Alibaba cluster trace v2018数据集的一个作业,生成时变状态空间向量。为验证构造时变状态空间向量,选取部分云服务事件,构造并生成时变状态空间向量。生成的时变状态空间向量,每一个维度的数量级不一致,变化范围从10
参见图5所示,图中,v_job表示向量的作业号,v_machine表示向量的机器号,v_task表示向量的任务号,v_inst表示向量的实例号,v_dep表示向量的依赖号,v_st表示向量的开始时刻,v_et表示向量的结束时刻,v_status表示向量的状态级值,v_no.表示向量的实例重试值,v_tno.表示向量的实例共试值,v_c.avg表示向量的CPU平均利用量,v_c.max表示向量的CPU最大利用量,v_m.avg表示向量的内存平均利用量,v_m.max表示向量的内存最大利用量。从日志-事件到时变状态空间向量,使用巴克斯范式(BNF)描述语言描述云服务事件,运用BNF、Z分等方法,设定映射规则,将日志-事件映射为时变状态空间向量,生成的向量共计31维。
步骤七,面向时变空间向量-日志之间的联系,构造云服务的事件-关联向量;
对时变空间向量-日志集
在本发明中,事件-关联向量对的数目为z(z-1)对,z表示云服务日志的总条数。
在本发明中,对于存在已知联系的联系样本打上联系标签,标签赋值为“1”表示有联系。对于不存在联系的联系样本打上联系标签,标签赋值为“0”表示无联系。
面向时变空间向量-日志之间的联系,构造云服务的事件-关联向量。例如,
前端括号中的第1行为定语(归属标识属性ID);
前端括号中的第2行为主语(实例标识属性ID);
前端括号中的第3行为和第4行为定语(关联属性);
前端括号中的第5行为时间状语(时间属性);
前端括号中的第6行为谓语(状态属性);
前端括号中的第7行为方式状语(重试属性);
前端括号中的第8行为补语(载荷属性)。
后端括号中的第1行为定语(归属标识属性ID);
后端括号中的第2行为主语(实例标识属性ID);
后端括号中的第3行为和第4行为定语(关联属性);
后端括号中的第5行为时间状语(时间属性);
后端括号中的第6行为谓语(状态属性);
后端括号中的第7行为方式状语(重试属性);
步骤八:验证;
将本发明的面向云服务事件联系的时变状态空间向量的构造方法安装到半监督SVM模型中,形成改进的半监督SVM模型。从Alibaba cluster trace v2018数据集中任意选取出训练集和测试集所需的云报告日志。应用改进的半监督SVM模型进行预测云服务事件之间的联系。
经过改进的半监督SVM模型训练,将测试集送入半监督SVM模型做预测,在筛选伪标签的规则下,预测出测试集样本的标签,并将预测出来的结果与样本相比较。实验结果表明,应用改进的半监督SVM可准确预测云服务日志事件之间的联系,并取得高精度的技术效果,如表1所示。
表2应用改进的半监督SVM模型进行的预测及其结果
表2给出了改进的半监督SVM模型预测云服务日志事件之间联系的结果。
在实施例a中,训练样本中的标签值为“1”和“0”的比例为1:1,共计720个样本;测试集中的标签值为“1”和“0”的比例为1:324.44,共计32,544个样本。经过训练后,得出结果为准确率为0.9990,精确率为1.0000,召回率为0.7700,错误率为0.0007。
在实施例b中,训练样本中的标签值为“1”和“0”的比例为3:1,共计480个样本;测试集中的标签值为“1”和“0”的比例为1:326.84,共计32,784个样本。经过训练后,得出结果为准确率为0.9995,精确率为1.0000,召回率为0.8400,错误率为0.0005。