CN113312083B - 应用生成方法、装置及设备 - Google Patents

应用生成方法、装置及设备 Download PDF

Info

Publication number
CN113312083B
CN113312083B CN202010675559.XA CN202010675559A CN113312083B CN 113312083 B CN113312083 B CN 113312083B CN 202010675559 A CN202010675559 A CN 202010675559A CN 113312083 B CN113312083 B CN 113312083B
Authority
CN
China
Prior art keywords
application
target
template
application template
initial
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.)
Active
Application number
CN202010675559.XA
Other languages
English (en)
Other versions
CN113312083A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010675559.XA priority Critical patent/CN113312083B/zh
Publication of CN113312083A publication Critical patent/CN113312083A/zh
Application granted granted Critical
Publication of CN113312083B publication Critical patent/CN113312083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本申请公开了一种应用生成方法、装置及设备。其中,该方法包括:创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。本申请解决了现有技术中运维应用的自动化生成效率较低且无法规范运维应用的配置信息的技术问题。

Description

应用生成方法、装置及设备
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种应用生成方法、装置及设备。
背景技术
随着Kubernetes技术的发展,商家纷纷开始将所属的应用容器化,并逐步迁移到云平台上。但是,由于开发云原生运维应用的门槛和成本极高,无论是集团还是公共云,云原生体系下普遍上还都是运维人员手工运维应用,虽然存在AppCenter这种类型的开源应用接入及运维产品,主要针对复杂度较小的有状态应用,并未通过定义Kubernetes的CR定义应用,而且接入应用需要运维人员开发一半以上的代码,而且可扩展性低,很难推广到其他公司。
由上可知,现有技术中运维应用的自动化生成效率较低且无法规范运维应用的配置信息。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种应用生成方法、装置及设备,以至少解决现有技术中运维应用的自动化生成效率较低且无法规范运维应用的配置信息的技术问题。
根据本申请实施例的一个方面,提供了一种应用生成方法,包括:创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
根据本申请实施例的另一方面,还提供了一种应用生成装置,包括:创建模块,用于创建应用以及与上述应用对应的当前版本;获取模块,用于在上述当前版本下,获取目标业务参数和多个应用模板;生成模块,用于基于上述目标业务参数和上述多个应用模板生成目标应用。
根据本申请实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的应用生成方法。
根据本申请实施例的另一方面,还提供了一种应用生成设备,包括:处理器;以及存储器,与上述处理器连接,用于为上述处理器提供处理以下处理步骤的指令:创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
在本申请实施例中,通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
容易注意到的是,本申请实施例通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板,进而可以基于上述目标业务参数和上述多个应用模板生成目标应用。
由此,本申请达到了提高云原生体系下的目标应用的自动化生成效率的目的,从而实现了提高目标应用的配置信息的规范性的技术效果,进而解决了现有技术中运维应用的自动化生成效率较低且无法规范运维应用的配置信息的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现应用生成方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种应用生成方法的流程图;
图3是根据本申请实施例的一种可选的应用生成方法的实现示意图;
图4是根据本申请实施例的一种可选的应用生成方法的场景示意图;
图5是根据本申请实施例的一种可选的创建应用的人机交互界面示意图;
图6是根据本申请实施例的一种可选的创建当前版本的人机交互界面示意图;
图7是根据本申请实施例的一种可选的更新目标应用模板的场景示意图;
图8是根据本申请实施例的一种可选的控制台的界面示意图;
图9是根据本发明实施例的一种应用生成装置的结构示意图;
图10是根据本发明实施例的一种应用生成设备的结构示意图;
图11是根据本申请实施例的另一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
开放式应用模型OAM:是一种用于构建和交付云原生应用的标准规范。
Kubernetes:简称K8s,是用数字8替代8个字符“ubernete”而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部属容器化的应用简单且高效。
Helm Charts:是一种类似于Linux系统下的包管理器,如yum/apt等,可以方便快捷的将之前打包好的yaml文件快速部署进kubernetes系统内,方便管理维护。
Operator:用于通过扩展Kubernetes定义Custom Controller,观察应用并根据实际状态执行自定义任务,例如,应用被定义为Kubernetes对象:Custom Resource(CR),它包含yaml spec和被API服务接受对象类型(K8s kind),可以在自定义规范中定义需要观察的任何特定条件,并在实例与规范不匹配时协调实例。
AppDefinition:是指定义应用的配置规范,本质是个Kubernetes CR,包括机器配置参数、业务自定义参数和其他运维参数,可用于生成应用实例和校验参数;该CR的用途主要是为了填充Helm中values-adapter.yaml的值,用于最终的部署。
AppSchema:定义管控台参数配置表单的Json Schema,用它可以生成基本的应用参数配置界面。
应用运维平台:是指用于创建、修改应用模板,并且上传应用模板到Chart仓库的平台。
实施例1
根据本申请实施例,提供了一种应用生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现应用生成方法的计算机终端(或移动设备)的硬件结构框图,如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的应用生成方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用生成方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请提供了如图2所示的一种应用生成方法,图2是根据本申请实施例的一种应用生成方法的流程图,如图2所示,该应用生成方法包括:
步骤S202,创建应用以及与上述应用对应的当前版本;
步骤S204,在上述当前版本下,获取目标业务参数和多个应用模板;
步骤S206,基于上述目标业务参数和上述多个应用模板生成目标应用。
在本申请实施例中,通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
容易注意到的是,本申请实施例通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数、用于生成目标应用的应用实例的第一初始应用模板、用于生成上述目标应用的参数配置界面的第二初始应用模板和用于生成上述目标应用的应用程序包的第三初始应用模板,进而可以基于上述目标业务参数和上述多个应用模板生成目标应用。
由此,本申请达到了提高云原生体系下的目标应用的自动化生成效率的目的,从而实现了提高目标应用的配置信息的规范性的技术效果,进而解决了现有技术中运维应用的自动化生成效率较低且无法规范运维应用的配置信息的技术问题。
作为一种可选的实施例,本申请实施例所提供的应用生成方法实施例,可以但不限于应用在以下任意一种内部的中间件或公共云的云产品中:问题诊断和跟踪监控系统,例如,鹰眼(EagleEye);分布式消息产品,例如,MQ;分布式微服务产品,例如,EDAS;微服务引擎,例如,MSE;分布式定时任务,例如,SchedulerX;分布式配置产品,例如,ACM。
在一种可选的实施例中,上述多个应用模板包括:第一初始应用模板、第二初始应用模板和第三初始应用模板,其中,上述第一初始应用模板用于生成目标应用的应用实例,上述第二初始应用模板用于生成上述目标应用的参数配置界面,上述第三初始应用模板用于生成上述目标应用的应用程序包。
在一种可选的实施例中,图3是根据本申请实施例的一种可选的应用生成方法的实现示意图,除如图3所示的内容之外,机器参数中还可以包括:磁盘类型、Limits内存、LimitsCPU,平台配置参数中还可以包括:污点调度、Chart名称;可以根据目标业务参数对第一初始应用模板、第二初始应用模板和第三初始应用模板中的初始业务参数进行新增或修改,例如,根据目标业务参数新增第一初始应用模板中的平台配置参数和业务参数,根据目标业务参数新增第二初始应用模板中的机器参数和业务参数,根据目标业务参数新增第三初始应用模板中的Values-adapter.yaml,修改第三初始应用模板中的Values.yaml、Chart.yaml、statefulset.yaml。
可选的,上述第一初始应用模板可以但不限于为AppDefiniton模板,用于生成目标应用的应用实例;上述第二初始应用模板可以但不限于为AppSchema模板,用于生成上述目标应用的参数配置界面,上述第三初始应用模板可以但不限于为Helm Charts模板,用于生成上述目标应用的应用程序包。
可选的,上述第一初始应用模板中的初始业务参数可以为YAML格式的业务参数,第二初始应用模板中的初始业务参数可以为Scheme格式的业务参数,第三初始应用模板中的初始业务参数可以为Charts格式的业务参数。
可选的,可以根据用户在应用运维平台进行一些基本的业务应用配置,得到如图3所示的目标业务参数,进而基于该目标业务参数与应用运维平台内置的上述第一初始应用模板、第二初始应用模板和第三初始应用模板,生成上述目标应用。
仍需要说明的是,如图3所示的产品命名空间主要指该业务对应的产品代号,values-adapter是从values.yaml中抽取出的根据不同环境变化的变量,当采用应用运维平台输入的变量去替换模板中的变量时,需要通过查找${}框,例如:${appName}、${appVersion}、${appName}-${appVersion}、${productCode}。
在一种可选的实施例中,基于上述目标业务参数和上述多个应用模板生成目标应用包括:
步骤S202,基于上述目标业务参数对上述第一初始应用模板的初始业务参数进行修改,生成第一目标应用模板;
步骤S204,基于上述目标业务参数对上述第二初始应用模板的初始业务参数进行修改,生成第二目标应用模板;
步骤S206,基于上述目标业务参数对上述第三初始应用模板的初始业务参数进行修改,生成第三目标应用模板,其中,上述第三初始应用模板为本地预先配置的应用模板或者来自于外部服务器的自定义应用模板;
步骤S208,采用上述第一目标应用模板、上述第二目标应用模板和上述第三目标应用模板生成上述目标应用。
图4是根据本申请实施例的一种可选的应用生成方法的场景示意图,如图4所示,在一种可选的应用生成方法的应用场景中,根据运维人员的操作,在应用运维平台中创建应用以及与上述应用对应的当前版本;在创建上述当前版本时,需要添加自定义的业务配置参数,例如,zookeeper包括:TickTime和InitLimit等业务配置参数,然后根据业务配置参数和初始应用模板生成目标应用模板。
在上述可选的实施例中,仍如图4所示,可以通过结合业务配置参数和平台内置的初始应用模板直接生成第一目标应用模板、第二目标应用模板和第三目标应用模板,进而采用上述第一目标应用模板、上述第二目标应用模板和上述第三目标应用模板生成上述目标应用。
由于应用代码模板可以手工配置很多自定义功能,因此目标业务参数的参数配置界面和具体的应用代码模板基本是不可逆的,因此,在生成目标应用的过程中,可以在进入某个版本的应用之后,点击初始应用模板进行编辑,以修改该初始应用模板的初始业务参数,生成目标应用模板;例如,基于上述目标业务参数,直接对上述第一初始应用模板/第二初始应用模板/第三初始应用模板的初始业务参数进行修改,生成第一目标应用模板/第二目标应用模板/第三目标应用模板。
作为一种可选的实施例,在应用运维平台中创建应用的人机交互界面的示意图可以但不限于如图5所示,在该人机交互界面中创建应用(还可以理解为编辑应用)的过程中,供运维人员选择的云平台可以包括:集团和公有云,供运维人员选择的应用的类型包括:标准应用和Operator,并且在该人机交互界面中还可以展示创建应用的名称信息和对应的描述信息,例如,若该应用的名称为:zookeeper-server,则对应的描述信息可以为:zookeeper是一个分布式的、开放源码的分布式应用程序协同组件。
作为一种可选的实施例,在应用运维平台中创建与应用对应的当前版本的人机交互界面,可以但不限于如图6所示,创建上述当前版本时,需要在上述人机交互界面中编辑上述当前版本的基本信息,例如:版本号,描述信息,Charts模板等。
作为一种可选的实施例,上述版本号可以为字母、横线、数字的组合,若该应用的名称为:zookeeper-server,则与该应用对应的当前版本的描述信息可以为:zookeeper是一个分布式的、开放源码的分布式应用程序协同组件,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件,是一个为分布式应用提供一致性组件的软件,提供的功能包括:配置维护、域名组件、分布式同步、组件等。
需要说明的是,若需要自定义上述Charts模板,则需要在该人机交互界面中点击上传按钮,上传小于1M的tgz包格式的自定义Charts模板,否则可以采用由应用运维平台本地预先配置的Charts模板。
仍如图6所示,还可以该人机交互界面中展示目标业务参数,例如,展示该目标业务参数的代号、名称、类型、是否必填、默认值、选项、操作(删除、添加等)。
作为一种可选的实施例,上述方法还包括:
步骤S302,将上述第三目标应用模板的代码部分上传至第一服务器,其中,上述第一服务器用于提供代码存储服务。
可选的,上述第一服务器可以但不限于为GitLab服务器。
需要说明的是,第三初始应用模板Helm Charts的生成过程相对稍微复杂,如果需要部分自定义第三初始应用模板Helm Charts,可以从开源网站下载第三初始应用模板Helm Charts然后上传至应用运维平台,或者完全由运维平台生成第三初始应用模板HelmCharts,再由应用运维平台对该第三初始应用模板Helm Charts进行添加或修改一些必要的相关文件,例如:values-adapter文件,并将第三目标应用模板的代码部分(例如,源代码部分)上传至GitLab服务器或者其他代码仓库。
仍如图4所示,通过判断第三初始应用模板为本地预先配置的应用模板或者来自于外部服务器的自定义应用模板,根据判断结果对第三初始应用模板进行处理,如果该第三初始应用模板为应用运维平台本地预先配置的应用模板,则读取第三初始应用模板,修改该第三初始应用模板中的初始业务参数得到第三目标应用模板的源代码部分,将上述第三目标应用模板的源代码部分上传至GitLab服务器。
在另一种可选的实施例中,上述方法还包括:
步骤S402,对上述第三目标应用模板的代码部分进行压缩处理,得到压缩后代码;
步骤S404,将上述压缩后代码上传至第二服务器,其中,上述第二服务器用于提供代码测试服务。
可选的,上述第二服务器可以但不限于为Charts服务器,该Charts服务器为一种用于提供代码测试服务的代码仓库。
仍如图4所示,如果该第三初始应用模板为来自于外部服务器的自定义应用模板,则将该第三初始应用模板上传至应用运维平台,并在应用运维平台本地对该第三初始应用模板进行解压缩处理,再修改解压缩处理后的第三初始应用模板中的初始业务参数,再对上述第三目标应用模板的源代码部分进行压缩处理,得到压缩后代码之后,再将上述压缩后代码上传至Charts服务器。
在上述可选的实施例中,如果持续生成CI流程或持续交付CD流程不完善,如图4所示,还可以将上述第三目标应用模板的代码部分进行压缩处理,得到压缩后代码,例如,将第三目标应用模板的代码部分压缩成tgz包格式,并直接将该压缩后代码上传至Charts服务器。
在一种可选的实施例中,上述方法还包括:
步骤S502,在上述当前版本下,对上述第一目标应用模板的当前业务参数进行更新,得到第一更新后应用模板。
在另一种可选的实施例中,上述方法还包括:
步骤S602,在上述当前版本下,对上述第二目标应用模板的当前业务参数进行更新,得到第二更新后应用模板。
在上述可选的实施例中,图7是根据本申请实施例的一种可选的更新目标应用模板的场景示意图,如图7所示,可以在上述当前版本下,对上述第一目标应用模板和第二目标应用模板的当前业务参数进行更新,得到第一更新后应用模板和第二更新后应用模板。
在本申请实施例中,还存在一种可选的实施例,上述方法还包括:
步骤S702,在上述当前版本下,从上述第一服务器下载上述第三目标应用模板的代码部分;
步骤S704,对上述第三目标应用模板的代码部分进行更新,得到更新后代码;
步骤S706,将上述更新后代码上传至第一服务器。
仍如图7所示,若需要对第三目标应用模板的代码部分进行更新,则可以在当前版本下,从第一服务器下载上述第三目标应用模板的代码部分到本地进行解压处理,再对解压处理后的第三目标应用模板的代码部分进行更新,例如,修改第三目标应用模板的源码部分,得到更新后代码,并将更新后代码上传至第一服务器,例如,GitLab服务器。
在本申请实施例中,还存在另一种可选的实施例,上述方法还包括:
步骤S802,对上述更新后代码进行压缩处理,得到压缩后代码;
步骤S804,将上述压缩后代码上传至第二服务器。
在上述可选的实施例中,如果持续生成CI流程或持续交付CD流程不完善,如图7所示,还可以将上述更新后代码进行压缩处理,得到压缩后代码,并直接将该压缩后代码上传至Charts服务器,例如,将更新后代码压缩成tgz包格式,并将该tgz包上传至Charts服务器的测试空间。
本申请所提供的应用生成方法实施例,完全符合Kubernetes系统的设计理念,只有少量的自定义文件,大部分都使用开源技术,可以很好的和开源生态体系融合。可以100%自动生成简单的目标应用,还可以支持自定义扩展复杂的目标应用。
本申请实施例所提供的上述应用生成方法实施例,通过初始应用模板生成目标应用模板,例如,本申请实施例中提及的第一初始应用模板AppDefinition、第二初始应用模板AppSchema、第三初始应用模板Helm Charts均为应用的初始应用模板。
图8是根据本申请实施例的一种可选的控制台的界面示意图,如图8所示,在创建应用集群时,需要填写基本信息、填写参数配置和填写运维配置,以填写参数配置为例,机器配置:Requests内存、RequestsCPU、Limits内存、LimitsCPU、磁盘大小、磁盘类型等。并通过上述初始应用模板生成具体的应用实例,例如,通过本申请实施例可以但不限于生成Helm Charts工程、AppDefiniton、Schema等。因此,本申请实施例中通过初始应用模板生成目标应用模板,类似一个层级树的关系,以第一初始应用模板AppDefinition为例进行说明,则对应的层级树为:AppDefinitionTemplate->AppDefinition->AppInstance;即该层级树可以有多个父级的目标应用模板,但末级节点一定是面向业务的目标应用实例。
本申请实施例通过将用户常常配置的业务参数界面,抽象出一套JSON配置模型,用户只需要选择前端界面类型,然后再进行简单的字段属性配置即可,即可生成功能强大的应用集群创建和修改目标业务界面;既可以完全生成Charts模板,也可以兼容开源Charts模板。
本申请方案中最核心的应用模板即为Helm Charts,很多云原生官方网站都有开源Charts仓库,通过设计一键转换工具,即可以将数量庞大的开源Charts一同纳入;同时也可以让用户完全不用理解Charts模板,只要知道镜像版本就可以完全生成Charts模板,然后在Kubernetes系统中进行部署,即通过本申请实施例可以将自动生成和持续集成流程完美结合,然后辅以静态扫描,做到安全无死角。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例上述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述应用生成方法的应用生成装置实施例,图9是根据本发明实施例的一种应用生成装置的结构示意图,如图9所示,该装置包括:创建模块1000、获取模块1002和生成模块1004,其中:
创建模块1000,用于创建应用以及与上述应用对应的当前版本;获取模块1002,用于在上述当前版本下,获取目标业务参数和多个应用模板;生成模块1004,用于基于上述目标业务参数和上述多个应用模板生成目标应用。
在本申请实施例中,通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
容易注意到的是,本申请实施例通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数、用于生成目标应用的应用实例的第一初始应用模板、用于生成上述目标应用的参数配置界面的第二初始应用模板和用于生成上述目标应用的应用程序包的第三初始应用模板,进而可以基于上述目标业务参数和上述多个应用模板生成目标应用。
由此,本申请达到了提高云原生体系下的目标应用的自动化生成效率的目的,从而实现了提高目标应用的配置信息的规范性的技术效果,进而解决了现有技术中运维应用的自动化生成效率较低且无法规范运维应用的配置信息的技术问题。
此处需要说明的是,上述创建模块1000、获取模块1002和生成模块1004对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例3
根据本申请实施例,还提供了一种应用生成设备的实施例,该应用生成设备可以是计算设备群中的任意一个计算设备。图10是根据本发明实施例的一种应用生成设备的结构示意图,如图10所示,该应用生成设备包括:处理器1100和存储器1102,其中:
其中,存储器1102,与上述处理器1100连接,用于为上述处理器提供处理以下处理步骤的指令:创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
在本申请实施例中,通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
容易注意到的是,本申请实施例通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板,进而可以基于上述目标业务参数和上述多个应用模板生成目标应用。
由此,本申请达到了提高云原生体系下的目标应用的自动化生成效率的目的,从而实现了提高目标应用的配置信息的规范性的技术效果,进而解决了现有技术中运维应用的自动化生成效率较低且无法规范运维应用的配置信息的技术问题。
需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例4
根据本申请实施例,还提供了一种计算机终端的实施例,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用生成方法中以下步骤的程序代码:创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
可选地,图11是根据本申请实施例的另一种计算机终端的结构框图,如图11所示,该计算机终端可以包括:一个或多个(图中仅示出一个)处理器902、存储器904、以及外设接口906。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的应用生成方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用生成方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
可选的,处理器还可以执行如下步骤的程序代码:基于目标业务参数对第一初始应用模板的初始业务参数进行修改,生成第一目标应用模板;基于目标业务参数对第二初始应用模板的初始业务参数进行修改,生成第二目标应用模板;基于目标业务参数对第三初始应用模板的初始业务参数进行修改,生成第三目标应用模板,其中,第三初始应用模板为本地预先配置的应用模板或者来自于外部服务器的自定义应用模板;采用第一目标应用模板、第二目标应用模板和第三目标应用模板生成目标应用。
可选的,上述处理器还可以执行如下步骤的程序代码:将上述第三目标应用模板的代码部分上传至第一服务器,其中,上述第一服务器用于提供代码存储服务。
可选的,上述处理器还可以执行如下步骤的程序代码:对上述第三目标应用模板的代码部分进行压缩处理,得到压缩后代码;将上述压缩后代码上传至第二服务器,其中,上述第二服务器用于提供代码测试服务。
可选的,上述处理器还可以执行如下步骤的程序代码:在上述当前版本下,对上述第一目标应用模板的当前业务参数进行更新,得到第一更新后应用模板。
可选的,上述处理器还可以执行如下步骤的程序代码:在上述当前版本下,对上述第二目标应用模板的当前业务参数进行更新,得到第二更新后应用模板。
可选的,上述处理器还可以执行如下步骤的程序代码:在上述当前版本下,从上述第一服务器下载上述第三目标应用模板的代码部分;对上述第三目标应用模板的代码部分进行更新,得到更新后代码;将上述更新后代码上传至第一服务器。
可选的,上述处理器还可以执行如下步骤的程序代码:对上述更新后代码进行压缩处理,得到压缩后代码;将上述压缩后代码上传至第二服务器。
采用本申请实施例,提供了一种应用生成的方案,通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
容易注意到的是,本申请实施例通过创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板,进而可以基于上述目标业务参数和上述多个应用模板生成目标应用。
由此,本申请达到了提高云原生体系下的目标应用的自动化生成效率的目的,从而实现了提高目标应用的配置信息的规范性的技术效果,进而解决了现有技术中运维应用的自动化生成效率较低且无法规范运维应用的配置信息的技术问题。
本领域普通技术人员可以理解,图11所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,计算机终端还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
根据本申请的实施例,还提供了一种存储介质的实施例。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的应用生成方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:创建应用以及与上述应用对应的当前版本;在上述当前版本下,获取目标业务参数和多个应用模板;基于上述目标业务参数和上述多个应用模板生成目标应用。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于目标业务参数对第一初始应用模板的初始业务参数进行修改,生成第一目标应用模板;基于目标业务参数对第二初始应用模板的初始业务参数进行修改,生成第二目标应用模板;基于目标业务参数对第三初始应用模板的初始业务参数进行修改,生成第三目标应用模板,其中,第三初始应用模板为本地预先配置的应用模板或者来自于外部服务器的自定义应用模板;采用第一目标应用模板、第二目标应用模板和第三目标应用模板生成目标应用。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将上述第三目标应用模板的代码部分上传至第一服务器,其中,上述第一服务器用于提供代码存储服务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对上述第三目标应用模板的代码部分进行压缩处理,得到压缩后代码;将上述压缩后代码上传至第二服务器,其中,上述第二服务器用于提供代码测试服务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在上述当前版本下,对上述第一目标应用模板的当前业务参数进行更新,得到第一更新后应用模板。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在上述当前版本下,对上述第二目标应用模板的当前业务参数进行更新,得到第二更新后应用模板。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在上述当前版本下,从上述第一服务器下载上述第三目标应用模板的代码部分;对上述第三目标应用模板的代码部分进行更新,得到更新后代码;将上述更新后代码上传至第一服务器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对上述更新后代码进行压缩处理,得到压缩后代码;将上述压缩后代码上传至第二服务器。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种应用生成方法,其特征在于,包括:
创建应用以及与所述应用对应的当前版本;
在所述当前版本下,获取目标业务参数和多个应用模板,其中,所述多个应用模板包括:第一初始应用模板、第二初始应用模板和第三初始应用模板,所述第一初始应用模板用于生成目标应用的应用实例,所述第二初始应用模板用于生成所述目标应用的参数配置界面,所述第三初始应用模板用于生成所述目标应用的应用程序包;
基于所述目标业务参数对所述第一初始应用模板的初始业务参数进行修改,生成第一目标应用模板;
基于所述目标业务参数对所述第二初始应用模板的初始业务参数进行修改,生成第二目标应用模板;
基于所述目标业务参数对所述第三初始应用模板的初始业务参数进行修改,生成第三目标应用模板,其中,所述第三初始应用模板为本地预先配置的应用模板或者来自于外部服务器的自定义应用模板;
采用所述第一目标应用模板、所述第二目标应用模板和所述第三目标应用模板生成所述目标应用。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第三目标应用模板的代码部分上传至第一服务器,其中,所述第一服务器用于提供代码存储服务。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述第三目标应用模板的代码部分进行压缩处理,得到压缩后代码;
将所述压缩后代码上传至第二服务器,其中,所述第二服务器用于提供代码测试服务。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前版本下,对所述第一目标应用模板的当前业务参数进行更新,得到第一更新后应用模板。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前版本下,对所述第二目标应用模板的当前业务参数进行更新,得到第二更新后应用模板。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述当前版本下,从所述第一服务器下载所述第三目标应用模板的代码部分;
对所述第三目标应用模板的代码部分进行更新,得到更新后代码;
将所述更新后代码上传至第一服务器。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
对所述更新后代码进行压缩处理,得到压缩后代码;
将所述压缩后代码上传至第二服务器。
8.一种应用生成装置,其特征在于,包括:
创建模块,用于创建应用以及与所述应用对应的当前版本;
获取模块,用于在所述当前版本下,获取目标业务参数和多个应用模板,其中,所述多个应用模板包括:第一初始应用模板、第二初始应用模板和第三初始应用模板,所述第一初始应用模板用于生成目标应用的应用实例,所述第二初始应用模板用于生成所述目标应用的参数配置界面,所述第三初始应用模板用于生成所述目标应用的应用程序包;
生成模块,用于基于所述目标业务参数对所述第一初始应用模板的初始业务参数进行修改,生成第一目标应用模板;基于所述目标业务参数对所述第二初始应用模板的初始业务参数进行修改,生成第二目标应用模板;基于所述目标业务参数对所述第三初始应用模板的初始业务参数进行修改,生成第三目标应用模板,其中,所述第三初始应用模板为本地预先配置的应用模板或者来自于外部服务器的自定义应用模板;采用所述第一目标应用模板、所述第二目标应用模板和所述第三目标应用模板生成所述目标应用。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述的应用生成方法。
10.一种应用生成设备,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
创建应用以及与所述应用对应的当前版本;
在所述当前版本下,获取目标业务参数和多个应用模板,其中,所述多个应用模板包括:第一初始应用模板、第二初始应用模板和第三初始应用模板,所述第一初始应用模板用于生成目标应用的应用实例,所述第二初始应用模板用于生成所述目标应用的参数配置界面,所述第三初始应用模板用于生成所述目标应用的应用程序包;
基于所述目标业务参数对所述第一初始应用模板的初始业务参数进行修改,生成第一目标应用模板;
基于所述目标业务参数对所述第二初始应用模板的初始业务参数进行修改,生成第二目标应用模板;
基于所述目标业务参数对所述第三初始应用模板的初始业务参数进行修改,生成第三目标应用模板,其中,所述第三初始应用模板为本地预先配置的应用模板或者来自于外部服务器的自定义应用模板;
采用所述第一目标应用模板、所述第二目标应用模板和所述第三目标应用模板生成所述目标应用。
CN202010675559.XA 2020-07-14 2020-07-14 应用生成方法、装置及设备 Active CN113312083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010675559.XA CN113312083B (zh) 2020-07-14 2020-07-14 应用生成方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010675559.XA CN113312083B (zh) 2020-07-14 2020-07-14 应用生成方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113312083A CN113312083A (zh) 2021-08-27
CN113312083B true CN113312083B (zh) 2024-01-23

Family

ID=77370627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010675559.XA Active CN113312083B (zh) 2020-07-14 2020-07-14 应用生成方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113312083B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835705A (zh) * 2021-09-29 2021-12-24 北京金山云网络技术有限公司 大数据服务产品开发方法、装置及系统
US11893373B2 (en) * 2021-11-05 2024-02-06 Microsoft Technology Licensing, Llc Exposure and de-duplication of input parameters for complex Helm chart deployment
CN114443161A (zh) * 2021-12-31 2022-05-06 北京达佳互联信息技术有限公司 一种应用对接方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362318A (zh) * 2019-07-12 2019-10-22 北京百度网讯科技有限公司 应用部署方法、装置、设备和存储介质
CN110515628A (zh) * 2019-08-09 2019-11-29 济南浪潮数据技术有限公司 应用部署方法及装置
CN110647318A (zh) * 2019-09-29 2020-01-03 星环信息科技(上海)有限公司 一种有状态应用的实例创建方法、装置、设备及介质
CN110704048A (zh) * 2019-09-29 2020-01-17 北京浪潮数据技术有限公司 一种应用发布方法及相关装置
CN110768833A (zh) * 2019-10-25 2020-02-07 北京宝兰德软件股份有限公司 基于kubernetes的应用编排部署方法及装置
CN111274000A (zh) * 2020-01-21 2020-06-12 苏州浪潮智能科技有限公司 一种服务编排方法、装置及电子设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331416B2 (en) * 2016-04-28 2019-06-25 Microsoft Technology Licensing, Llc Application with embedded workflow designer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362318A (zh) * 2019-07-12 2019-10-22 北京百度网讯科技有限公司 应用部署方法、装置、设备和存储介质
CN110515628A (zh) * 2019-08-09 2019-11-29 济南浪潮数据技术有限公司 应用部署方法及装置
CN110647318A (zh) * 2019-09-29 2020-01-03 星环信息科技(上海)有限公司 一种有状态应用的实例创建方法、装置、设备及介质
CN110704048A (zh) * 2019-09-29 2020-01-17 北京浪潮数据技术有限公司 一种应用发布方法及相关装置
CN110768833A (zh) * 2019-10-25 2020-02-07 北京宝兰德软件股份有限公司 基于kubernetes的应用编排部署方法及装置
CN111274000A (zh) * 2020-01-21 2020-06-12 苏州浪潮智能科技有限公司 一种服务编排方法、装置及电子设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SG-APS应用服务器中间件的设计与实现;许大卫;吴舜;孟德;郑晓琳;;计算机技术与发展(第10期);全文 *
基于Docker的CaaS管理平台架构研究与设计;张琦;;计算机应用与软件(第11期);全文 *
基于容器云的微服务系统;杨迪;;电信科学(第09期);全文 *

Also Published As

Publication number Publication date
CN113312083A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
CN113312083B (zh) 应用生成方法、装置及设备
CN106843828B (zh) 界面显示、加载方法及装置
CN102752137B (zh) 主动设置虚拟机网络参数的装置和方法
CN110969001B (zh) 反馈信息的生成方法及装置、存储介质、处理器和终端
CN113595961A (zh) 协议转换方法和系统、网关设备
CN111556158B (zh) 物联网平台的接入方法、接入装置、接入设备及存储介质
CN107273140B (zh) 脚手架管理方法、装置及电子设备
CN109754072B (zh) 网络离线模型的处理方法、人工智能处理装置及相关产品
CN109120444B (zh) 云资源管理方法、处理器以及存储介质
CN108279882B (zh) 框架生成方法、装置、设备及计算机可读介质
CN112463169B (zh) 基于在线工作系统的文件处理方法、装置以及存储介质
CN111930565B (zh) 分布式管理系统中组件的进程故障自愈方法、装置及设备
CN112214701A (zh) 页面的展示方法及系统、存储介质、电子装置
CN110908652A (zh) 创建活动页面以及对活动页面进行编译的方法、装置
CN107368557B (zh) 页面编辑方法及装置
CN115525396A (zh) 基于云原生的应用管理方法及装置
CN113094773B (zh) 为设计对象推荐应用程序的方法、装置及存储介质
CN113094771B (zh) 对设计对象匹配应用程序的方法、装置及存储介质
CN114172978A (zh) 多协议设备接入方法及相关装置
CN109271310B (zh) 移动应用程序网络功能的开发测试方法和装置
CN112306843A (zh) 一种测试方法、装置以及存储介质
CN109167826A (zh) Web应用的上架方法、装置及系统
CN111651146A (zh) 一种函数生成方法、装置、设备和介质
CN112988879A (zh) 访问数据库的方法、系统、装置、存储介质及处理器
CN111414190B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40058052

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant