[发明专利]一种数据并行批量导入只读查询系统的方法及系统有效
申请号: | 201310201372.6 | 申请日: | 2013-05-27 |
公开(公告)号: | CN103294799A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 申林;薛继龙;杨智;代亚非 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/44 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 并行 批量 导入 只读 查询 系统 方法 | ||
技术领域
本项发明涉及一种数据导入方法,具体涉及一种高效将线下数据批量导入线上只读查询系统的方法,属于云计算领域。
背景技术
Internet上的数据在爆发式的增长,而这些数据的背后可能存在着不容易发现的关联,需要数据挖掘来找出。比如,社交网络和电子商务网站中的海量数据背后就隐藏着巨大的信息。在社交网络里,“你可能认识的好友”就是一个典型的应用场景,应用程序可以根据两个人之间的直接共同好友数以及二跳好友数,来计算出两个人的亲密程度,并推荐好友;在电子商务网站里,应用程序可以根据顾客之前购买物品的种类、样式、价格等因素,计算出顾客的购物模式和喜好,并在下一次购物时提供相关的物品推荐。
Map/Reduce是近年来流行的分布式并行计算框架,利用映射(Map)和化简(Reduce)两个过程,先接受一组数据并将其转换成一个键/值对列表,分散到不同节点上进行计算,再根据主键对数据结果进行归并,产生最终结果。Hadoop是Map/Reduce计算框架的一个开源实现。
提供在线服务的网站一般都有搜索系统或者分类查询系统,因为查询查询系统的数据读取比例远高于数据写入比例(一般互联网应用的读写比例大于80:20),这些系统设计时会牺牲写性能而保证读性能,这样的系统一般称之为只读查询系统。只读查询系统并非系统没有数据写入,而是数据写入的频率非常低,而且每次写入都是批量导入,没有持续数据更新。这样设计的目的一方面是提高查询系统的数据读取效率,另一方面是减少数据写入给系统带来的出错概率和性能的降低。
Apache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008将Cassandra开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。本发明采用Cassandra作为只读查询系统,验证方法及系统的有效。
无论进行何种数据分析,都要需要对特征数据(feature data)进行处理。这个处理过程一般分为三个阶段:特征数据收集、数据处理及将计算结果导回线上系统。为了保证线上系统有足够的计算资源,现有的模式是在线下分析系统上完成特征数据收集和数据处理这两个阶段,之后将计算结果导回线上查询系统,如图1a所示。这种模式简单可靠,但数据导回过程中存在两个问题:1.一般数据导回都是通过线上系统的读写接口串行拷贝数据,在某一个时间点,线上系统只有有限的节点在进行存储操作,效率较低;2.在串行拷贝结束后,线上系统会对新数据进行索引的创建和副本的创建,这个过程消耗大量的CPU和内存资源,影响线上系统的服务吞吐。
发明内容
本发明的目的在于提供一种从线下系统将数据导回线上系统过程中,减小线上压力,保证线上系统提供持续高可靠服务的方法。
本发明的技术方案为:一种数据并行批量导入只读查询系统的方法,其步骤包括:
1)接收原始特征数据请求,并转发到Hadoop进行处理;
2)根据节点映射规则在所述Haddoop上建立多个Map/Reduce任务并在每个reducer任务节点上生成特征数据的数据块;
3)将所述数据块放置到Hadoop的对应节点上,并通过只读查询系统并行读取Hadoop上的对应节点上的数据块。
更进一步,所述数据块进行并行读取的方法如下:
1)根据Hadoop上的驱动程序得到生成数据块的数目以及对应存放的Hadoop节点,并转发到只读查询系统的驱动程序;
2)根据所述数据块的存放位置读取对应数据,并按照数据块头部的位置信息,存储到只读查询系统自身的节点下。
更进一步,在每个reducer任务节点上生成数据块文件储存格式为:数据块索引文件和数据文件。
更进一步,所述步骤3)中并行读取时,只读查询系统节点并行从Hadoop节点上读取数据块,并形成自己的数据副本,放置在只读查询系统节点的存储目录store中。
更进一步,所述步骤3)还包括对数据块进行数据替换,当所有数据副本已经读取完毕,则触发所述只读查询系统驱动程序对新老版本数据块进行替换,形成新的数据版本时等待所有副本都读取完毕,再进行数据块替换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310201372.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用户组匹配方法及装置
- 下一篇:一种可扩展标记语言模式匹配方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置