CN103383660A - 一种Android系统cache分区功能实现方法、装置及终端设备 - Google Patents
一种Android系统cache分区功能实现方法、装置及终端设备 Download PDFInfo
- Publication number
- CN103383660A CN103383660A CN201310111063XA CN201310111063A CN103383660A CN 103383660 A CN103383660 A CN 103383660A CN 201310111063X A CN201310111063X A CN 201310111063XA CN 201310111063 A CN201310111063 A CN 201310111063A CN 103383660 A CN103383660 A CN 103383660A
- Authority
- CN
- China
- Prior art keywords
- cache
- path
- subregion
- directory
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种Android系统cache分区功能实现方法、装置及终端设备,所述方法包括:将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;当访问路径为/cache目录路径时,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。使得当访问/cache目录路径时,其实就是访问所述某一分区的虚拟cache分区,所述虚拟cache分区可以实现cache分区的功能,即在所述某一分区实现cache分区的功能,并且可以灵活配置所述虚拟cache分区的大小,保证有足够空间实现cache分区的功能,实现最大程度的有效利用存储空间。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种Android系统cache分区功能实现方法、装置及终端设备。
背景技术
现有支持Android系统的终端设备上,通常都存在一个cache分区,此分区用于应用程序临时存储一些过程文件,在应用程序退出后这些过程文件也就没用了,可以被随时清理。典型的用途是如下几个场景:
从比如google market上下载应用安装:安卓安装包(AndroidPackage,APK)会被先下载到cache分区,等APK下载完成后,启动安装,将APK安装到所述某一分区或者安全数码卡(secure digital memory card,sd)分区上。然后cache分区中的APK就没用了,可以被清理。这样的设计要求从google market上下载的APK不能大于cache分区大小(其实考虑到cache分区上的文件系统自身开销,往往是要求APK不能大于cache分区90%左右的大小)。
空中升级(Over-the-Air Technology,OTA):升级文件会先下载到cache分区中,等下载完成后,启动移动终端内部的升级模块进行升级,同样,要求升级包不能超过cache分区大小。
由此可见,在终端设备正常使用的大部分情况下,cache分区其实是没有被占用的。但为了保证APK能正常下载安装以及OTA升级功能等功能正常实现,cache分区还必须划分一个比较大的存储空间。尤其是在终端设备已经开始进入4G的时代背景下,几百兆甚至上G的应用将比比皆是,cache分区如何满足这样大文件的下载就成了一个问题。
因此,现有技术中对于Android系统的终端设备中的cache分区大小固定,使用不方便,使得划分较大的cache分区会浪费很多存储空间,划分较小的cache分区又可能导致大的APK等无法下载安装等的问题。
发明内容
本发明实施例提供了一种Android系统cache分区功能实现方法,旨在解决现有技术中对于Android系统的终端设备中的cache分区大小固定,使用不方便的问题。
为了实现上述目的,本发明实施例提供如下技术方案:
本发明第一方面提供了一种Android系统cache分区功能实现方法,所述方法包括:
将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;
当访问路径为/cache目录路径时,通过所述fusefuse,将所述/cache目录路径映射到所述第一子目录路径。
在第一方面的第一种可能的实现方式中,在访问/cache目录路径前,所述方法还包括:接收下载应用程序到所述/cache目录的指令;
所述将所述/cache目录路径映射到所述第一子目录路径之后,所述方法还包括:将所述应用程序下载到所述第一子目录下
本发明第二方面提供了一种Android系统cache分区功能实现方法,所述方法包括:
将所述系统下的/cache目录和某一分区预先创建的第一子目录路径关联到用户空间文件系统fuse中,以形成对应的路径;
当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fusefuse,将所述/cache目录路径映射到所述第一子目录路径。
在第二方面的第一种可能的实现方式中,在访问/cache目录路径前,所述方法还包括:接收下载应用程序到所述/cache目录的指令;
所述将所述/cache目录路径映射到所述第一子目录路径之后,所述方法还包括:将所述应用程序下载到所述第一子目录下。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,当访问路径为/cache目录路径时,若所述某一分区的可用空间小于一预设阈值,则根据预设的处理方式进行处理。
在第二方面的第三种可能的实现方式中,所述根据预设的处理方式进行处理具体为:
取消将所述/cache目录和所述第一子目录路径关联到fusefuse,将一预留分区挂载为cache分区,其中,所述预留分区为预留的独立于所述某一分区的存储空间;
或者输出所述某一分区的存储空间不足的提示信息,以便根据用户的清理操作指令,对所述某一分区的存储空间进行清理;
或者对所述某一分区的存储空间进行清理。
结合第二方面或者第二方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述对所述某一分区的存储空间进行清理具体包括:
扫描并删除所述某一分区中的描述性文件;或者
将所述某一分区的文件移动至外置存储卡,并生成所述被移动的文件在所述某一分区的目录中的链接。
结合第二方面或者第二方面的上述任一种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:
将所述系统下的/sd目录和某一分区预先创建的第二子目录关联到用户空间文件系统fuse中;
当访问路径为/sd目录路径时,通过所述fusefuse,将所述/sd目录路径映射到所述第二子目录路径。
本发明第三方面提供了一种Android系统cache分区功能实现装置,所述装置包括:
关联单元,用于将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;
路径映射单元,用于当访问路径为/cache目录路径时,通过所述fusefuse,将所述/cache目录路径映射到所述第一子目录路径
在第三方面的第一种可能的实现方式中,所述装置还包括:
接收单元,用于接收下载应用程序到所述/cache目录的指令;以及
下载单元,用于将所述应用程序下载到所述第一子目录下。
本发明第四方面提供了一种Android系统cache分区功能实现装置,所述装置包括:
关联单元,用于将所述系统下的/cache目录和某一分区预先创建的第一子目录路径关联到用户空间文件系统fuse中,以形成对应的路径;
路径映射单元,用于当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fusefuse,将所述/cache目录路径映射到所述第一子目录路径。
在第四方面的第一种可能的实现方式中,所述装置还包括:
接收单元,用于接收下载应用程序到所述/cache目录的指令;以及
下载单元,用于将所述应用程序下载到所述第一子目录下。
结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
处理单元,用于当访问路径为/cache目录路径时,若所述某一分区的可用空间小于一预设阈值,则根据预设的处理方式进行处理。
在第四方面的第三种可能的实现方式中,所述处理单元包括:
挂载模块,用于取消将所述/cache目录和所述第一子目录路径关联到fusefuse,将一预留分区挂载为cache分区,其中,所述预留分区为预留的独立于所述某一分区的存储空间;
输出模块,用于输出所述某一分区的存储空间不足的提示信息,以便根据用户的清理操作指令,对所述某一分区的存储空间进行清理;
清理模块,用于对所述某一分区的存储空间进行清理。
结合第四方面或者第四方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述清理模块,具体用于扫描并删除所述某一分区中的描述性文件;或者将所述某一分区的文件移动至外置存储卡,并生成所述被移动的文件在所述某一分区的目录中的链接。
结合第四方面或者第四方面的上述任一种可能的实现方式,在第五种可能的实现方式中,所述关联单元,还用于将所述系统下的/sd目录和某一分区预先创建的第二子目录关联到用户空间文件系统fuse中;
所述路径映射单元,还用于当访问路径为/sd目录路径时,通过所述fusefuse,将所述/sd目录路径映射到所述第二子目录路径。
本发明第五方面提供了一种终端设备,所述终端设备包括上述Android系统cache分区功能实现装置。
本发明实施例将所述系统中的/cashe目录和某一分区预先创建的第一子目录路径关联到到fusefuse中,形成了对应的路径,当访问路径为/cache目录路径时,通过所述fusefuse,将所述/cache目录路径映射到所述第一子目录路径。使得当用访问/cache目录路径时,其实就是访问所述某一分区的虚拟cache分区,所述虚拟cache分区可以实现cache分区的功能,即在所述某一分区实现cache分区的功能,并且可以灵活配置所述虚拟cache分区的大小,保证有足够空间实现cache分区的功能,实现最大程度的有效利用存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的Android系统cache分区功能实现方法的实现的流程图;
图2是本发明实施例二提供的Android系统cache分区功能实现方法的实现的流程图;
图3是本发明实施例三提供的Android系统cache分区功能实现方法的实现的流程图;
图4是本发明实施例四提供的Android系统cache分区功能实现方法的实现的流程图;
图5是本发明实施例四提供的Android系统cache分区功能实现的实现示意图;
图6是本发明实施例五提供的分区融合的示意图;
图7是本发明实施例五提供的Android系统cache分区功能实现方法的实现的流程图;
图8是本发明实施例六提供的Android系统cache分区功能实现装置的结构图;
图9是本发明实施例六提供的Android系统cache分区功能实现装置的结构框图;
图10是本发明实施例七提供的Android系统cache分区功能实现装置的结构图;
图11是本发明实施例七提供的Android系统cache分区功能实现装置的结构框图;
图12是本发明实施例八提供的Android系统cache分区功能实现装置的硬件结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的Android系统cache分区功能实现方法的实现的流程图,详述如下:
在S101中,将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;
本实施例中,所述某一分区为Android系统中的任一分区,优选的,所述某一分区为data分区.
本实施例中,Android系统可以根据程序设置(不做限定),在所述某一分区预先创建第一子目录(例如,在data分区下创建virtualcashe子目录,即/data/virtualcache子目录)并将cache目录和预先创建的第一子目录,比如/data/virtualcache子目录关联到用户空间文件系统(Filesystem in Userspace,fuse),即fuse运行时,已经创建完成cache目录和第一子目录对应的路径。
其中,fuse是android系统下的一个用户空间的文件系统框架,通过fuse,可以在用户态实现文件系统,并且不需要特权用户的支持,用户空间库给使用者提供编程接口,例如,可以通过fusermount工具挂载用fuse实现的文件系统,因此,可以通过所述fuse对不同的路径形成映射,因此,可以通过fuse对/cache目录和某一分区预先创建的第一子目录进行关联,进而,当访问路径为/cache路径时,可以通过fuse,改变访问路径到第一子目录路径,从而在所述某一分区实现cache分区的功能。至于fuse从一个目录映射到另一个目录的原理,属于android系统已有,在此不再描述,但是不影响对本发明实施例的理解。
在S102中,当访问路径为/cache目录路径时,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
本实施例中,当访问路径为/cache目录路径时,通过所述fuse,将对所述/cache目录路径的访问转换为对所述第一子目录路径,比如/data/virtualcache子目录的访问,即在所述某一分区,比如data分区形成虚拟的cache分区,通过所述虚拟的cache分区实现cache分区的功能。此时,物理上的cashe分区可以不存在了,不过虽然物理上的cashe分区不存在,但android的访问机制未变,即/cashe目录路径还存在,android还是会按照现有访问机制访问/cashe目录路径,只是经过上述介绍的映射,会访问到某一分区下的第一目录下,比如/data/virtualcache子目录。
本实施例中,将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径,当访问路径为/cache目录路径时,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。使得当访问/cache目录路径时,其实就是访问所述某一分区的虚拟cache分区,所述虚拟cache分区可以实现cache分区的功能,即在所述某一分区实现cache分区的功能,从而做到cache分区和所述某一分区融合,共享存储空间,由于可以根据需要在所述某一分区中分出一区域实现cache分区的功能,并且可以灵活配置所述区域的大小,保证有足够空间实现cache分区的功能,实现最大程度的有效利用存储空间。
实施例二
本实施例在实施例一的基础上,提供了在cache分区和所述某一分区融合后,下载应用的过程,图2示出了本发明实施例二提供的Android系统cache分区功能实现方法的实现的流程图,详述如下:
在S201中,将所述系统下的/cache目录和某一分区预先创建的第一子目录路径关联到用户空间文件系统fuse中,以形成对应的路径;
在S202中,接收下载应用程序到所述/cache目录的指令;
本实施例中,应用程序可以包括APK,或者升级文件等接收下载应用程序到所述/cache目录的指令后,执行S203。
在S203中,当访问路径为/cache目录路径时,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
在S204中,将所述应用程序下载到所述第一子目录下。
本实施例中,当接收下载应用程序到所述/cache目录的指令,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径,将所述应用程序下载到所述第一子目录下,使得当访问/cache目录路径时,其实就是访问所述某一分区,即通过所述某一分区实现cache分区的功能。
实施例三
本实施例在实施例一的基础上,提供了在cache分区和所述某一分区融合后,如何进一步保证有足够的空间实现cache分区的功能,图3示出了本发明实施例三提供的Android系统cache分区功能实现方法的实现的流程图,详述如下:
在S301中,将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径。
在S302中,当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
本实施例中,所述一预设阈值可以根据实际情况进行设置,在此不用以限制本发明。
本实施例中,将所述系统下的/cache目录和某一分区预先创建的第一子目录路径关联到用户空间文件系统fuse中,以形成对应的路径,当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。使得当访问/cache目录路径时,其实就是访问所述某一分区,即通过所述某一分区实现cache分区的功能,从而做到cache分区和所述某一分区融合,共享存储空间,由于可以根据需要在所述某一分区中分出一区域实现cache分区的功能,并且可以灵活配置所述区域的大小,保证有足够空间实现cache分区的功能,实现最大程度的有效利用存储空间,进一步地,由于仅在所述某一分区的可用空间大于或等于一预设阈值,才将对/cache的访问转换为对某一分区预先创建的第一子目录的访问,充分保证了映射的有效性,不会出现存储空间不够的情况。
实施例四
本实施例在实施例三的基础上,提供了在cache分区和所述某一分区融合后,下载应用的过程,图4示出了本发明实施例四提供的Android系统cache分区功能实现方法的实现的流程图,详述如下:
在S401中,将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径。
在S402中,接收下载应用程序到所述/cache目录的指令;
本实施例中,当接收下载应用程序到所述/cache目录的指令后,执行S403。
在S403中,当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
本实施例中,根据所述下载指令,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
在S404中,将所述应用程序下载到所述第一子目录下。
通过上述的描述可知,由于仅在所述某一分区的可用空间大于或等于一预设阈值,才将对/cache的访问转换为对某一分区预先创建的第一子目录的访问,从而保证了下载的有效性,不会出现存储空间不够而无法下载的情况。
本实施例中,当访问路径为/cache目录时,若所述某一分区的可用空间小于一预设阈值,则根据预设的处理方式进行处理,具体处理可以采用以下方式:其中,此处的“一预设阈值”与步骤403中的“一预设阈值”可以为相同的值,也可以不同,完全可以根据实际确定。本领域技术人员可以知晓,不仅是本实施例,其他实施例也适用。
方式一:取消将所述/cache目录和所述第一子目录路径关联到fuse,将一预留分区挂载为cache分区,其中,所述预留分区为预留的独立于所述某一分区的存储空间。
其中,挂载是将一个文件分区对应成一个路径,此处,预留分区挂载为cache分区后,其访问路径为/cache目录。
在本实施例中,如果其余虚拟分区过分占用所述某一分区而导致实现cache分区功能的空间过小时,应用程序(例如google market下载应用)可以不受影响,仍然可以正常工作。例如,用户在所述某一分区里面安装了一个很大的文件,过分占用了总的存储空间,导致实现cache分区功能可用的剩余空间过小,例如只有十几M,这样,可能用户就无法从google market上下载超过这个大小的APK并安装了。本实施例通过预留一个最小保证存储空间(例如50M),以此空间大小足以满足应用下载等需求,保证用户绝大部分情况都可以毫无额外操作需要的使用终端设备。
为了便于理解以下以一个示例进行说明,采用前面介绍的data分区,/data/virtual目录为示例,但不以此示例的情况为限:预留独立于data分区的存储空间预留分区,假设所述预留分区大小为50M,正常情况下(data分区有超过50M的可用空间),通过data分区实现cache分区的功能,而当系统发现data分区可用空间已经小于50M门限的时候,卸载所述虚拟的cache分区,将预留分区挂载成cache分区,请参阅图5。
方式二:输出所述某一分区的存储空间不足的提示信息,以便根据用户的清理操作指令,对所述某一分区的存储空间进行清理;
本实施方式是对上述方式一实现方法的改进,即如果用户需要使用一个更大的存储空间,例如,要从google market上下载一个数百M的应用程序,此时,预留分区也无法满足存储空间的需求,此时,通过可以通过提示用户参与进行存储空间的清理,以保证足够的存储空间。
本实施例中,可以在终端设备界面向用户输出警告信息存储空间不足的提示信息,以使用户及时处理存储空间中的冗余的文件信息。
方式三:对所述某一分区的存储空间进行清理。
本实施方式是对上述方式二实现方法的改进,进一步的,如果用户没有及时清理存储空间信息,但又要实现cache分区的功能,例如google market、OTA升级等,此时,可以在发现实现cache分区功能的存储空间不足以满足当前应用程序需要的时候,可以调用一个空间清理服务,完成存储空间的清理功能,从而保证足够的空间实现cache分区功能的存储。
本实施例中,对所述某一分区的存储空间进行清理可以为:扫描并删除所述某一分区中的描述性文件,其中,所述描述性文件可以包括文件系统日志文件、ANR等错误信息保存文件等;
本实施例中,对所述某一分区的存储空间进行清理还可以为:将所述某一分区的文件移动至外置存储卡,并生成所述被移动的文件在所述某一分区的目录中的链接。
其中,所述移动是指将所述某一分区中的文件移走,暂时不存储在所述某一分区,而存储在外置存储卡上。所述移动的所述某一分区的文件可以是所述某一分区全部或者部分文件,具体可以由用户预先设定可以移动文件,或者可以由系统根据预设条件确定可以移动的文件,例如,可以设定将时间在“XX年XX月”之前的文件移动至外置存储卡。
通过在所述某一分区保留所述文件的目录链接,可以使得当所述某一分区存储空间大于所述预设存储阈值时,根据所述链接,将所述文件从外置存储卡移回至所述某一分区,并且恢复到所述某一分区的原来位置,以保证对其它的应用程序对所述某一分区数据的正确访问。
本实施例中,当接收下载应用程序到所述cache分区的指令,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述访问路径映射到所述第一子目录路径,将所述应用程序下载到所述第一子目录下,使得当访问/cache目录路径时,其实就是访问所述某一分区,即通过所述某一分区实现cache分区的功能。进一步,当所述某一分区的可用空间小于或等于一预设阈值时,通过示例性的三种方式进行处理,从而保证正常使用,保证映射的有效性。
实施例五
本实施例在实施例一的基础上增加了另一种分区融合方式,将所述某一分区预先创建的第二子目录关联到fuse下,例如,将/data下的/data/virtualsd预置到fuse中,当访问路径为/sd目录时,通过所述fuse,将所述/sd路径映射到所述/data/virtualsd,此时,,访问/sd目录,和访问/data/virtualsd目录,其实都是在访问data分区,从而实现data分区和sd分区存储空间共享的目的,请参阅图6为本发明实施例中分区融合的示意图(其中采用前面的data分区,/data/virtualcashe目录以及/data/virtualsd目录示例),以下通过实施例进行说明,图7示出了本发明实施例五提供的Android系统cache分区功能实现方法的实现的流程图,详述如下:
在S701中,将所述系统下的/sd目录和某一分区预先创建的第二子目录关联到用户空间文件系统fuse中;
在S702中,当访问路径为/sd目录路径时,通过所述fuse,将所述/sd目录路径映射到所述第二子目录路径。
本实施例中,将所述系统下的/sd目录和某一分区预先创建的第二子目录关联到用户空间文件系统fuse中,当访问路径为/sd目录路径时,通过所述fuse,将所述/sd目录路径映射到所述第二子目录路径。使得当访问/sd目录路径时,其实就是访问所述某一分区的虚拟sd分区,所述虚拟sd分区可以实现sd分区的功能,即在所述某一分区实现sd分区的功能,从而做到sd分区和所述某一分区融合,共享存储空间,由于可以根据需要在所述某一分区中分出一区域实现sd分区的功能,并且可以灵活配置所述区域的大小,保证有足够空间实现sd分区的功能,实现最大程度的有效利用存储空间。
实施例六
图8示出了本发明实施例六提供的Android系统cache分区功能实现装置的结构图,为了便于说明,仅示出了与本发明实施例相关的部分,该装置可以是内置于终端设备中的软件单元、硬件单元或者软硬结合单元。
所述装置包括:关联单元81和路径映射单元82。
关联单元81,用于将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;
路径映射单元82,用于当访问路径为/cache目录路径时,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
可选的,如图9所述,所述装置还包括:
接收单元83,用于接收下载应用程序到所述/cache目录的指令;以及
下载单元84,用于将所述应用程序下载到所述第一子目录下。
实施例七
图10示出了本发明实施例七提供的Android系统cache分区功能实现装置的结构图,为了便于说明,仅示出了与本发明实施例相关的部分,该装置可以是内置于终端设备中的软件单元、硬件单元或者软硬结合单元。
所述装置包括:关联单元101和路径映射单元102。
关联单元101,用于将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;
路径映射单元102,用于当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
可选的,请参阅图11,所述装置还包括:
接收单元103,用于接收下载应用程序到所述/cache目录的指令;以及
下载单元104,用于将所述应用程序下载到所述第一子目录下。
可选的,所述装置还包括:
处理单元105,用于当访问路径为/cache目录路径时,若所述某一分区的可用空间小于一预设阈值,则根据预设的处理方式进行处理。
可选的,所述处理单元105包括:
挂载模块1051,用于取消将所述/cache目录和所述第一子目录路径关联到fuse,将一预留分区挂载为cache分区,其中,所述预留分区为预留的独立于所述某一分区的存储空间;
输出模块1052,用于输出所述某一分区的存储空间不足的提示信息,以便根据用户的清理操作指令,对所述某一分区的存储空间进行清理;
清理模块1053,用于对所述某一分区的存储空间进行清理。
可选的,所述清理模块1053,具体用于扫描并删除所述某一分区中的描述性文件;或者将所述某一分区的文件移动至外置存储卡,并生成所述被移动的文件在所述某一分区的目录中的链接。
可选的,所述关联单元101,还用于将所述系统下的/sd目录和某一分区预先创建的第二子目录关联到用户空间文件系统fuse中;
所述路径映射单元102,还用于当访问路径为/sd目录路径时,通过所述fuse,将所述/sd目录路径映射到所述第二子目录路径。
实施例八
图12示出了本发明实施例提供的Android系统cache分区调整装置的硬件结构框图,该装置可以位于终端设备中,为了便于说明,仅示出了与本实施例相关的部分。所述终端设备,可以包括手机,平板电脑等,在此不一一列举。
该装置包括处理器121、存储器122和总线123,其中,处理器121和存储器122通过总线123进行相互间的通信,存储器122用于存储程序,处理器1221用于执行存储器122中存储的程序,所述程序在被执行时,用于:
将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;
当访问路径为/cache目录路径时,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
可选的,所述方法还包括:在访问/cache目录路径前,所述方法还包括:接收下载应用程序到所述/cache目录的指令;
所述将所述/cache目录路径映射到所述第一子目录路径之后,所述方法还包括:将所述应用程序下载到所述第一子目录下。
所述程序在被执行时,还可以用于:
将所述系统下的/cache目录和某一分区预先创建的第一子目录路径关联到用户空间文件系统fuse中,以形成对应的路径;
当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
可选的,在访问/cache目录路径前,所述方法还包括:接收下载应用程序到所述/cache目录的指令;
所述将所述/cache目录路径映射到所述第一子目录路径之后,所述方法还包括:将所述应用程序下载到所述第一子目录下。
可选的,当访问路径为/cache目录路径时,若所述某一分区的可用空间小于一预设阈值,则根据预设的处理方式进行处理。
可选的,所述根据预设的处理方式进行处理具体为:
取消将所述/cache目录和所述第一子目录路径关联到fuse,将一预留分区挂载为cache分区,其中,所述预留分区为预留的独立于所述某一分区的存储空间;
或者输出所述某一分区的存储空间不足的提示信息,以便根据用户的清理操作指令,对所述某一分区的存储空间进行清理;
或者对所述某一分区的存储空间进行清理。
可选的,所述对所述某一分区的存储空间进行清理具体包括:
扫描并删除所述某一分区中的描述性文件;或者
将所述某一分区的文件移动至外置存储卡,并生成所述被移动的文件在所述某一分区的目录中的链接。
实施例六至实施例八涉及的任一装置和终端,用于实现实施例一至实施例五任一介绍的方法,类似的地方不再赘述。
值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种Android系统cache分区功能实现方法,其特征在于,所述方法包括:
将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;
当访问路径为/cache目录路径时,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
2.如权利要求1所述的方法,其特征在于,在访问/cache目录路径前,所述方法还包括:接收下载应用程序到所述/cache目录的指令;
所述将所述/cache目录路径映射到所述第一子目录路径之后,所述方法还包括:将所述应用程序下载到所述第一子目录下。
3.一种Android系统的cache分区功能实现方法,其特征在于,所述方法包括:
将所述系统下的/cache目录和某一分区预先创建的第一子目录路径关联到用户空间文件系统fuse中,以形成对应的路径;
当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
4.如权利要求3所述的方法,其特征在于,在访问/cache目录路径前,所述方法还包括:接收下载应用程序到所述/cache目录的指令;
所述将所述/cache目录路径映射到所述第一子目录路径之后,所述方法还包括:将所述应用程序下载到所述第一子目录下。
5.如权利要求3或4所述的方法,其特征在于,当访问路径为/cache目录路径时,若所述某一分区的可用空间小于一预设阈值,则根据预设的处理方式进行处理。
6.如权利要求5所述的方法,其特征在于,所述根据预设的处理方式进行处理具体为:
取消将所述/cache目录和所述第一子目录路径关联到fuse,将一预留分区挂载为cache分区,其中,所述预留分区为预留的独立于所述某一分区的存储空间;
或者输出所述某一分区的存储空间不足的提示信息,以便根据用户的清理操作指令,对所述某一分区的存储空间进行清理;
或者对所述某一分区的存储空间进行清理。
7.如权利要求6所述的方法,其特征在于,所述对所述某一分区的存储空间进行清理具体包括:
扫描并删除所述某一分区中的描述性文件;或者
将所述某一分区的文件移动至外置存储卡,并生成所述被移动的文件在所述某一分区的目录中的链接。
8.如权利要求1-7任一权利要求所述的方法,其特征在于,所述方法还包括:
将所述系统下的/sd目录和某一分区预先创建的第二子目录关联到用户空间文件系统fuse中;
当访问路径为/sd目录路径时,通过所述fuse,将所述/sd目录路径映射到所述第二子目录路径。
9.一种Android系统cache分区功能实现装置,其特征在于,所述装置包括:
关联单元,用于将所述系统下的/cache目录和某一分区预先创建的第一子目录关联到用户空间文件系统fuse中,以形成对应的路径;
路径映射单元,用于当访问路径为/cache目录路径时,通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收下载应用程序到所述/cache目录的指令;以及
下载单元,用于将所述应用程序下载到所述第一子目录下。
11.一种Android系统cache分区功能实现装置,其特征在于,所述装置包括:
关联单元,用于将所述系统下的/cache目录和某一分区预先创建的第一子目录路径关联到用户空间文件系统fuse中,以形成对应的路径;
路径映射单元,用于当访问路径为/cache目录路径时,若所述某一分区的可用空间大于或等于一预设阈值,则通过所述fuse,将所述/cache目录路径映射到所述第一子目录路径。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收下载应用程序到所述/cache目录的指令;以及
下载单元,用于将所述应用程序下载到所述第一子目录下。
13.如权利要求11或12所述的装置,其特征在于,所述装置还包括:
处理单元,用于当访问路径为/cache目录路径时,若所述某一分区的可用空间小于一预设阈值,则根据预设的处理方式进行处理。
14.如权利要求13所述的装置,其特征在于,所述处理单元包括:
挂载模块,用于取消将所述/cache目录和所述第一子目录路径关联到fuse,将一预留分区挂载为cache分区,其中,所述预留分区为预留的独立于所述某一分区的存储空间;
输出模块,用于输出所述某一分区的存储空间不足的提示信息,以便根据用户的清理操作指令,对所述某一分区的存储空间进行清理;
清理模块,用于对所述某一分区的存储空间进行清理。
15.如权利要求14所述的装置,其特征在于,所述清理模块,具体用于扫描并删除所述某一分区中的描述性文件;或者将所述某一分区的文件移动至外置存储卡,并生成所述被移动的文件在所述某一分区的目录中的链接。
16.如权利要求9至15任一权利要求所述的装置,其特征在于,
所述关联单元,还用于将所述系统下的/sd目录和某一分区预先创建的第二子目录关联到用户空间文件系统fuse中;
所述路径映射单元,还用于当访问路径为/sd目录路径时,通过所述fuse,将所述/sd目录路径映射到所述第二子目录路径。
17.一种终端设备,其特征在于,所述终端设备包括权利要求9至16任一权利要求所述的Android系统cache分区功能实现装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310111063XA CN103383660A (zh) | 2013-04-01 | 2013-04-01 | 一种Android系统cache分区功能实现方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310111063XA CN103383660A (zh) | 2013-04-01 | 2013-04-01 | 一种Android系统cache分区功能实现方法、装置及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103383660A true CN103383660A (zh) | 2013-11-06 |
Family
ID=49491458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310111063XA Pending CN103383660A (zh) | 2013-04-01 | 2013-04-01 | 一种Android系统cache分区功能实现方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103383660A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239511A (zh) * | 2014-09-15 | 2014-12-24 | 西安交通大学 | 一种面向MongoDB的用户空间文件系统实现方法 |
CN104408053A (zh) * | 2014-10-29 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 一种移动终端存储卡扩展方法 |
WO2016045101A1 (zh) * | 2014-09-26 | 2016-03-31 | 宇龙计算机通信科技(深圳)有限公司 | 操作系统分区的保护方法、保护装置和终端 |
CN105573770A (zh) * | 2014-10-14 | 2016-05-11 | 腾讯科技(深圳)有限公司 | 应用程序下载安装方法及装置 |
CN105653467A (zh) * | 2015-05-21 | 2016-06-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种存储空间分配方法及装置 |
CN105975567A (zh) * | 2016-05-03 | 2016-09-28 | 青岛海信移动通信技术股份有限公司 | 一种应用程序的内部文件的处理方法及装置 |
WO2016188200A1 (zh) * | 2015-10-19 | 2016-12-01 | 中兴通讯股份有限公司 | 一种实现分区切换的方法及装置 |
CN106202109A (zh) * | 2015-05-07 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种创建用户分区的方法和装置 |
CN106528249A (zh) * | 2016-11-30 | 2017-03-22 | 北京小米移动软件有限公司 | 升级包的存储方法、装置及终端 |
CN107291394A (zh) * | 2017-06-27 | 2017-10-24 | 北京小米移动软件有限公司 | 存储空间预留方法及装置 |
CN108196899A (zh) * | 2017-12-07 | 2018-06-22 | 青岛海信移动通信技术股份有限公司 | 一种多用户的创建的方法及装置 |
CN110543369A (zh) * | 2019-09-11 | 2019-12-06 | 国美视界(北京)科技有限公司 | 一种安卓系统存储空间结构的构建方法、装置及其构建结构 |
CN111258503A (zh) * | 2020-01-15 | 2020-06-09 | 广州广哈通信股份有限公司 | 一种cirros文件系统的管理方法和装置 |
CN112445414A (zh) * | 2019-08-30 | 2021-03-05 | 青岛海信移动通信技术股份有限公司 | 数据处理方法及装置 |
CN117349236A (zh) * | 2023-12-04 | 2024-01-05 | 深圳市科力锐科技有限公司 | 文件读取方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783081A (zh) * | 2004-11-30 | 2006-06-07 | 微软公司 | 在本地缓存远程文件的方法和系统 |
CN101902502A (zh) * | 2010-08-08 | 2010-12-01 | 北京大学 | 一种基于Android的透明数据存储方法和系统 |
US20120331308A1 (en) * | 2011-06-22 | 2012-12-27 | Media Patents, S.L. | Methods, apparatus and systems to improve security in computer systems |
-
2013
- 2013-04-01 CN CN201310111063XA patent/CN103383660A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783081A (zh) * | 2004-11-30 | 2006-06-07 | 微软公司 | 在本地缓存远程文件的方法和系统 |
CN101902502A (zh) * | 2010-08-08 | 2010-12-01 | 北京大学 | 一种基于Android的透明数据存储方法和系统 |
US20120331308A1 (en) * | 2011-06-22 | 2012-12-27 | Media Patents, S.L. | Methods, apparatus and systems to improve security in computer systems |
Non-Patent Citations (1)
Title |
---|
USER26062: "How can I symlink the /cache folder on boot?", 《ANDROID ENTHUSIASTS STACK EXCHANGE》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239511A (zh) * | 2014-09-15 | 2014-12-24 | 西安交通大学 | 一种面向MongoDB的用户空间文件系统实现方法 |
CN104239511B (zh) * | 2014-09-15 | 2016-03-30 | 西安交通大学 | 一种面向MongoDB的用户空间文件系统实现方法 |
WO2016045101A1 (zh) * | 2014-09-26 | 2016-03-31 | 宇龙计算机通信科技(深圳)有限公司 | 操作系统分区的保护方法、保护装置和终端 |
CN105573770A (zh) * | 2014-10-14 | 2016-05-11 | 腾讯科技(深圳)有限公司 | 应用程序下载安装方法及装置 |
CN105573770B (zh) * | 2014-10-14 | 2021-02-05 | 腾讯科技(深圳)有限公司 | 应用程序下载安装方法及装置 |
CN104408053A (zh) * | 2014-10-29 | 2015-03-11 | 上海斐讯数据通信技术有限公司 | 一种移动终端存储卡扩展方法 |
CN106202109A (zh) * | 2015-05-07 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种创建用户分区的方法和装置 |
CN105653467A (zh) * | 2015-05-21 | 2016-06-08 | 宇龙计算机通信科技(深圳)有限公司 | 一种存储空间分配方法及装置 |
WO2016188200A1 (zh) * | 2015-10-19 | 2016-12-01 | 中兴通讯股份有限公司 | 一种实现分区切换的方法及装置 |
CN105975567A (zh) * | 2016-05-03 | 2016-09-28 | 青岛海信移动通信技术股份有限公司 | 一种应用程序的内部文件的处理方法及装置 |
CN105975567B (zh) * | 2016-05-03 | 2019-12-20 | 青岛海信移动通信技术股份有限公司 | 一种应用程序的内部文件的处理方法及装置 |
CN106528249A (zh) * | 2016-11-30 | 2017-03-22 | 北京小米移动软件有限公司 | 升级包的存储方法、装置及终端 |
CN106528249B (zh) * | 2016-11-30 | 2019-10-25 | 北京小米移动软件有限公司 | 升级包的存储方法、装置及终端 |
CN107291394A (zh) * | 2017-06-27 | 2017-10-24 | 北京小米移动软件有限公司 | 存储空间预留方法及装置 |
CN108196899A (zh) * | 2017-12-07 | 2018-06-22 | 青岛海信移动通信技术股份有限公司 | 一种多用户的创建的方法及装置 |
CN108196899B (zh) * | 2017-12-07 | 2021-04-13 | 青岛海信移动通信技术股份有限公司 | 一种多用户的创建的方法及装置 |
CN112445414A (zh) * | 2019-08-30 | 2021-03-05 | 青岛海信移动通信技术股份有限公司 | 数据处理方法及装置 |
CN112445414B (zh) * | 2019-08-30 | 2023-02-03 | 青岛海信移动通信技术股份有限公司 | 数据处理方法及装置 |
CN110543369A (zh) * | 2019-09-11 | 2019-12-06 | 国美视界(北京)科技有限公司 | 一种安卓系统存储空间结构的构建方法、装置及其构建结构 |
CN111258503A (zh) * | 2020-01-15 | 2020-06-09 | 广州广哈通信股份有限公司 | 一种cirros文件系统的管理方法和装置 |
CN111258503B (zh) * | 2020-01-15 | 2024-04-05 | 广州广哈通信股份有限公司 | 一种cirros文件系统的管理方法和装置 |
CN117349236A (zh) * | 2023-12-04 | 2024-01-05 | 深圳市科力锐科技有限公司 | 文件读取方法、装置、设备及存储介质 |
CN117349236B (zh) * | 2023-12-04 | 2024-03-29 | 深圳市科力锐科技有限公司 | 文件读取方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103383660A (zh) | 一种Android系统cache分区功能实现方法、装置及终端设备 | |
KR102050725B1 (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 | |
CN109213696B (zh) | 用于缓存管理的方法和设备 | |
US20120089797A1 (en) | Computer system, storage management computer, and storage management method | |
US20160124843A1 (en) | Memory system and non-transitory computer readable recording medium | |
KR102077149B1 (ko) | 메모리 관리 방법 및 장치 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
CN106302609B (zh) | 一种访问方法及装置 | |
US20120151125A1 (en) | Data processing method for nonvolatile memory system | |
CN101627372A (zh) | 选择性地利用多个异类固态存储位置 | |
WO2017050064A1 (zh) | 共享内存数据库的内存管理方法及装置 | |
CN103677674A (zh) | 一种数据处理方法及装置 | |
CN111198777A (zh) | 数据处理方法、装置、终端及存储介质 | |
US10803109B2 (en) | Method and device for reading and writing video data in NAS device | |
CN105095103A (zh) | 用于云环境下的存储设备管理方法和装置 | |
CN109062823A (zh) | 使用大页内存提升基于申威架构的设备性能的方法及装置 | |
CN104517067A (zh) | 访问数据的方法、装置及系统 | |
CN103870762A (zh) | 分区访问方法和电子设备 | |
CN104268097A (zh) | 一种元数据处理方法及系统 | |
CN104021022A (zh) | 一种分区调整方法及电子设备 | |
CN111857557A (zh) | Raid类型转换的方法、设备和计算机程序产品 | |
US9317420B2 (en) | Computer program installation across multiple memories | |
CN110941436B (zh) | 应用程序的数据存储方法、装置、存储介质与终端设备 | |
CN109408226A (zh) | 数据处理方法、装置及终端设备 | |
KR20150139017A (ko) | 메모리 제어 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into 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: 20131106 |