数据库迁移方法、装置、设备及计算机可读存储介质与流程
未命名
08-29
阅读:117
评论:0

1.本技术实施例涉及数据库迁移技术领域,具体涉及一种数据库迁移方法、装置、设备及计算机可读存储介质。
背景技术:
2.相比传统环境下的数据库,例如idc(internet data center,互联网数据中心)数据库,云数据库具有灵活弹性、可靠性可用性高、运维成本低、可自助管理使用等优势,因此,将数据库迁移上云是整个行业的大势所趋。
3.目前数据库的迁移通常都是用户借助于数据库迁移等工具实现的,用户在工具页面通过配置目标服务器的一些参数,就能够实现数据库的迁移。然而,现有的数据库迁移工具对用户的要求高,当用户不熟练的数据库迁移业务流程时,可能会将待迁移的数据库迁移至不合适的服务器上,影响了迁移效果。
技术实现要素:
4.本技术实施例提供一种数据库迁移方法、装置、设备及计算机可读存储介质,旨在解决现有的数据库迁移方法还存在对用户要求高,适用性差的技术问题。
5.一方面,本技术实施例提供一种数据库迁移方法,包括:
6.获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息;
7.根据所述初始参数信息、所述使用记录以及所述候选参数信息,从所述候选服务器中确定目标服务器;
8.将所述初始数据库中的数据迁移至所述目标服务器。
9.作为本技术的一种可选实施例,所述根据所述初始参数信息、所述使用记录以及所述候选参数信息,从所述候选服务器中确定目标服务器,包括:
10.根据所述初始参数信息和所述候选参数信息确定所述候选服务器的参数比值信息;
11.根据所述参数比值信息和所述使用记录,从所述候选服务器中确定目标服务器。
12.作为本技术的一种可选实施例,所述根据所述初始参数信息和所述候选参数信息确定所述候选服务器的参数比值信息,包括:
13.根据所述初始参数信息中的内存空间和所述候选参数信息中的内存空间,确定所述候选服务器的内存比值;
14.根据所述初始参数信息中的磁盘空间和所述候选参数信息中的磁盘空间,确定所述候选服务器的磁盘比值;
15.将所述内存比值和所述磁盘比值设定为所述候选服务器的参数比值信息。
16.作为本技术的一种可选实施例,所述根据所述参数比值信息和所述使用记录,从所述候选服务器中确定目标服务器,包括:
17.查询预设关联表,获取与所述使用记录中访问频率关联的比例阈值;
18.将参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器确定为目标服务器。
19.作为本技术的一种可选实施例,将参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器确定为目标服务器包括:
20.获取参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器,以及所述候选服务器的数量;
21.若所述候选服务器的数量为至少两个,则根据各所述候选服务器的候选参数信息中的主频参数从所述候选服务器中确定目标服务器。
22.作为本技术的一种可选实施例,所述获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息之前,所述方法还包括:
23.采集预设服务器内各数据库的内存空间以及磁盘空间;
24.根据各所述数据库的内存空间以及磁盘空间,生成数据库迁移的配置页面;
25.所述获取待迁移的初始数据库的初始参数信息和使用记录,包括:
26.输出所述数据库迁移的配置页面;
27.获取所述配置页面上选中的待迁移的初始数据库,并将所述待迁移的初始数据库对应的内存空间和磁盘空间设为初始参数信息;
28.查询所述初始数据库的日志,得到所述初始数据库的使用记录。
29.作为本技术的一种可选实施例,所述将所述初始数据库中的数据迁移至所述目标服务器,包括:
30.根据所述使用记录确定预设时段内所述初始数据库的历史吞吐量;
31.根据所述历史吞吐量的统计特征,设定所述初始数据库的迁移时间;
32.根据所述迁移时间将所述初始数据库中的数据迁移至所述目标服务器。
33.另一方面,本技术实施例还提供一种数据库迁移装置,包括:
34.获取模块,用于获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息;
35.确定模块,用于根据所述初始参数信息、所述使用记录以及所述候选参数信息,从所述候选服务器中确定目标服务器;
36.迁移模块,用于将所述初始数据库中的数据迁移至所述目标服务器。
37.另一方面,本技术实施例还提供一种数据库迁移设备,所述数据库迁移设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的数据库迁移程序,所述处理器执行所述数据库迁移程序以实现上述的数据库迁移方法中的步骤。
38.另一方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库迁移程序,所述数据库迁移程序被处理器执行以实现上述的数据库迁移方法中的步骤。
39.本技术实施例提供的数据库迁移方法,在确定需要迁移的初始数据库后,能够自动采集待迁移的初始数据库的初始参数信息、使用记录以及多个候选服务器的候选参数信息,并自动根据初始参数信息、使用记录以及候选参数信息,确定最合适的目标服务器,从而完成初始数据库中数据的迁移。相比于需要人工选择配置目标服务器的参数的迁移技
术,本技术实施例提供的数据库迁移方法无需额外配置参数信息,降低了用户对数据库迁移业务流程的要求,同时在筛选目标服务器的过程中额外考虑了初始数据库的使用记录,便于后续数据库的扩容。
附图说明
40.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本技术实施例提供的一种数据库迁移方法的实现场景示意图;
42.图2为本技术实施例提供的一种数据库迁移方法的步骤流程示意图;
43.图3为本技术实施例提供的一种从候选服务器中确定目标服务器的步骤流程示意图;
44.图4为本技术实施例提供的一种计算参数比值信息的步骤流程示意图;
45.图5为本技术实施例提供的一种根据参数比值信息和使用记录确定目标服务器的步骤流程示意图;
46.图6为本技术实施例提供的另一种根据参数比值信息和使用记录确定目标服务器的步骤流程示意图;
47.图7为本技术实施例提供的一种获取待迁移的初始数据库的初始参数信息和使用记录的步骤流程示意图;
48.图8为本技术实施例提供的一种将数据迁移至目标服务器的步骤流程示意图;
49.图9为本技术实施例提供的一种数据库迁移装置的结构示意图;
50.图10为本技术实施例提供的一种数据库迁移设备的结构示意图。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明包含的范围。
52.在本技术实施例中,“示例性”一词用来表示“用作例子、例证或说明”。本技术实施例中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术实施例所公开的原理和特征的最广范围相一致。
53.本技术实施例中提供一种数据库迁移方法、装置、设备及计算机可读存储介质,以下分别进行详细说明。
54.本技术实施例中数据库迁移方法是以程序的形式部署在数据库迁移装置上,数据
库迁移装置是以处理器的形式安装在数据库迁移设备中,数据库迁移设备中的数据库迁移装置通过运行数据库迁移方法对应的程序,以获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息,根据初始参数信息、使用记录以及候选参数信息,从候选服务器中确定目标服务器,将初始数据库中的数据迁移至目标服务器,从而完成对初始数据库的数据迁移。
55.如图1所示,图1为本技术实施例提供的一种数据库迁移方法的实现场景示意图,本技术实施例提供的实现场景示意中包括初始数据库100、数据库迁移装置200以及多个候选服务器300,其中,初始数据库100通常是指传统环境下的,例如位于互联网数据中心的数据库,而候选服务器通常是指云服务器,具体可以是由云服务商所提供。当然,上述提供互联网数据中心的数据库仅仅为一种常见的数据库迁移的实现场景下的初始数据库,并不构成对初始数据库的限定,事实上,初始数据库也可以是云数据库或者其他具备数据存储能力的设备,同理,候选服务器也可以是其他形式存在的服务器,本技术在此不再赘述。
56.而数据库迁移装置200可以理解为部署有数据库迁移程序的处理器,并分别与初始数据库100和候选服务器300通讯相连,通过采集初始数据库100和候选服务器300的相关参数信息,以及初始数据库100的使用记录,并利用上述信息自动的从候选服务器300中选择合适的目标服务器,以将初始数据库100中的数据迁移至目标服务器中。
57.基于上述数据库迁移方法的实现场景示意图,提出了数据库迁移方法的具体实施例。
58.如图2所示,图2为本技术实施例提供的一种数据库迁移方法的步骤流程示意图,本技术实施例中数据库迁移方法包括步骤201-203:
59.201,获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息。
60.本技术实施例中,在确定待迁移的初始数据库后,数据库迁移装置通过向初始数据库以及云服务商所提供的不同规格配置的候选服务器发送参数信息获取请求,就可以获取得到初始数据库和候选服务器的参数信息。具体的,为了使得迁移后的数据库的性能能够满足初始数据库的性能需求,因此,所获取的参数信息主要包括有磁盘空间、内存空间、主频等与数据库、服务器性能相关的参数,当然,参数信息还应当包含有与完成数据库迁移所需要的其他相关参数,例如ip地址、端口等等,后续将结合具体的参数信息给出数据库迁移的完整实现方案。
61.进一步的,数据库迁移装置还可以通过访问初始数据库的日志,从而获取到初始数据库的使用记录。具体的,使用记录主要包含了初始数据库各时段的吞吐量,基于该使用记录就可以确定用于描述数据库活跃度的访问频率。可以理解,初始数据库在各时段的吞吐量总体越高,则该数据库的访问频率也就越高,其活跃度也就越高。
62.此外,需要说明的是,在前述图1所提供的数据库迁移方法的实现场景示意图中,当需要将位于互联网数据中心的数据库迁移上云时,通常需要将互联网数据中心所存在的全部数据库进行迁移上云,但考虑到实际场景下,会存在大量已经废弃无人使用的数据库,将全部数据库迁移上云会占用大量的运维成本,作为本技术的一种可选实施例,数据库迁移装置会采集互联网数据中心的全部数据库的信息,并将各数据库的信息展示,以便于用户挑选出仍处于使用状态,待迁移上云的数据库,从而针对性的进行数据库迁移。具体的实
现方案可以参阅后续图7及其解释说明的内容。
63.202,根据所述初始参数信息、所述使用记录以及所述候选参数信息,从所述候选服务器中确定目标服务器。
64.可以理解,为了使初始数据库的数据能够完整的迁移至服务器上,并且迁移后的数据库能够完整的行使初始数据库的功能,因此,对于最终所确定的目标服务器的性能参数具有一定的要求。例如,最常见的,最终从候选服务器中所确定的目标服务器的磁盘空间以及内存空间均应当大于初始数据库的磁盘空间和内存空间,也就是需要保证一定的余量。但是,余量过高又会导致服务器性能的浪费,提高了运维成本。因此,在本技术实施例中,会额外结合初始数据库的使用记录,也就是利用数据库的使用活跃度来进一步确定合适的目标服务器,既有效保证了迁移后的数据库能够正常行使功能,又针对性的根据数据库的活跃度来选择恰当的余量,避免了过高的运维成本,同时也便于后续的扩容。其中,初始数据库的使用记录主要包含初始数据库的吞吐量,具体的,初始数据库的吞吐量可以是以分时段的形式统计得到的,一方面便于对吞吐量进行整体上的数据统计,从而确定数据库的整体使用活跃度,另一方面也便于对吞吐量进行分时段的数据统计,从而确定数据库在各时段内的使用活跃度。例如,从整体上来看,可以通过计算数据库在各时段的平均吞吐量,来得到数据库的整体使用活跃度,即数据库的平均吞吐量越高,则表明数据库的整体使用活跃度也就越高,后续该数据库出现扩容的可能性也就越高。具体根据初始参数信息、使用记录以及候选参数信息,从候选服务器中确定目标服务器的实现方案可以参阅后续图3及其解释说明的内容。
65.203,将所述初始数据库中的数据迁移至所述目标服务器。
66.本技术实施例中,在选定目标服务器后,数据库迁移装置利用前述所获取到的与完成数据库迁移所需要的其他相关参数,如ip地址、端口后,就可以自动的将初始数据库中的数据迁移至目标服务器。
67.当然,为提高迁移过程的稳定性,在数据迁移过程中还可以引入迁移队列、并发控制以及重试机制。具体的,在筛选出互联网数据中心中需要执行迁移人物的数据库,并给这个数据库配置好合适的目标服务器后,数据库迁移装置将待迁移的数据库加入到迁移队列,以便于合理管控迁移任务的发起和结束,并将同时执行迁移的数据库控制在一定数量内,以避免高并发对服务造成影响。此外,在因网络抖动、阻塞等不可控因素影响某个数据库迁移任务的执行时,会重新执行该数据库的迁移任务。其中,允许同时执行的数据库的数量以及重新执行数据库的迁移任务的次数可以是用户基于实际需求所设定的,也可以是数据库迁移装置根据采集到的参数信息所设定的,本技术实施例在此不再赘述。
68.进一步的,由于初始数据库的使用记录中包含了初始数据库在各个时段的吞吐量,数据库迁移装置还可以进一步通过对吞吐量进行分时段的数据统计来自动设定合适的迁移时间。具体的,数据库迁移装置可以分别对初始数据库在各个时段的历史吞吐量进行数据统计,找到相对于其他时段来说,吞吐量最小,也就是使用频率最少的时段进行迁移,以最大程度降低数据库的迁移对相关业务的影响,此时,具体的实现方案可以参阅后续图8及其解释说明的内容。
69.本技术实施例提供的数据库迁移方法,在确定需要迁移的初始数据库后,能够自动采集待迁移的初始数据库的初始参数信息、使用记录以及多个候选服务器的候选参数信
息,并自动根据初始参数信息、使用记录以及候选参数信息,确定最合适的目标服务器,从而完成初始数据库中数据的迁移。相比于需要人工选择配置目标服务器的参数的迁移技术,本技术实施例提供的数据库迁移方法无需额外配置参数信息,降低了用户对数据库迁移业务流程的要求,同时在筛选目标服务器的过程中额外考虑了初始数据库的使用记录,便于后续数据库的扩容。
70.如图3所示,图3为本技术实施例提供的一种从候选服务器中确定目标服务器的步骤流程示意图。具体的,包括步骤301~302:
71.301,根据所述初始参数信息和所述候选参数信息确定所述候选服务器的参数比值信息。
72.本技术实施例中,针对每一候选服务器,数据库迁移装置会分别计算该候选服务器的候选参数信息中用于描述服务器性能的各参数与初始参数信息中各对应的描述数据库性能的参数的比值,从而得到候选服务器的参数比值信息。具体的,参数比值信息可以反映出候选服务器在性能上的余量,参数比值信息越大,则候选服务器在性能上的余量也就越大。
73.作为本技术的一种可行实施例,参数比值信息主要包括内存比值以及磁盘比值,分别是由候选服务器和初始数据库的参数信息中的内存空间和磁盘空间计算得到,具体的实现方案可以参阅后续图4及其解释说明的内容。
74.302,根据所述参数比值信息和所述使用记录,从所述候选服务器中确定目标服务器。
75.本技术实施例中,结合前述描述可知,从候选服务器中所确定的目标服务器不仅需要满足初始数据库的性能,还应当尽可能避免出现性能的浪费。具体的,作为本技术的一种可行实施例,结合前述可知,若初始数据库在各个时段内的平均吞吐量越高,则表明数据库的使用活跃度也就越高,后续该数据库出现扩容的可能性也就越高,因而需要设定一个相对更高的余量,以便于后续对该数据库的扩容,反之,若初始数据库在各个时段内的平均吞吐量越低,则表明数据库的使用活跃度也就越高,后续该数据库出现扩容的可能性也就越低,因而需要设定一个相对更低的余量,以尽可能的降低运维成本。此时结合参数比值信息和使用记录,就可以从候选服务器中确定出最合适的目标服务器。具体的实现方案可以参阅后续图5及其解释说明的内容。
76.本技术实施例提供的技术方案,通过利用初始参数信息和候选参数信息分别计算得到用于描述各候选服务器在性能上所存在的余量的参数比值信息,后续就可以进一步利用用于描述初始数据库使用活跃度的使用记录,以及各候选服务器的参数比值信息,从候选服务器中确定出既能满足性能要求,又能降低性能浪费的目标服务器。
77.如图4所示,图4为本技术实施例提供的一种计算参数比值信息的步骤流程示意图,详述如下。
78.本技术实施例中,考虑到磁盘空间是保证数据库的数据可以完整迁移到服务器的必要参数,而内存空间则是保证迁移后的数据库能够正常运行的必要参数,即在迁移过程中,服务器在这两个维度上的余量相对于其他维度更加重要,因此,参数比值信息主要包含了内存空间和磁盘空间两个维度,具体的,计算候选服务器的参数比值信息包括步骤401~403:
79.401,根据所述初始参数信息中的内存空间和所述候选参数信息中的内存空间,确定所述候选服务器的内存比值。
80.本技术实施例中,计算候选参数信息中的内存空间和初始参数信息中的内存空间的比值,即可得到候选服务器的内存比值。例如,初始数据库的参数信息中,内存空间大小为2g,则对于一个内存空间大小为4g的候选服务器而言,其内存比值为2。
81.402,根据所述初始参数信息中的磁盘空间和所述候选参数信息中的磁盘空间,确定所述候选服务器的磁盘比值。
82.本技术实施例中,与计算内存比值的方式相类似,计算候选参数信息中的磁盘空间和初始参数信息中的磁盘空间的比值,即可得到候选服务器的磁盘比值。例如,初始数据库的参数信息中,磁盘空间大小为500g,则对于一个内存参数为1tb的候选服务器而言,其磁盘比值为2。
83.403,将所述内存比值和所述磁盘比值设定为所述候选服务器的参数比值信息。
84.本技术实施例中,将内存比值和磁盘比例级联,就可以得到候选服务器的参数比值信息。具体的,参数比值信息可以是以向量的形式存在,该向量中每一个维度的值,即代表了候选服务器在某个性能维度上,例如内存空间、磁盘空间,相对于初始数据库的余量。
85.本技术实施例提供的技术方案利用内存空间和磁盘空间两个维度的信息来生成参数比值,既有效保证了数据库的数据可以完整迁移到服务器,又有效保证了迁移后的数据库能够正常运行,提高了数据迁移的效果。
86.如图5所示,图5为本技术实施例提供的一种根据参数比值信息和使用记录确定目标服务器的步骤流程示意图,详述如下。
87.本技术实施例中,是通过预先利用使用记录中的访问频率设定对应的比例阈值,并利用参数比值信息中的内存比值和磁盘比值实现目标服务器的挑选,具体的,包括步骤501~502:
88.501,查询预设关联表,获取与所述使用记录中访问频率关联的比例阈值。
89.本技术实施例中,结合前述描述可知,使用记录通常记载了初始数据库各时段的吞吐量,其中,初始数据库各时段的吞吐量越高,则该初始数据库的访问频率越高,对于该初始数据库,后续出现数据库扩容的可能性也就越高,为便于后续的扩容,从候选服务器中所挑选出来的目标服务器的性能相较于初始数据库的性能的余量应当更高,即参数比值信息应当更高。因此,可以通过预先设置关联表,将访问频率与比例阈值关联以正相关的形式配置,当初始数据库的访问频率越高时,从该关联表中所查询得到的比例阈值也就越高,则最终所确定目标服务器的性能也就越高。
90.具体的,在预先设置的关联表中,访问频率与比例阈值的关联关系可以是根据实际需求来设定的,只要两者呈正相关即可,例如,最常见的,当访问频率低于某个频率阈值时,则比例阈值可以设定为1.5,而当访问频率高于该频率阈值时,则比例阈值可以设定为2,本技术实施例在此不再赘述。
91.进一步的,作为本技术的一种可选实施例,考虑到参数比值信息中包含有多个从不同角度描述候选服务器性能余量的值,例如内存比值和磁盘比值是分别从内存空间和磁盘空间的角度描述候选服务器性能余量,因此,预设关联表也可以预先配置好与访问频率关联的不同比例阈值,例如,针对于某个访问频率,可以设定第一比例阈值和第二比例阈值
分别与参数比值信息中的内存比值和磁盘比值进行比较,从而实现目标服务器的筛选。
92.502,将参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器确定为目标服务器。
93.本技术实施例中,在根据初始数据库的使用记录设定相应的比例阈值后,通过将候选服务器的参数比值信息中的内存比值和磁盘比值分别和对应的比例阈值进行比对,就可以判断各个候选服务器是否满足性能的要求,从而完成目标服务器的筛选过程,并且最终所筛选得到的目标服务器还额外考虑了初始数据库的使用活跃度,能够将活跃度更高的初始数据库迁移至性能余量更高的服务器中,以便于后续数据库的扩容。
94.进一步的,若参数比值信息中内存比值和磁盘比值高于比值阈值的候选服务器的数量包含有多个,则还需要进一步确定这些候选服务器中挑选目标服务器,例如,可以是将这些候选服务器中内存比值或磁盘比值最小的服务器设定为目标服务器,以在满足性能余量的同时,避免服务器性能的浪费。当然,作为本技术的另一可选实施例,可以是根据各服务器的主频参数来进一步从多个满足内存比值和磁盘比值要求的候选服务器中确定目标服务器。具体的实现方案可以参阅后续图6及其解释说明的内容。
95.如图6所示,图6为本技术实施例提供的另一种根据参数比值信息和使用记录确定目标服务器的步骤流程示意图,详述如下。
96.本技术实施例中,具体包括步骤601~602:
97.601,获取参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器,以及所述候选服务器的数量。
98.本技术实施例中,将候选服务器的内存比值和磁盘比值分别和比值阈值进行比对,从中筛选出内存比值和磁盘比值高于比值阈值的候选服务器,并进一步统计得到这些候选服务器的数量。
99.602,若所述候选服务器的数量为至少两个,则根据各所述候选服务器的候选参数信息中的主频参数从所述候选服务器中确定目标服务器。
100.本技术实施例中,考虑到处理器的主频一般需要与内存相匹配,以保证最佳的性能。因此,当内存比值和磁盘比值均高于比值阈值的服务器包含有多个时,则数据库迁移装置会进一步获取这部分候选服务器的参数比值信息中的主频参数,并进一步根据这部分候选服务器的主频参数从这部分候选服务器中挑选出与内存最相匹配的目标服务器。当然,若仍存在多个候选服务器的主频参数与内存相匹配,则会再次考虑这部分主频参数与内存相匹配的候选服务器的内存比值和磁盘比值,将其中内存比值和磁盘比值最接近比例阈值的候选服务器设定为目标服务器。
101.当然,当参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器仅有单个时,将该候选服务器设为目标服务器即可。
102.如图7所示,图7为本技术实施例提供的一种获取待迁移的初始数据库的初始参数信息和使用记录的步骤流程示意图,详述如下。
103.本技术实施例中,具体包括步骤701~705:
104.701,采集预设服务器内各数据库的内存空间以及磁盘空间。
105.本技术实施例中,预设服务器通常是指因使用年限导致其上部署的数据库的稳定性受到影响时,或者因其他原因需要将其上部署的数据库迁移上云的服务器。具体的,在一
台服务器上可能部署有多个数据库,因此数据库迁移装置可以通过脚本采集该服务器内各数据库内存空间以及磁盘空间,其中内存空间和磁盘空间是该数据库在搭建时所使用的配置参数,具体可以通过读取数据库的配置文件得到。
106.此外,为便于区分各数据库,数据库迁移装置通常还会获取到各数据库的标识信息,其通常可以是数字id或者字符串,例如,标识信息可以是某某项目数据库。
107.702,根据各所述数据库的内存空间以及磁盘空间,生成数据库迁移的配置页面。
108.本技术实施例中,数据库迁移装置将采集得到的数据库内存空间以及磁盘空间整理汇总,即可生成数据库迁移的配置页面。具体的,配置页面可以是以表格的形式存在,当然,在该配置页面上,通常也会存在各数据库的标识信息。
109.例如,下述表1示出了一种配置页面的样式:
110.表1:
111.数据库id数据库名称内存空间磁盘空间00001a项目数据库1.2gb420gb00003b项目数据库1.5gb480gb00006c项目数据库1.8gb550gb
112.703,输出所述数据库迁移的配置页面。
113.本技术实施例中,数据库迁移装置在根据采集得到的数据库的信息生成相应的配置页面后,会输出该数据库迁移装置以展示给用户查看,此时,用户可以根据数据库id、数据库名称判断该数据库是否为自己的数据库,以及是否处于使用状态,当用户判断某个数据库为自己的数据库,并且仍处于使用状态时,则可以在配置页面上勾选该数据库。同时,数据库迁移装置会自动关联用户以及数据库,并在数据库迁移过程中,自动输出相应的提醒信息给对应的用户。
114.704,获取所述配置页面上选中的待迁移的初始数据库,并将所述待迁移的初始数据库对应的内存空间和磁盘空间设为初始参数信息。
115.本技术实施例中,结合前述描述可知,当某个数据库被选中时,表明该数据库已被用户认领并且处于使用状态,因此,需要将该数据库迁移上云,此时数据库迁移装置会先将该数据库设为待迁移的初始数据库,以便于后续配置对应的目标服务器,以统一完成数据的迁移。反之,当某个数据库未被选中时,则表明该数据库无人认领或处于废弃状态,即无需进行迁移,因此,可以对这些数据库进行下线关闭,以节约运维成本。
116.本技术实施例中,以前述提供的表1为例,当用户选中了数据库id为00003的数据库,则该数据库的初始参数信息至少包含了内存空间以及磁盘空间的数值,具体的,该数据库的内存空间为1.5gb,磁盘空间为4.8gb。
117.705,查询所述初始数据库的日志,得到所述初始数据库的使用记录。
118.本技术实施例中,数据库迁移装置在配置好相应的权限后,通过查询该初始数据库的日志信息,就可得到初始数据库的使用记录。具体的,初始数据库的使用记录至少包含了初始数据库在各时段的吞吐量,以便于后续评估数据库的活跃度,以及设定数据库的迁移时段,从而确定对应的目标服务器,并在设定好的迁移时段内进行迁移以降低对业务的干扰。
119.如图8所示,图8为本技术实施例提供的一种将数据迁移至目标服务器的步骤流程
示意图,详述如下。
120.本技术实施例中,具体包括步骤801~803:
121.801,根据所述使用记录确定预设时段内所述初始数据库的历史吞吐量。
122.本技术实施例中,结合前述描述可知,初始数据库的使用记录中记载了各时刻的吞吐量,因此,基于该使用记录可以确定预设时段内初始数据库的历史吞吐量。具体的,预设时段是指一天的不同时段,例如按照设定好的时间间隔,将一天24个小时划分为12个时段,包括0:00~2:00、2:00~4:00、4:00~6:00、
……
、20:00~22:00、22:00~24:00,当然,时间间隔也可以是基于实际情况所设定的,例如基于初始数据库的磁盘空间,当初始数据库的磁盘空间较大,也就是迁移所需时间较长时,则时间间隔可以划分更长,例如按照每3个小时一个时段,将一天24个小时划分为8个时段,反之,当初始数据库的磁盘空间较小,也就是迁移所需时间较短时,则时间间隔可以划分更短,例如按照每1个小时一个时段,将一天24个小时划分为24个时段。
123.进一步的,作为本技术的可选实施例,预设时段内初始数据库的历史吞吐量不仅仅包含过去一天内不同时段的吞吐量,还可以进一步包含过去三天、一星期甚至更长时间内不同时段的吞吐量的综合,以便于后续确定对业务影响更小的迁移时间。
124.802,根据所述历史吞吐量的统计特征,设定所述初始数据库的迁移时间。
125.本技术实施例中,统计特征可以是平均数、中位数,众数中的一种,也可以是上述数值的运算组合。具体的,作为本技术的一种可选实施例,根据历史一个月中每天各对应时段的历史吞吐量的平均数,可以得到各时段的平均吞吐量,然后根据各时段的平均吞吐量的大小关系,将平均吞吐量最小的迁移时段设定为初始数据库的迁移时间,例如,根据某个初始数据库的历史吞吐量的统计特征表明,在2:00~4:00的平均吞吐量低于其他时段的吞吐量,也就是2:00~4:00该数据库的吞吐量普遍偏低,则可以将2:00设定为该数据库的迁移时间。
126.进一步的,作为本技术的可选实施例,在根据初始数据库的历史吞吐量设定好迁移时间后,会提前通知该数据库的归属用户,例如通过邮件、短信等方式,用户也可以基于实际情况自行更新调整迁移时间。
127.803,根据所述迁移时间将所述初始数据库中的数据迁移至所述目标服务器。
128.本技术实施例中,在设定好数据库的迁移时间后,将该数据库加入至迁移时间队列中,并在达到指定迁移时间后,自动开启迁移任务,将其中的数据迁移至目标服务器。
129.为了便于理解本技术实施例提供的数据库迁移方法,下面将具体结合图1~图8所示出的数据库迁移方法的步骤流程示意图,提供一种完整的数据库迁移方法,详述如下:
130.1)数据库迁移方法通过脚本采集互联网数据中心某个服务器上部署的全部数据库的信息,包括数据库标识信息、类型、软件版本、配置、连接串、内存空间和磁盘空间,并对各数据库的信息进行整理,展示数据库迁移的配置页面;其中配置页面包含了各数据库的标识信息、内存空间和磁盘空间;
131.2)用户可以在配置页面上,根据各数据库的标识信息认领自己的数据库,当某个数据库的标识信息被选中时,则认为该数据库仍处于使用状态,将该数据库归属至待迁移的初始数据库类别,并将其对应的内存空间和磁盘空间作为参数信息;反之,若某个数据库的标识信息未被选中,则认为该数据处于废弃状态,则无需对该数据库进行处理;
132.3)针对初始数据库类别中每一数据库,通过访问该数据库的日志,获取数据库的使用记录,并根据该数据库使用记录中各历史时段的吞吐量,设定吞吐量最低的时段作为迁移时段;
133.4)根据该数据库使用记录评估数据库的活跃度,并根据数据库的活跃度等级设定相应的比例阈值,例如,当判定某个数据库活跃度为高时,所设定的比例阈值为2;
134.5)采集云服务上所提供的多种不同规划配置的候选服务器的参数信息,包括内存空间、磁盘空间以及处理器主频;
135.6)根据该数据库的内存空间和磁盘空间,设定好的比例阈值以及候选服务器的内存空间、磁盘空间,从候选服务器中确定目标服务器,例如,若数据库的内存空间和磁盘空间分比为1.9g和480gb,设定的比例阈值为2时,则服务器的内存空间和磁盘空间,应当大于3.8g和960gb,结合各个候选服务器的内存空间、磁盘空间,最终可以将内存空间为4g、磁盘空间为1tb的服务器作为目标服务器;
136.7)重复前述步骤3~6,直至为初始数据库类别中每一数据库都配置好合适的迁移时段和目标服务器;
137.8)根据各初始数据库的迁移时段将其顺序加入到迁移队列中,并在到达指定迁移时段后,将该数据库的数据迁移至目标服务器,若当前处于迁移的数据库的数量大于设定的阈值,则先暂停处理,若迁移过程中因网络波动或其他原因导致数据迁移失败,则重新尝试迁移数据库;
138.9)初始数据库类别中的每一数据库都完成迁移后,部署在互联网数据中心的数据库自动停止运行,后续统一进行回收再利用。
139.为了更好实施本技术实施例提供的数据库迁移方法,在数据库迁移方法基础之上,本技术实施例中还提供一种数据库迁移装置。如图9所示,图9为本技术实施例提供的一种数据库迁移装置的结构示意图。具体的,数据库迁移装置包括:
140.获取模块901,用于获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息;
141.确定模块902,用于根据所述初始参数信息、所述使用记录以及所述候选参数信息,从所述候选服务器中确定目标服务器;
142.迁移模块903,用于将所述初始数据库中的数据迁移至所述目标服务器。
143.作为本技术的一种可选实施例,上述确定模块包括:
144.比值计算次模块,用于根据所述初始参数信息和所述候选参数信息确定所述候选服务器的参数比值信息。
145.确定次模块,用于根据所述参数比值信息和所述使用记录,从所述候选服务器中确定目标服务器。
146.作为本技术的一种可选实施例,上述比值计算次模块包括:
147.内存比值计算单元,用于根据所述初始参数信息中的内存空间和所述候选参数信息中的内存空间,确定所述候选服务器的内存比值;
148.磁盘比值计算单元,用于根据所述初始参数信息中的磁盘空间和所述候选参数信息中的磁盘空间,确定所述候选服务器的磁盘比值;
149.参数比值信息设定单元,用于将所述内存比值和所述磁盘比值设定为所述候选服
务器的参数比值信息。
150.作为本技术的一种可选实施例,上述确定次模块包括:
151.查询单元,用于查询预设关联表,获取与所述使用记录中访问频率关联的比例阈值;
152.确定单元,用于将参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器确定为目标服务器。
153.作为本技术的一种可选实施例,上述确定单元包括:
154.数量统计次单元,获取参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器的数量;
155.确定次单元,用于若所述候选服务器的数量为至少两个,则根据各所述候选服务器的候选参数信息中的主频参数从所述候选服务器中确定目标服务器。
156.作为本技术的一种可选实施例,数据库迁移装置还包括配置页面生成模块,配置页面生成模块包括:
157.采集次模块,用于采集预设服务器内各数据库的内存空间以及磁盘空间;
158.配置页面生成次模块,用于根据各所述数据库的内存空间以及磁盘空间,生成数据库迁移的配置页面;
159.上述获取模块包括:
160.输出次模块,用于输出所述数据库迁移的配置页面;
161.选中次模块,用于获取所述配置页面上选中的待迁移的初始数据库,并将所述待迁移的初始数据库对应的内存空间和磁盘空间设为初始参数信息;
162.日志查询次模块,用于查询所述初始数据库的日志,得到所述初始数据库的使用记录。
163.作为本技术的一种可选实施例,上述迁移模块还包括:
164.吞吐量获取次模块,用于根据所述使用记录确定预设时段内所述初始数据库的历史吞吐量;
165.统计次模块,用于根据所述历史吞吐量的统计特征,设定所述初始数据库的迁移时间;
166.迁移次模块,用于根据所述迁移时间将所述初始数据库中的数据迁移至所述目标服务器。
167.本技术实施例还提供一种数据库迁移设备,如图10所示,图10为本技术实施例提供的一种数据库迁移设备的结构示意图。
168.数据库迁移设备包括存储器、处理器以及存储于存储器中,并可在处理器上运行的数据库迁移程序,处理器执行数据库迁移程序时实现本技术任一实施例提供的数据库迁移方法中的步骤。
169.具体来讲:数据库迁移设备可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上存储介质的存储器1002、电源1003和输入单元1004等部件。本领域技术人员可以理解,图10中示出的数据库迁移设备结构并不构成对数据库迁移设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
170.处理器1001是该数据库迁移设备的控制中心,利用各种接口和线路连接整个数据
库迁移设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行数据库迁移设备的各种功能和处理数据,从而对数据库迁移设备进行整体监控。可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。
171.存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据数据库迁移设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。
172.数据库迁移设备还包括给各个部件供电的电源1003,优选的,电源1003可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
173.该数据库迁移设备还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
174.尽管未示出,数据库迁移设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,数据库迁移设备中的处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的应用程序,从而实现本技术任一实施例所提供的数据库迁移方法中的步骤。
175.为此,本技术实施例提供一种计算机可读存储介质,该计算机存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。计算机可读存储介质上存储有数据库迁移程序,数据库迁移程序被处理器执行时实现本技术任一实施例所提供的数据库迁移方法中的步骤。
176.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
177.具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
178.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
179.以上对本技术实施例所提供的一种数据库迁移方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种数据库迁移方法,其特征在于,包括:获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息;根据所述初始参数信息、所述使用记录以及所述候选参数信息,从所述候选服务器中确定目标服务器;将所述初始数据库中的数据迁移至所述目标服务器。2.根据权利要求1所述的数据库迁移方法,其特征在于,所述根据所述初始参数信息、所述使用记录以及所述候选参数信息,从所述候选服务器中确定目标服务器,包括:根据所述初始参数信息和所述候选参数信息确定所述候选服务器的参数比值信息;根据所述参数比值信息和所述使用记录,从所述候选服务器中确定目标服务器。3.根据权利要求2所述的数据库迁移方法,其特征在于,所述根据所述初始参数信息和所述候选参数信息确定所述候选服务器的参数比值信息,包括:根据所述初始参数信息中的内存空间和所述候选参数信息中的内存空间,确定所述候选服务器的内存比值;根据所述初始参数信息中的磁盘空间和所述候选参数信息中的磁盘空间,确定所述候选服务器的磁盘比值;将所述内存比值和所述磁盘比值设定为所述候选服务器的参数比值信息。4.根据权利要求2所述的数据库迁移方法,其特征在于,所述根据所述参数比值信息和所述使用记录,从所述候选服务器中确定目标服务器,包括:查询预设关联表,获取与所述使用记录中访问频率关联的比例阈值;将参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器确定为目标服务器。5.根据权利要求4所述的数据库迁移方法,其特征在于,所述将参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器确定为目标服务器包括:获取参数比值信息中内存比值和磁盘比值高于所述比值阈值的候选服务器,以及所述候选服务器的数量;若所述候选服务器的数量为至少两个,则根据各所述候选服务器的候选参数信息中的主频参数从所述候选服务器中确定目标服务器。6.根据权利要求1所述的数据库迁移方法,其特征在于,所述获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息之前,所述方法还包括:采集预设服务器内各数据库的内存空间以及磁盘空间;根据各所述数据库的内存空间以及磁盘空间,生成数据库迁移的配置页面;所述获取待迁移的初始数据库的初始参数信息和使用记录,包括:输出所述数据库迁移的配置页面;获取所述配置页面上选中的待迁移的初始数据库,并将所述待迁移的初始数据库对应的内存空间和磁盘空间设为初始参数信息;查询所述初始数据库的日志,得到所述初始数据库的使用记录。7.根据权利要求1~6任一所述数据库迁移方法,其特征在于,所述将所述初始数据库
中的数据迁移至所述目标服务器,包括:根据所述使用记录确定预设时段内所述初始数据库的历史吞吐量;根据所述历史吞吐量的统计特征,设定所述初始数据库的迁移时间;根据所述迁移时间将所述初始数据库中的数据迁移至所述目标服务器。8.一种数据库迁移装置,其特征在于,包括:获取模块,用于获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息;确定模块,用于根据所述初始参数信息、所述使用记录以及所述候选参数信息,从所述候选服务器中确定目标服务器;迁移模块,用于将所述初始数据库中的数据迁移至所述目标服务器。9.一种数据库迁移设备,其特征在于,所述数据库迁移设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的数据库迁移程序,所述处理器执行所述数据库迁移程序以实现权利要求1至7任一项所述的数据库迁移方法中的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据库迁移程序,所述数据库迁移程序被处理器执行以实现权利要求1至7任一项所述的数据库迁移方法中的步骤。
技术总结
本申请实施例提供一种数据库迁移方法、装置、设备及存储介质,方法包括:获取待迁移的初始数据库的初始参数信息和使用记录,以及预设的候选服务器的候选参数信息;根据初始参数信息、使用记录以及候选参数信息,从候选服务器中确定目标服务器;将初始数据库中的数据迁移至目标服务器。相比于需要人工选择配置目标服务器的参数的迁移技术,本申请实施例提供的数据库迁移方法无需额外配置参数信息,降低了用户对数据库迁移业务流程的要求,同时在筛选目标服务器的过程中额外考虑了初始数据库的使用记录,便于后续数据库的扩容。便于后续数据库的扩容。便于后续数据库的扩容。
技术研发人员:杨磊 孟祥晶 周新 付增庆 赖月福 尹昌 彭磊 钟易程
受保护的技术使用者:顺丰科技有限公司
技术研发日:2022.02.15
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/