作者: 耳朵里有風(fēng)
協(xié)議簡介
DICOM(Digital Imaging and COmmunications in Medicine)是醫(yī)學(xué)數(shù)字成像和通信標(biāo)準(zhǔn)客年,是醫(yī)學(xué)圖像和相關(guān)信息的國際標(biāo)準(zhǔn)剂买。
DICOM通信協(xié)議是該標(biāo)準(zhǔn)的的一部分,早期標(biāo)準(zhǔn)只支持點到點的數(shù)據(jù)通信稳摄,而DICOM3.0 協(xié)議是一種基于開放系統(tǒng)互聯(lián)協(xié)議(Open System Inerconnection公般, OSI)和傳輸控制/網(wǎng)際協(xié)議(TCP/IP)的上層網(wǎng)絡(luò)協(xié)議忍啸。
通信模型
DICOM 標(biāo)準(zhǔn)中,采用了 OSI 協(xié)議和 TCP/IP 協(xié)議作為對 DICOM 網(wǎng)絡(luò)通信協(xié)議的支持蘸嘶。DICOM 網(wǎng)絡(luò)通信協(xié)議是一種應(yīng)用性協(xié)議良瞧,它處于 OSI 七層協(xié)議的上三層,即應(yīng)用層训唱、表示層褥蚯、會話層,而下層主要使用 TCP/IP 協(xié)議所提供的服務(wù) 况增。因此赞庶,可以說 DICOM 協(xié)議是一種基于 TCP/IP 的上層協(xié)議。
DICOM 協(xié)議包括三個主要部分: DICOM 服務(wù)類(DICOM Service Class)澳骤、 DICOM 消息服務(wù)元素(DICOM Message Service Element歧强, DIMSE) 以及 DICOM上層協(xié)議(Upper Layers Protocol, ULP)为肮,其中前兩部分對應(yīng)于 OSI 模型的應(yīng)用層摊册,主要負責(zé)消息交換,而 DICOM 上層協(xié)議對應(yīng)于 OSI 模型的表示層和會話層颊艳,用來為消息交換提供服務(wù)支持茅特。DICOM 協(xié)議通過 TCP/IP 進行底層數(shù)據(jù)的傳輸。
應(yīng)用層協(xié)議
主要包含面向醫(yī)學(xué)圖像應(yīng)用的 DICOM 服務(wù)類和用于消息交換的DICOM 消息服務(wù)元素(DIMSE)棋枕。
DICOM 服務(wù)類
DICOM 標(biāo)準(zhǔn)定義服務(wù)類是為了完成一些特定的應(yīng)用功能白修,如圖像存儲、查詢/檢索重斑、打印管理等兵睛。在講服務(wù)類之前需要明白一個概念:IOD (Information Object Definition, 信息對象定義), IOD 與面向?qū)ο缶幊讨械摹邦悺钡亩x比較相似绸狐,對具有相同屬性的一類事物的抽象卤恳。
服務(wù)類描述了有關(guān)指令和數(shù)據(jù)的語義,它和信息對象 IOD 共同構(gòu)成了 DICOM 的基本單元寒矿,稱為“服務(wù)-對象對”(Service-Object Pair,SOP)若债。一個 SOP 類的實現(xiàn)稱為 SOP 實例符相,如圖像存儲、查詢等應(yīng)用功能就是通過 SOP 實例來完成的。下表介紹了 DICOM3.0 標(biāo)準(zhǔn)最常用的服務(wù)類及其相應(yīng)的功能啊终。
服務(wù)類名稱 | 功能描述 |
---|---|
Image storage | 用于醫(yī)學(xué)圖像的存儲 |
Image find | 用于查找圖像的信息 |
Image move | 提供圖像的接收和轉(zhuǎn)發(fā)服務(wù) |
Image query/retrieve | 提供圖像的檢索镜豹、查詢服務(wù) |
Result management | 提供對檢查、診斷結(jié)果的管理服務(wù) |
Image print | 提供圖像的打印管理服務(wù) |
DIMSE 消息服務(wù)元素
DIMSE(標(biāo)準(zhǔn)文件中第7部分)為對等DICOM應(yīng)用實體進行醫(yī)學(xué)影像及相關(guān)信息交換提供了一種應(yīng)用服務(wù)元素定義(Application Service Element)蓝牲,包括服務(wù)和協(xié)議(DIMSE Service 和DIMSE Protocol)趟脂。
DIMSE協(xié)議規(guī)定了構(gòu)造消息必需的編碼規(guī)則, 一條DICOM MESSAGE由固定的指令集合(Command Set),外加可選擇的數(shù)據(jù)集合(Data Set)構(gòu)成例衍,可以簡單的理解為Command Set就是各種服務(wù)的請求和應(yīng)答消息(如c-store)昔期;而Data Set可以認為類似于DCM后綴的文件,是我們希望在對等DICOM實體間進行傳輸?shù)男畔ⅰ?/p>
DIMSE服務(wù)因操作SOP類型的不同分為DIMSE-C Services和DIMSE-N Services佛玄,DIMSE-C服務(wù)支持在對等DICOM實體間進行Composite SOP Instance操作(Operation )硼一,主要包括C-ECHO、C-FIND梦抢、C-STORE般贼、C-MOVE、C-GET等奥吩;而DIMSE-N服務(wù)支持Normalized SOP Instance操作,同時提供通知(notification)服務(wù)哼蛆,主要包括N-EVENT-REPORT、N-GET霞赫、N-SET腮介、N-CREATE、N-ACTION绩脆、N-DELETE萤厅。
- 操作服務(wù):指DICOM通信雙方中的一個應(yīng)用實體(SCU方)向另一個應(yīng)用實體(SCP方)請求完成某種功能的服務(wù)時所執(zhí)行的操作。
-
通知服務(wù):被用于一個應(yīng)用實體(SOP)向另一個應(yīng)用實體(SCU方)告知響應(yīng)的事件的發(fā)生或者狀態(tài)的變化靴迫。
DIMSE中的所有操作和通知都是確認服務(wù)(confirmed services)惕味,即一方發(fā)出的請求都需要得到對方的應(yīng)答,DIMSE-C服務(wù)在醫(yī)學(xué)領(lǐng)域應(yīng)用最廣泛玉锌,常見的PACS名挥、HIS、RIS主守、LIS等系統(tǒng)都會用到禀倔,而DIMSE-N服務(wù)主要應(yīng)用在MPPS和DICOM打印中,日常學(xué)習(xí)中可能沒有實際應(yīng)用和測試的機會参淫。
zssure 在博客中將DIMSE作為OSI中的表示層(能為不同的客戶端提供數(shù)據(jù)和信息的語法轉(zhuǎn)換內(nèi)碼救湖,使系統(tǒng)能解讀成正確的數(shù)據(jù)。同時涎才,也能提供壓縮解壓鞋既、加密解密力九。),在DICOM標(biāo)準(zhǔn)中并沒有明確按照OSI 劃分層次邑闺,下圖是標(biāo)準(zhǔn)中給出的DICOM通信模型以及DICOM網(wǎng)絡(luò)協(xié)議體系結(jié)構(gòu)跌前。我的理解是DIMSE可以類比HTTP協(xié)議,是對socket中數(shù)據(jù)流內(nèi)容進行特定的數(shù)據(jù)組織陡舅,通常說HTTP是個應(yīng)用層協(xié)議抵乓,那將DIMSE歸為應(yīng)用層也是有道理的。
DICOM上層協(xié)議(ULP)
從DICOM通訊模型上可以看出DICOM網(wǎng)絡(luò)協(xié)議是建立在TCP/IP層之上的靶衍,最底層的是DICOM Upper Layer Protocol(ULP)灾炭,該部分主要負責(zé)與TCP相對接,當(dāng) DICOM 應(yīng)用實體通過 DIMSE 完成消息交換后摊灭,需要 DICOM 上層協(xié)議層 ULP 來提供傳輸支持咆贬。它的作用主要包括:
- 傳送和接收 DIMSE 命令流(Command Set)和數(shù)據(jù)流(Data Set),提供網(wǎng)絡(luò)傳輸支持帚呼。
- 提供應(yīng)用層的連接控制服務(wù)掏缎,如在通信雙方之間建立、釋放和終止關(guān)聯(lián)等 煤杀。
ULP 提供 5 種連接控制服務(wù)眷蜈,包括:A-ASSOCIATE、A-RELEASE沈自、A-ABORT酌儒、P-DATA、A-P-ABORT枯途。
- A-ASSOCIATE 用來在通信實體雙方間協(xié)商并建立關(guān)聯(lián)忌怎,交換一些初始化信息,因此它是一個證實性服務(wù)酪夷;
- A-RELEASE 用于在完成傳輸后釋放關(guān)聯(lián)榴啸,它是一個正常的中止方式,不會造成應(yīng)用數(shù)據(jù)的丟失晚岭,也是一種證實性服務(wù)鸥印;
- A-ABORT 是當(dāng)通信出現(xiàn)異常時用來終止關(guān)聯(lián),有可能造成一些暫存數(shù)據(jù)的丟失坦报,它是一個非證實性服務(wù)库说;
- P-DATA 用來傳輸 DIMSE 命令流和數(shù)據(jù)流,通信實體一方一旦把 DIMSE 消息流傳送出去就認定另一方能夠準(zhǔn)確無誤地收到片择,因此它是一個非證實性服務(wù)潜的;
- A-P-ABORT 也是用來終止關(guān)聯(lián),主要是用于當(dāng)網(wǎng)絡(luò)連接失敗時字管,使得上層能夠及時獲得操作響應(yīng)信息夏块。
ULP 提供了 7 個協(xié)議數(shù)據(jù)單元(Protocol Data Unit疏咐, PDU)來實現(xiàn)上述的 5 種服務(wù) 纤掸。
- A-ASSOCIATE-RQ 建立ASSOCIATE請求
- A-ASSOCIATE-AC 接受ASSOCIATE建立
- A-ASSOCIATE-RJ 拒絕ASSOCIATE建立
- P-DATA-TF 進行數(shù)據(jù)傳輸
- A-RELEASE-RQ ASSOCIATE釋放請求
- A-RELEASE-RP ASSOCIATE釋放響應(yīng)
- A-ABORT ASSOCIATE終止
DICOM通信基本流程
DICOM 標(biāo)準(zhǔn)中脐供,通信雙方的兩個應(yīng)用實體間用于信息交換的連接稱為“關(guān)聯(lián)”。在 DICOM通信過程中借跪,首先必須進行關(guān)聯(lián)協(xié)商政己,確定傳輸?shù)臄?shù)據(jù)類型和信息的編碼方式等;協(xié)商成功掏愁,建立“關(guān)聯(lián)”后歇由,才能進行數(shù)據(jù)傳輸,實現(xiàn)不同的通信功能果港;數(shù)據(jù)傳輸結(jié)束后沦泌,釋放“關(guān)聯(lián)”。下面是以C-Store 服務(wù)為例描述的影像文件的傳輸過程辛掠。
參考文檔:
- https://blog.csdn.net/qpalzm759/article/details/90264304
- 百度百科-DICOM
- https://blog.csdn.net/zssureqh/article/details/39098621
- https://www.cnblogs.com/Alex80/p/5145977.html
- https://www.dicomstandard.org/current/
本文主要參考 https://blog.csdn.net/qpalzm759/article/details/90264304谢谦,在其基礎(chǔ)上進行了一些增刪。