CN105677393B - 一种软件包处理方法、装置及系统 - Google Patents

一种软件包处理方法、装置及系统 Download PDF

Info

Publication number
CN105677393B
CN105677393B CN201511021276.9A CN201511021276A CN105677393B CN 105677393 B CN105677393 B CN 105677393B CN 201511021276 A CN201511021276 A CN 201511021276A CN 105677393 B CN105677393 B CN 105677393B
Authority
CN
China
Prior art keywords
application program
application
package
catalogue
read
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
Application number
CN201511021276.9A
Other languages
English (en)
Other versions
CN105677393A (zh
Inventor
刘旺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ThunderSoft Co Ltd
Original Assignee
ThunderSoft Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ThunderSoft Co Ltd filed Critical ThunderSoft Co Ltd
Priority to CN201511021276.9A priority Critical patent/CN105677393B/zh
Publication of CN105677393A publication Critical patent/CN105677393A/zh
Application granted granted Critical
Publication of CN105677393B publication Critical patent/CN105677393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种软件包处理方法、装置及系统,该方法中,通过将应用程序的软件包按照带有文件系统的压缩方式进行压缩,缩小了系统的容量,并且,为每一个应用程序压缩包分配一个可读写空间,保证了应用程序能够正常运行,然后将压缩以后的应用程序压缩包及其对应的可读写空间的目录挂载到预设的应用目录下,以实现对软件包的管理。系统可以通过该应用目录快速查找应用程序的软件包,并对其进行处理。在该方法中,没有利用任何除系统应用程序以外的其他程序来实现对软件包的管理,因此,没有额外增加系统的容量,从而使得该方法可以适用于任何系统,具有较强的通用性。

Description

一种软件包处理方法、装置及系统
技术领域
本申请涉及文件系统技术领域,尤其涉及一种软件包处理方法、装置及系统。
背景技术
在Linux系统中,通常包含有很多个应用程序,而每个应用程序都会对应有一个软件包,这些软件包的存在,增加了系统的维护难度,因此,需要对其进行统一的管理。目前,主要的软件包管理工具为RPM软件包管理器(RedHat Package Manager,RPM),是一种用于互联网下载包的打包及安装工具。
如果Linux系统中需要软件包管理的功能,就需要安装RPM软件管理及其依赖的所有软件包。而要安装这些软件管理的依赖包,就会占用较多的磁盘空间。但是,对于某些系统来说,其占用空间的大小是一定的,没有更多的空间来存储这些依赖包。或者,对于某些系统来说,在存储这些依赖包后,会导致系统的整体容量变大,超出系统大小所规定的范围,进而导致无法使用RPM来进行软件包管理。因此,目前的软件包管理软件无法满足系统的需求,其通用性较差。亟需一种能够在不扩大系统容量,还能够实现软件包管理的方法。
发明内容
有鉴于此,本申请提供了一种软件包处理方法、装置及系统,以实现在不扩大系统容量的前提下,实现对软件包进行管理的目的。
为实现上述目的,本申请提供如下技术方案:
一种软件包处理方法,包括:
获取系统中按照预设方式将应用程序软件包进行压缩后得到的应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
分别为每一个应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述应用程序压缩包时占用的空间;
将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录;
触发所述应用程序压缩包中的安装脚本,安装所述应用程序压缩包对应的应用程序。
优选的,所述带有文件系统的压缩方式为squashfs文件系统压缩或Cramfs文件系统压缩。
优选的,所述获取系统中按照预设方式将应用程序软件包进行压缩后得到的应用程序压缩包的过程包括:
从预先建立的软件包存储文件夹中获取所述应用程序压缩包。
优选的,分别为每一个应用程序压缩包分配一个可读写空间后,还包括:
将所述可读写空间的目录存储在预先建立的目录存储文件夹。
优选的,所述将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录的过程包括:
从所述软件包存储文件夹中获取所述应用程序压缩包,并从所述目录存储文件夹中获取所述应用程序压缩包对应的可读写空间目录;
利用Aufs联合文件系统,将所述应用程序压缩包及其对应的可读写空间的目录联合挂载到所述预先设定的应用目录。
一种软件包处理方法,包括:
接收应用程序安装请求;
获取待安装应用程序的软件包;
将所述软件包按照按照预设方式进行压缩,得到待安装应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
触发软件包处理脚本,所述软件包处理脚本为所述待安装应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述待安装应用程序压缩包时占用的空间,将所述待安装应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录,触发所述待安装应用程序压缩包中的安装脚本,安装所述待安装应用程序压缩包对应的应用程序。
优选的,还包括:
接收应用程序卸载请求,所述请求中包含有待卸载应用程序标识;
在所述预先设定的应用目录下,查找与所述待卸载应用程序标识对应的挂载的应用程序压缩包及其对应的可读写空间的目录;
根据所述挂载的应用程序压缩包及其对应的可读写空间的目录,确定待卸载应用程序压缩包及其可读写空间;
删除所述待卸载应用程序压缩包及其对应的可读写空间。
一种软件包处理装置,包括:
软件包获取模块,用于获取系统中按照预设方式将应用程序软件包进行进行压缩后得到的应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
可读写空间分配模块,用于分别为每一个应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述应用程序压缩包时占用的空间;
挂载模块,用于将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录;
触发安装模块,用于触发所述应用程序压缩包中的安装脚本,安装所述应用程序压缩包对应的应用程序。
一种软件包处理系统,包括如上所述的软件包处理装置,还包括:
请求接收模块,用于接收应用程序安装请求;
待安装软件包获取模块,用于获取待安装应用程序的软件包;
压缩模块,用于将所述软件包按照按照预设方式进行压缩,得到待安装应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
触发处理模块,用于触发所述软件包处理装置,以使所述软件包处理装置为所述待安装应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述待安装应用程序压缩包时占用的空间,将所述待安装应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录,并触发所述待安装应用程序压缩包中的安装脚本,安装所述待安装应用程序压缩包对应的应用程序。
优选的,
所述请求接收模块还用于,接收应用程序卸载请求,所述请求中包含有待卸载应用程序标识;
所述系统还包括:
查找模块,用于在所述预先设定的应用目录下,查找与所述待卸载应用程序标识对应的挂载的应用程序压缩包及其对应的可读写空间的目录;
确定模块,用于根据所述挂载的应用程序压缩包及其对应的可读写空间的目录,确定待卸载应用程序压缩包及其可读写空间;
删除模块,用于删除所述待卸载应用程序压缩包及其对应的可读写空间。
经由上述的技术方案可知,本申请实施例公开的软件包处理方法中,通过将应用程序的软件包按照带有文件系统的压缩方式进行压缩,缩小了系统的容量,并且,为每一个应用程序压缩包分配一个可读写空间,保证了应用程序能够正常运行,然后将压缩以后的应用程序压缩包及其对应的可读写空间的目录挂载到预设的应用目录下,以实现对软件包的管理。系统可以通过该应用目录快速查找应用程序的软件包,并对其进行处理。在该方法中,没有利用除系统应用程序以外的任何其他程序来实现对软件包的管理,因此,没有额外增加系统的容量,从而使得该方法可以适用于任何系统,具有较强的通用性。
进一步的,由于对所有的软件包都按照带有文件系统的压缩方式进行压缩,使得系统容量进一步缩小,大大减少了系统占用内存的比例。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种软件包处理方法的流程图;
图2为本申请实施例公开的又一软件包处理方法的流程图;
图3为本申请实施例公开的联合挂载的示意图;
图4为本申请实施例公开的又一软件包处理方法的流程图;
图5为本申请实施例公开的又一软件包处理方法的流程图;
图6为本申请实施例公开的一种软件包处理装置的流程图;
图7为本申请实施例公开的一种软件包处理系统的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在Linux系统的发行版中,几乎每一个发行版都有自己的软件包管理系统。常见有:管理RPM软件包的RPM。这些管理工具,虽然可以良好地管理和维护软件包,但需要依赖较多的依赖软件,占用了较多的磁盘空间。如果完全放弃将软件包作为管理对象的话,将会面对一大堆散列的文件,系统维护的难度将大幅增加。
因此,需要一种能够在不扩大系统容量,还能够实现软件包管理的方法。本申请公开的软件包处理方法则是一种不依赖于软件包管理系统但能够实现对软件包的处理的方法。
详细介绍如下:
本申请实施例公开的一种软件包处理方法的流程如图1所示,在本实施例中,是从执行对软件包进行处理的脚本的角度进行的描述,该脚本为开发人员为了实现本发明而预先编制的一段程序,只要运行该脚本,就能执行下述流程,以实现本发明。每个步骤的执行者都默认为该脚本。
步骤S101:获取系统中按照预设方式将应用程序软件包进行压缩后得到的应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
在本实施例中,假设一个系统在此之前在利用其他的软件包管理软件,或者,还未安装过软件包管理软件,则可以将其所有的应用程序压缩包进行压缩,压缩方式为带有文件系统的压缩方式,具体可以为squashfs文件系统压缩或Cramfs文件系统压缩。
应用程序的内容如下:
一、AppManifest.xml描述文件:
1、版本信息和编译日期。
2、当前的架构。
3、应用程序的描述description。
4、依赖的模块。
5、作者和作者邮箱地址。
二、start.sh脚本:
用于导出本程序使用的环境变量,如bin的路径,lib的路径和资源路径等,然后再启动自己。
三、Install.sh脚本
在/usr/bin目录上创建链接文件(以唯一的应用名命名),来指向软件包中的start.sh的脚本,便于其他模块调用。
步骤S102:分别为每一个应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述应用程序压缩包时占用的空间;
由于每个压缩包在压缩状态或非压缩状态被运行时,都需要占用一定的内存空间,为了保证每个压缩包在运行时互相不影响,保证系统的正常工作,为每个压缩包都分配一个唯一对应的内存空间。
步骤S103:将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录。
将应用程序压缩包和可读写空间的目录一起挂在到预先设定的应用目录下,以方便系统查找该应用程序。
步骤S104:触发所述应用程序压缩包中的安装脚本,安装所述应用程序压缩包对应的应用程序。
本实施例公开的软件包处理方法,发生在系统每一次启动时,因为联合挂载这一手段为实时性的,所以每次系统启动时,将系统中的所有应用程序压缩包与对应的可读取空间目录进行联合挂载,然后再触发安装程序进行安装。
本申请实施例公开的软件包处理方法中,通过将应用程序的软件包按照带有文件系统的压缩方式进行压缩,缩小了系统的容量,并且,为每一个应用程序压缩包分配一个可读写空间,保证了应用程序能够正常运行,然后将压缩以后的应用程序压缩包及其对应的可读写空间的目录挂载到预设的应用目录下,以实现对软件包的管理。系统可以通过该应用目录快速查找应用程序的软件包,并对其进行处理。在该方法中,没有引进任何除系统应用程序以外的其他程序来实现对软件包的管理,因此,没有额外增加系统的容量,从而使得该方法可以适用于任何系统,具有较强的通用性。
进一步的,由于对所有的软件包都按照带有文件系统的压缩方式进行压缩,使得系统容量进一步缩小,大大减少了系统占用内存的比例。
在上述实施例中,按照预设方式进行应用程序压缩包可以存储在预先建立的软件包存储文件夹中。假设应用程序压缩包利用Squashfs进行压缩,则该文件夹可以命名为app-squ,其内部存储的多个应用程序压缩包为:app1.squa和app2.squa等。
进一步的,在上述实施例中,分别为每一个应用程序压缩包分配一个可读写空间后,还包括:
将所述可读写空间的目录存储在用于存储目录的文件夹。比如一个磁盘分区,分区名是/dev/sda4。需要把/dev/sda4分区挂载到/data目录下,在/data/目录下根据应用程序的压缩包来创建存储文件夹,比如应用程序压缩包为app1.squa,那么就创建/data/app-user/app1.user。
上述文件夹划分方式以及存储方式仅仅是本申请实施例举出的一个示例,并不起到限定作用。
并且,本申请实施例也并不限定一定按照上述方式将应用程序压缩包和可读写空间目录进行存储。两者可以存储在同一个文件夹中,也可以分散存储在多个文件夹中。只要系统中记录有应用程序压缩包与可读写空间目录的关联,能够找到应用程序对应的可读写空间即可。
进一步的,在上述实施例中,将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录的过程如图2所示,包括:
步骤S201:从所述软件包存储文件夹中获取所述应用程序压缩包,并从所述目录存储文件夹中获取所述应用程序压缩包对应的可读写空间目录;
步骤S202:利用Aufs联合文件系统,将所述应用程序压缩包及其对应的可读写空间的目录联合挂载到所述预先设定的应用目录。
上述过程的具体实现通过下述程序段完成:
mount-t aufs-o br:/data/app-user/app1.user=rw:/opt/app1.squa=ronone /data/app/app1
其作用为,把压缩后的应用程序只读的挂载到/opt/app1.squa,然后在这个目录之上再加上一层可读写的空间目录,如/data/app-user/app1.use,之后生成一个新的挂点就是/data/app/app1,这就是所谓的联合挂载。
参考上述将应用程序压缩包存储在预定的文件夹,以及,将可读写空间目录存储在预定的另一文件夹的方式,本实施例中,将两者联合挂载的示意图,如图3所示。
本申请并不限定只能采用联合挂载的方式,也可以采用单独挂载的方式,只要系统能够查找到,与挂载的应用程序压缩包对应的是哪一个挂载的可读取空间目录即可。才用联合挂载的方式,直观上将具有对应关系的应用程序压缩包和可读取空间目录建立其联系,使得用户或系统能够更加方便快速的对软件包进行处理。
在基于上述实施例的软件包处理方法的基础上,系统能够实现对应用程序压缩包的管理,当该管理具体为安装新的应用程序时,从系统的角度,该方法如图4所示,包括:
步骤S401:接收应用程序安装请求;
系统接收应用程序安装请求。
步骤S402:获取待安装应用程序的软件包;
步骤S403:将所述软件包按照按照预设方式进行压缩,得到待安装应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
步骤S404:触发软件包处理脚本,为所述待安装应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述待安装应用程序压缩包时占用的空间,将所述待安装应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录,并触发所述待安装应用程序压缩包中的安装脚本,安装所述待安装应用程序压缩包对应的应用程序。
该软件处理脚本即为上述实施例中的软件处理脚本。
由此可以看出,该方法中,安装新的应用程序时,只需将其按照预设方式进行压缩,然后调用预先编制的软件包处理脚本,及能实现应用程序的安装,并且,实现应用程序压缩包和可读写空间目录的挂载,整个实现过程简单方便。
当该管理具体为卸载应用程序时,从系统的角度,该方法如图5所示,包括:
步骤S501:接收应用程序卸载请求,所述请求中包含有待卸载应用程序标识;
步骤S502:在所述预先设定的应用目录下,查找与所述待卸载应用程序标识对应的挂载的应用程序压缩包及其对应的可读写空间的目录;
在应用目录下,找到标识对应的挂载的应用程序压缩包及其对应的可读写空间的目录。
步骤S503:根据所述挂载的应用程序压缩包及其对应的可读写空间的目录,确定待卸载应用程序压缩包及其可读写空间;
根据挂载的内容,找到存储在内存中的应用程序压缩包和可读写空间。
步骤S504:删除所述待卸载应用程序压缩包及其对应的可读写空间。
可以看出,通过挂载的方式,可以方便的找到要被处理的应用程序压缩包,然后通过删除的方式,可以方便的卸载应用程序,实现对应用程序压缩包的管理。
本申请实施例同时公开了一种软件包处理装置,其结构如图6所示,包括:
软件包获取模块601,用于获取系统中按照预设方式将应用程序软件包进行压缩后得到的应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
可读写空间分配模块602,用于分别为每一个应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述应用程序压缩包时占用的空间;
挂载模块603,用于将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录;
触发安装模块604,用于触发所述应用程序压缩包中的安装脚本,安装所述应用程序压缩包对应的应用程序。
其中,挂载模块603包括:
获取单元6031,用于从所述软件包存储文件夹中获取所述应用程序压缩包,并从所述目录存储文件夹中获取所述应用程序压缩包对应的可读写空间目录;
挂载单元6032,用于利用Aufs联合文件系统,将所述应用程序压缩包及其对应的可读写空间的目录联合挂载到所述预先设定的应用目录。
本申请实施例公开的软件包处理装置,通过将应用程序的软件包按照带有文件系统的压缩方式进行压缩,缩小了系统的容量,并且,为每一个应用程序压缩包分配一个可读写空间,保证了应用程序能够正常运行,然后将压缩以后的应用程序压缩包及其对应的可读写空间的目录挂载到预设的应用目录下,以实现对软件包的管理。系统可以通过该应用目录快速查找应用程序的软件包,并对其进行处理。在该方法中,没有引进任何除系统应用程序以外的其他程序来实现对软件包的管理,因此,没有额外增加系统的容量,从而使得该方法可以适用于任何系统,具有较强的通用性。
在系统中具有上述软件包处理装置后,系统对软件包的处理方式也相应的发生变化,因此,本申请也对应公开了一种软件包处理系统,其结构如图7所示,包括:如图6所示的软件包处理装置701,以及:
请求接收模块702,用于接收应用程序安装请求;
待安装软件包获取模块703,用于获取待安装应用程序的软件包;
压缩模块704,用于将所述软件包按照按照预设方式进行压缩,得到待安装应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
触发模块705,用于触发所述软件包处理装置701,以使所述软件包处理装置701为待安装应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述待安装应用程序压缩包时占用的空间,将所述待安装应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录,并触发所述待安装应用程序压缩包中的安装脚本,安装所述待安装应用程序压缩包对应的应用程序。
进一步的,请求接收模块702还用于,接收应用程序卸载请求,所述请求中包含有待卸载应用程序标识
该系统还包括:
查找模块706,用于在所述预先设定的应用目录下,查找与所述待卸载应用程序标识对应的挂载的应用程序压缩包及其对应的可读写空间的目录;
确定模块707,用于根据所述挂载的应用程序压缩包及其对应的可读写空间的目录,确定待卸载应用程序压缩包及其可读写空间;
删除模块708,用于删除所述待卸载应用程序压缩包及其对应的可读写空间。
由此可以看出,该系统中,在安装新的应用程序时,只需压缩模块将其按照预设方式进行压缩,然后调用预先编制的软件包处理装置,就能实现应用程序的安装,并且,实现待安装应用程序压缩包和可读写空间目录的挂载,整个实现过程简单方便。通过挂载的方式,可以方便的找到要被处理的应用程序压缩包,然后通过删除的方式,可以方便的卸载应用程序,实现对应用程序压缩包的管理。
进一步的,由于对所有的软件包都按照带有文件系统的压缩方式进行压缩,使得系统容量进一步缩小,大大减少了系统占用内存的比例。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种软件包处理方法,其特征在于,应用于系统中预先编制的软件包处理脚本,所述软件包处理方法包括:
获取系统中按照预设方式将应用程序软件包进行压缩后得到的应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
分别为每一个应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述应用程序压缩包时占用的空间;
将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录;
触发所述应用程序压缩包中的安装脚本,安装所述应用程序压缩包对应的应用程序。
2.根据权利要求1所述的方法,其特征在于,所述带有文件系统的压缩方式为squashfs文件系统压缩或Cramfs文件系统压缩。
3.根据权利要求1所述的方法,其特征在于,所述获取系统中按照预设方式将应用程序软件包进行压缩后得到的应用程序压缩包的过程包括:
从预先建立的软件包存储文件夹中获取所述应用程序压缩包。
4.根据权利要求3所述的方法,其特征在于,分别为每一个应用程序压缩包分配一个可读写空间后,还包括:
将所述可读写空间的目录存储在预先建立的目录存储文件夹。
5.根据权利要求4所述的方法,其特征在于,所述将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录的过程包括:
从所述软件包存储文件夹中获取所述应用程序压缩包,并从所述目录存储文件夹中获取所述应用程序压缩包对应的可读写空间目录;
利用Aufs联合文件系统,将所述应用程序压缩包及其对应的可读写空间的目录联合挂载到所述预先设定的应用目录。
6.一种软件包处理方法,其特征在于,包括:
接收应用程序安装请求;
获取待安装应用程序的软件包;
将所述软件包按照预设方式进行压缩,得到待安装应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
触发软件包处理脚本,所述软件包处理脚本为所述待安装应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述待安装应用程序压缩包时占用的空间,将所述待安装应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录,触发所述待安装应用程序压缩包中的安装脚本,安装所述待安装应用程序压缩包对应的应用程序。
7.根据权利要求6所述的方法,其特征在于,还包括:
接收应用程序卸载请求,所述请求中包含有待卸载应用程序标识;
在所述预先设定的应用目录下,查找与所述待卸载应用程序标识对应的挂载的应用程序压缩包及其对应的可读写空间的目录;
根据所述挂载的应用程序压缩包及其对应的可读写空间的目录,确定待卸载应用程序压缩包及其可读写空间;
删除所述待卸载应用程序压缩包及其对应的可读写空间。
8.一种软件包处理装置,其特征在于,包括:
软件包获取模块,用于获取系统中按照预设方式将应用程序软件包进行进行压缩后得到的应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
可读写空间分配模块,用于分别为每一个应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述应用程序压缩包时占用的空间;
挂载模块,用于将所述应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录;
触发安装模块,用于触发所述应用程序压缩包中的安装脚本,安装所述应用程序压缩包对应的应用程序。
9.一种软件包处理系统,其特征在于,包括如权利要求8所述的软件包处理装置,还包括:
请求接收模块,用于接收应用程序安装请求;
待安装软件包获取模块,用于获取待安装应用程序的软件包;
压缩模块,用于将所述软件包按照预设方式进行压缩,得到待安装应用程序压缩包,所述预设方式为带有文件系统的压缩方式;
触发处理模块,用于触发所述软件包处理装置,以使所述软件包处理装置为所述待安装应用程序压缩包分配一个可读写空间,所述可读写空间为读取所述待安装应用程序压缩包时占用的空间,将所述待安装应用程序压缩包及其对应的可读写空间的目录挂载到预先设定的应用目录,并触发所述待安装应用程序压缩包中的安装脚本,安装所述待安装应用程序压缩包对应的应用程序。
10.根据权利要求9所述的系统,其特征在于,
所述请求接收模块还用于,接收应用程序卸载请求,所述请求中包含有待卸载应用程序标识;
所述系统还包括:
查找模块,用于在所述预先设定的应用目录下,查找与所述待卸载应用程序标识对应的挂载的应用程序压缩包及其对应的可读写空间的目录;
确定模块,用于根据所述挂载的应用程序压缩包及其对应的可读写空间的目录,确定待卸载应用程序压缩包及其可读写空间;
删除模块,用于删除所述待卸载应用程序压缩包及其对应的可读写空间。
CN201511021276.9A 2015-12-30 2015-12-30 一种软件包处理方法、装置及系统 Active CN105677393B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511021276.9A CN105677393B (zh) 2015-12-30 2015-12-30 一种软件包处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511021276.9A CN105677393B (zh) 2015-12-30 2015-12-30 一种软件包处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN105677393A CN105677393A (zh) 2016-06-15
CN105677393B true CN105677393B (zh) 2019-02-05

Family

ID=56298115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511021276.9A Active CN105677393B (zh) 2015-12-30 2015-12-30 一种软件包处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN105677393B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021372A (zh) * 2016-11-01 2018-05-11 深圳市中兴微电子技术有限公司 一种应用程序的管理方法和装置
CN110032542B (zh) * 2019-04-19 2021-04-27 宁波三星医疗电气股份有限公司 一种cramfs文件系统管理方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1834918A (zh) * 2005-11-04 2006-09-20 北京金山软件有限公司 一种组件间调用方法
CN103677880A (zh) * 2012-09-17 2014-03-26 联想(北京)有限公司 一种信息处理方法及电子设备
CN103777985A (zh) * 2014-01-26 2014-05-07 宝龙计算机系统(湖南)有限公司 存储介质上同一分区安装多个操作系统的方法及装置
CN105183517A (zh) * 2015-09-14 2015-12-23 广东欧珀移动通信有限公司 在recovery模式下挂载外部存储设备的方法、装置及电子装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246595B (zh) * 2013-04-08 2016-06-08 小米科技有限责任公司 应用程序管理方法、装置、服务器及终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1834918A (zh) * 2005-11-04 2006-09-20 北京金山软件有限公司 一种组件间调用方法
CN103677880A (zh) * 2012-09-17 2014-03-26 联想(北京)有限公司 一种信息处理方法及电子设备
CN103777985A (zh) * 2014-01-26 2014-05-07 宝龙计算机系统(湖南)有限公司 存储介质上同一分区安装多个操作系统的方法及装置
CN105183517A (zh) * 2015-09-14 2015-12-23 广东欧珀移动通信有限公司 在recovery模式下挂载外部存储设备的方法、装置及电子装置

Also Published As

Publication number Publication date
CN105677393A (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
US8627310B2 (en) Capturing multi-disk virtual machine images automatically
JP5705869B2 (ja) クラスタベースのjavaアプリケーションシステムのコードをロードおよび更新する装置および方法
US9092238B2 (en) Versioning schemes for compute-centric object stores
US9075818B2 (en) Object store management operations within compute-centric object stores
CN110413288B (zh) 应用部署方法、装置、服务器及存储介质
CN106610839B (zh) 发布升级包的方法、轻量升级方法、装置及系统
MX2009001641A (es) Configuracion, distribucion y despliegue, de manera dinamica, de sistemas de computo.
CN105159968A (zh) 一种文件系统的目录管理方法及客户端
CN111352717A (zh) 一种实现kubernetes自定义调度器的方法
CN111684437B (zh) 按时间顺序排序的错位更新键-值存储系统
CN110532059B (zh) K8s集群管理软件的配额管理方法及装置
US20120166744A1 (en) Memory management method, computer system, and storage medium having program stored thereon
CN105677393B (zh) 一种软件包处理方法、装置及系统
CN111400105A (zh) 数据库备份方法及装置
CN114706564A (zh) 软件包制作方法、装置、电子设备及存储介质
US20100287205A1 (en) Operating system / electronic device and method for storing or reading a file
US8589652B2 (en) Reorganization of a fragmented directory of a storage data structure comprised of the fragmented directory and members
US10140054B2 (en) Retrospective snapshots in log structured storage systems
CN108763471B (zh) 一种部署集群中http文件服务器的方法及系统
CN113535254A (zh) 一种微服务的处理方法、部署方法和相关装置
US9250888B2 (en) Migration package for updating multiple software products
CN110688201A (zh) 一种日志管理方法及相关设备
CN107092601B (zh) 资源文件构建方法、资源文件应用方法及装置
CN104462514A (zh) 数据库的高可用解决方法、连接控制装置和系统
CN114996236A (zh) 融合存储系统的数据处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: Room 101-105, floor 1, Chuangda building, No. 9, Qinghua East Road, Haidian District, Beijing 100083 (Dongsheng District)

Patentee after: Thunder Software Technology Co., Ltd.

Address before: 100191 Beijing Haidian District Lung Cheung Road No. 1 Tai Xiang business building 4 layer 401-409

Patentee before: Thunder Software Technology Co., Ltd.

CP02 Change in the address of a patent holder