[发明专利]一种基于flink实现分布式实时同步SqlServer数据库的方法有效
| 申请号: | 202011493344.2 | 申请日: | 2020-12-17 |
| 公开(公告)号: | CN112527799B | 公开(公告)日: | 2022-09-13 |
| 发明(设计)人: | 李珞 | 申请(专利权)人: | 杭州玳数科技有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2458;G06F16/27 |
| 代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 毛姗 |
| 地址: | 311121 浙江省杭州市余杭区仓前街道余杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 flink 实现 分布式 实时 同步 sqlserver 数据库 方法 | ||
本发明公开了一种基于flink实现分布式实时同步SqlServer数据库的方法,包括如下步骤:1)配置数据源信息及任务相关参数信息;2)插件端校验数据源及任务相关信息接口;3)构建数据库监听接口;4)数据捕捉及解析接口;5)基于flink实现分布式数据同步。本发明对于现有技术而言,通过简单的任务参数配置,可以快速实现对SqlServer数据库表数据的实时采集功能。
技术领域
本发明涉及一种基于flink实现分布式实时同步SqlServer数据库的方法。
背景技术
目前,现有的采集SqlServer数据库数据的技术是基于数据库增量字段,每隔一段时间查询数据库的数据,因此该技术不能实时捕捉SqlServer数据库变更的数据。
发明内容
为了实时捕捉SqlServer数据库变更的数据,本发明提供了一种基于flink实现分布式实时同步SqlServer数据库的方法。
一种基于flink实现分布式实时同步SqlServer数据库的方法,包括如下步骤:
1)配置数据源信息及任务相关参数信息;
2)插件端校验数据源及任务相关信息接口;
3)构建数据库监听接口;
4)数据捕捉及解析接口;
5)基于flink实现分布式数据同步。
进一步的,所述步骤2)包括如下步骤:
2.1)解析提交的json,内容包括任务的数据源链接、账号、密码、采集的类型以及表信息;
2.2)校验username,若为空则抛出IllegalArgumentException异常;校验password,若为空则抛出IllegalArgumentException异常;校验url,若为空则抛出IllegalArgumentException异常;校验databaseName,若为空则抛出IllegalArgumentException异常;校验tableList,若为空则抛出IllegalArgumentException异常;校验cat,若为空则抛出IllegalArgumentException异常;
2.3)通过执行命令,检测SqlServer数据库是否开启了变更数据捕获功能,若未开启则任务终止并提示用户数据库未开启变更数据捕获功能。
2.4)通过执行命令,去数据库中查询所有已经开启变更数据捕获功能的表,然后与配置的tableList的表逐个进行对比,检测用户配置的表在SqlServer数据库是否启用了变更数据捕获功能,若存在未启用变更数据捕获功能的表则任务终止并提示用户具体哪张表未开启变更数据捕获功能。
进一步的,所述步骤3)包括如下步骤:
3.1)获取上一步中校验通过的参数信息,将传入的cat字符串数组转化为对应的编号,注册采集数据类型的实例;
3.2)通过Duration.of方法,将传入的间隔参数构建出微秒级别的时间时钟;
3.3)查询数据库中启动变更数据捕获功能的表信息,并与用户配置的表进行对比,过滤出需要采集的表信息储存在白名单中;
3.4)根据白名单中的表的数据库名称、schema名称和表名称,计算出源表id以及源表的指针数组,存储在缓存中。
进一步的,所述步骤4)包括如下步骤:
4.1)插件端启动一个线程,该线程会在每一次循环结束休眠指定的时间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州玳数科技有限公司,未经杭州玳数科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011493344.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种气动剪刀叉式直角顶升输送机
- 下一篇:一种半埋入式垃圾中转站





