一种流处理方法、装置及系统制造方法及图纸

技术编号:12886011 阅读:58 留言:0更新日期:2016-02-17 17:06
本发明专利技术实施例公开了一种流处理方法、装置及系统,该方法包括:接收第一流处理任务,第一流处理任务中包含流处理组件、流处理组件的数据输入及输出关系、流数据源的标识;计算第一流处理任务包含的一个或多个流处理组件中的每一个流处理组件所需要的计算资源;若第一流处理任务中包含所需要的计算资源不满足预先设置的约束条件的第一流处理组件,则通过复制至少一个与第一流处理组件具有相同计算逻辑的第二流处理组件,使得原本输入到第一流处理组件的数据可以在第一流处理组件及第二流处理组件间分配,一定程度避免因分配给计算节点的流处理组件所需要的计算资源超过该计算节点能提供的计算资源所导致出现系统不稳定及数据处理故障的概率。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种流处理方法、装置及系统
技术介绍
流处理技术广泛应用在各种领域的实时处理系统中,例如股票证券交易中心、网络监视、web应用、通信数据管理,这类系统的共同特点是,数据实时性强、数据量极大,具有相当高的突发性、连续发生并不断变化。流处理技术需要实时监测连续的数据流,在数据不断变化的过程中实时地进行数据分析,捕捉到可能对用户有用的信息,对紧急情况快速响应,实时处理。目前,流数据处理主要采用分布式的计算方式。分布式流处理系统中包含多个计算节点,可以由该多个计算节点完成流数据的处理过程。用户提交流处理任务之后,该分布式流系统将该流处理任务中的流处理组件分配给该多个计算节点,其中,流处理组件包含数据的计算逻辑,使得该多台计算节点能够按照分配得到的流处理组件的计算逻辑对流数据进行处理。然而利用上述的分布式流处理系统处理流数据时经常会出现分布在计算节点的流处理组件所需要的计算资源超过该计算节点能够提供的计算资源的情况,容易造成系统不稳定及数据处理的故障,降低系统性能。
技术实现思路
本专利技术实施例提供了一种流处理方法、装置及系统,用于对流处理任务中包含的流处理组件进行分配,能够有效的降低因计算节点分配的流处理组件所需要的计算资源超过该计算节点能提供的计算资源所导致出现系统不稳定及数据处理故障的概率,从而改善系统性能。本专利技术第一方面提供了一种流处理方法,所述方法包括:接收第一流处理任务,所述第一流处理任务中包含一个或多个流处理组件、所述流处理组件的数据输入及输出关系、流数据源的标识;计算所述第一流处理任务包含的所述一个或多个流处理组件中的每一个流处理组件所需要的计算资源;若所述第一流处理任务中包含所需要的计算资源不满足预先设置的约束条件的第一流处理组件,则复制与所述第一流处理组件具有相同计算逻辑的第二流处理组件,所述第二流处理组件的个数为一个或多个,并将所述第二流处理组件添加到所述第一流处理任务中,得到第二流处理任务;在所述第二流处理任务中,所述第二流处理组件与所述第一流处理组件具有相同的数据输入及输出关系,且,若在所述第一流处理任务中存在向所述第一流处理组件发送数据的第三流处理组件,则所述第三流处理组件根据第一数据分配策略将所述第三流处理组件发送给所述第一流处理组件的数据发送给所述第一流处理组件和所述第二流处理组件,若在所述第一流处理任务中存在向所述第一流处理组件发送数据的所述流数据源标识对应的流数据源,则所述流数据源根据第二数据分配策略将所述流数据源发送给所述第一流处理组件的数据发送给所述第一流处理组件和所述第二流处理组件,且所述第一流处理任务中的所述第一流处理组件所需要的计算资源根据资源分配策略划分给所述第二流处理任务中的所述第一流处理组件和所述第二流处理组件;将所述第二流处理任务中的流处理组件分配给流处理系统中的满足所述流处理组件所需要的计算资源的计算节点。在第一方面第一种可能的实现方式中,所述第一流处理任务中还包括流处理组件的算子估计计算量及流传输估计计算量;所述计算所述第一流处理任务中的每一个流处理组件所需要的计算资源包括:根据所述第一流处理任务中的每一个流处理组件的算子估计计算量及流传输估计计算量,计算所述每一个流处理组件所需要的计算资源。结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述根据所述第一流处理任务中的每一个流处理组件的算子估计计算量及流传输估计计算量,计算所述每一个流处理组件所需要的计算资源,包括:根据所述每一个流处理组件的算子估计计算量及所述流处理组件的源代码的估计计算量,按照预先设置的算子计算量预测函数计算所述每一个流处理组件的算子计算量;根据所述每一个流处理组件的流传输估计计算量,按照预先设置的流传输计算量预测函数计算所述每一个流处理组件的流传输计算量;将所述每一个流处理组件的算子计算量与所述每一个流处理组件的流传输计算量的和作为所述每一个流处理组件所需要的计算资源。结合第一方面或者第一方面第一种可能的实现方式或者第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述将所述第二流处理任务中的流处理组件分配给所述流处理系统中的满足所述流处理组件所需要的计算资源的计算节点包括:按照所述第二流处理任务中的流处理组件所需要的计算资源从大到小的顺序将所述流处理组件排序;将所述流处理组件按照所述排序分配给所述流处理系统中的满足所述流处理组件所需要的计算资源的计算节点,其中所述计算节点为所述流处理组件在各个计算节点上的计算资源比例最小的计算节点,所述计算资源比例为所述流处理组件所需要的计算资源与所述计算节点已使用的计算资源的和占所述计算节点总的计算资源的比例。结合第一方面或者第一方面第一种可能的实现方式或者第一方面第二种可能的实现方式,在第一方面第四种可能的实现方式中,所述将所述第二流处理任务中的流处理组件分配给所述流处理系统中的满足所述流处理组件所需要的计算资源的计算节点包括:根据预先设置的分类模型确定所述第二流处理任务的类型;查找预先设置的任务类型与分配方式的对应关系表,确定与所述第二流处理任务的类型对应的分配方式;按照所述分配方式,为所述第二流处理任务中的流处理组件分配满足所述流处理组件所需要的计算资源的计算节点。结合第一方面或者第一方面第一种可能的实现方式或者第一方面第二种可能的实现方式或者第一方面第三种可能的实现方式或者第一方面第四种可能的实现方式,在第一方面第五种可能的实现方式中,所述约束条件为所述流处理组件所需要的计算资源小于或等于预先设置的数值,或者,所述流处理组件所需要的计算资源小于各个计算节点能提供的最大的空闲计算资源,或者,所述流处理组件所需要的计算资源小于各个计算节点的空闲计算资源的平均值。结合第一方面或者第一方面第一种可能的实现方式或者第一方面第二种可能的实现方式或者第一方面第三种可能的实现方式或者第一方面第四种可能的实现方式,在第一方面第六种可能的实现方式中,所述第一数据分配策略为平均分配策略,所述第二数据分配策略为平均分配策略,所述资源分配策略为平均分配策略。本专利技术第二方面提供了一种流处理装置,包括:接收单元,用于接收第一流处理任务,所述第一流处理任务中包含一个或多个流处理组件、所述流处理组件的数据输入及输出关系、流数据源的标识;计算单元,用于在所述接收单元接收所述第一流处理任务之后,计算所述第一流处理任务中包含的所述一个或多个流处理组件中的每一个流处理组件所需要的计算资源;复制更新单元,用于在所述计算单元得到所述每一个流处理组件所需要的计算资源之后,若所述第一流处理任务中包含所需要的计算资源不满足预先设置的约束条件的第一流处理组件,则复制与所述第一流处理组件具有相同计算逻辑的第二流处理组件,所述第二流处理组件的个数为一个或多个,并将所述第二流处理组件添加到所述第一流处理任务中,得到第二流处理任务;在所述第二流处理任务中,所述第二流处理组件与所述第一流处理组件具有相同的数据输入及输出关系,且,若在所述第一流处理任务中存在向所述第一流处理组件发送数据的第三流处理组件,则所述第三流处理组件根据第一数据分配策略将所述第三流处理组件发送给所述第一流处理组件的数据发送给所述第一流处理本文档来自技高网...

【技术保护点】
一种流处理方法,其特征在于,所述方法包括:接收第一流处理任务,所述第一流处理任务中包含一个或多个流处理组件、所述流处理组件的数据输入及输出关系、流数据源的标识;计算所述第一流处理任务包含的所述一个或多个流处理组件中的每一个流处理组件所需要的计算资源;若所述第一流处理任务中包含所需要的计算资源不满足预先设置的约束条件的第一流处理组件,则复制与所述第一流处理组件具有相同计算逻辑的第二流处理组件,所述第二流处理组件的个数为一个或多个,并将所述第二流处理组件添加到所述第一流处理任务中,得到第二流处理任务;在所述第二流处理任务中,所述第二流处理组件与所述第一流处理组件具有相同的数据输入及输出关系,且,若在所述第一流处理任务中存在向所述第一流处理组件发送数据的第三流处理组件,则所述第三流处理组件根据第一数据分配策略将所述第三流处理组件发送给所述第一流处理组件的数据发送给所述第一流处理组件和所述第二流处理组件,若在所述第一流处理任务中存在向所述第一流处理组件发送数据的所述流数据源标识对应的流数据源,则所述流数据源根据第二数据分配策略将所述流数据源发送给所述第一流处理组件的数据发送给所述第一流处理组件和所述第二流处理组件,且所述第一流处理任务中的所述第一流处理组件所需要的计算资源根据资源分配策略划分给所述第二流处理任务中的所述第一流处理组件和所述第二流处理组件;将所述第二流处理任务中的流处理组件分配给流处理系统中的满足所述流处理组件所需要的计算资源的计算节点。...

【技术特征摘要】

【专利技术属性】
技术研发人员:钱剑锋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1