亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Socket套接字的醫(yī)學(xué)信息傳送模塊的設(shè)計(jì)與實(shí)現(xiàn)

        2014-02-05 02:41:01王維紅樊廷玖
        中國醫(yī)學(xué)裝備 2014年1期
        關(guān)鍵詞:線程調(diào)用進(jìn)程

        王維紅 樊廷玖

        基于Socket套接字的醫(yī)學(xué)信息傳送模塊的設(shè)計(jì)與實(shí)現(xiàn)

        王維紅① 樊廷玖①

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

        套接字;多線程;網(wǎng)絡(luò)通信

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

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

        1 Socket套接字及線程概述

        1.1 Socket套接字

        套接字是網(wǎng)絡(luò)的基本構(gòu)件,是可以被命名和尋址的通信端點(diǎn),使用中的每個(gè)套接字均有其類型和一個(gè)與之相連接進(jìn)程[3]。套接字存在通信區(qū)域中只與同一區(qū)域中的套接字交換數(shù)據(jù)(跨區(qū)域時(shí)需要執(zhí)行某和轉(zhuǎn)換進(jìn)程方能實(shí)現(xiàn))。即通信雙方的一種約定,用套接字中的相關(guān)函數(shù)完成通信的過程。

        套接字分為流式套接字和數(shù)據(jù)報(bào)套接字。流式的套接字可提供可靠的、面向連接的通訊流。數(shù)據(jù)報(bào)套接字定義了一種無連接的服務(wù),數(shù)據(jù)通過相互獨(dú)立的報(bào)文進(jìn)行傳輸,是無序的,且不保證可靠,無差錯(cuò)?;镜奶捉幼趾瘮?shù)調(diào)用包括:Socket()-創(chuàng)建Socket;bind()-將創(chuàng)建的Socket與本地端口綁定;connect()與accept()-建立Socket連接;listen()-服務(wù)器監(jiān)聽是否有連接請求;send()-數(shù)據(jù)的可控緩沖發(fā)送;recv()-可控緩沖接收;closesocket()-關(guān)閉Socket;啟動函數(shù)WSAStartup()-建立與Windows Sockets DLL的連接,終止函數(shù)WSAClearup()-終止使用該DLL,這兩個(gè)函數(shù)必須成對使用。

        在面向連接的通訊中服務(wù)器和客戶機(jī)在交換數(shù)據(jù)之前先要建立一個(gè)連接,在無連接通訊中數(shù)據(jù)作為信息的一部分被交換。無論哪一種方式,服務(wù)器總是最先啟動,將自己綁定在一個(gè)套接字上,然后偵聽信息。使用面向連接的套接字工作流程如下:啟動服務(wù)器→通過調(diào)用socket()建立一個(gè)套接字→調(diào)用bind()將該套接字和本地網(wǎng)絡(luò)地址聯(lián)系在一起→調(diào)用listen()使套接字做好偵聽的準(zhǔn)備,并規(guī)定其請求隊(duì)列的長度→調(diào)用accept()來接收連接??蛻粼诮⑻捉幼趾蠹纯烧{(diào)用connect()和服務(wù)器建立連接,一旦建立連接客戶機(jī)與服務(wù)器之間便可通過調(diào)用read()和write()進(jìn)行發(fā)送和接收數(shù)據(jù),待數(shù)據(jù)傳送結(jié)束后雙方調(diào)用close()關(guān)閉套接字。

        1.2 線程及進(jìn)程

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

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

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

        2 醫(yī)學(xué)信息傳送模塊的設(shè)計(jì)

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

        Windows Sockets的實(shí)現(xiàn)由兩部分組成:開發(fā)組件和運(yùn)行組件。開發(fā)組件是程序員開發(fā)Windows Sockets應(yīng)用程序所使用,包括介紹Windows Sockets實(shí)現(xiàn)的文檔、Windows Sockets應(yīng)用程序接口(API)引入庫和頭文件。運(yùn)行組件是Windows Sockets應(yīng)用程序接口的動態(tài)連接庫(DLL),文件名為WINSOCK.DLL,應(yīng)用程序在執(zhí)行時(shí)通過裝入他實(shí)現(xiàn)網(wǎng)絡(luò)通信功能。

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

        Winsockets編程之套接字原理在TCP/IP網(wǎng)絡(luò)中兩個(gè)進(jìn)程間的相互作用的主機(jī)模式是客戶機(jī)/服務(wù)器模式(Client/Server model)。該模式的建立基于非對等作用和通信完全異步兩點(diǎn)??蛻魴C(jī)/服務(wù)器模式在操作過程中采取的是主動請示方式。

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

        (2)客戶方:打開一通信通道,并連接到服務(wù)器所在主機(jī)的特定端口→向服務(wù)器發(fā)送服務(wù)請求報(bào)文,等待并接收應(yīng)答;繼續(xù)提出請求……→請求結(jié)束后關(guān)閉通信通道并終止。

        3 醫(yī)學(xué)信息傳送模塊的具體實(shí)現(xiàn)步驟

        網(wǎng)絡(luò)讀寫操作是PACS系統(tǒng)的基礎(chǔ),PACS系統(tǒng)通過TCP/IP的網(wǎng)絡(luò)來交換各種DICOM命令和文件[7]。通過Socket將DICOM命令和文件發(fā)送給TCP/IP,實(shí)現(xiàn)網(wǎng)絡(luò)讀寫功能模塊設(shè)計(jì)的目的。通過編寫客戶端和服務(wù)器程序,完成客戶機(jī)端的發(fā)送及服務(wù)器端的偵聽和接收。為了優(yōu)化程序設(shè)計(jì),使服務(wù)器端不會出現(xiàn)無法響應(yīng)的現(xiàn)象,采用多線程的編程方法,建立工作者線程進(jìn)行后臺處理。

        3.1 客戶端程序設(shè)計(jì)

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

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

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

        3.2 服務(wù)器端程序設(shè)計(jì)

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

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

        (3)新建Listen按鈕,并生成其響應(yīng)函數(shù)OnListen,在此函數(shù)中調(diào)用AfxBeginThread()函數(shù)創(chuàng)建一個(gè)線程。AfxBeginThread()函數(shù)首先創(chuàng)建了一個(gè)CwinThread實(shí)例,然后調(diào)用該實(shí)例的CreateThread()成員函數(shù)創(chuàng)建線程。

        3.3 應(yīng)用程序源代碼

        3.3.1 客戶端程序

        3.3.2 服務(wù)器端程序

        4 結(jié)語

        基于Socket套接字的多線程醫(yī)學(xué)信息傳送模塊的實(shí)現(xiàn)使得多個(gè)線程并行的工作可完成多項(xiàng)任務(wù),并可將程序中占據(jù)長時(shí)間的任務(wù)放到后臺去處理,程序的運(yùn)行速度因此而加快,實(shí)現(xiàn)了圖像、文件等各類資源的迅速傳輸[2]。將基于Socket套接字的多線程技術(shù)運(yùn)用到醫(yī)院各科室之間的影像信息傳輸、資源共享以及遠(yuǎn)程醫(yī)療系統(tǒng)的各方面,會使傳輸?shù)乃俣冗M(jìn)一步提高,可節(jié)省時(shí)間提高工作效率和經(jīng)濟(jì)效益。

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

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

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

        [4]王靜,曲鳳娟.基于Socket的多用戶并發(fā)通信的設(shè)計(jì)[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]李澤強(qiáng),胡淑濤,王華楠.醫(yī)院小型PACS系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].生物醫(yī)學(xué)工程學(xué)雜志,2001,18(3):494-496.

        [7]姚東明,楊力.PACS在醫(yī)院信息系統(tǒng)中應(yīng)用的認(rèn)識[J].中國衛(wèi)生事業(yè)管理,2002(7):446-447.

        [8]張靜華.應(yīng)用套接字模型實(shí)現(xiàn)網(wǎng)絡(luò)通信[J].山西電子技術(shù),2004(4):19-21.

        [9]龐文堯,崔婷.基于Winsock的網(wǎng)絡(luò)實(shí)時(shí)控制程序開發(fā)[J].小型微型計(jì)算機(jī)系統(tǒng),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

        ①淄博市第一醫(yī)院設(shè)備科 山東 淄博 255200

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

        猜你喜歡
        線程調(diào)用進(jìn)程
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        債券市場對外開放的進(jìn)程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        淺談linux多線程協(xié)作
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        社會進(jìn)程中的新聞學(xué)探尋
        我國高等教育改革進(jìn)程與反思
        Linux僵死進(jìn)程的產(chǎn)生與避免
        利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
        Linux線程實(shí)現(xiàn)技術(shù)研究
        国产丝袜在线福利观看| 国产三级久久精品三级91| 麻豆国产精品一区二区三区| 性无码一区二区三区在线观看 | 色诱视频在线观看| 免费人成视频xvideos入口| 中国老妇女毛茸茸bbwbabes| 亚洲人成无码网站久久99热国产| 国产欧美激情一区二区三区| 国产丝袜一区丝袜高跟美腿| 精品久久久久久无码专区| 久久亚洲av无码西西人体| 亚洲欧美日韩人成在线播放| 亚洲国产A∨无码影院| 亚洲国产都市一区二区| 久久免费看黄a级毛片| 色欲aⅴ亚洲情无码av| av大片在线无码免费| 麻豆国产AV网站| av成人资源在线观看| 亚洲av男人免费久久| 国产精品内射久久一级二| 幻女bbwxxxx在线视频| 又污又黄又无遮挡的网站| 免费一本色道久久一区| 亚洲av国产精品色a变脸| 女人被狂躁的高潮免费视频| 国产福利一区二区三区在线观看| 国产人成精品综合欧美成人| 欧美日韩一线| 白色月光在线观看免费高清| 免费黄片小视频在线播放| 国产成人精品999视频| 成在人线av无码免费| 日本精品极品视频在线| 一区二区三区在线日本视频| 精品一二三四区中文字幕| 奇米影视第四色首页| 伊人99re| 久久亚洲精精品中文字幕早川悠里| 欧美牲交a欧美牲交|