12

新字体23

防护服

保存

合理

自动保存

1、主要功能

对接第三方网盘,实现内部存储与第三方网盘的文件上传、下载以及同步功能

2、应用场景

跨平台文件存储:通过绿联云的网盘应用与多个公有云服务之间进行文件传输,配置uglink后更是可以实现对存储文件随时随地管理文件共享和同步:通过网盘应用的同步任务实现多个公有云之间的文件共享和同步,确保文件的实时更新

目前网盘支持的网盘类型有:百度、onedrive、googledrive,百度网盘的同步任务需要有nas会员

3、操作流程

网盘连接

进入网盘总览,点击左侧树或者右侧列表的创建按钮->选择网盘类型->登录认证即可新建网盘连接普通用户和管理员均可创建网盘连接,但是同一台nas设备不允许出现多个相同的网盘连接,不同网盘连接的标识通过数据库中connection表的字段来作唯一标识

上传

进入网盘连接页面->点击上传至网盘下的选择文件按钮->选择网盘保存路径->选择需要上传的文件(文件夹),即可创建上传任务,且上传支持新建网盘文件夹百度不同用户上传单个文件有大小限制,普通用户:4G,SVIP用户:300G,NAS会员:2TB

下载

进入网盘连接页面->点击下载至绿联云下的选择文件按钮->选择需要下载的网盘文件(文件夹)->选择nas下载路径,即可创建下载任务,且下载支持新建nas文件夹(不允许创建共享文件夹

同步

同步入口:通过连接或者同步任务页面的创建同步任务按钮均可创建同步任务第一步,设置同步规则:设置网盘路径网盘路径同一个网盘路径的父级和子级目录无法创建多个同步任务NAS路径:只允许选择有读写权限的目录同步方向:双向同步(任一端增删改文件均会同步至另一端)、单向同步(同步网盘至nas、同步NAS至网盘,是否同步删除可以设置)高级设置文件夹过滤:未勾选的文件夹不会同步;勾选隐藏文件后还要勾选下方同步隐藏文件夹的选项才会同步对应隐藏文件夹,有任一方没有勾选则隐藏文件夹不会同步文件过滤:根据文件大小和文件名称过滤不会同步的文件文件冲突:处理同步过程中两端存在相同文件的配置,可选覆盖或者生成一个冲突文件(命名规则:冲突文件名.conflict.后缀)设置同步策略,计划任务可设置单次和周期任务,比如每天、每月、每隔10分钟执行一次预览任务,点击确定即可成功创建同步任务同步轮询设置:同步任务为了避免网络波动或者传输中断导致实时任务中文件同步遗漏,可以额外设置轮询期进行网盘文件全量比对,启用轮询会影响硬盘休眠状态任务并发控制百度SVIP用户传输和同步有3个并发,即上传或者下载最多只有3个任务是最正在下载的状态,且上传、下载任务优先级高于同步任务,即网盘正在执行上传任务和同步的上传任务,同步任务会是等待中,上传任务执行完成后才会继续执行同步任务;百度普通用户传输和同步只有1个并发OneDrive和Google drive传输和同步有4个并发

4、技术特点

断点续传

续传场景:上传、下载:暂停/恢复传输、程序/系统重启实时同步:暂停/恢复传输,错误以及重启不进行续传续传流程上传下载

websocket

网盘自1022版本起,页面刷新方案由轮询改为websocket,websocket相较轮询具有更低的延迟更高的效率更少的资源消耗

WebSocket 工作原理概述:

1. 握手过程 (Handshake)

•    发起请求: WebSocket 连接的建立始于客户端向服务器发送一个特殊的HTTP请求,这个请求包含了升级到 WebSocket 协议的意图。•    响应: 如果服务器同意升级,则返回一个HTTP 101状态码(Switching Protocols),以及 Upgrade: websocket 和 Connection: Upgrade 头信息,表示协议已经切换到WebSocket。同时,服务器会在 Sec-WebSocket-Accept 响应头中回传经过哈希运算处理后的密钥,以完成握手。

2. 数据传输

一旦握手成功,双方就可以通过这个持久连接开始进行数据交换了。•    帧结构: WebSocket 使用帧(frame)来封装消息。每个帧都有自己的头部和负载部分。头部包含了关于该帧的信息,如操作码(opcode)、长度等;负载则是实际要传输的数据。•    文本与二进制数据: WebSocket 支持两种类型的数据传输——文本(通常是JSON格式)和二进制数据。这使得它非常适合于多种应用场景,从简单的聊天应用到复杂的游戏或文件传输。•    多路复用: 尽管WebSocket是一个单一的连接,但它可以支持多路复用,即在同一个连接上并发地发送多个不同类型的消息流。

3. 连接保持与关闭

•    心跳机制: 为了确保连接的有效性,WebSocket通常会使用心跳包(ping/pong frames)来检测连接是否仍然活跃。如果一段时间内没有活动,可能会触发这些控制帧来维持连接。•    异常处理: 如果网络中断或其他原因导致连接断开,WebSocket API 提供了事件监听器,可以让开发者知道连接状态的变化,并采取相应的措施,例如尝试重新连接。•    优雅关闭: 当不再需要连接时,任何一方都可以发送一个关闭帧(close frame)来通知对方准备关闭连接。收到关闭帧的一方应该回应另一个关闭帧,然后双方都会关闭连接。这种“双向关闭”确保了连接的整洁结束。

4. 安全性

•    WSS: 类似于HTTPS,WebSocket也有安全版本,称为WSS(WebSocket Secure)。它通过TLS/SSL加密传输层的数据,保证了通信的安全性和隐私保护。•    认证与授权: WebSocket连接本身并不直接提供用户认证和授权的功能,但这可以通过握手阶段的HTTP请求来实现。例如,可以在请求中包含认证令牌或者使用HTTP基本认证等方式。

具体实现流程