基于热补丁的系统更新方法及装置制造方法及图纸

技术编号:20621782 阅读:17 留言:0更新日期:2019-03-20 14:04
本申请公开了一种基于热补丁的系统更新方法及装置,方法包括:获取热补丁包,热补丁包中包括校验信息和补丁文件;根据校验信息,校验热补丁包的合法性;若热补丁包合法,则根据补丁文件,确定需要更新的系统进程;若系统进程为控制平面进程,则启动定时器,并在定时器达到第一预设时长时,更新控制平面进程;若系统进程为数据平面进程,则将数据平面进程设置为更新模式,更新数据平面进程。本申请中,通信设备通过热补丁包中的校验信息,校验热补丁包的合法性,保证热补丁包中文件和数据是安全的。对于控制平面进程,通过定时器确保进程的堆栈安全;对于数据平面进程,通过设置更新模式,确保数据的堆栈安全。因此能够在更新时提高系统的安全性。

System Updating Method and Device Based on Hot Patch

This application discloses a system update method and device based on hot patch, which includes: obtaining hot patch package, including verification information and patch files; verifying the validity of hot patch package according to verification information; determining the system process to be updated according to the patch file if the hot patch package is valid; and starting the decision if the system process is a control plane process. When the timer reaches the first preset time, the control plane process is updated; if the system process is a data plane process, the data plane process is set to update mode, and the data plane process is updated. In this application, the communication equipment verifies the validity of the hot patch package through the verification information in the hot patch package to ensure that the files and data in the hot patch package are safe. For the control plane process, the timer ensures the stack security of the process; for the data plane process, the update mode is set to ensure the stack security of the data. So it can improve the security of the system when updating.

【技术实现步骤摘要】
基于热补丁的系统更新方法及装置
本申请涉及计算机
,特别涉及一种基于热补丁的系统更新方法及装置。
技术介绍
随着通信技术的发展,嵌入式通信设备为人们提供了各种各样的特色业务,运营商、企业、学校等单位部署了大量的嵌入式通信设备,设备厂商维护压力较大,新增业务功能和设备软件故障修复都得重新发布版本,软件升级往往会中断嵌入式通信设备用户的业务,影响面广。在不影响业务正常运行的情况下,通常使用热补丁对设备软件系统进行更新,包括新增功能,功能更新,故障修复等。热补丁技术提供了一种在不中断系统运行的情况下,实现系统局部修改的方法。一方面,热补丁技术提供了一种及时修正运行中系统错误的方便手段;另一方面,通过热补丁技术添加系统功能,可以减少整个系统版本升级次数,以满足不中断业务便可进行无缝升级的需求。现有技术中,热补丁技术是将在更新系统的同时,以不中断系统的运行作为首要目标。由于在更新时需要兼顾系统运行,因此,导致更新时系统的安全性不高。
技术实现思路
本申请提供一种基于热补丁的系统更新方法及装置,可用于解决现有技术中,由于在更新时需要兼顾系统运行,导致的更新时系统的安全性不高的问题。第一方面,本申请提供一种基于热补丁的系统更新方法,所述方法包括:获取热补丁包,所述热补丁包中包括校验信息和用于系统更新的补丁文件;根据所述校验信息,校验所述热补丁包的合法性;若所述热补丁包合法,则根据所述补丁文件,确定需要更新的系统进程;若需要更新的系统进程为控制平面进程,则启动定时器,并在所述定时器达到第一预设时长时,根据所述补丁文件,更新所述控制平面进程;若需要更新的系统进程为数据平面进程,则将所述数据平面进程设置为更新模式,并根据所述补丁文件,更新所述数据平面进程;所述更新模式是指数据平面进程停止处理和转发数据的模式。可选地,所述校验信息包括魔术字、硬件信息和版本信息,所述硬件信息用于指示所述热补丁包适用的硬件架构,所述版本信息用于指示系统更新的版本;所述根据所述校验信息,校验所述热补丁包的合法性,包括:检测所述校验信息中的魔术字与存储的魔术字是否匹配、所述硬件信息所指示的硬件架构是否正确、以及所述版本信息所指示的版本是否正确;若所述校验信息中的魔术字与所述存储的魔术字匹配,所述硬件信息所指示的硬件架构正确,且所述版本信息所指示的版本正确,则确定所述热补丁包合法。可选地,所述补丁文件包括:目录文件和各个需要更新的系统进程对应的更新共享库;所述更新共享库中包括对应的系统进程更新所需的替换函数;所述目录文件包括需要更新的各个系统进程、各个更新共享库、和各个替换函数之间的对应关系,以及替换函数在更新共享库中的位置信息。可选地,更新所述控制平面进程,包括:根据所述目录文件,确定所述控制平面进程对应的更新共享库;将所述控制平面进程对应的更新共享库中的替换函数加载至内存;确定第一内存地址和第二内存地址,所述第一内存地址是指所述控制平面进程中需要更新的原函数在内存中的地址,所述第二内存地址是指所述控制平面进程对应的更新共享库中的替换函数在内存中的地址;根据所述第一内存地址和所述第二内存地址,生成第一替换指令,所述第一替换指令用于指示所述控制平面进程将调用原函数时的地址,由所述第一内存地址替换为所述第二内存地址;将所述控制平面进程对应的系统文件中的原函数替换为对应的更新共享库中的替换函数。可选地,更新所述数据平面进程,包括:根据所述目录文件,确定所述数据平面进程对应的更新共享库;将所述数据平面进程对应的更新共享库中的替换函数加载至内存;确定第三内存地址和第四内存地址,所述第三内存地址是指所述数据平面进程中需要更新的原函数在内存中的地址,所述第四内存地址是指所述数据平面进程对应的更新共享库中的替换函数在内存中的地址;根据所述第三内存地址和所述第四内存地址,生成第二替换指令,所述第二替换指令用于指示所述数据平面进程将调用原函数时的地址,由所述第三内存地址替换为所述第四内存地址;将所述数据平面进程对应的系统文件中的原函数替换为对应的更新共享库中的替换函数。可选地,所述方法还包括:生成回滚文件,所述回滚文件用于备份所述需要修改的系统进程对应的系统文件中的原函数。可选地,所述生成回滚文件之后,还包括:根据所述补丁文件,确定需要回滚的系统进程;若需要回滚的系统进程为控制平面进程,则启动所述定时器,并在所述定时器达到所述第一预设时长时,根据所述回滚文件,回滚所述控制平面进程;若需要回滚的系统进程为数据平面进程,则将所述数据平面进程设置为所述更新模式,并根据所述回滚文件,回滚所述数据平面进程。第二方面,本申请提供一种基于热补丁的系统更新装置,所述装置包括:获取模块,用于获取热补丁包,所述热补丁包中包括校验信息和用于系统更新的补丁文件;校验模块,用于根据所述校验信息,校验所述热补丁包的合法性;更新模块,用于当所述热补丁包合法时,根据所述补丁文件,确定需要更新的系统进程;所述更新模块,还用于:当需要更新的系统进程为控制平面进程时,启动定时器,并在所述定时器达到第一预设时长后,根据所述补丁文件,更新所述控制平面进程;当需要更新的系统进程为数据平面进程时,将所述数据平面进程设置为更新模式,并根据所述补丁文件,更新所述数据平面进程;所述更新模式是指数据平面进程停止处理和转发数据的模式。在本申请中,通信设备通过热补丁包中的校验信息,对热补丁包的合法性进行校验,保证更新使用的热补丁包中的文件和数据是合法安全的;而且,更新控制平面进程时,通信设备通过定时器确保进程的堆栈安全;更新数据平面进程时,通过将数据平面进程设置为更新模式,来确保数据的堆栈安全。因为保证了文件、数据和堆栈的安全,所以能够在更新时提高系统的安全性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据一示例性实施例示出的一种基于热补丁的系统更新方法的流程图;图2是根据一示例性实施例示出的热补丁包制作方法的流程图;图3是根据一示例性实施例示出的一种卸载补丁的方法的流程图;图4是根据一示例性实施例示出的一种基于热补丁的系统更新装置的框图。具体实施方式为使本申请的目的,技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。本申请实施例提供的方法,各步骤的执行主体可以是需要更新的通信设备,例如嵌入式通信设备,也可以是通信设备中的监控进程。该监控进程是指负责校验、存储、加载、卸载和删除热补丁等更新相关操作的进程。通过热补丁对上述通信设备的系统进行更新,通常需要对系统中各个系统进程的函数进行更新,即修改函数。其中,对系统进程的函数的修改,也包括了对函数相关的全局变量的修改。通信设备中的上述系统进程包括数据平面进程和控制平面进程。数据平面进程是指与数据平面相关的进程,用于处理和转发通信设备各种不同端口上的各种类型的数据,例如访问控制列表(AccessControlList,ACL)、组播、安全防护等各种具体数据的处理转发。控制平面进程是指与控制平面相关的进程,用于控制和管理所有网络协议的运行本文档来自技高网...

【技术保护点】
1.一种基于热补丁的系统更新方法,其特征在于,所述方法包括:获取热补丁包,所述热补丁包中包括校验信息和用于系统更新的补丁文件;根据所述校验信息,校验所述热补丁包的合法性;若所述热补丁包合法,则根据所述补丁文件,确定需要更新的系统进程;若需要更新的系统进程为控制平面进程,则启动定时器,并在所述定时器达到第一预设时长时,根据所述补丁文件,更新所述控制平面进程;若需要更新的系统进程为数据平面进程,则将所述数据平面进程设置为更新模式,并根据所述补丁文件,更新所述数据平面进程;所述更新模式是指数据平面进程停止处理和转发数据的模式。

【技术特征摘要】
1.一种基于热补丁的系统更新方法,其特征在于,所述方法包括:获取热补丁包,所述热补丁包中包括校验信息和用于系统更新的补丁文件;根据所述校验信息,校验所述热补丁包的合法性;若所述热补丁包合法,则根据所述补丁文件,确定需要更新的系统进程;若需要更新的系统进程为控制平面进程,则启动定时器,并在所述定时器达到第一预设时长时,根据所述补丁文件,更新所述控制平面进程;若需要更新的系统进程为数据平面进程,则将所述数据平面进程设置为更新模式,并根据所述补丁文件,更新所述数据平面进程;所述更新模式是指数据平面进程停止处理和转发数据的模式。2.根据权利要求1所述的方法,其特征在于,所述校验信息包括魔术字、硬件信息和版本信息,所述硬件信息用于指示所述热补丁包适用的硬件架构,所述版本信息用于指示系统更新的版本;所述根据所述校验信息,校验所述热补丁包的合法性,包括:检测所述校验信息中的魔术字与存储的魔术字是否匹配、所述硬件信息所指示的硬件架构是否正确、以及所述版本信息所指示的版本是否正确;若所述校验信息中的魔术字与所述存储的魔术字匹配,所述硬件信息所指示的硬件架构正确,且所述版本信息所指示的版本正确,则确定所述热补丁包合法。3.根据权利要求1所述的方法,其特征在于,所述补丁文件包括:目录文件和各个需要更新的系统进程对应的更新共享库;所述更新共享库中包括对应的系统进程更新所需的替换函数;所述目录文件包括需要更新的各个系统进程、各个更新共享库、和各个替换函数之间的对应关系,以及替换函数在更新共享库中的位置信息。4.根据权利要求3所述的方法,其特征在于,更新所述控制平面进程,包括:根据所述目录文件,确定所述控制平面进程对应的更新共享库;将所述控制平面进程对应的更新共享库中的替换函数加载至内存;确定第一内存地址和第二内存地址,所述第一内存地址是指所述控制平面进程中需要更新的原函数在内存中的地址,所述第二内存地址是指所述控制平面进程对应的更新共享库中的替换函数在内存中的地址;根据所述第一内存地址和所述第二内存地址,生成第一替换指令,所述第一替换指令用于指示所述控制平面进程将调用原函数时的地址,由所述第一内存地...

【专利技术属性】
技术研发人员:刘声明
申请(专利权)人:武汉思普崚技术有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1