CN115567453B - 一种数据流内容特征感知的弹性分组方法及*** - Google Patents
一种数据流内容特征感知的弹性分组方法及*** Download PDFInfo
- Publication number
- CN115567453B CN115567453B CN202211437122.8A CN202211437122A CN115567453B CN 115567453 B CN115567453 B CN 115567453B CN 202211437122 A CN202211437122 A CN 202211437122A CN 115567453 B CN115567453 B CN 115567453B
- Authority
- CN
- China
- Prior art keywords
- stream
- module
- prediction result
- prediction
- load information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种数据流内容特征感知的弹性分组方法及***,涉及分布式流计算技术领域。***包括预测模块、反馈模块以及流连接计算模块;预测模块,用于对多个键频率分布的任务进行预测,获得预测结果,对预测结果进行调度;反馈模块,用于收集和识别每个worker的负载信息,并对所述每个worker进行弹性缩放;流连接计算模块,用于基于Apache Storm创建流连接应用Ada‑Stream,基于预测模块产生的预测结果以及反馈模块的负载信息进行负载平衡计算,完成数据流内容特征感知的弹性分组。本发明提出的快速、高效的流连接***,在保证结果完整性的前提下,实现了***的高吞吐量、低延迟、低内存成本和可扩展性。
Description
技术领域
本发明涉及分布式流计算技术领域,特别是指一种数据流内容特征感知的弹性分组方法及***。
背景技术
现有的DSPS中内置了多种流划分策略,其中最常用的是随机分组和字段分组[S.Deng, B. Wang, S. Huang, C. Yue, J. Zhou, and G. Wang, “Self-AdaptiveFramework for Efficient Stream Data Classification on Storm,” IEEE Trans.Syst. Man, Cybern. Syst., vol. 50, no. 1, pp. 123–136, 2020, doi: 10.1109/TSMC.2017.2757029.][M. Elseidy, A. Elguindy, A. Vitorovic, and C. Koch,“Scalable and adaptive online joins,” Proc. VLDB Endow., vol. 7, no. 6, pp.441–452, 2014, doi: 10.14778/2732279.2732281.],但在特殊情况下两种策略都无法达到要求。随机分组将数据以轮询的方式分发到所有下游实例中,因为是随机划分,所以这种方法无法保留数据状态,只能用来处理无状态数据。字段分组利用hash函数来将数据路由到下游的某个特定实例,这样可以保证具有相同键的数据可以分发到同一个下游实例,这种方法在每个键的频率相差不大时可以发挥出最佳性能,但现实生活中的真实数据往往有倾斜的现象,总有一部分键非常高频,在处理这类数据时会造成下游某些实例的过载,可能会引起背压现象,进而成为性能的瓶颈。
在连接双流模型中,流S中具有热键的元组通常很容易与流R中的同一键匹配,而冷键需要更多的比较。因此,热键的处理成为数据流处理***的潜在瓶颈。当数据流中的键分布均匀时,字段分组可以很好地解决这个问题,因为流S和流R中相同的键通过哈希函数发送到同一实例,每个实例上的工作负载近似相同。然而,真实世界的数据流的数据倾斜是一个常见的现象。
为了解决数据倾斜问题引起的一系列危害,需要关键频率将数据流划分为子流[N. Bhatt and A. Thakkar, “An efficient approach for low latency processingin stream data,” PeerJ Comput. Sci., vol. 7, pp. 1–19, 2021, doi: 10.7717/peerj-cs.426.][ M. Biehl, Supervised Sequence Labelling with Recurrent NeuralNeural Networks, vol. 1999, no. 3. 2005.],但如何有效、动态地计算关键的频率也是数据流处理中的一个主要问题。为了实现在线关键频率统计,需要对数据流进行实时监测。由于内存容量和存储时间的限制,不可能在***中存储所有键的频率。因此,有必要估计关键频率。实时数据流具有传输速度快、数据无限的特点,使得关键频率估计具有挑战性。首先,为了保证***的性能,估计的精度需要足够高。其次,为了实现更高的处理速度,数据处理过程中的内存使用量必须足够小。因此,如何快速、高效、准确地估计数据流的频率是在线分组策略面临的主要挑战。
发明内容
针对现有技术中需要在保证结果完整性的前提下,实现***的高吞吐量、低延迟、低内存成本和可扩展性的问题,本发明提出了一种数据流内容特征感知的弹性分组方法及***。
为解决上述技术问题,本发明提供如下技术方案:
一方面,提供了一种数据流内容特征感知的弹性分组***,***包括预测模块、反馈模块以及流连接计算模块;
其中:
预测模块,用于对多个键频率分布的任务进行预测,获得预测结果,对预测结果进行调度;
反馈模块,用于收集和识别每个分布式任务worker的负载信息,通过负载信息对每个worker进行弹性缩放;
流连接计算模块,用于基于流式处理框架Apache Storm创建流连接应用Ada-Stream,基于预测模块产生的预测结果以及反馈模块的负载信息进行负载平衡计算,完成数据流内容特征感知的弹性分组。
可选地,预测模块包括预测器和任务调度器,其中,
预测器,用于预测多个键频率分布的任务,获得预测结果,并将预测结果发送给任务调度器;
任务调度器,用于获取预测结果,根据预测结果中每个键k的频率,将每个键k划分为Nk个子流,采用首次适应算法将Nk个子流分配到对应的弹性分组实例中并更新全局路由表。
可选地,预测器中的预测算法包括:基于门控循环单元GRU的seq2seq模型对数据流进行建模和预测。
可选地,任务调度器,还用于,
计算处理当前数据流每个元组所需的计算资源、内存资源;其中,实例的负载阈值通过用户自行设置;
基于用户自行设置的负载阈值,计算得到元组数量阈值,将包含元组超过元组数量阈值的实例确定为候选键,创建全局路由表。
可选地,任务调度器,还用于,
在候选键的基础上,在全局路由表上设置权重字段,每个窗口开始前,将预测结果作为激励因子,控制权重字段的更新,更新全局路由表。
可选地,反馈模块包括监视器和资源调度器,其中,
监视器,用于收集每个worker的负载信息发送给资源调度器;
资源调度器,用于通过弹性缩放策略识别出掉队的worker,满足用户预设的处理延迟阈值时,通过资源调度器计算资源分配向量并进行资源调度。
可选地,反馈模块中监视器的数量为两个,分别收集两个数据流上的性能和负载信息,并反馈到资源调度器中。
可选地,资源调度器采用启发式算法计算资源分配策略;
资源分配策略包括:根据接收的反馈信息,使用启发式算法,计算最优资源分配方案。
一方面,提供了一种数据流内容特征感知的弹性分组方法,该方法由数据流内容特征感知的弹性分组***实现,***包括预测模块、反馈模块以及流连接计算模块;
方法包括:
S1:对多个键频率分布的任务进行预测,获得预测结果,对预测结果进行调度;
S2:收集和识别每个worker的负载信息,通过负载信息对每个worker进行弹性缩放;
S3:基于流式处理框架Apache Storm创建流连接应用Ada-Stream,基于预测模块产生的预测结果以及反馈模块的负载信息进行负载平衡计算,完成数据流内容特征感知的弹性分组。
可选地,预测模块包括预测器和任务调度器;步骤S1中,对键频率分布的任务进行预测,获得预测结果,将预测结果进行预处理包括:
预测多个键频率分布的任务,获得预测结果,并将预测结果发送给任务调度器;
任务调度器获取预测结果,根据预测结果中每个键k的频率,将每个键k划分为Nk个子流,采用首次适应算法将Nk个子流分配到对应的弹性分组实例中并更新全局路由表。
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述一种数据流内容特征感知的弹性分组方法。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述一种数据流内容特征感知的弹性分组方法。
本发明实施例的上述技术方案至少具有如下有益效果:
上述方案中,提供了一种数据流内容特征感知的弹性分组方法及***,构建了快速、高效的流连接***,在保证结果完整性的前提下,实现***的高吞吐量、低延迟、低内存成本和可扩展性。在连接双流模型的基础上,通过引入键频率分布预测模型和反馈模块,设计了一种新的流连接***Ada-stream,并基于Apache Storm实现了基于预测的数据流划分策略和基于反馈的弹性策略,对比BiStream和BiStream-ContRand吞吐量增加,延迟降低。实验结果证明,与其他流连接***相比,所提出的Ada-Stream在减少***延迟和提高***吞吐量方面产生了显著的性能改进。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据流内容特征感知的弹性分组***的 Ada-Stream***结构图;
图2是本发明实施例提供的一种数据流内容特征感知的弹性分组***的分配算法图;
图3是本发明实施例提供的一种数据流内容特征感知的弹性分组***的路由表更新算法图;
图4是本发明实施例提供的一种数据流内容特征感知的弹性分组***的缩放算法图;
图5是本发明实施例提供的一种数据流内容特征感知的弹性分组方法的流程图;
图6是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例提供了一种数据流内容特征感知的弹性分组***,该方法可以由电子设备实现,该电子设备可以是终端或服务器。如图1所示的数据流内容特征感知的弹性分组***结构图,***包括预测模块、反馈模块以及流连接计算模块;
其中:
预测模块,用于对多个键频率分布的任务进行预测,获得预测结果,对预测结果进行调度;
反馈模块,用于收集和识别每个分布式任务worker的负载信息,通过负载信息对每个worker进行弹性缩放;
流连接计算模块,用于基于流式处理框架Apache Storm创建流连接应用Ada-Stream,基于预测模块产生的预测结果以及反馈模块的负载信息进行负载平衡计算,完成数据流内容特征感知的弹性分组。
本发明实施例中,在快速、高效的流连接***需要在保证结果完整性的前提下,实现***的高吞吐量、低延迟、低内存成本和可扩展性。本发明在连接双流模型的基础上,通过引入键频率分布预测模型和反馈模块,设计了一种新的流连接***Ada-stream,并基于Apache Storm实现了我们的设计。***结构如图1所示。
在数据流处理引擎(Data Stream Processing Engine,DSPEs)的应用中,连接操作是计算量最重的操作之一,在处理倾斜分布的数据时,其性能会受到很大影响。在流数据分布快速随时间变化的情况下,为了满足高吞吐和低延迟的要求,需要探索更快速、适应性更强的流划分方法来进行复杂的流连接操作。我们认为,降低负载不均衡性和减少内存开销是提升***性能的关键。本发明中设计了一个基于循环神经网络(Recurrent NeuralNetwork,RNN)seq2seq(Sequence to sequence)模型的预处理器用于预测数据流分布趋势,以便提前调整流划分和弹性策略。此外,还设计了一种反馈器来实时解决负载不均衡问题,并基于Apache Storm实现了一种新的流连接应用Ada-Stream。
一种可行的实施方式中,本发明的设计包括一个预测模块,一个反馈模块和流连接计算模块。一种可行的实施方式中,预测模块包括预测器和任务调度器,其中,
预测器,用于预测多个键频率分布的任务,获得预测结果,并将预测结果发送给任务调度器;
任务调度器,用于获取预测结果,根据预测结果中每个键k的频率,将每个键k划分为Nk个子流,采用首次适应算法将Nk个子流分配到对应的弹性分组实例中并更新全局路由表。
一种可行的实施方式中,预测模块由预测器和任务调度器组成,预测器主要承担预测键频率分布的任务,并预测结果发送给任务调度器。任务调度器根据每个键的频率将每个键k划分为Nk个子流,然后,任务调度器采用首次适应算法将每个子流分配到相应的弹性分组实例中并更新全局路由表。
一种可行的实施方式中,预测器中的预测算法包括:基于GRU(Gate RecurrentUnit,门控循环单元)的seq2seq模型来对数据流进行建模和预测。
一种可行的实施方式中,为了使流连接***在动态数据中获得更好的平衡能力,***下一个时间窗口的数据流分布是非常有效的方法。我们可以根据预测结果来调整下一个时间窗口的分组策略,来实现对数据波动的快速反应。数据流具有序列特性,而且绝大多数真实世界数据集都具有很强的自相关性,因此可以使用ARIMA等时间序列处理模型对流数据进行分析、处理和建模。在本发明的设计中,使用基于GRU的seq2seq模型来对数据流进行建模和预测,原因如下:1)RNN是在ARIMA模型的基础上延伸的算法,可以轻易识别相关的异常特征。2)GRU是在RNN上的一个拓展,采用门结构调节,克服了短时记忆的影响。3)seq2seq没有输入输出的限制,比单纯的RNN预测更加灵活。需要注意的是,在seq2seq中,decoder的每次解码会作为下一次解码的输入,训练过程中每一步的错误都会累积,使训练结果误差越来越大。为了解决这个问题,本发明在模型中加入了注意力机制。在seq2seq模型中,使用了几种调优方法来捕获数据中的年份和季节波动。该模型主要由编码器和解码器两部分组成。
一种可行的实施方式中,任务调度器,还用于,
计算处理当前数据流每个元组所需的计算资源、内存资源;其中,实例的负载阈值通过用户自行设置;
基于所述用户自行设置的负载阈值,计算得到元组数量阈值,将包含元组超过元组数量阈值的实例确定为候选键,创建全局路由表。
一种可行的实施方式中,由于数据流量的波动可以看成一个滑动平均模型,当发现流量峰值后会出现持续性的衰退,仅有实例负载的分配不能解决***的负载倾斜问题。因此,本发明设计了一个反馈模块,通过反馈信息来对每个worker进行弹性缩放来实现***的负载平衡。反馈模块由监视器和资源调度器组成,监视器收集所有worker的负载信息发送给资源调度器,通过弹性缩放策略识别出掉队的worker,满足用户自行设置的处理延迟阈值时资源调度器会计算资源分配向量并进行资源调度。
其中,***的扩展可以分为水平和垂直两个尺度,水平尺度意味着工人数量的增加,而垂直尺度则意味着分配给工人的资源的增加。我们的弹性扩展策略主要在垂直方向完成,因为过多的进行算子并行度调整会产生大量不必要的迁移和聚合成本。
一种可行的实施方式中,连接计算是有状态计算之一,在计算过程中会将状态保存在内存中,在负载重平衡中对任务进行迁移必然会带来状态的迁移,如果频繁的进行负载重分配,将会耗费巨大的迁移成本,这将给***带来一个延迟高峰。一个好的分配算法应当在尽可能少的对键进行重定向的条件下完成负载均匀分配的任务,在本发明的分配算法中,重点考虑了迁移成本。
一般来说,流中的键总数为106时,根据zipf定律需要选取大约100个候选键,此时创建路由表,其大小约为200MB。由此可以得出,当处理包含数千万个特殊键的真实数据集时,则需要创建的路由表就达到了5到10GB。因此,在创建全局路由表时必须最小化路由表的规模,在性能降低和内存成本降低中寻找平衡点。
首先计算处理当前数据流每个元组所需的计算资源、内存资源,用户可以自行设置实例的负载阈值。基于设定的负载阈值,计算得到元组数量阈值,将包含元组超过元组数量阈值的实例确定为候选键。实验证明,使用这一方法选择候选键,全局路由表的大小得到了很好的控制。分配算法在如图2中的算法1中描述。在分配过程中,难免会有某些键的预测体积大于我们设定的阈值,需要进行后续调整。
一种可行的实施方式中,任务调度器,还用于,
在所述候选键的基础上,在路由表上设置权重字段,每个窗口开始前,将预测结果作为激励因子,控制权重字段的更新,更新全局路由表。
一种可行的实施方式中,对于后续的调整,本发明中将这些热键使用PKG的思想来分割,避免元组的到达速度大于实例的处理速度,进而造成阻塞。在候选键的基础上,在全局路由表上设置了一个权重字段,每个窗口开始前,将预测结果作为激励因子,来控制权重字段的更新。通过激励机制,可以使每个键的权重平滑波动,减少了频繁更新分配方案所带来的迁移成本。路由表更新算法在如图3中的算法2中进行描述。
一种可行的实施方式中,反馈模块包括监视器和资源调度器,其中,
监视器,用于收集每个worker的负载信息发送给资源调度器;
资源调度器,用于通过弹性缩放策略识别出掉队的worker,满足用户预设的处理延迟阈值时,通过资源调度器计算资源分配向量并进行资源调度。
一种可行的实施方式中,反馈模块中监视器的数量为两个,分别收集两个流上的性能和负载信息,并反馈到资源调度器中。
一种可行的实施方式中,为了提高流应用在处理动态数据时的数据倾斜适应能力,有相当多的工作研究了动态分组策略。但动态分组策略往往需要高昂的迁移成本来支持,而且单一的动态分组策略并不能很好的解决动态数据下的负载倾斜问题。为了减少迁移成本和提高***在动态适应能力,在本发明的设计中除了使用周期性调整流划分策略方法,还采用了在反馈调度器中实现的动态扩展方法。在反馈调度器中,我们设置了两个监控组件,分别收集两个流上的性能和负载信息,并反馈到资源调度器中。
一种可行的实施方式中,资源调度器采用启发式算法计算资源分配策略;
资源分配策略包括:根据接收的反馈信息,使用启发式算法,计算最优资源分配方案。
一种可行的实施方式中,本发明提出了一种启发式算法来计算资源分配策略,配合流划分策略来解决动态负载倾斜问题。算法的基本思想是:根据接收的反馈信息,使用启发式算法,计算近似的最优资源分配方案。该算法将在每次资源分配时释放实例的一部分资源,以避免资源浪费。具体地说,当一个实例的数据输入速率小于平均值时,计算出的资源分配计划为负数,相应的实例在接收到资源缩放命令时将释放相应的资源。基于反馈的缩放算法如图4中的算法3。
本发明实施例提供了一种数据流内容特征感知的弹性分组***,在快速、高效的流连接***需要在保证结果完整性的前提下,实现***的高吞吐量、低延迟、低内存成本和可扩展性。在连接双流模型的基础上,通过引入键频率分布预测模型和反馈模块,设计了一种新的流连接***Ada-stream,并基于Apache Storm实现了基于预测的数据流划分策略和基于反馈的弹性策略,对比BiStream和BiStream-ContRand吞吐量增加,延迟降低。实验结果证明,与其他流连接***相比,所提出的Ada-Stream在减少***延迟和提高***吞吐量方面产生了显著的性能改进。
本发明实施例提供了一种数据流内容特征感知的弹性分组方法,该方法可以由电子设备实现,该电子设备可以是终端或服务器。如图5所示的数据流内容特征感知的弹性分组方法流程图,该方法由数据流内容特征感知的弹性分组***实现,***包括预测模块、反馈模块以及流连接计算模块;
该方法的处理流程可以包括如下的步骤:
S1:对多个键频率分布的任务进行预测,获得预测结果,对预测结果进行调度;
S2:收集和识别每个worker的负载信息,通过负载信息对每个worker进行弹性缩放;
S3:基于流式处理框架Apache Storm创建流连接应用Ada-Stream,基于预测模块产生的预测结果以及反馈模块的负载信息进行负载平衡计算,完成数据流内容特征感知的弹性分组。
可选地,步骤S1中,对键频率分布的任务进行预测,获得预测结果,将预测结果进行预处理包括:
预测多个键频率分布的任务,获得预测结果,并将预测结果发送给任务调度器;
任务调度器获取预测结果,根据预测结果中每个键k的频率,将每个键k划分为Nk个子流,采用首次适应算法将Nk个子流分配到对应的实例中并更新全局路由表。
可选地,预测器中的预测算法包括:基于GRU的seq2seq模型来对数据流进行建模和预测。
可选地,预测模块包括预测器和任务调度器;
步骤S1,还包括:
计算处理当前数据流每个元组所需的计算资源、内存资源;其中,实例的负载阈值通过用户自行设置;
基于用户自行设置的负载阈值,计算得到元组数量阈值,将包含元组超过元组数量阈值的实例确定为候选键,创建全局路由表。
可选地,步骤S1,还包括:
在候选键的基础上,在全局路由表上设置权重字段,每个窗口开始前,将预测结果作为激励因子,控制权重字段的更新,更新全局路由表。
可选地,反馈模块包括监视器和资源调度器;所述步骤S2中,收集和识别每个worker的负载信息,并对所述每个worker进行弹性缩放,包括:
监视器,用于收集每个worker的负载信息发送给资源调度器;
资源调度器,用于通过弹性缩放策略识别出掉队的worker,满足用户预设的处理延迟阈值时,通过资源调度器计算资源分配向量并进行资源调度。
可选地,反馈模块中监视器的数量为两个,分别收集两个数据流上的性能和负载信息,并反馈到资源调度器中。
可选地,资源调度器采用启发式算法计算资源分配策略;
资源分配策略包括:根据接收的反馈信息,使用启发式算法,计算最优资源分配方案。
本发明实施例提供了一种数据流内容特征感知的弹性分组方法,在快速、高效的流连接***需要在保证结果完整性的前提下,实现***的高吞吐量、低延迟、低内存成本和可扩展性。在连接双流模型的基础上,通过引入键频率分布预测模型和反馈模块,设计了一种新的流连接***Ada-stream,并基于Apache Storm实现了基于预测的数据流划分策略和基于反馈的弹性策略,对比BiStream和BiStream-ContRand吞吐量增加,延迟降低。实验结果证明,与其他流连接***相比,所提出的Ada-Stream在减少***延迟和提高***吞吐量方面产生了显著的性能改进。
图6是本发明实施例提供的一种电子设备400的结构示意图,该电子设备400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)401和一个或一个以上的存储器402,其中,所述存储器402中存储有至少一条指令,所述至少一条指令由所述处理器401加载并执行以实现下述数据流内容特征感知的弹性分组方法的步骤:
S1:对多个键频率分布的任务进行预测,获得预测结果,对预测结果进行调度;
S2:收集和识别每个worker的负载信息,通过负载信息对每个worker进行弹性缩放;
S3:基于流式处理框架Apache Storm创建流连接应用Ada-Stream,基于预测模块产生的预测结果以及反馈模块的负载信息进行负载平衡计算,完成数据流内容特征感知的弹性分组。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述数据流内容特征感知的弹性分组方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种数据流内容特征感知的弹性分组***,其特征在于,所述***包括预测模块、反馈模块以及流连接计算模块;
其中:
所述预测模块包括预测器和任务调度器,其中,
所述预测器,用于预测多个键频率分布,获得预测结果,并将预测结果发送给所述任务调度器;所述预测器中的预测方式包括:基于门控循环单元GRU的seq2seq模型对数据流进行建模和预测;
所述任务调度器,用于获取预测结果,根据所述预测结果中每个键k的频率,将每个键k划分为Nk个子流,采用首次适应算法将所述Nk个子流分配到对应的弹性分组实例中并更新全局路由表;
所述反馈模块,用于收集和识别每个分布式任务worker的负载信息,通过负载信息对每个worker进行弹性缩放;
所述流连接计算模块,用于基于流式处理框架Apache Storm创建流连接应用Ada-Stream,基于所述预测模块产生的预测结果以及所述反馈模块的负载信息进行负载平衡计算,完成数据流内容特征感知的弹性分组。
2.根据权利要求1所述的***,其特征在于,所述任务调度器,还用于,
计算处理当前数据流每个元组所需的计算资源、内存资源;其中,实例的负载阈值通过用户自行设置;
基于所述用户自行设置的负载阈值,计算得到元组数量阈值,将包含元组超过元组数量阈值的实例确定为候选键,创建全局路由表。
3.根据权利要求2所述的***,其特征在于,所述任务调度器,还用于,
在所述候选键的基础上,在全局路由表上设置权重字段,每个窗口开始前,将预测结果作为激励因子,控制权重字段的更新,更新全局路由表。
4.根据权利要求3所述的***,其特征在于,所述反馈模块包括监视器和资源调度器,其中,
所述监视器,用于收集每个worker的负载信息发送给资源调度器;
所述资源调度器,用于通过弹性缩放策略识别出掉队的worker,满足用户预设的处理延迟阈值时,通过资源调度器计算资源分配向量并进行资源调度;其中,所述资源分配策略包括:根据接收的反馈信息,使用启发式算法,计算近似的最优资源分配方案,通过所述启发式算法在当一个实例的数据输入速率小于平均值时,计算出的资源分配计划为负数,相应的实例在接收到资源缩放命令时将释放相应的资源,释放的资源为掉队的worker。
5.根据权利要求4所述的***,其特征在于,所述反馈模块中监视器的数量为两个,分别收集两个数据流上的性能和负载信息,并反馈到资源调度器中。
6.一种数据流内容特征感知的弹性分组方法,其特征在于,所述方法由数据流内容特征感知的弹性分组***实现,所述***包括预测模块、反馈模块以及流连接计算模块;
所述方法包括:
S1:预测多个键频率分布,获得预测结果,并将预测结果发送给任务调度器;
任务调度器获取预测结果,根据所述预测结果中每个键k的频率,将每个键k划分为Nk个子流,采用首次适应算法将所述Nk个子流分配到对应的弹性分组实例中并更新全局路由表;
S2:收集和识别每个worker的负载信息,通过负载信息对所述每个worker进行弹性缩放;
S3:基于流式处理框架Apache Storm创建流连接应用Ada-Stream,基于所述预测模块产生的预测结果以及所述反馈模块的负载信息进行负载平衡计算,完成数据流内容特征感知的弹性分组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211437122.8A CN115567453B (zh) | 2022-11-17 | 2022-11-17 | 一种数据流内容特征感知的弹性分组方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211437122.8A CN115567453B (zh) | 2022-11-17 | 2022-11-17 | 一种数据流内容特征感知的弹性分组方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115567453A CN115567453A (zh) | 2023-01-03 |
CN115567453B true CN115567453B (zh) | 2023-04-18 |
Family
ID=84769909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211437122.8A Active CN115567453B (zh) | 2022-11-17 | 2022-11-17 | 一种数据流内容特征感知的弹性分组方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115567453B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302576B (zh) * | 2023-05-25 | 2023-08-01 | 中国地质大学(北京) | 一种弹性伸缩的流应用算子并行化方法及*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016161521A1 (en) * | 2015-04-09 | 2016-10-13 | Dejero Labs Inc. | Systems, devices and methods for distributing data with multi-tiered encoding |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005654B2 (en) * | 2007-12-17 | 2011-08-23 | Nokia Corporation | Method, apparatus and computer program product for intelligent workload control of distributed storage |
US8839254B2 (en) * | 2009-06-26 | 2014-09-16 | Microsoft Corporation | Precomputation for data center load balancing |
US9674249B1 (en) * | 2013-03-11 | 2017-06-06 | DataTorrent, Inc. | Distributed streaming platform for real-time applications |
US10397313B2 (en) * | 2015-03-18 | 2019-08-27 | Nokia Of America Corporation | Data stream load balancing utilizing multiple sets of servers |
US10191768B2 (en) * | 2015-09-16 | 2019-01-29 | Salesforce.Com, Inc. | Providing strong ordering in multi-stage streaming processing |
US11048727B2 (en) * | 2018-09-10 | 2021-06-29 | Ciena Corporation | Systems and methods for automated feature selection and pattern discovery of multi-variate time-series |
US11157323B2 (en) * | 2019-01-10 | 2021-10-26 | International Business Machines Corporation | Multiple metric based load prediction and resource allocation in an active stream processing job |
CN114900525B (zh) * | 2022-05-20 | 2022-12-27 | 中国地质大学(北京) | 一种偏斜数据流的双层协作负载均衡方法及存储介质 |
-
2022
- 2022-11-17 CN CN202211437122.8A patent/CN115567453B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016161521A1 (en) * | 2015-04-09 | 2016-10-13 | Dejero Labs Inc. | Systems, devices and methods for distributing data with multi-tiered encoding |
Also Published As
Publication number | Publication date |
---|---|
CN115567453A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992581B2 (en) | Methods and devices for optimizing load balancing based on cloud monitoring | |
Amini et al. | Adaptive control of extreme-scale stream processing systems | |
Balkesen et al. | Adaptive input admission and management for parallel stream processing | |
Bender et al. | Flow and Stretch Metrics for Scheduling Continuous Job Streams. | |
Cervino et al. | Adaptive provisioning of stream processing systems in the cloud | |
Salah et al. | Estimating service response time for elastic cloud applications | |
CN115567453B (zh) | 一种数据流内容特征感知的弹性分组方法及*** | |
CN107911399B (zh) | 一种基于负载预测的弹性伸缩方法及*** | |
CN108270805B (zh) | 用于数据处理的资源分配方法及装置 | |
Tang et al. | Nanily: A qos-aware scheduling for dnn inference workload in clouds | |
US9665409B2 (en) | Methods and apparatus facilitating access to storage among multiple computers | |
Rashmi et al. | Enhanced load balancing approach to avoid deadlocks in cloud | |
CN108228356B (zh) | 一种流数据的分布式动态处理方法 | |
CN115604278A (zh) | 动态负载均衡方法和*** | |
Zikos et al. | A clairvoyant site allocation policy based on service demands of jobs in a computational grid | |
Zikos et al. | The impact of service demand variability on resource allocation strategies in a grid system | |
Breitgand et al. | On cost-aware monitoring for self-adaptive load sharing | |
Lin et al. | {RingLeader}: efficiently Offloading {Intra-Server} Orchestration to {NICs} | |
CN110618865A (zh) | Hadoop任务调度方法及装置 | |
Huang et al. | POTUS: Predictive online tuple scheduling for data stream processing systems | |
CN112685167A (zh) | 资源使用方法、电子设备和计算机程序产品 | |
CN114866430A (zh) | 边缘计算的算力预测方法、算力编排方法及*** | |
Rind et al. | Comparative analysis of load balancing algorithms in cloud computing | |
Kaur et al. | A review of load balancing strategies for distributed systems | |
CN113377544A (zh) | 一种基于负荷数据动态更新率的web集群负载均衡方法 |
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 |