[发明专利]热补丁文件生成、一致性检测方法、装置、设备和介质在审
| 申请号: | 202010534121.X | 申请日: | 2020-06-12 |
| 公开(公告)号: | CN113805928A | 公开(公告)日: | 2021-12-17 |
| 发明(设计)人: | 唐玉科 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F8/658 | 分类号: | G06F8/658;G06F8/72;G06F40/194 |
| 代理公司: | 深圳鼎合诚知识产权代理有限公司 44281 | 代理人: | 薛祥辉 |
| 地址: | 518057 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 补丁 文件 生成 一致性 检测 方法 装置 设备 介质 | ||
本发明实施例公开热补丁文件生成、一致性检测方法、装置、设备和介质,热补丁文件生成方法通过获取第一、二工程中第一、二目标文件,得到第一、二目标文件的源文件名,获取第一、二主程序和动态库各自所对应的第一、二主程序源文件列表、第一、二动态库源文件列表,根据得到的源文件名和源文件列表确定第一、二目标文件的归属信息,生成包括识别信息的第一、二中间热补丁文件最终得到热补丁文件。热补丁文件包括识别信息,可以得到各补丁函数是对应主程序还是动态库,可准确获取被补丁函数,易用性高。本发明实施例还提供了一致性检测方法及一致性检测、热补丁文件生成装置、设备和介质,提升热补丁技术的可靠性。
技术领域
本发明实施例涉及C/C++语言编写的linux用户态软件的热补丁技术领域,尤其涉及一种热补丁文件生成、一致性检测方法、装置、设备和介质。
背景技术
在通信领域,确保服务的连贯性非常重要,在程序出现故障时需要在线修复故障而不是重启程序。在线修复故障的技术通常称为热补丁技术,该技术将正在运行的被补丁函数(有故障的函数)替换成补丁函数(修复故障后的函数),以达到修复故障而又不重启程序的目的。热补丁技术基本上都是采用将被补丁函数入口处的指令修改为跳转到补丁函数入口的跳转指令,达到函数替换目的。
由于一般的程序由主程序和依赖的动态库组成,主程序和动态库中可能存在同名函数,如何准确获取被补丁函数是对程序正确打热补丁的前提。比如要对函数A打补丁,可能程序依赖的动态库中不止一个定义了名为A的函数,找错函数将导致程序崩溃。目前业界常用的做法是要么要求打补丁时指定被补丁函数的归属信息(主程序或者动态库),要么要求在制作补丁时将被补丁函数将归属信息记录在补丁文件中,可是无论是打补丁的人员还是制作补丁的人员都不一定是开发人员,可能并不清楚被补丁函数的归属信息,使得这种方法易用性不好,容易出错,使得热补丁技术的可靠性不高。
发明内容
本发明实施例的主要目的在于提出一种热补丁文件生成、一致性检测方法、装置、设备和介质,旨在实现解决热补丁技术中被补丁函数不能被准确获取的问题,使得热补丁技术的易用性不好,容易出错,可靠性不高的问题。
为实现上述目的,本发明实施例提供了一种热补丁文件生成方法,所述热补丁文件生成方法包括:
获取修改前的第一工程中的第一目标文件、修改后的第二工程中的第二目标文件,所述第一目标文件和所述第二目标文件分别为所述第一工程与所述第二工程对应存储节点上存在差异的文件;
获取生成所述第一目标文件的第一源文件名、生成所述第二目标文件的第二源文件名;
获取第一主程序的第一主程序源文件列表、第一动态库的第一动态库源文件列表、第二主程序的第二主程序源文件列表、第二动态库的第二动态库源文件列表,所述第一主程序和所述第一动态库归属于所述第一工程,所述第二主程序和所述第二动态库归属于所述第二工程;
确定所述第一目标文件、所述第二目标文件的归属信息,所述归属信息根据所述第一源文件名、所述第二源文件名、所述第一主程序源文件列表、所述第二主程序源文件列表、所述第一动态库源文件列表、所述第二动态库源文件列表确定,所述归属信息包括以下任意之一:归属于第一动态库、归属于第二动态库、归属于第一主程序、归属于第二主程序;
获取主程序差异函数,生成第一中间热补丁文件,所述第一中间热补丁文件包括识别信息,所述识别信息包括主程序标识,所述主程序差异函数包括对应节点上归属于第一主程序的第一目标文件与归属于第二主程序的第二目标文件中存在差异的函数;
获取动态库差异函数,生成第二中间热补丁文件,所述第二中间热补丁文件包括识别信息,所述识别信息包括动态库标识,所述动态库差异函数包括对应节点上归属于第一动态库的第一目标文件与归属于第二动态库的第二目标文件中存在差异的函数;
封装所述第一中间热补丁文件与所述第二中间热补丁文件,生成热补丁文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010534121.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种马达转子一体式偏心泵
- 下一篇:金属掩膜板





