一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据流的处理方法、装置、电子设备和存储介质与流程

2022-12-20 01:19:56 来源:中国专利 TAG:
1.本发明涉及大数据
技术领域
:,尤其是涉及一种数据流的处理方法、装置、电子设备和存储介质。
背景技术
::2.随着大数据技术的发展,单一数据源的数据很难满足愈加复杂化以及个性化的业务场景需求,如何在实时数据处理分析过程中获取更完整的数据,是大数据
技术领域
:亟需解决的问题。3.流计算技术能够较好地完成多源数据流的实时处理和分析,但是,由于流计算的技术壁垒高,导致流计算无法方便地运用于不同的数据存储系统,存在可操作性低且不灵活的技术难题。技术实现要素:4.有鉴于此,本发明的目的在于提供一种数据流的处理方法、装置、电子设备和存储介质,以提高流计算的可操作性和灵活性。5.第一方面,本发明实施例提供了一种数据流的处理方法,方法包括:响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。6.上述算子的配置包括异步线程数,上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过预先配置的算子创建所述异步线程数的数据补充任务,并通过所述异步线程数的数据补充任务实时异步并行向第二数据源发送数据获取请求;接收所述数据获取请求返回的响应结果,得到补充数据。7.上述算子的配置包括定时器配置,上述接收所述数据获取请求返回的响应结果,得到补充数据,包括:接收所述数据获取请求返回的响应结果,并通过所述定时器配置和所述响应结果确定是否将所述数据补充任务加入预设任务队列;按照所述定时器配置定时触发所述预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据。8.上述定时器配置包括处理类型,上述通过所述定时器配置和所述响应结果确定是否将所述数据补充任务加入预设任务队列,包括:判断所述响应结果是否符合预设数据补充条件;若所述响应结果不符合预设数据补充条件,则将对应的数据补充任务加入预设任务队列;若所述响应结果符合预设数据补充条件,则根据所述处理类型确定是否将所述数据补充任务加入预设任务队列。9.上述定时器配置包括事件时刻、触发间隔时长和刷出时长,所述事件时刻用于指示所述原始数据中的目标事件时刻;上述按照所述定时器配置定时触发所述预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据,包括:根据所述事件时刻和所述刷出时长,计算刷出时刻,所述刷出时刻用于指示所述数据补充任务从所述预设任务队列中的强制刷出时刻;根据所述事件时刻和所述触发间隔时长,计算在所述强制刷出时刻内的多个触发时刻,并在每个触发时刻触发所述预设任务队列中对应的数据补充任务,得到每个数据补充任务对应的补充数据。10.上述输出关联结合后的数据,包括:根据所述响应结果和所述定时器配置中的处理类型,对关联结合后的数据进行分流并输出。11.上述算子的配置包括数据源配置和补充数据配置,上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过所述补充数据配置生成每条流入的原始数据对应的数据查询语句,并通过所述数据查询语句向所述数据源配置对应的第二数据源实时异步发送数据获取请求,得到每条流入的原始数据对应的补充数据。12.上述补充数据配置包括动态渲染参数和查询语句模板,上述通过所述补充数据配置生成每条流入的原始数据对应的数据查询语句,包括:通过所述动态渲染参数从每条流入的原始数据中获取动态渲染参数值,并将所述动态渲染参数值代入所述查询语句模板,得到每条流入的原始数据对应的数据查询语句。13.上述数据源配置包括最大连接数和最小连接数,在响应于第一数据源中原始数据的流入之前,还包括:按照所述最大连接数和所述最小连接数创建数据库连接池;上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过预先配置的算子实时异步从所述数据库连接池获取与第二数据源的连接,得到补充数据。14.上述算子的配置包括缓存配置,在响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据之后,将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据之前,包括:根据所述缓存配置,将所述补充数据存储至缓存中;上述响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据,包括:响应于第一数据源中原始数据的流入,通过预先配置的算子从缓存中获取所述原始数据对应的补充数据,得到缓存获取结果,所述缓存获取结果用于指示所述缓存中是否存在所述原始数据对应的补充数据;若所述缓存中存在所述原始数据对应的补充数据,则确定所述缓存中所述原始数据对应的补充数据为第二数据源的补充数据;若所述缓存中不存在所述原始数据对应的补充数据,则通过预先配置的算子实时异步向第二数据源获取补充数据。15.上述将所述补充数据存储至缓存中,包括:通过预置的标识符生成策略,生成所述补充数据对应的标识符,并将所述标识符和所述补充数据关联存储至缓存中;上述通过预先配置的算子从缓存中获取所述原始数据对应的补充数据,得到缓存获取结果,包括:通过所述标识符生成策略,生成所述原始数据对应的标识符;通过所述原始数据对应的标识符在所述缓存中查询所述原始数据对应的补充数据,得到缓存获取结果。16.上述标识符生成策略用于对所述原始数据中的动态渲染参数值进行拼接,所述动态渲染参数值按照所述算子的配置从所述原始数据中获取。17.上述输出关联结合后的数据,包括:将关联结合后的数据输出至所述算子对应的目标算子或目标数据库。18.第二方面,本发明实施例提供了一种数据流的处理装置,装置包括:获取模块,用于响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;输出模块,用于将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。19.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述数据流的处理方法。20.第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述数据流的处理方法。21.本发明实施例带来了以下有益效果:22.上述数据流的处理方法、装置、电子设备和存储介质,响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。该方式中,当第一数据源中的原始数据流入时,实时通过配置好的算子异步地向第二数据源获取补充数据,使得包含不同配置的算子可以即插即用地在数据流的任意位置插入并使用,使得数据流框架的能够通过一次搭建,处处使用,并且,通过灵活的配置满足不同业务场景的补充数据获取,从而提高流计算的可操作性和灵活性。23.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。24.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明25.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。26.图1为本发明实施例中数据流的处理方法的一个实施例流程图;27.图2为本发明实施例中数据流的处理方法的另一个实施例流程图;28.图3为本发明实施例中数据流的处理方法的另一个实施例流程图;29.图4为本发明实施例提供的一种数据流的处理装置的示意图;30.图5为本发明实施例提供的一种电子设备的示意图。具体实施方式31.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。32.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。33.为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据流的处理方法的一个实施例包括:34.步骤s10、响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;35.可以理解的是,数据流可以分为有界流和无界流,其中,本发明用于对无界流的数据流进行处理,无界流具有无界、实时、无需针对整个数据集的特点,无界流的处理是对预先定义的数据源中产生和流入的每个数据进行处理,无界数据流的处理是无休止的,当数据源中的数据产生并流入则立即进行处理,从而保证数据流处理的实时性。36.在一种实施方式中,本发明应用于分布式系统,其中,分布式系统中运行有分布式处理引擎和框架,如flink,用于对无界流进行有状态的实时计算。为了提高数据流处理的可操作性和灵活性,对分布式处理引擎和框架进行封装,得到基于分布式处理引擎和框架的软件开发工具包(softwaredevelopmentkit,sdk),该sdk定义了一种配置文法,并且包含配置文法解析器,配置文法解析器能够将配置文法中的变量解析为分布式处理引擎和框架可读的变量,从而通过解析出来的变量实现对应的计算逻辑,其中,预先配置的算子即可以通过该配置文法进行配置,并通过配置文法解析器对算子的配置进行解析,以实现对不同的配置执行不同的计算逻辑。例如,假设算子的配置包括:“connection.host:a”,假设该connection.host配置用于指示数据流的请求数据源地址,那么,该数据流的请求数据源则为a,通过配置文法解析器,可以通过简单的配置文法在数据流的任意位置请求并关联不同的数据源,而无需通过复杂的分布式处理框架定义的编程规则,实现数据流的即插即用,极大程度地降低了数据流处理的实现难度和可操作性,具有操作简单、通用且灵活的特点。37.需要说明的是,基于分布式处理引擎和框架的软件开发工具包集成有丰富的数据输入输出连接器和多样的数据处理算子,实现了完备动态类加载和反射引擎,可配置式扩展数据源和算子,通过该sdk定义的配置文法,使得只需根据需求编写配置即可在任意平台、系统或程序启动一条实时计算数据流,并且在数据流的任意位置,通过预先编写的配置即可嵌入具有数据处理功能的算子,实现了一个sdk、一套配置文法,适用于多个平台,多种业务计算场景,降低流式编程的门槛、提升实时作业的交付效率。38.本实施方式中,算子用于对输入数据进行转换后输出,是一个数据处理单元,包含输入、转换和输出功能,其中,数据的转换可以由一个或一系列的函数组成,具有特定的数据转换功能,如过滤算子用于对输入数据进行特定条件的过滤之后输出过滤结果、聚合算子用于对输入数据进行特定方式的聚合之后输出聚合结果,算子的具体转换功能此处不做限定,本实施方式是算子为数据补充算子,用于从不同的数据源获取特定的补充数据,以提高实时计算所需数据的完整性和可用性。39.需要说明的是,第一数据源中的原始数据,可以是流入预设数据流的数据,也可以是流入预先配置的算子的数据,在一种实施方式中,预设数据流中包括至少一个预先配置的算子,并且这些算子具有上下游关系,上游的算子为下游的算子提供输入的原始数据,上游的算子在完成数据处理之后将数据输出至下游算子,下游算子响应上游算子输出数据的流入,并继续进行数据处理并往下游算子输出处理后的数据,从而达到数据源源不断的流动,只要数据源不断,实时计算则不断的流式处理,保证了数据的实时性。需要说明的是,算子获取到数据补充之后,也可以将补充数据直接写入目标数据库,进行持久化存储,具体的输出位置取决于算子的配置,此处不做限定。40.在一种实施方式中,第一数据源用于指示算子的输入数据,第二数据源用于指示算子的请求数据,也就是补充数据的来源,其中,第一数据源和第二数据源可以为具体的数据库、服务器、数据收集系统(如flume日志收集系统)、流处理平台(如kafka)、或流处理平台中的一个分区(如kafkatopic)等能够产生、传输或存储数据的数据源,通过算子的配置中的输入数据源配置可以配置算子的第一数据源,通过算子的配置中的请求数据源配置可以配置算子的第二数据源,第一数据源和第二数据源可以相同,也可以不同,具体此处不做限定。41.可以理解的是,由于请求数据通常需要携带相应的请求参数,例如,向a数据库请求用户1的身份信息时,通常需要携带用户1的用户id向a数据库发送请求,以接收数据a返回的用户1的身份信息。因此,在一种实施方式中,第一数据源中的原始数据提供补充数据的请求参数,响应于第一数据源中原始数据的流入,通过预先配置的算子提取原始数据中的请求参数,并携带请求参数向第二数据源发送数据获取请求,以接收数据获取请求返回的请求结果,并从请求结果中提取补充数据,从而完成补充数据的流式获取。42.需要说明的是,在向第二数据源发送请求以获取补充数据的过程中,由于通信延时或网络延时对请求的延时影响,如果采用同步处理方式,也就是发送一个请求之后一直等待,直到请求响应之后再进行整条数据流的后续处理,这种方式使得等待时间占据了整条流式处理的绝大部分时间,数据流的吞吐量因此降低,数据的实时性也因此变差。因此,本实施方式通过异步处理的方式,通过预先配置的算子实时且异步地向第二数据源发送请求,并异步接收请求的响应结果,得到补充数据,使得在等待请求响应的过程中,数据流可以同时发送请求和接收请求响应,使得每个请求完全独立,数据流不会因此阻塞,极大程度地降低时延问题对流的吞吐量的影响,提高数据流的数据处理效率。43.步骤s20、将补充数据与原始数据进行关联结合,并输出关联结合后的数据。44.可以理解的是,在实际的业务场景中不是所有数据都存放在实时计算任务处理友好的存储架构中,数据来源有很多不同的结构,常见的半结构化数据,如客户端日志和服务端日志,一般采用flume和kafka等日志收集工具进行收集存储;结构化数据如订单信息、用户信息、商品类信息、配置类的信息等与业务系统、业务逻辑强相关,一般保存在mysql(即关系型数据库管理系统)和tidb(即分布式关系型数据库)等关系型数据库中。而针对不同数据源的数据结构不同的问题,通过对不同数据源的数据进行关联结合的方式,使得实时计算不再受限于不同数据源和不同数据结构,业务场景也不再受限,能够更好地发挥实时计算的优越性。45.作为多源数据进行关联结合的一个可能的应用场景的是,在虚拟游戏中,玩家购买道具时的一个操作,首先会触发客户端分别与渠道商、计费中心进行通讯,客户端的下单与支付动作完成后,计费中心与渠道商进行交互,验证客户端订单的合法性以及支付状态,校验订单合法后,与游戏服务端进行交互,通知发货给玩家并将交易订单信息存入tidb数据库,过程中还有通讯网络、数据库、监控系统等的参与,整个过程非常复杂,一整套流程下来,每一个参与系统产生的日志、关键数据点、数据监控点等等,它们的来源、数据结构、时间步调可能是千差万别的。面对如此多源的异构数据,需要从不同格式的日志中获取玩家在游戏内的行为动作,从关系数据库中获取准确的交易明细数据,而日志只能分别产生出一部分基础数据信息,将基础数据与其它来源的数据进行关联结合才能够产生符合不同业务需求的数据分析报表和监控数据,并输出给不同的业务端使用。46.可以理解的是,例如,游戏的访问日志只有玩家角色信息,而日志打印时并不需要与玩家账号表关联,但是玩家账号表中所存的玩家id字段非常重要,是做玩家维度数据分析的必要字段,如果不在基础环节就完善数据质量,输出缺少关键信息的分析结果意义不大,下游需要采用额外的处理手段使得最终数据结果完整可用,带来了不必要的重复繁杂处理。在这种情况下,作为一个具体的实施例的是,第一数据源为kafka,第一数据源的原始数据为访问日志,一条访问日志记录了一个玩家的一次登录行为数据,响应访问日志中一个玩家的一次登录行为数据的流入,通过预先配置的算子实时异步向元数据信息库表获取主要库表信息,并将主要库表信息与登录行为数据进行关联结合后输出到预设数据流中的下一个算子,下一个算子通过主要库表信息从主库中的玩家账号表获取玩家id字段,并将玩家id字段、主要库表信息和登录行为数据输出到预设数据流中的下一个算子,以通过下一个算子进行更多的数据补充。47.在一种实施方式中,将补充数据与原始数据进行关联结合,并输出关联结合后的数据,包括:对补充数据和原始数据进行关键数据抽取和无效数据过滤,得到关联结合后的数据,并输出关联结合后的数据。其中,关联结合后的数据可以输出到具体数据库中进行持久化存储,也可以输出到预设数据流中的任意算子中进行进一步的处理,具体的,输出关联结合后的数据,包括:将关联结合后的数据输出至算子对应的目标算子或目标数据库。48.上述数据流的处理方法,响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;将补充数据与原始数据进行关联结合,并输出关联结合后的数据。该方式中,当第一数据源中的原始数据流入时,实时通过配置好的算子异步地向第二数据源获取补充数据,使得包含不同配置的算子可以即插即用地在数据流的任意位置插入并使用,使得数据流框架的能够通过一次搭建,处处使用,并且,通过灵活的配置满足不同业务场景的补充数据获取,从而提高流计算的可操作性和灵活性。49.请参阅图2,本发明实施例中数据流的处理方法的另一个实施例包括:50.步骤s201、通过预先配置的算子创建异步线程数的数据补充任务,并通过异步线程数的数据补充任务实时异步并行向第二数据源发送数据获取请求;算子的配置包括异步线程数;51.可以理解的是,异步线程数据也可以通过算子的配置进行设置,异步线程数用于指示并行的数据补充任务的数量,每个数据补充任务对应一条原始数据,数据补充任务用于基于对应的原始数据实时异步向第二数据源发送数据获取请求,并接收第二数据源返回的请求响应结果。也就是说,不同线程的数据补充任务的数据获取请求可以并行发送、异步等待,不同线程的数据补充任务之间互不干扰、互不关联,能够各自完成各自的数据补充任务。例如,第一数据源同时流入10条原始数据,假设预先配置的异步线程数为8,那么,则为这10条原始数据中的其中8条原始数据创建对应的数据补充任务,得到8个数据补充任务,每个数据补充任务均按照算子中的配置执行同样的任务操作,即同时向第二数据源发送数据获取请求,并各自等待第二数据源返回的响应结果,从响应结果中获取补充数据,得到每个数据执行任务对应的补充数据,也就是每条原始数据对应的补充数据,如原始数据为a用户的原始数据,那么,补充数据则为该a用户的补充数据,具体此处不做限定。52.步骤s202、接收数据获取请求返回的响应结果,得到补充数据。53.在一种实施方式中,通过数据补充任务异步接收数据获取请求返回的响应结果,响应结果用于指示第二数据源的数据请求结果,包括响应成功结果和响应失败结果,其中,响应失败结果包括响应失败信息,响应成功结果包含数据获取请求所请求的数据,例如,假设数据获取请求所请求的是用户信息,那么,响应成功结果则包含用户信息,具体此处不做限定。若响应结果为响应成功结果,那么,从响应成功结果中即可提取到补充数据,用于后续的关联结合和输出。54.在一种实施方式中,为了避免数量过大的异步任务占用过多的计算资源,导致数据流的运行受到影响,通过任务队列的方式限制异步任务的数量,并且通过定时器配置对任务队列中的任务进行定时执行,具体的,算子的配置包括定时器配置,步骤s202包括:55.(1)接收数据获取请求返回的响应结果,并通过定时器配置和响应结果确定是否将数据补充任务加入预设任务队列;56.本实施方式中,通过预设任务队列对异步任务的数量进行限制,并且通过定时器配置和响应结果确定是否将数据补充任务加入到预设任务队列中,例如,定时器配置指示将响应成功的响应结果加入预设任务队列,那么,当响应结果为响应成功时,该响应结果对应的数据补充任务则被加入到预设任务队列中。而定时器配置则用于对预设任务队列中数据补充任务的定时执行方式进行设置,例如,定时器配置指示每隔1秒执行一次预设任务队列中的数据补充任务。在一种实施方式中,定时器配置中包括数据补充任务的基准时刻,基准时刻用于指示预设任务队列中各数据补充任务的执行时刻,基准时刻可以为数据的请求时刻、响应时刻、以及事件时刻等,例如,一个数据补充任务的基准时刻为10:00:00,定时器配置指示每隔1秒执行一次预设任务队列中的数据补充任务,那么,该数据补充任务则在10:00:01、10:00:02、10:00:03等每隔1秒的时刻被触发并执行,具体此处不做限定。57.具体的,为了进一步地对数据补充任务进行精准控制,以优化计算资源的合理利用,对不同的响应结果进行分流,其中,定时器配置包括处理类型,上述步骤(1)包括:判断响应结果是否符合预设数据补充条件;若响应结果不符合预设数据补充条件,则将对应的数据补充任务加入预设任务队列;若响应结果符合预设数据补充条件,则根据处理类型确定是否将数据补充任务加入预设任务队列。58.在一种实施方式中,预设数据补充条件用于判断响应结果是否包含有效补充数据,可以理解的是,在请求响应失败的情况下,响应结果不包含有效补充数据,在请求响应成功,但补充数据为空值(null)时,响应结果也不包含有效补充数据,除此之外,响应结果包含有效补充数据,也就是说,若响应结果符合预设数据补充条件,则说明请求响应成功,且请求返回的数据不为空值,这种情况下,则根据定时器配置中的处理类型确定是否将响应结果对应的数据补充请求加入预设任务队列中,进行后续的任务触发和执行,而如果若响应结果不符合预设数据补充条件,则说明请求响应失败,或请求返回的数据为空值,这种情况下,则直接将响应结果对应的数据补充任务加入预设任务队列中,以通过预设任务队列重新触发该数据补充任务的执行,获得包含有效补充数据。59.在一种实施方式中,定时器配置中的处理类型用于指示当响应结果符合预设数据补充条件时,是否将数据补充任务加入预设任务队列,具体的是,当数据补充任务的请求响应成功且请求返回的数据不为空值时,是否将数据补充任务加入预设任务队列,通过处理类型的设置,能够将一些需要重复执行的数据补充任务固化到任务队列中,使得任务的执行方式更灵活。60.其中,处理类型包括移除类型、保留类型和分流类型,处理类型还用于指示数据分流方式,在一种实施方式中,输出关联结合后的数据,包括:根据响应结果和定时器配置中的处理类型,对关联结合后的数据进行分流并输出。其中,输出包括标准输出和侧输出,标准输出是指算子的默认输出,侧输出是指算子的默认输出之外的输出,通过处理类型和响应结果,可以确定关联结合后的数据是标准输出还是侧输出,从而达到数据分流的效果。61.(2)按照定时器配置定时触发预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据。62.可以理解的是,定时器配置用于指示预设任务队列中数据补充任务的定时触发方式,按照定时器配置指示的定时触发方式触发预设任务队列中的数据补充任务,能够为一次触发未成功执行的任务提供二次触发并执行的时机,例如,数据获取请求失败的情况下也能够重新请求。63.可以理解的是,时间步调不一致会导致数据的不一致,可能会出现两条完全相同的流计算作业却产生了不相同的输出结果,或者同一条流计算作业重跑后得到和之前不同的输出结果,不能保证数据一致性会给数据使用方带来诸多麻烦。因此,为了保证时间步调的一致性,在一种实施方式中,定时器配置包括事件时刻、触发间隔时长和刷出时长,事件时刻用于指示原始数据中的目标事件时刻;按照定时器配置定时触发预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据,包括:根据事件时刻和刷出时长,计算刷出时刻,刷出时刻用于指示数据补充任务从预设任务队列中的强制刷出时刻;根据事件时刻和触发间隔时长,计算在强制刷出时刻内的多个触发时刻,并在每个触发时刻触发预设任务队列中对应的数据补充任务,得到每个数据补充任务对应的补充数据。64.本实施方式中,事件时刻、触发间隔时长和刷出时长也可以通过配置的方式进行设置,其中,事件时刻是指独立的目标事件在其计算设备(如服务器)上发生的时刻,也就是原始数据中目标事件的发生时刻,是原始数据流入之前便存在的事件时刻,事件时刻取决于数据产生的时刻,而非计算设备的系统时刻或任何时钟,例如,假设原始数据包含一条游戏登陆记录,那么,该游戏登陆记录中的登陆事件即为目标事件,游戏登陆记录中的游戏登陆时刻即为该目标事件的发生时刻,即为事件时刻。事件时刻将使得数据流的处理产生完全一致和确定的结果,与请求响应的快慢、数据流的处理顺序等无关,从而达到时间步调一致的效果。65.本实施方式中,为了保证时间步调的一致性和数据补充任务执行的灵活性,基于事件时刻的不变特性,通过触发间隔时长使得数据补充任务能够被多次执行,通过刷出时长可以设置数据补充任务的强制刷出时刻,从而避免无效的数据补充任务长期占据着计算资源,使得计算资源的利用和分配更合理。具体的,基于事件时刻的不变特性,将事件时刻与刷出时长进行叠加,得到刷出时刻,其中,刷出时刻用于指示对应数据补充任务从预设任务队列中的强制刷出时刻,例如,假设一个原始数据中的事件时刻为10:00:00,刷出时长为60秒,那么,该原始数据对应的数据补充任务如果在10:01:00仍存在于预设任务队列中,则将被强制移出预设任务队列,避免该数据补充任务长期占用计算资源。同样的,基于事件时刻的不变特性,将事件时刻与触发间隔时长进行累加,可以得到多个在强制刷出时刻内的触发时刻,例如,假设一个原始数据中的事件时刻为10:00:00,触发间隔时长为10秒,强制刷出时刻为10:00:29,那么,该原始数据对应的数据补充任务则在10:00:10和10:00:20被触发执行,如果10:00:20未满足预设出队条件,该数据补充任务将在10:00:29被移出预设任务队列,不再被触发和执行,其中,预设出队条件用于指示是否将数据补充任务移出预设任务队列,具体取决于响应结果和/或处理类型,此处不做具体限定。可以理解的是,不同的数据补充任务对应不同的事件时刻,但是,在同一个算子中,也就是同一套算子的配置中,触发间隔时长和刷出时长是固定的,不同的数据补充任务对应同一个触发间隔时长和刷出时长,而由于事件时刻的不同,不同数据补充任务计算得到的刷出时刻和触发时刻也不同,因此,预设任务队列中的数据补充任务可以在不同的时刻触发或移出,也可以在相同的时刻触发或移出,具体取决于事件时刻。66.下面对算子的数据源配置和补充数据配置进行说明,在一种实施方式中:算子的配置包括数据源配置和补充数据配置,通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过补充数据配置生成每条流入的原始数据对应的数据查询语句,并通过数据查询语句向数据源配置对应的第二数据源实时异步发送数据获取请求,得到每条流入的原始数据对应的补充数据。67.可以理解的是,为了便捷地从不同数据源获取补充数据,通过可配置的数据源和补充数据灵活地向不同数据源获取补充数据,其中,数据源配置包括数据源地址和数据源连接账户信息,其中,数据源连接账户信息可以是具有数据源地址的数据获取权限的账户名称和密码,例如一个数据库的连接账户名称和密码。而补充数据配置包括补充字段和补充字段的请求参数,例如,补充字段可以为logout_time(退出时刻),该补充字段的请求参数可以为game_id(游戏id)和user_id(用户id)。通过补充字段和补充字段的请求参数,生成数据查询语句,通过该数据查询语句,可以向数据源配置对应的第二数据源实时异步发送数据获取请求,从而得到数据获取请求返回的补充数据,其中,数据查询语句可以为结构化查询语言(structuredquerylanguage,sql)的查询语句,也可以为其它数据查询语言的查询语句,具体此处不做限定。可以理解的是,每条流入的原始数据对应不同的补充数据,由于每条原始数据中请求参数对应的参数值可能不同,因此,每条原始数据对应的数据查询语句也可能不同,具体此处不做限定。68.进一步的,为了更灵活地获取补充数据,数据查询语句的生成方式也可以通过算子的配置进行灵活设置,在一种实施方式中,补充数据配置包括动态渲染参数和查询语句模板,通过补充数据配置生成每条流入的原始数据对应的数据查询语句,包括:通过动态渲染参数从每条流入的原始数据中获取动态渲染参数值,并将动态渲染参数值代入查询语句模板,得到每条流入的原始数据对应的数据查询语句。69.本实施方式中,动态渲染参数用于指示补充数据的请求参数,具体为补充字段的请求参数,对于同一个算子的配置,动态渲染参数和查询语句模板是相同的,但是通过动态渲染参数和查询语句模板生成的数据查询语句对于每条流入的原始数据而言可以是不同的,原因是不同原始数据中的动态渲染参数值可能是不同的,其中,动态渲染参数值是指原始数据中,动态渲染参数对应的数值。例如,假设动态渲染参数为logout_time(退出时刻),那么,不同的原始数据中的退出时刻通常都是不同的,如a原始数据中的退出时刻可以为10:00:00,b原始数据中的退出时刻可以为10:00:01,具体此处不做限定。可以理解的是,查询语句模板用于生成不同动态渲染参数值对应的数据查询语句,一个查询语句模板的简单示例为:“selectlogout_timefromtable1wheregameid=game_id”,其中,logout_time为补充字段,table1为第二数据源,gameid为动态渲染参数,game_id为动态渲染参数值,假设一条原始数据中gameid的动态渲染参数值为a,将该动态渲染参数值代入查询语句模板中,得到该原始数据对应的数据查询语句为“selectlogout_timefromtable1wheregameid=a”,具体此处不做限定。70.为了提高数据库操作的性能,避免重复建立数据库连接或数据库连接没有及时释放导致的数据库性能下降,通过数据库连接池分配、管理和释放数据库连接,使得一个数据库连接可以被重复使用,而无需重建新的数据库连接,从而提高数据库操作的性能。在一种实施方式中,数据库连接池的最大连接数和最小连接数也可以通过算子的配置进行设置,具体的,数据源配置包括最大连接数和最小连接数,在响应于第一数据源中原始数据的流入之前,还包括:按照最大连接数和最小连接数创建数据库连接池;通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过预先配置的算子实时异步从数据库连接池获取与第二数据源的连接,得到补充数据。71.本实施方式中,最大连接数用于指示数据库连接池的最多连接数量,最小连接数用于指示数据库连接池的最少连接数量,在算子的初始化阶段,按照数据源配置中的最大连接数和最小连接数建立数据库连接池,使得预先配置的算子可以从数据库连接池中获取与第二数据源的连接,从而实时异步地获取补充数据。可以理解的是,异步线程可以同时从数据库连接池中获取与第二数据源的连接,也就是数据补充任务可以同时从数据库连接池中获取与第二数据源的连接,使得数据源的操作性能提高,从而提高流式数据的处理性能和效率。72.请参阅图3,本发明实施例中数据流的处理方法的另一个实施例包括:73.步骤s301、响应于第一数据源中原始数据的流入,通过预先配置的算子从缓存中获取原始数据对应的补充数据,得到缓存获取结果,缓存获取结果用于指示缓存中是否存在原始数据对应的补充数据;算子的配置包括缓存配置;74.步骤s302、若缓存中存在原始数据对应的补充数据,则确定缓存中原始数据对应的补充数据为第二数据源的补充数据;75.步骤s303、若缓存中不存在原始数据对应的补充数据,则通过预先配置的算子实时异步向第二数据源获取补充数据;76.步骤s304、根据缓存配置,将补充数据存储至缓存中;77.步骤s305、将补充数据与原始数据进行关联结合,并输出关联结合后的数据。78.可以理解的是,为有效利用有限的计算资源提供尽可能大的数据流吞吐量,引入缓存机制,打破标准的发送请求等待响应的流程,使得异步线程和数据补充任务可以从缓存中直接获取补充数据,从而有效提升数据流的处理速度。本实施方式提供一种本地缓存,其最大的优点是算子处理和缓存是在同一个进程内部,请求缓存非常快速,并且没有过多的网络开销。具体的,响应于第一数据源中原始数据的流入,首先通过缓存配置从缓存中读取原始数据对应的补充数据,得到缓存获取结果,若缓存获取结果指示缓存中存在该原始数据对应的补充数据,那么,则直接将缓存中原始数据对应的补充数据为第二数据源的补充数据,如果缓存获取结果指示缓存中不存在该原始数据对应的补充数据,再通过预先配置的算子实时异步向第二数据源获取补充数据,并将获取到的补充数据存储至本地缓存。79.在一种实施方式中,缓存配置包括缓存空间大小、缓存定时清理开关、缓存清理频率等配置,其中,缓存空间大小用于指示本地缓存的最大存储空间,缓存定时清理开关用于指示是否定时对缓存进行清理,缓存清理频率用于指示缓存清理的时间频率,如每分钟清理一次、每小时清理一次等。通过这些缓存配置可以灵活地管理缓存空间,使得数据流的处理更灵活和高效。80.进一步的,为了提高补充数据在缓存中的查询效率,通过生成补充数据对应的标识符,能够获得每个补充数据对应的唯一键,用于从缓存中查询原始数据对应的补充数据,具体的,将补充数据存储至缓存中,包括:81.通过预置的标识符生成策略,生成补充数据对应的标识符,并将标识符和补充数据关联存储至缓存中;82.通过预先配置的算子从缓存中获取原始数据对应的补充数据,得到缓存获取结果,包括:83.通过标识符生成策略,生成原始数据对应的标识符;84.通过原始数据对应的标识符在缓存中查询原始数据对应的补充数据,得到缓存获取结果。在每一条原始数据流入时,通过相同的标识符生成策略生成原始数据对应的标识符,并通过该标识符在缓存中查询原始数据对应的补充数据,从而得到缓存获取结果。而当缓存中不存在原始数据对应的补充数据时,则按照相同的标识符生成策略,在通过预先配置的算子实时异步向第二数据源获取到补充数据之后,生成该补充数据对应的标识符,并将该标识符和该补充数据关联存储至本地缓存中,为下一次的缓存查询做和准备。其中一种标识符生成策略用于对原始数据中的动态渲染参数值进行拼接,动态渲染参数值按照算子的配置从原始数据中获取。例如,一条原始数据中的动态渲染参数a=a,b=b,那么,该原始数据对应的标识符则为动态渲染参数a和动态渲染参数b的值的拼接值,即ab,通过该标识符ab即可在缓存中查询到该原始数据和该原始数据对应的补充数据,使得缓存查询的效率得以提升。85.对应于上述方法实施例,参见图4所示的一种数据流的处理装置的示意图,该装置包括:86.获取模块40,用于响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;87.输出模块42,用于将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。88.上述数据流的处理装置,响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。该方式中,当第一数据源中的原始数据流入时,实时通过配置好的算子异步地向第二数据源获取补充数据,使得包含不同配置的算子可以即插即用地在数据流的任意位置插入并使用,使得数据流框架的能够通过一次搭建,处处使用,并且,通过灵活的配置满足不同业务场景的补充数据获取,从而提高流计算的可操作性和灵活性。89.上述算子的配置包括异步线程数,上述获取模块,还用于:通过预先配置的算子创建所述异步线程数的数据补充任务,并通过所述异步线程数的数据补充任务实时异步并行向第二数据源发送数据获取请求;接收所述数据获取请求返回的响应结果,得到补充数据。90.上述算子的配置包括定时器配置,上述获取模块,还用于:接收所述数据获取请求返回的响应结果,并通过所述定时器配置和所述响应结果确定是否将所述数据补充任务加入预设任务队列;按照所述定时器配置定时触发所述预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据。91.上述定时器配置包括处理类型,上述获取模块,还用于:判断所述响应结果是否符合预设数据补充条件;若所述响应结果不符合预设数据补充条件,则将对应的数据补充任务加入预设任务队列;若所述响应结果符合预设数据补充条件,则根据所述处理类型确定是否将所述数据补充任务加入预设任务队列。92.上述定时器配置包括事件时刻、触发间隔时长和刷出时长,所述事件时刻用于指示所述原始数据中的目标事件时刻;上述获取模块,还用于:根据所述事件时刻和所述刷出时长,计算刷出时刻,所述刷出时刻用于指示所述数据补充任务从所述预设任务队列中的强制刷出时刻;根据所述事件时刻和所述触发间隔时长,计算在所述强制刷出时刻内的多个触发时刻,并在每个触发时刻触发所述预设任务队列中对应的数据补充任务,得到每个数据补充任务对应的补充数据。93.上述输出模块,还用于:根据所述响应结果和所述定时器配置中的处理类型,对关联结合后的数据进行分流并输出。94.上述算子的配置包括数据源配置和补充数据配置,上述获取模块,还用于:通过所述补充数据配置生成每条流入的原始数据对应的数据查询语句,并通过所述数据查询语句向所述数据源配置对应的第二数据源实时异步发送数据获取请求,得到每条流入的原始数据对应的补充数据。95.上述补充数据配置包括动态渲染参数和查询语句模板,上述获取模块,还用于:通过所述动态渲染参数从每条流入的原始数据中获取动态渲染参数值,并将所述动态渲染参数值代入所述查询语句模板,得到每条流入的原始数据对应的数据查询语句。96.上述数据源配置包括最大连接数和最小连接数,上述装置还包括:创建模块,用于按照所述最大连接数和所述最小连接数创建数据库连接池;上述获取模块,还用于:通过预先配置的算子实时异步从所述数据库连接池获取与第二数据源的连接,得到补充数据。97.上述算子的配置包括缓存配置,上述装置还包括:缓存模块,用于根据所述缓存配置,将所述补充数据存储至缓存中;所述获取模块,还用于:响应于第一数据源中原始数据的流入,通过预先配置的算子从缓存中获取所述原始数据对应的补充数据,得到缓存获取结果,所述缓存获取结果用于指示所述缓存中是否存在所述原始数据对应的补充数据;若所述缓存中存在所述原始数据对应的补充数据,则确定所述缓存中所述原始数据对应的补充数据为第二数据源的补充数据;若所述缓存中不存在所述原始数据对应的补充数据,则通过预先配置的算子实时异步向第二数据源获取补充数据。98.上述缓存模块,还用于:通过预置的标识符生成策略,生成所述补充数据对应的标识符,并将所述标识符和所述补充数据关联存储至缓存中;上述获取模块,还用于:通过所述标识符生成策略,生成所述原始数据对应的标识符;通过所述原始数据对应的标识符在所述缓存中查询所述原始数据对应的补充数据,得到缓存获取结果。99.上述标识符生成策略用于对所述原始数据中的动态渲染参数值进行拼接,所述动态渲染参数值按照所述算子的配置从所述原始数据中获取。100.上述输出模块,还用于:将关联结合后的数据输出至所述算子对应的目标算子或目标数据库。101.本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述数据流的处理方法。该电子设备可以是服务器,也可以是终端设备。102.参见图5所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述数据流的处理方法。103.进一步地,图5所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。104.其中,存储器101可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。105.处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤,例如:106.响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。107.上述算子的配置包括异步线程数,上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过预先配置的算子创建所述异步线程数的数据补充任务,并通过所述异步线程数的数据补充任务实时异步并行向第二数据源发送数据获取请求;接收所述数据获取请求返回的响应结果,得到补充数据。108.上述算子的配置包括定时器配置,上述接收所述数据获取请求返回的响应结果,得到补充数据,包括:接收所述数据获取请求返回的响应结果,并通过所述定时器配置和所述响应结果确定是否将所述数据补充任务加入预设任务队列;按照所述定时器配置定时触发所述预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据。109.上述定时器配置包括处理类型,上述通过所述定时器配置和所述响应结果确定是否将所述数据补充任务加入预设任务队列,包括:判断所述响应结果是否符合预设数据补充条件;若所述响应结果不符合预设数据补充条件,则将对应的数据补充任务加入预设任务队列;若所述响应结果符合预设数据补充条件,则根据所述处理类型确定是否将所述数据补充任务加入预设任务队列。110.上述定时器配置包括事件时刻、触发间隔时长和刷出时长,所述事件时刻用于指示所述原始数据中的目标事件时刻;上述按照所述定时器配置定时触发所述预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据,包括:根据所述事件时刻和所述刷出时长,计算刷出时刻,所述刷出时刻用于指示所述数据补充任务从所述预设任务队列中的强制刷出时刻;根据所述事件时刻和所述触发间隔时长,计算在所述强制刷出时刻内的多个触发时刻,并在每个触发时刻触发所述预设任务队列中对应的数据补充任务,得到每个数据补充任务对应的补充数据。111.上述输出关联结合后的数据,包括:根据所述响应结果和所述定时器配置中的处理类型,对关联结合后的数据进行分流并输出。112.上述算子的配置包括数据源配置和补充数据配置,上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过所述补充数据配置生成每条流入的原始数据对应的数据查询语句,并通过所述数据查询语句向所述数据源配置对应的第二数据源实时异步发送数据获取请求,得到每条流入的原始数据对应的补充数据。113.上述补充数据配置包括动态渲染参数和查询语句模板,上述通过所述补充数据配置生成每条流入的原始数据对应的数据查询语句,包括:通过所述动态渲染参数从每条流入的原始数据中获取动态渲染参数值,并将所述动态渲染参数值代入所述查询语句模板,得到每条流入的原始数据对应的数据查询语句。114.上述数据源配置包括最大连接数和最小连接数,在响应于第一数据源中原始数据的流入之前,还包括:按照所述最大连接数和所述最小连接数创建数据库连接池;上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过预先配置的算子实时异步从所述数据库连接池获取与第二数据源的连接,得到补充数据。115.上述算子的配置包括缓存配置,在响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据之后,将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据之前,包括:根据所述缓存配置,将所述补充数据存储至缓存中;上述响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据,包括:响应于第一数据源中原始数据的流入,通过预先配置的算子从缓存中获取所述原始数据对应的补充数据,得到缓存获取结果,所述缓存获取结果用于指示所述缓存中是否存在所述原始数据对应的补充数据;若所述缓存中存在所述原始数据对应的补充数据,则确定所述缓存中所述原始数据对应的补充数据为第二数据源的补充数据;若所述缓存中不存在所述原始数据对应的补充数据,则通过预先配置的算子实时异步向第二数据源获取补充数据。116.上述将所述补充数据存储至缓存中,包括:通过预置的标识符生成策略,生成所述补充数据对应的标识符,并将所述标识符和所述补充数据关联存储至缓存中;上述通过预先配置的算子从缓存中获取所述原始数据对应的补充数据,得到缓存获取结果,包括:通过所述标识符生成策略,生成所述原始数据对应的标识符;通过所述原始数据对应的标识符在所述缓存中查询所述原始数据对应的补充数据,得到缓存获取结果。117.上述标识符生成策略用于对所述原始数据中的动态渲染参数值进行拼接,所述动态渲染参数值按照所述算子的配置从所述原始数据中获取。118.上述输出关联结合后的数据,包括:将关联结合后的数据输出至所述算子对应的目标算子或目标数据库。119.上述数据流的处理电子设备,响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。该方式中,当第一数据源中的原始数据流入时,实时通过配置好的算子异步地向第二数据源获取补充数据,使得包含不同配置的算子可以即插即用地在数据流的任意位置插入并使用,使得数据流框架的能够通过一次搭建,处处使用,并且,通过灵活的配置满足不同业务场景的补充数据获取,从而提高流计算的可操作性和灵活性。120.本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述数据流的处理方法,例如:121.响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。122.上述算子的配置包括异步线程数,上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过预先配置的算子创建所述异步线程数的数据补充任务,并通过所述异步线程数的数据补充任务实时异步并行向第二数据源发送数据获取请求;接收所述数据获取请求返回的响应结果,得到补充数据。123.上述算子的配置包括定时器配置,上述接收所述数据获取请求返回的响应结果,得到补充数据,包括:接收所述数据获取请求返回的响应结果,并通过所述定时器配置和所述响应结果确定是否将所述数据补充任务加入预设任务队列;按照所述定时器配置定时触发所述预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据。124.上述定时器配置包括处理类型,上述通过所述定时器配置和所述响应结果确定是否将所述数据补充任务加入预设任务队列,包括:判断所述响应结果是否符合预设数据补充条件;若所述响应结果不符合预设数据补充条件,则将对应的数据补充任务加入预设任务队列;若所述响应结果符合预设数据补充条件,则根据所述处理类型确定是否将所述数据补充任务加入预设任务队列。125.上述定时器配置包括事件时刻、触发间隔时长和刷出时长,所述事件时刻用于指示所述原始数据中的目标事件时刻;上述按照所述定时器配置定时触发所述预设任务队列中的数据补充任务,得到每个数据补充任务对应的补充数据,包括:根据所述事件时刻和所述刷出时长,计算刷出时刻,所述刷出时刻用于指示所述数据补充任务从所述预设任务队列中的强制刷出时刻;根据所述事件时刻和所述触发间隔时长,计算在所述强制刷出时刻内的多个触发时刻,并在每个触发时刻触发所述预设任务队列中对应的数据补充任务,得到每个数据补充任务对应的补充数据。126.上述输出关联结合后的数据,包括:根据所述响应结果和所述定时器配置中的处理类型,对关联结合后的数据进行分流并输出。127.上述算子的配置包括数据源配置和补充数据配置,上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过所述补充数据配置生成每条流入的原始数据对应的数据查询语句,并通过所述数据查询语句向所述数据源配置对应的第二数据源实时异步发送数据获取请求,得到每条流入的原始数据对应的补充数据。128.上述补充数据配置包括动态渲染参数和查询语句模板,上述通过所述补充数据配置生成每条流入的原始数据对应的数据查询语句,包括:通过所述动态渲染参数从每条流入的原始数据中获取动态渲染参数值,并将所述动态渲染参数值代入所述查询语句模板,得到每条流入的原始数据对应的数据查询语句。129.上述数据源配置包括最大连接数和最小连接数,在响应于第一数据源中原始数据的流入之前,还包括:按照所述最大连接数和所述最小连接数创建数据库连接池;上述通过预先配置的算子实时异步向第二数据源获取补充数据,包括:通过预先配置的算子实时异步从所述数据库连接池获取与第二数据源的连接,得到补充数据。130.上述算子的配置包括缓存配置,在响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据之后,将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据之前,包括:根据所述缓存配置,将所述补充数据存储至缓存中;上述响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据,包括:响应于第一数据源中原始数据的流入,通过预先配置的算子从缓存中获取所述原始数据对应的补充数据,得到缓存获取结果,所述缓存获取结果用于指示所述缓存中是否存在所述原始数据对应的补充数据;若所述缓存中存在所述原始数据对应的补充数据,则确定所述缓存中所述原始数据对应的补充数据为第二数据源的补充数据;若所述缓存中不存在所述原始数据对应的补充数据,则通过预先配置的算子实时异步向第二数据源获取补充数据。131.上述将所述补充数据存储至缓存中,包括:通过预置的标识符生成策略,生成所述补充数据对应的标识符,并将所述标识符和所述补充数据关联存储至缓存中;上述通过预先配置的算子从缓存中获取所述原始数据对应的补充数据,得到缓存获取结果,包括:通过所述标识符生成策略,生成所述原始数据对应的标识符;通过所述原始数据对应的标识符在所述缓存中查询所述原始数据对应的补充数据,得到缓存获取结果。132.上述标识符生成策略用于对所述原始数据中的动态渲染参数值进行拼接,所述动态渲染参数值按照所述算子的配置从所述原始数据中获取。133.上述输出关联结合后的数据,包括:将关联结合后的数据输出至所述算子对应的目标算子或目标数据库。134.上述数据流的处理存储介质,响应于第一数据源中原始数据的流入,通过预先配置的算子实时异步向第二数据源获取补充数据;将所述补充数据与所述原始数据进行关联结合,并输出关联结合后的数据。该方式中,当第一数据源中的原始数据流入时,实时通过配置好的算子异步地向第二数据源获取补充数据,使得包含不同配置的算子可以即插即用地在数据流的任意位置插入并使用,使得数据流框架的能够通过一次搭建,处处使用,并且,通过灵活的配置满足不同业务场景的补充数据获取,从而提高流计算的可操作性和灵活性。135.本发明实施例所提供的数据流的处理方法、装置、电子设备及存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。136.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。137.另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。138.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。139.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。140.最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献