一种用于传输文件的方法、装置以及终端制造方法及图纸

技术编号:15050470 阅读:130 留言:0更新日期:2017-04-05 22:08
本发明专利技术公开了一种用于传输文件的方法、装置以及终端。其中,所述方法包括:获取发送端的源文件;根据预设的分割大小将所述源文件分割为至少一个碎片文件;根据所述至少一个碎片文件生成配置文件,以存储所述至少一个碎片文件的碎片文件信息;以及传输所述至少一个碎片文件和所述配置文件。本发明专利技术通过将大容量的源文件分割为至少一个碎片文件,并根据至少一个碎片文件生成配置文件以及传输至少一个碎片文件和配置文件,不仅有效地避免了大容量文件直接上传或直接下载的过程中可能出现失败的问题,而且还提高了大容量文件上传或下载的效率。

【技术实现步骤摘要】

本专利技术涉及数据传输领域,具体地,涉及一种用于传输文件的方法、装置以及终端。
技术介绍
在互联网飞速发展的时代,信息交互通信十分频繁。通信是把消息从一地有效地传递到另一地,即消息传递的全过程。通信的最终目的是为了有效和可靠地获取、传递和交换信息。信息交互通信的方式主要有单向通信、单工通信、双向交替通信、半双工通信、双向同时通信以及全双工通信。通信的主要性能指标是有效性和可靠性。其中,在数字通信中,通信的有效性可用传输速率来衡量。传输速率越高,通信的有效性越好。通信的可靠性可用误码率和误信来衡量。与其它指标相比,信息传递的即时有效速度显得十分重要。然而,由于软件条件或者硬件条件的限制,在需要传输大容量文件的情况下,大容量文件的整体传输将有可能降低信息传递的效率和速度,而且还有可能出现传输失败的问题。
技术实现思路
本专利技术的目的是提供一种用于传输文件的方法、装置以及终端。其中,所述方法通过将大容量的源文件分割为至少一个碎片文件,并根据至少一个碎片文件生成配置文件以及传输至少一个碎片文件和配置文件,不仅有效地避免了大容量文件直接上传或直接下载的过程中可能出现失败的问题,而且还提高了大容量文件上传或下载的效率。为了实现上述目的,本专利技术提供一种用于传输文件的方法。所述方法包括:获取发送端的源文件;根据预设的分割大小将所述源文件分割为至少一个碎片文件;根据所述至少一个碎片文件生成配置文件,以存储所述至少一个碎片文件的碎片文件信息;以及传输所述至少一个碎片文件和所述配置文件。其中,根据预设的分割大小将所述源文件分割为至少一个碎片文件包括:根据预设的分割大小开辟所述发送端内存中的缓存空间;根据预设的分割大小读取所述源文件中的数据并将所述数据保存到所述缓存空间;以及根据所述缓存空间中的数据生成碎片文件。其中,所述方法还包括:接收所述发送端传输的至少一个碎片文件和配置文件;以及根据所述配置文件中存储的所述碎片文件信息读取所述至少一个碎片文件中的数据,并将所述数据写入预设的目标文件,从而能够还原获得所述源文件。其中,所述碎片文件信息包括碎片文件的编号和位置。相应地,本专利技术还提供一种用于传输文件的装置。所述装置包括:获取单元,用于获取发送端的源文件;分割单元,用于根据预设的分割大小将所述源文件分割为至少一个碎片文件;生成单元,用于根据所述至少一个碎片文件生成配置文件,以存储所述至少一个碎片文件的碎片文件信息;以及传输单元,用于传输所述至少一个碎片文件和所述配置文件。其中,分割单元根据预设的分割大小开辟所述发送端内存中的缓存空间;根据预设的分割大小读取所述源文件中的数据并将所述数据保存到所述缓存空间;以及根据所述缓存空间中的数据生成碎片文件。其中,所述装置还包括:接收单元,用于接收所述发送端传输的至少一个碎片文件和配置文件;还原单元,用于根据所述配置文件中存储的所述碎片文件信息读取所述至少一个碎片文件中的数据,并将所述数据写入预设的目标文件,从而能够还原获得所述源文件。其中,所述碎片文件信息包括碎片文件的编号和位置。相应地,本专利技术还提供一种终端。所述终端包括用于传输文件的装置。通过上述技术方案,将大容量的源文件分割为至少一个碎片文件,并根据至少一个碎片文件生成配置文件以及传输至少一个碎片文件和配置文件,不仅有效地避免了大容量文件直接上传或直接下载的过程中可能出现失败的问题,而且还提高了大容量文件上传或下载的效率。附图说明图1是本专利技术提供的用于传输文件的方法的流程图;图2是本专利技术提供的用于传输文件的装置的结构示意图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。图1是本专利技术提供的用于传输文件的方法的流程图。如图1所示,本专利技术提供的用于传输文件的方法包括:在步骤S101中,获取发送端的源文件。具体地,在获取发送端的源文件后,读取所述源文件的输入流。在步骤S102中,根据预设的分割大小将所述源文件分割为至少一个碎片文件。具体地,根据预设的分割大小将所述源文件分割为至少一个碎片文件包括:根据预设的分割大小开辟所述发送端内存中的缓存空间;根据预设的分割大小读取所述源文件中的数据并将所述数据保存到所述缓存空间;以及根据所述缓存空间中的数据生成碎片文件。更为具体地,根据预设的分割大小分段读取所述源文件中的数据并将所述数据保存到所述缓存空间,并根据所述缓存空间中的数据生成碎片文件,这个过程直到将源文件分割完成。在将源文件分割完成之后,释放所述缓存空间,并进行步骤S103。在步骤S103中,根据所述至少一个碎片文件生成配置文件,以存储所述至少一个碎片文件的碎片文件信息。其中,碎片文件信息包括碎片文件的编号和位置。具体地,碎片文件的编号是根据碎片文件生成的先后顺序设定的,碎片文件的位置为碎片文件的路径信息。接着,进行步骤S104。在步骤S104中,传输所述至少一个碎片文件和所述配置文件。优选地,所述方法还包括:接收所述发送端传输的至少一个碎片文件和配置文件;以及根据所述配置文件中存储的所述碎片文件信息读取所述至少一个碎片文件的数据,并将所述数据写入预设的目标文件,从而能够获得所述源文件。藉此,在至少一个碎片文件到达接收端的情况下,通过合并至少一个碎片文件的数据,能够还原得到未被分割的源文件。下面结合实际java代码对本专利技术提供的用于传输文件的方法进行详细描述。首先,获取源文件,并从源文件中读取输入流:StringsourceFilePath=“D:\\Properties.wmv”;FilesourceFile=newFile(sourceFilePath);//待分割文件InputStreamips=newFileInputStream(sourceFile);生成配置文件:OutputStreamconfigOps=newFileOutputStream(newFile(“D:\arget\\config.properties”))确定源文件的分割大小,并开辟缓存空间:intpartFileLength=1024*1024;//指定分割后的碎片文件的大小为1M;byte[]buffer=newbyte[partFileLength];按照源文件的分割大小循环从源文件中读取数据并将数据保存到缓存空间,并根据缓存空间中的数据生成碎片文件,以及将碎片文件信息保存到配置文件中:while((tempLength=ips.read(buffer,0,partFileLength))!=-1){StringtargetFilePath=“D:\arget\\part_”+(partNumber);partInfo.setProperty((partNumber++)+””,targetFilePath);targetFile=newFile(targetFilePath);ops=newFileOutputStream(targetFile);//分割后的文件ops.write(buffer,0,tempLength);//将数据写入碎片文件本文档来自技高网...

【技术保护点】
一种用于传输文件的方法,其特征在于,所述方法包括:获取发送端的源文件;根据预设的分割大小将所述源文件分割为至少一个碎片文件;根据所述至少一个碎片文件生成配置文件,以存储所述至少一个碎片文件的碎片文件信息;以及传输所述至少一个碎片文件和所述配置文件。

【技术特征摘要】
1.一种用于传输文件的方法,其特征在于,所述方法包括:获取发送端的源文件;根据预设的分割大小将所述源文件分割为至少一个碎片文件;根据所述至少一个碎片文件生成配置文件,以存储所述至少一个碎片文件的碎片文件信息;以及传输所述至少一个碎片文件和所述配置文件。2.根据权利要求1所述的用于传输文件的方法,其特征在于,根据预设的分割大小将所述源文件分割为至少一个碎片文件包括:根据预设的分割大小开辟所述发送端内存中的缓存空间;根据预设的分割大小读取所述源文件中的数据并将所述数据保存到所述缓存空间;以及根据所述缓存空间中的数据生成碎片文件。3.根据权利要求2所述的用于传输文件的方法,其特征在于,所述方法还包括:接收所述发送端传输的至少一个碎片文件和配置文件;以及根据所述配置文件中存储的所述碎片文件信息读取所述至少一个碎片文件中的数据,并将所述数据写入预设的目标文件,从而能够还原获得所述源文件。4.根据权利要求3所述的用于传输文件的方法,其特征在于,所述碎片文件信息包括碎片文件的编号和位置。5.一种用于传输文件的装置,其特征在于,所述装置包括:获取单元...

【专利技术属性】
技术研发人员:霍冬婷
申请(专利权)人:北大方正集团有限公司北京北大方正电子有限公司
类型:发明
国别省市:北京;11

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

1