Hydra 是基于多级级联的大型系统架构,UOFS同样沿用了Hydra的整体架构体系,采样全局级联的设计。支持存储节点、索引节点、卷节点等每一层级的级联设计。

Master UOFS

Node
Master UOFS...
Slave UOFS

Node
Slave UOFS...
Slave UOFS
[Paladin UOFS]
Node
Slave UOFS...
Slave UOFS

Node
Slave UOFS...
Slave UOFS

Node
Slave UOFS...
Mircoservice
Deploy
Mircoservice...
Local Deploy
Local Deploy
Text is not SVG - cannot display

图 1 节点级级联架构设计

对整个树生效(根应用点)
对整个树生效(根应用点)
root(文件夹)
root(文件夹)
minecraft(文件夹)
minecraft(文件夹)
game2(文件夹)
game2(文件夹)
game(文件夹)
game(文件夹)
book(文件夹)
book(文件夹)
LogicVolume_SpannedVolume_Raid0_#1
LogicVolume_SpannedVolume_Raid0_#1
cluster_file1.frame
cluster_file1.frame
cluster_file2.frame
cluster_file2.frame
cluster_file3.frame
cluster_file3.frame
file.txt
file.txt
SimpleVolume3
SimpleVolume3
SpannedVolume2
SpannedVolume2
SimpleVolume1
SimpleVolume1
SimpleVolume2
SimpleVolume2
List Item
List Item
VolumeMangerTree
VolumeMangerTree
PhysicalVolume

入口点(MountInletPoint)

容量
(Capacity)
PhysicalVolume...
物理卷(略)
物理卷(略)
LogicVolume_SpannedVolume_Raid0_#1/SpannedVolume2/SimpleVolume1
LogicVolume_SpannedVolume_Raid0_#1/SpannedVolume2/SimpleVolume1
root/game/minecraft/file.txt
root/game/minecraft/file.txt
索引系统
索引系统
索引系统
索引系统
(应用点,只能用于根节点)
(应用点,只能用于根节点)
SimpleVolume1
SimpleVolume1
fold2(文件夹)
fold2(文件夹)
fold3(文件夹)
fold3(文件夹)
file_2.txt
file_2.txt
Text
Text
HOLD
HOLD
Text is not SVG - cannot display
SpannedVolume1_Raid0
SpannedVolume1_Raid0
SimpleVolume1
SimpleVolume1
可用Size: 1000GB  500\500
可用Size: 1000GB  500\500
Name:SimpleVolume1
Name:SimpleVolume1
...
...
SimpleVolume2
SimpleVolume2
可用Size: 2000GB   1000G / 1000G
可用Size: 2000GB   1000G / 1000G
Name:SimpleVolume1
Name:SimpleVolume1
...
...
计算均衡规则(1:2)

一个文件分成 3 份

启动两个线程
计算均衡规则(1:2)...
扩容
扩容
SimpleVolume3
SimpleVolume3
可用Size: 2000GB    1000G / 1000G
可用Size: 2000GB    1000G / 1000G
Name:SimpleVolume1
Name:SimpleVolume1
...
...
动态簇 计算均衡规则(1:2:2)

一个文件分成 5 份

启动两个线程
动态簇 计算均衡规则(1:2:2)...
StripedVolume1_Raid0
StripedVolume1_Raid0
SimpleVolume1
SimpleVolume1
可用Size: 1000GB
可用Size: 1000GB
Name:SimpleVolume1
Name:SimpleVolume1
...
...
SimpleVolume2
SimpleVolume2
可用Size: 1000GB
可用Size: 1000GB
Name:SimpleVolume1
Name:SimpleVolume1
...
...
固定卷大小,且扩容时只能加通用大小的

簇大小恒等定

统一模型
固定卷大小,且扩容时只能加通用大小的簇大小恒等定统一模型...
恒定拼接模式,不起用raid,队列串行写入
恒定拼接模式,不起用raid,队列串行写入
Text is not SVG - cannot display

RAID 卷系统存储架构与文件索引架构联合架构

LogicVolume
LogicVolume
PhysicalVolume
PhysicalVolume
通过扩容绑定
通过扩容绑定
PhysicalVolume
PhysicalVolume
在logicVolume中启用raid0提前分配好容量
在logicVolume中启用raid0提前分配好容量
2g大小的文件
2g大小的文件
1g
1g
2g
2g
2/3g数据
2/3g数据
4/3g数据
4/3g数据
MountPoint
MountPoint
MountPoint
MountPoint
底层物理存储源
底层物理存储源
底层物理存储源
底层物理存储源
数据源

文件名 / 路径等元信息
数据源文件名 / 路径等元信息...
数据区
数据区
元数据索引区

KOM 文件树 (UOFS)
元数据索引区KOM 文件树 (UOFS)...
绑定
绑定
数据存储和索引架构分类

索引寻址物理文件

文件树放文件元数据和路径索引

卷系统放文件数据区
数据存储和索引架构分类索引寻址物理文件文件树放文件元数据和路径索引卷系统放文件数据区...
Text is not SVG - cannot display
目标文件
test.txt
目标文件 test.txt
Frame 2

frame_test_2.frame
Frame 2...
Frame 1

frame_test_1.frame
Frame 1...
Frame N

frame_test_N.frame
Frame N...
Strip2
Strip2
Strip3
Strip3
Strip4
Strip4
Strip2
Strip2
Strip4
Strip4
Strip1
Strip1
Strip3
Strip3
Strip1
Strip1
Text is not SVG - cannot display
文件总表
文件总表
文件1
文件1
文件2
文件2
文件3
文件3
文件FAT
文件FAT
簇1
簇1
簇2
簇2
簇3
簇3
簇4
簇4
簇5
簇5
簇6
簇6
卷文件记录总表
卷文件记录总表
簇文件1
簇文件1
大文件2
大文件2
其他文件3
其他文件3
SQLite
一个库对于一个SAT表,对于一个文件
















SQLite...
条带SAT
条带SAT
条带1
条带1
条带2
条带2
条带3
条带3
条带4
条带4
条带5
条带5
条带6
条带6
SQLite
一个库对于一个SAT表,对于一个文件
















SQLite...
条带SAT
条带SAT
条带1
条带1
条带2
条带2
条带3
条带3
条带4
条带4
条带5
条带5
条带6
条带6
Text is not SVG - cannot display
SpannedVolume
SpannedVolume
SimpleVolume
SimpleVolume
物理卷
物理卷
SimpleVolume
SimpleVolume
MirroredVolume
MirroredVolume
StripedVolume
StripedVolume
SpannedVolume  (容量一致 2TB)
SpannedVolume  (容量一致 2TB)
SimpleVolume
SimpleVolume
SimpleVolume
SimpleVolume
SimpleVolume
SimpleVolume
SimpleVolume 2TB
SimpleVolume 2TB
SimpleVolume 2TB
SimpleVolume 2TB
Text is not SVG - cannot display

架构学TODO(已知架构缺陷):
1.容量精度问题
1.1 容量精度问题,long 16384 PB,容量上限
1.2 容量精度问题,BigInteger 小数据性能问题
1.3 解决思想:架构性调整,使用策略模式,搞两套存储系统,双字段设计。
原语化原子操作,任何原子操作前使用溢出预判,执行存储升级操作。

Author:undefined  Create time:2024-10-16 13:15
Last editor:undefined  Update time:2024-10-27 18:35