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

技术编号:21771578 阅读:26 留言:0更新日期:2019-08-03 21:32
本发明专利技术公开了一种实时流处理方法、设备、数据处理设备及介质。一种实时流处理方法,包括:接收用户提供的按照特定的原语规则编写的标准数据处理语句;通过语法解析器来解析所述标准数据处理语句,得到输入配置、输出配置以及加工配置;以及基于所述输入配置、输出配置以及加工配置,生成实时处理任务。本发明专利技术通过使得用户能够通过简单地配置输入,便可以基于时序数据来生成分析结果,而不需要用户自己编程来开发大数据处理任务,并且也不需要用户自己比较熟悉计算引擎和存储引擎才能生成分析报表。由此,使得用户只需要使用通用的标准数据处理接口来编写语句,即可实现实时流处理,由此使得本发明专利技术能够大大降低实时流处理任务的开发门槛。

Real-time Flow Processing Method, Equipment, Data Processing Equipment and Media

【技术实现步骤摘要】
实时流处理方法、设备、数据处理设备及介质
本专利技术涉及实时流处理技术,尤其涉及实时流处理方法、设备、数据处理设备及介质。
技术介绍
随着大数据、实时处理(例如实时计算)的发展,各种实时处理大数据技术层出不穷,比如Storm、Spark和Flink等各种实时流处理引擎。这些实时流处理引擎的编程接口各有不同,用户需要付出非常大的学习成本才能熟悉和使用。由此,为了使得用户易于开发和处理实时流处理任务,需要一种简单、有效、通用的实时流处理方案。
技术实现思路
为了解决以上问题之一,本专利技术提供了一种实时流处理方法、设备、数据处理设备及介质。针对
技术介绍
中描述的问题,本专利技术考虑采用一种跨语言的通用的标准数据处理接口而不是使用上述的各不相同的实时流处理引擎编程接口来处理实时流处理任务。由此,本专利技术提出一种比较通用的实时流处理工具。根据本专利技术的一个示例性实施例,提供一种实时流处理方法,包括:接收用户提供的按照特定的原语规则编写的标准数据处理语句;通过语法解析器来解析所述标准数据处理语句,得到输入配置、输出配置以及加工配置;以及基于所述输入配置、输出配置以及加工配置,生成实时流处理任务。可选地,上述的实时流处理方法还包括:通过将生成的实时流处理任务发布到集群上,由集群启动该实时流处理任务并执行。可选地,通过语法解析器解析用户提供的标准数据处理语句,得到解析文件,利用该解析文件,将所述标准数据处理语句转换成抽象语法树,以得到输入配置、输出配置以及加工配置。可选地,所述标准数据处理语句包括结构化查询语言SQL语句。可选地,所述原语规则包括:1)用于定义关于输入配置的字段结构、数据源类型、访问方式的信息;2)用于定义关于输出配置的字段结构、数据源类型、访问方式的信息;3)用于定义关于加工配置的数据处理过程的信息。根据本专利技术的一个示例性实施例,提供一种实时流处理设备,包括:接收装置,被配置用于接收用户提供的按照特定的原语规则编写的标准数据处理语句;语法解析器,被配置用于解析所述标准数据处理语句,得到输入配置、输出配置以及加工配置;以及任务生成装置,被配置用于基于所述输入配置、输出配置以及加工配置,生成实时流处理任务。可选地,上述实时流处理设备还包括:任务执行装置,被配置用于通过将生成的实时流处理任务发布到集群上,由集群启动该实时流处理任务并执行。可选地,语法解析器解析用户提供的标准数据处理语句,得到解析文件,利用该解析文件,将所述标准数据处理语句转换成抽象语法树,以得到输入配置、输出配置以及加工配置。可选地,所述标准数据处理语句包括结构化查询语言SQL语句。可选地,所述原语规则包括:1)用于定义关于输入配置的字段结构、数据源类型、访问方式的信息;2)用于定义关于输出配置的字段结构、数据源类型、访问方式的信息;3)用于定义关于加工配置的数据处理过程的信息。根据本专利技术的一个示例性实施例,提供一种数据处理设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述方法之一。根据本专利技术的一个示例性实施例,提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被处理器执行时,使所述处理器执行上述方法之一。通过本专利技术,用户只需要使用通用的标准数据处理接口来编写语句,即可实现实时流实时流处理,由此使得本专利技术能够大大降低实时流处理任务的开发门槛。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的附图标记通常代表相同部件。图1给出了根据本专利技术的一个示例性实施例的实时流处理方法的示意性流程图。图2给出了从SQL语句解析成的抽象语法树的结构示意。图3示出了对于实时流处理的抽象定义所需的内容及其相关的更详细的配置。图4给出了根据本专利技术的一个示例性实施例的实时流处理设备的示意性框图。图5给出了根据本专利技术的另一个示例性实施例的实时流处理方法的示意性流程图。图6给出了根据本专利技术的另一个示例性实施例的实时流处理设备的示意性框图。图7给出了根据本专利技术的一个示例性实施例的数据处理设备的示意性框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。这里需要说明的是,本申请中的数字、序号以及附图标记仅是为了方便描述而出现的,对于本专利技术的步骤、顺序等等均不构成任何限制,除非在说明书中明确指出了步骤的执行有特定的先后顺序。如
技术实现思路
部分所述,本专利技术考虑采用一种跨语言的通用的标准数据处理接口而不是使用上述
技术介绍
中所述的各不相同的实时流处理引擎编程接口来处理实时流处理任务。由此,本专利技术提出一种比较通用的实时流处理工具。通过本专利技术,用户只需要使用通用的标准数据处理接口来编写语句,即可实现实时流处理,由此使得本专利技术能够大大降低实时流处理任务的开发门槛。例如,结构化查询语言SQL(StructuredQueryLanguage)可以作为本专利技术可选的一种跨语言的通用的标准数据处理接口,因为它对于每个软件开发工程师来说几乎是必需的技能。但是,请注意,本专利技术并不仅限于使用SQL语句,而是只要任何合适的跨语言的通用的标准数据处理接口都可以使用。为了容易理解和描述起见,下面将以SQL语句为例来描述本专利技术。为了能够使用SQL语句来编写实时流处理任务,本专利技术首先考虑到对常见的实时流处理进行抽象处理,即可以把实时流处理任务抽象成输入(Input)、加工(Process)、以及输出(Output)这三个阶段。其中,加工(Process)过程较为复杂,涉及到如何通过SQL语句生成分布式处理任务。在本专利技术中,考虑采用大数据执行框架(如Spark/Flink等)来实现通过SQL语句生成分布式处理任务的功能。由此,本专利技术基于输入(Input)、加工(Process)、以及输出(Output)这三个阶段,定义一套SQL原语规则,用户可以按照SQL原语规则来直接简单地编写SQL语句,然后可以使用SQL解析器,将用户编写的SQL语句解析成输入、加工、输出的抽象语法树,再按照大数据执行框架(如SparkStreaming、Flink等)语法,将抽象语法树解析成具体的数据处理任务来执行。首先,例如,可以定义SQL原语规则如下。比如,原语规则可以包括:1)用于定义关于输入配置的字段结构、数据源类型、访问方式的信息;2)用于定义关于输出配置的字段结构、数据源类型、访问方式的信息;以及3)用于定义关于加工配置的数据处理过程的信息。以SQL语句为例,SQL语句的原语规则可以如下所示。1)Input:createinputtableinput_table_name(column1,column2)with(url=”xxx”,type=”kafka”)/*用于定义“输入”的原语规则*/该“输入”SQL语句的原语规则的含义为:创建一张字段结构为column1,column2、数据源类型为kafka、访问方式为xxx的流表。该流表用于本文档来自技高网
...

【技术保护点】
1.一种实时流处理方法,其特征在于,包括:接收用户提供的按照特定的原语规则编写的标准数据处理语句;通过语法解析器来解析所述标准数据处理语句,得到输入配置、输出配置以及加工配置;以及基于所述输入配置、输出配置以及加工配置,生成实时流处理任务。

【技术特征摘要】
1.一种实时流处理方法,其特征在于,包括:接收用户提供的按照特定的原语规则编写的标准数据处理语句;通过语法解析器来解析所述标准数据处理语句,得到输入配置、输出配置以及加工配置;以及基于所述输入配置、输出配置以及加工配置,生成实时流处理任务。2.根据权利要求1所述的实时流处理方法,其特征在于,还包括:通过将生成的实时流处理任务发布到集群上,由集群启动该实时流处理任务并执行。3.根据权利要求1所述的实时流处理方法,其特征在于,所述通过语法解析器来解析所述标准数据处理语句,得到输入配置、输出配置以及加工配置的操作包括:通过语法解析器解析用户提供的标准数据处理语句,得到解析文件,利用该解析文件,将所述标准数据处理语句转换成抽象语法树,以解析出所述标准数据处理语句中的输入配置、输出配置以及加工配置。4.根据权利要求1所述的实时流处理方法,其特征在于,所述标准数据处理语句包括结构化查询语言SQL语句。5.根据权利要求1所述的实时流处理方法,其特征在于,基于所述输入配置、输出配置以及加工配置,生成实时流处理任务的操作包括:根据所述输入配置中的字段、数据流类型、流表名,使用流框架语法生成流表,该流表中的数据将在执行实时流处理任务时从实时流读取;根据所述输出配置中的字段、数据流类型、结果表名,使用流框架语法生成结果表,该结果表中将被写入实时流处理任务的数据处理结果;以及根据所述加工配置中的处理语句,生成实时流处理任务,该实时流处理任务用于对所述流表中的数据按照所述处理语句进行处理,并将数据处理结果保存在所述结果表中。6.根据权利要求1~5中的任意一项所述的实时流处理方法,其特征在于,所述原语规则包括:1)用于定义关于输入配置的字段结构、数据源类型、访问方式的信息;2)用于定义关于输出配置的字段结构、数据源类型、访问方式的信息;3)用于定义关于加工配置的数据处理过程的信息。7.一种实时流处理设备,其特征在于,包括:接收装置,被配置用于接收用户提供的按照特定的原语规则编写的标准数据处理语句;语法解析器,被配置用于...

【专利技术属性】
技术研发人员:陈越晨
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1