CN115951919A - 操作系统的升级方法、装置、电子设备及存储介质 - Google Patents
操作系统的升级方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115951919A CN115951919A CN202211363279.0A CN202211363279A CN115951919A CN 115951919 A CN115951919 A CN 115951919A CN 202211363279 A CN202211363279 A CN 202211363279A CN 115951919 A CN115951919 A CN 115951919A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- service application
- application layer
- interface
- layer
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种操作系统的升级方法、装置、电子设备及存储介质,其中,操作系统包括相互剥离的业务应用层和硬件抽象层,该方法包括:接收操作系统的升级指令,其中,所述升级指令用于对所述操作系统的业务应用层进行升级,所述升级指令携带业务应用层升级包;响应于所述升级指令,判断所述业务应用层是否符合升级要求;若所述业务应用层符合升级要求,则采用所述业务应用层升级包对所述业务应用层进行升级。通过本发明,实现了业务应用层的独立升级,可以不依赖硬件层整体打包升级,解决了系统升级中繁琐的技术问题,使系统升级更方便。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种操作系统的升级方法、装置、电子设备及存储介质。
背景技术
由于不同电视涉及到多款不同芯片,目前对电视系统升级都需要找到不同芯片平台SDK(Software Development Kit,软件开发工具包)代码的维护人员,合入电视系统的新特性再编译生成新的ROM(Read-Only Memory,只读存储器)包,再统一升级才能完成一个芯片上的系统更新。而中间的过程极其繁琐复杂,需要协调很多人力物力,故导致一个新的电视系统更新,需要很漫长的周期才能完成全网升级。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种升级方法、装置、电子设备及存储介质,以解决相关技术中系统升级繁琐的技术问题。
根据本发明实施例的一个方面,提供了一种操作系统的升级方法,所述操作系统包括相互剥离的业务应用层和硬件抽象层,所述方法包括:接收操作系统的升级指令,其中,所述升级指令用于对所述操作系统的业务应用层进行升级,所述升级指令携带业务应用层升级包;响应于所述升级指令,判断所述业务应用层是否符合升级要求;若所述业务应用层符合升级要求,则采用所述业务应用层升级包对所述业务应用层进行升级。
可选地,判断所述业务应用层是否符合升级要求包括:获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数集合,以及解析所述硬件抽象层配置的第二接口函数集合;判断所述第一接口函数集合是否存在所述第二接口函数集合中不存在的指定接口函数;若所述第一接口函数集合不存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层符合升级要求;若所述第一接口函数集合存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层不符合升级要求。
可选地,判断所述业务应用层是否符合升级要求包括:获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数,解析所述硬件抽象层的接口版本;判断所述第一接口函数是否匹配所述接口版本;若所述第一接口函数匹配所述接口版本,则确认所述业务应用层符合升级要求;若所述第一接口函数不匹配所述接口版本,则确认所述业务应用层不符合升级要求。
可选地,解析所述硬件抽象层的接口版本之前,所述方法包括:接收接口增加指令,其中,所述接口增加指令用于指示新增应用程序编程接口;响应于所述接口增加指令,在所述硬件抽象层增加应用程序编程接口,并在增加完成之后,修改对应应用程序编程接口的接口版本。
可选地,判断所述业务应用层是否符合升级要求包括:获取所述业务应用层升级包中调用所述硬件抽象层的第二接口函数;判断所述硬件抽象层是否包括与所述第二接口函数匹配的第一接口;若所述硬件抽象层包括所述第二接口函数匹配的第一接口,则确认所述业务应用层符合升级要求;若所述硬件抽象层不包括所述第二接口函数匹配的第一接口,则确认所述业务应用层不符合升级要求。
可选地,判断所述业务应用层是否符合升级要求包括:解析所述业务应用层升级包支持的第一硬件版本,以及确定所述硬件抽象层的第二硬件版本;根据所述第一硬件版本和所述第二硬件版本判断升级的业务应用层和所述硬件抽象层是否匹配;若升级的业务应用层和所述硬件抽象层匹配,则确认所述业务应用层符合升级要求;若升级的业务应用层和所述硬件抽象层不匹配,则确认所述业务应用层不符合升级要求。
可选地,根据所述第一硬件版本和所述第二硬件版本判断升级的业务应用层和所述硬件抽象层是否匹配包括:解析所述第一硬件版本的第一发布时间,以及解析所述第二硬件版本的第二发布时间;判断所述第一发布时间是否在所述第二发布时间之前;若所述第一发布时间不在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层匹配;若所述第一发布时间在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层不匹配。
根据本发明实施例的另一个方面,提供了一种操作系统的升级装置,包括:接收模块,用于接收操作系统的升级指令,其中,所述升级指令用于对所述操作系统的业务应用层进行升级,所述升级指令携带业务应用层升级包;判断模块,用于响应于所述升级指令,判断所述业务应用层是否符合升级要求;升级模块,用于若所述业务应用层符合升级要求,则采用所述业务应用层升级包对所述业务应用层进行升级。
可选地,判断模块包括:第一获取单元,用于获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数集合;第一解析单元,用于解析所述硬件抽象层配置的第二接口函数集合;第一判断单元,用于判断所述第一接口函数集合是否存在所述第二接口函数集合中不存在的指定接口函数;第一确认单元,用于若所述第一接口函数集合不存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层符合升级要求;若所述第一接口函数集合存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层不符合升级要求。
可选地,判断模块包括:第二获取单元,用于获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数;第二解析单元,用于解析所述硬件抽象层的接口版本;第二判断单元,用于判断所述第一接口函数是否匹配所述接口版本;第二确认单元,用于若所述第一接口函数匹配所述接口版本,则确认所述业务应用层符合升级要求;若所述第一接口函数不匹配所述接口版本,则确认所述业务应用层不符合升级要求。
可选地,判断模块还包括:增加单元,用于接收接口增加指令,其中,所述接口增加指令用于指示新增应用程序编程接口;响应于所述接口增加指令,在所述硬件抽象层增加应用程序编程接口,并在增加完成之后,修改对应应用程序编程接口的接口版本。
可选地,判断模块包括:第三获取单元,用于获取所述业务应用层升级包中调用所述硬件抽象层的第二接口函数;第三判断单元,用于判断所述硬件抽象层是否包括与所述第二接口函数匹配的第一接口;第三确认单元,用于若所述硬件抽象层包括所述第二接口函数匹配的第一接口,则确认所述业务应用层符合升级要求;若所述硬件抽象层不包括所述第二接口函数匹配的第一接口,则确认所述业务应用层不符合升级要求。
可选地,判断模块包括:第三解析单元,用于解析所述业务应用层升级包支持的第一硬件版本,以及确定所述硬件抽象层的第二硬件版本;第四判断单元,用于根据所述第一硬件版本和所述第二硬件版本判断升级的业务应用层和所述硬件抽象层是否匹配;第四确认单元,用于若升级的业务应用层和所述硬件抽象层匹配,则确认所述业务应用层符合升级要求;若升级的业务应用层和所述硬件抽象层不匹配,则确认所述业务应用层不符合升级要求。
可选地,第四判断单元包括:第一解析子单元,用于解析所述第一硬件版本的第一发布时间;第二解析子单元,用于解析所述第二硬件版本的第二发布时间;判断子单元,用于判断所述第一发布时间是否在所述第二发布时间之前;确认子单元,用于若所述第一发布时间不在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层匹配;若所述第一发布时间在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层不匹配。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本发明实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,业务应用层和硬件抽象层相互剥离,当接收到操作系统业务应用层的升级指令时,判断业务应用层是否符合升级要求,若业务应用层符合升级要求,则采用业务应用层升级包对该业务应用层进行升级,实现了业务应用层的独立升级,可以不需要依赖硬件层整体打包升级,解决了系统升级依赖多、投入大、周期长、繁琐的技术问题,使系统升级更方便。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种计算机的硬件结构框图;
图2是根据本发明实施例的一种操作系统的升级方法的流程图;
图3为本发明示例中升级方法应用的一种操作系统的分层架构示意图;
图4是根据本发明实施例的一种电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例所提供的方法实施例可以在手机、计算机、平板、服务器或者类似的运算装置中执行。以运行在计算机上为例,图1是本发明实施例的一种计算机的硬件结构框图。如图1所示,计算机可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种操作系统的升级方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种操作系统的升级方法,图2是根据本发明实施例的一种操作系统的升级方法的流程图,如图2所示,该流程包括如下步骤:
S10,接收操作系统的升级指令,其中,所述升级指令用于对所述操作系统的业务应用层进行升级,所述升级指令携带业务应用层升级包;
本示例中业务应用层和硬件抽象层相互剥离。参照图3,图3为本发明示例中升级方法应用的一种操作系统的分层架构示意图,如图3所示,该操作系统包括硬件层,硬件驱动层、平台适配层PAL(Platform Abstraction Layer,平台抽象层)、系统适配层SAL(System Abstraction Layer,系统抽象层)、原生框架层、系统框架层、Runtime(运行时刻)运行库、业务应用层等。本示例中操作系统的分层架构在于将系统业务层和系统框架层跟系统适配层SAL、平台适配层PAL、原生框架层及其底层硬件相关的东西剥离出来,业务系统与硬件ROM被剥离分成两个ROM包,其中,APP和Framework(系统框架)一个包,系统硬件相关的HAL(Hardware Abstraction Layer,硬件抽象层)作为一个包,升级的时候可以只升级业务部分,如只升级APP和Framework的包,而不用依赖各个芯片系统的ROM包整体打包升级才能实现系统的升级。可以理解的是,图3所示的架构示意图仅为示意说明,其并不构成对操作系统具体的架构限定。例如,操作系统还可包括比图3中更多或者更少的分层,或者具有与图1所示不同的层次等。
S20,响应于所述升级指令,判断所述业务应用层是否符合升级要求;
S30,若所述业务应用层符合升级要求,则采用所述业务应用层升级包对所述业务应用层进行升级。
业务应用层通常以应用APP的方式实现,而APP在实现其功能时往往需要调用底层一些接口,比如,社交APP需要调用蓝牙接口实现文件传输功能,视频播放软件需要调用WIFI网络接口连接网络,以及需要调用音箱接口外放声音等。
为保证对业务应用层的升级不出问题,当接收到对操作系统的业务应用层进行升级的升级指令时,本示例根据升级包判断业务应用层是否符合升级要求,比如,可以通过判断业务应用层升级包中调用硬件抽象层的接口函数与当前的业务应用层的接口函数是否相同,若业务应用层升级包中调用硬件抽象层的接口函数与当前的业务应用层的接口函数相同,则表示升级后的业务应用版本A和现有的业务应用版本B调用的底层接口一致,那么,在现有的底层基础上将业务应用版本B升级切换至版本A,调用的底层接口不会有差异,当前业务应用层符合升级要求,则采用该升级包进行安装,更新升级业务应用层。
本示例通过将业务应用层和硬件抽象层相互剥离,应用软件定制部分与平台方案商隔离,不依赖芯片平台来整体打包升级,可以做到业务应用层的独立升级,解决了系统升级依赖多、投入大、周期长的技术问题,使系统升级更方便。
在一示例中,判断所述业务应用层是否符合升级要求包括:获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数集合,以及解析所述硬件抽象层配置的第二接口函数集合;判断所述第一接口函数集合是否存在所述第二接口函数集合中不存在的指定接口函数;若所述第一接口函数集合不存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层符合升级要求;若所述第一接口函数集合存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层不符合升级要求。
本示例中业务应用层和硬件抽象层相互剥离,若升级后的业务应用层调用了现有的底层硬件系统中不存在的函数方法,则可能导致运行错误,系统异常。如业务应用升级包编译好的新services.jar中,AServices.java引用了framework/base/core下的AManager.java新增加的B接口函数,如果AManager.java在现有的硬件层中未定义,当推送了新的services.jar则会导致现有的硬件平台,即未增加B接口函数的平台,宕机,或者,若业务应用升级包中framework/base/core下的AService.aidl文件AIDL接口有更新,而整机硬件系统中某AserviceImpl.java中未实现aidl的接口函数,则可能会导致虚拟机直接崩溃。因此,本示例中在对业务系统进行升级之前,先判断业务应用层升级包中调用硬件抽象层的第一接口函数集合中是否存在硬件抽象层未配置的指定接口函数,若第一接口函数集合不存在硬件抽象层未配置的指定接口函数,表示升级后的业务应用层调用硬件抽象层的接口函数在硬件抽象层中都有对应的配置,确认业务应用层符合升级要求,若第一接口函数集合中存在硬件抽象层未配置的指定接口函数,表示升级后的业务应用层可能会调用硬件抽象层未配置的接口函数,确认业务应用层不符合升级要求,从而防止了升级后的业务应用层存在调用硬件抽象层不存在的接口函数而导致运行错误,甚至宕机现象的发生,保证了业务应用层升级的有效和正确。
在一示例中,判断所述业务应用层是否符合升级要求包括:
获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数,解析所述硬件抽象层的接口版本;
硬件抽象层会申明其接口版本号。业务应用层升级包中会申明其支持的硬件版本号。
判断所述第一接口函数是否匹配所述接口版本;若所述第一接口函数匹配所述接口版本,则确认所述业务应用层符合升级要求;若所述第一接口函数不匹配所述接口版本,则确认所述业务应用层不符合升级要求。
判断硬件抽象层的接口版本是否支持业务应用层升级包中的接口函数,若硬件抽象层的接口版本支持业务应用层升级包中的接口函数,则确认业务应用层符合升级要求,若硬件抽象层的接口版本不支持业务应用层升级包中的接口函数,则确认业务应用层不符合升级要求。
本示例中,在对系统的应用层进行升级时,判断升级包中调用硬件抽象层的接口函数是否匹配现有的硬件抽象层的接口版本,当接口函数匹配接口版本时,确定业务应用层符合升级要求。
在一示例中,解析所述硬件抽象层的接口版本之前,所述方法包括:接收接口增加指令,其中,所述接口增加指令用于指示新增应用程序编程接口;响应于所述接口增加指令,在所述硬件抽象层增加应用程序编程接口,并在增加完成之后,修改对应应用程序编程接口的接口版本。
随着需求的变更或增加,API接口(Application Programming Interface,应用程序编程接口)也会跟着变化,在业务应用层APP发布升级后,已使用的接口不能直接覆盖更新,需要新增升级版本接口和新的APP版本对应,本示例中硬件抽象层新增接口时需要修改自定义API(Application Programming Interface,应用程序编程接口)版本号,业务应用层升级前判断调用的接口函数和API版本号是否匹配再决定是否能够进行升级。
在一示例中,判断所述业务应用层是否符合升级要求包括:获取所述业务应用层升级包中调用所述硬件抽象层的第二接口函数;判断所述硬件抽象层是否包括与所述第二接口函数匹配的第一接口;若所述硬件抽象层包括所述第二接口函数匹配的第一接口,则确认所述业务应用层符合升级要求;若所述硬件抽象层不包括所述第二接口函数匹配的第一接口,则确认所述业务应用层不符合升级要求。
本示例中,判断当前现有的硬件抽象层是否包括与应用层升级包中匹配的硬件接口,若硬件抽象层包括应用层升级包中匹配的硬件接口时,则确认业务应用层符合升级要求,若不包括应用层升级包中匹配的硬件接口时,则确认业务应用层不符合升级要求,比如,升级后的业务应用层需要蓝牙才能实现其功能,而硬件抽象层中不存在对应的蓝牙接口,那么则认为业务应用层不符合升级要求。
在一示例中,判断所述业务应用层是否符合升级要求包括:
解析所述业务应用层升级包支持的第一硬件版本,以及确定所述硬件抽象层的第二硬件版本;
业务应用层的升级包中通常会声明其所支持的硬件版本,比如,升级后的应用程序适配的蓝牙版本为3.0、5.0,若当前硬件的蓝牙版本为1.0,则当前的硬件层不支持升级后的业务应用层。
根据所述第一硬件版本和所述第二硬件版本判断升级的业务应用层和所述硬件抽象层是否匹配;
根据业务应用层升级包支持的第一硬件版本和当前硬件抽象层的第二硬件版本进行比较,判断当前硬件抽象层的第二硬件版本是否在业务应用层升级包支持的第一硬件版本的范畴中,若第二硬件版本在第一硬件版本的支持范畴中,则表示升级的业务应用层和硬件抽象层匹配,若第二硬件版本不在第一硬件版本的支持范畴中,则表示升级的业务应用层和硬件抽象层不匹配。另外,考虑到高版本通常会兼容低版本,在其它一些实施方式中,还可以根据支持的版本是否高于当前的版本来判断升级的业务应用层和硬件抽象层是否匹配,比如,业务应用层升级包支持的第一硬件版本高于当前硬件抽象层的第二硬件版本,则说明业务应用层升级包可以兼容当前的硬件抽象层,升级的业务应用层和硬件抽象层匹配,否则,不匹配。
若升级的业务应用层和所述硬件抽象层匹配,则确认所述业务应用层符合升级要求;若升级的业务应用层和所述硬件抽象层不匹配,则确认所述业务应用层不符合升级要求。
本示例中通过判断应用层升级包支持的第一硬件版本和现有的硬件抽象层的第二硬件版本是否匹配,当应用层升级包支持的硬件版本和现有的硬件版本匹配时,则确认业务应用层符合升级要求,否则不符合,从而保证了现有的硬件支持升级后的业务应用层。
在一示例中,根据所述第一硬件版本和所述第二硬件版本判断升级的业务应用层和所述硬件抽象层是否匹配包括:
解析所述第一硬件版本的第一发布时间,以及解析所述第二硬件版本的第二发布时间;
本示例中根据版本的发布时间判断升级后的业务应用层和硬件抽象层是否匹配。
判断所述第一发布时间是否在所述第二发布时间之前;若所述第一发布时间不在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层匹配;若所述第一发布时间在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层不匹配。
若业务应用层升级包支持的第一硬件版本的发布时间早于硬件抽象层的第二硬件版本的发布时间,则认为升级的业务应用层和当前的硬件抽象层不匹配,比如,升级后的业务应用层支持的硬件版本为1.0,发布时间为2010年,而当前的硬件为5.0,发布时间为2020年,表示升级后的业务应用层支持的是老的硬件版本,若对业务应用层升级则可能出现不兼容当前新硬件版本的情况,因此,升级的业务应用层和硬件抽象层不匹配,而若升级后的业务应用层支持的硬件版本为5.0,发布时间为2020年,而当前的硬件为1.0,发布时间为2010年,表示升级后的业务应用层支持更新更高的硬件版本,新版本一般可兼容旧版本,因此,升级的业务应用层和硬件抽象层匹配。
本示例实现了根据应用层升级包支持的第一硬件版本和现有的硬件抽象层的第二硬件版本的发布时间判断升级后的业务应用层是否匹配现有的硬件抽象层。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种操作系统的升级装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
根据本发明实施例的一种操作系统的升级装置,包括:接收模块、判断模块、升级模块,其中:
接收模块,用于接收操作系统的升级指令,其中,所述升级指令用于对所述操作系统的业务应用层进行升级,所述升级指令携带业务应用层升级包;
判断模块,用于响应于所述升级指令,判断所述业务应用层是否符合升级要求;
升级模块,用于若所述业务应用层符合升级要求,则采用所述业务应用层升级包对所述业务应用层进行升级。
可选地,判断模块包括:第一获取单元,用于获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数集合;第一解析单元,用于解析所述硬件抽象层配置的第二接口函数集合;第一判断单元,用于判断所述第一接口函数集合是否存在所述第二接口函数集合中不存在的指定接口函数;第一确认单元,用于若所述第一接口函数集合不存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层符合升级要求;若所述第一接口函数集合存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层不符合升级要求。
可选地,判断模块包括:第二获取单元,用于获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数;第二解析单元,用于解析所述硬件抽象层的接口版本;第二判断单元,用于判断所述第一接口函数是否匹配所述接口版本;第二确认单元,用于若所述第一接口函数匹配所述接口版本,则确认所述业务应用层符合升级要求;若所述第一接口函数不匹配所述接口版本,则确认所述业务应用层不符合升级要求。
可选地,判断模块还包括:增加单元,用于接收接口增加指令,其中,所述接口增加指令用于指示新增应用程序编程接口;响应于所述接口增加指令,在所述硬件抽象层增加应用程序编程接口,并在增加完成之后,修改对应应用程序编程接口的接口版本。
可选地,判断模块包括:第三获取单元,用于获取所述业务应用层升级包中调用所述硬件抽象层的第二接口函数;第三判断单元,用于判断所述硬件抽象层是否包括与所述第二接口函数匹配的第一接口;第三确认单元,用于若所述硬件抽象层包括所述第二接口函数匹配的第一接口,则确认所述业务应用层符合升级要求;若所述硬件抽象层不包括所述第二接口函数匹配的第一接口,则确认所述业务应用层不符合升级要求。
可选地,判断模块包括:第三解析单元,用于解析所述业务应用层升级包支持的第一硬件版本,以及确定所述硬件抽象层的第二硬件版本;第四判断单元,用于根据所述第一硬件版本和所述第二硬件版本判断升级的业务应用层和所述硬件抽象层是否匹配;第四确认单元,用于若升级的业务应用层和所述硬件抽象层匹配,则确认所述业务应用层符合升级要求;若升级的业务应用层和所述硬件抽象层不匹配,则确认所述业务应用层不符合升级要求。
可选地,第四判断单元包括:第一解析子单元,用于解析所述第一硬件版本的第一发布时间;第二解析子单元,用于解析所述第二硬件版本的第二发布时间;判断子单元,用于判断所述第一发布时间是否在所述第二发布时间之前;确认子单元,用于若所述第一发布时间不在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层匹配;若所述第一发布时间在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层不匹配。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本申请实施例还提供了一种电子设备,图4是本发明实施例的一种电子设备的结构图,如图4所示,包括处理器101、通信接口102、存储器103和通信总线104,其中,处理器101,通信接口102,存储器103通过通信总线104完成相互间的通信,存储器103,用于存放计算机程序;处理器101,用于执行存储器103上所存放的程序时,实现如下步骤:
S1,接收操作系统的升级指令,其中,所述升级指令用于对所述操作系统的业务应用层进行升级,所述升级指令携带业务应用层升级包;
S2,响应于所述升级指令,判断所述业务应用层是否符合升级要求;
S3,若所述业务应用层符合升级要求,则采用所述业务应用层升级包对所述业务应用层进行升级。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的操作系统的升级方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的操作系统的升级方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种操作系统的升级方法,其特征在于,所述操作系统包括相互剥离的业务应用层和硬件抽象层,所述方法包括:
接收操作系统的升级指令,其中,所述升级指令用于对所述操作系统的业务应用层进行升级,所述升级指令携带业务应用层升级包;
响应于所述升级指令,判断所述业务应用层是否符合升级要求;
若所述业务应用层符合升级要求,则采用所述业务应用层升级包对所述业务应用层进行升级。
2.如权利要求1所述的操作系统的升级方法,其特征在于,判断所述业务应用层是否符合升级要求包括:
获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数集合,以及解析所述硬件抽象层配置的第二接口函数集合;
判断所述第一接口函数集合是否存在所述第二接口函数集合中不存在的指定接口函数;
若所述第一接口函数集合不存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层符合升级要求;若所述第一接口函数集合存在所述第二接口函数集合中不存在的指定接口函数,则确认所述业务应用层不符合升级要求。
3.如权利要求1所述的操作系统的升级方法,其特征在于,判断所述业务应用层是否符合升级要求包括:
获取所述业务应用层升级包中调用所述硬件抽象层的第一接口函数,解析所述硬件抽象层的接口版本;
判断所述第一接口函数是否匹配所述接口版本;
若所述第一接口函数匹配所述接口版本,则确认所述业务应用层符合升级要求;若所述第一接口函数不匹配所述接口版本,则确认所述业务应用层不符合升级要求。
4.如权利要求3所述的操作系统的升级方法,其特征在于,解析所述硬件抽象层的接口版本之前,所述方法包括:
接收接口增加指令,其中,所述接口增加指令用于指示新增应用程序编程接口;
响应于所述接口增加指令,在所述硬件抽象层增加应用程序编程接口,并在增加完成之后,修改对应应用程序编程接口的接口版本。
5.如权利要求1所述的操作系统的升级方法,其特征在于,判断所述业务应用层是否符合升级要求包括:
获取所述业务应用层升级包中调用所述硬件抽象层的第二接口函数;
判断所述硬件抽象层是否包括与所述第二接口函数匹配的第一接口;
若所述硬件抽象层包括所述第二接口函数匹配的第一接口,则确认所述业务应用层符合升级要求;若所述硬件抽象层不包括所述第二接口函数匹配的第一接口,则确认所述业务应用层不符合升级要求。
6.如权利要求1所述的操作系统的升级方法,其特征在于,判断所述业务应用层是否符合升级要求包括:
解析所述业务应用层升级包支持的第一硬件版本,以及确定所述硬件抽象层的第二硬件版本;
根据所述第一硬件版本和所述第二硬件版本判断升级的业务应用层和所述硬件抽象层是否匹配;
若升级的业务应用层和所述硬件抽象层匹配,则确认所述业务应用层符合升级要求;若升级的业务应用层和所述硬件抽象层不匹配,则确认所述业务应用层不符合升级要求。
7.如权利要求6所述的操作系统的升级方法,其特征在于,根据所述第一硬件版本和所述第二硬件版本判断升级的业务应用层和所述硬件抽象层是否匹配包括:
解析所述第一硬件版本的第一发布时间,以及解析所述第二硬件版本的第二发布时间;
判断所述第一发布时间是否在所述第二发布时间之前;
若所述第一发布时间不在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层匹配;若所述第一发布时间在所述第二发布时间之前,则确认升级的业务应用层和所述硬件抽象层不匹配。
8.一种操作系统的升级装置,其特征在于,包括:
接收模块,用于接收操作系统的升级指令,其中,所述升级指令用于对所述操作系统的业务应用层进行升级,所述升级指令携带业务应用层升级包;
判断模块,用于响应于所述升级指令,判断所述业务应用层是否符合升级要求;
升级模块,用于若所述业务应用层符合升级要求,则采用所述业务应用层升级包对所述业务应用层进行升级。
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的操作系统的升级方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的操作系统的升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211363279.0A CN115951919A (zh) | 2022-11-02 | 2022-11-02 | 操作系统的升级方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211363279.0A CN115951919A (zh) | 2022-11-02 | 2022-11-02 | 操作系统的升级方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115951919A true CN115951919A (zh) | 2023-04-11 |
Family
ID=87297419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211363279.0A Pending CN115951919A (zh) | 2022-11-02 | 2022-11-02 | 操作系统的升级方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115951919A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116643782A (zh) * | 2023-04-28 | 2023-08-25 | 荣耀终端有限公司 | 一种ois固件升级方法及电子设备 |
-
2022
- 2022-11-02 CN CN202211363279.0A patent/CN115951919A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116643782A (zh) * | 2023-04-28 | 2023-08-25 | 荣耀终端有限公司 | 一种ois固件升级方法及电子设备 |
CN116643782B (zh) * | 2023-04-28 | 2024-05-28 | 荣耀终端有限公司 | 一种ois固件升级方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2608585B1 (en) | Method, device and system for triggering terminal operation | |
US9652261B2 (en) | Data card and communication method and system | |
CN107222324B (zh) | 网络服务的业务配置方法和装置 | |
CN106502717B (zh) | 应用程序运行方法及装置 | |
CN105721941A (zh) | 云电视的空中下载升级控制方法和装置 | |
CN115951919A (zh) | 操作系统的升级方法、装置、电子设备及存储介质 | |
CN114422618A (zh) | 基于云原生的iot平台协议适配方法、装置、设备及介质 | |
CN113645308B (zh) | 移动终端tcp通信、装置、设备及存储介质 | |
CN113168332B (zh) | 数据处理方法、装置以及移动终端 | |
EP3091435A1 (en) | Resource management method and device for terminal system | |
CN109032693B (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 | |
CN102377793B (zh) | 基于移动通讯设备终端的Flash交互方法及装置 | |
CN108170491B (zh) | App动态链接库的配置方法、终端及计算机可读存储介质 | |
CN111049906A (zh) | 一种无线网桥网络统一管理的方法、装置及系统 | |
CN112532664A (zh) | 数据升级方法及装置 | |
CN113190565B (zh) | 数据更新方法及装置、存储介质及电子装置 | |
CN111427603B (zh) | 应用程序的升级方法及装置 | |
CN111176693B (zh) | 一种数字电视系统的升级方法 | |
CN110221880B (zh) | 应用程序编程接口调用方法、装置、设备及介质 | |
JP2004326287A (ja) | プログラム遠隔更新システム | |
CN112328288A (zh) | 一种服务器组件的更新方法、系统、设备及存储介质 | |
CN114189895A (zh) | 基站板卡升级方法及装置 | |
CN111142913A (zh) | 面向iOS系统应用程序的热更新方法和设备 | |
CN111638896A (zh) | 升级方法、升级装置、存储介质、处理器和移动终端 | |
CN112241276A (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 |