CN113419756A - 一种文件升级方法、装置及电子设备 - Google Patents

一种文件升级方法、装置及电子设备 Download PDF

Info

Publication number
CN113419756A
CN113419756A CN202110680631.2A CN202110680631A CN113419756A CN 113419756 A CN113419756 A CN 113419756A CN 202110680631 A CN202110680631 A CN 202110680631A CN 113419756 A CN113419756 A CN 113419756A
Authority
CN
China
Prior art keywords
file
script
upgrading
system environment
tool
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
CN202110680631.2A
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202110680631.2A priority Critical patent/CN113419756A/zh
Publication of CN113419756A publication Critical patent/CN113419756A/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种文件升级方法、装置及电子设备,包括:当确定进行系统文件升级时,从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件的信息、拓展工具以及系统环境脚本;所述系统环境脚本是基于与所述目标系统文件兼容的系统环境编写的;执行所述文件升级脚本中的文件升级逻辑,依据所述目标系统文件的信息,将所述系统文件升级为所述目标系统文件;执行所述文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容,从而实现在系统文件升级的同时,还能进行系统环境的更新,使得更新后的系统环境与升级后的系统文件兼容。

Description

一种文件升级方法、装置及电子设备
技术领域
本申请涉及计算机及通信领域,尤其涉及一种文件升级方法、装置及电子设备。
背景技术
在现有的OTA(Over-the-Air Technology,空中下载技术)升级方式中,设备厂家可以将设备的文件升级包发布至服务器,服务器会向用户推送该设备的系统文件升级消息。用户通过设备可从服务器上下载文件升级包。设备使用文件升级包中的目标系统升级本地待升级的系统文件。
但是,现有的OTA升级方式只能进行系统文件升级,而设备的系统环境仍然是与未升级前的系统文件相适配的环境,这就使得升级后的系统文件与设备的系统环境不兼容,造成系统运行异常。
发明内容
有鉴于此,本申请提供一种文件升级方法、装置及电子设备,用于在系统文件升级的同时,还能进行系统环境的更新,使得更新后的系统环境与升级后的系统文件兼容。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种文件升级方法,所述方法应用于电子设备,所述方法包括:
当确定进行系统文件升级时,从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件的信息、拓展工具以及系统环境脚本;所述系统环境脚本是基于与所述目标系统文件兼容的系统环境编写的;
执行所述文件升级脚本中的文件升级逻辑,依据所述目标系统文件的信息,将所述系统文件升级为所述目标系统文件;
执行所述文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容。
可选的,确定进行系统文件升级包括:
在检测到外部输入的文件升级指令时,确定进行系统文件升级;
或者,
在检测到预设时间点到达时,确定进行系统文件升级。
可选的,所述拓展工具为Sh工具,所述系统环境脚本通过Shell语言编写。
可选的,在调用所述拓展工具之前,包括:
将所述拓展工具解压至指定路径,并为解压后的拓展工具设置可执行权限;
所述调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,包括:
从指定路径下获取解压后的拓展工具,并依据该拓展工具的可执行权限,启动解压后的拓展工具,调用启动后的拓展工具运行所述系统环境脚本更新所述电子设备的系统环境。
可选的,调用拓展工具执行系统环境脚本对本电子设备的系统环境进行更新,包括:
将所述系统环境脚本的存储路径和标识传递给拓展工具,以由该拓展工具依据所述系统环境脚本的存储路径和标识获取所述系统环境脚本,并执行所述系统环境脚本对本电子设备的系统环境进行更新。
可选的,所述从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件、拓展工具以及系统环境脚本,包括:
对所述文件升级包进行完整性验证;
若验证成功,则解压所述文件升级包,得到文件升级脚本、目标系统文件、拓展工具以及系统环境脚本。
可选的,所述文件升级脚本的文件升级逻辑和工具调用逻辑通过文件升级脚本执行逻辑执行;
所述文件升级脚本执行逻辑储存在所述文件升级包中和/或所述电子设备上。
可选的,所述方法还包括:
在文件升级以及系统环境更新结束后,清除所述指定路径下的解压后的拓展工具。
根据本申请的第二方面,提供一种文件升级装置,所述装置应用于电子设备,所述装置包括:
获取单元,用于当确定进行系统文件升级时,从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件的信息、拓展工具以及系统环境脚本;所述系统环境脚本是基于与所述目标系统文件兼容的系统环境编写的;
升级单元,用于执行所述文件升级脚本中的文件升级逻辑,依据所述目标系统文件的信息,将所述系统文件升级为所述目标系统文件;
更新单元,用于执行所述文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容。
可选的,所述获取单元,在确定进行系统文件升级时,用于在检测到外部输入的文件升级指令时,确定进行系统文件升级;或者,在检测到预设时间点到达时,确定进行系统文件升级。
可选的,所述拓展工具为Sh工具,所述系统环境脚本通过Shell语言编写;
可选的,所述更新单元,在调用所述拓展工具之前,还用于将所述拓展工具解压至指定路径,并为解压后的拓展工具设置可执行权限;
所述更新单元,在调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境时,用于从指定路径下获取解压后的拓展工具,并依据该拓展工具的可执行权限,启动解压后的拓展工具,调用启动后的所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境;
可选的,所述更新单元,在调用拓展工具执行系统环境脚本对本电子设备的系统环境进行更新时,用于将所述系统环境脚本的存储路径和标识传递给所述拓展工具,以由所述拓展工具依据所述系统环境脚本的存储路径和标识获取所述系统环境脚本,并执行所述系统环境脚本对本电子设备的系统环境进行更新;
可选的,所述获取单元,在从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件、拓展工具以及系统环境脚本时,用于对所述文件升级包进行完整性验证;若验证成功,则解压所述文件升级包,得到文件升级脚本、目标系统文件、拓展工具以及系统环境脚本;
可选的,所述文件升级脚本的文件升级逻辑和工具调用逻辑通过文件升级脚本执行逻辑执行;所述文件升级脚本执行逻辑储存在所述文件升级包中和/或所述电子设备上;
可选的,所述装置还包括:清除单元,用于在文件升级以及系统环境更新结束后,清除所述指定路径下的解压后的拓展工具。
根据本申请的第三方面,提供一种电子设备,所述电子设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现上述文件升级方法。
根据本申请的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述文件升级方法。
根据本申请的第五方面,提供一种计算机程序,计算机程序存储于计算机可读存储介质,并且当处理器执行计算机程序时,促使处理器实现上述文件升级方法。
由上述描述可知,本申请通过在现有的OTA文件升级包中增加拓展工具和系统环境脚本,在OTA文件升级包中的原有的文件升级脚本中增加工具调用逻辑,使得电子设备不仅可以基于OTA文件升级包实现系统文件的升级,还可以通过工具调用逻辑,调用拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,使得更新后的系统环境与升级后的系统文件兼容。
附图说明
图1是本申请一示例性实施例示出的一种系统环境脚本的示意图;
图2是本申请一示例性实施例示出的一种文件升级方法的流程图;
图3是本申请一示例性实施例示出的另一种文件升级方法的流程图;
图4是本申请一示例性实施例示出的一种电子设备的硬件结构图;
图5是本申请一示例性实施例示出的另一种文件升级装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请旨在提出一种文件升级方法,在现有OTA文件升级技术的基础上进行改进,使得电子设备可以在进行系统文件升级的同时,还可以实现系统环境的修改,使得修改后的系统环境适配升级后的系统文件。
具体地,本申请通过在现有的OTA文件升级包中增加拓展工具和系统环境脚本,在OTA文件升级包中的原有的文件升级脚本中增加工具调用逻辑,使得电子设备不仅可以基于OTA文件升级包实现系统文件的升级,还可以通过工具调用逻辑,调用拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,使得更新后的系统环境与升级后的系统文件兼容。
在介绍本申请提供的文件升级方法之前,先介绍下本申请提供的一些概念。
1、传统的文件升级包
现有的基于OTA文件升级技术的文件升级包包括:文件升级脚本执行逻辑、文件升级脚本和目标系统文件。
1.1)文件升级脚本执行逻辑,用于执行文件升级脚本中的逻辑。比如该文件升级脚本的执行逻辑为update-binary程序。
1.2)文件升级脚本,包括文件升级逻辑,该文件升级逻辑用于指示电子设备对本电子设备的系统文件进行升级,即将电子设备中的系统文件更新为目标系统文件。比如,该文件升级脚本可以是update-script(一种脚本名称)脚本。
1.3)目标系统文件为电子设备系统文件升级所要达到的文件。
在现有的OTA升级方式中,设备厂家可以将设备的文件升级包发布至服务器,服务器会向用户推送该设备的系统文件升级提示消息。用户通过电子设备可从服务器上下载文件升级包。
电子设备从文件升级包中,获取文件升级脚本执行逻辑、文件升级脚本和目标系统文件。然后,电子设备调用文件升级脚本执行逻辑,执行文件升级脚本中的文件升级逻辑,将电子设备的系统文件升级为目标系统文件。
但是,现有的OTA升级方式只能进行系统文件升级,而设备的系统环境仍然是与未升级前的系统文件相适配的环境,这就使得升级后的系统文件与设备的系统环境不兼容,造成系统运行异常。
2、本申请提供的文件升级包
为了解决上述问题,在本申请中,在现有OTA文件升级技术的基础上进行改进,使得电子设备可以在进行文件升级的同时,还可以实现系统环境的修改,使得修改后的系统环境适配升级后的系统文件。
为此,本申请的文件升级包除了包括上述传统文件升级包中的文件升级脚本执行逻辑、文件升级脚本和目标系统文件外,还新增了拓展工具和系统环境脚本,并且本申请在传统的文件升级脚本中增加了用于调用拓展工具的工具调用逻辑。
具体地,
2.1)文件升级脚本执行逻辑,用于执行文件升级脚本。比如该文件升级脚本的执行逻辑为update-binary程序。
2.2)本申请的文件升级脚本除了包括文件升级逻辑外,还包括工具调用逻辑。该文件升级脚本可以是update-script(一种脚本名称)脚本。
其中,该文件升级逻辑用于指示电子设备对本电子设备的系统文件进行升级,即将电子设备中的系统文件更新为目标系统文件。
工具调用逻辑,用于调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境。
2.3)目标系统文件为电子设备系统文件升级所要达到的文件。
2.4)拓展工具,用于运行系统环境脚本。其中,该拓展工具可以是sh工具(一种用于执行基于Shell语言编写的脚本的工具)、busybox(一种工具集)、fw_setenv工具等,这里只是对拓展工具进行示例性地说明,不对其进行具体地限定。
2.5)系统环境脚本
系统环境脚本是基于升级后的系统文件匹配的系统环境编写而成,所以当电子设备执行该系统环境脚本中的指令对系统环境进行更新后,更新后的系统环境可以与升级后的系统文件兼容。
其中,该系统环境脚本中包括一种或多种与系统环境更新有关的指令,比如分区格式化操作、BOOT中环境变量的修改操作,文件修改操作(这里文件可以是指系统里的所有文件)等等中的至少一种,这里只是对于系统环境更新有关的指令进行示例性地说明,不对其进行具体地限定。
该系统环境脚本可以是一种基于Shell(一种编程语言)语言编写的cmd命令,比如可以是upgrade_cmd命令,比如该系统环境脚本可以如图1所示。
由于Shell语言一个高级语言,所以开发人员通过该编程语言可以简洁地表达复杂的操作,并且通过Shell语言编写的脚本可移植性高,容易被兼容。所以本申请采用Shell语言编写系统环境脚本,采用与shell语言编写的系统环境脚本对应的sh工具作为拓展工具,可以极大的方便开发人员的开发,并且开发出的系统环境脚本和sh工具可以被方便地移植到原有的文件升级包中。
这里只是对系统环境脚本进行示例性地说明,不对其进行具体地限定。
在介绍完上述概念后,下面对本申请提供的文件升级方法进行详细地说明。
参见图2,图2是本申请一示例性实施例示出的一种文件升级方法的流程图,该方法可应用在电子设备上。
其中,该电子设备可是指可以进行系统文件升级的设备,比如该电子设备可以会议平板、摄像头、平板电脑、移动通讯设备比如手机等等,这里只是对电子设备进行示例性地说明,不对其进行具体地限定。
该文件升级方法可包括如下所示步骤。
步骤201:当确定进行系统文件升级时,电子设备从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件的信息、拓展工具以及系统环境脚本;所述系统环境脚本是基于与所述目标系统文件兼容的系统环境编写的。
在实现时,电子设备的厂商可以将上述本申请提供的文件升级包发布至服务器。服务器会向用户推送该电子设备有新系统文件可以更新的消息。用户通过电子设备可以从服务器下载该文件升级包。
在确定进行系统文件升级时,电子设备从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件、拓展工具以及系统环境脚本。
下面从步骤2011至步骤2012对步骤201进行详细地说明。
步骤2011:电子设备确定进行系统文件升级。
在一种可选的实现方式中,在检测到外部输入的文件升级指令时,确定进行系统文件升级。
例如,上述外部可以是外部用户。电子设备向用户展示是否升级的提示消息,用户点击确认后,电子设备可确定用户输入了升级指令。当电子设备检测到用户输入的升级指令后,可以确定进行系统文件升级。
当然,上述外部也可以是外部设备,比如其他的服务器,其他设备等。
比如,用户通过其他设备向本电子设备远程发送文件升级指令。当本电子设备接收到外部其他设备发送的文件升级指令时,确定进行系统文件升级。
在另一种可选的实现方式中,电子设备在检测到预设时间点到达时,确定进行系统文件升级。
例如,电子设备向用户展示是否升级的提示消息,用户点击确认,并输入了升级时刻。电子设备在检测到用户输入的预设升级时刻到达时,确定进行系统文件升级。
这里只是对“确定进行系统文件升级”进行示例性地说明,在实际应用中,电子设备还可通过其他方式来确定进行系统文件升级,这里不对其进行具体地限定。
步骤2012:电子设备从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件的信息、拓展工具以及系统环境脚本。
在实现时,在确定进行系统文件升级时,电子设备可检测本地是否存在文件升级包。
若不存在文件升级包,则电子设备发出错误提示,以提示没有升级包无法升级;
若存在文件升级包,则执行步骤2021。
在执行步骤2021时,为了保证文件升级包的完整性,电子设备可先对文件升级报文进行完整性验证。
具体地,文件升级包携带有哈希值,电子设备可将文件升级包进行哈希运算,计算出哈希值。然后,电子设备可检测文件升级包携带的哈希值与计算出的哈希值是否匹配,若匹配,则确定文件升级包通过完整性验证,若不匹配,则确定文件升级包未通过完整性验证。
电子设备在确定文件升级包通过完整性验证时,可解压该文件升级包,得到文件升级脚本、目标系统文件、拓展工具以及系统环境脚本。
电子设备在确定文件升级包未通过完整性验证时,可输出升级失败的错误提示。
步骤202:电子设备执行所述文件升级脚本中的文件升级逻辑,依据所述目标系统文件的信息,将所述系统文件升级为所述目标系统文件。
在实现时,在一种可选的实现方式中,文件升级包还携带了文件升级脚本执行逻辑(如update-binary程序)。电子设备可通过update-binary程序来执行文件升级脚本中的文件升级逻辑,采用目标系统文件的信息更新本电子设备上的系统文件,从而将本电子设备上的系统文件升级为目标系统文件。
当然,在实际应用中,也可将文件升级脚本的执行逻辑记录在电子设备上,电子设备可直接基于本地记录的文件升级脚本的执行逻辑来执行文件升级脚本。
其中,目标系统文件的信息可以是目标系统文件,也可以目标系统文件与当前电子设备上的系统文件的增量信息等。这里只是对目标系统文件的信息进行示例性地说明,不对其进行具体地限定。
在采用目标系统文件的信息对本电子设备上的系统文件进行升级时,在一种可选的实现方式中,在目标系统文件的信息是目标系统文件的情况下,电子设备可以采用目标系统文件覆盖电子设备的当前系统文件,实现对电子设备的系统文件的全量升级;在另一种可选的实现方式中,在目标系统文件是上述增量信息的情况下,基于增量信息对电子设备的当前系统文件进行升级,以升级到目标系统文件,从而实现增量升级。
步骤203:电子设备执行所述文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容。
在实现时,在一种可选的实现方式中,文件升级包还携带了文件升级脚本执行逻辑(如update-binary程序)。电子设备可通过update-binary程序来执行文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境。
具体地,在执行工具调用逻辑后,电子设备可依据工具调用路径将拓展工具解压至指定路径(比如/tmp路径),并为解压后的拓展工具设置可执行的权限。
然后,在调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境时,电子设备可从指定路径下获取解压后的拓展工具,并依据该解压后的拓展工具的可执行权限,启动所述拓展工具,并将系统环境脚本的存储路径和标识(比如系统环境脚本的名称等)传递给拓展工具,拓展工具基于该系统环境脚本的存储路径和标识获取系统环境脚本,并运行系统环境脚本中的与系统环境操作相关的指令,来更新电子设备的系统环境,以使更新后的系统环境与升级后的目标系统文件兼容。
此外,在本申请实施例中,电子设备在文件升级以及系统环境更新结束后,清除所述指定路径下的解压后的拓展工具。
需要说明的是,指定路径是一个临时路径,该路径下的文件是不会被保存在系统中,并且在升级结束后,该路径下的文件就会被自动清除,不会占用电子设备的系统资源。所以将拓展工具解压到指令路径的好处是,可以将拓展工具不保存在电子设备的系统里,在升级结束后,该拓展工具被自动清除,不会占用电子设备的系统资源。
此外,在系统环境中,如果要操作工具或者文件等,那么被操作的工具或者文件都需要具有权限才可被操作。所以为拓展工具设置可执行权限,就是为了后续可以基于该可执行权限,来启动拓展工具,如果没有为拓展工具设置可执行权限,那后续无法启动拓展工具。
需要说明的是,可选的,为了保证系统文件的准确升级,在本申请中,可以先升级系统文件,在系统文件升级完成后,再依据所述文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容。
由上述描述可知,本申请通过在现有的OTA文件升级包中增加拓展工具和系统环境脚本,在OTA文件升级包中的原有的文件升级脚本中增加工具调用逻辑,使得电子设备不仅可以基于OTA文件升级包实现系统文件的升级,还可以通过工具调用逻辑,调用拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,使得更新后的系统环境与升级后的系统文件兼容。
下面以文件升级脚本为update-script,拓展工具为sh工具,系统环境脚本为upgrade_cmd脚本为例,并结合图3,对本申请提供的文件升级方法进行示例性地说明。
参见图3,图3是本申请一示例性实施例示出的另一种文件升级方法的流程图,该方法可应用在电子设备上,可包括如下所示步骤。
步骤301:电子设备确定需要进行系统文件升级。
具体确定方式可参见上述步骤201,这里不再赘述。
步骤302:电子设备检测本地是否存在文件升级包。
电子设备可检测本地是否存在文件升级包,若本地存在文件升级包则执行步骤303,若本地不存在文件升级包,则执行步骤307,即提示文件升级失败。
步骤303:电子设备验证文件升级包是否完整。
在实现时,电子设备可验证文件升级包是否完整。若文件升级包完整,则执行步骤304;若文件升级包不完整,则执行步骤307,即提示文件升级失败。
步骤304:电子设备解压文件升级包,得到update-binary程序、update-script脚本、sh工具、upgrade_cmd脚本和目标系统文件。
步骤305:电子设备通过update-binary程序,运行update-script脚本中的文件升级逻辑,将本地系统文件升级为目标系统文件。
步骤306:电子设备通过update-binary程序,运行update-script脚本中的工具调用逻辑,将sh工具解压至指定路径,并为sh工具设置可执行权限。从指定路径下获取解压后的sh工具,并依据该sh工具的可执行权限启动sh工具,并将upgrade_cmd脚本的存储路径和名称通知给sh工具,sh工具依据存储路径和名称获取upgrade_cmd脚本,并执行upgrade_cmd脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容。
步骤307:电子设备提示系统文件升级失败。
参见图4,图4是本申请一示例性实施例示出的一种电子设备的硬件结构图。
电子设备包括:可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现事件检测方法。
可选的,如图4所示,该电子设备除了包括处理器402、机器可读存储介质403外,还可包括通信接口401、总线404;其中,通信接口401、处理器5402和机器可读存储介质403通过总线404完成相互间的通信。处理器402通过读取并执行机器可读存储介质403中与文件升级控制逻辑对应的机器可执行指令,可执行上文描述的文件升级方法。
参见图5,图5是本申请一示例性实施例示出的另一种文件升级装置的框图。该装置可应用在电子设备上,可包括如下所示单元。
获取单元501,用于当确定进行系统文件升级时,从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件的信息、拓展工具以及系统环境脚本;所述系统环境脚本是基于与所述目标系统文件兼容的系统环境编写的;
升级单元502,用于执行所述文件升级脚本中的文件升级逻辑,依据所述目标系统文件的信息,将所述系统文件升级为所述目标系统文件;
更新单元503,用于执行所述文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容。
可选的,所述获取单元501,在确定进行系统文件升级时,用于在检测到外部输入的文件升级指令时,确定进行系统文件升级;或者,在检测到预设时间点到达时,确定进行系统文件升级。
可选的,所述拓展工具为Sh工具,所述系统环境脚本通过Shell语言编写。
可选的,所述更新单元503,在调用所述拓展工具之前,还用于将所述拓展工具解压至指定路径,并为解压后的拓展工具设置可执行权限;
所述更新单元503,在调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境时,用于从指定路径下获取解压后的拓展工具,并依据该拓展工具的可执行权限,启动解压后的拓展工具,调用启动后的拓展工具运行所述系统环境脚本更新所述电子设备的系统环境。
可选的,所述更新单元503,在调用拓展工具执行系统环境脚本对本电子设备的系统环境进行更新时,用于将所述系统环境脚本的存储路径和标识传递给拓展工具,以由所述拓展工具依据该系统环境脚本的存储路径和标识获取所述系统环境脚本,并执行所述系统环境脚本对本电子设备的系统环境进行更新。
可选的,所述获取单元501,在从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件、拓展工具以及系统环境脚本时,用于对所述文件升级包进行完整性验证;若验证成功,则解压所述文件升级包,得到文件升级脚本、目标系统文件、拓展工具以及系统环境脚本。
可选的,所述文件升级脚本的文件升级逻辑和工具调用逻辑通过文件升级脚本执行逻辑执行;所述文件升级脚本执行逻辑储存在所述文件升级包中和/或所述电子设备上;
可选的,所述装置还包括:清除单元504,用于在文件升级以及系统环境更新结束后,清除所述指定路径下的解压后的拓展工具。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
此外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述文件升级方法。
本文中提到的计算机可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,计算机可读存储介质可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
此外,本申请还提供一种计算机程序,计算机程序存储于计算机可读存储介质,并且当处理器执行计算机程序时,促使处理器实现上述文件升级方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种文件升级方法,其特征在于,所述方法应用于电子设备,所述方法包括:
当确定进行系统文件升级时,从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件的信息、拓展工具以及系统环境脚本;所述系统环境脚本是基于与所述目标系统文件兼容的系统环境编写的;
执行所述文件升级脚本中的文件升级逻辑,依据所述目标系统文件的信息,将所述系统文件升级为所述目标系统文件;
执行所述文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容。
2.根据权利要求1所述的方法,其特征在于,确定进行系统文件升级包括:
在检测到外部输入的文件升级指令时,确定进行系统文件升级;
或者,
在检测到预设时间点到达时,确定进行系统文件升级;
所述拓展工具为Sh工具,所述系统环境脚本通过Shell语言编写。
3.根据权利要求1所述的方法,其特征在于,在调用所述拓展工具之前,包括:
将所述拓展工具解压至指定路径,并为解压后的拓展工具设置可执行权限;
所述调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,包括:
从指定路径下获取解压后的拓展工具,并依据该拓展工具的可执行权限,启动解压后的拓展工具,调用启动后的拓展工具运行所述系统环境脚本更新所述电子设备的系统环境。
4.根据权利要求1至3任一所述的方法,其特征在于,调用拓展工具执行系统环境脚本对本电子设备的系统环境进行更新,包括:
将所述系统环境脚本的存储路径和标识传递给拓展工具,以由该拓展工具依据所述系统环境脚本的存储路径和标识获取所述系统环境脚本,并执行所述系统环境脚本对本电子设备的系统环境进行更新。
5.根据权利要求1所述的方法,其特征在于,所述从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件、拓展工具以及系统环境脚本,包括:
对所述文件升级包进行完整性验证;
若验证成功,则解压所述文件升级包,得到文件升级脚本、目标系统文件、拓展工具以及系统环境脚本。
6.根据权利要求1所述的方法,其特征在于,所述文件升级脚本的文件升级逻辑和工具调用逻辑通过文件升级脚本执行逻辑执行;
所述文件升级脚本执行逻辑储存在所述文件升级包中和/或所述电子设备上。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在文件升级以及系统环境更新结束后,清除所述指定路径下的解压后的拓展工具。
8.一种文件升级装置,其特征在于,所述装置应用于电子设备,所述装置包括:
获取单元,用于当确定进行系统文件升级时,从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件的信息、拓展工具以及系统环境脚本;所述系统环境脚本是基于与所述目标系统文件兼容的系统环境编写的;
升级单元,用于执行所述文件升级脚本中的文件升级逻辑,依据所述目标系统文件的信息,将所述系统文件升级为所述目标系统文件;
更新单元,用于执行所述文件升级脚本中的工具调用逻辑,调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境,以使更新后的系统环境与目标系统文件兼容。
9.根据权利要求8所述的装置,其特征在于,所述获取单元,在确定进行系统文件升级时,用于在检测到外部输入的文件升级指令时,确定进行系统文件升级;或者,在检测到预设时间点到达时,确定进行系统文件升级;
所述拓展工具为Sh工具,所述系统环境脚本通过Shell语言编写;
所述更新单元,在调用所述拓展工具之前,还用于将所述拓展工具解压至指定路径,并为解压后的拓展工具设置可执行权限;
所述更新单元,在调用所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境时,用于从指定路径下获取解压后的拓展工具,并依据该拓展工具的可执行权限,启动解压后的拓展工具,调用启动后的所述拓展工具运行所述系统环境脚本更新所述电子设备的系统环境;
所述更新单元,在调用拓展工具执行系统环境脚本对本电子设备的系统环境进行更新时,用于将所述系统环境脚本的存储路径和标识传递给所述拓展工具,以由所述拓展工具依据所述系统环境脚本的存储路径和标识获取所述系统环境脚本,并执行所述系统环境脚本对本电子设备的系统环境进行更新;
所述获取单元,在从用于升级所述系统文件的文件升级包中获得文件升级脚本、目标系统文件、拓展工具以及系统环境脚本时,用于对所述文件升级包进行完整性验证;若验证成功,则解压所述文件升级包,得到文件升级脚本、目标系统文件、拓展工具以及系统环境脚本;
所述文件升级脚本的文件升级逻辑和工具调用逻辑通过文件升级脚本执行逻辑执行;所述文件升级脚本执行逻辑储存在所述文件升级包中和/或所述电子设备上;
所述装置还包括:清除单元,用于在文件升级以及系统环境更新结束后,清除所述指定路径下的解压后的拓展工具。
10.一种电子设备,其特征在于,所述电子设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现权利要求1-7任一所述方法的步骤。
CN202110680631.2A 2021-06-18 2021-06-18 一种文件升级方法、装置及电子设备 Pending CN113419756A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110680631.2A CN113419756A (zh) 2021-06-18 2021-06-18 一种文件升级方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110680631.2A CN113419756A (zh) 2021-06-18 2021-06-18 一种文件升级方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN113419756A true CN113419756A (zh) 2021-09-21

Family

ID=77789194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110680631.2A Pending CN113419756A (zh) 2021-06-18 2021-06-18 一种文件升级方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113419756A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461648A (zh) * 2014-12-22 2015-03-25 广东欧珀移动通信有限公司 一种智能终端ota升级备份的方法及系统
CN104699515A (zh) * 2015-04-01 2015-06-10 广东欧珀移动通信有限公司 一种基于Android操作系统的升级方法和智能终端
CN105554577A (zh) * 2015-12-21 2016-05-04 Tcl集团股份有限公司 一种智能电视ota升级的方法、装置及智能电视
CN109271181A (zh) * 2017-07-14 2019-01-25 中兴通讯股份有限公司 应用兼容性修复方法、终端设备及计算机可读存储介质
CN109947450A (zh) * 2019-03-19 2019-06-28 深圳创维-Rgb电子有限公司 系统文件升级方法、装置、移动终端及可读存储介质
US20200133762A1 (en) * 2018-10-26 2020-04-30 International Business Machines Corporation Continuing a running script after modification
US20210019133A1 (en) * 2019-07-15 2021-01-21 Vmware, Inc. Deploying device campaign updates to iot devices
CN112416406A (zh) * 2020-11-30 2021-02-26 腾讯科技(深圳)有限公司 终端设备升级方法、装置、终端设备和介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461648A (zh) * 2014-12-22 2015-03-25 广东欧珀移动通信有限公司 一种智能终端ota升级备份的方法及系统
CN104699515A (zh) * 2015-04-01 2015-06-10 广东欧珀移动通信有限公司 一种基于Android操作系统的升级方法和智能终端
CN105554577A (zh) * 2015-12-21 2016-05-04 Tcl集团股份有限公司 一种智能电视ota升级的方法、装置及智能电视
CN109271181A (zh) * 2017-07-14 2019-01-25 中兴通讯股份有限公司 应用兼容性修复方法、终端设备及计算机可读存储介质
US20200133762A1 (en) * 2018-10-26 2020-04-30 International Business Machines Corporation Continuing a running script after modification
CN109947450A (zh) * 2019-03-19 2019-06-28 深圳创维-Rgb电子有限公司 系统文件升级方法、装置、移动终端及可读存储介质
US20210019133A1 (en) * 2019-07-15 2021-01-21 Vmware, Inc. Deploying device campaign updates to iot devices
CN112416406A (zh) * 2020-11-30 2021-02-26 腾讯科技(深圳)有限公司 终端设备升级方法、装置、终端设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
我在看图: "【文件】updater-script实例讲解", 《HTTPS://BLOG.CSDN.NET/TWK121109281/ARTICLE/DETAILS/90764839》 *

Similar Documents

Publication Publication Date Title
CN107506221B (zh) 应用程序升级方法、装置及设备
CN105511911B (zh) 系统固件升级包的生成方法及装置
CN108829477B (zh) 界面跳转方法、装置、计算机设备和存储介质
CN110096424B (zh) 测试的处理方法、装置、电子设备及存储介质
CN107193607B (zh) 用于更新代码文件的方法和装置、存储介质、处理器以及终端
CN107783776B (zh) 固件升级包的处理方法及装置、电子设备
JP2017146966A (ja) パッケージファイルに対する機能拡張方法およびシステム
CN104866293A (zh) 一种对Android应用程序扩展功能的方法及装置
US20110321030A1 (en) Method and apparatus for updating a software image
CN110209420A (zh) 一种更新引导加载程序的方法及装置
CN112882732A (zh) 一种软件开发工具包sdk中功能代码的更新方法和装置
CN102880478B (zh) 软件更新方法
CN103514004A (zh) Windows系统下的系统环境管理方法及装置
CN110414218B (zh) 内核检测方法、装置、电子设备及存储介质
CN106293790B (zh) 基于Firefox操作系统的应用程序升级方法和装置
US10503430B2 (en) Method and device for clearing data and electronic device
CN112181467B (zh) 终端的存储器固件升级方法、装置、终端和存储介质
US11023220B2 (en) Firmware update with integrated smart sequence and action engine
US10606612B2 (en) Context check bypass to enable opening shared-object libraries
CN104298618A (zh) 一种智能终端的命令处理方法及装置
EP3346642A1 (en) Method and device for managing network element model
CN113419756A (zh) 一种文件升级方法、装置及电子设备
CN111399926A (zh) 下载启动程序的方法和装置
CN115185745A (zh) 数据处理方法、系统、电子设备及计算机可读存储介质
CN113010195B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210921