CN109933329A - 一种软件产品通过云端进行智能部署运维的方法 - Google Patents

一种软件产品通过云端进行智能部署运维的方法 Download PDF

Info

Publication number
CN109933329A
CN109933329A CN201910155948.7A CN201910155948A CN109933329A CN 109933329 A CN109933329 A CN 109933329A CN 201910155948 A CN201910155948 A CN 201910155948A CN 109933329 A CN109933329 A CN 109933329A
Authority
CN
China
Prior art keywords
container
carries out
software product
cloud
source code
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
CN201910155948.7A
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.)
Shenzhen Microproducts To Mdt Infotech Ltd
Original Assignee
Shenzhen Microproducts To Mdt Infotech 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 Shenzhen Microproducts To Mdt Infotech Ltd filed Critical Shenzhen Microproducts To Mdt Infotech Ltd
Priority to CN201910155948.7A priority Critical patent/CN109933329A/zh
Publication of CN109933329A publication Critical patent/CN109933329A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及一种软件产品通过云端进行智能部署运维的方法,包括如下步骤:将软件提供的功能或服务划分为多个微服务,并在这些微服务之间规定其需要传输的数据以及进行数据传输的通信协议和接口;以所述微服务为单元,得到实现其功能的源代码;将得到的多个单元的源代码分别以容器的形式进行编排、调试并形成产品发布。实施本发明的一种软件产品通过云端进行智能部署运维的方法,具有以下有益效果:其修改时间较短、工作量较小、不容易出现时间延迟。

Description

一种软件产品通过云端进行智能部署运维的方法
技术领域
本发明涉及计算机软件,更具体地说,涉及一种软件产品通过云端进行智能部署运维的方法。
背景技术
传统的软件产品的实现方式是基于脚本实现构建的过程,其需要开发或运维人员针对每个服务进行单独的脚本编写和维护。在这种方式下,由于产品只提供平台能力,编译发布就需要另外编写脚本在平台上运行来实现。这样在技术人员之间就需要较多的沟通。例如,在软件部署时,可能其部署信息中带有代码信息的配置,这样部署人员就需要与开发人员做沟通。同时,如果产品有一个临时的需求,开发人员完成后,维护人员还需要编译一个新的部署脚本。因此,在这种情况下,现有的软件产品的实现方式中,软件产品的实现的时间较长,工作量较多,容易因为相关人员之间的沟通导致时间延迟。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述实现的时间较长,工作量较多,容易因为相关人员之间的沟通导致时间延迟的缺陷,提供一种修改时间较短、工作量较小、不容易出现时间延迟的一种软件产品通过云端进行智能部署运维的方法。
本发明解决其技术问题所采用的技术方案是:构造一种软件产品通过云端进行智能部署运维的方法,包括如下步骤:
A)将软件提供的功能或服务划分为多个微服务,并在这些微服务之间规定其需要传输的数据以及进行数据传输的通信协议和接口;
B)以所述微服务为单元,得到实现其功能的源代码;
C)将得到的多个单元的源代码分别以容器的形式进行编排、调试并形成产品发布。
更进一步地,所述步骤C)中进一步包括:
C1)将一个微服务的源代码、之前设定的数据传输通信协议和接口以及该微服务源代码运行需要的数据和工具一起封装在一个容器中;
C2)重复上述步骤,直到将所有的微服务形成的单元中的源代码均封装在不同的容器中。
更进一步地,所述步骤C)中还包括如下步骤:
C3)对上述容器或容器镜像进行配置,并将所述配置文件和所述容器汇集,得到容器集群;
C4)将所述容器集群中各容器自动形成各自的容器镜像,形成软件产品并发布。
更进一步地,所述步骤C1)中进一步包括:生成编译容器并发布,所述编译容器抓取与其功能或服务对应的源代码,形成容器。
更进一步地,对所述容器进行配置包括:依据输入或运行平台的环境参数和特性参数,改变所述容器中微服务源代码运行需要的数据。
更进一步地,所述容器被改变后重新生成新的容器镜像并发布,使得所述软件产品中其他部分调用时使用新的容器镜像。
更进一步地,在形成容器镜像时,包括对该容器中源代码使用的语言进行识别和对运行平台参数进行识别,以便于匹配工具链形成标准化的容器镜像和生成符合运行平台使用的容器镜像。
更进一步地,所述服务器对所述容器的配置还包括:对容器进行选择或组合使得形成新的容器组合或删除选择的容器。
更进一步地,所述容器生成、容器修改和容器镜像生成通过所述服务器上的容器编排平台或第三方工具平台进行。
更进一步地,一个容器被改变时,仅与该容器相关的容器被改变或配置。
实施本发明的一种软件产品通过云端进行智能部署运维的方法,具有以下有益效果:由于将整个软件产品划分为多个微服务,并且每个服务被封装在一个容器中,同时,这些容器可以自己抓取对应的源代码,可以单独修改,还可以被配置或组合在一起而形成软件产品,同时所有的发布或修改操作均可以在云端实现,即用户或维护者可以在远端通过网络对异地的、原有的产品进行定制、修改或维护。因此针对该软件产品的修改可以在源代码交付后的任何时间进行,且修改量较小;在增加软件产品的功能时,只需要源代码完成并重新进行容器配置或编排即可。因此,其修改时间较短、工作量较小、不容易出现时间延迟。
附图说明
图1是本发明一种软件产品通过云端进行智能部署运维的方法实施例中该方法的流程图;
图2是所述实施例中容器生成的具体流程图。
图3是所述实施例中软件产品生成的系统结构示意图。
具体实施方式
下面将结合附图对本发明实施例作进一步说明。
如图1所示,在本发明的一种软件产品通过云端进行智能部署运维的方法实施例中,构造一种软件产品通过云端进行智能部署运维的方法,包括如下步骤:
步骤S11划分微服务并设置:在本步骤中,将软件提供的功能或服务划分为多个微服务,并在这些微服务之间规定其需要传输的数据以及进行数据传输的通信协议和接口。值得一提的是,并不仅仅需要划分功能,还需要事先设定实现各功能的软件模块之间的联系方式及其需要传输的数据,即规定其需要传输的数据以及进行数据传输的通信协议和接口。
步骤S12形成微服务源代码:在本步骤中,以所述微服务为单元,得到实现其功能的源代码;一般来讲,本步骤是开发人员实现的。
步骤S13将微服务的源代码以容器的方式封装并发布:在本步骤中,将得到的多个单元的源代码分别以容器的形式进行编排、调试并形成产品发布。即在各微服务的源代码已经准备好后,在本步骤中,将这些多个已经准好的、能够实现微服务功能的源代码分别封装在其各自的容器中,再对这些容器进行编排和设置,然后形成容器镜像,形成软件产品发布。
在本实施例中,将微服务的源代码以容器的方式封装的具体步骤如图2所示,包括:所述步骤C)中进一步包括:
步骤S21一个服务封装在一个容器中:在本步骤中,将一个微服务的源代码、之前设定的数据传输通信协议和接口以及该微服务源代码运行需要的数据和工具一起封装在一个容器中;生成编译容器并发布,所述编译容器抓取与其功能或服务对应的源代码,形成容器;该容器除了取得上述源代码之外,还取得设定的数据传输通信协议和接口以及该微服务源代码运行需要的数据和工具。上述通讯协议、接口以及运行工具等等,可以是之前设置的,也可以是依据输入或运行平台的环境参数和特性参数而输入改变的,即根据具体的运行环境,改变所述容器中微服务源代码运行需要的数据。
步骤S22分别封装所有的微服务:在本步骤中,重复上述步骤,直到将所有的微服务形成的单元中的源代码,包括设置、改变的参数以及环境参数等等,均封装在不同的容器中。
步骤S23配置所有容器并汇集,得到容器集群:在本步骤中,对上述容器进行配置,并将所述配置文件和所述容器汇集,得到容器集群;本步骤中的容器配置包括对容器进行选择或组合使得形成新的容器组合或删除选择的容器。
步骤S24将容器集群中的容器形成镜像,得到软件产品:在本步骤中,将所述容器集群中各容器自动形成各自的容器镜像,形成软件产品并发布。在形成容器镜像时,包括对该容器中源代码使用的语言进行识别和对运行平台参数进行识别,以便于匹配工具链形成标准化的容器镜像和生成符合运行平台使用的容器镜像。
在上述步骤中,所述容器生成、容器修改和容器镜像生成通过所述服务器上的容器编排平台或第三方工具平台进行。所述容器被改变后重新生成新的容器镜像并发布,使得所述软件产品中其他部分调用时使用新的容器镜像。而当一个容器被改变时,仅与该容器相关的容器被改变或配置,其余与其无关的容器,并不会发生改变。这样的设置保证了修改时只会涉及相关的功能模块,不会整个软件产品均需要重新编译等步骤,使得修改的时间减少。。
总体上而言,在现有技术中,研发交付过程包括需求,开发,测试,运维,运行等等。当前市面的产品只提供平台能力,编译发布能力需要另外编写脚本在相应的平台上运行完成。技术或技术人员之间会存在门槛或沟通问题。例如,开发完成工作后交付给运维部署,部署逻辑可能会带有代码信息的配置。部署人员需要和开发沟通。又比如,产品新加一个临时需要,交付给开发,开发完成,运维需要编译新部署脚本,整体周期很长。如果一个项目由众多微服务组成,每个交付环节成本很高,同时需要对每个不同微服务的交付过程进行维护。而在本发明中,由于采用规范的自动化交付流程,提升了交付效率,同时降低了封装交付过程中的技术门槛,降低每个环节交付成本。此外,还可以采集交付过程中信息,通过通用协议接口提供给第三方项目管理工具对接,以完成项目管理信息与实际交付情况的匹配。图3示出了本实施例中一种情况下,该软件产品的生成系统的结构示意图。
在本发明中,标准的交付过程,从源码获取、开发语言识别、编译自动化测试、生成镜像、运行应用、发布审核和发布上线依次执行,提供了标准的执行方式。在交互环节,交付环节模块均可插拔,可扩展。交付环节模块可自定义扩展,通过配置或者少量代码维护即可实现扩展;同时,软件产品中除流程中有强依赖上下游关系的流程(单元或容器)外,其他可以通过流程配置方式改变操作顺序。交付环节模块整块(有上下游强依赖关系,比如编译通过才能生产可运行镜像)部分可增删
在本发明中,该方法可能会依赖容器(比如:docker)和容器编排平台(比如:kubernetes,openshift)。也会使用到一些通用的工具,比如源码管理工具,如果可以直接把可执行应用程序,jar包提供。从中间环节切入亦可直接打包成为镜像,完成后续交付环节。
采用本发明的技术方案所产生的有益效果包括:减少跨部门协作的沟通成本,跨越交付过程中技术门槛,一键部署,简化操作,提供一体化能力;很多服务需要部署的情况下,提供并行部署能力,提升整体发布效率,提供内网和远程部署能力,同时可以提供混合部署能力(一部分服务需要部署内网环境,一部分需要部署在外网环境)等等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种软件产品通过云端进行智能部署运维的方法,其特征在于,包括如下步骤:
A)将软件提供的功能或服务划分为多个微服务,并在这些微服务之间规定其需要传输的数据以及进行数据传输的通信协议和接口;
B)以所述微服务为单元,得到实现其功能的源代码;
C)将得到的多个单元的源代码分别以容器的形式进行编排、调试并形成产品在云端发布。
2.根据权利要求1中所述的软件产品通过云端进行智能部署运维的方法,其特征在于,所述步骤C)中进一步包括:
C1)将一个微服务的源代码、之前设定的数据传输通信协议和接口以及该微服务源代码运行需要的数据和工具一起封装在一个容器中;
C2)重复上述步骤,直到将所有的微服务形成的单元中的源代码均封装在不同的容器中。
3.根据权利要求2所述的软件产品通过云端进行智能部署运维的方法,其特征在于,所述步骤C)中还包括如下步骤:
C3)对上述容器进行配置,并将所述配置文件和所述容器汇集,得到容器集群;
C4)将所述容器集群中各容器自动形成各自的容器镜像,形成软件产品并发布。
4.根据权利要求3所述的软件产品通过云端进行智能部署运维的方法,其特征在于,所述步骤C1)中进一步包括:生成编译容器并发布,所述编译容器抓取与其功能或服务对应的源代码,形成容器。
5.根据权利要求4所述的软件产品通过云端进行智能部署运维的方法,其特征在于,对所述容器进行配置包括:依据输入或运行平台的环境参数和特性参数,改变所述容器中微服务源代码运行需要的数据。
6.根据权利要求5所述的软件产品通过云端进行智能部署运维的方法,其特征在于,所述容器被改变后重新生成新的容器镜像并发布,使得所述软件产品中其他部分调用时使用新的容器镜像。
7.根据权利要求6所述的软件产品通过云端进行智能部署运维的方法,其特征在于,在形成容器镜像时,包括对该容器中源代码使用的语言进行自动识别和对运行平台参数进行识别,以便于匹配工具链形成标准化的容器镜像和生成符合运行平台使用的容器镜像。
8.根据权利要求7所述的软件产品通过云端进行智能部署运维的方法,其特征在于,所述服务器对所述容器的配置还包括:对容器进行选择或组合使得形成新的容器组合或删除选择的容器。
9.根据权利要求8所述的软件产品通过云端进行智能部署运维的方法,其特征在于,所述容器生成、容器修改和容器镜像生成通过所述服务器上的容器编排平台或第三方工具平台进行。
10.根据权利要求9所述的软件产品通过云端进行智能部署运维的方法,其特征在于,一个容器被改变时,仅与该容器相关的容器被改变或配置。
CN201910155948.7A 2019-03-01 2019-03-01 一种软件产品通过云端进行智能部署运维的方法 Pending CN109933329A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910155948.7A CN109933329A (zh) 2019-03-01 2019-03-01 一种软件产品通过云端进行智能部署运维的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910155948.7A CN109933329A (zh) 2019-03-01 2019-03-01 一种软件产品通过云端进行智能部署运维的方法

Publications (1)

Publication Number Publication Date
CN109933329A true CN109933329A (zh) 2019-06-25

Family

ID=66986222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910155948.7A Pending CN109933329A (zh) 2019-03-01 2019-03-01 一种软件产品通过云端进行智能部署运维的方法

Country Status (1)

Country Link
CN (1) CN109933329A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888657A (zh) * 2019-11-28 2020-03-17 浪潮金融信息技术有限公司 一种基于Groovy模板引擎部署微服务的方法
CN111198679A (zh) * 2019-12-18 2020-05-26 北京航天测控技术有限公司 一种多语言健康管理模型的融合方法、装置
CN111555915A (zh) * 2020-04-24 2020-08-18 科大国创云网科技有限公司 一种基于插件配置的动态网元控制系统
CN112579049A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 基于云平台的定制软件产品化管理方法及装置
CN112860772A (zh) * 2019-11-12 2021-05-28 武汉微品致远信息科技有限公司 静态文件代替服务存储信息类数据处理系统
CN114296775A (zh) * 2022-03-09 2022-04-08 南京易联阳光信息技术股份有限公司 基于大数据的智能运维方法及系统
CN115134231A (zh) * 2021-03-17 2022-09-30 北京搜狗科技发展有限公司 一种通信方法、装置和用于通信的装置
CN115469882A (zh) * 2022-09-16 2022-12-13 上海百胜软件股份有限公司 软件项目管理方法、装置、电子设备及存储介质
CN116028101A (zh) * 2022-12-26 2023-04-28 郑州云智信安安全技术有限公司 基于组件特征类别编排调取的方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104793946A (zh) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 基于云计算平台的应用部署方法和系统
CN105162884A (zh) * 2015-09-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于微服务架构的云管理平台
US20160124742A1 (en) * 2014-10-30 2016-05-05 Equinix, Inc. Microservice-based application development framework
CN106648741A (zh) * 2016-10-18 2017-05-10 广州视睿电子科技有限公司 一种应用系统部署方法及装置
CN106686132A (zh) * 2017-02-06 2017-05-17 郑州云海信息技术有限公司 一种云海系统部署方法及平台
CN106845947A (zh) * 2017-02-10 2017-06-13 中国电建集团成都勘测设计研究院有限公司 一种基于云的企业微服务持续交付的方法及系统
CN107102847A (zh) * 2016-02-23 2017-08-29 中国水电工程顾问集团有限公司 基于微服务的软件开发方法、装置及系统
CN108052374A (zh) * 2017-12-29 2018-05-18 郑州云海信息技术有限公司 一种部署容器微服务的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160124742A1 (en) * 2014-10-30 2016-05-05 Equinix, Inc. Microservice-based application development framework
CN104793946A (zh) * 2015-04-27 2015-07-22 广州杰赛科技股份有限公司 基于云计算平台的应用部署方法和系统
CN105162884A (zh) * 2015-09-25 2015-12-16 浪潮(北京)电子信息产业有限公司 一种基于微服务架构的云管理平台
CN107102847A (zh) * 2016-02-23 2017-08-29 中国水电工程顾问集团有限公司 基于微服务的软件开发方法、装置及系统
CN106648741A (zh) * 2016-10-18 2017-05-10 广州视睿电子科技有限公司 一种应用系统部署方法及装置
CN106686132A (zh) * 2017-02-06 2017-05-17 郑州云海信息技术有限公司 一种云海系统部署方法及平台
CN106845947A (zh) * 2017-02-10 2017-06-13 中国电建集团成都勘测设计研究院有限公司 一种基于云的企业微服务持续交付的方法及系统
CN108052374A (zh) * 2017-12-29 2018-05-18 郑州云海信息技术有限公司 一种部署容器微服务的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑天民: "《 向技术管理者转型 软件开发人员跨越行业、技术、管理的转型思维与实践》", 31 October 2017 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579049A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 基于云平台的定制软件产品化管理方法及装置
CN112860772A (zh) * 2019-11-12 2021-05-28 武汉微品致远信息科技有限公司 静态文件代替服务存储信息类数据处理系统
CN112860772B (zh) * 2019-11-12 2023-05-26 武汉微品致远信息科技有限公司 静态文件代替服务存储信息类数据处理系统
CN110888657A (zh) * 2019-11-28 2020-03-17 浪潮金融信息技术有限公司 一种基于Groovy模板引擎部署微服务的方法
CN111198679A (zh) * 2019-12-18 2020-05-26 北京航天测控技术有限公司 一种多语言健康管理模型的融合方法、装置
CN111198679B (zh) * 2019-12-18 2024-04-05 北京航天测控技术有限公司 一种多语言健康管理模型的融合方法、装置
CN111555915A (zh) * 2020-04-24 2020-08-18 科大国创云网科技有限公司 一种基于插件配置的动态网元控制系统
CN115134231A (zh) * 2021-03-17 2022-09-30 北京搜狗科技发展有限公司 一种通信方法、装置和用于通信的装置
CN115134231B (zh) * 2021-03-17 2024-03-08 北京搜狗科技发展有限公司 一种通信方法、装置和用于通信的装置
CN114296775A (zh) * 2022-03-09 2022-04-08 南京易联阳光信息技术股份有限公司 基于大数据的智能运维方法及系统
CN115469882A (zh) * 2022-09-16 2022-12-13 上海百胜软件股份有限公司 软件项目管理方法、装置、电子设备及存储介质
CN116028101A (zh) * 2022-12-26 2023-04-28 郑州云智信安安全技术有限公司 基于组件特征类别编排调取的方法

Similar Documents

Publication Publication Date Title
CN109933329A (zh) 一种软件产品通过云端进行智能部署运维的方法
US8180623B2 (en) Integration of a discrete event simulation with a configurable software application
CN111158708B (zh) 一种任务编排引擎系统
CN105187559B (zh) 一种数据融合治理系统
CN106302008A (zh) 数据更新方法和装置
CN103513976B (zh) 业务流程建模方法及装置
CN110213369A (zh) 一种服务功能链自动编排系统及其编排方法
CN104915756B (zh) 数据一致性云稽核系统及实现方法
CN106656980A (zh) 一种自动化配置Docker容器访问控制的方法
CN105430094A (zh) 农业物联网控制方法和系统
CN101625705B (zh) 验证环境系统及其搭建方法
CN105516178A (zh) 一种用于智能配电终端统一管控的协议转换器
CN109445323A (zh) 一种基于web的分布式智能测控软件平台设计方法
CN102034173A (zh) 基于soa的模具信息协同管理系统开发方法及系统
CN107332702A (zh) 一种基于网络拓扑的scd文件可视化解析自动生成方法
CN114429210A (zh) 基于云原生的强化学习流水线方法、系统、设备及存储介质
CN100407663C (zh) 一种电信智能业务的通用测试系统及方法
CN102377506A (zh) 测试报文处理系统
EP2908498B1 (en) Integrated application generating system and method for internet of things terminal
CN104978170B (zh) 一种基于图形化表示的多智能体系统生成方法
CN107748672A (zh) 基于iec61850就地化保护模型的二次远程界面综合管理方法
CN102087595A (zh) 基于soa的专利代理协同管理系统开发方法及系统
CN104484230B (zh) 基于近数据计算原则的多卫星数据中心工作流调度算法
CN102111910A (zh) 一种基于SOA的ZigBee无线传输网络系统构建方法及系统
CN113923159A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190625

RJ01 Rejection of invention patent application after publication