CN108073445B - 基于分布式流计算的背压处理方法和系统 - Google Patents
基于分布式流计算的背压处理方法和系统 Download PDFInfo
- Publication number
- CN108073445B CN108073445B CN201611041838.0A CN201611041838A CN108073445B CN 108073445 B CN108073445 B CN 108073445B CN 201611041838 A CN201611041838 A CN 201611041838A CN 108073445 B CN108073445 B CN 108073445B
- Authority
- CN
- China
- Prior art keywords
- data
- threshold
- streaming data
- backpressure
- computing node
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/16—Threshold monitoring
-
- 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/11—Identifying congestion
-
- 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/505—Corrective measures
- H04L49/506—Backpressure
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于分布式流计算的背压处理方法和系统,该方法包括:接收上游计算节点发送的流数据并存储于流数据池中,流数据池中的流数据在本地进行流计算时被消耗;统计流数据池中的流数据占流数据池的总容量的数据占比;若统计的数据占比大于或等于第一阈值,则执行增加背压标记的操作;增加背压标记的操作用于使上游计算节点降低流数据发送速率;若统计的数据占比小于或等于第二阈值,则执行删除背压标记的操作;第二阈值小于第一阈值;删除背压标记的操作用于使上游计算节点提高流数据发送速率。本发明提供的基于分布式流计算的背压处理方法和系统,可以克服背压问题并保证流计算效率。
Description
技术领域
本发明涉及分布式流计算技术领域,特别是涉及一种基于分布式流计算的背压处理方法和系统。
背景技术
流计算或者流式计算是一种高效的数据处理方式,数据以流的形式产生并传输,不需要存储到磁盘等持久化介质,数据消费者在数据产生后尽快对其进行计算,通常用于时延敏感型的计算任务。分布式流计算系统是用于执行流计算任务的系统,分布式流计算系统中包括多级计算节点,流计算所需的流数据逐级流经各级计算节点并由流经的计算节点进行流计算,其中每级计算节点可以包括一个或多个并行的计算节点。
然而,目前分布式流计算系统会存在背压问题,其中背压问题是指分布式流计算系统接收数据的速率高于其在一个瞬时脉冲内能处理的数据。背压问题如果不能及时解决,可能会导致资源耗尽或者甚至导致数据丢失。目前解决背压问题主要是数据压力达到一定程度时通知数据源暂时关闭数据流,影响了参与分布式流计算的所有计算节点,影响了分布式流计算的效率。
发明内容
基于此,有必要针对目前解决背压问题时暂时关闭数据源影响流计算效率的技术问题,提供一种基于分布式流计算的背压处理方法和系统。
一种基于分布式流计算的背压处理方法,包括:
接收上游计算节点发送的流数据并存储于流数据池中,所述流数据池中的流数据在本地进行流计算时被消耗;
统计所述流数据池中的流数据占所述流数据池的总容量的数据占比;
若统计的所述数据占比大于或等于第一阈值,则执行增加背压标记的操作,调高所述第一阈值;所述增加背压标记的操作用于使所述上游计算节点降低流数据发送速率;
若统计的所述数据占比小于或等于所述第二阈值,则执行删除所述背压标记的操作,调低所述第一阈值;所述第二阈值小于所述第一阈值;所述删除所述背压标记的操作用于使所述上游计算节点提高流数据发送速率。
一种基于分布式流计算的背压处理系统,其特征在于,所述系统包括并行的计算节点和与所述并行的计算节点对应的上游计算节点;
所述上游计算节点用于向所述并行的计算节点发送流数据;
所述并行的计算节点用于接收所述上游计算节点发送的流数据并存储于流数据池中,所述流数据池中的流数据在本地进行流计算时被消耗;统计所述流数据池中的流数据占所述流数据池的总容量的数据占比;若统计的所述数据占比大于或等于第一阈值,则执行增加背压标记的操作,调高所述第一阈值;若统计的所述数据占比小于或等于所述第二阈值,则执行删除所述背压标记的操作,调低所述第一阈值;所述第二阈值小于所述第一阈值;
所述上游计算节点用于根据增加的所述背压标记降低流数据发送速率,根据删除的所述背压标记提高流数据发送速率。
上述基于分布式流计算的背压处理方法和系统,利用较高的第一阈值和较低的第二阈值,当数据占比大于或等于第一阈值时,说明可能会导致背压问题,此时执行增加背压标记的操作,使得上游计算节点降低流数据发送速率,从而缓解数据压力,克服背压问题,并保证流计算能够持续进行。当数据占比小于或等于第二阈值时,则说明当前数据压力小,产生背压问题的可能性非常小,执行删除背压标记的操作,使得上游计算节点提高流数据发送速率,从而提高流计算的效率。
附图说明
图1为一个实施例中分布式流计算系统的应用环境图;
图2为一个实施例中物理设备的结构框图;
图3为一个实施例中基于分布式流计算的背压处理方法的流程示意图;
图4为一个实施例中基于分布式流计算的背压处理方法的流程示意图;
图5为一个实施例中统计背压窗口中数据占比大于或等于第一阈值的时间占比的示意图;
图6为一个实施例中增设并行的计算节点的示意图;
图7为一个实施例中根据下游计算节点的增加或删除的背压标记动态调整本地的流数据发送速率的步骤的流程示意图;
图8为一个实施例中对下游计算节点进行负载均衡的步骤的流程示意图;
图9为一个实施例中上游的计算节点通过调整流数据流向以对下游的计算节点进行负载均衡的示意图;
图10为一个实施例中基于分布式流计算的背压处理系统的结构框图;
图11为另一个实施例中基于分布式流计算的背压处理系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中分布式流计算系统的应用环境图。参照图1,该分布式流计算系统包括若干物理设备,每个物理设备上运行一个或者多个容器(Container),每个容器中运行一个或多个计算节点。例如具体包括物理设备X、物理设备Y,以及物理设备A、物理设备B、物理设备C、物理设备D以及物理设备E等。其中,物理设备X中运行有容器1,该容器1中运行有管理节点;物理设备Y中运行有标记管理软件。物理设备A中运行有容器1,容器1中运行有计算节点1;物理设备B中运行有容器2,容器2中运行有计算节点21;物理设备C中运行有容器3,容器3中运行有计算节点22;物理设备C中运行有容器4,容器4中运行有计算节点31;物理设备E中运行有容器5,容器5中运行有计算节点32。其中物理设备可以是服务器,容器可以是虚拟机、进程或者线程。容器用于容纳计算节点。计算节点则是进行流计算的单元。
流数据输入分布式流计算系统中,逐级经过分布式流计算系统中的计算节点,由流经的计算节点进行流计算。每级计算节点中是并行的计算节点,并行的计算节点也可以称为平行的计算节点,并行的计算节点具有相同的计算逻辑。并行的计算节点可以处于不同的容器中,也可以存在于不同的物理设备中。
具体在图1中,计算节点21和计算节点22为并行的计算节点,计算节点31和计算节点32为并行的计算节点。流数据从计算节点1流向计算节点21和计算节点22,计算节点21发送的流数据则发向计算节点31和计算节点32,计算节点22发送的流数据发向计算节点31和计算节点32,以此类推。
分布式流计算系统还可以包括运行有管理节点的物理设备,该运行有管理节点的物理设备用于管理各级计算节点的并发度,从而对各级计算节点进行增加或减少并行的计算节点的操作。该并发度是指并行的计算节点的数量。分布式流计算系统还可以包括运行有标记管理软件的物理设备,该运行有标记管理软件的物理设备用于记录各计算节点所增加或减少的背压标记。标记管理软件可以采用ZooKeeper。
图2为一个实施例中物理设备的结构框图。参照图2,该物理设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该物理设备的非易失性存储介质存储有操作系统和计算节点,该计算节点用于执行一种基于分布式流计算的背压处理方法。该物理设备的处理器用于提供计算和控制能力,支撑整个物理设备的运行。该物理设备的内存储器为非易失性存储介质中的计算节点的运行提供环境。该内存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于分布式流计算的背压处理方法。该物理设备的网络接口用于网络通信,如接收和发送流数据。物理设备可以用独立的物理设备或者是多个物理设备组成的物理设备集群来实现。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的物理设备的限定,具体的物理设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中基于分布式流计算的背压处理方法的流程示意图。本实施例以该方法应用于上述图1中物理设备中的某计算节点进行举例说明,下面用当前计算节点表示举例说明所用的计算节点。参照图3,该基于分布式流计算的背压处理方法具体包括如下步骤:
S302,接收上游计算节点发送的流数据并存储于流数据池中,流数据池中的流数据在本地进行流计算时被消耗。
其中,上游计算节点是指向当前计算节点发送流数据的计算节点,当前计算节点的上游计算节点可以是一个或者多个并行的计算节点。当前计算节点的流数据池用于存储来自于上游计算节点的流数据,并为当前计算节点进行流计算提供需消耗的流数据。当前计算节点的流数据池不断地存储接收到的流数据,并在进行流计算时不断地消耗流数据池中的流数据,当流数据池不足以存储接收到的流数据时发生背压问题。流数据池可以是流数据队列。当前计算节点可每在流数据池中产生流数据的增加和/或消耗时执行步骤S304。
S304,统计流数据池中的流数据占流数据池的总容量的数据占比。
其中,流数据池中的流数据是指流数据池中接收到的来自于上游计算节点且还未被消耗的流数据。流数据池的总容量是指该流数据池可容纳的流数据的最大数据量。该数据占比可等于流数据池中的流数据除以该总容量。数据占比可称为水位。
S306,若统计的数据占比大于或等于第一阈值,则执行增加背压标记的操作;增加背压标记的操作用于使上游计算节点降低流数据发送速率。
其中,第一阈值是判断数据占比是否会导致背压问题的判断阈值。第一阈值可称为高水位。背压标记用于标记当前计算节点具备导致背压问题的条件。流数据发送速率是指单位时间内发送的流数据的数据量。流数据发送速率可以用速率系数表示,该速率系数表示所采用速率与最大速率的倍数关系。比如当速率系数为1时表示采用最大速率发送流数据;当速率系数为0.5时则表示采用最大速率一半的速率发送流数据。
具体地,当前计算节点统计得到当前计算节点对应的流数据池的数据占比后,将该数据占比与第一阈值比较。若该数据占比大于或等于第一阈值,则可在标记管理软件中增加对应于当前计算节点的背压标记。若当前计算节点已增加了背压标记,则保持该背压标记。
进一步地,上游计算节点可定期检查其下游的计算节点(包括前述的当前计算节点)是否增加了背压标记,若是则降低流数据发送速率,具体可按照指定步长降低流数据发送速率。若采用速率系数流数据发送速率,则指定步长可以是0.1。与当前计算节点并行的其它计算节点也可以执行增加背压标记的操作,从而使得上游计算节点进一步降低流数据发送速率。当前计算节点也可以在执行增加背压标记的操作时主动通知上游计算节点。
S308,若统计的数据占比小于或等于第二阈值,则执行删除背压标记的操作;第二阈值小于第一阈值;删除背压标记的操作用于使上游计算节点提高流数据发送速率。
其中,第二阈值是可用于判断数据占比是否会导致资源闲置的判断阈值。第二阈值小于第一阈值。相对于高水位的第一阈值,该第二阈值可称为低水位。
具体地,若数据占比小于第一阈值,则当前计算节点可进一步将数据占比与第二阈值比较。若数据占比大于第二阈值,则可直接结束,等待下一次统计数据占比。若数据占比小于或等于第二阈值,则执行删除背压标记的操作。执行删除背压标记的操作时具体可在存在与当前计算节点对应的背压标记时执行删除背压标记的操作,若不存在则保持。
进一步地,上游计算节点可定期检查其下游的计算节点(包括前述的当前计算节点)是否删除了背压标记,若是则提高流数据发送速率,具体可按照指定步长提高流数据发送速率。若采用速率系数表示流数据发送速率,则指定步长可以是0.1。与当前计算节点并行的其它计算节点也可以执行删除背压标记的操作,从而使得上游计算节点进一步提高流数据发送速率。当前计算节点也可以在执行删除背压标记的操作时主动通知上游计算节点。
上述基于分布式流计算的背压处理方法,利用较高的第一阈值和较低的第二阈值,当数据占比大于或等于第一阈值时,说明可能会导致背压问题,此时执行增加背压标记的操作,使得上游计算节点降低流数据发送速率,从而缓解数据压力。当数据占比小于或等于第二阈值时,则说明当前数据压力小,产生背压问题的可能性非常小,执行删除背压标记的操作,使得上游计算节点提高流数据发送速率,从而提高流计算的效率。
进一步地,若分布式流计算中的各个计算节点均执行上述基于分布式流计算的背压处理方法,可以实现计算节点的逐级背压处理,从而实现对整个分布式流计算系统的背压处理。
在一个实施例中,该基于分布式流计算的背压处理方法还包括:若统计的数据占比大于或等于第一阈值,则调高第一阈值;若统计的数据占比小于或等于第二阈值,则调低第一阈值。
具体地,当前计算节点将数据占比与第一阈值比较,若该数据占比大于或等于第一阈值,则可执行增加与当前计算节点对应的背压标记的操作,并调高第一阈值,具体可按照第一调整步长提高第一阈值。若数据占比小于第一阈值,则当前计算节点可进一步将数据占比与第二阈值比较。若数据占比小于或等于第二阈值,则执行删除背压标记的操作,并调低第一阈值,具体可按照第二调整步长调低第一阈值。第一调整步长和第二调整步长可以相等或者不相等。在一个实施例中,在调高或调低第一阈值时,在第一阈值的调整范围内调整。
本实施例中,第一阈值采用动态值以适应流数据的自然波动,大于或等于第一阈值时提高第一阈值以降低以后数据占比达到第一阈值的概率。过调高和调低第一阈值,可以应对数据高峰期,为背压问题的产生增加一层缓冲,允许在数据高峰期在较高的第一阈值和数据压力下工作,防止高峰期大量计算节点产生背压问题而导致流计算时效性降低。
在一个实施例中,该基于分布式流计算的背压处理方法还包括:在调高第一阈值时,同步调高第二阈值;在调低第一阈值时,同步调低第二阈值。
具体地,在需要调高或调低第一阈值时,将第一阈值和第二阈值进行同步调整。同步调整是指将第一阈值和第二阈值朝相同的方向调整。在一个实施例中,在调高或者调低低第一阈值时,保持第一阈值和第二阈值的差值固定。在一个实施例中,第一阈值和第二阈值各自对应有调整范围,当前计算节点在同步调整第一阈值和第二阈值时,在第一阈值和第二阈值各自对应的调整范围内进行同步调整。
举例说明,假设事先配置第一阈值的初始值为0.7,调整范围为[0.6~0.9],调整步长为0.1;第二阈值的初始值为0.2,调整范围为[0.1~0.4],调整步长为0.1。那么,当数据占比≤0.2时,资源闲置,将第一阈值和第二阈值同步调低0.1,则第一阈值变为0.6,第二阈值变为0.1,且执行删除背压标记的操作。若数据占比≥0.7时,资源紧缺,则将第一阈值和第二阈值同步提高0.1,则第一阈值变为0.8,第二阈值变为0.3。本例中无论如何调整,第一阈值保持在[0.6~0.9]的范围内,第二阈值则保持在[0.1~0.4]的范围内。
本实施例中,将第一阈值和第二阈值同步调整,数据占比大于或等于第一阈值时提高第一阈值和第二阈值,以降低以后数据占比大于或等于第一阈值的概率;数据占比小于或等于第二阈值时降低第一阈值和第二阈值,以降低以后数据占比小于或等于第二阈值的概率。允许在数据高峰期时在较高的数据压力下工作,保证数据高峰期的流计算效率;并能够在数据高峰期过渡到正常状态时及时地将第一阈值和第二阈值回调,以自适应调整不同数据压力下的背压处理策略。
在一个实施例中,步骤S306具体包括:若统计的数据占比大于或等于第一阈值,且固定的时间段内数据占比大于或等于第一阈值的时间占比大于或等于预设占比,则调高第一阈值,重置时间占比,并执行增加背压标记的操作;若统计的数据占比大于或等于第一阈值,且固定的时间段内数据占比大于或等于第一阈值的时间占比小于预设占比,则执行增加背压标记的操作。
本实施例中,当固定的时间段内数据占比大于或等于第一阈值的时间占比大于或等于预设占比时,表示当前计算节点在该时间段内整体上存在较高的数据压力,可以准确地判断出数据高峰期,从而调整第一阈值以适应数据高峰期,并重置时间占比以准备下一次判断。当固定的时间段内数据占比大于或等于第一阈值的时间占比小于预设占比,则说明在该时间段内整体上数据压力不是很高,仅执行增加背压标记的操作,不需要调整第一阈值。
在一个实施例中,步骤S308具体包括:若统计的数据占比小于或等于第二阈值,且第一阈值已被调高,则调低第一阈值,重置时间占比,并执行删除背压标记的操作;若统计的数据占比小于或等于第二阈值,且第一阈值未被调高,则执行删除背压标记的操作。
本实施例中,当统计的数据占比小于或等于第二阈值时,数据压力较小,需要执行删除背压标记的操作。若第一阈值已经被提高,则需要降低第一阈值以适应数据压力较小的情形;若第一阈值未被调高,则保持该第一阈值,避免第一阈值过低影响流计算效率。第一阈值被调低,需要重置时间占比,并重新统计固定的时间段内数据占比大于或等于第一阈值的时间占比。
图4为一个实施例中基于分布式流计算的背压处理方法的流程示意图。参照图4,该方法具体包括如下步骤:
S402,接收上游计算节点发送的流数据并存储于流数据池中,流数据池中的流数据在本地进行流计算时被消耗。
S404,统计流数据池中的流数据占流数据池的总容量的数据占比。
具体地,当前计算节点可每在流数据池发生变化时,如接收到流数据或者流数据池中的流数据被消耗时,统计流数据池中的流数据占流数据池的总容量的数据占比。
S406,判断数据占比是否大于或等于第一阈值。若是则执行步骤S408,若否则执行步骤S416。
具体地,当前计算节点可将数据占比与第一阈值比较。若判定数据占比大于或等于第一阈值,则执行步骤S408;若判定数据占比小于第一阈值,则执行步骤S416。
S408,判断背压窗口中数据占比大于或等于第一阈值的时间占比是否大于或等于预设占比;若是则执行步骤S410,若否则执行步骤S414。其中,背压窗口是固定的时间段。
其中,背压窗口是固定的时间段,具体是以当前时间为时间上限的固定的时间段。当前计算节点可在背压窗口内统计数据占比大于或等于第一阈值的时间占该时间段的时间占比。当前计算节点具体可在背压窗口中进行均匀采样,从而用大于或等于第一阈值的次数除以采样的总次数作为时间占比。预设占比比如0.5。
S410,调高第一阈值。
具体地,当前计算节点按照第一调整步长,在第一阈值的调整范围内,将第一阈值调高。
S412,清空背压窗口以重置时间占比。
具体地,当前计算节点清空背压窗口,后续重新统计背压窗口中数据占比大于或等于第一阈值的时间占比。
举例说明,参照图5,假设背压窗口为10min(分钟),预设占比为0.5。从图5中可以明显看出当前节点最近10min内的数据占比(水位)超过0.6的时间超过了5min,此时将第一阈值(高水位)调整到0.7,并且清空背压窗口中统计的数据占比,重新统计。
S414,执行增加背压标记的操作。
S416,判断数据占比是否小于或等于第二阈值。若否则执行步骤S418,若是则执行步骤S420。
S418,结束。
S420,判断第一阈值是否已被调高。若是则执行步骤S422,若否则执行步骤S426。
具体地,当前计算节点可判断第一阈值是否相对于第一阈值的调整范围中的最低值被调高。
S422,调低第一阈值。
S424,清空背压窗口以重置时间占比。
S426,执行删除背压标记的操作。
本实施例中,当固定的时间段内数据占比大于或等于第一阈值的时间占比大于或等于预设占比时,表示当前计算节点在该时间段内整体上存在较高的数据压力,可以准确地判断出数据高峰期,从而调整第一阈值以适应数据高峰期,并重置时间占比以准备下一次判断。
当固定的时间段内数据占比大于或等于第一阈值的时间占比小于预设占比,则说明在该时间段内整体上数据压力不是很高,仅执行增加背压标记的操作,不需要调整第一阈值。
当统计的数据占比小于或等于第二阈值时,数据压力较小,需要执行删除背压标记的操作。若第一阈值已经被提高,则需要降低第一阈值以适应数据压力较小的情形;若第一阈值未被调高,则保持该第一阈值,避免第一阈值过低影响流计算效率。第一阈值被调低,需要重置时间占比,并重新统计固定的时间段内数据占比大于或等于第一阈值的时间占比。
在一个实施例中,基于分布式流计算的背压处理方法还包括:当执行增加背压标记的操作时,若上游计算节点当前流数据发送速率大于或等于预设值,上游计算节点减少流数据发送速率;当执行增加背压标记的操作时,若上游计算节点当前流数据发送速率小于预设值,且若当前计算节点及其并行的计算节点中执行增加背压标记的操作的计算节点数量占比达到预设比例,则增设与当前计算节点并行的计算节点。
其中,预设值可取正值。判断上游计算节点当前流数据发送速率是否大于或等于预设值,具体可判断当前速率系数是否大于或等于预设速率系数。预设占比可取0.5,还可以根据需要取其它值如0.6。具体若上游计算节点当前流数据发送速率小于预设值,且若当前计算节点及其并行的计算节点中执行增加背压标记的操作的计算节点数量占比达到预设比例,则当前计算节点可通知管理节点,由管理节点增加当前计算节点的并发度,从而为当前计算节点增设并行的计算节点。
举例说明,参照图6,在图1所示的分布式流计算系统中,该分布式流计算系统包括若干物理设备,每个物理设备上运行一个或者多个容器(Container),每个容器中运行一个或多个计算节点。例如具体包括物理设备X、物理设备Y,以及物理设备A、物理设备B、物理设备C、物理设备D以及物理设备E等。其中,物理设备X中运行有容器1,该容器1中运行有管理节点;物理设备Y中运行有标记管理软件。物理设备A中运行有容器1,容器1中运行有计算节点1;物理设备B中运行有容器2,容器2中运行有计算节点21;物理设备C中运行有容器3,容器3中运行有计算节点22;物理设备C中运行有容器4,容器4中运行有计算节点31;物理设备E中运行有容器5,容器5中运行有计算节点32。其中,物理设备F可以为针对物理设备B和物理设备C增加的物理设备,物理设备F中运行有容器6,容器6中运行有计算节点23。
若计算节点1当前流数据发送速率小于预设值,且并行的计算节点21和计算节点22均增加了背压标记,则可为计算节点21和计算节点22增设并行的计算节点23。
本实施例中,上游计算节点的流数据发送速率设置了下限,并不是无限地降低流数据发送速率。若上游计算节点当前流数据发送速率大于或等于预设值,此时上游计算节点相对的下游计算节点(即包括当前计算节点的并行计算节点集合)的数据压力非常大,需要使用其它方式增加其下游的计算节点的流数据处理能力,具体可通过调整当前计算节点的并发度,以增设与当前计算节点并行的计算节点。
在一个实施例中,该基于分布式流计算的背压处理方法还包括根据下游计算节点的增加或删除的背压标记动态调整本地的流数据发送速率的步骤。参照图7,该根据下游计算节点的增加或删除的背压标记动态调整本地的流数据发送速率的步骤具体包括如下步骤:
S702,监听下游计算节点的背压标记。
S704,统计下游计算节点的背压标记数量。若背压标记数量减少,则执行步骤S706;若背压标记数量增加,则执行步骤S708。
S706,提高发送流数据的速率系数。具体可按照指定步长提高速率系数,如速率系数每次提高0.1。
S708,判断速率系数是否大于或等于预设速率系数。若是,则执行步骤S710;若否,则执行步骤S712。预设速率系数比如0.2。
S710,降低发送流数据的速率系数。具体可按照指定步长降低速率系数,如速率系数每次降低0.1。
S712,判断下游计算节点中执行增加背压标记的操作的计算节点数量占比是否达到预设占比。若是,则执行步骤S714;若否,则执行步骤S716。
其中,达到预设占比是指大于或等于预设占比。预设占比如0.5,若下游计算节点共有N个,其中2/3N个增加了背压标记,那么节点数量占比为2/3,达到了预设占比。
S714,调整下游计算节点的并发度。
S716,结束。
本实施例中,根据下游计算节点的背压标记数量变化动态地调整速率系数,灵活适应下游计算节点的数据压力,解决背压问题。而且发送流数据的速率系数设置了下限,当速率系数降低到一定程度时,通过调整下游计算节点的并发度来增加与下游计算节点并行的计算节点,从而能够在数据高峰期仍能进行正常的流计算。
在一个实施例中,该基于分布式流计算的背压处理方法还包括:上游计算节点在降低流数据发送速率时,增加流数据发送时间间隔;流数据发送时间间隔与单条流数据平均耗时正相关;上游计算节点在提高流数据发送速率时,减少流数据发送时间间隔。
其中,流数据发送时间间隔是上游计算节点相邻两次发送流数据的之间的等待时间。流数据可以逐条间隔发送,也可以批量间隔发送。单条流数据平均耗时可以是整个分布式流计算系统中单条流数据的平均耗时,也可以是上游计算节点中处理单条流数据的平均耗时。统计单条流数据平均耗时的时间段可以是一天或者多天。增加或减少流数据发送时间间隔时可按照预设步长增加或减少。时间间隔可以是速率系数与单条流数据平均耗时的乘积。
举例说明,假设上游计算节点在1s(秒)内处理了1000条流数据,那么其单条流数据平均耗时为1s /1000=1ms(毫秒)。如果当前计算节点产生了背压标记,那么说明上游节点1s发送1000条流数据对当前节点的压力较大,那么上游计算节点就可以将速率系数调小0.1。若速率系数调小后为0.5,那么上游计算节点可在每发送1条流数据后休眠0.5*1ms=0.5ms,或者每发送100条流数据后休眠100*0.5ms=50ms。
本实施例中,上游计算节点通过增加流数据发送时间间隔,以实现降低流数据发送速率;并通过减少流数据发送时间间隔,以实现提高流数据发送速率。且流数据发送时间间隔与单条流数据平均耗时正相关,这样可以实现流数据发送速率的精确控制。
在一个实施例中,该基于分布式流计算的背压处理方法还包括对下游计算节点进行负载均衡的步骤。参照图8,该对下游计算节点进行负载均衡的步骤具体包括如下步骤:
S802,获取当前计算节点的下游计算节点各自的流数据池中流数据占相应流数据池的总容量的数据占比。
其中,下游计算节点是指当前计算节点输出的流数据直接发送至的计算节点。下游计算节点也执行上述各个实施例中的基于分布式流计算的背压处理方法。当前计算节点可获取其下游计算节点在执行基于分布式流计算的背压处理方法时统计的数据占比,该数据占比表示相应的下游计算节点对应的流数据池中流数据占相应流数据池的总容量的比例。S802可定期执行。
S804,确定获取的下游计算节点各自的数据占比的大小关系。
具体地,当前计算节点可比较下游计算节点各自的数据占比的大小,从而确定各个数据占比的大小关系。
S806,根据大小关系对下游计算节点进行负载均衡。
具体地,当前计算节点可减少向数据占比较大的下游计算节点发送的流数据,并增加向数据占比较小的下游计算节点发送的流数据。这里较大和较小是指当前计算节点的所有下游计算节点所对应的数据占比中的相对大小关系。比如当前计算节点可减少向数据占比最大的下游计算节点发送的流数据,并增加向数据占比最小的下游计算节点发送的流数据。
举例说明,参照图9,假设上游的计算节点初始向下游的计算节点11、12和13发送流数据的数据量相同。上游的计算节点定期检查时,发现下游的计算节点11、12和13的数据占比依次为0.5,0.2和0.2,计算节点11的数据占比大于计算节点12和13的数据占比。则上游的计算节点可减少向计算节点11发送流数据的数据量,并将减少的向计算节点11发送的流数据的数据量分担至计算节点12和13。
本实施例中,根据下游计算节点各自的数据占比的大小关系对下游计算节点进行负载均衡,可进一步减少背压问题出现的概率。
图10为一个实施例中基于分布式流计算的背压处理系统1000的结构框图。参照图10,该系统包括并行的计算节点1001和与并行的计算节点1001对应的上游计算节点1002。
上游计算节点1002用于向并行的计算节点1001发送流数据。
并行的计算节点1001用于接收上游计算节点1002发送的流数据并存储于流数据池中,流数据池中的流数据在本地进行流计算时被消耗;统计流数据池中的流数据占流数据池的总容量的数据占比;若统计的数据占比大于或等于第一阈值,则执行增加背压标记的操作,调高第一阈值;若统计的数据占比小于或等于第二阈值,则执行删除背压标记的操作,调低第一阈值;第二阈值小于第一阈值。
上游计算节点1002用于根据增加的背压标记降低流数据发送速率,根据删除的背压标记提高流数据发送速率。
上述基于分布式流计算的背压处理系统1000,利用较高的第一阈值和较低的第二阈值,当数据占比大于或等于第一阈值时,说明可能会产生背压问题,此时执行增加背压标记的操作,使得上游计算节点降低流数据发送速率,从而缓解数据压力。当数据占比小于或等于第二阈值时,则说明当前数据压力小,产生背压问题的可能性非常小,执行删除背压标记的操作,使得上游计算节点提高流数据发送速率,从而提高流计算的效率。
在一个实施例中,并行的计算节点1001还用于若统计的数据占比大于或等于第一阈值,则调高第一阈值;若统计的数据占比小于或等于第二阈值,则调低第一阈值。
本实施例中,第一阈值采用动态值以适应流数据的自然波动,大于或等于第一阈值时提高第一阈值以降低以后数据占比达到第一阈值的概率。通 过调高和调低第一阈值,可以应对数据高峰期,为背压问题的产生增加一层缓冲,允许在数据高峰期在较高的第一阈值和数据压力下工作,防止高峰期大量计算节点产生背压问题而导致流计算时效性降低。
在一个实施例中,并行的计算节点1001在调高第一阈值时,同步调高第二阈值;并行的计算节点1001在调低第一阈值时,同步调低第二阈值。
本实施例中,将第一阈值和第二阈值同步调整,数据占比大于或等于第一阈值时提高第一阈值和第二阈值,以降低以后数据占比大于或等于第一阈值的概率;数据占比小于或等于第二阈值时降低第一阈值和第二阈值,以降低以后数据占比小于或等于第二阈值的概率。允许在数据高峰期时在较高的数据压力下工作,保证数据高峰期的流计算效率;并能够在数据高峰期过渡到正常状态时及时地将第一阈值和第二阈值回调,以自适应调整不同数据压力下的背压处理策略。
在一个实施例中,并行的计算节点1001还用于若统计的数据占比大于或等于第一阈值,且固定的时间段内数据占比大于或等于第一阈值的时间占比大于或等于预设占比,则调高第一阈值,重置时间占比,并执行增加背压标记的操作;若统计的数据占比大于或等于第一阈值,且固定的时间段内数据占比大于或等于第一阈值的时间占比小于预设占比,则执行增加背压标记的操作。
本实施例中,当固定的时间段内数据占比大于或等于第一阈值的时间占比大于或等于预设占比时,表示当前计算节点在该时间段内整体上存在较高的数据压力,可以准确地判断出数据高峰期,从而调整第一阈值以适应数据高峰期,并重置时间占比以准备下一次判断。当固定的时间段内数据占比大于或等于第一阈值的时间占比小于预设占比,则说明在该时间段内整体上数据压力不是很高,仅执行增加背压标记的操作,不需要调整第一阈值。
在一个实施例中,并行的计算节点1001还用于若统计的数据占比小于或等于第二阈值,且第一阈值已被调高,则调低第一阈值,重置时间占比,并执行删除背压标记的操作;若统计的数据占比小于或等于第二阈值,且第一阈值未被调高,则执行删除背压标记的操作。
本实施例中,当统计的数据占比小于或等于第二阈值时,数据压力较小,需要执行删除背压标记的操作。若第一阈值已经被提高,则需要降低第一阈值以适应数据压力较小的情形;若第一阈值未被调高,则保持该第一阈值,避免第一阈值过低影响流计算效率。第一阈值被调低,需要重置时间占比,并重新统计固定的时间段内数据占比大于或等于第一阈值的时间占比。
在一个实施例中,上游计算节点1002还用于在降低流数据发送速率时,增加流数据发送时间间隔;上游计算节点1002还用于在提高流数据发送速率时,减少流数据发送时间间隔;流数据发送时间间隔与单条流数据平均耗时正相关。
本实施例中,上游计算节点通过增加流数据发送时间间隔,以实现降低流数据发送速率;并通过减少流数据发送时间间隔,以实现提高流数据发送速率。且流数据发送时间间隔与单条流数据平均耗时正相关,这样可以实现流数据发送速率的精确控制。
在一个实施例中,上游计算节点1002还用于当并行的计算节点1001执行增加背压标记的操作时,若当前流数据发送速率大于或等于预设值,则减少流数据发送速率;上游计算节点1002还用于当并行的计算节点1001执行增加背压标记的操作时,若上游计算节点1002当前流数据发送速率小于预设值,且并行的计算节点1001的集合中执行增加背压标记的操作的计算节点数量占比达到预设比例,则增加并行的计算节点1001的数量。
图11为另一个实施例中基于分布式流计算的背压处理系统1000的结构框图。参照图11,该系统1000还包括与并行的计算节点1001相应的下游计算节点1003,用于统计各自的流数据池中流数据占相应流数据池的总容量的数据占比;并行的计算节点1001还用于获取并行的计算节点1001的下游计算节点1003各自的数据占比;确定获取的下游计算节点1003各自的数据占比的大小关系;根据大小关系对下游计算节点1003进行负载均衡。
本实施例中,根据下游计算节点各自的数据占比的大小关系对下游计算节点进行负载均衡,可进一步减少背压问题出现的概率。
在一个实施例中,并行的计算节点1001、上游计算节点1002和下游计算节点1003可以是物理设备或者物理设备中的物理单元,也可以是运行在物理设备中的程序代码。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种基于分布式流计算的背压处理方法,其特征在于,包括:
接收上游计算节点发送的流数据并存储于流数据池中,所述流数据池中的流数据在本地进行流计算时被消耗;统计所述流数据池中的流数据占所述流数据池的总容量的数据占比;
若统计的所述数据占比大于或等于第一阈值,且固定的时间段内所述数据占比大于或等于所述第一阈值的时间占比大于或等于预设占比,则调高所述第一阈值,重置所述时间占比,并执行增加背压标记的操作;当执行所述增加背压标记的操作时,若所述上游计算节点当前流数据发送速率大于或等于预设值,所述上游计算节点减少流数据发送速率;
若统计的所述数据占比大于或等于第一阈值,且固定的时间段内所述数据占比大于或等于第一阈值的时间占比小于所述预设占比,则执行增加背压标记的操作;
若统计的所述数据占比小于或等于第二阈值,且所述第一阈值已被调高,则调低所述第一阈值,重置所述时间占比,并执行删除所述背压标记的操作;所述删除所述背压标记的操作用于使所述上游计算节点提高流数据发送速率;所述第二阈值小于所述第一阈值;
当执行所述增加背压标记的操作时,若所述上游计算节点当前流数据发送速率小于所述预设值,且若当前计算节点及其并行的计算节点中执行所述增加背压标记的操作的计算节点数量占比达到预设比例,则增设与当前计算节点并行的计算节点。
2.根据权利要求1所述的方法,其特征在于,所述第一阈值被调整时,所述第二阈值跟随所述第一阈值同步调整。
3.根据权利要求2所述的方法,其特征在于,所述第一阈值被调整时,所述第二阈值跟随所述第一阈值同步调整包括:
在调高所述第一阈值时,同步调高所述第二阈值;
在调低所述第一阈值时,同步调低所述第二阈值。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若统计的所述数据占比小于或等于所述第二阈值,且所述第一阈值未被调高,则执行所述删除所述背压标记的操作。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述上游计算节点在降低所述流数据发送速率时,增加流数据发送时间间隔;所述流数据发送时间间隔与单条流数据平均耗时正相关。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述上游计算节点在提高所述流数据发送速率时,减少流数据发送时间间隔。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取当前计算节点的下游计算节点各自的流数据池中流数据占相应流数据池的总容量的数据占比;
确定获取的下游计算节点各自的数据占比的大小关系;
根据所述大小关系对所述下游计算节点进行负载均衡。
8.一种基于分布式流计算的背压处理系统,其特征在于,所述系统包括并行的计算节点和与所述并行的计算节点对应的上游计算节点;
所述上游计算节点用于向所述并行的计算节点发送流数据;所述并行的计算节点用于接收所述上游计算节点发送的流数据并存储于流数据池中,所述流数据池中的流数据在本地进行流计算时被消耗;统计所述流数据池中的流数据占所述流数据池的总容量的数据占比;若统计的所述数据占比大于或等于第一阈值,且固定的时间段内所述数据占比大于或等于所述第一阈值的时间占比大于或等于预设占比,则调高所述第一阈值,重置所述时间占比,并执行增加背压标记的操作;当执行所述增加背压标记的操作时,若所述上游计算节点当前流数据发送速率大于或等于预设值,所述上游计算节点减少流数据发送速率;若统计的所述数据占比大于或等于第一阈值,且固定的时间段内所述数据占比大于或等于第一阈值的时间占比小于所述预设占比,则执行增加背压标记的操作;若统计的所述数据占比小于或等于第二阈值,且所述第一阈值已被调高,则调低所述第一阈值,重置所述时间占比,并执行删除所述背压标记的操作;所述第二阈值小于所述第一阈值;当执行所述增加背压标记的操作时,若所述上游计算节点当前流数据发送速率小于所述预设值,且若当前计算节点及其并行的计算节点中执行所述增加背压标记的操作的计算节点数量占比达到预设比例,则增设与当前计算节点并行的计算节点;
所述上游计算节点用于根据增加的所述背压标记降低流数据发送速率,根据删除的所述背压标记提高流数据发送速率。
9.根据权利要求8所述的系统,其特征在于,所述并行的计算节点在调整所述第一阈值时,同步调整所述第二阈值。
10.根据权利要求8所述的系统,其特征在于,所述并行的计算节点在调高所述第一阈值时,同步调高所述第二阈值;所述并行的计算节点在调低所述第一阈值时,同步调低所述第二阈值。
11.根据权利要求8所述的系统,其特征在于,所述并行的计算节点还用于若统计的所述数据占比小于或等于所述第二阈值,且所述第一阈值未被调高,则执行所述删除所述背压标记的操作。
12.根据权利要求8所述的系统,其特征在于,所述上游计算节点还用于在降低所述流数据发送速率时,增加流数据发送时间间隔;所述流数据发送时间间隔与单条流数据平均耗时正相关。
13.根据权利要求8所述的系统,其特征在于,所述上游计算节点还用于在提高所述流数据发送速率时,减少流数据发送时间间隔。
14.根据权利要求8所述的系统,其特征在于,所述系统还包括与所述并行的计算节点相应的下游计算节点,用于统计各自的流数据池中流数据占相应流数据池的总容量的数据占比;所述并行的计算节点还用于获取所述并行的计算节点的下游计算节点各自的数据占比;确定获取的下游计算节点各自的数据占比的大小关系;根据所述大小关系对所述下游计算节点进行负载均衡。
15.一种物理设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611041838.0A CN108073445B (zh) | 2016-11-18 | 2016-11-18 | 基于分布式流计算的背压处理方法和系统 |
PCT/CN2017/106947 WO2018090784A1 (zh) | 2016-11-18 | 2017-10-19 | 基于分布式流计算的处理方法、系统、物理设备和存储介质 |
US16/296,056 US10841229B2 (en) | 2016-11-18 | 2019-03-07 | Processing method, system, physical device and storage medium based on distributed stream computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611041838.0A CN108073445B (zh) | 2016-11-18 | 2016-11-18 | 基于分布式流计算的背压处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073445A CN108073445A (zh) | 2018-05-25 |
CN108073445B true CN108073445B (zh) | 2021-10-22 |
Family
ID=62146124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611041838.0A Active CN108073445B (zh) | 2016-11-18 | 2016-11-18 | 基于分布式流计算的背压处理方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10841229B2 (zh) |
CN (1) | CN108073445B (zh) |
WO (1) | WO2018090784A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984770A (zh) | 2018-07-23 | 2018-12-11 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
US20220407794A1 (en) * | 2019-10-30 | 2022-12-22 | Nippon Telegraph And Telephone Corporation | Transmission control device, transmission control method, and transmission control program |
CN111324434B (zh) * | 2020-02-04 | 2023-03-21 | 支付宝(杭州)信息技术有限公司 | 计算任务的配置方法、装置及执行系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101203827A (zh) * | 2005-05-23 | 2008-06-18 | 微软公司 | 用于媒体流的流量控制 |
CN101984594A (zh) * | 2010-10-25 | 2011-03-09 | 华为技术有限公司 | 交换网流量控制方法和装置 |
US20110142064A1 (en) * | 2009-12-15 | 2011-06-16 | Dubal Scott P | Dynamic receive queue balancing |
CN103152192A (zh) * | 2011-12-07 | 2013-06-12 | 中国移动通信集团浙江有限公司 | 数据传输方法及网管系统 |
CN104899079A (zh) * | 2014-03-05 | 2015-09-09 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法及装置 |
CN105930203A (zh) * | 2015-12-29 | 2016-09-07 | 中国银联股份有限公司 | 一种控制消息分发的方法及装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555244A (en) * | 1994-05-19 | 1996-09-10 | Integrated Network Corporation | Scalable multimedia network |
US7106696B1 (en) * | 2001-08-31 | 2006-09-12 | Juniper Networks, Inc. | Systems and methods for limiting the rates of data to/from a buffer |
US7983156B1 (en) * | 2004-11-12 | 2011-07-19 | Openwave Systems Inc. | System and method for controlling network congestion |
US7558859B2 (en) * | 2005-10-17 | 2009-07-07 | Microsoft Corporation | Peer-to-peer auction based data distribution |
US7830875B2 (en) * | 2007-06-13 | 2010-11-09 | Juniper Networks, Inc. | Autonegotiation over an interface for which no autonegotiation standard exists |
US9215620B2 (en) * | 2008-05-05 | 2015-12-15 | Cisco Technology, Inc. | Distributed bi-directional flow control in wireless mesh networks |
US8413158B2 (en) * | 2010-09-13 | 2013-04-02 | International Business Machines Corporation | Processor thread load balancing manager |
US9059862B2 (en) * | 2012-03-13 | 2015-06-16 | Verizon Patent And Licensing Inc. | Evolved packet core (EPC) network failure prevention |
US8621074B2 (en) * | 2012-04-27 | 2013-12-31 | Xerox Business Services, Llc | Intelligent work load manager |
US8867343B2 (en) * | 2013-03-15 | 2014-10-21 | Extrahop Networks, Inc. | Trigger based recording of flows with play back |
US9426475B2 (en) * | 2013-06-25 | 2016-08-23 | VIXS Sytems Inc. | Scene change detection using sum of variance and estimated picture encoding cost |
CN104298556B (zh) * | 2013-07-17 | 2018-01-09 | 华为技术有限公司 | 流处理单元的分配方法及装置 |
CN104978232A (zh) * | 2014-04-09 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 用于实时流式计算的计算资源扩容、释放方法及其装置 |
US10560392B2 (en) * | 2015-07-08 | 2020-02-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Wireless communication arrangement with two devices communicating with each other via a radio link in which a common radio interface constitutes a communication protocol for data streams arranged to support a segmentation of data frames |
US9979656B2 (en) * | 2015-12-07 | 2018-05-22 | Oracle International Corporation | Methods, systems, and computer readable media for implementing load balancer traffic policies |
CN106326008A (zh) * | 2016-08-23 | 2017-01-11 | 成都卡莱博尔信息技术股份有限公司 | 一种面向集群系统的监控方法 |
WO2018054171A1 (zh) * | 2016-09-22 | 2018-03-29 | 腾讯科技(深圳)有限公司 | 通话方法、装置、计算机存储介质及终端 |
US10594616B2 (en) * | 2016-09-30 | 2020-03-17 | Hughes Network Systems, LLC. | Data buffering control system and method for a communication network |
US11436058B2 (en) * | 2016-11-17 | 2022-09-06 | International Business Machines Corporation | Workload balancing to achieve a global workload balance |
-
2016
- 2016-11-18 CN CN201611041838.0A patent/CN108073445B/zh active Active
-
2017
- 2017-10-19 WO PCT/CN2017/106947 patent/WO2018090784A1/zh active Application Filing
-
2019
- 2019-03-07 US US16/296,056 patent/US10841229B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101203827A (zh) * | 2005-05-23 | 2008-06-18 | 微软公司 | 用于媒体流的流量控制 |
US20110142064A1 (en) * | 2009-12-15 | 2011-06-16 | Dubal Scott P | Dynamic receive queue balancing |
CN101984594A (zh) * | 2010-10-25 | 2011-03-09 | 华为技术有限公司 | 交换网流量控制方法和装置 |
CN103152192A (zh) * | 2011-12-07 | 2013-06-12 | 中国移动通信集团浙江有限公司 | 数据传输方法及网管系统 |
CN104899079A (zh) * | 2014-03-05 | 2015-09-09 | 阿里巴巴集团控股有限公司 | 一种数据处理的方法及装置 |
CN105930203A (zh) * | 2015-12-29 | 2016-09-07 | 中国银联股份有限公司 | 一种控制消息分发的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190207861A1 (en) | 2019-07-04 |
WO2018090784A1 (zh) | 2018-05-24 |
CN108073445A (zh) | 2018-05-25 |
US10841229B2 (en) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101770673B1 (ko) | 작업부하 밀도를 증가시키고 또한 에너지 효율성을 개선하기 위한 전력 균형화 | |
CN108073445B (zh) | 基于分布式流计算的背压处理方法和系统 | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN103595651B (zh) | 基于分布式的数据流处理方法和系统 | |
CN105900064A (zh) | 调度数据流任务的方法和装置 | |
CN113138860B (zh) | 消息队列的管理方法及装置 | |
CN102823206B (zh) | 用于降低分组处理线卡中的能量消耗的方法以及分组处理线卡 | |
CN112988354B (zh) | 一种卫星通信系统出站资源优化管理方法 | |
CN102314336A (zh) | 一种数据处理方法和系统 | |
CN111078391A (zh) | 一种业务请求处理方法、装置及设备 | |
CN111262783B (zh) | 一种动态路由的方法及装置 | |
CN103248622B (zh) | 一种自动伸缩的在线视频服务质量保障方法及系统 | |
CN107491458A (zh) | 一种存储时间序列数据的方法和装置以及系统 | |
CN114448989B (zh) | 调整消息分发的方法、装置、电子设备、存储介质及产品 | |
CN103744735B (zh) | 一种多核资源的调度方法及装置 | |
CN115211092B (zh) | 一种消息拉取方法、装置以及计算机存储介质 | |
CN107038067B (zh) | 分布式流处理中处理资源的管理方法和装置 | |
CN109756372B (zh) | 一种电信计费系统的弹性伸缩方法及装置 | |
CN102821423B (zh) | 报文接收方法及装置 | |
CN110728372B (zh) | 一种人工智能模型动态加载的集群设计方法及集群系统 | |
CN110324411B (zh) | 一种业务分流方法及装置 | |
CN112437015A (zh) | 分流调度方法、装置、系统和计算机可读存储介质 | |
CN114296959A (zh) | 消息入队方法和装置 | |
CN110647381B (zh) | 一种虚拟机资源均衡和部署优化方法 | |
CN106357763B (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 |