Dcm4chee学习笔记(三)--StoreSCP服务流程剖析
来源:互联网 发布:三洋微波炉怎么样知乎 编辑:程序博客网 时间:2024/05/20 11:53
自上一篇我们简单剖析了Dcm4Chee服务启动的流程,那么这次我们开始学习下StoreSCP服务的流程。
我们可以利用jdicom小工具StorageSCU作为客户端进行测试,看看在服务端的流程是这么进行的
根据上一次的讲解,我们知道当客户端发起建立DICOM Association请求后,会使用DcmHandlerImpl的handle方法进行后续的处理,见上图。
然后会调用相关的底层类进行依次处理,包括读取socket流,解码成DICOM PDU包等等。当建立好DICOM Association连接后,会调用AssociationImpl.read方法等待
客户端继续发送DICOM消息, 当我们使用StorageSCU发送C-STORE请求,发送一个DICOM文件时
ActiveAssociationImpl类会使用DcmServiceRegistryImpl获得的命令判断使用哪个服务类处理,代码截图如下
最终返回的是StoreSCP类, 可以找到实际执行存储DICOM文件的代码在StoreSCP类的doActualStore函数里
在这个函数里,主要完成选择文件系统、生成文件路径、MD5签名、把DICOM消息转换成DICOM文件写到磁盘、然后通过StoreSCPService类调用相关的EJB服务去完成对
数据库的读写访问,把相关信息写入到数据库。
根据类设计图可以更加直观的理解类之间的关系
整理的比较随意,请各位看官轻拍砖
阅读全文
0 0
- Dcm4chee学习笔记(三)--StoreSCP服务流程剖析
- Dcm4chee学习笔记(二)--服务启动流程剖析
- Dcm4chee学习笔记(一)
- spark学习笔记之三:调度流程剖析
- DICOM医学图像处理:storescp.exe与storescu.exe源码剖析,学习C-STORE请求
- DICOM医学图形处理:storescp.exe与storescu.exe源码剖析,学习C-STORE请求(续)
- STL源码剖析学习笔记(三)
- jBPM学习笔记5--简单流程测试剖析
- Java学习笔记(三)-- 流程控制
- Activiti流程管理学习笔记(三)
- Activiti学习笔记三:管理流程定义
- iOS学习笔记 系统服务(三)蓝牙
- <<C语言深度剖析>>学习笔记之三:符号
- jquery源码学习笔记三:jQuery工厂剖析
- STL源码剖析笔记三
- jbpm学习笔记(三)--管理流程实例
- Webx3.0学习笔记(三):Webx执行流程
- JAVA学习笔记之三(控制程序流程)
- AttributeError: 'Bunch' object has no attribute 'data'
- 自然常数e
- 谈谈Spring中的IOC和AOP概念
- Photoshop抠图(磁性套索工具及几个常用案例)
- Java-算法分析及其优劣判断
- Dcm4chee学习笔记(三)--StoreSCP服务流程剖析
- Apache Kafka 入门
- Golang 服务器端对客户端的证书进行校验(双向证书校验)
- 适用于<python机器学习与实践>的twenty_newsgroups.py文件内容
- Docker常用命令详解
- Java并发JUC包之ConcurrentSkipListMap深入分析
- U-Boot编译——System.map与u-boot.map
- leetcode第十四周解题总结--二分查找
- C/C++:遍历目录