【技术实现步骤摘要】
基于canal框架的数据传输系统、方法、设备及介质
[0001]本专利技术涉及数据处理
,特别涉及一种基于canal框架的数据传输系统、方法、设备及介质。
技术介绍
[0002]由于一些业务的发展需求,往往需要在两地分别部署机房,在某些情况下,两地的范围外延甚至可以达到两国的情形,这时就会有着跨机房同步的需求。目前针对这个需求主要的实现方式是基于业务trigger获取增量变更。
[0003]在近十年内,一些业务逐步尝试通过对数据库日志进行解析以获取增量变更,然后再进行同步增量变更,也由此而衍生出了大量的数据库增量订阅服务和消费的业务,即Canal。
[0004]如图1所示,MySQL主备数据库复制数据的原理如下:
[0005]MySQL master(主数据库)将数据变更(Data changes)写入二进制日志(binary log),二进制日志中的记录叫做二进制日志事件(binary log events),可以通过show binlog events进行查看;
[0006]MySQL slave(备数据库)将MySQL master的binary log events拷贝到自己的中继日志(relay log)中;
[0007]MySQL slave重放relay log中事件,将数据变更反映为自己的数据。
[0008]在复制数据过程中canal的工作原理如下:
[0009]canal模拟MySQL slave的交互协议,伪装自己为MySQL slav ...
【技术保护点】
【技术特征摘要】
1.一种基于canal框架的数据传输系统,其特征在于,包括:第一数据库端和第二数据库端,其中,所述第一数据库端,包括:秘钥获取模块,用于获取公钥
‑
私钥对,并将所述公钥
‑
私钥对的公钥发送给第二数据库端;所述第二数据库端,包括:加密模块,用于采用所述公钥对待传输数据进行加密,并通过canal服务器将加密后的所述待传输数据输入第二队列中;数据发送模块,用于将所述第二队列中加密后的所述待传输数据发送给所述第一数据库端;所述第一数据库端,还包括:数据接收模块,用于接收来自所述第二数据库端的加密后的所述待传输数据,并将加密后的所述待传输数据输入第一队列中;解密模块,用于通过canal适配器从所述第一队列中读取加密后的所述待传输数据,并采用所述公钥
‑
私钥对的私钥对加密后的所述待传输数据进行解密,得到所述待传输数据。2.如权利要求1所述的基于canal框架的数据传输系统,其特征在于,所述加密模块,还用于将更改数据生成操作日志,将所述操作日志作为所述待传输数据,并采用所述公钥对所述操作日志进行加密,通过所述canal服务器将加密后的所述操作日志输入所述第二队列中;数据发送模块,还用于将所述第二队列中加密后的所述操作日志发送给所述第一数据库端;所述数据接收模块,还用于接收来自所述第二数据库端的加密后的所述操作日志,并将加密后的所述操作日志存储为中继日志,将所述中继日志输入所述第一队列中;所述解密模块,还用于通过所述canal适配器从所述第一队列中读取所述中继日志,采用所述公钥
‑
私钥对的私钥对所述中继日志进行解密,得到所述更改数据。3.如权利要求1所述的基于canal框架的数据传输系统,其特征在于,所述加密模块,还用于将待镜像数据生成二进制文件,将所述二进制文件作为所述待传输数据,并采用所述公钥对所述二进制文件进行加密,通过所述canal服务器将加密后的所述二进制文件输入所述第二队列中;数据发送模块,还用于将所述第二队列中加密后的所述二进制文件发送给所述第一数据库端;所述数据接收模块,用于接收来自所述第二数据库端的加密后的所述二进制文件,将加密后的所述二进制文件输入所述第一队列中;解密模块,用于通过所述canal适配器从所述第一队列中读取加密后的所述二进制文件,采用所述公钥
‑
私钥对的私钥对加密后的所述二进制文件进行解密,得到所述待镜像数据。4.如权利要求1所述的基于canal框架的数据传输系统,其特征在于,所述加密模块,还用于将用于搜索的索引的更新数据生成操作日志,将所述操作日志作为所述待传输数据,并采用所述公钥对所述操作日志进行加密,通过所述canal服务器将
加密后的所述操作日志输入所述第二队列中;数据...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:北京瑞莱智慧科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。