应用于分布式系统中的升级方法及版本管理客户端技术方案

技术编号:3853585 阅读:240 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种应用于分布式系统中的升级方法及版本管理客户端,属于分布式系统技术领域,该方法包括:版本管理客户端下载的新内核,并将新内核映像加载到动态内存中;版本管理客户端将DSFRM的汇编存根代码拷贝到动态内存中,DSFRM的汇编存根代码用于将动态内存中指定的内容从原位置搬移到指定位置;在拷贝完成后跳转到DSFRM的汇编存根代码的执行入口,并通过执行DSFRM的汇编存根代码将新内核映像拷贝到动态内存中的目标位置,并在拷贝完成后跳转到新内核的执行入口,启动所述新内核,从而可有效提高在升级过程中分布式系统的重启速度,改善用户体验,进而提高分布式系统的工作效率。

【技术实现步骤摘要】

本专利技术属于分布式系统
,尤其涉及一种应用于分布式系统中的升 级方法及版本管理客户端。
技术介绍
在分布式系统环境中,通常需要对不同类型、不同功能的多个处理机节点 进行快速、批量部署不同的版本。由于通信领域的产品比较复杂,网元、物理 单板种类繁多,而且同一物理单板在不同网络环境下可以完成不同的逻辑功能处理,例如开局时需要大规模的版本批量部署;版本更新时需要大量的单板 版本升级。在这种情况下,就特别需要提供一种通用、灵活、高效的方式来支 持分布式环境中众多不同类型的处理机版本的下载、启动和更新。由于存在上 述需求,版本管理应运而生。版本管理是分布式系统的一个重要功能组件,主要完成分布式环境下各个 处理机版本的配置、查询、下载和启动(包括启动参数的传递)。版本管理通 常采用服务器一客户端模型,由统一的版本服务器对不同的处理机节点的版本 进行集中管理,每个处理机上运行版本管理客户端。版本管理客户端负责本地 物理配置信息的上传,从版本服务器查询和获取处理机功能版本信息,并下载 和启动相应版本。分布式系统中通常将版本管理集成到本地存储的启动加载程序(以下简称 为boot)里,主要提供版本管理客户端运行的基本环境,比如配置单板IP地 址和运行FTP客户端等基本网络功能。在boot启动之后,版本管理客户端可 以进行版本信息的配置、查询,并从版本服务器下载和加载版本、获取启动参 数等。参见图1和图2,介绍了 VxWork系统中现有的三阶段上电启动过程,该 三阶段包括固件上电自检阶段、boot版本管理阶段和内核启动阶段,其中41) 固件上电自4企阶段,固件也可称为"BIOS"。系统引导过程从硬件加 电启动开始, 一些初始化工作完成后,控制转到固件。固件;险测并配置平台芯 片組、存储器控制器、总线桥、中断控制器和其他的低级硬件。在本阶段中,系统花费了大量的时间。固件基于设置将控制移交给一个引 导装载程序,在普通PC上是主引导记录MBR ( Master Boot Record,主引导 记录),在嵌入式领域通常是烧制在Flash上的boot;2) boot版本管理阶段,在boot里面集成了版本管理功能。通常boot是一个 相对比较完善的小内核,具有基本的IP、 MAC ( Media Access Control,介质访 问控制)配置功能和TFTP/FTP (简单文件传输协议/文件传输协议)下载功能。 固件阶4殳BIOS4巴Flash上的boot加载到内存某位置处,并跳转到boot入口 #1行。 boot执行Vxworks的一些公共代码和硬件初始化工作;然后激活VxWorks内核, 执行VxWorks内核指定的根任务;开始阅读和执行用户输入命令。根据用户是 否有输入决定是否进入版本管理界面。如果用户有输入,则进入版本管理,用 户可以对版本进行配置。配置完成后开始内核的下载和加载,并跳转到内核的 起始位置执行。3 ) VxWorks内核启动阶段,VxWorks内核启动过程首先是syslnit禁止中断, 清除cache(緩存),初始化CPU基本寄存器;然后usrlnit设置cache的工作模式, 板级硬件初始化,初始化Wind内核,启动usrRoot根任务;进行内存初始化, 添加用户应用程序,至此VxWorks内核启动完成。这种启动方式的最大缺点是 每次系统重启都需要进行硬件上电、自检及booH、内核的引导启动过程。目前,随着计算机技术的发展,系统的处理速度更快、存储容量更大、性 能结构更加先进和复杂,系统重新启动的时间不仅没有降低反而有增长的趋 势。延长重新启动的时间意味着延长版本升级过程和开发调试过程,导致既浪 费时间,也严重地影响了系统的工作效率。
技术实现思路
为了解决上述问题,本专利技术的目的是提供一种应用于分布式系统中的升级 方法及版本管理客户端,可有效提高在升级过程中分布式系统的重启速度,改 善用户体验,进而提高分布式系统的工作效率。为了达到上述目的,本专利技术提供一种应用于分布式系统中的升级方法,所述方法包括版本管理客户端下载新内核,并将新内核映像加载到动态内存中;所述版本管理客户端将分布式系统的快速重启模块DSFRM的汇编存根 代码拷贝到所述动态内存中,所述DSFRM的汇编存根代码用于将所述动态内 存中指定的内容从原位置搬移到指定位置;在拷贝完成后跳转到所述DSFRM的汇编存根代码的执行入口 ,并通过执 行所述DSFRM的汇编存根代码将所述新内核映像拷贝到所述动态内存中的 目标位置,并在拷贝完成后跳转到新内核的执行入口 ,启动所述新内核。优选的,所述版本管理客户端将分布式系统的快速重启模块DSFRM的汇 编存根代码拷贝到所述动态内存中的步骤具体为在所述动态内存中分配至少 一代码页;将所述DSFRM的汇编存根代码拷贝到所述代码页中。优选的,所述新内核是所述版本管理客户端从本地Flash下载、从PC机 下载、或通过FTP从网络位置下载得到。优选的,在将所述DSFRM的汇编存根代码拷贝到所述动态内存中之前, 所述方法还包括优选的,在跳转到所述DSFRM的汇编存根代码的执行入口之前,所述方 法还包括所述版本管理客户端装载内核数据段值到段寄存器,并将全局描述符表 GDT和中断描述符表IDT设置为无效。优选的,在跳转到所述DSFRM的汇编存根代码的执行入口之后,所述方 法还包括所述版本管理客户端将所述新内核映像的起始地址和/或存储有DSFRM 的汇编存根代码的代码页的地址以参数的形式发送给所述新内核。 优选的,所述方法还包括从所述动态内存的栈中读取所述代码页的地址,并将所述代码页的地址存 储到寄存器中;通过所述代码页的地址,在所述代码页的顶端设置当前函数^执行堆栈,将 所述新内核的起始地址存储到栈中。优选的,在所述版本管理客户端下载新内核之后,所述方法还包括 所述版本管理客户端初始化分布式系统的快速重启模块DSFRM的管理 数据结构T一VerFRMCtrlInfo,所述管理数据结构T—VerFRMCtrllnfo用于指定 新内核在内存中的位置、新内核启动位置和DSFRM的汇编存根代码页的位 置。本专利技术还提供一种版本管理客户端,包括 加载模块,用于将新内核映像加载到动态内存中;拷贝模块,用于将分布式系统的快速重启模块DSFRM的汇编存根代码拷定的内容从原位置搬移到指定位置;引导模块,用于在拷贝完成后跳转到所述DSFRM的汇编存根代码的执行态内存中的目标位置,并在拷贝完成后跳转到新内核的执行入口,启动所述新 内核。优选的,所述版本管理客户端还包括初始化模块,用于初始化分布式系统的快速重启模块DSFRM的管理数据 结构T—VerFRMCtrllnfo,所述管理数据结构T一VerFRMCtrlInfo用于指定新内 核在内存中的位置、新内核启动位置和DSFRM的汇编存根代码页的位置。优选的,所述版本管理客户端还包括下载模块,用于从本地Flash下载、从PC机下载、或通过FTP从网络位 置下载所述新内核。上述技术方案中的至少一个技术方案具有如下有益效果首先将下载的新 内核,并将该新内核映像加载到动态内存中;然后将DSFRM的汇编存根代码 拷贝到动态内存中,并在拷贝完成后跳转到DSFRM汇编代码执行入口;最后 通过DSFRM的本文档来自技高网
...

【技术保护点】
一种应用于分布式系统中的升级方法,其特征在于,所述方法包括: 版本管理客户端下载新内核,并将新内核映像加载到动态内存中; 所述版本管理客户端将分布式系统的快速重启模块DSFRM的汇编存根代码拷贝到所述动态内存中,所述DSFRM的汇编存根 代码用于将所述动态内存中指定的内容从原位置搬移到指定位置; 在拷贝完成后跳转到所述DSFRM的汇编存根代码的执行入口,并通过执行所述DSFRM的汇编存根代码将所述新内核映像拷贝到所述动态内存中的目标位置,并在拷贝完成后跳转到新内核的执行入 口,启动所述新内核。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈雪源刘忱陆小飞李忠雷
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1