当前位置: 首页 > 专利查询>杨正专利>正文

一种基于磁盘的应用运行方法及系统技术方案

技术编号:18083569 阅读:61 留言:0更新日期:2018-05-31 12:11
本发明专利技术实施例提供了一种基于磁盘的应用运行方法及系统,包括:预先在未安装目标应用时,获取目标应用的启动运行包和启动镜像包;在启动所述目标应用时,建立本地缓存管理器,以及建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;在本地创建第一虚拟磁盘,建立本地缓存管理器与第一虚拟磁盘的第三通路;本地缓存管理器通过第三通路接收请求;当请求为读请求时,本地缓存管理器通过第一通路,从启动镜像包获取读请求的第一数据;和/或,通过第二通路,从服务器的原始镜像包中获取读请求的第一数据。本发明专利技术实施例可以节约目标应用初次启动的时间,且可以降低该目标应用在终端中占用的存储空间。

【技术实现步骤摘要】
一种基于磁盘的应用运行方法及系统
本专利技术涉及信息处理
,特别是涉及一种基于磁盘的应用运行方法及系统。
技术介绍
随着计算机技术的不断发展,各种应用程序的功能不断地被丰富完善如图片编辑软件(Photoshop,PS)的工具栏所展现的各种功能,各种游戏软件的关卡的增加等等;以及部分应用程序为了增强视觉效果,将应用程序中的所有画面渲染成3D的效果,例如3D游戏,虚拟现实等应用对各种计算资源的占用要求越来越高,例如人工智能、数学计算等对CPU处理能力的要求,图形运算对图形处理器的处理能力的要求,图片、人物模型、地图模型、大规模数据库对存储空间的要求,这都使得应用程序的功能日益复杂,数据包越来越大。由于用户在初次使用应用程序时,需要从服务器中下载应用程序完整的软件安装包和数据包,并且需要在终端上安装应用的软件安装包才能启动应用程序,这导致下载数据包和安装软件安装包的过程往往会耗费很长的时间。为了解决该问题,目前部分公司针对自身应用程序的特点将可执行程序与资源数据分开管理,并且将资源数据如:图片、模型、内置视频等,一般按照占程序数据包大小的绝大部分配额进行拆分,模块化处理,将必要的可执行程序以及资源模块数据打包,以制作微型客户端。而在对应用程序进行拆分的过程中,往往需要(1)分析程序初步运行需要加载的可执行文件,以及可执行文件依赖的资源文件。(2)分析多个可执行文件之间的依赖关系,以及每个可执行文件同时依赖的资源,例如:某个功能接口会触发哪些资源,或者程序调用。(3)由于有的大型程序会依赖很多第三方的程序库,或者系统功能组件,例如3D图形引擎,数据传输库,图像视频压缩/解压库,本地操作系统硬件--CPU,显卡,磁盘,网络管理接口等,这些组件一般内部结构十分复杂,而且了解相关细节需要大量的背景知识;对第三方库的解析过程需要进行大量的学习工作,了解它们在运行时访问资源的方式和特点。但是常常由于对相关机制理解不完全,会导致大量兼容性和性能问题,处理起来费时费力;可见,上述对应用程序进行拆分操作较为复杂,会引入大量的额外的人力成本和时间成本。
技术实现思路
本专利技术实施例所要解决的技术问题是提供一种基于磁盘的应用运行方法,一种基于磁盘的应用原始镜像包制作方法和一种基于磁盘的应用启动镜像包制作方法,以解决现有技术中为制作微型客户端对应用程序进行拆分,造成的效率低和成本高的问题。相应的,本专利技术实施例针对上述方法还提供了对应的系统,分别为:一种基于磁盘的应用运行系统,一种基于磁盘的应用原始镜像包制作系统和一种基于磁盘的应用启动镜像包制作系统,用以保证上述方法的实现及应用。本专利技术公开了一种基于磁盘的应用运行的方法,具体包括:预先在未安装目标应用时,获取所述目标应用的启动运行包和启动镜像包,其中,所述启动运行包用于启动所述目标应用,所述启动镜像包包括所述目标应用的启动数据;通过所述启动运行包启动所述目标应用时,建立本地缓存管理器,以及建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;在本地创建第一虚拟磁盘,建立所述本地缓存管理器与所述第一虚拟磁盘的第三通路;所述本地缓存管理器通过所述第三通路接收请求,所述请求是所述第一虚拟磁盘从所述目标应用接收的;当所述请求为读请求时,所述本地缓存管理器通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;和/或,所述本地缓存管理器通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;其中,所述原始镜像包包括所述目标应用的启动数据和运行数据;通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。对应的,本专利技术实施例还公开了一种基于磁盘的应用运行系统,具体包括:数据包获取模块,用于预先在未安装目标应用时,获取所述目标应用的启动运行包和启动镜像包,其中,所述启动运行包用于启动所述目标应用,所述启动镜像包包括所述目标应用的启动数据;本地缓存管理器建立模块,用于通过所述启动运行包启动所述目标应用时,建立本地缓存管理器,建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;第一虚拟磁盘建立模块,在本地创建第一虚拟磁盘,建立所述本地缓存管理器与所述第一虚拟磁盘的第三通路;第一数据请求接收模块,用于调用所述本地缓存管理器,通过所述第三通路接收数据请求,所述数据请求是所述第一虚拟磁盘从所述目标应用接收的;数据获取模块,用于当所述数据请求为读请求时,调用所述本地缓存管理器,通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;和/或,调用所述本地缓存管理器,通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;其中,所述原始镜像包包括所述目标应用的启动数据和运行数据;数据反馈模块,用于通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。本专利技术公开了一种基于磁盘的应用原始镜像包制作方法,具体包括:建立数据包制作管理器和创建空的原始镜像包,以及建立所述数据包制作管理器与所述原始镜像包的第八通路;在本地创建第二虚拟磁盘,建立所述第二虚拟磁盘与所述数据包制作管理器的第九通路;所述数据包制作管理器通过所述第九通路接收数据写请求,其中,所述数据写请求是所述第二虚拟磁盘从进程获取的;所述数据包制作管理器通过第八通路将所述数据写请求对应的第三数据写入所述原始镜像包中,其中,所述第三数据是目标应用的原始数据包含的数据。对应的,本专利技术还公开了一种基于磁盘的应用原始镜像包制作系统,具体包括:数据包制作管理器建立模块,用于建立数据包制作管理器和创建空的原始镜像包,以及建立所述数据包制作管理器与所述原始镜像包的第八通路;第二虚拟磁盘建立模块,用于在本地创建第二虚拟磁盘,建立所述第二虚拟磁盘与所述数据包制作管理器的第九通路;第二数据请求接收模块,用于调用所述数据包制作管理器,通过所述第九通路接收数据写请求,其中,所述数据写请求是所述第二虚拟磁盘从进程获取的;原始镜像包数据写入模块,用于调用所述数据包制作管理器,通过第八通路将所述数据写请求对应的第三数据写入所述原始镜像包中,其中,所述第三数据是目标应用的原始数据包含的数据。本专利技术公开了一种基于磁盘的应用启动镜像包制作方法,具体包括:在启动目标应用时,建立本地管理器,以及建立本地管理器与原始镜像包的第十通路;建立空的启动镜像包,以及建立所述本地管理器与启动镜像包的第十一通路;在本地创建第三虚拟磁盘,建立所述本地管理器与所述第三虚拟磁盘的第十二通路;所述本地管理器通过所述第十二通路接收数据请求,所述数据请求是所述第三虚拟磁盘从所述目标应用接收的;当所述请求为读请求时,所述本地管理器通过所述第十通路从所述原始镜像包中获取所述读请求对应的第四数据;以及通过所述第十一通路将所述第四数据写入所述启动镜像包中;在所述目标应用停止运行时,停止将所述第四数据写入所述启动镜像包。对应的,本专利技术还公开了一种基于磁盘的应用启动镜像包制作系统,具体包括:本地管理器建立模块,用于在启动目标应用时,建立本地管理器,以及建立本地管理器与原始镜像包的第十通路;启动镜像包建立模块,建立空的所述启动镜像包,以及建立所述本地管理器与启动镜像包的第十一通路;第三虚拟磁盘本文档来自技高网
...
一种基于磁盘的应用运行方法及系统

【技术保护点】
一种基于磁盘的应用运行方法,其特征在于,包括:预先在未安装目标应用时,获取所述目标应用的启动运行包和启动镜像包,其中,所述启动运行包用于启动所述目标应用,所述启动镜像包包括所述目标应用的启动数据;通过所述启动运行包启动所述目标应用时,建立本地缓存管理器,以及建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;在本地创建第一虚拟磁盘,建立所述本地缓存管理器与所述第一虚拟磁盘的第三通路;所述本地缓存管理器通过所述第三通路接收请求,所述请求是所述第一虚拟磁盘从所述目标应用接收的;当所述请求为读请求时,所述本地缓存管理器通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;和/或,所述本地缓存管理器通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;其中,所述原始镜像包包括所述目标应用的启动数据和运行数据;通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。

【技术特征摘要】
1.一种基于磁盘的应用运行方法,其特征在于,包括:预先在未安装目标应用时,获取所述目标应用的启动运行包和启动镜像包,其中,所述启动运行包用于启动所述目标应用,所述启动镜像包包括所述目标应用的启动数据;通过所述启动运行包启动所述目标应用时,建立本地缓存管理器,以及建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;在本地创建第一虚拟磁盘,建立所述本地缓存管理器与所述第一虚拟磁盘的第三通路;所述本地缓存管理器通过所述第三通路接收请求,所述请求是所述第一虚拟磁盘从所述目标应用接收的;当所述请求为读请求时,所述本地缓存管理器通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;和/或,所述本地缓存管理器通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;其中,所述原始镜像包包括所述目标应用的启动数据和运行数据;通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。2.根据权利要求1所述的方法,其特征在于,所述启动镜像包包括增量数据区,所述方法还包括:当所述请求为写请求时,所述本地缓存管理器通过所述第一通路将所述写请求的第二数据写入所述增量数据区中;设置第二数据对应数据块的第一位标识为第一状态。3.根据权利要求1所述的方法,其特征在于,所述启动镜像包包括增量数据区和镜像数据区,所述本地缓存管理器通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据的步骤,包括:所述本地缓存管理器通过所述第一通路,从所述增量数据区中获取所述第一数据,和/或,从所述镜像数据区中获取所述第一数据。4.根据权利要求3所述的方法,其特征在于,在所述从所述增量数据区中获取所述第一数据的步骤之前,还包括:判断所述增量数据区中是否存在所述第一数据;当存在时,判断所述第一数据对应的数据块的第一位标识的状态;当不存在时,执行从所述镜像数据区中获取所述第一数据的步骤。5.根据权利要求4所述的方法,其特征在于,在判断所述第一数据对应的数据块的第一位标识的状态的步骤之后,还包括:当第一位标识的状态为第一状态时,执行从所述增量数据区中获取所述第一数据的步骤;当第一位标识的状态为第二状态时,执行从所述镜像数据区中获取所述第一数据的步骤。6.根据权利要求3所述的方法,其特征在于,在所述从所述镜像数据区中获取所述第一数据的步骤之前,还包括:判断所述镜像数据区中是否存在所述第一数据;当存在时,判断所述第一数据对应的数据块的第二位标识的状态;当不存在时,执行从所述服务器的原始镜像包中获取所述第一数据的步骤。7.根据权利要求6所述的方法,其特征在于,在判断所述第一数据对应的数据块的第二位标识的状态的步骤之后,包括:当第二位标识的状态为第三状态时,执行从所述镜像数据区中获取所述第一数据的步骤;当第二位标识的状态为第四状态时,执行从所述服务器的原始镜像包中获取所述第一数据的步骤。8.根据权利要求1所述的方法,其特征在于,所述启动镜像包包括校验和数据库数据区,在所述从所述服务器的原始镜像包中获取所述第一数据的步骤之后,还包括:计算所述第一数据对应数据块的第一校验和,并在所述校验和数据库数据区中查询所述第一数据对应数据块的第二校验和;将所述第一校验和与第二校验和进行匹配;当所述第一校验和与第二校验和匹配成功时,执行所述将所述第一数据反馈给所述目标应用的步骤;当所述第一校验和与第二校验和匹配不成功时,执行从所述服务器的原始镜像包中获取所述第一数据的步骤。9.根据权利要求8所述的方法,其特征在于,所述启动镜像包包括镜像数据区,当所述第一校验和与第二校验和匹配成功时,所述方法还包括:将所述第一数据保存至所述镜像数据区中,并设置所述第一数据对应数据块的第二位标识为第三状态。10.根据权利要求1所述的方法,其特征在于,所述服务器包括配置服务器,建立本地缓存管理器与配置服务器的第四通路的步骤,包括:获取所述目标应用的标识;依据所述标识,建立所述本地缓存管理器与所述配置服务器的第四通路,并获取所述标识对应的第一配置信息。11.根据权利要求10所述的方法,其特征在于,所述服务器包括数据服务器,建立本地缓存管理器与数据服务器的第五通路的步骤,还包括:依据所述第一配置信息,建立所述本地缓存管理器与所述数据服务器的第五通路。12.根据权利要求10所述的方法,其特征在于,所述启动镜像包包括配置数据区,所述配置数据区包括配置信息;所述建立所述本地缓存管理器与启动镜像包的第一通路的步骤之前,还包括:依据所述标识,在本地缓存中查找所述标识对应的启动镜像包,以及从所述启动镜像包的配置数据区中查找第二配置信息;将所述第一配置信息与所述第二配置信息进行匹配;当所述第一配置信息与所述第二配置信息匹配成功时,将所述启动镜像包确定为所述目标应用的启动镜像包。13.根据权利要求1所述的方法,其特征在于,所述启动镜像包包括镜像数据区,所述本地缓存管理器包括镜像缓存管理器;所述建立所述本地缓存管理器与启动镜像包的第一通路的步骤,包括:所述镜像缓存管理器打开所述镜像数据区,建立所述镜像缓存管理器与所述镜像数据区的所述第一通路。14.根据权利要求...

【专利技术属性】
技术研发人员:杨正
申请(专利权)人:杨正卢聪
类型:发明
国别省市:北京,11

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

1