CN116166299A - 软件升级方法、装置、存储介质、芯片及电子设备 - Google Patents

软件升级方法、装置、存储介质、芯片及电子设备 Download PDF

Info

Publication number
CN116166299A
CN116166299A CN202310346980.XA CN202310346980A CN116166299A CN 116166299 A CN116166299 A CN 116166299A CN 202310346980 A CN202310346980 A CN 202310346980A CN 116166299 A CN116166299 A CN 116166299A
Authority
CN
China
Prior art keywords
service
thread
software
data
shared memory
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
Application number
CN202310346980.XA
Other languages
English (en)
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.)
Shenzhen Yunbao Intelligent Co ltd
Original Assignee
Shenzhen Yunbao Intelligent 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 Shenzhen Yunbao Intelligent Co ltd filed Critical Shenzhen Yunbao Intelligent Co ltd
Priority to CN202310346980.XA priority Critical patent/CN116166299A/zh
Publication of CN116166299A publication Critical patent/CN116166299A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

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

Abstract

本申请公开了一种软件升级方法、装置、存储介质、芯片及电子设备。本申请可以在软件需要升级时,通过软件当前进程将其业务数据保存至共享内存中,再通过进程切换启动新的进程,通过新的进程从共享内存中恢复业务数据,以完成软件升级。本申请提供的方案在本地通过进程完成热升级,不需要通过热迁移的方式实现热升级,可以在不影响***正在运行的业务的情况下实现大版本软件升级,升级耗时少。

Description

软件升级方法、装置、存储介质、芯片及电子设备
技术领域
本申请涉及计算机网络技术领域,特别涉及一种软件升级方法、装置、存储介质、芯片及电子设备。
背景技术
为了尽量减少软件升级时对业务带来的影响,减少***重启,软件升级一般采用热迁移和热补丁的方法。
热迁移是在软件运行的过程中,透明地将软件从源宿主机迁移到目的宿主机,以在目的宿主机运行新版本软件,完成升级。不过,热迁移需要的资源多,迁移涉及网络、存储等多模块,迁移时间长,一台虚拟机热迁移完成一般要十几秒,如果数据中心存在大量虚拟机,通过热迁移实现热升级将非常耗时。热补丁则是一种在软件运行时,动态修复内存中的代码bug的技术。不过,热补丁更适用于代码改动较小的修复,不适合做大版本的软件升级。因此,亟需一种适合大版本软件且耗时更少的升级方法。
发明内容
本申请公开了一种软件升级方法、装置、存储介质、芯片及电子设备,可以实现大版本软件升级且升级的耗时少。
根据本申请实施例的第一方面,提供一种软件升级方法,所述方法包括:
当接收到升级命令时,软件的第一进程解析升级命令,其中,第一进程是软件的当前进程;
第一进程根据升级命令将业务数据保存至共享内存;
当第一进程完成业务数据的保存时,软件执行进程切换,以控制第一进程退出,并且启动配置有升级标记的第二进程作为软件新的当前进程;
第二进程启动后,根据升级标记从共享内存中获取第一进程的业务数据,完成软件升级。
可选地,第一进程包括一第一主线程和至少一业务线程,当接收到升级命令时,软件的第一进程通过第一主线程解析升级命令,以及,
第一进程根据升级命令将业务数据保存至共享内存的步骤具体包括:
第一主线程根据升级命令向至少一第一业务线程发送第一通知;
当接收到第一通知时,第一业务线程将业务数据保存至共享内存。
可选地,第一主线程通过消息队列将第一通知发送给至少一第一业务线程。
可选地,当第一进程完成业务数据的保存时,软件执行进程切换,以控制第一进程退出的步骤具体包括:
当所有第一业务线程完成业务数据的保存时,第一主线程执行进程切换。
可选地,第二进程包括一第二主线程和至少一第二业务线程,
第二进程启动后,根据升级标记从共享内存中获取第一进程的业务数据的步骤具体包括:
第二进程启动后,第二主线程根据升级标记向至少一第二业务线程发送第二通知,
当接收到第二通知时,第二业务线程从共享内存中获取第一业务线程的业务数据,其中,第二业务线程在共享内存所指向的内存空间与第一业务线程在共享内存所指向的内存空间存在映射关系。
可选地,业务数据包括静态数据和动态数据,静态数据包括第一进程关联的配置信息,动态数据包括第一进程与外部进程交互的配置信息。
可选地,将业务数据序列化后保存至共享内存。
根据本申请实施例的第二方面,提供一种软件升级装置,所述装置包括:
解析模块,用于在接收到升级命令时,促使软件的第一进程解析升级命令,其中,第一进程是软件的当前进程;
保存模块,用于促使第一进程根据升级命令将业务数据保存至共享内存;
切换模块,用于当第一进程完成业务数据的保存时,促使软件执行进程切换,以控制第一进程退出,并且启动配置有升级标记的第二进程作为软件新的当前进程;
恢复模块,用于在第二进程启动后,促使第二进程根据升级标记从共享内存中获取第一进程的业务数据,完成软件升级。
可选地,第一进程包括一第一主线程和至少一业务线程,
解析模块,具体还用于在接收到升级命令时,促使软件的第一进程通过第一主线程解析升级命令,
保存模块,具体还用于促使第一主线程根据升级命令向至少一第一业务线程发送第一通知,以及,促使第一业务线程在接收到第一通知时,将业务数据保存至共享内存。
可选地,第一主线程通过消息队列将第一通知发送给至少一第一业务线程。
可选地,切换模块,具体还用于当所有第一业务线程完成业务数据的保存时,促使第一主线程执行进程切换。
可选地,第二进程包括一第二主线程和至少一第二业务线程,
恢复模块,具体还用于在第二进程启动后,促使第二主线程根据升级标记向至少一第二业务线程发送第二通知,以及,当第二业务线程接收到第二通知时,促使第二业务线程从共享内存中获取第一业务线程的业务数据,其中,第二业务线程在共享内存所指向的内存空间与第一业务线程在共享内存所指向的内存空间存在映射关系。
可选地,业务数据包括静态数据和动态数据,静态数据是第一进程关联的配置信息,动态数据是第一进程与外部进程交互的配置信息。
可选地,将业务数据序列化后保存至共享内存。
根据本申请实施例的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如本申请实施例的第一方面提供的所述软件升级方法。
根据本申请实施例的第四方面,提供一种芯片,所述芯片包括:存储器和处理器;
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如本申请实施例的第一方面提供的所述软件升级方法。
根据本申请实施例的第五方面,提供一种电子设备,所述电子设备包括如本申请实施例的第四方面提供的所述芯片。
本申请的实施例提供的技术方案可以包括以下有益效果:
由以上技术方案可知,本申请提供的方案可以在软件需要升级时,可以通过软件当前进程将其业务数据保存至共享内存中,再通过进程切换启动新的进程,通过新的进程从共享内存中恢复业务数据,以完成软件升级。本申请提供的方案在本地通过进程完成热升级,不需要通过热迁移的方式实现热升级,可以在不影响***正在运行的业务的情况下实现大版本软件升级,升级耗时少。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1为本申请实施例提供的一种软件升级方法的流程示意图;
图2为本申请实施例提供的一种软件升级装置的示意框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例提供的方法实施例进行描述。
请参见图1,图1提供了一种软件升级方法的流程示意图。作为一个实施例,该方法包括以下步骤:
步骤101,当接收到升级命令时,软件的第一进程解析升级命令,其中,第一进程是软件的当前进程。
作为一个实施例,软件可以是运行在DPU(Data Processing Unit)上的虚拟机监视器(如Hypervisor软件),在其他变更实施例中,软件也可以是运行在DPU、GPU(GraphicsProcessing Unit)或CPU(Central Processing Unit)上的其他可执行程序。软件运行时,以第一进程的形式运行在DPU上,其第一进程是软件的当前进程。软件可在接收到升级命令时进行热升级。软件通过热升级可以在不重启***(如SoC(System on Chip)片上***)的前提下进行升级,不影响***正在运行的业务,升级过程对周边其他进程透明。升级命令具体可以是Json格式的文件。当软件接收到升级命令时,软件的第一进程会解析升级命令,以校验升级命令的文件参数(如,文件路径是否可访问、文件路径指向的ELF(Executable andLinkable Format,可执行可链接文件格式)文件的头部是否有期望的指示文件的段名等)。当校验通过时,则进行下一步骤102。当校验不通过时,则返回错误信息。
步骤102,第一进程根据升级命令将业务数据保存至共享内存。
作为一个实施例,当升级命令校验通过时,第一进程先向***申请共享内存,再将业务数据保存至共享内存。业务数据包括静态数据和动态数据。对于Hypervisor软件而言,静态数据包括第一进程关联的配置信息(如,创建的虚拟机、包含的设备(如,网卡、磁盘等)等信息),动态数据包括第一进程与外部进程交互的配置信息(如,第一进程与外部进程交互的socket连接、virtio特性协商结果等信息)。
在其他变更实施例中,第一进程可以包括一第一主线程和至少一第一业务线程。第一主线程用于接收和执行全局命令(如,升级命令)。第一业务线程用于执行相应的业务操作(如,虚拟机的创建、设备的绑定或解绑等)。当至少一第一业务线程为多个第一业务线程时,多个第一业务线程为并行执行的业务线程。
当软件的第一进程接收到升级命令时,软件的第一进程通过第一主线程解析升级命令。以及,第一主线程根据升级命令向至少一第一业务线程发送第一通知。当接收到第一通知时,所有第一业务线程将业务数据保存至共享内存。多个并行的第一业务线程并行将业务数据保存至共享内存,可以提高软件保存业务数据的速率,从而提高软件升级的速率。
可选地,第一主线程通过消息队列将第一通知发送给至少一第一业务线程,其中,第一通知包括保存业务数据至共享内存的指示,以及包括每一第一业务线程在共享内存所指向的内存空间的地址。共享内存是第一进程根据第一业务线程的数量向***申请的内存空间。每一第一业务线程对应一块内存空间,即每一第一业务线程指向一块内存空间,换而言之,第一业务线程可以通过其指向的内存空间的地址访问所述内存空间。
可选地,当接收到第一通知时,每一第一业务线程将业务数据序列化后保存至共享内存中与其对应的一块内存空间中。其中,可以采用Protobuf(Protocol Buffers)将业务数据序列化(即串行化),或者其他将业务数据序列化的方式。通过将业务数据序列化后保存至共享内存,可以实现海量业务数据轻便高效地存储。
步骤103,当第一进程完成业务数据的保存时,软件执行进程切换,以控制第一进程退出,并且启动配置有升级标记的第二进程作为软件新的当前进程。
作为一个实施例,当软件的第一主线程收到所有第一业务线程完成业务数据的保存的信号时,软件的第一主线程执行进程切换,以控制第一进程退出,并且启动配置有升级标记的第二进程作为软件新的当前进程。
可选地,软件的第一主线程可以通过调用execv***函数来执行进程切换。
步骤104,第二进程启动后,根据升级标记从共享内存中获取第一进程的业务数据,完成软件升级。
作为一个实施例,第二进程根据升级标记从共享内存中获取经过序列化的第一进程的业务数据,将经过序列化的业务数据进行反序列化,以恢复第一进程的业务数据。其中,可以采用Protobuf将序列化的业务数据进行反序列化。
在其他变更实施例中,第二进程包括一第二主线程和至少一第二业务线程。第二进程在启动后,第二进程的第二主线程根据升级标记向至少一第二业务线程发送第二通知,其中,第二通知包括从共享内存获取与恢复第一业务线程的业务数据的指示,以及包括每一第二业务线程在共享内存所指向的内存空间与每一第一业务线程在共享内存所指向的内存空间的映射关系。可选地,所述映射关系是一一对应关系,换而言之,第二业务线程在共享内存所指向的内存空间等于第一业务线程在共享内存所指向的内存空间。
当第二业务线程接收到第二通知时,第二业务线程从共享内存中获取第一业务线程的业务数据。具体地,当第二业务线程接到第二通知时,第二业务线程根据第二通知从共享内存中获取经过序列化的第一进程的业务数据,再将经过序列化的业务数据进行反序列化,以恢复第一进程的业务数据。当所有第二业务线程恢复完成第一业务线程的业务数据时,第二进程完成软件升级。
本申请软件升级方法,在软件需要升级时,可以通过软件当前进程将其业务数据保存至共享内存中,再通过进程切换启动新的进程,通过新的进程从共享内存中恢复业务数据,以完成软件升级。本申请软件升级方法在本地通过进程完成热升级,不需要通过热迁移的方式实现热升级,可以在不影响***正在运行的业务的情况下实现大版本软件升级,升级耗时少。
请参见图2,图2提供了一种软件升级装置的示意框图。作为一个实施例,该装置可以应用于如PC、服务器等的电子设备。该装置包括:解析模块202、保存模块204、切换模块206及恢复模块208。
具体地,解析模块202,用于在接收到升级命令时,促使软件的第一进程解析升级命令,其中,第一进程是软件的当前进程。
保存模块204,用于促使第一进程根据升级命令将业务数据保存至共享内存。
切换模块206,用于当第一进程完成业务数据的保存时,促使软件执行进程切换,以控制第一进程退出,并且启动配置有升级标记的第二进程作为软件新的当前进程。
恢复模块208,用于在第二进程启动后,促使第二进程根据升级标记从共享内存中获取第一进程的业务数据,完成软件升级。
在其他变更实施例中,业务数据包括静态数据和动态数据,静态数据是第一进程关联的配置信息,动态数据是第一进程与外部进程交互的配置信息。
在其他变更实施例中,保存模块204具体用于促使第一进程根据升级命令将业务数据序列化后保存至共享内存。
在其他变更实施例中,第一进程包括一第一主线程和至少一业务线程。具体地,解析模块202,具体还用于在接收到升级命令时,促使软件的第一进程通过第一主线程解析升级命令,
保存模块204,具体还用于促使第一主线程根据升级命令向至少一第一业务线程发送第一通知,以及,促使第一业务线程在接收到第一通知时,将业务数据保存至共享内存。其中,第一主线程通过消息队列将第一通知发送给至少一第一业务线程。
在其他变更实施例中,切换模块206具体还用于当所有第一业务线程完成业务数据的保存时,促使第一主线程执行进程切换,以控制第一进程退出,并且启动配置有升级标记的第二进程作为软件新的当前进程。其中,第二进程包括一第二主线程和至少一第二业务线程。
在其他变更实施例中,恢复模块208,具体还用于在第二进程启动后,促使第二主线程根据升级标记向至少一第二业务线程发送第二通知,以及,当第二业务线程接收到第二通知时,促使第二业务线程从共享内存中获取第一业务线程的业务数据,其中,第二业务线程在共享内存所指向的内存空间与第一业务线程在共享内存所指向的内存空间存在映射关系。
本申请软件升级装置,在软件需要升级时,可以通过软件当前进程将其业务数据保存至共享内存中,再通过进程切换启动新的进程,通过新的进程从共享内存中恢复业务数据,以完成软件升级。本申请软件升级装置在本地通过进程完成热升级,不需要通过热迁移的方式实现热升级,可以在不影响***正在运行的业务的情况下实现大版本软件升级,升级耗时少。
需说明的是,本实施例所述的软件升级装置与上述实施例所述的软件升级方法对应,因此,本实施例所述的软件升级装置未详述的部分可以参阅上述实施例所述的软件升级方法的内容得到,故此处不进行赘述。
对应地,本申请还提供一种计算机可读存储介质。所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时,可以实现本申请提供的所述软件升级方法。具体而言,所述计算机可读存储介质可以包括:能够携带所述计算机程序指令的任何实体或记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
对应地,本申请还提供一种芯片。所述芯片包括:存储器和处理器。其中,所述存储器用于存储机器可执行指令。所述处理器用于读取并执行所述存储器存储的机器可执行指令,以实现本申请提供的软件升级方法。可选地,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是RAM(Radom AccessMemory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。可选地,所述芯片可以是DPU(Data Processing Unit)、GPU(Graphics Processing Unit)或CPU(Central ProcessingUnit)。DPU是以数据为中心的专用处理器,完成网络、存储和安全的加速处理任务。
对应地,本申请还提供了一种电子设备。该电子设备可以包括本申请提供的芯片。可选地,所述电子设备可以是数据中心的服务器或服务器集群。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (17)

1.一种软件升级方法,其特征在于,所述方法包括:
当接收到升级命令时,软件的第一进程解析升级命令,其中,第一进程是软件的当前进程;
第一进程根据升级命令将业务数据保存至共享内存;
当第一进程完成业务数据的保存时,软件执行进程切换,以控制第一进程退出,并且启动配置有升级标记的第二进程作为软件新的当前进程;
第二进程启动后,根据升级标记从共享内存中获取第一进程的业务数据,完成软件升级。
2.根据权利要求1所述的方法,其特征在于,第一进程包括一第一主线程和至少一业务线程,
当接收到升级命令时,软件的第一进程通过第一主线程解析升级命令,以及,
第一进程根据升级命令将业务数据保存至共享内存的步骤具体包括:
第一主线程根据升级命令向至少一第一业务线程发送第一通知;
当接收到第一通知时,第一业务线程将业务数据保存至共享内存。
3.根据权利要求2所述的方法,其特征在于,第一主线程通过消息队列将第一通知发送给至少一第一业务线程。
4.根据权利要求2所述的方法,其特征在于,当第一进程完成业务数据的保存时,软件执行进程切换,以控制第一进程退出的步骤具体包括:
当所有第一业务线程完成业务数据的保存时,第一主线程执行进程切换。
5.根据权利要求1或4所述的方法,其特征在于,第二进程包括一第二主线程和至少一第二业务线程,
第二进程启动后,根据升级标记从共享内存中获取第一进程的业务数据的步骤具体包括:
第二进程启动后,第二主线程根据升级标记向至少一第二业务线程发送第二通知,
当接收到第二通知时,第二业务线程从共享内存中获取第一业务线程的业务数据,其中,第二业务线程在共享内存所指向的内存空间与第一业务线程在共享内存所指向的内存空间存在映射关系。
6.根据权利要求1所述的方法,其特征在于,业务数据包括静态数据和动态数据,静态数据包括第一进程关联的配置信息,动态数据包括第一进程与外部进程交互的配置信息。
7.根据权利要求1所述的方法,其特征在于,将业务数据序列化后保存至共享内存。
8.一种软件升级装置,其特征在于,所述装置包括:
解析模块,用于在接收到升级命令时,促使软件的第一进程解析升级命令,其中,第一进程是软件的当前进程;
保存模块,用于促使第一进程根据升级命令将业务数据保存至共享内存;
切换模块,用于当第一进程完成业务数据的保存时,促使软件执行进程切换,以控制第一进程退出,并且启动配置有升级标记的第二进程作为软件新的当前进程;
恢复模块,用于在第二进程启动后,促使第二进程根据升级标记从共享内存中获取第一进程的业务数据,完成软件升级。
9.根据权利要求8所述的装置,其特征在于,第一进程包括一第一主线程和至少一业务线程,
解析模块,具体还用于在接收到升级命令时,促使软件的第一进程通过第一主线程解析升级命令,
保存模块,具体还用于促使第一主线程根据升级命令向至少一第一业务线程发送第一通知,以及,促使第一业务线程在接收到第一通知时,将业务数据保存至共享内存。
10.根据权利要求9所述的装置,其特征在于,第一主线程通过消息队列将第一通知发送给至少一第一业务线程。
11.根据权利要求9所述的装置,其特征在于,切换模块,具体还用于当所有第一业务线程完成业务数据的保存时,促使第一主线程执行进程切换。
12.根据权利要求8或11所述的装置,其特征在于,第二进程包括一第二主线程和至少一第二业务线程,
恢复模块,具体还用于在第二进程启动后,促使第二主线程根据升级标记向至少一第二业务线程发送第二通知,以及,当第二业务线程接收到第二通知时,促使第二业务线程从共享内存中获取第一业务线程的业务数据,其中,第二业务线程在共享内存所指向的内存空间与第一业务线程在共享内存所指向的内存空间存在映射关系。
13.根据权利要求8所述的装置,其特征在于,业务数据包括静态数据和动态数据,静态数据是第一进程关联的配置信息,动态数据是第一进程与外部进程交互的配置信息。
14.根据权利要求8所述的装置,其特征在于,将业务数据序列化后保存至共享内存。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如权利要求1~7中任一项所述的软件升级方法。
16.一种芯片,其特征在于,所述芯片包括:存储器和处理器;
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如权利要求1~7中任一项所述的方法。
17.一种电子设备,其特征在于,所述电子设备包括如权利要求16所述芯片。
CN202310346980.XA 2023-04-04 2023-04-04 软件升级方法、装置、存储介质、芯片及电子设备 Pending CN116166299A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310346980.XA CN116166299A (zh) 2023-04-04 2023-04-04 软件升级方法、装置、存储介质、芯片及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310346980.XA CN116166299A (zh) 2023-04-04 2023-04-04 软件升级方法、装置、存储介质、芯片及电子设备

Publications (1)

Publication Number Publication Date
CN116166299A true CN116166299A (zh) 2023-05-26

Family

ID=86413401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310346980.XA Pending CN116166299A (zh) 2023-04-04 2023-04-04 软件升级方法、装置、存储介质、芯片及电子设备

Country Status (1)

Country Link
CN (1) CN116166299A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252407A1 (en) * 2010-04-09 2011-10-13 AppFirst, Inc. System and method for information extraction from within an active application during execution
CN109840168A (zh) * 2019-02-14 2019-06-04 北京字节跳动网络技术有限公司 软件恢复方法、装置、终端和介质
CN111045708A (zh) * 2019-12-20 2020-04-21 新华三大数据技术有限公司 软件升级方法、电子设备和计算机可读存储介质
CN112596771A (zh) * 2020-12-01 2021-04-02 北京明朝万达科技股份有限公司 一种不间断服务升级的方法及***
CN115129515A (zh) * 2022-06-30 2022-09-30 苏州浪潮智能科技有限公司 一种***数据保存方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252407A1 (en) * 2010-04-09 2011-10-13 AppFirst, Inc. System and method for information extraction from within an active application during execution
CN109840168A (zh) * 2019-02-14 2019-06-04 北京字节跳动网络技术有限公司 软件恢复方法、装置、终端和介质
CN111045708A (zh) * 2019-12-20 2020-04-21 新华三大数据技术有限公司 软件升级方法、电子设备和计算机可读存储介质
CN112596771A (zh) * 2020-12-01 2021-04-02 北京明朝万达科技股份有限公司 一种不间断服务升级的方法及***
CN115129515A (zh) * 2022-06-30 2022-09-30 苏州浪潮智能科技有限公司 一种***数据保存方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭奕等: "《C#程序设计与实例分析》", 西安电子科技大学出版社, pages: 208 - 210 *

Similar Documents

Publication Publication Date Title
US9558016B2 (en) Platform system, method for changing support hardware configuration of universal extensible firmware interface basic input output system and computer program product
EP3005160B1 (en) Bundle package retrieving
CN109358882B (zh) 一种电视终端进行固件升级的方法及装置
CN110825399B (zh) 一种应用程序的部署方法及装置
CN112506745B (zh) 内存温度读取方法、装置及计算机可读存储介质
CN103677870A (zh) ***升级方法及采用该方法升级的***
CN107077379A (zh) 一种虚拟机创建方法和装置
WO2014146524A1 (en) Method and configuration center server for configuring server cluster
CN112231230A (zh) 一种测试用例管理方法、装置、电子设备及存储介质
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
CN112650676A (zh) 软件测试方法、装置、设备及存储介质
CN111694604A (zh) 一种驱动批量安装方法、装置、设备及机器可读存储介质
CN111338756A (zh) Gpu池化的方法、装置、设备及计算机可读存储介质
CN106708569B (zh) 一种跨线列车中vobc配置文件的热加载方法及装置
CN114327574A (zh) 一种差分升级方法、电子设备及存储介质
CN116185571B (zh) 数据迁移方法、设备、存储介质及装置
CN116166299A (zh) 软件升级方法、装置、存储介质、芯片及电子设备
CN112214413A (zh) 一种应用程序的测试方法、装置、设备及存储介质
CN111753309A (zh) 一种显卡切换方法及服务器、存储介质
CN107688479B (zh) Android***网络集群及其搭建的方法、Android***网络集群数据处理的方法和***
CN112416536B (zh) 提取处理器执行上下文的方法及处理器
CN101751283A (zh) 虚拟机监视器,虚拟机***及客户操作***状态获取方法
US20170154142A1 (en) Method and apparatus for simulating slow storage disk
US20220121390A1 (en) Accelerated non-volatile memory device inspection and forensics
CN111694587A (zh) 服务器pnor固件升级方法、装置、设备及存储介质

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