CN116467282A - 一种数据库创建方法及装置、存储介质 - Google Patents

一种数据库创建方法及装置、存储介质 Download PDF

Info

Publication number
CN116467282A
CN116467282A CN202310396333.XA CN202310396333A CN116467282A CN 116467282 A CN116467282 A CN 116467282A CN 202310396333 A CN202310396333 A CN 202310396333A CN 116467282 A CN116467282 A CN 116467282A
Authority
CN
China
Prior art keywords
storage
database
block
target database
target
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
CN202310396333.XA
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 CN202310396333.XA priority Critical patent/CN116467282A/zh
Publication of CN116467282A publication Critical patent/CN116467282A/zh
Pending legal-status Critical Current

Links

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
    • G06F16/211Schema design and management
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/23Updating
    • 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/25Integrating or interfacing systems involving database management systems
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据库创建方法及装置、存储介质,包括:在接收到目标数据库的创建指令的情况下,从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数;利用管控服务、按照数据库创建参数,在多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器;利用多个存储容器构建目标数据库。

Description

一种数据库创建方法及装置、存储介质
技术领域
本申请涉及数据库创建技术领域,尤其涉及一种数据库创建方法及装置、存储介质。
背景技术
随着云原生时代的到来,容器编排管理平台(kubernetes,K8s)的应用越来越广泛,如在数据库领域的应用,具体的在数据领域数据库容器化、数据库上云等。
相关技术中,采用K8s自定义扩展资源的方式定义(CustomResourceDefinitions,CRD),遵循K8s的运行机制以及数据库自身的要求采用operator的方式实现对数据库在K8s环境的高可用生命周期管理,由于K8s CRD只针对K8s集群内的资源,同样operator也只能管理本集群内的CRD资源,使得只能在某个K8s集群内建立数据库,如此,降低了创建的数据库的存储容量,即降低了创建的目标数据库的存储容量。
发明内容
为解决上述技术问题,本申请实施例期望提供一种数据库创建方法及装置、存储介质,能够提高创建的目标数据库的存储容量。
本申请的技术方案是这样实现的:
本申请实施例提供一种数据库创建方法,所述数据库创建方法包括:
在接收到目标数据库的创建指令的情况下,从所述创建指令中确定所述目标数据库对应的多个容器服务集群和数据库创建参数;
利用管控服务、按照所述数据库创建参数,在所述多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器;
利用所述多个存储容器构建所述目标数据库。
本申请实施例提供了一种数据库创建装置,所述装置包括:
获取单元,用于在接收到目标数据库的创建指令的情况下,从所述创建指令中确定所述目标数据库对应的多个容器服务集群和数据库创建参数;
建立单元,用于利用管控服务、按照所述数据库创建参数,在所述多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器;利用所述多个存储容器构建所述目标数据库。
本申请实施例提供了一种数据库创建装置,所述装置包括:
存储器、处理器和通信总线,所述存储器通过所述通信总线与所述处理器进行通信,所述存储器存储所述处理器可执行的数据库创建的程序,当所述数据库创建的程序被执行时,通过所述处理器执行上述所述的数据库创建方法。
本申请实施例提供了一种存储介质,其上存储有计算机程序,应用于数据库创建装置,其特征在于,该计算机程序被处理器执行时实现上述所述的数据库创建方法。
本申请实施例提供了一种数据库创建方法及装置、存储介质,数据库创建方法包括:在接收到目标数据库的创建指令的情况下,从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数;利用管控服务、按照数据库创建参数,在多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器;利用多个存储容器构建目标数据库。采用上述方法实现方案,数据库创建装置在接收到目标数据库的创建指令的情况下,利用管控服务从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数,即确定在哪些容器服务集群中建立此目标数据库以及建立该目标数据库时的创建参数;使得管控服务可以按照该数据库创建参数,在多个服务集群中的每一个服务集群中创建满足该数据库创建参数的存储容器,从而得到多个存储容器,由于多个存储容器是建立在多个容器服务集群中的,在每个容器服务集群提供的存储空间有限的情况下,利用多个容器服务集群对存储空间进行扩容;利用该多个存储容器组成了目标数据库,得到了扩容了的目标数据库,即提高了创建的目标数据库的存储容量。
附图说明
图1为本申请实施例提供的一种数据库创建方法流程图;
图2为本申请实施例提供的一种示例性的管控控制完成数据库实例的部署和主从关系状态的搭建的示意图;
图3为本申请实施例提供的一种示例性的利用管控服务和高可用服务进行数据库状态保持的结构示意图;
图4为本申请实施例提供的一种示例性的数据库创建结构示意图;
图5为本申请实施例提供的一种数据库创建装置的组成结构示意图一;
图6为本申请实施例提供的一种数据库创建装置的组成结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种数据库创建方法,一种数据库创建方法应用于数据库创建装置,图1为本申请实施例提供的一种数据库创建方法流程图,如图1所示,数据库创建方法可以包括:
S101、在接收到目标数据库的创建指令的情况下,从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数。
本申请实施例提供的一种数据库创建方法适用于在容器服务集群中创建目标数据库的场景下。
在本申请实施例中,数据库创建装置可以以各种形式来实施。例如,本申请中描述的数据库创建装置可以包括诸如手机、照相机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等装置,以及诸如数字TV、台式计算机、服务器等装置。
在本申请实施例中,数据库创建装置中包括管控服务。在接收到目标数据库的创建指令的情况下,利用管控服务从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数。
在本申请实施例中,多个容器服务集群可以为多个K8s集群,也可以为其他的可以提供存储空间的集群,具体的可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,创建指令中携带有多个容器服务集群的信息和数据创建参数,数据库创建装置可以直接从创建指令中确定出多个容器服务集群和数据创建参数。
在本申请实施例中,数据库创建参数包括在多个容器服务集群中的每一个容器服务集群中创建的存储容器的数量、多个容器服务集群中的哪些容器服务集群中创建包括主存储区块的存储容器以及包括从存储区块的存储容器、主存储区块的存储容器的数量、从存储区块的存储容器的数量等。
在本申请实施例中,数据库创建装置包括目标服务器的信息获取界面,可以通过信息获取界面接收到用户传输的目标服务器的创建指令;也可以通过信息传输接口获取到其他设备传输的目标服务器的创建指令;具体的数据库创建装置接收到目标数据库的创建指令的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
S102、利用管控服务、按照数据库创建参数,在多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器。
在本申请实施例中,数据库创建装置从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数之后,就可以利用管控服务、按照数据库创建参数,在多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器。
在本申请实施例中,在容器服务集群为K8s集群的情况下,则存储容器可以为pod。
在本申请实施例中,利用管控服务、按照数据库创建参数,在多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器的过程,包括:从数据库创建参数中,获取主存储区块的第一数量、从存储区块的第二数量、主存储区块对应的第一容器服务集群和从存储区块对应的第二容器服务集群;利用管控服务、在第一容器服务集群中,建立第一数量的第一存储容器,第一存储容器中包括主存储区块;利用管控服务、在第二容器服务集群中,建立第二数量的第二存储容器,第二存储容器中包括从存储区块;根据第一存储容器和第二存储容器,得到多个存储容器。
在本申请实施例中,第一数量的数量值可以为1,也可以为其他的数值,具体的可以根据实际情况进行确定,本申请实施例对此不作限定。第二数量的数量值为多个。
在本申请实施例中,在容器服务集群为K8s集群、存储容器为pod的情况下,存储区块可以为刀字节(DoggaByte,DB)。
需要说明的是,一个pod中包括一个DB。
在本申请实施例中,可以调用kubernetes APIServer或通过helm创建pod(包括第一存储容器和第二存储容器),也可以通过其他的方式在K8s中创建pod,具体的在K8s中创建pod的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
需要说明的是,第一存储容器为设置有主存储区块的存储容器,第二存储容器为设置有从存储区块的存储容器。
在本申请实施例中,第一存储容器和第二存储容器组成了多个存储容器。在得到多个存储容器之后,可以从数据库创建参数中,获取多个存储容器中的多个存储区块的故障重启参数为不重启(即restartPolicy:Nerver);并设置多个存储区块的故障重启参数为不重启。
在本申请实施例中,多个存储容器中的每一个存储容器中还包括主线程;数据库创建装置可以利用多个主线程分别设置主存储区块和从存储区块之间的关联关系。
在本申请实施例中,利用多个主线程分别设置主存储区块和从存储区块之间的关联关系的方式,可以为设置每一个主存储区块对应的从存储区块,以及在一个主存储区块对应有多个从存储区块的情况下,该主存储区块与这些从存储区块中的哪些从存储区块之间为强一致的关联关系等。
需要说明的是,数据库创建参数中包括主存储区块与从存储区块之间的关联关系参数,可以利用多个主线程、按照该关联关系参数分别设置主存储区块和从存储区块之间的关联关系。
示例性的,两个主存储区块(DB0、DB2)对应存在6个从存储区块(DB3、DB4、DB5、DB6、DB7、DB8),其中主存储区块与从存储区块之间的关联关系参数为主存储区块DB0对应的从存储区块为DB3、DB4,主存储区块DB1对应的从存储区块为DB5、DB6、DB7、DB8,DB0与DB3之间为强一致关联关系,DB1与DB7为强一致关联关系,则利用主线程、按照此关联关系设置主存储区块DB0对应的从存储区块有DB3、DB4,其中DB0与DB3之间为强一致关联关系;利用主线程、按照此关联关系设置主存储区块DB1对应的从存储区块为DB5、DB6、DB7、DB8,其中DB1与DB7为强一致关联关系。
在本申请实施例中,在容器服务集群为K8s集群、存储容器为pod的情况下,主线程可以为pod中的agent。
需要说明的是,pod包括agent和存储区块(DB),agent用于与管控端(管控服务)通信,通过agent,管控服务控制完成数据库实例的部署和主从关系状态的搭建,如图2所示:在接收到目标数据库的创建指令的情况下,利用管控服务从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数;从数据库创建参数中,获取主存储区块的第一数量、从存储区块的第二数量、主存储区块对应的第一容器服务集群和从存储区块对应的第二容器服务集群;利用管控服务、在第一容器服务集群(kubernetes1)中,调用kubernetes APIServer或通过helm建立第一数量的第一存储容器(pod0),第一存储容器中包括主存储区块(DB0);利用管控服务、在第二容器服务集群(kubernetes1和kubernetes2)中,调用kubernetes APIServer或通过helm创建第二数量的第二存储容器(pod1和pod2),第二存储容器中包括从存储区块(DB1和DB2);根据第一存储容器和第二存储容器,得到多个存储容器。
S103、利用多个存储容器构建目标数据库。
在本申请实施例中,数据库创建装置利用管控服务、按照数据库创建参数,在多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器之后,就可以利用多个存储容器构建目标数据库。
在本申请实施例中,数据库创建装置利用多个存储容器构建目标数据库的方式,可以为利用多个存储容器组成目标数据库。
在本申请实施例中,数据库创建装置利用多个存储容器构建目标数据库之后,在第一探活检测时间达到的情况下,利用高可用服务对多个存储容器中的多个存储区块进行探活检测,得到多个探活结果;在多个探活结果中的第一探活结果为不具有活性的情况下,确定第一探活结果对应的第一存储区块;在第一存储区块为至少一个主存储区块中的存储区块的情况下,在多个存储区块中的多个从存储区块中确定第二存储区块;建立第三存储区块;并利用第三存储区块和第二存储区块更新目标数据库,得到更新后的目标数据库。
在本申请实施例中,数据库创建装置中还包括高可用服务。
需要说明的是,第一探活结果为多个探活结果中的部分探活结果;第一探活结果为第一存储区块的探活结果,第一存储区块为主存储区块中的部分存储区块。
需要说明的是,多个从存储区块的数量为第二数量,至少一个主存储区块的数量为第一数量,多个从存储区块和至少一个主存储区块组成了多个存储区块,第二存储区块为多个从存储区块中的任一个存储区块。
在本申请实施例中,第一探活检测时间可以为数据库创建装置中配置的时间点,也可以为其他设备传输至数据库创建装置中的时间点;具体的得到第一探活检测时间的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,每隔预设时间段可以设置一个第一探活检测时间,其中,预设时间段的时间长度可以为5秒,也可以为1秒,还可以为其他的时间长度,具体的可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,在多个探活结果中的第一探活结果为具有活性的情况下,等待下一个第一探活检测时间,以在下一个第一探活检测时间到达时,再次利用高可用服务对多个存储容器中的多个存储区块进行探活检测。
在本申请实施例中,在多个存储区块中的多个从存储区块中确定第二存储区块的方式,可以为管控服务优先从多个从存储区块中选择与第一存储区块同机房、同网段的、且主从复制延迟小的存储区块作为第二存储区块。在多个从存储区块中不存在与第一存储区块同一优先级的、且与第一存储区块同机房、同网段的、且主从复制延迟小的存储区块的情况下,还可以降低优先级,然后再多个从存储区块中选择与第一存储区块同机房、同网段的、且主从复制延迟小的存储区块作为第二存储区块。
在本申请实施例中,建立第三存储区块的过程,可以为调用kubernetesAPIServer或通过helm建立第三存储区块(DB),也可以利用其它的方式建立第三存储区块;具体的可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,数据库创建装置利用第三存储区块和第二存储区块更新目标数据库,得到更新后的目标数据库的过程,包括:利用第二存储区块更新至少一个主存储区块,得到至少一个更新后的主存储区块;删除第一存储区块,并获取第一存储区块对应的备份存储信息;将备份存储信息添加至第三存储区块中,得到第四存储区块;利用第四存储区块更新多个从存储区块,得到多个更新后的从存储区块;利用至少一个更新后的主存储区块和多个更新后的从存储区块更新目标数据库,得到更新后的目标数据库。
在本申请实施例中,利用第二存储区块更新至少一个主存储区块,得到至少一个更新后的主存储区块的过程,可以为在主存储区块的数量为一个的情况下,将该第二存储区块作为主存储区块,得到至少一个更新后的主存储区块;在主存储区块的数量为两个或者两个以上的情况下,将该第二存储区块添加至至少一个主存储区块中,得到至少一个更新后的主存储区块。
在本申请实施例中,第一存储区块为主存储区块,存在与之具有强一致关联关系的目标从存储区块;获取第一存储区块对应的备份存储信息的过程,可以为从该目标从存储区块中获取第一存储区块对应的备份存储信息。
在本申请实施例中,利用第四存储区块更新多个从存储区块,得到多个更新后的从存储区块的过程,可以为将第四存储区块添加至多个从存储区中,得到多个更新后的从存储区块。
在本申请实施例中,数据库创建装置确定第一探活结果对应的第一存储区块之后,在第一存储区块为多个从存储区块中的存储区块的情况下,检测第一存储区块与至少一个主存储区块之间的关联关系;在第一存储区块与至少一个主存储区块中的目标存储区块之间为非强一致关联关系的情况下,删除第一存储区块,并建立第三存储区块;获取第一存储区块对应的备份存储信息,并将备份存储信息添加至第三存储区块中,得到第四存储区块;利用第四存储区块更新目标数据库中的多个从存储区块,得到更新后的目标数据库。
需要说明的是,目标存储区块为至少一个主存储区块中的任一个存储区块。其中,在主存储区块的数量为一个的情况下,目标存储区块就是第一存储区块,在主存储区块的数量为两个或者两个以上的情况下,目标存储区块可能与第一存储区块为同一个存储区块,目标存储区块也可能与第一存储区块为两个存储区块。
在本申请实施例中,检测第一存储区块与至少一个主存储区块之间的关联关系的方式为现有技术,即可以利用现有技术中的方式检测第一存储区块与至少一个主存储区块之间的关联关系,具体的实施过程本申请实施例在此不作限定。
在本申请实施例中,数据库创建装置检测第一存储区块与至少一个主存储区块之间的关联关系之后,删除第一存储区块之前,在第一存储区块与目标存储区块之间为强一致关联关系的情况下,对目标存储区块的读写操作进行降级处理,得到降级后的目标存储区块;相应的,利用第四存储区块更新目标数据库中的多个从存储区块,得到更新后的目标数据库的过程,包括:利用第四存储区块和目标存储区块更新目标数据库,得到更新后的目标数据库。
在本申请实施例中,对目标存储区块的读写操作进行降级处理的方式为现有技术中的方式,具体的实施方式本申请实施例在此不作限定。
在本申请实施例中,数据库创建装置利用多个存储容器构建目标数据库之后,在第二探活检测时间达到的情况下,利用高可用服务对目标数据库进行探活检测,得到目标数据库的探活结果;在目标数据库的探活结果标识目标数据库不具有活性的情况下,对目标数据库执行故障转移操作,并根据目标数据库中的存储信息建立新的目标数据库;在目标数据库的探活结果标识目标数据库具有活性的情况下,等待下一个第二探活检测时间,以在下一个第二探活检测时间到达时,再次对目标数据库进行探活检测。
在本申请实施例中,第二探活检测时间可以为数据库创建装置中配置的时间点,也可以为其他设备传输至数据库创建装置中的时间点;具体的得到第二探活检测时间的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,每隔预设时间段可以设置一个第三探活检测时间。
在本申请实施例中,利用高可用服务对目标数据库进行探活检测的方式,可以为利用高可用服务对目标数据库的数据库端口进行检测,或者是连接该目标数据库等,还可以通过其他的方式对目标数据库进行探活检测,具体的可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,对目标数据库执行故障转移操作,并根据目标数据库中的存储信息建立新的目标数据库的方式,可以为建立第一数据库;获取该目标数据库中的存储信息,并将目标数据库中的存储信息添加至该第一数据库中,得到新的目标数据库;删除该目标数据库。
在本申请实施例中,数据库创建装置利用多个存储容器构建目标数据库之后,在第三探活检测时间达到的情况下,利用高可用服务对目标数据库可用性进行探活检测,得到可用性的探活结果;在可用性的探活结果标识目标数据库可用性不具有活性的情况下,生成告警信息并输出;在探活结果标识目标数据库可用性具有活性的情况下,等待下一个第三探活检测时间,以在下一个第三探活检测时间到达时,再次对目标数据库可用性进行探活检测。
在本申请实施例中,告警信息可以为字符信息,告警信息也可以为语音信息,告警信息还可以为图像信息,告警信息还可以为其他形式的信息,具体的可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,第三探活检测时间可以为数据库创建装置中配置的时间点,也可以为其他设备传输至数据库创建装置中的时间点;具体的得到第三探活检测时间的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,每隔预设时间段可以设置一个第三探活检测时间。
在本申请实施例中,利用高可用服务对目标数据库可用性进行探活检测的方式,可以为利用高可用服务对该目标数据库执行查询操作,还可以通过其他的方式对目标数据库可用性进行探活检测,具体的可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,如图3所示:利用管控服务、在第一容器服务集群(kubernetes1)中,调用kubernetes APIServer或通过helm建立第一数量的第一存储容器(pod0),第一存储容器中包括主存储区块(DB0);利用管控服务、在第二容器服务集群(kubernetes1和kubernetes2)中,调用kubernetes APIServer或通过helm创建第二数量的第二存储容器(pod1和pod2),第二存储容器中包括从存储区块(DB1和DB2);根据第一存储容器和第二存储容器,得到多个存储容器之后,高可用服务每隔数秒对数据库进行pod存活性,数据库存活性,数据库可用性等多个维度的探活(监听pod、数据库、数据库可用性等维度的存活性),探活结果上报给管控服务,统一分析,若pod0宕机,由于之前创建资源时设置的pod参数restartPolicy为Never,pod不会自动恢复,管控端判断出pod0宕机。若DB0为主库,则管控服务会从该高可用组的其他从实例中选出新主库,然后通过高可用服务进行failover操作,保证数据库的高可用,完成failover(故障转移操作)后,管控端发起请求销毁pod0,利用高可用服务执行销毁操作,然后重建pod0,通过agent重新部署数据库实例,然后从该高可用组的备份集中拉去备份恢复DB0,然后讲健康的DB0作为从库重新加入到该高可用组中。若DB0为从库,则会检验主从同步是否为强一致,如为强一致,首先进行降级操作来保证主库的可用性,然后销毁pod0,重建pod0,通过agent重新部署数据库实例,然后从该高可用组的备份集中拉去备份恢复DB0,然后讲健康的DB0作为从库重新加入到该高可用组中。
在本申请实施例中,数据库创建装置利用多个存储容器构建目标数据库之后,在接收到对目标数据库的销毁指令的情况下,在多个容器服务集群中,删除多个存储容器。
在本申请实施例中,在接收到对目标数据库的销毁指令的情况下,利用管控服务通过kubernetes APIServer或者helm发起销毁pod资源(多个存储容器)请求,以完成资源的回收再利用。
示例性的,如图4所示:在数据库创建装置接收到目标数据库的创建指令的情况下,利用管控服务从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数;利用管控服务通过kubernetes APIServer或者helm方式、按照数据库创建参数,在多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器;利用多个存储容器构建目标数据库。之后,利用高可用服务对多个存储容器中的多个存储区块进行探活检测、对对目标数据库进行探活检测、对目标数据库可用性进行探活检测,通过集中式的数据库管控服务,实现跨kubernetes集群数据库的生命周期管理,能够使同一高可用组下的不同角色的实例分布在不同的kubernetes集群中并且实现保证数据库一致性,实现完整的数据库生命周期管理。
需要说明的是,在数据库异地容灾方面,实现在底层kubernetes集群非跨机房部署的并且每套kubernetes集群只在同一机房部署的情况下,能够完成数据库层面的异地容灾,支持同一高可用组的数据库实例分布在不同的机房,并且完成生命周期管理。
可以理解的是,数据库创建装置在接收到目标数据库的创建指令的情况下,利用管控服务从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数,即确定在哪些容器服务集群中建立此目标数据库以及建立该目标数据库时的创建参数;使得管控服务可以按照该数据库创建参数,在多个服务集群中的每一个服务集群中创建满足该数据库创建参数的存储容器,从而得到多个存储容器,由于多个存储容器是建立在多个容器服务集群中的,在每个容器服务集群提供的存储空间有限的情况下,利用多个容器服务集群对存储空间进行扩容;利用该多个存储容器组成了目标数据库,得到了扩容了的目标数据库,即提高了创建的目标数据库的存储容量。
基于与上述数据库创建方法的同一发明构思,本申请实施例提供了一种数据库创建装置1,对应于一种数据库创建方法;图5为本申请实施例提供的一种数据库创建装置的组成结构示意图一,该数据库创建装置1可以包括:
获取单元11,用于在接收到目标数据库的创建指令的情况下,从所述创建指令中确定所述目标数据库对应的多个容器服务集群和数据库创建参数;
建立单元12,用于利用管控服务、按照所述数据库创建参数,在所述多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器;利用所述多个存储容器构建所述目标数据库。
在本申请的一些实施例中,所述获取单元11,用于从所述数据库创建参数中,获取主存储区块的第一数量、从存储区块的第二数量、主存储区块对应的第一容器服务集群和从存储区块对应的第二容器服务集群;
所述建立单元12,用于利用管控服务、在所述第一容器服务集群中,建立第一数量的第一存储容器,所述第一存储容器中包括主存储区块;利用管控服务、在所述第二容器服务集群中,建立第二数量的第二存储容器,所述第二存储容器中包括从存储区块;根据所述第一存储容器和所述第二存储容器,得到所述多个存储容器。
在本申请的一些实施例中,所述多个存储容器中的每一个存储容器中还包括主线程;所述装置还包括设置单元;
所述设置单元,用于利用多个主线程分别设置所述主存储区块和所述从存储区块之间的关联关系。
在本申请的一些实施例中,所述装置还包括检测单元、确定单元和更新单元;
所述检测单元,用于在第一探活检测时间达到的情况下,利用高可用服务对所述多个存储容器中的多个存储区块进行探活检测,得到多个探活结果;
所述确定单元,用于在所述多个探活结果中的第一探活结果为不具有活性的情况下,确定所述第一探活结果对应的第一存储区块;所述第一探活结果为所述多个探活结果中的部分探活结果;所述第一探活结果为所述第一存储区块的探活结果;在所述第一存储区块为至少一个主存储区块中的存储区块的情况下,在所述多个存储区块中的多个从存储区块中确定第二存储区块;所述多个从存储区块的数量为第二数量,所述至少一个主存储区块的数量为第一数量,所述多个从存储区块和至少一个主存储区块组成了多个存储区块,所述第二存储区块为所述多个从存储区块中的任一个存储区块;
所述建立单元12,用于建立第三存储区块;
所述更新单元,用于利用所述第三存储区块和所述第二存储区块更新所述目标数据库,得到更新后的目标数据库。
在本申请的一些实施例中,所述装置还包括删除单元和添加单元;
所述更新单元,用于利用所述第二存储区块更新所述至少一个主存储区块,得到至少一个更新后的主存储区块;利用所述第四存储区块更新所述多个从存储区块,得到多个更新后的从存储区块;利用所述至少一个更新后的主存储区块和所述多个更新后的从存储区块更新所述目标数据库,得到更新后的目标数据库;
所述删除单元,用于删除所述第一存储区块;
所述获取单元11,用于获取所述第一存储区块对应的备份存储信息;
所述添加单元,用于将所述备份存储信息添加至所述第三存储区块中,得到第四存储区块。
在本申请的一些实施例中,所述检测单元,用于在所述第一存储区块为多个从存储区块中的存储区块的情况下,检测所述第一存储区块与所述至少一个主存储区块之间的关联关系;
所述删除单元,用于在所述第一存储区块与所述至少一个主存储区块中的目标存储区块之间为非强一致关联关系的情况下,删除所述第一存储区块;所述目标存储区块为所述至少一个主存储区块中的任一个存储区块;
所述建立单元12,用于建立第三存储区块;
所述获取单元11,用于获取所述第一存储区块对应的备份存储信息,并将所述备份存储信息添加至所述第三存储区块中,得到第四存储区块;
所述更新单元,用于利用所述第四存储区块更新所述目标数据库中的多个从存储区块,得到更新后的目标数据库。
在本申请的一些实施例中,所述装置还包括处理单元;
所述处理单元,用于在所述第一存储区块与所述目标存储区块之间为强一致关联关系的情况下,对所述目标存储区块的读写操作进行降级处理,得到降级后的目标存储区块;
相应的,所述更新单元,用于利用所述第四存储区块和所述目标存储区块更新所述目标数据库,得到所述更新后的目标数据库。
在本申请的一些实施例中,所述装置还包括执行单元和等待单元;
所述检测单元,用于在第二探活检测时间达到的情况下,利用高可用服务对所述目标数据库进行探活检测,得到目标数据库的探活结果;
所述执行单元,用于在所述目标数据库的探活结果标识所述目标数据库不具有活性的情况下,对所述目标数据库执行故障转移操作;
所述建立单元12,用于根据所述目标数据库中的存储信息建立新的目标数据库;
所述等待单元,用于在所述目标数据库的探活结果标识所述目标数据库具有活性的情况下,等待下一个第二探活检测时间,以在所述下一个第二探活检测时间到达时,再次对所述目标数据库进行探活检测。
在本申请的一些实施例中,所述装置还包括生成单元;
所述检测单元,用于在第三探活检测时间达到的情况下,利用高可用服务对所述目标数据库可用性进行探活检测,得到可用性的探活结果;
所述生成单元,用于在所述可用性的探活结果标识所述目标数据库可用性不具有活性的情况下,生成告警信息并输出;
所述等待单元,用于在所述探活结果标识所述目标数据库可用性具有活性的情况下,等待下一个第三探活检测时间,以在所述下一个第三探活检测时间到达时,再次对所述目标数据库可用性进行探活检测。
在本申请的一些实施例中,所述删除单元,用于在接收到对所述目标数据库的销毁指令的情况下,在所述多个容器服务集群中,删除所述多个存储容器。
需要说明的是,在实际应用中,上述获取单元11和建立单元12可由数据库创建装置1上的处理器13实现,具体为CPU(Central Processing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital Signal Processing,数字信号处理器)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现;上述数据存储可由数据库创建装置1上的存储器14实现。
本申请实施例还提供了一种数据库创建装置1,如图6所示,所述数据库创建装置1包括:处理器13、存储器14和通信总线15,所述存储器14通过所述通信总线15与所述处理器13进行通信,所述存储器14存储所述处理器13可执行的程序,当所述程序被执行时,通过所述处理器13执行如上述所述的数据库创建方法。
在实际应用中,上述存储器14可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器13提供指令和数据。
本申请实施例提供了一种计算机可读存储介质,其上有计算机程序,所述程序被处理器13执行时实现如上述所述的数据库创建方法。
可以理解的是,数据库创建装置在接收到目标数据库的创建指令的情况下,利用管控服务从创建指令中确定目标数据库对应的多个容器服务集群和数据库创建参数,即确定在哪些容器服务集群中建立此目标数据库以及建立该目标数据库时的创建参数;使得管控服务可以按照该数据库创建参数,在多个服务集群中的每一个服务集群中创建满足该数据库创建参数的存储容器,从而得到多个存储容器,由于多个存储容器是建立在多个容器服务集群中的,在每个容器服务集群提供的存储空间有限的情况下,利用多个容器服务集群对存储空间进行扩容;利用该多个存储容器组成了目标数据库,得到了扩容了的目标数据库,即提高了创建的目标数据库的存储容量。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (13)

1.一种数据库创建方法,其特征在于,所述方法包括:
在接收到目标数据库的创建指令的情况下,从所述创建指令中确定所述目标数据库对应的多个容器服务集群和数据库创建参数;
利用管控服务、按照所述数据库创建参数,在所述多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器;
利用所述多个存储容器构建所述目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述利用管控服务、按照所述数据库创建参数,在所述多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器,包括:
从所述数据库创建参数中,获取主存储区块的第一数量、从存储区块的第二数量、主存储区块对应的第一容器服务集群和从存储区块对应的第二容器服务集群;
利用管控服务、在所述第一容器服务集群中,建立第一数量的第一存储容器,所述第一存储容器中包括主存储区块;
利用管控服务、在所述第二容器服务集群中,建立第二数量的第二存储容器,所述第二存储容器中包括从存储区块;
根据所述第一存储容器和所述第二存储容器,得到所述多个存储容器。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述多个存储容器中的每一个存储容器中还包括主线程;
利用多个主线程分别设置所述主存储区块和所述从存储区块之间的关联关系。
4.根据权利要求1所述的方法,其特征在于,所述利用所述多个存储容器构建所述目标数据库之后,所述方法还包括:
在第一探活检测时间达到的情况下,利用高可用服务对所述多个存储容器中的多个存储区块进行探活检测,得到多个探活结果;
在所述多个探活结果中的第一探活结果为不具有活性的情况下,确定所述第一探活结果对应的第一存储区块;所述第一探活结果为所述多个探活结果中的部分探活结果;所述第一探活结果为所述第一存储区块的探活结果;
在所述第一存储区块为至少一个主存储区块中的存储区块的情况下,在所述多个存储区块中的多个从存储区块中确定第二存储区块;所述多个从存储区块的数量为第二数量,所述至少一个主存储区块的数量为第一数量,所述多个从存储区块和至少一个主存储区块组成了多个存储区块,所述第二存储区块为所述多个从存储区块中的任一个存储区块;
建立第三存储区块;并利用所述第三存储区块和所述第二存储区块更新所述目标数据库,得到更新后的目标数据库。
5.根据权利要求4所述的方法,其特征在于,所述利用所述第三存储区块和所述第二存储区块更新所述目标数据库,得到更新后的目标数据库,包括:
利用所述第二存储区块更新所述至少一个主存储区块,得到至少一个更新后的主存储区块;
删除所述第一存储区块,并获取所述第一存储区块对应的备份存储信息;
将所述备份存储信息添加至所述第三存储区块中,得到第四存储区块;
利用所述第四存储区块更新所述多个从存储区块,得到多个更新后的从存储区块;
利用所述至少一个更新后的主存储区块和所述多个更新后的从存储区块更新所述目标数据库,得到更新后的目标数据库。
6.根据权利要求4所述的方法,其特征在于,所述确定所述第一探活结果对应的第一存储区块之后,所述方法还包括:
在所述第一存储区块为多个从存储区块中的存储区块的情况下,检测所述第一存储区块与所述至少一个主存储区块之间的关联关系;
在所述第一存储区块与所述至少一个主存储区块中的目标存储区块之间为非强一致关联关系的情况下,删除所述第一存储区块,并建立第三存储区块;所述目标存储区块为所述至少一个主存储区块中的任一个存储区块;
获取所述第一存储区块对应的备份存储信息,并将所述备份存储信息添加至所述第三存储区块中,得到第四存储区块;
利用所述第四存储区块更新所述目标数据库中的多个从存储区块,得到更新后的目标数据库。
7.根据权利要求6所述的方法,其特征在于,所述检测所述第一存储区块与所述至少一个主存储区块之间的关联关系之后,所述删除所述第一存储区块之前,所述方法还包括:
在所述第一存储区块与所述目标存储区块之间为强一致关联关系的情况下,对所述目标存储区块的读写操作进行降级处理,得到降级后的目标存储区块;
相应的,所述利用所述第四存储区块更新所述目标数据库中的多个从存储区块,得到更新后的目标数据库,包括:
利用所述第四存储区块和所述目标存储区块更新所述目标数据库,得到所述更新后的目标数据库。
8.根据权利要求1所述的方法,其特征在于,所述利用所述多个存储容器构建所述目标数据库之后,所述方法还包括:
在第二探活检测时间达到的情况下,利用高可用服务对所述目标数据库进行探活检测,得到目标数据库的探活结果;
在所述目标数据库的探活结果标识所述目标数据库不具有活性的情况下,对所述目标数据库执行故障转移操作,并根据所述目标数据库中的存储信息建立新的目标数据库;
在所述目标数据库的探活结果标识所述目标数据库具有活性的情况下,等待下一个第二探活检测时间,以在所述下一个第二探活检测时间到达时,再次对所述目标数据库进行探活检测。
9.根据权利要求1所述的方法,其特征在于,所述利用所述多个存储容器构建所述目标数据库之后,所述方法还包括:
在第三探活检测时间达到的情况下,利用高可用服务对所述目标数据库可用性进行探活检测,得到可用性的探活结果;
在所述可用性的探活结果标识所述目标数据库可用性不具有活性的情况下,生成告警信息并输出;
在所述探活结果标识所述目标数据库可用性具有活性的情况下,等待下一个第三探活检测时间,以在所述下一个第三探活检测时间到达时,再次对所述目标数据库可用性进行探活检测。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述利用所述多个存储容器构建所述目标数据库之后,所述方法还包括:
在接收到对所述目标数据库的销毁指令的情况下,在所述多个容器服务集群中,删除所述多个存储容器。
11.一种数据库创建装置,其特征在于,所述装置包括:
获取单元,用于在接收到目标数据库的创建指令的情况下,从所述创建指令中确定所述目标数据库对应的多个容器服务集群和数据库创建参数;
建立单元,用于利用管控服务、按照所述数据库创建参数,在所述多个容器服务集群中的每一个容器服务集群中,建立至少一个存储容器,得到多个存储容器;利用所述多个存储容器构建所述目标数据库。
12.一种数据库创建装置,其特征在于,所述装置包括:
存储器、处理器和通信总线,所述存储器通过所述通信总线与所述处理器进行通信,所述存储器存储所述处理器可执行的数据库创建的程序,当所述数据库创建的程序被执行时,通过所述处理器执行如权利要求1至10任一项所述的方法。
13.一种存储介质,其上存储有计算机程序,应用于数据库创建装置,其特征在于,该计算机程序被处理器执行时实现权利要求1至10任一项所述的方法。
CN202310396333.XA 2023-04-12 2023-04-12 一种数据库创建方法及装置、存储介质 Pending CN116467282A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310396333.XA CN116467282A (zh) 2023-04-12 2023-04-12 一种数据库创建方法及装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310396333.XA CN116467282A (zh) 2023-04-12 2023-04-12 一种数据库创建方法及装置、存储介质

Publications (1)

Publication Number Publication Date
CN116467282A true CN116467282A (zh) 2023-07-21

Family

ID=87174668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310396333.XA Pending CN116467282A (zh) 2023-04-12 2023-04-12 一种数据库创建方法及装置、存储介质

Country Status (1)

Country Link
CN (1) CN116467282A (zh)

Similar Documents

Publication Publication Date Title
CN109120678B (zh) 用于分布式存储系统的服务托管的方法和装置
US9870291B2 (en) Snapshotting shared disk resources for checkpointing a virtual machine cluster
US9727429B1 (en) Method and system for immediate recovery of replicated virtual machines
EP3185125B1 (en) Data backup method, system, node and computer storage media
JP6238309B2 (ja) アプリケーション間の統一性を有する共有されるボリュームのスナップショットを生成するための方法
CN105468717B (zh) 数据库操作方法和装置
CN109144785B (zh) 用于备份数据的方法和装置
CN110825562B (zh) 数据备份方法、装置、系统和存储介质
CN103493003A (zh) 从源存储器向目标存储器调派磁盘映像的拷贝
WO2007009844A1 (en) Maintaining and using information on updates to a data group after a logical copy is made of the data group
CN106855834B (zh) 一种数据备份方法、装置和系统
CN112231108A (zh) 任务处理方法、装置、计算机可读存储介质及服务器
CN116627721A (zh) 基于混合云的云原生数据库恢复方法、设备及存储介质
CN107402839B (zh) 一种备份数据的方法及系统
CN108733808B (zh) 大数据软件系统切换方法、系统、终端设备及存储介质
CN113986450A (zh) 一种虚拟机备份方法及装置
CN116389233B (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备
CN116467282A (zh) 一种数据库创建方法及装置、存储介质
CN113641640B (zh) 用于流式计算系统的数据处理方法、装置、设备和介质
US20150212898A1 (en) Data migration method and systems
CN111400100B (zh) 一种分布式软件备份的管理方法及其系统
CN112506729B (zh) 一种故障模拟方法及装置
CN109271457A (zh) 一种数据同步方法及装置
US10862958B1 (en) Flexible associativity in multitenant clustered environments
CN117395263B (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