System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,特别涉及一种基于安卓系统高效挂载外部存储空间的方法。
技术介绍
1、安卓系统数据存储主要分为系统system和data数据,这些数据基本都是存储在本地flash存储空间,但是实际云手机服务场景为了考虑算力复用以及降本增效,通常会考虑把系统和用户数据进行分离,安卓算力空虚时保留当前用户数据,复用给下一个用户,实现最大化资源利用。当前安卓系统数据存储问题包括:
2、由于用户数据存放在系统的data目录下,一般都是直接外挂存储替换掉data目录,但是会面临新的问题,如果这个时候有1k路安卓算力需要外挂存储,同时涉及更新app大版本,基本会采用挂载新目录的方案,因为涉及到data目录解挂,会导致整批资源无法使用;
3、由于安卓系统算力挂载外部存储主要是依靠网络,如果安卓算力硬件对外总带宽和机房的总公网带宽是有限的,随着需要分发的应用体积变大,分发时间会不断增加。
4、如图1所示的android应用常规分发的示意图,分发时间的增加包含几个阶段:(1)第一个阶段是将应用下载到独立arm板卡,这个阶段受制于机箱带宽和机房带宽限制。(2)第二个阶段是将应用安装到安卓系统,这个阶段受制于安卓卡系统资源,例如:cpu、内存、flash等。
技术实现思路
1、本专利技术提供了一种基于安卓系统高效挂载外部存储空间的方法,在机房内建立内网缓存服务减少公网,应用在使用过程中只需读取部分内容,可以使用外挂存储已经安装好应用的存储块来避免完整安装包下载和
2、本专利技术提供了一种基于安卓系统高效挂载外部存储空间的方法,在机房中引入分布式rbd块存储服务集群,rbd块存储服务提供rbd块的创建、格式化、克隆、快照功能,所述方法具体包括:
3、s1、rbd块存储服务创建一个rbd块并格式化,选择一个arm板卡和该板卡上的安卓系统,将创建的好的rbd块挂载到arm板卡的安卓系统中,继而执行应用包下载和安装流程,应用安装完成后解除rbd挂载,以完成模板制作;
4、s2、使用步骤s1制作好的模板按照分发需要创建副本,副本创建过程通过调用rbd块存储服务的克隆功能完成,以完成副本制作;
5、s3、使用步骤s2克隆的副本进行安卓系统挂载,然后调用安卓系统中的应用扫描,使系统识别应用并通知桌面显示应用图标。
6、进一步地,在步骤s1中,将创建的好的rbd块挂载到arm板卡的安卓系统时,采用mount命令挂载rbd块;应用安装完成后解除rbd挂载时,采用umount命令解挂载rbd块;
7、在步骤s3中,进行安卓系统挂载时,采用mount命令挂载rbd块。
8、进一步地,机房内具有分布式rbd块存储部分和arm阵列式服务器部分,所述分布式rbd块存储部分包括n个rbd服务器,每个rbd服务器均具有n个rbd块;所述arm阵列式服务器部分具有n个arm板卡,每个arm板卡均具有n个安卓系统;
9、在rbd分发完成后,所述分布式rbd块存储部分的每个rbd块和arm阵列式服务器部分的每个安卓系统均连接机房内网。
10、进一步地,在应用安装时,修改安卓系统packagemanager服务,修改的packagemanager在安装应用时读取系统属性installpath,将应用安装到/data/{installpath}/xxxx、
11、/data/{installpath}/xxxx、/data/{installpath}/xxxx目录。
12、进一步地,进行应用的扫描和显示时,将安装有应用的rbd块挂载到安卓系统中,修改packagemanager服务,将其中的scan功能以命令行的方式暴露出来,通过调用pm scantrue触发系统的扫描,扫描完成后通知系统桌面更新应用显示。
13、进一步地,在应用包更新时,修改packagemanager服务,安装前检查应用是否已经安装,如果已经安装就使用已有目录,否则使用installpath作为安装路径。
14、进一步地,在应用卸载时,将rbd块解除挂载,然后使系统识别应用已经卸载,并通知桌面更新;
15、在rbd解除挂载前首先禁用应用,rbd块挂载解除后调用pm scan true触发系统的扫描,扫描完成后通知系统桌面更新显示。
16、本专利技术的有益效果为:
17、本专利技术在机房中引入一套分布式rbd块存储服务集群,rbd块存储服务提供rbd块的创建、格式化、克隆、快照等功能。通过多rbd挂载方案解决了游戏更新场景在线高效升级问题,游戏多个版本并存的场景,多个游戏选择性进行批量更新的场景,对于云游戏整体分发效率提升巨大;通过使用rbd块挂载方案替代默认应用安装过程,机房公网流量大幅降低,整机应用分发时间大幅降低。
本文档来自技高网...【技术保护点】
1.一种基于安卓系统高效挂载外部存储空间的方法,其特征在于,在机房中引入分布式RBD块存储服务集群,RBD块存储服务提供RBD块的创建、格式化、克隆、快照功能,所述方法具体包括:
2.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,在步骤S1中,将创建的好的RBD块挂载到Arm板卡的安卓系统时,采用mount命令挂载RBD块;应用安装完成后解除RBD挂载时,采用umount命令解挂载RBD块;
3.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,机房内具有分布式RBD块存储部分和Arm阵列式服务器部分,所述分布式RBD块存储部分包括N个RBD服务器,每个RBD服务器均具有N个RBD块;所述Arm阵列式服务器部分具有N个Arm板卡,每个Arm板卡均具有N个安卓系统;
4.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,在应用安装时,修改安卓系统PackageManager服务,修改的PackageManager在安装应用时读取系统属性installpath,将应用安装到/da
5.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,进行应用的扫描和显示时,将安装有应用的RBD块挂载到安卓系统中,修改PackageManager服务,将其中的scan功能以命令行的方式暴露出来,通过调用pm scan true触发系统的扫描,扫描完成后通知系统桌面更新应用显示。
6.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,在应用包更新时,修改PackageManager服务,安装前检查应用是否已经安装,如果已经安装就使用已有目录,否则使用installpath作为安装路径。
7.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,在应用卸载时,将RBD块解除挂载,然后使系统识别应用已经卸载,并通知桌面更新;
...【技术特征摘要】
1.一种基于安卓系统高效挂载外部存储空间的方法,其特征在于,在机房中引入分布式rbd块存储服务集群,rbd块存储服务提供rbd块的创建、格式化、克隆、快照功能,所述方法具体包括:
2.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,在步骤s1中,将创建的好的rbd块挂载到arm板卡的安卓系统时,采用mount命令挂载rbd块;应用安装完成后解除rbd挂载时,采用umount命令解挂载rbd块;
3.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,机房内具有分布式rbd块存储部分和arm阵列式服务器部分,所述分布式rbd块存储部分包括n个rbd服务器,每个rbd服务器均具有n个rbd块;所述arm阵列式服务器部分具有n个arm板卡,每个arm板卡均具有n个安卓系统;
4.根据权利要求1所述的基于安卓系统高效挂载外部存储空间的方法,其特征在于,在应用安装时,修改安卓系统packagemanage...
【专利技术属性】
技术研发人员:牟建兵,赖如今,刘毅,
申请(专利权)人:深圳市瑞驰信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。