CN116249964A - 流并行区中的负载平衡 - Google Patents
流并行区中的负载平衡 Download PDFInfo
- Publication number
- CN116249964A CN116249964A CN202180060933.8A CN202180060933A CN116249964A CN 116249964 A CN116249964 A CN 116249964A CN 202180060933 A CN202180060933 A CN 202180060933A CN 116249964 A CN116249964 A CN 116249964A
- Authority
- CN
- China
- Prior art keywords
- data stream
- parallel region
- processing system
- data
- data processing
- 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.)
- Pending
Links
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- 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/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- 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
-
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
响应于接收到数据流,初始化在分布式数据处理系统中包括的并行区域中的一个或多个操作符以用于数据流的流处理。响应于识别到数据流的变化或分布式数据处理系统的变化,动态调整数据流和在分布式数据处理系统中包括的并行区域的大小中的至少一者。经由数据流和在分布式数据处理系统中包括的并行区域中的经动态调整的一者来处理数据流。
Description
技术领域
本发明总体上涉及流计算应用领域,更具体地,涉及在流数据处理的并行区域中平衡数据流。
背景技术
流处理是在运动中的数据的处理,或者换言之,在数据被产生或接收时直接对数据进行计算。流处理是大数据技术。大多数数据被生成为连续流:传感器事件、网站上的用户活动、金融交易等,所有这些数据随时间被创建为一系列事件,并且流处理可以在接收数据的微小时段内快速检测条件。检测时段从几毫秒变化到几分钟。例如,借助流处理,通过查询来自温度传感器的数据流,当温度已经达到冰点时可以接收警报。在流处理之前,这种类型的数据通常被存储在数据库、文件系统或其他形式的大容量存储器中。应用将根据需要查询数据或对数据进行计算。流处理还被称为许多其他名称:实时分析、流式分析、复杂事件处理、实时流式分析以及事件处理。
发明内容
本发明的实施例包括一种用于分析电路图以确定其功能的方法。在一个实施例中,响应于接收到数据流,初始化在分布式数据处理系统中包括的并行区域中的一个或多个操作符以用于所述数据流的流处理。响应于识别到所述数据流的变化或所述分布式数据处理系统的变化,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者。经由所述数据流和在所述分布式数据处理系统中包括的所述并行区域中的经动态调整的一者来处理所述数据流。
附图说明
图1示出了根据本发明的实施例的包括流处理应用的计算环境的功能框图;
图2是描绘根据本发明的实施例的在图1的计算环境内的计算设备上提供对流数据处理的并行区域中的数据流的平衡的流优化程序的操作步骤的流程图;
图3A描绘了根据本发明的实施例的在流处理应用内的并行区域的第一示例;
图3B描绘了根据本发明的实施例的在流处理应用内的并行区域的第二示例;以及
图4描绘了根据本发明的实施例的在图1的计算环境内执行流优化程序的计算设备的组件的框图。
具体实施方式
本发明的实施例认识到可用数据量正在迅速增加。数据源包括但不限于物联网设备、任何数量的传感器(温度、气压、风、水位、水压、地震等)、来自不同行业的机器的数据、社交媒体数据、以及诸如金融交易数据的交易数据。处理大量的这些结构化和/或非结构化数据可以意味着首先存储数据(由于所需的存储器资源(例如,具有数据库存储的计算机服务器),这很昂贵),然后查询数据。由于该方法涉及的时间,数据中的实时趋势可能被错过,从而导致错过的机会。需要一种更快、实时或接近实时地处理数据的方法。
本发明的实施例认识到,可以存在一种用于平衡分布式数据处理系统的并行区域中的数据流以用于在大数据的实时分析中处理数据流的方法、计算机程序产品以及计算机系统。在一个实施例中,流处理应用内的数据流可由该方法、计算机程序产品以及计算机系统基于(i)数据的属性(例如,最高对恒定的数据速率、数据的节流、数据的优先级排队等)和(ii)计算系统的属性(例如,系统内的资源量、资源的使用、资源的故障转移/故障恢复、并行化资源等)来指导。此外,该方法、计算机程序产品以及计算机系统能够动态地平衡流处理应用的并行区域内的多个操作符以对数据或计算系统中的变化做出反应。在各种实施例中,该方法、计算机程序产品以及计算机系统通过提供更高效的手段来实时地或接近实时地处理大量数据而不在处理之前存储该数据来改进计算机技术。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表示所描述的实施例可包括特定的特征、结构或特性。此外,这样的短语不一定指同一个实施例。此外,当结合实施例描述特定特征、结构或特性时,认为结合其他实施例(无论是否显式描述)实现这样的特征、结构或特性在本领域技术人员的知识范围内。
现在将参考附图详细描述本发明。
图1是示出根据本发明的一个实施例的总体指定为100的计算环境的功能框图。图1仅提供本发明的一个实现方式的图示,并且不暗示关于其中可以实现不同实施例的系统和环境的任何限制。本领域技术人员可以对所描绘的实施例进行许多修改,而不脱离权利要求所述的本发明的范围。
在实施例中,计算环境100包括通过网络110互连的数据源120-1、数据源120-2、数据源120-N和计算设备130。在示例实施例中,计算环境100包括其他计算设备(图1中未示出),诸如智能手表和其他可穿戴技术、蜂窝电话、智能电话、平板手机、平板计算机、附加膝上型计算机、附加台式计算机、其他计算机服务器、或本领域已知的通过网络110与数据源120-1、数据源120-2、数据源120-N和计算设备130互连的任何其他计算机系统。为了便于可读性,数据源120-N将在本文中用于(在可行的情况下)共同地指代数据源120-1、数据源120-2和数据源120-N。
在本发明的实施例中,数据源120-N和计算设备130连接到网络110,网络110使得数据源120-N和计算设备130能够访问其他计算设备和/或未直接存储在数据源120-N和计算设备130上的数据。网络110可以是例如短程低功率无线连接、局域网(LAN)、电信网、诸如互联网之类的广域网(WAN)或四者的任何组合,并且包括有线、无线或光纤连接。网络110包括一个或多个有线和/或无线网络,其能够接收和发送数据、语音和/或视频信号,包括包含语音、数据和视频信息的多媒体信号。一般而言,根据本发明的实施例,网络110是将支持数据源120-N与计算设备130以及连接到网络110的任何其他计算设备(图1中未示出)之间的通信的连接和协议的任何组合。在实施例中,由计算环境100中的另一个计算设备(图1中未示出)接收的数据经由网络110被传送至计算设备130。
在一个实施例中,数据源120-N是计算设备130可通过网络110访问的任何数量的数据源之一。根据本发明的实施例,数据源120-N是大数据源。大数据包括以连续流呈现的大量数据。数据源120-N可包括但不限于社交媒体数据(例如,用户评论和照片)、交易数据(例如,金融交易)、传感器(例如,温度和压力)数据、物联网数据(例如,视频安全数据)、以及来自制造机器的数据(例如,操作温度和氧含量)。
根据本发明的实施例,计算设备130可以是以下中的一项:膝上型计算机、平板计算机或上网本个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话、标准蜂窝电话、智能手表或任何其他可穿戴技术、或能够与计算环境100内的任何其他计算设备通信的任何其他手持式可编程电子设备。根据实施例,计算设备130可以是独立的计算设备、管理服务器、网络服务器、移动计算设备或能够接收、传输和处理数据的任何其他电子设备或计算系统。在其他实施例中,计算设备130可以表示例如在云计算环境中利用多个计算机作为服务器系统的计算系统。在某些实施例中,计算设备130表示利用群集计算机和组件(例如,数据库服务器计算机、应用服务器计算机等)的计算机系统,这些群集计算机和组件在由计算环境100的单元访问时充当单个无缝资源池。通常,计算设备130表示能够执行计算机可读程序指令的任何电子设备或电子设备的组合。在实施例中,计算环境100包括任何数量的计算设备130。根据本发明的实施例,计算设备130可以包括如关于图4更详细描绘和描述的内部和外部硬件组件。根据本发明的实施例,计算设备130包括显示器131、用户接口132、存储器133和流应用134。
根据实施例,显示器131是用于台式计算机、膝上型计算机、平板计算机、智能电话、智能手表等的电子视觉设备。显示器131可包括触摸屏,该触摸屏是放置在显示器的顶部之上的输入设备,以用于允许用户通过使用特殊触笔和/或一个或多个手指触摸显示器131经由简单或多触摸手势来控制电子设备。显示器131显示打开的程序和应用,从而允许计算设备130的用户经由键盘、鼠标和按钮(图1中未示出)与打开的程序和应用交互。显示器131可以是薄膜晶体管液晶显示器(TFT-LCD)、平板LED(发光二极管)显示器、阴极射线管(CRT)或本领域已知的或将来开发的任何类型的显示设备。显示器131可以经由VGA(视频图形阵列)、DVI(数字视频接口)、HDMI(高清多媒体接口)或本领域已知的或将来开发的任何其他连接类型来连接到计算设备130。
在实施例中,用户接口132提供计算设备130的用户与流优化程序139(下文讨论)之间的接口。用户接口132可以是图形用户接口(GUI)或web用户接口(WUI),并且可以显示文本、文档、web浏览器窗口、用户选项、应用接口和操作指令,并且包括程序呈现给用户的信息(诸如图形、文本和声音)以及用户采用以控制程序的控制序列。用户接口132还可以是在计算设备130与流优化程序139之间提供接口的移动应用软件。移动应用软件或“应用(app)”是被设计为在智能电话、平板计算机和其他移动设备上运行的计算机程序。用户接口132使得计算设备130的用户能够与流优化程序139以及图1中未示出的任何其他计算设备交互。
根据一个实施例,存储器133是由流优化程序139和计算设备130上的任何其他程序和应用写入和/或读取的存储装置。在一个实施例中,存储器133驻留在计算设备130上。在其他实施例中,存储器133驻留在计算环境100中的任何其他设备(图1中未示出)上、在云存储中、或在经由网络110可访问的另一计算设备上。在又一个实施例中,存储器133表示计算设备130内的多个存储设备。存储器133可以使用如本领域中已知的用于存储信息的任何易失性或非易失性存储介质来实现。例如,存储器133可用磁带库、光盘库、一个或多个独立硬盘驱动器、独立磁盘冗余阵列(RAID)中的多个硬盘驱动器、固态驱动器(SSD)或随机存取存储器(RAM)来实现。类似地,存储器133可用本领域已知的任何合适的存储架构(诸如关系数据库、面向对象的数据库或一个或多个表)来实现。在本发明的一个实施例中,流优化程序139和在计算设备130上操作的任何其他程序和应用(图1中未示出)可将数据存储、读取、修改或写入到存储器133。在本发明的一个实施例中,被存储到存储器133的数据包括但不限于由流优化程序139存储的数据,诸如处理数据源120-N的各种结果。
在一个实施例中,流应用134是在大量数据(诸如数据源120-N)的流处理中使用的多个应用中的一个应用。根据一个实施例,流应用134从馈送数据的数据源获取数据,将该数据传递到任何数量的操作符(其将数据处理成一个或多个结果),然后结果被数据宿(sink)向下游传递以用于存储或进一步处理。在一个实施例中,流应用134包括操作符135和流优化程序139。
根据一个实施例,操作符135是流应用134内的对数据执行动作(即,处理传入数据流中的数据并产生结果的输出流)的多个操作符。操作符135由程序开发者编写。操作符135可被重复(即,被并行化)以分布来自传入数据流的工作负载。一组重复操作符135被称为通道(channel)。
在一个实施例中,流优化程序139可以是程序、较大程序的子程序、应用、多个应用或移动应用软件,其用于动态地平衡在大数据的实时分析中使用的流数据过程的并行区域中的数据流。根据一个实施例,并行区域是流应用内的区域,在该区域中,现有操作符被重复,从而允许数据流在重复的操作符之间被拆分以用于改进的数据处理。程序是被写入以执行特定任务的指令序列。在一个实施例中,流优化程序139独立地运行。在其他实施例中,流优化程序139依赖于系统软件和/或要执行的其他程序(图1中未示出)。根据一个实施例,流优化程序139是基于利用机器学习和深度学习的人工智能的认知系统,该认知系统分析一个或多个数据流的流以平衡一个或多个流的数据流。在该实施例中,流优化程序139能够拆分数据流并重复操作符,使得数据能够被并行处理。在一个实施例中,流优化程序139用作驻留在计算设备130上的独立程序。在另一个实施例中,流优化程序139结合在计算环境100中发现的其他程序、应用等工作。在又一个实施例中,流优化程序139驻留在计算环境100中的其他计算设备(图1中未示出)上,这些其他计算设备经由网络110互连到计算设备130。
根据一个实施例,流优化程序139从一个或多个数据源接收数据。在该实施例中,流优化程序139确定数据流(即,数据量、数据率等)。此外,在该实施例中,流优化程序139初始化一个或多个操作符。此外,在该实施例中,流优化程序139向初始化后的操作符发送数据。此外,在该实施例中,流优化程序139监视数据流和处理该数据流的计算系统两者。外,在该实施例中,流优化程序139识别对所接收的数据的改变。此外,在该实施例中,基于所识别的对所接收的数据的改变,流优化程序139调整数据流和/或操作符。此外,在该实施例中,流优化程序139处理数据。此外,在该实施例中,流优化程序139发送所处理的数据的结果。
图2是描绘用于动态地平衡在大数据的实时分析中使用的流数据处理的并行区域中的数据流的方法的工作流200的流程图。在一个实施例中,工作流200的方法由流优化程序139执行。在一个替代实施例中,工作流200的方法由与流优化程序139一起工作的任何其他程序来执行。在一个实施例中,计算设备130的用户在访问数据流时调用工作流200。在一个替代实施例中,计算设备130的用户在识别到一个或多个数据源时调用工作流200。
在一个实施例中,流优化程序139接收数据(步骤202)。换言之,流优化程序139从一个或多个数据源接收数据。根据一个实施例,所接收的数据包括大量流式传输数据,并且以接近恒定的速率接收数据。在一个实施例中,流优化程序139通过网络110从数据源120-N接收数据流。例如,Dan是负责新发动机开发的喷气式发动机制造公司的工程师。现今,Dan正在新发动机上运行飞行仿真,并且公司服务器上的程序正在从在三小时仿真期间监视发动机的数百个传感器接收数十太字节(terabytes)的数据。
根据本发明的一个实施例,流优化程序139确定数据流(步骤204)。换言之,流优化程序139确定所接收的数据的数据流速率。在一个实施例中,数据流速率接近恒定并且确定仅仅是特定时间段的数据量(例如,太字节/小时)。在另一个实施例中,数据流速率不断改变,并且确定是在做出该确定的每个时间点的瞬时速率。根据一个实施例,流优化程序139确定从数据源120-N接收的数据的数据流速率。例如,对于整个三小时仿真的预期总共六十太字节的数据,公司服务器上的程序确定每小时二十太字节的近似数据流速率。
在一个实施例中,流优化程序139初始化操作符(步骤206)。换言之,响应于确定数据流速率,流优化程序139初始化流应用内的多个操作符以正确地处理数据。低数据量/低数据流速率需要的操作符比高数据量/高数据流速率需要的操作符少。根据一个实施例,操作符是流应用的对数据执行动作以确定特定结果的功能片段。流应用可以包括任何数量的操作符。在一个实施例中,流优化程序139初始化流应用134内的多个操作符135。例如,公司服务器上的程序初始化应用服务器上的八个操作符以处理与喷气式发动机相关联的每小时二十太字节的仿真数据。
根据本发明的一个实施例,流优化程序139向操作符发送数据(步骤208)。换言之,流优化程序139将所接收的数据发送到初始化后的操作符以用于处理。在一个实施例中,数据在计算设备内被发送以供处理。在另一个实施例中,通过网络将数据从一个计算设备发送到(操作符所在的)另一个计算设备以用于处理。根据一个实施例,计算设备130上的流优化程序139将所接收的数据发送到流应用134内的操作符135。例如,公司服务器上的程序将引擎仿真数据发送到八个操作符所在的应用服务器进行处理。
根据一些实施例,流优化程序139监视系统/数据(步骤210)。换言之,流优化程序139监视处理数据流的计算系统以及数据流两者以寻找可能影响数据处理的任何改变。在一个实施例中,由流优化程序139监视的项目包括但不限于计算系统的整体状态、计算系统中的可用计算资源、计算系统内的上述资源的使用、流应用内的初始化后的操作符、以及到计算系统中的数据流。根据本发明的一个实施例,流优化程序139监视计算设备130、来自数据源120-N的数据流以及流应用134的改变。例如,公司服务器上的程序监视应用服务器和引擎仿真数据的任何改变。
根据本发明的一个实施例,流优化程序139识别改变(步骤212)。换言之,响应于监视计算系统和数据,流优化程序139识别改变。在一个实施例中,所识别的改变是对处理数据流的计算系统和数据流本身中的一者或两者的改变。流优化程序139可以使用安装在计算系统中的可用系统监视器来监视该系统的健康情况。此外,流优化程序139可识别数据处理何时减慢或停止,作为识别对系统或数据的改变的一部分。根据一个实施例,流优化程序139识别对计算设备130和来自数据源120-N的数据流中的一者或两者的改变。例如,公司服务器上的程序识别出发动机仿真数据的流速率已经从所确定的每小时二十太字节增加到每小时四十太字节。
在一个实施例中,流优化程序139执行调整(步骤214)。换言之,响应于识别出对计算系统和所接收的数据中的一者或两者的改变,流优化程序139执行调整以补偿所识别的改变。根据一个实施例,流优化程序139可执行对计算系统的调整、执行对向操作符传输数据的调整或执行这两种调整。在一个实施例中,流优化程序139对计算设备130和从数据源120-N到计算设备130上的流应用134中的操作符135的数据传输中的一者或两者执行调整。例如,响应于数据流速率的加倍,公司服务器上的程序并行化(重复)应用服务器中的八个操作符,从而导致总共十六个操作符。在该实例中,存在八对操作符。原始的八个操作符(可以表示为OP-1A到OP-8A)被重复,从而创建并行化的操作符OP-1B到OP-8B。操作符OP-1A和OP-1B对数据执行相同的操作或功能,OP-2A和OP2-B执行相同的操作,以及对于随后的每对操作符,一个单独的操作符以与该对中的另一操作符类似的方式执行相同的操作。
除了上述操作符的并行化,以下段落将讨论可由流优化程序139识别的本发明的其他实施例以及对流优化程序139的实施例的适当响应。以下讨论的由流优化程序139作出的对流应用的并行区域的大小的改变均没有破坏数据的处理。
在第一附加实施例中,流优化程序139可识别出用于处理数据流的计算资源的大小已改变。例如,如果中央处理单元的总能力由于一个或多个处理核的丧失而降低,则可以通过流优化程序139来减少数据到(多个)操作符的传输,从而使得对数据的处理可以继续。在另一个示例中,数据可通过流优化程序139被路由到通道(通道是一组重复操作符)中的一个或多个操作符,该通道包括比某些其他通道更多的计算资源(例如,处理器能力、存储器、网络带宽等)。
在第二附加实施例中,流优化程序139可识别出可用于处理数据流的计算资源的使用率的改变。例如,如果当前用于处理数据的计算系统中可用的存储器被高优先级应用占用,则流优化程序139可以减慢或停止向操作符传输数据,直到存储器再次变得可用于处理数据流为止。在另一个示例中,如果特定通道具有低资源使用率,则流优化程序139可优先于其他通道而向该特定通道传送数据。
在第三附加实施例中,流优化程序139可确定在某一时间段内,需要实现最高数据速率而非实现恒定数据速率,实现最高数据速率是流经计算系统的数据流的优选条件。例如,如果流优化程序139识别到对计算系统的波动电力供应(这将是异常情况),则流优化程序139可将数据的传输增加到最高可能速率以在电力供应的潜在中断之前完成数据的处理。替代地,流优化程序139可确定其中以恒定速率发送数据有益的情形;在该情形中,流优化程序139能够以这样的方式调整数据流。
在第四附加实施例中,流优化程序139可确定一个或多个通道需要对数据流的节流。例如,如果计算资源的一部分离线以用于安全更新,则流优化程序139可动态地节流或减少到剩余通道/操作符的数据流以使得处理能够继续。当计算资源再次在线时,流速率可返回至最佳速率。
在第五附加实施例中,流优化程序139可识别出需要实际数据的优先级排队的情况。例如,如果针对社交媒体研究正在处理数据并且与即时保健问题相关联的数据变得可用,则流优化程序139能够将保健数据元组的处理优先于社交媒体数据元组,以使得保健数据被处理以首先完成。除了将保健数据优先化之外,流优化程序139还可以首选将该数据发送到具有最高可用计算资源的通道。
在第六附加实施例中,流优化程序139能够在随时间推移处理数据时进行动态学习。例如,流优化程序139可以获悉以上讨论的保健数据总是在周一的1:00PM东方标准时间变得可用。相应地,流优化程序139将停止其他数据的处理以评估可用保健数据的处理。在确保用于保健数据的足够处理能力之后,流优化程序139将开始任何其他可用数据的处理。在甚至更高优先级数据变得可用的情况下,流优化程序139能够进行适当的调整以优先于保健数据而处理该更高优先级数据。因此,流优化程序139能够使用机器学习技术来确定上面讨论的哪种负载平衡技术随时间推移实现最佳结果,并且还能够将所确定的负载平衡技术应用在合适的情形中。
在第七附加实施例中,流优化程序139能够响应故障转移和故障恢复这两种情况。故障转移是在处理应用或计算系统的故障或异常终止时切换到冗余计算系统。故障恢复是将应用或计算系统恢复到先前的操作条件的过程。故障转移和故障恢复是用于要求高可靠性和接近连续的可用性的计算系统的灾难恢复系统的一部分。在故障转移的情况下,流优化程序139能够将正在进行的数据处理转换到其他可用通道和冗余计算系统。在故障恢复的情况下,流优化程序139恢复初始计算系统上的数据处理。此外,流优化程序139能够在故障转移的情况下在关键路径上针对数据动态地重复操作符以消除单点故障。
在第八附加实施例中,流优化程序139能够通过增加和/或减少流处理应用内的并行区域中的操作符的数量来动态地改变并行区域的大小(即,调整并行区域的大小)。请参考先前对应用服务器内的操作符进行并行化以将可用操作符从八增加到十六的讨论以及以下图3A和3B的讨论。在该实施例中,流优化程序139还能够响应于要被处理的数据流的降低,降低(即,减少)流应用的并行区域中的操作符的数量。
在第九附加实施例中,流优化程序139能够检测并行区域的大小(即,宽度)的改变并且作为响应而动态地减小数据速率。例如,如果包含操作符的一个或多个节点突然变得不可用,则流优化程序139能够降低数据流,使得剩余的操作符能够不中断地处理数据。
根据本发明的一个实施例,流优化程序139处理数据(步骤216)。换言之,响应于对通道和/或数据流执行调整,流优化程序139允许操作符对数据进行下游处理。在一个实施例中,基于由流优化程序139执行的调整,该处理以可用于计算系统的最有效的方式发生。根据一个实施例,流优化程序139允许由操作符135在计算设备130上处理数据。例如,公司服务器上的程序允许应用服务器上的十六个操作符处理引擎仿真数据。
在一个实施例中,流优化程序139发送结果(步骤218)。换句话说,流优化程序139在完成数据处理后将该处理的结果发送到目的地。根据一个实施例,目的地可以是用户、用于附加处理的一个或多个其他应用、或用于存储的存储器。在一个实施例中,流优化程序139将处理后的数据的结果存储到计算设备130上的存储器133。例如,公司服务器上的程序将处理后的引擎仿真数据发送到Dan所使用的膝上型计算机,使得Dan可通过将新数据与历史仿真数据进行比较来学习数据。
上述过程在本质上是迭代的。当接收到附加数据时,该过程以动态方式重复以便以最高效的方式处理该数据。这通过执行所描述的负载平衡调整的流优化程序139来实现。
图3A描绘了图1的流应用134内的第一并行区域的示例300。图3A包括数据流310、流优化程序139、并行区域320和输出330。并行区域320包括操作符135-1和操作符135-2,并且因此宽度为2。由于数据流310的大小和速率,仅需要操作符135-1和操作符135-2来有效地处理示例300的数据流310。数据处理的结果是输出330。
图3B示出了图1的流应用134内的第二并行区域的实例350。图3B包括数据流360、流优化程序139、并行区域370和输出380。并行区域370包括操作符135-1、操作符135-2、操作符135-3和操作符135-4,并且因此是宽度为4。在示例350中,数据流360是图3A中的数据流310的两倍。因此,流优化程序139动态地并行化(或重复)原始并行区域320(在图3A中)以创建并行区域370,从而将操作符从两个(即,操作符135-1和操作符135-2)加倍到四个(即,操作符135-1、操作符135-2、操作符135-3和操作符135-4)。这允许数据流360的有效处理。数据处理的结果是输出380。
图4描绘了计算机系统400,计算机系统400是包括流优化程序139的系统的示例。计算机系统400包括处理器401、高速缓存403、存储器402、永久性存储器405、通信单元407、输入/输出(I/O)接口406和通信结构404。通信结构404提供高速缓存403、存储器402、永久存储器405、通信单元407和输入/输出(I/O)接口406之间的通信。通信结构404可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信结构404可以用一个或多个总线或纵横开关(crossbar switch)来实现。
存储器402和永久存储器405是计算机可读存储介质。在该实施例中,存储器402包括随机存取存储器(RAM)。通常,存储器402可以包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存403是通过保存来自存储器402的最近访问的数据和最近访问的数据附近的数据来增强处理器401的性能的快速存储器。
用于实施本发明的实施例的程序指令和数据可以存储在永久性存储器405和存储器402中,以用于由相应的处理器401中的一个或多个经由高速缓存403来执行。在一个实施例中,永久性存储器405包括磁硬盘驱动器。替代地,或除了磁硬盘驱动器之外,永久性存储器405可包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦可编程只读存储器(EPROM)、闪存、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
由永久性存储器405使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储器405。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是永久性存储器405的一部分的另一个计算机可读存储介质上。
在这些示例中,通信单元407提供与其他数据处理系统或设备的通信。在这些示例中,通信单元407包括一个或多个网络接口卡。通信单元407可以通过使用物理和/或无线通信链路提供通信。可以通过通信单元407将用于实施本发明的实施例的程序指令和数据下载到永久性存储器405。
I/O接口406允许与可以连接到每个计算机系统的其他设备进行数据的输入和输出。例如,I/O接口406可提供到外部设备408(诸如键盘、小键盘、触摸屏和/或一些其他合适的输入设备)的连接。外部设备408还可以包括便携式计算机可读存储介质,诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实施本发明的实施例的软件和数据可以被存储在这种便携式计算机可读存储介质上并且可以经由I/O接口406被加载到永久性存储器405上。I/O接口406还连接到显示器409。
显示器409提供向用户显示数据的机制并且可以是例如计算机监视器。
本发明可以是处于任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),这些计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
此处描述的程序是根据它们在本发明的具体实施例中为之实施的应用来确定的。然而,应当理解,本文中的任何特定程序术语仅为了方便而使用,并且因此本发明不应限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。
Claims (20)
1.一种方法,所述方法包括:
响应于接收到数据流,由一个或多个计算机处理器初始化在分布式数据处理系统中包括的并行区域中的一个或多个操作符以用于所述数据流的流处理;
响应于识别到所述数据流的变化或所述分布式数据处理系统的变化,由一个或多个计算机处理器动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者;以及
由一个或多个计算机处理器经由所述数据流和在所述分布式数据处理系统中包括的所述并行区域中的经动态调整的一者来处理所述数据流。
2.根据权利要求1所述的方法,其中,由一个或多个计算机处理器动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的步骤包括:
由一个或多个计算机处理器通过并行化所述并行区域中的所述一个或多个操作符来动态调整所述并行区域的大小,其中,动态调整所述并行区域的大小包括:
响应于所述数据流增大,增大所述并行区域的大小;以及
响应于所述数据流减小,减小所述并行区域的大小。
3.根据权利要求1所述的方法,其中,由一个或多个计算机处理器动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的步骤包括:
由一个或多个计算机处理器动态调整在所述并行区域中的所述一个或多个操作符之间的所述数据流以平衡所述数据流的负载。
4.根据权利要求1所述的方法,其中,由一个或多个计算机处理器动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的步骤包括:
由一个或多个计算机处理器实现到所述并行区域的最高数据速率。
5.根据权利要求1所述的方法,其中,由一个或多个计算机处理器动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的步骤包括:
响应于在所述分布式数据处理系统中包括的一个或多个计算资源的减少,由一个或多个计算机处理器对所述分布式数据处理系统中的所述数据流动态节流。
6.根据权利要求1所述的方法,其中,由一个或多个计算机处理器动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的步骤包括:
响应于接收到高优先级数据流,由一个或多个计算机处理器将包括所述高优先级数据流的一个或多个数据元组排队为优先于一个或多个其他数据流。
7.根据权利要求1所述的方法,还包括:
基于多个分布式数据处理场景,由一个或多个计算机处理器经由机器学习技术来动态学习多个负载平衡方法;以及
由一个或多个计算机处理器针对特定的分布式数据处理场景应用多个所学习的负载平衡方法中的能够最好地处理所述特定的分布式数据处理场景中的所述数据流的负载平衡方法。
8.根据权利要求1所述的方法,其中,由一个或多个计算机处理器动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的步骤包括:
响应于故障转移,由一个或多个计算机处理器将所述数据流发送到冗余的分布式数据处理系统;以及
响应于故障恢复,由一个或多个计算机处理器将所述数据流恢复到所述分布式数据处理系统。
9.根据权利要求1所述的方法,其中,由一个或多个计算机处理器动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的步骤包括:
响应于所述并行区域中的操作符数量的变化,由一个或多个计算机处理器动态调整去往所述并行区域的所述数据流,其中:
响应于所述操作符数量的增大,增大所述数据流;以及
响应于所述操作符数量的减小,减小所述数据流。
10.一种计算机程序产品,所述计算机程序产品包括:
一个或多个计算机可读存储介质;以及
存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:
响应于接收到数据流,初始化在分布式数据处理系统中包括的并行区域中的一个或多个操作符以用于所述数据流的流处理的程序指令;
响应于识别到所述数据流的变化或所述分布式数据处理系统的变化,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的程序指令;以及
经由所述数据流和在所述分布式数据处理系统中包括的所述并行区域中的经动态调整的一者来处理所述数据流的程序指令。
11.根据权利要求10所述的计算机程序产品,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
通过并行化所述并行区域中的所述一个或多个操作符来动态调整所述并行区域的大小的程序指令,其中,动态调整所述并行区域的大小包括:
响应于所述数据流增大,增大所述并行区域的大小;以及
响应于所述数据流减小,减小所述并行区域的大小。
12.根据权利要求10所述的计算机程序产品,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
动态调整在所述并行区域中的所述一个或多个操作符之间的所述数据流以平衡所述数据流的负载的程序指令。
13.根据权利要求10所述的计算机程序产品,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
实现到所述并行区域的最高数据速率的程序指令。
14.根据权利要求10所述的计算机程序产品,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
响应于在所述分布式数据处理系统中包括的一个或多个计算资源的减少,对所述分布式数据处理系统中的所述数据流动态节流的程序指令。
15.根据权利要求10所述的计算机程序产品,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
响应于接收到高优先级数据流,将包括所述高优先级数据流的一个或多个数据元组排队为优先于一个或多个其他数据流的程序指令。
16.根据权利要求10所述的计算机程序产品,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
基于多个分布式数据处理场景,经由机器学习技术来动态学习多个负载平衡方法的程序指令;以及
针对特定的分布式数据处理场景应用多个所学习的负载平衡方法中的能够最好地处理所述特定的分布式数据处理场景中的所述数据流的负载平衡方法的程序指令。
17.根据权利要求10所述的计算机程序产品,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
响应于故障转移,将所述数据流发送到冗余的分布式数据处理系统的程序指令;以及
响应于故障恢复,将所述数据流恢复到所述分布式数据处理系统的程序指令。
18.根据权利要求10所述的计算机程序产品,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
响应于所述并行区域中的操作符数量的变化,动态调整去往所述并行区域的所述数据流的程序指令,其中:
响应于所述操作符数量的增大,增大所述数据流;以及
响应于所述操作符数量的减小,减小所述数据流。
19.一种计算机系统,所述计算机系统包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;以及
存储在所述一个或多个计算机可读存储介质上以用于由所述一个或多个计算机处理器中的至少一个计算机处理器执行的程序指令,所述程序指令包括:
响应于接收到数据流,初始化在分布式数据处理系统中包括的并行区域中的一个或多个操作符以用于所述数据流的流处理的程序指令;
响应于识别到所述数据流的变化或所述分布式数据处理系统的变化,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的程序指令;以及
经由所述数据流和在所述分布式数据处理系统中包括的所述并行区域中的被动态调整的一者来处理所述数据流的程序指令。
20.根据权利要求19所述的计算机系统,其中,动态调整所述数据流和在所述分布式数据处理系统中包括的所述并行区域的大小中的至少一者的所述程序指令包括:
通过并行化所述并行区域中的所述一个或多个操作符来动态调整所述并行区域的大小的程序指令,其中,动态调整所述并行区域的大小包括:
响应于所述数据流增大,增大所述并行区域的大小;以及
响应于所述数据流减小,减小所述并行区域的大小。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/935,427 US11640402B2 (en) | 2020-07-22 | 2020-07-22 | Load balancing in streams parallel regions |
US16/935,427 | 2020-07-22 | ||
PCT/CN2021/107323 WO2022017372A1 (en) | 2020-07-22 | 2021-07-20 | Load balancing in streams parallel regions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116249964A true CN116249964A (zh) | 2023-06-09 |
Family
ID=79688272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180060933.8A Pending CN116249964A (zh) | 2020-07-22 | 2021-07-20 | 流并行区中的负载平衡 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11640402B2 (zh) |
JP (1) | JP2023534171A (zh) |
CN (1) | CN116249964A (zh) |
DE (1) | DE112021003167T5 (zh) |
GB (1) | GB2612730A (zh) |
WO (1) | WO2022017372A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11640402B2 (en) | 2020-07-22 | 2023-05-02 | International Business Machines Corporation | Load balancing in streams parallel regions |
CN115277652B (zh) * | 2022-06-29 | 2024-03-22 | 北京百度网讯科技有限公司 | 基于推理服务的流媒体处理方法、装置、电子设备 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6834358B2 (en) * | 2001-03-28 | 2004-12-21 | Ncr Corporation | Restartable database loads using parallel data streams |
US7613848B2 (en) | 2006-06-13 | 2009-11-03 | International Business Machines Corporation | Dynamic stabilization for a stream processing system |
US20110083046A1 (en) * | 2009-10-07 | 2011-04-07 | International Business Machines Corporation | High availability operator groupings for stream processing applications |
US20110314019A1 (en) | 2010-06-18 | 2011-12-22 | Universidad Politecnica De Madrid | Parallel processing of continuous queries on data streams |
US9325757B2 (en) * | 2010-11-30 | 2016-04-26 | Adello Inc. | Methods and systems for fault-tolerant distributed stream processing |
US8959313B2 (en) * | 2011-07-26 | 2015-02-17 | International Business Machines Corporation | Using predictive determinism within a streaming environment |
US8572051B1 (en) * | 2012-08-08 | 2013-10-29 | Oracle International Corporation | Making parallel execution of structured query language statements fault-tolerant |
US9170794B2 (en) * | 2012-08-28 | 2015-10-27 | International Business Machines Corporation | Automatic exploitation of data parallelism in streaming applications |
US9106391B2 (en) * | 2013-05-28 | 2015-08-11 | International Business Machines Corporation | Elastic auto-parallelization for stream processing applications based on a measured throughput and congestion |
US10635644B2 (en) | 2013-11-11 | 2020-04-28 | Amazon Technologies, Inc. | Partition-based data stream processing framework |
CN103634394B (zh) | 2013-11-28 | 2016-08-17 | 中国科学院信息工程研究所 | 一种面向数据流处理的弹性可扩展资源管理方法及系统 |
US10257095B2 (en) | 2014-09-30 | 2019-04-09 | Nicira, Inc. | Dynamically adjusting load balancing |
US9329858B2 (en) | 2014-09-30 | 2016-05-03 | Linkedin Corporation | Managing access to resource versions in shared computing environments |
US9619266B2 (en) * | 2014-10-10 | 2017-04-11 | International Business Machines Corporation | Tearing down virtual machines implementing parallel operators in a streaming application based on performance |
US9456014B2 (en) | 2014-12-23 | 2016-09-27 | Teradata Us, Inc. | Dynamic workload balancing for real-time stream data analytics |
US20160188376A1 (en) | 2014-12-26 | 2016-06-30 | Universidad De Santiago De Chile | Push/Pull Parallelization for Elasticity and Load Balance in Distributed Stream Processing Engines |
CN105022671A (zh) | 2015-07-20 | 2015-11-04 | 中国科学院计算技术研究所 | 一种用于流式数据并行处理的负载均衡方法 |
US9785507B2 (en) * | 2015-07-30 | 2017-10-10 | International Business Machines Corporation | Restoration of consistent regions within a streaming environment |
US10303695B2 (en) * | 2015-10-21 | 2019-05-28 | Oracle International Corporation | Query decomposition for scalability of continuous query processing |
US9535763B1 (en) * | 2015-11-30 | 2017-01-03 | International Business Machines Corporation | System and method for runtime grouping of processing elements in streaming applications |
US9928046B2 (en) * | 2016-02-12 | 2018-03-27 | International Business Machines Corporation | System and method for dynamic runtime merging of real time streaming operator environments |
US10523724B2 (en) * | 2016-05-10 | 2019-12-31 | International Business Machines Corporation | Dynamic stream operator fission and fusion with platform management hints |
KR101867220B1 (ko) | 2017-02-23 | 2018-06-12 | 전자부품연구원 | 스트리밍 모델 동시 지원 및 스트림 데이터에 따라 자동선택 가능한 실시간 스트림 처리방법 및 장치 |
US10671636B2 (en) | 2016-05-18 | 2020-06-02 | Korea Electronics Technology Institute | In-memory DB connection support type scheduling method and system for real-time big data analysis in distributed computing environment |
US10303505B2 (en) * | 2016-05-19 | 2019-05-28 | International Business Machines Corporation | Adjusting a computing environment for processing a data stream with dummy tuples |
US10572276B2 (en) * | 2016-09-12 | 2020-02-25 | International Business Machines Corporation | Window management based on a set of computing resources in a stream computing environment |
US10341189B2 (en) * | 2016-09-22 | 2019-07-02 | International Business Machines Corporation | Operator fusion management in a stream computing environment |
CN106844483A (zh) | 2016-12-23 | 2017-06-13 | 航天星图科技(北京)有限公司 | 一种日志数据流处理方法 |
CN108241525A (zh) | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种多节点任务动态控制方法 |
US10574585B2 (en) * | 2017-01-07 | 2020-02-25 | International Business Machines Corporation | Resource usage management in a stream computing environment |
CN106648904B (zh) | 2017-01-09 | 2020-06-12 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
US20180268001A1 (en) * | 2017-03-16 | 2018-09-20 | International Business Machines Corporation | Managing a database management system using a set of stream computing data |
US10185745B2 (en) * | 2017-03-16 | 2019-01-22 | International Business Machines Corporation | Managing a stream computing environment using a projected database object |
US10601681B2 (en) * | 2017-03-20 | 2020-03-24 | International Business Machines Corporation | Optimizing streaming graph topology based on service level agreement |
US11102256B2 (en) * | 2017-03-24 | 2021-08-24 | International Business Machines Corporation | System and method for dynamic cloud formations for stream computing |
US10834177B2 (en) * | 2017-05-08 | 2020-11-10 | International Business Machines Corporation | System and method for dynamic activation of real-time streaming data overflow paths |
WO2018219452A1 (en) * | 2017-05-31 | 2018-12-06 | Huawei Technologies Co., Ltd. | Cross platform stream dataflows |
US10387426B2 (en) * | 2017-10-27 | 2019-08-20 | Streamsimple, Inc. | Streaming microservices for stream processing applications |
US10691489B2 (en) * | 2018-01-29 | 2020-06-23 | International Business Machines Corporation | Managing the processing of streamed data in a data streaming application using query information from a relational database |
US10761901B2 (en) * | 2018-06-28 | 2020-09-01 | International Business Machines Corporation | Dynamic runtime workload balancing in a distributed computing environment |
US11146467B2 (en) * | 2018-08-30 | 2021-10-12 | Streamworx.Ai Inc. | Systems, methods and computer program products for scalable, low-latency processing of streaming data |
US11533391B2 (en) * | 2019-06-05 | 2022-12-20 | Microsoft Technology Licensing, Llc | State replication, allocation and failover in stream processing |
US11640402B2 (en) | 2020-07-22 | 2023-05-02 | International Business Machines Corporation | Load balancing in streams parallel regions |
-
2020
- 2020-07-22 US US16/935,427 patent/US11640402B2/en active Active
-
2021
- 2021-07-20 JP JP2023500438A patent/JP2023534171A/ja active Pending
- 2021-07-20 WO PCT/CN2021/107323 patent/WO2022017372A1/en active Application Filing
- 2021-07-20 CN CN202180060933.8A patent/CN116249964A/zh active Pending
- 2021-07-20 DE DE112021003167.8T patent/DE112021003167T5/de active Pending
- 2021-07-20 GB GB2301820.3A patent/GB2612730A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220027371A1 (en) | 2022-01-27 |
JP2023534171A (ja) | 2023-08-08 |
DE112021003167T5 (de) | 2023-05-11 |
WO2022017372A1 (en) | 2022-01-27 |
US11640402B2 (en) | 2023-05-02 |
GB2612730A (en) | 2023-05-10 |
GB202301820D0 (en) | 2023-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11372657B2 (en) | Systems and methods for adaptive user interfaces | |
US11949759B2 (en) | Adaptive computation and faster computer operation | |
US11086693B2 (en) | Adaptable pages, widgets and features based on real time application performance | |
US10936439B2 (en) | Assigning storage locations based on a graph structure of a workload | |
US9942353B2 (en) | Management of connections within a messaging environment based on the statistical analysis of server responsiveness | |
WO2022017372A1 (en) | Load balancing in streams parallel regions | |
US11275677B2 (en) | High efficiency interactive testing platform | |
US11528513B2 (en) | Preemptively altering advertising content | |
US20240028354A1 (en) | Image pattern matching to robotic process automations | |
US20220067214A1 (en) | Deleting content from temporary memory | |
US10693736B2 (en) | Real time simulation monitoring | |
US9250760B2 (en) | Customizing a dashboard responsive to usage activity | |
US11194401B2 (en) | Gesture control of internet of things devices | |
US11153404B2 (en) | Client-server workload sharing | |
US9711058B2 (en) | Providing targeted feedback | |
US20220164341A1 (en) | Displaying data using granularity classification | |
US10891354B2 (en) | Categorizing and processing time-series data | |
US11620173B2 (en) | Optimizing application performance with machine learning | |
US20220091912A1 (en) | Just in time assembly of transactions | |
US20230029853A1 (en) | Predictive Analysis on Running Batch Jobs | |
CN117009179A (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 |