CN111125007B - 应用封装方法、设备及可读存储介质 - Google Patents
应用封装方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111125007B CN111125007B CN201911323655.1A CN201911323655A CN111125007B CN 111125007 B CN111125007 B CN 111125007B CN 201911323655 A CN201911323655 A CN 201911323655A CN 111125007 B CN111125007 B CN 111125007B
- Authority
- CN
- China
- Prior art keywords
- file
- virtual
- file system
- request
- type
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种应用封装方法、设备及可读存储介质,所述应用封装方法通过基于通用文件***服务框架建立虚拟堆叠文件***,可为超程提供与通用文件***一致的数据存储目录;通过调用虚拟堆叠***根据不同的文件访问类型进行对应操作,使得虚拟堆叠文件***能够按需转发文件访问请求,从而实现按照常规的访问模式对目标文件进行访问;通过预设超程控制模块上传文件访问请求的访问结果,使得查询超程所在的虚拟***环境的进程列表时,返回结果中只包含属于对应超程的进程信息。本发明通过在超程启动时,动态地将根文件***切换至虚拟堆叠***,将超程内所有进程的文件访问请求重新定向至虚拟堆叠***,实现了文件的***级的隔离。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用封装方法、设备及可读存储介质。
背景技术
在传统操作***中,一个应用由一组紧密耦合、相互依赖、协同工作的程序组成,而每个程序则由一组代码库链接而成,以进程为单位调度运行。在传统操作***中存在大量被共享使用的代码库,使得应用升级改进时所带来的代码库升级一旦涉及这些共享库,所产生的影响将波及到整条依赖链上的其它应用,甚至导致其它的依赖升级之前的共享库的应用无法正常运行,使得应用升级困难。同时,由于动态链接技术的限制,代码库之间的通信为紧耦合方式,且共享***支撑库。紧耦合的进程间通信方式使得一个应用失效很容易导致同一***上运行的其它应用失效。从而导致了应用紧耦合导致的影响域过大的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种应用封装方法,旨在解决应用紧耦合导致的影响域过大的技术问题。
为实现上述目的,本发明提供一种应用封装方法,所述应用封装方法应用于应用封装设备,所述应用封装方法包括以下步骤:
接收用于访问预设虚拟堆叠文件***的文件访问请求,并判定所述文件访问请求的请求类型,其中,所述虚拟堆叠文件***基于虚拟***环境与通用文件***服务框架将超程中的文件层叠后进行管理;
调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果;
基于预设超程控制模块将所述返回结果发送至上层应用,以将超程内所有进程的文件访问操作重定向至所述虚拟堆叠文件***。
可选地,所述接收用于访问预设虚拟堆叠文件***的文件访问请求的步骤包括:
接收基于预设聚合目录视图发送的文件访问请求,其中,所述预设聚合目录视图为所述虚拟堆叠文件***对应的可视化逻辑视图。
可选地,所述接收用于访问预设虚拟堆叠文件***的文件访问请求,并判定所述文件访问请求的请求类型的步骤之前,还包括:
添加所述虚拟堆叠文件***所需的虚拟网卡与虚拟网卡桥接器,以为超程提供网络连接。
可选地,所述调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果的步骤包括:
在所述请求类型为文件检索类型时,从后至前逐层调用所述虚拟堆叠文件***的文件检索操作记录;
基于所述文件检索操作记录获取所述文件访问请求的返回结果,以确定目标文件;
在所述请求类型为编辑请求类型时,调用所述虚拟堆叠文件***对基于文件检索请求确定的所述目标文件进行相应操作,并获取编辑请求类型的文件访问请求的返回结果,其中,所述编辑请求类型包括文件读取类型、文件写入类型与文件删除类型。
可选地,所述基于所述文件检索操作记录获取所述文件访问请求的返回结果的步骤包括:
基于所述文件检索操作记录判断所述虚拟堆叠文件***中是否存在所述目标文件;
若所述虚拟堆叠文件***中存在所述目标文件,则将所述目标文件对应的标签信息作为所述返回结果,以确定所述目标文件;
若所述虚拟堆叠文件***中不存在所述目标文件,则生成文件不存在的状态信息,作为所述返回信息。
可选地,所述在所述请求类型为编辑请求类型时,调用所述虚拟堆叠文件***对基于文件检索请求确定的所述目标文件进行相应操作,并获取编辑请求类型的文件访问请求的返回结果的步骤包括:
在所述请求类型为所述文件写入类型或所述文件删除类型时,判断所述目标文件是否存在于所述虚拟堆叠文件***中的最后一层;
若所述目标文件存在于所述虚拟堆叠文件***中的最后一层,则将所述文件访问请求传递至所述目标文件;
调用所述虚拟堆叠文件***对所述目标文件进行写入或删除操作,并生成相应的返回结果。
可选地,所述在所述请求类型为编辑请求类型时,调用所述虚拟堆叠文件***对基于文件检索请求确定的所述目标文件进行相应操作,并获取编辑请求类型的文件访问请求的返回结果的步骤包括:
在所述请求类型为所述文件读取类型时,将所述文件访问请求传递至所述目标文件,调用所述虚拟堆叠文件***对所述目标文件执行读取操作。
可选地,所述调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果的步骤包括:
在所述请求类型为文件遍历类型时,根据所述虚拟堆叠文件***的层叠顺序,从后至前逐层调用所述虚拟堆叠文件***的文件遍历操作;
基于各层的文件删除操作记录,聚合各层的文件遍历结果,以将聚合后的遍历结果作为所述返回结果。
此外,为实现上述目的,本发明还提供一种应用封装设备,所述应用封装设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用封装程序,所述应用封装程序被所述处理器执行时实现如上述的应用封装方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有应用封装程序,所述应用封装程序被处理器执行时实现如上述的应用封装方法的步骤。
本发明提供一种应用封装方法、设备及计算机可读存储介质。所述应用封装方法通过接收用于访问预设虚拟堆叠文件***的文件访问请求,并判定所述文件访问请求的请求类型,其中,所述虚拟堆叠文件***基于虚拟***环境与通用文件***服务框架将超程中的文件层叠后进行管理;调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果;基于预设超程控制模块将所述返回结果发送至上层应用,以将超程内所有进程的文件访问操作重定向至所述虚拟堆叠文件***。通过上述方式,本发明基于通用文件***服务框架建立虚拟堆叠文件***,可为超程提供与通用文件***一致的数据存储目录;通过调用虚拟堆叠***根据不同的文件访问类型进行对应操作,使得虚拟堆叠文件***能够按需转发文件访问请求,从而实现按照常规的访问模式对目标文件进行访问;通过预设超程控制模块上传文件访问请求的访问结果,使得查询超程所在的虚拟***环境的进程列表时,返回结果中只包含属于对应超程的进程信息。本发明通过在超程启动时,动态地将根文件***切换至虚拟堆叠***,将超程内所有进程的文件访问请求重新定向至虚拟堆叠***,实现了文件的***级的隔离,从而解决了应用紧耦合导致的影响域过大的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明应用封装方法第一实施例的流程示意图;
图3为本发明应用封装方法的面向超程包的聚合目录示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及应用封装程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的应用封装程序,并执行以下操作:
接收用于访问预设虚拟堆叠文件***的文件访问请求,并判定所述文件访问请求的请求类型,其中,所述虚拟堆叠文件***基于虚拟***环境与通用文件***服务框架将超程中的文件层叠后进行管理;
调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果;
基于预设超程控制模块将所述返回结果发送至上层应用,以将超程内所有进程的文件访问操作重定向至所述虚拟堆叠文件***。
进一步地,处理器1001可以调用存储器1005中存储的应用封装程序,还执行以下操作:
接收基于预设聚合目录视图发送的文件访问请求,其中,所述预设聚合目录视图为所述虚拟堆叠文件***对应的可视化逻辑视图。
进一步地,处理器1001可以调用存储器1005中存储的应用封装程序,还执行以下操作:
添加所述虚拟堆叠文件***所需的虚拟网卡与虚拟网卡桥接器,以为超程提供网络连接。
进一步地,处理器1001可以调用存储器1005中存储的应用封装程序,还执行以下操作:
在所述请求类型为文件检索类型时,从后至前逐层调用所述虚拟堆叠文件***的文件检索操作记录;
基于所述文件检索操作记录获取所述文件访问请求的返回结果,以确定目标文件;
在所述请求类型为编辑请求类型时,调用所述虚拟堆叠文件***对基于文件检索请求确定的所述目标文件进行相应操作,并获取编辑请求类型的文件访问请求的返回结果,其中,所述编辑请求类型包括文件读取类型、文件写入类型与文件删除类型。
进一步地,处理器1001可以调用存储器1005中存储的应用封装程序,还执行以下操作:
基于所述文件检索操作记录判断所述虚拟堆叠文件***中是否存在所述目标文件;
若所述虚拟堆叠文件***中存在所述目标文件,则将所述目标文件对应的标签信息作为所述返回结果,以确定所述目标文件;
若所述虚拟堆叠文件***中不存在所述目标文件,则生成文件不存在的状态信息,作为所述返回信息。
进一步地,处理器1001可以调用存储器1005中存储的应用封装程序,还执行以下操作:
在所述请求类型为所述文件写入类型或所述文件删除类型时,判断所述目标文件是否存在于所述虚拟堆叠文件***中的最后一层;
若所述目标文件存在于所述虚拟堆叠文件***中的最后一层,则将所述文件访问请求传递至所述目标文件;
调用所述虚拟堆叠文件***对所述目标文件进行写入或删除操作,并生成相应的返回结果。
进一步地,处理器1001可以调用存储器1005中存储的应用封装程序,还执行以下操作:
在所述请求类型为所述文件读取类型时,将所述文件访问请求传递至所述目标文件,调用所述虚拟堆叠文件***对所述目标文件执行读取操作。
进一步地,处理器1001可以调用存储器1005中存储的应用封装程序,还执行以下操作:
在所述请求类型为文件遍历类型时,根据所述虚拟堆叠文件***的层叠顺序,从后至前逐层调用所述虚拟堆叠文件***的文件遍历操作;
基于各层的文件删除操作记录,聚合各层的文件遍历结果,以将聚合后的遍历结果作为所述返回结果。
基于上述硬件结构,提出本发明应用封装方法的各个实施例。
参照图2,图2为应用封装方法第一实施例的流程示意图。
本发明第一实施例提供一种应用封装方法,所述应用封装方法包括以下步骤:
在传统操作***中,一个应用由一组紧密耦合、相互依赖、协同工作的程序组成,而每个程序则由一组代码库链接而成,以进程为单位调度运行。在传统操作***中存在大量被共享使用的代码库,使得应用升级改进时所带来的代码库升级一旦涉及这些共享库,所产生的影响将波及到整条依赖链上的其它应用,甚至导致其它的依赖升级之前的共享库的应用无法正常运行,使得应用升级困难。同时,由于动态链接技术的限制,代码库之间的通信为紧耦合方式,且共享***支撑库。紧耦合的进程间通信方式使得一个应用失效很容易导致同一***上运行的其它应用失效。从而导致了应用紧耦合导致的影响域过大的技术问题。
在本实施例中,为解决上述问题,本发明提供一种应用封装方法,即基于通用文件***服务框架建立虚拟堆叠文件***,可为超程提供与通用文件***一致的数据存储目录;通过调用虚拟堆叠***根据不同的文件访问类型进行对应操作,使得虚拟堆叠文件***能够按需转发文件访问请求,从而实现按照常规的访问模式对目标文件进行访问;通过预设超程控制模块上传文件访问请求的访问结果,使得查询超程所在的虚拟***环境的进程列表时,返回结果中只包含属于对应超程的进程信息。本发明通过在超程启动时,动态地将根文件***切换至虚拟堆叠***,将超程内所有进程的文件访问请求重新定向至虚拟堆叠***,实现了文件的***级的隔离,从而解决了应用紧耦合导致的影响域过大的技术问题。所述应用封装方法应用于终端。
步骤S10,接收用于访问预设虚拟堆叠文件***的文件访问请求,并判定所述文件访问请求的请求类型,其中,所述虚拟堆叠文件***基于虚拟***环境与通用文件***服务框架将超程中的文件层叠后进行管理;
在本实施例中,需要说明的是,基于传统虚拟化技术的解决应用紧耦合导致的影响域过大的问题,通常是通过将应用封装到虚拟机中,利用虚拟化技术调度应用在虚拟机中运行,利用虚拟机之间的隔离,实现应用的隔离。但是传统虚拟化技术的设计目标是为虚拟机虚拟出整个硬件环境,且在虚拟机中能支持多种操作***运行,如Windows、Mac OSX、Linux。为了达到良好的通用性,传统的虚拟化技术的性能和资源开销均比较大,使得在虚拟机中运行的应用性能损失较多,且***能支持的同时运行的虚拟机数量有限。本发明考虑到运行于定制操作***之上的应用,没有运行其它操作***的需求,主要需求是实现应用的隔离,提出了在虚拟***环境中基于超程的应用封装方法。其中,超程是一个具有一定独立功能的应用在一个资源集上的动态执行过程,是操作***调度运行应用时的最小单元,它由应用、应用所依赖的支撑库、以及其它必要的运行环境和***资源组成。
终端可基于通用文件***服务框架在虚拟***环境中建立虚拟堆叠文件***将超程包中的数据以分层的方式进行存储。用户当前发送访问超程中文件的文件访问请求时,终端上的虚拟堆叠文件***接收到这一文件访问请求,识别这一文件访问请求的类型。
步骤S20,调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果;
其中,请求类型可为文件遍历、文件检索、文件创建、文件删除、文件读取、文件写入等。
在本实施例中,根据当前文件访问请求的具体访问类型,终端调用虚拟堆叠文件***进行相应操作,并获取对应的返回结果。具体实施例中,若访问类型为文件遍历,则将按照虚拟堆叠文件***中对应的层叠顺序,从后向前地逐层调用文件***的文件遍历操作,结合每层的文件删除操作记录,将各层的遍历结果进行聚合,并将聚合后的遍历结果作为这一文件访问请求的返回结果。若当前文件访问请求的访问类型为文件遍历类型,终端则将按照虚拟堆叠文件***中对应的层叠顺序,从后向前地逐层调用文件***的文件检索操作。终端根据逐层调用的文件检索操作记录,通过判断文件检索记录中是否存在目标文件的文件名称,从而进一步判断虚拟堆叠文件***中是否存在目标文件。若虚拟堆叠文件***的某层中存在目标文件,则以该目标文件作为文件检索操作的返回结果。若虚拟堆叠文件***中某层的文件删除操作记录中包含了对于目标文件名称的删除操作,或各层皆未检索出目标文件的文件名称,则以文件不存在这一状态作为该文件检索操作的返回结果。若终端判定当前的请求类型为文件写入类型,则进一步判断目标文件是否存在于虚拟堆叠文件***的最后一层。若目标文件存在于最后一层,则将该文件访问请求直接传递给目标文件,调用虚拟堆叠文件***对目标文件执行文件写入操作,并将该文件写入操作是否执行成功的信息作为该文件写入请求的返回结果。需要说明的是,在具体的实现代码中,如果写入操作成功会有返回值,如果不成功,会返回异常信息。若目标文件不存在于最后一层,则将该目标文件先复制至最后一层,并将文件检索的结果替换并指向最后一层中目标文件,再把该文件访问请求直接传递给最后一层当中的目标文件,调用虚拟堆叠文件***执行文件写入操作,将该文件写入操作是否执行成功的信息作为该文件写入请求的返回结果。若终端判定当前的请求类型为文件删除类型,则将该文件删除请求中的文件名记录至最后一层的文件删除操作记录中,并判断文件检索确定的目标文件是否也位于最后一层。若文件检索确定的目标文件也位于最后一层,则调用虚拟堆叠文件***将该目标文件同步删除,将该文件删除操作是否执行成功的信息作为该文件删除请求的返回结果。在具体的实现代码中,如果写入操作成功会有返回值,如果不成功,会返回异常信息。若文件检索确定的目标文件不存在于最后一层,则将该删除请求直接传递给目标文件,调用文件***对目标文件执行文件删除操作,将该文件删除操作是否执行成功的信息作为该文件删除请求的返回结果。
步骤S30,基于预设超程控制模块将所述返回结果发送至上层应用,以将超程内所有进程的文件访问操作重定向至所述虚拟堆叠文件***。
其中,预设超程控制模块用于描述进程所属的超程。
在本实施例中,可在预先在终端的进程控制模块中添加一组超程控制模块的引用,使得查询超程所在虚拟***环境的进程列表时,返回的结果中只包含属于对应超程的进程。终端在获取到文件访问请求的返回结果时,基于预设的超程控制模块,将仅包含超程的进程信息的返回结果上传至上传上层应用。
本发明提供一种应用封装方法。所述应用封装方法通过接收用于访问预设虚拟堆叠文件***的文件访问请求,并判定所述文件访问请求的请求类型,其中,所述虚拟堆叠文件***基于虚拟***环境与通用文件***服务框架将超程中的文件层叠后进行管理;调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果;基于预设超程控制模块将所述返回结果发送至上层应用,以将超程内所有进程的文件访问操作重定向至所述虚拟堆叠文件***。通过上述方式,本发明基于通用文件***服务框架建立虚拟堆叠文件***,可为超程提供与通用文件***一致的数据存储目录;通过调用虚拟堆叠***根据不同的文件访问类型进行对应操作,使得虚拟堆叠文件***能够按需转发文件访问请求,从而实现按照常规的访问模式对目标文件进行访问;通过预设超程控制模块上传文件访问请求的访问结果,使得查询超程所在的虚拟***环境的进程列表时,返回结果中只包含属于对应超程的进程信息。本发明通过在超程启动时,动态地将根文件***切换至虚拟堆叠***,将超程内所有进程的文件访问请求重新定向至虚拟堆叠***,实现了文件的***级的隔离,从而解决了应用紧耦合导致的影响域过大的技术问题。
图中未示的,基于上述图2所示的第一实施例,提出本发明应用封装方法第二实施例。在本实施例中,步骤S10包括:
步骤a,接收基于预设聚合目录视图发送的文件访问请求,其中,所述预设聚合目录视图为所述虚拟堆叠文件***对应的可视化逻辑视图。
在本实施例中,可以理解的是。在步骤a之前,用户可将原有的企业级文件***的多个目录视图有序地层叠到一起,聚合形成单一的目录视图,用户可以通过该目录视图来访问文件数据。如图3所示,聚合目录视图可以分为只读层和可读写层,只读层是与超程绑定的诸如CPU、内存、磁盘、网络等***资源,以及应用程序运行所需的动态链接共享库等,可读写层是应用所依赖的支撑库。此聚合目录视图是一个以目录为粒度的虚拟堆叠文件***的可视化逻辑表示。用户可基于这一逻辑表示,对虚拟堆叠文件***发送文件访问请求。
进一步地,在本实施例中,步骤S10之前,还包括:
步骤b,添加所述虚拟堆叠文件***所需的虚拟网卡与虚拟网卡桥接器,以为超程提供网络连接。
在本实施例中,可通过在终端的操作***内核中增加虚拟网卡,为超程分配不同的虚拟网卡,确保不同的超程只能操作不同的网络接口。同时,通过设计虚拟网卡桥接器,根据需要将超程中的虚拟网卡连接至节点的物理网络,为超程提供实际的网络连接。
本发明提供一种应用封装方法。所述应用封装方法进一步为用户提供了虚拟堆叠***所对应的可视化逻辑表示——聚合目录视图,使得视线按照普通目录的访问模式来操作虚拟目录,提升了用户体验;通过为超程独立设置对应的虚拟网卡与虚拟网卡桥接器,确保了不同的超程只能操作不同的网络接口,并为超程提供了实际的网络连接。
图中未示的,基于上述图2所示的第一实施例,提出本发明应用封装方法第三实施例。在本实施例中,步骤S20包括:
步骤c,在所述请求类型为文件检索类型时,从后至前逐层调用所述虚拟堆叠文件***的文件检索操作记录;
在本实施例中,若经判定当前文件访问请求的访问类型为文件遍历类型,终端则将按照虚拟堆叠文件***中对应的层叠顺序,从后向前地逐层调用文件***的文件检索操作。
步骤d,基于所述文件检索操作记录获取所述文件访问请求的返回结果,以确定目标文件;
在本实施例中,终端判断在当前所获得到的文件检索操作记录中是否存在目标文件的标识信息。并在文件检索操作记录中存在目标文件的标识信息时,获取这一标识信息,以便根据这一标识信息确定对的目标文件。
步骤e,在所述请求类型为编辑请求类型时,调用所述虚拟堆叠文件***对基于文件检索请求确定的所述目标文件进行相应操作,并获取编辑请求类型的文件访问请求的返回结果,其中,所述编辑请求类型包括文件读取类型、文件写入类型与文件删除类型。
本实施例中,若终端判定当前的请求类型为文件读取类型,则把访问请求直接传递给文件检索时确定的目标文件。终端调用虚拟堆叠文件***对该目标文件执行读取操作,并把目标文件的内容作为该文件访问请求的返回结果。若终端判定所要写入或是删除的目标文件存在于所述虚拟堆叠文件***中可读写层的最后一层,则调用虚拟堆叠文件***将该目标文件进行写入或删除操作,并将操作是否成功的信息作为该请求的返回结果。
进一步地,在本实施例中,步骤d包括:
步骤f,基于所述文件检索操作记录判断所述虚拟堆叠文件***中是否存在所述目标文件;
在本实施例中,终端根据逐层调用的文件检索操作记录,通过判断文件检索记录中是否存在目标文件的文件名称,从而进一步判断虚拟堆叠文件***中是否存在目标文件。
步骤g,若所述虚拟堆叠文件***中存在所述目标文件,则将所述目标文件对应的标签信息作为所述返回结果,以确定所述目标文件;
其中,标签信息可为目标文件的文件名、物理地址等信息。
在本实施例中,若终端判定虚拟堆叠文件***的某层中存在目标文件的标签信息,则可进一步判定存在目标文件,并以该目标文件的标签信息作为文件检索操作的返回结果。
步骤h,若所述虚拟堆叠文件***中不存在所述目标文件,则生成文件不存在的状态信息,作为所述返回信息。
在本实施例中,若终端判定虚拟堆叠文件***中某层的文件删除操作记录中包含了对于目标文件名称的删除操作,或各层皆未检索出目标文件的文件名称,则以文件不存在这一状态作为该文件检索操作的返回结果。
进一步地,在本实施例中,步骤e包括:
步骤i,在所述请求类型为所述文件写入类型或所述文件删除类型时,判断所述目标文件是否存在于所述虚拟堆叠文件***中的最后一层;
在本实施例中,当终端判定当前的文件访问请求的请求类型为文件写入类型或是文件删除类型时,判断该请求对应的目标文件是否存在于虚拟堆叠文件***中可读写层的最后一层。
步骤j,若所述目标文件存在于所述虚拟堆叠文件***中的最后一层,则将所述文件访问请求传递至所述目标文件;
步骤k,调用所述虚拟堆叠文件***对所述目标文件进行写入或删除操作,并生成相应的返回结果。
在本实施例中,若终端判定当前的请求类型为文件写入类型,则进一步判断目标文件是否存在于虚拟堆叠文件***的最后一层。若目标文件存在于最后一层,则将该文件访问请求直接传递给目标文件,调用虚拟堆叠文件***对目标文件执行文件写入操作,并将该文件写入操作是否执行成功的信息作为该文件写入请求的返回结果。需要说明的是,在具体的实现代码中,如果写入操作成功会有返回值,如果不成功,会返回异常信息。若目标文件不存在于最后一层,则将该目标文件先复制至最后一层,并将文件检索的结果替换并指向最后一层中目标文件,再把该文件访问请求直接传递给最后一层当中的目标文件,调用虚拟堆叠文件***执行文件写入操作,将该文件写入操作是否执行成功的信息作为该文件写入请求的返回结果。
若终端判定当前的请求类型为文件删除类型,则将该文件删除请求中的文件名记录至最后一层的文件删除操作记录中,并判断文件检索确定的目标文件是否也位于最后一层。若文件检索确定的目标文件也位于最后一层,则调用虚拟堆叠文件***将该目标文件同步删除,将该文件删除操作是否执行成功的信息作为该文件删除请求的返回结果。在具体的实现代码中,如果写入操作成功会有返回值,如果不成功,会返回异常信息。若文件检索确定的目标文件不存在于最后一层,则将该删除请求直接传递给目标文件,调用文件***对目标文件执行文件删除操作,将该文件删除操作是否执行成功的信息作为该文件删除请求的返回结果。
进一步地,在本实施例中,步骤e还包括:
步骤l,在所述请求类型为所述文件读取类型时,将所述文件访问请求传递至所述目标文件,调用所述虚拟堆叠文件***对所述目标文件执行读取操作。
在本实施例中,若终端判定当前的请求类型为文件读取类型,则把访问请求直接传递给文件检索时确定的目标文件。终端调用虚拟堆叠文件***对该目标文件执行读取操作,并把目标文件的内容作为该文件访问请求的返回结果。
进一步地,步骤S20还包括:
步骤m,在所述请求类型为文件遍历类型时,根据所述虚拟堆叠文件***的层叠顺序,从后至前逐层调用所述虚拟堆叠文件***的文件遍历操作;
在本实施例中,若终端判定访问类型为文件遍历,则将按照虚拟堆叠文件***所对应可视化逻辑表示,也即是上述聚合目录视图的层叠顺序,从后向前地逐层调用文件***的文件遍历操作。
步骤n,基于各层的文件删除操作记录,聚合各层的文件遍历结果,以将聚合后的遍历结果作为所述返回结果。
在本实施例中,终端结合每层的文件删除操作记录,将各层的遍历结果进行聚合,并将聚合后的遍历结果作为这一文件访问请求的返回结果。
本发明提供一种应用封装方法。所述应用封装方法进一步通过具体到对文件遍历、文件检索、文件删除、文件读取与文件写入的请求类型的处理方式,使得虚拟堆叠***能够基于通用文件***服务框架,重新实现文件遍历、检索、删除、读取、写入这些处理函数,能够按需转发文件访问请求,从而实现按照普通目录的访问模式来操作虚拟目录。
本发明还提供一种应用封装设备。
所述应用封装设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的应用封装程序,其中所述应用封装程序被所述处理器执行时,实现如上所述的应用封装方法的步骤。
其中,所述应用封装程序被执行时所实现的方法可参照本发明应用封装方法的各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有应用封装程序,所述应用封装程序被处理器执行时实现如上所述的应用封装方法的步骤。
其中,所述应用封装程序被执行时所实现的方法可参照本发明应用封装方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种应用封装方法,其特征在于,所述应用封装方法包括:
接收用于访问预设虚拟堆叠文件***的文件访问请求,并判定所述文件访问请求的请求类型,其中,所述虚拟堆叠文件***基于虚拟***环境与通用文件***服务框架将超程中的文件层叠后进行管理;
调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果;
基于预设超程控制模块将所述返回结果发送至上层应用,以将超程内所有进程的文件访问操作重定向至所述虚拟堆叠文件***;
其中,所述调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果的步骤包括:
在所述请求类型为文件遍历类型时,根据所述虚拟堆叠文件***的层叠顺序,从后至前逐层调用所述虚拟堆叠文件***的文件遍历操作;
基于各层的文件删除操作记录,聚合各层的文件遍历结果,以将聚合后的遍历结果作为所述返回结果。
2.如权利要求1所述的应用封装方法,其特征在于,所述接收用于访问预设虚拟堆叠文件***的文件访问请求的步骤包括:
接收基于预设聚合目录视图发送的文件访问请求,其中,所述预设聚合目录视图为所述虚拟堆叠文件***对应的可视化逻辑视图。
3.如权利要求1所述的应用封装方法,其特征在于,所述接收用于访问预设虚拟堆叠文件***的文件访问请求,并判定所述文件访问请求的请求类型的步骤之前,还包括:
添加所述虚拟堆叠文件***所需的虚拟网卡与虚拟网卡桥接器,以为超程提供网络连接。
4.如权利要求1所述的应用封装方法,其特征在于,所述调用所述虚拟堆叠文件***基于所述请求类型进行相应操作,获取所述文件访问请求的返回结果的步骤包括:
在所述请求类型为文件检索类型时,从后至前逐层调用所述虚拟堆叠文件***的文件检索操作记录;
基于所述文件检索操作记录获取所述文件访问请求的返回结果,以确定目标文件;
在所述请求类型为编辑请求类型时,调用所述虚拟堆叠文件***对基于文件检索请求确定的所述目标文件进行相应操作,并获取编辑请求类型的文件访问请求的返回结果,其中,所述编辑请求类型包括文件读取类型、文件写入类型与文件删除类型。
5.如权利要求4所述的应用封装方法,其特征在于,所述基于所述文件检索操作记录获取所述文件访问请求的返回结果的步骤包括:
基于所述文件检索操作记录判断所述虚拟堆叠文件***中是否存在所述目标文件;
若所述虚拟堆叠文件***中存在所述目标文件,则将所述目标文件对应的标签信息作为所述返回结果,以确定所述目标文件;
若所述虚拟堆叠文件***中不存在所述目标文件,则生成文件不存在的状态信息,作为返回信息。
6.如权利要求5所述的应用封装方法,其特征在于,所述在所述请求类型为编辑请求类型时,调用所述虚拟堆叠文件***对基于文件检索请求确定的所述目标文件进行相应操作,并获取编辑请求类型的文件访问请求的返回结果的步骤包括:
在所述请求类型为所述文件写入类型或所述文件删除类型时,判断所述目标文件是否存在于所述虚拟堆叠文件***中的最后一层;
若所述目标文件存在于所述虚拟堆叠文件***中的最后一层,则将所述文件访问请求传递至所述目标文件;
调用所述虚拟堆叠文件***对所述目标文件进行写入或删除操作,并生成相应的返回结果。
7.如权利要求6所述的应用封装方法,其特征在于,所述在所述请求类型为编辑请求类型时,调用所述虚拟堆叠文件***对基于文件检索请求确定的所述目标文件进行相应操作,并获取编辑请求类型的文件访问请求的返回结果的步骤包括:
在所述请求类型为所述文件读取类型时,将所述文件访问请求传递至所述目标文件,调用所述虚拟堆叠文件***对所述目标文件执行读取操作。
8.一种应用封装设备,其特征在于,所述应用封装设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的应用封装程序,所述应用封装程序被所述处理器执行时实现如权利要求1至7中任一项所述的应用封装方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有应用封装程序,所述应用封装程序被处理器执行时实现如权利要求1至7中任一项所述的应用封装方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911323655.1A CN111125007B (zh) | 2019-12-18 | 2019-12-18 | 应用封装方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911323655.1A CN111125007B (zh) | 2019-12-18 | 2019-12-18 | 应用封装方法、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125007A CN111125007A (zh) | 2020-05-08 |
CN111125007B true CN111125007B (zh) | 2023-06-20 |
Family
ID=70500501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911323655.1A Active CN111125007B (zh) | 2019-12-18 | 2019-12-18 | 应用封装方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125007B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7089344B1 (en) * | 2000-06-09 | 2006-08-08 | Motorola, Inc. | Integrated processor platform supporting wireless handheld multi-media devices |
US20100042719A1 (en) * | 2008-08-12 | 2010-02-18 | Junji Kinoshita | Content access to virtual machine resource |
CN102520994A (zh) * | 2011-12-06 | 2012-06-27 | 北京航空航天大学 | 流式加载虚拟文件方法及*** |
CN103067507A (zh) * | 2012-12-28 | 2013-04-24 | 国家计算机网络与信息安全管理中心 | 互联网云计算资源虚拟化封装***及方法 |
CN103150402B (zh) * | 2013-03-27 | 2016-09-21 | 网宿科技股份有限公司 | 基于索引编码的虚拟文件***及建立方法、访问方法 |
EP2840481B1 (en) * | 2013-07-02 | 2017-09-06 | Hitachi Data Systems Engineering UK Limited | Apparatus and computer program product for virtualization of a file system |
CN105579950B (zh) * | 2013-07-02 | 2019-04-19 | 日立数据***工程英国有限公司 | 用于虚拟化文件***的迁移的方法和装置、用于虚拟化文件***的迁移的数据存储***以及用于在数据存储***中使用的文件服务器 |
WO2016082196A1 (zh) * | 2014-11-28 | 2016-06-02 | 华为技术有限公司 | 文件访问方法、装置及存储设备 |
CN105573801B (zh) * | 2015-12-23 | 2019-02-01 | 迈普通信技术股份有限公司 | 堆叠***中实现软件升级的方法、装置及*** |
CN110018859B (zh) * | 2019-04-15 | 2022-04-22 | 珠海全志科技股份有限公司 | 设备启动方法、装置、计算机设备和存储介质 |
-
2019
- 2019-12-18 CN CN201911323655.1A patent/CN111125007B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111125007A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6258494B2 (ja) | 仮想コンピュータ処理のインスタンス移動 | |
US11347685B2 (en) | File management method and apparatus | |
CN107168905B (zh) | 一种文件显示方法、装置、存储介质及移动终端 | |
US20130227085A1 (en) | Terminal and method for using cloud services | |
US20140380340A1 (en) | Dependency Based Configuration Package Activation | |
US20080182668A1 (en) | Information processor | |
CN104516885A (zh) | 浏览程序双内核组件的实现方法及装置 | |
CN109684573B (zh) | 目标图片显示方法及装置、存储介质、电子设备 | |
CN109814863A (zh) | 一种请求返回数据的处理方法、装置、计算机设备及计算机存储介质 | |
CN113900597A (zh) | 一种数据存储方法、***、设备及存储介质 | |
CN114138139A (zh) | 应用程序卡片的管理方法、电子设备、产品及介质 | |
CN111316618A (zh) | 一种网络页面保存方法及终端 | |
KR101512296B1 (ko) | 어플리케이션 연관 파일 처리 단말 및 단말의 어플리케이션 연관 파일 처리 방법 | |
CN108228842B (zh) | Docker镜像库文件存储方法、终端、设备以及存储介质 | |
CN111125007B (zh) | 应用封装方法、设备及可读存储介质 | |
KR101899970B1 (ko) | 모바일 클라우드 환경에 적용되는 모바일 단말과 클라우드 서버 및 이를 이용한 모바일 클라우드 컴퓨팅 방법 | |
CN111382136B (zh) | 文件***镜像及文件请求方法 | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
US20210026807A1 (en) | Method for managing data associated with application and electronic device therefor | |
CN112052377A (zh) | 资源推荐方法、装置、服务器和存储介质 | |
US8588851B2 (en) | Android mobile telephone comprising a content supply chain | |
CN110879711A (zh) | 个人云***及其相关本地化方法 | |
CN114090083B (zh) | 一种可视化组件配置方法、装置、设备及存储介质 | |
US12039364B1 (en) | Allocating functionality of a block device driver | |
CN113222174B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |