全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211116124.7 (22)申请日 2022.09.14 (71)申请人 帕科视讯科技 (杭州) 股份有限公司 地址 310051 浙江省杭州市滨江区西兴街 道西兴路2333号星澜大厦4幢1701室 (72)发明人 邵寻路 边祥国  (74)专利代理 机构 深圳博敖专利代理事务所 (普通合伙) 44884 专利代理师 杨金花 (51)Int.Cl. G06F 16/242(2019.01) G06F 16/27(2019.01) (54)发明名称 一种自动化将My sql数据同步到 ES的方法 (57)摘要 本发明公开了一种自动化将M ysql数据同步 到ES的方法, 属于大数据技术领域, 包括以下几 个步骤: 首先, 根据实际业务数据格式需要, 自定 义transferHander, 输入数据, 其次, 运行Sync ‑ tool工具生成MySQL批量导出脚本, 接着, 批量导 出MySQL数据到文件, 然后, 将数据格式转换成符 合ES批量新增要求的格式, 再然后, 生成批量导 入ES的shell脚本, 最后, 使用shell脚本将数据 导入ES, 完成同步, 自动化高性能数据格式转化, 批量导入ES的Sh ell脚本, 与业务解耦, 不额外增 加服务器资源和维护成本, 减少网络开销和限 制, 提高数据导入到ES中的性能, 实现各环节操 作的简易 性和可维护性。 权利要求书1页 说明书4页 附图2页 CN 115544054 A 2022.12.30 CN 115544054 A 1.一种自动化将Mysql数据同步到 ES的方法, 其特 征在于, 包括以下几个步骤: S1、 根据实际业 务数据格式 需要, 自定义t ransferHander, 输入数据; S2、 运行Sync ‑tool工具生成MySQ L批量导出脚本; S3、 批量导出MySQ L数据到文件; S4、 将数据格式转换成符合ES批量 新增要求的格式; S5、 生成批量 导入ES的shel l脚本; S6、 使用shel l脚本将数据导入ES, 完成同步。 2.根据权利要求1所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S1‑S6的步骤均基于JSON格式, RESTFUL  API批处理的方式, 在ES服 务器上进行操作。 3.根据权利要求2所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S2中生成MySQL批量数据导出脚本使用了MySQL5.7中函数json_object函数, 将数据转换成 json格式导出。 4.根据权利要求3所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S2中Sync ‑tool工具将JSON格式的数据转换成ES_bulk  insert要求的格式, 同时根据设定 配置每个文件中的数据量大小。 5.根据权利要求4所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S2中Sync ‑tool工具在数据格式转换的时采用并发技 术, 多任务、 多 线程并发处 理。 6.根据权利要求1所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S2中Sync ‑tool工具包括exportScriptGenerator组件、 TransferPlugin工具和 importScriptGenerator组件。 7.根据权利要求6所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S2中使用exportScriptGenerator组件一次性生成MySQL基于JSON格式的数据批量导出程 序。 8.根据权利要求6所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S2中生成MySQL批量导出脚本的方法为使用人员根据实际数据情况, 将 MySQL的中的数据制 定好导出规则, 例如 按每10万条数据拆 分, 批量导出程序将 MySQL数据库中的数据导出到多 个JSON文件。 9.根据权利要求6所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S2中TransferPlugin工具将JSON格式的数据转换成符合ES批量新增数据格式要求的数据, 软件采用多线程并行的方式对多个文件中的数据进行清洗、 过滤、 校验、 转换, 最终转换成 多个满足条件的数据文件。 10.根据权利 要求6所述的一种自动化将Mysql数据同步到ES的方法, 其特征在于: 所述 S2中使用shell脚本将数据导入ES的方法为使用人员使用importScriptGenerator组件生 成导入ES的shell批处理程序, 并使用shell程序读取command.txt命令文件, 以多任务的方 式批量将多个JSON文件中的数据快速导入到 ES中。权 利 要 求 书 1/1 页 2 CN 115544054 A 2一种自动化将Mysql数据同步到ES的方 法 技术领域 [0001]本发明涉及大 数据技术领域, 具体是一种自动化将Mysql数据同步到 ES的方法。 背景技术 [0002]当业务需要对海量数据进行多维度、 实时的搜索时, 关系型数据库显然力不从心。 在一些大数据系统、 IPTV集 成管理系统中, 需要对存储在关系型数据库M ySQL中的工单数据 进行多维度搜索和统计, 此时, 业务需要借助分布式搜索引擎Elasticsearch满足多样化的 实时搜索诉求。 需要实现MySQL和ES数据的快速同步问题。 将 MySQL数据同步到ES中, 首先面 临的问题是全量数据的同步, IPTV集成系统、 大数据系统等系统数据动辄超过几百万甚至 数十亿, 如果采用现有Datax、 Canal和logstash开源组件或者程序定制开发方式, 需要额外 占用服务器资源, 维护成本较高、 数据同步效率一般。 另外现有数据量大, 导入效率受到网 络和CPU, 内存等方式的影响, 效率受到局限, 部分方式需要定制开发, 与业务耦合性强, 不 利于多业务场景下拓展和维护。 基于以上情况, 业界需要一种轻量级、 易操作、 高性能的 MYSQL和ES同步数据的方式, 同时要求ES写速度需要超过1W条每秒。 [0003]为解决以上问题, 其他厂商也提出了基于程序定制开发的方式, 使用程序直接完 成MySQL的数据查询, 格式转换, 基于ES客户端批量新增API方式将数据同步到ES中, 但 这种 方式仍解决不了效率问题, 业务使用中比较受限。 需要根据业务进 行定制开 发, 业务耦合性 强, 维护成本高, 同时当数据量大时, 受到网络开销和服务器CPU、 内存的限制, 性能产生瓶 颈, 效率不高, 为此我们提出一种自动化将Mysql数据同步到 ES的方法。 发明内容 [0004]本发明的目的在于提供一种轻量级、 高效率、 易操作、 与业务解耦的方式, 解决千 万级数据业务场景下, 将MYSQL数据同步到ES中的问题, 解决业务中的数据高效同步的问 题。 [0005]为解决上述问题, 本发明采用如下的技 术方案: [0006]一种自动化将Mysql数据同步到 ES的方法, 包括以下几个步骤: [0007]S1、 根据实际业 务数据格式 需要, 自定义t ransferHander, 输入数据; [0008]S2、 运行Sync ‑tool工具生成MySQ L批量导出脚本; [0009]S3、 批量导出MySQ L数据到文件; [0010]S4、 将数据格式转换成符合ES批量 新增要求的格式; [0011]S5、 生成批量 导入ES的shel l脚本; [0012]S6、 使用shel l脚本将数据导入ES, 完成同步。 [0013]作为本发明的一种优选方案, 所述S1 ‑S6的步骤均基于JSON格式, RESTFUL  API批 处理的方式, 在ES服 务器上进行操作。 [0014]作为本发明的一种优选方案, 所述S2中生成MySQL批量数据导出脚本使用了 MySQL5.7中函数jso n_object函数, 将数据转换成jso n格式导出。说 明 书 1/4 页 3 CN 115544054 A 3

.PDF文档 专利 一种自动化将Mysql数据同步到ES的方法

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种自动化将Mysql数据同步到ES的方法 第 1 页 专利 一种自动化将Mysql数据同步到ES的方法 第 2 页 专利 一种自动化将Mysql数据同步到ES的方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:49:36上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。