CN116382791A - 一种配置文件的保护方法及电子设备 - Google Patents

一种配置文件的保护方法及电子设备 Download PDF

Info

Publication number
CN116382791A
CN116382791A CN202310197432.5A CN202310197432A CN116382791A CN 116382791 A CN116382791 A CN 116382791A CN 202310197432 A CN202310197432 A CN 202310197432A CN 116382791 A CN116382791 A CN 116382791A
Authority
CN
China
Prior art keywords
configuration file
file
electronic device
application
updated
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.)
Granted
Application number
CN202310197432.5A
Other languages
English (en)
Other versions
CN116382791B (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310197432.5A priority Critical patent/CN116382791B/zh
Publication of CN116382791A publication Critical patent/CN116382791A/zh
Application granted granted Critical
Publication of CN116382791B publication Critical patent/CN116382791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种配置文件的保护方法及电子设备,涉及数据处理领域。该方法能够在配置文件损坏时及时通过备份文件对损坏的配置文件进行更新,从而避免电子设备的操作系统或应用程序无法正常运行,提高用户的使用体验。该方法包括:响应于读取第一配置文件的请求,对第一配置文件进行完整性校验。若完整性校验通过,备份第一配置文件。若完整性校验未通过,获取第一配置文件的备份文件。根据第一配置文件的备份文件对第一配置文件进行更新。

Description

一种配置文件的保护方法及电子设备
技术领域
本申请实施例涉及数据处理领域,尤其涉及一种配置文件的保护方法及电子设备。
背景技术
配置文件是一种计算机文件,用于为电子设备配置应用程序参数和初始化设置。例如,用户在登录电子设备或打开电子设备中的应用程序时,电子设备的操作系统或应用程序就可以根据对应的配置文件加载所需的环境设置。
容易理解,电子设备运行时,配置文件会被读取的频率较高,因此配置文件损坏的概率也比较高。例如,存储配置文件的磁盘分区可能由于设备异常掉电或频繁读取导致磁盘坏道,从而导致配置文件损坏。又例如,第三方应用恶意对配置文件读写,也会导致配置文件损坏。
配置文件损坏时,可能会导致电子设备的操作系统或应用程序无法正常运行,影响用户的使用体验。
发明内容
本申请实施例提供一种配置文件的保护方法及电子设备,能够在配置文件损坏时及时通过备份文件对损坏的配置文件进行更新,从而避免电子设备的操作系统或应用程序无法正常运行,提高用户的使用体验。
为了达到上述目的,本申请实施例采用如下技术方案。
第一方面,提供一种配置文件的保护方法,应用于电子设备。电子设备中存储有多个配置文件。第一配置文件为多个配置文件中的任一个。方法包括:响应于读取第一配置文件的请求,对第一配置文件进行完整性校验。若完整性校验通过,备份第一配置文件。若完整性校验未通过,获取第一配置文件的备份文件。根据第一配置文件的备份文件对第一配置文件进行更新。
基于该方案,电子设备首次启动或首次运行某一应用程序时,对应的第一配置文件是未损坏的,能够通过完整性验证,本申请实施例提供的配置文件的保护方法会对该未损坏的第一配置文件进行备份。如此,后续该第一配置文件损坏时,可以根据未损坏的第一配置文件的备份文件对损坏的第一配置文件进行更新,从而避免电子设备无法正常开机,操作系统或应用程序无法正常启动的问题出现,提高用户的使用体验。
作为一种可能的设计方式,方法还包括:响应于检测到第一配置文件更新,备份更新后的第一配置文件。基于该方案,在第一配置文件更新时,及时对其进行备份。基于该方案,第一配置文件损坏时可以根据最新的备份文件对损坏的第一配置文件进行更新,减小第一配置文件损坏带来的影响。
作为一种可能的设计方式,第一配置文件为电子设备的操作系统中第一功能模块的配置文件,第一功能模块为操作系统中的任一功能模块。基于该方案,能够避免电子设备无法正常开机,操作系统无法正常启动的问题出现,提高用户的使用体验。
作为一种可能的设计方式,第一功能模块为包管理服务,包管理服务用于在电子设备安装,卸载或更新应用程序时,更新第一配置文件。基于该方案,第一配置文件损坏时可以根据最新的备份文件对损坏的第一配置文件进行更新,减小第一配置文件损坏带来的影响。
作为一种可能的设计方式,若完整性校验未通过,获取第一配置文件的备份文件之后,方法还包括:若不存在,通过防呆处理生成第一配置文件的初始配置文件。使用第一配置文件的初始配置文件更新第一配置文件。基于该方案,当不存在第一配置文件的备份文件时,通过防呆处理生成初始配置文件,通过该初始配置文件更新损坏的第一配置文件。如此,能够避免电子设备无法正常开机,操作系统无法正常启动的问题出现,提高用户的使用体验。
作为一种可能的设计方式,包管理服务还用于管理电子设备中安装的应用程序。根据第一配置文件的备份文件对第一配置文件进行更新之后,方法还包括:扫描电子设备中存储应用程序的第一存储分区。判断更新后的第一配置文件中记录的应用程序是否均存储于第一存储分区。若否,将未存储于第一存储分区的应用程序在第一配置文件中删除,得到更新后的第一配置文件。备份更新后的第一配置文件。基于该方案,可以避免电子设备开机后,存在应用程序因无配置文件而闪退,卡顿的问题出现。
作为一种可能的设计方式,第一配置文件为电子设备中第一应用程序的配置文件,第一应用程序为电子设备中安装的任一应用程序。基于该方案,可以避免应用程序因无配置文件无法正常运行的问题出现,提高用户的使用体验。
作为一种可能的设计方式,方法还包括:响应于检测到第一应用程序中的参数变更,更新第一配置文件。备份更新后的第一配置文件。基于该方案,第一配置文件损坏时可以根据最新的备份文件对损坏的第一配置文件进行更新,减小第一配置文件损坏带来的影响。
作为一种可能的设计方式,对第一配置文件进行完整性校验,包括:检测第一配置文件是否存在以及是否可读。若是,则完整性校验通过。若否,则完整性校验未通过。基于该方案,可以便捷地对第一配置文件的完整性进行验证。
作为一种可能的设计方式,根据第一配置文件的备份文件对第一配置文件进行更新,包括:将第一配置文件的备份文件作为更新后的第一配置文件。
第二方面,提供一种电子设备,电子设备包括一个或多个处理器和一个或多个存储器。一个或多个存储器与一个或多个处理器耦合,一个或多个存储器存储有计算机指令。当一个或多个处理器执行计算机指令时,使得电子设备执行如第一方面任一项的配置文件的保护方法。
第三方面,提供一种芯片系统,芯片包括处理电路和接口。处理电路用于从存储介质中调用并运行存储介质中存储的计算机程序,以如执行第一方面任一项的配置文件的保护方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机指令,当计算机指令运行时,执行如第一方面任一项的配置文件的保护方法。
第五方面,提供一种计算机程序产品,计算机程序产品中包括指令,当计算机程序产品在计算机上运行时,使得计算机可以根据指令执行如第一方面任一项的配置文件的保护方法。
应当理解的是,上述第二方面,第三方面,第四方面以及第五方面提供的技术方案,其技术特征均可对应到第一方面及其可能的设计中提供的配置文件的保护方法,因此能够达到的有益效果类似,此处不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种配置文件的保护方法的流程图;
图3为本申请实施例提供的一种对配置文件进行完整性校验的方法流程图;
图4为本申请实施例提供的又一种配置文件的保护方法的流程图;
图5为本申请实施例提供的一种电子设备的组成示意图;
图6为本申请实施例提供的一种芯片系统的组成示意图。
具体实施方式
本申请实施例中的“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。此外,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于理解本申请实施例,以下首先对本申请实施例的背景技术予以介绍。
电子设备中存储有大量的配置文件。这些配置文件用于存储电子设备的操作系统和应用程序的设置。例如,配置文件可以存储操作系统和应用程序的配置信息,变量,缺省值,偏好等信息。在本申请实施例中,配置文件也可以称作首选项文件或设置文件。
操作系统和应用程序在运行前,均需要读取对应的配置文件以完成参数配置等工作。因此,配置文件对于操作系统和应用程序是至关重要,配置文件损坏很可能会导致操作系统和应用程序的运行出现异常。
然而,电子设备中操作系统和应用程序的运行频率是非常高的。因而配置文件也会频繁地被读取。如此,配置文件被第三方应用恶意损坏的风险就非常高。另外,频繁地被读写也可能会导致存储配置文件的磁盘分区坏道,导致配置文件损坏。
这里电子设备为手机,操作系统为安卓,配置文件为packages.xml为例,具体说明配置文件对于电子设备的重要性。
packages.xml主要用于管理手机中的应用程序。手机开机时,操作系统中的PMS(Package Manager Service,包管理服务)会根据packages.xml中记录的应用程序扫描所有存储应用程序的文件,并将所有应用程序的信息读取出来保存到内存中。如此,手机开机后,用户在点击应用时,操作系统就可以迅速启动对应的应用。
另外,当操作系统安装应用程序,卸载应用程序或更新应用程序时,packages.xml也会被同步更新。在本申请实施例中,可以将packages.xml简单理解为记载手机中所有应用程序相关信息的文件。
可以理解,手机开机,安装,卸载以及更新应用程序的频率是比较高的,因此packages.xml损坏的概率也比较高。而当packages.xml损坏时,手机开机需要加载的一些应用程序可能无法正常加载,导致手机无法开机,严重影响用户的使用体验。
以上举例说明了操作系统的配置文件损坏可能导致操作系统无法正常运行,电子设备无法正常开机。在一些可能的场景中,应用程序的配置文件也可能出现损坏,导致对应的应用程序无法正常运行,同样对用户的使用体验造成较大影响。
因此,配置文件损坏时,如何对该配置文件进行恢复,以保证电子设备能够正常开机,配置文件对应的操作系统或应用程序能够正常运行,成为亟待解决的问题。
为了解决上述问题,本申请实施例提供的一种配置文件的保护方法及电子设备,能够在配置文件损坏时及时通过备份文件对损坏的配置文件进行更新,从而避免电子设备无法正常开机,电子设备的操作系统或应用程序无法正常运行,提高用户的使用体验。
在本申请实施例中,电子设备可以是便携式终端,诸如手机、平板电脑、可穿戴设备(如智能手表)、车载设备等。便携式终端的示例性实施例包括但不限于搭载
Figure BDA0004109586360000031
Figure BDA0004109586360000032
或者其它操作系统的便携式终端。上述便携式终端也可以是膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述终端也可以是台式计算机。作为一种示例,请参考图1,为本申请实施例提供的一种电子设备100的结构示意图。本申请实施例提供的配置文件的保护方法可应用于如图1所示的电子设备100中。
如图1所示,该电子设备100可以包括处理器101,显示屏103,通信模块102等。
其中,处理器101可以包括一个或多个处理单元,例如:处理器101可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频流编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器101中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器101中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器101中的存储器为高速缓冲存储器。该存储器可以保存处理器101刚用过或循环使用的指令或数据。如果处理器101需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器101的等待时间,因而提高了系统的效率。
在一些实施例中,处理器101可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器101接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口111等。
电子设备100通过GPU,显示屏103,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏103和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器101可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏103用于显示图像,视频流等。
通信模块102可以包括天线1,天线2,移动通信模块102A,和/或无线通信模块102B。以通信模块102同时包括天线1,天线2,移动通信模块102A和无线通信模块102B为例。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块102A,无线通信模块102B,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块102A可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块102A可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块102A可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块102A还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块102A的至少部分功能模块可以被设置于处理器101中。在一些实施例中,移动通信模块102A的至少部分功能模块可以与处理器101的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器106A,受话器106B等)输出声音信号,或通过显示屏103显示图像或视频流。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器101,与移动通信模块102A或其他功能模块设置在同一个器件中。
无线通信模块102B可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块102B可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块102B经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器101。无线通信模块102B还可以从处理器101接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块102A耦合,天线2和无线通信模块102B耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
如图1所示,在一些实现方式中,该电子设备100还可以包括外部存储器接口110,内部存储器104,通用串行总线(universal serial bus,USB)接口111,充电管理模块112,电源管理模块113,电池114,音频模块106,扬声器106A,受话器106B,麦克风106C,耳机接口106D,传感器模块105,按键109,马达,指示器108,摄像头107,以及用户标识模块(subscriber identification module,SIM)卡接口等。
充电管理模块112用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块112可以通过USB接口111接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块112可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块112为电池114充电的同时,还可以通过电源管理模块113为电子设备100供电。
电源管理模块113用于连接电池114,充电管理模块112与处理器101。电源管理模块113接收电池114和/或充电管理模块112的输入,为处理器101,内部存储器104,外部存储器,显示屏103,摄像头107,和无线通信模块102B等供电。电源管理模块113还可以用于监测电池114容量,电池114循环次数,电池114健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块113也可以设置于处理器101中。在另一些实施例中,电源管理模块113和充电管理模块112也可以设置于同一个器件中。
外部存储器接口110可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口110与处理器101通信,实现数据存储功能。例如将音乐,视频流等文件保存在外部存储卡中。
内部存储器104可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器101通过运行存储在内部存储器104的指令,从而执行电子设备100的各种功能应用以及数据处理。
内部存储器104还可以存储本申请实施例提供的配置文件的保护方法对应的一个或多个计算机程序。
电子设备100可以通过音频模块106,扬声器106A,受话器106B,麦克风106C,耳机接口106D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
按键109包括开机键,音量键等。按键109可以是机械按键109。也可以是触摸式按键109。电子设备100可以接收按键109输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
指示器108可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口用于连接SIM卡。SIM卡可以通过插入SIM卡接口,或从SIM卡接口拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口也可以兼容不同类型的SIM卡。SIM卡接口也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100中的传感器模块105可以包括触摸传感器、压力传感器、陀螺仪传感器、气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、环境光传感器、指纹传感器、温度传感器、骨传导传感器等部件,以实现对于不同信号的感应和/或获取功能。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
以上通过图1介绍了本申请实施例提供的电子设备的硬件结构。下面对本申请实施例提供的配置文件的保护方法进行具体说明。
需要说明的是,本申请实施例提供的配置文件的保护方法可以应用于具有图1所示的硬件结构的电子设备,也可以应用于其它类型的电子设备,在此不做具体限定。
具体地,本申请实施例提供的配置文件的保护方法可以应用于电子设备的操作系统。也就是说,该配置文件的保护方法的执行主体可以为电子设备的操作系统。应当理解,电子设备的操作系统由处理器调度,因此也可以说该配置文件的保护方法的执行主体为电子设备的处理器。
电子设备中通常存储有大量的配置文件,而本申请实施例提供的配置文件的保护方法,并不针对这些配置文件中的某一类,而是适用于存储于电子设备中的任一种配置文件。为了便于说明,本申请实施例定义了第一配置文件,该第一配置文件即是指存储于电子设备中的任意一个配置文件,后续对此不再赘述。
请参考图2,为本申请实施例提供的一种配置文件的保护方法的流程图。如图2所示,该方法包括以下步骤。
S201、响应于读取第一配置文件的请求,对第一配置文件进行完整性校验。
其中,读取第一配置文件的请求可以是操作系统内部的某一功能模块发出的,也可以为某一应用程序发出的,在此不做具体限定。
对第一配置文件进行完整性校验即验证第一配置文件是否完整。在本申请实施例中,第一配置文件是否完整可以包括;第一配置文件是否存在以及第一配置文件中的内容是否能够读取等。因此对第一配置文件进行完整性验证也可以从上述两个方面进行,下面举例说明。
示例性地,请参考图3,为本申请实施例提供的一种对配置文件进行完整性校验的方法流程图。如图3所示。该方法可以包括如下步骤。
S301、判断第一配置文件是否存在。若是,执行S302;若否,执行S303b。
在本申请实施例中,操作系统中存储有第一配置文件的存储地址。如此,操作系统可以根据第一配置文件的存储地址检测第一配置文件是否存在。
S302、判断第一配置文件是否能够读取。若是,执行S303a;若否,执行S303b。
示例性地,操作系统可以通过系统接口读取第一配置文件,若读取成功,则说明第一配置文件能够读取;若读取失败,则说明第一配置文件不能够读取。
S303a、第一配置文件的完整性校验通过。
也就是说,若第一配置文件存在且能够读取,则可以确定第一配置文件是未损坏的,即第一配置文件的完整性校验通过。
S303b、第一配置文件的完整性校验未通过。
若第一配置文件不存在或不能够读取,则可以确定第一配置文件已损坏,即第一配置文件的完整性校验未通过。
应当理解,以上只是对第一配置文件的完整性校验的一种示例性说明。在一些可能的实施方式中,上述完整性校验具体也可以是散列值校验等,在此不做具体限定。
在本申请实施例中,对第一配置文件的进行完整性校验之后,可以获取完整性校验的结果,即判断完整性校验是否通过。
S202、判断完整性校验是否通过。若是,执行S203a。若否,执行S203b。
S203a、备份第一配置文件。
也就是说,第一配置文件的完整性校验通过后,本申请实施例提供的配置文件的保护方法会首先对该第一配置文件进行备份。示例性地,对第一配置文件进行备份可以是指将第一配置文件拷贝至预设的存储空间。
S203b、获取第一配置文件的备份文件。
应当理解,电子设备出厂时,操作系统对应的配置文件是完整的。电子设备首次安装某一应用程序时,该应用程序对应的配置文件也是完整的。而本申请实施例提供的配置文件的保护方法,在对配置文件的完整性校验通过后,会对该配置文件进行备份。因此,在本申请实施例中,电子设备首次启动或首次运行某一应用程序时,操作系统或该应用程序对应的配置文件就会被备份。
换句话说,电子设备首次启动或首次运行某一应用程序时,对应的配置文件损坏的概率非常低,本申请实施例对该类场景不做关注,而是关注电子设备首次启动或首次运行某一应用程序时,对应的配置文件未损坏的场景。
上述对应的配置文件未损坏,本申请实施例提供的配置文件的保护方法就会对该配置文件进行备份,因而后续电子设备启动或运行上述应用程序时,电子设备的存储空间中一定存储有对应配置文件的备份文件。因此,在第一配置文件损坏时,可以直接获取该第一配置文件的备份文件。
在一些可能的设计方式中,如果第一配置文件的备份文件不存在,操作系统可以通过防呆处理生成第一配置文件的初始配置文件,并使用第一配置文件的初始配置文件更新第一配置文件。下面举例进行说明,下述举例中,电子设备为手机,操作系统为安卓,第一配置文件为packages.xml。
如上述对本申请实施例的背景技术介绍的部分中所述,packages.xml损坏时,可能会导致手机开机需要加载的一些应用程序无法正常加载,手机无法开机,严重影响用户的使用体验。在本申请实施例中,packages.xml损坏时,若上述S203b中获取packages.xml的备份文件失败,则可以通过操作系统的内部机制对packages.xml进行防呆处理,重新生成packages.xml,并利用操作系统中存储的packages.list文件恢复用户的UID(UserIdentity,用户标识符)。如此,即可避免手机的操作系统无法正常启动,手机无法正常开机。
需要说明的是,通过防呆处理生成的packages.xml是电子设备出厂时存储的配置文件,不包括出厂后安装,更新的应用程序信息。也就是说,通过防呆处理生成的packages.xml只能够保证手机的操作系统能够正常启动以及手机能够正常开机。
S204b、根据第一配置文件的备份文件对第一配置文件进行更新。
在本申请实施例中,根据第一配置文件的备份文件对第一配置文件进行更新具体可以是指,使用第一配置文件的备份文件替换第一配置文件。
例如,第一配置文件的备份文件中的文件内容包括a,b,c。第一配置文件中的文件内容包括a,c,d,e。则上述根据第一配置文件的备份文件对第一配置文件进行更新后,第一配置文件中的文件内容即包括a,b,c。
在一些可能的设计方式中,根据第一配置文件的备份文件对第一配置文件进行更新也可以是指,对比第一配置文件的备份文件与第一配置文件,将第一配置的备份文件中不包含于第一配置文件的文件内容更新至第一配置文件。
例如,第一配置文件的备份文件中的文件内容包括a,b,c。第一配置文件中的文件内容包括a,c,d,e。则上述根据第一配置文件的备份文件对第一配置文件进行更新可以是指,将第一配置文件的备份文件中,不包含于第一配置文件中的文件内容,即上述文件内容b,更新至第一配置文件中。如此,更新后的第一配置文件中包含的文件内容为a,b,c,d,e。
应当理解,以上示出的两种根据第一配置文件的备份文件对第一配置文件进行更新的方式只是示例性说明,并不代表本申请局限于此。
为了进一步提高备份文件的时效性,减小第一配置文件损坏带来的损失,本申请实施例提供的配置文件的保护方法,还可以在检测到第一配置文件更新时,备份更新后的第一配置文件。
例如,上述S204b中根据第一配置文件的备份文件对第一配置文件进行更新之后,可以备份更新后的第一配置文件。如此,之后第一配置文件损坏时可以根据最新的备份文件进行更新,从而减小第一配置文件损坏带来的影响。
示例性地,存储第一配置文件的备份文件的地址为x,存储第一配置文件的地址为y。上述S204b中根据第一配置文件的备份文件对第一配置文件进行更新之后,得到的第一配置文件称作文件f。则可以将文件f分别存储至地址x和地址y。若后续检测存储于地址x的文件f更新,则将更新后的文件f存储至地址y。
下面仍以第一配置文件为packages.xml为例,对上述检测到第一配置文件更新时,备份更新后的第一配置文件的过程进行说明。
如上所述,packages.xml是操作系统中PMS的配置文件。当操作系统安装应用程序,卸载应用程序或更新应用程序时,packages.xml会被同步更新。也就是说,PMS在执行应用程序的安装,卸载或更新后,会同步更新packages.xml。下面简单说明应用程序的安装过程与卸载过程。需要说明的是,安装和卸载过程涉及到操作系统内部的一些服务没有对应的中文名称,为了表述的准确性,仅使用其英文原名称。
安卓系统的手机安装应用程序的过程可以包括如下步骤:用户点击安装应用程序;应用程序的信息通过IO流的形式写入到Packageinstaller.SessionPMS;调用
Packageinstaller.Session的commit方法,将应用程序的信息发送至PMS处理;拷贝应用程序,安装应用程序;更新packages.xml。
安卓系统的手机卸载应用程序的过程可以包括如下步骤:用户点击卸载应用程序;删除PMS内部结构上的activity,service,provider等信息;删除code,library,resource等信息,调用installer删除/data/data/packageName以及/data/dalvikcache中的文件;更新packages.xml。
本申请实施例提供的配置文件的保护方法,在检测到packages.xml更新后,会将更新后的packages.xml备份,以便于在packages.xml损坏时对其进行更新恢复。
需要说明的是,根据packages.xml的备份文件对packages.xml进行更新之后,更新后的packages.xml中可能会包含一些电子设备当前并不存在的应用程序信息,导致电子设备打开应用闪退,卡顿等问题。
这里按照时间先后顺序对上述问题进行具体举例说明。在第一时间点,电子设备中的packages.xml称作文件g,packages.xml的备份文件同样为文件h,文件g和文件h的内容相同。电子设备中包括应用程序m和应用程序n,即文件g中记载有应用程序m和应用程序n的信息。在第二时间点,文件g损坏。在第三时间点,应用程序m被用户卸载。在第四时间点,用户重启手机。则在手机的开机过程中,电子设备对文件g的完整性校验未通过,并根据文件h对文件g进行了更新。可以理解,更新后的文件g中,包含应用程序m和应用程序n的信息。而应用程序m已经被卸载。此时,就会出现PMS根据更新后的文件g不断扫描应用程序m,但一直扫描失败的情况出现。如果电子设备中还存在应用程序m的图标,用户点击该图标也会出现闪退,卡顿等现象。
请参考图4,为本申请实施例提供的又一种配置文件的保护方法的流程图。为了解决上述问题,本申请实施例提供的配置文件的保护方法,在上述S204b中根据第一配置文件的备份文件对第一配置文件进行更新之后,还会进行如下步骤。
S401、扫描电子设备中存储应用程序的第一存储分区。
在本申请实施例中,电子设备为安卓操作系统的手机时,第一存储分区的路径可以包括/system/frameworks,/system/priv-app,/system/app>,/vendor/app等。
S402、判断更新后的第一配置文件中记录的应用程序是否均存储于第一存储分区。若否,执行S403;若是,执行S404。
具体来说,上述S402即判断更新后的第一配置文件中的每一个应用程序是否均能够在第一存储分区找到对应的安装包。
S403、将未存储于第一存储分区的应用程序在第一配置文件中删除,得到更新后的第一配置文件。
如果没有在第一存储分区中找到第一配置文件中的某一个或某几个应用程序对应的安装包,则说明这一个或这些应用程序无法正常启动运行。本申请实施例提供的配置文件的保护方法会在第一配置文件中删除这一个或这些应用程序的信息,从而避免PMS重复扫描失败,也避免这一个或这些应用程序出现闪退,卡顿等问题,提高用户的使用体验。
得到更新后的第一配置文件后,可以监听并扫描/data/app文件夹,检测是否存在用于更新应用程序的包文件。若存在,则对根据该包文件对相应的应用程序进行更新。更新完成后,对第一配置文件进行更新,并对更新后的第一配置文件进行备份。备份完成后,即可执行桌面程序并关闭开机动画,完成开机流程。
S404、备份更新后的第一配置文件。
应当理解,如果是从S402跳转至S404,则S404中更新后的第一配置文件是指上述S204b中更新后的第一配置文件。而如果是从S403跳转至S404,则S404中更新后的第一配置文件是指S403中更新后的第一配置文件。
需要说明的是,若第一配置文件为packages.xml,PMS在开机时需要先进行初始化,其初始化过程具体可以是扫描所有APK(Android application package,安卓应用程序包)文件和Jar包,然后把它们的信息读取出来,保存在内存中,这样系统运行时就能迅速找到各种应用和组件的信息。其中,APK包即本申请实施例中的应用程序安装包。
另外在本申请实施例中,第一配置文件不仅可以至操作系统中某一功能模块对应的配置文件,还可以是电子设备中的某一应用程序对应的配置文件。此种场景下,电子设备可以响应于检测到第一应用程序中的参数变更,更新第一配置文件,并备份更新后的第一配置文件。
基于以上说明可以看出,本申请实施例提供的配置文件的保护方法,在第一配置文件通过完整性校验时,会及时对第一配置文件进行备份。而在第一配置文件第一次读取时,基本均能够通过完整性校验,即第一配置文件被成功读取后就会存在能够通过完整性校验的备份文件。如此,在检测到第一配置文件未通过完整性校验,即第一配置文件损坏时,能够根据第一配置文件的备份文件对损坏的第一配置文件进行更新,从而避免电子设备无法正常开机,该第一配置文件对应的操作系统或应用程序无法正常启动或运行,提高用户的使用体验。
请参考图5,为本申请实施例提供的一种电子设备500的组成示意图。该电子设备500可以为上述示例中的任一种电子设备,例如,该电子设备500可以为手机、电脑等。示例性的,如图5所示,该电子设备500可以包括:处理器501和存储器502。该存储器502用于存储计算机执行指令。示例性的,在一些实施例中,当该处理器501执行该存储器502存储的指令时,可以使得该电子设备500执行上述实施例中电子设备的任一种功能,以实现以上示例中的任一种配置文件的保护方法。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图6示出了的一种芯片系统600的组成示意图。该芯片系统600可以设置于电子设备中。例如该芯片系统600可以设置于手机中。示例性的,该芯片系统600可以包括:处理器601和通信接口602,用于支持电子设备实现上述实施例中所涉及的功能。在一种可能的设计中,芯片系统600还包括存储器,用于保存电子设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。需要说明的是,在本申请的一些实现方式中,该通信接口602也可称为接口电路。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在终端设备上运行时,使得终端设备执行上述相关方法步骤实现上述实施例中的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的方法。
其中,本申请实施例提供的终端设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
上述主要从电子设备的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对其中涉及的设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在上述实施例中的功能或动作或操作或步骤等,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。

Claims (11)

1.一种配置文件的保护方法,其特征在于,应用于电子设备;所述电子设备中存储有多个配置文件;第一配置文件为所述多个配置文件中的任一个;所述方法包括:
响应于读取所述第一配置文件的请求,对所述第一配置文件进行完整性校验;所述完整性校验包括判断所述第一配置文件是否存在以及是否完整;
若所述完整性校验通过,备份所述第一配置文件;
若所述完整性校验未通过,获取所述第一配置文件的备份文件;
根据所述第一配置文件的备份文件对所述第一配置文件进行更新;
所述方法还包括:
响应于检测到所述第一配置文件更新,备份更新后的第一配置文件。
2.根据权利要求1所述的配置文件的保护方法,其特征在于,所述第一配置文件为所述电子设备的操作系统中第一功能模块的配置文件,所述第一功能模块为所述操作系统中的任一功能模块。
3.根据权利要求2所述的配置文件的保护方法,其特征在于,所述第一功能模块为包管理服务,所述包管理服务用于在所述电子设备安装,卸载或更新应用程序时,更新所述第一配置文件。
4.根据权利要求3所述的配置文件的保护方法,其特征在于,所述若所述完整性校验未通过,获取所述第一配置文件的备份文件之后,所述方法还包括:
若不存在所述备份文件,通过防呆处理生成所述第一配置文件的初始配置文件;
使用所述第一配置文件的初始配置文件更新所述第一配置文件。
5.根据权利要求3所述的配置文件的保护方法,其特征在于,所述包管理服务还用于管理所述电子设备中安装的应用程序;
所述根据所述第一配置文件的备份文件对所述第一配置文件进行更新之后,所述方法还包括:
扫描所述电子设备中存储应用程序的第一存储分区;
判断更新后的第一配置文件中记录的应用程序是否均存储于所述第一存储分区;
若否,将未存储于所述第一存储分区的应用程序在所述第一配置文件中删除,得到更新后的第一配置文件;
备份更新后的第一配置文件。
6.根据权利要求1所述的配置文件的保护方法,其特征在于,所述第一配置文件为所述电子设备中第一应用程序的配置文件,所述第一应用程序为所述电子设备中安装的任一应用程序。
7.根据权利要求6所述的配置文件的保护方法,其特征在于,所述方法还包括:
响应于检测到所述第一应用程序中的参数变更,更新所述第一配置文件;
备份更新后的第一配置文件。
8.根据权利要求1所述的配置文件的保护方法,其特征在于,所述根据所述第一配置文件的备份文件对所述第一配置文件进行更新,包括:
将所述第一配置文件的备份文件作为更新后的第一配置文件。
9.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器存储有计算机指令;
当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-8中任一项所述的配置文件的保护方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,当所述计算机指令运行时,执行如权利要求1-8中任一项所述的配置文件的保护方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品中包括指令,当所述计算机程序产品在计算机上运行时,使得所述计算机可以根据所述指令执行如权利要求1-8中任一项所述的配置文件的保护方法。
CN202310197432.5A 2023-02-23 2023-02-23 一种配置文件的保护方法及电子设备 Active CN116382791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310197432.5A CN116382791B (zh) 2023-02-23 2023-02-23 一种配置文件的保护方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310197432.5A CN116382791B (zh) 2023-02-23 2023-02-23 一种配置文件的保护方法及电子设备

Publications (2)

Publication Number Publication Date
CN116382791A true CN116382791A (zh) 2023-07-04
CN116382791B CN116382791B (zh) 2024-04-05

Family

ID=86966464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310197432.5A Active CN116382791B (zh) 2023-02-23 2023-02-23 一种配置文件的保护方法及电子设备

Country Status (1)

Country Link
CN (1) CN116382791B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033086A (zh) * 2023-10-09 2023-11-10 苏州元脑智能科技有限公司 操作系统的恢复方法、装置、存储介质和服务器管理芯片

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909394A (zh) * 2019-11-24 2020-03-24 苏州浪潮智能科技有限公司 一种服务器的配置文件监测方法
CN112597515A (zh) * 2020-12-22 2021-04-02 深圳市欢太科技有限公司 信息处理方法、装置及存储介质
CN115495286A (zh) * 2022-10-14 2022-12-20 济南浪潮数据技术有限公司 配置文件定时备份的测试方法、系统、设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909394A (zh) * 2019-11-24 2020-03-24 苏州浪潮智能科技有限公司 一种服务器的配置文件监测方法
CN112597515A (zh) * 2020-12-22 2021-04-02 深圳市欢太科技有限公司 信息处理方法、装置及存储介质
CN115495286A (zh) * 2022-10-14 2022-12-20 济南浪潮数据技术有限公司 配置文件定时备份的测试方法、系统、设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117033086A (zh) * 2023-10-09 2023-11-10 苏州元脑智能科技有限公司 操作系统的恢复方法、装置、存储介质和服务器管理芯片
CN117033086B (zh) * 2023-10-09 2024-02-09 苏州元脑智能科技有限公司 操作系统的恢复方法、装置、存储介质和服务器管理芯片

Also Published As

Publication number Publication date
CN116382791B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
US11797288B2 (en) Patching method, related apparatus, and system
CN112055424B (zh) 电子装置以及切换电子装置的方法
WO2021027630A1 (zh) 补丁方法、相关装置及系统
CN113900699B (zh) 一种系统升级方法和电子设备
CN110865837B (zh) 一种进行系统升级的方法和终端
CN111373379A (zh) 一种数据备份方法及终端
CN115328563B (zh) 系统启动方法及电子设备
CN116382791B (zh) 一种配置文件的保护方法及电子设备
CN116233820B (zh) 一种参数更新方法、系统、终端设备及芯片系统
WO2021036869A1 (zh) 一种位置信息获取方法及电子设备
CN114096946A (zh) 用于管理应用的方法和装置
CN116049070A (zh) 一种摄像头模组识别方法及电子设备
CN114968657A (zh) 一种数据备份方法和电子设备
CN117135263B (zh) 日志信息获取方法、电子设备及计算机可读存储介质
CN116841575B (zh) 生成镜像文件的方法及相关装置
CN117312055B (zh) 数据备份的方法及相关装置
CN117135562B (zh) 参数设置方法、终端设备及可读存储介质
CN117435141B (zh) 一种存储器激活方法、电子设备及存储介质
CN117130808B (zh) 一种日志采集方法及电子设备
CN116737193B (zh) 软件升级方法、电子设备和通信系统
CN118277120A (zh) 一种管理系统服务的方法及相关装置
CN118445113A (zh) 异常重启方式的确定方法、装置、电子设备及存储介质
CN117785548A (zh) 文件更新方法和电子设备
CN118467254A (zh) 恢复出厂设置的方法及电子设备
CN118467020A (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
GR01 Patent grant
GR01 Patent grant