[发明专利]一种数据处理方法及系统有效
申请号: | 201210571950.0 | 申请日: | 2012-12-25 |
公开(公告)号: | CN103902544B | 公开(公告)日: | 2017-11-21 |
发明(设计)人: | 钱岭;郭磊涛;张宝海 | 申请(专利权)人: | 中国移动通信集团公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司11297 | 代理人: | 龚家骅 |
地址: | 100032 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 系统 | ||
技术领域
本发明涉及通信领域,尤其涉及一种数据处理方法及系统。
背景技术
为了优化数据查询和扫描速度,在磁盘数据库中对数据表进行分区是一种常见方法,目的是减少处理查询时扫描的数据规模。这是因为在多数查询的总体时间中,磁盘数据的扫描占据了至少50%以上的时间。通过分区技术可以将数据表分开保存到不同的实体(逻辑实体或者物理服务器)中,通过在处理查询时仅扫描相关的分区来减少查询时间。
目前有多种数据分区技术,按照类型可以分为:
(1)范围分区(Range):按照选定列的数值范围分区,如大于20000的数据保存在分区1中,小等于20000的数据保存到分区2中。其中这个选定的列被称为分区键(Partition Key,PK)。
(2)列表分区(List):按照分区键的离散取值来确定分区,如“中国”、“日本”、“韩国”均可以放置到“东亚”这个分区中。
(3)哈希分区(Hash):哈希分区根据hash函数确定应该将数据保存到哪个分区中。哈希函数是事先确定的计算函数,可以将输入的数据,按照实现确定的规则放置到适当的分区中,一种简单的哈希函数是取余数。
列式数据库,如SybaseIQ、Vertica、InfoBright等,在存储方式方面将数据按照列存储为一个实体(如文件),然后按照范围来分区存储。这种方式减少了数据扫描时处理的数据量,但是当需要扫描很多列时,会遇到性能下降的情况,主要是因为将列连接成行、以及扫描文件数量较多造成的。
NoSQL数据库也采用了相似的分区技术,如HBase采用了动态范围分区技术,而Cassandra采用了哈希分区技术。在此类系统中,为了减少数据扫描的数量,还将相关列当做列族(Column Family)存储,以便进一步减少数据扫描数量。
图1示出了针对同一数据表中的数据,采用上述几种分区方式时的差异。图1(a)示出了不分区的情况;图1(b)示出了按照范围分区的情况,其中,c0列为分区键PK,根据PK的取值,数据表被划分为3个范围分区;图1(c)示出了采用列式范围分区的情况,其中,在进行划分列的同时,以c0列作为分区键PK,进一步对每列进行区域划分;图1(d)示出了采用列族范围分区的情况,与图1(c)的区别是,将多个列合并为一列族。
在NMS(Network Management System,网络管理系统)信令监测、BI(Business Intelligence,商务智能)等大数据应用中,针对时间序列数据,有一种常见的复杂查询业务,具有如下特征:(1)查询条件组合灵活,即使针对一个数据表,也会遇到很多种条件维度的查询;(2)查询结果组合灵活,且包含很多列。
发明人在实现本发明的过程中,发现针对大数据应用,现有的数据处理技术至少存在以下缺陷:
(1)全表扫描方式:扫描数据量大时,性能存在严重问题;
(2)按照时间维度分区:可以减少扫描数据规模,但是由于同一时间发生对应了大量的网络消息,依然需要扫描大量数据,性能同样受到影响;
(3)列式和列族方式:在输出列数量较多,如超过30,则性能下降较多。
由此可见,目前亟需一种性能高的数据处理方案。
发明内容
本发明实施例提供了一种数据处理方法及系统,用以提高数据处理性能。
本发明实施例提供的数据处理方法,该方法包括:
根据至少2个不同级别的分区键,创建元数据模型,元数据模型中定义的每个数据分区至少包含除分区键所在的数据列以外的所有数据列;
接收到原始数据后,根据所述元数据模型对所述原始数据进行分区处理。
本发明实施例提供的数据处理系统,包括:
控制模块,用于根据至少2个不同级别的分区键,创建元数据模型,并将创建的元数据模型存储到元数据管理模块;所述元数据模型中定义的每个数据分区至少包含除分区键所在的数据列以外的所有数据列;
元数据管理模块,用于存储和维护元数据模型;
数据处理模块,用于在接收到原始数据后,根据所述元数据管理模块中的元数据模型,对所述原始数据进行分区处理。
本发明的上述实施例中,由于在进行数据分区时,根据多个分区键(不少于2个),按照各分区键的级别对所述原始数据进行分区处理,从而得到多维度的数据分区,并且每个数据分区至少包含除分区键所在的数据列以外的所有数据列,从而在数据查询时获得更好的查询效率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团公司,未经中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210571950.0/2.html,转载请声明来源钻瓜专利网。