CN113076115B - 基于国产平台的基础软件封装方法 - Google Patents

基于国产平台的基础软件封装方法 Download PDF

Info

Publication number
CN113076115B
CN113076115B CN202110428688.3A CN202110428688A CN113076115B CN 113076115 B CN113076115 B CN 113076115B CN 202110428688 A CN202110428688 A CN 202110428688A CN 113076115 B CN113076115 B CN 113076115B
Authority
CN
China
Prior art keywords
package
software
packaging
platform
warehouse
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
CN202110428688.3A
Other languages
English (en)
Other versions
CN113076115A (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.)
Yangzhou Wanfang Technology Co ltd
Original Assignee
Yangzhou Wanfang Technology 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 Yangzhou Wanfang Technology Co ltd filed Critical Yangzhou Wanfang Technology Co ltd
Priority to CN202110428688.3A priority Critical patent/CN113076115B/zh
Publication of CN113076115A publication Critical patent/CN113076115A/zh
Application granted granted Critical
Publication of CN113076115B publication Critical patent/CN113076115B/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
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

基于国产平台的基础软件封装方法。提供了一种能够进行适配验证和建设多架构软件仓库,进而实现软件运行库和基础软件跨平台封装机制,进一步满足信息系统领域技术自主可控的迫切需求和发展趋势的基于国产平台的基础软件封装方法。运行架构包括服务端,至少包含龙芯、飞腾和申威国产平台组成的编译端,以及若干客户端,自动编译环境的构建,对所述运行架构的自动编译环境进行调试,并针对编译器优化编译配置项参数;所述服务端为:负责接收客户端提供的源码并自动提交给编译端,同时通过istenTCP监听客户端的链接和命令进行统一分发,集中构建;本发明方便各类基础软件开发技术人员的打包封装使用。

Description

基于国产平台的基础软件封装方法
技术领域
本发明涉及计算机技术领域,尤其涉及对国产计算机进行基础软件的封装方法。
背景技术
在国产平台自主可控信息系统研制建设中,技术人员积极研究国产基础软硬件兼容适配、集成优化等关键技术,以实现类X86+Wintel平台上的exe样式的快捷安装程序,而国产平台基于Linux生态的限制,无法形成较好得打包封装工具,目前仍存在着生态体系不完备、技术方向碎片化、集成适配封装缺乏有效的机制等诸多问题。
具体表现为基础软件(如驱动程序、基础开发库、运行环境等)在同一国产处理器平台上,跨不同版本操作系统时出现无法使用的问题。
发明内容
本发明针对以上问题,提供了一种能够进行适配验证和建设多架构软件仓库,进而实现软件运行库和基础软件跨平台封装机制,进一步满足信息系统领域技术自主可控的迫切需求和发展趋势的基于国产平台的基础软件封装方法。
本发明的技术方案是:运行架构包括服务端,至少包含龙芯、飞腾和申威国产平台组成的编译端,以及若干客户端,
按以下步骤进行基础软件封装:
1)、自动编译环境的构建,对所述运行架构的自动编译环境进行调试,并针对编译器优化编译配置项参数;
所述服务端为:负责接收客户端提供的源码并自动提交给编译端,同时通过ListenTCP监听客户端的链接和命令进行统一分发,集中构建;
所述客户端为:负责上传所需编译的源码包以及下载编译好的二进制包;
所述编译端为:负责进行编译并打包,与客户端相连,在编译过程中监控状态,当出现错误时,将错误信息返回给客户端供开发人员进行查看;
2)、多格式包封装,
针对不同格式的软件,通过提供国产平台上通用格式封装、统一运行格式封装和/或沙盒格式封装;
3)、建立多架构软件仓库,
设计国产平台权值,有序进行软件分类存放,多架构软件仓库按照龙芯、飞腾和申威进行分类,
其中龙芯平台包括“龙芯+中标麒麟”仓库和“龙芯+深度”仓库,
飞腾平台仅有“飞腾+银河麒麟”仓库,
申威平台包括“申威+中标麒麟”仓库和“申威+深度”仓库。
所述步骤2)中的通用格式封装,包括RPM、DEB、TAR和BIN包格式封装。
所述步骤2)中统一运行格式封装为基于AppImage技术,支持开箱即用、使用便捷,终端用户只需要赋予包可执行权限,实现在终端环境下直接运行或者在桌面环境下双击,借助于运行加载器即可打开应用包,快速启动应用程序。
所述步骤2)中,当基础软件安装包需要具备资源隔离作用时,采用沙盒格式封装技术,即Flatpak技术,实现将应用程序与依赖库进行集成打包,能够屏蔽了国产系统之间的版本差异,以统一包的形式对外提供运行环境。
在龙芯和申威平台,基础软件可以用rpm进行打包,首先配置SPEC文件,使用“rpmbuild -bb 软件名-版本.spec”命令进行打包,最终生成的.rpm格式软件包就生成在RPMS目录下。
在飞腾平台,基础软件可以制作deb包,使用“dpkg -b dirname xxx_new.deb”命令,生成.deb格式的软件包。
在龙芯、飞腾和申威平台平台上,使用appimagetools工具进行打包,用“appimagetools ‘包路径’”命令对基础软件进行打包封装,生成统一格式包.Appimage格式包,实现在不同操作系统上运行。
在龙芯、飞腾和申威平台平台上,均采用“build-init”命令构建目录,然后用“flatpak build”对基础软件进行构建,生成统一格式.flatpak包,在不同操作系统上运行,实现资源的隔离。
所述步骤3)中,对
所述龙芯平台包括“龙芯+中标麒麟”仓库和“龙芯+深度”仓库,
所述飞腾平台仅有“飞腾+银河麒麟”仓库,以及
所述申威平台包括“申威+中标麒麟”仓库和“申威+深度”仓库,
进一步按照桌面和服务器进行版本区分。
还包括测试验证步骤,所述测试验证步骤为:选择移植三维地理信息组件OSG、OsgEarth进行测试验证。
技术效果:由于种种原因,国产平台在CPU指令集、底层驱动等方面,与X86平台有着不小的区别,不同国产平台之间也有着各自的命令和使用方法。本发明所提出的封装方法基于向导式的设计,根据开发人员填写的软件基础信息、配置信息和软件实体,封装装置即可通过自动编译、构建,最终生成不同国产平台架构的软件包,有效促进目前国产平台软件生态发展。本发明实现了在国产平台上开展对软件运行库和基础软件跨平台自动编译构建、封装打包的适配验证。在龙芯、飞腾和申威三个国产平台上分别建立多架构软件仓库,进行多种格式包的统一管理。本发明包括自动编译构建、多格式包封装、多架构软件仓库、集成测试验证等关键步骤,各阶段均可实现服务化和界面的功能,形成一个图形化的封装系统,方便各类基础软件开发技术人员的打包封装使用。
附图说明
图1是本发明的原理框图,
图2是本发明的系统架构框图,
图3是本发明的多架构软件仓库组成示意框图。
具体实施方式
本发明基于国产平台的基础软件封装方法,如图1-3所示,运行架构包括服务端,至少包含龙芯、飞腾和申威国产平台组成的编译端,以及若干客户端,
按以下步骤进行基础软件封装:
1)、自动编译环境的构建,对所述运行架构的自动编译环境进行调试,并针对编译器优化编译配置项参数;
所述服务端为:负责接收客户端提供的源码并自动提交给编译端,同时通过ListenTCP监听客户端的链接和命令进行统一分发,集中构建;
所述客户端为:负责上传所需编译的源码包以及下载编译好的二进制包;
所述编译端为:负责进行编译并打包,与客户端相连,在编译过程中监控状态,当出现错误时,将错误信息返回给客户端供开发人员进行查看;
2)、多格式包封装,
针对不同格式的软件,通过提供国产平台上通用格式封装、统一运行格式封装和/或沙盒格式封装;
3)、建立多架构软件仓库,
设计国产平台权值,有序进行软件分类存放,多架构软件仓库按照龙芯、飞腾和申威进行分类,
其中龙芯平台包括“龙芯+中标麒麟”仓库和“龙芯+深度”仓库,
飞腾平台仅有“飞腾+银河麒麟”仓库,
申威平台包括“申威+中标麒麟”仓库和“申威+深度”仓库。
根据不同平台、不同版本,有以下封装形式:
所述步骤2)中的通用格式封装,包括RPM、DEB、TAR和BIN包格式封装。
所述步骤2)中统一运行格式封装为基于AppImage技术,支持开箱即用、使用便捷,终端用户只需要赋予包可执行权限,实现在终端环境下直接运行或者在桌面环境下双击,借助于运行加载器即可打开应用包,快速启动应用程序。
所述步骤2)中,当基础软件安装包需要具备资源隔离作用时,采用沙盒格式封装技术,即Flatpak技术,实现将应用程序与依赖库进行集成打包,能够屏蔽了国产系统之间的版本差异,以统一包的形式对外提供运行环境。
具体地:
在龙芯和申威平台,基础软件可以用rpm进行打包,首先配置SPEC文件,使用“rpmbuild -bb 软件名-版本.spec”命令进行打包,最终生成的.rpm格式软件包就生成在RPMS目录下。
在飞腾平台,基础软件可以制作deb包,使用“dpkg -b dirname xxx_new.deb”命令,生成.deb格式的软件包。
在龙芯、飞腾和申威平台平台上,使用appimagetools工具进行打包,用“appimagetools ‘包路径’”命令对基础软件进行打包封装,生成统一格式包.Appimage格式包,可以在不同操作系统上运行。
在龙芯、飞腾和申威平台平台上,均采用“build-init”命令构建目录,然后用“flatpak build”对基础软件进行构建,生成统一格式.flatpak包,可以在不同操作系统上运行,可以实现资源的隔离。
所述步骤3)中,对
所述龙芯平台包括“龙芯+中标麒麟”仓库和“龙芯+深度”仓库,
所述飞腾平台仅有“飞腾+银河麒麟”仓库,
所述申威平台包括“申威+中标麒麟”仓库和“申威+深度”仓库;
进一步按照桌面和服务器进行版本区分。
采用链式管理技术将各式软件包按权值有序存放,保证集成过程标准规范,在集成过程中,定制标签判别国产平台硬件的架构类型、操作系统类型,最终根据基础软件的标签查找到相应的库,其中基础软件的存在形式可以是RPM、DEB、TAR、BIN、Flatpak、AppImage包等。
进一步地,本发明基于国产平台的基础软件封装方法,还包括测试验证步骤,所述测试验证步骤为:选择移植三维地理信息组件OSG、OsgEarth进行测试验证。
选择移植三维地理信息组件OSG、OsgEarth进行上述方法测试验证,根据国产CPU架构特性,结合国产特定编译器优化技术,优化标准库的国产化实现,对其以及依赖的底层图形库进行深度优化,依赖库的优化手段包括编译器参数优化、源码分析改造、接口调试、编译参数自适应调整等。同时结合不同国产CPU特点,采用以下技术手段进行性能优化,主要包括统一内存页大小、内存对齐和充分利用多核。
在编译构建时,通过指定其构建类型、构建目录、添加QT5支持等参数进行详细配置,在构建其二级依赖库GDAL时需加入--with-openjpeg参数才能支持JPEG格式的瓦片化数据被OsgEarth读取,否则在运行OsgEarth将会出现JPEG文件读取错误。

Claims (4)

1.基于国产平台的基础软件封装方法,其特征在于,运行架构包括服务端,至少包含龙芯、飞腾和申威国产平台组成的编译端,以及若干客户端,
按以下步骤进行基础软件封装:
1)、自动编译环境的构建,对所述运行架构的自动编译环境进行调试,并针对编译器优化编译配置项参数;
所述服务端为:负责接收客户端提供的源码并自动提交给编译端,同时通过ListenTCP监听客户端的链接和命令进行统一分发,集中构建;
所述客户端为:负责上传所需编译的源码包以及下载编译好的二进制包;
所述编译端为:负责进行编译并打包,与客户端相连,在编译过程中监控状态,当出现错误时,将错误信息返回给客户端供开发人员进行查看;
2)、多格式包封装,
针对不同格式的软件,通过提供国产平台上通用格式封装、统一运行格式封装和/或沙盒格式封装;
3)、建立多架构软件仓库,
设计国产平台权值,有序进行软件分类存放,多架构软件仓库按照龙芯、飞腾和申威进行分类,
其中龙芯平台包括“龙芯+中标麒麟”仓库和“龙芯+深度”仓库,
飞腾平台仅有“飞腾+银河麒麟”仓库,
申威平台包括“申威+中标麒麟”仓库和“申威+深度”仓库;
其特征在于,
在龙芯、飞腾和申威平台上,使用appimagetools工具进行打包,用“appimagetools‘包路径’”命令对基础软件进行打包封装,生成统一格式包.Appimage格式包,实现在不同操作系统上运行;
或在龙芯、飞腾和申威平台上,均采用“build-init”命令构建目录,然后用“flatpakbuild”对基础软件进行构建,生成统一格式.flatpak包,在不同操作系统上运行,实现资源的隔离;
所述步骤3)中,对
所述龙芯平台包括“龙芯+中标麒麟”仓库和“龙芯+深度”仓库,
所述飞腾平台仅有“飞腾+银河麒麟”仓库,以及
所述申威平台包括“申威+中标麒麟”仓库和“申威+深度”仓库,
进一步按照桌面和服务器进行版本区分;
在龙芯和申威平台,基础软件可以用rpm进行打包,首先配置SPEC文件,使用“rpmbuild-bb 软件名-版本.spec”命令进行打包,最终生成的.rpm格式软件包就生成在RPMS目录下;
在飞腾平台,基础软件可以制作deb包,使用“dpkg -b dirname xxx_new.deb”命令,生成.deb格式的软件包;
还包括测试验证步骤,所述测试验证步骤为:选择移植三维地理信息组件OSG、OsgEarth进行测试验证。
2.根据权利要求1所述的基于国产平台的基础软件封装方法,其特征在于,
所述步骤2)中的通用格式封装,包括RPM、DEB、TAR和BIN包格式封装。
3.根据权利要求1所述的基于国产平台的基础软件封装方法,其特征在于,
所述步骤2)中统一运行格式封装为基于AppImage技术,支持开箱即用、使用便捷,终端用户只需要赋予包可执行权限,实现在终端环境下直接运行或者在桌面环境下双击,借助于运行加载器即可打开应用包,快速启动应用程序。
4.根据权利要求1所述的基于国产平台的基础软件封装方法,其特征在于,
所述步骤2)中,当基础软件安装包需要具备资源隔离作用时,采用沙盒格式封装技术,即Flatpak技术,实现将应用程序与依赖库进行集成打包,能够屏蔽了国产系统之间的版本差异,以统一包的形式对外提供运行环境。
CN202110428688.3A 2021-04-21 2021-04-21 基于国产平台的基础软件封装方法 Active CN113076115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110428688.3A CN113076115B (zh) 2021-04-21 2021-04-21 基于国产平台的基础软件封装方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110428688.3A CN113076115B (zh) 2021-04-21 2021-04-21 基于国产平台的基础软件封装方法

Publications (2)

Publication Number Publication Date
CN113076115A CN113076115A (zh) 2021-07-06
CN113076115B true CN113076115B (zh) 2023-12-26

Family

ID=76618149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110428688.3A Active CN113076115B (zh) 2021-04-21 2021-04-21 基于国产平台的基础软件封装方法

Country Status (1)

Country Link
CN (1) CN113076115B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721917A (zh) * 2021-08-03 2021-11-30 北京科东电力控制系统有限责任公司 基于国产芯片的电网调度控制系统自动编译方法及装置
CN113805899B (zh) * 2021-08-25 2024-01-26 浪潮卓数大数据产业发展有限公司 一种软件自动部署方法
CN115756514A (zh) * 2022-11-14 2023-03-07 中国电子科技集团公司第十五研究所 一种软件自动化编译方法及系统
CN117331565B (zh) * 2023-10-09 2024-05-28 镁佳(北京)科技有限公司 软件生成方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605520A (zh) * 2013-11-22 2014-02-26 中标软件有限公司 Rpm软件包转换方法及转换系统
CN107741859A (zh) * 2017-11-03 2018-02-27 山东浪潮云服务信息科技有限公司 基于国产cpu和os的软件包管理方法、装置及系统
CN108595186A (zh) * 2018-03-27 2018-09-28 天津麒麟信息技术有限公司 一种飞腾平台上基于完全函数的多版本软件管理方法
CN110727440A (zh) * 2019-10-08 2020-01-24 中国电子科技集团公司第二十八研究所 一种软件封装方法
CN112083951A (zh) * 2020-09-24 2020-12-15 中国人民解放军国防科技大学 一种支持多操作系统平台的软件包统一管理方法及系统
CN112612474A (zh) * 2020-12-25 2021-04-06 航天信息股份有限公司 产品移植方法、装置、存储介质和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271552A1 (en) * 2006-05-19 2007-11-22 Pulley Robert A System and method for packaging software

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605520A (zh) * 2013-11-22 2014-02-26 中标软件有限公司 Rpm软件包转换方法及转换系统
CN107741859A (zh) * 2017-11-03 2018-02-27 山东浪潮云服务信息科技有限公司 基于国产cpu和os的软件包管理方法、装置及系统
CN108595186A (zh) * 2018-03-27 2018-09-28 天津麒麟信息技术有限公司 一种飞腾平台上基于完全函数的多版本软件管理方法
CN110727440A (zh) * 2019-10-08 2020-01-24 中国电子科技集团公司第二十八研究所 一种软件封装方法
CN112083951A (zh) * 2020-09-24 2020-12-15 中国人民解放军国防科技大学 一种支持多操作系统平台的软件包统一管理方法及系统
CN112612474A (zh) * 2020-12-25 2021-04-06 航天信息股份有限公司 产品移植方法、装置、存储介质和电子设备

Also Published As

Publication number Publication date
CN113076115A (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN113076115B (zh) 基于国产平台的基础软件封装方法
CN1160626C (zh) 基于标记的链接
CN100442234C (zh) 用于嵌入式系统的软件包构建方法和系统
CN102693121A (zh) 一种跨平台手机应用的自动开发制作系统及实现方法
CN111858370B (zh) DevOps的实现方法、装置、计算机可读介质
CN106775730A (zh) 程序发布方法及系统
CN105100191A (zh) 一种云编译实现Java应用安装的方法、装置及系统
US20180157479A1 (en) Cloud service framework for toolkit deployment
CN102053836A (zh) 一种Android应用开发的版本管理工具的实现方法
CN113672342B (zh) 嵌入式虚拟化系统及构建、测试方法、终端及介质
CN115629971A (zh) 一种应用的开发系统和开发方法
CN113407362A (zh) 基于车载Android系统SOA架构SOMEIP通信中间层实现方法及系统
CN109992517A (zh) 基于uefi的固件模块调试方法和系统
CN113986395A (zh) 一种linux系统下应用依赖自包含技术的打包方法
CN113312046A (zh) 子应用页面处理方法、装置和计算机设备
CN116991381B (zh) 一种应用交叉编译方法、装置、计算设备及存储介质
CN107943504A (zh) 一种嵌入式系统中软件模块的动态升级方法
CN107315596A (zh) 一种代码自动打包部署方法和装置
US9411569B1 (en) System and method for providing a climate data analytic services application programming interface distribution package
CN114237760B (zh) 一种将工业机理模型封装为容器镜像并发布web服务的方法
CN116775087A (zh) 一种热修复方法、装置、电子设备及存储介质
CN111580853A (zh) 多渠道软件安装包通用生成方法
CN106843994B (zh) 一种基于动态编译的客户端软件运行方法
KR20190075508A (ko) 가상화된 시스템 상에서 임베디드 소프트웨어를 자동으로 생성하는 방법 및 컴퓨팅 시스템
JP7363931B2 (ja) オフロードサーバ、オフロード制御方法およびオフロードプログラム

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
CB02 Change of applicant information

Address after: No.96 Anlin Road, Yangzhou City, Jiangsu Province 225006

Applicant after: Yangzhou Wanfang Technology Co.,Ltd.

Address before: No.96 Anlin Road, Yangzhou City, Jiangsu Province 225006

Applicant before: YANGZHOU WANFANG ELECTRONIC TECHNOLOGY LLC

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant