CN103164261B - 多中心数据任务处理方法、装置及系统 - Google Patents
多中心数据任务处理方法、装置及系统 Download PDFInfo
- Publication number
- CN103164261B CN103164261B CN201110420815.1A CN201110420815A CN103164261B CN 103164261 B CN103164261 B CN 103164261B CN 201110420815 A CN201110420815 A CN 201110420815A CN 103164261 B CN103164261 B CN 103164261B
- Authority
- CN
- China
- Prior art keywords
- data
- task
- node
- data center
- degree
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种多中心数据任务处理方法、装置及系统。其中该方法包括:A、采集数据任务信息;B、根据所述数据任务信息生成数据任务模型图,对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组,其中,所述数据任务模型图中的节点为各个数据任务;C、将不同组的数据任务部署到相应的数据中心。本发明的多中心数据任务处理方法、装置及系统,通过建立体现数据任务之间的关联关系的模型,基于该模型进行多中心任务分配,使得任务分配更加的直观准确,更加均衡。避免数据的大量迁移和冗余,各个中心之间传输的数据量较小,降低网络负荷的压力,提高总体的数据处理效率,保证多个数据中心之间负荷基本相同。
Description
技术领域
本发明涉及一种业务支撑技术,尤其涉及一种多中心数据任务处理方法、装置及系统。
背景技术
出于安全的考虑,企业通常会建立两个或多个数据处理中心,实现容灾。而在日常则会采用任务分配的方式使负载在数据处理中心间均摊,每个数据处理中心处理不同的任务,处理存储不同的数据,特别是复杂的非直接面向应用的中间数据。然而由于数据间存在复杂的关联关系,往往一个数据处理需要依赖多个数据来源,非常可能是另外一个数据中心处理的数据结果,这样就需要数据从某个中心导出,再经过网络传输,导入到需要计算的中心,而这个过程时间消耗很大,大大降低了系统总体处理效率。
如何对双中心进行任务分配是双中心或多中心工作的一个重点问题。常见的任务分配方式有很多,有动态的和固定的。动态的分配有轮询算法、随机分配算法、最小连接算法、最快响应算法、链路带宽算法等等。固定分配算法主要按专家意见。
对于数据处理型系统例如数据仓库系统而言,动态的任务分配算法并不适用,因为需要将任务分配动作和数据分配动作同步执行,而数据同步会花费更多的传输时间和加载时间。固定分配是被广泛采用的,计算任务主要按数据所在位置分配。
目前固定分配算法多采用专家意见进行定性划分,手动调整,例如按照应用或者按照地域划分,这种划分通常是周期性的由人工进行规划,规划时基于当时所统计的数据进行,很难保证最优的分配,会导致数据多处存放冗余、数据传输量大、计算重复、无法形成统一视图等一系列的问题。例如在中国移动的经分系统的两级系统可以认为是按地域划分的一种方式,如图所示,为了实现省级经分中按地域的统计需要建立一级经营分析系统,实现汇总数据的中心,实现全国级的数据计算。而以前中国联通的经分仅建设了省级经分,未建设一级经分,因此不能实现全网的数据分析,不得不重新建立总部经分系统。
另外,现有技术中还有其他的实现方案:
一、例如专利申请号为200610170646.X,发明名称为《分布式数据中心逻辑统一的实现方法及系统》中描述了一种分布式数据中心逻辑统一的实现方法,各数据中心采用顾客信息控制CICS作为连接客户端与数据中心的应用服务器;该方法包括步骤:通过将各数据中心对应的CICS互连建立各数据中心通讯;客户端接收数据处理请求,确定数据处理属于跨数据中心时,将客户端和服务器端有关数据处理的会计分录合并在客户端。此发明提供一种分布式数据中心逻辑统一的系统。
该专利的方法仅适用于简单计算,数据粒度较粗,数据量较少的场景下,才可以在CICS配合下在客户端实现合并,但是在数据计算流程通常比较复杂,数据量很大,数据粒度细,并不能解决目前跨中心的数据仓库类系统或海量数据处理类系统的任务分配问题。
二、google在单数据中心的云计算部署有着先进的技术,通过Map-reduce和GFS机制获得单数据中心的数据并行处理。而类google架构的hadoop开源同样专注于单数据中心内的数据并行处理。他们在跨数据中心的任务分配的完整性和隔离性上仍未能很好解决,主要采用按地域或应用划分计算任务,例如googlemap部署于一个数据中心,而googlemail部署于另一个数据中心,之间并无数据顺序计算与调度关系。
现有常用的方法有以下缺点:
1、现有的动态分配算法适用于数据无关或不与海量数据相关的计算,不适用于数据量巨大的计算场景,会造成数据的大量迁移和数据的大量冗余;
2、现有的固定分配方法通常以地域应用划分,通常是基于很长时间的统计信息,很难保证最优的分配,会导致数据多处存放冗余、数据传输量大、计算重复、无法形成统一视图等一系列的问题;
3、基于客户端做合并的方法也不适用于数据量巨大的计算;
4、基于单中心的数据计算分配与并行处理,由于并非考虑数据中心间的数据同步和数据迁移,因此同样不适用于跨数据中心的数据计算。
发明内容
本发明的目的在于,提供一种多中心数据任务处理方法、装置及系统,适用于数据量巨大且关联度复杂的多中心计算需求,任务分配更加均衡。
为实现上述目的,根据本发明的一个方面,提供一种多中心数据任务处理方法,包括:
A、采集数据任务信息;
B、根据所述数据任务信息生成数据任务模型图,对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组,其中,所述数据任务模型图中的节点为各个数据任务;
C、将不同组的数据任务部署到相应的数据中心。
步骤B中,根据所述数据任务信息生成数据任务模型图包括:生成每个节点的节点信息,所述节点信息包括:该数据任务单次计算输出数据量、处理需要的总存储量和处理需要的计算量;生成节点之间的连接关系(边),所述边为节点之间的计算关系及数据流向,所述边包括:数据流向的起点和终点。
步骤B中,根据所述数据任务信息生成数据任务模型图后还包括:在所述数据任务模型图中,当第一节点输出的数据仅用于计算第二节点,合并所述第一节点和第二节点;和/或当第一节点的输出到第二节点的输出的数据为静态数据时,合并所述第一节点和第二节点;和/或当第一节点和第二节点之间的数据流量小于预设的第一门限,删除该两节点之间的边,当第一节点仅与第二节点连接时,同时删除所述第一节点。
具体地,对所述数据任务模型图进行切割包括:按照数据任务的执行顺序将所述数据任务模型图中的节点分层;从数据量大的层开始进行切割。
优选地,该方法还包括:计算每层节点切割后的切割数据量,切割数据量为被切割的边中数据流向的起点的单次计算输出数据量之和;根据所述切割数据量选择该层节点的切割方案。
更优地,该方法还包括:对每层节点切割后,计算切割后每组节点的处理需要的总存储量之和及处理需要的计算量之和;计算每组节点对应数据中心的计算量负载度和存储量负载度,所述计算量负载度为每组节点的处理需要的计算量之和除以对应数据中心总计算量,所述存储量负载度为每组节点的处理需要的总存储量之和除以对应数据中心总存储量;计算所述数据中心的计算量负载度两两之间的差值,得到计算量不均衡度;计算所述数据中心的存储量负载度两两之间的差值,得到存储量不均衡度;根据所述计算量不均衡度和存储量不均衡度选择该层节点的切割方案。
步骤A之后还包括:监控多个数据中心的不均衡度,当所述不均衡度大于预设门限时,执行步骤B。
监控多个数据中心不均衡度包括:获取各个数据中心的当前任务处理量及其最大任务处理量,计算各个数据中心的负载度,即用数据中心的当前任务处理量除以最大任务处理量;计算所述数据中心的负载度两两之间的差值即得到数据中心的不均衡度;和/或获取各个数据中心的CPU负荷及存储占用率,计算所有数据中心的平均CPU负荷和平均存储占用率;计算各数据中心的CPU负荷与平均CPU负荷的差值的绝对值,并将得到的绝对值求和得到数据中心的CPU负荷不均衡度;计算各数据中心的存储占用率与平均存储占用率的差值的绝对值,并将得到的绝对值求和得到数据中心的存储不均衡度。
为实现上述目的,根据本发明的另一个方面,提供一种数据任务分配装置,包括:
建模单元,用于根据数据任务信息生成数据任务模型图,其中,所述数据任务模型图中的节点为各个数据任务;
切割单元,用于对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组;
部署单元,用于将不同组的数据任务部署到相应的数据中心。
其中,建模单元,用于生成每个节点的节点信息,所述节点信息包括:该数据任务单次计算输出数据量、处理需要的总存储量和处理需要的计算量;生成节点之间的边,所述边为数据任务之间的计算关系及数据流向,所述边包括:数据流向的起点和终点。
优选地,该装置还包括:
简化单元,用于当第一节点输出的数据仅用于计算第二节点,合并所述第一节点和第二节点;
和/或当第一节点的输出到第二节点的输出的数据为静态数据时,合并所述第一节点和第二节点。
和/或和/或当第一节点和第二节点之间的数据流量小于预设的第一门限,删除该两节点之间的边,当第一节点仅与第二节点连接时,同时删除所述第一节点。
其中,切割单元,用于按照数据任务的执行顺序将所述数据任务模型图中的节点分层;从数据量大的层开始进行切割。
优选地,该装置还包括:
第一计算单元,用于计算每层节点切割后的切割数据量,切割数据量为被切割的边中数据流向的起点的单次计算输出数据量之和;
选择单元,用于根据所述切割数据量选择该层节点的切割方案。
优选地,该装置还包括:
第二计算单元,用于对每层节点切割后,计算切割后每组节点的处理需要的总存储量之和及处理需要的计算量之和;计算每组节点对应数据中心的计算量负载度和存储量负载度,所述计算量负载度为每组节点的处理需要的计算量之和除以对应数据中心总计算量,所述存储量负载度为每组节点的处理需要的总存储量之和除以对应数据中心总存储量;计算所述数据中心的计算量负载度两两之间的差值,得到计算量不均衡度;计算所述数据中心的存储量负载度两两之间的差值,得到存储量不均衡度;
选择单元,用于根据所述计算量不均衡度和存储量不均衡度选择该层节点的切割方案。
为实现上述目的,根据本发明的另一个方面,提供一种多中心数据任务处理系统,其特征在于,包括:
采集装置,用于采集数据任务信息;
数据任务分配装置,用于根据所述数据任务信息生成数据任务模型图,对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组,其中,所述数据任务模型图中的节点为各个数据任务;将不同组的数据任务部署到相应的数据中心;
数据中心,用于执行所述数据任务分配装置分配的数据任务。
优选地,该系统还包括:监控装置,用于监控多个数据中心的不均衡度,当所述不均衡度大于预设门限时,控制所述数据任务分配装置进行工作;
所述监控装置包括:获取单元,用于获取各个数据中心的当前任务处理量及其最大任务处理量;
第一计算单元,用于计算各个数据中心的负载度,即用数据中心的当前任务处理量除以最大任务处理量;计算所述数据中心的负载度两两之间的差值即得到数据中心的不均衡度;
或所述监控装置包括:获取单元,用于取各个数据中心的CPU负荷及存储占用率;
第二计算单元,用于计算所有数据中心的平均CPU负荷和平均存储占用率;计算各数据中心的CPU负荷与平均CPU负荷的差值的绝对值,并将得到的绝对值求和得到数据中心的CPU负荷不均衡度;计算各数据中心的存储占用率与平均存储占用率的差值的绝对值,并将得到的绝对值求和得到数据中心的存储不均衡度。
本发明的多中心数据任务处理方法、装置及系统,通过建立体现数据任务之间的关联关系的模型,基于该模型进行多中心任务分配,使得任务分配更加的直观准确,更加均衡。避免数据的大量迁移和冗余,各个中心之间传输的数据量较小,降低网络负荷的压力,提高总体的数据处理效率,保证多个数据中心之间负荷基本相同。
通过对节点的合并,节点和边的删除,减少节点和边的数目,对模型图进行简化,降低计算的复杂度。
另外,通过对模型图中的节点分层进行切割,优先从数据量大的层开始切割,同时每层中选取最优的切割方式再进行后续的切割计算,这样避免全部遍历计算带来的庞大计算量,提高了计算效率。
附图说明
图1是本发明多中心数据任务处理方法实施例的流程图;
图2是本发明数据任务模型图;
图3a是本发明节点合并前示意图;
图3b是本发明节点合并后示意图;
图4a是本发明节点合并前示意图;
图4b是本发明节点合并后示意图;
图5a是本发明节点合并前示意图;
图5b是本发明节点合并后示意图;
图6a是本发明边删除前示意图;
图6b是本发明边删除后示意图;
图6c是本发明边删除后另一示意图;
图7是本发明数据任务模型图切割示意图;
图8是本发明将简化的节点和边恢复后的示意图;
图9是本发明多中心数据任务处理方法另一实施例的流程图;
图10是本发明多中心数据任务处理系统实施例的结构图;
图11是本发明多中心数据任务处理系统另一实施例的结构图。
具体实施方式
本发明将数据任务描述为一个节点和边组成的数据任务模型图,节点表示数据任务,边表示从一个节点到另一个节点的输出数据,即各个计算任务之间的数据计算关系(即依赖关系),边包括数据流向的起点和终点。
由于对数据任务模型图的切割复杂度随节点增加呈幂指数增加,因此不可能直接通过深度搜索或广度搜索方式获得最优解。本发明基于所建立的模型,首先对模型图进行简化处理,然后将按照计算顺序将节点分层,从数据量较大的层进行切割,按比例取若干最优解进行其他层次的迭代,最终得到最优切割方案,即切割后组间数据量最小,切割后的组任务分配最均衡。
以下结合附图对本发明进行详细说明。
方法实施例一
如图1所示,本发明多中心数据任务处理方法实施例包括:
步骤102,采集数据任务的信息,包括:每项数据处理任务每次处理的数据来源、每个数据来源的单次处理数据量,处理任务的处理时长,处理任务计算量,该计算量可以使用数据任务的CPU时间作为衡量依据,也可以用数据库统计的代价(cost)作为依据;
步骤104,生成数据任务模型图,其中,所述数据任务模型图中的节点为各个数据任务,生成每个节点的节点信息和节点之间的连接关系(边),所述边为节点之间的计算关系即数据流向;
所述节点信息包括:该数据任务单次计算输出数据量v、处理需要的总存储量t和处理需要的计算量c(此处的计算量可以使用数据任务的CPU时间作为衡量依据,也可以用数据库统计的cost作为依据);每个节点定义为N(v,t,c);边定义为L(N1,N2),其中N1表示流向的起点,N2表示流向的终点;节点信息和数据流向信息均由数据中心上采集历史信息得到;
初始模型表示为G(N,L),如图2所示,表示了一个数据模型的示例,N=(Na,Nb,Nc,Nd,...,Nn),L=(Lae,Laf,Lbg...);
步骤106,对该模型图进行切割,按照数据中心的个数进行分组;
步骤108,将分组后的数据任务部署到对应的数据中心。
本实施例,通过建立体现数据任务之间的关联关系的模型,基于该模型进行多中心任务分配,使得任务分配更加的直观准确,更加均衡。避免数据的大量迁移和冗余,各个中心之间传输的数据量较小,降低网络负荷的压力,提高总体的数据处理效率,保证多个数据中心之间负荷基本相同。
优选地,本实施例中,步骤104之后,还包括步骤105,对模型图进行精简,主要包括以下几种方式:
(1)当第一节点输出的数据仅用于计算第二节点,合并所述第一节点和第二节点;
如图3a所示,当起始顶点A仅连接节点B,不存在其他边从A连接到其他顶点,即A输出数据仅用于计算B,则如图3b所示,节点A、B可以被合并为A’,且其属性v(A’)=v(B),t(A’)=t(A)+t(B),c(A’)=c(A)+c(B),亦即输出数据量等于B输出量,计算量和存储量加和。相应的,AB之间的边被删除,所有边中含有A或B的替换为A’。
该合并基于数据处理中输出数据量会小于输入数据量之和,这种规律对于海量数据分析系统是适用的,B可以看做是A节点处理任务的一个延伸,A与B分配于两个数据中心运行相比结束B运算后再在数据中心间传递,前者在数据中心间传递的数据流量必然更大,是没有意义的。
(2)当第一节点的输出到第二节点的输出的数据为静态数据时,合并所述第一节点和第二节点;
如图4a所示,当A为静态数据时,节点A、B间连接并不会造成数据周期性传输,A节点可以被裁减掉,如图4b所示,A的数据量合并入B,成为B’。其属性v(B’)=v(B),t(B’)=t(A)+t(B),A为静态数据,因此c(A)=0,c(B’)=c(B),相应的边的信息也需更新。
另外,如图5a和图5b所示,维度表A数据量很小,基本不更新的维度表可以视为静态数据进行处理,因为这些维度表虽然会被多个数据处理计算节点使用,但是并不真正产生数据中心间的流量,进行了合并后,会简化计算。
(3)当第一节点和第二节点之间的数据流量小于预设的第一门限,删除该两节点之间的边,当第一节点仅与第二节点连接时,同时删除所述第一节点;
如图6a和图6b所示,由于部分顶点间的流量非常小,相比其他较大的流量基本可以忽略不计(例如占总流量的比例小于1%,与大节点流量相比小于5%,该值为可调参数,根据问题情况调节),因此将这些边从模型上去除可以大大降低计算复杂度。
如图6c所示,由于该操作的执行有可能会产生两个或多个不连通的图。因此执行后需要检查连通性,如果产生了两个或多个不连通的图,则需要检查是否符合终止条件,即计算多个不连通图的计算量不均衡度、存储不均衡度及切割数据量,当这三个值均满足预设的门限要求时,则直接执行步骤108。计算量不均衡度、存储不均衡度及切割数据量的具体计算方式在以下对切割方案评估中具体描述。
步骤105中,通过对节点的合并,节点和边的删除,减少节点和边的数目,对模型图进行简化,降低计算的复杂度
由于图的拆分是一个多项式复杂程度的非确定性(Non-deterministicPolynomial,NP)问题,理论上并没有很好的处理方法,通常都是采用深度遍历和广度遍历,但是处理量巨大,且不符合数据处理的时序关系,其寻找的分割追求整体均匀,通常会导致在前一个时段一个数据中心空闲,另一个中心忙,而在另一个时段,一个忙,另外一个空闲。因此,本实施例中,步骤106具体包括:按照数据任务的执行顺序将所述数据任务模型图中的节点分层;从数据量大的层开始进行切割。
由于数据处理通常是有顺序的,必须完成上游任务才能开始下游任务,因此可以大致将任务按照执行顺序分为多层。在进行任务划分时,不是针对全图进行划分,而是从上游第一层开始,因为上游数据量大,其划分对图的最优解寻找影响最大。当然如果是下游数据量大的计算特征,也可以从下游开始划分。
如图7所示,第一层由Na~Nd顶点组成,第二层由Ne~Nj组成,线上标注的是顶点间传输的数据量,即该数据任务单次计算输出数据量v。例如Na的v=5,其传递给Ne、Nf、Ng的数据量是5。
定义一个切割(Cut)是将所有节点分为两组或多组的方案,例如切割C1将下图分为(Na,Nb,Ne,Nf,Ng,Nh)和(Nc,Nd,Ni,Nj)两组。被切割的边(CL)定义为起点和终点不在一组的边。切割数据量定义为将顶点分组后,需要在两个分组间传输的数据量,即被切割的边中起始顶点N1的v值之和。需要说明的是,如果存在多个被切割边的N1为同一顶点,v值仅被相加一次,而非多次。从物理意义上看即当处于某个数据中心的原始数据需要传递到另一个数据中心进行多个计算处理,只需要传一次,而非多次。
如图7所示,C1的切割数据量为2,C2的切割数据量为2,C3虽然切割了三条边,切割数据量为4,节点Nb的v值仅被计算一次。
在对1,2层进行切割之前,可以将顶点分为两类,第一类如Ne、Nf,仅依赖于Na,则切割两者直接的连接只会增加本次切割的数据量,不是合适的被切割边,在切割时可以不考虑。第二类如Na、Nb、Nc、Nd、Nh、Nj,在进行组合时是不确定的,可以根据遍历的方式计算他们的组合,组合数为2n-1,n为节点数,在该例中为32种组合。如下表1所示,列出部分组合。经过上面的处理n已经远小于最初模型的节点数,大大降低了计算复杂度。
切割标号 | 组1 | 组2 | 切割数据量 |
C4 | Na(Ne,Nf),Nb(Ng) | Nc,Nd(Ni),Nh,Nj | 5+2=7 |
C5 | Na(Ne,Nf),Nc | Nb(Ng),Nd(Ni),Nh,Nj | 5+2=7 |
C6 | Na(Ne,Nf) | Nb(Ng),Nc,Nd(Ni),Nh,Nj | 5 |
C3 | Na(Ne,Nf),Nh | Nb(Ng),Nc,Nd(Ni),Nj | 4 |
C1 | Na(Ne,Nf),Nb(Ng),Nh | Nc,Nd(Ni),Nj | 2 |
C2 | Na(Ne,Nf),Nb(Ng),Nh,Nc | Nd(Ni),Nj | 2 |
... |
在每层切割的同时,对各个切割方案进行评估,选择最优的几个方案,再按照最优的方案对后续层进行切割,直到计算完所有层次。
评估的方法主要有以下几种:
(1)计算每层节点切割后的切割数据量,切割数据量为被切割的边中数据流向的起点的单次计算输出数据量之和;
切割数据量=sum(被切割边的v)
根据所述切割数据量选择该层节点的切割方案。
(2)对每层节点切割后,计算切割后每组节点的处理需要的总存储量之和及处理需要的计算量之和;
计算每组节点对应数据中心的计算量负载度和存储量负载度,所述计算量负载度为每组节点的处理需要的计算量之和除以对应数据中心总计算量,所述存储量负载度为每组节点的处理需要的总存储量之和除以对应数据中心总存储量;
计算所述数据中心的计算量负载度两两之间的差值,得到计算量不均衡度;
计算量不均衡度=abs(组1的sum(c)/数据中心1的计算能力-组2的sum(c)/数据中心2的计算能力)),
其中,数据中心的计算能力可以用系统设计事务处理性能委员会基准测试(transationprocessingperforumancecouncil-benchmarkC,简称TPCC)能力来表示。
计算所述数据中心的存储量负载度两两之间的差值,得到存储量不均衡度;
存储量不均衡度=abs(组1的sum(t)/数据中心1的存储容量-组2的sum(t)/数据中心2的存储容量)
根据所述计算量不均衡度和存储量不均衡度选择该层节点的切割方案,严重不均衡的组合和切割数据量超过阈值的组合可以不再纳入后续计算。
(3)将上述计算得到的切割数据量、计算量不均衡度,存储量不均衡度,进行加权计算,并排序,将切割数据量相对较少、计算量和存储量较均衡的若干组合作为后续计算的切割。
另外,在所有层切割完毕,更优地,为更精确地进行任务分配,将步骤105中精简掉的节点和边恢复到模型图中,再次计算切割数据量相对较少、计算量和存储量较均衡的切割方案。如图8所示,节点1,和节点2及其边在以前的步骤被忽略,在本次计算sum(c)和sum(t)的时候会被一起进行计算。
另外,通过对模型图中的节点分层进行切割,优先从数据量大的层开始切割,同时每层中选取最优的切割方式再进行后续的切割计算,这样避免全部遍历计算带来的庞大计算量,提高了计算效率。
方法实施例二
如图9所示,本发明多中心数据任务处理方法另一实施例包括:
步骤202,采集数据任务的信息
步骤204,监控多个数据中心的不均衡度是否大于预设门限时,如果是,执行步骤206和步骤208,如果否,返回步骤202;
步骤206,告警;
步骤208,生成数据任务模型图;
步骤210,精简模型图;
步骤212,切割模型图;
步骤214,将分组后的数据任务部署到对应的数据中心,之后返回步骤202。
具体地,监控多个数据中心不均衡度具体有以下几种方式:
(1)获取各个数据中心的当前任务处理量及其最大任务处理量,计算各个数据中心的负载度,即用数据中心的当前任务处理量除以最大任务处理量;计算所述数据中心的负载度两两之间的差值即得到数据中心的不均衡度;
(2)获取各个数据中心的CPU负荷及存储占用率,计算所有数据中心的平均CPU负荷和平均存储占用率;
计算各数据中心的CPU负荷与平均CPU负荷的差值的绝对值,并将得到的绝对值求和得到数据中心的CPU负荷不均衡度;
计算各数据中心的存储占用率与平均存储占用率的差值的绝对值,并将得到的绝对值求和得到数据中心的存储不均衡度。
本实施例的多中心数据任务处理方法,通过监控装置实时监控数据中心的不均衡状态,使得在数据中心出现不均衡时,能够及时对多个数据中心的任务进行调整,进一步降低网络负荷的压力,提高总体的数据处理效率,保证多个数据中心之间负荷基本相同。
基于同一发明构思,本发明还提供一种数据任务分配装置,该数据任务分配装置实施例包括:
建模单元,用于根据数据任务信息生成数据任务模型图,其中,所述数据任务模型图中的节点为各个数据任务;
切割单元,用于对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组;
部署单元,用于将不同组的数据任务部署到相应的数据中心。
优选地,还包括:
简化单元,用于对所述数据任务模型图进行简化,具体地,当第一节点输出的数据仅用于计算第二节点,合并所述第一节点和第二节点;
和/或当第一节点的输出到第二节点的输出的数据为静态数据时,合并所述第一节点和第二节点。
和/或和/或当第一节点和第二节点之间的数据流量小于预设的第一门限,删除该两节点之间的边,当第一节点仅与第二节点连接时,同时删除所述第一节点。
优选地,切割单元,用于按照数据任务的执行顺序将所述数据任务模型图中的节点分层;从数据量大的层开始进行切割。
本实施例装置还包括:
第一计算单元,用于计算每层节点切割后的切割数据量,切割数据量为被切割的边中数据流向的起点的单次计算输出数据量之和;
选择单元,用于根据所述切割数据量选择该层节点的切割方案。
另外,本实施例装置还包括:
第二计算单元,用于对每层节点切割后,计算切割后每组节点的处理需要的总存储量之和及处理需要的计算量之和;计算每组节点对应数据中心的计算量负载度和存储量负载度,所述计算量负载度为每组节点的处理需要的计算量之和除以对应数据中心总计算量,所述存储量负载度为每组节点的处理需要的总存储量之和除以对应数据中心总存储量;计算所述数据中心的计算量负载度两两之间的差值,得到计算量不均衡度;计算所述数据中心的存储量负载度两两之间的差值,得到存储量不均衡度;
选择单元,用于根据所述计算量不均衡度和存储量不均衡度选择该层节点的切割方案。
本实施例的数据任务分配装置,通过建立体现数据任务之间的关联关系的模型,基于该模型进行多中心任务分配,使得任务分配更加的直观准确,更加均衡。避免数据的大量迁移和冗余,各个中心之间传输的数据量较小,降低网络负荷的压力,提高总体的数据处理效率,保证多个数据中心之间负荷基本相同。
通过对节点的合并,节点和边的删除,减少节点和边的数目,对模型图进行简化,降低计算的复杂度。
另外,通过对模型图中的节点分层进行切割,优先从数据量大的层开始切割,同时每层中选取最优的切割方式再进行后续的切割计算,这样避免全部遍历计算带来的庞大计算量,提高了计算效率。
基于同一发明构思,如图10所示,本发明还提供一种多中心数据任务处理系统,包括:
采集装置40,用于采集数据任务信息;
数据任务分配装置30,用于根据所述数据任务信息生成数据任务模型图,对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组,其中,所述数据任务模型图中的节点为各个数据任务;将不同组的数据任务部署到相应的数据中心;
多个数据中心50,用于执行所述数据任务分配装置部署的数据任务。
该系统还包括:监控装置60,用于监控多个数据中心的不均衡度,当所述不均衡度大于预设门限时,控制所述数据任务分配装置进行工作;
如图11所示,监控装置60包括:获取单元61,用于获取各个数据中心的当前任务处理量及其最大任务处理量;
第一计算单元62,用于计算各个数据中心的负载度,即用数据中心的当前任务处理量除以最大任务处理量;计算所述数据中心的负载度两两之间的差值即得到数据中心的不均衡度;
或所述监控装置60包括:获取单元61,用于取各个数据中心的CPU负荷及存储占用率;
第二计算单元63,用于计算所有数据中心的平均CPU负荷和平均存储占用率;计算各数据中心的CPU负荷与平均CPU负荷的差值的绝对值,并将得到的绝对值求和得到数据中心的CPU负荷不均衡度;计算各数据中心的存储占用率与平均存储占用率的差值的绝对值,并将得到的绝对值求和得到数据中心的存储不均衡度。
本实施例的系统,通过建立体现数据任务之间的关联关系的模型,基于该模型进行多中心任务分配,使得任务分配更加的直观准确,更加均衡。避免数据的大量迁移和冗余,各个中心之间传输的数据量较小,降低网络负荷的压力,提高总体的数据处理效率,保证多个数据中心之间负荷基本相同。
另外,通过监控装置实时监控数据中心的不均衡状态,使得在数据中心出现不均衡时,能够及时对多个数据中心的任务进行调整,进一步降低网络负荷的压力,提高总体的数据处理效率,保证多个数据中心之间负荷基本相同。
应说明的是:以上实施例仅用以说明本发明而非限制,本发明也并不仅限于上述举例,一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围中。
Claims (14)
1.一种多中心数据任务处理方法,其特征在于,包括:
步骤A、采集数据任务信息;
步骤B、根据所述数据任务信息生成数据任务模型图,对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组,其中,所述数据任务模型图中的节点为各个数据任务;
步骤C、将不同组的数据任务部署到相应的数据中心;
其中,所述步骤B中,根据所述数据任务信息生成数据任务模型图包括:
生成每个节点的节点信息,所述节点信息包括:该数据任务单次计算输出数据量、处理需要的总存储量和处理需要的计算量;
生成节点之间的边,所述边为节点之间的计算关系及数据流向,所述边包括:数据流向的起点和终点。
2.根据权利要求1所述的多中心数据任务处理方法,其特征在于,所述步骤B中,根据所述数据任务信息生成数据任务模型图后还包括:
在所述数据任务模型图中,当第一节点输出的数据仅用于计算第二节点,合并所述第一节点和第二节点;
和/或当第一节点的输出到第二节点的输出的数据为静态数据时,合并所述第一节点和第二节点;
和/或当第一节点和第二节点之间的数据流量小于预设的第一门限,删除该两节点之间的边,当第一节点仅与第二节点连接时,同时删除所述第一节点。
3.根据权利要求1或2所述的多中心数据任务处理方法,其特征在于,所述对所述数据任务模型图进行切割包括:
按照数据任务的执行顺序将所述数据任务模型图中的节点分层;从数据量大的层开始进行切割。
4.根据权利要求3所述的多中心数据任务处理方法,其特征在于,还包括:
计算每层节点切割后的切割数据量,切割数据量为被切割的边中数据流向的起点的单次计算输出数据量之和;
根据所述切割数据量选择该层节点的切割方案。
5.根据权利要求4所述的多中心数据任务处理方法,其特征在于,还包括:
对每层节点切割后,计算切割后每组节点的处理需要的总存储量之和及处理需要的计算量之和;
计算每组节点对应数据中心的计算量负载度和存储量负载度,所述计算量负载度为每组节点的处理需要的计算量之和除以对应数据中心总计算量,所述存储量负载度为每组节点的处理需要的总存储量之和除以对应数据中心总存储量;
计算所述数据中心的计算量负载度两两之间的差值,得到计算量不均衡度;计算所述数据中心的存储量负载度两两之间的差值,得到存储量不均衡度;
根据所述计算量不均衡度和存储量不均衡度选择该层节点的切割方案。
6.根据权利要求1所述的多中心数据任务处理方法,其特征在于,所述步骤A之后还包括:
监控多个数据中心的不均衡度,当所述不均衡度大于预设门限时,执行步骤B。
7.根据权利要求6所述的多中心数据任务处理方法,其特征在于,所述监控多个数据中心不均衡度包括:
获取各个数据中心的当前任务处理量及其最大任务处理量,计算各个数据中心的负载度,即用数据中心的当前任务处理量除以最大任务处理量;计算所述数据中心的负载度两两之间的差值即得到数据中心的不均衡度;
和/或获取各个数据中心的CPU负荷及存储占用率,计算所有数据中心的平均CPU负荷和平均存储占用率;计算各数据中心的CPU负荷与平均CPU负荷的差值的绝对值,并将得到的绝对值求和得到数据中心的CPU负荷不均衡度;计算各数据中心的存储占用率与平均存储占用率的差值的绝对值,并将得到的绝对值求和得到数据中心的存储不均衡度。
8.一种数据任务分配装置,其特征在于,包括:
建模单元,用于根据数据任务信息生成数据任务模型图,其中,所述数据任务模型图中的节点为各个数据任务;
切割单元,用于对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组;
部署单元,用于将不同组的数据任务部署到相应的数据中心;
其中,所述建模单元,用于生成每个节点的节点信息,所述节点信息包括:该数据任务单次计算输出数据量、处理需要的总存储量和处理需要的计算量;生成节点之间的边,所述边为数据任务之间的计算关系及数据流向,所述边包括:数据流向的起点和终点。
9.根据权利要求8所述的数据任务分配装置,其特征在于,还包括:
简化单元,用于当第一节点输出的数据仅用于计算第二节点,合并所述第一节点和第二节点;
和/或当第一节点的输出到第二节点的输出的数据为静态数据时,合并所述第一节点和第二节点;
和/或和/或当第一节点和第二节点之间的数据流量小于预设的第一门限,删除该两节点之间的边,当第一节点仅与第二节点连接时,同时删除所述第一节点。
10.根据权利要求8或9所述的数据任务分配装置,其特征在于,所述切割单元,用于按照数据任务的执行顺序将所述数据任务模型图中的节点分层;从数据量大的层开始进行切割。
11.根据权利要求10所述的数据任务分配装置,其特征在于,还包括:
第一计算单元,用于计算每层节点切割后的切割数据量,切割数据量为被切割的边中数据流向的起点的单次计算输出数据量之和;
选择单元,用于根据所述切割数据量选择该层节点的切割方案。
12.根据权利要求11所述的数据任务分配装置,其特征在于,还包括:
第二计算单元,用于对每层节点切割后,计算切割后每组节点的处理需要的总存储量之和及处理需要的计算量之和;计算每组节点对应数据中心的计算量负载度和存储量负载度,所述计算量负载度为每组节点的处理需要的计算量之和除以对应数据中心总计算量,所述存储量负载度为每组节点的处理需要的总存储量之和除以对应数据中心总存储量;计算所述数据中心的计算量负载度两两之间的差值,得到计算量不均衡度;计算所述数据中心的存储量负载度两两之间的差值,得到存储量不均衡度;
选择单元,用于根据所述计算量不均衡度和存储量不均衡度选择该层节点的切割方案。
13.一种多中心数据任务处理系统,其特征在于,包括:
采集装置,用于采集数据任务信息;
数据任务分配装置,用于根据所述数据任务信息生成数据任务模型图,对所述数据任务模型图进行切割,即对所述数据任务模型图中的所有节点分组,其中,所述数据任务模型图中的节点为各个数据任务;将不同组的数据任务部署到相应的数据中心;
数据中心,用于执行所述数据任务分配装置分配的数据任务;
其中,数据任务分配装置还用于生成每个节点的节点信息,所述节点信息包括:该数据任务单次计算输出数据量、处理需要的总存储量和处理需要的计算量;生成节点之间的边,所述边为数据任务之间的计算关系及数据流向,所述边包括:数据流向的起点和终点。
14.根据权利要求13所述的多中心数据任务处理系统,其特征在于,还包括:监控装置,用于监控多个数据中心的不均衡度,当所述不均衡度大于预设门限时,控制所述数据任务分配装置进行工作;
所述监控装置包括:获取单元,用于获取各个数据中心的当前任务处理量及其最大任务处理量;
第一计算单元,用于计算各个数据中心的负载度,即用数据中心的当前任务处理量除以最大任务处理量;计算所述数据中心的负载度两两之间的差值即得到数据中心的不均衡度;
或所述监控装置包括:获取单元,用于取各个数据中心的CPU负荷及存储占用率;
第二计算单元,用于计算所有数据中心的平均CPU负荷和平均存储占用率;计算各数据中心的CPU负荷与平均CPU负荷的差值的绝对值,并将得到的绝对值求和得到数据中心的CPU负荷不均衡度;计算各数据中心的存储占用率与平均存储占用率的差值的绝对值,并将得到的绝对值求和得到数据中心的存储不均衡度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420815.1A CN103164261B (zh) | 2011-12-15 | 2011-12-15 | 多中心数据任务处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420815.1A CN103164261B (zh) | 2011-12-15 | 2011-12-15 | 多中心数据任务处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103164261A CN103164261A (zh) | 2013-06-19 |
CN103164261B true CN103164261B (zh) | 2016-04-27 |
Family
ID=48587378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110420815.1A Active CN103164261B (zh) | 2011-12-15 | 2011-12-15 | 多中心数据任务处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103164261B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729147B (zh) | 2014-03-06 | 2021-09-21 | 华为技术有限公司 | 流计算系统中的数据处理方法、控制节点及流计算系统 |
CN104954823B (zh) * | 2014-03-31 | 2018-06-15 | 华为技术有限公司 | 一种图计算预处理的装置、方法及系统 |
US20180198855A1 (en) * | 2014-11-24 | 2018-07-12 | Alibaba Group Holding Limited | Method and apparatus for scheduling calculation tasks among clusters |
CN104580381B (zh) * | 2014-12-17 | 2018-02-06 | 上海彩亿信息技术有限公司 | 一种在多节点网络中执行作业任务的方法 |
CN106649391B (zh) * | 2015-11-03 | 2020-10-27 | 华为技术有限公司 | 处理图数据的方法和装置 |
CN107562531B (zh) * | 2016-06-30 | 2020-10-09 | 华为技术有限公司 | 一种数据均衡方法和装置 |
CN108664496B (zh) * | 2017-03-29 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 数据迁移方法及装置 |
CN107368512B (zh) * | 2017-04-21 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 信息对象的查询和序列确定方法、装置及设备、可读介质 |
CN107528914B (zh) * | 2017-09-12 | 2020-05-12 | 电子科技大学 | 数据分片的资源征用调度方法 |
CN107832461B (zh) * | 2017-11-28 | 2021-11-23 | 中国银行股份有限公司 | 一种数据迁移方法及系统 |
CN110290215B (zh) * | 2019-06-28 | 2021-09-28 | 深圳前海微众银行股份有限公司 | 一种信号传输方法及装置 |
CN110908986B (zh) * | 2019-11-08 | 2020-10-30 | 欧冶云商股份有限公司 | 计算任务的分层方法、分布式调度方法、装置及电子设备 |
CN113778727A (zh) * | 2020-06-19 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 数据处理方法及装置、电子设备和计算机可读存储介质 |
CN112381445A (zh) * | 2020-11-27 | 2021-02-19 | 哈尔滨财富通科技发展有限公司 | 一种跨数据服务商边界的数据中心任务分配系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226557A (zh) * | 2008-02-22 | 2008-07-23 | 中国科学院软件研究所 | 一种高效的关联主题模型数据处理方法及其系统 |
CN101902497A (zh) * | 2010-05-14 | 2010-12-01 | 翁时锋 | 基于云计算的互联网信息监测系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7724149B2 (en) * | 2007-06-11 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Apparatus, and associated method, for selecting distribution of processing tasks at a multi-processor data center |
US8214843B2 (en) * | 2008-09-03 | 2012-07-03 | International Business Machines Corporation | Framework for distribution of computer workloads based on real-time energy costs |
-
2011
- 2011-12-15 CN CN201110420815.1A patent/CN103164261B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226557A (zh) * | 2008-02-22 | 2008-07-23 | 中国科学院软件研究所 | 一种高效的关联主题模型数据处理方法及其系统 |
CN101902497A (zh) * | 2010-05-14 | 2010-12-01 | 翁时锋 | 基于云计算的互联网信息监测系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103164261A (zh) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164261B (zh) | 多中心数据任务处理方法、装置及系统 | |
CN102063336B (zh) | 一种分布式计算多应用功能异步并发调度方法 | |
CN103761309B (zh) | 一种运营数据处理方法及系统 | |
CN102281290B (zh) | 一种PaaS云平台的仿真系统及方法 | |
CN105677489B (zh) | 离散流处理模型下批次间隔大小的动态设置系统及方法 | |
US8756309B2 (en) | Resource information collecting device, resource information collecting method, program, and collection schedule generating device | |
US20110040727A1 (en) | Minimizing staleness in real-time data warehouses | |
CN104298550A (zh) | 一种面向Hadoop的动态调度方法 | |
Arkian et al. | Model-based stream processing auto-scaling in geo-distributed environments | |
CN103970851A (zh) | 海量凭证数据直接出具大型企业集团总部财务报表的方法 | |
CN107870763A (zh) | 用于创建海量数据实时分拣系统的方法及其装置 | |
CN108241534A (zh) | 一种任务处理、分配、管理、计算的方法以及装置 | |
CN107291550A (zh) | 一种针对迭代应用的Spark平台资源动态分配方法及系统 | |
CN105956723A (zh) | 基于数据挖掘的物流信息管理方法 | |
CN110929884A (zh) | 一种基于列划分的分布式机器学习优化的分类方法及装置 | |
CN109495343A (zh) | 异常流量数据的处理方法、装置及服务器 | |
CN103248622B (zh) | 一种自动伸缩的在线视频服务质量保障方法及系统 | |
CN103997515A (zh) | 一种分布式云中计算中心选择方法及其应用 | |
CN103617083A (zh) | 存储调度方法和系统、作业调度方法和系统及管理节点 | |
Luo et al. | Where to fix temporal violations: A novel handling point selection strategy for business cloud workflows | |
CN110851282B (zh) | 一种基于内存网格的分布式数据计算方法及系统 | |
US9830188B2 (en) | Methods and systems for calculating statistical quantities in a computing environment | |
CN111415261B (zh) | 银行系统的流控阈值动态更新的控制方法、系统和装置 | |
Zhou et al. | AHPA: adaptive horizontal pod autoscaling systems on alibaba cloud container service for kubernetes | |
CN110362387B (zh) | 分布式任务的处理方法、装置、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |