[发明专利]一种并行分布式大数据架构构建方法及系统有效
申请号: | 202110440139.8 | 申请日: | 2021-04-21 |
公开(公告)号: | CN113190528B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 周生辉;刘园园;王勇;万修全;魏志强 | 申请(专利权)人: | 中国海洋大学;青岛海洋科学与技术国家实验室发展中心 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/22;G06F16/2455;G06F16/27 |
代理公司: | 北京艾格律诗专利代理有限公司 11924 | 代理人: | 王子溟 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并行 分布式 数据 架构 构建 方法 系统 | ||
1.一种并行分布式大数据架构构建方法,其特征在于,包括生产者端的搭建及数据连接器端的搭建,所述生产者端的搭建方法包括:
在即将运行的MPI进程中加载指定的序列化策略;
通过kafka生产者MPI进程组的各个进程完成各kafka生产者的生产属性配置;
通过所述kafka生产者MPI进程组的各个进程进行序列化策略的类型转化,对预备发送数据进行avro序列化;
基于缓存的序列化策略元信息对avro序列化后的数据进行内存填充,并形成kafka消息,发送至kafka消息队列中;
所述数据连接器端的搭建方法包括:
通过spark-sql-kafka集成模块以流方式从kafka数据源读取Dataframe,并完成预置的组态配置,其中,所述组态配置包括:自如下三个配置项中的一个作为kafka数据源的目标topic,所述配置项包括assign*、subscribe*、subscribePattern*;
从schema registry端加载指定的kafka数据源topic键、值avro序列化策略,并执行反序列化;
使用spark微批处理形式,将反序列化后Kafak数据流批量写入GreenPlum目标数据库或数据表中;所述在即将运行的MPI进程中加载指定的序列化策略包括:
创建kafka生产者MPI进程组和通信域;
选取MPI进程组中的一个MPI进程作为主进程,构建所述主进程与Schema Registry端的通信,加载指定的序列化策略;
将所述主进程中的序列化策略广播至Kafka生产者MPI进程组中的其它所有即将运行的MPI进程;加载指定的序列化策略包括:
调用libserdes库中的serdes_schema_get函数从指定位置进行加载,若指定位置不存在所述序列化策略,则调用libserdes库中的serdes_schema_add函数将序列化策略定义添加至指定位置,所述指定位置为本地缓存或所述schema registry端;将所述主进程中的序列化策略广播包括:
调用MPI_BCAST函数将序列化策略进行广播;完成各kafka生产者的生产属性配置,包括:
完成服务器列表的配置;
完成消息生产批处理最小本地队列大小的配置;以及
完成消息生产本地队列最长等待时间的配置。
2.如权利要求1所述的并行分布式大数据架构构建方法,其特征在于,进行序列化策略的类型转化包括:
调用avro-c库中的相关函数将本地缓存的序列化策略转化为avro数据序列化系统相关的avro_schema_t结构体类型。
3.如权利要求1所述的并行分布式大数据架构构建方法,其特征在于,所述执行反序列化后进一步包括:
执行所需的动作、转换、连接、分组、聚合的结构化数据操作。
4.如权利要求1所述的并行分布式大数据架构构建方法,其特征在于,将反序列化后Kafak数据流批量写入GreenPlum目标数据库或数据表中之前包括配置目标GreenPlum数据源,所述配置目标GreenPlum数据源包括:
调用GreenPlum-spark-connector集成模块,使用GreenPlum数据源,完成预置的数据库组态配置,所述数据库组态配置包括数据库JDBC URL、数据库目标schema、数据表、JDBC驱动、数据库用户名、数据库用户密码。
5.一种并行分布式大数据架构构建系统,其特征在于,包括生产者端的搭建模块及数据连接器端的搭建模块,所述生产者端的搭建模块包括:
序列化策略加载单元,用于在即将运行的MPI进程中加载指定的序列化策略;
生产属性配置单元,用于通过kafka生产者MPI进程组的各个进程完成各kafka生产者的生产属性配置;
avro序列化单元,用于通过所述kafka生产者MPI进程组的各个进程进行序列化策略的类型转化,对预备发送数据进行avro序列化;
kafka消息生产单元,用于基于缓存的序列化策略元信息对avro序列化后的数据进行内存填充,并形成kafka消息,发送至kafka消息队列中;
所述数据连接器端的搭建模块包括:
组态配置单元,用于通过spark-sql-kafka集成模块以流方式从kafka数据源读取Dataframe,并完成预置的组态配置,其中,所述组态配置包括:自如下三个配置项中的一个作为kafka数据源的目标topic,所述配置项包括assign*、subscribe*、subscribePattern*;
反序列化单元,用于从schema registry端加载指定的kafka数据源topic键、值avro序列化策略,并执行反序列化;
微批处理单元,用于使用spark微批处理形式,将反序列化后Kafak数据流批量写入GreenPlum目标数据库或数据表中;所述序列化策略加载单元包括:
MPI进程组及通信域假设子单元,用于创建kafka生产者MPI进程组和通信域;
指定的序列化策略加载子单元,用于选取MPI进程组中的一个MPI进程作为主进程,构建所述主进程与Schema Registry端的通信,加载指定的序列化策略;
广播子单元,用于将所述主进程中的序列化策略广播至Kafka生产者MPI进程组中的其它所有即将运行的MPI进程;其中,
加载指定的序列化策略包括:
调用libserdes库中的serdes_schema_get函数从指定位置进行加载,若指定位置不存在所述序列化策略,则调用libserdes库中的serdes_schema_add函数将序列化策略定义添加至指定位置,所述指定位置为本地缓存或所述schema registry端;将所述主进程中的序列化策略广播包括:
调用MPI_BCAST函数将序列化策略进行广播;完成各kafka生产者的生产属性配置,包括:
完成服务器列表的配置;
完成消息生产批处理最小本地队列大小的配置;以及
完成消息生产本地队列最长等待时间的配置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国海洋大学;青岛海洋科学与技术国家实验室发展中心,未经中国海洋大学;青岛海洋科学与技术国家实验室发展中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110440139.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置