基于bs結(jié)構(gòu)的醫(yī)學(xué)影像閱片系統(tǒng)的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及醫(yī)學(xué)影像處理技術(shù),尤其是涉及一種基于BS結(jié)構(gòu)的醫(yī)學(xué)影像閱片系統(tǒng)的實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]最近JavaScript引擎的快速發(fā)展,腳本運(yùn)行性能大幅提高,在瀏覽器端處理復(fù)雜應(yīng)用變得可能,在前端采用模擬線程/模擬隊(duì)列技術(shù)對用戶的請求進(jìn)行處理,同時Web影像服務(wù)程序中采用進(jìn)程調(diào)度機(jī)制和緩沖機(jī)制實(shí)現(xiàn)醫(yī)學(xué)影像的快速加載,這二者的結(jié)合能及時響應(yīng)用戶請求,保證取圖成功。
[0003]已有發(fā)明通過ActiveX技術(shù)或者Java Applet來實(shí)現(xiàn)圖像的處理,但需要瀏覽器預(yù)先安裝插件?,F(xiàn)有Web PACS需要在瀏覽器上安裝ActiveX控件或Java Applet,加大了用戶使用的難度和實(shí)施的復(fù)雜度,此種方法會影響圖像瀏覽相關(guān)的每個用戶,且插件的不穩(wěn)定性會影響用戶其他的瀏覽器操作。
【發(fā)明內(nèi)容】
[0004]本發(fā)明是提出一種基于BS結(jié)構(gòu)的醫(yī)學(xué)影像閱片系統(tǒng)的實(shí)現(xiàn)方法,在瀏覽器沒有插件支持的條件下實(shí)現(xiàn)醫(yī)學(xué)影像顯示,實(shí)現(xiàn)過程更簡潔,用戶使用更方便。
[0005]本發(fā)明采用如下技術(shù)方案實(shí)現(xiàn):一種基于BS結(jié)構(gòu)的醫(yī)學(xué)影像閱片系統(tǒng)的實(shí)現(xiàn)方法,該醫(yī)學(xué)影像閱片系統(tǒng)包括瀏覽器、采用進(jìn)程調(diào)度機(jī)制和緩沖機(jī)制的醫(yī)學(xué)影像Web服務(wù)器及圖像處理子進(jìn)程,所述方法包括步驟:
[0006]瀏覽器采用Ajax技術(shù)通過HTTP協(xié)議向醫(yī)學(xué)影像Web服務(wù)器發(fā)出圖像請求;
[0007]醫(yī)學(xué)影像Web服務(wù)器根據(jù)共享內(nèi)存的狀態(tài)判斷是否分配圖像處理子進(jìn)程的工作任務(wù),如果共享內(nèi)存中存在對應(yīng)當(dāng)前請求的醫(yī)學(xué)影像,則直接將共享內(nèi)存中對應(yīng)當(dāng)前請求的醫(yī)學(xué)影像返回給瀏覽器,當(dāng)共享內(nèi)存中不存在當(dāng)前請求的醫(yī)學(xué)影像時,醫(yī)學(xué)影像Web服務(wù)器分配圖像處理子進(jìn)程工作任務(wù),并于圖像處理子程序獲取對應(yīng)當(dāng)前請求的醫(yī)學(xué)影像后控制將對應(yīng)當(dāng)前請求的醫(yī)學(xué)影像返回給瀏覽器;
[0008]圖像處理子程序根據(jù)DICOM文件的WDs從數(shù)據(jù)文件存儲服務(wù)器請求對應(yīng)當(dāng)前請求的醫(yī)學(xué)影像的DICOM文件流,并將DICOM文件流存儲在共享內(nèi)存中;
[0009]瀏覽器采用模擬隊(duì)列的方式從醫(yī)學(xué)影像Web服務(wù)器獲取醫(yī)學(xué)影像并進(jìn)行顯示。
[0010]其中,瀏覽器采用模擬隊(duì)列的方式從醫(yī)學(xué)影像Web服務(wù)器獲取醫(yī)學(xué)影像并進(jìn)行顯示的步驟具體包括:
[0011]當(dāng)用戶請求醫(yī)學(xué)圖像后,瀏覽器首先獲取DICOM影像信息,采用模擬隊(duì)列的方式保證每次只取當(dāng)前信息同時保證獲取成功;
[0012]當(dāng)模擬隊(duì)列的所有信息獲取完成后,啟動取圖線程并加載蒙層圖和切塊圖,在加載過程中蒙層顯示而切塊圖隱藏,當(dāng)加載完成后,切塊圖顯示而蒙層圖隱藏,同樣采用模擬隊(duì)列的方式保證用戶最后一次的操作請求成功;
[0013]當(dāng)顯示窗口的圖像加載完成后,啟動顯示線程來顯示圖像和圖像信息。
[0014]其中,瀏覽器與醫(yī)學(xué)影像Web服務(wù)器之間通過Ajax技術(shù)進(jìn)行異步通信。
[0015]在,醫(yī)學(xué)影像Web服務(wù)器為高并發(fā)Web服務(wù)器,且醫(yī)學(xué)影像Web服務(wù)器具有完成端口來完成多個瀏覽器的并發(fā)請求。
[0016]其中,在醫(yī)學(xué)影像Web服務(wù)器中至少配置了 Web服務(wù)子進(jìn)程、共享內(nèi)存、處理任務(wù)子進(jìn)程和管理主進(jìn)程,通過進(jìn)程調(diào)度機(jī)制來使用完成端口。
[0017]其中,進(jìn)程調(diào)度機(jī)制包括:
[0018]當(dāng)醫(yī)學(xué)影像Web服務(wù)器接收到一個來自瀏覽器的請求時,Web服務(wù)子進(jìn)程啟動一個線程任務(wù);
[0019]判斷處理子進(jìn)程的屬性信息結(jié)構(gòu),如果該進(jìn)程已經(jīng)分配資源,直接向處理任務(wù)子進(jìn)程發(fā)出處理請求,同時向處理任務(wù)子進(jìn)程發(fā)出消息,通知處理任務(wù)子進(jìn)程進(jìn)入執(zhí)行狀態(tài),如果該進(jìn)程沒有分配資源,則向管理主進(jìn)程發(fā)出請求,由管理主進(jìn)程為該線程任務(wù)分配資源;
[0020]如果所有的處理任務(wù)子進(jìn)程都處于處理狀態(tài),則由管理主進(jìn)程直接啟動一個進(jìn)程來執(zhí)行任務(wù)。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:
[0022]本發(fā)明改進(jìn)了現(xiàn)有的 Web PACS (Picture Archiving and Communicat1nSystems)在客戶端處理圖像的框架,在瀏覽器沒有安裝任何插件下完成,直接通過Ajax技術(shù)實(shí)時向醫(yī)學(xué)影像Web服務(wù)器發(fā)送獲取醫(yī)學(xué)影像的請求,醫(yī)學(xué)影像Web服務(wù)器采用進(jìn)程調(diào)度機(jī)制和緩沖機(jī)制根據(jù)請求中的參數(shù)處理和返回影像,同時在瀏覽器上進(jìn)行顯示,實(shí)現(xiàn)過程更簡潔,用戶使用更方便。并且,本發(fā)明在傳統(tǒng)Web PACS的基礎(chǔ)上改進(jìn)了瀏覽器處理醫(yī)學(xué)影像的模式,無需安裝客戶端和插件,只需要登錄瀏覽器就可以使用本系統(tǒng),同時采用進(jìn)程調(diào)度機(jī)制和緩沖機(jī)制,實(shí)現(xiàn)了影像的快速傳輸與處理,整個系統(tǒng)在性能上有了很大的改進(jìn)同時為系統(tǒng)跨平臺跨瀏覽器的實(shí)現(xiàn)提供了有利條件。
【附圖說明】
[0023]圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖;
[0024]圖2是瀏覽器獲取醫(yī)學(xué)影響的流程示意圖;
[0025]圖3是醫(yī)學(xué)影像Web服務(wù)器中完成端口的模型示意圖;
[0026]圖4是醫(yī)學(xué)影像Web服務(wù)器中各個進(jìn)程的工作原理示意圖。
【具體實(shí)施方式】
[0027]本發(fā)明提出一種基于BS結(jié)構(gòu)(即瀏覽器和服務(wù)器結(jié)構(gòu))的醫(yī)學(xué)影像閱片系統(tǒng),在瀏覽器無插件支持情況下,直接通過Ajax技術(shù)實(shí)時向醫(yī)學(xué)影像Web服務(wù)器發(fā)送請求url,醫(yī)學(xué)影像Web服務(wù)器采用進(jìn)程調(diào)度機(jī)制和緩沖機(jī)制根據(jù)請求中的參數(shù)處理和返回醫(yī)學(xué)影像,同時在瀏覽器上進(jìn)行顯示。
[0028]如圖1所示,系統(tǒng)主要由三部分構(gòu)成,分別是瀏覽器、醫(yī)學(xué)影像Web服務(wù)器和影像處理子進(jìn)程。其中,瀏覽器作為客戶端,可以是由HTML、JavaScript或CSS等語言來實(shí)現(xiàn)。作為客戶端的瀏覽器采用Ajax技術(shù)通過HTTP協(xié)議向醫(yī)學(xué)影像Web服務(wù)器發(fā)出圖像請求url,醫(yī)學(xué)影像Web服務(wù)器根據(jù)共享內(nèi)存的狀態(tài)判斷是否分配圖像處理子進(jìn)程的工作任務(wù)——如果共享內(nèi)存中存在當(dāng)前請求的醫(yī)學(xué)影像,則直接將共享內(nèi)存中當(dāng)前請求的醫(yī)學(xué)影像返回并在瀏覽器上顯示,當(dāng)共享內(nèi)存中不存在當(dāng)前請求的醫(yī)學(xué)影像時,醫(yī)學(xué)影像Web服務(wù)器分配圖像處理子進(jìn)程,由圖像處理子程序根據(jù)WADO(Web Access to DICOM PersistentObjects)協(xié)議串中的 DICOM (Digitalimaging and Communicat1ns in Medicine)文件的WDs從數(shù)據(jù)文件存儲服務(wù)器請求DICOM文件流,并將DICOM文件流存儲在共享內(nèi)存,同時將數(shù)據(jù)返回,瀏覽器通過HTTP協(xié)議接收從醫(yī)學(xué)影像Web服務(wù)器返回的影像并進(jìn)行顯示。
[0029]瀏覽器是顯示影像以及用戶交互影像的主窗口,要求頁面設(shè)計(jì)能夠滿足用戶對影像閱片系統(tǒng)的需求,并且當(dāng)網(wǎng)絡(luò)環(huán)境不穩(wěn)定時保證系統(tǒng)的流暢性,因此,在本申請中瀏覽器采用Ajax技術(shù)、模擬線程(采用模擬線程的目的是為了實(shí)現(xiàn)請求的正確響應(yīng),利用狀態(tài)位的改變來開啟或者關(guān)閉模擬線程)、模擬隊(duì)列技術(shù)(用戶的請求操作在前臺緩沖區(qū)域保存,當(dāng)前請求正在執(zhí)行時忽略緩沖區(qū)的其他請求,請求的任務(wù)執(zhí)行完成后判斷緩沖區(qū)任務(wù)的長度,若仍存在請求時,獲取最后一次請求執(zhí)行,忽略其他請求,這樣即可避免請求堵塞導(dǎo)致瀏覽器卡死)以及多圖層分塊技術(shù)對醫(yī)學(xué)影像請求進(jìn)行處理,方便醫(yī)學(xué)影像Web服務(wù)器及時響應(yīng)保證最后取圖的成功。
[0030]Ajax提供瀏覽器與醫(yī)學(xué)影像Web服務(wù)器之間異步通信的能力,從而使用戶從請求/響應(yīng)的循環(huán)中解脫出來。借助于Ajax,可以在用戶單擊瀏覽器上的操作按鈕時,使用JavaScript和DHTML立即更新用戶界面(User Interface, UI),并向醫(yī)學(xué)影像Web服務(wù)器發(fā)出異步請求,以執(zhí)行更新或查詢數(shù)據(jù)庫。當(dāng)請求返回時,就可以使用JavaScript和CSS來相應(yīng)地更新Π,而不是刷新整個頁面。最重要的是,用戶甚至不知道瀏覽器正在與醫(yī)學(xué)影像Web服務(wù)器通信:Web站點(diǎn)看起來是即時響應(yīng)的。采用Ajax后,可以縮短Web站點(diǎn)的響應(yīng)時間,提高服務(wù)的處理速度。
[0031]多圖層分塊技術(shù)是指,過在WADO服務(wù)中將影像顯示區(qū)域顯示的影像塊裁剪出