CN116644058A - 基于关系型数据库管理系统的数据库的创建方法 - Google Patents
基于关系型数据库管理系统的数据库的创建方法 Download PDFInfo
- Publication number
- CN116644058A CN116644058A CN202310645180.8A CN202310645180A CN116644058A CN 116644058 A CN116644058 A CN 116644058A CN 202310645180 A CN202310645180 A CN 202310645180A CN 116644058 A CN116644058 A CN 116644058A
- Authority
- CN
- China
- Prior art keywords
- database instance
- database
- instance
- task
- master
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 31
- 238000012544 monitoring process Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 47
- 230000008520 organization Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Abstract
本申请提供了一种基于关系型数据库管理系统的数据库的创建方法、装置、电子设备及存储介质,依据本申请实施例,通过web控制台获取目标用户提交的携带数据库实例参数的数据库创建请求,确定待创建的数据库实例对应有计费标记时,针对目标用户创建对应的计费订单,在成功创建计费订单的情况下,调用目标用户对应的虚拟主机创建与数据库实例参数对应的数据库实例。其中,在确定数据库创建请求指示创建主数据库实例和从数据库实例的情况下,在创建数据库实例的过程中,在确定成功创建主数据库实例的情况下,创建与主数据库实例对应的从数据库实例。由此,可以实现数据库的自动化部署,提高数据库的部署效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于关系型数据库管理系统的数据库的创建方法、装置、电子设备及存储介质。
背景技术
在基于关系型数据库管理系统的数据库的创建过程中,自建数据库需要人工编译数据库所需要的各种数据包并拷贝到服务器上面部署,还需要人工设置数据库的各类参数,在需要创建主从数据库实例的情况下,还需要人工部署主从数据库实例的中间文件等,创建数据库的过程比较繁琐,数据存储、维护和资源成本较高,需花费大量资源和人力。
发明内容
本申请实施例提供一种基于关系型数据库管理系统的数据库的创建方法、装置、电子设备及存储介质,以解决上述一个或多个技术问题。
第一方面,本申请实施例提供了一种基于关系型数据库管理系统的数据库的创建方法,包括:
通过web控制台获取目标用户提交的数据库创建请求,所述数据库创建请求携带所述目标用户选择的数据库实例参数,所述数据库实例参数包括数据库实例的目标类型;
确定待创建的数据库实例对应有计费标记,则针对所述目标用户创建对应的计费订单;
在成功创建所述计费订单的情况下,调用所述目标用户对应的虚拟主机创建与所述数据库实例参数对应的数据库实例;
其中,在确定所述数据库创建请求指示创建主数据库实例和从数据库实例的情况下,在创建所述数据库实例的过程中,在确定成功创建主数据库实例的情况下,创建与所述主数据库实例对应的从数据库实例。
第二方面,本申请实施例提供了一种基于关系型数据库管理系统的数据库的创建装置,包括:
创建请求获取模块,用于通过web控制台获取目标用户提交的数据库创建请求,所述数据库创建请求携带所述目标用户选择的数据库实例参数,所述数据库实例参数包括数据库实例的目标类型;
计费订单创建模块,用于确定待创建的数据库实例对应有计费标记,则针对所述目标用户创建对应的计费订单;
数据库实例创建模块,用于在成功创建所述计费订单的情况下,调用所述目标用户对应的虚拟主机创建与所述数据库实例参数对应的数据库实例;
从数据库实例创建模块,用于在确定所述数据库创建请求指示创建主数据库实例和从数据库实例的情况下,在创建所述数据库实例的过程中,在确定成功创建主数据库实例的情况下,创建与所述主数据库实例对应的从数据库实例。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
与相关技术相比,本申请具有如下优点:
依据本申请实施例,首先通过web控制台获取目标用户提交的数据库创建请求,该数据库创建请求携带目标用户选择的数据库实例参数,数据库实例参数包括数据库实例的目标类型,再确定待创建的数据库实例对应有计费标记,则针对目标用户创建对应的计费订单,然后在成功创建所述计费订单的情况下,调用目标用户对应的虚拟主机创建与数据库实例参数对应的数据库实例。其中,在确定数据库创建请求指示创建主数据库实例和从数据库实例的情况下,在创建数据库实例的过程中,在确定成功创建主数据库实例的情况下,创建与主数据库实例对应的从数据库实例。由此,可以实现数据库的自动化部署,提高数据库的部署效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
图1示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的网络拓扑图;
图2示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的系统架构图;
图3示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的创建流程图;
图4示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的从数据库实例的创建流程图;
图5示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的终止流程图;
图6示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方法的流程图;
图7示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建装置的结构框图;以及
图8示出了用来实现本申请实施例的电子设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
在本申请之前的一种相关技术中,自建数据库需要人工编译数据库所需要的各种包并拷贝到服务器上面部署,还需要人工设置数据库的各类参数,在需要创建主从数据库实例的情况下,还需要人工部署主从数据库实例的中间文件等,创建数据库的过程比较繁琐。因此,亟需一种新的基于关系型数据库管理系统的数据库的创建方案,以解决上述一个或多个技术问题。
本申请实施例提供一种基于关系型数据库管理系统的数据库的创建方案,其中,关系型数据库管理系统可以选择采用MySQL数据库管理系统。MySQL是一款安全、跨平台、高效、开源的数据库管理系统,它广泛地应用在网络上的中小型网站开发中,是目前最流行的关系数据库管理系统之一,具有支持跨平台、运行速度快、支持面向对象及各种开发语言、数据库存储容量大等特点。
本申请实施例可以为用户提供通过控制台方便、快捷、批量部署数据库实例的方案;具有高可用架构,可以提供业务可用性的保障,例如可以采用主从数据库的创建方式,其中主数据库可以是master(主服务),从数据库可以是slave(从服务),当master失效时,会自动切换到slave提供服务,slave变为新的master,旧master生效时会自动变为slave;同时,本申请实施例提供的方案还可以对数据库实例进行弹性扩容和缩容,提高资源的利用率,例如可以为master和slave所在的计算设备配置扩容与缩容,包括cpu、内存、磁盘等;本申请实施例还可以实现数据自动备份、监测等自动化运维保障,例如用户可以通过前端web控制台界面,设置自动备份时间,后端系统会根据用户设置的时间定时执行数据库备份操作,在服务创建时,用户还可以在前端的监测平台注册服务所用的机器(可以是虚拟机),并通过后端系统的监测程序对机器进行cpu、内存、磁盘、MySQL服务指标等的监测,用户可以通过前端控制台监测界面进行查看监测信息,也可以通过前端控制台设置监测指标报警阀值,服务运行过程中如果触发报警,后端系统将自动发送邮件短信给相应的运维人员或用户。
本申请实施例提供了一键部署MySQL数据库实例的功能,后端系统可以根据用户提交的配置参数,自动申请云主机,自动部署MySQL服务,自动添加监测策略。同时,还可以为MySQL配置相应的管理控制工具phpmyadmin(MySQL数据库的一个可视化的管理工具),当出现故障时,可以通过replication-manager(rpm,用于主从切换的管理控制工具)检测并进行自动主从切换,减少了用户的运维工作,并且可以以用户无感知的形式保证数据库实例的高可用性。对于用户而言,可以通过前端的界面管理功能,查询数据库实例创建、删除、配置变更、监测等。创建数据库实例时,用户可以根据选择的站点以及相应的数据库配置,提交创建请求。后端系统可以根据用户提交的创建请求自动分配虚拟机资源部署数据库实例,并对该创建过程进行监测。用户还可以对于自己不需要的数据库实例进行删除操作,删除后,实例会进入回收站,回收站中的实例可以保留3天,3天之内,数据库实例可以恢复。如果用户需要直接销毁数据库实例,也可以在回收站直接执行销毁操作。
图1示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的网络拓扑图。如图1所示,其中,创建数据库实例所在的虚拟机可以有三个网络:租户网络、管理网络、web应用网络。租户网络可以用于访问数据库实例,购买使用数据库实例的终端用户可以通过租户网络使用数据库实例;管理网络可以用于数据库实例的服务部署、配置、监测、备份等;web应用网络可以用于web服务,业务部署等。其中,租户网络可以通过控制单元与管理网络进行通信,并使用管理网络提供的数据库实例,例如MySQL的主(master)、从(slave)数据库实例。管理网络可以通过网关与web应用网络进行通信。
图2示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的系统架构图。如图2所示,首先,具有使用或购买数据库实例等需求的终端用户,可以通过网络虚拟IP地址(web vip)访问网页服务器或web服务器(webserver),并发送购买、使用或删除数据库实例的请求。web服务器在接收到请求后,可以将用户的请求发送至位于云端中心计算节点的kernel服务(负责接收web界面请求的中心节点服务)中,kernel服务可以访问kernel数据库查询相应的请求对应的订单是否为计费订单,再将相关的请求和订单信息转发给位于云端边缘计算节点的客户代码机(可以是云端的虚拟主机)中,由客户代码机为终端用户提供相应的数据库实例服务。一个云端中心计算节点的kernel服务可以对应于多个云端边缘计算节点的站点,例如图2中的站点1和站点2(还可以有站点3、站点4等)。在相应的边缘计算节点的站点中,可以提供边缘节点服务,将客户代码机中的数据存储至边缘节点数据库中,并与中心计算节点的kernel同步服务记录。站点中还可以包含终端用户请求创建的主、从数据库实例(客户代码机),每一个客户代码机中都可以包括4个工具,分别为:orchestration工具(一种自动化或远程控制技术,帮助实施软件部署等操作的服务工具,可以具体执行业务的操作,例如开机、启动、删除、创建、修改配置等)、agent工具(监测探针服务工具)、config工具(配置文件服务工具)、prometheus工具(一个开源的系统监控和报警系统)。
在本申请实施例的系统架构中,可以分为web服务(Web Service服务,一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序)、kernel中心节点服务(主要负责调度,可以接收web界面的请求、调用其他服务模块的功能等)、客户代码机、边缘节点服务、监测服务等几大块内容。其中,web服务主要向使用数据库实例的终端用户提供前端操作界面、前端控制台管理界面等;Kernel是后端系统主要的业务处理组件,用于接收web服务的请求并进行分发处理;边缘节点服务(resource)用于整个站点数据库实例的管理及状态上报功能;客户代码机(控制单元,可以是master),可以包括管理网卡和客户租户网卡,可以由一台虚拟机组成,代码机里面可以安装有多个docker服务(用于创建、管理和编排容器的服务),其中可以包括orchestration,负责接收kernel创建请求、删除请求等信息,并转化为具体任务进行执行;Agent可以部署在数据库实例对应的云端虚拟主机中,可以用来执行具体的脚本,监测数据库主从实例主从切换的状态、向外发送告警,并可以被orchestration调用;Config可以执行具体配置来变更脚本,并可以被orchestration调用;prometheus监测可以负责采集数据库实例信息,并进行监测告警。
图3示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的创建流程图。如图3所示,用户可以通过web控制台选择自己需要创建的数据库类型,并提交创建数据库实例,在Kernel接收到创建请求之后,可以判断该客户是否存在代码机master,如果不存在,则异步创建一台代码机,如果存在,则可以使用原有的代码机进行创建。然后,后端系统可以根据用户的创建请求准备创建参数,判断是否需要计费,如果需要计费,则创建订单并调用kernel计费模块billings,创建错误时返回界面并提示错误信息,成功则组织创建实例任务参数给orchestration进行异步创建。同时调用边缘节点生成service实例记录。最后,可以返回界面提示提交创建结果。在本申请实施例中,web可以部署在用户侧(可以是客户端),kernel、kernel-billings可以部署在中心节点中为客户提供的虚拟主机中(代码机),resource可以部署在靠近用户侧的边缘节点,它们之间可以通过互联网进行数据传输或信息交换。
具体而言,以创建MySQL数据库主从服务的主任务为例,用户在web控制台的操作可以有:点击开始、点击开通数据库服务、准备参数、点击创建,然后该创建请求将发送至云端中心计算节点的kernel服务上,kernel服务在接收到请求后创建接口,查询是否已有inpaas记录,即可以根据该用户的ID等信息查询该用户是否在此次请求之前已经创建过代码机(可以是虚拟机master),如果有inpaas记录(Y),则可以获取inpaas id后在对应的代码机中准备创建数据库主服务的参数(准备创建参数);如果没有inpaas记录(N),则需要先生成新的inpaas记录状态(creating,创建),创建新的代码机(可以是虚拟机master),对应的,还需要生成inpaas kernel(inpaas表),并异步创建主代码机master的子任务(从代码机slave),再在对应的代码机中准备创建数据库主服务的参数(准备创建参数)。
在准备创建参数之后,kernel判断是否需要计费,可以根据用户输入的数据库实例参数,访问kernel数据库,并从该kernel数据库中调取对应的与该数据库实例参数相符合的数据库实例的计费标记,确定需要创建的数据库实例对应的计费标记(例如价格、计费方式等);同时,也可以根据目标用户的相关信息(例如是否为VIP用户),确定需要创建的数据库实例对应的计费标记。若判断需要计费(Y),则创建相应的计费订单(创建订单),并将该创建订单的指令发送给kernel-billings(kernel中的计费服务),由kernel-billings组织参数创建待确认订单,若创建成功(Y),则向kernel返回成功信息;若创建不成功(N),则向kernel返回失败信息,进而由kernel创建订单结果,若创建订单结果成功,则进一步由kernel组织创建数据库主服务的参数(组织创建任务参数),若创建订单结果失败,则由kernel向web返回界面错误信息。相应的,若kernel在判断是否需要计费时,判断不需要计费(N),则可以直接由kernel组织创建数据库主服务的参数(组织创建任务参数),而无需调用kernel-billings创建计费订单。
在组织创建任务参数之后,kernel可以请求边缘节点生成services记录,并将该请求发送至边缘计算节点的resource(资源文件夹),resource在接收到请求后,将相关的services记录保存到边缘计算节点中(保存到边缘节点service服务记录,状态creating),保存的方式可以是resource.services,并与kernel同步services记录。
原因在于,由于地域限制,使用中心节点的kenel记录MySQL数据库服务数据可能相较于使用边缘节点的resource记录MySQL数据库服务数据具有一定的延迟,因为在orchestration处理完信息之后,位于边缘节点的resource可能会更快一些的同步的该MySQL数据库对应的虚拟主机的使用状态,但是位于中心节点的kenel可能会慢一点。边缘节点可以记录数据库服务的实时状态,也可以定时查询MySQL数据库服务的状态,例如该订单的状态、订单中涉及的MySQL数据库的资源、虚拟主机的状态等。边缘节点记录这些实时状态的数据后,可以与kenel同步相应的数据,以供kernel向web界面发送相关数据,进而令web界面展示该服务的状态。
在kernel请求边缘节点生成services记录后,意味着MySQL数据库主服务已经创建完成,若用户具有创建MySQL数据库从服务的需求,则可以进一步启动异步创建service子任务的流程,并在创建完成后,将相关信息返回给web,生成web界面提示信息。
图4示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的从数据库实例的创建流程图。如图4所示,创建数据库实例异步子任务时,以创建MySQL数据库主从服务的从任务为例(异步创建service子任务),首先,在异步创建service子任务的流程开始之后,可以通过Kernel异步查询inpaas信息(代码机,也即虚拟主机master数据库记录表),判断代码机是否创建成功(判断inpaas状态),若inpaas的记录状态为Creating(创建中)或者upgrading(升级中),则需要等待一段时间后再次查询inpaas信息(例如30s后重试),以重新启动创建流程;如果为Error(错误),则创建任务失败,kernel可以向web发送创建失败的信息(抛出异常,任务失败),至此结束异步创建子任务的流程;如果inpaas的记录状态为Running(正在运行),意味着主任务(master)创建成功,则kernel可以将该创建任务的请求(创建服务post)发送给orchestration。orchestration在接收到该创建任务的请求后,可以执行该创建任务,例如orchestration可以将该任务进行拆分,串行执行该创建任务。具体可以按照创建服务方法、组织参数(组织创建MySQL数据库主从服务的从任务的参数)、创建子任务、组织任务流、向kernel返回主任务id的流程执行。其中,创建子任务可以包括:创建主任务,用于等待子任务都执行完成后,继续后面的程序流程;创建分配机器任务,用于分配具体的机器用于部署mysql主从实例;创建部署mysql任务,用于在分配的机器上面部署mysql服务;创建部署phpmyadmin、rpm任务,可以使用phpmyadmin为开源的mysql可视化管理工具,rpm为开源的replication-manager,用于控制MySQL主从切换。两个中间件可以分别部署在docker上面。创建配置iptables任务,用于在分配的机器上面配置iptables防火墙规则。创建配置default备份策略任务(整个数据库的数据备份任务),该任务可以默认备份的时间、方式等,例如可以设置每天凌晨4点备份。创建配置default日志备份策略任务(数据库日志的备份任务),可以用于mysql binlog备份(mysql的归档日志备份)。备份之后,可以将相应的备份数据存储在S3(Simple Storage Service,简单存储服务)中。创建增加监测任务,可以提交信息给prometheus,用于实时监测。创建计费任务(100%),用于订单计费。创建备份计费任务,用于备份计费。在上述任务创建成功后,可以组织任务流,开始执行,并返回主任务ID。其中,任何子任务失败,都可以进行重试。如果任务失败,则web控制台会显示创建失败。
图5示出了本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的终止流程图。如图5所示,在终止数据库实例时,用户可以先在前端界面选择删除指定实例。后端系统中的Kenel在接收到删除实例后,可以增加回收站记录。处于回收站中的实例,可以在3天之后系统自动进行销毁,3天之内可以恢复。然后,Kenel可以调用orchestration执行停止实例任务。使用orchestration执行停止实例,可以将删除数据库实例的任务拆分成多个子任务进行执行。
具体而言,以终止MySQL数据库主从服务为例,用户在web控制台的操作可以是选择对应的MySQL数据库并点击删除按钮,web控制台将该请求发送至云端中心计算节点的kernel服务上,kernel服务在接收到请求后启动终止流程。
在开始终止流程之后,kernel服务可以选择删除实例方法,然后增加回收站记录(status shutdown),可以设置回收站中的实例销毁时间为3天后,再返回结果,下发任务成功,等待执行,最后结束任务。可选的,在增加回收站记录之后,还可以将该回收站记录发送至inpaas kernel的paas回收站资源表中(paas recycle bin resources表)。
相应的,kernel服务还可以使用选择的删除实例方法,尝试停止实例任务(若失败可以重试3次),然后调用orchestration(OR)停止实例(suspend),由orchestration执行停止实例的任务。再根据orchestration返回给kernel的任务id,判断该实例是否成功终止,若成功终止(Y),则调用kernel-billings停止计费订单,进而删除计费订单(delete),结束实例终止流程;若未成功终止(N),则kernel可以抛出异常,重试任务(可以设置为最多3次重试任务),即可以重新调用orchestration(OR)停止实例,若成功终止实例或尝试重试任务3次以上,则结束实例终止流程。可选的,边缘节点中的resource也可以读取最新的数据库实例对应的虚拟主机的数据,更新相应的虚拟主机状态(例如mysql服务已删除)。
上述kernel调用orchestration(OR)停止实例(suspend),由orchestration执行停止实例的任务中,orchestration可以将该任务进行拆分,串行执行该终止任务。具体可以按照停止实例、删除实例(dl suspend)、整合任务流、向kernel返回任务id的流程执行。其中,删除实例(dl suspend)中具体的子任务可以包括:停止实例主任务,用于负责等待所有子任务完成后,继续执行下面的程序;删除子服务任务(临时实例、克隆服务),可以包括删除监测、去除rpm配置、去除phpmyadmin docker、删除定时备份任务、删除所有备份信息、删除虚机(调用资源池)、解锁vip、删除服务状态DELETED(删除实例)等;停止只读实例任务,可以包括删除监测、停止实例、去除rpm配置、关闭虚机、更新实例状态等。在上述删除子任务服务后,可以继续执行删除监测任务、停止定时备份任务、停止mysql服务任务、删除rpm配置、关闭虚拟机、整合任务链并执行、返回主任务ID等其他任务。其中,任何子任务失败都可以进行重试。任务失败时,实例状态也可以显示失败。
可选的,若该终止MySQL数据库主从服务的任务(终止实例任务)中,该数据库实例对应有计费订单,那么kernel可以调用kernel-billings停止计费订单。kernel-billings停止计费订单的流程可以是:先结束计费(stop bill v2),然后查询业务订单,可以对多个订单循环处理,再判断相应的目标订单是否在计费,若在计费(Y),则可以取消该计费订单任务,若不在计费(N),则可以直接取消该订单任务。本申请实施例的执行主体可以是应用程序、服务、实例、软件形态的功能模块、虚拟机(Virtual Machine,VM)、容器或云服务器等,或者具有数据处理功能的硬件设备(如服务器或终端设备)或硬件芯片(如CPU、GPU、FPGA、NPU、AI加速卡或DPU)等。实现数据库创建的装置可以部署在提供相应服务的应用方的计算设备或提供算力、存储和网络资源的云计算平台上,云计算平台对外提供服务的模式可以是IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform asaService,平台即服务)、SaaS(Software as a Service,软件即服务)或DaaS(Data asaService,数据即服务)。以平台提供SaaS软件即服务(Software as a Service)为例,云计算平台可以利用自身的计算资源提供数据库创建模型的训练或数据库创建模块的功能执行,具体的应用架构可以根据服务需求进行搭建。例如,平台可以向使用平台资源的应用方或个人提供基于上述模型的构建服务,进一步基于相关客户端或服务器等设备提交的数据库创建请求调用上述模型和实现在线或离线数据库创建的功能。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决前述技术问题进行详细说明。所列举的若干具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。以下将结合附图,对本申请的实施例进行详细描述。
本申请实施例提供了一种基于关系型数据库管理系统的数据库的创建方法,如图6所示为本申请一实施例的一种基于关系型数据库管理系统的数据库的创建方法600的流程图,该方法600可以包括:
在步骤S601中,通过web控制台获取目标用户提交的数据库创建请求,所述数据库创建请求携带所述目标用户选择的数据库实例参数,所述数据库实例参数包括数据库实例的目标类型。
本申请实施例中,目标用户可以是具有创建、删除或使用数据库等需求的商家、企业或个人等。数据库实例的目标类型,可以是创建单一的关系型数据库实例,例如只创建1个数据库实例;也可以是创建主从的关系型数据库实例,例如创建MySQL主从数据库实例,其中还可以创建多个数据库实例,例如在创建MySQL主从数据库实例的同时,再创建多个只读的从数据库实例,本申请对此并不做任何限制。
涉及到的web控制台,可以向目标用户提供用于提交相关的创建、删除或使用数据库等请求的交互页面、客户端或程序功能插件等,并可以提供相应的数据库实例参数供目标用户选择,或提供相应的数据库实例参数的输入入口供目标用户输入相应的参数。
在一种可能的实现方式中,还可以通过调用边缘节点生成对应于本次创建数据库实例的记录数据。
在步骤S602中,确定待创建的数据库实例对应有计费标记,则针对所述目标用户创建对应的计费订单。
其中,计费标记可以是通过中心计算节点中负责接收web界面请求的服务模块(例如kernel),获取相应的数据库中与待创建的数据库实例参数一致的数据库实例的描述信息(标记),以确定待创建的数据库实例是否对应有计费标记。
例如,kernel在数据库的创建流程中主要作用有两个,其一是负责处理订单计费,其二是负责调度。在创建MySQL主从数据库实例的过程中,kenel在接到创建请求的时候,可以根据该创建请求中携带的终端用户选择的一些创建MySQL主从数据库实例的参数(例如选择哪一款数据库实例产品),若具有相应配置参数的MySQL数据库实例被预先标记为不计费(例如在相应的存储该相应配置参数的MySQL数据库实例的数据库中,被预先标记为费用是零),当kenel根据该数据库实例产品ID查询到在该数据库中这个数据库实例产品不需要计费,则调用kenel billings创建计费订单;但若该数据库实例产品需要计费,kernel将调用kenel billings创建计费订单。
在此之前,向数据库中录入初始的数据库实例产品信息的时候,可以对该数据库实例产品进行标记,例如该产品的价格、是否需要计费等,这些配置参数都会在存储数据库实例产品参数的数据库里面提供。
在一种可能的实现方式中,前述确定待创建的数据库实例对应有计费标记的方式,可以根据数据库实例参数以及目标用户的相关信息确定需要创建与数据库实例对应的计费标记,其中,针对目标用户创建对应的计费订单,可以根据数据库实例参数创建对应的计费订单。
例如,在准备创建参数之后,可以通过kernel判断是否需要计费,可以根据用户输入的数据库实例参数,访问kernel数据库,并从该kernel数据库中调取对应的与该数据库实例参数相符合的数据库实例的计费标记,确定需要创建的数据库实例对应的计费标记(例如价格、计费方式等);同时,也可以根据目标用户的相关信息(例如是否为VIP用户),确定需要创建的数据库实例对应的计费标记。若判断需要计费(Y),则创建相应的计费订单(创建订单),并将该创建订单的指令发送给kernel-billings(kernel中的计费服务),由kernel-billings组织参数创建待确认订单,若创建成功(Y),则向kernel返回成功信息;若创建不成功(N),则向kernel返回失败信息,进而由kernel创建订单结果。
在步骤S603中,在成功创建所述计费订单的情况下,调用所述目标用户对应的虚拟主机创建与所述数据库实例参数对应的数据库实例。
在一种可能的实现方式中,在调用目标用户对应的虚拟主机创建与数据库实例参数对应的数据库实例之前,还可以先确定是否存在与目标用户对应的虚拟主机,在不存在与目标用户对应的虚拟主机的情况下,调用虚拟主机创建的异步进程创建对应目标用户的虚拟主机。
以创建MySQL数据库主从服务的主任务为例,kernel服务在接收到数据库的创建请求后,可以先查询是否已有inpaas记录,即可以根据该用户的ID等信息查询该用户是否在此次请求之前已经创建过虚拟主机,如果有inpaas记录,则可以获取虚拟主句的ID,并在对应的虚拟主机中准备创建数据库主服务的参数;如果没有inpaas记录,则需要先擦黄建新的虚拟主机(可以是主代码机,对应inpaas记录状态),同时还可以异步创建数据库实例的子任务中的从虚拟主机(可以是从代码机)。在步骤S604中,其中,在确定所述数据库创建请求指示创建主数据库实例和从数据库实例的情况下,在创建所述数据库实例的过程中,在确定成功创建主数据库实例的情况下,创建与所述主数据库实例对应的从数据库实例。创建过程可以参见本申请实施例中,图4示出的基于关系型数据库管理系统的数据库的创建方案的一个应用示例的从数据库实例的创建流程图以及本申请前述实施例中对应于图4的相关解释。
在创建主数据库实例之前,可以根据目标用户提交的数据库创建请求,判断是否需要创建从数据库实例,若需要创建从数据库,则异步创建从数据库实例。
在一种可能的实现方式中,在确定数据库创建请求指示创建主数据库实例和从数据库实例的情况下,创建完主数据库实例后,可以在主数据库记录表记录新创建的主数据库实例。其中,确定成功创建主数据库实例,可以通过异步查询主数据库记录表,在主数据库记录表中存在主数据库实例的情况下,确定成功创建主数据库实例。其中,主数据库记录表可以使用inpaas工具进行记录。
在一种可能的实现方式中,在创建上述数据库实例之后,还可以响应于目标用户的删除指令,停止执行数据库实例的运行任务,并在成功停止运行任务的情况下,停止对数据库实例对应的计费订单进行计费。
在一些实施例中,在停止对数据库实例对应的计费订单进行计费之前,还可以通过确定计费订单存在对应的消费计费任务,若存在消费计费任务,则取消该消费计费任务。
在本申请实施例中,可以使用replication-manager工具(rpm,用于主从切换的管理控制工具)管理数据库(例如MySQL数据库)的主从切换,例如在MySQL主从数据库中,主数据库和从数据库可以分别对应一个代码机(虚拟主机),其中,从数据库主要用于同步主数据库的数据,若MySQL主数据库出现了服务异常或者宕机等问题,rpm可以将MySQL从数据库切换成主数据库,切换之后,当原有的主数据库恢复后将自动变为从数据库,同步更新原从数据库现主数据库的数据。由此可以以用户无感知的形式保证数据库实例的高可用性。
可选的,rpm还可以每隔一段时间(可以预先设置,例如设置为1s)请求MySQL主数据库或从数据库的服务并判断该服务是否正常,如果判断结果为不正常,比如连续10秒钟MySQL主数据库都没有正常响应rpm的请求,rpm就可以将主数据库切换为从数据库(主节点切换到从节点)。
在分配给终端用户的主数据库对应的虚拟主机(代码机)以及从数据库对应的虚拟主机(代码机)中,还可以预先配置用来监测的工具,例如Agent、Config等,这类工具一旦监测到虚拟主机的出现端口异常或宕机等,可以向外发送报警。
另外,在本申请实施例中,还可以使用phpmyadmin工具(一个可视化的客户端的工具),为终端用户提供可视化界面,使得用户可以通过前端web控制台监测界面查看对数据库实例的监测信息,也可以通过前端web控制台设置监测指标报警阀值,服务运行过程中如果触发报警,用户或相应的运维人员将收到数据库实例对应的虚拟主机中配置的监测工具发送的报警信息(例如邮件、短信等),或者可以直接通过phpmyadmin工具提供的可视化界面进行查看。
相应的,由于可以设置MySQL数据库主从只读分离,因此用户还可以在前端web控制界面中提交创建数据库实例的请求的同时,请求创建配套MySQL主从数据库的只读数据库实例。只读数据库实例专门用于读取,创建后,MySQL主数据库实例负责写(同时也可以读),当然也可以读,而只读数据库实例相当于MySQL主数据库实例的另一个从节点(只读节点),只不过该只读从数据库实例不能写只能读。这样创建的好处在于,大量的读请求都可以用这个只读数据库实例(只读节点)去分担,在读写的并发请求较多的情况下,可以大量减轻主数据库实例的读取压力。相应的,该只读数据库实例也可以创建在云端的一台虚拟主机中,用户可以选择创建多个只读数据库实例,每个只读数据库实例可以分别创建于云端的不同虚拟主机中。同时,每个只读数据库实例都可以是主数据库实例的一个只读从数据库实例,当MySQL主从数据库切换时,replication-manager工具可以控制只读从数据库实例同步主数据库实例的数据,并将新的主数据库实例的IP地址发送给只读从数据库实例,将新的主数据库实例变更为该只读从数据库实例的主数据库实例。
在一些实施例中,在数据库实例对应包括主数据库实例和从数据库实例的情况下,删除目标用户对应的主数据库实例以及对应的从数据库实例。删除过程可以参见本申请实施例中,图5示出的本申请实施例中提供的一种基于关系型数据库管理系统的数据库的创建方案的一个应用示例的终止流程图以及本申请前述实施例中对应于图5的相关解释。在一种可能的实现方式中,创建与主数据库实例对应的从数据库实例,可以先通过调用远程控制组件创建与主数据库实例对应的从数据库实例的服务方法,并组织创建参数;再调用远程控制组件根据服务方法及创建参数,创建从数据库实例,其中,创建从数据库实例至少包括创建主任务、分配机器任务、部署实例任务、部署管理工具任务、配置防火墙规则、配置备份策略、增加监测任务、创建计费任务中的一种;然后获取远程控制组件创建的与主数据库实例对应的从数据库实例。在响应于目标用户的删除指令,停止执行数据库实例的运行任务中,在数据库实例对应包括主数据库实例和从数据库实例的情况下,删除目标用户对应的主数据库实例以及对应的从数据库实例。其中,删除目标用户对应的主数据库实例以及对应的从数据库实例,可以通过先调用远程控制组件停止从数据库实例主任务;再调用远程控制组件删除从数据库实例子服务任务,该子服务任务至少包括临时实例任务、克隆服务任务中的一种;然后调用远程控制组件停止从数据库实例中的其他任务,其中,其他任务至少包括停止只读实例任务、删除监测任务、停用定时备份任务、停止数据库服务任务、删除信息任务、调用资源池关机任务中的一种;最后获取远程控制组件删除从数据库实例的任务链,在成功删除主数据库实例与从数据库实例的情况下,停止对数据库实例对应的计费订单进行计费。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供基于关系型数据库管理系统的数据库的创建装置。如图7所示为本申请一实施例的基于关系型数据库管理系统的数据库的创建装置700的结构框图,该装置700可以包括:
创建请求获取模块701,用于通过web控制台获取目标用户提交的数据库创建请求,所述数据库创建请求携带所述目标用户选择的数据库实例参数,所述数据库实例参数包括数据库实例的目标类型;
计费订单创建模块702,用于确定待创建的数据库实例对应有计费标记,则针对所述目标用户创建对应的计费订单;
数据库实例创建模块703,用于在成功创建所述计费订单的情况下,调用所述目标用户对应的虚拟主机创建与所述数据库实例参数对应的数据库实例;
从数据库实例创建模块704,用于在确定所述数据库创建请求指示创建主数据库实例和从数据库实例的情况下,在创建所述数据库实例的过程中,在确定成功创建主数据库实例的情况下,创建与所述主数据库实例对应的从数据库实例。
在一种可能的实现方式中,在上述数据库实例创建模块703调用目标用户对应的虚拟主机创建与数据库实例参数对应的数据库实例之前,上述装置还可以包括:
虚拟主机确定模块,用于确定是否存在与所述目标用户对应的虚拟主机;
虚拟主机创建模块,用于在不存在与所述目标用户对应的虚拟主机的情况下,调用虚拟主机创建的异步进程创建对应所述目标用户的虚拟主机。
在一种可能的实现方式中,上述计费订单创建模块702可以包括:
计费标记确定子模块,用于根据所述数据库实例参数以及所述目标用户的相关信息确定需要创建与数据库实例对应的计费标记;
所述针对所述目标用户创建对应的计费订单包括:
计费订单创建子模块,用于根据所述数据库实例参数创建对应的计费订单。
在一种可能的实现方式中,上述装置还可以包括:
记录数据生成模块,用于调用边缘节点生成对应于本次创建数据库实例的记录数据。
在一种可能的实现方式中,上述装置还可以包括:
主数据库实例记录模块,用于在确定所述数据库创建请求指示创建主数据库实例和从数据库实例的情况下,创建完所述主数据库实例后,在主数据库记录表记录新创建的主数据库实例;
上述从数据库实例创建模块704确定成功创建主数据库实例,可以包括:
主数据库实例成功创建子模块,用于异步查询所述主数据库记录表,在所述主数据库记录表中存在所述主数据库实例的情况下,确定成功创建主数据库实例。
在一种可能的实现方式中,上述装置还可以包括:
数据库实例停止运行模块,用于响应于目标用户的删除指令,停止执行数据库实例的运行任务,并在成功停止运行任务的情况下,停止对数据库实例对应的计费订单进行计费。
在一些实施例中,在数据库实例停止运行模块停止对数据库实例对应的计费订单进行计费之前,上述装置还可以包括:
消费计费任务取消模块,用于确定所述计费订单存在对应的消费计费任务,则取消所述消费计费任务。
在一些实施例中,上述数据库实例停止运行模块还可以包括:
从数据库实例删除子模块,用于在所述数据库实例对应包括主数据库实例和从数据库实例的情况下,删除所述目标用户对应的主数据库实例以及对应的从数据库实例。
在一种可能的实现方式中,前述创建与主数据库实例对应的从数据库实例的从数据库实例创建模块704还可以包括:
创建参数组织子模块,用于调用远程控制组件创建与所述主数据库实例对应的从数据库实例的服务方法,并组织创建参数;
从数据库实例参数创建子模块,用于调用远程控制组件根据所述服务方法及所述创建参数,创建从数据库实例,其中,所述创建从数据库实例至少包括创建主任务、分配机器任务、部署实例任务、部署管理工具任务、配置防火墙规则、配置备份策略、增加监测任务、创建计费任务中的一种;
对应从数据库实例创建子模块,用于获取远程控制组件创建的与所述主数据库实例对应的从数据库实例;
数据库实例删除子模块,用于在响应于所述目标用户的删除指令,停止执行所述数据库实例的运行任务中,在所述数据库实例对应包括主数据库实例和从数据库实例的情况下,删除所述目标用户对应的主数据库实例以及对应的从数据库实例:
其中,删除所述目标用户对应的主数据库实例以及对应的从数据库实例包括:
从数据库实例主任务停止单元,用于调用远程控制组件停止从数据库实例主任务;
从数据库实例子服务任务删除单元,用于调用远程控制组件删除从数据库实例子服务任务,所述子服务任务至少包括临时实例任务、克隆服务任务中的一种;
从数据库实例其他任务停止单元,用于调用远程控制组件停止从数据库实例中的其他任务,其中,所述其他任务至少包括停止只读实例任务、删除监测任务、停用定时备份任务、停止数据库服务任务、删除信息任务、调用资源池关机任务中的一种;
从数据库实例任务链获取单元,用于获取远程控制组件删除从数据库实例的任务链,在成功删除所述主数据库实例与从数据库实例的情况下,停止对所述数据库实例对应的计费订单进行计费。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
图8为用来实现本申请实施例的电子设备的框图。如图8所示,该电子设备包括:存储器801和处理器802,存储器801内存储有可在处理器802上运行的计算机程序。处理器802执行该计算机程序时实现上述实施例中的方法。存储器801和处理器802的数量可以为一个或多个。
该电子设备还包括:
通信接口803,用于与外界设备进行通信,进行数据交互传输。
如果存储器801、处理器802和通信接口803独立实现,则存储器801、处理器802和通信接口803可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器801、处理器802及通信接口803集成在一块芯片上,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机访问存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机访问存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM均可用。例如,静态随机访问存储器(Static RAM,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、同步动态随机访问存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机访问存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机访问存储器(Enhanced SDRAM,ESDRAM)、同步链接动态随机访问存储器(Sync link DRAM,SLDRAM)和直接内存总线随机访问存储器(DirectRambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生依照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中描述的或在此以其他方式描述的任何过程或方法可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中描述的或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请记载的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种基于关系型数据库管理系统的数据库的创建方法,包括:
通过web控制台获取目标用户提交的数据库创建请求,所述数据库创建请求携带所述目标用户选择的数据库实例参数,所述数据库实例参数包括数据库实例的目标类型;
确定待创建的数据库实例对应有计费标记,则针对所述目标用户创建对应的计费订单;
在成功创建所述计费订单的情况下,调用所述目标用户对应的虚拟主机创建与所述数据库实例参数对应的数据库实例;
其中,在确定所述数据库创建请求指示创建主数据库实例和从数据库实例的情况下,在创建所述数据库实例的过程中,在确定成功创建主数据库实例的情况下,创建与所述主数据库实例对应的从数据库实例。
2.根据权利要求1所述的方法,其中,在所述调用所述目标用户对应的虚拟主机创建与所述数据库实例参数对应的数据库实例之前,所述方法还包括:
确定是否存在与所述目标用户对应的虚拟主机;
在不存在与所述目标用户对应的虚拟主机的情况下,调用虚拟主机创建的异步进程创建对应所述目标用户的虚拟主机。
3.根据权利要求1所述的方法,其中,所述确定待创建的数据库实例对应有计费标记包括:
根据所述数据库实例参数以及所述目标用户的相关信息确定需要创建的数据库实例对应的计费标记;
所述针对所述目标用户创建对应的计费订单包括:
根据所述数据库实例参数创建对应的计费订单。
4.根据权利要求1所述的方法,其中,所述方法还包括:
调用边缘节点生成对应于本次创建数据库实例的记录数据。
5.根据权利要求1所述的方法,其中,所述方法还包括:
在确定所述数据库创建请求指示创建主数据库实例和从数据库实例的情况下,创建完所述主数据库实例后,在主数据库记录表记录新创建的主数据库实例;
所述确定成功创建主数据库实例包括:
异步查询所述主数据库记录表,在所述主数据库记录表中存在所述主数据库实例的情况下,确定成功创建主数据库实例。
6.根据权利要求1所述的方法,其中,所述方法还包括:
响应于所述目标用户的删除指令,停止执行所述数据库实例的运行任务,并在成功停止所述运行任务的情况下,停止对所述数据库实例对应的计费订单进行计费。
7.根据权利要求6所述的方法,其中,在所述停止对所述数据库实例对应的计费订单进行计费之前,所述方法还包括:
确定所述计费订单存在对应的消费计费任务,则取消所述消费计费任务。
8.根据权利要求6所述的方法,其中,所述方法还包括:
在所述数据库实例对应包括主数据库实例和从数据库实例的情况下,删除所述目标用户对应的主数据库实例以及对应的从数据库实例。
9.根据权利要求1所述的方法,其中,所述创建与所述主数据库实例对应的从数据库实例包括:
调用远程控制组件创建与所述主数据库实例对应的从数据库实例的服务方法,并组织创建参数;
调用远程控制组件根据所述服务方法及所述创建参数,创建从数据库实例,其中,所述创建从数据库实例至少包括创建主任务、分配机器任务、部署实例任务、部署管理工具任务、配置防火墙规则、配置备份策略、增加监测任务、创建计费任务中的一种;
获取远程控制组件创建的与所述主数据库实例对应的从数据库实例;
在响应于所述目标用户的删除指令,停止执行所述数据库实例的运行任务中,在所述数据库实例对应包括主数据库实例和从数据库实例的情况下,删除所述目标用户对应的主数据库实例以及对应的从数据库实例:
其中,删除所述目标用户对应的主数据库实例以及对应的从数据库实例包括:
调用远程控制组件停止从数据库实例主任务;
调用远程控制组件删除从数据库实例子服务任务,所述子服务任务至少包括临时实例任务、克隆服务任务中的一种;
调用远程控制组件停止从数据库实例中的其他任务,其中,所述其他任务至少包括停止只读实例任务、删除监测任务、停用定时备份任务、停止数据库服务任务、删除信息任务、调用资源池关机任务中的一种;
获取远程控制组件删除从数据库实例的任务链,在成功删除所述主数据库实例与从数据库实例的情况下,停止对所述数据库实例对应的计费订单进行计费。
10.一种基于关系型数据库管理系统的数据库的创建装置,包括:
创建请求获取模块,用于通过web控制台获取目标用户提交的数据库创建请求,所述数据库创建请求携带所述目标用户选择的数据库实例参数,所述数据库实例参数包括数据库实例的目标类型;
计费订单创建模块,用于确定待创建的数据库实例对应有计费标记,则针对所述目标用户创建对应的计费订单;
数据库实例创建模块,用于在成功创建所述计费订单的情况下,调用所述目标用户对应的虚拟主机创建与所述数据库实例参数对应的数据库实例;
从数据库实例创建模块,用于在确定所述数据库创建请求指示创建主数据库实例和从数据库实例的情况下,在创建所述数据库实例的过程中,在确定成功创建主数据库实例的情况下,创建与所述主数据库实例对应的从数据库实例。
11.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310645180.8A CN116644058A (zh) | 2023-06-01 | 2023-06-01 | 基于关系型数据库管理系统的数据库的创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310645180.8A CN116644058A (zh) | 2023-06-01 | 2023-06-01 | 基于关系型数据库管理系统的数据库的创建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116644058A true CN116644058A (zh) | 2023-08-25 |
Family
ID=87639652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310645180.8A Pending CN116644058A (zh) | 2023-06-01 | 2023-06-01 | 基于关系型数据库管理系统的数据库的创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116644058A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765123A (zh) * | 2020-12-29 | 2021-05-07 | 中国人寿保险股份有限公司上海数据中心 | 基于OpenStack的MySQL数据库自动创建方法、装置及计算机存储介质 |
CN113515499A (zh) * | 2021-03-25 | 2021-10-19 | 中国雄安集团数字城市科技有限公司 | 一种数据库服务方法及系统 |
CN113590271A (zh) * | 2021-09-27 | 2021-11-02 | 武汉四通信息服务有限公司 | 数据库部署方法、装置、电子设备及存储介质 |
CN115878587A (zh) * | 2021-09-26 | 2023-03-31 | 中国联合网络通信集团有限公司 | 实例创建方法、装置、电子设备及可读存储介质 |
-
2023
- 2023-06-01 CN CN202310645180.8A patent/CN116644058A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765123A (zh) * | 2020-12-29 | 2021-05-07 | 中国人寿保险股份有限公司上海数据中心 | 基于OpenStack的MySQL数据库自动创建方法、装置及计算机存储介质 |
CN113515499A (zh) * | 2021-03-25 | 2021-10-19 | 中国雄安集团数字城市科技有限公司 | 一种数据库服务方法及系统 |
CN115878587A (zh) * | 2021-09-26 | 2023-03-31 | 中国联合网络通信集团有限公司 | 实例创建方法、装置、电子设备及可读存储介质 |
CN113590271A (zh) * | 2021-09-27 | 2021-11-02 | 武汉四通信息服务有限公司 | 数据库部署方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113169952B (zh) | 一种基于区块链技术的容器云管理系统 | |
CN107077382B (zh) | 在多租户应用服务器环境中进行事务恢复的系统和方法 | |
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
KR102072726B1 (ko) | 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들 | |
CN101217571B (zh) | 用于多副本数据网格系统中的写/读文件操作的方法 | |
CN113268471B (zh) | 处理分布式事务的方法、代理连接池、系统、设备及介质 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN110890987A (zh) | 自动创建集群的方法、装置、设备和系统 | |
CN113760513A (zh) | 一种分布式任务调度方法、装置、设备和介质 | |
CN109933486B (zh) | 一种物流数据的监控处理方法,装置及系统 | |
CN106874343B (zh) | 一种时序数据库的数据删除方法及系统 | |
CN113315754B (zh) | 容器出访防火墙智能联动方法及装置、设备、介质 | |
CN114548833A (zh) | 一种一体化智慧运维控制方法、系统及运维平台 | |
US11522966B2 (en) | Methods, devices and systems for non-disruptive upgrades to a replicated state machine in a distributed computing environment | |
CN117076096A (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
CN104111862A (zh) | 云计算平台中获取虚拟机ip地址方法与系统 | |
CN110659303A (zh) | 一种数据库节点的读写控制方法及装置 | |
CN116644058A (zh) | 基于关系型数据库管理系统的数据库的创建方法 | |
CN109254791A (zh) | 开发数据的管理方法、计算机可读存储介质和终端设备 | |
CN105790975A (zh) | 一种业务处理操作的执行方法及装置 | |
CN113448775A (zh) | 多源异构数据备份方法及装置 | |
CN109522098A (zh) | 分布式数据库中的事务处理方法、装置、系统和储存介质 | |
WO2024078211A1 (zh) | 业务集群实例的备份和恢复方法以及相关设备 | |
CN116028544B (zh) | 基于openstack的定时任务动态添加方法 | |
CN116010378A (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 |