CN104978232A - 用于实时流式计算的计算资源扩容、释放方法及其装置 - Google Patents
用于实时流式计算的计算资源扩容、释放方法及其装置 Download PDFInfo
- Publication number
- CN104978232A CN104978232A CN201410140869.6A CN201410140869A CN104978232A CN 104978232 A CN104978232 A CN 104978232A CN 201410140869 A CN201410140869 A CN 201410140869A CN 104978232 A CN104978232 A CN 104978232A
- Authority
- CN
- China
- Prior art keywords
- computing unit
- message
- real
- processing
- calculation task
- 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
Classifications
-
- 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
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种用于实时流式计算的计算资源扩容方法和装置,一种用于实时流式计算的计算资源释放方法和装置。其中所述用于实时流式计算的计算资源扩容方法包括:判断是否存在工作负荷超过指定条件的计算单元;若是,对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分,并将拆分后的计算任务指派给与拆分数目对应的计算单元处理。采用本申请提供的用于实时流式计算的计算资源扩容方法和计算资源释放方法,能够在系统繁忙时自动扩充计算资源、在系统空闲时自动释放多余的计算资源。
Description
技术领域
本申请涉及实时流式计算领域,具体提供一种用于实时流式计算的计算资源扩容方法及其装置。本申请同时提供一种用于实时流式计算的计算资源释放方法及其装置。
背景技术
随着信息科技的日新月异,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高,在这种情况下,基于分布式集群的实时流式处理系统成为对海量数据进行计算和处理的主要方式之一。实时流式处理系统的基本原理是:把海量实时数据抽象为一个个独立的消息,然后把这些消息分发到预先分配好的计算单元上,一个计算单元计算完成后,会把计算结果按照预先设定的消息流的处理顺序(拓扑关系)传递给后续的计算单元(也称下游计算节点),直到消息流处理完毕为止。上、下游计算节点之间消息流的传递可以采用点对点传递的同步模型,也可以采用分布式消息队列进行传递。
在数据量相对稳定的情况下,上述分布式流式处理系统通常采用固定的资源配置方式即可。但是,在大数据的实时数据处理场景中,上游数据源产生数据流的频率时常具有不确定的波动性,一方面,系统高峰时产生的数据流量会增大,而系统低峰时产生的数据流量会降低;另一方面,前台业务逻辑调整也会导致数据流量波动,例如:在购物网站进行促销活动的时段,卖家操作频繁,商品变化频率会异常增加,活动结束后,商品变化率又恢复正常,导致数据流量产生大幅度波动。
而实时流式处理系统无法预计数据流量可能出现的波动,为了满足系统处理数据的实时性要求,可以按照系统在高峰时的最大数据处理能力进行计算资源(即:计算节点)的配置,这样做虽然保证了系统的实时性,但是在系统低峰期,计算资源则处于大量闲置的状态,在数据流量波动幅度较大的大数据场景下,对计算资源的浪费更为显著。
由于现有的分布式流式处理系统对消息的抽象和管理大多停留在对消息分片、消息分发等传统大数据概念上,不具备自动监测系统繁忙程度的能力,自然也不具备自动扩充或者释放计算资源的能力,因此要解决上述因为数据流量大幅波动引发的问题,需要通过对计算节点的操作来调整系统的计算资源,即:当发现系统压力变大后或者变小后,修改计算节点与消息分片的对应关系,并通过新增计算节点或者删除计算节点的方式实现系统计算资源的扩充或释放,由于上述过程一般依赖人工操作完成的,效率相对低下。此外,对于采用点对点同步模型传递消息的流式计算系统,由于上、下游计算节点之间的紧密耦合,计算资源的扩充或释放会影响上、下游全部计算节点,而且由于全局拓扑结构的变更,通常还需要先停止现有服务、修改拓扑配置后再重新启动服务,整个处理过程比较复杂、耗时。
发明内容
本申请提供一种用于实时流式计算的计算资源扩容方法,以及一种用于实时流式计算的计算资源释放方法,以解决现有技术无法自动根据数据流量的波动扩充或者释放计算资源的问题。本申请另外提供一种用于实时流式计算的计算资源扩容装置,以及一种用于实时流式计算的计算资源释放装置。
本申请提供一种用于实时流式计算的计算资源扩容方法,包括:
判断是否存在工作负荷超过指定条件的计算单元;
若是,对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分,并将拆分后的计算任务指派给与拆分数目对应的计算单元处理。
可选的,所述计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
可选的,所述判断是否存在工作负荷超过指定条件的计算单元,包括:
获取计算单元处理消息分片集合的执行状况;
根据上述获取的计算单元处理消息集合的执行状况判断是否存在工作负荷超过指定条件的计算单元;所述计算单元处理消息集合的执行状况包括:计算单元的消息处理进度、和计算单元每秒钟处理的消息数目,所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值。
可选的,所述根据上述获取的计算单元处理消息集合的执行状况判断是否存在工作负荷超过指定条件的计算单元,具体是判断是否存在同时满足以下两个条件的计算单元:
计算单元的消息处理进度大于预先设定的进度阈值;
计算单元每秒钟处理的消息数目大于或者等于计算单元每秒钟处理消息数目的理论值;以及满足如下条件
处于工作状态的计算单元总数小于预先指定的计算单元数目的最大值。
可选的,所述对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分是指,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个消息分片集合;
相应的,所述将拆分后的计算任务指派给与拆分数目对应的计算单元处理是指,将拆分后的两个消息分片集合分别指派给两个计算单元处理。
可选的,所述将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个消息分片集合是指,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个包含消息数量尽可能均等的消息分片集合。
可选的,所述将拆分后的两个消息分片集合分别指派给两个计算单元处理,包括:
向工作负荷超过指定条件的计算单元发送停止处理消息分片集合的命令;以及,为负责处理拆分后的计算任务的两个计算单元设置各自负责处理的消息分片集合;
完成上述操作后,向所述负责处理拆分后的计算任务的两个计算单元分别发送启动命令。
相应的,本申请还提供一种用于实时流式计算的计算资源扩容装置,包括:
工作负荷判断单元,用于判断是否存在工作负荷超过指定条件的计算单元;
计算任务拆分单元,用于当所述工作负荷判断单元的输出为“是”时,对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分;
拆分任务指派单元,用于将所述计算任务拆分单元输出的拆分后计算任务指派给与拆分数目对应的计算单元处理。
可选的,所述计算任务拆分单元拆分的计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
可选的,所述工作负荷判断单元包括:
执行状况获取子单元,用于获取计算单元处理消息分片集合的执行状况;所述计算单元处理消息集合的执行状况包括:计算单元的消息处理进度、和计算单元每秒钟处理的消息数目,所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值;
工作负荷判断执行子单元,用于根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况判断是否存在工作负荷超过指定条件的计算单元。
可选的,所述工作负荷判断执行子单元具体用于,判断是否存在同时满足以下三个条件的计算单元:
计算单元的消息处理进度大于预先设定的进度阈值;
计算单元每秒钟处理的消息数目大于或者等于计算单元每秒钟处理消息数目的理论值;
处于工作状态的计算单元总数小于预先指定的计算单元数目的最大值。
可选的,所述计算任务拆分单元具体用于,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个消息分片集合;
相应的,所述拆分任务指派单元具体用于,将拆分后的两个消息分片集合分别指派给两个计算单元处理。
可选的,所述计算任务拆分单元具体用于,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个包含消息数量尽可能均等的消息分片集合。
可选的,所述拆分任务指派单元包括:
停止命令发送子单元一,用于向工作负荷超过指定条件的计算单元发送停止处理消息分片集合的命令;
任务设置子单元一,用于为负责处理拆分后的计算任务的两个计算单元设置各自负责处理的消息分片集合;
启动命令发送子单元一,用于在上述两个子单元完成操作后,向所述负责处理拆分后的计算任务的两个计算单元分别发送启动命令。
此外,本申请还提供一种用于实时流式计算的计算资源释放方法,包括:
判断是否需要进行计算单元的合并;
若是,将需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并,并指派一个计算单元负责处理合并后的计算任务;所述计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
可选的,所述方法包括:
对需要合并的计算单元进行分组;
相应的,所述将需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并是指,针对每个分组,将本分组内的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并。
可选的,所述判断是否需要进行计算单元的合并,包括:
获取计算单元处理消息分片集合的执行状况;所述计算单元处理消息分片集合的执行状况是指,计算单元的消息处理进度、和计算单元每秒钟处理的消息数目;所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值;
根据上述获取的计算单元处理消息分片集合的执行状况,判断当前系统是否同时满足以下两个条件:
消息处理进度小于或者等于预先设定的进度阈值的计算单元的数目多于一个;
处于工作状态的计算单元总数大于预先指定的计算单元数目的最小值。
可选的,所述对需要合并的计算单元进行分组,采用如下分组方法:将需要合并的计算单元采用两两组合的方式形成多个分组,并且,保证如下条件成立:
根据所获取的计算单元处理消息分片集合的执行状况数据,将每个分组内的两个计算单元的每秒钟处理消息数目相加,其结果小于计算单元每秒钟处理消息数目的理论值。
可选的,所述指派一个计算单元负责处理合并后的计算任务,包括:
向分组内的需要合并的两个计算单元分别发送停止处理消息分片集合的命令;以及,为负责处理合并后的计算任务的计算单元设置其负责处理的消息分片集合;
完成上述操作后,向所述负责处理合并后的计算任务的计算单元发送启动命令。
相应的,本申请还提供一种用于实时流式计算的计算资源释放装置,包括:
资源合并判断单元,用于判断是否需要进行计算单元的合并;
计算任务合并单元,用于当所述合并判断单元的输出为“是”时,将需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并;
合并任务指派单元,用于指派一个计算单元负责处理所述任务合并单元输出的合并后的计算任务;所述计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
可选的,所述装置包括:
分组单元,用于对需要合并的计算单元进行分组;
相应的,所述计算任务合并单元具体用于针对每个分组,将本分组内的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并。
可选的,所述资源合并判断单元包括:
执行状况获取子单元,用于获取计算单元处理消息分片集合的执行状况;所述计算单元处理消息分片集合的执行状况是指,计算单元的消息处理进度、和计算单元每秒钟处理的消息数目;所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值;
合并判断执行子单元,用于根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况,判断当前系统是否同时满足以下两个条件:
消息处理进度小于或者等于预先设定的进度阈值的计算单元的数目多于一个;
处于工作状态的计算单元总数大于预先指定的计算单元数目的最小值。
可选的,所述分组单元具体用于,将需要合并的计算单元采用两两组合的方式形成多个分组,并且,保证如下条件成立:
根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况数据,将每个分组内的两个计算单元的每秒钟处理消息数目相加,其结果小于计算单元每秒钟处理消息数目的理论值。
可选的,所述合并任务指派单元包括:
停止命令发送子单元二,用于向分组内的需要合并的两个计算单元分别发送停止处理消息分片集合的命令;
任务设置子单元二,用于为负责处理合并后的计算任务的计算单元设置其负责处理的消息分片集合;
启动命令发送子单元二,用于在上述两个子单元完成操作后,向所述负责处理合并后的计算任务的计算单元发送启动命令。
与现有技术相比,本申请具有以下优点:
本申请提供的用于实时流式计算的计算资源扩容方法,在采用分布式消息队列传递计算任务的基础上,通过判断是否存在待扩容的计算单元,并对待扩容计算单元负责处理的计算任务进行拆分,然后将拆分后的计算任务指派给与拆分数目对应的接替计算单元处理,从而实现了在系统繁忙时自动扩充计算资源的功能,有效保证系统处理的实时性。
本申请提供的用于实时流式计算的计算资源释放方法,在采用分布式消息队列传递计算任务的基础上,通过判断是否需要进行计算单元的合并,并对需要合并的计算单元负责处理的计算任务进行合并,然后指派一个接替计算单元负责处理合并后的计算任务,从而实现了在系统空闲时自动释放多余的计算资源的功能,减少对计算资源的浪费。
附图说明
图1为本申请技术方案需要达成的技术效果的示意图;
图2为本申请的一种用于实时流式计算的计算资源扩容方法的实施例流程图;
图3为本申请的一个计算单元处理消息的时序图;
图4为本申请的一种用于实时流式计算的计算资源扩容方法的拆分过程示意图;
图5为本申请的一种用于实时流式计算的计算资源扩容方法的拆分算法流程图;
图6为本申请的一种用于实时流式计算的计算资源释放方法的合并过程示意图;
图7为本申请的一种用于实时流式计算的计算资源释放方法的实施例流程图;
图8为本申请的一种用于实时流式计算的计算资源释放方法的合并算法流程图;
图9为本申请的一种用于实时流式计算的计算资源扩容装置的实施例示意图;
图10为本申请的一种用于实时流式计算的计算资源释放装置的实施例示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
请参看图1,该图为本申请所提供的技术方案需要达成的技术效果的示意图。
如图1所示,在实时流式计算系统中,采用分布式消息队列传递计算任务。本申请提供的实施例期望达成的技术效果是:当计算单元的任务过重时,即分布式消息队列在流量高峰期时,能够自动检测到这一情况,并自动增加计算单元数量;当分布式消息队列在流量低峰期时,同样能够检测到这一情况,并自动减少消息流计算单元数量。
为达成上述目的,本申请提供一种用于实时流式计算的计算资源扩容方法,以及一种用于实时流式计算的计算资源释放方法。上述两种方法针对的都是将计算单元的数量——即计算资源——根据分布式消息队列传递的计算任务进行调整,前者是在计算任务过大时增加计算资源,后者是在计算任务过小时减少计算资源。
请参看图2,该图为本申请第一实施例提供的用于实时流式计算的计算资源扩容方法的流程图。该流程图所示的各个步骤,由计算系统中某个能够获得各个计算单元状况并可以对整个计算系统的资源进行调配的调度处理单元完成。
步骤S201,获取计算单元处理消息分片集合的执行状况。
图1所示的各个计算单元通过分布式消息队列获得计算任务。消息队列包含若干以队列形式排列的消息,为了便于进行任务分配,对许多消息组成的消息集合进行分片,形成消息分片。一个消息队列包含若干消息分片,因此可以视为消息分片的集合。以下称计算单元处理的消息队列为消息分片集合,以便于叙述。每一片称作一个消息分片。每个消息分片包含的消息个数称为分片消息数(SplitIoPs)。
所述计算单元处理消息分片集合的执行状况,特指用于衡量计算单元计算任务的负荷情况的一些指标,在本实施例中,主要包括计算单元的消息处理进度、和计算单元每秒钟处理的消息数目。
请参看图3,该图示出一个计算单元处理消息队列的时序图。以下结合该图,说明消息处理进度,和计算单元每秒钟处理的消息数目两个指标的具体含义。
如图所示,每个被流式计算系统处理的数据被称作一个消息;计算单元接收到的消息来自远程消息源,这些远程消息源一般有多个,图中示为“远程消息源ⅹN”。每个消息都有一个产生时刻TP,系统接收到消息的时间为TR,消息被处理完成的时间为TC。
消息处理进度,即流式计算系统中消息被处理的时刻TH和当前正在被处理消息的产生时刻TP之差,被称为消息处理进度P。如果P大于一个系统设置的进度阈值(ThresholdProcess),则称为进度延迟(Process Delay),否则称为进度正常(Proccess Normal)。进度阈值可以取自一个计算单元进行消息处理的正常值范围内的值。在计算任务较多的情况下,计算单元有可能超过该进度阈值,在计算任务较少的情况下,也有可能小于该进度阈值。
所述计算单元每秒钟处理的消息数目(TPS),需要考虑计算单元中包含的线程数目以及一个消息的处理时间即等待时长(Latency),以下具体说明。
在流式计算系统中,一个消息的处理时间被称为等待时长(Latency),具体而言,流式计算系统中,Latency=TC-TR,该数值的单位一般采用ms。对于一个具体的计算单元,正常工作情况下等待时长Latency有一个平均值,在下面的计算公式中,Latency即用于表示这个平均值,而不是表示某个具体消息的实际等待时长。
实时流式计算系统中的一个计算单元处理N个消息分片,每个消息分片需要一个线程负责读取此消息分片的消息,一个计算单元中一般多个线程并发处理消息分片;一个计算单元的线程数目记为M,称为计算单元的并发度。N个消息分片和M个线程在数量上没有相关关系,一般N远大于M。
所述每秒钟处理的消息数目,其计算要考虑该计算单元处理一个消息的等待时长Latency,以及该计算单元的线程数量;其具体计算公式如下:
每秒钟处理的消息数目的理论值(理论TPS)=1000/Latency*M;
上述理论TPS是根据计算单元的相关参数获得,并非计算单元实际的每秒钟处理的消息数目。
实际TPS,是实际统计出来的一个计算单元每秒钟处理的消息数。
本步骤获取计算单元处理消息分片集合的执行状况,实际上就是获取某个具体的计算单元的实际消息处理进度和实际TPS。
步骤S202,根据上述获取的计算单元处理消息集合的执行状况判断是否存在工作负荷超过指定条件的计算单元;若是,则进入下一步。若否,则返回步骤S201。
在获得某个计算单元的执行状况后,就可以根据该执行状况判断是否存在工作负荷超过指定条件的计算单元。所述执行状况包括计算单元的消息处理进度和计算单元每秒钟处理的消息数目。
具体的判断方法是判断是否存在同时满足以下三个条件的计算单元:
A、计算单元的消息处理进度大于预先设定的进度阈值;
B、计算单元每秒钟处理的消息数目大于或者等于计算单元每秒钟处理消息数目的理论值;
C、处于工作状态的计算单元总数小于预先指定的计算单元数目的最大值。
条件A中的进度阈值,是根据计算单元的正常情况设置的衡量消息处理进度情况的参数,若消息处理进度大于该进度阈值,则说明出现了进度延迟,说明有可能需要增加计算资源,即进行资源扩容。
条件B说明计算单元的压力过大,有增加计算资源的必要。
条件C则用于判断是否还存在可以用于资源扩容的计算单元,如果处于工作状态的计算单元总数已经等于预先制定的计算单元数目的最大值,则在当前系统下,不存在增加计算单元的可能,则即便出现了进度延迟,以及计算单元压力过大的情况,也没有资源进行资源扩容。
本步骤的判断结论为否,则可以返回步骤S201,继续监测计算单元处理消息分片集合的执行状况。在返回步骤S201前,也可以延迟一个时间间隔,以减小为监测执行状况耗费的资源。
步骤S203,对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分。
在本实施例中,以一拆二为例说明进行上述计算任务拆分的过程。在实际实施中,不妨采用一拆三或者一拆四等,但一般采用一拆二的方式比较简便并且能够获得扩容效果,因此是一般使用的方案。
对分布式消息队列传递的计算任务进行拆分,是以消息分片为单位进行拆分。如图4所示,是拆分过程示意图。
在拆分过程中,第一步是将所述待扩容计算单元负责处理的消息分片集合拆分成两个消息分片集合,图4中所示,在该示意图中,计算单元workerA负责处理的消息分片集合包括SplitA~SplitD四个消息分片,在拆分后,形成包括SplitA~SplitB的第一消息分片集合,和包括SplitC~SplitD的第二消息分片集合。在上述拆分过程中,期望第一消息分片集合和第二消息分片集合各自包含的消息数量尽可能均等,这样才能够使承当上述两个消息分片集合的计算单元承担大致相同的工作量。
步骤S204,将拆分后的计算任务指派给与拆分数目对应的计算单元处理。
前一步骤拆分完成后,将拆分后的两个消息分片集合分别指派给两个计算单元Worker A1和Worker A2处理。
该指派过程具体可以分为两个步骤,具体步骤如下:
第一步,向工作负荷超过指定条件的计算单元Worker A发送停止处理消息分片集合的命令;以及,为负责处理拆分后的计算任务的两个计算单元设置各自负责处理的消息分片集合。
由调度处理单元向工作负荷超过指定条件的计算单元发送停止处理消息分片集合的命令,使Worker A能够停止工作;这是由其它计算单元接替其工作的前提,否则会造成计算资源的浪费。与此同时,为两个计算单元Worker A1和Worker A2设置各自负责处理的消息分片集合,即将SplitA~SplitB组成第一消息分片集合并指定给Worker A1处理;将SplitC~SplitD组成的第二消息分片集合指定给Worker A2处理。
第二步,向负责处理拆分后的计算任务的两个计算单元分别发送启动命令。
第一步的准备工作完成后,就可以启动计算单元Worker A1和Worker A2工作,使它们开始处理各自负责的消息分片集合,该步骤需要向这两个计算单元发送启动命令,使它们开始处理各自负责的消息分片集合。
通过上述步骤,即实现了将一个计算单元负责的消息分片集合分拆到两个计算单元处理,实现了计算资源的扩容。
这里需要说明的是,拆分后的计算任务,既可以指派给不同于原计算单元(工作负荷超过指定条件的计算单元)的其他空闲计算单元处理,也可以指派给原计算单元和其他空闲计算单元共同处理,只要承担计算任务的计算单元的数目与拆分数量相对应即可。
例如,上面描述了将拆分后的两个消息分片集合指派给两个空闲计算单元的处理过程,也就是说由两个空闲计算单元接替原计算单元的计算任务,即:WorkerA1和WorkerA2接替WorkerA的计算任务。在其他的实施方式中,也可以将拆分后的两个消息分片集合中的一个指派给一个空闲计算单元处理,而另外一个仍由拆分前的计算单元负责处理,即:WorkerA和WorkerA1负责处理原WorkerA的计算任务。上述两种方式都能够实现资源扩容的目的,只是具体实施方式存在差别,都不偏离本申请技术方案的核心。
在上述实施例中,其优选方案需要尽可能的保证拆分后的第一消息分片集合和第二消息分片集合各自包含的消息数量尽可能均等。由于每个消息分片包含的消息数量并不相等,因此,如何使拆分后形成的两个消息分片集合尽可能均等,需要采用能够实现这个目标的调度方法。本实施例提供一个实现这一目的的调度方法。
对所述工作负荷超过指定条件的计算单元负责处理的消息分片集合进行拆分,不同的实施方式可以拆分成不同数量的消息分片集合。考虑到在实际应用中,调度处理单元通常对系统进行实时监测,能够实时接收来自各个计算单元上报的对消息分片集合的处理状况,因此可以比较及时地发现系统是否处于压力过大的状态,并且准确定位需要进行拆分处理的计算单元,在这种情况下,将工作负荷超过指定条件的计算单元负责的消息分片集合拆分成两个消息分片集合,可有效缓解当前的计算节点的压力。
具体的拆分过程可以采用不同的拆分策略,或者说根据不同的依据进行拆分。考虑到在实时流式处理系统中,计算单元的基本处理单位是消息,需要处理的消息越多,计算单元自然就越繁忙,因此本申请的技术方案提供了一种根据消息数量进行拆分的算法,以实现前述将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合尽可能均等的分为两个消息分片集合,即:两个消息分片集合中包含的消息数量尽可能相同。下面对本申请所提供的拆分算法的原理进行说明。
为了将工作负荷超过指定条件的计算单元负责处理的消息分片集合(以下简称源消息分片集合)拆分成两个集合:第一消息分片集合A和第二消息分片集合B,可以有很多种拆分方式,如果穷举所有可能的拆分方案,再从中选择满足要求的方案,效率自然相对比较低。为了实现尽可能均分,并且提高拆分效率,本申请的技术方案先对源消息分片集合中的分片按照所包含消息的数目进行从小到大的排序,并且从最小的消息分片(即:包含消息数目最少)开始,与第一消息分片集合A(初始为空)的消息数量进行累加,只要消息数量的累加和小于源消息分片集合的消息总数的一半,就将当前累加的消息分片加入第一消息分片集合A中,然后继续按顺序进行下一个消息分片的累加,直到所述累加和大于消息分片集合的消息总数的一半,那么此时就得到了第一消息分片集合A,用源消息分片集合减去第一消息分片集合A就得到第二消息分片集合B。
采用这种方式不需要穷举,不需要多次遍历,只需要执行一次顺序查找,即可得到满足要求的拆分方案。而且由于采用上述算法得到的拆分方案基本上达到了均分消息数目的目的,因此拆分过程通常可以一次成功,避免了现有技术中完全依赖人工的经验进行拆分导致的负载不均衡、需要反复调整设置的问题。下面结合附图5对本拆分算法的基本步骤作简要说明。
步骤501:计算源消息分片集合包含的消息总数QS;
步骤502:将源消息分片集合中的消息分片按照所包含消息数目由小到大进行排序,排序后的集合为S,Si为其中第i个分片,Qsi为Si分片包含的消息的数目,SN为集合S中包含的消息分片的总个数;
步骤503:进行相关的初始化,i=0,第一消息分片集合A和第二消息分片集合B为空(不包含任何消息分片),目标集合A中包含的消息数目QA=0;
步骤504:判断Qsi+QA<QS/2是否成立,若成立,说明可以将当前累加的消息分片Si添加到目标集合A中,转到步骤505执行,否则转到步骤507执行;
步骤505:将消息分片Si添加到第一消息分片集合A中,并更新QA;
步骤506:i=i+1,为下一次累加做好准备,转到步骤504执行;
步骤507:拆分过程结束,用集合S减去目标集合A即得到目标集合B。
上述拆分算法在不满足判断条件Qsi+QA<QS/2时即可结束,原因如下:由于集合S是根据消息分片包含的消息数目由小到大进行排序的,因此位于消息分片Si之后的其他消息分片包含的消息数目必然大于等于Qsi,因此对于位于Si之后的消息分片来说,也一定无法满足Qsi+QA<QS/2的要求,在这种情况下,继续对位于Si之后的消息分片重复上述累加和判断操作是没有意义的,因此可以直接结束本算法。
在本申请技术方案提供的上述算法中,将待扩容计算单元的消息分片集合拆分成了两个集合,在其他实施方式中,如果调度处理单元可以根据系统中消息进度延迟的情况,或者计算单元上报的其他数据判断出当前有数据流量猛增的趋势,那么也可以采用相应的算法将工作负荷超过指定条件的计算单元拆分成三个或者更多个消息分片集合,并将拆分得到的消息分片集合指派给相应数目的计算单元处理。这种实施方式与本申请技术方案提供的拆分方式,仅仅是拆分数量的不同,并不偏离本申请的核心,也在本申请的保护范围之内。
本申请同时提供一种用于实时流式计算的计算资源扩容装置,请参看图9。本实施例的一种用于实时流式计算的计算资源扩容装置,包括:工作负荷判断单元901,用于判断是否存在工作负荷超过指定条件的计算单元;计算任务拆分单元902,用于当所述工作负荷判断单元的输出为“是”时,对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分;拆分任务指派单元903,用于将所述计算任务拆分单元输出的拆分后计算任务指派给与拆分数目对应的计算单元处理。
可选的,所述计算任务拆分单元拆分的计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
可选的,所述工作负荷判断单元包括:
执行状况获取子单元,用于获取计算单元处理消息分片集合的执行状况;所述计算单元处理消息集合的执行状况包括:计算单元的消息处理进度、和计算单元每秒钟处理的消息数目,所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值;
工作负荷判断执行子单元,用于根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况判断是否存在工作负荷超过指定条件的计算单元。
可选的,所述工作负荷判断执行子单元具体用于,判断是否存在同时满足以下三个条件的计算单元:
计算单元的消息处理进度大于预先设定的进度阈值;
计算单元每秒钟处理的消息数目大于或者等于计算单元每秒钟处理消息数目的理论值;
处于工作状态的计算单元总数小于预先指定的计算单元数目的最大值。
可选的,所述计算任务拆分单元具体用于,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个消息分片集合;
相应的,所述拆分任务指派单元具体用于,将拆分后的两个消息分片集合分别指派给两个计算单元处理。
可选的,所述计算任务拆分单元具体用于,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个包含消息数量尽可能均等的消息分片集合。
可选的,所述拆分任务指派单元包括:
停止命令发送子单元一,用于向工作负荷超过指定条件的计算单元发送停止处理消息分片集合的命令;
任务设置子单元一,用于为负责处理拆分后的计算任务的两个计算单元设置各自负责处理的消息分片集合;
启动命令发送子单元一,用于在上述两个子单元完成操作后,向所述负责处理拆分后的计算任务的两个计算单元分别发送启动命令。
与上述的用于实时流式计算的计算资源扩容方法相对应,本申请还提供一种用于实时流式计算的计算资源释放方法。请参看图6,该图为本申请所提供的用于实时流式计算的计算资源释放方法的合并过程示意图。
如图6所示,在一个采用分布式消息队列传递计算任务的实时流式计算系统中,本申请提供的实施例期望达成的技术效果是:当计算单元的任务过轻时,即分布式消息队列在流量低峰期时,能够自动检测到这一情况,并自动通过合并计算单元Worker A和Worker B的任务,以及将合并后的任务交给一个计算单元Worker A1执行的方法,减少计算单元数量,释放计算资源。
本申请第二实施例提供上述用于实时流式计算的计算资源释放方法。
请参看图7,该图示出本申请提供的用于实时流式计算的计算资源释放方法的实施例的流程图。
步骤S701,获取计算单元处理消息分片集合的执行状况。
所述计算单元处理消息分片集合的执行状况,特指用于衡量计算单元计算任务的负荷情况的一些指标,在本实施例中,主要包括计算单元的消息处理进度、和计算单元每秒钟处理的消息数目。上述两个参数的含义在第一实施例中已经结合图3进行了详细的说明,在此不再重复。
步骤S702,根据上述获取的计算单元处理消息分片集合的执行状况,判断当前系统是否同时满足以下两个条件:
A、消息处理进度小于或者等于预先设定的进度阈值的计算单元的数目多于一个;
B、处于工作状态的计算单元总数大于预先指定的计算单元数目的最小值。
若是,则进入下一步骤;若否,则返回步骤S701,继续监视当前的执行状况。
所述条件A,是判断整个实时流式计算系统中,是否有若干个处理消息分片集合的任务量偏轻的计算单元;只有在具有至少两个计算单元(即多于一个计算单元)的任务量偏轻的情况下,才有必有进行合并。
所述进度阈值是判断计算单元任务量偏轻的依据,本实施例所说的进度阈值,和第一实施例的进度阈值是同一个概念,但由于所起的作用不同,具体取值可以不同。如果计算单元的消息处理进度P小于预先设定的进度阈值时,说明该计算单元的任务量偏轻。在整个流式计算系统中,如果存在一个以上的计算单元存在这种问题,则有可能需要采取措施释放资源。
所述条件B,用于判断整个实时流式计算系统中,处于工作状态的计算单元总数是否大于预先指定的计算单元数目的最小值。由于实时流式计算系统通常对计算任务的波动有预估,为了避免所提供的计算能力大起大落,造成被动,需要为整个实时流式计算系统设置最低的计算单元数量要求。条件B即用于判断该实时流式计算系统是否符合该要求,如果处于工作状态的计算单元总数已经小于等于预先指定的计算单元数目的最小值,则不能进行计算单元的合并。
本步骤的判断结论为否,则可以返回步骤S701,继续监测计算单元处理消息分片集合的执行状况。在返回步骤S701前,也可以延迟一个时间间隔,以减小为监测执行状况耗费的资源。
步骤S703,将需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并。
如第一实施例所述,所述计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
为实现该步骤,可以采用多种方式;以下提供一种较为具体的方案。
步骤S703-1,对需要合并的计算单元进行分组。
在本实施例中,对计算单元分组是以两两分组的方式进行的,即二合一。当然,在其它实施方式中,不排除将多个计算单元合并为一组,但二合一的方式是优选方式,因为它最易于实现、并且能够使整个实时流式计算系统获得最高的柔性。本申请当然不排除在某些情况下采用三合一或者四合一等其它数量的合并情况。
在分组中,需要根据所获取的计算单元处理消息分片集合的执行状况数据,保证每个分组内的两个计算单元的每秒钟处理消息数目相加,其结果小于计算单元的每秒钟处理的消息数目的理论值(理论TPS)。
关于理论TPS的概念,在上述第一实施例中已经说明。该条件是为了保证资源释放之后,不至于造成计算任务的延迟。
步骤S703-2,针对每个分组,将本分组内的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并。
在本实施例中,即将一组的两个计算单元负责处理的计算任务进行合并。合并后形成的消息分片集合将在下述步骤S704中指派给一个计算单元处理。
步骤S704,指派一个计算单元负责处理合并后的计算任务。
该步骤中包括如下子步骤。
第一步,向本分组内的需要合并的两个计算单元分别发送停止处理消息分片集合的命令;以及,为负责处理合并后的计算任务的计算单元设置其负责处理的消息分片集合。
原计算单元停止处理其原先负责的消息分片集合,可以避免任务被重复执行,造成计算资源浪费。为负责处理合并后的计算任务的计算单元设置其负责处理的消息分片集合,即将原先属于本分组的两个计算单元负责处理的计算任务,即分别属于两个计算单元的消息分片集合,组合为一个消息分片集合。
第二步,向所述负责处理合并后的计算任务的计算单元发送启动命令。
在前述第一步完成后,即可以向所述负责处理合并后的计算任务的计算单元发送启动命令,正式开始处理合并后的消息分片集合。
这里需要说明的是,合并后的计算任务,既可以指派给不同于原计算单元(计算任务被合并的计算单元)的其他空闲计算单元处理,也可以指派给计算任务被合并的多个计算单元中的某一个计算单元处理。这两种任务指派方式,都能够实现释放计算资源的目的,只是具体实施方式存在差别,都不偏离本申请技术方案的核心。
在上述实施例中,当调度处理单元检测到系统中存在多个需要合并的计算单元时,最为简单的方法,就是将所有需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务合并起来,然后指派给一个计算单元处理。但直接采用上述方法,虽然释放的计算资源最多,但是负责处理合并后计算任务的计算单元却可能出现负载过大的现象,导致后续还需要进行额外的拆分操作。为解决此种问题,需要选择合适的分组处理方法。以下介绍本实施例具体采用的分组处理办法。
为了避免出现上述问题,本申请的技术方案提供了一种分组处理方式,即:先对需要合并的计算单元进行分组,然后再针对每个分组,将本分组内的计算单元负责处理的、通过分布式消息队列传递的计算任务(即:消息分片集合)进行合并,从而尽量避免出现负责处理合并后计算任务的计算单元负载过大的情况。分组的划分,不同的实施方式可以采用不同的策略,例如,根据计算单元负责处理的消息数目、或者根据计算单元处理消息分片集合的执行状况进行划分,分组的大小也可以不同,例如,将三个计算单元划分为一组,或者将两个计算单元划分为一组等。
本申请技术方案综合考虑上述各个方面,提供了如前所述的优选实施方式:将需要合并的计算单元采用两两组合的方式形成多个分组,并且,保证如下条件成立:根据所获取的计算单元处理消息分片集合的执行状况数据,将每个分组内的两个计算单元的每秒钟处理消息数目相加,其结果小于计算单元每秒钟处理消息数目的理论值。下面对本申请技术方案提供的合并算法的原理进行说明。
在上述优选实施方式下,将待合并的计算单元两两组合形成分组,仍然可以有很多种组合方式,如果穷举所有可能的组合方案,再从中选择满足要求的方案,效率相对会比较低。为了满足合并后计算任务不超出计算单元负载能力的要求,并且提高合并效率,本申请的技术方案先对所有待合并计算单元按照每秒钟处理消息数目(下文简称RealTPS)从小到大的顺序进行排序,得到一个排序后的计算单元集合。然后,从当前集合中选择第一个计算单元,并在此基础上与当前集合中的最后一个计算单元执行RealTPS的相加,判断是否小于计算单元每秒钟处理消息数目的理论值,如果不小于则继续与当前集合中的倒数第二个计算单元执行上述相加和判断操作......依次类推,直到相加求和后满足上述判断条件,说明当前两个计算单元可以合并,将这两个计算单元从排序后的集合中移除,然后继续用同样的方法在排序后集合中的剩余计算单元中继续选择可以合并的计算单元。
采用这种方式一方面可以保证合并后的计算任务不会超出计算单元的处理能力,避免出现负责处理合并后计算任务的计算单元负载过大的情况,另一方面由于总是在选定当前RealTPS最小的计算单元的基础上,最先尝试与RealTPS最大的计算单元进行合并,不成功再尝试与RealTPS次大的计算单元进行合并.....从而有效避免出现合并后负载过小,浪费计算资源的情况,达到最大限度释放计算资源的目的。由于在分组的过程中,兼顾了上述两个方面,因此基于本申请提供的算法执行的合并过程通常可以一次成功,避免了现有技术中完全依赖人工的经验进行合并导致的负载不均衡、需要反复调整设置的问题。下面结合附图5对本合并算法的基本步骤作简要说明。
在下面的描述中,MQ为计算单元每秒钟处理消息数目的理论值。
步骤801:对所有待合并计算单元按照RealTPS从小到大的顺序进行排列,得到集合A,其中包含的计算单元的总数为AN,每个计算单元依次为A0、A1、......AAN-1,RQ[i]则代表集合A中第i个计算单元的RealTPS值;需要说明的是,随着本算法的执行,会不断地有计算单元从集合A中移除,AN的值会发生变化,剩余计算单元的下标值也会做相应的调整。
步骤802:判断AN>1是否成立,若成立,说明集合A中至少还有两个计算单元,还可以继续尝试进行合并,否则,本算法结束。
步骤803:设置T为当前A中的第一个计算单元,将T从A中移除,AN=AN-1;
步骤804:设置j=AN,当前集合A中的计算单元的数目;
步骤805:设置j=j-1,如果是从步骤804顺序执行本步骤,那么j就代表当前集合A中最后一个计算单元的下标,如果是从步骤807跳转到本步骤,那么执行j=j-1的操作,就是为了获取集合A中位于上一次计算的Aj之前的计算单元的下标;
步骤806:判断j>0是否成立,若成立,执行步骤807,继续查找是否存在可以与T合并的计算单元,否则说明不存在能够与T合并的计算单元,则执行步骤802,继续为其他计算单元查找可以合并的计算单元;
步骤807:判断RQ[Aj]+RQ[T]<MQ是否成立,若成立,说明为T找到了可以与之合并的计算单元,转到步骤808执行,否则转到步骤805执行;
步骤808:将T和Aj作为一个分组进行合并,并将Aj从A中移除,AN=AN-1,转到步骤802执行。
在上述的实施例中,提供了一种用于实时流式计算的计算资源释放方法,与之相对应的,本申请同时提供一种用于实时流式计算的计算资源释放装置,请参看图10。
本实施例的一种用于实时流式计算的计算资源释放装置,包括:资源合并判断单元1001,用于判断是否需要进行计算单元的合并;计算任务合并单元1002,用于当所述合并判断单元的输出为“是”时,将需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并;合并任务指派单元1003,用于指派一个计算单元负责处理所述任务合并单元输出的合并后的计算任务;所述计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
可选的,所述装置包括:
分组单元,用于对需要合并的计算单元进行分组;
相应的,所述计算任务合并单元具体用于针对每个分组,将本分组内的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并。
可选的,所述资源合并判断单元包括:
执行状况获取子单元,用于获取计算单元处理消息分片集合的执行状况;所述计算单元处理消息分片集合的执行状况是指,计算单元的消息处理进度、和计算单元每秒钟处理的消息数目;所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值;
合并判断执行子单元,用于根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况,判断当前系统是否同时满足以下两个条件:
消息处理进度小于或者等于预先设定的进度阈值的计算单元的数目多于一个;
处于工作状态的计算单元总数大于预先指定的计算单元数目的最小值。
可选的,所述分组单元具体用于,将需要合并的计算单元采用两两组合的方式形成多个分组,并且,保证如下条件成立:
根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况数据,将每个分组内的两个计算单元的每秒钟处理消息数目相加,其结果小于计算单元每秒钟处理消息数目的理论值。
可选的,所述合并任务指派单元包括:
停止命令发送子单元二,用于向分组内的需要合并的两个计算单元分别发送停止处理消息分片集合的命令;
任务设置子单元二,用于为负责处理合并后的计算任务的计算单元设置其负责处理的消息分片集合;
启动命令发送子单元二,用于在上述两个子单元完成操作后,向所述负责处理合并后的计算任务的计算单元发送启动命令。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (24)
1.一种用于实时流式计算的计算资源扩容方法,该实时流式计算中,计算任务通过分布式消息队列传递,其特征在于,包括:
判断是否存在工作负荷超过指定条件的计算单元;
若是,对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分,并将拆分后的计算任务指派给与拆分数目对应的计算单元处理。
2.根据权利要求1所述的用于实时流式计算的计算资源扩容方法,其特征在于,所述计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
3.根据权利要求2所述的用于实时流式计算的计算资源扩容方法,其特征在于,所述判断是否存在工作负荷超过指定条件的计算单元,包括:
获取计算单元处理消息分片集合的执行状况;
根据上述获取的计算单元处理消息集合的执行状况判断是否存在工作负荷超过指定条件的计算单元;所述计算单元处理消息集合的执行状况包括:计算单元的消息处理进度、和计算单元每秒钟处理的消息数目,所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值。
4.根据权利要求3所述的用于实时流式计算的计算资源扩容方法,其特征在于,所述根据上述获取的计算单元处理消息集合的执行状况判断是否存在工作负荷超过指定条件的计算单元,具体是判断是否存在同时满足以下两个条件的计算单元:
计算单元的消息处理进度大于预先设定的进度阈值;
计算单元每秒钟处理的消息数目大于或者等于计算单元每秒钟处理消息数目的理论值;以及满足如下条件
处于工作状态的计算单元总数小于预先指定的计算单元数目的最大值。
5.根据权利要求2-4任意一项所述的用于实时流式计算的计算资源扩容方法,其特征在于,所述对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分是指,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个消息分片集合;
相应的,所述将拆分后的计算任务指派给与拆分数目对应的计算单元处理是指,将拆分后的两个消息分片集合分别指派给两个计算单元处理。
6.根据权利要求5所述的用于实时流式计算的计算资源扩容方法,其特征在于,所述将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个消息分片集合是指,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个包含消息数量尽可能均等的消息分片集合。
7.根据权利要求6所述的用于实时流式计算的计算资源扩容方法,其特征在于,所述将拆分后的两个消息分片集合分别指派给两个计算单元处理,包括:
向工作负荷超过指定条件的计算单元发送停止处理消息分片集合的命令;以及,为负责处理拆分后的计算任务的两个计算单元设置各自负责处理的消息分片集合;
完成上述操作后,向所述负责处理拆分后的计算任务的两个计算单元分别发送启动命令。
8.一种用于实时流式计算的计算资源扩容装置,其特征在于,包括:
工作负荷判断单元,用于判断是否存在工作负荷超过指定条件的计算单元;
计算任务拆分单元,用于当所述工作负荷判断单元的输出为“是”时,对所述工作负荷超过指定条件的计算单元负责处理的、通过分布式消息队列传递的计算任务进行拆分;
拆分任务指派单元,用于将所述计算任务拆分单元输出的拆分后计算任务指派给与拆分数目对应的计算单元处理。
9.根据权利要求8所述的用于实时流式计算的计算资源扩容装置,其特征在于,所述计算任务拆分单元拆分的计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
10.根据权利要求9所述的用于实时流式计算的计算资源扩容装置,其特征在于,所述工作负荷判断单元包括:
执行状况获取子单元,用于获取计算单元处理消息分片集合的执行状况;所述计算单元处理消息集合的执行状况包括:计算单元的消息处理进度、和计算单元每秒钟处理的消息数目,所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值;
工作负荷判断执行子单元,用于根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况判断是否存在工作负荷超过指定条件的计算单元。
11.根据权利要求10所述的用于实时流式计算的计算资源扩容装置,其特征在于,所述工作负荷判断执行子单元具体用于,判断是否存在同时满足以下三个条件的计算单元:
计算单元的消息处理进度大于预先设定的进度阈值;
计算单元每秒钟处理的消息数目大于或者等于计算单元每秒钟处理消息数目的理论值;
处于工作状态的计算单元总数小于预先指定的计算单元数目的最大值。
12.根据权利要求9-11任意一项所述的用于实时流式计算的计算资源扩容装置,其特征在于,所述计算任务拆分单元具体用于,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个消息分片集合;
相应的,所述拆分任务指派单元具体用于,将拆分后的两个消息分片集合分别指派给两个计算单元处理。
13.根据权利要求12所述的用于实时流式计算的计算资源扩容装置,其特征在于,所述计算任务拆分单元具体用于,将所述工作负荷超过指定条件的计算单元负责处理的消息分片集合拆分成两个包含消息数量尽可能均等的消息分片集合。
14.根据权利要求13所述的用于实时流式计算的计算资源扩容装置,其特征在于,所述拆分任务指派单元包括:
停止命令发送子单元一,用于向工作负荷超过指定条件的计算单元发送停止处理消息分片集合的命令;
任务设置子单元一,用于为负责处理拆分后的计算任务的两个计算单元设置各自负责处理的消息分片集合;
启动命令发送子单元一,用于在上述两个子单元完成操作后,向所述负责处理拆分后的计算任务的两个计算单元分别发送启动命令。
15.一种用于实时流式计算的计算资源释放方法,该实时流式计算中,计算任务通过分布式消息队列传递,其特征在于,包括:
判断是否需要进行计算单元的合并;
若是,将需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并,并指派一个计算单元负责处理合并后的计算任务;所述计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
16.根据权利要求15所述的用于实时流式计算的计算资源释放方法,其特征在于,包括:
对需要合并的计算单元进行分组;
相应的,所述将需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并是指,针对每个分组,将本分组内的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并。
17.根据权利要求16所述的用于实时流式计算的计算资源释放方法,其特征在于,所述判断是否需要进行计算单元的合并,包括:
获取计算单元处理消息分片集合的执行状况;所述计算单元处理消息分片集合的执行状况是指,计算单元的消息处理进度、和计算单元每秒钟处理的消息数目;所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值;
根据上述获取的计算单元处理消息分片集合的执行状况,判断当前系统是否同时满足以下两个条件:
消息处理进度小于或者等于预先设定的进度阈值的计算单元的数目多于一个;
处于工作状态的计算单元总数大于预先指定的计算单元数目的最小值。
18.根据权利要求17所述的用于实时流式计算的计算资源释放方法,其特征在于,所述对需要合并的计算单元进行分组,采用如下分组方法:将需要合并的计算单元采用两两组合的方式形成多个分组,并且,保证如下条件成立:
根据所获取的计算单元处理消息分片集合的执行状况数据,将每个分组内的两个计算单元的每秒钟处理消息数目相加,其结果小于计算单元每秒钟处理消息数目的理论值。
19.根据权利要求18所述的用于实时流式计算的计算资源释放方法,其特征在于,所述指派一个计算单元负责处理合并后的计算任务,包括:
向分组内的需要合并的两个计算单元分别发送停止处理消息分片集合的命令;以及,为负责处理合并后的计算任务的计算单元设置其负责处理的消息分片集合;
完成上述操作后,向所述负责处理合并后的计算任务的计算单元发送启动命令。
20.一种用于实时流式计算的计算资源释放装置,其特征在于,包括:
资源合并判断单元,用于判断是否需要进行计算单元的合并;
计算任务合并单元,用于当所述合并判断单元的输出为“是”时,将需要合并的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并;
合并任务指派单元,用于指派一个计算单元负责处理所述任务合并单元输出的合并后的计算任务;所述计算任务是指,包含一个或者多个消息分片的消息分片集合;所述消息分片包含一个或者多个消息。
21.根据权利要求20所述的用于实时流式计算的计算资源释放装置,其特征在于,所述装置包括:
分组单元,用于对需要合并的计算单元进行分组;
相应的,所述计算任务合并单元具体用于针对每个分组,将本分组内的计算单元负责处理的、通过分布式消息队列传递的计算任务进行合并。
22.根据权利要求21所述的用于实时流式计算的计算资源释放装置,其特征在于,所述资源合并判断单元包括:
执行状况获取子单元,用于获取计算单元处理消息分片集合的执行状况;所述计算单元处理消息分片集合的执行状况是指,计算单元的消息处理进度、和计算单元每秒钟处理的消息数目;所述消息处理进度是指,消息被计算单元处理的时刻与该消息产生时刻的差值;
合并判断执行子单元,用于根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况,判断当前系统是否同时满足以下两个条件:
消息处理进度小于或者等于预先设定的进度阈值的计算单元的数目多于一个;
处于工作状态的计算单元总数大于预先指定的计算单元数目的最小值。
23.根据权利要求22所述的用于实时流式计算的计算资源释放装置,其特征在于,所述分组单元具体用于,将需要合并的计算单元采用两两组合的方式形成多个分组,并且,保证如下条件成立:
根据所述执行状况获取子单元获取的计算单元处理消息分片集合的执行状况数据,将每个分组内的两个计算单元的每秒钟处理消息数目相加,其结果小于计算单元每秒钟处理消息数目的理论值。
24.根据权利要求23所述的用于实时流式计算的计算资源释放装置,其特征在于,所述合并任务指派单元包括:
停止命令发送子单元二,用于向分组内的需要合并的两个计算单元分别发送停止处理消息分片集合的命令;
任务设置子单元二,用于为负责处理合并后的计算任务的计算单元设置其负责处理的消息分片集合;
启动命令发送子单元二,用于在上述两个子单元完成操作后,向所述负责处理合并后的计算任务的计算单元发送启动命令。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410140869.6A CN104978232A (zh) | 2014-04-09 | 2014-04-09 | 用于实时流式计算的计算资源扩容、释放方法及其装置 |
TW103134242A TWI654563B (zh) | 2014-04-09 | 2014-10-01 | Computing resource expansion and release method and device thereof for real-time stream computing |
EP15722791.9A EP3129880B1 (en) | 2014-04-09 | 2015-04-01 | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system |
PCT/US2015/023937 WO2015157068A1 (en) | 2014-04-09 | 2015-04-01 | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system |
JP2016560657A JP2017510899A (ja) | 2014-04-09 | 2015-04-01 | リアルタイムストリーム計算システムにおいて計算資源の容量を増大させる方法および装置ならびに該容量を解放する方法および装置 |
US14/676,573 US20150295970A1 (en) | 2014-04-09 | 2015-04-01 | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system |
HK16101251.4A HK1213655A1 (zh) | 2014-04-09 | 2016-02-03 | 用於實時流式計算的計算資源擴容、釋放方法及其裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410140869.6A CN104978232A (zh) | 2014-04-09 | 2014-04-09 | 用于实时流式计算的计算资源扩容、释放方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104978232A true CN104978232A (zh) | 2015-10-14 |
Family
ID=53180783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410140869.6A Pending CN104978232A (zh) | 2014-04-09 | 2014-04-09 | 用于实时流式计算的计算资源扩容、释放方法及其装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20150295970A1 (zh) |
EP (1) | EP3129880B1 (zh) |
JP (1) | JP2017510899A (zh) |
CN (1) | CN104978232A (zh) |
HK (1) | HK1213655A1 (zh) |
TW (1) | TWI654563B (zh) |
WO (1) | WO2015157068A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681820A (zh) * | 2016-12-30 | 2017-05-17 | 西北工业大学 | 基于消息组合的可扩展大数据计算方法 |
CN107038067A (zh) * | 2016-09-07 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 分布式流处理中处理资源的管理方法和装置 |
CN107872397A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 压测过程中的流量调度方法、调度平台和调度系统 |
WO2018090784A1 (zh) * | 2016-11-18 | 2018-05-24 | 腾讯科技(深圳)有限公司 | 基于分布式流计算的处理方法、系统、物理设备和存储介质 |
CN108984770A (zh) * | 2018-07-23 | 2018-12-11 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN109214741A (zh) * | 2017-07-07 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 一种监控指标的预警方法和预警系统 |
CN109582449A (zh) * | 2018-10-26 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种分组方法、装置、及计算机设备 |
CN109690486A (zh) * | 2016-09-09 | 2019-04-26 | 华为技术有限公司 | 用于处理数据流信息的设备和方法 |
CN110019125A (zh) * | 2017-11-27 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据库管理的方法和装置 |
CN110414361A (zh) * | 2019-07-02 | 2019-11-05 | 青岛海洋科学与技术国家实验室发展中心 | 分布式机器视觉数据采集分析方法和系统 |
CN111092931A (zh) * | 2019-11-15 | 2020-05-01 | 中国科学院计算技术研究所 | 电力系统在线超实时仿真的流式数据快速分发方法及系统 |
CN112019605A (zh) * | 2020-08-13 | 2020-12-01 | 上海哔哩哔哩科技有限公司 | 数据流的数据分发方法和系统 |
CN112615742A (zh) * | 2020-12-18 | 2021-04-06 | 北京百度网讯科技有限公司 | 用于预警的方法、装置、设备以及存储介质 |
CN113595814A (zh) * | 2021-07-06 | 2021-11-02 | 深圳Tcl新技术有限公司 | 消息延迟检测方法、装置、电子设备及存储介质 |
CN116719652A (zh) * | 2023-08-08 | 2023-09-08 | 支付宝(杭州)信息技术有限公司 | 基于消息的多子作业动态分流方法、装置和系统 |
CN117539643A (zh) * | 2024-01-09 | 2024-02-09 | 上海晨钦信息科技服务有限公司 | 信用卡清分清算平台、批量任务处理方法及服务器 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9652295B2 (en) * | 2015-06-26 | 2017-05-16 | International Business Machines Corporation | Runtime fusion of operators based on processing element workload threshold and programming instruction compatibility |
US10389800B2 (en) | 2016-10-11 | 2019-08-20 | International Business Machines Corporation | Minimizing execution time of a compute workload based on adaptive complexity estimation |
US11522810B2 (en) * | 2018-10-25 | 2022-12-06 | University Of Louisiana At Lafayette | System for request aggregation in cloud computing services |
CN114338063B (zh) * | 2020-09-29 | 2023-11-10 | 中移物联网有限公司 | 消息队列系统、业务处理方法及计算机可读存储介质 |
CN112835703B (zh) * | 2021-02-26 | 2024-04-26 | 大众问问(北京)信息科技有限公司 | 任务处理方法、装置、设备及存储介质 |
US11880709B2 (en) | 2022-01-04 | 2024-01-23 | The Toronto-Dominion Bank | System and method for handling real-time transactional events |
CN115292146B (zh) * | 2022-05-30 | 2023-04-11 | 北京结慧科技有限公司 | 一种系统容量预估方法、系统、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080077667A1 (en) * | 2006-09-26 | 2008-03-27 | Chong-Sun Hwang | Method for adaptive group scheduling using mobile agents in peer-to-peer grid computing environment |
CN101715001A (zh) * | 2009-10-21 | 2010-05-26 | 南京邮电大学 | 一种控制网格任务执行的方法 |
CN101753534A (zh) * | 2008-12-10 | 2010-06-23 | 徐文祥 | 基于集群服务器的分区自适应网络系统及其构建方法 |
CN102915254A (zh) * | 2011-08-02 | 2013-02-06 | 中兴通讯股份有限公司 | 任务管理方法及装置 |
CN103345514A (zh) * | 2013-07-09 | 2013-10-09 | 焦点科技股份有限公司 | 大数据环境下的流式数据处理方法 |
CN103530189A (zh) * | 2013-09-29 | 2014-01-22 | 中国科学院信息工程研究所 | 一种面向流式数据的自动伸缩及迁移的方法及装置 |
CN103617086A (zh) * | 2013-11-20 | 2014-03-05 | 东软集团股份有限公司 | 一种并行计算方法及系统 |
CN103678000A (zh) * | 2013-09-11 | 2014-03-26 | 北京工业大学 | 基于可靠性和合作博弈的计算网格均衡任务调度方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139125A1 (en) * | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US7596618B2 (en) * | 2004-12-07 | 2009-09-29 | Hewlett-Packard Development Company, L.P. | Splitting a workload of a node |
US9015324B2 (en) * | 2005-03-16 | 2015-04-21 | Adaptive Computing Enterprises, Inc. | System and method of brokering cloud computing resources |
US8886796B2 (en) * | 2008-10-24 | 2014-11-11 | Microsoft Corporation | Load balancing when replicating account data |
US8539359B2 (en) * | 2009-02-11 | 2013-09-17 | Jeffrey A. Rapaport | Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US8505020B2 (en) * | 2010-08-29 | 2013-08-06 | Hewlett-Packard Development Company, L.P. | Computer workload migration using processor pooling |
US9250975B2 (en) * | 2011-01-26 | 2016-02-02 | International Business Machines Corporation | Elastic and scalable publish/subscribe service |
US20130086590A1 (en) * | 2011-09-30 | 2013-04-04 | John Mark Morris | Managing capacity of computing environments and systems that include a database |
US9608899B2 (en) * | 2011-11-21 | 2017-03-28 | Qualcomm Incorporated | Packet-based aggregation of data streams across disparate networking interfaces |
US20130339978A1 (en) * | 2012-06-13 | 2013-12-19 | Advanced Micro Devices, Inc. | Load balancing for heterogeneous systems |
US9442954B2 (en) * | 2012-11-12 | 2016-09-13 | Datawise Systems | Method and apparatus for achieving optimal resource allocation dynamically in a distributed computing environment |
GB2508598A (en) * | 2012-12-04 | 2014-06-11 | Ibm | Splitting the processing logic of a distributed application page between client and server |
US9274918B2 (en) * | 2013-07-25 | 2016-03-01 | International Business Machines Corporation | Prediction of impact of workload migration |
-
2014
- 2014-04-09 CN CN201410140869.6A patent/CN104978232A/zh active Pending
- 2014-10-01 TW TW103134242A patent/TWI654563B/zh active
-
2015
- 2015-04-01 US US14/676,573 patent/US20150295970A1/en not_active Abandoned
- 2015-04-01 EP EP15722791.9A patent/EP3129880B1/en active Active
- 2015-04-01 WO PCT/US2015/023937 patent/WO2015157068A1/en active Application Filing
- 2015-04-01 JP JP2016560657A patent/JP2017510899A/ja active Pending
-
2016
- 2016-02-03 HK HK16101251.4A patent/HK1213655A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080077667A1 (en) * | 2006-09-26 | 2008-03-27 | Chong-Sun Hwang | Method for adaptive group scheduling using mobile agents in peer-to-peer grid computing environment |
CN101753534A (zh) * | 2008-12-10 | 2010-06-23 | 徐文祥 | 基于集群服务器的分区自适应网络系统及其构建方法 |
CN101715001A (zh) * | 2009-10-21 | 2010-05-26 | 南京邮电大学 | 一种控制网格任务执行的方法 |
CN102915254A (zh) * | 2011-08-02 | 2013-02-06 | 中兴通讯股份有限公司 | 任务管理方法及装置 |
CN103345514A (zh) * | 2013-07-09 | 2013-10-09 | 焦点科技股份有限公司 | 大数据环境下的流式数据处理方法 |
CN103678000A (zh) * | 2013-09-11 | 2014-03-26 | 北京工业大学 | 基于可靠性和合作博弈的计算网格均衡任务调度方法 |
CN103530189A (zh) * | 2013-09-29 | 2014-01-22 | 中国科学院信息工程研究所 | 一种面向流式数据的自动伸缩及迁移的方法及装置 |
CN103617086A (zh) * | 2013-11-20 | 2014-03-05 | 东软集团股份有限公司 | 一种并行计算方法及系统 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038067A (zh) * | 2016-09-07 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 分布式流处理中处理资源的管理方法和装置 |
CN107038067B (zh) * | 2016-09-07 | 2020-12-04 | 创新先进技术有限公司 | 分布式流处理中处理资源的管理方法和装置 |
CN109690486A (zh) * | 2016-09-09 | 2019-04-26 | 华为技术有限公司 | 用于处理数据流信息的设备和方法 |
CN107872397A (zh) * | 2016-09-27 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 压测过程中的流量调度方法、调度平台和调度系统 |
WO2018090784A1 (zh) * | 2016-11-18 | 2018-05-24 | 腾讯科技(深圳)有限公司 | 基于分布式流计算的处理方法、系统、物理设备和存储介质 |
US10841229B2 (en) | 2016-11-18 | 2020-11-17 | Tencent Technology (Shenzhen) Company Limited | Processing method, system, physical device and storage medium based on distributed stream computing |
CN106681820B (zh) * | 2016-12-30 | 2020-05-01 | 西北工业大学 | 基于消息组合的可扩展大数据计算方法 |
CN106681820A (zh) * | 2016-12-30 | 2017-05-17 | 西北工业大学 | 基于消息组合的可扩展大数据计算方法 |
CN109214741A (zh) * | 2017-07-07 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 一种监控指标的预警方法和预警系统 |
CN110019125A (zh) * | 2017-11-27 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据库管理的方法和装置 |
US11416283B2 (en) | 2018-07-23 | 2022-08-16 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for processing data in process of expanding or reducing capacity of stream computing system |
CN108984770A (zh) * | 2018-07-23 | 2018-12-11 | 北京百度网讯科技有限公司 | 用于处理数据的方法和装置 |
CN109582449B (zh) * | 2018-10-26 | 2023-06-27 | 创新先进技术有限公司 | 风控业务系统中的风控任务分组方法、装置、计算机设备 |
CN109582449A (zh) * | 2018-10-26 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种分组方法、装置、及计算机设备 |
CN110414361A (zh) * | 2019-07-02 | 2019-11-05 | 青岛海洋科学与技术国家实验室发展中心 | 分布式机器视觉数据采集分析方法和系统 |
CN111092931B (zh) * | 2019-11-15 | 2021-08-06 | 中国科学院计算技术研究所 | 电力系统在线超实时仿真的流式数据快速分发方法及系统 |
CN111092931A (zh) * | 2019-11-15 | 2020-05-01 | 中国科学院计算技术研究所 | 电力系统在线超实时仿真的流式数据快速分发方法及系统 |
CN112019605A (zh) * | 2020-08-13 | 2020-12-01 | 上海哔哩哔哩科技有限公司 | 数据流的数据分发方法和系统 |
CN112615742A (zh) * | 2020-12-18 | 2021-04-06 | 北京百度网讯科技有限公司 | 用于预警的方法、装置、设备以及存储介质 |
WO2023279829A1 (zh) * | 2021-07-06 | 2023-01-12 | 深圳Tcl新技术有限公司 | 消息延迟检测方法、装置、电子设备及存储介质 |
CN113595814A (zh) * | 2021-07-06 | 2021-11-02 | 深圳Tcl新技术有限公司 | 消息延迟检测方法、装置、电子设备及存储介质 |
GB2623692A (en) * | 2021-07-06 | 2024-04-24 | Shenzhen Tcl New Tech Co Ltd | Message delay detection method and apparatus, electronic device, and storage medium |
CN116719652A (zh) * | 2023-08-08 | 2023-09-08 | 支付宝(杭州)信息技术有限公司 | 基于消息的多子作业动态分流方法、装置和系统 |
CN116719652B (zh) * | 2023-08-08 | 2024-04-19 | 支付宝(杭州)信息技术有限公司 | 基于消息的多子作业动态分流方法、装置和系统 |
CN117539643A (zh) * | 2024-01-09 | 2024-02-09 | 上海晨钦信息科技服务有限公司 | 信用卡清分清算平台、批量任务处理方法及服务器 |
CN117539643B (zh) * | 2024-01-09 | 2024-03-29 | 上海晨钦信息科技服务有限公司 | 信用卡清分清算平台、批量任务处理方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
HK1213655A1 (zh) | 2016-07-08 |
TW201539326A (zh) | 2015-10-16 |
WO2015157068A1 (en) | 2015-10-15 |
JP2017510899A (ja) | 2017-04-13 |
EP3129880B1 (en) | 2019-02-13 |
TWI654563B (zh) | 2019-03-21 |
EP3129880A1 (en) | 2017-02-15 |
US20150295970A1 (en) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978232A (zh) | 用于实时流式计算的计算资源扩容、释放方法及其装置 | |
CN108268317B (zh) | 一种资源分配方法及装置 | |
CN102004670B (zh) | 一种基于MapReduce的自适应作业调度方法 | |
CN111708627B (zh) | 基于分布式调度框架的任务调度方法以及装置 | |
CN102063336B (zh) | 一种分布式计算多应用功能异步并发调度方法 | |
CN112148427A (zh) | 一种云平台资源分配方法、装置和计算机可读存储介质 | |
CN104504147B (zh) | 一种数据库集群的资源协调方法、装置及系统 | |
CN104484222A (zh) | 一种基于混合遗传算法的虚拟机调度方法 | |
CN102053916B (zh) | 一种分配内核大片连续内存的方法 | |
CN105975049A (zh) | 一种任务同步偶发任务低能耗调度方法 | |
CN109783304B (zh) | 一种数据中心的节能调度方法及对应装置 | |
CN114866563A (zh) | 扩容方法、装置、系统和存储介质 | |
CN108733491B (zh) | 一种面向异构MPSoC系统的热感知及低能耗任务调度方法 | |
CN111754117A (zh) | 任务下发方法、装置、电子设备及存储介质 | |
Yao et al. | Reducing stack with intra-task threshold priorities in real-time systems | |
CN110728372A (zh) | 一种人工智能模型动态加载的集群设计方法及集群架构 | |
CN111580937B (zh) | 一种面向飞腾多核/众核混合集群的虚拟机自动调度方法 | |
CN110502582B (zh) | 一种分布式数据库的在线扩容方法 | |
Senoussaoui et al. | Allocation of real-time tasks onto identical core platforms under deferred fixed preemption-point model | |
CN102158416A (zh) | 一种基于内存分配的报文处理方法和设备 | |
EP3129878A1 (en) | Elasticity engine for availability management framework (amf) | |
CN113448970B (zh) | 一种图数据存储方法及系统 | |
CN111258710B (zh) | 一种系统维护方法和装置 | |
CN102279751A (zh) | 一种通用开发平台的数据存储方法及装置 | |
Kang et al. | Container Restart Reduction Technique in Kubernetes Using Memory Oversubscription |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1213655 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151014 |
|
RJ01 | Rejection of invention patent application after publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1213655 Country of ref document: HK |