CN117762457A - 不中断业务的操作系统服务升级方法及装置 - Google Patents

不中断业务的操作系统服务升级方法及装置 Download PDF

Info

Publication number
CN117762457A
CN117762457A CN202311459733.7A CN202311459733A CN117762457A CN 117762457 A CN117762457 A CN 117762457A CN 202311459733 A CN202311459733 A CN 202311459733A CN 117762457 A CN117762457 A CN 117762457A
Authority
CN
China
Prior art keywords
service
instance
upgrading
operating system
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.)
Pending
Application number
CN202311459733.7A
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.)
Shanghai Kunyi Software Technology Co ltd
Original Assignee
Shanghai Kunyi Software 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 Shanghai Kunyi Software Technology Co ltd filed Critical Shanghai Kunyi Software Technology Co ltd
Priority to CN202311459733.7A priority Critical patent/CN117762457A/zh
Publication of CN117762457A publication Critical patent/CN117762457A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请涉及一种不中断业务的操作系统服务升级方法及装置,该方法包括对操作系统中的应用程序和系统服务进行模块化和服务化处理;将处理后的系统服务注册至服务管理器,记录对应的数据信息,且在服务管理器中通过服务实例执行系统服务的服务操作;获取待升级服务实例的新的可执行文件并执行,对服务实例进行升级;接收应用程序的服务访问请求,并根据服务实例是否注册启动,确定对应的服务查询结果并返回。本申请操作系统的系统服务由服务管理器管理,在升级过程中由旧的服务实例提供服务,在升级完成后更新服务管理器中的服务实例的信息,由新的服务实例来提供服务,从而实现升级过程中业务不中断的升级方式,提升系统服务的可用性。

Description

不中断业务的操作系统服务升级方法及装置
技术领域
本公开涉及计算机技术领域,尤其涉及一种不中断业务的操作系统服务升级方法及装置。
背景技术
随着科技的发展和工业的进步,嵌入式设备使用者对设备的要求越来越高,尤其在航空航天,移动设备以及汽车等领域,已经离不开实时操作系统的支持。其中,在一些需要高可靠性的应用场景下,要求实时操作系统服务提供高可用性的服务,此时如果系统服务需要进行升级,通常需要先升级磁盘上服务对应的二进制文件,然后再重启系统。或者,还可以通过主备双系统提供服务来解决该问题。当其中A系统的服务处于升级状态时,由B系统提供服务,A系统服务升级完成后由A系统提供服务,然后在升级B系统的服务,从而完成两个系统上的指定服务的升级。
但是,通过升级磁盘文件并重启系统的方式升级系统服务,会降低系统服务可用性的时间,而采用主备双系统提供服务的方案在服务升级时由于存在服务对象的切换和数据同步等问题,依然会存在一定的时间窗口期是无法提供系统服务的,且该方案会造成硬件资源和功耗成本的成倍增长。
发明内容
有鉴于此,本申请提出一种不中断业务的操作系统服务升级方法及装置,以解决上述问题。
本申请一方面,提出一种不中断业务的操作系统服务升级方法,包括如下步骤:
对操作系统中的应用程序和系统服务进行模块化和服务化处理;
将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且在所述服务管理器中通过服务实例执行所述系统服务的服务操作;
获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级;
接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回。
作为本申请的一可选实施方案,可选地,所述数据信息包括服务名称、进程号和对外通信的消息通道编号。
作为本申请的一可选实施方案,可选地,在将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且所述服务管理器中通过服务实例执行所述系统服务的服务操作时多个所述服务实例能够注册在一个所述服务名称下,并通过服务列表组织。
作为本申请的一可选实施方案,可选地,所述获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级,包括:
获取待升级所述服务实例的新的可执行文件并执行;
按照预设的注册策略对待升级所述服务实例进行注册升级。
作为本申请的一可选实施方案,可选地,所述接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回,包括:
接收所述应用程序对所述系统服务的服务访问请求;
根据所述服务访问请求查询对应的所述服务名称的信息,并判断所述服务实例是否注册启动;
若未注册启动,则所述服务查询结果为待升级的所述服务实例;
若已注册启动,则所述查询结果为升级后的所述服务实例;
将所述查询结果返回至所述应用程序。
作为本申请的一可选实施方案,可选地,模块化后的所述应用程序与所述系统服务之间,通过IPC进行通信请求服务。
本申请一方面,提供一种装置,用于实现上述任一项所述的不中断业务操作系统服务升级方法,包括:
预处理模块,被配置为对操作系统中的应用程序和系统服务进行模块化和服务化处理;
注册模块,被配置为将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且在所述服务管理器中通过服务实例执行所述系统服务的服务操作;
升级模块,被配置为获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级;
服务查询模块,被配置为接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回。
本申请另一方面,提供一种控制系统,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现上述任一项所述的不中断业务的操作系统服务升级方法。
本申请再一方面,提供一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述任一项所述的不中断业务的操作系统服务升级方法。
本发明的技术效果:
本申请通过将操作系统中的主要功能即应用程序和系统服务进行模块化并服务化后,将系统服务注册至服务管理器中。当需要对系统服务进行升级时,通过在服务管理器中执行获取到的新的可执行文件对系统服务进行升级,使得当客户端应用程序访问具体的系统服务时,能够从服务管理器中查询的对应系统服务是否注册启动,来确定对应的查询结果,并返回至客户端应用程序。也即,本申请的操作系统服务升级方法,实时操作系统的系统服务由服务管理器管理,在升级过程中由旧的服务实例提供服务,在升级完成后更新服务管理器中的服务实例的信息,由新的服务实例来提供服务,从而实现升级过程中业务不中断的升级方式,提升系统服务的可用性。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出为本发明的不中断业务的操作系统服务升级方法的流程示意图;
图2示出为本发明的不中断业务的操作系统服务升级方法中微内核实时操作系统结构示意图;
图3示出为本发明的不中断业务的操作系统服务升级方法中服务管理器对服务的管理示意图;
图4示出为本发明的不中断业务的操作系统服务升级方法中系统服务升级时序图;
图5示出为本发明的不中断业务的操作系统服务升级方法中应用程序向系统服务请求服务的时序图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
如图1所示,为了能够在不中断业务的情况下完成实时操作系统服务升级,保证系统服务一直处于可用状态,本申请第一方面,提供一种不中断业务的操作系统服务升级方法,包括如下步骤:
S100、对操作系统中的应用程序和系统服务进行模块化和服务化处理;
S200、将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且在所述服务管理器中通过服务实例执行所述系统服务的服务操作;
S300、获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级;
S400、接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回。
本实施例中,通过将操作系统中的主要功能即应用程序和系统服务进行模块化并服务化后,将系统服务注册至服务管理器(SM)中。当需要对系统服务进行升级时,通过在服务管理器中执行获取到的新的可执行文件对系统服务进行升级,使得当客户端应用程序访问具体的系统服务时,能够从服务管理器中查询的对应系统服务是否注册启动,来确定对应的查询结果,并返回至客户端应用程序。也即,本申请的操作系统服务升级方法,实时操作系统的系统服务由服务管理器管理,在升级过程中由旧的服务实例提供服务,在升级完成后更新服务管理器中的服务实例的信息,由新的服务实例来提供服务,从而实现升级过程中业务不中断的升级方式,提升系统服务的可用性。
具体而言,通过步骤S100、对操作系统中的应用程序和系统服务进行模块化和服务化处理。本申请首先将系统的主要功能模块化并服务化,即将应用程序和系统服务进行模块化并服务化处理,其中,作为本申请的一可选实施方案,可选地,模块化后的所述应用程序与所述系统服务之间,通过IPC(InterProcess Communication,进程间通信)进行通信请求服务。也即,如图2所示,各模块间通过IPC通信,且由操作系统微内核提供进程调度、处理中断、内存映射等功能,按照上述模式运行为系统服务进行业务不中断的升级提供条件。
进一步的,通过步骤S200、将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且在所述服务管理器中通过服务实例执行所述系统服务的服务操作。
作为本申请的一可选实施方案,可选地,所述数据信息包括服务名称、进程号和对外通信的消息通道编号。
作为本申请的一可选实施方案,可选地,在将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且所述服务管理器中通过服务实例执行所述系统服务的服务操作时,多个所述服务实例能够注册在一个所述服务名称下,并通过服务列表组织。
需要说明的是,本申请将系统服务都注册到服务管理器中,并记录对应的服务名称、进程号和对外通信的消息通道号。其中,同一服务名称下可以注册多个服务实例,且多个服务实例用服务列表组织。还需要说明的是,新注册的服务实例根据注册时的指定注册策略进行排序。
例如,如果指定策略为新注册服务实例插入列表头,则新注册服务实例排在该名称服务列表的列表头上;如果指定策略为插入到列表尾,则新注册服务实例排在该名称服务列表的列表尾上。
更进一步的,通过步骤S300、获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级。
作为本申请的一可选实施方案,可选地,所述获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级,包括:
S310、获取待升级所述服务实例的新的可执行文件并执行;
S320、按照预设的注册策略对待升级所述服务实例进行注册升级。
具体的,如图3和图4所示,当需要升级服务名为NameA的服务实例Sa时,升级程序B通过网络下载服务为NameA的新的可执行文件α并执行,此时启动的服务实例为Sa1,服务实例Sa1指定注册策略为列表头注册,所以服务实例Sa1将在服务管理器SM上注册到服务名称NameA下并排在列表头上。
随后,通过步骤S400、接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回。如图5所示,应用程序向系统服务请求服务时,首先由应用程序向服务管理器发送查询服务的请求,并由服务管理器返回查询结果,用户端应用程序根据返回的查询结果与对应的服务进行通信进而获取服务。
作为本申请的一可选实施方案,可选地,所述接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回,包括:
S410、接收所述应用程序对所述系统服务的服务访问请求;
S420、根据所述服务访问请求查询对应的所述服务名称的信息,并判断所述服务实例是否注册启动;
S430、若未注册启动,则所述服务查询结果为待升级的所述服务实例;
S430’、若已注册启动,则所述查询结果为升级后的所述服务实例;
S440、将所述查询结果返回至所述应用程序。
此处,需要说明的是,当客户端应用程序通过IPC访问服务名为NameA的服务时,先从服务管理器SM上查询服务名为NameA的信息,如果此时服务实施例Sa1还未启动,则查询到的服务实例为Sa,如果Sa1已注册则查询到的服务实例为Sa1,然后按照查询到的服务实例的信息通过IPC向服务实例进行服务请求来获取服务。
还需要说明的是,在新的服务实例Sa1启动后,即升级成功后,还包括如下三种策略可以执行:
1、无其他操作;
2、对所有旧的服务实例进行停止和反注册操作;
3、对部分旧的服务实例进行停止和反注册操作,部分旧的服务实例继续服务(在新服务实例服务异常时使用旧的服务实例进行容错处理)。
综上所述,通过本申请的升级方法,在实时操作系统服务升级过程中,可以避免重启系统导致的业务中断,有效提升了系统服务的可用性,进而提升系统的可靠性。不仅如此,利用本申请的升级方法升级服务在提升系统可靠性的同时,不增加额外的硬件成本。由服务管理器管理实时操作系统的系统服务,在升级过程中由旧的服务实例提供服务,在升级完成后更新服务管理器中服务实例的信息,由新的服务实例来提供服务,有效保障实现升级过程中的业务不中断的升级方式。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
实施例2
进一步地,本申请第二方面,提供一种装置,用于实现上述任一项所述的不中断业务操作系统服务升级方法,包括:
预处理模块,被配置为对操作系统中的应用程序和系统服务进行模块化和服务化处理;
注册模块,被配置为将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且在所述服务管理器中通过服务实例执行所述系统服务的服务操作;
升级模块,被配置为获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级;
服务查询模块,被配置为接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回。
实施例3
更进一步的,本申请第三方面,提供一种控制系统,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现上述任一项所述的不中断业务的操作系统服务升级方法。
本公开实施例来控制系统包括处理器以及用于存储处理器可执行指令的存储器。其中,处理器被配置为执行可执行指令时实现前面任一所述的不中断业务的操作系统服务升级方法。
此处,应当指出的是,处理器的个数可以为一个或多个。同时,在本公开实施例的控制系统中,还可以包括输入装置和输出装置。其中,处理器、存储器、输入装置和输出装置之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器作为一计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的不中断业务的操作系统服务升级方法所对应的程序或模块。处理器通过运行存储在存储器中的软件程序或模块,从而执行控制系统的各种功能应用及数据处理。
输入装置可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置可以包括显示屏等显示设备。
实施例4
本申请第四方面,提供一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述任一项所述的不中断业务的操作系统服务升级方法。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (9)

1.一种不中断业务的操作系统服务升级方法,其特征在于,包括如下步骤:
对操作系统中的应用程序和系统服务进行模块化和服务化处理;
将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且在所述服务管理器中通过服务实例执行所述系统服务的服务操作;
获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级;
接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回。
2.根据权利要求1所述的不中断业务的操作系统服务升级方法,其特征在于,所述数据信息包括服务名称、进程号和对外通信的消息通道编号。
3.根据权利要求2所述的不中断业务的操作系统服务升级方法,其特征在于,在将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且所述服务管理器中通过服务实例执行所述系统服务的服务操作时,多个所述服务实例能够注册在一个所述服务名称下,并通过服务列表组织。
4.根据权利要求3所述的不中断业务的操作系统服务升级方法,其特征在于,所述获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级,包括:
获取待升级所述服务实例的新的可执行文件并执行;
按照预设的注册策略对待升级所述服务实例进行注册升级。
5.根据权利要求3所述的不中断业务的操作系统服务升级方法,其特征在于,所述接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回,包括:
接收所述应用程序对所述系统服务的服务访问请求;
根据所述服务访问请求查询对应的所述服务名称的信息,并判断所述服务实例是否注册启动;
若未注册启动,则所述服务查询结果为待升级的所述服务实例;
若已注册启动,则所述查询结果为升级后的所述服务实例;
将所述查询结果返回至所述应用程序。
6.根据权利要求1-5中任一项所述的不中断业务的操作系统服务升级方法,其特征在于,模块化后的所述应用程序与所述系统服务之间,通过IPC进行通信请求服务。
7.一种装置,用于实现上述权利要求1-6中任一项所述的不中断业务的操作系统服务升级方法,其特征在于,包括:
预处理模块,被配置为对操作系统中的应用程序和系统服务进行模块化和服务化处理;
注册模块,被配置为将处理后的所述系统服务注册至服务管理器,记录对应的数据信息,且在所述服务管理器中通过服务实例执行所述系统服务的服务操作;
升级模块,被配置为获取待升级所述服务实例的新的可执行文件并执行,对所述服务实例进行升级;
服务查询模块,被配置为接收所述应用程序的服务访问请求,并根据所述服务实例是否注册启动,确定对应的服务查询结果并返回。
8.一种控制系统,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现权利要求1至6中任一项所述的不中断业务的操作系统服务升级方法。
9.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至6中任一项所述的不中断业务的操作系统服务升级方法。
CN202311459733.7A 2023-11-03 2023-11-03 不中断业务的操作系统服务升级方法及装置 Pending CN117762457A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311459733.7A CN117762457A (zh) 2023-11-03 2023-11-03 不中断业务的操作系统服务升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311459733.7A CN117762457A (zh) 2023-11-03 2023-11-03 不中断业务的操作系统服务升级方法及装置

Publications (1)

Publication Number Publication Date
CN117762457A true CN117762457A (zh) 2024-03-26

Family

ID=90317018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311459733.7A Pending CN117762457A (zh) 2023-11-03 2023-11-03 不中断业务的操作系统服务升级方法及装置

Country Status (1)

Country Link
CN (1) CN117762457A (zh)

Similar Documents

Publication Publication Date Title
JP3088269B2 (ja) コンピュータネットワークシステム及びそのオペレーティングシステムの版数管理方法
CN101196912B (zh) 用于应用程序状态同步的方法和设备
CN110532106B (zh) 进程间的通讯方法、装置、设备和存储介质
EP4287023A1 (en) Service processing method and device
CN111277373B (zh) 一种服务器切换的控制方法、终端及存储介质
CN105373563B (zh) 数据库切换方法及装置
CN110659104B (zh) 一种业务监控方法及相关设备
WO2016116013A1 (zh) 软件升级方法和系统
CN114328097A (zh) 一种文件监控方法、装置、电子设备和存储介质
WO2024103583A1 (zh) Bios选项修改的生效方法和装置、非易失性可读存储介质及电子装置
CN115543393B (zh) 升级方法、电子设备及存储介质
CN117762457A (zh) 不中断业务的操作系统服务升级方法及装置
CN116401014A (zh) 服务发布方法、装置、存储介质及服务器
CN107632893B (zh) 消息队列处理方法及装置
CN112764897B (zh) 任务请求的处理方法、装置、系统及计算机可读存储介质
US20220179680A1 (en) Application state control method apparatus, and terminal and computer-readable storage medium
JP4063573B2 (ja) デバイスドライバの組み込み・実行方式、組み込み・実行方法、及びプログラム
JPH11232233A (ja) ネットワークコンピュータ管理方法及びネットワークコンピュータシステム
CN114968505A (zh) 任务处理系统、方法、装置、设备、存储介质及程序产品
CN112637201A (zh) 一种web服务端的请求处理方法、装置、设备及系统
CN112416641A (zh) 主从架构中被控端节点重启检测方法及主控端节点
CN111324374A (zh) 基于应用性能管理系统的应用程序的注册方法和装置
JP3494788B2 (ja) プログラム実行管理システム及びプログラム実行管理方法
CN116010126B (zh) 一种服务聚合方法、装置及系统
CN116841649B (zh) 一种基于flink on yarn的热重启方法及装置

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