一种基于用户空间文件系统的移动终端定制化方法及系统的制作方法

文档序号:6511449阅读:153来源:国知局
一种基于用户空间文件系统的移动终端定制化方法及系统的制作方法
【专利摘要】本发明公开一种基于用户空间文件系统的移动终端定制化方法及系统,其中,方法包括步骤:在根目录下建立系统分区目录,将系统分区挂载到系统分区目录;在根目录下建立与系统分区的目录层级结构一致的定制化分区目录,将定制化分区挂载到定制化分区目录;通过用户空间文件系统的后台守护程序来中转用户程序对系统分区和定制化分区的操作,并根据建立的定制化分区目录和系统分区目录依次在定制化分区和系统分区中查找文件,若找到相应的文件,则执行用户程序的操作。
【专利说明】一种基于用户空间文件系统的移动终端定制化方法及系统
【技术领域】
[0001]本发明涉及移动终端定制化【技术领域】,尤其涉及一种基于用户空间文件系统的移动终端定制化方法及系统。
【背景技术】
[0002]现有的以Android系统为代表的智能手机,经常会有定制化(Customize)的需求,即根据客户的需求修改定制化资源,如多媒体内容(颜色,声音,图片,字体等)、预装软件
坐寸ο
[0003]现有的定制化需求解决方法是:如图1所示,左边为原生Android系统,右边为现有方法的Android系统,其是在手机存储器上,特别划出一个定制化分区,用以存放定制化资源,并且利用专门的定制化小组负责定制此分区内容,以及生成相应的分区映像文件。
[0004]上述方法的优点是,可以将软件开发(软件逻辑方面,对应分区为系统分区)和定制化(资源方面,对应分区为定制化分区)两个任务剥离,并且由不同的小组来负责,这样可以提闻开发效率。
[0005]但现有方法的缺点也很明显:需要在Framework (框架)层(包括Java部分和C语言部分)修改代码,使之能够读取此定制化分区中的资源,尤其是在目前智能手机操作系统频繁升级的背景下,这个缺点更加明显,因为每次版本升级都需要重新修改代码,带来了较大的工作量和较高的风险。
[0006]因此,现有技术还有待于改进和发展。

【发明内容】

[0007]鉴于上述现有技术的不足,本发明的目的在于提供一种基于用户空间文件系统的移动终端定制化方法及系统,旨在解决现有的定制化实现方法在版本升级时工作量大、风险大的问题。
[0008]本发明的技术方案如下:
一种基于用户空间文件系统的移动终端定制化方法,其中,包括步骤:
A、在根目录下建立系统分区目录,将系统分区挂载到系统分区目录;
B、在根目录下建立与系统分区的目录层级结构一致的定制化分区目录,将定制化分区挂载到定制化分区目录;
C、通过用户空间文件系统的后台守护程序来中转用户程序对系统分区和定制化分区的操作,并根据建立的定制化分区目录和系统分区目录依次在定制化分区和系统分区中查找文件,若找到相应的文件,则执行用户程序的操作。
[0009]所述的基于用户空间文件系统的移动终端定制化方法,其中,所述步骤C具体包括:
Cl、通过用户空间文件系统的函数库的挂载API,将根目录下的系统目录设置为用户空间文件系统的挂载点; C2、通过用户空间文件系统的函数库的监听API监听内核请求;
C3、监听到内核请求后,对内核请求进行解析获得绝对路径;
C4、将绝对路径的挂载点去除获得分区内路径;
C5、根据分区内路径在定制化分区查找相应的文件,若查找到,则执行步骤C7,否则执行步骤C6 ;
C6、根据分区内路径在系统分区查找相应的文件,若查找到,则执行步骤C7,否则执行差错处理流程;
C7、根据内核请求对查找到的文件执行相应的操作。
[0010]所述的基于用户空间文件系统的移动终端定制化方法,其中,所述步骤Cl与C2之间,在内核收到用户程序的操作请求时,将操作请求转译为内核请求,并转发给后台守护程序。
[0011]所述的基于用户空间文件系统的移动终端定制化方法,其中,所述步骤C7之后还包括:
CS、通过用户空间文件系统的函数库的返回数据API,返回执行操作之后得到的文件数据给内核。
[0012]所述的基于用户空间文件系统的移动终端定制化方法,其中,所述步骤CS之后还包括:
C9、内核收到返回的文件数据后,将文件数据传送给用户程序。
[0013]一种基于用户空间文件系统的移动终端定制化系统,其中,包括:
系统分区挂载模块,用于在根目录下建立系统分区目录,将系统分区挂载到系统分区目录;
定制化分区挂载模块,用于在根目录下建立与系统分区的目录层级结构一致的定制化分区目录,将定制化分区挂载到定制化分区目录;
执行模块,用于通过用户空间文件系统的后台守护程序来中转用户程序对系统分区和定制化分区的操作,并根据建立的定制化分区目录和系统分区目录依次在定制化分区和系统分区中查找文件,若找到相应的文件,则执行用户程序的操作。
[0014]所述的基于用户空间文件系统的移动终端定制化系统,其中,所述执行模块包括:
挂载点设置单元,用于通过用户空间文件系统的函数库的挂载API,将根目录下的系统目录设置为用户空间文件系统的挂载点;
监听单元,用于通过用户空间文件系统的函数库的监听API监听内核请求;
解析单元,用于监听到内核请求后,对内核请求进行解析获得绝对路径;
挂载点去除单元,用于将绝对路径的挂载点去除获得分区内路径;
第一查找单元,用于根据分区内路径在定制化分区查找相应的文件;
第二查找单元,用于根据分区内路径在系统分区查找相应的文件;
执行单元,用于根据内核请求对查找到的文件执行相应的操作。
[0015]所述的基于用户空间文件系统的移动终端定制化系统,其中,所述执行模块还包括:
转发单元,用于在内核收到用户程序的操作请求时,将操作请求转译为内核请求,并转发给后台守护程序。
[0016]所述的基于用户空间文件系统的移动终端定制化系统,其中,所述执行模块还包括:
返回单元,用于通过用户空间文件系统的函数库的返回数据API,返回执行操作之后得到的文件数据给内核。
[0017]所述的基于用户空间文件系统的移动终端定制化系统,其中,所述执行模块还包括:
传送单元,用于内核收到返回的文件数据后,将文件数据传送给用户程序。
[0018]有益效果:本发明通过使用用户空间文件系统的后台守护程序,来中转用户程序对系统分区以及定制化分区的操作,并且在中转过程中,依次查找定制化分区和系统分区中是否存在用户程序需要的文件,从而实现将两个实际分区合成为一个逻辑分区的目的,实现了在不修改用户代码的前提下,分别访问两个分区,既能保证软件开发的简单可靠,又能兼顾定制化的方便快捷。
【专利附图】

【附图说明】
[0019]图1为现有技术中移动终端定制化方法的实现系统框图。
[0020]图2为本发明基于用户空间文件系统的移动终端定制化方法较佳实施例的流程图。
[0021]图3为本发明中移动终端定制化方法的实现系统框图。
[0022]图4为本发明基于用户空间文件系统的移动终端定制化系统较佳实施例的结构框图。
【具体实施方式】
[0023]本发明提供一种基于用户空间文件系统的移动终端定制化方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0024]请参阅图2,图2为本发明基于用户空间文件系统的移动终端定制化方法较佳实施例的流程图,如图所示,其包括:
5101、在根目录下建立系统分区目录,将系统分区挂载到系统分区目录;
5102、在根目录下建立与系统分区的目录层级结构一致的定制化分区目录,将定制化分区挂载到定制化分区目录;
5103、通过用户空间文件系统的后台守护程序来中转用户程序对系统分区和定制化分区的操作,并依次在定制化分区和系统分区中查找文件,若找到相应的文件,则执行用户程序的操作。
[0025]在步骤SlOl中,首先在根目录下建立系统分区目录(/MPS目录),将系统分区挂载到系统分区目录(/MPS目录),其中的挂载是指将相应的分区的目录结构,结合到Linux的系统目录结构上去的动作。
[0026]在步骤S102中,在根目录下建立定制化分区目录(/MPC目录),将定制化分区挂载到定制化分区目录,该定制化分区目录与系统分区目录的目录层级结构一致,其需要软件开发小组和定制化小组遵守相同的定义目录层级结构规范。
[0027]下面举例说明目录层级结构的一致:
假设客户的定制化需求是定制一部分手机壁纸,那么将手机壁纸分别放入到系统分区和定制化分区中,其绝对路径(从根目录开始,某一文件的路径)如下:/MPS/res/wallpaper/1.png (系统分区)
/MPC/res/wallpaper/cul.png (定制化分区)
他们对应的分区内路径(绝对路径去除挂载点之后的路径)为: res/wallpaper/1, png res/wallpaper/cul.png
从上可知,除了挂载点(MPS和MPC)以及具体文件名(*.png)之外,其余目录(包括分区中第一级目录res和第二级目录wallpaper)名称都一致,这样的两个分区的目录层级结构—致。
[0028]在步骤S103中,如图3所示,在两个实际分区(系统分区及定制化分区)部署FUSE(用户空间文件系统,完全在用户态实现的文件系统,Linux内核通过FUSE内核模块对此进行支持,用户层通过函数库Iibfuse来进行支持,Android系统是基于Linux的,所以也可以使用FUSE),用户程序的文件访问请求,会被FUSE内核模块,发送给用户空间文件系统的后台守护程序,在后台守护程序(FUSE后台守护程序)来转发用户的操作,并依次在定制化分区和系统分区中查找文件,若找到相应的文件,则执行用户程序的操作,实现定制化分区和系统分区的统一。
[0029]具体来说,步骤S103可具体细化为以下步骤:
S201、通过用户空间文件系统的函数库的挂载API,将根目录下的系统目录设置为用户空间文件系统的挂载点;该函数库为用户空间文件系统的libfuse,即用户空间文件系统的函数库,通过使用libfuse的挂载API将根目录下的/system目录设置为用户空间文件系统的挂载点,此时挂载点已经准备妥当。
[0030]S202、判断用户是否发起退出用户程序或者停止监听操作,若用户发起退出用户程序或者停止监听操作,则执行步骤S211,否则继续。
[0031]S203、通过用户空间文件系统的函数库的监听API监听内核请求;此时通过Iibfuse的监听API监听内核请求,当监听到内核请求时,则执行步骤S204,否则返回步骤S202继续判断。在内核接收到用户程序的操作请求时,会将操作请求转译为内核请求,并转发给后台守护程序。
[0032]S204、监听到内核请求后,对内核请求进行解析获得绝对路径;此处的绝对路径如:/MPS/res/wallpaper/1.png (系统分区),/MPC/res/wallpaper/cul.png (定制化分区)。
[0033]S205、将绝对路径的挂载点去除获得分区内路径;将上述的绝对路径去除挂载点之后得到的分区内路径为:res/wallpaper/l.png, res/wallpaper/cul.png。
[0034]S206、根据分区内路径在定制化分区(即定制化分区目录:/MPC目录)查找相应的文件,若查找到,则执行步骤S208,否则执行步骤S207 ;
S207、根据分区内路径在系统分区(即系统分区目录:/MPS目录)查找相应的文件,若查找到,则执行步骤S208,否则执行差错处理流程(即检查用户程序的请求或其他方面是否出错),并跳转至步骤S202。
[0035]S208、根据内核请求对查找到的文件执行相应的操作。此处的步骤是对查找的文件执行用户的操作,例如读文件、写文件、修改文件属性等等。
[0036]S209、通过用户空间文件系统的函数库的返回数据API,返回文件数据 S210、内核收到返回的文件数据或者操作结果后,解析文件数据传输给用户程序。
[0037]S211、流程结束。
[0038]下面通过一具体实施例来对本发明的流程进行说明。
[0039]S310、用户程序发起读操作(READ /system/res/wallpaper/1, png);
S31K FUSE内核模块收到读操作请求,并将此读操作请求转译为FUSE读操作请求发给后台守护程序;
5312、后台守护程序通过监听,得到FUSE读操作请求;
5313、后台守护程序解析FUSE读操作请求,得到绝对路径(/system/res/wallpaper/1, png);
5314、后台守护程序将绝对路径的挂载点去除,得到分区内路径(res/wallpaper/1,png);
5315、后台守护程序在定制化分区查找文件(FIND/MPC/res/wallpaper/1.png),结果为未找到;
5316、后台守护程序在定制化分区查找文件(FIND/MPC/res/wallpaper/1.png),结果为找到;
5317、后台守护程序读取文件(READ/MPS/res/wallpaper/1.png),将文件数据包含在FUSE返回数据内,使用FUSE返回数据的API发送给内核模块;
5318、FUSE内核模块收到FUSE返回数据,解析得到文件数据,将文件数据传送给用户程序;
5319、用户程序收到文件数据,读操作完成。
[0040]通过本发明的方法,实现了在不修改用户代码的前提下,即可实现分别访问两个分区,这在当前手机系统版本日新月异、用户需求经常变化的情况下,具有重要的意义,大大降低了工作量和风险,保证了软件开发的简单可靠,也兼顾了定制化的方便快捷。
[0041]基于上述方法,本发明还提供一种基于用户空间文件系统的移动终端定制化系统,如图4所示,其包括:
系统分区挂载模块100,用于在根目录下建立系统分区目录,将系统分区挂载到系统分区目录;
定制化分区挂载模块200,用于在根目录下建立与系统分区的目录层级结构一致的定制化分区目录,将定制化分区挂载到定制化分区目录;
执行模块300,用于通过用户空间文件系统的后台守护程序来中转用户程序对系统分区和定制化分区的操作,并根据建立的定制化分区目录和系统分区目录依次在定制化分区和系统分区中查找文件,若找到相应的文件,则执行用户程序的操作。
[0042]进一步,所述执行模块300包括:
挂载点设置单元,用于通过用户空间文件系统的函数库的挂载API,将根目录下的系统目录设置为用户空间文件系统的挂载点; 监听单元,用于通过用户空间文件系统的函数库的监听API监听内核请求;
解析单元,用于监听到内核请求后,对内核请求进行解析获得绝对路径;
挂载点去除单元,用于将绝对路径的挂载点去除获得分区内路径;
第一查找单元,用于根据分区内路径在定制化分区查找相应的文件;
第二查找单元,用于根据分区内路径在系统分区查找相应的文件;
执行单元,用于根据内核请求对查找到的文件执行相应的操作。
[0043]进一步,所述执行模块300还包括:
转发单元,用于在内核收到用户程序的操作请求时,将操作请求转译为内核请求,并转发给后台守护程序。
[0044]进一步,所述执行模块300还包括:
返回单元,用于通过用户空间文件系统的函数库的返回数据API,返回执行操作之后得到的文件数据给内核。
[0045]进一步,所述执行模块300还包括:
传送单元,用于内核收到返回的文件数据后,将文件数据传送给用户程序。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
[0046]综上所述,本发明通过使用用户空间文件系统的后台守护程序,来中转用户程序对系统分区以及定制化分区的操作,并且在中转过程中,依次查找定制化分区和系统分区中是否存在用户程序需要的文件,从而实现将两个实际分区合成为一个逻辑分区的目的,实现了在不修改用户代码的前提下,分别访问两个分区,既能保证软件开发的简单可靠,又能兼顾定制化的方便快捷。
[0047]应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【权利要求】
1.一种基于用户空间文件系统的移动终端定制化方法,其特征在于,包括步骤: A、在根目录下建立系统分区目录,将系统分区挂载到系统分区目录; B、在根目录下建立与系统分区的目录层级结构一致的定制化分区目录,将定制化分区挂载到定制化分区目录; C、通过用户空间文件系统的后台守护程序来中转用户程序对系统分区和定制化分区的操作,并根据建立的定制化分区目录和系统分区目录依次在定制化分区和系统分区中查找文件,若找到相应的文件,则执行用户程序的操作。
2.根据权利要求1所述的基于用户空间文件系统的移动终端定制化方法,其特征在于,所述步骤C具体包括: Cl、通过用户空间文件系统的函数库的挂载API,将根目录下的系统目录设置为用户空间文件系统的挂载点; C2、通过用户空间文件系统的函数库的监听API监听内核请求; C3、监听到内核请求后,对内核请求进行解析获得绝对路径; C4、将绝对路径的挂载点去除获得分区内路径; C5、根据分区内路径在定制化分区查找相应的文件,若查找到,则执行步骤C7,否则执行步骤C6 ; C6、根据分区内路径在系统分区查找相应的文件,若查找到,则执行步骤C7,否则执行差错处理流程; C7、根据内核请求对查找到的文件执行相应的操作。
3.根据权利要求2所述的基于用户空间文件系统的移动终端定制化方法,其特征在于,所述步骤Cl与C2之间,在内核收到用户程序的操作请求时,将操作请求转译为内核请求,并转发给后台守护程序。
4.根据权利要求2所述的基于用户空间文件系统的移动终端定制化方法,其特征在于,所述步骤C7之后还包括: CS、通过用户空间文件系统的函数库的返回数据API,返回执行操作之后得到的文件数据给内核。
5.根据权利要求4所述的基于用户空间文件系统的移动终端定制化方法,其特征在于,所述步骤CS之后还包括: C9、内核收到返回的文件数据后,将文件数据传送给用户程序。
6.一种基于用户空间文件系统的移动终端定制化系统,其特征在于,包括: 系统分区挂载模块,用于在根目录下建立系统分区目录,将系统分区挂载到系统分区目录; 定制化分区挂载模块,用于在根目录下建立与系统分区的目录层级结构一致的定制化分区目录,将定制化分区挂载到定制化分区目录; 执行模块,用于通过用户空间文件系统的后台守护程序来中转用户程序对系统分区和定制化分区的操作,并根据建立的定制化分区目录和系统分区目录依次在定制化分区和系统分区中查找文件,若找到相应的文件,则执行用户程序的操作。
7.根据权利要求6所述的基于用户空间文件系统的移动终端定制化系统,其特征在于,所述执行模块包括:挂载点设置单元,用于通过用户空间文件系统的函数库的挂载API,将根目录下的系统目录设置为用户空间文件系统的挂载点; 监听单元,用于通过用户空间文件系统的函数库的监听API监听内核请求; 解析单元,用于监听到内核请求后,对内核请求进行解析获得绝对路径; 挂载点去除单元,用于将绝对路径的挂载点去除获得分区内路径; 第一查找单元,用于根据分区内路径在定制化分区查找相应的文件; 第二查找单元,用于根据分区内路径在系统分区查找相应的文件; 执行单元,用于根据内核请求对查找到的文件执行相应的操作。
8.根据权利要求7所述的基于用户空间文件系统的移动终端定制化系统,其特征在于,所述执行模块还包括: 转发单元,用于在内核收到用户程序的操作请求时,将操作请求转译为内核请求,并转发给后台守护程序。
9.根据权利要求7所述的基于用户空间文件系统的移动终端定制化系统,其特征在于,所述执行模块还包括: 返回单元,用于通过用户空间文件系统的函数库的返回数据API,返回执行操作之后得到的文件数据给内核.。
10.根据权利要求9所述的基于用户空间文件系统的移动终端定制化系统,其特征在于,所述执行模块还包括: 传送单元,用于内核收到返回的文件数据后,将文件数据传送给用户程序。
【文档编号】G06F17/30GK103473062SQ201310417072
【公开日】2013年12月25日 申请日期:2013年9月13日 优先权日:2013年9月13日
【发明者】邓铁军 申请人:惠州Tcl移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1