DICOM:DIMSE Timeout如何在大型实例上运行?

时间:2017-08-18 13:35:45

标签: dicom

我的理解是两次连续DIMSE通信(请求或响应)之间的时间(out)是DIMSE超时。

因此,在MWL操作中,MWL SCU(建立连接和关联)发送MWL CFind请求。 SCP应该在DIMSE超时到期之前发送第一个响应。同样,在DIMSE超时到期之前,应该由SCP发送每个下一个响应。

同样,对于CStore操作,CStore SCU发送请求,SCP应在DIMSE超时到期之前响应。对于在该关联上发送的每个实例,都应该这样做。

我的理解是否正确?

如果是,那么对于那些花费很长时间(超过DIMSE超时设置)的大尺寸实例来说,这是如何工作的呢?

例如,CStore SCU正在推送一个实例(大尺寸多帧让我们说),它需要1000毫秒才能完全传输。 SCP和SCU上的DIMSE超时设置为500毫秒。这里的预期结果是什么? SCP或SCU会遇到DIMSE超时吗?

2 个答案:

答案 0 :(得分:2)

大对象的DIMSE C-STORE消息被分成多个P-DATA数据包(PDU,即通过网络发送的TCP数据包)。实际上,两个超时适用:

  • DIMSE超时。此超时发生在两个后续DIMSE消息之间
  • PDU超时。这发生在两个后续PDU之间。

E.g。对于C-STORE服务:

  • 如果SCP在请求完全发送后没有及时发送C-STORE响应(即所有帧被转移) - > DIMSE超时
  • 如果SCU在SCP发送对先前对象的响应之后没有及时发送第一个PDU用于下一个C-STORE请求 - > DIMSE超时
  • 如果SCU发送的2个后续片段(PDU)之间的时间跨度超过SCP的预期 - > PDU超时

答案 1 :(得分:1)

我认为这导致操作仍在进行中,系统知道这一点并且没有超时,DIMSE消息(正在进行中)仍在发送。 DIMSE超时用于系统在配置的时间内没有获得DIMSE响应,例如机器从网络中消失。

另外我相信大多数系统都会使用非阻塞模式,因此在传输过程中不会超时。例如,您发送100张图像,98张图像后,系统20小时内不会收到新图像,除非发送取消操作信号,否则系统仍会等待最后两张图像。