CN114138292A - 一种系统升级方法、存储介质及终端设备 - Google Patents
一种系统升级方法、存储介质及终端设备 Download PDFInfo
- Publication number
- CN114138292A CN114138292A CN202010923967.2A CN202010923967A CN114138292A CN 114138292 A CN114138292 A CN 114138292A CN 202010923967 A CN202010923967 A CN 202010923967A CN 114138292 A CN114138292 A CN 114138292A
- Authority
- CN
- China
- Prior art keywords
- data
- memory space
- data segment
- upgrade
- sub
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种系统升级方法、存储介质及终端设备,所述方法包括确定待升级系统对应的升级文件,对于升级文件中的每个数据段,获取该数据段所需的第一内存空间以及待升级系统对应的剩余内存空间;当所述剩余内存空间大于或者等于所述第一内存空间时,一次性从所述升级文件中读取该数据段,以升级所述待升级系统。这样可以根据剩余内存空间确定一次性从升级包中读取数据的数据大小,提高了升级文件的读写速度,从而提高系统升级的速度。
Description
技术领域
本申请涉及终端设备技术领域,特别涉及一种系统升级方法、存储介质及终端设备。
背景技术
基于块升级(block-based)是Android在5.0之后推出的一种OTA(Over-the-Airtechnology,空间下载技术)升级方法,其是相对于早期的基于文件升级(file-based)方法而言的,并且目前使用的最新的Android系统普遍采用基于块升级的方式。其中,基于块升级方法对比基于文件升级方法而言,具有不依赖于文件系统、从底层进行块数据的读写以及安全性也更强。然而,在基于块升级过程中,普遍存在基于块数据的读写速度无法达到标准块设备正常的读写速度,进而影响了系统升级速度。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种系统升级方法、存储介质及终端设备。
为了解决上述技术问题,本申请实施例第一方面提供了一种系统升级方法,所述方法包括:
确定待升级系统对应的升级文件,其中,所述升级文件包括若干数据段;
对于若干数据段中的每个数据段,获取该数据段所需的第一内存空间以及待升级系统对应的剩余内存空间;
根据所述剩余内存空间以及所述第一内存空间,从该数据段中读取的升级数据,以升级所述待升级系统。
所述系统升级方法,其中,所述根据所述剩余内存空间以及所述第一内存空间,从所述该数据段中读取的升级数据,以升级所述待升级系统具体包括:
若所述剩余存储空间大于或者等于所述第一内存空间,则将所述第一内存空间作为该数据段对应的读缓存;
通过一次读操作读取该数据段包括的所有升级数据,以升级所述待升级系统。
所述系统升级方法,其中,所述根据所述剩余内存空间以及所述第一内存空间,从所述该数据段中读取的升级数据,以升级所述待升级系统具体包括:
若所述剩余内存空间小于所述第一内存空间,基于所述剩余内存空间将该数据段划分为若干子数据段;
分别从读取若干子数据段中的每个子数据段包括的升级数据,以升级所述待升级系统。
所述系统升级方法,其中,所述若干子数据段中的每个子数据段所需的第二内存空间小于或者等于所述剩余内存空间。
所述系统升级方法,其中,该数据段包括若干数据块,若干子数据段中每个子数据段均包括至少一个数据块。
所述系统升级方法,其中,所述若所述剩余内存空间小于所述第一内存空间,基于所述剩余内存空间将该数据段划分为若干子数据段具体包括:
若所述剩余内存空间小于所述第一内存空间,获取数据块所需的第三内存空间;
基于所述剩余内存空间以及所述第三内存空间,确定所述剩余内存空间对应的数据块数量;
基于所述数据块数量将该数据段划分为若干子数据段,其中,若干子数据段中至多存在一个目标子数据段,该目标子数据段包括的数据块的数量小于所述数据块数量,除该目标子数据段外的各子数据段包括的数据块的数据均等于所述数据块数量。
所述系统升级方法,其中,所述基于所述剩余内存空间以及所述第三内存空间,确定所述剩余内存空间对应的数据块数量具体为:
确定所述剩余内存空间与所述第三内存空间的商,并将所述商作为所述剩余内存空间对应的数据块数量。
所述系统升级方法,其中,所述升级文件以压缩包形式存储于所述待升级系统对应的终端设备内。
本申请实施例第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的系统升级方法中的步骤。
本申请实施例第三方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的系统升级方法中的步骤。
有益效果:与现有技术相比,本申请提供了一种系统升级方法、存储介质及终端设备,所述方法包括确定待升级系统对应的升级文件,对于升级文件中的每个数据段,获取该数据段所需的第一内存空间以及待升级系统对应的剩余内存空间;当所述剩余内存空间大于或者等于所述第一内存空间时,一次性从所述升级文件中读取该数据段,以升级所述待升级系统。这样可以根据剩余内存空间确定一次性从升级包中读取数据的数据大小,提高了升级文件的读写速度,从而提高系统升级的速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的系统升级方法的流程图。
图2为本申请提供的系统升级方法的一个实施例的示意图。
图3为本申请提供的终端设备的结构原理图。
具体实施方式
本申请提供一种系统升级方法、存储介质及终端设备,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
具体实现中,本申请实施例中描述的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸显示屏和/或触摸板)的移动电话,膝上形计算机或平板计算机之类的其他便携式设备。还应该理解的是,在某些实施例中,所述设备并非便携式通讯设备,而是具有触摸敏感表面(例如,触摸显示屏和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端设备。然而,应当理解的是,终端设备还可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其他物理用户接口设备。
终端设备支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、视频会议应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件由于程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数据相机应用程序、数字摄像机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放应用程序等。
可以在终端设备上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的第一或多个功能以及终端上显示的相应信息。这样,终端的公共物理框架(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,基于块升级(block-based)是Android在5.0之后推出的一种OTA升级方法,其是相对于早期的基于文件升级(file-based)方法而言的,并且目前使用的最新的Android系统普遍采用基于块升级的方式。其中,基于块升级方法对比基于文件升级方法而言,具有不依赖于文件系统、从底层进行块数据的读写以及安全性也更强。然而,在基于块升级过程中,升级包是以压缩包的形式存储的,在从压缩包中读取数据时,会因标准库函数的限制而只能以32KB每次的速度从升级包获取数据,这样使得数据的读写速度无法达到标准块设备正常的读写速度,进而影响了系统升级速度。
为了解决上述问题,在本申请实施例中,确定待升级系统对应的升级文件,对于升级文件中的每个数据段,获取该数据段所需的第一内存空间以及待升级系统对应的剩余内存空间;当所述剩余内存空间大于或者等于所述第一内存空间时,一次性从所述升级文件中读取该数据段,以升级所述待升级系统。本申请实施例可以根据剩余内存空间确定一次性从升级包中读取数据的数据大小,提高了升级文件的读写速度,从而提高系统升级的速度。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施提供了一种系统升级方法,如图1所示,所述方法包括:
S10、确定待升级系统对应的升级文件。
具体地,所述待升级系统为需要升级的操作系统,所述操作系统可以装配于终端设备,例如,安卓系统,iOS系统等。在本实施例中,所述操作系统为安卓系统。所述升级文件为用于升级所述待升级系统的数据,通过所述升级文件可以将所述待升级系统升级至目标版本,所述目标版本的版本号可以高于待升级系统对应的版本号,例如,待升级系统的版本号为5.0,目标版本的版本号为6.0等。此外,所述升级文件可以为目标版本对应的完整升级包,所述完整升级包用于使得未装配有操作系统或者装配有任一版本的终端设备配置有目标版本的操作系统;所述升级文件也可以为差分升级包,所述差分升级包用于将待升级系统从其对应的版本升级至目标版本。
所述升级文件可以是装配有待升级系统的终端设备通过后台服务器获取的,也可以是该终端设备本地存储的,还可以是通过外部设备(例如,U盘等)传输至该终端设备。当然,值得说明的是,当采用该升级文件对待升级进行升级(即执行本实施例中的升级方法)时,该终端设备存储有该升级文件,并且该升级文件以压缩包形式存储于终端设备内。例如,终端设备以zip压缩包形式存储该升级文件。
所述升级文件包括若干数据段,所述若干数据段为形成所述升级文件时编码得到,若干数据段包括的数据构成所述升级文件,其中,若干数据段中的每个数据段均包括至少一个数据块,并且每个数据段对应的数据大小均为该数据块对应的数据大小的倍数。例如,数据块的数据大小为4k,数据段包括1024个数据段,那么数据段的数据大小为4MB。此外,在实际应用中,所述若干数据段中的各数据段对应的数据大小可以相同,例如,若干数据段中的各数据段对应的数据大小均为4MB;所述若干数据段中可以存在数据大小不相同的数据段,例如,若干数据段包括数据段A和数据段B,数据段A的数据大小为4MB,数据段B的数据大小为2MB。
S20、对于若干数据段中的每个数据段,获取该数据段所需的第一内存空间以及待升级系统对应的剩余内存空间。
具体地,所述剩余内存空间为装配该待升级系统的终端设备的系统空闲内存,所述第一内存空间为将所述数据段存储于系统内存中所需的内存空间,其中,所述第一内存空间等于与所述数据段的数据大小。由此,对于若干数据段中的每个数据段,读取待升级系统对应的系统空闲内存,以及该数据段的数据大小,并将所述系统空闲内存作为剩余内存空间,以及将该数据大小作为第一内存空间。当然,在实际应用中,所述若干数据段用于对待升级系统进行升级,所述若干数据段之间存在读写顺序,所述读写顺序序用于表示数据段需要被读取的顺序,并且对于两个数据段A和数据段B,数据段A的读写顺序在数据段B的读写顺序之前,那么在读取若干数据段时,会先读取数据段A,再读取数据段B。
基于此,对于若干数据段,确定若干数据段中每个数据段对应的读写顺序,并按照各数据段对应的读写顺序从前向后依次将各数据段作为目标数据段,并获取目标数据段所需的第一内存空间以及待升级系统对应的剩余内存空间,以便于后续从升级文件中读取到目标数据段。此外,在读取完成一个目标数据段后,可以判断所有的数据段均读取完成,若所有数据段均完成读取,则升级完成,若存在未完成的数据段时,继续执行按照各数据段对应的读写顺序从前向后依次将各数据段作为目标数据段的操作,直至所有数据段均完成读取。
S30、根据所述剩余内存空间以及所述第一内存空间,从该数据段中读取的升级数据,以升级所述待升级系统。
具体地,所述升级数据为一次从该数据段中读取到升级数据,该升级数据可以为数据段包括的所有升级数据,也可以为数据段包括的部分升级升级,其中,所述升级数据的数据大小是根据剩余内存空间以及第一内存空间确定。可以理解的是,当根据剩余内存空间以及第一内存空间确定的数据大小大于或者等于获取等于该数据段对应的第一内存空间时,可以通过一次读取操作读取到数据段中的所有升级数据;而当根据剩余内存空间以及第一内存空间确定的数据大小小于获取等于该数据段对应的第一内存空间时,一次读取操作读可以读取到该数据段终端部分升级数据。
在本实施例的一个实现方式中,根据所述剩余内存空间以及所述第一内存空间,从所述该数据段中读取的升级数据,以升级所述待升级系统具体包括:
若所述剩余存储空间大于或者等于所述第一内存空间,则将所述第一内存空间作为该数据段对应的读缓存;
通过一次读操作读取该数据段包括的所有升级数据,以升级所述待升级系统。
具体地,所述剩余内存空间大于或者等于所述第一内存空间,说明系统内存可以存储该数据段,由此,可以直接从升级文件读取该数据段,即通过一次读操作从升级文件中读取该数据段,并通过一次写操作将该数据段写入系统内存中。例如,该数据段对应的第一内存空间为4MB,剩余内存空间为8MB,剩余内存空间大于第一内存空间,则可以将该数据段整段从升级文件中读取并写入所述系统内存中,以便于基于所述数据段升级所述待升级系统。
所述读缓存用于反应一次从升级包中读取目标数据的数据大小,当所述读缓存为第一内存空间时,一次可以从升级包中读取到的目标数据的数据大小为第一内存空间。由于,该数据段的数据大小为第一内存空间,从而在读取该数据段时,通过一次读操作可以从升级文件中读取到该数据段,减少了该数据段的读取次数,从而提高了系统的升级速度。这是由于现有方法在从升级文件中读取数据时,每次读取到的数据大小相同且均为32KB,那么对于数据大小大于32KB需要分多次读取,增加了从升级文件中读取数据的时长。例如,对于数据大小为4MB的数据段,每次读取32KB,则需要执行128次读操作才能从升级文件中读取到该数据段的全部数据。
在本实施例的一个实现方式中,所述根据所述剩余内存空间以及所述第一内存空间,从该数据段中读取的升级数据,以升级所述待升级系统具体包括:
若所述剩余内存空间小于所述第一内存空间,基于所述剩余内存空间将该数据段划分为若干子数据段;
分别从读取若干子数据段中的每个子数据段包括的升级数据,以升级所述待升级系统。
具体地,所述剩余内存空间小于所述第一内存空间,说明系统内存无法存储该数据段,例如,该数据段对应的第一内存空间为4MB,剩余内存空间为3MB,剩余内存空间小于第一内存空间,无法直接将数据段写入系统内存中。由此,可以基于所述剩余内存空间将所述数据段划分为若干子数据段,若干子数据段中的每个子数据段均包括该数据段中的部分数据,并且若干子数据段中的各子数据段所需的第二内存空间小于获取等于所述剩余内存空间,以使得一次可以从升级包中读取一个子数据段。
若干子数据段中的各子数据段均至少包括一个数据块。可以理解的是,各子数据段对应的第二内存空间均大于或者等于数据块对应的第三内存空间,且各子数据段对应的第二内存空间均为第三内存空间的倍数,例如,第三内存空间为4k,那么各子数据段对应的第二内存空间均为4k的倍数,如,若干子数据段包括子数据段A和子数据段B,子数据段A对应的第二内存空间和子数据段B对应的第二内存空间均为2MB等。
在本实施例的一个实现方式中,若干子数据段中各数据段的第二内存空间可以不相同,且第二内存空间均小于或等于剩余内存空间。示例性的,所述若所述剩余内存空间小于所述第一内存空间,基于所述剩余内存空间将该数据段划分为若干子数据段具体包括:
若所述剩余内存空间小于所述第一内存空间,获取数据块所需的第三内存空间;
基于所述剩余内存空间以及所述第三内存空间,确定所述剩余内存空间对应的数据块数量;
基于所述数据块数量将该数据段划分为若干子数据段,其中,若干子数据段中至多存在一个目标子数据段,该目标子数据段包括的数据块的数量小于所述数据块数量,除该目标子数据段外的各子数据段包括的数据块的数据均等于所述数据块数量。
具体地,所述数据块数量为剩余内存空间可以存储的数据块的最大数量,其中,所述数据块数量等于剩余内存空间与第三内存空间的商。例如,剩余内存空间为2MB,第三内存空间为4K,那么所述数据块数据=2*1024/4=512。此外,在划分得到若干子数据段中至多存在一个目标子数据段,该目标子数据段包括的数据块的数量小于所述数据块数量,除该目标子数据段外的各子数据段包括的数据块的数据均等于所述数据块数量。
所述数据块数量为所述剩余内存空间可以存储数据块的最大数量,可以理解的是,当对于任一大于该数据块数量的候选数据块数量,该候选数据块数量与第三内存空间的乘积大于剩余内存空间。基于此,所述基于所述剩余内存空间以及所述第三内存空间,确定所述剩余内存空间对应的数据块数量具体为:确定所述剩余内存空间与所述第三内存空间的商,并将所述商作为所述剩余内存空间对应的数据块数量。
所述基于所述数据块数量将该数据段划分为若干子数据段的过程可以为:在获取到数据块数量后,将该数据段作为待划分数据段,并按照从前到后的顺序从待划分数据段中选取数据块数量的数据块,将选取到数据块作为一个子数据段,并获取未选取到的数据块的数量;若未选取到的数据块的数量小于或者等于数据块数量,则将未选取的数据块作为一个数据段,以完成数据段划分;若未选取到的数据块的数量大于数据块数量,则继续未选取数据块作为待划分数据段,并继续执行按照从前到后的顺序从待划分数据段中选取数据块数量的数据块操作,直至未选取到的数据块的数量小于或者等于数据块数量。这样可以使得除目标子数据段外,每个子数据段均为待升级系统可以存储的最大数据段,从而可以保证数据读取速度,从而保证系统升级数据。
当然,在实际应用中,由于数据段包括若干数据块,从而可以数据块为最小划分单元,并以2的倍数为分割因子对数据段进行划分,如图2所示,所述数据段的划分过程可以为:
首先,将2作为分割因子,将数据段的数据块划分为2组,并分别获取划分得到的2组子数据段对应的第二内存空间;分别将各第二内存空间与剩余内存空间进行比较,若干各第二内存空间均小于剩余内存空间,则将该数据段划分为2个数据段;其中,当数据段的数据块数量为偶数时,每个子数据段包括的数据块数量相等,当数据段的数据块数据为奇数时,一个子数据段的数据块数量对于另一个子数据段的数据块数量;
其次,若干存在第二内存空间大于剩余内存空间,则将4作为分割因子,将数据段的数据块划分为4组,并分别获取划分得到的4组子数据段对应的第二内存空间;分别将各第二内存空间与剩余内存空间进行比较,各第二内存空间均小于剩余内存空间,则将该数据段划分为4个数据段;其中,当数据块数量为4的倍数时,每个数据段包括的数据块数量相等,当数据段的数据块数据不是4的倍数时,4个子数据段中任意两个子数据段包括的数据块数量的差小于或者等于1;依次类推,执行划分得到的各子数据段各自对应的第二内存空间均小于剩余内存空间,并且每个子数据段至少包括一个数据块。
举例说明:数据段对应的第一内存空间为4MB,包括1024个数据块,剩余内存空间为1MB,首先将2作为分割因子,1024个数据块等分为2个子数据段,每个子数据段包括512个数据块,即每个子数据段对应的第二内存空间为2MB;由于2MB大于1MB,从而将2*2=4作为分割因子,1024个数据块等分为4个子数据段,每个子数据段包括256个数据块,即每个子数据段对应的第二内存空间为1MB,由于1MB大于1MB,从而将数据段划分为4个子数据段,每个子数据段的第二内存空间为1MB。
在本实施例的一个实现方式中,若干子数据段中各子数据段对应的第二内存空间均相等,且均小于剩余内存空间。相应的,所述基于所述剩余内存空间将该数据段划分为若干子数据段具体包括:根据该数据段对应的第一内存空间以及数据块对应的第三内存空间,确定数据段包括的目标数据块数量;获取该目标数据块数据的所有公约数,并在所有公约数中选取目标公约数,其中,目标公约数与第三内存空间的乘积小于剩余内存空间;分别计算剩余内存空间与获取到所有目标公约数中的各公约数和第三内存空间的乘积差值,并选取最下差值对应的目标公约数作为划分份数;根据所述划分份数将所述数据段等分为若干子数据段,其中,若干子数据段的数量等于划分份数。这样可以使得每个子数据段的数据大小相等,并每个子数据段对应的数据大小为可以等分的最大数据大小,这样可以保证数据读取数据。
此外,在将数据段划分为若干子数据段时,依次读取若干子数据段中的每个数据段,并当所有子数据段均读取完成后,将该数据段写入分区设备节点,其中,所述分区设备节点为需要基于该数据段进行升级的设备节点。
综上所述,本实施例提供了一种系统升级方法,所述方法包括确定待升级系统对应的升级文件,对于升级文件中的每个数据段,获取该数据段所需的第一内存空间以及待升级系统对应的剩余内存空间;当所述剩余内存空间大于或者等于所述第一内存空间时,一次性从所述升级文件中读取该数据段,以升级所述待升级系统。这样可以根据剩余内存空间确定一次性从升级包中读取数据的数据大小,提高了升级文件的读写速度,从而提高系统升级的速度。
基于上述系统升级方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的系统升级方法中的步骤。
基于上述系统升级方法,本申请还提供了一种终端设备,如图3所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种系统升级方法,其特征在于,所述方法包括:
确定待升级系统对应的升级文件,其中,所述升级文件包括若干数据段;
对于若干数据段中的每个数据段,获取该数据段所需的第一内存空间以及待升级系统对应的剩余内存空间;
根据所述剩余内存空间以及所述第一内存空间,从该数据段中读取的升级数据,以升级所述待升级系统。
2.根据权利要求1所述系统升级方法,其特征在于,所述根据所述剩余内存空间以及所述第一内存空间,从所述该数据段中读取的升级数据,以升级所述待升级系统具体包括:
若所述剩余存储空间大于或者等于所述第一内存空间,则将所述第一内存空间作为该数据段对应的读缓存;
通过一次读操作读取该数据段包括的所有升级数据,以升级所述待升级系统。
3.根据权利要求1所述系统升级方法,其特征在于,根据所述剩余内存空间以及所述第一内存空间,从该数据段中读取的升级数据,以升级所述待升级系统具体包括:
若所述剩余内存空间小于所述第一内存空间,基于所述剩余内存空间将该数据段划分为若干子数据段;
分别从读取若干子数据段中的每个子数据段包括的升级数据,以升级所述待升级系统。
4.根据权利要求3所述系统升级方法,其特征在于,所述若干子数据段中的每个子数据段所需的第二内存空间小于或者等于所述剩余内存空间。
5.根据权利要求3所述系统升级方法,其特征在于,该数据段包括若干数据块,若干子数据段中每个子数据段均包括至少一个数据块。
6.根据权利要求5所述系统升级方法,其特征在于,所述若所述剩余内存空间小于所述第一内存空间,基于所述剩余内存空间将该数据段划分为若干子数据段具体包括:
若所述剩余内存空间小于所述第一内存空间,获取数据块所需的第三内存空间;
基于所述剩余内存空间以及所述第三内存空间,确定所述剩余内存空间对应的数据块数量;
基于所述数据块数量将该数据段划分为若干子数据段,其中,若干子数据段中至多存在一个目标子数据段,该目标子数据段包括的数据块的数量小于所述数据块数量,除该目标子数据段外的各子数据段包括的数据块的数据均等于所述数据块数量。
7.根据权利要求6所述系统升级方法,其特征在于,所述基于所述剩余内存空间以及所述第三内存空间,确定所述剩余内存空间对应的数据块数量具体为:
确定所述剩余内存空间与所述第三内存空间的商,并将所述商作为所述剩余内存空间对应的数据块数量。
8.根据权利要求1-7任一所述系统升级方法,其特征在于,所述升级文件以压缩包形式存储于所述待升级系统对应的终端设备内。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1~8任意一项所述的系统升级方法中的步骤。
10.一种终端设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-8任意一项所述的系统升级方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010923967.2A CN114138292A (zh) | 2020-09-04 | 2020-09-04 | 一种系统升级方法、存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010923967.2A CN114138292A (zh) | 2020-09-04 | 2020-09-04 | 一种系统升级方法、存储介质及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138292A true CN114138292A (zh) | 2022-03-04 |
Family
ID=80438434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010923967.2A Pending CN114138292A (zh) | 2020-09-04 | 2020-09-04 | 一种系统升级方法、存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138292A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115756872A (zh) * | 2022-12-13 | 2023-03-07 | 陈应钦 | 基于数据分析的计算机内存释放系统 |
CN117573172A (zh) * | 2024-01-15 | 2024-02-20 | 天津异乡好居网络科技股份有限公司 | 客户端更新方法、装置、设备及介质 |
-
2020
- 2020-09-04 CN CN202010923967.2A patent/CN114138292A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115756872A (zh) * | 2022-12-13 | 2023-03-07 | 陈应钦 | 基于数据分析的计算机内存释放系统 |
CN115756872B (zh) * | 2022-12-13 | 2023-05-26 | 北京望京科技孵化服务有限公司 | 基于数据分析的计算机内存释放系统 |
CN117573172A (zh) * | 2024-01-15 | 2024-02-20 | 天津异乡好居网络科技股份有限公司 | 客户端更新方法、装置、设备及介质 |
CN117573172B (zh) * | 2024-01-15 | 2024-04-12 | 天津异乡好居网络科技股份有限公司 | 客户端更新方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2765503B1 (en) | Method and electronic device of the file system prefetching and boot-up method | |
US8966160B2 (en) | Storage device trimming | |
CN109471626B (zh) | 页面逻辑结构、页面生成方法、页面数据处理方法及装置 | |
US9684604B2 (en) | Electronic device with cache memory and method of operating the same | |
CN102929786A (zh) | 非易失性存储设备集合的易失性存储器表示 | |
KR20140060308A (ko) | 사용 비트맵을 갖는 저장 장치에 대한 효율적 액세스 기법 | |
CN107480074B (zh) | 一种缓存方法、装置及电子设备 | |
CN114138292A (zh) | 一种系统升级方法、存储介质及终端设备 | |
KR20100088210A (ko) | 휴대용 단말기에서 내장 대용량 메모리를 이용한 컨텐츠 다운로드 방법 및 장치 | |
CN110704334B (zh) | 一种重要产品数据管理的方法、系统及设备 | |
CN109783321B (zh) | 监控数据管理方法、装置、终端设备 | |
CN106156038B (zh) | 数据存储方法和装置 | |
US9164978B2 (en) | Identifying objects within a multidimensional array | |
CN105653539A (zh) | 索引分布式存储的实现方法和装置 | |
CN110673795A (zh) | 数据写入方法及装置、计算机装置及存储介质 | |
EP3869343B1 (en) | Storage device and operating method thereof | |
CN106775445B (zh) | 数据迁移方法及装置 | |
CN112015459A (zh) | 一种镜像文件的升级方法、装置、终端及可读存储介质 | |
CN108959517B (zh) | 文件管理方法、装置及电子设备 | |
CN109032859A (zh) | 一种nvme ssd逻辑块检测方法、系统及相关装置 | |
CN110045929A (zh) | 一种挂载点管理方法及相关装置 | |
CN107179873B (zh) | 一种基于应用程序界面的单手操作方法及装置 | |
CN111435285B (zh) | 存储卷写数据方法、装置、电子设备及机器可读存储介质 | |
US11748117B2 (en) | Operating system partitioning of different users for single-user applications | |
CN107506253A (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 |