" I have two guns, one called dies the other is troy. "

跨平台文件传输和管理

导言

跨平台的文件传输与管理是平时学习中经常需要用到的,这么多年来反复尝试了不同的传输和管理方法,终于找到几种还不错的兼容多平台的方案,在此分享给大家。当然诸如QQ、微信等传输工具和百度网盘、115网盘等网盘类软件我就不介绍了,设置起来的确比较简单,而且文件的远程共享,它们依旧是主力。但是,因为他们有传输速度上的限制亦或是软件自身的独立性比较严重等缺陷,如需开通会员则在价格上对学生党来说也是一笔不小的开支,在此致敬 Pandownload 作者。

值得注意的是,我提出的跨平台的文件传输工作流,是以我个人的应用场景为基础的,对于不同专业、不同需求的同学可能没有太大参考价值,因此是否符合你的应用场景将是至关重要的。

 

应用场景

我的应用场景主要包括学习、参与项目和视频剪辑(主要是视频分享),各个场景对于文件传输速度、便携性、多平台兼容需求要求是不同的。

学习

  • 一般不需要非常快的文件传输速度,因为文件都不是非常大,主要的文件是word、excel、pdf等
  • 对便携性的要求比较高,便携性体现在我随时随地要能预览文件、分享文件,但不一定去编辑
  • 多平台的兼容性要求最高,因为上课会用iPad记录笔记,去图书馆会用PC+Pad,手机上会预览和收集资料

项目

  • 文件传输速度不高,因为一般都在PC端工作,查阅的内容和学习中的类似
  • 对便携性要求较高,我希望能随时查阅自己的任务进度,随时在工作群中转发共享项目资料
  • 对多平台的兼容性要求较高,由于便携性的要求我需要在手机和PC端进行资源共享

视频剪辑/分享

  • 文件传输速度要求很高,视频文件较大,要求快速共享
  • 对便携性要求较低,视频内容通常上传视频网站,不需要经常查阅
  • 对多平台的兼容性要求低,理由同上

各类应用场景的分析如下:

requirement Study Project Video Editing/Sharing
speed ⭐️ ⭐️ ⭐️⭐️⭐️
portability ⭐️⭐️ ⭐️⭐️ ⭐️
compatibility ⭐️⭐️⭐️ ⭐️⭐️ ⭐️

 

设备

应用场景决定了使用的设备,在我的应用场景之下主要的设备有:

  • PC(windows 10)
  • iPad
  • iPhone

其实文件传输和管理的难点集中在如何弥补Windows和iOS的鸿沟上。受限于专业需要,很多绘图和仿真软件在windows上有更好的表现,于是我无法放弃win去投奔macOS,不得不说Apple的生态在文件多设备传输上真的做的比较好,每次我在思考用什么平台传文件到电脑上时,总是在想,要是能有Airdrop该多好。

但仔细想想,Airdrop其实并不是给自己设备之间传输文件使用的,而是方便给他人共享文件,iCloud Drive 才是扮演个人文件管理和传输的角色。

真正的科技就是让你感觉不到它的存在——王自如

所以,一个好的文件传输和管理方案,应该是你所感受不到的。如果说最烂的方案像是打游戏时候时常出现的延迟和掉包,那最优的方案就像未来的5G,可能让你感觉不到网络这个贯穿始终的东西。

要达到感觉不到存在的方法只有用。这样才能把所有的设备都归结成一个交互界面,所有的文件直接上云。

 

方案

之前说到应用场景决定设备,设备最终将会决定方案。然而现实是残酷的,现在我所能做到的方案,在速度上和及时性上做出了很大妥协,这也是将来需要不断完善的地方。

因为受到速度和及时性的限制,根据文件的大小出发,我分为几种种文件传输和管理方案:

  1. 小型文件
    • 基于iCloud Drive的文件管理和传输
    • 基于传统社交软件的对外共享
  2. 大型文件(不再管理,只传输)
    • 基于SMB协议的 Win to iOS 传输
    • 基于Airdrop的 iOS to iOS 传输
    • 基于Cloudreve私有云的对外共享

接下来我逐一解释这几种方案的特点和操作方案。

基于 iCloud Drive 的文件管理和传输

因为 iCloud Drive 在PC上也有客户端可以下载,这也算为数不多 Apple 在 Windows 上的兼容,一定要抓住它!在PC上下载 iCloud Drive 的客户端,它会像OneDrive 一样Pin在文件管理器的 Quick Access中,就当做普通的文件夹使用,还是很方便的,当然你的iCloud图片也可以同步,我的所有重要的学习文件基本上都放在 iCloud Drive 上,这样能在我的三台设备上随意调用,iOS端的文件 软件可以很好的管理这些文件,通过Flag工具和Tag可以对文件进行归类,虽然无法在PC端看到,但还是能很方便review各种文档的。

此外,iOS平台的各类软件对于 iCloud Drive 的适配做的都很好。我平时使用的PDF Expert、Notability、Markdown等软件都支持iCloud读取和自动备份的功能,已经能满足平时文章、读物在各设备上的即时共享和编辑。

价格方面我开通的是50G的iCloud Drive容量,6¥ / 月,可以说这个价格很学生党了,平时我的文稿和图d片共享完全够用,但影片的共享就不太够用也没有必要。

这种方式的缺点也有很多,个人觉得目前iCloud Drive提供的服务仅适合小文件的管理和传输,而且它的即时性和OneDrive相比就相形见绌了。在windows端文件夹内放上一个较大的文件,同步周期软件是不提示的,而且大文件在iOS端也不是立即就出现,要实时的分享和阅览,难度较大。

基于传统社交软件的对外共享

这点不细说,QQ、微信、TIM对于小文件的共享相对来说还是比较方便的,但是我梦想有一天这些软件都能像Telegram一样做到优秀的文件共享策略。

基于SMB协议的 Win to iOS 传输

SMB (Server Message Block)协议,是被用于Web连接和客户端与服务器之间的信息沟通的协议。Windows自带有smb 1.0文件共享支持,通过iOS的 文件 软件中”Connect to Server”功能,连接到smb服务器,即可较为高速的分享文件。具体操作可以参考这篇文章https://zhuanlan.zhihu.com/p/83983289

这种传输方案,免费

但这个功能存在诸多不便,首先就是iOS端是只读,无法修改文件,其次是文件实时预览期间略有卡顿并且没有进度条,最后手机和电脑必须是在同一WiFi下运行,在使用校园网的环境下局限还是挺大的。

因此这个方法只不过是Airdrop的草率的替代方法,真正要实现大文件的高速传输还是要用整套的苹果生态,这不符合我的设备需求。

基于Airdrop的 iOS to iOS 传输

这点同样不细说,但根据我的设备需求,只能存在于iPhone和iPad之间传输,因为两款都是高便携设备,没有太多大文件传输的需求。

基于Cloudreve私有云的对外共享

这是我认为速度最快、也最有逼格的对外文件共享方式,只是在前期搭建上较为繁琐,比较适合自己已经有建站和玩服务器的同学操作,但最终收获的效率是极大的。

大体的操作流程是:

  1. 购买服务器
    我所购买的是阿里云ECS(Elastic Compute Servics)学生机,赠送六个月、40G的OSS对象存储,一年费用100¥出头,如果你还有建站需求,那搭建私有云的成本就很低了。购买链接https://promotion.aliyun.com/ntms/act/campus2018.html
  2. 安装控制面板
    因为自己没有太多的php基础,为了尽快达成目标,我安装的是 宝塔 面板,图形化面板比较清晰,文件上传和管理也比较方便,又有内置的一键部署功能,WordPress博客都能方便的部署,力推小白使用。推荐观看视频:https://www.bilibili.com/video/BV1ME411j7qp
  3. 上传Cloudreve安装包并安装
    下载安装包、上传到服务器,按流程安装。
  4. &emsp开通阿里OSS对象存储,并在Cloudreve中的上传策略中选择阿里云OSS。步骤3和4推荐阅读:https://xiaoyou66.com/archives/769

 

这样,你的私有云就搭建完成了,它的作用类似于百度云盘,可以进行文件的存储、共享、甚至在线的编辑,还是非常方便的。这里我主要用到是文件分享的功能,通过生成共享连接可以方便的分享给朋友,你甚至可以增加密码保护,和百度云的提取码类似。打开Cloudreve的这一功能需要在 管理面板–> 设置 –> 杂项 中开启 允许游客下载,这样这个分享连接既保证了安全,又就能像URL外链一样分享给别人。

然而,和QQ微信分享文件、百度云盘分享文件相比,这样做有什么优势呢?个人觉得有一下几个优点:

  • 速度快:因为上传和下载都是基于http的,所以理论上能够跑满你的网络带宽,但是网络传输速度受各方面影响较大,以我这边部署的OSS和家中的100M的宽带来说,一般上传速度2-3 MB/s,下载速度3-6 MB/s,这对学习工作上的大文件以及音乐、图片、视频的传输来说绝对够用,关键是被分享者下载文件并不会像QQ、百度云盘等软件被限速!

网络传输速度受三方面影响:
本机客户端:网卡、连接方式(有线、无线)、本机磁盘IO负载情况;
网络环境:网络带宽、wifi还是网线等造成的影响;网络环境复杂、或使用人多时路由器或交换机处理速度也都会是瓶颈之一。
服务器:受服务器负载、磁盘IO、服务器网络带宽等影响。同时受并发影响;比如20M上行带宽,10个人同时在上传或下载,那么每个人平均就是2M/s
可道云为了能在更多的服务器环境下良好运行,各方面配置是以兼容性为主,可能并不是最优配置。性能调优可以参考配置如下。

  • 即时预览:因为Cloudreve的功能之一是断点续传,所以你能直接在网盘中观看电影并拖动进度条、浏览图片,并且你的office文档都能通过office live的方式即时的打开和编辑,预览pdf更是不在话下,同时它能够在线编辑markdown文件,这对于我写博来说会带来一定便利
  • 设备兼容性好:因为是基于http协议的上传下载,因此被分享者不需要下载特定的软件,只要通过浏览器就可以方便的下载文件,这对被分享者来说极为友好,不需要再登录QQ、微信、百度网盘进行下载
  • 扩展性好:Cloudreve还有WebDAV的协议支持,这意味着你可以在支持这一协议的软件上即时的读取写入你的文档,目前我在用的 PDF Expert 和 Notability 都支持这一协议,未来Cloudreve制作者 AaronLiu 还会不断更新更多的功能

 

当然,这种方式的弊端就是需要建设成本,如果说自己已经有建站,那搭建服务器的成本(学生机100¥左右)基本可以忽略不计,但是学生机服务器的带宽一般都是比较低的,这就导致你从网盘中下载文件的速度受限制,比如我的服务器带宽为1M,我下载文件的速度就只有100-200 KB/s,这是完全不够用的。于是我就开通了阿里云OSS对象存储,它的计费情况如下:

img

从图中可以看到费用组成还是比较复杂的,其实平时用到的费用只有 存储费用流量费用请求费用。按照我现在的存储容量和需求来计算费用如下(半年):

  • 40G标准存储 = 4.98 ¥
  • 请求费用 = 1000 × 0.01¥/10000 times × 24h × 180 days = 4.32¥
  • 流量费用 = 30GB × 6 × 0.5 ¥/GB = 90 ¥

总计:99.3 ¥

说明 OSS 计算流量费用时,分为忙时流量(8点-24点,0.50元/GB)和闲时流量(0点-8点,0.25元/GB),此处按忙时流量计算。

可以看出主要的费用产生在流量上,以上是按照每个月都使用30个GB的数据量来计算的,其实平时学习过程中可能不会达到这样的数据量,如果有大量文件共享的需求,购买流量包性价比更高,但不知道为什么阿里云现在不提供50GB流量包了,直接从100GB开始购买,半年价格 244 ¥,每个月都有100G的下行流量。

说句题外话,如果自己需求只有搭建个人网站、设置个私有云盘,那么你可以选择轻量应用服务器(Simple Application Server) 的学生机而不是ECS,因为轻量应用服务器带宽是5M峰值,每月限1000G流量,价格却和ECS相同,可以说性价比很高,但我还有机器学习等需求,因此选择ECS服务器。在网上收集到的三种主要服务器的区别如下表:

产品名称 独享虚拟主机VPS 轻量应用服务器SAS 云服务器ECS
产品特点 每台独享虚机的CPU内存、带宽、硬盘均为独享,具有独立 IP 支持远程登录,包括SSH方式,远程桌面RDP方式 一个虚拟的计算环境,包含了 CPU、内存、操作系统、磁盘、带宽等最基础的服务器组件
适用人群 独享资源,空间超大,可视化控制面板,预装网站环境,入门新手和小微企业建站首选 ·需要一个快速进入开发状态的资源集合的个人项目开发者 ·需要创建个人应用(如个人博客,个人云盘等)技术业余爱好者、学生 ·搭建低要求、低可用性的网站环境及资源的中小企业用户 ·技术能力强的IT创业公司/互联网公司 ·对服务器有大量资源需求的传统行业企业 ·PaaS和SaaS的开发者和企业
优势 ·预装了常见的建站运行环境和数据库,不需要用户安装。 ·提供可视化的主机控制面板,各项功能能够通过点击鼠标就能完成; ·不需要用户参与服务器运维,由产品整体负责维护,省事省心。 ·一键启动应用+服务器 ·一站式管理应用,运维,各个集成产品的功能 ·丰富的应用 ·全产品线使用SSD存储,性能优异 ·弹性扩容: 10 分钟内可启动或释放 100 台 ECS 实例;支持在线不停机升级带宽;5 分钟内停机升级 CPU 和内存。 ·可控性:拥有超级管理员的权限,能够完全控制 ECS 实例的操作系统,可以通过管理终端自助解决系统问题,并可以进行部署环境、安装软件等操作。
劣势 ·无登录服务器权限,无法对服务器或者运行环境配置做个性化定制。 ·只能用来建站,无法用做其他用途。 需要用户具备一定的服务器管理和运维知识 需要用户有较强的技术背景,且对云计算的使用需要有熟悉和了解的过程

 

总结

以上我罗列的方案较多,其实归结起来并不复杂:小型文件用 iCloud Drive 管理和传输,用即时聊天软件共享;大型文件用 私有云管理和共享。 当然,以上的方案完全是以我自身的需求出发进行部署的,每个人的需求和应用场景均不同,我也是从应用层面去寻找入门门槛较低的方式来达成我的目标,更多深入的玩法还未探索,因此欢迎你在评论区提出你个人的文件传输和管理方案,也欢迎大佬来指点迷津!

 

YOU MIGHT ALSO LIKE

0 0 vote
Article Rating
Subscribe
提醒
guest
1 评论
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] 跨平台文件传输工作流 […]

1
0
Would love your thoughts, please comment.x
()
x