System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据在线重分布方法及其装置、电子设备及存储介质制造方法及图纸_技高网

数据在线重分布方法及其装置、电子设备及存储介质制造方法及图纸

技术编号:40596246 阅读:2 留言:0更新日期:2024-03-12 21:59
本发明专利技术公开了一种数据在线重分布方法及其装置、电子设备及存储介质,涉及大数据领域、金融科技领域或其他相关技术领域,其中,该数据在线重分布方法包括:响应数据重分布请求,确定待执行重分布操作的源数据库;基于数据重分布请求断开源数据库和从数据库的连接,并获取断开操作时的全局事务标识;基于全局事务标识对源数据库的日志数据进行监控,得到源数据库的增量数据,并将增量数据写入正向消息组件中;将从数据库的存量数据和正向消息组件的增量数据重分布至目标数据库。发明专利技术解决了相关技术中,在对大容量数据进行重分布时,将源数据库设置为只读权限进行数据重分布的方式,停写数据库时间长,影响业务的正常进行的技术问题。

【技术实现步骤摘要】

本专利技术涉及大数据领域、金融科技领域或其他相关,具体而言,涉及一种数据在线重分布方法及其装置、电子设备及存储介质


技术介绍

1、随着大数据技术的快速发展,对于大容量的业务数据进行分库分表存储成为当前主流的数据库数据存储方式,当数据量增大或业务发展需要时,原先的分库分表规则可能不再适用,存在一些数据热点或负载不均衡的情况,此时对源数据库存储的数据进行重分布,可以重新平衡数据的存储和访问,提高查询效率和系统的整体性能,进而提高数据访问效率和负载均衡。

2、相关技术中,在对源数据库的数据进行重分布时,对源数据库设置只读权限,禁止数据写入数据库,保证在数据重分布过程中不会修改、删除、新增数据,通过重分布工具读取源数据库数据,获取分片字段的值,根据新的算法路由到新分片,将数据写入目标分片,等待全量数据重分布结束后,应用程序切流到重分布后的新数据库,对新的数据库进行读写,现有的重分布方案停写数据库时间太长,应用禁写数据库时间与迁移的数据量成正比,数据重分布速率受到数据库集群规模、重分布工具集群规模、网络带宽等因素影响,占用大量的时间进行重分布,会导致业务无法正常进行;其次当新的数据库存在不可修复的异常时,如出现漏迁移数据、路由分片错误等,现有的重分布策略对于这种异常情况不具备处理能力。

3、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本专利技术实施例提供了一种数据在线重分布方法及其装置、电子设备及存储介质,以至少解决相关技术中,在对大容量数据进行重分布时,将源数据库设置为只读权限进行数据重分布的方式,停写数据库时间长,影响业务的正常进行的技术问题。

2、根据本专利技术实施例的一个方面,提供了一种数据在线重分布方法,包括:响应数据重分布请求,确定待执行重分布操作的源数据库;基于所述数据重分布请求断开所述源数据库和从数据库的连接,并获取断开操作时的全局事务标识;基于所述全局事务标识对所述源数据库的日志数据进行监控,得到所述源数据库的增量数据,并将所述增量数据写入正向消息组件中;将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库。

3、可选地,在响应数据重分布请求,确定待执行重分布操作的源数据库之前,还包括:接收应用程序的业务请求,并将所述应用程序发送的所述存量数据存储至源数据库的对应数据分片。

4、可选地,在响应数据重分布请求,确定待执行重分布操作的源数据库之前,还包括:为所述源数据库建立所述从数据库;将所述源数据库的所有存量数据备份至所述从数据库。

5、可选地,在响应数据重分布请求,确定待执行重分布操作的源数据库之后,还包括:获取所述源数据库的元数据信息;基于所述元数据信息构建所述目标数据库。

6、可选地,将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库的步骤包括:调用存量数据重分布工具,并建立所述存量数据重分布工具与从数据库各数据分片的连接,其中,所述存量数据重分布工具用于基于重分布算法将所述从数据库中各数据分片的存量数据路由至所述目标数据库各数据分片。

7、可选地,将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库的步骤还包括:调用增量数据重分布工具,并建立所述增量数据重分布工具与所述正向消息组件的连接,其中,所述增量数据重分布工具基于重分布算法将所述正向消息组件中的增量数据路由至所述目标数据库各数据分片。

8、可选地,在将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库之后,还包括:将应用程序对应的数据库参数更新为所述目标数据库的ip地址;将所述应用程序的业务请求路由至所述目标数据库。

9、可选地,在将应用程序的业务请求路由至所述目标数据库之后,还包括:调用反向数据复制工具,对所述目标数据库的日志数据进行监控,得到所述目标数据库的增量数据;将所述目标数据库的增量数据写入反向消息组件。

10、可选地,所述重分布方法还包括:对所述目标数据库进行性能检测,得到检测结果;在所述检测结果指示所述目标数据库存在异常表中记录的不可修复异常的情况下,调用反向增量数据重分布工具将所述反向消息组件中的增量数据路由至所述源数据库各数据分片,其中,所述异常表是基于数据库异常情况预先构建的;将所述应用程序对应的数据库参数更新为所述源数据库的ip地址。

11、根据本专利技术实施例的另一方面,还提供了一种数据在线重分布装置,包括:确定单元,用于响应数据重分布请求,确定待执行重分布操作的源数据库;获取单元,用于基于所述数据重分布请求断开所述源数据库和从数据库的连接,并获取断开操作时的全局事务标识;监控单元,用于基于所述全局事务标识对所述源数据库的日志数据进行监控,得到所述源数据库的增量数据,并将所述增量数据写入正向消息组件中;重分布单元,用于将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库。

12、可选地,所述数据在线重分布装置还包括:第一接收模块,用于接收应用程序的业务请求,并将所述应用程序发送的所述存量数据存储至源数据库的对应数据分片。

13、可选地,所述数据在线重分布装置还包括:第一建立模块,用于为所述源数据库建立所述从数据库;第一备份模块,用于将所述源数据库的所有存量数据备份至所述从数据库。

14、可选地,所述数据在线重分布装置还包括:第一获取模块,用于获取所述源数据库的元数据信息;第一构建模块,用于基于所述元数据信息构建所述目标数据库。

15、可选地,所述重分布单元包括:第一调用模块,用于调用存量数据重分布工具,并建立所述存量数据重分布工具与从数据库各数据分片的连接,其中,所述存量数据重分布工具用于基于重分布算法将所述从数据库中各数据分片的存量数据路由至所述目标数据库各数据分片。

16、可选地,所述重分布单元还包括:第二调用模块,用于调用增量数据重分布工具,并建立所述增量数据重分布工具与所述正向消息组件的连接,其中,所述增量数据重分布工具基于重分布算法将所述正向消息组件中的增量数据路由至所述目标数据库各数据分片。

17、可选地,所述数据在线重分布装置还包括:第一更新模块,用于将应用程序对应的数据库参数更新为所述目标数据库的ip地址;第一路由模块,用于将所述应用程序的业务请求路由至所述目标数据库。

18、可选地,所述数据在线重分布装置还包括:第一监控模块,用于调用反向数据复制工具,对所述目标数据库的日志数据进行监控,得到所述目标数据库的增量数据;第一写入模块,用于将所述目标数据库的增量数据写入反向消息组件。

19、可选地,所述数据在线重分布装置还包括:第一检测模块,用于对所述目标数据库进行性能检测,得到检测结果;第二路由模块,用于在所述检测结果指示所述目标数据库存在异常表中记录的不可修复异常的情况下,调用反向增量数据重分布工具将所述反向消息组件中的增量数据路由至所述源数据库各数据分片,其中,所述本文档来自技高网...

【技术保护点】

1.一种数据在线重分布方法,其特征在于,包括:

2.根据权利要求1所述的重分布方法,其特征在于,在响应数据重分布请求,确定待执行重分布操作的源数据库之前,还包括:

3.根据权利要求1所述的重分布方法,其特征在于,在响应数据重分布请求,确定待执行重分布操作的源数据库之前,还包括:

4.根据权利要求1所述的重分布方法,其特征在于,在响应数据重分布请求,确定待执行重分布操作的源数据库之后,还包括:

5.根据权利要求1所述的重分布方法,其特征在于,将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库的步骤包括:

6.根据权利要求1所述的重分布方法,其特征在于,将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库的步骤还包括:

7.根据权利要求1所述的重分布方法,其特征在于,在将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库之后,还包括:

8.根据权利要求1所述的重分布方法,其特征在于,在将应用程序的业务请求路由至所述目标数据库之后,还包括:

9.根据权利要求8所述的重分布方法,其特征在于,还包括:

10.一种数据在线重分布装置,其特征在于,包括:

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至9中任意一项所述的数据在线重分布方法。

12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至9中任意一项所述的数据在线重分布方法。

...

【技术特征摘要】

1.一种数据在线重分布方法,其特征在于,包括:

2.根据权利要求1所述的重分布方法,其特征在于,在响应数据重分布请求,确定待执行重分布操作的源数据库之前,还包括:

3.根据权利要求1所述的重分布方法,其特征在于,在响应数据重分布请求,确定待执行重分布操作的源数据库之前,还包括:

4.根据权利要求1所述的重分布方法,其特征在于,在响应数据重分布请求,确定待执行重分布操作的源数据库之后,还包括:

5.根据权利要求1所述的重分布方法,其特征在于,将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库的步骤包括:

6.根据权利要求1所述的重分布方法,其特征在于,将所述从数据库的存量数据和所述正向消息组件的增量数据重分布至目标数据库的步骤还包括:

7.根据权利要求1所述的重分布方法,其特征在于,在将所述...

【专利技术属性】
技术研发人员:黄海鹏武文斌许小斌钟悦
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1