CN111142881A - 一种基于kubernetes的编排charts自动化部署的系统及方法 - Google Patents

一种基于kubernetes的编排charts自动化部署的系统及方法 Download PDF

Info

Publication number
CN111142881A
CN111142881A CN201911372462.5A CN201911372462A CN111142881A CN 111142881 A CN111142881 A CN 111142881A CN 201911372462 A CN201911372462 A CN 201911372462A CN 111142881 A CN111142881 A CN 111142881A
Authority
CN
China
Prior art keywords
charts
installation
chart
swift
tool
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.)
Granted
Application number
CN201911372462.5A
Other languages
English (en)
Other versions
CN111142881B (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201911372462.5A priority Critical patent/CN111142881B/zh
Publication of CN111142881A publication Critical patent/CN111142881A/zh
Application granted granted Critical
Publication of CN111142881B publication Critical patent/CN111142881B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • 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
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于kubernetes的编排charts自动化部署的系统及方法,属于kubernetes容器技术领域。本发明的基于kubernetes的编排charts自动化部署的系统,包括web浏览器、swift工具、tiller组件和k8s‑apiserver组件,web浏览器与swift工具相通信,swift工具与tiller组件相连接,tiller组件负责安装chart,tiller组件与k8s‑apiserver相交互。该发明的基于kubernetes的编排charts自动化部署的系统可以灵活修改编排charts的安装顺序,控制安装chart的依赖性,具有很好的推广应用价值。

Description

一种基于kubernetes的编排charts自动化部署的系统及方法
技术领域
本发明涉及kubernetes容器技术领域,具体提供一种基于kubernetes的编排charts自动化部署的系统及方法。
背景技术
很多人都使用过Ubuntu下的ap-get或者CentOS下的yum,这两者都是Linux系统下的包管理工具。采用apt-get/yum,应用开发者可以管理应用包之间的依赖关系,发布应用;用户则可以以简单的方式查找、安装、升级、卸载应用程序。kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。我们可以将Helm看作Kubernetes下的apt-get/yum。Helm是Deis(https://deis.com/)开发的一个用于kubernetes的包管理器。每个包称为一个Chart,一个Chart是一个目录。其中,values.yaml是安装chart所需的参数配置文件。
现在kubernetes中Helm Chart的安装管理工具大多数都是针对单个chart(或其依赖的子charts),当发布一个云平台产品版本时,会有几十个几百个的chart产品包需要管理,这些chart产品的安装部署是有依赖关系的,有些chart的安装必须使用前一个chart安装后的参数等要求。每个chart的配置项(通过配置该chart的values.yaml文件完成)和chart产品包的编排部署管理是一个比较繁琐的过程,逐个发布chart的话,需要人工随时守候在机房旁,按文档理清楚安装顺序,人工管理的产品发布过程较长,维护成本较高。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种可以灵活修改编排charts的安装顺序,控制安装chart的依赖性,保障整个云平台产品版本的顺利发布和升级的基于kubernetes的编排charts自动化部署的系统。
本发明进一步的技术任务是提供一种基于kubernetes的编排charts自动化部署的方法。
为实现上述目的,本发明提供了如下技术方案:
一种基于kubernetes的编排charts自动化部署的系统,包括web浏览器、swift工具、tiller组件和k8s-apiserver组件,web浏览器与swift工具相通信,通过web浏览器访问swift工具,swift工具用于控制安装清单列表里的chart的安装,swift工具与tiller组件相连接,swift工具将chart的安装逻辑发送给tiller组件,tiller组件负责安装chart,tiller组件与k8s-apiserver相交互。
Site是一个云平台产品版本发布的环境,针对一个区域的客户,可以是多个kubernetes集群的组合环境。
tiller组件为kubernetes里负责安装helm charts的服务端,与kubenetes里的apiserver组件交互。k8s-apiserver为kubernetes里的apiserver组件,负责kubernetes的接口调用处理的服务端。
作为优选,所述安装清单列表定义在每个客户区域的site中,每个安装清单列表里定义多个chart组,每个chart组里定义多个chart,通过swift工具的配置文件定义安装清单列表中chart的安装逻辑。
作为优选,每个客户区域的site中可以定义多个安装清单列表。
一种基于kubernetes的编排charts自动化部署的方法,该方法在kubernetes里安装swift工具,通过swift工具管理每个chart的参数配置,在不同的场景修改编排charts的安装顺序。
作为优选,基于kubernetes的编排charts自动化部署的方法具体包括以下步骤:
S1、在每个客户区域定义一个site,site里定义多个安装清单列表,每个安装清单列表里定义多个chart组,每个chart组里定义多个chart,通过swift工具定义安装清单列表里的chart的安装顺序;
S2、通过web浏览器访问swift工具的界面,发送安装指令给swift工具,触发部署chart;
S3、根据site项目获取对应的安装清单列表中部署chart的内容,根据site里charts的信息拉取git上的chart包,values的配置通过site里的配置进行对应替换values.yaml;
S4、根据site里定义的安装顺序部署安装清单列表;
S5、将每个chart的values提取出模板文件和变量定义文件;
S6、根据chart中的参数配置文件values.yaml是否发生变化来确定是否需要安装升级chart;
S7、调用tiller组件的接口安装chart。
其中Git是一个分布式版本控制软件,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。
该方法可以编排所有charts的安装和升级的依赖顺序,同一个chart组里的chart可以并行安装,以提高安装效率。通过git来维护一个项目site(站点),以及charts信息(chart的git地址)。
作为优选,步骤S2中web浏览器访问swift工具的界面,通过http请求发送安装指令给swift工具。
作为优选,步骤S4中,通过遍历每一个安装清单列表,顺序执行;遍历每一个chart组,顺序执行;遍历每个chart,根据配置选择并行或顺序执行。
作为优选,步骤S5中通过模板文件和变量定义文件来管理配置项。
与现有技术相比,本发明的基于kubernetes的编排charts自动化部署的方法具有以下突出的有益效果:所述基于kubernetes的编排charts自动化部署的方法通过swift工具来自动化管理每个chart的配置(减少参数的冗余配置工作量),通过不同的场景可以灵活修改编排charts的安装顺序,控制安装chart的依赖性,将安装流程及业务逻辑自动化,保障整个云平台产品版本批量chart的顺利发布和升级,可大规模推广,不依赖经验和繁琐的业务文档,安装配置可以持久化传承,提升管理运维效率,具有良好的推广应用价值。
附图说明
图1是本发明所述基于kubernetes的编排charts自动化部署的系统的site的组成拓扑图;
图2是本发明所述基于kubernetes的编排charts自动化部署的方法的流程图。
具体实施方式
下面将结合附图和实施例,对本发明的基于kubernetes的编排charts自动化部署的系统及方法作进一步详细说明。
实施例
本发明的基于kubernetes的编排charts自动化部署的系统包括web浏览器、swift工具、tiller组件和k8s-apiserver组件。
其中web浏览器与swift工具相通信,通过web浏览器访问swift工具,swift工具用于控制安装清单列表里的chart的安装。swift工具与tiller组件相连接,swift工具将chart的安装逻辑发送给tiller组件,tiller组件负责安装chart,tiller组件与k8s-apiserver相交互。
如图1所示,安装清单列表定义在每个客户区域的site中,并且每个客户区域的site中可以定义多个安装清单列表。每个安装清单列表里定义多个chart组,每个chart组里定义多个chart,通过swift工具的配置文件定义安装清单列表中chart的安装逻辑。
如图2所示,本发明的基于kubernetes的编排charts自动化部署的方法,该方法在kubernetes里安装swift工具,通过swift工具管理每个chart的参数配置,在不同的场景修改编排charts的安装顺序。
具体包括以下步骤:
S1、在每个客户区域定义一个site,site里定义多个安装清单列表,每个安装清单列表里定义多个chart组,每个chart组里定义多个chart,通过swift工具定义安装清单列表里的chart的安装顺序。
S2、通过web浏览器访问swift工具的界面,通过http请求发送安装指令给swift工具,触发部署chart。
S3、根据site项目获取对应的安装清单列表中部署chart的内容,根据site里charts的信息拉取git上的chart包,values的配置通过site里的配置进行对应替换values.yaml。
S4、根据site里定义的安装顺序部署安装清单列表。
通过遍历每一个安装清单列表,顺序执行;遍历每一个chart组,顺序执行;遍历每个chart,根据配置选择并行或顺序执行。
示例如下:
现有需求安装分布式存储ceph、云计算虚拟化平台OpenStack、中间件数据库mysql、postgres、redis等,镜像仓库harbor、监控组件monitoring、日志组件logging、鉴权组件keycloak、应用产品组件bss等。
那么在git上创建一个site项目,可以根据规模和安装顺序、安装架构划分为3个安装清单manifest(ceph、OpenStack、app)。ceph的manifest下有Chart组(rook-ceph),rook-ceph的chart组里有若干个安装ceph集群的chart组成,依次类推,OpenStack的安装也是一个manifest编排,内部涉及多个chart组负责安装OpenStack集群,app也是一样。所有的chart配置项加在一起有几百个甚至更多。如果单个chart的安装方式需要人工配置复杂度较高,耗时较长,产品发布缓慢。换做现有工具去编排管理,提取出相同的配置项,缩减了很多重复的配置,将配置项降到几十个甚至更少,降低了配置复杂度和运维实施的技术门槛,便于管理,发布周期大大缩短。且一切安装配置都是git管理,安装经验可以复制,不依赖操作人员的技术能力。
S5、将每个chart的values提取出模板文件和变量定义文件,通过模板文件和变量定义文件来管理配置项。
S6、根据chart中的参数配置文件values.yaml是否发生变化来确定是否需要安装升级chart。
S7、调用tiller组件的接口安装chart。
可以编排所有charts的安装和升级的依赖顺序,同一个chart组里的chart可以并行安装,以提高安装效率。通过git来维护一个项目site(站点),以及charts信息(chart的git地址)。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (8)

1.一种基于kubernetes的编排charts自动化部署的系统,其特征在于:包括web浏览器、swift工具、tiller组件和k8s-apiserver组件,web浏览器与swift工具相通信,通过web浏览器访问swift工具,swift工具用于控制安装清单列表里的chart的安装,swift工具与tiller组件相连接,swift工具将chart的安装逻辑发送给tiller组件,tiller组件负责安装chart,tiller组件与k8s-apiserver相交互。
2.根据权利要求1所述的基于kubernetes的编排charts自动化部署的系统,其特征在于:所述安装清单列表定义在每个客户区域的site中,每个安装清单列表里定义多个chart组,每个chart组里定义多个chart,通过swift工具的配置文件定义安装清单列表中chart的安装逻辑。
3.根据权利要求2所述的基于kubernetes的编排charts自动化部署的系统,其特征在于:每个客户区域的site中可以定义多个安装清单列表。
4.一种基于kubernetes的编排charts自动化部署的方法,其特征在于:该方法在kubernetes里安装swift工具,通过swift工具管理每个chart的参数配置,在不同的场景修改编排charts的安装顺序。
5.根据权利要求4所述的基于kubernetes的编排charts自动化部署的方法,其特征在于:具体包括以下步骤:
S1、在每个客户区域定义一个site,site里定义多个安装清单列表,每个安装清单列表里定义多个chart组,每个chart组里定义多个chart,通过swift工具定义安装清单列表里的chart的安装顺序;
S2、通过web浏览器访问swift工具的界面,发送安装指令给swift工具,触发部署chart;
S3、根据site项目获取对应的安装清单列表中部署chart的内容,根据site里charts的信息拉取git上的chart包,values的配置通过site里的配置进行对应替换values.yaml;
S4、根据site里定义的安装顺序部署安装清单列表;
S5、将每个chart的values提取出模板文件和变量定义文件;
S6、根据chart中的参数配置文件values.yaml是否发生变化来确定是否需要安装升级chart;
S7、调用tiller组件的接口安装chart。
6.根据权利要求5所述的基于kubernetes的编排charts自动化部署的方法,其特征在于:步骤S2中web浏览器访问swift工具的界面,通过http请求发送安装指令给swift工具。
7.根据权利要求6所述的基于kubernetes的编排charts自动化部署的方法,其特征在于:步骤S4中,通过遍历每一个安装清单列表,顺序执行;遍历每一个chart组,顺序执行;遍历每个chart,根据配置选择并行或顺序执行。
8.根据权利要求7所述的基于kubernetes的编排charts自动化部署的方法,其特征在于:步骤S5中通过模板文件和变量定义文件来管理配置项。
CN201911372462.5A 2019-12-27 2019-12-27 一种基于kubernetes的编排charts自动化部署的系统及方法 Active CN111142881B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911372462.5A CN111142881B (zh) 2019-12-27 2019-12-27 一种基于kubernetes的编排charts自动化部署的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911372462.5A CN111142881B (zh) 2019-12-27 2019-12-27 一种基于kubernetes的编排charts自动化部署的系统及方法

Publications (2)

Publication Number Publication Date
CN111142881A true CN111142881A (zh) 2020-05-12
CN111142881B CN111142881B (zh) 2023-10-27

Family

ID=70520802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911372462.5A Active CN111142881B (zh) 2019-12-27 2019-12-27 一种基于kubernetes的编排charts自动化部署的系统及方法

Country Status (1)

Country Link
CN (1) CN111142881B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111596927A (zh) * 2020-05-15 2020-08-28 北京金山云网络技术有限公司 服务部署方法、装置及电子设备
CN113238763A (zh) * 2021-05-17 2021-08-10 京东数字科技控股股份有限公司 应用部署的方法、设备、存储介质及程序产品
CN113419813A (zh) * 2021-05-21 2021-09-21 济南浪潮数据技术有限公司 一种基于容器平台部署裸机管理服务的方法及装置
CN114500268A (zh) * 2022-01-17 2022-05-13 远景智能国际私人投资有限公司 chart资源的部署方法、装置、服务器及存储介质
TWI769880B (zh) * 2021-06-29 2022-07-01 威聯通科技股份有限公司 應用程式同步方法及高可用性系統
US20230142198A1 (en) * 2021-11-05 2023-05-11 Microsoft Technology Licensing, Llc Exposure and de-duplication of input parameters for complex helm chart deployment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120089718A1 (en) * 2010-10-08 2012-04-12 Lumi Mobile Scalable synchronization of events among server and clients with varying lag-times
CN109032645A (zh) * 2018-07-28 2018-12-18 烽火云科技有限公司 基于Kubernetes的持续集成与部署的方法和系统
CN109062655A (zh) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
CN109947536A (zh) * 2019-03-25 2019-06-28 山东浪潮云信息技术有限公司 一种基于Kubernetes的PostgreSQL自动化部署方法
CN109981351A (zh) * 2019-03-06 2019-07-05 浪潮通用软件有限公司 一种私有云部署方法
CN110515628A (zh) * 2019-08-09 2019-11-29 济南浪潮数据技术有限公司 应用部署方法及装置
US20190384794A1 (en) * 2018-06-18 2019-12-19 Thrio, Inc. System and method for auto-provisioning ai-based dialog service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120089718A1 (en) * 2010-10-08 2012-04-12 Lumi Mobile Scalable synchronization of events among server and clients with varying lag-times
CN109062655A (zh) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 一种容器化云平台及服务器
US20190384794A1 (en) * 2018-06-18 2019-12-19 Thrio, Inc. System and method for auto-provisioning ai-based dialog service
CN109032645A (zh) * 2018-07-28 2018-12-18 烽火云科技有限公司 基于Kubernetes的持续集成与部署的方法和系统
CN109981351A (zh) * 2019-03-06 2019-07-05 浪潮通用软件有限公司 一种私有云部署方法
CN109947536A (zh) * 2019-03-25 2019-06-28 山东浪潮云信息技术有限公司 一种基于Kubernetes的PostgreSQL自动化部署方法
CN110515628A (zh) * 2019-08-09 2019-11-29 济南浪潮数据技术有限公司 应用部署方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王华;刘焕敏;段慧芬;: "一种远程维护发布系统的设计与实现" *
王华;刘焕敏;段慧芬;: "一种远程维护发布系统的设计与实现", 飞行器测控学报, no. 06 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111596927A (zh) * 2020-05-15 2020-08-28 北京金山云网络技术有限公司 服务部署方法、装置及电子设备
CN111596927B (zh) * 2020-05-15 2023-08-18 北京金山云网络技术有限公司 服务部署方法、装置及电子设备
CN113238763A (zh) * 2021-05-17 2021-08-10 京东数字科技控股股份有限公司 应用部署的方法、设备、存储介质及程序产品
CN113419813A (zh) * 2021-05-21 2021-09-21 济南浪潮数据技术有限公司 一种基于容器平台部署裸机管理服务的方法及装置
CN113419813B (zh) * 2021-05-21 2023-02-24 济南浪潮数据技术有限公司 一种基于容器平台部署裸机管理服务的方法及装置
TWI769880B (zh) * 2021-06-29 2022-07-01 威聯通科技股份有限公司 應用程式同步方法及高可用性系統
US20230142198A1 (en) * 2021-11-05 2023-05-11 Microsoft Technology Licensing, Llc Exposure and de-duplication of input parameters for complex helm chart deployment
US11893373B2 (en) * 2021-11-05 2024-02-06 Microsoft Technology Licensing, Llc Exposure and de-duplication of input parameters for complex Helm chart deployment
CN114500268A (zh) * 2022-01-17 2022-05-13 远景智能国际私人投资有限公司 chart资源的部署方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN111142881B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
CN111142881A (zh) 一种基于kubernetes的编排charts自动化部署的系统及方法
CN110851145B (zh) 一种基于容器编排的边缘云安装维护方法及系统
CN108829409B (zh) 一种分布式系统快速部署方法及系统
CN110704164A (zh) 一种基于Kubernetes技术的云原生应用平台构建方法
US8978032B2 (en) Host naming application programming interface
CN112424750A (zh) 云平台上的多集群供应及管理办法
US20180302335A1 (en) Orchestrating computing resources between different computing environments
CN113515350A (zh) 一种混合云计算管理平台
US8640098B2 (en) Offline configuration and download approach
CN111027921A (zh) 一种业务处理方法、装置及电子设备和存储介质
CN114064213B (zh) 基于Kubernets容器环境的快速编排服务方法及系统
CN104639594A (zh) 分配物理资源和虚拟资源的系统和方法
US9900212B2 (en) Installation of an arbitrary server as an extension of a computing platform
CN109240716B (zh) 一种大数据平台版本管理与快速迭代部署方法及系统
US9542173B2 (en) Dependency handling for software extensions
CN112099917B (zh) 调控系统容器化应用运行管理方法、系统、设备及介质
CN109739616A (zh) 一种云平台容器镜像批量制作方法
CN111147291A (zh) 一种服务维护方法及装置
CN116795483A (zh) 一种资源处理方法和装置、及存储介质
Tang et al. Application centric lifecycle framework in cloud
CN113568791A (zh) 一种基于多cpu架构的服务器操作系统自动化测试工具及方法
CN113467773A (zh) 一种实现机器人流程自动化的流程代码复用的方法
CN109144526B (zh) 一种变电站自动化软件的快速部署系统及方法
CN115421847A (zh) 支持多引擎的研发运维平台和cicd流水线的管理方法及设备
CN115543358A (zh) 基于Docker的分布式云平台微服务业务编排方法及系统

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
CB02 Change of applicant information

Address after: 250100 building S02, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan, Shandong

Applicant after: Inspur cloud Information Technology Co.,Ltd.

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Applicant before: Tidal Cloud Information Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant