More than 4GB large file upload and breakpoint continuation server implementation
With the popularity of video websites and big data applications, especially the arrival of HD video and 4K video applications, super-large file uploading has become a basic daily application requirement.
But in many cases, the platform operator is not a large file upload and breakpoint continuingly development experience, often on the Internet to find some simple PHP or Java program to implement the basic upload function, will find that in the actual use, however, the upload function module based on script language implementation performance is very weak, the content of the above one is not support 2 gb upload; Second, it cannot support breakpoint continuation; Third, the efficiency is very low, a single server supports up to dozens of concurrent upload connections.
At present, we want to build an operation-level video service platform, but we failed to meet the requirements after trying various products. Therefore, we finally made efforts to independently use C++ language to achieve this high-performance upload server.
Hyper Upload Server Hyper Upload Server
This is a super file upload server, using asynchronous I/O architecture, using C++ language coding. It supports over 4GB large file upload and resumable breakpoint, support Windows and Linux server platform, support any format file upload, especially suitable for large video website applications. A single server supports 1000 concurrent upload processes, and supports mainstream browsers on PCS and smart phones.
The main features
1. The server side adopts asynchronous I/O erection design, with high performance I/O processing capacity, especially suitable for large file upload;
2. The server adopts efficient memory allocation technology to minimize the server memory overhead during operation;
3. The standard protocol is fully implemented, so it is compatible with almost all PC and mobile browsers;
4. The server side uses C++ language to independently achieve, the size of uploaded files is unlimited, naturally support large file upload.
However, the file upload service based on PHP, JAVA and other technologies cannot support large file upload naturally, and cannot exceed the maximum file size bottleneck of 2GB.
5. The server uses instant write without buffering to write uploaded data in one step. Different from PHP, JAVA and other technology implementation method requires two steps to write;
6. The server side can be compiled and run cross-platform, supporting Windows and Linux platforms;
7. High performance, a single server supports 1000 concurrent upload processes;
8. Upload large files of more than 4GB, the file size is not limited;
9. The client supports HTTP upload.
10. Support breakpoint continuation, disconnection, shutdown restart are not affected;
11. Support HTML5 browser real-time display of upload progress;
12. Support upload progress display in IE8 and above browsers;
13. You can view online client connections at http://ip:port/lists
14. Compatible with multiple browsers, including Chrome, Firefox, Safari, IE, Opera,Edge;
The installation
Step 1: Unzip the file to a hard disk directory, such as D :\UploadServer
Step 2: Modify the configuration file
D :\UploadServer\conf\config. XML
Change all directories pointed to by the dir= variable to real directories on the hard disk. If not, create them according to the configuration file.
Step 3: Install the service
Run CMD to open the cli and enter the following command step by step:
d:
cd UploadServer
HYFileServer.exe -i
Step 4: Start the service
Open your system’s Service manager and find the Hyper Http Upload Service Service to start it.
Step 5: Enter http://127.0.0.1:8080 in the browser to check whether the server is running properly
If the upload page is displayed properly, the installation is successful
Click one of the Upload File link buttons to upload a file.
If you want to access the upload server page on another host, replace 127.0.0.1 with the IP address of the installation server.
If the external machine is not accessible, check the firewall Settings to see if the default port 8080 is enabled.
Step 6: for more information about the UploadServer, see the d:\UploadServer\doc\ file UploadServer manual. PDF file.
– Perform the installation in Linux
./hyupdsrv
Execute if you want to act as a daemon
./hyupdsrv -d