一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分布式数据在线迁移方法、装置、终端及存储介质与流程

2022-06-05 16:44:27 来源:中国专利 TAG:


1.本技术涉及数据库技术领域,尤其涉及一种分布式数据在线迁移方法、装置、终端及存储介质。


背景技术:

2.随着互联网技术的发展,开源、轻量级的mysql数据库得到的广泛的使用,由于mysql关系数据库的特性,对信息管理相关系统具有很大的吸引力。由于单个mysql数据库实例在存储、性能等多方面存在瓶颈,扩展的mysql分布式集群很好的解决了该类问题,但是在线交易类系统数据更新频繁,数据规模快速膨胀,系统建设时候规划的硬件存储资源有限,极易消耗完成,并频繁告警。
3.为了解决该问题,常用的解决思路将使用频率低的数据转移到其他冗余数据分库上,从而释放源数据分库的运行负荷,以此获得一个时间窗口,给规划和扩容预留足够时间,保证系统平稳运行,并提升系统资源价值。
4.然而实际上,在高负荷数据分库执行数据在线迁移的过程里也占用运算资源,其中数据在线迁移包括了数据同步过程以及数据清洗过程,但目前的分布式数据在线迁移没有考虑到数据迁移过程对源数据分库的影响,从而导致现有的分布式数据在线迁移技术存在数据迁移可靠性低的技术问题。


技术实现要素:

5.本技术提供了一种分布式数据在线迁移方法、装置、终端及存储介质,用于解决现有的分布式数据在线迁移技术存在数据迁移可靠性低的技术问题。
6.有鉴于此,本技术第一方面提供了一种分布式数据在线迁移方法,包括:
7.实时监听源数据分库和目标数据分库的系统资源状态信息;
8.根据所述源数据分库和所述目标数据分库当前执行的任务阶段,结合预设的任务阶段与数据迁移中止条件信息的对应关系,确定当前任务阶段对应的数据迁移中止条件信息,其中所述任务阶段包括:数据同步阶段、数据清洗阶段;
9.根据所述系统资源状态信息与所述数据迁移中止条件信息的匹配结果,当所述系统资源状态信息满足所述数据迁移中止条件信息时,则中止数据在线迁移进程,直至当所述系统资源状态信息不再满足所述数据迁移中止条件信息时,恢复所述数据在线迁移进程。
10.优选地,所述系统资源状态信息包括:存储空间使用率、cpu使用率以及数据连接数。
11.优选地,所述数据迁移中止条件信息具体包括:
12.当所述任务阶段为数据同步阶段时,当所述目标数据分库的存储空间使用率超过预设的存储空间使用率阈值,或所述源数据分库的cpu使用率超过预设的cpu使用率阈值,或所述源数据分库的数据连接数超过预设的数据连接数阈值时,则中止数据在线迁移进
程;
13.当所述任务阶段为数据清洗阶段时,当所述源数据分库的存储空间使用率超过预设的存储空间使用率阈值,或所述目标数据分库的cpu使用率超过预设的cpu使用率阈值,或所述目标数据分库的数据连接数超过预设的数据连接数阈值时,则中止数据在线迁移进程。
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.图1为本技术提供的一种分布式数据在线迁移方法的第一个实施例的流程示意图;
41.图2为本技术提供的一种分布式数据在线迁移方法中的数据清洗阶段的清洗过程的流程示意图;
42.图3为本技术提供的一种分布式数据在线迁移装置的第一个实施例的结构示意图;
43.图4为本技术提供的一种分布式数据在线迁移方法中的断点主键设置流程示意图;
44.图5为本技术提供的一种分布式数据在线迁移方法中的基于断点主键恢复数据在线迁移进程的流程示意图;
45.图6为本技术提供的数据分库与子任务数据表的关系示意图。
具体实施方式
46.本技术实施例提供了一种分布式数据在线迁移方法、装置、终端及存储介质,用于解决现有的分布式数据在线迁移技术存在数据迁移可靠性低的技术问题。
47.为使得本技术的发明目的、特征、优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本技术一部分实施例,而非全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
48.请参阅图1,本技术第一个实施例提供了一种分布式数据在线迁移方法,包括:
49.步骤101、实时监听源数据分库和目标数据分库的系统资源状态信息。
50.需要说明的是,在源数据分库和目标数据分库建立了通信连接并进行着数据在线迁移时,通过实时监听源数据分库和目标数据分库系统资源状态的方式,获取源数据分库和目标数据分库的系统资源状态信息,以用于后续的数据判断
51.步骤102、根据源数据分库和目标数据分库当前执行的任务阶段,结合预设的任务阶段与数据迁移中止条件信息的对应关系,确定当前任务阶段对应的数据迁移中止条件信息,其中任务阶段包括:数据同步阶段、数据清洗阶段。
52.需要说明的是,接着根据源数据分库和目标数据分库当前所处的任务阶段,以根据不同的数据在线迁移任务阶段,对应确定与当前的任务阶段对应的数据迁移中止条件信息。
53.步骤103、根据系统资源状态信息与数据迁移中止条件信息的匹配结果,当系统资源状态信息满足数据迁移中止条件信息时,则中止数据在线迁移进程,直至当系统资源状态信息不再满足数据迁移中止条件信息时,恢复数据在线迁移进程。
54.需要说明的是,再接着,根据步骤101获得的系统资源状态信息与步骤102确定的数据迁移中止条件信息进行匹配,当系统资源状态信息满足数据迁移中止条件信息时,则中止数据在线迁移进程,同时继续获取源数据分库和目标数据分库的系统资源状态信息,直至当系统资源状态信息不再满足数据迁移中止条件信息,即当系统资源状态信息恢复到正常范围时,恢复数据在线迁移进程,继续进行源数据分库和目标数据分库之间的数据在线迁移。
55.以上为本技术提供的一种分布式数据在线迁移方法的第一个实施例的详细说明,下面为本技术提供的一种分布式数据在线迁移方法的第二个实施例的详细说明。
56.在上述第一个实施例的基础上,本技术第二个实施例提供了更为具体的一种分布式数据在线迁移方法。
57.进一步地,步骤101中提及的系统资源状态信息包括:存储空间使用率、cpu使用率以及数据连接数。
58.进一步地,基于上述的系统资源状态信息具体包括的内容,本实施例步骤102的数据迁移中止条件信息具体包括:
59.当任务阶段为数据同步阶段时,当目标数据分库的存储空间使用率超过预设的存储空间使用率阈值,或源数据分库的cpu使用率超过预设的cpu使用率阈值,或源数据分库的数据连接数超过预设的数据连接数阈值时,则中止数据在线迁移进程;
60.当任务阶段为数据清洗阶段时,当源数据分库的存储空间使用率超过预设的存储空间使用率阈值,或目标数据分库的cpu使用率超过预设的cpu使用率阈值,或目标数据分库的数据连接数超过预设的数据连接数阈值时,则中止数据在线迁移进程。
61.例如,当处于数据同步阶段时:通过检查目标数据库的系统资源状态信息,如果磁盘空间使用率超过阈值(如:80%)则暂停数据同步;然后可以由技术人员通过进行数据库压缩或binlog日志清理等方式降低磁盘空间使用率,使得当磁盘空间使用率低于阈值时则恢复数据同步;以及通过检查源数据库cpu、连接数等情况,超过指定阈值则暂停数据同步,检测恢复后再启动数据迁移。
62.当处于数据清洗阶段时:通过检查源数据库的系统资源状态信息,如果磁盘空间使用率超过阈值(如:80%)则暂停数据清洗;然后可以由技术人员通过进行数据库压缩或binlog日志清理等方式降低磁盘空间使用率,使得当磁盘空间使用率低于阈值,则恢复数据清洗;检查目标数据库cpu、连接数等情况,超过指定阈值则暂停数据清洗,检测恢复后再启动数据清洗。
63.进一步地,在中止数据在线迁移进程触发之后还可以包括以下步骤:
64.根据数据在线迁移进程中止时,确定目标迁移数据的数据主键,将数据主键设为断点主键,以便于按照断点主键,确定恢复数据在线迁移进程的起始数据主键,其中目标迁移数据为数据在线迁移进程中止时,执行时间最晚的子任务数据表。
65.需要说明的是,可参阅图4和图5,当触发了数据在线迁移进程中止后,可以根据数据在线迁移进程中止时,执行时间最晚的子任务数据表,可以理解为数据在线迁移进程中止触发时,最近一次已同步或已清洗的子任务数据表,最近一次子任务数据表的数据主键作为中止的断点主键,以便于任务重新启动时候,加载未处理完成任务,并根据断点进行待处理数据提取,从而更快速地恢复迁移任务。
66.其中,子任务数据表的配置过程具体为:
67.将待迁移数据按照不同的数据来源节点进行分类,得到若干个子任务数据组;
68.根据子任务数据组中的数据,结合数据与物理表归属的对应关系进行分类,得到若干个子任务数据表。
69.需要说明的是,可参阅图6,本技术实施例在执行数据同步或数据清洗时候,根据目标数据库逻辑库信息,获取分库分表信息,以分库分表信息确定待迁移的物理表,根据物理表个数实例化为子任务数据表的数量。
70.进一步地,请参阅图2,本技术上述提及的数据在线迁移进程中,其数据清洗阶段的清洗方式包括:
71.步骤201、根据目标数据分库的实际接收数据,确定已迁移数据稽核信息;
72.步骤202、获取源数据库中的待迁移数据;
73.步骤203、将各个待迁移数据与已迁移数据稽核信息进行逐一比对,若待迁移数据属于已迁移数据,则删除待迁移数据。
74.需要说明的是,由于是在线数据迁移,源库数据在迁移过程中可能发生变更,清洗了错误的数据,导致不可逆的业务影响,因此,为了解决此问题,本实施例在前述步骤的基础上,进一步提出了上述的数据清洗阶段的清洗方式,以通过从目标库主库读取数据,建立已迁移数据稽核信息,使得在清洗源数据分库时候,根据已迁移数据稽核信息加载清洗条
件,只有条件完全匹配数据才进行清理,实现反向删除源数据库数据,以防止源数据分库数据被误清洗的问题。
75.进一步地,在比对完各个待迁移数据之后,即上述步骤203之后还可以包括:
76.步骤204、根据已迁移数据信息,确定目标迁移数据中的遗漏迁移数据稽核信息;
77.步骤205、通过批量抽取数据的方式,从源数据分库中获取比对数据,其中比对数据的获取数量与预设的数据获取量阈值对应;
78.其中该数据获取量阈值优选为1000条,以防止数据过多导致处理缓慢。
79.步骤206、将比对数据与遗漏迁移数据稽核信息进行逐一比对,若比对数据为遗漏迁移数据,则对比对数据进行数据同步,再将比对数据从源数据分库中删除。
80.其中,当检测出遗漏数据时,先进行数据同步,成功后,再删除源数据分库,删除时候可以带上稽核条件,保证数据同步完整,删除未成功则交由下次数据核漏调度处理。
81.需要说明的是,本实施例步骤204至步骤206提供的对于数据在线迁移的核漏过程,数据核漏主要是对源数据库未清理完成的数据再次进行处理,一般在大批量数据同步完成后,只剩余少量数据待迁移,此时为了精准清理数据,逐条进行数据迁移处理。
82.以上为本技术提供的一种分布式数据在线迁移方法的第二个实施例的详细说明,下面为本技术提供的一种分布式数据在线迁移装置的第一个实施例的详细说明。
83.请参阅图3,本技术第三个实施例一种分布式数据在线迁移装置,与上述第一个实施例提及的分布式数据在线迁移方法一一对应,具体包括:
84.系统资源状态监听单元301,用于实时监听源数据分库和目标数据分库的系统资源状态信息;
85.数据迁移中止条件确定单元302,用于根据源数据分库和目标数据分库当前执行的任务阶段,结合预设的任务阶段与数据迁移中止条件信息的对应关系,确定当前任务阶段对应的数据迁移中止条件信息,其中任务阶段包括:数据同步阶段、数据清洗阶段;
86.数据迁移中止判定单元303,用于根据系统资源状态信息与数据迁移中止条件信息的匹配结果,当系统资源状态信息满足数据迁移中止条件信息时,则中止数据在线迁移进程,直至当系统资源状态信息不再满足数据迁移中止条件信息时,恢复数据在线迁移进程。
87.以上为本技术提供的一种分布式数据在线迁移装置的第一个实施例的详细说明,下面为本技术提供的一种分布式数据在线迁移终端及一种存储介质的一个实施例的详细说明。
88.本技术第四个实施例提供了一种分布式数据在线迁移终端,包括:存储器和处理器;
89.存储器用于存储与如本技术第一个实施例或第二个实施例提及的分布式数据在线迁移方法对应的程序代码;
90.处理器用于执行该程序代码,以实现本技术第一个实施例或第二个实施例提及的分布式数据在线迁移方法。
91.本技术第五个实施例一种存储介质,存储介质中保存有如本技术第一个实施例或第二个实施例提及的分布式数据在线迁移方法对应的程序代码。
92.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,
装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
93.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
94.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
95.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
96.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
97.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
98.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各个实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献