[发明专利]数据同步方法和装置在审
申请号: | 201710164627.4 | 申请日: | 2017-03-20 |
公开(公告)号: | CN108628881A | 公开(公告)日: | 2018-10-09 |
发明(设计)人: | 陆撷澌 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标数据库 数据同步 方法和装置 目标服务器 正则表达式 同步数据 发送 数据同步请求 数据库发送 过滤目标 过滤文件 获取目标 获取数据 同步请求 数据库 响应 申请 | ||
本申请公开了数据同步方法和装置。该方法的一具体实施方式包括:响应于接收到从目标数据库获取数据的请求,获取目标数据库的地址和用于过滤目标数据库发送的文件的正则表达式;根据目标数据库的地址,向目标数据库发送数据同步请求;接收从目标数据库发送的文件,并根据正则表达式过滤文件得到待同步数据,其中,文件是由目标数据库根据接收到的数据同步请求生成的;向目标服务器发送待同步数据。该实施方式实现了实时、高效、准确地实现目标服务器与目标数据库的数据同步。
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及数据同步方法和装置。
背景技术
随着电商平台数据量日益增长,网络应用的数据仅仅存储于一个数据库中,会使得数据库的处理能力遇到瓶颈。目前有一部分系统已经渐渐使用分库分表技术将数据存储于多个数据库中。但随之而来的问题是,当要聚合查询时,单个库中的数据并不完整,为了满足这样的需求需要将散列在多个数据库中的数据聚合起来。
现有技术采用的存储引擎存储数据的方法不支持数据库事务,并且对于数据的锁粒度都是表锁,在大数据高并发的应用中,不太适用。使用客户机和服务器模型的应用实现数据的聚合,会增加了网络的开销。从数据库服务器获取到二进制日志文件时会有一次网络交互,在客户端和服务端交互时也会发生网络交互,在目的存储获取到该消息时也会有网络交互。在数据量大的情况下,频繁的网络交互,会使得数据延迟严重,在执行聚合查询时,得到的结果也非实时结果。当客户端或服务端任意一方出现问题时,数据的同步都有可能会有影响,并且增加了排查问题的难度。
发明内容
本申请的目的在于提出一种改进的数据同步方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种数据同步方法,该方法包括:响应于接收到从目标数据库获取数据的请求,获取目标数据库的地址和用于过滤目标数据库发送的文件的正则表达式;根据目标数据库的地址,向目标数据库发送数据同步请求;接收从目标数据库发送的文件,并根据正则表达式过滤文件得到待同步数据,其中,文件是由目标数据库根据接收到的数据同步请求生成的;向目标服务器发送待同步数据。
在一些实施例中,根据正则表达式过滤文件得到待同步数据,包括:解析文件得到数据结构信息集合,其中,数据结构信息包括:数据库名、表名和数据内容;从数据结构信息集合中查找出数据库名和表名与正则表达式匹配的数据结构信息;将查找出的数据结构信息对应的数据内容组合成待同步数据。
在一些实施例中,目标服务器为消息中间件服务器;以及向目标服务器发送待同步数据,包括:将待同步数据进行封装;通过消息队列将封装后的待同步数据发布至消息中间件服务器中预定的主题中,其中,预定的主题被分布式搜索引擎订阅。
在一些实施例中,在向目标服务器发送待同步数据之后,该方法还包括:记录文件的文件名和待同步数据在文件中的位置信息,并将文件名和位置信息作为已同步位置信息。
在一些实施例中,该方法还包括:向目标数据库发送已同步位置信息。
在一些实施例中,该文件为关系型数据库的二进制日志文件。
第二方面,本申请提供了一种数据同步装置,该装置包括:获取单元,用于响应于接收到从目标数据库获取数据的请求,获取目标数据库的地址和用于过滤目标数据库发送的文件的正则表达式;请求单元,用于根据目标数据库的地址,向目标数据库发送数据同步请求;接收单元,用于接收从目标数据库发送的文件,并根据正则表达式过滤文件得到待同步数据,其中,文件是由目标数据库根据接收到的数据同步请求生成的;发送单元,用于向目标服务器发送待同步数据。
在一些实施例中,接收单元进一步用于:解析文件得到数据结构信息集合,其中,数据结构信息包括:数据库名、表名和数据内容;从数据结构信息集合中查找出数据库名和表名与正则表达式匹配的数据结构信息;将查找出的数据结构信息对应的数据内容组合成待同步数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710164627.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理方法和装置
- 下一篇:用于预判问题的方法和系统