跳至主要內容

文件分类系统2024

LincZero大约 8 分钟

文件分类系统2024

这里只是记录 “增添” 的部分,以及 “重要” 的部分,其实部分延续之前分类系统习惯。

分类原则

Big3部分

基于V5版本有些改进,也是我分类系统的最重要的原则之一

更新日志

V5中的旧定义

Big3 在之前 ThreeRoot (见分类原则笔记) 中的定义是:性能、管理、隐私

2024版的定义的不同,给出了更多的层次:

文件Big3

分类

硬盘、(编码)格式、(编码)加密

特点

当一个文件被存储到你的电脑后,该文件自身就拥有这三种特性,不随人为意志改变。 比如说一个文件认为是隐私还是公开,可以在一念之间被修改。但他是否加密,则是客观事实。

影响Big3

分类

性能、管理、隐私

特点

这些是抽象的概念,根据打开的方式和处理软件的默认行为不同,特点不同。 比如说在某个弱加密软件中某文件属于隐私,但在电脑的资源管理器中你能直接打开看到。

软件Big3

分类

分区管理软件、专项管理软件、加密管理软件

特点

这里才是对分类系统有指导意义的三类

Big3细分

(这里Big三不分先后,但Big分的细分有先后。从影响程度从高到低排

  • 性能
    1. 硬盘 会影响性能 (物理天然性能)
    2. 格式 会影响性能 (文件格式天然有性能差异)
    3. 加密 会影响性能 (加密, 但似乎影响很低)
  • 管理
    1. 跨硬盘 会影响管理
    2. 跨格式 会影响管理
    3. 跨加密 会影响管理
  • 隐私
    1. 硬盘隔绝 会影响隐私
    2. 加密隔绝 会影响隐私
    3. 格式不同 会影响隐私

除了上面提到的外,一些 “优化” 也能够影响他们。例如对系统部分的内存空间提高优先级,从而使其在调度算法中占据优势,这是可能的。

优先级

原则

优先级原则一:优先级只是层级优先级,不代表重要程度

优先级原则二:大家排高优先级其实都有道理和应用场景,我这里给出的不意味着就是对的。并且其实很多时候大家都是紧耦合,不是完全区分的

原因
  • 隐私>硬盘: 最极致的隐私保护,必然是物理隔绝。但感觉个人用不到这么极致
  • 硬盘>隐私: 一方面隐私盘只放隐私、公开盘只放公开,对操作和硬盘数都太苛刻了。二来我们不允许在公有盘中放私有信息,但应允许在私有盘放公有信息 (只是禁止将私有盘中的公有资料发布出去,可能有风险)
  • 隐私>管理: (同点一)
  • 管理>隐私: 常用的管理软件如 GitHub Desktop,管理对象就是同时包含各种权限的
  • 管理>硬盘: 从 “分布式存储系统” 的角度,集群子机可能面临宕机/替换,管理不应该依赖于硬盘
  • 硬盘>管理: 大部分管理系统其实不支持多文件夹并集。如Git库/笔记库/音乐库/图片库,虽然看起来是缓存多个路径 (多个库) 方便随时切换,但同一时间只能打开一个。并不具备像分布式系统那种分布式查询能力
我的排序、多层嵌套问题

而在电脑文件管理方面,我的优先级为:(前三个是宏观来看的,后三个才是在物理上有标记,六个之后的是二次的嵌套分类)

  1. 宏观隐私
  2. 宏观管理
  3. 宏观硬盘
  4. 标记硬盘
  5. 标记管理 (管理类型,而不是文件类型)
  6. 标记隐私
  7. 二次标记管理 (详见Er层)

参考一些编程框架

优先级参考:并且,我们可以参考一些现成系统,他山之石,来为我们的分类系统提供支撑:

  • 参考 “面向对象”:
    • 程序文件 = 硬盘
    • 同父类的类 = 同类型、同格式、同管理对象
    • 类方法的可访问性 = 隐私
    • 排序:硬盘>格式>加密
  • 参考 “Redis分布式存储系统”:
    • 集群子机 = 硬盘
    • Redis的数据结构 = 格式、管理对象
    • 存储中的访问权限字段 = 隐私 (假设有)
    • 排序:硬盘>格式>加密
  • 参考 “资源网站”:
    • 不同的资源网站 = 硬盘
    • 先按教程类型分类 = 格式、管理对象
    • 然后部分教程免费部分收费 = 隐私
    • 排序:硬盘>格式>加密

Er2部分

这条原则,也是由Big3的格式/管理层,延伸出来的

二次管理

这里是属于第二次管理的。为什么会有两次:

  • 硬盘的多层管理:
    • 如:不同的电脑、不同的磁盘。前者第一层,后者第二层。
  • 格式的多层管理:
    • 如:处理各种格式 (3D/Plant/Video/...) 工具的 (软件/文档/教程/项目/...)。 后者属于第一层格式,前者是第二层格式。
    • 如:而且格式可能有嵌套,如一个泛用格式管理软件 > 文档管理软件 > md/论文管理软件
    • 格式一层,通常叫管理层。格式二层,通常叫处理层,也叫Er层 (processor的意思)。而Er层又有两层结构,所以我记为Er2层。
  • 权限的多层管理:
    • 如:根据不同项目组 (技术/财务/销售/...) 有不同的权限,每个项目组中的人员 (组长/组员/...) 又有不同的权限。

不过硬盘和权限都可以扁平化,而非嵌套化。通常多层情况还是格式比较多。

分类树

前四层名字:

硬盘层

管理层

隐私层

Er层

Er子层 (根据Er层有所不同)/

前三层结构 (根据Big3)

(括号路径为虚拟路径)

系统盘

系统

ResDefault

如果空间不够可以移至主盘中

主盘

特点:未归档、热资源

Soft

软件

特点:不用归档

SoftDev

生产力分类

SoftIO

IO分类

SoftOther

其他分类

ResGit

工程

可能包括不使用Git管理的工程 特点:需要归档

Private

私有

Public

公有

Work

特定权限

ResDefault

默认下载/存储的资源

归档过的资源都应该属于冷数据。 附加:注意这里需要将默认保存放在这 特点:需要归档

Private

Public

很少会有,几乎强制为Private

Work

很少会有,几乎强制为Private

备份盘

特点:已归档、冷资源。如果需要热运行,那么应该拷贝一份 (除非是txt查看编辑这类低消耗工作)

ResInstaller

(软件网) 安装器

包括 软件、系统。虽然一般都是公有权限,但为了一致性,还是要分的

Private

Public

Work

ResGit

(Github网)

同上

Private

Public

Work

ResNormal

(资源网)

Private

Public

Work

ResRetrieval_Billfish

(图片网)

ResTutorial

(教程网)

第四、五层结构 (根据Er2)

以软件/软件安装器路径为例 (括号路径为虚拟路径)

(硬件层)

(管理层)

仅以Soft/ResInstall为例

(隐私层)

Private/Public/Work

(Er层)

Editor

特点:1. 按性能类型分类, 2. 可编辑

3D

Dev

Doc

Mix

Plane

Video

VIrtual

Voice

Viewer

特点:1. 重视内容而非性能, 按记录内容分类, 2. 一般是只读

InfoDoc

InfoTeach

Other

特点:仅使用,或一些抽象的东西

IO

...

社交软件/资料

游戏

.../

第四层往后就不统一了,前四层统一

宏观扩展

优先级:软件 > 普通资源

软件部分

  • 普通软件
    • 这个就不用解释了吧
  • 软件环境
    • 编程环境等,本质上也是一些可运行文件加资源文件的集合,也是数据+算法。本质是软件
  • 软件插件/脚本
    • 普通软件可能依赖于系统、也可能依赖于环境/软件、而插件依赖于软件。其实原理都是一样的
    • 软件可以将外部依赖包装起来,插件本身也有可能这么做而做成独立软件。所以本质是一样的
    • 软件不一定强依赖特点系统 (多平台软件),插件也不一定强依赖特点软件 (多软件通用插件)
  • 系统/虚拟系统
    • 系统算软件,虚拟系统是可以在系统的层级上进行安装的,从这点看他是软件
    • VMWare的VM镜像。这玩意会在使用过程中自编辑,所以本质是软件,无法当成文件冷资源看待
    • DockerFile和Vagrant。虽然单文件本身不算,但我可以把他们理解成一个指向系统iso的网页链接,所以本质也是软件
  • 工作区与软件缓存
    • Installer没有这部分,这部分是专门针对安装后的Soft路径写的
    • 指运行中的软件的一些缓存路径等,应该放在软件的文件夹中。考量是:这些东西会随着软件的运行自修改,且不随人为意志不可控地进行 (工作区看情况,没有运行热更新的也可以不放在软件路径中)

资源部分

其他

.billfish和.obsidian虽然包含一部分缓存,但感觉无伤大雅,不算热资源。 一方面应该都是小缓存,另一方面应该是针对库的缓存,而不是软件缓存,后者应该还是在软件文件夹或C盘。