999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Socket套接字的醫學信息傳送模塊的設計與實現

2014-02-05 02:41:01王維紅樊廷玖
中國醫學裝備 2014年1期
關鍵詞:進程信息系統

王維紅 樊廷玖

基于Socket套接字的醫學信息傳送模塊的設計與實現

王維紅① 樊廷玖①

目的:提高數字化影像系統的檢索速度、傳送效率以及改變傳統影像保存的缺陷,提高臨床影像診斷質量。方法:設計基于Socket套接字的多線程的醫學信息傳送模塊,通過實現多個線程并行工作而提高程序的運行速度,并實現圖像、文件等各類資源的快速傳輸。結果:將基于Socket套接字的醫學信息傳送模塊運用于醫院各科室以及遠程醫療系統的各個方面,提高了醫學信息傳輸速度,節省了傳輸時間和資金。結論:基于Socket套接字的醫學信息傳送模塊的利用可以對醫院醫學影像資源進行有效管理和充分利用。

套接字;多線程;網絡通信

[First-author’s address]The First Hospital of ZiBo, Shandong 55200, China

現代信息技術的進步日新月異,使得數字化的影像保存切實可行,高效率、無膠片化的圖像歸檔和通信系統(picture archiving and communication systems,PACS)應運而生,實現影像傳遞和共享[1]。但該系統存在人工檢索速度慢、傳送效率低、圖片在傳遞過程中會發生丟失以及存檔歸檔出錯無法查找等問題,同時膠片長期保存易出現霉變、丟失等缺陷,從而影響診斷的準確性。因此,如何利用信息化的手段對醫學影像資源進行有效的管理和應用是目前醫院需解決的重要問題。

1 Socket套接字及線程概述

1.1 Socket套接字

套接字是網絡的基本構件,是可以被命名和尋址的通信端點,使用中的每個套接字均有其類型和一個與之相連接進程[3]。套接字存在通信區域中只與同一區域中的套接字交換數據(跨區域時需要執行某和轉換進程方能實現)。即通信雙方的一種約定,用套接字中的相關函數完成通信的過程。

套接字分為流式套接字和數據報套接字。流式的套接字可提供可靠的、面向連接的通訊流。數據報套接字定義了一種無連接的服務,數據通過相互獨立的報文進行傳輸,是無序的,且不保證可靠,無差錯。基本的套接字函數調用包括:Socket()-創建Socket;bind()-將創建的Socket與本地端口綁定;connect()與accept()-建立Socket連接;listen()-服務器監聽是否有連接請求;send()-數據的可控緩沖發送;recv()-可控緩沖接收;closesocket()-關閉Socket;啟動函數WSAStartup()-建立與Windows Sockets DLL的連接,終止函數WSAClearup()-終止使用該DLL,這兩個函數必須成對使用。

在面向連接的通訊中服務器和客戶機在交換數據之前先要建立一個連接,在無連接通訊中數據作為信息的一部分被交換。無論哪一種方式,服務器總是最先啟動,將自己綁定在一個套接字上,然后偵聽信息。使用面向連接的套接字工作流程如下:啟動服務器→通過調用socket()建立一個套接字→調用bind()將該套接字和本地網絡地址聯系在一起→調用listen()使套接字做好偵聽的準備,并規定其請求隊列的長度→調用accept()來接收連接。客戶在建立套接字后即可調用connect()和服務器建立連接,一旦建立連接客戶機與服務器之間便可通過調用read()和write()進行發送和接收數據,待數據傳送結束后雙方調用close()關閉套接字。

1.2 線程及進程

線程是進程中的一個實體,是被系統獨立調度和分派的基本單位,其本身不擁有系統資源,但可與同屬一個進程的其他線程共享進程所擁有的全部資源。一個線程可創建和撤消另一個線程,同一進程中的多線程之間可以并發執行。由于線程之間的相互制約,致使線程在運行中呈現出間斷性。線程有就緒、阻塞和運行3種基本狀態。線程和進程的區別在于子進程和父進程有不同的代碼和數據空間,而多線程則共享數據空間,每個線程有自己的執行堆棧和程序計數器為其執行上下文。線程在運行中需要使用計算機的內存資源和CPU,有線程進入了就緒狀態,需要有線程調度程序根據優先級來決定何時執行[4]。

進程只是靜態的概念,為使進程完成工作而必須至少占有一線程,線程是描述進程內的執行,線程負責執行包含在進程的地址空間中的代碼。單個進程可能包含數個線程,可同時執行進程的地址空間中的代碼。每個線程有自己的一組CPU寄存器和堆棧。每個進程至少有一個線程在執行其地址空間中的代碼,如無線程執行進程地址空間中的代碼,進程則無繼續存在的理由,系統將自動清除進程及其地址空間。為了運行所有線程,操作系統為每個獨立線程安排CPU時間,操作系統以輪轉方式向線程提供時間片。創建32位Windows進程時其第1個線程稱為主線程,由系統自動生成,可由其主線程生成額外的線程,并又可生成更多的線程[5]。

在單個程序中同時運行多個線程完成不同的工作,稱為多線程。多線程是為了使得多個線程并行工作以完成多項任務,提高系統的效率。使用多線程的優點為:①使用線程可將占據長時間程序中的任務放至后臺處理;②用戶界面更加吸引人,如用戶點擊按鈕觸發某些事件的處理,便可彈出進度條顯示處理進度;③加快程序運行速度;④創建速度快、系統開銷小,創建線程不需要另行分配資源;⑤通信簡潔、信息傳送速度快,線程間的通信在統一地址空間進程,不需要額外的通信機制;⑥并行性高,線程能獨立執行、充分利用和發揮處理器與外圍設備并行工作的能力。

2 醫學信息傳送模塊的設計

20世紀90年代初,由Microsoft聯合其他公司共同制定了Windows下的網絡編程接口,即Windows Sockets規范,其為一套開放的、支持多種協議的Windows下的網絡編程接口,較常使用的是傳輸控制協議/網間協議(TCP/IP)。Socket在計算機中提供了通信端口,可通過其端口與任何具有Socket接口的計算機通信。應用程序在網絡上的信息均通過Socket接口來實現[6]。

Windows Sockets的實現由兩部分組成:開發組件和運行組件。開發組件是程序員開發Windows Sockets應用程序所使用,包括介紹Windows Sockets實現的文檔、Windows Sockets應用程序接口(API)引入庫和頭文件。運行組件是Windows Sockets應用程序接口的動態連接庫(DLL),文件名為WINSOCK.DLL,應用程序在執行時通過裝入他實現網絡通信功能。

TCP/IP是一種網絡通信協議,其中TCP是提供傳輸層服務,而IP則是提供網絡層服務。TCP/IP協議的核心部分是傳輸層協議(TCP、UDP)、網絡層協議(IP)和物理接口層,這3層通常是在操作系統內核中實現,因此用戶一般不涉及。編程界面有兩種形式:①由內核心直接提供的系統調用;②使用以庫函數方式提供的各種函數。前者為核內實現,后者為核外實現。用戶服務要通過核外的應用程序才能實現,因此要使用套接字(Socket)來實現。

Winsockets編程之套接字原理在TCP/IP網絡中兩個進程間的相互作用的主機模式是客戶機/服務器模式(Client/Server model)。該模式的建立基于非對等作用和通信完全異步兩點。客戶機/服務器模式在操作過程中采取的是主動請示方式。

(1)服務器方需先啟動并根據請示提供相應服務,其流程如下:打開一通信通道并告知本地主機,其愿意在某一個公認地址上接收客戶請求→等待客戶請求到達該端口→接收到重復服務請求,處理該請求并發送應答信號→返回第二步,等待另一客戶請求→關閉服務器。

(2)客戶方:打開一通信通道,并連接到服務器所在主機的特定端口→向服務器發送服務請求報文,等待并接收應答;繼續提出請求……→請求結束后關閉通信通道并終止。

3 醫學信息傳送模塊的具體實現步驟

網絡讀寫操作是PACS系統的基礎,PACS系統通過TCP/IP的網絡來交換各種DICOM命令和文件[7]。通過Socket將DICOM命令和文件發送給TCP/IP,實現網絡讀寫功能模塊設計的目的。通過編寫客戶端和服務器程序,完成客戶機端的發送及服務器端的偵聽和接收。為了優化程序設計,使服務器端不會出現無法響應的現象,采用多線程的編程方法,建立工作者線程進行后臺處理。

3.1 客戶端程序設計

(1)新建對話框工程client。為了將現有的Socket變成資源,將Socket.h和socket.cpp放到client工程目錄下,并在工程中通過project->add to project->files添加這兩個文件,通過這其中的類來間接使用Socket[8]。

(2)為了使用windows系統的網絡操作功能,在對話框工程server的頭文件中通過project->add to project->file加入#include “winsock.h”,并在菜單project->settings->link->input的Object/library modules中加入winsock32.lib。

(3)新建Send按鈕,生成其響應函數OnSend,在此函數中,生成一個Socket局部變量,并使用Open函數(兩個參數分別是ip地址和端口)打開對服務端的連接,生成一個字符串,使用SendBinary函數(兩個參數分別是字符串指針和字符串長度)發送信息。

3.2 服務器端程序設計

(1)新建對話框工程server。為了利用現有的socket編程資源,將socket.h和socket.cpp放到server工程目錄下,并在工程中通過project->add to project->files添加這兩個文件,通過其中的文件類來間接使用socket[9]。

(2)同客戶端程序設計中的第2條。

(3)新建Listen按鈕,并生成其響應函數OnListen,在此函數中調用AfxBeginThread()函數創建一個線程。AfxBeginThread()函數首先創建了一個CwinThread實例,然后調用該實例的CreateThread()成員函數創建線程。

3.3 應用程序源代碼

3.3.1 客戶端程序

3.3.2 服務器端程序

4 結語

基于Socket套接字的多線程醫學信息傳送模塊的實現使得多個線程并行的工作可完成多項任務,并可將程序中占據長時間的任務放到后臺去處理,程序的運行速度因此而加快,實現了圖像、文件等各類資源的迅速傳輸[2]。將基于Socket套接字的多線程技術運用到醫院各科室之間的影像信息傳輸、資源共享以及遠程醫療系統的各方面,會使傳輸的速度進一步提高,可節省時間提高工作效率和經濟效益。

[1]熊宇,段會龍,呂維雪.圖像歸檔和通訊系統(PACS)的發展與應用[J].國外醫學生物醫學工程分冊,2000,23(2):70-75.

[2]孫欽龍,邵惠鶴.socket套接字在工業數據通信中的應用[J].控制工程,2006,12(2):35-275.

[3]鄭靈翔,洪景新.Windows 2000/XP下原始套接字的編程與應用[J].微型機與應用,2002,21(6):27-30.

[4]王靜,曲鳳娟.基于Socket的多用戶并發通信的設計[J].福建電腦,2007(3):164-165.

[5]Noumeir R.DICOM structured report document type definition[J].IEEE Trans Inf Technol Biomed,2003,7(4):318-328.

[6]李澤強,胡淑濤,王華楠.醫院小型PACS系統的設計與實現[J].生物醫學工程學雜志,2001,18(3):494-496.

[7]姚東明,楊力.PACS在醫院信息系統中應用的認識[J].中國衛生事業管理,2002(7):446-447.

[8]張靜華.應用套接字模型實現網絡通信[J].山西電子技術,2004(4):19-21.

[9]龐文堯,崔婷.基于Winsock的網絡實時控制程序開發[J].小型微型計算機系統,2004,25(1):45-47.

Research on the designing and realization of medical information transmission based on the socket

/WANG Wei-hong, FAN Ting-jiu// China Medical Equipment,2014,11(1):36-39.

Objective:To improve the digital image system's retrieval speed and transmission efficiency, change the defect of traditional preservation and improve diagnostic quality of the image.Methods:Medical information transmission based on the socket can make the multi-threading parallel work to improve the running speed of the program, so images and files can be transmitted quickly.Results:Socket–based multi-threading technology is applied to the hospital departments and various remote medical system, that will improve the transmission speed and save time and money.Conclusion:Medical information transmission based on the socket can manage and application the medical imaging effectively.

Socket; Multi-threaded; Network communication

10.3969/J.ISSN.1672-8270.2014.01.013

1672-8270(2014)01-0036-04

R197.324

A

2013-09-09

①淄博市第一醫院設備科 山東 淄博 255200

王維紅,女,(1973- ),本科學歷,工程師。淄博市第一醫院設備科,從事醫療設備管理和維修工作。

猜你喜歡
進程信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
教育與職業(2014年7期)2014-01-21 02:35:04
Linux僵死進程的產生與避免
主站蜘蛛池模板: 亚洲精品国产首次亮相| 国产成人永久免费视频| 中文国产成人久久精品小说| 国产网站一区二区三区| 亚洲中文字幕手机在线第一页| 国产亚洲一区二区三区在线| 欧美色图第一页| 日韩久草视频| 日韩美毛片| 亚洲成年网站在线观看| 亚洲天堂高清| 亚洲综合色婷婷| 在线色国产| 久久黄色免费电影| 亚洲国产成人麻豆精品| 在线日韩日本国产亚洲| 91久久国产热精品免费| 国产在线高清一级毛片| 欧洲亚洲欧美国产日本高清| 欧美高清国产| 国产在线观看一区二区三区| 亚洲成肉网| 日韩av在线直播| 国产精品第一区| 国产熟睡乱子伦视频网站| 日本亚洲欧美在线| 欧美另类图片视频无弹跳第一页| 国产麻豆永久视频| 国产丝袜丝视频在线观看| 四虎永久免费地址在线网站 | 久久永久视频| 久久精品这里只有国产中文精品| 人妻无码中文字幕第一区| a亚洲天堂| 国产亚洲精品97在线观看| 天天干伊人| 国产jizzjizz视频| 亚洲午夜久久久精品电影院| 午夜视频日本| 国产午夜一级毛片| av手机版在线播放| 国产精品一线天| 国产日韩精品欧美一区喷| 亚洲一区二区约美女探花| 视频一本大道香蕉久在线播放 | 免费高清毛片| 精品无码国产一区二区三区AV| 国产亚洲视频中文字幕视频| 亚洲国产中文欧美在线人成大黄瓜 | 国产97公开成人免费视频| 毛片最新网址| 亚洲人成色在线观看| 动漫精品啪啪一区二区三区| 欧美精品成人| 国产日韩精品欧美一区灰| 日韩不卡高清视频| 免费一级毛片完整版在线看| 婷五月综合| 国产激情无码一区二区免费| 成人91在线| 少妇高潮惨叫久久久久久| 国产精品免费久久久久影院无码| 欧美亚洲一二三区| 亚洲另类第一页| 人妻91无码色偷偷色噜噜噜| 午夜三级在线| 久久综合色视频| 午夜日韩久久影院| 国产微拍精品| 国产手机在线观看| 国产精品女同一区三区五区| 2021国产精品自产拍在线| 亚洲伊人久久精品影院| 国产区免费精品视频| 毛片大全免费观看| 91成人在线观看视频| 99久久国产综合精品2020| 美女无遮挡被啪啪到高潮免费| 一区二区三区四区在线| 国产精品偷伦视频免费观看国产| 国产精品视频免费网站| 久草网视频在线|