一种基于第三方消息中间件的文件传输方法技术

技术编号:11941851 阅读:315 留言:0更新日期:2015-08-26 12:56
本发明专利技术提出一种新的文件传输方法。将文件数据抽象为文件消息,发送方将文件切分为文件块数据和文件块信息,并把这两部分合并成的文件消息通过第三方消息中间件传输至文件接收方,文件接收方将接收到文件消息解析还原为文件。该方法有效降低了文件传输系统设计的复杂度,简化了文件传输系统开发流程。

【技术实现步骤摘要】

本专利技术涉及的是一种文件分块传输技术。 (二)
技术介绍
随着计算机网络的发展,文件传输技术的应用范围越来越多广泛。文件传输技术 为用户提供快速、安全、便捷的跨网络文件传输服务。其中,文件传输方法是文件传输技术 的核心,直接决定着文件传输的安全性、可靠性以及服务质量。然而,安全、可靠的网络传输 过程设计与实现较复杂,所以设计一种简单、快速的文件传输方法对文件传输系统具有重 要意义。 第三方消息中间件通过对SOCKET套接字进行封装,在数据传输双方之间建立可 靠的数据传输通路,避免了基于SOCKET通信过程中的复杂配置。然而,消息中间件单次消 息传输的数据量有限,无法直接完成大容量文件的传输。将消息中间件对SOCKET封装的特 性用于文件传输系统,可降低文件传输系统设计的复杂度。 (三)
技术实现思路
本专利技术提出。将文件数据抽象为文件 消息,发送方将文件切分为文件块数据和文件块信息,并把这两部分合并成的文件消息通 过第三方消息中间件传输至文件接收方,文件接收方将接收到的文件消息解析还原为原始 文件。通过该方法能在很大程度上简化文件传输系统的实现过程,从而节省系统开销。本 方法通过采用多消息传输队列并发传输方式,提高了文件的传输速度。同时,本方法中采用 加密传输的方式,保证了传输过程中文件的安全性。 本专利技术的是这样实现的: 首先,利用第三方消息中间件在文件发送方和接收方之间建立多个并发消息传输 队列。发送方根据第三方中间件要求的消息长度把文件切分成若干个文件块,并为每一个 文件块添加对应的文件块信息组成文件消息,然后通过消息传输队列将消息并发发送至接 收方。接收方从接收到的消息解析出文件块数据和文件块信息。然后,依据文件块信息将 文件块数据合并成完整文件。最后,通过MD5值验证文件的完整性。 文件块在作为消息进行传输过程中涉及到如下参数信息:文件大小为sf,文件块 消息为M,M中的文件块数据内容为D,文件块信息为I,I中包括文件名Fn、文件数据块默认 大小Sd、文件数据块序号Fs、文件的MD5值E、文件数据块总数N、文件块数据实际大小 其发送方具体方法步骤为: (1)配置第三方消息中间件,初始化消息传输的加密算法; ⑵发送方设置Fn、Sd、E、Sr、Sf,计算及=pf,初始化Fs= 0 ; (3)计算文件读取位置1?:1?=匕\5(1,发送方从文件的1?处读取5 (1大小的文件数 据存入D; (4)计算D中文件数据实际大小&=Size(D),并将Fn、Sd、E、&、Sf、N、Fs写入I 中; (5)将D和I合成文件块消息M,并对M加密; (6)选择当前空闲的消息队列将M通过消息中间件发送至接收方; (7)判断M中的匕是否小于N,是则令FS=FS+1,并执行步骤(3),否则直接执行 步骤(8); (8)等待接收方回复文件接收完毕消息,如果接收到接收方回复消息,执行步骤 (9),否则执行步骤(8); (9)根据接收方回复的消息判断文件接收是否成功,是则报告文件接收完成并执 行步骤(10),否则,报告文件接收存在错误并进行文件重传,执行步骤(2); (10)执行完成; 其接收方具体方法步骤为: (1)配置第三方消息中间件,初始化消息传输的解密算法; (2)接收方判断是否接收到文件消息,是则执行步骤(3),否则执行步骤⑵; (3)将接收到的消息进行解密后存入M,解析出消息中包含的D和I; (4)从I解析出Fn、Sd、E、Sr、Sf、N以及Fs; (5)检测接收方文件存储目录下是否存在文件Fn,是则执行步骤(7),否则执行步 骤(6); (6)在接收方文件存储目录下创建文件Fn; (7)根据计算文件块数据写入位置W:W=FsXSd,将文件块数据写入Fn文件的W 位置; (8)判断匕是否小于N,是则执行步骤(2),否则执行步骤(9); (9)计算接收到的Fn文件的MD5值并与原文件的MD5值E是否相等,是则执行步 骤(10),否则执行步骤(11); (10)向发送方回复成功消息,表明文件Fn已经接收完毕,继续执行步骤(2); (11)向发送方回复失败消息,表明文件Fn接收失败; (12)删除接收方文件存储目录下的Fn文件,继续执行步骤(2); 本方法的核心在于:把文件的传输过程抽象为消息传输过程,提出在文件的发送 方将文件数据分块,并为每一个文件块数据添加对应的文件块信息组成文件消息。然后将 文件消息通过消息中间件发送至接收方。在文件的接收方将消息还原为文件数据和文件块 信息,并根据文件块信息对文件块数据进行合并,形成完整的文件。 其主要创新点如下: 1.将文件传输过程转为为消息传输过程。通过将文件传输过程转换成消息的传输 过程,可以基于第三方消息中间件对文件传输系统进行快速搭建,并能节约系统构建的时 间、人力等开销。 2.采用多消息队列的并发传输方式,并增加MD5验证。本方法通过采用多消息传 输队列并发传输方式,提高了文件的传输速度。接收方按照文件块信息对文件进行合并后, 对合并后的文件进行MD5验证,保证了传输过程中文件的完整性。 (四)【附图说明】 图1文件分块传输方法示意图 (五) 具体的实施方式 本专利技术所述方法的特征在于: 将文件数据抽象为文件消息,发送方将文件合理分割为文件块数据,并为每一块 文件块数据添加对应的文件块信息组成文件消息,然后通过第三方消息中间件将文件块消 息快速并发地传输至文件接收方,接收方按照文件块信息合并文件块数据,形成完整文件。 首先,利用第三方消息中间件在文件发送方和接收方之间建立多个并发消息传输 队列。发送方根据第三方中间件要求的消息长度把文件切分成若干个文件块,并为每一个 文件块添加对应的文件块信息组成文件消息,然后通过消息传输队列将消息并发发送至接 收方。接收方从接收到的消息解析出文件块数据和文件块信息。然后,依据文件块信息将 文件块数据合并成完整文件。最后,通过MD5值验证文件的完整性。本方法通过多消息传 输队列并发传输方式来提高文件的传输速度,采用加密传输的方式保证传输过程中文件的 安全性。 本方法的步骤中当前第1页1 2 本文档来自技高网...

【技术保护点】
一种基于第三方消息中间件的文件分块传输方法,其特征在于:首先,利用第三方消息中间件在文件发送方和接收方之间建立多个并发消息传输队列。发送方根据第三方中间件要求的消息长度把文件切分成若干个文件块,并为每一个文件块添加对应的文件块信息组成文件消息,然后通过消息传输队列将消息并发发送至接收方。接收方从接收到的消息解析出文件块数据和文件块信息。然后,依据文件块信息将文件块数据合并成完整文件。最后,通过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)。...

【技术特征摘要】

【专利技术属性】
技术研发人员:姚文斌杜国平常静坤韩司余文
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京;11

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

1