CN104636161B - 一种多核***的在线补丁方法及*** - Google Patents
一种多核***的在线补丁方法及*** Download PDFInfo
- Publication number
- CN104636161B CN104636161B CN201310573782.3A CN201310573782A CN104636161B CN 104636161 B CN104636161 B CN 104636161B CN 201310573782 A CN201310573782 A CN 201310573782A CN 104636161 B CN104636161 B CN 104636161B
- Authority
- CN
- China
- Prior art keywords
- patch
- core
- code
- master control
- mirror image
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种多核***的在线补丁方法及***,以降低在补丁操作过程中的内存占用率。其中,所述方法具体包括:主控核获取补丁操作命令及补丁文件;所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作;其中,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种多核***的在线补丁方法及***。
背景技术
多核***通常具有如图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执行完以后,直接返回到调用OldFunc1、OldFunc2处继续执行。
当主控核获取补丁文件之后,可以根据具体的补丁操作命令,控制需要进行在线补丁的从核镜像中的各个操作核执行补丁操作。
步骤202、所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作。
该步骤中,通过将主控核所在的镜像链接补丁操作代码,实现将补丁操作代码存储在主控核中,通过主控核控制从核镜像中的各个从核的补丁操作;通过各个从核所在的从核镜像链接补丁同步代码,使得从核镜像中的各个从核仅存储补丁同步代码。所述补丁操作代码用于指示从核执行待打补丁程序中的补丁操作,相应的补丁操作可以包括:补丁加载、补丁激活、补丁去激活、补丁运行以及补丁删除等。所述补丁同步代码用于各个从核镜像中的从核执行补丁同步操作。
本发明实施例中相应的补丁操作架构如图4所示,由主控核直接控制从核镜像1-3中的各个从核的补丁操作,由主控核向各个从核发送补丁文件以及补丁操作命令,由各个从核根据所在从核镜像链接的补丁同步代码,执行相应的补丁同步操作。当从核上完成补丁操作之后,主控核向外部CPU发送补丁操作完成的应答消息。
具体地,可以通过编译宏预先配置的方法,实现主控核所在镜像链接补丁操作代码和补丁同步代码。
由于各个从核所在的从核镜像链接补丁同步代码,当各个从核接收到主控核发送的补丁文件以及补丁操作命令之后,各个从核即可根据补丁同步代码执行相应的补丁同步操作。
本发明实施例中,通过将主控核所在的镜像链接补丁操作代码,实现将补丁操作代码存储在主控核中;通过各个从核所在的从核镜像链接补丁同步代码,使得从核镜像中的各个从核仅存储补丁同步代码。通过主控核控制从核镜像中的各个从核的补丁操作,由于不需在从核镜像中配置执行补丁操作的从核,使得在从核镜像中的各个从核中不需要存储补丁操作代码,从而,能够大大降低补丁操作过程中补丁操作代码的内存占用率。
为了便于对本发明技术方案的理解,下面通过具体实施方式,对本发明技术方案进行详细说明。
通常,进行补丁操作的核(包括:主控核以及从核镜像中的各个从核)需要首先读取补丁文件到内存,然后加载补丁文件到内存中的补丁区,从而,在补丁区进行补丁激活及运行。
现有技术中,仅设置唯一的补丁区,并且,将该唯一的补丁区设置在共享内存区。该种情形下,当需要打补丁的函数处于片内内存L1或L2区,而访问该共享内存区内补丁文件的时延即为访问片外内存的时延。由于访问片外内存会导致较大的时延,将会带来较大的性能下降。
为了避免这一缺陷,本发明实施例中,根据待打补丁的函数所处的内存区域,配置对应位于所述内存区域的补丁区。该实现方式下,针对待打补丁的函数所处的不同内存区域,可以分别配置一一对应的补丁区,或者,根据实际应用场景,为其中的部分内存区域,配置对应的补丁区。如图5所示。对于镜像1、镜像2及镜像3,待打补丁的函数分别处于片内内存L1区、L2区、L3区及DDR SDRAM(Double Data Rate Synchronous Dynamic RandomAccess Memory,双倍速率同步动态随机存储器,简称“DDR”),在镜像1中,可以分别在该四个片内内存区中设置补丁区,四个补丁区分别为:设置于L1区的补丁区1-1′、设置于L2区的补丁区1-2′、设置于L3区的补丁区1-3′及设置于DDR区的补丁区1-4′;对于镜像2,可以仅设置位于DDR区的补丁区2-1′;对应镜像3,可以设置位于L1区的补丁区3-1′及位于DDR区的补丁区3-2′。通过设置各个补丁区,实现补丁文件在这些补丁区中的加载。具体地,补丁区设置在哪个或哪些个内存区域中,可以根据实际应用场景进行设置,本发明对此并无特殊限制。
本发明实施例中,在待打补丁的函数所处的一个或多个内存区域中设置补丁区,以实现补丁文件的加载,由于补丁区与待打补丁的函数设置于同一内存区域,可以减少访问补丁区内补丁文件的时延,提高***性能。
具体地,设置补丁文件制作所需的配置文件,该文件中详细说明了设置补丁区的数目,以及每个补丁区所处的内存区域。
如图6所示,为本发明实施例中补丁文件的生成过程,在线补丁文件通常使用补丁制作工具进行制作。具体地,编译补丁源代码,形成补丁程序的目标文件;将待打补丁的程序的符号文件及配置文件和补丁程序的目标文件一同导入补丁制作工具,即可生成出在线补丁文件。
需要说明的是,通常,主控核根据需要打补丁的函数从补丁文件里获取补丁函数信息,包括待打补丁函数的地址、补丁函数在补丁区的地址等。然后,主控核申请一段共享内存,用来传递主控核与各个从核之间的信息。现有技术中,主控核根据初始化阶段设置的同步掩码表,给对应的从核发起同步消息,并进入同步等待状态。所述同步掩码表中记载了所有需要进行补丁同步的从核信息。相关从核接收到同步消息之后,进入同步状态。若在限定的时间内,主控核检测到所有从核未全部进入同步状态,则同步失败;否则,将执行共享内存指令的替换,并通知从核进行对应函数指令与数据的无效。可见,现有实现方式中,主控核需要在初始化阶段设置同步掩码表,并按照该同步掩码表进行相应从核的补丁操作,然而,当有从核在接收主控核发送的补丁操作命令之前,已经发生故障,例如:该从核本身硬件坏死,但对于主控核来说,由于同步掩码表中仍存在该故障从核的信息,则主控核仍会向该故障从核发送补丁操作命令,而故障从核由于故障无法完成补丁操作,而导致补丁操作超时,最终补丁操作失败。
为了避免这一缺陷,本发明实施例中,设置心跳检测机制,配置其他从核镜像中的各个从核在预置时间间隔向主控核发送心跳信息,以表示自身硬件运行状况良好。当从核发生故障后,则无法向主控核发送心跳信息。因此,主控核可以根据是否收到从核的心跳信息来判断该从核是否发生故障,即:主控核在预置时间内检测从核发送至所述主控核的心跳信息,将未能在所述预置时间内发送心跳信息的从核确定为故障从核,从而,主控核根据预置的补丁操作代码,向其他从核镜像中的各个非故障从核发送补丁文件以及补丁操作命令。
具体地,主控核可以为每个从核镜像中的各个从核分别预置补丁同步掩码位,各个同步掩码位的集合形成同步掩码表。当有从核发生故障时,主控核将该从核对应的补丁同步掩码位删除,如图7所示,为该心跳检测的示意图。从而,当主控核发起补丁操作时,根据心跳信息确定各个从核的状态,当有从核发生故障时,则更新对应该从核的补丁同步掩码位,进而,主控核根据更新后的补丁同步掩码位,向对应从核发起补丁操作。
由于主控核可以根据从核的心跳信息确定各个从核的状态,从而避免向故障从核发起补丁操作,避免因同步失败而导致的资源浪费。
与本发明提供的多核***的在线补丁方法实施例相对应,本发明还提供了一种实现在线补丁的多核***。
该实现在线补丁的多核***中,具体可以包括:主控核和多个从核,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码;所述主控核用于获取补丁操作命令及补丁文件;根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作。
上述***中,主控核与外部CPU进行通信,获取补丁操作命令及补丁文件。当主控核获取补丁文件之后,可以根据具体的补丁操作命令,控制需要进行在线补丁的从核镜像中的各个操作核执行补丁操作。具体地,通过将主控核所在的镜像链接补丁操作代码,实现将补丁操作代码存储在主控核中,通过主控核控制从核镜像中的各个从核的补丁操作;通过各个从核所在的从核镜像链接补丁同步代码,使得从核镜像中的各个从核仅存储补丁同步代码。所述补丁操作代码用于指示从核执行待打补丁程序中的补丁操作,相应的补丁操作可以包括:补丁加载、补丁激活、补丁去激活、补丁运行以及补丁删除等。所述补丁同步代码用于各个从核镜像中的从核执行补丁同步操作。
具体地,可以通过编译宏预先配置的方法,实现主控核所在镜像链接补丁操作代码和补丁同步代码。
由于各个从核所在的从核镜像链接补丁同步代码,当各个从核接收到主控核发送的补丁文件以及补丁操作命令之后,各个从核即可根据补丁同步代码执行相应的补丁同步操作。
本发明***实施例中,通过将主控核所在的镜像链接补丁操作代码,实现将补丁操作代码存储在主控核中;通过各个从核所在的从核镜像链接补丁同步代码,使得从核镜像中的各个从核仅存储补丁同步代码。通过主控核控制从核镜像中的各个从核的补丁操作,由于不需在从核镜像中配置执行补丁操作的从核,使得在从核镜像中的各个从核中不需要存储补丁操作代码,从而,能够大大降低补丁操作过程中补丁操作代码的内存占用率。
该***实施例中,根据待打补丁的函数所处的内存区域,配置对应位于所述内存区域的补丁区。该实现方式下,针对待打补丁的函数所处的不同内存区域,可以分别配置一一对应的补丁区,或者,根据实际应用场景,为其中的部分内存区域,配置对应的补丁区。具体地,补丁区设置在哪个或哪些个内存区域中,可以根据实际应用场景进行设置。
通过在待打补丁的函数所处的一个或多个内存区域中设置补丁区,以实现补丁文件的加载,由于补丁区与待打补丁的函数设置于同一内存区域,可以减少访问补丁区内补丁文件的时延,提高***性能。
本发明实施例中,设置心跳检测机制,配置其他从核镜像中的各个从核在预置时间间隔向主控核发送心跳信息,以表示自身硬件运行状况良好。当从核发生故障后,则无法向主控核发送心跳信息。因此,主控核可以根据是否收到从核的心跳信息来判断该从核是否发生故障,即:主控核在预置时间内检测从核发送至所述主控核的心跳信息,将未能在所述预置时间内发送心跳信息的从核确定为故障从核,从而,主控核根据预置的补丁操作代码,向其他从核镜像中的各个非故障从核发送补丁文件以及补丁操作命令。
具体地,主控核可以为每个从核镜像中的各个从核分别预置补丁同步掩码位,各个同步掩码位的集合形成同步掩码表。当有从核发生故障时,主控核将该从核对应的补丁同步掩码位删除,如图7所示,为该心跳检测的示意图。从而,当主控核发起补丁操作时,根据心跳信息确定各个从核的状态,当有从核发生故障时,则更新对应该从核的补丁同步掩码位,进而,主控核根据更新后的补丁同步掩码位,向对应从核发起补丁操作。
由于主控核可以根据从核的心跳信息确定各个从核的状态,从而避免向故障从核发起补丁操作,避免因同步失败而导致的资源浪费。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种多核***的在线补丁方法,其特征在于,包括:
主控核获取补丁操作命令及补丁文件;
所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作,所述补丁操作代码用于指示所述各个从核执行待打补丁程序中的补丁操作,所述补丁操作包括:补丁加载、补丁激活、补丁去激活、补丁运行以及补丁删除;
其中,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述从核中待打补丁的函数所处的内存区域,配置位于所述内存区域的补丁区,所述补丁区用于加载所述补丁文件。
3.根据权利要求1所述的方法,其特征在于,所述主控核根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,包括:
所述主控核在预置时间内检测所述从核发送至所述主控核的心跳信息,将未能在所述预置时间内发送心跳信息的从核确定为故障从核;
所述主控核根据所述补丁操作代码,向其他从核镜像中的各个非故障从核发送所述补丁文件以及所述补丁操作命令。
4.根据权利要求3所述的方法,其特征在于,所述主控核根据所述补丁操作代码,向其他从核镜像中的各个非故障从核发送所述补丁文件以及所述补丁操作命令,包括:
所述主控核将预置的补丁同步掩码表中所述故障从核对应的补丁同步掩码位进行删除,所述补丁同步掩码表包含分别与所述各个从核对应的补丁同步掩码位;
所述主控核根据所述补丁操作代码,向剩余的所述补丁同步掩码位对应的从核发送所述补丁文件以及所述补丁操作命令。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述其特征在于,所述补丁操作代码包括:补丁加载代码、补丁激活代码、补丁去激活代码、补丁运行代码以及补丁删除代码。
6.一种实现在线补丁的多核***,其特征在于,包括:主控核和多个从核,所述主控核所在镜像链接所述补丁操作代码和补丁同步代码,所述从核镜像链接所述补丁同步代码;所述主控核用于获取补丁操作命令及补丁文件;根据所在镜像链接的补丁操作代码,向其他从核镜像中的各个从核发送所述补丁文件以及所述补丁操作命令,由所述各个从核根据所在从核镜像链接的补丁同步代码,执行相应补丁同步操作,所述补丁操作代码用于指示所述各个从核执行待打补丁程序中的补丁操作,所述补丁操作包括:补丁加载、补丁激活、补丁去激活、补丁运行以及补丁删除。
7.根据权利要求6所述的***,其特征在于,所述从核中配置有补丁区,所述补丁区位于所述从核中待打打补丁的函数所处的内存区域,用于加载所述补丁文件。
8.根据权利要求6所述的***,其特征在于,所述主控核具体用于:在预置时间内检测所述从核发送至所述主控核的心跳信息,将未能在所述预置时间内发送心跳信息的从核确定为故障从核;根据所述补丁操作代码,向其他从核镜像中的各个非故障从核发送所述补丁文件以及所述补丁操作命令。
9.根据权利要求8所述的***,其特征在于,所述主控核具体用于:将预置的补丁同步掩码表中所述故障从核对应的补丁同步掩码位进行删除,所述补丁同步掩码表包含分别与所述各个从核对应的补丁同步掩码位;根据所述补丁操作代码,向剩余的所述补丁同步掩码位对应的从核发送所述补丁文件以及所述补丁操作命令。
10.根据权利要求6-9中任一项所述的***,其特征在于,所述补丁操作代码包括:补丁加载代码、补丁激活代码、补丁去激活代码、补丁运行代码以及补丁删除代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573782.3A CN104636161B (zh) | 2013-11-15 | 2013-11-15 | 一种多核***的在线补丁方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573782.3A CN104636161B (zh) | 2013-11-15 | 2013-11-15 | 一种多核***的在线补丁方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636161A CN104636161A (zh) | 2015-05-20 |
CN104636161B true CN104636161B (zh) | 2018-06-19 |
Family
ID=53214958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310573782.3A Active CN104636161B (zh) | 2013-11-15 | 2013-11-15 | 一种多核***的在线补丁方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636161B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019047142A1 (zh) * | 2017-09-08 | 2019-03-14 | 深圳市汇顶科技股份有限公司 | 程序打补丁的方法、装置、微控制单元和终端设备 |
CN111666096B (zh) * | 2020-07-02 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 目标应用的热更新方法和装置、存储介质和电子设备 |
CN115357515B (zh) * | 2022-10-19 | 2023-01-31 | 北京紫光芯能科技有限公司 | 一种多核***的调试方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178672A (zh) * | 2007-11-29 | 2008-05-14 | 上海华为技术有限公司 | 多核处理器共享代码段补丁方法及装置 |
CN101937340A (zh) * | 2009-06-29 | 2011-01-05 | 中兴通讯股份有限公司 | 使用补丁对软件进行动态升级与控制的方法和装置 |
EP2333666A1 (en) * | 2009-05-18 | 2011-06-15 | Huawei Technologies Co., Ltd. | Patching method and patching device under multi-core environment |
CN102135894A (zh) * | 2010-10-13 | 2011-07-27 | 华为技术有限公司 | 一种多核在线补丁方法和装置 |
-
2013
- 2013-11-15 CN CN201310573782.3A patent/CN104636161B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178672A (zh) * | 2007-11-29 | 2008-05-14 | 上海华为技术有限公司 | 多核处理器共享代码段补丁方法及装置 |
EP2333666A1 (en) * | 2009-05-18 | 2011-06-15 | Huawei Technologies Co., Ltd. | Patching method and patching device under multi-core environment |
CN101937340A (zh) * | 2009-06-29 | 2011-01-05 | 中兴通讯股份有限公司 | 使用补丁对软件进行动态升级与控制的方法和装置 |
CN102135894A (zh) * | 2010-10-13 | 2011-07-27 | 华为技术有限公司 | 一种多核在线补丁方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104636161A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10904339B2 (en) | Techniques for storing and distributing metadata among nodes in a storage cluster system | |
CN108234641B (zh) | 基于分布式一致性协议实现的数据读写方法及装置 | |
CN110535969B (zh) | 基于区块链网络的数据存储方法、装置、存储介质和设备 | |
CN103297456B (zh) | 一种分布式***下共享资源的访问方法及分布式*** | |
CN107111533A (zh) | 虚拟机集群备份 | |
CN110807064B (zh) | Rac分布式数据库集群***中的数据恢复装置 | |
CN109471770A (zh) | 一种***管理方法和装置 | |
CN111427827B (zh) | 一种cpu及多cpu***管理方法 | |
CN105740248B (zh) | 一种数据同步方法、装置及*** | |
US10162328B2 (en) | Controller and control system | |
CN106776998A (zh) | 一种数据库服务提供方法及服务器 | |
CN105052111A (zh) | 跨群集边界的服务迁移 | |
CN106537364A (zh) | 存储事务 | |
CN104636161B (zh) | 一种多核***的在线补丁方法及*** | |
CN105049530A (zh) | 多种分布式缓存***的自适配装置和方法 | |
CN105359122B (zh) | 多cpu***中的增强型数据传输 | |
CN103365741A (zh) | 用于虚拟机集群的快照和恢复的方法和设备 | |
CN102135894B (zh) | 一种多核在线补丁方法和装置 | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
CN105357042A (zh) | 一种高可用集群***及其主节点和从节点 | |
WO2014205845A1 (zh) | 一种numa***内存镜像配置方法、解除方法、***和主节点 | |
WO2023236397A1 (zh) | 密钥管理方法、密钥管理装置、密钥管理设备及存储介质 | |
CN110262893A (zh) | 配置镜像内存的方法、装置及计算机存储介质 | |
CN104808953B (zh) | 控制数据存储的方法、装置及移动终端 | |
CN103428288B (zh) | 基于分区状态表和协调节点的副本同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |