数据存储方法、装置、设备、存储介质和程序产品与流程

文档序号:32040700发布日期:2022-11-03 05:08阅读:98来源:国知局
数据存储方法、装置、设备、存储介质和程序产品与流程

1.本技术涉及数据迁移技术领域,特别是涉及一种数据存储方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着数据迁移技术领域的发展,出现了集中式数据库向分布式数据库的数据迁移存储技术,上述技术方案通过预设的数据迁移方式将数据从集中式数据库迁移存储至分布式数据库。
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.图1为一个实施例中数据存储方法的应用环境图;
36.图2为一个实施例中数据存储方法的流程示意图;
37.图3为一个实施例中获取待存储数据的数据存储量的流程示意图;
38.图4为一个实施例中获取待存储数据的数量的流程示意图;
39.图5为一个实施例中获取各个待存储数据的平均数据存储量的流程示意图;
40.图6为一个实施例中数据迁移储存系统的应用环境图;
41.图7为一个实施例中数据迁移储存方法的流程示意图;
42.图8为一个实施例中数据存储装置的结构框图;
43.图9为一个实施例中计算机设备的内部结构图。
具体实施方式
44.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
45.需要说明的是,本发明实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互
换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
46.本技术实施例提供的数据存储方法,可以应用于如图1所示的应用环境中。其中,分析端101通过网络与目标数据库102进行通信。数据存储系统可以存储目标数据库102需要处理的数据。数据存储系统可以集成在目标数据库102上,也可以放在云上或其他网络服务器上。分析端101通过获取待存储数据的数据存储量;获取用于存储待存储数据的目标数据库102的存储空间信息;分析端101基于数据存储量,以及存储空间信息,得到针对目标数据库102的数据库处理指令;将数据库处理指令发送至目标数据库102,以使目标数据库102按照数据库处理指令存储待存储数据。分析端101以及目标数据库102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
47.在一个实施例中,如图2所示,提供了一种数据存储方法,以该方法应用于图1中的分析端101为例进行说明,包括以下步骤:
48.步骤s201,获取待存储数据的数据存储量。
49.其中,待存储数据为集中式数据库将原始数据迁移至分布式数据库储存时,由该原始数据根据预先设定的转换规则转换得到的,将储存至分布式数据库的数据,而数据存储量为上述待存储数据的数据量大小,需要说明的是,该数据量大小可以是一个预估值。
50.具体地,根据预先设定的数据迁移计划,获取集中式数据库中待迁移的原始数据的数据量,再基于该原始数据的数据量,根据预先设定的迁移数据转换规则,估算得到待存储数据的数据存储量。
51.步骤s202,获取用于存储待存储数据的目标数据库102的存储空间信息。
52.其中,目标数据库102为分布式数据库,该数据库用于存储集中式数据库迁移过来的数据,而存储空间信息指的是,该目标数据库102剩余的存储空间。
53.具体地,获取目标数据库102已存储的数据量,再根据该目标数据库102的存储总量,计算得到该目标数据库102剩余的存储空间。
54.步骤s203,基于数据存储量,以及存储空间信息,得到针对目标数据库102的数据库处理指令。
55.其中,数据库处理指令指的是对该数据库进行处理使得待存储数据能够被存储的指令,例如,该数据处理指令可以为,对目标数据库102碎片率高的数据表进行碎片整理,释放空间;或者调整数据保留周期,调整到最少保留周期,并执行数据表的清理。
56.具体地,根据预估的数据存储量,以及该目标数据库102的剩余存储空间,估算出该数据存储量是否超过了该目标数据库102的剩余存储空间,如果该数据存储量超过了该目标数据库102的剩余存储空间,则产生相应的数据库处理指令,清理或者扩充目标数据库102的剩余存储空间,使得待存储数据能够被存储。
57.步骤s204,将数据库处理指令发送至目标数据库102,以使目标数据库102按照数据库处理指令存储待存储数据。
58.具体地,将相应的数据库处理指令发送至目标数据库102,该目标数据库102根据该数据库处理指令,清理数据库存储空间或者扩增数据库存储空间,使得待存储数据被存储。
59.上述数据存储方法中,通过获取待存储数据的数据存储量;获取用于存储待存储数据的目标数据库102的存储空间信息;基于数据存储量,以及存储空间信息,得到针对目标数据库102的数据库处理指令;将数据库处理指令发送至目标数据库102,以使目标数据库102按照数据库处理指令存储待存储数据。本技术通过预先估算得到待存储数据的数据存储量,然后根据数据存储量,以及目标数据库102的存储空间信息得到针对目标数据库102的处理指令,以使目标数据库102按照处理指令存储待存储数据,能够高效地进行数据存储。
60.在一个实施例中,如图3所示,获取待存储数据的数据存储量,包括以下步骤:
61.步骤s301,获取待存储数据的数量,以及获取各个待存储数据的平均数据存储量。
62.其中,待存储数据的数量为待存储数据的数据条数,例如,该待存储数据包括一万条数据,至于平均数据存储量,指的是该待存储数据中每一条数据的数据存储量的平均值。
63.具体地,基于预先设定的数据迁移计划,获取待迁移数据的数量,进一步得到待存储数据的数量,再将历史数据的平均数据存储量作为每一条待存储数据的平均数据存储量。
64.步骤s302,基于待存储数据的数量,以及平均数据存储量,得到待存储数据的数据存储量。
65.具体地,根据待存储数据的数量,以及平均数据存储量,即可计算得到待存储数据的数据存储量。
66.本实施例中,通过基于预先设定的数据迁移计划得到待存储数据的数量,以及获取各个待存储数据的平均数据存储量,能够准确的估算出待存储数据的数据存储量。
67.在一个实施例中,如图4所示,获取待存储数据的数量,包括以下步骤:
68.步骤s401,获取原始数据的数量;原始数据为原始数据库中存储的数据,待存储数据由原始数据转换得到。
69.其中,原始数据为原始数据库中待迁移至上述目标数据库102中的数据,而原始数据库为集中式数据库,该集中式数据库用于将原始数据迁移至上述目标数据库102中存储。
70.具体地,通过预先设定的数据迁移计划,获得原始数据的数量。
71.步骤s402,获取原始数据转换为待存储数据的数据转换信息。
72.其中,数据转换信息为预先设定的,在数据由集中式数据库迁移至分布式数据库存储时,将原始数据转换为待存储数据的转换规则。
73.具体地,获取预先设定的待存储数据的转换规则。
74.步骤s403,基于数据转换信息,以及原始数据的数量,得到待存储数据的数量。
75.具体地,基于预先设定的数据转换规则,通过原始数据的数量计算得到待存储数据的数量。
76.本实施例中,通过预先设定的数据转换信息,能够准确得到待存储数据的数量。
77.在一个实施例中,如图5所示,获取各个待存储数据的平均数据存储量,包括以下步骤:
78.步骤s501,获取目标数据库102中的已存储数据的存储量,以及获取已存储数据的数量;已存储数据与待存储数据的数据类别相同,已存储数据的数量为多个。
79.其中,已存储数据的存储量为上述目标数据库102中已有数据的数据量大小,而已
存储数据的数量为,上述目标数据库102中已有数据的条数,其中已存储数据与待存储数据为同一类数据,平均每条数据的存储量基本相同。
80.具体地,通过数据探测工具,从上述目标数据库102中获取已存储数据的存储量,以及已存储数据的数量。
81.步骤s502,基于已存储数据的数量,以及已存储数据的存储量,得到各个待存储数据的平均数据存储量。
82.具体地,基于已存储数据的数量,以及已存储数据的存储量,得到各个已存储数据的平均数据存储量,作为各个待存储数据的平均数据存储量。
83.本实施例中,通过获取已存储数据的数量,以及已存储数据的存储量,能够准确得到各个待存储数据的平均数据存储量。
84.在一个实施例中,基于数据存储量,以及存储空间信息,得到针对目标数据库102的数据库处理指令,包括以下步骤:
85.基于数据存储量,以及存储空间信息,得到目标数据库102的预估使用率;预估使用率用于表征目标数据库102储存待存储数据后的存储空间使用率;在预估使用率大于或等于预设阈值的情况下,则将数据库处理指令设置为增大目标数据库102的储存空间的第一指令;在预估使用率小于预设阈值的情况下,则将数据库处理指令设置为存储待存储数据的第二指令。
86.其中,预估使用率为目标数据库102储存待存储数据后的已存储的数据总量与目标数据库102总空间大小的比值,而预设阈值为预先设定的值,至于第一指令,为预估使用率大于或等于预设阈值的情况下的指令,而第二指令,为预估使用率小于预设阈值的情况下的指令。
87.具体地,基于数据存储量,以及存储空间信息,计算得到目标数据库102储存待存储数据后的已存储的数据总量与目标数据库102总空间大小的比值,作为目标数据库102的预估使用率,若预估使用率大于或等于预设阈值,则产生第一指令:增大目标数据库102的储存空间;若预估使用率小于预设阈值,则产生第二指令:将待存储数据存储至目标数据库102。
88.将数据库处理指令发送至目标数据库102,以使目标数据库102按照数据库处理指令存储待存储数据,包括:在数据库处理指令为第一指令的情况下,将数据库处理指令发送至目标数据库102,以使目标数据库102对储存空间进行增大处理;若在增大目标数据库102的储存空间之后,预估使用率小于预设阈值,则将数据库处理指令设置为第二指令;在数据库处理指令为第二指令的情况下,将数据库处理指令发送至目标数据库102,以使目标数据库102存储待存储数据。
89.其中,增大处理为扩增目标数据库102的容量,例如,可以开启备用数据库服务器,清理数据库中的一些失效的历史数据。
90.具体地,将第一指令发送至目标数据库102,使得目标数据库102对储存空间进行增大处理,比如,开启备用数据库服务器,清理数据库中的一些失效的历史数据;将第二指令发送至目标数据库102,使得目标数据库102存储待存储数据。
91.本实施例中,通过获取预估使用率,判断预估使用率是否超过预设值,从而产生数据库处理指令使得目标数据库102进行相应处理,能够使得待存储数据有足够的空间进行
存储。
92.在一个实施例中,在数据库处理指令为第一指令的情况下,将数据库处理指令发送至目标数据库102,以使目标数据库102对储存空间进行增大处理之后,还包括以下步骤:
93.若在增大目标数据库102的储存空间之后,预估使用率大于或等于预设阈值,则将数据库处理指令设置为将待储存数据存储至大数据平台的第三指令;在数据库处理指令为第三指令的情况下,将数据库处理指令发送至目标数据库102,以使目标数据库102存将数据库处理指令设置为将待储存数据存储至大数据平台。
94.其中,大数据平台为网络云盘,第三指令为在目标数据库102完成第一指令后,而预估使用率依然大于或等于预设阈值时,产生的数据库处理指令。
95.具体地,在目标数据库102完成第一指令,增大目标数据库102的储存空间之后,预估使用率依然大于或等于预设阈值,则生成第三指令,使得将待储存数据存储至大数据平台。
96.本实施例中,通过在目标数据库102完成第一指令后,预估使用率依然大于或等于预设阈值,生成将待储存数据存储至大数据平台的第三指令,能够使得待存储数据被在无法被目标数据库102存储时,依然能够被存储。
97.在一个应用实施例中,如图6所示,提出了一种应用于系统迁移的数据库存储空间保障系统(以下简称数据迁移存储系统),包括集中式应用服务器、集中式数据库、文件服务器、分布式应用服务器、分布式数据库、存储空间分析处理服务器,以及大数据平台。实现在传统集中式系统向新型分布式数据库系统迁移时的数据库存储空间自动化评估,并根据不同的情况,自动按照影响系统最少的优先级,采取保障措施,应对存储空间不足问题。
98.其中,集中式应用服务器是指采用集中式大型机或集中式的平台应用服务器,集中式应用服务器运行的应用系统需要被重新设计并迁移到分布式应用服务器;集中式数据库是指采用集中式大型机或集中式的平台应用服务器对应的数据库服务器,用于存储应用服务器运行的参数及数据,集中式数据库所存储的数据需要被重新设计并迁移到分布式数据库;文件服务器是指在对存储在集中式数据库的数据进行迁移时,进行临时存储数据的文件系统,用于集中式数据库提取集中式数据库服务器的数据,进行临时存储,文件服务器存储的文件,由分布式应用服务器进行读取,按照新的数据结构,对数据进行重组保存到分布式数据库;分布式应用服务器是集中式应用系统迁移的目标应用系统,根据集中式应用系统应用程序,按照分布式系统架构进行重构,包括基于paas云的容器,基于iaas云的虚拟机或物理机,数据库存储空间不足时,分布式应用服务器接收存储空间分析处理服务器发送的数据库调整信息,并执行对应的应对措施,包括调整数据表的保留周期、启动清理程序、调整数据表访问方式等;分布式数据库是集中式数据库系统迁移的目标数据库系统,一般为mysql、goldendb等数据库;大数据平台用于备份分布式数据库清理的数据,当分布式数据库的数据被清理后,若分布式应用服务器需要访问到被清理的数据时,大数据平台提供数据访问服务。
99.至于,存储空间分析处理服务器是指用于存储空间预估、获取、试算,并在存储空间不足的情况下,采取数据库保障措施的应用服务器,包括:存储空间获取模块、切流与规则配置模块、存储空间分析模块、存储空间保障模块。
100.其中,存储空间获取模块:该模块对接分布式数据库,通过执行数据库指令和操作
系统指令,获取数据库服务器的磁盘空间使用率情况和数据库每个数据表的使用空间占用情况(包括数据空间、索引空间和碎片空间等)。
101.切流与规则配置模块:提供两大类配置包括新旧系统切流计划配置和新旧系统迁移规则库。其中,新旧系统切流计划配置,包括新旧系统每一次切流的日期时间以及每一次切流的规模和数据,例如,如果是商户收单系统的迁移,可设置第一次某年某月某日的0点0分为切流时间窗口,切流的商户清单和数量为10万,系统交易量为50万,以此类推,设置第二次,第三次......第n次切流的时间和规模。至于新旧系统迁移规则库,是指每产生一笔新的交易,新旧数据结构之间的关联关系和预估的数据表空间大小进行初始化设置,例如,旧系统产生一笔联机交易时,旧系统的a表每条记录5kb,迁移到新系统对应的是表a’的一条记录和b’的二条记录,每条记录预估分别为2kb和4kb。以此类推,将新旧系统的所有表结构的对照关系进行设置和数据表空间进行预估。
102.另外,切流与规则配置模块还接收存储空间分析模块分析的结果,调整切流参数和迁移规则库,即当存储空间分析结果为,存储空间不足,则需要暂停或调整切流计划;当存储空间分析结果为,实际存储空间占用情况与预估不符,则根据存储空间分析模块重新试算的数据,更新迁移规则库为新的迁移规则。
103.存储空间分析模块:通过存储空间获取模块所获取的实时存储空间情况和新系统的运行情况,获取交易笔数,根据初始化设置的规则库和切流计划数据重新计算,分析和评估初始化的参数是否准确。例如,上次切流为100万a表记录,根据预设置的迁移规则参数,将产生100万条a’表记录和100万条记录和b’表的200万条记录,增加占用a’表1.9g空间和b’表3.8g空间,但实际由于变长字段与预估时存在差异,b’表实际增加了5g空间。
104.除根据上次切流情况,分析迁移规则库是否正确外,存储空间分析模块,还用于在每次切流前,根据下一次的切流计划设定的迁移交易数据量和日期,按照迁移规则库的迁移规则,重新计算下一次迁移所需要的存储空间,根据当前数据库的存储空间使用率和下一次迁移所需要的存储空间计算是否超过存储空间使用率阀值,若超过阀值,则通知存储空间保障模块,实施存储空间保障措施。
105.存储空间保障模块:该模块根据设定的数据空间保障措施,按照优先级实施空间保障策略。先执行保障措施1(空间扩容)通过调整数据库服务器所在宿主机的存储空间分配的空间,增加数据库服务器可用空间;当宿主机空间不足时,则保障措施1无法实施,则采取保障措施2(碎片清理),对数据库碎片率高的数据表进行碎片整理,释放空间,若保障措施2实施后,未达到数据库存储空间使用率保障阀值,执行保障措施3,调整数据保留周期,调整到最少保留周期,并执行数据表的清理。若保障措施3实施后,仍未达到数据库存储空间使用率保障阀值,若保障措施4(数据迁移),则将数据迁移到大数据平台。
106.需要说明的时,以上保障措施优先级设置的原因是:保障措施1(空间扩容),对系统影响最小,但取决于数据库服务器所在的宿主机是否有足够空间;保障措施2(碎片清理),对数据库表的原始数据无影响,但碎片整理期间会影响联机交易的运行;保障措施3,调整数据保留周期,调整到数据表需要保留的最小保留周期,超过最小保留周期的数据,是业务系统不需要访问的数据,但毕竟被清理了,不利于一些生产问题的技术分析;保障措施4(数据迁移),该部分数据需要被访问,但由于迁移到异构的大数据平台,访问效率将会下降。
107.本实施例中,通过预先估算得到待存储数据的数据存储量,然后根据数据存储量,以及目标数据库的存储空间信息得到针对目标数据库的处理指令,以使目标数据库按照处理指令存储待存储数据,使得数据量不会超过数据库储存空间,能够高效地进行数据存储。
108.在一个应用实施例中,如图7所示,提出了一种应用于系统迁移的数据库存储空间保障方法(以下简称数据迁移存储方法),具体步骤如下所示:
109.101、设置系统迁移切流计划,通过存储空间分析处理服务器,设置新旧系统切流的开始日期时间,以及每一次迁移的业务量。
110.102、初始化迁移规则库。将新旧系统的迁移时,每产生一笔新的交易,新旧数据结构之间的关联关系和预估的数据表空间大小进行初始化设置,将新旧系统的所有表结构的对照关系进行设置和数据表空间进行预估。
111.103、定时获取数据库实时空间情况,每日定时获取数据库的实时存储空间情况,包括数据库存储空间的整体使用率以及每个数据库的空间占用情况(包括数据空间、索引空间和碎片空间等)。
112.104、检查是否与上次切流预估值相同,根据新系统的运行情况,获取交易笔数,根据初始化设置的规则库和切流计划数据重新计算,初始化的参数是否准确。若存储空间预估值与实际值不符合,则进入步骤105重新计算和调整迁移规则库,否则进入步骤106。
113.105、重新计算调整迁移规则库,根据104实际计算的存储空间占用情况,调整迁移规则库。例如b’表的第条记录实际占用是5.2kb,将5.2kb调整到b’的表记录占用参数。
114.106、根据切流计划与迁移规则库计算存储空间需求,根据下一次的切流计划设定的迁移交易数据量和日期,按照迁移规则库的迁移规则,重新计算下一次迁移所需要的存储空间。
115.107、判断是否超过存储空间阀值,根据当前数据库的存储空间使用率和下一次迁移所需要的存储空间计算是否超过存储空间使用率阀值,若超过则进入步骤108,若不超过则进入步骤110。例如,当前储空间使用率为70%,下次切流需要占用12%的存储空间,超过存储空间使用率阀值为80%,则进入步骤108。
116.108、停止切流并调整切流计划,由于前数据库的存储空间使用率和下一次迁移所需要的存储空间计算是否超过存储空间使用率阀值,因此停止切流计划,调整切流计划的日期和时间。
117.109、实施数据空间保障措施,根据设置的数据空间保障措施,实施空间保障措施。当数据库存储空间使用率降低到预定的阀值,则跳转到步骤106,重新存储空间满足下一次切流。
118.110、实施切流计划,由于存储空间足够,因此按计划实施切流,将试点的交易加入试点白名单,实施流量接入新系统。
119.本实施例中,通过预先估算得到待存储数据的数据存储量,然后根据数据存储量,以及目标数据库的存储空间信息得到针对目标数据库的处理指令,以使目标数据库按照处理指令存储待存储数据,使得数据量不会超过数据库储存空间,能够高效地进行数据存储。
120.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而
且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
121.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据存储方法的数据存储装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据存储装置实施例中的具体限定可以参见上文中对于数据存储方法的限定,在此不再赘述。
122.在一个实施例中,如图8所示,提供了一种数据存储装置,包括:数据存储量获取模块801、存储空间信息获取模802、处理指令获取模块803和处理指令执行模块804,其中:
123.数据存储量获取模块801,用于获取待存储数据的数据存储量;
124.存储空间信息获取模块802,获取用于存储待存储数据的目标数据库的存储空间信息;
125.处理指令获取模块803,用于基于数据存储量,以及存储空间信息,得到针对目标数据库的数据库处理指令;
126.处理指令执行模块804,用于将数据库处理指令发送至目标数据库,以使目标数据库按照数据库处理指令存储待存储数据。
127.在其中一个实施例中,数据存储量获取模块801,进一步用于获取待存储数据的数量,以及获取各个待存储数据的平均数据存储量;基于待存储数据的数量,以及平均数据存储量,得到待存储数据的数据存储量。
128.在其中一个实施例中,数据存储量获取模块801,进一步用于获取原始数据的数量;原始数据为原始数据库中存储的数据,待存储数据由原始数据转换得到;获取原始数据转换为待存储数据的数据转换信息;基于数据转换信息,以及原始数据的数量,得到待存储数据的数量。
129.在其中一个实施例中,数据存储量获取模块801,进一步用于获取目标数据库中的已存储数据的存储量,以及获取已存储数据的数量;已存储数据与待存储数据的数据类别相同,已存储数据的数量为多个;基于已存储数据的数量,以及已存储数据的存储量,得到各个待存储数据的平均数据存储量。
130.在其中一个实施例中,处理指令获取模块803,进一步用于基于数据存储量,以及存储空间信息,得到目标数据库的预估使用率;预估使用率用于表征目标数据库储存待存储数据后的存储空间使用率;在预估使用率大于或等于预设阈值的情况下,则将数据库处理指令设置为增大目标数据库的储存空间的第一指令;在预估使用率小于预设阈值的情况下,则将数据库处理指令设置为存储待存储数据的第二指令。处理指令获取模块804,进一步用于在数据库处理指令为第一指令的情况下,将数据库处理指令发送至目标数据库,以使目标数据库对储存空间进行增大处理;若在增大目标数据库的储存空间之后,预估使用率小于预设阈值,则将数据库处理指令设置为第二指令;在数据库处理指令为第二指令的情况下,将数据库处理指令发送至目标数据库,以使目标数据库存储待存储数据。
131.在其中一个实施例中,处理指令获取模块803,进一步用于若在增大目标数据库的储存空间之后,预估使用率大于或等于预设阈值,则将数据库处理指令设置为将待储存数
据存储至大数据平台的第三指令;在数据库处理指令为第三指令的情况下,将数据库处理指令发送至目标数据库,以使目标数据库存将数据库处理指令设置为将待储存数据存储至大数据平台。
132.上述数据存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
133.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据存储方法。
134.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
135.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
136.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
137.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
138.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
139.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形
处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
140.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
141.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1