CN116382761A - 一种应用管理方法、电子设备及存储介质 - Google Patents

一种应用管理方法、电子设备及存储介质 Download PDF

Info

Publication number
CN116382761A
CN116382761A CN202310383376.4A CN202310383376A CN116382761A CN 116382761 A CN116382761 A CN 116382761A CN 202310383376 A CN202310383376 A CN 202310383376A CN 116382761 A CN116382761 A CN 116382761A
Authority
CN
China
Prior art keywords
application
file
container
installation package
default configuration
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
CN202310383376.4A
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 Qingyun Science And Technology Co ltd
Original Assignee
Beijing Qingyun Science And 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 Qingyun Science And Technology Co ltd filed Critical Beijing Qingyun Science And Technology Co ltd
Priority to CN202310383376.4A priority Critical patent/CN116382761A/zh
Publication of CN116382761A publication Critical patent/CN116382761A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

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

Abstract

本发明实施例公开一种应用管理方法、电子设备及存储介质。该方法包括:接收开发者的应用打包指令;根据预设打包规范将应用打包指令对应的目标应用打包为标准安装包;传送标准安装包至应用管理平台以进行应用管理;其中,标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件。本发明实施例,通过预设打包规范将应用打包指令对应的目标应用打包为标准安装包,标准安装包中包括应用基本信息文件、默认配置文件和模版目录文件,以将标准安装包传送至应用管理平台进行应用管理,可解决工业物联网业界中的应用没有统一打包规范的问题以及碎片化的管理问题,实现统一的打包规范使得不同类型的工业物联网中应用能用同一种展现形式。

Description

一种应用管理方法、电子设备及存储介质
技术领域
本发明涉及云原生工业物联网应用技术领域,尤其涉及一种应用管理方法、电子设备及存储介质。
背景技术
伴随着工业物联网概念的出现,在提及工业物联网产业相关发展问题时,碎片化仍是一个绕不开的话题。很多人也都认可,是碎片化的问题阻碍了工业物联网的快速发展,导致企业无法大规模复制某个工业物联网项目。现有技术中,工业物联网业界对开发的应用暂未有类似的打包规范,且在云原生产业界,没有一套统一的管理系统。因此,如何对工业物联网业界的应用打包规范进行统一,以及应用进行统一管理,解决碎片化的管理问题,统一成一套规范是本领域技术人员目前需要解决的技术问题。
发明内容
有鉴于此,本发明提供一种应用管理方法、电子设备及存储介质,能够解决工业物联网业界中的应用没有统一打包规范的问题以及碎片化的管理问题,可实现统一的打包规范使得不同类型的工业物联网中应用能用同一种展现形式。。
根据本发明的一方面,本发明实施例提供了一种应用管理方法,所述方法应用于云服务平台,该方法包括:
接收开发者的应用打包指令;
根据预设打包规范将所述应用打包指令对应的目标应用打包为标准安装包;
传送所述标准安装包至应用管理平台以进行应用管理;其中,所述标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件。
根据本发明的另一方面,本发明实施例还提供了一种应用管理装置,应用于云服务平台,所述装置,包括:
指令接收模块,用于接收开发者的应用打包指令;
打包模块,用于根据预设打包规范将所述应用打包指令对应的目标应用打包为标准安装包;
传送模块,用于传送所述标准安装包至应用管理平台以进行应用管理;其中,所述标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件。
根据本发明的另一方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的应用管理方法。
根据本发明的另一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的应用管理方法。
根据本发明的另一方面,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本发明任一实施例所述的应用管理方法。
本发明实施例的技术方案,通过预设打包规范将应用打包指令对应的目标应用打包为标准安装包,标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件,以将标准安装包传送至应用管理平台以进行应用管理,能够解决工业物联网业界中的应用没有统一打包规范的问题以及碎片化的管理问题,可实现统一的打包规范使得不同类型的工业物联网中应用能用同一种展现形式。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种应用管理方法的流程图;
图2为本发明一实施例提供的另一种应用管理方法的流程图
图3为本发明一实施例提供的又一种应用管理方法的流程图;
图4为本发明一实施例提供的一种开发者操作应用的流程示意图;
图5为本发明一实施例提供的一种管理员审核应用的流程示意图;
图6为本发明一实施例提供的一种用户使用应用的流程示意图;
图7为本发明一实施例提供的一种默认配置文件和容器资源模版进行文件渲染的流程示意图;
图8为本发明一实施例提供的一种后端架构的结构示意图;
图9为本发明一实施例提供的一种应用管理装置的结构框图;
图10为本发明一实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一实施例中,图1为本发明一实施例提供的一种应用管理方法的流程图,本实施例可适用于对工业物联网中应用进行管理时的情况,该方法可以由应用管理处理装置来执行,该应用管理处理装置可以采用硬件和/或软件的形式实现,该应用管理处理装置可配置于电子设备中。
如图1所示,该方法应用于云服务平台,所述应用管理方法,具体步骤包括:
S110、接收开发者的应用打包指令。
其中,开发者顾名思义为工业物联网中应用的开发者。应用打包指令指的是使用相应的规范对应用进行打包时的指令,该应用打包指令的触发可以为触摸的形式,也可以为点击的形式,本实施在此不做限制。
在本实施例中,工业物联网的应用开发者可以使用相应的登录名和密码以登录系统,登录系统之后开发者可进行创建应用、应用开发、对应用进行删除、对应用进行修改以及对应用进行上架等等操作。当然,开发者开发应用时,可以使用相应的规范进行应用开发,在接收到开发者对所开发的应用进行打包的指令时,执行该应用打包指令对应的操作。
S120、根据预设打包规范将应用打包指令对应的目标应用打包为标准安装包;其中,标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件。
其中,预设打包规范可以理解为预先设置的对所开发的应用进行打包的规范,该预设打包规范可以是Helm Chart规范,也可以其他的规范,本实施例在此不做限制。目标应用指的是等待进行打包的应用。标准安装包指的是目标应用对应的安装包,该标准安装包和预设打包规范相对应。
本实施例中,目标应用所对应的标准安装包中包括但不限于应用基本信息文件、默认配置文件和模版目录文件。其中,应用基本信息文件至少包括下述字段:应用接口版本、应用包名称、应用版本、维护者名称、兼容的容器版本、关于应用的关键字列表和应用的统一资源定位符;默认配置文件可以理解为开发者预先定义的配置文件,该默认配置文件中包含默认值,该默认值可以由应用的使用用户进行修改默认值,输入用户需要的信息。
在本实施例中,可以通过获取预先创建的包含容器资源的应用文件集合,该应用文件集合中包括但不限于应用基本信息文件、文本格式的许可协议、应用介绍、使用说明和指南、默认值配置文件、存放应用打包依赖的目录以及存放部署模版文件的目录,将应用文件集合作为预设打包规范以对目标应用进行打包以得到目标应用对应的标准安装包;在一些实施例中,也可以基于对称加密密钥和加密算法对目标应用的文件进行加密得到加密后数据,将加密后数据存储到目标应用的字节码中的指定存储位置,将目标应用的字节码中读取目标数据的原始指令修改为调整指令集,将修改后的目标应用和第一加密算法对应的解密程序打包得到目标应用的安装包;除此之外,也可以通过其他的方式以对目标应用进行打包,本实施例在此不做限制。
S130、传送标准安装包至应用管理平台以进行应用管理。
其中,应用管理平台指的是对开发的应用进行管理的平台,对应用的管理包含但不限于对应用进行测试、对应用进行上架、对应用进行下架、对应用进行删除。
在本实施例中,开发者可以将打包好的标准安装包按照相应的方式传送至应用管理平台以进行应用管理,需要说明的是,该管理可以不限于应用开发者的角色,也可以是应用的使用用户的角色,或者对应用进行审核的管理者的角色等等,当然,不同的角色使用不同的登录账号和密码进行登录该应用管理平台以进行应用管理。本实施例中,若角色为开发者,则开发者对应用的管理包含但不限于创建应用、开发应用、对应用进行测试、对应用进行上架、对应用进行下架、对应用进行删除;若角色为应用使用用户,则应用使用用户对应用的管理包含但不限于对应用进行测试、同意应用进行上架、拒绝用户进行上架;若角色为开发者,则开发者对应用的管理包含但不限于浏览应用商店、下载应用、安装应用、使用应用、卸载应用。
本发明实施例的技术方案,通过预设打包规范将应用打包指令对应的目标应用打包为标准安装包,标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件,以将标准安装包传送至应用管理平台以进行应用管理,能够解决工业物联网业界中的应用没有统一打包规范的问题以及碎片化的管理问题,可实现统一的打包规范使得不同类型的工业物联网中应用能用同一种展现形式。
在一实施例中,图2为本发明一实施例提供的另一种应用管理方法的流程图,本实施例在上述各实施例的基础上,对根据预设打包规范将应用打包指令对应的目标应用打包为标准安装包进行了进一步的细化。
如图2所示,本实施例中的应用管理方法,具体可以包含如下步骤:
S210、接收开发者的应用打包指令。
S220、获取预先创建的包含容器资源的应用文件集合;其中,应用文件集合中包括:应用基本信息文件、文本格式的许可协议、应用介绍、使用说明和指南、默认值配置文件、存放应用打包依赖的目录以及存放部署模版文件的目录。
其中,应用文件集合可以理解为描述一组容器相关资源的文件集合,该容器可以为Kubernetes,也可以是其他的容器。
在本实施例中,可以获取预先创建的包含容器资源的应用基本信息文件、文本格式的许可协议、应用介绍、使用说明和指南、默认值配置文件、存放应用打包依赖的目录以及存放部署模版文件的目录。示例性的,Chart是一个描述一组Kubernetes相关资源的文件集合,Chart的所有相关文件都存储在一个目录中,该目录通常包含:Chart.yaml,其中,Chart.yaml包含Chart基本信息(例如版本和名称、API)的YAML文件;LICENSE中包含Chart许可证的纯文本文件;README.md为应用说明和使用指南;values.yaml为该Chart的默认配置文件;values.schema.json为向values.yaml文件添加结构的JSON Schema,即为校正文件;charts为一个目录,包含该Chart所依赖的任意Chart;crds为定制资源定义;templates为模板的目录,若提供相应值便可以生成有效的Kubernetes配置文件;templates/NOTES.txt为包含使用说明的纯文本文件。
在一些实施例中,目标应用的基本信息存储在应用基本信息文件中,其中,应用基本信息文件可以包括但不限于下述字段:应用接口版本、应用包名称、应用版本、维护者名称、兼容的容器版本、关于应用的关键字列表和应用的统一资源定位符。
示例性的,应用相关的信息定义在Chart.yaml文件中。下面是一个示例文件,每个字段都有说明。Api Version:Chart API版本;name:Chart名称;version:版本,遵循SemVer2标准;kube Version:兼容的Kubernetes版本,遵循SemVer 2标准;description:对应用的一句话说明;type:Chart的类型;keywords:关于应用的关键字列表;home:应用的统一资源定位符(Universal Resource Locator,URL);sources:应用源代码的URL列表;dependencies:Chart必要条件的列表;name:Chart的名称,例如nginx;version:Chart的版本,例如"1.2.3";repository:仓库URL("https://example.com/charts")或别名("@repo-name");condition:解析为布尔值的YAML路径,用于启用/禁用Chart(例如subchart1.enabled);tags:用于将Chart分组,一同启用/禁用;import-values:ImportValues保存源值到待导入父键的映射。每一项可以是字符串或者一对子/父子列表项;alias:Chart要使用的别名;name:维护者姓名;annotations:example:按名称输入的注解列表。
S230、将应用文件集合作为预设打包规范以对目标应用进行打包以得到标准安装包。
在本实施例中,可以将包含应用基本信息文件、文本格式的许可协议、应用介绍、使用说明和指南、默认值配置文件、存放应用打包依赖的目录以及存放部署模版文件的目录的应用文件集合作为预设打包规范以对目标应用进行打包。
S240、传送标准安装包至应用管理平台以进行应用管理。
本发明实施例的技术方案,通过获取预先创建的包含容器资源的应用文件集合;其中,应用文件集合中包括:应用基本信息文件、文本格式的许可协议、应用介绍、使用说明和指南、默认值配置文件、存放应用打包依赖的目录以及存放部署模版文件的目录,除此之外,目标应用的基本信息存储在应用基本信息文件中;应用基本信息文件至少包括下述字段:应用接口版本、应用包名称、应用版本、维护者名称、兼容的容器版本、关于应用的关键字列表和应用的统一资源定位符,由此将应用文件集合作为预设打包规范以对所述目标应用进行打包以得到标准安装包,能够进一步解决工业物联网业界中的应用没有统一打包规范的问题以及碎片化的管理问题,可实现统一的打包规范使得不同类型的工业物联网中应用能用同一种展现形式。
在一实施例中,图3为本发明一实施例提供的又一种应用管理方法的流程图,本实施例在上述各实施例的基础上,进行了进一步的细化。需要说明的是,本实施例以开发者将开发的应用使用预设打包规范将打包后的应用安装包上传应用管理中心,以供管理员审核应用,并在管理员审核应用之后,用户在应用商店中下载并安装应用的安装包以使用的过程为例进行说明。
如图3所示,本实施例中的应用管理方法,具体可以包含如下步骤:
S310、接收开发者的应用打包指令。
S320、根据预设打包规范将应用打包指令对应的目标应用打包为标准安装包,其中,标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件。
S330、传送标准安装包至应用管理平台以进行应用管理。
S340、接收到开发者的第二操作指令,下载并安装目标应用的标准安装包,按照所述用目标应用的类型对目标应用进行测试,并将测试成功的应用传送至应用管理平台,以使管理员对目标应用进行审核。
其中,第二操作指令指的是开发者下载并安装目标应用的安装包的操作指令,该操作指令可以是触摸产生的,也可以是点击按钮产生的,本实施例在此不做限制。
在本实施例中,在接收到开发者的第二操作指令的情况下,下载并安装目标应用的标准安装包,在标准安装包安装之后,可以按照目标应用的类型对目标应用进行测试,并将测试成功的应用传送至应用管理平台,以使管理员对目标应用进行审核,可以理解为,不同的目标应用对应的测试方式不同,本实施例对应用的测试方式不做限制,可以是现有技术中测试方式,测试成功的目标应用可以上传至应用管理平台,以使管理员对目标应用进行审核。
示例性的,为便于更好的理解开发者操作应用的流程方法,图4为本发明一实施例提供的一种开发者操作应用的流程示意图,执行如图4所述的流程:
a1、开发者在开发应用时,将应用在使用Helm Chart规范打包后可以上传到系统中。
在本实施例中,开发者在本地使用文本编辑器开发完应用后,使用Helm Chart规范打包应用得到对应的标准安装包。
a2、应用对应的标准安装包上传至应用管理平台。
a3、下载该标准安装包,并安装应用进行应用测试。
a4、应用测试完成后,可以将应用上架到应用管理平台中,提供给管理员进行应用审核。
S350、接收到管理员的应用审核指令,对应用管理平台中的目标应用进行审核并按照用目标应用的类型选择相应的测试方式对目标应用进行测试,将测试成功的应用上架至应用管理平台中的应用商店。
其中,应用审核指令指的是管理员对开发者所上传的应用进行审核的指令。
在本实施例中,在接收到管理员的应用审核指令的情况下,对应用管理平台中的目标应用进行审核并按照用目标应用的类型选择相应的测试方式对目标应用进行测试,将测试成功的应用上架至应用管理平台中的应用商店,可以理解为,不同的目标应用对应的测试方式不同,本实施例对应用的测试方式不做限制。
示例性的,为便于更好的理解管理员审核应用的流程方法,图5为本发明一实施例提供的一种管理员审核应用的流程示意图,执行如图5所述的流程:
b1、开发者提交目标应用后,管理员在后台测试并审核应用。
b2、管理员测试应用后,查看应用是否测试成功,测试成功的应用可以批准应用上架;测试失败的应用拒绝应用上架。
b3、管理员批准后,开发者可以在应用详情中将应用发布到应用商店中。
S360、响应于目标用户对应用管理平台内的应用商店中目标应用的第一操作指令,下载并安装目标应用的标准安装包。
其中,第一操作指令指的是应用使用者下载目标用户的操作指令。
在本实施例中,应用使用者可以浏览应用商店,响应于目标用户对应用管理平台内的应用商店中目标应用的第一操作指令,应用使用者下载并安装目标应用的标准安装包,除此之外,应用的使用者也可以对已经下载过的应用进行删除操作,可以理解为对已经下载的应用进行卸载。
示例性的,为便于更好的理解用户使用应用的流程方法,图6为本发明一实施例提供的一种用户使用应用的流程示意图:
c1、用户可以浏览应用商店,下载并安装目标应用的标准安装包;
c2、目标应用的标准安装包后在应用列表中会显示对应的应用实例,点击对应的实例,即可查看应用详情。
S370、获取目标应用的默认配置文件和预先配置的容器资源模版。
其中,默认配置文件指的是开发者预先设置的目标应用的默认配置文件,该默认配置文件包含默认值,用户可以更改该默认值为需要的值,可以理解为,用户可以按照需求输入相应的配置文件。容器资源模版指的是预先配置的容器对应的资源模板。
在一些实施例中,容器资源模版采用Go模板语言编写并存储在模版目录文件中;容器资源模版中的字段信息至少包括:容器资源种类、容器版本、元数据、应用包名称、标签、容器名称、镜像、镜像拉取策略和值;其中,镜像的字段信息中包括容器镜像仓库和容器镜像标签;镜像拉取策略的字段中包括拉取策略;值的字段信息中包括值的存储后端。
在一些实施例中,默认配置文件的输入,包括下述之一:
在目标应用的安装包中创建包含可供引用的第一默认配置文件;其中,第一默认配置文件为键值对形式,以容器镜像仓库、容器镜像标签、镜像拉取策略、存储后端为键,以容器镜像仓库、容器镜像标签、镜像拉取策略、存储后端分别对应的输入值为值,组成键值对;
在目标应用的安装包中创建包含必要值的第二默认配置文件,通过Helm Install命令使用第二默认配置文件。
在本实施例中,可以通过两种方式为预先配置的容器资源模板提供值:一种是:在目标应用的安装包中创建包含可供引用的第一默认配置文件;其中,第一默认配置文件为键值对形式,以容器镜像仓库、容器镜像标签、镜像拉取策略、存储后端为键,以容器镜像仓库、容器镜像标签、镜像拉取策略、存储后端分别对应的输入值为值,组成键值对;另一种是:在目标应用的安装包中创建包含必要值的第二默认配置文件,通过Helm Install命令使用第二默认配置文件。示例性的,容器资源模版为Helm Chart模板,该模板采用Go模板语言编写并存储在Chart的templates文件夹。有以下两种方式可以为模板提供值:1)在Chart中创建一个包含可供引用的默认值的values.yaml文件;2)创建一个包含必要值的YAML文件,通过在命令行使用helm install命令来使用该文件。
S380、将默认配置文件和容器资源模版进行文件渲染生成结果描述文件,并将结果描述文件加载至容器管理平台进行运行。
在本实施例中,将默认配置文件和容器资源模版进行文件渲染生成结果描述文件,并将结果描述文件加载至容器管理平台进行运行,具体的,可以查找容器资源模版中的字段信息:镜像、镜像拉取策略和值,然后将默认配置文件中的键值对变量替换查找到的字段信息中。
在一实施例中,将默认配置文件和容器资源模版进行文件渲染生成结果描述文件,包括:
查找容器资源模版中的字段信息:镜像、镜像拉取策略和值;
将默认配置文件中的键值对变量替换至镜像、镜像拉取策略和值对应的信息中进行渲染,以生成结果描述文件。
在本实施例中,可以遍历查找容器资源模版中的字段信息:镜像、镜像拉取策略和值,将默认配置文件中的键值对变量替换至镜像、镜像拉取策略和值对应的信息中进行渲染,以生成结果描述文件。
在本实施例中,为便于更好的理解默认配置文件和容器资源模版进行文件渲染生成结果描述文件,图7为本发明一实施例提供的一种默认配置文件和容器资源模版进行文件渲染的流程示意图,本实施例中的Values.yaml为上述实施例中的默认配置文件,templates文件为上述实施例中的模板目录文件,image为上述实施例中的镜像,imagePullPolic为上述实施例中的镜像拉取策略,value为上述实施例中的值,imageRegistry为上述实施例中的容器镜像仓库、dockerTag为上述实施例中的容器镜像标签、pullPolicy为上述实施例中的镜像拉取策略、storage为上述实施例中的存储后端,该存储后端默认为minio。
本实施例中,以在Chart中创建一个包含可供引用的默认值的values.yaml文件为模板提供值为例。
下面给出templates文件夹中模板的示例:
Figure BDA0004173423900000131
本实施例中,在Kubernetes中定义Replication Controller模板(预先配置的容器资源模版),其中,引用的一些值已在values.yaml文件中进行定义。在实施例中,values.yaml文件的用户给定值为:
imageRegistry:"quay.io/deis"
dockerTag:"latest"
pullPolicy:"Always"
storage:"s3"
在本实施例中,当用上面的模板和values.yaml进行渲染时,将会以values.yaml中的键值对作为变量替换模板中:image:{{.Values.imageRegistry}}/postgres:{{.Values.dockerTag}},imagePullPolicy:{{.Values.pullPolicy}}以及value:{{default"minio".Values.storage}}中的大括号{{}}中的内容,该渲染后的文件内容为容器调度平台Kubernetes接受的工作负载。Kubernetes将会按照开发者的配置,运行对应容器。
本实施例中,渲染后的文件结果内容可以表示为:
Figure BDA0004173423900000141
本发明实施例的技术方案,通过接收开发者的应用打包指令,根据预设打包规范将应用打包指令对应的目标应用打包为标准安装包,传送标准安装包至应用管理平台以进行应用管理;接收到开发者的第二操作指令,下载并安装目标应用的标准安装包,按照用目标应用的类型对目标应用进行测试,并将测试成功的应用传送至应用管理平台,以使管理员对目标应用进行审核;接收到管理员的应用审核指令,对应用管理平台中的目标应用进行审核并按照用目标应用的类型选择相应的测试方式对目标应用进行测试,将测试成功的应用上架至应用管理平台中的应用商店响应于目标用户对应用管理平台内的应用商店中目标应用的第一操作指令,下载并安装目标应用的标准安装包;获取目标应用的默认配置文件和预先配置的容器资源模版;将默认配置文件和容器资源模版进行文件渲染生成结果描述文件,并将结果描述文件加载至容器管理平台进行运行,由此通过开发者、管理者以及用户的不同角色区分,能够方便开发者和管理员的协同,实现独特的应用呈现形式,区分了管理员、开发者、用户三种角色模型。
在一实施例中,为便于更好的理解应用管理平台的后端架构图,图8为本发明一实施例提供的一种后端架构的结构示意图。
在一实施例中,图9为本发明一实施例提供的一种应用管理装置的结构框图,该装置适用于对工业物联网中应用进行管理时的情况,该装置可以由硬件/软件实现。可配置于电子设备中来实现本发明实施例中的一种应用管理处理方法。
如图9所示,该装置应用于云服务平台,所述装置,包括:指令接收模块910、打包模块920和传送模块930
其中,指令接收模块910,用于接收开发者的应用打包指令;
打包模块920,用于根据预设打包规范将所述应用打包指令对应的目标应用打包为标准安装包;其中,所述标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件;
传送模块930,用于传送所述标准安装包至应用管理平台以进行应用管理。
本发明实施例,打包模块,通过预设打包规范将应用打包指令对应的目标应用打包为标准安装包,标准安装包中包括应用基本信息文件、默认配置文件和模版目录文件,以通过传送模块将标准安装包传送至应用管理平台进行应用管理,可解决工业物联网业界中的应用没有统一打包规范的问题以及碎片化的管理问题,实现统一的打包规范使得不同类型的工业物联网中应用能用同一种展现形式。
在一实施例中,打包模块920,包括:
获取预先创建的包含容器资源的应用文件集合;其中,所述应用文件集合中包括:应用基本信息文件、文本格式的许可协议、应用介绍、使用说明和指南、默认值配置文件、存放应用打包依赖的目录以及存放部署模版文件的目录;
将所述应用文件集合作为所述预设打包规范以对所述目标应用进行打包以得到标准安装包;
其中,所述目标应用的基本信息存储在所述应用基本信息文件中;所述应用基本信息文件至少包括下述字段:应用接口版本、应用包名称、应用版本、维护者名称、兼容的容器版本、关于应用的关键字列表和应用的统一资源定位符。
在一实施例中,所述装置,还包括:
安装包下载模块,用于响应于目标用户对所述应用管理平台内的应用商店中所述目标应用的第一操作指令,下载并安装所述目标应用的所述标准安装包;
获取模块,用于获取所述目标应用的默认配置文件和预先配置的容器资源模版;
生成模块,用于将所述默认配置文件和所述容器资源模版进行文件渲染生成结果描述文件,并将所述结果描述文件加载至容器管理平台进行运行。
在一实施例中,所述容器资源模版采用Go模板语言编写并存储在模版目录文件中;所述容器资源模版中的字段信息至少包括:容器资源种类、容器版本、元数据、应用包名称、标签、容器名称、镜像、镜像拉取策略和值;其中,所述镜像的字段信息中包括容器镜像仓库和容器镜像标签;所述镜像拉取策略的字段中包括拉取策略;所述值的字段信息中包括所述值的存储后端。
在一实施例中,所述默认配置文件的输入,包括下述之一:
在所述目标应用的安装包中创建包含可供引用的第一默认配置文件;其中,所述第一默认配置文件为键值对形式,以容器镜像仓库、容器镜像标签、镜像拉取策略、存储后端为键,以所述容器镜像仓库、所述容器镜像标签、所述镜像拉取策略、所述存储后端分别对应的输入值为值,组成键值对;
在所述目标应用的安装包中创建包含必要值的第二默认配置文件,通过HelmInstall命令使用所述第二默认配置文件。
在一实施例中,生成模块,包括:
查找单元,用于查找所述容器资源模版中的字段信息:镜像、镜像拉取策略和值;
渲染单元,用于将所述默认配置文件中的键值对变量替换至所述镜像、所述镜像拉取策略和所述值对应的信息中进行渲染,以生成结果描述文件。
在一实施例中,所述装置,还包括:
测试模块,用于接收到所述开发者的第二操作指令,下载并安装所述目标应用的所述标准安装包,按照所述用目标应用的类型对所述目标应用进行测试,并将测试成功的应用传送至应用管理平台,以使管理员对所述目标应用进行审核。
在一实施例中,所述装置,还包括:
审核模块,用于接收到管理员的应用审核指令,对所述应用管理平台中的所述目标应用进行审核并按照所述用目标应用的类型选择相应的测试方式对所述目标应用进行测试,将测试成功的应用上架至所述应用管理平台中的应用商店。
本发明实施例所提供的应用管理处理装置可执行本发明任意实施例所提供的应用于金融系统的应用管理处理方法,具备执行方法相应的功能模块和有益效果。
在一实施例中,图10为本发明一实施例提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图10所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如应用管理方法。
在一些实施例中,应用管理处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的应用管理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程应用管理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种应用管理方法,其特征在于,应用于云服务平台,所述方法,包括:
接收开发者的应用打包指令;
根据预设打包规范将所述应用打包指令对应的目标应用打包为标准安装包;其中,所述标准安装包中至少包括:应用基本信息文件、默认配置文件和模版目录文件;
传送所述标准安装包至应用管理平台以进行应用管理。
2.根据权利要求1所述的方法,其特征在于,所述根据预设打包规范将所述应用打包指令对应的目标应用打包为标准安装包,包括:
获取预先创建的包含容器资源的应用文件集合;其中,所述应用文件集合中包括:应用基本信息文件、文本格式的许可协议、应用介绍、使用说明和指南、默认值配置文件、存放应用打包依赖的目录以及存放部署模版文件的目录;
将所述应用文件集合作为所述预设打包规范以对所述目标应用进行打包以得到标准安装包;
其中,所述目标应用的基本信息存储在所述应用基本信息文件中;所述应用基本信息文件至少包括下述字段:应用接口版本、应用包名称、应用版本、维护者名称、兼容的容器版本、关于应用的关键字列表和应用的统一资源定位符。
3.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
响应于目标用户对所述应用管理平台内的应用商店中所述目标应用的第一操作指令,下载并安装所述目标应用的所述标准安装包;
获取所述目标应用的默认配置文件和预先配置的容器资源模版;
将所述默认配置文件和所述容器资源模版进行文件渲染生成结果描述文件,并将所述结果描述文件加载至容器管理平台进行运行。
4.根据权利要求3所述的方法,其特征在于,所述容器资源模版采用Go模板语言编写并存储在模版目录文件中;所述容器资源模版中的字段信息至少包括:容器资源种类、容器版本、元数据、应用包名称、标签、容器名称、镜像、镜像拉取策略和值;其中,所述镜像的字段信息中包括容器镜像仓库和容器镜像标签;所述镜像拉取策略的字段中包括拉取策略;所述值的字段信息中包括所述值的存储后端。
5.根据权利要求3所述的方法,其特征在于,所述默认配置文件的输入,包括下述之一:
在所述目标应用的安装包中创建包含可供引用的第一默认配置文件;其中,所述第一默认配置文件为键值对形式,以容器镜像仓库、容器镜像标签、镜像拉取策略、存储后端为键,以所述容器镜像仓库、所述容器镜像标签、所述镜像拉取策略、所述存储后端分别对应的输入值为值,组成键值对;
在所述目标应用的安装包中创建包含必要值的第二默认配置文件,通过HelmInstall命令使用所述第二默认配置文件。
6.根据权利要求3所述的方法,其特征在于,所述将所述默认配置文件和所述容器资源模版进行文件渲染生成结果描述文件,包括:
查找所述容器资源模版中的字段信息:镜像、镜像拉取策略和值;
将所述默认配置文件中的键值对变量替换至所述镜像、所述镜像拉取策略和所述值对应的信息中进行渲染,以生成结果描述文件。
7.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
接收到所述开发者的第二操作指令,下载并安装所述目标应用的所述标准安装包,按照所述用目标应用的类型对所述目标应用进行测试,并将测试成功的应用传送至应用管理平台,以使管理员对所述目标应用进行审核。
8.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
接收到管理员的应用审核指令,对所述应用管理平台中的所述目标应用进行审核并按照所述用目标应用的类型选择相应的测试方式对所述目标应用进行测试,将测试成功的应用上架至所述应用管理平台中的应用商店。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的应用管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-8中任一项所述的应用管理方法。
CN202310383376.4A 2023-04-11 2023-04-11 一种应用管理方法、电子设备及存储介质 Pending CN116382761A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310383376.4A CN116382761A (zh) 2023-04-11 2023-04-11 一种应用管理方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310383376.4A CN116382761A (zh) 2023-04-11 2023-04-11 一种应用管理方法、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116382761A true CN116382761A (zh) 2023-07-04

Family

ID=86963167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310383376.4A Pending CN116382761A (zh) 2023-04-11 2023-04-11 一种应用管理方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116382761A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117311698A (zh) * 2023-08-14 2023-12-29 广州致远电子股份有限公司 软件包发布方法、软件包下载方法、终端设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117311698A (zh) * 2023-08-14 2023-12-29 广州致远电子股份有限公司 软件包发布方法、软件包下载方法、终端设备及存储介质
CN117311698B (zh) * 2023-08-14 2024-05-17 广州致远电子股份有限公司 软件包发布方法、软件包下载方法、终端设备及存储介质

Similar Documents

Publication Publication Date Title
US11561846B2 (en) API notebook tool
US11461111B2 (en) Method for running applets, and electronic device
EP3605324B1 (en) Application development method and tool, and storage medium thereof
US10862979B2 (en) Techniques for supporting remote micro-services as native functions in spreadsheet applications
US20180314674A1 (en) Systems and Methods for Contextual Vocabularies and Customer Segmentation
CN100444158C (zh) 使用外部计划主题的Web网页绘制机制
US10033533B2 (en) Mobile solution for signing and retaining third-party documents
US8949378B2 (en) Method and system for providing a state model of an application program
US11797273B2 (en) System and method for enhancing component based development models with auto-wiring
US10089108B1 (en) Archival format for incremental deployments and version control
KR102284761B1 (ko) 내장가능형 미디어 콘텐츠 검색 위젯
US9600300B2 (en) Method to generate dynamic customized context-sensitive help
WO2019191177A1 (en) Network address management systems and methods
CA2846581A1 (en) Data infrastructure for providing interconnectivity between platforms, devices and operating systems
US20100257413A1 (en) Verification service for dynamic content update
CN110928571A (zh) 业务程序开发方法和装置
CN116382761A (zh) 一种应用管理方法、电子设备及存储介质
US20140157227A1 (en) Method and system for preserving restful web service structure in a client consuming the restful web service
CN112835568A (zh) 一种项目构建方法和装置
US20170093767A1 (en) Confidence score-based smart email attachment saver
Sharma Mastering Microservices with Java 9: Build domain-driven microservice-based applications with Spring, Spring Cloud, and Angular
CN104361094A (zh) 搜索结果中文件的保存方法、装置和浏览器客户端
CN110888794A (zh) 接口测试方法和装置
US20180253319A1 (en) Adaptively linking data between independent systems based on a uniform resource locator
CN113312900A (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