负载均衡文件上传方法、系统、计算机存储介质及设备技术方案

技术编号:21096039 阅读:23 留言:0更新日期:2019-05-11 12:28
本发明专利技术提供一种负载均衡文件上传方法、负载均衡文件上传系统、计算机存储介质及电子设备,所述方法包括:使用Lua开发的文件上传模块,将文件上传到Nginx文件服务器上;Lua获取文件流,开辟缓冲区并将文件流写入所述缓冲区;生成随机的文件名,并获取文件原有后缀组成新的文件名;将具有新的文件名的文件写入磁盘。根据本发明专利技术实施例的负载均衡文件上传方法,使用Lua开发的文件上传功能,支持文件上传下载负载均衡,基于Docker的负载均衡的Nginx文件服务方案,单个容器可提供完整的文件上传下载服务,并且整体服务部署简单方便,还可校验文件的完整性、安全性和合法性。

Load Balancing File Upload Method, System, Computer Storage Media and Equipment

【技术实现步骤摘要】
负载均衡文件上传方法、系统、计算机存储介质及设备
本专利技术涉及通信领域,更具体地,涉及一种负载均衡文件上传方法、负载均衡文件上传系统、计算机存储介质及电子设备。
技术介绍
目前,公开号为CN104394183A的专利申请公开了一种文件上传系统、方法及Nginx服务器,上述文件上传系统包括:Nginx服务器,用于接收来自于客户端上传的文件,在所述文件上传完之后触发PHP后端服务器;所述PHP后端服务器,与所述Nginx服务器相连接,用于将所述文件移动至指定的发布目录下。根据本专利技术提供的技术方案,使用Nginx服务器的高效处理能力,使客户端在大文件上传中更加稳定,同时基于Nginx服务器对后端PHP处理端口的监听,Nginx在文件上传处理完成后主动触发后端PHP程序进行服务器的业务逻辑的处理,从而使后端服务器的开发更加灵活,处理逻辑更加清晰。然而,上述申请中所公开的技术方案还存在以下技术问题:1、该方法需要部署两个服务,nginx作为文件缓存,实际上使用php服务器做文件保存;2.、稳定性差,不支持负载均衡;一旦两个服务中任何一个挂起或者异常关闭均会导致拒绝服务;一旦有大量文件上传,容易出现php服务器假死挂机;3、服务整体部署复杂;4、没有校验文件完整性、合法性、安全性。因此,存在改进需要。
技术实现思路
有鉴于此,本专利技术提供一种负载均衡文件上传方法、负载均衡文件上传系统、计算机存储介质及电子设备,整体部署简单,支持文件上传下载负载均衡。为解决上述技术问题,一方面,本专利技术提供一种负载均衡文件上传方法,所述方法包括:使用Lua开发的文件上传模块,将文件上传到Nginx文件服务器上;Lua获取文件流,开辟缓冲区并将文件流写入所述缓冲区;生成随机的文件名,并获取文件原有后缀组成新的文件名;将具有新的文件名的文件写入磁盘。根据本专利技术的一些实施例,所述方法还包括:在浏览器使用form表单的形式将文件上传到所述Nginx文件服务器上。根据本专利技术的一些实施例,所述方法还包括:在生成随机的文件名之前,校验文件的完整性、合法性和安全性。根据本专利技术的一些实施例,所述方法还包括:使用Docker将Nginx文件服务打包为Docker镜像;使用所述Docker镜像,在任意台服务器,启动任意个Nginx文件服务的服务器容器;使用Nginx的负载均衡统一管理所述服务器容器。第二方面,本专利技术实施例提供一种负载均衡文件上传方法系统,包括:上传模块,所述上传模块使用Lua开发;接收模块,所述接收模块接收所述上传模块上传的文件;获取模块,所述获取模块获取文件流,开辟缓冲区并将文件流写入所述缓冲区;生成模块,所述生成模块生成随机的文件名,并获取文件原有后缀组成新的文件名;写入模块,所述写入模块将具有新的文件名的文件写入磁盘。根据本专利技术的一些实施例,所述上传模块在浏览器使用form表单的形式将文件上传到所述Nginx文件服务器上。根据本专利技术的一些实施例,所述负载均衡文件上传系统还包括:校验模块,所述校验模块在生成随机的文件名之前,校验文件的完整性、合法性和安全性。根据本专利技术的一些实施例,所述负载均衡文件上传系统还包括:打包模块,所述打包模块使用Docker将Nginx文件服务打包为Docker镜像;触发模块,所述触发模块使用所述Docker镜像,在任意台服务器,启动任意个Nginx文件服务的服务器容器;管理模块,所述管理模块使用Nginx的负载均衡统一管理所述服务器容器。第三方面,本专利技术实施例提供一种计算机存储介质,包括一条或多条计算机指令,所述一条或多条计算机指令在执行时实现如上述实施例所述的方法。第四方面,本专利技术实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令;所述处理器用于调用并执行所述一条或多条计算机指令,从而实现如上述实施例所述的方法。本专利技术的上述技术方案至少具有如下有益效果之一:根据本专利技术实施例的负载均衡文件上传方法、负载均衡文件上传系统、计算机存储介质及电子设备,使用Lua开发的文件上传功能,支持文件上传下载负载均衡,基于Docker的负载均衡的Nginx文件服务方案,单个容器可提供完整的文件上传下载服务,并且整体服务部署简单方便,还可校验文件的完整性、安全性和合法性。附图说明图1为本专利技术实施例的负载均衡文件上传方法的流程图;图2为本专利技术实施例的负载均衡文件上传系统的示意图;图3为本专利技术实施例的电子设备的示意图。附图标记:负载均衡文件上传方法100;负载均衡文件上传系统200;上传模块210;接收模块220;获取模块230;生成模块240;写入模块250;校验模块260;电子设备300;存储器310;操作系统311;应用程序312;处理器320;网络接口330;输入设备340;硬盘350;显示设备360。具体实施方式下面将结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。下面首先结合附图具体描述根据本专利技术实施例的负载均衡文件上传方法100。如图1所示,根据本专利技术实施例的负载均衡文件上传方法100包括:使用Lua开发的文件上传模块,将文件上传到Nginx文件服务器上。Lua获取文件流,开辟缓冲区并将文件流写入所述缓冲区。生成随机的文件名,并获取文件原有后缀组成新的文件名。将具有新的文件名的文件写入磁盘。换言之,根据本专利技术实施例的负载均衡文件上传方法100,使用Lua开发的文件上传模块,在浏览器使用form表单的形式将文件上传到Nginx文件服务器上,Lua获取到文件流之后,开辟缓冲区将文件流写到缓冲区中。接着生成随机的文件名,获取文件原有后缀组成新的文件名,最后将具有新的文件名的文件写入磁盘,即可实现负载均衡文件的上传。由此,根据本专利技术实施例的负载均衡文件上传方法100,使用Lua开发的文件上传功能,支持文件上传下载负载均衡,单个容器可提供完整的文件上传下载服务,并且服务部署简单方便。优选地,根据本专利技术的一个实施例,根据本专利技术实施例的负载均衡文件上传方法100还包括:在生成随机的文件名之前,校验文件的完整性、合法性和安全性。由此可以对文件的完整性、合法性和安全性进行校验。在本专利技术的一些具体实施方式中,负载均衡文件上传方法100还包括:使用Docker将Nginx文件服务打包为Docker镜像。使用所述Docker镜像,在任意台服务器,启动任意个Nginx文件服务的服务器容器。使用Nginx的负载均衡统一管理所述服务器容器。由此,根据本专利技术实施例的负载均衡文件上传方法100,采用基于Docker的负载均衡的Nginx文件服务方案,支持文件上传下载负载均衡,并且单个容器可提供完整的文件上传下载服务,整体服务部署简单方便。如图2所示,根据本专利技术实施例的负载均衡文件上传系统200包括:上传模块210、接收模块220、获取模块230、生成模块240和写入模块250。具体而言,所述上传模块210使用Lua开发,其中,所述上传模块210可以在浏览器使用form表单的形式将文件上传到所述Nginx文件服务器上。所述接收模块220接收所述上传模块210上传的文件,所述获取模块230获取文件流,开辟缓冲区并将文件流写入所述缓冲区,所述生成模块240生本文档来自技高网...

【技术保护点】
1.一种负载均衡文件上传方法,其特征在于,所述方法包括:使用Lua开发的文件上传模块,将文件上传到Nginx文件服务器上;Lua获取文件流,开辟缓冲区并将文件流写入所述缓冲区;生成随机的文件名,并获取文件原有后缀组成新的文件名;将具有新的文件名的文件写入磁盘。

【技术特征摘要】
1.一种负载均衡文件上传方法,其特征在于,所述方法包括:使用Lua开发的文件上传模块,将文件上传到Nginx文件服务器上;Lua获取文件流,开辟缓冲区并将文件流写入所述缓冲区;生成随机的文件名,并获取文件原有后缀组成新的文件名;将具有新的文件名的文件写入磁盘。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在浏览器使用form表单的形式将文件上传到所述Nginx文件服务器上。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在生成随机的文件名之前,校验文件的完整性、合法性和安全性。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:使用Docker将Nginx文件服务打包为Docker镜像;使用所述Docker镜像,在任意台服务器,启动任意个Nginx文件服务的服务器容器;使用Nginx的负载均衡统一管理所述服务器容器。5.一种负载均衡文件上传系统,其特征在于,包括:上传模块,所述上传模块使用Lua开发;接收模块,所述接收模块接收所述上传模块上传的文件;获取模块,所述获取模块获取文件流,开辟缓冲区并将文件流写入所述缓冲区;生成模块,所述生成模块生成随机的文件名,并获取文...

【专利技术属性】
技术研发人员:林彦颖黄仝宇汪刚宋一兵侯玉清刘双广
申请(专利权)人:高新兴科技集团股份有限公司
类型:发明
国别省市:广东,44

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

1