CN107038067A - 分布式流处理中处理资源的管理方法和装置 - Google Patents

分布式流处理中处理资源的管理方法和装置 Download PDF

Info

Publication number
CN107038067A
CN107038067A CN201610809508.5A CN201610809508A CN107038067A CN 107038067 A CN107038067 A CN 107038067A CN 201610809508 A CN201610809508 A CN 201610809508A CN 107038067 A CN107038067 A CN 107038067A
Authority
CN
China
Prior art keywords
processing
data stream
speed
processing unit
object data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610809508.5A
Other languages
English (en)
Other versions
CN107038067B (zh
Inventor
黄振华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Fortune Shanghai Financial Information Service Co ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610809508.5A priority Critical patent/CN107038067B/zh
Publication of CN107038067A publication Critical patent/CN107038067A/zh
Application granted granted Critical
Publication of CN107038067B publication Critical patent/CN107038067B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Abstract

本申请提供一种分布式流处理中处理资源的管理方法,包括:当某个处理单位的处理负荷满足预定拆分条件时,获取所述处理单位的最大对象处理速率;统计所述处理单位负责处理的对象流组中每个对象流的对象产生速率;所述对象流组包括至少一个对象流;将所述对象流组的至少一个子集形成新的对象流组并由其他处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过对象处理速率峰值;所述对象处理速率峰值根据所述最大对象处理速率确定。上述技术方案实现了在流任务繁忙时根据对象处理速率和对象产生速率自动拆分对象流组来提高流处理速率,能够在业务量增加时及时按照运行情况添加负责处理的处理单位。

Description

分布式流处理中处理资源的管理方法和装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种分布式流处理中处理资源的管理方法和装置。
背景技术
在分布式流处理系统中,流处理以任务的方式分散在多个处理单位中进行。每个处理单位对应于一个对象流组,该对象流组中可以包括一个到多个对象流,这些对象流中的对象将作为对应的处理单位的处理对象。以Storm系统为例,当一个拓扑启动运行后,该拓扑的组件(spout或bolt)会被并行化为多个任务,分配给多个Worker(即处理单位)来执行;任务输入为Partition(消息流,一种对象流)中源源不断的消息(一种对象),可以指派每个Worker负责处理一个到多个Partition中的消息,这个或这些Partition组成了该Worker的消息流组(一种对象流组)。
现有技术中,当对象流被指派给某个处理单位处理后,除非系统管理人员手动改变设置,该对象流中的对象将一直由该处理单位处理。这样,对一些有非规律性的高峰期或者低谷期的业务流,如果需要利用有限的处理资源实现速度有保障的对象处理,往往需要系统管理人员基于对业务量的实时监测来不断手动调整处理对应业务流的处理单位数量,不仅工作量巨大,而且对于业务量的突发性改变,常常会因人工操作耗时较长而难以进行及时调整。
发明内容
有鉴于此,本申请提供一种分布式流处理中处理资源的管理方法,包括:
当某个处理单位的处理负荷满足预定拆分条件时,获取所述处理单位的最大对象处理速率;
统计所述处理单位负责处理的对象流组中每个对象流的对象产生速率;所述对象流组包括至少一个对象流;
将所述对象流组的至少一个子集形成新的对象流组并由其他处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过对象处理速率峰值;所述对象处理速率峰值根据所述最大对象处理速率确定。
本申请提供的另一种分布式流处理中处理资源的管理方法,包括:
当至少一个处理单位的处理负荷满足预定合并条件时,确定包含所述处理单位和至少一个其他处理单位的集合,所述集合中所有处理单位的对象处理速率的总和不超过对象处理速率最大参考值;所述对象处理速率最大参考值根据至少一个处理单位的最大对象处理速率确定;
将所述集合中所有处理单位负责处理的对象流组合并为一个新的对象流组并由一个处理单位负责处理。
本申请还提供了一种分布式流处理中处理资源的管理装置,包括:
最大处理速率获取单元,用于当某个处理单位的处理负荷满足预定拆分条件时,获取所述处理单位的最大对象处理速率;
产生速率统计单元,用于统计所述处理单位负责处理的对象流组中每个对象流的对象产生速率;所述对象流组包括至少一个对象流;
对象流组拆分单元,用于将所述对象流组的至少一个子集形成新的对象流组并由其他处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过对象处理速率峰值;所述对象处理速率峰值根据所述最大对象处理速率确定。
本申请提供的另一种分布式流处理中处理资源的管理装置,包括:
合并集合生成单元,用于当至少一个处理单位的处理负荷满足预定合并条件时,确定包含所述处理单位和至少一个其他处理单位的集合,所述集合中所有处理单位的对象处理速率的总和不超过对象处理速率最大参考值;所述对象处理速率最大参考值根据至少一个处理单位的最大对象处理速率确定;
对象流组合并单元,用于将所述集合中所有处理单位负责处理的对象流组合并为一个新的对象流组并由一个处理单位负责处理。
由以上技术方案可见,本申请的实施例中,在监测到某个处理单位的处理负荷满足预定拆分条件时,根据处理单位的最大对象处理速率和各个对象流的对象产生速率,将该处理单位负责处理的对象流组拆分出至少一个对象流组由其他处理单位负责处理,从而实现了在流任务繁忙时根据对象处理速率和对象产生速率自动拆分对象流组来提高流处理速率,不仅能够在业务量增加时及时按照运行情况添加负责处理的处理单位,而且减少了系统管理人员的劳动;
本申请的实施例中,当有处理单位的处理负荷满足预定合并条件时,根据对象处理速率最大参考值和各个处理单位的对象处理速率,将至少两个处理单位负责处理的对象流组合并后运行在一个处理单位上,从而实现了在流任务空闲时自动合并对象流组来减少所占用的运行单位,不仅能够在业务量减少时及时按照运行情况释放处理资源,而且减少了系统管理人员的劳动。
附图说明
图1是本申请实施例一中一种分布式流处理中处理资源的管理方法的流程图;
图2是本申请应用示例一中拆分前后处理单位负责处理的对象流的示意图;
图3是本申请实施例二中一种分布式流处理中处理资源的管理方法的流程图;
图4是本申请应用示例二中合并前后处理单位负责处理的对象流的示意图;
图5是本申请实施例所在设备的一种硬件结构图;
图6是本申请实施例中一种分布式流处理中处理资源的管理装置的逻辑结构图;
图7是本申请实施例中一种分布式流处理中处理资源的管理装置的逻辑结构图。
具体实施方式
在分布式流处理系统的运行过程中,可以对处理单位的运行情况进行监测,当有处理单位的处理负荷过重时,说明该处理单位当前的流任务较为繁忙,可以将部分由该处理单位负责处理的对象流迁移到其他处理单位上,以提高对象处理的速率;当有处理单位的处理负荷过低时,说明该处理单位当前的流任务较为空闲,可以将两个或两个以上负荷较低的处理单位负责处理的对象流合并后在一个处理单位上运行,以减少对处理单位的占用;从而能够在无需人工干预的情况下,根据业务的实际负荷情况,及时恰当的分配所使用的处理资源,以解决现有技术存在的问题。
本申请的实施例可以应用在任何具有计算和存储能力的设备上,例如可以是手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本、服务器、虚拟机等物理设备或逻辑设备;也可以由两个或两个以上分担不同职责的物理或逻辑设备、相互协同来实现本申请实施例中的各项功能。
本申请的实施例一提出一种新的分布式流处理中处理资源的管理方法,用来对负荷过重的处理单位负责处理的对象流组进行拆分,其流程如图1所示。
步骤110,当某个处理单位的处理负荷满足预定拆分条件时,统计该处理单位的最大对象处理速率。
可以根据实际应用场景的具体实现、对对象处理时效的要求等因素来选择如何统计处理单位的处理负荷,并设置相应的预定拆分条件。例如,可以将处理单位负责处理的对象流组中所有等待处理的对象总数作为处理负荷,将对象总数超过某个既定阈值并且持续一定时间作为预定拆分条件。再如,可以将处理单位负责处理的对象流组中对象的等待处理时间作为处理负荷,将对象流组中所有等待处理时间超过某个既定时间阈值的对象的总个数超过预定个数阈值作为预定拆分条件。
在一个例子中,可以将处理单位负责处理的对象流组中对象的等待处理时间作为处理负荷;将处理单位负责处理的对象流组中,存在等待处理时间超过预定等待时间阈值仍未被处理的对象,并且持续时间超过第一预定延续时间阈值作为预定拆分条件。作为这个例子的一种具体实现,可以在对象被分配到某个对象流时打上时间戳,作为对象等待处理的起始时间;以一定周期扫描某个处理单位负责处理的对象流组中所有对象的时间戳,如果该时间戳在当前时间减去预定等待时间阈值之前,则置位本周期扫描超时标志位;如果连续K(K等于第一预定延续时间阈值除以扫描周期)个周期超时标识都被置位,则满足预定拆分条件。
这个例子中,预定等待时间阈值、第一预定延续时间阈值可以根据实时流所属业务的时效要求、实时流处理系统的处理能力、以及实时流处理系统包括其他业务在内的当前繁忙程度等因素来决定。
本实施例中,针对实时流处理中各个处理单位的处理负荷进行监测,在监测到某个处理单位的处理负荷满足预定拆分条件时,获取该处理单位的最大对象处理速率。
可以根据历史运行情况,预先估计出处理能力近似的处理单位对常规对象的平均峰值处理速度,并将其作为这些处理单位的最大对象处理速率预置在系统中供需要时读取。也可以根据当前处理单位的峰值处理速度来确定本步骤中的最大对象处理速率,以反映当前业务流对象实际需要的处理时长,例如,统计最近若干个预定时间段内的对象处理速率,将其中的最高值作为最大对象处理速率。
在一些根据当前处理单位的峰值处理速度来确定最大对象处理速率的应用场景中,可能发生在对象流组中聚集空对象的情形。空对象是指因处理流程失败而导致处理单位对其的处理时长明显短于正常对象的对象。例如,某个业务系统的接口故障拒绝调用服务,导致所有需要调用该接口的对象处理失败,由于无需等待该接口的运行过程也无需处理该接口返回的结果,该对象的处理时长极其短暂。
在发生这种情形时,往往会导致极高的最大对象处理速率。为了避免使用失真的最大对象处理速率,可以在确定最大对象处理速率时进行去噪。具体而言,可以统计最近N(N为大于1的自然数)个预定时间段的N个对象处理速率(单位时间内处理的对象个数),在对这些对象处理速率进行去噪后确定最大对象处理速率。
各种现有技术中去除峰值噪音的方法都可以用来进行去噪处理,本申请的实施例中不做限定。例如,可以将N个对象处理速率按时序划分为K个组,将每组中对象处理速率最高值、共K个值的平均值作为最大对象处理速率;再如,可以将K个最高值进行排序,将排序第L(如第三)的最高值作为最大对象处理速率。
在一种实现方式中,可以对最近N个预定时间段的N个对象处理速率进行排序,取其中值最高的M(M为不大于N的自然数)个值最高的对象处理速率,将所取的M个对象处理速率生成正态分布,计算该正态分布偏离中心点预定标准差倍数的点对应的对象处理速率,将其作为最大对象处理速率。换言之,这种实现方式中,将正态分布中心点附近、即出现可能性在一定概率(对应于预定标准差倍数的概率值)之下的峰值区域作为噪音去除,而将去噪后的最高值作为处理单位当前的最大对象处理速率。
在计算对象处理速率时,可以统计某个时间段内处理的对象个数,再除以该时间段的时长;也可以统计某个时间段内对象在该处理单位的平均延迟时间(即该处理单位对对象的平均处理时长),平均延迟时间的倒数即为该时间段内该处理单位的对象处理速率。
步骤120,统计该处理单位负责处理的对象流组中每个对象流的对象产生速率。
对象流的对象产生速率是对象进入该对象流的速度,即单位时间内进入该对象的对象个数,可以根据某个时间段内进入该对象流的总数来确定。
步骤130,将该对象流组的至少一个子集形成新的对象流组并由其他处理单位负责处理;其中,每个子集中所有对象流的对象产生速率的总和不超过根据该处理单位的最大对象处理速率确定的对象处理速率峰值。
对满足预定拆分条件的处理单位,对该处理单位负责处理的对象流组中的对象流进行拆分,形成该对象流组的一个到多个包含不同对象流的子集;每个子集中,作为子集元素的对象流的对象产生速率的总和不超过对象处理速率峰值。对形成的一个到多个子集,除保留一个子集继续由该处理单位负责处理外,其他的每个子集形成新的对象流组,迁移到其他处理单位上运行,由其他处理单位负责处理。
其中,对象处理速率峰值根据该处理单位的最大对象处理速率确定,例如,可以将最大对象处理速率作为对象处理速率峰值;也可以将一定百分比的最大对象处理速率作为对象处理速率峰值,以保留一定的处理能力余量。
对象流子集的拆分方式、迁移方式可以根据实际应用场景对处理单位的监测及管理方式来确定,本申请的实施例不做限定。例如,可以根据当前其他处理单位的负载情况来进行对象流子集的拆分,并将适合某个其他处理单位负载情况的子集迁移到该其他处理单位上,与该其他处理单位负责的原有对象流组合为新的对象流组后由该其他处理单位进行处理。
在一种实现方式中,可以将至少一个子集形成新的对象流组并启动新的处理单位负责处理;例如,可以将除保留在该处理单位上的子集外的其他每个子集分别形成一个新的对象流组,启动对应数量的新的处理单位,每个新启动的处理单位负责处理一个新形成的对象流组。
可见,本申请的实施例一中,对处理单位的处理负荷进行监测,在满足预定拆分条件时,根据处理单位的最大对象处理速率和各个对象流的对象产生速率,将该处理单位负责处理的对象流组拆分出部分对象流迁移到其他处理单位上,从而实现了在无需人工干预的情况下,在流任务繁忙时自动拆分对象流组来提高流处理速率,能够在业务量增加时及时按照运行情况添加负责处理的处理单位,而且减少了系统管理人员的劳动。
本申请实施例一可以应用在多种不同业务的流处理场景中。例如,在实时消息处理系统中,可以在某个处理单位负荷过重时,将其负责处理的消息流组中的部分消息流迁移到其他处理单位上;再如,在物流行业的包裹处理系统中,可以在某个包裹分拣处理单位负荷过重时,将其负责处理的包裹输入线路组中的部分输入线路迁移到新的分拣处理单位上;再如,对公共交通行业的进站管理系统,可以用来在人流的速度过快时自动增加检票口。
在本申请的应用示例一中,Storm系统中的一个拓扑的组件分配给4个worker(处理单位)来执行,每个worker分别处理一个Partition列表(消息流组,一种对象流组)。其中,worker W1负责处理Partition列表L1,L1中包括P1、P2、P3和P4四个Partition(消息流,一种对象流)。
以一定周期对3个worker负责处理的Partition中的消息(一种对象)进行扫描,如果消息进入Partition的时间早于当前时间减去预定等待阈值,则记录本次扫描存在消息处理超时;如果某个worker连续T个周期都存在消息处理超时,则该worker满足预定拆分条件。
假设worker W1满足预定拆分条件,统计W1在最近一个时间窗口内的TPS(Transaction Per Second,每秒处理的消息数量)序列(即该时间窗口内各秒的消息处理速率),将值最高的30%的TPS生成正态分布,取该正态分布曲线上距中心点0.05倍标准差的点对应的TPS作为W1的MaxTPS(最大消息处理速率)。
统计W1负责的每个Partition的消息处理速率,设为P1、P2、P3和P4的消息速率分别为v1、v2、v3和v4。
把W1负责的Partition列表L1拆分为至少两个子集,每个子集中所有Partition的消息处理速率总和不超过W1的最大消息处理速率MaxTPS。假设L1满足上述条件的子集为两个,分别是{P1,P2}和{P3,P4}。
将子集{P3,P4}形成新的Partition列表L5,为本应用示例中的拓扑增加新的第5个worker W5,将L5分配给W5负责处理。Partition列表L1在删除P3,P4后,剩余P1和P2,继续由W1负责处理。拆分前的worker W1和拆分后的W1和W5及其负责处理的Partition如图2所示。
本申请的实施例二提出一种新的分布式流处理中处理资源的管理方法,用来对负荷过低的两个或两个以上处理单位负责处理的对象流组进行合并,其流程如图3所示。
步骤310,当至少一个处理单位的处理负荷满足预定合并条件时,确定包含该处理单位和至少一个其他处理单位的集合,该集合中所有处理单位的对象处理速率的总和不超过对象处理速率最大参考值。
类似的,可以根据实际应用场景的具体实现、对对象处理时效的要求等因素来选择如何统计处理单位的处理负荷,并设置相应的预定合并条件。例如,可以将处理单位负责处理的对象流组中所有等待处理的对象总数作为处理负荷,将对象总数小于某个既定阈值并且持续一定时间作为预定合并条件。再如,可以将处理单位负责处理的对象流组中对象的等待处理时间作为处理负荷,将在一定时间段内进入对象流组的对象中所有等待处理时间超过某个既定时间阈值的对象的总个数小于预定个数阈值作为预定拆分条件。
在一个例子中,可以用处理单位的对象处理速率来衡量处理负荷;将至少一个处理单位的对象处理速率小于其最大对象处理速率的预定低负荷百分比,并且持续第二预定延续时间阈值作为预定合并条件。其中,处理单位对象处理速率的计算、最大对象处理速率的获取都可以参照实施例一中的各种方式实现,不再重复。
需要说明的是,可以分别为每个处理单位获取的各自的最大对象处理速率;对处理能力接近的若干个处理单位,也可以将获取的其中一个运算的单位的最大对象处理速率通用于上述若干个运算的单位。
这个例子中,预定低负荷百分比、第二预定延续时间阈值可以根据实时流所属业务的时效要求、实时流处理系统的处理能力、以及实时流处理系统包括其他业务在内的当前繁忙程度等因素来决定。
本实施例中,实时流处理中各个处理单位的处理负荷进行监测,在监测到存在处理负荷满足预定合并条件的处理单位时,以某个满足预定合并条件的处理单位为元素,与至少一个其他处理单位一起构建这样的集合:集合中的所有处理单位的对象处理速率的总和不超过对象处理速率最大参考值。
其中,对象处理速率最大参考值根据处理单位的最大对象处理速率确定,例如可以将最大对象处理速率作为对象处理速率最大参考值,也可以按照某个大于或小于1的对最大对象处理速率进行放大或缩小后作为对象处理速率最大参考值。另外,对象处理速率最大参考值可以根据满足预定合并条件的处理单位的最大对象处理速率确定,也可以根据负责处理合并后对象流的处理单位的最大对象处理速率确定,还可以根据通用于多个处理单位的最大对象处理速率确定。均不做限定。
在一个例子中,可以将所有处理单位的最大对象处理速率中的最低值作为对象处理速率最大参考值,这样,在将集合中处理单位负责处理的对象流组合并后由一个处理单位处理时,通常不至于超过该处理单位的负荷能力。
需要说明的是,与满足预定合并条件的处理单位一并作为同一集合元素的其他处理单位可以是不满足预定合并条件的处理单位;另外,在有两个或两个以上满足预定合并条件时,可以为这些处理单位构成一个或一个以上的满足对象处理速率约束条件的集合。
步骤320,将该集合中所有处理单位负责处理的对象流组合并为一个新的对象流组并由一个处理单位负责处理。
负责处理新对象流组的处理单位,可以是集合中的某个处理单位,也可以是一个新的处理单位,不做限定。在原来负责处理的对象流组由其他处理单位运行后,作为集合元素的处理单位可以被释放,来运行其他业务的流任务。
类似于实施例一,实施例二也可以应用在多种不同业务的流处理场景中。例如,在实时消息处理系统中,可以在处理单位过于空闲时,将数个处理单位负责处理的消息流组合并后集中到一个处理单位上;再如,在物流行业的包裹处理系统中,可以在包裹分拣处理单位过于空闲时,将多个处理单位负责处理的包裹输入线路组合并为一条输入线路分配给一个分拣处理单位进行处理;再如,对公共交通行业的进站管理系统,可以用来在人流的速度过低时自动关闭部分检票口。
可见,本申请的实施例二中,对处理单位的处理负荷进行监测,在存在满足预定合并条件的处理单位时,根据对象处理速率最大参考值和处理单位的对象处理速率,将至少两个处理单位负责处理的对象流组合并后运行在一个处理单位上,从而实现了在无需人工干预的情况下,在流任务空闲时自动合并对象流组来减少所占用的运行单位,能够在业务量减少时及时按照运行情况释放处理资源,而且减少了系统管理人员的劳动。
在本申请的应用示例二中,Storm系统中的一个拓扑的组件分配给3个worker(处理单位)来执行,每个worker分别处理一个Partition列表(消息流组)。其中,worker W1负责处理Partition列表L1,L1中包括P1和P2两个Partition(消息流);worker W2负责处理Partition列表L2,L2中包括P3和P4两个Partition。根据历史运行情况,系统管理人员为这3个worker设置了相同的最大消息处理速率估计值MaxEstTPS。
监测每个worker的TPS,如果存在TPS小于40%*MaxEstTPS并且持续时间超过某个预定时间阈值,则认为该拓扑满足预定合并条件。假设worker W1满足预定合并条件。
分别统计每个worker在最近一个时间窗口内的TPS序列(即该时间窗口内该worker各秒的消息处理速率),将值最高的30%的TPS生成正态分布,取该正态分布曲线上距中心点0.05倍标准差的点对应的TPS作为该worker的MaxTPS(最大消息处理速率)。对应于3个worker W1、W2和W3,其最大消息处理速率分别是MaxTPS1、MaxTPS2和MaxTPS3。取min{MaxTPS1,MaxTPS2,MaxTPS3}作为消息处理速率最大参考值MaxTPSRef。
在worker W1、W2和W3中找出这样的集合,集合中所有worker的TPS的总和不超过MaxTPSRef。假设满足上述条件的集合包括元素W1和W2。
将所找到的集合中W1和W2负责处理的Partition列表L1和L2中的所有Partition合并为新的L1,即新的L1包括P1、P2、P3和P4四个Partition,而新的L2为空,worker W2可以被释放。合并前后worker W1和W2及其负责处理的Partition如图4所示。
与上述流程实现对应,本申请的实施例还提供了两种分布式流处理中处理资源的管理装置,这两种装置均可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图5所示的CPU、内存以及非易失性存储器之外,分布式流处理中处理资源的管理装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图6所示为本申请实施例提供的一种分布式流处理中处理资源的管理装置,包括最大处理速率获取单元、产生速率统计单元和对象流组拆分单元,其中:最大处理速率获取单元用于当某个处理单位的处理负荷满足预定拆分条件时,获取所述处理单位的最大对象处理速率;产生速率统计单元用于统计所述处理单位负责处理的对象流组中每个对象流的对象产生速率;所述对象流组包括至少一个对象流;对象流组拆分单元用于将所述对象流组的至少一个子集形成新的对象流组并由其他处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过对象处理速率峰值;所述对象处理速率峰值根据所述最大对象处理速率确定。
一个例子中,所述最大处理速率获取单元具体用于:统计最近N个预定时间段的N个对象处理速率,在去噪后确定最大对象处理速率;N为大于1的自然数。
上述例子中,所述最大处理速率获取单元可以具体用于:统计最近N个预定时间段的N个对象处理速率,生成其中M个值最高的对象处理速率的正态分布,将所述正态分布曲线上偏离中心点预定标准差倍数的点对应的对象处理速率作为所述处理单位的最大对象处理速率;M为不大于N的自然数。
可选的,所述对象流组拆分单元具体用于:将所述对象流组的至少一个子集形成新的对象流组并启动新的处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过所述最大对象处理速率。
可选的,所述处理负荷包括:处理单位负责处理的对象流组中对象的等待处理时间;所述预定拆分条件包括:在所述处理单位负责处理的对象流组中,存在等待处理时间超过预定等待时间阈值仍未被处理的对象,并且持续时间超过第一预定延续时间阈值。
可选的,所述对象包括:消息。
图7所示为本申请实施例提供的一种分布式流处理中处理资源的管理装置,包括合并集合生成单元和对象流组合并单元,其中:合并集合生成单元用于当至少一个处理单位的处理负荷满足预定合并条件时,确定包含所述处理单位和至少一个其他处理单位的集合,所述集合中所有处理单位的对象处理速率的总和不超过对象处理速率最大参考值;所述对象处理速率最大参考值根据至少一个处理单位的最大对象处理速率确定;对象流组合并单元用于将所述集合中所有处理单位负责处理的对象流组合并为一个新的对象流组并由一个处理单位负责处理。
一个例子中,所述处理单位的最大对象处理速率在对所述处理单位最近N个预定时间段的N个对象处理速率进行去噪后确定;N大于1的自然数。
上述例子中,所述处理单位的最大对象处理速率为:所述处理单位最近N个预定时间段的N个对象处理速率中M个值最高的对象处理速率的正态分布曲线上,偏离中心点预定标准差倍数的点对应的对象处理速率;M为不大于N的自然数。
可选的,所述对象处理速率最大参考值为:所有处理单位的最大对象处理速率中的最低值。
可选的,所述至少一个处理单位的处理负荷满足预定合并条件,包括:至少一个处理单位的对象处理速率小于其最大对象处理速率的预定低负荷百分比,并且持续第二预定延续时间阈值。
可选的,所述对象包括:消息。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (24)

1.一种分布式流处理中处理资源的管理方法,其特征在于,包括:
当某个处理单位的处理负荷满足预定拆分条件时,获取所述处理单位的最大对象处理速率;
统计所述处理单位负责处理的对象流组中每个对象流的对象产生速率;所述对象流组包括至少一个对象流;
将所述对象流组的至少一个子集形成新的对象流组并由其他处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过对象处理速率峰值;所述对象处理速率峰值根据所述最大对象处理速率确定。
2.根据权利要求1所述的方法,其特征在于,所述获取处理单位的最大对象处理速率,包括:统计最近N个预定时间段的N个对象处理速率,在去噪后确定最大对象处理速率;N为大于1的自然数。
3.根据权利要求2所述的方法,其特征在于,所述获取处理单位的最大对象处理速率,包括:统计最近N个预定时间段的N个对象处理速率,生成其中M个值最高的对象处理速率的正态分布,将所述正态分布曲线上偏离中心点预定标准差倍数的点对应的对象处理速率作为所述处理单位的最大对象处理速率;M为不大于N的自然数。
4.根据权利要求1所述的方法,其特征在于,所述将对象流组的至少一个子集形成新的对象流组并由其他处理单位负责处理,包括:将所述对象流组的至少一个子集形成新的对象流组并启动新的处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过所述最大对象处理速率。
5.根据权利要求1所述的方法,其特征在于,所述处理负荷包括:处理单位负责处理的对象流组中对象的等待处理时间;
所述预定拆分条件包括:在所述处理单位负责处理的对象流组中,存在等待处理时间超过预定等待时间阈值仍未被处理的对象,并且持续时间超过第一预定延续时间阈值。
6.根据权利要求1所述的方法,其特征在于,所述对象包括:消息。
7.一种分布式流处理中处理资源的管理方法,其特征在于,包括:
当至少一个处理单位的处理负荷满足预定合并条件时,确定包含所述处理单位和至少一个其他处理单位的集合,所述集合中所有处理单位的对象处理速率的总和不超过对象处理速率最大参考值;所述对象处理速率最大参考值根据至少一个处理单位的最大对象处理速率确定;
将所述集合中所有处理单位负责处理的对象流组合并为一个新的对象流组并由一个处理单位负责处理。
8.根据权利要求7所述的方法,其特征在于,所述处理单位的最大对象处理速率在对所述处理单位最近N个预定时间段的N个对象处理速率进行去噪后确定;N大于1的自然数。
9.根据权利要求8所述的方法,其特征在于,所述处理单位的最大对象处理速率为:所述处理单位最近N个预定时间段的N个对象处理速率中M个值最高的对象处理速率的正态分布曲线上,偏离中心点预定标准差倍数的点对应的对象处理速率;M为不大于N的自然数。
10.根据权利要求7至9任意一项所述的方法,其特征在于,所述对象处理速率最大参考值为:所有处理单位的最大对象处理速率中的最低值。
11.根据权利要求7所述的方法,其特征在于,所述至少一个处理单位的处理负荷满足预定合并条件,包括:至少一个处理单位的对象处理速率小于其最大对象处理速率的预定低负荷百分比,并且持续第二预定延续时间阈值。
12.根据权利要求7所述的方法,其特征在于,所述对象包括:消息。
13.一种分布式流处理中处理资源的管理装置,其特征在于,包括:
最大处理速率获取单元,用于当某个处理单位的处理负荷满足预定拆分条件时,获取所述处理单位的最大对象处理速率;
产生速率统计单元,用于统计所述处理单位负责处理的对象流组中每个对象流的对象产生速率;所述对象流组包括至少一个对象流;
对象流组拆分单元,用于将所述对象流组的至少一个子集形成新的对象流组并由其他处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过对象处理速率峰值;所述对象处理速率峰值根据所述最大对象处理速率确定。
14.根据权利要求13所述的装置,其特征在于,所述最大处理速率获取单元具体用于:统计最近N个预定时间段的N个对象处理速率,在去噪后确定最大对象处理速率;N为大于1的自然数。
15.根据权利要求14所述的装置,其特征在于,所述最大处理速率获取单元具体用于:统计最近N个预定时间段的N个对象处理速率,生成其中M个值最高的对象处理速率的正态分布,将所述正态分布曲线上偏离中心点预定标准差倍数的点对应的对象处理速率作为所述处理单位的最大对象处理速率;M为不大于N的自然数。
16.根据权利要求13所述的装置,其特征在于,所述对象流组拆分单元具体用于:将所述对象流组的至少一个子集形成新的对象流组并启动新的处理单位负责处理,所述每个子集中所有对象流的对象产生速率的总和不超过所述最大对象处理速率。
17.根据权利要求13所述的装置,其特征在于,所述处理负荷包括:处理单位负责处理的对象流组中对象的等待处理时间;
所述预定拆分条件包括:在所述处理单位负责处理的对象流组中,存在等待处理时间超过预定等待时间阈值仍未被处理的对象,并且持续时间超过第一预定延续时间阈值。
18.根据权利要求13所述的装置,其特征在于,所述对象包括:消息。
19.一种分布式流处理中处理资源的管理装置,其特征在于,包括:
合并集合生成单元,用于当至少一个处理单位的处理负荷满足预定合并条件时,确定包含所述处理单位和至少一个其他处理单位的集合,所述集合中所有处理单位的对象处理速率的总和不超过对象处理速率最大参考值;所述对象处理速率最大参考值根据至少一个处理单位的最大对象处理速率确定;
对象流组合并单元,用于将所述集合中所有处理单位负责处理的对象流组合并为一个新的对象流组并由一个处理单位负责处理。
20.根据权利要求19所述的装置,其特征在于,所述处理单位的最大对象处理速率在对所述处理单位最近N个预定时间段的N个对象处理速率进行去噪后确定;N大于1的自然数。
21.根据权利要求20所述的装置,其特征在于,所述处理单位的最大对象处理速率为:所述处理单位最近N个预定时间段的N个对象处理速率中M个值最高的对象处理速率的正态分布曲线上,偏离中心点预定标准差倍数的点对应的对象处理速率;M为不大于N的自然数。
22.根据权利要求19至21任意一项所述的装置,其特征在于,所述对象处理速率最大参考值为:所有处理单位的最大对象处理速率中的最低值。
23.根据权利要求19所述的装置,其特征在于,所述至少一个处理单位的处理负荷满足预定合并条件,包括:至少一个处理单位的对象处理速率小于其最大对象处理速率的预定低负荷百分比,并且持续第二预定延续时间阈值。
24.根据权利要求19所述的装置,其特征在于,所述对象包括:消息。
CN201610809508.5A 2016-09-07 2016-09-07 分布式流处理中处理资源的管理方法和装置 Active CN107038067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610809508.5A CN107038067B (zh) 2016-09-07 2016-09-07 分布式流处理中处理资源的管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610809508.5A CN107038067B (zh) 2016-09-07 2016-09-07 分布式流处理中处理资源的管理方法和装置

Publications (2)

Publication Number Publication Date
CN107038067A true CN107038067A (zh) 2017-08-11
CN107038067B CN107038067B (zh) 2020-12-04

Family

ID=59533068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610809508.5A Active CN107038067B (zh) 2016-09-07 2016-09-07 分布式流处理中处理资源的管理方法和装置

Country Status (1)

Country Link
CN (1) CN107038067B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832129A (zh) * 2017-10-24 2018-03-23 华中科技大学 一种面向分布式流计算系统的动态任务调度优化方法
CN112596503A (zh) * 2020-12-18 2021-04-02 浙江中控技术股份有限公司 一种控制系统扫描周期的配置方法和相关设备
CN113127221A (zh) * 2019-12-31 2021-07-16 奇安信科技集团股份有限公司 一种限制消息消费速率的方法、装置、设备及存储介质
CN117240788A (zh) * 2023-11-15 2023-12-15 南京邮电大学 一种基于sdn的数据中心网络拥塞控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441557A (zh) * 2008-11-08 2009-05-27 腾讯科技(深圳)有限公司 基于动态数据拆分的分布式并行计算的系统及其方法
CN104066193A (zh) * 2014-06-06 2014-09-24 电信科学技术研究院 一种调度方法及装置
CN104978232A (zh) * 2014-04-09 2015-10-14 阿里巴巴集团控股有限公司 用于实时流式计算的计算资源扩容、释放方法及其装置
CN105094967A (zh) * 2015-06-26 2015-11-25 小米科技有限责任公司 进程运行方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441557A (zh) * 2008-11-08 2009-05-27 腾讯科技(深圳)有限公司 基于动态数据拆分的分布式并行计算的系统及其方法
CN104978232A (zh) * 2014-04-09 2015-10-14 阿里巴巴集团控股有限公司 用于实时流式计算的计算资源扩容、释放方法及其装置
CN104066193A (zh) * 2014-06-06 2014-09-24 电信科学技术研究院 一种调度方法及装置
CN105094967A (zh) * 2015-06-26 2015-11-25 小米科技有限责任公司 进程运行方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832129A (zh) * 2017-10-24 2018-03-23 华中科技大学 一种面向分布式流计算系统的动态任务调度优化方法
CN113127221A (zh) * 2019-12-31 2021-07-16 奇安信科技集团股份有限公司 一种限制消息消费速率的方法、装置、设备及存储介质
CN112596503A (zh) * 2020-12-18 2021-04-02 浙江中控技术股份有限公司 一种控制系统扫描周期的配置方法和相关设备
CN112596503B (zh) * 2020-12-18 2022-04-22 浙江中控技术股份有限公司 一种控制系统扫描周期的配置方法和相关设备
CN117240788A (zh) * 2023-11-15 2023-12-15 南京邮电大学 一种基于sdn的数据中心网络拥塞控制方法
CN117240788B (zh) * 2023-11-15 2024-03-08 南京邮电大学 一种基于sdn的数据中心网络拥塞控制方法

Also Published As

Publication number Publication date
CN107038067B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN107038067A (zh) 分布式流处理中处理资源的管理方法和装置
CN108632365B (zh) 服务资源调整方法、相关装置和设备
Mei et al. A profit maximization scheme with guaranteed quality of service in cloud computing
US9712640B2 (en) Load distribution in client server system
Huang et al. An optimistic job scheduling strategy based on QoS for cloud computing
CN109144699A (zh) 分布式任务调度方法、装置及系统
CN105718317A (zh) 一种任务调度方法及装置
CN104363282B (zh) 一种云计算资源调度方法及装置
CN107968810A (zh) 一种服务器集群的资源调度方法、装置和系统
US10423217B1 (en) Dynamic power capping of multi-server nodes in a chassis based on real-time resource utilization
CN106899643A (zh) 一种用户日志存储方法及设备
CN102339233A (zh) 云计算集中管理平台
CN105824705B (zh) 一种任务分配方法和电子设备
US20180307536A1 (en) Component logical threads quantity adjustment method and device
CN104572298B (zh) 视频云平台的资源调度方法及装置
CN115277577A (zh) 数据处理方法、装置、计算机设备和计算机可读存储介质
CN106936867A (zh) 一种业务请求的响应方法及装置
CN107203256A (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
CN109445931A (zh) 一种大数据资源调度系统及方法
CN111222810A (zh) 一种实时分配格口的方法和装置
CN116627615A (zh) 一种任务处理方法、装置、电子设备和存储介质
CN107391541A (zh) 一种实时数据合并方法和装置
Farooq et al. Adaptive and resilient revenue maximizing dynamic resource allocation and pricing for cloud-enabled IoT systems
CN103970592A (zh) 交易中间件的单线程多任务处理方法及服务器
CN102904952A (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
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220418

Address after: Room 602, No. 618 Wai Road, Huangpu District, Shanghai

Patentee after: Ant fortune (Shanghai) Financial Information Service Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

TR01 Transfer of patent right