CN110825452A - 一种多云管理的云服务适配模块管理方法 - Google Patents
一种多云管理的云服务适配模块管理方法 Download PDFInfo
- Publication number
- CN110825452A CN110825452A CN201910958240.5A CN201910958240A CN110825452A CN 110825452 A CN110825452 A CN 110825452A CN 201910958240 A CN201910958240 A CN 201910958240A CN 110825452 A CN110825452 A CN 110825452A
- Authority
- CN
- China
- Prior art keywords
- cloud
- management
- service
- adaptation module
- api
- 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.)
- Withdrawn
Links
- 238000007726 management method Methods 0.000 title claims abstract description 112
- 230000006978 adaptation Effects 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 238000001514 detection method Methods 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 9
- 238000012827 research and development Methods 0.000 abstract description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 31
- 238000013459 approach Methods 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 235000019987 cider Nutrition 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及多云管理技术领域,特别涉及一种多云管理的云服务适配模块管理方法。本发明的方法是由多云管理主程序定义通用管理API,并提供云服务适配模块插件管理服务;所述多云管理主程序确定云服务适配模块代码权限的管理粒度并制定代码结构;然后编写云服务适配模块代码并打包成插件。本发明方法将云服务适配模块以插件方式进行管理;实现主程序与实现类的解耦,方便研发管理,提高开发效率,保障源码安全;可以用于多云管理的云服务适配模块管理。
Description
技术领域
本发明涉及多云管理技术领域,特别涉及一种多云管理的云服务适配模块管理方法。
背景技术
目前,云平台基本以云服务作为一个基础单元对外提供服务。多云管理为了屏蔽云间差异,通常会定义通用管理API;然后适配各类型云平台的实现,以云服务为最小单元封装成微服务对外提供通用的管理API。随着源码管理技术的发展和团队协同开发的需要,git源码管理工具逐渐成为业界主流。
传统的微服务通常是将各代码模块打包成一个可运行的服务程序,例如基于SpringBoot的微服务将各代码模块编译成一个可运行的jar包。随着适配的云平台类型的增加,服务程序会变得越来越大。实际上每个客户环境所需要的云服务适配模块通常只是一小部分,这种方式的模块管理和程序打包方式会造成程序运行消耗更多的服务器资源。随着云平台的发展,特别是在私有云领域,云服务的API会出现不同的版本;单纯以云平台类型作为模块划分无法适应后续的扩展。git源码管理工具无法做细粒度的模块代码权限控制,必须整个服务代码同时开放;多云管理领域涉及适配模块较多,需要更多的研发人员参与。因此需要一种灵活的模块划分和高效的研发管理方法。
发明内容
本发明解决的技术问题在于提供一种多云管理的云服务适配模块管理方法;灵活地根据不同的客户需求定制多云管理所涉及的平台类型和API版本,减少适配程序的系统开销,提高服务性能。
本发明解决上述技术问题的技术方案是:
所述的方法是由多云管理主程序定义通用管理API,并提供云服务适配模块插件管理服务;所述多云管理主程序确定云服务适配模块代码权限的管理粒度并制定代码结构;然后编写云服务适配模块代码并打包成插件。
所述的管理服务包括:
多云管理主程序根据配置文件配置启动时加载的云服务适配模块,检测云服务适配模块完整性和冲突,并提供云服务适配模块插件上传、动态加载的管理功能。
所述的定义云服务通用管理API包括:云管理所需的业务属性、通用管理API的版本、实现API的云平台类型、云服务类型和云服务API版本。
所述的配置文件包括适配的云平台类型和云服务适配模块实现的插件程序包。
所述的
完整性检测是检查定义的所有云服务的通用管理API是否都能找到对应的实现类;
冲突检测是检查云平台相同类型的服务是否同时提供了不同版本的实现类,如有,则择其一使用。
所述的上传、动态加载指云服务适配模块编码完成后,编译成指定的文件格式,上传到多云管理主程序运行的服务器所指定的目录;当多云管理主程序检测到有新模块上传后自动加载新模块的实现类,并触发完整性和冲突检测。
所述的方法中,根据云平台服务分类的差异,云服务适配模块的分类粒度与通用管理API相同或比通用管理API小;通用管理API的服务分类与云平台的服务是1对N的关系,N>=1。
本发明的云服务适配模块管理方法,能够灵活地根据不同的客户需求定制多云管理所涉及的平台类型和API版本,最大限度地减少适配程序没必要的系统开销,提高服务性能。同时提供完整性和冲突检测,保障系统提供服务的完整性和正确性。采用插件方式的模块管理实现主程序与实现类的解耦,方便研发管理,提高开发效率,保障源码安全。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明方法的流程图;
图2是本发明云服务适配模块插件管理服务各部件关系图。
具体实施方式
见图1、2所示,是本发明一个实施例中云服务适配模块管理方法的流程图。本发明的方法包括以下实现步骤:
S10:多云管理主程序定义云服务通用管理API。
云服务通用管理API是一套抽取异构云公共特性、用于异构云统一管理的API。定义云服务通用管理API除了包含云管理所需的业务属性,还包括通用管理API的版本、实现该API的云平台类型、云服务类型和云服务API版本。
例如,实现弹性计算服务通用管理API集合定义的方法如下:
V1版本集合目录:EcsCommonApis.V1
该服务包括创建虚拟机、创建云盘等功能接口:CreateVmApi、CreateDiskApi、...,所有业务功能API继承ApiBase(包括:实现云平台的类型cloudType,云服务类型cloudserviceType,云服务API版本)。
S20:多云管理主程序提供云服务适配模块插件管理服务。
为能够最大限度节约运行多云管理程序的服务器资源,提供灵活的软件模块管理和实现多团队协同开发,云服务适配模块使用插件式开发和管理。多云管理主程序提供插件管理服务,满足不同的环境部署和管理需求。本实施例中提供云服务适配模块插件管理服务具体步骤如下:
S21:根据配置文件配置多云管理主程序启动加载的云服务适配模块。
定义多云管理主程序启动时加载的云服务适配模块,程序启动时加载通用管理API的实现类只会在配置文件配置的插件包中查找。配置文件主要包括适配的云平台类型和云服务适配模块实现的插件程序包。例如:
CloudAdapterInit.conf
Aliyun:
EcsCommonApi-Aliyun-Ecs-V20140101-Plugin
Openstack:
EcsCommonApi-Openstack-Nova-V2-Plugin
EcsCommonApi-Openstack-Cinder-V3-Plugin
S22:多云管理主程序检测加载的云服务适配模块完整性和冲突。
为保障主程序所有功能的正常运行,需要检测加载云服务适配模块完整性和冲突。
完整性主要检查步骤S10中定义的所有云服务通用管理API是否都能找到对应的实现类;
冲突主要检查云平台相同类型的服务是否同时提供了不同版本的实现类,由于版本间的差异,相同功能的不同版本实现类是不能混合使用的。
例如:配置文件同时配置了EcsCommonApi-Openstack-Cinder-V2-Plugin和EcsCommonApi-Openstack-Cinder-V3-Plugin,同一套Openstack环境中Cinder的V2和V3版本通常是二选一使用的。
多云管理主程序将检测到的完整性和冲突结果按云平台类型分类输出给用户,以便调整配置。
S23:多云管理主程序提供云服务适配模块插件上传、动态加载等管理功能。
云服务适配模块插件上传和动态加载是指云服务适配模块编码完成后,可以编译成指定的文件格式,上传到多云管理主程序运行的服务器所指定的目录。当主程序检测到有新模块上传后自动加载新模块的实现类,并触发S22的检测流程。使得主程序在不重启的情况下具备新模块的功能,保障多团队协同开发时不开放主程序源码权限实现接口适配的功能验证和测试。
S30:确定云服务适配模块代码权限管理粒度制定代码结构。
代码管理权限是指使用git或svn之类的主流软件源代码管理工具进行管理时需要确定权限控制的粒度,以便相对准确的确定云服务适配模块的代码结构。可以根据实际以云平台类型作为分类,或云服务类型进行分类进行管理,以便组织不同团队进行合作开发。
S40:编写云服务适配模块代码并打包成插件。
云服务适配模块是不同云平台的云服务对通用管理API的具体实现方法,由于云平台服务分类的差异,云服务适配模块的分类粒度应该与通用管理API相同或比通用管理API的小,通用管理API的服务分类与云平台的服务是1对N(N>=1)的关系。例如:定义弹性计算通用管理API,对应阿里云是由Ecs服务提供,而在Openstack是由nova、cinder、glance等多个服务组合而成;因此,Openstack云服务适配模块要以Openstack的服务进行分类。命名规则为:通用管理服务名称-云平台类型-云服务类型-云服务API版本-Plugin
例如:
EcsCommonApi-Aliyun-Ecs-V20140101-Plugin
EcsCommonApi-Openstack-Nova-V2-Plugin
云服务适配模块内部的代码结构定义要能兼容不同的通用管理API版本,例如:
EcsCommonApi-Aliyun-Ecs-V20140101-Plugin
--V1
--CreateVmApiImpl
--CreateDiskApiImpl
--V2
--CreateVmApiImpl
--CreateDiskApiImpl。
Claims (10)
1.一种多云管理的云服务适配模块管理方法,其特征在于:所述的方法是由多云管理主程序定义通用管理API,并提供云服务适配模块插件管理服务;所述多云管理主程序确定云服务适配模块代码权限的管理粒度并制定代码结构;然后编写云服务适配模块代码并打包成插件。
2.根据权利要求1所述的方法,其特征在于:所述的管理服务包括:
多云管理主程序根据配置文件配置启动时加载的云服务适配模块,检测云服务适配模块完整性和冲突,并提供云服务适配模块插件上传、动态加载的管理功能。
3.根据权利要求1所述的方法,其特征在于:所述的定义云服务通用管理API包括:云管理所需的业务属性、通用管理API的版本、实现API的云平台类型、云服务类型和云服务API版本。
4.根据权利要求2所述的方法,其特征在于:所述的定义云服务通用管理API包括:云管理所需的业务属性、通用管理API的版本、实现API的云平台类型、云服务类型和云服务API版本。
5.根据权利要求2或4所述的方法,其特征在于:所述的配置文件包括适配的云平台类型和云服务适配模块实现的插件程序包。
6.根据权利要求2所述的方法,其特征在于:所述的
完整性检测是检查定义的所有云服务的通用管理API是否都能找到对应的实现类;
冲突检测是检查云平台相同类型的服务是否同时提供了不同版本的实现类,如有,则择其一使用。
7.根据权利要求5所述的方法,其特征在于:所述的
完整性检测是检查定义的所有云服务的通用管理API是否都能找到对应的实现类;
冲突检测是检查云平台相同类型的服务是否同时提供了不同版本的实现类,如有,则择其一使用。
8.根据权利要求7所述的方法,其特征在于:所述的上传、动态加载指云服务适配模块编码完成后,编译成指定的文件格式,上传到多云管理主程序运行的服务器所指定的目录;当多云管理主程序检测到有新模块上传后自动加载新模块的实现类,并触发完整性和冲突检测。
9.根据权利要求1或2所述的方法,其特征在于:所述的方法中,根据云平台服务分类的差异,云服务适配模块的分类粒度与通用管理API相同或比通用管理API小;通用管理API的服务分类与云平台的服务是1对N的关系,N>=1。
10.根据权利要求8所述的方法,其特征在于:所述的方法中,根据云平台服务分类的差异,云服务适配模块的分类粒度与通用管理API相同或比通用管理API小;通用管理API的服务分类与云平台的服务是1对N的关系,N>=1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910958240.5A CN110825452A (zh) | 2019-10-10 | 2019-10-10 | 一种多云管理的云服务适配模块管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910958240.5A CN110825452A (zh) | 2019-10-10 | 2019-10-10 | 一种多云管理的云服务适配模块管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110825452A true CN110825452A (zh) | 2020-02-21 |
Family
ID=69548916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910958240.5A Withdrawn CN110825452A (zh) | 2019-10-10 | 2019-10-10 | 一种多云管理的云服务适配模块管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825452A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111954021A (zh) * | 2020-08-18 | 2020-11-17 | 上海七牛信息技术有限公司 | 一种直播资源配置系统以及方法 |
CN112181387A (zh) * | 2020-09-09 | 2021-01-05 | 上海微亿智造科技有限公司 | 一种web多人协同开发过程中模块管理方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516781A (zh) * | 2012-06-27 | 2014-01-15 | 国际商业机器公司 | 用于实例化it服务的资源的方法和系统 |
CN104917815A (zh) * | 2015-04-21 | 2015-09-16 | 武大吉奥信息技术有限公司 | 一种用于云中gis服务计算的异构云隔离系统及方法 |
CN107409126A (zh) * | 2015-02-24 | 2017-11-28 | 思科技术公司 | 用于保护企业计算环境安全的系统和方法 |
CN107888673A (zh) * | 2017-11-03 | 2018-04-06 | 国云科技股份有限公司 | 一种适用于异构云平台的统一管理实现方法 |
CN108989384A (zh) * | 2018-05-31 | 2018-12-11 | 华为技术有限公司 | 一种数据处理的方法、多云管理系统以及相关设备 |
CN109067756A (zh) * | 2018-08-20 | 2018-12-21 | 国云科技股份有限公司 | 一种适用于多云管理的用户同步及权限控制方法 |
CN109240837A (zh) * | 2018-09-11 | 2019-01-18 | 四川长虹电器股份有限公司 | 一种通用云存储服务api的构建方法 |
CN109358866A (zh) * | 2018-08-09 | 2019-02-19 | 南京易捷思达软件科技有限公司 | 一种面向应用的多云管理系统 |
CN109451028A (zh) * | 2018-11-16 | 2019-03-08 | 深圳供电局有限公司 | 一种基于适配器技术的云管理系统 |
CN109656544A (zh) * | 2018-12-26 | 2019-04-19 | 苏州博纳讯动软件有限公司 | 一种基于执行路径相似度的云服务api适配方法 |
-
2019
- 2019-10-10 CN CN201910958240.5A patent/CN110825452A/zh not_active Withdrawn
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516781A (zh) * | 2012-06-27 | 2014-01-15 | 国际商业机器公司 | 用于实例化it服务的资源的方法和系统 |
CN107409126A (zh) * | 2015-02-24 | 2017-11-28 | 思科技术公司 | 用于保护企业计算环境安全的系统和方法 |
CN104917815A (zh) * | 2015-04-21 | 2015-09-16 | 武大吉奥信息技术有限公司 | 一种用于云中gis服务计算的异构云隔离系统及方法 |
CN107888673A (zh) * | 2017-11-03 | 2018-04-06 | 国云科技股份有限公司 | 一种适用于异构云平台的统一管理实现方法 |
CN108989384A (zh) * | 2018-05-31 | 2018-12-11 | 华为技术有限公司 | 一种数据处理的方法、多云管理系统以及相关设备 |
CN109358866A (zh) * | 2018-08-09 | 2019-02-19 | 南京易捷思达软件科技有限公司 | 一种面向应用的多云管理系统 |
CN109067756A (zh) * | 2018-08-20 | 2018-12-21 | 国云科技股份有限公司 | 一种适用于多云管理的用户同步及权限控制方法 |
CN109240837A (zh) * | 2018-09-11 | 2019-01-18 | 四川长虹电器股份有限公司 | 一种通用云存储服务api的构建方法 |
CN109451028A (zh) * | 2018-11-16 | 2019-03-08 | 深圳供电局有限公司 | 一种基于适配器技术的云管理系统 |
CN109656544A (zh) * | 2018-12-26 | 2019-04-19 | 苏州博纳讯动软件有限公司 | 一种基于执行路径相似度的云服务api适配方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111954021A (zh) * | 2020-08-18 | 2020-11-17 | 上海七牛信息技术有限公司 | 一种直播资源配置系统以及方法 |
CN112181387A (zh) * | 2020-09-09 | 2021-01-05 | 上海微亿智造科技有限公司 | 一种web多人协同开发过程中模块管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11405274B2 (en) | Managing virtual network functions | |
US11789715B2 (en) | Systems and methods for transformation of reporting schema | |
CA3008844C (en) | Automatic generation of microservices based on technical description of legacy code | |
US10353913B2 (en) | Automating extract, transform, and load job testing | |
US20170206245A1 (en) | System and method for dynamic conversion of database accessing scripts during runtime in a mainframe rehosting platform | |
US11403146B2 (en) | Method, apparatus, and server for managing image across cloud servers | |
CN110597531B (zh) | 分布式的模块升级方法、装置及存储介质 | |
US20190065351A1 (en) | System and method for providing a test manager for use with a mainframe rehosting platform | |
US20050262501A1 (en) | Software distribution method and system supporting configuration management | |
US11556348B2 (en) | Bootstrapping profile-guided compilation and verification | |
CN108141378B (zh) | Vnfd中的休眠vdu | |
CN106681718A (zh) | 一种基于工具集的桌面端插件框架及实现方法 | |
CN107133055B (zh) | 一种基于ClassLoader实现定制开发的方法 | |
US10749984B2 (en) | Processing requests for multi-versioned service | |
CN110825452A (zh) | 一种多云管理的云服务适配模块管理方法 | |
EP3640805A1 (en) | Method and apparatus for implementing white-box otn hardware device, and storage medium | |
US10534640B2 (en) | System and method for providing a native job control language execution engine in a rehosting platform | |
CN108563460A (zh) | 一种基于插件的android应用新功能发布方法 | |
CN113064698A (zh) | 提供产品环境的方法及相应的装置、系统、设备和介质 | |
CN111078358B (zh) | 一种基于软件容器的试验数据处理方法及系统 | |
US10303531B2 (en) | Console application through web service | |
US9436523B1 (en) | Holistic non-invasive evaluation of an asynchronous distributed software process | |
CN115630090B (zh) | 一种任务状态转换系统 | |
CN113590166B (zh) | 应用程序的更新方法、装置以及计算机可读存储介质 | |
US20230281054A1 (en) | Computer System Execution Environment Builder Tool |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200221 |