CN114610765A - 流计算方法、装置、设备及存储介质 - Google Patents
流计算方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114610765A CN114610765A CN202210246478.7A CN202210246478A CN114610765A CN 114610765 A CN114610765 A CN 114610765A CN 202210246478 A CN202210246478 A CN 202210246478A CN 114610765 A CN114610765 A CN 114610765A
- Authority
- CN
- China
- Prior art keywords
- data
- computing
- stream
- calculation
- window
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 235
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000009826 distribution Methods 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 26
- 238000011144 upstream manufacturing Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24565—Triggers; Constraints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及大数据领域,公开了一种流计算方法、装置、设备及存储介质。所述方法包括:从消息中间件获取数据源;基于计算需求信息生成流计算作业并提交至计算集群;调用计算集群,并基于流计算作业中的数据需求信息,从数据源中获取流计算作业对应的流数据资源;调用窗口分配器将流数据资源封装于至少一个数据窗口中;为每个数据窗口注册定时触发器和计数触发器,并对其进行监听,当任意一个数据窗口的一个触发器被激活时,则清除另一未激活的触发器,并调用窗口函数对每个数据窗口进行计算,得到流计算结果。本发明将定时与计数结合的计算触发方式以进行流计算,从而避免计算延迟或单次计算量过大的问题以提高系统稳定性。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种流计算方法、装置、设备及存储介质。
背景技术
在传统的数据处理流程中,总是先收集数据,然后将数据放到数据库中。当人们需要得到答案或进行相关的处理时,可以通过数据库对数据做查询操作。这样看起来虽然非常合理,但是结果却非常的紧凑,尤其是在面对一些实时搜索应用环境中的某些具体问题时,并不能很好地解决问题。这就引出了一种新的数据计算结构——流计算方式。在流计算过程中,为提高数据处理的准确性,需要使每条输入消息只影响最终结果一次,即使出现机器故障或软件崩溃,也要保证不会有数据被重复处理。而Apache Flink是一个典型的流式计算框架,提供了强大的流式计算能力。
现有的流计算方法由于计算负载或计算延迟从而影响系统的稳定性,当定时计算时易导致单次计算的数据量较大,从而导致计算服务器奔溃,而当计数计算时易导致计算延迟,导致响应较慢。
发明内容
本发明的主要目的在于解决现有流计算方法准确性低的问题。
本发明第一方面提供了一种流计算方法,包括:
从预设的消息中间件获取业务数据,得到用于流计算的数据源;
基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业;
调用所述Flink计算集群,并基于所述流计算作业中的数据需求信息,从所述数据源中获取所述流计算作业所需要的流数据资源;
调用Flink中的窗口分配器,并基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中;
为每个所述数据窗口注册用于触发窗口计算的计算触发器,其中,所述计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
对每个所述数据窗口的定时触发器和计数触发器进行监听,当任意一个所述数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个所述数据窗口中的数据进行计算,得到所述流计算作业对应的流计算结果。
可选的,在本发明第一方面的第一种实现方式中,所述计算需求信息中包括多个计算逻辑信息,所述基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业包括:
解析所述多个计算逻辑信息以生成有向无环图,其中,所述有向无环图具有多个节点和连接所述节点的有向边,所述节点用于指示计算逻辑中的数据操作,所述有向边用于指示计算逻辑中的数据流向;
根据所述有向无环图生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业。
可选的,在本发明第一方面的第二种实现方式中,所述基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中包括:
基于预设的分流指标,对所述流计算作业所需要的流数据资源进行分流,得到多个数据分流;
调用Flink中的窗口分配器,将所述多个数据分流封装至多个数据窗口中,其中,每个数据分流与每个数据窗口存在一一对应的封装关系。
可选的,在本发明第一方面的第三种实现方式中,所述预设的窗口函数包括增量计算函数或全量计算函数。
可选的,在本发明第一方面的第四种实现方式中,所述方法还包括:
接收所述Flink集群中的多个计算节点发送的节点信息,并根据所接收的节点信息,将本地保存的所述流计算作业的作业配置信息中的初始值同步至所述多个计算节点中,其中,所述作业配置信息包括输出阈值和存储设备信息;
调用所述Flink集群中的多个计算节点,并根据所述输出阈值,将所述流计算作业对应的流计算结果输出至目标存储设备,其中,所述目标存储设备与所述存储设备信息对应;
根据不同的应用场景,对所述目标存储设备中存储的流计算结果进行数据分发。
可选的,在本发明第一方面的第五种实现方式中,所述根据不同的应用场景,对所述目标存储设备中存储的流计算结果进行数据分发包括:
将计算结果数据与原生数据进行数据量比较,其中,所述计算结果数据为所述流计算作业对应的流计算结果中所包含的数据,所述原生数据为所述流计算作业所需要的流数据资源中所包含的数据;
当所述计算结果数据的数据量与所述原生数据的数据量相比无数量级上的变化时,则将所述计算结果数据存储至HBase中以提供数据查询服务;
当所述计算结果数据在数据量上大于所述原生数据且两者之间的差值大于预设第一阈值时,则将所述计算结果数据存储至Hapoop中的HDFS中,并基于Hapoop的离线计算服务,将HDFS中所述计算结果数据与其他非埋点数据进行关联以提供实时数据服务;
当所述计算结果数据在数据量上小于所述原生数据且两者之间的差值小于预设第二阈值时,则将所述计算结果数据写入关系型数据库中以提供数据服务;
当所述计算结果数据在数据量上小于所述原生数据且两者之间的差值大于预设第二阈值时,则将所述计算结果数据保存至缓存数据库中以提供数据服务。
可选的,在本发明第一方面的第六种实现方式中,所述方法还包括:
接收终端发送的计算节点调度请求,并根据所述计算节点调度请求,确定所述Flink集群中的目标计算节点,以及获取所述目标计算节点对应的初始局部作业图,其中,所述初始局部作业图用于表示与所述目标计算节点相关的局部作业流程;
基于所述计算节点调度请求中的调度信息,更新所述初始局部作业图,得到目标局部作业图,其中,所述调度信息包括计算节点的增加或删除,或局部作业流程的变更;
根据所述目标局部作业图生成控制信息,并基于所述控制信息,修改所述目标局部作业图中所涉及计算节点的上游计算节点或下游计算节点的节点信息。
本发明第二方面提供了一种流计算装置,包括:
数据源获取模块,用于从预设的消息中间件获取业务数据,得到用于流计算的数据源;
作业提交模块,用于基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业;
流数据获取模块,用于调用所述Flink计算集群,并基于所述流计算作业中的数据需求信息,从所述数据源中获取所述流计算作业所需要的流数据资源;
窗口分配模块,用于调用Flink中的窗口分配器,并基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中;
触发器注册模块,用于为每个所述数据窗口注册用于触发窗口计算的计算触发器,其中,所述计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
计算触发模块,用于对每个所述数据窗口的定时触发器和计数触发器进行监听,当任意一个所述数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个所述数据窗口中的数据进行计算,得到所述流计算作业对应的流计算结果。
可选的,在本发明第二方面的第一种实现方式中,所述作业提交模块具体包括:
无环图构建单元,用于解析所述多个计算逻辑信息以生成有向无环图,其中,所述有向无环图具有多个节点和连接所述节点的有向边,所述节点用于指示计算逻辑中的数据操作,所述有向边用于指示计算逻辑中的数据流向;
作业生成和提交单元,用于根据所述有向无环图生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业。
可选的,在本发明第二方面的第二种实现方式中,所述窗口分配模块具体包括:
分流单元,用于基于预设的分流指标,对所述流计算作业所需要的流数据资源进行分流,得到多个数据分流;
分配单元,用于调用Flink中的窗口分配器,将所述多个数据分流封装至多个数据窗口中,其中,每个数据分流与每个数据窗口存在一一对应的封装关系。
可选的,在本发明第二方面的第三种实现方式中,所述流计算装置还包括用于对流计算结果进行数据分发的计算分发模块,所述计算分发模块具体包括:
信息同步单元,用于接收所述Flink集群中的多个计算节点发送的节点信息,并根据所接收的节点信息,将本地保存的所述流计算作业的作业配置信息中的初始值同步至所述多个计算节点中,其中,所述作业配置信息包括输出阈值和存储设备信息;
持久化存储单元,用于调用所述Flink集群中的多个计算节点,并根据所述输出阈值,将所述流计算作业对应的流计算结果输出至目标存储设备,其中,所述目标存储设备与所述存储设备信息对应;
场景分发单元,用于根据不同的应用场景,对所述目标存储设备中存储的流计算结果进行数据分发。
可选的,在本发明第二方面的第四种实现方式中,所述场景分发单元具体用于:
将计算结果数据与原生数据进行数据量比较,其中,所述计算结果数据为所述流计算作业对应的流计算结果中所包含的数据,所述原生数据为所述流计算作业所需要的流数据资源中所包含的数据;
当所述计算结果数据的数据量与所述原生数据的数据量相比无数量级上的变化时,则将所述计算结果数据存储至HBase中以提供数据查询服务;
当所述计算结果数据在数据量上大于所述原生数据且两者之间的差值大于预设第一阈值时,则将所述计算结果数据存储至Hapoop中的HDFS中,并基于Hapoop的离线计算服务,将HDFS中所述计算结果数据与其他非埋点数据进行关联以提供实时数据服务;
当所述计算结果数据在数据量上小于所述原生数据且两者之间的差值小于预设第二阈值时,则将所述计算结果数据写入关系型数据库中以提供数据服务;
当所述计算结果数据在数据量上小于所述原生数据且两者之间的差值大于预设第二阈值时,则将所述计算结果数据保存至缓存数据库中以提供数据服务。
可选的,在本发明第二方面的第五种实现方式中,所述流计算装置还包括用于处理计算节点调度请求的计算调度模块,所述计算调度模块具体包括:
初始作业图确定单元,用于接收终端发送的计算节点调度请求,并根据所述计算节点调度请求,确定所述Flink集群中的目标计算节点,以及获取所述目标计算节点对应的初始局部作业图,其中,所述初始局部作业图用于表示与所述目标计算节点相关的局部作业流程;
目标作业图确定单元,用于基于所述计算节点调度请求中的调度信息,更新所述初始局部作业图,得到目标局部作业图,其中,所述调度信息包括计算节点的增加或删除,或局部作业流程的变更;
节点信息更新单元,用于根据所述目标局部作业图生成控制信息,并基于所述控制信息,修改所述目标局部作业图中所涉及计算节点的上游计算节点或下游计算节点的节点信息。
本发明第三方面提供了一种流计算设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述流计算设备执行上述的流计算方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的流计算方法。
本发明提供的技术方案中,通过将流计算所需的流数据资源封装于至少一个数据窗口中,以数据窗口为计算单元对数据进行计算,从而将无界的数据划分至范围空间有限的窗口进行计算。同时为每个数据窗口同时注册定时触发器和计数触发器,并对其进行监听,当其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,从而触发窗口函数对数据窗口中的数据进行计算,得到相应的流计算结果,解决了业务数据长久得不到计算或单次计算量过大的问题,进而提高了业务系统的稳定性。
附图说明
图1为本发明实施例中流计算方法的第一个实施例示意图;
图2为本发明实施例中流计算方法的第二个实施例示意图;
图3为本发明实施例中流计算方法的第三个实施例示意图;
图4为本发明实施例中流计算方法的第四个实施例示意图;
图5为本发明实施例中流计算装置的一个实施例示意图;
图6为本发明实施例中流计算装置的另一个实施例示意图;
图7为本发明实施例中流计算设备的一个实施例示意图。
具体实施方式
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中流计算方法的一个实施例包括:
101、从预设的消息中间件获取业务数据,得到用于流计算的数据源;
可以理解的是,消息中间件如RocketMQ、RabbitMQ、ActiveMQ以及Kafka,其通过提供消息传递和消息排队模型,从而在分布式环境下扩展进程间的通信,本实施例对所用的消息中间件不做限定。而流计算即一种持续计算,其针对不断变化的大规模流动数据进行分析计算,从而捕捉到可能有用的信息,并把计算结果发送到下一个计算节点。其中,业务数据的获取方式为实时化获取,通过将消息中间件中长时间积累的大量数据平摊至每个时间点上,从而不停地以小批量数据实时获取,进而让数据集成的时延得以保证。
102、基于预设的计算需求信息,生成流计算作业,并将流计算作业提交至Flink计算集群以执行流计算作业;
可以理解的是,流计算作业是用于对不同的计算任务进行区分,其作业内容具体包括待计算的数据对象信息、计算逻辑信息,可选的,作业内容还可包括作业提交时间等信息。本实施例中对流计算作业的数据形式不做限定,例如嵌套结构数据、图元结构等。Flink计算集群是由运行Flink分布式系统的多台服务器组成,在每台服务器上均会部署相应的计算节点,而流计算作业则被提交至指定的计算节点中进行处理以进行流计算。
103、调用Flink计算集群,并基于流计算作业中的数据需求信息,从数据源中获取流计算作业所需要的流数据资源;
可以理解的是,流计算作业是一种常驻计算服务,若将其提交至计算集群则一直处于等待状态,即一旦有小批量数据进入数据源则立即进行处理。同时,在流计算作业的执行期间,其作业逻辑中途不可更改。用户仅能通过停止当前执行的流计算作业,修改作业逻辑并再次提交作业方可实现修改,对于此前已经计算完成的数据是无法重新再次计算。
流计算作业中的数据需求信息用于指示流计算所面向的流数据资源,该流数据资源为无界数据流,即仅指定了数据的起点,而未指定数据的终点,即该流数据资源的数据量是随时间持续增长的。
104、调用Flink中的窗口分配器,并基于预设的数据分布策略,将流计算作业所需要的流数据资源封装于至少一个数据窗口中;
可以理解的是,Flink分布式系统中提供了窗口算子(Window)以处理无界数据流,服务器可以对该流计算所需的流数据资源设定一个数据分布,从而将其封装至同一数据窗口中;当然服务器也可以根据预设的分组指标以keyBy算子对待计算的流数据资源进行分流,从而将流数据资源(即DataStream)划分为多个分流(即KeyedStream),然后通过调用窗口算子中的窗口分配器(WindowAssigner)为每个分流划分一个数据窗口(即WindowedStream),以窗口为最小计算单元对窗口内的数据进行计算处理,从而让下游算子的多个实例可以并行计算,进而提高计算效率。
105、为每个数据窗口注册用于触发窗口计算的计算触发器,其中,计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
可以理解的是,窗口算子(Window)中还包括计算触发器(Trigger),Trigger决定了何时启动窗口函数来处理窗口中的数据以及何时将窗口内的数据清理。在本实施例中,服务器同时为每个数据窗口注册了基于处理时间(Processing Time)的计算触发器和基于数据量(Count)的计算触发器,其中基于处理时间的计算触发器在到达窗口的结束时间时触发对应的计算,基于数据量的计算触发器在窗口内的数据分流的数据量达到预设阈值时触发对应的计算,而在将两者同时注册后,若窗口内数据分流的数据量达到预设阈值时,即便未达到窗口的结束时间,也会触发数据窗口内相应的数据计算,类似的,若未达到窗口的结束时间,即便窗口内数据分流的数据量未达到预设阈值,同样会出触发数据窗口内相应的数据计算。
106、对每个数据窗口的定时触发器和计数触发器进行监听,当任意一个数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个数据窗口中的数据进行计算,得到流计算作业对应的流计算结果。
可以理解的是,服务器通过集群资源管理器中以实现计算资源的监管,具体的,服务器以后台常驻监听进程以对每个数据窗口的计算触发器进行监听,当应用服务处于活跃高峰时,从消息中间件中则获取到当前时间节点下的大量业务数据,此时每个数据窗口中的数据量立即达到所注册的计数触发器中设定的阈值,计数触发器被激活,而定时触发器未激活,服务器则将定时触发器移除,从而避免重复触发数据窗口的计算,然后调用预设的窗口函数对每个数据窗口中的数据进行计算,最后由每个数据窗口的计算结果组成了该流计算作业对应的流计算结果。
而在应用服务处于活跃低谷期时,仅能从消息中间件中则获取到当前时间节点下的少量业务数据,即每个数据窗口中数据量增长缓慢,当时间点到达窗口的结束时间时,定时触发器被激活,而此时窗口中的数据量仍然未达到预设阈值,服务器则将计数触发器移除以避免重复触发数据窗口的计算,然后调用预设的窗口函数对每个数据窗口中的数据进行计算,最后由每个数据窗口的计算结果组成了该流计算作业对应的流计算结果。
其中,窗口函数主要分为两种,一种是增量计算函数,如reduce和aggregate,另一种是全量计算函数,如process。增量计算函数通过对数据窗口保存一份中间数据,每流入一个新元素时,新元素则与中间数据两两合一,从而生成新的中间数据,然后再保存到数据窗口中。而全量计算函数通过先对数据窗口缓存所有元素,等到触发条件后对窗口内的全量元素执行计算。
本实施例中,通过将定时与计数结合的计算触发方式以进行流计算,从而避免计算延迟或单次计算量过大的问题以提高系统稳定性。
参阅图2,本发明实施例中流计算方法的第二个实施例包括:
201、从预设的消息中间件获取业务数据,得到用于流计算的数据源;
其中,步骤201与上述步骤101的执行步骤类似,具体此处不再赘述。
202、解析预设的计算需求信息中所包含多个计算逻辑信息以生成有向无环图,其中,有向无环图具有多个节点和连接节点的有向边,节点用于指示计算逻辑中的数据操作,有向边用于指示计算逻辑中的数据流向;
可以理解的是,计算逻辑信息是计算逻辑的信息载体,计算逻辑是指具体的数据操作,以及对应数据操作的执行顺序,计算需求信息中包括的多个计算逻辑信息通过有向无环图的形式进行数据表达,而有向无环图中也加载了具体的数据操作以及数据操作对应的执行顺序。有向无环图可采用邻接矩阵表示法以一个二维数组的形式保存在含有计算逻辑信息的文本或其他的存在形式中,二维数组与邻接矩阵相对应,本实施例对具体的保存形式不做限定。
203、根据有向无环图生成流计算作业,并将流计算作业提交至Flink计算集群以执行流计算作业;
应当理解的是,服务器根据有向无环图生成流计算作业以用于分布式实时计算,流计算作业即一种带有图组织结构的文件,最后服务器将该作业文件提交至Flink计算集群中以执行该计算作业。
204、调用Flink计算集群,并基于流计算作业中的数据需求信息,从数据源中获取流计算作业所需要的流数据资源;
205、调用Flink中的窗口分配器,并基于预设的数据分布策略,将流计算作业所需要的流数据资源封装于至少一个数据窗口中;
206、为每个数据窗口注册用于触发窗口计算的计算触发器,其中,计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
207、对每个数据窗口的定时触发器和计数触发器进行监听,当任意一个数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个数据窗口中的数据进行计算,得到流计算作业对应的流计算结果。
其中,步骤204-207与上述步骤103-106的执行步骤类似,具体此处不再赘述。
本实施例中,详细描述了生成流计算作业的过程,通过构建有向无环图的数据形式来生成流计算作业,层次结构清晰,准确表达计算逻辑和数据流向,提高了计算任务的分析效率。
参阅图3,本发明实施例中流计算方法的第三个实施例包括:
301、从预设的消息中间件获取业务数据,得到用于流计算的数据源;
302、基于预设的计算需求信息,生成流计算作业,并将流计算作业提交至Flink计算集群以执行流计算作业;
303、调用Flink计算集群,并基于流计算作业中的数据需求信息,从数据源中获取流计算作业所需要的流数据资源;
304、调用Flink中的窗口分配器,并基于预设的数据分布策略,将流计算作业所需要的流数据资源封装于至少一个数据窗口中;
305、为每个数据窗口注册用于触发窗口计算的计算触发器,其中,计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
306、对每个数据窗口的定时触发器和计数触发器进行监听,当任意一个数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个数据窗口中的数据进行计算,得到流计算作业对应的流计算结果;
其中,步骤301-306与上述步骤101-106的执行步骤类似,具体此处不再赘述。
307、接收Flink集群中的多个计算节点发送的节点信息,并根据所接收的节点信息,将本地保存的流计算作业的作业配置信息中的初始值同步至多个计算节点中,其中,作业配置信息包括输出阈值和存储设备信息;
可以理解的是,该节点信息包括但不局限于计算节点的IP地址,作业配置信息还可以包括数据源信息等,数据源信息例如数据源标识、IP地址等。
本实施例中,服务器在接收到作业配置信息之后,还对其进行数据初始化,例如将作业配置信息中的输出阈值初始化为阈值A,即输出阈值对应初始值即为A,其中,阈值A的取值范围为(0,1]。
在本实施例中,服务器在向Flink集群中的多个计算节点进行信息同步时,可采用以下同步方式中的至少一项:长轮询、长连接、基于消息队列进行数据同步、基于存储中间件进行数据同步等,本实施例对其不做限定。
具体的,在采用长轮询同步方式时,Flink集群中的多个计算节点可以向服务器发送请求(例如作业配置信息获取请求),服务器接收到该请求后保持住连接,直至有新消息(例如作业配置信息的初始值,或者修改后的输出阈值)才返回响应信息并关闭连接,当计算节点处理完响应信息之后再向发布服务端发送新的请求,从而实现数据同步。
而在采用长连接同步方式时,Flink集群中的多个计算节点与服务器之间创建和保持稳定可靠的连接,服务器可以主动的向这些计算节点推送数据(例如作业配置信息的初始值,或者修改后的输出阈值)。
在采用消息队列进行数据同步时,以Flink集群中多个计算节点作为消费者订阅该消息队列中的数据。服务器可以将待同步的数据(例如作业配置信息的初始值,或者修改后的输出阈值)写入该消息队列,从而通过该消息队列将该数据传递给Flink集群中的多个计算节点。
在采用存储中间件进行数据同步时,服务器可以将待同步的数据写入该存储中间件以通知Flink集群中的多个计算节点下载该数据,或者使该存储中间件将待同步的数据发送至Flink集群中的多个计算节点。其中,该存储中间件例如可以包括MySQL或ZooKeeper等,本实施例对其不做具体限定。
308、调用Flink集群中的多个计算节点,并根据输出阈值,将流计算作业对应的流计算结果输出至目标存储设备,其中,目标存储设备与存储设备信息对应;
可以理解的是,输出阈值具体用于控制流计算作业的计算结果输出至存储设备的数据比例,该输出去阈值可根据业务数据的计算需求进行调整。存储设备信息例如可以为存储设备的设备标识、IP地址等,本实施例对其不做限定。服务器根据该输出阈值从而将流计算结果持久化存储至目标存储设备中,以减少不必要的存储空间的浪费。
309、根据不同的应用场景,对目标存储设备中存储的流计算结果进行数据分发。
应当理解的是,服务器基于存储设备中的计算结果数据与原生数据之间在数据量上的差异,从而将计算结果数据分发至相应特性的数据库以支持不同的数据应用服务场景,其中,计算结果数据为流计算作业对应的流计算结果中所包含的数据,原生数据为流计算作业所需要的流数据资源中所包含的数据。
在一实施例中,服务器将计算结果数据与原生数据进行数据量比较。
当计算结果数据的数据量与原生数据的数据量相比无数量级上的变化时,则将计算结果数据存储至HBase中以提供数据查询服务。HBase作为一种基于Hadoop平台、Google的BigTable开源实现的分布式数据库,具有高可靠性、高性能、面向列、可伸缩的特性,支持原生海量数据分布式存储、支持随机及范围查询、支持高吞吐及低时延等特性。
当计算结果数据在数据量上大于所述原生数据且两者之间的差值大于预设第一阈值时,即表示计算结果数据在数据量上远远大于原生数据时,则将计算结果数据存储至Hapoop中的HDFS中,并基于Hapoop的离线计算服务,将HDFS中计算结果数据与其他非埋点数据进行关联以提供实时数据服务。其中,第一阈值可以设定为原生数据的数据量或更多,本实施例对其不做限定。当计算结果数据在数据量上小于原生数据,且两者之间的差值小于预设第二阈值时,则将计算结果数据写入关系型数据库中以提供数据服务,第二阈值可以设定为与第一阈值相同的数值或其它数值,本实施例对其不做限定,即当计算结果数据在数据量上明显小于原生数据时,服务器则将计算结果数据写入关系型数据库中以提供数据服务,关系型数据库如MySQL、SQL Sever等,本实施例对其不做限定。
当计算结果数据在数据量上小于原生数据,且两者之间的差值大于预设第二阈值时,则将计算结果数据保存至缓存数据库中以提供数据服务。当计算结果数据在数据量上显著小于原生数据时,服务器则将计算结果数据保存至缓存数据库中以提供数据的频繁访问。
需要说明的是,第二阈值即用于区分上述的“明显”和“显著”概念。
本实施例中,详细描述了对流计算结果数据进一步处理的过程,通过输出阈值和存储设备信息,从而对流计算结果数据进行持久化存储,提升了存储空间的利用率,进而根据不同场景进行数据分发,提高了数据的使用效率。
参阅图4,本发明实施例中流计算方法的第四个实施例包括:
401、从预设的消息中间件获取业务数据,得到用于流计算的数据源;
402、基于预设的计算需求信息,生成流计算作业,并将流计算作业提交至Flink计算集群以执行流计算作业;
403、调用Flink计算集群,并基于流计算作业中的数据需求信息,从数据源中获取流计算作业所需要的流数据资源;
404、调用Flink中的窗口分配器,并基于预设的数据分布策略,将流计算作业所需要的流数据资源封装于至少一个数据窗口中;
405、为每个数据窗口注册用于触发窗口计算的计算触发器,其中,计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
406、对每个数据窗口的定时触发器和计数触发器进行监听,当任意一个数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个数据窗口中的数据进行计算,得到流计算作业对应的流计算结果;
其中,步骤401-406与上述步骤101-106的执行步骤类似,具体此处不再赘述。
407、接收终端发送的计算节点调度请求,并根据计算节点调度请求,确定Flink集群中的目标计算节点,以及获取目标计算节点对应的初始局部作业图,其中,初始局部作业图用于表示与目标计算节点相关的局部作业流程;
可以理解的是,目标计算节点即Flink计算集群中需要调度的计算节点,目标计算节点相关的局部作业流程可以是目标计算节点以及与目标计算节点直接关联的其他计算节点在参与的部分作业流程,所述直接关联可以是指有数据的直接往来,例如数据的传输或数据的接收。可选的,局部作业图可以为局部作业流程在整个作业流程中所占部分在表示整个作业流程的有向无环图中的对应部分,利用有向无环图表示的局部作业图,其中的图节点与局部作业流程所涉及或关联的计算节点逐一对应,图节点与图节点之间的有向连接可以指示这些计算节点参与作业流程的先后顺序。
408、基于计算节点调度请求中的调度信息,更新初始局部作业图,得到目标局部作业图,其中,调度信息包括计算节点的增加或删除,或局部作业流程的变更;
调度信息可以包括计算节点的增加或删除,或局部作业流程的变更,即计算节点的增加或删除,可以是为目标计算节点增加或删除并行的计算节点,以使其参与目标计算节点参与的数据流程,或将其移除原先与目标计算节点共同参与的数据流程。而局部作业流程的变更,可以是在增加计算节点后,确定新的计算节点与其他计算节点之间的数据流向,或在删除计算节点之后,移除这个计算节点与其他计算节点之间的数据流向。调度信息在初始局部作业图中的体现,则是增减图节点,以及增减图节点之间的有向连接。
409、根据目标局部作业图生成控制信息,并基于控制信息,修改目标局部作业图中所涉及计算节点的上游计算节点或下游计算节点的节点信息。
可以理解的是,更新后的初始局部作业图(即目标局部作业图)可以清楚地指示增加或删除的图节点,以及与其相关的有向连接,服务器则基于目标局部作业图相较于更新前的初始局部作业图中的变更信息生成控制信息,例如目标局部作业图是由于增加了目标计算节点的并行计算节点而得到,则控制信息可以包含有指示目标计算节点的上/下游计算节点,建立与该并行计算节点之间的通信连接和数据传输,例如新增的通信连接可以包括:由目标计算节点的上游计算点传输至该并行计算节点的数据通信,以及由该并行计算节点传输至目标计算节点的上游计算点的数据通信。
本实施例中,详细描述了计算调度请求的处理过程,通过确定请求所对应的计算节点和该计算节点所对应的局部作业,然后基于调度信息更新该局部作业,最后通过更新后的局部作业以对相关节点信息进行更新,提高了调度请求的处理效率。
上面对本发明实施例中流计算方法进行了描述,下面对本发明实施例中流计算装置进行描述,请参阅图5,本发明实施例中流计算装置的一个实施例包括:
数据源获取模块501,用于从预设的消息中间件获取业务数据,得到用于流计算的数据源;
作业提交模块502,用于基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业;
流数据获取模块503,用于调用所述Flink计算集群,并基于所述流计算作业中的数据需求信息,从所述数据源中获取所述流计算作业所需要的流数据资源;
窗口分配模块504,用于调用Flink中的窗口分配器,并基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中;
触发器注册模块505,用于为每个所述数据窗口注册用于触发窗口计算的计算触发器,其中,所述计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
计算触发模块506,用于对每个所述数据窗口的定时触发器和计数触发器进行监听,当任意一个所述数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个所述数据窗口中的数据进行计算,得到所述流计算作业对应的流计算结果。
本实施例中,通过将定时与计数结合的计算触发方式以进行流计算,从而避免计算延迟或单次计算量过大的问题以提高系统稳定性。
参阅图6,本发明实施例中流计算装置的另一个实施例包括:
数据源获取模块501,用于从预设的消息中间件获取业务数据,得到用于流计算的数据源;
作业提交模块502,用于基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业;
流数据获取模块503,用于调用所述Flink计算集群,并基于所述流计算作业中的数据需求信息,从所述数据源中获取所述流计算作业所需要的流数据资源;
窗口分配模块504,用于调用Flink中的窗口分配器,并基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中;
触发器注册模块505,用于为每个所述数据窗口注册用于触发窗口计算的计算触发器,其中,所述计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
计算触发模块506,用于对每个所述数据窗口的定时触发器和计数触发器进行监听,当任意一个所述数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个所述数据窗口中的数据进行计算,得到所述流计算作业对应的流计算结果。
其中,所述作业提交模块502具体包括:
无环图构建单元5021,用于解析所述多个计算逻辑信息以生成有向无环图,其中,所述有向无环图具有多个节点和连接所述节点的有向边,所述节点用于指示计算逻辑中的数据操作,所述有向边用于指示计算逻辑中的数据流向;
作业生成和提交单元5022,用于根据所述有向无环图生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业。
其中,所述窗口分配模块504具体包括:
分流单元5041,用于基于预设的分流指标,对所述流计算作业所需要的流数据资源进行分流,得到多个数据分流;
分配单元5042,用于调用Flink中的窗口分配器,将所述多个数据分流封装至多个数据窗口中,其中,每个数据分流与每个数据窗口存在一一对应的封装关系。
本发明实施例中,模块化的设计让流计算装置各部位的硬件专注于某一功能的实现,最大化实现了硬件的性能,同时模块化的设计也降低了装置的模块之间的耦合性,更加方便维护。
上面图5和图6从模块化功能实体的角度对本发明实施例中的流计算装置进行详细描述,下面从硬件处理的角度对本发明实施例中流计算设备进行详细描述。
图7是本发明实施例提供的一种流计算设备的结构示意图,该流计算设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对流计算设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在流计算设备700上执行存储介质730中的一系列指令操作。
流计算设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图7示出的流计算设备结构并不构成对流计算设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种流计算设备,所述流计算设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述流计算方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述流计算方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种流计算方法,其特征在于,所述流计算方法包括:
从预设的消息中间件获取业务数据,得到用于流计算的数据源;
基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业;
调用所述Flink计算集群,并基于所述流计算作业中的数据需求信息,从所述数据源中获取所述流计算作业所需要的流数据资源;
调用Flink中的窗口分配器,并基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中;
为每个所述数据窗口注册用于触发窗口计算的计算触发器,其中,所述计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
对每个所述数据窗口的定时触发器和计数触发器进行监听,当任意一个所述数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个所述数据窗口中的数据进行计算,得到所述流计算作业对应的流计算结果。
2.根据权利要求1所述的流计算方法,其特征在于,所述计算需求信息中包括多个计算逻辑信息,所述基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业包括:
解析所述多个计算逻辑信息以生成有向无环图,其中,所述有向无环图具有多个节点和连接所述节点的有向边,所述节点用于指示计算逻辑中的数据操作,所述有向边用于指示计算逻辑中的数据流向;
根据所述有向无环图生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业。
3.根据权利要求1所述的流计算方法,其特征在于,所述基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中包括:
基于预设的分流指标,对所述流计算作业所需要的流数据资源进行分流,得到多个数据分流;
调用Flink中的窗口分配器,将所述多个数据分流封装至多个数据窗口中,其中,每个数据分流与每个数据窗口存在一一对应的封装关系。
4.根据权利要求1所述的流计算方法,其特征在于,所述预设的窗口函数包括增量计算函数或全量计算函数。
5.根据权利要求1所述的流计算方法,其特征在于,所述方法还包括:
接收所述Flink集群中的多个计算节点发送的节点信息,并根据所接收的节点信息,将本地保存的所述流计算作业的作业配置信息中的初始值同步至所述多个计算节点中,其中,所述作业配置信息包括输出阈值和存储设备信息;
调用所述Flink集群中的多个计算节点,并根据所述输出阈值,将所述流计算作业对应的流计算结果输出至目标存储设备,其中,所述目标存储设备与所述存储设备信息对应;
根据不同的应用场景,对所述目标存储设备中存储的流计算结果进行数据分发。
6.根据权利要求5所述的流计算方法,其特征在于,所述根据不同的应用场景,对所述目标存储设备中存储的流计算结果进行数据分发包括:
将计算结果数据与原生数据进行数据量比较,其中,所述计算结果数据为所述流计算作业对应的流计算结果中所包含的数据,所述原生数据为所述流计算作业所需要的流数据资源中所包含的数据;
当所述计算结果数据的数据量与所述原生数据的数据量相比无数量级上的变化时,则将所述计算结果数据存储至HBase中以提供数据查询服务;
当所述计算结果数据在数据量上大于所述原生数据且两者之间的差值大于预设第一阈值时,则将所述计算结果数据存储至Hapoop中的HDFS中,并基于Hapoop的离线计算服务,将HDFS中所述计算结果数据与其他非埋点数据进行关联以提供实时数据服务;
当所述计算结果数据在数据量上小于所述原生数据且两者之间的差值小于预设第二阈值时,则将所述计算结果数据写入关系型数据库中以提供数据服务;
当所述计算结果数据在数据量上小于所述原生数据且两者之间的差值大于预设第二阈值时,则将所述计算结果数据保存至缓存数据库中以提供数据服务。
7.根据权利要求1-6中任意一项所述的流计算方法,其特征在于,所述方法还包括:
接收终端发送的计算节点调度请求,并根据所述计算节点调度请求,确定所述Flink集群中的目标计算节点,以及获取所述目标计算节点对应的初始局部作业图,其中,所述初始局部作业图用于表示与所述目标计算节点相关的局部作业流程;
基于所述计算节点调度请求中的调度信息,更新所述初始局部作业图,得到目标局部作业图,其中,所述调度信息包括计算节点的增加或删除,或局部作业流程的变更;
根据所述目标局部作业图生成控制信息,并基于所述控制信息,修改所述目标局部作业图中所涉及计算节点的上游计算节点或下游计算节点的节点信息。
8.一种流计算装置,其特征在于,所述流计算装置包括:
数据源获取模块,用于从预设的消息中间件获取业务数据,得到用于流计算的数据源;
作业提交模块,用于基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业;
流数据获取模块,用于调用所述Flink计算集群,并基于所述流计算作业中的数据需求信息,从所述数据源中获取所述流计算作业所需要的流数据资源;
窗口分配模块,用于调用Flink中的窗口分配器,并基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中;
触发器注册模块,用于为每个所述数据窗口注册用于触发窗口计算的计算触发器,其中,所述计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
计算触发模块,用于对每个所述数据窗口的定时触发器和计数触发器进行监听,当任意一个所述数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个所述数据窗口中的数据进行计算,得到所述流计算作业对应的流计算结果。
9.一种流计算设备,其特征在于,所述流计算设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述流计算设备执行如权利要求1-7中任意一项所述的流计算方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述的流计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210246478.7A CN114610765B (zh) | 2022-03-14 | 2022-03-14 | 流计算方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210246478.7A CN114610765B (zh) | 2022-03-14 | 2022-03-14 | 流计算方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114610765A true CN114610765A (zh) | 2022-06-10 |
CN114610765B CN114610765B (zh) | 2024-05-03 |
Family
ID=81863646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210246478.7A Active CN114610765B (zh) | 2022-03-14 | 2022-03-14 | 流计算方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610765B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202851A (zh) * | 2022-09-13 | 2022-10-18 | 创新奇智(浙江)科技有限公司 | 数据任务执行系统及数据任务执行方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382150A (zh) * | 2020-03-19 | 2020-07-07 | 交通银行股份有限公司 | 一种基于Flink的实时计算方法及系统 |
CN112084224A (zh) * | 2020-09-03 | 2020-12-15 | 北京锐安科技有限公司 | 一种数据管理方法、系统、设备及介质 |
CN113254445A (zh) * | 2021-05-26 | 2021-08-13 | 平安普惠企业管理有限公司 | 实时数据存储方法、装置、计算机设备及存储介质 |
CN113760989A (zh) * | 2021-02-04 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种无界流数据处理方法、装置、设备及存储介质 |
US20210406068A1 (en) * | 2020-06-30 | 2021-12-30 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and system for stream computation based on directed acyclic graph (dag) interaction |
-
2022
- 2022-03-14 CN CN202210246478.7A patent/CN114610765B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382150A (zh) * | 2020-03-19 | 2020-07-07 | 交通银行股份有限公司 | 一种基于Flink的实时计算方法及系统 |
US20210406068A1 (en) * | 2020-06-30 | 2021-12-30 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and system for stream computation based on directed acyclic graph (dag) interaction |
CN112084224A (zh) * | 2020-09-03 | 2020-12-15 | 北京锐安科技有限公司 | 一种数据管理方法、系统、设备及介质 |
CN113760989A (zh) * | 2021-02-04 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种无界流数据处理方法、装置、设备及存储介质 |
CN113254445A (zh) * | 2021-05-26 | 2021-08-13 | 平安普惠企业管理有限公司 | 实时数据存储方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202851A (zh) * | 2022-09-13 | 2022-10-18 | 创新奇智(浙江)科技有限公司 | 数据任务执行系统及数据任务执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114610765B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230004434A1 (en) | Automated reconfiguration of real time data stream processing | |
US10394693B2 (en) | Quantization of data streams of instrumented software | |
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US10122788B2 (en) | Managed function execution for processing data streams in real time | |
Khazaei et al. | Performance analysis of cloud computing centers using m/g/m/m+ r queuing systems | |
CN110908788B (zh) | 基于Spark Streaming的数据处理方法、装置、计算机设备及存储介质 | |
CN107025139A (zh) | 一种基于云计算的高性能计算调度框架 | |
US10904303B2 (en) | Control message from streaming source to facilitate scaling | |
CN110716744A (zh) | 一种数据流处理方法、系统和计算机可读存储介质 | |
CN110532067A (zh) | 事件处理方法、装置、设备及存储介质 | |
CN112148455B (zh) | 一种任务处理方法、设备及介质 | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN110308984B (zh) | 一种用于处理地理分布式数据的跨集群计算系统 | |
US10498817B1 (en) | Performance tuning in distributed computing systems | |
CN111966943A (zh) | 流式数据分发方法和系统 | |
Simoncelli et al. | Stream-monitoring with blockmon: convergence of network measurements and data analytics platforms | |
CN115550354A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN109388501B (zh) | 基于人脸识别请求的通信匹配方法、装置、设备及介质 | |
CN114610765A (zh) | 流计算方法、装置、设备及存储介质 | |
CN109586970B (zh) | 资源分配方法、装置及系统 | |
US11620164B1 (en) | Virtual partitioning of a shared message bus | |
Mershad et al. | A study of the performance of a cloud datacenter server | |
CN111738721A (zh) | 一种区块链交易监听方法以及相关装置 | |
CN116226045A (zh) | 文件数据聚合方法、文件数据聚合装置和查询系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |