CN110196730B - 应用程序的热补丁管理方法、装置和存储介质 - Google Patents
应用程序的热补丁管理方法、装置和存储介质 Download PDFInfo
- Publication number
- CN110196730B CN110196730B CN201811002777.6A CN201811002777A CN110196730B CN 110196730 B CN110196730 B CN 110196730B CN 201811002777 A CN201811002777 A CN 201811002777A CN 110196730 B CN110196730 B CN 110196730B
- Authority
- CN
- China
- Prior art keywords
- hot patch
- data unit
- unit
- management
- logic unit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种热补丁管理方法和热补丁管理装置。热补丁管理装置包括数据单元和逻辑单元。热补丁管理方法包括以下步骤:加载逻辑单元至应用程序;关联逻辑单元与数据单元,数据单元用于记录所述热补丁的状态至应用程序终止;加载热补丁至应用程序;发送热补丁管理指令至逻辑单元;和接收逻辑单元执行管理指令的结果并卸载逻辑单元。本发明实施方式的热补丁管理方法和装置中,通过将热补丁管理模块解耦成数据单元和逻辑单元,数据单元记录热补丁的状态并在热补丁加载后至应用程序终止持续有效,而逻辑单元则在热补丁加载前加载至应用程序,在执行管理指令后卸载,可以方便的对逻辑单元进行扩展、修复、升级等操作,降低了热补丁管理的运营难度。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用程序的热补丁管理方法、热补丁管理装置和存储介质。
背景技术
热补丁可用于在不中断终端当前正在运行的业务的情况下,对当前所运行的应用程序的缺陷进行修复,从而能保证了终端的可靠性。因此,应用程序中会加入热补丁管理模块,来实现对热补丁的检查、记录和管理操作。然而,热补丁管理模块在加载后至应用程序结束运行前无法卸载,使得热补丁管理模块的更新和升级的难度较大。
发明内容
本发明提供了一种应用程序的热补丁管理方法、热补丁管理装置和存储介质。
本发明提供了一种应用程序的热补丁管理方法,所述热补丁管理方法包括以下步骤:
加载热补丁管理装置的逻辑单元至所述应用程序;
关联所述逻辑单元与热补丁管理装置的数据单元;
加载热补丁至所述应用程序;
发送热补丁管理指令至所述逻辑单元;和
接收所述逻辑单元执行所述管理指令的结果并卸载所述逻辑单元。
在某些实施方式中,所述关联所述逻辑单元与所述数据单元的步骤包括:
检测当前是否存在数据单元;
若不存在所述数据单元,则创建并关联所述逻辑单元与所述数据单元;
若存在所述数据单元,则关联所述逻辑单元与所述数据单元。
在某些实施方式中,所述数据单元由所述应用程序在代码中静态创建或由所述逻辑单元动态创建。
在某些实施方式中,所述数据单元由所述应用程序在代码中静态创建,所述检测当前是否存在数据单元的步骤包括:
扫描所述应用程序的预定格式获取所述数据单元的位置以检测是否存在数据单元。
在某些实施方式中,所述数据单元由所述逻辑单元动态创建,所述检测当前是否存在数据单元的步骤包括:
根据预定规则从所述应用程序的地址空间中获取所述数据单元的位置以检测是否存在所述数据单元。
在某些实施方式中,所述数据单元在所述应用程序运行过程中保持加载状态,在所述应用程序终止后卸载。
在某些实施方式中,所述热补丁管理方法还包括步骤:
升级所述逻辑单元;和
加载升级后的逻辑单元至所述应用程序。
在某些实施方式中,所述热补丁管理方法还包括步骤:
关联所述升级后的逻辑单元与所述数据单元。
在某些实施方式中,所述热补丁管理方法包括步骤:
发送管理命令以升级所述数据单元。
在某些实施方式中,所述数据单元入口为头部表,用于扫描所述数据单元。
本发明提供了一种应用程序的热补丁管理装置,所述热补丁管理装置包括数据单元和逻辑单元,所述热补丁管理装置还包括:
加载模块,用于加载所述逻辑单元至所述应用程序;
关联模块,用于关联所述逻辑单元与所述数据单元;
所述加载模块还用于加载热补丁至所述应用程序;
命令模块,用于发送热补丁管理指令至所述逻辑单元;
卸载模块,用于接收所述逻辑单元执行所述管理指令的结果并卸载所述逻辑单元。
在某些实施方式中,所述关联模块包括:
检测单元,用于检测当前是否存在数据单元;
创建单元,用于在不存在所述数据单元时创建数据单元;
关联单元,用于关联所述逻辑单元与所述数据单元。
在某些实施方式中,所述数据单元通过所述创建单元由所述应用程序在代码中静态创建,所述检测单元通过扫描所述应用程序的预定格式获取所述数据单元的位置以检测是否存在数据单元;或
在某些实施方式中,所述数据单元由所述逻辑单元动态创建,所述检测单元用于根据预定规则从所述应用程序的地址空间中获取所述数据单元的位置以检测是否存在所述数据单元。
在某些实施方式中,所述数据单元在所述应用程序运行过程中保持加载状态,在所述应用程序终止后卸载。
本发明提供了一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行所述的应用程序的热补丁管理方法。
本发明实施方式的应用程序热补丁管理方法、热补丁管理装置和计算机刻度存储介质中,通过将热补丁管理模块解耦成数据单元和逻辑单元,由数据单元记录热补丁的状态并在热补丁加载后至应用程序终止持续有效,而逻辑单元则在热补丁加载前加载至应用程序,在执行管理指令后卸载,可以方便的对逻辑单元进行扩展、修复、升级等操作,降低了热补丁管理的运营难度。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本发明实施方式的热补丁管理方法的流程示意图;
图2是本发明实施方式的热补丁管理装置的模块示意图;
图3是本发明实施方式的热补丁管理方法的交互示意图;
图4是本发明实施方式的热补丁管理方法的另一流程示意图;
图5是本发明实施方式的热补丁管理装置的另一模块示意图;
图6是本发明实施方式的热补丁管理方法的又一流程示意图;
图7是本发明实施方式的热补丁管理装置的又一模块示意图;
图8是本发明实施方式的热补丁管理方法的又一流程示意图;
图9是本发明实施方式的热补丁管理方法的又一流程示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接。可以是机械连接,也可以是电连接。可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
请参阅图1,本发明实施方式提供一种应用程序的热补丁管理方法,热补丁管理装置包括数据单元和逻辑单元,热补丁管理方法包括步骤:
S10:加载逻辑单元至应用程序;
S20:关联逻辑单元与数据单元,数据单元用于记录热补丁的状态至应用程序终止;
S30:加载热补丁至应用程序;
S40:发送热补丁管理指令至逻辑单元;和
S50:接收逻辑单元执行管理指令的结果并卸载逻辑单元。
请参阅图2至图3,本发明实施方式提供一种热补丁管理装置100,可用于实现上述热补丁管理方法。热补丁管理装置100包括数据单元10和逻辑单元20、加载模块30、关联模块40、命令模块50和卸载模块60。加载模块30用于加载逻辑单元20至应用程序。关联模块40用于关联逻辑单元20与数据单元10。加载模块30还用于在加载逻辑单元20至应用程序后加载热补丁至应用程序。命令模块50用于发送热补丁管理指令至逻辑单元20。卸载模块60用于接收逻辑单元20执行管理指令的结果并卸载逻辑单元20。其中,数据单元10用于记录热补丁的状态至应用程序终止。
在某些应用场景中,例如虚拟机的运行过程中,需要持续保持运行,为了避免了***重启导致的业务中断、保证***的持续可用性,采用热补丁对在运行状态中的应用程序进行代码或者数据更新以修复存在的漏洞。
一般地,应用程序热补丁的流程是,首先通过编译器将热补丁源码制作成可加载的动态链接库,然后通过加载工具将热补丁加载到目标进程的地址空间,最后在进行一致性模型检查确认安全的情况下,把原始代码替换成新的代码,完成在线修复的过程。
如果应用程序有进行热补丁修复的需求,这样的应用程序会对整个***的安全性和稳定性要求较高,因此通常会有以下附带的管理需求,例如能支持依次加载多个热补丁,支持热补丁加载、卸载,激活和回滚,能支持热补丁加载时的安全检查。
为了实现上述管理需求,通常在应用程序里面加入一个热补丁管理模块,由这个热补丁管理模块来完成补丁的检查、记录和管理操作。在此过程中,与热补丁共同加载的还包括与有热补丁管理模块。热补丁管理模块用于对加载的热补丁进行管理。
热补丁管理模块的管理流程包括:由加载工具检查进程是否存在热补丁管理模块,若无则加载热补丁管理模块;加载热补丁;由热补丁管理模块的注册接口检查并记录补丁状态;由加载工具给热补丁管理模块发出热补丁管理指令,并由热补丁管理模块执行管理指令。一般地,管理指令包括有热补丁激活、回滚、状态显示等。
由上述过程,可以理解地,热补丁管理模块在应用程序第一次加载热补丁前加载至应用程序,并在此后一直存留在应用程序等待新的热补丁加载或管理命令加载,直至应用程序终止。其中,应用程序的终止包括但不限于应用程序运行结束的退出、运行中崩溃而退出等情况。
也即是说,热补丁管理模块自加载后将始终留存,直至应用程序终止。
然而,在实际应用过程中,存在可能需要对热补丁管理模块进行升级的情形。例如,热补丁管理模块存在漏洞,需要扩展管理功能,需要扩展支持新类型的补丁等情形。而热补丁管理模块自加载后始终存留,一旦遇到上述有升级需求的情形,那么可供选择的升级方法包括:卸载热补丁管理模块,升级后再次加载,然而热补丁管理模块中包含着当前补丁的信息记录,若卸载热补丁管理模块将丢失当前补丁的信息记录。
对于上述方法不足的缺陷,可采用第二种方式:先卸载所有热补丁,再卸载热补丁管理模块,然后重新加载升级后的热补丁管理模块,再加载之前的热补丁。这个方法可以完成升级,但卸载热补丁会造成应用程序在短时间内变成未修复状态,而且补丁的卸载操作会增加应用程序崩溃的风险。
此外,还可以直接加载新的热补丁管理模块替换旧模块,强行读取旧的热补丁管理模块中的热补丁记录,然而这种方式会额外增加开发和运营负担。
由上述内容,可以理解地,在热补丁管理模块的管理流程中,工作内容分为两部分,一部分为接收加载工具的指令,进行加载、执行管理命令等,另一部分为记录热补丁的记录。
本发明实施方式的热补丁管理装置,将上述对热补丁管理模块解耦成数据单元10和逻辑单元20。其中,逻辑单元20用于热补丁的加载、管理命令的执行等,数据单元10用于在应用程序运行的过程中保持存留状态来记录热补丁的状态至应用程序终止。
具体地,热补丁管理方法的流程为:首先由加载模块30加载逻辑单元20到应用程序中。逻辑单元20接管数据单元10,从而关联模块40将逻辑单元20与数据单元10进行关联。当需要加载热补丁时,加载模块30加载热补丁到应用程序,并由逻辑单元20的注册接口登记热补丁。而后,命令模块50给逻辑单元20发出补丁管理指令,逻辑单元20执行管理指令,并返回结果。其中,管理指令包括但不限于热补丁激活、回滚、状态显示等。卸载模块60在收到结果后卸载逻辑单元20。此后,逻辑单元20可以进行更新、修复和扩展,例如逻辑单元20增加新功能、修复逻辑单元20中的漏洞等。升级后的逻辑单元20在需要执行热补丁的管理指令前可重新加载至应用程序,当执行管理指令后再次卸载。重复上述步骤,直至应用程序终止。
也即是说,逻辑单元20的存在过程为每次热补丁操作前加进行加载持续至执行热补丁的管理命令后卸载,而非应用程序终止。相应的,数据单元10在首次加载热补丁前加载持续存在直至应用程序终止。如此,可为逻辑单元20的更新、修复和扩展提供便利。
综上所述,本发明实施方式的热补丁管理方法和热补丁管理装置100中,通过将热补丁管理模块解耦成数据单元10和逻辑单元20,由数据单元10记录热补丁的状态并在热补丁加载后至应用程序终止持续有效,而逻辑单元20则在热补丁加载前加载至应用程序,在执行管理指令后卸载,可以方便的对逻辑单元20进行扩展、修复、升级等操作,降低了热补丁管理的运营难度。
请参阅图4,在某些实施方式中,步骤S20包括步骤:
S21:检测当前是否存在数据单元;
S22:若不存在数据单元,则创建并关联逻辑单元与数据单元;和
S23:若存在数据单元,则关联逻辑单元与数据单元。
请参阅图5,在某些实施方式中,关联模块40包括:检测单元41、创建单元42和关联单元43。步骤S21可以由检测单元41实现,步骤S42可以由创建单元42实现,步骤S43可以由关联单元43实现。也即是说,检测单元41用于检测当前是否存在数据单元10。创建单元42用于在不存在数据单元时创建数据单元10。关联单元43用于关联逻辑单元20与数据单元10。
具体地,逻辑单元20加载至应用程序后需接管数据单元10,即与数据单元10关联。逻辑单元20加载的时机包括在应用程序运行过程中首次加载以及在卸载后进行升级等操作后的再次加载。而逻辑单元20在加载后需要与数据单元10相关联,通过数据单元10记录热补丁的状态,因此,在逻辑单元20加载后需要检测当前应用程序中是否存在数据单元10,在首次加载时,应用程序中可能不存在数据单元10,此时,通过创建单元42建立数据单元10,创建后,数据单元10与逻辑单元20相关联,以使得数据单元10在应用程序运行过程中记录热补丁的状态。
而当逻辑单元20非首次加载至应用程序中时,则在检测到当前存在的数据单元10二者进行关联以使得数据单元10在应用程序接下来的运行过程中继续记录热补丁的状态。
在某些实施方式中,数据单元10通过创建单元42由应用程序在代码中静态创建
具体地,如果数据单元10是由应用程序在代码中静态创建,可以约定创建到特定名称的数据段,比如hotfix_data_segment。在这样的实施方式中,检测单元41通过扫描应用程序的预定格式获取数据单元10的位置以检测是否存在数据单元10。具体地,通过扫描程序ELF格式获取数据段位置,即可直接定位到数据单元10。
在某些实施方式中,数据单元10由逻辑单元20在加载时动态创建。
具体地,如果数据单元10是由逻辑单元20动态创建,则创建时可以按照事先约定好的规则从程序的地址空间中选择适合的位置创建。在这样的实施方式中,检测单元41通过根据该约定好的规则从应用程序程序的地址空间中查找数据单元10即可。
在某些实施方式中,数据单元10在应用程序运行过程中保持加载状态,在应用程序终止后卸载。
具体地,如前所述,数据单元10需要持续记录热补丁的状态。因此,在初始创建后始终保持存留,不会随逻辑单元20的卸载而卸载,而只是在应用程序终止后卸载。
请参阅图6和图7,在某些实施方式中,热补丁管理方法还包括步骤:
S60:升级逻辑单元;和
S70:加载升级后的逻辑单元至应用程序。
在某些实施方式中,热补丁管理装置100还包括升级模块70。步骤S60可以由升级模块70实现。步骤S70可以由加载模块30实现。也即是说,升级模块70用于升级逻辑单元20。加载模块30用于加载升级后的逻辑单元20至应用程序。
具体地,当逻辑单元20增加新功能后,在需要进行热补丁操作时,可直接加载带有新功能的逻辑单元20至应用程序。
请参阅图8,在这样的实施方式中,热补丁管理方法还包括步骤:
S80:关联升级后的逻辑单元与数据单元。
在这样的实施方式中,步骤S80可以由关联模块40实现。也即是说,关联模块40用于关联升级后的逻辑单元20和数据单元10。
具体地,由于升级后的逻辑单元20仍然需要接管数据单元10,因此要求升级后的逻辑单元20对老版本也即是当前的数据单元10兼容,即逻辑单元20需要向前兼容数据单元10。
请参阅图9,在某些实施方式中,热补丁管理方法还包括步骤:
S90:发送管理命令以升级数据单元。
在某些实施方式中,步骤S90可以由命令模块50实现。也即是说,命令模块50还用于发送管理命令以升级数据单元10。
具体地,数据单元10的升级可以由管理指令实现,例如增加专门用于升级数据单元10。当需要对数据单元10进行升级时,命令模块50发送该命令,由逻辑单元20执行指令对数据单元10进行升级。
在某些实施方式中,数据单元10入口为头部表,用于扫描数据单元10。
具体地,数据单元10用于是记录所有热补丁的状态,可以根据需求自由定义。其中,数据单元10的入口是一个头部表(head table),用来扫描数据单元10自身。为了实现上述热补丁管理方法,需要在头部表中定义以下内容:
其中,Magic number是一个事先约定的数字串,逻辑单元20可根据该数字串来识别和确定数据单元10是否存在。
Version number是版本号,用来区分数据单元10不同的格式,逻辑单元20识别其版本后,仅允许执行该版本支持的功能,并可根据版本号来执行数据单元10升级指令。
扩展预留区域,用来支持功能扩展和升级。当需要在头部表中增加新的内容时,可以直接使用扩展预留区域,也可以另外增加一个头部扩展表,而使用扩展预留区保存头部扩展表的地址。
补丁记录信息,包括所有热补丁数据,也可以是所有热补丁数据的地址。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理模块的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(控制方法),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成的,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本发明的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施实施进行变化、修改、替换和变型。
Claims (15)
1.一种应用程序的热补丁管理方法,其特征在于,所述热补丁管理方法包括以下步骤:
加载热补丁管理装置的逻辑单元至所述应用程序,所述逻辑单元用于热补丁的加载及管理命令的执行;
关联所述逻辑单元与热补丁管理装置的数据单元,所述数据单元用于在所述应用程序运行的过程中保持存留状态以记录热补丁的状态至所述应用程序终止;
加载热补丁至所述应用程序;
发送热补丁管理指令至所述逻辑单元;和
接收所述逻辑单元执行所述管理指令的结果并卸载所述逻辑单元。
2.如权利要求1所述的热补丁管理方法,其特征在于,所述关联所述逻辑单元与所述数据单元的步骤包括:
检测当前是否存在数据单元;
若不存在所述数据单元,则创建并关联所述逻辑单元与所述数据单元;
若存在所述数据单元,则关联所述逻辑单元与所述数据单元。
3.如权利要求2所述的热补丁管理方法,其特征在于,所述数据单元由所述应用程序在代码中静态创建或由所述逻辑单元动态创建。
4.如权利要求2所述的热补丁管理方法,其特征在于,所述数据单元由所述应用程序在代码中静态创建,所述检测当前是否存在数据单元的步骤包括:
扫描所述应用程序的预定格式获取所述数据单元的位置以检测是否存在数据单元。
5.如权利要求2所述的热补丁管理方法,其特征在于,所述数据单元由所述逻辑单元动态创建,所述检测当前是否存在数据单元的步骤包括:
根据预定规则从所述应用程序的地址空间中获取所述数据单元的位置以检测是否存在所述数据单元。
6.如权利要求1所述的热补丁管理方法,其特征在于,所述数据单元在所述应用程序运行过程中保持加载状态,在所述应用程序终止后卸载。
7.如权利要求1所述的热补丁管理方法,其特征在于,所述热补丁管理方法还包括步骤:
升级所述逻辑单元;和
加载升级后的逻辑单元至所述应用程序。
8.如权利要求7所述的热补丁管理方法,其特征在于,所述热补丁管理方法还包括步骤:
关联所述升级后的逻辑单元与所述数据单元。
9.如权利要求1所述的热补丁管理方法,其特征在于,所述热补丁管理方法包括步骤:
发送管理命令以升级所述数据单元。
10.如权利要求1所述的热补丁管理方法,其特征在于,所述数据单元入口为头部表,用于扫描所述数据单元。
11.一种应用程序的热补丁管理装置,其特征在于,所述热补丁管理装置包括数据单元和逻辑单元,所述热补丁管理装置还包括:
加载模块,用于加载所述逻辑单元至所述应用程序,所述逻辑单元用于热补丁的加载及管理命令的执行;
关联模块,用于关联所述逻辑单元与所述数据单元,所述数据单元用于在所述应用程序运行的过程中保持存留状态以记录热补丁的状态至所述应用程序终止;
所述加载模块还用于加载热补丁至所述应用程序;
命令模块,用于发送热补丁管理指令至所述逻辑单元;
卸载模块,用于接收所述逻辑单元执行所述管理指令的结果并卸载所述逻辑单元。
12.如权利要求11所述的热补丁管理装置,其特征在于,所述关联模块包括:
检测单元,用于检测当前是否存在数据单元;
创建单元,用于在不存在所述数据单元时创建数据单元;
关联单元,用于关联所述逻辑单元与所述数据单元。
13.如权利要求12所述的热补丁管理装置,其特征在于,所述数据单元通过所述创建单元由所述应用程序在代码中静态创建,所述检测单元通过扫描所述应用程序的预定格式获取所述数据单元的位置以检测是否存在数据单元;或
所述数据单元由所述逻辑单元动态创建,所述检测单元用于根据预定规则从所述应用程序的地址空间中获取所述数据单元的位置以检测是否存在所述数据单元。
14.如权利要求11所述的热补丁管理装置,其特征在于,所述数据单元在所述应用程序运行过程中保持加载状态,在所述应用程序终止后卸载。
15.一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行权利要求1-10中任一项所述的应用程序的热补丁管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811002777.6A CN110196730B (zh) | 2018-08-30 | 2018-08-30 | 应用程序的热补丁管理方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811002777.6A CN110196730B (zh) | 2018-08-30 | 2018-08-30 | 应用程序的热补丁管理方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110196730A CN110196730A (zh) | 2019-09-03 |
CN110196730B true CN110196730B (zh) | 2023-04-18 |
Family
ID=67751038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811002777.6A Active CN110196730B (zh) | 2018-08-30 | 2018-08-30 | 应用程序的热补丁管理方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110196730B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158735B (zh) * | 2019-12-05 | 2023-03-31 | 青岛海信移动通信技术股份有限公司 | 一种热补丁文件处理方法及通信终端 |
CN111949292B (zh) * | 2020-07-30 | 2023-03-21 | 锐捷网络股份有限公司 | 一种热补丁装载方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885808A (zh) * | 2014-04-08 | 2014-06-25 | 北京奇虎科技有限公司 | 热补丁处理方法及装置 |
CN106610857B (zh) * | 2016-12-23 | 2019-01-22 | 优刻得科技股份有限公司 | 一种热补丁信息查询方法以及装置 |
CN107315619A (zh) * | 2017-07-12 | 2017-11-03 | 北京理工大学 | 一种实现补丁安全的热修复方法、移动终端及热修复*** |
-
2018
- 2018-08-30 CN CN201811002777.6A patent/CN110196730B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110196730A (zh) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912356B (zh) | 一种支持版本回退的光模块固件程序在线升级方法 | |
JP5113700B2 (ja) | ファームウェア更新装置及び方法 | |
CN110045991B (zh) | 服务器的raid配置方法、装置、计算机设备和存储介质 | |
CN104915226B (zh) | 一种网络设备软件启动方法、装置及网络设备 | |
CN112906008A (zh) | 内核漏洞修复方法、装置、服务器及*** | |
CN110196730B (zh) | 应用程序的热补丁管理方法、装置和存储介质 | |
CN111562934A (zh) | 一种基于热补丁的软件***升级方法、终端及存储介质 | |
CN104978223A (zh) | 实现Web方式升级设备固件的方法 | |
US20060117313A1 (en) | Method for patching firmware in memory device | |
CN113934471A (zh) | 计算机***的基板管理控制器和启动方法 | |
US20060130039A1 (en) | Update control program, update control method, and update control device | |
CN101330695A (zh) | 一种移动终端及其***升级的方法和装置 | |
CN109375953B (zh) | 一种操作***启动方法及装置 | |
JP6643407B2 (ja) | 欠陥関数を検査する方法、装置、サーバ及びプログラム | |
CN106775847B (zh) | 一种板卡软件版本更新方法及装置 | |
CN112394965B (zh) | 电池管理***升级和运行方法,控制器,电池管理***及存储介质 | |
CN112015587B (zh) | 一种增强操作***可靠性的方法及装置 | |
EP2187306A1 (en) | Image processing apparatus and control method thereof | |
CN114398087A (zh) | 一种提高单片机更新程序后运行稳定性的方法及单片机 | |
CN113467797B (zh) | 程序更新方法、装置和***以及计算机可读存储介质 | |
CN114510375A (zh) | 一种Flash芯片数据区域动态共享***及方法 | |
CN113703823A (zh) | 一种bmc固件升级方法、装置、电子设备及存储介质 | |
CN100484038C (zh) | 网元版本切换方法及装置 | |
CN114625399A (zh) | ***升级方法及相关装置、设备和存储介质 | |
CN111783162A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |