[发明专利]一种数据传输方法及相关设备有效
申请号: | 201810179792.1 | 申请日: | 2018-03-05 |
公开(公告)号: | CN110198327B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 吴双桥;李岩;王珏;杨繁 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据传输 方法 相关 设备 | ||
涉及数据库技术领域,尤其涉及一种数据传输方法及相关设备,客户端可向云平台发送数据获取请求;云平台根据该数据获取请求确定筛选条件信息,并从中间文件中,读取满足该筛选条件信息的变更记录;其中,中间文件是云平台通过预先对设定数据库的日志文件进行读取和解析得到的;客户端接收云平台返回的满足该筛选条件信息的变更记录。也就是说,可通过对数据库的日志文件进行读取生成中间文件,实现日志文件中变更记录的异步读取和传输,进而在数据传输时可根据筛选条件信息传输中间文件中记录的满足筛选条件信息的变更记录,因此,不仅可节约网络资源、提高数据传输效率,而且还满足了客户端的定制化需求。
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据传输方法及相关设备。
背景技术
由于数据库的二进制日志文件不支持回滚读取数据,因此,数据库的原生数据传输方式,只能对一台数据库的二进制日志文件中的变更记录进行一次顺序读取并传输至另一台数据库。例如,第一数据库共包括A、B、C三个库表,第一数据库的二进制日志文件按照时间顺序依次记录了A、B、C三个库表的每次变更;在一次将第一数据库中的数据传输到第二数据库的过程中,只能从上一次数据传输过程读取的最后一条变更记录的下一条变更记录开始,顺序读取并传输第一数据库的二进制日志文件中的每条变更记录。
可见,数据库的原生数据传输方式无法实现根据需求有选择性地传输数据,数据传输效率较低、浪费网络资源。
发明内容
本发明实施例提供了一种数据传输方法及相关设备,用以解决数据库的原生数据传输方式效率较低、浪费网络资源的问题。
第一方面,本发明实施例提供了一种数据传输方法,所述方法包括:
接收客户端发送的数据获取请求,根据所述数据获取请求确定筛选条件信息;
从中间文件中,读取满足所述筛选条件信息的变更记录;其中,所述中间文件是通过预先对设定数据库的日志文件进行读取和解析得到的;
将读取到的变更记录返回给所述客户端。
也就是说,可预先对第一数据库的日志文件进行读取得到中间文件,不同于数据库日志文件的不支持回滚读取以及跳跃读取、只能从上一次读取的最后一条变更记录的下一条变更记录开始向下顺序读取每条变更记录,中间文件中的数据可从任一条变更记录开始、以任意方式进行读取,进而可实现根据任一筛选条件,选择性地读取并传输中间文件中满足该筛选条件的变更记录。
优选地,所述筛选条件信息包括以下至少一个:
时间条件信息,包括用于对所述设定数据库的各变更记录的产生时间进行筛选的设定时间段;
对象条件信息,包括用于对所述设定数据库的各变更记录所对应的库表进行筛选的库表标识;
类型条件信息,包括用于对所述设定数据库的各变更记录的变更类型进行筛选的类型标识;其中,变更类型包括数据对象变更或者库表结构变更。
即,筛选条件信息可包括时间条件信息、对象条件信息和类型条件信息的任意组合,因此,可满足客户端的定制化需求。
优选地,在从中间文件中,读取满足所述筛选条件信息的变更记录之前,所述方法还包括:确定所述中间文件;
确定所述中间文件,具体包括:按照时间先后顺序,对所述设定数据库的日志文件中的每个事务执行以下操作:
按照时间先后顺序,读取、解析并记录当前事务的每条变更记录,并在将当前事务的最后一条变更记录写入所述中间文件时,对应插入相应的事务索引标识。
进一步可选地,读取、解析并记录当前变更记录,具体包括:
读取当前变更记录;
判断当前变更记录的变更类型为库表结构变更或数据对象变更;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810179792.1/2.html,转载请声明来源钻瓜专利网。