CN114629893A - 一种提升浏览器上传大量文件速度的方法 - Google Patents

一种提升浏览器上传大量文件速度的方法 Download PDF

Info

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
Application number
CN202210269399.8A
Other languages
English (en)
Other versions
CN114629893B (zh
Inventor
黄廷鑫
邹琼
周双全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Rayvision Technology Co ltd
Original Assignee
Shenzhen Rayvision Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Rayvision Technology Co ltd filed Critical Shenzhen Rayvision Technology Co ltd
Priority to CN202210269399.8A priority Critical patent/CN114629893B/zh
Publication of CN114629893A publication Critical patent/CN114629893A/zh
Application granted granted Critical
Publication of CN114629893B publication Critical patent/CN114629893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols 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值。
CN202210269399.8A 2022-03-18 2022-03-18 一种提升浏览器上传大量文件速度的方法 Active CN114629893B (zh)

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)

* Cited by examiner, † Cited by third party
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 中国平安财产保险股份有限公司 增量包生成方法、装置、设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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