ImageVerifierCode 换一换
格式:PDF , 页数:7 ,大小:843.71KB ,
资源ID:1896317      下载积分:30 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zhuanlichaxun.net/d-1896317.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一种多线程数据上传方法.pdf)为本站会员(00****42)主动上传,专利查询网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知专利查询网(发送邮件至2870692013@qq.com或直接QQ联系客服),我们立即给予删除!

一种多线程数据上传方法.pdf

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410722793.8(22)申请日 2014.12.02G06F 17/30(2006.01)(71)申请人浪潮(北京)电子信息产业有限公司地址 100085 北京市海淀区上地信息路2号2-1号C栋1层(72)发明人金洪殿 辛国茂 刘伟 卢军佐(74)专利代理机构北京安信方达知识产权代理有限公司 11262代理人王丹 李丹(54) 发明名称一种多线程数据上传方法(57) 摘要提出一种多线程数据上传方法,所述方法配置需要上传的文件所在源路径信息、文件需要上传到HDFS系统的目的路径信息以及可以使用的线程数目信息;根据所述需要上传的文

2、件的数据量和配置的所述线程数目信息确定每个线程需要处理的数据范围;基于配置的所述信息和确定的所述数据范围执行多线程并行数据上传。所述方法将一个大的文本文件分为多个文件并行上传到HDFS系统中,从而提高写入速度,大大降低了文件上传的时间。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书3页 附图2页(10)申请公布号 CN 104408147 A(43)申请公布日 2015.03.11CN 104408147 A1/1页21.一种多线程数据上传方法,其特征在于,包括:S1:配置需要上传的文件所在源路径信息、文件需要上传到HDFS系统的目的路径信

3、息以及可以使用的线程数目信息;S2:根据所述需要上传的文件的数据量和配置的所述线程数目信息确定每个线程需要处理的数据范围;S3:基于步骤S1配置的所述信息和步骤S2确定的所述数据范围执行多线程并行数据上传。2.如权利要求1所述的方法,其特征在于:所述步骤S2中所述的数据范围包括每个线程需要上传的文件数据的开始位置偏移量和结束位置偏移量。3.如权利要求2所述的方法,其特征在于:所述多线程并行数据上传具体包括如下步骤:S31:所述线程首先判断数据上传开始位置偏移量是否为0,如果是,则执行步骤S32,否则执行步骤S33;S32:所述线程将所述开始位置偏移量处到所述结束位置偏移量处的数据上传到HDFS

4、系统,并执行步骤S34;S33:所述线程从所述开始位置偏移量处向后依次读取每一字节数据,直至读取到的数据为换行符,将所述换行符后到所述结束位置偏移量处的数据上传到HDFS系统;S34:从所述结束位置偏移量处向后依次读取每一字节数据并上传,直至所读取到的数据为换行符,流程结束。权 利 要 求 书CN 104408147 A1/3页3一种多线程数据上传方法技术领域0001 本发明涉及信息存储技术领域,具体涉及一种多线程数据上传方法。背景技术0002 随着人类社会全面进入信息时代,数据成为与水、石油同等重要的战略资源。通过挖掘海量数据,能够使政府和企业的运行决策建立在更加科学的依据基础上,提高决策效

5、率、危机应对能力和公共服务水平。大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法通过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策的资讯。0003 Hadoop Distributed File System(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。运行在HDFS之上的程序有很大量的数据集。典型的HDFS文件大小是TB级别,所以,HDFS被调整成支持大文件,应该

6、提供很高的聚合数据带宽,一个集群中支持数百个节点,一个集群中还应该支持千万级别的文件。0004 HDFS上的文件来源有很多途径,文件服务器(比如NFS)中的已有文件是一种非常重要的来源。例如,银行业务系统中从数据库中卸载的数据表,每天会生成一个增量文件到文件服务器,要对这些文件进行挖掘分析,首先要把其上传到HDFS中。有些分析可能需要的文件很大。传统的方法使用单机上传文件,一方面文件服务器的带宽没有充分利用,另一方面HDFS各数据节点没有被充分利用,所以这种方法用于上传海量数据往往耗时过久而无法现实应用。因此,需要提出一种新的方案,充分利用文件服务器的带宽,提高文件上传效率。发明内容0005

7、本技发明提供了一种多线程数据上传方法,充分考虑HDFS的特性,充分利用资源(带宽、磁盘IO等),极大提高了海量数据上传的效率并保证文件行原子性。所述方法包括:0006 S1:配置需要上传的文件所在源路径信息、文件需要上传到HDFS系统的目的路径信息以及可以使用的线程数目信息;0007 S2:根据所述需要上传的文件的数据量和配置的所述线程数目信息确定每个线程需要处理的数据范围;0008 S3:基于步骤S1配置的所述信息和步骤S2确定的所述数据范围执行多线程并行数据上传。0009 特别地:0010 所述步骤S2中所述的数据范围包括每个线程需要上传的文件数据的开始位置偏移量和结束位置偏移量。说 明

8、书CN 104408147 A2/3页40011 特别地:0012 所述多线程并行数据上传具体包括如下步骤:0013 S31:所述线程首先判断数据上传开始位置偏移量是否为0,如果是,则执行步骤S32,否则执行步骤S33;0014 S32:所述线程将所述开始位置偏移量处到所述结束位置偏移量处的数据上传到HDFS系统,并执行步骤S34;0015 S33:所述线程从所述开始位置偏移量处向后依次读取每一字节数据,直至读取到的数据为换行符,将所述换行符后到所述结束位置偏移量处的数据上传到HDFS系统;0016 S34:从所述结束位置偏移量处向后依次读取每一字节数据并上传,直至所读取到的数据为换行符,流程

9、结束。0017 本发明的有益效果是:将一个大的文本文件分为多个文件并行上传到HDFS系统中,从而提高写入速度,大大降低了文件上传的时间。附图说明0018 附图1为本发明提出的多线程数据上传方法流程图。0019 附图2为本发明提出的基于多线程的保障HDFS文件行原子性的数据上传方法的流程图。具体实施方式0020 下面将结合附图详细描述本发明提出的多线程数据上传方法,所述方法能够保障HDFS文件行原子性。0021 本发明主要考虑可以在保障数据行原子性的基础上并行的上传数据,充分利用网络I/O和系统资源。每个线程上传的数据量默认为:文件大小/线程总数。每个线程上传文件开始前,先判断读取的开始偏移量第

10、一个字符是否是换行符,如果是不是换行符,则按字节向后读取,直至读取到换行符,然后从换行符后开始上传文件内容,如果开始偏移量为0,则不需要判断是否是换行符,读取数据并开始上传。当线程上传文件的内容达到分配的内容时,需要继续判断结束偏移量后的下一个字符是否是换行符,如不是换行符,则需要继续上传,直至最后一个字符是换行符。这就实现了每个线程在上传文件内容的时候,开始时向后移动,结束时也向后移动,从而保证了文件行原子性。0022 参见附图1,本发明提出的多线程数据上传方法,所述方法包括:0023 S1:配置需要上传的文件所在源路径信息、文件需要上传到HDFS系统的目的路径信息以及可以使用的线程数目信息

11、;0024 S2:根据所述需要上传的文件的数据量和配置的所述线程数目信息确定每个线程需要处理的数据范围;0025 S3:基于步骤S1配置的信息和步骤S2确定的所述数据范围执行多线程并行数据上传。0026 其中所述的数据范围包括每个线程需要上传数据的开始位置偏移量和结束位置偏移量。0027 参见附图2,其示出了为了保障上传文件的行原子性,每个线程所执行的数据上传说 明 书CN 104408147 A3/3页5步骤流程,其中包括:0028 S31:线程首先判断其数据上传开始位置偏移量是否为0,如果是,则执行步骤S32,否则执行步骤S33;0029 本步骤中,如果数据上传开始位置偏移量为0,则表明该

12、线程上传数据的开始位置为整个文件的开始处。0030 S32:所述线程将上传开始位置偏移量处到上传结束位置偏移量处的数据上传到HDFS系统,并执行步骤S34;0031 S33:所述线程从开始位置偏移量处向后依次读取每一字节数据,直至读取到的数据为换行符,将所述换行符后到结束位置偏移量处的数据上传到HDFS系统;0032 此步骤中,线程从开始位置偏移量处向后依次读取一个字节的数据,每读取一次就判断该字节数据是否为换行符,如果不是则顺序读取下一个字节的数据再执行判断,直至读取到的一个字节的数据为换行符为止。0033 S34:从结束位置偏移量处向后依次读取每一字节数据并上传,直至所读取到的数据为换行符,流程结束。0034 此步骤中,线程从结束位置偏移量处向后依次读取一个字节的数据,每读取一次就判断该字节数据是否为换行符,如果不是则上传该数据,并顺序读取下一个字节的数据再执行判断和上传步骤,直至读取到的一个字节的数据为换行符为止。0035 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。说 明 书CN 104408147 A1/2页6图1说 明 书 附 图CN 104408147 A2/2页7图2说 明 书 附 图CN 104408147 A

copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1