CN114490588A - 数据库部署方法、装置、电子设备和计算机可读介质 - Google Patents

数据库部署方法、装置、电子设备和计算机可读介质 Download PDF

Info

Publication number
CN114490588A
CN114490588A CN202210127836.2A CN202210127836A CN114490588A CN 114490588 A CN114490588 A CN 114490588A CN 202210127836 A CN202210127836 A CN 202210127836A CN 114490588 A CN114490588 A CN 114490588A
Authority
CN
China
Prior art keywords
task
deployment
computing
group
information
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
CN202210127836.2A
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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology 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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202210127836.2A priority Critical patent/CN114490588A/zh
Publication of CN114490588A publication Critical patent/CN114490588A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例公开了数据库部署方法、装置、电子设备和计算机可读介质。该方法的一具体实施方式包括:接收数据库部署请求对应的集群信息,其中,上述集群信息包括存储群组信息和计算群组信息,上述计算群组信息包括计算节点数;根据上述存储群组信息,生成存储群组部署任务流;响应于上述计算节点数大于0,执行以下步骤:根据上述计算群组信息,生成计算群组部署任务流;执行上述存储群组部署任务流对应的各个存储群组部署任务;执行上述计算群组部署任务流对应的各个计算群组部署任务。该实施方式使得数据库部署自动化程度有所提高,且能够实现统一的自动化数据库部署。

Description

数据库部署方法、装置、电子设备和计算机可读介质
技术领域
本公开的实施例涉及计算机技术领域,具体涉及数据库部署方法、装置、电子设备和计算机可读介质。
背景技术
随着各应用***业务量的增加,数据量的不断增长,分布式数据库成为数据库发展的一个重要方向,在对分布式数据库进行部署时,通常采用的方式为:基于传统的自动化部署方案独立增加分布式程序的部署。
然而,采用上述方式对分布式数据库进行部署时,经常会存在如下技术问题:分布式数据库较为多样化,数据库部署自动化程度较低,且与传统的自动化部署方案耦合性较低,不能实现统一的自动化数据库部署。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了数据库部署方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题。
第一方面,本公开的一些实施例提供了一种数据库部署方法,该方法包括:接收数据库部署请求对应的集群信息,其中,上述集群信息包括存储群组信息和计算群组信息,上述计算群组信息包括计算节点数;根据上述存储群组信息,生成存储群组部署任务流;响应于上述计算节点数大于0,执行以下步骤:根据上述计算群组信息,生成计算群组部署任务流;执行上述存储群组部署任务流对应的各个存储群组部署任务;执行上述计算群组部署任务流对应的各个计算群组部署任务。
可选地,方法还包括:响应于上述计算节点数等于0,执行上述存储群组部署任务流对应的各个存储群组部署任务。
可选地,上述存储群组信息包括存储资源类型、实例运行基础参数、数据库版本信息和至少一个高可用组信息;以及上述根据上述存储群组信息,生成存储群组部署任务流,包括:响应于上述存储资源类型为物理机类或虚拟机类,执行以下步骤:根据上述实例运行基础参数和上述数据库版本信息,创建环境初始化任务,其中,上述环境初始化任务包括服务器参数配置子任务和数据库安装文件获取子任务;创建数据库安装任务;根据上述至少一个高可用组信息中的每个高可用组信息,依次创建主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务;将上述服务器参数配置子任务、上述数据库安装文件获取子任务、上述数据库安装任务、所创建的对应上述至少一个高可用组信息中的各个高可用组信息的主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务依次组合为存储群组部署任务流。
可选地,上述计算群组信息还包括计算资源类型;以及上述根据上述计算群组信息,生成计算群组部署任务流,包括:响应于上述计算资源类型为物理机类或虚拟机类,执行以下步骤:创建计算节点环境初始化任务;创建计算程序安装启动任务;创建元数据初始化任务和负载均衡配置任务;将上述计算节点环境初始化任务、上述计算程序安装启动任务、上述元数据初始化任务和上述负载均衡配置任务依次组合为计算群组部署任务流。
可选地,上述执行上述存储群组部署任务流对应的各个存储群组部署任务,包括:响应于上述各个存储群组部署任务中的存储群组部署任务的执行状态为执行失败,对执行状态为执行失败的存储群组部署任务进行重试执行处理;响应于上述执行状态为执行失败的存储群组部署任务的执行状态为执行成功,执行排列在上述执行状态为执行失败的存储群组部署任务后的存储群组部署任务。
可选地,上述执行上述计算群组部署任务流对应的各个计算群组部署任务,包括:响应于上述各个计算群组部署任务中的计算群组部署任务的执行状态为执行失败,对执行状态为执行失败的计算群组部署任务进行重试执行处理;响应于上述执行状态为执行失败的计算群组部署任务的执行状态为执行成功,执行排列在上述执行状态为执行失败的计算群组部署任务后的计算群组部署任务。
可选地,在上述根据上述存储群组信息,生成存储群组部署任务流之前,上述方法还包括:对上述存储群组信息进行存储。
可选地,上述集群信息还包括集群名称;以及在上述接收数据库部署请求对应的集群信息之后,方法还包括:响应于本地不存在上述集群名称,确定上述数据库部署请求对应的数据库部署状态为部署失败。
可选地,在上述根据上述计算群组信息,生成计算群组部署任务流之前,方法还包括:对上述计算群组信息进行存储。
第二方面,本公开的一些实施例提供了一种数据库部署装置,装置包括:接收单元,被配置成接收数据库部署请求对应的集群信息,其中,上述集群信息包括存储群组信息和计算群组信息,上述计算群组信息包括计算节点数;生成单元,被配置成根据上述存储群组信息,生成存储群组部署任务流;执行单元,被配置成响应于上述计算节点数大于0,执行以下步骤:根据上述计算群组信息,生成计算群组部署任务流;执行上述存储群组部署任务流对应的各个存储群组部署任务;执行上述计算群组部署任务流对应的各个计算群组部署任务。
可选地,装置还包括:存储群组部署任务执行单元,被配置成响应于上述计算节点数等于0,执行上述存储群组部署任务流对应的各个存储群组部署任务。
可选地,上述存储群组信息包括存储资源类型、实例运行基础参数、数据库版本信息和至少一个高可用组信息。
可选地,生成单元进一步被配置成:响应于上述存储资源类型为物理机类或虚拟机类,执行以下步骤:根据上述实例运行基础参数和上述数据库版本信息,创建环境初始化任务,其中,上述环境初始化任务包括服务器参数配置子任务和数据库安装文件获取子任务;创建数据库安装任务;根据上述至少一个高可用组信息中的每个高可用组信息,依次创建主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务;将上述服务器参数配置子任务、上述数据库安装文件获取子任务、上述数据库安装任务、所创建的对应上述至少一个高可用组信息中的各个高可用组信息的主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务依次组合为存储群组部署任务流。
可选地,上述计算群组信息还包括计算资源类型。
可选地,执行单元包括:步骤执行单元、任务创建单元和任务组合单元。其中,步骤执行单元被配置成响应于上述计算资源类型为物理机类或虚拟机类,执行以下步骤:创建计算节点环境初始化任务;创建计算程序安装启动任务。任务创建单元被配置成创建元数据初始化任务和负载均衡配置任务。任务组合单元被配置成将上述计算节点环境初始化任务、上述计算程序安装启动任务、上述元数据初始化任务和上述负载均衡配置任务依次组合为计算群组部署任务流。
可选地,执行单元包括:第一重试单元和第一任务执行单元。其中,第一重试单元被配置成响应于上述各个存储群组部署任务中的存储群组部署任务的执行状态为执行失败,对执行状态为执行失败的存储群组部署任务进行重试执行处理。第一任务执行单元被配置成响应于上述执行状态为执行失败的存储群组部署任务的执行状态为执行成功,执行排列在上述执行状态为执行失败的存储群组部署任务后的存储群组部署任务。
可选地,执行单元包括:第二重试单元和第二任务执行单元。其中,第二重试单元被配置成响应于上述各个计算群组部署任务中的计算群组部署任务的执行状态为执行失败,对执行状态为执行失败的计算群组部署任务进行重试执行处理。第二任务执行单元被配置成响应于上述执行状态为执行失败的计算群组部署任务的执行状态为执行成功,执行排列在上述执行状态为执行失败的计算群组部署任务后的计算群组部署任务。
可选地,在生成单元之前,装置还包括:第一存储单元,被配置成对上述存储群组信息进行存储。
可选地,上述集群信息还包括集群名称。
可选地,在接收单元之后,装置还包括:确定单元,被配置成响应于本地不存在上述集群名称,确定上述数据库部署请求对应的数据库部署状态为部署失败。
可选地,装置还包括:第二存储单元,被配置成对上述计算群组信息进行存储。
第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面任一实现方式所描述的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现上述第一方面任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的数据库部署方法,数据库部署自动化程度有所提高,能够实现统一的自动化数据库部署。具体来说,造成数据库部署自动化程度较低以及不能实现统一的自动化数据库部署的原因在于:分布式数据库较为多样化,数据库部署自动化程度较低,且与传统的自动化部署方案耦合性较低,不能实现统一的自动化数据库部署。基于此,本公开的一些实施例的数据库部署方法,首先,接收数据库部署请求对应的集群信息。其中,上述集群信息包括存储群组信息和计算群组信息。上述计算群组信息包括计算节点数。由此,接收的集群信息所包括的存储群组信息和计算群组信息可以用于对该数据库部署请求对应的数据库进行自动化部署。然后,根据上述存储群组信息,生成存储群组部署任务流。由此,可以根据存储群组信息,预先生成部署用于存储数据的数据库的任务。之后,响应于上述计算节点数大于0,执行以下步骤:根据上述计算群组信息,生成计算群组部署任务流;执行上述存储群组部署任务流对应的各个存储群组部署任务;执行上述计算群组部署任务流对应的各个计算群组部署任务。由此,可以在计算节点数大于0时,根据存储群组信息,预先生成配置用于计算的服务器的任务。从而可以在生成计算群组部署任务流后执行部署用于存储数据的数据库的任务和配置用于计算的服务器的任务。也因为计算节点数大于0时可以表征需对分布式数据库进行部署,可以通过预先生成的配置用于计算的服务器的任务,对分布式数据库进行自动部署。又因为可以通过计算节点数确定是否需对分布式数据库进行部署以生成计算群组部署任务流,可以和原生数据库自动化部署流程相结合。由此,数据库部署自动化程度有所提高,且能够实现统一的自动化数据库部署。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是根据本公开的一些实施例的数据库部署方法的一个应用场景的示意图;
图2是根据本公开的数据库部署方法的一些实施例的流程图;
图3是根据本公开的数据库部署方法的另一些实施例的流程图;
图4是根据本公开的数据库部署方法的又一些实施例的流程图;
图5是根据本公开的数据库部署装置的一些实施例的结构示意图;
图6是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开一些实施例的数据库部署方法的一个应用场景的示意图。
在图1的应用场景中,首先,计算设备101可以接收数据库部署请求对应的集群信息102。其中,上述集群信息102包括存储群组信息103和计算群组信息104。上述计算群组信息104包括计算节点数1041。然后,计算设备101可以根据上述存储群组信息103,生成存储群组部署任务流105。之后,计算设备101可以响应于上述计算节点数1041大于0,执行以下步骤:根据上述计算群组信息104,生成计算群组部署任务流106;执行上述存储群组部署任务流105对应的各个存储群组部署任务107;执行上述计算群组部署任务流106对应的各个计算群组部署任务108。
需要说明的是,上述计算设备101可以是硬件,也可以是软件。当计算设备为硬件时,可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。当计算设备体现为软件时,可以安装在上述所列举的硬件设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的计算设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的计算设备。
继续参考图2,示出了根据本公开的数据库部署方法的一些实施例的流程200。该数据库部署方法,包括以下步骤:
步骤201,接收数据库部署请求对应的集群信息。
在一些实施例中,数据库部署方法的执行主体(例如图1所示的计算设备101)可以通过有线连接方式或者无线连接方式从用户利用其发送数据库部署请求的终端接收数据库部署请求对应的集群信息。其中,上述数据库部署请求可以为上述终端发送的请求上述执行主体根据上述集群信息进行数据库部署的指令。上述集群信息可以为上述数据库部署请求对应的用户配置的对数据库进行部署的参数相关信息。上述集群信息可以包括存储群组信息和计算群组信息。上述存储群组信息可以为部署用于存储数据的数据库的配置相关信息。上述存储群组信息可以包括但不限于:存储资源类型标记、实例部署标记、至少一个高可用存储节点信息组。上述存储资源类型标记可以表征进行部署用于存储数据的数据库的资源类型是否为kubernetes环境资源。上述实例部署标记可以表征是否在同一台服务器上部署多个数据库实例。上述高可用存储节点信息组可以为需进行部署的存储节点群组的相关信息。上述高可用存储节点信息组中的高可用存储节点信息可以包括但不限于:存储节点标识、存储节点的服务器IP地址信息(包括IP(Internet Protocol)地址、VIP(VirtualInternet Protocol)地址)和端口号、主库标记。上述高可用存储节点信息组对应存储节点群组。存储节点群组中的存储节点可以为用于存储数据的服务器上部署的数据库实例。上述存储节点标识可以为唯一表示用于存储数据的服务器上部署的数据库实例的标识。上述主库标记可以表征存储节点标识对应的数据库实例是否用于部署主库。若上述主库标记表征存储节点标识对应的数据库实例不用于部署主库,则该存储节点用于部署从库。上述计算群组信息可以为部署用于计算的服务器的配置相关信息。上述计算群组信息可以包括但不限于:计算节点数、计算资源类型标记、计算节点运行基础参数信息组。上述计算节点数可以为用于运算的节点的数量。上述计算资源类型标记可以表征进行部署的计算节点的资源类型是否为kubernetes环境资源。计算节点可以为部署在服务器上的用于进行运算的节点。上述计算节点运行基础参数信息组中的每个计算节点运行基础参数信息可以对应一个计算节点,可以包括但不限于:计算节点所需的中央处理器核数、内存空间、磁盘存储空间。上述计算节点运行基础参数信息组对应计算节点群组。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultrawideband)连接、以及其他现在已知或将来开发的无线连接方式。由此,接收的集群信息所包括的存储群组信息和计算群组信息可以用于对该数据库部署请求对应的数据库进行自动化部署。
可以理解的是,上述数据库可以为MYSQL数据库。
可选地,上述执行主体可以对上述存储群组信息进行存储。实践中,上述执行主体可以将上述存储群组信息写入本地磁盘。
可选地,上述集群信息还可以包括集群名称。上述执行主体可以响应于本地不存在上述集群名称,确定上述数据库部署请求对应的数据库部署状态为部署失败。由此,可以在本地存在集群信息包括的集群名称时才进行后续的数据库部署操作。
步骤202,根据存储群组信息,生成存储群组部署任务流。
在一些实施例中,上述执行主体可以根据上述存储群组信息,生成存储群组部署任务流。实践中,上述执行主体可以通过以下步骤生成存储群组部署任务流:
第一步,响应于上述存储资源类型标记表征进行部署用于存储数据的数据库的资源类型为kubernetes环境资源,根据上述存储群组信息包括的每个高可用存储节点信息组对应的存储节点群组,创建主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务。其中,上述主从关系建立任务可以为配置数据库的主从关系的任务。上述实例挂载任务可以为为数据库实例挂载VIP地址的任务。上述切换测试任务可以为在上述存储节点群组进行切换测试的任务。上述备份策略生成任务可以为在存储节点群组中选择一个作为从库的存储节点进行备份数据的任务。例如,上述备份策略生成任务可以为从异机房作为从库的存储节点中选择主库与从库间同步延迟时长最小的存储节点进行备份的任务。上述异机房为与主库的机房相异的机房。
第二步,将所创建的主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务依次组合为存储群组部署任务流。作为示例,若上述存储群组信息包括两个高可用存储节点信息组,第1个高可用存储节点信息组对应创建的主从关系建立任务“01”、实例挂载任务“02”、切换测试任务“03”和备份策略生成任务“04”。第2个高可用存储节点信息组对应创建的主从关系建立任务“05”、实例挂载任务“06”、切换测试任务“07”和备份策略生成任务“08”。其中,“01”到“08”分别为存储群组部署任务的任务标识。则组合的存储群组部署任务流为:主从关系建立任务“01”—实例挂载任务“02”—切换测试任务“03”—备份策略生成任务“04”—主从关系建立任务“05”—实例挂载任务“06”—切换测试任务“07”—备份策略生成任务“08”。
由此,可以根据存储群组信息,预先生成部署用于存储数据的数据库的任务。
步骤203,响应于计算节点数大于0,执行以下步骤:
步骤2031,根据计算群组信息,生成计算群组部署任务流。
在一些实施例中,上述执行主体可以根据上述计算群组信息,生成计算群组部署任务流。其中,上述计算节点数大于0可以表征需对分布式数据库进行部署。实践中,上述执行主体可以通过以下步骤,生成计算群组部署任务流:
第一步,响应于上述计算资源类型标记表征进行部署的用于作为计算节点的数据库的资源类型为kubernetes环境资源,创建元数据初始化任务和负载均衡配置任务。其中,在步骤2031之前,上述执行主体可以响应于上述计算资源类型标记表征进行部署的用于作为计算节点的数据库的资源类型为kubernetes环境资源,根据上述计算节点运行基础参数信息组,预先为计算节点群组分配部署资源。例如,首先,将上述计算节点数确定为pod副本数。然后,可以根据上述计算节点运行基础参数信息组中每个计算节点运行基础参数信息包括的计算节点所需的中央处理器核数、内存空间、磁盘存储空间,确定满足上述计算节点所需的中央处理器核数、内存空间和磁盘存储空间的服务器的IP地址、端口号和VIP地址。上述元数据初始化任务可以为写入计算节点群组所需的元数据信息的任务。上述负载均衡配置任务可以为为计算节点群组配置负载均衡的任务。上述元数据信息可以包括但不限于:所属集群标识,pod副本数,计算软件的版本和名称,任务流标识,上述集群信息,任务创建时间,每一计算节点的VIP类型。上述所属集群标识可以唯一标识所属集群。上述计算软件可以为用于计算的软件。例如,计算软件可以为“proxy”。上述任务流标识可以为当前所要生成的计算群组部署任务流的标识。例如,任务流标识可以为任务流ID。上述任务创建时间可以为开始创建计算群组部署任务流中的计算群组部署任务的时间,例如,创建元数据初始化任务的时间。上述VIP类型可以表征对应的计算节点是否为负载均衡设备。
第二步,将上述元数据初始化任务和上述负载均衡配置任务依次组合为计算群组部署任务流。作为示例,上述元数据初始化任务可以为元数据初始化任务“01”。上述负载均衡配置任务可以为负载均衡配置任务“02”。组合得到的计算群组部署任务流可以为:元数据初始化任务“01”—负载均衡配置任务“02”。其中,“01”、“02”分别为计算群组部署任务的任务标识。
第三步,将上述计算群组部署任务流注册至分布式调度服务组件。
可选地,在步骤2031之前,上述执行主体可以对上述计算群组信息进行存储。实践中,上述执行主体可以将上述计算群组信息写入本地磁盘。
步骤2032,执行存储群组部署任务流对应的各个存储群组部署任务。
在一些实施例中,上述执行主体可以执行上述存储群组部署任务流对应的各个存储群组部署任务。实践中,上述执行主体可以将上述存储群组部署任务流注册至分布式调度服务组件,通过接收的上述分布式调度服务组件发送的存储群组部署任务执行信息,执行对应上述存储群组部署任务执行信息的存储群组部署任务。其中,上述分布式调度服务组件可以为能够编排任务形成完整的任务流,并且按照任务流的顺序发送任务执行信息的组件。上述存储群组部署任务执行信息可以为表征需执行该存储群组部署任务执行信息对应的存储群组部署任务的信息。
在一些实施例的一些可选的实现方式中,首先,上述执行主体可以响应于上述各个存储群组部署任务中的存储群组部署任务的执行状态为执行失败,对执行状态为执行失败的存储群组部署任务进行重试执行处理。其中,上述存储群组部署任务的执行状态可以表征存储群组部署任务是否成功执行。然后,可以响应于上述执行状态为执行失败的存储群组部署任务的执行状态为执行成功,执行上述各个存储群组部署任务中排列在上述执行状态为执行失败的存储群组部署任务后的存储群组部署任务。由此,可以在当前存储群组部署任务执行失败后,重试当前存储群组部署任务,并在当前存储群组部署任务执行成功后依次执行当前存储群组部署任务后的存储群组部署任务。
步骤2033,执行计算群组部署任务流对应的各个计算群组部署任务。
在一些实施例中,上述执行主体可以执行上述计算群组部署任务流对应的各个计算群组部署任务。实践中,上述执行主体可以将上述计算群组部署任务流注册至分布式调度服务组件,通过接收的上述分布式调度服务组件发送的计算群组部署任务执行信息,执行对应上述计算群组部署任务执行信息的计算群组部署任务。其中,上述计算群组部署任务执行信息可以为表征需执行该计算群组部署任务执行信息对应的计算群组部署任务的信息。
在一些实施例的一些可选的实现方式中,首先,上述执行主体可以响应于上述各个计算群组部署任务中的计算群组部署任务的执行状态为执行失败,对执行状态为执行失败的计算群组部署任务进行重试执行处理。其中,上述计算群组部署任务的执行状态可以表征计算群组部署任务是否成功执行。然后,可以响应于上述执行状态为执行失败的计算群组部署任务的执行状态为执行成功,执行上述各个存储群组部署任务中排列在上述执行状态为执行失败的计算群组部署任务后的计算群组部署任务。由此,可以在当前计算群组部署任务执行失败后,重试当前计算群组部署任务,并在当前计算群组部署任务执行成功后依次执行当前计算群组部署任务后的计算群组部署任务。
由此,可以在计算节点数大于0时,根据存储群组信息,预先生成配置用于计算的服务器的任务。从而可以在生成计算群组部署任务流后执行部署用于存储数据的数据库的任务和配置用于计算的服务器的任务。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的数据库部署方法,数据库部署自动化程度有所提高,能够实现统一的自动化数据库部署。具体来说,造成数据库部署自动化程度较低以及不能实现统一的自动化数据库部署的原因在于:分布式数据库较为多样化,数据库部署自动化程度较低,且与传统的自动化部署方案耦合性较低,不能实现统一的自动化数据库部署。基于此,本公开的一些实施例的数据库部署方法,首先,接收数据库部署请求对应的集群信息。其中,上述集群信息包括存储群组信息和计算群组信息。上述计算群组信息包括计算节点数。由此,接收的集群信息所包括的存储群组信息和计算群组信息可以用于对该数据库部署请求对应的数据库进行自动化部署。然后,根据上述存储群组信息,生成存储群组部署任务流。由此,可以根据存储群组信息,预先生成部署用于存储数据的数据库的任务。之后,响应于上述计算节点数大于0,执行以下步骤:根据上述计算群组信息,生成计算群组部署任务流;执行上述存储群组部署任务流对应的各个存储群组部署任务;执行上述计算群组部署任务流对应的各个计算群组部署任务。由此,可以在计算节点数大于0时,根据存储群组信息,预先生成配置用于计算的服务器的任务。从而可以在生成计算群组部署任务流后执行部署用于存储数据的数据库的任务和配置用于计算的服务器的任务。也因为计算节点数大于0时可以表征需对分布式数据库进行部署,可以通过预先生成的配置用于计算的服务器的任务,对分布式数据库进行自动部署。又因为可以通过计算节点数确定是否需对分布式数据库进行部署以生成计算群组部署任务流,可以和原生数据库自动化部署流程相结合。由此,数据库部署自动化程度有所提高,且能够实现统一的自动化数据库部署。
进一步参考图3,其示出了数据库部署方法的另一些实施例的流程300。该数据库部署方法的流程300,包括以下步骤:
步骤301,接收数据库部署请求对应的集群信息。
步骤302,根据存储群组信息,生成存储群组部署任务流。
步骤303,响应于计算节点数大于0,执行以下步骤:
步骤3031,根据计算群组信息,生成计算群组部署任务流。
步骤3032,执行存储群组部署任务流对应的各个存储群组部署任务。
步骤3033,执行计算群组部署任务流对应的各个计算群组部署任务。
在一些实施例中,步骤301-303的具体实现及所带来的技术效果可以参考图2对应的那些实施例中的步骤201-203,在此不再赘述。
步骤304,响应于计算节点数等于0,执行存储群组部署任务流对应的各个存储群组部署任务。
在一些实施例中,数据库部署方法的执行主体(例如图1所示的计算设备101)可以响应于上述计算节点数等于0,执行上述存储群组部署任务流对应的各个存储群组部署任务。其中,上述计算节点数为0时,表征需对原生数据库进行部署。由此,可以在计算节点数为0时,直接对原生数据库进行部署。
从图3中可以看出,与图2对应的一些实施例的描述相比,图3对应的一些实施例中的数据库部署方法的流程300体现了对计算节点数等于0时所扩展的步骤。由此,这些实施例描述的方案可以在计算节点数为0时,直接对原生数据库进行部署。
进一步参考图4,其示出了数据库部署方法的又一些实施例的流程400。该数据库部署方法的流程400,包括以下步骤:
步骤401,接收数据库部署请求对应的集群信息。
在一些实施例中,数据库部署方法的执行主体(例如图1所示的计算设备101)可以通过有线连接方式或者无线连接方式从用户利用其发送数据库部署请求的终端接收数据库部署请求对应的集群信息。其中,上述集群信息可以包括存储群组信息和计算群组信息。上述存储群组信息可以包括但不限于:存储资源类型、实例运行基础参数、数据库版本信息和至少一个高可用组信息。其中,上述存储资源类型可以为需部署用于存储数据的数据库的资源的类型。上述存储资源类型可以包括但不限于以下中的一项:物理机类,虚拟机类,kubernetes类。上述实例运行基础参数可以为数据库实例在服务器运行的基础参数,可以包括但不限于:中央处理器核数、内存空间、磁盘存储空间。上述数据库版本信息可以为需要部署的数据库的版本相关信息,可以包括数据库的版本号。上述高可用组信息可以为需进行部署的存储节点群组的相关信息,可以包括但不限于:存储节点标识组、对应上述存储节点标识组的地址信息组和端口号组、主库存储节点标识组、从库存储节点标识组。上述地址信息组中的地址信息和上述端口号组中的端口号一一对应于上述存储节点标识组中的存储节点标识。上述地址信息可以包括部署上述存储节点标识对应的存储节点的服务器的IP地址和VIP地址。上述端口号可以为部署上述存储节点标识对应的存储节点的服务器的端口号。上述主库存储节点标识组中的主库存储节点标识可以为用于部署主库的存储节点的标识。上述从库存储节点标识组中的从库存储节点标识可以为用于部署从库的存储节点的标识。上述计算群组信息可以包括但不限于:计算节点数、计算资源类型。上述计算资源类型可以为需部署的计算节点的资源的类型。上述计算资源类型可以包括但不限于以下中的一项:物理机类,虚拟机类,kubernetes类。
步骤402,响应于存储资源类型为物理机类或虚拟机类,执行以下步骤:
步骤4021,根据实例运行基础参数和数据库版本信息,创建环境初始化任务。
在一些实施例中,上述执行主体可以根据上述实例运行基础参数和上述数据库版本信息,创建环境初始化任务。其中,上述环境初始化任务可以为对用于部署存储数据的数据库的服务器的初始环境进行配置的任务,可以包括但不限于:服务器参数配置子任务和数据库安装文件获取子任务。上述服务器参数配置子任务可以为根据上述实例运行基础参数,对用于部署存储数据的数据库的服务器的参数进行配置的任务。上述服务器的参数可以包括但不限于:缓冲池大小、读写线程个数、打开文件最大限量、并行复制线程数、最大连接(用户)数。例如,内存空间小于等于8G时,缓冲池大小可以为内存空间的0.25倍。内存空间大于8G且小于等于64G时,缓冲池大小可以为内存空间的0.5倍。内存空间大于64G时,缓冲池大小可以为内存空间的0.65倍。中央处理器核数小于等于8时,读写线程个数为2。中央处理器核数大于8且小于等于16时,读写线程个数为4。中央处理器核数大于16时,读写线程个数为8。内存空间小于等于8G时,打开文件最大限量可以为3000。内存空间大于8G且小于等于16G时,打开文件最大限量可以为6000。内存空间大于16G时,打开文件最大限量可以为64000。中央处理器核数小于等于8时,并行复制线程数可以为8。中央处理器核数大于8时,并行复制线程数可以为16。最大连接(用户)数可以默认为80。上述数据库安装文件获取子任务可以为根据上述数据库版本信息,获取用于部署存储数据的数据库的安装文件的任务。
作为示例,上述服务器参数配置子任务可以为服务器参数配置子任务“C01”。上述数据库安装文件获取子任务可以为数据库安装文件获取子任务“C02”。其中,“C01”和“C02”分别为存储群组部署任务的任务标识。
步骤4022,创建数据库安装任务。
在一些实施例中,上述执行主体可以创建数据库安装任务。其中,上述数据库安装任务可以为安装获取到的数据库安装文件,并启动实例的任务。
步骤403,根据至少一个高可用组信息中的每个高可用组信息,依次创建主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务。
在一些实施例中,上述执行主体可以根据上述高可用组信息,创建主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务。其中,上述主从关系建立任务可以为配置数据库的主从关系的任务。上述实例挂载任务可以为为数据库实例挂载VIP地址的任务。上述切换测试任务可以为在上述存储节点群组进行切换测试的任务。上述备份策略生成任务可以为在存储节点群组中选择一个作为从库的存储节点作为备份数据库节点进行备份的任务。例如,上述备份策略生成任务可以为从异机房作为从库的存储节点中选择主库与从库间同步延迟时长最小的存储节点进行备份数据的任务。上述异机房为与主库的机房相异的机房。
作为示例,若上述存储群组信息包括两个高可用组信息,第1个高可用组信息对应创建的主从关系建立任务“C03”、实例挂载任务“C04”、切换测试任务“C05”和备份策略生成任务“C06”。第2个高可用组信息对应创建的主从关系建立任务“C07”、实例挂载任务“C08”、切换测试任务“C09”和备份策略生成任务“C10”。其中,“C03”到“C10”分别为存储群组部署任务的任务标识。
步骤404,将服务器参数配置子任务、数据库安装文件获取子任务、数据库安装任务、所创建的对应至少一个高可用组信息中的各个高可用组信息的主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务依次组合为存储群组部署任务流。
在一些实施例中,上述执行主体可以将上述服务器参数配置子任务、上述数据库安装文件获取子任务、所创建的对应上述至少一个高可用组信息中的各个高可用组信息的主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务依次组合为存储群组部署任务流。
作为示例,组合的存储群组部署任务流可以为:服务器参数配置子任务“C01”—数据库安装文件获取子任务“C02”—主从关系建立任务“C03”—实例挂载任务“C04”—切换测试任务“C05”—备份策略生成任务“C06”—主从关系建立任务“C07”—实例挂载任务“C08”—切换测试任务“C09”—备份策略生成任务“C10”。
步骤405,响应于计算节点数大于0,执行以下步骤:
步骤4051,响应于计算资源类型为物理机类或虚拟机类,执行以下步骤:
步骤40511,创建计算节点环境初始化任务。
在一些实施例中,上述执行主体可以根据上述计算节点运行基础参数信息组,创建计算节点环境初始化任务。其中,上述计算节点环境初始化任务可以为配置计算节点群组中各个计算节点运行的环境变量的任务。例如,上述计算节点环境初始化任务可以包括检测计算节点群组中每个计算节点是否有Java环境和Java版本,若无则安装JDK(JavaDevelopment Kit,Java开发工具包)的任务。
步骤40512,创建计算程序安装启动任务。
在一些实施例中,上述执行主体可以创建计算程序安装启动任务。其中,上述计算程序安装启动任务可以为安装各个计算节点的计算程序以及启动计算程序的任务。例如,上述计算程序可以为“proxy”。
步骤4052,创建元数据初始化任务和负载均衡配置任务。
在一些实施例中,步骤4052的具体实现及所带来的技术效果可以参考图2对应的那些实施例中的步骤2031,在此不再赘述。
步骤4053,将计算节点环境初始化任务、计算程序安装启动任务、元数据初始化任务和负载均衡配置任务依次组合为计算群组部署任务流。
在一些实施例中,上述执行主体可以将上述计算节点环境初始化任务、上述计算程序安装启动任务、上述元数据初始化任务和上述负载均衡配置任务依次组合为计算群组部署任务流。
作为示例,上述计算节点环境初始化任务可以为计算节点环境初始化任务“J01”。上述计算程序安装启动任务可以为计算程序安装启动任务“J02”。上述元数据初始化任务可以为元数据初始化任务“J03”。上述负载均衡配置任务可以为负载均衡配置任务“J04”。组合后的计算群组部署任务流可以为:计算节点环境初始化任务“J01”—计算程序安装启动任务“J02”—元数据初始化任务“J03”—负载均衡配置任务“J04”。其中“J01”到“J04”分别为计算群组部署任务的任务标识。
步骤4054,执行存储群组部署任务流对应的各个存储群组部署任务。
步骤4055,执行计算群组部署任务流对应的各个计算群组部署任务。
在一些实施例中,步骤4054-4055的具体实现及所带来的技术效果可以参考图2对应的那些实施例中的步骤2032-2033,在此不再赘述。
从图4中可以看出,与图2对应的一些实施例的描述相比,图4对应的一些实施例中的数据库部署方法的流程400体现了对物理机类或虚拟机类的资源类型的数据库部署进行扩展的步骤。由此,这些实施例描述的方案可以使得数据库部署兼容多种资源形态,如物理机,虚拟机和Kubernetes环境。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种数据库部署装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,一些实施例的数据库部署装置500包括:接收单元501、生成单元502和执行单元503。其中,接收单元501被配置成接收数据库部署请求对应的集群信息,其中,上述集群信息包括存储群组信息和计算群组信息,上述计算群组信息包括计算节点数;生成单元502被配置成根据上述存储群组信息,生成存储群组部署任务流;执行单元503被配置成响应于上述计算节点数大于0,执行以下步骤:根据上述计算群组信息,生成计算群组部署任务流;执行上述存储群组部署任务流对应的各个存储群组部署任务;执行上述计算群组部署任务流对应的各个计算群组部署任务。
可选地,数据库部署装置500还可以包括:存储群组部署任务执行单元(图中未示出),被配置成响应于上述计算节点数等于0,执行上述存储群组部署任务流对应的各个存储群组部署任务。
可选地,上述存储群组信息包括存储资源类型、实例运行基础参数、数据库版本信息和至少一个高可用组信息。
可选地,生成单元502可以进一步被配置成:响应于上述存储资源类型为物理机类或虚拟机类,执行以下步骤:根据上述实例运行基础参数和上述数据库版本信息,创建环境初始化任务,其中,上述环境初始化任务包括服务器参数配置子任务和数据库安装文件获取子任务;创建数据库安装任务;根据上述至少一个高可用组信息中的每个高可用组信息,依次创建主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务;将上述服务器参数配置子任务、上述数据库安装文件获取子任务、上述数据库安装任务、所创建的对应上述至少一个高可用组信息中的各个高可用组信息的主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务依次组合为存储群组部署任务流。
可选地,上述计算群组信息还包括计算资源类型。
可选地,执行单元503可以包括:步骤执行单元、任务创建单元和任务组合单元(图中未示出)。其中,步骤执行单元被配置成响应于上述计算资源类型为物理机类或虚拟机类,执行以下步骤:创建计算节点环境初始化任务;创建计算程序安装启动任务。任务创建单元被配置成创建元数据初始化任务和负载均衡配置任务。任务组合单元被配置成将上述计算节点环境初始化任务、上述计算程序安装启动任务、上述元数据初始化任务和上述负载均衡配置任务依次组合为计算群组部署任务流。
可选地,执行单元503可以包括:第一重试单元和第一任务执行单元(图中未示出)。其中,第一重试单元被配置成响应于上述各个存储群组部署任务中的存储群组部署任务的执行状态为执行失败,对执行状态为执行失败的存储群组部署任务进行重试执行处理。第一任务执行单元被配置成响应于上述执行状态为执行失败的存储群组部署任务的执行状态为执行成功,执行排列在上述执行状态为执行失败的存储群组部署任务后的存储群组部署任务。
可选地,执行单元503可以包括:第二重试单元和第二任务执行单元(图中未示出)。其中,第二重试单元被配置成响应于上述各个计算群组部署任务中的计算群组部署任务的执行状态为执行失败,对执行状态为执行失败的计算群组部署任务进行重试执行处理。第二任务执行单元被配置成响应于上述执行状态为执行失败的计算群组部署任务的执行状态为执行成功,执行排列在上述执行状态为执行失败的计算群组部署任务后的计算群组部署任务。
可选地,在生成单元502之前,数据库部署装置500还可以包括:第一存储单元(图中未示出),被配置成对上述存储群组信息进行存储。
可选地,上述集群信息还包括集群名称。
可选地,在接收单元501之后,数据库部署装置500还可以包括:确定单元(图中未示出),被配置成响应于本地不存在上述集群名称,确定上述数据库部署请求对应的数据库部署状态为部署失败。
可选地,数据库部署装置500还可以包括:第二存储单元(图中未示出),被配置成对上述计算群组信息进行存储。
可以理解的是,该装置500中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置500及其中包含的单元,在此不再赘述。
下面参考图6,其示出了适于用来实现本公开的一些实施例的电子设备(例如图1中的计算设备101)600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收数据库部署请求对应的集群信息,其中,上述集群信息包括存储群组信息和计算群组信息,上述计算群组信息包括计算节点数;根据上述存储群组信息,生成存储群组部署任务流;响应于上述计算节点数大于0,执行以下步骤:根据上述计算群组信息,生成计算群组部署任务流;执行上述存储群组部署任务流对应的各个存储群组部署任务;执行上述计算群组部署任务流对应的各个计算群组部署任务。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、生成单元和执行单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收数据库部署请求对应的集群信息的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种数据库部署方法,包括:
接收数据库部署请求对应的集群信息,其中,所述集群信息包括存储群组信息和计算群组信息,所述计算群组信息包括计算节点数;
根据所述存储群组信息,生成存储群组部署任务流;
响应于所述计算节点数大于0,执行以下步骤:
根据所述计算群组信息,生成计算群组部署任务流;
执行所述存储群组部署任务流对应的各个存储群组部署任务;
执行所述计算群组部署任务流对应的各个计算群组部署任务。
2.根据权利要求1所述的方法,其中,所述方法还包括:
响应于所述计算节点数等于0,执行所述存储群组部署任务流对应的各个存储群组部署任务。
3.根据权利要求1所述的方法,其中,所述存储群组信息包括存储资源类型、实例运行基础参数、数据库版本信息和至少一个高可用组信息;以及
所述根据所述存储群组信息,生成存储群组部署任务流,包括:
响应于所述存储资源类型为物理机类或虚拟机类,执行以下步骤:
根据所述实例运行基础参数和所述数据库版本信息,创建环境初始化任务,其中,所述环境初始化任务包括服务器参数配置子任务和数据库安装文件获取子任务;
创建数据库安装任务;
根据所述至少一个高可用组信息中的每个高可用组信息,依次创建主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务;
将所述服务器参数配置子任务、所述数据库安装文件获取子任务、所述数据库安装任务、所创建的对应所述至少一个高可用组信息中的各个高可用组信息的主从关系建立任务、实例挂载任务、切换测试任务和备份策略生成任务依次组合为存储群组部署任务流。
4.根据权利要求1所述的方法,其中,所述计算群组信息还包括计算资源类型;以及
所述根据所述计算群组信息,生成计算群组部署任务流,包括:
响应于所述计算资源类型为物理机类或虚拟机类,执行以下步骤:
创建计算节点环境初始化任务;
创建计算程序安装启动任务;
创建元数据初始化任务和负载均衡配置任务;
将所述计算节点环境初始化任务、所述计算程序安装启动任务、所述元数据初始化任务和所述负载均衡配置任务依次组合为计算群组部署任务流。
5.根据权利要求1或2所述的方法,其中,所述执行所述存储群组部署任务流对应的各个存储群组部署任务,包括:
响应于所述各个存储群组部署任务中的存储群组部署任务的执行状态为执行失败,对执行状态为执行失败的存储群组部署任务进行重试执行处理;
响应于所述执行状态为执行失败的存储群组部署任务的执行状态为执行成功,执行排列在所述执行状态为执行失败的存储群组部署任务后的存储群组部署任务。
6.根据权利要求1所述的方法,其中,所述执行所述计算群组部署任务流对应的各个计算群组部署任务,包括:
响应于所述各个计算群组部署任务中的计算群组部署任务的执行状态为执行失败,对执行状态为执行失败的计算群组部署任务进行重试执行处理;
响应于所述执行状态为执行失败的计算群组部署任务的执行状态为执行成功,执行排列在所述执行状态为执行失败的计算群组部署任务后的计算群组部署任务。
7.根据权利要求1或3所述方法,其中,在所述根据所述存储群组信息,生成存储群组部署任务流之前,所述方法还包括:
对所述存储群组信息进行存储。
8.根据权利要求1所述的方法,其中,所述集群信息还包括集群名称;以及
在所述接收数据库部署请求对应的集群信息之后,所述方法还包括:
响应于本地不存在所述集群名称,确定所述数据库部署请求对应的数据库部署状态为部署失败。
9.根据权利要求1或4所述方法,其中,在所述根据所述计算群组信息,生成计算群组部署任务流之前,所述方法还包括:
对所述计算群组信息进行存储。
10.一种数据库部署装置,包括:
接收单元,被配置成接收数据库部署请求对应的集群信息,其中,所述集群信息包括存储群组信息和计算群组信息,所述计算群组信息包括计算节点数;
生成单元,被配置成根据所述存储群组信息,生成存储群组部署任务流;
执行单元,被配置成响应于所述计算节点数大于0,执行以下步骤:根据所述计算群组信息,生成计算群组部署任务流;执行所述存储群组部署任务流对应的各个存储群组部署任务;执行所述计算群组部署任务流对应的各个计算群组部署任务。
11.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
CN202210127836.2A 2022-02-11 2022-02-11 数据库部署方法、装置、电子设备和计算机可读介质 Pending CN114490588A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210127836.2A CN114490588A (zh) 2022-02-11 2022-02-11 数据库部署方法、装置、电子设备和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210127836.2A CN114490588A (zh) 2022-02-11 2022-02-11 数据库部署方法、装置、电子设备和计算机可读介质

Publications (1)

Publication Number Publication Date
CN114490588A true CN114490588A (zh) 2022-05-13

Family

ID=81480160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210127836.2A Pending CN114490588A (zh) 2022-02-11 2022-02-11 数据库部署方法、装置、电子设备和计算机可读介质

Country Status (1)

Country Link
CN (1) CN114490588A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160294979A1 (en) * 2015-03-31 2016-10-06 International Business Machines Corporation Implicit coordination for deployment of computing systems using a data sharing service
CN108491422A (zh) * 2018-02-07 2018-09-04 平安健康互联网股份有限公司 数据库自动化运维管理方法、服务器及存储介质
US20190138654A1 (en) * 2017-11-09 2019-05-09 Cloudera, Inc. Design-time information based on run-time artifacts in transient cloud-based distributed computing clusters
CN111796838A (zh) * 2020-06-30 2020-10-20 中国工商银行股份有限公司 Mpp数据库自动部署方法及装置
US20200349172A1 (en) * 2019-04-30 2020-11-05 Microsoft Technology Licensing, Llc Managing code and data in multi-cluster environments
CN111984623A (zh) * 2020-08-14 2020-11-24 北京人大金仓信息技术股份有限公司 数据库集群自动化部署方法、装置、介质和电子设备
US20210182248A1 (en) * 2019-12-13 2021-06-17 Salesforce.Com, Inc. Adaptable database deployment
CN113434282A (zh) * 2021-07-20 2021-09-24 支付宝(杭州)信息技术有限公司 流计算任务的发布、输出控制方法及装置
CN113986514A (zh) * 2021-12-24 2022-01-28 飞狐信息技术(天津)有限公司 基于数据库部署的任务流控制方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160294979A1 (en) * 2015-03-31 2016-10-06 International Business Machines Corporation Implicit coordination for deployment of computing systems using a data sharing service
US20190138654A1 (en) * 2017-11-09 2019-05-09 Cloudera, Inc. Design-time information based on run-time artifacts in transient cloud-based distributed computing clusters
CN108491422A (zh) * 2018-02-07 2018-09-04 平安健康互联网股份有限公司 数据库自动化运维管理方法、服务器及存储介质
US20200349172A1 (en) * 2019-04-30 2020-11-05 Microsoft Technology Licensing, Llc Managing code and data in multi-cluster environments
US20210182248A1 (en) * 2019-12-13 2021-06-17 Salesforce.Com, Inc. Adaptable database deployment
CN111796838A (zh) * 2020-06-30 2020-10-20 中国工商银行股份有限公司 Mpp数据库自动部署方法及装置
CN111984623A (zh) * 2020-08-14 2020-11-24 北京人大金仓信息技术股份有限公司 数据库集群自动化部署方法、装置、介质和电子设备
CN113434282A (zh) * 2021-07-20 2021-09-24 支付宝(杭州)信息技术有限公司 流计算任务的发布、输出控制方法及装置
CN113986514A (zh) * 2021-12-24 2022-01-28 飞狐信息技术(天津)有限公司 基于数据库部署的任务流控制方法和装置

Similar Documents

Publication Publication Date Title
CN110262902B (zh) 信息处理方法及***、介质和计算设备
CN107800565B (zh) 巡检方法、装置、***、计算机设备和存储介质
CN111064626B (zh) 配置更新方法、装置、服务器及可读存储介质
CN114089974B (zh) 云端代码开发***、方法、装置、设备及存储介质
US12026494B2 (en) Dynamic automation of prerequisite component deployment in disconnected environments
CN113821352A (zh) 一种远程服务的调用方法和装置
CN114079615A (zh) 一种多集群环境下的应用同步方法、***、介质和电子设备
CN114035879A (zh) 页面主题色更换方法、装置、电子设备和计算机可读介质
CN113079098B (zh) 路由更新的方法、装置、设备和计算机可读介质
CN114328097A (zh) 一种文件监控方法、装置、电子设备和存储介质
CN115167874B (zh) 自动驾驶软件镜像部署方法、装置、电子设备和可读介质
CN114157658B (zh) 镜像仓库部署方法、装置、电子设备和计算机可读介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN116155978A (zh) 多注册中心适配方法、装置、电子设备及存储介质
CN114490588A (zh) 数据库部署方法、装置、电子设备和计算机可读介质
CN115996187A (zh) 路由信息处理方法、装置、路由信息交互***和路由设备
CN114398035A (zh) 利用组件提供服务的方法、装置、设备和计算机可读介质
CN112799682B (zh) 一种数据采集与处理***及其运行多版本应用的方法
CN111309367A (zh) 一种管理服务发现的方法、装置、介质和电子设备
EP3387533B1 (en) Disaster recovery of cloud resources
CN111314457B (zh) 设置虚拟私有云的方法和装置
CN114398098B (zh) 应用脚本执行方法、装置、电子设备和计算机可读介质
CN115237892B (zh) 数据迁移方法和装置
CN117857578A (zh) 兼容多场景的镜像同步方法、装置、设备及介质
CN114430364A (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