[发明专利]一种数据多副本混合存储方法及系统有效
申请号: | 201310368095.8 | 申请日: | 2013-08-21 |
公开(公告)号: | CN103440301A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 王颖;狄静舒;宋怀明;苗艳超;刘新春;邵宗有 | 申请(专利权)人: | 曙光信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/14;H04L29/08 |
代理公司: | 北京新知远方知识产权代理事务所(普通合伙) 11397 | 代理人: | 张艳 |
地址: | 300384 天津市西青区华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 副本 混合 存储 方法 系统 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种数据多副本混合存储方法、数据多副本混合存储系统及数据处理方法。
背景技术
在大数据处理领域,数据通常是分片存储的,数据分区的目的不仅仅是将数据分布式存储。为了进一步保证可靠性,还会采用副本技术。目前,现有的大数据分区存储技术,针对一份数据的多个副本都是采用相同的分区方式。减少加载阶段的计算量的同时,如果数据的某个副本出错或者丢失时,可直接拷贝其他存在的正确的副本即可恢复;数据有修改时,也可以直接对相应的多个副本同时修改即可。在某些操作中,合理的数据分区可以减少数据处理过程中节点之间的数据传输开销,进而很大程度上提高数据分布式处理的效率。尤其是大表的连接操作,分区是很重要的技术方案。将连接操作按照相同的方式进行分区,对应的分区内部进行连接操作,可以对多个分区同时进行连接操作,这些连接操作可以在多个节点上并行执行,同时不必有数据迁移和重分布的操作。这也是如今在内存受限和网络带宽成为瓶颈的情况下,大表连接操作高效可行的方案。数据存储和分区需要数据迁移,尤其是多节点之间的分布式存储和分区需要消耗较高的网络带宽,查询之前临时进行分区显然会导致查询效率大大降低,加载的时候采用预分区存储,可以一劳永逸地提高查询效率。
例如:分布式文件系统HDFS,直接根据文件大小分块存储,没有考虑特定分区方式。即使构建于之上的数据仓库Hive和数据库HBase提供了各自的分区功能,分布式文件系统HDFS的多个副本仍然是采用了相同的分区方式。还有,现有的NoSQL(也即Not only SQL)数据库HBase仅采用了范围划分,也即Range分区这一种分区方式。而非关系数据库Cassandra采用一致性Hash在多节点之间分布数据。
从以上说明可以看出,目前在大数据处理系统中,在数据加载时只会采用一种分区方式。如果连接的列和连接条件与分区不一致,仍然会导致数据大范围的重分布操作,还是会导致很高的网络带宽开销。也就是,如果分区是根据一列进行的分区,而连接操作是根据另一列进行的,这种情况就是分区方式与连接操作的条件不一致,就需要大范围的数据重分布操作。除此之外,很多业务可能需要针对同一批数据按照不同的分区进行操作,例如,有的操作是按第一列进行分组操作(data1 join data2 on col1或者group by col1),有的操作可能是按第二列进行分组操作(data1 join data2 on col2或者group by col2)。因此,单一的分区方式在分区与连接操作不一致或同一批数据需要按不同分区进行操作等场景就可能导致大范围的数据重分布,在一定程度上限制了数据处理的效率。
发明内容
针对现有技术中存在的上述问题,本发明提出了一种数据多副本混合存储方法及系统,增加了数据分区的多样性,使得更多场景的按照分组进行的一类数据处理可以按照分区并行执行,以增加少量加载阶段的计算量为代价,提高了更多场景的数据处理的计算效率。
为实现上述目的,本发明提供了一种数据多副本混合存储方法,主要技术方案如下:
在数据加载阶段,将原始数据进行多次分区,每次分区采用不同的分区方式;
将每次分区所得到的分区数据存储到多个服务器上。
所述分区方式为范围Range分区、散列Hash分区、列表分区或混合分区。
将每次分区所得到的分区数据按存储负载均衡原则、访问负载均衡原则或数据可靠性原则存储到各服务器上。
本发明还提供了一种数据多副本混合存储系统,包括:
分区模块,用于在数据加载阶段,将原始数据进行多次分区,其中,每次分区采用不同的分区方式;
服务器,用于存储每次分区所得到的分区数据。
所述分区模块具体用于按照范围Range分区、散列分区Hash分区、列表分区或混合分区方式将原始数据进行多次分区。
所述服务器具体用于根据存储负载均衡原则、访问负载均衡原则或数据可靠性原则存储每次分区所得到的分区数据。
本发明还提供了一种数据处理方法,包括以下步骤:
在数据加载阶段,将多组数据进行多次分区,每次分区采用不同的分区方式,每次分区时各组数据的分区方式相同;
将各次分区所得到的的分区数据存储到多个服务器中;
其中,所述多组数据在同一次分区中得到的具有相同属性的分区数据存储于同一服务器中。
所述具有相同属性的分区数据为:各组数据每次分区后,不同组数据之间属性值相同的分区数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业股份有限公司,未经曙光信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310368095.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置