34 Star 107 Fork 59

西门吹雪 / openNetty

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

openNetty

封装NETTY来实现一个分布式文件传输服务,目标是提供定时的可靠安全文件传输。同时提供一种简便的方式,只需将数据配置好,剩下的交给时间就好。

目前仅支持定时单文件传输,文件读取方式为流式读取,即便是超大文件,对内存的占用也依旧很小。 不必担心传输大文件内存泄露的情况。 同时对传输的文件信息进行了多重加密,和随机秘钥校验。 任务的执行方式采用定时任务的方式,这只是我展现的一种形式。可以自己调用方法进行改写。

openNetty能做什么:

  1. 分布式节点传输
  2. 定时任务
  3. 流式读取
  4. 安全校验
  5. 断点续传

一般使适用于定时产生文件的情景,例如线上数据跑批计算结果下载,数据定时备份任务,异地定时灾备等。 尤其是数据库一般安装在内网或vpn中,数据库工具无法连接,可通过代理软件进行转发。 服务将所有TCP数据包以HTTP格式封装,目的也是为了适应通用的代理软件。

======================================

【STEP】 项目clone至本地目录,使用maven进行打包。

  1. git clone https://gitee.com/ironzheng/openNetty.git
  2. mvn clean install package
  3. 在不同模块的target下将会生成一个zip压缩包。将zip压缩包放置对应的机器中,进行解压。进入conf目录配置back.properties文件。【client 和 server 都需要配置】!!!
  4. client 配置
    1. back.root 下载到本地的路径,路径最后要带上\,拼接路径时候不会自动处理
    2. back.filename 下载的文件名字,这个指在server端的文件
    3. back.downloadfile 定时任务
  5. server 配置
    1. back.root 被下载的文件所在的目录
  6. 进入bin目录,执行start.sh。注意这是Linux下的启动脚本,如果在windows的环境中无法使用,请自行修改。

【openNetty-client】

client主要作为节点端,通过定时器设定定时任务。在指定的时间点上,查询配置中的服务器地址并发送下载指令。

【openNetty-server】

server端监听TCP网络端口,接收远程的client指令。指令必须满足自定义头信息,否则数据包会丢弃。

项目结构为,client发送下载指令到server,文件位于server端。然后client端定时下载server端的文件进行保存。 需要在client端,配置下载的时间和对应的文件名字。 server端,配置文件所在的路径

The MIT License (MIT) Copyright (c) 2017 孤狼 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

封装NETTY来实现一个分布式文件传输服务,目标是提供定时的可靠安全文件传输。同时提供一种简便的方式,只需将数据配置好,剩下的交给时间就好。 展开 收起
Java 等 2 种语言
MIT
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/ironzheng/openNetty.git
git@gitee.com:ironzheng/openNetty.git
ironzheng
openNetty
openNetty
master

搜索帮助

14c37bed 8189591 565d56ea 8189591