一种嵌入式应用持续部署控制方法及系统与流程

文档序号:30842778发布日期:2022-07-23 01:07阅读:148来源:国知局
一种嵌入式应用持续部署控制方法及系统与流程

1.本发明涉及嵌入式应用部署控制技术领域,具体而言,涉及一种嵌入式应用持续部署控制方法及系统。


背景技术:

2.当前机载应用多为嵌入式应用,传统的嵌入式应用需手动完成部署,并且需要专业工具及专业人员操作,一旦遇到应用更新,则要重新执行一次部署操作,这样会导致部署成本高、排除难度大、部署效率低、无法复用,不利于嵌入式软件系统的快速更新迭代,同时也是对人力资源极大的浪费。
3.现有的嵌入式应用持续集成方法,专注于嵌入式应用开发创建流程,无法对部署进行控制,并且需要进行学习,该方法学习成本高,对部署人员的要求也较高。
4.有鉴于此,特提出本技术。


技术实现要素:

5.本发明所要解决的技术问题是:现有的机载应用部署控制方法难度大、效率低,不能满足嵌入式应用的更新迭代,目的在于提供一种嵌入式应用持续部署控制方法及系统,通过创建部署控制流程和应用部署流程,通过创建部署控制流程和应用部署流程,实现应用自动化部署,简化应用的部署操作;并在应用部署流程中加入回滚操作和应用更新操作,从而应对部署过程中出现部署错误和应用更新的情况,避免因部署过程错误和应用更新导致从头执行应用部署操作,实现应用持续部署和应用更新自动化。
6.本发明通过下述技术方案实现:
7.一方面,
8.本发明提供一种嵌入式应用持续部署控制方法,包括以下步骤:
9.创建持续部署控制流程,根据所述持续部署控制流程执行部署操作,直到应用被部署完成并通过测试;
10.所述持续部署控制流程包括:
11.接收用户发送的部署请求,根据所述部署请求执行部署操作;
12.若部署操作执行过程中和部署操作执行完成进入验证期间出现错误,则执行回滚操作;
13.验证通过后,对部署的当前应用执行回滚操作;
14.所述部署操作包括:
15.获取目标机器的软件信息和硬件信息;
16.获取待部署应用的基本信息;
17.根据所述软件信息、所述硬件信息和所述应用的基本信息生成部署序列;
18.根据所述部署序列在所述目标机器上部署应用。
19.进一步的,
20.所述创建持续部署控制流程包括:沿用在部署其他应用时创建的持续部署控制流程,以及重新创建新的持续部署控制流程。
21.进一步的,
22.所述重新创建新的持续部署控制流程还包括:
23.开发管理权限,所述管理权限包括:可提交所述持续部署控制流程的管理权限和不可修改所述持续部署控制流程的管理权限;
24.在所述持续部署控制流程中添加人工确认节点。
25.进一步的,
26.所述新的持续部署控制流程创建完成之后,包括以下步骤:利用配置好的触发器自动提交所述新的持续部署控制流程,或在持续部署中通过提交发布单的方式手动触发所述新的持续部署控制流程。
27.进一步的,
28.所述自动提交所述新的持续部署控制流程之前,包括以下步骤:对应用的基础配置进行设置,包括:设置所述持续部署控制流程的触发条件,以及配置所述持续部署控制流程的通知方式;
29.所述自动提交所述新的持续部署控制流程之后,执行部署操作之前,还包括以下步骤:对应用的部署参数进行设置。
30.进一步的,
31.所述持续部署控制流程还包括:
32.卸载应用;若卸载失败,则返回卸载失败的提示消息和原因;若卸载成功,则返回卸载成功的提示消息;
33.更新应用版本;若更新失败,则执行回滚操作;若更新成功,则返回更新成功的提示消息。
34.进一步的,
35.所述执行回滚操作之前包括以下步骤:确定回滚版本、确定回滚应用和确定需更改的数据。
36.进一步的,
37.所述生成部署序列之前还包括以下步骤:生成部署策略,并对所述部署策略进行检测。
38.另一方面,
39.本发明提供一种嵌入式应用持续部署控制系统,包括:
40.流程创建模块,用于创建持续部署控制流程;
41.流程执行模块,用于根据所述持续部署控制流程执行部署操作;
42.所述流程执行模块包括:
43.请求接收单元,用于接收用户发送的部署请求;
44.应用部署单元,用于根据所述部署请求执行部署操作;
45.回滚操作执行单元,用于在部署操作执行过程中、部署操作执行完成进入验证期间和验证通过的情况下,对应用执行回滚操作;
46.所述应用部署单元包括:
47.部署决策服务器,用于同用户进行交互;还用于获取目标机器的软件信息和硬件信息,以及待部署应用的基本信息;还用于根据所述软件信息、所述硬件信息和所述应用的基本信息生成部署序列;
48.目标机器信息接口,用于提供所述目标机器的软件信息和硬件信息;
49.应用构件库,用于提供所述待部署应用的基本信息;还用于接收所述部署序列,并根据所述部署序列在所述目标机器上部署应用。
50.进一步的,
51.所述系统还包括:
52.流程提交模块,用于利用配置好的触发器自动提交所述新的持续部署控制流程,或在持续部署中通过提交发布单的方式手动触发所述新的持续部署控制流程;
53.应用配置模块,用于在自动提交所述新的持续部署控制流程之前,对应用的基础配置进行设置;
54.参数部署模块,用于在自动提交所述新的持续部署控制流程之后,对应用的部署参数进行设置;
55.所述流程创建模块包括:
56.流程复用单元,用于沿用在部署其他应用时创建的持续部署控制流程;
57.流程新建单元,用于重新创建新的持续部署控制流程;
58.权限开发单元,用于开发可提交所述持续部署控制流程的管理权限和不可修改所述持续部署控制流程的管理权限;
59.人工确认单元,用于在所述持续部署控制流程中进行人工确认操作;
60.所述流程执行模块还包括:
61.应用卸载单元,用于卸载应用;
62.应用版本更新单元,用于更新应用版本。
63.本发明与现有技术相比,具有如下的优点和有益效果:
64.1、本发明提供的一种嵌入式应用持续部署控制方法及系统,通过创建部署控制流程和应用部署流程,简化应用的部署操作,并在应用部署流程中加入回滚操作,应对部署过程中出现部署错误的情况,实现应用部署自动化,提高应用部署效率;
65.2、本发明提供的一种嵌入式应用持续部署控制方法及系统,在应用部署流程中加入更新操作,当应用更新时无需重复进行应用配置,实现应用更新自动化;
66.3、本发明提供的一种嵌入式应用持续部署控制方法及系统,应用部署流程中包含了应用基本信息获取步骤,从而方便对应用文件进行操作,而不必了解文件在具体物理存空间中的运作过程,提高了应用部署效率;
67.4、本发明提供的一种嵌入式应用持续部署控制方法及系统,应用部署流程中添加了人工确认步骤,实现对持续部署工作流的精细化管理需要;
68.5、本发明提供的一种嵌入式应用持续部署控制方法及系统,提供了沿用在部署其他应用时创建的持续部署控制流程的步骤,实现了部署流程可重复执行,各部署阶段可被其他部署流程复制使用的功能;
69.6、本发明提供的一种嵌入式应用持续部署控制方法及系统,增加了权利管理步骤,实现对部署质量有效把控。
附图说明
70.为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
71.图1为本发明实施例1提供的嵌入式应用持续部署控制方法流程示意图;
72.图2为本发明实施例1提供的应用持续部署控制流程示意图;
73.图3为本发明实施例2提供的应用部署单元之间的交互过程示意图。
具体实施方式
74.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
75.实施例1
76.为简化了应用部署流程,提高应用部署效率,从而保证嵌入式应用快速更新迭代,本实施例提供一种嵌入式应用持续部署控制方法,如图1所示,包括以下步骤:
77.步骤1:创建持续部署控制流程。
78.本实施例提供的嵌入式应用持续部署控制方法包含了两种创建持续部署控制流程的方式:一种是沿用在部署其他应用时创建的持续部署控制流程的创建方式,另一种是重新创建新的持续部署控制流程的创建方式。
79.需补充说明的是,
80.本实施例在创建新的持续部署控制流程过程中还开发了管理权限,包括:可提交所述持续部署控制流程的管理权限和不可修改所述持续部署控制流程的管理权限。在默认情况下,持续部署的权限控制包括:(1)团队所有者具备部署管理权限,(2)团队管理者具备部署管理权限,(3)团队普通成员不具备部署管理权限。通过权限管理可有效把控部署质量。
81.本实施例在创建新的持续部署控制流程过程中还增加了人工确认节点,用户可以在应用的部署流程中添加人工确认步骤,其作用是确保部署是经过二次确认,以实现对持续部署工作流的精细化管理需要。
82.步骤2:对应用的基础配置进行设置。具体为:设置所述持续部署控制流程的触发条件,以及配置所述持续部署控制流程的通知方式。
83.步骤3:利用配置好的触发器自动提交所述新的持续部署控制流程。
84.需说明的是,除利用触发器自动提交持续部署控制流程外,还可以通过在持续部署中通过提交发布单的方式手动触发所述新的持续部署控制流程。
85.步骤4:对应用的部署参数进行设置。
86.步骤5:根据提交的持续部署控制流程执行部署操作,直到应用被部署完成并通过测试。
87.进一步的,
88.持续部署控制流程如图2所示,包括:
89.(1)接收用户发送的部署请求,根据所述部署请求执行部署操作:
90.(2)若部署操作执行过程中和部署操作执行完成进入验证期间出现错误,则执行回滚操作。例如:部署过程中出现配置错误,导致部署无法继续进行,则需执行回滚操作;部署操作执行完成进入验证期间出现错误,应用无法正常使用,同样需执行回滚操作。
91.(3)验证通过后,还需对部署的当前应用执行回滚操作。
92.需说明的是,执行回滚操作之前包括以下步骤:确定回滚版本、确定回滚应用和确定需更改的数据。
93.此外,本实施例在持续部署控制流程中还增加了应用卸载操作和应用版本更新操作。
94.在执行应用卸载操作过程中,若卸载失败,则返回卸载失败的提示消息和原因;若卸载成功,则返回卸载成功的提示消息。在执行应用版本更新操作过程中,若更新失败,则执行回滚操作;若更新成功,则返回更新成功的提示消息。具体过程参见图2。
95.进一步的,
96.持续部署控制流程中,部署操作包括:
97.(1.1)获取目标机器的软件信息和硬件信息;
98.(1.2)获取待部署应用的基本信息;
99.(1.3)生成部署策略,并对所述部署策略进行检测;
100.(1.4)根据所述软件信息、所述硬件信息和所述应用的基本信息生成部署序列;
101.(1.5)根据所述部署序列在所述目标机器上部署应用。
102.其中,软件信息包括不限于软件编号,软件版本,安装时间,安装目录,运行状态等。硬件信息包括不限于硬件编号,硬件mac,运行内存,存储大小,剩余存储大小,硬件环境等。
103.部署流程由一系列阶段组成,旨在实现流水线化部署操作。部署流程是实现持续部署的核心,支持阶段以任意的顺序组合,具备灵活性(支持串行、并行控制)、一致性(支持多种部署策略,具备回滚能力,能确保发布结果符合预期)、可重复性(部署流程可重复执行,阶段可被其他部署流程复制使用)。此外,用户可以配置完全自动化的部署流程,也可以在流程中的阶段之间加人为判断条件,部署流程还支持时间的自动化触发。
104.综上,本实施例提供的一种嵌入式应用持续部署控制方法,通过创建部署控制流程和应用部署流程,实现应用自动化部署,简化应用的部署操作;并在应用部署流程中加入回滚操作和应用更新操作,从而应对部署过程中出现部署错误和应用更新的情况,避免因部署过程错误和应用更新导致从头执行应用部署操作,实现应用持续部署和应用更新自动化。
105.以下提供的实施例2是与实施例1提供的一种嵌入式应用持续部署控制方法相参照对应的嵌入式应用持续部署控制系统,用于执行实施例1描述的应用副本数量调整方法。
106.实施例2
107.本实例提供的一种嵌入式应用持续部署控制系统,包括:
108.流程创建模块,用于创建持续部署控制流程;
109.流程执行模块,用于根据所述持续部署控制流程执行部署操作;
110.流程提交模块,用于利用配置好的触发器自动提交所述新的持续部署控制流程,
或在持续部署中通过提交发布单的方式手动触发所述新的持续部署控制流程;
111.应用配置模块,用于在自动提交所述新的持续部署控制流程之前,对应用的基础配置进行设置;
112.参数部署模块,用于在自动提交所述新的持续部署控制流程之后,对应用的部署参数进行设置。
113.其中,
114.流程创建模块包括:
115.流程复用单元,用于沿用在部署其他应用时创建的持续部署控制流程;
116.流程新建单元,用于重新创建新的持续部署控制流程;
117.权限开发单元,用于开发可提交所述持续部署控制流程的管理权限和不可修改所述持续部署控制流程的管理权限;
118.人工确认单元,用于在所述持续部署控制流程中进行人工确认操作。
119.流程执行模块包括:
120.请求接收单元,用于接收用户发送的部署请求;
121.应用部署单元,用于根据所述部署请求执行部署操作;
122.回滚操作执行单元,用于在部署操作执行过程中、部署操作执行完成进入验证期间和验证通过的情况下,对应用执行回滚操作;
123.所述应用部署单元包括:
124.部署决策服务器,用于同用户进行交互;还用于获取目标机器的软件信息和硬件信息,以及待部署应用的基本信息;还用于根据所述软件信息、所述硬件信息和所述应用的基本信息生成部署序列;
125.目标机器信息接口,用于提供所述目标机器的软件信息和硬件信息;
126.应用构件库,用于提供所述待部署应用的基本信息;还用于接收所述部署序列,并根据所述部署序列在所述目标机器上部署应用;
127.应用卸载单元,用于卸载应用;
128.应用版本更新单元,用于更新应用版本。
129.上述嵌入式应用持续部署控制系统中,按照创建的持续部署控制流程的执行应用部署的具体过程如图3所示,包括:
130.(1)用户向部署决策服务器发送应用部署的请求;
131.(2)部署决策服务器接收到用户发送的部署请求之后随即向目标机器信息接口发送请求获取软件信息和硬件信息的消息;
132.(3)目标机器信息接口将目标机器的硬件信息和软件信息反馈给部署决策服务器;
133.(4)部署决策服务器向应用构件库发送应用请求列表;
134.(5)应用构件库根据应用请求列表将应用的基本信息(包括应用名称、应用版本等)反馈至部署决策服务器;
135.(6)部署决策服务器在收到目标机器的软件信息、硬件信息和应用的基本信息之后,生成应用部署序列,并发送给应用构件库;
136.(7)应用构件库按照部署部署序列在目标机器上执行应用部署;
137.(8)目标机器向部署决策服务器发送部署结果;
138.(9)最后,目标部署决策服务器将部署结构反馈给用户。
139.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1