文档
06 开发(跨仓)01_技术总览

DEV-X-01-004 对象存储架构

后续素材存储目标已补入共享原件PRD:画布即时本地预览、自动后台入库、IndexedDB待同步草稿和重开恢复,以及图片/视频统一URL参考输入。具体目标与验收见重构方案及实施规格。桶用途分工、最终位置直接写入、取消新链同步副本等待及普通读取简化也已纳入上述目标;实际7桶清单与生产配置保持边界见只读核对。下文保留现行单原件架构及既有输入合同的描述;新增目标不表示旧Base64输入、Runtime长期职责等已完成替换,涉及职责变更的部分仍按新决策落定。

按ADR-0024承接的单原件决策,当前图片/视频继续Platform native→new-api-new-oceanway→供应商。公共文件模块驻留现有网关,持有现有TOS与唯一物理原件;独立MG不进入当前链。Platform、Runtime和产品按同一目标版本交付新引用,不维护旧对象引用协议、旧测试数据或跨版本回退兼容。服务不因共同使用原件而合并客户身份或领域表。

职责与权威

服务负责边界
new-api-new-oceanway文件模块原位adopt、稳定file_ref/revision、实际内容完整性、物理位置、保留/释放回执、读取授权、既有删除路径的原件保护不改Platform账务或产品素材权限;不把本地namespace字段当云隔离证明
当前旧网关调度原客户API、模型调度、原task/结果、原客户身份和计量不将其内部用户ID作为OceanWay客户ID;UNKNOWN不重新生成
PlatformOceanWay身份/权限、唯一资金、原Operation/输出序号、可信原结果映射、自己持有的output claim不另存一份正式原件,不代产品建立内容权限,不释放Runtime claim
RuntimeJob/Artifact/AssetVersion/Delivery、稳定retention命令、自己保留的续签、可靠释放和恢复不持对象长期凭据,不以客户端scope作为授权,不以Delivery超时认定产品未提交
产品项目/素材/画布等领域关联、成员权限、候选与采纳、可信解绑证明/inbox不直接改文件Owner登记,不仅凭file_ref或浏览器“已删除”释放保留
Infrastructure环境/身份/策略、单Writer发布、观测/阈值、停新保已有读、目标制品与schema核验不成为业务引用或原件的第二Writer
Media Gateway当前暂缓;未来接入时验证文件身份与Owner交接现有三桶不接管、不作为本期默认副本目的地

Gemini参考输入与文件输出

OS-GEMINI-01按用户追加范围将Gemini原生异步生成纳入同一原件引用合同。参考图是生成输入,新输出是生成完成后的新文件身份;两者分开准入,不因参考图参数可配置就推断原件输出、长期保留或产品权限已成立。Drama沿用统一平台身份,产品凭据与资源作用域独立,不读取Studio项目或业务表。

Gemini新lane复用new-api既有归档的唯一Writer,在原任务保存原响应后,以原task/output index登记永久原件及可信摘要,后续Platform自动采用、Runtime独立保留和Drama候选均引用这一个输出版本。不得先走普通Gemini URL归档再复制到永久原件;未知归档ACK核同一写意图,不重发生成或第二次PUT。未声明新合同的现用客户继续原API行为。

参数菜单来源以new-api正式模型Metadata接口及其可见账号范围为准:只取schema 2、所有可能渠道的已验证交集variants,保留参数整组相关性和request_path,不把未验证资料或各列并集当作合法组合。Platform仍负责售价、执行准入与产品可用性;文件输出能力由文件Owner和Platform实际实现/config单独发布。Metadata接口交接不等于Platform或Drama已完成动态表单消费,不自动修改渠道、路由或客户配置。

单原件与位置

同一输出版本仅一份正式业务原件。已有永久s3 Asset在可信来源用户/项目和namespace内验证对象版本、SHA、长度、MIME后原位登记,adopt/后续绑定Put与Copy均0;不能调用原CreateAsset下载再Put来伪装零拷贝。

本期新增原生异步图片的统一来源lane:producer在原结果归档写点形成永久原件与原task/index登记,Platform只持久可信内容描述并在manifest首次请求时自动采用;Runtime与Studio继而绑定同一文件。该lane以服务端显式配置和专用身份隔离,不改变普通现用客户路径;视频及其它入口已有归档代码不代表它们已接此lane;Gemini按本轮独立切片补齐,实际验证分开记录。Studio工程边界见DEV-STUDIO-07-002。

现有media临时桶的物理到期规则与永久assets分开;数据库hold不能阻止云TTL。临时转长期由唯一文件Owner执行一次可恢复promotion,正式位置在TTL外且登记/保护完成才ready。新生成最终位置、promotion和上传须逐模式交付,接口目标不代表已有路由。开发链不创建备份副本;派生与业务原件分别标识,派生不计作原件或据此改写原文件身份。

不跨用户按内容hash合并权限。Runtime和产品持稳定输出元数据/受托引用,输出图片不另建产品文件或对象存储副本;签名URL、临时grant、bucket/key及长期凭据不写业务记录或普通日志。

Gemini参考输入仍使用既有inline-base64-sha256-v1协议,授权后读取原件并冻结同一输入请求。该私有执行快照含参考图Base64,不能把它描述成所有数据库零图片字节;它不创建第二份TOS业务原件。输入传输、私有执行快照与输出文件身份分别审计,具体持久位置及访问边界见公共文件契约。

保留、释放与删除

首次共享先有有效来源授权,再创建消费者自己的持久claim;取得远端保护后提交本域资产版本。响应或本地提交未知时,用原命令核已有claim,不能因超时创建新原件或盲目释放。

后续续签通过消费者的owned claim恢复端点,校验服务principal、namespace及不可变原意图,独立于已释放的上游Platform output claim。该端点只恢复已有active claim;不存在不创建、已释放不复活。消费者释放前先可靠解除本域关联并保存稳定命令,取得可信产品解绑证明;远端释放未知后恢复同一命令,已过期grant不应阻断确认原释放。

Platform释放先提交原映射的pending tombstone,再释放自身output claim;pending/released均阻止重新采用及Platform续签,原映射与原结果保持可追溯。Runtime在自己的引用层保存释放intent,先冻结Artifact及所有Delivery,再从产品host取得逐项持久解绑证明并提交detached outbox,最后释放Runtime claim。产品须拒绝同delivery迟到提交,Runtime按统一Artifact→Delivery锁序和fence拒绝旧worker提交;只完成其中一层不能证明整处引用已释放。

共享原件受文件Owner的持久登记保护,原网关删除入口不得越过有效引用执行物删。自动managed物理GC首期关闭,不将释放某一claim解释为所有人不用。未来启物删需完整删除epoch/fence、参与方引用/在途读取水位、签名有效窗和部分失败恢复;未知保持保护。

统一版本、原状态恢复与启用

Platform尚在开发、没有实际用户,本期统一更新新引用调用方、文件Owner及其schema,不交付旧协议适配层、旧测试数据迁移或兼容fallback,也不把这些工作顺延为后续必做项。开发数据变更按具名环境和明确操作范围处理;本决定不直接执行数据库重建、资产删除或生产部署。

新admission只有显式true才接新登记,停新后保留目标版本的原引用恢复与释放能力。启用时核对目标制品、实际数据库及public schema、登记结构、RLS和环境配置,验证当期契约、身份权限、引用完整性及原任务重启/命令恢复。故障处理采用停新、保留现场并修复目标版本;不要求旧应用承接新版本数据,不执行仅替换旧应用镜像的跨版本回退。

目标制品证据绑定image ID、source、binary SHA、实际schema及本期契约测试。单原件、独立保留、可靠释放、作用域鉴权及原件完整性仍须验证,不能用取消兼容替代这些验收。既有候选/旧回退认证只作其原时点记录,具体结果见PROC-02-006。

new-api-new-oceanway现有客户继续使用原运行环境;本期开发与其生产桶、客户身份、资金及任务隔离。涉及该服务的正式构建/部署仍经canonical release入口;本次文档调整不修改或绕过现有脚本保护,包括原生产发布自动数据库备份。实际启用流程须按统一目标版本及停新保已有读方式对齐,不再以补制兼容旧fallback为交付条件。

本期开发备份、数据库/原件副本、三库联合恢复、同版本完整恢复部署和DR门禁按ADR-0024取消,不作为Infrastructure或其它服务的当前交付,也不转入默认后续待办。未知写入ACK仍须在同一原任务、同一制品重启后确认原件;独立续签、原命令恢复、可信解绑及可靠释放继续验证,不用备份复制或重新生成替代。当前事实与验证只见PROC-02-006,任务状态只见WP-STORAGE-001。

On this page