用于升级系统的方法和装置制造方法及图纸

技术编号:14938924 阅读:94 留言:0更新日期:2017-04-01 00:57
一种用于升级系统的方法和装置,能够提高升级系统的效率。包括:加载目标组件,目标组件为系统中待升级的源组件对应的升级组件;向当前使用源组件的线程发送第一信号,第一信号用于指示挂起线程;在挂起线程之后,将源组件的数据同步至目标组件;在将源组件的数据同步至目标组件之后,使用目标组件替换源组件;在使用目标组件替换源组件之后,向线程发送第二信号,第二信号用于指示恢复线程。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及用于升级系统的方法和装置
技术介绍
信息技术(InformationTechnology,IT)存储设备通常被应用于金融,医疗,教育,媒资等行业,该行业的特点是,高负载,高吞吐量,高可靠性,高可服务性。其中,对于可服务性的要求,不仅体现在界面友好性,用户体验感,对于支撑在线快速升级,升级成功后的业务快速恢复,升级失败后的快速回溯的要求都是不可或缺。当前IT系统升级的方案有很多种。例如,有双控倒换升级法、双控停机升级法。其中,双控倒换升级是目前IT系统常用的升级方法,即将系统分为A控和B控两部分,当升级系统时,先升级A控,业务迁移到B控,等A控升级成功后,重启恢复,业务再次迁回A控,开始升级B控,B控升级成功,业务恢复在双控间下发。该升级方法中,业务不中断,但是升级过程中业务的处理能力减半。而双控停机升级方法通常应用于双控倒换升级失败或者无法实现双控倒换升级功能的情况。在双控停机升级时,首先要中断业务,等双控都升级完成后,再恢复业务,该升级方法需要完全中断业务。由此可见,当前IT系统升级面临以下问题:升级时间长、升级导致业务中断或者降低业务处理能力。
技术实现思路
本专利技术实施例提供了一种用于升级系统的方法和装置,能够提高升级系统的效率。第一方面,提供了一种用于升级系统的方法,包括:加载目标组件,所述目标组件为所述系统中待升级的源组件对应的升级组件;向当前使用所述源组件的线程发送第一信号,所述第一信号用于指示挂起所述线程;在挂起所述线程之后,将所述源组件的数据同步至所述目标组件;在将所述源组件的数据同步至所述目标组件之后,使用所述目标组件替换所述源组件;在使用所述目标组件替换所述源组件之后,向所述线程发送第二信号,所述第二信号用于指示恢复所述线程。在本专利技术实施例中,以组件为单位进行系统的升级,减少了系统升级的粒度,进而减少升级时业务中断的时间和升级业务的时间。并且升级过程中无需减少系统的业务能力,提高了升级系统的效率。在一种可能的实现方式中,所述使用所述目标组件替换所述源组件,包括:通过跳转指令,用所述目标组件的内存地址替换所述源组件在所述线程中的内存地址。在一种可能的实现方式中,所述目标组件包括调用接口,所述调用接口用于将所述目标组件中的函数接口转换为进程间通信使用的语言。在本专利技术实施例中,通过在组件中使用调用接口将组件中的函数接口转换为进程间通信使用的语言,可以使组件内部不感知同进程部署和分进程部署的区别,并减少了进程间通信的开销。在一种可能的实现方式中,所述进程间通信使用的语言为远程过程调用RPC接口语言。在一种可能的实现方式中,所述目标组件的源文件包括以下函数中的至少一种函数:组件初始化函数、组件启动函数、组件停止函数以及组件清除函数。在一种可能的实现方式中,在所述加载所述目标组件之前,所述方法还包括:升级所述目标组件依赖的组件。在一种可能的实现方式中,所述目标组件为可重定位的文件。第二方面,提供了一种装置,所述装置包括用于执行第一方面的方法的模块。基于同一专利技术构思,由于该装置解决问题的原理与第一方面的方法设计中的方案对应,因此该装置的实施可以参见方法的实施,重复之处不再赘述。第三方面,提供了一种装置,包括存储器,用于存储程序;收发器,用于和其他设备进行通信;处理器,用于执行存储器中的程序,当所述程序被执行时,当所述程序被执行时,所述处理器用于执行第一方面的方法。第四方面,提供了一种计算机存储介质,用于储存计算机程序,该计算机程序包括用于执行第一方面或第一方面的任一可能的实现方式中的方法的指令。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例的系统的结构示意图。图2是本专利技术实施例的通信方式的示意图。图3是本专利技术实施例的用于升级系统的方法的示意性流程图。图4是本专利技术实施例的升级系统的交互示意图。图5是本专利技术实施例的升级系统过程中启动目标组件的流程示意图。图6是本专利技术实施例的升级系统过程中停止源组件的示意图。图7是本专利技术实施例的装置的示意图。图8是本专利技术又一实施例的装置的示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了便于理解本专利技术实施例,首先介绍本专利技术实施例中的几个要素。进程:一个进程可以表示一个正在运行的应用程序,或者说,可以代表一个应用程序的实例。进程本身不执行代码。线程:一个线程可以表示进程中的代码的一条执行线路。每个进程至少包括一个主线程。由主线程在进程的环境里执行代码。组件:一个组件可以代表一个运行中的可执行文件。组件可以理解为是磁盘中的可执行文件加载入内存后运行时的文件。每个组件加载入内存之后将分配对应的内存地址。一个进程可以包括至少一个组件。一个进程中的线程可以调用进程中的组件执行业务。组件还包括调用接口,组件之间可以通过调用接口进行进程间的组件通信。图1是本专利技术实施例的系统的结构示意图。如图1所示,在系统中,一个进程中可以包括多个组件,也可以包括一个组件。组件是可以单独在线升级的业务模块。组件可以与其他组件部署到相同的进程中,也可以部署到不同的进程中。组件是一个独立的功能模块,并且对组件采用不同的部署方式时,不需要重新编译组件。内存是用于存储公共状态信息的共享内存区域。组件框架模块可以用于管理组件,例如,组件框架模块可以用于处理代码装入、符号重定位、符号管理、线程停机等动能。系统控制模块可以用于控制升级流程、管理组件版本、管理组件之间的依赖关系等。组件在运行时可以实现硬件与操作系统之间的隔离。图2示出了组件中同进程部署和分进程部署两种情况下的通信方式。由图2可知,组件对外可以只提供函数接口,不提供全局变量接口。组件框架模块可以对组件进行同进程部署或分进程部署,组件内部并不感知同进程部署和分进程部署之间的差异。同进程部署的情况下,组件之间的接口采用直接的函数调用。分进程部署的情况下,组件框架模块可以将组件间的函数调用转换成消息进行传递。例如,不同进程之间的组件可以通过远程过程调用(RemoteProcedureCall,RPC)语言进行通信。本专利技术实施例提供了一种用于系统升级的方法,在该方法中,系统可以以组件为单位进行升级。该升级的方法的优点是减小了升级系统的粒度,进而解决了系统升级时业务能力减小和升级时间久的问题,提高了升级系统的效率。图3是本专利技术实施例的用于升级系统的方法的示意性流程图。图3的方法可以由用于升级系统的装置执行,该装置可以是包括图1中的组件框架模块功能的装置,该装置可以是独立的硬件装置,也可以是按功能划分的逻辑实体。图3的方法包括:S301,加载目标组件,所述目标组件为所述系统中待升级的源组件对应的升级组件。可选地,所述目标组件可以是能本文档来自技高网...
用于升级系统的方法和装置

【技术保护点】
一种用于升级系统的方法,其特征在于,包括:加载目标组件,所述目标组件为所述系统中待升级的源组件对应的升级组件;向当前使用所述源组件的线程发送第一信号,所述第一信号用于指示挂起所述线程;在挂起所述线程之后,将所述源组件的数据同步至所述目标组件;在将所述源组件的数据同步至所述目标组件之后,使用所述目标组件替换所述源组件;在使用所述目标组件替换所述源组件之后,向所述线程发送第二信号,所述第二信号用于指示恢复所述线程。

【技术特征摘要】
1.一种用于升级系统的方法,其特征在于,包括:加载目标组件,所述目标组件为所述系统中待升级的源组件对应的升级组件;向当前使用所述源组件的线程发送第一信号,所述第一信号用于指示挂起所述线程;在挂起所述线程之后,将所述源组件的数据同步至所述目标组件;在将所述源组件的数据同步至所述目标组件之后,使用所述目标组件替换所述源组件;在使用所述目标组件替换所述源组件之后,向所述线程发送第二信号,所述第二信号用于指示恢复所述线程。2.如权利要求1所述的方法,其特征在于,所述使用所述目标组件替换所述源组件,包括:通过跳转指令,用所述目标组件的内存地址替换所述源组件在所述线程中的内存地址。3.如权利要求1或2所述的方法,其特征在于,所述目标组件包括调用接口,所述调用接口用于将所述目标组件中的函数接口转换为进程间通信使用的语言。4.如权利要求3所述的方法,其特征在于,所述进程间通信使用的语言为远程过程调用RPC接口语言。5.如权利要求1至4中任一项所述的方法,其特征在于,所述目标组件的源文件包括以下函数中的至少一种函数:组件初始化函数、组件启动函数、组件停止函数以及组件清除函数。6.如权利要求1至5中任一项所述的方法,其特征在于,所述目标组件为可重定位的文件。7.一种用于升级系统的装置,其特征在于,...

【专利技术属性】
技术研发人员:黄岩郑德生蔡波窦斌
申请(专利权)人:杭州华为数字技术有限公司
类型:发明
国别省市:浙江;33

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

1