CN116701133A - 一种日志文件的识别方法、装置和电子设备 - Google Patents

一种日志文件的识别方法、装置和电子设备 Download PDF

Info

Publication number
CN116701133A
CN116701133A CN202210234456.9A CN202210234456A CN116701133A CN 116701133 A CN116701133 A CN 116701133A CN 202210234456 A CN202210234456 A CN 202210234456A CN 116701133 A CN116701133 A CN 116701133A
Authority
CN
China
Prior art keywords
log file
identified
data set
test
classification tree
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.)
Pending
Application number
CN202210234456.9A
Other languages
English (en)
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.)
China Mobile Communications Group Co Ltd
China Mobile Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Information Technology Co Ltd
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 China Mobile Communications Group Co Ltd, China Mobile Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202210234456.9A priority Critical patent/CN116701133A/zh
Publication of CN116701133A publication Critical patent/CN116701133A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种日志文件的识别方法,应用于云平台中的电子设备中,包括:当接收到API调用请求时,获取API调用请求对应的待识别日志文件和和待识别日志文件对应的性能指标数据,对待识别日志文件进行解析,得到待识别日志文件的请求字段,将待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出得到待识别日志文件的识别结果。本发明实施例还同时公开了一种日志文件的识别装置和电子设备,提高了云平台中接口调用的异常识别方法的准确性,提高了云平台中接口调用的识别效率。

Description

一种日志文件的识别方法、装置和电子设备
技术领域
本发明涉及云平台中接口异常调用的识别技术,尤其涉及一种日志文件的识别方法、装置和电子设备。
背景技术
目前,随着云平台系统复杂度逐步提升,功能开发日益完善,云平台服务的安全性作为网络安全的一个分支变得越来越重要。在云平台中实现异常行为分析,即入侵检测,是一种新的网络安全机制,该机制用于检测及防止非法用户对云平台服务网络的未授权访问。
在相关技术中,针对云平台接口调用的识别方法大致分为两种,第一种是通过设置异常调用的发现规则的方式对云平台的性能指标进行识别,其中,基于业务逻辑来设置异常调用的发现规则,该方法中异常调用的发现规则是由认为设置,更新周期较长,但是异常调用一般来源多样可变,该方法的异常识别的准确性较低;第二种是基于业务逻辑对平台历史运行日志进行处理,将日志内容做聚类划分,并对聚类划分后的日志基于深度神经网络做建模处理,利用建立好的深度神经网络模型对日志文件进行是否为异常日志的识别,该方法中的深度神经网络本身复杂,准确性较低,导致识别准确性较低;由此可以看出,现有的云平台中接口调用的异常识别方法存在准确性较低的技术问题。
发明内容
有鉴于此,本发明实施例期望提供一种日志文件的识别方法、装置和电子设备,以解决现有技术中云平台中接口调用的异常识别方法存在准确性较低的技术问题。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种日志文件的识别方法,所述方法应用于云平台中的电子设备中,包括:
当接收到API调用请求时,获取所述API调用请求对应的待识别日志文件和所述待识别日志文件对应的性能指标数据;其中,所述待识别日志文件对应的性能指标数据为产生所述待识别日志文件时所述电子设备的性能指标数据;
对所述待识别日志文件进行解析,得到所述待识别日志文件的请求字段;
将所述待识别日志文件的请求字段的特征和所述待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出得到所述待识别日志文件的识别结果;其中,所述识别结果用于指示所述待识别日志文件是否出现异常。
第二方面,本发明实施例提供了一种日志文件的识别装置,所述装置设置于云平台的电子设备中,包括:
获取模块,用于当接收到API调用请求时,获取所述API调用请求对应的待识别日志文件和和所述待识别日志文件对应的性能指标数据;其中,所述待识别日志文件对应的性能指标数据为产生所述待识别日志文件时所述电子设备的性能指标数据;
解析模块,用于对所述待识别日志文件进行解析,得到所述待识别日志文件的请求字段;
识别模块,用于将所述待识别日志文件的请求字段的特征和所述待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出得到所述待识别日志文件的识别结果;其中,所述识别结果用于指示所述待识别日志文件是否出现异常。
第三方面,本发明实施例还提供了一种电子设备,所述云计算系统包括:处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述日志文件的识别方法。
本发明实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述一个或多个实施例所述日志文件的识别方法。
本发明实施例所提供的一种日志文件的识别方法、装置和电子设备,该方法包括:当接收到API调用请求时,获取API调用请求组对应的待识别日志文件和待识别日志文件对应的性能指标数据,其中,待识别日志文件对应的性能指标数据为产生待识别日志文件时电子设备的性能指标数据,对待识别日志文件进行解析,得到待识别日志文件的请求字段,将待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出待识别日志文件的识别结果,其中,识别结果用于指示待识别日志文件是否出现异常;也就是说,在本发明实施例中,采用训练好的随机森林模型对输入的待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据进行识别,得到待识别日志文件的识别结果,这里,利用训练好的随机森林模型进行识别,提高了识别的准确性,并且,在待识别日志文件的请求字段的特征的基础上结合待识别日志文件对应的性能指标数据,使得在识别中考虑到产生待识别日志文件时的电子设备的性能指标数据对识别结果的影响,有助于进一步提高识别结果的准确性。
附图说明
图1为本发明实施例中的一种可选的日志文件的识别方法的流程示意图;
图2为本发明实施例提供的一种可选的日志文件的识别方法的实例一的流程示意图;
图3为本发明实施例提供的一种可选的日志文件的识别方法的实例二的流程示意图;
图4为本发明实施例提供的一种可选的日志文件的识别方法的实例三的流程示意图;
图5为本发明实施例提供的一种可选的日志文件的识别方法的实例四的流程示意图;
图6为本发明实施例提供的一种可选的日志文件的识别方法的实例五的流程示意图;
图7为本发明实施例中的日志文件的识别装置的结构示意图;
图8为本发明实施例中的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种日志文件的识别方法,图1为本发明实施例中的一种可选的日志文件的识别方法的流程示意图,如图1所示,该日志文件的之别方法可以包括:
S101:当接收到API调用请求时,获取API调用请求对应的待识别日志文件和待识别日志文件对应的性能指标数据;
为了解决云平台中出现的队异常调用的识别准确率较低下的技术问题,本发明实施例提供一种日志文件的识别方法,该方法应用于云平台中的电子设备中,针对每一个目标用户设备或者云平台中的内部的其他电子设备向云平台中的电子设备发送应用程序接口(API,Application Program Interface)调用请求时,电子设备先获取API调用请求对应的日志文件,即为待识别日志文件,并获取待识别日志文件对应的性能指标数据。
其中,待识别日志文件对应的性能指标数据为产生待识别日志文件时电子设备的性能指标数据;也就是说,在对API调用请求是否出现异常进行判断时,主要是依据对待识别日志文件本身和待识别日志文件产生时电子设备的性能指标数据的识别来确定待识别日志文件是否存在异常,进而确定出API调用请求是否为异常调用请求,如此,通过对API调用请求的待识别日志文件相对应的数据的识别来实现API调用请求是否出现异常。
需要说明的是,上述日志文件的性能指标数据可以包括历史请求次数,当前秒级请求并发,单个用户设备的请求次数,内存占用等等,这里,本发明实施例对此不作具体限定。
S102:对待识别日志文件进行解析,得到待识别日志文件的请求字段;
在获取到待识别日志文件之后,需要对待识别文件进行处理,以得到待识别日志文件的请求字段,例如,http的请求字段,其中,每一条待识别日志文件都对应一条请求字段。
需要说明的是,从上述请求字段中可以获取到请求字段的特征,该特征包括:请求路径属性,参数属性,字符分布特征和访问时间,另外,上述待识别日志文件的特征与每一个目标用户设备的互联网协议地址(IP,Internet Protocol Address)相对应。
S103:将待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出得到待识别日志文件的识别结果;
在知晓待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据之后,将待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,对待识别日志文件进行识别,得到识别结果,其中,识别结果用于指示待识别日志文件是否出现异常。
也就是说,在接收到API调用请求时,为了识别出该API调用请求是否为异常调用请求,可以通过API调用请求对应的待识别日志文件和待识别日志文件产生时电子设备的性能指标数据输入至训练好的随机森林模型中进行识别,以得到API调用请求是否为异常调用请求,如此,采用训练好的堆森林模型可以提高识别的准确性,在识别中加入电子设备的性能指标数据能够进一步通过电子设备的性能指标数据提高识别结果的准确性,有助于云平台的稳定运行。
上述对API调用请求的识别中采用的训练好的随机森林模型可以采用如下方式进行训练得到:在一种可选的实施例中,上述方法还可以包括:
从获取到的样本数据集中获取训练数据集;
将训练数据集分别输入至预设的随机森林模型中的每个分类树中进行训练,得到训练后的每个分类树;
根据训练后的每个分类树,确定训练好的随机森林模型。
具体来说,先从获取到的样本数据集中获取训练数据集,其中,样本数据集为:针对至少两个API调用请求获取到的日志文件的数据集与获取到的日志文件的标签,数据集包括:获取到的日志文件的请求字段的特征和获取到的日志文件对应的性能指标数据,标签包括:指示采集到的日志文件对应的API调用请求为异常请求,指示采集到的日志文件对应的API调用请求为正常请求;也就是说,以获取到的日志文件的数据集和获取到的日志文件的标签对预设的随机森林模型进行训练,来得到训练好的随机森林模型。
需要说明的是,本发明实施例中的随机森林模型中决策树为分类树,随机森林模型是用随机的方式建立一个森林,森林由很多的决策树组成,且每一棵决策树之间是没有关联的,得到随机森林模型后,当待识别的样本进入时随机森林中的每一棵决策树分别进行判断,bagging集合策略比较简单,对于分类问题通常使用投票法,得到最多票数类别或者类别之一为最终模型输出。对于回归通常使用简单平均法,T个弱学习器得到的回归结果进行算术平均即最终模型输出。
那么,在训练随机森林模型中,将获取到的训练数据集分别输入至随机森林模型中的每个分类树中,以对每个分类树进行训练,得到训练后的每个分类树,并根据训练后的每个分类树确定训练好的随机森林模型。
进一步地,为了提高训练好的随机森林模型的识别准确性,在一种可选的实施例中,训练数据集的个数为K,且K的值为随机森林模型中包括的分类树的个数。
具体来说,为了更好的对随机森林模型中的每个分类树进行训练,可以从获取到的样本数据集中获取K个训练数据集,其中,每个训练数据集的个数为N个,N为大于等于2的正整数,将K个样本数据集分别输入至K个分类树中进行训练,得到K个训练后的分类树。
其中,可以采用随机抽取的方式从样本数据集中获取K个训练数据集,也可以采用预设的抽取方式从样本数据集中获取K个训练数据集,这里,本发明实施例对此不作具体下限定。
为了实现对随机森林模型的训练,需要先获取到样本数据集,为了获取到样本数据集,在一种可选的实施例中,上述方法还包括:
针对至少两个API的调用请求采集日志文件,获取采集到的日志文件对应的性能指标数据,以及获取采集到的日志文件的标签;
对采集到的日志文件进行解析,得到采集到的日志文件的请求字段;
将采集到的日志文件的请求字段的特征和采集到的日志文件对应的性能指标数据,组成为采集到的日志文件的数据集;
根据采集到的日志文件的数据集,确定样本数据集。
也就是说,针对至少两个API调用请求时的日志文件,并获取采集到的日志文件对应的性能指标数据以及采集到的日志文件的标签,并对采集到的日志文件进行解析得到采集到的日志文件的请求字段,进而确定出采集到的日志文件的数据集。
基于采集到的数据集,可以直接将采集到的数据集确定为样本数据集,也可以对采集到的数据集进行筛选,得到样本数据集,这里,本发明实施例对此不作具体限定。
在对采集到的数据集进行筛选得到样本数据集中,可以采用设置的筛选规则进行筛选,在一种可选的实施例中,根据采集到的日志文件的数据集,确定样本数据集,包括:
将采集到的日志文件的数据集和采集到的日志文件的标签输入至预设的机器学习算法中,得到采集到的日志文件的数据集的第一指标数据;
将满足第一预设条件的第一指标数据对应的采集到的日志文件的数据集和对应的采集到的日志文件的标签,确定为样本数据集。
这里,利用预设的机器学习算法对采集到的日志文件的数据集进行评估,得到采集到的每个日志文件的数据集对应的第一指标数据,然后将满足第一预设条件的第一指标数据对应的采集到的日志文件的数据集筛选出来,将其确定为样本数据集。
其中,满足第一预设条件的第一指标数据可以为:大于等于预设的第一阈值的第一指标数据,也可以为:对第一指标数据进行排序,选取出排序结果中排在前80%的第一指标数据,这里,本发明实施例对此不作具体限定。
为了得到识别准确性较高的训练好的随机森林模型,在一种可选的实施例中,根据训练后的每个分类树,确定训练好的随机森林模型,包括:
从获取到的样本数据集中获取测试数据集;
将测试数据集分别输入至训练后的每个分类树中,得到每个测试数据的至少两个测试输出结果;
根据测试数据集中每个测试数据的测试结果和每个测试数据的至少两个测试输出结果,计算得到训练后的每个分类树的第二指标数据;
将满足第二预设条件的第二指标数据对应的训练后的分类树,确定为训练好的随机森林模型。
在得到训练好的随机森林模型之后,还需要对训练后的每个分类树进行测试,以确定训练后的每个分类树是否合格,具体来说,先从样本数据集中获取测试数据集,利用测试数据集对训练后的每个分类树进行测试,得到每个测试数据的至少两个测试输出结果,其中测试输出结果的个数与训练后的分类树的个数有关,K个分类树对应K个测试输出结果。
利用每个测试数据的测试结果和每个测试数据的至少两个测试输出结果,计算训练后的每个分类树的第二指标数据,其中,可以采用下面的公式(1)来计算训练后的每个分类树的第二指标数据:
其中,P表示查全率,R表示查准率,P采用下述公式(2)计算得到,R采用下述公式(3)计算得到:
P=被正确分类的样本数/应当正确分类的样本数 (2)
R=被正确分类的样本数/被分类的样本数 (3)
也就是说,利用上述公式(1)-公式(3)就可以计算得到训练后的每个分类树的第二指标数据,然后将满足第二预设条件的第二指标数据对应的训练后的每个分类树筛选出来,并确定为训练好的随机森林模型。
其中,满足第二预设条件的第二指标数据可以为:大于等于预设的第二阈值的第二指标数据,也可以为:对第二指标数据进行排序,选取出排序结果中排在前80%的第二指标数据,这里,本发明实施例对此不作具体限定。
针对训练好的随机森林模型来说,还需要进一步找出测试数据集中测试数据中测试结果与测试输出结果不一致的分类树重新进行训练,在一种可选的实施例中,所述方法还包括:
从每个测试数据的至少两个测试输出结果中,获取训练好的随机森林模型中每个分类树的每个测试数据的测试输出结果;
当每个测试数据的测试输出结果与每个测试数据的测试结果不同时,从训练好的随机森林模型中,选取出测试输出结果与测试结果不同时对应的分类树;
利用测试数据集,对选取出的分类树重新进行训练,得到重新训练后的分类树;
当重新训练后的分类树的每个测试数据的测试输出结果与每个测试数据的测试结果存在不同时,返回执行利用所述测试数据集,对选取出的分类树重新进行训练,得到重新训练后的分类树;
当重新训练后的分类树的每个测试数据的测试输出结果与每个测试数据的测试结果都相同时,结束。
也就是说,针对训练好的随机森林模型中的每个分类树来说,获取其每个测试数据的测试输出结果,然后比对每个测试数据的测试输出结果与每个测试数据的测试结果是否存在不一致的情况,若不存在,则直接结束,不进行重新训练;若存在,就选取出不一致所对应的分类树,并利用测试数据集重新对选取出的分类树进行训练,得到重新训练后的分类树,直至重新训练后的分类树的每个测试数据的测试输出结果与每个测试数据的测试结果都一致,如此,可以使得训练好的随机森林模型中的每个分类树的测试输出结果与测试结果一致,提高了训练好的堆积森林模型的识别准确性。
在一种可选的实施例中,机器学习算法可以包括以下至少一项:XGBoost算法,GDBT算法;
其中,机器学习算法的目标函数和/或分类树的目标函数为:
其中,i表示分类树或者决策树的个数,yi为实际值,为观测值,T为叶子节点的个数,wk表示第k个节点的权重值,a、b为超参数。
这里,需要说明的是,为了提高训练好的随机森林模型的准确性,可以将机器学习算法中的目标函数和/或分类树的目标函数进行改进,以对机器学习算法和/或分类树进行训练,以进一步优化机器学习算法和训练好的随机森林模型,进而提高对待识别日志文件的识别准确性。
下面举实例来对上述一个或多个实施例中所述的日志文件的识别方法进行说明。
图2为本发明实施例提供的一种可选的日志文件的识别方法的实例一的流程示意图,如图2所示,为了构建得到云平台异常识别模型(相当于上述训练好的随机森林模型),可以采用如下方式得到云平台异常识别模型:
S201:获取云平台调用日志和性能数据;
其中,该调用日志和性能数据相当于上述样本数据集,调用日志为样本数据集中日志文件的请求字段的特征和日志文件的标签,性能数据为样本数据集中日志文件对应的性能指标数据。
S202:基于XGBoost算法进行指标筛选并重建训练数据集;
在获取到调用日志和性能数据之后,利用XGBoost算法计算得到样本数据集中每个样本数据的第一指标数据,利用第一指标数据对样本数据集中的数据进行筛选,将筛选后的样本数数据集确定为训练数据集。
S203:建立云平台异常识别模型;
具体来说,将训练数据集输入至随机森林模型中的每个分类树中,以训练每个分类树,从而得到训练好的随机森林模型,该训练好的随机森林模型即为云平台异常识别模型。
S204:获取云平台异常调用模型。
最终,获取到云平台异常调用模型,用于对接收到的API调用请求进行识别,以确定识别结果。
图3为本发明实施例提供的一种可选的日志文件的识别方法的实例二的流程示意图,如图3所示,该方法应用于云平台中所部属的电子设备中,该日志文件的识别方法可以包括:
S301:在线捕捉调用日志、IP地址及性能数据;
其中,电子设备在线捕捉每个API调用请求的日志文件,调用请求的IP地址,调用请求发生时电子设备的性能数据;
S302:输入云平台异常调用模型;
具体来说,将S301捕捉到的数据输入至构建好的云平台异常调用模型中,得到输出结果。
S303:根据模型的输出结果确定调用日志是否为异常调用;
当输出结果指示调用日志为异常日志时,说明该API调用请求为异常请求,当输出结果指示调用日志为正常日志时,说明该API调用请求为正常请求。
S304:获取异常类型。
针对API调用请求为异常请求的筛选出来发送至异常请求的处理设备中,以对异常请求进行处理。
针对上述构建云平台异常调用模型中,图4为本发明实施例提供的一种可选的日志文件的识别方法的实例三的流程示意图,如图4所示,上述建模的过程具体如下:
S401:获取数据集D、特征集T;
首先,获取接口调用的日志信息,获取原始的日志文本并进行解析获取关于单条http请求的字段。其中,原始日志信息包括如请求路径属性、参数属性、字符分布特征、访问时间等,拉取单条日志文件的请求字段的所有特征后,根据用户IP,生成特异性字段userIp。用如下表1所示:记为序列I={x1,x2,...,xn}。
表1
根据API调用请求发生时地震设备所产生的性能资源数据,拉取单次请求发生时对应的KPI性能指标数值与对应IP用户的历史请求信息,其中历史请求信息包括访问时间time、历史请求次数reqCou、当前秒级请求并发reqEru、单IP请求次数IPreq、内存占用rateC,记为序列J={y1,y2,...,yn}。通过样本标签的业务逻辑判断,对当前序列J、I以访问时间和编号形成新字段req_id,并进行异常访问的多分类标注,样本标签记为R={R1,R2,...,Rn},其中,Rn为第n个样本的标签。见如下表2;其中,特征字段序列为T={I,J}。Rn和T形成数据集D。
表2
如此,获取到D和T。
S402:XGBoost算法对数据集D、特征集T进行筛选;
S403:得到数据集D1、特征集T1;
其中,通过改进XGBoost的损失函数,解决同一数据结构下多变量筛选的问题,加入树的结构风险项,这样在构建树的过程,会约束树的生长结构,减少过拟合问题。这样一来,目标函数就变成:
其中,yi为实际值,为观测值,fk为结构风险项,使用叶子节点个数T与节点的权重w表示一棵树的复杂度a、b为超参数,如此以来加入结构风险项的XGBoost算法的目标函数就变成上述公式(4)。
针对同一结构下的日志信息来说,按照特征下按特征值大小对样本排序,然后从左往右依次选择分割点,计算该分割点下的损失差值,找到损失差值最大时对应的特征与分割点,以此为当前节点进行分裂。最终得到各变量的重要度排序,按照前80%分位度对特征进行提取,至此变量序列I={x1,x2,...,xn},成为I′={x1,x2,...,x80%*n}。
与神经网络的参数权重可解释程度低不同,XGBoost算法所用决策树内在的可解释性降低了算法计算的复杂度,提升了整个模型的可解释性。可解释性也是信用评估的一个重要组成部分,因此将其用于对各个特征指标的重要性进行估计十分合适,重要性分数越高则该特征指标越重要,该特征指标在数据集中的贡献越大。
通过构建结构化风险下的XGBoost算法的目标函数,当每棵树的分裂次数总和越大,特征越优,根据I′={x1,x2,...,x80%*n},重新特征集合T1及对应的数据集D1,T1={I′,J}。
S404:第一层分类树构建;其中,第一层分类树中包括分类树1、分类树2,……,分类树K;
S405:对第一层分类树剪枝,选取高拟合度的子森林;
S406:第二层分类树构建;其中,通过类别与异常调用特征匹配;将异常调用重新分到正确的类别中;
S407:通过结果得出分类结果。
S404-S407的云平台异常调用模型的具体构建方法还可以如图5所示,图5为本发明实施例提供的一种可选的日志文件的识别方法的实例四的流程示意图,如图5所示,上述对建模的过程具体如下:
S501:获取训练样本;
S502:通过Bagging算法抽取样本;其中,抽取样本集包括:抽取样本集1,收取样本集2,……,抽取样本集K;
S503:对第一层分类器进行训练;其中,第一层分类器可以包括:分类树1,分类树2,……,分类树K;
S504:建立高拟合度的子森林;
S505:通过特征匹配构建第二层分类器。
在本实例中,构造双层分类器,并剪枝随机森林,并结合XGBoost算法筛选变量,实现叶子结构构造或自动选择变量子集的预测。在云平台异常调用场景,主要关注的是日志情况和资源使用情况。模型输入为样本的生成标签R={Ri},i=1,2,…,n,与日志情况和资源使用情况特征集合I′={xi},i=1,2,…,n,J={yj},j=1,2,…,n。
在构建决策树之前,使用自助法抽样技术从原始数据集D中有放回地抽取K个训练数据集,每个训练子集的样本数也为N。使用这些bootstrap样本来训练决策树。
构造第一层分类器:用分类回归树,在树的结点处,从M个输入特征中随机选择m个特征(m<M)作为决策树当前节点的分裂特征集,从中选择最优分裂特征和切分点,将训练数据集分配到两个子节点中去。选择分裂特征及切分点的标准是Gini系数最小化准则。重复上述划分过程,直到满足停止条件,直到节点中的样本数小于预定阈值。
将K个bootstrap样本集按照上述方式训练决策树模型,把所有生成的决策树组合成一个随机森林模型。将测试数据集X输入模型,得到对应的分类结果序列T={T(x)i},其中,i=1,2,…,n。
对单颗子树来说,利用上述公式(1)-(3)求解F1指标的评估精度,根据该值对决策树进行排序,舍弃掉一部分F1值较低的树,保留部分精度较高的树组成子森林保留部分精度较高的树组成子森林。
构造第二层分类器,选取第一层分类器的概率前N的异常类别,当真实标签等于预测标签时,第二层分类器返回模型结算标志i=1,当真实标签不等于预测标签时,增加结构化风险,重新进行损失函数拟合,确定叶子节点权重,并得到新的分类结论,直至真实标签等于预测标签。
至此,高拟合度的随机森林模型的两层分类器构造完毕,构建出云平台异常调用模型。
基于已建立的双层随机森林模型(相当于上述云平台异常调用模型),针对数据样本x,给出模型分类记为T(x)。作为模型比对,选择使用单层随机森林模型,针对同一样本,给出的模型分类结果记为T2(x),针对分类结果,使用查准率(precision)及查全率(recall)进行对比,单层模型与双层模型的效果如下表3所示:
表3
Model Precision Recall
双层随机森林模型 0.91 0.89
单层随机森林模型 0.85 9,。88
由上述表3可以看出,双层随机森林模型在查准率层面上对原有随机森林算法模型有显著提升,在查全率层面上,模型也有一定的提升,即在确保能够找出足够多异常调用的前提下,改进模型使得识别结果更加的精确。
即对于系统中的每一次调用,样本通过发布的模型文件,经过在线推理,得调用是否异常及正确分类。
其中,针对租户私有业务系统的数据服务调用需求,其中异常访问、异常调用类型较多,大概可以分为用户侧访问异常和系统内调用异常,通过厘清平台KPI并检测,辅以机器学习建模的做法,可以高效且准确的完成异常检测。
本实例中,在构建云平台异常调用模型中,通过构建随机森林模型并选取高拟合度的子森林,在满足云平台异常调用识别低时延的前提下,通过构建双层模型,筛选高拟合度的子树,达到高精度的识别要求。
针对云平台异常调用识别的准确率低、分类不准确的问题,当有API调用时间发生时,通过构造两层分类器模型,提升分类准确度,通过构造高拟合的子森林,解决相关技术中的准确率低的弊病。使用高拟合度的双层随机森林模型建立异常识别算法,契合业务场景解决实际问题。
图6为本发明实施例提供的一种可选的日志文件的识别方法的实例五的流程示意图,如图6所示,,该方法可以包括:
云平台的外部设备或者内部设备发送API调用请求至API网关,API网关接收API调用请求,将API调用请求发送至异常调用识别服务端,异常调用识别服务端接收API调用请求,得到异常结果,返回至API网关,API网关将异常结果分别发送至执行调用解析模块,用户鉴权模块和限流、熔断策略模块,执行调用解析模块,用户鉴权模块和限流熔断策略模块分别对异常结果进行处理,得到调用解析后的数据,用户鉴权后的数据和限流熔断后的数据,并将其发送至执行端进行执行,执行端在执行完成之后,向API网关以及云平台的外部设备或者内部设备发送请求返回的通知消息。
通过链接API网关进行本地化部署,当调用发生时,本地化模型首先对服务器性能字段及日志信息进行抽取,并在网关侧部署算法模型的在线推理服务,满足解决线程池耗尽导致资源利用率低、吞吐量低等问题的解决需求,缩短网关侧线程释放时间,解决大并发调用情况下的资源抢占问题。
本发明实施例所提供的一种日志文件的识别方法,包括:当接收到API调用请求时,获取API调用请求组对应的待识别日志文件和待识别日志文件对应的性能指标数据,待识别日志文件对应的性能指标数据为产生待识别日志文件时电子设备的性能指标数据,对待识别日志文件进行解析,得到待识别日志文件的请求字段,将待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出待识别日志文件的识别结果,识别结果用于指示待识别日志文件是否出现异常;也就是说,在本发明实施例中,采用训练好的随机森林模型对输入的待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据进行识别,得到待识别日志文件的识别结果,这里,利用训练好的随机森林模型进行识别,提高了识别的准确性,并且,在待识别日志文件的请求字段的特征的基础上结合待识别日志文件对应的性能指标数据,使得在识别中考虑到产生待识别日志文件时的电子设备的性能指标数据对识别结果的影响,有助于进一步提高识别结果的准确性。
基于同一发明构思,本实施例提供一种日志文件的识别装置,图7为本发明实施例中的日志文件的识别装置的结构示意图,如图7所示,该装置设置于云平台的电子设备中,该日志文件的识别装置包括:获取模块71、解析模块72和识别模块73;
获取模块71,用于当接收到API调用请求时,获取API调用请求对应的待识别日志文件和和待识别日志文件对应的性能指标数据;其中,待识别日志文件对应的性能指标数据为产生待识别日志文件时电子设备的性能指标数据;
解析模块72,用于对待识别日志文件进行解析,得到待识别日志文件的请求字段;
识别模块73,用于将待识别日志文件的请求字段的特征和待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出得到待识别日志文件的识别结果;其中,识别结果用于指示待识别日志文件是否出现异常。
在一种可选的实施例中,该日志文件的识别装置还用于:
从获取到的样本数据集中获取训练数据集;其中,样本数据集为:针对至少两个API调用请求获取到的日志文件的数据集与获取到的日志文件的标签,数据集包括:获取到的日志文件的请求字段的特征和获取到的日志文件对应的性能指标数据,标签包括:指示获取到的日志文件对应的API调用请求为异常请求,指示获取到的日志文件对应的API调用请求为正常请求;
将训练数据集分别输入至预设的随机森林模型中的每个分类树中进行训练,得到训练后的每个分类树;
根据训练后的每个分类树,确定训练好的随机森林模型。
在一种可选的实施例中,训练样本集的个数为K,且K的值为随机森林模型中包括的分类树的个数。
在一种可选的实施例中,该装置还用于:
针对至少两个API的调用请求采集日志文件,获取采集到的日志文件对应的性能指标数据,以及获取采集到的日志文件的标签;
对采集到的日志文件进行解析,得到采集到的日志文件的请求字段;
将采集到的日志文件的请求字段的特征和采集到的日志文件对应的性能指标数据,组成为采集到的日志文件的数据集;
根据采集到的日志文件的数据集,确定样本数据集。
在一种可选的实施例中,该装置根据采集到的日志文件的数据集,确定样本数据集中,包括:
将采集到的日志文件的数据集和采集到的日志文件的标签输入至预设的机器学习算法中,得到采集到的日志文件的数据集中的第一指标数据;
将满足第一预设条件的第一指标数据对应的采集到的日志文件的数据集和对应的采集到的日志文件的标签,确定为样本数据集。
在一种可选的实施例中,该装置根据训练后的分类树,确定训练好的随机森林模型中,包括:
从获取到的样本数据集中获取测试数据集;
将测试数据集分别输入至训练后的每个分类树中,得到每个测试数据的至少两个测试输出结果;
根据测试数据集中每个测试数据的测试结果和每个测试数据的至少两个测试输出结果,计算得到训练后的每个分类树的第二指标数据;
将满足第二预设条件的第二指标数据对应的训练后的分类树,确定为训练好的随机森林模型。
在一种可选的实施例中,该装置,还用于:
从每个测试数据的至少两个测试输出结果中,获取训练好的随机森林模型中每个分类树的每个测试数据的测试输出结果;
当每个测试数据的测试输出结果与每个测试数据的测试结果不同时,从训练好的随机森林模型中,选取出测试输出结果与测试结果不同时对应的分类树;
利用测试数据集,对选取出的分类树重新进行训练,得到重新训练后的分类树;
当重新训练后的分类树的每个测试数据的测试输出结果与每个测试数据的测试结果存在不同时,返回执行利用测试数据集,对选取出的分类树重新进行训练,得到重新训练后的分类树;
当重新训练后的分类树的每个测试数据的测试输出结果与每个测试数据的测试结果都相同时,结束。
在一种可选的实施例中,机器学习算法可以包括以下至少一项:XGBoost算法,GDBT算法;
其中,机器学习算法的目标函数和/或分类树的目标函数为:
其中,i表示分类树或者决策树的个数,yi为实际值,为观测值,T表示叶子的个数,wk表示第k个节点的权重值,a、b为超参数。
在实际应用中,上述获取模块71、解析模块72和识别模块73可由位于电子设备上的处理器实现,具体为中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital Signal Processing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
图8为本发明实施例提供的一种电子设备的结构示意图,如图8所示,本发明实施例提供了一种电子设备800,包括:
处理器81以及存储有所述处理器81可执行指令的存储介质82,所述存储介质82通过通信总线83依赖所述处理器81执行操作,当所述指令被所述处理器81执行时,执行上述一个或多个实施例所述的日志文件的识别方法。
需要说明的是,实际应用时,终端中的各个组件通过通信总线83耦合在一起。可理解,通信总线83用于实现这些组件之间的连接通信。通信总线83除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为通信总线83。
本发明实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行一个或多个实施例所述的日志文件的识别方法。
其中,计算机可读存储介质可以是磁性随机存取存储器(ferromagnetic randomaccess memory,FRAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (11)

1.一种日志文件的识别方法,其特征在于,所述方法应用于云平台中的电子设备中,包括:
当接收到API调用请求时,获取所述API调用请求对应的待识别日志文件和所述待识别日志文件对应的性能指标数据;其中,所述待识别日志文件对应的性能指标数据为产生所述待识别日志文件时所述电子设备的性能指标数据;
对所述待识别日志文件进行解析,得到所述待识别日志文件的请求字段;
将所述待识别日志文件的请求字段的特征和所述待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出得到所述待识别日志文件的识别结果;其中,所述识别结果用于指示所述待识别日志文件是否出现异常。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从获取到的样本数据集中获取训练数据集;其中,所述样本数据集为:针对至少两个API调用请求获取到的日志文件的数据集与所述获取到的日志文件的标签,所述数据集包括:所述获取到的日志文件的请求字段的特征和所述获取到的日志文件对应的性能指标数据,所述标签包括:指示所述获取到的日志文件对应的API调用请求为异常请求,指示所述获取到的日志文件对应的API调用请求为正常请求;
将所述训练数据集分别输入至预设的随机森林模型中的每个分类树中进行训练,得到训练后的每个分类树;
根据所述训练后的每个分类树,确定所述训练好的随机森林模型。
3.根据权利要求2所述的方法,其特征在于,所述训练样本集的个数为K,且K的值为所述随机森林模型中包括的分类树的个数。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
针对至少两个API的调用请求采集日志文件,获取采集到的日志文件对应的性能指标数据,以及获取所述采集到的日志文件的标签;
对所述采集到的日志文件进行解析,得到所述采集到的日志文件的请求字段;
将所述采集到的日志文件的请求字段的特征和所述采集到的日志文件对应的性能指标数据,组成为所述采集到的日志文件的数据集;
根据所述采集到的日志文件的数据集,确定所述样本数据集。
5.根据权利要求4所述的方法,其特征在于,所述根据所述采集到的日志文件的数据集,确定所述样本数据集,包括:
将所述采集到的日志文件的数据集和所述采集到的日志文件的标签输入至预设的机器学习算法中,得到所述采集到的日志文件的数据集中的第一指标数据;
将满足第一预设条件的第一指标数据对应的采集到的日志文件的数据集和对应的采集到的日志文件的标签,确定为所述样本数据集。
6.根据权利要求2所述的方法,其特征在于,所述根据所述训练后的分类树,确定所述训练好的随机森林模型,包括:
从获取到的样本数据集中获取测试数据集;
将所述测试数据集分别输入至所述训练后的每个分类树中,得到每个测试数据的至少两个测试输出结果;
根据测试数据集中每个测试数据的测试结果和所述每个测试数据的至少两个测试输出结果,计算得到训练后的每个分类树的第二指标数据;
将满足第二预设条件的第二指标数据对应的训练后的分类树,确定为所述训练好的随机森林模型。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
从所述每个测试数据的至少两个测试输出结果中,获取所述训练好的随机森林模型中每个分类树的每个测试数据的测试输出结果;
当所述每个测试数据的测试输出结果与所述每个测试数据的测试结果不同时,从所述训练好的随机森林模型中,选取出测试输出结果与测试结果不同时对应的分类树;
利用所述测试数据集,对选取出的分类树重新进行训练,得到重新训练后的分类树;
当所述重新训练后的分类树的每个测试数据的测试输出结果与所述每个测试数据的测试结果存在不同时,返回执行所述利用所述测试数据集,对选取出的分类树重新进行训练,得到重新训练后的分类树;
当所述重新训练后的分类树的每个测试数据的测试输出结果与所述每个测试数据的测试结果都相同时,结束。
8.根据权利要求5所述的方法,其特征在于,
所述机器学习算法可以包括以下至少一项:XGBoost算法,GDBT算法;
其中,所述机器学习算法的目标函数和/或分类树的目标函数为:
其中,i表示分类树或者决策树的个数,yi为实际值,为观测值,T表示叶子节点的个数,wk表示第k个节点的权重值,a、b为超参数。
9.一种日志文件的识别装置,其特征在于,所述装置设置于云平台的电子设备中,包括:
获取模块,用于当接收到API调用请求时,获取所述API调用请求对应的待识别日志文件和和所述待识别日志文件对应的性能指标数据;其中,所述待识别日志文件对应的性能指标数据为产生所述待识别日志文件时所述电子设备的性能指标数据;
解析模块,用于对所述待识别日志文件进行解析,得到所述待识别日志文件的请求字段;
识别模块,用于将所述待识别日志文件的请求字段的特征和所述待识别日志文件对应的性能指标数据输入至训练好的随机森林模型中,输出得到所述待识别日志文件的识别结果;其中,所述识别结果用于指示所述待识别日志文件是否出现异常。
10.一种电子设备,其特征在于,所述电子设备设置于云平台中,包括:
处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求1至8任一项所述的日志文件的识别方法。
11.一种计算机存储介质,其特征在于,包括:存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行所述的权利要求1至8任一项所述的日志文件的识别方法。
CN202210234456.9A 2022-03-10 2022-03-10 一种日志文件的识别方法、装置和电子设备 Pending CN116701133A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210234456.9A CN116701133A (zh) 2022-03-10 2022-03-10 一种日志文件的识别方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210234456.9A CN116701133A (zh) 2022-03-10 2022-03-10 一种日志文件的识别方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN116701133A true CN116701133A (zh) 2023-09-05

Family

ID=87826381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210234456.9A Pending CN116701133A (zh) 2022-03-10 2022-03-10 一种日志文件的识别方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN116701133A (zh)

Similar Documents

Publication Publication Date Title
TWI723528B (zh) 電腦執行的事件風險評估方法及裝置、電腦可讀儲存媒體以及計算設備
US10621493B2 (en) Multiple record linkage algorithm selector
CN105677791B (zh) 用于分析风力发电机组的运行数据的方法和系统
CN108366045B (zh) 一种风控评分卡的设置方法和装置
CN109818961B (zh) 一种网络入侵检测方法、装置和设备
CN114389834B (zh) 一种api网关异常调用识别的方法、装置、设备及产品
CN111309539A (zh) 一种异常监测方法、装置和电子设备
CN110991474A (zh) 一种机器学习建模平台
CN109995611B (zh) 流量分类模型建立及流量分类方法、装置、设备和服务器
CN115204536A (zh) 楼宇设备故障预测方法、装置、设备及存储介质
CN111160959A (zh) 一种用户点击转化预估方法及装置
CN107493275A (zh) 异构网络安全日志信息的自适应提取和分析方法及系统
CN112990989B (zh) 价值预测模型输入数据生成方法、装置、设备和介质
CN117290719B (zh) 基于数据分析的巡检管理方法、装置及存储介质
CN114328277A (zh) 一种软件缺陷预测和质量分析方法、装置、设备及介质
CN114416573A (zh) 一种应用程序的缺陷分析方法、装置、设备及介质
CN113704389A (zh) 一种数据评估方法、装置、计算机设备及存储介质
CN112035775B (zh) 基于随机森林模型的用户识别方法、装置和计算机设备
CN111325255B (zh) 特定人群圈定方法、装置、电子设备及存储介质
CN117221087A (zh) 告警根因定位方法、装置及介质
CN112199388A (zh) 陌电识别方法、装置、电子设备及存储介质
CN116599743A (zh) 4a异常绕行检测方法、装置、电子设备及存储介质
CN116126807A (zh) 一种日志分析方法及相关装置
CN116701133A (zh) 一种日志文件的识别方法、装置和电子设备
CN114092216A (zh) 企业信贷评级方法、装置、计算机设备和存储介质

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