CN103595651B - 基于分布式的数据流处理方法和系统 - Google Patents

基于分布式的数据流处理方法和系统 Download PDF

Info

Publication number
CN103595651B
CN103595651B CN201310482045.2A CN201310482045A CN103595651B CN 103595651 B CN103595651 B CN 103595651B CN 201310482045 A CN201310482045 A CN 201310482045A CN 103595651 B CN103595651 B CN 103595651B
Authority
CN
China
Prior art keywords
degree
logic task
parallelism
working node
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.)
Active
Application number
CN201310482045.2A
Other languages
English (en)
Other versions
CN103595651A (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.)
DIGITAL CHINA HOLDINGS Ltd.
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201310482045.2A priority Critical patent/CN103595651B/zh
Publication of CN103595651A publication Critical patent/CN103595651A/zh
Application granted granted Critical
Publication of CN103595651B publication Critical patent/CN103595651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Multi Processors (AREA)

Abstract

本发明提供一种基于分布式的数据流处理方法和系统,通过工作节点根据从主节点接收的逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对目标逻辑任务执行指定操作的处理速率,确定指定操作对应的并行度,根据并行度,对目标逻辑任务进行整合获得物理任务,所述物理任务的数量为所述并行度,从而对物理任务并行执行指定操作,由于根据逻辑任务的接收速率和逻辑任务的处理速率,动态确定各个操作的并行度,从而解决了现有技术中由于不能适应数据流的时变性和外部负载变化所导致的系统资源的浪费或数据流处理延迟的技术问题。

Description

基于分布式的数据流处理方法和系统
技术领域
本发明涉及计算机技术,尤其涉及一种基于分布式的数据流处理方法和系统。
背景技术
基于分布式的数据流处理系统,适用于对持续接收的数据流,进行实时处理,可应用于金融服务、网络监控、通信数据管理、Web应用和传感检测等方面。
基于分布式的数据流处理系统包括一个主节点和多个工作节点。主节点用于根据接收到的数据流向各个工作节点分配任务,以指示各个工作节点待处理的数据流以及该待处理的数据流所需要进行的操作。各个工作节点根据设定的可同时进行相同操作的任务数量,即并行度,对接收的任务进行处理。
现有技术中,各个操作的并行度是固定的,而由于数据流的时变性,以及数据流处理系统的外部负载的变化,所需执行相同操作的任务数量随时间而发生变化,因此固定的并行度不能适应数据流的时变性的特点,导致在一些操作中并行度过低,处理速度下降,从而出现数据流处理的延迟,而在另一些操作中并行度过高,需要较大的系统资源以满足该并行度,从而出现系统资源的浪费。
发明内容
本发明提供一种基于分布式的数据流处理方法和系统,用于解决由于现有技术不能适应数据流的时变性以及外部负载的变化,所导致的系统资源的浪费或数据流处理延迟。
本发明的第一个方面是提供一种基于分布式的数据流处理方法,包括:
工作节点从至少一个操作中确定指定操作;
所述工作节点根据接收的各个逻辑任务中用于指示进行所述指定操作的目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率,确定所述指定操作对应的并行度,所述并行度为并行执行所述指定操作的线程数量;所述逻辑任务是主节点根据接收到的数据流分配的,用于指示待处理的数据流以及所述待处理的数据流所需进行的操作;
所述工作节点根据所述并行度,对所述目标逻辑任务进行整合获得至少一个物理任务,所述物理任务的数量与所述并行度相同;
所述工作节点并行执行所述至少一个物理任务。
本发明的另一个方面是提供一种基于分布式的数据流处理方法,包括:
主节点根据接收到的数据流向各个工作节点分配逻辑任务,以使所述工作节点根据接收的各个逻辑任务中用于指示进行所述指定操作的目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率,确定所述指定操作对应的并行度;所述工作节点根据所述并行度,对所述目标逻辑任务进行整合获得至少一个物理任务,所述物理任务的数量与所述并行度相同;所述工作节点并行执行所述至少一个物理任务;所述并行度为并行执行所述指定操作的线程数量;所述逻辑任务用于指示各个工作节点待处理的数据流以及所述待处理的数据流所需进行的操作。
本发明的又一个方面是提供一种基于分布式的数据流处理系统,包括:一个主节点和至少两个工作节点;
所述主节点,用于根据接收到的数据流向各个所述工作节点分配逻辑任务;所述逻辑任务用于指示各个工作节点待处理的数据流以及所述待处理的数据流所需进行的操作;
所述工作节点,用于从至少一个操作中确定指定操作;根据接收的各个逻辑任务中用于指示进行所述指定操作的目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率,确定所述指定操作对应的并行度,所述并行度为并行执行所述指定操作的线程数量;根据所述并行度,对所述目标逻辑任务进行整合获得至少一个物理任务,所述物理任务的数量与所述并行度相同;所述工作节点并行执行所述至少一个物理任务;
所述主节点,还用于获取各个所述工作节点的负载信息;根据所述负载信息重新分配所述逻辑任务,所述负载信息用于指示所述工作节点的资源占用情况,包括接收的所述逻辑任务的数量、CPU占用程度、带宽占用程度和输入输出IO接口占用程度中的至少一个。
本发明提供的基于分布式的数据流处理方法和系统,通过根据从主节点接收的逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对目标逻辑任务执行指定操作的处理速率,确定指定操作对应的并行度,根据并行度,对目标逻辑任务进行整合获得物理任务,所述物理任务的数量为所述并行度,从而并行执行物理任务,由于根据逻辑任务的接收速率和逻辑任务的处理速率,动态确定各个操作的并行度,从而解决了由于不能适应数据流的时变性以及外部负载的变化,所导致的系统资源的浪费或数据流处理延迟。
附图说明
图1为本发明一实施例提供的基于分布式的数据流处理方法的流程示意图;
图2为本发明另一实施例提供的基于分布式的数据流处理方法的流程示意图;
图3为本发明一实施例提供的基于分布式的数据流处理系统的结构示意图。
具体实施方式
图1为本发明一实施例提供的基于分布式的数据流处理方法的流程示意图,如图1所示,包括:
100、工作节点从至少一个操作中确定指定操作。
101、工作节点根据从主节点接收的逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对目标逻辑任务执行指定操作的处理速率,确定指定操作对应的并行度。
其中,所述并行度为并行执行所述指定操作的线程数量;所述逻辑任务是所述主节点根据接收到的数据流分配的,用于指示待处理的数据流以及所述待处理的数据流所需进行的操作。指定操作可以为运行函数、过滤、聚合、合并和访问数据库中的一个或多个组合。
可选的,确定所并行度的初始值之后,分别对所述目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率进行监控;当监控到所述目标逻辑任务的接收速率发生变化时,根据所述目标逻辑任务的接收速率和所述目标逻辑任务的处理速率,按照第一策略调整所述并行度;当监控到所述目标逻辑任务的处理速率发生变化时,根据所述目标逻辑任务的接收速率和所述目标逻辑任务的处理速率,按照第二策略调整所述并行度。其中,第一策略包括若所述目标逻辑任务的接收速率增加,并且所述目标逻辑任务的处理速率小于所述目标逻辑任务的接收速率,则提高所述并行度;若所述目标逻辑任务的接收速率降低,并且所述目标逻辑任务的处理速率小于目标逻辑任务的接收速率,则降低所述并行度。第二策略包括若所述目标逻辑任务的处理速率增加,则提高所述并行度;若所述目标逻辑任务的处理速率降低,并且所述目标逻辑任务的处理速率小于所述目标逻辑任务的接收速率,则降低所述并行度;若所述目标逻辑任务的处理速率降低,并且所述目标逻辑任务的处理速率大于所述目标逻辑任务的接收速率,则降低所述并行度。
当数据流增大时,逻辑任务数量也会相应增大,则系统的负载升高,则需要提高并行度;当数据流减小时,逻辑任务数量也会相应减低,需要降低并行度;当逻辑任务的处理速率降低时,可认为系统的外部负载升高,或者逻辑任务的处理速率提高时,可认为系统的外部负载降低,均需要根据逻辑任务的处理速率和逻辑任务的数量进行判断,从而确定并行度。根据并行度调整消息队列的数量,以及对并行执行指定操作的线程数进行调整,并行度的数量与线程和消息队列的数量相一致,并行执行各个线程,从而并行执行线程中的物理任务。
需要说明的是,执行第一策略之前可获取调整锁,以避免在执行第一策略的同时执行第二策略,同时对并行度进行调整。
102、工作节点根据所述并行度,对所述目标逻辑任务进行整合获得物理任务。
其中,物理任务的数量与并行度相同,为至少一个。
可选的,根据所述并行度生成各个消息队列,将所述目标逻辑任务加入所述各个消息队列中,获得加入相同所述消息队列的所述目标逻辑任务构成的每一个物理任务。由于将各个目标逻辑任务加入各个消息队列,获得加入相同所述消息队列的所述目标逻辑任务构成的各个所述物理任务,并且消息队列的数量与确定的所述并行度相同,不同于现有的主节点分配的任务与消息队列一一对应的关系,可实现将一个或多个目标逻辑任务加入到同一个消息队列中。另外由于消息队列与线程一一对应,因而通过调整消息队列的数量,可实现对线程的动态调整。
103、工作节点并行执行物理任务。
进一步,还包括,向主节点发送负载信息,以使所述主节点根据所述负载信息重新分配所述逻辑任务。
其中,负载信息用于指示所述工作节点的资源占用情况,包括接收的所述逻辑任务数量、CPU占用程度、带宽占用程度和输入输出(Input Output,IO)接口占用程度中的至少一个。
向主节点发送负载信息,以使所述主节点根据所述负载信息重新分配所述逻辑任务可为在工作节点根据从主节点接收的逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对目标逻辑任务执行指定操作的处理速率,确定指定操作对应的并行度之后执行。
本实施例中,通过工作节点根据从主节点接收的逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对目标逻辑任务执行指定操作的处理速率,确定指定操作对应的并行度,根据并行度,对目标逻辑任务进行整合获得物理任务,物理任务的数量为并行度,从而对物理任务并行执行,由于根据逻辑任务的接收速率和逻辑任务的处理速率,动态确定各个操作的并行度,从而解决了由于不能适应数据流的时变性所导致的系统资源的浪费或数据流处理延迟。
图2为本发明另一实施例提供的基于分布式的数据流处理方法的流程示意图,包括:
201、主节点根据接收到的数据流向各个工作节点分配逻辑任务,以使各个工作节点根据从主节点接收的逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对目标逻辑任务执行指定操作的处理速率,确定指定操作对应的并行度,根据并行度对目标逻辑任务进行整合获得物理任务,物理任务的数量与并行度相同,对物理任务并行执行指定操作。
其中,并行度为并行执行所述指定操作的线程数量;所述逻辑任务用于指示各个工作节点待处理的数据流以及所述待处理的数据流所需进行的操作,所述并行度为并行执行所述指定操作的物理任务数量。指定操作是工作节点从至少一个操作中确定的。
基于主节点接收的数据流的时变性,因此工作节点实时监测目标逻辑任务的接收速率,以及目标逻辑任务的处理速率,根据监测到的目标逻辑任务的接收速率和目标逻辑任务的处理速率,对目标操作对应的并行度进行弹性调整,从而优化基于分布式的数据流处理系统,避免在一些操作中并行度过低,导致处理速度下降,从而出现数据流处理的延迟,而在另一些操作中并行度过高,需要较大的系统资源以满足该并行度,从而出现系统资源的浪费的现象出现。
主节点接收到数据流,利用用户预先提交的作业文件,向各个工作节点分配逻辑任务。其中,用户提交的作业文件可为一张逻辑的拓扑图,拓扑图中的每一个点就是一个操作,每个操作对应多个逻辑任务。从而主节点利用作业文件,对接收到的数据流进行划分,获得对应各个操作的各个逻辑任务,向各个工作节点分配该逻辑任务。
需要说明的是,若各个工作节点具体通过根据并行度对目标逻辑任务进行合并获得物理任务时,即根据并行度生成各个消息队列,将所述目标逻辑任务加入所述各个消息队列中,获得加入相同所述消息队列的所述目标逻辑任务构成的所述物理任务,需要尽可能多的分配逻辑任务,该逻辑任务的数量为并行度的上限。
进一步,主节点获取各个所述工作节点的负载信息;根据负载信息重新分配逻辑任务。
其中,负载信息用于指示所述工作节点的资源占用情况,包括接收的所述逻辑任务的数量、CPU占用程度、带宽占用程度和IO接口占用程度中的至少一个。负载信息可为数值,例如:接收的所述逻辑任务的数量、CPU占用比例、带宽占用比例和IO接口占用比例的加权平均值,或最大值。
可选的,主节点获取各个所述工作节点的负载信息,若存在所述负载信息未超过阈值的工作节点和所述负载信息超过所述阈值的工作节点,将向所述负载信息最高的至少一个工作节点分配的所述逻辑任务调整为向所述负载信息未超过所述阈值的至少一个工作节点分配;若各个所述工作节点的所述负载信息均超过所述阈值,则增加所述工作节点,将向所述负载信息最高的至少一个工作节点分配的所述逻辑任务调整为向增加的所述工作节点分配;若所述各个所述工作节点的所述负载信息均未超过所述阈值,则在除分配的所述逻辑任务的数量最少的所述工作节点以外的各个所述工作节点中确定待接收工作节点,将向所述包含所述逻辑任务的数量最少的工作节点分配的所述逻辑任务调整为向所述待接收工作节点分配。
例如:当工作节点中的逻辑任务的接收速率不大于逻辑任务的处理速率,则确定负载信息为阈值,如零,即CPU占用程度、带宽占用程度和IO接口占用程度均未超过阈值;当工作节点中的逻辑任务的接收速率大于逻辑任务的处理速率,则系统繁忙,出现拥塞,即CPU占用程度、带宽占用程度和IO接口占用程度中的一个超过阈值。若系统繁忙,进一步获取CPU占用程度、带宽占用程度和IO接口占用程度,当CPU利用率或带宽利用率大于80%时,确认CPU或带宽为引起系统繁忙的主要原因,并确定CPU或带宽的占用程度为逻辑任务的接收速率与逻辑任务的处理速率之差与逻辑任务的处理速率的比值,IO接口的占用程度为阈值,如零;当CPU利用率和带宽利用率均未大于80%时,确定IO接口为引起系统繁忙的主要原因,并确定IO接口的占用程度为逻辑任务的接收速率与逻辑任务的处理速率之差与逻辑任务的处理速率的比值,CPU占用程度和带宽占用程度为阈值,如零。对各个工作节点在CPU占用程度、带宽占用程度和IO接口占用程度三个维度上进行多维排序,将向每一维排序中,负载信息最高的至少一个工作节点分配的逻辑任务调整为向负载信息为零的至少一个工作节点分配,若不存在负载信息为零的工作节点,增加负载信息为零的工作节点,以将向负载信息最高的至少一个工作节点中分配的逻辑任务调整为向负载信息为零的至少一个工作节点分配;若不存在负载信息非零的工作节点,删除分配获得的逻辑任务最少的工作节点,从其余各个工作节点中确定待接收工作节点,将分配获得的逻辑任务最少的工作节点的逻辑任务调整为向待接收工作节点分配,例如:待接收工作节点为分配获得的逻辑任务次少的工作节点。
本实施例中,通过主节点根据接收到的数据流向各个工作节点分配逻辑任务,以使工作节点根据从主节点接收的逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对目标逻辑任务执行指定操作的处理速率,确定指定操作对应的并行度,根据并行度,对目标逻辑任务进行整合获得物理任务,所述物理任务的数量为所述并行度,从而对物理任务并行执行指定操作,由于根据逻辑任务的接收速率和逻辑任务的处理速率,动态确定各个操作的并行度,从而解决了由于不能适应数据流的时变性所导致的系统资源的浪费或数据流处理延迟。
图3为本发明一实施例提供的基于分布式的数据流处理系统的结构示意图,如图3所示,基于分布式的数据流处理系统包括:主节点31和至少两个工作节点32。
主节点31,用于根据接收到的数据流向各个所述工作节点32分配逻辑任务。
其中,逻辑任务用于指示各个工作节点32待处理的数据流以及所述待处理的数据流所需进行的操作。
工作节点32,与主节点31连接,用于根据从所述主节点31接收的所述逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对所述目标逻辑任务执行所述指定操作的处理速率,确定所述指定操作对应的并行度;根据所述并行度,对所述目标逻辑任务进行整合获得所述物理任务,所述物理任务的数量与所述并行度相同;对所述物理任务并行执行。
其中,并行度为并行执行所述指定操作的线程数量。
基于主节点31接收的数据流的时变性,因此实时监测目标逻辑任务的接收速率,以及目标逻辑任务的处理速率,根据监测到的目标逻辑任务的接收速率和目标逻辑任务的处理速率,对目标操作对应的并行度进行弹性调整,从而优化基于分布式的数据流处理系统,避免在一些操作中并行度过低,导致处理速度下降,从而出现数据流处理的延迟,而在另一些操作中并行度过高,需要较大的系统资源以满足该并行度,从而出现系统资源的浪费的现象出现。
主节点31,还用于获取各个所述工作节点32的负载信息;根据所述负载信息重新分配所述逻辑任务,所述负载信息用于指示所述工作节点的资源占用情况,包括接收的所述逻辑任务的数量、CPU占用程度、带宽占用程度和IO接口占用程度中的至少一个。
可选的,若存在所述负载信息未超过阈值的工作节点和所述负载信息超过所述阈值的工作节点,将向所述负载信息最高的至少一个工作节点分配的所述逻辑任务调整为向所述负载信息未超过所述阈值的至少一个工作节点分配;若各个所述工作节点的所述负载信息均超过所述阈值,则增加所述工作节点,将向所述负载信息最高的至少一个工作节点分配的所述逻辑任务调整为向增加的所述工作节点分配;若所述各个所述工作节点的所述负载信息均未超过所述阈值,则在除分配的所述逻辑任务的数量最少的所述工作节点以外的各个所述工作节点中确定待接收工作节点,将向所述包含所述逻辑任务的数量最少的工作节点分配的所述逻辑任务调整为向所述待接收工作节点分配。
例如:当工作节点中的逻辑任务的接收速率不大于逻辑任务的处理速率,则确定负载信息为阈值,如零,即CPU占用程度、带宽占用程度和IO接口占用程度均未超过阈值;当工作节点中的逻辑任务的接收速率大于逻辑任务的处理速率,则系统繁忙,出现拥塞,即CPU占用程度、带宽占用程度和IO接口占用程度中的一个超过阈值。若系统繁忙,进一步获取CPU占用程度、带宽占用程度和IO接口占用程度,当CPU利用率或带宽利用率大于80%时,确认CPU或带宽为引起系统繁忙的主要原因,并确定CPU或带宽的占用程度为逻辑任务的接收速率与逻辑任务的处理速率之差与逻辑任务的处理速率的比值,IO接口的占用程度为阈值,如零;当CPU利用率和带宽利用率均未大于80%时,确定IO接口为引起系统繁忙的主要原因,并确定IO接口的占用程度为逻辑任务的接收速率与逻辑任务的处理速率之差与逻辑任务的处理速率的比值,CPU占用程度和带宽占用程度为阈值,如零。对各个工作节点在CPU占用程度、带宽占用程度和IO接口占用程度三个维度上进行多维排序,将向每一维排序中,负载信息最高的至少一个工作节点分配的逻辑任务调整为向负载信息为零的至少一个工作节点分配,若不存在负载信息为零的工作节点,增加负载信息为零的工作节点,以将向负载信息最高的至少一个工作节点中分配的逻辑任务调整为向负载信息为零的至少一个工作节点分配;若不存在负载信息非零的工作节点,删除分配获得的逻辑任务最少的工作节点,从其余各个工作节点中确定待接收工作节点,将分配获得的逻辑任务最少的工作节点的逻辑任务调整为向待接收工作节点分配,例如:待接收工作节点为分配获得的逻辑任务次少的工作节点。
本实施例提供的基于分布式的数据流处理系统,是一种适用于对持续接收的数据流,进行实时处理,可应用于金融服务、网络监控、通信数据管理、Web应用和传感检测等方面,对金融服务、网络监控、通信数据管理、Web应用和传感检测过程中产生的数据流进行处理。
本实施例中,通过工作节点根据从主节点接收的逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及对目标逻辑任务执行指定操作的处理速率,确定指定操作对应的并行度,根据并行度,对目标逻辑任务进行整合获得物理任务,物理任务的数量为所述并行度,从而对物理任务并行执行指定操作,由于根据逻辑任务的接收速率和逻辑任务的处理速率,动态确定各个操作的并行度,从而解决了由于不能适应数据流的时变性所导致的系统资源的浪费或数据流处理延迟。同时,主节点根据各个工作节点的负载情况,对逻辑任务进行重新分配,从而进一步优化了基于分布式的数据流处理系统的性能,避免了系统资源的浪费或数据流处理延迟。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。另外可以理解的是,上述方法及系统中的相关特征可以相互参考。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种基于分布式的数据流处理方法,其特征在于,包括:
工作节点从至少一个操作中确定指定操作;
所述工作节点根据接收的各个逻辑任务中用于指示进行所述指定操作的目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率,确定所述指定操作对应的并行度,所述并行度为并行执行所述指定操作的线程数量;所述逻辑任务是主节点根据接收到的数据流分配的,用于指示待处理的数据流以及所述待处理的数据流所需进行的操作;
所述工作节点根据所述并行度,对所述目标逻辑任务进行整合获得至少一个物理任务,所述物理任务的数量与所述并行度相同;
所述工作节点并行执行所述至少一个物理任务。
2.根据权利要求1所述的基于分布式的数据流处理方法,其特征在于,所述工作节点根据所述并行度,对所述目标逻辑任务进行整合获得至少一个物理任务,所述物理任务的数量与所述并行度相同,包括:
所述工作节点根据所述并行度生成至少一个消息队列,所述消息队列的数量与所述并行度相同;
所述工作节点将所述目标逻辑任务分别加入所述至少一个消息队列中,所述至少一个消息队列中每个消息队列中的至少一个目标逻辑任务构成的一个物理任务。
3.根据权利要求1所述的基于分布式的数据流处理方法,其特征在于,所述工作节点根据接收的各个逻辑任务中用于指示进行所述指定操作的目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率,确定所述指定操作对应的并行度,包括:
确定所述并行度的初始值;
分别对所述目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率进行监控;
当监控到所述目标逻辑任务的接收速率发生变化时,根据所述目标逻辑任务的接收速率和所述目标逻辑任务的处理速率,按照第一策略调整所述并行度;
当监控到所述目标逻辑任务的处理速率发生变化时,根据所述目标逻辑任务的接收速率和所述目标逻辑任务的处理速率,按照第二策略调整所述并行度;
所述第一策略包括:若所述目标逻辑任务的接收速率增加,并且所述目标逻辑任务的处理速率小于所述目标逻辑任务的接收速率,则提高所述并行度;
若所述目标逻辑任务的接收速率降低,并且所述目标逻辑任务的处理速率小于所述目标逻辑任务的接收速率,则降低所述并行度;
所述第二策略包括:
若所述目标逻辑任务的处理速率增加,则提高所述并行度;
若所述目标逻辑任务的处理速率降低,并且所述目标逻辑任务的处理速率小于所述目标逻辑任务的接收速率,则降低所述并行度;
若所述目标逻辑任务的处理速率降低,并且所述目标逻辑任务的处理速率大于所述目标逻辑任务的接收速率,则降低所述并行度。
4.根据权利要求1-3任一项所述的基于分布式的数据流处理方法,其特征在于,所述基于分布式的数据流处理方法还包括:
向所述主节点发送负载信息,以使所述主节点根据所述负载信息重新分配所述逻辑任务,所述负载信息用于指示所述工作节点的资源占用情况,包括接收的所述逻辑任务数量、CPU占用程度、带宽占用程度和IO接口占用程度中的至少一个。
5.一种基于分布式的数据流处理方法,其特征在于,包括:
主节点根据接收到的数据流向各个工作节点分配逻辑任务,以使所述工作节点根据接收的各个逻辑任务中用于指示进行指定操作的目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率,确定所述指定操作对应的并行度;所述工作节点根据所述并行度,对所述目标逻辑任务进行整合获得至少一个物理任务,所述物理任务的数量与所述并行度相同;所述工作节点并行执行所述至少一个物理任务;所述并行度为并行执行所述指定操作的线程数量;所述逻辑任务用于指示各个工作节点待处理的数据流以及所述待处理的数据流所需进行的操作。
6.根据权利要求5所述的基于分布式的数据流处理方法,其特征在于,所述基于分布式的数据流处理方法还包括:
获取各个所述工作节点的负载信息,所述负载信息用于指示所述工作节点的资源占用情况,包括接收的所述逻辑任务的数量、CPU占用程度、带宽占用程度和IO接口占用程度中的至少一个;
根据所述负载信息重新分配所述逻辑任务。
7.根据权利要求6所述的基于分布式的数据流处理方法,其特征在于,所述根据所述负载信息重新分配各个所述逻辑任务,包括:
若存在所述负载信息未超过阈值的工作节点和所述负载信息超过所述阈值的工作节点,将向所述负载信息最高的至少一个工作节点分配的各个所述逻辑任务调整为向所述负载信息未超过所述阈值的至少一个工作节点分配;
若各个所述工作节点的所述负载信息均超过所述阈值,则增加所述工作节点,将向所述负载信息最高的至少一个工作节点分配的各个所述逻辑任务调整为向增加的所述工作节点分配;
若所述各个所述工作节点的所述负载信息均未超过所述阈值,则在除分配的所述逻辑任务的数量最少的所述工作节点以外的各个所述工作节点中确定待接收工作节点,将向包含所述逻辑任务的数量最少的工作节点分配的各个所述逻辑任务调整为向所述待接收工作节点分配。
8.一种基于分布式的数据流处理系统,其特征在于,包括:一个主节点和至少两个工作节点;
所述主节点,用于根据接收到的数据流向各个所述工作节点分配逻辑任务;所述逻辑任务用于指示各个工作节点待处理的数据流以及所述待处理的数据流所需进行的操作;
所述工作节点,用于从至少一个操作中确定指定操作;根据接收的各个逻辑任务中用于指示进行所述指定操作的目标逻辑任务的接收速率,以及所述目标逻辑任务的处理速率,确定所述指定操作对应的并行度,所述并行度为并行执行所述指定操作的线程数量;根据所述并行度,对所述目标逻辑任务进行整合获得至少一个物理任务,所述物理任务的数量与所述并行度相同;所述工作节点并行执行所述至少一个物理任务;
所述主节点,还用于获取各个所述工作节点的负载信息;根据所述负载信息重新分配所述逻辑任务,所述负载信息用于指示所述工作节点的资源占用情况,包括接收的所述逻辑任务的数量、CPU占用程度、带宽占用程度和输入输出IO接口占用程度中的至少一个。
CN201310482045.2A 2013-10-15 2013-10-15 基于分布式的数据流处理方法和系统 Active CN103595651B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310482045.2A CN103595651B (zh) 2013-10-15 2013-10-15 基于分布式的数据流处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310482045.2A CN103595651B (zh) 2013-10-15 2013-10-15 基于分布式的数据流处理方法和系统

Publications (2)

Publication Number Publication Date
CN103595651A CN103595651A (zh) 2014-02-19
CN103595651B true CN103595651B (zh) 2017-02-15

Family

ID=50085640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310482045.2A Active CN103595651B (zh) 2013-10-15 2013-10-15 基于分布式的数据流处理方法和系统

Country Status (1)

Country Link
CN (1) CN103595651B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224550B (zh) * 2014-06-09 2019-07-19 腾讯科技(深圳)有限公司 分布式流计算系统和方法
CN105335376B (zh) * 2014-06-23 2018-12-07 华为技术有限公司 一种流处理方法、装置及系统
CN105404554B (zh) * 2015-12-04 2019-09-13 东软集团股份有限公司 用于Storm流计算框架的方法和装置
CN106909473A (zh) * 2015-12-23 2017-06-30 阿里巴巴集团控股有限公司 一种节点重启后的数据处理方法及设备
CN105893497A (zh) * 2016-03-29 2016-08-24 杭州数梦工场科技有限公司 一种任务处理方法和装置
CN108241661A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种分布式数据流分析方法
CN106844483A (zh) * 2016-12-23 2017-06-13 航天星图科技(北京)有限公司 一种日志数据流处理方法
CN108241525A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种多节点任务动态控制方法
CN106649887A (zh) * 2017-01-16 2017-05-10 湖南财政经济学院 大数据处理方法及大数据处理装置
CN109857558A (zh) * 2019-01-18 2019-06-07 苏宁易购集团股份有限公司 一种数据流处理方法及系统
CN110795151A (zh) * 2019-10-08 2020-02-14 支付宝(杭州)信息技术有限公司 算子并发度调整方法、装置和设备
CN112214649B (zh) * 2020-10-21 2022-02-15 北京航空航天大学 一种时态图数据库分布式事务解决系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179481A (zh) * 2006-11-09 2008-05-14 中兴通讯股份有限公司 数据流量控制方法和装置
CN102467570A (zh) * 2010-11-17 2012-05-23 日电(中国)有限公司 用于分布式数据仓库的连接查询系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291006B2 (en) * 2008-05-30 2012-10-16 International Business Machines Corporation Method for generating a distributed stream processing application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179481A (zh) * 2006-11-09 2008-05-14 中兴通讯股份有限公司 数据流量控制方法和装置
CN102467570A (zh) * 2010-11-17 2012-05-23 日电(中国)有限公司 用于分布式数据仓库的连接查询系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
分布式数据流处理中的负载均衡策略;王金栋 周良 张磊 丁秋林;《南京航天航空大学学报》;20060430;第38卷(第2期);全文 *

Also Published As

Publication number Publication date
CN103595651A (zh) 2014-02-19

Similar Documents

Publication Publication Date Title
CN103595651B (zh) 基于分布式的数据流处理方法和系统
CN107239336B (zh) 一种实现任务调度的方法及装置
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
JP6241300B2 (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
US8898674B2 (en) Memory databus utilization management system and computer program product
US8533731B2 (en) Apparatus and method for distrubuting complex events based on correlations therebetween
CN104580396A (zh) 一种任务调度方法、节点及系统
KR102110812B1 (ko) 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
CN112817728B (zh) 任务调度方法、网络设备和存储介质
CN103986766A (zh) 自适应负载均衡作业任务调度方法及装置
Liu et al. A cloud service adaptive framework based on reliable resource allocation
CN109962856A (zh) 资源分配方法、装置以及计算机可读存储介质
CN108762921A (zh) 一种Spark集群系统的在线优化分区的任务调度方法及装置
US20190253357A1 (en) Load balancing based on packet processing loads
CN104331331A (zh) 任务数目和性能感知的可重构多核处理器的资源分配方法
CN103699433A (zh) 一种于Hadoop平台中动态调整任务数目的方法及系统
WO2021259246A1 (zh) 资源调度方法和装置、电子设备、计算机可读存储介质
CN102339233A (zh) 云计算集中管理平台
US20240187351A1 (en) Stream allocation using stream credits
JP2017037492A (ja) 分散処理プログラム、分散処理方法および分散処理装置
US20220300323A1 (en) Job Scheduling Method and Job Scheduling Apparatus
CN112423041B (zh) 分布式计算平台下基于QoS约束的视频流处理方法和系统
CN116663639B (zh) 一种梯度数据同步方法、系统、装置及介质
CN103106112A (zh) 一种基于最高负载的进行负载均衡调度的方法及设备
CN107589980A (zh) 一种云计算资源的调度方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210128

Address after: 100085 Digital Technology Plaza, 9 shangdijiu street, Haidian District, Beijing

Patentee after: DIGITAL CHINA HOLDINGS Ltd.

Address before: 100191 No. 37, Haidian District, Beijing, Xueyuan Road

Patentee before: BEIHANG University