适用于MySQL中客户数据的并行异构方法、系统、介质及设备技术方案

技术编号:24888630 阅读:35 留言:0更新日期:2020-07-14 18:16
本发明专利技术提供了一种适用于MySQL中客户数据的并行异构方法、系统、介质及设备,包括:环境搭建步骤:搭建可用度大于设定阈值的Canal和Elasticsearch环境;环境配置步骤:在Canal上配置需要进行数据异构处理的MySQL信息;Canal‑Consumer服务开发步骤:全量异构初始化客户设定数据;Elasticsearch索引创设步骤:提取业务需求的数据创设Mapping;并行处理步骤:按照客户主键ID,将取到的binlog操作数据放入到对应线程的队列中,线程中调用Elasticsearch对应的API完成操作。本发明专利技术使得系统代码更简洁、操作更稳定、查询速度更快。

【技术实现步骤摘要】
适用于MySQL中客户数据的并行异构方法、系统、介质及设备
本专利技术涉及数据库处理领域,具体地,涉及适用于MySQL中客户数据的并行异构方法、系统、介质及设备,尤其是一种基于Canal和Elasticsearch的MySQL中客户数据并行异构方法。
技术介绍
随着系统功能越来越多,查询方式和维度的多样性,数据库中客户相关的数据量越来越大,现有通过数据库查询的需求,导致查询不方便、易出错、执行时间长、无法解决业务需求、代码中SQL语句更复杂和维护成本随之上升等问题。现有按某种维度分库方案,导致其他维度查询的需求比较复杂。现有使用Canal进行异构的两种方案,同步处理方案无法满足大批量数据变更操作的要求,并行处理方案无法满足数据的一致性。专利文献CN109241191A公开了一种分布式数据源异构同步平台及同步方法,该平台包含:前端和服务端;其中,前端用于提交数据源和显示数据源同步结果;服务端用于接收前端提交的数据源,并完成数据源同步请求,并将同步结果传送给前端;前端和服务端之间采用WebSocket技术进行通信;前端包含:react-admin-master前端独立模块,该前端独立模块采用了react+redux+ruby+webpack的前端框架,其包含:包含创建同步任务子模块、运行状态子模块和历史任务信息子模块;服务端包含:data-transform-api接口模块、data-transform-server服务模块和datax-all服务插件模块。该专利在提高数据的一致性,适用于大批量数据变更操作的要求上仍有待完善的空间。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种适用于MySQL中客户数据的并行异构方法、系统、介质及设备。根据本专利技术提供的一种适用于MySQL中客户数据的并行异构方法,包括:环境搭建步骤:准备预定MySQL数据库,搭建可用度大于设定阈值的Canal和Elasticsearch环境;环境配置步骤:在Canal上配置需要进行数据异构处理的MySQL信息;Canal-Consumer服务开发步骤:全量异构初始化客户设定数据,对binlog日志的订阅,按照客户主键ID分组的处理线程,处理客户相关表数据的Sluice,使用Elasticsearch的API以及Elasticsearch索引的创设;Elasticsearch索引创设步骤:使用客户ID作为Elasticsearch的文档ID,提取业务需求的数据创设Mapping;并行处理步骤:获取对应的处理表Sluice,按照客户主键ID,通过ID%线程数获得对应的线程标识,将取到的binlog操作数据放入到对应线程的队列中,线程中调用Elasticsearch对应的API完成操作,获取并行处理结果信息。优选地,还包括:EsQuery服务开发步骤:使用Elasticsearch的查询API,根据具体业务需求的查询,提供对外查询接口,获取EsQuery服务开发结果信息。优选地,还包括:处理查询服务搭建步骤:部署可用度大于设定阈值的Canal-Consumer服务以及EsQuery服务,获取处理查询服务搭建结果信息。优选地,还包括:结果验证步骤:实时同步数据和查询数据,获取验证结果信息。根据本专利技术提供的一种适用于MySQL中客户数据的并行异构系统,包括:环境搭建模块:准备预定MySQL数据库,搭建可用度大于设定阈值的Canal和Elasticsearch环境;环境配置模块:在Canal上配置需要进行数据异构处理的MySQL信息;Canal-Consumer服务开发模块:全量异构初始化客户设定数据,对binlog日志的订阅,按照客户主键ID分组的处理线程,处理客户相关表数据的Sluice,使用Elasticsearch的API以及Elasticsearch索引的创设;Elasticsearch索引创设模块:使用客户ID作为Elasticsearch的文档ID,提取业务需求的数据创设Mapping;并行处理模块:获取对应的处理表Sluice,按照客户主键ID,通过ID%线程数获得对应的线程标识,将取到的binlog操作数据放入到对应线程的队列中,线程中调用Elasticsearch对应的API完成操作,获取并行处理结果信息。优选地,还包括:EsQuery服务开发模块:使用Elasticsearch的查询API,根据具体业务需求的查询,提供对外查询接口,获取EsQuery服务开发结果信息。优选地,还包括:处理查询服务搭建模块:部署可用度大于设定阈值的Canal-Consumer服务以及EsQuery服务,获取处理查询服务搭建结果信息。优选地,还包括:结果验证模块:实时同步数据和查询数据,获取验证结果信息。根据本专利技术提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现适用于MySQL中客户数据的并行异构方法的步骤。根据本专利技术提供的一种适用于MySQL中客户数据的并行异构设备,包括:控制器;所述控制器包括存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现适用于MySQL中客户数据的并行异构方法的步骤;或者,所述控制器包括适用于MySQL中客户数据的并行异构系统。与现有技术相比,本专利技术具有如下的有益效果:1、本专利技术能够充分利用现有Canal和Elasticsearch的特性,构建稳定、易用、易扩展的客户相关数据并行异构方案;2、本专利技术能够实现数据的实时更新,并行处理,快速查询,业务解耦;3、本专利技术能够解决目前现有技术存在的问题,使得系统代码更简洁、操作更稳定、查询速度更快。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术的流程示意图。图2为本专利技术的系统框架示意图。图3为本专利技术实施例中的流程示意图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。如图1、图2、图3所示,根据本专利技术提供的一种适用于MySQL中客户数据的并行异构方法,包括:环境搭建步骤:准备预定MySQL数据库,搭建可用度大于设定阈值的Canal和Elasticsearch环境;环境配置步骤:在Canal上配置需要进行数据异构处理的MySQL信息;Canal-Consumer服务开发步骤:全量异构初始化客户设定数据,对binlog日志的订阅,按照客户主键ID分组的处理线程,处理客户相关表数据的Sluice,使用Elasticsearch的API以及Elasticsearch索引的创设;Elasticsearch索引创设步骤:使用客户ID作为Elasticsearch的文档ID,提取业务需求的数本文档来自技高网
...

【技术保护点】
1.一种适用于MySQL中客户数据的并行异构方法,其特征在于,包括:/n环境搭建步骤:准备预定MySQL数据库,搭建可用度大于设定阈值的Canal和Elasticsearch环境;/n环境配置步骤:在Canal上配置需要进行数据异构处理的MySQL信息;/nCanal-Consumer服务开发步骤:全量异构初始化客户设定数据,对binlog日志的订阅,按照客户主键ID分组的处理线程,处理客户相关表数据的Sluice,使用Elasticsearch的API以及Elasticsearch索引的创设;/nElasticsearch索引创设步骤:使用客户ID作为Elasticsearch的文档ID,提取业务需求的数据创设Mapping;/n并行处理步骤:获取对应的处理表Sluice,按照客户主键ID,通过ID%线程数获得对应的线程标识,将取到的binlog操作数据放入到对应线程的队列中,线程中调用Elasticsearch对应的API完成操作,获取并行处理结果信息。/n

【技术特征摘要】
1.一种适用于MySQL中客户数据的并行异构方法,其特征在于,包括:
环境搭建步骤:准备预定MySQL数据库,搭建可用度大于设定阈值的Canal和Elasticsearch环境;
环境配置步骤:在Canal上配置需要进行数据异构处理的MySQL信息;
Canal-Consumer服务开发步骤:全量异构初始化客户设定数据,对binlog日志的订阅,按照客户主键ID分组的处理线程,处理客户相关表数据的Sluice,使用Elasticsearch的API以及Elasticsearch索引的创设;
Elasticsearch索引创设步骤:使用客户ID作为Elasticsearch的文档ID,提取业务需求的数据创设Mapping;
并行处理步骤:获取对应的处理表Sluice,按照客户主键ID,通过ID%线程数获得对应的线程标识,将取到的binlog操作数据放入到对应线程的队列中,线程中调用Elasticsearch对应的API完成操作,获取并行处理结果信息。


2.根据权利要求1所述的适用于MySQL中客户数据的并行异构方法,其特征在于,还包括:
EsQuery服务开发步骤:使用Elasticsearch的查询API,根据具体业务需求的查询,提供对外查询接口,获取EsQuery服务开发结果信息。


3.根据权利要求1所述的适用于MySQL中客户数据的并行异构方法,其特征在于,还包括:
处理查询服务搭建步骤:部署可用度大于设定阈值的Canal-Consumer服务以及EsQuery服务,获取处理查询服务搭建结果信息。


4.根据权利要求1所述的适用于MySQL中客户数据的并行异构方法,其特征在于,还包括:
结果验证步骤:实时同步数据和查询数据,获取验证结果信息。


5.一种适用于MySQL中客户数据的并行异构系统,其特征在于,包括:
环境搭建模块:准备预定MySQL数据库,搭建可用度大于设定阈值的Canal和Elasticsearch环境;
环境配置模块:在Canal上配置需要进行数据异构处理的MySQL信息;
...

【专利技术属性】
技术研发人员:姚维召杜川
申请(专利权)人:上海银赛计算机科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1