存储承诺服务:为什么我真的需要一个真正的目的是什么?

Storage Commitment Service: why I really need a what is the real purpose?

我想知道为什么在 c-store 命令后我真的需要 承诺

我可以理解提交是对消息实际上由存储负责并且存储负责的事实的一种保证,但我想知道为什么不够安全依靠响应状态

我读了一些相关的解释,但 none 一直说服我。据我了解,提交可能是必需的,或者更可取,因为您不能完全信任您要向其发送消息的系统。

听起来像:当您在数据库中插入一条记录时 table 您需要验证该记录是否真的被插入,因为您不信任数据库引擎...看起来有点奇怪?如果我不信任数据库引擎,我将用一个 trustable

替换它

谁能更详尽地解释存储承诺服务的真正含义?

我将尝试以我在职业生涯中一直从事的 2 个系统为例来回答您的问题。所以这些不是虚拟的例子,而是实际的相关案例。

零足迹查看器(2000 年代初,仍有一些安装)

当此查看器接收图像时,它们根本不会复制到磁盘。相反,它们保存在内存中并直接显示给用户。当查看器关闭时,图像从接收它们的系统中消失。

C-Store成功表示:我已经收到图片,可以显示了。

此类系统不支持存储承诺

Off-site 加密深度存档

该系统在站点上有一个小型本地 "PACS server",其中有少量磁盘容量用作临时缓冲区。本地 "PACS server" 加密图像并将它们转发到 off-site 存储中心,在那里它们被写入磁带。为了提供防弹数据安全性,data-center 被镜像(即复制到另一个位置的另一个存储中心,该存储中心也将它们写入磁带)。 本地 "PACS server" 是采集模式将其图像发送到的系统以进行存档。

C-Store 成功意味着: 我已经收到图像并将它们插入到存储中心的队列中

存储承诺成功意味着:我已收到两个存储中心的确认,图像已保存在磁带上。从现在开始,我将负责保管这些图像——您可以删除本地副本。

显然,此过程需要数小时或数天(当迁移大量数据时:甚至数月)。因此不宜用C-Store成功来表示,因为大多数情况下C-Store镜像(n-1)成功会触发客户端传输镜像n。

这就是为什么存储成功和存储承诺确认是完全不同级别的"how safe your images are on the receiver's end"。

当您与 off-site 归档服务的供应商交谈时,他会声称:"We take responsibility for image loss by confirming storage commitment. As the local PACS server may be damaged before the images have been transferred to the storage center, we will not take responsibility for the loss of images for which we have not confirmed the safekeeping. In other words: C-Store success does not allow you to delete your local copies."

HTH

kritzel_sw

@kritzel_sw 接受的回答说明了一切;我要加两分钱:

1]IHE推荐

尽管 DICOM 没有将其列为强制性服务,但 IHE 推荐它。
如果您的应用程序 创建实例并将它们发送到 SCP,您应该使用存储承诺验证所有实例都已由 SCP 存档,然后再从您的存储中删除它们。

2]作为CStore SCU,无法知道SCP是否支持归档

每个 CStore SCP 都不是归档解决方案。正如接受的答案中也提到的那样,来自 SCP 的 SUCCESS 响应只是意味着“我收到了数据,我可以用它来做我的工作,谢谢”。 SCU无法得知“我的作品”是否包括“归档”。

3] CStore SUCCESS 响应并不能保证成功(在实际世界中)

为了提高性能,一些 SCP 甚至在验证和存储数据集之前就发送 SUCCESS 响应。当操作完成(或可能在其他线程上)时,他们验证数据集并尝试存储它。在此阶段,如果验证失败或存储失败,SCP 无法回传存储不成功。

4] 安全总比遗憾好。阅读this篇优秀文章

It’s like double booking. Storage is the transaction and Storage Commitment is the reconciliation.

事实上,请阅读 Roni 的所有其他文章。