CN103873380B - 一种数据分发策略的调整方法、装置及系统 - Google Patents
一种数据分发策略的调整方法、装置及系统 Download PDFInfo
- Publication number
- CN103873380B CN103873380B CN201410062625.0A CN201410062625A CN103873380B CN 103873380 B CN103873380 B CN 103873380B CN 201410062625 A CN201410062625 A CN 201410062625A CN 103873380 B CN103873380 B CN 103873380B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- post
- processing
- data
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 156
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000012545 processing Methods 0.000 claims abstract description 394
- 238000012805 post-processing Methods 0.000 claims abstract description 376
- 230000008569 process Effects 0.000 claims abstract description 60
- 238000005096 rolling process Methods 0.000 claims description 29
- 230000003139 buffering effect Effects 0.000 claims description 25
- 238000007781 pre-processing Methods 0.000 claims description 22
- 238000004148 unit process Methods 0.000 claims description 11
- 230000007423 decrease Effects 0.000 claims description 9
- 230000003247 decreasing effect Effects 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 230000009467 reduction Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims 4
- 230000007547 defect Effects 0.000 abstract 1
- 238000005111 flow chemistry technique Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了数据分发策略的调整方法、装置及系统,属于数据处理领域。所述方法用于处理流处理系统中的流处理业务的数据,包括:所述控制装置获取每个工作装置的资源使用报告;根据所述每个工作装置的资源使用报告及预设的策略,确定处理单元调整策略,所述处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;从所述至少一个工作装置中选择至少一个工作装置作为所述处理单元调整策略的执行者;生成包括所述处理单元调整策略的调整指示,并将所述调整指示发送给被确定的工作装置。在流处理业务进行的过程中,由控制装置根据各工作装置的资源使用报告确定需要调整后处理单元的数量,避免了后处理单元的数量不可改变缺陷。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种数据分发策略的调整方法、装置及系统。
背景技术
流处理的处理模式将数据视为流,源源不断的数据组成了数据流。当新的数据到来时就立刻处理并返回所需的结果。流处理系统则是利用该模式,能够处理大数据量、产生实时、低延迟的响应的数据处理系统。现有的流处理系统,由用户事先确定数据分发策略、定义拓扑图、设置若干个功能不同的后处理单元,完成特定的业务。为了提高系统的并发性,用户需要在设计拓扑图时对各后处理单元进行拷贝或设置各后处理单元的个数,由于现有技术中没有在流数据进行过程中数据分发策略的调整方法,因此后处理单元的数量在流处理业务运行过程中不可改变。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于后处理单元的数量由用户在设计时设定,在流处理系统运行过程中不可改变,而在流处理系统运行的过程中,数据的输入量是动态变化的,因此当某一时间段内的数据输入量大时,设计时期确定的后处理单元的并发数不足以处理当前的大数据量,从而影响的系统的吞吐量;而当某一时间段内的数据量小时,设计时期确定的后处理单元的数过多,占用了过多的系统资源,造成了资源的浪费。如果要调整后处理单元数量需要将现有运行拓扑停止运行,修改并发参数,调整数据分发策略,并重新提交业务拓扑,这样导致业务中断,影响业务体验。
发明内容
为了解决已有技术的问题,本发明实施例提供了一种数据分发策略的调整方法、装置及系统。所述技术方案如下:
第一方面,提供了一种数据分发策略的调整方法,用于处理流处理系统中的流处理业务的数据,所述流处理系统包括控制装置及至少一个工作装置,每个工作装置设置多个后处理单元对接收到的流处理业务的数据进行并行处理,所述方法包括:所述控制装置获取各所述每个工作装置的资源使用报告;所述控制装置根据所述每个工作装置的资源使用报告及预设的策略,确定处理单元调整策略所述处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;所述控制装置从所述至少一个工作装置中选择至少一个工作装置作为所述处理单元调整策略的执行者;所述控制装置生成包括所述处理单元调整策略的调整指示,并将所述调整指示发送所述被选择的至少一个工作装置,以使得所述被选择的至少一个工作装置执行所述调整策略。
结合第一方面,在第一方面的第一种可能的实现方式中,所述预设的策略包括:当至少一个工作装置的资源使用报告中的指定参数超过指定阈值时,增加后处理单元的数量;或者,当至少一个工作装置的资源使用报告中的指定参数低于指定阈值时,减少后处理单元的数量;其中,所述资源使用报告中的指定参数,包括如下一个或多个参数:CPU使用率、内存使用率、吞吐量或事件延迟时间。
结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:所述被选择的至少一个工作装置接收所述调整指示;所述被选择的至少一个工作装置根据所述调整指示包含的处理单元调整策略,增加或者减少自身设置的后处理单元的数量。
结合第一方面、第一方面的第一种、第二种或第三种可能的视线方式,在第一方面的第三种可能的实现方式中,被选择的至少一个工作装置根据所述调整指示包含的处理单元调整策略,增加或者减少自身设置的后处理单元的数量,包括:所述被选择的至少一个工作装置根据处理单元增加策略,创建并启动新的后处理单元;或者,所述被选择的至少一个工作装置根据处理单元减少策略,销毁指定的后处理单元。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述被选择的至少一个工作装置根据处理单元增加策略,创建并启动新的后处理单元,包括:所述被选择的至少一个工作装置确定已创建的后处理单元的窗口类型;若所述已创建的后处理单元包含滚动窗口,创建并启动包含滚动窗口的新的后处理单元,若所述已创建的后处理单元包含滑动窗口,创建并启动包含滑动窗口的新的后处理单元。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述被选择的至少一个工作装置和/或未被选择的工作装置上还设置先处理单元,所述方法还包括:所述先处理单元更新与其相关的后处理单元的信息;所述先处理单元根据所述更新后的后处理单元的信息,确定新的分发策略,所述新的分发策略用于指示所述先处理单元将所述流处理业务的数据分发到已创建的后处理单元及所述新的后处理单元。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:所述先处理单元确定所述新的后处理单元的窗口类型,当所述新的后处理单元包含滚动窗口时,所述先处理单元获取处理结束指示,所述处理结束指示用于表明所述已创建的后处理单元处理完毕当前滚动窗口的流处理业务的数据;所述先处理单元在获取到所述处理结束指示后,根据所述新的分发策略发送所述流处理业务的数据到所述已创建的后处理单元和所述新的后处理单元。
结合第一方面的第五种可能的实现方式,在第一方面的第七种可能的实现方式中,所述先处理单元确定所述新的后处理单元的窗口类型,当所述新的后处理单元包含滑动窗口时,所述先处理单元启动缓冲时间,在所述缓冲时间内根据旧的分发策略和所述新的分发策略分发所述流处理业务的数据,并对分发的数据进行标记,以使得所述已创建的后处理单元及所述新的后处理单元根据所述标记进行处理。
结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述对分发的数据进行标记,以使得后处理单元根据所述标记进行处理包括:当所述流处理业务的数据按照旧分发策略分发时,若接收所述数据的后处理单元与按照所述新分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预删”标记;当所述流处理业务的数据按照所述新的分发策略分发时,若接收所述数据的后处理单元与按照所述旧分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预增”标记。
结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述已创建的后处理单元和所述新的后处理单元在所述缓冲时间内对接收的数据进行处理,输出具有“保持”标记或“预删”标记的数据的处理结果,保存但不输出具有“预增”标记的数据的处理结果;所述已创建的后处理单元和新的后处理单元在所述缓冲时间结束后,输出具有“保持”标记或“预增”标记的数据的处理结果,停止对具有“预删”标记的数据的处理及处理结果的输出,以及接收并处理所述先处理单元发送的无标记的数据。
第二方面,提供一种工作装置,用于负责流处理业务中后处理单元的销毁、创建及运行,包括后处理单元,用于对接收到的流处理业务的数据进行并行处理,其特征在于,所述工作装置还包括:接收单元,用于接收调整指示,所述调整指示包括控制单元根据获取到的所有工作装置的资源使用报告确定的处理单元调整策略,所述处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;执行单元,用于根据所述接收单元接收的处理单元调整策略,增加或者减少自身设置的后处理单元的数量。
结合第二方面,在第二方面的第一种可能的实现方式中,所述执行单元包括:创建模块,用于根据处理单元增加策略,创建并启动新的后处理单元;或者,销毁模块,用于根据处理单元减少策略,销毁部分指定的后处理单元。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述创建模块包括:确定子模块,于确定所述工作装置上的已创建的多个后处理单元的窗口类型创建子模块,用于在所述确定子模块确定所述已创建的多个后处理单元包含滚动窗口时,创建并启动包含滚动窗口的新的后处理单元,在所述确定子模块确定所述已创建的多个后处理单元包含滑动窗口时,创建并启动包含滑动窗口的新的后处理单元。
结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述工作装置还包括先处理单元,所述先处理单元包括:更新模块,用于更新与所述先处理单元相关的后处理单元的信息;策略调整模块,用于根据所述更新模块更新后的后处理单元的信息,确定新的分发策略,所述新的分发策略用于指示所述先处理单元将所述流处理业务的数据分发到所述已创建的后处理单元及所述新的后处理单元。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述先处理单元还包括:确定模块,用于确定所述创建模块创建的新的后处理单元的窗口类型;接收模块,用于在所述确定模块确定所述新的后处理单元包含滚动窗口时,获取处理结束指示,所述处理结束指示用于表明所述已创建的后处理单元处理完毕当前滚动窗口的流处理业务的数据;所述分发模块,还用于在所述接收模块获取到所述处理结束指示后,根据所述新的分发策略发送所述流处理业务的数据到所述已创建的后处理单元和新的后处理单元。
结合第二方面的第三种可能的实现方式,在第二方面的第五种可能的实现方式中,所述先处理单元还包括:确定模块,用于确定所述创建模块创建的新的后处理单元的窗口类型;启动模块,用于在所述确定模块确定所述新的后处理单元包含滑动窗口时,启动缓冲时间;所述分发模块,还用于在所述启动模块启动的缓冲时间内根据旧的分发策略和所述新的分发策略分发所述流处理业务的数据;标记模块,用于对所述分发模块分发的数据进行标记,以使得所述后处理单元根据所述标记进行处理。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述标记模块,还用于在所述分发模块按照旧的分发策略分发数据时,若接收所述流处理业务的数据的后处理单元与按照所述新分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预删”标记;以及用于在所述分发模块按照所述新的分发策略分发数据时,若接收所述流处理业务的数据的后处理单元与按照所述旧分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预增”标记。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述后处理单元,还用于在所述缓冲时间内对接收的数据进行处理,输出具有“保持”标记或“预删”标记的数据的处理结果,保存但不输出具有“预增”标记的数据的处理结果;以及用于所述后处理单元在所述缓冲时间结束后,输出具有“保持”标记或“预增”标记的数据的处理结果,停止对具有“预删”标记的数据的处理及处理结果的输出,以及接收并处理所述先处理单元发送的无标记的数据。
第三方面,提供一种,控制装置,对流处理系统进行管理及监控,包括:获取单元,用于获取其管理的每个工作装置的资源使用报告;调整策略确定单元,用于根据所述获取单元获取的每个工作装置的资源使用报告及预设的策略,确定处理单元调整策略,处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;选择单元,用于在所述调整策略确定单元确定处理单元调整策略之后,从所述至少一个工作装置中选择至少一个工作装置作为所述处理单元调整策略的执行者;发送单元,用于根据所述调整策略确定单元确定的处理单元调整策略生成调整指示,并将所述调整指示发送给所述选择单元选择的至少一个工作装置。
第四方面,提供一种处理系统,包括:第三方面所述的控制装置,用于在流处理过程中对工作装置进行管理及监控,确定是否调整所述工作装置上后处理单元的数量;如第二方面所述的工作装置,用于在所述控制装置确定调整所述后处理单元的数量时,增加或者减少自身设置的后处理单元的数量。
本发明实施例提供的技术方案带来的有益效果是:
在流处理业务进行的过程中,控制装置通过获取各工作装置的资源使用报告,确定是否需要调整后处理单元的数量,并在确定需要调整后处理单元的数量时,由工作装置调整后处理单元的数量,以使得与所述后处理单元相关的先处理单元计算并执行新分发策略。从而实现在流处理业务的过程中动态的调整分发策略,无需中断业务即可改变后处理单元的数量,避免了流处理业务进行的过程中因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的流处理系统组成图。
图2是本发明实施例一提供的数据分发策略的调整方法的流程图;
图3是本发明实施例二、实施例三及实施例四提供的数据分发策略的调整方法中流处理业务的原始拓扑的示意图;
图4是本发明实施例二提供的数据分发策略的调整方法的流程图;
图5及图6是本发明实施例二的方法中步骤410的两种不同实现方式的示意图;
图7是本发明实施例三提供的数据分发策略的调整方法的流程图;
图8是本发明实施例三中步骤714中工作装置按照旧分发策略和新分发策略分发数据的示意图;
图9是本发明实施例三中步骤716中工作装置按照新分发策略分发数据的示意图;
图10是本发明实施例四提供的数据分发策略的调整方法的流程图
图11是本发明实施例五提供的工作装置的结构示意图;
图12是本发明实施例六提供的控制装置的结构示意图;
图13是本发明实施例七提供的流处理系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
如图1所示,为本发明实施例提供的流处理系统组成图,本发明实施例中流处理系统包括控制装置和至少一个工作装置,所述控制装置用于对流处理系统进行管理及监控,根据所述至少一个工作装置的负载确定是否增加或者减少工作装置的任务处理量,所述工作装置用于对流处理系统中的流处理业务采用处理单元进行并发处理,以及根据所述控制单元的指示增加或者减少自身设置的处理单元,具体地,由于流处理业务是以业务流的形式输出到所述至少一个工作装置,所述工作装置对接收到的业务流采取多阶段并发处理的模式进行处理,例如每个工作装置设置的处理单元可以包括先处理单元和/或后处理单元,所述先后处理单元和后处理单元可以对所述流处理业务的同一个任务进行分阶段的处理,先处理阶段对应先处理单元,后处理阶段对应后处理单元,所述先处理单元对接收到的流处理业务的数据进行先处理之后,确定所述数据的发往哪个后处理单元进行处理,即确定数据分发策略,并进行分发控制,所述后处理单元用于对接收到的数据进行下一阶段的处理;所述先处理单元和后处理单元都可以为多个,所谓并发处理,就是所述流处理业务的数据根据控制单元的控制进入工作装置进行处理,工作装置中的先处理单元和后处理单元对所述流处理业务的数据进行并发处理,具体的措施就是,所述工作装置设置多个所述先处理单元或者多个后处理单元进行并发处理。本发明实施例中,为了解决现有技术无法灵活设置工作装置的处理单元的数量的问题,使得所述控制单元根据每个工作装置的资源使用报告,调整相关工作装置的处理能力,即决定增加或者减少各工作装置上的处理单元的数量,本发明实施例中,具体指增加或者减少后处理单元的数量,进一步,在增加或者减少了后处理单元的数量之后,为了保证业务的无缝迁移和切换,使得流处理业务不受到影响,本发明实施例还提供后处理单元的分发策略和切换处理流程。所述工作装置具体可以是服务器或者计算机系统。
在流处理系统中,包含窗口的定义,窗口分为滚动窗口和滑动窗口,所述滚动窗口:缓存数据(该数据也可称为事件),当达到更新条件后,将数据全部移出窗口。如果更新条件是以时间度量,称为滚动时间窗口;如果更新条件以数据流元素个数度量,称为滚动事件窗口。所述滑动窗口:按照指定间隔移动窗口,使得窗口内数据不断移出,从而保持一定数量限制。如果指定间隔以时间度量,称为滑动时间窗口;如果指定间隔以数据流元素个数度量,称为滑动事件窗口。因此如果流处理业务进行的过程中新增了后处理单元,则需要考虑该新增的后处理单元是否包含时间窗口,及时间窗口的类型在数据分发策略调整后,新分发策略及旧分发策略切换时对流处理业务的影响。
实施例一
本实施例提供一种数据分发策略的调整方法,用于处理流处理系统中的流处理业务的数据,所述流处理系统包括控制装置及至少一个工作装置,每个工作装置设置多个后处理单元对接收到的流处理业务的数据进行并行处理,请参阅图2,该方法流程包括:
201、所述控制装置获取所述每个工作装置的资源使用报告;
202、所述控制装置根据所述每个工作装置的资源使用报告及预设的策略,确定处理单元调整策略,所述处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;
203、所述控制装置从所述至少一个工作装置中选择至少一个工作装置作为所述处理单元调整策略的执行者;
204、所述控制装置生成包括所述处理单元调整策略的调整指示,并将所述调整指示发送所述被选择的至少一个工作装置,以使得所述被选择的至少一个工作装置执行所述调整策略。
具体的,所述预设的策略包括:当至少一个工作装置的资源使用报告中的指定参数超过指定阈值时,增加后处理单元的数量;或者,
当至少一个工作装置的资源使用报告中的指定参数低于指定阈值时,减少后处理单元的数量;
其中,所述资源使用报告中的指定参数,包括如下一个或多个参数:CPU使用率、内存使用率、吞吐量或事件延迟时间。
进一步的,所述被选择的至少一个工作装置执行所述调整策略包括:
所述被选择的至少一个工作装置接收所述调整指示;
所述被选择的至少一个工作装置根据所述调整指示包含的处理单元调整策略,增加或者减少自身设置的后处理单元的数量。
进一步的,被选择的至少一个工作装置根据所述调整指示包含的处理单元调整策略,增加或者减少自身设置的后处理单元的数量,包括:
所述被选择的至少一个工作装置根据处理单元增加策略,创建并启动新的后处理单元;或者,
所述被选择的至少一个工作装置根据处理单元减少策略,销毁部分指定的后处理单元。
进一步的,所述被选择的至少一个工作装置根据处理单元增加策略,创建并启动新的后处理单元包括:
所述被选择的至少一个工作装置确定已创建的后处理单元的窗口类型;
若所述已创建的后处理单元包含滚动窗口,创建并启动包含滚动窗口的新的后处理单元,若所述已创建的后处理单元包含滑动窗口,创建并启动包含滑动窗口的新的后处理单元。
进一步的,所述被选择的至少一个工作装置和/或未被选择的工作装置上还设置先处理单元,所述方法还包括:
所述先处理单元更新与其相关的后处理单元的信息;
所述先处理单元根据所述更新后的后处理单元的信息,确定新的分发策略,所述新的分发策略用于指示所述先处理单元将所述流处理业务的数据分发到已创建的后处理单元及所述新的后处理单元。
在本实施例的第一种场景中,所述方法还包括:
所述先处理单元确定所述新的后处理单元的窗口类型,当所述新的后处理单元包含滚动窗口时,所述先处理单元获取处理结束指示,所述处理结束指示用于表明所述已创建的后处理单元处理完毕当前滚动窗口的流处理业务的数据;
所述先处理单元在获取到所述处理结束指示后,根据所述新的分发策略发送所述流处理业务的数据到所述已创建的后处理单元和所述新的后处理单元。
具体的,所述处理结束指示由所述已创建的后处理单元发送给所述先处理单元,或者由所述已创建的后处理单元发送给所述控制装置之后由所述控制装置转发给所述先处理单元。
在本实施例的第二种场景中,所述方法还包括:
所述先处理单元确定所述新的后处理单元的窗口类型,当所述新的后处理单元包含滑动窗口时,所述先处理单元启动缓冲时间,在所述缓冲时间内根据旧的分发策略和所述新的分发策略分发所述流处理业务的数据,并对分发的数据进行标记,以使得后处理单元根据所述标记进行处理。
具体的,所述对分发的数据进行标记,以使得后处理单元根据所述标记进行处理包括:
当所述流处理业务的数据按照旧分发策略分发时,若接收所述数据的后处理单元与按照所述新分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预删”标记;
当所述流处理业务的数据按照所述新的分发策略分发时,若接收所述数据的后处理单元与按照所述旧分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预增”标记。
具体的,所述方法还包括:
所述已创建的后处理单元和所述新的后处理单元在所述缓冲时间内对接收的数据进行处理,输出具有“保持”标记或“预删”标记的数据的处理结果,保存但不输出具有“预增”标记的数据的处理结果;
所述已创建的后处理单元和所述新的后处理单元在所述缓冲时间结束后,输出具有“保持”标记或“预增”标记的数据的处理结果,停止对具有“预删”标记的数据的处理及处理结果的输出,以及接收并处理所述先处理单元发送的无标记的数据。
本实施例的数据分发策略的调整方法,在流处理业务的过程中,由控制装置根据获得的资源使用报告及预设的策略决策是否需确定处理单元调整策略,并在确定了处理单元调整策略时,选择工作装置执行该处理单元调整策略。从而实现在流处理业务的过程中动态的调整分发策略,无需中断业务即可改变后处理单元的数量,避免了流处理业务进行的过程中因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。
下面以图3所示的流处理业务的原始拓扑分布情况为例,通过实施例二、实施例三及实施例四,对本发明的数据分发策略的调整方法中的各个可能实现的场景进行更加详细的说明。其中A为先处理单元,B1、B2为后处理单元。先处理单元A当前数据的分发策略为:B1处理ID为奇数的数据,即接收ID值为1、3、5、7、9的数据,B2处理ID为偶数的数据,即接收ID值为0、2、4、6、8、的数据。
实施例二
本发明实施例提供了一种数据分发策略的调整方法。
本实施例中,后处理单元B1、B2均包含滚动窗口,如滚动时间窗口。
请参阅图4,方法流程包括:
401、流处理业务进行的过程中,控制装置接收各工作装置发送的资源使用报告。
具体的,各工作装置发送资源使用报告的时机,可以是指定时刻的、周期性的,也可以由用户启动。
资源使用报告包括工作装置及与该工作装置上的后处理单元的资源使用情况,如:CPU使用率、内存使用率、后处理单元的吞吐量(接收/输入事件数、输出事件数)、事件延迟时间等。
402、控制装置根据接收的资源使用报告及预设的策略决策需要新增一个后处理单元,根据用户的业务设计拓扑,并增加包含滚动时间窗口的新后处理单元。
具体的,预设的策略可由用户配置或者由系统默认:例如CPU使用率超过某一阈值、内存使用率超过某一阈值、事件延迟时间超过某一阈值等。
403、控制装置根据各工作装置的状况,选择在内存使用率低的或后处理单元吞吐量小等合适的工作装置上分配新增加的后处理单元B5,将新增加的后处理单元B5的信息发送给被选择的工作装置。
具体的工作装置的状况包括负载情况、是否空闲等,这些状况可从资源使用报告中获取。本实施例中选择在负载小的工作装置上创建新的后处理单元B5。
404、被选择的工作装置根据控制装置发送的信息创建新的后处理单元B5。
405、控制装置向先处理单元A发送新的后处理单元的信息。
具体的,控制装置向先处理单元A发送新的后处理单元的信息包括新的后处理单元B5的连接信息。
406、先处理单元A根据该连接信息与后处理单元B5建立连接。
407、控制装置向后处理单元B1、B2分别发送后处理单元B5的信息,使B1、B2获知后处理单元B5的信息。
408、后处理单元B1、B2观察各自的时间窗口内的流处理业务的数据是否已经处理完毕,当时间窗口内的数据处理完毕后,后处理单元B1、B2分别给先处理单元A发送结束指示。
具体的,请参阅图5,后处理单元B1、B2向A发送的结束指示,可以采用如下标记:
batch_window_stop,表示其已处理完当前窗口内的数据。
具体的,请参业图6,本步骤也可采用如下方式实现:
后处理单元B1、B2观察各自的时间窗口状态,当时间窗口内的数据处理完毕后,后处理单元B1、B2分别给控制装置发送结束指示,由控制装置在接收到所有的旧的后处理单元(B1、B2)发送的结指示后,将所述结束指示发送给先处理单元A。
409、当先处理单元A收到所有的旧的后处理单元(B1、B2)发送的结束指示后,根据当前后处理单元个数计算新分发策略。
具体的,当前后处理单元个数等于与先处理单元连接的所有后处理单元的个数。本实施例中包括旧的后处理单元B1、B2及新的后处理单元B5。
410、先处理单元A按照新分发策略将数据分发给后处理单元B1、B2及B5。
具体的,按照新的分发策略,先处理单元A按顺序依次向后处理单元B1、B2及B5发送数据:B1处理ID值为0,3,6,9的数据,B2处理ID值为1、4、7的数据,B3处理ID值为2、5、8的数据。
具体的,本实施例中控制装置获得各工作装置的资源使用报告,也可以采用直接访问各工作装置的方法,访问的时机可以指定时刻或周期性的或由用户启动。
本实施例,控制装置在流处理业务进行的过程中获得各工作装置发送的资源使用报告后,根据资源使用报告及预设的策略决策需要创建新后处理单元,并根据用户的业务设计拓扑,新增包含滚动时间窗口的新后处理单元B5,并选择合适的工作装置创建新后处理单元B5,并将新后处理单元B5的信息发送给先处理单元A,使其与新后处理单元B5建立连接。由于新的后处理单元B5包含滚动窗口,先处理单元A在获知所有的旧后处理单元都已处理完各自当前窗口内的数据后,按照当前后处理单元的个数计算新分发策略。实现在流处理业务的过程中动态的调整分发策略,因此无需中断业务即可改变后处理单元的数量,避免了流处理业务进行的过程中因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。并且保证了流处理业务的无缝切换,降低流处理系统动态调整数据的分发策略时,对业务产生的影响。
实施例三
本发明实施例提供了一种数据分发策略的调整方法。
本实施例中,后处理单元B1、B2均包含滑动窗口。
请参阅图7,方法流程包括:
701、流处理业务进行的过程中,控制装置访问各工作装置,获取各工作装置及各后处理单元的资源使用报告。
具体的,控制装置访问各工作装置的时机,可以是指定的时刻、周期性的,也可以由用户启动。
资源使用报告包括各工作装置及各后处理单元的资源使用情况,如:CPU使用率、内存使用率、后处理单元的吞吐量(接收/输入事件数、输出事件数)、事件延迟时间等。
702、控制装置根据接收资源使用报告及预设的策略决策需要新增一个后处理单元,根据用户的业务设计拓扑,新增包含滑动时间窗口的新的后处理单元B5。
具体的,预设的策略可由用户配置或者由系统默认:例如CPU使用率超过某一阈值、内存使用率超过某一阈值、事件延迟时间超过某一阈值等。
703、控制装置根据各工作装置的状况,选择合适的工作装置,并向被选择的工作装置发送后处理单元B5的信息。
具体的,工作装置的状况包括负载情况、是否空闲等,这些状况可从资源使用报告中获取。
704、被选择的工作装置根据控制装置发送的信息创建后处理单元B5。
705、控制装置向先处理单元A发送新后处理单元的信息。
具体的,控制装置向先处理单元A发送新后处理单元的信息包括新后处理单元B5的连接信息,如地址信息。
706、先处理单元A根据该连接信息与后处理单元B5建立连接,并计算新分发策略。
具体的,先处理单元A可以根据当前事件后处理单元个数计算新的分发策略。
707、控制装置向后处理单元B1、B2分别发送新后处理单元的信息,使后处理单元B1、B2获知新增的后处理单元B5的信息。
708、控制装置向先处理单元A发送启动缓冲窗口指示。
具体的,控制装置可以在启动缓冲窗口指示中将缓冲窗口的缓冲时间设置成与旧后处理单元B1、B2的时间窗口设定的时间相等。
709、先处理单元A根据控制装置发送的启动缓冲窗口指示启动缓冲窗口。
具体的,缓冲窗口的缓冲时间等于旧的后处理单元B1、B2的时间窗口的设定的时间。
710、先处理单元A在缓冲窗口时期将数据投入缓冲窗口,根据旧分发策略和所述新分发策略对所述投入缓冲窗口的数据进行标记,将标记后的数据按照旧分发策略和新分发策略分发给各后处理单元(包括旧后处理单元B1、B2及所述新后处理单元B5)。
具体的,当所述数据按照旧分发策略分发时,若接收所述数据的后处理单元与按照所述新分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预删”标记;
当所述数据按照新分发策略分发时,若接收所述数据的后处理单元与按照所述旧分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预增”标记。
请参阅图8,分发给B1的为ID值为0、1、3、5、6、7、9的数据。其中,ID值为0、6的数据的标记为“预增”,表示这些数据是按照新分发策略分发给B1的,而按照旧分发策略这些数据不会被分发给B1;ID值为3,9的数据的标记为“保持”,表示按照旧分策略与新分发策略,均应分发给B1;ID值为1,5,7的数据的标记为“预删”,表示这些数据是按照旧分发策略发给B1的,但是按照新分发策略应这些数据不会被分发给B1,而是分发给其他的后处理单元。
分发给后处理单元B2的为ID值为1、2、4、6、7、8、0的数据。其中,ID值为4的数据的标记为“保持”;ID值为2,6,8,0的数据的标记为“预删”;ID值为1,7的数据的标记为“预增”。
分发给后处理单元的B5的为ID值为2、5、8的数据,这些数据的标记为“预增”。
711、各后处理单元处理各自接收的数据,并根据数据的标记输出或保存处理结果。
具体的,B1处理接收的数据,对各数据的处理结果进行不同的处理:
ID值为0、6的数据的标记为“预增”,保存但不输出这些数据的处理结果;
ID值为3、9的数据的标记为“保持”,输出这些数据的处理结果;
ID值为1、5、7的数据的标记为“预删”,输出这些数据的处理。
B2处理接收的数据,对各数据的处理结果进行不同的处理:
ID值为4的数据的标记为“保持”,输出这些数据的处理结果;
ID值为2、6、8、0的数据的标记为“预删”,输出这些数据的处理结果;
ID值为1、7的数据的标记为“预增”,保存但不输出这些数据的处理结果。
B5处理接收的数据,由于这些数据的标记都为“预增”,因此保存但不输出这些数据的处理结果。
712、缓冲窗口结束后,先处理单元A按照新分发策略向各后处理单元分发数据,并不再对这些数据进行标记。
请参阅图9,先处理单元A按照新分发策略分发数据:
向B1分发ID值为0、3、6、9的数据;
向B2分发ID值为1、4、7的数据;
向B5分发ID值为2、5、8的数据。
713、各后处理单元输出在缓冲窗口时期处理的标记了“预增”的数据的处理解结果,并处理接收的未标记的数据,输出处理结果。
具体的,缓冲窗口结束后,各后处理单元输出标记了“预增”标记的数据的处理结果,并继续处理标记了“保持”或“预增”的数据,并输出处理结果;不再处理标记了“预删”的数据,也不再输出在缓冲窗口时期处理的标记了“预删”的数据的处理结果。
具体的,当缓冲窗口时期结束,各后处理单元接收到的事件不再有各种标志。此时,后处理单元B1处理ID值为0,3,6,9的数据,并输出处理结果,(即使当前时间点没有ID为0的事件到来,但由于在缓冲时间窗时可能有数据结果,所以也可能会输出ID为0的事件数量结果);后处理单元B2处理ID值为1,4,7的数据,并输出处理结果;后处理单元B3处理ID值为2,5,8的数据,并输出处理结果。
本实施例的数据策略的调整方法,控制装置在流处理业务的过程中获得各工作装置及后处理单元的资源使用报告后,根据获得的资源使用报告及预设的策略,决策需创建新的后处理单元,然后根据用户的业务设计拓扑,新增包含滑动时间窗口的新的后处理单元,并将新的后处理单元分配给合适的工作装置,由该工作装置创建新后处理单元,并将新后处理单元B5的信息发送给先处理单元A,使其与新的后处理单元B5建立连接。在该新的后处理单元包含滑动窗口的情况下,控制装置向该先处理单元发送启动缓冲窗口指示,指示该先处理单元启动缓冲窗口,并在缓冲窗口时期按照旧分发策略和新分发策略分发数据,在缓冲窗口结束后按照新分发策略分发数据。实现在流处理业务的过程中动态的调整分发策略,因此无需中断业务即可改变后处理单元的数量,避免了因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。并且保证了流处理业务的无缝切换,降低流处理系统动态调整数据的分发策略时,对业务产生的影响。
实施例四
本发明实施例提供了一种数据分发策略的调整方法。
本实施例中,后处理单元B1、B2均不含窗口。
请参阅图10,方法流程包括:
1001、流处理业务进行的过程中,控制装置接收各工作装置发送的资源使用报告。
具体的,各工作装置发送资源使用报告的时机,可以是指定的时刻、周期性的,也可以由用户启动。
资源使用报告包括工作装置及该工作装置的后处理单元的资源使用情况,如:CPU使用率、内存使用率、后处理单元的吞吐量(接收/输入事件数、输出事件数)、事件延迟时间等。
1002、控制装置根据接收资源使用报告及预设的策略决策需要新增一个后处理单元,根据用户的业务设计拓扑,增加新的不含窗口的后处理单元B5;
具体的,预设的策略可由用户配置或者由系统默认:例如CPU使用率超过某一阈值、内存使用率超过某一阈值、事件延迟时间超过某一阈值等。
具体的,根据用户的业务设计拓扑,后处理单元B5不含时间窗口。
1003、控制装置根据各工作装置的状况,选择在合时的工作装置上分配新增加的后处理单元B5,将新增加的后处理单元B5的信息发送给被选择的工作装置。
具体的工作装置的状况包括负载情况、是否空闲等,这些状况可从资源使用报告中获取。
1004、被选择的工作装置根据控制装置发送的信息创建后处理单元B5。
1005、控制装置向先处理单元A发送新后处理单元的信息。
1006、先处理单元A根据该连接信息与后处理单元B5建立连接。
1007、先处理单元A接收控制装置C发送的无窗口标记,根据当前后处理单元个数计算新分发策略。
具体的,先处理单元A也可以在与后处理单元B5连接之后直接计算新分发策略。
1008、先处理单元A按照新分发策略向后处理单元B1、B2及新后处理单元B5分发数据。
按照新的分发策略,先处理单元A按照新分发策略分发数据:
向B1分发ID值为0、3、6、9的数据;
向B2分发ID值为1、4、7的数据;
向B5分发ID值为2、5、8的数据。
本实施例的数据分发策略的调整方法,在流处理业务进行的过程中,控制装置获取各工作装置的资源使用报告后,时根据预先决策是否需要改变后处理单元的个数,根据获得的资源使用报告及预设的策略,决策需新增新的后处理单元,然后根据用户的业务设计拓扑,新增不包含窗口的新后处理单元,并选择合适的工作装置创建新后处理单元,并将新后处理单元的信息发送给先处理单元,使其与新后处理单元建立连接。由于该新后处理单元不含窗口,先处理单元可以直接或在接收到控制装置发送的无窗口标记后,计算并执行新分发策略,从而实现在流处理业务的过程中动态的调整分发策略,因此无需中断业务即可改变后处理单元的数量,避免了因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。并且保证了流处理业务的无缝切换,降低流处理系统动态调整数据的分发策略时,对业务产生的影响。
实施例五
本实施例提供一种工作装置,用于负责流处理业务中后处理单元的销毁、创建及运行,请参阅图11,所述工作装置包括:
后处理单元1110,用于对接收到的流处理业务的数据进行并行处理。
接收单元1120,用于接收调整指示,所述调整指示包括控制装置根据获取到的所有工作装置的资源使用报告确定的处理单元调整策略,所述处理单元调整策略包括增加后处理单元1110的数量或者减少后处理单元1110的数量;
执行单元1130,用于根据所述接收单元1120接收的处理单元调整策略,增加或者减少自身设置的后处理单元1110的数量。
进一步的,所述执行单元1130包括:
创建模块,用于根据处理单元增加策略,创建并启动新的后处理单元;或者,
销毁模块,用于根据处理单元减少策略,销毁部分指定的后处理单元。
具体的,所述创建模块包括:
确定子模块,于确定所述工作装置上的已创建的多个后处理单元的窗口类型;
创建子模块,用于在所述确定子模块确定所述已创建的多个后处理单元包含滚动窗口时,创建并启动包含滚动窗口的新的后处理单元,在所述确定子模块确定所述已创建的多个后处理单元包含滑动窗口时,创建并启动包含滑动窗口的新的后处理单元。
进一步的,所述工作装置还包括先处理单元,所述先处理单元包括:
更新模块,用于更新与所述先处理单元相关的后处理单元的信息;
策略调整模块,用于根据所述更新模块更新后的后处理单元的信息,确定新的分发策略,所述新的分发策略用于指示所述先处理单元将所述流处理业务的数据分发到所述已创建的后处理单元及所述新的后处理单元。
在本实施例的第一种场景中,其特征在于,所述先处理单元还包括:
确定模块,用于确定所述创建模块创建的新的后处理单元的窗口类型;
接收模块,用于在所述确定模块确定所述新的后处理单元包含滚动窗口时,获取处理结束指示,所述处理结束指示用于表明所述已创建的后处理单元处理完毕当前滚动窗口的流处理业务的数据。该处理结束指示可以由所述已创建的后处理单元发送给所述先处理单元,或者由所述已创建的后处理单元发送给所述控制装置之后由所述控制装置转发给所述先处理单元;
所述分发模块,还用于在所述接收模块获取到所述处理结束指示后,根据所述新的分发策略发送所述流处理业务的数据到所述已创建的后处理单元和新的后处理单元。
在本实施例的第二种场景中,所述先处理单元还包括:
确定模块,用于确定所述创建模块创建的新的后处理单元的窗口类型;
启动模块,用于在所述确定模块确定所述新的后处理单元包含滑动窗口时,启动缓冲时间;
所述分发模块,还用于在所述启动模块启动的缓冲时间内根据旧的分发策略和所述新的分发策略分发所述流处理业务的数据;
标记模块,用于对所述分发模块分发的数据进行标记,以使得所述后处理单元根据所述标记进行处理。
具体的,所述标记模块,还用于在所述分发模块按照旧的分发策略分发数据时,若接收所述流处理业务的数据的后处理单元与按照所述新分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预删”标记;以及用于在所述分发模块按照所述新的分发策略分发数据时,若接收所述流处理业务的数据的后处理单元与按照所述旧分发策分发的后处理单元相同,则为所述数据增加“保持”标记,否则为所述数据增加“预增”标记。
具体的,所述后处理单元1110,还用于在所述缓冲时间内对接收的数据进行处理,输出具有“保持”标记或“预删”标记的数据的处理结果,保存但不输出具有“预增”标记的数据的处理结果;以及用于所述后处理单元在所述缓冲时间结束后,输出具有“保持”标记或“预增”标记的数据的处理结果,停止对具有“预删”标记的数据的处理及处理结果的输出,以及接收并处理所述先处理单元发送的无标记的数据。
工作装置根据控制装置的调整指示调整后处理单元的数量,以使得与所述后处理单元相关的先处理单元计算并执行新分发策略,而控制装置的调整指示,包括控制单元根据获取到的所有工作装置的资源使用报告确定的处理单元调整策略,因此能够实现在流处理业务的过程中动态的调整分发策略,无需中断业务即可改变后处理单元的数量,避免了流处理业务进行的过程中因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。
本实施例的数据分发策略的控制装置,在流处理业务的过程中,由控制装置根据获得的资源使用报告及预设的策略决策是否需要变更当前后处理单元的数量,并在决策为当需要变更当前后处理单元的数量时,根据决策改变所述已有的后处理单元的数量,以使得因所述改变导致后处理单元的连接数量发生改变的先处理单元计算并执行新分发策略。从而实现在流处理业务的过程中动态的调整分发策略,无需中断业务即可改变后处理单元的数量,避免了因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。
实施例六
本实施例提供一种控制装置,用于对流处理系统进行管理及监控,请参阅图12,所述控制装置包括:
获取单元1210,用于获取其管理的每个工作装置的资源使用报告;
调整策略确定单元1220,用于根据所述获取单元1210获取的每个工作装置的资源使用报告及预设的策略,确定处理单元调整策略,所述处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;
选择单元1230,用于在所述调整策略确定单元确定处理单元调整策略之后,从所述至少一个工作装置中选择至少一个工作装置作为所述处理单元调整策略的执行者;
发送单元1240,用于根据所述调整策略确定单元1220确定的处理单元调整策略生成调整指示,并将所述调整指示发送给所述选择单元1230选择的至少一个工作装置。
本实施例的控制装置,在流处理业务进行的过程中,根据获得的资源使用报告及预设的策略决策是否需要变更当前后处理单元的数量,并确定处理单元调整策略,选择执行该处理单元调整策略的工作装置,从而实现在流处理业务的过程中动态的调整分发策略,无需中断业务即可改变后处理单元的数量,避免了因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。
实施例七
本实施例提供一种流处理系统,请参阅图13,所述处理系统包括:
控制装置1310,用于在流处理过程中对工作装置1320进行管理及监控,确定是否调整所述工作装置上后处理单元的数量。该控制装置1310的结构与实施例六的控制装置相同,此处不再赘述。
工作装置1320,用于在所述控制装置1310确定调整所述后处理单元的数量时,增加或者减少自身设置的后处理单元的数量。该工作装置1320的结构与实施例五的工作装置相同,此处不再赘述。
本实施例的流处理系统,在流处理业务进行的过程中,由控制装置通过获取工作装置的资源使用报告,确定是否需要调整后处理单元的数量,并在确定需要调整后处理单元的数量时,由工作装置调整后处理单元的数量,以使得与所述后处理单元相关的先处理单元计算并执行新分发策略。从而实现在流处理业务的过程中动态的调整分发策略,无需中断业务即可改变后处理单元的数量,避免了流处理业务进行的过程中因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。
综上所述,本发明的数据分发策略的调整方法、装置及系统,在流处理的过程中,控制装置通过获取的各工作装置及后处理单元的资源使用报告,结合预设的策略决策是否需要变更已有的后处理单元的数量,然后根据决策,改变的数量,使后处理单元的数量发生改变的工作装置计算并执行新的分发策略,实现在流处理业务的过程中动态的调整分发策略,无需中断业务即可改变后处理单元的数量,避免了因后处理单元的数量不可改变导致的在流处理系统负载低的时候浪费资源,而在负载高的时候资源不够影响系统吞吐量的问题。
需要说明的是:上述实施例提供的控制装置、工作装置及后处理单元在实现数据分发策略的调整时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据分发策略的调整的方法实施属于同一构思,其具体实现过程详见方法实施例,这里不在赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何更新、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种数据分发策略的调整方法,其特征在于,用于处理流处理系统中的流处理业务的数据,所述流处理系统包括控制装置及至少一个工作装置,每个工作装置设置多个后处理单元对接收到的流处理业务的数据进行并行处理,所述方法包括:
所述控制装置获取所述每个工作装置的资源使用报告;
所述控制装置根据所述每个工作装置的资源使用报告及预设的策略,确定处理单元调整策略,所述处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;
所述控制装置从所述至少一个工作装置中选择至少一个工作装置作为所述处理单元调整策略的执行者;
所述控制装置生成包括所述处理单元调整策略的调整指示,并将所述调整指示发送给所述被选择的至少一个工作装置;
所述被选择的至少一个工作装置根据所述调整指示包含的处理单元调整策略,增加或者减少自身设置的后处理单元的数量;
所述被选择的至少一个工作装置根据所述调整指示包含的处理单元调整策略,增加自身设置的后处理单元的数量,包括:
所述被选择的至少一个工作装置根据处理单元增加策略,创建并启动新的后处理单元;
所述被选择的至少一个工作装置根据处理单元增加策略,创建并启动新的后处理单元包括:
所述被选择的至少一个工作装置确定已创建的后处理单元的窗口类型;
若所述已创建的后处理单元包含滚动窗口,创建并启动包含滚动窗口的新的后处理单元,若所述已创建的后处理单元包含滑动窗口,创建并启动包含滑动窗口的新的后处理单元。
2.根据权利要求1所述的方法,其特征在于,所述预设的策略包括:当至少一个工作装置的资源使用报告中的指定参数超过指定阈值时,增加后处理单元的数量;或者,
当至少一个工作装置的资源使用报告中的指定参数低于指定阈值时,减少后处理单元的数量;
其中,所述资源使用报告中的指定参数,包括如下一个或多个参数:CPU使用率、内存使用率、吞吐量或事件延迟时间。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述被选择的至少一个工作装置根据所述调整指示包含的处理单元调整策略,减少自身设置的后处理单元的数量,包括:
所述被选择的至少一个工作装置根据处理单元减少策略,销毁指定的后处理单元。
4.根据权利要求1所述的方法,其特征在于,所述被选择的至少一个工作装置和/或未被选择的工作装置上还设置先处理单元,所述方法还包括:
所述先处理单元更新与其相关的后处理单元的信息;
所述先处理单元根据所述更新后的后处理单元的信息,确定新的分发策略,所述新的分发策略用于指示所述先处理单元将所述流处理业务的数据分发到已创建的后处理单元及所述新的后处理单元。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述先处理单元确定所述新的后处理单元的窗口类型,当所述新的后处理单元包含滚动窗口时,所述先处理单元获取处理结束指示,所述处理结束指示用于表明所述已创建的后处理单元处理完毕当前滚动窗口的流处理业务的数据;
所述先处理单元在获取到所述处理结束指示后,根据所述新的分发策略发送所述流处理业务的数据到所述已创建的后处理单元和所述新的后处理单元。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述先处理单元确定所述新的后处理单元的窗口类型,当所述新的后处理单元包含滑动窗口时,所述先处理单元启动缓冲时间,在所述缓冲时间内根据旧的分发策略和所述新的分发策略分发所述流处理业务的数据,并对分发的数据进行标记,以使得所述已创建的后处理单元及所述新的后处理单元根据所述标记进行处理。
7.根据权利要求6所述的方法,其特征在于,所述对分发的数据进行标记,以使得后处理单元根据所述标记进行处理包括:
当所述流处理业务的数据按照旧分发策略分发时,若接收所述数据的后处理单元与按照所述新分发策略分发的后处理单元相同,则为所述数据增加保持标记,否则为所述数据增加预删标记;
当所述流处理业务的数据按照所述新的分发策略分发时,若接收所述数据的后处理单元与按照所述旧分发策略分发的后处理单元相同,则为所述数据增加保持标记,否则为所述数据增加预增标记。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述已创建的后处理单元和所述新的后处理单元在所述缓冲时间内对接收的数据进行处理,输出具有保持标记或预删标记的数据的处理结果,保存但不输出具有预增标记的数据的处理结果;
所述已创建的后处理单元和新的后处理单元在所述缓冲时间结束后,输出具有保持标记或预增标记的数据的处理结果,停止对具有预删标记的数据的处理及处理结果的输出,以及接收并处理所述先处理单元发送的无标记的数据。
9.一种工作装置,用于负责流处理业务中后处理单元的销毁、创建及运行,包括后处理单元,用于对接收到的流处理业务的数据进行并行处理,其特征在于,所述工作装置还包括:
接收单元,用于接收调整指示,所述调整指示包括控制单元根据获取到的所有工作装置的资源使用报告确定的处理单元调整策略,所述处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;
执行单元,用于根据所述接收单元接收的处理单元调整策略,增加或者减少自身设置的后处理单元的数量;
所述执行单元包括:
创建模块,用于根据处理单元增加策略,创建并启动新的后处理单元;
所述创建模块包括:
确定子模块,于确定所述工作装置上的已创建的多个后处理单元的窗口类型;
创建子模块,用于在所述确定子模块确定所述已创建的多个后处理单元包含滚动窗口时,创建并启动包含滚动窗口的新的后处理单元,在所述确定子模块确定所述已创建的多个后处理单元包含滑动窗口时,创建并启动包含滑动窗口的新的后处理单元。
10.根据权利要求9所述的工作装置,其特征在于,所述执行单元包括:
销毁模块,用于根据处理单元减少策略,销毁部分指定的后处理单元。
11.根据权利要求9或10所述的工作装置,其特征在于,所述工作装置还包括先处理单元,所述先处理单元包括:
更新模块,用于更新与所述先处理单元相关的后处理单元的信息;
策略调整模块,用于根据所述更新模块更新后的后处理单元的信息,确定新的分发策略,所述新的分发策略用于指示所述先处理单元将所述流处理业务的数据分发到所述已创建的后处理单元及所述新的后处理单元。
12.根据权利要求11所述的工作装置,其特征在于,所述先处理单元还包括:
确定模块,用于确定所述创建模块创建的新的后处理单元的窗口类型;
接收模块,用于在所述确定模块确定所述新的后处理单元包含滚动窗口时,获取处理结束指示,所述处理结束指示用于表明所述已创建的后处理单元处理完毕当前滚动窗口的流处理业务的数据;
分发模块,用于在所述接收模块获取到所述处理结束指示后,根据所述新的分发策略发送所述流处理业务的数据到所述已创建的后处理单元和新的后处理单元。
13.根据权利要求11所述的工作装置,其特征在于,所述先处理单元还包括:
确定模块,用于确定所述创建模块创建的新的后处理单元的窗口类型;
启动模块,用于在所述确定模块确定所述新的后处理单元包含滑动窗口时,启动缓冲时间;
分发模块,用于在所述启动模块启动的缓冲时间内根据旧的分发策略和所述新的分发策略分发所述流处理业务的数据;
标记模块,用于对所述分发模块分发的数据进行标记,以使得所述已创建的后处理单元及所述新的后处理单元根据所述标记进行处理。
14.根据权利要求13所述的工作装置,其特征在于,所述标记模块,还用于在所述分发模块按照旧的分发策略分发数据时,若接收所述流处理业务的数据的后处理单元与按照所述新分发策略分发的后处理单元相同,则为所述数据增加保持标记,否则为所述数据增加预删标记;以及用于在所述分发模块按照所述新的分发策略分发数据时,若接收所述流处理业务的数据的后处理单元与按照所述旧分发策略分发的后处理单元相同,则为所述数据增加保持标记,否则为所述数据增加预增标记。
15.根据权利要求14所述的工作装置,其特征在于,所述后处理单元,还用于在所述缓冲时间内对接收的数据进行处理,输出具有保持标记或预删标记的数据的处理结果,保存但不输出具有预增标记的数据的处理结果;以及用于所述后处理单元在所述缓冲时间结束后,输出具有保持标记或预增标记的数据的处理结果,停止对具有预删标记的数据的处理及处理结果的输出,以及接收并处理所述先处理单元发送的无标记的数据。
16.一种控制装置,对流处理系统进行管理及监控,其特征在于,所述控制装置包括:
获取单元,用于获取其管理的每个工作装置的资源使用报告;
调整策略确定单元,用于根据所述获取单元获取的每个工作装置的资源使用报告及预设的策略,确定处理单元调整策略,所述处理单元调整策略包括增加后处理单元数量或者减少后处理单元数量;
选择单元,用于在所述调整策略确定单元确定处理单元调整策略之后,从所述至少一个工作装置中选择至少一个工作装置作为所述处理单元调整策略的执行者;
发送单元,用于根据所述调整策略确定单元确定的处理单元调整策略生成调整指示,并将所述调整指示发送给所述选择单元选择的至少一个工作装置,以使所述被选择的至少一个工作装置根据所述调整指示包含的处理单元增加调整策略确定已创建的后处理单元的窗口类型,若所述已创建的后处理单元包含滚动窗口,创建并启动包含滚动窗口的新的后处理单元,若所述已创建的后处理单元包含滑动窗口,创建并启动包含滑动窗口的新的后处理单元。
17.一种流处理系统,其特征在于,包括:
如权利要求16所述的控制装置,用于在流处理过程中对工作装置进行管理及监控,确定是否调整所述工作装置上后处理单元的数量;
如权利要求9至15所述的工作装置,用于在所述控制装置确定调整所述后处理单元的数量时,增加或者减少自身设置的后处理单元的数量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062625.0A CN103873380B (zh) | 2014-02-24 | 2014-02-24 | 一种数据分发策略的调整方法、装置及系统 |
PCT/CN2014/084486 WO2015123974A1 (zh) | 2014-02-24 | 2014-08-15 | 一种数据分发策略的调整方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410062625.0A CN103873380B (zh) | 2014-02-24 | 2014-02-24 | 一种数据分发策略的调整方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873380A CN103873380A (zh) | 2014-06-18 |
CN103873380B true CN103873380B (zh) | 2017-10-24 |
Family
ID=50911517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410062625.0A Active CN103873380B (zh) | 2014-02-24 | 2014-02-24 | 一种数据分发策略的调整方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103873380B (zh) |
WO (1) | WO2015123974A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873380B (zh) * | 2014-02-24 | 2017-10-24 | 华为技术有限公司 | 一种数据分发策略的调整方法、装置及系统 |
CN105933230A (zh) * | 2016-04-01 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种多节点的数据传输方法、节点及计算机系统 |
CN110502469B (zh) * | 2019-08-29 | 2020-06-12 | 上海燧原智能科技有限公司 | 一种数据分发方法、装置、设备及存储介质 |
CN111368193B (zh) * | 2020-03-03 | 2023-05-23 | 广州市百果园信息技术有限公司 | 信息预获取方法、装置、存储介质及设备 |
CN112631745B (zh) * | 2020-12-02 | 2024-06-18 | 微梦创科网络科技(中国)有限公司 | 一种基于时间窗口的定时任务执行方法、装置及系统 |
CN114785549B (zh) * | 2022-03-23 | 2024-03-12 | 新华三信息安全技术有限公司 | 一种安全防护系统及安全防护方法 |
CN115102898B (zh) * | 2022-06-01 | 2023-07-07 | 中国联合网络通信集团有限公司 | 通信方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018162A (zh) * | 2007-01-15 | 2007-08-15 | 华为技术有限公司 | 业务处理网元的模拟测试系统及方法 |
CN101364951A (zh) * | 2008-09-26 | 2009-02-11 | 北京邮电大学 | 无线传感器网络的服务质量保障系统 |
CN103595773A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种基于云桌面的系统性能优化的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103202060A (zh) * | 2012-09-29 | 2013-07-10 | 华为技术有限公司 | 传输数据的方法、用户设备和网络侧设备 |
CN103873380B (zh) * | 2014-02-24 | 2017-10-24 | 华为技术有限公司 | 一种数据分发策略的调整方法、装置及系统 |
-
2014
- 2014-02-24 CN CN201410062625.0A patent/CN103873380B/zh active Active
- 2014-08-15 WO PCT/CN2014/084486 patent/WO2015123974A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018162A (zh) * | 2007-01-15 | 2007-08-15 | 华为技术有限公司 | 业务处理网元的模拟测试系统及方法 |
CN101364951A (zh) * | 2008-09-26 | 2009-02-11 | 北京邮电大学 | 无线传感器网络的服务质量保障系统 |
CN103595773A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种基于云桌面的系统性能优化的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2015123974A1 (zh) | 2015-08-27 |
CN103873380A (zh) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103873380B (zh) | 一种数据分发策略的调整方法、装置及系统 | |
CN110908788B (zh) | 基于Spark Streaming的数据处理方法、装置、计算机设备及存储介质 | |
CN105900064A (zh) | 调度数据流任务的方法和装置 | |
CN111367630A (zh) | 一种基于云计算的多用户多优先级的分布式协同处理方法 | |
CN111782355B (zh) | 一种基于混合负载的云计算任务调度方法及系统 | |
CN105843819B (zh) | 一种数据导出方法及装置 | |
CN103870340A (zh) | 流计算系统中的数据处理方法、控制节点及流计算系统 | |
US8924754B2 (en) | Quality of service targets in multicore processors | |
US10614542B2 (en) | High granularity level GPU resource allocation method and system | |
US9104435B2 (en) | Program and data annotation for hardware customization and energy optimization | |
CN107786583A (zh) | 一种文件下载方法及装置 | |
CN111416858B (zh) | 一种媒体资源的处理平台、方法、装置和服务器 | |
JP6966432B2 (ja) | クラウドファイル処理方法および装置 | |
JP2017037492A (ja) | 分散処理プログラム、分散処理方法および分散処理装置 | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
CN106059940A (zh) | 一种流量控制方法及装置 | |
CN109597687A (zh) | 数据同步的资源分配方法、装置、存储介质和电子设备 | |
CN106533979B (zh) | 一种网络更新方法及装置 | |
CN103336670A (zh) | 一种基于数据温度对数据块自动进行分布的方法和装置 | |
CN103561092A (zh) | 私有云环境下管理资源的方法及装置 | |
JP2017033337A (ja) | 仮想マシン配置装置および仮想マシン配置方法 | |
US20170180465A1 (en) | Method, information processing apparatuses and non-transitory computer-readable storage medium | |
CN102143206A (zh) | 集群存储系统中存储池的调整方法、装置及系统 | |
CN114116220B (zh) | 一种gpu共享控制方法、gpu共享控制装置及存储介质 | |
KR101568204B1 (ko) | Cpu/gpu 기반 매니코어 시스템 및 cpu/gpu의 동시처리를 위한 멀티코어 cpu의 코어 개수 결정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220217 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |