一种分布式数据处理方法及系统技术方案

技术编号:15189698 阅读:206 留言:0更新日期:2017-04-19 19:36
本发明专利技术公开了一种分布式数据处理方法及系统,包括服务代理单元将请求处理的任务分解成若干个子任务,其中每个子任务只涉及一个维度的计算任务;数据节点在相应的网卡对接收到的子任务进行数据处理。通过本发明专利技术这种将数据节点按照不同的维度进行划分以对不同维度的数据分别进行处理的方式,降低了各数据节点之间的网络IO,提高了跨节点的数据处理的效率,从而避免了短板效应。

【技术实现步骤摘要】

本专利技术涉及分布式技术,尤指一种分布式数据处理方法及系统。
技术介绍
在分布式数据库系统中,需要将数据打散存放在多个数据节点上,多个数据节点均具备数据计算和加载的能力,通过分布式算法,可以加速特定场景下的数据库查询或计算速度。但是,对于跨节点的数据分析等场景,因为在跨节点的查询或者计算中,必须每一个数据节点的操作都完成,才能合并查询或者计算的结果,这样会降低数据处理的效率,从而形成一定的瓶颈。比如:以查询上海的一个月以内套餐到期的用户为例,由于数据无规则的存放在9个数据节点上,需要先在每个数据节点上查询上海的一个月以内套餐到期的用户,然后再将从9个数据节点上查询出的用户进行合并,才能形成一张上海的一个月以内套餐到期的用户总表。只要存在一个数据节点的结果计算不出来,都无法形成该用户总表。分布式数据库系统大量的网络输入输出(IO)都来自跨节点的数据处理需求,在这种跨节点的数据处理中,任何一个节点的延迟,都会极大降低分布式数据库系统的数据处理效率,从而形成短板效应。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种分布式数据处理方法及系统,能够提高跨节点的数据处理的效率,从而避免短板效应。为了达到本专利技术目的,本专利技术提供了一种分布式数据处理系统,至少包括:包括一个或一个以上应用的应用单元、服务代理单元,以及包括一个或一个以上数据节点的数据节点单元;其中,应用单元,用于发起数据统计、分析、查询或者处理等数据处理请求;服务代理单元,用于接收到数据处理请求,将请求处理的任务分解成若干个子任务,其中每个子任务只涉及一个维度的计算任务,将分解后的子任务输出给指定的数据节点;数据节点,根据不同的维度设置有相应的网卡,根据接收到的计算子任务进行相应数据处理。所述服务代理单元具体用于:对于n个维度M1…Mn,将所述请求处理的任务被分解为各个维度的子任务后,对应至n维的第[F(M1),...,F(Mi),G(Mi+1),…G(Mn)]的各数据分片上;其中,M(n+1)为新插入的一列的随机数取值,一个9位的随机数;F(Mi)是Mi的表达式,当Mi取特定值时,F(Mi)的值唯一;G(Mj)是Mj的表达式,当Mj属于某个特定区间时,G(Mj)的值唯一;并将分解后的子任务输出给指定的数据节点单元的对应维度的网卡。所述服务代理单元具体用于:对于n个维度M1…Mn,将所述请求处理的任务被分解为各个维度的子任务后,对应至(n+1)维的第[F(M1),...,F(Mi),G(Mi+1),…G(Mn),H(M(n+1))]的各数据分片上;其中,M(n+1)为新插入的一列的随机数取值,一个9位的随机数;F(Mi)是Mi的表达式,当Mi取特定值时,F(Mi)的值唯一;G(Mj)是Mj的表达式,当Mj属于某个特定区间时,G(Mj)的值唯一;H(M(n+1))是M(n+1)的表达式,H(M(n+1))等于M(n+1)对N取余数;并将分解后的子任务输出给指定的数据节点单元的对应维度的网卡。所述维度为两个或两个以上。所述数据节点利用虚拟技术实现。本专利技术还提供了一种分布式数据处理方法,包括:服务代理单元将请求处理的任务分解成若干个子任务,其中每个子任务只涉及一个维度的计算任务;数据节点在相应的网卡对接收到的子任务进行数据处理。所述将请求处理的任务分解成若干个子任务包括:对于n个维度M1…Mn,将所述请求处理的任务被分解为各个维度的子任务后,对应至n维的第[F(M1),...,F(Mi),G(Mi+1),…G(Mn)]的各数据分片上;其中,M(n+1)为新插入的一列的随机数取值,一个9位的随机数;F(Mi)是Mi的表达式,当Mi取特定值时,F(Mi)的值唯一;G(Mj)是Mj的表达式,当Mj属于某个特定区间时,G(Mj)的值唯一。所述将请求处理的任务分解成若干个子任务包括:对于n个维度M1…Mn,请求处理的任务被分解为各个维度的子任务后,对应至(n+1)维的第[F(M1),...,F(Mi),G(Mi+1),…G(Mn),H(M(n+1))]的各数据分片上;其中,M(n+1)为新插入的一列的随机数取值,一个9位的随机数;F(Mi)是Mi的表达式,当Mi取特定值时,F(Mi)的值唯一;G(Mj)是Mj的表达式,当Mj属于某个特定区间时,G(Mj)的值唯一;H(M(n+1))是M(n+1)的表达式,H(M(n+1))等于M(n+1)对N取余数。所述维度为两个或两个以上。所述维度为地域或客户类型。与现有技术相比,本专利技术包括服务代理单元将请求处理的任务分解成若干个子任务,其中每个子任务只涉及一个维度的计算任务;数据节点在相应的网卡对接收到的子任务进行数据处理。通过本专利技术这种将数据节点按照不同的维度进行划分以对不同维度的数据分别进行处理的方式,降低了各数据节点之间的网络IO,提高了跨节点的数据处理的效率,从而避免了短板效应。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术分布式数据处理系统的组成结构示意图;图2为本专利技术分布式数据处理方法的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。专利技术人发现,电信业务数据分布和应用有其自身的特点,首先电信企业的管理模式都是基于地域划分的分公司负责制,用户发展情况、用户离网情况、网络质量、服务质量等的统计口径都是以地域为单位的;其次,总公司对各地域分公司的指导,是按照客户类别进行区分的,比如分为公众客户、商务客户、家庭客户、集团大客户等客户类别。所以,电信业务数据的统计分析的口径,在绝大多数情况下,都是按照地域的或者客户类别这两个维度来区分进行统计分析的。因此,专利技术人提出在分布式数据库系统设计之初,就从数据的应用场景入手,考虑数据按照不同的维度分别进行处理,以减少跨节点的网络IO之间的操作,同时,将应用发起的复杂的数据处理任务分解成若干只涉及一个维度的子计算任务,以此来降低各数据节点之间的网络IO,从而达到提高跨节点的数据处理的效率,避免短板效应等目的。图1为本专利技术分布式数据处理系统的组成结构示意图,如图1所示,至少包括:包括一个或一个以上应用的应用单元、服务代理单元,以及包括一个或一个以上数据节点的数据节点单元;其中,应用单元,用于发起数据处理请求,比如请求对数据进行统计、分析、查询或者处理等。具体实现属于本领域技术人员的公知技术,这里不再赘述。服务代理单元,用于接收到数据处理请求,将请求处理的任务分解成若干个子任务,其中每个子任务只涉及一个维度的计算任务,将分解后的子任务输出给指定本文档来自技高网...

【技术保护点】
一种分布式数据处理系统,其特征在于,至少包括:包括一个或一个以上应用的应用单元、服务代理单元,以及包括一个或一个以上数据节点的数据节点单元;其中,应用单元,用于发起数据统计、分析、查询或者处理等数据处理请求;服务代理单元,用于接收到数据处理请求,将请求处理的任务分解成若干个子任务,其中每个子任务只涉及一个维度的计算任务,将分解后的子任务输出给指定的数据节点;数据节点,根据不同的维度设置有相应的网卡,根据接收到的计算子任务进行相应数据处理。

【技术特征摘要】
1.一种分布式数据处理系统,其特征在于,至少包括:包括一个或一个以上应用的应用单元、服务代理单元,以及包括一个或一个以上数据节点的数据节点单元;其中,应用单元,用于发起数据统计、分析、查询或者处理等数据处理请求;服务代理单元,用于接收到数据处理请求,将请求处理的任务分解成若干个子任务,其中每个子任务只涉及一个维度的计算任务,将分解后的子任务输出给指定的数据节点;数据节点,根据不同的维度设置有相应的网卡,根据接收到的计算子任务进行相应数据处理。2.根据权利要求1所述的分布式数据处理系统,其特征在于,所述服务代理单元具体用于:对于n个维度M1…Mn,将所述请求处理的任务被分解为各个维度的子任务后,对应至n维的第[F(M1),...,F(Mi),G(Mi+1),…G(Mn)]的各数据分片上;其中,M(n+1)为新插入的一列的随机数取值,一个9位的随机数;F(Mi)是Mi的表达式,当Mi取特定值时,F(Mi)的值唯一;G(Mj)是Mj的表达式,当Mj属于某个特定区间时,G(Mj)的值唯一;并将分解后的子任务输出给指定的数据节点单元的对应维度的网卡。3.根据将权利要求1所述的分布式数据处理系统,其特征在于,所述服务代理单元具体用于:对于n个维度M1…Mn,将所述请求处理的任务被分解为各个维度的子任务后,对应至(n+1)维的第[F(M1),...,F(Mi),G(Mi+1),…G(Mn),H(M(n+1))]的各数据分片上;其中,M(n+1)为新插入的一列的随机数取值,一个9位的随机数;F(Mi)是Mi的表达式,当Mi取特定值时,F(Mi)的值唯一;G(Mj)是Mj的表达式,当Mj属于某个特定区间时,G(Mj)的值唯一;H(M(n+1))是M(n+1)的表达式,H(M(n+1))等于M(n+1)对N取余数;并将分解后的子任务输出给指定的数据节点单元的对应维度的网卡。4.根据权利...

【专利技术属性】
技术研发人员:郭志斌张云勇雷磊陈晓明
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:北京;11

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

1