Data Flow - n05urpr1532-MHA-Team/PTS-Team GitHub Wiki

Table of Contents

  1. Intro
  2. Summary

NOTE: Rough Draft

1. Intro

Understanding the data flow in PTS is quite complex. Overtime, I'll do my best to continue documenting the data flow here for you, so that you have a better understanding. What constrains the data flow is when a user who is novice and doesn't understand much about linux, but that's ok. We all started somewhere at one point.

2. Understanding UnionFS

Within all editions of PlexGuide, there is a certain path that is critical... and that is UnionFS. UnionFS is a path that merges multiple paths as one together. Well... you may ask... why does this need to occur in the first place. Ah, good question! A quick learner.

PlexGuide utilizes a program known as RClone. RClone provides the user that ability to move files locally and to other cloud drives. If you search for how to mount a Google Drive, you may tend to notice there is not a real solution and you'll stumble onto other GITHUB project like PlexGuide. To achieve this, PlexGuide mounts your Google Drive in very particular locations, including UnionFS. The paths that are merged are:

  • /mnt/move (writeable)
  • /mnt/gdrive (read only)
  • /mnt/tdrive (read only)
  • /mnt/unionfs (read only)

New users will attempt to send their data to /mnt/gdrive. A hard lesson to learn is that regardless of how you setup rclone, you are not able to directly move data to /mnt/gdrive. So wait? How does data get to gdrive then? First, a user will point their data to /mnt/unionfs ... yes.. yes... it's readonly. What makes UnionFS special is that it combined all your drives in the first place. You notice that /mnt/move is writeable correct? When data touches /mnt/unionfs, UnionFS says the following:

  • hey gdrive... can you write this? GDrive says... nope.
  • hey tdrive... can you write this? TDrive says... nope.
  • hey move... can you write this? Yes I can!

So now the data goes to /mnt/move. Awesome right? Well that was half the battle.

3. Data Movement

PlexGuide has two mechanism to assist you with the movement of your data! That is PTS Blitz and PTS Move.

PTS Move dead simple in that RClone is utilized to send data from /mnt/move to gdrive:/path. Basically, RClone is saying... hey data! I need you to move to gdrive:/path which is a cloud drive. RClone syncs everything and moves data from /mnt/move to gdrive:/path. You know what the great thing is? All your programs cannot tell that your data moved due to UnionFS combining all of the same paths.

PTS Blitz is a bit more complicated in that RClone is utilized to send data from /mnt/move, to /mnt/PTS/upload, then to tdrive:/path... which is a team drive. Why a team drive? Most users who utilize PTS Blitz do so to break the 750GB daily upload cap imposed by Google.

--- UNDER CONSTRUCTION STILL ---