Retrieve Cache for Nearline Storage - dcm4che/dcm4chee-arc-light GitHub Wiki

This page gives an overview of tests that can be performed if the application has to use a cache storage for paralleling access of objects from storage systems which provides more bandwidth using multiple connections in parallel.

DICOM objects stored on nearline storage systems may be retrieved back to online storage using an independent storage system specifically intended to be used as a retrieve cache.

Configuration

Below is the basic configuration of nearline and retrieve cache storage systems that need to be done for each of the tests.

Using Archive UI

  • Go to Configuration page, Devices tab and edit dcm4chee-arc device. Edit extension of Device Extension, next Edit extension of Archive Device. Create two new Child Object for Storage Descriptor with values as shown below.

Using LDAP

One may

  • create a LDIF file (e.g.):

      dn: dcmStorageID=fs1,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      objectClass: dcmStorage
      dcmStorageID: fs1
      dcmURI: ${jboss.server.data.url}/fs1/
      dcmDigestAlgorithm: MD5
      dcmInstanceAvailability: NEARLINE
      dcmProperty: pathFormat={now,date,yyyy/MM/dd}/{0020000D,hash}/{0020000E,hash}/{00080018,hash}
      dcmProperty: checkMountFile=NO_MOUNT
      dcmRetrieveCacheMaxParallel: 10
      dcmRetrieveCacheStorageID: retrieve-cache
      
      dn: dcmStorageID=retrieve-cache,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
      objectClass: dcmStorage
      dcmStorageID: retrieve-cache
      dcmURI: ${jboss.server.data.url}/retrieve-cache/
      dcmDigestAlgorithm: MD5
      dcmExportStorageID: fs1
      dcmProperty: pathFormat={now,date,yyyy/MM/dd}/{0020000D,hash}/{0020000E,hash}/{00080018,hash}
      dcmProperty: checkMountFile=NO_MOUNT
      dcmRetrieveCacheMaxParallel: 10
    

One may refer to Storage Descriptor to understand the description of attributes.

Go to the Control tab on Configuration page in archive UI and reload the configuration.

Testing

Enable the logging in Wildfly configuration to DEBUG mode before starting the tests.

Required dcm4che Tools

  • storescu simulating the external object source (e.g. modality) STORESCU, from which objects are being received
  • storescp simulating the external object destination (e.g. workstation) STORESCP, to which received objects are forwarded.
  • movescu implements both an SCU for the Query/Retrieve Service Class and an SCP for the Storage Service Class.
  • getscu implements SCU for the Query/Retrieve Service Class and an SCP for the Storage Service Class.

Tests

⚠️ **GitHub.com Fallback** ⚠️