技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种通用的性能卓越的datax插件的制作方法  >  正文

一种通用的性能卓越的datax插件的制作方法

  • 国知局
  • 2024-10-21 15:10:39

本发明属于数据传输,具体涉及一种通用的性能卓越的datax插件。

背景技术:

1、数据处理过程中需要把大量数据从其他数据源或者文件中同步到gpdb(greenplum的简称,是一个开源数据仓库,基于开源postgresql改造而来,主要用来处理大规模数据分析任务),gpdb底层就是多个postgresql(一个开源的,特性非常齐全的对象-关系型数据库,同时还支持nosql的文档型存储)数据库组成的postgresql集群,有一个master来管理,当然可以有一个standby的master。而一般的etl工具在向gpdb导数据时,会走master,再由master来分发,效率极其低下。

2、现有技术中,alibaba官方的datax(alibaba datax,一种开源离线数据同步工具/平台,实现了多种异构数据源之间高效的数据同步功能)版本里的postgresqlwriter插件实现了写入数据到postgresql主库目的表的功能。在底层实现上,postgresqlwriter通过jdbc连接远程postgresql数据库并执行相应的insert into...sql语句将数据写入postgresql,内部会分批次提交入库。gpdb服务端对copyfrom的csv格式做了这样的限制,单个元组不得大于4mb。在我们的数据开发过程中目前没有遇到单个元组大小超过4mb,所以这个限制对我们来说可忽略。

3、因此,有必要提出一种通用的性能卓越的datax插件,以解决把大量数据从其他数据源或文件同步到gpdb过程中解决数据同步速率性能问题。

4、本背景技术所公开的上述信息仅仅用于增加对本发明背景技术的理解,因此,其可能包括不构成本领域普通技术人员已知的现有技术。

技术实现思路

1、本发明的目的在于提供一种通用的性能卓越的datax插件:postgresymwriter,代替alibaba datax官方的postgresqlwriter插件,以解决上述背景技术中提出的问题。

2、为实现上述目的,本发明提供如下技术方案:

3、一种通用的性能卓越的datax插件,包括:int单元、prepare单元、getcopysql单元、executecopysql单元,所述init单元读取和校验插件里配置信息,初始化copyjob,所述prepare单元根据插件里的配置信息生成数据库jdbc连接,测试jdbc连接是否正常访问,获取配置里的presql,并执行presql,所述getcopysql单元根据插件里配置的表名称和字段名称,拼接copy from语句,所述executecopysql单元根据插件里配置信息生成jdbc连接,并在目标数据库里执行executecopysql操作。

4、优选的,所述插件通过配置库信息、表和字段信息,从butter中把数据快速写入gpdb数据库集群中,所述插件的上层通过buffer与oracle reader建立数据连接,下层与gpdb数据库集群建立数据连接。

5、优选的,所述oracle reader通过配置库信息、表和字段信息,从oracle(源数据库)中读取相应库表字段数据内容,所述buffer介于oracle reader和插件之间,用于控制和协调oracle reader和插件的读和写速率。

6、优选的,所述插件在与buffer和gpdb数据库集群连接中,应用newip协议栈加快大量数据的同步过程,提高数据传输效率,并且采用机器学习增强负载均衡算法预测和响应服务器负载的变化,动态调整流量分配。

7、采用机器学习增强负载均衡算法预测和相应服务器负载变化过程:首先,收集关于服务器性能、网络延迟、请求类型、历史负载等信息,并去除重复、缺失或错误的数据,确保数据质量,然后对收集到的数据进行转换、抽取等操作,提取有效的特征用户训练模型,如服务器cpu使用率、内存使用率、响应时间等,以特征为核心对得到的数据重新进行整理,之后将数据划分为不同的数据集;

8、使用划分的数据集训练机器学习模型(模型使用rnn架构建立),模型会学习如何根据不同的特征来预测服务器的最佳负载分配,通过l2正则化来防止模型过拟合,通过交叉验证和损失函数来优化模型参数值,确保模型能够有效地预测负载分配,然后利用机器学习模型实时监控服务器的状态和性能,并以新的实时监控数据输入模型中进行预测,生成新的预测结果来动态调整负载分配策略。

9、优选的,所述插件在传输前通过哈希函数计算数据的校验和,同时接收端验证数据完整性,减少错误检测和重传。

10、优选的,所述插件通过自适应流控算法根据网络状况和服务器负载实时调整数据传输速度和策略,以优化数据传输效率和保证服务质量。

11、自适应流控对网络状况和负载进行分析调整过程:根据初始的发送速率启动一个流量控制机制,如滑动窗口协议(如tcp的慢启动和拥塞避免算法),然后发送方(如服务器)开始发送数据包,每个数据包携带一个序列号,每个数据包还包含一个接收窗口大小,表示接收方可以接收的未确认数据包数量,之后接收方(如客户端)接收数据包,确认已收到,并返回一个确认,包含接收窗口的更新,可能减小也可能增大,取决于网络状况,而如果接收方在一段时间内未收到足够的确认,或者收到的确认数量减少,可能表明网络拥塞,发送方根据接收方的反馈和网络状况调整发送速率,如果网络状况改善,拥塞窗口会逐渐增大,发送速率也会增加,如果数据包丢失或错误,发送方可能需要重传数据包,并相应调整发送策略。

12、与现有技术相比,本发明的有益效果是:

13、本发明利用gpdb的copy特性,在alibaba datax的框架体系下原创实现了高效的postgresymwriter插件用以代替alibaba datax官方的postgresqlwriter插件,同时应用newip协议栈使得postgresymwriter插件能够处理不同来源的异构数据,并且结合对数据传输过程负载以及流量的实时监控与调整,使得整个同步传输过程效率提高,为用户带来更好的使用体验。

14、上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

技术特征:

1.一种通用的性能卓越的datax插件,其特征在于,包括:int单元、prepare单元、getcopysql单元、executecopysql单元,所述init单元读取和校验插件里配置信息,初始化copyjob,所述prepare单元根据插件里的配置信息生成数据库jdbc连接,测试jdbc连接是否正常访问,获取配置里的presql,并执行presql,所述getcopysql单元根据插件里配置的表名称和字段名称,拼接copy from语句,所述executecopysql单元根据插件里配置信息生成jdbc连接,并在目标数据库里执行executecopysql操作。

2.根据权利要求1所述的一种通用的性能卓越的datax插件,其特征在于:所述插件通过配置库信息、表和字段信息,从butter中把数据快速写入gpdb数据库集群中,所述插件的上层通过buffer与oracle reader建立数据连接,下层与gpdb数据库集群建立数据连接。

3.根据权利要求2所述的一种通用的性能卓越的datax插件,其特征在于:所述oraclereader通过配置库信息、表和字段信息,从oracle中读取相应库表字段数据内容,所述buffer介于oracle reader和插件之间,用于控制和协调oracle reader和插件的读和写速率。

4.根据权利要求3所述的一种通用的性能卓越的datax插件,其特征在于:所述插件在与buffer和gpdb数据库集群连接中,应用newip协议栈加快大量数据的同步过程,提高数据传输效率,并且采用机器学习增强负载均衡算法预测和响应服务器负载的变化,动态调整流量分配。

5.根据权利要求4所述的一种通用的性能卓越的datax插件,其特征在于:所述插件在传输前通过哈希函数计算数据的校验和,同时接收端验证数据完整性,减少错误检测和重传。

6.根据权利要求5所述的一种通用的性能卓越的datax插件,其特征在于:所述插件通过自适应流控算法根据网络状况和服务器负载实时调整数据传输速度和策略,以优化数据传输效率和保证服务质量。

技术总结本发明涉及数据传输技术领域,具体公开了一种通用的性能卓越的datax插件,包括:int单元、prepare单元、getCopySql单元、executeCopySql单元,init单元读取和校验插件里配置信息,初始化copyJob,prepare单元根据插件里的配置信息生成数据库jdbc连接,测试jdbc连接是否正常访问,获取配置里的preSql,并执行preSql;本发明利用GPDB的COPY特性,在alibaba datax的框架体系下原创实现了高效的PostgresYMWriter插件用以代替alibaba datax官方的PostgresqlWriter插件,同时应用NewIP协议栈使得PostgresYMWriter插件能够处理不同来源的异构数据,并且结合对数据传输过程负载以及流量的实时监控与调整。技术研发人员:李俊,郑盼受保护的技术使用者:江西裕民银行股份有限公司技术研发日:技术公布日:2024/10/17

本文地址:https://www.jishuxx.com/zhuanli/20241021/320748.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。