[发明专利]一种数据库的轻量级并发迁移方法有效
申请号: | 202110022834.2 | 申请日: | 2021-01-08 |
公开(公告)号: | CN112783859B | 公开(公告)日: | 2023-03-07 |
发明(设计)人: | 王贤然;柴付志 | 申请(专利权)人: | 河北志晟信息技术股份有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/2455;G06F16/27 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 冯春连 |
地址: | 065000 河北省廊坊市广*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 轻量级 并发 迁移 方法 | ||
1.一种数据库的轻量级并发迁移方法,其特征在于,其实现内容包括:
步骤S1、加载原数据库和目标数据库的配置,并对配置进行语法校验,这一过程中,加载的配置包括:连接配置、默认规则配置、自定义扩展配置、扩展配置模板、校验配置,其中:①连接配置包括原数据库和目标数据库的连接信息、原数据库和目标数据库的类型,原数据库和目标数据库的连接信息又分别包括连接地址、端口、用户名、密码、数据库名,②默认规则配置是指原数据库类型和目标数据库类型定义的内置校验规则,包括对字段转换语法校验,对要创建的表、视图、存储过程、函数、触发器、序列的校验,③自定义扩展配置是指针对默认规则配置进行二次配置,实现配置的可自定义化,每个字段的校验是以数据字段为key校验,配置文件进行再次配置的时候也是以Key-Value对的方式提供,默认配置如果与自定义配置的Key相同,自定义配置覆盖默认配置,④扩展配置模板是指用户可以根据目标数据库配置相应类型的模板文件,配置的模板文件不限于存储过程模板、函数模板、触发器模板、视图模板、序列模板,且可以在配置文件中制定是否开启每项模板文件的配置策略,⑤校验配置是指在数据从原数据库迁移到目标数据库完成后,对原数据库和目标数据库执行的校验SQL、存储过程、函数,根据提供的SQL、存储过程、函数,校验原数据库和目标数据库查询的数据结果进行自动对比,并输出数据对比情况;
步骤S2、基于加载的配置,生成目标数据库结构;
步骤S3、根据操作系统的资源,动态控制线程开启数量,通过开启的线程对原数据库的数据进行并发迁移,具体操作包括:
步骤S3.1、加载配置,获取操作系统资源的最大使用比例和巡检线程执行频率配置参数,
步骤S3.2、从原数据库获取迁移数据,创建数据迁移队列,将迁移数据每条数据压入队列,队列采用先进先出方式,
步骤S3.3、开启巡检线程,巡检线程根据执行频率配置参数周期执行,巡检线程负责创建线程队列,线程队列也是先进线程队列,巡检线程监控操作系统资源,实现动态控制线程数量,
(a)在资源没有达到配置文件中配置的资源最大使用比例时,巡检线程创建线程,并为每个线程设置停止标志位,启停标志位默认都为false,
(b)当操作系统资源不足时,从队列修改部分线程的停止标志位为true,线程获取到标志位后,在本次线程数据迁移完成后自动关闭,
步骤S3.4、数据迁移完成后,巡检线程将所有线程标志位都设置成true,停止数据同步任务;
步骤S4、迁移完成后,对原数据库和目标数据库的结构和数据进行校验。
2.根据权利要求1所述的一种数据库的轻量级并发迁移方法,其特征在于,配置文件的加载包括对方法默认配置的加载和对扩展配置的加载,根据唯一标识进行配置,当默认配置和扩展配置重复时,唯一标识对应的配置是扩展的配置。
3.根据权利要求1所述的一种数据库的轻量级并发迁移方法,其特征在于,原数据库类型和目标数据库类型定义的内置校验规则是基于扩展配置的校验规则,包括对默认规则和自定义扩展配置规则的校验。
4.根据权利要求1所述的一种数据库的轻量级并发迁移方法,其特征在于,执行步骤S2时,基于加载的配置,生成的目标数据库结构包括表、存储过程、函数、视图、索引、其他;
在生成目标数据库结构过程中遇到错误时,将错误日志输出到日志文件,并根据错误信息,进行配置文件修改,随后再次加载修改的配置,生成目标数据库结构。
5.根据权利要求1所述的一种数据库的轻量级并发迁移方法,其特征在于,迁移数据为临界资源,开启的数据迁移线程在获取线程资源时,需要先对该数据资源进行加锁,在分批获取指定数量的迁移数据后释放锁,保证迁移数据资源操作的原子性、保证数据迁移时的安全;线程对数据进行迁移完成后,需要先判断下当前线程停止标志位,(a)如果停止标志位为true,则停止当前线程数据迁移,(b)如果当前线程标志位为false,获取下一批迁移数据进行数据迁移工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北志晟信息技术股份有限公司,未经河北志晟信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110022834.2/1.html,转载请声明来源钻瓜专利网。