流式数据处理方法、***、存储介质及电子设备
技术领域
本申请涉及数据处理技术领域,尤其涉及一种流式数据处理方法、***、存储介质及电子设备。
背景技术
随着互联网技术的不断发展,实时流式数据处理被广泛应用于众多***的业务场景中,以对大量固定结构的数据进行逐条的多种逻辑的加工或处理。
目前,现有的流式数据处理在实现多个逻辑功能时,都是在前一个逻辑完成后,直接开始下一个逻辑。或者在不同对象的方法实现不同的逻辑功能时,前一个对象的方式实现逻辑功能后直接调用另一个对象的方法,从而实现另一个逻辑功能。
可见,现有的流式数据处理方式中各个逻辑单元耦合度高,不便于扩展。
发明内容
本申请实施例提供一种流式数据处理方法、***、存储介质及电子设备,以解决当前流式数据处理方式中各个逻辑单元耦合度高,不便于扩展的技术问题。
第一方面,本申请实施例提供一种流式数据处理***,包括:多个数据逻辑处理组件以及至少一个结构编排处理组件;
前端数据逻辑处理组件用于根据预设第一配置规则调用所述结构编排处理组件,其中,所述前端数据逻辑处理组件为所述多个数据逻辑处理组件中的一个处理组件,在预设流式处理流程中所述前端数据逻辑处理组件为所述结构编排处理组件的前端处理节点;
所述结构编排处理组件用于根据预设第二配置规则调用至少一个后端数据逻辑处理组件,其中,所述后端数据逻辑处理组件为所述多个数据逻辑处理组件中的一个处理组件,在所述预设流式处理流程中所述后端数据逻辑处理组件为所述前端数据逻辑处理组件的后端处理节点。
在一种可能的设计中,所述结构编排处理组件包括并行编排处理组件以及选择编排处理组件;
其中,所述并行编排处理组件,用于根据所述前端数据逻辑处理组件的属性信息调用多个所述后端数据逻辑处理组件,以使各个所述后端数据逻辑处理组件并行处理数据;
所述选择编排处理组件,用于根据所述前端数据逻辑处理组件的输出结果确定需要调用的所述后端数据逻辑处理组件。
在一种可能的设计中,当所述结构编排处理组件为所述并行编排处理组件时,各个所述后端数据逻辑处理组件用于根据同一预设处理逻辑处理数据,或者,各个所述后端数据逻辑处理组件分别根据不同预设处理逻辑处理数据。
在一种可能的设计中,所述并行编排处理组件根据预设入参配置规则控制所述后端数据逻辑处理组件的后续调用行为。
在一种可能的设计中,所述预设入参规则配置为所有所述后端数据逻辑处理组件均返回处理结果后再进行后续调用行为,或者,配置为任一所述后端数据逻辑处理组件返回处理结果后即可进行后续调用行为。
在一种可能的设计中,所述的流式数据处理***,还包括:数据结构转换组件;
所述数据结构转换组件,用于将任务请求数据的第一数据结构转换为第二数据结构,所述第二数据结构适配所述前端数据逻辑处理组件;或者,用于将所述前端数据逻辑处理组件的输出结果的第三数据结构转换为第四数据结构,所述第四数据结构适配所述后端数据逻辑处理组件。
在一种可能的设计中,所述的流式数据处理***,还包括:上下文组件;
其中,所述上下文组件用于存储所述预设流式处理流程中的目标数据,所述目标数据为在所述预设流式处理流程的各个处理节点之间无需进行传递的数据。
在一种可能的设计中,所述上下文组件包括:全局上下文组件、批处理任务上下文组件以及数据上下文组件;
其中,所述全局上下文组件,用于存储预设应用整个生命周期内的所述目标数据;
所述批处理任务上下文组件,用于存储预设批处理任务处理周期内的所述目标数据;
所述数据上下文组件,用于存储预设单条数据处理周期内的所述目标数据。
在一种可能的设计中,所述的流式数据处理***,还包括:上下文获取组件;
其中,所述上下文获取组件,用于获取所述上下文组件中的所述目标数据,并将所述目标数据传递至所述数据逻辑处理组件。
在一种可能的设计中,所述的流式数据处理***,还包括:批处理任务触发组件;
其中,所述批处理任务触发组件,用于触发批处理任务,并向所述前端数据逻辑处理组件输入任务请求数据。
第二方面,本申请实施例提供一种流式数据处理***,还提供一种流式数据处理方法,应用于如第一方面中任意一种可能的流式数据处理***,所述方法,包括:
前端数据逻辑处理组件根据目标数据生成第一处理结果数据,并根据预设第一配置规则调用结构编排处理组件,所述目标数据为任务请求数据或处理结果数据;
所述结构编排处理组件根据预设第二配置规则调用至少一个后端数据逻辑处理组件;
所述后端数据逻辑处理组件根据所述第一处理结果数据生成第二处理结果数据;
根据预设流式处理流程完成所述流式数据处理***中各个数据逻辑处理组件的数据处理,并输出任务处理结果数据。
第三方面,本申请实施例还提供一种电子设备,包括:
处理器;以及,
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任意一种流式数据处理***中各个组件的功能。
第四方面,本申请实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意一种流式数据处理***中各个组件的功能。
本申请实施例提供的一种,通过在流式处理流程中的前端数据逻辑处理组件以及后端数据逻辑处理组件之间设置结构编排处理组件,在前端数据逻辑处理组件执行完成后,根据预设第一配置规则调用对应的结构编排处理组件,再通过该结构编排处理组件中预设第二配置规则调用后端数据逻辑处理组件,从而实现前端数据逻辑处理组件与后端数据逻辑处理组件之间的解耦,从而实现在变更或新增业务需求时,只需增加对应的数据逻辑处理组件,以及配置结构编排处理组件的调配逻辑即可实现流式数据处理***的修改和扩展。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请根据一示例实施例示出的流式数据处理***架构示意图;
图2是本申请根据一示例实施例示出的流式数据处理***的结构示意图;
图3是本申请根据另一示例实施例示出的流式数据处理***的结构示意图;
图4是本申请根据一示例实施例示出的组件交互示意图;
图5是本申请根据一示例实施例示出的流式数据处理方法的流程示意图;
图6是本申请根据一示例实施例示出的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着互联网技术的不断发展,实时流式数据处理被广泛应用于众多***的业务场景中,以对大量固定结构的数据进行逐条的多种逻辑的加工或处理。具体的,例如:支付场景对订单数据实时处理(校验订单、校验账户、订单规则、订单金额规则等);账户逾期信息的定时跑批处理(账户逾期判断、滞纳金计算、还款本金计算、应还金额计算等),均是采用流式数据处理方式进行数据处理。
目前,现有的流式数据处理在实现多个逻辑功能时,都是在前一个逻辑完成后,直接开始下一个逻辑。或者在不同对象的方法实现不同的逻辑功能时,前一个对象的方式实现逻辑功能后直接调用另一个对象的方法,从而实现另一个逻辑功能。具体的,对于现有的流式数据处理方式,通常包括以下两种模式:
第一种、无架构模式,如账户逾期跑批处理。具体的,若对象的方法实现多个逻辑功能,前一个逻辑完成直接开始下一个逻辑;或者不同对象的方法实现不同的逻辑功能,前一个对象的方式实现逻辑功能后直接调用另一个对象的方法(实现另一个逻辑功能);又或者,对象的方法在实现逻辑功能的同时也在使用线程池控制某个功能的并发。可见,任何功能点的逻辑修改,都有可能影响到功能逻辑,对故障问题的分析排查会带来很高的复杂性,***扩展性差。
第二种、基于调度框架模式。具体的,基于调度架构的设计方式,在大量数据需要处理时,为提高处理性能,将任务分发到不同节点执行一个或多个任务,每个任务仍然会对数据进行不同业务逻辑的处理。但是,其只是从触发条件上进行改进,而各个逻辑单元耦合度高,仍然无法进行方便地扩展和修改。
可见,对于上述现有的流式数据处理方式,其中的一个对象的方法需要实现多个逻辑功能,职责不明确;不同的逻辑功能间直接调用,逻辑的实现相互依赖紧密;一个对象的方法会依赖众多其他对象,类之间的耦合紧密;当增加处理逻辑时,需要对现有对象进行改动;当修改处理逻辑时,可能会影响到其他处理逻辑单元;由于各逻辑单元耦合高,导致***横向扩展性差,不便于扩展;当***发生变更时,测试工作量,需全量回归测试;当***发生故障时,问题的排查定位难度大,耗时长。
针对上述技术问题,本申请实施例提供一种流式数据处理方法、***、存储介质及电子设备,通过在流式处理流程中的前端数据逻辑处理组件以及后端数据逻辑处理组件之间设置结构编排处理组件,在前端数据逻辑处理组件执行完成后,根据预设第一配置规则调用对应的结构编排处理组件,再通过该结构编排处理组件中预设第二配置规则调用后端数据逻辑处理组件,从而实现前端数据逻辑处理组件与后端数据逻辑处理组件之间的解耦,从而实现在变更或新增业务需求时,只需增加对应的数据逻辑处理组件,以及配置结构编排处理组件的调配逻辑即可实现流式数据处理***的修改和扩展。
图1是本申请根据一示例实施例示出的流式数据处理***架构示意图,图2是本申请根据一示例实施例示出的流式数据处理***的结构示意图。如图1-图2所示,本实施例提供的流式数据处理***100,包括:多个数据逻辑处理组件120以及至少一个结构编排处理组件110。
具体的,对于数据逻辑处理组件120,可以是基于模板模式和组合模式的抽象类,用于实现业务需求中对数据处理的最小逻辑功能(例如:对用户逾期数据的某属性进行打标、判断用户逾期数据的逾期金额是否大于某阈值等)。而对于,不同的数据逻辑处理组件120,还可以提供不同逻辑功能的调用链机制。应用运行时,执行完成当前数据逻辑处理组件120的返回方法,会执行在下一个节点所设置的数据逻辑处理组件120。并且,参照图1所示,对于数据逻辑处理组件120的具体形式可以根据具体业务形式进行配置和扩展,例如,可以包括第一数据逻辑处理组件1211以及第二数据逻辑处理组件1212。
而对于结构编排处理组件110,则是用于将不同的数据逻辑处理组件120按照某些结构功能串联起来,通过在结构编排处理组件110设置调用规则,可以使得通过结构编排处理组件110和预设的调用规则实现对于对应结构编排处理组件110的调用。
继续参照图1-图2,在本实施例提供的流式数据处理***100中,前端数据逻辑处理组件1221用于根据预设第一配置规则调用结构编排处理组件110,其中,前端数据逻辑处理组件1221为多个数据逻辑处理组件120中的一个处理组件,在预设流式处理流程中前端数据逻辑处理组件1221为结构编排处理组件110的前端处理节点。结构编排处理组件110用于根据预设第二配置规则调用至少一个后端数据逻辑处理组件1222,其中,后端数据逻辑处理组件1222为多个数据逻辑处理组件120中的一个处理组件,在预设流式处理流程中后端数据逻辑处理组件1222为前端数据逻辑处理组件1221的后端处理节点。
可见,在前端数据逻辑处理组件1221触发结构编排处理组件110之后,结构编排处理组件110根据预设的调用规则调用对应的后端数据逻辑处理组件1222,从而实现了各个数据逻辑处理组件120之间通过结构编排处理组件110按照需要的结构功能串联起来的目的。
在本实施例中,通过在流式处理流程中的前端数据逻辑处理组件以及后端数据逻辑处理组件之间设置结构编排处理组件,在前端数据逻辑处理组件执行完成后,根据预设第一配置规则调用对应的结构编排处理组件,再通过该结构编排处理组件中预设第二配置规则调用后端数据逻辑处理组件,从而实现前端数据逻辑处理组件与后端数据逻辑处理组件之间的解耦,从而实现在变更或新增业务需求时,只需增加对应的数据逻辑处理组件,以及配置结构编排处理组件的调配逻辑即可实现流式数据处理***的修改和扩展。
此外,由于数据逻辑处理组件之间无耦合,各个组件之间通过接口相互建立逻辑联系,与具体实现类无关。在进行业务修改和变更时,先根据业务需求增加或变更数据逻辑处理组件,然后,再在各个数据逻辑处理组件之间配置结构编排处理组件的调用逻辑,从而实现在进行变更时,无需修改流式数据处理***中原有的逻辑代码。对于众多不同业务场景需要对大量固定结构的数据,进行逐条的多种逻辑的加工或处理需求模式,在架构层面进行高度抽象,将***结构性(并行、串行、同步控制)代码与功能逻辑代码进行解耦,同时不同需求的原子功能代码之间也进行有效解耦,基于此框架开发人员可以对需求进行快速开发,且专注于业务逻辑的实现。
在上述实施例的基础上,继续参照图1,结构编排处理组件110可以包括并行编排处理组件111以及选择编排处理组件112。其中,对于并行编排处理组件111,是用于根据前端数据逻辑处理组件1221的属性信息调用多个后端数据逻辑处理组件1222,以使各个后端数据逻辑处理组件1222并行处理数据。而对于选择编排处理组件112,则是可以用于根据前端数据逻辑处理组件1221的输出结果来确定需要调用的后端数据逻辑处理组件1222。
当结构编排处理组件110为并行编排处理组件111时,各个后端数据逻辑处理组件1222用于根据同一预设处理逻辑处理数据,即并行编排处理组件111可以并行调用多个后端数据逻辑处理组件1222(例如:第一数据逻辑处理组件1211以及第二数据逻辑处理组件1212),而第一数据逻辑处理组件1211以及第二数据逻辑处理组件1212是根据同一预设处理逻辑处理数据。而在另一种可能中,各个后端数据逻辑处理组件1222还可以是分别根据不同预设处理逻辑处理数据,即并行编排处理组件111可以并行调用多个后端数据逻辑处理组件1222(例如:第一数据逻辑处理组件1211以及第二数据逻辑处理组件1212),而第一数据逻辑处理组件1211与第二数据逻辑处理组件1212分别根据不同的预设处理逻辑处理数据,可以理解为第一数据逻辑处理组件1211根据第一预设处理逻辑处理数据,而第二数据逻辑处理组件1212根据第二预设处理逻辑处理数据,第一预设处理逻辑与第二预设处理逻辑为不同的处理逻辑。
此外,上述并行编排处理组件111根据预设入参配置规则控制后端数据逻辑处理组件1222的后续调用行为。例如,上述预设入参规则配置可以为所有后端数据逻辑处理组件1222均返回处理结果后再进行后续调用行为,或者,配置为任一后端数据逻辑处理组件1222返回处理结果后即可进行后续调用行为。
在图2所示实施例的基础上,图3是本申请根据另一示例实施例示出的流式数据处理***的结构示意图。如图1和图3所示,本实施例提供的流式数据处理***100,还包括:数据结构转换组件150。
具体的,数据结构转换组件150,用于将任务请求数据的第一数据结构转换为第二数据结构,其中,第二数据结构适配前端数据逻辑处理组件1221。或者,用于将前端数据逻辑处理组件1221的输出结果的第三数据结构转换为第四数据结构,第四数据结构适配后端数据逻辑处理组件1222。
此外,本实施例提供的流式数据处理***,还包括:上下文组件140。其中,上下文组件140用于存储预设流式处理流程中的目标数据,目标数据为在预设流式处理流程的各个处理节点之间无需进行传递的数据。
具体的,上下文组件140可以包括:全局上下文组件141、批处理任务上下文组件142以及数据上下文组件143。其中,全局上下文组件141,用于存储预设应用整个生命周期内的目标数据;批处理任务上下文组件142,用于存储预设批处理任务处理周期内的目标数据;数据上下文组件143,用于存储预设单条数据处理周期内的目标数据。
而为了从上下文组件140中获取数据,本实施例提供的流式数据处理***100,还可以包括:上下文获取组件。其中,上下文获取组件,用于获取上下文组件中的目标数据,并将目标数据传递至数据逻辑处理组件。
此外,为了满足流式数据处理***100进行数据批处理需求,实施例提供的流式数据处理***100,还可以包括:批处理任务触发组件160,其中,批处理任务触发组件160,用于触发批处理任务,并向前端数据逻辑处理组件1221输入任务请求数据。
图4是本申请根据一示例实施例示出的组件交互示意图。如图4所示,可以通过批处理任务触发组件160触发一个批处理任务,其中,将输入A输入至请求A中进行处理得到结果A,将输入B输入至请求B中进行处理得到结果B。
具体的,将输入A输入至第一数据逻辑处理组件H01,第一数据逻辑处理组件H01可以根据预设配置规则调用第一结构编排处理组件IOP01,其中,第一结构编排处理组件IOP01可以为并行编排处理组件。此时,第一结构编排处理组件IOP01可以根据预设配置规则调用第二数据逻辑处理组件H02、第三数据逻辑处理组件H03以及第四数据逻辑处理组件H04。其中,第二数据逻辑处理组件H02继续调用第二结构编排处理组件IOP02,第二结构编排处理组件IOP02调用第五数据逻辑处理组件H05。而第三数据逻辑处理组件H03则调用第三结构编排处理组件IOP03,第三结构编排处理组件IOP03调用第六数据逻辑处理组件H06以及第七数据逻辑处理组件H07。然后,第六数据逻辑处理组件H06调用第四结构编排处理组件IOP04,第四结构编排处理组件IOP04调用第八数据逻辑处理组件H08,最后,输出结果A。并且,在调用的过程中,第一数据逻辑处理组件H01的数据可以通过第一数据结构转换组件D01进行数据结构转换。而第一数据逻辑处理组件H01、第三数据逻辑处理组件H03以及第四数据逻辑处理组件H04的目标数据可以写入第一数据上下文组件B01,而第五数据逻辑处理组件H05以及第七数据逻辑处理组件H07则将目标数据写入第一批处理任务上下文组件BB01。
此外,将输入B输入至第十一数据逻辑处理组件H11,第十一数据逻辑处理组件H11可以根据预设配置规则调用第十一结构编排处理组件IOP11,其中,第十一结构编排处理组件IOP11可以为并行编排处理组件。此时,第十一结构编排处理组件IOP11可以根据预设配置规则调用第十二数据逻辑处理组件H12以及第十三数据逻辑处理组件H13。其中,第十二数据逻辑处理组件H12继续调用第十二结构编排处理组件IOP12,第十二结构编排处理组件IOP12调用第十四数据逻辑处理组件H14,最后,输出结果A。并且,在调用的过程中,第十四数据逻辑处理组件H14的数据可以通过第十二数据结构转换组件D12进行数据结构转换,第十二数据逻辑处理组件H12的数据可以通过第十一数据结构转换组件D11进行数据结构转换。而第十一数据逻辑处理组件H11、第十二数据逻辑处理组件H12、第十三数据逻辑处理组件H13以及第十四数据逻辑处理组件H14的目标数据,可以写入第十一数据上下文组件B11。而第十一数据逻辑处理组件H11、第十二数据逻辑处理组件H12以及第十四数据逻辑处理组件H14则将目标数据写入第一批处理任务上下文组件BB01。
图5是本申请根据一示例实施例示出的流式数据处理方法的流程示意图。如图5所示,本实施例提供的流式数据处理方法,包括:
S201、前端数据逻辑处理组件根据目标数据生成第一处理结果数据。
S202、根据预设第一配置规则调用结构编排处理组件。
前端数据逻辑处理组件根据目标数据生成第一处理结果数据,并根据预设第一配置规则调用结构编排处理组件,其中,目标数据为任务请求数据或处理结果数据。
对于数据逻辑处理组件,可以是基于模板模式和组合模式的抽象类,用于实现业务需求中对数据处理的最小逻辑功能(例如:对用户逾期数据的某属性进行打标、判断用户逾期数据的逾期金额是否大于某阈值等)。而对于,不同的数据逻辑处理组件,还可以提供不同逻辑功能的调用链机制。应用运行时,执行完成当前数据逻辑处理组件的返回方法,会执行在下一个节点所设置的数据逻辑处理组件。并且,对于数据逻辑处理组件的具体形式可以根据具体业务形式进行配置和扩展。
而对于结构编排处理组件,则是用于将不同的数据逻辑处理组件按照某些结构功能串联起来,通过在结构编排处理组件设置调用规则,可以使得通过结构编排处理组件和预设的调用规则实现对于对应结构编排处理组件的调用。
S203、结构编排处理组件根据预设第二配置规则调用至少一个后端数据逻辑处理组件。
在本步骤中,前端数据逻辑处理组件用于根据预设第一配置规则调用结构编排处理组件,其中,前端数据逻辑处理组件为多个数据逻辑处理组件中的一个处理组件,在预设流式处理流程中前端数据逻辑处理组件为结构编排处理组件的前端处理节点。结构编排处理组件用于根据预设第二配置规则调用至少一个后端数据逻辑处理组件,其中,后端数据逻辑处理组件为多个数据逻辑处理组件中的一个处理组件,在预设流式处理流程中后端数据逻辑处理组件为前端数据逻辑处理组件的后端处理节点。
可见,在前端数据逻辑处理组件触发结构编排处理组件之后,结构编排处理组件根据预设的调用规则调用对应的后端数据逻辑处理组件,从而实现了各个数据逻辑处理组件之间通过结构编排处理组件按照需要的结构功能串联起来的目的。
S204、后端数据逻辑处理组件根据第一处理结果数据生成第二处理结果数据。
具体的,在前端数据逻辑处理组件根据目标数据生成第一处理结果数据,以及结构编排处理组件根据预设第二配置规则调用至少一个后端数据逻辑处理组件之后,后端数据逻辑处理组件根据第一处理结果数据生成第二处理结果数据。
S205、根据预设流式处理流程完成流式数据处理***中各个数据逻辑处理组件的数据处理,并输出任务处理结果数据。
在本步骤中,根据预设流式处理流程完成流式数据处理***中各个数据逻辑处理组件的数据处理,并输出任务处理结果数据。
通过在流式处理流程中的前端数据逻辑处理组件以及后端数据逻辑处理组件之间设置结构编排处理组件,在前端数据逻辑处理组件执行完成后,根据预设第一配置规则调用对应的结构编排处理组件,再通过该结构编排处理组件中预设第二配置规则调用后端数据逻辑处理组件,从而实现前端数据逻辑处理组件与后端数据逻辑处理组件之间的解耦,从而实现在变更或新增业务需求时,只需增加对应的数据逻辑处理组件,以及配置结构编排处理组件的调配逻辑即可实现流式数据处理***的修改和扩展。
图6是本申请根据一示例实施例示出的电子设备的结构示意图。如图6所示,本实施例提供的一种电子设备300,包括:
处理器301;以及,
存储器302,用于存储所述处理器的可执行指令,该存储器还可以是flash(闪存);
其中,所述处理器301配置为经由执行所述可执行指令来执行上述方法中的各个步骤。具体可以参见前面流式数据处理***各个组件功能的相关描述。
可选地,存储器302既可以是独立的,也可以跟处理器301集成在一起。
当所述存储器302是独立于处理器301之外的器件时,所述电子设备30,还可以包括:
总线303,用于连接所述处理器301以及所述存储器302。
本实施例还提供一种可读存储介质,可读存储介质中存储有计算机程序,当电子设备的至少一个处理器执行该计算机程序时,电子设备执行上述的各种实施方式提供的流式数据处理***中各个组件的功能。
本实施例还提供一种程序产品,该程序产品包括计算机程序,该计算机程序存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得电子设备实施上述的各种实施方式提供的流式数据处理***中各个组件的功能。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。