文件上传及下载方法、服务器及计算机可读存储介质技术

技术编号:20855503 阅读:29 留言:0更新日期:2019-04-13 10:51
本发明专利技术涉及数据处理,提供一种文件上传方法,该方法包括:第一服务器接收用户发送的文件上传请求后,对文件上传请求的合规性进行判断,若不合规,则直接拒绝该文件上传请求;对于通过合规性判断的文件上传请求,判断第二服务器集群的负载是否较高,若是,则基于预设限流限速规则将文件上传请求传输至第二服务器,供第二服务器进行文件上传处理。本发明专利技术还提供一种文件下载方法、服务器及计算机存储介质。利用本发明专利技术,可以提高文件上传、下载的效率,提高系统的稳定性,提升用户的使用体验。

【技术实现步骤摘要】
文件上传及下载方法、服务器及计算机可读存储介质
本专利技术涉及数据处理
,尤其涉及一种文件上传及下载方法、服务器及计算机可读存储介质。
技术介绍
互联网发展迅速,已成为人们生活的重要组成部分和人类文明传播发展的重要载体,渗透到经济、政治、文化、社会生活各个方面,改变着人们的交往方式和思维方式。对于面向互联网对象存储而言,高并发的文件上传/下载请求会导致一个调用方影响其他调用方的情况,从而降低用户的体验。
技术实现思路
鉴于以上内容,本专利技术提供一种文件上传及下载方法、服务器及计算机可读存储介质,其主要目的在于通过降低并发之间的影响,提高文件上传、下载的效率,提高系统的稳定性,提升用户的使用体验。为实现上述目的,本专利技术提供一种文件上传方法,该方法包括:S1、所述第一服务器接收用户发送的携带待上传文件的文件上传请求,根据第一预设判断规则判断所述文件上传请求是否被禁止;S2、若判断所述文件上传请求被禁止,则拒绝该文件上传请求,并生成提示信息反馈给用户;S3、若判断所述文件上传请求未被禁止,则根据第二预设判断规则判断是否需要对所述文件上传请求执行限流限速;S4、若需要对所述文件上传请求执行限流限速,则基于预设限流限速规则将所述文件上传请求传输到第二服务器,并接收第二服务器反馈的上传结果,并将所述上传结果反馈给用户。此外,为实现上述目的,本专利技术还提供一种文件下载方法,该方法包括:A1、所述第一服务器接收用户发送的文件下载请求,根据预设禁止判断规则判断所述文件下载请求是否被禁止;A2、若判断所述文件下载请求被禁止,则拒绝该文件下载请求,并生成提示信息反馈给用户;A3、若判断所述文件下载请求未被禁止,则根据预设查询规则从预设存储路径中查找所述待下载文件对应的缓存文件;A4、当存在所述缓存文件时,将所述缓存文件作为待下载文件反馈给用户;当不存在所述缓存文件时,根据预设限流限速判断规则判断是否需要对所述文件下载请求执行限流限速,若是,基于预设限流限速规则将所述文件下载请求传输到第二服务器,并接收第二服务器反馈的下载结果,并将所述下载结果反馈给用户。此外,本专利技术还提供一种第一服务器,该第一服务器包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的文件上传/下载程序,所述文件上传/下载程序被所述处理器执行时,可实现如上所述文件上传/下载方法中的任意步骤。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中包括文件上传/下载程序,所述文件上传/下载程序被处理器执行时,可实现如上所述文件上传/下载方法中的任意步骤。本专利技术提出的文件上传及下载方法、服务器及计算机可读存储介质,接收用户发送的文件上传请求后,对文件上传请求的合规性进行判断,若不合规,则直接拒绝该文件上传请求;对于通过合规性判断的文件上传请求,判断当前第二服务器的负载是否较高,若是,则基于预设限流限速规则将文件上传请求传输至第二服务器,供第二服务器进行文件上传处理。通过直接拒绝不合规请求,有效减少系统压力,提高文件上传请求的处理效率;当系统较繁忙时,通过对合规的请求进行限流限速处理,有效保证系统的稳定性及用户的使用体验。附图说明图1为本专利技术文件上传及下载系统1较佳实施例的示意图;图2为本专利技术文件上传方法较佳实施例的流程图;图3为图1中第一服务器较佳实施例的示意图;图4为图3中文件上传程序较佳实施例的程序模块示意图;图5为本专利技术文件下载方法较佳实施例的流程图;图6为本专利技术第一服务器另一个较佳实施例的示意图;图7为图6中文件下载程序较佳实施例的程序模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参照图1所示,为本专利技术文件上传及下载系统1较佳实施例的示意图。所述文件上传及下载系统可以只包括:第一服务器集群2、第二服务器集群3。所述第一服务器集群2中每台第一服务器21用于接收用户通过客户端(图中未标出)发出的文件上传/下载请求,对请求执行是否禁止判断及是否限流限速判断,并将符合条件的请求按照一定的规则发送至第二服务器31,供第二服务器31执行文件上传/下载操作。本实施例中,所述第一服务器21为NGINX服务器。此外,所述第一服务器21还接受第二服务器31反馈的处理结果并发送至客户端。所述第二服务器集群3中每台第二服务器31用于接收第一服务器21分配的文件上传/下载请求,并执行文件上传/下载操作。本实施例中,所述第二服务器31可以是IOBS文件服务器。所述文件上传及下载系统还可以包括:负载均衡设备4。所述负载均衡设备4用于接收用户通过客户端发出的文件上传/下载请求,并将文件上传/下载请求均衡地分配给第一服务器集群2中的每台第一服务器21。参照图2所示,为本专利技术文件上传方法较佳实施例的流程图。该方法由图1中第一服务器集群2中任意一台第一服务器21包括的软件和硬件配合执行。在本实施例中,该方法包括步骤S10-S40。步骤S10,所述第一服务器接收用户发送的携带待上传文件的文件上传请求,根据第一预设判断规则判断所述文件上传请求是否被禁止。以下均以第一服务器(例如,NGINX服务器)作为执行主体对本专利技术实施例进行说明。步骤S20,若判断所述文件上传请求被禁止,则拒绝该文件上传请求,并生成提示信息反馈给用户。其中,用户指业务系统粒度的用户,例如,淘宝、京东等。文件上传请求中包括用户的属性信息、待上传文件的属性信息及其他参数信息等数据。例如,用户的属性信息包括:用户名、对应的IP及对应的桶名(bucket)等,待上传文件的属性信息包括:待上传文件的文件名及大小等。文件上传请求可通过负载均衡设备基于预设的负载均衡规则分配至NGINX服务器集群中的每台NGINX服务器。本实施例中,预设的负载均衡规则可以包括:根据预设第一服务器列表中各第一服务器的排序,按照轮询的方式,依次将所述一条或多条文件上传请求分配给各第一服务器;其中,预先确定第一服务器集群中各第一服务器的排序,生成第一服务器列表,依次按照第一服务器中各第一服务器的顺序,将文件上传请求分配给各第一服务器;或者分别实时统计各第一服务器对应的负载数量,将所述请求分配给负载数量最少的第一服务器;其中,所述负载数量可以是待处理请求数量,实时或定时统计每个第一服务器的待处理请求数量,将上传请求分配给待处理指令数量最少的第一服务器,以均衡各第一服务器的负载;或者依次接收各第一服务器反馈的请求完成结果,按照反馈时间对各第一服务器进行排序,根据排序顺序依次将请求分配给各第一服务器;当某个第一服务器完成请求(并不限于上传请求)后,主动去获取请求资源进行处理,这样可以有效地进行资源分配。优选地,本实施例中的所述第一预设判断规则为禁止判断规则,其包括:从所述文件上传请求中获取用户的属性信息,将属性信息与预设的黑名单进行比对,当黑名单中存在该用户的属性信息时,判断所述文件上传请求被禁止;当黑名单中不存在该用户的属性信息时,判断所述文件上传请求未被禁止。其中,预先设置的黑名单保存在预设数据库中,例如,redis。黑名单中包括被禁止的用户名、IP信息、桶名(bucket)等信息中的任意一种。进一步地,所本文档来自技高网...

【技术保护点】
1.一种文件上传方法,应用于第一服务器,其特征在于,所述方法包括:S1、所述第一服务器接收用户发送的携带待上传文件的文件上传请求,根据第一预设判断规则判断所述文件上传请求是否被禁止;S2、若判断所述文件上传请求被禁止,则拒绝该文件上传请求,并生成提示信息反馈给用户;S3、若判断所述文件上传请求未被禁止,则根据第二预设判断规则判断是否需要对所述文件上传请求执行限流限速;S4、若需要对所述文件上传请求执行限流限速,则基于预设限流限速规则将所述文件上传请求传输到第二服务器,并接收第二服务器反馈的上传结果,并将所述上传结果反馈给用户。

【技术特征摘要】
1.一种文件上传方法,应用于第一服务器,其特征在于,所述方法包括:S1、所述第一服务器接收用户发送的携带待上传文件的文件上传请求,根据第一预设判断规则判断所述文件上传请求是否被禁止;S2、若判断所述文件上传请求被禁止,则拒绝该文件上传请求,并生成提示信息反馈给用户;S3、若判断所述文件上传请求未被禁止,则根据第二预设判断规则判断是否需要对所述文件上传请求执行限流限速;S4、若需要对所述文件上传请求执行限流限速,则基于预设限流限速规则将所述文件上传请求传输到第二服务器,并接收第二服务器反馈的上传结果,并将所述上传结果反馈给用户。2.根据权利要求1所述的文件上传方法,其特征在于,所述第一预设判断规则包括:从所述文件上传请求中获取用户的属性信息,将属性信息与预设的黑名单进行比对当黑名单中存在该用户的属性信息时,判断所述文件上传请求被禁止;当黑名单中不存在该用户的属性信息时,判断所述文件上传请求未被禁止;或者统计所述用户在第一预设时间内的发出文件上传请求的请求频率,当请求频率超过预设请求频率阈值时,判断所述文件上传请求被禁止;当请求频率未超过预设请求频率阈值时,判断所述文件上传请求未被禁止;或者获取所述文件上传请求的参数信息,根据所述参数信息判断请求是否为正规请求,若是正规请求,判断所述文件上传请求未被禁止;若是非正规请求,判断所述文件上传请求被禁止。3.根据权利要求1所述的文件上传方法,其特征在于,所述第二预设判断规则包括:定时或实时计算预先确定的第二服务器集群的负载,当负载超过预设负载阈值时,判断需要执行限流限速;当负载未超过预设负载阈值时,判断不需要执行限流限速。4.根据权利要求1所述的文件上传方法,其特征在于,所述预设限流限速规则包括:根据所述用户的属性信息确定对应的桶名,统计第二预设时间内所述桶名对应的链接总数;当所述链接总数大于或等于所述桶名对应的预设链接数阈值时,拒绝所述文件上传请求;当所述链接总数小于所述桶名对应的预设链接数阈值时,根据所述待上传文件的属性信息确定所述待上传文件的文件大小,判断所述待上传文件的文件大小是否大于或等于预设阈值;若是,则按照预设比例的默认网络带宽将所述文件上传请求传输至第二服务器;若否,则按照默认网络带宽将所述文件上传请求传输至第二服务器。5.根据权利要求4所述的文件上传方法,其特征在于,所述链接数阈值通过以下步骤确定:计算所述第一服务器在第三预设时间内的平均并发数,实时统计链接所述第一服务器的...

【专利技术属性】
技术研发人员:罗国强
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1