CN116546006A - 文件分片续传方法、装置、设备、介质及产品 - Google Patents
文件分片续传方法、装置、设备、介质及产品 Download PDFInfo
- Publication number
- CN116546006A CN116546006A CN202310582983.3A CN202310582983A CN116546006A CN 116546006 A CN116546006 A CN 116546006A CN 202310582983 A CN202310582983 A CN 202310582983A CN 116546006 A CN116546006 A CN 116546006A
- Authority
- CN
- China
- Prior art keywords
- file
- information
- fragment
- uploaded
- authentication
- 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
- 239000012634 fragment Substances 0.000 title claims abstract description 263
- 230000005540 biological transmission Effects 0.000 title claims abstract description 136
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012795 verification Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013467 fragmentation Methods 0.000 claims description 8
- 238000006062 fragmentation reaction Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种文件分片续传方法、装置、设备、介质及产品,涉及大数据领域,该方法包括:接收文件分片续传请求;响应于鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,该文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件;响应于文件列表清单的文件选择信息,所述文件信息携带已选择的未上传完成文件及其第一详情信息,从所述接收服务器调取所述未上传完成文件的第二详情信息;在确定所述第一详情信息和所述第二详情信息匹配成功时,基于所述未上传完成文件的未上传分片清单将未上传的文件分片续传至所述接收服务器中。通过上述方法,本申请有效保障了文件分片续传的一致性和完整性,并实现了文件分片的有序续传功能。
Description
技术领域
本申请涉及大数据领域,尤其涉及一种文件分片续传方法、装置、设备、介质及产品。
背景技术
超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)是一个请求-响应协议,常用于浏览器与服务器之间的交互。用户在使用浏览器时,通常可以利用HTTP技术来从服务器下载文件或者上传文件至服务器。
目前通过浏览器的下载技术,上传大文件经常会面对文件上传速度慢、被网关限制文件大小,以及由于HTTP传输丢失数据包造成的文件不完整等问题。相关技术中提出了采用对大文件进行分片处理及传输的方案,以保证文件的完整性以及高效传输性。
然而在文件上传过程中,如果遇到浏览器崩溃、网络超时或者传输时间过长等原因,均可能出现单次上传中止的情况,用户需要重启浏览器或重新登录后,对之前上传的文件进行续传。但由于目前没有关于文件分片的续传机制,系统难以判断用户发起的续传请求是针对哪个文件及对应的文件分片,导致用户在重启浏览器后可能针对没有权限的其它文件进行分片的续传,整个文件分片的续传过程混乱,且影响了文件传输的一致性和完整性。
发明内容
本申请提供一种文件分片续传方法、装置、设备、介质及产品,以解决文件分片续传过程中的一致性和完整性问题。
根据本申请的第一方面,提供一种文件分片续传方法,包括:
接收文件分片续传请求,所述文件分片续传请求携带鉴权信息;
响应于所述鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,所述文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件;
响应于所述文件列表清单的文件选择信息,所述文件信息携带已选择的未上传完成文件及其第一详情信息,从所述接收服务器调取所述未上传完成文件的第二详情信息;
在确定所述第一详情信息和所述第二详情信息匹配成功时,基于所述未上传完成文件的未上传分片清单将未上传的文件分片续传至所述接收服务器中。
在一种实施方式中,所述鉴权信息包括请求方的第一账户信息,
则响应于所述鉴权信息的鉴权通过结果,包括:
校验所述第一账户信息和用于上传文件的第二账户信息是否相同;
在所述第一账户信息和所述第二账户信息相同时,以响应于所述鉴权信息的鉴权通过结果。
在一种实施方式中,所述确定所述第一详情信息和所述第二详情信息匹配成功,包括:
分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对;
在所述文件基本信息和所述文件分片信息的比对结果一致时,确定所述第一详情信息和所述第二详情信息匹配成功。
在一种实施方式中,所述文件基本信息至少包括以下信息之一:任务标识信息、文件大小和文件信息摘要值;所述文件分片信息至少包括以下信息之一:分片大小、分片传输状态和分片信息摘要值。
在一种实施方式中,所述文件分片续传请求为所述终端设备将文件分片续传至接收服务器,并使接收服务器基于SFTP会话通道将文件分片实时转储至存储服务器中的请求;所述文件分片信息包括分片偏移量、分片大小和分片信息摘要值;
所述分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对,包括:
若所述第一详情信息中的文件基本信息和所述第二详情信息中的文件基本信息的比对结果一致;
则基于所述第一详情信息中的文件基本信息对应的分片偏移量和分片大小读取对应分片的字节数组,并基于所述字节数组获取对应分片的信息摘要处理值;
若所述信息摘要处理值和所述第二详情信息中的文件基本信息对应的分片信息摘要值一致,则确定所述文件基本信息和所述文件分片信息的比对结果一致。
在一种实施方式中,所述方法还包括:
在确定所述第一详情信息和所述第二详情信息匹配成功时,将所述第一详情信息或者所述第二详情信息中标识的分片传输状态为未传输完成的文件分片确定为待续传文件分片,并基于所述待续传文件分片创建未上传分片清单。
在一种实施方式中,在基于所述未上传完成文件的未上传分片清单将未上传的文件分片续传至所述接收服务器中之后,还包括:
在接收到第一校验通过指示时,将校验通过的文件分片从所述未上传分片清单中删除;其中,所述第一校验通过指示是对应文件分片续传完毕,并在所述文件分片的信息摘要值校验通过时,所述接收服务器向所述终端设备反馈的;
和/或,
在接收到第二校验通过指示时,将校验通过的未上传完成文件更新为已上传文件;其中,所述第二校验通过指示是对应的未上传完成文件的所有文件分片续传完毕,并在所述未上传完成文件的信息摘要总值校验通过时,所述接收服务器向所述终端设备反馈的。
根据本申请的第二方面,提供一种文件分片续传装置,应用于终端设备,包括:
请求接收模块,其设置为接收文件分片续传请求,所述文件分片续传请求携带鉴权信息;
鉴权调取模块,其设置为响应于所述鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,所述文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件;
选择调取模块,其设置为响应于所述文件列表清单的文件选择信息,所述文件信息携带已选择的未上传完成文件及其第一详情信息,从所述接收服务器调取所述未上传完成文件的第二详情信息;
分片续传模块,其设置为在确定所述第一详情信息和所述第二详情信息匹配成功时,基于所述未上传完成文件的未上传分片清单对未上传的文件分片进行续传。
在一种实施方式中,所述鉴权信息包括请求方的第一账户信息,
则鉴权调度模块包括:校验单元,其设置为校验所述第一账户信息和用于上传文件的第二账户信息是否相同;响应单元,其设置为在所述第一账户信息和所述第二账户信息相同时,以响应于所述鉴权信息的鉴权通过结果。
在一种实施方式中,所述分片续传模块包括:
比对单元,其设置为分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对;
匹配单元,其设置为在所述文件基本信息和所述文件分片信息的比对结果一致时,确定所述第一详情信息和所述第二详情信息匹配成功。
根据本申请的第三方面,提供一种终端设备,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述终端设备执行所述的文件分片续传方法。
根据本申请的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的文件分片续传方法。
根据本申请的第五方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行所述的文件分片续传方法。
可以理解的,本申请实施例提供的文件分片续传方法、装置、设备、介质及产品,通过接收文件分片续传请求,该文件分片续传请求携带鉴权信息;响应于该鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,该文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件;响应于该文件列表清单的文件选择信息,该文件信息携带已选择的未上传完成文件及其第一详情信息,从接收服务器调取所述未上传完成文件的第二详情信息;在确定第一详情信息和第二详情信息匹配成功时,基于未上传完成文件的未上传分片清单将未上传的文件分片续传至接收服务器中。此过程中,通过对文件分片续传请求进行身份鉴权,对文件的续传权限进行了限定保护,并在鉴权通过时从接收服务器端调取文件列表清单,以供用户在客户端选择对应的未上传完成文件及对应的第一详情信息,将第一详情信息和接收服务器的第二详情信息进行匹配,匹配成功时启动文件分片的续传流程,有效保障了文件分片续传的一致性和完整性,并实现了文件分片的有序续传功能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种文件分片续传方法的流程示意图;
图2为图1中步骤S102的流程示意图;
图3为图1中步骤S103的流程示意图;
图4为本申请实施例提供的另一种文件分片续传方法的流程示意图;
图5为本申请一示例性实施例提供的一种文件分片续传方法的流程示意图;
图6为本申请实施例提供的一种文件分片续传装置的结构示意图;
图7为本申请实施例提供的一种终端设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
在一种可能的应用场景下,包括终端设备、接收服务器、调度服务器和存储服务器,其中,终端设备、接收服务器、调度服务器和存储服务器之间通过有线或者无线网络连接,可选地,接收服务器和存储服务器的数量可以为两个以上,二者数量可以不同,例如接收服务器数量为三个,存储服务器为五个。本实施例中,以终端设备中的浏览器作为请求端或者客户端为例,终端设备通过网络与接收服务器进行数据交互。用户在浏览器上可以通过超文本协议(Hyper Text TransferProtocol,HTTP)技术上传大文件到接收服务器,并在文件传输中断等情况下,向接收服务器发起文件分片续传请求。大文件具体可以是指占用存储空间较大的文件,例如生活中常见的视频文件、应用软件安装文件等;调度服务器用于从多个存储服务器中用于接收对应接收服务器转储的目标文件的目标存储服务器,终端设备在接收到文件分片续传请求后,对文件分片续传请求进行校验,并在校验通过后,向接收服务器发送待续传的文件分片,接收服务器将续传的文件分片实时转储到目标存储服务器。
其中,客户端可以包括但不限于,电脑、智能手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面3(Moving Picture experts group audio layer III,简称MP3)播放器、动态影像专家压缩标准音频层面4(Moving Picture experts group audiolayer IV,简称MP4)播放器、便携计算机、车载电脑、可穿戴设备、台式计算机、机顶盒、智能电视等等。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请的文件分片传输方法可用于金融科技领域。也可用于除金融科技领域以外的任意领域,本申请的文件分片传输方法应用领域不作限定。
在实际生活应用中,如果遇到浏览器崩溃、网络超时或者传输时间过长等原因,均可能出现单次上传中止的情况,用户需要重启浏览器或重新登录后,对之前上传的文件进行续传。但由于目前没有关于文件分片的续传机制,系统难以判断用户发起的续传请求是针对哪个文件及对应的文件分片,导致用户在重启浏览器后可能针对没有权限的其它文件进行分片的续传,整个文件分片的续传过程混乱,且影响了文件传输的一致性和完整性。
有鉴于此,本实施例提供一种文件分片续传方法、装置、设备、介质及产品,通过接收文件分片续传请求,所述文件分片续传请求携带鉴权信息;响应于所述鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,所述文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件;响应于所述文件列表清单的文件选择信息,所述文件信息携带已选择的未上传完成文件及其第一详情信息,从所述接收服务器调取所述未上传完成文件的第二详情信息;在确定所述第一详情信息和所述第二详情信息匹配成功时,基于所述未上传完成文件的未上传分片清单将未上传的文件分片续传至所述接收服务器中。此过程中,通过对文件分片续传请求进行身份鉴权,对一般性文件的续传权限进行了限定保护,并在鉴权通过时从接收服务器端调取文件列表清单,以供用户在客户端选择对应的未上传完成文件及对应的第一详情信息,将第一详情信息和接收服务器的第二详情信息进行匹配,匹配成功时启动文件分片的续传流程,可以有效保障文件分片续传的一致性和完整性,并实现文件分片的有序续传功能。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
上面对本申请的应用场景进行了简单说明,下面以应用于终端设备为例,来详细说明本申请实施例提供的文件分片续传方法。
请参照图1,图1为本申请实施例提供的一种文件分片续传方法的流程示意图,如图1所示,包括以下步骤S101-S104。
步骤S101、接收文件分片续传请求,所述文件分片续传请求携带鉴权信息。
相关技术中,对于文件的中断续传,通常是针对文件的整体传输而言,主要考虑的是对文件的断点位置进行确定和保存,并在续传过程中利用该断点位置继续上传文件,文件的整体传输通常不会产生文件续传的一致性和完整性问题。而由于采用分片传输的方式进行文件上传,如果不对文件续传过程进行权限限定以及上传详情的校验,将容易导致文件分片续传至没有权限的其它文件中,这将造成文件分片的续传混乱,且极大可能无法保证文件分片续传的一致性和完整性。
本实施例中,用户在需要对文件分片进行续传时,向终端设备发起文件分片续传请求,该分片续传请求需要携带用户的鉴权信息,并在终端设备对其鉴权通过时,执行相关的文件续传步骤,以保证用户具有文件的续传权限,避免文件续传的混乱。
步骤S102、响应于所述鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,所述文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件。
可以理解的,响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
本实施例中,终端设备可以对鉴权信息进行鉴权,也可以是终端设备接收的其它终端或者服务器对鉴权信息的鉴权结果(可以为鉴权通过结果或者鉴权不通过结果)。当响应于鉴权通过结果,从接收服务器调取文件列表清单,具体地,接收服务器的文件列表清单中的信息,为接收服务器针对历史上传文件的记录和汇总,示例性的,接收服务器中建立用于存储上传文件的任务信息,并采用列表形式记录各个上传文件的状态,接收服务器针对每次上传文件的具体传输情况记录在该数据库中,当接收到终端设备发起的文件列表清单调取请求时,根据该终端设备的鉴权信息向终端设备发送鉴权范围内的未上传完成的至少一个文件。
在一种实施方式中,采用用户账户机制对续传请求进行鉴权,对文件的续传权限进行限定保护。具体地,所述鉴权信息包括请求方的第一账户信息,则如图2所示,步骤S102响应于所述鉴权信息的鉴权通过结果,可以包括以下步骤S102a和步骤S102b。
步骤S102a、校验所述第一账户信息和用于上传文件的第二账户信息是否相同;
步骤S102b、在所述第一账户信息和所述第二账户信息相同时,以响应于所述鉴权信息的鉴权通过结果。
在一可实现中,终端设备中可以增加用于登录用户账户的登录页面功能,用户在进行文件(分片)传输和文件(分片)续传时,首先使用其账户信息登入该登录页面,如此,在终端设备进行文件传输时,都能够记录上传文件的账户信息(第二账户信息),对于多个账户上传文件的情况,终端设备均予以记录;用户在需要进行文件分片续传时,通过在登录页面登录自己的账户信息(第一账户信息),终端设备首先将该第一账户信息和终端设备记录的历史上传文件的第二账户信息进行校验,如果历史上传文件的第二账户信息为多个,可以分别将多个第二账户信息和该第一账户信息进行校验,如果存在其中第一个第二账户信息和该第一账户信息相同,则该鉴权信息的鉴权通过。
示例性地,上述鉴权范围内未上传完成的至少一个文件,即第一账户信息和第二账户信息相同时,基于该第二账户信息上传文件所产生的未上传完成文件。
此过程中,采用用户账户的形式对文件分片续传请求进行鉴权验证,可以快速校验续传用户是否进行过文件的上传操作,以保障文件分片续传的安全性,进而减少分片续传过程的混乱,并且鉴权效率高、操作便捷。在一些实施例中,除了上述鉴权方式外,也可以采用其它鉴权信息进行鉴权,例如加密秘钥等方式。
需要说明的是,本实施例中的第一账户信息和第二账户信息仅用于区分类似对象,而并无其它特殊含义,其可以是相同的内容也可以是不同的内容。
步骤S103、响应于所述文件列表清单的文件选择信息,所述文件信息携带已选择的未上传完成文件及其第一详情信息,从所述接收服务器调取所述未上传完成文件的第二详情信息。
本实施例中,终端设备从接收服务器中到文件列表清单后,用户可以在终端设备的续传页面,选择该文件列表清单中的一个或多个未上传文件进行续传,并针对该一个或多个未上传文件,从终端设备获取其对应的第一详情信息。具体地,终端设备端在进行文件上传时,同样会保留文件上传详情信息。
可选地,用户根据返回的文件列表清单,从浏览器所在电脑本地选中在所述文件列表清单中对应的需要续传的文件;浏览器端网页应用响应于用户选中文件的onchange事件,获取文件的二进制Blob对象的访问权限,以获取对应文件在本地的第一详情信息,并向服务器发起文件的第二详情信息的查询请求(该请求中可以包含对应文件的任务TASK_ID信息),服务器响应于浏览器端的请求,根据接收到的TASK_ID,查询并返回对应文件上传状态的详细信息(即第二详情信息)。
其中,第一详情信息和/或第二详情信息,可以包括但不限于一下内容:文件基本信息和文件分片信息,其中文件基本信息可以包括以下之一或者组合:任务标识信息(TASK_ID)、文件大小(FILE_SIZE)和文件信息摘要值MD5;文件分片信息可以包括以下信息之一或者组合:分片大小(SLICE_SIZE)、分片传输状态(STATE)和分片信息摘要值(MD5_SLICE)。
需要说明的是,上述信息仅为对本实施例的列举而并非限定。在一些实施例中,文件基本信息还可以包括文件的前1024字节MD5值(MD5_1024)、已传输文件大小(RECEIVED_TOTAL_SIZE),文件分片信息还可以包括:分片偏移量(SLICE_OFFSET)等。
此外,本实施例中通过从接收服务器调取文件列表清单并选择需要续传的文件,还可以有效解决当用户同时进行多个文件传输时,文件出现中断的情况下,用户重新登录时难以快速找到需要继续上传的文件的问题,进一步提高了文件分片续传的效率。
在一种实施方式中,第一详情信息和第二详情信息中包含多种类型的信息,通过对多种类型的信息进行一一比对,以提高详情信息校验的准确性。具体地,步骤S103确定所述第一详情信息和所述第二详情信息匹配成功,如图3所示,可以包括以下步骤:
步骤S103a、分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对;
步骤S103b、在所述文件基本信息和所述文件分片信息的比对结果一致时,确定所述第一详情信息和所述第二详情信息匹配成功。
在一种实施方式中,为了进一步提高详情信息的校验效率,并考虑到待续传的文件为需要采用安全文件传输协议(SSH File Transfer Protocol,简称SFTP)实时转储的文件时的检验过程。本实施例中,所述文件分片续传请求为所述终端设备将文件分片续传至接收服务器,并使接收服务器基于SFTP会话通道将文件分片实时转储至存储服务器中的请求;所述文件分片信息包括分片偏移量、分片大小和分片信息摘要值。
可以理解的,SFTP可以为传输文件提供一种安全的网络的加密方法。相关技术利用SFTP的apend追加访问模式,通过在存储服务器中创建指定文件大小size的存储文件(用于写入文件分片的文件),以设置绝对偏移量=offset(实际偏移量)-size的负数偏移量形式,来变相实现存储文件的随机访问形式,进而实现文件分片写入到存储服务器中的存储文件的指定偏移量中。本实施例中,在该种文件分片传输形式下,文件分片信息可以包括分片偏移量信息,并可以利用分片偏移量信息和分片大小来计算本地MD5(即终端设备端的分片MD5值),并将该本地MD5与接收客户端的MD5进行比对校验,以实现对SFTP转储形式下的分片详情信息的校验。
其中,文件分片信息可以为未上传文件的已上传的文件分片信息。
步骤S103a中分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对,可以包括以下步骤:
若所述第一详情信息中的文件基本信息和所述第二详情信息中的文件基本信息的比对结果一致;
则基于所述第一详情信息中的文件基本信息对应的分片偏移量和分片大小读取对应分片的字节数组,并基于所述字节数组获取对应分片的信息摘要处理值;
若所述信息摘要处理值和所述第二详情信息中的文件基本信息对应的分片信息摘要值一致,则确定所述文件基本信息和所述文件分片信息的比对结果一致。
示例性地,首先进行文件基本信息的校验:对文件大小校验,用户选择文件大小应当于服务端返回文件大小一致;文件MD5_1024校验(可以为当前没有记录文件完整MD5),用户选择的文件的前1024字节的本地MD5摘要计算值,应当与服务端返回的MD5_1024一致;文件完整MD5校验(如果详情信息中没有记录则可以不校验),如果服务端返回文件完整MD5,用户选择的文件的前本地完整MD5摘要计算值,应当与服务端返回的MD5_TOTAL一致。在文件基本信息校验通过后,进一步校验文件分片信息,如果文件基本信息校验不通过,则可以发出校验不通过信息,指示用户重新选择待续传的文件:根据分片的分片偏移量(SLICE_OFFSET),分片大小(SLICE_SIZE)读取分片的字节数组,并计算分片的本地MD5摘要,然后与接收服务器端返回的摘要值比对一致,如上述之一的信息比对发生不一致,则提示用户,候选文件与原上传文件不符,需要重新选择,或退出。当上述信息均一一比对一致通过后,确定第一详情信息和第二详情信息匹配成功。
步骤S104、在确定所述第一详情信息和所述第二详情信息匹配成功时,基于所述未上传完成文件的未上传分片清单将未上传的文件分片续传至所述接收服务器中。
本实施例中,采用上述校验方式,针对每个未上传文件的详情信息进行匹配校验,对于校验通过的多个未上传文件,可以同时进行多个未上传文件的未完成文件分片续传,有效提高了文件续传效率。
可选地,在基于SFTP技术对文件分片进行实时转储的文件传输的场景下,终端设备根据未上传分片清单依次将未上传的文件分片传输至接收服务器中,接收服务器在接收到文件分片后对该文件分片的摘要值进行校验,并在校验通过时,基于SFTP技术实时将文件分片转储到存储服务器的存储文件的指定偏移量中。
进一步地,本实施例通过将分片传输状态为未传输完成的文件分片确定为待续传文件分片,并创建未上传分片清单,可以进一步实现未上传分片的有序续传,具体地,该方法还可以包括以下步骤:
在确定所述第一详情信息和所述第二详情信息匹配成功时,将所述第一详情信息或者所述第二详情信息中标识的分片传输状态为未传输完成的文件分片确定为待续传文件分片,并基于所述待续传文件分片创建未上传分片清单。
本实施例中,接收服务器(或终端设备)在接收(发送)历史上传文件的文件分片时,可以在第一详情信息(或第二详情信息)中记录文件分片的分片传输状态。当终端设备具有文件分片的续传需求,通过将标识为文传输完成的文件分片确定为待续传文件分片,并创建相应的未上传分片清单,并基于该未上传分片清单依次对文件分片进行续传。
可选地,请参照图4,图4为本申请实施例提供的又一种文件分片续传方法的流程示意图,通过在文件分片和/或文件传输成功时,对清单中相关信息进行删除或者文件上传状态的更新,可以有效避免同一文件分片和/或同一文件的多次上传,便于文件分片的传输管理。具体地,在步骤S104基于所述未上传完成文件的未上传分片清单将未上传的文件分片续传至所述接收服务器中之后,还可以包括以下步骤:
步骤S401、在接收到第一校验通过指示时,将校验通过的文件分片从所述未上传分片清单中删除;其中,所述第一校验通过指示是对应文件分片续传完毕,并在所述文件分片的信息摘要值校验通过时,所述接收服务器向所述终端设备反馈的;
步骤S402、在接收到第二校验通过指示时,将校验通过的未上传完成文件更新为已上传文件;其中,所述第二校验通过指示是对应的未上传完成文件的所有文件分片续传完毕,并在所述未上传完成文件的信息摘要总值校验通过时,所述接收服务器向所述终端设备反馈的。
需要说明的是,上述步骤S401和步骤S402可以为择一的或者组合的,在组合的示例中,步骤S401和步骤S402本有固定顺序,可以是并行也可以是先后执行的,本实施例对此不作具体限定。
为便于对本申请技术方案的理解,结合图5所示,本实施例一示例性实施例结合客户端、接收服务器、调度服务器和存储服务器进行整体说明,包括以下流程:
步骤S501、终端设备向接收服务器发起文件分片续传请求,请求接收服务器向其反馈未完成的文件列表清单,该请求携带用户的账户信息或者其它鉴权信息。
需要说明的是,针对文件分片续传的前期传输阶段(即在文件分片传输中断之前),接收服务器记录文件分片传输的任务(详情)信息,以便于文件分片中断时的续传。其中,任务详情信息可以包括但不限于以下信息:文件前1024字节MD5摘要信息MD5_1024;文件大小:FILE_SIZE;文件任务标识:TASK_ID;文件完整MD5摘要信息:MD5_TOTAL,(可以为终端设备计算完成后,通过异步接口上送后,接收服务器所具备的此信息);接收服务器已接收分片清单;已接收的每个分片的详细信息:(分片列表信息);分片偏移量SLICE_OFFSET;分片大小SLICE_SIZE;分片MD5值MD5_SLICE;分片在存储服务器存储完成情况STATE=[COMPLETE|INIT|ABORT|TIMEOUT];接收服务器已接收文件大小,RECEIVED_TOTAL_SIZE;文件上传(临时文件归属)用户账号。
在一些可能的示例中,以上信息分别在上传初始阶段和文件完整MD5上送阶段和分片上传阶段,记录到接收服务器的数据库中。
步骤S502、接收服务器向终端设备反馈未完成的文件清单列表。
步骤S503、终端设备根据接收服务器反馈的文件清单列表,打开续传页面。
步骤S504、用户在续传页面中选择本地的续传文件。
步骤S505、终端设备的JS脚本通过onchange事件获取用户选择的续传文件。
步骤S506、终端设备向接收服务器发起文件详情信息请求,请求参数可以包括文件的任务标识TaskID,用户账户信息。
步骤S507、接收服务器响应于文件详情信息请求,返回指定文件的任务详情信息(即第二详情信息)。
步骤S508、终端设备读取选中文件二进制信息,获取文件的二进制Blob对象的访问权限,并读取文件对应的本地(任务)详情信息(即第一详情信息)。
步骤S509、终端设备对第一详情信息和第二详情信息中进行校验,在校验通过后,进入步骤S511进行文件续传,否则返回步骤S504执行选择续传文件的步骤重新选择续传文件。
可选地,终端设备先判断是否重新选择续传文件,如果是,则返回步骤S504,否则结束流程。
步骤S511、终端设备创建未上传分片清单。
步骤S512、终端设备向接收服务器发送文件续传请求。
步骤S513、接收服务器记录该文件对应的任务信息(可以包括TaskID、文件MD5_1024和未上传分片清单等信息)并存储到本地数据库中。
步骤S514、接收服务器向调度服务器发起转储请求,该转储请求携带文件MD5_1024。
步骤S515、调度服务器根据文件MD5_1024匹配对应的存储服务器。
在一可实现中,调度服务器可以根据该文件的TaskID查询是否曾经已匹配对应的存储服务器,如果是,则将已匹配的存储服务器信息发送给接收服务器,如果否,则根据预设配置信息和该文件MD5_1024为其分配存储服务器。其中,预设配置信息为调度服务器预先创建的关于MD5的目录结构表,目录结构表中包含MD5摘要的前四位的可能组合所形成的256*256个目录,并将目标结构表中的目录和系统中多个存储服务器进行关联配置,所得到的配置信息。
步骤S516、调度服务器将匹配到的存储服务器信息反馈给接收服务器,接收服务器记录调度服务器为其分配的存储服务器。
在一可实现中,替代上述步骤S514-S516的执行过程,接收服务器可以根据该文件的TaskID从本地数据库中调取该文件的历史任务信息,判断调度服务器是否已根据文件MD5_1024为其分配存储服务器,如果有,则无需再向调度服务器发起请求,而可以直接在接收到文件分片时,直接根据已分配的存储服务器进行文件分片的转储。
步骤S517、终端设备根据未上传分片清单,向接收服务器发送文件分片数据。设置执行条件:判断是否存在未发送分片,如果有,则执行步骤S518,如果无,则执行步骤S530。
步骤S518、终端设备读取文件分片,计算文件分片MD5、文件分片SIZE等。
步骤S519、终端设备向接收服务器传输文件分片,以http put请求的形式发送至接收服务器。
步骤S520、接收服务器对文件分片进行MD5校验,校验接收到的文件分片MD5和文件分片源MD5是否一致。
步骤S521、在文件分片的MD5值校验通过后,接收服务器通过全局锁控件(例如redission-rlock)锁定当前(存储)文件创建(操作)权限。
步骤S522、存储服务器确认文件创建情况。
步骤S523、接收服务器根据存储服务器的文件创建情况判断当前文件是否已经创建,如果没有创建,指示存储服务器创建文件,如果已创建,执行步骤S524。
具体地,文件可以调用SFTP的指定偏移量写入方法,创建指定大小文件,根据传入文件的大小确定存储文件大小。
步骤S524、存储服务器根据接收服务器的指示创建文件。
步骤S525、解锁当前文件的创建操作权限,并锁定当前文件分片的写入(写操作)权限。
其中,锁定文件创建权限,即锁定源文件MD5摘要值的全局文件创建权限;解锁文件创建操作权限,即解锁源文件MD5摘要值的全局文件创建权限。
步骤S526、存储服务器在文件分片的写入权限下,在存储文件中写入文件分片。
步骤S527、解锁当前文件分片的写入权限,以便于后续文件分片的写入。
可以理解的,上述步骤S505-S525为分片传输及转储阶段。
步骤S528、终端设备在进行分片续传过程中,并行计算文件的完整MD5值。
在一可实现中,终端设备首先从接收服务器调取完整MD5值,如果调取成功,说明在文件上传阶段文件完整MD5值计算完成,在文件分片续传阶段中可以无需再对文件完整MD5进行计算;如果调取失败,即接收服务器中没有记录文件完整MD5值,说明在文件上传阶段文件完整MD5值没有计算完成。
步骤S529、终端向接收服务器发送文件MD5设置请求(upload/md5),以同步目标文件的完整MD5值,接收服务器接收目标文件的完整MD5值,设置服务器数据库中的本次上传任务的完整MD5值。请求方式可以为post请求。
本实施例中,创建了客户端计算文件完整MD5的并行流程,流程于客户端响应服务端创建文件(upload/begin)后,与文件分片上传进行同步创建,用于计算文件的完整MD5值,并上送到接收服务器。
可以理解的,上述步骤S528和步骤S529为文件的完整MD5同步阶段。
步骤S530、在并行业务聚合节点等待前置并行流程(文件分片传输完成、MD5计算完成)全部完成。
客户端的并行流程聚合节点,在客户端通过设置循环延迟等待机制,等待文件分片上传(upload/slice),文件MD5设置(upload/set-md5)全部完成,并进入到流程的结束阶段。
步骤S531、终端向接收服务器发送请求步骤3:upload/finish请求(文件分片传输完成请求)。
可以理解的,当两个独立并行流程全部设置了结束标志时,由客户端触发结束流程。
步骤S532、接收服务器向存储服务器发起计算文件分片的MD5总值,同时从本地数据库调取客户端上送的目标文件的完整MD5值,校验是否一致,向客户端返回目标文件的传输成功或者失败的结果。
步骤S533、流程中止。
在实际应用中,浏览器崩溃等场景下的文件续传,一直是业内比较困难的课题。在相关公开的业务场景中,有基于文件统一资源帝威琪(Uniform Resource Locator,URL)地址一致性的幂等续传实现机制,但这种机制对两次上传文件的一致性和完整性缺少保护。本实施例利用了用户账号机制,对一般性文件的续传权限进行了限定保护,并通过任务详情信息、以及一系列的MD5摘要校验保证了续传文件与原文件的一致性,并结合HTTP分片上传机制,实现了最终的续传数据传输步骤,从而有效的解决了HTTP续传过程所存在的文件传输的完整性和一致性等问题,且具有广泛的普适性和通用性。
请参照图6,图6为本申请实施例提供的一种文件分片续传装置的结构示意图,应用于终端设备,该装置包括请求接收模块61、鉴权调取模块62、选择调取模块63及分片续传模块64,其中,
请求接收模块61,其设置为接收文件分片续传请求,所述文件分片续传请求携带鉴权信息;
鉴权调取模块62,其设置为响应于所述鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,所述文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件;
选择调取模块63,其设置为响应于所述文件列表清单的文件选择信息,所述文件信息携带已选择的未上传完成文件及其第一详情信息,从所述接收服务器调取所述未上传完成文件的第二详情信息;
分片续传模块64,其设置为在确定所述第一详情信息和所述第二详情信息匹配成功时,基于所述未上传完成文件的未上传分片清单对未上传的文件分片进行续传。
在一种实施方式中,所述鉴权信息包括请求方的第一账户信息,
则鉴权调度模块62包括:校验单元,其设置为校验所述第一账户信息和用于上传文件的第二账户信息是否相同;响应单元,其设置为在所述第一账户信息和所述第二账户信息相同时,以响应于所述鉴权信息的鉴权通过结果。
在一种实施方式中,所述分片续传模块64包括:
比对单元,其设置为分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对;
匹配单元,其设置为在所述文件基本信息和所述文件分片信息的比对结果一致时,确定所述第一详情信息和所述第二详情信息匹配成功。
在一种实施方式中,所述文件基本信息至少包括以下信息之一:任务标识信息、文件大小和文件信息摘要值;所述文件分片信息至少包括以下信息之一:分片大小、分片传输状态和分片信息摘要值。
在一种实施方式中,所述文件分片续传请求为所述终端设备将文件分片续传至接收服务器,并使接收服务器基于SFTP会话通道将文件分片实时转储至存储服务器中的请求;所述文件分片信息包括分片偏移量、分片大小和分片信息摘要值;
所述分别比对单元,具体设置为,若所述第一详情信息中的文件基本信息和所述第二详情信息中的文件基本信息的比对结果一致;则基于所述第一详情信息中的文件基本信息对应的分片偏移量和分片大小读取对应分片的字节数组,并基于所述字节数组获取对应分片的信息摘要处理值;若所述信息摘要处理值和所述第二详情信息中的文件基本信息对应的分片信息摘要值一致,则确定所述文件基本信息和所述文件分片信息的比对结果一致。
在一种实施方式中,装置还包括:
清单创建模块,其设置为在确定所述第一详情信息和所述第二详情信息匹配成功时,将所述第一详情信息或者所述第二详情信息中标识的分片传输状态为未传输完成的文件分片确定为待续传文件分片,并基于所述待续传文件分片创建未上传分片清单。
在一种实施方式中,装置还包括:
删除模块,其设置为在接收到第一校验通过指示时,将校验通过的文件分片从所述未上传分片清单中删除;其中,所述第一校验通过指示是对应文件分片续传完毕,并在所述文件分片的信息摘要值校验通过时,所述接收服务器向所述终端设备反馈的;
和/或,
更新模块,其设置为在接收到第二校验通过指示时,将校验通过的未上传完成文件更新为已上传文件;其中,所述第二校验通过指示是对应的未上传完成文件的所有文件分片续传完毕,并在所述未上传完成文件的信息摘要总值校验通过时,所述接收服务器向所述终端设备反馈的。
在此需要说明的是,本申请提供的上述装置,能够相应地实现上述方法实施例中终端设备所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例相应还提供一种终端设备,如图7所示,该终端设备可以包括:收发器71、处理器72、存储器73。
处理器72执行存储器存储的计算机执行指令,使得处理器72执行上述实施例中提供的文件分片续传方法。处理器72可以是通用处理器,包括中央处理器CPU、网络处理器(network processor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器73通过系统总线与处理器72连接并完成相互间的通信,存储器73用于存储计算机程序指令。
收发器71可以用于获取待运行任务和待运行任务的配置信息。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。
本申请实施例相应还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现所述的文件分片续传方法。
在此需要说明的是,本申请提供的上述计算机可读存储介质,能够相应地实现上述方法实施例中终端设备所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例相应还提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行所述的文件分片续传方法。
在此需要说明的是,本申请提供的上述程序产品,能够相应地实现上述方法实施例中终端设备所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例相应还提供一种芯片,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,执行所述的文件分片续传方法。
在此需要说明的是,本申请提供的上述芯片,能够相应地实现上述方法实施例中终端设备所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电控单元或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (13)
1.一种文件分片续传方法,其特征在于,应用于终端设备,包括:
接收文件分片续传请求,所述文件分片续传请求携带鉴权信息;
响应于所述鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,所述文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件;
响应于所述文件列表清单的文件选择信息,所述文件信息携带已选择的未上传完成文件及其第一详情信息,从所述接收服务器调取所述未上传完成文件的第二详情信息;
在确定所述第一详情信息和所述第二详情信息匹配成功时,基于所述未上传完成文件的未上传分片清单将未上传的文件分片续传至所述接收服务器中。
2.根据权利要求1所述的方法,其特征在于,所述鉴权信息包括请求方的第一账户信息,
则响应于所述鉴权信息的鉴权通过结果,包括:
校验所述第一账户信息和用于上传文件的第二账户信息是否相同;
在所述第一账户信息和所述第二账户信息相同时,以响应于所述鉴权信息的鉴权通过结果。
3.根据权利要求1所述的方法,其特征在于,所述确定所述第一详情信息和所述第二详情信息匹配成功,包括:
分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对;
在所述文件基本信息和所述文件分片信息的比对结果一致时,确定所述第一详情信息和所述第二详情信息匹配成功。
4.根据权利要求3所述的方法,其特征在于,所述文件基本信息至少包括以下信息之一:任务标识信息、文件大小和文件信息摘要值;所述文件分片信息至少包括以下信息之一:分片大小、分片传输状态和分片信息摘要值。
5.根据权利要求3或4所述的方法,其特征在于,所述文件分片续传请求为所述终端设备将文件分片续传至接收服务器,并使接收服务器基于SFTP会话通道将文件分片实时转储至存储服务器中的请求;所述文件分片信息包括分片偏移量、分片大小和分片信息摘要值;
所述分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对,包括:
若所述第一详情信息中的文件基本信息和所述第二详情信息中的文件基本信息的比对结果一致;
则基于所述第一详情信息中的文件基本信息对应的分片偏移量和分片大小读取对应分片的字节数组,并基于所述字节数组获取对应分片的信息摘要处理值;
若所述信息摘要处理值和所述第二详情信息中的文件基本信息对应的分片信息摘要值一致,则确定所述文件基本信息和所述文件分片信息的比对结果一致。
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
在确定所述第一详情信息和所述第二详情信息匹配成功时,将所述第一详情信息或者所述第二详情信息中标识的分片传输状态为未传输完成的文件分片确定为待续传文件分片,并基于所述待续传文件分片创建未上传分片清单。
7.根据权利要求1所述的方法,其特征在于,在基于所述未上传完成文件的未上传分片清单将未上传的文件分片续传至所述接收服务器中之后,还包括:
在接收到第一校验通过指示时,将校验通过的文件分片从所述未上传分片清单中删除;其中,所述第一校验通过指示是对应文件分片续传完毕,并在所述文件分片的信息摘要值校验通过时,所述接收服务器向所述终端设备反馈的;
和/或,
在接收到第二校验通过指示时,将校验通过的未上传完成文件更新为已上传文件;其中,所述第二校验通过指示是对应的未上传完成文件的所有文件分片续传完毕,并在所述未上传完成文件的信息摘要总值校验通过时,所述接收服务器向所述终端设备反馈的。
8.一种文件分片续传装置,其特征在于,应用于终端设备,包括:
请求接收模块,其设置为接收文件分片续传请求,所述文件分片续传请求携带鉴权信息;
鉴权调取模块,其设置为响应于所述鉴权信息的鉴权通过结果,从接收服务器中调取文件列表清单,所述文件列表清单包括所述鉴权信息对应的未上传完成的至少一个文件;
选择调取模块,其设置为响应于所述文件列表清单的文件选择信息,所述文件信息携带已选择的未上传完成文件及其第一详情信息,从所述接收服务器调取所述未上传完成文件的第二详情信息;
分片续传模块,其设置为在确定所述第一详情信息和所述第二详情信息匹配成功时,基于所述未上传完成文件的未上传分片清单对未上传的文件分片进行续传。
9.根据权利要求8所述的装置,其特征在于,所述鉴权信息包括请求方的第一账户信息,
则鉴权调度模块包括:校验单元,其设置为校验所述第一账户信息和用于上传文件的第二账户信息是否相同;响应单元,其设置为在所述第一账户信息和所述第二账户信息相同时,以响应于所述鉴权信息的鉴权通过结果。
10.根据权利要求8所述的装置,其特征在于,所述分片续传模块包括:
比对单元,其设置为分别将所述第一详情信息中的文件基本信息及对应的文件分片信息与所述第二详情信息中的文件基本信息及对应的文件分片信息进行一一比对;
匹配单元,其设置为在所述文件基本信息和所述文件分片信息的比对结果一致时,确定所述第一详情信息和所述第二详情信息匹配成功。
11.一种终端设备,其特征在于,包括:存储器和处理器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述终端设备执行权利要求1至7中任一项所述的文件分片续传方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7中任一项所述的文件分片续传方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的文件分片续传方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310582983.3A CN116546006A (zh) | 2023-05-22 | 2023-05-22 | 文件分片续传方法、装置、设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310582983.3A CN116546006A (zh) | 2023-05-22 | 2023-05-22 | 文件分片续传方法、装置、设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116546006A true CN116546006A (zh) | 2023-08-04 |
Family
ID=87452249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310582983.3A Pending CN116546006A (zh) | 2023-05-22 | 2023-05-22 | 文件分片续传方法、装置、设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116546006A (zh) |
-
2023
- 2023-05-22 CN CN202310582983.3A patent/CN116546006A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263035B (zh) | 基于区块链的数据存储、查询方法及装置和电子设备 | |
CN111291000B (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
US11366932B2 (en) | Consensus method and data verification method, apparatus, and system of consortium blockchain | |
EP4332870A1 (en) | Transaction data processing method and apparatus, computer device and storage medium | |
CN110119390B (zh) | 基于区块链的金融信息外包管理系统 | |
CN112866415A (zh) | 一种数据备份私有云存储与下载方法 | |
EP3716580B1 (en) | Cloud file transfers using cloud file descriptors | |
CN112214519B (zh) | 一种数据查询方法、装置、设备及可读介质 | |
CN111400777B (zh) | 一种网络存储系统、用户认证方法、装置及设备 | |
CN113273163A (zh) | 文件上传方法、文件下载方法和文件管理装置 | |
KR101663526B1 (ko) | 파일 시스템을 이용한 저장공간 통합 방법 및 시스템 | |
CN112069169A (zh) | 区块数据存储方法、装置、电子设备及可读存储介质 | |
CN111339551B (zh) | 数据的验证方法及相关装置、设备 | |
CN110597820B (zh) | 基于区块链的信息处理方法、装置、存储介质和设备 | |
CN113672966A (zh) | 文件访问控制方法和系统 | |
CN116546006A (zh) | 文件分片续传方法、装置、设备、介质及产品 | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN108882230B (zh) | 通话记录管理方法、装置及系统 | |
CN111698227B (zh) | 信息同步管理方法、装置、计算机系统及可读存储介质 | |
US10992748B1 (en) | Verification of event-based synchronization | |
CN110490005B (zh) | 资源转移请求的处理方法、装置和计算机可读存储介质 | |
CN113094754A (zh) | 大数据平台数据修改系统及修改、响应、缓存、校验方法 | |
CN111552551A (zh) | 基于主从系统的用户管理方法、装置、计算机设备和介质 | |
CN116527676A (zh) | 文件分片传输方法、装置、设备、介质、产品及系统 | |
US20240163118A1 (en) | Blockchain-based data processing method, device, and readable storage medium |
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 |