掌桥专利:专业的专利平台
掌桥专利
首页

数据库部署的方法、装置及电子设备

文献发布时间:2023-06-19 11:44:10


数据库部署的方法、装置及电子设备

技术领域

本发明涉及计算机技术领域,尤其是涉及一种数据库部署的方法、装置及电子设备。

背景技术

在项目开发(例如:游戏项目的开发)中,应用开发人员首先需要提交数据库申请内容给数据库管理人员,由管理人员基于该申请内容进行需求审批,当审批通过之后,管理人员再根据上述申请内容选取数据库部署方式进行数据库部署。这种人为部署数据库的方式,可能会遗漏申请内容中的某些数据库部署信息,造成的数据库部署不符合申请需要,需要重复进行数据库部署的修改,导致数据库部署周期长、部署效率低等问题。

发明内容

有鉴于此,本发明的目的在于提供一种数据库部署的方法、装置及电子设备,以缩短数据库部署时长提高部署效率。

第一方面,本发明实施例提供了一种数据库部署的方法,其中,该方法包括:响应于客户端发送的数据库申请,提取数据库申请中携带的部署策略参考信息;其中,部署策略参考信息用于表征数据库申请对应的数据对数据库的需求信息;基于部署策略参考信息确定数据库申请对应的数据库部署策略;基于确定的数据库部署策略部署数据库申请对应的数据库。

上述部署策略参考信息包括数据重要程度信息和数据库访问性能信息;基于部署策略参考信息确定数据库申请对应的数据库部署策略的步骤,包括:基于数据重要程度信息和数据库访问性能信息确定数据库申请对应的数据库等级;将数据库等级对应的数据库部署策略,确定为数据库申请对应的数据库部署策略;其中,数据库等级由高级到低级分别对应中控机的物理机部署策略、集群服务器的集群部署策略和实例物理机的实例部署策略。

上述基于数据重要程度信息和数据库访问性能信息确定数据库申请对应的数据库等级的步骤,包括:如果数据重要程度信息为高等级,或者,数据重要程度信息为中等级,且数据库访问性能信息为高等级,确定数据库申请对应的数据库等级为高级;如果数据重要程度信息为中等级,且数据库访问性能信息为中等级,确定数据库申请对应的数据库等级为中级;如果数据重要程度信息和数据库访问性能信息中存在至少一个为低等级,确定数据库申请对应的数据库等级为低级。

上述基于确定的数据库部署策略部署数据库申请对应的数据库的步骤,包括:如果确定的数据库部署策略部署为物理机部署策略,触发中控机的中控部署服务在物理机上部署数据库申请对应的数据库;如果确定的数据库部署策略部署为集群部署策略,触发集群服务器的自动运维系统在集群上部署数据库申请对应的数据库;如果确定的数据库部署策略部署为实例部署策略,触发实例物理机的TiDB数据库实例池在数据库实例上部署数据库申请对应的数据库。

上述在响应于客户端发送的数据库申请之后,该方法还包括:提取数据库申请中携带的审核信息;其中,审核信息为申请数据库的项目对应的项目信息;应用审核信息和部署策略参考信息,获取数据库申请对应的审核结果;其中,审核结果用于表征审核信息和部署策略参考信息是否符合项目的项目要求;如果审核结果为通过,执行基于部署策略参考信息确定数据库申请对应的数据库部署策略的步骤。

上述方法还包括:响应数据库申请对应的数据库部署完成事件,将客户端的业务名和业务密码配置为数据库的授权账号,得到数据库的访问权限信息;其中,访问权限信息包括数据库的标识与业务名和业务密码的对应关系。

上述方法还包括:响应于客户端发送的数据库访问申请,提取数据库访问申请中携带的数据库标识和授权账号;判断提取到的数据库标识和授权账号是否与访问权限信息一致;如果是,允许客户端访问数据库标识对应的数据库。

上述方法还包括:获取数据库的运行日志信息;将数据库的运行日志信息返回至数据库的维护客户端。

上述方法还包括:获取管理应用服务器的运行日志信息;将管理应用服务器的运行日志信息发送给管理应用服务器的维护客户端。

上述方法还包括:获取应用服务信息;其中,应用服务信息包括管理应用服务器的资源占用信息和中控机的资源占用信息;将应用服务信息发送至管理应用服务器的维护客户端,以使维护客户端在应用服务信息异常时,进行告警处理。

第二方面,本发明实施例还提供一种数据库部署的装置,其中,该装置包括:提取模块,用于响应于客户端发送的数据库申请,提取数据库申请中携带的部署策略参考信息;其中,部署策略参考信息用于表征数据库申请对应的数据对数据库的需求信息;确定模块,用于基于部署策略参考信息确定数据库申请对应的数据库部署策略;部署模块,用于基于确定的数据库部署策略部署数据库申请对应的数据库。

第三方面,本发明实施例还提供一种电子设备,其中,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的数据库部署的方法。

第四方面,本发明实施例还提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的数据库部署的方法。

本发明实施例带来了以下有益效果:

本申请实施例提供一种数据库部署的方法、装置及电子设备,其中,通过响应数据库申请,提取出部署策略参考信息,并基于该部署策略参考信息确定数据库部署策略,以及基于确定的数据库部署策略完成数据库的部署。该方式中无需管理人员人工选择数据库库部署策略,有效避免人为部署数据库过程中因遗漏数据库部署信息导致的数据库部署策略与申请不匹配的问题,进而避免了已部署数据库的修改过程,从而能够缩短数据库部署周期,提高数据库部署的效率;进一步地,确定出的数据库部署策略可在满足部署策略参考信息的条件下部署数据库,有效降低部署资源使用率,减少部署资源消耗,以及降低了人力成本。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据库部署的方法的流程图;

图2为本发明实施例提供的另一种数据库部署的方法的流程图;

图3为本发明实施例提供的另一种数据库部署的方法的流程图;

图4为本发明实施例提供的另一种数据库部署的方法的流程图;

图5为本发明实施例提供的一种数据库部署框架的结构示意图;

图6为本发明实施例提供的一种数据库部署的装置的结构示意图;

图7为本发明实施例提供的另一种数据库部署的装置的结构示意图;

图8为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

人为部署数据库的方式,可能会遗漏申请内容中的某些数据库部署信息,造成的数据库部署不符合申请需要,需要重复进行数据库部署的修改,导致数据库部署周期长、部署效率低等问题,基于此,本发明实施例提供的一种数据库部署的方法、装置及电子设备,能够减少人为选取数据库部署策略的工作,有效避免人为部署数据库过程中因遗漏数据库部署信息导致的数据库部署策略与申请不匹配的问题,进而避免了已部署数据库的修改过程,从而能够缩短数据库部署周期,提高数据库部署的效率。

本实施例提供了一种数据库部署的方法,参见图1所示的一种数据库部署的方法的流程图,该方法具体包括如下步骤:

步骤S102,响应于客户端发送的数据库申请,提取数据库申请中携带的部署策略参考信息;其中,部署策略参考信息用于表征数据库申请对应的数据对数据库的需求信息;

上述客户端可以但不限于是个人计算机、智能手机、平板电脑、云平台等智能终端,用户可利用该客户端上提供的数据库申请界面进行数据库申请,该数据库申请界面可以包括输入框,该输入框可以是文本框、选择框及下拉框在此不进行限定,用户可将部署策略参考信息通过数据库申请界面的输入框输入,客户端检测到用户的输入确定操作后,可生成携带有部署策略参考信息的数据库申请,并将该数据库申请发送至管理应用服务器中,以使管理应用服务器提取数据库申请中的部署策略参考信息。

在实际使用时,管理应用服务器可与多个客户端通过网络进行通信,管理应用服务器可接收多个客户端上传的数据库申请,因此,管理应用服务器可将接收的多个数据库申请存储至消息队列中,并可对多个数据库申请按照接收到申请时间顺序进行处理,在完成了一个数据库申请所对应的数据库部署任务之后,再从消息队列中获取下一个数据库申请进行数据库部署。

上述部署策略参考信息用于表征数据库申请对应的数据对数据库的需求信息,例如,部署策略参考信息包括数据库访问性能信息和数据重要程度信息,还可以包括数据库容量、数据库版本等信息,其中,数据库访问性能信息是数据对数据库反应能力的需求,数据重要程度信息是指数据本身的重要程度,而数据库容量和数据库版本是数据对数据库容量的需求;不同需求可通过不同具体参考信息进行表示,在此不对部署策略参考信息包括的参考信息进行限定。

步骤S104,基于部署策略参考信息确定数据库申请对应的数据库部署策略;

本实施例的数据库部署策略可以包括中控机、集群服务器和实例物理机分别对应的数据库部署策略,通常,可由管理应用服务器提供中控机、集群服务器和实例物理机分别对应的数据库部署策略。

在实际使用时,上述管理应用服务器分别与中控机、集群服务器和实例物理机交互通讯,其中,该管理应用服务器提供的数据库部署策略可以理解为数据库部署方式,不同的数据库部署对象(该部署对象为中控机连接的物理机、集群服务器的集群或实例物理机的数据库实例)管理应用服务器提供不同的数据库部署方式。在此不对数据库部署对象,以及数据库部署策略进行限定。

具体地,不同的部署策略参考信息可以对应不同的数据库部署策略。为了基于部署策略参考信息比较容易地确定出数据库部署策略,预先可以保存部署策略参考信息与数据库部署策略的对应关系,该对应关系可以通过对应关系表进行存储。该对应关系表中可以存储有部署策略参考信息对应的数据库等级与数据库部署策略的对应关系,比如,部署策略参考信息对应的数据库等级为高级,则与中控机的数据库部署策略对应,部署策略参考信息对应的数据库等级为中级,则与集群服务器的数据库部署策略对应,部署策略参考信息对应的数据库等级为低级,则与实例物理机的数据库部署策略对应。

在实际使用时,上述对应关系表中还可以存储的是部署策略参考信息中包括的具体的参考信息与数据库部署策略的对应关系;比如,该部署策略参考信息中包括数据库访问性能信息和数据重要程度信息,则与中控机的数据库部署策略对应,该部署策略参考信息中包括数据库访问性能信息、数据重要程度信息和数据库容量,则与集群服务器的数据库部署策略对应,该部署策略参考信息中包括数据库访问性能信息和数据库容量则与实例物理机的数据库部署策略对应。上述部署策略参考信息与数据库部署策略的对应关系可以根据实际需求进行设定,在此不进行限定。

步骤S106,基于确定的数据库部署策略部署数据库申请对应的数据库。

本实施例部署的数据库,会因为数据库部署策略的不同会将数据库部署到不同的数据库部署对象上,由于在本实施例中数据库部署策略有三种,因此,可将数据库部署到三个不同的数据库部署对象上,如果是中控机对应的数据库部署策略,则将数据库部署到中控机连接的物理机上;如果是集群服务器对应的数据库部署策略,则将数据库部署到集群上;如果是实例物理机对应的数据库部署策略,则将数据库部署到数据库实例上;这样可以使得数据库部署策略与部署的数据库匹配。

本申请实施例提供一种数据库部署的方法,通过响应数据库申请,提取出部署策略参考信息,并基于该部署策略参考信息确定数据库部署策略,以及基于确定的数据库部署策略完成数据库的部署。该方式中无需管理人员人工选择数据库库部署策略,有效避免人为部署数据库过程中因遗漏数据库部署信息导致的数据库部署策略与申请不匹配的问题,进而避免了已部署数据库的修改过程,从而能够缩短数据库部署周期,提高数据库部署的效率;进一步地,确定出的数据库部署策略可在满足部署策略参考信息的条件下部署数据库,有效降低部署资源使用率,减少部署资源消耗,以及降低了人力成本。

本实施例提供了另一种数据库部署的方法,该方法在上述实施例的基础上实现;本实施例重点描述确定数据库申请对应的数据库部署策略的具体实施方式。如图2所示的另一种数据库部署的方法的流程图,本实施例中的数据库部署的方法包括如下步骤:

步骤S202,响应于客户端发送的数据库申请,提取数据库申请中携带的部署策略参考信息;其中,部署策略参考信息用于表征数据库申请对应的数据对数据库的需求信息;

步骤S204,基于数据重要程度信息和数据库访问性能信息确定数据库申请对应的数据库等级;

在本实施例中,以部署策略参考信息包括数据重要程度信息和数据库访问性能信息为例进行说明,其中,数据重要程度信息是指当前待存储至数据库中的数据的重要性,通常,可将该数据重要程度信息分成高等级、中等级和低等级,通过等级的划分以区别数据的重要程度。

比如,在游戏开发过程中,游戏开发人员将人物模型的模型数据的数据重要程度信息设为高等级、动物模型的模型数据的数据重要程度信息设为中等级,至于其他场景模型的模型数据的数据重要程度信息设为低等级,在本实施例中,数据重要程度信息可以根据实际开发的游戏数据进行设定,在此不进行限定。

上述数据库访问性能信息是指数据访问数据库时数据库反应快慢的性能信息,通常,可将该数据库访问性能信息分成高等级、中等级和低等级,通过等级的划分以区别数据库反应性能,在实际使用时,数据重要程度信息和数据库访问性能信息可根据实际需要进行等级划分,在此不进行限定。

在本实施例中,仅以上述数据重要程度信息和数据库访问性能信息为例进行说明数据库等级的确定方法,在实际使用时,可以根据部署策略参考信息的划分等级来确定数据库等级具体有几个等级,可以理解为,部署策略参考信息的划分几个等级,数据库等级也就有几个。

由于将上述数据重要程度信息和数据库访问性能信息划分为三个等级,因此,在本实施例中,基于数据重要程度信息和数据库访问性能信息确定出的数据库等级同样为三个等级,分别为高等级、中等级和低等级。

其中,数据库等级为高等级是在数据重要程度信息为高等级,或者,数据重要程度信息为中等级,且数据库访问性能信息为高等级确定出来的;数据库等级为中等级是在数据重要程度信息为中等级,且数据库访问性能信息为中等级确定出来的;数据库等级为低等级是在数据重要程度信息和数据库访问性能信息中存在至少一个为低等级确定出来的。

步骤S206,将数据库等级对应的数据库部署策略,确定为数据库申请对应的数据库部署策略;其中,数据库等级由高级到低级分别对应中控机的物理机部署策略、集群服务器的集群部署策略和实例物理机的实例部署策略;

由于物理机部署策略中每个服务都独占一台物理机,集群部署策略中可能一台物理机包括多个服务,实例部署策略中一个数据库实例会供多个用户使用,所以物理机部署策略在性能和稳定性上是三种策略中最好的,因此,将物理机部署策略对应的数据库等级设定为高等级;集群部署策略相较于实例部署策略在性能和稳定性要好,因此,将集群部署策略对应的数据库等级设定为中等级,而实例部署策略对应的数据库等级设定为低等级。

步骤S208,基于确定的数据库部署策略部署数据库申请对应的数据库。

由于TiDB分布式数据库具备吞吐量、存储和计算能力的水平扩展、水平伸缩时不停以及服务强一致性分布式ACID(ACID是指原子性(Atomicity)、一致性(Consistency)、隔离性或独立性(Isolation)和持久性(Durabilily))事务等特性,被广泛应用于数据存储和数据管理,因此,在本实施例中,以部署TiDB分布式数据库为例进行说明。

当通过数据重要程度信息和数据库访问性能信息确定出的数据库等级为高等级,则高等级的数据库等级对应的数据库部署策略为物理机部署策略,可利用物理机部署策略在物理机上进行TiDB分布式数据库部署。

当通过数据重要程度信息和数据库访问性能信息确定出的数据库等级为中等级,则中等级的数据库等级对应的数据库部署策略为集群部署策略,可利用集群部署策略在集群上进行TiDB分布式数据库部署。

当通过数据重要程度信息和数据库访问性能信息确定出的数据库等级为低等级,则低等级的数据库等级对应的数据库部署策略为实例部署策略,可利用实例部署策略在数据库实例上进行TiDB分布式数据库部署。

由于在本实施例中包括上述三种数据库部署策略,因此,基于不同的数据库部署策略可在不同的数据库部署对象进行数据库部署。

其中,在物理机上部署数据库需确定出的数据库部署策略部署为物理机部署策略,触发中控机的中控部署服务才能在物理机上进行数据库部署;在实际使用时,上述中控部署服务为预先部署在中控机上运行的应用程序,中控机可与多个物理机通讯连接,在管理应用服务器中预先存储有每个物理机对应的物理IP(Internet Protocol,网络之间互连的协议)。

具体在物理机上进行数据库部署的过程包括:首先,管理应用服务器在多个物理IP中查找未被使用的物理机对应的目标物理IP,并将目标物理IP以IP列表的形式发送至中控部署服务;然后,管理应用服务器触发中控部署服务控制基于目标物理IP生成配置文件;其中,该配置文件中包括配置信息,该配置信息包括以下至少之一:pd配置信息、tidb配置信息、tikv配置信息;之后,中控部署服务查找配置信息对应的配置服务;上述配置服务包括以下至少之一:pd配置服务、tidb配置服务、tikv配置服务;其中,pd配置信息对应pd配置服务,tidb配置信息对应tidb配置服务,tikv配置信息对应tikv配置服务;最后,管理应用服务器触发中控机中的物理机部署工具TiUP将配置服务配置到与目标物理IP对应的物理机上。

在集群上部署数据库需确定的数据库部署策略部署为集群部署策略,触发集群服务器的自动运维系统(Operator)才能在集群上进行数据库部署;通常,在集群服务器上可以运行有K8S集群、Redis集群或Kubernetes集群,在实际应用时,不同集群对应的集群部署策略存在差异,因此,针对不同集群在其集群上基于对应的集群部署策略进行数据库部署的过程也不尽相同,在本实施例中,以集群服务器运行有K8S集群为例详细说明在K8S集群上进行数据库部署的过程,具体地,数据库部署过程包括:首先,管理应用服务器基于CRD模板创建CRD部署信息;其中,CRD部署信息为K8S集群的属性信息,该属性信息包括以下至少之一:tidb服务配置信息、pd服务配置信息、tikv服务配置信息;然后,管理应用服务器将CRD部署信息通过API(Application Program Interface,应用程序接口)接口发送至自动运维系统中;最后,管理应用服务器触发自动运维系统将所述CRD部署信息部署到K8S集群中。

在数据库实例上部署数据库需确定出的数据库部署策略部署为实例部署策略,触发实例物理机的TiDB数据库实例池才能在数据库实例上进行数据库部署;通常,多个TiDB数据库实例池部署在实例物理机中,每个TiDB数据库实例池包括多个数据库实例,在管理应用服务器还存储有每个数据库实例对应的预设数据库数量;其中,数据库实例是由各种高速缓冲池以及后台进程组成的,每个数据库实例下可创建多个数据库。

在数据库实例上进行数据库部署的过程包括:首先,管理应用服务器获取各个数据库实例中当前数据库数量;该当前数据库数据即为当前数据库实例已经创建好的数据库的数据;然后,管理应用服务器选取当前数据库数量小于预设数据库数量对应的数据库实例集;之后,管理应用服务器从数据库实例集中确定目标数据库实例;若数据库实例集中只有一个数据库实例,则将该数据库实例确定为目标数据库实例,若数据库实例集中包括多个数据库实例时,可从数据库实例集中随机选择一个数据库实例作为目标数据库实例,或者,从数据库实例集中选择当前数据库数量最小的数据库实例作为目标数据库实例,具体从数据库实例集确定目标数据库实例的方法可根据实际需要进行确定,在此不对目标数据库确定的方法进行限定;最后,管理应用服务器通过JDBC(Java DataBase Connectivity,Java数据库连接)驱动连接目标数据库实例,以进行数据库部署。

本发明实施例提供的上述数据库部署的方法,能够基于部署策略参考信息包括的数据重要程度信息和数据库访问性能信息确定数据库申请对应的数据库等级,并将数据库等级对应的数据库部署策略确定为数据库申请对应的数据库部署策略,可有效避免人为部署过程中存在的遗漏数据库部署信息的问题,提高了数据库部署的准确性,进而缩短数据库部署周期,提高数据库部署的效率。

本实施例提供了另一种数据库部署的方法,该方法在上述实施例的基础上实现;本实施例重点描述申请审核的具体实施方式。如图3所示的另一种数据库部署的方法的流程图,本实施例中的数据库部署的方法包括如下步骤:

步骤S302,响应于客户端发送的数据库申请,提取数据库申请中携带的部署策略参考信息;其中,部署策略参考信息用于表征数据库申请对应的数据对数据库的需求信息;

步骤S304,提取数据库申请中携带的审核信息;其中,审核信息为申请数据库的项目对应的项目信息;

该项目信息可以包括但不限于业务名、业务密码、申请原因、项目标识等,该项目标识用于将该项目区分于其他项目的标识,项目标识可由字母、数字、标点符号、文字等其中一种或多种构成,在此不进行限定。

步骤S306,应用审核信息和部署策略参考信息,获取数据库申请对应的审核结果;其中,审核结果用于表征审核信息和部署策略参考信息是否符合项目的项目要求;

如果申请数据库的客户端和审核信息的客户端为同一客户端时,在实际使用时,该客户端的数据库申请界面还包括确定控件和取消控件,当用户在客户端的数据库申请界面上输入上述审核信息和部署策略参考信息后,用户在判断出输入的审核信息和部署策略参考信息满足项目要求时,需点击确定控件以进行信息确认,客户端将审核通过的审核结果发送至管理应用服务器,管理应用服务器接收到审核通过的审核结果时则可执行步骤S308至步骤S312中任一步骤进行数据库等级的确定,进而通过数据库等级确定数据库部署策略部署实现数据库的部署;如果用户在判断出输入的审核信息和部署策略参考信息不满足项目要求时,需点击取消控件取消在数据库申请界面的输入框输入的信息,用户可重新在数据库申请界面输入满足项目要求的审核信息和部署策略参考信息。

如果申请数据库的客户端和审核信息的客户端不为同一客户端时,客户端可将审核信息和部署策略参考信息发送至审核客户端进行信息审核,客户端可接收到审核客户端发送的审核结果,客户端并将该审核结果发送至管理应用服务器,如果审核结果为通过则可执行步骤S308至步骤S312中任一步骤进行数据库等级的确定,进而通过数据库等级确定数据库部署策略部署实现数据库的部署;如果审核结果为不通过则需要用户重新在客户端数据库申请界面输入满足项目要求的审核信息和部署策略参考信息。

步骤S308,数据重要程度信息为高等级,或者,数据重要程度信息为中等级,且数据库访问性能信息为高等级,确定数据库申请对应的数据库等级为高级;

在判断出数据库申请对应的数据库等级为高级时,可执行步骤S314基于物理机部署策略在物理机上部署数据库。

步骤S310,数据重要程度信息为中等级,且数据库访问性能信息为中等级,确定数据库申请对应的数据库等级为中级;

在判断出数据库申请对应的数据库等级为中级时,可执行步骤S316基于集群部署策略在集群上部署数据库。

步骤S312,数据重要程度信息和数据库访问性能信息中存在至少一个为低等级,确定数据库申请对应的数据库等级为低级。

在判断出数据库申请对应的数据库等级为低级时,可执行步骤S318基于实例部署策略在数据库实例上部署数据库。

步骤S314,确定的数据库部署策略部署为物理机部署策略,触发中控机的中控部署服务在物理机上部署数据库申请对应的数据库;

步骤S316,确定的数据库部署策略部署为集群部署策略,触发集群服务器的自动运维系统在集群上部署数据库申请对应的数据库;

步骤S318,确定的数据库部署策略部署为实例部署策略,触发实例物理机的TiDB数据库实例池在数据库实例上部署数据库申请对应的数据库。

在上述物理机、集群或数据库实例进行数据库部署的过程同上一实施例中描述的过程,因此,在此不进行一一赘述。

本发明实施例提供的上述数据库部署的方法,能够在响应于客户端发送的数据库申请时,从数据库申请中提取出携带的部署策略参考信息和审核信息,并在部署策略参考信息和审核信息符合项目的项目要求时才进行数据库部署,通过对数据库申请中携带的信息进行审核,保证了部署的数据库满足项目需求,提升了数据库部署的准确性。

本实施例提供了另一种数据库部署的方法,该方法在上述实施例的基础上实现;本实施例重点描述数据库部署完成访问运行的具体实施方式。如图4所示的另一种数据库部署的方法的流程图,本实施例中的数据库部署的方法包括如下步骤:

步骤S402,响应于客户端发送的数据库申请,提取数据库申请中携带的部署策略参考信息;其中,部署策略参考信息用于表征数据库申请对应的数据对数据库的需求信息;

步骤S404,基于部署策略参考信息确定数据库申请对应的数据库部署策略;

步骤S406,基于确定的数据库部署策略部署数据库申请对应的数据库;

步骤S408,响应数据库申请对应的数据库部署完成事件,将客户端的业务名和业务密码配置为数据库的授权账号,得到数据库的访问权限信息;其中,访问权限信息包括数据库的标识与业务名和业务密码的对应关系。

上述授权账号为允许相应的客户端对部署的数据库进行访问的凭证,在实际使用时,当检测到数据库部署完成时,可设置数据库的访问权限信息,并将访问权限信息中包括数据库的标识与业务名和业务密码的对应关系写入授权列表进行存储,以用于步骤S410至步骤S414客户端访问数据库的验证使用。其中,数据库的标识不限于数据库的IP地址或自定义标识,在此不进行限定。

步骤S410,响应于客户端发送的数据库访问申请,提取数据库访问申请中携带的数据库标识和授权账号;

当客户端需要访问部署好的数据库时,需要在客户端的数据库登录界面输入授权账号(业务名和业务密码)和数据库标识,客户端检测到用户的输入确定操作后,可生成携带有授权账号和数据库标识的数据库访问申请,并将该数据库访问申请发送至管理应用服务器中,以使管理应用服务器提取数据库访问申请中的数据库标识和授权账号。

步骤S412,判断提取到的数据库标识和授权账号是否与访问权限信息一致;

管理应用服务器在提取数据库标识和授权账号后,判断该数据库标识和授权账号与授权列表中存储的数据库标识和授权账号是否一致,如果一致,执行步骤S414,如果不一致,则执行步骤S416。

步骤S414,允许客户端访问数据库标识对应的数据库;

步骤S416,不允许客户端访问数据库标识对应的数据库。

本发明实施例提供的上述数据库部署的方法,能够在响应于客户端发送的数据库访问申请,提取数据库访问申请中携带的数据库标识和授权账号,在判断出数据库标识和授权账号与访问权限信息一致时才能访问数据库,有效提高了数据库访问的安全性。

在实际使用时,为了监测部署好的数据库运行是否安全,在本实施例中,可获取数据库的运行日志信息后,将数据库的运行日志信息返回至数据库的维护客户端。

由于数据库的运行日志信息中记录了数据库中发生的事件,用户可以通过运行日志信息来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹,因此,可将运行日志信息返回至数据库的维护客户端供维修人员进行信息查询以便于进行数据库维护管理,在本实施例中,上述维修人员也可以是数据库申请用户,因此,维修客户端可以是发送数据库申请的客户端。

在本实施例中,还可以监测管理应用服务器是否安全运行,具体为:获取管理应用服务器的运行日志信息;将管理应用服务器的运行日志信息发送给管理应用服务器的维护客户端。

同样在管理应用服务器的运行日志信息中记录了管理应用服务器中发生的事件,用户可以通过该运行日志信息来检查管理应用服务器错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹,所以,可将上述运行日志信息返回至管理应用服务器的维护客户端供维修人员进行信息查询以便于进行数据库维护管理。

进一步,为了监测管理应用服务器和中控机的资源占用情况,在本实施例中,需要先获取应用服务信息;其中,该应用服务信息包括管理应用服务器的资源占用信息和中控机的资源占用信息;将应用服务信息发送至管理应用服务器的维护客户端,以使维护客户端在应用服务信息异常时,进行告警处理。

上述资源包括CPU(Central Processing Unit,中央处理器)资源和内存资源,当维护客户端接收到应用服务信息后,监测到该应用服务信息超过预设应用服务信息阈值时,则生成报警信号(比如,文字报警信号)发送至维护客户端进行显示,以提示维护人员应用服务信息异常需要进行维护处理。

在本实施例中,如果维修人员是数据库申请用户,则管理应用服务器的维修客户端为发送数据库申请的客户端,如果维修人员不是数据库申请用户,则管理应用服务器的维修客户端为其他客户端。

为了便于理解数据库部署的方法,图5示出了一种数据库部署框架的结构示意图,如图5所示,可将数据库部署框架分为5层,分别为:应用层、业务层、数据库层、基础服务层、运行环境层;其中,应用层为客户端,用于发起数据库申请;业务层为管理应用服务器的管理应用服务,该管理应用服务为运行在管理应用服务器上的应用程序,用于提取数据库申请中携带的部署策略参考信息,并根据部署策略参考信息确定数据库部署策略;数据库层为TiDB分布式数据库为待部署的数据库;基础服务层包括中控部署服务、自动运维系统和TiDB数据库实例池,运行环境包括物理机、集群和数据库实例;如果确定出数据库部署策略为物理机部署策略,则管理应用服务触发中控部署服务将TiDB分布式数据库部署到物理机上;如果确定出数据库部署策略为集群部署策略,则管理应用服务触发自动运维系统将TiDB分布式数据库部署到集群上;如果确定出数据库部署策略为实例部署策略,则管理应用服务触发TiDB数据库实例池将TiDB分布式数据库部署到数据库实例上。

如图5所示,该数据库部署框架还包括权限控制、日志处理和监控告警,其中,权限控制即用于为部署的数据库配置授权账号,管理数据库访问权限信息;日志处理可用于监测数据库和管理应用服务器运行是否安全;监控告警则是监测应用服务信息是否发生异常,当应用服务信息异常时,则通过邮件、通信工具等方式通知相关维修人员进行维修处理。

对应于上述方法实施例,本发明实施例提供了一种数据库部署的装置,图6示出了一种数据库部署的装置的结构示意图,如图6所示,该数据库部署的装置包括:

提取模块602,用于响应于客户端发送的数据库申请,提取数据库申请中携带的部署策略参考信息;其中,部署策略参考信息用于表征数据库申请对应的数据对数据库的需求信息;

确定模块604,用于基于部署策略参考信息确定数据库申请对应的数据库部署策略;

部署模块606,用于基于确定的数据库部署策略部署数据库申请对应的数据库。

本申请实施例提供一种数据库部署的装置,其中,通过响应数据库申请,提取出部署策略参考信息,并基于该部署策略参考信息确定数据库部署策略,以及基于确定的数据库部署策略完成数据库的部署。该方式中无需管理人员人工选择数据库库部署策略,有效避免人为部署数据库过程中因遗漏数据库部署信息导致的数据库部署策略与申请不匹配的问题,进而避免了已部署数据库的修改过程,从而能够缩短数据库部署周期,提高数据库部署的效率;进一步地,确定出的数据库部署策略可在满足部署策略参考信息的条件下部署数据库,有效降低部署资源使用率,减少部署资源消耗,以及降低了人力成本。

上述部署策略参考信息包括数据重要程度信息和数据库访问性能信息;其中,上述确定模块604,还用于基于数据重要程度信息和数据库访问性能信息确定数据库申请对应的数据库等级;将数据库等级对应的数据库部署策略,确定为数据库申请对应的数据库部署策略;其中,数据库等级由高级到低级分别对应中控机的物理机部署策略、集群服务器的集群部署策略和实例物理机的实例部署策略。

上述确定模块604,还用于如果数据重要程度信息为高等级,或者,数据重要程度信息为中等级,且数据库访问性能信息为高等级,确定数据库申请对应的数据库等级为高级;如果数据重要程度信息为中等级,且数据库访问性能信息为中等级,确定数据库申请对应的数据库等级为中级;如果数据重要程度信息和数据库访问性能信息中存在至少一个为低等级,确定数据库申请对应的数据库等级为低级。

上述部署模块606,还用于如果确定的数据库部署策略部署为物理机部署策略,触发中控机的中控部署服务在物理机上部署数据库申请对应的数据库;如果确定的数据库部署策略部署为集群部署策略,触发集群服务器的自动运维系统在集群上部署数据库申请对应的数据库;如果确定的数据库部署策略部署为实例部署策略,触发实例物理机的TiDB数据库实例池在数据库实例上部署数据库申请对应的数据库。

基于上述数据库部署的装置,本发明实施例还提供了另一种数据库部署的装置,参见图7所示的数据库部署的装置的结构示意图,该数据库部署的装置除了包括图6所示的结构之外,还包括与提取模块602和确定模块604均连接的审核模块702,用于提取数据库申请中携带的审核信息;其中,审核信息为申请数据库的项目对应的项目信息;应用审核信息和部署策略参考信息,获取数据库申请对应的审核结果;其中,审核结果用于表征审核信息和部署策略参考信息是否符合项目的项目要求;如果审核结果为通过,执行基于部署策略参考信息确定数据库申请对应的数据库部署策略的步骤。

上述数据库部署的装置还包括与部署模块606连接的配置模块704,用于响应数据库申请对应的数据库部署完成事件,将客户端的业务名和业务密码配置为数据库的授权账号,得到数据库的访问权限信息;其中,访问权限信息包括数据库的标识与业务名和业务密码的对应关系。

上述数据库部署的装置还包括与配置模块704连接的访问模块706,用于响应于客户端发送的数据库访问申请,提取数据库访问申请中携带的数据库标识和授权账号;判断提取到的数据库标识和授权账号是否与访问权限信息一致;如果是,允许客户端访问数据库标识对应的数据库。

上述数据库部署的装置还包括返回模块,用于获取数据库的运行日志信息;将数据库的运行日志信息返回至数据库的维护客户端。

上述数据库部署的装置发送模块,用于获取管理应用服务器的运行日志信息;将管理应用服务器的运行日志信息发送给管理应用服务器的维护客户端。

上述数据库部署的装置还包括告警模块,用于获取应用服务信息;其中,应用服务信息包括管理应用服务器的资源占用信息和中控机的资源占用信息;将应用服务信息发送至管理应用服务器的维护客户端,以使维护客户端在应用服务信息异常时,进行告警处理。

本发明实施例提供的数据库部署的装置,与上述实施例提供的数据库部署的方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本申请实施例还提供了一种电子设备,如图8所示,为该电子设备的结构示意图,其中,该电子设备包括处理器121和存储器120,该存储器120存储有能够被该处理器121执行的计算机可执行指令,该处理器121执行该计算机可执行指令以实现上述数据库部署的方法。

在图8示出的实施方式中,该电子设备还包括总线122和通信接口123,其中,处理器121、通信接口123和存储器120通过总线122连接。

其中,存储器120可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口123(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线122可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线122可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器121可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器121中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器121可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器121读取存储器中的信息,结合其硬件完成前述实施例的数据库部署的方法的步骤。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述数据库部署的方法,具体实现可参见前述方法实施例,在此不再赘述。

本申请实施例所提供的数据库部署的方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种数据库部署方法、数据库部署装置、控制设备及系统
  • 一种数据库部署方法、数据库部署装置、控制设备及系统
技术分类

06120113034633