CN115543393B - 升级方法、电子设备及存储介质 - Google Patents

升级方法、电子设备及存储介质 Download PDF

Info

Publication number
CN115543393B
CN115543393B CN202211523303.2A CN202211523303A CN115543393B CN 115543393 B CN115543393 B CN 115543393B CN 202211523303 A CN202211523303 A CN 202211523303A CN 115543393 B CN115543393 B CN 115543393B
Authority
CN
China
Prior art keywords
processor
firmware
upgrade
management terminal
processor manager
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.)
Active
Application number
CN202211523303.2A
Other languages
English (en)
Other versions
CN115543393A (zh
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202211523303.2A priority Critical patent/CN115543393B/zh
Publication of CN115543393A publication Critical patent/CN115543393A/zh
Application granted granted Critical
Publication of CN115543393B publication Critical patent/CN115543393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及信息处理技术领域,尤其涉及一种升级方法、电子设备及存储介质,所述升级方法包括:接收处理器管理器或管理终端发送的升级数据;通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数;加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件;根据所述现场关键参数,重新配置所述处理器或所述处理器管理器;在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。本公开实施例可实现业务不中断的升级流程处理。

Description

升级方法、电子设备及存储介质
技术领域
本公开涉及信息处理技术领域,尤其涉及一种升级方法、电子设备及存储介质。
背景技术
随着处理器行业的发展,开发人员逐渐开始使用额外的处理器进行数据的处理,以提高各项业务功能的实际处理速度。而处理器或处理器管理器在进行升级(例如驱动或固件的升级)的情况下,通常会造成其负责的业务流程的中断,不利于持续地提供业务功能。故如何提供一种更好的升级方法,是开发人员亟需解决的技术问题。
发明内容
本公开提出了一种升级的技术方案。
根据本公开的一方面,提供了一种升级方法,应用于处理器或处理器管理器,所述处理器与处理器管理器相连,所述处理器管理器与管理终端相连,所述升级方法包括:接收处理器管理器或管理终端发送的升级数据;通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数;加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件;根据所述现场关键参数,重新配置所述处理器或所述处理器管理器;在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,所述通过存储介质保存所述升级数据,包括:确定至少一个存储介质中的主要存储区域、备份存储区域;其中,所述主要存储区域用以保存未升级的固件,所述备份存储区域用以保存升级数据对应的固件;将升级数据对应的固件升级包保存至所述备份存储区域。
在一种可能的实施方式中,所述加载所述升级数据,包括:通过至少一个缓冲区域,加载所述备份存储区域中的固件;通过备份执行区域,加载所述至少一个缓冲区域中的部分或全部固件。
在一种可能的实施方式中,所述升级方法还包括:拦截所述处理器管理器或管理终端发送的、新的业务请求;在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之前,所述升级方法还包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截;所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:将备份执行区域作为新的主要执行区域,并根据所述新的主要执行区域中升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,所述主要存储区域、备份存储区域所在的存储介质相同或不同。
在一种可能的实施方式中,所述加载所述升级数据,包括:确定存储介质中的执行区域;清理所述执行区域中的部分区域,并将固件升级包对应的部分子固件或全部子固件加载至所述部分区域中;所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:根据所述部分区域中的部分子固件或全部子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,所述升级方法还包括:清理所述执行区域中除所述部分区域外的其他区域;其中,所述其他区域与所述部分区域对应的加载位置不同;将所述固件升级包对应的、未加载至所述执行区域中的子固件加载至所述其他区域;所述在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据所述执行区域中的全部子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,在所述清理所述执行区域中除所述部分区域外的其他区域之前,所述升级方法还包括:拦截所述处理器管理器或管理终端发送的、新的业务请求;在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之前,所述升级方法还包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。
在一种可能的实施方式中,所述固件升级包对应的、未加载至所述执行区域中的子固件存储于多个存储位置;其中,存在至少一个存储位置中保存有所述固件升级包对应的全部子固件。
在一种可能的实施方式中,所述将所述固件升级包对应的、未加载至所述执行区域中的子固件保存至所述其他区域,包括:根据多个存储介质之间预设的层级关系,依次在多个存储介质中获取未加载至所述执行区域中的、业务流程当前需求的子固件,并在第一存储介质中获取到所述业务流程当前需求的子固件的情况下,将所述第一存储介质中的业务流程当前需求的子固件加载至所述执行区域。
在一种可能的实施方式中,所述层级关系基于存储介质的读取速度进行分级;所述保存所述升级数据,包括:根据存储介质的读取速度,确定所述升级数据对应的子固件的存储位置以及存储于所述存储位置的子固件的大小。
在一种可能的实施方式中,所述升级所述处理器中的固件,包括:确定存储介质中的至少一个执行区域;其中,所述至少一个执行区域包括主要执行区域、备份执行区域中的至少一种;清理所述至少一个执行区域,并将固件升级包对应的部分或全部子固件加载至所述至少一个执行区域。
在一种可能的实施方式中,在所述清理所述至少一个执行区域之前,所述升级方法还包括:拦截所述处理器管理器或管理终端发送的、新的业务请求;在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之后,包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。
在一种可能的实施方式中,所述将固件升级包对应的部分子固件加载至所述至少一个执行区域,包括:根据多个存储介质之间预设的层级关系,依次在多个存储介质中获取未加载至所述至少一个执行区域中的、业务流程当前需求的子固件,并在第二存储介质中获取到所述业务流程当前需求的子固件的情况下,将所述第二存储介质中的业务流程当前需求的子固件加载至所述至少一个执行区域。
在一种可能的实施方式中,所述存储介质包括:处理器的缓存、闪存、内存中的至少一种。
在一种可能的实施方式中,所述现场关键参数包括:业务流程对应的参数、处理器或处理器管理器的配置参数中的至少一项。
在一种可能的实施方式中,所述接收所述处理器管理器或管理终端发送的升级数据,包括以下至少一项:在接收到所述处理器管理器或管理终端发送的升级数据的情况下,生成并发送接收结果至所述处理器管理器或管理终端;其中,所述接收结果用以指示处理器管理器或管理终端重新发送或停止发送所述升级数据至所述处理器或所述处理器管理器;其中,所述处理器管理器包括:服务器或具备管理其他处理器功能的处理器;在所述处理器管理器具备处理器对应的业务流程的处理能力、且收到所述管理终端或处理器管理器中的服务器发送的升级数据的情况下,生成并发送接收结果至所述管理终端或所述服务器;其中,所述接收结果用以指示管理终端或所述服务器是否重新发送或停止发送所述升级数据至处理器管理器。
在一种可能的实施方式中,所述升级方法还包括:检测所述处理器或所述处理器管理器中与所述升级数据对应的异常事件;在检测到所述处理器或所述处理器管理器中出现与所述升级数据对应的异常事件的情况下,执行以下至少一项:根据所述异常事件,生成提示信息;保存所述异常事件;对所述异常事件进行修复;保存所述异常事件以及所述修复结果。
根据本公开的一方面,提供了一种电子设备,包括处理器或处理器管理器,所述处理器与处理器管理器相连,所述处理器管理器与管理终端相连,所述电子设备包括:升级数据接收模块,用以接收处理器管理器或管理终端发送的升级数据;数据保存模块,用以通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数;数据加载模块,用以加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件;参数配置模块,用以根据所述现场关键参数,重新配置所述处理器或所述处理器管理器;业务处理模块,用以在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,可接收处理器管理器或管理终端发送的升级数据,而后通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数,再加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件,而后根据所述现场关键参数,重新配置所述处理器或所述处理器管理器,最终在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。本公开实施例提供的升级方法可自动化地对处理器或处理器管理器进行升级,有利于降低人工升级成本。此外,本公开实施例可实现业务不中断的升级流程处理,有利于处理器或处理器管理器在业务不可中断场景下的部署。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出了根据本公开实施例提供的系统架构的参考示意图。
图2示出了根据本公开实施例提供的系统架构的参考示意图。
图3示出了根据本公开实施例提供的系统架构的参考示意图。
图4示出了根据本公开实施例提供的系统架构的参考示意图。
图5示出了根据本公开实施例提供的系统架构的参考示意图。
图6示出了根据本公开实施例提供的系统架构的参考示意图。
图7示出了根据本公开实施例提供的升级方法的流程图。
图8示出了根据本公开实施例提供的升级方法的参考示意图。
图9示出了根据本公开实施例提供的升级方法的参考示意图。
图10示出了根据本公开实施例提供的系统架构的参考示意图。
图11示出了根据本公开实施例提供的电子设备的框图。
图12示出了根据本公开实施例提供的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
相关技术中,处理器或处理器管理器在进行升级期间,通常会造成业务的完全中断,不利于处理器或处理器管理器应用于高可靠性的场景。另外,由人工进行升级在处理器集群这一场景下,人工成本也较高。
有鉴于此,本公开实施例提供了一种升级方法,可接收处理器管理器或管理终端发送的升级数据,而后通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数,再加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件,而后根据所述现场关键参数,重新配置所述处理器或所述处理器管理器,最终在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。本公开实施例提供的升级方法可自动化地对处理器或处理器管理器进行升级,有利于降低人工升级成本。此外,本公开实施例可实现业务不中断的升级流程处理,有利于处理器或处理器管理器在业务不可中断场景下的部署。
本公开实施例所述的处理器可为CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)、显示适配器、声音适配器等任意一种可执行数据处理操作的处理装置。本公开实施例所述的处理器管理器可为服务器或管理用的处理器,可用以集中管理与之连接的处理器即可。参阅图1至图6所示,图1至图6示出了本公开实施例提供的六种系统架构的参考示意图。该系统架构可用以支持用户侧业务功能的执行。结合GPU场景,上文中处理器表现为GPU(或称GPU卡),处理器管理器表现为GPU卡(管理卡)或服务器,管理终端表现为通信分发系统。结合图1至图6所示,其中图1的架构为处理器管理器(可参考图1中的服务器)对应一个处理器(可参考图1中的GPU卡),图2的架构为处理器管理器(可参考图2的服务器)对应多个处理器(可参考图2的GPU卡0到GPU卡N,也即对应N个GPU卡,N的数量不限),图3的架构包括多个处理器管理器(可参考图3的服务器A到服务器N),每个处理器管理器可对应多个处理器(可参考图3的GPU卡00到GPU卡30,其对应服务器A,或者GPU卡0N到GPU卡3N,其对应服务器N),图4的架构可将图3的架构中的部分或全部服务器替换为管理卡,该管理卡负责对其对应的处理器进行管理,其本身可负责实现与之连接的处理器的管理功能,也可负责实现业务流程中的部分或全部运算功能,本公开实施例在此不作限制。图5的架构为管理终端(可参考图5中的通信分发系统)对应多个处理器管理器(可参考图5中的服务器A到服务器N),其中每个处理器管理器可对应其他处理器管理器(可参考图5中的GPU卡0(管理卡),或者GPU卡3(管理卡)),GPU卡0(管理卡)可对应多个处理器(可参考图5中的GPU卡00到GPU卡30),GPU卡3(管理卡)可对应多个处理器(可参考图5中的GPU卡0N到GPU卡3N)。上述GPU卡与GPU管理卡的硬件结构可相同,均表现为处理器,其中GPU管理卡被开发人员配置有管理其他处理器的功能即可。图6的架构为管理终端(可参考图6中的通信分发系统)对应多个处理器管理器(可参考图6中的服务器A到服务器N),其中每个处理器管理器可对应多个处理器(可参考图6中的GPU卡00到GPU卡30,或者GPU卡0N到GPU卡3N)。此外,上述系统架构仅作出示例性的描述,例如:图3、图4架构中的部分服务器、管理卡可不带有GPU卡,或每个服务器或管理卡对应的GPU卡的数量不同,本公开实施例在此不作限制。在一个示例中,所述处理器管理器包括:管理用处理器、服务器中的至少一项。其中,所述管理用处理器被配置为管理其他处理器的处理器。所述管理用处理器与所述服务器或所述管理终端相连、且与至少一个处理器相连。应当理解的是,上述处理器管理器可为专用管理器或非专用管理器,专用管理器可负责处理器的控制,非专用管理器可负责处理器的控制、处理器级别的业务流程的处理等,本公开实施例在此不做限制。
参阅图7所示,图7示出了根据本公开实施例提供的升级方法的流程图,结合图7所示,本公开实施例还提供了一种升级方法,应用于处理器或处理器管理器,所述处理器与处理器管理器相连,所述处理器管理器与管理终端相连,所述升级方法包括:
步骤S100,接收处理器管理器或管理终端发送的升级数据。在一种可能的实施方式中,上述步骤S100可包括以下至少一项:在接收到所述处理器管理器或管理终端发送的升级数据的情况下,生成并发送接收结果至所述处理器管理器或管理终端。其中,所述接收结果用以指示处理器管理器或管理终端重新发送或停止发送所述升级数据至所述处理器或所述处理器管理器。其中,处理器管理器包括服务器或具备管理其他处理器功能的处理器。在一个示例中,在所述处理器管理器具备处理器对应的业务流程的处理能力、且收到所述管理终端或处理器管理器中的服务器发送的升级数据的情况下,生成并发送接收结果至所述管理终端或所述服务器。其中,所述接收结果用以指示管理终端或所述服务器是否重新发送或停止发送所述升级数据至处理器管理器。示例性地,上述接收结果可表现为一个热升级标记,该标记可包括接收成功,接收失败。在一个示例中,上述热升级标记可发送至处理器管理器或管理终端以使其获知处理器或处理器管理器的接收状态,例如在处理器管理器或管理终端识别到该标记表示接收成功的情况下,处理器管理器或管理终端可停止发送所述升级数据至所述处理器或处理器管理器,而反之,则可重新发送升级数据至所述处理器或处理器管理器。出于通信过程中可能出现交互失败的情况,处理器管理器或管理终端可设定为间隔一定时间重复发送升级数据,而本公开实施例通过设置接收结果的方式,可降低处理器或处理器管理器重复接收升级数据、处理器管理器或管理终端重复发送升级数据等情况发生的可能,进而可解决相关技术中的重入问题。
在一种可能的实施方式中,所述升级方法还包括:检测所述处理器或所述处理器管理器中与所述升级数据对应的异常事件。在检测到所述处理器或所述处理器管理器中出现与所述升级数据对应的异常事件的情况下,执行以下至少一项:根据所述异常事件,生成提示信息、保存所述异常事件;对所述异常事件进行修复、保存所述异常事件以及所述修复结果。上述异常事件的检测机制可与上文中相同,即处理器管理器或管理终端可进行异常事件的检测与处理,而处理器本身也可进行异常事件的检测与处理。
继续参阅图7,步骤S200,通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数。示例性地,上述存储介质位于处理器中。在一个示例中,上述现场关键参数包括:业务流程对应的参数、处理器或处理器管理器的配置参数中的至少一项。上述业务流程对应的参数用以根据处理器管理器或管理终端发送的数据进行运算,以得到业务流程对应的运算结果,上述处理器或处理器管理器的配置参数用以表示处理器或处理器管理器的硬件配置参数,例如启用的通道数等,本公开实施例在此不限定选用的参数,开发人员可根据实际需求进行设定。
在一种可能的实施方式中,上述升级数据存储于处理器的存储介质中,所述存储介质包括:处理器的缓存、闪存、内存中的至少一种。示例性地,上述升级数据的存储位置可包括:处理器的cache(缓存)、flash(闪存)、DDR内存(Double Data Rate SDRAM,也即双倍速率同步动态随机存储器)、RAM(Random Access Memory,也即随机存取存储器)等任意一种处理器或处理器管理器中的存储介质。在一个示例中,考虑到存储有固件指令的存储介质可能存在空间不足的情况,故也可以将升级数据中的一部分或全部先放入其他存储介质中保存,或由多个存储介质保存,本公开实施例在此不作限制。
在一种可能的实施方式中,上述步骤S200中通过存储介质保存所述升级数据,可包括:确定至少一个存储介质中的主要存储区域、备份存储区域。其中,所述主要存储区域用以保存未升级的固件,所述备份存储区域用以保存升级数据对应的固件。而后将升级数据对应的固件升级包保存至所述备份存储区域。示例性地,主要存储区域、备份存储区域所在的存储介质可以相同或不同。在一种可能的实施方式中,主要存储区域可对应主要执行区域,备份存储区域可对应备份执行区域,两个执行区域分别用以加载升级前已有的固件、固件升级包中的固件,在一个示例中,两个执行区域也可合并,本公开实施例在此不做限制。
继续参阅图7,步骤S300,加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件。
步骤S400,根据所述现场关键参数,重新配置所述处理器或所述处理器管理器。示例性地,上述现场关键参数用以恢复处理器的业务现场,以使处理器或处理器管理器可根据升级后的固件、基于先前的配置对业务流程进行处理。
步骤S500,在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,上述方法还可包括:拦截所述处理器管理器或管理终端发送的、新的业务请求。本公开实施例在此不限制该步骤的具体位置。在所述步骤S400之前,所述升级方法还包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。示例性地,可为上述处理器或处理器管理器设定业务拦截标记,在处理器管理器或管理终端获知处理器或处理器管理器的业务拦截标记为拦截状态的情况下,上述处理器管理器或管理终端可不对该处理器或处理器管理器发送业务流程对应的数据或指令。而在处理器管理器或管理终端获知处理器或处理器管理器的业务拦截标记为非拦截状态的情况下,上述处理器管理器或管理终端可开始对该处理器或处理器管理器发送业务流程对应的数据或指令。换言之,上述拦截所述处理器管理器或管理终端发送的业务请求可表现为,将上述业务拦截标记设置为拦截状态。在一些示例中,也可设定其他方式访问处理器或处理器管理器的业务拦截状态,本公开实施例在此不作限制。示例性地,该步骤可表现为将上述业务拦截标记设置为非拦截状态。所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:将备份执行区域作为新的主要执行区域,并根据所述新的主要执行区域中升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。结合实际应用场景,主要执行区域可根据未更新的固件对业务流程进行处理,在备份执行区域中的新的固件加载完成后,可开始进行业务流程的拦截,备份执行区域可根据新的固件、现场关键参数,对业务现场进行恢复,而后可停止对业务流程的拦截,以使新的业务流程可直接运行于备份执行区域中,而主要执行区域与备份执行区域由于切换时间较短,故可视为对于用户侧无感。在一个示例中,上述加载所述升级数据,可包括:通过至少一个缓冲区域,加载所述备份存储区域中的固件。而后通过备份执行区域,加载所述至少一个缓冲区域中的部分或全部固件。本公开实施例还可设置缓冲区域以进一步增加固件的加载速度,有利于减少固件升级流程的总耗时。
在一种可能的实施方式中,所述加载所述升级数据,包括:确定存储介质中的执行区域。而后清理所述执行区域中的部分区域,并将固件升级包对应的部分子固件或全部子固件加载至所述部分区域中。所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:根据所述部分区域中的部分子固件或全部子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。示例性地,在一种示例中,执行区域可根据业务需求去调用需求的固件升级包中的子固件,以进行业务处理,有利于降低业务中断的时间。此外,也有助于在执行区域空间不足的情况下可通过固件升级包中的新的固件对业务流程进行处理。
在一种可能的实施方式中,所述升级方法还包括:清理所述执行区域中除所述部分区域外的其他区域。其中,所述其他区域与所述部分区域对应的加载位置不同。而后将所述固件升级包对应的、未加载至所述执行区域中的子固件加载至所述其他区域。所述在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据所述执行区域中的全部子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。示例性地,上述执行区域中可保存有未升级的固件、升级后的固件,本公开实施例可允许对执行区域中所述其他区域中未升级的固件进行清理,并将固件升级包中未加载至所述执行区域中的子固件进行加载,以保证固件的完整性。应当理解的是,上述流程也可设置启动条件,例如:在处理器或处理器管理器当前任务较少或闲置时进行更新等,本公开实施例在此不做限制。
在一种可能的实施方式中,在所述清理所述执行区域中除所述部分区域外的其他区域之前,所述升级方法还包括:拦截所述处理器管理器或管理终端发送的、新的业务请求。在所述根据所述现场关键参数,重新配置所述处理器之前,所述升级方法还包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。本公开实施例可通过业务拦截、取消业务拦截的方式,降低业务流程出现异常的几率,有利于新固件的部署。本公开实施例允许对执行区域中的子固件进行部分替换,而后使用新的子固件进行业务处理,在此期间可加载固件升级包中的其他子固件,整个过程可在不断电的情况下进行,在用户侧无感的情况下即可完成固件升级。
在一种可能的实施方式中,所述固件升级包对应的、未加载至所述执行区域中的子固件存储于多个存储位置。其中,存在至少一个存储位置中保存有所述固件升级包对应的全部子固件。在一个示例中,可设定最后一个访问层级对应的存储介质存储有固件升级包中的全部子固件,以提升数据的完整性,有利于降低升级异常的概率。
在一种可能的实施方式中,所述将所述固件升级包对应的、未加载至所述执行区域中的子固件保存至所述其他区域,包括:根据多个存储介质之间预设的层级关系,依次在多个存储介质中获取未加载至所述执行区域中的、业务流程当前需求的子固件,并在第一存储介质中获取到所述业务流程当前需求的子固件的情况下,将所述第一存储介质中的业务流程当前需求的子固件加载至所述执行区域。本公开实施例允许子固件采用多级存储的方式存储于多个存储位置中,即执行区域可依次在多个存储介质中获取业务流程需求的子固件,以实现在执行区域空间不足、存储介质空间不足的情况下,依然可以完成用户侧无感的固件升级。示例性地,上述层级关系本公开实施例在此不做限定。例如:可访问第一级存储介质以获取特定的子固件,若未获取到,则可访问第二级存储介质直至获取到特定的子固件。上述子固件也可采用逐一、逐组、同时的至少一种方式进行获取,本公开实施例在此不作限制。在一个示例中,层级关系基于存储介质的读取速度进行分级。所述保存所述升级数据,包括:根据存储介质的读取速度,确定所述升级数据对应的子固件的存储位置以及存储于所述存储位置的子固件的大小。示例性地,存储介质的读取速度越快,则可为其分配存储更多的子固件,且读取的优先级更高。示例性地,可优先将读取速度更快的存储介质作为尚未升级的子固件的优先存储位置,若该存储介质的存储空间不足,则可将剩余的子固件保存至读取速度次之的存储介质中,直至子固件均被保存。在一个示例中,也可结合存储介质的读取速度、存储介质当前的可用空间进行综合考量,以确定升级数据对应的子固件的存储位置以及存储的子固件的大小。
在一种可能的实施方式中,所述升级所述处理器中的固件,包括:确定存储介质中的至少一个执行区域。其中,所述至少一个执行区域包括主要执行区域、备份执行区域中的至少一种。清理所述至少一个执行区域,并将固件升级包对应的部分或全部子固件加载至所述至少一个执行区域。在一个示例中,在所述清理所述至少一个执行区域之前,所述升级方法还包括:拦截所述处理器管理器或管理终端发送的、新的业务请求。在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之后,包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。本公开实施例还可对执行区域中的部分子固件或全部子固件进行直接覆盖,以进行固件的升级。在一个示例中,所述将固件升级包对应的部分子固件加载至所述至少一个执行区域,包括:根据多个存储介质之间预设的层级关系,依次在多个存储介质中获取未加载至所述至少一个执行区域中的、业务流程当前需求的子固件,并在第二存储介质中获取到所述业务流程当前需求的子固件的情况下,将所述第二存储介质中的业务流程当前需求的子固件加载至所述至少一个执行区域。本公开实施例允许子固件采用多级存储的方式存储于多个存储位置中,即执行区域可依次在多个存储介质中获取业务流程需求的子固件,以实现在执行区域空间不足、存储介质空间不足的情况下,依然可以完成用户侧无感的固件升级。示例性地,上述层级关系本公开实施例在此不做限定。可参考上文中的层级关系的设定方式。
参阅图8,图8示出了根据本公开实施例提供的升级方法的参考示意图。结合图8所示,用户可通过管理终端或服务器发起固件热升级指令(该指令可包括上述升级数据)至处理器管理器的驱动,而后经由驱动,将固件热升级指令转达至GPU卡(此处以GPU卡作为上述处理器)进行执行,GPU卡将新固件(此处以新固件作为上述升级数据)写入闪存(或称flash)中的备份指令区,该备份指令区用以存储上述新固件指令。GPU卡保存现场,并在RAM(此处以RAM作为上述加载所述升级数据的加载位置)中开辟备份空间(例如图中清理出RAM备份指令区)以加载新固件对应的指令,将新固件对应的指令加载至RAM新固件区(也即执行区)。而后拦截新业务请求,返回忙碌状态(用以表示GPU卡已进行业务拦截)。在新固件加载完成后(或称生效后),基于新固件恢复现场,对业务逻辑外的其他模块基于之前保留的现场的参数进行初始化设定,恢复正常业务,并向处理器管理器的驱动发送固件热升级完毕的处理结果。在此示例中,将升级数据的一部分分别保存至RAM以及闪存(或称flash)中,但是应当理解的是,此处仅作出示例性的表述,存储介质的数量、新固件及原有固件的保存位置,本公开实施例在此不作限制,开发人员可根据实际需求进行设定。
结合图9、图10,图9示出了根据本公开实施例提供的升级方法的参考示意图,图10示出了根据本公开实施例提供的系统架构的参考示意图。本公开实施例的处理器中可设置有多种虚拟模块,例如:处理器可设置有热升级前检查模块(也即图9中升级前检查模块)、热升级标记更新模块、热升级处理模块、热升级现场备份模块、热升级业务拦截模块,热升级异常处理模块、热升级激活模块、热升级业务恢复模块等,经由上述模块处理而后热升级完成。而结合处理器的硬件架构,上述虚拟模块可设置于处理器的任意存储介质或主控模块中,起到推动升级方法执行的作用。而结合处理器、处理器管理器的硬件架构,上述处理器管理器(图10中以服务器A为例,也可为服务器B、C、D)可包括:用户/驱动,用以接收管理终端的相关管理指令。至少一个业务流模块,用以存储业务流程相关的指令。服务器升级程序模块,可用以保存上述升级方法相关的指令。上述处理器(图10中以GPU0为例,也可为GPU1、GPUN)可包括:固件主区(也即上文中的主要存储区域),用以保存热升级主区资源,例如原有的固件;固件备区(也即上文中的备份存储区域),用以存放热升级备份资源,例如新的固件(也即以新的固件作为上述升级数据)。热升级GPU现场保存区,用以存放热升级现场备份资源,例如恢复业务流程的相关参数。业务RAM,用以存放新固件(例如上述升级数据中的一部分或全部固件指令)。上述热升级主区资源、热升级备份资源、热升级现场备份资源、热升级RAM区资源可视为升级方法执行过程中调用的升级资源,该升级资源的任意一个部分的存储位置本公开实施例在此不作限定,可根据实际需求进行设定。
结合实际应用场景,本公开实施例在此作出示例性的说明,其中,热升级前检查模块用以完成热升级前检测工作,检查软件、硬件状态是否符合热升级要求,例如检测软件配套表等,上述软件配套表用以表示处理器中软件、硬件支持的环境等,以使处理器确定自身是否满足升级条件。热升级标记更新模块可接收上述热升级前检查模块的检测结果,在检测结果为无异常的情况下,设置热升级标记,以降低重入问题出现的概率。而后热升级处理模块将热升级包升级到指定的热升级备份区,并在RAM指令区开辟备份空间,将新固件指令加载到RAM区。热升级现场备份模块用以将业务现场的关键参数(可由开发人员设定,例如设定为业务流程中重要性较高的相关参数,或全部参数)进行备份。热升级业务拦截模块在热升级激活前完成业务拦截,向业务需求方(例如处理器管理器或管理终端)返回忙碌状态,并让业务需求方重新进行尝试,并上报热升级准备完毕信息至驱动。上述热升级异常处理模块用以处理上述热升级过程中可能出现的各种异常状况。上述热升级激活模块用以在接收到热升级准备完毕信息后,恢复业务现场,对固件进行激活。热升级业务恢复模块,用以当热升级激活模块完成固件激活后,取消业务拦截标记,恢复业务流程。当然,上述各个模块之间的调用顺序可由开发人员根据实际需求进行设定,本公开实施例在此不作赘述。本公开实施例可在不中断业务的情况下,完成处理器以及处理器管理器的升级,可应用于高可靠场景下,有利于满足处理器、处理器管理器的实际部署要求。
应当理解的是,本公开实施例提供的流程在执行时可能涉及执行相关流程的指令,本公开实施例在此仅做出示例性的描述,开发人员可在此基础上新增任何相关流程的指令,或对相关流程的指令进行合并。上述部分流程中虽然未限定使用相关的指令,但是开发人员可根据上述流程的执行目的,设计相关的流程的指令以供各个设备进行交互,本公开实施例在此不做限制。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种升级方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图11示出了根据本公开实施例提供的电子设备的框图,结合图11,所述电子设备100包括:处理器或处理器管理器,所述处理器与处理器管理器相连,所述处理器管理器与管理终端相连,所述电子设备100包括:升级数据接收模块110,用以接收处理器管理器或管理终端发送的升级数据;数据保存模块120,用以通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数;数据加载模块130,用以加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件;参数配置模块140,用以根据所述现场关键参数,重新配置所述处理器或所述处理器管理器;业务处理模块150,用以在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,所述通过存储介质保存所述升级数据,包括:确定至少一个存储介质中的主要存储区域、备份存储区域;其中,所述主要存储区域用以保存未升级的固件,所述备份存储区域用以保存升级数据对应的固件;将升级数据对应的固件升级包保存至所述备份存储区域。
在一种可能的实施方式中,所述加载所述升级数据,包括:通过至少一个缓冲区域,加载所述备份存储区域中的固件;通过备份执行区域,加载所述至少一个缓冲区域中的部分或全部固件。
在一种可能的实施方式中,所述电子设备还用以:拦截所述处理器管理器或管理终端发送的、新的业务请求;在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之前,所述电子设备还用以:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截;所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:将备份执行区域作为新的主要执行区域,并根据所述新的主要执行区域中升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,所述主要存储区域、备份存储区域所在的存储介质相同或不同。
在一种可能的实施方式中,所述加载所述升级数据,包括:确定存储介质中的执行区域;清理所述执行区域中的部分区域,并将固件升级包对应的部分子固件或全部子固件加载至所述部分区域中;所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:根据所述部分区域中的部分子固件或全部子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,所述电子设备还用以:清理所述执行区域中除所述部分区域外的其他区域;其中,所述其他区域与所述部分区域对应的加载位置不同;将所述固件升级包对应的、未加载至所述执行区域中的子固件加载至所述其他区域;所述在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据所述执行区域中的全部子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
在一种可能的实施方式中,在所述清理所述执行区域中除所述部分区域外的其他区域之前,所述电子设备还用以:拦截所述处理器管理器或管理终端发送的、新的业务请求;在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之前,所述电子设备还用以:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。
在一种可能的实施方式中,所述固件升级包对应的、未加载至所述执行区域中的子固件存储于多个存储位置;其中,存在至少一个存储位置中保存有所述固件升级包对应的全部子固件。
在一种可能的实施方式中,所述将所述固件升级包对应的、未加载至所述执行区域中的子固件保存至所述其他区域,包括:根据多个存储介质之间预设的层级关系,依次在多个存储介质中获取未加载至所述执行区域中的、业务流程当前需求的子固件,并在第一存储介质中获取到所述业务流程当前需求的子固件的情况下,将所述第一存储介质中的业务流程当前需求的子固件加载至所述执行区域。
在一种可能的实施方式中,所述层级关系基于存储介质的读取速度进行分级;所述保存所述升级数据,包括:根据存储介质的读取速度,确定所述升级数据对应的子固件的存储位置以及存储于所述存储位置的子固件的大小。
在一种可能的实施方式中,所述升级所述处理器中的固件,包括:确定存储介质中的至少一个执行区域;其中,所述至少一个执行区域包括主要执行区域、备份执行区域中的至少一种;清理所述至少一个执行区域,并将固件升级包对应的部分或全部子固件加载至所述至少一个执行区域。
在一种可能的实施方式中,在所述清理所述至少一个执行区域之前,所述电子设备还用以:拦截所述处理器管理器或管理终端发送的、新的业务请求;在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之后,包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。
在一种可能的实施方式中,所述将固件升级包对应的部分子固件加载至所述至少一个执行区域,包括:根据多个存储介质之间预设的层级关系,依次在多个存储介质中获取未加载至所述至少一个执行区域中的、业务流程当前需求的子固件,并在第二存储介质中获取到所述业务流程当前需求的子固件的情况下,将所述第二存储介质中的业务流程当前需求的子固件加载至所述至少一个执行区域。
在一种可能的实施方式中,所述存储介质包括:处理器的缓存、闪存、内存中的至少一种。
在一种可能的实施方式中,所述现场关键参数包括:业务流程对应的参数、处理器或处理器管理器的配置参数中的至少一项。
在一种可能的实施方式中,所述接收所述处理器管理器或管理终端发送的升级数据,包括以下至少一项:在接收到所述处理器管理器或管理终端发送的升级数据的情况下,生成并发送接收结果至所述处理器管理器或管理终端;其中,所述接收结果用以指示处理器管理器或管理终端重新发送或停止发送所述升级数据至所述处理器或所述处理器管理器;其中,所述处理器管理器包括:服务器或具备管理其他处理器功能的处理器;在所述处理器管理器具备处理器对应的业务流程的处理能力、且收到所述管理终端或处理器管理器中的服务器发送的升级数据的情况下,生成并发送接收结果至所述管理终端或所述服务器;其中,所述接收结果用以指示管理终端或所述服务器是否重新发送或停止发送所述升级数据至处理器管理器。
在一种可能的实施方式中,所述电子设备还用以:检测所述处理器或所述处理器管理器中与所述升级数据对应的异常事件;在检测到所述处理器或所述处理器管理器中出现与所述升级数据对应的异常事件的情况下,执行以下至少一项:根据所述异常事件,生成提示信息;保存所述异常事件;对所述异常事件进行修复;保存所述异常事件以及所述修复结果。
该方法与计算机系统的内部结构存在特定技术关联,且能够解决如何提升硬件运算效率或执行效果的技术问题(包括减少数据存储量、减少数据传输量、提高硬件处理速度等),从而获得符合自然规律的计算机系统内部性能改进的技术效果。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
图12示出了根据本公开实施例提供的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图12,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OS XTM),多用户多进程的计算机操作系统(UnixTM), 自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (19)

1.一种升级方法,其特征在于,应用于处理器或处理器管理器,所述处理器与处理器管理器相连,所述处理器管理器与管理终端相连,所述升级方法包括:
接收处理器管理器或管理终端发送的升级数据;
通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数;
加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件;
根据所述现场关键参数,重新配置所述处理器或所述处理器管理器;
在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理;
所述加载所述升级数据,包括:
确定存储介质中的执行区域;
清理所述执行区域中的部分区域,并将固件升级包对应的部分子固件加载至所述部分区域中;其中,所述部分子固件为所述固件升级包中业务需求的子固件;
所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:根据所述部分区域中的部分子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
2.如权利要求1所述的升级方法,其特征在于,所述通过存储介质保存所述升级数据,包括:
确定至少一个存储介质中的主要存储区域、备份存储区域;其中,所述主要存储区域用以保存未升级的固件,所述备份存储区域用以保存升级数据对应的固件;
将升级数据对应的固件升级包保存至所述备份存储区域。
3.如权利要求2所述的升级方法,其特征在于,所述加载所述升级数据,包括:
通过至少一个缓冲区域,加载所述备份存储区域中的固件;
通过备份执行区域,加载所述至少一个缓冲区域中的部分或全部固件。
4.如权利要求3所述的升级方法,其特征在于,所述升级方法还包括:
拦截所述处理器管理器或管理终端发送的、新的业务请求;
在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之前,所述升级方法还包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截;
所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:
将备份执行区域作为新的主要执行区域,并根据所述新的主要执行区域中升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
5.如权利要求2至4中任意一项所述的升级方法,其特征在于,所述主要存储区域、备份存储区域所在的存储介质相同或不同。
6.如权利要求1所述的升级方法,其特征在于,所述升级方法还包括:
清理所述执行区域中除所述部分区域外的其他区域;其中,所述其他区域与所述部分区域对应的加载位置不同;
将所述固件升级包对应的、未加载至所述执行区域中的子固件加载至所述其他区域;
所述在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:
在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据所述执行区域中的全部子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
7.如权利要求6所述的升级方法,其特征在于,在所述清理所述执行区域中除所述部分区域外的其他区域之前,所述升级方法还包括:拦截所述处理器管理器或管理终端发送的、新的业务请求;在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之前,所述升级方法还包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。
8.如权利要求6或7所述的升级方法,其特征在于,所述固件升级包对应的、未加载至所述执行区域中的子固件存储于多个存储位置;其中,存在至少一个存储位置中保存有所述固件升级包对应的全部子固件。
9.如权利要求8所述的升级方法,其特征在于,所述将所述固件升级包对应的、未加载至所述执行区域中的子固件加载至所述其他区域,包括:
根据多个存储介质之间预设的层级关系,依次在多个存储介质中获取未加载至所述执行区域中的、业务流程当前需求的子固件,并在第一存储介质中获取到所述业务流程当前需求的子固件的情况下,将所述第一存储介质中的业务流程当前需求的子固件加载至所述执行区域。
10.如权利要求9所述的升级方法,其特征在于,所述层级关系基于存储介质的读取速度进行分级;所述保存所述升级数据,包括:根据存储介质的读取速度,确定所述升级数据对应的子固件的存储位置以及存储于所述存储位置的子固件的大小。
11.如权利要求1所述的升级方法,其特征在于,所述升级所述处理器中的固件,包括:
确定存储介质中的至少一个执行区域;其中,所述至少一个执行区域包括主要执行区域、备份执行区域中的至少一种;
清理所述至少一个执行区域,并将固件升级包对应的部分或全部子固件加载至所述至少一个执行区域。
12.如权利要求11所述的升级方法,其特征在于,在所述清理所述至少一个执行区域之前,所述升级方法还包括:拦截所述处理器管理器或管理终端发送的、新的业务请求;
在所述根据所述现场关键参数,重新配置所述处理器或所述处理器管理器之后,包括:取消对所述处理器管理器或管理终端发送的、新的业务请求的拦截。
13.如权利要求11或12所述的升级方法,其特征在于,所述将固件升级包对应的部分子固件加载至所述至少一个执行区域,包括:
根据多个存储介质之间预设的层级关系,依次在多个存储介质中获取未加载至所述至少一个执行区域中的、业务流程当前需求的子固件,并在第二存储介质中获取到所述业务流程当前需求的子固件的情况下,将所述第二存储介质中的业务流程当前需求的子固件加载至所述至少一个执行区域。
14.如权利要求1所述的升级方法,其特征在于,所述存储介质包括:处理器的缓存、闪存、内存中的至少一种。
15.如权利要求1所述的升级方法,其特征在于,所述现场关键参数包括:业务流程对应的参数、处理器或处理器管理器的配置参数中的至少一项。
16.如权利要求1所述的升级方法,其特征在于,所述接收所述处理器管理器或管理终端发送的升级数据,包括以下至少一项:
在接收到所述处理器管理器或管理终端发送的升级数据的情况下,生成并发送接收结果至所述处理器管理器或管理终端;其中,所述接收结果用以指示处理器管理器或管理终端重新发送或停止发送所述升级数据至所述处理器或所述处理器管理器;其中,所述处理器管理器包括:服务器或具备管理其他处理器功能的处理器;
在所述处理器管理器具备处理器对应的业务流程的处理能力、且收到所述管理终端或处理器管理器中的服务器发送的升级数据的情况下,生成并发送接收结果至所述管理终端或所述服务器;其中,所述接收结果用以指示管理终端或所述服务器是否重新发送或停止发送所述升级数据至处理器管理器。
17.如权利要求1所述的升级方法,其特征在于,所述升级方法还包括:
检测所述处理器或所述处理器管理器中与所述升级数据对应的异常事件;
在检测到所述处理器或所述处理器管理器中出现与所述升级数据对应的异常事件的情况下,执行以下至少一项:根据所述异常事件,生成提示信息;保存所述异常事件;对所述异常事件进行修复;保存所述异常事件以及修复结果。
18.一种电子设备,包括处理器或处理器管理器,其特征在于,所述处理器与处理器管理器相连,所述处理器管理器与管理终端相连,所述电子设备包括:
升级数据接收模块,用以接收处理器管理器或管理终端发送的升级数据;
数据保存模块,用以通过存储介质保存所述升级数据、所述处理器或所述处理器管理器的现场关键参数;
数据加载模块,用以加载所述升级数据,并在所述升级数据加载完成的情况下,根据所述升级数据,升级所述处理器或所述处理器管理器中的固件;
参数配置模块,用以根据所述现场关键参数,重新配置所述处理器或所述处理器管理器;
业务处理模块,用以在接收到所述处理器管理器或管理终端发送的、新的业务请求的情况下,根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理;
所述加载所述升级数据,包括:
确定存储介质中的执行区域;
清理所述执行区域中的部分区域,并将固件升级包对应的部分子固件加载至所述部分区域中;其中,所述部分子固件为所述固件升级包中业务需求的子固件;
所述根据升级后的固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理,包括:根据所述部分区域中的部分子固件,对所述处理器管理器或管理终端发送的、新的业务请求进行处理。
19.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至17中任意一项所述的升级方法。
CN202211523303.2A 2022-12-01 2022-12-01 升级方法、电子设备及存储介质 Active CN115543393B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211523303.2A CN115543393B (zh) 2022-12-01 2022-12-01 升级方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211523303.2A CN115543393B (zh) 2022-12-01 2022-12-01 升级方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115543393A CN115543393A (zh) 2022-12-30
CN115543393B true CN115543393B (zh) 2023-08-22

Family

ID=84721955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211523303.2A Active CN115543393B (zh) 2022-12-01 2022-12-01 升级方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115543393B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934358B (zh) * 2023-01-05 2023-06-27 摩尔线程智能科技(北京)有限责任公司 数据处理装置集群的控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017067448A1 (zh) * 2015-10-22 2017-04-27 深圳市中兴微电子技术有限公司 一种无线固件升级方法、系统及计算机存储介质
CN107239302A (zh) * 2017-05-10 2017-10-10 努比亚技术有限公司 一种固件升级方法、终端和服务器
CN112491600A (zh) * 2018-03-07 2021-03-12 华为技术有限公司 升级网卡固件的方法、装置、网卡和设备
CN114911500A (zh) * 2022-05-17 2022-08-16 北京驭光科技发展有限公司 终端升级方法、终端及系统
CN115629785A (zh) * 2022-12-01 2023-01-20 摩尔线程智能科技(北京)有限责任公司 升级方法、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
CN113110852A (zh) * 2020-01-10 2021-07-13 北京小米移动软件有限公司 固件升级方法、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017067448A1 (zh) * 2015-10-22 2017-04-27 深圳市中兴微电子技术有限公司 一种无线固件升级方法、系统及计算机存储介质
CN106610840A (zh) * 2015-10-22 2017-05-03 深圳市中兴微电子技术有限公司 一种无线固件升级方法及系统
CN107239302A (zh) * 2017-05-10 2017-10-10 努比亚技术有限公司 一种固件升级方法、终端和服务器
CN112491600A (zh) * 2018-03-07 2021-03-12 华为技术有限公司 升级网卡固件的方法、装置、网卡和设备
CN114911500A (zh) * 2022-05-17 2022-08-16 北京驭光科技发展有限公司 终端升级方法、终端及系统
CN115629785A (zh) * 2022-12-01 2023-01-20 摩尔线程智能科技(北京)有限责任公司 升级方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN115543393A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
EP3944082A1 (en) Extending the kubernetes api in-process
CN107526659B (zh) 用于失效备援的方法和设备
US20110283274A1 (en) Firmware image update and management
KR20170022028A (ko) 컨테이너 이미지 보안 검사 방법 및 그 장치
CN109168328B (zh) 虚拟机迁移的方法、装置和虚拟化系统
CN107729176B (zh) 一种配置文件管理系统的容灾方法及容灾系统
CN110647332A (zh) 基于容器云的软件部署方法和装置
CN111124475A (zh) 存储管理的方法、电子设备和计算机可读存储介质
EP3879875A1 (en) Resource change method and device, apparatus, and storage medium
CN115543393B (zh) 升级方法、电子设备及存储介质
CN110851204A (zh) 应用启动的方法及装置、应用打包的方法及装置
US20180203726A1 (en) Virtual machine migration method and apparatus
CN115629785A (zh) 升级方法、电子设备及存储介质
CN114968776A (zh) 一种应用程序的检测方法和装置
CN113448770B (zh) 用于恢复数据的方法、电子设备和计算机程序产品
US20210263721A1 (en) Method, device, and computer program product for managing virtual machine upgrage
CN115167874B (zh) 自动驾驶软件镜像部署方法、装置、电子设备和可读介质
CN110413207B (zh) 降低存储系统的数据恢复时间的方法、设备和程序产品
CN116302271A (zh) 一种页面展示方法、装置及电子设备
CN116360834A (zh) 基于OSTree的Kubernetes集群原地升级方法及系统
CN112181470B (zh) 一种部署补丁的方法和装置
US9798571B1 (en) System and method for optimizing provisioning time by dynamically customizing a shared virtual machine
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN112083939A (zh) 批量升级方法、装置、系统及介质
CN118473942B (zh) 面向敏捷式VMware虚拟化资源池的版本割接方法

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