本发明涉及数据库管理领域,尤其涉及一种异地实时同步SQL数据的方法。
背景技术:
随着时代的发展,数据传输呈全球化趋势,而目前在数据库管理领域,异地调用数据显得非常慢。
技术实现要素:
鉴于目前存在的上述不足,本发明提供一种异地实时同步SQL数据的方法,能够实现MySQL超远距离实时同步。
为达到上述目的,本发明的实施例采用如下技术方案:
一种异地实时同步SQL数据的方法,所述异地实时同步SQL数据的方法包括以下步骤:
对数据库的增量日志进行解析;
对解析的数据进行过滤加工处理;
建立异地数据库之间的链接并进行延迟优化;
将过滤加工处理后的数据按需求分配到相应的异地数据库中。
依照本发明的一个方面,所述建立异地数据库之间的链接并进行延迟优化包括:采用protobuf进行传输数据。
依照本发明的一个方面,所述建立异地数据库之间的链接并进行延迟优化包括:通过权限控制建立异地数据库之间的连接,对数据库内容进行认购并在验证通过后获得连接。
依照本发明的一个方面,数据库进行数据处理,并通过认购内容返回相应数据。
依照本发明的一个方面,所述对数据库的增量日志进行解析包括以下步骤:
增量订阅组件canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议;
mysql master收到dump请求,开始推送binary log给slave(也就是canal);
canal解析binary log对象(原始为byte流)。
依照本发明的一个方面,所述进行延迟优化包括:通过2PC异步响应模型进行高并发响应。
本发明实施的优点:本发明所述的异地实时同步SQL数据的方法包括:对数据库的增量日志进行解析;对解析的数据进行过滤加工处理;建立异地数据库之间的链接并进行延迟优化;将过滤加工处理后的数据按需求分配到相应的异地数据库中;能够实时的同步高延迟的多个区域的数据库数据.方便逻辑开发,跨区域的实时数据访问。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述的一种异地实时同步SQL数据的方法示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种异地实时同步SQL数据的方法,所述异地实时同步SQL数据的方法包括以下步骤:
步骤S1:对数据库的增量日志进行解析;
所述步骤S1对数据库的增量日志进行解析的具体实施方式可为:
增量订阅组件canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议;
mysql master收到dump请求,开始推送binary log给slave(也就是canal);
canal解析binary log对象(原始为byte流)。
步骤S2:对解析的数据进行过滤加工处理;
所述步骤S2对解析的数据进行过滤加工处理的具体实施方式可为:首先增量订阅组件canal对异地数据库相关内容进行订阅,数据库将解析后的数据按照订阅要求进行过滤加工处理,得到最终订阅的数据。
步骤S3:建立异地数据库之间的链接并进行延迟优化;
所述步骤S3建立异地数据库之间的链接并进行延迟优化的具体实施方式:采用protobuf来摒弃传统的xml进行传输数据;通过权限控制建立异地数据库之间的连接,对数据库内容进行认购并在验证通过后获得连接;数据库进行数据处理,并通过认购内容返回相应数据。
在实际应用中,通过2PC异步响应模型进行高并发响应。
步骤S4:将过滤加工处理后的数据按需求分配到相应的异地数据库中。
本发明实施的优点:本发明所述的异地实时同步SQL数据的方法包括:对数据库的增量日志进行解析;对解析的数据进行过滤加工处理;建立异地数据库之间的链接并进行延迟优化;将过滤加工处理后的数据按需求分配到相应的异地数据库中;能够实时的同步高延迟的多个区域的数据库数据.方便逻辑开发,跨区域的实时数据访问。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。