CN113900742A - 应用实例的管理方法、装置、电子设备及存储介质 - Google Patents

应用实例的管理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113900742A
CN113900742A CN202111020856.1A CN202111020856A CN113900742A CN 113900742 A CN113900742 A CN 113900742A CN 202111020856 A CN202111020856 A CN 202111020856A CN 113900742 A CN113900742 A CN 113900742A
Authority
CN
China
Prior art keywords
template
management operation
management
application
application instance
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
CN202111020856.1A
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202111020856.1A priority Critical patent/CN113900742A/zh
Publication of CN113900742A publication Critical patent/CN113900742A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

本申请公开了一种应用实例的管理方法、装置、电子设备及存储介质。其中,方法包括:在云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;基于所述第一模板,对所述目标应用实例执行所述第一管理操作。

Description

应用实例的管理方法、装置、电子设备及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种应用实例的管理方法、装置、电子设备及存储介质。
背景技术
随着云计算技术的发展,云计算平台(后续描述中简称为云平台)越来越被赋予更高的价值。通过云平台,可以实现应用环境的快速部署与分发,能够大幅减少部署应用实例的耗时;同时,云平台能够提供针对不同应用实例的在线管理操作功能,方便用户使用。
然而,相关技术中,云平台支持的针对应用实例的管理操作大多是静态的,即用户只能通过云平台对应用实例执行一些简单且固定的管理操作。
发明内容
为解决相关技术问题,本申请实施例提供一种应用实例的管理方法、装置、电子设备及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种应用实例的管理方法,应用于云平台,包括:
在所述云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;
响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;
根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;
基于所述第一模板,对所述目标应用实例执行所述第一管理操作。
上述方案中,所述基于所述第一模板,对所述目标应用实例执行所述第一管理操作,包括:
基于所述第一模板,生成所述第一管理操作对应的操作指令;
向所述目标应用实例对应的云主机下发所述操作指令,以指示所述云主机对所述目标应用实例执行所述第一管理操作。
上述方案中,所述基于所述第一模板,生成所述第一管理操作对应的操作指令,包括:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在不需要获取所述操作参数的情况下,基于所述第一模板,生成所述第一管理操作对应的操作指令。
上述方案中,所述在不需要获取所述操作参数的情况下,基于所述第一模板,生成所述第一管理操作对应的操作指令,包括:
在不需要获取所述操作参数的情况下,在所述前端页面呈现确认选项;所述确认选项用于确认是否执行所述第一管理操作;
响应于针对所述确认选项的确认操作,基于所述第一模板,生成所述第一管理操作对应的操作指令。
上述方案中,所述基于所述第一模板,生成所述第一管理操作对应的操作指令,包括:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在需要获取所述操作参数的情况下,根据所述第一标识,获取所述第一管理操作对应的第二模板;所述第二模板用于在所述前端页面渲染用于输入所述操作参数的表单(英文可以表达为form);
基于所述第一模板和所述第二模板,生成所述第一管理操作对应的操作指令。
上述方案中,所述基于所述第一模板和所述第二模板,生成所述第一管理操作对应的操作指令,包括:
利用所述第二模板,在所述前端页面渲染用于输入所述操作参数的表单,并获取通过所述表单输入的操作参数;
根据所述操作参数,利用所述第一模板,生成所述操作指令。
上述方案中,所述方法还包括:
获取对所述目标应用实例执行所述第一管理操作的执行结果;
在所述前端页面呈现所述执行结果。
本申请实施例还提供了一种应用实例的管理装置,包括:
第一处理单元,用于在云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;
第二处理单元,用于响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;
第三处理单元,用于根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;
第四处理单元,用于基于所述第一模板,对所述目标应用实例执行所述第一管理操作。
本申请实施例还提供了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本申请实施例提供的应用实例的管理方法、装置、电子设备及存储介质,在云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;基于所述第一模板,对所述目标应用实例执行所述第一管理操作。本申请实施例的方案,在云平台将对应用实例的管理操作抽象为操作模板(即所述第一模板),基于操作模板对应用实例执行管理操作;如此,一方面,能够使云平台支持针对应用实例的灵活、丰富、且复杂的动态管理操作,从而能够提升用户体验;另一方面,能够实现应用包和云平台之间的解耦,即实现针对应用实例的管理操作功能和云平台之间的解耦,在需要拓展针对应用实例的管理操作功能的情况下,不需要对云平台进行***升级,能够基于操作模板的更新实现快速的应用包的上线和迭代,从而能够缩短应用包的开发周期。
附图说明
图1为本申请实施例应用实例的管理方法的流程示意图;
图2为本申请应用实施例对应用实例执行管理操作的流程示意图;
图3为本申请应用实施例在应用中心平台的前端页面呈现的应用实例相关信息及管理操作功能项的示意图;
图4为本申请应用实施例在应用中心平台的前端页面渲染的表单的示意图;
图5为本申请应用实施例在应用中心平台的前端页面呈现的确认选项的示意图;
图6为本申请应用实施例在应用中心平台的前端页面呈现的管理操作的执行结果的示意图;
图7为本申请实施例应用实例的管理装置的结构示意图;
图8为本申请实施例电子设备的结构示意图。
具体实施方式
下面结合附图及实施例对本申请再作进一步详细的描述。
相关技术中,云平台缺乏对应用实例的动态管理操作的架构支持,难以执行复杂的管理操作。并且,针对应用实例的管理操作功能和云平台***耦合,即在需要拓展针对应用实例的管理操作功能的情况下,需要对云平台进行***升级,进行复杂的前端与后端的协同开发后上线发布应用包,应用包的开发周期长。可见,云平台无法满足对多种应用实例的不同的管理操作的自定义需求以及应用包快速上线的需求。
基于此,在本申请的各种实施例中,在云平台将对应用实例的管理操作抽象为操作模板(即所述第一模板),基于操作模板对应用实例执行管理操作;如此,一方面,能够使云平台支持针对应用实例的灵活、丰富、且复杂的动态管理操作,从而能够提升用户体验;另一方面,能够实现应用包和云平台之间的解耦,即实现针对应用实例的管理操作功能和云平台之间的解耦,在需要拓展针对应用实例的管理操作功能的情况下,不需要对云平台进行***升级,能够基于操作模板的更新实现快速的应用包的上线和迭代,从而能够缩短应用包的开发周期。
本申请实施例提供一种应用实例的管理方法,应用于云平台,如图1所示,该方法包括:
步骤101:在所述云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;
步骤102:响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;
这里,所述第一标识表征所述选择操作对应的第一管理操作的类型;
步骤103:根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;
步骤104:基于所述第一模板,对所述目标应用实例执行所述第一管理操作。
这里,需要说明的是,本申请实施例中的云平台,可以是私有云、公有云或其他形态的云,提供计算、存储、网络等基础资源以及基础资源的管理接口,并在此基础上通过平台即服务(PaaS,Platform as a Service)的云计算服务模式,实现应用实例的管理。
实际应用时,所述云平台也可以称为云上应用中心、应用中心、应用中心平台、应用管理平台等,本申请实施例对所述云平台的具体名称不作限定,只要能够实现应用实例的管理即可。
实际应用时,所述应用实例可以理解为基于应用包在所述云平台部署的具体应用服务,一个应用实例具体可以包含至少一个云主机以及安装在每个云主机内部的应用服务,并由所述云平台进行统一管理。所述应用可以是单体的中间件应用(即单体服务),比如MySQL、远程字典服务(Redis,Remote dictionary server)、Kafka、MongoDB、RabbitMQ等;也可以是多个单体服务组合的复杂***,比如博客***(包含网络(Web)、MySQL、Redis等多个应用服务)、大数据管理***(包含Hadoop、Hive、HBASE等多个应用服务)等。
实际应用时,应用开发人员可以根据用户需求自定义对应用实例的管理操作。具体地,开发人员可以根据所述云平台的应用包开发规范开发具体应用的数据包(即应用包),所述应用包用于定义应用实例的部署流程、运维流程、页面渲染等逻辑;在开发应用包时,开发人员可以根据用户需求自定义针对相应应用实例的不同类型的管理操作的操作模板(即第一模板);换句话说,所述应用包可以包含至少一个第一模板,每个第一模板对应针对目标应用实例的一个管理操作。如此,通过针对应用实例的管理操作的抽象化(即模板化),使得所述云平台能够满足用户对多种应用实例的不同的管理操作的自定义需求,在不感知管理操作的类型和内容(即操作流程)的前提下执行相应管理操作,实现所述云平台对不同应用实例的不同类型的管理操作的统一管理和执行。
这里,针对目标应用实例的一个管理操作可以理解为针对目标应用实例的一个类型的管理操作,即针对目标应用实例的每个管理操作对应的类型不同。开发人员可以将开发完成的应用包上传到所述云平台,所述云平台可以基于所述至少一个第一模板对所述目标应用实例执行至少一个管理操作,比如应用包管理、应用实例创建、应用实例的自动化部署、应用实例删除、应用实例的在线运维等。示例性地,对于MySQL应用实例,用户可以通过所述云平台在线执行创建用户、创建数据库、用户授权、修改参数等管理操作。
实际应用时,通过目标应用实例的各管理操作可以实现不同的服务功能;比如,通过对MySQL应用实例的创建数据库的管理操作,可以实现在线创建数据库功能;再比如,通过对RabbitMQ应用实例的创建队列的管理操作,可以实现在线创建队列功能。
基于此,在步骤101中,实际应用时,为了供用户对应用实例能够提供的服务功能进行选择,即对需要执行的管理操作进行选择,所述云平台可以在接收到开发完成的应用包后,根据应用包所包含的至少一个第一模板,确定在所述云平台的前端页面呈现的至少一个管理操作功能项,即所述第一模板与所述管理操作功能项一一对应。
在步骤102中,实际应用时,所述前端页面呈现的每个管理操作功能项可以关联一个表征管理操作类型的管理操作标识(即所述第一标识),用户可以根据需求在所述前端页面选择需要针对所述目标应用实例执行的管理操作对应的管理操作功能项,响应于用户的选择操作,所述云平台可以获取到所述第一标识。
在步骤103中,实际应用时,所述第一模板可以包含或关联所述第一标识,所述第一标识可以为所述第一管理操作对应的索引、所述第一管理操作的名称等。
实际应用时,所述第一模板可以理解为开发人员定义的执行所述第一管理操作的规则,即所述第一管理操作的后台执行流程的数据结构。具体地,所述第一模板可以包含以下内容:
所述第一管理操作的类型信息,可以理解为所述第一管理操作的名称,比如,在所述第一管理操作为针对MySQL应用实例的创建用户的管理操作的情况下,所述类型信息可以为“创建用户”;所述第一管理操作的类型信息可以用于在所述前端页面相应的管理操作功能项显示操作名称,比如在按钮上显示“创建用户”;
执行所述第一管理操作所需的针对云主机的操作指令信息;
所述第一管理操作执行完成后的返回信息,比如操作执行成功或失败等返回值的类型;
所述第一模板的版本信息;用于在后续的模板升级中对升级前后的模板进行区分。
实际应用时,执行所述第一管理操作可能需要用户通过所述前端页面输入操作参数,比如,针对MySQL应用实例执行创建用户的管理操作时,需要用户输入用户名等操作参数。因此,所述第一模板还可以包含执行所述第一管理操作所需的通过所述前端页面输入的操作参数信息,比如参数名称、参数类型、是否为必须参数等。
实际应用时,在所述第一模板包含执行所述第一管理操作所需的通过所述前端页面输入的操作参数信息的情况下,执行所述第一管理操作所需的针对云主机的操作指令信息还可以包含相应操作参数的格式化策略,以供所述云平台生成所述目标应用实例对应的云主机能够执行的操作指令。
在步骤104中,实际应用时,由于所述第一模板包含执行所述第一管理操作所需的针对云主机的操作指令信息,因此,所述云平台可以基于所述第一模板生成所述第一管理操作对应的操作指令,并向所述目标应用实例对应的至少一个云主机下发所述操作指令,以指示所述至少一个云主机对所述目标应用实例执行所述第一管理操作,使得所述云平台能够在不感知管理操作的类型和内容(即操作流程)的前提下执行相应管理操作。
基于此,在一实施例中,所述基于所述第一模板,对所述目标应用实例执行所述第一管理操作,可以包括:
基于所述第一模板,生成所述第一管理操作对应的操作指令;
向所述目标应用实例对应的云主机下发所述操作指令,以指示所述云主机对所述目标应用实例执行所述第一管理操作。
实际应用时,所述云平台可以通过判断所述第一模板是否包含执行所述第一管理操作所需的通过所述前端页面输入的操作参数信息,判断执行所述第一管理操作是否需要用户通过所述前端页面输入操作参数,并在不需要获取所述操作参数的情况下,可以直接基于所述第一模板生成所述第一管理操作对应的操作指令。
基于此,在一实施例中,所述基于所述第一模板,生成所述第一管理操作对应的操作指令,可以包括:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在不需要获取所述操作参数的情况下,基于所述第一模板,生成所述第一管理操作对应的操作指令。
实际应用时,为了避免用户选择了错误的管理操作功能项,在不需要获取所述操作参数的情况下,所述云平台可以在所述前端页面呈现确认选项,以供用户再次确认是否需要执行所述第一管理操作,从而能够避免执行错误的管理操作,提升用户体验。
基于此,在一实施例中,所述在不需要获取所述操作参数的情况下,基于所述第一模板,生成所述第一管理操作对应的操作指令,可以包括:
在不需要获取所述操作参数的情况下,在所述前端页面呈现确认选项;所述确认选项用于确认是否执行所述第一管理操作;
响应于针对所述确认选项的确认操作,基于所述第一模板,生成所述第一管理操作对应的操作指令。
实际应用时,在开发应用包的过程中,开发人员自定义至少一个第一模板后,针对需要获取通过所述前端页面输入的操作参数的管理操作,还可以开发用于在所述前端页面渲染用于输入所述操作参数的表单的第二模板;换句话说,所述应用包还可以包含所述第二模板,所述第二模板可以包含或关联所述第一标识。
基于此,在一实施例中,所述基于所述第一模板,生成所述第一管理操作对应的操作指令,可以包括:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在需要获取所述操作参数的情况下,根据所述第一标识,获取所述第一管理操作对应的第二模板;所述第二模板用于在所述前端页面渲染用于输入所述操作参数的表单;
基于所述第一模板和所述第二模板,生成所述第一管理操作对应的操作指令。
这里,所述渲染可以理解为生成所述表单的前端代码并在所述前端页面呈现所述表单的过程,即所述第二模板定义了所述第一管理操作的用于在所述前端页面渲染表单的数据结构。具体地,所述第二模板可以包含以下内容:
表单字段的分组信息,比如分组名称;用于供所述前端页面分组显示字段;
表单字段的列表信息,即各字段分组包含的字段列表信息;
表单字段的必要性信息,即是否为必须字段;
表单字段的名称信息;
表单字段的标签信息;
表单字段的类型信息,比如字符串(string)、整数(int)、浮点型(float)、下拉列表(choice)、多选(multichoice)等;
表单字段的初始值;
表单字段的约束规则,比如最大长度或最小长度的约束、最大值或最小值的约束等。
实际应用时,在基于所述第一模板和所述第二模板生成所述第一管理操作对应的操作指令的过程中,所述云平台可以先利用所述第二模板在所述前端页面渲染用于输入所述操作参数的表单,用户可以通过所述表单输入操作参数;所述云平台获取到用户输入的操作参数后,可以根据所述操作参数,利用所述第一模板,生成所述操作指令。
基于此,在一实施例中,所述基于所述第一模板和所述第二模板,生成所述第一管理操作对应的操作指令,可以包括:
利用所述第二模板,在所述前端页面渲染用于输入所述操作参数的表单,并获取通过所述表单输入的操作参数;
根据所述操作参数,利用所述第一模板,生成所述操作指令。
这里,由于所述第一模板所包含的执行所述第一管理操作所需的针对云主机的操作指令信息还可以包含相应操作参数的格式化策略,因此,所述云平台可以利用所述格式化策略将所述操作参数格式化到所述操作指令中,即生成所述目标应用实例对应的云主机能够执行的操作指令。
实际应用时,所述云平台向所述目标应用实例对应的云主机下发所述操作指令后,所述云主机响应所述操作指令,执行所述第一管理操作,并向所述云平台返回所述第一管理操作的执行结果(比如执行成功或执行失败);所述云平台接收到所述第一管理操作的执行结果后,可以在所述前端页面呈现所述执行结果,以供用户了解所述第一管理操作的执行情况。
基于此,在一实施例中,该方法还可以包括:
获取对所述目标应用实例执行所述第一管理操作的执行结果;
在所述前端页面呈现所述执行结果。
本申请实施例提供的应用实例的管理方法,在云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;基于所述第一模板,对所述目标应用实例执行所述第一管理操作。本申请实施例的方案,在云平台将对应用实例的管理操作抽象为操作模板(即所述第一模板),基于操作模板对应用实例执行管理操作;如此,一方面,能够使云平台支持针对应用实例的灵活、丰富、且复杂的动态管理操作,从而能够提升用户体验;另一方面,能够实现应用包和云平台之间的解耦,即实现针对应用实例的管理操作功能和云平台之间的解耦,在需要拓展针对应用实例的管理操作功能的情况下,不需要对云平台进行***升级,能够基于操作模板的更新实现快速的应用包的上线和迭代,从而能够缩短应用包的开发周期。
下面结合应用实施例对本申请再作进一步详细的描述。
在本应用实施例中,所述云平台称为应用中心平台;所述第一模板称为操作模板;所述第二模板称为用户界面(UI,User Interface)表单模板。
在本应用实施例中,在应用中心平台将应用实例的管理操作抽象为操作模板和UI表单模板,应用开发人员(也可以称为开发者)可以自定义应用实例的管理操作的类型以及执行管理操作需要的用户输入的参数。在应用中心平台基于包含操作模板和UI表单模板的应用包完成应用实例的部署后,用户可以通过应用中心平台的前端页面选择针对该应用实例需要执行的管理操作;响应于用户的选择,应用中心平台可以基于前端页面的动态在线渲染技术支持用户动态输入操作参数,即应用中心平台可以利用相应的UI表单模板在所述前端页面呈现表单,用户可以通过所述表单输入针对该管理操作的各个参数,以此实现针对应用实例的灵活、丰富、且复杂的动态管理操作,并实现应用中心平台对不同应用实例的不同管理操作的统一管理和执行,同时实现应用包和应用管理平台的解耦:当需要扩展应用包功能时,不需要升级应用中心平台的***框架,可以通过模板的更新实现快速的应用包的上线和迭代。可以理解,管理操作的类型和内容完全由应用包本身定义,即由操作模板定义,应用中心平台可以在不感知管理操作的类型和内容(即执行流程)的情况下执行管理操作。
在本应用实施例中,操作模板定义了应用实例的一个管理操作的后台执行流程的数据结构,可以包括操作的版本号、操作按钮显示的名称(即上述管理操作功能项显示的操作名称)、操作流程需要用户输入的参数、操作流程需要执行的命令(即相应云主机需要执行的操作指令)、操作流程完成后的返回数据(即上述执行结果)等信息;通过操作模板可以自由定义不同应用实例的不同类型的管理操作。
示例性地,一个操作模板可以包含以下内容:
Figure BDA0003241903680000121
Figure BDA0003241903680000131
在本应用实施例中,UI表单模板定义了应用实例的一个管理操作的前端页面渲染表单的数据结构,可以包括表单字段的分组信息、字段列表、字段名称、字段标签信息、字段类型、字段的初始值、字段数据的约束规则等信息。
示例性地,一个UI表单模板可以包含以下内容:
Figure BDA0003241903680000132
Figure BDA0003241903680000141
在本应用实施例中,应用中心平台可以根据UI表单模板自动生成页面表单内容,即生成表单的前端代码,并直接将页面表单内容返回给前端页面,即可渲染出用户需要填写的表单。用户可以在填写表单信息(即填写执行相应管理操作所需的参数)后提交给应用中心,触发相应管理操作的执行流程。
示例性地,应用中心平台根据UI表单模板自动生成的页面表单内容可以如下所示:
Figure BDA0003241903680000151
在本应用实施例中,应用中心平台设置有操作执行器和表单渲染器;其中,所述操作执行器用于执行应用实例的管理操作逻辑,将操作命令(即上述操作指令)下发至应用实例所在云主机执行,并返回执行结果。比如,针对MySQL应用实例的创建数据库的管理操作,所述操作执行器会连接到部署有MySQL应用实例的云主机,执行创建数据库的操作命令。所述表单渲染器用于在接收到用户需要针对目标应用实例执行管理操作的命令(即响应于针对管理操作功能项的选择操作)后,通过操作索引(即上述第一标识)获取预先保存的UI表单模板,将UI表单模板自动渲染成Web页面(即上述前端页面)的表单,供用户输入操作参数。比如,针对MySQL应用实例的创建数据库的管理操作,需要用户输入待创建的数据库名称等信息,所述表单渲染器会将应用包中定义的创建数据库操作对应的UI表单模板渲染到Web页面,供用户输入待创建的数据库名称等信息。
在本应用实施例中,基于所述操作执行器和所述表单渲染器,如图2所示,应用中心平台针对应用实例执行管理操作的过程具体可以包括以下步骤:
步骤201:选择操作;之后执行步骤202。
具体地,应用中心基于应用包完成应用实例的部署后,可以根据应用包所包含的操作模板,在前端页面呈现针对该应用实例的至少一个管理操作功能项,用户可以通过选择管理操作功能项,选择需要针对该应用实例执行的管理操作;不同应用实例可以在应用包自由定义不同类型的管理操作。
示例性地,如图3所示,应用中心平台的前端页面呈现了一个MongoDB应用实例的相关信息,以及该应用实例的管理操作对应的管理操作功能项,不同应用实例的管理操作功能项可以不同。图3呈现的管理操作功能项包括“修改配置”和“创建用户”。用户可以通过点击“创建用户”的操作按钮(即管理操作功能项),触发针对该MongoDB应用实例的创建用户的管理操作,并可以通过点击“修改配置”的操作按钮,触发针对该MongoDB应用实例的修改配置的管理操作。
步骤202:查询操作模板;之后执行步骤203。
具体地,用户在前端页面选择管理操作功能项后,响应于用户的选择操作,应用中心平台可以获取到操作索引(即上述第一标识),操作执行器可以根据操作索引获取预先设置的操作模板,根据操作模板判断执行该管理操作是否需要用户输入操作参数,即执行步骤203。
步骤203:判断是否需要参数;若是,执行步骤204;若否,则执行步骤206。
具体地,操作执行器根据操作模板判断执行该管理操作是否需要用户输入操作参数,若需要,操作执行器会通知表单渲染器渲染相应的表单,即执行步骤204;若不需要,操作执行器会通知表单渲染器渲染确认弹窗,以供用户再次确认是否需要执行该管理操作,即执行步骤206。
步骤204:渲染表单;之后执行步骤205。
具体地,表单渲染器接收操作执行器发送的操作索引,根据操作索引获取预先设置的UI表单模板,根据UI表单模板自动在前端页面渲染出表单,以供用户输入操作参数。
示例性地,用户在图3所示的前端页面点击“创建用户”的操作按钮后,表单渲染器可以渲染出图4所示的表单,该表单呈现的内容由相应的应用包包含的UI表单模板在后台定义;开发人员可以针对不同的管理操作自由定义不同的输入参数、参数约束等信息,即不同管理操作对应的表单可以不同。
步骤205:输入参数;之后执行步骤207。
具体地,用户在前端页面填写表单,即执行相应管理操作所需的输入参数。
步骤206:渲染确认弹窗;之后执行步骤207。
具体地,表单渲染器可以基于预设的模板渲染确认弹窗,以提示用户确认执行相应的管理操作。
步骤207:确认执行操作;之后执行步骤208。
具体地,在执行步骤205之后,即用户将表单填写完成后,用户可以通过点击“下一步”或“完成”等确认按钮,确认执行相应的管理操作。在执行步骤206之后,即前端页面呈现确认弹窗后,用户可以直接确认该确认弹窗,以确认执行无需输入参数的管理操作。
示例性地,执行步骤205之后(即在图4填写完信息并点击“下一步”按钮后),前端页面可以呈现如图5所示的确认页面,用户可以通过点击“确定”按钮,提交填写的信息,即确认执行创建用户的管理操作。
步骤208:执行操作,并返回执行结果。
具体地,操作执行器接收前端页面返回的表单参数(即上述操作参数)及操作索引,根据操作索引获取预先设置的操作模板,将表单参数格式化到操作命令中,并将操作命令下发到该应用实例对应的云主机执行。云主机执行针对该应用实例的管理操作后,向操作执行器返回执行结果;操作执行器可以通过表单渲染器将执行结果呈现到前端页面上。
示例性地,前端页面呈现的管理操作执行结果可以如图6所示。
本应用实施例提供的方案,具有以下优点:
1)应用开发人员可以在应用中心平台的后台(比如后端服务器)自由定义任意的UI表单模板,基于UI表单模板在应用中心平台的前端页面实现自动化的动态表单渲染。
2)结合动态表单渲染技术,基于操作模板,可以实现根据页面参数(即上述表单参数)向应用实例所在的云主机下发动态的操作命令,使得应用中心能够支持更加丰富的应用实例管理操作。
为了实现本申请实施例的方法,本申请实施例还提供了一种应用实例的管理装置,设置在云平台上,如图7所示,该装置包括:
第一处理单元701,用于在云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;
第二处理单元702,用于响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;
第三处理单元703,用于根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;
第四处理单元704,用于基于所述第一模板,对所述目标应用实例执行所述第一管理操作。
其中,在一实施例中,所述第四处理单元704,具体用于:
基于所述第一模板,生成所述第一管理操作对应的操作指令;
向所述目标应用实例对应的云主机下发所述操作指令,以指示所述云主机对所述目标应用实例执行所述第一管理操作。
在一实施例中,所述第四处理单元704,还用于:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在不需要获取所述操作参数的情况下,基于所述第一模板,生成所述第一管理操作对应的操作指令。
在一实施例中,所述第四处理单元704,还用于:
在不需要获取所述操作参数的情况下,在所述前端页面呈现确认选项;所述确认选项用于确认是否执行所述第一管理操作;
响应于针对所述确认选项的确认操作,基于所述第一模板,生成所述第一管理操作对应的操作指令。
在一实施例中,所述第四处理单元704,还用于:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在需要获取所述操作参数的情况下,根据所述第一标识,获取所述第一管理操作对应的第二模板;所述第二模板用于在所述前端页面渲染用于输入所述操作参数的表单;
基于所述第一模板和所述第二模板,生成所述第一管理操作对应的操作指令。
在一实施例中,所述第四处理单元704,还用于:
利用所述第二模板,在所述前端页面渲染用于输入所述操作参数的表单,并获取通过所述表单输入的操作参数;
根据所述操作参数,利用所述第一模板,生成所述操作指令。
在一实施例中,所述第四处理单元704,还用于:
获取对所述目标应用实例执行所述第一管理操作的执行结果;
在所述前端页面呈现所述执行结果。
这里,所述第一处理单元701、所述第二处理单元702、所述第三处理单元703和所述第四处理单元704的功能相当于上述应用实施例中操作执行器和表单渲染器的功能;换句话说,所述应用实例的管理装置能够实现上述应用实施例中操作执行器和表单渲染器的功能。
实际应用时,所述第一处理单元701、所述第二处理单元702、所述第三处理单元703和所述第四处理单元704可由应用实例的管理装置中的处理器结合通信接口实现。
需要说明的是:上述实施例提供的应用实例的管理装置在管理应用实例时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块(比如上述应用实施例中的操作执行器和表单渲染器),以完成以上描述的全部或者部分处理。另外,上述实施例提供的应用实例的管理装置与应用实例的管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,用于部署云平台,如图8所示,该电子设备800包括:
通信接口801,能够与其他电子设备进行信息交互;
处理器802,与所述通信接口801连接,以实现与其他电子设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法;
存储器803,存储能够在所述处理器802上运行的计算机程序。
具体地,所述处理器802,用于:
在所述云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;
响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;
根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;
基于所述第一模板,对所述目标应用实例执行所述第一管理操作。
其中,在一实施例中,所述处理器802,具体用于:
基于所述第一模板,生成所述第一管理操作对应的操作指令;
向所述目标应用实例对应的云主机下发所述操作指令,以指示所述云主机对所述目标应用实例执行所述第一管理操作。
在一实施例中,所述处理器802,还用于:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在不需要获取所述操作参数的情况下,基于所述第一模板,生成所述第一管理操作对应的操作指令。
在一实施例中,所述处理器802,还用于:
在不需要获取所述操作参数的情况下,在所述前端页面呈现确认选项;所述确认选项用于确认是否执行所述第一管理操作;
响应于针对所述确认选项的确认操作,基于所述第一模板,生成所述第一管理操作对应的操作指令。
在一实施例中,所述处理器802,还用于:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在需要获取所述操作参数的情况下,根据所述第一标识,获取所述第一管理操作对应的第二模板;所述第二模板用于在所述前端页面渲染用于输入所述操作参数的表单;
基于所述第一模板和所述第二模板,生成所述第一管理操作对应的操作指令。
在一实施例中,所述处理器802,还用于:
利用所述第二模板,在所述前端页面渲染用于输入所述操作参数的表单,并获取通过所述表单输入的操作参数;
根据所述操作参数,利用所述第一模板,生成所述操作指令。
在一实施例中,所述处理器802,还用于:
获取对所述目标应用实例执行所述第一管理操作的执行结果;
在所述前端页面呈现所述执行结果。
需要说明的是:所述处理器802具体执行上述操作的过程详见方法实施例,这里不再赘述。
当然,实际应用时,电子设备800中的各个组件通过总线***804耦合在一起。可理解,总线***804用于实现这些组件之间的连接通信。总线***804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线***804。
本申请实施例中的存储器803用于存储各种类型的数据以支持电子设备800的操作。这些数据的示例包括:用于在电子设备800上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于处理器802中,或者由处理器802实现。处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器802可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器803,处理器802读取存储器803中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,本申请实施例的存储器803可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其他适合类型的存储器。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器803,上述计算机程序可由电子设备800的处理器802执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (10)

1.一种应用实例的管理方法,其特征在于,应用于云平台,包括:
在所述云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;
响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;
根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;
基于所述第一模板,对所述目标应用实例执行所述第一管理操作。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一模板,对所述目标应用实例执行所述第一管理操作,包括:
基于所述第一模板,生成所述第一管理操作对应的操作指令;
向所述目标应用实例对应的云主机下发所述操作指令,以指示所述云主机对所述目标应用实例执行所述第一管理操作。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一模板,生成所述第一管理操作对应的操作指令,包括:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在不需要获取所述操作参数的情况下,基于所述第一模板,生成所述第一管理操作对应的操作指令。
4.根据权利要求3所述的方法,其特征在于,所述在不需要获取所述操作参数的情况下,基于所述第一模板,生成所述第一管理操作对应的操作指令,包括:
在不需要获取所述操作参数的情况下,在所述前端页面呈现确认选项;所述确认选项用于确认是否执行所述第一管理操作;
响应于针对所述确认选项的确认操作,基于所述第一模板,生成所述第一管理操作对应的操作指令。
5.根据权利要求2所述的方法,其特征在于,所述基于所述第一模板,生成所述第一管理操作对应的操作指令,包括:
根据所述第一模板,判断针对所述目标应用实例执行所述第一管理操作是否需要获取通过所述前端页面输入的操作参数;
在需要获取所述操作参数的情况下,根据所述第一标识,获取所述第一管理操作对应的第二模板;所述第二模板用于在所述前端页面渲染用于输入所述操作参数的表单;
基于所述第一模板和所述第二模板,生成所述第一管理操作对应的操作指令。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一模板和所述第二模板,生成所述第一管理操作对应的操作指令,包括:
利用所述第二模板,在所述前端页面渲染用于输入所述操作参数的表单,并获取通过所述表单输入的操作参数;
根据所述操作参数,利用所述第一模板,生成所述操作指令。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
获取对所述目标应用实例执行所述第一管理操作的执行结果;
在所述前端页面呈现所述执行结果。
8.一种应用实例的管理装置,其特征在于,包括:
第一处理单元,用于在云平台的前端页面呈现针对目标应用实例的至少一个管理操作功能项;
第二处理单元,用于响应于针对所述管理操作功能项的选择操作,获取与所述选择操作对应的第一标识;所述第一标识表征所述选择操作对应的第一管理操作的类型;
第三处理单元,用于根据所述第一标识,获取所述第一管理操作对应的第一模板;所述第一模板至少包含针对所述目标应用实例执行所述第一管理操作所需的执行流程信息;
第四处理单元,用于基于所述第一模板,对所述目标应用实例执行所述第一管理操作。
9.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202111020856.1A 2021-09-01 2021-09-01 应用实例的管理方法、装置、电子设备及存储介质 Pending CN113900742A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111020856.1A CN113900742A (zh) 2021-09-01 2021-09-01 应用实例的管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111020856.1A CN113900742A (zh) 2021-09-01 2021-09-01 应用实例的管理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN113900742A true CN113900742A (zh) 2022-01-07

Family

ID=79188299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111020856.1A Pending CN113900742A (zh) 2021-09-01 2021-09-01 应用实例的管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113900742A (zh)

Similar Documents

Publication Publication Date Title
US10705942B1 (en) Simulated testing of API
CN111078315B (zh) 微服务编排、执行方法及***、架构、设备、存储介质
CN108415832B (zh) 接口自动化测试方法、装置、设备及存储介质
CN108304201B (zh) 对象更新方法、装置及设备
EP3433732B1 (en) Converting visual diagrams into code
US20210034336A1 (en) Executing a process-based software application in a first computing environment and a second computing environment
CN107491329B (zh) Docker镜像构建方法、设备、存储介质以及电子装置
US11182276B2 (en) Development-time awareness of a production dependency injection environment
US11797273B2 (en) System and method for enhancing component based development models with auto-wiring
WO2018036342A1 (zh) 基于csar的模型文件的可视化设计方法及装置
CN110673923A (zh) Xwiki***配置方法、***及计算机设备
CN111522552A (zh) 子应用生成方法、装置、计算机设备和存储介质
CN112765023A (zh) 测试用例生成方法、装置
CN110959165A (zh) 用于自动验证云服务代理***中的要约的功能的技术
US20150143267A1 (en) SYSTEM AND METHOD FOR DEVELOPING A RULE-BASED EVENT-DRIVEN MULTI-LAYERED FRONTEND FOR BUSINESS SERVICES AND RENDERING THE GUIs ON MULTIPLE CLIENT DEVICES
US20220283885A1 (en) Application programming interface compatibility
CN110806873A (zh) 目标控件确定方法、装置、电子设备及存储介质
CN111858727A (zh) 一种基于模板配置的多数据源数据导出***及方法
CN114048415A (zh) 表单生成方法及装置、电子设备和计算机可读存储介质
CN112925583B (zh) 宿主应用能力扩展方法、装置、设备以及存储介质
US10540151B1 (en) Graphical customization of a firmware-provided user interface (UI)
CN113568614A (zh) 任务发布方法、电子设备及存储介质
CN113342399B (zh) 应用项目的结构配置方法、装置及可读存储介质
CN116107623A (zh) 一种软件开发方法、装置及电子设备
CN113900742A (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