CN114756276A - 一种基于基线的软件版本控制方法 - Google Patents

一种基于基线的软件版本控制方法 Download PDF

Info

Publication number
CN114756276A
CN114756276A CN202210377195.6A CN202210377195A CN114756276A CN 114756276 A CN114756276 A CN 114756276A CN 202210377195 A CN202210377195 A CN 202210377195A CN 114756276 A CN114756276 A CN 114756276A
Authority
CN
China
Prior art keywords
software
baseline
upgrading
version
strategy
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
Application number
CN202210377195.6A
Other languages
English (en)
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.)
Beijing Shenzhou Aerospace Software Technology Co ltd
Original Assignee
Beijing Shenzhou Aerospace Software 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 Beijing Shenzhou Aerospace Software Technology Co ltd filed Critical Beijing Shenzhou Aerospace Software Technology Co ltd
Priority to CN202210377195.6A priority Critical patent/CN114756276A/zh
Publication of CN114756276A publication Critical patent/CN114756276A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

本发明提供的一种基于基线的软件版本控制方法包括:自定义基线策略;终端软件按照版本规范上架到应用仓库,对软件类型进行分类管理;初始基线;构建基线访问过滤器,根据基线类型过滤规则,按照规范的升级策略依次完成软件的下载和安装;项目过程中,建立新的基线;终端设备基于新的基线,按照规范的升级策略依次完成软件的下载和升级;灰度期内,按照规范的升级策略依次完成软件的下载和升级;灰度后期,终端设备平稳过渡到里程碑基线。实现对大规模终端环境的集中管控,解决了客户端软件版本众多,版本间依赖关系复杂,打破了传统应用仓库软件管理的壁垒,提升了对终端软件集中管理维护的能力。

Description

一种基于基线的软件版本控制方法
技术领域
本发明涉及应用软件实施维护领域,尤其涉及一种基于基线的软件版本控制方法。
背景技术
基线是一组软件在特定时期的快照,项目过程中,迭代结束到相关联里程碑时,终端环境基于基线进行软件的升级。系统根据软件的类型、权重通过算法计算软件的优先级并生成升级策略,由升级策略控制软件的升级顺序。
基线的软件版本控制方法是针对大规模终端应用软件的管理维护而设计的,可用于应用仓库软件管理,能够很大程度的方便用户在线安装、升级。通过这种版本控制方式,对软件进行集中管理,减少运行维护成本,满足大规模终端管理的需求,形成标准化的运维管理体系。
而国内主流的应用仓库管理软件,能够管理独立的软件,终端环境访问应用仓库下载软件并进行独立安装和升级。此类软件无法对软件依赖关系进行控制,软件无法按照顺序依次执行,随着接入的软件数量和版本增多,终端环境变得复杂,运维成本不断增加,传统的应用仓库管理软件目前无法有效的解决以上问题。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种基于基线的软件版本控制方法。
根据本发明的一个方面,提供了一种基于基线的软件版本控制方法包括:
自定义基线策略;
终端软件按照版本规范上架到应用仓库,对软件类型进行分类管理;
初始基线,选择需要并入的每个软件版本,形成特定时期的快照;
构建基线访问过滤器,根据基线类型过滤规则,终端设备自动匹配相应类型的基线,按照规范的升级策略依次完成软件的下载和安装;
项目过程中,迭代结束到相关联里程碑时,建立新的基线;
终端设备基于新的基线,按照规范的升级策略依次完成软件的下载和升级;
灰度期内,部分终端设备基于灰度发布的基线,按照规范的升级策略依次完成软件的下载和升级;
灰度后期,基线通过向里程碑基线合并,终端设备平稳过渡到里程碑基线。
可选的,所述对软件类型进行分类管理具体包括:所述软件类型包括应用软件、平台软件和基础软件。
可选的,所述自定义基线策略具体包括:
基线类型,对并入的软件进行约束,包括终端操作系统、芯片版本、网络分类信息;若选择的软件与基线特征不符,则无法并入;
升级策略,控制基线软件在终端设备上的安装、升级顺序,升级策略依赖于软件的分类类型和升级权重;
系统根据软件的所述分类类型和所述升级权重采用算法计算软件的优先级并生成升级策略,根据所述升级策略控制软件的升级顺序;
升级顺序,优先按照分类类型,基础软件、平台软件、应用软件的顺序优先级由高到低;同一类型的软件按照升级权重计算顺序优先级。
可选的,所述软件类型具体包括:
应用软件,为满足用户不同领域、不同问题的应用需求而提供的软件,比如办公软件、互联网软件、分析软件等,对平台软件和基础软件存在依赖;
平台软件,是将应用和运行的基础架构和架构链接,易于集成和管理的软件,比如驱动软件、数据库软件、支撑软件等,对基础软件存在依赖;
基础软件,是用于为应用软件和平台软件提供基础运行环境的软件,比如操作系统、Java运行环境,对应用软件和平台软件不存在依赖,但基础软件内部之间会存在依赖。
可选的,所述构建基线访问过滤器,根据基线类型过滤规则,终端设备自动匹配相应类型的基线具体包括:
终端设备访问应用仓库服务,通过标准化REST接口;
根据终端设备携带的特征信息,包括操作系统、芯片版本、网络分类信息,获取相应类型的初始基线;
下载所述初始基线中包含的软件版本相应的安装程序;
基于基线的升级策略,按照顺序依次完成软件的安装;在基线安装过程中,基础软件安装失败,则退出安装过程;非基础软件安装失败,继续进行;
软件安装失败,则记录故障位置,下次安装时,从故障点恢复安装过程。
可选的,所述按照规范的升级策略依次完成软件的下载和升级具体包括:
终端设备访问应用仓库服务,通过标准化REST接口;
根据终端设备携带的特征信息,基于本地环境的基线版本,获取新的基线;
本地环境的基线与新基线进行版本比较,若本地环境基线版本低于新基线版本,则执行基线升级;若本地环境基线版本高于新基线版本,则不执行基线升级;
获取基线后,下载基线中包含的软件版本相应的安装程序;
基于基线的升级策略,按照顺序依次完成软件的升级;在基线升级过程中,基础软件升级失败,则退出升级过程;非基础软件升级失败,继续进行;
软件升级失败,则记录故障位置,下次升级时,从故障点恢复升级过程。
本发明提供的一种基于基线的软件版本控制方法包括:自定义基线策略;终端软件按照版本规范上架到应用仓库,对软件类型进行分类管理;初始基线,选择需要并入的每个软件版本,形成特定时期的快照;构建基线访问过滤器,根据基线类型过滤规则,终端设备自动匹配相应类型的基线,按照规范的升级策略依次完成软件的下载和安装;项目过程中,迭代结束到相关联里程碑时,建立新的基线;终端设备基于新的基线,按照规范的升级策略依次完成软件的下载和升级;灰度期内,部分终端设备基于灰度发布的基线,按照规范的升级策略依次完成软件的下载和升级;灰度后期,基线通过向里程碑基线合并,终端设备平稳过渡到里程碑基线。结合版本控制和基线策略,实现对大规模终端环境的集中管控,解决了客户端软件版本众多,版本间依赖关系复杂,不便于维护的情况,打破了传统应用仓库软件管理的壁垒,提升了对终端软件集中管理维护的能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种基于基线的软件版本控制方法的流程图;
图2为本发明实施例提供的基线与软件版本关系图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,提供了一种基于基线的软件版本控制方法,利用应用仓库进行软件版本控制,利用基线实现软件依赖关系管控,所述控制方法包括:
自定义基线策略,确定基线类型和升级策略。
基线类型,对并入的软件进行约束,类型由终端操作系统、芯片版本、网络分类信息组成;若选择的软件与基线特征不符,则无法并入。
升级策略,控制基线软件在终端设备上的安装、升级顺序,升级策略依赖于软件的分类类型和升级权重,系统根据软件的类型、权重通过算法计算软件的优先级并生成升级策略,由升级策略控制软件的升级顺序。
终端软件按照版本规范上架到应用仓库,对软件类型进行分类管理,类型分为应用软件、平台软件和基础软件;
应用软件,为满足用户不同领域、不同问题的应用需求而提供的软件,比如办公软件、互联网软件、分析软件等,对平台软件和基础软件存在依赖;
平台软件,是将应用和运行的基础架构和架构链接,易于集成和管理的软件,比如驱动软件、数据库软件、支撑软件等,对基础软件存在依赖;
基础软件,是用于为应用软件和平台软件提供基础运行环境的软件,比如操作系统、Java运行环境(JRE)等,对应用软件和平台软件不存在依赖,但基础软件内部之间会存在依赖。
初始基线,选择需要并入的每个软件版本,形成特定时期的快照;
构建基线访问过滤器,根据基线类型过滤规则,终端设备自动匹配相应类型的基线,按照规范的升级策略依次完成软件的下载和安装。
终端设备访问应用仓库服务,通过标准化REST接口;
根据终端设备携带的特征信息,包括操作系统、芯片版本、网络分类信息,获取相应类型的初始基线;
获取基线后,下载基线中包含的软件版本相应的安装程序;
基于基线的升级策略,按照顺序依次完成软件的安装;
软件安装失败,则记录故障位置,下次安装时,从故障点恢复安装过程。
项目过程中,迭代结束到相关联里程碑时,建立新的基线;
终端设备基于新的基线,按照规范的升级策略依次完成软件的下载和升级。
终端设备访问应用仓库服务,通过标准化REST接口;
根据终端设备携带的特征信息,基于本地环境的基线版本,获取新的基线;
本地环境的基线与新基线进行版本比较,若本地环境基线版本低于新基线版本,则执行基线升级;若本地环境基线版本高于新基线版本,则不执行基线升级;
获取基线后,下载基线中包含的软件版本相应的安装程序;
基于基线的升级策略,按照顺序依次完成软件的升级;
软件升级失败,则记录故障位置,下次升级时,从故障点恢复升级过程。
灰度期内,部分终端设备基于灰度发布的基线,按照规范的升级策略依次完成软件的下载和升级;
终端设备访问应用仓库服务,通过标准化REST接口;
根据终端设备携带的特征信息,基于本地环境的基线版本,获取新的基线;
本地环境的基线与新基线进行版本比较,若本地环境基线版本低于新基线版本,则执行基线升级;若本地环境基线版本高于新基线版本,则不执行基线升级;
获取基线后,下载基线中包含的软件版本相应的安装程序;
基于基线的升级策略,按照顺序依次完成软件的升级;
软件升级失败,则记录故障位置,下次升级时,从故障点恢复升级过程。
灰度后期,灰度基线通过向里程碑基线合并,平稳过渡到里程碑基线;
合并前进行版本冲突检查,比较基线软件与最新里程碑基线软件的数量及版本大小;
若无冲突,则合并到里程碑基线;若存在冲突,则不能合并到里程碑基线上,需要进行版本冲突处理后,再次合并基线。
有益效果:
本发明以软件版本控制为基础,引入基线升级控制策略,通过基于基线的软件版本控制实现了对软件依赖关系的管理,解决了复杂终端环境下软件的版本一致性问题;
本发明结合版本控制和基线策略,实现对大规模终端环境的集中管控,打破了传统应用仓库软件管理的壁垒,提升了对终端软件集中管理维护的能力;
本发明提到的基线升级控制策略,有效避免软件升级时出现跨版本不兼容的情况,尤其能够解决在信创领域里,国产终端上应用软件版本多,各软件版本间依赖复杂的情况。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于基线的软件版本控制方法,其特征在于,所述控制方法包括:
自定义基线策略;
终端软件按照版本规范上架到应用仓库,对软件类型进行分类管理;
初始基线,选择需要并入的每个软件版本,形成特定时期的快照;
构建基线访问过滤器,根据基线类型过滤规则,终端设备自动匹配相应类型的基线,按照规范的升级策略依次完成软件的下载和安装;
项目过程中,迭代结束到相关联里程碑时,建立新的基线;
终端设备基于新的基线,按照规范的升级策略依次完成软件的下载和升级;
灰度期内,部分终端设备基于灰度发布的基线,按照规范的升级策略依次完成软件的下载和升级;
灰度后期,基线通过向里程碑基线合并,终端设备平稳过渡到里程碑基线。
2.根据权利要求1所述的一种基于基线的软件版本控制方法,其特征在于,所述对软件类型进行分类管理具体包括:所述软件类型包括应用软件、平台软件和基础软件。
3.根据权利要求1所述的一种基于基线的软件版本控制方法,其特征在于,所述自定义基线策略具体包括:
基线类型,对并入的软件进行约束,包括终端操作系统、芯片版本、网络分类信息;若选择的软件与基线特征不符,则无法并入;
升级策略,控制基线软件在终端设备上的安装、升级顺序,升级策略依赖于软件的分类类型和升级权重;
系统根据软件的所述分类类型和所述升级权重采用算法计算软件的优先级并生成升级策略,根据所述升级策略控制软件的升级顺序;
升级顺序,优先按照分类类型,基础软件、平台软件、应用软件的顺序优先级由高到低;同一类型的软件按照升级权重计算顺序优先级。
4.根据权利要求1所述的一种基于基线的软件版本控制方法,其特征在于,所述软件类型具体包括:
应用软件,为满足用户不同领域、不同问题的应用需求而提供的软件,比如办公软件、互联网软件、分析软件等,对平台软件和基础软件存在依赖;
平台软件,是将应用和运行的基础架构和架构链接,易于集成和管理的软件,比如驱动软件、数据库软件、支撑软件等,对基础软件存在依赖;
基础软件,是用于为应用软件和平台软件提供基础运行环境的软件,比如操作系统、Java运行环境,对应用软件和平台软件不存在依赖,但基础软件内部之间会存在依赖。
5.根据权利要求1所述的一种基于基线的软件版本控制方法,其特征在于,所述构建基线访问过滤器,根据基线类型过滤规则,终端设备自动匹配相应类型的基线具体包括:
终端设备访问应用仓库服务,通过标准化REST接口;
根据终端设备携带的特征信息,包括操作系统、芯片版本、网络分类信息,获取相应类型的初始基线;
下载所述初始基线中包含的软件版本相应的安装程序;
基于基线的升级策略,按照顺序依次完成软件的安装;在基线安装过程中,基础软件安装失败,则退出安装过程;非基础软件安装失败,继续进行;
软件安装失败,则记录故障位置,下次安装时,从故障点恢复安装过程。
6.根据权利要求1所述的一种基于基线的软件版本控制方法,其特征在于,所述按照规范的升级策略依次完成软件的下载和升级具体包括:
终端设备访问应用仓库服务,通过标准化REST接口;
根据终端设备携带的特征信息,基于本地环境的基线版本,获取新的基线;
本地环境的基线与新基线进行版本比较,若本地环境基线版本低于新基线版本,则执行基线升级;若本地环境基线版本高于新基线版本,则不执行基线升级;
获取基线后,下载基线中包含的软件版本相应的安装程序;
基于基线的升级策略,按照顺序依次完成软件的升级;在基线升级过程中,基础软件升级失败,则退出升级过程;非基础软件升级失败,继续进行;
软件升级失败,则记录故障位置,下次升级时,从故障点恢复升级过程。
CN202210377195.6A 2022-04-12 2022-04-12 一种基于基线的软件版本控制方法 Pending CN114756276A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210377195.6A CN114756276A (zh) 2022-04-12 2022-04-12 一种基于基线的软件版本控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210377195.6A CN114756276A (zh) 2022-04-12 2022-04-12 一种基于基线的软件版本控制方法

Publications (1)

Publication Number Publication Date
CN114756276A true CN114756276A (zh) 2022-07-15

Family

ID=82329331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210377195.6A Pending CN114756276A (zh) 2022-04-12 2022-04-12 一种基于基线的软件版本控制方法

Country Status (1)

Country Link
CN (1) CN114756276A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077149A (zh) * 2023-10-12 2023-11-17 北京长亭科技有限公司 一种基于插件的自定义安全基线检查方法以及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077149A (zh) * 2023-10-12 2023-11-17 北京长亭科技有限公司 一种基于插件的自定义安全基线检查方法以及装置
CN117077149B (zh) * 2023-10-12 2024-01-23 北京长亭科技有限公司 一种基于插件的自定义安全基线检查方法以及装置

Similar Documents

Publication Publication Date Title
Carzaniga et al. Designing distributed applications with mobile code paradigms
CN100552629C (zh) 实现基于数据兼容性的版本计划
CN102782650B (zh) 用于管理分布式环境中系统管理代理的配置的方法与系统
US7934210B1 (en) System and method for updating one or more programs and their environment
US6467088B1 (en) Reconfiguration manager for controlling upgrades of electronic devices
US8464240B2 (en) Method and system for controlling software version updates
US8151256B2 (en) Platform independent registry framework
US8001542B2 (en) Self-installing software components for network service execution
US20050246702A1 (en) System and method for automatically updating versions of software programs in client computers
US20080005747A1 (en) System and method for object state management
US5903762A (en) Application execution method and system therefor
KR101201276B1 (ko) 액션 리스트 및 버저닝을 이용한 무선 디바이스상에서액션을 수행하기 위한 방법, 소프트웨어 및 장치
US20100017503A1 (en) Download server and method for installing and updating application program using partitioning of shared library
WO2005040988A2 (en) Dynamic addressing (da) using a centralized da manager
US20170262263A1 (en) Process and system for the generation of an operating program in the form of a mobile application that is capable of operating on a mobile device
CN114756276A (zh) 一种基于基线的软件版本控制方法
CN105210044A (zh) 程序分析装置、程序分析方法及程序分析程序
CN101326515A (zh) 元数据驱动的应用程序部署
CN114064068A (zh) 用于对分布式软件的不同版本进行更新管理的方法和设备
CN109683976A (zh) 一种基于应用平台的内嵌插件加载方法及系统
JPH11312080A (ja) 計算機ネットワークシステムおよびプログラム更新方法
US20020073145A1 (en) System for dynamically generating and processing a program
CN115509559B (zh) 一种零接触部署系统及方法
EP1569101A1 (en) Method and system for selecting a program for download
CN118034742A (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