一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于binlog的数据实时清理系统及清理方法与流程

2022-02-20 20:23:03 来源:中国专利 TAG:


1.本发明涉及数据实时清理技术领域,具体为一种基于binlog的数据实时清理系统及清理方法。


背景技术:

2.系统架构不是由单一的数据库组成的,往往会根据业务的特性选择合理的数据库,比如适合分词检索的elasticsearch,适合文档存储的mongdb,以及海量数据存储的hbase等等,这种情况下,如果需要同一份数据存到不同的数据库,往往需要开发人员将数据清洗的逻辑嵌入到代码中,不利于拓展和维护,且需要保证同步写入的数据库都要正确执行,某个数据库失败则整理失败重试,大大地增加了代码的复杂度。
3.而基于binlog格式的实时数据清洗平台,则解决了这些问题,只要基于特定格式的binlog,则能横向拓展,将数据清洗到各个数据库中,节约了大量的数据清洗的成本,为了完整地将binlog中的数据解析成和数据库无关的结构数据,通常需要获知mysql数据库的完整元数据(meta数据,即:记录数据库和表结构的数据),然而由于binlog自身无法提供这部分数据,同时解析binlog数据需要与binlog数据的时间戳对应的元数据信息,而mysql数据库的元数据是实时变化的,因此通过直接连接主库查询的方式获得当前时间点的元数据信息,可能出现与解析binlog所需元数据不一致的情况,在元数据抓取时,在对应的时间点开始拉取binlog数据时通常会拉取重复的数据,影响整个数据同步过程的效率,为此,我们提出一种基于binlog的数据实时清理系统及清理方法。


技术实现要素:

4.本发明的目的在于提供一种基于binlog的数据实时清理系统及清理方法,以解决上述背景技术中提出的问题。
5.为实现上述目的,本发明提供如下技术方案:一种基于binlog的数据实时清理系统,包括架构平台,架构平台能够根据业务的特性基于业务开发逻辑对mysql数据进行数据写入,然后选择合适的数据库进行数据写入或者导入存储在其他数据库中,能够完成不同的业务分类:适合分词检索的elasticsearch完成数据写入、适合文档存储的mongdb数据写入、适合海量数据存储的hbase数据写入;架构平台包括基准元数据获取单元,基准元数据获取单元电性输出连接数据处理单元,数据处理单元电性输出连接基准元数据生成单元,基准元数据生成单元电性输出连接基准元数据分类单元,基准元数据分类单元电性输出连接元数据数据库,元数据数据库电性输出连接元数据清除模块,元数据清除模块电性输出连接元数据发布单元。
6.优选的,所述基准元数据获取单元包括元数据接收单元,元数据接收单元电性输出连接元数据整理单元,元数据整理单元电性输出连接元数据输出单元。
7.优选的,所述基准元数据生成单元包括元数据导入单元和元数据定期生成单元,元数据导入单元用于将从mysql数据库获取的基准元数据导入本地mysql数据库中,元数据
定期生成单元用于按照预先设定的时间间隔,定期获取本地mysql数据库的元数据并存储,作为与执行获取操作的时间点对应的基准元数据。
8.优选的,所述元数据数据库包括元数据访问单元,元数据访问单元电性输出连接元数据索引单元,元数据索引单元电性输出连接元数据选择单元。
9.优选的,所述元数据清除模块包括元数据清除子单元,且元数据清除子单元包括清理工具,清理工具能够支持常见文件格式,至少包括txt文件、csv文件、excel文件、dmp文件数据格式,并且相同数据、不同数据的转换过程能够自定义,还能够实现数据格式的转换,按照要求进行标准化处理。
10.清理系统的清理方法为:s1:基准元数据获取单元接收获取与指定时间点对应的mysql数据库元数据的请求,根据预先存储的mysql数据库的基准元数据和ddl操作信息,生成与mysql数据库在所述指定时间点上的元数据一致的本地mysql数据库,用于从本地mysql数据库中获取元数据并存储,以此来作为相对应的基准元数据,从本地mysql数据库中获取二进制binlog数据,并存储binlog数据中与ddl操作相关的信息;s2:数据处理单元能够对存储的binlog数据和ddl操作相关的信息进行解压转模处理;s3:基准元数据生成单元用于预先生成并存储mysql数据库的基准元数据和ddl操作信息,且在本地mysql数据库中执行binlog数据中的ddl操作,并存储相关信息;s4:基准元数据分类单元将这些binlog数据和ddl操作相关信息进行分类筛选,同时选取的基准元数据则导入本地mysql元数据数据库中进行存储;s5:元数据清除模块在将选取的基准数据导入本地mysql元数据数据库之前,判断本地mysql元数据数据库是否已有与mysql数据库对应的元数据,若是,通过执行删除操作清除本地mysql数据库中的元数据,并且在本地mysql数据库中依次执行所选的ddl操作之前,从所选的ddl操作信息中,剔除从整体上对本地mysql数据库的元数据不产生影响的ddl操作信息;s6:元数据发布单元建立一套元数据的发布流程来管理元数据的发布,元数据发布后,用户能通过元数据报表来查询各种元数据的内容,使用关联影响分析、依赖分析、血统分析方法来分析元数据间的关系,通过搜索功能对元数据对象进行精确或模糊查询,以xml标准进行元数据交换,并提供数据传输接口端接入,使得用户的查询请求得到及时有效的反馈。
11.与现有技术相比,本发明的有益效果是:本发明设计合理,在不增加mysql数据库额外负担的情况下,不仅能够提供当前解析binlog所需的准确元数据信息,而且可以提供从自主管理的起始时间到当前时间之间的任意一个时间点的元数据信息,从而增强了binlog解析功能的容错性和可运维性,为mysql数据库业务的批量运维、数据过滤、异构数据库同步、细粒度的并行同步等功能的实现提供了便利,通过从mysql数据库获取基准元数据,并将在拉取binlog过程中提取的ddl操作信息进行集中管理,提供了对mysql数据库在各个时间点的元数据进行自主管理的一种方法,使得开发人员只要专注自己的业务开发,不需要保证其他的数据库都正确写入,各线程确保自己的数据库写入正确即可,快速响应用户的请求,另外,清洗之后的数据,可以支持其
他的业务各种各样的场景使用。
附图说明
12.图1为本发明工作流程示意图。
具体实施方式
13.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
14.请参阅图1,本发明提供一种技术方案:一种基于binlog的数据实时清理系统,包括架构平台,架构平台能够根据业务的特性基于业务开发逻辑对mysql数据进行数据写入,然后选择合适的数据库进行数据写入或者导入存储在其他数据库中,能够完成不同的业务分类:适合分词检索的elasticsearch完成数据写入、适合文档存储的mongdb数据写入、适合海量数据存储的hbase数据写入;架构平台包括基准元数据获取单元,基准元数据获取单元电性输出连接数据处理单元,数据处理单元电性输出连接基准元数据生成单元,基准元数据生成单元电性输出连接基准元数据分类单元,基准元数据分类单元电性输出连接元数据数据库,元数据数据库电性输出连接元数据清除模块,元数据清除模块电性输出连接元数据发布单元。
15.所述基准元数据获取单元包括元数据接收单元,元数据接收单元电性输出连接元数据整理单元,元数据整理单元电性输出连接元数据输出单元,元数据接收单元接收获取与指定时间点对应的mysql数据库元数据的请求,元数据整理单元根据预先存储的mysql数据库的基准元数据和ddl操作信息,生成与mysql数据库在所述指定时间点上的元数据一致的本地mysql数据库,用于从本地mysql数据库中获取元数据并存储,以此来作为相对应的基准元数据,从本地mysql数据库中获取二进制binlog数据,并存储binlog数据中与ddl操作相关的信息,元数据输出单元能够实现数据的传输;所述基准元数据生成单元包括元数据导入单元和元数据定期生成单元,元数据导入单元用于将从mysql数据库获取的基准元数据导入本地mysql数据库中,元数据定期生成单元用于按照预先设定的时间间隔,定期获取本地mysql数据库的元数据并存储,作为与执行获取操作的时间点对应的基准元数据;所述元数据数据库包括元数据访问单元,元数据访问单元电性输出连接元数据索引单元,元数据索引单元电性输出连接元数据选择单元,建立一套元数据访问权限的授予、管理流程机制,控制合法用户对元数据资料的有效访问;所述元数据清除模块包括元数据清除子单元,且元数据清除子单元包括清理工具,清理工具能够支持常见文件格式,至少包括txt文件、csv文件、excel文件、dmp文件数据格式,并且相同数据、不同数据的转换过程能够自定义,还能够实现数据格式的转换,按照要求进行标准化处理;清理系统的清理方法为:s1:基准元数据获取单元接收获取与指定时间点对应的mysql数据库元数据的请
求,根据预先存储的mysql数据库的基准元数据和ddl操作信息,生成与mysql数据库在所述指定时间点上的元数据一致的本地mysql数据库,用于从本地mysql数据库中获取元数据并存储,以此来作为相对应的基准元数据,从本地mysql数据库中获取二进制binlog数据,并存储binlog数据中与ddl操作相关的信息;s2:数据处理单元能够对存储的binlog数据和ddl操作相关的信息进行解压转模处理;s3:基准元数据生成单元用于预先生成并存储mysql数据库的基准元数据和ddl操作信息,且在本地mysql数据库中执行binlog数据中的ddl操作,并存储相关信息;s4:基准元数据分类单元将这些binlog数据和ddl操作相关信息进行分类筛选,同时选取的基准元数据则导入本地mysql元数据数据库中进行存储;s5:元数据清除模块在将选取的基准数据导入本地mysql元数据数据库之前,判断本地mysql元数据数据库是否已有与mysql数据库对应的元数据,若是,通过执行删除操作清除本地mysql数据库中的元数据,并且在本地mysql数据库中依次执行所选的ddl操作之前,从所选的ddl操作信息中,剔除从整体上对本地mysql数据库的元数据不产生影响的ddl操作信息;s6:元数据发布单元建立一套元数据的发布流程来管理元数据的发布,元数据发布后,用户能通过元数据报表来查询各种元数据的内容,使用关联影响分析、依赖分析、血统分析方法来分析元数据间的关系,通过搜索功能对元数据对象进行精确或模糊查询,以xml标准进行元数据交换,并提供数据传输接口端接入,使得用户的查询请求得到及时有效的反馈。
16.本发明在不增加mysql数据库额外负担的情况下,不仅能够提供当前解析binlog所需的准确元数据信息,而且可以提供从自主管理的起始时间到当前时间之间的任意一个时间点的元数据信息,从而增强了binlog解析功能的容错性和可运维性,为mysql数据库业务的批量运维、数据过滤、异构数据库同步、细粒度的并行同步等功能的实现提供了便利,通过从mysql数据库获取基准元数据,并将在拉取binlog过程中提取的ddl操作信息进行集中管理,提供了对mysql数据库在各个时间点的元数据进行自主管理的一种方法,使得开发人员只要专注自己的业务开发,不需要保证其他的数据库都正确写入,各线程确保自己的数据库写入正确即可,快速响应用户的请求,另外,清洗之后的数据,可以支持其他的业务各种各样的场景使用。
17.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献