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

技术编号:33288694 阅读:17 留言:0更新日期:2022-05-01 00:02
本发明专利技术公开了一种实时流数据处理方法、系统、设备及存储介质。涉及计算机技术领域,其中一种实时流数据处理方法包括:通过获取预设的初始SQL语句数据;对初始SQL语句数据进行预处理,得到目标SQL语句数据;对目标SQL语句数据进行解析处理,得到表模式数据;将表模式数据输入至预设的Flink框架进行转换处理,生成实时流数据,实时流数据存储在预设的中间件中。通过本申请公开的实施例能够对初始SQL语句数据先进行预处理,以保持数据的一致性和高可用性,从而再利用Flink框架生成存储在预设的中间件中的实时流数据。间件中的实时流数据。

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


[0001]本专利技术涉及计算机
,尤其是涉及一种实时流数据处理方法、系统、设备及存储介质。

技术介绍

[0002]相关技术中,通过Flink平台化获取的流数据大都基于服务和集群的直接通信,在集群内部将实时流数据序列化,通过自定义协议来将数据抓取或者回调到服务层。在通过反序列化操作将字节流数据转为原先的数据,这样就完成了实时流数据的获取。
[0003]但是这种方式存在以下缺点:需要实现自己的一套序列化和反序列化的设计,整个流程的设计复杂度较高,且缺乏实现流数据的一致性和高可用性。

技术实现思路

[0004]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术提出一种实时流数据处理方法、系统、设备及存储介质,能够对初始SQL语句数据先进行预处理,以保持数据的一致性和高可用性,从而再利用Flink框架生成存储在预设的中间件中的实时流数据。
[0005]为实现上述目的,本公开实施例的第一方面提出了一种实时流数据处理方法,应用于后端服务,包括:
[0006]获取预设的初始SQL语句数据;
[0007]对初始SQL语句数据进行预处理,得到目标SQL语句数据;
[0008]对目标SQL语句数据进行解析处理,得到表模式数据;
[0009]将表模式数据输入至预设的Flink框架进行转换处理,生成实时流数据,实时流数据存储在预设的中间件中。
[0010]在一些实施例,一种实时流数据处理方法,在将表模式数据输入至预设的Flink框架进行转换处理,生成实时流数据,实时流数据存储在预设的中间件中之后,该方法还包括:
[0011]根据中间件的消费者消费实时流数据,得到与实时流数据对应的更新日志流数据;
[0012]根据表模式数据中的表模式格式解析更新日志流数据,得到目标流数据;
[0013]建立与预设前端的通信连接,并根据通信连接的通信通道接收预设前端发送的预设数据格式规则;
[0014]根据数据格式规则和通信通道,将目标流数据发送至预设前端。
[0015]在一些实施例,进行预处理的预处理规则至少包括以下之一:切分规则,校验分离规则,对初始SQL语句数据进行预处理,得到目标SQL语句数据,包括:
[0016]根据切分规则对初始SQL语句数据进行切分处理,得到切分SQL语句数据;
[0017]根据校验分离规则对切分SQL语句数据进行校验分离处理,生成目标SQL语句数
据,其中目标SQL语句数据包括:选择语句数据和数据定义语句数据。
[0018]在一些实施例,对目标SQL语句数据进行解析处理,得到表模式数据,包括:
[0019]接收预设的类加载器;
[0020]根据类加载器加载Flink框架的多个jar包,用以隔离多个jar包以避免类加载冲突并生成加载信息;
[0021]基于加载信息解析目标SQL语句数据,生成表模式数据。
[0022]在一些实施例,将表模式数据输入至预设的Flink框架进行转换处理,生成实时流数据,包括:
[0023]根据Flink框架对表模式数据进行解析处理,得到自定义标量函数和数据源表;
[0024]根据自定义标量函数对选择语句数据进行转换处理,得到插入语句数据;
[0025]根据插入语句数据和数据源表,生成实时流数据。
[0026]在一些实施例,初始SQL语句数据至少包括以下之一:数据查询语句数据、数据操作语句数据、数据定义语句数据。
[0027]在一些实施例,中间件至少包括以下之一:kafka、rabbitMQ、redis、mysql、postgres、NiFi。
[0028]为实现上述目的,本公开实施例的第二方面提出了一种实时流数据处理系统,包括:
[0029]获取模块,用于获取预设的初始SQL语句数据;
[0030]预处理模块,用于对初始SQL语句数据进行预处理,得到目标SQL语句数据;
[0031]解析模块,用于对目标SQL语句数据进行解析处理,得到表模式数据;
[0032]转换模块,用于将表模式数据输入至预设的Flink框架进行转换处理,生成实时流数据,实时流数据存储在预设的中间件中。
[0033]为实现上述目的,本公开实施例的第三方面提出了一种实时流数据处理设备,包括:
[0034]至少一个存储器;
[0035]至少一个处理器;
[0036]至少一个程序;
[0037]所述程序被存储在存储器中,处理器执行所述至少一个程序以实现:
[0038]如上述第一方面所述的一种实时流数据处理方法。
[0039]为实现上述目的,本公开实施例的第四方面提出了一种存储介质,该存储介质是计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
[0040]如上述第一方面所述的一种实时流数据处理方法。
[0041]根据本专利技术实施例提供的一种实时流数据处理方法、系统、设备及存储介质,至少具有如下有益效果:
[0042]本公开实施例提出的一种实时流数据处理方法、系统、设备及存储介质,首先通过获取预设的初始SQL语句数据;对初始SQL语句数据进行预处理,得到目标SQL语句数据;对目标SQL语句数据进行解析处理,得到表模式数据;将表模式数据输入至预设的Flink框架进行转换处理,生成实时流数据,实时流数据存储在预设的中间件中。通过本公开实施例能
够对初始SQL语句数据先进行预处理,以保持数据的一致性和高可用性,从而再利用Flink框架生成存储在预设的中间件中的实时流数据,这可以防止内存溢出,消息队列存储消费中间件中比直接在内存中存储更安全,理论上可以处理的实时流数据的大小无上限,可以方便的控制消费速度,处理实时流数据的处理流程更加简洁。
[0043]本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0044]下面结合附图和实施例对本专利技术做进一步的说明,其中:
[0045]图1为本专利技术提供的一种实时流数据处理方法的第一具体流程示意图;
[0046]图2为图1中的第一具体流程示意图进行补充的第二具体流程示意图;
[0047]图3为图1中步骤S200的一具体流程示意图;
[0048]图4为图1中步骤S300的一具体流程示意图;
[0049]图5为图1中步骤S400的一具体流程示意图。
具体实施方式
[0050]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。
[0051]在本专利技术的描述中,需要理解的是,涉及到方位描述,例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.实时流数据处理方法,其特征在于,应用于后端服务,包括:获取预设的初始SQL语句数据;对所述初始SQL语句数据进行预处理,得到目标SQL语句数据;对所述目标SQL语句数据进行解析处理,得到表模式数据;将所述表模式数据输入至预设的Flink框架进行转换处理,生成实时流数据,所述实时流数据存储在预设的中间件中。2.根据权利要求1所述的实时流数据处理方法,其特征在于,在所述将所述表模式数据输入至预设的Flink框架进行转换处理,生成实时流数据,所述实时流数据存储在预设的中间件中之后,所述方法还包括:根据所述中间件的消费者消费所述实时流数据,得到与所述实时流数据对应的更新日志流数据;根据所述表模式数据中的表模式格式解析所述更新日志流数据,得到目标流数据;建立与预设前端的通信连接,并根据所述通信连接的通信通道接收所述预设前端发送的预设数据格式规则;根据所述数据格式规则和所述通信通道,将所述目标流数据发送至所述预设前端。3.根据权利要求2所述的实时流数据处理方法,其特征在于,进行所述预处理的预处理规则至少包括以下之一:切分规则,校验分离规则,所述对所述初始SQL语句数据进行预处理,得到目标SQL语句数据,包括:根据所述切分规则对所述初始SQL语句数据进行切分处理,得到切分SQL语句数据;根据所述校验分离规则对所述切分SQL语句数据进行校验分离处理,生成所述目标SQL语句数据,其中所述目标SQL语句数据包括:选择语句数据和数据定义语句数据。4.根据权利要求3所述的实时流数据处理方法,其特征在于,所述对所述目标SQL语句数据进行解析处理,得到表模式数据,包括:接收预设的类加载器;根据所述类加载器加载所述Flink框架的多个jar包,用以隔离所述多个jar包以避免类加载冲突并生...

【专利技术属性】
技术研发人员:贺子江杨磊
申请(专利权)人:北京滴普科技有限公司
类型:发明
国别省市:

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

1