CN116048571A - 软件升级方法、装置、分布式设备和计算机可读存储介质 - Google Patents
软件升级方法、装置、分布式设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN116048571A CN116048571A CN202211644314.6A CN202211644314A CN116048571A CN 116048571 A CN116048571 A CN 116048571A CN 202211644314 A CN202211644314 A CN 202211644314A CN 116048571 A CN116048571 A CN 116048571A
- Authority
- CN
- China
- Prior art keywords
- software
- board card
- fault
- service board
- upgraded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提出一种软件升级方法、装置、分布式设备和计算机可读存储介质,涉及通信领域。该方法由分布式设备根据当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息,从软件版本服务器获取待升级板卡型号和待升级板卡型号对应的最新版本软件,对于不需要进行软件升级的业务板卡以及当前未使用的业务板卡的最新版本软件则不会获取,实现了软件的按需获取,减少了软件获取时间,相比于传统的将所有可能用到的软件都下载保存的升级方案,能有效降低内存资源消耗,提高升级效率。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种软件升级方法、装置、分布式设备和计算机可读存储介质。
背景技术
随着互联网技术的高速发展,在网络环境搭建中,需要支持各种不同类型的业务接口,使得分布式设备被广泛应用。分布式设备一般由主控板卡和多张业务板卡组成,不同的业务板卡可以提供不同的业务接口。随着需求的不断更新,需要不断研发新类型的业务板卡,以满足客户的多种需求。
主控板卡和业务板卡内部均运行有软件,由于各个业务板卡所使用的芯片和处理的网络业务存在差异,因此各个业务板卡使用的软件版本可能并不相同,当软件版本有更新或者业务板卡出现故障,通常需要为业务板卡安装新的软件,即进行软件升级。
目前通用的软件升级方案,是将分布式设备支持的所有类型的业务板卡的软件都下载到主控板卡上保存,各业务板卡需要升级时,向主控板卡获取相应的软件进行软件升级。当分布式设备支持的业务板卡类型更丰富之后,主控板卡上存放的业务板卡的软件就更多,造成主控板卡上的内存资源大量消耗。此外,将分布式设备支持的所有类型的业务板卡的软件都下载到主控板卡上还会消耗网络带宽资源,下载软件需要更长的时间,从而降低了升级效率。
发明内容
有鉴于此,本发明的目的在于提供一种软件升级方法、装置、分布式设备和计算机可读存储介质,以解决现有技术存在的内存资源消耗大、升级效率低的问题。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种软件升级方法,应用于分布式设备,所述分布式设备与软件版本服务器通信连接;所述方法包括:
根据接收的升级命令向所述软件版本服务器发送设备升级消息;所述设备升级消息携带所述分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息;
接收所述软件版本服务器根据所述设备升级消息返回的待升级板卡型号和所述待升级板卡型号对应的最新版本软件;其中,所述待升级板卡型号由所述软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定;
根据所述待升级板卡型号对应的最新版本软件,对所述待升级板卡型号对应的业务板卡进行软件升级。
在可选的实施方式中,在根据所述待升级板卡型号对应的最新版本软件,对所述待升级板卡型号对应的业务板卡进行软件升级之后,所述方法还包括:
若所述待升级板卡型号对应的业务板卡为预先配置的常用业务板卡,则将所述待升级板卡型号对应的最新版本软件保存到主控板卡上;
若所述待升级板卡型号对应的业务板卡不为预先配置的常用业务板卡,则将所述待升级板卡型号对应的最新版本软件删除。
在可选的实施方式中,所述分布式设备还与故障处理服务器通信连接;所述故障处理服务器存储有业务板卡的板卡型号、故障类型和故障处理策略的对应关系;所述方法还包括:
在检测到有业务板卡故障的情况下,向所述故障处理服务器发送板卡故障消息;所述板卡故障消息携带故障业务板卡的板卡型号和故障类型;
接收所述故障处理服务器根据所述板卡故障消息返回的故障处理结果消息;所述故障处理结果消息由所述故障处理服务器根据所述故障业务板卡的板卡型号和故障类型对应的故障处理策略获得;
根据所述故障处理结果消息对所述故障业务板卡进行故障修复。
在可选的实施方式中,所述故障类型包括硬件故障,所述硬件故障对应的故障处理结果消息中携带待更换板卡型号;
所述根据所述故障处理结果消息对所述故障业务板卡进行故障修复,包括:
若所述故障处理结果消息中携带待更换板卡型号且当前未保存所述待更换板卡型号对应的软件,则从所述软件版本服务器获取所述待更换板卡型号对应的最新版本软件;
在所述故障业务板卡被更换为所述待更换板卡型号对应的新业务板卡后,将所述待更换板卡型号对应的最新版本软件发送到所述新业务板卡,以使所述新业务板卡根据所述待更换板卡型号对应的最新版本软件进行软件升级。
在可选的实施方式中,所述方法还包括:
若所述新业务板卡为预先配置的常用业务板卡,则将所述待更换板卡型号对应的最新版本软件保存到主控板卡上;
若所述新业务板卡不为预先配置的常用业务板卡,则将所述待更换板卡型号对应的最新版本软件删除。
在可选的实施方式中,所述方法还包括:
若所述主控板卡上保存的常用业务板卡的软件在预设时间范围内被使用过,则在所述常用业务板卡的软件被使用之后,重新开始计时;
若所述常用业务板卡的软件在所述预设时间范围内未被使用过,则将所述常用业务板卡的软件从所述主控板卡上删除。
在可选的实施方式中,所述故障类型包括逻辑错误,所述逻辑错误对应的故障处理结果消息中携带所述故障业务板卡对应的待升级软件版本信息;
所述根据所述故障处理结果消息对所述故障业务板卡进行故障修复,包括:
若所述故障处理结果消息中携带所述故障业务板卡对应的待升级软件版本信息,则从所述软件版本服务器获取所述待升级软件版本信息对应的软件,并将所述待升级软件版本信息对应的软件发送到所述故障业务板卡,以使所述故障业务板卡根据所述待升级软件版本信息对应的软件进行软件升级。
第二方面,本发明提供一种软件升级装置,应用于分布式设备,所述分布式设备与软件版本服务器通信连接;所述装置包括:
发送模块,用于根据接收的升级命令向所述软件版本服务器发送设备升级消息;所述设备升级消息携带所述分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息;
接收模块,用于接收所述软件版本服务器根据所述设备升级消息返回的待升级板卡型号和所述待升级板卡型号对应的最新版本软件;其中,所述待升级板卡型号由所述软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定;
处理模块,用于根据所述待升级板卡型号对应的最新版本软件,对所述待升级板卡型号对应的业务板卡进行软件升级。
第三方面,本发明提供一种分布式设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如前述实施方式中任一项所述的软件升级方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的软件升级方法的步骤。
本发明实施例提供的软件升级方法、装置、分布式设备和计算机可读存储介质,该方法根据接收的升级命令向软件版本服务器发送设备升级消息;设备升级消息携带分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息;接收软件版本服务器根据设备升级消息返回的待升级板卡型号和待升级板卡型号对应的最新版本软件;其中,待升级板卡型号由软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定;根据待升级板卡型号对应的最新版本软件,对待升级板卡型号对应的业务板卡进行软件升级。由于分布式设备是根据当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息,从软件版本服务器获取待升级板卡型号和待升级板卡型号对应的最新版本软件,对于不需要进行软件升级的业务板卡以及当前未使用的业务板卡的最新版本软件则不会获取,实现了软件的按需获取,减少了软件获取时间,相比于传统的将所有可能用到的软件都下载保存的升级方案,能有效降低内存资源消耗,提高升级效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了适用于本发明实施例的一种应用环境示意图;
图2示出了本发明实施例提供的软件升级方法的一种流程示意图;
图3示出了本发明实施例提供的软件升级方法的另一种流程示意图;
图4示出了本发明实施例提供的软件升级方法的又一种流程示意图;
图5示出了设备升级消息的数据格式示意图;
图6示出了软件版本部署示意图;
图7示出了设备升级回应消息的数据格式示意图;
图8示出了适用于本发明实施例的另一种应用环境示意图;
图9示出了本发明实施例提供的软件升级方法的再一种流程示意图;
图10示出了板卡故障消息的数据格式示意图;
图11示出了本发明实施例提供的软件升级装置的一种功能模块图;
图12示出了本发明实施例提供的分布式设备的一种方框示意图。
图标:100-软件版本服务器;200-分布式设备;300-故障处理服务器;600-软件升级装置;210-存储器;220-处理器;230-通信模块;610-发送模块;620-接收模块;630-处理模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前,对于分布式设备的软件升级方案,主要是将该分布式设备可能用到的各个业务板卡所需要的软件都下载保存到主控板卡,当业务板卡需要进行软件升级的时候,业务板卡向主控板卡发送软件版本请求消息下载相应的软件进行升级。然而,这种软件升级方案存在以下不足:
(1)占用主控板卡大量内存来保存不同类型的业务板卡的软件。随着分布式设备支持的业务板卡类型更丰富之后,由于不同类型所使用的软件版本不一致,导致按现有的升级方案会使主控板卡上会存放多个类型的业务板卡的软件,从而消耗大量主控板卡上的内存空间。并且,一个分布式设备虽然支持多个类型的业务板卡,但是如果用户只使用了一种类型的业务板卡,这种情况下主控板卡上仍然需要存放用户使用不到的业务板卡的软件,造成主控板卡上不必要的内存消耗。
(2)下载分布式设备支持的所有类型的业务板卡的软件,造成对网络带宽消耗和延长升级时间。将所有类型的业务板卡的软件均下载到主控板卡上也会消耗网络带宽资源,下载软件需要更长的时间,从而降低了升级效率。
为了解决现有技术方案存在的内存资源消耗大、升级效率低的问题,本发明实施例提供了一种软件升级方法、装置、分布式设备和计算机可读存储介质,其根据分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息,从软件版本服务器获取待升级板卡型号和待升级板卡型号对应的最新版本软件,对于不需要进行软件升级的板卡以及当前未使用的板卡的最新版本软件则不会获取,实现了软件的按需获取,减少了软件获取时间,相比于传统的将所有可能用到的软件都下载保存的升级方案,能有效降低内存资源消耗,提高升级效率。下面,将结合附图具体描述本发明中的各实施例。
首先,将对本发明实施例所涉及的一种应用环境进行介绍。
请参照图1,为适用于本发明实施例的一种应用环境示意图。如图1所示,网络中预先部署了软件版本服务器100,一个或多个分布式设备200通过网络和软件版本服务器100通信连接。例如,可以设置软件版本服务器100的IPv4地址为1.1.1.1,使用TCP端口号49177提供服务,软件版本服务器100启动时将开启监听该TCP端口;各个分布式设备200上配置了连接该软件版本服务器100的IPv4地址和TCP端口号。
在本实施例中,该软件版本服务器100上存储有不同分布式设备200支持的所有板卡的各种版本的软件,以供不同分布式设备200获取并进行软件升级。
在本实施例中,该分布式设备200可以包括主控板卡以及业务板卡,主控板卡和业务板卡的个数均可以为一个或者多个。例如,可以包括一个主控板卡和多个业务板卡,或者包括主、备两个主控板卡和多个业务板卡,本实施例对此不进行限制。该分布式设备200可以是分布式交换机、分布式路由器等网络设备,本实施例对此也不进行限制。
请参照图2,为本发明实施例提供的软件升级方法的一种流程示意图。需要说明的是,本发明实施例的软件升级方法并不以图2以及以下的具体顺序为限制,应当理解,在其他实施例中,本发明实施例的软件升级方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该软件升级方法可以应用在上述的分布式设备200中,下面将对图2所示的具体流程进行详细阐述。
步骤S201,根据接收的升级命令向软件版本服务器发送设备升级消息;设备升级消息携带分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息。
在本实施例中,用户可以通过shell命令或者网管向分布式设备下发升级命令,分布式设备接收到该升级命令后,通过主控板卡向软件版本服务器100发送设备升级消息,并在设备升级消息中携带该分布式设备200当前使用的各业务板卡的板卡型号以及各业务板卡当前使用的软件版本信息。
各业务板卡在本实施例中,由于一个分布式设备200可以支持多个类型的业务板卡,但是用户可能只使用其中一种或者多种,故该分布式设备200当前使用的各业务板卡可以理解为该分布式设备200中当前存在的各个业务板卡;各业务板卡当前使用的软件版本信息可以理解为各业务板卡上当前安装的软件的版本信息,包括各业务板卡以及各业务板卡上的各个部件当前安装的软件的版本信息。
步骤S202,接收软件版本服务器根据设备升级消息返回的待升级板卡型号和待升级板卡型号对应的最新版本软件;其中,待升级板卡型号由软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定。
在本实施例中,软件版本服务器100接收到分布式设备200发来的设备升级消息后,从设备升级消息中解析出该分布式设备200当前使用的各个业务板卡的板卡型号和各个业务板卡当前使用的软件版本信息。由于软件版本服务器100上存储有不同分布式设备200支持的所有板卡的各种版本的软件,故根据解析出的各业务板卡的板卡型号,可以找到每个板卡型号对应的最新版本软件的版本信息,通过将每个板卡型号对应的最新版本软件的版本信息与对应业务板卡当前使用的软件版本信息进行对比,可以确定出没有运行最新版本软件的业务板卡,也即是需要进行软件升级的业务板卡(即待升级业务板卡),进而获得待升级业务板卡的板卡型号(即待升级板卡型号)。
例如,当某个板卡型号对应的最新版本软件的版本信息大于对应业务板卡当前使用的软件版本信息,可将该板卡型号对应的业务板卡确定为待升级业务板卡;当某个板卡型号对应的最新版本软件的版本信息不大于对应业务板卡当前使用的软件版本信息,则判定该板卡型号对应的业务板卡不需要进行软件升级。
软件版本服务器100在确定出待升级板卡型号后,会将该待升级板卡型号以及当前存储的该待升级板卡型号对应的最新版本软件发送到该分布式设备200的主控板卡。需要说明的是,待升级板卡型号与待升级板卡型号对应的最新版本软件可以同时发送,也可以先后发送,本发明实施例对此不进行限制。例如,软件版本服务器100可以先向分布式设备200发送待升级板卡型号,然后通过FTP(File Transfer Protocol,文件传输协议)向分布式设备200发送该待升级板卡型号对应的最新版本软件。
步骤S203,根据待升级板卡型号对应的最新版本软件,对待升级板卡型号对应的业务板卡进行软件升级。
在本实施例中,该分布式设备200的主控板卡接收到软件版本服务器100发送的待升级板卡型号和对应的最新版本软件后,可根据待升级板卡型号对应的最新版本软件,对该待升级板卡型号对应的业务板卡进行软件升级。
需要说明的是,在实际应用中,分布式设备200的主控板卡也会有软件升级的需求,故在向软件版本服务器100发送设备升级消息时,设备升级消息中除了携带分布式设备200当前使用的各业务板卡的板卡型号以及各业务板卡当前使用的软件版本信息外,还可以携带主控板卡的板卡型号以及主控板卡当前使用的软件版本信息;软件版本服务器100通过将主控板卡当前使用的软件版本信息与软件版本服务器100上存储的主控板卡的最新版本软件的版本信息进行对比,确定该主控板卡是否需要升级,如果需要升级,则会将该主控板卡对应的最新版本软件发送到主控板卡上,由主控板卡自身完成软件升级。
可见,本发明实施例提供的软件升级方法,其根据接收的升级命令向软件版本服务器发送设备升级消息;设备升级消息携带分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息;接收软件版本服务器根据设备升级消息返回的待升级板卡型号和待升级板卡型号对应的最新版本软件;其中,待升级板卡型号由软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定;根据待升级板卡型号对应的最新版本软件,对待升级板卡型号对应的业务板卡进行软件升级。由于分布式设备是根据当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息,从软件版本服务器获取待升级板卡型号和待升级板卡型号对应的最新版本软件,对于不需要进行软件升级的业务板卡以及当前未使用的业务板卡的最新版本软件则不会获取,实现了软件的按需获取,减少了软件获取时间,相比于传统的将所有可能用到的软件都下载保存的升级方案,能有效降低内存资源消耗,提高升级效率。
在实际应用中,考虑到完成软件升级后,有些业务板卡对应的最新版本软件不会再被使用;而有些业务板卡则会有经常换卡的需求,在***新卡之后还会再次使用该最新版本软件进行升级。基于此,本发明实施例在完成软件升级之后,选择性地保留可能还会被使用的最新版本软件,并删除可能不会再被使用的最新版本软件。如图3所示,在步骤S203之后,该软件升级方法还可以包括:
步骤S301,若待升级板卡型号对应的业务板卡为预先配置的常用业务板卡,则将待升级板卡型号对应的最新版本软件保存到主控板卡上;若待升级板卡型号对应的业务板卡不为预先配置的常用业务板卡,则将待升级板卡型号对应的最新版本软件删除。
在本实施例中,用户可以根据分布式设备200的使用场景需求,通过shell命令,或者其他网管软件向分布式设备200下发配置,配置指定类型的业务板卡为常用业务板卡,例如配置板卡型号为1和2的业务板卡为常用业务板卡。其中,常用业务板卡指的是分布式设备200使用过程中根据业务需求在换卡或者***新卡的时候都以某一特定类型的业务板卡为主;例如,某个分布式设备200的机框内当前存在板卡型号为A的业务板卡,后面根据业务需求需要扩容,还是会***和板卡型号A一样的业务板卡,那么这个板卡型号为A的业务板卡就称之为常用业务板卡。
分布式设备200在完成软件升级之后,会判断该待升级业务板卡是否为预先配置的常用业务板卡,如果是预先配置的常用业务板卡,则需要将对应的最新版本软件保存在主控板卡上,方便后续有换卡或者***新卡的时候,***的新卡可以从主控板卡上获取对应的最新版本软件,快速进行升级。如果待升级业务板卡不是预先配置的常用业务板卡,则将对应的最新版本软件删除。
需要说明的是,由于主控板卡在实际应用中不会有经常换卡的情况,故本实施例中没有配置指定类型的主控板卡,对于获取的主控板卡的软件不进行删除动作,是考虑到主控板卡的重启、创建虚拟机等动作都需要使用该软件,故对主控板卡的软件进行保留。
可见,本发明实施例提供的软件升级方法,通过用户预先配置常用业务板卡,分布式设备可在完成软件升级之后,根据待升级业务板卡是否为预先配置的常用业务板卡,选择性地将属于常用业务板卡的待升级业务板卡的最新版本软件保存到主控板卡上,将其他不属于常用业务板卡的待升级业务板卡的最新版本软件删除,从而进一步减少了主控板卡上的内存资源消耗。
可选地,考虑到分布式设备200处于稳定运行的状态下,如果没有对常用业务板卡有升级需求,常用业务板卡的软件还是长期存放在主控板卡上,也会造成主控板卡的内存资源的不必要消耗。基于此,本发明实施例会对保留下来的常用业务板卡的软件执行老化机制,从而进一步减少对主控板卡的内存消耗。请参照图4,本发明实施例提供的软件升级方法还可以包括:
步骤S401,若主控板卡上保存的常用业务板卡的软件在预设时间范围内被使用过,则在常用业务板卡的软件被使用之后,重新开始计时;若常用业务板卡的软件在预设时间范围内未被使用过,则将常用业务板卡的软件从主控板卡上删除。
也即是说,在预设时间范围内,如果某个常用业务板卡没有升级需求,那么就不需要在主控板卡上存放该常用业务板卡对应的软件,从而将该常用业务板卡对应的软件从主控板卡上删除。
在实际应用中,用户可以根据自身业务场景,在分布式设备200上配置软件老化时间周期(即预设时间范围),分布式设备200完成软件升级后,对于保存到主控板卡上的常用业务板卡的每个版本软件进行监控,在指定的软件老化时间周期内,对于用户在设备运维过程中一直未使用到的软件进行删除,以此释放主控板卡的内存空间。
在一个示例中,本发明实施例采用的老化机制可以通过如下步骤实现:1)将主控板卡上保存的所有常用业务板卡的各版本软件加入老化机制检测链表;2)针对每一个版本的软件,启动一个老化机制定时器,定时器时长可以由用户配置,假设默认定时器时长为48小时;3)通过检测每个版本的软件是否有读的操作,来确定该版本软件是否有被使用;4)如果在定时器的超时时间内,某一个版本的软件有被使用过,则在该软件使用完之后,将该软件对应的定时器重置,重新开始计时;5)定时器计时结束后,如果对应的软件一直没有被使用,则将该从主控板卡上删除。
需要说明的是,图4中步骤S401与步骤S301的执行顺序仅为一种示例,在实际应用中,步骤S401可以在步骤S301之前执行,也可以在步骤S301之后执行,还可以与步骤S301同时执行,本实施例对此不进行限制。
下面,对上述软件升级方法的实现过程进行详细说明。用户根据某台支持多类型业务板卡的分布式设备的使用场景需求,在该分布式设备上配置指定类型的业务板卡为常用业务板卡。该分布式设备处于正常运行状态中,当需要进行软件升级时,用户通过shell命令或者网管向分布式设备下发升级命令,分布式设备的主控板卡向软件版本服务器发送设备升级消息。
该设备升级消息的数据格式如图5所示,包括设备类型字段、主控板卡类型字段、主控板卡的当前软件版本信息字段、业务板卡类型字段和业务板卡的当前软件版本信息字段;设备类型字段用于存放分布式设备的设备型号,主控板卡类型字段用于存放分布式设备当前使用的主控板卡的板卡型号,主控板卡的当前软件版本信息字段用于存放主控板卡以及主控板卡上各部件当前使用的软件版本信息,业务板卡类型字段用于存放分布式设备当前使用的业务板卡的板卡型号,业务板卡的当前软件版本信息字段用于存放业务板卡以及业务板卡上各部件当前使用的软件版本信息。其中,设备类型字段、主控板卡类型字段、主控板卡的当前软件版本信息字段均为4字节,业务板卡类型字段和业务板卡的当前软件版本信息字段为变长字段,其长度取决于当前分布式设备内使用了哪些业务板卡。
分布式设备的主控板卡向软件版本服务器发送设备升级消息后,会启动一个回应消息接收超时定时器,如果在指定时间内未收到软件版本服务器的回应消息,并且在消息重试发送后软件版本服务器仍然没有回应,则断开TCP连接,结束本次升级流程,升级失败。
软件版本服务器中存储了每种分布式设备支持的所有板卡的各种版本的软件,各软件版本可以采用图6所示的组织形式进行部署,即通过设备型号来关联各个设备可能用到的软件版本。具体的,可以设备型号为索引,在对应设备型号下关联该设备支持的主控板卡和业务板卡的软件版本,通过主控板卡和业务板卡的软件版本再关联到主控板卡和业务板卡上的各个部件对应的软件版本。
软件版本服务器收到设备升级消息后,从设备升级消息中解析出设备型号、主控板卡的板卡型号和主控板卡当前使用的软件版本信息、业务板卡的板卡型号和业务板卡当前使用的软件版本信息,根据设备型号和主控板卡的板卡型号可以查找到主控板卡以及主控板卡上的各个部件对应的最新版本软件的版本信息,根据设备型号和各个业务板卡的板卡型号可以查找到各业务板卡以及业务板卡上的各个部件对应的最新版本软件的版本信息。
软件版本服务器通过将主控板卡对应的最新版本软件的版本信息与主控板卡当前使用的软件版本信息进行对比,确定主控板卡是否需要进行软件升级;将各业务板卡对应的最新版本软件的版本信息和各业务板卡当前使用的软件版本信息进行对比,确定各业务板卡是否需要进行软件升级。最终根据确定出的需要软件升级的主控板卡和/或业务板卡,以及对应的最新版本软件的版本信息组装设备升级回应消息。该设备升级回应消息的数据格式如图7所示,包括主控板卡类型字段、主控板卡是否存在新软件版本字段、主控板卡新软件版本信息字段(如果存在新软件版本)、业务板卡类型字段、业务板卡是否存在新软件版本字段、业务板卡新软件版本信息字段(如果存在新软件版本)。软件版本服务器向分布式设备发送设备升级回应消息后,通过FTP向分布式设备发送其需要的软件(即需要软件升级的主控板卡和/或业务板卡的最新版本软件)。
分布式设备的主控板卡收到软件版本服务器发送的设备升级回应消息后,通过解析主控板卡类型字段、主控板卡是否存在新软件版本字段、主控板卡新软件版本信息字段的内容,可以确定主控板卡是否需要升级,以及需要升级,获得其最新版本软件对应的版本信息;同理,通过解析业务板卡类型字段、业务板卡是否存在新软件版本字段、业务板卡新软件版本信息字段的内容,可以确定各业务板卡是否需要升级,以及如果需要升级,获得其最新版本软件对应的版本信息。当主控板卡获得软件版本服务器发来的主控板卡和/或业务板卡对应的最新版本软件后,可对主控板卡和/或业务板卡进行软件版本升级,在升级完成之后,依据用户预先配置的常用业务板卡,将不是常用业务板卡对应的最新版本软件删除,保留主控板卡以及常用业务板卡对应的最新版本软件。同时,针对主控板卡上保存的常用业务板卡的软件执行老化机制,针对设备运维过程中一直未使用到的软件进行删除,以此释放主控板卡的内存空间。
通过上述步骤,即可完成分布式设备正常运行状态下的软件升级,由于是根据分布式设备内当前使用的业务板卡向软件版本服务器获取需要升级的业务板卡的最新版本软件,而不是将分布式设备所支持的所有业务板卡的软件都下载到主控板卡,同时结合老化机制,有效减少了对主控板卡的内存消耗。
在实际应用中,分布式设备除了在正常运行状态下有软件升级的需求外,还可能因业务板卡出现故障,需要通过软件升级的方式进行故障修复。基于此,请参照图8,本发明实施例还在网络中预先部署了一台故障处理服务器300,各个分布式设备200通过网络和故障处理服务器300通信连接。例如,可以设置故障处理服务器300的IPv4地址为1.1.1.2,使用TCP端口号49178提供服务,故障处理服务器300启动时将开启监听该TCP端口;各个分布式设备200上配置了连接该故障处理服务器300的IPv4地址和TCP端口号。故障处理服务器300中部署了针对分布式设备200常见故障的处理策略,并存储有分布式设备200的业务板卡的板卡型号、故障类型和故障处理策略的对应关系,故障处理策略可以由运维人员通过python或者其他自动化脚本实现。当分布式设备200上的业务板卡出现故障时,需要对业务板卡进行故障修复,在此情形下,请参照图9,本发明实施例提供的软件升级方法还可以包括:
步骤S901,在检测到有业务板卡故障的情况下,向故障处理服务器发送板卡故障消息;板卡故障消息携带故障业务板卡的板卡型号和故障类型。
在本实施例中,分布式设备200使用预设的业务板卡故障检测机制,检测到有业务板卡故障后,向故障处理服务器300发送板卡故障消息,并在板卡故障消息中携带故障业务板卡的板卡型号以及故障类型。
步骤S902,接收故障处理服务器根据板卡故障消息返回的故障处理结果消息;故障处理结果消息由故障处理服务器根据故障业务板卡的板卡型号和故障类型对应的故障处理策略获得。
在本实施例中,故障处理服务器300收到板卡故障消息后,根据故障业务板卡的板卡型号和故障类型和存储的业务板卡的板卡型号、故障类型和故障处理策略的对应关系,确定该故障业务板卡对应的故障处理策略,并根据该故障处理策略下发故障处理结果消息。
步骤S903,根据故障处理结果消息对故障业务板卡进行故障修复。
在本实施例中,由于故障处理结果消息是故障处理服务器300根据故障业务板卡的板卡型号和故障类型所对应的故障处理策略下发的,故分布式设备的主控板卡收到该故障处理结果消息后,可按照该故障处理结果消息的指示对该故障板卡进行故障修复。
可见,本发明实施例提供的软件升级方法,通过在故障处理服务器上提前部署不同类型故障对应的故障处理策略,在分布式设备上的业务板卡出现故障时,能够及时下发相应的故障处理结果消息,使得业务板卡的故障得以快速处理并恢复业务。
在实际应用中,业务板卡的故障有多种类型,故业务板卡的板卡型号、故障类型和故障处理策略的对应关系有多种,对于通过软件升级的方式进行故障修复,本实施例中主要包括两种情况,一种是需要对业务板卡进行软件升级修复,另一种是需要更换故障业务板卡,并对更换后的新卡进行快速升级。下面分别对这两种情况进行说明。
对于需要对更换后的新卡进行快速升级的情况,该故障类型包括硬件故障,硬件故障对应的故障处理结果消息中携带待更换板卡型号。上述步骤S903可以包括:若故障处理结果消息中携带待更换板卡型号且当前未保存待更换板卡型号对应的软件,则从软件版本服务器获取待更换板卡型号对应的最新版本软件;在故障业务板卡被更换为待更换板卡型号对应的新业务板卡后,将待更换板卡型号对应的最新版本软件发送到新业务板卡,以使新业务板卡根据待更换板卡型号对应的最新版本软件进行软件升级。
也即是说,当业务板卡的故障类型为硬件故障时,该故障类型对应的故障处理策略为更换新卡,故障处理服务器300可以通知运维人员需要更换的业务板卡的板卡型号(即待更换板卡型号),然后下发携带待更换板卡型号的故障处理结果消息到分布式设备200。
分布式设备200的主控板卡收到该故障处理结果消息后,解析出待更换板卡型号,根据待更换板卡型号判断主控板卡上是否存有对应业务板卡所需要的软件,如果没有,则向软件版本服务器100请求该待升级板卡型号对应的最新版本软件,将该待升级板卡型号对应的最新版本软件下载到主控板卡上,为后续***的新卡升级做好准备。当将故障业务板卡拔出并***待更换板卡型号对应的新业务板卡后,新业务板卡在升级软件版本的时候可以直接从主控板卡获取对应的最新版本软件并完成软件升级。
可选地,为了减少主控板卡的内存消耗,当新业务板卡完成软件升级之后,仍可以根据用户配置的常用业务板卡决定是删除下载的最新版本软件还是保存到主控板卡上开始运行老化机制。基于此,本发明实施例提供的软件升级方法还可以包括:若新业务板卡为预先配置的常用业务板卡,则将待更换板卡型号对应的最新版本软件保存到主控板卡上;若新业务板卡不为预先配置的常用业务板卡,则将待更换板卡型号对应的最新版本软件删除。
也即是说,如果***的新业务板卡是预先配置的常用业务板卡,则在该新业务板卡完成升级之后,将其对应的最新版本软件保存在主控板卡上,并对该最新版本软件执行老化机制,老化机制可以参考前述图4的相关内容,此处不再赘述。如果***的新业务板卡不是预先配置的常用业务板卡,则可将其对应的最新版本软件删除,从而减少主控板卡的内存消耗。
对于需要对业务板卡进行软件升级修复的情况,该故障类型包括逻辑错误,逻辑错误对应的故障处理结果消息中携带故障业务板卡对应的待升级软件版本信息。上述步骤S903可以包括:若故障处理结果消息中携带故障业务板卡对应的待升级软件版本信息,则从软件版本服务器获取待升级软件版本信息对应的软件,并将待升级软件版本信息对应的软件发送到故障业务板卡,以使故障业务板卡根据待升级软件版本信息对应的软件进行软件升级。
也即是说,当业务板卡的故障类型为逻辑错误时,该故障类型对应的故障处理策略为升级出错的软件版本,故障处理服务器300下发携带待升级软件版本信息的故障处理结果消息到分布式设备200。
分布式设备200的主控板卡收到该故障处理结果消息后,解析出故障业务板卡对应的待升级软件版本信息,然后向软件版本服务器100请求该待升级软件版本信息对应的软件,将该待升级软件版本信息对应的软件下载到主控板卡上,并根据该待升级软件版本信息对应的软件对故障业务板卡进行软件升级修复。
下面,对分布式设备的业务板卡出现故障,需要对故障业务板卡进行软件升级修复,或者更换的新业务板卡进行软件升级的过程进行详细说明。分布式设备通过业务板卡故障检测机制,检测到有业务板卡故障后,向故障处理服务器发送板卡故障消息,该板卡故障消息的数据格式如图10所示,包括设备类型字段、主控板卡类型字段、业务板卡类型字段、业务板卡故障类型字段以及业务板卡的当前软件版本信息字段;设备类型字段用于存放分布式设备的设备型号,主控板卡类型字段用于存放分布式设备当前使用的主控板卡的板卡型号,业务板卡类型字段用于存放故障业务板卡的板卡型号,业务板卡故障类型字段用于存放故障业务板卡的故障类型,业务板卡的当前软件版本信息字段用于存放故障业务板卡或故障业务板卡上的部件当前使用的软件版本信息。
故障处理服务器收到板卡故障消息后,根据故障业务板卡的板卡型号和故障类型查找如表1所示的业务板卡的板卡型号、故障类型和故障处理策略对应关系,获得对应的故障处理策略,并依据该故障处理策略下发故障处理结果消息到分布式设备。
表1
对于硬件故障,如业务板卡(板卡型号为A)的温度传感器故障,主控板卡收到故障处理服务器下发的故障处理结果消息后,解析故障处理结果消息得到待更换板卡型号,根据待更换板卡型号判断主控板卡上是否存有对应业务板卡所需要的软件,如果没有,就向软件版本服务器请求该待更换板卡型号对应的最新版本软件,并下载到主控板卡上,为后续***的新业务板卡升级做好准备。当拔出故障业务板卡并***新业务板卡后,新业务板卡在升级软件版本的时候,可以直接从主控板卡上获取要使用的软件。当新业务板卡完成升级后,主控板卡根据用户配置决定是删除新业务板卡对应的软件还是保存到主控板卡上开始运行老化机制。
对于逻辑错误故障,如业务板卡(板卡型号为A)上的某个部件出现逻辑错误,主控板卡收到故障处理服务器下发的故障处理结果消息后,解析故障处理结果消息得到该部件对应的待升级软件版本信息,然后向软件版本服务器请求该待升级软件版本信息对应的软件,根据该待升级软件版本信息对应的软件对该部件进行软件升级修复。
通过上述步骤,分布式设备在故障处理服务器的配合下,能够对业务板卡的故障进行自动化的决策,并对可以通过升级软件版本进行修复的故障进行快速修复,在需要更换新业务板卡的时候对新业务板卡进行快速升级,使用户在遇到故障的时候,设备故障可以得到快速处理并恢复业务。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种软件升级装置的实现方式。请参阅图11,为本发明实施例提供的软件升级装置600的一种功能模块图。需要说明的是,本实施例所提供的软件升级装置600,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该软件升级装置600包括:发送模块610、接收模块620和处理模块630。
该发送模块610,用于根据接收的升级命令向软件版本服务器发送设备升级消息;设备升级消息携带分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息。
可以理解,该发送模块610可以执行上述步骤S201。
该接收模块620,用于接收软件版本服务器根据设备升级消息返回的待升级板卡型号和待升级板卡型号对应的最新版本软件;其中,待升级板卡型号由软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定。
可以理解,该接收模块620可以执行上述步骤S202。
该处理模块630,用于根据待升级板卡型号对应的最新版本软件,对待升级板卡型号对应的业务板卡进行软件升级。
可以理解,该处理模块630可以执行上述步骤S203。
可选地,该处理模块630还用于若待升级板卡型号对应的业务板卡为预先配置的常用业务板卡,则将待升级板卡型号对应的最新版本软件保存到主控板卡上;若待升级板卡型号对应的业务板卡不为预先配置的常用业务板卡,则将待升级板卡型号对应的最新版本软件删除。
可以理解,该处理模块630还可以执行上述步骤S301。
可选地,该处理模块630还用于若主控板卡上保存的常用业务板卡的软件在预设时间范围内被使用过,则在常用业务板卡的软件被使用之后,重新开始计时;若常用业务板卡的软件在预设时间范围内未被使用过,则将常用业务板卡的软件从主控板卡上删除。
可以理解,该处理模块630还可以执行上述步骤S401。
可选地,该处理模块630还用于在检测到有业务板卡故障的情况下,向故障处理服务器发送板卡故障消息;板卡故障消息携带故障业务板卡的板卡型号和故障类型;接收故障处理服务器根据板卡故障消息返回的故障处理结果消息;故障处理结果消息由故障处理服务器根据故障业务板卡的板卡型号和故障类型对应的故障处理策略获得;根据故障处理结果消息对故障业务板卡进行故障修复。
可以理解,该处理模块630还可以执行上述步骤S901~S903。
可选地,故障类型包括硬件故障,硬件故障对应的故障处理结果消息中携带待更换板卡型号;该处理模块630具体用于若故障处理结果消息中携带待更换板卡型号且当前未保存待更换板卡型号对应的软件,则从软件版本服务器获取待更换板卡型号对应的最新版本软件;在故障业务板卡被更换为待更换板卡型号对应的新业务板卡后,将待更换板卡型号对应的最新版本软件发送到新业务板卡,以使新业务板卡根据待更换板卡型号对应的最新版本软件进行软件升级。
可选地,该处理模块630还具体用于若新业务板卡为预先配置的常用业务板卡,则将待更换板卡型号对应的最新版本软件保存到主控板卡上;若新业务板卡不为预先配置的常用业务板卡,则将待更换板卡型号对应的最新版本软件删除。
可选地,故障类型包括逻辑错误,逻辑错误对应的故障处理结果消息中携带故障业务板卡对应的待升级软件版本信息;该处理模块630还具体用于若故障处理结果消息中携带故障业务板卡对应的待升级软件版本信息,则从软件版本服务器获取待升级软件版本信息对应的软件,并将待升级软件版本信息对应的软件发送到故障业务板卡,以使故障业务板卡根据待升级软件版本信息对应的软件进行软件升级。
可见,本发明实施例提供的软件升级装置,包括发送模块、接收模块和处理模块,发送模块用于根据接收的升级命令向软件版本服务器发送设备升级消息;设备升级消息携带分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息;接收模块用于接收软件版本服务器根据设备升级消息返回的待升级板卡型号和待升级板卡型号对应的最新版本软件;其中,待升级板卡型号由软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定;处理模块用于根据待升级板卡型号对应的最新版本软件,对待升级板卡型号对应的业务板卡进行软件升级。由于是根据当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息,从软件版本服务器获取待升级板卡型号和待升级板卡型号对应的最新版本软件,对于不需要进行软件升级的业务板卡以及当前未使用的业务板卡的最新版本软件则不会获取,实现了软件的按需获取,减少了软件获取时间,相比于传统的将所有可能用到的软件都下载保存的升级方案,能有效降低内存资源消耗,提高升级效率。
请参照图12,为本发明实施例提供的分布式设备200的一种方框示意图。该分布式设备200包括存储器210、处理器220及通信模块230。存储器210、处理器220以及通信模块230各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器210用于存储程序或者数据。存储器210可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器220用于读/写存储器210中存储的数据或程序,并执行相应地功能。例如,当存储器210中存储的计算机程序被处理器220执行时,可以实现上述各实施例所揭示的软件升级方法。
通信模块230用于通过网络建立分布式设备200与其它设备之间的通信连接,并用于通过网络收发数据。
应当理解的是,图12所示的结构仅为分布式设备200的结构示意图,分布式设备200还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。图12中所示的各组件可以采用硬件、软件或其组合实现。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器220执行时实现上述各实施例所揭示的软件升级方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件升级方法,其特征在于,应用于分布式设备,所述分布式设备与软件版本服务器通信连接;所述方法包括:
根据接收的升级命令向所述软件版本服务器发送设备升级消息;所述设备升级消息携带所述分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息;
接收所述软件版本服务器根据所述设备升级消息返回的待升级板卡型号和所述待升级板卡型号对应的最新版本软件;其中,所述待升级板卡型号由所述软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定;
根据所述待升级板卡型号对应的最新版本软件,对所述待升级板卡型号对应的业务板卡进行软件升级。
2.根据权利要求1所述的软件升级方法,其特征在于,在根据所述待升级板卡型号对应的最新版本软件,对所述待升级板卡型号对应的业务板卡进行软件升级之后,所述方法还包括:
若所述待升级板卡型号对应的业务板卡为预先配置的常用业务板卡,则将所述待升级板卡型号对应的最新版本软件保存到主控板卡上;
若所述待升级板卡型号对应的业务板卡不为预先配置的常用业务板卡,则将所述待升级板卡型号对应的最新版本软件删除。
3.根据权利要求1所述的软件升级方法,其特征在于,所述分布式设备还与故障处理服务器通信连接;所述故障处理服务器存储有业务板卡的板卡型号、故障类型和故障处理策略的对应关系;所述方法还包括:
在检测到有业务板卡故障的情况下,向所述故障处理服务器发送板卡故障消息;所述板卡故障消息携带故障业务板卡的板卡型号和故障类型;
接收所述故障处理服务器根据所述板卡故障消息返回的故障处理结果消息;所述故障处理结果消息由所述故障处理服务器根据所述故障业务板卡的板卡型号和故障类型对应的故障处理策略获得;
根据所述故障处理结果消息对所述故障业务板卡进行故障修复。
4.根据权利要求3所述的软件升级方法,其特征在于,所述故障类型包括硬件故障,所述硬件故障对应的故障处理结果消息中携带待更换板卡型号;
所述根据所述故障处理结果消息对所述故障业务板卡进行故障修复,包括:
若所述故障处理结果消息中携带待更换板卡型号且当前未保存所述待更换板卡型号对应的软件,则从所述软件版本服务器获取所述待更换板卡型号对应的最新版本软件;
在所述故障业务板卡被更换为所述待更换板卡型号对应的新业务板卡后,将所述待更换板卡型号对应的最新版本软件发送到所述新业务板卡,以使所述新业务板卡根据所述待更换板卡型号对应的最新版本软件进行软件升级。
5.根据权利要求4所述的软件升级方法,其特征在于,所述方法还包括:
若所述新业务板卡为预先配置的常用业务板卡,则将所述待更换板卡型号对应的最新版本软件保存到主控板卡上;
若所述新业务板卡不为预先配置的常用业务板卡,则将所述待更换板卡型号对应的最新版本软件删除。
6.根据权利要求2或5所述的软件升级方法,其特征在于,所述方法还包括:
若所述主控板卡上保存的常用业务板卡的软件在预设时间范围内被使用过,则在所述常用业务板卡的软件被使用之后,重新开始计时;
若所述常用业务板卡的软件在所述预设时间范围内未被使用过,则将所述常用业务板卡的软件从所述主控板卡上删除。
7.根据权利要求3所述的软件升级方法,其特征在于,所述故障类型包括逻辑错误,所述逻辑错误对应的故障处理结果消息中携带所述故障业务板卡对应的待升级软件版本信息;
所述根据所述故障处理结果消息对所述故障业务板卡进行故障修复,包括:
若所述故障处理结果消息中携带所述故障业务板卡对应的待升级软件版本信息,则从所述软件版本服务器获取所述待升级软件版本信息对应的软件,并将所述待升级软件版本信息对应的软件发送到所述故障业务板卡,以使所述故障业务板卡根据所述待升级软件版本信息对应的软件进行软件升级。
8.一种软件升级装置,其特征在于,应用于分布式设备,所述分布式设备与软件版本服务器通信连接;所述装置包括:
发送模块,用于根据接收的升级命令向所述软件版本服务器发送设备升级消息;所述设备升级消息携带所述分布式设备当前使用的各业务板卡的板卡型号和各业务板卡当前使用的软件版本信息;
接收模块,用于接收所述软件版本服务器根据所述设备升级消息返回的待升级板卡型号和所述待升级板卡型号对应的最新版本软件;其中,所述待升级板卡型号由所述软件版本服务器根据当前存储的各业务板卡的最新版本软件的版本信息与各业务板卡当前使用的软件版本信息确定;
处理模块,用于根据所述待升级板卡型号对应的最新版本软件,对所述待升级板卡型号对应的业务板卡进行软件升级。
9.一种分布式设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的软件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的软件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211644314.6A CN116048571A (zh) | 2022-12-20 | 2022-12-20 | 软件升级方法、装置、分布式设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211644314.6A CN116048571A (zh) | 2022-12-20 | 2022-12-20 | 软件升级方法、装置、分布式设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048571A true CN116048571A (zh) | 2023-05-02 |
Family
ID=86113902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211644314.6A Pending CN116048571A (zh) | 2022-12-20 | 2022-12-20 | 软件升级方法、装置、分布式设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048571A (zh) |
-
2022
- 2022-12-20 CN CN202211644314.6A patent/CN116048571A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102262544B (zh) | 软件升级的方法和装置 | |
CN106888233B (zh) | 数据更新***及方法 | |
EP1288797A2 (en) | System and method to automate the management of computer services and programmable devices | |
CN106557384A (zh) | 基于Linux的数据处理方法、装置和*** | |
CN103200271A (zh) | Arm服务器及其自动化安装***的方法 | |
CN110391940A (zh) | 服务地址的响应方法、装置、***、设备和存储介质 | |
CN104899116A (zh) | 数据备份的方法、源服务器、目标服务器及*** | |
CN105721204A (zh) | 一种网络适配器的固件升级方法及*** | |
CN111273924A (zh) | 软件更新方法及装置 | |
CN104954482A (zh) | 管理配置的***及方法 | |
CN104978203A (zh) | 运行参数加载方法和装置 | |
CN107623705B (zh) | 基于视频云存储***的存储模式升级方法、装置和*** | |
CN111431951B (zh) | 一种数据处理方法、节点设备、***及存储介质 | |
CN116633766A (zh) | 故障处理方法、装置、电子设备及存储介质 | |
CN108521452B (zh) | 对业务版本进行智能升级的方法及*** | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、***、终端及存储介质 | |
CN116048571A (zh) | 软件升级方法、装置、分布式设备和计算机可读存储介质 | |
CN116560904A (zh) | Nas数据备份容灾方法、***、终端及存储介质 | |
CN114253573A (zh) | PCIe设备固件批量升级方法、***、终端及存储介质 | |
US11411829B1 (en) | Provisioning managed network nodes and/or managing network nodes | |
CN112769610A (zh) | 集中管理***的管理方法、装置、电子设备和存储介质 | |
CN112527327A (zh) | 一种uos操作***恢复出厂的方法、***、终端及存储介质 | |
CN111124428A (zh) | 一种基于中创中间件的应用自动化发布方法和相关装置 | |
CN110896407B (zh) | 一种nfvo组件配置管理、请求转发方法和请求处理装置 | |
CN114296909B (zh) | 一种根据kubernetes事件的节点自动扩容缩容方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |