求超大文件上传方案( B/S )

news/2024/5/20 14:22:38 标签: java, 服务器, 开发语言

4GB以上超大文件上传和断点续传服务器的实现

随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。

但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基本的上传功能,然而在实际使用中会发现,这些基于脚本语言实现的上传功能模块性能很弱,一是不支持2GB以上的内容上传;二是无法支持断点续传;三是效率极低,单台服务器最多支持几十个并发上传连接。

当前我们要搭建一个运营级的视频服务平台,在尝试了各种产品均无法满足要求,因此最后花精力自主用C#语言实现了这一高性能上传服务器。 

项目地址:

asp.net源码下载,jsp-springboot源码下载,jsp-eclipse源码下载,jsp-myeclipse源码下载,php源码下载,csharp-winform源码下载,vue-cli源码下载,c++源码下载

Hyper Upload Server 超级上传服务器 

这是一款超级文件上传服务器,采用异步I/O架构,采用C++语言编码实现。它支持4GB以上超大文件上传和断点续传,支持Windows和Linux服务器平台,支持任意格式的文件上传,尤其适合大的视频网站应用。单台服务器支持1000并发上传进程,支持PC端和智能手机端主流的浏览器。 

主要特性

1. 服务器端采用异步I/O架设设计,具有高性能I/O处理能力,尤其适用于超大文件上传;

2. 服务器端采用高效内存分配技术确保在运行过程中服务器的内存开销最小化;

3. 完全采用标准协议实现,因此兼容几乎所有的PC端和移动端浏览器;

4. 服务器端采用C++语言自主实现,对上传文件的尺寸无限制,天生支持超大文件上传。

   而基于PHP、JAVA等技术实现的文件上传服务天生无法支持超大文件上传,无法逾越2GB的最大文件尺寸瓶颈;

5. 服务器端采用无缓冲即时写入方式,上传数据写入一步到位。不同于PHP、JAVA等技术实现方式需要两步写入;

6. 服务器端可跨平台编译运行,支持Windows和Linux平台;

7. 高性能,单台服务器支持1000个并发上传进程;

8. 支持4GB以上超大文件上传,文件大小不受限制;

9. 客户端支持采用HTTP标准协议上传;

10.支持断点续传,断网、关机重启均不受影响;

11.支持HTML5浏览器上传进度实时显示;

12.支持IE8及以上浏览器上传进度显示;

13.支持查看客户端在线连接, 查看方法: http://ip:port/lists

14.多浏览器兼容,包括Chrome,Firefox,Safari,IE,Opera,Edge; 

安装 

第一步:解压文件到一个硬盘目录,例如d:\UploadServer 

第二步:修改配置文件

         修改d:\UploadServer\conf\config.xml,文件里的目录设置,

         将所有 dir= 变量指向的目录修改为硬盘上的真实目录,如果没有就按配置文件创建;       

第三步:安装服务

      执行cmd打开命令行窗口按步骤输入以下命令:

      d:  <br/>

      cd UploadServer

      HYFileServer.exe -i  

第四步:启动服务

    打开系统的服务管理器,找到Hyper Http Upload Service服务启动它。

第五步:在浏览器里输入 http://127.0.0.1:8080 查看服务器运行是否正常

    如果上传页面正常显示说明安装成功

    点击其中一个上传文件链接 按钮来上传一个文件。

    如果要在其它主机上访问上传服务器页面,请将127.0.0.1用安装服务器的IP地址取代。

    如果外部机器还不能访问,请检查防火墙的设置,看一下默认的8080端口是否开启。

     

第六步:如果要进一步了解上传服务器,请查看 d:\UploadServer\doc\文件上传服务器使用手册.pdf 文件。

– Linux 下执行安装

./hyupdsrv

如果要作为守护进程,执行

./hyupdsrv -d 

详细配置信息及思路


http://www.niftyadmin.cn/n/1208774.html

相关文章

多线程死锁调试小技巧

据说再高的高手在写多线程程序的时候都难确保不会产生死锁&#xff0c;死锁的调试也就成为一个比较常见的问题&#xff0c;假设有下面这样一个问题&#xff1a; 一个正在生产环境下运行的进程死锁了&#xff0c;或者你只是在跑一个程序&#xff0c;并没有在调试器里面打开它&am…

国产BurpSuite插件Assassin V1.0发布

Assassin 翻译过来刺客的意思&#xff0c;信息探测。目前这个小工具只有两个功能&#xff0c;一个是旁注&#xff0c;另外一个是子域名暴力破解。貌似国内还没有写Burp插件的&#xff0c;没见别人发过&#xff0c;也可能别人早已经写好了在偷偷用了。这个工具&#xff0c;以后会…

求超大文件上传方案( SpringMVC )

对于大文件的处理&#xff0c;无论是用户端还是服务端&#xff0c;如果一次性进行读取发送、接收都是不可取&#xff0c;很容易导致内存问题。所以对于大文件上传&#xff0c;采用切块分段上传&#xff0c;从上传的效率来看&#xff0c;利用多线程并发上传能够达到最大效率。 本…

多线程调试)

软件调试是我们软件开发过程中的重要一课。在前面&#xff0c;我们也讨论过程序调试&#xff0c;比如说这里。今天&#xff0c;我们还可以就软件调试多讲一些内容。比如说条件断点&#xff0c;数据断点&#xff0c;多线程断点等等。 [cpp] view plaincopy #include <stdio.h…

shell 十三問?

shell 十三問?转载于:https://www.cnblogs.com/hanxing/p/4081810.html

Pugixml一种快速解析XML文件的开源解析库《转载》

Pugixml是一个轻量级的C XML开源解析库&#xff0c;DOM形式的解析器、接口和丰富的遍历和修改操作&#xff0c;快速的解析&#xff0c;此外支持XPath1.0实现数据查询&#xff0c;支持unicode编码&#xff1b; 使用Pugixml可通过直接在项目中包含其几个文件或者编译为动态库dll、…

多线程同步(循环50 基础加深版)

要求:子线程循环10次后主线程循环100次之后子线程循环10次.....如此往复50次 子线程的每次执行10次不许被打断以及主线程的每次100次不许被打断 所以这两个操作可以加上同步所 1 package com.thread;2 3 public class ThreadTest2 {4 public static void main(String[] arg…

WordPress编辑器支持Word图片一键粘贴

ueditor粘贴不能粘贴word中的图片是一个很头疼的问题&#xff0c;在我们的业务场景中客户要求必须使用ueditor并且支持word的图片粘贴&#xff0c;因为这个需求头疼了半个月&#xff0c;因为前端方面因为安全的原因是不允许访问本地文件的。 首先说一下&#xff0c;ueditor粘贴…