[发明专利]一种基于栈的异常检测方法和装置有效
申请号: | 201410797374.0 | 申请日: | 2014-12-18 |
公开(公告)号: | CN104536810B | 公开(公告)日: | 2018-05-11 |
发明(设计)人: | 张皓秋 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F8/41 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 异常 检测 方法 装置 | ||
1.一种基于栈的异常检测方法,包括:
生成标识信息;
在第一业务对象将一个或多个参数压入栈之前,将所述标识信息压入栈;
当第二业务对象调用在栈中的一个或多个参数完成时,提取当前位于栈顶的栈顶元素;
检测所述栈顶元素与所述标识信息是否相同;以及
当所述栈顶元素与所述标识信息不同时,判断所述栈出现异常。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述栈顶元素与所述标识信息相同时,判断所述栈运行正常。
3.如权利要求1所述的方法,其特征在于,还包括:
生成所述栈出现异常的提示信息;
或者,
使用调试接口输出异常信息。
4.如权利要求1所述的方法,其特征在于,所述生成标识信息的步骤包括:
在第一时间针对标识对象生成第一信息;
将所述第一信息写入特征变量中;
在第二时间针对所述标识对象生成第二信息,其中所述第一时间与所述第二时间不同;
将所述第二信息写入全局变量中;以及
根据所述特征变量和所述全局变量生成所述标识信息。
5.如权利要求4所述的方法,其特征在于,所述根据所述特征变量和所述全局变量生成所述标识信息的步骤进一步包括:
将所述全局变量与所述特征变量进行按位异或运算,以获得异或结果;以及
将所述结果写入全局变量中,以获得标识信息。
6.如权利要求1或2或3或4或5所述的方法,其特征在于,所述第二业务对象调用在栈中一个或多个参数的操作进一步包括:
读取在栈中的所述一个或多个参数;以及
进行堆栈平衡处理。
7.如权利要求1或2或3或4或5所述的方法,其特征在于,所述提取当前位于栈顶的栈顶元素的步骤进一步包括:
对当前位于栈顶的栈顶元素进行出栈操作;以及
将出栈之后的栈顶元素写入局部变量。
8.如权利要求7所述的方法,其特征在于,所述标识信息存储在全局变量中,以及所述检测所述栈顶元素与所述标识信息是否相同的步骤进一步包括:
判断所述局部变量与所述全局变量是否相同;以及
若是,则判断所述栈顶元素与所述标识信息相同,否则,则判断所述栈顶元素与所述标识信息不同。
9.一种基于栈的异常检测装置,包括:
第一生成模块,适于生成标识信息;
压入模块,适于在第一业务对象将一个或多个参数压入栈之前,将所述标识信息压入栈;
提取模块,适于当第二业务对象调用在栈中的一个或多个参数完成时,提取当前位于栈顶的栈顶元素;
检测模块,适于检测所述栈顶元素与所述标识信息是否相同;以及
异常判断模块,适于在所述栈顶元素与所述标识信息不同时,判断所述栈出现异常。
10.如权利要求9所述的装置,其特征在于,还包括:
正常判断模块,适于在所述栈顶元素与所述标识信息相同时,判断所述栈运行正常。
11.如权利要求9所述的装置,其特征在于,还包括:
第二生成模块,适于生成所述栈出现异常的提示信息;
或者,
输出模块,适于使用调试接口输出异常信息。
12.如权利要求9所述的装置,其特征在于,所述第一生成模块还适于:
在第一时间针对标识对象生成第一信息;
将所述第一信息写入特征变量中;
在第二时间针对所述标识对象生成第二信息,其中所述第一时间与所述第二时间不同;
将所述第二信息写入全局变量中;以及
根据所述特征变量和所述全局变量生成所述标识信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410797374.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:提醒用户调整运动量的方法及装置
- 下一篇:原稿读取装置