CN113055455A - 文件上传方法及设备 - Google Patents
文件上传方法及设备 Download PDFInfo
- Publication number
- CN113055455A CN113055455A CN202110255042.XA CN202110255042A CN113055455A CN 113055455 A CN113055455 A CN 113055455A CN 202110255042 A CN202110255042 A CN 202110255042A CN 113055455 A CN113055455 A CN 113055455A
- Authority
- CN
- China
- Prior art keywords
- file
- uploaded
- slice
- files
- compressed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000006835 compression Effects 0.000 abstract description 4
- 238000007906 compression Methods 0.000 abstract description 4
- 238000013461 design Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process 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
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 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
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种文件上传方法及设备,该方法包括:获取待上传文件的文件信息;根据所述待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件;分别对各个切片文件进行压缩处理,并将压缩后的切片文件上传至目标服务器,从而提高文件整体上传的效率,且可以降低网络因素的影响,即避免由于上传文件较大导致上传失败的问题,从而提高大文件上传的成功率,用户体验高。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种文件上传方法及设备。
背景技术
在使用软件***(例如,网站)中,用户经常需要使用文件上传功能,即经常需要上传文件至服务器。
现有技术中,在上传文件时,客户端获取用户选择的待上传文件,并将其上传至服务器,以实现文件的上传。
然而,当待上传文件较大时,在上传待上传文件时,容易受到网络环境的影响,即容易出现文件上传失败的问题,导致文件上传成功率较低。
发明内容
本发明实施例提供一种文件上传方法及设备,以解决现有技术中文件上传成功率较低的技术问题。
第一方面,本发明实施例提供一种文件上传方法,包括:
获取待上传文件的文件信息;
根据所述待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件;
分别对各个切片文件进行压缩处理,并将压缩后的切片文件上传至目标服务器。
在一种可能的设计中,所述文件信息包括待上传文件大小和文件标识;
所述根据所述待上传文件的文件信息对待上传文件进行切片处理,包括:
根据所述文件标识确定目标服务器中是否存在所述待上传文件;
若不存在,则判断所述待上传文件大小是否大于预设文件大小;
若所述待上传文件大小大于预设文件大小,则对所述待上传文件进行切片处理。
在一种可能的设计中,所述分别对各个切片文件进行压缩处理,包括:
基于哈夫曼树算法,分别对各个切片文件进行压缩处理。
在一种可能的设计中,所述分别对各个切片文件进行压缩处理,包括:
获取各个切片文件的标识,并生成包括所述各个切片文件的标识的第一验证请求;
将所述第一验证请求发送至所述目标服务器,以使所述目标服务器对根据所述第一验证请求中的各个切片文件标识分别确定各个切片文件的存在状态,并生成包括各个切片文件的存在状态的响应信息;其中,所述存在状态包括已存在状态和未存在状态;
获取所述目标服务器发送的响应信息,并提取所述响应信息中的各个切片文件的存在状态;
获取存在状态为未存在状态的切片文件,并将其进行压缩处理。
第二方面,本发明实施例提供一种文件上传方法,包括:
获取电子设备上传的压缩后的切片文件,其中所述压缩后的切片文件是所述电子设备在根据所述待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件后,分别对各个切片文件进行压缩处理后得到的;
对所述压缩后的切片文件进行拼接处理,得到所述待上传文件,并将所述待上传文件保存至预设位置。
在一种可能的设计中,所述对所述压缩后的切片文件进行拼接处理,包括:
确定所述压缩后的切片文件是否上传完毕;
若上传完毕,则获取所述文件顺序信息,并根据所述文件顺序信息,对所述压缩后的切片文件进行拼接处理。
第三方面,本发明实施例提供一种文件上传设备,包括:
第一处理模块,用于获取待上传文件的文件信息;
所述第一处理模块,还用于根据所述待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件;
第一收发模块,还用于分别对各个切片文件进行压缩处理,并将压缩后的切片文件上传至目标服务器。
在一种可能的设计中,所述文件信息包括待上传文件大小和文件标识;
所述第一处理模块还用于:
根据所述文件标识确定目标服务器中是否存在所述待上传文件;
若不存在,则判断所述待上传文件大小是否大于预设文件大小;
若所述待上传文件大小大于预设文件大小,则对所述待上传文件进行切片处理。
在一种可能的设计中,所述第一收发模块还用于:
基于哈夫曼树算法,分别对各个切片文件进行压缩处理。
在一种可能的设计中,所述第一收发模块还用于:
获取各个切片文件的标识,并生成包括所述各个切片文件的标识的第一验证请求;
将所述第一验证请求发送至所述目标服务器,以使所述目标服务器对根据所述第一验证请求中的各个切片文件标识分别确定各个切片文件的存在状态,并生成包括各个切片文件的存在状态的响应信息;其中,所述存在状态包括已存在状态和未存在状态;
获取所述目标服务器发送的响应信息,并提取所述响应信息中的各个切片文件的存在状态;
获取存在状态为未存在状态的切片文件,并将其进行压缩处理。
第四方面,本发明实施例提供一种文件上传设备,包括:
第二收发模块,用于获取电子设备上传的压缩后的切片文件,其中所述压缩后的切片文件是所述电子设备在根据所述待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件后,分别对各个切片文件进行压缩处理后得到的;
第二处理模块,用于对所述压缩后的切片文件进行拼接处理,得到所述待上传文件,并将所述待上传文件保存至预设位置。
在一种可能的设计中,所述第二处理模块还用于:
确定所述压缩后的切片文件是否上传完毕;
若上传完毕,则获取所述文件顺序信息,并根据所述文件顺序信息,对所述压缩后的切片文件进行拼接处理。
第五方面,本发明实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的文件上传方法。
第六方面,本发明实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第二方面以及第二方面各种可能的设计所述的文件上传方法。
第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的文件上传方法。
第八方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二方面以及第二方面各种可能的设计所述的文件上传方法。
第九方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的文件上传方法。
第十方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第二方面以及第二方面各种可能的设计所述的文件上传方法。
本发明提供一种文件上传方法及设备,通过在确定需要上传文件,即待上传文件至目标服务器时,根据该待上传文件的文件信息对待上传文件进行分片处理,以得到若干了大小较小的切片文件,并在对切片文件进行压缩处理后,将压缩后的切片文件上传至目标服务器,由于上传至目标服务的文件大小较小,因此,可以大大缩短文件上传所需的时间,从而提高文件整体上传的效率,且可以降低网络因素的影响,即避免由于上传文件较大导致上传失败的问题,从而提高大文件上传的成功率,用户体验高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文件上传方法的场景示意图;
图2为本发明实施例提供的文件上传方法的流程示意图一;
图3为本发明实施例提供的文件上传方法的流程示意图二;
图4为本发明实施例提供的文件上传方法的流程示意图三;
图5为本发明实施例提供的文件上传设备的结构示意图一;
图6为本发明实施例提供的文件上传设备的结构示意图二;
图7为本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,在上传文件时,客户端获取用户选择的待上传文件,并将其上传至服务器,以实现文件的上传。但当待上传文件的数据量较大时,在上传待上传文件时,上传速度较慢,且容易受到网络因素的影响,导致文件上传所需时间较长,且容易出现文件上传失败的问题,造成文件上传成功率较低。
因此,针对上述问题,本发明的技术构思是当需要上传超大文件时,对超大文件进行切片,以得到多个切片文件,并对切片文件编码,以得到较小的文件,将编码后的切片文件上传至服务器,即在上传超大文件时,对该超大文件进行处理,以得到较小的文件,从而只需上传较小的文件,而不是上传整个文件,提高文件的上传速度,降低网络因素的影响,从而降低文件上传所需的时间,且避免出现由于文件较大导致文件上传失败的问题,提高文件上传的成功率。
下面以具体地示例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的示例可以相互结合,对于相同或相似的概念或过程可能在某些示例中不再赘述。下面将结合附图,对本公开的示例进行描述。
图1为本发明实施例提供的文件上传方法的场景示意图,如图1所示,当用户需要在电子设备101当前显示的网页上上传文件至目标服务器102时,可以点击该网页上的上传文件按钮,以选择需上传的文件,并将其上传至目标服务器102。
可选的,电子设备101可以是电脑、移动终端等具有上传文件能力的设备,具体的,其为客户端。
图2为本发明实施例提供的文件上传方法的流程示意图一,本实施例的执行主体可以为图1所示的电子设备,具体的,其为客户端。如图2所示,该方法包括:
S201、获取待上传文件的文件信息。
在本实施例中,当用户需要上传文件到目标服务器时,在电子设备上进行相关的操作,以输入需上传的文件,即待上传文件,例如,用户通过点击电子设备上网页上的选择文件按钮,以选中待上传文件,从而实现待上传文件的输入。电子设备在获取到用户输入的待上传文件后,确定该待上传文件的文件信息以供利用该文件信息将该待上传文件快速成功上传至目标服务器。
可选的,文件信息包括待上传文件大小和文件标识。其中,待上传文件大小表示待上传文件的大小,例如,10G。文件标识可以为文件的名称、编号等唯一标识,也可以为待上传文件对应的哈希值。
其中,待上传文件对应的哈希值是利用哈希函数,根据待上传文件生成的哈希值。
S202、根据待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件。
在本实施例中,在得到待上传文件的文件信息后,利用该文件信息对待上传文件进行切片处理,以将该待上传文件拆分为多个大小较小的文件,即切片文件。
进一步的,可选的,在对待上传文件进行切片处理时,可以按照预设分片大小(例如,1G)对待上传文件进行切片。例如,待上传文件的大小为10G,预设分片大小为1G,则得到10个切片文件,每个切片文件的大小为1G。
可选的,在对待上传文件进行切片处理时,用户也可以自定义分片大小,例如,设置分片大小为2G,则按照2G对待上传文件进行切片。
可选的,在对待上传文件进行切片处理时,也可以根据预设文件数量或自定义文件数量确定分片大小。其中,预设文件数量和自定义文件数量表示需要得到的切片文件的数量,例如,预设文件数量为5,待上传文件的大小为10G,则分片大小为2G。
另外,可选的,在对文件进行切片处理时,还需记录切片文件的文件顺序信息,即记录切片文件的先后排列顺序,以使目标服务器可以根据切片文件的顺序信息对切片文件进行拼接,以得到待上传文件。例如,在对待上传文件进行切片处理时,先得到切片文件1、然后得到切片文件2,最后得到切片文件3,则切片文件的顺序信息为切片文件1的标识、切片文件2的标识和切片文件3的标识,从而目标服务器可以按照切片文件的顺序信息,对切片文件1、切片文件2和切片文件3进行拼接,得到待上传文件。
其中,切片文件的标识可以为切片文件的名称、编号等唯一标识,也可以为切片文件对应的哈希值。
其中,切片文件对应的哈希值是利用哈希函数,根据切片文件生成的哈希值。
S203、分别对各个切片文件进行压缩处理,并将压缩后的切片文件上传至目标服务器。
在本实施例中,在得到待上传文件对应的多个切片文件后,分别对各个切片文件进行压缩处理,实现文件的压缩,以进一步减小文件的大小。在对各个切片文件进行压缩处理后,依次将压缩后的切片文件上传至目标服务器,以使目标服务根据压缩后的切片文件得到相应的待上传文件,实现待上传文件的成功上传。
在本实施例中,在上传待上传文件时,为了避免由于待上传文件较大导致上传失败,先对待上传文件进行拆分,以得到大小较小的切片文件,再进一步对切片文件进行压缩,以进一步减小文件的大小,然后将压缩后的切片文件上传到目标服务器,由于在进行文件上传时,上传的文件,即压缩后的切片文件大小较小,可以减少上传所需的时间,避免文件上传超时,从而避免文件上传失败,进而实现文件的成功上传。
在本实施例中,由于在上传小文件时,上传速度较快,且可以降低网络环境的影响,因此,在将压缩后的切片文件上传至目标服务器时,可以提高上传速度,且可以降低网络环境的影响。
从上述描述可知,在确定需要上传文件,即待上传文件至目标服务器时,根据该待上传文件的文件信息对待上传文件进行分片处理,以得到若干了大小较小的切片文件,并在对切片文件进行压缩处理后,将压缩后的切片文件上传至目标服务器,由于上传至目标服务的文件大小较小,因此,可以大大缩短文件上传所需的时间,从而提高文件整体上传的效率,且可以降低网络因素的影响,即避免由于上传文件较大导致上传失败的问题,从而提高大文件上传的成功率,用户体验高。
图3为本发明实施例提供的文件上传方法的流程示意图二,本实施例图2实施例的基础上,在上传待上传文件时,先判断目标服务器中是否已经存在该待上传文件,以避免重复上传,下面将结合一个具体实施例对此过程进行描述。如图3所示,该方法包括:
S301、获取待上传文件的文件信息。
S302、根据文件标识确定目标服务器中是否存在待上传文件。
在本实施例中,在确定需要上传待上传文件至目标服务器时,根据待上传文件对应的文件标识判断目标服务器中是否已经存在该待上传文件,从而判断是否需要再次上传该待上传文件。
可选的,在根据文件标识确定目标服务器中是否存在待上传文件时,生成包括待上传文件的文件标识的第二验证请求,并将其发送至目标服务器,以使目标服务器在接收到第二验证请求后,获取第二验证请求中的待上传文件的文件标识,并查找预设位置中是否存在标识为该文件标识的文件,若存在,表明该文件便为待上传文件,则确定目标服务器存在该待上传文件,并生成包括存在待上传文件的文件响应信息;若不存在,则确定目标服务器不存在该待上传文件,并生成包括不存在待上传文件的文件响应信息。
接收目标服务器发送的文件响应信息,当该文件响应信息为存在待上传文件时,确定目标服务器中已经存在该待上传文件;当该文件响应信息为不存在待上传文件时,确定目标服务器中不存在该待上传文件。
其中,预设存储位置包括硬盘、数据库等位置。
其中,在接收目标服务器发送的文件响应信息时,可以通过requestUrl接口进行接收。
S303、若不存在,则判断待上传文件大小是否大于预设文件大小。
在本实施例中,在确定目标服务器不存在待上传文件时,表明需要继续上传该待上传文件,则判断该待上传文件大小是否大于预设文件大小,即判断该待上传文件是否较大,以确定是否需要对该待上传文件进行切片上传。
S304、若待上传文件大小大于预设文件大小,则对待上传文件进行切片处理,得到多个切片文件。
在本实施例中,当待上传文件大小大于预设文件大小时,表明待上传文件较大,容易出现上传失败的问题,需对待上传文件进行切片上传,则对待上传文件进行切片处理。
另外,可选的,当待上传文件大小小于预设文件大小时,表明待上传文件较小,不容易出现上传失败的问题,无需对待上传文件进行切片上传,可以直接整个待上传文件上传至目标服务器。
S305、分别对各个切片文件进行压缩处理,并将压缩后的切片文件上传至目标服务器。
在本实施例中,在对切片文件进行压缩处理时,可以基于哈夫曼树算法,分别对各个切片文件进行压缩处理,即对切片文件进行编码处理。
具体的,对于每个切片文件,a.读入信息,输出字母表dateArr,记下原切片文件的字节数real_size,读入经过处理后的切片文件read_intArr,共ilen*4个字节,得到字符种类数charsize;b.根据节点数组hufArr[],字符表种类数charsize,得到字符对应的编码存到charcodeArr[][];c.根据读入的字符串read_intArr,字符表,每个字符对应的编码数组charcodeArr[][],输出编码,即输出编码后的切片文件,以实现切片文件的压缩。
另外,可选的,计算压缩处理后的切片文件的压缩包的哈希值、start、end、size等信息。
可选的,在对切片文件进行压缩处理之前,可以先判断目标服务器是否已经存在某个切片文件,其具体过程为:获取各个切片文件的标识,并生成包括各个切片文件的标识的第一验证请求。将第一验证请求发送至目标服务器,以使目标服务器对根据第一验证请求中的各个切片文件标识分别确定各个切片文件的存在状态,并生成包括各个切片文件的存在状态的响应信息。其中,存在状态包括已存在状态和未存在状态。获取目标服务器发送的响应信息,并提取响应信息中的各个切片文件的存在状态。获取存在状态为未存在状态的切片文件,并将其进行压缩处理。
具体的,对于每个切片文件的标识,目标服务器判断预设位置中是否存在标识为该切片文件的标识的文件,若存在,表明该文件便为该切片文件,即表明目标服务器已经存在该切片文件,则确定该切片文件的存在状态为已存在状态,即为uploaded状态;若不存在,表明目标服务器没有存在该切片文件,则确定该切片文件的存在状态为未存在状态,即为pending状态。
电子设备在接收到目标服务器返回的响应信息后,可以确定各个切片文件,即chunk的存在状态,获取所有存在状态为未存在状态的切片文件,即获取目标服务器中未存在的切片文件,对该存在状态为未存在状态的切片文件进行压缩处理,以相应得到压缩后的切片文件。
在得到压缩后的切片文件后,该压缩后的切片文件对应的切片文件为目标服务器不存在的文件,将所有压缩后的切片文件构成一个待上传的队列以进行上传,即滤掉已经上传的chunks后,对状态为pending状态的chunks构成一个待上传队列进行上传。且每一个压缩后的切片文件上传到partUpload接口,都应该相应的还细致,start,end以及该切片文件的arrayBuffer数据。
另外,可选的,partUpload接口会返回压缩后的切片文件的上传情况,每上传成功一个切片文件,待上传的队列所包括的文件,即压缩后的切片文件的数量便减1。当待上传的队列所包括的文件的数量为0时,此时调用checkUrl,检查整个文件是否上传成功,与前端进行一个同步校验。
S306、若存在,则停止上传待上传文件。
在本实施例中,在确定目标服务器存在待上传文件时,表明无需继续上传该待上传文件,则停止将待上传文件上传至目标服务器。
另外,可选的,在读取文件时,可以readAsBinaryString进行读取,并将文件读取为二进制码。
另外,可选的,在上传文件的网页中的body中定义一个dom节点,脚本中把dom节点和类定义结合起来,实现组件上传的通用功能。
在本实施例中,在上传待上传文件时,判断目标服务器中是否存在该待上传文件,若已经存在,则无需再重复上传该待上传文件,若未存在,则继续上传该待上传文件,避免文件的重复上传,从而避免资源的浪费。
在本实施例中,在对待上传文件进行切分得到切片文件后,分别判断每个切片文件是否已经在目标服务器,若目标服务器已经存在某个切片文件,则无需对该切片文件进行压缩,即无需再重复上传该切片文件,从而避免切片文件的重复上传,避免资源的浪费。
图4为本发明实施例提供的文件上传方法的流程示意图三,本实施例的执行主体可以为图1所示的目标服务器,即服务器。如图4所示,该方法包括:
S401、获取电子设备上传的压缩后的切片文件,其中压缩后的切片文件是电子设备在根据待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件后,分别对各个切片文件进行压缩处理后得到的。
S402、对压缩后的切片文件进行拼接处理,得到待上传文件,并将待上传文件保存至预设位置。
在本实施例中,在接收到电子设备上传的压缩后的切片文件后,对压缩后的切片文件进行解码,以得到待上传文件对应的多个切片文件。对待上传文件对应的多个切片文件进行拼接,以得到该待上传文件,并将其保存至预设位置,实现待上传文件的成功保存。
可选的,在对压缩后的切片文件进行拼接处理时,确定压缩后的切片文件是否上传完毕。若上传完毕,则获取文件顺序信息,并根据文件顺序信息,对压缩后的切片文件进行拼接处理。
具体的,先判断所有需上传的压缩后的切片文件是否上传完毕,即确定待上传文件是否上传成功,若上传完毕,表明待上传文件已经上传成功,则对压缩后的切片文件进行解码,以得到相应的切片文件,并基于切片文件的文件顺序信息,对切片文件进行排列拼接,得到待上传文件。
举例来说,在对待上传文件进行切片处理后,得到切片文件1、切片文件2和切片文件3,且切片文件1、切片文件2和切片文件3对应的存在状态均为未存在状态,即目标服务器不存在切片文件1、切片文件2和切片文件3,当压缩后的切片文件1、压缩后的切片文件2和压缩后的切片文件3全部上传至目标服务器时,表明压缩后的切片文件是否上传完毕,即待上传文件上传成功。
可选的,当待上传的队列中所包括的文件的数量为0,或者,在检查整个文件上传成功后,发送上传完毕提示信息至目标服务器,目标服务器在接收到该上传完毕提示信息后,确定压缩后的切片文件上传完毕。
可选的,当目标服务器长时间未接收到电子设备上传的新的压缩后的切片文件后,也可以确定压缩后的切片文件上传完毕。
另外,可选的,服务器在对压缩后的切片文件进行解码时,即解压缩时,当成解压字符ASSIC码并存到文本里面(二进制存储),通过InfoArr来存储解码后的信息,读取charsize,有用的编码位数,真正的字节数目,压缩的int个数,申请字母表内存,编码内存,读取字母表,读取编码,以实现切片文件的解码。
在本实施例中,在获取到电子设备,即客户端上传的压缩后的切片文件后,对其进行拼接,以得到客户端需上传的待上传文件,实现待上传文件的快速成功上传。
图5为本发明实施例提供的文件上传设备的结构示意图一,如图5所示,该文件上传设备500应用于电子设备,即客户端上,其包括:第一处理模块501和第一收发模块502。
其中,第一处理模块501,用于获取待上传文件的文件信息。
第一处理模块501,还用于根据待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件。
第一收发模块502,还用于分别对各个切片文件进行压缩处理,并将压缩后的切片文件上传至目标服务器。
在一种可能的设计中,文件信息包括待上传文件大小和文件标识。
第一处理模块501还用于:
根据文件标识确定目标服务器中是否存在待上传文件。
若不存在,则判断待上传文件大小是否大于预设文件大小。
若待上传文件大小大于预设文件大小,则对待上传文件进行切片处理。
在一种可能的设计中,第一收发模块502还用于:
基于哈夫曼树算法,分别对各个切片文件进行压缩处理。
在一种可能的设计中,第一收发模块502还用于:
获取各个切片文件的标识,并生成包括各个切片文件的标识的第一验证请求。
将第一验证请求发送至目标服务器,以使目标服务器对根据第一验证请求中的各个切片文件标识分别确定各个切片文件的存在状态,并生成包括各个切片文件的存在状态的响应信息。其中,存在状态包括已存在状态和未存在状态。
获取目标服务器发送的响应信息,并提取响应信息中的各个切片文件的存在状态。
获取存在状态为未存在状态的切片文件,并将其进行压缩处理。
本发明实施例提供的文件上传设备,可以实现上述实施例的文件上传方法,其实现原理和技术效果类似,此处不再赘述。
图6为本发明实施例提供的文件上传设备的结构示意图二,如图6所示,该文件上传设备600应用于服务器上,其包括:第二收发模块601和第二处理模块602。
其中,第二收发模块601,用于获取电子设备上传的压缩后的切片文件,其中压缩后的切片文件是电子设备在根据待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件后,分别对各个切片文件进行压缩处理后得到的。
第二处理模块602,用于对压缩后的切片文件进行拼接处理,得到待上传文件,并将待上传文件保存至预设位置。
在一种可能的设计中,第二处理模块602还用于:
确定压缩后的切片文件是否上传完毕。
若上传完毕,则获取文件顺序信息,并根据文件顺序信息,对压缩后的切片文件进行拼接处理。
本发明实施例提供的文件上传设备,可以实现上述实施例的文件上传方法,其实现原理和技术效果类似,此处不再赘述。
图7为本发明实施例提供的电子设备的硬件结构示意图。如图7所示,本实施例的电子设备700包括:处理器701以及存储器702;其中
存储器702,用于存储计算机执行指令;
处理器701,用于执行存储器存储的计算机执行指令,以实现上述实施例中接收设备所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。
当存储器702独立设置时,该电子设备还包括总线703,用于连接所述存储器702和处理器701。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的文件上传方法。
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上所述的文件上传方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种文件上传方法,其特征在于,包括:
获取待上传文件的文件信息;
根据所述待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件;
分别对各个切片文件进行压缩处理,并将压缩后的切片文件上传至目标服务器。
2.根据权利要求1所述的方法,其特征在于,所述文件信息包括待上传文件大小和文件标识;
所述根据所述待上传文件的文件信息对待上传文件进行切片处理,包括:
根据所述文件标识确定目标服务器中是否存在所述待上传文件;
若不存在,则判断所述待上传文件大小是否大于预设文件大小;
若所述待上传文件大小大于预设文件大小,则对所述待上传文件进行切片处理。
3.根据权利要求1所述的方法,其特征在于,所述分别对各个切片文件进行压缩处理,包括:
基于哈夫曼树算法,分别对各个切片文件进行压缩处理。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述分别对各个切片文件进行压缩处理,包括:
获取各个切片文件的标识,并生成包括所述各个切片文件的标识的第一验证请求;
将所述第一验证请求发送至所述目标服务器,以使所述目标服务器对根据所述第一验证请求中的各个切片文件标识分别确定各个切片文件的存在状态,并生成包括各个切片文件的存在状态的响应信息;其中,所述存在状态包括已存在状态和未存在状态;
获取所述目标服务器发送的响应信息,并提取所述响应信息中的各个切片文件的存在状态;
获取存在状态为未存在状态的切片文件,并将其进行压缩处理。
5.一种文件上传方法,其特征在于,包括:
获取电子设备上传的压缩后的切片文件,其中所述压缩后的切片文件是所述电子设备在根据待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件后,分别对各个切片文件进行压缩处理后得到的;
对所述压缩后的切片文件进行拼接处理,得到所述待上传文件,并将所述待上传文件保存至预设位置。
6.根据权利要求5所述的方法,其特征在于,所述对所述压缩后的切片文件进行拼接处理,包括:
确定所述压缩后的切片文件是否上传完毕;
若上传完毕,则获取文件顺序信息,并根据所述文件顺序信息,对所述压缩后的切片文件进行拼接处理。
7.一种文件上传设备,其特征在于,包括:
第一处理模块,用于获取待上传文件的文件信息;
所述第一处理模块,还用于根据所述待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件;
第一收发模块,还用于分别对各个切片文件进行压缩处理,并将压缩后的切片文件上传至目标服务器。
8.一种文件上传设备,其特征在于,包括:
第二收发模块,用于获取电子设备上传的压缩后的切片文件,其中所述压缩后的切片文件是所述电子设备在根据待上传文件的文件信息对待上传文件进行切片处理,得到多个切片文件后,分别对各个切片文件进行压缩处理后得到的;
第二处理模块,用于对所述压缩后的切片文件进行拼接处理,得到所述待上传文件,并将所述待上传文件保存至预设位置。
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至4或5至6任一项所述的文件上传方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至4或5至6任一项所述的文件上传方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4或5至6任一项所述的文件上传方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110255042.XA CN113055455A (zh) | 2021-03-09 | 2021-03-09 | 文件上传方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110255042.XA CN113055455A (zh) | 2021-03-09 | 2021-03-09 | 文件上传方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113055455A true CN113055455A (zh) | 2021-06-29 |
Family
ID=76510464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110255042.XA Pending CN113055455A (zh) | 2021-03-09 | 2021-03-09 | 文件上传方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113055455A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466004A (zh) * | 2022-03-24 | 2022-05-10 | 成都新希望金融信息有限公司 | 一种文件传输方法、***、电子设备及存储介质 |
CN114827130A (zh) * | 2022-04-24 | 2022-07-29 | 中国银行股份有限公司 | 一种文件上传方法及装置 |
CN115865786A (zh) * | 2022-06-22 | 2023-03-28 | 中国南方电网有限责任公司超高压输电公司 | 一种基于lacp的多网聚合数据切片及传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092336A1 (zh) * | 2015-12-01 | 2017-06-08 | 乐视控股(北京)有限公司 | 一种流媒体的处理方法及装置 |
CN107888941A (zh) * | 2017-10-27 | 2018-04-06 | 广东省南方数字电视无线传播有限公司 | 视频切片传输方法、装置和*** |
CN110362548A (zh) * | 2019-06-12 | 2019-10-22 | 深圳市奥克多普科技有限公司 | 日志提取方法及相关设备 |
CN111935227A (zh) * | 2020-07-10 | 2020-11-13 | 上海淇毓信息科技有限公司 | 通过浏览器上传文件的方法、浏览器和电子设备 |
CN112383614A (zh) * | 2020-11-11 | 2021-02-19 | 常州微亿智造科技有限公司 | 文件传输方法和装置 |
-
2021
- 2021-03-09 CN CN202110255042.XA patent/CN113055455A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092336A1 (zh) * | 2015-12-01 | 2017-06-08 | 乐视控股(北京)有限公司 | 一种流媒体的处理方法及装置 |
CN107888941A (zh) * | 2017-10-27 | 2018-04-06 | 广东省南方数字电视无线传播有限公司 | 视频切片传输方法、装置和*** |
CN110362548A (zh) * | 2019-06-12 | 2019-10-22 | 深圳市奥克多普科技有限公司 | 日志提取方法及相关设备 |
CN111935227A (zh) * | 2020-07-10 | 2020-11-13 | 上海淇毓信息科技有限公司 | 通过浏览器上传文件的方法、浏览器和电子设备 |
CN112383614A (zh) * | 2020-11-11 | 2021-02-19 | 常州微亿智造科技有限公司 | 文件传输方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466004A (zh) * | 2022-03-24 | 2022-05-10 | 成都新希望金融信息有限公司 | 一种文件传输方法、***、电子设备及存储介质 |
CN114827130A (zh) * | 2022-04-24 | 2022-07-29 | 中国银行股份有限公司 | 一种文件上传方法及装置 |
CN114827130B (zh) * | 2022-04-24 | 2024-04-16 | 中国银行股份有限公司 | 一种文件上传方法及装置 |
CN115865786A (zh) * | 2022-06-22 | 2023-03-28 | 中国南方电网有限责任公司超高压输电公司 | 一种基于lacp的多网聚合数据切片及传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113055455A (zh) | 文件上传方法及设备 | |
CN107395209B (zh) | 数据压缩方法、数据解压缩方法及其设备 | |
CN111262876B (zh) | 基于区块链的数据处理方法、装置、设备以及存储介质 | |
CN112165331A (zh) | 数据压缩方法及其装置、数据解压方法及其装置、存储介质及电子设备 | |
GB2507554A (en) | Encoding diagnostic data in an error message for a computer program | |
US10229003B2 (en) | Method and system for iterative data recovery and error correction in a distributed system | |
WO2013097812A1 (zh) | 一种下载字库文件的方法和*** | |
CN112788270A (zh) | 视频回溯方法、装置、计算机设备及存储介质 | |
CN114020522A (zh) | 数据备份方法、装置、电子设备及*** | |
CN106293542B (zh) | 一种文件解压缩的方法及装置 | |
CN116185512B (zh) | 用于ptc驱动器的驱动加载方法、装置、设备及介质 | |
CN110096478B (zh) | 文档索引生成方法及设备 | |
CN108965463B (zh) | 一种文件传输方法、装置和*** | |
CN111897833A (zh) | 数据处理方法及装置 | |
CN116303297A (zh) | 文件压缩处理方法、装置、设备及介质 | |
CN113542308B (zh) | 信息处理的方法、***和存储介质、电子设备 | |
CN115297104A (zh) | 文件上传方法、装置、电子设备和存储介质 | |
CN113518113B (zh) | 一种基于区块链和里德-所罗门码的文件存储方法、计算机设备及存储介质 | |
CN115129509A (zh) | 一种数据传输方法、装置、介质 | |
CN102891732A (zh) | 数据发送方法和装置以及数据接收方法和装置 | |
CN114048183A (zh) | 分布式存储方法、装置、存储介质及计算机设备 | |
CN114070471B (zh) | 一种测试数据包传输方法、装置、***、设备和介质 | |
CN102547267B (zh) | 一种视频数据解码方法及*** | |
CN117394868B (zh) | 数据处理方法和数据处理装置 | |
US10168909B1 (en) | Compression hardware acceleration |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210629 |
|
RJ01 | Rejection of invention patent application after publication |