一种DICOM对象存储远程查询调阅系统及使用方法与流程

文档序号:33556905发布日期:2023-03-22 12:19阅读:209来源:国知局
一种DICOM对象存储远程查询调阅系统及使用方法与流程
一种dicom对象存储远程查询调阅系统及使用方法
技术领域
1.本发明涉及数据查阅技术领域,特别是一种高可用的dicom对象存储远程查询调阅系统及方法。


背景技术:

2.随着大数据时代的到来,越来越多的医院患者就诊量逐年增加,产生的患者数据也急剧上升,在影像类数据体量尤为明显,按照国家规定,患者的影像类数据至少保留15年,庞大的数据体量增加了医院信息科维护的难度和人工成本,数据的安全性和可靠性成为亟待解决的问题,云计算时代的到来为医院提供了新的解决方案,医院影像类数据逐步由本地存储转为云端存储或对象存储等可扩展的存储对象源,其可靠性和安全性以及数据备份能力通过云化的方式得到了极大的保障,由于院内pacs系统支持本地数据的在线加载和离线加载,使得回调云端的数据变的比较困难,数据回调的可靠性和及时性难易保证。


技术实现要素:

3.本发明旨在解决院内系统调阅云端影像存储数据困难,调阅速率难易保证,网络传输不稳定、网络耗费流量带宽过高等问题,与院内系统影像加载实现无缝衔接,提供高可用的远程影像调阅能力,实现医生无感知的影像诊断功能,提高医院信息化集成共享水平。
4.一种dicom对象存储远程查询调阅系统,包括前置模块、中心服务注册模块、云端服务查询归档模块、全文检索模块、日志记录模块和系统监控模块;其中前置模块设在医院端,前置模块实现医院内外网数据交互获取;中心服务注册模块连接前置模块,云端设置云端服务查询模块;全文检索模块对数据模糊匹配查询,云端服务查询模块、全文检索模块为前置模块提供查询功能,日志记录模块记载上行数据的记录和全文搜索库的入库信息;监控模块针对前置模块、云端服务查询模块、全文检索模块进行监控,进行服务宕机情况的服务切换和预警;在医院数据端部署前置模块,采用pacs通信参数,通信参数包括设备aetitle、接口port、地址ip,pacs发送归档历史数据至前置模块;在云端中心部署中心服务注册模块,采用zookeeper集群模式,中心服务注册模块完成部署后,在云端查询归档服务启动后,会自动将查询调阅等相关功能模块信息注册在中心注册上;云端查询归档服务采用springboot框架、redis数据库、mariadb数据库管理系统构建,在不同的云端内网节点上部署多个查询归档模块,部署完成后,多个查询归档模块会自动注册到中心注册模块上;服务注册完成后,前置模块启动后,会自动订阅中心注册服务,中心注册服务将所有记录的查询回调功能列表清单返回给前置模块。
5.所述前置模块采用pacs通信参数生成影像图像,数据的接收和数据的解析过程中,解析影像数据的检查信息study、序列信息series、图像信息instance,将数据缓存至redis数据库,单次检查接收完成后,将解析的索引信息进行mysql数据持久化处理,数据接收完成后,改变数据接收状态,之后触发文件上传,通过鉴权密钥获得文件上传权限,将数
据进行rsa对称加密,上传至云端服务查询模块存储;系统监控模块调用前置模块和云端查询模块数据,对前置模块使用性能监控、云端对象存储数据量监控,并汇总后发到日志记录模块。
6.一种dicom对象存储远程查询调阅系统的使用方法,包括如下步骤:单机模式远程查询调阅模式, pacs系统通过影像dicom通信标准方式,将影像数据storescp发送至前置模块,前置模块在本地进行数据信息归档,将数据拷贝至云端服务查询归档模块,云端服务查询归档模块在完整数据完整性校对后存储至云端对象存储,数据库完成影像数据信息的记录,进行影像查询后,pacs查询功能被触发,pacs查询会对前置模块携带参数进行c-find,根据请求消息方需要查询的属性,响应方根据查询参数确认返回的结果,响应方查询结果发送完成,最后一个消息状态变更为成功,前置模块会优先匹配本地是否存在该检查信息,存在直接返回响应结果,不存则通过中心注册模块提供的服务列表,启动rpc直接回调云端服务查询归档模块,将结果返回给pacs模块;进行影像回调后,pacs触发云端服务查询归档模块, pacs会协带参数对前置模块进行回调请求c-move/retrive,前置模块会优先匹配本地是否存在该检查实例,存在后直接返回检查图像实例,不存在则通过中心注册模块提供的服务列表,启动rpc直接回调云端服务查询归档模块,通过数据库将图像从对象存储取回返回给前置模块,前置模块再返回给pacs系统。
7.集群模式下的远程调阅模式, 集群模式下其查询和回调与单机模式一致,集群模式下当用户发起查询或回调时,查询通过前置模块,前置模块通过中心注册模块寻找到多个可用的服务节点,根据中心注册模块的负载匹配,获得一个服务节点,前置模块发起rpc回调,与云端服务查询归档模块建立一个稳定的socket通信连接,云端查询模块通过负载机制选取一个查询负载节点,在全文中心根据查询参数检索所查信息,查询服务模块获得检索信息后,从云端存储拉取影像实例返回给前置模块的socket端,前置模块再次返回给pacs查询模块。
8.本发明有益效果为:提供2种不同的远程调阅查询方式,其中单机模式针对中心医院数据的远程调阅兼顾快捷,高效、安全、低成本等因素,在满足调阅需求的前提下,使用注册发现服务使用rpc通信方式提供了高效,便捷的调阅方式。适用于百万级数据传输查询使用。在集群模式中针对大型三甲医院给出了高可用的集群方案,应对大数据量存储,高并发的查询,海量数据的检索,适用于千万级数据传输查询使用。在满足调阅的基础上,提供了服务负载和高可用的解决方法,为海量数据的远程调阅提供了高可用的调阅方案。diocm影像数据是碎片化严重,数据信息层级较多,图像实例数高,在单次检查中,其数据单元至少超过百条,数据大小至少百兆,因此,采用rpc的方式有效的提高了网络层数据传输的高效性,可靠性,保证了整个数据从云端调阅会本地的高效和及时,为院内影像系统提供了稳定可靠的调阅媒介。
附图说明
9.图1 影像远程调阅系统模块示意图;图2 单机模式影像远程调阅系统模块示意图;图3 单机模式影像远程调阅流程示意图;
图4 rpc连接socket通信示意图示意图;图5 集群模式影像远程调阅系统模块示意图;图6 集群模式影像远程调阅流程示意图。
具体实施方式
10.一种dicom对象存储远程查询调阅系统,其特征在于包括前置模块、中心服务注册模块、云端服务查询归档模块、全文检索模块、日志记录模块和系统监控模块;其中前置模块设在医院端,前置模块实现医院内外网数据交互获取;中心服务注册模块连接前置模块,云端设置云端服务查询模块;全文检索模块对数据模糊匹配查询,云端服务查询模块、全文检索模块为前置模块提供查询功能,日志记录模块记载上行数据的记录和全文搜索库的入库信息;监控模块针对前置模块、云端服务查询模块、全文检索模块进行监控,进行服务宕机情况的服务切换和预警;在医院数据端部署前置模块,采用pacs通信参数,通信参数包括设备aetitle、接口port、地址ip,pacs发送归档历史数据至前置模块;在云端中心部署中心服务注册模块,采用zookeeper集群模式,中心服务注册模块完成部署后,在云端查询归档服务启动后,会自动将查询调阅等相关功能模块信息注册在中心注册上;云端查询归档服务采用springboot框架、redis数据库、mariadb数据库管理系统构建,在不同的云端内网节点上部署多个查询归档模块,部署完成后,多个查询归档模块会自动注册到中心注册模块上;服务注册完成后,前置模块启动后,会自动订阅中心注册服务,中心注册服务将所有记录的查询回调功能列表清单返回给前置模块。
11.所述前置模块采用pacs通信参数生成影像图像,数据的接收和数据的解析过程中,解析影像数据的检查信息study、序列信息series、图像信息instance,将数据缓存至redis数据库,单次检查接收完成后,将解析的索引信息进行mysql数据持久化处理,数据接收完成后,改变数据接收状态,之后触发文件上传,通过鉴权密钥获得文件上传权限,将数据进行rsa对称加密,上传至云端服务查询模块存储;系统监控模块调用前置模块和云端查询模块数据,对前置模块使用性能监控、云端对象存储数据量监控,并汇总后发到日志记录模块。
12.一种dicom对象存储远程查询调阅系统的使用方法,包括如下步骤:单机模式远程查询调阅模式, pacs系统通过影像dicom通信标准方式,将影像数据storescp发送至前置模块,前置模块在本地进行数据信息归档,将数据拷贝至云端服务查询归档模块,云端服务查询归档模块在完整数据完整性校对后存储至云端对象存储,数据库完成影像数据信息的记录,进行影像查询后,pacs查询功能被触发,pacs查询会对前置模块携带参数进行c-find,根据请求消息方需要查询的属性,响应方根据查询参数确认返回的结果,响应方查询结果发送完成,最后一个消息状态变更为成功,前置模块会优先匹配本地是否存在该检查信息,存在直接返回响应结果,不存则通过中心注册模块提供的服务列表,启动rpc直接回调云端服务查询归档模块,将结果返回给pacs模块;进行影像回调后,pacs触发云端服务查询归档模块, pacs会协带参数对前置模块进行回调请求c-move/retrive,前置模块会优先匹配本地是否存在该检查实例,存在后直接返回检查图像实例,不存在则通过中心注册模块提供的服务列表,启动rpc直接回调云端
服务查询归档模块,通过数据库将图像从对象存储取回返回给前置模块,前置模块再返回给pacs系统。
13.集群模式下的远程调阅模式, 集群模式下其查询和回调与单机模式一致,集群模式下当用户发起查询或回调时,查询通过前置模块,前置模块通过中心注册模块寻找到多个可用的服务节点,根据中心注册模块的负载匹配,获得一个服务节点,前置模块发起rpc回调,与云端服务查询归档模块建立一个稳定的socket通信连接,云端查询模块通过负载机制选取一个查询负载节点,在全文中心根据查询参数检索所查信息,查询服务模块获得检索信息后,从云端存储拉取影像实例返回给前置模块的socket端,前置模块再次返回给pacs查询模块。
14.术语解释:dicom:dicom(digital imaging and communications in medicine)即医学数字成像和通信,是医学图像和相关信息的国际标准(iso 12052)。它定义了质量能满足临床需要的可用于数据交换的医学图像格式。
15.pacs: pacs系统是picture archiving and communication systems的缩写,意为影像归档和通信系统。它是应用在医院影像科室的系统,主要的任务就是把日常产生的各种医学影像(包括核磁,ct,超声,各种x光机,各种红外仪、显微仪等设备产生的图像)通过各种接口(模拟,dicom,网络)以数字化的方式海量保存起来,当需要的时候在一定的授权下能够很快的调回使用,同时增加一些辅助诊断管理功能。
16.rpc(remote procedure call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。rpc协议假定某些传输协议的存在,如tcp或udp,为通信程序之间携带信息数据。在osi网络通信模型中,rpc跨越了传输层和应用层。rpc使得开发包括网络分布式多程序在内的应用程序更加容易。、socket: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
17.redis:一个开源,高效的内存型数据存储服务器,可用作数据库,高速缓存和消息队列代理。
18.zookeeper:是一个分布式的,开放源码的分布式应用程序协调服务,是google的chubby一个开源的实现。
19.dubbo: dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 rpc 实现服务的输出和输入功能,可以和spring框架无缝集成。
20.elk: elk是三个开源软件的缩写,分别表示:elasticsearch , logstash, kibana , 它们都是开源软件。
21.springboot: spring boot是一个简化spring开发的框架。
22.mariadb:mariadb数据库管理系统是mysql的一个分支。
23.docker: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
24.现将整个系统的业务运行流程细化说明:前置模块,pacs系统产生新的影像图像,通过上述步骤建立的连接通信,将数据
自动转发到院内网关数据系统,网关系统完成数据的接收和数据的解析过程,在此数据接收过程中,主要解析方式为,在一个检查接收中,将解析影像数据,主要通过读取文件的dicom tag信息来获取一些患者必要信息的检查信息(study),序列信息(series)、图像信息(instance),将单个检查缓存至redis数据库,只到单次检查接收完成后,将解析的索引信息进行mysql数据持久化。数据接收完成后,改变数据接收状态,之后触发文件上传,通过鉴权密钥获得文件上传权限,之后将一个检查进行加密,加密方式采用rsa对称加密,上传至云端存储源,rsa算法是国际标准算法,属于主流算法之一,应用广泛,兼容性比较广,能够适用于各种不同的系统之中,不容易出现限制问题。
25.中心服务注册模块,注册中心就像一个中转站,提供的作用就是根据调用的名称找到远程服务的地址。分为注册中心、服务端、客户端,服务端对注册中心提供注册服务,注册中心对客户端提供获取服务,客户端对服务端提供调用服务。
26.系统监控模块,负责统计前置机模块调用和云端查询模块调用,并汇总后发到日志记录模块,最后统一报表展现,主要对前置机使用性能监控,云端对象存储数据量监控。主要采用技术:微服务、redis、socket。微服务比传统的应用程序更有效地利用计算资源,这样的话,开发人员只要为额外的组件部署计算资源除此之外,微服务更快,并且也很容易更新。redis支持多种数据类型、持久化存储、性能很好、pub/sub,key过期策略,事务,支持多个db等。socket是对tcp/ip协议的封装传输数据为字节级,传输数据可自定义,数据量小,传输数据时间短,性能高,适合于客户端和服务器端之间信息实时交互,可以加密,数据安全性强。
27.云端服务查询归档模块,完成影像数据上传后,将生成的索引信息同步到云端控制系统,云端控制系统进行数据组织和归档,从而完成影像数据的云端存储和索引归档。用户通过向中心服务注册模块,获得订阅模块返回的服务列表信息,采用rpc通信模式调阅云端服务查询模块,云端服务查询模块根据查询参数从数据库获得结果或者从全文中心检索获得结果。
28.日志记录模块记录检索的状态信息和数据上传信息,并全部传入到全文检索模块,用于故障和部分信息的回溯定位。传统的日志处理方案相比,elk分布式实时文件存储,可将每一个字段存入索引,使其可以被检索到实时分析的分布式搜索引擎,可以扩展到上百台服务器,处理pb级别的结构化或非结构化数据。也可以运行在单台pc支持插件机制,分词插件、同步插件、hadoop插件、可视化插件等。
29.现针对以下2种场景给出相应的系统调阅方案:方案1医院影像数据在百万级别,满足单体医院的数据云端调阅和跨区域影像诊断共享,要求数据具有可靠性,调阅稳定性;方案2医院影像数据在千万级别或以上,满足区域级别的影像数据调阅和区域之间的数据调阅,要求数据具有可靠性,调阅稳定性,数据完整性。
30.单机模式下的远程调阅机制此模式采用云端单例数据库方式,中心注册服务模块采用单例模式,适用于医院影像数据体量在百万级别内,为中小医院提供可靠的调阅机制主要模块之间的调阅机制如下:
医院pacs系统通过影像dicom通信标准方式,将影像数据storescp(dicom通信标准方式由客户端发送至服务端图像的方式)的方式发送至前置模块,前置模块在本地进行数据信息归档,将数据拷贝至云端服务查询归档模块,归档模块在完整数据完整性校对后存储至云端对象存储,数据库完成影像数据信息的记录,其中数据库记录信息分为以下3个级别::患者信息级别,记录患者的一些基本信息(如下图获取到的患者姓名/年龄/性别/患者识别号)b: 检查信息级别,记录检查信息(如下图获取到的检查号/检查标识号/检查日期/设备类型)c: 序列信息级别,记录影像不同拍片部位信息(如下图获取到的序列id/机构信息/序列描述)d: 图像实例级别,记录图像帧信息(如下图获取到的图像序列号/图像属性);当医生进行影像查询后,pacs查询模块被触发,因此pacs查询会对前置模块携带参数进行c-find(请求消息方包含了了需要查询的属性,响应方根据查询参数确认返回的结果,响应方查询结果发送完成,最后一个消息状态变更为成功,前置机模块会优先匹配本地是否存在该检查信息,存在直接返回响应结果,不存则通过中心注册模块提供的服务列表,启动rpc直接回调云端的查询模块,将结果返回给pacs模块。
31.当医生进行影像回调后,pacs触发回调模块,因此pacs会协带参数对前置模块进行回调请求c-move/retrive(请求方式与c-find类似,复杂的是会携带一次c-store将图像实例进行返回),前置模块会优先匹配本地是否存在该检查实例,存在后直接返回检查图像实例,不存在则通过中心注册模块提供的服务列表,启动rpc直接回调云端的回调模块,通过数据库将图像从对象存储取回返回给前置模块,前置模块再返回给pacs系统,由于在回调图像是需要返回图像实例的,在此过程中会有大量的数据流会返回,采用rpc模式会建立一个稳定的socket长连接通信,保证数据传输的稳定性,比较http方式会更稳定,占用更少的带宽。
32.此模式下,使用了zookeeper作为中心注册组件,前端模块使用缓存redis提供最近数据查询的高效性,在数据超过有效时间后,前置模块跟云端查询模块进行校对,校对后完成有效时间外的数据清理,保证缓存数据体量一定,满足最近数据查询的高效性。此模式使用dubbo组件二次封装实现了高效稳定的rpc调用逻辑,完成了调用最为关键的核心点,减少了网络连接的耗时,避免了网络不稳定的情况。
33.集群模式下的远程调阅机制此模式下采用中心注册服务模块集群化,云端查询/归档模块集群化,适用于区域医院,医院数据体量在千万级别以上,为大型三甲级别医院提供高可靠的远程调阅机制,保证远程调阅服务持续稳定稳定可用,提供毫秒级别的查询能力,秒级的图像实例响应。
34.集群模式下其查询和回调与单机模式类似,集群模式下当用户发起查询或回调时,查询通过前置机模块,前置模块通过中心注册模块寻找到多个可用的服务节点,根据中心注册模块的负载策略,获得一个回调方法,前置模块发起rpc回调,与云端服务查询归档模块建立一个稳定的socket通信连接,云端查询模块通过负载机制选取一个查询负载节点,在全文中心根据查询参数检索所查信息,查询服务模块获得检索信息后,从云端存储拉
取影像实例返回给前置模块的socket端,前置机模块再次返回给pacs查询模块。
35.。
36.相比较单机模式而言,集群模式在中心注册模块和云端查询/归档模块都采用了多节负载自动切换的方式实现,即使出现注册节点或查询节点服务故障也能自动切换到正常节点,保证了整个远程调阅查询最为重要的模块可靠性,后台数据的检索从数据库更换为全文检索,此种方式尤为适合海量数据的查询,其中全文检索采用elk实现,既保证了数据查询的可靠性,又能够实现数据实时更新,通过日志模块不断汇聚到全文检索模块,利用elk实现了数据多样性的统计和故障分析定位,如上表所示极大的保证了整个远程调阅系统的可靠性和稳定性。
37.使用时,在医院侧放置一台前置机,前置机位于医院内网和互联网的缓冲区,前置机硬件配置要求如下:cpu: intel(r) core(tm) i5-7300u cpu @ 2.60ghz内存:4gb硬盘:500g网络:外网互联,内网可访问系统版本:centos7.2版本以上在前置机部署前置模块,添加pacs通信参数(aetitle/port/ip),pacs发送归档历史数据至前置模块。
38.在云端中心部署中心注册模块,采用zookeeper集群模式,中心模块完成部署后,在云端查询/归档服务启动后,会自动将查询调阅等相关功能模块信息注册在中心注册上。
39.云端查询/归档服务采用springboot+redis+mariadb 构建,在不同的云端内网节点上部署多个查询归档模块,部署完成后,多个查询归档模块会自动注册到中心注册模块上。
40.服务注册完成后,前置机服务模块启动后,会自动订阅中心注册服务,中心注册服务将所有记录的查询回调功能列表清单返回给前置机前置模块。
41.当pacs发送影像数据张xx时,前置机模块先本地缓存一份,之后会通过rpc方式调用云端查询/归档服务,归档服务完成数据库级别信息持久化后,日志记录系统将数据信息发送至全文检索模块,全文中心对数据进行归档处理。
42.参考图5,当pacs系统触发影像数据张xx远程回调后,有前置机模块优先匹配本地是否具有改患者信息,在有效缓存的时间命中后,直接返回该患者的基本信息和图像实例信息。
43.未命中该患者信息后,前置模块会获取一个中心注册服务返回给的调阅列表信息,开启rpc通信回调云端查询/归档服务,云端查询/归档服务在全文检索模块检索后,返
回检索信息给云端查询/归档服务,云端查询/归档服务将从云端存储(对象存储)拉取指定的图像数据实例信息返回给前置模块,整个图像传输在稳定的长连接socket通信通道里,保证了数据的稳定和高效性。
44.本发明实施方式可以与医院的pacs系统,影像设备进行联合使用,既可以面向规模小的二级医院,乡镇卫生院,社区服务中心进行单独的服务部署,又可以针对整个区域医联体进行部署,可以实现区域内多家数据回调,实现简便,实施简单,无需开发人员介入,即可满足多个医院数据云端历史回调和区域内影像共享调阅,为医院和影像科提供了一种高可靠的影像远程调阅解决方案。
45.以上所述,仅用于说明本发明的技术方案而非限制,本领域普通技术人员对发明的技术方案所做的其他修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1