实时数据处理方法、系统、设备及介质技术方案

技术编号:30643402 阅读:15 留言:0更新日期:2021-11-04 00:44
本发明专利技术涉及数据处理及传输领域,旨在解决如何将海量数据实时消费到需求方的技术问题。为此,本发明专利技术提供了一种实时数据处理方法、系统、设备及介质,通过特定的多主多从的架构设计实时数据订阅平台,并通过根据一个或多个实时数据需求,创建一个或多个实时任务;通过执行每个所述实时任务,获得需求的所述实时数据并发送给对应的实时数据需求方等处理。从而减小了现有实时数据的传输延迟,提高了用户体验,通过负载均衡提高了系统的性能,适合多种场景和系统,简单操作维护成本低效率高。简单操作维护成本低效率高。简单操作维护成本低效率高。

【技术实现步骤摘要】
实时数据处理方法、系统、设备及介质


[0001]本专利技术涉及数据处理及传输领域,具体而言,涉及一种实时数据处理方法、系统、设备及介质。

技术介绍

[0002]在数据处理传输领域中,实时数据广泛应用于多种场合,尤其是实时数据订阅到下游消费和分析。一个大集团内部对实时数据订阅需求更希望能满足实时性需求。而一般实时订阅、消费,需要通过采集、解析、再发送消费的过程,从而将数据实时传递到订阅方,例如消息队列或者客户端,实现对海量数据的实时处理、分析和传输,这样对时间性能要求高的情况来说,访问数据、获取数据、解析数据等过程都容易带来数据延迟,导致整个数据订阅的系统性能较低、并且用户的体验较差。已知的实时数据订阅方式主要有两种,一种是开源的maxwell方案,其建立的平台可以在功能上满足实时数据订阅的大部分功能,但是并不支持高可用、不支持负载均衡、并且运维和监控困难;另一种是开源的canal方案,其建立的平台可以利用canal的优势,实现深度优化和开发,但是会存在部分单点的情况,性能比较低。
[0003]因而,需要改进数据订阅的方案,提高实时数据订阅的处理、传输的效率,提升构建的实时订阅平台的整体性能,降低传输延迟,进而在提高实时数据时效性的同时简化运维监控方式,降低复杂性和成本,实现高可用、高并发、高稳定性的实时数据订阅。

技术实现思路

[0004]针对现有技术中的上述缺陷,本专利技术提供了一种实时数据处理方法、系统、设备及介质,旨在解决如何将海量数据实时消费到需求方的技术问题;进一步,解决如何利用在实时数据订阅过程中提升实时数据处理和传输的效率的技术问题以提升整体实时订阅的性能、时效、降低延迟;进一步,解决如何简化运维和监控复杂度的技术问题以降低成本、提升实时数据订阅的稳定性、可用性。
[0005]为了解决上述技术问题,本专利技术第一方面提出一种实时数据处理方法,包括:根据一个或多个实时数据需求,创建一个或多个实时任务;通过执行每个所述实时任务,获得需求的所述实时数据并发送给对应的实时数据需求方。
[0006]根据本专利技术的一种优选实施方式,根据一个或多个实时数据需求,创建一个或多个实时任务,具体包括:接收来自实时数据需求方的订阅请求,其中每个订阅请求包含一个或多个实时数据需求;对所述实时数据需求方认证后,建立对应的控制节点;所述控制节点发送一个或多个实时任务的创建命令;基于所述创建命令创建一个或多个实时任务。
[0007]根据本专利技术的一种优选实施方式,所述实时数据需求方包括:与实时订阅平台连接、获得订阅数据的消息队列集群和/或客户端;所述实时数据需求包括:实时数据订阅需求;对所述实时数据需求方认证,具体包括:由实时订阅平台对所述消息队列集群和/或客户端进行认证,建立对应所述消息队列集群和/或客户端的、或者建立对应所述实时数据订
阅需求的一个或多个控制节点;所述控制节点发送一个或多个实时任务的创建命令,具体包括:所述控制节点发送所述创建命令到实时订阅平台的数据订阅集群;根据所述创建命令创建一个或多个实时任务,具体包括:所述数据订阅集群中的一个或多个服务节点启动后,接收所述创建命令;每个所述服务节点创建对应一个或多个实时数据订阅需求的一个或多个所述实时任务。
[0008]根据本专利技术的一种优选实施方式,一个所述实时任务包括仅能运行于一个服务节点上的具有生命周期的实时数据订阅任务;所述实时数据订阅任务包括:采集线程、分析线程、缓存区、汇聚线程;执行每个所述实时任务,以获得需求的所述实时数据并发送给对应的实时数据需求方,具体包括:采集线程从业务库中采集数据并由分析线程处理后,存储到缓存区;由汇聚线程消费所述缓存区的数据并发送到实时数据需求方。
[0009]根据本专利技术的一种优选实施方式,在实时订阅平台的一个数据订阅集群Cluster下设有多个服务节点Server,在一个Server上能运行一个或多个实时数据订阅任务Instance;在实时订阅平台上具有一个或多个控制节点Admin,对数据订阅集群Cluster、服务节点Server、实时数据订阅任务 Instance的生命周期进行管理维护,将实时数据订阅任务Instance任务化在每个服务节点Server上运行,使用LVS负载均衡,以及共用元数据业务库MySQL;所述数据订阅集群Cluster负责其服务节点Server以及实时数据订阅任务Instance的集群化配置管理。
[0010]根据本专利技术的一种优选实施方式,采集线程从业务库中采集数据并由分析线程处理后,存储到缓存区,具体包括:利用MySQL的dump协议线程从元数据业务库MySQL的binlog采集二进制数据,由多个parser线程并行处理所述二进制数据,以及将所述数据分析为event对象后存储在 Store区中作为内部数据通道;由汇聚线程消费所述缓存区的数据并发送到实时数据需求方,具体包括:由sink线程并发实时消费所述Store区中的数据后,发送到订阅数据的消息队列集群。
[0011]根据本专利技术的一种优选实施方式,利用MySQL的dump协议线程从元数据业务库MySQL的binlog采集二进制数据,具体包括:通过dump 协议线程循环请求元数据业务库MySQL的实例,从指定位点拉取二进制数据;其中,一个实时数据订阅任务Instance对应一个被订阅的MySQL 实例;其中,位点表示一个binlog的位置;其中,如果是第一次启动且没有配置初始化位点则从最新的位点开始,否则从分布式协调服务 Zookeeper记录的上次的位点开始。
[0012]根据本专利技术的一种优选实施方式,还包括:通过单击模式和/或集群模式启动服务节点Server;其中,集群模式包括通过Cluster读取配置信息实现启动;和/或,所述服务节点Server代表一个运行的实例,其对应一个 java虚拟机jvm;和/或,所述控制节点Admin维护服务节点Server和实时数据订阅任务Instance的状态;和/或,采用MataManager管理每个实时数据订阅任务Instance,将其状态信息和消费的位点信息更新到分布式协调服务Zookeeper;和/或,由sink线程并发实时消费所述Store区中的数据时,保持与binlog数据的时序一致;和/或,所述消息队列集群为Kafka 消息队列集群;和/或,通过监控平台对实时订阅平台实时采集并监控平台指标、和/或推送告警信息。
[0013]本专利技术的第二专利技术提出一种实时数据处理系统,包括:分别连接业务库和实时数据需求方的实时订阅平台;实时订阅平台根据来自实时数据需求方的一个或多个实时数据
订阅需求,创建一个或多个实时任务;实时订阅平台执行每个实时任务,以从所述业务库获得对应实时任务的实时数据并发送给对应的实时数据需求方。
[0014]根据本专利技术的一种优选实施方式,实时订阅平台根据来自实时数据需求方的一个或多个实时数据订阅需求,创建一个或多个实时任务,具体包括:所述实时订阅平台接收来自一个或多个实时数据需求方的订阅请求;其中,每个订阅请求包含一个或多个实时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时数据处理方法,其特征在于,包括:根据一个或多个实时数据需求,创建一个或多个实时任务;通过执行每个所述实时任务,获得需求的所述实时数据并发送给对应的实时数据需求方。2.如权利要求1所述的方法,其特征在于,根据一个或多个实时数据需求,创建一个或多个实时任务,具体包括:接收来自实时数据需求方的订阅请求,其中每个订阅请求包含一个或多个实时数据需求;对所述实时数据需求方认证后,建立对应的控制节点;所述控制节点发送一个或多个实时任务的创建命令;基于所述创建命令创建一个或多个实时任务。3.如权利要求2所述的方法,其特征在于,所述实时数据需求方包括:与实时订阅平台连接、获得订阅数据的消息队列集群和/或客户端;所述实时数据需求包括:实时数据订阅需求;对所述实时数据需求方认证,具体包括:由实时订阅平台对所述消息队列集群和/或客户端进行认证,建立对应所述消息队列集群和/或客户端的、或者建立对应所述实时数据订阅需求的一个或多个控制节点;所述控制节点发送一个或多个实时任务的创建命令,具体包括:所述控制节点发送所述创建命令到实时订阅平台的数据订阅集群;根据所述创建命令创建一个或多个实时任务,具体包括:所述数据订阅集群中的一个或多个服务节点启动后,接收所述创建命令;每个所述服务节点创建对应一个或多个实时数据订阅需求的一个或多个所述实时任务。4.如权利要求1至3任一项所述的方法,其特征在于,一个所述实时任务包括仅能运行于一个服务节点上的具有生命周期的实时数据订阅任务;所述实时数据订阅任务包括:采集线程、分析线程、缓存区、汇聚线程;执行每个所述实时任务,以获得需求的所述实时数据并发送给对应的实时数据需求方,具体包括:采集线程从业务库中采集数据并由分析线程处理后,存储到缓存区;由汇聚线程消费所述缓存区的数据并发送到实时数据需求方。5.如权利要求4所述的方法,其特征在于,还包括:在实时订阅平台的一个数据订阅集群Cluster下设有多个服务节点Server,在一个Server上能运行一个或多个实时数据订阅任务Instance;在实时订阅平台上具有一个或多个控制节点Admin,对数据订阅集群Cluster、服务节点Server、实时数据订阅任务Instance的生命周期进行管理维护,将实时数据订阅任务Instance任务化在每个服务节点Server上运行,使用LVS负载均衡,以及共用元数据业务库MySQL;
所述数据订阅集群Cluster负责其服务节点Server以及实时数据订阅任务Instance的集群化配置管理。6.如权利要求5所述的方法,其特征在于,采集线程从业务库中采集数据并由分析线程处理后,存储到缓存区,具体包括:利用MySQL的dump协议线程从元数据业务库MySQL的binlog采集二进制数据,由多个parser线程并行处理所述二进制数据,以及将所述数据分析为event对象后存储在Store区中作为内部数据通道;由汇聚线程消费所述缓存区的数据并发送到实时数据需求方,具体包括:由sink线程并发实时消费所述Store区中的数据后,发送到订阅数据的消息队列集群。7.如权利要求6所述的方法,其特征在于,利用MySQL的dump协议线程从元数据业务库MySQL的binlog采集二进制数据,具体包括:通过dump协议线程循环请求元数据业务库MySQL的实例,从指定位点拉取二进制数据;其中,一个实时数据订阅任务Instance对应一个被订阅的MySQL实例;其中,位点表示一个binlog的位置;其中,如果是第一次启动且没有配置初始化位点则从最新的位点开始,否则从分布式协调服务Zookeeper记录的上次的位点开始。8.如权利要求7所述的方法,其特征在于,还包括:通过单击模式和/或集群模式启动服务节点Server;其中,集群模式包括通过Cluster读取配置信息实现启动;和/或,所述服务节点Server代表一个运行的实例,其对应一个jvm;和/或,所述控制节点Admin维护服务节点Server和实时数据订阅任务Instance的状态;和/或,采用MataManager管理每个实时数据订阅任务Instance,将其状态信息和消费的位点信息更新到分布式协调服务Zookeeper;和/或,由sink线程并发实时消费所述Store区中的数据时,保持与binlog数据的时序一致;和/或,所述消息队列集群为Kafka消息队列集群;和/或,通过监控平台对实时订阅平台实时采集并监控平台指标、和/或推送告警信息。9.一种实时数据处理系统,其特征在于,包括:分别连接业务库和实时数据需求方的实时订阅平台;实时订阅平台根据来自实时数据需求方的一个或多个实时数据订阅需求,创建一个或多个实时任务;实时订阅平台执行每个实时任务,以...

【专利技术属性】
技术研发人员:金晶
申请(专利权)人:北京淇瑀信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1