CN116339756A - 一种应用程序挂载方法、装置、设备及存储介质 - Google Patents
一种应用程序挂载方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116339756A CN116339756A CN202310255452.3A CN202310255452A CN116339756A CN 116339756 A CN116339756 A CN 116339756A CN 202310255452 A CN202310255452 A CN 202310255452A CN 116339756 A CN116339756 A CN 116339756A
- Authority
- CN
- China
- Prior art keywords
- directory
- target
- application program
- mounting
- file
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种应用程序挂载方法、装置、设备及存储介质,涉及计算机技术领域,包括:接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。通过上述方案,能够有效避免数据出现串的情况。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种应用程序挂载方法、装置、设备及存储介质。
背景技术
在相关技术中,实现目标应用程序运行,需要每个目标应用程序的数据都部署在本地,例如图1所示的一种具体的应用程序部署示意图,从NAS(Network File System,即网络文件系统)存储服务器中拉取APK包(Android application package,即安卓应用安装包),执行安装的操作,将应用程序安装在本地的存储区,但是当部署应用程序个数非常多的时候,会占用本地大量的存储空间,导致本地运行效率下降。
为了解决上述问题,现有技术中,采用云文件系统,将文件保存在云端然后挂载到本地,通过云文件系统响应写操作、读操作。但是也产生了新的问题,读写数据都在一个文件夹中,当其它用户需要使用这个文件时就容易导致用户访问到其它用户通过写操作留下的数据,也就是说,当有一个用户执行了写操作,该文件夹中的数据就会发生变化,那么当有其他用户执行读操作时,其他用户读到的数据就是变化后的数据,因此无法保证充分隔离数据。
综上可见,如何避免数据出现串的情况是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种应用程序挂载方法、装置、设备及介质,能够有效避免数据出现串的情况。其具体方案如下:
第一方面,本申请公开了一种应用程序挂载方法,包括:
接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;
根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;
根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。
可选的,所述基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息之前,还包括:
通过预设硬件设备安装所述目标应用程序,得到与目标应用程序对应的网络目录,以便目标存储服务器从预设硬件设备机中全量提取并保存与所述目标应用程序对应的网络目录。
可选的,所述当接收写命令时,则对所述上层目录中与所述写命令对应的文件执行写操作,包括:
若接收到写命令时,则判断所述上层目录中是否存在与所述写命令对应的待操作文件的第一副本文件;
若存在,则对所述第一副本文件所存储的目标数据进行相应的写操作。
可选的,所述判断所述上层目录中是否存在与所述写命令对应的待操作文件的第一副本文件之后,还包括:
若不存在,则基于所述下层目录从所述网络目录中确定出与所述写命令对应的待操作文件,并请求所述目标存储服务器下发所述待操作文件的第一副本文件;
将接收到的所述第一副本文件存储至所述上层目录,以便对所述上层目录中所述第一副本文件所存储的目标数据进行相应的写操作。
可选的,所述当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作,包括:
若接收到读命令时,则判断所述上层目录中是否存在与所述读命令对应的待操作文件的第二副本文件;
若存在,则对所述第二副本文件中所存储的目标数据发起读操作;
若不存在,则基于所述下层目录从所述网络目录中确定出与所述读命令对应的待操作文件,并对与所述读命令对应的待操作文件中所存储的目标数据发起读操作。
可选的,所述的应用程序挂载方法,还包括:
注册与所述目标应用程序对应的操作系统开发组件至操作系统文件,并注册与所述目标应用程序对应的应用信息至操作系统包信息文件中,以便完成所述目标应用程序的安装注册处理流程;其中,所述应用信息包括所述目标应用程序的权限信息、应用包名、用户唯一标识信息。
可选的,所述注册与所述目标应用程序对应的操作系统组件至操作系统文件之前,还包括:
从所述目标存储服务器中确定出与所述目标应用程序注册相关的应用目录,并解析位于该应用目录下的所述目标应用程序的安装包,以得到操作系统清单文件;
读取所述操作系统清单文件,以得到与所述目标应用程序对应的操作系统开发组件和所述应用信息。
第二方面,本申请公开了一种应用程序挂载装置,包括:
挂载信息获取模块,用于接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;
第一挂载模块,用于根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;
第二挂载模块,用于根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的应用程序挂载方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的应用程序挂载方法的步骤。
本申请有益效果为:本申请接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。目前将目标应用程序的所有数据都保存至NAS存储服务器的一个文件夹中,无法保证充分隔离数据,为此本申请在将目标存储服务器中的网络目录挂载至本地的下层目录,然后将下层目录和本地的上层目录合并挂载至联合挂载目录上,如此一来当接收到写命令时,只用上层目录中对应的文件对其进行响应,当接收到读命令时,优先对上层目录中与读命令对应的文件发起读操作,由此可见,当执行写操作,数据发生改变后,目标用户进行读操作时,优先利用本地的上层目录进行响应,使得用户不会访问到其他用户修改的数据,进而保证充分的隔离数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种具体的应用程序部署示意图;
图2为本申请公开的一种应用程序挂载方法流程图;
图3为本申请公开的一种具体的应用程序挂载示意图;
图4为本申请公开的一种具体的应用程序挂载方法流程图;
图5为本申请公开的一种具体的联合挂载示意图;
图6为本申请公开的一种应用程序挂载装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在相关技术中,实现目标应用程序运行,需要每个目标应用程序的数据都部署在本地,例如图1所示的一种具体的应用程序部署示意图,从NAS(Network File System,即网络文件系统)存储服务器中拉取APK包(Android application package,即安卓应用安装包),执行安装的操作,将应用程序安装在本地的存储区,但是当部署应用程序个数非常多的时候,会占用本地大量的存储空间,导致本地运行效率下降。
为了解决上述问题,现有技术中,将目标应用程序的相关数据保存至NAS存储服务器的一个文件夹中,以便利用该文件夹响应写操作、读操作,但是也产生了新的问题,读写数据都在一个文件夹中,就容易导致用户访问到其它用户,也就是说,当有一个用户执行了写操作,该文件夹中的数据就会发生变化,那么当有其他用户执行读操作时,其他用户读到的数据就是变化后的数据,因此无法保证充分隔离数据。
为此本申请相应的提供了一种应用程序挂载方案,能够有效降低目标应用程序占用本地的存储量。
参见图2所示,本申请实施例公开了一种应用程序挂载方法,包括:
步骤S11:接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息。
当接收到用户下达的用于启动目标应用程序的启动请求后,需要将目标应用程序进行挂载,因此需要获取与目标应用程序对应的目标数据的目标挂载信息,以便完成对目标应用程序的挂载。
本实施例中,所述基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息之前,还包括:通过预设硬件设备安装所述目标应用程序,得到与目标应用程序对应的网络目录,以便目标存储服务器从预设硬件设备机中全量提取并保存与所述目标应用程序对应的网络目录。可以理解的是,目标存储服务器中最初并没有存储与目标应用程序对应的网络目录,也就是说,需要将与目标应用程序对应的网络目录存储至目标存储服务器中,为此,本申请在一台base机中预先安装目标应用程序,base机中会生成与目标应用程序对应的网络目录,再将网络目录全量提取后,存储在目标存储服务器中。需要注意的是,当目标存储服务器保存网络目录后,base机中无需存储网络目录,因此可以删除base机中的网络目录,进而不影响base机的存储空间。
目标存储服务器还需要对目标应用程序进行相关的安装注册,以便后续本地可以进行安装注册。首先将目标应用程序的应用安装包文件复制到系统根(data/app)目录,其次将目标应用程序的源码压缩文件(dex文件)复制到系统虚拟机缓存(/data/dalvik-cache)目录,然后在系统根目录中创建对应的包名目录,准备用户需要的数据信息,例如创建数据库、缓存(cache)目录等。
步骤S12:根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录。
可以理解的是,在完成目标应用程序挂载的过程中,需要在本地预先创建空的下层目录(lowerdir),下层目录为只读目录,并在初始时将全部的网络目录挂载至本地的下层目录,进而可以通过下层目录读取目标应用程序的目标数据;完成目标应用程序挂载的过程中,还需要预先在本地建立空的上层目录(upperdir),以便后续当接收到写命令时,可以将与写命令对应的文件保存至上层目录,然后利用该文件执行写操作,以及还可以优先利用该文件执行相应的读操作。
步骤S13:根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。
例如图3所示的一种具体的应用程序挂载示意图,基于目标挂载信息,并利用mount命令将本地的目录挂载至联合挂载目录上,也即目标存储服务器中的各个网络目录与本地的存储区建立了映射关系,联合挂载目录例如为OverlayFS。上层目录中需要预先保存与写命令对应的文件,并利用该文件对写命令进行响应,响应后将该文件保存,以便后续利用该文件响应相应的读命令或者写命令;进一步的,目标本地端呈现给目标本地端的用户是最新的数据,而其他本地端的用户则不能访问到目标本地端的修改后的数据,因此有效实现了数据充分隔离。
本实施例中,在挂载目标应用程序的过程中,可以利用固件订制方法对目标应用程序进行安装注册,使得本地系统知晓目标应用程序已经被安装完成,并在本地桌面上显示应用的图标,利用固件订制方法对目标应用程序进行安装注册,即根据具体情况确定需要安装注册的文件,无需安装注册的文件则不进行安装注册流程,减少安装注册流程的复杂度,也更加贴合目标应用程序的部署与使用。注册与所述目标应用程序对应的操作系统开发组件至操作系统文件,并注册与所述目标应用程序对应的应用信息至操作系统包信息(/data/system/packages.xml)文件中,以便完成所述目标应用程序的安装注册处理流程;其中,所述应用信息包括所述目标应用程序的权限信息、应用包名、用户唯一标识信息。操作系统开发组件可以为安卓系统的四大组件,即activity(活动组件)、service(服务组件)、content provider(内容提供商)、以及broadcast receiver(广播接收器)。
本实施例中,所述注册与所述目标应用程序对应的操作系统组件至操作系统文件之前,还包括:从所述目标存储服务器中确定出与所述目标应用程序注册相关的应用目录,并解析位于该应用目录下的所述目标应用程序的安装包,以得到操作系统清单(AndroidMainfest.xml)文件;读取所述操作系统清单文件,以得到与所述目标应用程序对应的操作系统开发组件和所述应用信息。
可以理解的是,如果本地未收到用于卸载目标应用程序的指令,那么在用户退出目标应用程序后,也无需卸载目标应用程序,那么当用户在下次启动目标应用程序时,可以直接启动,无需再次进行挂载,运行速度更快,消耗的时间更少。
本申请有益效果为:本申请接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。目前将目标应用程序的所有数据都保存至NAS存储服务器的一个文件夹中,无法保证充分隔离数据,为此本申请在将目标存储服务器中的网络目录挂载至本地的下层目录,然后将下层目录和本地的上层目录合并挂载至联合挂载目录上,如此一来当接收到写命令时,只用上层目录中对应的文件对其进行响应,当接收到读命令时,优先对上层目录中与读命令对应的文件发起读操作,由此可见,当执行写操作,数据发生改变后,目标用户进行读操作时,优先利用本地的上层目录进行响应,使得用户不会访问到其他用户修改的数据,进而保证充分的隔离数据。
参见图4所示,本申请实施例公开了一种具体的应用程序挂载方法,包括:
步骤S21:接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息。
步骤S22:根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录。
步骤S23:根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上。
例如图5所示的一种具体的联合挂载示意图,OverlayFS是一种联合文件系统,在单个Linux主机上分层两个目录,并将它们显示为单个目录,这些目录称为“层”,统一过程称为“联合安装”,也就是说,下层目录和上层目录合并挂载至联合挂载目录(merged,即统一目录)。OverlayFS依赖并建立在其他的文件系统之上,比如xfs,ext4fs等,不直接参与磁盘结构的划分,仅仅将底层文件系统的目录进行合并,然后呈现给用户,那么用户所感知的OverlayFS文件系统中的内容,实际上是来自不同挂载目录的“合集”,如图5所示,上层目录和下层目录来自底层文件系统的不同目录,是用户自行指定的。“merged”层为挂载点,在merge目录下将会同时看到来自上层目录和下层目录下的内容,并且用户无法也无需感知这些内容来自上层目录还是下层目录,用户看到的只是一个普通的文件系统根目录而已,上层目录和下层目录存在层次关系,当它们出现同名文件时,用户只能看到上层目录中的文件。也即如果存在同名目录,用户看到的将会是一个合并后的目录。
步骤S24:若接收到写命令时,则判断所述上层目录中是否存在与所述写命令对应的待操作文件的第一副本文件;若存在,则对所述第一副本文件所存储的目标数据进行相应的写操作。
本实施例中,所述判断所述上层目录中是否存在与所述写命令对应的待操作文件的第一副本文件之后,还包括:若不存在,则基于所述下层目录从所述网络目录中确定出与所述写命令对应的待操作文件,并请求所述目标存储服务器下发所述待操作文件的第一副本文件;将接收到的所述第一副本文件存储至所述上层目录,以便对所述上层目录中所述第一副本文件所存储的目标数据进行相应的写操作。现有技术中响应写命令的方式需要将与写操作对应的文件全部保存至目标存储服务器,那么进行写操作时的效率很低,耗时较长,而本实施例中当本地端接收到写命令时,本地端的上层目录中会复制一份第一副本文件,保存后利用第一副本文件响应写命令,并且将当前响应后的文件保存至本地端,无需将当前响应后的文件返回至目标存储服务器,那么下一次可以直接再次利用当前响应后的文件执行对应的写操作,大大节省了文件传输的时间,提高便捷度和效率。
步骤S25:若接收到读命令时,则判断所述上层目录中是否存在与所述读命令对应的待操作文件的第二副本文件。
步骤S26:若存在,则对所述第二副本文件中所存储的目标数据发起读操作;若不存在,则基于所述下层目录从所述网络目录中确定出与所述读命令对应的待操作文件,并对与所述读命令对应的待操作文件中所存储的目标数据发起读操作。
需要注意的是,虽然下层目录为只读目录,但是当上层目录中存在与读命令对应的待操作文件的第二副本文件时,说明第二副本文件执行了写操作,因此第二副本文件的目标数据很有可能已经不是网络目录中的初始数据,因此当用户需要进行读操作时,需要利用上层目录中的第二副本文件所存储的目标数据发起读操作,如此一来,用户可以读取到最新状态的目标数据。可以理解的是,当用户进行读操作时,如果上层目录中不存在与读操作对应的文件,即该文件未进行写操作,换句话说该文件所存储的目标数据依然为网络目录中的初始数据,那么只需要利用在下层目录从网络目录中确定出与读命令对应的待操作文件,并对与读命令对应的待操作文件中所存储的目标数据发起读操作即可。
由此可见,利用本申请所述的应用程序挂载方法,多个云服务器使用可以使用目标存储服务器中存储的一份目标应用程序的网络目录,提高了存储复用性;当接收到写命令时,需要将对应的文件保存至本地的上层目录,没有接收到写命令时,则本地无需存储,因此释放了大量本地存储空间;因为目标应用程序的网络目录存储在目标存储服务器中,而对目标存储服务器的扩容成本要远小于现有技术中对本地的扩容成本,所以本申请大大降低了存储成本。
参见图6所示,本申请实施例公开了一种应用程序挂载装置,包括:
挂载信息获取模块11,用于接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;
第一挂载模块12,用于根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;
第二挂载模块13,用于根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。
本申请有益效果为:本申请接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。目前将目标应用程序的所有数据都保存至NAS存储服务器的一个文件夹中,无法保证充分隔离数据,为此本申请在将目标存储服务器中的网络目录挂载至本地的下层目录,然后将下层目录和本地的上层目录合并挂载至联合挂载目录上,如此一来当接收到写命令时,只用上层目录中对应的文件对其进行响应,当接收到读命令时,优先对上层目录中与读命令对应的文件发起读操作,由此可见,当执行写操作,数据发生改变后,目标用户进行读操作时,优先利用本地的上层目录进行响应,使得用户不会访问到其他用户修改的数据,进而保证充分的隔离数据。
进一步的,本申请实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的应用程序挂载方法中的相关步骤。
本实施例中,电源23用于为电子设备上的各硬件设备提供工作电压;通信接口24能够为电子设备创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备执行的应用程序挂载方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由应用程序挂载过程中执行的方法步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种应用程序挂载方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种应用程序挂载方法,其特征在于,包括:
接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;
根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;
根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。
2.根据权利要求1所述的应用程序挂载方法,其特征在于,所述基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息之前,还包括:
通过预设硬件设备安装所述目标应用程序,得到与目标应用程序对应的网络目录,以便目标存储服务器从预设硬件设备机中全量提取并保存与所述目标应用程序对应的网络目录。
3.根据权利要求1所述的应用程序挂载方法,其特征在于,所述当接收写命令时,则对所述上层目录中与所述写命令对应的文件执行写操作,包括:
若接收到写命令时,则判断所述上层目录中是否存在与所述写命令对应的待操作文件的第一副本文件;
若存在,则对所述第一副本文件所存储的目标数据进行相应的写操作。
4.根据权利要求3所述的应用程序挂载方法,其特征在于,所述判断所述上层目录中是否存在与所述写命令对应的待操作文件的第一副本文件之后,还包括:
若不存在,则基于所述下层目录从所述网络目录中确定出与所述写命令对应的待操作文件,并请求所述目标存储服务器下发所述待操作文件的第一副本文件;
将接收到的所述第一副本文件存储至所述上层目录,以便对所述上层目录中所述第一副本文件所存储的目标数据进行相应的写操作。
5.根据权利要求1所述的应用程序挂载方法,其特征在于,所述当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作,包括:
若接收到读命令时,则判断所述上层目录中是否存在与所述读命令对应的待操作文件的第二副本文件;
若存在,则对所述第二副本文件中所存储的目标数据发起读操作;
若不存在,则基于所述下层目录从所述网络目录中确定出与所述读命令对应的待操作文件,并对与所述读命令对应的待操作文件中所存储的目标数据发起读操作。
6.根据权利要求1至5任一项所述的应用程序挂载方法,其特征在于,还包括:
注册与所述目标应用程序对应的操作系统开发组件至操作系统文件,并注册与所述目标应用程序对应的应用信息至操作系统包信息文件中,以便完成所述目标应用程序的安装注册处理流程;其中,所述应用信息包括所述目标应用程序的权限信息、应用包名、用户唯一标识信息。
7.根据权利要求6所述的应用程序挂载方法,其特征在于,所述注册与所述目标应用程序对应的操作系统组件至操作系统文件之前,还包括:
从所述目标存储服务器中确定出与所述目标应用程序注册相关的应用目录,并解析位于该应用目录下的所述目标应用程序的安装包,以得到操作系统清单文件;
读取所述操作系统清单文件,以得到与所述目标应用程序对应的操作系统开发组件和所述应用信息。
8.一种应用程序挂载装置,其特征在于,包括:
挂载信息获取模块,用于接收目标应用程序的启动请求,并基于所述启动请求获取与所述目标应用程序对应的目标数据的目标挂载信息;
第一挂载模块,用于根据所述目标挂载信息将目标存储服务器中的网络目录挂载至本地的下层目录;其中,所述网络目录用于存储所述目标数据,所述下层目录为只读目录;
第二挂载模块,用于根据所述目标挂载信息将所述下层目录和本地的上层目录合并挂载至联合挂载目录上,以便当接收写命令时,则只对所述上层目录中与所述写命令对应的文件执行写操作,当接收读命令时,则优先对所述上层目录中与所述读命令对应的文件发起读操作。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的应用程序挂载方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的应用程序挂载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310255452.3A CN116339756A (zh) | 2023-03-09 | 2023-03-09 | 一种应用程序挂载方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310255452.3A CN116339756A (zh) | 2023-03-09 | 2023-03-09 | 一种应用程序挂载方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116339756A true CN116339756A (zh) | 2023-06-27 |
Family
ID=86883356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310255452.3A Pending CN116339756A (zh) | 2023-03-09 | 2023-03-09 | 一种应用程序挂载方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116339756A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909998A (zh) * | 2023-09-12 | 2023-10-20 | 海马云(天津)信息技术有限公司 | overlay文件系统下文件的处理方法和装置 |
CN117555876A (zh) * | 2024-01-11 | 2024-02-13 | 麒麟软件有限公司 | 一种基于虚拟文件系统的操作系统迁移评估方法及装置 |
-
2023
- 2023-03-09 CN CN202310255452.3A patent/CN116339756A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909998A (zh) * | 2023-09-12 | 2023-10-20 | 海马云(天津)信息技术有限公司 | overlay文件系统下文件的处理方法和装置 |
CN116909998B (zh) * | 2023-09-12 | 2023-12-12 | 海马云(天津)信息技术有限公司 | overlay文件系统下文件的处理方法和装置 |
CN117555876A (zh) * | 2024-01-11 | 2024-02-13 | 麒麟软件有限公司 | 一种基于虚拟文件系统的操作系统迁移评估方法及装置 |
CN117555876B (zh) * | 2024-01-11 | 2024-06-07 | 麒麟软件有限公司 | 一种基于虚拟文件系统的操作系统迁移评估方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116339756A (zh) | 一种应用程序挂载方法、装置、设备及存储介质 | |
US10728169B1 (en) | Instance upgrade migration | |
AU2017245437B2 (en) | Thin client for mapping system | |
CN106648462B (zh) | 数据存储方法及装置 | |
US11029932B2 (en) | Hydration of applications | |
CN110688174A (zh) | 容器启动方法、存储介质和电子设备 | |
US11681585B2 (en) | Data migration for a shared database | |
CN113127430B (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
CN115509563B (zh) | 镜像文件制作方法、装置、设备及介质 | |
CN111459619A (zh) | 一种基于云平台实现服务的方法和装置 | |
US11977559B2 (en) | Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs | |
CN111309367B (zh) | 一种管理服务发现的方法、装置、介质和电子设备 | |
CN114026540B (zh) | 用于支持和协商跨多个产品的多个api版本的系统和方法 | |
CN114328007A (zh) | 一种容器备份还原方法、装置及其介质 | |
US11853783B1 (en) | Identifying hosts for dynamically enabling specified features when resuming operation of a virtual compute instance | |
EP4191401A1 (en) | Application installation method based on cloud phone, and cloud platform and related device | |
CN115686547A (zh) | 前端页面管理方法、装置、设备及介质 | |
CN118132204A (zh) | 一种容器管理方法、装置、设备及介质 | |
CN116450221A (zh) | 中央处理器驱动的调用方法、装置及设备 | |
CN117544641A (zh) | 云主机镜像上传方法和装置 | |
CN116708583A (zh) | 业务执行方法、存储介质、设备及分布式系统 | |
CN114594906A (zh) | 块存储容量处理方法、系统、电子设备及存储介质 | |
CN114546580A (zh) | 缓存部署系统、缓存部署方法、电子设备及存储介质 | |
CN115756754A (zh) | 一种有状态服务的容器化运维方法及系统 | |
CN114064210A (zh) | 数据卷变更方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |