CN114629893A - 一种提升浏览器上传大量文件速度的方法 - Google Patents
一种提升浏览器上传大量文件速度的方法 Download PDFInfo
- Publication number
- CN114629893A CN114629893A CN202210269399.8A CN202210269399A CN114629893A CN 114629893 A CN114629893 A CN 114629893A CN 202210269399 A CN202210269399 A CN 202210269399A CN 114629893 A CN114629893 A CN 114629893A
- Authority
- CN
- China
- Prior art keywords
- file
- files
- uploading
- browser
- transmission
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 63
- 238000013507 mapping Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种提升浏览器上传大量文件速度的方法。本发明相比全部单个文件上传,在路径K下面的所有文件均不在服务端存在的条件下,将K对应的子文件进行合并压缩,与传输服务端建立传输通道进行上传;这种情况下通过一次查询即可上传路径K下的所有文件,无需每个文件都进行单独的查询和查询,可以极大的提升了传输速度,提升传输效率,提升用户体验感。
Description
技术领域
本发明涉及文件传输技术领域,尤其涉及一种提升浏览器上传大量文件速度的方法。
背景技术
浏览器上传是指浏览器作为传输客户端,传输文件数据到传输服务端,由于浏览器自身的限制,页面无法直接操作文件系统,需要通过浏览器暴露的文件接口,让用户主动发起访问文件系统的动作,最后页面能获取到单个或者多个文件实例(上传文件夹时,浏览器会遍历此文件夹下的所有目录,返回多个文件实例),然后浏览器将文件上传,上传的过程为浏览器先发起查询请求,查询没有该文件时,则发起上传文件请求,与传输服务端建立文件传输通道,将文件内容数据发送至服务端;文件传输完成后,浏览器发起结束传输请求给服务端,关闭文件传输通道。如果上传的文件夹包含大量文件,则需频繁地向服务端发送查询单个文件请求和建立关闭传输通道,上传速度不够快,用户体验感一般,有提升空间。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明要解决的技术问题是:提供一种提升浏览器上传大量文件速度的方法,减少查询和上传的次数,有效提升传输的速度,提升传输效率,提升用户体验感。
本发明的技术方案如下:提供一种提升浏览器上传大量文件速度的方法,包括以下步骤。
S1:用户上传含有大量文件的文件夹,浏览器获取到大量文件实例后,遍历文件列表,取文件的相对路径,把相对路径记录为K,将相对路径一致的文件收集到K对应的子文件列表,遍历完成后,获得一个映射集合,该映射集合包含若干个K,每个K分别收集了不同相对路径下的子文件列表。所述K为key值。
S2:查询任一K对应的子文件列表长度;若K对应的子文件列表长度为1,则进行单文件上传流程;K对应的子文件列表长度大于1,进入步骤S3。
S3:在传输服务端查询K是否在传输服务端上存在,若存在,则对K对应的所有子文件进行单文件上传流程,若不存在,即表示K下面的所有文件均不在服务端存在,将K对应的子文件进行合并压缩,与传输服务端建立传输通道进行上传。通过一次查询即可上传路径K下的所有文件,大大提升了传输速度。
S4:当K对应的子文件都上传完成时,在映射集合中删除这个K数据,删除后若映射集合的长度还大于0,继续取映射集合下的其他K,对其他K按照步骤S2、S3、S4进行文件上传。
S5:当映射集合的长度等于0时,表示文件夹的所有相对路径均已遍历完成,文件全部完成上传。
相比全部单个文件上传,在路径K下面的所有文件均不在服务端存在的条件下,将K对应的子文件进行合并压缩,与传输服务端建立传输通道进行上传;这种情况下通过一次查询即可上传路径K下的所有文件,无需每个文件都进行单独的查询和查询,可以极大的提升了传输速度,提升传输效率,提升用户体验感。
进一步地,所述单个文件上传包括以下步骤:浏览器获取到单个文件实例后,根据此文件的文件的属性信息向传输服务端发起查询请求;若服务端存在此文件,则不继续上传;若不存在此文件,浏览器发起上传文件请求,与传输服务端建立文件传输通道,将文件内容数据发送至服务端;文件传输完成后,浏览器发起结束传输请求给服务端,关闭文件传输通道。
进一步地,文件的属性信息包括文件的大小、最后的修改时间。
进一步地,映射集合包含的若干K为:K1,K2,...,Kn;K1,K2,...,Kn分别收集了不同相对路径下的子文件列表;浏览器按顺序查询K对应的子文件列表长度。
本方法可有效地提升浏览器上传大量文件时的速度,浏览器上传文件的速度提升30%。
采用上述方案,本发明提供一种提升浏览器上传大量文件速度的方法,相比全部单个文件上传,在路径K下面的所有文件均不在服务端存在的条件下,将K对应的子文件进行合并压缩,与传输服务端建立传输通道进行上传;这种情况下通过一次查询即可上传路径K下的所有文件,无需每个文件都进行单独的查询和查询,可以极大的提升了传输速度,提升传输效率,提升用户体验感。
附图说明
图1为本发明的流程示意图。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
请参阅图1,本发明提供一种提升浏览器上传大量文件速度的方法,包括以下步骤。
S1:用户上传含有大量文件的文件夹,浏览器获取到大量文件实例后,遍历文件列表,取文件的相对路径,把相对路径记录为K,将相对路径一致的文件收集到K对应的子文件列表,遍历完成后,获得一个映射集合,该映射集合包含若干个K,每个K分别收集了不同相对路径下的子文件列表。所述K为key值。
S2:查询任一K对应的子文件列表长度;若K对应的子文件列表长度为1,则进行单文件上传流程;K对应的子文件列表长度大于1,进入步骤S3。
S3:在传输服务端查询K是否在传输服务端上存在,若存在,则对K对应的所有子文件进行单文件上传流程,若不存在,即表示K下面的所有文件均不在服务端存在,将K对应的子文件进行合并压缩,与传输服务端建立传输通道进行上传。通过一次查询即可上传路径K下的所有文件,大大提升了传输速度。
S4:当K对应的子文件都上传完成时,在映射集合中删除这个K数据,删除后若映射集合的长度还大于0,继续取映射集合下的其他K,对其他K按照步骤S2、S3、S4进行文件上传。
S5:当映射集合的长度等于0时,表示文件夹的所有相对路径均已遍历完成,文件全部完成上传。
相比全部单个文件上传,在路径K下面的所有文件均不在服务端存在的条件下,将K对应的子文件进行合并压缩,与传输服务端建立传输通道进行上传;这种情况下通过一次查询即可上传路径K下的所有文件,无需每个文件都进行单独的查询和查询,可以极大的提升了传输速度,提升传输效率,提升用户体验感。
在本实施例中,所述单个文件上传包括以下步骤:浏览器获取到单个文件实例后,根据此文件的文件的属性信息向传输服务端发起查询请求;若服务端存在此文件,则不继续上传;若不存在此文件,浏览器发起上传文件请求,与传输服务端建立文件传输通道,将文件内容数据发送至服务端;文件传输完成后,浏览器发起结束传输请求给服务端,关闭文件传输通道。
在本实施例中,文件的属性信息包括文件的大小、最后的修改时间。
在本实施例中,映射集合包含的若干K为:K1,K2,...,Kn;K1,K2,...,Kn分别收集了不同相对路径下的子文件列表;浏览器按顺序查询K对应的子文件列表长度。
本方法可有效地提升浏览器上传大量文件时的速度,在相同的浏览器上,上传5万个文件时,上传速度可提升34%。文件越多效果越明显。
综上所述,本发明提供一种提升浏览器上传大量文件速度的方法,相比全部单个文件上传,在路径K下面的所有文件均不在服务端存在的条件下,将K对应的子文件进行合并压缩,与传输服务端建立传输通道进行上传;这种情况下通过一次查询即可上传路径K下的所有文件,无需每个文件都进行单独的查询和查询,可以极大的提升了传输速度,提升传输效率,提升用户体验感。
以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种提升浏览器上传大量文件速度的方法,其特征在于,包括以下步骤:
S1:用户上传含有大量文件的文件夹,浏览器获取到大量文件实例后,遍历文件列表,取文件的相对路径,把相对路径记录为K,将相对路径一致的文件收集到K对应的子文件列表,遍历完成后,获得一个映射集合,该映射集合包含若干个K,每个K分别收集了不同相对路径下的子文件列表;
S2:查询任一K对应的子文件列表长度;若K对应的子文件列表长度为1,则进行单文件上传流程;K对应的子文件列表长度大于1,进入步骤S3;
S3:在传输服务端查询K是否在传输服务端上存在,若存在,则对K对应的所有子文件进行单文件上传流程,若不存在,将K对应的子文件进行合并压缩,与传输服务端建立传输通道进行上传;
S4:当K对应的子文件都上传完成时,在映射集合中删除这个K数据,删除后若映射集合的长度还大于0,继续取映射集合下的其他K,对其他K按照步骤S2、S3、S4进行文件上传;
S5:当映射集合的长度等于0时,文件全部完成上传。
2.根据权利要求1所述的一种提升浏览器上传大量文件速度的方法,其特征在于,所述单个文件上传包括以下步骤:
浏览器获取到单个文件实例后,根据此文件的文件的属性信息向传输服务端发起查询请求;若服务端存在此文件,则不继续上传;若不存在此文件,浏览器发起上传文件请求,与传输服务端建立文件传输通道,将文件内容数据发送至服务端;文件传输完成后,浏览器发起结束传输请求给服务端,关闭文件传输通道。
3.根据权利要求2所述的一种提升浏览器上传大量文件速度的方法,其特征在于,文件的属性信息包括文件的大小、最后的修改时间。
4.根据权利要求1所述的一种提升浏览器上传大量文件速度的方法,其特征在于,映射集合包含的若干K为:K1,K2,...,Kn;K1,K2,...,Kn分别收集了不同相对路径下的子文件列表;浏览器按顺序查询K对应的子文件列表长度。
5.根据权利要求1所述的一种提升浏览器上传大量文件速度的方法,其特征在于,所述K为key值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210269399.8A CN114629893B (zh) | 2022-03-18 | 2022-03-18 | 一种提升浏览器上传大量文件速度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210269399.8A CN114629893B (zh) | 2022-03-18 | 2022-03-18 | 一种提升浏览器上传大量文件速度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114629893A true CN114629893A (zh) | 2022-06-14 |
CN114629893B CN114629893B (zh) | 2024-01-30 |
Family
ID=81901880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210269399.8A Active CN114629893B (zh) | 2022-03-18 | 2022-03-18 | 一种提升浏览器上传大量文件速度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114629893B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020049853A1 (en) * | 2000-08-16 | 2002-04-25 | Tan-Na Chu | End-to-end secure file transfer method and system |
CN102868765A (zh) * | 2012-10-09 | 2013-01-09 | 乐视网信息技术(北京)股份有限公司 | 文件上传方法和系统 |
CN103491169A (zh) * | 2013-09-24 | 2014-01-01 | 长沙裕邦软件开发有限公司 | 一种文件上传及下载的方法和系统 |
CN103795809A (zh) * | 2014-03-03 | 2014-05-14 | 深圳市华曦达科技股份有限公司 | 文件上传方法及系统 |
CN103853715A (zh) * | 2012-11-28 | 2014-06-11 | 北大方正集团有限公司 | 一种实现文件快速浏览的方法及装置 |
JP2015090511A (ja) * | 2013-11-05 | 2015-05-11 | 株式会社日立システムズ | 分散Webアップロードシステム |
CN106878428A (zh) * | 2017-02-23 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种文件夹上传的方法以及装置 |
CN109144946A (zh) * | 2018-07-24 | 2019-01-04 | 中国建设银行股份有限公司 | 一种文件处理方法及装置 |
CN114185588A (zh) * | 2021-12-17 | 2022-03-15 | 中国平安财产保险股份有限公司 | 增量包生成方法、装置、设备及存储介质 |
-
2022
- 2022-03-18 CN CN202210269399.8A patent/CN114629893B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020049853A1 (en) * | 2000-08-16 | 2002-04-25 | Tan-Na Chu | End-to-end secure file transfer method and system |
CN102868765A (zh) * | 2012-10-09 | 2013-01-09 | 乐视网信息技术(北京)股份有限公司 | 文件上传方法和系统 |
CN103853715A (zh) * | 2012-11-28 | 2014-06-11 | 北大方正集团有限公司 | 一种实现文件快速浏览的方法及装置 |
CN103491169A (zh) * | 2013-09-24 | 2014-01-01 | 长沙裕邦软件开发有限公司 | 一种文件上传及下载的方法和系统 |
JP2015090511A (ja) * | 2013-11-05 | 2015-05-11 | 株式会社日立システムズ | 分散Webアップロードシステム |
CN103795809A (zh) * | 2014-03-03 | 2014-05-14 | 深圳市华曦达科技股份有限公司 | 文件上传方法及系统 |
CN106878428A (zh) * | 2017-02-23 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种文件夹上传的方法以及装置 |
CN109144946A (zh) * | 2018-07-24 | 2019-01-04 | 中国建设银行股份有限公司 | 一种文件处理方法及装置 |
CN114185588A (zh) * | 2021-12-17 | 2022-03-15 | 中国平安财产保险股份有限公司 | 增量包生成方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
廖福保;张文梅;: "基于Java技术的多文件上传和存取的研究及实现", 计算机工程与设计, no. 21 * |
徐向东;周国祥;石雷;: "基于TCP/IP和Winsock文件上传的应用研究", 合肥工业大学学报(自然科学版), no. 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN114629893B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101166190B (zh) | 影音文件的多源下载方法及装置 | |
CN101595459B (zh) | 用于快速且有效数据管理和/或处理的方法和系统 | |
CN102782643B (zh) | 使用布隆过滤器的索引搜索 | |
CN102332029B (zh) | 一种基于Hadoop 的海量可归类小文件关联存储方法 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
CN103714123B (zh) | 企业云存储分块对象重复数据删除和重组版本控制方法 | |
CN103678491A (zh) | 一种基于Hadoop中小文件优化和倒排索引的方法 | |
CN109522283B (zh) | 一种重复数据删除方法及系统 | |
CN102750326A (zh) | 一种基于精简策略的集群系统的日志管理优化方法 | |
CN102169507A (zh) | 一种分布式实时搜索引擎 | |
WO2014184857A1 (ja) | 重複排除システム及びその方法 | |
DE202010018481U1 (de) | Asynchroner verteilter Objekt-Upload für replizierte Assoziativspeichercluster | |
KR20160141674A (ko) | 스토리지 장치 및 자율 공간 압축 방법 | |
JP6642650B2 (ja) | Hadoopに基づいて、データマージモジュールとHBaseキャッシュモジュールを備えるHDFSに複数の2MB以下の小さなファイルを書き込む方法 | |
CN102906751A (zh) | 一种数据存储、数据查询的方法及装置 | |
WO2014000458A1 (zh) | 小文件处理方法及装置 | |
CN105912675B (zh) | 一种针对小文件合并的批量删除/查询方法与装置 | |
CN107463606B (zh) | 一种用于大数据存储系统的数据压缩引擎及方法 | |
US20180107404A1 (en) | Garbage collection system and process | |
CN103049574B (zh) | 实现文件动态副本的键值文件系统及方法 | |
CN108415671B (zh) | 一种面向绿色云计算的重复数据删除方法及系统 | |
CN103744913A (zh) | 一种基于搜索引擎技术的数据库检索方法 | |
CN103605778A (zh) | 一种视频文件的定位方法、装置及系统 | |
JP5557824B2 (ja) | 階層ファイルストレージに対する差分インデクシング方法 | |
US8214343B2 (en) | Purposing persistent data through hardware metadata tagging |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |