CN111273924A - 软件更新方法及装置 - Google Patents
软件更新方法及装置 Download PDFInfo
- Publication number
- CN111273924A CN111273924A CN202010027054.2A CN202010027054A CN111273924A CN 111273924 A CN111273924 A CN 111273924A CN 202010027054 A CN202010027054 A CN 202010027054A CN 111273924 A CN111273924 A CN 111273924A
- Authority
- CN
- China
- Prior art keywords
- software
- latest
- version information
- version
- board
- 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.)
- Granted
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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本申请提供一种软件更新方法及装置,该方法应用于框式网络设备的任一业务板,该任一业务板在框式网络设备的主控板的控制下处理网络业务,该方法可以包括:向主控板发送版本信息获取请求,以接收上述主控板返回的最新软件版本信息;在上述最新软件版本信息与该任一业务板中当前安装软件的版本信息不一致的情况下,向主控板发送软件获取请求;接收上述主控板返回的所述最新软件版本信息对应的最新版本软件,并安装该最新版本软件以实现上述任一业务板的软件更新。通过本申请的技术方案,使业务板的软件更新过程具有相对较高的更新效率和可靠性。
Description
技术领域
本申请涉及网络设备技术领域,尤其涉及一种软件更新方法及装置。
背景技术
框式网络设备中,某一主控板控制的多个业务板内部均运行有软件,如业务处理软件、交互控制软件等,由于各业务板所连接网络设备及其处理的网络业务可能存在差异,因此各业务板内安装的软件版本可能并不相同,而且当某一业务板所处理业务发生变化时,通常需要为其安装新的软件,即软件更新。
在相关技术中,通常利用串口连接线将升级控制设备与待升级业务板相连,然后通过串口传输的方式将最新版本软件发送给待升级业务板,从而实现软件更新。然而,在框式网络设备中待升级业务板数量较多的情况下,该方式不仅需要运维人员插拔连接各待升级业务板的串口连接线,操作繁琐使得升级效率较低;而且在原版本软件或新版本软件较多的情况下,易出现错选版本使得软件版本与业务板不匹配,进而影响业务的正常处理,从而更新可靠性较低。
发明内容
有鉴于此,本申请提供一种软件更新方法及装置,以解决相关技术中存在的问题。
为实现上述目的,本申请提供技术方案如下:
根据本申请的第一方面,提出了一种软件更新方法,应用于框式网络设备的任一业务板,所述任一业务板在所述框式网络设备的主控板的控制下处理网络业务,所述方法包括:
向所述主控板发送版本信息获取请求,以接收所述主控板返回的最新软件版本信息;
在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,向所述主控板发送软件获取请求;
接收所述主控板返回的所述最新软件版本信息对应的最新版本软件,并安装所述最新版本软件以实现所述任一业务板的软件更新。
根据本申请的第二方面,提出了一种软件更新装置,应用于框式网络设备的任一业务板,所述任一业务板在所述框式网络设备的主控板的控制下处理网络业务,所述装置包括:
版本信息获取单元,用于向所述主控板发送版本信息获取请求,以接收所述主控板返回的最新软件版本信息;
软件获取单元,用于在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,向所述主控板发送软件获取请求;
软件更新单元,用于接收所述主控板返回的所述最新软件版本信息对应的最新版本软件,并安装所述最新版本软件以实现所述任一业务板的软件更新。
根据本申请的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现如上述第一方面方案中任一项所述方法的步骤。
根据本申请的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第一方面方案中任一项所述方法的步骤。
由以上技术方案可见,本申请在框式网络设备内部的业务板软件需要更新时,主动向主控板请求并接收主控板自动下发的新版本软件,而非通过串口接收外部设备发送的新版本软件,从而无需运维人员现场参与,实现了框式网络设备业务板软件的自动更新,提升了更新效率;并且由业务板主动向主控板请求版本比较标识以确定是否需要升级,保证了所升级软件的版本与业务板相匹配,从而避免了错选版本,提高了软件更新的可靠性。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是典型的框式网络设备的结构示意图。
图2是本申请一示例性实施例示出的一种软件更新方法的流程图。
图3是本申请一示例性实施例示出的一种软件更新方法对应的主控板与业务板的交互流程图。
图4是本申请一示例性实施例示出的一种业务板侧软件更新方法流程图。
图5是本申请一示例性实施例示出的一种电子设备的结构示意图。
图6是本申请一示例性实施例示出的一种软件更新装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一比较位也可以被称为第二比较位,类似地,第二比较位也可以被称为第一比较位。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是典型的框式网络设备的结构示意图。如图1所示,在常见的框式交换机等框式转发设备中通常包括控制业务板的主控板和多个处理业务的业务板,由于不同业务板所连接设备及处理的网络业务往往并不相同,因此各业务板内安装的软件版本可能不同;而且随着业务板所需要处理业务的变化,通常需要对业务板内软件的版本进行更新。在相关技术中,通常利用串口连接线将计算机等升级控制设备与框式网络设备中的待升级业务板相连,然后在升级控制设备的控制下通过串口传输的方式将需要安装的最新版本软件发送给待升级业务板,从而实现软件更新。但这种更新方式不仅需要运维人员插拔连接待升级业务板的串口连接线,从而因操作繁琐使得升级效率较低;而且在需要安装的最新版本软件较多的情况下,人工选择某一待升级业务板需要的最新版本软件可能出现错选,使得软件版本与业务板不匹配进而影响业务的正常处理,从而升级可靠性较低。
因此,本申请提出一种软件更新方法及装置,以解决相关技术中存在的上述不足。为对本申请进行进一步说明,提供下列实施例,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
作为本申请的适用对象,框式网络设备中的一个主控板可以控制多个业务板处理网络业务。当然,本申请涉及到的框式网络设备可以是框式交换机、框式路由器,也可以是采用框式结构的其他网络设备。另外可以理解的是,本申请对于框式网络设备中主控板的个数及同一主控板所连接业务板的个数并不进行限制,均可以为一个或多个,本申请所提方案针对的是某一业务板在其所连接主控板的配合下开始软件版本更新。
首先需要说明的是,为便于简洁明了的描述本申请的技术方案,下文解释性文字中的需要安装的新版本软件统一称为“最新版本软件”,相应的软件版本信息统一称为“最新软件版本信息”;更新之前当前安装的原版本软件统一称为“当前版本软件”,相应的软件版本信息统一称为“当前软件版本信息”。可以理解的是,在对于任一业务板的软件更新完成之前,该业务板已经安装的是当前版本软件,待安装的是最新版本软件;在对于任一业务板的软件更新完成之后,原有的最新版本软件变为当前版本软件,直到下次更新是再次发生变化。
图2是本申请一示例性实施例示出的一种软件更新方法的流程图。该方法应用于框式网络设备的任一业务板,该任一业务板在所述框式网络设备的主控板的控制下处理网络业务,如图2所示,该方法可以包括以下步骤:
步骤201,向所述主控板发送版本信息获取请求,以接收所述主控板返回的最新软件版本信息。
业务板内部运行的程序主要分为内核态和用户态两类,相应的,该软件更新方法的执行主体可以全部为内核态程序、全部为用户态程序,也可以由内核态程序与用户态程序配合执行。在一实施例中,在任一业务板启动后,由该任一业务板的内核态程序执行上述方法的所有后续步骤;在另一实施例中,在任一业务板启动时运行软件版本监控程序,该软件版本监控程序即为用户态程序,由该软件版本监控程序执行上述方法的所有后续步骤。
在又一实施例中,在任一业务板启动时运行软件版本监控程序。首先由内核态程序向主控板发送版本信息获取请求,并在获取到主控板返回的最新软件版本信息后,调用内核态程序比较任一接口对应的最新软件版本信息与其当前软件版本信息是否一致:在二者一致的情况下,关闭上述软件版本监控程序;在二者不一致的情况下,由上述内核态程序将版本比较标识设置为预设的第一比较位,然后将该版本比较标识发送给属于用户态程序的上述软件版本监控程序,由该软件版本监控程序执行后续相应步骤以实现所述任一业务板的软件更新。
步骤202,在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,向所述主控板发送软件获取请求。
在一实施例中,首先为上述任一业务板配置临时IP(网际互连协议,InternetProtocol)地址,该临时IP地址的预设地址位被配置为上述任一业务板的槽位号,以保证该临时IP地址唯一对应该业务板;然后向主控板发送携带上述临时IP地址的软件获取请求,以接收所述主控板按照该临时IP地址返回的最新版本软件。
在另一实施例中,在任一接口对应的最新软件版本信息与其当前软件版本信息不一致的情况下,将上述最新软件版本信息保存在归属于上述任一业务板的存储空间内,替换该存储空间内已经保存的该业务板的当前软件版本信息,以在下次判断当前软件是否需要升级时从所述存储空间内读取所述最新软件版本信息。上述存储空间对应的存储设备可以为FLASH(Flash Memory,闪存)、ROM(Read-Only Memory,只读存储器)等。
在该实施例中,上述任一接口对应的最新软件版本信息与其当前软件版本信息同时包括下述至少之一:软件的CRC(Cyclic Redundancy Check,循环冗余校验)校验码和软件大小、软件版本号,即上述任一业务板的最新软件版本信息与其当前软件版本信息可以:均包括相应软件的CRC校验码和软件大小,均包括相应软件的软件版本号,或均包括相应软件的CRC校验码和软件大小以及软件版本号。
步骤203,接收所述主控板返回的所述最新软件版本信息对应的最新版本软件,并安装所述最新版本软件以实现所述任一业务板的软件更新。
在该实施例中,任一接口版接收主控板按照TFTP(Trivial File TransferProtocol,简单文件传输协议)协议发送的上述最新软件版本信息对应的最新版本软件。
由上述技术方案可见,本申请通过业务板主动向主控板请求并接口主控板下发的新版本软件,而非通过串口接收外部设备发送的新版本软件,实现了业务板软件的自动更新,提升了更新效率;而且由业务板主动向主控板请求版本标识以确定是否需要升级,保证了所升级软件的版本与业务板相匹配,从而避免了错选版本,提高了软件更新的可靠性。
由上述实施例可知,该方法实际上涉及到主控板与业务板两个实体,因此下面从整体角度对该软件更新方法中主控板与业务板的交互过程进行说明,图3是本申请一示例性实施例示出的一种软件更新方法对应的主控板与业务板的交互流程图。如图3所示,该方法可以包括以下步骤:
步骤301,主控板导入最新版软件数据包。
框式网络设备开机后,主控板和业务板均上电启动;在主控板完成启动步骤后,会导入最新版本软件数据包。上述最新版本软件数据包可以由上述主控板在框式网络设备启动后或周期性主动从预设网络设备中获取;也可以由预设网络设备在满足预设触发条件的情况下,主动向上述主控板发送,对此本申请并不进行限制,上述预设触发条件可以为管理人员、运维人员或研发人员预设打包操作生成了新的数据包。
由于主控板连接有多个业务板,因此最新版本软件的个数也有多种可能。作为一个示例性实施例,每一个业务板分别对应一个最新版本软件及最新软件版本信息。作为另一示例性实施例,同一类业务板分别对应一个最新版本软件及最新软件版本信息,在该实施例中,相应的主控板中应该预先保存各业务板所属的类型:如槽位号1-10的业务板为A类,槽位号20-100的业务板为B类,则主控板中应预先保存有上述槽位号与类型的对应关系,并且上述最新版本软件数据包中仅需要包括A类和B类2个最新版软件。作为又一示例性实施例,根据用户(管理人员、运维人员或研发人员等)打包的数据包确定最新版本软件的个数。
假设最新版本软件有N个(相应的最新软件版本信息有N条),在一实施例中,上述最新版本软件数据包数量为1个,该数据包中包括所有最新版本软件及其对应的最新软件版本信息;在另一实施例中,上述最新版本软件数据包数量为2个,分别打包各最新版本软件及各最新软件版本信息,两数据包中软件及软件信息的打包顺序相一致,且两数据包相互关联;在又一实施例中,上述最新版本软件数据包数量为N个,任一数据包中包括一个最新版本软件及其对应的最新软件版本信息;在又一实施例中,上述最新版本软件数据包数量为N+1个,其中软件数据包中包括所有最新版本软件,任一信息数据包中包括一个最新版本软件对应的最新软件版本信息。
主控板导入上述最新版本软件数据包后,将上述数据包保存在自身的存储空间中,具体的,可以直接将最新版本软件数据包保存在存储空间内;也可以先解压上述最新版本软件数据包,然后将得到的各最新版本软件分别保存在存储空间内。特别的,可以将所有信息数据包单独保存,以便于后续提取。上述存储空间对应的存储设备可以为FLASH或ROM等。
步骤302,主控板提取最新软件版本信息。
在保存的上述打包软件中提取出最新软件版本信息,具体的,前述打包软件的保存形式的不同,相应的提取方式也不同。若上述最新版本软件数据包数量为1个,则将所有打包软件全部解压并提取全部业务板或某一特定业务板对应的最新版本软件对应的最新软件版本信息;若上述最新版本软件数据包数量为2个,分别打包各最新版本软件及各最新软件版本信息,则仅解压各最新软件版本信息数据包,并从中提取全部业务板或某一特定业务板对应的最新软件版本信息即可;若上述最新版本软件数据包数量为N个,任一数据包中包括一个最新版本软件及其对应的最新软件版本信息,则直接解压全部业务板或某一特定业务板对应的最新版本软件数据包,然后提取对应的最新软件版本信息;若上述最新版本软件数据包数量为N+1个,其中软件数据包中包括所有最新版本软件,则仅解压软件数据包,并从中提取全部业务板或某一特定业务板对应的最新软件版本信息即可。
在一实施例中,在主控板上电启动后即开启业务板版本监控线程,用于执行上述步骤301及302;可以理解的是,在该实施例中,启动业务板版本监控程序必须在上述步骤301及302之前。在另一实施例中,由主控板的内核态程序相应业务板发送的请求:向业务板返回请求相关的最新软件版本信息或最新版本软件。
步骤303,业务板从主控板获取最新软件版本信息。
任一业务板向主控板发送版本信息获取请求;主控板响应该请求:在获取的上述最新软件版本信息中查询是否存在匹配于上述任一业务板的最新软件版本信息。若不存在,则说明该任一业务板当前安装的软件不需要更新,此时可以向上述任一业务板返回表示不存在最新版本软件的回复报文;否则,若存在,则说明该任一业务板当前安装的软件需要更新,然后将匹配到的最新软件版本信息返回给上述任一业务板。
步骤304,业务板比较最新软件版本信息与当前安装软件的版本信息。
上述业务板接收到主控板返回的最新软件版本信息后,从该业务板的特定存储空间内读取当前软件版本信息并保存在全局变量中。然后将最新软件版本信息与业务板的当前软件版本信息进行比较以判断二者是否一致:在判断出二者一致的情况下,转入步骤305;在判断出二者不一致的情况下,转入步骤307。上述“一致”,表示二者的版本号相同,或者二者对应的软件的CRC校验码和软件大小相同。
步骤305,业务板从主控板获取最新版本软件。
上述业务板向主控板发送软件获取请求;主控板响应该请求:向该请求的发起方业务板返回该业务板对应的最新版本软件。
对应于上述步骤302中启动业务板版本监控程序的实施例,主控板在向业务板返回上述最新版本软件后,可以退出上述业务板版本监控程序;也可以按照预设时长周期性检测主控板所连接的其他业务板的软件版本状态。
步骤306,业务板安装最新版本软件。
上述业务板接收到主控板返回的最新版本软件后,直接安装该最新版本软件,从而实现业务板的软件更新。
根据接收到的最新版本软件的形式不同,具有不同的安装形式:在一实施例中,上述最新版本软件是后缀为.bin、.sys或.com等形式的可执行文件,则将该各执行文件保存在业务板的预设存储空间内(通常为当前版本软件对应可执行文件的存储空间),并替换当前版本软件对应的可执行文件,以实现业务板的软件更新;在另一实施例中,上述最新版本软件是后缀为.exe、.msi或其他形式的安装包,则直接安装该安装包实现业务板的软件更新。
步骤307,退出软件更新过程。
软件更新过程结束。若上述业务板中已开启软件版本监控程序,则退出该软件版本监控程序。
为更详细的说明本申请软件更新方法,下面从业务板侧对该方法进行详细说明。图4是本申请一示例性实施例示出的一种业务板侧软件更新方法流程图。如图4所示,该方法可以包括以下步骤:
步骤401,业务板启动。
同主控板类似,业务板在上电后自动完成启动过程,业务板的具体启动过程本申请并不进行限制,详见相关技术公开的内容。可以理解的是,因为与主控板连接的多个业务板均适用本申请的软件更新方法,因此本实施例中的业务板特指与其中进行软件更新的任一业务板。
在一实施例中,业务板启动后,自动运行处于用户态的软件版本监控程序,并在内核态程序完成版本比较后(步骤405),由内核态程序调用该用户态程序执行后续升级步骤。在另一实施例中,业务板启动后,自动运行处于用户态的软件版本监控程序,并由该软件版本监控名程序在用户态执行后续步骤402-步骤410所述的全部升级步骤。在又一实施例中,直接由业务板的内核态程序完成步骤402-步骤410所述的全部升级步骤。为描述简便,下文仅对内核态程序与用户态程序配合的上述第一实施例进行说明,另外两实施例的具体执行过程与第一实施例类似,不再赘述。
步骤402,获取最新软件版本信息。
首先,业务板的内核态程序向主控板发送版本信息获取请求,该版本信息获取请求中携带有该业务板的唯一标识,具体的,该唯一标识可以为业务板的槽位号、预设编号、IP地址或MAC(Media Access Control Address,媒体存取控制位址)地址等的一个或多个,用以准确告知主控板上述请求的发起方。
然后,业务板的内核态程序接收主控板返回的最新软件版本信息,该信息是主控板查询到的匹配于该业务板的最新版本软件对应的信息,该信息可以为软件的CRC校验码和软件大小,也可以为软件的版本号或其他能够用于唯一表征软件版本的版本唯一标识信息。
步骤403,比较版本信息。
业务板的内核态程序从业务板的存储空间的预设位置读取该业务板的当前软件版本信息并保存在全局变量中,然后比较步骤402中接收到的最新软件版本信息与该当前软件版本信息是否一致。可以理解的是,内核态程序读取业务板的当前软件版本信息与步骤402中获取最新软件版本信息之间并不存在必然的先后顺序,可以根据实际情况进行调整;而且所读取的当前软件版本信息与获取的最新软件版本信息应该具有相同的形式,即可以均为软件的CRC校验码和软件大小,或均为软件的版本号或其他能够用于唯一表征软件版本的版本唯一标识信息。
在一实施例中,根据比较结果设置版本比较标识flag,若二者不一致,则将该业务板对应的版本比较标识设置为预设的第一比较位,即flag=1;否则,若二者不一致,则将该业务板对应的版本比较标识设置为第二比较位,即flag=0;版本比较标识的默认值为第二比较位,当然,第一比较位和第二比较位也可以取其他值,本申请对此并不进行限制。
步骤404,内核态程序向用户态程序发送比较结果。
上述步骤402-步骤403均由业务板的内核态程序执行,内核态程序完成最新软件版本信息与当前软件版本信息的比较后,将上述版本比较结果(如版本比较标识)发送给内核态程序,如软件版本监控程序。
步骤405,用户态程序判断业务板软件是否需要更新。
软件版本监控程序根据接收到的版本比较结果,判断业务板软件是否需要更新:若版本比较标识为第一比较位,说明业务板软件需要更新,转入步骤406,并由该用户态程序(软件版本监控程序)执行后续步骤406-409;否则,若版本比较标识为第二比较位,说明业务板软件需要不更新,转入步骤410。
步骤406,用户态程序配置业务板的临时IP地址。
软件版本监控程序为业务板配置临时IP地址,用于从主控板获取最新版本软件。在该实施例中,上述临时IP地址的预设地址为被配置为该业务板的预设唯一编号,具体的,该预设唯一编号可以为业务板的槽位号;也可以为该业务板的预设顺序编号等。如上述业务板的槽位号或预设顺序编号为6(说明该业务板插接在第6号槽位上,或者说明该业务板是上述主控板连接的第6个业务板),则可以将该业务板的临时IP地址设置为192.168.0.6。
可以理解的是,上述为业务板分配的临时IP地址仅用于该业务板从主控板获取最新版本软件,因此在获取到最新版本软件后,该业务板可以自动失效,在下次软件更新时再次进行分配,以避免两次更新之间存在的业务板拔出、替换、新增等插拔事件导致业务板编号发生变化。当然,也可以实时监控业务板的上述插板事件是否发生,只有在主控板所连接的业务板发生上述插拔事件后,才另上述临时IP地址失效,否则在下次软件更新时仍使用前一次更新时分配的临时IP地址,以尽量减少IP地址分配的工作量。
步骤407,发送最新版本软件获取请求。
软件版本监控程序向主控板发送携带临时IP地址的软件获取请求,以接收上述主控板按照该临时IP地址返回的最新版本软件。上述临时IP地址可以作为报文信息携带在上述软件获取请求对应请求报文的报文体中,也可以直接将上述软件获取请求对应请求报文的源IP地址设置为上述临时IP地址,具体的请求发送过程与相关技术不存在本质区别,本申请对此并不进行限制。
步骤408,接收并安装最新版本软件。
接收主控板返回的上述最新软件版本信息对应的最新版本软件,该最新版本软件可以由主控板按照TFTP协议或FTP协议(File Transfer Protocol,文件传输协议)返回给业务板。
若该最新版本软件为压缩形式,则解密后安装该最新版本软件;若该最新版本软件为非压缩形式,则直接安装该最新版本软件。具体的,在一实施例中,上述最新版本软件是后缀为.bin、.sys或.com等形式的可执行文件,则将该各执行文件保存在业务板的预设存储空间内(通常为当前版本软件对应可执行文件的存储空间),并替换当前版本软件对应的可执行文件,以实现业务板的软件更新;在另一实施例中,上述最新版本软件是后缀为.exe、.msi或其他形式的安装包,则直接安装该安装包实现业务板的软件更新。
步骤409,保存最新软件版本信息。
将步骤402中获取的最新软件版本信息保存在归属于上述业务板的存储空间内,替换该存储空间内保存的当前软件版本信息,以在下次判断当前软件是否需要升级时从该存储空间内读取该最新软件版本信息,作为下次判断时的当前软件版本信息。可以理解的是,保存最新软件版本信息可以在接收到最新版本软件之后的任意时刻进行,即步骤408中的安装最新版本软件与步骤409之间并不存在必然的先后顺序,可以根据实际情况进行调整。
步骤410,更新结束。
此时,已将判断出当前版本软件不需要更新或已经更新完成,此时关闭上述软件版本监控程序以减少CPU的额外开销,结束更新过程。业务板可以开始使用当前版本软件(若不需要更新)或刚安装的最新版本软件信息(更新完成)正常处理网络业务。
图5是本申请一示例性实施例示出的一种电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器501、内部总线502、网络接口503、内存504以及非易失性存储器505,当然还可能包括其他业务所需要的硬件。处理器501从非易失性存储器505中读取对应的计算机程序到内存504中并运行,在逻辑层面上形成软件更新装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
图6示出了本申请一示例性实施例示出的一种软件更新装置的框图。请参见图6,在软件实施例中,该软件更新装置应用于客户端,可以包括最新软件版本信息获取单元601、软件获取单元602和软件更新单元603。其中:
最新软件版本信息获取单元601,用于向所述主控板发送版本信息获取请求,以接收所述主控板返回的最新软件版本信息;
软件获取单元602,用于在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,向所述主控板发送软件获取请求;
软件更新单元603,用于接收所述主控板返回的所述最新软件版本信息对应的最新版本软件,并安装所述最新版本软件以实现所述任一业务板的软件更新。
可选的,所述软件更新装置还包括:
软件版本监控程序启停单元604,用于在所述任一业务板启动时运行软件版本监控程序,以在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,实现所述任一业务板的软件更新;并在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息一致的情况下,关闭所述软件版本监控程序。
可选的,所述软件版本监控程序启停单元604具体用于:
调用内核态程序比较最新软件版本信息与所述任一业务板中当前安装软件的版本信息;
在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,由所述内核态程序将版本比较标识设置为预设的第一比较位,并将所述版本比较标识发送给属于用户态程序的所述软件版本监控程序。
可选的,所述软件获取单元602具体用于:
为所述任一业务板配置临时IP地址,所述临时IP地址的预设地址位被配置为所述任一业务板的槽位号;
向所述主控板发送携带所述临时IP地址的软件获取请求,以接收所述主控板按照所述临时IP地址返回的最新版本软件。
可选的,所述软件更新单元603具体用于:
接收所述主控板按照简单文件传输协议TFTP发送的所述最新软件版本信息对应的最新版本软件。
可选的,所述软件更新装置还包括:
最新软件版本信息保存单元605,用于在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,将所述最新软件版本信息保存在归属于所述任一业务板的存储空间内,替换所述存储空间内保存的所述任一业务板中当前安装软件的版本信息,以在下次判断当前软件是否需要升级时从所述存储空间内读取所述最新软件版本信息。
可选的,所述最新软件版本信息和所述任一业务板中当前安装软件的版本信息同时包括下述至少之一:软件的CRC校验码和软件大小、软件版本号。
上述装置中各个单元的功能和作用的实现过程详见上述方法中对应步骤的实现过程,在此不再赘述。
在一个典型的配置中,电子设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
对于上述装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种软件更新方法,其特征在于,应用于框式网络设备的任一业务板,所述任一业务板在所述框式网络设备的主控板的控制下处理网络业务,所述方法包括:
向所述主控板发送版本信息获取请求,以接收所述主控板返回的最新软件版本信息;
在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,向所述主控板发送软件获取请求;
接收所述主控板返回的所述最新软件版本信息对应的最新版本软件,并安装所述最新版本软件以实现所述任一业务板的软件更新。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述任一业务板启动时运行软件版本监控程序,以在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,实现所述任一业务板的软件更新;
在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息一致的情况下,关闭所述软件版本监控程序。
3.根据权利要求2所述的方法,其特征在于,比较所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息,包括:
调用内核态程序比较最新软件版本信息与所述任一业务板中当前安装软件的版本信息;
在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,由所述内核态程序将版本比较标识设置为预设的第一比较位,并将所述版本比较标识发送给属于用户态程序的所述软件版本监控程序。
4.根据权利要求1所述的方法,其特征在于,向所述主控板发送软件获取请求,包括:
为所述任一业务板配置临时IP地址,所述临时IP地址的预设地址位被配置为所述任一业务板的槽位号;
向所述主控板发送携带所述临时IP地址的软件获取请求,以接收所述主控板按照所述临时IP地址返回的最新版本软件。
5.根据权利要求1所述的方法,其特征在于,所述接收所述主控板返回的所述最新软件版本信息对应的最新版本软件,包括:
接收所述主控板按照简单文件传输协议TFTP发送的所述最新软件版本信息对应的最新版本软件。
6.根据权利要求1所述的方法,其特征在于,还包括:
在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,将所述最新软件版本信息保存在归属于所述任一业务板的存储空间内,替换所述存储空间内保存的所述任一业务板中当前安装软件的版本信息,以在下次判断当前软件是否需要升级时从所述存储空间内读取所述最新软件版本信息。
7.根据权利要求1所述的方法,其特征在于,所述最新软件版本信息和所述任一业务板中当前安装软件的版本信息同时包括下述至少之一:软件的CRC校验码和软件大小、软件版本号。
8.一种软件更新装置,其特征在于,应用于框式网络设备的任一业务板,所述任一业务板在所述框式网络设备的主控板的控制下处理网络业务,所述装置包括:
最新软件版本信息获取单元,用于向所述主控板发送版本信息获取请求,以接收所述主控板返回的最新软件版本信息;
软件获取单元,用于在所述最新软件版本信息与所述任一业务板中当前安装软件的版本信息不一致的情况下,向所述主控板发送软件获取请求;
软件更新单元,用于接收所述主控板返回的所述最新软件版本信息对应的最新版本软件,并安装所述最新版本软件以实现所述任一业务板的软件更新。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010027054.2A CN111273924B (zh) | 2020-01-10 | 2020-01-10 | 软件更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010027054.2A CN111273924B (zh) | 2020-01-10 | 2020-01-10 | 软件更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111273924A true CN111273924A (zh) | 2020-06-12 |
CN111273924B CN111273924B (zh) | 2023-07-25 |
Family
ID=70996892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010027054.2A Active CN111273924B (zh) | 2020-01-10 | 2020-01-10 | 软件更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111273924B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821241A (zh) * | 2021-09-14 | 2021-12-21 | 博为科技有限公司 | 路由器软件升级方法及相关设备 |
CN113849218A (zh) * | 2021-09-17 | 2021-12-28 | 苏州浪潮智能科技有限公司 | 软件信息合并方法、装置、计算机设备和存储介质 |
CN114646164A (zh) * | 2020-12-18 | 2022-06-21 | 青岛海尔电冰箱有限公司 | 冰箱控制方法、计算机可读存储介质以及冰箱 |
CN115150317A (zh) * | 2022-06-22 | 2022-10-04 | 杭州迪普科技股份有限公司 | 路由表项下发方法、装置、电子设备及计算机可读介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1812332A (zh) * | 2005-01-26 | 2006-08-02 | 华为技术有限公司 | 保证交换机各个单板软件版本一致的方法 |
CN101576828A (zh) * | 2009-06-01 | 2009-11-11 | 中兴通讯股份有限公司 | 软件版本升级方法及装置、服务器 |
CN102075985A (zh) * | 2011-01-17 | 2011-05-25 | 中兴通讯股份有限公司 | Rtr单板的版本升级方法及装置 |
CN104461866A (zh) * | 2014-11-04 | 2015-03-25 | 中国广核电力股份有限公司 | 一种软件对象异常版本的检测方法及其检测系统 |
CN104702423A (zh) * | 2013-12-04 | 2015-06-10 | 北京信威通信技术股份有限公司 | 一种分布式系统的版本动态管理方法和装置 |
CN105302601A (zh) * | 2015-10-22 | 2016-02-03 | 四川长虹电器股份有限公司 | 软件升级服务器的系统及方法 |
CN105939365A (zh) * | 2015-06-29 | 2016-09-14 | 杭州迪普科技有限公司 | 主控板用户态从业务板内核态获取数据的方法及装置 |
WO2016206527A1 (zh) * | 2015-06-25 | 2016-12-29 | 中兴通讯股份有限公司 | 一种待升级单板的确定方法、装置、主控板及单板系统 |
CN106850565A (zh) * | 2016-12-29 | 2017-06-13 | 河北远东通信系统工程有限公司 | 一种高速的网络数据传输方法 |
CN109032635A (zh) * | 2018-07-16 | 2018-12-18 | 新华三技术有限公司 | 软件升级方法、装置和网络设备 |
-
2020
- 2020-01-10 CN CN202010027054.2A patent/CN111273924B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1812332A (zh) * | 2005-01-26 | 2006-08-02 | 华为技术有限公司 | 保证交换机各个单板软件版本一致的方法 |
CN101576828A (zh) * | 2009-06-01 | 2009-11-11 | 中兴通讯股份有限公司 | 软件版本升级方法及装置、服务器 |
CN102075985A (zh) * | 2011-01-17 | 2011-05-25 | 中兴通讯股份有限公司 | Rtr单板的版本升级方法及装置 |
CN104702423A (zh) * | 2013-12-04 | 2015-06-10 | 北京信威通信技术股份有限公司 | 一种分布式系统的版本动态管理方法和装置 |
CN104461866A (zh) * | 2014-11-04 | 2015-03-25 | 中国广核电力股份有限公司 | 一种软件对象异常版本的检测方法及其检测系统 |
WO2016206527A1 (zh) * | 2015-06-25 | 2016-12-29 | 中兴通讯股份有限公司 | 一种待升级单板的确定方法、装置、主控板及单板系统 |
CN105939365A (zh) * | 2015-06-29 | 2016-09-14 | 杭州迪普科技有限公司 | 主控板用户态从业务板内核态获取数据的方法及装置 |
CN105302601A (zh) * | 2015-10-22 | 2016-02-03 | 四川长虹电器股份有限公司 | 软件升级服务器的系统及方法 |
CN106850565A (zh) * | 2016-12-29 | 2017-06-13 | 河北远东通信系统工程有限公司 | 一种高速的网络数据传输方法 |
CN109032635A (zh) * | 2018-07-16 | 2018-12-18 | 新华三技术有限公司 | 软件升级方法、装置和网络设备 |
Non-Patent Citations (2)
Title |
---|
谭亚科: "电信设备软件自动升级设计与实现", 《电子技术》 * |
谭亚科: "电信设备软件自动升级设计与实现", 《电子技术》, no. 10, 25 October 2013 (2013-10-25) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114646164A (zh) * | 2020-12-18 | 2022-06-21 | 青岛海尔电冰箱有限公司 | 冰箱控制方法、计算机可读存储介质以及冰箱 |
CN113821241A (zh) * | 2021-09-14 | 2021-12-21 | 博为科技有限公司 | 路由器软件升级方法及相关设备 |
CN113849218A (zh) * | 2021-09-17 | 2021-12-28 | 苏州浪潮智能科技有限公司 | 软件信息合并方法、装置、计算机设备和存储介质 |
CN113849218B (zh) * | 2021-09-17 | 2024-01-12 | 苏州浪潮智能科技有限公司 | 软件信息合并方法、装置、计算机设备和存储介质 |
CN115150317A (zh) * | 2022-06-22 | 2022-10-04 | 杭州迪普科技股份有限公司 | 路由表项下发方法、装置、电子设备及计算机可读介质 |
CN115150317B (zh) * | 2022-06-22 | 2023-09-12 | 杭州迪普科技股份有限公司 | 路由表项下发方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111273924B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111273924A (zh) | 软件更新方法及装置 | |
CN108595221B (zh) | PaaS平台的插件加载方法、装置、服务器及存储介质 | |
US8607225B2 (en) | Managed upgrades of components in an integrated software and hardware system | |
CN106549789B (zh) | 一种实现服务器安装的方法及系统 | |
CN109840096B (zh) | 操作系统的安装方法及装置 | |
CN108958742A (zh) | 一种批量安装操作系统的方法、相关设备及系统 | |
CN108874437B (zh) | 一种android应用程序的在线云更新方法 | |
US11132191B2 (en) | Software and firmware updates of computing systems | |
CN110855746A (zh) | 中间件管理方法、电子装置及存储介质 | |
CN111752582A (zh) | 局域网内的软件更新方法、装置及电子设备 | |
CN113821226A (zh) | 一种onie系统安装方法、装置、设备及介质 | |
CN106933604B (zh) | 一种系统升级方法及装置 | |
CN110308914B (zh) | 升级处理方法、装置、设备、系统及计算机可读存储介质 | |
CN110688130A (zh) | 物理机部署方法、装置、可读存储介质及电子设备 | |
CN116126353A (zh) | 一种加速卡软件栈部署方法、装置、设备和存储介质 | |
EP4086756A1 (en) | Method and apparatus for processing virtual machine component | |
CN115993979A (zh) | 配置转换方法、平滑升级方法、装置、设备及存储介质 | |
CN113268254A (zh) | 一种集群系统安装方法、装置、电子设备及存储介质 | |
CN109922482B (zh) | Omc系统的部署方法、omc系统、电子设备和存储介质 | |
CN111610991A (zh) | 版本升级方法及装置 | |
CN111240589A (zh) | 基于分区隔离的系统管理方法、装置、设备及存储介质 | |
CN110798346A (zh) | Linux虚拟机新增网卡的配置方法及相关组件 | |
CN110647343A (zh) | 一种OpenPower服务器及其系统部署方法 | |
CN115905271B (zh) | 一种病毒库更新方法、装置及多引擎检测系统 | |
CN116541104B (zh) | 程序管理方法、控制装置、平台、设备以及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |