# openNetty **Repository Path**: wangscript/openNetty ## Basic Information - **Project Name**: openNetty - **Description**: 封装NETTY来实现一个分布式文件传输服务,目标是提供定时的可靠安全文件传输。同时提供一种简便的方式,只需将数据配置好,剩下的交给时间就好。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 62 - **Created**: 2018-01-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # openNetty 封装NETTY来实现一个分布式文件传输服务,目标是提供定时的可靠安全文件传输。同时提供一种简便的方式,只需将数据配置好,剩下的交给时间就好。 目前仅支持定时单文件传输,文件读取方式为流式读取,即便是超大文件,对内存的占用也依旧很小。 不必担心传输大文件内存泄露的情况。 同时对传输的文件信息进行了多重加密,和随机秘钥校验。 任务的执行方式采用定时任务的方式,这只是我展现的一种形式。可以自己调用方法进行改写。 openNetty能做什么: 1. 分布式节点传输 2. 定时任务 3. 流式读取 4. 安全校验 5. 断点续传 一般使适用于定时产生文件的情景,例如线上数据跑批计算结果下载,数据定时备份任务,异地定时灾备等。 尤其是数据库一般安装在内网或vpn中,数据库工具无法连接,可通过代理软件进行转发。 服务将所有TCP数据包以HTTP格式封装,目的也是为了适应通用的代理软件。 展示 ![输入图片说明](https://gitee.com/ironzheng/openNetty/attach_files/download?i=109738&u=http%3A%2F%2Ffiles.git.oschina.net%2Fgroup1%2FM00%2F02%2F8C%2FPaAvDFo6JDuAbn13ABLItT1do3I299.gif%3Ftoken%3Ddd6f8ef8217736f3babd9e4284348703%26ts%3D1513759803%26attname%3DNETTY.gif "在这里输入图片标题") ============================================================================== 分布式节点 ![输入图片说明](https://gitee.com/ironzheng/openNetty/attach_files/download?i=109883&u=http%3A%2F%2Ffiles.git.oschina.net%2Fgroup1%2FM00%2F02%2F8E%2FPaAvDFo7YNiADN5yAABIpqB9NCo645.png%3Ftoken%3Daf91da9e658ca36fa2793d0764b6dbb5%26ts%3D1513840856%26attname%3Dfram.png "在这里输入图片标题") 【STEP】 项目clone至本地目录,使用maven进行打包。 1. git clone https://gitee.com/ironzheng/openNetty.git 2. mvn clean install package 3. 在不同模块的target下将会生成一个zip压缩包。将zip压缩包放置对应的机器中,进行解压。进入conf目录配置back.properties文件。 4. 进入bin目录,执行start.sh。注意这是Linux下的启动脚本,如果在windows的环境中无法使用,请自行修改。 # 【openNetty-client】 client主要作为节点端,通过定时器设定定时任务。在指定的时间点上,查询配置中的服务器地址并发送下载指令。 # 【openNetty-server】 server端监听TCP网络端口,接收远程的client指令。指令必须满足自定义头信息,否则数据包会丢弃。