手机系统运行状态下动态切换lz4压缩算法类型的方法技术方案

技术编号:22054944 阅读:60 留言:0更新日期:2019-09-07 15:08
本发明专利技术公开了手机系统运行状态下动态切换lz4压缩算法类型的方法,步骤如下:在Android平台上需要对文件进行压缩时,计算当前cpu的占用率;获取了当前空闲RAM的大小;根据当前空闲RAM的大小动态设置压缩过程中块的大小;根据当前cpu的占用率动态选择lz4压缩算法的类型:若当前cpu占用率高于既定阈值,选择lz4普通压缩算法,否则,选择lz4高压缩率算法。通过本发明专利技术的方法,能在Android系统或应用对文件进行压缩时,高效利用CPU资源,合理使用内存,节约用户存储空间,提高Android系统运行流畅度。

A Method of Dynamic Switching lz4 Compression Algorithms in Mobile Phone System

【技术实现步骤摘要】
手机系统运行状态下动态切换lz4压缩算法类型的方法
本专利技术涉及软件压缩
,尤其涉及手机系统运行状态下动态切换lz4压缩算法类型的方法。
技术介绍
文件的压缩是一个比较占用CPU资源和内存的操作。目前,大多数Android应用在压缩文件时不考虑当前CPU的负载和内存的占用,调用固定的压缩接口进行压缩,如果此时用户的Android设备CPU占用率比较高,采取这样的压缩方式会影响系统运行流畅度。Lz4算法提供了两个设置压缩过程中,块的大小的接口:LZ4_setBlockSizeID(unsignedbsid)和LZ4_setBlockSize(size_tblockSize)。可设置的大小为64K,256K,1MB,4MB。在压缩文件时,获取当前空闲RAM的大小,如果远大于4MB,则设置压缩时,块的大小为4MB;否则,根据其具体值在64K,256K,1MB中选择一个合适值作为压缩时块的大小。Lz4压缩算法提供了两个压缩接口:普通压缩和高压缩率压缩。高压缩率压缩牺牲CPU占用时间来获得更高的压缩率。当Android应用需要进行文件压缩操作时,获取当前CPU占用率,若CPU占用率高于既定阈值(60%),选取lz4普通压缩,压缩操作不会过多占用CPU时间,避免影响用户的其他操作,造成不良的使用体验;若CPU占用率低于既定阈值(60%),选择lz4高压缩率压缩,压缩后的文件大小更小,节约存储空间。目前对如何在Android平台上高效地对文件进行压缩,提高系统运行效率,合理使用内存,节约用户存储空间,提高系统运行流畅度还没有相应的方法。
技术实现思路
针对上述问题,本专利技术提出了手机系统运行状态下动态切换lz4压缩算法类型的方法,在Android平台上高效地对文件进行压缩,提高系统运行效率,合理使用内存,节约用户存储空间,提高系统运行流畅度。本专利技术通过以下技术方案来实现上述目的:手机系统运行状态下动态切换lz4压缩算法类型的方法,步骤如下:在Android平台上需要对文件进行压缩时,计算当前cpu的占用率;获取了当前空闲RAM的大小;根据当前空闲RAM的大小动态设置压缩过程中块的大小;根据当前cpu的占用率动态选择lz4压缩算法的类型:若当前cpu占用率高于既定阈值,选择lz4普通压缩算法,否则,选择lz4高压缩率算法。进一步方案为,具体步骤如下:读取解析/proc/meminfo文件的内容,得到空闲RAM的大小为:totalFree=memFree+cached;若totalFree远大于4MB,则设置压缩过程中块的大小为4MB,否则,根据totalFree的具体值在64K,256K,1M中选择一个合适值作为压缩过程中块的大小;/proc/stat文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻;CPU占用率的计算方法为:①采样两个时间间隔的CPU快照,分别记为t1,t2:其中t1,t2的结构为(user,nice,system,idle,iowait,irq,softirq,stealstolen,gust)的九元组;②计算CPU时间片total:把第一次CPU使用情况求和,得到s1;把第二次CPU使用情况求和,得到s2,则s2-s1为此时间间隔内的所有时间片,即total=s2-s1;③计算CPU空闲时间idle:idle对应元组中第四列的数据:idle=idle1-idle2;④计算CPU占用率cpu_occupation:cpu_occupation=100%*(total-idle)/total;若当前CPU占用率高于既定阈值,调用124普通压缩算法,否则,调用lz4高压缩率压缩算法。进一步方案为,所述时间间隔为1ms。进一步方案为,所述既定阈值为60%。本专利技术的有益效果在于:本专利技术提出了手机系统运行状态下动态切换lz4压缩算法类型的方法,通过本专利技术的方法,能在Android系统或应用对文件进行压缩时,高效利用CPU资源,合理使用内存,节约用户存储空间,提高Android系统运行流畅度。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是计算CPU占用率流程示意图;图2是动态切换lz4算法流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。在任一实施例中,如图1-2所示,本专利技术的手机系统运行状态下动态切换lz4压缩算法类型的方法,步骤如下:在Android平台上需要对文件进行压缩时,计算当前cpu的占用率;获取了当前空闲RAM的大小;根据当前空闲RAM的大小动态设置压缩过程中块的大小;根据当前cpu的占用率动态选择lz4压缩算法的类型:若当前cpu占用率高于既定阈值,选择lz4普通压缩算法,否则,选择lz4高压缩率算法。在一个具体实施例中,如图1-2所示,本专利技术的手机系统运行状态下动态切换lz4压缩算法类型的方法,具体步骤如下:读取解析/proc/meminfo文件的内容,得到空闲RAM的大小为:totalFree=memFree+cached;若totalFree远大于4MB,则设置压缩过程中块的大小为4MB,否则,根据totalFree的具体值在64K,256K,1M中选择一个合适值作为压缩过程中块的大小;/proc/stat文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻;CPU占用率的计算方法为:①采样两个时间间隔的CPU快照,分别记为t1,t2:其中t1,t2的结构为(user,nice,system,idle,iowait,irq,softirq,stealstolen,gust)的九元组;所述时间间隔为1ms。②计算CPU时间片total:把第一次CPU使用情况求和,得到s1;把第二次CPU使用情况求和,得到s2,则s2-s1为此时间间隔内的所有时间片,即total=s2-s1;③计算CPU空闲时间idle:idle对应元组中第四列的数据:idle=idlel-idle2;④计算CPU占用率cpu_occupation:cpu_occupation=100%*(total-idle)/total;若当前CPU占用率高于既定阈值,所述既定阈值为60%,调用lz4普通压缩算法,否则,调用lz4高压缩率压缩算法。以上所述,仅为本专利技术的具体实施方式,但本专利技术的保护范围并不局限于此,任何熟悉本
的技术人员在本专利技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本专利技术的保护范围之内。在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本专利技术对各种可能的组合方式不再另行说明。本专利技术的各种不同的实施方式之间也可以进行任意组本文档来自技高网
...

【技术保护点】
1.手机系统运行状态下动态切换1z4压缩算法类型的方法,其特征在于,步骤如下:在Android平台上需要对文件进行压缩时,计算当前cpu的占用率;获取了当前空闲RAM的大小;根据当前空闲RAM的大小动态设置压缩过程中块的大小;根据当前cpu的占用率动态选择lz4压缩算法的类型:若当前cpu占用率高于既定阈值,选择1z4普通压缩算法,否则,选择1z4高压缩率算法。

【技术特征摘要】
1.手机系统运行状态下动态切换1z4压缩算法类型的方法,其特征在于,步骤如下:在Android平台上需要对文件进行压缩时,计算当前cpu的占用率;获取了当前空闲RAM的大小;根据当前空闲RAM的大小动态设置压缩过程中块的大小;根据当前cpu的占用率动态选择lz4压缩算法的类型:若当前cpu占用率高于既定阈值,选择1z4普通压缩算法,否则,选择1z4高压缩率算法。2.如权利要求1所述手机系统运行状态下动态切换1z4压缩算法类型的方法,其特征在于,具体步骤如下:读取解析/proc/meminfo文件的内容,得到空闲RAM的大小为:totalFree=memFree+cached;若totalFree远大于4MB,则设置压缩过程中块的大小为4MB,否则,根据totalFree的具体值在64K,256K,1M中选择一个合适值作为压缩过程中块的大小;/proc/stat文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻;CPU占用率的计算方法为:①采样两个时...

【专利技术属性】
技术研发人员:陈新
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1