Web应用中文件传输方法、装置和系统与流程

文档序号:32984492发布日期:2023-01-17 22:32阅读:34来源:国知局
Web应用中文件传输方法、装置和系统与流程
web应用中文件传输方法、装置和系统
技术领域
1.本发明涉及文件传输技术领域,可用于金融领域,尤其涉及一种web应用中文件传输方法、装置和系统。


背景技术:

2.web应用系统是一种可以通过web访问的应用程序,其最大的好处是用户很容易访问应用系统,用户只需要有浏览器即可,不需要再安装其他软件。对于web应用而言,经常会涉及文件的上传或下载,在上传或下载的文件比较大时,就会占用较大的网络带宽,从而影响其他用户的使用体验,更严重的可能会导致其他用户无法使用系统。现有的web应用系统,当涉及文件上传或下载时通常不做特别处理,仅限制用户上传或下载的文件大小,来确保不会占用太多网络带宽影响其他用户使用。但是在有些特殊场景下,用户确实需要上传或下载比较大的文件时,就缺乏有效的手段来保障既可以顺利的完成文件传输又不影响其他用户使用。


技术实现要素:

3.有鉴于此,本发明提供一种web应用中文件传输方法、装置和系统,以解决上述提及的至少一个问题。
4.为了实现上述目的,本发明采用以下方案:
5.根据本发明的第一方面,提供一种web应用中文件传输方法,所述方法包括:接收用户浏览器端发出的第一文件传输请求;根据所述第一文件传输请求判断是否需要进行大文件预处理,若不需要,则进行正常文件传输,若需要,则根据web应用系统带宽利用情况进行大文件预处理以向所述用户浏览器端返回文件分片尺寸及传输频度;接收所述用户浏览器端依据所述文件分片尺寸及传输频度发起的第二文件传输请求并进行文件分片传输。
6.根据本发明的第二方面,一种web应用中文件传输装置,所述装置包括:第一接收单元,用于接收用户浏览器端发出的第一文件传输请求;判断单元,用于根据所述第一文件传输请求判断是否需要进行大文件预处理;正常传输单元,用于当所述判断单元判断不需要大文件预处理时进行正常文件传输;预处理单元,用于当所述判断单元判断需要进行大文件预处理时,根据web应用系统带宽利用情况进行大文件预处理得到文件分片尺寸及传输频度;参数反馈单元,用于向所述用户浏览器端返回所述文件分片尺寸及传输频度;第二接收单元,用于接收所述用户浏览器端依据所述文件分片尺寸及传输频度发起的第二文件传输请求;分片传输单元,用于根据第二文件传输请求进行文件分片传输。
7.根据本发明的第三方面,提供一种web应用中文件传输系统,所述系统包括浏览器端和服务器端,用户通过浏览器端和所述服务器端进行文件传输,所述服务器端包括如上所述的web应用中文件传输装置。
8.根据本发明的第四方面,提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,处理器执行所述计算机程序时实现上述
方法的步骤。
9.根据本发明的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
10.根据本发明的第六方面,提供一种计算机程序产品,包括计算机程序/指令,其所述计算机程序/指令被处理器执行时实现上述方法的步骤。
11.由上述技术方案可知,本发明可以在文件传输前根据web应用的带宽情况将得到待传输文件的分片尺寸及传输频度,从而可以按照特定传输频度将文件进行分片传输,可以控制传输文件对网络流量的占用,避免影响其他用户访问web应用系统,同时也可以保障用户的正常文件传输。
附图说明
12.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
13.图1是本技术实施例提供的一种web应用中文件传输方法的流程示意图;
14.图2是本技术实施例提供的大文件预处理的流程示意图;
15.图3是本技术实施例提供的一种上传分片文件的组装流程示意图;
16.图4本技术实施例提供的一种web应用中文件传输装置的结构示意图;
17.图5本技术实施例提供的一种预处理单元的结构示意图;
18.图6是本技术实施例提供的一种组装单元的结构示意图;
19.图7是本技术实施例提供的一种web应用中文件传输系统的结构示意图;
20.图8是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
21.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
22.web应用系统一般采用b/s模式,也就是浏览器端/服务器端模式,其中文件传输就是在浏览器端和服务器端之间进行。
23.如图1所示为本技术实施例提供的一种web应用中文件传输方法的流程示意图,本实施例的各步骤实施主体是服务器端,该方法包括如下步骤:
24.步骤s101:接收用户浏览器端发出的第一文件传输请求。在本实施例中,该第一文件传输请求可以包括文件上传请求和文件下载请求。
25.作为本发明的一个实施例,对于文件上传请求,浏览器端可以先判断文件的大小,如果属于大文件,则在文件上传请求中可以包括预上传交易请求,该预上传交易请求包含了预上传文件的大小,如果不属于大文件,则在文件上传请求中可以包含与服务器端进行正常文件上传的指令信息。
26.对于文件下载请求,浏览器也可以先判断文件的大小,如果属于大文件,则在文件
下载请求中可以包括预下载交易请求,如果文件明显不属于大文件,则在文件下载请求中可以包含与服务器端进行正常文件下载的指令信息。另外,在下载请求中,当浏览器端无法得知下载文件的大小的时候,也可以文件下载请求中可以包括预下载交易请求。
27.在本实施例中,判定传输文件是否属于大文件,可以根据网络带宽、web应用系统的并发处理能力等实际情况进行预先设置一相对合理的参数,以该参数作为大文件的判断依据。比如假设系统有50m的带宽,1000的并发处理能力,预留一半的带宽,文件传输占用10%的并发,考虑在120秒内传输完成,就认为不是大文件,那么这个参数就可以设置为120*2.5m/(1000*10%)即3m的文件大小(带宽和上传下载速度是10:1的关系)。该设置在浏览器端及服务器端是同步的,即判断标准是统一的,因此,上述对于大文件的判断流程也可以由服务器端予以完成,浏览器端对于所有文件的上传和下载指令中均包含对应的预上传交易请求和预下载交易请求,而并不对文件大小进行判断,本技术对此并不加以限定。
28.步骤s102:根据所述第一文件传输请求判断是否需要进行大文件预处理,若不需要,就进入步骤s103,如需要,则进入步骤s104。
29.服务器端在收到上述第一文件传输请求后,根据该请求的内容进行判断是否需要进行大文件预处理,比如当该第一文件传输请求中包含正常上传或正常下载的指令信息时,则判断不需要进行大文件预处理,若该第一文件传输请求中包含预上传交易请求或预下载交易请求时,则认为需要进行大文件预处理。或者,当浏览器端未做大文件判断,而服务器端收到该第一文件传输请求后,再进行判断是否为大文件,进而决定是否进行大文件预处理。
30.步骤s103:和用户浏览器端之间进行正常文件传输。正常文件传输即现有技术中将文件作为一个整体正常上传或下载,本实施例对此不再进行阐述。
31.步骤s104:根据web应用系统带宽利用情况进行大文件预处理以向所述用户浏览器端返回文件分片尺寸及传输频度。
32.在本实施例中,对于web系统认定的大文件,需要按照特定的频度来进行分片传输,从而缓解传输文件对网络流量的占用,具体来所,可以根据web应用系统当前时间段的带宽利用情况,来决定文件分片尺寸和传输频度。
33.对于文件上传来说,浏览器端的文件上传请求中可以包括预上传文件的大小,然后服务器端根据实际带宽占用情况来对该上传文件分片,得到文件分片尺寸,并设定一相对于目前带宽占用情况来说比较合理的传输频度,然后将该文件分片尺寸和传输频度返回给浏览器端,由浏览器端进行后续文件上传操作。
34.对于文件下载来说,服务器端可以根据浏览器端的大文件判断或服务器端本身的大文件判断,来结合目前带宽占用情况对需要下载的文件分片,得到文件分片尺寸和传输频度,然后将该文件分片尺寸和传输频度返回给浏览器端,由浏览器端进行后续文件下载操作。
35.步骤s105:接收所述用户浏览器端依据所述文件分片尺寸及传输频度发起的第二文件传输请求并进行文件分片传输。在本实施例中,该第二传输请求可以为分片文件上传请求或者分片文件下载请求。
36.对于文件上传,浏览器端在收到服务器端返回的文件分片尺寸和传输频度后,可以根据文件分片尺寸对待上传文件进行分片,然后将分片信息,比如分片数量等包含在分
片文件上传请求中发送给服务端,随后浏览器端即按照上述传输频度将分片后的文件进行上传,在本实施例中,分片后的文件可以逐一上传,也可以随机上传,在分片时可以对各个文件进行顺序编号,方便服务器端收到文件后进行组装。
37.对于文件下载,浏览器端只需要根据分片尺寸自行计算待下载文件的起始位置及长度,然后将其放入文件下载请求中发送给服务器端后即可进行文件分片下载。
38.由上述技术方案可知,本发明可以在文件传输前根据web应用的带宽情况将得到待传输文件的分片尺寸及传输频度,从而可以按照特定传输频度将文件进行分片传输,可以控制传输文件对网络流量的占用,避免影响其他用户访问web应用系统,同时也可以保障用户的正常文件传输。
39.优选的,如图2所示,上述步骤s104中根据web应用系统带宽利用情况进行大文件预处理以向所述用户浏览器端返回文件分片尺寸及传输频度具体可以包括如下步骤:
40.s201:根据预设时间间隔采集web应用系统的监控数据。在本实施例中,该监控数据可以包括:当前在线用户数量、上传请求数量、下载请求数量、接收吞吐量和发送吞吐量。预设时间可以根据需要设置,比如每隔5分钟采集一次上述监控数据。
41.另外可选的,还可以针对文件分片大小和频度根据测试情况对文件分片上传和下载分别设置一个初始参数值和调整参考范围,使得文件分片尺寸的调整都在该范围内进行。比如上传文件的时候设置文件分片大小为5m,频度为每分钟10次,调整范围文件分片大小设置为1m到50m,频度范围为1到120次每分钟。这样,监控数据还可以包括当前设置的上传文件分片大小、下载文件分片大小、上传频度和下载频度。
42.s202:通过预设分析模型对所述监控数据进行分析,得到所述文件分片尺寸及传输频度。
43.对于文件上传操作,可以通过预设分析模型对所述在线用户数量、上传请求数量和接收吞吐量进行分析,得到上传文件分片尺寸及上传传输频度。该预设分析模型中可以包括预设的多组上传文件分片大小和上传频度等参数,通过这些预设参数预采集到的监控数据一起作为分析模型的输入参数,同时以接收吞吐量作为判断依据,接收吞吐量越高则说明参数设置越合理,然后根据分析模型给出的建议参数值即为该次文件上传操作的上传文件分片尺寸及传输频度。另外如步骤s201所述,分析模型用到的上传文件分片大小和上传频度等参数也可以是采集到的监控数据的一部分,对此,本技术并不加以限定。
44.对于文件下载操作,可以通过预设分析模型对所述在线用户数量下载请求数量和发送吞吐量进行分析,得到下载文件分片尺寸及下载传输频度。该预设分析模型中可以包括预设的多组下载文件分片大小和下载频度等参数,通过这些预设参数预采集到的监控数据一起作为分析模型的输入参数,同时以发送吞吐量作为判断依据,发送吞吐量越高则说明参数设置越合理,然后根据分析模型给出的建议参数值即为该次文件下载操作的下载文件分片尺寸及传输频度。另外如步骤s201所述,分析模型用到的下载文件分片大小和下载频度等参数也可以是采集到的监控数据的一部分,对此,本技术并不加以限定。
45.s203:将所述文件分片尺寸及传输频度返回给所述用户浏览器端。通过步骤s202之后,可以将分析模型分析得到的上传文件分片尺寸和上传频度,或者下载文件分片尺寸和下载频度发送给用户浏览器端,供浏览器端进行下一步操作。
46.本技术实施例通过全面考虑web应用系统的带宽占用状况来确定分片尺寸和传输
频度,可以更好地兼顾文件传输及用户体验。
47.优选的,若上述步骤s105中的第二传输请求为文件上传请求,则服务器端通过步骤s105接收到上传分片文件后,还可以根据预设组装规则对接收的分片文件进行组装。如图3所示为本技术实施例提供的一种上传分片文件的组装流程示意图,该组装过程包括如下步骤:
48.s301:将分片文件的接收文件名和对应的上传顺序号组合为临时文件进行存储。
49.s302:按照所述接收文件名进行组装得到组装文件。
50.s303:对组装文件计算得到第一哈希值。
51.s304:将所述第一哈希值与用户浏览器端上送的第二哈希值进行对比以确保所述组装文件完整。
52.通过上述组装过程,可以确保上传文件的完整性,避免出现文件错误。
53.另外,若上述步骤s105中的第二传输请求为文件下载请求,服务器端可以在该下载请求中记录需要下载的文件起始位置和长度,当服务器返回完最后一个分片文件后,由浏览器端进行组装即可,同样可以通过对比哈希值的方式来确保浏览器端组装文件的完整性,
54.如上所述,本技术提供的web应用中文件传输方法,可以在文件传输前根据web应用的带宽情况将得到待传输文件的分片尺寸及传输频度,从而可以按照特定传输频度将文件进行分片传输,可以控制传输文件对网络流量的占用,避免影响其他用户访问web应用系统,同时也可以保障用户的正常文件传输。
55.如图4所示为本技术实施例提供的一种web应用中文件传输装置的结构示意图,该装置400包括:第一接收单元410、判断单元420、正常传输单元430、预处理单元440、参数反馈单元450、第二接收单元460和分片传输单元470,其中判断单元420分别和第一接收单元410、正常传输单元430及预处理单元440相连,参数反馈单元450和预处理单元440相连,第二接收单元460和分片传输单元470相连。
56.第一接收单元410用于接收用户浏览器端发出的第一文件传输请求。
57.判断单元420用于根据第一接收单元410接收的第一文件传输请求判断是否需要进行大文件预处理。
58.正常传输单元430用于当判断单元420判断不需要大文件预处理时进行正常文件传输。
59.预处理单元440用于当判断单元420判断需要进行大文件预处理时,根据web应用系统带宽利用情况进行大文件预处理得到文件分片尺寸及传输频度。
60.参数反馈单元450用于向用户浏览器端返回预处理单元440通过预处理得到的文件分片尺寸及传输频度。
61.第二接收单元460用于接收用户浏览器端依据所述文件分片尺寸及传输频度发起的第二文件传输请求。
62.分片传输单元470用于根据第二接收单元460接收的第二文件传输请求进行文件分片传输。
63.优选的,如图5所示,上述预处理单元440可以包括采集模块441和数据分析模块442,它们之间相互连接,其中采集模块441用于根据预设时间间隔采集web应用系统的监控
数据,数据分析模块442用于通过预设分析模型对所述监控数据进行分析,得到文件分片尺寸及传输频度。在本实施例中,上述监控数据可以包括当前在线用户数量、上传请求数量、下载请求数量、接收吞吐量和发送吞吐量。
64.优选的,数据分析模块442具体用于:通过预设分析模型对所述在线用户数量、上传请求数量和接收吞吐量进行分析,得到上传文件分片尺寸及上传传输频度,或通过预设分析模型对所述在线用户数量、下载请求数量和发送吞吐量进行分析,得到下载文件分片尺寸及下载传输频度。相对应的,参数反馈单元450具体用于将所述上传文件分片尺寸及上传传输频度,或所述下载文件分片尺寸及下载传输频度返回给用户浏览器端。
65.优选的,上述第二接收单元460可以包括上传请求接收子单元和下载请求接收子单元,其中上传请求接收子单元用于接收所述用户浏览器端依据所述上传文件分片尺寸及上传传输频度发起的文件上传请求,下载请求接收子单元用于接收所述用户浏览器端依据所述下载文件分片尺寸及下载传输频度发起的文件下载请求。
66.优选的,若上述第二传输请求为文件上传请求,则该文件传输装置还包括组装单元,用于根据预设组装规则对接收的分片文件进行组装。如图6所示为本实施例提供的一种组装单元的结构示意图。该组装单元包括:临时存储模块610、组装模块620、哈希计算模块630和哈希对比模块640,它们之间依次相连,其中:
67.临时存储模块610用于将分片文件的接收文件名和对应的上传顺序号组合为临时文件进行存储。
68.组装模块620用于按照上述接收文件名进行组装得到组装文件。
69.哈希计算模块630用于对组装模块620得到的组装文件计算得到第一哈希值。
70.哈希比对模块640用于将上述第一哈希值与用户浏览器端上送的第二哈希值进行对比以确保组装文件完整。
71.上述文件传输装置各单元的详细描述可以参见上述文件传输方法实施例中对应的描述,在此不再进行赘述。
72.本技术提供的web应用中文件传输装置,可以在文件传输前根据web应用的带宽情况将得到待传输文件的分片尺寸及传输频度,从而可以按照特定传输频度将文件进行分片传输,可以控制传输文件对网络流量的占用,避免影响其他用户访问web应用系统,同时也可以保障用户的正常文件传输。
73.如图7所示为本技术实施例提供的一种web应用中文件传输系统的结构示意图,该文件传输系统包括浏览器端710和服务器端720,用户可以通过浏览器端710和服务器端720之间进行文件传输,浏览器端710和服务器端720通过http协议相互通讯,客户端模块以javascript脚本实现并运行在浏览器上,发起上传下载请求,而该服务器端720则包括如上所述的web应用中文件传输装置。
74.如上所述,本技术提供的web应用中文件传输系统,可以在文件传输前根据web应用的带宽情况将得到待传输文件的分片尺寸及传输频度,从而可以按照特定传输频度将文件进行分片传输,可以控制传输文件对网络流量的占用,避免影响其他用户访问web应用系统,同时也可以保障用户的正常文件传输。
75.图8是本发明实施例提供的电子设备的示意图。图8所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器801和存储器802。处理器801和
存储器802通过总线803连接。存储器802适于存储处理器801可执行的一条或多条指令或程序。该一条或多条指令或程序被处理器801执行以实现上述web应用中文件传输方法中的步骤。
76.上述处理器801可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器801通过执行存储器802所存储的命令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其他装置的控制。总线803将上述多个组件连接在一起,同时将上述组件连接到显示控制器804和显示装置以及输入/输出(i/o)装置805。输入/输出(i/o)装置805可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出(i/o)装置805通过输入/输出(i/o)控制器806与系统相连。
77.其中,存储器802可以存储软件组件,例如操作系统、通信模块、交互模块以及应用程序。以上所述的每个模块和应用程序都对应于完成一个或多个功能和在发明实施例中描述的方法的一组可执行程序指令。
78.本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述web应用中文件传输方法的步骤。
79.本发明实施例还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述web应用中文件传输方法的步骤。
80.综上所述,本发明实施例提供的web应用中文件传输方法和装置,可以在文件传输前根据web应用的带宽情况将得到待传输文件的分片尺寸及传输频度,从而可以按照特定传输频度将文件进行分片传输,可以控制传输文件对网络流量的占用,避免影响其他用户访问web应用系统,同时也可以保障用户的正常文件传输。
81.以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
82.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
83.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
84.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
85.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
86.需要说明的是,本发明web应用中文件传输方法和装置可用于金融领域相关业务的文件传输,也可用于除金融领域之外的任意领域,本发明对web应用中文件传输方法和装置的应用领域不做限定。
87.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1