Skip to content

Commit 2e32b50

Browse files
xengine-qytgitee-org
authored andcommitted
!1 第一个正式发布版本合并
Merge pull request !1 from dowflyon/develop
2 parents 7ce9611 + e05e3f2 commit 2e32b50

File tree

68 files changed

+4071
-38
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+4071
-38
lines changed

README.md

Lines changed: 85 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,85 @@
1-
# XEngine_Storage
2-
3-
#### 介绍
4-
c c++ 存储服务
5-
c c++ storage service
6-
7-
#### 软件架构
8-
软件架构说明
9-
10-
11-
#### 安装教程
12-
13-
1. xxxx
14-
2. xxxx
15-
3. xxxx
16-
17-
#### 使用说明
18-
19-
1. xxxx
20-
2. xxxx
21-
3. xxxx
22-
23-
#### 参与贡献
24-
25-
1. Fork 本仓库
26-
2. 新建 Feat_xxx 分支
27-
3. 提交代码
28-
4. 新建 Pull Request
29-
30-
31-
#### 特技
32-
33-
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
34-
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
35-
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
36-
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
37-
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
38-
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
1+
# XEngine_Storage
2+
3+
## 介绍
4+
c c++ 存储服务 c c++ 文件存储服务
5+
c c++ file storage service
6+
7+
## 软件特性
8+
基于libXEngine开发并实现的一套简洁高性能跨平台网络存储服务
9+
本仓库有开发和主分支,如果要使用,请使用master分支下的代码
10+
软件特性:
11+
1. 支持HTTP协议上传和下载(采用PUT和GET)
12+
2. 支持二进制私有协议传送数据(规划中)
13+
3. 支持加密传输(规划中)
14+
4. 采用MYSQL记录信息
15+
5. 支持分布式(规划中)
16+
6. 支持HTTP和私有验证(规划中)
17+
7. 支持详尽的日志和配置信息
18+
8. 支持传输速率控制
19+
9. 支持任务开始结束代理转发(规划中)
20+
10.支持P2P,BT,数据分发(规划中)
21+
22+
## 安装教程
23+
24+
#### 版本需求
25+
支持WINDOWS 7SP1和LINUX(UBUNT20.04,CENTOS8)以上系统
26+
XEngine版本需要V7.13或者以上版本
27+
vcpkg 需要2021.05.11以上版本
28+
29+
#### Windows
30+
使用VS2019 打开并且编译
31+
你需要按照下面的方式配置环境,不然你可能需要自己在项目中设置库目录
32+
##### 三方库环境
33+
需要使用VCPKG安装环境.代码地址:https://github.com/microsoft/vcpkg
34+
安装好后你可能需要把它集成到你的VS中
35+
然后命令安装环境: vcpkg.exe install jsoncpp
36+
集成VS环境: vcpkg integrate install
37+
vcpkg 主要为了方便安装jsoncpp,如果你想自己配置jsoncpp的环境,可以不使用vcpkg...
38+
39+
##### XEngine环境
40+
XEngine可以直接下载,下载完毕后添加用户环境变量,需要下面两个
41+
- XEngine_Include 头文件目录地址
42+
- XEngine_Library 库文件目录地址
43+
44+
#### Linux
45+
Linux使用Makefile编译
46+
UBUNTU20.04或者CENTOS8均可
47+
48+
##### 三方库环境
49+
基于不同系统,可能命令不同,比如在Ubuntu下面
50+
sudo apt install libjsoncpp-devel
51+
Centos8.x
52+
sudo dnf install jsoncpp-devel
53+
54+
##### XEngine环境
55+
XEngine可以通过脚本文件安装sudo XEngine_RunEnv.sh -c 3
56+
##### 编译命令
57+
在XEngine_Source目录下执行命令
58+
make 编译
59+
make FLAGS=InstallAll 安装库程序
60+
make FLAGS=CleanAll 清理编译
61+
62+
#### 使用说明
63+
64+
1. 切换到MASTER分支
65+
2. 下载代码
66+
3. 编译
67+
4. 安装
68+
5. 运行
69+
6. 通过curl或postman 等三方工具测试上传下载
70+
71+
## 目录结构
72+
- XEngine_Docment 文档目录结构
73+
- XEngine_Release 安装目录结构
74+
- XEngine_Source 源代目录结构
75+
76+
## 参与贡献
77+
78+
1. Fork 本仓库
79+
2. 新建 Feat_xxx 分支
80+
3. 提交代码
81+
4. 新建 Pull Request
82+
83+
## 提交问题
84+
85+
如果你有问题,可以在issues中提交

XEngine_Docment/.gitignore

Whitespace-only changes.
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
{
2+
"CodeMessage":[
3+
{
4+
"100":"HTTP/1.1 100 Continue",
5+
"101":"HTTP/1.1 101 Switching Protocols",
6+
"102":"HTTP/1.1 102 Processing"
7+
}
8+
],
9+
"CodeSuccess":[
10+
{
11+
"200":"HTTP/1.1 200 OK",
12+
"201":"HTTP/1.1 201 Created",
13+
"202":"HTTP/1.1 202 Accepted",
14+
"203":"HTTP/1.1 203 Non-Authoritative Information",
15+
"204":"HTTP/1.1 204 No Content",
16+
"205":"HTTP/1.1 205 Reset Content",
17+
"206":"HTTP/1.1 206 Partial Content"
18+
}
19+
],
20+
"CodeRedirect":[
21+
{
22+
"300":"HTTP/1.1 300 Multiple Choices",
23+
"301":"HTTP/1.1 301 Moved Permanently",
24+
"302":"HTTP/1.1 302 Move temporarily",
25+
"303":"HTTP/1.1 303 See Other",
26+
"304":"HTTP/1.1 304 Not Modified",
27+
"305":"HTTP/1.1 305 Use Proxy",
28+
"306":"HTTP/1.1 306 Switch Proxy"
29+
}
30+
],
31+
"CodeRequestFail":[
32+
{
33+
"400":"HTTP/1.1 400 Bad Request",
34+
"401":"HTTP/1.1 401 Payment Required",
35+
"402":"HTTP/1.1 402 Unauthorized",
36+
"403":"HTTP/1.1 403 Forbidden",
37+
"404":"HTTP/1.1 404 Not Found",
38+
"405":"HTTP/1.1 405 Method Not Allowed",
39+
"406":"HTTP/1.1 406 Not Acceptable",
40+
"407":"HTTP/1.1 407 Proxy Authentication Required",
41+
"408":"HTTP/1.1 408 Request Timeout",
42+
"409":"HTTP/1.1 409 Conflict",
43+
"410":"HTTP/1.1 410 Gone",
44+
"411":"HTTP/1.1 411 Length Required",
45+
"412":"HTTP/1.1 412 Precondition Failed",
46+
"413":"HTTP/1.1 413 Request Entity Too Large",
47+
"414":"HTTP/1.1 414 Request-URI Too Long",
48+
"415":"HTTP/1.1 415 Unsupported Media Type",
49+
"416":"HTTP/1.1 416 Requested Range Not Satisfiable",
50+
"417":"HTTP/1.1 417 Expectation Failed",
51+
"421":"HTTP/1.1 421 too many connections",
52+
"422":"HTTP/1.1 422 Unprocessable Entity",
53+
"423":"HTTP/1.1 423 Locked",
54+
"424":"HTTP/1.1 424 Failed Dependency",
55+
"425":"HTTP/1.1 425 Unordered Collection",
56+
"426":"HTTP/1.1 426 Upgrade Required",
57+
"449":"HTTP/1.1 449 Retry With",
58+
"451":"HTTP/1.1 451 Unavailable For Legal Reasons"
59+
}
60+
],
61+
"CodeServerFail":[
62+
{
63+
"500":"HTTP/1.1 500 Internal Server Error",
64+
"501":"HTTP/1.1 501 Not Implemented",
65+
"502":"HTTP/1.1 502 Bad Gateway",
66+
"503":"HTTP/1.1 503 Service Unavailable",
67+
"504":"HTTP/1.1 504 Gateway Timeout",
68+
"505":"HTTP/1.1 505 HTTP Version Not Supported",
69+
"506":"HTTP/1.1 506 Variant Also Negotiates",
70+
"507":"HTTP/1.1 507 Insufficient Storage",
71+
"508":"HTTP/1.1 509 Bandwidth Limit Exceeded",
72+
"600":"HTTP/1.1 600 Unparseable Response Headers"
73+
}
74+
],
75+
"CodeUser":[
76+
{
77+
"1001":"HTTP/1.1 1001 XyRy Auth Ok",
78+
"1002":"HTTP/1.1 1002 XyRy Auth Failed"
79+
}
80+
]
81+
}
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
text/html html htm shtml
2+
text/css css
3+
text/xml xml
4+
image/gif gif
5+
image/jpeg jpeg jpg
6+
application/javascript js
7+
application/atom+xml atom
8+
application/rss+xml rss
9+
10+
text/mathml mml
11+
text/plain txt
12+
text/vnd.sun.j2me.app-descriptor jad
13+
text/vnd.wap.wml wml
14+
text/x-component htc
15+
16+
image/png png
17+
image/tiff tif tiff
18+
image/vnd.wap.wbmp wbmp
19+
image/x-icon ico
20+
image/x-jng jng
21+
image/x-ms-bmp bmp
22+
image/svg+xml svg svgz
23+
image/webp webp
24+
25+
application/font-woff woff
26+
application/java-archive jar war ear
27+
application/json json
28+
application/mac-binhex40 hqx
29+
application/msword doc
30+
application/pdf pdf
31+
application/postscript ps eps ai
32+
application/rtf rtf
33+
application/vnd.apple.mpegurl m3u8
34+
application/vnd.ms-excel xls
35+
application/vnd.ms-fontobject eot
36+
application/vnd.ms-powerpoint ppt
37+
application/vnd.wap.wmlc wmlc
38+
application/vnd.google-earth.kml+xml kml
39+
application/vnd.google-earth.kmz kmz
40+
application/x-7z-compressed 7z
41+
application/x-cocoa cco
42+
application/x-java-archive-diff jardiff
43+
application/x-java-jnlp-file jnlp
44+
application/x-makeself run
45+
application/x-perl pl pm
46+
application/x-pilot prc pdb
47+
application/x-rar-compressed rar
48+
application/x-redhat-package-manager rpm
49+
application/x-sea sea
50+
application/x-shockwave-flash swf
51+
application/x-stuffit sit
52+
application/x-tcl tcl tk
53+
application/x-x509-ca-cert der pem crt
54+
application/x-xpinstall xpi
55+
application/xhtml+xml xhtml
56+
application/xspf+xml xspf
57+
application/zip zip
58+
59+
application/octet-stream bin exe dll
60+
application/octet-stream deb
61+
application/octet-stream dmg
62+
application/octet-stream iso img
63+
application/octet-stream msi msp msm
64+
65+
application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
66+
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
67+
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
68+
69+
audio/midi mid midi kar
70+
audio/mpeg mp3
71+
audio/ogg ogg
72+
audio/x-m4a m4a
73+
audio/x-realaudio ra
74+
75+
video/3gpp 3gpp 3gp
76+
video/mp2t ts
77+
video/mp4 mp4
78+
video/mpeg mpeg mpg
79+
video/quicktime mov
80+
video/webm webm
81+
video/x-flv flv
82+
video/x-m4v m4v
83+
video/x-mng mng
84+
video/x-ms-asf asx asf
85+
video/x-ms-wmv wmv
86+
video/x-msvideo avi
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{
2+
"tszIPAddr": "127.0.0.1",
3+
"bDeamon": 0,
4+
"nCenterPort": 5001,
5+
"nStorageDLPort": 5002,
6+
"nStorageUPPort": 5003,
7+
"XMax": {
8+
"MaxClient": 10000,
9+
"MaxQueue": 10000,
10+
"IOThread": 2,
11+
"CenterThread": 2,
12+
"nStorageUPThread": 2,
13+
"nStorageDLThread": 2
14+
},
15+
"XTime": {
16+
"bHBTime": 1,
17+
"nTimeCheck": 3,
18+
"nCenterTimeOut": 5,
19+
"nStorageTimeOut": 5
20+
},
21+
"XLog": {
22+
"MaxSize": 1024000,
23+
"MaxCount": 10,
24+
"LogLeave": 32
25+
},
26+
"XSql": {
27+
"SQLAddr": "127.0.0.1",
28+
"SQLPort": 3306,
29+
"SQLUser": "root",
30+
"SQLPass": "123123aa"
31+
},
32+
"XStorage": {
33+
"nUseMode": 1,
34+
"tszHttpAddr": "http://192.168.1.4",
35+
"tszNginAddr": "http://192.168.1.4:5010",
36+
"tszFileDir": "./XEngine_File"
37+
},
38+
"XLimit": {
39+
"nMaxUPLoad": 0,
40+
"nMaxDNLoad": 102400
41+
},
42+
"XVer": {
43+
"StorageVersion": [
44+
"1.0.0.1001 Build20210501"
45+
]
46+
}
47+
}

XEngine_Release/XEngine_File/.gitignore

Whitespace-only changes.

XEngine_Release/XEngine_XLog/.gitignore

Whitespace-only changes.

XEngine_Source/Makefile

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
RELEASE = 0
2+
UNICODE = 0
3+
4+
FLAGS = RELEASE=$(RELEASE)
5+
6+
BASE_CONFIG_PATH = ./StorageModule_Config
7+
BASE_SESSION_PATH = ./StorageModule_Session
8+
9+
APPSERVICE_STORAGE_PATH = ./XEngine_StorageApp
10+
11+
NETENGINE_LIB = libStorageModule_Config.so libStorageModule_Session.so \
12+
XEngine_StorageApp.exe
13+
14+
.PHONY:MakeAll
15+
MakeAll:$(NETENGINE_LIB)
16+
17+
libStorageModule_Config.so:
18+
make -C $(BASE_CONFIG_PATH) $(FLAGS)
19+
libStorageModule_Session.so:
20+
make -C $(BASE_SESSION_PATH) $(FLAGS)
21+
22+
XEngine_StorageApp.exe:
23+
make -C $(APPSERVICE_STORAGE_PATH) $(FLAGS)
24+
25+
#安装开发包文件
26+
SetFlags_Install:
27+
export FLAGS=InstallAll
28+
InstallAll:SetFlags_Install $(NETENGINE_LIB)
29+
#清除临时文件
30+
SetFlags_Clean:
31+
export FLAGS=CleanAll
32+
CleanAll:SetFlags_Clean $(NETENGINE_LIB)
33+
34+
35+

0 commit comments

Comments
 (0)