
实现软件版本同步的方法及装置的制作方法.docx
4页实现软件版本同步的方法及装置的制作方法专利名称:实现软件版本同步的方法及装置的制作方法技术领域:本发明涉及通信领域,特别涉及一种实现软件版本同步的方法及装置背景技术:随着计算机技术的大规模应用和通信技术的不断发展,各行各业对于通信服务的 性能要求也随之提高为了保证通信设备的服务性能,提高通信设备应对异常事件时的可 靠性,通常情况下,通信设备中用于处理关键资源的功能单元均采用主备设计方案,控制单 元作为通信设备中的重要组成部分,通常会设置主用控制单元和备用控制单元随着通信设备功能的升级换代,主用控制单元和备用控制单元上运行的软件版本 可能会存在差异,即两者运行的软件为异构版本,异构版本的软件通常互相不兼容,且差异 很大,这样,一旦主备用控制单元发生了切换,将造成通信设备处理流程的混乱,从而严重 影响通信设备的服务性能发明内容本发明实施例提供一种实现软件版本同步的方法及装置,用以保证通信设备的服 务性能本发明实施例提供的具体技术方案如下一种实现软件同步的方法,包括备用控制单元启动后,对主用控制单元上运行的软件版本进行监测;备用控制单元确定主用控制单元上运行的软件版本与本地运行的软件版本为异 构版本时,获取所述主用控制单元上运行的软件版本;备用控制单元基于获取的主用控制单元上运行的软件版本,对本地运行的软件版 本进行同步。
一种实现软件同步的装置,包括主用控制单元,用于运行本地的软件版本,执行相应的控制操作;备用控制单元,用于在启动后,对主用控制单元上运行的软件版本进行监测,在确 定主用控制单元上运行的软件版本与本地运行的软件版本为异构版本时,获取所述主用控 制单元上运行的软件版本,并基于获取的主用控制单元上运行的软件版本,对本地运行的 软件版本进行同步一种实现软件同步的装置,包括监测模块,用于在本装置启动后,对主用控制单元上运行的软件版本进行监测;获取模块,用于在确定主用控制单元上运行的软件版本与本地运行的软件版本为 异构版本时,获取所述主用控制单元上运行的软件版本;处理模块,用于基于获取的主用控制单元上运行的软件版本,对本地运行的软件 版本进行同步本发明实施例中,备用控制单元启动后检测主用控制单元运行软件的软件版本,确定主备用控制单元之间存在软件版本差异时,通过通信传输协议获取主用控制单元上运 行的软件版本,并对本地运行的软件版本进行同步,这样,便令主备用控制单元之间的软件 版本达成了一致,提高了其兼容性,主用控制单元和备用控制单元之间无论何时发生切换, 均不会给通信设备处理流程的造成混乱,从而在一定程度上保证了通信设备的服务性能, 提高了通信设备面对异常事件时的服务可靠性。
图IA为本发明实施例中通信设备功能结构示意图;图IB为本发明实施例中备用控制单元功能结构示意图;图2为本发明实施例中主备用控制单元之间进行软件同步流程图;图3A和图IBB为本发明实施例中备用控制单元进行异构版本软件的主备同步流程 图具体实施例方式为了保证通信设备的服务性能,本发明实施例中,备用控制单元启动后检测主用 控制单元运行软件的软件版本,确定主备用控制单元之间存在软件版本差异时,通过通信 传输协议获取主用控制单元上运行的软件版本,并对本地运行的软件版本进行同步下面结合附图对本发明优选的实施方式进行详细说明参阅图IA所示,本发明实施例中,通信设备内通常包括主用控制单元和备用控制 单元,其中,主用控制单元,用于运行本地的软件版本,执行相应的控制操作;备用控制单元,用于在启动后,对主用控制单元上运行的软件版本进行监测,在确 定主用控制单元上运行的软件版本与本地运行的软件版本为异构版本时,获取主用控制单 元上运行的软件版本,并基于获取的主用控制单元上运行的软件版本,对本地运行的软件 版本进行同步参阅图IB所示,本发明实施例中,备用控制单元中包括监测模块10、获取模块11 和处理模块12,其中监测模块10,用于在本装置启动后,对主用控制单元上运行的软件版本进行监 测;获取模块11,用于在确定主用控制单元上运行的软件版本与本地运行的软件版本 为异构版本时,获取所述主用控制单元上运行的软件版本;处理模块12,用于基于获取的主用控制单元上运行的软件版本,对本地运行的软 件版本进行同步。
参阅图2所示,本发明实施例中,通信设备内的主备用控制单元之间进行软件同 步的详细流程如下步骤200 备用控制单元启动后判断本控制单元是否处于备用状态,若是,则执行 步骤201 ;否则执行步骤202主用控制单元和备用控制单元之间通过以太网网口相连,使用TCP/IP协议通信, 两者之间使用硬件逻辑器件竞争主用状态,该硬件逻辑器件保证了任意时刻,只有一个控制单元为主用控制单元,而另一个为备用控制单元,因此,备用控制单元在启动时,首先要 确定自身为备用状态,才会执行后续的软件同步操作本实施例中,主备用控制单元之间的 软件同步操作,均由备用控制单元完成,主用控制单元不受影响步骤201 备用控制单元判断本地运行的软件版本与主用控制单元上运行的软件 版本是否为同构版本,即是否为相同的软件版本,若是,则进行步骤202 ;否则,执行步骤 203主备用控制单元之间使用的软件若为异构版本,则两者之间使用的通信协议是存 在差异的,这是备用控制单元可以检测到主用控制单元上运行的软件是异构版本的基础, 本实施例中,主备用控制单元之间可以使用的通信协议包括且不限于以太网协议通信、 HDLC(High-Level Data Link Control,高级数据链路控制)协议通信、3bit协议通信等等。
因此,本发明实施例中,备用控制单元确定主用控制单元上运行的软件是同构版 本时,判断的依据包含且不限于与主用控制单元之间的通信IP网段一致、对于通信协议 特征字段的设置一致、对于通信协议保留字段的设置一致,进一步地,还可以采用以下条件 作为判断依据两者之间软件版本名称一致、软件版本存放路径一致、软件版本头数据结构 一致、软件版本压缩算法一致步骤202 备用控制单元正常启动步骤203 备用控制单元判断本地运行的软件版本与主用控制单元上运行的软件 版本是否为异构版本,即是否为不同的软件版本,若是,则进行205,否则,执行步骤204本发明实施例中,备用控制单元确定主用控制单元上运行的软件是异构版本时, 判断的依据包含且不限于与主用控制单元之间的通信IP网段不一致,对于通信协议特征 字段的设置不一致,对于通信协议保留字段的设置不一致,进一步地,还可以采用以下条件 作为判断依据软件版本名称不一致、软件版本存放路径不一致、软件版本头数据结构不一 致,软件版本压缩算法不一致步骤204 备用控制单元确定当前系统已发生异常,启动异常处理流程步骤205 备用控制单元在本地和主用控制单元之间进行软件同步,即异构版本 软件的主备同步。
基于上述实施例中,参阅图3A和图:3B所示,本发明实施例中,备用控制单元执行 步骤205的详细流程如下步骤20500 备用控制单元获取主用控制单元运行的异构版本的软件,并保存在 指定的存储位置本实施例中,备用控制单元可以在版本态通过通讯传输协议,获取主用控制单元 上运行的异构版本的软件,并保存至本地文件系统中的指定存储位置步骤20501 备用控制单元重新启动重启后,备用控制单元将进入BOOT态,通过在BOOT态发现和处理异构版本,来达 到实现异构版本同步的目的步骤20502 备用控制单元判断本控制单元是否处于备用状态,若是,则执行步骤 20504,否则,进行步骤20503备用控制单元每次重启后,都要首先判断自身是否处理备用状态步骤20503 备用控制单元正常启动步骤25004 备用控制单元在指定存储位置是否获得保存的异构版本的软件?若 是,则进行步骤20505,否则,执行步骤20503本实施例中,如果读取失败,则说明不需要进行异构版本的主备同步的BOOT态流 程,正常启动即可步骤20505 备用控制单元逐一读取获得的异构版本的软件包含的BOOT文件、软 件内核文件、硬件驱动文件步骤20506 备用控制单元对读取到的异构版本的软件进行校验,若成功,则进行 步骤20508,否则,进行步骤20507。
本实施例中,对软件进行校验时,可以通过校验软件的版本头来确定软件文件是 否完整,如果检验失败,则说明保存的软件不完整,存在错误,需要删除该指定存储位置中 保存的异构版本的软件步骤20507 备用控制单元将指定存储位置中保存的异构版本的软件删除步骤20508 备用控制单元记录异构版本的软件至高端内存,记录异构版本的软 件的相关信息至低端内存例如,将异构版本的软件包含的BOOT文件、软件内核文件、硬件驱动文件记录到 高端内存中,将异构版本的软件的相关信息,包括文件名、文件长度、记录的起始地址等,记 录到低端内存中步骤20509 备用控制单元将异构版本的软件包含的BOOT文件写入B00TR0M芯 片,代替原有的BOOT文件步骤20510 备用控制单元将文件系统(如,FLASH)中记录的原版本的软件进行擦除即是备用控制单元将本地运行的软件的文件删除,待重启后,运行内存中从主用 控制单元读取的异构版本的软件步骤20511 备用控制单元重新启动步骤20512 备用控制单元采用新的BOOT文件进行导入步骤20513 备用控制单元对本地的文件系统进行格式化步骤20514:备用控制单元判断自身是否处理备用状态?若是,则进行步骤 20516,否则,进行步骤20515。
每次重启后,备用控制单元均需要对自身的工作状态进行判定步骤20515 备用控制单元正常启动步骤20516 备用控制单元从低端内存中的指定位置获取之前存储的异构版本的 软件的相关信息,包括文件名、文件长度、记录的起始地址等等如果低端内存中的指定位置中,保存了上述相关信息,则表明当前正处于异构版 本自动主备同步的流程中步骤20517 备用控制单元根据从低端内存中读取的异构版本的软件的相关信 息,判断在高端内存中的指定位置是否存在相应的异构版本的软件?若是,则进行步骤 20519,否则,进行步骤20518步骤20518 备用控制单元提示用户下载相应版本的软件步骤20519 读取高端内存中的指定位置存储的软件内核文件和硬件驱动文件,并保存至本地的文件系统中,即已擦除的FLASH中步骤20520 备用控制单元激活读取的软件内核文件和硬件驱动文件,采用BOOT 文件进行引导启动,从而令本控制单元进入正常的运行状态至此,便已完成了主备用控制单元之间的软件同步,令主备用控制单元之间的软 件版本达成了一致,提高了其兼容性,这样,主用控制单元和备用控制单元之间无论何时发 生切换,均不会给通信设备处理流程的造成混乱,在一定程度上保证了通信设备的服务性 能,提高了通信设备面对异常事件时的服务可靠性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内权利要求1.一种实现软件版本同步的方法,其特征在于,包括备用控制单元启动后,对主用控制单元上运行的软件版本进行监测; 备用控制单元确定主用控制单元上运行的软件版本与本地运行的软件版本为异构版 本时,获取所述主用控制单元上运行的软件版本;备用控制单元基于获取的主用控制单元上运行的软件版本,对本地运行的软件版本进 行同步2.如权利要求1所述的方法,其特征在于,所述备用控制单元确定主用控制单元上运 行的软件版本与本地运行的软件版本为异构版本时,采用以下任意一种或多种判断依据本地与主用控制单元之间的通信IP网段不一致; 本地与主用控制单元之间对于通信协议特征字段的设置不一致; 本地与主用控制单元之间对于通信协议保留字段的设置不一致; 本地与主用控制单元之间软件版本名称不一致; 本地与主用控制单元之间软件版本存放路径不一致; 本地与主用控制单元之间软件版本头数据结构不一致。
