CN104869174A - 一种基于第三方消息中间件的文件传输方法 - Google Patents
一种基于第三方消息中间件的文件传输方法 Download PDFInfo
- Publication number
- CN104869174A CN104869174A CN201510329320.6A CN201510329320A CN104869174A CN 104869174 A CN104869174 A CN 104869174A CN 201510329320 A CN201510329320 A CN 201510329320A CN 104869174 A CN104869174 A CN 104869174A
- Authority
- CN
- China
- Prior art keywords
- file
- message
- receiver
- block
- received
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012546 transfer Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 2
- 230000006854 communication Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种新的文件传输方法。将文件数据抽象为文件消息,发送方将文件切分为文件块数据和文件块信息,并把这两部分合并成的文件消息通过第三方消息中间件传输至文件接收方,文件接收方将接收到文件消息解析还原为文件。该方法有效降低了文件传输系统设计的复杂度,简化了文件传输系统开发流程。
Description
(一)技术领域
本发明涉及的是一种文件分块传输技术。
(二)背景技术
随着计算机网络的发展,文件传输技术的应用范围越来越多广泛。文件传输技术为用户提供快速、安全、便捷的跨网络文件传输服务。其中,文件传输方法是文件传输技术的核心,直接决定着文件传输的安全性、可靠性以及服务质量。然而,安全、可靠的网络传输过程设计与实现较复杂,所以设计一种简单、快速的文件传输方法对文件传输系统具有重要意义。
第三方消息中间件通过对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值效验文件,并将效验结果回复发送方。
Claims (1)
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)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510329320.6A CN104869174A (zh) | 2015-06-15 | 2015-06-15 | 一种基于第三方消息中间件的文件传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510329320.6A CN104869174A (zh) | 2015-06-15 | 2015-06-15 | 一种基于第三方消息中间件的文件传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104869174A true CN104869174A (zh) | 2015-08-26 |
Family
ID=53914691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510329320.6A Pending CN104869174A (zh) | 2015-06-15 | 2015-06-15 | 一种基于第三方消息中间件的文件传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104869174A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707521A (zh) * | 2017-08-08 | 2018-02-16 | 山东中创软件商用中间件股份有限公司 | 一种文件传输方法及系统 |
CN108833443A (zh) * | 2018-07-26 | 2018-11-16 | 长城计算机软件与系统有限公司 | 一种消息传输方法及系统、计算机设备 |
CN108965463A (zh) * | 2018-08-08 | 2018-12-07 | 北京筑龙信息技术有限责任公司 | 一种文件传输方法、装置和系统 |
CN109088933A (zh) * | 2018-08-21 | 2018-12-25 | 中国平安人寿保险股份有限公司 | 大批量名单传送方法、获取方法及相应的装置、电子设备 |
CN113542264A (zh) * | 2021-07-13 | 2021-10-22 | 杭州安恒信息技术股份有限公司 | 一种文件传输控制方法、装置、设备及可读存储介质 |
CN114785805A (zh) * | 2022-04-18 | 2022-07-22 | 北京高途云集教育科技有限公司 | 一种数据传输方法、装置、电子设备以及存储介质 |
CN119052162A (zh) * | 2024-10-31 | 2024-11-29 | 成都成电医星数字健康软件有限公司 | 一种多模态多接收方数据传输路由方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401390A (zh) * | 2006-01-11 | 2009-04-01 | 三星电子株式会社 | 多媒体中间件中的安全管理方法和设备及其存储介质 |
US20100205332A1 (en) * | 2009-02-06 | 2010-08-12 | Gene Fein | Media file synchronization |
CN103312732A (zh) * | 2012-03-07 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 数据文件的传输方法及装置 |
-
2015
- 2015-06-15 CN CN201510329320.6A patent/CN104869174A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401390A (zh) * | 2006-01-11 | 2009-04-01 | 三星电子株式会社 | 多媒体中间件中的安全管理方法和设备及其存储介质 |
US20100205332A1 (en) * | 2009-02-06 | 2010-08-12 | Gene Fein | Media file synchronization |
CN103312732A (zh) * | 2012-03-07 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 数据文件的传输方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707521A (zh) * | 2017-08-08 | 2018-02-16 | 山东中创软件商用中间件股份有限公司 | 一种文件传输方法及系统 |
CN108833443A (zh) * | 2018-07-26 | 2018-11-16 | 长城计算机软件与系统有限公司 | 一种消息传输方法及系统、计算机设备 |
CN108965463A (zh) * | 2018-08-08 | 2018-12-07 | 北京筑龙信息技术有限责任公司 | 一种文件传输方法、装置和系统 |
CN109088933A (zh) * | 2018-08-21 | 2018-12-25 | 中国平安人寿保险股份有限公司 | 大批量名单传送方法、获取方法及相应的装置、电子设备 |
CN109088933B (zh) * | 2018-08-21 | 2023-07-21 | 中国平安人寿保险股份有限公司 | 大批量名单传送方法、获取方法及相应的装置、电子设备 |
CN113542264A (zh) * | 2021-07-13 | 2021-10-22 | 杭州安恒信息技术股份有限公司 | 一种文件传输控制方法、装置、设备及可读存储介质 |
CN113542264B (zh) * | 2021-07-13 | 2022-08-26 | 杭州安恒信息技术股份有限公司 | 一种文件传输控制方法、装置、设备及可读存储介质 |
CN114785805A (zh) * | 2022-04-18 | 2022-07-22 | 北京高途云集教育科技有限公司 | 一种数据传输方法、装置、电子设备以及存储介质 |
CN114785805B (zh) * | 2022-04-18 | 2024-04-12 | 北京高途云集教育科技有限公司 | 一种数据传输方法、装置、电子设备以及存储介质 |
CN119052162A (zh) * | 2024-10-31 | 2024-11-29 | 成都成电医星数字健康软件有限公司 | 一种多模态多接收方数据传输路由方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104869174A (zh) | 一种基于第三方消息中间件的文件传输方法 | |
JP5608288B2 (ja) | 無線でのファームウェア配信技術に基づいてファームウェアを処理する方法、装置及びシステム | |
US11153365B2 (en) | Transfer of files with arrays of strings in soap messages | |
CN102638565A (zh) | 一种基于云架构的手机云加密备份与恢复方法 | |
WO2020019943A1 (zh) | 发送数据的方法和装置,以及接收数据的方法和装置 | |
CN111381962B (zh) | 一种边缘服务迁移方法及装置 | |
CN112822678B (zh) | 一种服务化架构授权的方法 | |
CN114615082A (zh) | 一种使用正反向网闸模拟tcp双工安全通讯系统和方法 | |
CN102325025B (zh) | 提供源真实性的数据处理方法及系统 | |
WO2017157006A1 (zh) | 一种密钥处理方法及装置 | |
CN117062102A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
JP2008131654A (ja) | 無線通信システムにおける完全性保護方法及び装置 | |
CN111262837B (zh) | 一种数据加密方法、数据解密方法、系统、设备和介质 | |
CN103873245B (zh) | 虚拟机系统数据加密方法及设备 | |
CN102572735B (zh) | 开放移动通讯联盟的方法与装置 | |
CN115361455B (zh) | 一种数据传输存储方法、装置以及计算机设备 | |
WO2022042283A1 (zh) | 信息交互方法、装置及存储介质 | |
CN115834192A (zh) | 一种文件摆渡方法、装置及计算机可读存储介质 | |
CN114978950A (zh) | 基于fpga、cpu协同的网络算法调用方法及系统 | |
CN116248265A (zh) | 数据传输协议的执行方法及装置 | |
CN109558744B (zh) | 一种数据处理方法和系统 | |
CN102404699A (zh) | 基于手机邮箱的电子邮件安全通信方法、装置和系统 | |
CN109618371B (zh) | 一种数据按需汇聚方法及装置 | |
CN118944898B (zh) | 基于边缘计算电子签名系统的大文件签署技术方法与设备 | |
CN112291350A (zh) | 一种文件传输方法、系统、设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150826 |