应用软件跨版本兼容运行的方法、系统、装置及存储介质制造方法及图纸

技术编号:34247797 阅读:19 留言:0更新日期:2022-07-24 10:48
本发明专利技术涉及一种应用软件跨版本兼容运行的方法、系统、装置及存储介质,其中方法包括以下步骤:1)基于操作系统发行版构建运行时环境;2)构建沙箱环境作为应用所需隔离运行环境,在沙箱环境中挂载运行时环境构建沙箱环境的文件系统;3)基于运行时环境构建应用;4)在沙箱环境中安装运行时环境和应用;5)在沙箱环境中运行应用。本发明专利技术通过在沙箱环境中挂载运行时环境来构建应用所需的运行环境,沙箱环境中将构建一个隔离的运行环境,该隔离环境仅依赖于运行时构建的操作系统环境,不依赖于应用运行所在的宿主操作系统环境,从而保证在不同的宿主操作系统发行版中实现应用所需的运行环境,进而实现应用软件的跨版本兼容运行。进而实现应用软件的跨版本兼容运行。进而实现应用软件的跨版本兼容运行。

Method, system, device and storage medium for cross version compatible operation of application software

【技术实现步骤摘要】
应用软件跨版本兼容运行的方法、系统、装置及存储介质


[0001]本专利技术涉及应用软件管理领域,具体涉及一种应用软件跨版本兼容运行的方法、系统、装置及存储介质。

技术介绍

[0002]在Linux操作系统中,传统的应用软件(如deb和rpm包)安装时需要同时安装其相关的依赖软件包,并且只能在特定的操作系统发行版上运行。因为不同Linux发行版的核外环境以及内核版本不同,导致应用软件无法跨发行版兼容运行,如Ubuntu 1604中的软件会因为软件依赖不满足而不能在Ubuntu 1804上正常安装或运行。因此,可知目前的应用软件与操作系统是紧耦合的,特定版本的应用软件一般只能在特定操作系统版本上运行,操作系统底层库或者某个软件包的更新升级都可能导致其他软件的不可用,这给第三方应用开发者和操作系统管理者带来了很大挑战,也在一定程度上影响到了Linux系统应用生态的完善。
[0003]为解决以上技术问题,目前主流方法是采用虚拟机、WINE、AppImage以及Flatpak等技术进行解决,虚拟机技术通过模拟一台真实的计算机设备来实现系统级别的隔离,这种兼容方式内存占用较大、性能损耗较大。WINE将Windows API调用翻译成为动态的POSIX调用,并通过兼容层实现两个操作系统之间API接口的对接映射,由于操作系统版本繁多、接口变化比较快,维护的工作量很大。AppImage通过将一个软件所有的依赖文件全部打包到一起,应用运行时只需要访问该应用的内部文件,而不需要访问操作系统的任何文件,这种方式构建比较简单,但是将所有的依赖全部打包在一起,应用会变得很大。Flatpak基于共享运行时环境(Runtime)的方式构建应用,该方法主要问题在于对应用构建要求高、代价大。

技术实现思路

[0004]本专利技术要解决的技术问题是:提供一种应用软件跨版本兼容运行的方法、系统、装置及存储介质,其可以实现应用软件的跨版本兼容运行。
[0005]本专利技术解决其技术问题所采用的技术方案是:一种应用软件跨版本兼容运行的方法,包括以下步骤:1)基于操作系统发行版构建运行时环境;2)构建沙箱环境作为应用所需隔离运行环境,在沙箱环境中挂载运行时环境构建沙箱环境的文件系统;3)基于运行时环境构建应用;4)在沙箱环境中安装运行时环境和应用;5)在沙箱环境中运行应用。
[0006]优选的,构建运行时环境包括构建基础运行时环境和构建增量运行时环境,挂载运行时环境为联合挂载基础运行时环境和增量运行时环境,基于对应的操作系统发行版的软件仓库构建对应的基础运行时环境,基于基础运行时环境构建增量运行时环境,增量运行时环境是在基础运行时环境的基础上增加了应用运行所需的增量环境。
[0007]优选的,基于对应的操作系统发行版的软件仓库构建对应的基础运行时环境的步骤如下:
1)解析元数据文件,获取基础运行时环境对应的操作系统类型以及发行版代号;2)通过获取的操作系统类型以及发行版代号,通过文件系统构建工具构建rootfs文件系统;3)确定签名秘钥,更新元数据文件的GPG秘钥为签名秘钥的公钥;4)使用格式化工具将rootfs文件系统构建输出为指定格式文件并对输出文件进行签名,得到基础运行时环境。
[0008]优选的,基于基础运行时环境构建增量运行时环境的步骤如下:1)确认是否安装对应的基础运行时环境,如未安装,则安装基础运行时环境,构成rootfs目录;2)如有安装基础运行时环境,解析依赖配置文件,获取需安装的软件列表;3)构建沙箱环境,以联合挂载的方式将基础运行时环境的rootfs目录和新建可读写目录映射到沙箱的根目录,构成沙箱的文件系统;4)使用软件管理工具安装软件列表;5)确定签名秘钥,更新元数据文件的GPG秘钥为签名秘钥的公钥;6)使用格式化工具将沙箱的新建可读写目录构建输出为指定格式文件并签名,得到增量运行时环境。
[0009]优选的,基于运行时环境来构建应用的步骤如下:1)解析应用的元数据配置文件,获得应用所依赖的运行时环境;2)判断是否安装依赖的运行时环境,如果没有则安装对应的运行时环境;如果已安装,则继续;3)构建沙箱环境,映射依赖运行时环境作为文件系统;4)在沙箱中使用软件管理工具安装应用;5)确定签名秘钥,更新元数据文件的GPG秘钥为签名秘钥的公钥;6)将沙箱的新建可读写目录打包并签名,得到应用安装文件。
[0010]一种应用软件跨版本兼容运行的系统,包括:兼容应用管理模块, 兼容应用管理模块包括:环境和应用构建单元,用于基于操作系统发行版构建运行时环境,构建沙箱环境作为应用所需隔离运行环境,在沙箱环境中挂载运行时环境构建沙箱环境的文件系统,在沙箱环境中构建对应的应用;运行时管理客户端,用于支持沙箱环境中运行时环境的安装、运行;应用管理客户端,用于支持沙箱环境中应用的安装、运行。
[0011]优选的,所述的系统还包括:目录映射管理模块,用于与操作系统中的文件系统进行对接,进行运行时环境和应用的目录以及配置文件的管理;所述目录映射管理模块包括:运行时文件目录管理单元,用于管理运行时环境在文件系统中的组织方式、存放目录;应用文件目录管理单元,用于管理不同应用在文件系统中的组织方式、存放目录;统一配置目录管理单元,用于存储和管理应用与运行时环境的配置文件。
[0012]优选的,所述的系统还包括:运行时环境管理模块,用于与操作系统中的核外环境进行对接,支持沙箱环境的构建、沙箱中应用环境与宿主系统环境的通信与交互;所述运行时环境管理模块包括:沙箱环境构建单元,用于通过沙箱机制构建与宿主系统隔离的文件系统环境,提供动态库;共享服务单元,用于支持在沙箱环境中对宿主系统中文件系统和设备的共享访问;通信服务单元,用于支持沙箱环境内的应用与宿主系统中应用或服务的通信;配置服务管理单元,用于管理应用的配置与宿主系统的配置对接。
[0013]一种计算机装置,包括:处理器、存储器以及程序;程序存储在存储器中,处理器调用存储器存储的程序,以执行上述的应用软件跨版本兼容运行的方法。
[0014]一种计算机可读存储介质,计算机可读存储介质用于存储程序,程序用于执行上述的应用软件跨版本兼容运行的方法。
[0015]本专利技术的有益效果是: 1、应用软件跨发行版兼容运行:基于本专利技术构建的应用软件能够在不同的操作系统发行版上兼容运行;2、应用软件多版本安装运行:在目标主机的操作系统版本上可实现同时安装并兼容运行一个软件的多个不同版本;3、安全控制:沙箱机制实现了应用运行环境与操作系统环境的隔离,以保证操作系统的安全性;4、有效对接现有的软件仓库:可通过二进制软件包构建兼容应用,可避免软件编译过程中的依赖问题以及二进制软件安装的配置等问题。
附图说明
[0016]图1是本专利技术的应用软件跨版本兼容运行的系统的框架原理图;图2是本专利技术的应用软件跨版本兼容运行的系统的技术架构图;图3是本专利技术的应用软件跨版本兼容运行的方法的流程示意图;图4为本专利技术的计算机装置的结构框架图。
具体实施方式
[0017本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用软件跨版本兼容运行的方法,其特征在于:包括以下步骤:1)基于操作系统发行版构建运行时环境;2)构建沙箱环境作为应用所需隔离运行环境,在沙箱环境中挂载运行时环境构建沙箱环境的文件系统;3)基于运行时环境构建应用;4)在沙箱环境中安装运行时环境和应用;5)在沙箱环境中运行应用;构建运行时环境包括构建基础运行时环境和构建增量运行时环境,挂载运行时环境为联合挂载基础运行时环境和增量运行时环境,基于对应的操作系统发行版的软件仓库构建对应的基础运行时环境,基于基础运行时环境构建增量运行时环境,增量运行时环境是在基础运行时环境的基础上增加了应用运行所需的增量环境。2.根据权利要求1所述的应用软件跨版本兼容运行的方法,其特征在于:基于对应的操作系统发行版的软件仓库构建对应的基础运行时环境的步骤如下:1)解析元数据文件,获取基础运行时环境对应的操作系统类型以及发行版代号;2)通过获取的操作系统类型以及发行版代号,通过文件系统构建工具构建rootfs文件系统;3)确定签名秘钥,更新元数据文件的GPG秘钥为签名秘钥的公钥;4)使用格式化工具将rootfs文件系统构建输出为指定格式文件并对输出文件进行签名,得到基础运行时环境。3.根据权利要求1所述的应用软件跨版本兼容运行的方法,其特征在于:基于基础运行时环境构建增量运行时环境的步骤如下:1)确认是否安装对应的基础运行时环境,如未安装,则安装基础运行时环境,构成rootfs目录;2)如有安装基础运行时环境,解析依赖配置文件,获取需安装的软件列表;3)构建沙箱环境,以联合挂载的方式将基础运行时环境的rootfs目录和新建可读写目录映射到沙箱的根目录,构成沙箱的文件系统;4)使用软件管理工具安装软件列表;5)确定签名秘钥,更新元数据文件的GPG秘钥为签名秘钥的公钥;6)使用格式化工具将沙箱的新建可读写目录构建输出为指定格式文件并签名,得到增量运行时环境。4.根据权利要求1所述的应用软件跨版本兼容运行的方法,其特征在于:基于运行时环境来构建应用的步骤如下:1)解析应用的元数据配置文件,获得应用所依赖的运行时环境;2)判断是否安装依赖的运行时环境,如果没有则安装对应的运行时环境;如果已安装...

【专利技术属性】
技术研发人员:李小玲马俊秦莹王静高珑贾周阳赵欣谭郁松张雪艳阳娅婧
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1