[发明专利]一种实时数据处理方法在审
申请号: | 202111320381.8 | 申请日: | 2021-11-09 |
公开(公告)号: | CN114035983A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 贾明库 | 申请(专利权)人: | 首约科技(北京)有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50;G06F16/23;G06F16/2457;G06F16/2458 |
代理公司: | 北京世誉鑫诚专利代理有限公司 11368 | 代理人: | 李世端 |
地址: | 100010 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 数据处理 方法 | ||
本发明提供的一种实时数据处理方法,所述处理方法包括:rocketmq服务端将实时数据推送到对应的消息队列上;所述消息队列包括多个消息子队列,将所述实时数据平均分配到多个所述消息子队列上;将所述消息子队列上的消息采用负载均衡算法调度,获得调度信息;将所述调度信息分配到多个客户端;所述客户端将所述调度信息发送至数据处理模块进行数据处理。解决了单个mq客户端宕机带来的消息无法接收的问题,提高了数据接收性能,实现了实时数据处理暂停和重启,并从根本上解决了高并发的情况下,丢失更新的问题,同时避免了数据积压或者数据处理失败造成的数据丢失,大大提高重新读取数据处理的性能。
技术领域
本发明涉及数据处理领域,尤其涉及一种实时数据处理方法。
背景技术
Redis缓存:Redis是一个高性能的key-value内存数据库。官方性能测试set操作每秒110000次,get操作每秒81000次,常被用来做缓存。
rocketmq:是阿里开源分布式消息队列。rocketmq以topic来进行消息管理,每个topic包含多个partition队列,发布者发到某个topic的消息会被均匀的分布到多个partition上。Zookeeper协调控制,当consumer加入或离开时会触发负载均衡算法,使得一个consumer group内的多个consumer的负载均衡。
LevelDB:Leveldb是一个google实现的非常高效的kv数据库,目前能够支持十亿级别的数据量了。LevelDB是单进程的服务,性能非常之高,在一台4核Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。
Zookeeper:Zookeeper是一个Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括。配置维护、名字服务、分布式同步、组服务等,ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
现有方案如果应用RocketMQ客户端意外宕机,导致消息积压,无法处理,影响数据的实时性。
现有技术中,数据处理任务只能由线程自己调度,无法实现暂停和重启。现有技术中会出现多线程同时更新数据,导致更新丢失的情况,若想避免此情况,则无法实现高并发,高性能的处理消息。如果消息处理失败,需要从数据库读出未处理的消息,如果积压过多的消息未处理,Broker性能下降,处理效率低下。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种实时数据处理方法。
根据本发明的一个方面,提供了一种实时数据处理方法,所述处理方法包括:
rocketmq服务端将实时数据推送到对应的消息队列上;
所述消息队列包括多个消息子队列,将所述实时数据平均分配到多个所述消息子队列上;
将所述消息子队列上的消息采用负载均衡算法调度,获得调度信息;
将所述调度信息分配到多个客户端;
所述客户端将所述调度信息发送至数据处理模块进行数据处理。
可选的,所述客户端将所述调度信息发送至数据处理模块进行数据处理具体包括:
将所述实时数据发送至客户端接收数据;
将所述接收数据进行存储,并发送至数据分发模块;
所述数据分发模块将数据发送至多个数据处理单元,每个所述数据处理单元对数据进行相应的状态变更,获得变更数据;
将所述变更数据发送至数据库进行存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于首约科技(北京)有限公司,未经首约科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111320381.8/2.html,转载请声明来源钻瓜专利网。