CN107766067B - 一种提升压缩镜像烧录速度的方法、存储介质及计算机 - Google Patents

一种提升压缩镜像烧录速度的方法、存储介质及计算机 Download PDF

Info

Publication number
CN107766067B
CN107766067B CN201710896766.6A CN201710896766A CN107766067B CN 107766067 B CN107766067 B CN 107766067B CN 201710896766 A CN201710896766 A CN 201710896766A CN 107766067 B CN107766067 B CN 107766067B
Authority
CN
China
Prior art keywords
area
size
writing
compressed
data
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.)
Active
Application number
CN201710896766.6A
Other languages
English (en)
Other versions
CN107766067A (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.)
Rockchip Electronics Co Ltd
Original Assignee
Rockchip Electronics 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 Rockchip Electronics Co Ltd filed Critical Rockchip Electronics Co Ltd
Priority to CN201710896766.6A priority Critical patent/CN107766067B/zh
Publication of CN107766067A publication Critical patent/CN107766067A/zh
Application granted granted Critical
Publication of CN107766067B publication Critical patent/CN107766067B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks

Abstract

一种提升sparse压缩文件烧录速度的方法、存储介质及计算机,其中方法包括如下步骤,在烧录开始时,对待烧录区域进行擦除;以大块写大小为基本单位,合并压缩文件中的压缩区块数据,对超过大块写大小的零压缩区块不进行合并,其余压缩区块进行合并;根据合并处理后的压缩文件向待烧录区域进行写入。解决现有烧录时长过长的问题。

Description

一种提升压缩镜像烧录速度的方法、存储介质及计算机
技术领域
本发明涉及安卓系统压缩文件处理领域,尤其涉及一种sparse镜像烧录提升速度的方法。
背景技术
随着android系统的升级和emmc等存储介质容量的增大,android系统中system分区,userdata分区和Cache等分区分配的空间也越来越大,随之这些分区生成的镜像文件也越来越大,为了解决烧录这些镜像速度慢的情况,android引入了一种sparse结构的镜像,它对原始镜像进行分析,以4k块大小为基础,将全0和相同值的数据进行压缩,最后生成比原始文件小很多的sparse镜像.目前烧录android sparse镜像的方法两种:
一:fastboot工具烧录,在烧录过程中设备端fastboot响应程序会将接收到的sparse数据还原回原始数据然后写入到存储介质.
二:烧录器烧录,通过烧录器将sparse镜像完整的烧录到特定位置,在第一次启动时,将sparse数据还原并写入最终的分区.
这两种方法都是通过遍历sparse镜像的每个chunk来还原chunk中的数据,但是如果碰到sparse镜像中存在很多的小chunk(chunk中包含的原始数据很少)那么就会出现大量的小块写操作,这会导致整个烧录时间变长.
发明内容
为此,需要提供一种能够提升安卓用sparse压缩文件烧录速度的方法,解决现有烧录时长过长的问题。
为实现上述目的,发明人提供了一种提升sparse压缩文件烧录速度的方法,包括如下步骤
在烧录开始时,对待烧录区域进行擦除;
以大块写大小为基本单位,合并压缩文件中的压缩区块数据,对超过大块写大小的零压缩区块不进行合并,其余压缩区块进行合并;
根据合并处理后的压缩文件向待烧录区域进行写入。
进一步地,其特征在于,所述向待烧录区域进行写入具体包括步骤,在内存预定一块基本单位大小的当前区域,读取合并区块的数据进行解压,判断解压缩后的数据是否小于当前区域的剩余空间,若小于则向当前区域内写入解压缩后的数据,在读取下一合并区块的数据循环进行解压、判断;若大于则先将当前区域数据烧录进待烧录区域,再在内存重新预定一块基本单位大小的区域作为当前区域,将解压缩后的数据写入新的当前区域中。
优选地,还包括步骤,预探测压缩文件烧录的大块写大小,以若干预定大小值为单位对待烧录区域进行预写入,找出平均写入时间最少的预定大小值,作为大块写操作的基本单位。
具体地,其特征在于,还所述预定大小值包括4、8、16、32、64、128、256、512、1024kb大小。
一种提升sparse压缩文件烧录速度的存储介质,所述存储介质存储有计算机程序,所述存储介质用于在被计算机执行时进行下列步骤:
在烧录开始时,对待烧录区域进行擦除;
以大块写大小为基本单位,合并压缩文件中的压缩区块数据,对超过大块写大小的零压缩区块不进行合并,其余压缩区块进行合并;
根据合并处理后的压缩文件向待烧录区域进行写入。
进一步地,所述向待烧录区域进行写入具体包括步骤,在内存预定一块基本单位大小的当前区域,读取合并区块的数据进行解压,判断解压缩后的数据是否小于当前区域的剩余空间,若小于则向当前区域内写入解压缩后的数据,在读取下一合并区块的数据循环进行解压、判断;若大于则先将当前区域数据烧录进待烧录区域,再在内存重新预定一块基本单位大小的区域作为当前区域,将解压缩后的数据写入新的当前区域中。
具体地,还包括步骤,预探测压缩文件烧录的大块写大小,以若干预定大小值为单位对待烧录区域进行预写入,找出平均写入时间最少的预定大小值,作为大块写操作的基本单位。
具体地,还所述预定大小值包括4、8、16、32、64、128、256、512、1024kb大小。
一种提升压缩文件烧录速度的计算机,包括上述的存储介质。
区别于现有技术,上述技术方案通过对sparse文件进行分区合并并对其中的不同性质的区块,从而使得对sparse文件解压烧录的速度得到显著提高。
附图说明
图1为具体实施方式所述的提升sparse文件烧录速度的方法流程图;
图2为具体实施方式所述向待烧录区域写入数据的方法流程图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,本实施例一种提升sparse压缩文件烧录速度的方法,包括如下步骤S100在烧录开始时,对待烧录区域进行擦除;
S102以大块写大小为基本单位,合并压缩文件中的压缩区块数据,对超过大块写大小的零压缩区块不进行合并,其余压缩区块进行合并;
S104根据合并处理后的压缩文件向待烧录区域进行写入。
其中所述待烧录区域指的是镜像文件最终解压后存储的位置,可以是硬盘、光盘等存储设备,所述的压缩文件指的是在安卓系统中常用的sparse镜像文件,对于sparse镜像文件来说,其中的压缩区块称之为chunk,其中一般存在四种chunk,特征如下;
Figure GDA0002574898510000041
我们可以将don’t care chunk定义为全零压缩区块,其余的都是非全零是压缩区块,那么在一个sparse中,可以存在非常多的小压缩区块,互相之间没有任何关系,且压缩区块可以分为上述四种类型。为了提升sparse镜像的写入数据,我们先对待烧录区域进行擦除erase,在原始的待烧录区域中,可能会存在非常多的1或全F类型的数据记录,通过擦除操作来保证待烧录区域中的字符全都变成零。随后再进行步骤,以大块写大小为单位,将sparse压缩文件中的压缩区块数据,进行合并,即对超过大块写大小的零压缩区块不进行合并,对其他的非零压缩区块进行合并。当然,得到的合并结果中并非都是大块写大小,而是包括不等长的全零区块间隔区分出的其他一些合并后的chunk,原来的chunk小于大块写大小的,合并后可能小于大块写大小,也可能等于大块写大小。原来的chunk大于大块写大小的,就不进行合并操作。
在具体的实施例中,我们的方法还包括步骤,预探测压缩文件烧录的大块写大小,以若干预定大小值为单位对待烧录区域进行预写入,预定大小值为4的2次方倍,即4、8、16、32、64、128、256、512、1024kb大小。预写入的内容就是需要解压写入的sparse镜像,然后找出平均写入时间最少的预定大小值,作为大块写操作的基本单位。进行大块写大小的探测能够优化安卓系统中sparse镜像写入的速度,这是由于目标存储的性能各异,针对不同类型的sparse数据的写入数据也会有不同的性能表现,进行当前待写入的sparse的预写入操作,确定大块写大小作为基本单元,能够更好地对写入速度进行优化,缩短写入时间,提升写入效率。
在进一步的实施例中,如图2所示,所述向待烧录区域进行写入具体包括步骤,S300在内存预定一块基本单位大小的当前区域,读取合并后的区块的数据进行解压,S302判断解压缩后的数据是否小于当前区域的剩余空间,若小于则S304向当前区域内写入解压缩后的数据,再读取下一合并区块的数据循环进行解压、判断;若大于则S306先将当前区域数据烧录进待烧录区域,再在内存重新预定一块基本单位大小的区域作为当前区域,将解压缩后的数据写入新的当前区域中。所述内存指的用于写入的上位机内的内存空间,用于临时存放数据,通过上述方法,能够将写入过程中内存的复用效率提高到最大,对于小于基本单位大小的合并区块,能够做到将内存堆满之后再进行一并写入,对于大于基本单位大小的合并区块,还可以将合并区块中部分等于基本单位大小的数据先写入内存,再将内存内的数据写入待烧录区域,再将合并区块中剩余部分写入内存,直到写入完毕。通过应用上述方法,Android Sparse镜像的烧录速度得到提升,500m左右的sparse镜像采用此方案可以节约15%的烧录时间。
本发明还提供一种提升sparse压缩文件烧录速度的存储介质,所述存储介质存储有计算机程序,所述存储介质用于在被计算机执行时进行下列步骤:
在烧录开始时,对待烧录区域进行擦除;
以大块写大小为基本单位,合并压缩文件中的压缩区块数据,对超过大块写大小的零压缩区块不进行合并,其余压缩区块进行合并;
根据合并处理后的压缩文件向待烧录区域进行写入。
进一步地,所述向待烧录区域进行写入具体包括步骤,在内存预定一块基本单位大小的当前区域,读取压缩区块的数据进行解压,判断解压缩后的数据是否小于当前区域的剩余空间,若小于则向当前区域内写入解压缩后的数据,在读取下一压缩区块的数据循环进行解压、判断;若大于则先将当前区域数据烧录进待烧录区域,再在内存重新预定一块基本单位大小的区域作为当前区域。
具体地,还包括步骤,预探测压缩文件烧录的大块写大小,以若干预定大小值为单位对待烧录区域进行预写入,找出平均写入时间最少的预定大小值,作为大块写操作的基本单位。
具体地,还所述预定大小值包括4、8、16、32、64、128、256、512、1024kb大小。
本发明的一些实施例中,还提供一种提升压缩文件烧录速度的计算机,包括上述的存储介质。所述存储介质存储有计算机程序,所述存储介质用于在被计算机执行时进行下列步骤:
在烧录开始时,对待烧录区域进行擦除;
以大块写大小为基本单位,合并压缩文件中的压缩区块数据,对超过大块写大小的零压缩区块不进行合并,其余压缩区块进行合并;
根据合并处理后的压缩文件向待烧录区域进行写入。
进一步地,所述向待烧录区域进行写入具体包括步骤,在内存预定一块基本单位大小的当前区域,读取压缩区块的数据进行解压,判断解压缩后的数据是否小于当前区域的剩余空间,若小于则向当前区域内写入解压缩后的数据,在读取下一压缩区块的数据循环进行解压、判断;若大于则先将当前区域数据烧录进待烧录区域,再在内存重新预定一块基本单位大小的区域作为当前区域,将解压缩后的数据写入新的当前区域中。
具体地,还包括步骤,预探测压缩文件烧录的大块写大小,以若干预定大小值为单位对待烧录区域进行预写入,找出平均写入时间最少的预定大小值,作为大块写操作的基本单位。
具体地,还所述预定大小值包括4、8、16、32、64、128、256、512、1024kb大小。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (7)

1.一种提升sparse压缩文件烧录速度的方法,其特征在于,包括如下步骤,
在烧录开始时,对待烧录区域进行擦除,将待烧录区域中的字符全都变成零;
以大块写大小为基本单位,合并压缩文件中的压缩区块数据,对超过大块写大小的零压缩区块不进行合并,其余压缩区块进行合并,得到合并区块,还包括步骤,预探测压缩文件烧录的大块写大小,以若干预定大小值为单位对待烧录区域进行预写入,找出平均写入时间最少的预定大小值,作为大块写操作的基本单位;
根据合并处理后的压缩文件向待烧录区域进行写入。
2.根据权利要求1所述的提升sparse压缩文件烧录速度的方法,其特征在于,所述向待烧录区域进行写入具体包括步骤,在内存预定一块基本单位大小的当前区域,读取合并区块的数据进行解压,判断解压缩后的数据是否小于当前区域的剩余空间,若小于则向当前区域内写入解压缩后的数据,再读取下一合并区块的数据循环进行解压、判断;若大于则先将当前区域数据烧录进待烧录区域,再在内存重新预定一块基本单位大小的区域作为当前区域,将解压缩后的数据写入新的当前区域中。
3.根据权利要求1所述的提升sparse压缩文件烧录速度的方法,其特征在于,所述预定大小值包括4、8、16、32、64、128、256、512、1024kb大小。
4.一种提升sparse压缩文件烧录速度的存储介质,其特征在于,所述存储介质存储有计算机程序,所述存储介质用于在被计算机执行时进行下列步骤:
在烧录开始时,对待烧录区域进行擦除,将待烧录区域中的字符全都变成零;
以大块写大小为基本单位,合并压缩文件中的压缩区块数据,对超过大块写大小的零压缩区块不进行合并,其余压缩区块进行合并,得到合并区块,预探测压缩文件烧录的大块写大小,以若干预定大小值为单位对待烧录区域进行预写入,找出平均写入时间最少的预定大小值,作为大块写操作的基本单位;
根据合并处理后的压缩文件向待烧录区域进行写入。
5.根据权利要求4所述的提升sparse压缩文件烧录速度的存储介质,其特征在于,所述向待烧录区域进行写入具体包括步骤,在内存预定一块基本单位大小的当前区域,读取合并区块的数据进行解压,判断解压缩后的数据是否小于当前区域的剩余空间,若小于则向当前区域内写入解压缩后的数据,再读取下一合并区块的数据循环进行解压、判断;若大于则先将当前区域数据烧录进待烧录区域,再在内存重新预定一块基本单位大小的区域作为当前区域,将解压缩后的数据写入新的当前区域中。
6.根据权利要求4所述的提升sparse压缩文件烧录速度的存储介质,其特征在于,所述预定大小值包括4、8、16、32、64、128、256、512、1024kb大小。
7.一种提升压缩文件烧录速度的计算机,其特征在于,包括权利要求4-6任一项所述的存储介质。
CN201710896766.6A 2017-09-28 2017-09-28 一种提升压缩镜像烧录速度的方法、存储介质及计算机 Active CN107766067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710896766.6A CN107766067B (zh) 2017-09-28 2017-09-28 一种提升压缩镜像烧录速度的方法、存储介质及计算机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710896766.6A CN107766067B (zh) 2017-09-28 2017-09-28 一种提升压缩镜像烧录速度的方法、存储介质及计算机

Publications (2)

Publication Number Publication Date
CN107766067A CN107766067A (zh) 2018-03-06
CN107766067B true CN107766067B (zh) 2021-03-02

Family

ID=61267251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710896766.6A Active CN107766067B (zh) 2017-09-28 2017-09-28 一种提升压缩镜像烧录速度的方法、存储介质及计算机

Country Status (1)

Country Link
CN (1) CN107766067B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108520067A (zh) * 2018-04-12 2018-09-11 郑州云海信息技术有限公司 压缩、解压gzip格式文件的方法、装置及存储介质
CN110443032A (zh) * 2019-08-14 2019-11-12 重庆蓝岸通讯技术有限公司 一种针对UBI文件系统在fastboot模式下烧录的加密保护方法
CN113010195B (zh) * 2019-12-19 2023-03-10 深圳Tcl数字技术有限公司 一种系统升级方法、存储介质及终端设备
CN113377391B (zh) * 2021-07-21 2023-11-21 北京百度网讯科技有限公司 镜像文件的制作和烧录的方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049394A (zh) * 2012-11-30 2013-04-17 记忆科技(深圳)有限公司 固态硬盘数据缓存的方法及其系统
CN104133743A (zh) * 2014-07-22 2014-11-05 青岛智动精工电子有限公司 一种将文件烧录到emmc芯片的方法及装置
CN105224237A (zh) * 2014-05-26 2016-01-06 华为技术有限公司 一种数据存储方法及装置
CN105373404A (zh) * 2015-11-25 2016-03-02 青岛海信宽带多媒体技术有限公司 软件镜像烧录方法及设备
CN105590072A (zh) * 2015-12-18 2016-05-18 上海华测导航技术股份有限公司 一种实现嵌入式系统自动烧录的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324503A (zh) * 2013-05-29 2013-09-25 京东方科技集团股份有限公司 一种数据烧录系统及方法
CN105846989A (zh) * 2015-01-14 2016-08-10 深圳市伦琴科技有限公司 基于碎片混沌迭代的固件动态加解密方法
CN105653592A (zh) * 2016-01-28 2016-06-08 浪潮软件集团有限公司 一种基于hdfs的小文件合并工具和方法
CN106933970B (zh) * 2017-02-10 2019-11-22 福州瑞芯微电子股份有限公司 一种快速烧录数据至ext分区的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049394A (zh) * 2012-11-30 2013-04-17 记忆科技(深圳)有限公司 固态硬盘数据缓存的方法及其系统
CN105224237A (zh) * 2014-05-26 2016-01-06 华为技术有限公司 一种数据存储方法及装置
CN104133743A (zh) * 2014-07-22 2014-11-05 青岛智动精工电子有限公司 一种将文件烧录到emmc芯片的方法及装置
CN105373404A (zh) * 2015-11-25 2016-03-02 青岛海信宽带多媒体技术有限公司 软件镜像烧录方法及设备
CN105590072A (zh) * 2015-12-18 2016-05-18 上海华测导航技术股份有限公司 一种实现嵌入式系统自动烧录的方法

Also Published As

Publication number Publication date
CN107766067A (zh) 2018-03-06

Similar Documents

Publication Publication Date Title
CN107766067B (zh) 一种提升压缩镜像烧录速度的方法、存储介质及计算机
CN108647151B (zh) 一种全闪系统元数据落盘方法、装置、设备及存储介质
CN110799959B (zh) 一种数据压缩方法与解压方法以及相关设备
US10747678B2 (en) Storage tier with compressed forward map
US10552044B2 (en) Storage apparatus, data processing method and storage system wherein compressed data is read in parallel, said data stored in buffer by size and read from said buffer, in order of when said data is stored in said buffer
CN110532201B (zh) 一种元数据处理方法及装置
KR20140110288A (ko) 데이터 중복 제거 방법 및 장치
CN105630834B (zh) 一种实现重复数据删除的方法及装置
CN112684975B (zh) 一种数据存储方法及装置
CN110727404A (zh) 一种基于存储端的数据重删方法、设备以及存储介质
US8738858B1 (en) System and method for improving cache performance
US20140219041A1 (en) Storage device and data processing method thereof
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
US9952771B1 (en) Method and system for choosing an optimal compression algorithm
KR20150035876A (ko) 데이터 중복 제거 방법 및 장치
US7062603B2 (en) External storage device for selectively storing data between first and second recording media
CN106528436B (zh) 数据储存装置及其数据维护方法
CN111008233B (zh) 一种kv数据库的访问方法、装置及设备
US20170031629A1 (en) Method and apparatus for transferring binary image into memory device
CN104408126A (zh) 一种数据库的持久化写入方法、装置和系统
CN114936010B (zh) 数据处理方法、装置、设备及介质
CN110837338A (zh) 一种存储索引处理方法及装置
CN114003573A (zh) 文件系统的压缩方法、装置、设备、存储介质、程序产品
CN111090396A (zh) 一种文件的处理方法、装置及电子设备
CN107203476B (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
CB02 Change of applicant information

Address after: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province

Applicant after: Ruixin Microelectronics Co., Ltd

Address before: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province

Applicant before: Fuzhou Rockchips Electronics Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant