【技术实现步骤摘要】
一种SQL脚本的异常检测方法及其终端
本专利技术属于数据处理
,尤其涉及一种SQL脚本的异常检测方法及其终端。
技术介绍
SQL脚本被广泛应用于网络服务领域,因此SQL脚本运行效率的高低决定着服务请求的反应速率,若SQL脚本运行发生异常,将导致用户发起的服务请求需要较长时间进行处理以及请求堆积的情况。因此,如何对SQL脚本的异常情况进行快速检测显得尤为重要。而现有的SQL脚本的异常检测技术,需要管理员对SQL语言进行人工分析,检测效率较低,并且依赖管理员具有较高的技术水平,从而提高了维护的成本。
技术实现思路
有鉴于此,本专利技术实施例提供了一种SQL脚本的异常检测方法及其终端,以解决现有的SQL脚本的异常检测技术,需要管理员对SQL语言进行人工分析,检测效率较低,并且依赖管理员具有较高的技术水平,从而提高了维护的成本的问题。本专利技术实施例的第一方面提供了一种SQL脚本的异常检测方法,所述SQL脚本的异常检测方法包括:获取各个SQL脚本的运行状态参数;根据各个所述SQL脚本的运行状态参数,计算各个所述SQL脚本对应的第一消耗特征值;其中,所述第一消耗特征值用于表示所述SQL脚本对设备资源的占用情况;将各个所述SQL脚本对应的第一消耗特征值按从大到小进行排序,并选取前N个第一消耗特征值对应的SQL脚本,生成脚本消耗异常列表;其中,所述N为小于SQL脚本个数的正整数;根据接收到的目标脚本选取指令,从所述脚本消耗异常列表中确定目标SQL脚本;获取所述目标SQL脚本在多个预设的时间节点对应的第一消耗特征值,并生成历史消耗特征曲线;若所述历史消耗特征曲线中存在所 ...
【技术保护点】
一种SQL脚本的异常检测方法,其特征在于,包括:获取各个SQL脚本的运行状态参数;根据各个所述SQL脚本的运行状态参数,计算各个所述SQL脚本对应的第一消耗特征值;其中,所述第一消耗特征值用于表示所述SQL脚本对设备资源的占用情况;将各个所述SQL脚本对应的第一消耗特征值按从大到小进行排序,并选取前N个第一消耗特征值对应的SQL脚本,生成脚本消耗异常列表;其中,所述N为小于SQL脚本个数的正整数;根据接收到的目标脚本选取指令,从所述脚本消耗异常列表中确定目标SQL脚本;获取所述目标SQL脚本在多个预设的时间节点对应的第一消耗特征值,并生成历史消耗特征曲线;若所述历史消耗特征曲线中存在所述第一消耗特征值大于预设的消耗阈值的坐标点,则基于所述历史消耗特征曲线,确定所述第一消耗特征值大于预设的消耗阈值的持续时间;若所述持续时间大于预设的跳变时间阈值,则获取所述持续时间内各个坐标点对应的导数值;若存在一个所述坐标点对应的导数值大于预设的导数阈值,则判定所述目标SQL脚本为异常脚本。
【技术特征摘要】
1.一种SQL脚本的异常检测方法,其特征在于,包括:获取各个SQL脚本的运行状态参数;根据各个所述SQL脚本的运行状态参数,计算各个所述SQL脚本对应的第一消耗特征值;其中,所述第一消耗特征值用于表示所述SQL脚本对设备资源的占用情况;将各个所述SQL脚本对应的第一消耗特征值按从大到小进行排序,并选取前N个第一消耗特征值对应的SQL脚本,生成脚本消耗异常列表;其中,所述N为小于SQL脚本个数的正整数;根据接收到的目标脚本选取指令,从所述脚本消耗异常列表中确定目标SQL脚本;获取所述目标SQL脚本在多个预设的时间节点对应的第一消耗特征值,并生成历史消耗特征曲线;若所述历史消耗特征曲线中存在所述第一消耗特征值大于预设的消耗阈值的坐标点,则基于所述历史消耗特征曲线,确定所述第一消耗特征值大于预设的消耗阈值的持续时间;若所述持续时间大于预设的跳变时间阈值,则获取所述持续时间内各个坐标点对应的导数值;若存在一个所述坐标点对应的导数值大于预设的导数阈值,则判定所述目标SQL脚本为异常脚本。2.根据权利要求1所述的异常检测方法,其特征在于,在所述若存在一所述坐标点对应的导数值大于预设的导数阈值,则判定所述目标SQL脚本为异常脚本之后,还包括:获取所述持续时间内所述目标SQL脚本的版本变更文件;依所述版本变更文件的创建时间的倒序逐次还原所述版本变更文件的变更内容,并监测所述目标SQL脚本当前的运行状态参数,直到所述当前的运行状态参数对应的第一消耗特征值小于或等于所述消耗阈值。3.根据权利要求1所述的异常检测方法,其特征在于,所述获取各个SQL脚本的运行状态参数,包括:监测当前时间是否满足预设的异常检测触发时机;若当前时间满足预设的异常检测触发时机,则获取待检测终端当前的资源占用率;若所述资源占用率大于预设的占用率阈值,则获取各个所述SQL脚本的运行状态参数。4.根据权利要求1-3任一项所述的异常检测方法,其特征在于,所述运行状态参数包括:运算资源占用参数、平均运行时间参数、内存占用参数以及运行次数;所述根据各个所述SQL脚本的运行状态参数,计算各个所述SQL脚本对应的第一消耗特征值,包括:确定各个所述运行状态参数对应的权重值;将各个所述SQL脚本对应的所述运算资源占用参数、所述平均运行时间参数、所述内存占用参数以及所述运行次数,导入至消耗特征值转换模型,分别计算出各个所述SQL脚本对应的第一消耗特征值,所述消耗特征值转换模型具体为:Ex=α1Ct(SQL)+α2T(SQL)+α3Buff(SQL)+α4Q(SQL)其中,Ex为SQL脚本的第一消耗特征值,α1、α2、α3和α4为各个运行状态参数对应的权重值,Ct(SQL)为SQL脚本的运算资源占用参数,T(SQL)为SQL脚本的平均运行时间参数,Buff(SQL)为SQL脚本的内存占用参数,Q(SQL)为SQL脚本的运行次数。5.根据权利要求1所述的异常检测方法,其特征在于,所述选取前N个第一消耗特征值对应的SQL脚本,生成脚本消耗异常列表,包括:获取当前时刻的时间点;提取所述N个SQL脚本在不同日期的所述时间点对应的第二消耗特征值;根据所述N个SQL脚本的第一消耗特征值以及所述第二消耗特征值,分别计算所述N个SQL脚本的消耗浮动等级;根据所述消耗浮动等...
【专利技术属性】
技术研发人员:吴丽娜,肖涵月,何恩赐,
申请(专利权)人:中国平安人寿保险股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。