通信人家园
标题:
热补丁技术介绍
[查看完整版帖子]
[打印本页]
时间:
2009-7-15 21:48
作者:
alrn
标题:
热补丁技术介绍
热补丁是一种快速、低成本修复产品软件版本缺陷的方式。和升级软件版本相比,热补丁的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复。
补丁(又被称为补丁单元)是用来修复某个缺陷的程序包,通常以补丁文件的形式发布,一个补丁文件可能包含一个或多个补丁,不同的补丁具有不同的功能。当补丁文件被用户从存储介质加载到内存补丁区中时,补丁文件中的补丁将被分配一个在此内存补丁区中唯一的单元序号,用于标志、管理、操作各补丁,补丁的单元序号从
1
开始顺序编号,如某补丁文件中有
3
个补丁单元,那合法的补丁单元号为
1
、
2
和
3
。
补丁文件中的补丁均为增量补丁。所谓增量补丁,是指各补丁单元对于在其前面的补丁单元有依赖性。也就是说,如果补丁文件中有
3
个补丁单元,则
3
号补丁必须在
1
号和
2
号补丁生效之后才能运行,而不能直接单独运行
3
号补丁。
补丁分为正式补丁和临时补丁两种:
l
正式补丁(
Common patches
)是通过版本发布流程发布的补丁。
l
临时补丁(
Temporary patches
)是未通过版本发布流程发布,用于临时解决紧急问题和需求的补丁。
正式补丁总会包含前面临时补丁的功能,从而替代前面的临时补丁。补丁的类型只对补丁加载(
Load
)过程产生影响——系统在加载正式补丁之前会先将系统中所有临时补丁删除。
每个补丁都有自身的状态,只有在用户命令行的干预下才能发生切换。补丁状态切换与命令操作关系如
图
1
所示,其中
IDLE
、
DEACTIVE
、
ACTIVE
和
RUNNING
表示补丁的不同状态,加载、临时运行、确认运行、停止运行、删除、安装、卸载表示补丁操作,分别对应命令
patch load
、
patch active
、
patch run
、
patch deactive
、
patch delete
和
patch install
、
undo patch install
,箭头方向表示状态的转变方向,比如对
DEACTIVE
状态的补丁执行
patch active
操作,补丁的状态就会变为
ACTIVE
。
表示尚未加载补丁,无法进行安装、运行等补丁操作,如
图
2
所示(假设系统补丁区中最多可以加载
8
个补丁)。
系统重启后,所有处于
IDLE
状态的补丁仍为
IDLE
状态。
表示补丁已经被加载到内存补丁区,但尚未运行。假设用户将加载的补丁文件包含
7
个补丁,则这
7
个补丁将在经过版本校验及
CRC
校验之后被加载到内存补丁区,加载成功的补丁处于
DEACTIVE
状态,此时系统中补丁状态如
图
3
所示。
系统重启后,所有处于
DEACTIVE
状态的补丁仍为
DEACTIVE
状态。
表示补丁已经被临时运行,即该补丁在设备重启之后不再生效。对于
图
3
中
7
个处于
DEACTIVE
状态的补丁,用户如果激活前
5
个补丁,则前
5
个补丁的状态将由
DEACTIVE
状态变成
ACTIVE
状态,此时系统中补丁状态如
图
4
所示。
系统重启后,所有处于
ACTIVE
状态的补丁将变成
DEACTIVE
状态。
确认运行状态(
RUNNING
)
表示补丁已经被永久运行,即该补丁在设备重启之后会继续生效。对于
图
4
中
5
个处于
ACTIVE
状态的补丁,用户确认运行前
3
个补丁后,前
3
个补丁的状态将由
ACTIVE
状态变成
RUNNING
状态。
系统重启后,所有处于
RUNNING
状态的补丁将保持为
RUNNING
状态。
时间:
2009-7-16 10:35
作者:
xhy133
学习了
时间:
2009-7-16 13:03
作者:
通信苹果
好好学习天天向上!
时间:
2009-7-16 13:43
作者:
dreamboxer
是不是所有的厂家,热补丁都是这个原理呢?都分为IDLE、DEACTIVE、ACTIVE和RUNNING这些状态啊
时间:
2009-7-16 15:14
作者:
冷笑书生
技术贴,不错!
时间:
2009-7-17 23:57
作者:
zxcvb
技术贴,学习了
时间:
2009-7-19 19:38
作者:
tbqujing
好好学习天天向上!
通信人家园 (https://www.txrjy.com/)
Powered by C114