CN114584556A - 文件传输方法和装置 - Google Patents
文件传输方法和装置 Download PDFInfo
- Publication number
- CN114584556A CN114584556A CN202210248079.4A CN202210248079A CN114584556A CN 114584556 A CN114584556 A CN 114584556A CN 202210248079 A CN202210248079 A CN 202210248079A CN 114584556 A CN114584556 A CN 114584556A
- Authority
- CN
- China
- Prior art keywords
- file
- transmission
- block
- files
- transmitted
- 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 268
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012546 transfer Methods 0.000 claims abstract description 35
- 230000000903 blocking effect Effects 0.000 claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 11
- 230000000712 assembly Effects 0.000 description 8
- 238000000429 assembly Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供一种文件传输方法和装置,涉及数据传输技术领域,包括:接收基于安全文件传送协议SFTP的文件传输请求;在文件传输请求所请求的待传输文件的大小大于阈值时,根据带宽和最大并发数对待传输文件分块,得到多个分块文件;生成多个分块文件的配置文件;根据配置文件为多个分块文件分配对应的传输组件,以传输多个分块文件。本申请采用上述处理方式,可以根据不同终端设备的网络环境状况制定不同的分块策略,充分利用终端设备的网络资源,这样即使终端设备的网络环境较差,也能有效的提升传输的成功率。
Description
技术领域
本申请涉及数据传输领域,特别涉及一种文件传输方法和装置。
背景技术
随着电子信息技术的发展,终端设备中可以传输的文件的大小,由以兆(mbyte,MB)为单位,上升到以十亿字节(gigabyte,GB)为单位。
在终端设备进行文件传输时,可以基于多种传输协议进行传输。例如,为了提升文件在传输过程中的安全性,终端设备可以使用安全文件传送协议(secure file transferprotocol,SFTP)进行文件传输。终端设备在SFTP下传输超大文件时,可以将超大文件分为固定大小的数据块后采用单线程传输。
但是,上述方式中,终端设备在利用SFTP传输超大文件时,经常出现传输失败的现象。
发明内容
本申请实施例提供一种文件传输方法和装置,终端设备对待传输文件根据终端设备所处的网络环境对待传输文件进行分块,并将多个分块文件分配至对应的传输组件。采用上述处理方式,可以根据不同终端设备的网络环境状况制定不同的分块策略,充分利用终端设备的网络资源,这样即使终端设备的网络环境较差,也能有效的提升传输的成功率。
第一方面,本申请实施例提供一种文件传输方法,包括:接收基于安全文件传送协议SFTP的文件传输请求;
在文件传输请求所请求的待传输文件的大小大于阈值时,根据带宽和最大并发数对待传输文件分块,得到多个分块文件;
生成多个分块文件的配置文件;配置文件包括多个分块文件的分块数、各分块文件的大小以及用于传输多个分块文件的传输组件的传输状态;
根据配置文件为多个分块文件分配对应的传输组件,以传输多个分块文件;其中,在传输多个分块文件时,将各分块文件的传输情况实时更新在所述配置文件中;传输情况包括:传输完成或传输失败。这样,可以根据不同终端设备的网络环境状况制定不同的分块策略,充分利用终端设备的网络资源,即使终端设备的网络环境较差,也能有效的提升传输的成功率。
可选的,终端设备根据带宽和最大并发数对所述待传输文件分块时,包括:
获取所述待传输文件的大小、所述带宽以及所述最大并发数;
计算所述带宽以及所述最大并发数的比值;根据所述待传输文件的大小和所述比值,对所述传输文件进行分块。可选的,传输组件的传输状态包括空闲、繁忙或停用。
可选的,终端设备根据配置文件为多个分块文件分配对应的传输组件,包括:
终端设备根据配置文件为多个分块文件循环分配处于空闲的状态的传输组件,直到多个分块文件均传输完成。这样,终端设备可以根据传输组件的状态,灵活分配传输任务。
可选的,文件传输方法还包括:
在传输多个分块文件时,若存在传输中断的目标分块文件,将目标分块文件传输失败的情况更新在所述配置文件中;以及为目标分块文件重新分配传输组件,以重新传输目标分块文件。这样,可以在任一分块文件传输失败后,重新发起传输,有效提高了传输的效率。
可选的,文件传输方法还包括:
在任一分块文件在传输组件中传输完成后,计算任一分块文件的弱校验值;
在任一分块文件的弱校验值与预设的弱校验值匹配时,计算任一分块文件的强校验值;
在任一分块文件的强校验值与预设的强校验值匹配时,在配置文件中记录所述任一分块文件为传输完成;
在任一分块文件的弱校验值与预设的弱校验值不匹配,或,任一分块文件的强校验值与预设的强校验值不匹配时,在配置文件中记录所述任一分块文件为传输失败。这样,终端设备可以根据校验结果判断分块文件传输结果的完整性,有效提高传输的可靠性。
可选的,终端设备根据带宽和最大并发数对待传输文件分块之前,还包括:
向鉴权服务器发送身份认证信息;接收所述鉴权服务器返回的秘钥信息;将秘钥信息与储存在本地的秘钥信息进行验证;若验证成功,确定待传输文件的大小。这样,通过验证身份认证信息,可以有效提高传输过程的安全性。
可选的,终端设备设置有身份认证组件、监控组件、调度组件;
其中,身份认证组件用于执行鉴权的步骤,监控组件用于执行分块的步骤和监控传输过程,调度组件用于为多个分块文件分配对应的传输组件。这样,通过组件化的传输方式,各组件功能各司其职,有效提升传输过程的透明度。
第二方面,本申请提供一种文件传输装置,包括:
接收模块,用于接收基于安全文件传送协议SFTP的文件传输请求;
监控模块,用于在所述文件传输请求所请求的待传输文件的大小大于阈值时,根据带宽和最大并发数对所述待传输文件分块,得到多个分块文件;以及用于生成所述多个分块文件的配置文件;所述配置文件包括所述多个分块文件的分块数、各所述分块文件的大小以及用于传输所述多个分块文件的传输组件的传输状态;
调度模块,根据所述配置文件为所述多个分块文件分配对应的传输组件;
传输模块,用于传输所述多个分块文件,其中,在传输所述多个分块文件时,将各所述分块文件的传输情况实时更新在所述配置文件中;所述传输情况包括:传输完成或传输失败。
第三方面,本申请实施例提供一种终端设备,包括:存储器和处理器;
存储器用于存储计算机指令;处理器用于运行存储器存储的计算机指令实现第一方面中任一项的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现第一方面中任一项的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项的方法。
本申请提供的文件传输方法和装置,终端设备在确定待传输文件的大小大于所设置的阈值时,终端设备对待传输文件根据终端设备所处的网络环境对待传输文件进行分块,并将多个分块文件分配至对应的传输组件。采用上述处理方式,可以根据不同终端设备的网络环境状况制定不同的分块策略,充分利用终端设备的网络资源,这样即使终端设备的网络环境较差,也能有效的提升传输的成功率。
附图说明
图1为本申请实施例提供的场景示意图;
图2为本申请实施例提供的文件传输方法的流程示意图;
图3为本申请实施例提供的待传输文件分块示意图;
图4为本申请实施例提供的配置文件的结构示意图;
图5为本申请实施例提供的身份认证组件执行过程示意图;
图6为本申请实施例提供的监控组件执行过程示意图;
图7为本申请实施例提供的调度组件执行过程示意图;
图8为本申请实施例提供的传输组件执行过程示意图;
图9为本申请实施例提供的文件传输方法示意图;
图10为本申请实施例提供的文件传输装置结构示意图;
图11为本申请实施例提供的文件传输终端设备结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,以下,对本申请实施例中所涉及的部分术语和技术进行简单介绍:
1)SFTP:是一种安全的文件传输协议,通过使用加密/解密技术来提升传输文件的安全性。SFTP要求客户端用户必须由服务器进行身份验证,并且数据传输必须通过安全通道(secure shell,SSH)进行,即不传输明文密码或文件数。
2)最大并发数:同时允许访问服务器站点的连接数。
3)带宽:单位时间(一般指的是1秒钟)内能传输的数据量,单位为兆/秒(millionbits per second,M/S)。
4)其他术语
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a--c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
下面结合附图对本申请实施例提供的文件传输方法进行详细地介绍。需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。
终端设备可以用于进行传输文件,随着电子信息技术的发展,终端设备传输文件的大小,也已经由原来的以MB为单位,上升到以GB为单位。
为了提升文件在传输过程中的安全性,终端设备可以使用SFTP来进行文件传输。终端设备在SFTP下传输超大文件时,可以将超大文件分为固定大小的数据块后采用单线程传输,如果终端设备所处的网络环境较差,可能出现传输失败的现象。例如,在传输一个大小为15GB的文件时,将该文件固定分成5个大小为3GB文件块来进行传输。终端设备的网络下行速率为50千字节/秒(kilobyte per second,KB/S),此时容易出现因为终端设备的网络环境较差,导致传输失败的现象。
有鉴于此,本申请提出一种文件传输方法和装置,根据终端设备所处网络环境的带宽与最大并发数对超大文件进行分块处理,获得多个与网络环境适配的分块文件,再对多个分块文件进行传输。采用上述处理方式,可以根据不同终端设备的网络环境状况制定不同的分块策略,充分利用终端设备的网络资源,这样即使终端设备的网络环境较差,也能有效的提升传输的成功率。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图1的是本申请实施例提供场景示意图,如图1的所示,包括用户和终端设备。终端设备可以接收用户对其的操作。
例如,终端设备可以在某一个网页接收到用户下载图片,或者在某一个应用程序中下载视频等的操作。基于用户在终端设备中下载等操作,终端设备可以接收到文件传输请求,在终端设备接收到用户的文件传输请求后,终端设备可以将传输请求所对应的文件传输至终端设备本地。
终端设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等电子设备,本申请实施例对此不做限定;终端设备可以接收用户对其的操作可以但不限于点击或者触摸等,本申请实施例对此不做限定。
在一个实施例中,如图2所示,提供了一种文件传输方法,以该方法应用于图1中的终端设备为例进行说明,包括以下步骤:
S201:接收基于安全文件传送协议SFTP的文件传输请求。
本申请实施例中,文件传输请求可以指终端设备接收到用户对任一获取控件的触发时,生成的与待传输文件相关的请求。例如,文件传输请求可以包括待传输文件的名称和大小等信息。
本申请实施例可以适用于对文件传输安全性要求较高的场景,用户可以选择对传输安全性较高的文件进行下载,则终端设备可以接收到基于SFTP的文件传输请求,后续终端设备在传输文件时,可以基于SFTP进行传输。
示例性的,终端设备可以显示如图1所示的用户界面,该用户界面中的文件下载等可以基于SFTP进行。
在该用户界面中可以包括可供下载的多个文件,用户可以在多个文件中任选一个或多个进行下载。例如,用户选中“xx图谱”文件,并点击该“xx图谱”文件对应的获取控件时,终端设备可以接收到文件传输请求,该文件传输请求中可以包括作为待传输文件的“xx图谱”文件的文件名称和文件大小等。
S202:在文件传输请求所请求的待传输文件的大小大于阈值时,根据带宽和最大并发数对待传输文件分块,得到多个分块文件。
本申请实施例中,分块文件可以指对待传输分块文件进行分块得到的文件,如图3所示。分块文件的大小与终端设备的带宽和最大并发数有关,例如,终端设备的带宽越大,分块文件的大小越大,终端设备的最大并发数越大,分块文件的大小越小。多个分块文件的大小可以一致也可以不一致,本申请实施例不作具体限定。
可以理解的是,在待传输文件较小时,终端设备通常能实现成功传输,在待传输文件较大时,受到终端设备带宽和最大并发数的影响,容易出现传输失败的现象。
因此,本申请实施例中,可以先判断待传输文件的大小是否大于阈值,在待传输文件的大小大于阈值时,基于本申请实施例的分块方法对待传输文件进行分块,以得到与终端设备的网络状态适配的分块文件,使得分块文件可以在终端设备较好传输。
其中,阈值可以根据终端设备的性能以及网络环境来设置,也可以设置为一个固定的值。例如,将阈值设置为2GB,在待传输文件的大小大于2GB时,终端设备基于本申请实施例的分块方式对该待传输文件进行分块。
S203:生成多个分块文件的配置文件。配置文件包括多个分块文件的分块数、各分块文件的大小以及用于传输多个分块文件的传输组件的传输状态。
本申请实施例中,终端设备可以包括传输组件,传输组件用于对多个分块文件进行传输处理。传输组件的传输状态可以包括空闲、繁忙或停用。在传输组件处于空闲的状态时,传输组件可以接收新的分块文件的分配。在传输组件处于繁忙的状态时,传输组件可以接收新的分块文件的分配,也可以不接收新的分块文件的分配。在传输组件处于停用的状态时,传输组件不可以接收新的分块文件的分配。
配置文件用于记录与传输该待传输文件相关的信息。例如,配置信息可以包括:多个分块文件的分块数、各分块文件的大小以及用于传输多个分块文件的传输组件的传输状态。配置文件可以是纯文本文件,也可以为其他形式的文件,本申请实施例不做具体限定。
可选的,配置文件还可以包括终端设备所执行的流程以及与终端设备相关的信息等,如图4所示。例如,终端设备相关的信息可以包括,终端设备内部组件的状态以及终端设备所处的网络环境信息,其中终端设备内部组件的状态可以包括传输组件的传输状态等。
在一种可能的实现方式中,终端设备完成对待传输文件分块时,终端设备生成分块文件对应的配置文件,并将分块文件的分块数、各分块文件的大小记录于配置文件中。在终端设备生成配置文件时,获取传输组件的传输状态,并记录于该配置文件中。
在另一种可能的实现方式中,终端设备也可以获取传输组件的传输状态,生成配置文件,将待传输文件的分块数、各分块文件的大小记录在配置文件中。本申请实施例对此不做限定。
S204:根据配置文件为多个分块文件分配对应的传输组件,以传输多个分块文件。
其中,在传输多个分块文件时,将各分块文件的传输情况实时更新在配置文件中;传输情况包括:传输完成或传输失败。
示例性的,终端设备可以获取配置文件中有关待传输文件的分块数、各分块文件的大小以及传输组件的传输状态,终端设备根据获取到的待传输文件的分块数、各分块文件的大小以及传输组件的传输状态,将多个分块文件分配至处于空闲状态的传输组件。
传输组件接收到终端设备分配到的对应的分块文件后,传输组件将对应的分块文件进行传输处理。每一个分块文件传输完成或者传输中断,终端设备均可以将各分块文件对应的传输完成信息或者传输中断信息实时更新在配置文件中。
上述文件传输方法中,终端设备在确定待传输文件的大小大于所设置的阈值时,终端设备对待传输文件根据终端设备所处的网络环境对待传输文件进行分块,并将多个分块文件分配至对应的传输组件。采用上述处理方式,可以根据不同终端设备的网络环境状况制定不同的分块策略,充分利用终端设备的网络资源,这样即使终端设备的网络环境较差,也能有效的提升传输的成功率。
可选的,在图2对应的实施例的基础上,下面对本申请实施例提供的文件传输方法进行进一步说明。
可选的,根据带宽和最大并发数对待传输文件分块,包括:
获取待传输文件的大小、带宽以及最大并发数;
计算带宽以及所述最大并发数的比值;根据待传输文件的大小和比值,对传输文件进行分块。
示例性的,可以采用下述公式对待传输文件进行分块:
其中,Z为总分块数;X为文件大小,X的单位为GB;Y为带宽,Y的单位为M/S;N为最大并发数。
终端设备根据上述公式获取到待传输文件的总分块数后,如果总分块数包含小数,则对总分块数进行取整处理。例如,图片文件大小X=10(GB)、当前带宽Y=1(M/S)、最大并发数N=3,终端设备根据上述公式,获得的总分块数Z为303.59,输出Z的值为304。
可选的,终端设备根据配置文件为多个分块文件分配对应的传输组件,包括:
终端设备根据配置文件为多个分块文件循环分配处于空闲的状态的传输组件,直到多个分块文件均传输完成。
终端设备中包括多个传输组件,多个分块文件的分块数可能大于传输组件的数量,在终端设备获取到某一传输组件的传输状态为空闲时,将没有进行传输处理的分块文件分配至传输状态为空闲的传输组件进行传输处理。终端设备循环执行分配未传输的分块文件至传输状态为空闲的传输组件,直至多个分块文件均传输完成。
可选的,传输组件在传输多个分块文件时,若存在传输中断的目标分块文件,将目标分块文件传输失败的情况更新在配置文件中;以及,为目标分块文件重新分配传输组件,以重新传输目标分块文件。
本申请实施例中,传输中断可以指传输组件没有将对应的分块文件完全传输至终端设备本地,对应的分块文件的传输情况为传输失败。例如,终端设备的网络环境波动,传输过程终止,此时目标分块文件的传输情况就为传输失败。
终端设备获取配置文件中有关传输组件传输分块文件的传输情况,如果获取到某一分块文件的传输情况为传输失败时,终端设备获取传输组件的传输状态,如果终端设备获取到有传输组件的传输状态为空闲时,将该传输情况为传输失败的分块文件分配至传输状态为空闲的传输组件再次进行传输。
终端设备如果获取到所有传输组件的传输状态都非空闲时,终端设备持续对传输组件的传输状态进行获取,直至有传输组件的传输状态为空闲,终端设备将传输失败的分块文件分配至该传输组件进行传输处理。
终端设备循环执行将传输信息为传输失败的分块文件分配至传输状态为空闲的传输组件进行传输处理,直至终端设备获取到配置文件中所有的分块文件的传输情况为传输成功。
可选的,终端设备在获取到配置文件中任一分块文件的传输情况为传输完成后,还进行如下步骤:
S301、在任一分块文件在传输组件中传输完成后,计算任一分块文件的弱校验值。
本申请实施例中,校验值可以指通过某种运算得出的一组数据,用以检验分块文件的正确性。
计算分块文件的弱校验值可以指终端设备使用消息摘要算法第4版(message-digest algorithm4,MD4)计算该分块文件的校验值。
S302、在任一分块文件的弱校验值与预设的弱校验值匹配时,计算任一分块文件的强校验值。
本申请实施例中,计算分块文件的强校验值可以指终端设备使用消息摘要算法第5版(message-digest algorithm5,MD5)计算该分块文件的校验值。
终端设备在确认传输完成的分块文件的弱校验与终端设备预设的弱校验值匹配时,终端设备使用MD5计算该分块文件的强校验值。
其中,MD5与MD4相比,MD5的计算方式更加复杂,并且速度较慢,但MD5的安全性相比MD4更高。
S303、在任一分块文件的强校验值与预设的强校验值匹配时,在配置文件中记录任一分块文件为传输完成。
示例性的,终端设备在确认任一分块文件的强校验值与终端设备预设的强校验值匹配时,在配置文件中更新该分块文件的的传输情况为传输完成。
可选的,任一分块文件只能计算弱校验值时,终端设备确认该分块文件的弱校验值与终端设备预设的校验值匹配时,终端设备在配置文件中更新该分块文件的的传输情况为传输完成。
可选的,任一分块文件可以计算该分块文件的弱校验值与强校验值时,终端设备确认该分块文件的弱校验值和强校验值都与终端设备预设的对应校验值匹配时,终端设备在配置文件中更新该分块文件的传输情况为传输完成。
S304、在任一分块文件的弱校验值与预设的弱校验值不匹配,或,任一分块文件的强校验值与预设的强校验值不匹配时,在配置文件中记录所述任一分块文件为传输失败。
本申请实施例中,终端设备在确定传输完成的分块文件的弱校验值或者强检验值中任一校验值与终端设备预设的校验值不匹配时,终端设备在配置文件中将该分块文件的传输状态由传输完成更新为传输失败。
可选的,终端设备将任一分块文件的传输状态更新为传输失败时,终端设备可以将该分块文件分配至传输状态为空闲的传输组件,使传输组件对该分块文件重新进行传输。
可选的,终端设备在根据带宽和最大并发数对待传输文件分块之前,还包括下述步骤:
S401、向鉴权服务器发送身份认证信息。
本申请实施例中,鉴权服务器可以用于判断用户的身份信息是否合法。在用户的身份信息合法后,终端设备向用户提供文件传输服务。
终端设备在接收到用户对任一获取控件的触发时,向鉴权服务器发送用户的身份认证信息。其中,身份认证信息可以是用户在终端设备中储存的用户名和密码,也可以是用户的指纹信息,本申请实施例不作具体限定。
S402、接收鉴权服务器返回的秘钥信息。
鉴权服务器返回的秘钥信息可以是经过加密处理的字符串,也可以是身份认证令牌。本申请实施例不作具体限定。
S403、将秘钥信息与储存在本地的秘钥信息进行验证。
S404、若验证成功,确定待传输文件的大小。
终端设备在确定鉴权服务器返回的秘钥信息与储存在本地的秘钥信息一致后,获取待传输文件的大小。终端设备对待传输文件进行分块处理。
可选的,如果终端设备确定鉴权服务器返回的秘钥信息与储存在本地的秘钥信息不一致,终端设备不响应用户对获取控件的触发,或者显示警告窗口,提示用户的身份信息不合法。
可选的,终端设备还包括身份认证组件、监控组件、调度组件。
其中,身份认证组件用于执行鉴权的步骤,监控组件用于执行分块的步骤和监控传输过程,调度组件用于为多个分块文件分配对应的传输组件。
示例性的,身份认证组件执行过程可参照如图5所示。监控组件的执行过程可参照如图6所示。调度组件的执行过程可参照如图7所示。传输组件的执行过程可参照如图8所示。上述组件的执行过程的具体内容与终端设备进行文件传输的过程相同,此处不在赘述。
可选的,监控组件可以对传输过程进行实时监控,此时,监控组件可以执行终端设备所执行的步骤。在监控组件在获取到任一分块文件的传输情况为传输失败时,监控组件可以调用分配组件将传输情况为传输失败的分块文件分配至传输状态为空闲的传输组件进行传输处理。
可选的,终端设备获取到配置文件中任一分块文件的传输情况为传输失败时,可以调用身份认证组件重新对用户的身份信息进行认证。终端设备在确认用户的身份信息合法后,调用调度组件将传输情况为传输失败的任一分块文件分配至传输状态为空闲的传输组件进行传输处理。
可选的,终端设备在读取到配置文件中,所有分块文件传输完成时,终端设备将所有的分块文件进行合并,所有分块文件合并后恢复为分块前的状态。
示例性的,图9为本申请实施例示出的一种文件传输方法。
如图9所示,终端设备接收到文件传输请求时,通过身份认证组件对用户信息进行认证,终端设备在用户信息进行认证后,生成文件传输请求相关的配置文件。终端设备启动监控组件对待传输文件进行分块并监控传输过程,终端设备启动调度组件将多个分块文件分配至对应的传输组件进行传输,终端设备在确定所有传输组件传输完成对应的分块文件后,结束本次传输过程。
本申请实施例提供的文件传输方法,终端设备在接收到用户的文件传输请求后,通过鉴权服务器验证用户的身份认证信息,保证用户身份认证信息合法后,终端设备对待传输文件根据终端设备所处的网络环境对待传输文件进行分块,并将多个分块文件分配至对应的传输组件。终端设备在获取到任一分块文件的传输情况为传输失败时,自动对传输失败的分块文件发起传输,直至所有分块文件传输完成。
采用上述处理方式,可以根据不同终端设备的网络环境状况制定不同的分块策略,充分利用终端设备的网络资源,这样即使终端设备的网络环境较差,也能有效的提升传输的成功率。对传输失败的分块分件可以进行重新传输,进一步提高了传输过程的效率。
如图10所示,本申请实施例还提供一种文件传输装置100,包括:接收模块1001、监控模块1002、调度模块1003以及传输模块1004。
接收模块1001,用于接收基于安全文件传送协议SFTP的文件传输请求。
监控模块1002,用于在所述文件传输请求所请求的待传输文件的大小大于阈值时,根据带宽和最大并发数对所述待传输文件分块,得到多个分块文件。
生成所述多个分块文件的配置文件;所述配置文件包括所述多个分块文件的分块数、各所述分块文件的大小以及用于传输所述多个分块文件的传输组件的传输状态。
调度模块1003,根据所述配置文件为所述多个分块文件分配对应的传输组件。
传输模块1004,用于传输所述多个分块文件,其中,在传输所述多个分块文件时,将各所述分块文件的传输情况实时更新在所述配置文件中;所述传输情况包括:传输完成或传输失败。
图11为本申请实施例提供的文件传输终端设备的结构示意图。如图11所示,本实施例提供的文件传输终端设备110可以包括:
处理器1101。
存储器1102,用于存储终端设备的可执行指令。
其中,处理器配置为经由执行可执行指令来执行上述文件传输方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述文件传输方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
一种可能的实现方式中,计算机可读介质可以包括随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read-Only Memory,ROM),只读光盘(compact discread-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述文件传输方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在上述终端设备或者服务器的具体实现中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员可以理解,上述任一方法实施例的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行上述方法实施例的全部或部分的步骤。
本申请技术方案如果以软件的形式实现并作为产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括计算机程序或者若干指令。该计算机软件产品使得计算机设备(可以是个人计算机、服务器、网络设备或者类似的电子设备)执行本申请实施例一所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本发申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种文件传输方法,其特征在于,应用于终端设备,所述方法包括:
接收基于安全文件传送协议SFTP的文件传输请求;
在所述文件传输请求所请求的待传输文件的大小大于阈值时,根据带宽和最大并发数对所述待传输文件分块,得到多个分块文件;
生成所述多个分块文件的配置文件;所述配置文件包括所述多个分块文件的分块数、各所述分块文件的大小以及用于传输所述多个分块文件的传输组件的传输状态;
根据所述配置文件为所述多个分块文件分配对应的传输组件,以传输所述多个分块文件;
其中,在传输所述多个分块文件时,将各所述分块文件的传输情况实时更新在所述配置文件中;所述传输情况包括:传输完成或传输失败。
2.根据权利要求1所述的方法,其特征在于,所述根据带宽和最大并发数对所述待传输文件分块包括:
获取所述待传输文件的大小、所述带宽以及所述最大并发数;
计算所述带宽以及所述最大并发数的比值;根据所述待传输文件的大小和所述比值,对所述传输文件进行分块。
3.根据权利要求1或2所述的方法,其特征在于,所述传输状态包括空闲、繁忙或停用。
4.根据权利要求3所述的方法,其特征在于,所述根据所述配置文件为所述多个分块文件分配对应的传输组件,包括:
根据所述配置文件为所述多个分块文件循环分配处于所述空闲的状态的传输组件,直到所述多个分块文件均传输完成。
5.根据权利要求1所述的方法,其特征在于,还包括:
在传输所述多个分块文件时,若存在传输中断的目标分块文件,将所述目标分块文件传输失败的情况更新在所述配置文件中;以及,
为所述目标分块文件重新分配传输组件,以重新传输所述目标分块文件。
6.根据权利要求1或5所述的方法,其特征在于,还包括:
在任一分块文件在传输组件中传输完成后,计算所述任一分块文件的弱校验值;
在所述任一分块文件的弱校验值与预设的弱校验值匹配时,计算所述任一分块文件的强校验值;
在所述任一分块文件的强校验值与预设的强校验值匹配时,在所述配置文件中记录所述任一分块文件为传输完成;
在所述任一分块文件的弱校验值与预设的弱校验值不匹配,或,所述任一分块文件的强校验值与预设的强校验值不匹配时,在所述配置文件中记录所述任一分块文件为传输失败。
7.根据权利要求1所述的方法,其特征在于,所述根据带宽和最大并发数对所述待传输文件分块之前,还包括:
向鉴权服务器发送身份认证信息;
接收所述鉴权服务器返回的秘钥信息;
将所述秘钥信息与储存在本地的秘钥信息进行验证;
若所述验证成功,确定所述待传输文件的大小。
8.根据权利要求7所述的方法,其特征在于,所述电子设备设置有身份认证组件、监控组件、调度组件;
其中,所述身份认证组件用于执行鉴权的步骤,所述监控组件用于执行分块的步骤和监控传输过程,所述调度组件用于为所述多个分块文件分配对应的传输组件。
9.一种文件传输装置,其特征在于,包括:
接收模块,用于接收基于安全文件传送协议SFTP的文件传输请求;
监控模块,用于在所述文件传输请求所请求的待传输文件的大小大于阈值时,根据带宽和最大并发数对所述待传输文件分块,得到多个分块文件;以及用于生成所述多个分块文件的配置文件;所述配置文件包括所述多个分块文件的分块数、各所述分块文件的大小以及用于传输所述多个分块文件的传输组件的传输状态;
调度模块,用于根据所述配置文件为所述多个分块文件分配对应的传输组件;
传输模块,用于传输所述多个分块文件,其中,在传输所述多个分块文件时,将各所述分块文件的传输情况实时更新在所述配置文件中;所述传输情况包括:传输完成或传输失败。
10.一种终端设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248079.4A CN114584556A (zh) | 2022-03-14 | 2022-03-14 | 文件传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210248079.4A CN114584556A (zh) | 2022-03-14 | 2022-03-14 | 文件传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114584556A true CN114584556A (zh) | 2022-06-03 |
Family
ID=81780157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210248079.4A Pending CN114584556A (zh) | 2022-03-14 | 2022-03-14 | 文件传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584556A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110162050A1 (en) * | 2009-12-30 | 2011-06-30 | Intergraph Technologies Company | System and Method for Transmission of Files Within a Secured Network |
CN103442037A (zh) * | 2013-08-09 | 2013-12-11 | 华南理工大学 | 一种基于ftp协议实现超大文件多线程断点上传的方法 |
CN104811499A (zh) * | 2015-05-14 | 2015-07-29 | 广东中烟工业有限责任公司 | 一种网络文件传输优化方法 |
CN105208108A (zh) * | 2015-08-31 | 2015-12-30 | 北京奇虎科技有限公司 | Web环境下的文件上传/下载方法及系统、服务器、客户端 |
CN106469152A (zh) * | 2015-08-14 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 一种基于etl的文件处理方法及系统 |
CN108933805A (zh) * | 2017-05-26 | 2018-12-04 | 武汉斗鱼网络科技有限公司 | 一种文件传输方法及系统 |
CN112583904A (zh) * | 2020-12-04 | 2021-03-30 | 北京百度网讯科技有限公司 | 文件上传方法、装置、设备以及存储介质 |
CN113810433A (zh) * | 2020-06-11 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 文件上传方法、装置和计算机设备 |
-
2022
- 2022-03-14 CN CN202210248079.4A patent/CN114584556A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110162050A1 (en) * | 2009-12-30 | 2011-06-30 | Intergraph Technologies Company | System and Method for Transmission of Files Within a Secured Network |
CN103442037A (zh) * | 2013-08-09 | 2013-12-11 | 华南理工大学 | 一种基于ftp协议实现超大文件多线程断点上传的方法 |
CN104811499A (zh) * | 2015-05-14 | 2015-07-29 | 广东中烟工业有限责任公司 | 一种网络文件传输优化方法 |
CN106469152A (zh) * | 2015-08-14 | 2017-03-01 | 阿里巴巴集团控股有限公司 | 一种基于etl的文件处理方法及系统 |
CN105208108A (zh) * | 2015-08-31 | 2015-12-30 | 北京奇虎科技有限公司 | Web环境下的文件上传/下载方法及系统、服务器、客户端 |
CN108933805A (zh) * | 2017-05-26 | 2018-12-04 | 武汉斗鱼网络科技有限公司 | 一种文件传输方法及系统 |
CN113810433A (zh) * | 2020-06-11 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 文件上传方法、装置和计算机设备 |
CN112583904A (zh) * | 2020-12-04 | 2021-03-30 | 北京百度网讯科技有限公司 | 文件上传方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10586027B2 (en) | Method, device and system for sharing cross-platform account resources | |
US20210256016A1 (en) | Blockchain system and method | |
CN110177124B (zh) | 基于区块链的身份认证方法及相关设备 | |
US11025425B2 (en) | User security token invalidation | |
CN109951546B (zh) | 基于智能合约的事务请求处理方法、装置、设备和介质 | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
WO2019201040A1 (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN111651747B (zh) | 登录票据同步系统及方法、相关设备 | |
CN111669351B (zh) | 鉴权方法、业务服务器、客户端及计算机可读存储介质 | |
CN110891062A (zh) | 密码更改方法、服务器及存储介质 | |
CN111988262B (zh) | 认证方法、装置及服务器、存储介质 | |
CN112131041A (zh) | 用于管理数据放置的方法、设备和计算机程序产品 | |
CN108898026A (zh) | 数据加密方法和装置 | |
US8412844B2 (en) | Validating download success | |
CN108924149B (zh) | 一种基于Token令牌的身份合法性验证方法及系统 | |
CN111327680A (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN112994882B (zh) | 基于区块链的鉴权方法、装置、介质及设备 | |
CN114584556A (zh) | 文件传输方法和装置 | |
CN111092864B (zh) | 一种会话保护方法、装置、设备及可读存储介质 | |
CN114546582A (zh) | 针对备份相关操作的许可 | |
US20170169239A1 (en) | Method for file synchronization, the receiver equipment and systems | |
US20200401561A1 (en) | Method, device, and computer program product for managing data object | |
CN110958211B (zh) | 一种基于区块链的数据处理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |