[发明专利]一种数据处理方法、设备和系统有效
申请号: | 201210584674.1 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103902614B | 公开(公告)日: | 2018-05-04 |
发明(设计)人: | 徐萌;何鸿凌;杜宇健;钱岭;孙少陵;金骏 | 申请(专利权)人: | 中国移动通信集团公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司11297 | 代理人: | 龚家骅 |
地址: | 100032 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 设备 系统 | ||
技术领域
本发明涉及通信技术领域,特别是涉及一种数据处理方法、设备和系统。
背景技术
分布式列存储数据库是一种适合快速查询的、分布式的优良解决方案,它在提供海量数据存储的同时,还可以有效地提高对数据的查询速度。
现有的分布式列存储技术方案中主要聚焦于如何实现数据查询,而没有关注数据分析的需求。而实际应用中,数据库的主要功能除了查询之外,大部分是分析型需求。例如,统计在某种条件下,某个列的总和;对于某几个列进行计算,如计算市话分钟与长话分钟的比例等。
针对上述问题,目前分布式系统中的解决方案可以采用分布式计算的方法来实现。例如,基于Hadoop的系统,采用Mapreduce作为计算框架,其Map接口为dbinputformat,该接口提供对数据行的读入。具体如下:
1)、inputformat会按照key划分为几个分片;
2)、每个Map读入一个分片;
3)、Map内部调用分布式数据库提供的读写接口,按照key,读取一行记录。
在Map内部实现分析的时候,读入的是一行一行的行记录,首先需要按照字段位置区分出具体要处理的字段,然后再进行处理;有些操作需要进入reduce阶段,例如求和。显然,这种按照行读取处理的方式,没有利用列存储数据的优势。
在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
由于分布式列存储,每个列族保存在一个文件中,所以每次读取一行记录的接口,需要按照key从多个文件读取响应的字段,然后合并为一条记录返回;同时,在Map阶段,由于需要针对某个列进行操作,还需要将行记录按照字段分解,才能进一步操作,造成了合并与拆分的两次性能损耗。
发明内容
本发明实施例提供一种数据处理方法、设备和系统,以降低基于分布式列存储数据库系统的数据处理的性能消耗,提高数据处理效率。
为了达到以上目的,本发明实施例提供了一种数据处理方法,应用于包括主服务器和分片服务器的分布式列存储数据库系统中,该方法包括:
分片服务器接收主服务器转发的数据查询请求,其中携带有用于指示请求读取的数据所在行的key字段和用于指示请求读取的数据所在列的列表字段;
所述分片服务器根据所述key字段和列表字段在自身存储的数据中查询对应的列数据,并将查询到的列数据以数组的形式返回给所述主服务器。
本发明实施例还提供了一种分布式列存储数据库系统,包括主服务器和分片服务器,
所述主服务器用于,接收客户端发起的数据查询请求,并将该数据查询请求转发给分片服务器;以及接收分片服务器返回的数组形式的数据;
所述分片服务器用于,接收主服务器转发的数据查询请求,其中携带有用于指示请求读取的数据所在行的key字段和用于指示请求读取的数据所在列的列表字段;根据所述key字段和列表字段在自身存储的数据中查询对应的列数据,并将查询到的列数据以数组的形式返回给所述主服务器。
本发明实施例还提供一种分片服务器,应用于包括主服务器的分布式列存储数据库系统中,所述分布服务器包括:一个数据片模块Hregion,至少一个列模块Hstore,以及至少一个列存储文件HstoreFile;其中:
所述Hregion用于,接收主服务转发的数据查询请求,其中携带有用于指示请求读取的数据所在行的key字段和用于指示请求读取的数据所在列的列表字段;根据所述列表字段确定对应的Hstore,并将该数据查询请求转发给该Hstore;接收Hstore返回的data文件,根据该data文件生成data数组,并将该data数组返回给主服务器;
所述Hstore用于,当接收到Hregion转发的数据查询请求时,根据所述key字段确定对应的HstoreFile,并将该数据查询请求转发给该HstoreFile;接收HstoreFile返回的data文件,并将该data文件返回给Hregion;
所述HstoreFile用于,当接收到Hstore转发的数据查询请求时,向Hstore返回整个data文件。
本发明上述实施例中,分片服务器接收主服务器转发的数据查询请求后,根据key字段和列表字段在自身存储的数据中查询对应的列数据,并将查询到的列数据以数组的形式返回给主服务器,降低了分布式列存储数据库系统中数据处理的性能消耗,提高了数据处理效率。
附图说明
图1为现有分布式列存储数据库系统结构示意图;
图2为现有分布式数据库读取数据的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团公司,未经中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210584674.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:图像处理装置以及图像处理方法
- 下一篇:一种识别信息同步的方法及电子设备