本发明专利技术实施例公开了一种多核系统的在线补丁方法及系统,以降低在补丁操作过程中的内存占用率。其中,所述方法具体包括:主控核获取补丁操作命令及补丁文件;所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作;其中,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码。
【技术实现步骤摘要】
一种多核系统的在线补丁方法及系统
本专利技术涉及计算机
,特别是涉及一种多核系统的在线补丁方法及系统。
技术介绍
多核系统通常具有如图1所示的组成结构,其中,镜像0由主控核组成,核1、核1_1’、核1_2’组成镜像1,核2、核2_1’、核2_2’组成镜像2,核n、核n_1’、核n_2’组成镜像n。在对该多核系统进行在线补丁时,通常由主控核与外部CPU进行通信,以获取补丁文件以及补丁命令交互。当对镜像0打补丁时,由于镜像0只有主控核一个核存在,操作核即为主控核,打补丁的核也为主控核。以片外主控CPU对镜像1进行补丁激活操作为例,假设此时核1为镜像1的补丁操作核,核1_1’、核1_2’为从核,片外主控CPU与主控核之间可以进行命令交互,主控核与镜像1中核1可以进行命令交互,补丁操作核核1与镜像内各个从核之间可以进行命令交互。以激活补丁为例,片外主控CPU发送激活补丁命令给主控核,主控核将激活补丁命令转发给核1,由核1根据预置的补丁代码对核1_1’及核1_2’进行相应的补丁操作。激活补丁操作成功后,核1发送应答给主控核,主控核将该应答发送给片外主控CPU,激活补丁操作完成。现有技术中,对于多核系统内的多个镜像,均需要包含完整的补丁代码,从而将导致整个系统具有很高的内存占用率。
技术实现思路
本专利技术实施例中提供了一种多核系统的在线补丁方法及系统,以降低在补丁操作过程中的内存占用率。为了解决上述技术问题,本专利技术实施例公开了如下技术方案:第一方面,提供一种多核系统的在线补丁方法,包括:主控核获取补丁操作命令及补丁文件;所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作;其中,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码。结合上述第一方面,在第一种可能的实现方式中,所述方法还包括:根据所述从核中待打补丁的函数所处的内存区域,配置位于所述内存区域的补丁区,所述补丁区用于加载所述补丁文件。结合上述一方面,在第二种可能的实现方式中,所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,包括:所述主控核在预置时间内检测所述从核发送至所述主控核的心跳信息,将未能在所述预置时间内发送心跳信息的从核确定为故障从核;所述主控核根据所述补丁操作代码,向其他从核镜像中的各个非故障从核发送所述补丁文件以及所述补丁操作命令。结合上述一方面,和第二种可能的实现方式,在第三种可能的实现方式中,所述主控核根据所述补丁操作代码,向其他从核镜像中的各个非故障从核发送所述补丁文件以及所述补丁操作命令,包括:所述主控核将预置的补丁同步掩码表中所述故障从核对应的补丁同步掩码位进行删除,所述补丁同步掩码表包含分别与所述各个从核对应的补丁同步掩码位;所述主控核根据所述补丁操作代码,向剩余的所述补丁同步掩码位对应的从核发送所述补丁文件以及所述补丁操作命令。结合上述一方面,和第一、二及三种可能的实现方式,在第四种可能的实现方式中,所述补丁操作代码包括:补丁加载代码、补丁激活代码、补丁去激活代码、补丁运行代码以及补丁删除代码。第二方面,提供一种实现在线补丁的多核系统,包括:主控核和多个从核,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码;所述主控核用于获取补丁操作命令及补丁文件;根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作。结合上述第二方面,在第一种可能的实现方式中,所述从核中配置有补丁区,所述补丁区位于所述从核中待打打补丁的函数所处的内存区域,用于加载所述补丁文件。结合上述第二方面,在第二种可能的实现方式中,所述主控核具体用于:在预置时间内检测所述从核发送至所述主控核的心跳信息,将未能在所述预置时间内发送心跳信息的从核确定为故障从核;根据所述补丁操作代码,向其他从核镜像中的各个非故障从核发送所述补丁文件以及所述补丁操作命令。结合上述第二方面,和第二种可能的实现方式,在第三种可能的实现方式中,所述主控核具体用于:将预置的补丁同步掩码表中所述故障从核对应的补丁同步掩码位进行删除,所述补丁同步掩码表包含分别与所述各个从核对应的补丁同步掩码位;根据所述补丁操作代码,向剩余的所述补丁同步掩码位对应的从核发送所述补丁文件以及所述补丁操作命令。结合上述第二方面,和第一、二及三种可能的实现方式,在第四种可能的实现方式中,所述补丁操作代码包括:补丁加载代码、补丁激活代码、补丁去激活代码、补丁运行代码以及补丁删除代码。本专利技术实施例中,通过将主控核所在的镜像链接补丁操作代码,实现将补丁操作代码存储在主控核中;通过各个操作核所在的从核镜像链接补丁同步代码,使得从核镜像中的各个操作核仅存储补丁同步代码。通过主控核控制从核镜像中的各个操作核的补丁操作,由于不需在从核镜像中配置执行补丁操作的操作核,使得在从核镜像中的各个操作核中不需要存储补丁操作代码,从而,能够大大降低补丁操作过程中补丁操作代码的内存占用率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中主控核控制从核进行补丁操作的架构示意图;图2为本专利技术提供的一个多核系统的在线补丁方法实施例的流程图;图3为本专利技术提供的在线补丁激活的基本原理示意图;图4为本专利技术实施例中相应的补丁操作架构示意图;图5为本专利技术实施例提供的补丁区配置示意图;图6为本专利技术实施例中补丁文件的生成过程示意图;图7为本专利技术提供的心跳检测的示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例中技术方案作进一步详细的说明。首先,介绍本专利技术提供的一种多核系统的在线补丁方法。参见图2,为本专利技术提供的一个多核系统的在线补丁方法实施例的流程,其中,多核系统中的主控核所在镜像链接补丁操作代码和补丁同步代码,各个操作核所在从核镜像链接补丁同步代码。该流程具体可以包括:步骤201、主控核获取补丁操作命令及补丁文件。该步骤中,主控核与外部CPU进行通信,获取补丁操作命令及补丁文件。本专利技术实施例实现的是一种在线补丁方法,在线补丁激活的基本原理是:假设将要修改的函数为OldFunc1及OldFunc2,相应地,补丁文件中的NewFunc1为OldFunc1的补丁函数,NewFunc2为OldFunc2的补丁函数,将要修改的函数OldFunc1及OldFunc2的入口处的指令替换为跳转指令,之后,当原有的程序再次调用OldFunc1及OldFunc2时,将直接跳转到NewFunc1即NewFunc2处进行执行,如图3所示。由于此处的跳转指令没有修改程序调用地址寄存器,所以当NewFunc1、NewFunc2执行完以本文档来自技高网...
【技术保护点】
一种多核系统的在线补丁方法,其特征在于,包括:主控核获取补丁操作命令及补丁文件;所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作;其中,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码。
【技术特征摘要】
1.一种多核系统的在线补丁方法,其特征在于,包括:主控核获取补丁操作命令及补丁文件;所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作,所述补丁操作代码用于指示所述各个从核执行待打补丁程序中的补丁操作,所述补丁操作包括:补丁加载、补丁激活、补丁去激活、补丁运行以及补丁删除;其中,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码。2.根据权利要求1所述的方法,其特征在于,还包括:根据所述从核中待打补丁的函数所处的内存区域,配置位于所述内存区域的补丁区,所述补丁区用于加载所述补丁文件。3.根据权利要求1所述的方法,其特征在于,所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,包括:所述主控核在预置时间内检测所述从核发送至所述主控核的心跳信息,将未能在所述预置时间内发送心跳信息的从核确定为故障从核;所述主控核根据所述补丁操作代码,向其他从核镜像中的各个非故障从核发送所述补丁文件以及所述补丁操作命令。4.根据权利要求3所述的方法,其特征在于,所述主控核根据所述补丁操作代码,向其他从核镜像中的各个非故障从核发送所述补丁文件以及所述补丁操作命令,包括:所述主控核将预置的补丁同步掩码表中所述故障从核对应的补丁同步掩码位进行删除,所述补丁同步掩码表包含分别与所述各个从核对应的补丁同步掩码位;所述主控核根据所述补丁操作代码,向剩余的所述补丁同步掩码位对应的从核发送所述补丁文件以及所述补丁操作命令。5.根据权利要求1-4中任一项所述的方法,其特征...
【专利技术属性】
技术研发人员:王金堂,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。