实例系统免安装运行应用的方法技术方案

技术编号:15062650 阅读:62 留言:0更新日期:2017-04-06 11:47
为了非常简单的实现实例系统的安卓系统免安装运行应用,本发明专利技术提供一种实例系统免安装运行应用的方法。该方法以只读形式将存储服务器上包括应用主程序包的目录挂载到实例系统的指定目录,并修改安卓系统的设置使得挂载的包括应用主程序包的目录中的主程序包中的可执行程序能够运行。该方法实现方式简单,有效缩短了云系统运营商的开发周期,降低了开发成本。同时云系统的用户可以在非常短的时间内任意启动云系统的海量应用,用户体验佳。

【技术实现步骤摘要】

本专利技术涉及实例系统免安装运行应用的方法。
技术介绍
某种操作系统加上运行该操作系统所需的必要硬件(例如处理器、存储器等),可以视为一个实例系统,实例系统中可以运行各种应用(应用指能够在实例系统的操作系统中运行的软件或程序)。将若干个实例系统按照一定的架构方式(例如分布式)集中管理,可以形成云系统。通常云系统由运营商负责日常运营,为用户提供服务。如果实例系统位于云系统内,实例系统的操作系统中常会设置一个具有操作系统根(root)权限的软件或程序,对用户访问实例系统的行为进行管理,该软件或程序可以称为代理(此处的代理是英文词agent的翻译)。开源的安卓(Android)系统具有很多优点,常被选取为实例系统的操作系统。与安卓系统配套的实例系统硬件一般配置较低,例如存储器的存储空间较小,无法安装所有用户可能需要的应用。常见的解决办法是在云系统中设置专用的存储服务器,在存储服务器上存储大量的应用安装程序及相关文件。运营商设计预安装算法,在实例系统上预安装一些应用,如果用户需要运行该应用,先寻找一个已经安装了该应用的实例系统,如果找不到,则需要在实例系统上现安装应用。如果某一时间云系统的用户非常多,现安装应用是无法避免的。但现安装应用需要花费几分钟甚至更长时间,等待时间过长可能严重影响用户体验。实例系统上免安装运行应用,是解决上述问题的有效手段,近年来也确实出现了一些实例系统上免安装运行应用的方法。但这些方法往往非常复杂,具体实施时开发周期长、成本高,较为简单易行的方法尚未见报道。在说明书“
技术介绍
”部分公开的内容,有助于本领域技术人员理解本专利技术的技术方案,但不应据此认为这些内容一定属于现有技术或公知常识。
技术实现思路
为了克服“
技术介绍
”部分所反映的缺陷,本专利技术提供实例系统免安装运行应用的方法。实例系统免安装运行应用的方法,所述的实例系统的操作系统为安卓系统,所述的方法包括:以只读形式将存储服务器上包括应用主程序包的目录挂载到实例系统的指定目录;修改安卓系统的设置,使得挂载的包括应用主程序包的目录中的主程序包中的可执行程序能够运行。进一步的,所述的应用主程序包为apk文件。更进一步的,包括应用主程序包的目录还包括lib子目录,所述的lib子目录包括so库。进一步的,所述的修改安卓系统的设置,包括在安卓系统中增加扫描挂载的包括应用主程序包的目录的接口和扫描命令,使得安卓系统的PackageManagerService能够扫描挂载的包括应用主程序包的目录。更进一步的,所述的方法还包括:提取apk文件的证书和摘要存储到存储服务器,将apk文件的证书和摘要作为参数在PackageManagerService启动扫描时发送给PackageManagerService。更进一步的,所述的方法还包括:提取apk文件对应的odex文件存储到存储服务器,PackageManagerService启动扫描前将odex文件下载到实例系统的对应目录。本专利技术技术方案中,“包括”、“用于”等词语应按照开放式表达方式理解。本领域技术人员通过阅读本说明书并结合现有技术或公知常识能够获知的内容,本说明书中不再赘述。本专利技术提供的实例系统免安装运行应用的方法,能够非常简单的实现实例系统的安卓系统免安装运行应用,有效缩短了云系统运营商的开发周期,降低了开发成本。同时云系统的用户可以在非常短的时间内任意启动云系统的海量应用,用户体验佳。附图说明图1为具体实施方式中云系统架构的简化示意图。图2为具体实施方式中实例系统免安装运行应用的方法的流程图。具体实施方式下面对本专利技术的实施方式进行进一步的具体说明。但应注意,本专利技术的范围并不局限于所描述的具体技术方案。任何对所描述的具体技术方案中的技术要素进行相同或等同替换获得的技术方案或本领域技术人员在所描述的具体技术方案的基础上不经过创造性劳动就可以获得的技术方案,都应当视为落入本专利技术的保护范围。某种操作系统加上运行该操作系统所需的必要硬件(例如处理器、存储器等),可以构成一个实例系统。将若干个实例系统按照一定的架构方式集中管理,可以形成云系统。实例系统的操作系统选取为安卓(Android)系统。通常,云系统中设置有控制节点、实例系统和存储服务器三个部件,图1为云系统架构的简化示意图。实例系统和存储服务器彼此独立,都由控制节点控制和管理,图1中的实线双向箭头表示控制和管理关系,虚线双向箭头表示通信关系。控制节点可以选用具有X86架构的控制服务器,而存储服务器为独立的高性能存储服务器,具有较高的配置(例如8核处理器、64G大内存等)。运营商对存储服务器采取严格的物理隔离和技术保护措施,确保存储服务器上存储的数据是安全的。实际的云系统中控制节点、实例系统和存储服务器的数量远不止一个,为了简单显示,图1中控制节点、实例系统和存储服务器各只画了一个。实例系统的操作系统中设置一个具有操作系统根(root)权限的软件或程序,对用户访问实例系统的行为进行管理,该软件或程序可以称为代理。在以上所述的云系统技术方案的基础上,可以实现实例系统免安装运行应用的方法。所述实例系统免安装运行应用的方法的流程如图2所示,包括:S101:以只读形式将存储服务器上包括应用主程序包的目录挂载到实例系统的指定目录。基于安卓系统本身的设定,安卓系统的应用对应的所有文件目录中会有一个包括应用主程序包的目录,所述的应用主程序包是一个apk文件(该文件的名称往往是base.apk)。从字面上看apk文件是安装包,但apk文件作为一个压缩包,里面包括了可执行程序,运行这些可执行程序就可以运行该应用。包括应用主程序包的目录中还可以包括一个名称为lib的子目录,该子目录可以包括一个或多个so库(即安卓系统中后缀为.so的文件,是可以被调用的C++函数库)。在云系统中,由于存储服务器的存储空间极大,其上可以存储所有云系统的用户可能用到的应用对应的所有文件(保留这些文件的目录结构)。安卓系统的代理可以将存储服务器上的目录挂载到实例系统本地的指定目录下(对于安卓系统,该指定目录一般是/data/app)。为了保证存储服务器上数据的安全,挂载采用只读形式,代理对于挂载的目录中的数据不能进行写操作。对于用户需要运行的应用,代理以只读形式将存储服务器上包括该应用主程序包的目录挂载到实例系统本地的/data/app目录。作为一个示例,上述操作可以使用如下命令实现:mount-tnfs4-oro172.16.2.224:/var/nfs/apk/data/app。S102:修改安卓系统的设置,使得挂载的包括应用主程序包的目录中的主程序包中的可执行程序能够运行。步骤S101完成后,挂载的目录中的apk文件中的可执行程序并不能直接在实例系统的安卓系统上运行,运行这些可执行程序需要修改安卓系统的设置。作为一个示例,以5.1版本的安卓系统为例说明相应的修改方法。1)在frameworks/base/core/java/android/content/pm/IPackageManager.aidl文件中增加一个扫描/data/app目录下挂载的包括应用主程序包的目录的接口。2)在frameworks/base/cmds/pm/sr本文档来自技高网
...
实例系统免安装运行应用的方法

【技术保护点】
实例系统免安装运行应用的方法,其特征在于,所述的实例系统的操作系统为安卓系统,所述的方法包括:以只读形式将存储服务器上包括应用主程序包的目录挂载到实例系统的指定目录;修改安卓系统的设置,使得挂载的包括应用主程序包的目录中的主程序包中的可执行程序能够运行。

【技术特征摘要】
1.实例系统免安装运行应用的方法,其特征在于,所述的实例系统的操作系统为安卓系统,所述的方法包括:以只读形式将存储服务器上包括应用主程序包的目录挂载到实例系统的指定目录;修改安卓系统的设置,使得挂载的包括应用主程序包的目录中的主程序包中的可执行程序能够运行。2.根据权利要求1所述的方法,其特征在于,所述的应用主程序包为apk文件。3.根据权利要求2所述的方法,其特征在于,所述的包括应用主程序包的目录还包括lib子目录,所述的lib子目录包括so库。4.根据权利要求1所述的方法,其特征在于,所述的修改安卓系统的设置,包括在安卓系统中增加扫描挂载的包括应用主程...

【专利技术属性】
技术研发人员:王小品董龙江田乐赵幸
申请(专利权)人:北京海誉动想科技股份有限公司
类型:发明
国别省市:北京;11

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

1