一种文件传输方法及装置制造方法
【专利摘要】本发明公开了一种文件传输方法及装置,其中,文件传输方法包括:具有文件传输中转功能的代理模块接收文件传输端传输的文件,所述代理模块与文件传输端处于同一网络设备中;所述代理模块对接收到的文件进行合并压缩处理,并获取文件合并压缩处理进度;根据所述文件合并压缩处理进度,代理模块向文件接收端发送合并压缩处理后的文件,所述代理模块与所述文件接收端处于不同的网络设备中。
【专利说明】一种文件传输方法及装置
【技术领域】
[0001] 本发明涉及通信【技术领域】,具体涉及一种文件传输方法及装置。
【背景技术】
[0002] 随着互联网的发展,越来越多的人开始使用互联网作为沟通交流的途径。在沟通 过程中,文件的传输越来越频繁,传输的量也越来越大,因此,使用一种快速、高效的传输方 式显得尤为重要。传统的文件传输方式主要是文件传输端将文件直接通过网络传输给文件 接收端或者文件传输端将文件适当压缩后传输给文件接收端。
[0003] 采用传统的文件传输方式,存在明显的缺陷,例如,当文件传输端与文件接收端之 间的网络连接状态不太好时,文件传输可能会出现延迟甚至传输失败,需要在网络重新连 接时再次传输,给文件传输端的用户体验性较差;另外,在文件传输端传输的文件内容较少 的情况下,文件压缩率较低,没有尽可能地节约网络带宽。
【发明内容】
[0004] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的文件传输方法和相应的文件传输装置。
[0005] 依据本发明的一个方面,提供了一种文件传输的方法,包括:
[0006] 具有文件传输中转功能的代理模块接收文件传输端传输的文件,所述代理模块与 文件传输端处于同一网络设备中;
[0007] 所述代理模块对接收到的文件进行合并压缩处理,并获取文件合并压缩处理进 度;
[0008] 根据所述文件合并压缩处理进度,代理模块向文件接收端发送合并压缩处理后的 文件,所述代理模块与所述文件接收端处于不同的网络设备中。
[0009] 依据本发明的另一个方面,提供了一种文件传输的装置,包括:
[0010] 文件接收模块,用于调用具有文件传输中转功能的代理模块接收文件传输端传输 的文件,所述代理模块与文件传输端处于同一网络设备中;
[0011] 文件压缩模块,用于调用代理模块对接收到的文件进行合并压缩处理,并获取文 件合并压缩处理进度;
[0012] 文件发送模块,用于根据所述文件合并压缩处理进度,调用代理模块向文件接收 端发送压缩处理后的文件,所述代理模块与所述文件接收端处于不同的网络设备中。
[0013] 本发明提供的一种文件传输的方法和装置,文件传输端将要发送的文件先传输给 同一网络设备中的代理模块,代理模块对文件进行合并压缩处理后,将合并压缩处理后的 文件发送给处于不同网络设备中的文件接收端。本发明在文件传输端的同一网络设备中设 置代理模块作为文件传输中转方,避免因文件传输端与文件接收端的网络状态异常导致的 文件传输失败的问题;代理模块将文件传输端传输的文件进行合并后在压缩处理,文件的 压缩率较高,节约了网络带宽。
【专利附图】
【附图说明】
[0014] 图1为本发明实施例一的一种文件传输方法流程图;
[0015] 图2为本发明实施例一的一种文件传输装置示意图;
【具体实施方式】
[0016] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0017] 实施例一、一种文件传输方法。下面结合图1对本发明提供的方法进行详细的说 明。
[0018] 图1中,S101、具有文件传输中转功能的代理模块接收文件传输端传输的文件,代 理模块与文件传输端处于同一网络设备中。
[0019] 具体的,本实施例中的代理模块和文件传输端位于同一网络设备中,也就是说,本 实施例在文件传输端所在的网络设备中新增设置了代理模块,且该代理模块可以与其所在 的网络设备中的文件传输端进行信息交互,以接收文件传输端输出的文件。
[0020] 在本实施例中,文件传输端所输出的文件不会象现有技术的实现流程一样通过文 件传输端所在的网络设备与文件接收端所在的网络设备之间的网络连接直接传输至文件 接收端,而是先由与文件传输端位于同一网络设备的代理模块接收;一个具体的例子,代理 模块的进程与文件传输端的进程之间通过进程间通讯的方式传输文件,即文件传输端的进 程所输出的文件可以通过进程间通讯的方式传输至代理模块的进程。上述进程间通讯方式 可以具体为有名管道通讯方式、信号量通讯方式、共享内存通讯方式或者套接字通讯方式 等;例如,文件传输端的进程通过本地套接字向代理模块发送文件,代理模块的进程通过监 听本地套接字接收文件传输端的进程发送的文件。文件传输端向代理模块发送的文件可以 是未经过压缩处理的文件。
[0021] 网络设备中的文件传输端在将文件成功发送至与其处于同一网络设备中的代理 模块之后,文件传输端可以向用户显示文件成功发送的提示信息,由于同一网络设备中的 两模块之间的文件传输很难出现传输时间过长以及传输失败的现象,因此,对于用户以及 文件传输端来说,基本上不会感觉到文件传输存在延迟以及文件传输失败的问题。
[0022] S102、代理模块对接收到的文件进行合并压缩处理,并获取文件合并压缩处理进 度。
[0023] 具体的,代理模块接收到文件传输端传输的未经过压缩的文件后,对接收到的文 件进行合并压缩处理。具体实施时,当代理模块接收文件的时间达到预定时间或代理模块 接收的文件的数量达到预先设置的数量时,对接收到的文件进行合并压缩处理。
[0024] 当代理模块接收到的文件为图片时,为了减小图片文件的大小,可以对图片进行 格式转换,比如,接收到的图片为bmp或gif格式的图片,在不影响清晰度的情况下,可以将 图片的格式转换为jpg,jpg格式的图片大小会比bmp或gif格式的图片小,可以节约系统 资源。然后将转换格式后的图片合并进行压缩,想成压缩文件。
[0025] 当代理模块接收到的文件为一般的消息时,可以对其接收到的消息进行解析,确 定消息中承载的消息队列标识;将有相同消息队列标识的至少一条消息的消息体的内容以 及消息队列标识进行消息封装处理;并对封装处理后的消息的消息体进行压缩处理。
[0026] 具体的,代理模块在接收到文件传输端输出的消息时,直接存储其接收到的消息 (如将接收到的消息存储于本地硬盘中),在代理模块判断出其已存储的消息(即未向文件 接收端发送的消息,也可以是之前未被代理模块执行过封装处理的消息)达到预定数量或 者代理模块根据预定时间间隔判断出已到达本次消息发送时间时,代理模块对其存储的各 消息(如之前未被代理模块执行过封装处理的消息)分别进行消息解析处理,以确定其存 储的各消息的队列标识,并同时可以获取各消息的消息体中的内容。其中,消息队列标识可 以唯一表示出一个消息接收端,如该消息队列标识可以为URI。
[0027] 针对具有相同消息队列标识的多条消息,代理模块将消息队列标识承载于新消息 的消息头中,并计算具有相同消息队列标识的各消息的消息体的内容的长度,将每一条消 息的消息体的内容以及其对应的长度承载于该新消息的消息体的相应的段中,即新消息的 消息体根据上述多条消息的数量被划分为多个段,每一段均包括两部分内容,一部分内容 为段长度,另一部分内容为上述多条消息中的一条消息的消息体的内容。
[0028] 需要说明的是,代理模块封装处理后而形成的该新消息可以为基于HTTP的消息, 也可以为基于私有协议的消息。在该封装处理后而形成的新消息为基于私有协议的消息的 情况下,消息代理端和消息接收端应支持该私有协议。
[0029] 在代理模块将接收到的文件进行合并压缩处理的过程中,获取代理模块对文件进 行合并压缩处理的进度。
[0030] S103、根据文件合并压缩处理进度,代理模块向文件接收端发送合并压缩处理后 的文件,所代理模块与所述文件接收端处于不同的网络设备中。
[0031] 具体的,代理模块对文件进行合并压缩处理时,获取对文件进行合并压缩处理的 进度,当代理模块压缩处理的文件达到一定数量或压缩处理完毕时,代理模块向文件接收 端发送压缩处理后的文件。
[0032] S104、若代理模块向文件接收端成功发送合并压缩处理后的文件,删除代理模块 中成功发送的相应的文件。
[0033] S105、若代理模块中的合并压缩处理后的文件未被成功发送至文件接收端,代理 模块持续重新发送压缩处理后的文件。
[0034] 实施例二、一种文件传输的装置。下面结合图2对本发明提供的装置进行详细的 描述。
[0035] 图2中,本发明提供的装置包括文件接收模块201、文件压缩模块202、文件发送模 块203和文件传输模块204。
[0036] 其中,文件接收模块201用于调用具有文件传输中转功能的代理模块接收文件传 输端传输的文件,代理模块与文件传输端处于同一网络设备中。
[0037] 具体的,具体的,本实施例中的代理模块和文件传输端位于同一网络设备中,也就 是说,本实施例在文件传输端所在的网络设备中新增设置了代理模块,且该代理模块可以 与其所在的网络设备中的文件传输端进行信息交互,以接收文件传输端输出的文件。
[0038] 本实施例中,代理模块的进程通过进程间通信的方式接收文件传输端的进程传输 的文件。上述进程间通讯方式可以具体为有名管道通讯方式、信号量通讯方式、共享内存通 讯方式或者套接字通讯方式等;例如,文件传输端的进程通过本地套接字向代理模块发送 文件,代理模块的进程通过监听本地套接字接收文件传输端的进程发送的文件。文件传输 端向代理模块发送的文件可以是未经过压缩处理的文件。
[0039] 文件压缩模块202用于调用代理模块对文件接收模块201接收的文件进行合并压 缩处理,并获取文件合并压缩处理进度。
[0040] 具体的,文件压缩模块202包括第一文件压缩子模块2021,用于若代理模块接收 到的文件为图片,则对所述图片进行格式/大小转换,并进行打包压缩。
[0041] 文件压缩模块202还包括第二文件压缩子模块2022,用于若代理模块接收到的文 件为消息,则对其接收到的消息进行解析,确定消息中承载的消息队列标识;将有相同消息 队列标识的至少一条消息的消息体的内容以及所述消息队列标识进行消息封装处理;并对 所述封装处理后的消息的消息体进行压缩处理。
[0042] 文件发送模块203用于根据文件合并压缩处理进度,调用代理模块向文件接收端 发送合并压缩处理后的文件,所述代理模块与所述文件接收端处于不同的网络设备中。
[0043] 文件删除模块204用于当文件发送模块203向文件接收端成功发送合并压缩处理 后的文件时,删除代理模块中成功发送的相应的文件。
[0044] 另外,当代理模块中的压缩处理后的文件未被成功发送至文件接收端的情况下, 持续重新发送所述压缩处理后的文件。
[0045] 本发明提供的一种文件传输方法和装置,文件传输端将要发送的文件先传输给同 一网络设备中的代理模块,代理模块对文件进行合并压缩处理后,将合并压缩处理后的文 件发送给处于不同网络设备中的文件接收端。本发明在文件传输端的同一网络设备中设置 代理模块作为文件传输中转方,避免因文件传输端与文件接收端的网络状态异常导致的文 件传输失败的问题,同时也不会因为网络状况而造成文件传输延迟,对于文件传输端而言, 体验性更好;代理模块将文件传输端传输的文件进行合并后再压缩处理,文件的压缩率较 高,节约了网络带宽。
[0046] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种文件传输方法,其特征在于,包括: 步骤S101、具有文件传输中转功能的代理模块接收文件传输端传输的文件,所述代理 模块与文件传输端处于同一网络设备中; 步骤S102、所述代理模块对接收到的文件进行合并压缩处理,并获取文件合并压缩处 理进度; 步骤S103、根据所述文件合并压缩处理进度,代理模块向文件接收端发送合并压缩处 理后的文件,所述代理模块与所述文件接收端处于不同的网络设备中。
2. 如权利要求1所述的文件传输方法,其特征在于,代理模块接收文件传输端传输的 文件包括: 代理模块的进程通过进程间通信的方式接收文件传输端的进程传输的文件。
3. 如权利要求1所述的文件传输方法,其特征在于,所述代理模块对接收到的文件进 行合并压缩处理包括: 所述代理模块接收文件的时间达到预定时间或接收到的文件数量达到预定数量时,代 理模块对接收到的文件进行合并压缩处理。
4. 如权利要求1所述的文件传输方法,其特征在于,所述代理模块对接收到的文件进 行合并压缩处理包括: 若代理模块接收到的文件为图片,则对所述图片进行格式/大小转换,并进行打包压 缩; 或者, 若代理模块接收到的文件为消息,则对其接收到的消息进行解析,确定消息中承载的 消息队列标识;将有相同消息队列标识的至少一条消息的消息体的内容以及所述消息队列 标识进行消息封装处理;并对所述封装处理后的消息的消息体进行压缩处理。
5. 如权利要求1所述的文件传输方法,其特征在于,根据所述文件合并压缩处理进度, 代理模块向文件接收端发送合并压缩处理后的文件包括: 当代理模块合并压缩处理的文件达到一定数量或压缩处理完毕时,代理模块向文件接 收端发送合并压缩处理后的文件。
6. 如权利要求5所述的文件传输方法,其特征在于,还包括: 当代理模块向文件接收端成功发送合并压缩处理后的文件时,删除代理模块中成功发 送的相应的文件; 当代理模块中的合并压缩处理后的文件未被成功发送至文件接收端的情况下,持续重 新发送所述合并压缩处理后的文件。
7. -种文件传输装置,其特征在于,包括: 文件接收模块,用于调用具有文件传输中转功能的代理模块接收文件传输端传输的文 件,所述代理模块与文件传输端处于同一网络设备中; 文件压缩模块,用于调用代理模块对接收到的文件进行合并压缩处理,并获取文件合 并压缩处理进度; 文件发送模块,用于根据所述文件合并压缩处理进度,调用代理模块向文件接收端发 送合并压缩处理后的文件,所述代理模块与所述文件接收端处于不同的网络设备中。
8. 如权利要求7所述的文件传输装置,其特征在于,所述文件压缩模块包括: 第一文件压缩子模块,用于若代理模块接收到的文件为图片,则对所述图片进行格式/ 大小转换,并进行打包压缩; 或者, 第二文件压缩子模块,用于若代理模块接收到的文件为消息,则对其接收到的消息进 行解析,确定消息中承载的消息队列标识;将有相同消息队列标识的至少一条消息的消息 体的内容以及所述消息队列标识进行消息封装处理;并对所述封装处理后的消息的消息体 进行压缩处理。
9.如权利要求7所述的文件传输装置,其特征在于,所述文件发送模块,用于根据所述 文件合并压缩处理进度,调用代理模块向文件接收端发送合并压缩处理后的文件后,还包 括: 文件删除模块,用于当代理模块向文件接收端成功发送合并压缩处理后的文件时,删 除代理模块中成功发送的相应的文件。
【文档编号】H04L29/06GK104092666SQ201410280267
【公开日】2014年10月8日 申请日期:2014年6月20日 优先权日:2014年6月20日
【发明者】裴兆欣 申请人:裴兆欣