[发明专利]一种热补丁加载方法以及装置有效
| 申请号: | 201611206602.8 | 申请日: | 2016-12-23 |
| 公开(公告)号: | CN106775732B | 公开(公告)日: | 2019-02-12 |
| 发明(设计)人: | 王超;邱模炯 | 申请(专利权)人: | 优刻得科技股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 上海华诚知识产权代理有限公司 31300 | 代理人: | 肖华 |
| 地址: | 200433 上海市杨浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 补丁 加载 方法 以及 装置 | ||
1.一种热补丁加载方法,其特征在于包括步骤:
获取并记录与所述热补丁冲突的内核态冲突进程;
跟踪所述内核态冲突进程,当所述内核态冲突进程退出内核态时,停止所述内核态冲突进程的运行;
重新加载所述热补丁;
判断所述重新加载所述热补丁的结果,当结果为不成功时,循环执行自所述获取并记录与所述热补丁冲突的内核态冲突进程的步骤起至所述重新加载所述热补丁的步骤;
当所述重新加载所述热补丁的结果为成功时,恢复所有所述内核态冲突进程的运行。
2.如权利要求1所述的热补丁加载方法,其特征在于,
所述获取并记录与所述热补丁冲突的内核态冲突进程的步骤包括:
在每次循环中获取本次循环中与所述热补丁冲突的所述内核态冲突进程,并持续记录所有循环中的所述内核态冲突进程。
3.如权利要求1或2所述的热补丁加载方法,其特征在于,
在多个进程的内核态函数调用栈中查找所述热补丁函数,获取包括所述热补丁函数的内核态函数调用栈对应的进程的进程标识符,以获取与所述热补丁冲突的内核态冲突进程,
记录所述进程标识符,以记录所述内核态冲突进程。
4.如权利要求1所述的热补丁加载方法,其特征在于,
所述跟踪所述内核态冲突进程,当所述内核态冲突进程退出内核态时,停止所述内核态冲突进程的运行的步骤包括:
跟踪多个所述内核态冲突进程,停止退出内核态的所述内核态冲突进程的运行,直至停止所有所述内核态冲突进程的运行。
5.如权利要求1或4所述的热补丁加载方法,其特征在于,通过ptrace函数跟踪所述内核态冲突进程。
6.如权利要求1所述的热补丁加载方法,其特征在于,
对所有停止的所述内核态冲突进程使用ptrace函数,以使所有所述内核态冲突进程恢复运行。
7.如权利要求1所述的热补丁加载方法,其特征在于,还包括步骤:
计算重新加载所述热补丁的次数,当重新加载所述热补丁的次数达到预设次数时,停止循环执行自所述获取并记录与所述热补丁冲突的内核态冲突进程的步骤起至所述重新加载所述热补丁的步骤,并恢复运行所有所述内核态冲突进程。
8.一种热补丁加载装置,其特征在于包括:
冲突记录单元,用于获取并记录与所述热补丁冲突的内核态冲突进程;
跟踪单元,用于跟踪所述内核态冲突进程,当所述内核态冲突进程退出内核态时,停止所述内核态冲突进程的运行;
加载单元,用于重新加载所述热补丁;
循环单元,用于判断所述重新加载所述热补丁的结果是否成功,当结果为不成功时循环调用所述冲突记录单元、所述跟踪单元以及加载单元;
恢复单元,用于当所述重新加载所述热补丁的结果为成功时,恢复所有所述内核态冲突进程的运行。
9.如权利要求8所述的热补丁加载装置,其特征在于
所述冲突记录单元在每次循环中获取本次循环中与所述热补丁冲突的所述内核态冲突进程,并持续记录所有循环中的所述内核态冲突进程。
10.如权利要求8或9所述的热补丁加载装置,其特征在于
所述冲突记录单元在多个进程内核态函数调用栈中查找所述热补丁函数,获取包括所述热补丁函数的内核态函数调用栈对应的进程的进程标识符,以获取与所述热补丁冲突的内核态冲突进程,记录所述进程标识符,以记录所述内核态冲突进程。
11.如权利要求8所述的热补丁加载装置,其特征在于
所述跟踪单元跟踪多个所述内核态冲突进程,停止退出内核态的所述内核态冲突进程的运行,直至停止所有所述内核态冲突进程的运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于优刻得科技股份有限公司,未经优刻得科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611206602.8/1.html,转载请声明来源钻瓜专利网。





