[发明专利]基于kafka的分布式消息数据总线有效
申请号: | 201811626474.1 | 申请日: | 2018-12-28 |
公开(公告)号: | CN109783253B | 公开(公告)日: | 2023-02-14 |
发明(设计)人: | 杨昆;阎星娥;严荣明;张林;袁勇斌;石旦;蒋浩;倪晓蓉 | 申请(专利权)人: | 南京唯实科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/445 |
代理公司: | 南京品智知识产权代理事务所(普通合伙) 32310 | 代理人: | 奚晓宁;杨陈庆 |
地址: | 210019 江苏省南京市建邺*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 kafka 分布式 消息 数据 总线 | ||
1.一种基于kafka的分布式消息数据总线,其特征在于,包括kafka通用客户端接口和数据统一模型接口;
所述kafka通用客户端接口用于统一不同版本的kafka producer和consumer客户端,屏蔽了外部系统对kafka各版本的使用限制,从而实现与不同版本kafka的producer、consumer客户端相连,保证两者接口结构一致;
所述kafka通用客户端接口包括kafka producer通用客户端和kafka consumer通用客户端;
kafka producer通用客户端即kafka生产者,向kafka集群推送消息数据;kafkaconsumer通用客户端即kafka消费者,向kafka集群拉取数据;
所述数据统一模型接口用于统一业务数据接口,与kafka数据保存解耦;根据接口结构,实现业务数据的统一模型组合/拆分逻辑;
kafka producer通用客户端,通过统一的客户端接口,将数据发送至kafka;
kafka producer通用客户端的具体实现方法,包括:
1)实现各版本的kafka producer原生接口,接口格式与原生接口的格式一致,这样外部系统使用时,无需修改原有接口格式,即可直接使用;
2)根据kafka版本的不同,调用不同的原生接口;同时,对该kafka版本的原生依赖进行加载;依赖加载支持了kafka producer通用客户端的使用;
3)进行数据传输即可;
kafka consumer通用客户端,通过统一的客户端接口,将数据从kafka进行拉取;
kafka consumer通用客户端的具体实现方法,包括:
1)实现各版本的kafka consumer原生接口,接口格式与原生接口的格式一致,外部系统无需修改原有接口格式,即可直接使用该consumer通用客户端接口;
2)根据kafka版本的不同,调用不同的原生接口;
同时,加载与kafka版本对应的原生依赖;该依赖支持consumer通用客户端的使用;
3)拉取kafka中的数据;
数据统一模型接口分为两种,即数据结构序列化接口和数据结构反序列化接口;
数据结构序列化接口,用于将业务数据转化成统一的字节序列化数据;
数据结构反序列化接口,用于将字节序列化数据反转化成业务数据;
数据结构序列化接口的工作方法,包括如下步骤:
1)将业务数据的数据结构进行解析;
2)解析后的数据按照约定的二进制规范进行序列化操作,生成二进制字节序列;
3)将上述步骤生成的字节序列按照约束规范进行组装,组装的组成部分包括序列化头部和真实数据;
数据结构反序列化接口的工作方法,包括如下步骤:
1)字节序列化拆分;
按照数据序列化规范将数据进行拆分,解析出真实数据和序列化头部;
2)按照序列化头部的信息指示和约定的二进制规范,将真实数据进行反序列化;
3)将步骤2)得到的反序列化的数据按照业务数据规范进行规整,整合成业务数据结构。
2.根据权利要求1所述的基于kafka的分布式消息数据总线,其特征在于,所述约束规范为:压缩标识+ 真实数据长度+ 数据类型+ 压缩后的真实数据。
3.根据权利要求1所述的基于kafka的分布式消息数据总线,其特征在于,所述序列化头部包括真实数据长度、真实数据压缩标识和真实数据类型标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京唯实科技有限公司,未经南京唯实科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811626474.1/1.html,转载请声明来源钻瓜专利网。