一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种单板升级方法、单板设备及计算机可读存储介质与流程

2022-05-21 04:52:57 来源:中国专利 TAG:


1.本发明实施例涉及但不限于通信设备领域,具体而言,涉及但不限于一种单板升级方法、单板设备及计算机可读存储介质。


背景技术:

2.随着通信技术的不断发展,各行各业对于通信服务的稳定性和运维操作的友好性要求也随之提高。相关技术中,通信设备的整体软件版本升级流程能够实现无损或微损的升级,对于业务功能的影响较小。然而在实际应用中,整个网元基础软件版本的升级周期还是比较长的,更频繁的升级场景是通过打补丁方式来修补网元基础版本的问题,但是相关技术中,打补丁升级对现场升级操作人员有较高的专业要求,同时冷补丁生效确认工作比较复杂,尤其是工程环境上存在多个冷补丁时,每个冷补丁涉及的单板可能不同但都需要维护,因而需要工程人员保证实际操作的运维水平。


技术实现要素:

3.本发明实施例提供的单板升级方法、单板设备及计算机可读存储介质,主要解决的技术问题是相关技术中补丁升级对现场升级操作人员有较高的专业要求且升级过程复杂的问题。
4.为解决上述技术问题,本发明实施例提供一种单板升级方法,包括:
5.激活获取到的补丁包;
6.解析所述补丁包,获取所述补丁包所对应的单板参数;
7.根据所述单板参数,确认出所述补丁包所对应的待升级单板的设置槽位;
8.根据所述设置槽位对所述待升级单板进行升级。
9.本发明实施例还提供一种单板设备,处理器、存储器及通信总线;
10.所述通信总线用于实现处理器和存储器之间的连接通信;
11.所述处理器用于执行存储器中存储的一个或者多个计算机程序,以实现如上所述的单板升级方法的步骤
12.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的单板升级方法方法的步骤。
13.根据本发明实施例提供的单板升级方法、单板设备及计算机可读存储介质,通过激活获取到的补丁包;解析补丁包,获取补丁包所对应的单板参数;根据单板参数,确认出补丁包所对应的待升级单板的设置槽位,并对待升级单板进行升级;精准识别补丁包的生效范围,并执行升级操作,在某些实施过程中可实现包括但不限于提高了补丁包升级的自动化程度,减少现场升级操作人员的操作工作的技术效果。
14.本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
15.图1为本发明实施例一的单板升级方法的流程示意图;
16.图2为本发明实施例二的网元设备内安装的版本目录示意图;
17.图3为本发明实施例二的网元设备当前激活并运行在内存中的版本目录示意图;
18.图4为本发明实施例二的网元设备激活冷补丁包后内存中的版本目录示意图;
19.图5为本发明实施例二的各槽位单板的配置信息示意图;
20.图6为本发明实施例二的单板升级方法的细化流程示意图;
21.图7为本发明实施例二的获取并安装冷补丁的流程示意图;
22.图8为本发明实施例二的各槽位的单板中业务保护组关系示意图;
23.图9为本发明实施例二的各槽位的单板升级优先级配置示意图;
24.图10为本发明实施例二的剩余预估时间的计算示意图;
25.图11为本发明实施例二的启动时升级进度显示示意图;
26.图12为本发明实施例二的升级中升级进度显示示意图;
27.图13为本发明实施例二的升级完成后升级进度显示示意图;
28.图14为本发明实施例三的单板设备的结构示意图。
具体实施方式
29.为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
30.实施例一:
31.为了减小在对单板进行升级时的复杂操作。本发明实施例提供一种单板升级方法,请参见图1,包括:
32.s101、激活获取到的补丁包;
33.应当说明的是,本实施例中的补丁包,在其他实施方式中也可以是包括但不限于增量包以及全量包或其他可应用本实施例的单板升级方法进行升级的补丁包。
34.补丁包可以是提前下载好的,补丁包包括可以用于对单板设备中的部分或全部单板中运行的版本软件进行升级的软件包。作为一种具体的示例,补丁包可被存储入主控单板的硬盘中,在该示例中,补丁包传入的目录是独立的目录,与基础版本包的存放目录并列;在一些实施方式中,若存在备机(即备用的主控单板),则可以使得主控单板与备用的主控单板之间进行补丁包文件的同步,保证在主备倒换后补丁包依旧能够正常生效。
35.应当说明的是,本实施例中的激活补丁包是指将当前单板设备的系统中生效的版本包的文件替换为补丁包中的文件,在一具体的示例中替换指当前系统预期生效的版本文件软链接为补丁包中的文件,即激活的操作,仅仅是将版本服务端的版本文件全部软链接为补丁包中的文件。应当理解的是,补丁包激活后,并未实际更新入对应的单板中,在将补丁包激活后,通常需要将单板进行复位重启,单板复位重启的过程中会请求当前激活的版本文件进行加载,此时被激活的补丁包中的文件被单板加载,该补丁包的更新才相当于实际进行了应用。
36.s102、解析补丁包,获取补丁包所对应的单板参数;
37.在实际应用中,补丁包中可能携带配置文件,则解析补丁包可包括读取配置文件中的配置信息,通过解析补丁包,能够获取到单板参数。本实施例中,单板参数能够反应出本次补丁包对针对的单板的信息,示例性的,单板参数包括但不限于单板的cpu(central processing unit,中央处理器)型号。
38.s103、根据单板参数,确认出补丁包所对应的待升级单板的设置槽位;
39.在实际应用中,单板的槽位配置是有记录的,例如可通过读取单板的柜框槽静态配置信息,了解到各个柜框槽中所设置的单板的信息。通过解析补丁包获得的单板参数,可从柜框槽静态配置中查找出与单板参数所匹配的单板以及其设置的槽位信息,在本实施例中,这些单板即是该补丁包所对应的待升级单板。示例性的,单板参数为单板的cpu型号,从柜框槽静态配置中查找使用这些cpu型号的单板,并得知其设置的槽位。
40.s104、根据设置槽位对待升级单板进行升级。
41.在通常情况下,对这些待升级单板进行复位重启即可实现补丁包文件的加载完成升级。本实施例中,可通过对待升级单板发出指令的方式使其复位重启,由于在前述步骤s103中已经确认出了待升级单板以及其设置的槽位,因此,本实施例中能够实现准确的升级控制,可以仅对这些槽位的单板(即待升级单板)发出复位重启的指令,进行升级。
42.应当理解的是,本发明实施例的单板升级方法可以应用在包括不但不限于主控单板或单板设备的其他控制模块或专用于对单板设备进行升级的装置中,在进行单板升级的过程中,通过解析补丁包获取单板参数,并确认出补丁包对应的待升级单板的设置槽位,并对该槽位的单板进行升级,在一些实施过程中能够实现对于补丁包生效范围的自动准确的识别和升级控制,从而减少现场升级操作人员的操作工作,提高补丁包升级的自动化程度。
43.在一些实施方式中,对待升级单板进行升级包括:
44.若补丁包中的更新文件中不包括进程更新文件以外的更新文件,也即该次升级仅涉及待升级单板中的进程文件,可不重启待升级单板,仅使待升级单板中对应于该次升级的进程或虚拟进程组重启以完成升级,若补丁包中的更新文件包括对应于进程文件以外的文件,则使待升级单板复位重启以完成升级。应当说明的是,这里所指的进程更新文件即是仅与待升级单板中的进程相关的更新文件。这里的该次升级指的是一个补丁包中的升级,也即一个补丁包中的所有升级文件均是针对于待升级单板中的进程文件的升级,则可以仅仅将相应的进程进行重启。与待升级单板重启的方式类似,可以通过下发进程重启的指令使待升级单板中的进程的重启,进行升级。进程在重启的过程中,重新加载激活的相关进程文件,更新文件中的进程更新文件在此过程被加载激活。若该次升级不仅仅涉及进程文件的替换(替换为进程更新文件),还涉及了例如一些xml(extensible markup language,可扩展标记语言)格式的资源文件,则仅仅是进程或虚拟进程组的重启无法完整的实现升级,应当对待升级单板进行重启。
45.在一些实施方式中,使待升级单板中对应于该次升级的进程或虚拟进程组重启以完成升级包括:
46.获取补丁包中的配置信息;
47.根据配置信息确认出该次升级所涉及进程文件名;
48.使待升级单板在获取到补丁包中的进程文件后重启对应的进程或虚拟进程组。
49.一种示例中,读取补丁包中的配置文件,从配置文件中能够确认到该补丁包具体
涉及哪些进程文件,在单板获取到补丁包中对应的升级的进程文件后,能够通过相应的指令重启这些进程或虚拟进程组。
50.本实施例中还可以对虚拟进程组进行重启,在实际应用中,对进程还是虚拟进程组进行重启,可以灵活的选择,例如在一种示例中,若某一虚拟进程组中的多个进程均需要进行更新,则可以选择直接对虚拟进程组全部进行重启,此时只需要发送一条重启虚拟进程组的指令即可,避免针对该虚拟进程组中的每个需要更新的进程都发送一条重启的指令。
51.由于对于补丁包中的文件的解析,不仅能够确认升级所涉及的待升级单板,还在一些实施过程中使得该次升级涉及的相关进程能够被准确的识别出来,因而在这些场景中,能够在升级仅涉及待升级单板中的进程文件时,仅通过上述的重启进程或虚拟进程组的方式就完成了待升级单板的升级过程中,实现了更小的升级粒度,提升升级的效率。且重启进程或虚拟进程组的过程中,待升级单板中仍可能存在未升级的进程或虚拟进程组能够正常运行,有利于降低升级过程中的影响。
52.在一些实施方式中,激活获取到的补丁包之前,还包括:
53.当校验到当前的单板配置不满足无损升级条件,则提示用户当前的单板配置不满足无损升级条件;
54.若校验到当前的单板配置满足无损升级条件,或在提示用户当前的单板配置不满足无损升级条件后接收到用户下发的继续升级指令,则继续对待升级单板进行升级;若没有接收到继续升级的指令,不对待升级单板进行升级。
55.可以理解的是,用户在接收到当前的单板配置不满足无损升级条件的提示后,可以选择下发继续升级指令(例如用户认为当前的升级对业务带来的影响在可接受范围内),此时,若继续升级,则可能在升级的过程中导致业务的损失或者中断等情况出现;在一些场景中,用户还可以在接收到当前的单板配置不满足无损升级条件的提示后,选择调整单板的配置,将单板配置调整为能够实现无损升级的状态,而后可以再次执行升级的操作,此时能够通过校验,并开始进行后续的升级过程。
56.在一些实施方式中,无损升级条件包括:
57.各有业务的待升级单板存在主备单板关系和/或存在保护组关系;
58.对待升级单板进行补丁包括:
59.根据主备单板关系和/或保护组关系,生成升级优先级;
60.按照升级优先级由高至低依次使待升级单板完成升级,升级过程中通过当前没有正在执行升级的单板执行业务;
61.若主控单板需要升级,则主控单板的升级优先级为最高优先级,备用主控单板的升级优先级仅次于主控单板;
62.若非主控单板需要升级,基于保护组关系对非主控单板生成升级优先级,具备直接保护组关系的非主控单板中的至少两个设置为不同的升级优先级;
63.当前没有正在执行升级的单板执行的业务包括以下至少一种:
64.当前没有正在执行升级的单板所对应的业务;
65.与当前没有正在执行升级的单板具有主备单板关系和/或保护组关系的正在执行升级的单板所对应的业务。
66.在实际应用中,是否能够无损升级主要考虑当前有业务的待升级单板,因而在一些实施方式中判断各个有业务的待升级单板是否可被暂时或完全地替代,例如存在备用单板和/或与其他单板存在保护组关系。可见,本实施例中的待升级单板可以是主控单板(包括备用主控单板)以及非主控单板。应当说明的是,本实施例中所指的无损升级条件,仅仅是一种预设的可能实现无损或低损升级的判断条件,但在实际应用中,满足该无损升级条件并不意味着一定可无损升级,例如,部分待升级单板虽然存在保护组关系,但保护组关系仅覆盖了其中的部分业务,还有部分业务并不存在有效的保护组关系(即部分业务无法被替代);或升级过程中可能存在难以预料的影响。且在其他一些实施方式中,该无损升级条件也可根据实际情况调整为其他条件,并不局限于本实施例中所示出的。
67.同时,上述升级过程中通过当前没有正在执行升级的单板执行业务,不仅包括还未进行升级的待升级单板,本次不进行升级的单板也可以在有条件的情况下继续执行相应的业务。
68.若存在备用单板关系,例如主控单板和备用主控单板,则二者被设置为不同的升级优先级;若待升级单板之间存在直接保护组关系,则这些待升级单板不全为同一升级优先级。本实施例中,同一升级优先级的待升级单板同时进行重启复位等升级的操作,在当前升级优先级的待升级单板均升级完成后,依次进行下一升级优先级的待升级单板的升级操作。通过划分升级优先级的方式,使得升级的执行能够分批次的进行,可以理解的是,分批次对单板进行升级,未进行升级的单板中有条件的可以继续执行其配置的业务,在一定程度上降低升级对业务的影响。同时,通过将主备关系的单板或具备直接保护组关系的非主控单板中的至少两个设置为不同的升级优先级,使得在升级过程中,至少一部分业务或功能能够始终保持工作,进一步降低对业务的影响,且在单板配置合理的情况下,能够实现无损升级。作为一种示例,主控单板和备用主控单板进行升级时,先升级其中一个(如备用主控单板),升级过程中,通过还未升级的一者继续进行主控,先升级的单板升级完成后,由升级完成的单板进行主控,另一个单板开始进行升级,在此过程中,始终存在单板执行主控的功能,业务不受影响。当然,还作为一种示例,主控单板和备用主控单板可以同设为一个升级优先级(最高升级优先级),但在升级过程中对于主控单板和备用主控单板进行特殊处理,按照上一示例的顺序进行升级,可以理解的是,本示例中虽然可以在参数设置上使得主控单板和备用主控单板均为最高优先级,但在实际处理中仍先对备用主控单板进行了升级,也即备用主控单板的实际升级优先级仍是最高的。可见,本技术中所提及的升级优先级,并不应当局限于在实施过程中配置的软件参数等数据,而应当考虑实际执行升级的顺序。
69.在一些实施方式中,对待升级单板进行升级还包括:
70.若升级过程中,出现待升级单板升级失败,则向用户发出提示;
71.向用户发出待升级单板升级失败的提示后,当接收到继续升级的指令,则继续进行补丁升级,若没有接收到继续升级的指令则将已升级的单板回退至升级前的状态。应当注意的是,上述无损升级过程为校验到当前的单板配置满足无损升级条件后进行升级的过程,由于存在主备单板和/或保护组关系,因而可以由用户选择是否进行继续升级,例如用户认为当前待升级单板升级失败导致的影响是可接受的。当然,用户也可以选择不继续升级,若没有接收到继续升级的指令,则停止升级,并将已升级的单板回退至升级前的状态,
可以等到将导致待升级单板升级失败的问题解决后,再次进行升级。
72.在一些实施方式中,对升级的进度进行显示。例如可以在接收到用户的指令后进行进度的显示,通过对外呈现升级过程的进展和/或预期升级剩余时间等信息,实现升级操作的可视化,提升用户对升级结果的预期,提高升级过程中的体验。作为一种较具体的示例,显示的内容可包括但不限于:升级的版本,升级开始时间,升级结束时间,剩余预估时间,各批次升级优先级单板的升级状态(等待升级、升级中、升级完成,以及升级成功或升级失败等)。
73.在一些实施方式中,在完成针对补丁包的升级之前,停止新业务的接入。这里所指的针对补丁包的升级是指该补丁包涉及的所有待升级单板的升级,若待升级单板有升级优先级,则所有升级优先级的待升级单板均完成更新后,表示该补丁包的升级完成。避免在升级过程中接入新业务,从而保证升级过程的稳定性,避免新接入的业务出现中断或导致原有的业务中断。
74.本发明实施例提供的单板升级方法,通过激活获取到的补丁包,解析该补丁包以获取补丁包所对应的单板参数,并根据单板参数确认出补丁包所对应的待升级单板的设置槽位,对待升级单板进行升级;精准的识别出补丁包的生效范围,并执行升级操作,提高了补丁包升级的自动化程度,减少现场升级操作人员的操作工作。
75.进一步的,在一些实施方式中,可以识别出升级涉及的进程,并仅对进程或虚拟进程组重启,实现了更小的升级粒度,提升升级的效率,有利于降低升级过程中的影响。
76.进一步的,还在一些实施方式中,能够通过划分升级优先级进行分批次升级,实现无损或低损升级,且自动化程度高。
77.实施例二:
78.为了更好的说明本发明实施例的单板升级方法,本实施例中以一种具体的无损自动升级流程为示例作进一步说明,本实施例的示例中,补丁包为冷补丁包(以下简称冷补丁),单板设备为一种网元(或者说网元设备)。
79.请参见图2,示意出该网元中的目录,网元中安装的版本包括:网元基础版本(baseset1,baseset2)、冷补丁版本(coldpatch),其中,网元基础版本是网元系统运行的基础;冷补丁版本用于修复网元运行软件版本的部分功能,且必须是重新加载方式才能生效;如图2所示,冷补丁版本目录是跟网元基础版本目录是并列目录,但是冷补丁是依赖特定网元基础版本的,并且冷补丁生效必须要求跟网元基础版本匹配。
80.请参见图3,示意出当前网元激活并运行基础版本包baseset1时,网元内存中使用的版本目录下文件情况,该目录是对应硬盘目录基础版本包baseset1的软链接。
81.请参见图4,示意出当前网元激活冷补丁coldpatch时,网元内存中使用的版本目录下文件情况,此时,该目录中跟冷补丁目录同名的文件都是对应硬盘中冷补丁coldpatch的软链接。
82.请参见图5,本发明实施例中,网元中实际运行的各个槽位单板,除了主控单板是基础版本最小版本缺省配置外,其他单板都是通过用户配置的,从配置可以看出各个槽位实际运行的物理单板的cpu型号等唯一信息。
83.请参见图6,本实施例的示例中,单板升级方法包括:
84.s201、获取并安装冷补丁;
85.请参见图7,步骤s201具备可包括:
86.s2011、构建冷补丁,配置冷补丁对应的版本信息;
87.其中,冷补丁可以是离线本地制作的,冷补丁的制作包括但不限于以下关键信息:
88.网元基础版本信息,可用于匹配冷补丁在指定基础版本生效;
89.单板cpu型号信息,可用于匹配冷补丁在指定单板生效;
90.本实施例中,网元打冷补丁,可以是包含多个单补丁的补丁包,也可以是单个补丁,不同cpu类型对应的单个补丁不同。
91.s2012、校验冷补丁的版本信息,若校验成功则执行步骤s2013;
92.s2013、下载及安装冷补丁;
93.冷补丁在本地制作完成后,通过网元版本安装操作,将冷补丁在当前网元环境中加载,冷补丁加载前,需要对冷补丁进行合法校验,主要包括:当前系统是否存在重名冷补丁,冷补丁格式是否合法等。
94.冷补丁加载到网元,并不要求冷补丁依赖的基础版本一定在网元存在或运行,理论上冷补丁也是一种特殊的版本,但是冷补丁的激活生效,必须要求冷补丁依赖的基础版本处于运行态。
95.示例性的,在冷补丁安装完成后,可通过指令触发后续的无损升级,在触发后,可进行自动化的升级操作。
96.s202、校验是否满足无损升级条件,若不满足,则执行步骤s203,若满足,则执行步骤s204;
97.本示例中,主要校验内容包括:涉及主控单板的冷补丁升级,是否存在正常运行的备用主控单板;涉及普通单板(非主控单板)的冷补丁升级,同一cpu类型的待升级单板是否存在保护组关系或存在类似保护组关系。若涉及主控单板的冷补丁升级时,存在正常运行的备用主控单板,涉及普通单板的冷补丁升级时,普通单板存在保护组关系或存在类似保护组关系,则满足无损升级条件。若待升级单板不满足上述条件,则该待升级单板的升级优先级属于无效优先级(在一些实施过程中,这些无效优先级可以默认配置为最低优先级),还应当说明的是,在一些实施过程中,当前没有业务的待升级单板的升级优先级也可以设置为无效优先级。
98.s203、向用户弹出提示当前的单板配置不满足无损升级条件;
99.如果用户确认这些无效优先级升级的待升级单板同一批复位升级无影响或影响可接收,用户也是可以选择继续升级的。若接收到用户下发的继续升级指令,则继续进行升级,执行步骤s204。
100.s204、激活获取到的冷补丁;
101.可以理解的是,冷补丁激活是一个单独流程,可以理解的是,冷补丁激活仅仅是硬盘版本运行文件软链接的更新。
102.应当注意的是,如果冷补丁修改变动比较大时,基础版本跟冷补丁版本可能存在兼容性问题,同时由于本示例在冷补丁进行无损升级是网元中的待升级单板按照升级优先级顺序分批进行的,或者存在不需要升级冷补丁的单板,这些情况都导致存在运行基础版本单板跟运行基础版本 冷补丁运行的单板共存情况,此时,不兼容的冷补丁应当要包含跨版本消息的兼容列表白名单(即跨版本消息id以及消息新旧结构对应关系的列表),确保在
升级过程中,整个网元运行的单板都能按照该兼容列表白名单进行消息兼容处理。此时应当检查冷补丁是否存在兼容列表,如果存在,首先将兼容列表下发到网元各单板,用于各单板进行兼容列表白名单白名单的兼容处理。
103.s205、解析冷补丁,获取冷补丁对应的单板的cpu型号;s206、获取网元中单板的柜框槽静态配置,确认出该冷补丁涉及哪些槽位单板以及设置槽位;
104.根据上述步骤s205中获取的单板的cpu型号以及柜框槽静态配置中的记录,能得知冷补丁涉及哪些槽位单板以及设置槽位。
105.s207、生成升级优先级;
106.为了更好的理解本示例中升级优先级的设置方式。请参见图8所示,网元环境中,主控单板和备用主控单板都在各自位置正常运行,并且主控单板是跟各个单板之间通信的中枢,由于主控单板的特殊存在,应当优先升级主控单板和备用主控单板,本示例中,优先升级备用主控单板,在主备倒换后(即主控单板和备用主控单板的主备关系互换),升级原主控单板,应当注意的是,在主备倒换后,可以进行主控单板和备用主控单板之间的冷补丁文件的同步,保证主备倒换后冷补丁仍能够正常生效。示例性的,可设置数值表示升级优先级。例如数值范围0-255,本示例中数值越小即升级优先级越高,即越早进行升级操作。在一种示例中,可将主控单板的升级优先级默认设置为0,并按照上述方式完成主控单板和备用主控单板的升级,普通非主控单板的范围在1-254之间选取,对于无业务的单板或存在业务,但是没有配置业务保护组关系的单板,升级优先级可默认设置为255。
107.图8中,槽1的单板上的a业务与槽5的单板上的a业务是保护组关系,槽3的单板上的b业务跟槽5的单板上的b业务是保护组关系,槽3的单板上的c业务跟槽7的单板上的c业务是保护组关系,这三者之间是直接的保护组关系。互为直接的保护组关系的多块单板,不能全部配置为用一升级优先级,若单板之间没直接保护组关系的,可以配置为同一个升级优先级。在实际应用中,考虑到多个不同升级优先级的批次之间是完全串行升级的,所以为了确保升级尽早完成,可以尽量保证配置的升级优先级数量是最少的。
108.本示例中,槽1、槽5的单板不配置为同一个升级优先级,槽3、槽7的单板不配置为同一个升级优先级,槽3、槽5的单板不配置为同一个升级优先级。所以在业务存在这种保护组关系时,计算出的一种升级优先级结果可以为,槽1的单板优先级为1时,直接保护组关系的槽5的单板优先级为2,由于槽3、槽5的单板也是直接保护组关系,所以槽3的单板不能配置为2,在为尽量保证配置升级优先级数量最小,优先配置为1,此时只剩槽7的单板优先级没有配置,由于槽7的单板仅跟槽3的单板是直接保护组关系,所以槽7的单板优先级配置为2即可满足要求.当第一批同时复位升级槽1、槽3的单板时,业务a、b、c可以正常运行在槽5、槽7的单板上而不中断,当槽1、槽3的单板升级冷补丁启动完成后,第二批复位升级槽5、槽7的单板时,业务a、b、c可以正常运行在槽1、槽3的单板上而不中断。可见,按照上述升级优先级分批依次进行升级,实现了无损升级。
109.应当说明的是,在类似于本示例中根据保护组关系或主备关系进行的无损升级场景中,升级优先级是根据实际情况动态计算而得到的,一般而言不预先进行静态的配置或将升级优先级写盘。
110.s208、按照升级优先级由高至低依次完成升级;
111.请参见图9,本实施例中,网元携带业务运行时,可以查看各个单板的升级优先级
配置情况,各个槽位的升级优先级的生成是根据业务的保护组关系动态计算出来的,一般不通过静态配置,也不能将各个槽位动态计算的升级优先级写盘,各个槽位基于保护组关系生成的升级优先级是进行冷补丁无损升级的必要条件,对于无业务的单板,缺省的升级优先级都是默认255配置,但是这个缺省优先级也可能是单板存在业务,但是没有配置业务保护组关系,这种情况下,在进行冷补丁升级时,所有涉及升级的单板升级优先级不全是有效时,一键式升级会进行提示,如果用户确认这些无效优先级升级的单板同一批复位升级无影响或微损影响可接收,用户也是可以选择继续升级的。
112.若涉及主控单板的升级,则按照上述s207中的策略对主控单板和备用主控单板进行升级。其余待升级单板按照升级优先级批次串行进行,同一批次升级优先级的多块待升级单板是同时升级的。
113.对于非主控单板的冷补丁升级时,还可以判断冷补丁中的文件是不是仅存在进程软件的文件(即此次更新是否仅涉及进程),例如,在本示例中的判断方法是检查冷补丁文件的后缀是不是均为so类型文件(或其他进程特征的文件类型)。
114.如果当前冷补丁都是进程的冷补丁,则非主控单板冷补丁升级可以仅仅通过重加载相应进程来实现,示例性的,一种具体处理方法可包括:读取冷补丁文件中配置文件,确认该冷补丁涉及的具体进程文件名,然后获取最小升级优先级批次的待升级单板的槽位,下发进程升级通知消息到这些待升级单板,消息内容携带需要请求的进程文件列表,待升级单板收到通知消息后,待升级单板通过文件传输协议(filetransferprotocol,简称ftp)或其他传输协议将对应的进程文件下载到本地,待升级单板下载成功后,各自应答给主控单板,主控单板收到应答后,下发对应待升级单板的指定进程重启消息,待升级单板进行进程重启动作。更进一步的,如果冷补丁涉及的进程较多,这些进程逻辑上属于一个或几个虚拟进程组,此时主控单板在收到待升级单板冷补丁文件下载成功应答后,主控单板可以下发对应待升级单板的虚拟进程组进行重启一条消息,不用对同一虚拟进程组的多个进程分别发送进程重启消息。
115.可见,本步骤中的依次完成升级,不仅包括对单板的复位完成升级,也可包括仅对单板中的部分或全部进程、虚拟进程组的重加载完成升级。在实际应用中,上述步骤s202至s208中的至少一部分可以自动化的执行,且能够自动识别冷补丁的生效范围执行精准控制,用户仅需要根据提示进行决策并下发简单的指令,极大的简化了现场升级的操作,降低了对现场升级人员的要求。
116.当主控单板确认到当前升级优先级批次全部待升级单板重启正常后,主控单板才开始进行下一升级优先级批次的处理,直至升级优先级批次全部处理完成。或者,当主控单板收齐当前升级优先级批次的所有待升级单板的进程重启应答消息,并且进程全部重启正常后,主控单板才开始进行下一升级优先级批次的处理,直至升级优先级批次全部处理完成。当升级优先级批次全部处理完成,则该补丁包的升级完成。
117.在本示例中,若个别单板升级失败,此时由于存在保护组关系,用户可以选择是继续升级还是避免影响业务必须无损或必须按照当前升级策略完成升级,若没有接收到继续升级的指令,此时可以触发升级回退,待问题解决后继续升级。另外,在进行冷补丁升级启动后,一般而言是屏蔽或禁止新业务接入的,否则在升级过程中,可能导致新接入业务或原有业务出现中断,升级过程中,优先保证当前正在进行的业务不中断。
118.在实际应用中,由于升级过程一般比较久(几十分钟或更久),所以还可以选择在升级过程中增加升级进度的显示,实现升级操作的可视化,提升用户对升级结果的预期。下面以一示例对于升级进行的显示进行说明。
119.本示例中,可向提供用户“show”等命令用于显示升级进度,升级进度显示内容包括但不限于:升级的版本,升级开始时间,升级结束时间,剩余预估时间,各批次升级优先级单板的升级状态(等待升级、升级中、升级完成,以及升级成功或升级失败等)。上述除了剩余预估时间外,其他内容都是升级实际阶段的实时结果,剩余预估时间是一个估算时间。
120.如图10,示意列举说明了剩余预估时间算法的实际运算过程,将升级过程划分几个关键阶段,每个阶段缺省配置一个预估耗时时间。具体的,对于同一批次优先级升级的单板可能存在多块,可以取该批次预估耗时时间值最大的,所以将升级过程细分后,整体剩余预估时间就有了基准预估时间:本此升级涉及的各个阶段预估耗时时间 各批次升级优先级升级预估耗时时间。但是这个经验值在不同业务模型或场景下,可能存在差异,为了更精确,可以引入网元升级耗时学习调整过程,在实际升级过程中,每个阶段升级结束计算出实际耗时,跟当前阶段预估耗时比较(预估耗时比实际耗时多,对外显示预估整体耗时减去偏差值,反之,增加偏差值),就可以动态调整对外显示的整体剩余预估时间,同时将各个阶段实际升级耗时时间写入数据库,在下次升级时,优先读取数据库中的预估耗时时间做预估基准(第一次升级数据库不存在或数据库中仅记录预估耗时时间,此时只能使用各个阶段缺省配置的预估耗时时间),这样剩余预估时间将更精准。
121.作为一种具体示例,当前升级过程示意存在6个阶段,每个阶段预估耗时时间有缺省配置,该6个阶段的预估耗时时间的累加值等于78min(分钟),就作为了升级启动时,显示剩余预估时间的最初时间,当第一个阶段实际升级完成后,实际耗时时间为12min,由于在升级过程中,对外显示的剩余预估时间是实时递减的,所以在本阶段实际升级完成时,显示的剩余预估时间是78-12=66min,但是本阶段预估耗时时间是15min,所以该阶段升级完成后,进入下阶段开始,对外呈现的剩余预估时间需要补偿偏差值(加或减补偿),由于此阶段预估耗时时间大于实际耗时时间,所以剩余预估时间需要减去此阶段预估耗时时间的偏差值66-3=63min。此时剩余预估时间的显示由66min会直接跳变到63min,没有时间递减的过程。
122.同理,第二阶段开始在第一阶段纠正后的剩余预估时间63min作为基准,通过示例可以看出,第二阶段预估时间小于了实际耗时时间,偏差值是5min,但是由于对外时间显示是实时递减,在第二阶段刚结束时,剩余预估时间递减到63-25=38min,但是在第二阶段结束后进行此阶段的预估耗时时间偏差补偿后,剩余预估时间发生跳变,对外调整显示的剩余预估时间为38 5=43min。
123.其他阶段依次类推,在升级结束后,剩余预估时间会调整为0min,表明当前升级已结束。
124.参见图11所示,示意说明了在升级过程中增加的升级进度的显示示例,实现升级操作的可视化,提升用户对升级结果的心理预期,通过向用户提供用于显示升级进度命令(如前述示例中的“show”命令),升级进度显示内容包括但不限于:升级的版本,升级开始时间,升级结束时间,剩余预估时间,各批次升级优先级单板的升级状态(等待升级、升级中、升级完成,以及升级成功或升级失败等)。
125.该图11表示了升级刚开始时的状态,当前升级结束时间还未知不显示,待启动冷补丁升级的单板按照升级优先级分行显示,已启动升级的优先级批次升级状态显示为upgrading(升级中),未启动升级的优先级批次升级状态显示为wait-upgrade(等待升级)。同时可以看到主控单板的升级优先级最高,非主控单板的升级优先级都是从1开始的。
126.同时需要说明的是,冷补丁升级过程显示的升级状态,仅仅是涉及冷补丁升级的单板的升级状态,如果冷补丁包中不涉及升级的单板,是不会显示在冷补丁升级状态中的。
127.如图12所示,表示了升级进行中时的状态,当前冷补丁升级的单板按照升级优先级分行显示,已完成升级的优先级批次升级状态(status一栏)显示为upgraded(升级完成),正在升级的优先级批次升级状态显示为upgrading(升级中),剩余预估时间在实时递减调整。对于普通单板的冷补丁升级,同一批次升级优先级的多块单板都是同时升级的,该批次单板的升级进度显示为upgrading(升级中)。同时,冷补丁升级过程显示升级已经完成的升级状态,包含了该批次升级优先级各个单板的单独升级状态。例如:主控单板升级优先级(priority一栏)为0,主控单板存在主备槽位(主控单板和备用主控单板的槽位),升级结果是都升级成功,success(升级成功)一栏显示为all表示全部升级成功,普通单板升级优先级为1的单板包括1、3槽的单板,同时该批次优先级已升级完成,但是该批次优先级的单板的升级结果可能不完全相同,因而可以分别显示,1槽升级成功,3槽升级失败。若个别单板升级失败,此时由于存在保护组的关系,用户可以选择是继续升级还是避免影响业务停止升级,若不继续升级可以触发升级回退,待问题解决后继续无损或微损升级。
128.如图13所示,表示了升级进行结束时的状态,当前升级结束时间已正常显示升级结束的时间,升级预估的剩余时间也是在实时递减调整为0min了。此时,冷补丁升级状态全部显示为upgraded(升级完成),但是升级的结果单独显示在success(升级成功)以及fail(升级失败)两列,若个别单板升级失败,此时可以单独针对升级失败的单板确认问题后单独恢复。
129.实施例三:
130.本实施例提供了一种单板设备,参见图14所示,其包括处理器141、存储器142及通信总线143,其中:
131.通信总线143用于实现处理器141和存储器142之间的连接通信;
132.处理器141用于执行存储器142中存储的一个或者多个计算机程序,以实现上述实施例一和实施例二中的单板升级方法中的至少一个步骤。
133.本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(randomaccessmemory,随机存取存储器),rom(read-onlymemory,只读存储器),eeprom(electricallyerasableprogrammablereadonlymemory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compactdiscread-onlymemory,光盘只读存储器),dvd(digital versatiledisc,数字多功能盘)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
134.本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述实施例一和实施例二中的单板升
级方法的至少一个步骤。
135.可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
136.此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
137.以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献