一种分布式系统的版本动态管理方法和装置的制造方法
【技术领域】
[0001]本发明涉及网络设备管理领域,尤其涉及一种分布式系统的版本动态管理方法。
【背景技术】
[0002]目前核心网随着不断适应市场的需求而不断的进行着扩容,最终核心网设备将演变为一个庞大的设备集合。如何才能有效的进行设备的版本管理在当下尤为突出。以往的版本管理,主要依赖于人工现场维护;现网的割接或升级,操作人员事先手动通过网络分别将版本上传至所有设备的存储器上。这种方式下,现网的设备版本控制成为空白,版本更新的效率只能通过人工保障;操作人员的规范性操作只能通过相关手册进行指导,无法避免出现人为失误;也不能完全屏蔽版本更新过程中的突发事件,例如版本更新过程中设备重启导致的版本更新失败。使得版本管理在效率和可靠性上无法保障。目前使用的升级工具是一种可直接通过设置设备IP,采用FTP方式将更新的文件批量的自动上传至设备指定路径下的升级软件。在版本更新方面,可简化现场版本更新的操作流程,提高效率。采用升级工具进行现网版本更新,替代了一部分手工操作,大大提高了版本更新的效率,但仍无法满足现网版本动态管理的需求;设备的版本兼容性、版本的有效性,仍需人工保障。
【发明内容】
[0003]针对上述问题,本发明提出一种分布式系统的版本动态管理方法,包括:主控板指示业务板进行版本更新;业务板收到所述指示后,启动版本更新下载;业务板成功下载版本文件后,使用所述成功下载的版本文件更新当前版本文件;版本文件更新后,业务板重启O
[0004]优选的,该方法还包括:业务板向主控板发送板注册请求消息,携带业务板当前版本号;所述主控板根据业务板当前版本号判断是否准入:若准入,则返回注册响应成功消息给业务板,板注册流程结束;否则,主控板指示业务板进行版本更新。其中,判断依据为版本号是否满足基线版本匹配原则,比如:不同基线版本不准入,同一基线版本下的各补丁版本以及其调试版本相互兼容。
[0005]优选的,版本更新下载具体包括:业务板登录到主控板读取版本列表文件,并将版本文件与所述版本列表文件的内容进行严格匹配;下载所有严格匹配成功的版本文件。其中,版本列表文件记录版本的所有版本文件名列表和版本文件长度。
[0006]优选的,业务板成功下载版本文件后,使用所述成功下载的版本文件更新当前版本文件具体包括:业务板根据所述版本列表文件记录的文件长度依次对下载的版本文件进行长度校验,若校验成功,则使用所述下载的版本文件替换当前版本文件;一旦校验失败,则停止校验,重新启动版本更新下载。
[0007]优选的,该方法还包括业务板启动时检测当前硬件类型,启动版本更新下载时,登录到主控板存储设备版本默认路径下,根据其硬件类型选择对应的版本文件。
[0008]本发明还提出一种分布式系统的版本管理装置,该装置包括配置模块,用于配置各设备版本配套关系;存储模块,用于存储各设备各版本的版本文件;控制模块,用于根据配置模块中各设备版本配套关系,判断并指示设备是否进行版本更新;传输模块,用于当设备需要进行版本更新时,提供所述存储模块中版本文件的下载。
[0009]本发明提供的方法既满足现网一定条件下的多版本兼容,又能使现网设备在一定条件下的自动版本更新,在版本更新方面,设备版本更新与设备硬件类型分离,具有良好的异常保护措施。采用本发明可满足现网版本动态管理的需求,同时降低现网维护成本,简化版本更新流程。
【附图说明】
[0010]图1是本发明的版本动态管理方法流程图。
【具体实施方式】
[0011]为使本发明的目的,技术方案和有益效果更加清楚明白,下文将结合附图对本发明的各技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的各实施例和实施例中的技术特征可以任意互相组合。
[0012]本发明适用于分布式架构下,针对系统中设备的版本所进行的一种有效的管理方式。分布式架构下所有设备统一由一个主控板进行设备管理维护,其他设备作为独立的业务板分别与主控板之间通过板间通信进行消息交互。
[0013]请参考附图1,是本发明的版本动态管理方法流程图。本发明的基本方法包括:业务板向主控板发送板注册请求消息,携带业务板当前版本号;主控板根据业务板当前版本号判断是否需要更新版本,若无需更新版本,则返回注册响应成功消息给业务板,板注册流程结束;否则,主控板指示业务板进行版本更新;业务板收到所述指示后,启动版本更新下载;业务板进行版本备份,校验下载的版本文件是否正确,若正确,则使用正确的版本文件更新当前版本文件;版本文件更新后,业务板重启,重新发起单板注册请求;若校验不正确,则重新发起注册请求。
[0014]该方法的主要步骤包括:当业务板与主控板板间通信失连后恢复,或新增业务板情况下,业务板首先向主控板发板注册请求消息,携带业务板当前版本号。此时主控板需要对整网版本进行有效控制。第一步:主控板根据业务板当前版本号进行有效判断是否允许其准入。判断依据为版本号是否满足基线版本号匹配原则,即基线版本号ROOxDOxBOx是否一致;如果匹配成功,主控板认为其版本号合法,直接返回板注册响应成功消息给业务板,板注册流程结束;如果匹配失败,主控板认为其版本号非法,需更新版本才可准入;第二步:主控板发单板版本更新指示消息给业务板。业务板在收到主控板发来的单板版本更新指示消息后,启动版本更新下载进程:a) FTP登录到主控板存储设备匹配本板硬件类型对应的版本路径下山)获取主控板当前路径下的所有文件详细清单;c)读主控板当前路径下updatefilelist.txt文件内容并与文件清单中文件进行严格匹配;d)将所有匹配成功的文件准备下载。业务板依次下载匹配成功的文件,并将下载文件以原文件名加后缀.temp临时文件形式保存在本地存放版本的默认路径下。业务板下载完成后,将下载文件的大小字节数与updatefilelist.txt文件中记录文件字节数进行匹配,若匹配成功,则删除原有文件,将临时文件去掉后缀.temp重新命名;所有下载文件依次匹配,一旦出现匹配失败,则停止匹配,业务板再次向主控板发板注册请求消息,重新启动版本更新;如果全部匹配成功,业务板自动重启。随后业务板启动成功后携带更新后的版本号再次向主控板发板注册请求。此时主控板判断业务板当前版本号与基线版本号一致认为其版本为合法版本,发单板注册响应消息给业务板;板注册流程结束。
[0015]上述方法中,主控板对全网版本的统一管理和控制;系统明确规划版本在各个阶段对应的版本号,如版本号为ROOxDOxBOxSPx.xx,基线版本号为ROOxDOxBOx,SPx为补丁版本号,.xx为临时调试版本号。当业务板与主控板板间通信失连后恢复,或新增业务板情况下,均会触发业务板发板注册请求消息并携带业务板当前版本号给主控板,由主控板来控制业务板当前版本是否有效,来实现不同基线版本不准入,同一基线版本下的各补丁版本以及补丁版本的调试版本的版本兼容。业务板在版本更新过程中的多重校验;updatefilelist.txt文件随版本配套发布,其内容为版本发布的所有文件名列表(包括文件名后缀,大小写字母严格区分)、文件长度(字节数)。业务板在启动版本下载时通过updatefilelist.txt文件中版本文件名来判断版本路径下哪些文件需要下载;当下载完成后,通过updatefilelist.txt文件中版本文件详细信息来校验下载的文件是否与原文件一致,从而实现更新版本的校验,保证版本更新的准确性。基于分布式系统架构下的板间通信通过消息机制来实现;在业务板与主控板板间通信失连后恢复,或新增业务板情况下,业务板均需向主控板发板注册请求消息,版本控制使业务板版本更新自动启动,确保版本更新过程的全自动化。版本更新与设备硬件类型分离;业务板启动时检测当前硬件类型,启动版本下载时,FTP登录到主控板存储设备版本默认路径下,根据其硬件类型匹配对应文件,使版本更新过程屏蔽了设备硬件类型。
[0016]实例I基于分布式系统下的动态版本更新方法
[0017]以全网版本更新为例,主控板A版本更新完成后重新启动,当前版本号为R001B01D07SP2:
[0018]I)核心网所有业务板均向主控板A发起板注册请求,携带业务板当前版本号R001B01D06SP2 ;
[0019]2 )主控板A判断所有业务板当前版本号与基线版本号(R001B01D07 )不匹配,需要进行版本更新,执行步骤3);否则执行步骤8);
[0020]3)主控板A发单板版本更新指示消息给所有业务板;
[0021]4)各个业务板在收到主控板A发来的单板版本更新指示消息后,分别启动版本更新下载进程:a) FTP登录到主控板存储设备匹配本板硬件类型对应的版本路径下;b)获取主控板当前路径下的所有文件详细清单;c)读主控板当前路径下updatefilel