[发明专利]基于日志解析的异构数据库的双向同步方法和同步装置有效
申请号: | 202010714023.4 | 申请日: | 2020-07-22 |
公开(公告)号: | CN112035463B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 孙峰;彭青松;刘启春 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/2455;G06F16/27;G06F16/18 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 日志 解析 数据库 双向 同步 方法 装置 | ||
1.一种基于日志解析的异构数据库的双向同步方法,其特征在于,所述双向同步方法应用于双向同步系统,所述双向同步系统包括两个数据同步系统,所述数据同步系统包括数据同步服务和数据库,两个数据同步系统互为本端数据同步系统和对端数据同步系统,所述双向同步方法包括:
分别为所述双向同步系统中的两个数据同步系统创建专属用户;
在数据同步服务初始启动时,设置同步事务的过滤用户为本端数据同步系统中创建的专属用户;其中,专属用户为普通的数据库用户对象,且仅供数据同步服务所使用,不提供给其他应用使用;设置所述专属用户只用于数据同步服务,并为所述专属用户设置数据库权限;
在进行增量数据同步时,位于所述本端数据同步系统的数据同步服务获取操作日志,对所述操作日志进行解析得到所述操作日志所属的用户对象;
判断所述操作日志所属的用户对象是否为过滤用户;具体包括:实时读取本端数据库的日志文件,捕获出增量的操作日志,根据捕获到的操作日志,读取出操作日志所属的用户对象,如果是过滤用户,则丢弃所述操作日志;否则,解析该操作日志内容,转换为特定的消息格式,传递给日志传输模块;
若是,则丢弃所述操作日志;
若不是,则将所述操作日志发送至所述对端数据同步系统,所述对端数据同步系统使用其上的专属用户创建的数据库连接执行数据同步。
2.根据权利要求1所述的双向同步方法,其特征在于,所述分别为所述本端数据同步系统和所述对端数据同步系统创建专属用户包括:
使用创建用户语句,分别为所述本端数据同步系统和所述对端数据同步系统创建专属用户;
设置所述专属用户只用于数据同步服务,并为所述专属用户设置数据库权限,其中,所述数据库权限包括创建数据库连接、执行SQL语句和操作待同步表。
3.根据权利要求1所述的双向同步方法,其特征在于,所述数据同步服务包括日志捕获模块、日志传输模块和同步执行模块;
所述日志捕获模块捕获数据库系统的归档日志文件或在线日志文件中的操作日志;
对所述操作日志进行解析得到所述操作日志所属的用户对象,当所述操作日志所属的用户对象不为过滤用户时,将所述操作日志转换为同步服务系统内部统一格式的消息包,传递给所述日志传输模块;
所述日志传输模块将经过格式转换的所述操作日志发送到对端的数据同步服务,还接收对端发送过来的操作日志;
所述同步执行模块接收对端发过来的操作日志,根据操作日志所属的事务进行分类,并使用其上的专属用户创建的数据库连接执行本次同步操作。
4.根据权利要求1所述的双向同步方法,其特征在于,所述方法还包括:
在数据同步服务初始启动时,通过配置文件形式读取配置的过滤用户的名称,以根据过滤用户的名称对同步过程中事务的进行控制和过滤。
5.根据权利要求1所述的双向同步方法,其特征在于,所述双向同步方法还包括:
数据同步的实现过程包括:
在本地内存中建立关联列的结果集;
在接收到同步表的操作日志后,基于所述结果集对所述操作日志进行过滤,以选择性对所述操作日志进行同步。
6.根据权利要求5所述的双向同步方法,其特征在于,所述在接收到同步表的操作日志后,基于所述结果集对所述操作日志进行过滤,以选择性对所述操作日志进行同步包括:
在接收到同步表的操作日志,对所述同步表的操作日志进行解析,得到所述同步表的关联列的列值;
判断所述同步表的关联列的列值是否存在于所述结果集中;
若存在,则将当前操作日志添加至所述同步表的待执行操作队列中,以进行数据同步;
若不存在,则丢弃当前操作日志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010714023.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:可更换式轮胎齿牙套
- 下一篇:一种用于汽车发动机水泵的泄露检测装置