一种数据运算方法及装置制造方法及图纸

技术编号:12200334 阅读:63 留言:0更新日期:2015-10-14 12:43
本发明专利技术实施例公开了一种数据运算方法,包括:确定各个服务器对应的数据量;根据目标服务器对应的数据量,判断该目标服务器是否存在数据偏斜;若是,则将目标服务器对应的数据复制到无数据偏斜的冗余服务器,并修改路由信息;当接收到针对目标数据键值的数据运算信息,并根据修改后的路由信息确定该目标数据键值所在服务器为目标服务器以及对应的冗余服务器时,为目标服务器以及对应的冗余服务器分配待处理数据,以使目标服务器以及对应的冗余服务器根据数据运算信息分别对不同的数据进行运算。相应地,本发明专利技术实施例还公开了一种数据运算装置。采用本发明专利技术实施例,实现了集群数据重分布时偏斜数据的自动复制,提高了集群数据的运算效率。

【技术实现步骤摘要】

本专利技术涉及计算机网络
,尤其涉及一种数据运算方法及装置
技术介绍
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展,数据库应用已经 普遍建立于计算机网络之上。其中,集中式数据库采用集中式处理,通信开销较大,处理效 率低,并且,应用程序集中在同一台计算机上运行,一旦该计算机出现故障,则整个系统将 会受到影响。因此,在集中式数据库的基础上提出了分布式数据库,相对于集中式数据库而 言,分布式数据库可W根据不同的分布需求将数据存储于不同服务器中,即不同计算机的 存储设备中。 在分布式数据库中,因为数据分布的不规律性W及路由算法的局限性,常常会造 成各个服务器上的数据量不平衡,即某些服务器上的数据量比其他服务器上的数据量多很 多,形成了数据偏斜现象,其中,数据量用于表示服务器存储的数据的多少。例如,分布式数 据库的数据进行重分布时,即将分布式数据库中的数据根据其他的分布方法分布到对应的 服务器中,路由规则是按照手机用户号码号段进行分布,但是,根据号码号段启用时间的不 同,各个号码号段内用户的数量也有差异,如存储新启用号码号段数据的服务器的数据量 比其他服务器上的数据量少很多。 因此,当各个服务器对自身存储的数据进行运算时,数据量较多的服务器明显比 数据量较少的服务器的负担大,降低了集群运算的效率。例如,分布式数据库存在A、B、C、 D四个服务器,在对集群数据进行重分布之后,假设A服务器存储了 10万数据,B服务器存 储了1万数据,C服务器存储了20万数据,D服务器存储了11万数据,当各个服务器针对自 身的数据进行运算时,C服务器的负担明显大于B服务器的负担。
技术实现思路
本专利技术实施例提供了一种数据运算方法及装置,可W实现集群数据重分布时偏斜 数据自动复制,提高集群数据运算效率。 本专利技术实施例第一方面提供了一种数据运算方法,所述数据运算方法应用于分布 式数据库,其中,所述分布式数据库包括多个服务器,所述方法包括: 根据所统计的预设分布键的各个数据键值对应的数据量W及路由信息中所述各 个数据键值与服务器的对应关系,确定各个服务器对应的数据量; 根据目标服务器对应的数据量,判断该目标服务器是否存在数据偏斜; 若所述目标服务器存在数据偏斜,则将所述目标服务器对应的数据复制到无数据 偏斜的兀余服务器,并修改所述路由信息,使所述目标服务器对应的数据键值与所述目标 服务器及兀余服务器建立对应关系,其中,所述目标服务器对应至少一个数据键值; 当接收到针对目标数据键值的数据运算信息,并根据修改后的路由信息确定该目 标数据键值所在服务器为目标服务器W及对应的兀余服务器时,为所述目标服务器W及对 应的兀余服务器分配待处理数据,w使所述目标服务器w及对应的兀余服务器根据所述数 据运算信息分别对不同的数据进行运算。 在第一种可能的实现方式中,所述根据目标服务器对应的数据量,判断该目标服 务器是否存在数据偏斜包括: 将目标服务器对应的数据量与其他服务器对应的数据量进行比较; 若目标服务器对应的数据量与任意一个服务器的数据量的差值达到预设阔值,贝U 判断所述目标服务器存在数据偏斜。 结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式 中,若判断所述目标服务器存在数据偏斜,还包括: 在所述各个服务器中获取当前数据量最小的服务器作为所述目标服务器对应的 兀余服务器。 结合第一方面或第一方面的第一种或第二种可能的实现方式,在第H种可能的实 现方式中,所述根据所统计的预设分布键的各个数据键值对应的数据量W及路由信息中所 述各个数据键值与服务器的对应关系之前,还包括: 设置所述路由信息中各个数据键值与服务器的对应关系。 结合第一方面的第H种可能的实现方式,在第四种可能的实现方式中,所述设置 所述路由信息中各个数据键值与服务器的对应关系包括: 根据预设路由算法对所述各个数据键值进行运算,从而获得所述各个数据键值对 应的运算值; 对所述各个运算值取模,并将取模结果与服务器的编码信息进行匹配,从而确定 所述各个数据键值与服务器的对应关系。 结合第一方面或第一方面的第一种至第四种中任一种可能的实现方式,在第五种 可能的实现方式中,所述修改所述路由信息,使所述目标服务器对应的数据键值与所述目 标服务器及兀余服务器建立对应关系之后,还包括: 接收外部系统针对所述目标数据键值加载的数据; 根据修改后的路由信息,确定所述目标数据键值所在服务器为目标服务器W及对 应的兀余服务器; 向所述目标服务器W及对应的兀余服务器加载该数据。相应地,本专利技术实施例第二方面还提供了一种数据运算装置,包括: 数据量确定模块,用于根据所统计的预设分布键的各个数据键值对应的数据量W 及路由信息中所述各个数据键值与服务器的对应关系,确定各个服务器对应的数据量; 数据偏斜判断模块,用于根据数据量确定模块确定的目标服务器对应的数据量, 判断该目标服务器是否存在数据偏斜; 数据复制模块,用于若所述数据偏斜判断模块判断所述目标服务器存在数据偏 斜,则将所述目标服务器对应的数据复制到无数据偏斜的兀余服务器; 路由管理模块,用于修改所述路由信息,使所述目标服务器对应的数据键值与所 述目标服务器及兀余服务器建立对应关系,其中,所述目标服务器对应至少一个数据键 值; 第一接收模块,用于接收针对目标数据键值的数据运算信息; 第一服务器确定模块,用于当所述第一接收模块接收到针对目标数据键值的数据 运算信息时,根据修改后的路由信息确定所述目标数据键值所在服务器为目标服务器W及 对应的兀余服务器; 数据分配模块,用于为所述目标服务器W及对应的兀余服务器分配待处理数据, W使所述目标服务器W及对应的兀余服务器根据所述数据运算信息分别对不同的数据进 行运算。在第一种可能的实现方式中,所述数据偏斜判断模块包括: 比较单元,用于将目标服务器对应的数据量与其他服务器对应的数据量进行比 较; 判断单元,用于若所述比较单元的比较结果为目标服务器对应的数据量与任意一 个服务器的数据量的差值达到预设阔值,则判断所述目标服务器存在数据偏斜。 结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式 中,若所述数据偏斜判断模块判断所述目标服务器存在数据偏斜,所述装置还包括: 兀余服务器确定模块,用于在所述各个服务器中获取当前数据量最小的服务器作 为所述目标服务器对应的兀余服务器。 结合第二方面或第二方面的第一种或第二种可能的实现方式,在第H种可能的实 现方式中,所述装置还包括: 设置模块,用于设置所述路由信息中各个数据键值与服务器的对应关系。结合第 二方面的第H种可能的实现方式,在第四种可能的实现方式中,所述设置模块包括: 运算值获取单元,用于根据预设路由算法对所述各个数据键值进行运算,从而获 得所述各个数据键值对应的运算值; 取模单元,用于对所述运算值获取单元获取的运算值取模; 匹配单元,用于将所述取模单元的取模结果与服务器的编码信息进行匹配,从而 确定所述各个数据键值与服务器的对应关系。 结合第二方面或第二方面的第一种至第四种中任一种可能的实现方式,在第五种 可能的实现方式中,所述装置还包括: 第二接收模块,用于接收外部系统针对所述目标数据键值加载的数据; 第本文档来自技高网
...

【技术保护点】
一种数据运算方法,其特征在于,所述数据运算方法应用于分布式数据库,其中,所述分布式数据库包括多个服务器,所述方法包括:根据所统计的预设分布键的各个数据键值对应的数据量以及路由信息中所述各个数据键值与服务器的对应关系,确定各个服务器对应的数据量;根据目标服务器对应的数据量,判断该目标服务器是否存在数据偏斜;若所述目标服务器存在数据偏斜,则将所述目标服务器对应的数据复制到无数据偏斜的冗余服务器,并修改所述路由信息,使所述目标服务器对应的数据键值与所述目标服务器及冗余服务器建立对应关系,其中,所述目标服务器对应至少一个数据键值;当接收到针对目标数据键值的数据运算信息,并根据修改后的路由信息确定该目标数据键值所在服务器为目标服务器以及对应的冗余服务器时,为所述目标服务器以及对应的冗余服务器分配待处理数据,以使所述目标服务器以及对应的冗余服务器根据所述数据运算信息分别对不同的数据进行运算。

【技术特征摘要】

【专利技术属性】
技术研发人员:业韬陈系华张亮
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1