离线数据上传方法及装置制造方法及图纸

技术编号:13777844 阅读:53 留言:0更新日期:2016-10-01 03:53
本发明专利技术实施例提供一种离线数据上传方法及装置。根据预设的数据源目录,启动定时服务以预设的时间间隔取出待处理数据并将所述待处理数据进行数据切割;将所述数据切割得到的分块数据转移至预设的临时工作目录中;启动预设数据量的线程从所述临时工作目录中读取所述分块数据并将所述分块数据上传至分布式文件系统。实现了快速高效的离线数据上传,提升了分布式处理的效率。

【技术实现步骤摘要】

本专利技术实施例涉及数据处理
,尤其涉及一种离线数据上传方法及装置
技术介绍
在大数据的作业中,通常会有大量离线的文件或数据需要处理,例如大量离线日志。对于单个服务器而言,它是没有能力处理这些数据的,而分布式系统中恰好具有足够的资源来处理这些数据。在分布式系统对这些数据进行处理之前,首先需要将这些大量数据上传至分布式系统进行处理。数据的产生是不间断的,每一天每一个小时都会产生大量的数据,且这些数据在存储介质中通常是以压缩形式存在的,通常,将其上传至分布式处理系统时,其数据量要翻倍,约10倍左右。若是一次性向一个服务器上传过多的数据,一方面会导致数据上传的过程十分缓慢,从而拖慢整个分布式系统的处理速度;另一方面,接收数据的服务器也可能会因为数据加载过多而导致内存溢出,从而出现故障无法进行数据处理。因此,一种合理的离线数据上传方法亟待提出。
技术实现思路
本专利技术实施例提供一种离线数据上传方法及装置,用以解决现有技术中离线数据上传至分布式系统因数据量大导致的上传缓慢或服务器内存溢出的缺陷,实现大量离线数据的合理高效上传。本专利技术实施例提供一种离线数据上传方法,包括:根据预设的数据源目录,启动定时服务以预设的时间间隔取出待处理数据并将所述待处理数据进行数据切割;将所述数据切割得到的分块数据转移至预设的临时工作目录中;启动预设数据量的线程从所述临时工作目录中读取所述分块数据并将所述分块数据上传至分布式文件系统。本专利技术实施例提供一种离线数据上传装置,包括:切割模块,用于根据预设的数据源目录,启动定时服务以预设的时间间隔取出待处理数据并将所述待处理数据进行数据切割;迁移模块,用于将所述数据切割得到的分块数据转移至预设的临时工作目录中;上传模块,用于启动预设数据量的线程从所述临时工作目录中读取所述分块数据并将所述分块数据上传至分布式文件系统。本专利技术实施例提供的离线数据上传方法及装置,通过启动定时服务对待处理的数据进行定时切割并启动若干线程将数据并发上传至分布式文件系统,改变了现有技术中进行离线数据上传时,用上传速度缓慢以及同一服务器数据加载过度导致的内存溢出,实现了快速高效的离线数据上传,提升了分布式处理的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例一的方法流程图;图2为本本申请实施例二的方法流程图;图3为本本申请实施例三的方法流程图;图4为本申请实施例四的装置实施例结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是本申请实施例一的方法流程图,结合图1,本申请实施例一种离线数据上传方法,可由如下的步骤实现:步骤S110:根据预设的数据源目录,启动定时服务以预设的时间间隔取出待处理数据并将所述待处理数据进行数据切割;步骤S120:将所述数据切割得到的分块数据转移至预设的临时工作目录中;步骤S130:启动预设数据量的线程从所述临时工作目录中读取所述分块数据并将所述分块数据上传至分布式文件系统。具体的,在步骤S110中,所述数据源目录包含存储介质中数据文件的名称、说明信息以及相应的数据内容。当数据消费者,即需要使用数据的用户或者需要使用数据的应用/服务,需要从存储介质中获取目标数据进行数据处理时,首先获取数据消费者需要的目标数据文件的名称或者检索参数,查询所述预设的数据源目录,获取相应的目标数据文件。本申请实施例的应用场景中,数据消费者所消费的目标数据通常都是大量的,大量的数据上传至分布式文件系统很容易造成系统故障,例如上传缓慢或者服务器内存溢出等等,从而影响分布式数据处理的效率,也对数据消费者造成了不良体验。因此,
本步骤中,首先启动一个定时服务,以预设的时间及间隔取出待处理的数据进行上传。数据上传是需要一定时间的,若是连续不断地取数据并进行上传很容易造成某一服务器加载的数据量过大从而导致服务器内存溢出,出现故障。因此,本申请实施例的定时服务,采用定时脚本的方式,每间隔一段预设的时间间隔对数据进行一次切割。在所述预设的时间间隔中,被切割的数据可以上传至分布式文件系统进行处理,当判断所述被切割的数据可能处理完成之后,则启动下一次切割,将新切割得到的数据再上传至分布式文件系统,这样就有足够的网络带宽来推送数据并且分布式文件系统也有足够的资源来处理这些新的数据。因此,综上描述,所述预设的时间间隔是一个很关键的取值,也是一个与切割数据量有关的经验值。在取值的时候,要保证在这段时间之内已经上传至分布式文件系统的数据大部分已经被处理,从而分布式文件系统能够腾出资源和空间进行下一次数据的处理。所述预设的时间间隔过大,会导致上一次上传的数据已经处理结束而新的数据还未上传至分布式文件系统,这样会拖慢系统的处理效率;若是所述预设的时间间隔过小,则容易导致上一次上传的数据还未处理完,新的数据就已经推送至分布式系统,若是数据量大,则很容易就导致服务器内存溢出。具体的,将所述待处理数据进行数据切割,具体切割数据的数量阈值大小可以是经验值,也可以通过以下的步骤进行更加精确合理的计算:首先,对所述数据源目录进行分析,获取下一时刻进行所述数据切割的所述待处理数据的数据量大小;其次,根据所述待处理数据的数据量大小计算所述数据切割的数量阈值并根据所述数量阈值对所述待处理数据进行数据切割。本步骤中,对所述数据源目录进行分析,具体可以查询所述数据源目录中
保存的每一数据文件的数据量的大小,对于数据量较大的数据文件,其切割数量阈值应当较大,从而将大的数据文件切割成较小的数据块进行上传。然而,对于数据量较小的数据文件,其切割数据阈值应当适当调小,因数据量小的数据文件在上传和处理的过程中都能轻易实现,如果将其切成更小的数据块,对其处理速度而言并没有很明显的提升,反而在数据切割的过程中浪费了较多的时间。因此,估计所述数据切割的数量阈值之前需获取下一时刻进行所述数据切割的所述待处理数据的数据量大小,从而能够得到一个合理的所述数据切割的数量阈值。具体的,在步骤S120中,所述预设的临时工作目录用于存储已经切割好的分块数据,其目录中可以包含临时存放的数据文件的名称、说明信息以及相应的分块数据。需要说明的是,所述预设的临时工作目录是受监控的,当检测到某一数据文件的所有分块数据都上传至分布式文件系统后,这一数据文件在所述预设的临时工作目录中的所有记录都将删除,从而将清空的空间留给下一次待上传的文件。具体的,在步骤S130中,启动上传线程从临时工作目录中读取数据并上传至分布式文件系统。其中,线程的数量是预设的,可以是一个定值也可以是一个动态变化的值。优选的,本申请实施例采用动态数量的线程对所述预设的临时工作目录中的分块数据进行上本文档来自技高网
...

【技术保护点】
一种离线数据上传方法,其特征在于,包括如下的步骤:根据预设的数据源目录,启动定时服务,以预设的时间间隔取出待处理数据并将所述待处理数据进行数据切割;将所述数据切割得到的分块数据转移至预设的临时工作目录中;启动预设数据量的线程,从所述临时工作目录中读取所述分块数据并将所述分块数据上传至分布式文件系统。

【技术特征摘要】
1.一种离线数据上传方法,其特征在于,包括如下的步骤:根据预设的数据源目录,启动定时服务,以预设的时间间隔取出待处理数据并将所述待处理数据进行数据切割;将所述数据切割得到的分块数据转移至预设的临时工作目录中;启动预设数据量的线程,从所述临时工作目录中读取所述分块数据并将所述分块数据上传至分布式文件系统。2.根据权利要求1所述的方法,其特征在于,以预设的时间间隔将待处理数据进行数据切割,具体包括:对所述数据源目录进行分析,获取下一时刻进行所述数据切割的所述待处理数据的数据量大小;根据所述待处理数据的数据量大小计算所述数据切割的数量阈值,并根据所述数量阈值对所述待处理数据进行数据切割。3.根据权利要求1所述的方法,其特征在于,启动预设数据量的线程,具体包括:获取所述分布式文件系统的系统资源使用量,并根据所述系统资源使用量计算所述线程的数量;其中所述系统资源使用量包括所述分布式系统中服务器的数量、服务器CPU的核数以及CPU的占用率。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当判定所述线程的数量超过预设线程数阈值时,以所述预设线程数阈值更新所述线程的数量。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:实时监测所述临时工作目录中每一所述待处理数据的所述分块数据的上
\t传过程;当监测到所述临时工作目录中所述待处理的数据的所有分块数据都上传完成时,从所述临时工作目录中删除所述待处理数据。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当监测到所述临时工作目录中所述待处理的数据的所有分块数据都上传完成时,根据所述预设的数据源目录,取出下一待处理数据并将所述下一待处理数据进行所述数据切割。7.一种离线数据上传装置...

【专利技术属性】
技术研发人员:赵富欣
申请(专利权)人:乐视控股北京有限公司乐视网信息技术北京股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1