CN201510329320.6
2015.06.15
CN104869174A
2015.08.26
实审
审中
实质审查的生效IPC(主分类):H04L 29/08申请日:20150615|||公开
H04L29/08
北京邮电大学
姚文斌; 杜国平; 常静坤; 韩司; 余文
100876北京市海淀区西土城路10号
本发明提出一种新的文件传输方法。将文件数据抽象为文件消息,发送方将文件切分为文件块数据和文件块信息,并把这两部分合并成的文件消息通过第三方消息中间件传输至文件接收方,文件接收方将接收到文件消息解析还原为文件。该方法有效降低了文件传输系统设计的复杂度,简化了文件传输系统开发流程。
权利要求书1. 一种基于第三方消息中间件的文件分块传输方法,其特征在于:首先,利用第三方消息中间件在文件发送方和接收方之间建立多个并发消息传输队列。发送方根据第三方中间件要求的消息长度把文件切分成若干个文件块,并为每一个文件块添加对应的文件块信息组成文件消息,然后通过消息传输队列将消息并发发送至接收方。接收方从接收到的消息解析出文件块数据和文件块信息。然后,依据文件块信息将文件块数据合并成完整文件。最后,通过MD5值验证文件的完整性。文件块在作为消息进行传输过程中涉及到如下参数信息:文件大小为Sf,文件块消息为M,M中的文件块数据内容为D,文件块信息为I,I中包括文件名Fn、文件数据块默认大小Sd、文件数据块序号Fs、文件的MD5值E、文件数据块总数N、文件块数据实际大小Sr。其发送方具体方法步骤为:(1)配置第三方消息中间件,初始化消息传输的加密算法;(2)发送方设置Fn、Sd、E、Sr、Sf,计算初始化Fs=0;(3)计算文件读取位置R:R=Fs×Sd,发送方从文件的R处读取Sd大小的文件数据存入D;(4)计算D中文件数据实际大小Sr=Size(D),并将Fn、Sd、E、Sr、Sf、N、Fs写入I中;(5)将D和I合成文件块消息M,并对M加密;(6)选择当前空闲的消息队列将M通过消息中间件发送至接收方;(7)判断M中的Fs是否小于N,是则令Fs=Fs+1,并执行步骤(3),否则直接执行步骤(8);(8)等待接收方回复文件接收完毕消息,如果接收到接收方回复消息,执行步骤(9),否则执行步骤(8);(9)根据接收方回复的消息判断文件接收是否成功,是则报告文件接收完成并执行步骤(10),否则,报告文件接收存在错误并进行文件重传,执行步骤(2);(10)执行完成;其接收方具体方法步骤为:(1)配置第三方消息中间件,初始化消息传输的解密算法;(2)接收方判断是否接收到文件消息,是则执行步骤(3),否则执行步骤(2);(3)将接收到的消息进行解密后存入M,解析出消息中包含的D和I;(4)从I解析出Fn、Sd、E、Sr、Sf、N以及Fs;(5)检测接收方文件存储目录下是否存在文件Fn,是则执行步骤(7),否则执行步骤(6);(6)在接收方文件存储目录下创建文件Fn;(7)根据计算文件块数据写入位置W:W=Fs×Sd,将文件块数据写入Fn文件的W位置;(8)判断Fs是否小于N,是则执行步骤(2),否则执行步骤(9);(9)计算接收到的Fn文件的MD5值并与原文件的MD5值E是否相等,是则执行步骤(10),否则执行步骤(11);(10)向发送方回复成功消息,表明文件Fn已经接收完毕,继续执行步骤(2);(11)向发送方回复失败消息,表明文件Fn接收失败;(12)删除接收方文件存储目录下的Fn文件,继续执行步骤(2)。
说明书一种基于第三方消息中间件的文件传输方法 (一)技术领域 本发明涉及的是一种文件分块传输技术。 (二)背景技术 随着计算机网络的发展,文件传输技术的应用范围越来越多广泛。文件传输技术为用户提供快速、安全、便捷的跨网络文件传输服务。其中,文件传输方法是文件传输技术的核心,直接决定着文件传输的安全性、可靠性以及服务质量。然而,安全、可靠的网络传输过程设计与实现较复杂,所以设计一种简单、快速的文件传输方法对文件传输系统具有重要意义。 第三方消息中间件通过对SOCKET套接字进行封装,在数据传输双方之间建立可靠的数据传输通路,避免了基于SOCKET通信过程中的复杂配置。然而,消息中间件单次消息传输的数据量有限,无法直接完成大容量文件的传输。将消息中间件对SOCKET封装的特性用于文件传输系统,可降低文件传输系统设计的复杂度。 (三)发明内容 本发明提出一种基于第三方消息中间件的文件传输方法。将文件数据抽象为文件消息,发送方将文件切分为文件块数据和文件块信息,并把这两部分合并成的文件消息通过第三方消息中间件传输至文件接收方,文件接收方将接收到的文件消息解析还原为原始文件。通过该方法能在很大程度上简化文件传输系统的实现过程,从而节省系统开销。本方法通过采用多消息传输队列并发传输方式,提高了文件的传输速度。同时,本方法中采用加密传输的方式,保证了传输过程中文件的安全性。 本发明的是这样实现的: 首先,利用第三方消息中间件在文件发送方和接收方之间建立多个并发消息传输队列。发送方根据第三方中间件要求的消息长度把文件切分成若干个文件块,并为每一个文件块添加对应的文件块信息组成文件消息,然后通过消息传输队列将消息并发发送至接收方。接收方从接收到的消息解析出文件块数据和文件块信息。然后,依据文件块信息将文件块数据合并成完整文件。最后,通过MD5值验证文件的完整性。 文件块在作为消息进行传输过程中涉及到如下参数信息:文件大小为Sf,文件块消息为M,M中的文件块数据内容为D,文件块信息为I,I中包括文件名Fn、文件数据块默认大小Sd、文件数据块序号Fs、文件的MD5值E、文件数据块总数N、文件块数据实际大小Sr。 其发送方具体方法步骤为: (1)配置第三方消息中间件,初始化消息传输的加密算法; (2)发送方设置Fn、Sd、E、Sr、Sf,计算初始化Fs=0; (3)计算文件读取位置R:R=Fs×Sd,发送方从文件的R处读取Sd大小的文件数据存入D; (4)计算D中文件数据实际大小Sr=Size(D),并将Fn、Sd、E、Sr、Sf、N、Fs写入I中; (5)将D和I合成文件块消息M,并对M加密; (6)选择当前空闲的消息队列将M通过消息中间件发送至接收方; (7)判断M中的Fs是否小于N,是则令Fs=Fs+1,并执行步骤(3),否则直接执行步骤(8); (8)等待接收方回复文件接收完毕消息,如果接收到接收方回复消息,执行步骤(9),否则执行步骤(8); (9)根据接收方回复的消息判断文件接收是否成功,是则报告文件接收完成并执行步骤(10),否则,报告文件接收存在错误并进行文件重传,执行步骤(2); (10)执行完成; 其接收方具体方法步骤为: (1)配置第三方消息中间件,初始化消息传输的解密算法; (2)接收方判断是否接收到文件消息,是则执行步骤(3),否则执行步骤(2); (3)将接收到的消息进行解密后存入M,解析出消息中包含的D和I; (4)从I解析出Fn、Sd、E、Sr、Sf、N以及Fs; (5)检测接收方文件存储目录下是否存在文件Fn,是则执行步骤(7),否则执行步骤(6); (6)在接收方文件存储目录下创建文件Fn; (7)根据计算文件块数据写入位置W:W=Fs×Sd,将文件块数据写入Fn文件的W位置; (8)判断Fs是否小于N,是则执行步骤(2),否则执行步骤(9); (9)计算接收到的Fn文件的MD5值并与原文件的MD5值E是否相等,是则执行步骤(10),否则执行步骤(11); (10)向发送方回复成功消息,表明文件Fn已经接收完毕,继续执行步骤(2); (11)向发送方回复失败消息,表明文件Fn接收失败; (12)删除接收方文件存储目录下的Fn文件,继续执行步骤(2); 本方法的核心在于:把文件的传输过程抽象为消息传输过程,提出在文件的发送方将文件数据分块,并为每一个文件块数据添加对应的文件块信息组成文件消息。然后将文件消息通过消息中间件发送至接收方。在文件的接收方将消息还原为文件数据和文件块信息,并根据文件块信息对文件块数据进行合并,形成完整的文件。 其主要创新点如下: 1.将文件传输过程转为为消息传输过程。通过将文件传输过程转换成消息的传输过程,可以基于第三方消息中间件对文件传输系统进行快速搭建,并能节约系统构建的时间、人力等开销。 2.采用多消息队列的并发传输方式,并增加MD5验证。本方法通过采用多消息传输队列并发传输方式,提高了文件的传输速度。接收方按照文件块信息对文件进行合并后,对合并后的文件进行MD5验证,保证了传输过程中文件的完整性。 (四)附图说明 图1文件分块传输方法示意图 (五)具体的实施方式 本发明所述方法的特征在于: 将文件数据抽象为文件消息,发送方将文件合理分割为文件块数据,并为每一块文件块数据添加对应的文件块信息组成文件消息,然后通过第三方消息中间件将文件块消息快速并发地传输至文件接收方,接收方按照文件块信息合并文件块数据,形成完整文件。 首先,利用第三方消息中间件在文件发送方和接收方之间建立多个并发消息传输队列。发送方根据第三方中间件要求的消息长度把文件切分成若干个文件块,并为每一个文件块添加对应的文件块信息组成文件消息,然后通过消息传输队列将消息并发发送至接收方。接收方从接收到的消息解析出文件块数据和文件块信息。然后,依据文件块信息将文件块数据合并成完整文件。最后,通过MD5值验证文件的完整性。本方法通过多消息传输队列并发传输方式来提高文件的传输速度,采用加密传输的方式保证传输过程中文件的安全性。 本方法的步骤中,文件块消息为M,M中的文件块数据内容为D,文件块信息为I,I又包括文件名Fn、文件数据块默认大小Sd、文件数据块序号Fs、文件的MD5值E、文件数据块 总数N、文件块数据实际大小Sr。文件大小为Sf 其发送方具体方法步骤为: (1)配置第三方消息中间件,初始化消息传输的加密算法; (2)发送方设置Fn、Sd、E、Sr、Sf,计算初始化Fs=0; (3)计算文件读取位置R:R=Fs×Sd,发送方从文件的R处读取Sd大小的文件数据存入D; (4)计算D中文件数据实际大小Sr=Size(D),并将Fn、Sd、E、Sr、Sf、N、Fs写入I中; (5)将D和I合成文件块消息M,并对M加密; (6)选择当前空闲的消息队列将M通过消息中间件发送至接收方; (7)判断M中的Fs是否小于N,是则令Fs=Fs+1,并执行步骤(3),否则直接执行步骤(8); (8)等待接收方回复文件接收完毕消息,如果接收到接收方回复消息,执行步骤(9),否则执行步骤(8); (9)根据接收方回复的消息判断文件接收是否成功,是则报告文件接收完成并执行步骤(10),否则,报告文件接收存在错误并进行文件重传,执行步骤(2); (10)执行完成; 其接收方具体方法步骤为: (1)配置第三方消息中间件,初始化消息传输的解密算法; (2)接收方判断是否接收到文件消息,是则执行步骤(3),否则执行步骤(2); (3)将接收到的消息进行解密后存入M,解析出消息中包含的D和I; (4)从I解析出Fn、Sd、E、Sr、Sf、N以及Fs; (5)检测接收方文件存储目录下是否存在文件Fn,是则执行步骤(7),否则执行步骤(6); (6)在接收方文件存储目录下创建文件Fn; (7)根据计算文件块数据写入位置W:W=Fs×Sd,将文件块数据写入Fn文件的W位置; (8)判断Fs是否小于N,是则执行步骤(2),否则执行步骤(9); (9)计算接收到的Fn文件的MD5值并与原文件的MD5值E是否相等,是则执行步骤(10),否则执行步骤(11); (10)向发送方回复成功消息,表明文件Fn已经接收完毕,继续执行步骤(2); (11)向发送方回复失败消息,表明文件Fn接收失败; (12)删除接收方文件存储目录下的Fn文件,继续执行步骤(2); 具体实施模式是这样的: 首先,配置第三方消息中间件,在文件发送方和接收方之间建立多个并发消息传输队列。然后,发送方依次把文件块数据和文件块信息封装成消息,并通过消息中间件将消息发送至接收方。接收方依次接收消息,从中解析出文件块数据和文件块信息,并按照文件块信息合并文件块数据。最后,接收方通过计算文件的MD5值效验文件,并将效验结果回复发送方。
《一种基于第三方消息中间件的文件传输方法.pdf》由会员分享,可在线阅读,更多相关《一种基于第三方消息中间件的文件传输方法.pdf(8页珍藏版)》请在专利查询网上搜索。
本发明提出一种新的文件传输方法。将文件数据抽象为文件消息,发送方将文件切分为文件块数据和文件块信息,并把这两部分合并成的文件消息通过第三方消息中间件传输至文件接收方,文件接收方将接收到文件消息解析还原为文件。该方法有效降低了文件传输系统设计的复杂度,简化了文件传输系统开发流程。。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1