Skip to content
赞助合作

本站右侧赞助位长期招租

联系我投放

文件存储与 Vault 保险库管理

在 Aras Innovator 中,结构化业务元数据(例如零件编号、生命周期状态等)存储于 MS SQL Server 关系型数据库中,而非结构化文件(如 CAD 模型、Office 文档、PDF 图纸等)则由专门的 Vault Server(文件保险库服务器) 进行集中存储和生命周期分发。


1. Vault 存储架构

Aras 采用“元数据与物理文件分离”的设计。

关键组件角色

  • Innovator Web Server:接收业务操作请求,操作元数据表。在文件传输中,它充当控制中心,但不直接流式传输大文件(除非在特定单一服务器架构下)。它为客户端颁发限时的文件传输凭证(Token)。
  • Vault Server:这是一个运行在 IIS 下的独立 Web 应用,提供安全的文件上传、下载及物理存储访问接口。物理存储目录可以位于本地磁盘、SAN 存储或 NAS 网络共享路径上。
  • File Item (文件对象类):系统内置的 File ItemType。数据库中只存储文件的元数据(文件名、物理大小、校验和 hash 值、存储的 Vault ID 等),并不保存文件内容。

2. 文件上传与下载生命周期

2.1 文件上传流程

  1. 获取凭证:客户端通过 AML 创建一个 File ItemType 的实例,服务器在数据库写入该记录并生成一个唯一 GUID。
  2. 重定向物理上传:客户端在接收到 GUID 和 Vault 目标 URL 后,通过标准的 HTTP POST 协议将物理文件传输给对应的 Vault Server。
  3. 哈希与磁盘写入:Vault Server 接收文件,将其保存在物理存储路径下。为了避免重名冲突和安全隐患,物理文件的存储文件名通常是其 File GUID,而文件真实名称则作为属性记录在 SQL Server 中。

2.2 文件下载流程

  1. 下载请求:客户端发出下载特定 File ID 的请求。
  2. 解析存储位置:Innovator Web Server 解析该文件元数据,识别其物理存储在哪个 Vault,并验证当前用户是否有 Get 权限。
  3. 安全重定向:Web Server 返回给客户端一个单次有效的签名下载 URL,客户端直接向 Vault Server 请求流式下载该物理文件。

3. 文件容器 (File Container) 设计模式

在 Aras 建模中,物理文件不能孤立存在,必须与特定的业务对象(如文档、CAD 零件等)关联。常见的设计模式有两种:

设计模式实现方式适用场景优缺点
模式一:关系类关联 (Relationship Container)创建一个以业务对象为 Source,File ItemType 为 Related 的关系类。零件图纸列表、技术说明书等多附件场景。优点:支持多文件上传,能记录每个文件的上传者与时间。
缺点:需要展示关系 Tab 页,操作步骤稍长。
模式二:对象属性关联 (Item Property)在 ItemType 中直接定义一个 Data Type 为 Item 且 Data Source 指向 File 的属性。头像图片、主设计图纸、特定认证报告等单文件场景。优点:可在 Form 表单中直接呈现上传/下载控件,直观快捷。
缺点:一个属性只能绑定一个文件。

4. 文件复制与分发 (File Replication)

对于跨国集团或分布式企业,如果所有的物理文件都存储在总部的单一 Vault 中,异地研发中心在下载或上传大文件(如 500MB 的 CAD 组件)时,会面临严重的网络带宽瓶颈。

Aras 提供了强大的 Vault 复制与分发机制,使得文件可以自动或按需在不同的物理 Vault 之间同步。

4.1 复制策略分类

Aras 支持两种核心的复制策略:

  1. 按需复制 (OnDemand Replication)

    • 物理文件仅存放在初始上传的 Vault 中。
    • 当异地用户(例如德国分中心)首次尝试打开并下载该文件时,系统会触发按需复制规则,在后台建立 Vault 间的点对点数据传输。
    • 传输完成后,德国 Vault 本地缓存该文件,后续的德国用户读取时可直接从本地 Vault 下载。
  2. 基于事件复制 (onEvent Replication)

    • 物理文件一经上传,或者在业务流转到特定状态时(例如生命周期流转到 Released 状态),系统会自动触发后台线程进行分发。
    • 复制服务在后台静默运行,提前将文件推送到定义的各个分中心 Vault,保证异地用户在需要时能够获得“秒开”的体验。

4.2 配置 Vault 读取优先级 (Read Vault Priority)

当企业部署了多个物理 Vault 时,我们可以为不同地理位置的 Identity(角色/部门) 配置 Vault 读取顺序:

  • 例如,“上海研发部”这个 Identity 的默认 Vault 设为 Shanghai_Vault
  • 如果请求的文件在 Shanghai_Vault 中不存在,系统会根据 Read Vault Priority 规则,按照顺序尝试从 Beijing_Master_VaultWuhan_Vault 中读取。
  • 系统在远程 Vault 找到文件后,会自动下载并缓存到本地 Shanghai_Vault

4.3 配置复制规则 (Replication Rules) 的关键步骤

  1. 创建 Replication Rule
    • 在管理员菜单中,新建一个 Replication Rule。
    • 设置触发方式为 On DemandonEvent
  2. 指定文件类型 (File Types)
    • 可以过滤仅对高容量的文件(如 .zip, .pdf, .dwg)进行自动分发,而忽略小文本文件。
  3. 配置目标 Vault (Target Vaults)
    • 定义从 Source Vault 复制到哪些 Target Vault。
  4. 监控复制事务
    • 管理员可以通过 Replication Transaction 监视日志,查看当前正在进行、挂起或失败的物理文件传输状态。

本站内容仅供学习与参考

本站总访问量